From bea9b184a22623caf93d7cc4e7e592065332ac71 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Tue, 23 Jul 2024 11:47:27 -0700 Subject: [PATCH 1/9] reimplement rgbas --- mapclassify/util.py | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/mapclassify/util.py b/mapclassify/util.py index 33d917c6..8316ba9c 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -1,9 +1,11 @@ +import numpy as np + from ._classify_API import classify as _classify def get_rgba( values, - classifier="quantiles", + scheme="quantiles", cmap="viridis", alpha=1, nan_color=[255, 255, 255, 255], @@ -29,12 +31,12 @@ def get_rgba( Returns ------- numpy.array - array of lists with each list containing four values that define a color using - RGBA specification. + numpy array (n,4) of lists with each list containing four values that define a + color using RGBA specification. """ try: import pandas as pd - from matplotlib import cm + from matplotlib import colormaps from matplotlib.colors import Normalize except ImportError as e: raise ImportError("This function requires pandas and matplotlib") from e @@ -42,32 +44,23 @@ def get_rgba( raise ValueError("alpha must be in the range [0,1]") if not pd.api.types.is_list_like(nan_color) and not len(nan_color) == 4: raise ValueError("`nan_color` must be list-like of 4 values: (R,G,B,A)") + if scheme in kwargs: + kwargs.pop("scheme") # only operate on non-NaN values v = pd.Series(values, dtype=object) legit_indices = v[~v.isna()].index.values - + legit_vals = v.dropna().values # transform (non-NaN) values into class bins - bins = _classify(v.dropna().values, scheme=classifier, **kwargs).yb + bins = _classify(legit_vals, scheme=scheme, **kwargs).yb # create a normalizer using the data's range (not strictly 1-k...) norm = Normalize(min(bins), max(bins)) + normalized_vals = norm(bins) - # map values to colors - n_cmap = cm.ScalarMappable(norm=norm, cmap=cmap) - - # create array of RGB values (lists of 4) of length n - vals = [n_cmap.to_rgba(i, alpha=alpha) for i in bins] - - # convert decimals to whole numbers - rgbas = [] - for val in vals: - # convert each value in the array of lists - rgbas.append([i * 255 for i in val]) - - # replace non-nan values with colors - colors = pd.Series(rgbas, index=legit_indices) + rgbas = colormaps[cmap](normalized_vals, bytes=True) + colors = pd.Series(list(rgbas), index=legit_indices).apply(np.array) v.update(colors) - v = v.fillna(f"{nan_color}").apply(list) + v = v.fillna(f"{nan_color}").apply(np.array) - return v.values + return np.stack(v.values) From 4d605b4d73b159bf0d2beba95ba7af6e4b850600 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Tue, 23 Jul 2024 11:48:19 -0700 Subject: [PATCH 2/9] renam in docstring --- mapclassify/util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mapclassify/util.py b/mapclassify/util.py index 8316ba9c..ba4f4c9e 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -17,7 +17,7 @@ def get_rgba( ---------- values : list-like array of input values - classifier : str, optional + scheme : str, optional string description of a mapclassify classifier, by default "quantiles" cmap : str, optional name of matplotlib colormap to use, by default "viridis" From 8074354a4ab75058f3c5afbe3accf328853144c2 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Tue, 23 Jul 2024 11:55:16 -0700 Subject: [PATCH 3/9] tests --- mapclassify/tests/test_rgba.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/mapclassify/tests/test_rgba.py b/mapclassify/tests/test_rgba.py index 52863e1c..9831e2b6 100644 --- a/mapclassify/tests/test_rgba.py +++ b/mapclassify/tests/test_rgba.py @@ -1,5 +1,6 @@ import geopandas import numpy as np +from numpy.testing import assert_array_equal from mapclassify.util import get_rgba world = geopandas.read_file( @@ -9,9 +10,5 @@ def test_rgba(): colors = get_rgba(world.area, cmap="viridis")[0] - assert colors == [ - np.float64(68.08602), - np.float64(1.24287), - np.float64(84.000825), - np.float64(255.0), - ] + assert_array_equal(colors, np.array([68, 1, 84, 255])) + From 54e8e97456d05e3a4c1b03827ebb3001cbe93e04 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Tue, 23 Jul 2024 12:24:57 -0700 Subject: [PATCH 4/9] cant pass scheme twice --- mapclassify/util.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/mapclassify/util.py b/mapclassify/util.py index ba4f4c9e..c43b06eb 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -44,8 +44,6 @@ def get_rgba( raise ValueError("alpha must be in the range [0,1]") if not pd.api.types.is_list_like(nan_color) and not len(nan_color) == 4: raise ValueError("`nan_color` must be list-like of 4 values: (R,G,B,A)") - if scheme in kwargs: - kwargs.pop("scheme") # only operate on non-NaN values v = pd.Series(values, dtype=object) From 386803c802510d394d5be1164e0565bfab5e9e95 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Tue, 23 Jul 2024 15:11:35 -0700 Subject: [PATCH 5/9] suggestions --- mapclassify/util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mapclassify/util.py b/mapclassify/util.py index c43b06eb..23975e78 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -18,7 +18,7 @@ def get_rgba( values : list-like array of input values scheme : str, optional - string description of a mapclassify classifier, by default "quantiles" + string description of a mapclassify classifier, by default `"quantiles"` cmap : str, optional name of matplotlib colormap to use, by default "viridis" alpha : float @@ -31,7 +31,7 @@ def get_rgba( Returns ------- numpy.array - numpy array (n,4) of lists with each list containing four values that define a + numpy array :math:`(n,4)` with each row containing four values that define a color using RGBA specification. """ try: From 453b303230192c8451f68b025a7e9a759a8728f8 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Wed, 24 Jul 2024 09:21:54 -0700 Subject: [PATCH 6/9] add notebook --- docs/api.rst | 1 + mapclassify/tests/test_rgba.py | 9 +- mapclassify/util.py | 36 +- notebooks/08_manual_coloring.ipynb | 42902 +++++++++++++++++++++++++++ 4 files changed, 42940 insertions(+), 8 deletions(-) create mode 100644 notebooks/08_manual_coloring.ipynb diff --git a/docs/api.rst b/docs/api.rst index 8dad201e..2e29a540 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -41,3 +41,4 @@ Utilities mapclassify.Pooled mapclassify.classify mapclassify.gadf + mapclassify.util.get_color_array diff --git a/mapclassify/tests/test_rgba.py b/mapclassify/tests/test_rgba.py index 9831e2b6..02f4bee1 100644 --- a/mapclassify/tests/test_rgba.py +++ b/mapclassify/tests/test_rgba.py @@ -1,7 +1,7 @@ import geopandas import numpy as np from numpy.testing import assert_array_equal -from mapclassify.util import get_rgba +from mapclassify.util import get_color_array world = geopandas.read_file( "https://naciscdn.org/naturalearth/110m/cultural/ne_110m_admin_0_countries.zip" @@ -9,6 +9,11 @@ def test_rgba(): - colors = get_rgba(world.area, cmap="viridis")[0] + colors = get_color_array(world.area, cmap="viridis")[0] assert_array_equal(colors, np.array([68, 1, 84, 255])) + +def test_rgba(): + colors = get_color_array(world.area, cmap="viridis", as_hex=True)[0] + assert_array_equal(colors,'#440154') + diff --git a/mapclassify/util.py b/mapclassify/util.py index 23975e78..78b90b19 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -3,15 +3,19 @@ from ._classify_API import classify as _classify -def get_rgba( +def get_color_array( values, scheme="quantiles", cmap="viridis", alpha=1, nan_color=[255, 255, 255, 255], + as_hex=False, **kwargs, ): - """Convert array of values into RGBA colors using a colormap and classifier. + """Convert array of values into RGBA or hex colors using a colormap and classifier. + This function is useful for visualization libraries that require users to provide + an array of colors for each object (like pydeck or lonboard) but can also be used + to create a manual column of colors passed to matplotlib. Parameters ---------- @@ -25,19 +29,32 @@ def get_rgba( alpha parameter that defines transparency. Should be in the range [0,1] nan_color : list, optional RGBA color to fill NaN values, by default [255, 255, 255, 255] + as_hex: bool, optional + if True, return a (n,1)-dimensional array of hexcolors instead of a (n,4) + dimensional array of RGBA values. kwargs : dict additional keyword arguments are passed to `mapclassify.classify` Returns ------- numpy.array - numpy array :math:`(n,4)` with each row containing four values that define a - color using RGBA specification. + numpy array (aligned with the input array) defining a color for each row. If + `as_hex` is False, the array is :math:`(n,4)` holding an array of RGBA values in + each row. If `as_hex` is True, the array is :math:`(n,1)` holding a hexcolor in + each row. + + Examples + --------- + + + + + """ try: import pandas as pd from matplotlib import colormaps - from matplotlib.colors import Normalize + from matplotlib.colors import Normalize, to_hex except ImportError as e: raise ImportError("This function requires pandas and matplotlib") from e if not (alpha <= 1) and (alpha >= 0): @@ -52,13 +69,20 @@ def get_rgba( # transform (non-NaN) values into class bins bins = _classify(legit_vals, scheme=scheme, **kwargs).yb - # create a normalizer using the data's range (not strictly 1-k...) + # normalize using the data's range (not strictly 1-k if classifier is degenerate) norm = Normalize(min(bins), max(bins)) normalized_vals = norm(bins) + # generate RBGA array and convert to series rgbas = colormaps[cmap](normalized_vals, bytes=True) colors = pd.Series(list(rgbas), index=legit_indices).apply(np.array) + + # put colors in their correct places and fill empty with designated color v.update(colors) v = v.fillna(f"{nan_color}").apply(np.array) + # convert to hexcolors if preferred + if as_hex: + colors = colors.apply(lambda x: to_hex(x / 255.0)) + return colors.values return np.stack(v.values) diff --git a/notebooks/08_manual_coloring.ipynb b/notebooks/08_manual_coloring.ipynb new file mode 100644 index 00000000..5259cac6 --- /dev/null +++ b/notebooks/08_manual_coloring.ipynb @@ -0,0 +1,42902 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "1d5cebc1-08a5-4f67-94b0-3bdb849b820d", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:25.458093Z", + "iopub.status.busy": "2024-07-24T16:20:25.458000Z", + "iopub.status.idle": "2024-07-24T16:20:26.976531Z", + "shell.execute_reply": "2024-07-24T16:20:26.976141Z", + "shell.execute_reply.started": "2024-07-24T16:20:25.458083Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Author: eli knaap\n", + "\n", + "geodatasets: 2024.7.0\n", + "pandas : 2.1.4\n", + "mapclassify: 2.7.1.dev0+gaf62513092fd.d20240723\n", + "geopandas : 0.14.2\n", + "\n" + ] + } + ], + "source": [ + "import geodatasets\n", + "import pandas as pd\n", + "import geopandas as gpd\n", + "import mapclassify\n", + "from mapclassify.util import get_color_array\n", + "%load_ext watermark\n", + "%watermark -a 'eli knaap' -iv" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8aa8876b-aafe-456b-895a-b34f7311746f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:26.977062Z", + "iopub.status.busy": "2024-07-24T16:20:26.976937Z", + "iopub.status.idle": "2024-07-24T16:20:27.779740Z", + "shell.execute_reply": "2024-07-24T16:20:27.779452Z", + "shell.execute_reply.started": "2024-07-24T16:20:26.977052Z" + } + }, + "outputs": [], + "source": [ + "df = gpd.read_file(geodatasets.get_path(\"geoda cincinnati\")).to_crs(4326)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "baa23e00-83ea-4962-90c5-695893d17f03", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:27.780487Z", + "iopub.status.busy": "2024-07-24T16:20:27.780222Z", + "iopub.status.idle": "2024-07-24T16:20:28.130018Z", + "shell.execute_reply": "2024-07-24T16:20:28.129725Z", + "shell.execute_reply.started": "2024-07-24T16:20:27.780469Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAM6CAYAAAC7MYkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd5ydZZ028Ospp5fpNZNKIIUEAgmgEiAoFhDpAi6vLrqii4q+q9gXld21wYrltSBY2EWUXgTpISSElt7LpE+mt9PbU98/Jj1TTn/Ombm+n8/5JDnnKb8pmTnP9dz37xZM0zRBRERERERERFQkotUFEBEREREREdHEwjCCiIiIiIiIiIqKYQQRERERERERFRXDCCIiIiIiIiIqKoYRRERERERERFRUDCOIiIiIiIiIqKgYRhARERERERFRUTGMICIiIiIiIqKiYhhBREREREREREXFMIKIiIiIiIiIiophBBEREREREREVFcMIIiIiIiIiIioqhhFEREREREREVFQMI4iIiIiIiIioqBhGEBEREREREVFRMYwgIiIiIiIioqKSrS6A8i+ZTGLz5s0AgLq6Osgyv8xERERERER0lKZp6OvrAwDMnz8fTqezqOfnVeo4tHnzZpx77rlWl0FERERERERlYNWqVTjnnHOKek5O0yAiIiIiIiKiouLIiHGorq7uyN9XrVqFpqYmC6shIiIiIiKiUtPV1XVkRP2x15DFwjBiHDq2R0RTUxNaWlosrIaIiIiIiIhKmRV9BjlNg4iIiIiIiIiKimEEERERERERERUVwwgiIiIiIiIiKiqGEURERERERERUVAwjiIiIiIiIiKioGEYQERERERERUVExjCAiIiIiIiKiomIYQURERERERERFxTCCiIiIiIiIiIqKYQQRERERERERFRXDCCIiIiIiIiIqKoYRRERERERERFRUDCOIiIiIiIiIqKgYRhARERERERFRUTGMICIiIiIiIqKiYhhBREREREREREXFMIKIiIiIiIiIiophBBEREREREREVFcMIIiIiIiIiIioqhhFEREREREREVFQMI4iIiIiIiIioqBhGEBEREREREVFRMYwgIiIiIiIioqJiGEFERERERERERcUwgoiIiIiIiIiKimEEERERERERERUVwwgiIiIiIiIiKiqGEURERERERERUVAwjiIiIiIiIiKio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er3wer3HPacoypFpCTNmzDipyWUpMguwVB0RUa7UQ8t4xtTcQ4QpNSNPWcuGJiaB6jdwQWUVtMH5eHPvIFTDyPg4lQ4n+hOlu4JFqfSzyNbc2jqszlPPhz+sX4vzJk3GB2ackpfjERERUWmxfGTEsaMDTgwa0vH8888jFBqal3z99dfnra5C0TQNra1Dw5+bm5stroaI6Khfr34HG3ryszRwjT/zoCAdKTEAvXYFlizqxgUzaiFluAykz+EoSF350hbKvc+GlRyynIeFU4/a1Nudx6MRERFRKbE8jHjssceO/H3+/PkZ7atpGr7//e8DAGw2G2655Za81lYIDz/8MMLhMADgoosusrgaIqIh67a04Z1do49Oy4TTWdipEEmxH6hfgQ8sGsD7ptWm3WvBPUqT4VIQTCXR5LWuEXOu9geDVpdAREREZaJgYcQDDzyAZDI56jY///nP8fzzzwMApk2bhsWLFx/3en9/P+Lx4YfTKoqCz3zmM0f6RXzzm9/EjBkzht12yZIlEAQBgiBg//79GX4k6QkEAnj99ddH3WbVqlW47bbbAAz1wvjXf/3XgtRCRJSJ/sEovn/Pc2h/uhMXOiZlPNpgOKaU20oc6UpI3ZAaV+DD54Rw3pSxp+k5ZMtnJ46pycJVoXIxxV+BQNK65bWJiIiovBTsXdkPfvADfO1rX8O1116LxYsX45RTToHX60UkEsHmzZvx0EMP4c033wQwtGrG/fffD/mEN4mvv/46brnlFtx000245JJLMGXKFMTjcaxfvx733nsvtm3bBgD40Ic+hDvuuCOnejds2IANGzYM+1p3d/dJS49ed911x00rCYVCuPjii3HGGWfgqquuwsKFC9HU1ARJktDW1oZnn30WDz74INRDc7Fvv/12LFq0KKeaiYhypWk67vjZswiE4hAA7H65HQvn12LvpEROvRUixmD+ikxDTOqAvbkDlzZMRW/nVKzt6B92OzkPQUuhSWW6pkaD14u2cHlPMyEiIqLiKegtosHBQdx///24//77R9ympaUFf/rTn3DJJZcM+3owGMRvfvMb/OY3vxn29Ztvvhm/+93vYLfbc6r16aefxp133jnsazt37sSnP/3p455bsmTJsD0uNm3adNzqHieSJAl33HEHvve97+VULxFRPvz2wRXYvOP4lX3aN/ejutOF+sV12Bbsy/iYFS4R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EfV31KhROH78eERtbNy4MaTABREREREREVFPFLVgBAAUFRVh1qxZGDNmDIqKipCXlwePx4PTp09j3bp1eOutt1BbW4uLLroI27dvx/Dhw9sd//rrr+OWW24BAKSkpGDVqlU477zzoFarsWvXLqxZswbl5eW4/fbbkZWVhcsuuyzsvoqi6P0+JycH48aNw7vvvht2GzKZDKWlpdDr9di2bVvY/SIiIiIiIiLqbqIWjJg1axZOnjzpd/uyZcvwn//8BxdffDEcDgceeeQR/Otf//Jut1qtuPPOOwEABoMBmzdvxtChQ73bx44di8svvxxTp05FWVkZVq5ciQULFkCv14fV3zvuuAN9+vTBuHHj0KtXLwCAIAghtVFQUIDHH38c48aNw5gxY2AwGLB27VoGI4iIiIiIiIjaiFrOCLlcHnCfJUuWYNCgQQCAzz//vN22Dz74ANXV1QCAO++8s10golVycjKeeuopAMCZM2ciysmwevVqXHrppd5ARDgGDBiA1atXY8aMGTAYDGG3Q0RERERERNSdxb2aRutMBpvN1u7x7du3e79fsGCB3+NnzpwJjUYDAFi3bl0UekhEREREREREUoprMGL//v3YvXs3AHhnSLSqr6/3fp+Tk+O3DYVCgfT0dADAF198AZfLJX1HiYiIiIiIiEgyUU1g6YvVakVFRQXWr1+PNWvWwO12A4A3P0Srtrkfmpqa/LYniiKMRiMAwOFwoLy8vENgo7s5ffp0p9urqqpi1BMiIiIiIiKi0MUkGLF27VqsWLHC7/bVq1fj6quvbvdYaWmp9/uNGzdizJgxPo/dtWsXzGaz998nT57s9sGIoqKieHeBiIiIiIiIKGxxXaYxcuRIbN26FY8//niHyhULFy6EUqkEADz11FOora3tcLzH48H999/f7jGTyRS9DhMRERERERFRxGISjFiyZAnKyspQVlaGbdu24R//+Acuvvhi7N69G1dffTXefffdDscUFhbi1ltvBQBUVFRgypQpePvtt2E0GmGz2bB161YsXLgQH374IVQqlfe45ubmWDyluDp16lSnXywlSkRERERERIksJss0UlNTkZqa6v33uHHjcMUVV+CVV17B9ddfj8WLF+OFF17A8uXL2x33+OOP49ixY1i/fj0OHTqEJUuWdGi7b9++uOSSS/DEE08AAJKSkqL4TBJDYWFhvLtAREREREREFLa4LtO49tprsXTpUng8Htxxxx1oaGhot12lUuHtt9/Giy++iDFjxkAm+767qampWLlyJXbu3AlRFL2Pp6Wlxaz/RERERERERBS6uAYjAGDx4sUAAIvFgg8++KDDdkEQsHz5cnz99ddoampCeXk5Tp48idraWvzf//0fUlJSsGfPHu/+gwcPjlnfiYiIiIiIiCh0MS/tea6srCzv9ydOnOh0X4PBAIPB0O4xh8PhzZHQt29fZGZmSt9JIiIiIiIiIpJM3GdGVFRUeL8/N9AQjPfffx9NTU0AgGXLlknWLyIiIiIiIiKKjrgHI958803v98OGDQvpWJfLhYceeggAoFQqcdNNN0naNyIiIiIiIiKSXtSCEWvXroXNZut0n6effhrvv/8+AKC4uBhTp05tt722thZWq9XnsQ6HAzfccIM3X8RPf/pT9O3b1+e+M2fOhCAIEAQBx48fD/GZEBEREREREZGUopYz4uGHH8aqVatw6aWXYurUqejXrx8MBgNMJhPKysrw6quvYsuWLQBaqmY8//zzUCjad2fDhg246aabcPXVV2POnDno1asXrFYrdu3aheeeew779u0DAMybNw8PPPBARP3dvXs3du/e7XPbmTNnsHbt2naPXXbZZT6Xlaxbtw5ms9n7782bN/v8HgByc3Mxf/788DtNRERERERE1AUJYtu6mBIqLi4OmJASAAoLC/G3v/0Nc+fO7bBt3bp1WLp0aafHL1++HM8++yw0Go3ffWbOnImNGzcCAI4dO4bi4uIO+zz88MN45JFHAva3lb92gn3eADBjxgxs2LAh6HMG6/Tp0ygqKgIAnDp1CoWFhZKfg4iIiIiIiLqueF83Rm1mxKeffor//ve/+Oyzz7B//36cPXsWdXV10Gg0yMnJwciRI7Fo0SIsW7YMOp3OZxvTpk3D448/jv/97384cOAAzp49C5lMhvz8fMyaNQvLly/HxIkTo/UUiIiIiIiIiCgKojYzguIn3hEuIiIiIiIiSmzxvm6MezUNIiIiIiIiIupZGIwgIiIiIiIiophiMIKIiIiIiIiIYipqCSwpflwul/f7qqqqOPaEiIiIiIiIElHba8W215CxwmBEN1RTU+P9fvz48XHsCRERERERESW6mpoaFBcXx/ScXKZBRERERERERDHF0p7dkM1mQ1lZGQAgKysLCkXXmgBTVVXlndGxbds25OXlxblHFCmOaffDMe2eOK7dD8e0e+K4dj8c0+6nK4ypy+XyzqofNmwYNBpNTM/fta5SKSgajQbjxo2LdzckkZeXF/N6txRdHNPuh2PaPXFcux+OaffEce1+OKbdTyKPaayXZrTFZRpEREREREREFFMMRhARERERERFRTDEYQUREREREREQxxWAEEREREREREcUUgxFEREREREREFFMMRhARERERERFRTDEYQUREREREREQxJYiiKMa7E0RERERERETUc3BmBBERERERERHFFIMRRERERERERBRTDEYQERERERERUUwxGEFEREREREREMcVgBBERERERERHFFIMRRERERERERBRTDEYQERERERERUUwxGEFEREREREREMcVgBBERERERERHFFIMRRERERERERBRTDEZQ2D7++GNceeWV6Nu3L3Q6HTQaDYqKirBkyRK88cYbEEUxrHaXLVsGQRC8X8ePH4+on8uXL2/XXmdf/s5lNBrx+uuvY9WqVZgxYwb69++PlJQUqFQqZGdnY+bMmVizZg3q6uoi6msi6EnjCgA7d+7Er371KyxYsABFRUVQq9UwGAwoKSnB8uXLsWnTpoj6mQh62phWV1fj3XffxYMPPogFCxYgMzPTe9zy5csj6mOi6Glj2urkyZNYvXo1SktLodfrkZ6ejvHjx+OJJ56A1WqNqK+JoKuMqz979uyBUqkM6fVms9nwpz/9CbNnz0ZWVhZUKhUKCgpwwQUX4J///GdU+hlLPXFMHQ4HXnjhBcyfPx95eXnev6sDBw7EDTfcgK1bt0alr7HUk8Z15syZQb+Pt35t2LAhKv2Opp40pueqra3FmjVrMGXKFOTm5kKtViM/Px8TJkzA3XffjS+//DIqfQYAiEQhstvt4rJly0QAnX7NnDlTbGxsDKntd999t0M7x44di6i/119/fcC+BjrXJ598EtTxmZmZ4ocffhhRf+OlJ47r9OnTgzr+2muvFe12e0T9jYeeOKaiKHZ63PXXXx9RH+Otp45pa/9SUlL8Hj9w4EDxyJEjEfU3XrrauPridrvFCRMmhPR6O3DggDhw4MBOn/P8+fNFs9kseX+jraeO6cmTJ8Vhw4YFfN533XWX6PF4JO9ztPXEcZ0xY0bQ7+MARJlMJp4+fVryfkdLTxzTtt544w0xIyOj0+e+ePFiyfvc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7LPeF2xGRoa4ZcuWTtuaN2+ezz9I0fgw3NlXQUFBwL62evHFFztta/Xq1V3yzbinj6svbrdbHD9+vLe97du3R9TnWOOYtuhOwYieNqbNzc3e/S644IKA52v9UDxx4sSI+h1rXW1cRVEUN2/eLAqCICqVSvHbb7/1Ph7M681sNnuTGA4fPrzT87QtE9mVLl572pi2euutt0StVisCEEeNGiW+9NJL4pdffil+8skn4sMPPywmJSWJAMSRI0eKVVVVEfc51nrquPqzdu1abxv3339/xH2Nh544pq0JOUeMGNEu4Ovra+jQoT6DNFJhMILCUlNTIz7yyCOiwWDo8EurVCrFVatWiSdOnOi0jVdeecUblTv3D5KUL9rly5eLEydOFB977DHxgw8+EHfu3Cl+8cUX4p///Od2F5p6vV7cuXNnwPb8BSNGjhwpbt26NaK+xltPHldfnnjiCW87F198cUT9jReOafcKRohizxrT6upq7z6XX355wPNlZ2d7Pzx1NV1pXO12uzh48GAR6DhbIdjX2/z58737vfbaaz73ee2119r9HBYtWhRRv2Otp41pq71794o33nijKAhCh+edk5MjPvXUU6LZbI6ov/HUU8fVl/POO8/bxsGDByPqazz1tDFtncHUWk0jNTVVfO6558Tq6mrRZrOJ27dvFxcsWOBta/LkyaLb7Y6o3/4wGEFheemll7wvBF9fvXv3Fp944gm/MwTq6urErKwsEYD4xz/+scN2KV+0DQ0Nfrd5PB7xvvvu855r9OjRAWc1NDQ0iGVlZWJZWZm4bds28R//+Id48cUXiwDEfv36ievXr4+ov/HUk8f1XBs2bBAVCoUIQMzOzvaWiexqOKbdLxjRk8b05MmT3u3XXnttwPMVFRV534u7mq40ro888oi3T+cuswn29fbVV19532OVSqX46KOPiidOnBAdDod44sQJ8dFHHxWVSqV3Sj/QUiKvK+lpYyqKouhwOMT777/fGxj09TVu3Djx3Xffjai/8dQTx9WXU6dOectidrXZaOfqaWMql8u9+8nlcvHLL7/ssI/b7W4XkHjzzTcj6rc/DEZ0U06n0+8LKpSvF198sUPbq1at8m5fsmSJuGXLFtFsNovNzc3izp07xRUrVni3L1261GckrfVFOW7cuE63S/GiDcacOXO859u8eXNYbbz88suiIAiiTCbz+XOTAsc1NOGO67fffiumpaWJQEvUeMOGDVHrI8c0NOGMaayDERzT0HQ2pok0M4Lj2uLAgQPeu2m+gu+hvN5eeumldsGGc7/kcrn4+9//vt3PRkoc0xZSjanZbBanT5/uHbt77rlH3L9/v2i328Wmpibx448/FqdOnSoCEAVBEJ955pmw+9wZjmsLKV+rvvz617/2Hv/ss8+G3c9gcExbSDWmrUsaAYhXXHGF3/2+/fZb736XXHJJ2P3uDIMR3VS0XrTr16/3blu+fLnf8z/wwAPe/f7whz+02/bpp596/1D5m2od6w/Db775pvd8jz32WNjtLFu2TARaphzX19dL2MMWHNfQhDOuR48eFfPz873P5a233opqHzmmoQlnTLtLMKInjmki5YzguLbMZpkxY4YI+F+6Furrbffu3eLSpUu9uQQAiDKZTJw9e7a4detWsayszPv4ihUrwuq3PxxTace07UXd2rVrfe7jdDrFWbNmecf5m2++CavfneG4Rue1eq7WmQRqtToqn3nb4phKO6a5ubne/V566aVOz1tQUCACEIuKisLqdyAKULekUCiwf//+iNvJy8tr9+8XXnjB+/0vf/lLv8fdd999ePrpp2E2m/HXv/4Vt99+u3fbb3/7WwDA2LFjcfDgQRw8eLDD8ceOHfN+v379emRlZQEArrjiivCeSACDBw/2ft9aKzkcixcvxhtvvAGLxYIPPvgAV111lRTd8+K4hibUca2srMScOXNQWVkJQRDwt7/9DRdffHFU+taKYxoaqV6r0cQxDU1nY6rRaJCZmYna2lqcPn2603YaGhpgsVgAAEVFRZL3k+MKbN26FRs3bgQATJ48Ga+//nqHfWpqatqds3WfoUOHYujQoR32HzFiBN544w243W5UVVXBZrMhPz8fOp0OAPDaa6959237uyIFjql0YyqKIl588UUALaUPr7/+ep/nUygUePTRRzF16lR4PB68+OKLePrpp4PubzA4rtF5rbb19ddfY9++fQCARYsWIS0tLei+hYNjKu2YFhUV4cyZMwCAwsLCTs9bVFSEiooKVFdXB93XkEQlxEHd1sCBA0WgJQFRIBMmTBABiBqNpt3jrVG9cL6ipe00pNtuuy3sdj7++GNvO7/61a8k7GF0cVxbkhe1XS94buS7q+GYfq+75IzoqWM6bdo0EWiZceZ0Ov2288UXX3jbefDBB6PWX6l1pXH97LPPwj7PQw89FNK5Wt16663eNj7//POw2oi1njimVVVV3scDLalqO+Np/vz5IfU3nnriuPqzcuVK7/7vvPNOSH1LJD11TJcvX+7d9vHHH3d63nHjxolAy9/gaJCBKAQKRctkGpfLFXBfp9PZ7phE1hrdBYD8/Pyw22l7V89gMETUp1jq6ePa1NSE888/37v/b37zm3ZR766op49pd9RTx3Tq1KkAAIvFgh07dvhtp/WOEQBMmTJFwh5GV3cdVyk4HA6sW7cOAFBQUIDJkyfHuUfB6Ylj2rb/gZ5363M+97hE1xPH1Ren0+m9456VlYUFCxbEuUfh66ljOn36dO/3R44c6XTfo0ePAmh5D46KqIQ4qNtatGiRN5K2b98+v/vV1dV5k1INGzYs5PPEes3y7NmzvefbtGlT2O0sXLjQ285nn30mXQejrCePq8ViEadMmeLdr6vWyT5XTx7Tc3WXmRE9dUy/+uor7/ZbbrnFZxtut1ssLS0VgZYSZQ6HI9rdlkx3G1cpX29r1qzxtvXoo49K08EY6Ilj6na7veUC8/PzO53F1Had/sqVK6PUa+n1xHH15e233/Yed+edd0atf7HQU8e0trZWVCqVIgBx7ty5fvfbsGGDt70bb7wxCj3mzAgK0YUXXuj9/sc//jEcDkeHfTweD+68807vtkWLFkWtPw8//DAEQYAgCFi7dm2H7Vu3bkVVVZXf40VRxM9//nN8+umnAFrWrvq6o7Z27VrYbLZO+/L000/j/fffBwAUFxd77+Z1BT11XB0OBy6++GJs2bIFAHDnnXd2umawK+mpY9qd9dQxHT9+PKZNmwagZX3vl19+2WGfJ5980rue+M4774RSqQznKcVFVxtXKZ08edLvtvXr1+P+++8HAAwYMACrV6+Oal+k1BPHVCaT4YILLgDQkn/pscce87lfQ0MDfvrTn3r/Hc3nLbWeOK6+vPzyy97vr7vuupidNxp66phmZGTgBz/4AQDgk08+8Zl/wmQy4cc//rH337fccktU+tL155lQTC1fvhxPP/00Dhw4gI8//hhjx47FypUrMWLECMjlcuzbtw/PPvus98NiTk4OfvKTn8Stvx9++CF+85vfYP78+Zg7dy4GDx6M1NRU2O127NmzBy+88AK2bdsGANDpdHj++echCEKHdh5++GGsWrUKl156KaZOnYp+/frBYDDAZDKhrKwMr776qveCVqVS4fnnn+9S07h66rheeeWV+PjjjwEA5513Hm688UZ8++23fs+rUqlQUlISnSclsZ46pgCwefNmlJeXe/9dW1vr/b68vLzDH/jly5dL/nyioSeP6e9+9ztMmTIFzc3NmDdvHu677z7MmjULzc3NeP311/GXv/wFQEvivFWrVsXsOUqhq42rlIYOHYpJkyZh6dKlGDJkCFQqFY4fP44333wT//znPwEAaWlp+Oc//wmNRhPn3gavp47pgw8+iLfffhtWqxUPP/wwduzYgeuvvx59+/aFzWbD1q1b8cwzz3iDULNnz8a8efPi3Ovg9dRxbauhoQHvvvsugJbX7+jRo+Pco8j05DF95JFH8N577+HkyZO49tprsWXLFlxyySVITk5GWVkZfvvb3+LAgQMAgFtvvRXjxo2LTkeiMt+CurXjx4+LI0aMCJgspU+fPuKuXbvCOkew05keeugh736+age33d7ZV69evTrUt2+rd+/eQbVTWFgYMBFMouqJ4xpMG22/evfuHdbzjpeeOKbn9imYr66kp46pKIriO++8450G7uurpKREPHz4cFjPOd660rgGEsrU77a17n19DR482G+pvETXU8f0k08+ETMzMwM+7/POOy/q5SCjoaeOa6tnn33We8yaNWtCPmci6sljum/fPrF///6dPu8bbrghqksfu86tW0oYvXv3xvbt2/H6669j3bp12LlzJ2pqaiCKItLT0zF8+HAsWbIE1113HfR6fVz7umLFCuTk5ODLL7/Enj17UF1djbq6OigUCmRmZmL06NG48MILcdVVV3V61+XTTz/Ff//7X3z22WfYv38/zp49i7q6Omg0GuTk5GDkyJFYtGgRli1b5i1H1tX0xHHt7jim3U9PHtMLL7wQe/bswe9+9zu89957OH36NFQqFfr374+lS5fijjvu4PtvF/PXv/4VH3/8MbZt24aqqiqYzWZkZWVh+PDhuOyyy3Dttdd2qSU3bfXUMZ0zZw4OHDiAF154AR988AH27t2LxsZGKBQK5ObmYty4cbjqqqtw0UUX+Z0Jlch66ri2euWVVwAAcrkcV199dZx7I42ePKalpaXYvXs3nn32Waxbtw6HDx+G2WxGdnY2pkyZgltuuQWzZs2Kah8EURTFqJ6BiIiIiIiIiKgNJrAkIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIwgIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIwgIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIwgIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIz4/3bsWAAAAABgkL/1LHYVRgAAAMBKRgAAAAArGQEAAACsZAQAAACwkhEAAADASkYAAAAAKxkBAAAArGQEAAAAsAojg0znuJ5jBAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 413, + "width": 529 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "# use mapclassify under the hood\n", + "df.plot('DENSITY', scheme='quantiles')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e45fcd62-a96a-4601-a355-783cd0323d32", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.130636Z", + "iopub.status.busy": "2024-07-24T16:20:28.130486Z", + "iopub.status.idle": "2024-07-24T16:20:28.240140Z", + "shell.execute_reply": "2024-07-24T16:20:28.239779Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.130626Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAM6CAYAAAC7MYkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd5xddZ0//tc5557b751eM6mEkIQEAiGgEiAoKiBSRLHwk8WCLqssu4piWRTdtYFt/cpaUGQXURCl95rQAkkI6b1Oprfb26m/PyYJKVNuOfeee2dez8djHoRbznnPZDJzz+t+Pu+3YJqmCSIiIiIiIiKiEhHtLoCIiIiIiIiIJheGEURERERERERUUgwjiIiIiIiIiKikGEYQERERERERUUkxjCAiIiIiIiKikmIYQUREREREREQlxTCCiIiIiIiIiEqKYQQRERERERERlRTDCCIiIiIiIiIqKYYRRERERERERFRSDCOIiIiIiIiIqKQYRhARERERERFRSTGMICIiIiIiIqKSYhhBRERERERERCXFMIKIiIiIiIiISophBBERERERERGVlMPuAsh66XQaGzduBAA0NDTA4eBfMxEREREREb1D0zT09/cDABYuXAi3213S8/MqdQLauHEjzjzzTLvLICIiIiIiogqwatUqLFmypKTn5DYNIiIiIiIiIioproyYgBoaGg7/edWqVWhpabGxGiIiIiIiIio33d3dh1fUH3kNWSoMIyagI3tEtLS0oK2tzcZqiIiIiIiIqJzZ0WeQ2zSIiIiIiIiIqKQYRhARERERERFRSTGMICIiIiIiIqKSYhhBRERERERERCXFMIKIiIiIiIiISophBBERERERERGVFMMIIiIiIiIiIiophhFEREREREREVFIMI4iIiIiIiIiopBhGEBEREREREVFJMYwgIiIiIiIiopJiGEFEREREREREJcUwgoiIiIiIiIhKimEEEREREREREZUUwwgiIiIiIiIiKimGEURERERERERUUgwjiIiIiIiIiKikGEYQERERERERUUkxjCAiIiIiIiKikmIYQUREREREREQlxTCCiIiIiIiIiEqKYQQRERERERERlRTDCCIiIiIiIiIqKYYRRERERERERFRSDCOIiIiIiIiIqKQYRhARERERERFRSTGMICIiIiIiIqKSYhhBRERERERERCXFMIKI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pkCn03nbWbt2rSSxEhEREREREXVlimg1vHXrVlxxxRU+t9XU1ODzzz/H559/jkcffRT//Oc/ce655/rc929/+xtWrlwJh8PR7vGDBw/i4MGD+Pvf/46nnnoKt9xyS0Txjho1CkePHo2ojc8//zykxAURERERERFRTxS1ZAQAFBUVYdasWRgzZgyKioqQl5cHj8eDkydPYt26dXjjjTdQW1uLCy64ANu2bcPw4cPbHf/qq6/i5ptvBgCkpKRg1apVOOecc6BWq7Fjxw6sWbMG5eXluO2225CVlYVLL7007FhFUfR+n5OTg3HjxuGdd94Juw2ZTIbS0lLo9Xps3bo17LiIiIiIiIiIupuoJSNmzZqF48eP+92+dOlS/Pe//8VFF10Eh8OBhx9+GP/5z3+8261WK+644w4AgMFgwKZNmzB06FDv9rFjx+Kyyy7D1KlTUVZWhpUrV2LBggXQ6/VhxXv77bejb9++GDduHHr16gUAEAQhpDYKCgrw6KOPYty4cRgzZgwMBgPWrl3LZAQRERERERFRG1GrGSGXywPus3jxYgwaNAgAsHHjxnbb3n//fVRXVwMA7rjjjnaJiFbJycl44oknAACnTp2KqCbD6tWrcckll3gTEeEYMGAAVq9ejRkzZsBgMITdDhEREREREVF3FvfVNFpHMthstnaPb9u2zfv9ggUL/B4/c+ZMaDQaAMC6deuiECERERERERERSSmuyYi9e/di586dAOAdIdGqvr7e+31OTo7fNhQKBdLT0wEAX375JVwul/SBEhEREREREZFkolrA0her1YqKigqsX78ea9asgdvtBgBvfYhWbWs/NDU1+W1PFEUYjUYAgMPhQHl5eYfERndz8uTJTrdXVVXFKBIiIiIiIiKi0MUkGbF27VqsWLHC7/bVq1dj2bJl7R4rLS31fv/5559jzJgxPo/dsWMHzGaz99/Hjx/v9smIoqKieIdAREREREREFLa4TtMYOXIktmzZgkcffbTDyhULFy6EUqkEADzxxBOora3tcLzH48H999/f7jGTyRS9gImIiIiIiIgoYjFJRixevBhlZWUoKyvD1q1b8a9//QsXXXQRdu7ciWXLluGdd97pcExhYSFuueUWAEBFRQWmTJmCt956C0ajETabDVu2bMHChQvxwQcfQKVSeY9rbm6OxVOKqxMnTnT6xaVEiYiIiIiIKJHFZJpGamoqUlNTvf8eN24cLr/8crz00ku49tprceGFF+K5557D8uXL2x336KOP4siRI1i/fj0OHDiAxYsXd2i7X79+uPjii/HYY48BAJKSkqL4TBJDYWFhvEMgIiIiIiIiCltcp2lcffXVWLJkCTweD26//XY0NDS0265SqfDWW2/h+eefx5gxYyCT/RBuamoqVq5cie3bt0MURe/jaWlpMYufiIiIiIiIiEIX12QEAFx44YUAAIvFgvfff7/DdkEQsHz5cnzzzTdoampCeXk5jh8/jtraWvzxj39ESkoKdu3a5d1/8ODBMYudiIiIiIiIiEIX86U9z5aVleX9/tixY53uazAYYDAY2j3mcDi8NRL69euHzMxM6YMkIiIiIiIiIsnEfWRERUWF9/uzEw3BeO+999DU1AQAWLp0qWRxEREREREREVF0xD0Z8frrr3u/HzZsWEjHulwu/OIXvwAAKJVK3HjjjZLGRkRERERERETSi1oyYu3atbDZbJ3u8+STT+K9994DAPTp0wdTp05tt722thZWq9XnsQ6HA9ddd523XsS9996Lfv36+dx35syZEAQBgiDg6NGjIT4TIiIiIiIiIpJS1GpGPPTQQ1i1ahUuueQSTJ06FcXFxTAYDDCZTCgrK8PLL7+MzZs3A2hZNePZZ5+FQtE+nA0bNuDGG2/EsmXLMGfOHPTq1QtWqxU7duzAM888gz179gAA5s2bhwceeCCieHfu3ImdO3f63Hbq1CmsXbu23WOXXnqpz2kl69atg9ls9v5706ZNPr8HgNzcXMyfPz/8oImIiIiIiIi6IEFsuy6mhPr06ROwICUAFBYW4h//+Afmzp3bYdu6deuwZMmSTo9fvnw5nn76aWg0Gr/7zJw5E59//jkA4MiRI+jTp0+HfR566CE8/PDDAeNt5a+dYJ83AMyYMQMbNmwI+pzBOnnyJIqKigAAJ06cQGFhoeTnICIiIiIioq4r3teNURsZ8emnn+KTTz7BZ599hr179+L06dOoq6uDRqNBTk4ORo4ciUWLFmHp0qXQ6XQ+25g2bRoeffRR/O9//8O+fftw+vRpyGQy5OfnY9asWVi+fDkmTpwYradARERERERERFEQtZERFD/xznARERERERFRYov3dWPcV9MgIiIiIiIiop6FyQgiIiIiIiIiiikmI4iIiIiIiIgopqJWwJLix+Vyeb+vqqqKYyRERERERESUiNpeK7a9howVJiO6oZqaGu/348ePj2MkRERERERElOhqamrQp0+fmJ6T0zSIiIiIiIiIKKa4tGc3ZLPZUFZWBgDIysqCQtG1BsBUVVV5R3Rs3boVeXl5cY6IIsU+7X7Yp90T+7X7YZ92T+zX7od92v10hT51uVzeUfXDhg2DRqOJ6fm71lUqBUWj0WDcuHHxDkMSeXl5MV/vlqKLfdr9sE+7J/Zr98M+7Z7Yr90P+7T7SeQ+jfXUjLY4TYOIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimBFEUxXgHQUREREREREQ9B0dGEBEREREREVFMMRlBRERERERERDHFZAQRERERERERxRSTEUREREREREQUU0xGEBEREREREVFMMRlBRERERERERDHFZAQRERERERERxRSTEUREREREREQUU0xGEBEREREREVFMMRlBRERERERERDHFZASF7aOPPsIVV1yBfv36QafTQaPRoKioCIsXL8Zrr70GURTDanfp0qUQBMH7dfTo0YjiXL58ebv2Ovvydy6j0YhXX30Vq1atwowZM9C/f3+kpKRApVIhOzsbM2fOxJo1a1BXVxdRrImgJ/UrAGzfvh2/+c1vsGDBAhQVFUGtVsNgMKCkpATLly/HF198EVGciaCn9Wl1dTXeeecdPPjgg1iwYAEyMzO9xy1fvjyiGBNFT+vTVsePH8fq1atRWloKvV6P9PR0jB8/Ho899hisVmtEsSaCrtKv/uzatQtKpTKk15vNZsP//d//Yfbs2cjKyoJKpUJBQQHOO+88/Pvf/45KnLHUE/vU4XDgueeew/z585GXl+f9uzpw4EBcd9112LJlS1RijaWe1K8zZ84M+n289WvDhg1RiTuaelKfnq22thZr1qzBlClTkJubC7Vajfz8fEyYMAH33HMPvvrqq6jEDAAQiUJkt9vFpUuXigA6/Zo5c6bY2NgYUtvvvPNOh3aOHDkSUbzXXnttwFgDnevjjz8O6vjMzEzxgw8+iCjeeOmJ/Tp9+vSgjr/66qtFu90eUbzx0BP7VBTFTo+79tprI4ox3npqn7bGl5KS4vf4gQMHiocOHYoo3njpav3qi9vtFidMmBDS623fvn3iwIEDO33O8+fPF81ms+TxRltP7dPjx4+Lw4YNC/i877rrLtHj8Ugec7T1xH6dMWNG0O/jAESZTCaePHlS8rijpSf2aVuvvfaamJGR0elzv/DCCyWPuZUCRCG688478dprrwEAsrOz8ZOf/ASjR4+GUqlEWVkZfv/73+PYsWPYsGEDrrzySrz77rtBtWs2m3Hrrbd6262urpY07vz8fHz44Yed7lNQUOB3W1FREWbNmoUxY8agqKgIeXl58Hg8OHnyJNatW4c33ngDtbW1uOCCC7Bt2zYMHz5c0vijrSf2a0VFhbeNJUuWYNq0aejVqxfcbje++uorPP7446ioqMBLL70El8uFV155RdLYo60n9unZioqKUFpaio8++kiK0OKup/bpd999h6VLl8JqtcJgMOBnP/sZZs2ahebmZrz66qt49tlnsX//fpx33nnYtm0bDAaDpPFHW1ft17b+/Oc/4+uvvw76PDU1NZg7dy5OnDgBAFiyZAmuvfZa5Ofno7KyEi+88AJef/11fPDBB7jiiivw9ttvRy32aOiJfepyuXDeeeehrKwMADB8+HDcfffdGDhwIEwmEzZt2oTHH38cFosFTz75JPLy8nDPPfdELf5o6In9+vzzz8NisXS6z549e3DZZZcBAGbPnh303+hE0BP7tNWLL76IFStWwOPxIDs7G7fccgumTp2K9PR0nDp1CocOHcL69euhVCqjFjtHRlBITp8+LcpkMhGAmJaWJp44caLDPk1NTWKfPn282bRvv/02qLbvuOMOEYA4e/bsdnfTpLoz17t377DbcLlcAfd58803vTFffPHFYZ8rHnpqv5533nniv//9b7/9W1NTI5aUlHhj3rhxY9jnirWe2qeiKIoPPviguH79evHUqVOiKIrikSNHQr5TkIh6cp/OnDlTBCAqFArxyy+/7LB9zZo13pgffvjhiM4Va12xX8924sQJMSkpSRQEQXzhhReCer3ddttt3v1+8Ytf+NznwQcf9O7zn//8R9KYo6mn9um6deu8+02aNMnn39ZvvvlGVCqV3p+N0+mUNO5o6qn9Goyf/OQn3rZeeuklaYKNgZ7cp3v27BHVarUIQJw2bVqnoz6iOTqYNSMoJFu2bIHH4wEArFixAoWFhR32SU5Oxl133eX995dffhmw3W+++QZ//vOfoVar8X//93/SBSwRuVwecJ/Fixdj0KBBAICNGzdGOyRJ9dR+feedd7B06VK//ZuZmYnHH3/c++9169bFKrSI9dQ+BYCHH34YixYtQk5OTrxDkVRP7dNt27Z55x9ff/31mDRpUod9Vq1ahdLSUgDAU089BafTGcsQI9Id+vW2226DyWTC8uXLMX369ID7u91uvPzyywCA3r1744EHHvC534MPPohevXoBAH77299KF3CU9cQ+BYDNmzd7v//Zz37m82/rmDFjsGjRIgBAQ0MD9u3bJ03AMdBT+zUQj8fjfT0bDAZcfPHFkrQbCz25T1euXAm73Y7MzEy88cYbSElJ8buvSqWSIlSfmIygkDgcDu/3/fr187tfcXGx93u73d5pmy6XCzfeeCPcbjd++tOfoqSkJPJA40Sv1wNoKcjVlbBf/Zs5c6b3+0OHDsUvkBCxT7ufntqn//3vf73fr1ixwuc+MpkM11xzDYCWC5yuVDytq/frunXr8PbbbyMjIwNr1qwJ6piDBw+isbERADB37ly/CWG5XI65c+cCaPlwH63Cb1LriX0KROd5J5Ke2q+BfPrpp95pr5deeil0Op1kbUdbT+3Tffv24dNPPwUA3H777cjMzIxWiAExGUEhafuCOnz4sN/92l60BXoRPvHEE9i5cycGDBiAn/3sZ5EHGSd79+7Fzp07AcA7QqKrYL/61/YPlUzWdd4y2afdT0/t09YVbfR6PcaMGeN3vxkzZni/37RpU9TjkkpX7tempib8+Mc/BgCsWbMm6A+09fX13u8DjWBqu72rjDrsiX0KhP68BUHAgAEDwow09npqvwby4osver9vTQp3FT21T19//XXv90uWLPF+39DQgIMHD8Z2dcCoTQChbmvSpEkiADE9PV2sqKjosN1oNIp9+/YVAYh9+vQRbTab37YOHz4s6nQ6EYD48ccfex+Pxpxlg8EgTp06VUxJSRFVKpWYm5srzps3T/zTn/4kWiyWsNq2WCzigQMHxMcff1zMycnpkvPlWrFffXvjjTe8Md9zzz0RtxdL7NMW3aVmhCj2zD7NzMwUAYgjRozodL/6+npv3EuWLIko7ljrav3a6uabbxYBiFOnTvWujBDM623nzp3efW6//fZOz9G2tsS9994rSdyx0NP6VBRFsbq6WkxOThYBiFOmTPFZM2L79u2iSqUSAYhXXHGFJDHHUk/s186YTCZRr9eLAMRevXp1yRVSemKfLly4UAQgpqSkiB6PR/znP/8pDh8+3HssALFv377iQw89JJpMJkni9YfJCArZ3r17xd69e4sAxJycHPHxxx8XP/vsM/GLL74Qn376ae8LNiMjQ9y8eXOnbc2bN8/nH6RofBju7KugoCBgrK2ef/75TttavXp1l3wz7un96ovb7RbHjx/vbW/btm0RxRxr7NMW3SkZ0dP6tLm52bvfeeedF/B8rR+KJ06cGFHcsdbV+lUURXHTpk2iIAiiUqkUv//+e+/jwbzezGazt4jh8OHDOz1P22Uiu9LFa0/r01ZvvPGGqNVqRQDiqFGjxBdeeEH86quvxI8//lh86KGHxKSkJBGAOHLkSLGqqirimGOtp/arP2vXrvW2cf/990ccazz0xD5tLcg5YsSIdglfX19Dhw71maSRCpMRFJaamhrx4YcfFg0GQ4dfWqVSKa5atUo8duxYp2289NJL3qzc2X+QpHzRLl++XJw4caL4yCOPiO+//764fft28csvvxT/+te/trvQ1Ov14vbt2wO25y8ZMXLkSHHLli0RxRpvPblffXnssce87Vx00UURxRsv7NPulYwQxZ7Vp9XV1d59LrvssoDny87O9n546mq6Ur/a7XZx8ODBItBxtEKwr7f58+d793vllVd87vPKK6+0+zksWrQoorhjraf1aavdu3eL119/vSgIQofnnZOTIz7xxBOi2WyOKN546qn96ss555zjbWP//v0RxRpPPa1PW0cwta6mkZqaKj7zzDNidXW1aLPZxG3btokLFizwtjV58mTR7XZHFLc/TEZQWF544QXvC8HXV+/evcXHHnvM7wiBuro6MSsrSwQg/uUvf+mwXcoXbUNDg99tHo9HvO+++7znGj16dMBRDQ0NDWJZWZlYVlYmbt26VfzXv/4lXnTRRSIAsbi4WFy/fn1E8cZTT+7Xs23YsEFUKBQiADE7O9u7TGRXwz7tfsmIntSnx48f926/+uqrA56vqKjI+17c1XSlfn344Ye9MZ09zSbY19vXX3/tfY9VKpXir371K/HYsWOiw+EQjx07Jv7qV78SlUqld0g/0LJEXlfS0/pUFEXR4XCI999/vzcx6Otr3Lhx4jvvvBNRvPHUE/vVlxMnTniXxexqo9HO1tP6VC6Xe/eTy+XiV1991WEft9vdLiHx+uuvRxS3P0xGdFNOp9PvCyqUr+eff75D26tWrfJuX7x4sbh582bRbDaLzc3N4vbt28UVK1Z4ty9ZssRnJq31RTlu3LhOt0vxog3GnDlzvOfbtGlTWG28+OKLoiAIokwm8/lzkwL7NTTh9uv3338vpqWliUBL1njDhg1Ri5F9Gppw+jTWyQj2aWg669NEGhnBfm2xb98+7900X8n3UF5vL7zwQrtkw9lfcrlc/NOf/tTuZyMl9mkLqfrUbDaL06dP9/bdT37yE3Hv3r2i3W4Xm5qaxI8++kicOnWqCEAUBEF86qmnwo65M+zXFlK+Vn357W9/6z3+6aefDjvOYLBPW0jVp61TGgGIl19+ud/9vv/+e+9+F198cdhxd4bJiG4qWi/a9evXe7ctX77c7/kfeOAB735//vOf22379NNPvX+o/A21jvWH4ddff917vkceeSTsdpYuXSoCLUOO6+vrJYywBfs1NOH06+HDh8X8/Hzvc3njjTeiGiP7NDTh9Gl3SUb0xD5NpJoR7NeW0SwzZswQAf9T10J9ve3cuVNcsmSJt5YAAFEmk4mzZ88Wt2zZIpaVlXkfX7FiRVhx+8M+lbZP217UrV271uc+TqdTnDVrlrefv/vuu7Di7gz7NTqv1bO1jiRQq9VR+czbFvtU2j7Nzc317vfCCy90et6CggIRgFhUVBRW3IEoQN2SQqHA3r17I24nLy+v3b+fe+457/e//vWv/R5333334cknn4TZbMbf//533Hbbbd5tv//97wEAY8eOxf79+7F///4Oxx85csT7/fr165GVlQUAuPzyy8N7IgEMHjzY+33rWsnhuPDCC/Haa6/BYrHg/fffx5VXXilFeF7s19CE2q+VlZWYM2cOKisrIQgC/vGPf+Ciiy6KSmyt2Kehkeq1Gk3s09B01qcajQaZmZmora3FyZMnO22noaEBFosFAFBUVCR5nOxXYMuWLfj8888BAJMnT8arr77aYZ+ampp252zdZ+jQoRg6dGiH/UeMGIHXXnsNbrcbVVVVsNlsyM/Ph06nAwC88sor3n3b/q5IgX0qXZ+Koojnn38eQMvSh9dee63P8ykUCvzqV7/C1KlT4fF48Pzzz+PJJ58MOt5gsF+j81pt65tvvsGePXsAAIsWLUJaWlrQsYWDfSptnxYVFeHUqVMAgMLCwk7PW1RUhIqKClRXVwcda0iikuKgbmvgwIEi0FKAKJAJEyaIAESNRtPu8dasXjhf0dJ2GNKtt94adjsfffSRt53f/OY3EkYYXezXluJFbecLnp357mrYpz/oLjUjemqfTps2TQRaRpw5nU6/7Xz55Zfedh588MGoxSu1rtSvn332Wdjn+cUvfhHSuVrdcsst3jY2btwYVhux1hP7tKqqyvt4oClVbUc8zZ8/P6R446kn9qs/K1eu9O7/9ttvhxRbIumpfbp8+XLvto8++qjT844bN04EWv4GR4MMRCFQKFoG07hcroD7Op3OdsckstbsLgDk5+eH3U7bu3oGgyGimGKpp/drU1MTzj33XO/+v/vd79plvbuint6n3VFP7dOpU6cCACwWC7799lu/7bTeMQKAKVOmSBhhdHXXfpWCw+HAunXrAAAFBQWYPHlynCMKTk/s07bxB3rerc/57OMSXU/sV1+cTqf3jntWVhYWLFgQ54jC11P7dPr06d7vDx061Om+hw8fBtDyHhwVUUlxULe1aNEibyZtz549fverq6vzFqUaNmxYyOeJ9Zzl2bNne8/3xRdfhN3OwoULve189tln0gUYZT25Xy0WizhlyhTvfl11neyz9eQ+PVt3GRnRU/v066+/9m6/+eabfbbhdrvF0tJSEWhZoszhcEQ7bMl0t36V8vW2Zs0ab1u/+tWvpAkwBnpin7rdbu9ygfn5+Z2OYmo7T3/lypVRilp6PbFffXnrrbe8x91xxx1Riy8Wemqf1tbWikqlUgQgzp071+9+GzZs8LZ3/fXXRyFijoygEJ1//vne7++88044HI4O+3g8Htxxxx3ebYsWLYpaPA899BAEQYAgCFi7dm2H7Vu2bEFVVZXf40VRxM9//nN8+umnAFrmrvq6o7Z27VrYbLZOY3nyySfx3nvvAQD69OnjvZvXFfTUfnU4HLjooouwefNmAMAdd9zR6ZzBrqSn9ml31lP7dPz48Zg2bRqAlvm9X331VYd9Hn/8ce984jvuuANKpTKcpxQXXa1fpXT8+HG/29avX4/7778fADBgwACsXr06qrFIqSf2qUwmw3nnnQegpf7SI4884nO/hoYG3Hvvvd5/R/N5S60n9qsvL774ovf7a665JmbnjYae2qcZGRm44YYbAAAff/yxz/oTJpMJd955p/ffN998c1Ri6frjTCimli9fjieffBL79u3DRx99hLFjx2LlypUYMWIE5HI59uzZg6efftr7YTEnJwd333133OL94IMP8Lvf/Q7z58/H3LlzMXjwYKSmpsJut2PXrl147rnnsHXrVgCATqfDs88+C0EQOrTz0EMPYdWqVbjkkkswdepUFBcXw2AwwGQyoaysDC+//LL3glalUuHZZ5/tUsO4emq/XnHFFfjoo48AAOeccw6uv/56fP/9937Pq1KpUFJSEp0nJbGe2qcAsGnTJpSXl3v/XVtb6/2+vLy8wx/45cuXS/58oqEn9+kf/vAHTJkyBc3NzZg3bx7uu+8+zJo1C83NzXj11Vfxt7/9DUBL4bxVq1bF7DlKoav1q5SGDh2KSZMmYcmSJRgyZAhUKhWOHj2K119/Hf/+978BAGlpafj3v/8NjUYT52iD11P79MEHH8Rbb70Fq9WKhx56CN9++y2uvfZa9OvXDzabDVu2bMFTTz3lTULNnj0b8+bNi3PUweup/dpWQ0MD3nnnHQAtr9/Ro0fHOaLI9OQ+ffjhh/Huu+/i+PHjuPrqq7F582ZcfPHFSE5ORllZGX7/+99j3759AIBbbrkF48aNi04gURlvQd3a0aNHxREjRgQsltK3b19xx44dYZ0j2OFMv/jFL7z7+Vo7uO32zr569erVYX37tnr37h1UO4WFhQELwSSqntivwbTR9qt3795hPe946Yl9enZMwXx1JT21T0VRFN9++23vMHBfXyUlJeLBgwfDes7x1pX6NZBQhn63Xeve19fgwYP9LpWX6Hpqn3788cdiZmZmwOd9zjnnRH05yGjoqf3a6umnn/Yes2bNmpDPmYh6cp/u2bNH7N+/f6fP+7rrrovq1Meuc+uWEkbv3r2xbds2vPrqq1i3bh22b9+OmpoaiKKI9PR0DB8+HIsXL8Y111wDvV4f11hXrFiBnJwcfPXVV9i1axeqq6tRV1cHhUKBzMxMjB49Gueffz6uvPLKTu+6fPrpp/jkk0/w2WefYe/evTh9+jTq6uqg0WiQk5ODkSNHYtGiRVi6dKl3ObKupif2a3fHPu1+enKfnn/++di1axf+8Ic/4N1338XJkyehUqnQv39/LFmyBLfffjvff7uYv//97/joo4+wdetWVFVVwWw2IysrC8OHD8ell16Kq6++uktNuWmrp/bpnDlzsG/fPjz33HN4//33sXv3bjQ2NkKhUCA3Nxfjxo3DlVdeiQsuuMDvSKhE1lP7tdVLL70EAJDL5Vi2bFmco5FGT+7T0tJS7Ny5E08//TTWrVuHgwcPwmw2Izs7G1OmTMHNN9+MWbNmRTUGQRRFMapnICIiIiIiIiJqgwUsiYiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiI6P/bsWMBAAAAgEH+1rPYVRgBsJIRAAAAwEpGAAAAACsZAQAAAKxkBAAAALCSEQAAAMBKRgAAAAArGQEAAACsZAQAAACwkhEAAADAKhkKPyWWgGyWAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": { + "image/png": { + "height": 413, + "width": 529 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "# get colors directly and pass them to geopandas\n", + "colors = get_color_array(df.DENSITY.values, scheme='quantiles', as_hex=True)\n", + "df.plot(color=colors)" + ] + }, + { + "cell_type": "markdown", + "id": "a76cea95-34e0-4f3a-a945-1b1a4477fec2", + "metadata": {}, + "source": [ + "geopandas `explore` method can also use mapclassify under the hood or take a list of colors" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "adcc5cbd-fa95-40c9-9532-7ad9a4898ce4", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.240751Z", + "iopub.status.busy": "2024-07-24T16:20:28.240669Z", + "iopub.status.idle": "2024-07-24T16:20:28.460658Z", + "shell.execute_reply": "2024-07-24T16:20:28.460266Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.240742Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
Make this Notebook Trusted to load map: File -> Trust Notebook
" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# json doesnt like numpy arrays\n", + "df.explore(color=list(colors))" + ] + }, + { + "cell_type": "markdown", + "id": "533b18dc-33aa-42d1-b160-dc693272eb0b", + "metadata": {}, + "source": [ + "For some visualization libraries, you *need* to pass the colors explicitly. Their examples usually punt on classification schemes, but rather use linear or logarithmic scalers " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "151d7f77-042f-40b2-b0d0-a1aa90268ed2", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.462894Z", + "iopub.status.busy": "2024-07-24T16:20:28.462617Z", + "iopub.status.idle": "2024-07-24T16:20:28.618908Z", + "shell.execute_reply": "2024-07-24T16:20:28.618494Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.462883Z" + } + }, + "outputs": [], + "source": [ + "from lonboard import Map, PolygonLayer" + ] + }, + { + "cell_type": "markdown", + "id": "da5f4fee-3487-4fd8-bd8a-b1cf4bf3deb4", + "metadata": {}, + "source": [ + "lonboard requires a 2-dimensional array of integers" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b52bf815-aa3d-41c6-bc1d-d9fdcb730c68", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.619644Z", + "iopub.status.busy": "2024-07-24T16:20:28.619485Z", + "iopub.status.idle": "2024-07-24T16:20:28.683058Z", + "shell.execute_reply": "2024-07-24T16:20:28.682679Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.619632Z" + } + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0c00e1efe45f4c4bb40ccc80a3d98094", + "version_major": 2, + "version_minor": 1 + }, + "text/plain": [ + "Map(layers=[PolygonLayer(get_fill_color=\n", + "[\n", + " [\n", + " 58,\n", + " …" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# get RGBA instead of hex\n", + "colors = get_color_array(df.DENSITY.values, scheme='quantiles',)\n", + "layer = PolygonLayer.from_geopandas(\n", + " df, get_fill_color=colors, \n", + ")\n", + "m = Map(layers=[layer], _height=800)\n", + "m" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "03c6550e-1797-4d05-8e3d-118400c0e033", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.683703Z", + "iopub.status.busy": "2024-07-24T16:20:28.683598Z", + "iopub.status.idle": "2024-07-24T16:20:28.691628Z", + "shell.execute_reply": "2024-07-24T16:20:28.691262Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.683692Z" + } + }, + "outputs": [], + "source": [ + "import pydeck as pdk" + ] + }, + { + "cell_type": "markdown", + "id": "c3af84ec-7f59-4ff8-a4d4-8a77eb3aa0e8", + "metadata": {}, + "source": [ + "pydeck requires a list of RGBA colors, but because JSON cant serialize uint8, it needs lists of floats" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "864258ec-4fb5-436b-9aa6-f53fd1ad8a2b", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.692208Z", + "iopub.status.busy": "2024-07-24T16:20:28.692119Z", + "iopub.status.idle": "2024-07-24T16:20:28.698937Z", + "shell.execute_reply": "2024-07-24T16:20:28.698508Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.692199Z" + } + }, + "outputs": [], + "source": [ + "colors = get_color_array(df.DENSITY.values, scheme='quantiles', as_hex=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "d13dcfd4-a3e1-4d5a-b7bd-35134fa83fab", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.699532Z", + "iopub.status.busy": "2024-07-24T16:20:28.699410Z", + "iopub.status.idle": "2024-07-24T16:20:28.704198Z", + "shell.execute_reply": "2024-07-24T16:20:28.703828Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.699522Z" + } + }, + "outputs": [], + "source": [ + "df['fill'] = pd.Series(list(colors.astype(float))).apply(list).values" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "7e2f40d5-243b-41e7-99e1-2ab1f94b23ff", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:20:28.704838Z", + "iopub.status.busy": "2024-07-24T16:20:28.704748Z", + "iopub.status.idle": "2024-07-24T16:20:28.843360Z", + "shell.execute_reply": "2024-07-24T16:20:28.842928Z", + "shell.execute_reply.started": "2024-07-24T16:20:28.704830Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "{\n", + " \"initialViewState\": {\n", + " \"bearing\": -40,\n", + " \"latitude\": 39.131503402108,\n", + " \"longitude\": -84.49709440453084,\n", + " \"maxZoom\": 16,\n", + " \"pitch\": 25,\n", + " \"zoom\": 12\n", + " },\n", + " \"layers\": [\n", + " {\n", + " \"@@type\": \"GeoJsonLayer\",\n", + " \"autoHighlight\": true,\n", + " \"data\": [\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47834300046591,\n", + " 39.12445999987407\n", + " ],\n", + " [\n", + " -84.47774300046596,\n", + " 39.12445999987407\n", + " ],\n", + " [\n", + " -84.47744300046601,\n", + " 39.1243599998741\n", + " ],\n", + " [\n", + " -84.4766430004661,\n", + " 39.1243599998741\n", + " ],\n", + " [\n", + " -84.47524300046624,\n", + " 39.12455999987408\n", + " ],\n", + " [\n", + " -84.47394300046638,\n", + " 39.12455999987409\n", + " ],\n", + " [\n", + " -84.47224300046658,\n", + " 39.12535999987403\n", + " ],\n", + " [\n", + " -84.47194300046661,\n", + " 39.12645999987392\n", + " ],\n", + " [\n", + " -84.47064200046675,\n", + " 39.12615999987395\n", + " ],\n", + " [\n", + " -84.4703420004668,\n", + " 39.12625999987395\n", + " ],\n", + " [\n", + " -84.46884200046696,\n", + " 39.12675999987392\n", + " ],\n", + " [\n", + " -84.46864200046697,\n", + " 39.1248599998741\n", + " ],\n", + " [\n", + " -84.47188800046659,\n", + " 39.1234969998742\n", + " ],\n", + " [\n", + " -84.47603700046615,\n", + " 39.12175399987434\n", + " ],\n", + " [\n", + " -84.47864300046585,\n", + " 39.120659999874455\n", + " ],\n", + " [\n", + " -84.47854300046589,\n", + " 39.12185999987432\n", + " ],\n", + " [\n", + " -84.47834300046591,\n", + " 39.12445999987407\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5082430004627,\n", + " 39.126759999873755\n", + " ],\n", + " [\n", + " -84.50554300046298,\n", + " 39.12655999987377\n", + " ],\n", + " [\n", + " -84.50564300046297,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.50604300046291,\n", + " 39.125059999873905\n", + " ],\n", + " [\n", + " -84.50674300046285,\n", + " 39.125459999873875\n", + " ],\n", + " [\n", + " -84.50824300046268,\n", + " 39.12555999987385\n", + " ],\n", + " [\n", + " -84.5082430004627,\n", + " 39.126759999873755\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50864300046265,\n", + " 39.12745999987367\n", + " ],\n", + " [\n", + " -84.50844300046269,\n", + " 39.12795999987365\n", + " ],\n", + " [\n", + " -84.50794300046275,\n", + " 39.12845999987357\n", + " ],\n", + " [\n", + " -84.50784300046276,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50714300046283,\n", + " 39.12875999987356\n", + " ],\n", + " [\n", + " -84.50624300046294,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50644300046291,\n", + " 39.12775999987366\n", + " ],\n", + " [\n", + " -84.5073430004628,\n", + " 39.127859999873635\n", + " ],\n", + " [\n", + " -84.50864300046265,\n", + " 39.12745999987367\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50564300046297,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.50554300046298,\n", + " 39.12655999987377\n", + " ],\n", + " [\n", + " -84.5045430004631,\n", + " 39.126559999873784\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.50564300046297,\n", + " 39.12495999987392\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5082430004627,\n", + " 39.126759999873755\n", + " ],\n", + " [\n", + " -84.50864300046265,\n", + " 39.12745999987367\n", + " ],\n", + " [\n", + " -84.5073430004628,\n", + " 39.127859999873635\n", + " ],\n", + " [\n", + " -84.50644300046291,\n", + " 39.12775999987366\n", + " ],\n", + " [\n", + " -84.50524300046303,\n", + " 39.12775999987366\n", + " ],\n", + " [\n", + " -84.50454300046312,\n", + " 39.12795999987365\n", + " ],\n", + " [\n", + " -84.50334300046325,\n", + " 39.12815999987364\n", + " ],\n", + " [\n", + " -84.50324300046326,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.50314300046327,\n", + " 39.12815999987364\n", + " ],\n", + " [\n", + " -84.50324300046324,\n", + " 39.12735999987369\n", + " ],\n", + " [\n", + " -84.50334300046323,\n", + " 39.12645999987379\n", + " ],\n", + " [\n", + " -84.5045430004631,\n", + " 39.126559999873784\n", + " ],\n", + " [\n", + " -84.50554300046298,\n", + " 39.12655999987377\n", + " ],\n", + " [\n", + " -84.5082430004627,\n", + " 39.126759999873755\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5085430004627,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.50774300046278,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.50784300046276,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50870500046265,\n", + " 39.12876799987356\n", + " ],\n", + " [\n", + " -84.50944300046258,\n", + " 39.128859999873555\n", + " ],\n", + " [\n", + " -84.50934300046261,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.5085430004627,\n", + " 39.13005999987343\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5085430004627,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.5084430004627,\n", + " 39.131259999873315\n", + " ],\n", + " [\n", + " -84.5076430004628,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.50774300046278,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.5085430004627,\n", + " 39.13005999987343\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50784300046276,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50774300046278,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.50704300046286,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.50714300046283,\n", + " 39.12875999987356\n", + " ],\n", + " [\n", + " -84.50784300046276,\n", + " 39.12865999987357\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50704300046286,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.50614300046294,\n", + " 39.129859999873474\n", + " ],\n", + " [\n", + " -84.50624300046294,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50714300046283,\n", + " 39.12875999987356\n", + " ],\n", + " [\n", + " -84.50704300046286,\n", + " 39.12995999987345\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50774300046278,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.5076430004628,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.50684300046287,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.50604300046297,\n", + " 39.13115999987337\n", + " ],\n", + " [\n", + " -84.50604300046297,\n", + " 39.130959999873355\n", + " ],\n", + " [\n", + " -84.50614300046294,\n", + " 39.129859999873474\n", + " ],\n", + " [\n", + " -84.50704300046286,\n", + " 39.12995999987345\n", + " ],\n", + " [\n", + " -84.50774300046278,\n", + " 39.12995999987345\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5084430004627,\n", + " 39.131259999873315\n", + " ],\n", + " [\n", + " -84.50844300046272,\n", + " 39.13255999987321\n", + " ],\n", + " [\n", + " -84.50744300046281,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.5076430004628,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.5084430004627,\n", + " 39.131259999873315\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5076430004628,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.50744300046281,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.5066430004629,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.50684300046287,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.5076430004628,\n", + " 39.13125999987332\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50734300046284,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50654300046293,\n", + " 39.13375999987311\n", + " ],\n", + " [\n", + " -84.5066430004629,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.50744300046281,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.50734300046284,\n", + " 39.133859999873096\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50614300046294,\n", + " 39.129859999873474\n", + " ],\n", + " [\n", + " -84.50604300046297,\n", + " 39.130959999873355\n", + " ],\n", + " [\n", + " -84.50514300046305,\n", + " 39.130959999873355\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13085999987339\n", + " ],\n", + " [\n", + " -84.50454300046312,\n", + " 39.12795999987365\n", + " ],\n", + " [\n", + " -84.50524300046303,\n", + " 39.12775999987366\n", + " ],\n", + " [\n", + " -84.50644300046291,\n", + " 39.12775999987366\n", + " ],\n", + " [\n", + " -84.50624300046294,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50614300046294,\n", + " 39.129859999873474\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50684300046287,\n", + " 39.13125999987332\n", + " ],\n", + " [\n", + " -84.5066430004629,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13245999987322\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13175999987331\n", + " ],\n", + " [\n", + " -84.50604300046297,\n", + " 39.13115999987337\n", + " ],\n", + " [\n", + " -84.50684300046287,\n", + " 39.13125999987332\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50654300046293,\n", + " 39.13375999987311\n", + " ],\n", + " [\n", + " -84.50574300046303,\n", + " 39.1336599998731\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13315999987314\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13245999987322\n", + " ],\n", + " [\n", + " -84.5066430004629,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.50654300046293,\n", + " 39.13375999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50604300046297,\n", + " 39.13115999987337\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13175999987331\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.131659999873285\n", + " ],\n", + " [\n", + " -84.50514300046305,\n", + " 39.130959999873355\n", + " ],\n", + " [\n", + " -84.50604300046297,\n", + " 39.130959999873355\n", + " ],\n", + " [\n", + " -84.50604300046297,\n", + " 39.13115999987337\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.505843000463,\n", + " 39.13175999987331\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13245999987322\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.13235999987324\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.131659999873285\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13175999987331\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50504300046309,\n", + " 39.131659999873285\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13155999987331\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13085999987339\n", + " ],\n", + " [\n", + " -84.50514300046305,\n", + " 39.130959999873355\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.131659999873285\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50504300046309,\n", + " 39.131659999873285\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.13235999987324\n", + " ],\n", + " [\n", + " -84.50414300046317,\n", + " 39.13225999987324\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13155999987331\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.131659999873285\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.505843000463,\n", + " 39.13245999987322\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13315999987314\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.13235999987324\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13245999987322\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5045430004631,\n", + " 39.126559999873784\n", + " ],\n", + " [\n", + " -84.50334300046323,\n", + " 39.12645999987379\n", + " ],\n", + " [\n", + " -84.5034430004632,\n", + " 39.12485999987395\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.5045430004631,\n", + " 39.126559999873784\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5034430004632,\n", + " 39.12485999987395\n", + " ],\n", + " [\n", + " -84.50334300046323,\n", + " 39.12645999987379\n", + " ],\n", + " [\n", + " -84.50254300046332,\n", + " 39.126359999873785\n", + " ],\n", + " [\n", + " -84.5025430004633,\n", + " 39.12485999987396\n", + " ],\n", + " [\n", + " -84.5034430004632,\n", + " 39.12485999987395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50334300046323,\n", + " 39.12645999987379\n", + " ],\n", + " [\n", + " -84.50324300046324,\n", + " 39.12735999987369\n", + " ],\n", + " [\n", + " -84.5018430004634,\n", + " 39.127259999873715\n", + " ],\n", + " [\n", + " -84.5017430004634,\n", + " 39.126359999873806\n", + " ],\n", + " [\n", + " -84.50254300046332,\n", + " 39.126359999873785\n", + " ],\n", + " [\n", + " -84.50334300046323,\n", + " 39.12645999987379\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5025430004633,\n", + " 39.12485999987396\n", + " ],\n", + " [\n", + " -84.50254300046332,\n", + " 39.126359999873785\n", + " ],\n", + " [\n", + " -84.5017430004634,\n", + " 39.126359999873806\n", + " ],\n", + " [\n", + " -84.50194300046337,\n", + " 39.125159999873944\n", + " ],\n", + " [\n", + " -84.50174300046339,\n", + " 39.12475999987396\n", + " ],\n", + " [\n", + " -84.5025430004633,\n", + " 39.12485999987396\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51334400046228,\n", + " 39.14605999987192\n", + " ],\n", + " [\n", + " -84.51184400046245,\n", + " 39.14585999987196\n", + " ],\n", + " [\n", + " -84.51194400046242,\n", + " 39.14475999987204\n", + " ],\n", + " [\n", + " -84.51224400046239,\n", + " 39.14475999987204\n", + " ],\n", + " [\n", + " -84.5132440004623,\n", + " 39.145059999872046\n", + " ],\n", + " [\n", + " -84.51354400046225,\n", + " 39.145259999872\n", + " ],\n", + " [\n", + " -84.51334400046228,\n", + " 39.14605999987192\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51254400046238,\n", + " 39.1475599998718\n", + " ],\n", + " [\n", + " -84.51194400046245,\n", + " 39.14875999987168\n", + " ],\n", + " [\n", + " -84.51114400046254,\n", + " 39.14955999987163\n", + " ],\n", + " [\n", + " -84.5106440004626,\n", + " 39.14925999987166\n", + " ],\n", + " [\n", + " -84.51034400046261,\n", + " 39.14905999987166\n", + " ],\n", + " [\n", + " -84.5096440004627,\n", + " 39.148759999871686\n", + " ],\n", + " [\n", + " -84.50884400046277,\n", + " 39.14805999987176\n", + " ],\n", + " [\n", + " -84.50834400046283,\n", + " 39.147259999871835\n", + " ],\n", + " [\n", + " -84.50714400046296,\n", + " 39.14655999987191\n", + " ],\n", + " [\n", + " -84.50644400046303,\n", + " 39.146459999871915\n", + " ],\n", + " [\n", + " -84.50544300046313,\n", + " 39.14645999987191\n", + " ],\n", + " [\n", + " -84.50534300046313,\n", + " 39.14555999987203\n", + " ],\n", + " [\n", + " -84.5055430004631,\n", + " 39.143859999872156\n", + " ],\n", + " [\n", + " -84.50564300046308,\n", + " 39.142959999872254\n", + " ],\n", + " [\n", + " -84.50574300046307,\n", + " 39.14205999987235\n", + " ],\n", + " [\n", + " -84.5092440004627,\n", + " 39.142259999872316\n", + " ],\n", + " [\n", + " -84.50984400046265,\n", + " 39.14275999987224\n", + " ],\n", + " [\n", + " -84.5101440004626,\n", + " 39.14305999987221\n", + " ],\n", + " [\n", + " -84.51194400046242,\n", + " 39.14475999987204\n", + " ],\n", + " [\n", + " -84.51184400046245,\n", + " 39.14585999987196\n", + " ],\n", + " [\n", + " -84.51164500046248,\n", + " 39.14754799987178\n", + " ],\n", + " [\n", + " -84.51164400046247,\n", + " 39.1475599998718\n", + " ],\n", + " [\n", + " -84.51254400046238,\n", + " 39.1475599998718\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51334400046228,\n", + " 39.14605999987192\n", + " ],\n", + " [\n", + " -84.51264400046237,\n", + " 39.14735999987182\n", + " ],\n", + " [\n", + " -84.51254400046238,\n", + " 39.1475599998718\n", + " ],\n", + " [\n", + " -84.51164400046247,\n", + " 39.1475599998718\n", + " ],\n", + " [\n", + " -84.51164500046248,\n", + " 39.14754799987178\n", + " ],\n", + " [\n", + " -84.51184400046245,\n", + " 39.14585999987196\n", + " ],\n", + " [\n", + " -84.51334400046228,\n", + " 39.14605999987192\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5106440004626,\n", + " 39.14925999987166\n", + " ],\n", + " [\n", + " -84.51114400046254,\n", + " 39.14955999987163\n", + " ],\n", + " [\n", + " -84.51058400046261,\n", + " 39.15017099987156\n", + " ],\n", + " [\n", + " -84.51004400046266,\n", + " 39.150759999871525\n", + " ],\n", + " [\n", + " -84.50924400046277,\n", + " 39.151459999871456\n", + " ],\n", + " [\n", + " -84.5088440004628,\n", + " 39.15095999987151\n", + " ],\n", + " [\n", + " -84.50924400046276,\n", + " 39.150759999871525\n", + " ],\n", + " [\n", + " -84.5096440004627,\n", + " 39.148759999871686\n", + " ],\n", + " [\n", + " -84.51034400046261,\n", + " 39.14905999987166\n", + " ],\n", + " [\n", + " -84.5106440004626,\n", + " 39.14925999987166\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52954400046043,\n", + " 39.13215999987317\n", + " ],\n", + " [\n", + " -84.52784400046063,\n", + " 39.13295999987308\n", + " ],\n", + " [\n", + " -84.52654400046077,\n", + " 39.13375999987302\n", + " ],\n", + " [\n", + " -84.52644400046078,\n", + " 39.133959999872985\n", + " ],\n", + " [\n", + " -84.5264440004608,\n", + " 39.13445999987294\n", + " ],\n", + " [\n", + " -84.524462000461,\n", + " 39.13436999987297\n", + " ],\n", + " [\n", + " -84.52424400046101,\n", + " 39.13435999987296\n", + " ],\n", + " [\n", + " -84.52284400046116,\n", + " 39.13435999987296\n", + " ],\n", + " [\n", + " -84.52294400046114,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.52301200046112,\n", + " 39.1321479998732\n", + " ],\n", + " [\n", + " -84.52304400046114,\n", + " 39.131759999873225\n", + " ],\n", + " [\n", + " -84.52194400046125,\n", + " 39.13165999987322\n", + " ],\n", + " [\n", + " -84.52234400046119,\n", + " 39.129559999873415\n", + " ],\n", + " [\n", + " -84.52374400046105,\n", + " 39.129659999873425\n", + " ],\n", + " [\n", + " -84.52444400046097,\n", + " 39.129659999873425\n", + " ],\n", + " [\n", + " -84.52534400046086,\n", + " 39.12975999987339\n", + " ],\n", + " [\n", + " -84.5259440004608,\n", + " 39.12975999987339\n", + " ],\n", + " [\n", + " -84.52674400046072,\n", + " 39.12985999987338\n", + " ],\n", + " [\n", + " -84.5269440004607,\n", + " 39.12985999987338\n", + " ],\n", + " [\n", + " -84.5279120004606,\n", + " 39.129940999873355\n", + " ],\n", + " [\n", + " -84.53054400046031,\n", + " 39.130159999873335\n", + " ],\n", + " [\n", + " -84.53034400046035,\n", + " 39.13085999987328\n", + " ],\n", + " [\n", + " -84.5279440004606,\n", + " 39.1307599998733\n", + " ],\n", + " [\n", + " -84.52774400046063,\n", + " 39.132059999873164\n", + " ],\n", + " [\n", + " -84.52794400046061,\n", + " 39.13195999987317\n", + " ],\n", + " [\n", + " -84.52954400046043,\n", + " 39.13215999987317\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49114300046453,\n", + " 39.12445999987403\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12485999987399\n", + " ],\n", + " [\n", + " -84.49054300046461,\n", + " 39.12475999987402\n", + " ],\n", + " [\n", + " -84.49094300046455,\n", + " 39.12395999987406\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12385999987407\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12445999987403\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48984300046465,\n", + " 39.12095999987435\n", + " ],\n", + " [\n", + " -84.48974300046466,\n", + " 39.121959999874264\n", + " ],\n", + " [\n", + " -84.48814300046483,\n", + " 39.121859999874275\n", + " ],\n", + " [\n", + " -84.48814300046483,\n", + " 39.1216599998743\n", + " ],\n", + " [\n", + " -84.4883430004648,\n", + " 39.119959999874474\n", + " ],\n", + " [\n", + " -84.48994300046463,\n", + " 39.11995999987445\n", + " ],\n", + " [\n", + " -84.48984300046465,\n", + " 39.12095999987435\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48964300046468,\n", + " 39.12315999987414\n", + " ],\n", + " [\n", + " -84.49134300046451,\n", + " 39.12325999987412\n", + " ],\n", + " [\n", + " -84.49094300046455,\n", + " 39.12395999987406\n", + " ],\n", + " [\n", + " -84.49054300046461,\n", + " 39.12475999987402\n", + " ],\n", + " [\n", + " -84.49044300046461,\n", + " 39.12495999987399\n", + " ],\n", + " [\n", + " -84.48914300046475,\n", + " 39.124859999874\n", + " ],\n", + " [\n", + " -84.48914300046475,\n", + " 39.123859999874085\n", + " ],\n", + " [\n", + " -84.48964300046468,\n", + " 39.12315999987414\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48974300046466,\n", + " 39.121959999874264\n", + " ],\n", + " [\n", + " -84.48964300046468,\n", + " 39.12315999987414\n", + " ],\n", + " [\n", + " -84.48914300046475,\n", + " 39.123859999874085\n", + " ],\n", + " [\n", + " -84.48914300046475,\n", + " 39.124859999874\n", + " ],\n", + " [\n", + " -84.48784300046489,\n", + " 39.124859999874026\n", + " ],\n", + " [\n", + " -84.48784300046489,\n", + " 39.12445999987403\n", + " ],\n", + " [\n", + " -84.48814300046483,\n", + " 39.121859999874275\n", + " ],\n", + " [\n", + " -84.48974300046466,\n", + " 39.121959999874264\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48804300046481,\n", + " 39.11755999987469\n", + " ],\n", + " [\n", + " -84.48794300046484,\n", + " 39.11825999987461\n", + " ],\n", + " [\n", + " -84.48784300046485,\n", + " 39.118759999874584\n", + " ],\n", + " [\n", + " -84.4883430004648,\n", + " 39.119959999874474\n", + " ],\n", + " [\n", + " -84.48694300046495,\n", + " 39.11915999987453\n", + " ],\n", + " [\n", + " -84.48744300046488,\n", + " 39.11825999987463\n", + " ],\n", + " [\n", + " -84.48804300046481,\n", + " 39.11755999987469\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4883430004648,\n", + " 39.119959999874474\n", + " ],\n", + " [\n", + " -84.48814300046483,\n", + " 39.1216599998743\n", + " ],\n", + " [\n", + " -84.48654300046502,\n", + " 39.1215599998743\n", + " ],\n", + " [\n", + " -84.486643000465,\n", + " 39.11975999987448\n", + " ],\n", + " [\n", + " -84.48694300046495,\n", + " 39.11915999987453\n", + " ],\n", + " [\n", + " -84.4883430004648,\n", + " 39.119959999874474\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48694300046495,\n", + " 39.11915999987453\n", + " ],\n", + " [\n", + " -84.486643000465,\n", + " 39.11975999987448\n", + " ],\n", + " [\n", + " -84.48564300046509,\n", + " 39.11975999987448\n", + " ],\n", + " [\n", + " -84.48544300046511,\n", + " 39.11985999987447\n", + " ],\n", + " [\n", + " -84.48514300046514,\n", + " 39.120659999874405\n", + " ],\n", + " [\n", + " -84.48474300046519,\n", + " 39.11995999987449\n", + " ],\n", + " [\n", + " -84.48474300046519,\n", + " 39.119159999874555\n", + " ],\n", + " [\n", + " -84.48534300046512,\n", + " 39.11865999987457\n", + " ],\n", + " [\n", + " -84.48555500046508,\n", + " 39.118617999874594\n", + " ],\n", + " [\n", + " -84.486343000465,\n", + " 39.118459999874595\n", + " ],\n", + " [\n", + " -84.48694300046495,\n", + " 39.11915999987453\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48654300046502,\n", + " 39.1215599998743\n", + " ],\n", + " [\n", + " -84.48644300046502,\n", + " 39.12225999987424\n", + " ],\n", + " [\n", + " -84.48614300046505,\n", + " 39.12215999987426\n", + " ],\n", + " [\n", + " -84.48514300046514,\n", + " 39.121059999874355\n", + " ],\n", + " [\n", + " -84.48514300046514,\n", + " 39.120659999874405\n", + " ],\n", + " [\n", + " -84.48544300046511,\n", + " 39.11985999987447\n", + " ],\n", + " [\n", + " -84.48564300046509,\n", + " 39.11975999987448\n", + " ],\n", + " [\n", + " -84.486643000465,\n", + " 39.11975999987448\n", + " ],\n", + " [\n", + " -84.48654300046502,\n", + " 39.1215599998743\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48814300046483,\n", + " 39.121859999874275\n", + " ],\n", + " [\n", + " -84.48784300046489,\n", + " 39.12445999987403\n", + " ],\n", + " [\n", + " -84.48614300046508,\n", + " 39.12435999987406\n", + " ],\n", + " [\n", + " -84.48644300046502,\n", + " 39.12225999987424\n", + " ],\n", + " [\n", + " -84.48654300046502,\n", + " 39.1215599998743\n", + " ],\n", + " [\n", + " -84.48814300046483,\n", + " 39.1216599998743\n", + " ],\n", + " [\n", + " -84.48814300046483,\n", + " 39.121859999874275\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48784300046489,\n", + " 39.12445999987403\n", + " ],\n", + " [\n", + " -84.48784300046489,\n", + " 39.124859999874026\n", + " ],\n", + " [\n", + " -84.4877430004649,\n", + " 39.125459999873954\n", + " ],\n", + " [\n", + " -84.48604300046509,\n", + " 39.125359999873965\n", + " ],\n", + " [\n", + " -84.48614300046508,\n", + " 39.12435999987406\n", + " ],\n", + " [\n", + " -84.48784300046489,\n", + " 39.12445999987403\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48514300046514,\n", + " 39.121059999874355\n", + " ],\n", + " [\n", + " -84.48614300046505,\n", + " 39.12215999987426\n", + " ],\n", + " [\n", + " -84.48534300046515,\n", + " 39.12215999987427\n", + " ],\n", + " [\n", + " -84.48484300046519,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48514300046514,\n", + " 39.121059999874355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48614300046505,\n", + " 39.12215999987426\n", + " ],\n", + " [\n", + " -84.48644300046502,\n", + " 39.12225999987424\n", + " ],\n", + " [\n", + " -84.48614300046508,\n", + " 39.12435999987406\n", + " ],\n", + " [\n", + " -84.48504300046518,\n", + " 39.12425999987408\n", + " ],\n", + " [\n", + " -84.48534300046515,\n", + " 39.12215999987427\n", + " ],\n", + " [\n", + " -84.48614300046505,\n", + " 39.12215999987426\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48604300046509,\n", + " 39.125359999873965\n", + " ],\n", + " [\n", + " -84.48504300046518,\n", + " 39.12525999987396\n", + " ],\n", + " [\n", + " -84.48504300046518,\n", + " 39.12425999987408\n", + " ],\n", + " [\n", + " -84.48614300046508,\n", + " 39.12435999987406\n", + " ],\n", + " [\n", + " -84.48604300046509,\n", + " 39.125359999873965\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48504300046518,\n", + " 39.12425999987408\n", + " ],\n", + " [\n", + " -84.48504300046518,\n", + " 39.12525999987396\n", + " ],\n", + " [\n", + " -84.48434300046526,\n", + " 39.125159999874\n", + " ],\n", + " [\n", + " -84.48484300046519,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48534300046515,\n", + " 39.12215999987427\n", + " ],\n", + " [\n", + " -84.48504300046518,\n", + " 39.12425999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48374300046531,\n", + " 39.12175999987431\n", + " ],\n", + " [\n", + " -84.48384300046531,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48254300046544,\n", + " 39.121959999874285\n", + " ],\n", + " [\n", + " -84.48264300046543,\n", + " 39.12145999987434\n", + " ],\n", + " [\n", + " -84.48374300046531,\n", + " 39.12175999987431\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48344300046536,\n", + " 39.123859999874114\n", + " ],\n", + " [\n", + " -84.48224300046549,\n", + " 39.123659999874135\n", + " ],\n", + " [\n", + " -84.48254300046544,\n", + " 39.121959999874285\n", + " ],\n", + " [\n", + " -84.48384300046531,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48344300046536,\n", + " 39.123859999874114\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48484300046519,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48434300046526,\n", + " 39.125159999874\n", + " ],\n", + " [\n", + " -84.48324300046541,\n", + " 39.125159999874015\n", + " ],\n", + " [\n", + " -84.48344300046536,\n", + " 39.123859999874114\n", + " ],\n", + " [\n", + " -84.48384300046531,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48484300046519,\n", + " 39.12205999987428\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48344300046536,\n", + " 39.123859999874114\n", + " ],\n", + " [\n", + " -84.48324300046541,\n", + " 39.125159999874015\n", + " ],\n", + " [\n", + " -84.48294300046541,\n", + " 39.12515999987403\n", + " ],\n", + " [\n", + " -84.48194300046555,\n", + " 39.12495999987402\n", + " ],\n", + " [\n", + " -84.48224300046549,\n", + " 39.123659999874135\n", + " ],\n", + " [\n", + " -84.48344300046536,\n", + " 39.123859999874114\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48224300046549,\n", + " 39.123659999874135\n", + " ],\n", + " [\n", + " -84.47994300046574,\n", + " 39.12345999987416\n", + " ],\n", + " [\n", + " -84.47964300046577,\n", + " 39.124659999874055\n", + " ],\n", + " [\n", + " -84.47834300046591,\n", + " 39.12445999987407\n", + " ],\n", + " [\n", + " -84.47854300046589,\n", + " 39.12185999987432\n", + " ],\n", + " [\n", + " -84.47864300046585,\n", + " 39.120659999874455\n", + " ],\n", + " [\n", + " -84.48484300046516,\n", + " 39.11735999987473\n", + " ],\n", + " [\n", + " -84.48574300046508,\n", + " 39.118159999874635\n", + " ],\n", + " [\n", + " -84.486343000465,\n", + " 39.118459999874595\n", + " ],\n", + " [\n", + " -84.48555500046508,\n", + " 39.118617999874594\n", + " ],\n", + " [\n", + " -84.48534300046512,\n", + " 39.11865999987457\n", + " ],\n", + " [\n", + " -84.48474300046519,\n", + " 39.119159999874555\n", + " ],\n", + " [\n", + " -84.48474300046519,\n", + " 39.11995999987449\n", + " ],\n", + " [\n", + " -84.48514300046514,\n", + " 39.120659999874405\n", + " ],\n", + " [\n", + " -84.48514300046514,\n", + " 39.121059999874355\n", + " ],\n", + " [\n", + " -84.48484300046519,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48384300046531,\n", + " 39.12205999987428\n", + " ],\n", + " [\n", + " -84.48374300046531,\n", + " 39.12175999987431\n", + " ],\n", + " [\n", + " -84.48264300046543,\n", + " 39.12145999987434\n", + " ],\n", + " [\n", + " -84.48254300046544,\n", + " 39.121959999874285\n", + " ],\n", + " [\n", + " -84.48224300046549,\n", + " 39.123659999874135\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48224300046549,\n", + " 39.123659999874135\n", + " ],\n", + " [\n", + " -84.48194300046555,\n", + " 39.12495999987402\n", + " ],\n", + " [\n", + " -84.48154300046558,\n", + " 39.12495999987402\n", + " ],\n", + " [\n", + " -84.4803430004657,\n", + " 39.124859999874054\n", + " ],\n", + " [\n", + " -84.47964300046577,\n", + " 39.124659999874055\n", + " ],\n", + " [\n", + " -84.47994300046574,\n", + " 39.12345999987416\n", + " ],\n", + " [\n", + " -84.48224300046549,\n", + " 39.123659999874135\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4842430004653,\n", + " 39.12765999987374\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.48264300046549,\n", + " 39.128859999873676\n", + " ],\n", + " [\n", + " -84.48264300046547,\n", + " 39.12805999987371\n", + " ],\n", + " [\n", + " -84.48284300046545,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.48434300046527,\n", + " 39.12675999987384\n", + " ],\n", + " [\n", + " -84.4842430004653,\n", + " 39.12765999987374\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4842430004653,\n", + " 39.12765999987374\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.128459999873684\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.4842430004653,\n", + " 39.12765999987374\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48414300046532,\n", + " 39.129259999873604\n", + " ],\n", + " [\n", + " -84.48404300046533,\n", + " 39.129459999873596\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.128459999873684\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.129259999873604\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48334300046541,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48304300046544,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.4825430004655,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48264300046549,\n", + " 39.128859999873676\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12855999987368\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48154300046558,\n", + " 39.12495999987402\n", + " ],\n", + " [\n", + " -84.48134300046561,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.47924300046583,\n", + " 39.12675999987387\n", + " ],\n", + " [\n", + " -84.4786430004659,\n", + " 39.12685999987386\n", + " ],\n", + " [\n", + " -84.47924300046583,\n", + " 39.126059999873924\n", + " ],\n", + " [\n", + " -84.4803430004657,\n", + " 39.124859999874054\n", + " ],\n", + " [\n", + " -84.48154300046558,\n", + " 39.12495999987402\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48284300046545,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.48264300046547,\n", + " 39.12805999987371\n", + " ],\n", + " [\n", + " -84.47804300046597,\n", + " 39.12745999987382\n", + " ],\n", + " [\n", + " -84.47824300046594,\n", + " 39.12725999987383\n", + " ],\n", + " [\n", + " -84.4786430004659,\n", + " 39.12685999987386\n", + " ],\n", + " [\n", + " -84.47924300046583,\n", + " 39.12675999987387\n", + " ],\n", + " [\n", + " -84.48134300046561,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.48234300046549,\n", + " 39.126959999873854\n", + " ],\n", + " [\n", + " -84.48284300046545,\n", + " 39.12685999987385\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48394300046536,\n", + " 39.13065999987348\n", + " ],\n", + " [\n", + " -84.48294300046545,\n", + " 39.13055999987351\n", + " ],\n", + " [\n", + " -84.48304300046544,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48334300046541,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48404300046533,\n", + " 39.129459999873596\n", + " ],\n", + " [\n", + " -84.48394300046536,\n", + " 39.13065999987348\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48394300046536,\n", + " 39.13065999987348\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131359999873425\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131619999873394\n", + " ],\n", + " [\n", + " -84.48390600046537,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48375200046537,\n", + " 39.13178999987337\n", + " ],\n", + " [\n", + " -84.48288500046546,\n", + " 39.13137799987341\n", + " ],\n", + " [\n", + " -84.48274500046548,\n", + " 39.13130799987342\n", + " ],\n", + " [\n", + " -84.48237000046552,\n", + " 39.131118999873436\n", + " ],\n", + " [\n", + " -84.48216300046555,\n", + " 39.130962999873454\n", + " ],\n", + " [\n", + " -84.48184300046557,\n", + " 39.13065999987349\n", + " ],\n", + " [\n", + " -84.48214300046554,\n", + " 39.13065999987349\n", + " ],\n", + " [\n", + " -84.48294300046545,\n", + " 39.13055999987351\n", + " ],\n", + " [\n", + " -84.48394300046536,\n", + " 39.13065999987348\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48264300046549,\n", + " 39.128859999873676\n", + " ],\n", + " [\n", + " -84.4825430004655,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48204300046554,\n", + " 39.129259999873646\n", + " ],\n", + " [\n", + " -84.48174300046557,\n", + " 39.129159999873636\n", + " ],\n", + " [\n", + " -84.48264300046549,\n", + " 39.128859999873676\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48184300046557,\n", + " 39.13065999987349\n", + " ],\n", + " [\n", + " -84.48216300046555,\n", + " 39.130962999873454\n", + " ],\n", + " [\n", + " -84.48237000046552,\n", + " 39.131118999873436\n", + " ],\n", + " [\n", + " -84.48274500046548,\n", + " 39.13130799987342\n", + " ],\n", + " [\n", + " -84.48288500046546,\n", + " 39.13137799987341\n", + " ],\n", + " [\n", + " -84.48375200046537,\n", + " 39.13178999987337\n", + " ],\n", + " [\n", + " -84.48324300046544,\n", + " 39.13195999987335\n", + " ],\n", + " [\n", + " -84.4816430004656,\n", + " 39.13185999987338\n", + " ],\n", + " [\n", + " -84.48174300046558,\n", + " 39.13125999987342\n", + " ],\n", + " [\n", + " -84.48181600046559,\n", + " 39.13082199987347\n", + " ],\n", + " [\n", + " -84.48174000046559,\n", + " 39.130719999873506\n", + " ],\n", + " [\n", + " -84.4816930004656,\n", + " 39.13064399987349\n", + " ],\n", + " [\n", + " -84.48184300046557,\n", + " 39.13065999987349\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48304300046544,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48294300046545,\n", + " 39.13055999987351\n", + " ],\n", + " [\n", + " -84.48214300046554,\n", + " 39.13065999987349\n", + " ],\n", + " [\n", + " -84.48184300046557,\n", + " 39.13065999987349\n", + " ],\n", + " [\n", + " -84.48094600046568,\n", + " 39.13011399987356\n", + " ],\n", + " [\n", + " -84.4806780004657,\n", + " 39.12995299987357\n", + " ],\n", + " [\n", + " -84.48047200046572,\n", + " 39.129839999873575\n", + " ],\n", + " [\n", + " -84.48026600046575,\n", + " 39.129760999873604\n", + " ],\n", + " [\n", + " -84.48001800046576,\n", + " 39.12971699987361\n", + " ],\n", + " [\n", + " -84.4797430004658,\n", + " 39.129659999873596\n", + " ],\n", + " [\n", + " -84.4806430004657,\n", + " 39.129559999873585\n", + " ],\n", + " [\n", + " -84.48174300046557,\n", + " 39.129159999873636\n", + " ],\n", + " [\n", + " -84.48204300046554,\n", + " 39.129259999873646\n", + " ],\n", + " [\n", + " -84.4825430004655,\n", + " 39.12935999987361\n", + " ],\n", + " [\n", + " -84.48304300046544,\n", + " 39.12935999987361\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48184300046557,\n", + " 39.13065999987349\n", + " ],\n", + " [\n", + " -84.4816930004656,\n", + " 39.13064399987349\n", + " ],\n", + " [\n", + " -84.48174000046559,\n", + " 39.130719999873506\n", + " ],\n", + " [\n", + " -84.48181600046559,\n", + " 39.13082199987347\n", + " ],\n", + " [\n", + " -84.48174300046558,\n", + " 39.13125999987342\n", + " ],\n", + " [\n", + " -84.4816430004656,\n", + " 39.13185999987338\n", + " ],\n", + " [\n", + " -84.4788430004659,\n", + " 39.13155999987342\n", + " ],\n", + " [\n", + " -84.47904300046586,\n", + " 39.130359999873534\n", + " ],\n", + " [\n", + " -84.4797430004658,\n", + " 39.129659999873596\n", + " ],\n", + " [\n", + " -84.48001800046576,\n", + " 39.12971699987361\n", + " ],\n", + " [\n", + " -84.48026600046575,\n", + " 39.129760999873604\n", + " ],\n", + " [\n", + " -84.48047200046572,\n", + " 39.129839999873575\n", + " ],\n", + " [\n", + " -84.4806780004657,\n", + " 39.12995299987357\n", + " ],\n", + " [\n", + " -84.48094600046568,\n", + " 39.13011399987356\n", + " ],\n", + " [\n", + " -84.48184300046557,\n", + " 39.13065999987349\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47964300046577,\n", + " 39.124659999874055\n", + " ],\n", + " [\n", + " -84.4803430004657,\n", + " 39.124859999874054\n", + " ],\n", + " [\n", + " -84.47924300046583,\n", + " 39.126059999873924\n", + " ],\n", + " [\n", + " -84.477543000466,\n", + " 39.12595999987395\n", + " ],\n", + " [\n", + " -84.47774300046596,\n", + " 39.12445999987407\n", + " ],\n", + " [\n", + " -84.47834300046591,\n", + " 39.12445999987407\n", + " ],\n", + " [\n", + " -84.47964300046577,\n", + " 39.124659999874055\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47924300046583,\n", + " 39.126059999873924\n", + " ],\n", + " [\n", + " -84.4786430004659,\n", + " 39.12685999987386\n", + " ],\n", + " [\n", + " -84.47754300046601,\n", + " 39.12685999987387\n", + " ],\n", + " [\n", + " -84.477543000466,\n", + " 39.12595999987395\n", + " ],\n", + " [\n", + " -84.47924300046583,\n", + " 39.126059999873924\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48264300046547,\n", + " 39.12805999987371\n", + " ],\n", + " [\n", + " -84.48264300046549,\n", + " 39.128859999873676\n", + " ],\n", + " [\n", + " -84.48174300046557,\n", + " 39.129159999873636\n", + " ],\n", + " [\n", + " -84.47704300046608,\n", + " 39.12865999987371\n", + " ],\n", + " [\n", + " -84.47744300046602,\n", + " 39.12815999987375\n", + " ],\n", + " [\n", + " -84.47804300046597,\n", + " 39.12745999987382\n", + " ],\n", + " [\n", + " -84.48264300046547,\n", + " 39.12805999987371\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.477543000466,\n", + " 39.12595999987395\n", + " ],\n", + " [\n", + " -84.47754300046601,\n", + " 39.12685999987387\n", + " ],\n", + " [\n", + " -84.47644300046613,\n", + " 39.12675999987388\n", + " ],\n", + " [\n", + " -84.4766430004661,\n", + " 39.1243599998741\n", + " ],\n", + " [\n", + " -84.47744300046601,\n", + " 39.1243599998741\n", + " ],\n", + " [\n", + " -84.47774300046596,\n", + " 39.12445999987407\n", + " ],\n", + " [\n", + " -84.477543000466,\n", + " 39.12595999987395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4786430004659,\n", + " 39.12685999987386\n", + " ],\n", + " [\n", + " -84.47824300046594,\n", + " 39.12725999987383\n", + " ],\n", + " [\n", + " -84.47804300046597,\n", + " 39.12745999987382\n", + " ],\n", + " [\n", + " -84.47744300046602,\n", + " 39.12815999987375\n", + " ],\n", + " [\n", + " -84.47614300046617,\n", + " 39.12805999987374\n", + " ],\n", + " [\n", + " -84.47644300046613,\n", + " 39.12675999987388\n", + " ],\n", + " [\n", + " -84.47754300046601,\n", + " 39.12685999987387\n", + " ],\n", + " [\n", + " -84.4786430004659,\n", + " 39.12685999987386\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47674300046613,\n", + " 39.12935999987364\n", + " ],\n", + " [\n", + " -84.47644300046615,\n", + " 39.12925999987366\n", + " ],\n", + " [\n", + " -84.47564300046623,\n", + " 39.12945999987363\n", + " ],\n", + " [\n", + " -84.47614300046617,\n", + " 39.12805999987374\n", + " ],\n", + " [\n", + " -84.47744300046602,\n", + " 39.12815999987375\n", + " ],\n", + " [\n", + " -84.47704300046608,\n", + " 39.12865999987371\n", + " ],\n", + " [\n", + " -84.47674300046613,\n", + " 39.12895999987367\n", + " ],\n", + " [\n", + " -84.47674300046613,\n", + " 39.12935999987364\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48174300046557,\n", + " 39.129159999873636\n", + " ],\n", + " [\n", + " -84.4806430004657,\n", + " 39.129559999873585\n", + " ],\n", + " [\n", + " -84.4797430004658,\n", + " 39.129659999873596\n", + " ],\n", + " [\n", + " -84.47864300046592,\n", + " 39.12955999987361\n", + " ],\n", + " [\n", + " -84.47674300046613,\n", + " 39.12935999987364\n", + " ],\n", + " [\n", + " -84.47674300046613,\n", + " 39.12895999987367\n", + " ],\n", + " [\n", + " -84.47704300046608,\n", + " 39.12865999987371\n", + " ],\n", + " [\n", + " -84.48174300046557,\n", + " 39.129159999873636\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4797430004658,\n", + " 39.129659999873596\n", + " ],\n", + " [\n", + " -84.47904300046586,\n", + " 39.130359999873534\n", + " ],\n", + " [\n", + " -84.47664300046614,\n", + " 39.13005999987358\n", + " ],\n", + " [\n", + " -84.47674300046613,\n", + " 39.12935999987364\n", + " ],\n", + " [\n", + " -84.47864300046592,\n", + " 39.12955999987361\n", + " ],\n", + " [\n", + " -84.4797430004658,\n", + " 39.129659999873596\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47904300046586,\n", + " 39.130359999873534\n", + " ],\n", + " [\n", + " -84.4788430004659,\n", + " 39.13155999987342\n", + " ],\n", + " [\n", + " -84.47654300046615,\n", + " 39.13135999987346\n", + " ],\n", + " [\n", + " -84.47664300046614,\n", + " 39.13005999987358\n", + " ],\n", + " [\n", + " -84.47904300046586,\n", + " 39.130359999873534\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48384300046537,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48383200046537,\n", + " 39.13184799987338\n", + " ],\n", + " [\n", + " -84.48374300046537,\n", + " 39.13255999987331\n", + " ],\n", + " [\n", + " -84.48480700046527,\n", + " 39.132559999873294\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.13276599987328\n", + " ],\n", + " [\n", + " -84.48504300046524,\n", + " 39.13335999987322\n", + " ],\n", + " [\n", + " -84.48596700046515,\n", + " 39.133397999873225\n", + " ],\n", + " [\n", + " -84.48613700046513,\n", + " 39.133514999873206\n", + " ],\n", + " [\n", + " -84.487443000465,\n", + " 39.133659999873196\n", + " ],\n", + " [\n", + " -84.48724300046503,\n", + " 39.133859999873174\n", + " ],\n", + " [\n", + " -84.48714300046504,\n", + " 39.13415999987315\n", + " ],\n", + " [\n", + " -84.48614300046513,\n", + " 39.13435999987314\n", + " ],\n", + " [\n", + " -84.4839430004654,\n", + " 39.136059999873005\n", + " ],\n", + " [\n", + " -84.48354300046543,\n", + " 39.13635999987295\n", + " ],\n", + " [\n", + " -84.4829430004655,\n", + " 39.137059999872875\n", + " ],\n", + " [\n", + " -84.4821430004656,\n", + " 39.137559999872835\n", + " ],\n", + " [\n", + " -84.48183300046561,\n", + " 39.137636999872846\n", + " ],\n", + " [\n", + " -84.47984300046583,\n", + " 39.13475999987314\n", + " ],\n", + " [\n", + " -84.47864300046594,\n", + " 39.134059999873195\n", + " ],\n", + " [\n", + " -84.47854300046596,\n", + " 39.13375999987322\n", + " ],\n", + " [\n", + " -84.47864300046594,\n", + " 39.13285999987331\n", + " ],\n", + " [\n", + " -84.4788430004659,\n", + " 39.13155999987342\n", + " ],\n", + " [\n", + " -84.4816430004656,\n", + " 39.13185999987338\n", + " ],\n", + " [\n", + " -84.48324300046544,\n", + " 39.13195999987335\n", + " ],\n", + " [\n", + " -84.48375200046537,\n", + " 39.13178999987337\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131759999873395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48614300046516,\n", + " 39.13805999987279\n", + " ],\n", + " [\n", + " -84.48644300046513,\n", + " 39.13845999987274\n", + " ],\n", + " [\n", + " -84.48554300046524,\n", + " 39.139159999872675\n", + " ],\n", + " [\n", + " -84.48454300046537,\n", + " 39.14025999987261\n", + " ],\n", + " [\n", + " -84.48433500046538,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48364300046546,\n", + " 39.14155999987249\n", + " ],\n", + " [\n", + " -84.48294300046551,\n", + " 39.139859999872655\n", + " ],\n", + " [\n", + " -84.48214300046561,\n", + " 39.13905999987272\n", + " ],\n", + " [\n", + " -84.48183300046561,\n", + " 39.137636999872846\n", + " ],\n", + " [\n", + " -84.4821430004656,\n", + " 39.137559999872835\n", + " ],\n", + " [\n", + " -84.4829430004655,\n", + " 39.137059999872875\n", + " ],\n", + " [\n", + " -84.48354300046543,\n", + " 39.13635999987295\n", + " ],\n", + " [\n", + " -84.4839430004654,\n", + " 39.136059999873005\n", + " ],\n", + " [\n", + " -84.48534300046525,\n", + " 39.13715999987289\n", + " ],\n", + " [\n", + " -84.48614300046516,\n", + " 39.13805999987279\n", + " ]\n", + " ],\n", + " [\n", + " [\n", + " -84.48604300046517,\n", + " 39.13825999987277\n", + " ],\n", + " [\n", + " -84.48584300046521,\n", + " 39.13805999987279\n", + " ],\n", + " [\n", + " -84.4849430004653,\n", + " 39.13725999987287\n", + " ],\n", + " [\n", + " -84.48384300046541,\n", + " 39.137559999872835\n", + " ],\n", + " [\n", + " -84.48404300046539,\n", + " 39.138159999872784\n", + " ],\n", + " [\n", + " -84.48424300046537,\n", + " 39.138959999872704\n", + " ],\n", + " [\n", + " -84.48504300046528,\n", + " 39.13885999987272\n", + " ],\n", + " [\n", + " -84.48604300046517,\n", + " 39.13825999987277\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50384300046323,\n", + " 39.13536199987297\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.135759999872924\n", + " ],\n", + " [\n", + " -84.50374300046326,\n", + " 39.13655999987285\n", + " ],\n", + " [\n", + " -84.50234300046341,\n", + " 39.136459999872876\n", + " ],\n", + " [\n", + " -84.5024430004634,\n", + " 39.135759999872924\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13528099987297\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13536199987297\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50254300046338,\n", + " 39.13425999987308\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13495999987302\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.134859999873\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.50264300046334,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.50264300046335,\n", + " 39.13345999987315\n", + " ],\n", + " [\n", + " -84.50254300046338,\n", + " 39.13425999987308\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50244300046339,\n", + " 39.13528099987297\n", + " ],\n", + " [\n", + " -84.5024430004634,\n", + " 39.135759999872924\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.135659999872956\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.13519099987299\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.134859999873\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13495999987302\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13528099987297\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50234300046341,\n", + " 39.136459999872876\n", + " ],\n", + " [\n", + " -84.50084300046358,\n", + " 39.13635999987288\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.135659999872956\n", + " ],\n", + " [\n", + " -84.5024430004634,\n", + " 39.135759999872924\n", + " ],\n", + " [\n", + " -84.50234300046341,\n", + " 39.136459999872876\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50544300046307,\n", + " 39.13665999987285\n", + " ],\n", + " [\n", + " -84.50537800046308,\n", + " 39.137129999872776\n", + " ],\n", + " [\n", + " -84.50504300046315,\n", + " 39.13955999987258\n", + " ],\n", + " [\n", + " -84.50214300046343,\n", + " 39.13935999987259\n", + " ],\n", + " [\n", + " -84.5015430004635,\n", + " 39.13845999987268\n", + " ],\n", + " [\n", + " -84.5006430004636,\n", + " 39.138359999872684\n", + " ],\n", + " [\n", + " -84.50084300046358,\n", + " 39.13635999987288\n", + " ],\n", + " [\n", + " -84.50234300046341,\n", + " 39.136459999872876\n", + " ],\n", + " [\n", + " -84.50374300046326,\n", + " 39.13655999987285\n", + " ],\n", + " [\n", + " -84.50544300046307,\n", + " 39.13665999987285\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4999430004636,\n", + " 39.12625999987383\n", + " ],\n", + " [\n", + " -84.49904300046369,\n", + " 39.12615999987382\n", + " ],\n", + " [\n", + " -84.49914300046366,\n", + " 39.125359999873915\n", + " ],\n", + " [\n", + " -84.49914300046366,\n", + " 39.12455999987399\n", + " ],\n", + " [\n", + " -84.50014300046355,\n", + " 39.12465999987397\n", + " ],\n", + " [\n", + " -84.4999430004636,\n", + " 39.12625999987383\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5017430004634,\n", + " 39.126359999873806\n", + " ],\n", + " [\n", + " -84.50094300046348,\n", + " 39.127259999873715\n", + " ],\n", + " [\n", + " -84.49984300046361,\n", + " 39.127759999873675\n", + " ],\n", + " [\n", + " -84.4981430004638,\n", + " 39.12745999987373\n", + " ],\n", + " [\n", + " -84.4980430004638,\n", + " 39.127159999873754\n", + " ],\n", + " [\n", + " -84.49824300046377,\n", + " 39.12605999987384\n", + " ],\n", + " [\n", + " -84.49904300046369,\n", + " 39.12615999987382\n", + " ],\n", + " [\n", + " -84.4999430004636,\n", + " 39.12625999987383\n", + " ],\n", + " [\n", + " -84.5017430004634,\n", + " 39.126359999873806\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49914300046366,\n", + " 39.125359999873915\n", + " ],\n", + " [\n", + " -84.49904300046369,\n", + " 39.12615999987382\n", + " ],\n", + " [\n", + " -84.49824300046377,\n", + " 39.12605999987384\n", + " ],\n", + " [\n", + " -84.49784300046382,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49784300046382,\n", + " 39.125259999873926\n", + " ],\n", + " [\n", + " -84.49914300046366,\n", + " 39.125359999873915\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49984300046361,\n", + " 39.127759999873675\n", + " ],\n", + " [\n", + " -84.49914300046369,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.49804300046381,\n", + " 39.1279599998737\n", + " ],\n", + " [\n", + " -84.4981430004638,\n", + " 39.12745999987373\n", + " ],\n", + " [\n", + " -84.49984300046361,\n", + " 39.127759999873675\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49804300046381,\n", + " 39.1279599998737\n", + " ],\n", + " [\n", + " -84.49914300046369,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.49864300046376,\n", + " 39.1286599998736\n", + " ],\n", + " [\n", + " -84.49794300046382,\n", + " 39.12855999987362\n", + " ],\n", + " [\n", + " -84.49804300046381,\n", + " 39.1279599998737\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4980430004638,\n", + " 39.127159999873754\n", + " ],\n", + " [\n", + " -84.49704300046392,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49664300046395,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49724300046388,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49784300046382,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49824300046377,\n", + " 39.12605999987384\n", + " ],\n", + " [\n", + " -84.4980430004638,\n", + " 39.127159999873754\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49724300046388,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49664300046395,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49634300046398,\n", + " 39.127059999873794\n", + " ],\n", + " [\n", + " -84.49604300046401,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49674300046394,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49724300046388,\n", + " 39.126059999873846\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4981430004638,\n", + " 39.12745999987373\n", + " ],\n", + " [\n", + " -84.49804300046381,\n", + " 39.1279599998737\n", + " ],\n", + " [\n", + " -84.49774300046384,\n", + " 39.12785999987369\n", + " ],\n", + " [\n", + " -84.49634300046398,\n", + " 39.12755999987371\n", + " ],\n", + " [\n", + " -84.49664300046395,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49704300046392,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.4980430004638,\n", + " 39.127159999873754\n", + " ],\n", + " [\n", + " -84.4981430004638,\n", + " 39.12745999987373\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49804300046382,\n", + " 39.130059999873474\n", + " ],\n", + " [\n", + " -84.496243000464,\n", + " 39.129459999873546\n", + " ],\n", + " [\n", + " -84.49564300046407,\n", + " 39.129359999873536\n", + " ],\n", + " [\n", + " -84.4953430004641,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49634300046398,\n", + " 39.12755999987371\n", + " ],\n", + " [\n", + " -84.49774300046384,\n", + " 39.12785999987369\n", + " ],\n", + " [\n", + " -84.49804300046381,\n", + " 39.1279599998737\n", + " ],\n", + " [\n", + " -84.49794300046382,\n", + " 39.12855999987362\n", + " ],\n", + " [\n", + " -84.49864300046376,\n", + " 39.1286599998736\n", + " ],\n", + " [\n", + " -84.49854300046377,\n", + " 39.12885999987358\n", + " ],\n", + " [\n", + " -84.49804300046382,\n", + " 39.130059999873474\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50144300046345,\n", + " 39.13065999987342\n", + " ],\n", + " [\n", + " -84.49994300046363,\n", + " 39.130459999873445\n", + " ],\n", + " [\n", + " -84.49804300046382,\n", + " 39.130059999873474\n", + " ],\n", + " [\n", + " -84.49854300046377,\n", + " 39.12885999987358\n", + " ],\n", + " [\n", + " -84.49864300046376,\n", + " 39.1286599998736\n", + " ],\n", + " [\n", + " -84.49914300046369,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12865999987358\n", + " ],\n", + " [\n", + " -84.50154300046344,\n", + " 39.12945999987352\n", + " ],\n", + " [\n", + " -84.50144300046345,\n", + " 39.13065999987342\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49994300046363,\n", + " 39.130459999873445\n", + " ],\n", + " [\n", + " -84.49974300046365,\n", + " 39.13155999987333\n", + " ],\n", + " [\n", + " -84.49864300046377,\n", + " 39.13145999987336\n", + " ],\n", + " [\n", + " -84.49764300046387,\n", + " 39.131359999873354\n", + " ],\n", + " [\n", + " -84.49774300046387,\n", + " 39.130959999873404\n", + " ],\n", + " [\n", + " -84.49804300046382,\n", + " 39.130059999873474\n", + " ],\n", + " [\n", + " -84.49994300046363,\n", + " 39.130459999873445\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49974300046365,\n", + " 39.13155999987333\n", + " ],\n", + " [\n", + " -84.49964300046366,\n", + " 39.13265999987324\n", + " ],\n", + " [\n", + " -84.49794300046385,\n", + " 39.13265999987325\n", + " ],\n", + " [\n", + " -84.49764300046388,\n", + " 39.13265999987326\n", + " ],\n", + " [\n", + " -84.49704300046395,\n", + " 39.13265999987325\n", + " ],\n", + " [\n", + " -84.49764300046387,\n", + " 39.131359999873354\n", + " ],\n", + " [\n", + " -84.49864300046377,\n", + " 39.13145999987336\n", + " ],\n", + " [\n", + " -84.49974300046365,\n", + " 39.13155999987333\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49804300046382,\n", + " 39.130059999873474\n", + " ],\n", + " [\n", + " -84.49774300046387,\n", + " 39.130959999873404\n", + " ],\n", + " [\n", + " -84.49764300046387,\n", + " 39.131359999873354\n", + " ],\n", + " [\n", + " -84.49704300046395,\n", + " 39.13265999987325\n", + " ],\n", + " [\n", + " -84.49624300046402,\n", + " 39.13255999987324\n", + " ],\n", + " [\n", + " -84.49574300046409,\n", + " 39.13255999987324\n", + " ],\n", + " [\n", + " -84.49604300046406,\n", + " 39.13185999987332\n", + " ],\n", + " [\n", + " -84.49614300046402,\n", + " 39.13055999987345\n", + " ],\n", + " [\n", + " -84.496243000464,\n", + " 39.129459999873546\n", + " ],\n", + " [\n", + " -84.49804300046382,\n", + " 39.130059999873474\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49674300046394,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49644300046397,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49680000046392,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49674300046394,\n", + " 39.125959999873864\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49595400046402,\n", + " 39.12521199987394\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125459999873925\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49534300046408,\n", + " 39.12515999987395\n", + " ],\n", + " [\n", + " -84.49595400046402,\n", + " 39.12521199987394\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49594300046402,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49564300046406,\n", + " 39.12595999987388\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125459999873925\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125559999873886\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49674300046394,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49604300046401,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49554300046407,\n", + " 39.127059999873794\n", + " ],\n", + " [\n", + " -84.49564300046406,\n", + " 39.12595999987388\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49674300046394,\n", + " 39.125959999873864\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49504300046412,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125459999873925\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12535999987392\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49454300046416,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.12515999987397\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49504300046412,\n", + " 39.125459999873925\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49394300046424,\n", + " 39.12585999987388\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12535999987392\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125459999873925\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49554300046407,\n", + " 39.127059999873794\n", + " ],\n", + " [\n", + " -84.49484300046414,\n", + " 39.1269599998738\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49564300046406,\n", + " 39.12595999987388\n", + " ],\n", + " [\n", + " -84.49554300046407,\n", + " 39.127059999873794\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49484300046414,\n", + " 39.1269599998738\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.49424300046421,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.4943430004642,\n", + " 39.12635999987383\n", + " ],\n", + " [\n", + " -84.49354300046429,\n", + " 39.12635999987383\n", + " ],\n", + " [\n", + " -84.49364300046426,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.49394300046424,\n", + " 39.12585999987388\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49484300046414,\n", + " 39.1269599998738\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49664300046395,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49634300046398,\n", + " 39.12755999987371\n", + " ],\n", + " [\n", + " -84.49584300046403,\n", + " 39.127559999873725\n", + " ],\n", + " [\n", + " -84.49604300046401,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49634300046398,\n", + " 39.127059999873794\n", + " ],\n", + " [\n", + " -84.49664300046395,\n", + " 39.12705999987378\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49604300046401,\n", + " 39.12705999987378\n", + " ],\n", + " [\n", + " -84.49584300046403,\n", + " 39.127559999873725\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.49484300046414,\n", + " 39.1269599998738\n", + " ],\n", + " [\n", + " -84.49554300046407,\n", + " 39.127059999873794\n", + " ],\n", + " [\n", + " -84.49604300046401,\n", + " 39.12705999987378\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49584300046403,\n", + " 39.127559999873725\n", + " ],\n", + " [\n", + " -84.49634300046398,\n", + " 39.12755999987371\n", + " ],\n", + " [\n", + " -84.4953430004641,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49524300046413,\n", + " 39.12895999987361\n", + " ],\n", + " [\n", + " -84.49562900046406,\n", + " 39.12805999987366\n", + " ],\n", + " [\n", + " -84.49584300046403,\n", + " 39.127559999873725\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49484300046416,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.49584300046403,\n", + " 39.127559999873725\n", + " ],\n", + " [\n", + " -84.49562900046406,\n", + " 39.12805999987366\n", + " ],\n", + " [\n", + " -84.4953430004641,\n", + " 39.12805999987368\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12805999987366\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12745999987374\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12805999987366\n", + " ],\n", + " [\n", + " -84.4953430004641,\n", + " 39.12805999987368\n", + " ],\n", + " [\n", + " -84.49562900046406,\n", + " 39.12805999987366\n", + " ],\n", + " [\n", + " -84.49524300046413,\n", + " 39.12895999987361\n", + " ],\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49404300046422,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12535999987392\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.125359999873936\n", + " ],\n", + " [\n", + " -84.49314300046431,\n", + " 39.12505999987396\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12515999987397\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49094300046467,\n", + " 39.140859999872504\n", + " ],\n", + " [\n", + " -84.49294300046445,\n", + " 39.140959999872514\n", + " ],\n", + " [\n", + " -84.49244300046452,\n", + " 39.141659999872424\n", + " ],\n", + " [\n", + " -84.49224300046454,\n", + " 39.14215999987238\n", + " ],\n", + " [\n", + " -84.48964300046482,\n", + " 39.142059999872394\n", + " ],\n", + " [\n", + " -84.48974300046478,\n", + " 39.140859999872504\n", + " ],\n", + " [\n", + " -84.49094300046467,\n", + " 39.140859999872504\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4915430004646,\n", + " 39.143159999872296\n", + " ],\n", + " [\n", + " -84.49104300046467,\n", + " 39.14415999987221\n", + " ],\n", + " [\n", + " -84.48564300046525,\n", + " 39.14365999987227\n", + " ],\n", + " [\n", + " -84.48594300046523,\n", + " 39.14315999987232\n", + " ],\n", + " [\n", + " -84.48704300046509,\n", + " 39.14275999987236\n", + " ],\n", + " [\n", + " -84.488043000465,\n", + " 39.142859999872336\n", + " ],\n", + " [\n", + " -84.48864300046493,\n", + " 39.14295999987232\n", + " ],\n", + " [\n", + " -84.4915430004646,\n", + " 39.143159999872296\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49224300046455,\n", + " 39.14545999987209\n", + " ],\n", + " [\n", + " -84.49213100046458,\n", + " 39.14691599987195\n", + " ],\n", + " [\n", + " -84.4920430004646,\n", + " 39.14805999987183\n", + " ],\n", + " [\n", + " -84.49040800046478,\n", + " 39.14773299987189\n", + " ],\n", + " [\n", + " -84.48904300046492,\n", + " 39.14745999987187\n", + " ],\n", + " [\n", + " -84.48944300046487,\n", + " 39.146759999871975\n", + " ],\n", + " [\n", + " -84.4899430004648,\n", + " 39.14605999987202\n", + " ],\n", + " [\n", + " -84.4900430004648,\n", + " 39.14585999987206\n", + " ],\n", + " [\n", + " -84.49034300046476,\n", + " 39.145359999872106\n", + " ],\n", + " [\n", + " -84.49224300046455,\n", + " 39.14545999987209\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49224300046454,\n", + " 39.14215999987238\n", + " ],\n", + " [\n", + " -84.49194300046456,\n", + " 39.14255999987233\n", + " ],\n", + " [\n", + " -84.4915430004646,\n", + " 39.143159999872296\n", + " ],\n", + " [\n", + " -84.48864300046493,\n", + " 39.14295999987232\n", + " ],\n", + " [\n", + " -84.488043000465,\n", + " 39.142859999872336\n", + " ],\n", + " [\n", + " -84.48704300046509,\n", + " 39.14275999987236\n", + " ],\n", + " [\n", + " -84.48594300046523,\n", + " 39.14315999987232\n", + " ],\n", + " [\n", + " -84.48564300046525,\n", + " 39.14365999987227\n", + " ],\n", + " [\n", + " -84.48464300046537,\n", + " 39.143559999872295\n", + " ],\n", + " [\n", + " -84.48404300046543,\n", + " 39.143559999872295\n", + " ],\n", + " [\n", + " -84.48387800046544,\n", + " 39.142776999872375\n", + " ],\n", + " [\n", + " -84.48374300046545,\n", + " 39.142159999872405\n", + " ],\n", + " [\n", + " -84.48380000046545,\n", + " 39.14209499987244\n", + " ],\n", + " [\n", + " -84.48474300046534,\n", + " 39.14195999987244\n", + " ],\n", + " [\n", + " -84.48544300046525,\n", + " 39.14185999987246\n", + " ],\n", + " [\n", + " -84.48654300046516,\n", + " 39.141859999872445\n", + " ],\n", + " [\n", + " -84.48964300046482,\n", + " 39.142059999872394\n", + " ],\n", + " [\n", + " -84.49224300046454,\n", + " 39.14215999987238\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49034300046476,\n", + " 39.145359999872106\n", + " ],\n", + " [\n", + " -84.4900430004648,\n", + " 39.14585999987206\n", + " ],\n", + " [\n", + " -84.48616500046522,\n", + " 39.14572599987209\n", + " ],\n", + " [\n", + " -84.48424300046541,\n", + " 39.14565999987211\n", + " ],\n", + " [\n", + " -84.48424300046541,\n", + " 39.144759999872164\n", + " ],\n", + " [\n", + " -84.49054300046475,\n", + " 39.14495999987214\n", + " ],\n", + " [\n", + " -84.49034300046476,\n", + " 39.145359999872106\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48564300046525,\n", + " 39.14365999987227\n", + " ],\n", + " [\n", + " -84.49104300046467,\n", + " 39.14415999987221\n", + " ],\n", + " [\n", + " -84.49054300046475,\n", + " 39.14495999987214\n", + " ],\n", + " [\n", + " -84.48424300046541,\n", + " 39.144759999872164\n", + " ],\n", + " [\n", + " -84.48424300046541,\n", + " 39.14565999987211\n", + " ],\n", + " [\n", + " -84.48294300046555,\n", + " 39.1456599998721\n", + " ],\n", + " [\n", + " -84.48234300046563,\n", + " 39.14585999987211\n", + " ],\n", + " [\n", + " -84.48124300046575,\n", + " 39.146259999872036\n", + " ],\n", + " [\n", + " -84.48214300046564,\n", + " 39.1456599998721\n", + " ],\n", + " [\n", + " -84.48394300046544,\n", + " 39.14395999987227\n", + " ],\n", + " [\n", + " -84.48464300046537,\n", + " 39.143559999872295\n", + " ],\n", + " [\n", + " -84.48564300046525,\n", + " 39.14365999987227\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48464300046537,\n", + " 39.143559999872295\n", + " ],\n", + " [\n", + " -84.48394300046544,\n", + " 39.14395999987227\n", + " ],\n", + " [\n", + " -84.48404300046543,\n", + " 39.143559999872295\n", + " ],\n", + " [\n", + " -84.48464300046537,\n", + " 39.143559999872295\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4899430004648,\n", + " 39.14605999987202\n", + " ],\n", + " [\n", + " -84.48944300046487,\n", + " 39.146759999871975\n", + " ],\n", + " [\n", + " -84.48904300046492,\n", + " 39.14745999987187\n", + " ],\n", + " [\n", + " -84.48604300046524,\n", + " 39.14725999987195\n", + " ],\n", + " [\n", + " -84.48534300046532,\n", + " 39.147259999871956\n", + " ],\n", + " [\n", + " -84.48484300046536,\n", + " 39.14705999987198\n", + " ],\n", + " [\n", + " -84.48424300046543,\n", + " 39.146759999871996\n", + " ],\n", + " [\n", + " -84.48294300046557,\n", + " 39.14735999987194\n", + " ],\n", + " [\n", + " -84.48244300046561,\n", + " 39.146959999871996\n", + " ],\n", + " [\n", + " -84.48244300046561,\n", + " 39.14655999987201\n", + " ],\n", + " [\n", + " -84.48234300046563,\n", + " 39.14585999987211\n", + " ],\n", + " [\n", + " -84.48294300046555,\n", + " 39.1456599998721\n", + " ],\n", + " [\n", + " -84.48424300046541,\n", + " 39.14565999987211\n", + " ],\n", + " [\n", + " -84.48616500046522,\n", + " 39.14572599987209\n", + " ],\n", + " [\n", + " -84.4900430004648,\n", + " 39.14585999987206\n", + " ],\n", + " [\n", + " -84.4899430004648,\n", + " 39.14605999987202\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51444400046199,\n", + " 39.12305999987405\n", + " ],\n", + " [\n", + " -84.514344000462,\n", + " 39.12335999987403\n", + " ],\n", + " [\n", + " -84.51404400046205,\n", + " 39.12425999987396\n", + " ],\n", + " [\n", + " -84.5128440004622,\n", + " 39.125559999873815\n", + " ],\n", + " [\n", + " -84.50914400046258,\n", + " 39.1251489998739\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12505999987389\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12425999987398\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.123959999873996\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12265999987413\n", + " ],\n", + " [\n", + " -84.50904300046258,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50918500046257,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50924300046256,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50954300046251,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.51064300046241,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.51074300046238,\n", + " 39.12235999987413\n", + " ],\n", + " [\n", + " -84.51114300046235,\n", + " 39.122159999874164\n", + " ],\n", + " [\n", + " -84.51294300046216,\n", + " 39.121859999874175\n", + " ],\n", + " [\n", + " -84.51314300046214,\n", + " 39.12225999987413\n", + " ],\n", + " [\n", + " -84.51304300046216,\n", + " 39.12295999987407\n", + " ],\n", + " [\n", + " -84.5135430004621,\n", + " 39.12295999987407\n", + " ],\n", + " [\n", + " -84.51384400046206,\n", + " 39.123059999874044\n", + " ],\n", + " [\n", + " -84.51444400046199,\n", + " 39.12305999987405\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51074300046238,\n", + " 39.12235999987413\n", + " ],\n", + " [\n", + " -84.51064300046241,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50954300046251,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50964300046252,\n", + " 39.12235999987413\n", + " ],\n", + " [\n", + " -84.51074300046238,\n", + " 39.12235999987413\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4766430004661,\n", + " 39.1243599998741\n", + " ],\n", + " [\n", + " -84.47644300046613,\n", + " 39.12675999987388\n", + " ],\n", + " [\n", + " -84.47484300046631,\n", + " 39.12695999987387\n", + " ],\n", + " [\n", + " -84.47524300046624,\n", + " 39.12455999987408\n", + " ],\n", + " [\n", + " -84.4766430004661,\n", + " 39.1243599998741\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47484300046631,\n", + " 39.12695999987387\n", + " ],\n", + " [\n", + " -84.47374300046643,\n", + " 39.126759999873904\n", + " ],\n", + " [\n", + " -84.47394300046638,\n", + " 39.12455999987409\n", + " ],\n", + " [\n", + " -84.47524300046624,\n", + " 39.12455999987408\n", + " ],\n", + " [\n", + " -84.47484300046631,\n", + " 39.12695999987387\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47644300046613,\n", + " 39.12675999987388\n", + " ],\n", + " [\n", + " -84.47614300046617,\n", + " 39.12805999987374\n", + " ],\n", + " [\n", + " -84.47464300046634,\n", + " 39.12835999987374\n", + " ],\n", + " [\n", + " -84.47454300046634,\n", + " 39.128059999873756\n", + " ],\n", + " [\n", + " -84.47484300046631,\n", + " 39.12695999987387\n", + " ],\n", + " [\n", + " -84.47644300046613,\n", + " 39.12675999987388\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47564300046623,\n", + " 39.12945999987363\n", + " ],\n", + " [\n", + " -84.47434300046636,\n", + " 39.129559999873614\n", + " ],\n", + " [\n", + " -84.47464300046634,\n", + " 39.12835999987374\n", + " ],\n", + " [\n", + " -84.47614300046617,\n", + " 39.12805999987374\n", + " ],\n", + " [\n", + " -84.47564300046623,\n", + " 39.12945999987363\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47454300046634,\n", + " 39.128059999873756\n", + " ],\n", + " [\n", + " -84.47354300046645,\n", + " 39.127959999873795\n", + " ],\n", + " [\n", + " -84.47374300046643,\n", + " 39.126759999873904\n", + " ],\n", + " [\n", + " -84.47484300046631,\n", + " 39.12695999987387\n", + " ],\n", + " [\n", + " -84.47454300046634,\n", + " 39.128059999873756\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52004400046148,\n", + " 39.13505999987293\n", + " ],\n", + " [\n", + " -84.51954400046156,\n", + " 39.14045999987243\n", + " ],\n", + " [\n", + " -84.5174440004618,\n", + " 39.140859999872404\n", + " ],\n", + " [\n", + " -84.5183440004617,\n", + " 39.13995999987247\n", + " ],\n", + " [\n", + " -84.51854400046167,\n", + " 39.13955999987251\n", + " ],\n", + " [\n", + " -84.51804400046173,\n", + " 39.138959999872554\n", + " ],\n", + " [\n", + " -84.51574400046195,\n", + " 39.138259999872645\n", + " ],\n", + " [\n", + " -84.51764400046174,\n", + " 39.136959999872786\n", + " ],\n", + " [\n", + " -84.51914400046158,\n", + " 39.134959999872954\n", + " ],\n", + " [\n", + " -84.52004400046148,\n", + " 39.13505999987293\n", + " ]\n", + " ],\n", + " [\n", + " [\n", + " -84.5190440004616,\n", + " 39.13855999987259\n", + " ],\n", + " [\n", + " -84.51854400046167,\n", + " 39.13835999987263\n", + " ],\n", + " [\n", + " -84.51844400046168,\n", + " 39.138559999872584\n", + " ],\n", + " [\n", + " -84.5190440004616,\n", + " 39.13855999987259\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5190440004616,\n", + " 39.13855999987259\n", + " ],\n", + " [\n", + " -84.51844400046168,\n", + " 39.138559999872584\n", + " ],\n", + " [\n", + " -84.51854400046167,\n", + " 39.13835999987263\n", + " ],\n", + " [\n", + " -84.5190440004616,\n", + " 39.13855999987259\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5183440004617,\n", + " 39.13995999987247\n", + " ],\n", + " [\n", + " -84.5174440004618,\n", + " 39.140859999872404\n", + " ],\n", + " [\n", + " -84.51714400046184,\n", + " 39.140559999872444\n", + " ],\n", + " [\n", + " -84.51754400046178,\n", + " 39.14005999987246\n", + " ],\n", + " [\n", + " -84.5183440004617,\n", + " 39.13995999987247\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5193440004616,\n", + " 39.14235999987225\n", + " ],\n", + " [\n", + " -84.51914400046164,\n", + " 39.143259999872164\n", + " ],\n", + " [\n", + " -84.51664400046191,\n", + " 39.14225999987227\n", + " ],\n", + " [\n", + " -84.51544400046203,\n", + " 39.14215999987227\n", + " ],\n", + " [\n", + " -84.51544400046203,\n", + " 39.14195999987231\n", + " ],\n", + " [\n", + " -84.51534400046202,\n", + " 39.13945999987253\n", + " ],\n", + " [\n", + " -84.51574400046195,\n", + " 39.138259999872645\n", + " ],\n", + " [\n", + " -84.51804400046173,\n", + " 39.138959999872554\n", + " ],\n", + " [\n", + " -84.51854400046167,\n", + " 39.13955999987251\n", + " ],\n", + " [\n", + " -84.5183440004617,\n", + " 39.13995999987247\n", + " ],\n", + " [\n", + " -84.51754400046178,\n", + " 39.14005999987246\n", + " ],\n", + " [\n", + " -84.51714400046184,\n", + " 39.140559999872444\n", + " ],\n", + " [\n", + " -84.5174440004618,\n", + " 39.140859999872404\n", + " ],\n", + " [\n", + " -84.51954400046156,\n", + " 39.14045999987243\n", + " ],\n", + " [\n", + " -84.51944400046159,\n", + " 39.14105999987236\n", + " ],\n", + " [\n", + " -84.51944400046159,\n", + " 39.14155999987233\n", + " ],\n", + " [\n", + " -84.5193440004616,\n", + " 39.14235999987225\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51814400046162,\n", + " 39.12745999987365\n", + " ],\n", + " [\n", + " -84.51814400046163,\n", + " 39.12815999987359\n", + " ],\n", + " [\n", + " -84.51454400046204,\n", + " 39.12785999987363\n", + " ],\n", + " [\n", + " -84.51454400046204,\n", + " 39.12725999987368\n", + " ],\n", + " [\n", + " -84.51704400046174,\n", + " 39.12735999987365\n", + " ],\n", + " [\n", + " -84.51814400046162,\n", + " 39.12745999987365\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51964400046147,\n", + " 39.12825999987355\n", + " ],\n", + " [\n", + " -84.5194440004615,\n", + " 39.12855999987354\n", + " ],\n", + " [\n", + " -84.51904400046153,\n", + " 39.12855999987355\n", + " ],\n", + " [\n", + " -84.51824400046162,\n", + " 39.12865999987352\n", + " ],\n", + " [\n", + " -84.51754400046171,\n", + " 39.12945999987347\n", + " ],\n", + " [\n", + " -84.51744400046172,\n", + " 39.12965999987345\n", + " ],\n", + " [\n", + " -84.51724400046174,\n", + " 39.12945999987347\n", + " ],\n", + " [\n", + " -84.51362800046212,\n", + " 39.12913099987351\n", + " ],\n", + " [\n", + " -84.51284400046222,\n", + " 39.1290599998735\n", + " ],\n", + " [\n", + " -84.51284400046222,\n", + " 39.12845999987356\n", + " ],\n", + " [\n", + " -84.51368300046212,\n", + " 39.12852699987354\n", + " ],\n", + " [\n", + " -84.51374400046211,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51454400046204,\n", + " 39.12785999987363\n", + " ],\n", + " [\n", + " -84.51814400046163,\n", + " 39.12815999987359\n", + " ],\n", + " [\n", + " -84.51894400046154,\n", + " 39.12825999987357\n", + " ],\n", + " [\n", + " -84.51964400046147,\n", + " 39.12825999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51454400046204,\n", + " 39.12725999987368\n", + " ],\n", + " [\n", + " -84.51454400046204,\n", + " 39.12785999987363\n", + " ],\n", + " [\n", + " -84.51374400046211,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51294400046218,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51304400046217,\n", + " 39.12715999987369\n", + " ],\n", + " [\n", + " -84.5137440004621,\n", + " 39.12715999987369\n", + " ],\n", + " [\n", + " -84.51454400046204,\n", + " 39.12725999987368\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51374400046211,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51368300046212,\n", + " 39.12852699987354\n", + " ],\n", + " [\n", + " -84.51284400046222,\n", + " 39.12845999987356\n", + " ],\n", + " [\n", + " -84.51294400046218,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51374400046211,\n", + " 39.127859999873614\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51614400046188,\n", + " 39.13235999987321\n", + " ],\n", + " [\n", + " -84.515044000462,\n", + " 39.13305999987313\n", + " ],\n", + " [\n", + " -84.51244400046228,\n", + " 39.132859999873176\n", + " ],\n", + " [\n", + " -84.51264400046226,\n", + " 39.13165999987326\n", + " ],\n", + " [\n", + " -84.51094400046243,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51114400046241,\n", + " 39.13025999987339\n", + " ],\n", + " [\n", + " -84.51124300046237,\n", + " 39.12895999987351\n", + " ],\n", + " [\n", + " -84.51284400046222,\n", + " 39.1290599998735\n", + " ],\n", + " [\n", + " -84.51362800046212,\n", + " 39.12913099987351\n", + " ],\n", + " [\n", + " -84.51724400046174,\n", + " 39.12945999987347\n", + " ],\n", + " [\n", + " -84.51744400046172,\n", + " 39.12965999987345\n", + " ],\n", + " [\n", + " -84.51734400046173,\n", + " 39.12985999987343\n", + " ],\n", + " [\n", + " -84.51693200046178,\n", + " 39.13071799987334\n", + " ],\n", + " [\n", + " -84.51614400046188,\n", + " 39.13235999987321\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51234600046223,\n", + " 39.126106999873784\n", + " ],\n", + " [\n", + " -84.51264400046222,\n", + " 39.12655999987375\n", + " ],\n", + " [\n", + " -84.5127080004622,\n", + " 39.12665699987375\n", + " ],\n", + " [\n", + " -84.51234400046225,\n", + " 39.12675999987372\n", + " ],\n", + " [\n", + " -84.51214200046228,\n", + " 39.12685799987372\n", + " ],\n", + " [\n", + " -84.5119480004623,\n", + " 39.126554999873754\n", + " ],\n", + " [\n", + " -84.51204300046227,\n", + " 39.12645999987375\n", + " ],\n", + " [\n", + " -84.51234600046223,\n", + " 39.126106999873784\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51168300046233,\n", + " 39.127079999873686\n", + " ],\n", + " [\n", + " -84.51144300046235,\n", + " 39.127059999873715\n", + " ],\n", + " [\n", + " -84.5119480004623,\n", + " 39.126554999873754\n", + " ],\n", + " [\n", + " -84.51214200046228,\n", + " 39.12685799987372\n", + " ],\n", + " [\n", + " -84.51168300046233,\n", + " 39.127079999873686\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51264400046223,\n", + " 39.12715999987369\n", + " ],\n", + " [\n", + " -84.51304400046217,\n", + " 39.12715999987369\n", + " ],\n", + " [\n", + " -84.51294400046218,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51074300046243,\n", + " 39.12765999987362\n", + " ],\n", + " [\n", + " -84.51144300046235,\n", + " 39.127059999873715\n", + " ],\n", + " [\n", + " -84.51168300046233,\n", + " 39.127079999873686\n", + " ],\n", + " [\n", + " -84.51264400046223,\n", + " 39.12715999987369\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51294400046218,\n", + " 39.127859999873614\n", + " ],\n", + " [\n", + " -84.51284400046222,\n", + " 39.12845999987356\n", + " ],\n", + " [\n", + " -84.51284400046222,\n", + " 39.1290599998735\n", + " ],\n", + " [\n", + " -84.51124300046237,\n", + " 39.12895999987351\n", + " ],\n", + " [\n", + " -84.51115700046239,\n", + " 39.12844399987358\n", + " ],\n", + " [\n", + " -84.51114300046238,\n", + " 39.12835999987357\n", + " ],\n", + " [\n", + " -84.51074300046243,\n", + " 39.12765999987362\n", + " ],\n", + " [\n", + " -84.51294400046218,\n", + " 39.127859999873614\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51264400046222,\n", + " 39.125759999873836\n", + " ],\n", + " [\n", + " -84.51234600046223,\n", + " 39.126106999873784\n", + " ],\n", + " [\n", + " -84.51204300046227,\n", + " 39.12645999987375\n", + " ],\n", + " [\n", + " -84.5119480004623,\n", + " 39.126554999873754\n", + " ],\n", + " [\n", + " -84.51144300046235,\n", + " 39.127059999873715\n", + " ],\n", + " [\n", + " -84.50878800046263,\n", + " 39.126810999873726\n", + " ],\n", + " [\n", + " -84.5082430004627,\n", + " 39.126759999873755\n", + " ],\n", + " [\n", + " -84.50824300046268,\n", + " 39.12555999987385\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12505999987389\n", + " ],\n", + " [\n", + " -84.50914400046258,\n", + " 39.1251489998739\n", + " ],\n", + " [\n", + " -84.5128440004622,\n", + " 39.125559999873815\n", + " ],\n", + " [\n", + " -84.51264400046222,\n", + " 39.125759999873836\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50878800046263,\n", + " 39.126810999873726\n", + " ],\n", + " [\n", + " -84.51144300046235,\n", + " 39.127059999873715\n", + " ],\n", + " [\n", + " -84.51074300046243,\n", + " 39.12765999987362\n", + " ],\n", + " [\n", + " -84.50944300046257,\n", + " 39.12745999987369\n", + " ],\n", + " [\n", + " -84.50864300046265,\n", + " 39.12745999987367\n", + " ],\n", + " [\n", + " -84.5082430004627,\n", + " 39.126759999873755\n", + " ],\n", + " [\n", + " -84.50878800046263,\n", + " 39.126810999873726\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51124300046237,\n", + " 39.12895999987351\n", + " ],\n", + " [\n", + " -84.51044300046247,\n", + " 39.12895999987352\n", + " ],\n", + " [\n", + " -84.50944300046258,\n", + " 39.128859999873555\n", + " ],\n", + " [\n", + " -84.50870500046265,\n", + " 39.12876799987356\n", + " ],\n", + " [\n", + " -84.50784300046276,\n", + " 39.12865999987357\n", + " ],\n", + " [\n", + " -84.50794300046275,\n", + " 39.12845999987357\n", + " ],\n", + " [\n", + " -84.50844300046269,\n", + " 39.12795999987365\n", + " ],\n", + " [\n", + " -84.50864300046265,\n", + " 39.12745999987367\n", + " ],\n", + " [\n", + " -84.50944300046257,\n", + " 39.12745999987369\n", + " ],\n", + " [\n", + " -84.51074300046243,\n", + " 39.12765999987362\n", + " ],\n", + " [\n", + " -84.51114300046238,\n", + " 39.12835999987357\n", + " ],\n", + " [\n", + " -84.51115700046239,\n", + " 39.12844399987358\n", + " ],\n", + " [\n", + " -84.51124300046237,\n", + " 39.12895999987351\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51114400046241,\n", + " 39.13025999987339\n", + " ],\n", + " [\n", + " -84.51024300046252,\n", + " 39.13015999987343\n", + " ],\n", + " [\n", + " -84.51044300046247,\n", + " 39.12895999987352\n", + " ],\n", + " [\n", + " -84.51124300046237,\n", + " 39.12895999987351\n", + " ],\n", + " [\n", + " -84.51114400046241,\n", + " 39.13025999987339\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51264400046226,\n", + " 39.13165999987326\n", + " ],\n", + " [\n", + " -84.51244400046228,\n", + " 39.132859999873176\n", + " ],\n", + " [\n", + " -84.51084400046246,\n", + " 39.132759999873166\n", + " ],\n", + " [\n", + " -84.51094400046243,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51264400046226,\n", + " 39.13165999987326\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51024300046252,\n", + " 39.13015999987343\n", + " ],\n", + " [\n", + " -84.50934300046261,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.50944300046258,\n", + " 39.128859999873555\n", + " ],\n", + " [\n", + " -84.51044300046247,\n", + " 39.12895999987352\n", + " ],\n", + " [\n", + " -84.51024300046252,\n", + " 39.13015999987343\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51114400046241,\n", + " 39.13025999987339\n", + " ],\n", + " [\n", + " -84.51094400046243,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51014300046252,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51024300046252,\n", + " 39.13015999987343\n", + " ],\n", + " [\n", + " -84.51114400046241,\n", + " 39.13025999987339\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50934300046261,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.51024300046252,\n", + " 39.13015999987343\n", + " ],\n", + " [\n", + " -84.51014300046252,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.50924300046262,\n", + " 39.13135999987332\n", + " ],\n", + " [\n", + " -84.50934300046261,\n", + " 39.13005999987343\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50934300046261,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.50924300046262,\n", + " 39.13135999987332\n", + " ],\n", + " [\n", + " -84.5084430004627,\n", + " 39.131259999873315\n", + " ],\n", + " [\n", + " -84.5085430004627,\n", + " 39.13005999987343\n", + " ],\n", + " [\n", + " -84.50934300046261,\n", + " 39.13005999987343\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51094400046243,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51084400046246,\n", + " 39.132759999873166\n", + " ],\n", + " [\n", + " -84.51004300046255,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.51014300046252,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51094400046243,\n", + " 39.1314599998733\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51004300046255,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.50984300046255,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.50914300046264,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.50924300046262,\n", + " 39.13135999987332\n", + " ],\n", + " [\n", + " -84.51014300046252,\n", + " 39.1314599998733\n", + " ],\n", + " [\n", + " -84.51004300046255,\n", + " 39.132659999873205\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50924300046262,\n", + " 39.13135999987332\n", + " ],\n", + " [\n", + " -84.50914300046264,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.50844300046272,\n", + " 39.13255999987321\n", + " ],\n", + " [\n", + " -84.5084430004627,\n", + " 39.131259999873315\n", + " ],\n", + " [\n", + " -84.50924300046262,\n", + " 39.13135999987332\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51744400046175,\n", + " 39.134959999872954\n", + " ],\n", + " [\n", + " -84.51914400046158,\n", + " 39.134959999872954\n", + " ],\n", + " [\n", + " -84.51764400046174,\n", + " 39.136959999872786\n", + " ],\n", + " [\n", + " -84.51574400046195,\n", + " 39.138259999872645\n", + " ],\n", + " [\n", + " -84.51514400046202,\n", + " 39.1377599998727\n", + " ],\n", + " [\n", + " -84.51494400046204,\n", + " 39.1365599998728\n", + " ],\n", + " [\n", + " -84.515144000462,\n", + " 39.13585999987289\n", + " ],\n", + " [\n", + " -84.51474400046204,\n", + " 39.13565999987291\n", + " ],\n", + " [\n", + " -84.51644400046186,\n", + " 39.13505999987293\n", + " ],\n", + " [\n", + " -84.51744400046175,\n", + " 39.134959999872954\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51244400046228,\n", + " 39.132859999873176\n", + " ],\n", + " [\n", + " -84.515044000462,\n", + " 39.13305999987313\n", + " ],\n", + " [\n", + " -84.51484400046203,\n", + " 39.13425999987301\n", + " ],\n", + " [\n", + " -84.51474400046204,\n", + " 39.13565999987291\n", + " ],\n", + " [\n", + " -84.51384400046216,\n", + " 39.13555999987291\n", + " ],\n", + " [\n", + " -84.51271800046229,\n", + " 39.135491999872926\n", + " ],\n", + " [\n", + " -84.51212000046235,\n", + " 39.13545599987292\n", + " ],\n", + " [\n", + " -84.51054400046252,\n", + " 39.135359999872946\n", + " ],\n", + " [\n", + " -84.5106440004625,\n", + " 39.13485999987298\n", + " ],\n", + " [\n", + " -84.51074400046248,\n", + " 39.13405999987305\n", + " ],\n", + " [\n", + " -84.51084400046246,\n", + " 39.132759999873166\n", + " ],\n", + " [\n", + " -84.51244400046228,\n", + " 39.132859999873176\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50174300046339,\n", + " 39.12475999987396\n", + " ],\n", + " [\n", + " -84.50194300046337,\n", + " 39.125159999873944\n", + " ],\n", + " [\n", + " -84.5017430004634,\n", + " 39.126359999873806\n", + " ],\n", + " [\n", + " -84.4999430004636,\n", + " 39.12625999987383\n", + " ],\n", + " [\n", + " -84.50014300046355,\n", + " 39.12465999987397\n", + " ],\n", + " [\n", + " -84.50174300046339,\n", + " 39.12475999987396\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50324300046324,\n", + " 39.12735999987369\n", + " ],\n", + " [\n", + " -84.50314300046327,\n", + " 39.12815999987364\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12805999987364\n", + " ],\n", + " [\n", + " -84.5018430004634,\n", + " 39.127259999873715\n", + " ],\n", + " [\n", + " -84.50324300046324,\n", + " 39.12735999987369\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50314300046327,\n", + " 39.12815999987364\n", + " ],\n", + " [\n", + " -84.50324300046326,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12865999987358\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12805999987364\n", + " ],\n", + " [\n", + " -84.50314300046327,\n", + " 39.12815999987364\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50164300046343,\n", + " 39.12805999987364\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12865999987358\n", + " ],\n", + " [\n", + " -84.49914300046369,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.49984300046361,\n", + " 39.127759999873675\n", + " ],\n", + " [\n", + " -84.50094300046348,\n", + " 39.127259999873715\n", + " ],\n", + " [\n", + " -84.5017430004634,\n", + " 39.126359999873806\n", + " ],\n", + " [\n", + " -84.5018430004634,\n", + " 39.127259999873715\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12805999987364\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50424300046318,\n", + " 39.13085999987339\n", + " ],\n", + " [\n", + " -84.50294300046332,\n", + " 39.13075999987339\n", + " ],\n", + " [\n", + " -84.50324300046326,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.50334300046325,\n", + " 39.12815999987364\n", + " ],\n", + " [\n", + " -84.50454300046312,\n", + " 39.12795999987365\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13085999987339\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50424300046318,\n", + " 39.13085999987339\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13155999987331\n", + " ],\n", + " [\n", + " -84.50284300046332,\n", + " 39.13145999987332\n", + " ],\n", + " [\n", + " -84.50294300046332,\n", + " 39.13075999987339\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13085999987339\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50504300046309,\n", + " 39.13235999987324\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.50414300046319,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.50414300046317,\n", + " 39.13225999987324\n", + " ],\n", + " [\n", + " -84.50504300046309,\n", + " 39.13235999987324\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50424300046318,\n", + " 39.13155999987331\n", + " ],\n", + " [\n", + " -84.50414300046317,\n", + " 39.13225999987324\n", + " ],\n", + " [\n", + " -84.50274300046333,\n", + " 39.13215999987327\n", + " ],\n", + " [\n", + " -84.50284300046332,\n", + " 39.13145999987332\n", + " ],\n", + " [\n", + " -84.50424300046318,\n", + " 39.13155999987331\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50414300046319,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.50264300046334,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.50274300046333,\n", + " 39.13215999987327\n", + " ],\n", + " [\n", + " -84.50414300046317,\n", + " 39.13225999987324\n", + " ],\n", + " [\n", + " -84.50414300046319,\n", + " 39.13305999987318\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50294300046332,\n", + " 39.13075999987339\n", + " ],\n", + " [\n", + " -84.50144300046345,\n", + " 39.13065999987342\n", + " ],\n", + " [\n", + " -84.50154300046344,\n", + " 39.12945999987352\n", + " ],\n", + " [\n", + " -84.50164300046343,\n", + " 39.12865999987358\n", + " ],\n", + " [\n", + " -84.50324300046326,\n", + " 39.128259999873634\n", + " ],\n", + " [\n", + " -84.50294300046332,\n", + " 39.13075999987339\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50284300046332,\n", + " 39.13145999987332\n", + " ],\n", + " [\n", + " -84.50274300046333,\n", + " 39.13215999987327\n", + " ],\n", + " [\n", + " -84.50174300046343,\n", + " 39.13225999987326\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.132359999873266\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.13195999987329\n", + " ],\n", + " [\n", + " -84.50144300046345,\n", + " 39.13065999987342\n", + " ],\n", + " [\n", + " -84.50294300046332,\n", + " 39.13075999987339\n", + " ],\n", + " [\n", + " -84.50284300046332,\n", + " 39.13145999987332\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50274300046333,\n", + " 39.13215999987327\n", + " ],\n", + " [\n", + " -84.50264300046334,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.132359999873266\n", + " ],\n", + " [\n", + " -84.50174300046343,\n", + " 39.13225999987326\n", + " ],\n", + " [\n", + " -84.50274300046333,\n", + " 39.13215999987327\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50144300046345,\n", + " 39.13065999987342\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.13195999987329\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.132359999873266\n", + " ],\n", + " [\n", + " -84.49964300046366,\n", + " 39.13265999987324\n", + " ],\n", + " [\n", + " -84.49974300046365,\n", + " 39.13155999987333\n", + " ],\n", + " [\n", + " -84.49994300046363,\n", + " 39.130459999873445\n", + " ],\n", + " [\n", + " -84.50144300046345,\n", + " 39.13065999987342\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50844300046272,\n", + " 39.13255999987321\n", + " ],\n", + " [\n", + " -84.50834300046274,\n", + " 39.13385999987311\n", + " ],\n", + " [\n", + " -84.50814300046274,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50734300046284,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50744300046281,\n", + " 39.13245999987321\n", + " ],\n", + " [\n", + " -84.50844300046272,\n", + " 39.13255999987321\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50904300046265,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50894300046268,\n", + " 39.13515999987295\n", + " ],\n", + " [\n", + " -84.50804300046278,\n", + " 39.13515999987295\n", + " ],\n", + " [\n", + " -84.50814300046274,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50834300046274,\n", + " 39.13385999987311\n", + " ],\n", + " [\n", + " -84.50904300046265,\n", + " 39.133859999873096\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50804300046278,\n", + " 39.13515999987295\n", + " ],\n", + " [\n", + " -84.50734300046285,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50734300046284,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50814300046274,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50804300046278,\n", + " 39.13515999987295\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50554300046306,\n", + " 39.13585999987293\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13545999987295\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13515999987297\n", + " ],\n", + " [\n", + " -84.50714300046289,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50734300046285,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50804300046278,\n", + " 39.13515999987295\n", + " ],\n", + " [\n", + " -84.50894300046268,\n", + " 39.13515999987295\n", + " ],\n", + " [\n", + " -84.50904300046267,\n", + " 39.13595999987288\n", + " ],\n", + " [\n", + " -84.50944400046265,\n", + " 39.137659999872724\n", + " ],\n", + " [\n", + " -84.50826100046277,\n", + " 39.137578999872744\n", + " ],\n", + " [\n", + " -84.50644300046295,\n", + " 39.136759999872815\n", + " ],\n", + " [\n", + " -84.50544300046307,\n", + " 39.13665999987285\n", + " ],\n", + " [\n", + " -84.50554300046306,\n", + " 39.13585999987293\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50734300046284,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50734300046285,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50714300046289,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13515999987297\n", + " ],\n", + " [\n", + " -84.50564300046304,\n", + " 39.134459999873044\n", + " ],\n", + " [\n", + " -84.50574300046303,\n", + " 39.1336599998731\n", + " ],\n", + " [\n", + " -84.50654300046293,\n", + " 39.13375999987311\n", + " ],\n", + " [\n", + " -84.50734300046284,\n", + " 39.133859999873096\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.505843000463,\n", + " 39.13315999987314\n", + " ],\n", + " [\n", + " -84.50574300046303,\n", + " 39.1336599998731\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.133659999873124\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.505843000463,\n", + " 39.13315999987314\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50574300046303,\n", + " 39.1336599998731\n", + " ],\n", + " [\n", + " -84.50564300046304,\n", + " 39.134459999873044\n", + " ],\n", + " [\n", + " -84.50484300046311,\n", + " 39.13435999987304\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.133659999873124\n", + " ],\n", + " [\n", + " -84.50574300046303,\n", + " 39.1336599998731\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50564300046304,\n", + " 39.134459999873044\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13515999987297\n", + " ],\n", + " [\n", + " -84.50474300046312,\n", + " 39.135059999872986\n", + " ],\n", + " [\n", + " -84.50484300046311,\n", + " 39.13435999987304\n", + " ],\n", + " [\n", + " -84.50564300046304,\n", + " 39.134459999873044\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50554300046305,\n", + " 39.13545999987295\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13536199987297\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50474300046312,\n", + " 39.135059999872986\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13515999987297\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13545999987295\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50554300046305,\n", + " 39.13545999987295\n", + " ],\n", + " [\n", + " -84.50554300046306,\n", + " 39.13585999987293\n", + " ],\n", + " [\n", + " -84.50544300046307,\n", + " 39.13665999987285\n", + " ],\n", + " [\n", + " -84.50374300046326,\n", + " 39.13655999987285\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.135759999872924\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13536199987297\n", + " ],\n", + " [\n", + " -84.50554300046305,\n", + " 39.13545999987295\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50934400046268,\n", + " 39.140259999872484\n", + " ],\n", + " [\n", + " -84.50924400046269,\n", + " 39.14125999987239\n", + " ],\n", + " [\n", + " -84.50744400046288,\n", + " 39.141159999872414\n", + " ],\n", + " [\n", + " -84.50754300046286,\n", + " 39.140259999872505\n", + " ],\n", + " [\n", + " -84.50934400046268,\n", + " 39.140259999872484\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50924400046269,\n", + " 39.14125999987239\n", + " ],\n", + " [\n", + " -84.5092440004627,\n", + " 39.142259999872316\n", + " ],\n", + " [\n", + " -84.50574300046307,\n", + " 39.14205999987235\n", + " ],\n", + " [\n", + " -84.50324300046334,\n", + " 39.14185999987239\n", + " ],\n", + " [\n", + " -84.50304300046336,\n", + " 39.141859999872366\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1416599998724\n", + " ],\n", + " [\n", + " -84.50034300046366,\n", + " 39.1406599998725\n", + " ],\n", + " [\n", + " -84.50054300046362,\n", + " 39.139659999872585\n", + " ],\n", + " [\n", + " -84.50054300046362,\n", + " 39.13935999987259\n", + " ],\n", + " [\n", + " -84.5006430004636,\n", + " 39.138359999872684\n", + " ],\n", + " [\n", + " -84.5015430004635,\n", + " 39.13845999987268\n", + " ],\n", + " [\n", + " -84.50214300046343,\n", + " 39.13935999987259\n", + " ],\n", + " [\n", + " -84.50504300046315,\n", + " 39.13955999987258\n", + " ],\n", + " [\n", + " -84.50537800046308,\n", + " 39.137129999872776\n", + " ],\n", + " [\n", + " -84.50544300046307,\n", + " 39.13665999987285\n", + " ],\n", + " [\n", + " -84.50644300046295,\n", + " 39.136759999872815\n", + " ],\n", + " [\n", + " -84.50826100046277,\n", + " 39.137578999872744\n", + " ],\n", + " [\n", + " -84.50944400046265,\n", + " 39.137659999872724\n", + " ],\n", + " [\n", + " -84.50954400046263,\n", + " 39.138059999872695\n", + " ],\n", + " [\n", + " -84.50934400046268,\n", + " 39.140259999872484\n", + " ],\n", + " [\n", + " -84.50754300046286,\n", + " 39.140259999872505\n", + " ],\n", + " [\n", + " -84.50744400046288,\n", + " 39.141159999872414\n", + " ],\n", + " [\n", + " -84.50924400046269,\n", + " 39.14125999987239\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5049430004631,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.133659999873124\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13355999987311\n", + " ],\n", + " [\n", + " -84.50414300046319,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.13305999987318\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5049430004631,\n", + " 39.133659999873124\n", + " ],\n", + " [\n", + " -84.50484300046311,\n", + " 39.13435999987304\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13435999987306\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13355999987311\n", + " ],\n", + " [\n", + " -84.5049430004631,\n", + " 39.133659999873124\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50484300046311,\n", + " 39.13435999987304\n", + " ],\n", + " [\n", + " -84.50474300046312,\n", + " 39.135059999872986\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13435999987306\n", + " ],\n", + " [\n", + " -84.50484300046311,\n", + " 39.13435999987304\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50414300046319,\n", + " 39.13305999987318\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13355999987311\n", + " ],\n", + " [\n", + " -84.50264300046335,\n", + " 39.13345999987315\n", + " ],\n", + " [\n", + " -84.50264300046334,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.50414300046319,\n", + " 39.13305999987318\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5040430004632,\n", + " 39.13355999987311\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13435999987306\n", + " ],\n", + " [\n", + " -84.50254300046338,\n", + " 39.13425999987308\n", + " ],\n", + " [\n", + " -84.50264300046335,\n", + " 39.13345999987315\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13355999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5040430004632,\n", + " 39.13435999987306\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13495999987302\n", + " ],\n", + " [\n", + " -84.50254300046338,\n", + " 39.13425999987308\n", + " ],\n", + " [\n", + " -84.5040430004632,\n", + " 39.13435999987306\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50384300046323,\n", + " 39.13505999987297\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13536199987297\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13528099987297\n", + " ],\n", + " [\n", + " -84.50244300046339,\n", + " 39.13495999987302\n", + " ],\n", + " [\n", + " -84.50384300046323,\n", + " 39.13505999987297\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48554300046517,\n", + " 39.13075999987347\n", + " ],\n", + " [\n", + " -84.48394300046536,\n", + " 39.13065999987348\n", + " ],\n", + " [\n", + " -84.48404300046533,\n", + " 39.129459999873596\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.129259999873604\n", + " ],\n", + " [\n", + " -84.48574300046515,\n", + " 39.129359999873586\n", + " ],\n", + " [\n", + " -84.48554300046517,\n", + " 39.13075999987347\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48684300046504,\n", + " 39.13185999987336\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.132659999873304\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.1325599998733\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.13185999987336\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48596700046515,\n", + " 39.133397999873225\n", + " ],\n", + " [\n", + " -84.48504300046524,\n", + " 39.13335999987322\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.13276599987328\n", + " ],\n", + " [\n", + " -84.48596700046515,\n", + " 39.133397999873225\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48554300046517,\n", + " 39.13075999987347\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48390600046537,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131619999873394\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131359999873425\n", + " ],\n", + " [\n", + " -84.48394300046536,\n", + " 39.13065999987348\n", + " ],\n", + " [\n", + " -84.48554300046517,\n", + " 39.13075999987347\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4854430004652,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.1325599998733\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.1325599998733\n", + " ],\n", + " [\n", + " -84.48480700046527,\n", + " 39.132559999873294\n", + " ],\n", + " [\n", + " -84.48383200046537,\n", + " 39.13184799987338\n", + " ],\n", + " [\n", + " -84.48384300046537,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48390600046537,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.131759999873395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48504300046523,\n", + " 39.1325599998733\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.13276599987328\n", + " ],\n", + " [\n", + " -84.48480700046527,\n", + " 39.132559999873294\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.1325599998733\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48480700046527,\n", + " 39.132559999873294\n", + " ],\n", + " [\n", + " -84.48374300046537,\n", + " 39.13255999987331\n", + " ],\n", + " [\n", + " -84.48383200046537,\n", + " 39.13184799987338\n", + " ],\n", + " [\n", + " -84.48480700046527,\n", + " 39.132559999873294\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49234300046446,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.49294300046441,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49244300046446,\n", + " 39.135159999873025\n", + " ],\n", + " [\n", + " -84.49221400046447,\n", + " 39.135337999873\n", + " ],\n", + " [\n", + " -84.49154300046456,\n", + " 39.13585999987298\n", + " ],\n", + " [\n", + " -84.49234300046446,\n", + " 39.13435999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49234300046447,\n", + " 39.13675999987287\n", + " ],\n", + " [\n", + " -84.49154300046457,\n", + " 39.1366599998729\n", + " ],\n", + " [\n", + " -84.49154300046456,\n", + " 39.13585999987298\n", + " ],\n", + " [\n", + " -84.49221400046447,\n", + " 39.135337999873\n", + " ],\n", + " [\n", + " -84.49224300046448,\n", + " 39.135659999872985\n", + " ],\n", + " [\n", + " -84.49234300046447,\n", + " 39.13675999987287\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49154300046456,\n", + " 39.13585999987298\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13645999987293\n", + " ],\n", + " [\n", + " -84.49064300046464,\n", + " 39.135159999873025\n", + " ],\n", + " [\n", + " -84.49164300046453,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.49234300046446,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.49154300046456,\n", + " 39.13585999987298\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49154300046456,\n", + " 39.13585999987298\n", + " ],\n", + " [\n", + " -84.49154300046457,\n", + " 39.1366599998729\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13675999987289\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13645999987293\n", + " ],\n", + " [\n", + " -84.49154300046456,\n", + " 39.13585999987298\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49244300046446,\n", + " 39.13415999987311\n", + " ],\n", + " [\n", + " -84.49234300046446,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.49164300046453,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.487443000465,\n", + " 39.133659999873196\n", + " ],\n", + " [\n", + " -84.487443000465,\n", + " 39.133459999873224\n", + " ],\n", + " [\n", + " -84.48764300046497,\n", + " 39.13315999987322\n", + " ],\n", + " [\n", + " -84.48994300046472,\n", + " 39.13325999987322\n", + " ],\n", + " [\n", + " -84.49174300046454,\n", + " 39.13335999987318\n", + " ],\n", + " [\n", + " -84.49174300046455,\n", + " 39.13415999987313\n", + " ],\n", + " [\n", + " -84.49244300046446,\n", + " 39.13415999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.487443000465,\n", + " 39.133659999873196\n", + " ],\n", + " [\n", + " -84.49164300046453,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.49064300046464,\n", + " 39.135159999873025\n", + " ],\n", + " [\n", + " -84.48994300046473,\n", + " 39.134959999873075\n", + " ],\n", + " [\n", + " -84.48924300046481,\n", + " 39.13485999987306\n", + " ],\n", + " [\n", + " -84.48874300046486,\n", + " 39.13445999987311\n", + " ],\n", + " [\n", + " -84.48724300046503,\n", + " 39.133859999873174\n", + " ],\n", + " [\n", + " -84.487443000465,\n", + " 39.133659999873196\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49064300046464,\n", + " 39.135159999873025\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13645999987293\n", + " ],\n", + " [\n", + " -84.48808200046494,\n", + " 39.137448999872845\n", + " ],\n", + " [\n", + " -84.48764300046498,\n", + " 39.13765999987284\n", + " ],\n", + " [\n", + " -84.48644300046513,\n", + " 39.13845999987274\n", + " ],\n", + " [\n", + " -84.48614300046516,\n", + " 39.13805999987279\n", + " ],\n", + " [\n", + " -84.48622800046516,\n", + " 39.13771799987283\n", + " ],\n", + " [\n", + " -84.48624300046515,\n", + " 39.13765999987284\n", + " ],\n", + " [\n", + " -84.48724300046504,\n", + " 39.13655999987293\n", + " ],\n", + " [\n", + " -84.48804300046494,\n", + " 39.13555999987301\n", + " ],\n", + " [\n", + " -84.48844300046488,\n", + " 39.134959999873075\n", + " ],\n", + " [\n", + " -84.48874300046486,\n", + " 39.13445999987311\n", + " ],\n", + " [\n", + " -84.48924300046481,\n", + " 39.13485999987306\n", + " ],\n", + " [\n", + " -84.48994300046473,\n", + " 39.134959999873075\n", + " ],\n", + " [\n", + " -84.49064300046464,\n", + " 39.135159999873025\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49154300046457,\n", + " 39.1366599998729\n", + " ],\n", + " [\n", + " -84.49124300046462,\n", + " 39.13785999987278\n", + " ],\n", + " [\n", + " -84.4903430004647,\n", + " 39.13845999987273\n", + " ],\n", + " [\n", + " -84.4903430004647,\n", + " 39.138259999872766\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13675999987289\n", + " ],\n", + " [\n", + " -84.49154300046457,\n", + " 39.1366599998729\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49114300046465,\n", + " 39.139459999872614\n", + " ],\n", + " [\n", + " -84.49094300046467,\n", + " 39.140859999872504\n", + " ],\n", + " [\n", + " -84.48974300046478,\n", + " 39.140859999872504\n", + " ],\n", + " [\n", + " -84.48944300046483,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.4896430004648,\n", + " 39.13955999987264\n", + " ],\n", + " [\n", + " -84.49044300046471,\n", + " 39.13945999987263\n", + " ],\n", + " [\n", + " -84.49114300046465,\n", + " 39.139459999872614\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48694300046509,\n", + " 39.13915999987267\n", + " ],\n", + " [\n", + " -84.48644300046513,\n", + " 39.13845999987274\n", + " ],\n", + " [\n", + " -84.48764300046498,\n", + " 39.13765999987284\n", + " ],\n", + " [\n", + " -84.48808200046494,\n", + " 39.137448999872845\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13645999987293\n", + " ],\n", + " [\n", + " -84.49014300046471,\n", + " 39.13675999987289\n", + " ],\n", + " [\n", + " -84.4903430004647,\n", + " 39.138259999872766\n", + " ],\n", + " [\n", + " -84.4903430004647,\n", + " 39.13845999987273\n", + " ],\n", + " [\n", + " -84.48724300046506,\n", + " 39.13965999987265\n", + " ],\n", + " [\n", + " -84.48694300046509,\n", + " 39.13915999987267\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4903430004647,\n", + " 39.13845999987273\n", + " ],\n", + " [\n", + " -84.49044300046471,\n", + " 39.13945999987263\n", + " ],\n", + " [\n", + " -84.4896430004648,\n", + " 39.13955999987264\n", + " ],\n", + " [\n", + " -84.48834300046495,\n", + " 39.13985999987262\n", + " ],\n", + " [\n", + " -84.48734300046505,\n", + " 39.13985999987261\n", + " ],\n", + " [\n", + " -84.48724300046506,\n", + " 39.13965999987265\n", + " ],\n", + " [\n", + " -84.4903430004647,\n", + " 39.13845999987273\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4896430004648,\n", + " 39.13955999987264\n", + " ],\n", + " [\n", + " -84.48944300046483,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.48804300046498,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.487743000465,\n", + " 39.14045999987258\n", + " ],\n", + " [\n", + " -84.48734300046505,\n", + " 39.13985999987261\n", + " ],\n", + " [\n", + " -84.48834300046495,\n", + " 39.13985999987262\n", + " ],\n", + " [\n", + " -84.4896430004648,\n", + " 39.13955999987264\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48724300046503,\n", + " 39.133859999873174\n", + " ],\n", + " [\n", + " -84.48874300046486,\n", + " 39.13445999987311\n", + " ],\n", + " [\n", + " -84.48844300046488,\n", + " 39.134959999873075\n", + " ],\n", + " [\n", + " -84.48704300046504,\n", + " 39.13435999987314\n", + " ],\n", + " [\n", + " -84.48714300046504,\n", + " 39.13415999987315\n", + " ],\n", + " [\n", + " -84.48724300046503,\n", + " 39.133859999873174\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48844300046488,\n", + " 39.134959999873075\n", + " ],\n", + " [\n", + " -84.48804300046494,\n", + " 39.13555999987301\n", + " ],\n", + " [\n", + " -84.48704300046505,\n", + " 39.13525999987304\n", + " ],\n", + " [\n", + " -84.48634300046511,\n", + " 39.13505999987305\n", + " ],\n", + " [\n", + " -84.48704300046504,\n", + " 39.13435999987314\n", + " ],\n", + " [\n", + " -84.48844300046488,\n", + " 39.134959999873075\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48724300046504,\n", + " 39.13655999987293\n", + " ],\n", + " [\n", + " -84.48624300046515,\n", + " 39.13765999987284\n", + " ],\n", + " [\n", + " -84.48622800046516,\n", + " 39.13771799987283\n", + " ],\n", + " [\n", + " -84.48614300046516,\n", + " 39.13805999987279\n", + " ],\n", + " [\n", + " -84.48534300046525,\n", + " 39.13715999987289\n", + " ],\n", + " [\n", + " -84.48554300046523,\n", + " 39.137059999872875\n", + " ],\n", + " [\n", + " -84.48704300046505,\n", + " 39.13525999987304\n", + " ],\n", + " [\n", + " -84.48804300046494,\n", + " 39.13555999987301\n", + " ],\n", + " [\n", + " -84.48724300046504,\n", + " 39.13655999987293\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48634300046511,\n", + " 39.13505999987305\n", + " ],\n", + " [\n", + " -84.48704300046505,\n", + " 39.13525999987304\n", + " ],\n", + " [\n", + " -84.48554300046523,\n", + " 39.137059999872875\n", + " ],\n", + " [\n", + " -84.48534300046525,\n", + " 39.13715999987289\n", + " ],\n", + " [\n", + " -84.4839430004654,\n", + " 39.136059999873005\n", + " ],\n", + " [\n", + " -84.48614300046513,\n", + " 39.13435999987314\n", + " ],\n", + " [\n", + " -84.48714300046504,\n", + " 39.13415999987315\n", + " ],\n", + " [\n", + " -84.48704300046504,\n", + " 39.13435999987314\n", + " ],\n", + " [\n", + " -84.48634300046511,\n", + " 39.13505999987305\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48974300046478,\n", + " 39.140859999872504\n", + " ],\n", + " [\n", + " -84.48964300046482,\n", + " 39.142059999872394\n", + " ],\n", + " [\n", + " -84.48654300046516,\n", + " 39.141859999872445\n", + " ],\n", + " [\n", + " -84.48664300046514,\n", + " 39.14065999987254\n", + " ],\n", + " [\n", + " -84.48724300046506,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.48804300046498,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.48944300046483,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.48974300046478,\n", + " 39.140859999872504\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.487743000465,\n", + " 39.14045999987258\n", + " ],\n", + " [\n", + " -84.48804300046498,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.48724300046506,\n", + " 39.14075999987253\n", + " ],\n", + " [\n", + " -84.48664300046514,\n", + " 39.14065999987254\n", + " ],\n", + " [\n", + " -84.48674300046511,\n", + " 39.14015999987259\n", + " ],\n", + " [\n", + " -84.48734300046505,\n", + " 39.13985999987261\n", + " ],\n", + " [\n", + " -84.487743000465,\n", + " 39.14045999987258\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48724300046506,\n", + " 39.13965999987265\n", + " ],\n", + " [\n", + " -84.48734300046505,\n", + " 39.13985999987261\n", + " ],\n", + " [\n", + " -84.48674300046511,\n", + " 39.14015999987259\n", + " ],\n", + " [\n", + " -84.48664300046514,\n", + " 39.14065999987254\n", + " ],\n", + " [\n", + " -84.48558100046525,\n", + " 39.14058899987254\n", + " ],\n", + " [\n", + " -84.48514300046529,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48724300046506,\n", + " 39.13965999987265\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48584300046521,\n", + " 39.13805999987279\n", + " ],\n", + " [\n", + " -84.48604300046517,\n", + " 39.13825999987277\n", + " ],\n", + " [\n", + " -84.48504300046528,\n", + " 39.13885999987272\n", + " ],\n", + " [\n", + " -84.48424300046537,\n", + " 39.138959999872704\n", + " ],\n", + " [\n", + " -84.48404300046539,\n", + " 39.138159999872784\n", + " ],\n", + " [\n", + " -84.48384300046541,\n", + " 39.137559999872835\n", + " ],\n", + " [\n", + " -84.4849430004653,\n", + " 39.13725999987287\n", + " ],\n", + " [\n", + " -84.48584300046521,\n", + " 39.13805999987279\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48694300046509,\n", + " 39.13915999987267\n", + " ],\n", + " [\n", + " -84.48724300046506,\n", + " 39.13965999987265\n", + " ],\n", + " [\n", + " -84.48514300046529,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48494300046532,\n", + " 39.14055999987258\n", + " ],\n", + " [\n", + " -84.48433500046538,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48454300046537,\n", + " 39.14025999987261\n", + " ],\n", + " [\n", + " -84.48554300046524,\n", + " 39.139159999872675\n", + " ],\n", + " [\n", + " -84.48644300046513,\n", + " 39.13845999987274\n", + " ],\n", + " [\n", + " -84.48694300046509,\n", + " 39.13915999987267\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48544300046525,\n", + " 39.14185999987246\n", + " ],\n", + " [\n", + " -84.48474300046534,\n", + " 39.14195999987244\n", + " ],\n", + " [\n", + " -84.48380000046545,\n", + " 39.14209499987244\n", + " ],\n", + " [\n", + " -84.48514300046529,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48558100046525,\n", + " 39.14058899987254\n", + " ],\n", + " [\n", + " -84.48664300046514,\n", + " 39.14065999987254\n", + " ],\n", + " [\n", + " -84.48654300046516,\n", + " 39.141859999872445\n", + " ],\n", + " [\n", + " -84.48544300046525,\n", + " 39.14185999987246\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48494300046532,\n", + " 39.14055999987258\n", + " ],\n", + " [\n", + " -84.48514300046529,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48380000046545,\n", + " 39.14209499987244\n", + " ],\n", + " [\n", + " -84.48374300046545,\n", + " 39.142159999872405\n", + " ],\n", + " [\n", + " -84.48364300046546,\n", + " 39.14155999987249\n", + " ],\n", + " [\n", + " -84.48433500046538,\n", + " 39.140559999872565\n", + " ],\n", + " [\n", + " -84.48494300046532,\n", + " 39.14055999987258\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48434300046526,\n", + " 39.125159999874\n", + " ],\n", + " [\n", + " -84.48434300046527,\n", + " 39.12675999987384\n", + " ],\n", + " [\n", + " -84.48284300046545,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.48294300046541,\n", + " 39.12515999987403\n", + " ],\n", + " [\n", + " -84.48324300046541,\n", + " 39.125159999874015\n", + " ],\n", + " [\n", + " -84.48434300046526,\n", + " 39.125159999874\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48294300046541,\n", + " 39.12515999987403\n", + " ],\n", + " [\n", + " -84.48284300046545,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.48234300046549,\n", + " 39.126959999873854\n", + " ],\n", + " [\n", + " -84.48134300046561,\n", + " 39.12685999987385\n", + " ],\n", + " [\n", + " -84.48154300046558,\n", + " 39.12495999987402\n", + " ],\n", + " [\n", + " -84.48194300046555,\n", + " 39.12495999987402\n", + " ],\n", + " [\n", + " -84.48294300046541,\n", + " 39.12515999987403\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47464300046634,\n", + " 39.12835999987374\n", + " ],\n", + " [\n", + " -84.47434300046636,\n", + " 39.129559999873614\n", + " ],\n", + " [\n", + " -84.47344300046649,\n", + " 39.12965999987362\n", + " ],\n", + " [\n", + " -84.47354300046645,\n", + " 39.127959999873795\n", + " ],\n", + " [\n", + " -84.47454300046634,\n", + " 39.128059999873756\n", + " ],\n", + " [\n", + " -84.47464300046634,\n", + " 39.12835999987374\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47394300046638,\n", + " 39.12455999987409\n", + " ],\n", + " [\n", + " -84.47374300046643,\n", + " 39.126759999873904\n", + " ],\n", + " [\n", + " -84.47194300046661,\n", + " 39.12645999987392\n", + " ],\n", + " [\n", + " -84.47224300046658,\n", + " 39.12535999987403\n", + " ],\n", + " [\n", + " -84.47394300046638,\n", + " 39.12455999987409\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47654300046615,\n", + " 39.13135999987346\n", + " ],\n", + " [\n", + " -84.47644300046618,\n", + " 39.13165999987343\n", + " ],\n", + " [\n", + " -84.4742430004664,\n", + " 39.13165999987343\n", + " ],\n", + " [\n", + " -84.47434300046638,\n", + " 39.13055999987355\n", + " ],\n", + " [\n", + " -84.47434300046636,\n", + " 39.129559999873614\n", + " ],\n", + " [\n", + " -84.47564300046623,\n", + " 39.12945999987363\n", + " ],\n", + " [\n", + " -84.47644300046615,\n", + " 39.12925999987366\n", + " ],\n", + " [\n", + " -84.47674300046613,\n", + " 39.12935999987364\n", + " ],\n", + " [\n", + " -84.47664300046614,\n", + " 39.13005999987358\n", + " ],\n", + " [\n", + " -84.47654300046615,\n", + " 39.13135999987346\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47434300046636,\n", + " 39.129559999873614\n", + " ],\n", + " [\n", + " -84.47434300046638,\n", + " 39.13055999987355\n", + " ],\n", + " [\n", + " -84.4732430004665,\n", + " 39.130459999873565\n", + " ],\n", + " [\n", + " -84.47344300046649,\n", + " 39.12965999987362\n", + " ],\n", + " [\n", + " -84.47434300046636,\n", + " 39.129559999873614\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47434300046638,\n", + " 39.13055999987355\n", + " ],\n", + " [\n", + " -84.4742430004664,\n", + " 39.13165999987343\n", + " ],\n", + " [\n", + " -84.47314300046652,\n", + " 39.13155999987345\n", + " ],\n", + " [\n", + " -84.4732430004665,\n", + " 39.130459999873565\n", + " ],\n", + " [\n", + " -84.47434300046638,\n", + " 39.13055999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4732430004665,\n", + " 39.130459999873565\n", + " ],\n", + " [\n", + " -84.47314300046652,\n", + " 39.13155999987345\n", + " ],\n", + " [\n", + " -84.47194300046665,\n", + " 39.13155999987345\n", + " ],\n", + " [\n", + " -84.47214300046663,\n", + " 39.12975999987361\n", + " ],\n", + " [\n", + " -84.47344300046649,\n", + " 39.12965999987362\n", + " ],\n", + " [\n", + " -84.4732430004665,\n", + " 39.130459999873565\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47094300046675,\n", + " 39.12895999987369\n", + " ],\n", + " [\n", + " -84.47104300046674,\n", + " 39.12985999987362\n", + " ],\n", + " [\n", + " -84.4706430004668,\n", + " 39.12985999987362\n", + " ],\n", + " [\n", + " -84.46854200046702,\n", + " 39.130059999873595\n", + " ],\n", + " [\n", + " -84.468642000467,\n", + " 39.12905999987369\n", + " ],\n", + " [\n", + " -84.46974200046688,\n", + " 39.128759999873736\n", + " ],\n", + " [\n", + " -84.47094300046675,\n", + " 39.12895999987369\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47174300046669,\n", + " 39.13375999987323\n", + " ],\n", + " [\n", + " -84.47024300046685,\n", + " 39.13365999987327\n", + " ],\n", + " [\n", + " -84.4706430004668,\n", + " 39.12985999987362\n", + " ],\n", + " [\n", + " -84.47104300046674,\n", + " 39.12985999987362\n", + " ],\n", + " [\n", + " -84.47184300046665,\n", + " 39.12975999987361\n", + " ],\n", + " [\n", + " -84.47214300046663,\n", + " 39.12975999987361\n", + " ],\n", + " [\n", + " -84.47194300046665,\n", + " 39.13155999987345\n", + " ],\n", + " [\n", + " -84.47174300046669,\n", + " 39.13375999987323\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4706430004668,\n", + " 39.12985999987362\n", + " ],\n", + " [\n", + " -84.47024300046685,\n", + " 39.13365999987327\n", + " ],\n", + " [\n", + " -84.46814200046708,\n", + " 39.13355999987327\n", + " ],\n", + " [\n", + " -84.46854200046702,\n", + " 39.130059999873595\n", + " ],\n", + " [\n", + " -84.4706430004668,\n", + " 39.12985999987362\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.46854200046702,\n", + " 39.130059999873595\n", + " ],\n", + " [\n", + " -84.46814200046708,\n", + " 39.13355999987327\n", + " ],\n", + " [\n", + " -84.4669420004672,\n", + " 39.133459999873295\n", + " ],\n", + " [\n", + " -84.46704200046719,\n", + " 39.13175999987347\n", + " ],\n", + " [\n", + " -84.46724200046715,\n", + " 39.13025999987357\n", + " ],\n", + " [\n", + " -84.46854200046702,\n", + " 39.130059999873595\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.468402000467,\n", + " 39.12668199987393\n", + " ],\n", + " [\n", + " -84.46714200046715,\n", + " 39.12645999987395\n", + " ],\n", + " [\n", + " -84.46594200046727,\n", + " 39.12615999987398\n", + " ],\n", + " [\n", + " -84.46344200046752,\n", + " 39.125059999874075\n", + " ],\n", + " [\n", + " -84.46634500046721,\n", + " 39.12494799987409\n", + " ],\n", + " [\n", + " -84.46864200046697,\n", + " 39.1248599998741\n", + " ],\n", + " [\n", + " -84.46884200046696,\n", + " 39.12675999987392\n", + " ],\n", + " [\n", + " -84.468402000467,\n", + " 39.12668199987393\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.47354300046645,\n", + " 39.127959999873795\n", + " ],\n", + " [\n", + " -84.47344300046649,\n", + " 39.12965999987362\n", + " ],\n", + " [\n", + " -84.47214300046663,\n", + " 39.12975999987361\n", + " ],\n", + " [\n", + " -84.47184300046665,\n", + " 39.12975999987361\n", + " ],\n", + " [\n", + " -84.47104300046674,\n", + " 39.12985999987362\n", + " ],\n", + " [\n", + " -84.47094300046675,\n", + " 39.12895999987369\n", + " ],\n", + " [\n", + " -84.46974200046688,\n", + " 39.128759999873736\n", + " ],\n", + " [\n", + " -84.468642000467,\n", + " 39.12905999987369\n", + " ],\n", + " [\n", + " -84.46854200046702,\n", + " 39.130059999873595\n", + " ],\n", + " [\n", + " -84.46724200046715,\n", + " 39.13025999987357\n", + " ],\n", + " [\n", + " -84.46654200046723,\n", + " 39.13035999987359\n", + " ],\n", + " [\n", + " -84.4659420004673,\n", + " 39.130559999873554\n", + " ],\n", + " [\n", + " -84.46414200046749,\n", + " 39.13135999987352\n", + " ],\n", + " [\n", + " -84.46254200046768,\n", + " 39.13185999987346\n", + " ],\n", + " [\n", + " -84.46164200046776,\n", + " 39.13205999987344\n", + " ],\n", + " [\n", + " -84.46074200046787,\n", + " 39.13235999987343\n", + " ],\n", + " [\n", + " -84.46004200046795,\n", + " 39.132459999873426\n", + " ],\n", + " [\n", + " -84.46034200046792,\n", + " 39.13215999987345\n", + " ],\n", + " [\n", + " -84.4612420004678,\n", + " 39.13155999987349\n", + " ],\n", + " [\n", + " -84.46304200046762,\n", + " 39.13075999987355\n", + " ],\n", + " [\n", + " -84.46394200046753,\n", + " 39.12955999987366\n", + " ],\n", + " [\n", + " -84.46294200046758,\n", + " 39.12655999987394\n", + " ],\n", + " [\n", + " -84.46344200046752,\n", + " 39.125059999874075\n", + " ],\n", + " [\n", + " -84.46594200046727,\n", + " 39.12615999987398\n", + " ],\n", + " [\n", + " -84.46714200046715,\n", + " 39.12645999987395\n", + " ],\n", + " [\n", + " -84.468402000467,\n", + " 39.12668199987393\n", + " ],\n", + " [\n", + " -84.46884200046696,\n", + " 39.12675999987392\n", + " ],\n", + " [\n", + " -84.4703420004668,\n", + " 39.12625999987395\n", + " ],\n", + " [\n", + " -84.47064200046675,\n", + " 39.12615999987395\n", + " ],\n", + " [\n", + " -84.47194300046661,\n", + " 39.12645999987392\n", + " ],\n", + " [\n", + " -84.47374300046643,\n", + " 39.126759999873904\n", + " ],\n", + " [\n", + " -84.47354300046645,\n", + " 39.127959999873795\n", + " ]\n", + " ],\n", + " [\n", + " [\n", + " -84.46544200046735,\n", + " 39.1292599998737\n", + " ],\n", + " [\n", + " -84.46534200046734,\n", + " 39.12835999987379\n", + " ],\n", + " [\n", + " -84.46484200046739,\n", + " 39.12845999987376\n", + " ],\n", + " [\n", + " -84.46544200046735,\n", + " 39.1292599998737\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.46544200046735,\n", + " 39.1292599998737\n", + " ],\n", + " [\n", + " -84.46484200046739,\n", + " 39.12845999987376\n", + " ],\n", + " [\n", + " -84.46534200046734,\n", + " 39.12835999987379\n", + " ],\n", + " [\n", + " -84.46544200046735,\n", + " 39.1292599998737\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.46814200046708,\n", + " 39.13355999987327\n", + " ],\n", + " [\n", + " -84.46794200046712,\n", + " 39.13515999987312\n", + " ],\n", + " [\n", + " -84.46384200046755,\n", + " 39.1347599998732\n", + " ],\n", + " [\n", + " -84.4633420004676,\n", + " 39.13465999987321\n", + " ],\n", + " [\n", + " -84.46144200046781,\n", + " 39.13455999987323\n", + " ],\n", + " [\n", + " -84.4614420004678,\n", + " 39.13415999987325\n", + " ],\n", + " [\n", + " -84.46244200046769,\n", + " 39.133459999873324\n", + " ],\n", + " [\n", + " -84.46254200046768,\n", + " 39.13185999987346\n", + " ],\n", + " [\n", + " -84.46414200046749,\n", + " 39.13135999987352\n", + " ],\n", + " [\n", + " -84.4659420004673,\n", + " 39.130559999873554\n", + " ],\n", + " [\n", + " -84.46654200046723,\n", + " 39.13035999987359\n", + " ],\n", + " [\n", + " -84.46724200046715,\n", + " 39.13025999987357\n", + " ],\n", + " [\n", + " -84.46704200046719,\n", + " 39.13175999987347\n", + " ],\n", + " [\n", + " -84.4669420004672,\n", + " 39.133459999873295\n", + " ],\n", + " [\n", + " -84.46814200046708,\n", + " 39.13355999987327\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52534400046086,\n", + " 39.12975999987339\n", + " ],\n", + " [\n", + " -84.52444400046097,\n", + " 39.129659999873425\n", + " ],\n", + " [\n", + " -84.52464400046094,\n", + " 39.128459999873506\n", + " ],\n", + " [\n", + " -84.52544400046085,\n", + " 39.12805999987356\n", + " ],\n", + " [\n", + " -84.52534400046086,\n", + " 39.12975999987339\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52374400046105,\n", + " 39.129659999873425\n", + " ],\n", + " [\n", + " -84.52234400046119,\n", + " 39.129559999873415\n", + " ],\n", + " [\n", + " -84.5205440004614,\n", + " 39.12945999987345\n", + " ],\n", + " [\n", + " -84.52064400046136,\n", + " 39.12835999987354\n", + " ],\n", + " [\n", + " -84.52074400046135,\n", + " 39.127659999873586\n", + " ],\n", + " [\n", + " -84.5211440004613,\n", + " 39.12775999987357\n", + " ],\n", + " [\n", + " -84.52194400046122,\n", + " 39.12775999987357\n", + " ],\n", + " [\n", + " -84.52274400046113,\n", + " 39.12775999987357\n", + " ],\n", + " [\n", + " -84.52354400046106,\n", + " 39.12785999987357\n", + " ],\n", + " [\n", + " -84.52424400046097,\n", + " 39.12795999987355\n", + " ],\n", + " [\n", + " -84.52544400046085,\n", + " 39.12805999987356\n", + " ],\n", + " [\n", + " -84.52464400046094,\n", + " 39.128459999873506\n", + " ],\n", + " [\n", + " -84.52374400046104,\n", + " 39.1287599998735\n", + " ],\n", + " [\n", + " -84.52374400046105,\n", + " 39.129659999873425\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52444400046097,\n", + " 39.129659999873425\n", + " ],\n", + " [\n", + " -84.52374400046105,\n", + " 39.129659999873425\n", + " ],\n", + " [\n", + " -84.52374400046104,\n", + " 39.1287599998735\n", + " ],\n", + " [\n", + " -84.52464400046094,\n", + " 39.128459999873506\n", + " ],\n", + " [\n", + " -84.52444400046097,\n", + " 39.129659999873425\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52234400046119,\n", + " 39.129559999873415\n", + " ],\n", + " [\n", + " -84.52194400046125,\n", + " 39.13165999987322\n", + " ],\n", + " [\n", + " -84.52184400046129,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.52098700046135,\n", + " 39.13284599987314\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13275999987314\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13255999987314\n", + " ],\n", + " [\n", + " -84.5204120004614,\n", + " 39.131505999873255\n", + " ],\n", + " [\n", + " -84.5205440004614,\n", + " 39.12945999987345\n", + " ],\n", + " [\n", + " -84.52234400046119,\n", + " 39.129559999873415\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52294400046114,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.52184400046129,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.52194400046125,\n", + " 39.13165999987322\n", + " ],\n", + " [\n", + " -84.52304400046114,\n", + " 39.131759999873225\n", + " ],\n", + " [\n", + " -84.52301200046112,\n", + " 39.1321479998732\n", + " ],\n", + " [\n", + " -84.52294400046114,\n", + " 39.13295999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52074400046135,\n", + " 39.127659999873586\n", + " ],\n", + " [\n", + " -84.52064400046136,\n", + " 39.12835999987354\n", + " ],\n", + " [\n", + " -84.51964400046147,\n", + " 39.12825999987355\n", + " ],\n", + " [\n", + " -84.51894400046154,\n", + " 39.12825999987357\n", + " ],\n", + " [\n", + " -84.51904400046153,\n", + " 39.127559999873625\n", + " ],\n", + " [\n", + " -84.52024400046139,\n", + " 39.127659999873586\n", + " ],\n", + " [\n", + " -84.52074400046135,\n", + " 39.127659999873586\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51904400046153,\n", + " 39.127559999873625\n", + " ],\n", + " [\n", + " -84.51894400046154,\n", + " 39.12825999987357\n", + " ],\n", + " [\n", + " -84.51814400046163,\n", + " 39.12815999987359\n", + " ],\n", + " [\n", + " -84.51814400046162,\n", + " 39.12745999987365\n", + " ],\n", + " [\n", + " -84.51904400046153,\n", + " 39.127559999873625\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52034400046142,\n", + " 39.13255999987314\n", + " ],\n", + " [\n", + " -84.5194440004615,\n", + " 39.131059999873294\n", + " ],\n", + " [\n", + " -84.51964400046148,\n", + " 39.13025999987335\n", + " ],\n", + " [\n", + " -84.5203440004614,\n", + " 39.12945999987346\n", + " ],\n", + " [\n", + " -84.5205440004614,\n", + " 39.12945999987345\n", + " ],\n", + " [\n", + " -84.5204120004614,\n", + " 39.131505999873255\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13255999987314\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52024400046143,\n", + " 39.13305999987312\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13355999987304\n", + " ],\n", + " [\n", + " -84.51984400046149,\n", + " 39.13305999987312\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13255999987314\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13275999987314\n", + " ],\n", + " [\n", + " -84.52024400046143,\n", + " 39.13305999987312\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51904400046153,\n", + " 39.12855999987355\n", + " ],\n", + " [\n", + " -84.51914400046155,\n", + " 39.12975999987343\n", + " ],\n", + " [\n", + " -84.51844400046163,\n", + " 39.130159999873385\n", + " ],\n", + " [\n", + " -84.51734400046173,\n", + " 39.12985999987343\n", + " ],\n", + " [\n", + " -84.51744400046172,\n", + " 39.12965999987345\n", + " ],\n", + " [\n", + " -84.51754400046171,\n", + " 39.12945999987347\n", + " ],\n", + " [\n", + " -84.51824400046162,\n", + " 39.12865999987352\n", + " ],\n", + " [\n", + " -84.51904400046153,\n", + " 39.12855999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5194440004615,\n", + " 39.131059999873294\n", + " ],\n", + " [\n", + " -84.51914400046155,\n", + " 39.13225999987319\n", + " ],\n", + " [\n", + " -84.51794400046168,\n", + " 39.13195999987321\n", + " ],\n", + " [\n", + " -84.51614400046188,\n", + " 39.13235999987321\n", + " ],\n", + " [\n", + " -84.51693200046178,\n", + " 39.13071799987334\n", + " ],\n", + " [\n", + " -84.51734400046173,\n", + " 39.12985999987343\n", + " ],\n", + " [\n", + " -84.51844400046163,\n", + " 39.130159999873385\n", + " ],\n", + " [\n", + " -84.51914400046155,\n", + " 39.12975999987343\n", + " ],\n", + " [\n", + " -84.51904400046153,\n", + " 39.12855999987355\n", + " ],\n", + " [\n", + " -84.5194440004615,\n", + " 39.12855999987354\n", + " ],\n", + " [\n", + " -84.51964400046147,\n", + " 39.12825999987355\n", + " ],\n", + " [\n", + " -84.52064400046136,\n", + " 39.12835999987354\n", + " ],\n", + " [\n", + " -84.5205440004614,\n", + " 39.12945999987345\n", + " ],\n", + " [\n", + " -84.5203440004614,\n", + " 39.12945999987346\n", + " ],\n", + " [\n", + " -84.51964400046148,\n", + " 39.13025999987335\n", + " ],\n", + " [\n", + " -84.5194440004615,\n", + " 39.131059999873294\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5264440004608,\n", + " 39.13445999987294\n", + " ],\n", + " [\n", + " -84.5262440004608,\n", + " 39.135759999872825\n", + " ],\n", + " [\n", + " -84.52504400046094,\n", + " 39.13555999987286\n", + " ],\n", + " [\n", + " -84.52434400046101,\n", + " 39.13545999987286\n", + " ],\n", + " [\n", + " -84.52004400046148,\n", + " 39.13505999987293\n", + " ],\n", + " [\n", + " -84.52014400046147,\n", + " 39.134259999873\n", + " ],\n", + " [\n", + " -84.52084500046139,\n", + " 39.13425999987298\n", + " ],\n", + " [\n", + " -84.5217440004613,\n", + " 39.13425999987298\n", + " ],\n", + " [\n", + " -84.52284400046116,\n", + " 39.13435999987296\n", + " ],\n", + " [\n", + " -84.52424400046101,\n", + " 39.13435999987296\n", + " ],\n", + " [\n", + " -84.524462000461,\n", + " 39.13436999987297\n", + " ],\n", + " [\n", + " -84.5264440004608,\n", + " 39.13445999987294\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52294400046114,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.52284400046116,\n", + " 39.13435999987296\n", + " ],\n", + " [\n", + " -84.5217440004613,\n", + " 39.13425999987298\n", + " ],\n", + " [\n", + " -84.52184400046129,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.52294400046114,\n", + " 39.13295999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52184400046129,\n", + " 39.13295999987311\n", + " ],\n", + " [\n", + " -84.5217440004613,\n", + " 39.13425999987298\n", + " ],\n", + " [\n", + " -84.52084500046139,\n", + " 39.13425999987298\n", + " ],\n", + " [\n", + " -84.52098700046135,\n", + " 39.13284599987314\n", + " ],\n", + " [\n", + " -84.52184400046129,\n", + " 39.13295999987311\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52084500046139,\n", + " 39.13425999987298\n", + " ],\n", + " [\n", + " -84.52014400046147,\n", + " 39.134259999873\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13375999987304\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13355999987304\n", + " ],\n", + " [\n", + " -84.52074400046138,\n", + " 39.13325999987309\n", + " ],\n", + " [\n", + " -84.52024400046143,\n", + " 39.13305999987312\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13275999987314\n", + " ],\n", + " [\n", + " -84.52098700046135,\n", + " 39.13284599987314\n", + " ],\n", + " [\n", + " -84.52084500046139,\n", + " 39.13425999987298\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52024400046143,\n", + " 39.13305999987312\n", + " ],\n", + " [\n", + " -84.52074400046138,\n", + " 39.13325999987309\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13355999987304\n", + " ],\n", + " [\n", + " -84.52024400046143,\n", + " 39.13305999987312\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52014400046147,\n", + " 39.134259999873\n", + " ],\n", + " [\n", + " -84.52004400046148,\n", + " 39.13505999987293\n", + " ],\n", + " [\n", + " -84.51914400046158,\n", + " 39.134959999872954\n", + " ],\n", + " [\n", + " -84.51744400046175,\n", + " 39.134959999872954\n", + " ],\n", + " [\n", + " -84.5177440004617,\n", + " 39.134159999873\n", + " ],\n", + " [\n", + " -84.51884400046161,\n", + " 39.133659999873075\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13375999987304\n", + " ],\n", + " [\n", + " -84.52014400046147,\n", + " 39.134259999873\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.52024400046145,\n", + " 39.13355999987304\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13375999987304\n", + " ],\n", + " [\n", + " -84.51884400046161,\n", + " 39.133659999873075\n", + " ],\n", + " [\n", + " -84.5177440004617,\n", + " 39.134159999873\n", + " ],\n", + " [\n", + " -84.51744400046175,\n", + " 39.134959999872954\n", + " ],\n", + " [\n", + " -84.51644400046186,\n", + " 39.13505999987293\n", + " ],\n", + " [\n", + " -84.51474400046204,\n", + " 39.13565999987291\n", + " ],\n", + " [\n", + " -84.51484400046203,\n", + " 39.13425999987301\n", + " ],\n", + " [\n", + " -84.515044000462,\n", + " 39.13305999987313\n", + " ],\n", + " [\n", + " -84.51614400046188,\n", + " 39.13235999987321\n", + " ],\n", + " [\n", + " -84.51794400046168,\n", + " 39.13195999987321\n", + " ],\n", + " [\n", + " -84.51914400046155,\n", + " 39.13225999987319\n", + " ],\n", + " [\n", + " -84.5194440004615,\n", + " 39.131059999873294\n", + " ],\n", + " [\n", + " -84.52034400046142,\n", + " 39.13255999987314\n", + " ],\n", + " [\n", + " -84.51984400046149,\n", + " 39.13305999987312\n", + " ],\n", + " [\n", + " -84.52024400046145,\n", + " 39.13355999987304\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49394300046424,\n", + " 39.12585999987388\n", + " ],\n", + " [\n", + " -84.49364300046426,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.125359999873936\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12535999987392\n", + " ],\n", + " [\n", + " -84.49394300046424,\n", + " 39.12585999987388\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4943430004642,\n", + " 39.12635999987383\n", + " ],\n", + " [\n", + " -84.49424300046421,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.4935430004643,\n", + " 39.12745999987376\n", + " ],\n", + " [\n", + " -84.49354300046429,\n", + " 39.12635999987383\n", + " ],\n", + " [\n", + " -84.4943430004642,\n", + " 39.12635999987383\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49314300046431,\n", + " 39.12505999987396\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.125359999873936\n", + " ],\n", + " [\n", + " -84.49154300046447,\n", + " 39.12525999987394\n", + " ],\n", + " [\n", + " -84.49164300046446,\n", + " 39.12495999987399\n", + " ],\n", + " [\n", + " -84.49314300046431,\n", + " 39.12505999987396\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49354300046429,\n", + " 39.12635999987383\n", + " ],\n", + " [\n", + " -84.4935430004643,\n", + " 39.12745999987376\n", + " ],\n", + " [\n", + " -84.49224300046444,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.4924430004644,\n", + " 39.125759999873914\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.49364300046426,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.49354300046429,\n", + " 39.12635999987383\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49484300046416,\n", + " 39.12805999987366\n", + " ],\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49324300046433,\n", + " 39.12925999987357\n", + " ],\n", + " [\n", + " -84.4935430004643,\n", + " 39.12745999987376\n", + " ],\n", + " [\n", + " -84.49424300046421,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12745999987374\n", + " ],\n", + " [\n", + " -84.49484300046416,\n", + " 39.12805999987366\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4935430004643,\n", + " 39.12745999987376\n", + " ],\n", + " [\n", + " -84.49324300046433,\n", + " 39.12925999987357\n", + " ],\n", + " [\n", + " -84.49214300046445,\n", + " 39.12915999987361\n", + " ],\n", + " [\n", + " -84.49224300046444,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.4935430004643,\n", + " 39.12745999987376\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4953430004641,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.4946430004642,\n", + " 39.13085999987343\n", + " ],\n", + " [\n", + " -84.49394300046428,\n", + " 39.13235999987328\n", + " ],\n", + " [\n", + " -84.4936430004643,\n", + " 39.13235999987327\n", + " ],\n", + " [\n", + " -84.49394300046427,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.4953430004641,\n", + " 39.12935999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4946430004642,\n", + " 39.13085999987343\n", + " ],\n", + " [\n", + " -84.4953430004641,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49564300046407,\n", + " 39.129359999873536\n", + " ],\n", + " [\n", + " -84.496243000464,\n", + " 39.129459999873546\n", + " ],\n", + " [\n", + " -84.49614300046402,\n", + " 39.13055999987345\n", + " ],\n", + " [\n", + " -84.49604300046406,\n", + " 39.13185999987332\n", + " ],\n", + " [\n", + " -84.49574300046409,\n", + " 39.13255999987324\n", + " ],\n", + " [\n", + " -84.49484300046419,\n", + " 39.13255999987326\n", + " ],\n", + " [\n", + " -84.49394300046428,\n", + " 39.13235999987328\n", + " ],\n", + " [\n", + " -84.4946430004642,\n", + " 39.13085999987343\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49394300046427,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49314300046436,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49294300046438,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49284300046439,\n", + " 39.1322599998733\n", + " ],\n", + " [\n", + " -84.49184300046453,\n", + " 39.13215999987331\n", + " ],\n", + " [\n", + " -84.49204300046448,\n", + " 39.129759999873535\n", + " ],\n", + " [\n", + " -84.49214300046445,\n", + " 39.12915999987361\n", + " ],\n", + " [\n", + " -84.49324300046433,\n", + " 39.12925999987357\n", + " ],\n", + " [\n", + " -84.49464300046418,\n", + " 39.12935999987355\n", + " ],\n", + " [\n", + " -84.49294300046438,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49284300046439,\n", + " 39.1322599998733\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49394300046427,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.4936430004643,\n", + " 39.13235999987327\n", + " ],\n", + " [\n", + " -84.49284300046439,\n", + " 39.1322599998733\n", + " ],\n", + " [\n", + " -84.49294300046438,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49314300046436,\n", + " 39.13115999987341\n", + " ],\n", + " [\n", + " -84.49394300046427,\n", + " 39.13115999987341\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5012430004635,\n", + " 39.13285999987319\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.134859999873\n", + " ],\n", + " [\n", + " -84.50054300046358,\n", + " 39.13485999987302\n", + " ],\n", + " [\n", + " -84.49894300046375,\n", + " 39.13475999987305\n", + " ],\n", + " [\n", + " -84.49913700046373,\n", + " 39.13443699987308\n", + " ],\n", + " [\n", + " -84.49954300046369,\n", + " 39.13375999987313\n", + " ],\n", + " [\n", + " -84.49954300046369,\n", + " 39.133259999873175\n", + " ],\n", + " [\n", + " -84.49964300046366,\n", + " 39.13265999987324\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.132359999873266\n", + " ],\n", + " [\n", + " -84.5012430004635,\n", + " 39.13285999987319\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50084300046358,\n", + " 39.13635999987288\n", + " ],\n", + " [\n", + " -84.5006430004636,\n", + " 39.138359999872684\n", + " ],\n", + " [\n", + " -84.49844300046384,\n", + " 39.13815999987272\n", + " ],\n", + " [\n", + " -84.49844300046382,\n", + " 39.13735999987279\n", + " ],\n", + " [\n", + " -84.4986430004638,\n", + " 39.135759999872946\n", + " ],\n", + " [\n", + " -84.49874300046378,\n", + " 39.13465999987304\n", + " ],\n", + " [\n", + " -84.49894300046375,\n", + " 39.13475999987305\n", + " ],\n", + " [\n", + " -84.50054300046358,\n", + " 39.13485999987302\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.134859999873\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.13519099987299\n", + " ],\n", + " [\n", + " -84.50094300046354,\n", + " 39.135659999872956\n", + " ],\n", + " [\n", + " -84.50084300046358,\n", + " 39.13635999987288\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49964300046366,\n", + " 39.13265999987324\n", + " ],\n", + " [\n", + " -84.49954300046369,\n", + " 39.133259999873175\n", + " ],\n", + " [\n", + " -84.49954300046369,\n", + " 39.13375999987313\n", + " ],\n", + " [\n", + " -84.49913700046373,\n", + " 39.13443699987308\n", + " ],\n", + " [\n", + " -84.49894300046375,\n", + " 39.13475999987305\n", + " ],\n", + " [\n", + " -84.49874300046378,\n", + " 39.13465999987304\n", + " ],\n", + " [\n", + " -84.4976430004639,\n", + " 39.13455999987308\n", + " ],\n", + " [\n", + " -84.496838000464,\n", + " 39.13456299987309\n", + " ],\n", + " [\n", + " -84.49684300046397,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49704300046395,\n", + " 39.13265999987325\n", + " ],\n", + " [\n", + " -84.49764300046388,\n", + " 39.13265999987326\n", + " ],\n", + " [\n", + " -84.49794300046385,\n", + " 39.13265999987325\n", + " ],\n", + " [\n", + " -84.49964300046366,\n", + " 39.13265999987324\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49704300046395,\n", + " 39.13265999987325\n", + " ],\n", + " [\n", + " -84.49684300046397,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49604300046407,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49624300046402,\n", + " 39.13255999987324\n", + " ],\n", + " [\n", + " -84.49704300046395,\n", + " 39.13265999987325\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49874300046378,\n", + " 39.13465999987304\n", + " ],\n", + " [\n", + " -84.4986430004638,\n", + " 39.135759999872946\n", + " ],\n", + " [\n", + " -84.49844300046382,\n", + " 39.13735999987279\n", + " ],\n", + " [\n", + " -84.4960430004641,\n", + " 39.137259999872825\n", + " ],\n", + " [\n", + " -84.4960430004641,\n", + " 39.137059999872825\n", + " ],\n", + " [\n", + " -84.496743000464,\n", + " 39.13565999987297\n", + " ],\n", + " [\n", + " -84.496743000464,\n", + " 39.13475999987305\n", + " ],\n", + " [\n", + " -84.496838000464,\n", + " 39.13456299987309\n", + " ],\n", + " [\n", + " -84.4976430004639,\n", + " 39.13455999987308\n", + " ],\n", + " [\n", + " -84.49874300046378,\n", + " 39.13465999987304\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5006430004636,\n", + " 39.138359999872684\n", + " ],\n", + " [\n", + " -84.50054300046362,\n", + " 39.13935999987259\n", + " ],\n", + " [\n", + " -84.49834300046383,\n", + " 39.13945999987261\n", + " ],\n", + " [\n", + " -84.49834300046383,\n", + " 39.13885999987267\n", + " ],\n", + " [\n", + " -84.49844300046384,\n", + " 39.13815999987272\n", + " ],\n", + " [\n", + " -84.5006430004636,\n", + " 39.138359999872684\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50054300046362,\n", + " 39.13935999987259\n", + " ],\n", + " [\n", + " -84.50054300046362,\n", + " 39.139659999872585\n", + " ],\n", + " [\n", + " -84.50034300046366,\n", + " 39.1406599998725\n", + " ],\n", + " [\n", + " -84.49824300046387,\n", + " 39.1406599998725\n", + " ],\n", + " [\n", + " -84.49834300046385,\n", + " 39.140159999872544\n", + " ],\n", + " [\n", + " -84.49834300046383,\n", + " 39.13945999987261\n", + " ],\n", + " [\n", + " -84.50054300046362,\n", + " 39.13935999987259\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50024300046367,\n", + " 39.1416599998724\n", + " ],\n", + " [\n", + " -84.49974300046372,\n", + " 39.141559999872406\n", + " ],\n", + " [\n", + " -84.49984300046371,\n", + " 39.14125999987244\n", + " ],\n", + " [\n", + " -84.49884300046381,\n", + " 39.14125999987244\n", + " ],\n", + " [\n", + " -84.49884300046381,\n", + " 39.141559999872406\n", + " ],\n", + " [\n", + " -84.49814300046388,\n", + " 39.14155999987243\n", + " ],\n", + " [\n", + " -84.49824300046387,\n", + " 39.1406599998725\n", + " ],\n", + " [\n", + " -84.50034300046366,\n", + " 39.1406599998725\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1416599998724\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49844300046384,\n", + " 39.13815999987272\n", + " ],\n", + " [\n", + " -84.49834300046383,\n", + " 39.13885999987267\n", + " ],\n", + " [\n", + " -84.49654300046404,\n", + " 39.13875999987268\n", + " ],\n", + " [\n", + " -84.49654300046404,\n", + " 39.13805999987273\n", + " ],\n", + " [\n", + " -84.49844300046384,\n", + " 39.13815999987272\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49844300046382,\n", + " 39.13735999987279\n", + " ],\n", + " [\n", + " -84.49844300046384,\n", + " 39.13815999987272\n", + " ],\n", + " [\n", + " -84.49654300046404,\n", + " 39.13805999987273\n", + " ],\n", + " [\n", + " -84.49544300046415,\n", + " 39.13795999987277\n", + " ],\n", + " [\n", + " -84.4960430004641,\n", + " 39.137259999872825\n", + " ],\n", + " [\n", + " -84.49844300046382,\n", + " 39.13735999987279\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49814300046388,\n", + " 39.14155999987243\n", + " ],\n", + " [\n", + " -84.4981430004639,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.49664300046405,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.49684300046403,\n", + " 39.141159999872464\n", + " ],\n", + " [\n", + " -84.49674300046404,\n", + " 39.140759999872486\n", + " ],\n", + " [\n", + " -84.49674300046402,\n", + " 39.14015999987255\n", + " ],\n", + " [\n", + " -84.49834300046385,\n", + " 39.140159999872544\n", + " ],\n", + " [\n", + " -84.49824300046387,\n", + " 39.1406599998725\n", + " ],\n", + " [\n", + " -84.49814300046388,\n", + " 39.14155999987243\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49624300046402,\n", + " 39.13255999987324\n", + " ],\n", + " [\n", + " -84.49604300046407,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49464300046422,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49484300046419,\n", + " 39.13255999987326\n", + " ],\n", + " [\n", + " -84.49574300046409,\n", + " 39.13255999987324\n", + " ],\n", + " [\n", + " -84.49624300046402,\n", + " 39.13255999987324\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.496743000464,\n", + " 39.13565999987297\n", + " ],\n", + " [\n", + " -84.49564300046411,\n", + " 39.13565999987297\n", + " ],\n", + " [\n", + " -84.49574600046411,\n", + " 39.13456799987306\n", + " ],\n", + " [\n", + " -84.49603300046407,\n", + " 39.13456699987308\n", + " ],\n", + " [\n", + " -84.496838000464,\n", + " 39.13456299987309\n", + " ],\n", + " [\n", + " -84.496743000464,\n", + " 39.13475999987305\n", + " ],\n", + " [\n", + " -84.496743000464,\n", + " 39.13565999987297\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49684300046397,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.496838000464,\n", + " 39.13456299987309\n", + " ],\n", + " [\n", + " -84.49603300046407,\n", + " 39.13456699987308\n", + " ],\n", + " [\n", + " -84.49574600046411,\n", + " 39.13456799987306\n", + " ],\n", + " [\n", + " -84.4949400004642,\n", + " 39.13446999987309\n", + " ],\n", + " [\n", + " -84.49474300046421,\n", + " 39.13445999987308\n", + " ],\n", + " [\n", + " -84.49354300046434,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49354300046434,\n", + " 39.134259999873116\n", + " ],\n", + " [\n", + " -84.49464300046422,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49604300046407,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49684300046397,\n", + " 39.13435999987308\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49574600046411,\n", + " 39.13456799987306\n", + " ],\n", + " [\n", + " -84.49564300046411,\n", + " 39.13565999987297\n", + " ],\n", + " [\n", + " -84.49474300046423,\n", + " 39.13555999987299\n", + " ],\n", + " [\n", + " -84.49494300046419,\n", + " 39.134559999873105\n", + " ],\n", + " [\n", + " -84.4949400004642,\n", + " 39.13446999987309\n", + " ],\n", + " [\n", + " -84.49574600046411,\n", + " 39.13456799987306\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4960430004641,\n", + " 39.137059999872825\n", + " ],\n", + " [\n", + " -84.49514300046418,\n", + " 39.13685999987286\n", + " ],\n", + " [\n", + " -84.49374300046433,\n", + " 39.136759999872865\n", + " ],\n", + " [\n", + " -84.49354300046434,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49474300046421,\n", + " 39.13445999987308\n", + " ],\n", + " [\n", + " -84.4949400004642,\n", + " 39.13446999987309\n", + " ],\n", + " [\n", + " -84.49494300046419,\n", + " 39.134559999873105\n", + " ],\n", + " [\n", + " -84.49474300046423,\n", + " 39.13555999987299\n", + " ],\n", + " [\n", + " -84.49564300046411,\n", + " 39.13565999987297\n", + " ],\n", + " [\n", + " -84.496743000464,\n", + " 39.13565999987297\n", + " ],\n", + " [\n", + " -84.4960430004641,\n", + " 39.137059999872825\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49464300046422,\n", + " 39.13435999987308\n", + " ],\n", + " [\n", + " -84.49354300046434,\n", + " 39.134259999873116\n", + " ],\n", + " [\n", + " -84.49354300046434,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49294300046441,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49394300046428,\n", + " 39.13235999987328\n", + " ],\n", + " [\n", + " -84.49484300046419,\n", + " 39.13255999987326\n", + " ],\n", + " [\n", + " -84.49464300046422,\n", + " 39.13435999987308\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49394300046428,\n", + " 39.13235999987328\n", + " ],\n", + " [\n", + " -84.49294300046441,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49234300046446,\n", + " 39.13435999987311\n", + " ],\n", + " [\n", + " -84.49244300046446,\n", + " 39.13415999987311\n", + " ],\n", + " [\n", + " -84.49284300046439,\n", + " 39.1322599998733\n", + " ],\n", + " [\n", + " -84.4936430004643,\n", + " 39.13235999987327\n", + " ],\n", + " [\n", + " -84.49394300046428,\n", + " 39.13235999987328\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49354300046434,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49374300046433,\n", + " 39.136759999872865\n", + " ],\n", + " [\n", + " -84.49234300046447,\n", + " 39.13675999987287\n", + " ],\n", + " [\n", + " -84.49224300046448,\n", + " 39.135659999872985\n", + " ],\n", + " [\n", + " -84.49221400046447,\n", + " 39.135337999873\n", + " ],\n", + " [\n", + " -84.49244300046446,\n", + " 39.135159999873025\n", + " ],\n", + " [\n", + " -84.49294300046441,\n", + " 39.134459999873094\n", + " ],\n", + " [\n", + " -84.49354300046434,\n", + " 39.134459999873094\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49654300046404,\n", + " 39.13805999987273\n", + " ],\n", + " [\n", + " -84.49654300046404,\n", + " 39.13875999987268\n", + " ],\n", + " [\n", + " -84.4949430004642,\n", + " 39.13855999987269\n", + " ],\n", + " [\n", + " -84.49524300046419,\n", + " 39.13825999987273\n", + " ],\n", + " [\n", + " -84.49544300046415,\n", + " 39.13795999987277\n", + " ],\n", + " [\n", + " -84.49654300046404,\n", + " 39.13805999987273\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49834300046383,\n", + " 39.13945999987261\n", + " ],\n", + " [\n", + " -84.49834300046385,\n", + " 39.140159999872544\n", + " ],\n", + " [\n", + " -84.49674300046402,\n", + " 39.14015999987255\n", + " ],\n", + " [\n", + " -84.49354300046437,\n", + " 39.13995999987257\n", + " ],\n", + " [\n", + " -84.49444300046427,\n", + " 39.139159999872646\n", + " ],\n", + " [\n", + " -84.4949430004642,\n", + " 39.13855999987269\n", + " ],\n", + " [\n", + " -84.49654300046404,\n", + " 39.13875999987268\n", + " ],\n", + " [\n", + " -84.49834300046383,\n", + " 39.13885999987267\n", + " ],\n", + " [\n", + " -84.49834300046383,\n", + " 39.13945999987261\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50704300046277,\n", + " 39.117459999874605\n", + " ],\n", + " [\n", + " -84.50604300046285,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50614300046284,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50714300046275,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50704300046277,\n", + " 39.117459999874605\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50604300046285,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50594300046288,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.50464300046302,\n", + " 39.117959999874564\n", + " ],\n", + " [\n", + " -84.50464300046302,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50604300046285,\n", + " 39.11735999987464\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50614300046284,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50604300046285,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50464300046302,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50374300046313,\n", + " 39.11735999987465\n", + " ],\n", + " [\n", + " -84.50354300046313,\n", + " 39.116359999874724\n", + " ],\n", + " [\n", + " -84.50614300046284,\n", + " 39.11655999987471\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50444300046306,\n", + " 39.120559999874324\n", + " ],\n", + " [\n", + " -84.50344300046316,\n", + " 39.120459999874356\n", + " ],\n", + " [\n", + " -84.50374300046313,\n", + " 39.11735999987465\n", + " ],\n", + " [\n", + " -84.50464300046302,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50464300046302,\n", + " 39.117959999874564\n", + " ],\n", + " [\n", + " -84.50594300046288,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.50574300046291,\n", + " 39.11965999987443\n", + " ],\n", + " [\n", + " -84.50844300046263,\n", + " 39.11985999987439\n", + " ],\n", + " [\n", + " -84.50844300046265,\n", + " 39.120459999874335\n", + " ],\n", + " [\n", + " -84.50834300046266,\n", + " 39.121459999874226\n", + " ],\n", + " [\n", + " -84.50564300046294,\n", + " 39.121359999874265\n", + " ],\n", + " [\n", + " -84.50444300046307,\n", + " 39.121259999874276\n", + " ],\n", + " [\n", + " -84.50444300046306,\n", + " 39.120559999874324\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50834300046266,\n", + " 39.121459999874226\n", + " ],\n", + " [\n", + " -84.50834300046266,\n", + " 39.12195999987419\n", + " ],\n", + " [\n", + " -84.50564300046294,\n", + " 39.12175999987422\n", + " ],\n", + " [\n", + " -84.50564300046294,\n", + " 39.121359999874265\n", + " ],\n", + " [\n", + " -84.50834300046266,\n", + " 39.121459999874226\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50834300046267,\n", + " 39.123959999873996\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12425999987398\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.124259999874\n", + " ],\n", + " [\n", + " -84.5043430004631,\n", + " 39.124159999874\n", + " ],\n", + " [\n", + " -84.50444300046308,\n", + " 39.12355999987404\n", + " ],\n", + " [\n", + " -84.50664300046284,\n", + " 39.12355999987404\n", + " ],\n", + " [\n", + " -84.50664300046284,\n", + " 39.12275999987412\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12265999987413\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.123959999873996\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50834300046267,\n", + " 39.12505999987389\n", + " ],\n", + " [\n", + " -84.50824300046268,\n", + " 39.12555999987385\n", + " ],\n", + " [\n", + " -84.50674300046285,\n", + " 39.125459999873875\n", + " ],\n", + " [\n", + " -84.50604300046291,\n", + " 39.125059999873905\n", + " ],\n", + " [\n", + " -84.50564300046297,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.124259999874\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12425999987398\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12505999987389\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50834300046266,\n", + " 39.12195999987419\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12265999987413\n", + " ],\n", + " [\n", + " -84.50664300046284,\n", + " 39.12275999987412\n", + " ],\n", + " [\n", + " -84.5042430004631,\n", + " 39.12255999987417\n", + " ],\n", + " [\n", + " -84.50444300046307,\n", + " 39.121259999874276\n", + " ],\n", + " [\n", + " -84.50564300046294,\n", + " 39.121359999874265\n", + " ],\n", + " [\n", + " -84.50564300046294,\n", + " 39.12175999987422\n", + " ],\n", + " [\n", + " -84.50834300046266,\n", + " 39.12195999987419\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50664300046284,\n", + " 39.12275999987412\n", + " ],\n", + " [\n", + " -84.50664300046284,\n", + " 39.12355999987404\n", + " ],\n", + " [\n", + " -84.50444300046308,\n", + " 39.12355999987404\n", + " ],\n", + " [\n", + " -84.50414300046312,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.5042430004631,\n", + " 39.12255999987417\n", + " ],\n", + " [\n", + " -84.50664300046284,\n", + " 39.12275999987412\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50344300046316,\n", + " 39.120459999874356\n", + " ],\n", + " [\n", + " -84.50244300046329,\n", + " 39.12035999987436\n", + " ],\n", + " [\n", + " -84.50274300046323,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50374300046313,\n", + " 39.11735999987465\n", + " ],\n", + " [\n", + " -84.50344300046316,\n", + " 39.120459999874356\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50244300046329,\n", + " 39.12035999987436\n", + " ],\n", + " [\n", + " -84.50224300046331,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50154300046339,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50114300046343,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50081300046347,\n", + " 39.121369999874275\n", + " ],\n", + " [\n", + " -84.50074300046347,\n", + " 39.12115999987429\n", + " ],\n", + " [\n", + " -84.49994300046355,\n", + " 39.11945999987446\n", + " ],\n", + " [\n", + " -84.5001430004635,\n", + " 39.117559999874615\n", + " ],\n", + " [\n", + " -84.50174300046334,\n", + " 39.117459999874605\n", + " ],\n", + " [\n", + " -84.50274300046323,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50244300046329,\n", + " 39.12035999987436\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50444300046307,\n", + " 39.121259999874276\n", + " ],\n", + " [\n", + " -84.5042430004631,\n", + " 39.12255999987417\n", + " ],\n", + " [\n", + " -84.50324300046321,\n", + " 39.12245999987417\n", + " ],\n", + " [\n", + " -84.50344300046316,\n", + " 39.120459999874356\n", + " ],\n", + " [\n", + " -84.50444300046306,\n", + " 39.120559999874324\n", + " ],\n", + " [\n", + " -84.50444300046307,\n", + " 39.121259999874276\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50324300046321,\n", + " 39.12245999987417\n", + " ],\n", + " [\n", + " -84.50224300046331,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50244300046329,\n", + " 39.12035999987436\n", + " ],\n", + " [\n", + " -84.50344300046316,\n", + " 39.120459999874356\n", + " ],\n", + " [\n", + " -84.50324300046321,\n", + " 39.12245999987417\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50314300046323,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.50214300046333,\n", + " 39.12335999987408\n", + " ],\n", + " [\n", + " -84.50224300046331,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50324300046321,\n", + " 39.12245999987417\n", + " ],\n", + " [\n", + " -84.50314300046323,\n", + " 39.12345999987407\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5042430004631,\n", + " 39.12255999987417\n", + " ],\n", + " [\n", + " -84.50414300046312,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.50314300046323,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.50324300046321,\n", + " 39.12245999987417\n", + " ],\n", + " [\n", + " -84.5042430004631,\n", + " 39.12255999987417\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50444300046308,\n", + " 39.12355999987404\n", + " ],\n", + " [\n", + " -84.5043430004631,\n", + " 39.124159999874\n", + " ],\n", + " [\n", + " -84.50334300046322,\n", + " 39.124159999873996\n", + " ],\n", + " [\n", + " -84.50314300046323,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.50414300046312,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.50444300046308,\n", + " 39.12355999987404\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50474300046305,\n", + " 39.124259999874\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.12495999987392\n", + " ],\n", + " [\n", + " -84.5034430004632,\n", + " 39.12485999987395\n", + " ],\n", + " [\n", + " -84.50334300046322,\n", + " 39.124159999873996\n", + " ],\n", + " [\n", + " -84.5043430004631,\n", + " 39.124159999874\n", + " ],\n", + " [\n", + " -84.50474300046305,\n", + " 39.124259999874\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50334300046322,\n", + " 39.124159999873996\n", + " ],\n", + " [\n", + " -84.5034430004632,\n", + " 39.12485999987395\n", + " ],\n", + " [\n", + " -84.5025430004633,\n", + " 39.12485999987396\n", + " ],\n", + " [\n", + " -84.5025430004633,\n", + " 39.124259999874\n", + " ],\n", + " [\n", + " -84.50234300046331,\n", + " 39.123959999874025\n", + " ],\n", + " [\n", + " -84.50214300046333,\n", + " 39.12335999987408\n", + " ],\n", + " [\n", + " -84.50314300046323,\n", + " 39.12345999987407\n", + " ],\n", + " [\n", + " -84.50334300046322,\n", + " 39.124159999873996\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50214300046333,\n", + " 39.12335999987408\n", + " ],\n", + " [\n", + " -84.50114300046344,\n", + " 39.12325999987408\n", + " ],\n", + " [\n", + " -84.50114300046343,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50154300046339,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50224300046331,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50214300046333,\n", + " 39.12335999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50214300046333,\n", + " 39.12335999987408\n", + " ],\n", + " [\n", + " -84.50234300046331,\n", + " 39.123959999874025\n", + " ],\n", + " [\n", + " -84.5025430004633,\n", + " 39.124259999874\n", + " ],\n", + " [\n", + " -84.5025430004633,\n", + " 39.12485999987396\n", + " ],\n", + " [\n", + " -84.50174300046339,\n", + " 39.12475999987396\n", + " ],\n", + " [\n", + " -84.50114300046344,\n", + " 39.12325999987408\n", + " ],\n", + " [\n", + " -84.50214300046333,\n", + " 39.12335999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50114300046344,\n", + " 39.12325999987408\n", + " ],\n", + " [\n", + " -84.50174300046339,\n", + " 39.12475999987396\n", + " ],\n", + " [\n", + " -84.50014300046355,\n", + " 39.12465999987397\n", + " ],\n", + " [\n", + " -84.50034300046353,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.50114300046343,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50114300046344,\n", + " 39.12325999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50074300046342,\n", + " 39.11285999987504\n", + " ],\n", + " [\n", + " -84.50064300046343,\n", + " 39.113159999875045\n", + " ],\n", + " [\n", + " -84.50064300046343,\n", + " 39.11355999987502\n", + " ],\n", + " [\n", + " -84.50064300046343,\n", + " 39.11375999987498\n", + " ],\n", + " [\n", + " -84.50044300046345,\n", + " 39.114359999874935\n", + " ],\n", + " [\n", + " -84.49974300046355,\n", + " 39.1169599998747\n", + " ],\n", + " [\n", + " -84.49964300046355,\n", + " 39.11715999987465\n", + " ],\n", + " [\n", + " -84.49944300046359,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.49884300046364,\n", + " 39.11745999987464\n", + " ],\n", + " [\n", + " -84.49864300046367,\n", + " 39.11715999987466\n", + " ],\n", + " [\n", + " -84.49895600046362,\n", + " 39.11617399987476\n", + " ],\n", + " [\n", + " -84.49994300046352,\n", + " 39.11355999987502\n", + " ],\n", + " [\n", + " -84.49994300046352,\n", + " 39.11335999987502\n", + " ],\n", + " [\n", + " -84.50024300046346,\n", + " 39.11275999987505\n", + " ],\n", + " [\n", + " -84.50074300046342,\n", + " 39.11285999987504\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49514300046425,\n", + " 39.14575999987203\n", + " ],\n", + " [\n", + " -84.4948430004643,\n", + " 39.14845999987178\n", + " ],\n", + " [\n", + " -84.49354300046444,\n", + " 39.148259999871804\n", + " ],\n", + " [\n", + " -84.49384300046441,\n", + " 39.14705999987192\n", + " ],\n", + " [\n", + " -84.49404300046436,\n", + " 39.145659999872066\n", + " ],\n", + " [\n", + " -84.49514300046425,\n", + " 39.14575999987203\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49404300046436,\n", + " 39.145659999872066\n", + " ],\n", + " [\n", + " -84.49384300046441,\n", + " 39.14705999987192\n", + " ],\n", + " [\n", + " -84.49354300046444,\n", + " 39.148259999871804\n", + " ],\n", + " [\n", + " -84.4920430004646,\n", + " 39.14805999987183\n", + " ],\n", + " [\n", + " -84.49213100046458,\n", + " 39.14691599987195\n", + " ],\n", + " [\n", + " -84.49224300046455,\n", + " 39.14545999987209\n", + " ],\n", + " [\n", + " -84.49404300046436,\n", + " 39.145659999872066\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49304300046434,\n", + " 39.125359999873936\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.4924430004644,\n", + " 39.125759999873914\n", + " ],\n", + " [\n", + " -84.49184300046447,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.49154300046449,\n", + " 39.1256599998739\n", + " ],\n", + " [\n", + " -84.49154300046447,\n", + " 39.12525999987394\n", + " ],\n", + " [\n", + " -84.49304300046434,\n", + " 39.125359999873936\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4924430004644,\n", + " 39.125759999873914\n", + " ],\n", + " [\n", + " -84.49224300046444,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.4917430004645,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.49184300046447,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.4924430004644,\n", + " 39.125759999873914\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49154300046447,\n", + " 39.12525999987394\n", + " ],\n", + " [\n", + " -84.49154300046449,\n", + " 39.1256599998739\n", + " ],\n", + " [\n", + " -84.49064300046459,\n", + " 39.1256599998739\n", + " ],\n", + " [\n", + " -84.49044300046462,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12485999987399\n", + " ],\n", + " [\n", + " -84.49104300046453,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49154300046447,\n", + " 39.12525999987394\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49114300046453,\n", + " 39.12485999987399\n", + " ],\n", + " [\n", + " -84.49044300046462,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.49014300046463,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.49044300046461,\n", + " 39.12495999987399\n", + " ],\n", + " [\n", + " -84.49054300046461,\n", + " 39.12475999987402\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12485999987399\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4917430004645,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.49044300046464,\n", + " 39.12725999987379\n", + " ],\n", + " [\n", + " -84.49064300046459,\n", + " 39.1256599998739\n", + " ],\n", + " [\n", + " -84.49154300046449,\n", + " 39.1256599998739\n", + " ],\n", + " [\n", + " -84.49184300046447,\n", + " 39.1257599998739\n", + " ],\n", + " [\n", + " -84.4917430004645,\n", + " 39.127359999873725\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49204300046448,\n", + " 39.129759999873535\n", + " ],\n", + " [\n", + " -84.49024300046466,\n", + " 39.12965999987355\n", + " ],\n", + " [\n", + " -84.49044300046464,\n", + " 39.12725999987379\n", + " ],\n", + " [\n", + " -84.4917430004645,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.49224300046444,\n", + " 39.127359999873725\n", + " ],\n", + " [\n", + " -84.49214300046445,\n", + " 39.12915999987361\n", + " ],\n", + " [\n", + " -84.49204300046448,\n", + " 39.129759999873535\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49064300046459,\n", + " 39.1256599998739\n", + " ],\n", + " [\n", + " -84.49044300046464,\n", + " 39.12725999987379\n", + " ],\n", + " [\n", + " -84.48934300046474,\n", + " 39.12715999987378\n", + " ],\n", + " [\n", + " -84.49014300046463,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.49044300046462,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.49064300046459,\n", + " 39.1256599998739\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48914300046475,\n", + " 39.124859999874\n", + " ],\n", + " [\n", + " -84.49044300046461,\n", + " 39.12495999987399\n", + " ],\n", + " [\n", + " -84.49014300046463,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.4877430004649,\n", + " 39.125459999873954\n", + " ],\n", + " [\n", + " -84.48784300046489,\n", + " 39.124859999874026\n", + " ],\n", + " [\n", + " -84.48914300046475,\n", + " 39.124859999874\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4877430004649,\n", + " 39.125459999873954\n", + " ],\n", + " [\n", + " -84.49014300046463,\n", + " 39.125559999873914\n", + " ],\n", + " [\n", + " -84.48934300046474,\n", + " 39.12715999987378\n", + " ],\n", + " [\n", + " -84.48754300046494,\n", + " 39.126959999873826\n", + " ],\n", + " [\n", + " -84.4877430004649,\n", + " 39.125459999873954\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49024300046466,\n", + " 39.12965999987355\n", + " ],\n", + " [\n", + " -84.48934300046476,\n", + " 39.12955999987356\n", + " ],\n", + " [\n", + " -84.48844300046484,\n", + " 39.12945999987358\n", + " ],\n", + " [\n", + " -84.48854300046484,\n", + " 39.12865999987366\n", + " ],\n", + " [\n", + " -84.48934300046474,\n", + " 39.12715999987378\n", + " ],\n", + " [\n", + " -84.49044300046464,\n", + " 39.12725999987379\n", + " ],\n", + " [\n", + " -84.49024300046466,\n", + " 39.12965999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48934300046474,\n", + " 39.12715999987378\n", + " ],\n", + " [\n", + " -84.48854300046484,\n", + " 39.12865999987366\n", + " ],\n", + " [\n", + " -84.48744300046496,\n", + " 39.12865999987366\n", + " ],\n", + " [\n", + " -84.48754300046494,\n", + " 39.126959999873826\n", + " ],\n", + " [\n", + " -84.48934300046474,\n", + " 39.12715999987378\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49204300046448,\n", + " 39.129759999873535\n", + " ],\n", + " [\n", + " -84.49184300046453,\n", + " 39.13215999987331\n", + " ],\n", + " [\n", + " -84.49004300046471,\n", + " 39.13195999987333\n", + " ],\n", + " [\n", + " -84.49024300046466,\n", + " 39.12965999987355\n", + " ],\n", + " [\n", + " -84.49204300046448,\n", + " 39.129759999873535\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49184300046453,\n", + " 39.13215999987331\n", + " ],\n", + " [\n", + " -84.49284300046439,\n", + " 39.1322599998733\n", + " ],\n", + " [\n", + " -84.49244300046446,\n", + " 39.13415999987311\n", + " ],\n", + " [\n", + " -84.49174300046455,\n", + " 39.13415999987313\n", + " ],\n", + " [\n", + " -84.49174300046454,\n", + " 39.13335999987318\n", + " ],\n", + " [\n", + " -84.49184300046453,\n", + " 39.13215999987331\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49174300046454,\n", + " 39.13335999987318\n", + " ],\n", + " [\n", + " -84.48994300046472,\n", + " 39.13325999987322\n", + " ],\n", + " [\n", + " -84.49004300046471,\n", + " 39.13195999987333\n", + " ],\n", + " [\n", + " -84.49184300046453,\n", + " 39.13215999987331\n", + " ],\n", + " [\n", + " -84.49174300046454,\n", + " 39.13335999987318\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49024300046466,\n", + " 39.12965999987355\n", + " ],\n", + " [\n", + " -84.49004300046471,\n", + " 39.13195999987333\n", + " ],\n", + " [\n", + " -84.48914300046481,\n", + " 39.13195999987333\n", + " ],\n", + " [\n", + " -84.48794300046492,\n", + " 39.13185999987335\n", + " ],\n", + " [\n", + " -84.48814300046489,\n", + " 39.13085999987344\n", + " ],\n", + " [\n", + " -84.48844300046484,\n", + " 39.12945999987358\n", + " ],\n", + " [\n", + " -84.48934300046476,\n", + " 39.12955999987356\n", + " ],\n", + " [\n", + " -84.49024300046466,\n", + " 39.12965999987355\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49004300046471,\n", + " 39.13195999987333\n", + " ],\n", + " [\n", + " -84.48994300046472,\n", + " 39.13325999987322\n", + " ],\n", + " [\n", + " -84.48764300046497,\n", + " 39.13315999987322\n", + " ],\n", + " [\n", + " -84.48784300046495,\n", + " 39.13265999987328\n", + " ],\n", + " [\n", + " -84.48794300046492,\n", + " 39.13185999987335\n", + " ],\n", + " [\n", + " -84.48914300046481,\n", + " 39.13195999987333\n", + " ],\n", + " [\n", + " -84.49004300046471,\n", + " 39.13195999987333\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4877430004649,\n", + " 39.125459999873954\n", + " ],\n", + " [\n", + " -84.48754300046494,\n", + " 39.126959999873826\n", + " ],\n", + " [\n", + " -84.48594300046511,\n", + " 39.12685999987383\n", + " ],\n", + " [\n", + " -84.48604300046509,\n", + " 39.125359999873965\n", + " ],\n", + " [\n", + " -84.4877430004649,\n", + " 39.125459999873954\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48754300046494,\n", + " 39.126959999873826\n", + " ],\n", + " [\n", + " -84.48744300046496,\n", + " 39.12865999987366\n", + " ],\n", + " [\n", + " -84.4862430004651,\n", + " 39.12855999987367\n", + " ],\n", + " [\n", + " -84.48574300046513,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.48594300046511,\n", + " 39.12685999987383\n", + " ],\n", + " [\n", + " -84.48754300046494,\n", + " 39.126959999873826\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48594300046511,\n", + " 39.12685999987383\n", + " ],\n", + " [\n", + " -84.48434300046527,\n", + " 39.12675999987384\n", + " ],\n", + " [\n", + " -84.48434300046526,\n", + " 39.125159999874\n", + " ],\n", + " [\n", + " -84.48504300046518,\n", + " 39.12525999987396\n", + " ],\n", + " [\n", + " -84.48604300046509,\n", + " 39.125359999873965\n", + " ],\n", + " [\n", + " -84.48594300046511,\n", + " 39.12685999987383\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48594300046511,\n", + " 39.12685999987383\n", + " ],\n", + " [\n", + " -84.48574300046513,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.128459999873684\n", + " ],\n", + " [\n", + " -84.4842430004653,\n", + " 39.12765999987374\n", + " ],\n", + " [\n", + " -84.48434300046527,\n", + " 39.12675999987384\n", + " ],\n", + " [\n", + " -84.48594300046511,\n", + " 39.12685999987383\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48574300046513,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.48574300046515,\n", + " 39.129359999873586\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.129259999873604\n", + " ],\n", + " [\n", + " -84.48414300046532,\n", + " 39.128459999873684\n", + " ],\n", + " [\n", + " -84.48574300046513,\n", + " 39.12855999987368\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48844300046484,\n", + " 39.12945999987358\n", + " ],\n", + " [\n", + " -84.48814300046489,\n", + " 39.13085999987344\n", + " ],\n", + " [\n", + " -84.48684300046503,\n", + " 39.130859999873465\n", + " ],\n", + " [\n", + " -84.48604300046513,\n", + " 39.13075999987347\n", + " ],\n", + " [\n", + " -84.48554300046517,\n", + " 39.13075999987347\n", + " ],\n", + " [\n", + " -84.48574300046515,\n", + " 39.129359999873586\n", + " ],\n", + " [\n", + " -84.48574300046513,\n", + " 39.12855999987368\n", + " ],\n", + " [\n", + " -84.4862430004651,\n", + " 39.12855999987367\n", + " ],\n", + " [\n", + " -84.48744300046496,\n", + " 39.12865999987366\n", + " ],\n", + " [\n", + " -84.48854300046484,\n", + " 39.12865999987366\n", + " ],\n", + " [\n", + " -84.48844300046484,\n", + " 39.12945999987358\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48814300046489,\n", + " 39.13085999987344\n", + " ],\n", + " [\n", + " -84.48794300046492,\n", + " 39.13185999987335\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.13185999987336\n", + " ],\n", + " [\n", + " -84.48684300046503,\n", + " 39.130859999873465\n", + " ],\n", + " [\n", + " -84.48814300046489,\n", + " 39.13085999987344\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48794300046492,\n", + " 39.13185999987335\n", + " ],\n", + " [\n", + " -84.48784300046495,\n", + " 39.13265999987328\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.132659999873304\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.13185999987336\n", + " ],\n", + " [\n", + " -84.48794300046492,\n", + " 39.13185999987335\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48684300046503,\n", + " 39.130859999873465\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.13185999987336\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.131759999873395\n", + " ],\n", + " [\n", + " -84.48554300046517,\n", + " 39.13075999987347\n", + " ],\n", + " [\n", + " -84.48604300046513,\n", + " 39.13075999987347\n", + " ],\n", + " [\n", + " -84.48684300046503,\n", + " 39.130859999873465\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.48784300046495,\n", + " 39.13265999987328\n", + " ],\n", + " [\n", + " -84.48764300046497,\n", + " 39.13315999987322\n", + " ],\n", + " [\n", + " -84.487443000465,\n", + " 39.133459999873224\n", + " ],\n", + " [\n", + " -84.487443000465,\n", + " 39.133659999873196\n", + " ],\n", + " [\n", + " -84.48613700046513,\n", + " 39.133514999873206\n", + " ],\n", + " [\n", + " -84.48596700046515,\n", + " 39.133397999873225\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.13276599987328\n", + " ],\n", + " [\n", + " -84.48504300046523,\n", + " 39.1325599998733\n", + " ],\n", + " [\n", + " -84.4854430004652,\n", + " 39.1325599998733\n", + " ],\n", + " [\n", + " -84.48684300046504,\n", + " 39.132659999873304\n", + " ],\n", + " [\n", + " -84.48784300046495,\n", + " 39.13265999987328\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49324300046423,\n", + " 39.11405999987497\n", + " ],\n", + " [\n", + " -84.49364300046419,\n", + " 39.114359999874964\n", + " ],\n", + " [\n", + " -84.49304300046427,\n", + " 39.1148599998749\n", + " ],\n", + " [\n", + " -84.49324300046423,\n", + " 39.11405999987497\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49884300046364,\n", + " 39.11745999987464\n", + " ],\n", + " [\n", + " -84.49854300046368,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.49864300046367,\n", + " 39.11715999987466\n", + " ],\n", + " [\n", + " -84.49884300046364,\n", + " 39.11745999987464\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49864300046367,\n", + " 39.11715999987466\n", + " ],\n", + " [\n", + " -84.49854300046368,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.4984430004637,\n", + " 39.117259999874676\n", + " ],\n", + " [\n", + " -84.49864300046367,\n", + " 39.11715999987466\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49884300046364,\n", + " 39.11745999987464\n", + " ],\n", + " [\n", + " -84.49944300046359,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.49804300046375,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49814300046373,\n", + " 39.11885999987453\n", + " ],\n", + " [\n", + " -84.4984430004637,\n", + " 39.11815999987457\n", + " ],\n", + " [\n", + " -84.49854300046368,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.49884300046364,\n", + " 39.11745999987464\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50114300046343,\n", + " 39.12235999987418\n", + " ],\n", + " [\n", + " -84.50034300046353,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49874300046369,\n", + " 39.12225999987418\n", + " ],\n", + " [\n", + " -84.49874300046368,\n", + " 39.121459999874276\n", + " ],\n", + " [\n", + " -84.49874300046368,\n", + " 39.120759999874345\n", + " ],\n", + " [\n", + " -84.49824300046373,\n", + " 39.120759999874345\n", + " ],\n", + " [\n", + " -84.49824300046373,\n", + " 39.121459999874276\n", + " ],\n", + " [\n", + " -84.49824300046375,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49784300046379,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49794300046376,\n", + " 39.120759999874345\n", + " ],\n", + " [\n", + " -84.49804300046375,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49944300046359,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.5001430004635,\n", + " 39.117559999874615\n", + " ],\n", + " [\n", + " -84.49994300046355,\n", + " 39.11945999987446\n", + " ],\n", + " [\n", + " -84.50074300046347,\n", + " 39.12115999987429\n", + " ],\n", + " [\n", + " -84.50081300046347,\n", + " 39.121369999874275\n", + " ],\n", + " [\n", + " -84.50114300046343,\n", + " 39.12235999987418\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49734300046383,\n", + " 39.120259999874385\n", + " ],\n", + " [\n", + " -84.49694300046386,\n", + " 39.119459999874465\n", + " ],\n", + " [\n", + " -84.4974430004638,\n", + " 39.1191599998745\n", + " ],\n", + " [\n", + " -84.49684300046387,\n", + " 39.11855999987454\n", + " ],\n", + " [\n", + " -84.4964230004639,\n", + " 39.11813999987458\n", + " ],\n", + " [\n", + " -84.49754300046378,\n", + " 39.11645999987473\n", + " ],\n", + " [\n", + " -84.4984430004637,\n", + " 39.117259999874676\n", + " ],\n", + " [\n", + " -84.49854300046368,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.4984430004637,\n", + " 39.11815999987457\n", + " ],\n", + " [\n", + " -84.49814300046373,\n", + " 39.11885999987453\n", + " ],\n", + " [\n", + " -84.49804300046375,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49794300046376,\n", + " 39.120759999874345\n", + " ],\n", + " [\n", + " -84.49784300046379,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49724300046385,\n", + " 39.122159999874214\n", + " ],\n", + " [\n", + " -84.49744300046382,\n", + " 39.12065999987436\n", + " ],\n", + " [\n", + " -84.49734300046383,\n", + " 39.120259999874385\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49684300046387,\n", + " 39.11855999987454\n", + " ],\n", + " [\n", + " -84.4974430004638,\n", + " 39.1191599998745\n", + " ],\n", + " [\n", + " -84.49694300046386,\n", + " 39.119459999874465\n", + " ],\n", + " [\n", + " -84.49634300046392,\n", + " 39.118259999874574\n", + " ],\n", + " [\n", + " -84.4964230004639,\n", + " 39.11813999987458\n", + " ],\n", + " [\n", + " -84.49684300046387,\n", + " 39.11855999987454\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49734300046383,\n", + " 39.120259999874385\n", + " ],\n", + " [\n", + " -84.49744300046382,\n", + " 39.12065999987436\n", + " ],\n", + " [\n", + " -84.49724300046385,\n", + " 39.122159999874214\n", + " ],\n", + " [\n", + " -84.49634300046394,\n", + " 39.12215999987422\n", + " ],\n", + " [\n", + " -84.49644300046394,\n", + " 39.121359999874294\n", + " ],\n", + " [\n", + " -84.49694300046387,\n", + " 39.121359999874294\n", + " ],\n", + " [\n", + " -84.49694300046387,\n", + " 39.12075999987434\n", + " ],\n", + " [\n", + " -84.49654300046392,\n", + " 39.12055999987439\n", + " ],\n", + " [\n", + " -84.49654300046392,\n", + " 39.11965999987446\n", + " ],\n", + " [\n", + " -84.49694300046386,\n", + " 39.119459999874465\n", + " ],\n", + " [\n", + " -84.49734300046383,\n", + " 39.120259999874385\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49874300046368,\n", + " 39.120759999874345\n", + " ],\n", + " [\n", + " -84.49874300046368,\n", + " 39.121459999874276\n", + " ],\n", + " [\n", + " -84.49824300046373,\n", + " 39.121459999874276\n", + " ],\n", + " [\n", + " -84.49824300046373,\n", + " 39.120759999874345\n", + " ],\n", + " [\n", + " -84.49874300046368,\n", + " 39.120759999874345\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49874300046368,\n", + " 39.121459999874276\n", + " ],\n", + " [\n", + " -84.49874300046369,\n", + " 39.12225999987418\n", + " ],\n", + " [\n", + " -84.49824300046375,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49824300046373,\n", + " 39.121459999874276\n", + " ],\n", + " [\n", + " -84.49874300046368,\n", + " 39.121459999874276\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49914300046366,\n", + " 39.12455999987399\n", + " ],\n", + " [\n", + " -84.49914300046366,\n", + " 39.125359999873915\n", + " ],\n", + " [\n", + " -84.49784300046382,\n", + " 39.125259999873926\n", + " ],\n", + " [\n", + " -84.49804300046377,\n", + " 39.12375999987406\n", + " ],\n", + " [\n", + " -84.49864800046372,\n", + " 39.123760999874065\n", + " ],\n", + " [\n", + " -84.49864300046372,\n", + " 39.1230599998741\n", + " ],\n", + " [\n", + " -84.49816800046375,\n", + " 39.123062999874136\n", + " ],\n", + " [\n", + " -84.49824300046375,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49874300046369,\n", + " 39.12225999987418\n", + " ],\n", + " [\n", + " -84.50034300046353,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.50014300046355,\n", + " 39.12465999987397\n", + " ],\n", + " [\n", + " -84.49914300046366,\n", + " 39.12455999987399\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49864300046372,\n", + " 39.1230599998741\n", + " ],\n", + " [\n", + " -84.49864800046372,\n", + " 39.123760999874065\n", + " ],\n", + " [\n", + " -84.49804300046377,\n", + " 39.12375999987406\n", + " ],\n", + " [\n", + " -84.49816800046375,\n", + " 39.123062999874136\n", + " ],\n", + " [\n", + " -84.49864300046372,\n", + " 39.1230599998741\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49784300046382,\n", + " 39.125259999873926\n", + " ],\n", + " [\n", + " -84.49784300046382,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49724300046388,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49764300046381,\n", + " 39.12295999987414\n", + " ],\n", + " [\n", + " -84.49784300046379,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49824300046375,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49816800046375,\n", + " 39.123062999874136\n", + " ],\n", + " [\n", + " -84.49804300046377,\n", + " 39.12375999987406\n", + " ],\n", + " [\n", + " -84.49784300046382,\n", + " 39.125259999873926\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49724300046385,\n", + " 39.122159999874214\n", + " ],\n", + " [\n", + " -84.49704300046389,\n", + " 39.12375999987407\n", + " ],\n", + " [\n", + " -84.49684300046391,\n", + " 39.125259999873926\n", + " ],\n", + " [\n", + " -84.49680000046392,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49644300046397,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49594300046402,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49595400046402,\n", + " 39.12521199987394\n", + " ],\n", + " [\n", + " -84.496043000464,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49614300046399,\n", + " 39.123659999874064\n", + " ],\n", + " [\n", + " -84.49624300046396,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49634300046394,\n", + " 39.12215999987422\n", + " ],\n", + " [\n", + " -84.49724300046385,\n", + " 39.122159999874214\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49724300046388,\n", + " 39.126059999873846\n", + " ],\n", + " [\n", + " -84.49674300046394,\n", + " 39.125959999873864\n", + " ],\n", + " [\n", + " -84.49680000046392,\n", + " 39.125559999873886\n", + " ],\n", + " [\n", + " -84.49684300046391,\n", + " 39.125259999873926\n", + " ],\n", + " [\n", + " -84.49704300046389,\n", + " 39.12375999987407\n", + " ],\n", + " [\n", + " -84.49724300046385,\n", + " 39.122159999874214\n", + " ],\n", + " [\n", + " -84.49784300046379,\n", + " 39.12225999987419\n", + " ],\n", + " [\n", + " -84.49764300046381,\n", + " 39.12295999987414\n", + " ],\n", + " [\n", + " -84.49724300046388,\n", + " 39.126059999873846\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49584300046398,\n", + " 39.1180599998746\n", + " ],\n", + " [\n", + " -84.49464300046412,\n", + " 39.11955999987449\n", + " ],\n", + " [\n", + " -84.49434300046414,\n", + " 39.11925999987448\n", + " ],\n", + " [\n", + " -84.49444300046413,\n", + " 39.11805999987461\n", + " ],\n", + " [\n", + " -84.49584300046398,\n", + " 39.1180599998746\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49694300046386,\n", + " 39.119459999874465\n", + " ],\n", + " [\n", + " -84.49654300046392,\n", + " 39.11965999987446\n", + " ],\n", + " [\n", + " -84.49564300046401,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.4948430004641,\n", + " 39.12045999987439\n", + " ],\n", + " [\n", + " -84.49434300046416,\n", + " 39.12085999987434\n", + " ],\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ],\n", + " [\n", + " -84.49464300046412,\n", + " 39.11955999987449\n", + " ],\n", + " [\n", + " -84.49584300046398,\n", + " 39.1180599998746\n", + " ],\n", + " [\n", + " -84.49724300046381,\n", + " 39.116359999874746\n", + " ],\n", + " [\n", + " -84.49754300046378,\n", + " 39.11645999987473\n", + " ],\n", + " [\n", + " -84.4964230004639,\n", + " 39.11813999987458\n", + " ],\n", + " [\n", + " -84.49634300046392,\n", + " 39.118259999874574\n", + " ],\n", + " [\n", + " -84.49694300046386,\n", + " 39.119459999874465\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49694300046387,\n", + " 39.12075999987434\n", + " ],\n", + " [\n", + " -84.49694300046387,\n", + " 39.121359999874294\n", + " ],\n", + " [\n", + " -84.49644300046394,\n", + " 39.121359999874294\n", + " ],\n", + " [\n", + " -84.49598100046398,\n", + " 39.12130899987431\n", + " ],\n", + " [\n", + " -84.49554300046402,\n", + " 39.121259999874304\n", + " ],\n", + " [\n", + " -84.49504300046408,\n", + " 39.12125999987431\n", + " ],\n", + " [\n", + " -84.49454300046415,\n", + " 39.121259999874304\n", + " ],\n", + " [\n", + " -84.49434300046416,\n", + " 39.12085999987434\n", + " ],\n", + " [\n", + " -84.4948430004641,\n", + " 39.12045999987439\n", + " ],\n", + " [\n", + " -84.49564300046401,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49654300046392,\n", + " 39.11965999987446\n", + " ],\n", + " [\n", + " -84.49654300046392,\n", + " 39.12055999987439\n", + " ],\n", + " [\n", + " -84.49694300046387,\n", + " 39.12075999987434\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49724300046381,\n", + " 39.116359999874746\n", + " ],\n", + " [\n", + " -84.49584300046398,\n", + " 39.1180599998746\n", + " ],\n", + " [\n", + " -84.49444300046413,\n", + " 39.11805999987461\n", + " ],\n", + " [\n", + " -84.49324300046426,\n", + " 39.1179599998746\n", + " ],\n", + " [\n", + " -84.49318700046426,\n", + " 39.118297999874606\n", + " ],\n", + " [\n", + " -84.4930430004643,\n", + " 39.11915999987451\n", + " ],\n", + " [\n", + " -84.49294300046431,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49144300046446,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.49184300046443,\n", + " 39.11755999987466\n", + " ],\n", + " [\n", + " -84.49304300046427,\n", + " 39.1148599998749\n", + " ],\n", + " [\n", + " -84.49364300046419,\n", + " 39.114359999874964\n", + " ],\n", + " [\n", + " -84.4944430004641,\n", + " 39.114159999874964\n", + " ],\n", + " [\n", + " -84.49514300046404,\n", + " 39.11445999987495\n", + " ],\n", + " [\n", + " -84.49724300046381,\n", + " 39.116359999874746\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ],\n", + " [\n", + " -84.49294300046431,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.4930430004643,\n", + " 39.11915999987451\n", + " ],\n", + " [\n", + " -84.49318700046426,\n", + " 39.118297999874606\n", + " ],\n", + " [\n", + " -84.49324300046426,\n", + " 39.1179599998746\n", + " ],\n", + " [\n", + " -84.49444300046413,\n", + " 39.11805999987461\n", + " ],\n", + " [\n", + " -84.49434300046414,\n", + " 39.11925999987448\n", + " ],\n", + " [\n", + " -84.49464300046412,\n", + " 39.11955999987449\n", + " ],\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ],\n", + " [\n", + " -84.49284300046432,\n", + " 39.12155999987428\n", + " ],\n", + " [\n", + " -84.49294300046431,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49644300046394,\n", + " 39.121359999874294\n", + " ],\n", + " [\n", + " -84.49634300046394,\n", + " 39.12215999987422\n", + " ],\n", + " [\n", + " -84.49585900046401,\n", + " 39.12210599987421\n", + " ],\n", + " [\n", + " -84.49544300046405,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49554300046402,\n", + " 39.121259999874304\n", + " ],\n", + " [\n", + " -84.49598100046398,\n", + " 39.12130899987431\n", + " ],\n", + " [\n", + " -84.49644300046394,\n", + " 39.121359999874294\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49634300046394,\n", + " 39.12215999987422\n", + " ],\n", + " [\n", + " -84.49624300046396,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49564300046403,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49534300046406,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49544300046405,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49585900046401,\n", + " 39.12210599987421\n", + " ],\n", + " [\n", + " -84.49634300046394,\n", + " 39.12215999987422\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49554300046402,\n", + " 39.121259999874304\n", + " ],\n", + " [\n", + " -84.49544300046405,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49494300046409,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49504300046408,\n", + " 39.12125999987431\n", + " ],\n", + " [\n", + " -84.49554300046402,\n", + " 39.121259999874304\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49504300046408,\n", + " 39.12125999987431\n", + " ],\n", + " [\n", + " -84.49494300046409,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49454300046415,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49454300046415,\n", + " 39.121259999874304\n", + " ],\n", + " [\n", + " -84.49504300046408,\n", + " 39.12125999987431\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49524300046409,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49464300046414,\n", + " 39.123559999874075\n", + " ],\n", + " [\n", + " -84.49484300046412,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49494300046409,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49544300046405,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49534300046406,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49524300046409,\n", + " 39.12365999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49494300046409,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49484300046412,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49434300046417,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49454300046415,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49494300046409,\n", + " 39.12205999987423\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49624300046396,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49614300046399,\n", + " 39.123659999874064\n", + " ],\n", + " [\n", + " -84.49554300046405,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49564300046403,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49624300046396,\n", + " 39.122859999874166\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49564300046403,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49554300046405,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49524300046409,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49534300046406,\n", + " 39.122859999874166\n", + " ],\n", + " [\n", + " -84.49564300046403,\n", + " 39.122859999874166\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49614300046399,\n", + " 39.123659999874064\n", + " ],\n", + " [\n", + " -84.496043000464,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49544300046406,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49554300046405,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49614300046399,\n", + " 39.123659999874064\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.496043000464,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49595400046402,\n", + " 39.12521199987394\n", + " ],\n", + " [\n", + " -84.49534300046408,\n", + " 39.12515999987395\n", + " ],\n", + " [\n", + " -84.49544300046406,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.496043000464,\n", + " 39.124359999874024\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49524300046409,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.4951430004641,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49464300046415,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.49464300046414,\n", + " 39.123559999874075\n", + " ],\n", + " [\n", + " -84.49524300046409,\n", + " 39.12365999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49484300046412,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49464300046414,\n", + " 39.123559999874075\n", + " ],\n", + " [\n", + " -84.4942430004642,\n", + " 39.1235599998741\n", + " ],\n", + " [\n", + " -84.49434300046417,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49484300046412,\n", + " 39.122759999874155\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49464300046414,\n", + " 39.123559999874075\n", + " ],\n", + " [\n", + " -84.49464300046415,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.4941430004642,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.4942430004642,\n", + " 39.1235599998741\n", + " ],\n", + " [\n", + " -84.49464300046414,\n", + " 39.123559999874075\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49554300046405,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49544300046406,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.4951430004641,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49524300046409,\n", + " 39.12365999987408\n", + " ],\n", + " [\n", + " -84.49554300046405,\n", + " 39.12365999987408\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49544300046406,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49534300046408,\n", + " 39.12515999987395\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.4951430004641,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49544300046406,\n", + " 39.124359999874024\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4951430004641,\n", + " 39.124359999874024\n", + " ],\n", + " [\n", + " -84.49504300046412,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49454300046416,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49464300046415,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.4951430004641,\n", + " 39.124359999874024\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49464300046415,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.49454300046416,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.4941430004642,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.49464300046415,\n", + " 39.124259999874035\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49454300046415,\n", + " 39.12205999987423\n", + " ],\n", + " [\n", + " -84.49434300046417,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49394300046423,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49344300046427,\n", + " 39.12275999987419\n", + " ],\n", + " [\n", + " -84.49354300046426,\n", + " 39.121759999874264\n", + " ],\n", + " [\n", + " -84.49434300046416,\n", + " 39.12085999987434\n", + " ],\n", + " [\n", + " -84.49454300046415,\n", + " 39.121259999874304\n", + " ],\n", + " [\n", + " -84.49454300046415,\n", + " 39.12205999987423\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ],\n", + " [\n", + " -84.49434300046416,\n", + " 39.12085999987434\n", + " ],\n", + " [\n", + " -84.49354300046426,\n", + " 39.121759999874264\n", + " ],\n", + " [\n", + " -84.49284300046433,\n", + " 39.12305999987415\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.1236599998741\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12385999987407\n", + " ],\n", + " [\n", + " -84.49094300046455,\n", + " 39.12395999987406\n", + " ],\n", + " [\n", + " -84.49134300046451,\n", + " 39.12325999987412\n", + " ],\n", + " [\n", + " -84.49234300046437,\n", + " 39.122159999874235\n", + " ],\n", + " [\n", + " -84.49284300046432,\n", + " 39.12155999987428\n", + " ],\n", + " [\n", + " -84.49404300046417,\n", + " 39.120359999874395\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4942430004642,\n", + " 39.1235599998741\n", + " ],\n", + " [\n", + " -84.49334300046428,\n", + " 39.12345999987411\n", + " ],\n", + " [\n", + " -84.49344300046427,\n", + " 39.12275999987419\n", + " ],\n", + " [\n", + " -84.49394300046423,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.49434300046417,\n", + " 39.122759999874155\n", + " ],\n", + " [\n", + " -84.4942430004642,\n", + " 39.1235599998741\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49334300046428,\n", + " 39.12345999987411\n", + " ],\n", + " [\n", + " -84.4942430004642,\n", + " 39.1235599998741\n", + " ],\n", + " [\n", + " -84.4941430004642,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.49324300046429,\n", + " 39.12415999987405\n", + " ],\n", + " [\n", + " -84.49334300046428,\n", + " 39.12345999987411\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49404300046422,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49314300046431,\n", + " 39.12505999987396\n", + " ],\n", + " [\n", + " -84.4931430004643,\n", + " 39.12455999987401\n", + " ],\n", + " [\n", + " -84.49324300046429,\n", + " 39.12415999987405\n", + " ],\n", + " [\n", + " -84.4941430004642,\n", + " 39.124259999874035\n", + " ],\n", + " [\n", + " -84.49404300046422,\n", + " 39.12515999987397\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49334300046428,\n", + " 39.12345999987411\n", + " ],\n", + " [\n", + " -84.49324300046429,\n", + " 39.12415999987405\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12405999987406\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.1236599998741\n", + " ],\n", + " [\n", + " -84.49284300046433,\n", + " 39.12305999987415\n", + " ],\n", + " [\n", + " -84.49354300046426,\n", + " 39.121759999874264\n", + " ],\n", + " [\n", + " -84.49344300046427,\n", + " 39.12275999987419\n", + " ],\n", + " [\n", + " -84.49334300046428,\n", + " 39.12345999987411\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49324300046429,\n", + " 39.12415999987405\n", + " ],\n", + " [\n", + " -84.4931430004643,\n", + " 39.12455999987401\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12445999987402\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12405999987406\n", + " ],\n", + " [\n", + " -84.49324300046429,\n", + " 39.12415999987405\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4931430004643,\n", + " 39.12455999987401\n", + " ],\n", + " [\n", + " -84.49314300046431,\n", + " 39.12505999987396\n", + " ],\n", + " [\n", + " -84.49164300046446,\n", + " 39.12495999987399\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12445999987402\n", + " ],\n", + " [\n", + " -84.4931430004643,\n", + " 39.12455999987401\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49144300046446,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.49034300046458,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.49044300046458,\n", + " 39.119859999874464\n", + " ],\n", + " [\n", + " -84.49064300046453,\n", + " 39.11755999987468\n", + " ],\n", + " [\n", + " -84.49024300046457,\n", + " 39.1172599998747\n", + " ],\n", + " [\n", + " -84.49044300046457,\n", + " 39.116859999874734\n", + " ],\n", + " [\n", + " -84.4890430004647,\n", + " 39.11665999987475\n", + " ],\n", + " [\n", + " -84.48954300046464,\n", + " 39.11585999987483\n", + " ],\n", + " [\n", + " -84.49114300046446,\n", + " 39.11445999987497\n", + " ],\n", + " [\n", + " -84.49144300046441,\n", + " 39.11305999987509\n", + " ],\n", + " [\n", + " -84.49224300046434,\n", + " 39.112659999875135\n", + " ],\n", + " [\n", + " -84.49314300046423,\n", + " 39.11305999987508\n", + " ],\n", + " [\n", + " -84.49324300046423,\n", + " 39.11405999987497\n", + " ],\n", + " [\n", + " -84.49304300046427,\n", + " 39.1148599998749\n", + " ],\n", + " [\n", + " -84.49184300046443,\n", + " 39.11755999987466\n", + " ],\n", + " [\n", + " -84.49144300046446,\n", + " 39.120059999874435\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49144300046446,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.4913430004645,\n", + " 39.12105999987435\n", + " ],\n", + " [\n", + " -84.48984300046465,\n", + " 39.12095999987435\n", + " ],\n", + " [\n", + " -84.48994300046463,\n", + " 39.11995999987445\n", + " ],\n", + " [\n", + " -84.49034300046458,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.49144300046446,\n", + " 39.120059999874435\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49024300046457,\n", + " 39.1172599998747\n", + " ],\n", + " [\n", + " -84.48964300046464,\n", + " 39.117059999874705\n", + " ],\n", + " [\n", + " -84.48954300046465,\n", + " 39.11745999987466\n", + " ],\n", + " [\n", + " -84.48834300046478,\n", + " 39.11725999987471\n", + " ],\n", + " [\n", + " -84.4890430004647,\n", + " 39.11665999987475\n", + " ],\n", + " [\n", + " -84.49044300046457,\n", + " 39.116859999874734\n", + " ],\n", + " [\n", + " -84.49024300046457,\n", + " 39.1172599998747\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49024300046457,\n", + " 39.1172599998747\n", + " ],\n", + " [\n", + " -84.49064300046453,\n", + " 39.11755999987468\n", + " ],\n", + " [\n", + " -84.49044300046458,\n", + " 39.119859999874464\n", + " ],\n", + " [\n", + " -84.48934300046469,\n", + " 39.1195599998745\n", + " ],\n", + " [\n", + " -84.48954300046465,\n", + " 39.11745999987466\n", + " ],\n", + " [\n", + " -84.48964300046464,\n", + " 39.117059999874705\n", + " ],\n", + " [\n", + " -84.49024300046457,\n", + " 39.1172599998747\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49034300046458,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.48994300046463,\n", + " 39.11995999987445\n", + " ],\n", + " [\n", + " -84.4883430004648,\n", + " 39.119959999874474\n", + " ],\n", + " [\n", + " -84.48784300046485,\n", + " 39.118759999874584\n", + " ],\n", + " [\n", + " -84.48794300046484,\n", + " 39.11825999987461\n", + " ],\n", + " [\n", + " -84.48804300046481,\n", + " 39.11755999987469\n", + " ],\n", + " [\n", + " -84.48834300046478,\n", + " 39.11725999987471\n", + " ],\n", + " [\n", + " -84.48954300046465,\n", + " 39.11745999987466\n", + " ],\n", + " [\n", + " -84.48934300046469,\n", + " 39.1195599998745\n", + " ],\n", + " [\n", + " -84.49044300046458,\n", + " 39.119859999874464\n", + " ],\n", + " [\n", + " -84.49034300046458,\n", + " 39.120059999874435\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49294300046431,\n", + " 39.12015999987439\n", + " ],\n", + " [\n", + " -84.49284300046432,\n", + " 39.12155999987428\n", + " ],\n", + " [\n", + " -84.49234300046437,\n", + " 39.122159999874235\n", + " ],\n", + " [\n", + " -84.4913430004645,\n", + " 39.12205999987426\n", + " ],\n", + " [\n", + " -84.4913430004645,\n", + " 39.12105999987435\n", + " ],\n", + " [\n", + " -84.49144300046446,\n", + " 39.120059999874435\n", + " ],\n", + " [\n", + " -84.49294300046431,\n", + " 39.12015999987439\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4913430004645,\n", + " 39.12105999987435\n", + " ],\n", + " [\n", + " -84.4913430004645,\n", + " 39.12205999987426\n", + " ],\n", + " [\n", + " -84.48974300046466,\n", + " 39.121959999874264\n", + " ],\n", + " [\n", + " -84.48984300046465,\n", + " 39.12095999987435\n", + " ],\n", + " [\n", + " -84.4913430004645,\n", + " 39.12105999987435\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49134300046451,\n", + " 39.12325999987412\n", + " ],\n", + " [\n", + " -84.48964300046468,\n", + " 39.12315999987414\n", + " ],\n", + " [\n", + " -84.48974300046466,\n", + " 39.121959999874264\n", + " ],\n", + " [\n", + " -84.4913430004645,\n", + " 39.12205999987426\n", + " ],\n", + " [\n", + " -84.49234300046437,\n", + " 39.122159999874235\n", + " ],\n", + " [\n", + " -84.49134300046451,\n", + " 39.12325999987412\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49174300046447,\n", + " 39.12405999987406\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12445999987402\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12445999987403\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12385999987407\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.1236599998741\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12405999987406\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49164300046446,\n", + " 39.12495999987399\n", + " ],\n", + " [\n", + " -84.49154300046447,\n", + " 39.12525999987394\n", + " ],\n", + " [\n", + " -84.49104300046453,\n", + " 39.12515999987397\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12485999987399\n", + " ],\n", + " [\n", + " -84.49114300046453,\n", + " 39.12445999987403\n", + " ],\n", + " [\n", + " -84.49174300046447,\n", + " 39.12445999987402\n", + " ],\n", + " [\n", + " -84.49164300046446,\n", + " 39.12495999987399\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50684300046272,\n", + " 39.11205999987513\n", + " ],\n", + " [\n", + " -84.50674300046276,\n", + " 39.112559999875074\n", + " ],\n", + " [\n", + " -84.50641300046279,\n", + " 39.11252299987507\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112459999875085\n", + " ],\n", + " [\n", + " -84.50594300046285,\n", + " 39.11195999987513\n", + " ],\n", + " [\n", + " -84.50651600046277,\n", + " 39.11202399987514\n", + " ],\n", + " [\n", + " -84.50684300046272,\n", + " 39.11205999987513\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50594300046285,\n", + " 39.11195999987513\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112459999875085\n", + " ],\n", + " [\n", + " -84.50394300046305,\n", + " 39.11235999987508\n", + " ],\n", + " [\n", + " -84.50424300046303,\n", + " 39.11195999987513\n", + " ],\n", + " [\n", + " -84.50594300046285,\n", + " 39.11195999987513\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50584300046286,\n", + " 39.112459999875085\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112859999875035\n", + " ],\n", + " [\n", + " -84.50394300046305,\n", + " 39.112759999875045\n", + " ],\n", + " [\n", + " -84.50394300046305,\n", + " 39.11235999987508\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112459999875085\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51064300046235,\n", + " 39.113459999874955\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.11365999987494\n", + " ],\n", + " [\n", + " -84.50967000046245,\n", + " 39.11361299987495\n", + " ],\n", + " [\n", + " -84.50654300046278,\n", + " 39.11345999987498\n", + " ],\n", + " [\n", + " -84.50484300046296,\n", + " 39.113259999875005\n", + " ],\n", + " [\n", + " -84.50384300046308,\n", + " 39.11325999987501\n", + " ],\n", + " [\n", + " -84.50394300046305,\n", + " 39.112759999875045\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112859999875035\n", + " ],\n", + " [\n", + " -84.50664300046277,\n", + " 39.112959999875024\n", + " ],\n", + " [\n", + " -84.50754300046268,\n", + " 39.112959999875024\n", + " ],\n", + " [\n", + " -84.50872100046254,\n", + " 39.113050999875014\n", + " ],\n", + " [\n", + " -84.50884300046253,\n", + " 39.11305999987503\n", + " ],\n", + " [\n", + " -84.50889600046254,\n", + " 39.113072999874994\n", + " ],\n", + " [\n", + " -84.5092430004625,\n", + " 39.11315999987501\n", + " ],\n", + " [\n", + " -84.50964300046245,\n", + " 39.113159999875\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.11315999987501\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.113459999874955\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50754300046268,\n", + " 39.11255999987504\n", + " ],\n", + " [\n", + " -84.50754300046268,\n", + " 39.112959999875024\n", + " ],\n", + " [\n", + " -84.50664300046277,\n", + " 39.112959999875024\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112859999875035\n", + " ],\n", + " [\n", + " -84.50584300046286,\n", + " 39.112459999875085\n", + " ],\n", + " [\n", + " -84.50641300046279,\n", + " 39.11252299987507\n", + " ],\n", + " [\n", + " -84.50674300046276,\n", + " 39.112559999875074\n", + " ],\n", + " [\n", + " -84.50754300046268,\n", + " 39.11255999987504\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50914300046253,\n", + " 39.11735999987462\n", + " ],\n", + " [\n", + " -84.50874300046257,\n", + " 39.11755999987458\n", + " ],\n", + " [\n", + " -84.50804300046265,\n", + " 39.1174599998746\n", + " ],\n", + " [\n", + " -84.50814300046262,\n", + " 39.116659999874656\n", + " ],\n", + " [\n", + " -84.50714300046275,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50734300046271,\n", + " 39.11495999987483\n", + " ],\n", + " [\n", + " -84.50634300046282,\n", + " 39.114859999874874\n", + " ],\n", + " [\n", + " -84.5064430004628,\n", + " 39.11435999987489\n", + " ],\n", + " [\n", + " -84.50474300046298,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.50478100046298,\n", + " 39.11381799987495\n", + " ],\n", + " [\n", + " -84.50484300046296,\n", + " 39.113259999875005\n", + " ],\n", + " [\n", + " -84.50654300046278,\n", + " 39.11345999987498\n", + " ],\n", + " [\n", + " -84.50967000046245,\n", + " 39.11361299987495\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.11365999987494\n", + " ],\n", + " [\n", + " -84.51054300046238,\n", + " 39.11465999987484\n", + " ],\n", + " [\n", + " -84.51044300046239,\n", + " 39.11525899987483\n", + " ],\n", + " [\n", + " -84.5103430004624,\n", + " 39.11575999987474\n", + " ],\n", + " [\n", + " -84.5103430004624,\n", + " 39.116059999874714\n", + " ],\n", + " [\n", + " -84.51014300046242,\n", + " 39.117259999874626\n", + " ],\n", + " [\n", + " -84.50964300046249,\n", + " 39.11725999987464\n", + " ],\n", + " [\n", + " -84.50914300046253,\n", + " 39.11735999987462\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50734300046271,\n", + " 39.11495999987483\n", + " ],\n", + " [\n", + " -84.50714300046275,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50614300046284,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50624300046285,\n", + " 39.115859999874736\n", + " ],\n", + " [\n", + " -84.50634300046282,\n", + " 39.114859999874874\n", + " ],\n", + " [\n", + " -84.50734300046271,\n", + " 39.11495999987483\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5064430004628,\n", + " 39.11435999987489\n", + " ],\n", + " [\n", + " -84.50634300046282,\n", + " 39.114859999874874\n", + " ],\n", + " [\n", + " -84.504643000463,\n", + " 39.11475999987486\n", + " ],\n", + " [\n", + " -84.50474300046298,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.5064430004628,\n", + " 39.11435999987489\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50634300046282,\n", + " 39.114859999874874\n", + " ],\n", + " [\n", + " -84.50624300046285,\n", + " 39.115859999874736\n", + " ],\n", + " [\n", + " -84.50454300046302,\n", + " 39.11575999987477\n", + " ],\n", + " [\n", + " -84.504597000463,\n", + " 39.11522299987483\n", + " ],\n", + " [\n", + " -84.504643000463,\n", + " 39.11475999987486\n", + " ],\n", + " [\n", + " -84.50634300046282,\n", + " 39.114859999874874\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50454300046302,\n", + " 39.11575999987477\n", + " ],\n", + " [\n", + " -84.50624300046285,\n", + " 39.115859999874736\n", + " ],\n", + " [\n", + " -84.50614300046284,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50354300046313,\n", + " 39.116359999874724\n", + " ],\n", + " [\n", + " -84.50354300046311,\n", + " 39.11565999987479\n", + " ],\n", + " [\n", + " -84.50454300046302,\n", + " 39.11575999987477\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50484300046296,\n", + " 39.113259999875005\n", + " ],\n", + " [\n", + " -84.50478100046298,\n", + " 39.11381799987495\n", + " ],\n", + " [\n", + " -84.50474300046298,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.5037430004631,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.50384300046308,\n", + " 39.11325999987501\n", + " ],\n", + " [\n", + " -84.50484300046296,\n", + " 39.113259999875005\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50474300046298,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.504643000463,\n", + " 39.11475999987486\n", + " ],\n", + " [\n", + " -84.5037430004631,\n", + " 39.11465999987489\n", + " ],\n", + " [\n", + " -84.5037430004631,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.50474300046298,\n", + " 39.11415999987494\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50354300046313,\n", + " 39.116359999874724\n", + " ],\n", + " [\n", + " -84.50374300046313,\n", + " 39.11735999987465\n", + " ],\n", + " [\n", + " -84.50274300046323,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50174300046334,\n", + " 39.117459999874605\n", + " ],\n", + " [\n", + " -84.5001430004635,\n", + " 39.117559999874615\n", + " ],\n", + " [\n", + " -84.50034300046349,\n", + " 39.11595999987476\n", + " ],\n", + " [\n", + " -84.50034300046349,\n", + " 39.115659999874794\n", + " ],\n", + " [\n", + " -84.5017430004633,\n", + " 39.113559999875015\n", + " ],\n", + " [\n", + " -84.50204200046329,\n", + " 39.11314099987504\n", + " ],\n", + " [\n", + " -84.50224300046324,\n", + " 39.11285999987504\n", + " ],\n", + " [\n", + " -84.50339500046312,\n", + " 39.11121399987522\n", + " ],\n", + " [\n", + " -84.5034840004631,\n", + " 39.1112009998752\n", + " ],\n", + " [\n", + " -84.50424300046303,\n", + " 39.111059999875216\n", + " ],\n", + " [\n", + " -84.50511600046293,\n", + " 39.111270999875174\n", + " ],\n", + " [\n", + " -84.50714300046272,\n", + " 39.11175999987512\n", + " ],\n", + " [\n", + " -84.50748200046267,\n", + " 39.11186199987511\n", + " ],\n", + " [\n", + " -84.50811600046262,\n", + " 39.11204699987508\n", + " ],\n", + " [\n", + " -84.50894300046254,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50764300046268,\n", + " 39.112159999875075\n", + " ],\n", + " [\n", + " -84.50684300046272,\n", + " 39.11205999987513\n", + " ],\n", + " [\n", + " -84.50651600046277,\n", + " 39.11202399987514\n", + " ],\n", + " [\n", + " -84.50594300046285,\n", + " 39.11195999987513\n", + " ],\n", + " [\n", + " -84.50424300046303,\n", + " 39.11195999987513\n", + " ],\n", + " [\n", + " -84.50394300046305,\n", + " 39.11235999987508\n", + " ],\n", + " [\n", + " -84.50394300046305,\n", + " 39.112759999875045\n", + " ],\n", + " [\n", + " -84.50384300046308,\n", + " 39.11325999987501\n", + " ],\n", + " [\n", + " -84.5037430004631,\n", + " 39.11415999987494\n", + " ],\n", + " [\n", + " -84.5037430004631,\n", + " 39.11465999987489\n", + " ],\n", + " [\n", + " -84.50354300046311,\n", + " 39.11565999987479\n", + " ],\n", + " [\n", + " -84.50354300046313,\n", + " 39.116359999874724\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.504643000463,\n", + " 39.11475999987486\n", + " ],\n", + " [\n", + " -84.504597000463,\n", + " 39.11522299987483\n", + " ],\n", + " [\n", + " -84.50454300046302,\n", + " 39.11575999987477\n", + " ],\n", + " [\n", + " -84.50354300046311,\n", + " 39.11565999987479\n", + " ],\n", + " [\n", + " -84.5037430004631,\n", + " 39.11465999987489\n", + " ],\n", + " [\n", + " -84.504643000463,\n", + " 39.11475999987486\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50184300046328,\n", + " 39.11285999987504\n", + " ],\n", + " [\n", + " -84.50224300046324,\n", + " 39.11285999987504\n", + " ],\n", + " [\n", + " -84.50204200046329,\n", + " 39.11314099987504\n", + " ],\n", + " [\n", + " -84.5017430004633,\n", + " 39.113559999875015\n", + " ],\n", + " [\n", + " -84.50034300046349,\n", + " 39.115659999874794\n", + " ],\n", + " [\n", + " -84.50034300046349,\n", + " 39.11595999987476\n", + " ],\n", + " [\n", + " -84.5001430004635,\n", + " 39.117559999874615\n", + " ],\n", + " [\n", + " -84.49944300046359,\n", + " 39.11755999987462\n", + " ],\n", + " [\n", + " -84.49964300046355,\n", + " 39.11715999987465\n", + " ],\n", + " [\n", + " -84.49974300046355,\n", + " 39.1169599998747\n", + " ],\n", + " [\n", + " -84.50044300046345,\n", + " 39.114359999874935\n", + " ],\n", + " [\n", + " -84.50064300046343,\n", + " 39.11375999987498\n", + " ],\n", + " [\n", + " -84.50064300046343,\n", + " 39.11355999987502\n", + " ],\n", + " [\n", + " -84.50064300046343,\n", + " 39.113159999875045\n", + " ],\n", + " [\n", + " -84.50074300046342,\n", + " 39.11285999987504\n", + " ],\n", + " [\n", + " -84.5008430004634,\n", + " 39.112759999875045\n", + " ],\n", + " [\n", + " -84.50104300046338,\n", + " 39.11285999987504\n", + " ],\n", + " [\n", + " -84.50184300046328,\n", + " 39.11285999987504\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50814300046262,\n", + " 39.116659999874656\n", + " ],\n", + " [\n", + " -84.50804300046265,\n", + " 39.1174599998746\n", + " ],\n", + " [\n", + " -84.50704300046277,\n", + " 39.117459999874605\n", + " ],\n", + " [\n", + " -84.50714300046275,\n", + " 39.11655999987471\n", + " ],\n", + " [\n", + " -84.50814300046262,\n", + " 39.116659999874656\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50804300046265,\n", + " 39.1174599998746\n", + " ],\n", + " [\n", + " -84.50874300046257,\n", + " 39.11755999987458\n", + " ],\n", + " [\n", + " -84.5086430004626,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.118259999874546\n", + " ],\n", + " [\n", + " -84.50594300046288,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.50604300046285,\n", + " 39.11735999987464\n", + " ],\n", + " [\n", + " -84.50704300046277,\n", + " 39.117459999874605\n", + " ],\n", + " [\n", + " -84.50804300046265,\n", + " 39.1174599998746\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50854300046262,\n", + " 39.11965999987441\n", + " ],\n", + " [\n", + " -84.50844300046263,\n", + " 39.11985999987439\n", + " ],\n", + " [\n", + " -84.50574300046291,\n", + " 39.11965999987443\n", + " ],\n", + " [\n", + " -84.50594300046288,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.118259999874546\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.11895999987447\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.11965999987441\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50984300046241,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50964300046245,\n", + " 39.113159999875\n", + " ],\n", + " [\n", + " -84.5092430004625,\n", + " 39.11315999987501\n", + " ],\n", + " [\n", + " -84.50889600046254,\n", + " 39.113072999874994\n", + " ],\n", + " [\n", + " -84.50902300046252,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50934300046248,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50974300046244,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50984300046241,\n", + " 39.112259999875086\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51234300046217,\n", + " 39.112759999874996\n", + " ],\n", + " [\n", + " -84.51224300046218,\n", + " 39.11365999987494\n", + " ],\n", + " [\n", + " -84.51144300046225,\n", + " 39.113559999874965\n", + " ],\n", + " [\n", + " -84.51154300046225,\n", + " 39.11235999987505\n", + " ],\n", + " [\n", + " -84.5118430004622,\n", + " 39.11235999987505\n", + " ],\n", + " [\n", + " -84.51244300046214,\n", + " 39.11245999987508\n", + " ],\n", + " [\n", + " -84.51234300046217,\n", + " 39.112759999874996\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51214300046219,\n", + " 39.11435999987488\n", + " ],\n", + " [\n", + " -84.51234300046217,\n", + " 39.11465999987484\n", + " ],\n", + " [\n", + " -84.51194300046222,\n", + " 39.114859999874845\n", + " ],\n", + " [\n", + " -84.51214300046219,\n", + " 39.11435999987488\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51154300046225,\n", + " 39.11235999987505\n", + " ],\n", + " [\n", + " -84.51144300046225,\n", + " 39.113559999874965\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.113459999874955\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.11315999987501\n", + " ],\n", + " [\n", + " -84.51074300046233,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.51124300046226,\n", + " 39.11235999987505\n", + " ],\n", + " [\n", + " -84.51154300046225,\n", + " 39.11235999987505\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51214300046219,\n", + " 39.11435999987488\n", + " ],\n", + " [\n", + " -84.51194300046222,\n", + " 39.114859999874845\n", + " ],\n", + " [\n", + " -84.51124300046229,\n", + " 39.114759999874835\n", + " ],\n", + " [\n", + " -84.51054300046238,\n", + " 39.11465999987484\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.11365999987494\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.113459999874955\n", + " ],\n", + " [\n", + " -84.51144300046225,\n", + " 39.113559999874965\n", + " ],\n", + " [\n", + " -84.51224300046218,\n", + " 39.11365999987494\n", + " ],\n", + " [\n", + " -84.51224300046218,\n", + " 39.11385999987491\n", + " ],\n", + " [\n", + " -84.51214300046219,\n", + " 39.11435999987488\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51074300046233,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.51064300046235,\n", + " 39.11315999987501\n", + " ],\n", + " [\n", + " -84.50964300046245,\n", + " 39.113159999875\n", + " ],\n", + " [\n", + " -84.50984300046241,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.51074300046233,\n", + " 39.112259999875086\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51724400046167,\n", + " 39.11925999987439\n", + " ],\n", + " [\n", + " -84.5160440004618,\n", + " 39.12025999987432\n", + " ],\n", + " [\n", + " -84.51574400046184,\n", + " 39.120659999874285\n", + " ],\n", + " [\n", + " -84.5153440004619,\n", + " 39.12035999987432\n", + " ],\n", + " [\n", + " -84.51494400046192,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.51544400046188,\n", + " 39.11965999987435\n", + " ],\n", + " [\n", + " -84.51664400046174,\n", + " 39.11885999987444\n", + " ],\n", + " [\n", + " -84.51724400046167,\n", + " 39.11925999987439\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51644400046175,\n", + " 39.118559999874456\n", + " ],\n", + " [\n", + " -84.51664400046174,\n", + " 39.11885999987444\n", + " ],\n", + " [\n", + " -84.51544400046188,\n", + " 39.11965999987435\n", + " ],\n", + " [\n", + " -84.51494400046192,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.51464300046196,\n", + " 39.119859999874365\n", + " ],\n", + " [\n", + " -84.51434300046199,\n", + " 39.11955999987439\n", + " ],\n", + " [\n", + " -84.51484300046194,\n", + " 39.11925999987439\n", + " ],\n", + " [\n", + " -84.51604400046179,\n", + " 39.11835999987448\n", + " ],\n", + " [\n", + " -84.51644400046175,\n", + " 39.118559999874456\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51404300046202,\n", + " 39.119859999874365\n", + " ],\n", + " [\n", + " -84.51374300046204,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.51264300046216,\n", + " 39.11905999987444\n", + " ],\n", + " [\n", + " -84.51294300046213,\n", + " 39.118859999874445\n", + " ],\n", + " [\n", + " -84.51404300046202,\n", + " 39.119859999874365\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51264300046216,\n", + " 39.11905999987444\n", + " ],\n", + " [\n", + " -84.51374300046204,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.51344300046208,\n", + " 39.12025999987432\n", + " ],\n", + " [\n", + " -84.51224300046222,\n", + " 39.11925999987442\n", + " ],\n", + " [\n", + " -84.51264300046216,\n", + " 39.11905999987444\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5153440004619,\n", + " 39.12035999987432\n", + " ],\n", + " [\n", + " -84.51574400046184,\n", + " 39.120659999874285\n", + " ],\n", + " [\n", + " -84.51484400046195,\n", + " 39.12165999987419\n", + " ],\n", + " [\n", + " -84.51444400046199,\n", + " 39.12305999987405\n", + " ],\n", + " [\n", + " -84.51384400046206,\n", + " 39.123059999874044\n", + " ],\n", + " [\n", + " -84.51454400046198,\n", + " 39.121159999874216\n", + " ],\n", + " [\n", + " -84.5153440004619,\n", + " 39.12035999987432\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51494400046192,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.5153440004619,\n", + " 39.12035999987432\n", + " ],\n", + " [\n", + " -84.51454400046198,\n", + " 39.121159999874216\n", + " ],\n", + " [\n", + " -84.51384400046206,\n", + " 39.123059999874044\n", + " ],\n", + " [\n", + " -84.5135430004621,\n", + " 39.12295999987407\n", + " ],\n", + " [\n", + " -84.51414300046201,\n", + " 39.121059999874234\n", + " ],\n", + " [\n", + " -84.51494400046192,\n", + " 39.12005999987433\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51364300046208,\n", + " 39.12075999987429\n", + " ],\n", + " [\n", + " -84.51344300046208,\n", + " 39.12025999987432\n", + " ],\n", + " [\n", + " -84.51374300046204,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.51404300046202,\n", + " 39.119859999874365\n", + " ],\n", + " [\n", + " -84.51434300046199,\n", + " 39.11955999987439\n", + " ],\n", + " [\n", + " -84.51464300046196,\n", + " 39.119859999874365\n", + " ],\n", + " [\n", + " -84.51494400046192,\n", + " 39.12005999987433\n", + " ],\n", + " [\n", + " -84.51414300046201,\n", + " 39.121059999874234\n", + " ],\n", + " [\n", + " -84.5135430004621,\n", + " 39.12295999987407\n", + " ],\n", + " [\n", + " -84.51304300046216,\n", + " 39.12295999987407\n", + " ],\n", + " [\n", + " -84.51314300046214,\n", + " 39.12225999987413\n", + " ],\n", + " [\n", + " -84.51294300046216,\n", + " 39.121859999874175\n", + " ],\n", + " [\n", + " -84.51314300046214,\n", + " 39.12125999987424\n", + " ],\n", + " [\n", + " -84.51364300046208,\n", + " 39.12075999987429\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51194300046222,\n", + " 39.114859999874845\n", + " ],\n", + " [\n", + " -84.51274300046212,\n", + " 39.11555999987476\n", + " ],\n", + " [\n", + " -84.51354300046206,\n", + " 39.11605999987469\n", + " ],\n", + " [\n", + " -84.51434300046198,\n", + " 39.11685999987463\n", + " ],\n", + " [\n", + " -84.51604400046179,\n", + " 39.11835999987448\n", + " ],\n", + " [\n", + " -84.51484300046194,\n", + " 39.11925999987439\n", + " ],\n", + " [\n", + " -84.51434300046199,\n", + " 39.11955999987439\n", + " ],\n", + " [\n", + " -84.51404300046202,\n", + " 39.119859999874365\n", + " ],\n", + " [\n", + " -84.51294300046213,\n", + " 39.118859999874445\n", + " ],\n", + " [\n", + " -84.51264300046216,\n", + " 39.11855999987446\n", + " ],\n", + " [\n", + " -84.51204300046221,\n", + " 39.11905999987444\n", + " ],\n", + " [\n", + " -84.51199500046225,\n", + " 39.119094999874434\n", + " ],\n", + " [\n", + " -84.51164300046227,\n", + " 39.118859999874445\n", + " ],\n", + " [\n", + " -84.51152500046227,\n", + " 39.11883199987446\n", + " ],\n", + " [\n", + " -84.5115430004623,\n", + " 39.11875999987447\n", + " ],\n", + " [\n", + " -84.5114430004623,\n", + " 39.11845999987449\n", + " ],\n", + " [\n", + " -84.51164300046227,\n", + " 39.11775999987456\n", + " ],\n", + " [\n", + " -84.51114300046231,\n", + " 39.11775999987456\n", + " ],\n", + " [\n", + " -84.51024300046244,\n", + " 39.11765999987456\n", + " ],\n", + " [\n", + " -84.50874300046257,\n", + " 39.11755999987458\n", + " ],\n", + " [\n", + " -84.50914300046253,\n", + " 39.11735999987462\n", + " ],\n", + " [\n", + " -84.50964300046249,\n", + " 39.11725999987464\n", + " ],\n", + " [\n", + " -84.51014300046242,\n", + " 39.117259999874626\n", + " ],\n", + " [\n", + " -84.5103430004624,\n", + " 39.116059999874714\n", + " ],\n", + " [\n", + " -84.5103430004624,\n", + " 39.11575999987474\n", + " ],\n", + " [\n", + " -84.51044300046239,\n", + " 39.11525899987483\n", + " ],\n", + " [\n", + " -84.51054300046238,\n", + " 39.11465999987484\n", + " ],\n", + " [\n", + " -84.51124300046229,\n", + " 39.114759999874835\n", + " ],\n", + " [\n", + " -84.51194300046222,\n", + " 39.114859999874845\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5114430004623,\n", + " 39.11915999987442\n", + " ],\n", + " [\n", + " -84.51004300046245,\n", + " 39.11905999987446\n", + " ],\n", + " [\n", + " -84.51024300046244,\n", + " 39.11835999987451\n", + " ],\n", + " [\n", + " -84.5114430004623,\n", + " 39.11845999987449\n", + " ],\n", + " [\n", + " -84.5115430004623,\n", + " 39.11875999987447\n", + " ],\n", + " [\n", + " -84.51152500046227,\n", + " 39.11883199987446\n", + " ],\n", + " [\n", + " -84.5114430004623,\n", + " 39.11915999987442\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51264300046216,\n", + " 39.11855999987446\n", + " ],\n", + " [\n", + " -84.51294300046213,\n", + " 39.118859999874445\n", + " ],\n", + " [\n", + " -84.51264300046216,\n", + " 39.11905999987444\n", + " ],\n", + " [\n", + " -84.51224300046222,\n", + " 39.11925999987442\n", + " ],\n", + " [\n", + " -84.51199500046225,\n", + " 39.119094999874434\n", + " ],\n", + " [\n", + " -84.51204300046221,\n", + " 39.11905999987444\n", + " ],\n", + " [\n", + " -84.51264300046216,\n", + " 39.11855999987446\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51164300046227,\n", + " 39.11775999987456\n", + " ],\n", + " [\n", + " -84.5114430004623,\n", + " 39.11845999987449\n", + " ],\n", + " [\n", + " -84.51024300046244,\n", + " 39.11835999987451\n", + " ],\n", + " [\n", + " -84.51014300046243,\n", + " 39.11815999987453\n", + " ],\n", + " [\n", + " -84.5086430004626,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.50874300046257,\n", + " 39.11755999987458\n", + " ],\n", + " [\n", + " -84.51024300046244,\n", + " 39.11765999987456\n", + " ],\n", + " [\n", + " -84.51114300046231,\n", + " 39.11775999987456\n", + " ],\n", + " [\n", + " -84.51164300046227,\n", + " 39.11775999987456\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51014300046243,\n", + " 39.11815999987453\n", + " ],\n", + " [\n", + " -84.51024300046244,\n", + " 39.11835999987451\n", + " ],\n", + " [\n", + " -84.51004300046245,\n", + " 39.11905999987446\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.11895999987447\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.118259999874546\n", + " ],\n", + " [\n", + " -84.5086430004626,\n", + " 39.118059999874546\n", + " ],\n", + " [\n", + " -84.51014300046243,\n", + " 39.11815999987453\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51004300046245,\n", + " 39.11905999987446\n", + " ],\n", + " [\n", + " -84.5114430004623,\n", + " 39.11915999987442\n", + " ],\n", + " [\n", + " -84.51134300046232,\n", + " 39.11975999987437\n", + " ],\n", + " [\n", + " -84.51004300046246,\n", + " 39.11975999987439\n", + " ],\n", + " [\n", + " -84.51004300046245,\n", + " 39.11905999987446\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51004300046245,\n", + " 39.11905999987446\n", + " ],\n", + " [\n", + " -84.51004300046246,\n", + " 39.11975999987439\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.11965999987441\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.11895999987447\n", + " ],\n", + " [\n", + " -84.51004300046245,\n", + " 39.11905999987446\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51344300046208,\n", + " 39.12025999987432\n", + " ],\n", + " [\n", + " -84.51364300046208,\n", + " 39.12075999987429\n", + " ],\n", + " [\n", + " -84.51314300046214,\n", + " 39.12125999987424\n", + " ],\n", + " [\n", + " -84.51294300046216,\n", + " 39.121859999874175\n", + " ],\n", + " [\n", + " -84.51114300046235,\n", + " 39.122159999874164\n", + " ],\n", + " [\n", + " -84.51074300046238,\n", + " 39.12235999987413\n", + " ],\n", + " [\n", + " -84.50964300046252,\n", + " 39.12235999987413\n", + " ],\n", + " [\n", + " -84.50954300046251,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50924300046256,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50918500046257,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50904300046258,\n", + " 39.1227599998741\n", + " ],\n", + " [\n", + " -84.50834300046267,\n", + " 39.12265999987413\n", + " ],\n", + " [\n", + " -84.50834300046266,\n", + " 39.12195999987419\n", + " ],\n", + " [\n", + " -84.50834300046266,\n", + " 39.121459999874226\n", + " ],\n", + " [\n", + " -84.50844300046265,\n", + " 39.120459999874335\n", + " ],\n", + " [\n", + " -84.50844300046263,\n", + " 39.11985999987439\n", + " ],\n", + " [\n", + " -84.50854300046262,\n", + " 39.11965999987441\n", + " ],\n", + " [\n", + " -84.51004300046246,\n", + " 39.11975999987439\n", + " ],\n", + " [\n", + " -84.51134300046232,\n", + " 39.11975999987437\n", + " ],\n", + " [\n", + " -84.5114430004623,\n", + " 39.11915999987442\n", + " ],\n", + " [\n", + " -84.51152500046227,\n", + " 39.11883199987446\n", + " ],\n", + " [\n", + " -84.51164300046227,\n", + " 39.118859999874445\n", + " ],\n", + " [\n", + " -84.51199500046225,\n", + " 39.119094999874434\n", + " ],\n", + " [\n", + " -84.51224300046222,\n", + " 39.11925999987442\n", + " ],\n", + " [\n", + " -84.51344300046208,\n", + " 39.12025999987432\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50894300046254,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50902300046252,\n", + " 39.112259999875086\n", + " ],\n", + " [\n", + " -84.50889600046254,\n", + " 39.113072999874994\n", + " ],\n", + " [\n", + " -84.50884300046253,\n", + " 39.11305999987503\n", + " ],\n", + " [\n", + " -84.50872100046254,\n", + " 39.113050999875014\n", + " ],\n", + " [\n", + " -84.50754300046268,\n", + " 39.112959999875024\n", + " ],\n", + " [\n", + " -84.50754300046268,\n", + " 39.11255999987504\n", + " ],\n", + " [\n", + " -84.50764300046268,\n", + " 39.112159999875075\n", + " ],\n", + " [\n", + " -84.50894300046254,\n", + " 39.112259999875086\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50764300046268,\n", + " 39.112159999875075\n", + " ],\n", + " [\n", + " -84.50754300046268,\n", + " 39.11255999987504\n", + " ],\n", + " [\n", + " -84.50674300046276,\n", + " 39.112559999875074\n", + " ],\n", + " [\n", + " -84.50684300046272,\n", + " 39.11205999987513\n", + " ],\n", + " [\n", + " -84.50764300046268,\n", + " 39.112159999875075\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.51544400046203,\n", + " 39.14215999987227\n", + " ],\n", + " [\n", + " -84.51514400046204,\n", + " 39.14195999987231\n", + " ],\n", + " [\n", + " -84.51334400046224,\n", + " 39.14045999987247\n", + " ],\n", + " [\n", + " -84.51347700046222,\n", + " 39.13879699987262\n", + " ],\n", + " [\n", + " -84.5135440004622,\n", + " 39.13795999987269\n", + " ],\n", + " [\n", + " -84.51364400046218,\n", + " 39.13675999987281\n", + " ],\n", + " [\n", + " -84.51384400046216,\n", + " 39.13555999987291\n", + " ],\n", + " [\n", + " -84.51474400046204,\n", + " 39.13565999987291\n", + " ],\n", + " [\n", + " -84.515144000462,\n", + " 39.13585999987289\n", + " ],\n", + " [\n", + " -84.51494400046204,\n", + " 39.1365599998728\n", + " ],\n", + " [\n", + " -84.51514400046202,\n", + " 39.1377599998727\n", + " ],\n", + " [\n", + " -84.51574400046195,\n", + " 39.138259999872645\n", + " ],\n", + " [\n", + " -84.51534400046202,\n", + " 39.13945999987253\n", + " ],\n", + " [\n", + " -84.51544400046203,\n", + " 39.14195999987231\n", + " ],\n", + " [\n", + " -84.51544400046203,\n", + " 39.14215999987227\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50984300046255,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.51004300046255,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.51084400046246,\n", + " 39.132759999873166\n", + " ],\n", + " [\n", + " -84.51074400046248,\n", + " 39.13405999987305\n", + " ],\n", + " [\n", + " -84.5106440004625,\n", + " 39.13485999987298\n", + " ],\n", + " [\n", + " -84.51054400046252,\n", + " 39.135359999872946\n", + " ],\n", + " [\n", + " -84.50934300046264,\n", + " 39.13525999987296\n", + " ],\n", + " [\n", + " -84.50894300046268,\n", + " 39.13515999987295\n", + " ],\n", + " [\n", + " -84.50904300046265,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50914300046264,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.50984300046255,\n", + " 39.132659999873205\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50914300046264,\n", + " 39.132659999873205\n", + " ],\n", + " [\n", + " -84.50904300046265,\n", + " 39.133859999873096\n", + " ],\n", + " [\n", + " -84.50834300046274,\n", + " 39.13385999987311\n", + " ],\n", + " [\n", + " -84.50844300046272,\n", + " 39.13255999987321\n", + " ],\n", + " [\n", + " -84.50914300046264,\n", + " 39.132659999873205\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49664300046405,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.49464300046427,\n", + " 39.14225999987239\n", + " ],\n", + " [\n", + " -84.49464300046427,\n", + " 39.14195999987242\n", + " ],\n", + " [\n", + " -84.49244300046452,\n", + " 39.141659999872424\n", + " ],\n", + " [\n", + " -84.49294300046445,\n", + " 39.140959999872514\n", + " ],\n", + " [\n", + " -84.49354300046437,\n", + " 39.13995999987257\n", + " ],\n", + " [\n", + " -84.49674300046402,\n", + " 39.14015999987255\n", + " ],\n", + " [\n", + " -84.49674300046404,\n", + " 39.140759999872486\n", + " ],\n", + " [\n", + " -84.49684300046403,\n", + " 39.141159999872464\n", + " ],\n", + " [\n", + " -84.49664300046405,\n", + " 39.14235999987234\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4960430004641,\n", + " 39.137059999872825\n", + " ],\n", + " [\n", + " -84.4960430004641,\n", + " 39.137259999872825\n", + " ],\n", + " [\n", + " -84.49544300046415,\n", + " 39.13795999987277\n", + " ],\n", + " [\n", + " -84.49524300046419,\n", + " 39.13825999987273\n", + " ],\n", + " [\n", + " -84.49454300046426,\n", + " 39.13795999987277\n", + " ],\n", + " [\n", + " -84.49114300046465,\n", + " 39.139459999872614\n", + " ],\n", + " [\n", + " -84.49044300046471,\n", + " 39.13945999987263\n", + " ],\n", + " [\n", + " -84.4903430004647,\n", + " 39.13845999987273\n", + " ],\n", + " [\n", + " -84.49124300046462,\n", + " 39.13785999987278\n", + " ],\n", + " [\n", + " -84.49154300046457,\n", + " 39.1366599998729\n", + " ],\n", + " [\n", + " -84.49234300046447,\n", + " 39.13675999987287\n", + " ],\n", + " [\n", + " -84.49374300046433,\n", + " 39.136759999872865\n", + " ],\n", + " [\n", + " -84.49514300046418,\n", + " 39.13685999987286\n", + " ],\n", + " [\n", + " -84.4960430004641,\n", + " 39.137059999872825\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4949430004642,\n", + " 39.13855999987269\n", + " ],\n", + " [\n", + " -84.49444300046427,\n", + " 39.139159999872646\n", + " ],\n", + " [\n", + " -84.49354300046437,\n", + " 39.13995999987257\n", + " ],\n", + " [\n", + " -84.49294300046445,\n", + " 39.140959999872514\n", + " ],\n", + " [\n", + " -84.49094300046467,\n", + " 39.140859999872504\n", + " ],\n", + " [\n", + " -84.49114300046465,\n", + " 39.139459999872614\n", + " ],\n", + " [\n", + " -84.49454300046426,\n", + " 39.13795999987277\n", + " ],\n", + " [\n", + " -84.49524300046419,\n", + " 39.13825999987273\n", + " ],\n", + " [\n", + " -84.4949430004642,\n", + " 39.13855999987269\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5055430004631,\n", + " 39.143859999872156\n", + " ],\n", + " [\n", + " -84.50534300046313,\n", + " 39.14555999987203\n", + " ],\n", + " [\n", + " -84.50414300046327,\n", + " 39.145459999872024\n", + " ],\n", + " [\n", + " -84.50422400046327,\n", + " 39.14481199987206\n", + " ],\n", + " [\n", + " -84.50434300046324,\n", + " 39.14385999987216\n", + " ],\n", + " [\n", + " -84.5055430004631,\n", + " 39.143859999872156\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5096440004627,\n", + " 39.148759999871686\n", + " ],\n", + " [\n", + " -84.50924400046276,\n", + " 39.150759999871525\n", + " ],\n", + " [\n", + " -84.5088440004628,\n", + " 39.15095999987151\n", + " ],\n", + " [\n", + " -84.5077440004629,\n", + " 39.149759999871605\n", + " ],\n", + " [\n", + " -84.50674400046303,\n", + " 39.14935999987167\n", + " ],\n", + " [\n", + " -84.50624400046307,\n", + " 39.14935999987166\n", + " ],\n", + " [\n", + " -84.50606600046308,\n", + " 39.14934199987168\n", + " ],\n", + " [\n", + " -84.50524400046316,\n", + " 39.14925999987169\n", + " ],\n", + " [\n", + " -84.50531600046315,\n", + " 39.148107999871776\n", + " ],\n", + " [\n", + " -84.50534400046317,\n", + " 39.147659999871806\n", + " ],\n", + " [\n", + " -84.50624400046306,\n", + " 39.14775999987181\n", + " ],\n", + " [\n", + " -84.50644400046303,\n", + " 39.146459999871915\n", + " ],\n", + " [\n", + " -84.50714400046296,\n", + " 39.14655999987191\n", + " ],\n", + " [\n", + " -84.50834400046283,\n", + " 39.147259999871835\n", + " ],\n", + " [\n", + " -84.50884400046277,\n", + " 39.14805999987176\n", + " ],\n", + " [\n", + " -84.5096440004627,\n", + " 39.148759999871686\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50644400046303,\n", + " 39.146459999871915\n", + " ],\n", + " [\n", + " -84.50624400046306,\n", + " 39.14775999987181\n", + " ],\n", + " [\n", + " -84.50534400046317,\n", + " 39.147659999871806\n", + " ],\n", + " [\n", + " -84.50544300046313,\n", + " 39.14645999987191\n", + " ],\n", + " [\n", + " -84.50644400046303,\n", + " 39.146459999871915\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50574300046307,\n", + " 39.14205999987235\n", + " ],\n", + " [\n", + " -84.50564300046308,\n", + " 39.142959999872254\n", + " ],\n", + " [\n", + " -84.50314300046337,\n", + " 39.14285999987227\n", + " ],\n", + " [\n", + " -84.50294300046339,\n", + " 39.14275999987228\n", + " ],\n", + " [\n", + " -84.50304300046336,\n", + " 39.141859999872366\n", + " ],\n", + " [\n", + " -84.50324300046334,\n", + " 39.14185999987239\n", + " ],\n", + " [\n", + " -84.50574300046307,\n", + " 39.14205999987235\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50564300046308,\n", + " 39.142959999872254\n", + " ],\n", + " [\n", + " -84.5055430004631,\n", + " 39.143859999872156\n", + " ],\n", + " [\n", + " -84.50434300046324,\n", + " 39.14385999987216\n", + " ],\n", + " [\n", + " -84.50340000046334,\n", + " 39.14378699987218\n", + " ],\n", + " [\n", + " -84.50304300046338,\n", + " 39.14375999987218\n", + " ],\n", + " [\n", + " -84.50314300046337,\n", + " 39.14285999987227\n", + " ],\n", + " [\n", + " -84.50564300046308,\n", + " 39.142959999872254\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50434300046324,\n", + " 39.14385999987216\n", + " ],\n", + " [\n", + " -84.50422400046327,\n", + " 39.14481199987206\n", + " ],\n", + " [\n", + " -84.50414300046327,\n", + " 39.145459999872024\n", + " ],\n", + " [\n", + " -84.50294300046342,\n", + " 39.14535999987205\n", + " ],\n", + " [\n", + " -84.50294300046342,\n", + " 39.145159999872064\n", + " ],\n", + " [\n", + " -84.50304300046338,\n", + " 39.14375999987218\n", + " ],\n", + " [\n", + " -84.50340000046334,\n", + " 39.14378699987218\n", + " ],\n", + " [\n", + " -84.50434300046324,\n", + " 39.14385999987216\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50294300046339,\n", + " 39.14275999987228\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1425599998723\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1416599998724\n", + " ],\n", + " [\n", + " -84.50304300046336,\n", + " 39.141859999872366\n", + " ],\n", + " [\n", + " -84.50294300046339,\n", + " 39.14275999987228\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50314300046337,\n", + " 39.14285999987227\n", + " ],\n", + " [\n", + " -84.50304300046338,\n", + " 39.14375999987218\n", + " ],\n", + " [\n", + " -84.50014300046368,\n", + " 39.143559999872224\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1425599998723\n", + " ],\n", + " [\n", + " -84.50294300046339,\n", + " 39.14275999987228\n", + " ],\n", + " [\n", + " -84.50314300046337,\n", + " 39.14285999987227\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50304300046338,\n", + " 39.14375999987218\n", + " ],\n", + " [\n", + " -84.50294300046342,\n", + " 39.145159999872064\n", + " ],\n", + " [\n", + " -84.49994300046373,\n", + " 39.14485999987211\n", + " ],\n", + " [\n", + " -84.5000430004637,\n", + " 39.143959999872195\n", + " ],\n", + " [\n", + " -84.50014300046368,\n", + " 39.143559999872224\n", + " ],\n", + " [\n", + " -84.50304300046338,\n", + " 39.14375999987218\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50534300046313,\n", + " 39.14555999987203\n", + " ],\n", + " [\n", + " -84.50544300046313,\n", + " 39.14645999987191\n", + " ],\n", + " [\n", + " -84.5038430004633,\n", + " 39.14635999987197\n", + " ],\n", + " [\n", + " -84.50284300046341,\n", + " 39.146259999871944\n", + " ],\n", + " [\n", + " -84.50294300046342,\n", + " 39.14535999987205\n", + " ],\n", + " [\n", + " -84.50414300046327,\n", + " 39.145459999872024\n", + " ],\n", + " [\n", + " -84.50534300046313,\n", + " 39.14555999987203\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5038430004633,\n", + " 39.14635999987197\n", + " ],\n", + " [\n", + " -84.50544300046313,\n", + " 39.14645999987191\n", + " ],\n", + " [\n", + " -84.50534400046317,\n", + " 39.147659999871806\n", + " ],\n", + " [\n", + " -84.50531600046315,\n", + " 39.148107999871776\n", + " ],\n", + " [\n", + " -84.50524400046316,\n", + " 39.14925999987169\n", + " ],\n", + " [\n", + " -84.50360700046336,\n", + " 39.14913399987168\n", + " ],\n", + " [\n", + " -84.50264300046345,\n", + " 39.149059999871696\n", + " ],\n", + " [\n", + " -84.50284300046341,\n", + " 39.146259999871944\n", + " ],\n", + " [\n", + " -84.5038430004633,\n", + " 39.14635999987197\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50294300046342,\n", + " 39.14535999987205\n", + " ],\n", + " [\n", + " -84.50284300046341,\n", + " 39.146259999871944\n", + " ],\n", + " [\n", + " -84.49984300046374,\n", + " 39.14605999987198\n", + " ],\n", + " [\n", + " -84.49994300046373,\n", + " 39.14485999987211\n", + " ],\n", + " [\n", + " -84.50294300046342,\n", + " 39.145159999872064\n", + " ],\n", + " [\n", + " -84.50294300046342,\n", + " 39.14535999987205\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50606600046308,\n", + " 39.14934199987168\n", + " ],\n", + " [\n", + " -84.50624400046307,\n", + " 39.14935999987166\n", + " ],\n", + " [\n", + " -84.50614400046308,\n", + " 39.150259999871565\n", + " ],\n", + " [\n", + " -84.50454400046326,\n", + " 39.15015999987159\n", + " ],\n", + " [\n", + " -84.50344300046336,\n", + " 39.15015999987159\n", + " ],\n", + " [\n", + " -84.50284300046344,\n", + " 39.14975999987163\n", + " ],\n", + " [\n", + " -84.50264300046345,\n", + " 39.149059999871696\n", + " ],\n", + " [\n", + " -84.50360700046336,\n", + " 39.14913399987168\n", + " ],\n", + " [\n", + " -84.50524400046316,\n", + " 39.14925999987169\n", + " ],\n", + " [\n", + " -84.50606600046308,\n", + " 39.14934199987168\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50454400046326,\n", + " 39.15015999987159\n", + " ],\n", + " [\n", + " -84.50454400046326,\n", + " 39.15125999987151\n", + " ],\n", + " [\n", + " -84.50494400046323,\n", + " 39.15165999987144\n", + " ],\n", + " [\n", + " -84.50374300046336,\n", + " 39.15155999987148\n", + " ],\n", + " [\n", + " -84.50344300046336,\n", + " 39.15015999987159\n", + " ],\n", + " [\n", + " -84.50454400046326,\n", + " 39.15015999987159\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50604400046315,\n", + " 39.15485999987118\n", + " ],\n", + " [\n", + " -84.50564400046316,\n", + " 39.15545999987109\n", + " ],\n", + " [\n", + " -84.50314400046344,\n", + " 39.15525999987111\n", + " ],\n", + " [\n", + " -84.50244300046353,\n", + " 39.15485999987118\n", + " ],\n", + " [\n", + " -84.50044300046372,\n", + " 39.15245999987139\n", + " ],\n", + " [\n", + " -84.49924300046385,\n", + " 39.15165999987147\n", + " ],\n", + " [\n", + " -84.49794300046398,\n", + " 39.15045999987158\n", + " ],\n", + " [\n", + " -84.49874300046388,\n", + " 39.14965999987165\n", + " ],\n", + " [\n", + " -84.49884300046386,\n", + " 39.149359999871685\n", + " ],\n", + " [\n", + " -84.49904300046383,\n", + " 39.14605999987199\n", + " ],\n", + " [\n", + " -84.49984300046374,\n", + " 39.14605999987198\n", + " ],\n", + " [\n", + " -84.50284300046341,\n", + " 39.146259999871944\n", + " ],\n", + " [\n", + " -84.50264300046345,\n", + " 39.149059999871696\n", + " ],\n", + " [\n", + " -84.50284300046344,\n", + " 39.14975999987163\n", + " ],\n", + " [\n", + " -84.50344300046336,\n", + " 39.15015999987159\n", + " ],\n", + " [\n", + " -84.50374300046336,\n", + " 39.15155999987148\n", + " ],\n", + " [\n", + " -84.50494400046323,\n", + " 39.15165999987144\n", + " ],\n", + " [\n", + " -84.50454400046326,\n", + " 39.15125999987151\n", + " ],\n", + " [\n", + " -84.50454400046326,\n", + " 39.15015999987159\n", + " ],\n", + " [\n", + " -84.50614400046308,\n", + " 39.150259999871565\n", + " ],\n", + " [\n", + " -84.50624400046307,\n", + " 39.14935999987166\n", + " ],\n", + " [\n", + " -84.50674400046303,\n", + " 39.14935999987167\n", + " ],\n", + " [\n", + " -84.5077440004629,\n", + " 39.149759999871605\n", + " ],\n", + " [\n", + " -84.5088440004628,\n", + " 39.15095999987151\n", + " ],\n", + " [\n", + " -84.50924400046277,\n", + " 39.151459999871456\n", + " ],\n", + " [\n", + " -84.50814400046289,\n", + " 39.152059999871405\n", + " ],\n", + " [\n", + " -84.50604400046315,\n", + " 39.15485999987118\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49884300046381,\n", + " 39.141559999872406\n", + " ],\n", + " [\n", + " -84.49884300046381,\n", + " 39.14125999987244\n", + " ],\n", + " [\n", + " -84.49984300046371,\n", + " 39.14125999987244\n", + " ],\n", + " [\n", + " -84.49974300046372,\n", + " 39.141559999872406\n", + " ],\n", + " [\n", + " -84.49884300046381,\n", + " 39.141559999872406\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.50014300046368,\n", + " 39.143559999872224\n", + " ],\n", + " [\n", + " -84.5000430004637,\n", + " 39.143959999872195\n", + " ],\n", + " [\n", + " -84.49884300046384,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.49894300046381,\n", + " 39.14245999987232\n", + " ],\n", + " [\n", + " -84.4981430004639,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.49814300046388,\n", + " 39.14155999987243\n", + " ],\n", + " [\n", + " -84.49884300046381,\n", + " 39.141559999872406\n", + " ],\n", + " [\n", + " -84.49974300046372,\n", + " 39.141559999872406\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1416599998724\n", + " ],\n", + " [\n", + " -84.50024300046367,\n", + " 39.1425599998723\n", + " ],\n", + " [\n", + " -84.50014300046368,\n", + " 39.143559999872224\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49894300046381,\n", + " 39.14245999987232\n", + " ],\n", + " [\n", + " -84.49884300046384,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.143159999872275\n", + " ],\n", + " [\n", + " -84.4981430004639,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.49894300046381,\n", + " 39.14245999987232\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.5000430004637,\n", + " 39.143959999872195\n", + " ],\n", + " [\n", + " -84.49994300046373,\n", + " 39.14485999987211\n", + " ],\n", + " [\n", + " -84.49774300046396,\n", + " 39.144759999872115\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.49884300046384,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.5000430004637,\n", + " 39.143959999872195\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49994300046373,\n", + " 39.14485999987211\n", + " ],\n", + " [\n", + " -84.49984300046374,\n", + " 39.14605999987198\n", + " ],\n", + " [\n", + " -84.49904300046383,\n", + " 39.14605999987199\n", + " ],\n", + " [\n", + " -84.49774300046397,\n", + " 39.145959999872\n", + " ],\n", + " [\n", + " -84.49774300046396,\n", + " 39.144759999872115\n", + " ],\n", + " [\n", + " -84.49994300046373,\n", + " 39.14485999987211\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.4981430004639,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.143159999872275\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.142859999872286\n", + " ],\n", + " [\n", + " -84.49464300046427,\n", + " 39.14225999987239\n", + " ],\n", + " [\n", + " -84.49664300046405,\n", + " 39.14235999987234\n", + " ],\n", + " [\n", + " -84.4981430004639,\n", + " 39.14235999987234\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49774300046396,\n", + " 39.144759999872115\n", + " ],\n", + " [\n", + " -84.49774300046397,\n", + " 39.145959999872\n", + " ],\n", + " [\n", + " -84.49514300046425,\n", + " 39.14575999987203\n", + " ],\n", + " [\n", + " -84.49534300046422,\n", + " 39.144559999872136\n", + " ],\n", + " [\n", + " -84.49774300046396,\n", + " 39.144759999872115\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49774300046397,\n", + " 39.145959999872\n", + " ],\n", + " [\n", + " -84.49904300046383,\n", + " 39.14605999987199\n", + " ],\n", + " [\n", + " -84.49884300046386,\n", + " 39.149359999871685\n", + " ],\n", + " [\n", + " -84.49874300046388,\n", + " 39.14965999987165\n", + " ],\n", + " [\n", + " -84.49794300046398,\n", + " 39.15045999987158\n", + " ],\n", + " [\n", + " -84.497643000464,\n", + " 39.15025999987161\n", + " ],\n", + " [\n", + " -84.49704300046406,\n", + " 39.14965999987167\n", + " ],\n", + " [\n", + " -84.49704300046406,\n", + " 39.148759999871736\n", + " ],\n", + " [\n", + " -84.49624300046413,\n", + " 39.148759999871736\n", + " ],\n", + " [\n", + " -84.49644300046413,\n", + " 39.14835999987178\n", + " ],\n", + " [\n", + " -84.49734300046401,\n", + " 39.147459999871856\n", + " ],\n", + " [\n", + " -84.49774300046397,\n", + " 39.145959999872\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 253.0,\n", + " 231.0,\n", + " 36.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49794300046392,\n", + " 39.143159999872275\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.14355999987227\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.142859999872286\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.143159999872275\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49794300046392,\n", + " 39.1438599998722\n", + " ],\n", + " [\n", + " -84.49774300046396,\n", + " 39.144759999872115\n", + " ],\n", + " [\n", + " -84.49534300046422,\n", + " 39.144559999872136\n", + " ],\n", + " [\n", + " -84.49434300046431,\n", + " 39.14445999987216\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.14355999987227\n", + " ],\n", + " [\n", + " -84.49794300046392,\n", + " 39.1438599998722\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 32.0,\n", + " 144.0,\n", + " 140.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49454300046429,\n", + " 39.142859999872286\n", + " ],\n", + " [\n", + " -84.49194300046456,\n", + " 39.14255999987233\n", + " ],\n", + " [\n", + " -84.49224300046454,\n", + " 39.14215999987238\n", + " ],\n", + " [\n", + " -84.49244300046452,\n", + " 39.141659999872424\n", + " ],\n", + " [\n", + " -84.49464300046427,\n", + " 39.14195999987242\n", + " ],\n", + " [\n", + " -84.49464300046427,\n", + " 39.14225999987239\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.142859999872286\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 68.0,\n", + " 1.0,\n", + " 84.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49454300046429,\n", + " 39.14355999987227\n", + " ],\n", + " [\n", + " -84.49434300046431,\n", + " 39.14445999987216\n", + " ],\n", + " [\n", + " -84.49104300046467,\n", + " 39.14415999987221\n", + " ],\n", + " [\n", + " -84.4915430004646,\n", + " 39.143159999872296\n", + " ],\n", + " [\n", + " -84.49194300046456,\n", + " 39.14255999987233\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.142859999872286\n", + " ],\n", + " [\n", + " -84.49454300046429,\n", + " 39.14355999987227\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 94.0,\n", + " 201.0,\n", + " 97.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49514300046425,\n", + " 39.14575999987203\n", + " ],\n", + " [\n", + " -84.49404300046436,\n", + " 39.145659999872066\n", + " ],\n", + " [\n", + " -84.49224300046455,\n", + " 39.14545999987209\n", + " ],\n", + " [\n", + " -84.49034300046476,\n", + " 39.145359999872106\n", + " ],\n", + " [\n", + " -84.49054300046475,\n", + " 39.14495999987214\n", + " ],\n", + " [\n", + " -84.49104300046467,\n", + " 39.14415999987221\n", + " ],\n", + " [\n", + " -84.49434300046431,\n", + " 39.14445999987216\n", + " ],\n", + " [\n", + " -84.49534300046422,\n", + " 39.144559999872136\n", + " ],\n", + " [\n", + " -84.49514300046425,\n", + " 39.14575999987203\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " },\n", + " {\n", + " \"fill\": [\n", + " 58.0,\n", + " 82.0,\n", + " 139.0,\n", + " 255.0\n", + " ],\n", + " \"geometry\": {\n", + " \"coordinates\": [\n", + " [\n", + " [\n", + " -84.49624300046413,\n", + " 39.148759999871736\n", + " ],\n", + " [\n", + " -84.4948430004643,\n", + " 39.14865999987177\n", + " ],\n", + " [\n", + " -84.4948430004643,\n", + " 39.14845999987178\n", + " ],\n", + " [\n", + " -84.49514300046425,\n", + " 39.14575999987203\n", + " ],\n", + " [\n", + " -84.49774300046397,\n", + " 39.145959999872\n", + " ],\n", + " [\n", + " -84.49734300046401,\n", + " 39.147459999871856\n", + " ],\n", + " [\n", + " -84.49644300046413,\n", + " 39.14835999987178\n", + " ],\n", + " [\n", + " -84.49624300046413,\n", + " 39.148759999871736\n", + " ]\n", + " ]\n", + " ],\n", + " \"type\": \"Polygon\"\n", + " }\n", + " }\n", + " ],\n", + " \"getFillColor\": \"@@=fill\",\n", + " \"id\": \"8d459d85-e311-42ef-b2b3-af69c3ec9260\",\n", + " \"opacity\": 0.8,\n", + " \"pickable\": true\n", + " }\n", + " ],\n", + " \"mapProvider\": \"carto\",\n", + " \"mapStyle\": \"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",\n", + " \"views\": [\n", + " {\n", + " \"@@type\": \"MapView\",\n", + " \"controller\": true\n", + " }\n", + " ]\n", + "}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "layers = [\n", + " pdk.Layer(\n", + " \"GeoJsonLayer\",\n", + " data=df.to_crs(4326)[['geometry', 'fill']],\n", + " get_fill_color='fill',\n", + " opacity=0.8,\n", + " auto_highlight=True,\n", + " pickable=True,\n", + " ),\n", + "]\n", + "view_state = pdk.ViewState(\n", + " **{\n", + " \"latitude\": df.unary_union.centroid.y,\n", + " \"longitude\": df.unary_union.centroid.x,\n", + " \"zoom\": 12,\n", + " \"maxZoom\": 16,\n", + " \"pitch\": 25,\n", + " \"bearing\": -40,\n", + " }\n", + ")\n", + "D = pdk.Deck(\n", + " layers,\n", + " map_provider=\"carto\",\n", + " map_style=pdk.map_styles.LIGHT,\n", + " initial_view_state=view_state\n", + ")\n", + "D" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90e0b58a-441e-4176-bc7a-9f56a1268647", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:geosnap]", + "language": "python", + "name": "conda-env-geosnap-py" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.0" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "0981202e38bf47309f796be09957dee8": { + "model_module": "@deck.gl/jupyter-widget", + "model_module_version": "2.0.0", + "model_name": "JupyterTransportModel", + "state": { + "_model_module": "@deck.gl/jupyter-widget", + "_model_name": "JupyterTransportModel", + "_view_name": "ErrorWidgetView", + "carto_key": null, + "configuration": null, + "custom_libraries": [], + "data_buffer": null, + "error": {}, + "google_maps_key": null, + "height": 500, + "json_input": "", + "layout": "IPY_MODEL_12e39e92226d490b894852a07a8831a9", + "mapbox_key": null, + "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", + "tooltip": true, + "width": "100%" + } + }, + "0a27325539de4de7bb91db85f4ec5423": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "0c00e1efe45f4c4bb40ccc80a3d98094": { + "model_module": "anywidget", + "model_module_version": "~0.9.*", + "model_name": "AnyModel", + "state": { + "_anywidget_id": "lonboard._map.Map", + "_css": ".lonboard-tooltip{font-family:var(--jp-ui-font-family);font-size:var(--jp-ui-font-size1)}.lonboard-tooltip table{border-collapse:collapse}.lonboard-tooltip table tr:nth-child(odd){background-color:#fff}.lonboard-tooltip table tr:nth-child(2n){background-color:#f1f1f1}.lonboard-tooltip td{border:1px solid rgb(204,204,204);padding:5px}.lonboard-tooltip td:first-child{font-weight:450}\n", + "_esm": "var EJ=Object.create;var $C=Object.defineProperty;var PJ=Object.getOwnPropertyDescriptor;var IJ=Object.getOwnPropertyNames;var CJ=Object.getPrototypeOf,LJ=Object.prototype.hasOwnProperty;var Br=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mA=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},kJ=(e,t,r,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let s of IJ(t))!LJ.call(e,s)&&s!==r&&$C(e,s,{get:()=>t[s],enumerable:!(i=PJ(t,s))||i.enumerable});return e};var Ri=(e,t,r)=>(r=e!=null?EJ(CJ(e)):{},kJ(t||!e||!e.__esModule?$C(r,\"default\",{value:e,enumerable:!0}):r,e));var _z=Br(Di=>{\"use strict\";var r1=Symbol.for(\"react.element\"),RJ=Symbol.for(\"react.portal\"),DJ=Symbol.for(\"react.fragment\"),OJ=Symbol.for(\"react.strict_mode\"),BJ=Symbol.for(\"react.profiler\"),FJ=Symbol.for(\"react.provider\"),zJ=Symbol.for(\"react.context\"),NJ=Symbol.for(\"react.forward_ref\"),UJ=Symbol.for(\"react.suspense\"),VJ=Symbol.for(\"react.memo\"),jJ=Symbol.for(\"react.lazy\"),az=Symbol.iterator;function GJ(e){return e===null||typeof e!=\"object\"?null:(e=az&&e[az]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var uz={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},hz=Object.assign,fz={};function R_(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}R_.prototype.isReactComponent={};R_.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};R_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function dz(){}dz.prototype=R_.prototype;function KC(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}var JC=KC.prototype=new dz;JC.constructor=KC;hz(JC,R_.prototype);JC.isPureReactComponent=!0;var lz=Array.isArray,pz=Object.prototype.hasOwnProperty,tL={current:null},Az={key:!0,ref:!0,__self:!0,__source:!0};function mz(e,t,r){var i,s={},n=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(n=\"\"+t.key),t)pz.call(t,i)&&!Az.hasOwnProperty(i)&&(s[i]=t[i]);var c=arguments.length-2;if(c===1)s.children=r;else if(1{\"use strict\";yz.exports=_z()});var Iz=Br(zn=>{\"use strict\";function sL(e,t){var r=e.length;e.push(t);t:for(;0>>1,s=e[i];if(0<_T(s,t))e[i]=t,e[r]=s,r=i;else break t}}function Sh(e){return e.length===0?null:e[0]}function vT(e){if(e.length===0)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;t:for(var i=0,s=e.length,n=s>>>1;i_T(c,r))f_T(_,c)?(e[i]=_,e[f]=r,i=f):(e[i]=c,e[o]=r,i=o);else if(f_T(_,r))e[i]=_,e[f]=r,i=f;else break t}}return t}function _T(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance==\"object\"&&typeof performance.now==\"function\"?(vz=performance,zn.unstable_now=function(){return vz.now()}):(rL=Date,xz=rL.now(),zn.unstable_now=function(){return rL.now()-xz});var vz,rL,xz,If=[],gA=[],YJ=1,wu=null,qa=3,xT=!1,_0=!1,n1=!1,Sz=typeof setTimeout==\"function\"?setTimeout:null,Tz=typeof clearTimeout==\"function\"?clearTimeout:null,bz=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function oL(e){for(var t=Sh(gA);t!==null;){if(t.callback===null)vT(gA);else if(t.startTime<=e)vT(gA),t.sortIndex=t.expirationTime,sL(If,t);else break;t=Sh(gA)}}function aL(e){if(n1=!1,oL(e),!_0)if(Sh(If)!==null)_0=!0,cL(lL);else{var t=Sh(gA);t!==null&&uL(aL,t.startTime-e)}}function lL(e,t){_0=!1,n1&&(n1=!1,Tz(s1),s1=-1),xT=!0;var r=qa;try{for(oL(t),wu=Sh(If);wu!==null&&(!(wu.expirationTime>t)||e&&!Pz());){var i=wu.callback;if(typeof i==\"function\"){wu.callback=null,qa=wu.priorityLevel;var s=i(wu.expirationTime<=t);t=zn.unstable_now(),typeof s==\"function\"?wu.callback=s:wu===Sh(If)&&vT(If),oL(t)}else vT(If);wu=Sh(If)}if(wu!==null)var n=!0;else{var o=Sh(gA);o!==null&&uL(aL,o.startTime-t),n=!1}return n}finally{wu=null,qa=r,xT=!1}}var bT=!1,yT=null,s1=-1,Mz=5,Ez=-1;function Pz(){return!(zn.unstable_now()-Eze||125i?(e.sortIndex=r,sL(gA,e),Sh(If)===null&&e===Sh(gA)&&(n1?(Tz(s1),s1=-1):n1=!0,uL(aL,r-i))):(e.sortIndex=s,sL(If,e),_0||xT||(_0=!0,cL(lL))),e};zn.unstable_shouldYield=Pz;zn.unstable_wrapCallback=function(e){var t=qa;return function(){var r=qa;qa=t;try{return e.apply(this,arguments)}finally{qa=r}}}});var Lz=Br((tbt,Cz)=>{\"use strict\";Cz.exports=Iz()});var O8=Br(Zc=>{\"use strict\";var QJ=Yi(),Hc=Lz();function Pe(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),RL=Object.prototype.hasOwnProperty,$J=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,kz={},Rz={};function XJ(e){return RL.call(Rz,e)?!0:RL.call(kz,e)?!1:$J.test(e)?Rz[e]=!0:(kz[e]=!0,!1)}function KJ(e,t,r,i){if(r!==null&&r.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return i?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function JJ(e,t,r,i){if(t===null||typeof t>\"u\"||KJ(e,t,r,i))return!0;if(i)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Sl(e,t,r,i,s,n,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=o}var ga={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ga[e]=new Sl(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ga[t]=new Sl(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ga[e]=new Sl(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ga[e]=new Sl(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ga[e]=new Sl(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ga[e]=new Sl(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ga[e]=new Sl(e,5,!1,e.toLowerCase(),null,!1,!1)});var Tk=/[\\-:]([a-z])/g;function Mk(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!1,!1)});ga.xlinkHref=new Sl(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ek(e,t,r,i){var s=ga.hasOwnProperty(t)?ga[t]:null;(s!==null?s.type!==0:i||!(2c||s[o]!==n[c]){var f=`\n`+s[o].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),f}while(1<=o&&0<=c);break}}}finally{fL=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?p1(e):\"\"}function ttt(e){switch(e.tag){case 5:return p1(e.type);case 16:return p1(\"Lazy\");case 13:return p1(\"Suspense\");case 19:return p1(\"SuspenseList\");case 0:case 2:case 15:return e=dL(e.type,!1),e;case 11:return e=dL(e.type.render,!1),e;case 1:return e=dL(e.type,!0),e;default:return\"\"}}function FL(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case F_:return\"Fragment\";case B_:return\"Portal\";case DL:return\"Profiler\";case Pk:return\"StrictMode\";case OL:return\"Suspense\";case BL:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case U5:return(e.displayName||\"Context\")+\".Consumer\";case N5:return(e._context.displayName||\"Context\")+\".Provider\";case Ik:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Ck:return t=e.displayName||null,t!==null?t:FL(e.type)||\"Memo\";case yA:t=e._payload,e=e._init;try{return FL(e(t))}catch{}}return null}function ett(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return FL(t);case 8:return t===Pk?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==\"function\")return t.displayName||t.name||null;if(typeof t==\"string\")return t}return null}function RA(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function j5(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function rtt(e){var t=j5(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof r<\"u\"&&typeof r.get==\"function\"&&typeof r.set==\"function\"){var s=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=\"\"+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(o){i=\"\"+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ST(e){e._valueTracker||(e._valueTracker=rtt(e))}function G5(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),i=\"\";return e&&(i=j5(e)?e.checked?\"true\":\"false\":e.value),e=i,e!==r?(t.setValue(e),!0):!1}function KT(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function zL(e,t){var r=t.checked;return ms({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Oz(e,t){var r=t.defaultValue==null?\"\":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;r=RA(t.value!=null?t.value:r),e._wrapperState={initialChecked:i,initialValue:r,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function W5(e,t){t=t.checked,t!=null&&Ek(e,\"checked\",t,!1)}function NL(e,t){W5(e,t);var r=RA(t.value),i=t.type;if(r!=null)i===\"number\"?(r===0&&e.value===\"\"||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(i===\"submit\"||i===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?UL(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&UL(e,t.type,RA(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Bz(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var i=t.type;if(!(i!==\"submit\"&&i!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,r!==\"\"&&(e.name=r)}function UL(e,t,r){(t!==\"number\"||KT(e.ownerDocument)!==e)&&(r==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}var A1=Array.isArray;function Y_(e,t,r,i){if(e=e.options,t){t={};for(var s=0;s\"+t.valueOf().toString()+\"\",t=TT.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function P1(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var _1={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},itt=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(_1).forEach(function(e){itt.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_1[t]=_1[e]})});function Y5(e,t,r){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":r||typeof t!=\"number\"||t===0||_1.hasOwnProperty(e)&&_1[e]?(\"\"+t).trim():t+\"px\"}function Q5(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var i=r.indexOf(\"--\")===0,s=Y5(r,t[r],i);r===\"float\"&&(r=\"cssFloat\"),i?e.setProperty(r,s):e[r]=s}}var ntt=ms({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function GL(e,t){if(t){if(ntt[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Pe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Pe(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(Pe(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(Pe(62))}}function WL(e,t){if(e.indexOf(\"-\")===-1)return typeof t.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var HL=null;function Lk(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var qL=null,Q_=null,$_=null;function Nz(e){if(e=q1(e)){if(typeof qL!=\"function\")throw Error(Pe(280));var t=e.stateNode;t&&(t=MM(t),qL(e.stateNode,e.type,t))}}function $5(e){Q_?$_?$_.push(e):$_=[e]:Q_=e}function X5(){if(Q_){var e=Q_,t=$_;if($_=Q_=null,Nz(e),t)for(e=0;e>>=0,e===0?32:31-(Att(e)/mtt|0)|0}var MT=64,ET=4194304;function m1(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rM(e,t){var r=e.pendingLanes;if(r===0)return 0;var i=0,s=e.suspendedLanes,n=e.pingedLanes,o=r&268435455;if(o!==0){var c=o&~s;c!==0?i=m1(c):(n&=o,n!==0&&(i=m1(n)))}else o=r&~s,o!==0?i=m1(o):n!==0&&(i=m1(n));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,n=t&-t,s>=n||s===16&&(n&4194240)!==0))return t;if(i&4&&(i|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0r;r++)t.push(e);return t}function W1(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ih(t),e[t]=r}function vtt(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=v1),Yz=\" \",Qz=!1;function gN(e,t){switch(e){case\"keyup\":return Ytt.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function _N(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var z_=!1;function $tt(e,t){switch(e){case\"compositionend\":return _N(t);case\"keypress\":return t.which!==32?null:(Qz=!0,Yz);case\"textInput\":return e=t.data,e===Yz&&Qz?null:e;default:return null}}function Xtt(e,t){if(z_)return e===\"compositionend\"||!Nk&&gN(e,t)?(e=AN(),GT=Bk=wA=null,z_=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=i}t:{for(;r;){if(r.nextSibling){r=r.nextSibling;break t}r=r.parentNode}r=void 0}r=Kz(r)}}function bN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?bN(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wN(){for(var e=window,t=KT();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href==\"string\"}catch{r=!1}if(r)e=t.contentWindow;else break;t=KT(e.document)}return t}function Uk(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}function oet(e){var t=wN(),r=e.focusedElem,i=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&bN(r.ownerDocument.documentElement,r)){if(i!==null&&Uk(r)){if(t=i.start,e=i.end,e===void 0&&(e=t),\"selectionStart\"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,n=Math.min(i.start,s);i=i.end===void 0?n:Math.min(i.end,s),!e.extend&&n>i&&(s=i,i=n,n=s),s=Jz(r,n);var o=Jz(r,i);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),n>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus==\"function\"&&r.focus(),r=0;r=document.documentMode,N_=null,KL=null,b1=null,JL=!1;function t5(e,t,r){var i=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;JL||N_==null||N_!==KT(i)||(i=N_,\"selectionStart\"in i&&Uk(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),b1&&D1(b1,i)||(b1=i,i=sM(KL,\"onSelect\"),0j_||(e.current=sk[j_],sk[j_]=null,j_--)}function Nn(e,t){j_++,sk[j_]=e.current,e.current=t}var DA={},$a=BA(DA),Kl=BA(!1),M0=DA;function ey(e,t){var r=e.type.contextTypes;if(!r)return DA;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in r)s[n]=t[n];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function Jl(e){return e=e.childContextTypes,e!=null}function aM(){Zn(Kl),Zn($a)}function c5(e,t,r){if($a.current!==DA)throw Error(Pe(168));Nn($a,t),Nn(Kl,r)}function kN(e,t,r){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=\"function\")return r;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(Pe(108,ett(e)||\"Unknown\",s));return ms({},r,i)}function lM(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||DA,M0=$a.current,Nn($a,e),Nn(Kl,Kl.current),!0}function u5(e,t,r){var i=e.stateNode;if(!i)throw Error(Pe(169));r?(e=kN(e,t,M0),i.__reactInternalMemoizedMergedChildContext=e,Zn(Kl),Zn($a),Nn($a,e)):Zn(Kl),Nn(Kl,r)}var Wd=null,EM=!1,SL=!1;function RN(e){Wd===null?Wd=[e]:Wd.push(e)}function get(e){EM=!0,RN(e)}function FA(){if(!SL&&Wd!==null){SL=!0;var e=0,t=vn;try{var r=Wd;for(vn=1;e>=o,s-=o,Hd=1<<32-Ih(t)+s|r<qt?(le=Xt,Xt=null):le=Xt.sibling;var ue=R(Y,Xt,J[qt],ut);if(ue===null){Xt===null&&(Xt=le);break}e&&Xt&&ue.alternate===null&&t(Y,Xt),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue,Xt=le}if(qt===J.length)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;qtqt?(le=Xt,Xt=null):le=Xt.sibling;var De=R(Y,Xt,ue.value,ut);if(De===null){Xt===null&&(Xt=le);break}e&&Xt&&De.alternate===null&&t(Y,Xt),K=n(De,K,qt),kt===null?Et=De:kt.sibling=De,kt=De,Xt=le}if(ue.done)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;!ue.done;qt++,ue=J.next())ue=I(Y,ue.value,ut),ue!==null&&(K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return ns&&y0(Y,qt),Et}for(Xt=i(Y,Xt);!ue.done;qt++,ue=J.next())ue=N(Xt,Y,qt,ue.value,ut),ue!==null&&(e&&ue.alternate!==null&&Xt.delete(ue.key===null?qt:ue.key),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return e&&Xt.forEach(function(Ke){return t(Y,Ke)}),ns&&y0(Y,qt),Et}function et(Y,K,J,ut){if(typeof J==\"object\"&&J!==null&&J.type===F_&&J.key===null&&(J=J.props.children),typeof J==\"object\"&&J!==null){switch(J.$$typeof){case wT:t:{for(var Et=J.key,kt=K;kt!==null;){if(kt.key===Et){if(Et=J.type,Et===F_){if(kt.tag===7){r(Y,kt.sibling),K=s(kt,J.props.children),K.return=Y,Y=K;break t}}else if(kt.elementType===Et||typeof Et==\"object\"&&Et!==null&&Et.$$typeof===yA&&d5(Et)===kt.type){r(Y,kt.sibling),K=s(kt,J.props),K.ref=u1(Y,kt,J),K.return=Y,Y=K;break t}r(Y,kt);break}else t(Y,kt);kt=kt.sibling}J.type===F_?(K=T0(J.props.children,Y.mode,ut,J.key),K.return=Y,Y=K):(ut=XT(J.type,J.key,J.props,null,Y.mode,ut),ut.ref=u1(Y,K,J),ut.return=Y,Y=ut)}return o(Y);case B_:t:{for(kt=J.key;K!==null;){if(K.key===kt)if(K.tag===4&&K.stateNode.containerInfo===J.containerInfo&&K.stateNode.implementation===J.implementation){r(Y,K.sibling),K=s(K,J.children||[]),K.return=Y,Y=K;break t}else{r(Y,K);break}else t(Y,K);K=K.sibling}K=kL(J,Y.mode,ut),K.return=Y,Y=K}return o(Y);case yA:return kt=J._init,et(Y,K,kt(J._payload),ut)}if(A1(J))return j(Y,K,J,ut);if(o1(J))return Q(Y,K,J,ut);zT(Y,J)}return typeof J==\"string\"&&J!==\"\"||typeof J==\"number\"?(J=\"\"+J,K!==null&&K.tag===6?(r(Y,K.sibling),K=s(K,J),K.return=Y,Y=K):(r(Y,K),K=LL(J,Y.mode,ut),K.return=Y,Y=K),o(Y)):r(Y,K)}return et}var iy=FN(!0),zN=FN(!1),hM=BA(null),fM=null,H_=null,Wk=null;function Hk(){Wk=H_=fM=null}function qk(e){var t=hM.current;Zn(hM),e._currentValue=t}function lk(e,t,r){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===r)break;e=e.return}}function K_(e,t){fM=e,Wk=H_=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Xl=!0),e.firstContext=null)}function Pu(e){var t=e._currentValue;if(Wk!==e)if(e={context:e,memoizedValue:t,next:null},H_===null){if(fM===null)throw Error(Pe(308));H_=e,fM.dependencies={lanes:0,firstContext:e}}else H_=H_.next=e;return t}var b0=null;function Zk(e){b0===null?b0=[e]:b0.push(e)}function NN(e,t,r,i){var s=t.interleaved;return s===null?(r.next=r,Zk(t)):(r.next=s.next,s.next=r),t.interleaved=r,$d(e,i)}function $d(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var vA=!1;function Yk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function UN(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zd(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function IA(e,t,r){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,Zi&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,$d(e,r)}return s=i.interleaved,s===null?(t.next=t,Zk(i)):(t.next=s.next,s.next=t),i.interleaved=t,$d(e,r)}function HT(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}function p5(e,t){var r=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,r===i)){var s=null,n=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};n===null?s=n=o:n=n.next=o,r=r.next}while(r!==null);n===null?s=n=t:n=n.next=t}else s=n=t;r={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:i.shared,effects:i.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function dM(e,t,r,i){var s=e.updateQueue;vA=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,c=s.shared.pending;if(c!==null){s.shared.pending=null;var f=c,_=f.next;f.next=null,o===null?n=_:o.next=_,o=f;var w=e.alternate;w!==null&&(w=w.updateQueue,c=w.lastBaseUpdate,c!==o&&(c===null?w.firstBaseUpdate=_:c.next=_,w.lastBaseUpdate=f))}if(n!==null){var I=s.baseState;o=0,w=_=f=null,c=n;do{var R=c.lane,N=c.eventTime;if((i&R)===R){w!==null&&(w=w.next={eventTime:N,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});t:{var j=e,Q=c;switch(R=t,N=r,Q.tag){case 1:if(j=Q.payload,typeof j==\"function\"){I=j.call(N,I,R);break t}I=j;break t;case 3:j.flags=j.flags&-65537|128;case 0:if(j=Q.payload,R=typeof j==\"function\"?j.call(N,I,R):j,R==null)break t;I=ms({},I,R);break t;case 2:vA=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,R=s.effects,R===null?s.effects=[c]:R.push(c))}else N={eventTime:N,lane:R,tag:c.tag,payload:c.payload,callback:c.callback,next:null},w===null?(_=w=N,f=I):w=w.next=N,o|=R;if(c=c.next,c===null){if(c=s.shared.pending,c===null)break;R=c,c=R.next,R.next=null,s.lastBaseUpdate=R,s.shared.pending=null}}while(!0);if(w===null&&(f=I),s.baseState=f,s.firstBaseUpdate=_,s.lastBaseUpdate=w,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else n===null&&(s.shared.lanes=0);I0|=o,e.lanes=o,e.memoizedState=I}}function A5(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var i=ML.transition;ML.transition={};try{e(!1),t()}finally{vn=r,ML.transition=i}}function i8(){return Iu().memoizedState}function xet(e,t,r){var i=LA(e);if(r={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null},n8(e))s8(t,r);else if(r=NN(e,t,r,i),r!==null){var s=wl();Ch(r,e,i,s),o8(r,t,i)}}function bet(e,t,r){var i=LA(e),s={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null};if(n8(e))s8(t,s);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,c=n(o,r);if(s.hasEagerState=!0,s.eagerState=c,Lh(c,o)){var f=t.interleaved;f===null?(s.next=s,Zk(t)):(s.next=f.next,f.next=s),t.interleaved=s;return}}catch{}finally{}r=NN(e,t,s,i),r!==null&&(s=wl(),Ch(r,e,i,s),o8(r,t,i))}}function n8(e){var t=e.alternate;return e===As||t!==null&&t===As}function s8(e,t){w1=AM=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function o8(e,t,r){if(r&4194240){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}var mM={readContext:Pu,useCallback:Za,useContext:Za,useEffect:Za,useImperativeHandle:Za,useInsertionEffect:Za,useLayoutEffect:Za,useMemo:Za,useReducer:Za,useRef:Za,useState:Za,useDebugValue:Za,useDeferredValue:Za,useTransition:Za,useMutableSource:Za,useSyncExternalStore:Za,useId:Za,unstable_isNewReconciler:!1},wet={readContext:Pu,useCallback:function(e,t){return Lf().memoizedState=[e,t===void 0?null:t],e},useContext:Pu,useEffect:g5,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ZT(4194308,4,KN.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ZT(4194308,4,e,t)},useInsertionEffect:function(e,t){return ZT(4,2,e,t)},useMemo:function(e,t){var r=Lf();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var i=Lf();return t=r!==void 0?r(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=xet.bind(null,As,e),[i.memoizedState,e]},useRef:function(e){var t=Lf();return e={current:e},t.memoizedState=e},useState:m5,useDebugValue:r4,useDeferredValue:function(e){return Lf().memoizedState=e},useTransition:function(){var e=m5(!1),t=e[0];return e=vet.bind(null,e[1]),Lf().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var i=As,s=Lf();if(ns){if(r===void 0)throw Error(Pe(407));r=r()}else{if(r=t(),Jo===null)throw Error(Pe(349));P0&30||WN(i,t,r)}s.memoizedState=r;var n={value:r,getSnapshot:t};return s.queue=n,g5(qN.bind(null,i,n,e),[e]),i.flags|=2048,j1(9,HN.bind(null,i,n,r,t),void 0,null),r},useId:function(){var e=Lf(),t=Jo.identifierPrefix;if(ns){var r=qd,i=Hd;r=(i&~(1<<32-Ih(i)-1)).toString(32)+r,t=\":\"+t+\"R\"+r,r=U1++,0<\\/script>\",e=e.removeChild(e.firstChild)):typeof i.is==\"string\"?e=o.createElement(r,{is:i.is}):(e=o.createElement(r),r===\"select\"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,r),e[kf]=t,e[F1]=i,m8(e,t,!1,!1),t.stateNode=e;t:{switch(o=WL(r,i),r){case\"dialog\":qn(\"cancel\",e),qn(\"close\",e),s=i;break;case\"iframe\":case\"object\":case\"embed\":qn(\"load\",e),s=i;break;case\"video\":case\"audio\":for(s=0;soy&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304)}else{if(!i)if(e=pM(o),e!==null){if(t.flags|=128,i=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),h1(n,!0),n.tail===null&&n.tailMode===\"hidden\"&&!o.alternate&&!ns)return Ya(t),null}else 2*Xs()-n.renderingStartTime>oy&&r!==1073741824&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(r=n.last,r!==null?r.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Xs(),t.sibling=null,r=ps.current,Nn(ps,i?r&1|2:r&1),t):(Ya(t),null);case 22:case 23:return l4(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?jc&1073741824&&(Ya(t),t.subtreeFlags&6&&(t.flags|=8192)):Ya(t),null;case 24:return null;case 25:return null}throw Error(Pe(156,t.tag))}function ket(e,t){switch(jk(t),t.tag){case 1:return Jl(t.type)&&aM(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ny(),Zn(Kl),Zn($a),Xk(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $k(t),null;case 13:if(Zn(ps),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Pe(340));ry()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Zn(ps),null;case 4:return ny(),null;case 10:return qk(t.type._context),null;case 22:case 23:return l4(),null;case 24:return null;default:return null}}var UT=!1,Qa=!1,Ret=typeof WeakSet==\"function\"?WeakSet:Set,ur=null;function q_(e,t){var r=e.ref;if(r!==null)if(typeof r==\"function\")try{r(null)}catch(i){Cs(e,t,i)}else r.current=null}function gk(e,t,r){try{r()}catch(i){Cs(e,t,i)}}var P5=!1;function Det(e,t){if(tk=iM,e=wN(),Uk(e)){if(\"selectionStart\"in e)var r={start:e.selectionStart,end:e.selectionEnd};else t:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var s=i.anchorOffset,n=i.focusNode;i=i.focusOffset;try{r.nodeType,n.nodeType}catch{r=null;break t}var o=0,c=-1,f=-1,_=0,w=0,I=e,R=null;e:for(;;){for(var N;I!==r||s!==0&&I.nodeType!==3||(c=o+s),I!==n||i!==0&&I.nodeType!==3||(f=o+i),I.nodeType===3&&(o+=I.nodeValue.length),(N=I.firstChild)!==null;)R=I,I=N;for(;;){if(I===e)break e;if(R===r&&++_===s&&(c=o),R===n&&++w===i&&(f=o),(N=I.nextSibling)!==null)break;I=R,R=I.parentNode}I=N}r=c===-1||f===-1?null:{start:c,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(ek={focusedElem:e,selectionRange:r},iM=!1,ur=t;ur!==null;)if(t=ur,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ur=e;else for(;ur!==null;){t=ur;try{var j=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(j!==null){var Q=j.memoizedProps,et=j.memoizedState,Y=t.stateNode,K=Y.getSnapshotBeforeUpdate(t.elementType===t.type?Q:Mh(t.type,Q),et);Y.__reactInternalSnapshotBeforeUpdate=K}break;case 3:var J=t.stateNode.containerInfo;J.nodeType===1?J.textContent=\"\":J.nodeType===9&&J.documentElement&&J.removeChild(J.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Pe(163))}}catch(ut){Cs(t,t.return,ut)}if(e=t.sibling,e!==null){e.return=t.return,ur=e;break}ur=t.return}return j=P5,P5=!1,j}function S1(e,t,r){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&e)===e){var n=s.destroy;s.destroy=void 0,n!==void 0&&gk(t,r,n)}s=s.next}while(s!==i)}}function CM(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var i=r.create;r.destroy=i()}r=r.next}while(r!==t)}}function _k(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t==\"function\"?t(e):t.current=e}}function y8(e){var t=e.alternate;t!==null&&(e.alternate=null,y8(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[kf],delete t[F1],delete t[nk],delete t[Aet],delete t[met])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function v8(e){return e.tag===5||e.tag===3||e.tag===4}function I5(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||v8(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=oM));else if(i!==4&&(e=e.child,e!==null))for(yk(e,t,r),e=e.sibling;e!==null;)yk(e,t,r),e=e.sibling}function vk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(vk(e,t,r),e=e.sibling;e!==null;)vk(e,t,r),e=e.sibling}var Aa=null,Eh=!1;function _A(e,t,r){for(r=r.child;r!==null;)x8(e,t,r),r=r.sibling}function x8(e,t,r){if(Rf&&typeof Rf.onCommitFiberUnmount==\"function\")try{Rf.onCommitFiberUnmount(bM,r)}catch{}switch(r.tag){case 5:Qa||q_(r,t);case 6:var i=Aa,s=Eh;Aa=null,_A(e,t,r),Aa=i,Eh=s,Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Aa.removeChild(r.stateNode));break;case 18:Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?wL(e.parentNode,r):e.nodeType===1&&wL(e,r),k1(e)):wL(Aa,r.stateNode));break;case 4:i=Aa,s=Eh,Aa=r.stateNode.containerInfo,Eh=!0,_A(e,t,r),Aa=i,Eh=s;break;case 0:case 11:case 14:case 15:if(!Qa&&(i=r.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var n=s,o=n.destroy;n=n.tag,o!==void 0&&(n&2||n&4)&&gk(r,t,o),s=s.next}while(s!==i)}_A(e,t,r);break;case 1:if(!Qa&&(q_(r,t),i=r.stateNode,typeof i.componentWillUnmount==\"function\"))try{i.props=r.memoizedProps,i.state=r.memoizedState,i.componentWillUnmount()}catch(c){Cs(r,t,c)}_A(e,t,r);break;case 21:_A(e,t,r);break;case 22:r.mode&1?(Qa=(i=Qa)||r.memoizedState!==null,_A(e,t,r),Qa=i):_A(e,t,r);break;default:_A(e,t,r)}}function C5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Ret),t.forEach(function(i){var s=Get.bind(null,e,i);r.has(i)||(r.add(i),i.then(s,s))})}}function Th(e,t){var r=t.deletions;if(r!==null)for(var i=0;is&&(s=o),i&=~n}if(i=s,i=Xs()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Bet(i/1960))-i,10e?16:e,SA===null)var i=!1;else{if(e=SA,SA=null,yM=0,Zi&6)throw Error(Pe(331));var s=Zi;for(Zi|=4,ur=e.current;ur!==null;){var n=ur,o=n.child;if(ur.flags&16){var c=n.deletions;if(c!==null){for(var f=0;fXs()-o4?S0(e,0):s4|=r),tc(e,t)}function I8(e,t){t===0&&(e.mode&1?(t=ET,ET<<=1,!(ET&130023424)&&(ET=4194304)):t=1);var r=wl();e=$d(e,t),e!==null&&(W1(e,t,r),tc(e,r))}function jet(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),I8(e,r)}function Get(e,t){var r=0;switch(e.tag){case 13:var i=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(Pe(314))}i!==null&&i.delete(t),I8(e,r)}var C8;C8=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Kl.current)Xl=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Xl=!1,Cet(e,t,r);Xl=!!(e.flags&131072)}else Xl=!1,ns&&t.flags&1048576&&DN(t,uM,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;YT(e,t),e=t.pendingProps;var s=ey(t,$a.current);K_(t,r),s=Jk(null,t,i,e,s,r);var n=t4();return t.flags|=1,typeof s==\"object\"&&s!==null&&typeof s.render==\"function\"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jl(i)?(n=!0,lM(t)):n=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Yk(t),s.updater=IM,t.stateNode=s,s._reactInternals=t,uk(t,i,e,r),t=dk(null,t,i,!0,n,r)):(t.tag=0,ns&&n&&Vk(t),bl(null,t,s,r),t=t.child),t;case 16:i=t.elementType;t:{switch(YT(e,t),e=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=Het(i),e=Mh(i,e),s){case 0:t=fk(null,t,i,e,r);break t;case 1:t=T5(null,t,i,e,r);break t;case 11:t=w5(null,t,i,e,r);break t;case 14:t=S5(null,t,i,Mh(i.type,e),r);break t}throw Error(Pe(306,i,\"\"))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),fk(e,t,i,s,r);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),T5(e,t,i,s,r);case 3:t:{if(d8(t),e===null)throw Error(Pe(387));i=t.pendingProps,n=t.memoizedState,s=n.element,UN(e,t),dM(t,i,null,r);var o=t.memoizedState;if(i=o.element,n.isDehydrated)if(n={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){s=sy(Error(Pe(423)),t),t=M5(e,t,i,r,s);break t}else if(i!==s){s=sy(Error(Pe(424)),t),t=M5(e,t,i,r,s);break t}else for(Gc=PA(t.stateNode.containerInfo.firstChild),Wc=t,ns=!0,Ph=null,r=zN(t,null,i,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ry(),i===s){t=Xd(e,t,r);break t}bl(e,t,i,r)}t=t.child}return t;case 5:return VN(t),e===null&&ak(t),i=t.type,s=t.pendingProps,n=e!==null?e.memoizedProps:null,o=s.children,rk(i,s)?o=null:n!==null&&rk(i,n)&&(t.flags|=32),f8(e,t),bl(e,t,o,r),t.child;case 6:return e===null&&ak(t),null;case 13:return p8(e,t,r);case 4:return Qk(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=iy(t,null,i,r):bl(e,t,i,r),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),w5(e,t,i,s,r);case 7:return bl(e,t,t.pendingProps,r),t.child;case 8:return bl(e,t,t.pendingProps.children,r),t.child;case 12:return bl(e,t,t.pendingProps.children,r),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,n=t.memoizedProps,o=s.value,Nn(hM,i._currentValue),i._currentValue=o,n!==null)if(Lh(n.value,o)){if(n.children===s.children&&!Kl.current){t=Xd(e,t,r);break t}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var c=n.dependencies;if(c!==null){o=n.child;for(var f=c.firstContext;f!==null;){if(f.context===i){if(n.tag===1){f=Zd(-1,r&-r),f.tag=2;var _=n.updateQueue;if(_!==null){_=_.shared;var w=_.pending;w===null?f.next=f:(f.next=w.next,w.next=f),_.pending=f}}n.lanes|=r,f=n.alternate,f!==null&&(f.lanes|=r),lk(n.return,r,t),c.lanes|=r;break}f=f.next}}else if(n.tag===10)o=n.type===t.type?null:n.child;else if(n.tag===18){if(o=n.return,o===null)throw Error(Pe(341));o.lanes|=r,c=o.alternate,c!==null&&(c.lanes|=r),lk(o,r,t),o=n.sibling}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===t){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}bl(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,K_(t,r),s=Pu(s),i=i(s),t.flags|=1,bl(e,t,i,r),t.child;case 14:return i=t.type,s=Mh(i,t.pendingProps),s=Mh(i.type,s),S5(e,t,i,s,r);case 15:return u8(e,t,t.type,t.pendingProps,r);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),YT(e,t),t.tag=1,Jl(i)?(e=!0,lM(t)):e=!1,K_(t,r),a8(t,i,s),uk(t,i,s,r),dk(null,t,i,!0,e,r);case 19:return A8(e,t,r);case 22:return h8(e,t,r)}throw Error(Pe(156,t.tag))};function L8(e,t){return nN(e,t)}function Wet(e,t,r,i){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mu(e,t,r,i){return new Wet(e,t,r,i)}function u4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Het(e){if(typeof e==\"function\")return u4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ik)return 11;if(e===Ck)return 14}return 2}function kA(e,t){var r=e.alternate;return r===null?(r=Mu(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function XT(e,t,r,i,s,n){var o=2;if(i=e,typeof e==\"function\")u4(e)&&(o=1);else if(typeof e==\"string\")o=5;else t:switch(e){case F_:return T0(r.children,s,n,t);case Pk:o=8,s|=8;break;case DL:return e=Mu(12,r,t,s|2),e.elementType=DL,e.lanes=n,e;case OL:return e=Mu(13,r,t,s),e.elementType=OL,e.lanes=n,e;case BL:return e=Mu(19,r,t,s),e.elementType=BL,e.lanes=n,e;case V5:return kM(r,s,n,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case N5:o=10;break t;case U5:o=9;break t;case Ik:o=11;break t;case Ck:o=14;break t;case yA:o=16,i=null;break t}throw Error(Pe(130,e==null?e:typeof e,\"\"))}return t=Mu(o,r,t,s),t.elementType=e,t.type=i,t.lanes=n,t}function T0(e,t,r,i){return e=Mu(7,e,i,t),e.lanes=r,e}function kM(e,t,r,i){return e=Mu(22,e,i,t),e.elementType=V5,e.lanes=r,e.stateNode={isHidden:!1},e}function LL(e,t,r){return e=Mu(6,e,null,t),e.lanes=r,e}function kL(e,t,r){return t=Mu(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qet(e,t,r,i,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=AL(0),this.expirationTimes=AL(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=AL(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function h4(e,t,r,i,s,n,o,c,f){return e=new qet(e,t,r,c,f),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Mu(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:i,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yk(n),e}function Zet(e,t,r){var i=3{\"use strict\";function B8(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(B8)}catch(e){console.error(e)}}B8(),F8.exports=O8()});var N8=Br(A4=>{\"use strict\";var z8=FM();A4.createRoot=z8.createRoot,A4.hydrateRoot=z8.hydrateRoot;var ibt});var eU=Br((T4,M4)=>{(function(e,t){typeof T4==\"object\"&&typeof M4<\"u\"?M4.exports=t():(e=typeof globalThis<\"u\"?globalThis:e||self,e.maplibregl=t())})(T4,function(){\"use strict\";var e,t,r;function i(n,o){if(!e)e=o;else if(!t)t=o;else{var c=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",f={};e(f),r=o(f),typeof window<\"u\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([c],{type:\"text/javascript\"})))}}i([\"exports\"],function(n){\"use strict\";function o(u,a,h,A){return new(h||(h=Promise))(function(x,E){function P(V){try{F(A.next(V))}catch(q){E(q)}}function D(V){try{F(A.throw(V))}catch(q){E(q)}}function F(V){var q;V.done?x(V.value):(q=V.value,q instanceof h?q:new h(function(X){X(q)})).then(P,D)}F((A=A.apply(u,a||[])).next())})}function c(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,\"default\")?u.default:u}typeof SuppressedError==\"function\"&&SuppressedError;var f=_;function _(u,a){this.x=u,this.y=a}_.prototype={clone:function(){return new _(this.x,this.y)},add:function(u){return this.clone()._add(u)},sub:function(u){return this.clone()._sub(u)},multByPoint:function(u){return this.clone()._multByPoint(u)},divByPoint:function(u){return this.clone()._divByPoint(u)},mult:function(u){return this.clone()._mult(u)},div:function(u){return this.clone()._div(u)},rotate:function(u){return this.clone()._rotate(u)},rotateAround:function(u,a){return this.clone()._rotateAround(u,a)},matMult:function(u){return this.clone()._matMult(u)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(u){return this.x===u.x&&this.y===u.y},dist:function(u){return Math.sqrt(this.distSqr(u))},distSqr:function(u){var a=u.x-this.x,h=u.y-this.y;return a*a+h*h},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(u){return Math.atan2(this.y-u.y,this.x-u.x)},angleWith:function(u){return this.angleWithSep(u.x,u.y)},angleWithSep:function(u,a){return Math.atan2(this.x*a-this.y*u,this.x*u+this.y*a)},_matMult:function(u){var a=u[2]*this.x+u[3]*this.y;return this.x=u[0]*this.x+u[1]*this.y,this.y=a,this},_add:function(u){return this.x+=u.x,this.y+=u.y,this},_sub:function(u){return this.x-=u.x,this.y-=u.y,this},_mult:function(u){return this.x*=u,this.y*=u,this},_div:function(u){return this.x/=u,this.y/=u,this},_multByPoint:function(u){return this.x*=u.x,this.y*=u.y,this},_divByPoint:function(u){return this.x/=u.x,this.y/=u.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var u=this.y;return this.y=this.x,this.x=-u,this},_rotate:function(u){var a=Math.cos(u),h=Math.sin(u),A=h*this.x+a*this.y;return this.x=a*this.x-h*this.y,this.y=A,this},_rotateAround:function(u,a){var h=Math.cos(u),A=Math.sin(u),x=a.y+A*(this.x-a.x)+h*(this.y-a.y);return this.x=a.x+h*(this.x-a.x)-A*(this.y-a.y),this.y=x,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},_.convert=function(u){return u instanceof _?u:Array.isArray(u)?new _(u[0],u[1]):u};var w=c(f),I=R;function R(u,a,h,A){this.cx=3*u,this.bx=3*(h-u)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*a,this.by=3*(A-a)-this.cy,this.ay=1-this.cy-this.by,this.p1x=u,this.p1y=a,this.p2x=h,this.p2y=A}R.prototype={sampleCurveX:function(u){return((this.ax*u+this.bx)*u+this.cx)*u},sampleCurveY:function(u){return((this.ay*u+this.by)*u+this.cy)*u},sampleCurveDerivativeX:function(u){return(3*this.ax*u+2*this.bx)*u+this.cx},solveCurveX:function(u,a){if(a===void 0&&(a=1e-6),u<0)return 0;if(u>1)return 1;for(var h=u,A=0;A<8;A++){var x=this.sampleCurveX(h)-u;if(Math.abs(x)x?P=h:D=h,h=.5*(D-P)+P;return h},solve:function(u,a){return this.sampleCurveY(this.solveCurveX(u,a))}};var N=c(I);let j,Q;function et(){return j==null&&(j=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),j}function Y(){if(Q==null&&(Q=!1,et())){let a=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(a){for(let A=0;A<5*5;A++){let x=4*A;a.fillStyle=`rgb(${x},${x+1},${x+2})`,a.fillRect(A%5,Math.floor(A/5),1,1)}let h=a.getImageData(0,0,5,5).data;for(let A=0;A<5*5*4;A++)if(A%4!=3&&h[A]!==A){Q=!0;break}}}return Q||!1}function K(u,a,h,A){let x=new N(u,a,h,A);return function(E){return x.solve(E)}}let J=K(.25,.1,.25,1);function ut(u,a,h){return Math.min(h,Math.max(a,u))}function Et(u,a,h){let A=h-a,x=((u-a)%A+A)%A+a;return x===a?h:x}function kt(u,...a){for(let h of a)for(let A in h)u[A]=h[A];return u}let Xt=1;function qt(u,a,h){let A={};for(let x in u)A[x]=a.call(h||this,u[x],x,u);return A}function le(u,a,h){let A={};for(let x in u)a.call(h||this,u[x],x,u)&&(A[x]=u[x]);return A}function ue(u){return Array.isArray(u)?u.map(ue):typeof u==\"object\"&&u?qt(u,ue):u}let De={};function Ke(u){De[u]||(typeof console<\"u\"&&console.warn(u),De[u]=!0)}function rr(u,a,h){return(h.y-u.y)*(a.x-u.x)>(a.y-u.y)*(h.x-u.x)}function Sr(u){let a=0;for(let h,A,x=0,E=u.length,P=E-1;x\"u\")throw new Error(\"VideoFrame not supported\");let E=new VideoFrame(u,{timestamp:0});try{let P=E?.format;if(!P||!P.startsWith(\"BGR\")&&!P.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${P}`);let D=P.startsWith(\"BGR\"),F=new Uint8ClampedArray(A*x*4);if(yield E.copyTo(F,function(V,q,X,rt,at){let ct=4*Math.max(-q,0),mt=(Math.max(0,X)-X)*rt*4+ct,bt=4*rt,Pt=Math.max(0,q),jt=Math.max(0,X);return{rect:{x:Pt,y:jt,width:Math.min(V.width,q+rt)-Pt,height:Math.min(V.height,X+at)-jt},layout:[{offset:mt,stride:bt}]}}(u,a,h,A,x)),D)for(let V=0;VcancelAnimationFrame(a)}},getImageData(u,a=0){return this.getImageCanvasContext(u).getImageData(-a,-a,u.width+2*a,u.height+2*a)},getImageCanvasContext(u){let a=window.document.createElement(\"canvas\"),h=a.getContext(\"2d\",{willReadFrequently:!0});if(!h)throw new Error(\"failed to create canvas 2d context\");return a.width=u.width,a.height=u.height,h.drawImage(u,0,0,u.width,u.height),h},resolveURL:u=>(Ns||(Ns=document.createElement(\"a\")),Ns.href=u,Ns.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(ll==null&&(ll=matchMedia(\"(prefers-reduced-motion: reduce)\")),ll.matches)}},Rc={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};class Xi extends Error{constructor(a,h,A,x){super(`AJAXError: ${h} (${a}): ${A}`),this.status=a,this.statusText=h,this.url=A,this.body=x}}let Jn=Li()?()=>self.worker&&self.worker.referrer:()=>(window.location.protocol===\"blob:\"?window.parent:window).location.href,ki=u=>Rc.REGISTERED_PROTOCOLS[u.substring(0,u.indexOf(\"://\"))];function ts(u,a){let h=new AbortController,A=new Request(u.url,{method:u.method||\"GET\",body:u.body,credentials:u.credentials,headers:u.headers,cache:u.cache,referrer:Jn(),signal:h.signal}),x=!1,E=!1;return u.type===\"json\"&&A.headers.set(\"Accept\",\"application/json\"),E||fetch(A).then(P=>P.ok?(D=>{(u.type===\"arrayBuffer\"||u.type===\"image\"?D.arrayBuffer():u.type===\"json\"?D.json():D.text()).then(F=>{E||(x=!0,a(null,F,D.headers.get(\"Cache-Control\"),D.headers.get(\"Expires\")))}).catch(F=>{E||a(new Error(F.message))})})(P):P.blob().then(D=>a(new Xi(P.status,P.statusText,u.url,D)))).catch(P=>{P.code!==20&&a(new Error(P.message))}),{cancel:()=>{E=!0,x||h.abort()}}}let Vo=function(u,a){if(/:\\/\\//.test(u.url)&&!/^https?:|^file:/.test(u.url)){if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a);if(!Li())return(ki(u.url)||ts)(u,a)}if(!(/^file:/.test(h=u.url)||/^file:/.test(Jn())&&!/^\\w+:/.test(h))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return ts(u,a);if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a,void 0,!0)}var h;return function(A,x){let E=new XMLHttpRequest;E.open(A.method||\"GET\",A.url,!0),A.type!==\"arrayBuffer\"&&A.type!==\"image\"||(E.responseType=\"arraybuffer\");for(let P in A.headers)E.setRequestHeader(P,A.headers[P]);return A.type===\"json\"&&(E.responseType=\"text\",E.setRequestHeader(\"Accept\",\"application/json\")),E.withCredentials=A.credentials===\"include\",E.onerror=()=>{x(new Error(E.statusText))},E.onload=()=>{if((E.status>=200&&E.status<300||E.status===0)&&E.response!==null){let P=E.response;if(A.type===\"json\")try{P=JSON.parse(E.response)}catch(D){return x(D)}x(null,P,E.getResponseHeader(\"Cache-Control\"),E.getResponseHeader(\"Expires\"))}else{let P=new Blob([E.response],{type:E.getResponseHeader(\"Content-Type\")});x(new Xi(E.status,E.statusText,A.url,P))}},E.send(A.body),{cancel:()=>E.abort()}}(u,a)},cl=function(u,a){return Vo(kt(u,{type:\"arrayBuffer\"}),a)};function xo(u){if(!u||u.indexOf(\"://\")<=0||u.indexOf(\"data:image/\")===0||u.indexOf(\"blob:\")===0)return!0;let a=new URL(u),h=window.location;return a.protocol===h.protocol&&a.host===h.host}function Pa(u,a,h){h[u]&&h[u].indexOf(a)!==-1||(h[u]=h[u]||[],h[u].push(a))}function na(u,a,h){if(h&&h[u]){let A=h[u].indexOf(a);A!==-1&&h[u].splice(A,1)}}class as{constructor(a,h={}){kt(this,h),this.type=a}}class ao extends as{constructor(a,h={}){super(\"error\",kt({error:a},h))}}class Nl{on(a,h){return this._listeners=this._listeners||{},Pa(a,h,this._listeners),this}off(a,h){return na(a,h,this._listeners),na(a,h,this._oneTimeListeners),this}once(a,h){return h?(this._oneTimeListeners=this._oneTimeListeners||{},Pa(a,h,this._oneTimeListeners),this):new Promise(A=>this.once(a,A))}fire(a,h){typeof a==\"string\"&&(a=new as(a,h||{}));let A=a.type;if(this.listens(A)){a.target=this;let x=this._listeners&&this._listeners[A]?this._listeners[A].slice():[];for(let D of x)D.call(this,a);let E=this._oneTimeListeners&&this._oneTimeListeners[A]?this._oneTimeListeners[A].slice():[];for(let D of E)na(A,D,this._oneTimeListeners),D.call(this,a);let P=this._eventedParent;P&&(kt(a,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),P.fire(a))}else a instanceof ao&&console.error(a.error);return this}listens(a){return this._listeners&&this._listeners[a]&&this._listeners[a].length>0||this._oneTimeListeners&&this._oneTimeListeners[a]&&this._oneTimeListeners[a].length>0||this._eventedParent&&this._eventedParent.listens(a)}setEventedParent(a,h){return this._eventedParent=a,this._eventedParentData=h,this}}var ee={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let ls=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function mn(u,a){let h={};for(let A in u)A!==\"ref\"&&(h[A]=u[A]);return ls.forEach(A=>{A in a&&(h[A]=a[A])}),h}function gi(u,a){if(Array.isArray(u)){if(!Array.isArray(a)||u.length!==a.length)return!1;for(let h=0;h`:u.itemType.kind===\"value\"?\"array\":`array<${a}>`}return u.kind}let _t=[Ca,Te,Dr,gr,Us,gt,La,vt(Mr),tt,nt,ht];function Dt(u,a){if(a.kind===\"error\")return null;if(u.kind===\"array\"){if(a.kind===\"array\"&&(a.N===0&&a.itemType.kind===\"value\"||!Dt(u.itemType,a.itemType))&&(typeof u.N!=\"number\"||u.N===a.N))return null}else{if(u.kind===a.kind)return null;if(u.kind===\"value\"){for(let h of _t)if(!Dt(h,a))return null}}return`Expected ${xt(u)} but found ${xt(a)} instead.`}function Mt(u,a){return a.some(h=>h.kind===u.kind)}function Vt(u,a){return a.some(h=>h===\"null\"?u===null:h===\"array\"?Array.isArray(u):h===\"object\"?u&&!Array.isArray(u)&&typeof u==\"object\":h===typeof u)}function ie(u,a){return u.kind===\"array\"&&a.kind===\"array\"?u.itemType.kind===a.itemType.kind&&typeof u.N==\"number\":u.kind===a.kind}let se=.96422,ae=.82521,lr=4/29,vr=6/29,Xe=3*vr*vr,cr=vr*vr*vr,wr=Math.PI/180,xi=180/Math.PI;function zi(u){return(u%=360)<0&&(u+=360),u}function ni([u,a,h,A]){let x,E,P=jn((.2225045*(u=Hr(u))+.7168786*(a=Hr(a))+.0606169*(h=Hr(h)))/1);u===a&&a===h?x=E=P:(x=jn((.4360747*u+.3850649*a+.1430804*h)/se),E=jn((.0139322*u+.0971045*a+.7141733*h)/ae));let D=116*P-16;return[D<0?0:D,500*(x-P),200*(P-E),A]}function Hr(u){return u<=.04045?u/12.92:Math.pow((u+.055)/1.055,2.4)}function jn(u){return u>cr?Math.pow(u,1/3):u/Xe+lr}function Bi([u,a,h,A]){let x=(u+16)/116,E=isNaN(a)?x:x+a/500,P=isNaN(h)?x:x-h/200;return x=1*es(x),E=se*es(E),P=ae*es(P),[xn(3.1338561*E-1.6168667*x-.4906146*P),xn(-.9787684*E+1.9161415*x+.033454*P),xn(.0719453*E-.2289914*x+1.4052427*P),A]}function xn(u){return(u=u<=.00304?12.92*u:1.055*Math.pow(u,1/2.4)-.055)<0?0:u>1?1:u}function es(u){return u>vr?u*u*u:Xe*(u-lr)}function oa(u){return parseInt(u.padEnd(2,u),16)/255}function Um(u,a){return Vl(a?u/100:u,0,1)}function Vl(u,a,h){return Math.min(Math.max(a,u),h)}function Ss(u){return!u.some(Number.isNaN)}let nh={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class ai{constructor(a,h,A,x=1,E=!0){this.r=a,this.g=h,this.b=A,this.a=x,E||(this.r*=x,this.g*=x,this.b*=x,x||this.overwriteGetter(\"rgb\",[a,h,A,x]))}static parse(a){if(a instanceof ai)return a;if(typeof a!=\"string\")return;let h=function(A){if((A=A.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let x=nh[A];if(x){let[P,D,F]=x;return[P/255,D/255,F/255,1]}if(A.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(A)){let P=A.length<6?1:2,D=1;return[oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+P)||\"ff\")]}if(A.startsWith(\"rgb\")){let P=A.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(P){let[D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt]=P,Rt=[q||\" \",at||\" \",bt].join(\"\");if(Rt===\" \"||Rt===\" /\"||Rt===\",,\"||Rt===\",,,\"){let Gt=[V,rt,mt].join(\"\"),Yt=Gt===\"%%%\"?100:Gt===\"\"?255:0;if(Yt){let ce=[Vl(+F/Yt,0,1),Vl(+X/Yt,0,1),Vl(+ct/Yt,0,1),Pt?Um(+Pt,jt):1];if(Ss(ce))return ce}}return}}let E=A.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(E){let[P,D,F,V,q,X,rt,at,ct]=E,mt=[F||\" \",q||\" \",rt].join(\"\");if(mt===\" \"||mt===\" /\"||mt===\",,\"||mt===\",,,\"){let bt=[+D,Vl(+V,0,100),Vl(+X,0,100),at?Um(+at,ct):1];if(Ss(bt))return function([Pt,jt,Rt,Gt]){function Yt(ce){let Ne=(ce+Pt/30)%12,ir=jt*Math.min(Rt,1-Rt);return Rt-ir*Math.max(-1,Math.min(Ne-3,9-Ne,1))}return Pt=zi(Pt),jt/=100,Rt/=100,[Yt(0),Yt(8),Yt(4),Gt]}(bt)}}}(a);return h?new ai(...h,!1):void 0}get rgb(){let{r:a,g:h,b:A,a:x}=this,E=x||1/0;return this.overwriteGetter(\"rgb\",[a/E,h/E,A/E,x])}get hcl(){return this.overwriteGetter(\"hcl\",function(a){let[h,A,x,E]=ni(a),P=Math.sqrt(A*A+x*x);return[Math.round(1e4*P)?zi(Math.atan2(x,A)*xi):NaN,P,h,E]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",ni(this.rgb))}overwriteGetter(a,h){return Object.defineProperty(this,a,{value:h}),h}toString(){let[a,h,A,x]=this.rgb;return`rgba(${[a,h,A].map(E=>Math.round(255*E)).join(\",\")},${x})`}}ai.black=new ai(0,0,0,1),ai.white=new ai(1,1,1,1),ai.transparent=new ai(0,0,0,0),ai.red=new ai(1,0,0,1);class ka{constructor(a,h,A){this.sensitivity=a?h?\"variant\":\"case\":h?\"accent\":\"base\",this.locale=A,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(a,h){return this.collator.compare(a,h)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Dc{constructor(a,h,A,x,E){this.text=a,this.image=h,this.scale=A,this.fontStack=x,this.textColor=E}}class ln{constructor(a){this.sections=a}static fromString(a){return new ln([new Dc(a,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(a=>a.text.length!==0||a.image&&a.image.name.length!==0)}static factory(a){return a instanceof ln?a:ln.fromString(a)}toString(){return this.sections.length===0?\"\":this.sections.map(a=>a.text).join(\"\")}}class Dn{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Dn)return a;if(typeof a==\"number\")return new Dn([a,a,a,a]);if(Array.isArray(a)&&!(a.length<1||a.length>4)){for(let h of a)if(typeof h!=\"number\")return;switch(a.length){case 1:a=[a[0],a[0],a[0],a[0]];break;case 2:a=[a[0],a[1],a[0],a[1]];break;case 3:a=[a[0],a[1],a[2],a[1]]}return new Dn(a)}}toString(){return JSON.stringify(this.values)}}let Vm=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Go{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Go)return a;if(Array.isArray(a)&&!(a.length<1)&&a.length%2==0){for(let h=0;h=0&&u<=255&&typeof a==\"number\"&&a>=0&&a<=255&&typeof h==\"number\"&&h>=0&&h<=255?A===void 0||typeof A==\"number\"&&A>=0&&A<=1?null:`Invalid rgba value [${[u,a,h,A].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof A==\"number\"?[u,a,h,A]:[u,a,h]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function jl(u){if(u===null||typeof u==\"string\"||typeof u==\"boolean\"||typeof u==\"number\"||u instanceof ai||u instanceof ka||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn)return!0;if(Array.isArray(u)){for(let a of u)if(!jl(a))return!1;return!0}if(typeof u==\"object\"){for(let a in u)if(!jl(u[a]))return!1;return!0}return!1}function Ki(u){if(u===null)return Ca;if(typeof u==\"string\")return Dr;if(typeof u==\"boolean\")return gr;if(typeof u==\"number\")return Te;if(u instanceof ai)return Us;if(u instanceof ka)return sa;if(u instanceof ln)return gt;if(u instanceof Dn)return tt;if(u instanceof Go)return ht;if(u instanceof Gn)return nt;if(Array.isArray(u)){let a=u.length,h;for(let A of u){let x=Ki(A);if(h){if(h===x)continue;h=Mr;break}h=x}return vt(h||Mr,a)}return La}function _i(u){let a=typeof u;return u===null?\"\":a===\"string\"||a===\"number\"||a===\"boolean\"?String(u):u instanceof ai||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn?u.toString():JSON.stringify(u)}class Gl{constructor(a,h){this.type=a,this.value=h}static parse(a,h){if(a.length!==2)return h.error(`'literal' expression requires exactly one argument, but found ${a.length-1} instead.`);if(!jl(a[1]))return h.error(\"invalid value\");let A=a[1],x=Ki(A),E=h.expectedType;return x.kind!==\"array\"||x.N!==0||!E||E.kind!==\"array\"||typeof E.N==\"number\"&&E.N!==0||(x=E),new Gl(x,A)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class cn{constructor(a){this.name=\"ExpressionEvaluationError\",this.message=a}toJSON(){return this.message}}let pu={string:Dr,number:Te,boolean:gr,object:La};class rs{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A,x=1,E=a[0];if(E===\"array\"){let D,F;if(a.length>2){let V=a[1];if(typeof V!=\"string\"||!(V in pu)||V===\"object\")return h.error('The item type argument of \"array\" must be one of string, number, boolean',1);D=pu[V],x++}else D=Mr;if(a.length>3){if(a[2]!==null&&(typeof a[2]!=\"number\"||a[2]<0||a[2]!==Math.floor(a[2])))return h.error('The length argument to \"array\" must be a positive integer literal',2);F=a[2],x++}A=vt(D,F)}else{if(!pu[E])throw new Error(`Types doesn't contain name = ${E}`);A=pu[E]}let P=[];for(;xa.outputDefined())}}let Gp={\"to-boolean\":gr,\"to-color\":Us,\"to-number\":Te,\"to-string\":Dr};class Wl{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[0];if(!Gp[A])throw new Error(`Can't parse ${A} as it is not part of the known types`);if((A===\"to-boolean\"||A===\"to-string\")&&a.length!==2)return h.error(\"Expected one argument.\");let x=Gp[A],E=[];for(let P=1;P4?`Invalid rbga value ${JSON.stringify(h)}: expected an array containing either three or four numeric values.`:So(h[0],h[1],h[2],h[3]),!A))return new ai(h[0]/255,h[1]/255,h[2]/255,h[3])}throw new cn(A||`Could not parse color from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"padding\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Dn.parse(h);if(x)return x}throw new cn(`Could not parse padding from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"variableAnchorOffsetCollection\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Go.parse(h);if(x)return x}throw new cn(`Could not parse variableAnchorOffsetCollection from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"number\":{let h=null;for(let A of this.args){if(h=A.evaluate(a),h===null)return 0;let x=Number(h);if(!isNaN(x))return x}throw new cn(`Could not convert ${JSON.stringify(h)} to number.`)}case\"formatted\":return ln.fromString(_i(this.args[0].evaluate(a)));case\"resolvedImage\":return Gn.fromString(_i(this.args[0].evaluate(a)));default:return _i(this.args[0].evaluate(a))}}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}let _d=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class yd{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?_d[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(a){let h=this._parseColorCache[a];return h||(h=this._parseColorCache[a]=ai.parse(a)),h}}class vd{constructor(a,h,A=[],x,E=new Ul,P=[]){this.registry=a,this.path=A,this.key=A.map(D=>`[${D}]`).join(\"\"),this.scope=E,this.errors=P,this.expectedType=x,this._isConstant=h}parse(a,h,A,x,E={}){return h?this.concat(h,A,x)._parse(a,E):this._parse(a,E)}_parse(a,h){function A(x,E,P){return P===\"assert\"?new rs(E,[x]):P===\"coerce\"?new Wl(E,[x]):x}if(a!==null&&typeof a!=\"string\"&&typeof a!=\"boolean\"&&typeof a!=\"number\"||(a=[\"literal\",a]),Array.isArray(a)){if(a.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let x=a[0];if(typeof x!=\"string\")return this.error(`Expression name must be a string, but found ${typeof x} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let E=this.registry[x];if(E){let P=E.parse(a,this);if(!P)return null;if(this.expectedType){let D=this.expectedType,F=P.type;if(D.kind!==\"string\"&&D.kind!==\"number\"&&D.kind!==\"boolean\"&&D.kind!==\"object\"&&D.kind!==\"array\"||F.kind!==\"value\")if(D.kind!==\"color\"&&D.kind!==\"formatted\"&&D.kind!==\"resolvedImage\"||F.kind!==\"value\"&&F.kind!==\"string\")if(D.kind!==\"padding\"||F.kind!==\"value\"&&F.kind!==\"number\"&&F.kind!==\"array\")if(D.kind!==\"variableAnchorOffsetCollection\"||F.kind!==\"value\"&&F.kind!==\"array\"){if(this.checkSubtype(D,F))return null}else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"assert\")}if(!(P instanceof Gl)&&P.type.kind!==\"resolvedImage\"&&this._isConstant(P)){let D=new yd;try{P=new Gl(P.type,P.evaluate(D))}catch(F){return this.error(F.message),null}}return P}return this.error(`Unknown expression \"${x}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(a===void 0?\"'undefined' value invalid. Use null instead.\":typeof a==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof a} instead.`)}concat(a,h,A){let x=typeof a==\"number\"?this.path.concat(a):this.path,E=A?this.scope.concat(A):this.scope;return new vd(this.registry,this._isConstant,x,h||null,E,this.errors)}error(a,...h){let A=`${this.key}${h.map(x=>`[${x}]`).join(\"\")}`;this.errors.push(new gn(A,a))}checkSubtype(a,h){let A=Dt(a,h);return A&&this.error(A),A}}class xd{constructor(a,h,A){this.type=sa,this.locale=A,this.caseSensitive=a,this.diacriticSensitive=h}static parse(a,h){if(a.length!==2)return h.error(\"Expected one argument.\");let A=a[1];if(typeof A!=\"object\"||Array.isArray(A))return h.error(\"Collator options argument must be an object.\");let x=h.parse(A[\"case-sensitive\"]!==void 0&&A[\"case-sensitive\"],1,gr);if(!x)return null;let E=h.parse(A[\"diacritic-sensitive\"]!==void 0&&A[\"diacritic-sensitive\"],1,gr);if(!E)return null;let P=null;return A.locale&&(P=h.parse(A.locale,1,Dr),!P)?null:new xd(x,E,P)}evaluate(a){return new ka(this.caseSensitive.evaluate(a),this.diacriticSensitive.evaluate(a),this.locale?this.locale.evaluate(a):null)}eachChild(a){a(this.caseSensitive),a(this.diacriticSensitive),this.locale&&a(this.locale)}outputDefined(){return!1}}let lt=8192;function ft(u,a){u[0]=Math.min(u[0],a[0]),u[1]=Math.min(u[1],a[1]),u[2]=Math.max(u[2],a[0]),u[3]=Math.max(u[3],a[1])}function Lt(u,a){return!(u[0]<=a[0]||u[2]>=a[2]||u[1]<=a[1]||u[3]>=a[3])}function Kt(u,a){let h=(180+u[0])/360,A=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,x=Math.pow(2,a.z);return[Math.round(h*x*lt),Math.round(A*x*lt)]}function ge(u,a,h){let A=u[0]-a[0],x=u[1]-a[1],E=u[0]-h[0],P=u[1]-h[1];return A*P-E*x==0&&A*E<=0&&x*P<=0}function Qe(u,a){let h=!1;for(let P=0,D=a.length;P(A=u)[1]!=(E=F[V+1])[1]>A[1]&&A[0]<(E[0]-x[0])*(A[1]-x[1])/(E[1]-x[1])+x[0]&&(h=!h)}}var A,x,E;return h}function ti(u,a){for(let h=0;h0&&D<0||P<0&&D>0}function Ts(u,a,h){for(let V of h)for(let q=0;qh[2]){let x=.5*A,E=u[0]-h[0]>x?-A:h[0]-u[0]>x?A:0;E===0&&(E=u[0]-h[2]>x?-A:h[2]-u[0]>x?A:0),u[0]+=E}ft(a,u)}function l_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let D of u)for(let F of D){let V=[F.x+E[0],F.y+E[1]];Bx(V,a,h,x),P.push(V)}return P}function c_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let F of u){let V=[];for(let q of F){let X=[q.x+E[0],q.y+E[1]];ft(a,X),V.push(X)}P.push(V)}if(a[2]-a[0]<=x/2){(D=a)[0]=D[1]=1/0,D[2]=D[3]=-1/0;for(let F of P)for(let V of F)Bx(V,a,h,x)}var D;return P}class gf{constructor(a,h){this.type=gr,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'within' expression requires exactly one argument, but found ${a.length-1} instead.`);if(jl(a[1])){let A=a[1];if(A.type===\"FeatureCollection\")for(let x=0;x!Array.isArray(V)||V.length===a.length-1),F=null;for(let[V,q]of D){F=new vd(h.registry,Wm,h.path,null,h.scope);let X=[],rt=!1;for(let at=1;at{return rt=X,Array.isArray(rt)?`(${rt.map(xt).join(\", \")})`:`(${xt(rt.type)}...)`;var rt}).join(\" | \"),q=[];for(let X=1;X{h=a?h&&Wm(A):h&&A instanceof Gl}),!!h&&Hm(u)&&qm(u,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Hm(u){if(u instanceof fl&&(u.name===\"get\"&&u.args.length===1||u.name===\"feature-state\"||u.name===\"has\"&&u.args.length===1||u.name===\"properties\"||u.name===\"geometry-type\"||u.name===\"id\"||/^filter-/.test(u.name))||u instanceof gf)return!1;let a=!0;return u.eachChild(h=>{a&&!Hm(h)&&(a=!1)}),a}function Wp(u){if(u instanceof fl&&u.name===\"feature-state\")return!1;let a=!0;return u.eachChild(h=>{a&&!Wp(h)&&(a=!1)}),a}function qm(u,a){if(u instanceof fl&&a.indexOf(u.name)>=0)return!1;let h=!0;return u.eachChild(A=>{h&&!qm(A,a)&&(h=!1)}),h}function bd(u,a){let h=u.length-1,A,x,E=0,P=h,D=0;for(;E<=P;)if(D=Math.floor((E+P)/2),A=u[D],x=u[D+1],A<=a){if(D===h||aa))throw new cn(\"Input is not a number.\");P=D-1}return 0}class sh{constructor(a,h,A){this.type=a,this.input=h,this.labels=[],this.outputs=[];for(let[x,E]of A)this.labels.push(x),this.outputs.push(E)}static parse(a,h){if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=[],E=null;h.expectedType&&h.expectedType.kind!==\"value\"&&(E=h.expectedType);for(let P=1;P=D)return h.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',V);let X=h.parse(F,q,E);if(!X)return null;E=E||X.type,x.push([D,X])}return new sh(E,A,x)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;return x>=h[E-1]?A[E-1].evaluate(a):A[bd(h,x)].evaluate(a)}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function ui(u,a,h){return u+h*(a-u)}function Zm(u,a,h){return u.map((A,x)=>ui(A,a[x],h))}let Da={number:ui,color:function(u,a,h,A=\"rgb\"){switch(A){case\"rgb\":{let[x,E,P,D]=Zm(u.rgb,a.rgb,h);return new ai(x,E,P,D,!1)}case\"hcl\":{let[x,E,P,D]=u.hcl,[F,V,q,X]=a.hcl,rt,at;if(isNaN(x)||isNaN(F))isNaN(x)?isNaN(F)?rt=NaN:(rt=F,P!==1&&P!==0||(at=V)):(rt=x,q!==1&&q!==0||(at=E));else{let jt=F-x;F>x&&jt>180?jt-=360:F180&&(jt+=360),rt=x+h*jt}let[ct,mt,bt,Pt]=function([jt,Rt,Gt,Yt]){return jt=isNaN(jt)?0:jt*wr,Bi([Gt,Math.cos(jt)*Rt,Math.sin(jt)*Rt,Yt])}([rt,at??ui(E,V,h),ui(P,q,h),ui(D,X,h)]);return new ai(ct,mt,bt,Pt,!1)}case\"lab\":{let[x,E,P,D]=Bi(Zm(u.lab,a.lab,h));return new ai(x,E,P,D,!1)}}},array:Zm,padding:function(u,a,h){return new Dn(Zm(u.values,a.values,h))},variableAnchorOffsetCollection:function(u,a,h){let A=u.values,x=a.values;if(A.length!==x.length)throw new cn(`Cannot interpolate values of different length. from: ${u.toString()}, to: ${a.toString()}`);let E=[];for(let P=0;Ptypeof q!=\"number\"||q<0||q>1))return h.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);x={name:\"cubic-bezier\",controlPoints:V}}}if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");if(E=h.parse(E,2,Te),!E)return null;let D=[],F=null;A===\"interpolate-hcl\"||A===\"interpolate-lab\"?F=Us:h.expectedType&&h.expectedType.kind!==\"value\"&&(F=h.expectedType);for(let V=0;V=q)return h.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',rt);let ct=h.parse(X,at,F);if(!ct)return null;F=F||ct.type,D.push([q,ct])}return ie(F,Te)||ie(F,Us)||ie(F,tt)||ie(F,ht)||ie(F,vt(Te))?new Oa(F,A,x,E,D):h.error(`Type ${xt(F)} is not interpolatable.`)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;if(x>=h[E-1])return A[E-1].evaluate(a);let P=bd(h,x),D=Oa.interpolationFactor(this.interpolation,x,h[P],h[P+1]),F=A[P].evaluate(a),V=A[P+1].evaluate(a);switch(this.operator){case\"interpolate\":return Da[this.type.kind](F,V,D);case\"interpolate-hcl\":return Da.color(F,V,D,\"hcl\");case\"interpolate-lab\":return Da.color(F,V,D,\"lab\")}}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function u_(u,a,h,A){let x=A-h,E=u-h;return x===0?0:a===1?E/x:(Math.pow(a,E)-1)/(Math.pow(a,x)-1)}class Ym{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expectected at least one argument.\");let A=null,x=h.expectedType;x&&x.kind!==\"value\"&&(A=x);let E=[];for(let D of a.slice(1)){let F=h.parse(D,1+E.length,A,void 0,{typeAnnotation:\"omit\"});if(!F)return null;A=A||F.type,E.push(F)}if(!A)throw new Error(\"No output type\");let P=x&&E.some(D=>Dt(x,D.type));return new Ym(P?Mr:A,E)}evaluate(a){let h,A=null,x=0;for(let E of this.args)if(x++,A=E.evaluate(a),A&&A instanceof Gn&&!A.available&&(h||(h=A.name),A=null,x===this.args.length&&(A=h)),A!==null)break;return A}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}class Qm{constructor(a,h){this.type=h.type,this.bindings=[].concat(a),this.result=h}evaluate(a){return this.result.evaluate(a)}eachChild(a){for(let h of this.bindings)a(h[1]);a(this.result)}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found ${a.length-1} instead.`);let A=[];for(let E=1;E=A.length)throw new cn(`Array index out of bounds: ${h} > ${A.length-1}.`);if(h!==Math.floor(h))throw new cn(`Array index must be an integer, but found ${h} instead.`);return A[h]}eachChild(a){a(this.index),a(this.input)}outputDefined(){return!1}}class $m{constructor(a,h){this.type=gr,this.needle=a,this.haystack=h}static parse(a,h){if(a.length!==3)return h.error(`Expected 2 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);return A&&x?Mt(A.type,[gr,Dr,Te,Ca,Mr])?new $m(A,x):h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`):null}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!A)return!1;if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);return A.indexOf(h)>=0}eachChild(a){a(this.needle),a(this.haystack)}outputDefined(){return!0}}class qp{constructor(a,h,A){this.type=Te,this.needle=a,this.haystack=h,this.fromIndex=A}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);if(!A||!x)return null;if(!Mt(A.type,[gr,Dr,Te,Ca,Mr]))return h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new qp(A,x,E):null}return new qp(A,x)}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);if(this.fromIndex){let x=this.fromIndex.evaluate(a);return A.indexOf(h,x)}return A.indexOf(h)}eachChild(a){a(this.needle),a(this.haystack),this.fromIndex&&a(this.fromIndex)}outputDefined(){return!1}}class wd{constructor(a,h,A,x,E,P){this.inputType=a,this.type=h,this.input=A,this.cases=x,this.outputs=E,this.otherwise=P}static parse(a,h){if(a.length<5)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if(a.length%2!=1)return h.error(\"Expected an even number of arguments.\");let A,x;h.expectedType&&h.expectedType.kind!==\"value\"&&(x=h.expectedType);let E={},P=[];for(let V=2;VNumber.MAX_SAFE_INTEGER)return rt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ct==\"number\"&&Math.floor(ct)!==ct)return rt.error(\"Numeric branch labels must be integer values.\");if(A){if(rt.checkSubtype(A,Ki(ct)))return null}else A=Ki(ct);if(E[String(ct)]!==void 0)return rt.error(\"Branch labels must be unique.\");E[String(ct)]=P.length}let at=h.parse(X,V,x);if(!at)return null;x=x||at.type,P.push(at)}let D=h.parse(a[1],1,Mr);if(!D)return null;let F=h.parse(a[a.length-1],a.length-1,x);return F?D.type.kind!==\"value\"&&h.concat(1).checkSubtype(A,D.type)?null:new wd(A,x,D,E,P,F):null}evaluate(a){let h=this.input.evaluate(a);return(Ki(h)===this.inputType&&this.outputs[this.cases[h]]||this.otherwise).evaluate(a)}eachChild(a){a(this.input),this.outputs.forEach(a),a(this.otherwise)}outputDefined(){return this.outputs.every(a=>a.outputDefined())&&this.otherwise.outputDefined()}}class Zp{constructor(a,h,A){this.type=a,this.branches=h,this.otherwise=A}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found only ${a.length-1}.`);if(a.length%2!=0)return h.error(\"Expected an odd number of arguments.\");let A;h.expectedType&&h.expectedType.kind!==\"value\"&&(A=h.expectedType);let x=[];for(let P=1;Ph.outputDefined())&&this.otherwise.outputDefined()}}class Sd{constructor(a,h,A,x){this.type=a,this.input=h,this.beginIndex=A,this.endIndex=x}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Te);if(!A||!x)return null;if(!Mt(A.type,[vt(Mr),Dr,Mr]))return h.error(`Expected first argument to be of type array or string, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new Sd(A.type,A,x,E):null}return new Sd(A.type,A,x)}evaluate(a){let h=this.input.evaluate(a),A=this.beginIndex.evaluate(a);if(!Vt(h,[\"string\",\"array\"]))throw new cn(`Expected first argument to be of type array or string, but found ${xt(Ki(h))} instead.`);if(this.endIndex){let x=this.endIndex.evaluate(a);return h.slice(A,x)}return h.slice(A)}eachChild(a){a(this.input),a(this.beginIndex),this.endIndex&&a(this.endIndex)}outputDefined(){return!1}}function Xm(u,a){return u===\"==\"||u===\"!=\"?a.kind===\"boolean\"||a.kind===\"string\"||a.kind===\"number\"||a.kind===\"null\"||a.kind===\"value\":a.kind===\"string\"||a.kind===\"number\"||a.kind===\"value\"}function Td(u,a,h,A){return A.compare(a,h)===0}function Au(u,a,h){let A=u!==\"==\"&&u!==\"!=\";return class tU{constructor(E,P,D){this.type=gr,this.lhs=E,this.rhs=P,this.collator=D,this.hasUntypedArgument=E.type.kind===\"value\"||P.type.kind===\"value\"}static parse(E,P){if(E.length!==3&&E.length!==4)return P.error(\"Expected two or three arguments.\");let D=E[0],F=P.parse(E[1],1,Mr);if(!F)return null;if(!Xm(D,F.type))return P.concat(1).error(`\"${D}\" comparisons are not supported for type '${xt(F.type)}'.`);let V=P.parse(E[2],2,Mr);if(!V)return null;if(!Xm(D,V.type))return P.concat(2).error(`\"${D}\" comparisons are not supported for type '${xt(V.type)}'.`);if(F.type.kind!==V.type.kind&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(`Cannot compare types '${xt(F.type)}' and '${xt(V.type)}'.`);A&&(F.type.kind===\"value\"&&V.type.kind!==\"value\"?F=new rs(V.type,[F]):F.type.kind!==\"value\"&&V.type.kind===\"value\"&&(V=new rs(F.type,[V])));let q=null;if(E.length===4){if(F.type.kind!==\"string\"&&V.type.kind!==\"string\"&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(\"Cannot use collator to compare non-string types.\");if(q=P.parse(E[3],3,sa),!q)return null}return new tU(F,V,q)}evaluate(E){let P=this.lhs.evaluate(E),D=this.rhs.evaluate(E);if(A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==V.kind||F.kind!==\"string\"&&F.kind!==\"number\")throw new cn(`Expected arguments for \"${u}\" to be (string, string) or (number, number), but found (${F.kind}, ${V.kind}) instead.`)}if(this.collator&&!A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==\"string\"||V.kind!==\"string\")return a(E,P,D)}return this.collator?h(E,P,D,this.collator.evaluate(E)):a(E,P,D)}eachChild(E){E(this.lhs),E(this.rhs),this.collator&&E(this.collator)}outputDefined(){return!0}}}let oh=Au(\"==\",function(u,a,h){return a===h},Td),Zt=Au(\"!=\",function(u,a,h){return a!==h},function(u,a,h,A){return!Td(0,a,h,A)}),fe=Au(\"<\",function(u,a,h){return a\",function(u,a,h){return a>h},function(u,a,h,A){return A.compare(a,h)>0}),br=Au(\"<=\",function(u,a,h){return a<=h},function(u,a,h,A){return A.compare(a,h)<=0}),g=Au(\">=\",function(u,a,h){return a>=h},function(u,a,h,A){return A.compare(a,h)>=0});class Vi{constructor(a,h,A,x,E){this.type=Dr,this.number=a,this.locale=h,this.currency=A,this.minFractionDigits=x,this.maxFractionDigits=E}static parse(a,h){if(a.length!==3)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=a[2];if(typeof x!=\"object\"||Array.isArray(x))return h.error(\"NumberFormat options argument must be an object.\");let E=null;if(x.locale&&(E=h.parse(x.locale,1,Dr),!E))return null;let P=null;if(x.currency&&(P=h.parse(x.currency,1,Dr),!P))return null;let D=null;if(x[\"min-fraction-digits\"]&&(D=h.parse(x[\"min-fraction-digits\"],1,Te),!D))return null;let F=null;return x[\"max-fraction-digits\"]&&(F=h.parse(x[\"max-fraction-digits\"],1,Te),!F)?null:new Vi(A,E,P,D,F)}evaluate(a){return new Intl.NumberFormat(this.locale?this.locale.evaluate(a):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(a):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(a):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(a):void 0}).format(this.number.evaluate(a))}eachChild(a){a(this.number),this.locale&&a(this.locale),this.currency&&a(this.currency),this.minFractionDigits&&a(this.minFractionDigits),this.maxFractionDigits&&a(this.maxFractionDigits)}outputDefined(){return!1}}class Ti{constructor(a){this.type=gt,this.sections=a}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[1];if(!Array.isArray(A)&&typeof A==\"object\")return h.error(\"First argument must be an image or text section.\");let x=[],E=!1;for(let P=1;P<=a.length-1;++P){let D=a[P];if(E&&typeof D==\"object\"&&!Array.isArray(D)){E=!1;let F=null;if(D[\"font-scale\"]&&(F=h.parse(D[\"font-scale\"],1,Te),!F))return null;let V=null;if(D[\"text-font\"]&&(V=h.parse(D[\"text-font\"],1,vt(Dr)),!V))return null;let q=null;if(D[\"text-color\"]&&(q=h.parse(D[\"text-color\"],1,Us),!q))return null;let X=x[x.length-1];X.scale=F,X.font=V,X.textColor=q}else{let F=h.parse(a[P],1,Mr);if(!F)return null;let V=F.type.kind;if(V!==\"string\"&&V!==\"value\"&&V!==\"null\"&&V!==\"resolvedImage\")return h.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");E=!0,x.push({content:F,scale:null,font:null,textColor:null})}}return new Ti(x)}evaluate(a){return new ln(this.sections.map(h=>{let A=h.content.evaluate(a);return Ki(A)===nt?new Dc(\"\",A,null,null,null):new Dc(_i(A),null,h.scale?h.scale.evaluate(a):null,h.font?h.font.evaluate(a).join(\",\"):null,h.textColor?h.textColor.evaluate(a):null)}))}eachChild(a){for(let h of this.sections)a(h.content),h.scale&&a(h.scale),h.font&&a(h.font),h.textColor&&a(h.textColor)}outputDefined(){return!1}}class Tt{constructor(a){this.type=nt,this.input=a}static parse(a,h){if(a.length!==2)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Dr);return A?new Tt(A):h.error(\"No image name provided.\")}evaluate(a){let h=this.input.evaluate(a),A=Gn.fromString(h);return A&&a.availableImages&&(A.available=a.availableImages.indexOf(h)>-1),A}eachChild(a){a(this.input)}outputDefined(){return!1}}class Ms{constructor(a){this.type=Te,this.input=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=h.parse(a[1],1);return A?A.type.kind!==\"array\"&&A.type.kind!==\"string\"&&A.type.kind!==\"value\"?h.error(`Expected argument of type string or array, but found ${xt(A.type)} instead.`):new Ms(A):null}evaluate(a){let h=this.input.evaluate(a);if(typeof h==\"string\"||Array.isArray(h))return h.length;throw new cn(`Expected value to be of type string or array, but found ${xt(Ki(h))} instead.`)}eachChild(a){a(this.input)}outputDefined(){return!1}}let cs={\"==\":oh,\"!=\":Zt,\">\":Be,\"<\":fe,\">=\":g,\"<=\":br,array:rs,at:Hp,boolean:rs,case:Zp,coalesce:Ym,collator:xd,format:Ti,image:Tt,in:$m,\"index-of\":qp,interpolate:Oa,\"interpolate-hcl\":Oa,\"interpolate-lab\":Oa,length:Ms,let:Qm,literal:Gl,match:wd,number:rs,\"number-format\":Vi,object:rs,slice:Sd,step:sh,string:rs,\"to-boolean\":Wl,\"to-color\":Wl,\"to-number\":Wl,\"to-string\":Wl,var:Gm,within:gf};function li(u,[a,h,A,x]){a=a.evaluate(u),h=h.evaluate(u),A=A.evaluate(u);let E=x?x.evaluate(u):1,P=So(a,h,A,E);if(P)throw new cn(P);return new ai(a/255,h/255,A/255,E,!1)}function bn(u,a){return u in a}function dl(u,a){let h=a[u];return h===void 0?null:h}function Ur(u){return{type:u}}function hi(u){return{result:\"success\",value:u}}function To(u){return{result:\"error\",value:u}}function _f(u){return u[\"property-type\"]===\"data-driven\"||u[\"property-type\"]===\"cross-faded-data-driven\"}function h_(u){return!!u.expression&&u.expression.parameters.indexOf(\"zoom\")>-1}function Md(u){return!!u.expression&&u.expression.interpolated}function qr(u){return u instanceof Number?\"number\":u instanceof String?\"string\":u instanceof Boolean?\"boolean\":Array.isArray(u)?\"array\":u===null?\"null\":typeof u}function Ji(u){return typeof u==\"object\"&&u!==null&&!Array.isArray(u)}function Oc(u){return u}function ci(u,a){let h=a.type===\"color\",A=u.stops&&typeof u.stops[0][0]==\"object\",x=A||!(A||u.property!==void 0),E=u.type||(Md(a)?\"exponential\":\"interval\");if(h||a.type===\"padding\"){let q=h?ai.parse:Dn.parse;(u=jo({},u)).stops&&(u.stops=u.stops.map(X=>[X[0],q(X[1])])),u.default=q(u.default?u.default:a.default)}if(u.colorSpace&&(P=u.colorSpace)!==\"rgb\"&&P!==\"hcl\"&&P!==\"lab\")throw new Error(`Unknown color space: \"${u.colorSpace}\"`);var P;let D,F,V;if(E===\"exponential\")D=Mi;else if(E===\"interval\")D=It;else if(E===\"categorical\"){D=Je,F=Object.create(null);for(let q of u.stops)F[q[0]]=q[1];V=typeof u.stops[0][0]}else{if(E!==\"identity\")throw new Error(`Unknown function type \"${E}\"`);D=Km}if(A){let q={},X=[];for(let ct=0;ctct[0]),evaluate:({zoom:ct},mt)=>Mi({stops:rt,base:u.base},a,ct).evaluate(ct,mt)}}if(x){let q=E===\"exponential\"?{name:\"exponential\",base:u.base!==void 0?u.base:1}:null;return{kind:\"camera\",interpolationType:q,interpolationFactor:Oa.interpolationFactor.bind(void 0,q),zoomStops:u.stops.map(X=>X[0]),evaluate:({zoom:X})=>D(u,a,X,F,V)}}return{kind:\"source\",evaluate(q,X){let rt=X&&X.properties?X.properties[u.property]:void 0;return rt===void 0?aa(u.default,a.default):D(u,a,rt,F,V)}}}function aa(u,a,h){return u!==void 0?u:a!==void 0?a:h!==void 0?h:void 0}function Je(u,a,h,A,x){return aa(typeof h===x?A[h]:void 0,u.default,a.default)}function It(u,a,h){if(qr(h)!==\"number\")return aa(u.default,a.default);let A=u.stops.length;if(A===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[A-1][0])return u.stops[A-1][1];let x=bd(u.stops.map(E=>E[0]),h);return u.stops[x][1]}function Mi(u,a,h){let A=u.base!==void 0?u.base:1;if(qr(h)!==\"number\")return aa(u.default,a.default);let x=u.stops.length;if(x===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[x-1][0])return u.stops[x-1][1];let E=bd(u.stops.map(q=>q[0]),h),P=function(q,X,rt,at){let ct=at-rt,mt=q-rt;return ct===0?0:X===1?mt/ct:(Math.pow(X,mt)-1)/(Math.pow(X,ct)-1)}(h,A,u.stops[E][0],u.stops[E+1][0]),D=u.stops[E][1],F=u.stops[E+1][1],V=Da[a.type]||Oc;return typeof D.evaluate==\"function\"?{evaluate(...q){let X=D.evaluate.apply(void 0,q),rt=F.evaluate.apply(void 0,q);if(X!==void 0&&rt!==void 0)return V(X,rt,P,u.colorSpace)}}:V(D,F,P,u.colorSpace)}function Km(u,a,h){switch(a.type){case\"color\":h=ai.parse(h);break;case\"formatted\":h=ln.fromString(h.toString());break;case\"resolvedImage\":h=Gn.fromString(h.toString());break;case\"padding\":h=Dn.parse(h);break;default:qr(h)===a.type||a.type===\"enum\"&&a.values[h]||(h=void 0)}return aa(h,u.default,a.default)}fl.register(cs,{error:[{kind:\"error\"},[Dr],(u,[a])=>{throw new cn(a.evaluate(u))}],typeof:[Dr,[Mr],(u,[a])=>xt(Ki(a.evaluate(u)))],\"to-rgba\":[vt(Te,4),[Us],(u,[a])=>{let[h,A,x,E]=a.evaluate(u).rgb;return[255*h,255*A,255*x,E]}],rgb:[Us,[Te,Te,Te],li],rgba:[Us,[Te,Te,Te,Te],li],has:{type:gr,overloads:[[[Dr],(u,[a])=>bn(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>bn(a.evaluate(u),h.evaluate(u))]]},get:{type:Mr,overloads:[[[Dr],(u,[a])=>dl(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>dl(a.evaluate(u),h.evaluate(u))]]},\"feature-state\":[Mr,[Dr],(u,[a])=>dl(a.evaluate(u),u.featureState||{})],properties:[La,[],u=>u.properties()],\"geometry-type\":[Dr,[],u=>u.geometryType()],id:[Mr,[],u=>u.id()],zoom:[Te,[],u=>u.globals.zoom],\"heatmap-density\":[Te,[],u=>u.globals.heatmapDensity||0],\"line-progress\":[Te,[],u=>u.globals.lineProgress||0],accumulated:[Mr,[],u=>u.globals.accumulated===void 0?null:u.globals.accumulated],\"+\":[Te,Ur(Te),(u,a)=>{let h=0;for(let A of a)h+=A.evaluate(u);return h}],\"*\":[Te,Ur(Te),(u,a)=>{let h=1;for(let A of a)h*=A.evaluate(u);return h}],\"-\":{type:Te,overloads:[[[Te,Te],(u,[a,h])=>a.evaluate(u)-h.evaluate(u)],[[Te],(u,[a])=>-a.evaluate(u)]]},\"/\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)/h.evaluate(u)],\"%\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)%h.evaluate(u)],ln2:[Te,[],()=>Math.LN2],pi:[Te,[],()=>Math.PI],e:[Te,[],()=>Math.E],\"^\":[Te,[Te,Te],(u,[a,h])=>Math.pow(a.evaluate(u),h.evaluate(u))],sqrt:[Te,[Te],(u,[a])=>Math.sqrt(a.evaluate(u))],log10:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN10],ln:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))],log2:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN2],sin:[Te,[Te],(u,[a])=>Math.sin(a.evaluate(u))],cos:[Te,[Te],(u,[a])=>Math.cos(a.evaluate(u))],tan:[Te,[Te],(u,[a])=>Math.tan(a.evaluate(u))],asin:[Te,[Te],(u,[a])=>Math.asin(a.evaluate(u))],acos:[Te,[Te],(u,[a])=>Math.acos(a.evaluate(u))],atan:[Te,[Te],(u,[a])=>Math.atan(a.evaluate(u))],min:[Te,Ur(Te),(u,a)=>Math.min(...a.map(h=>h.evaluate(u)))],max:[Te,Ur(Te),(u,a)=>Math.max(...a.map(h=>h.evaluate(u)))],abs:[Te,[Te],(u,[a])=>Math.abs(a.evaluate(u))],round:[Te,[Te],(u,[a])=>{let h=a.evaluate(u);return h<0?-Math.round(-h):Math.round(h)}],floor:[Te,[Te],(u,[a])=>Math.floor(a.evaluate(u))],ceil:[Te,[Te],(u,[a])=>Math.ceil(a.evaluate(u))],\"filter-==\":[gr,[Dr,Mr],(u,[a,h])=>u.properties()[a.value]===h.value],\"filter-id-==\":[gr,[Mr],(u,[a])=>u.id()===a.value],\"filter-type-==\":[gr,[Dr],(u,[a])=>u.geometryType()===a.value],\"filter-<\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A{let h=u.id(),A=a.value;return typeof h==typeof A&&h\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>x}],\"filter-id->\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>A}],\"filter-<=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A<=x}],\"filter-id-<=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h<=A}],\"filter->=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>=x}],\"filter-id->=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>=A}],\"filter-has\":[gr,[Mr],(u,[a])=>a.value in u.properties()],\"filter-has-id\":[gr,[],u=>u.id()!==null&&u.id()!==void 0],\"filter-type-in\":[gr,[vt(Dr)],(u,[a])=>a.value.indexOf(u.geometryType())>=0],\"filter-id-in\":[gr,[vt(Mr)],(u,[a])=>a.value.indexOf(u.id())>=0],\"filter-in-small\":[gr,[Dr,vt(Mr)],(u,[a,h])=>h.value.indexOf(u.properties()[a.value])>=0],\"filter-in-large\":[gr,[Dr,vt(Mr)],(u,[a,h])=>function(A,x,E,P){for(;E<=P;){let D=E+P>>1;if(x[D]===A)return!0;x[D]>A?P=D-1:E=D+1}return!1}(u.properties()[a.value],h.value,0,h.value.length-1)],all:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)&&h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(!h.evaluate(u))return!1;return!0}]]},any:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)||h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(h.evaluate(u))return!0;return!1}]]},\"!\":[gr,[gr],(u,[a])=>!a.evaluate(u)],\"is-supported-script\":[gr,[Dr],(u,[a])=>{let h=u.globals&&u.globals.isSupportedScript;return!h||h(a.evaluate(u))}],upcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toUpperCase()],downcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toLowerCase()],concat:[Dr,Ur(Mr),(u,a)=>a.map(h=>_i(h.evaluate(u))).join(\"\")],\"resolved-locale\":[Dr,[sa],(u,[a])=>a.evaluate(u).resolvedLocale()]});class Jm{constructor(a,h){var A;this.expression=a,this._warningHistory={},this._evaluator=new yd,this._defaultValue=h?(A=h).type===\"color\"&&Ji(A.default)?new ai(0,0,0,0):A.type===\"color\"?ai.parse(A.default)||null:A.type===\"padding\"?Dn.parse(A.default)||null:A.type===\"variableAnchorOffsetCollection\"?Go.parse(A.default)||null:A.default===void 0?null:A.default:null,this._enumValues=h&&h.type===\"enum\"?h.values:null}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._evaluator.globals=a,this._evaluator.feature=h,this._evaluator.featureState=A,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P,this.expression.evaluate(this._evaluator)}evaluate(a,h,A,x,E,P){this._evaluator.globals=a,this._evaluator.feature=h||null,this._evaluator.featureState=A||null,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P||null;try{let D=this.expression.evaluate(this._evaluator);if(D==null||typeof D==\"number\"&&D!=D)return this._defaultValue;if(this._enumValues&&!(D in this._enumValues))throw new cn(`Expected value to be one of ${Object.keys(this._enumValues).map(F=>JSON.stringify(F)).join(\", \")}, but found ${JSON.stringify(D)} instead.`);return D}catch(D){return this._warningHistory[D.message]||(this._warningHistory[D.message]=!0,typeof console<\"u\"&&console.warn(D.message)),this._defaultValue}}}function Yp(u){return Array.isArray(u)&&u.length>0&&typeof u[0]==\"string\"&&u[0]in cs}function Qp(u,a){let h=new vd(cs,Wm,[],a?function(x){let E={color:Us,string:Dr,number:Te,enum:Dr,boolean:gr,formatted:gt,padding:tt,resolvedImage:nt,variableAnchorOffsetCollection:ht};return x.type===\"array\"?vt(E[x.value]||Mr,x.length):E[x.type]}(a):void 0),A=h.parse(u,void 0,void 0,void 0,a&&a.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return A?hi(new Jm(A,a)):To(h.errors)}class t0{constructor(a,h){this.kind=a,this._styleExpression=h,this.isStateDependent=a!==\"constant\"&&!Wp(h.expression)}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}}class wt{constructor(a,h,A,x){this.kind=a,this.zoomStops=A,this._styleExpression=h,this.isStateDependent=a!==\"camera\"&&!Wp(h.expression),this.interpolationType=x}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}interpolationFactor(a,h,A){return this.interpolationType?Oa.interpolationFactor(this.interpolationType,a,h,A):0}}function e0(u,a){let h=Qp(u,a);if(h.result===\"error\")return h;let A=h.value.expression,x=Hm(A);if(!x&&!_f(a))return To([new gn(\"\",\"data expressions not supported\")]);let E=qm(A,[\"zoom\"]);if(!E&&!h_(a))return To([new gn(\"\",\"zoom expressions not supported\")]);let P=Pd(A);return P||E?P instanceof gn?To([P]):P instanceof Oa&&!Md(a)?To([new gn(\"\",'\"interpolate\" expressions cannot be used with this property')]):hi(P?new wt(x?\"camera\":\"composite\",h.value,P.labels,P instanceof Oa?P.interpolation:void 0):new t0(x?\"constant\":\"source\",h.value)):To([new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Ed{constructor(a,h){this._parameters=a,this._specification=h,jo(this,ci(this._parameters,this._specification))}static deserialize(a){return new Ed(a._parameters,a._specification)}static serialize(a){return{_parameters:a._parameters,_specification:a._specification}}}function Pd(u){let a=null;if(u instanceof Qm)a=Pd(u.result);else if(u instanceof Ym){for(let h of u.args)if(a=Pd(h),a)break}else(u instanceof sh||u instanceof Oa)&&u.input instanceof fl&&u.input.name===\"zoom\"&&(a=u);return a instanceof gn||u.eachChild(h=>{let A=Pd(h);A instanceof gn?a=A:!a&&A?a=new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):a&&A&&a!==A&&(a=new gn(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),a}function Id(u){if(u===!0||u===!1)return!0;if(!Array.isArray(u)||u.length===0)return!1;switch(u[0]){case\"has\":return u.length>=2&&u[1]!==\"$id\"&&u[1]!==\"$type\";case\"in\":return u.length>=3&&(typeof u[1]!=\"string\"||Array.isArray(u[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return u.length!==3||Array.isArray(u[1])||Array.isArray(u[2]);case\"any\":case\"all\":for(let a of u.slice(1))if(!Id(a)&&typeof a!=\"boolean\")return!1;return!0;default:return!0}}let Fx={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function r0(u){if(u==null)return{filter:()=>!0,needGeometry:!1};Id(u)||(u=yf(u));let a=Qp(u,Fx);if(a.result===\"error\")throw new Error(a.value.map(h=>`${h.key}: ${h.message}`).join(\", \"));return{filter:(h,A,x)=>a.value.evaluate(h,A,{},x),needGeometry:d_(u)}}function f_(u,a){return ua?1:0}function d_(u){if(!Array.isArray(u))return!1;if(u[0]===\"within\")return!0;for(let a=1;a\"||a===\"<=\"||a===\">=\"?Ba(u[1],u[2],a):a===\"any\"?(h=u.slice(1),[\"any\"].concat(h.map(yf))):a===\"all\"?[\"all\"].concat(u.slice(1).map(yf)):a===\"none\"?[\"all\"].concat(u.slice(1).map(yf).map(Cd)):a===\"in\"?Wn(u[1],u.slice(2)):a===\"!in\"?Cd(Wn(u[1],u.slice(2))):a===\"has\"?p_(u[1]):a===\"!has\"?Cd(p_(u[1])):a!==\"within\"||u;var h}function Ba(u,a,h){switch(u){case\"$type\":return[`filter-type-${h}`,a];case\"$id\":return[`filter-id-${h}`,a];default:return[`filter-${h}`,u,a]}}function Wn(u,a){if(a.length===0)return!1;switch(u){case\"$type\":return[\"filter-type-in\",[\"literal\",a]];case\"$id\":return[\"filter-id-in\",[\"literal\",a]];default:return a.length>200&&!a.some(h=>typeof h!=typeof a[0])?[\"filter-in-large\",u,[\"literal\",a.sort(f_)]]:[\"filter-in-small\",u,[\"literal\",a]]}}function p_(u){switch(u){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",u]}}function Cd(u){return[\"!\",u]}function $p(u){let a=typeof u;if(a===\"number\"||a===\"boolean\"||a===\"string\"||u==null)return JSON.stringify(u);if(Array.isArray(u)){let x=\"[\";for(let E of u)x+=`${$p(E)},`;return`${x}]`}let h=Object.keys(u).sort(),A=\"{\";for(let x=0;xA.maximum?[new ve(a,h,`${h} is greater than the maximum value ${A.maximum}`)]:[]}function Kp(u){let a=u.valueSpec,h=Cn(u.value.type),A,x,E,P={},D=h!==\"categorical\"&&u.value.property===void 0,F=!D,V=qr(u.value.stops)===\"array\"&&qr(u.value.stops[0])===\"array\"&&qr(u.value.stops[0][0])===\"object\",q=fi({key:u.key,value:u.value,valueSpec:u.styleSpec.function,validateSpec:u.validateSpec,style:u.style,styleSpec:u.styleSpec,objectElementValidators:{stops:function(at){if(h===\"identity\")return[new ve(at.key,at.value,'identity function may not have a \"stops\" property')];let ct=[],mt=at.value;return ct=ct.concat(mu({key:at.key,value:mt,valueSpec:at.valueSpec,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,arrayElementValidator:X})),qr(mt)===\"array\"&&mt.length===0&&ct.push(new ve(at.key,mt,\"array must have at least one stop\")),ct},default:function(at){return at.validateSpec({key:at.key,value:at.value,valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec})}}});return h===\"identity\"&&D&&q.push(new ve(u.key,u.value,'missing required property \"property\"')),h===\"identity\"||u.value.stops||q.push(new ve(u.key,u.value,'missing required property \"stops\"')),h===\"exponential\"&&u.valueSpec.expression&&!Md(u.valueSpec)&&q.push(new ve(u.key,u.value,\"exponential functions not supported\")),u.styleSpec.$version>=8&&(F&&!_f(u.valueSpec)?q.push(new ve(u.key,u.value,\"property functions not supported\")):D&&!h_(u.valueSpec)&&q.push(new ve(u.key,u.value,\"zoom functions not supported\"))),h!==\"categorical\"&&!V||u.value.property!==void 0||q.push(new ve(u.key,u.value,'\"property\" property is required')),q;function X(at){let ct=[],mt=at.value,bt=at.key;if(qr(mt)!==\"array\")return[new ve(bt,mt,`array expected, ${qr(mt)} found`)];if(mt.length!==2)return[new ve(bt,mt,`array length 2 expected, length ${mt.length} found`)];if(V){if(qr(mt[0])!==\"object\")return[new ve(bt,mt,`object expected, ${qr(mt[0])} found`)];if(mt[0].zoom===void 0)return[new ve(bt,mt,\"object stop key must have zoom\")];if(mt[0].value===void 0)return[new ve(bt,mt,\"object stop key must have value\")];if(E&&E>Cn(mt[0].zoom))return[new ve(bt,mt[0].zoom,\"stop zoom values must appear in ascending order\")];Cn(mt[0].zoom)!==E&&(E=Cn(mt[0].zoom),x=void 0,P={}),ct=ct.concat(fi({key:`${bt}[0]`,value:mt[0],valueSpec:{zoom:{}},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,objectElementValidators:{zoom:vf,value:rt}}))}else ct=ct.concat(rt({key:`${bt}[0]`,value:mt[0],valueSpec:{},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec},mt));return Yp(ah(mt[1]))?ct.concat([new ve(`${bt}[1]`,mt[1],\"expressions are not allowed in function stops.\")]):ct.concat(at.validateSpec({key:`${bt}[1]`,value:mt[1],valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec}))}function rt(at,ct){let mt=qr(at.value),bt=Cn(at.value),Pt=at.value!==null?at.value:ct;if(A){if(mt!==A)return[new ve(at.key,Pt,`${mt} stop domain type must match previous stop domain type ${A}`)]}else A=mt;if(mt!==\"number\"&&mt!==\"string\"&&mt!==\"boolean\")return[new ve(at.key,Pt,\"stop domain value must be a number, string, or boolean\")];if(mt!==\"number\"&&h!==\"categorical\"){let jt=`number expected, ${mt} found`;return _f(a)&&h===void 0&&(jt+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ve(at.key,Pt,jt)]}return h!==\"categorical\"||mt!==\"number\"||isFinite(bt)&&Math.floor(bt)===bt?h!==\"categorical\"&&mt===\"number\"&&x!==void 0&&btnew ve(`${u.key}${A.key}`,u.value,A.message));let h=a.value.expression||a.value._styleExpression.expression;if(u.expressionContext===\"property\"&&u.propertyKey===\"text-font\"&&!h.outputDefined())return[new ve(u.key,u.value,`Invalid data expression for \"${u.propertyKey}\". Output values must be contained as literals within the expression.`)];if(u.expressionContext===\"property\"&&u.propertyType===\"layout\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(u.expressionContext===\"filter\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with filters.')];if(u.expressionContext&&u.expressionContext.indexOf(\"cluster\")===0){if(!qm(h,[\"zoom\",\"feature-state\"]))return[new ve(u.key,u.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(u.expressionContext===\"cluster-initial\"&&!Hm(h))return[new ve(u.key,u.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ld(u){let a=u.key,h=u.value,A=u.valueSpec,x=[];return Array.isArray(A.values)?A.values.indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${A.values.join(\", \")}], ${JSON.stringify(h)} found`)):Object.keys(A.values).indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${Object.keys(A.values).join(\", \")}], ${JSON.stringify(h)} found`)),x}function ch(u){return Id(ah(u.value))?lh(jo({},u,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Jp(u)}function Jp(u){let a=u.value,h=u.key;if(qr(a)!==\"array\")return[new ve(h,a,`array expected, ${qr(a)} found`)];let A=u.styleSpec,x,E=[];if(a.length<1)return[new ve(h,a,\"filter array must have at least 1 element\")];switch(E=E.concat(Ld({key:`${h}[0]`,value:a[0],valueSpec:A.filter_operator,style:u.style,styleSpec:u.styleSpec})),Cn(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&Cn(a[1])===\"$type\"&&E.push(new ve(h,a,`\"$type\" cannot be use with operator \"${a[0]}\"`));case\"==\":case\"!=\":a.length!==3&&E.push(new ve(h,a,`filter array for operator \"${a[0]}\" must have 3 elements`));case\"in\":case\"!in\":a.length>=2&&(x=qr(a[1]),x!==\"string\"&&E.push(new ve(`${h}[1]`,a[1],`string expected, ${x} found`)));for(let P=2;P{V in h&&a.push(new ve(A,h[V],`\"${V}\" is prohibited for ref layers`))}),x.layers.forEach(V=>{Cn(V.id)===D&&(F=V)}),F?F.ref?a.push(new ve(A,h.ref,\"ref cannot reference another ref layer\")):P=Cn(F.type):a.push(new ve(A,h.ref,`ref layer \"${D}\" not found`))}else if(P!==\"background\")if(h.source){let F=x.sources&&x.sources[h.source],V=F&&Cn(F.type);F?V===\"vector\"&&P===\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster source`)):V!==\"raster-dem\"&&P===\"hillshade\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster-dem source`)):V===\"raster\"&&P!==\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a vector source`)):V!==\"vector\"||h[\"source-layer\"]?V===\"raster-dem\"&&P!==\"hillshade\"?a.push(new ve(A,h.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):P!==\"line\"||!h.paint||!h.paint[\"line-gradient\"]||V===\"geojson\"&&F.lineMetrics||a.push(new ve(A,h,`layer \"${h.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):a.push(new ve(A,h,`layer \"${h.id}\" must specify a \"source-layer\"`)):a.push(new ve(A,h.source,`source \"${h.source}\" not found`))}else a.push(new ve(A,h,'missing required property \"source\"'));return a=a.concat(fi({key:A,value:h,valueSpec:E.layer,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>u.validateSpec({key:`${A}.type`,value:h.type,valueSpec:E.layer.type,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,object:h,objectKey:\"type\"}),filter:ch,layout:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>m_(jo({layerType:P},V))}}),paint:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>A_(jo({layerType:P},V))}})}})),a}function pl(u){let a=u.value,h=u.key,A=qr(a);return A!==\"string\"?[new ve(h,a,`string expected, ${A} found`)]:[]}let uh={promoteId:function({key:u,value:a}){if(qr(a)===\"string\")return pl({key:u,value:a});{let h=[];for(let A in a)h.push(...pl({key:`${u}.${A}`,value:a[A]}));return h}}};function la(u){let a=u.value,h=u.key,A=u.styleSpec,x=u.style,E=u.validateSpec;if(!a.type)return[new ve(h,a,'\"type\" is required')];let P=Cn(a.type),D;switch(P){case\"vector\":case\"raster\":return D=fi({key:h,value:a,valueSpec:A[`source_${P.replace(\"-\",\"_\")}`],style:u.style,styleSpec:A,objectElementValidators:uh,validateSpec:E}),D;case\"raster-dem\":return D=function(F){var V;let q=(V=F.sourceName)!==null&&V!==void 0?V:\"\",X=F.value,rt=F.styleSpec,at=rt.source_raster_dem,ct=F.style,mt=[],bt=qr(X);if(X===void 0)return mt;if(bt!==\"object\")return mt.push(new ve(\"source_raster_dem\",X,`object expected, ${bt} found`)),mt;let Pt=Cn(X.encoding)===\"custom\",jt=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],Rt=F.value.encoding?`\"${F.value.encoding}\"`:\"Default\";for(let Gt in X)!Pt&&jt.includes(Gt)?mt.push(new ve(Gt,X[Gt],`In \"${q}\": \"${Gt}\" is only valid when \"encoding\" is set to \"custom\". ${Rt} encoding found`)):at[Gt]?mt=mt.concat(F.validateSpec({key:Gt,value:X[Gt],valueSpec:at[Gt],validateSpec:F.validateSpec,style:ct,styleSpec:rt})):mt.push(new ve(Gt,X[Gt],`unknown property \"${Gt}\"`));return mt}({sourceName:h,value:a,style:u.style,styleSpec:A,validateSpec:E}),D;case\"geojson\":if(D=fi({key:h,value:a,valueSpec:A.source_geojson,style:x,styleSpec:A,validateSpec:E,objectElementValidators:uh}),a.cluster)for(let F in a.clusterProperties){let[V,q]=a.clusterProperties[F],X=typeof V==\"string\"?[V,[\"accumulated\"],[\"get\",F]]:V;D.push(...lh({key:`${h}.${F}.map`,value:q,validateSpec:E,expressionContext:\"cluster-map\"})),D.push(...lh({key:`${h}.${F}.reduce`,value:X,validateSpec:E,expressionContext:\"cluster-reduce\"}))}return D;case\"video\":return fi({key:h,value:a,valueSpec:A.source_video,style:x,validateSpec:E,styleSpec:A});case\"image\":return fi({key:h,value:a,valueSpec:A.source_image,style:x,validateSpec:E,styleSpec:A});case\"canvas\":return[new ve(h,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Ld({key:`${h}.type`,value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:x,validateSpec:E,styleSpec:A})}}function kd(u){let a=u.value,h=u.styleSpec,A=h.light,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"light\",a,`object expected, ${P} found`)]),E;for(let D in a){let F=D.match(/^(.*)-transition$/);E=E.concat(F&&A[F[1]]&&A[F[1]].transition?u.validateSpec({key:D,value:a[D],valueSpec:h.transition,validateSpec:u.validateSpec,style:x,styleSpec:h}):A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)])}return E}function g_(u){let a=u.value,h=u.styleSpec,A=h.terrain,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"terrain\",a,`object expected, ${P} found`)]),E;for(let D in a)E=E.concat(A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)]);return E}function js(u){let a=[],h=u.value,A=u.key;if(Array.isArray(h)){let x=[],E=[];for(let P in h)h[P].id&&x.includes(h[P].id)&&a.push(new ve(A,h,`all the sprites' ids must be unique, but ${h[P].id} is duplicated`)),x.push(h[P].id),h[P].url&&E.includes(h[P].url)&&a.push(new ve(A,h,`all the sprites' URLs must be unique, but ${h[P].url} is duplicated`)),E.push(h[P].url),a=a.concat(fi({key:`${A}[${P}]`,value:h[P],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:u.validateSpec}));return a}return pl({key:A,value:h})}let gu={\"*\":()=>[],array:mu,boolean:function(u){let a=u.value,h=u.key,A=qr(a);return A!==\"boolean\"?[new ve(h,a,`boolean expected, ${A} found`)]:[]},number:vf,color:function(u){let a=u.key,h=u.value,A=qr(h);return A!==\"string\"?[new ve(a,h,`color expected, ${A} found`)]:ai.parse(String(h))?[]:[new ve(a,h,`color expected, \"${h}\" found`)]},constants:i0,enum:Ld,filter:ch,function:Kp,layer:n0,object:fi,source:la,light:kd,terrain:g_,string:pl,formatted:function(u){return pl(u).length===0?[]:lh(u)},resolvedImage:function(u){return pl(u).length===0?[]:lh(u)},padding:function(u){let a=u.key,h=u.value;if(qr(h)===\"array\"){if(h.length<1||h.length>4)return[new ve(a,h,`padding requires 1 to 4 values; ${h.length} values found`)];let A={type:\"number\"},x=[];for(let E=0;E[]}})),u.constants&&(h=h.concat(i0({key:\"constants\",value:u.constants,style:u,styleSpec:a,validateSpec:Ln}))),Rd(h)}function Fa(u){return function(a){return u({...a,validateSpec:Ln})}}function Rd(u){return[].concat(u).sort((a,h)=>a.line-h.line)}function Al(u){return function(...a){return Rd(u.apply(this,a))}}ca.source=Al(Fa(la)),ca.sprite=Al(Fa(js)),ca.glyphs=Al(Fa(eA)),ca.light=Al(Fa(kd)),ca.terrain=Al(Fa(g_)),ca.layer=Al(Fa(n0)),ca.filter=Al(Fa(ch)),ca.paintProperty=Al(Fa(A_)),ca.layoutProperty=Al(Fa(m_));let za=ca,hh=za.light,rA=za.paintProperty,s0=za.layoutProperty;function fh(u,a){let h=!1;if(a&&a.length)for(let A of a)u.fire(new ao(new Error(A.message))),h=!0;return h}class Na{constructor(a,h,A){let x=this.cells=[];if(a instanceof ArrayBuffer){this.arrayBuffer=a;let P=new Int32Array(this.arrayBuffer);a=P[0],this.d=(h=P[1])+2*(A=P[2]);for(let F=0;F=X[ct+0]&&x>=X[ct+1])?(D[at]=!0,P.push(q[at])):D[at]=!1}}}}_forEachCell(a,h,A,x,E,P,D,F){let V=this._convertToCellCoord(a),q=this._convertToCellCoord(h),X=this._convertToCellCoord(A),rt=this._convertToCellCoord(x);for(let at=V;at<=X;at++)for(let ct=q;ct<=rt;ct++){let mt=this.d*ct+at;if((!F||F(this._convertFromCellCoord(at),this._convertFromCellCoord(ct),this._convertFromCellCoord(at+1),this._convertFromCellCoord(ct+1)))&&E.call(this,a,h,A,x,mt,P,D,F))return}}_convertFromCellCoord(a){return(a-this.padding)/this.scale}_convertToCellCoord(a){return Math.max(0,Math.min(this.d-1,Math.floor(a*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let a=this.cells,h=3+this.cells.length+1+1,A=0;for(let P=0;P=0)continue;let P=u[E];x[E]=co[A].shallow.indexOf(E)>=0?P:Hl(P,a)}u instanceof Error&&(x.message=u.message)}if(x.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return A!==\"Object\"&&(x.$name=A),x}throw new Error(\"can't serialize object of type \"+typeof u)}function xf(u){if(u==null||typeof u==\"boolean\"||typeof u==\"number\"||typeof u==\"string\"||u instanceof Boolean||u instanceof Number||u instanceof String||u instanceof Date||u instanceof RegExp||u instanceof Blob||Dd(u)||zl(u)||ArrayBuffer.isView(u)||u instanceof ImageData)return u;if(Array.isArray(u))return u.map(xf);if(typeof u==\"object\"){let a=u.$name||\"Object\";if(!co[a])throw new Error(`can't deserialize unregistered class ${a}`);let{klass:h}=co[a];if(!h)throw new Error(`can't deserialize unregistered class ${a}`);if(h.deserialize)return h.deserialize(u);let A=Object.create(h.prototype);for(let x of Object.keys(u)){if(x===\"$name\")continue;let E=u[x];A[x]=co[a].shallow.indexOf(x)>=0?E:xf(E)}return A}throw new Error(\"can't deserialize object of type \"+typeof u)}class __{constructor(){this.first=!0}update(a,h){let A=Math.floor(a);return this.first?(this.first=!1,this.lastIntegerZoom=A,this.lastIntegerZoomTime=0,this.lastZoom=a,this.lastFloorZoom=A,!0):(this.lastFloorZoom>A?(this.lastIntegerZoom=A+1,this.lastIntegerZoomTime=h):this.lastFloorZoomu>=128&&u<=255,Arabic:u=>u>=1536&&u<=1791,\"Arabic Supplement\":u=>u>=1872&&u<=1919,\"Arabic Extended-A\":u=>u>=2208&&u<=2303,\"Hangul Jamo\":u=>u>=4352&&u<=4607,\"Unified Canadian Aboriginal Syllabics\":u=>u>=5120&&u<=5759,Khmer:u=>u>=6016&&u<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":u=>u>=6320&&u<=6399,\"General Punctuation\":u=>u>=8192&&u<=8303,\"Letterlike Symbols\":u=>u>=8448&&u<=8527,\"Number Forms\":u=>u>=8528&&u<=8591,\"Miscellaneous Technical\":u=>u>=8960&&u<=9215,\"Control Pictures\":u=>u>=9216&&u<=9279,\"Optical Character Recognition\":u=>u>=9280&&u<=9311,\"Enclosed Alphanumerics\":u=>u>=9312&&u<=9471,\"Geometric Shapes\":u=>u>=9632&&u<=9727,\"Miscellaneous Symbols\":u=>u>=9728&&u<=9983,\"Miscellaneous Symbols and Arrows\":u=>u>=11008&&u<=11263,\"CJK Radicals Supplement\":u=>u>=11904&&u<=12031,\"Kangxi Radicals\":u=>u>=12032&&u<=12255,\"Ideographic Description Characters\":u=>u>=12272&&u<=12287,\"CJK Symbols and Punctuation\":u=>u>=12288&&u<=12351,Hiragana:u=>u>=12352&&u<=12447,Katakana:u=>u>=12448&&u<=12543,Bopomofo:u=>u>=12544&&u<=12591,\"Hangul Compatibility Jamo\":u=>u>=12592&&u<=12687,Kanbun:u=>u>=12688&&u<=12703,\"Bopomofo Extended\":u=>u>=12704&&u<=12735,\"CJK Strokes\":u=>u>=12736&&u<=12783,\"Katakana Phonetic Extensions\":u=>u>=12784&&u<=12799,\"Enclosed CJK Letters and Months\":u=>u>=12800&&u<=13055,\"CJK Compatibility\":u=>u>=13056&&u<=13311,\"CJK Unified Ideographs Extension A\":u=>u>=13312&&u<=19903,\"Yijing Hexagram Symbols\":u=>u>=19904&&u<=19967,\"CJK Unified Ideographs\":u=>u>=19968&&u<=40959,\"Yi Syllables\":u=>u>=40960&&u<=42127,\"Yi Radicals\":u=>u>=42128&&u<=42191,\"Hangul Jamo Extended-A\":u=>u>=43360&&u<=43391,\"Hangul Syllables\":u=>u>=44032&&u<=55215,\"Hangul Jamo Extended-B\":u=>u>=55216&&u<=55295,\"Private Use Area\":u=>u>=57344&&u<=63743,\"CJK Compatibility Ideographs\":u=>u>=63744&&u<=64255,\"Arabic Presentation Forms-A\":u=>u>=64336&&u<=65023,\"Vertical Forms\":u=>u>=65040&&u<=65055,\"CJK Compatibility Forms\":u=>u>=65072&&u<=65103,\"Small Form Variants\":u=>u>=65104&&u<=65135,\"Arabic Presentation Forms-B\":u=>u>=65136&&u<=65279,\"Halfwidth and Fullwidth Forms\":u=>u>=65280&&u<=65519};function o0(u){for(let a of u)if(dh(a.charCodeAt(0)))return!0;return!1}function a0(u){for(let a of u)if(!zx(a.charCodeAt(0)))return!1;return!0}function zx(u){return!(Oe.Arabic(u)||Oe[\"Arabic Supplement\"](u)||Oe[\"Arabic Extended-A\"](u)||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u))}function dh(u){return!(u!==746&&u!==747&&(u<4352||!(Oe[\"Bopomofo Extended\"](u)||Oe.Bopomofo(u)||Oe[\"CJK Compatibility Forms\"](u)&&!(u>=65097&&u<=65103)||Oe[\"CJK Compatibility Ideographs\"](u)||Oe[\"CJK Compatibility\"](u)||Oe[\"CJK Radicals Supplement\"](u)||Oe[\"CJK Strokes\"](u)||!(!Oe[\"CJK Symbols and Punctuation\"](u)||u>=12296&&u<=12305||u>=12308&&u<=12319||u===12336)||Oe[\"CJK Unified Ideographs Extension A\"](u)||Oe[\"CJK Unified Ideographs\"](u)||Oe[\"Enclosed CJK Letters and Months\"](u)||Oe[\"Hangul Compatibility Jamo\"](u)||Oe[\"Hangul Jamo Extended-A\"](u)||Oe[\"Hangul Jamo Extended-B\"](u)||Oe[\"Hangul Jamo\"](u)||Oe[\"Hangul Syllables\"](u)||Oe.Hiragana(u)||Oe[\"Ideographic Description Characters\"](u)||Oe.Kanbun(u)||Oe[\"Kangxi Radicals\"](u)||Oe[\"Katakana Phonetic Extensions\"](u)||Oe.Katakana(u)&&u!==12540||!(!Oe[\"Halfwidth and Fullwidth Forms\"](u)||u===65288||u===65289||u===65293||u>=65306&&u<=65310||u===65339||u===65341||u===65343||u>=65371&&u<=65503||u===65507||u>=65512&&u<=65519)||!(!Oe[\"Small Form Variants\"](u)||u>=65112&&u<=65118||u>=65123&&u<=65126)||Oe[\"Unified Canadian Aboriginal Syllabics\"](u)||Oe[\"Unified Canadian Aboriginal Syllabics Extended\"](u)||Oe[\"Vertical Forms\"](u)||Oe[\"Yijing Hexagram Symbols\"](u)||Oe[\"Yi Syllables\"](u)||Oe[\"Yi Radicals\"](u))))}function y_(u){return!(dh(u)||function(a){return!!(Oe[\"Latin-1 Supplement\"](a)&&(a===167||a===169||a===174||a===177||a===188||a===189||a===190||a===215||a===247)||Oe[\"General Punctuation\"](a)&&(a===8214||a===8224||a===8225||a===8240||a===8241||a===8251||a===8252||a===8258||a===8263||a===8264||a===8265||a===8273)||Oe[\"Letterlike Symbols\"](a)||Oe[\"Number Forms\"](a)||Oe[\"Miscellaneous Technical\"](a)&&(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||a===9003||a>=9085&&a<=9114||a>=9150&&a<=9165||a===9167||a>=9169&&a<=9179||a>=9186&&a<=9215)||Oe[\"Control Pictures\"](a)&&a!==9251||Oe[\"Optical Character Recognition\"](a)||Oe[\"Enclosed Alphanumerics\"](a)||Oe[\"Geometric Shapes\"](a)||Oe[\"Miscellaneous Symbols\"](a)&&!(a>=9754&&a<=9759)||Oe[\"Miscellaneous Symbols and Arrows\"](a)&&(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243)||Oe[\"CJK Symbols and Punctuation\"](a)||Oe.Katakana(a)||Oe[\"Private Use Area\"](a)||Oe[\"CJK Compatibility Forms\"](a)||Oe[\"Small Form Variants\"](a)||Oe[\"Halfwidth and Fullwidth Forms\"](a)||a===8734||a===8756||a===8757||a>=9984&&a<=10087||a>=10102&&a<=10131||a===65532||a===65533)}(u))}function l0(u){return u>=1424&&u<=2303||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u)}function c0(u,a){return!(!a&&l0(u)||u>=2304&&u<=3583||u>=3840&&u<=4255||Oe.Khmer(u))}function bf(u){for(let a of u)if(l0(a.charCodeAt(0)))return!0;return!1}let u0=\"deferred\",iA=\"loading\",nA=\"loaded\",ph=null,us=\"unavailable\",_u=null,Bc=function(u){u&&typeof u==\"string\"&&u.indexOf(\"NetworkError\")>-1&&(us=\"error\"),ph&&ph(u)};function h0(){Od.fire(new as(\"pluginStateChange\",{pluginStatus:us,pluginURL:_u}))}let Od=new Nl,f0=function(){return us},v_=function(){if(us!==u0||!_u)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");us=iA,h0(),_u&&cl({url:_u},u=>{u?Bc(u):(us=nA,h0())})},ua={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>us===nA||ua.applyArabicShaping!=null,isLoading:()=>us===iA,setState(u){if(!Li())throw new Error(\"Cannot set the state of the rtl-text-plugin when not in the web-worker context\");us=u.pluginStatus,_u=u.pluginURL},isParsed(){if(!Li())throw new Error(\"rtl-text-plugin is only parsed on the worker-threads\");return ua.applyArabicShaping!=null&&ua.processBidirectionalText!=null&&ua.processStyledBidirectionalText!=null},getPluginURL(){if(!Li())throw new Error(\"rtl-text-plugin url can only be queried from the worker threads\");return _u}};class un{constructor(a,h){this.zoom=a,h?(this.now=h.now,this.fadeDuration=h.fadeDuration,this.zoomHistory=h.zoomHistory,this.transition=h.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new __,this.transition={})}isSupportedScript(a){return function(h,A){for(let x of h)if(!c0(x.charCodeAt(0),A))return!1;return!0}(a,ua.isLoaded())}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let a=this.zoom,h=a-Math.floor(a),A=this.crossFadingFactor();return a>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:h+(1-h)*A}:{fromScale:.5,toScale:1,t:1-(1-A)*h}}}class sA{constructor(a,h){this.property=a,this.value=h,this.expression=function(A,x){if(Ji(A))return new Ed(A,x);if(Yp(A)){let E=e0(A,x);if(E.result===\"error\")throw new Error(E.value.map(P=>`${P.key}: ${P.message}`).join(\", \"));return E.value}{let E=A;return x.type===\"color\"&&typeof A==\"string\"?E=ai.parse(A):x.type!==\"padding\"||typeof A!=\"number\"&&!Array.isArray(A)?x.type===\"variableAnchorOffsetCollection\"&&Array.isArray(A)&&(E=Go.parse(A)):E=Dn.parse(A),{kind:\"constant\",evaluate:()=>E}}}(h===void 0?a.specification.default:h,a.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(a,h,A){return this.property.possiblyEvaluate(this,a,h,A)}}class d0{constructor(a){this.property=a,this.value=new sA(a,void 0)}transitioned(a,h){return new x_(this.property,this.value,h,kt({},a.transition,this.transition),a.now)}untransitioned(){return new x_(this.property,this.value,null,{},0)}}class Ah{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitionablePropertyValues)}getValue(a){return ue(this._values[a].value.value)}setValue(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].value=new sA(this._values[a].property,h===null?void 0:ue(h))}getTransition(a){return ue(this._values[a].transition)}setTransition(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].transition=ue(h)||void 0}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A);let x=this.getTransition(h);x!==void 0&&(a[`${h}-transition`]=x)}return a}transitioned(a,h){let A=new b_(this._properties);for(let x of Object.keys(this._values))A._values[x]=this._values[x].transitioned(a,h._values[x]);return A}untransitioned(){let a=new b_(this._properties);for(let h of Object.keys(this._values))a._values[h]=this._values[h].untransitioned();return a}}class x_{constructor(a,h,A,x,E){this.property=a,this.value=h,this.begin=E+x.delay||0,this.end=this.begin+x.duration||0,a.specification.transition&&(x.delay||x.duration)&&(this.prior=A)}possiblyEvaluate(a,h,A){let x=a.now||0,E=this.value.possiblyEvaluate(a,h,A),P=this.prior;if(P){if(x>this.end)return this.prior=null,E;if(this.value.isDataDriven())return this.prior=null,E;if(x=1)return 1;let V=F*F,q=V*F;return 4*(F<.5?q:3*(F-V)+q-.75)}(D))}}return E}}class b_{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitioningPropertyValues)}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}hasTransition(){for(let a of Object.keys(this._values))if(this._values[a].prior)return!0;return!1}}class Nx{constructor(a){this._properties=a,this._values=Object.create(a.defaultPropertyValues)}hasValue(a){return this._values[a].value!==void 0}getValue(a){return ue(this._values[a].value)}setValue(a,h){this._values[a]=new sA(this._values[a].property,h===null?void 0:ue(h))}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A)}return a}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}}class Mo{constructor(a,h,A){this.property=a,this.value=h,this.parameters=A}isConstant(){return this.value.kind===\"constant\"}constantOr(a){return this.value.kind===\"constant\"?this.value.value:a}evaluate(a,h,A,x){return this.property.evaluate(this.value,this.parameters,a,h,A,x)}}class oA{constructor(a){this._properties=a,this._values=Object.create(a.defaultPossiblyEvaluatedValues)}get(a){return this._values[a]}}class nr{constructor(a){this.specification=a}possiblyEvaluate(a,h){if(a.isDataDriven())throw new Error(\"Value should not be data driven\");return a.expression.evaluate(h)}interpolate(a,h,A){let x=Da[this.specification.type];return x?x(a,h,A):a}}class dr{constructor(a,h){this.specification=a,this.overrides=h}possiblyEvaluate(a,h,A,x){return new Mo(this,a.expression.kind===\"constant\"||a.expression.kind===\"camera\"?{kind:\"constant\",value:a.expression.evaluate(h,null,{},A,x)}:a.expression,h)}interpolate(a,h,A){if(a.value.kind!==\"constant\"||h.value.kind!==\"constant\")return a;if(a.value.value===void 0||h.value.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},a.parameters);let x=Da[this.specification.type];if(x){let E=x(a.value.value,h.value.value,A);return new Mo(this,{kind:\"constant\",value:E},a.parameters)}return a}evaluate(a,h,A,x,E,P){return a.kind===\"constant\"?a.value:a.evaluate(h,A,x,E,P)}}class wf extends dr{possiblyEvaluate(a,h,A,x){if(a.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},h);if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x),P=a.property.specification.type===\"resolvedImage\"&&typeof E!=\"string\"?E.name:E,D=this._calculate(P,P,P,h);return new Mo(this,{kind:\"constant\",value:D},h)}if(a.expression.kind===\"camera\"){let E=this._calculate(a.expression.evaluate({zoom:h.zoom-1}),a.expression.evaluate({zoom:h.zoom}),a.expression.evaluate({zoom:h.zoom+1}),h);return new Mo(this,{kind:\"constant\",value:E},h)}return new Mo(this,a.expression,h)}evaluate(a,h,A,x,E,P){if(a.kind===\"source\"){let D=a.evaluate(h,A,x,E,P);return this._calculate(D,D,D,h)}return a.kind===\"composite\"?this._calculate(a.evaluate({zoom:Math.floor(h.zoom)-1},A,x),a.evaluate({zoom:Math.floor(h.zoom)},A,x),a.evaluate({zoom:Math.floor(h.zoom)+1},A,x),h):a.value}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class aA{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){if(a.value!==void 0){if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x);return this._calculate(E,E,E,h)}return this._calculate(a.expression.evaluate(new un(Math.floor(h.zoom-1),h)),a.expression.evaluate(new un(Math.floor(h.zoom),h)),a.expression.evaluate(new un(Math.floor(h.zoom+1),h)),h)}}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class Bd{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){return!!a.expression.evaluate(h,null,{},A,x)}interpolate(){return!1}}class Hn{constructor(a){this.properties=a,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let h in a){let A=a[h];A.specification.overridable&&this.overridableProperties.push(h);let x=this.defaultPropertyValues[h]=new sA(A,void 0),E=this.defaultTransitionablePropertyValues[h]=new d0(A);this.defaultTransitioningPropertyValues[h]=E.untransitioned(),this.defaultPossiblyEvaluatedValues[h]=x.possiblyEvaluate({})}}}Ge(\"DataDrivenProperty\",dr),Ge(\"DataConstantProperty\",nr),Ge(\"CrossFadedDataDrivenProperty\",wf),Ge(\"CrossFadedProperty\",aA),Ge(\"ColorRampProperty\",Bd);let uo=\"-transition\";class ji extends Nl{constructor(a,h){if(super(),this.id=a.id,this.type=a.type,this._featureFilter={filter:()=>!0,needGeometry:!1},a.type!==\"custom\"&&(this.metadata=a.metadata,this.minzoom=a.minzoom,this.maxzoom=a.maxzoom,a.type!==\"background\"&&(this.source=a.source,this.sourceLayer=a[\"source-layer\"],this.filter=a.filter),h.layout&&(this._unevaluatedLayout=new Nx(h.layout)),h.paint)){this._transitionablePaint=new Ah(h.paint);for(let A in a.paint)this.setPaintProperty(A,a.paint[A],{validate:!1});for(let A in a.layout)this.setLayoutProperty(A,a.layout[A],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oA(h.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(a){return a===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(a)}setLayoutProperty(a,h,A={}){h!=null&&this._validate(s0,`layers.${this.id}.layout.${a}`,a,h,A)||(a!==\"visibility\"?this._unevaluatedLayout.setValue(a,h):this.visibility=h)}getPaintProperty(a){return a.endsWith(uo)?this._transitionablePaint.getTransition(a.slice(0,-11)):this._transitionablePaint.getValue(a)}setPaintProperty(a,h,A={}){if(h!=null&&this._validate(rA,`layers.${this.id}.paint.${a}`,a,h,A))return!1;if(a.endsWith(uo))return this._transitionablePaint.setTransition(a.slice(0,-11),h||void 0),!1;{let x=this._transitionablePaint._values[a],E=x.property.specification[\"property-type\"]===\"cross-faded-data-driven\",P=x.value.isDataDriven(),D=x.value;this._transitionablePaint.setValue(a,h),this._handleSpecialPaintPropertyUpdate(a);let F=this._transitionablePaint._values[a].value;return F.isDataDriven()||P||E||this._handleOverridablePaintPropertyUpdate(a,D,F)}}_handleSpecialPaintPropertyUpdate(a){}_handleOverridablePaintPropertyUpdate(a,h,A){return!1}isHidden(a){return!!(this.minzoom&&a=this.maxzoom)||this.visibility===\"none\"}updateTransitions(a){this._transitioningPaint=this._transitionablePaint.transitioned(a,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(a,h){a.getCrossfadeParameters&&(this._crossfadeParameters=a.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(a,void 0,h)),this.paint=this._transitioningPaint.possiblyEvaluate(a,void 0,h)}serialize(){let a={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(a.layout=a.layout||{},a.layout.visibility=this.visibility),le(a,(h,A)=>!(h===void 0||A===\"layout\"&&!Object.keys(h).length||A===\"paint\"&&!Object.keys(h).length))}_validate(a,h,A,x,E={}){return(!E||E.validate!==!1)&&fh(this,a.call(za,{key:h,layerType:this.type,objectKey:A,value:x,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let a in this.paint._values){let h=this.paint.get(a);if(h instanceof Mo&&_f(h.property.specification)&&(h.value.kind===\"source\"||h.value.kind===\"composite\")&&h.value.isStateDependent)return!0}return!1}}let w_={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class mh{constructor(a,h){this._structArray=a,this._pos1=h*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class kn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(a,h){return a._trim(),h&&(a.isTransferred=!0,h.push(a.arrayBuffer)),{length:a.length,arrayBuffer:a.arrayBuffer}}static deserialize(a){let h=Object.create(this.prototype);return h.arrayBuffer=a.arrayBuffer,h.length=a.length,h.capacity=a.arrayBuffer.byteLength/h.bytesPerElement,h._refreshViews(),h}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(a){this.reserve(a),this.length=a}reserve(a){if(a>this.capacity){this.capacity=Math.max(a,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let h=this.uint8;this._refreshViews(),h&&this.uint8.set(h)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function wn(u,a=1){let h=0,A=0;return{members:u.map(x=>{let E=w_[x.type].BYTES_PER_ELEMENT,P=h=Sf(h,Math.max(a,E)),D=x.components||1;return A=Math.max(A,E),h+=E*D,{name:x.name,type:x.type,components:D,offset:P}}),size:Sf(h,Math.max(A,a)),alignment:a}}function Sf(u,a){return Math.ceil(u/a)*a}class Es extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.int16[x+0]=h,this.int16[x+1]=A,a}}Es.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2i4\",Es);class gh extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.int16[E+0]=h,this.int16[E+1]=A,this.int16[E+2]=x,a}}gh.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3i6\",gh);class Wo extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.int16[P+0]=h,this.int16[P+1]=A,this.int16[P+2]=x,this.int16[P+3]=E,a}}Wo.prototype.bytesPerElement=8,Ge(\"StructArrayLayout4i8\",Wo);class p0 extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}p0.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i4i12\",p0);class Fd extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=4*a,V=8*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.uint8[V+4]=x,this.uint8[V+5]=E,this.uint8[V+6]=P,this.uint8[V+7]=D,a}}Fd.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2i4ub8\",Fd);class Tf extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.float32[x+0]=h,this.float32[x+1]=A,a}}Tf.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2f8\",Tf);class Ho extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q){let X=this.length;return this.resize(X+1),this.emplace(X,a,h,A,x,E,P,D,F,V,q)}emplace(a,h,A,x,E,P,D,F,V,q,X){let rt=10*a;return this.uint16[rt+0]=h,this.uint16[rt+1]=A,this.uint16[rt+2]=x,this.uint16[rt+3]=E,this.uint16[rt+4]=P,this.uint16[rt+5]=D,this.uint16[rt+6]=F,this.uint16[rt+7]=V,this.uint16[rt+8]=q,this.uint16[rt+9]=X,a}}Ho.prototype.bytesPerElement=20,Ge(\"StructArrayLayout10ui20\",Ho);class lA extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt){let at=this.length;return this.resize(at+1),this.emplace(at,a,h,A,x,E,P,D,F,V,q,X,rt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at){let ct=12*a;return this.int16[ct+0]=h,this.int16[ct+1]=A,this.int16[ct+2]=x,this.int16[ct+3]=E,this.uint16[ct+4]=P,this.uint16[ct+5]=D,this.uint16[ct+6]=F,this.uint16[ct+7]=V,this.int16[ct+8]=q,this.int16[ct+9]=X,this.int16[ct+10]=rt,this.int16[ct+11]=at,a}}lA.prototype.bytesPerElement=24,Ge(\"StructArrayLayout4i4ui4i24\",lA);class bi extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.float32[E+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}bi.prototype.bytesPerElement=12,Ge(\"StructArrayLayout3f12\",bi);class T extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint32[1*a+0]=h,a}}T.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1ul4\",T);class l extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V){let q=this.length;return this.resize(q+1),this.emplace(q,a,h,A,x,E,P,D,F,V)}emplace(a,h,A,x,E,P,D,F,V,q){let X=10*a,rt=5*a;return this.int16[X+0]=h,this.int16[X+1]=A,this.int16[X+2]=x,this.int16[X+3]=E,this.int16[X+4]=P,this.int16[X+5]=D,this.uint32[rt+3]=F,this.uint16[X+8]=V,this.uint16[X+9]=q,a}}l.prototype.bytesPerElement=20,Ge(\"StructArrayLayout6i1ul2ui20\",l);class d extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}d.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i2i2i12\",d);class v extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E){let P=this.length;return this.resize(P+1),this.emplace(P,a,h,A,x,E)}emplace(a,h,A,x,E,P){let D=4*a,F=8*a;return this.float32[D+0]=h,this.float32[D+1]=A,this.float32[D+2]=x,this.int16[F+6]=E,this.int16[F+7]=P,a}}v.prototype.bytesPerElement=16,Ge(\"StructArrayLayout2f1f2i16\",v);class b extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=12*a,D=3*a;return this.uint8[P+0]=h,this.uint8[P+1]=A,this.float32[D+1]=x,this.float32[D+2]=E,a}}b.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2ub2f12\",b);class M extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[E+0]=h,this.uint16[E+1]=A,this.uint16[E+2]=x,a}}M.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3ui6\",M);class O extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt){let jt=this.length;return this.resize(jt+1),this.emplace(jt,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt){let Rt=24*a,Gt=12*a,Yt=48*a;return this.int16[Rt+0]=h,this.int16[Rt+1]=A,this.uint16[Rt+2]=x,this.uint16[Rt+3]=E,this.uint32[Gt+2]=P,this.uint32[Gt+3]=D,this.uint32[Gt+4]=F,this.uint16[Rt+10]=V,this.uint16[Rt+11]=q,this.uint16[Rt+12]=X,this.float32[Gt+7]=rt,this.float32[Gt+8]=at,this.uint8[Yt+36]=ct,this.uint8[Yt+37]=mt,this.uint8[Yt+38]=bt,this.uint32[Gt+10]=Pt,this.int16[Rt+22]=jt,a}}O.prototype.bytesPerElement=48,Ge(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",O);class B extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye){let Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye,Ie){let Ae=32*a,hr=16*a;return this.int16[Ae+0]=h,this.int16[Ae+1]=A,this.int16[Ae+2]=x,this.int16[Ae+3]=E,this.int16[Ae+4]=P,this.int16[Ae+5]=D,this.int16[Ae+6]=F,this.int16[Ae+7]=V,this.uint16[Ae+8]=q,this.uint16[Ae+9]=X,this.uint16[Ae+10]=rt,this.uint16[Ae+11]=at,this.uint16[Ae+12]=ct,this.uint16[Ae+13]=mt,this.uint16[Ae+14]=bt,this.uint16[Ae+15]=Pt,this.uint16[Ae+16]=jt,this.uint16[Ae+17]=Rt,this.uint16[Ae+18]=Gt,this.uint16[Ae+19]=Yt,this.uint16[Ae+20]=ce,this.uint16[Ae+21]=Ne,this.uint16[Ae+22]=ir,this.uint32[hr+12]=Fe,this.float32[hr+13]=Re,this.float32[hr+14]=Me,this.uint16[Ae+30]=Ye,this.uint16[Ae+31]=Ie,a}}B.prototype.bytesPerElement=64,Ge(\"StructArrayLayout8i15ui1ul2f2ui64\",B);class U extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.float32[1*a+0]=h,a}}U.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1f4\",U);class W extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[6*a+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}W.prototype.bytesPerElement=12,Ge(\"StructArrayLayout1ui2f12\",W);class Z extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=4*a;return this.uint32[2*a+0]=h,this.uint16[E+2]=A,this.uint16[E+3]=x,a}}Z.prototype.bytesPerElement=8,Ge(\"StructArrayLayout1ul2ui8\",Z);class $ extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.uint16[x+0]=h,this.uint16[x+1]=A,a}}$.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2ui4\",$);class st extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint16[1*a+0]=h,a}}st.prototype.bytesPerElement=2,Ge(\"StructArrayLayout1ui2\",st);class At extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.float32[P+0]=h,this.float32[P+1]=A,this.float32[P+2]=x,this.float32[P+3]=E,a}}At.prototype.bytesPerElement=16,Ge(\"StructArrayLayout4f16\",At);class pt extends mh{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new w(this.anchorPointX,this.anchorPointY)}}pt.prototype.size=20;class yt extends l{get(a){return new pt(this,a)}}Ge(\"CollisionBoxArray\",yt);class dt extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(a){this._structArray.uint8[this._pos1+37]=a}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(a){this._structArray.uint8[this._pos1+38]=a}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(a){this._structArray.uint32[this._pos4+10]=a}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}dt.prototype.size=48;class Ft extends O{get(a){return new dt(this,a)}}Ge(\"PlacedSymbolArray\",Ft);class Ht extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(a){this._structArray.uint32[this._pos4+12]=a}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ht.prototype.size=64;class St extends B{get(a){return new Ht(this,a)}}Ge(\"SymbolInstanceArray\",St);class Bt extends U{getoffsetX(a){return this.float32[1*a+0]}}Ge(\"GlyphOffsetArray\",Bt);class Qt extends gh{getx(a){return this.int16[3*a+0]}gety(a){return this.int16[3*a+1]}gettileUnitDistanceFromAnchor(a){return this.int16[3*a+2]}}Ge(\"SymbolLineVertexArray\",Qt);class $t extends mh{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}$t.prototype.size=12;class oe extends W{get(a){return new $t(this,a)}}Ge(\"TextAnchorOffsetArray\",oe);class pe extends mh{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}pe.prototype.size=8;class he extends Z{get(a){return new pe(this,a)}}Ge(\"FeatureIndexArray\",he);class be extends Es{}class Ze extends Es{}class Kr extends Es{}class Ee extends p0{}class pr extends Fd{}class tr extends Tf{}class Gi extends Ho{}class Jr extends lA{}class Vr extends bi{}class ei extends T{}class On extends d{}class tn extends b{}class Gs extends M{}class hs extends ${}let Bn=wn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:qo}=Bn;class jr{constructor(a=[]){this.segments=a}prepareSegment(a,h,A,x){let E=this.segments[this.segments.length-1];return a>jr.MAX_VERTEX_ARRAY_LENGTH&&Ke(`Max vertices per segment is ${jr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${a}`),(!E||E.vertexLength+a>jr.MAX_VERTEX_ARRAY_LENGTH||E.sortKey!==x)&&(E={vertexOffset:h.length,primitiveOffset:A.length,vertexLength:0,primitiveLength:0},x!==void 0&&(E.sortKey=x),this.segments.push(E)),E}get(){return this.segments}destroy(){for(let a of this.segments)for(let h in a.vaos)a.vaos[h].destroy()}static simpleSegment(a,h,A,x){return new jr([{vertexOffset:a,primitiveOffset:h,vertexLength:A,primitiveLength:x,vaos:{},sortKey:0}])}}function ql(u,a){return 256*(u=ut(Math.floor(u),0,255))+ut(Math.floor(a),0,255)}jr.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ge(\"SegmentVector\",jr);let Zl=wn([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var yu={exports:{}},vu={exports:{}};vu.exports=function(u,a){var h,A,x,E,P,D,F,V;for(A=u.length-(h=3&u.length),x=a,P=3432918353,D=461845907,V=0;V>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295)<<13|x>>>19))+((5*(x>>>16)&65535)<<16)&4294967295))+((58964+(E>>>16)&65535)<<16);switch(F=0,h){case 3:F^=(255&u.charCodeAt(V+2))<<16;case 2:F^=(255&u.charCodeAt(V+1))<<8;case 1:x^=F=(65535&(F=(F=(65535&(F^=255&u.charCodeAt(V)))*P+(((F>>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295}return x^=u.length,x=2246822507*(65535&(x^=x>>>16))+((2246822507*(x>>>16)&65535)<<16)&4294967295,x=3266489909*(65535&(x^=x>>>13))+((3266489909*(x>>>16)&65535)<<16)&4294967295,(x^=x>>>16)>>>0};var _h=vu.exports,Ws={exports:{}};Ws.exports=function(u,a){for(var h,A=u.length,x=a^A,E=0;A>=4;)h=1540483477*(65535&(h=255&u.charCodeAt(E)|(255&u.charCodeAt(++E))<<8|(255&u.charCodeAt(++E))<<16|(255&u.charCodeAt(++E))<<24))+((1540483477*(h>>>16)&65535)<<16),x=1540483477*(65535&x)+((1540483477*(x>>>16)&65535)<<16)^(h=1540483477*(65535&(h^=h>>>24))+((1540483477*(h>>>16)&65535)<<16)),A-=4,++E;switch(A){case 3:x^=(255&u.charCodeAt(E+2))<<16;case 2:x^=(255&u.charCodeAt(E+1))<<8;case 1:x=1540483477*(65535&(x^=255&u.charCodeAt(E)))+((1540483477*(x>>>16)&65535)<<16)}return x=1540483477*(65535&(x^=x>>>13))+((1540483477*(x>>>16)&65535)<<16),(x^=x>>>15)>>>0};var Ps=_h,Eo=Ws.exports;yu.exports=Ps,yu.exports.murmur3=Ps,yu.exports.murmur2=Eo;var yh=c(yu.exports);class Fn{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(a,h,A,x){this.ids.push(fs(a)),this.positions.push(h,A,x)}getPositions(a){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let h=fs(a),A=0,x=this.ids.length-1;for(;A>1;this.ids[P]>=h?x=P:A=P+1}let E=[];for(;this.ids[A]===h;)E.push({index:this.positions[3*A],start:this.positions[3*A+1],end:this.positions[3*A+2]}),A++;return E}static serialize(a,h){let A=new Float64Array(a.ids),x=new Uint32Array(a.positions);return Zo(A,x,0,A.length-1),h&&h.push(A.buffer,x.buffer),{ids:A,positions:x}}static deserialize(a){let h=new Fn;return h.ids=a.ids,h.positions=a.positions,h.indexed=!0,h}}function fs(u){let a=+u;return!isNaN(a)&&a<=Number.MAX_SAFE_INTEGER?a:yh(String(u))}function Zo(u,a,h,A){for(;h>1],E=h-1,P=A+1;for(;;){do E++;while(u[E]x);if(E>=P)break;_n(u,E,P),_n(a,3*E,3*P),_n(a,3*E+1,3*P+1),_n(a,3*E+2,3*P+2)}P-h`u_${x}`),this.type=A}setUniform(a,h,A){a.set(A.constantOr(this.value))}getBinding(a,h,A){return this.type===\"color\"?new S_(a,h):new Gr(a,h)}}class Yo{constructor(a,h){this.uniformNames=h.map(A=>`u_${A}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(a,h){this.pixelRatioFrom=h.pixelRatio,this.pixelRatioTo=a.pixelRatio,this.patternFrom=h.tlbr,this.patternTo=a.tlbr}setUniform(a,h,A,x){let E=x===\"u_pattern_to\"?this.patternTo:x===\"u_pattern_from\"?this.patternFrom:x===\"u_pixel_ratio_to\"?this.pixelRatioTo:x===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;E&&a.set(E)}getBinding(a,h,A){return A.substr(0,9)===\"u_pattern\"?new Ua(a,h):new Gr(a,h)}}class me{constructor(a,h,A,x){this.expression=a,this.type=A,this.maxValue=0,this.paintVertexAttributes=h.map(E=>({name:`a_${E}`,type:\"Float32\",components:A===\"color\"?2:1,offset:0})),this.paintVertexArray=new x}populatePaintArray(a,h,A,x,E){let P=this.paintVertexArray.length,D=this.expression.evaluate(new un(0),h,{},x,[],E);this.paintVertexArray.resize(a),this._setPaintValue(P,a,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:0},A,x);this._setPaintValue(a,h,E)}_setPaintValue(a,h,A){if(this.type===\"color\"){let x=cA(A);for(let E=a;E`u_${D}_t`),this.type=A,this.useIntegerZoom=x,this.zoom=E,this.maxValue=0,this.paintVertexAttributes=h.map(D=>({name:`a_${D}`,type:\"Float32\",components:A===\"color\"?4:2,offset:0})),this.paintVertexArray=new P}populatePaintArray(a,h,A,x,E){let P=this.expression.evaluate(new un(this.zoom),h,{},x,[],E),D=this.expression.evaluate(new un(this.zoom+1),h,{},x,[],E),F=this.paintVertexArray.length;this.paintVertexArray.resize(a),this._setPaintValue(F,a,P,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:this.zoom},A,x),P=this.expression.evaluate({zoom:this.zoom+1},A,x);this._setPaintValue(a,h,E,P)}_setPaintValue(a,h,A,x){if(this.type===\"color\"){let E=cA(A),P=cA(x);for(let D=a;D`#define HAS_UNIFORM_${x}`))}return a}getBinderAttributes(){let a=[];for(let h in this.binders){let A=this.binders[h];if(A instanceof me||A instanceof ke)for(let x=0;x!0){this.programConfigurations={};for(let x of a)this.programConfigurations[x.id]=new Mf(x,h,A);this.needsUpload=!1,this._featureMap=new Fn,this._bufferOffset=0}populatePaintArrays(a,h,A,x,E,P){for(let D in this.programConfigurations)this.programConfigurations[D].populatePaintArrays(a,h,x,E,P);h.id!==void 0&&this._featureMap.add(h.id,A,this._bufferOffset,a),this._bufferOffset=a,this.needsUpload=!0}updatePaintArrays(a,h,A,x){for(let E of A)this.needsUpload=this.programConfigurations[E.id].updatePaintArrays(a,this._featureMap,h,E,x)||this.needsUpload}get(a){return this.programConfigurations[a]}upload(a){if(this.needsUpload){for(let h in this.programConfigurations)this.programConfigurations[h].upload(a);this.needsUpload=!1}}destroy(){for(let a in this.programConfigurations)this.programConfigurations[a].destroy()}}function Fc(u,a){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[u]||[u.replace(`${a}-`,\"\").replace(/-/g,\"_\")]}function Ux(u,a,h){let A={color:{source:Tf,composite:At},number:{source:U,composite:Tf}},x=function(E){return{\"line-pattern\":{source:Gi,composite:Gi},\"fill-pattern\":{source:Gi,composite:Gi},\"fill-extrusion-pattern\":{source:Gi,composite:Gi}}[E]}(u);return x&&x[h]||A[a][h]}Ge(\"ConstantBinder\",Yl),Ge(\"CrossFadedConstantBinder\",Yo),Ge(\"SourceExpressionBinder\",me),Ge(\"CrossFadedCompositeBinder\",ml),Ge(\"CompositeExpressionBinder\",ke),Ge(\"ProgramConfiguration\",Mf,{omit:[\"_buffers\"]}),Ge(\"ProgramConfigurationSet\",Va);let en=8192,p=Math.pow(2,14)-1,m=-p-1;function y(u){let a=en/u.extent,h=u.loadGeometry();for(let A=0;AP.x+1||FP.y+1)&&Ke(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return h}function S(u,a){return{type:u.type,id:u.id,properties:u.properties,geometry:a?y(u):[]}}function C(u,a,h,A,x){u.emplaceBack(2*a+(A+1)/2,2*h+(x+1)/2)}class k{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ze,this.indexArray=new Gs,this.segments=new jr,this.programConfigurations=new Va(a.layers,a.zoom),this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){let x=this.layers[0],E=[],P=null,D=!1;x.type===\"circle\"&&(P=x.layout.get(\"circle-sort-key\"),D=!P.isConstant());for(let{feature:F,id:V,index:q,sourceLayerIndex:X}of a){let rt=this.layers[0]._featureFilter.needGeometry,at=S(F,rt);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),at,A))continue;let ct=D?P.evaluate(at,{},A):void 0,mt={id:V,properties:F.properties,type:F.type,sourceLayerIndex:X,index:q,geometry:rt?at.geometry:y(F),patterns:{},sortKey:ct};E.push(mt)}D&&E.sort((F,V)=>F.sortKey-V.sortKey);for(let F of E){let{geometry:V,index:q,sourceLayerIndex:X}=F,rt=a[q].feature;this.addFeature(F,V,q,A),h.featureIndex.insert(rt,V,q,X,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qo),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(a,h,A,x){for(let E of h)for(let P of E){let D=P.x,F=P.y;if(D<0||D>=en||F<0||F>=en)continue;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,a.sortKey),q=V.vertexLength;C(this.layoutVertexArray,D,F,-1,-1),C(this.layoutVertexArray,D,F,1,-1),C(this.layoutVertexArray,D,F,1,1),C(this.layoutVertexArray,D,F,-1,1),this.indexArray.emplaceBack(q,q+1,q+2),this.indexArray.emplaceBack(q,q+3,q+2),V.vertexLength+=4,V.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{},x)}}function L(u,a){for(let h=0;h1){if(ot(u,a))return!0;for(let A=0;A1?h:h.sub(a)._mult(x)._add(a))}function re(u,a){let h,A,x,E=!1;for(let P=0;Pa.y!=x.y>a.y&&a.x<(x.x-A.x)*(a.y-A.y)/(x.y-A.y)+A.x&&(E=!E)}return E}function ne(u,a){let h=!1;for(let A=0,x=u.length-1;Aa.y!=P.y>a.y&&a.x<(P.x-E.x)*(a.y-E.y)/(P.y-E.y)+E.x&&(h=!h)}return h}function Le(u,a,h){let A=h[0],x=h[2];if(u.xx.x&&a.x>x.x||u.yx.y&&a.y>x.y)return!1;let E=rr(u,a,h[0]);return E!==rr(u,a,h[1])||E!==rr(u,a,h[2])||E!==rr(u,a,h[3])}function We(u,a,h){let A=a.paint.get(u).value;return A.kind===\"constant\"?A.value:h.programConfigurations.get(a.id).getMaxValue(u)}function te(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function _e(u,a,h,A,x){if(!a[0]&&!a[1])return u;let E=w.convert(a)._mult(x);h===\"viewport\"&&E._rotate(-A);let P=[];for(let D=0;Dyn(bt,mt))}(V,F),at=X?q*D:q;for(let ct of x)for(let mt of ct){let bt=X?mt:yn(mt,F),Pt=at,jt=Pi([],[mt.x,mt.y,0,1],F);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Pt*=jt[3]/P.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Pt*=P.cameraToCenterDistance/jt[3]),z(rt,bt,Pt))return!0}return!1}}function yn(u,a){let h=Pi([],[u.x,u.y,0,1],a);return new w(h[0]/h[3],h[1]/h[3])}class Or extends k{}let zF;Ge(\"HeatmapBucket\",Or,{omit:[\"layers\"]});var VX={get paint(){return zF=zF||new Hn({\"heatmap-radius\":new dr(ee.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new dr(ee.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new nr(ee.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Bd(ee.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new nr(ee.paint_heatmap[\"heatmap-opacity\"])})}};function fC(u,{width:a,height:h},A,x){if(x){if(x instanceof Uint8ClampedArray)x=new Uint8Array(x.buffer);else if(x.length!==a*h*A)throw new RangeError(`mismatched image size. expected: ${x.length} but got: ${a*h*A}`)}else x=new Uint8Array(a*h*A);return u.width=a,u.height=h,u.data=x,u}function NF(u,{width:a,height:h},A){if(a===u.width&&h===u.height)return;let x=fC({},{width:a,height:h},A);dC(u,x,{x:0,y:0},{x:0,y:0},{width:Math.min(u.width,a),height:Math.min(u.height,h)},A),u.width=a,u.height=h,u.data=x.data}function dC(u,a,h,A,x,E){if(x.width===0||x.height===0)return a;if(x.width>u.width||x.height>u.height||h.x>u.width-x.width||h.y>u.height-x.height)throw new RangeError(\"out of range source coordinates for image copy\");if(x.width>a.width||x.height>a.height||A.x>a.width-x.width||A.y>a.height-x.height)throw new RangeError(\"out of range destination coordinates for image copy\");let P=u.data,D=a.data;if(P===D)throw new Error(\"srcData equals dstData, so image is already copied\");for(let F=0;F{a[u.evaluationKey]=F;let V=u.expression.evaluate(a);x.data[P+D+0]=Math.floor(255*V.r/V.a),x.data[P+D+1]=Math.floor(255*V.g/V.a),x.data[P+D+2]=Math.floor(255*V.b/V.a),x.data[P+D+3]=Math.floor(255*V.a)};if(u.clips)for(let P=0,D=0;P80*h){A=E=u[0],x=P=u[1];for(var ct=h;ctE&&(E=D),F>P&&(P=F);V=(V=Math.max(E-A,P-x))!==0?32767/V:0}return jx(rt,at,h,A,x,V,0),at}function jF(u,a,h,A,x){var E,P;if(x===gC(u,a,h,A)>0)for(E=a;E=a;E-=A)P=HF(E,u[E],u[E+1],P);return P&&JS(P,P.next)&&(Wx(P),P=P.next),P}function A0(u,a){if(!u)return u;a||(a=u);var h,A=u;do if(h=!1,A.steiner||!JS(A,A.next)&&ds(A.prev,A,A.next)!==0)A=A.next;else{if(Wx(A),(A=a=A.prev)===A.next)break;h=!0}while(h||A!==a);return a}function jx(u,a,h,A,x,E,P){if(u){!P&&E&&function(q,X,rt,at){var ct=q;do ct.z===0&&(ct.z=AC(ct.x,ct.y,X,rt,at)),ct.prevZ=ct.prev,ct.nextZ=ct.next,ct=ct.next;while(ct!==q);ct.prevZ.nextZ=null,ct.prevZ=null,function(mt){var bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir=1;do{for(Pt=mt,mt=null,Gt=null,Yt=0;Pt;){for(Yt++,jt=Pt,ce=0,bt=0;bt0||Ne>0&&jt;)ce!==0&&(Ne===0||!jt||Pt.z<=jt.z)?(Rt=Pt,Pt=Pt.nextZ,ce--):(Rt=jt,jt=jt.nextZ,Ne--),Gt?Gt.nextZ=Rt:mt=Rt,Rt.prevZ=Gt,Gt=Rt;Pt=jt}Gt.nextZ=null,ir*=2}while(Yt>1)}(ct)}(u,A,x,E);for(var D,F,V=u;u.prev!==u.next;)if(D=u.prev,F=u.next,E?YX(u,A,x,E):ZX(u))a.push(D.i/h|0),a.push(u.i/h|0),a.push(F.i/h|0),Wx(u),u=F.next,V=F.next;else if((u=F)===V){P?P===1?jx(u=QX(A0(u),a,h),a,h,A,x,E,2):P===2&&$X(u,a,h,A,x,E):jx(A0(u),a,h,A,x,E,1);break}}}function ZX(u){var a=u.prev,h=u,A=u.next;if(ds(a,h,A)>=0)return!1;for(var x=a.x,E=h.x,P=A.x,D=a.y,F=h.y,V=A.y,q=xE?x>P?x:P:E>P?E:P,at=D>F?D>V?D:V:F>V?F:V,ct=A.next;ct!==a;){if(ct.x>=q&&ct.x<=rt&&ct.y>=X&&ct.y<=at&&T_(x,D,E,F,P,V,ct.x,ct.y)&&ds(ct.prev,ct,ct.next)>=0)return!1;ct=ct.next}return!0}function YX(u,a,h,A){var x=u.prev,E=u,P=u.next;if(ds(x,E,P)>=0)return!1;for(var D=x.x,F=E.x,V=P.x,q=x.y,X=E.y,rt=P.y,at=DF?D>V?D:V:F>V?F:V,bt=q>X?q>rt?q:rt:X>rt?X:rt,Pt=AC(at,ct,a,h,A),jt=AC(mt,bt,a,h,A),Rt=u.prevZ,Gt=u.nextZ;Rt&&Rt.z>=Pt&&Gt&&Gt.z<=jt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0||(Rt=Rt.prevZ,Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0))return!1;Gt=Gt.nextZ}for(;Rt&&Rt.z>=Pt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0)return!1;Rt=Rt.prevZ}for(;Gt&&Gt.z<=jt;){if(Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0)return!1;Gt=Gt.nextZ}return!0}function QX(u,a,h){var A=u;do{var x=A.prev,E=A.next.next;!JS(x,E)&&GF(x,A,A.next,E)&&Gx(x,E)&&Gx(E,x)&&(a.push(x.i/h|0),a.push(A.i/h|0),a.push(E.i/h|0),Wx(A),Wx(A.next),A=u=E),A=A.next}while(A!==u);return A0(A)}function $X(u,a,h,A,x,E){var P=u;do{for(var D=P.next.next;D!==P.prev;){if(P.i!==D.i&&eK(P,D)){var F=WF(P,D);return P=A0(P,P.next),F=A0(F,F.next),jx(P,a,h,A,x,E,0),void jx(F,a,h,A,x,E,0)}D=D.next}P=P.next}while(P!==u)}function XX(u,a){return u.x-a.x}function KX(u,a){var h=function(x,E){var P,D=E,F=x.x,V=x.y,q=-1/0;do{if(V<=D.y&&V>=D.next.y&&D.next.y!==D.y){var X=D.x+(V-D.y)*(D.next.x-D.x)/(D.next.y-D.y);if(X<=F&&X>q&&(q=X,P=D.x=D.x&&D.x>=ct&&F!==D.x&&T_(VP.x||D.x===P.x&&JX(P,D)))&&(P=D,bt=rt)),D=D.next;while(D!==at);return P}(u,a);if(!h)return a;var A=WF(h,u);return A0(A,A.next),A0(h,h.next)}function JX(u,a){return ds(u.prev,u,a.prev)<0&&ds(a.next,u,u.next)<0}function AC(u,a,h,A,x){return(u=1431655765&((u=858993459&((u=252645135&((u=16711935&((u=(u-h)*x|0)|u<<8))|u<<4))|u<<2))|u<<1))|(a=1431655765&((a=858993459&((a=252645135&((a=16711935&((a=(a-A)*x|0)|a<<8))|a<<4))|a<<2))|a<<1))<<1}function tK(u){var a=u,h=u;do(a.x=(u-P)*(E-D)&&(u-P)*(A-D)>=(h-P)*(a-D)&&(h-P)*(E-D)>=(x-P)*(A-D)}function eK(u,a){return u.next.i!==a.i&&u.prev.i!==a.i&&!function(h,A){var x=h;do{if(x.i!==h.i&&x.next.i!==h.i&&x.i!==A.i&&x.next.i!==A.i&&GF(x,x.next,h,A))return!0;x=x.next}while(x!==h);return!1}(u,a)&&(Gx(u,a)&&Gx(a,u)&&function(h,A){var x=h,E=!1,P=(h.x+A.x)/2,D=(h.y+A.y)/2;do x.y>D!=x.next.y>D&&x.next.y!==x.y&&P<(x.next.x-x.x)*(D-x.y)/(x.next.y-x.y)+x.x&&(E=!E),x=x.next;while(x!==h);return E}(u,a)&&(ds(u.prev,u,a.prev)||ds(u,a.prev,a))||JS(u,a)&&ds(u.prev,u,u.next)>0&&ds(a.prev,a,a.next)>0)}function ds(u,a,h){return(a.y-u.y)*(h.x-a.x)-(a.x-u.x)*(h.y-a.y)}function JS(u,a){return u.x===a.x&&u.y===a.y}function GF(u,a,h,A){var x=eT(ds(u,a,h)),E=eT(ds(u,a,A)),P=eT(ds(h,A,u)),D=eT(ds(h,A,a));return x!==E&&P!==D||!(x!==0||!tT(u,h,a))||!(E!==0||!tT(u,A,a))||!(P!==0||!tT(h,u,A))||!(D!==0||!tT(h,a,A))}function tT(u,a,h){return a.x<=Math.max(u.x,h.x)&&a.x>=Math.min(u.x,h.x)&&a.y<=Math.max(u.y,h.y)&&a.y>=Math.min(u.y,h.y)}function eT(u){return u>0?1:u<0?-1:0}function Gx(u,a){return ds(u.prev,u,u.next)<0?ds(u,a,u.next)>=0&&ds(u,u.prev,a)>=0:ds(u,a,u.prev)<0||ds(u,u.next,a)<0}function WF(u,a){var h=new mC(u.i,u.x,u.y),A=new mC(a.i,a.x,a.y),x=u.next,E=a.prev;return u.next=a,a.prev=u,h.next=x,x.prev=h,A.next=h,h.prev=A,E.next=A,A.prev=E,A}function HF(u,a,h,A){var x=new mC(u,a,h);return A?(x.next=A.next,x.prev=A,A.next.prev=x,A.next=x):(x.prev=x,x.next=x),x}function Wx(u){u.next.prev=u.prev,u.prev.next=u.next,u.prevZ&&(u.prevZ.nextZ=u.nextZ),u.nextZ&&(u.nextZ.prevZ=u.prevZ)}function mC(u,a,h){this.i=u,this.x=a,this.y=h,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function gC(u,a,h,A){for(var x=0,E=a,P=h-A;E0&&h.holes.push(A+=u[x-1].length)}return h};var qF=c(pC.exports);function rK(u,a,h,A,x){ZF(u,a,h||0,A||u.length-1,x||iK)}function ZF(u,a,h,A,x){for(;A>h;){if(A-h>600){var E=A-h+1,P=a-h+1,D=Math.log(E),F=.5*Math.exp(2*D/3),V=.5*Math.sqrt(D*F*(E-F)/E)*(P-E/2<0?-1:1);ZF(u,a,Math.max(h,Math.floor(a-P*F/E+V)),Math.min(A,Math.floor(a+(E-P)*F/E+V)),x)}var q=u[a],X=h,rt=A;for(Hx(u,h,a),x(u[A],q)>0&&Hx(u,h,A);X0;)rt--}x(u[h],q)===0?Hx(u,h,rt):Hx(u,++rt,A),rt<=a&&(h=rt+1),a<=rt&&(A=rt-1)}}function Hx(u,a,h){var A=u[a];u[a]=u[h],u[h]=A}function iK(u,a){return ua?1:0}function _C(u,a){let h=u.length;if(h<=1)return[u];let A=[],x,E;for(let P=0;P1)for(let P=0;Ph.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kr,this.indexArray=new Gs,this.indexArray2=new hs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.segments2=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"fill\",this.layers,h);let x=this.layers[0].layout.get(\"fill-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A,h.availableImages):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"fill\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qX),this.indexBuffer=a.createIndexBuffer(this.indexArray),this.indexBuffer2=a.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(a,h,A,x,E){for(let P of _C(h,500)){let D=0;for(let at of P)D+=at.length;let F=this.segments.prepareSegment(D,this.layoutVertexArray,this.indexArray),V=F.vertexLength,q=[],X=[];for(let at of P){if(at.length===0)continue;at!==P[0]&&X.push(q.length/2);let ct=this.segments2.prepareSegment(at.length,this.layoutVertexArray,this.indexArray2),mt=ct.vertexLength;this.layoutVertexArray.emplaceBack(at[0].x,at[0].y),this.indexArray2.emplaceBack(mt+at.length-1,mt),q.push(at[0].x),q.push(at[0].y);for(let bt=1;bt>3}if(x--,A===1||A===2)E+=u.readSVarint(),P+=u.readSVarint(),A===1&&(a&&D.push(a),a=[]),a.push(new uK(E,P));else{if(A!==7)throw new Error(\"unknown command \"+A);a&&a.push(a[0].clone())}}return a&&D.push(a),D},M_.prototype.bbox=function(){var u=this._pbf;u.pos=this._geometry;for(var a=u.readVarint()+u.pos,h=1,A=0,x=0,E=0,P=1/0,D=-1/0,F=1/0,V=-1/0;u.pos>3}if(A--,h===1||h===2)(x+=u.readSVarint())D&&(D=x),(E+=u.readSVarint())V&&(V=E);else if(h!==7)throw new Error(\"unknown command \"+h)}return[P,F,D,V]},M_.prototype.toGeoJSON=function(u,a,h){var A,x,E=this.extent*Math.pow(2,h),P=this.extent*u,D=this.extent*a,F=this.loadGeometry(),V=M_.types[this.type];function q(at){for(var ct=0;ct>3;x=P===1?A.readString():P===2?A.readFloat():P===3?A.readDouble():P===4?A.readVarint64():P===5?A.readVarint():P===6?A.readSVarint():P===7?A.readBoolean():null}return x}(h))}KF.prototype.feature=function(u){if(u<0||u>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[u];var a=this._pbf.readVarint()+this._pbf.pos;return new dK(this._pbf,a,this.extent,this._keys,this._values)};var AK=XF;function mK(u,a,h){if(u===3){var A=new AK(h,h.readVarint()+h.pos);A.length&&(a[A.name]=A)}}uA.VectorTile=function(u,a){this.layers=u.readFields(mK,{},a)},uA.VectorTileFeature=$F,uA.VectorTileLayer=XF;let gK=uA.VectorTileFeature.types,bC=Math.pow(2,13);function qx(u,a,h,A,x,E,P,D){u.emplaceBack(a,h,2*Math.floor(A*bC)+P,x*bC*2,E*bC*2,Math.round(D))}class wC{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ee,this.centroidVertexArray=new be,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.features=[],this.hasPattern=yC(\"fill-extrusion\",this.layers,h);for(let{feature:x,id:E,index:P,sourceLayerIndex:D}of a){let F=this.layers[0]._featureFilter.needGeometry,V=S(x,F);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),V,A))continue;let q={id:E,sourceLayerIndex:D,index:P,geometry:F?V.geometry:y(x),properties:x.properties,type:x.type,patterns:{}};this.hasPattern?this.features.push(vC(\"fill-extrusion\",this.layers,q,this.zoom,h)):this.addFeature(q,q.geometry,P,A,{}),h.featureIndex.insert(x,q.geometry,P,D,this.index,!0)}}addFeatures(a,h,A){for(let x of this.features){let{geometry:E}=x;this.addFeature(x,E,x.index,h,A)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,cK),this.centroidVertexBuffer=a.createVertexBuffer(this.centroidVertexArray,lK.members,!0),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(a,h,A,x,E){let P={x:0,y:0,vertexCount:0};for(let D of _C(h,500)){let F=0;for(let ct of D)F+=ct.length;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ct of D){if(ct.length===0||yK(ct))continue;let mt=0;for(let bt=0;bt=1){let jt=ct[bt-1];if(!_K(Pt,jt)){V.vertexLength+4>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Rt=Pt.sub(jt)._perp()._unit(),Gt=jt.dist(Pt);mt+Gt>32768&&(mt=0),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*Pt.x,P.y+=2*Pt.y,P.vertexCount+=2,mt+=Gt,qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*jt.x,P.y+=2*jt.y,P.vertexCount+=2;let Yt=V.vertexLength;this.indexArray.emplaceBack(Yt,Yt+2,Yt+1),this.indexArray.emplaceBack(Yt+1,Yt+2,Yt+3),V.vertexLength+=4,V.primitiveLength+=2}}}}if(V.vertexLength+F>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(F,this.layoutVertexArray,this.indexArray)),gK[a.type]!==\"Polygon\")continue;let q=[],X=[],rt=V.vertexLength;for(let ct of D)if(ct.length!==0){ct!==D[0]&&X.push(q.length/2);for(let mt=0;mten)||u.y===a.y&&(u.y<0||u.y>en)}function yK(u){return u.every(a=>a.x<0)||u.every(a=>a.x>en)||u.every(a=>a.y<0)||u.every(a=>a.y>en)}let JF;Ge(\"FillExtrusionBucket\",wC,{omit:[\"layers\",\"features\"]});var vK={get paint(){return JF=JF||new Hn({\"fill-extrusion-opacity\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new wf(ee[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class xK extends ji{constructor(a){super(a,vK)}createBucket(a){return new wC(a)}queryRadius(){return te(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(a,h,A,x,E,P,D,F){let V=_e(a,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),P.angle,D),q=this.paint.get(\"fill-extrusion-height\").evaluate(h,A),X=this.paint.get(\"fill-extrusion-base\").evaluate(h,A),rt=function(ct,mt,bt,Pt){let jt=[];for(let Rt of ct){let Gt=[Rt.x,Rt.y,0,1];Pi(Gt,Gt,mt),jt.push(new w(Gt[0]/Gt[3],Gt[1]/Gt[3]))}return jt}(V,F),at=function(ct,mt,bt,Pt){let jt=[],Rt=[],Gt=Pt[8]*mt,Yt=Pt[9]*mt,ce=Pt[10]*mt,Ne=Pt[11]*mt,ir=Pt[8]*bt,Fe=Pt[9]*bt,Re=Pt[10]*bt,Me=Pt[11]*bt;for(let Ye of ct){let Ie=[],Ae=[];for(let hr of Ye){let sr=hr.x,ri=hr.y,Tn=Pt[0]*sr+Pt[4]*ri+Pt[12],Rn=Pt[1]*sr+Pt[5]*ri+Pt[13],qs=Pt[2]*sr+Pt[6]*ri+Pt[14],Ql=Pt[3]*sr+Pt[7]*ri+Pt[15],ja=qs+ce,Is=Ql+Ne,Po=Tn+ir,$o=Rn+Fe,Ga=qs+Re,Wa=Ql+Me,Zs=new w((Tn+Gt)/Is,(Rn+Yt)/Is);Zs.z=ja/Is,Ie.push(Zs);let Ys=new w(Po/Wa,$o/Wa);Ys.z=Ga/Wa,Ae.push(Ys)}jt.push(Ie),Rt.push(Ae)}return[jt,Rt]}(x,X,q,F);return function(ct,mt,bt){let Pt=1/0;H(bt,mt)&&(Pt=t6(bt,mt[0]));for(let jt=0;jth.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(h=>{this.gradients[h.id]={}}),this.layoutVertexArray=new pr,this.layoutVertexArray2=new tr,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"line\",this.layers,h);let x=this.layers[0].layout.get(\"line-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"line\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=a.createVertexBuffer(this.layoutVertexArray2,TK)),this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,wK),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(a){if(a.properties&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_end\"))return{start:+a.properties.mapbox_clip_start,end:+a.properties.mapbox_clip_end}}addFeature(a,h,A,x,E){let P=this.layers[0].layout,D=P.get(\"line-join\").evaluate(a,{}),F=P.get(\"line-cap\"),V=P.get(\"line-miter-limit\"),q=P.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(a);for(let X of h)this.addLine(X,a,D,F,V,q);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,E,x)}addLine(a,h,A,x,E,P){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Pt=0;Pt=2&&a[F-1].equals(a[F-2]);)F--;let V=0;for(;V0;if(Ne&&Pt>V){let Me=rt.dist(at);if(Me>2*q){let Ye=rt.sub(rt.sub(at)._mult(q/Me)._round());this.updateDistance(at,Ye),this.addCurrentVertex(Ye,mt,0,0,X),at=Ye}}let Fe=at&&ct,Re=Fe?A:D?\"butt\":x;if(Fe&&Re===\"round\"&&(YtE&&(Re=\"bevel\"),Re===\"bevel\"&&(Yt>2&&(Re=\"flipbevel\"),Yt100)jt=bt.mult(-1);else{let Me=Yt*mt.add(bt).mag()/mt.sub(bt).mag();jt._perp()._mult(Me*(ir?-1:1))}this.addCurrentVertex(rt,jt,0,0,X),this.addCurrentVertex(rt,jt.mult(-1),0,0,X)}else if(Re===\"bevel\"||Re===\"fakeround\"){let Me=-Math.sqrt(Yt*Yt-1),Ye=ir?Me:0,Ie=ir?0:Me;if(at&&this.addCurrentVertex(rt,mt,Ye,Ie,X),Re===\"fakeround\"){let Ae=Math.round(180*ce/Math.PI/20);for(let hr=1;hr2*q){let Ye=rt.add(ct.sub(rt)._mult(q/Me)._round());this.updateDistance(rt,Ye),this.addCurrentVertex(Ye,bt,0,0,X),rt=Ye}}}}addCurrentVertex(a,h,A,x,E,P=!1){let D=h.y*x-h.x,F=-h.y-h.x*x;this.addHalfVertex(a,h.x+h.y*A,h.y-h.x*A,P,!1,A,E),this.addHalfVertex(a,D,F,P,!0,-x,E),this.distance>e6/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(a,h,A,x,E,P))}addHalfVertex({x:a,y:h},A,x,E,P,D,F){let V=.5*(this.lineClips?this.scaledDistance*(e6-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((a<<1)+(E?1:0),(h<<1)+(P?1:0),Math.round(63*A)+128,Math.round(63*x)+128,1+(D===0?0:D<0?-1:1)|(63&V)<<2,V>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let q=F.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,q),F.primitiveLength++),P?this.e2=q:this.e1=q}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(a,h){this.distance+=a.dist(h),this.updateScaledDistance()}}let r6,i6;Ge(\"LineBucket\",SC,{omit:[\"layers\",\"patternFeatures\"]});var n6={get paint(){return i6=i6||new Hn({\"line-opacity\":new dr(ee.paint_line[\"line-opacity\"]),\"line-color\":new dr(ee.paint_line[\"line-color\"]),\"line-translate\":new nr(ee.paint_line[\"line-translate\"]),\"line-translate-anchor\":new nr(ee.paint_line[\"line-translate-anchor\"]),\"line-width\":new dr(ee.paint_line[\"line-width\"]),\"line-gap-width\":new dr(ee.paint_line[\"line-gap-width\"]),\"line-offset\":new dr(ee.paint_line[\"line-offset\"]),\"line-blur\":new dr(ee.paint_line[\"line-blur\"]),\"line-dasharray\":new aA(ee.paint_line[\"line-dasharray\"]),\"line-pattern\":new wf(ee.paint_line[\"line-pattern\"]),\"line-gradient\":new Bd(ee.paint_line[\"line-gradient\"])})},get layout(){return r6=r6||new Hn({\"line-cap\":new nr(ee.layout_line[\"line-cap\"]),\"line-join\":new dr(ee.layout_line[\"line-join\"]),\"line-miter-limit\":new nr(ee.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new nr(ee.layout_line[\"line-round-limit\"]),\"line-sort-key\":new dr(ee.layout_line[\"line-sort-key\"])})}};class PK extends dr{possiblyEvaluate(a,h){return h=new un(Math.floor(h.zoom),{now:h.now,fadeDuration:h.fadeDuration,zoomHistory:h.zoomHistory,transition:h.transition}),super.possiblyEvaluate(a,h)}evaluate(a,h,A,x){return h=kt({},h,{zoom:Math.floor(h.zoom)}),super.evaluate(a,h,A,x)}}let rT;class IK extends ji{constructor(a){super(a,n6),this.gradientVersion=0,rT||(rT=new PK(n6.paint.properties[\"line-width\"].specification),rT.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(a){if(a===\"line-gradient\"){let h=this.gradientExpression();this.stepInterpolant=!!function(A){return A._styleExpression!==void 0}(h)&&h._styleExpression.expression instanceof sh,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(a,h){super.recalculate(a,h),this.paint._values[\"line-floorwidth\"]=rT.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,a)}createBucket(a){return new SC(a)}queryRadius(a){let h=a,A=s6(We(\"line-width\",this,h),We(\"line-gap-width\",this,h)),x=We(\"line-offset\",this,h);return A/2+Math.abs(x)+te(this.paint.get(\"line-translate\"))}queryIntersectsFeature(a,h,A,x,E,P,D){let F=_e(a,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),P.angle,D),V=D/2*s6(this.paint.get(\"line-width\").evaluate(h,A),this.paint.get(\"line-gap-width\").evaluate(h,A)),q=this.paint.get(\"line-offset\").evaluate(h,A);return q&&(x=function(X,rt){let at=[];for(let ct=0;ct=3){for(let bt=0;bt0?a+2*u:u}let CK=wn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),LK=wn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);wn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let kK=wn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);wn([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let o6=wn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),RK=wn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function DK(u,a,h){return u.sections.forEach(A=>{A.text=function(x,E,P){let D=E.layout.get(\"text-transform\").evaluate(P,{});return D===\"uppercase\"?x=x.toLocaleUpperCase():D===\"lowercase\"&&(x=x.toLocaleLowerCase()),ua.applyArabicShaping&&(x=ua.applyArabicShaping(x)),x}(A.text,a,h)}),u}wn([{name:\"triangle\",components:3,type:\"Uint16\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),wn([{type:\"Float32\",name:\"offsetX\"}]),wn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),wn([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Yx={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var Hs=24,a6=rn,l6=function(u,a,h,A,x){var E,P,D=8*x-A-1,F=(1<>1,q=-7,X=h?x-1:0,rt=h?-1:1,at=u[a+X];for(X+=rt,E=at&(1<<-q)-1,at>>=-q,q+=D;q>0;E=256*E+u[a+X],X+=rt,q-=8);for(P=E&(1<<-q)-1,E>>=-q,q+=A;q>0;P=256*P+u[a+X],X+=rt,q-=8);if(E===0)E=1-V;else{if(E===F)return P?NaN:1/0*(at?-1:1);P+=Math.pow(2,A),E-=V}return(at?-1:1)*P*Math.pow(2,E-A)},c6=function(u,a,h,A,x,E){var P,D,F,V=8*E-x-1,q=(1<>1,rt=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,at=A?0:E-1,ct=A?1:-1,mt=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(D=isNaN(a)?1:0,P=q):(P=Math.floor(Math.log(a)/Math.LN2),a*(F=Math.pow(2,-P))<1&&(P--,F*=2),(a+=P+X>=1?rt/F:rt*Math.pow(2,1-X))*F>=2&&(P++,F/=2),P+X>=q?(D=0,P=q):P+X>=1?(D=(a*F-1)*Math.pow(2,x),P+=X):(D=a*Math.pow(2,X-1)*Math.pow(2,x),P=0));x>=8;u[h+at]=255&D,at+=ct,D/=256,x-=8);for(P=P<0;u[h+at]=255&P,at+=ct,P/=256,V-=8);u[h+at-ct]|=128*mt};function rn(u){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(u)?u:new Uint8Array(u||0),this.pos=0,this.type=0,this.length=this.buf.length}rn.Varint=0,rn.Fixed64=1,rn.Bytes=2,rn.Fixed32=5;var TC=4294967296,u6=1/TC,h6=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");function Nd(u){return u.type===rn.Bytes?u.readVarint()+u.pos:u.pos+1}function E_(u,a,h){return h?4294967296*a+(u>>>0):4294967296*(a>>>0)+(u>>>0)}function f6(u,a,h){var A=a<=16383?1:a<=2097151?2:a<=268435455?3:Math.floor(Math.log(a)/(7*Math.LN2));h.realloc(A);for(var x=h.pos-1;x>=u;x--)h.buf[x+A]=h.buf[x]}function OK(u,a){for(var h=0;h>>8,u[h+2]=a>>>16,u[h+3]=a>>>24}function d6(u,a){return(u[a]|u[a+1]<<8|u[a+2]<<16)+(u[a+3]<<24)}rn.prototype={destroy:function(){this.buf=null},readFields:function(u,a,h){for(h=h||this.length;this.pos>3,E=this.pos;this.type=7&A,u(x,a,this),this.pos===E&&this.skip(A)}return a},readMessage:function(u,a){return this.readFields(u,a,this.readVarint()+this.pos)},readFixed32:function(){var u=iT(this.buf,this.pos);return this.pos+=4,u},readSFixed32:function(){var u=d6(this.buf,this.pos);return this.pos+=4,u},readFixed64:function(){var u=iT(this.buf,this.pos)+iT(this.buf,this.pos+4)*TC;return this.pos+=8,u},readSFixed64:function(){var u=iT(this.buf,this.pos)+d6(this.buf,this.pos+4)*TC;return this.pos+=8,u},readFloat:function(){var u=l6(this.buf,this.pos,!0,23,4);return this.pos+=4,u},readDouble:function(){var u=l6(this.buf,this.pos,!0,52,8);return this.pos+=8,u},readVarint:function(u){var a,h,A=this.buf;return a=127&(h=A[this.pos++]),h<128?a:(a|=(127&(h=A[this.pos++]))<<7,h<128?a:(a|=(127&(h=A[this.pos++]))<<14,h<128?a:(a|=(127&(h=A[this.pos++]))<<21,h<128?a:function(x,E,P){var D,F,V=P.buf;if(D=(112&(F=V[P.pos++]))>>4,F<128||(D|=(127&(F=V[P.pos++]))<<3,F<128)||(D|=(127&(F=V[P.pos++]))<<10,F<128)||(D|=(127&(F=V[P.pos++]))<<17,F<128)||(D|=(127&(F=V[P.pos++]))<<24,F<128)||(D|=(1&(F=V[P.pos++]))<<31,F<128))return E_(x,D,E);throw new Error(\"Expected varint not more than 10 bytes\")}(a|=(15&(h=A[this.pos]))<<28,u,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var u=this.readVarint();return u%2==1?(u+1)/-2:u/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var u=this.readVarint()+this.pos,a=this.pos;return this.pos=u,u-a>=12&&h6?function(h,A,x){return h6.decode(h.subarray(A,x))}(this.buf,a,u):function(h,A,x){for(var E=\"\",P=A;P239?4:q>223?3:q>191?2:1;if(P+rt>x)break;rt===1?q<128&&(X=q):rt===2?(192&(D=h[P+1]))==128&&(X=(31&q)<<6|63&D)<=127&&(X=null):rt===3?(F=h[P+2],(192&(D=h[P+1]))==128&&(192&F)==128&&((X=(15&q)<<12|(63&D)<<6|63&F)<=2047||X>=55296&&X<=57343)&&(X=null)):rt===4&&(F=h[P+2],V=h[P+3],(192&(D=h[P+1]))==128&&(192&F)==128&&(192&V)==128&&((X=(15&q)<<18|(63&D)<<12|(63&F)<<6|63&V)<=65535||X>=1114112)&&(X=null)),X===null?(X=65533,rt=1):X>65535&&(X-=65536,E+=String.fromCharCode(X>>>10&1023|55296),X=56320|1023&X),E+=String.fromCharCode(X),P+=rt}return E}(this.buf,a,u)},readBytes:function(){var u=this.readVarint()+this.pos,a=this.buf.subarray(this.pos,u);return this.pos=u,a},readPackedVarint:function(u,a){if(this.type!==rn.Bytes)return u.push(this.readVarint(a));var h=Nd(this);for(u=u||[];this.pos127;);else if(a===rn.Bytes)this.pos=this.readVarint()+this.pos;else if(a===rn.Fixed32)this.pos+=4;else{if(a!==rn.Fixed64)throw new Error(\"Unimplemented type: \"+a);this.pos+=8}},writeTag:function(u,a){this.writeVarint(u<<3|a)},realloc:function(u){for(var a=this.length||16;a268435455||u<0?function(a,h){var A,x;if(a>=0?(A=a%4294967296|0,x=a/4294967296|0):(x=~(-a/4294967296),4294967295^(A=~(-a%4294967296))?A=A+1|0:(A=0,x=x+1|0)),a>=18446744073709552e3||a<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");h.realloc(10),function(E,P,D){D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,D.buf[D.pos]=127&(E>>>=7)}(A,0,h),function(E,P){var D=(7&E)<<4;P.buf[P.pos++]|=D|((E>>>=3)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E)))))}(x,h)}(u,this):(this.realloc(4),this.buf[this.pos++]=127&u|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=u>>>7&127))))},writeSVarint:function(u){this.writeVarint(u<0?2*-u-1:2*u)},writeBoolean:function(u){this.writeVarint(!!u)},writeString:function(u){u=String(u),this.realloc(4*u.length),this.pos++;var a=this.pos;this.pos=function(A,x,E){for(var P,D,F=0;F55295&&P<57344){if(!D){P>56319||F+1===x.length?(A[E++]=239,A[E++]=191,A[E++]=189):D=P;continue}if(P<56320){A[E++]=239,A[E++]=191,A[E++]=189,D=P;continue}P=D-55296<<10|P-56320|65536,D=null}else D&&(A[E++]=239,A[E++]=191,A[E++]=189,D=null);P<128?A[E++]=P:(P<2048?A[E++]=P>>6|192:(P<65536?A[E++]=P>>12|224:(A[E++]=P>>18|240,A[E++]=P>>12&63|128),A[E++]=P>>6&63|128),A[E++]=63&P|128)}return E}(this.buf,u,this.pos);var h=this.pos-a;h>=128&&f6(a,h,this),this.pos=a-1,this.writeVarint(h),this.pos+=h},writeFloat:function(u){this.realloc(4),c6(this.buf,u,this.pos,!0,23,4),this.pos+=4},writeDouble:function(u){this.realloc(8),c6(this.buf,u,this.pos,!0,52,8),this.pos+=8},writeBytes:function(u){var a=u.length;this.writeVarint(a),this.realloc(a);for(var h=0;h=128&&f6(h,A,this),this.pos=h-1,this.writeVarint(A),this.pos+=A},writeMessage:function(u,a,h){this.writeTag(u,rn.Bytes),this.writeRawMessage(a,h)},writePackedVarint:function(u,a){a.length&&this.writeMessage(u,OK,a)},writePackedSVarint:function(u,a){a.length&&this.writeMessage(u,BK,a)},writePackedBoolean:function(u,a){a.length&&this.writeMessage(u,NK,a)},writePackedFloat:function(u,a){a.length&&this.writeMessage(u,FK,a)},writePackedDouble:function(u,a){a.length&&this.writeMessage(u,zK,a)},writePackedFixed32:function(u,a){a.length&&this.writeMessage(u,UK,a)},writePackedSFixed32:function(u,a){a.length&&this.writeMessage(u,VK,a)},writePackedFixed64:function(u,a){a.length&&this.writeMessage(u,jK,a)},writePackedSFixed64:function(u,a){a.length&&this.writeMessage(u,GK,a)},writeBytesField:function(u,a){this.writeTag(u,rn.Bytes),this.writeBytes(a)},writeFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFixed32(a)},writeSFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeSFixed32(a)},writeFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeFixed64(a)},writeSFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeSFixed64(a)},writeVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeVarint(a)},writeSVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeSVarint(a)},writeStringField:function(u,a){this.writeTag(u,rn.Bytes),this.writeString(a)},writeFloatField:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFloat(a)},writeDoubleField:function(u,a){this.writeTag(u,rn.Fixed64),this.writeDouble(a)},writeBooleanField:function(u,a){this.writeVarintField(u,!!a)}};var MC=c(a6);let EC=3;function WK(u,a,h){u===1&&h.readMessage(HK,a)}function HK(u,a,h){if(u===3){let{id:A,bitmap:x,width:E,height:P,left:D,top:F,advance:V}=h.readMessage(qK,{});a.push({id:A,bitmap:new Vx({width:E+2*EC,height:P+2*EC},x),metrics:{width:E,height:P,left:D,top:F,advance:V}})}}function qK(u,a,h){u===1?a.id=h.readVarint():u===2?a.bitmap=h.readBytes():u===3?a.width=h.readVarint():u===4?a.height=h.readVarint():u===5?a.left=h.readSVarint():u===6?a.top=h.readSVarint():u===7&&(a.advance=h.readVarint())}let p6=EC;function A6(u){let a=0,h=0;for(let P of u)a+=P.w*P.h,h=Math.max(h,P.w);u.sort((P,D)=>D.h-P.h);let A=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(a/.95)),h),h:1/0}],x=0,E=0;for(let P of u)for(let D=A.length-1;D>=0;D--){let F=A[D];if(!(P.w>F.w||P.h>F.h)){if(P.x=F.x,P.y=F.y,E=Math.max(E,P.y+P.h),x=Math.max(x,P.x+P.w),P.w===F.w&&P.h===F.h){let V=A.pop();D=0&&A>=a&&sT[this.text.charCodeAt(A)];A--)h--;this.text=this.text.substring(a,h),this.sectionIndex=this.sectionIndex.slice(a,h)}substring(a,h){let A=new I_;return A.text=this.text.substring(a,h),A.sectionIndex=this.sectionIndex.slice(a,h),A.sections=this.sections,A}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((a,h)=>Math.max(a,this.sections[h].scale),0)}addTextSection(a,h){this.text+=a.text,this.sections.push($x.forText(a.scale,a.fontStack||h));let A=this.sections.length-1;for(let x=0;x=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function nT(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt){let bt=I_.fromFeature(u,x),Pt;X===n.ai.vertical&&bt.verticalizePunctuation();let{processBidirectionalText:jt,processStyledBidirectionalText:Rt}=ua;if(jt&&bt.sections.length===1){Pt=[];let ce=jt(bt.toString(),IC(bt,V,E,a,A,at,ct));for(let Ne of ce){let ir=new I_;ir.text=Ne,ir.sections=bt.sections;for(let Fe=0;Fe0&&Vd>_l&&(_l=Vd)}else{let Uc=ir[di.fontStack],vl=Uc&&Uc[Xo];if(vl&&vl.rect)vh=vl.rect,xu=vl.metrics;else{let Vd=Ne[di.fontStack],e1=Vd&&Vd[Xo];if(!e1)continue;xu=e1.metrics}$s=(Ys-di.scale)*Hs}bu?(ce.verticalizable=!0,fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=Ud*di.scale+hr):(fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=xu.advance*di.scale+hr)}fa.length!==0&&(qs=Math.max(Tn-hr,qs),QK(fa,0,fa.length-1,ja,_l)),Tn=0;let yl=Me*Ys+_l;Ha.lineOffset=Math.max(_l,ha),Rn+=yl,Ql=Math.max(yl,Ql),++Is}var Po;let $o=Rn-Qx,{horizontalAlign:Ga,verticalAlign:Wa}=CC(Ye);(function(Zs,Ys,ha,Ha,fa,_l,yl,Qs,di){let da=(Ys-ha)*fa,Xo=0;Xo=_l!==yl?-Qs*Ha-Qx:(-Ha*di+.5)*yl;for(let $s of Zs)for(let xu of $s.positionedGlyphs)xu.x+=da,xu.y+=Xo})(ce.positionedLines,ja,Ga,Wa,qs,Ql,Me,$o,Re.length),ce.top+=-Wa*$o,ce.bottom=ce.top+$o,ce.left+=-Ga*qs,ce.right=ce.left+qs}(Yt,a,h,A,Pt,P,D,F,X,V,rt,mt),!function(ce){for(let Ne of ce)if(Ne.positionedGlyphs.length!==0)return!1;return!0}(Gt)&&Yt}let sT={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZK={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function g6(u,a,h,A,x,E){if(a.imageName){let P=A[a.imageName];return P?P.displaySize[0]*a.scale*Hs/E+x:0}{let P=h[a.fontStack],D=P&&P[u];return D?D.metrics.advance*a.scale+x:0}}function _6(u,a,h,A){let x=Math.pow(u-a,2);return A?u=0,q=0;for(let rt=0;rtP.id),this.index=a.index,this.pixelRatio=a.pixelRatio,this.sourceLayerIndex=a.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Zr([]),this.placementViewportMatrix=Zr([]);let h=this.layers[0]._unevaluatedLayout._values;this.textSizeData=b6(this.zoom,h[\"text-size\"]),this.iconSizeData=b6(this.zoom,h[\"icon-size\"]);let A=this.layers[0].layout,x=A.get(\"symbol-sort-key\"),E=A.get(\"symbol-z-order\");this.canOverlap=LC(A,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||LC(A,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||A.get(\"text-ignore-placement\")||A.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=E!==\"viewport-y\"&&!x.isConstant(),this.sortFeaturesByY=(E===\"viewport-y\"||E===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,A.get(\"symbol-placement\")===\"point\"&&(this.writingModes=A.get(\"text-writing-mode\").map(P=>n.ai[P])),this.stateDependentLayerIds=this.layers.filter(P=>P.isStateDependent()).map(P=>P.id),this.sourceID=a.sourceID}createArrays(){this.text=new RC(new Va(this.layers,this.zoom,a=>/^text/.test(a))),this.icon=new RC(new Va(this.layers,this.zoom,a=>/^icon/.test(a))),this.glyphOffsetArray=new Bt,this.lineVertexArray=new Qt,this.symbolInstances=new St,this.textAnchorOffsets=new oe}calculateGlyphDependencies(a,h,A,x,E){for(let P=0;P0)&&(P.value.kind!==\"constant\"||P.value.value.length>0),q=F.value.kind!==\"constant\"||!!F.value.value||Object.keys(F.parameters).length>0,X=E.get(\"symbol-sort-key\");if(this.features=[],!V&&!q)return;let rt=h.iconDependencies,at=h.glyphDependencies,ct=h.availableImages,mt=new un(this.zoom);for(let{feature:bt,id:Pt,index:jt,sourceLayerIndex:Rt}of a){let Gt=x._featureFilter.needGeometry,Yt=S(bt,Gt);if(!x._featureFilter.filter(mt,Yt,A))continue;let ce,Ne;if(Gt||(Yt.geometry=y(bt)),V){let Fe=x.getValueAndResolveTokens(\"text-field\",Yt,A,ct),Re=ln.factory(Fe);JK(Re)&&(this.hasRTLText=!0),(!this.hasRTLText||f0()===\"unavailable\"||this.hasRTLText&&ua.isParsed())&&(ce=DK(Re,x,Yt))}if(q){let Fe=x.getValueAndResolveTokens(\"icon-image\",Yt,A,ct);Ne=Fe instanceof Gn?Fe:Gn.fromString(Fe)}if(!ce&&!Ne)continue;let ir=this.sortFeaturesByKey?X.evaluate(Yt,{},A):void 0;if(this.features.push({id:Pt,text:ce,icon:Ne,index:jt,sourceLayerIndex:Rt,geometry:Yt.geometry,properties:bt.properties,type:XK[bt.type],sortKey:ir}),Ne&&(rt[Ne.name]=!0),ce){let Fe=P.evaluate(Yt,{},A).join(\",\"),Re=E.get(\"text-rotation-alignment\")!==\"viewport\"&&E.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(n.ai.vertical)>=0;for(let Me of ce.sections)if(Me.image)rt[Me.image.name]=!0;else{let Ye=o0(ce.toString()),Ie=Me.fontStack||Fe,Ae=at[Ie]=at[Ie]||{};this.calculateGlyphDependencies(Me.text,Ae,Re,this.allowVerticalPlacement,Ye)}}}E.get(\"symbol-placement\")===\"line\"&&(this.features=function(bt){let Pt={},jt={},Rt=[],Gt=0;function Yt(Fe){Rt.push(bt[Fe]),Gt++}function ce(Fe,Re,Me){let Ye=jt[Fe];return delete jt[Fe],jt[Re]=Ye,Rt[Ye].geometry[0].pop(),Rt[Ye].geometry[0]=Rt[Ye].geometry[0].concat(Me[0]),Ye}function Ne(Fe,Re,Me){let Ye=Pt[Re];return delete Pt[Re],Pt[Fe]=Ye,Rt[Ye].geometry[0].shift(),Rt[Ye].geometry[0]=Me[0].concat(Rt[Ye].geometry[0]),Ye}function ir(Fe,Re,Me){let Ye=Me?Re[0][Re[0].length-1]:Re[0][0];return`${Fe}:${Ye.x}:${Ye.y}`}for(let Fe=0;FeFe.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((bt,Pt)=>bt.sortKey-Pt.sortKey)}update(a,h,A){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(a,h,this.layers,A),this.icon.programConfigurations.updatePaintArrays(a,h,this.layers,A))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(a){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(a),this.iconCollisionBox.upload(a)),this.text.upload(a,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(a,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(a,h){let A=this.lineVertexArray.length;if(a.segment!==void 0){let x=a.dist(h[a.segment+1]),E=a.dist(h[a.segment]),P={};for(let D=a.segment+1;D=0;D--)P[D]={x:h[D].x,y:h[D].y,tileUnitDistanceFromAnchor:E},D>0&&(E+=h[D-1].dist(h[D]));for(let D=0;D0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(a,h){let A=a.placedSymbolArray.get(h),x=A.vertexStartIndex+4*A.numGlyphs;for(let E=A.vertexStartIndex;Ex[D]-x[F]||E[F]-E[D]),P}addToSortKeyRanges(a,h){let A=this.sortKeyRanges[this.sortKeyRanges.length-1];A&&A.sortKey===h?A.symbolInstanceEnd=a+1:this.sortKeyRanges.push({sortKey:h,symbolInstanceStart:a,symbolInstanceEnd:a+1})}sortFeatures(a){if(this.sortFeaturesByY&&this.sortedAngle!==a&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(a),this.sortedAngle=a,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let h of this.symbolInstanceIndexes){let A=this.symbolInstances.get(h);this.featureSortOrder.push(A.featureIndex),[A.rightJustifiedTextSymbolIndex,A.centerJustifiedTextSymbolIndex,A.leftJustifiedTextSymbolIndex].forEach((x,E,P)=>{x>=0&&P.indexOf(x)===E&&this.addIndicesForPlacedSymbol(this.text,x)}),A.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,A.verticalPlacedTextSymbolIndex),A.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.placedIconSymbolIndex),A.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let w6,S6;Ge(\"SymbolBucket\",C_,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),C_.MAX_GLYPHS=65535,C_.addDynamicAttributes=kC;var OC={get paint(){return S6=S6||new Hn({\"icon-opacity\":new dr(ee.paint_symbol[\"icon-opacity\"]),\"icon-color\":new dr(ee.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new dr(ee.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new dr(ee.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new dr(ee.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new nr(ee.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new nr(ee.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new dr(ee.paint_symbol[\"text-opacity\"]),\"text-color\":new dr(ee.paint_symbol[\"text-color\"],{runtimeType:Us,getOverride:u=>u.textColor,hasOverride:u=>!!u.textColor}),\"text-halo-color\":new dr(ee.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new dr(ee.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new dr(ee.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new nr(ee.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new nr(ee.paint_symbol[\"text-translate-anchor\"])})},get layout(){return w6=w6||new Hn({\"symbol-placement\":new nr(ee.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new nr(ee.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new nr(ee.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new dr(ee.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new nr(ee.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new nr(ee.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new nr(ee.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new nr(ee.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new nr(ee.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new nr(ee.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new dr(ee.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new nr(ee.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new nr(ee.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new dr(ee.layout_symbol[\"icon-image\"]),\"icon-rotate\":new dr(ee.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new dr(ee.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new nr(ee.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new dr(ee.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new dr(ee.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new nr(ee.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new nr(ee.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new nr(ee.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new dr(ee.layout_symbol[\"text-field\"]),\"text-font\":new dr(ee.layout_symbol[\"text-font\"]),\"text-size\":new dr(ee.layout_symbol[\"text-size\"]),\"text-max-width\":new dr(ee.layout_symbol[\"text-max-width\"]),\"text-line-height\":new nr(ee.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new dr(ee.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new dr(ee.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new dr(ee.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new nr(ee.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new dr(ee.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new dr(ee.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new nr(ee.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new nr(ee.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new dr(ee.layout_symbol[\"text-rotate\"]),\"text-padding\":new nr(ee.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new nr(ee.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new dr(ee.layout_symbol[\"text-transform\"]),\"text-offset\":new dr(ee.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new nr(ee.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new nr(ee.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new nr(ee.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new nr(ee.layout_symbol[\"text-optional\"])})}};class T6{constructor(a){if(a.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=a.property.overrides?a.property.overrides.runtimeType:Ca,this.defaultValue=a}evaluate(a){if(a.formattedSection){let h=this.defaultValue.property.overrides;if(h&&h.hasOverride(a.formattedSection))return h.getOverride(a.formattedSection)}return a.feature&&a.featureState?this.defaultValue.evaluate(a.feature,a.featureState):this.defaultValue.property.specification.default}eachChild(a){this.defaultValue.isConstant()||a(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ge(\"FormatSectionOverride\",T6,{omit:[\"defaultValue\"]});class aT extends ji{constructor(a){super(a,OC)}recalculate(a,h){if(super.recalculate(a,h),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let A=this.layout.get(\"text-writing-mode\");if(A){let x=[];for(let E of A)x.indexOf(E)<0&&x.push(E);this.layout._values[\"text-writing-mode\"]=x}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(a,h,A,x){let E=this.layout.get(a).evaluate(h,{},A,x),P=this._unevaluatedLayout._values[a];return P.isDataDriven()||Yp(P.value)||!E?E:function(D,F){return F.replace(/{([^{}]+)}/g,(V,q)=>D&&q in D?String(D[q]):\"\")}(h.properties,E)}createBucket(a){return new C_(a)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let a of OC.paint.overridableProperties){if(!aT.hasPaintOverride(this.layout,a))continue;let h=this.paint.get(a),A=new T6(h),x=new Jm(A,h.property.specification),E=null;E=h.value.kind===\"constant\"||h.value.kind===\"source\"?new t0(\"source\",x):new wt(\"composite\",x,h.value.zoomStops),this.paint._values[a]=new Mo(h.property,E,h.parameters)}}_handleOverridablePaintPropertyUpdate(a,h,A){return!(!this.layout||h.isDataDriven()||A.isDataDriven())&&aT.hasPaintOverride(this.layout,a)}static hasPaintOverride(a,h){let A=a.get(\"text-field\"),x=OC.paint.properties[h],E=!1,P=D=>{for(let F of D)if(x.overrides&&x.overrides.hasOverride(F))return void(E=!0)};if(A.value.kind===\"constant\"&&A.value.value instanceof ln)P(A.value.value.sections);else if(A.value.kind===\"source\"){let D=V=>{E||(V instanceof Gl&&Ki(V.value)===gt?P(V.value.sections):V instanceof Ti?P(V.sections):V.eachChild(D))},F=A.value;F._styleExpression&&D(F._styleExpression.expression)}return E}}let M6;var tJ={get paint(){return M6=M6||new Hn({\"background-color\":new nr(ee.paint_background[\"background-color\"]),\"background-pattern\":new aA(ee.paint_background[\"background-pattern\"]),\"background-opacity\":new nr(ee.paint_background[\"background-opacity\"])})}};class eJ extends ji{constructor(a){super(a,tJ)}}let E6;var rJ={get paint(){return E6=E6||new Hn({\"raster-opacity\":new nr(ee.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new nr(ee.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new nr(ee.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new nr(ee.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new nr(ee.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new nr(ee.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new nr(ee.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new nr(ee.paint_raster[\"raster-fade-duration\"])})}};class iJ extends ji{constructor(a){super(a,rJ)}}class nJ extends ji{constructor(a){super(a,{}),this.onAdd=h=>{this.implementation.onAdd&&this.implementation.onAdd(h,h.painter.context.gl)},this.onRemove=h=>{this.implementation.onRemove&&this.implementation.onRemove(h,h.painter.context.gl)},this.implementation=a}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class sJ{constructor(a){this._callback=a,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._callback()},0))}remove(){delete this._channel,this._callback=()=>{}}}let BC=63710088e-1;class dA{constructor(a,h){if(isNaN(a)||isNaN(h))throw new Error(`Invalid LngLat object: (${a}, ${h})`);if(this.lng=+a,this.lat=+h,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dA(Et(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(a){let h=Math.PI/180,A=this.lat*h,x=a.lat*h,E=Math.sin(A)*Math.sin(x)+Math.cos(A)*Math.cos(x)*Math.cos((a.lng-this.lng)*h);return BC*Math.acos(Math.min(E,1))}static convert(a){if(a instanceof dA)return a;if(Array.isArray(a)&&(a.length===2||a.length===3))return new dA(Number(a[0]),Number(a[1]));if(!Array.isArray(a)&&typeof a==\"object\"&&a!==null)return new dA(Number(\"lng\"in a?a.lng:a.lon),Number(a.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let P6=2*Math.PI*BC;function I6(u){return P6*Math.cos(u*Math.PI/180)}function C6(u){return(180+u)/360}function L6(u){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u*Math.PI/360)))/360}function k6(u,a){return u/I6(a)}function R6(u){return 360*u-180}function FC(u){return 360/Math.PI*Math.atan(Math.exp((180-360*u)*Math.PI/180))-90}class lT{constructor(a,h,A=0){this.x=+a,this.y=+h,this.z=+A}static fromLngLat(a,h=0){let A=dA.convert(a);return new lT(C6(A.lng),L6(A.lat),k6(h,A.lat))}toLngLat(){return new dA(R6(this.x),FC(this.y))}toAltitude(){return this.z*I6(FC(this.y))}meterInMercatorCoordinateUnits(){return 1/P6*(a=FC(this.y),1/Math.cos(a*Math.PI/180));var a}}function D6(u,a,h){var A=2*Math.PI*6378137/256/Math.pow(2,h);return[u*A-2*Math.PI*6378137/2,a*A-2*Math.PI*6378137/2]}class zC{constructor(a,h,A){if(a<0||a>25||A<0||A>=Math.pow(2,a)||h<0||h>=Math.pow(2,a))throw new Error(`x=${h}, y=${A}, z=${a} outside of bounds. 0<=x<${Math.pow(2,a)}, 0<=y<${Math.pow(2,a)} 0<=z<=25 `);this.z=a,this.x=h,this.y=A,this.key=Kx(0,a,a,h,A)}equals(a){return this.z===a.z&&this.x===a.x&&this.y===a.y}url(a,h,A){let x=(P=this.y,D=this.z,F=D6(256*(E=this.x),256*(P=Math.pow(2,D)-P-1),D),V=D6(256*(E+1),256*(P+1),D),F[0]+\",\"+F[1]+\",\"+V[0]+\",\"+V[1]);var E,P,D,F,V;let q=function(X,rt,at){let ct,mt=\"\";for(let bt=X;bt>0;bt--)ct=1<1?\"@2x\":\"\").replace(/{quadkey}/g,q).replace(/{bbox-epsg-3857}/g,x)}isChildOf(a){let h=this.z-a.z;return h>0&&a.x===this.x>>h&&a.y===this.y>>h}getTilePoint(a){let h=Math.pow(2,this.z);return new w((a.x*h-this.x)*en,(a.y*h-this.y)*en)}toString(){return`${this.z}/${this.x}/${this.y}`}}class O6{constructor(a,h){this.wrap=a,this.canonical=h,this.key=Kx(a,h.z,h.z,h.x,h.y)}}class Nc{constructor(a,h,A,x,E){if(a= z; overscaledZ = ${a}; z = ${A}`);this.overscaledZ=a,this.wrap=h,this.canonical=new zC(A,+x,+E),this.key=Kx(h,a,A,x,E)}clone(){return new Nc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(a){return this.overscaledZ===a.overscaledZ&&this.wrap===a.wrap&&this.canonical.equals(a.canonical)}scaledTo(a){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let h=this.canonical.z-a;return a>this.canonical.z?new Nc(a,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Nc(a,this.wrap,a,this.canonical.x>>h,this.canonical.y>>h)}calculateScaledKey(a,h){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let A=this.canonical.z-a;return a>this.canonical.z?Kx(this.wrap*+h,a,this.canonical.z,this.canonical.x,this.canonical.y):Kx(this.wrap*+h,a,a,this.canonical.x>>A,this.canonical.y>>A)}isChildOf(a){if(a.wrap!==this.wrap)return!1;let h=this.canonical.z-a.canonical.z;return a.overscaledZ===0||a.overscaledZ>h&&a.canonical.y===this.canonical.y>>h}children(a){if(this.overscaledZ>=a)return[new Nc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let h=this.canonical.z+1,A=2*this.canonical.x,x=2*this.canonical.y;return[new Nc(h,this.wrap,h,A,x),new Nc(h,this.wrap,h,A+1,x),new Nc(h,this.wrap,h,A,x+1),new Nc(h,this.wrap,h,A+1,x+1)]}isLessThan(a){return this.wrapa.wrap)&&(this.overscaledZa.overscaledZ)&&(this.canonical.xa.canonical.x)&&this.canonical.ythis.max&&(this.max=X),X=this.dim+1||h<-1||h>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(h+1)*this.stride+(a+1)}unpack(a,h,A){return a*this.redFactor+h*this.greenFactor+A*this.blueFactor-this.baseShift}getPixels(){return new zc({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(a,h,A){if(this.dim!==a.dim)throw new Error(\"dem dimension mismatch\");let x=h*this.dim,E=h*this.dim+this.dim,P=A*this.dim,D=A*this.dim+this.dim;switch(h){case-1:x=E-1;break;case 1:E=x+1}switch(A){case-1:P=D-1;break;case 1:D=P+1}let F=-h*this.dim,V=-A*this.dim;for(let q=P;q=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${a} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[a]}}class z6{constructor(a,h,A,x,E){this.type=\"Feature\",this._vectorTileFeature=a,a._z=h,a._x=A,a._y=x,this.properties=a.properties,this.id=E}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(a){this._geometry=a}toJSON(){let a={geometry:this.geometry};for(let h in this)h!==\"_geometry\"&&h!==\"_vectorTileFeature\"&&(a[h]=this[h]);return a}}class N6{constructor(a,h){this.tileID=a,this.x=a.canonical.x,this.y=a.canonical.y,this.z=a.canonical.z,this.grid=new Na(en,16,0),this.grid3D=new Na(en,16,0),this.featureIndexArray=new he,this.promoteId=h}insert(a,h,A,x,E,P){let D=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(A,x,E);let F=P?this.grid3D:this.grid;for(let V=0;V=0&&X[3]>=0&&F.insert(D,X[0],X[1],X[2],X[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new uA.VectorTile(new MC(this.rawTileData)).layers,this.sourceLayerCoder=new F6(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(a,h,A,x){this.loadVTLayers();let E=a.params||{},P=en/a.tileSize/a.scale,D=r0(E.filter),F=a.queryGeometry,V=a.queryPadding*P,q=V6(F),X=this.grid.query(q.minX-V,q.minY-V,q.maxX+V,q.maxY+V),rt=V6(a.cameraQueryGeometry),at=this.grid3D.query(rt.minX-V,rt.minY-V,rt.maxX+V,rt.maxY+V,(bt,Pt,jt,Rt)=>function(Gt,Yt,ce,Ne,ir){for(let Re of Gt)if(Yt<=Re.x&&ce<=Re.y&&Ne>=Re.x&&ir>=Re.y)return!0;let Fe=[new w(Yt,ce),new w(Yt,ir),new w(Ne,ir),new w(Ne,ce)];if(Gt.length>2){for(let Re of Fe)if(ne(Gt,Re))return!0}for(let Re=0;Re(Rt||(Rt=y(Gt)),Yt.queryIntersectsFeature(F,Gt,ce,Rt,this.z,a.transform,P,a.pixelPosMatrix)))}return ct}loadMatchingFeature(a,h,A,x,E,P,D,F,V,q,X){let rt=this.bucketLayerIDs[h];if(P&&!function(bt,Pt){for(let jt=0;jt=0)return!0;return!1}(P,rt))return;let at=this.sourceLayerCoder.decode(A),ct=this.vtLayers[at].feature(x);if(E.needGeometry){let bt=S(ct,!0);if(!E.filter(new un(this.tileID.overscaledZ),bt,this.tileID.canonical))return}else if(!E.filter(new un(this.tileID.overscaledZ),ct))return;let mt=this.getId(ct,at);for(let bt=0;bt{let D=a instanceof oA?a.get(P):null;return D&&D.evaluate?D.evaluate(h,A,x):D})}function V6(u){let a=1/0,h=1/0,A=-1/0,x=-1/0;for(let E of u)a=Math.min(a,E.x),h=Math.min(h,E.y),A=Math.max(A,E.x),x=Math.max(x,E.y);return{minX:a,minY:h,maxX:A,maxY:x}}function oJ(u,a){return a-u}function j6(u,a,h,A,x){let E=[];for(let P=0;P=A&&X.x>=A||(q.x>=A?q=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round():X.x>=A&&(X=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round()),q.y>=x&&X.y>=x||(q.y>=x?q=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round():X.y>=x&&(X=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round()),F&&q.equals(F[F.length-1])||(F=[q],E.push(F)),F.push(X)))))}}return E}Ge(\"FeatureIndex\",N6,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class pA extends w{constructor(a,h,A,x){super(a,h),this.angle=A,x!==void 0&&(this.segment=x)}clone(){return new pA(this.x,this.y,this.angle,this.segment)}}function G6(u,a,h,A,x){if(a.segment===void 0||h===0)return!0;let E=a,P=a.segment+1,D=0;for(;D>-h/2;){if(P--,P<0)return!1;D-=u[P].dist(E),E=u[P]}D+=u[P].dist(u[P+1]),P++;let F=[],V=0;for(;DA;)V-=F.shift().angleDelta;if(V>x)return!1;P++,D+=q.dist(X)}return!0}function W6(u){let a=0;for(let h=0;hV){let ct=(V-F)/at,mt=Da.number(X.x,rt.x,ct),bt=Da.number(X.y,rt.y,ct),Pt=new pA(mt,bt,rt.angleTo(X),q);return Pt._round(),!P||G6(u,Pt,D,P,a)?Pt:void 0}F+=at}}function lJ(u,a,h,A,x,E,P,D,F){let V=H6(A,E,P),q=q6(A,x),X=q*P,rt=u[0].x===0||u[0].x===F||u[0].y===0||u[0].y===F;return a-X=0&&Gt=0&&Yt=0&&rt+V<=q){let ce=new pA(Gt,Yt,jt,ct);ce._round(),A&&!G6(u,ce,E,A,x)||at.push(ce)}}X+=Pt}return D||at.length||P||(at=Z6(u,X/2,h,A,x,E,P,!0,F)),at}Ge(\"Anchor\",pA);let L_=gl;function Y6(u,a,h,A){let x=[],E=u.image,P=E.pixelRatio,D=E.paddedRect.w-2*L_,F=E.paddedRect.h-2*L_,V=u.right-u.left,q=u.bottom-u.top,X=E.stretchX||[[0,D]],rt=E.stretchY||[[0,F]],at=(Me,Ye)=>Me+Ye[1]-Ye[0],ct=X.reduce(at,0),mt=rt.reduce(at,0),bt=D-ct,Pt=F-mt,jt=0,Rt=ct,Gt=0,Yt=mt,ce=0,Ne=bt,ir=0,Fe=Pt;if(E.content&&A){let Me=E.content;jt=cT(X,0,Me[0]),Gt=cT(rt,0,Me[1]),Rt=cT(X,Me[0],Me[2]),Yt=cT(rt,Me[1],Me[3]),ce=Me[0]-jt,ir=Me[1]-Gt,Ne=Me[2]-Me[0]-Rt,Fe=Me[3]-Me[1]-Yt}let Re=(Me,Ye,Ie,Ae)=>{let hr=uT(Me.stretch-jt,Rt,V,u.left),sr=hT(Me.fixed-ce,Ne,Me.stretch,ct),ri=uT(Ye.stretch-Gt,Yt,q,u.top),Tn=hT(Ye.fixed-ir,Fe,Ye.stretch,mt),Rn=uT(Ie.stretch-jt,Rt,V,u.left),qs=hT(Ie.fixed-ce,Ne,Ie.stretch,ct),Ql=uT(Ae.stretch-Gt,Yt,q,u.top),ja=hT(Ae.fixed-ir,Fe,Ae.stretch,mt),Is=new w(hr,ri),Po=new w(Rn,ri),$o=new w(Rn,Ql),Ga=new w(hr,Ql),Wa=new w(sr/P,Tn/P),Zs=new w(qs/P,ja/P),Ys=a*Math.PI/180;if(Ys){let fa=Math.sin(Ys),_l=Math.cos(Ys),yl=[_l,-fa,fa,_l];Is._matMult(yl),Po._matMult(yl),Ga._matMult(yl),$o._matMult(yl)}let ha=Me.stretch+Me.fixed,Ha=Ye.stretch+Ye.fixed;return{tl:Is,tr:Po,bl:Ga,br:$o,tex:{x:E.paddedRect.x+L_+ha,y:E.paddedRect.y+L_+Ha,w:Ie.stretch+Ie.fixed-ha,h:Ae.stretch+Ae.fixed-Ha},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Wa,pixelOffsetBR:Zs,minFontScaleX:Ne/P/V,minFontScaleY:Fe/P/q,isSDF:h}};if(A&&(E.stretchX||E.stretchY)){let Me=Q6(X,bt,ct),Ye=Q6(rt,Pt,mt);for(let Ie=0;Ie0&&(ct=Math.max(10,ct),this.circleDiameter=ct)}else{let X=P.top*D-F[0],rt=P.bottom*D+F[2],at=P.left*D-F[3],ct=P.right*D+F[1],mt=P.collisionPadding;if(mt&&(at-=mt[0]*D,X-=mt[1]*D,ct+=mt[2]*D,rt+=mt[3]*D),q){let bt=new w(at,X),Pt=new w(ct,X),jt=new w(at,rt),Rt=new w(ct,rt),Gt=q*Math.PI/180;bt._rotate(Gt),Pt._rotate(Gt),jt._rotate(Gt),Rt._rotate(Gt),at=Math.min(bt.x,Pt.x,jt.x,Rt.x),ct=Math.max(bt.x,Pt.x,jt.x,Rt.x),X=Math.min(bt.y,Pt.y,jt.y,Rt.y),rt=Math.max(bt.y,Pt.y,jt.y,Rt.y)}a.emplaceBack(h.x,h.y,at,X,ct,rt,A,x,E)}this.boxEndIndex=a.length}}class cJ{constructor(a=[],h=uJ){if(this.data=a,this.length=this.data.length,this.compare=h,this.length>0)for(let A=(this.length>>1)-1;A>=0;A--)this._down(A)}push(a){this.data.push(a),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;let a=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),a}peek(){return this.data[0]}_up(a){let{data:h,compare:A}=this,x=h[a];for(;a>0;){let E=a-1>>1,P=h[E];if(A(x,P)>=0)break;h[a]=P,a=E}h[a]=x}_down(a){let{data:h,compare:A}=this,x=this.length>>1,E=h[a];for(;a=0)break;h[a]=D,a=P}h[a]=E}}function uJ(u,a){return ua?1:0}function hJ(u,a=1,h=!1){let A=1/0,x=1/0,E=-1/0,P=-1/0,D=u[0];for(let at=0;atE)&&(E=ct.x),(!at||ct.y>P)&&(P=ct.y)}let F=Math.min(E-A,P-x),V=F/2,q=new cJ([],fJ);if(F===0)return new w(A,x);for(let at=A;atX.d||!X.d)&&(X=at,h&&console.log(\"found best %d after %d probes\",Math.round(1e4*at.d)/1e4,rt)),at.max-X.d<=a||(V=at.h/2,q.push(new k_(at.p.x-V,at.p.y-V,V,u)),q.push(new k_(at.p.x+V,at.p.y-V,V,u)),q.push(new k_(at.p.x-V,at.p.y+V,V,u)),q.push(new k_(at.p.x+V,at.p.y+V,V,u)),rt+=4)}return h&&(console.log(`num probes: ${rt}`),console.log(`best distance: ${X.d}`)),X.p}function fJ(u,a){return a.max-u.max}function k_(u,a,h,A){this.p=new w(u,a),this.h=h,this.d=function(x,E){let P=!1,D=1/0;for(let F=0;Fx.y!=ct.y>x.y&&x.x<(ct.x-at.x)*(x.y-at.y)/(ct.y-at.y)+at.x&&(P=!P),D=Math.min(D,Wt(x,at,ct))}}return(P?1:-1)*Math.sqrt(D)}(this.p,A),this.max=this.d+this.h*Math.SQRT2}var Qo;n.aq=void 0,(Qo=n.aq||(n.aq={}))[Qo.center=1]=\"center\",Qo[Qo.left=2]=\"left\",Qo[Qo.right=3]=\"right\",Qo[Qo.top=4]=\"top\",Qo[Qo.bottom=5]=\"bottom\",Qo[Qo[\"top-left\"]=6]=\"top-left\",Qo[Qo[\"top-right\"]=7]=\"top-right\",Qo[Qo[\"bottom-left\"]=8]=\"bottom-left\",Qo[Qo[\"bottom-right\"]=9]=\"bottom-right\";let AA=7,NC=Number.POSITIVE_INFINITY;function $6(u,a){return a[1]!==NC?function(h,A,x){let E=0,P=0;switch(A=Math.abs(A),x=Math.abs(x),h){case\"top-right\":case\"top-left\":case\"top\":P=x-AA;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":P=-x+AA}switch(h){case\"top-right\":case\"bottom-right\":case\"right\":E=-A;break;case\"top-left\":case\"bottom-left\":case\"left\":E=A}return[E,P]}(u,a[0],a[1]):function(h,A){let x=0,E=0;A<0&&(A=0);let P=A/Math.SQRT2;switch(h){case\"top-right\":case\"top-left\":E=P-AA;break;case\"bottom-right\":case\"bottom-left\":E=-P+AA;break;case\"bottom\":E=-A+AA;break;case\"top\":E=A-AA}switch(h){case\"top-right\":case\"bottom-right\":x=-P;break;case\"top-left\":case\"bottom-left\":x=P;break;case\"left\":x=A;break;case\"right\":x=-A}return[x,E]}(u,a[0])}function X6(u,a,h){var A;let x=u.layout,E=(A=x.get(\"text-variable-anchor-offset\"))===null||A===void 0?void 0:A.evaluate(a,{},h);if(E){let D=E.values,F=[];for(let V=0;Vrt*Hs);q.startsWith(\"top\")?X[1]-=AA:q.startsWith(\"bottom\")&&(X[1]+=AA),F[V+1]=X}return new Go(F)}let P=x.get(\"text-variable-anchor\");if(P){let D;D=u._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[x.get(\"text-radial-offset\").evaluate(a,{},h)*Hs,NC]:x.get(\"text-offset\").evaluate(a,{},h).map(V=>V*Hs);let F=[];for(let V of P)F.push(V,$6(V,D));return new Go(F)}return null}function UC(u){switch(u){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dJ(u,a,h,A,x,E,P,D,F,V,q){let X=E.textMaxSize.evaluate(a,{});X===void 0&&(X=P);let rt=u.layers[0].layout,at=rt.get(\"icon-offset\").evaluate(a,{},q),ct=J6(h.horizontal),mt=P/24,bt=u.tilePixelRatio*mt,Pt=u.tilePixelRatio*X/24,jt=u.tilePixelRatio*D,Rt=u.tilePixelRatio*rt.get(\"symbol-spacing\"),Gt=rt.get(\"text-padding\")*u.tilePixelRatio,Yt=function(Ae,hr,sr,ri=1){let Tn=Ae.get(\"icon-padding\").evaluate(hr,{},sr),Rn=Tn&&Tn.values;return[Rn[0]*ri,Rn[1]*ri,Rn[2]*ri,Rn[3]*ri]}(rt,a,q,u.tilePixelRatio),ce=rt.get(\"text-max-angle\")/180*Math.PI,Ne=rt.get(\"text-rotation-alignment\")!==\"viewport\"&&rt.get(\"symbol-placement\")!==\"point\",ir=rt.get(\"icon-rotation-alignment\")===\"map\"&&rt.get(\"symbol-placement\")!==\"point\",Fe=rt.get(\"symbol-placement\"),Re=Rt/2,Me=rt.get(\"icon-text-fit\"),Ye;A&&Me!==\"none\"&&(u.allowVerticalPlacement&&h.vertical&&(Ye=x6(A,h.vertical,Me,rt.get(\"icon-text-fit-padding\"),at,mt)),ct&&(A=x6(A,ct,Me,rt.get(\"icon-text-fit-padding\"),at,mt)));let Ie=(Ae,hr)=>{hr.x<0||hr.x>=en||hr.y<0||hr.y>=en||function(sr,ri,Tn,Rn,qs,Ql,ja,Is,Po,$o,Ga,Wa,Zs,Ys,ha,Ha,fa,_l,yl,Qs,di,da,Xo,$s,xu){let vh=sr.addToLineVertexArray(ri,Tn),xh,Ud,bu,Uc,vl=0,Vd=0,e1=0,iz=0,YC=-1,QC=-1,jd={},nz=yh(\"\");if(sr.allowVerticalPlacement&&Rn.vertical){let pa=Is.layout.get(\"text-rotate\").evaluate(di,{},$s)+90;bu=new fT(Po,ri,$o,Ga,Wa,Rn.vertical,Zs,Ys,ha,pa),ja&&(Uc=new fT(Po,ri,$o,Ga,Wa,ja,fa,_l,ha,pa))}if(qs){let pa=Is.layout.get(\"icon-rotate\").evaluate(di,{}),Vc=Is.layout.get(\"icon-text-fit\")!==\"none\",m0=Y6(qs,pa,Xo,Vc),wh=ja?Y6(ja,pa,Xo,Vc):void 0;Ud=new fT(Po,ri,$o,Ga,Wa,qs,fa,_l,!1,pa),vl=4*m0.length;let g0=sr.iconSizeData,Pf=null;g0.kind===\"source\"?(Pf=[Ef*Is.layout.get(\"icon-size\").evaluate(di,{})],Pf[0]>fA&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)):g0.kind===\"composite\"&&(Pf=[Ef*da.compositeIconSizes[0].evaluate(di,{},$s),Ef*da.compositeIconSizes[1].evaluate(di,{},$s)],(Pf[0]>fA||Pf[1]>fA)&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)),sr.addSymbols(sr.icon,m0,Pf,Qs,yl,di,n.ai.none,ri,vh.lineStartIndex,vh.lineLength,-1,$s),YC=sr.icon.placedSymbolArray.length-1,wh&&(Vd=4*wh.length,sr.addSymbols(sr.icon,wh,Pf,Qs,yl,di,n.ai.vertical,ri,vh.lineStartIndex,vh.lineLength,-1,$s),QC=sr.icon.placedSymbolArray.length-1)}let sz=Object.keys(Rn.horizontal);for(let pa of sz){let Vc=Rn.horizontal[pa];if(!xh){nz=yh(Vc.text);let wh=Is.layout.get(\"text-rotate\").evaluate(di,{},$s);xh=new fT(Po,ri,$o,Ga,Wa,Vc,Zs,Ys,ha,wh)}let m0=Vc.positionedLines.length===1;if(e1+=K6(sr,ri,Vc,Ql,Is,ha,di,Ha,vh,Rn.vertical?n.ai.horizontal:n.ai.horizontalOnly,m0?sz:[pa],jd,YC,da,$s),m0)break}Rn.vertical&&(iz+=K6(sr,ri,Rn.vertical,Ql,Is,ha,di,Ha,vh,n.ai.vertical,[\"vertical\"],jd,QC,da,$s));let mJ=xh?xh.boxStartIndex:sr.collisionBoxArray.length,gJ=xh?xh.boxEndIndex:sr.collisionBoxArray.length,_J=bu?bu.boxStartIndex:sr.collisionBoxArray.length,yJ=bu?bu.boxEndIndex:sr.collisionBoxArray.length,vJ=Ud?Ud.boxStartIndex:sr.collisionBoxArray.length,xJ=Ud?Ud.boxEndIndex:sr.collisionBoxArray.length,bJ=Uc?Uc.boxStartIndex:sr.collisionBoxArray.length,wJ=Uc?Uc.boxEndIndex:sr.collisionBoxArray.length,bh=-1,pT=(pa,Vc)=>pa&&pa.circleDiameter?Math.max(pa.circleDiameter,Vc):Vc;bh=pT(xh,bh),bh=pT(bu,bh),bh=pT(Ud,bh),bh=pT(Uc,bh);let oz=bh>-1?1:0;oz&&(bh*=xu/Hs),sr.glyphOffsetArray.length>=C_.MAX_GLYPHS&&Ke(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),di.sortKey!==void 0&&sr.addToSortKeyRanges(sr.symbolInstances.length,di.sortKey);let SJ=X6(Is,di,$s),[TJ,MJ]=function(pa,Vc){let m0=pa.length,wh=Vc?.values;if(wh?.length>0)for(let g0=0;g0=0?jd.right:-1,jd.center>=0?jd.center:-1,jd.left>=0?jd.left:-1,jd.vertical||-1,YC,QC,nz,mJ,gJ,_J,yJ,vJ,xJ,bJ,wJ,$o,e1,iz,vl,Vd,oz,0,Zs,bh,TJ,MJ)}(u,hr,Ae,h,A,x,Ye,u.layers[0],u.collisionBoxArray,a.index,a.sourceLayerIndex,u.index,bt,[Gt,Gt,Gt,Gt],Ne,F,jt,Yt,ir,at,a,E,V,q,P)};if(Fe===\"line\")for(let Ae of j6(a.geometry,0,0,en,en)){let hr=lJ(Ae,Rt,ce,h.vertical||ct,A,24,Pt,u.overscaling,en);for(let sr of hr)ct&&pJ(u,ct.text,Re,sr)||Ie(Ae,sr)}else if(Fe===\"line-center\"){for(let Ae of a.geometry)if(Ae.length>1){let hr=aJ(Ae,ce,h.vertical||ct,A,24,Pt);hr&&Ie(Ae,hr)}}else if(a.type===\"Polygon\")for(let Ae of _C(a.geometry,0)){let hr=hJ(Ae,16);Ie(Ae[0],new pA(hr.x,hr.y,0))}else if(a.type===\"LineString\")for(let Ae of a.geometry)Ie(Ae,new pA(Ae[0].x,Ae[0].y,0));else if(a.type===\"Point\")for(let Ae of a.geometry)for(let hr of Ae)Ie([hr],new pA(hr.x,hr.y,0))}function K6(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct){let mt=function(jt,Rt,Gt,Yt,ce,Ne,ir,Fe){let Re=Yt.layout.get(\"text-rotate\").evaluate(Ne,{})*Math.PI/180,Me=[];for(let Ye of Rt.positionedLines)for(let Ie of Ye.positionedGlyphs){if(!Ie.rect)continue;let Ae=Ie.rect||{},hr=p6+1,sr=!0,ri=1,Tn=0,Rn=(ce||Fe)&&Ie.vertical,qs=Ie.metrics.advance*Ie.scale/2;if(Fe&&Rt.verticalizable&&(Tn=Ye.lineOffset/2-(Ie.imageName?-(Hs-Ie.metrics.width*Ie.scale)/2:(Ie.scale-1)*Hs)),Ie.imageName){let Qs=ir[Ie.imageName];sr=Qs.sdf,ri=Qs.pixelRatio,hr=gl/ri}let Ql=ce?[Ie.x+qs,Ie.y]:[0,0],ja=ce?[0,0]:[Ie.x+qs+Gt[0],Ie.y+Gt[1]-Tn],Is=[0,0];Rn&&(Is=ja,ja=[0,0]);let Po=Ie.metrics.isDoubleResolution?2:1,$o=(Ie.metrics.left-hr)*Ie.scale-qs+ja[0],Ga=(-Ie.metrics.top-hr)*Ie.scale+ja[1],Wa=$o+Ae.w/Po*Ie.scale/ri,Zs=Ga+Ae.h/Po*Ie.scale/ri,Ys=new w($o,Ga),ha=new w(Wa,Ga),Ha=new w($o,Zs),fa=new w(Wa,Zs);if(Rn){let Qs=new w(-qs,qs-Qx),di=-Math.PI/2,da=Hs/2-qs,Xo=new w(5-Qx-da,-(Ie.imageName?da:0)),$s=new w(...Is);Ys._rotateAround(di,Qs)._add(Xo)._add($s),ha._rotateAround(di,Qs)._add(Xo)._add($s),Ha._rotateAround(di,Qs)._add(Xo)._add($s),fa._rotateAround(di,Qs)._add(Xo)._add($s)}if(Re){let Qs=Math.sin(Re),di=Math.cos(Re),da=[di,-Qs,Qs,di];Ys._matMult(da),ha._matMult(da),Ha._matMult(da),fa._matMult(da)}let _l=new w(0,0),yl=new w(0,0);Me.push({tl:Ys,tr:ha,bl:Ha,br:fa,tex:Ae,writingMode:Rt.writingMode,glyphOffset:Ql,sectionIndex:Ie.sectionIndex,isSDF:sr,pixelOffsetTL:_l,pixelOffsetBR:yl,minFontScaleX:0,minFontScaleY:0})}return Me}(0,h,D,x,E,P,A,u.allowVerticalPlacement),bt=u.textSizeData,Pt=null;bt.kind===\"source\"?(Pt=[Ef*x.layout.get(\"text-size\").evaluate(P,{})],Pt[0]>fA&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)):bt.kind===\"composite\"&&(Pt=[Ef*at.compositeTextSizes[0].evaluate(P,{},ct),Ef*at.compositeTextSizes[1].evaluate(P,{},ct)],(Pt[0]>fA||Pt[1]>fA)&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)),u.addSymbols(u.text,mt,Pt,D,E,P,V,a,F.lineStartIndex,F.lineLength,rt,ct);for(let jt of q)X[jt]=u.text.placedSymbolArray.length-1;return 4*mt.length}function J6(u){for(let a in u)return u[a];return null}function pJ(u,a,h,A){let x=u.compareText;if(a in x){let E=x[a];for(let P=E.length-1;P>=0;P--)if(A.dist(E[P])>4;if(x!==1)throw new Error(`Got v${x} data when expected v1.`);let E=tz[15&A];if(!E)throw new Error(\"Unrecognized array type.\");let[P]=new Uint16Array(a,2,1),[D]=new Uint32Array(a,4,1);return new VC(D,P,E,a)}constructor(a,h=64,A=Float64Array,x){if(isNaN(a)||a<0)throw new Error(`Unpexpected numItems value: ${a}.`);this.numItems=+a,this.nodeSize=Math.min(Math.max(+h,2),65535),this.ArrayType=A,this.IndexArrayType=a<65536?Uint16Array:Uint32Array;let E=tz.indexOf(this.ArrayType),P=2*a*this.ArrayType.BYTES_PER_ELEMENT,D=a*this.IndexArrayType.BYTES_PER_ELEMENT,F=(8-D%8)%8;if(E<0)throw new Error(`Unexpected typed array class: ${A}.`);x&&x instanceof ArrayBuffer?(this.data=x,this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=2*a,this._finished=!0):(this.data=new ArrayBuffer(8+P+D+F),this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+E]),new Uint16Array(this.data,2,1)[0]=h,new Uint32Array(this.data,4,1)[0]=a)}add(a,h){let A=this._pos>>1;return this.ids[A]=A,this.coords[this._pos++]=a,this.coords[this._pos++]=h,A}finish(){let a=this._pos>>1;if(a!==this.numItems)throw new Error(`Added ${a} items when expected ${this.numItems}.`);return jC(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(a,h,A,x){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:E,coords:P,nodeSize:D}=this,F=[0,E.length-1,0],V=[];for(;F.length;){let q=F.pop()||0,X=F.pop()||0,rt=F.pop()||0;if(X-rt<=D){for(let bt=rt;bt<=X;bt++){let Pt=P[2*bt],jt=P[2*bt+1];Pt>=a&&Pt<=A&&jt>=h&&jt<=x&&V.push(E[bt])}continue}let at=rt+X>>1,ct=P[2*at],mt=P[2*at+1];ct>=a&&ct<=A&&mt>=h&&mt<=x&&V.push(E[at]),(q===0?a<=ct:h<=mt)&&(F.push(rt),F.push(at-1),F.push(1-q)),(q===0?A>=ct:x>=mt)&&(F.push(at+1),F.push(X),F.push(1-q))}return V}within(a,h,A){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:x,coords:E,nodeSize:P}=this,D=[0,x.length-1,0],F=[],V=A*A;for(;D.length;){let q=D.pop()||0,X=D.pop()||0,rt=D.pop()||0;if(X-rt<=P){for(let bt=rt;bt<=X;bt++)rz(E[2*bt],E[2*bt+1],a,h)<=V&&F.push(x[bt]);continue}let at=rt+X>>1,ct=E[2*at],mt=E[2*at+1];rz(ct,mt,a,h)<=V&&F.push(x[at]),(q===0?a-A<=ct:h-A<=mt)&&(D.push(rt),D.push(at-1),D.push(1-q)),(q===0?a+A>=ct:h+A>=mt)&&(D.push(at+1),D.push(X),D.push(1-q))}return F}}function jC(u,a,h,A,x,E){if(x-A<=h)return;let P=A+x>>1;ez(u,a,P,A,x,E),jC(u,a,h,A,P-1,1-E),jC(u,a,h,P+1,x,1-E)}function ez(u,a,h,A,x,E){for(;x>A;){if(x-A>600){let V=x-A+1,q=h-A+1,X=Math.log(V),rt=.5*Math.exp(2*X/3),at=.5*Math.sqrt(X*rt*(V-rt)/V)*(q-V/2<0?-1:1);ez(u,a,h,Math.max(A,Math.floor(h-q*rt/V+at)),Math.min(x,Math.floor(h+(V-q)*rt/V+at)),E)}let P=a[2*h+E],D=A,F=x;for(Jx(u,a,A,h),a[2*x+E]>P&&Jx(u,a,A,x);DP;)F--}a[2*A+E]===P?Jx(u,a,A,F):(F++,Jx(u,a,F,x)),F<=h&&(A=F+1),h<=F&&(x=F-1)}}function Jx(u,a,h,A){GC(u,h,A),GC(a,2*h,2*A),GC(a,2*h+1,2*A+1)}function GC(u,a,h){let A=u[a];u[a]=u[h],u[h]=A}function rz(u,a,h,A){let x=u-h,E=a-A;return x*x+E*E}var WC;n.bh=void 0,(WC=n.bh||(n.bh={})).create=\"create\",WC.load=\"load\",WC.fullLoad=\"fullLoad\";let dT=null,t1=[],HC=1e3/60,qC=\"loadTime\",ZC=\"fullLoadTime\",AJ={mark(u){performance.mark(u)},frame(u){let a=u;dT!=null&&t1.push(a-dT),dT=a},clearMetrics(){dT=null,t1=[],performance.clearMeasures(qC),performance.clearMeasures(ZC);for(let u in n.bh)performance.clearMarks(n.bh[u])},getPerformanceMetrics(){performance.measure(qC,n.bh.create,n.bh.load),performance.measure(ZC,n.bh.create,n.bh.fullLoad);let u=performance.getEntriesByName(qC)[0].duration,a=performance.getEntriesByName(ZC)[0].duration,h=t1.length,A=1/(t1.reduce((E,P)=>E+P,0)/h/1e3),x=t1.filter(E=>E>HC).reduce((E,P)=>E+(P-HC)/HC,0);return{loadTime:u,fullLoadTime:a,fps:A,percentDroppedFrames:x/(h+x)*100,totalFrames:h}}};n.$=function(u,a,h){var A,x,E,P,D,F,V,q,X,rt,at,ct,mt=h[0],bt=h[1],Pt=h[2];return a===u?(u[12]=a[0]*mt+a[4]*bt+a[8]*Pt+a[12],u[13]=a[1]*mt+a[5]*bt+a[9]*Pt+a[13],u[14]=a[2]*mt+a[6]*bt+a[10]*Pt+a[14],u[15]=a[3]*mt+a[7]*bt+a[11]*Pt+a[15]):(x=a[1],E=a[2],P=a[3],D=a[4],F=a[5],V=a[6],q=a[7],X=a[8],rt=a[9],at=a[10],ct=a[11],u[0]=A=a[0],u[1]=x,u[2]=E,u[3]=P,u[4]=D,u[5]=F,u[6]=V,u[7]=q,u[8]=X,u[9]=rt,u[10]=at,u[11]=ct,u[12]=A*mt+D*bt+X*Pt+a[12],u[13]=x*mt+F*bt+rt*Pt+a[13],u[14]=E*mt+V*bt+at*Pt+a[14],u[15]=P*mt+q*bt+ct*Pt+a[15]),u},n.A=je,n.B=Da,n.C=class{constructor(u,a,h){this.receive=A=>{let x=A.data,E=x.id;if(E&&(!x.targetMapId||this.mapId===x.targetMapId))if(x.type===\"\"){delete this.tasks[E];let P=this.cancelCallbacks[E];delete this.cancelCallbacks[E],P&&P()}else Li()||x.mustQueue?(this.tasks[E]=x,this.taskQueue.push(E),this.invoker.trigger()):this.processTask(E,x)},this.process=()=>{if(!this.taskQueue.length)return;let A=this.taskQueue.shift(),x=this.tasks[A];delete this.tasks[A],this.taskQueue.length&&this.invoker.trigger(),x&&this.processTask(A,x)},this.target=u,this.parent=a,this.mapId=h,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new sJ(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=Li()?u:window}send(u,a,h,A,x=!1){let E=Math.round(1e18*Math.random()).toString(36).substring(0,10);h&&(this.callbacks[E]=h);let P=[],D={id:E,type:u,hasCallback:!!h,targetMapId:A,mustQueue:x,sourceMapId:this.mapId,data:Hl(a,P)};return this.target.postMessage(D,{transfer:P}),{cancel:()=>{h&&delete this.callbacks[E],this.target.postMessage({id:E,type:\"\",targetMapId:A,sourceMapId:this.mapId})}}}processTask(u,a){if(a.type===\"\"){let h=this.callbacks[u];delete this.callbacks[u],h&&(a.error?h(xf(a.error)):h(null,xf(a.data)))}else{let h=!1,A=[],x=a.hasCallback?(D,F)=>{h=!0,delete this.cancelCallbacks[u];let V={id:u,type:\"\",sourceMapId:this.mapId,error:D?Hl(D):null,data:Hl(F,A)};this.target.postMessage(V,{transfer:A})}:D=>{h=!0},E=null,P=xf(a.data);if(this.parent[a.type])E=this.parent[a.type](a.sourceMapId,P,x);else if(\"getWorkerSource\"in this.parent){let D=a.type.split(\".\");E=this.parent.getWorkerSource(a.sourceMapId,D[0],P.source)[D[1]](P,x)}else x(new Error(`Could not find function ${a.type}`));!h&&E&&E.cancel&&(this.cancelCallbacks[u]=E.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)}},n.D=nr,n.E=Nl,n.F=function(u,a){let h={};for(let A=0;A{}}},n.Y=ve,n.Z=function(){var u=new je(16);return je!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=0,u[12]=0,u[13]=0,u[14]=0),u[0]=1,u[5]=1,u[10]=1,u[15]=1,u},n._=o,n.a=zl,n.a$=class extends st{},n.a0=function(u,a,h){var A=h[0],x=h[1],E=h[2];return u[0]=a[0]*A,u[1]=a[1]*A,u[2]=a[2]*A,u[3]=a[3]*A,u[4]=a[4]*x,u[5]=a[5]*x,u[6]=a[6]*x,u[7]=a[7]*x,u[8]=a[8]*E,u[9]=a[9]*E,u[10]=a[10]*E,u[11]=a[11]*E,u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.a1=qi,n.a2=function(){return Xt++},n.a3=yt,n.a4=C_,n.a5=function(){ua.isLoading()||ua.isLoaded()||f0()!==\"deferred\"||v_()},n.a6=r0,n.a7=S,n.a8=un,n.a9=z6,n.aA=Bc,n.aB=function(u){u=u.slice();let a=Object.create(null);for(let h=0;h{A[P.source]?h.push({command:oi.removeLayer,args:[P.id]}):E.push(P)}),h=h.concat(x),function(P,D,F){D=D||[];let V=(P=P||[]).map(Ia),q=D.map(Ia),X=P.reduce(wo,{}),rt=D.reduce(wo,{}),at=V.slice(),ct=Object.create(null),mt,bt,Pt,jt,Rt,Gt,Yt;for(mt=0,bt=0;mt@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(h,A,x,E)=>{let P=x||E;return a[A]=!P||P.toLowerCase(),\"\"}),a[\"max-age\"]){let h=parseInt(a[\"max-age\"],10);isNaN(h)?delete a[\"max-age\"]:a[\"max-age\"]=h}return a},n.ab=function(u,a){let h=[];for(let A in u)A in a||h.push(A);return h},n.ac=function(u){if(oo==null){let a=u.navigator?u.navigator.userAgent:null;oo=!!u.safari||!(!a||!(/\\b(iPad|iPhone|iPod)\\b/.test(a)||a.match(\"Safari\")&&!a.match(\"Chrome\")))}return oo},n.ad=ut,n.ae=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[0],P=a[1],D=a[2],F=a[3],V=a[4],q=a[5],X=a[6],rt=a[7];return a!==u&&(u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[0]=E*x+V*A,u[1]=P*x+q*A,u[2]=D*x+X*A,u[3]=F*x+rt*A,u[4]=V*x-E*A,u[5]=q*x-P*A,u[6]=X*x-D*A,u[7]=rt*x-F*A,u},n.af=function(u){var a=new je(16);return a[0]=u[0],a[1]=u[1],a[2]=u[2],a[3]=u[3],a[4]=u[4],a[5]=u[5],a[6]=u[6],a[7]=u[7],a[8]=u[8],a[9]=u[9],a[10]=u[10],a[11]=u[11],a[12]=u[12],a[13]=u[13],a[14]=u[14],a[15]=u[15],a},n.ag=Pi,n.ah=function(u,a){let h=0,A=0;if(u.kind===\"constant\")A=u.layoutSize;else if(u.kind!==\"source\"){let{interpolationType:x,minZoom:E,maxZoom:P}=u,D=x?ut(Oa.interpolationFactor(x,a,E,P),0,1):0;u.kind===\"camera\"?A=Da.number(u.minSize,u.maxSize,D):h=D}return{uSizeT:h,uSize:A}},n.aj=function(u,{uSize:a,uSizeT:h},{lowerSize:A,upperSize:x}){return u.kind===\"source\"?A/Ef:u.kind===\"composite\"?Da.number(A/Ef,x/Ef,h):a},n.ak=kC,n.al=function(u,a,h,A){let x=a.y-u.y,E=a.x-u.x,P=A.y-h.y,D=A.x-h.x,F=P*E-D*x;if(F===0)return null;let V=(D*(u.y-h.y)-P*(u.x-h.x))/F;return new w(u.x+V*E,u.y+V*x)},n.am=j6,n.an=L,n.ao=Zr,n.ap=Hs,n.ar=LC,n.as=function(u,a){var h=a[0],A=a[1],x=a[2],E=a[3],P=a[4],D=a[5],F=a[6],V=a[7],q=a[8],X=a[9],rt=a[10],at=a[11],ct=a[12],mt=a[13],bt=a[14],Pt=a[15],jt=h*D-A*P,Rt=h*F-x*P,Gt=h*V-E*P,Yt=A*F-x*D,ce=A*V-E*D,Ne=x*V-E*F,ir=q*mt-X*ct,Fe=q*bt-rt*ct,Re=q*Pt-at*ct,Me=X*bt-rt*mt,Ye=X*Pt-at*mt,Ie=rt*Pt-at*bt,Ae=jt*Ie-Rt*Ye+Gt*Me+Yt*Re-ce*Fe+Ne*ir;return Ae?(u[0]=(D*Ie-F*Ye+V*Me)*(Ae=1/Ae),u[1]=(x*Ye-A*Ie-E*Me)*Ae,u[2]=(mt*Ne-bt*ce+Pt*Yt)*Ae,u[3]=(rt*ce-X*Ne-at*Yt)*Ae,u[4]=(F*Re-P*Ie-V*Fe)*Ae,u[5]=(h*Ie-x*Re+E*Fe)*Ae,u[6]=(bt*Gt-ct*Ne-Pt*Rt)*Ae,u[7]=(q*Ne-rt*Gt+at*Rt)*Ae,u[8]=(P*Ye-D*Re+V*ir)*Ae,u[9]=(A*Re-h*Ye-E*ir)*Ae,u[10]=(ct*ce-mt*Gt+Pt*jt)*Ae,u[11]=(X*Gt-q*ce-at*jt)*Ae,u[12]=(D*Fe-P*Me-F*ir)*Ae,u[13]=(h*Me-A*Fe+x*ir)*Ae,u[14]=(mt*Rt-ct*Yt-bt*jt)*Ae,u[15]=(q*Yt-X*Rt+rt*jt)*Ae,u):null},n.at=UC,n.au=CC,n.av=VC,n.aw=function(){let u={},a=ee.$version;for(let h in ee.$root){let A=ee.$root[h];if(A.required){let x=null;x=h===\"version\"?a:A.type===\"array\"?[]:{},x!=null&&(u[h]=x)}}return u},n.ax=oi,n.ay=__,n.az=Jn,n.b=function(u,a){let h=new Blob([new Uint8Array(u)],{type:\"image/png\"});createImageBitmap(h).then(A=>{a(null,A)}).catch(A=>{a(new Error(`Could not load image because of ${A.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})},n.b0=Gs,n.b1=function(u,a){var h=u[0],A=u[1],x=u[2],E=u[3],P=u[4],D=u[5],F=u[6],V=u[7],q=u[8],X=u[9],rt=u[10],at=u[11],ct=u[12],mt=u[13],bt=u[14],Pt=u[15],jt=a[0],Rt=a[1],Gt=a[2],Yt=a[3],ce=a[4],Ne=a[5],ir=a[6],Fe=a[7],Re=a[8],Me=a[9],Ye=a[10],Ie=a[11],Ae=a[12],hr=a[13],sr=a[14],ri=a[15];return Math.abs(h-jt)<=we*Math.max(1,Math.abs(h),Math.abs(jt))&&Math.abs(A-Rt)<=we*Math.max(1,Math.abs(A),Math.abs(Rt))&&Math.abs(x-Gt)<=we*Math.max(1,Math.abs(x),Math.abs(Gt))&&Math.abs(E-Yt)<=we*Math.max(1,Math.abs(E),Math.abs(Yt))&&Math.abs(P-ce)<=we*Math.max(1,Math.abs(P),Math.abs(ce))&&Math.abs(D-Ne)<=we*Math.max(1,Math.abs(D),Math.abs(Ne))&&Math.abs(F-ir)<=we*Math.max(1,Math.abs(F),Math.abs(ir))&&Math.abs(V-Fe)<=we*Math.max(1,Math.abs(V),Math.abs(Fe))&&Math.abs(q-Re)<=we*Math.max(1,Math.abs(q),Math.abs(Re))&&Math.abs(X-Me)<=we*Math.max(1,Math.abs(X),Math.abs(Me))&&Math.abs(rt-Ye)<=we*Math.max(1,Math.abs(rt),Math.abs(Ye))&&Math.abs(at-Ie)<=we*Math.max(1,Math.abs(at),Math.abs(Ie))&&Math.abs(ct-Ae)<=we*Math.max(1,Math.abs(ct),Math.abs(Ae))&&Math.abs(mt-hr)<=we*Math.max(1,Math.abs(mt),Math.abs(hr))&&Math.abs(bt-sr)<=we*Math.max(1,Math.abs(bt),Math.abs(sr))&&Math.abs(Pt-ri)<=we*Math.max(1,Math.abs(Pt),Math.abs(ri))},n.b2=function(u,a){return u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[4]=a[4],u[5]=a[5],u[6]=a[6],u[7]=a[7],u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.b3=function(u,a,h){return u[0]=a[0]*h[0],u[1]=a[1]*h[1],u[2]=a[2]*h[2],u[3]=a[3]*h[3],u},n.b4=function(u,a){return u[0]*a[0]+u[1]*a[1]+u[2]*a[2]+u[3]*a[3]},n.b5=Et,n.b6=O6,n.b7=k6,n.b8=function(u,a,h,A,x){var E,P=1/Math.tan(a/2);return u[0]=P/h,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=P,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=-1,u[12]=0,u[13]=0,u[15]=0,x!=null&&x!==1/0?(u[10]=(x+A)*(E=1/(A-x)),u[14]=2*x*A*E):(u[10]=-1,u[14]=-2*A),u},n.b9=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[4],P=a[5],D=a[6],F=a[7],V=a[8],q=a[9],X=a[10],rt=a[11];return a!==u&&(u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[4]=E*x+V*A,u[5]=P*x+q*A,u[6]=D*x+X*A,u[7]=F*x+rt*A,u[8]=V*x-E*A,u[9]=q*x-P*A,u[10]=X*x-D*A,u[11]=rt*x-F*A,u},n.bA=f,n.bB=a6,n.bC=Qp,n.bD=ua,n.ba=K,n.bb=J,n.bc=function(u,a){return u[0]=a[0],u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=a[1],u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=a[2],u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},n.bd=class extends gh{},n.be=BC,n.bf=R6,n.bg=AJ,n.bi=Xi,n.bj=function(u,a,h=!1){if(us===u0||us===iA||us===nA)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");_u=kc.resolveURL(u),us=u0,ph=a,h0(),h||v_()},n.bk=f0,n.bl=function(u,a){let h={};for(let x=0;xAe*Hs)}let Fe=P?\"center\":h.get(\"text-justify\").evaluate(V,{},u.canonical),Re=h.get(\"symbol-placement\"),Me=Re===\"point\"?h.get(\"text-max-width\").evaluate(V,{},u.canonical)*Hs:0,Ye=()=>{u.bucket.allowVerticalPlacement&&o0(Gt)&&(ct.vertical=nT(mt,u.glyphMap,u.glyphPositions,u.imagePositions,q,Me,E,Ne,\"left\",ce,Pt,n.ai.vertical,!0,Re,rt,X))};if(!P&&ir){let Ie=new Set;if(Fe===\"auto\")for(let hr=0;hr{a(null,h),URL.revokeObjectURL(h.src),h.onload=null,window.requestAnimationFrame(()=>{h.src=No})},h.onerror=()=>a(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let A=new Blob([new Uint8Array(u)],{type:\"image/png\"});h.src=u.byteLength?URL.createObjectURL(A):No},n.e=kt,n.f=function(u,a){return Vo(kt(u,{type:\"json\"}),a)},n.g=ki,n.h=kc,n.i=Li,n.j=ao,n.k=as,n.l=cl,n.m=Vo,n.n=function(u){return new MC(u).readFields(WK,[])},n.o=function(u,a,h){if(!u.length)return h(null,[]);let A=u.length,x=new Array(u.length),E=null;u.forEach((P,D)=>{a(P,(F,V)=>{F&&(E=F),x[D]=V,--A==0&&h(E,x)})})},n.p=A6,n.q=Vx,n.r=Hn,n.s=xo,n.t=hh,n.u=Oe,n.v=ee,n.w=Ke,n.x=fh,n.y=za,n.z=function([u,a,h]){return a+=90,a*=Math.PI/180,h*=Math.PI/180,{x:u*Math.cos(a)*Math.sin(h),y:u*Math.sin(a)*Math.sin(h),z:u*Math.cos(h)}}}),i([\"./shared\"],function(n){\"use strict\";class o{constructor(tt){this.keyCache={},tt&&this.replace(tt)}replace(tt){this._layerConfigs={},this._layers={},this.update(tt,[])}update(tt,nt){for(let vt of tt){this._layerConfigs[vt.id]=vt;let xt=this._layers[vt.id]=n.aC(vt);xt._featureFilter=n.a6(xt.filter),this.keyCache[vt.id]&&delete this.keyCache[vt.id]}for(let vt of nt)delete this.keyCache[vt],delete this._layerConfigs[vt],delete this._layers[vt];this.familiesBySource={};let ht=n.bl(Object.values(this._layerConfigs),this.keyCache);for(let vt of ht){let xt=vt.map(se=>this._layers[se.id]),_t=xt[0];if(_t.visibility===\"none\")continue;let Dt=_t.source||\"\",Mt=this.familiesBySource[Dt];Mt||(Mt=this.familiesBySource[Dt]={});let Vt=_t.sourceLayer||\"_geojsonTileLayer\",ie=Mt[Vt];ie||(ie=Mt[Vt]=[]),ie.push(xt)}}}class c{constructor(tt){let nt={},ht=[];for(let Dt in tt){let Mt=tt[Dt],Vt=nt[Dt]={};for(let ie in Mt){let se=Mt[+ie];if(!se||se.bitmap.width===0||se.bitmap.height===0)continue;let ae={x:0,y:0,w:se.bitmap.width+2,h:se.bitmap.height+2};ht.push(ae),Vt[ie]={rect:ae,metrics:se.metrics}}}let{w:vt,h:xt}=n.p(ht),_t=new n.q({width:vt||1,height:xt||1});for(let Dt in tt){let Mt=tt[Dt];for(let Vt in Mt){let ie=Mt[+Vt];if(!ie||ie.bitmap.width===0||ie.bitmap.height===0)continue;let se=nt[Dt][Vt].rect;n.q.copy(ie.bitmap,_t,{x:0,y:0},{x:se.x+1,y:se.y+1},ie.bitmap)}}this.image=_t,this.positions=nt}}n.bm(\"GlyphAtlas\",c);class f{constructor(tt){this.tileID=new n.O(tt.tileID.overscaledZ,tt.tileID.wrap,tt.tileID.canonical.z,tt.tileID.canonical.x,tt.tileID.canonical.y),this.uid=tt.uid,this.zoom=tt.zoom,this.pixelRatio=tt.pixelRatio,this.tileSize=tt.tileSize,this.source=tt.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=tt.showCollisionBoxes,this.collectResourceTiming=!!tt.collectResourceTiming,this.returnDependencies=!!tt.returnDependencies,this.promoteId=tt.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(tt,nt,ht,vt,xt){this.status=\"parsing\",this.data=tt,this.collisionBoxArray=new n.a3;let _t=new n.bn(Object.keys(tt.layers).sort()),Dt=new n.bo(this.tileID,this.promoteId);Dt.bucketLayerIDs=[];let Mt={},Vt={featureIndex:Dt,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ht},ie=nt.familiesBySource[this.source];for(let ni in ie){let Hr=tt.layers[ni];if(!Hr)continue;Hr.version===1&&n.w(`Vector tile source \"${this.source}\" layer \"${ni}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let jn=_t.encode(ni),Bi=[];for(let xn=0;xn=es.maxzoom||es.visibility!==\"none\"&&(_(xn,this.zoom,ht),(Mt[es.id]=es.createBucket({index:Dt.bucketLayerIDs.length,layers:xn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:jn,sourceID:this.source})).populate(Bi,Vt,this.tileID.canonical),Dt.bucketLayerIDs.push(xn.map(oa=>oa.id)))}}let se,ae,lr,vr,Xe=n.aH(Vt.glyphDependencies,ni=>Object.keys(ni).map(Number));this.inFlightDependencies.forEach(ni=>ni?.cancel()),this.inFlightDependencies=[];let cr=++this.dependencySentinel;Object.keys(Xe).length?this.inFlightDependencies.push(vt.send(\"getGlyphs\",{uid:this.uid,stacks:Xe,source:this.source,tileID:this.tileID,type:\"glyphs\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,ae=Hr,zi.call(this)))})):ae={};let wr=Object.keys(Vt.iconDependencies);wr.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:wr,source:this.source,tileID:this.tileID,type:\"icons\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,lr=Hr,zi.call(this)))})):lr={};let xi=Object.keys(Vt.patternDependencies);function zi(){if(se)return xt(se);if(ae&&lr&&vr){let ni=new c(ae),Hr=new n.bp(lr,vr);for(let jn in Mt){let Bi=Mt[jn];Bi instanceof n.a4?(_(Bi.layers,this.zoom,ht),n.bq({bucket:Bi,glyphMap:ae,glyphPositions:ni.positions,imageMap:lr,imagePositions:Hr.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Bi.hasPattern&&(Bi instanceof n.br||Bi instanceof n.bs||Bi instanceof n.bt)&&(_(Bi.layers,this.zoom,ht),Bi.addFeatures(Vt,this.tileID.canonical,Hr.patternPositions))}this.status=\"done\",xt(null,{buckets:Object.values(Mt).filter(jn=>!jn.isEmpty()),featureIndex:Dt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ni.image,imageAtlas:Hr,glyphMap:this.returnDependencies?ae:null,iconMap:this.returnDependencies?lr:null,glyphPositions:this.returnDependencies?ni.positions:null})}}xi.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:xi,source:this.source,tileID:this.tileID,type:\"patterns\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,vr=Hr,zi.call(this)))})):vr={},zi.call(this)}}function _(gt,tt,nt){let ht=new n.a8(tt);for(let vt of gt)vt.recalculate(ht,nt)}function w(gt,tt){let nt=n.l(gt.request,(ht,vt,xt,_t)=>{if(ht)tt(ht);else if(vt)try{let Dt=new n.bw.VectorTile(new n.bv(vt));tt(null,{vectorTile:Dt,rawData:vt,cacheControl:xt,expires:_t})}catch(Dt){let Mt=new Uint8Array(vt),Vt=`Unable to parse the tile at ${gt.request.url}, `;Vt+=Mt[0]===31&&Mt[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Dt.messge}`,tt(new Error(Vt))}});return()=>{nt.cancel(),tt()}}class I{constructor(tt,nt,ht,vt){this.actor=tt,this.layerIndex=nt,this.availableImages=ht,this.loadVectorData=vt||w,this.fetching={},this.loading={},this.loaded={}}loadTile(tt,nt){let ht=tt.uid;this.loading||(this.loading={});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request),xt=this.loading[ht]=new f(tt);xt.abort=this.loadVectorData(tt,(_t,Dt)=>{if(delete this.loading[ht],_t||!Dt)return xt.status=\"done\",this.loaded[ht]=xt,nt(_t);let Mt=Dt.rawData,Vt={};Dt.expires&&(Vt.expires=Dt.expires),Dt.cacheControl&&(Vt.cacheControl=Dt.cacheControl);let ie={};if(vt){let se=vt.finish();se&&(ie.resourceTiming=JSON.parse(JSON.stringify(se)))}xt.vectorTile=Dt.vectorTile,xt.parse(Dt.vectorTile,this.layerIndex,this.availableImages,this.actor,(se,ae)=>{if(delete this.fetching[ht],se||!ae)return nt(se);nt(null,n.e({rawTileData:Mt.slice(0)},ae,Vt,ie))}),this.loaded=this.loaded||{},this.loaded[ht]=xt,this.fetching[ht]={rawTileData:Mt,cacheControl:Vt,resourceTiming:ie}})}reloadTile(tt,nt){let ht=this.loaded,vt=tt.uid;if(ht&&ht[vt]){let xt=ht[vt];xt.showCollisionBoxes=tt.showCollisionBoxes,xt.status===\"parsing\"?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,(_t,Dt)=>{if(_t||!Dt)return nt(_t,Dt);let Mt;if(this.fetching[vt]){let{rawTileData:Vt,cacheControl:ie,resourceTiming:se}=this.fetching[vt];delete this.fetching[vt],Mt=n.e({rawTileData:Vt.slice(0)},Dt,ie,se)}else Mt=Dt;nt(null,Mt)}):xt.status===\"done\"&&(xt.vectorTile?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,nt):nt())}}abortTile(tt,nt){let ht=this.loading,vt=tt.uid;ht&&ht[vt]&&ht[vt].abort&&(ht[vt].abort(),delete ht[vt]),nt()}removeTile(tt,nt){let ht=this.loaded,vt=tt.uid;ht&&ht[vt]&&delete ht[vt],nt()}}class R{constructor(){this.loaded={}}loadTile(tt,nt){return n._(this,void 0,void 0,function*(){let{uid:ht,encoding:vt,rawImageData:xt,redFactor:_t,greenFactor:Dt,blueFactor:Mt,baseShift:Vt}=tt,ie=xt.width+2,se=xt.height+2,ae=n.a(xt)?new n.R({width:ie,height:se},yield n.bx(xt,-1,-1,ie,se)):xt,lr=new n.by(ht,ae,vt,_t,Dt,Mt,Vt);this.loaded=this.loaded||{},this.loaded[ht]=lr,nt(null,lr)})}removeTile(tt){let nt=this.loaded,ht=tt.uid;nt&&nt[ht]&&delete nt[ht]}}function N(gt,tt){if(gt.length!==0){j(gt[0],tt);for(var nt=1;nt=Math.abs(Dt)?nt-Mt+Dt:Dt-Mt+nt,nt=Mt}nt+ht>=0!=!!tt&>.reverse()}var Q=n.bz(function gt(tt,nt){var ht,vt=tt&&tt.type;if(vt===\"FeatureCollection\")for(ht=0;ht>31}function Li(gt,tt){for(var nt=gt.loadGeometry(),ht=gt.type,vt=0,xt=0,_t=nt.length,Dt=0;Dt<_t;Dt++){var Mt=nt[Dt],Vt=1;ht===1&&(Vt=Mt.length),tt.writeVarint(rr(1,Vt));for(var ie=ht===3?Mt.length-1:Mt.length,se=0;segt},ih=Math.fround||(Uo=new Float32Array(1),gt=>(Uo[0]=+gt,Uo[0]));var Uo;let Si=3,Ns=5,ll=6;class kc{constructor(tt){this.options=Object.assign(Object.create(No),tt),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(tt){let{log:nt,minZoom:ht,maxZoom:vt}=this.options;nt&&console.time(\"total time\");let xt=`prepare ${tt.length} points`;nt&&console.time(xt),this.points=tt;let _t=[];for(let Mt=0;Mt=ht;Mt--){let Vt=+Date.now();Dt=this.trees[Mt]=this._createTree(this._cluster(Dt,Mt)),nt&&console.log(\"z%d: %d clusters in %dms\",Mt,Dt.numItems,+Date.now()-Vt)}return nt&&console.timeEnd(\"total time\"),this}getClusters(tt,nt){let ht=((tt[0]+180)%360+360)%360-180,vt=Math.max(-90,Math.min(90,tt[1])),xt=tt[2]===180?180:((tt[2]+180)%360+360)%360-180,_t=Math.max(-90,Math.min(90,tt[3]));if(tt[2]-tt[0]>=360)ht=-180,xt=180;else if(ht>xt){let se=this.getClusters([ht,vt,180,_t],nt),ae=this.getClusters([-180,vt,xt,_t],nt);return se.concat(ae)}let Dt=this.trees[this._limitZoom(nt)],Mt=Dt.range(Jn(ht),ki(_t),Jn(xt),ki(vt)),Vt=Dt.data,ie=[];for(let se of Mt){let ae=this.stride*se;ie.push(Vt[ae+Ns]>1?Rc(Vt,ae,this.clusterProps):this.points[Vt[ae+Si]])}return ie}getChildren(tt){let nt=this._getOriginId(tt),ht=this._getOriginZoom(tt),vt=\"No cluster with the specified id.\",xt=this.trees[ht];if(!xt)throw new Error(vt);let _t=xt.data;if(nt*this.stride>=_t.length)throw new Error(vt);let Dt=this.options.radius/(this.options.extent*Math.pow(2,ht-1)),Mt=xt.within(_t[nt*this.stride],_t[nt*this.stride+1],Dt),Vt=[];for(let ie of Mt){let se=ie*this.stride;_t[se+4]===tt&&Vt.push(_t[se+Ns]>1?Rc(_t,se,this.clusterProps):this.points[_t[se+Si]])}if(Vt.length===0)throw new Error(vt);return Vt}getLeaves(tt,nt,ht){let vt=[];return this._appendLeaves(vt,tt,nt=nt||10,ht=ht||0,0),vt}getTile(tt,nt,ht){let vt=this.trees[this._limitZoom(tt)],xt=Math.pow(2,tt),{extent:_t,radius:Dt}=this.options,Mt=Dt/_t,Vt=(ht-Mt)/xt,ie=(ht+1+Mt)/xt,se={features:[]};return this._addTileFeatures(vt.range((nt-Mt)/xt,Vt,(nt+1+Mt)/xt,ie),vt.data,nt,ht,xt,se),nt===0&&this._addTileFeatures(vt.range(1-Mt/xt,Vt,1,ie),vt.data,xt,ht,xt,se),nt===xt-1&&this._addTileFeatures(vt.range(0,Vt,Mt/xt,ie),vt.data,-1,ht,xt,se),se.features.length?se:null}getClusterExpansionZoom(tt){let nt=this._getOriginZoom(tt)-1;for(;nt<=this.options.maxZoom;){let ht=this.getChildren(tt);if(nt++,ht.length!==1)break;tt=ht[0].properties.cluster_id}return nt}_appendLeaves(tt,nt,ht,vt,xt){let _t=this.getChildren(nt);for(let Dt of _t){let Mt=Dt.properties;if(Mt&&Mt.cluster?xt+Mt.point_count<=vt?xt+=Mt.point_count:xt=this._appendLeaves(tt,Mt.cluster_id,ht,vt,xt):xt1,ie,se,ae;if(Vt)ie=Xi(nt,Mt,this.clusterProps),se=nt[Mt],ae=nt[Mt+1];else{let Xe=this.points[nt[Mt+Si]];ie=Xe.properties;let[cr,wr]=Xe.geometry.coordinates;se=Jn(cr),ae=ki(wr)}let lr={type:1,geometry:[[Math.round(this.options.extent*(se*xt-ht)),Math.round(this.options.extent*(ae*xt-vt))]],tags:ie},vr;vr=Vt||this.options.generateId?nt[Mt+Si]:this.points[nt[Mt+Si]].id,vr!==void 0&&(lr.id=vr),_t.features.push(lr)}}_limitZoom(tt){return Math.max(this.options.minZoom,Math.min(Math.floor(+tt),this.options.maxZoom+1))}_cluster(tt,nt){let{radius:ht,extent:vt,reduce:xt,minPoints:_t}=this.options,Dt=ht/(vt*Math.pow(2,nt)),Mt=tt.data,Vt=[],ie=this.stride;for(let se=0;sent&&(cr+=Mt[xi+Ns])}if(cr>Xe&&cr>=_t){let wr,xi=ae*Xe,zi=lr*Xe,ni=-1,Hr=((se/ie|0)<<5)+(nt+1)+this.points.length;for(let jn of vr){let Bi=jn*ie;if(Mt[Bi+2]<=nt)continue;Mt[Bi+2]=nt;let xn=Mt[Bi+Ns];xi+=Mt[Bi]*xn,zi+=Mt[Bi+1]*xn,Mt[Bi+4]=Hr,xt&&(wr||(wr=this._map(Mt,se,!0),ni=this.clusterProps.length,this.clusterProps.push(wr)),xt(wr,this._map(Mt,Bi)))}Mt[se+4]=Hr,Vt.push(xi/cr,zi/cr,1/0,Hr,-1,cr),xt&&Vt.push(ni)}else{for(let wr=0;wr1)for(let wr of vr){let xi=wr*ie;if(!(Mt[xi+2]<=nt)){Mt[xi+2]=nt;for(let zi=0;zi>5}_getOriginZoom(tt){return(tt-this.points.length)%32}_map(tt,nt,ht){if(tt[nt+Ns]>1){let _t=this.clusterProps[tt[nt+ll]];return ht?Object.assign({},_t):_t}let vt=this.points[tt[nt+Si]].properties,xt=this.options.map(vt);return ht&&xt===vt?Object.assign({},xt):xt}}function Rc(gt,tt,nt){return{type:\"Feature\",id:gt[tt+Si],properties:Xi(gt,tt,nt),geometry:{type:\"Point\",coordinates:[(ht=gt[tt],360*(ht-.5)),ts(gt[tt+1])]}};var ht}function Xi(gt,tt,nt){let ht=gt[tt+Ns],vt=ht>=1e4?`${Math.round(ht/1e3)}k`:ht>=1e3?Math.round(ht/100)/10+\"k\":ht,xt=gt[tt+ll],_t=xt===-1?{}:Object.assign({},nt[xt]);return Object.assign(_t,{cluster:!0,cluster_id:gt[tt+Si],point_count:ht,point_count_abbreviated:vt})}function Jn(gt){return gt/360+.5}function ki(gt){let tt=Math.sin(gt*Math.PI/180),nt=.5-.25*Math.log((1+tt)/(1-tt))/Math.PI;return nt<0?0:nt>1?1:nt}function ts(gt){let tt=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(tt))/Math.PI-90}function Vo(gt,tt,nt,ht){for(var vt,xt=ht,_t=nt-tt>>1,Dt=nt-tt,Mt=gt[tt],Vt=gt[tt+1],ie=gt[nt],se=gt[nt+1],ae=tt+3;aext)vt=ae,xt=lr;else if(lr===xt){var vr=Math.abs(ae-_t);vrht&&(vt-tt>3&&Vo(gt,tt,vt,ht),gt[vt+2]=xt,nt-vt>3&&Vo(gt,vt,nt,ht))}function cl(gt,tt,nt,ht,vt,xt){var _t=vt-nt,Dt=xt-ht;if(_t!==0||Dt!==0){var Mt=((gt-nt)*_t+(tt-ht)*Dt)/(_t*_t+Dt*Dt);Mt>1?(nt=vt,ht=xt):Mt>0&&(nt+=_t*Mt,ht+=Dt*Mt)}return(_t=gt-nt)*_t+(Dt=tt-ht)*Dt}function xo(gt,tt,nt,ht){var vt={id:gt===void 0?null:gt,type:tt,geometry:nt,tags:ht,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(xt){var _t=xt.geometry,Dt=xt.type;if(Dt===\"Point\"||Dt===\"MultiPoint\"||Dt===\"LineString\")Pa(xt,_t);else if(Dt===\"Polygon\"||Dt===\"MultiLineString\")for(var Mt=0;Mt<_t.length;Mt++)Pa(xt,_t[Mt]);else if(Dt===\"MultiPolygon\")for(Mt=0;Mt<_t.length;Mt++)for(var Vt=0;Vt<_t[Mt].length;Vt++)Pa(xt,_t[Mt][Vt])}(vt),vt}function Pa(gt,tt){for(var nt=0;nt0&&(_t+=ht?(vt*Vt-Mt*xt)/2:Math.sqrt(Math.pow(Mt-vt,2)+Math.pow(Vt-xt,2))),vt=Mt,xt=Vt}var ie=tt.length-3;tt[2]=1,Vo(tt,0,ie,nt),tt[ie+2]=1,tt.size=Math.abs(_t),tt.start=0,tt.end=tt.size}function Nl(gt,tt,nt,ht){for(var vt=0;vt1?1:nt}function mn(gt,tt,nt,ht,vt,xt,_t,Dt){if(ht/=tt,xt>=(nt/=tt)&&_t=ht)return null;for(var Mt=[],Vt=0;Vt=nt&&vr=ht)){var Xe=[];if(ae===\"Point\"||ae===\"MultiPoint\")gi(se,Xe,nt,ht,vt);else if(ae===\"LineString\")oi(se,Xe,nt,ht,vt,!1,Dt.lineMetrics);else if(ae===\"MultiLineString\")du(se,Xe,nt,ht,vt,!1);else if(ae===\"Polygon\")du(se,Xe,nt,ht,vt,!0);else if(ae===\"MultiPolygon\")for(var cr=0;cr=nt&&_t<=ht&&(tt.push(gt[xt]),tt.push(gt[xt+1]),tt.push(gt[xt+2]))}}function oi(gt,tt,nt,ht,vt,xt,_t){for(var Dt,Mt,Vt=lo(gt),ie=vt===0?bo:hl,se=gt.start,ae=0;aent&&(Mt=ie(Vt,lr,vr,cr,wr,nt),_t&&(Vt.start=se+Dt*Mt)):xi>ht?zi=nt&&(Mt=ie(Vt,lr,vr,cr,wr,nt),ni=!0),zi>ht&&xi<=ht&&(Mt=ie(Vt,lr,vr,cr,wr,ht),ni=!0),!xt&&ni&&(_t&&(Vt.end=se+Dt*Mt),tt.push(Vt),Vt=lo(gt)),_t&&(se+=Dt)}var Hr=gt.length-3;lr=gt[Hr],vr=gt[Hr+1],Xe=gt[Hr+2],(xi=vt===0?lr:vr)>=nt&&xi<=ht&&ul(Vt,lr,vr,Xe),Hr=Vt.length-3,xt&&Hr>=3&&(Vt[Hr]!==Vt[0]||Vt[Hr+1]!==Vt[1])&&ul(Vt,Vt[0],Vt[1],Vt[2]),Vt.length&&tt.push(Vt)}function lo(gt){var tt=[];return tt.size=gt.size,tt.start=gt.start,tt.end=gt.end,tt}function du(gt,tt,nt,ht,vt,xt){for(var _t=0;_t_t.maxX&&(_t.maxX=ie),se>_t.maxY&&(_t.maxY=se)}return _t}function Ul(gt,tt,nt,ht){var vt=tt.geometry,xt=tt.type,_t=[];if(xt===\"Point\"||xt===\"MultiPoint\")for(var Dt=0;Dt0&&tt.size<(vt?_t:ht))nt.numPoints+=tt.length/3;else{for(var Dt=[],Mt=0;Mt_t)&&(nt.numSimplified++,Dt.push(tt[Mt]),Dt.push(tt[Mt+1])),nt.numPoints++;vt&&function(Vt,ie){for(var se=0,ae=0,lr=Vt.length,vr=lr-2;ae0===ie)for(ae=0,lr=Vt.length;ae24)throw new Error(\"maxZoom should be in the 0-24 range\");if(tt.promoteId&&tt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var ht=function(vt,xt){var _t=[];if(vt.type===\"FeatureCollection\")for(var Dt=0;Dt1&&console.time(\"creation\"),ae=this.tiles[se]=gn(gt,tt,nt,ht,Mt),this.tileCoords.push({z:tt,x:nt,y:ht}),Vt)){Vt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",tt,nt,ht,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd(\"creation\"));var lr=\"z\"+tt;this.stats[lr]=(this.stats[lr]||0)+1,this.total++}if(ae.source=gt,vt){if(tt===Mt.maxZoom||tt===vt)continue;var vr=1<1&&console.time(\"clipping\");var Xe,cr,wr,xi,zi,ni,Hr=.5*Mt.buffer/Mt.extent,jn=.5-Hr,Bi=.5+Hr,xn=1+Hr;Xe=cr=wr=xi=null,zi=mn(gt,ie,nt-Hr,nt+Bi,0,ae.minX,ae.maxX,Mt),ni=mn(gt,ie,nt+jn,nt+xn,0,ae.minX,ae.maxX,Mt),gt=null,zi&&(Xe=mn(zi,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),cr=mn(zi,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),zi=null),ni&&(wr=mn(ni,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),xi=mn(ni,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),ni=null),Vt>1&&console.timeEnd(\"clipping\"),Dt.push(Xe||[],tt+1,2*nt,2*ht),Dt.push(cr||[],tt+1,2*nt,2*ht+1),Dt.push(wr||[],tt+1,2*nt+1,2*ht),Dt.push(xi||[],tt+1,2*nt+1,2*ht+1)}}},Te.prototype.getTile=function(gt,tt,nt){var ht=this.options,vt=ht.extent,xt=ht.debug;if(gt<0||gt>24)return null;var _t=1<1&&console.log(\"drilling down to z%d-%d-%d\",gt,tt,nt);for(var Mt,Vt=gt,ie=tt,se=nt;!Mt&&Vt>0;)Vt--,ie=Math.floor(ie/2),se=Math.floor(se/2),Mt=this.tiles[Dr(Vt,ie,se)];return Mt&&Mt.source?(xt>1&&console.log(\"found parent tile z%d-%d-%d\",Vt,ie,se),xt>1&&console.time(\"drilling down\"),this.splitTile(Mt.source,Vt,ie,se,gt,tt,nt),xt>1&&console.timeEnd(\"drilling down\"),this.tiles[Dt]?ve(this.tiles[Dt],vt):null):null};class Mr extends I{constructor(tt,nt,ht,vt){super(tt,nt,ht),this._dataUpdateable=new Map,this.loadGeoJSON=(xt,_t)=>{let{promoteId:Dt}=xt;if(xt.request)return n.f(xt.request,(Mt,Vt,ie,se)=>{this._dataUpdateable=Us(Vt,Dt)?La(Vt,Dt):void 0,_t(Mt,Vt,ie,se)});if(typeof xt.data==\"string\")try{let Mt=JSON.parse(xt.data);this._dataUpdateable=Us(Mt,Dt)?La(Mt,Dt):void 0,_t(null,Mt)}catch{_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`))}else xt.dataDiff?this._dataUpdateable?(function(Mt,Vt,ie){var se,ae,lr,vr;if(Vt.removeAll&&Mt.clear(),Vt.remove)for(let Xe of Vt.remove)Mt.delete(Xe);if(Vt.add)for(let Xe of Vt.add){let cr=gr(Xe,ie);cr!=null&&Mt.set(cr,Xe)}if(Vt.update)for(let Xe of Vt.update){let cr=Mt.get(Xe.id);if(cr==null)continue;let wr=!Xe.removeAllProperties&&(((se=Xe.removeProperties)===null||se===void 0?void 0:se.length)>0||((ae=Xe.addOrUpdateProperties)===null||ae===void 0?void 0:ae.length)>0);if((Xe.newGeometry||Xe.removeAllProperties||wr)&&(cr=Object.assign({},cr),Mt.set(Xe.id,cr),wr&&(cr.properties=Object.assign({},cr.properties))),Xe.newGeometry&&(cr.geometry=Xe.newGeometry),Xe.removeAllProperties)cr.properties={};else if(((lr=Xe.removeProperties)===null||lr===void 0?void 0:lr.length)>0)for(let xi of Xe.removeProperties)Object.prototype.hasOwnProperty.call(cr.properties,xi)&&delete cr.properties[xi];if(((vr=Xe.addOrUpdateProperties)===null||vr===void 0?void 0:vr.length)>0)for(let{key:xi,value:zi}of Xe.addOrUpdateProperties)cr.properties[xi]=zi}}(this._dataUpdateable,xt.dataDiff,Dt),_t(null,{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())})):_t(new Error(`Cannot update existing geojson data in ${xt.source}`)):_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},this.loadVectorData=this.loadGeoJSONTile,vt&&(this.loadGeoJSON=vt)}loadGeoJSONTile(tt,nt){let ht=tt.tileID.canonical;if(!this._geoJSONIndex)return nt(null,null);let vt=this._geoJSONIndex.getTile(ht.z,ht.x,ht.y);if(!vt)return nt(null,null);let xt=new class{constructor(Dt){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=n.N,this.length=Dt.length,this._features=Dt}feature(Dt){return new class{constructor(Mt){this._feature=Mt,this.extent=n.N,this.type=Mt.type,this.properties=Mt.tags,\"id\"in Mt&&!isNaN(Mt.id)&&(this.id=parseInt(Mt.id,10))}loadGeometry(){if(this._feature.type===1){let Mt=[];for(let Vt of this._feature.geometry)Mt.push([new n.P(Vt[0],Vt[1])]);return Mt}{let Mt=[];for(let Vt of this._feature.geometry){let ie=[];for(let se of Vt)ie.push(new n.P(se[0],se[1]));Mt.push(ie)}return Mt}}toGeoJSON(Mt,Vt,ie){return et.call(this,Mt,Vt,ie)}}(this._features[Dt])}}(vt.features),_t=zl(xt);_t.byteOffset===0&&_t.byteLength===_t.buffer.byteLength||(_t=new Uint8Array(_t)),nt(null,{vectorTile:xt,rawData:_t.buffer})}loadData(tt,nt){var ht;(ht=this._pendingRequest)===null||ht===void 0||ht.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request);this._pendingCallback=nt,this._pendingRequest=this.loadGeoJSON(tt,(xt,_t)=>{if(delete this._pendingCallback,delete this._pendingRequest,xt||!_t)return nt(xt);if(typeof _t!=\"object\")return nt(new Error(`Input data given to '${tt.source}' is not a valid GeoJSON object.`));{Q(_t,!0);try{if(tt.filter){let Mt=n.bC(tt.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Mt.result===\"error\")throw new Error(Mt.value.map(ie=>`${ie.key}: ${ie.message}`).join(\", \"));_t={type:\"FeatureCollection\",features:_t.features.filter(ie=>Mt.value.evaluate({zoom:0},ie))}}this._geoJSONIndex=tt.cluster?new kc(function({superclusterOptions:Mt,clusterProperties:Vt}){if(!Vt||!Mt)return Mt;let ie={},se={},ae={accumulated:null,zoom:0},lr={properties:null},vr=Object.keys(Vt);for(let Xe of vr){let[cr,wr]=Vt[Xe],xi=n.bC(wr),zi=n.bC(typeof cr==\"string\"?[cr,[\"accumulated\"],[\"get\",Xe]]:cr);ie[Xe]=xi.value,se[Xe]=zi.value}return Mt.map=Xe=>{lr.properties=Xe;let cr={};for(let wr of vr)cr[wr]=ie[wr].evaluate(ae,lr);return cr},Mt.reduce=(Xe,cr)=>{lr.properties=cr;for(let wr of vr)ae.accumulated=Xe[wr],Xe[wr]=se[wr].evaluate(ae,lr)},Mt}(tt)).load(_t.features):function(Mt,Vt){return new Te(Mt,Vt)}(_t,tt.geojsonVtOptions)}catch(Mt){return nt(Mt)}this.loaded={};let Dt={};if(vt){let Mt=vt.finish();Mt&&(Dt.resourceTiming={},Dt.resourceTiming[tt.source]=JSON.parse(JSON.stringify(Mt)))}nt(null,Dt)}})}reloadTile(tt,nt){let ht=this.loaded;return ht&&ht[tt.uid]?super.reloadTile(tt,nt):this.loadTile(tt,nt)}removeSource(tt,nt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),nt()}getClusterExpansionZoom(tt,nt){try{nt(null,this._geoJSONIndex.getClusterExpansionZoom(tt.clusterId))}catch(ht){nt(ht)}}getClusterChildren(tt,nt){try{nt(null,this._geoJSONIndex.getChildren(tt.clusterId))}catch(ht){nt(ht)}}getClusterLeaves(tt,nt){try{nt(null,this._geoJSONIndex.getLeaves(tt.clusterId,tt.limit,tt.offset))}catch(ht){nt(ht)}}}class sa{constructor(tt){this.self=tt,this.actor=new n.C(tt,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:I,geojson:Mr},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(nt,ht)=>{if(this.workerSourceTypes[nt])throw new Error(`Worker source with name \"${nt}\" already registered.`);this.workerSourceTypes[nt]=ht},this.self.registerRTLTextPlugin=nt=>{if(n.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");n.bD.applyArabicShaping=nt.applyArabicShaping,n.bD.processBidirectionalText=nt.processBidirectionalText,n.bD.processStyledBidirectionalText=nt.processStyledBidirectionalText}}setReferrer(tt,nt){this.referrer=nt}setImages(tt,nt,ht){this.availableImages[tt]=nt;for(let vt in this.workerSources[tt]){let xt=this.workerSources[tt][vt];for(let _t in xt)xt[_t].availableImages=nt}ht()}setLayers(tt,nt,ht){this.getLayerIndex(tt).replace(nt),ht()}updateLayers(tt,nt,ht){this.getLayerIndex(tt).update(nt.layers,nt.removedIds),ht()}loadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).loadTile(nt,ht)}loadDEMTile(tt,nt,ht){this.getDEMWorkerSource(tt,nt.source).loadTile(nt,ht)}reloadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).reloadTile(nt,ht)}abortTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).abortTile(nt,ht)}removeTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).removeTile(nt,ht)}removeDEMTile(tt,nt){this.getDEMWorkerSource(tt,nt.source).removeTile(nt)}removeSource(tt,nt,ht){if(!this.workerSources[tt]||!this.workerSources[tt][nt.type]||!this.workerSources[tt][nt.type][nt.source])return;let vt=this.workerSources[tt][nt.type][nt.source];delete this.workerSources[tt][nt.type][nt.source],vt.removeSource!==void 0?vt.removeSource(nt,ht):ht()}loadWorkerSource(tt,nt,ht){try{this.self.importScripts(nt.url),ht()}catch(vt){ht(vt.toString())}}syncRTLPluginState(tt,nt,ht){try{n.bD.setState(nt);let vt=n.bD.getPluginURL();if(n.bD.isLoaded()&&!n.bD.isParsed()&&vt!=null){this.self.importScripts(vt);let xt=n.bD.isParsed();ht(xt?void 0:new Error(`RTL Text Plugin failed to import scripts from ${vt}`),xt)}}catch(vt){ht(vt.toString())}}getAvailableImages(tt){let nt=this.availableImages[tt];return nt||(nt=[]),nt}getLayerIndex(tt){let nt=this.layerIndexes[tt];return nt||(nt=this.layerIndexes[tt]=new o),nt}getWorkerSource(tt,nt,ht){return this.workerSources[tt]||(this.workerSources[tt]={}),this.workerSources[tt][nt]||(this.workerSources[tt][nt]={}),this.workerSources[tt][nt][ht]||(this.workerSources[tt][nt][ht]=new this.workerSourceTypes[nt]({send:(vt,xt,_t)=>{this.actor.send(vt,xt,_t,tt)}},this.getLayerIndex(tt),this.getAvailableImages(tt))),this.workerSources[tt][nt][ht]}getDEMWorkerSource(tt,nt){return this.demWorkerSources[tt]||(this.demWorkerSources[tt]={}),this.demWorkerSources[tt][nt]||(this.demWorkerSources[tt][nt]=new R),this.demWorkerSources[tt][nt]}}return n.i()&&(self.worker=new sa(self)),sa}),i([\"./shared\"],function(n){\"use strict\";var o=\"3.6.2\";class c{static testProp(l){if(!c.docStyle)return l[0];for(let d=0;d{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static mousePos(l,d){let v=l.getBoundingClientRect();return new n.P(d.clientX-v.left-l.clientLeft,d.clientY-v.top-l.clientTop)}static touchPos(l,d){let v=l.getBoundingClientRect(),b=[];for(let M=0;M{l=[],d=0,v=0,b={}},T.addThrottleControl=W=>{let Z=v++;return b[Z]=W,Z},T.removeThrottleControl=W=>{delete b[W],B()},T.getImage=(W,Z,$=!0)=>{f.supported&&(W.headers||(W.headers={}),W.headers.accept=\"image/webp,*/*\");let st={requestParameters:W,supportImageRefresh:$,callback:Z,cancelled:!1,completed:!1,cancel:()=>{st.completed||st.cancelled||(st.cancelled=!0,st.innerRequest&&(st.innerRequest.cancel(),d--),B())}};return l.push(st),B(),st};let M=W=>{let{requestParameters:Z,supportImageRefresh:$,callback:st}=W;return n.e(Z,{type:\"image\"}),($!==!1||n.i()||n.g(Z.url)||Z.headers&&!Object.keys(Z.headers).reduce((At,pt)=>At&&pt===\"accept\",!0)?n.m:U)(Z,(At,pt,yt,dt)=>{O(W,st,At,pt,yt,dt)})},O=(W,Z,$,st,At,pt)=>{$?Z($):st instanceof HTMLImageElement||n.a(st)?Z(null,st):st&&((yt,dt)=>{typeof createImageBitmap==\"function\"?n.b(yt,dt):n.d(yt,dt)})(st,(yt,dt)=>{yt!=null?Z(yt):dt!=null&&Z(null,dt,{cacheControl:At,expires:pt})}),W.cancelled||(W.completed=!0,d--,B())},B=()=>{let W=(()=>{let Z=Object.keys(b),$=!1;if(Z.length>0){for(let st of Z)if($=b[st](),$)break}return $})()?n.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:n.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let Z=d;Z0;Z++){let $=l.shift();if($.cancelled){Z--;continue}let st=M($);d++,$.innerRequest=st}},U=(W,Z)=>{let $=new Image,st=W.url,At=!1,pt=W.credentials;return pt&&pt===\"include\"?$.crossOrigin=\"use-credentials\":(pt&&pt===\"same-origin\"||!n.s(st))&&($.crossOrigin=\"anonymous\"),$.fetchPriority=\"high\",$.onload=()=>{Z(null,$),$.onerror=$.onload=null},$.onerror=()=>{At||Z(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\")),$.onerror=$.onload=null},$.src=st,{cancel:()=>{At=!0,$.src=\"\"}}}}(j||(j={})),j.resetRequestQueue(),function(T){T.Glyphs=\"Glyphs\",T.Image=\"Image\",T.Source=\"Source\",T.SpriteImage=\"SpriteImage\",T.SpriteJSON=\"SpriteJSON\",T.Style=\"Style\",T.Tile=\"Tile\",T.Unknown=\"Unknown\"}(Q||(Q={}));class et{constructor(l){this._transformRequestFn=l}transformRequest(l,d){return this._transformRequestFn&&this._transformRequestFn(l,d)||{url:l}}normalizeSpriteURL(l,d,v){let b=function(M){let O=M.match(Y);if(!O)throw new Error(`Unable to parse URL \"${M}\"`);return{protocol:O[1],authority:O[2],path:O[3]||\"/\",params:O[4]?O[4].split(\"&\"):[]}}(l);return b.path+=`${d}${v}`,function(M){let O=M.params.length?`?${M.params.join(\"&\")}`:\"\";return`${M.protocol}://${M.authority}${M.path}${O}`}(b)}setTransformRequest(l){this._transformRequestFn=l}}let Y=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function K(T){var l=new n.A(3);return l[0]=T[0],l[1]=T[1],l[2]=T[2],l}var J,ut=function(T,l,d){return T[0]=l[0]-d[0],T[1]=l[1]-d[1],T[2]=l[2]-d[2],T};J=new n.A(3),n.A!=Float32Array&&(J[0]=0,J[1]=0,J[2]=0);var Et=function(T){var l=T[0],d=T[1];return l*l+d*d};function kt(T){let l=[];if(typeof T==\"string\")l.push({id:\"default\",url:T});else if(T&&T.length>0){let d=[];for(let{id:v,url:b}of T){let M=`${v}${b}`;d.indexOf(M)===-1&&(d.push(M),l.push({id:v,url:b}))}}return l}function Xt(T,l,d,v,b){if(v)return void T(v);if(b!==Object.values(l).length||b!==Object.values(d).length)return;let M={};for(let O in l){M[O]={};let B=n.h.getImageCanvasContext(d[O]),U=l[O];for(let W in U){let{width:Z,height:$,x:st,y:At,sdf:pt,pixelRatio:yt,stretchX:dt,stretchY:Ft,content:Ht}=U[W];M[O][W]={data:null,pixelRatio:yt,sdf:pt,stretchX:dt,stretchY:Ft,content:Ht,spriteData:{width:Z,height:$,x:st,y:At,context:B}}}}T(null,M)}(function(){var T=new n.A(2);n.A!=Float32Array&&(T[0]=0,T[1]=0)})();class qt{constructor(l,d,v,b){this.context=l,this.format=v,this.texture=l.gl.createTexture(),this.update(d,b)}update(l,d,v){let{width:b,height:M}=l,O=!(this.size&&this.size[0]===b&&this.size[1]===M||v),{context:B}=this,{gl:U}=B;if(this.useMipmap=!!(d&&d.useMipmap),U.bindTexture(U.TEXTURE_2D,this.texture),B.pixelStoreUnpackFlipY.set(!1),B.pixelStoreUnpack.set(1),B.pixelStoreUnpackPremultiplyAlpha.set(this.format===U.RGBA&&(!d||d.premultiply!==!1)),O)this.size=[b,M],l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texImage2D(U.TEXTURE_2D,0,this.format,this.format,U.UNSIGNED_BYTE,l):U.texImage2D(U.TEXTURE_2D,0,this.format,b,M,0,this.format,U.UNSIGNED_BYTE,l.data);else{let{x:W,y:Z}=v||{x:0,y:0};l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texSubImage2D(U.TEXTURE_2D,0,W,Z,U.RGBA,U.UNSIGNED_BYTE,l):U.texSubImage2D(U.TEXTURE_2D,0,W,Z,b,M,U.RGBA,U.UNSIGNED_BYTE,l.data)}this.useMipmap&&this.isSizePowerOfTwo()&&U.generateMipmap(U.TEXTURE_2D)}bind(l,d,v){let{context:b}=this,{gl:M}=b;M.bindTexture(M.TEXTURE_2D,this.texture),v!==M.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(v=M.LINEAR),l!==this.filter&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MAG_FILTER,l),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MIN_FILTER,v||l),this.filter=l),d!==this.wrap&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_S,d),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_T,d),this.wrap=d)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:l}=this.context;l.deleteTexture(this.texture),this.texture=null}}function le(T){let{userImage:l}=T;return!!(l&&l.render&&l.render())&&(T.data.replace(new Uint8Array(l.data.buffer)),!0)}class ue extends n.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new n.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(l){if(this.loaded!==l&&(this.loaded=l,l)){for(let{ids:d,callback:v}of this.requestors)this._notify(d,v);this.requestors=[]}}getImage(l){let d=this.images[l];if(d&&!d.data&&d.spriteData){let v=d.spriteData;d.data=new n.R({width:v.width,height:v.height},v.context.getImageData(v.x,v.y,v.width,v.height).data),d.spriteData=null}return d}addImage(l,d){if(this.images[l])throw new Error(`Image id ${l} already exist, use updateImage instead`);this._validate(l,d)&&(this.images[l]=d)}_validate(l,d){let v=!0,b=d.data||d.spriteData;return this._validateStretch(d.stretchX,b&&b.width)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchX\" value`))),v=!1),this._validateStretch(d.stretchY,b&&b.height)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchY\" value`))),v=!1),this._validateContent(d.content,d)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"content\" value`))),v=!1),v}_validateStretch(l,d){if(!l)return!0;let v=0;for(let b of l){if(b[0]-1);U++,M[U]=B,O[U]=W,O[U+1]=De}for(let B=0,U=0;B{let B=this.entries[b];B||(B=this.entries[b]={glyphs:{},requests:{},ranges:{}});let U=B.glyphs[M];if(U!==void 0)return void O(null,{stack:b,id:M,glyph:U});if(U=this._tinySDF(B,b,M),U)return B.glyphs[M]=U,void O(null,{stack:b,id:M,glyph:U});let W=Math.floor(M/256);if(256*W>65535)return void O(new Error(\"glyphs > 65535 not supported\"));if(B.ranges[W])return void O(null,{stack:b,id:M,glyph:U});if(!this.url)return void O(new Error(\"glyphsUrl is not set\"));let Z=B.requests[W];Z||(Z=B.requests[W]=[],Sr.loadGlyphRange(b,W,this.url,this.requestManager,($,st)=>{if(st){for(let At in st)this._doesCharSupportLocalGlyph(+At)||(B.glyphs[+At]=st[+At]);B.ranges[W]=!0}for(let At of Z)At($,st);delete B.requests[W]})),Z.push(($,st)=>{$?O($):st&&O(null,{stack:b,id:M,glyph:st[M]||null})})},(b,M)=>{if(b)d(b);else if(M){let O={};for(let{stack:B,id:U,glyph:W}of M)(O[B]||(O[B]={}))[U]=W&&{id:W.id,bitmap:W.bitmap.clone(),metrics:W.metrics};d(null,O)}})}_doesCharSupportLocalGlyph(l){return!!this.localIdeographFontFamily&&(n.u[\"CJK Unified Ideographs\"](l)||n.u[\"Hangul Syllables\"](l)||n.u.Hiragana(l)||n.u.Katakana(l))}_tinySDF(l,d,v){let b=this.localIdeographFontFamily;if(!b||!this._doesCharSupportLocalGlyph(v))return;let M=l.tinySDF;if(!M){let B=\"400\";/bold/i.test(d)?B=\"900\":/medium/i.test(d)?B=\"500\":/light/i.test(d)&&(B=\"200\"),M=l.tinySDF=new Sr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:b,fontWeight:B})}let O=M.draw(String.fromCharCode(v));return{id:v,bitmap:new n.q({width:O.width||60,height:O.height||60},O.data),metrics:{width:O.glyphWidth/2||24,height:O.glyphHeight/2||24,left:O.glyphLeft/2+.5||0,top:O.glyphTop/2-27.5||-8,advance:O.glyphAdvance/2||24,isDoubleResolution:!0}}}}Sr.loadGlyphRange=function(T,l,d,v,b){let M=256*l,O=M+255,B=v.transformRequest(d.replace(\"{fontstack}\",T).replace(\"{range}\",`${M}-${O}`),Q.Glyphs);n.l(B,(U,W)=>{if(U)b(U);else if(W){let Z={};for(let $ of n.n(W))Z[$.id]=$;b(null,Z)}})},Sr.TinySDF=class{constructor({fontSize:T=24,buffer:l=3,radius:d=8,cutoff:v=.25,fontFamily:b=\"sans-serif\",fontWeight:M=\"normal\",fontStyle:O=\"normal\"}={}){this.buffer=l,this.cutoff=v,this.radius=d;let B=this.size=T+4*l,U=this._createCanvas(B),W=this.ctx=U.getContext(\"2d\",{willReadFrequently:!0});W.font=`${O} ${M} ${T}px ${b}`,W.textBaseline=\"alphabetic\",W.textAlign=\"left\",W.fillStyle=\"black\",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B)}_createCanvas(T){let l=document.createElement(\"canvas\");return l.width=l.height=T,l}draw(T){let{width:l,actualBoundingBoxAscent:d,actualBoundingBoxDescent:v,actualBoundingBoxLeft:b,actualBoundingBoxRight:M}=this.ctx.measureText(T),O=Math.ceil(d),B=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(M-b))),U=Math.min(this.size-this.buffer,O+Math.ceil(v)),W=B+2*this.buffer,Z=U+2*this.buffer,$=Math.max(W*Z,0),st=new Uint8ClampedArray($),At={data:st,width:W,height:Z,glyphWidth:B,glyphHeight:U,glyphTop:O,glyphLeft:0,glyphAdvance:l};if(B===0||U===0)return At;let{ctx:pt,buffer:yt,gridInner:dt,gridOuter:Ft}=this;pt.clearRect(yt,yt,B,U),pt.fillText(T,yt,yt+O);let Ht=pt.getImageData(yt,yt,B,U);Ft.fill(De,0,$),dt.fill(0,0,$);for(let St=0;St0?oe*oe:0,dt[$t]=oe<0?oe*oe:0}}Ke(Ft,0,0,W,Z,W,this.f,this.v,this.z),Ke(dt,yt,yt,B,U,W,this.f,this.v,this.z);for(let St=0;St<$;St++){let Bt=Math.sqrt(Ft[St])-Math.sqrt(dt[St]);st[St]=Math.round(255-255*(Bt/this.radius+this.cutoff))}return At}};class Li{constructor(){this.specification=n.v.light.position}possiblyEvaluate(l,d){return n.z(l.expression.evaluate(d))}interpolate(l,d,v){return{x:n.B.number(l.x,d.x,v),y:n.B.number(l.y,d.y,v),z:n.B.number(l.z,d.z,v)}}}let oo;class zl extends n.E{constructor(l){super(),oo=oo||new n.r({anchor:new n.D(n.v.light.anchor),position:new Li,color:new n.D(n.v.light.color),intensity:new n.D(n.v.light.intensity)}),this._transitionable=new n.T(oo),this.setLight(l),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(l,d={}){if(!this._validate(n.t,l,d))for(let v in l){let b=l[v];v.endsWith(\"-transition\")?this._transitionable.setTransition(v.slice(0,-11),b):this._transitionable.setValue(v,b)}}updateTransitions(l){this._transitioning=this._transitionable.transitioned(l,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(l){this.properties=this._transitioning.possiblyEvaluate(l)}_validate(l,d,v){return(!v||v.validate!==!1)&&n.x(this,l.call(n.y,n.e({value:d,style:{glyphs:!0,sprite:!0},styleSpec:n.v})))}}class No{constructor(l,d){this.width=l,this.height=d,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(l,d){let v=l.join(\",\")+String(d);return this.dashEntry[v]||(this.dashEntry[v]=this.addDash(l,d)),this.dashEntry[v]}getDashRanges(l,d,v){let b=[],M=l.length%2==1?-l[l.length-1]*v:0,O=l[0]*v,B=!0;b.push({left:M,right:O,isDash:B,zeroLength:l[0]===0});let U=l[0];for(let W=1;W1&&(U=l[++B]);let Z=Math.abs(W-U.left),$=Math.abs(W-U.right),st=Math.min(Z,$),At,pt=M/v*(b+1);if(U.isDash){let yt=b-Math.abs(pt);At=Math.sqrt(st*st+yt*yt)}else At=b-Math.sqrt(st*st+pt*pt);this.data[O+W]=Math.max(0,Math.min(255,At+128))}}}addRegularDash(l){for(let B=l.length-1;B>=0;--B){let U=l[B],W=l[B+1];U.zeroLength?l.splice(B,1):W&&W.isDash===U.isDash&&(W.left=U.left,l.splice(B,1))}let d=l[0],v=l[l.length-1];d.isDash===v.isDash&&(d.left=v.left-this.width,v.right=d.right+this.width);let b=this.width*this.nextRow,M=0,O=l[M];for(let B=0;B1&&(O=l[++M]);let U=Math.abs(B-O.left),W=Math.abs(B-O.right),Z=Math.min(U,W);this.data[b+B]=Math.max(0,Math.min(255,(O.isDash?Z:-Z)+128))}}addDash(l,d){let v=d?7:0,b=2*v+1;if(this.nextRow+b>this.height)return n.w(\"LineAtlas out of space\"),null;let M=0;for(let B=0;B{b.send(l,d,M)},v=v||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(l=!0){this.actors.forEach(d=>{d.remove()}),this.actors=[],l&&this.workerPool.release(this.id)}}function Uo(T,l,d){let v=function(b,M){if(b)return d(b);if(M){let O=n.F(n.e(M,T),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);M.vector_layers&&(O.vectorLayers=M.vector_layers,O.vectorLayerIds=O.vectorLayers.map(B=>B.id)),d(null,O)}};return T.url?n.f(l.transformRequest(T.url,Q.Source),v):n.h.frame(()=>v(null,T))}class Si{constructor(l,d){l&&(d?this.setSouthWest(l).setNorthEast(d):Array.isArray(l)&&(l.length===4?this.setSouthWest([l[0],l[1]]).setNorthEast([l[2],l[3]]):this.setSouthWest(l[0]).setNorthEast(l[1])))}setNorthEast(l){return this._ne=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}setSouthWest(l){return this._sw=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}extend(l){let d=this._sw,v=this._ne,b,M;if(l instanceof n.L)b=l,M=l;else{if(!(l instanceof Si))return Array.isArray(l)?l.length===4||l.every(Array.isArray)?this.extend(Si.convert(l)):this.extend(n.L.convert(l)):l&&(\"lng\"in l||\"lon\"in l)&&\"lat\"in l?this.extend(n.L.convert(l)):this;if(b=l._sw,M=l._ne,!b||!M)return this}return d||v?(d.lng=Math.min(b.lng,d.lng),d.lat=Math.min(b.lat,d.lat),v.lng=Math.max(M.lng,v.lng),v.lat=Math.max(M.lat,v.lat)):(this._sw=new n.L(b.lng,b.lat),this._ne=new n.L(M.lng,M.lat)),this}getCenter(){return new n.L((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new n.L(this.getWest(),this.getNorth())}getSouthEast(){return new n.L(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(l){let{lng:d,lat:v}=n.L.convert(l),b=this._sw.lng<=d&&d<=this._ne.lng;return this._sw.lng>this._ne.lng&&(b=this._sw.lng>=d&&d>=this._ne.lng),this._sw.lat<=v&&v<=this._ne.lat&&b}static convert(l){return l instanceof Si?l:l&&new Si(l)}static fromLngLat(l,d=0){let v=360*d/40075017,b=v/Math.cos(Math.PI/180*l.lat);return new Si(new n.L(l.lng-b,l.lat-v),new n.L(l.lng+b,l.lat+v))}}class Ns{constructor(l,d,v){this.bounds=Si.convert(this.validateBounds(l)),this.minzoom=d||0,this.maxzoom=v||24}validateBounds(l){return Array.isArray(l)&&l.length===4?[Math.max(-180,l[0]),Math.max(-90,l[1]),Math.min(180,l[2]),Math.min(90,l[3])]:[-180,-90,180,90]}contains(l){let d=Math.pow(2,l.z),v=Math.floor(n.G(this.bounds.getWest())*d),b=Math.floor(n.H(this.bounds.getNorth())*d),M=Math.ceil(n.G(this.bounds.getEast())*d),O=Math.ceil(n.H(this.bounds.getSouth())*d);return l.x>=v&&l.x=b&&l.y{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(M,O)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),M?this.fire(new n.j(M)):O&&(n.e(this,O),O.bounds&&(this.tileBounds=new Ns(O.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},this.serialize=()=>n.e({},this._options),this.id=l,this.dispatcher=v,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=n.e({type:\"vector\"},d),this._collectResourceTiming=d.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(b)}loaded(){return this._loaded}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}onAdd(l){this.map=l,this.load()}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b={request:this.map._requestManager.transformRequest(v,Q.Tile),uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,tileSize:this.tileSize*l.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function M(O,B){return delete l.request,l.aborted?d(null):O&&O.status!==404?d(O):(B&&B.resourceTiming&&(l.resourceTiming=B.resourceTiming),this.map._refreshExpiredTiles&&B&&l.setExpiryData(B),l.loadVectorData(B,this.map.painter),d(null),void(l.reloadCallback&&(this.loadTile(l,l.reloadCallback),l.reloadCallback=null)))}b.request.collectResourceTiming=this._collectResourceTiming,l.actor&&l.state!==\"expired\"?l.state===\"loading\"?l.reloadCallback=d:l.request=l.actor.send(\"reloadTile\",b,M.bind(this)):(l.actor=this.dispatcher.getActor(),l.request=l.actor.send(\"loadTile\",b,M.bind(this)))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.actor&&l.actor.send(\"abortTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}unloadTile(l){l.unloadVectorData(),l.actor&&l.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class kc extends n.E{constructor(l,d,v,b){super(),this.id=l,this.dispatcher=v,this.setEventedParent(b),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.e({type:\"raster\"},d),n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\"]))}load(){this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(l,d)=>{this._tileJSONRequest=null,this._loaded=!0,l?this.fire(new n.j(l)):d&&(n.e(this,d),d.bounds&&(this.tileBounds=new Ns(d.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})}loaded(){return this._loaded}onAdd(l){this.map=l,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}serialize(){return n.e({},this._options)}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);l.request=j.getImage(this.map._requestManager.transformRequest(v,Q.Tile),(b,M,O)=>{if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(b)l.state=\"errored\",d(b);else if(M){this.map._refreshExpiredTiles&&O&&l.setExpiryData(O);let B=this.map.painter.context,U=B.gl;l.texture=this.map.painter.getTileTexture(M.width),l.texture?l.texture.update(M,{useMipmap:!0}):(l.texture=new qt(B,M,U.RGBA,{useMipmap:!0}),l.texture.bind(U.LINEAR,U.CLAMP_TO_EDGE,U.LINEAR_MIPMAP_NEAREST),B.extTextureFilterAnisotropic&&U.texParameterf(U.TEXTURE_2D,B.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,B.extTextureFilterAnisotropicMax)),l.state=\"loaded\",d(null)}},this.map._refreshExpiredTiles)}abortTile(l,d){l.request&&(l.request.cancel(),delete l.request),d()}unloadTile(l,d){l.texture&&this.map.painter.saveTileTexture(l.texture),d()}hasTransition(){return!1}}class Rc extends kc{constructor(l,d,v,b){super(l,d,v,b),this.type=\"raster-dem\",this.maxzoom=22,this._options=n.e({type:\"raster-dem\"},d),this.encoding=d.encoding||\"mapbox\",this.redFactor=d.redFactor,this.greenFactor=d.greenFactor,this.blueFactor=d.blueFactor,this.baseShift=d.baseShift}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b=this.map._requestManager.transformRequest(v,Q.Tile);function M(O,B){O&&(l.state=\"errored\",d(O)),B&&(l.dem=B,l.needsHillshadePrepare=!0,l.needsTerrainPrepare=!0,l.state=\"loaded\",d(null))}l.neighboringTiles=this._getNeighboringTiles(l.tileID),l.request=j.getImage(b,(O,B,U)=>n._(this,void 0,void 0,function*(){if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(O)l.state=\"errored\",d(O);else if(B){this.map._refreshExpiredTiles&&l.setExpiryData(U);let W=n.a(B)&&n.J()?B:yield function($){return n._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&n.K()){let st=$.width+2,At=$.height+2;try{return new n.R({width:st,height:At},yield n.M($,-1,-1,st,At))}catch{}}return n.h.getImageData($,1)})}(B),Z={uid:l.uid,coord:l.tileID,source:this.id,rawImageData:W,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};l.actor&&l.state!==\"expired\"||(l.actor=this.dispatcher.getActor(),l.actor.send(\"loadDEMTile\",Z,M))}}),this.map._refreshExpiredTiles)}_getNeighboringTiles(l){let d=l.canonical,v=Math.pow(2,d.z),b=(d.x-1+v)%v,M=d.x===0?l.wrap-1:l.wrap,O=(d.x+1+v)%v,B=d.x+1===v?l.wrap+1:l.wrap,U={};return U[new n.O(l.overscaledZ,M,d.z,b,d.y).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y).key]={backfilled:!1},d.y>0&&(U[new n.O(l.overscaledZ,M,d.z,b,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,l.wrap,d.z,d.x,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y-1).key]={backfilled:!1}),d.y+1{this._updateWorkerData()},this.serialize=()=>n.e({},this._options,{type:this.type,data:this._data}),this.id=l,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=v.getActor(),this.setEventedParent(b),this._data=d.data,this._options=n.e({},d),this._collectResourceTiming=d.collectResourceTiming,d.maxzoom!==void 0&&(this.maxzoom=d.maxzoom),d.type&&(this.type=d.type),d.attribution&&(this.attribution=d.attribution),this.promoteId=d.promoteId;let M=n.N/this.tileSize;this.workerOptions=n.e({source:this.id,cluster:d.cluster||!1,geojsonVtOptions:{buffer:(d.buffer!==void 0?d.buffer:128)*M,tolerance:(d.tolerance!==void 0?d.tolerance:.375)*M,extent:n.N,maxZoom:this.maxzoom,lineMetrics:d.lineMetrics||!1,generateId:d.generateId||!1},superclusterOptions:{maxZoom:d.clusterMaxZoom!==void 0?d.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,d.clusterMinPoints||2),extent:n.N,radius:(d.clusterRadius||50)*M,log:!1,generateId:d.generateId||!1},clusterProperties:d.clusterProperties,filter:d.filter},d.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}onAdd(l){this.map=l,this.load()}setData(l){return this._data=l,this._updateWorkerData(),this}updateData(l){return this._updateWorkerData(l),this}setClusterOptions(l){return this.workerOptions.cluster=l.cluster,l&&(l.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=l.clusterRadius),l.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=l.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(l,d){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:l,source:this.id},d),this}getClusterChildren(l,d){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:l,source:this.id},d),this}getClusterLeaves(l,d,v,b){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:l,limit:d,offset:v},b),this}_updateWorkerData(l){let d=n.e({},this.workerOptions);l?d.dataDiff=l:typeof this._data==\"string\"?(d.request=this.map._requestManager.transformRequest(n.h.resolveURL(this._data),Q.Source),d.request.collectResourceTiming=this._collectResourceTiming):d.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.actor.send(`${this.type}.loadData`,d,(v,b)=>{if(this._pendingLoads--,this._removed||b&&b.abandoned)return void this.fire(new n.k(\"dataabort\",{dataType:\"source\"}));let M=null;if(b&&b.resourceTiming&&b.resourceTiming[this.id]&&(M=b.resourceTiming[this.id].slice(0)),v)return void this.fire(new n.j(v));let O={dataType:\"source\"};this._collectResourceTiming&&M&&M.length>0&&n.e(O,{resourceTiming:M}),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"metadata\"}))),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"content\"})))})}loaded(){return this._pendingLoads===0}loadTile(l,d){let v=l.actor?\"reloadTile\":\"loadTile\";l.actor=this.actor;let b={type:this.type,uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};l.request=this.actor.send(v,b,(M,O)=>(delete l.request,l.unloadVectorData(),l.aborted?d(null):M?d(M):(l.loadVectorData(O,this.map.painter,v===\"reloadTile\"),d(null))))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.aborted=!0}unloadTile(l){l.unloadVectorData(),this.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})}hasTransition(){return!1}}var Jn=n.Q([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class ki extends n.E{constructor(l,d,v,b){super(),this.load=(M,O)=>{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=j.getImage(this.map._requestManager.transformRequest(this.url,Q.Image),(B,U)=>{this._request=null,this._loaded=!0,B?this.fire(new n.j(B)):U&&(this.image=U,M&&(this.coordinates=M),O&&O(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||!this.image)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture||(this.texture=new qt(M,this.image,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"image\",url:this.options.url,coordinates:this.coordinates}),this.id=l,this.dispatcher=v,this.coordinates=d.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(b),this.options=d}loaded(){return this._loaded}updateImage(l){return l.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=l.url,this.load(l.coordinates,()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(l){this.map=l,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(l){this.coordinates=l;let d=l.map(n.U.fromLngLat);this.tileID=function(b){let M=1/0,O=1/0,B=-1/0,U=-1/0;for(let st of b)M=Math.min(M,st.x),O=Math.min(O,st.y),B=Math.max(B,st.x),U=Math.max(U,st.y);let W=Math.max(B-M,U-O),Z=Math.max(0,Math.floor(-Math.log(W)/Math.LN2)),$=Math.pow(2,Z);return new n.W(Z,Math.floor((M+B)/2*$),Math.floor((O+U)/2*$))}(d),this.minzoom=this.maxzoom=this.tileID.z;let v=d.map(b=>this.tileID.getTilePoint(b)._round());return this._boundsArray=new n.V,this._boundsArray.emplaceBack(v[0].x,v[0].y,0,0),this._boundsArray.emplaceBack(v[1].x,v[1].y,n.N,0),this._boundsArray.emplaceBack(v[3].x,v[3].y,0,n.N),this._boundsArray.emplaceBack(v[2].x,v[2].y,n.N,n.N),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}loadTile(l,d){this.tileID&&this.tileID.equals(l.tileID.canonical)?(this.tiles[String(l.tileID.wrap)]=l,l.buckets={},d(null)):(l.state=\"errored\",d(null))}hasTransition(){return!1}}class ts extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!1;let M=this.options;this.urls=[];for(let O of M.urls)this.urls.push(this.map._requestManager.transformRequest(O,Q.Source).url);n.X(this.urls,(O,B)=>{this._loaded=!0,O?this.fire(new n.j(O)):B&&(this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE),O.texSubImage2D(O.TEXTURE_2D,0,0,0,O.RGBA,O.UNSIGNED_BYTE,this.video)):(this.texture=new qt(M,this.video,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"video\",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type=\"video\",this.options=d}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(l){if(this.video){let d=this.video.seekable;ld.end(0)?this.fire(new n.j(new n.Y(`sources.${this.id}`,null,`Playback for this video can be set only between the ${d.start(0)} and ${d.end(0)}-second mark.`))):this.video.currentTime=l}}getVideo(){return this.video}onAdd(l){this.map||(this.map=l,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class Vo extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new n.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let M=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,M=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,M=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let O=this.map.painter.context,B=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?(M||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new qt(O,this.canvas,B.RGBA,{premultiply:!0});let U=!1;for(let W in this.tiles){let Z=this.tiles[W];Z.state!==\"loaded\"&&(Z.state=\"loaded\",Z.texture=this.texture,U=!0)}U&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"canvas\",coordinates:this.coordinates}),d.coordinates?Array.isArray(d.coordinates)&&d.coordinates.length===4&&!d.coordinates.some(M=>!Array.isArray(M)||M.length!==2||M.some(O=>typeof O!=\"number\"))||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"coordinates\"'))),d.animate&&typeof d.animate!=\"boolean\"&&this.fire(new n.j(new n.Y(`sources.${l}`,null,'optional \"animate\" property must be a boolean value'))),d.canvas?typeof d.canvas==\"string\"||d.canvas instanceof HTMLCanvasElement||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"canvas\"'))),this.options=d,this.animate=d.animate===void 0||d.animate}getCanvas(){return this.canvas}onAdd(l){this.map=l,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let l of[this.canvas.width,this.canvas.height])if(isNaN(l)||l<=0)return!0;return!1}}let cl={},xo=T=>{switch(T){case\"geojson\":return Xi;case\"image\":return ki;case\"raster\":return kc;case\"raster-dem\":return Rc;case\"vector\":return ll;case\"video\":return ts;case\"canvas\":return Vo}return cl[T]};function Pa(T,l){let d=n.Z();return n.$(d,d,[1,1,0]),n.a0(d,d,[.5*T.width,.5*T.height,1]),n.a1(d,d,T.calculatePosMatrix(l.toUnwrapped()))}function na(T,l,d,v,b,M){let O=function($,st,At){if($)for(let pt of $){let yt=st[pt];if(yt&&yt.source===At&&yt.type===\"fill-extrusion\")return!0}else for(let pt in st){let yt=st[pt];if(yt.source===At&&yt.type===\"fill-extrusion\")return!0}return!1}(b&&b.layers,l,T.id),B=M.maxPitchScaleFactor(),U=T.tilesIn(v,B,O);U.sort(as);let W=[];for(let $ of U)W.push({wrappedTileID:$.tileID.wrapped().key,queryResults:$.tile.queryRenderedFeatures(l,d,T._state,$.queryGeometry,$.cameraQueryGeometry,$.scale,b,M,B,Pa(T.transform,$.tileID))});let Z=function($){let st={},At={};for(let pt of $){let yt=pt.queryResults,dt=pt.wrappedTileID,Ft=At[dt]=At[dt]||{};for(let Ht in yt){let St=yt[Ht],Bt=Ft[Ht]=Ft[Ht]||{},Qt=st[Ht]=st[Ht]||[];for(let $t of St)Bt[$t.featureIndex]||(Bt[$t.featureIndex]=!0,Qt.push($t))}}return st}(W);for(let $ in Z)Z[$].forEach(st=>{let At=st.feature,pt=T.getFeatureState(At.layer[\"source-layer\"],At.id);At.source=At.layer.source,At.layer[\"source-layer\"]&&(At.sourceLayer=At.layer[\"source-layer\"]),At.state=pt});return Z}function as(T,l){let d=T.tileID,v=l.tileID;return d.overscaledZ-v.overscaledZ||d.canonical.y-v.canonical.y||d.wrap-v.wrap||d.canonical.x-v.canonical.x}class ao{constructor(l,d){this.timeAdded=0,this.fadeEndTime=0,this.tileID=l,this.uid=n.a2(),this.uses=0,this.tileSize=d,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(l){let d=l+this.timeAdded;dM.getLayer(W)).filter(Boolean);if(U.length!==0){B.layers=U,B.stateDependentLayerIds&&(B.stateDependentLayers=B.stateDependentLayerIds.map(W=>U.filter(Z=>Z.id===W)[0]));for(let W of U)O[W.id]=B}}return O}(l.buckets,d.style),this.hasSymbolBuckets=!1;for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4){if(this.hasSymbolBuckets=!0,!v)break;M.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4&&M.hasRTLText){this.hasRTLText=!0,n.a5();break}}this.queryPadding=0;for(let b in this.buckets){let M=this.buckets[b];this.queryPadding=Math.max(this.queryPadding,d.style.getLayer(b).queryRadius(M))}l.imageAtlas&&(this.imageAtlas=l.imageAtlas),l.glyphAtlasImage&&(this.glyphAtlasImage=l.glyphAtlasImage)}else this.collisionBoxArray=new n.a3}unloadVectorData(){for(let l in this.buckets)this.buckets[l].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(l){return this.buckets[l.id]}upload(l){for(let v in this.buckets){let b=this.buckets[v];b.uploadPending()&&b.upload(l)}let d=l.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new qt(l,this.imageAtlas.image,d.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new qt(l,this.glyphAtlasImage,d.ALPHA),this.glyphAtlasImage=null)}prepare(l){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(l,this.imageAtlasTexture)}queryRenderedFeatures(l,d,v,b,M,O,B,U,W,Z){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:b,cameraQueryGeometry:M,scale:O,tileSize:this.tileSize,pixelPosMatrix:Z,transform:U,params:B,queryPadding:this.queryPadding*W},l,d,v):{}}querySourceFeatures(l,d){let v=this.latestFeatureIndex;if(!v||!v.rawTileData)return;let b=v.loadVTLayers(),M=d&&d.sourceLayer?d.sourceLayer:\"\",O=b._geojsonTileLayer||b[M];if(!O)return;let B=n.a6(d&&d.filter),{z:U,x:W,y:Z}=this.tileID.canonical,$={z:U,x:W,y:Z};for(let st=0;stv)b=!1;else if(d)if(this.expirationTime{this.remove(l,M)},v)),this.data[b].push(M),this.order.push(b),this.order.length>this.max){let O=this._getAndRemoveByKey(this.order[0]);O&&this.onRemove(O)}return this}has(l){return l.wrapped().key in this.data}getAndRemove(l){return this.has(l)?this._getAndRemoveByKey(l.wrapped().key):null}_getAndRemoveByKey(l){let d=this.data[l].shift();return d.timeout&&clearTimeout(d.timeout),this.data[l].length===0&&delete this.data[l],this.order.splice(this.order.indexOf(l),1),d.value}getByKey(l){let d=this.data[l];return d?d[0].value:null}get(l){return this.has(l)?this.data[l.wrapped().key][0].value:null}remove(l,d){if(!this.has(l))return this;let v=l.wrapped().key,b=d===void 0?0:this.data[v].indexOf(d),M=this.data[v][b];return this.data[v].splice(b,1),M.timeout&&clearTimeout(M.timeout),this.data[v].length===0&&delete this.data[v],this.onRemove(M.value),this.order.splice(this.order.indexOf(v),1),this}setMaxSize(l){for(this.max=l;this.order.length>this.max;){let d=this._getAndRemoveByKey(this.order[0]);d&&this.onRemove(d)}return this}filter(l){let d=[];for(let v in this.data)for(let b of this.data[v])l(b.value)||d.push(b);for(let v of d)this.remove(v.value.tileID,v)}}class ee{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(l,d,v){let b=String(d);if(this.stateChanges[l]=this.stateChanges[l]||{},this.stateChanges[l][b]=this.stateChanges[l][b]||{},n.e(this.stateChanges[l][b],v),this.deletedStates[l]===null){this.deletedStates[l]={};for(let M in this.state[l])M!==b&&(this.deletedStates[l][M]=null)}else if(this.deletedStates[l]&&this.deletedStates[l][b]===null){this.deletedStates[l][b]={};for(let M in this.state[l][b])v[M]||(this.deletedStates[l][b][M]=null)}else for(let M in v)this.deletedStates[l]&&this.deletedStates[l][b]&&this.deletedStates[l][b][M]===null&&delete this.deletedStates[l][b][M]}removeFeatureState(l,d,v){if(this.deletedStates[l]===null)return;let b=String(d);if(this.deletedStates[l]=this.deletedStates[l]||{},v&&d!==void 0)this.deletedStates[l][b]!==null&&(this.deletedStates[l][b]=this.deletedStates[l][b]||{},this.deletedStates[l][b][v]=null);else if(d!==void 0)if(this.stateChanges[l]&&this.stateChanges[l][b])for(v in this.deletedStates[l][b]={},this.stateChanges[l][b])this.deletedStates[l][b][v]=null;else this.deletedStates[l][b]=null;else this.deletedStates[l]=null}getState(l,d){let v=String(d),b=n.e({},(this.state[l]||{})[v],(this.stateChanges[l]||{})[v]);if(this.deletedStates[l]===null)return{};if(this.deletedStates[l]){let M=this.deletedStates[l][d];if(M===null)return{};for(let O in M)delete b[O]}return b}initializeTileState(l,d){l.setFeatureState(this.state,d)}coalesceChanges(l,d){let v={};for(let b in this.stateChanges){this.state[b]=this.state[b]||{};let M={};for(let O in this.stateChanges[b])this.state[b][O]||(this.state[b][O]={}),n.e(this.state[b][O],this.stateChanges[b][O]),M[O]=this.state[b][O];v[b]=M}for(let b in this.deletedStates){this.state[b]=this.state[b]||{};let M={};if(this.deletedStates[b]===null)for(let O in this.state[b])M[O]={},this.state[b][O]={};else for(let O in this.deletedStates[b]){if(this.deletedStates[b][O]===null)this.state[b][O]={};else for(let B of Object.keys(this.deletedStates[b][O]))delete this.state[b][O][B];M[O]=this.state[b][O]}v[b]=v[b]||{},n.e(v[b],M)}if(this.stateChanges={},this.deletedStates={},Object.keys(v).length!==0)for(let b in l)l[b].setFeatureState(v,d)}}class ls extends n.E{constructor(l,d,v){super(),this.id=l,this.dispatcher=v,this.on(\"data\",b=>{b.dataType===\"source\"&&b.sourceDataType===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&b.dataType===\"source\"&&b.sourceDataType===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((b,M,O,B)=>{let U=new(xo(M.type))(b,M,O,B);if(U.id!==b)throw new Error(`Expected Source id to be ${b} instead of ${U.id}`);return U})(l,d,v,this),this._tiles={},this._cache=new Nl(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ee,this._didEmitContent=!1,this._updated=!1}onAdd(l){this.map=l,this._maxTileCacheSize=l?l._maxTileCacheSize:null,this._maxTileCacheZoomLevels=l?l._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(l)}onRemove(l){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(l)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let l in this._tiles){let d=this._tiles[l];if(d.state!==\"loaded\"&&d.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let l=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,l&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(l,d){return this._source.loadTile(l,d)}_unloadTile(l){if(this._source.unloadTile)return this._source.unloadTile(l,()=>{})}_abortTile(l){this._source.abortTile&&this._source.abortTile(l,()=>{}),this._source.fire(new n.k(\"dataabort\",{tile:l,coord:l.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(l){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let d in this._tiles){let v=this._tiles[d];v.upload(l),v.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(l=>l.tileID).sort(mn).map(l=>l.key)}getRenderableIds(l){let d=[];for(let v in this._tiles)this._isIdRenderable(v,l)&&d.push(this._tiles[v]);return l?d.sort((v,b)=>{let M=v.tileID,O=b.tileID,B=new n.P(M.canonical.x,M.canonical.y)._rotate(this.transform.angle),U=new n.P(O.canonical.x,O.canonical.y)._rotate(this.transform.angle);return M.overscaledZ-O.overscaledZ||U.y-B.y||U.x-B.x}).map(v=>v.tileID.key):d.map(v=>v.tileID).sort(mn).map(v=>v.key)}hasRenderableParent(l){let d=this.findLoadedParent(l,0);return!!d&&this._isIdRenderable(d.tileID.key)}_isIdRenderable(l,d){return this._tiles[l]&&this._tiles[l].hasData()&&!this._coveredTiles[l]&&(d||!this._tiles[l].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let l in this._tiles)this._tiles[l].state!==\"errored\"&&this._reloadTile(l,\"reloading\")}}_reloadTile(l,d){let v=this._tiles[l];v&&(v.state!==\"loading\"&&(v.state=d),this._loadTile(v,this._tileLoaded.bind(this,v,l,d)))}_tileLoaded(l,d,v,b){if(b)return l.state=\"errored\",void(b.status!==404?this._source.fire(new n.j(b,{tile:l})):this.update(this.transform,this.terrain));l.timeAdded=n.h.now(),v===\"expired\"&&(l.refreshedUponExpiration=!0),this._setTileReloadTimer(d,l),this.getSource().type===\"raster-dem\"&&l.dem&&this._backfillDEM(l),this._state.initializeTileState(l,this.map?this.map.painter:null),l.aborted||this._source.fire(new n.k(\"data\",{dataType:\"source\",tile:l,coord:l.tileID}))}_backfillDEM(l){let d=this.getRenderableIds();for(let b=0;b1||(Math.abs(O)>1&&(Math.abs(O+U)===1?O+=U:Math.abs(O-U)===1&&(O-=U)),M.dem&&b.dem&&(b.dem.backfillBorder(M.dem,O,B),b.neighboringTiles&&b.neighboringTiles[W]&&(b.neighboringTiles[W].backfilled=!0)))}}getTile(l){return this.getTileByID(l.key)}getTileByID(l){return this._tiles[l]}_retainLoadedChildren(l,d,v,b){for(let M in this._tiles){let O=this._tiles[M];if(b[M]||!O.hasData()||O.tileID.overscaledZ<=d||O.tileID.overscaledZ>v)continue;let B=O.tileID;for(;O&&O.tileID.overscaledZ>d+1;){let W=O.tileID.scaledTo(O.tileID.overscaledZ-1);O=this._tiles[W.key],O&&O.hasData()&&(B=W)}let U=B;for(;U.overscaledZ>d;)if(U=U.scaledTo(U.overscaledZ-1),l[U.key]){b[B.key]=B;break}}}findLoadedParent(l,d){if(l.key in this._loadedParentTiles){let v=this._loadedParentTiles[l.key];return v&&v.tileID.overscaledZ>=d?v:null}for(let v=l.overscaledZ-1;v>=d;v--){let b=l.scaledTo(v),M=this._getLoadedTile(b);if(M)return M}}_getLoadedTile(l){let d=this._tiles[l.key];return d&&d.hasData()?d:this._cache.getByKey(l.wrapped().key)}updateCacheSize(l){let d=Math.ceil(l.width/this._source.tileSize)+1,v=Math.ceil(l.height/this._source.tileSize)+1,b=Math.floor(d*v*(this._maxTileCacheZoomLevels===null?n.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),M=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,b):b;this._cache.setMaxSize(M)}handleWrapJump(l){let d=Math.round((l-(this._prevLng===void 0?l:this._prevLng))/360);if(this._prevLng=l,d){let v={};for(let b in this._tiles){let M=this._tiles[b];M.tileID=M.tileID.unwrapTo(M.tileID.wrap+d),v[M.tileID.key]=M}this._tiles=v;for(let b in this._timers)clearTimeout(this._timers[b]),delete this._timers[b];for(let b in this._tiles)this._setTileReloadTimer(b,this._tiles[b])}}update(l,d){if(this.transform=l,this.terrain=d,!this._sourceLoaded||this._paused)return;let v;this.updateCacheSize(l),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?v=l.getVisibleUnwrappedCoordinates(this._source.tileID).map(Z=>new n.O(Z.canonical.z,Z.wrap,Z.canonical.z,Z.canonical.x,Z.canonical.y)):(v=l.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:d}),this._source.hasTile&&(v=v.filter(Z=>this._source.hasTile(Z)))):v=[];let b=l.coveringZoomLevel(this._source),M=Math.max(b-ls.maxOverzooming,this._source.minzoom),O=Math.max(b+ls.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Z={};for(let $ of v)if($.canonical.z>this._source.minzoom){let st=$.scaledTo($.canonical.z-1);Z[st.key]=st;let At=$.scaledTo(Math.max(this._source.minzoom,Math.min($.canonical.z,5)));Z[At.key]=At}v=v.concat(Object.values(Z))}let B=v.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,B&&this.fire(new n.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let U=this._updateRetainedTiles(v,b);if(gi(this._source.type)){let Z={},$={},st=Object.keys(U),At=n.h.now();for(let pt of st){let yt=U[pt],dt=this._tiles[pt];if(!dt||dt.fadeEndTime!==0&&dt.fadeEndTime<=At)continue;let Ft=this.findLoadedParent(yt,M);Ft&&(this._addTile(Ft.tileID),Z[Ft.tileID.key]=Ft.tileID),$[pt]=yt}this._retainLoadedChildren($,b,O,U);for(let pt in Z)U[pt]||(this._coveredTiles[pt]=!0,U[pt]=Z[pt]);if(d){let pt={},yt={};for(let dt of v)this._tiles[dt.key].hasData()?pt[dt.key]=dt:yt[dt.key]=dt;for(let dt in yt){let Ft=yt[dt].children(this._source.maxzoom);this._tiles[Ft[0].key]&&this._tiles[Ft[1].key]&&this._tiles[Ft[2].key]&&this._tiles[Ft[3].key]&&(pt[Ft[0].key]=U[Ft[0].key]=Ft[0],pt[Ft[1].key]=U[Ft[1].key]=Ft[1],pt[Ft[2].key]=U[Ft[2].key]=Ft[2],pt[Ft[3].key]=U[Ft[3].key]=Ft[3],delete yt[dt])}for(let dt in yt){let Ft=this.findLoadedParent(yt[dt],this._source.minzoom);if(Ft){pt[Ft.tileID.key]=U[Ft.tileID.key]=Ft.tileID;for(let Ht in pt)pt[Ht].isChildOf(Ft.tileID)&&delete pt[Ht]}}for(let dt in this._tiles)pt[dt]||(this._coveredTiles[dt]=!0)}}for(let Z in U)this._tiles[Z].clearFadeHold();let W=n.ab(this._tiles,U);for(let Z of W){let $=this._tiles[Z];$.hasSymbolBuckets&&!$.holdingForFade()?$.setHoldDuration(this.map._fadeDuration):$.hasSymbolBuckets&&!$.symbolFadeFinished()||this._removeTile(Z)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(let l in this._tiles)this._tiles[l].holdingForFade()&&this._removeTile(l)}_updateRetainedTiles(l,d){let v={},b={},M=Math.max(d-ls.maxOverzooming,this._source.minzoom),O=Math.max(d+ls.maxUnderzooming,this._source.minzoom),B={};for(let U of l){let W=this._addTile(U);v[U.key]=U,W.hasData()||dthis._source.maxzoom){let $=U.children(this._source.maxzoom)[0],st=this.getTile($);if(st&&st.hasData()){v[$.key]=$;continue}}else{let $=U.children(this._source.maxzoom);if(v[$[0].key]&&v[$[1].key]&&v[$[2].key]&&v[$[3].key])continue}let Z=W.wasRequested();for(let $=U.overscaledZ-1;$>=M;--$){let st=U.scaledTo($);if(b[st.key])break;if(b[st.key]=!0,W=this.getTile(st),!W&&Z&&(W=this._addTile(st)),W){let At=W.hasData();if((Z||At)&&(v[st.key]=st),Z=W.wasRequested(),At)break}}}return v}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let l in this._tiles){let d=[],v,b=this._tiles[l].tileID;for(;b.overscaledZ>0;){if(b.key in this._loadedParentTiles){v=this._loadedParentTiles[b.key];break}d.push(b.key);let M=b.scaledTo(b.overscaledZ-1);if(v=this._getLoadedTile(M),v)break;b=M}for(let M of d)this._loadedParentTiles[M]=v}}_addTile(l){let d=this._tiles[l.key];if(d)return d;d=this._cache.getAndRemove(l),d&&(this._setTileReloadTimer(l.key,d),d.tileID=l,this._state.initializeTileState(d,this.map?this.map.painter:null),this._cacheTimers[l.key]&&(clearTimeout(this._cacheTimers[l.key]),delete this._cacheTimers[l.key],this._setTileReloadTimer(l.key,d)));let v=d;return d||(d=new ao(l,this._source.tileSize*l.overscaleFactor()),this._loadTile(d,this._tileLoaded.bind(this,d,l.key,d.state))),d.uses++,this._tiles[l.key]=d,v||this._source.fire(new n.k(\"dataloading\",{tile:d,coord:d.tileID,dataType:\"source\"})),d}_setTileReloadTimer(l,d){l in this._timers&&(clearTimeout(this._timers[l]),delete this._timers[l]);let v=d.getExpiryTimeout();v&&(this._timers[l]=setTimeout(()=>{this._reloadTile(l,\"expired\"),delete this._timers[l]},v))}_removeTile(l){let d=this._tiles[l];d&&(d.uses--,delete this._tiles[l],this._timers[l]&&(clearTimeout(this._timers[l]),delete this._timers[l]),d.uses>0||(d.hasData()&&d.state!==\"reloading\"?this._cache.add(d.tileID,d,d.getExpiryTimeout()):(d.aborted=!0,this._abortTile(d),this._unloadTile(d))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let l in this._tiles)this._removeTile(l);this._cache.reset()}tilesIn(l,d,v){let b=[],M=this.transform;if(!M)return b;let O=v?M.getCameraQueryGeometry(l):l,B=l.map(pt=>M.pointCoordinate(pt,this.terrain)),U=O.map(pt=>M.pointCoordinate(pt,this.terrain)),W=this.getIds(),Z=1/0,$=1/0,st=-1/0,At=-1/0;for(let pt of U)Z=Math.min(Z,pt.x),$=Math.min($,pt.y),st=Math.max(st,pt.x),At=Math.max(At,pt.y);for(let pt=0;pt=0&&St[1].y+Ht>=0){let Bt=B.map($t=>dt.getTilePoint($t)),Qt=U.map($t=>dt.getTilePoint($t));b.push({tile:yt,tileID:dt,queryGeometry:Bt,cameraQueryGeometry:Qt,scale:Ft})}}return b}getVisibleCoordinates(l){let d=this.getRenderableIds(l).map(v=>this._tiles[v].tileID);for(let v of d)v.posMatrix=this.transform.calculatePosMatrix(v.toUnwrapped());return d}hasTransition(){if(this._source.hasTransition())return!0;if(gi(this._source.type)){let l=n.h.now();for(let d in this._tiles)if(this._tiles[d].fadeEndTime>=l)return!0}return!1}setFeatureState(l,d,v){this._state.updateState(l=l||\"_geojsonTileLayer\",d,v)}removeFeatureState(l,d,v){this._state.removeFeatureState(l=l||\"_geojsonTileLayer\",d,v)}getFeatureState(l,d){return this._state.getState(l=l||\"_geojsonTileLayer\",d)}setDependencies(l,d,v){let b=this._tiles[l];b&&b.setDependencies(d,v)}reloadTilesForDependencies(l,d){for(let v in this._tiles)this._tiles[v].hasDependency(l,d)&&this._reloadTile(v,\"reloading\");this._cache.filter(v=>!v.hasDependency(l,d))}}function mn(T,l){let d=Math.abs(2*T.wrap)-+(T.wrap<0),v=Math.abs(2*l.wrap)-+(l.wrap<0);return T.overscaledZ-l.overscaledZ||v-d||l.canonical.y-T.canonical.y||l.canonical.x-T.canonical.x}function gi(T){return T===\"raster\"||T===\"image\"||T===\"video\"}ls.maxOverzooming=10,ls.maxUnderzooming=3;let oi=\"mapboxgl_preloaded_worker_pool\";class lo{constructor(){this.active={}}acquire(l){if(!this.workers)for(this.workers=[];this.workers.length{d.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[oi]}numActive(){return Object.keys(this.active).length}}let du=Math.floor(n.h.hardwareConcurrency/2),ul;function bo(){return ul||(ul=new lo),ul}lo.workerCount=n.ac(globalThis)?Math.max(Math.min(du,3),1):1;class hl{constructor(l,d){this.reset(l,d)}reset(l,d){this.points=l||[],this._distances=[0];for(let v=1;v0?(b-O)/B:0;return this.points[M].mult(1-U).add(this.points[d].mult(U))}}function Ia(T,l){let d=!0;return T===\"always\"||T!==\"never\"&&l!==\"never\"||(d=!1),d}class wo{constructor(l,d,v){let b=this.boxCells=[],M=this.circleCells=[];this.xCellCount=Math.ceil(l/v),this.yCellCount=Math.ceil(d/v);for(let O=0;Othis.width||b<0||d>this.height)return[];let U=[];if(l<=0&&d<=0&&this.width<=v&&this.height<=b){if(M)return[{key:null,x1:l,y1:d,x2:v,y2:b}];for(let W=0;W0}hitTestCircle(l,d,v,b,M){let O=l-v,B=l+v,U=d-v,W=d+v;if(B<0||O>this.width||W<0||U>this.height)return!1;let Z=[];return this._forEachCell(O,U,B,W,this._queryCellCircle,Z,{hitTest:!0,overlapMode:b,circle:{x:l,y:d,radius:v},seenUids:{box:{},circle:{}}},M),Z.length>0}_queryCell(l,d,v,b,M,O,B,U){let{seenUids:W,hitTest:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!W.box[yt]){W.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(l<=pt[dt+2]&&d<=pt[dt+3]&&v>=pt[dt+0]&&b>=pt[dt+1]&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))&&(O.push({key:Ft,x1:pt[dt],y1:pt[dt+1],x2:pt[dt+2],y2:pt[dt+3]}),Z))return!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!W.circle[yt]){W.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circleAndRectCollide(pt[dt],pt[dt+1],pt[dt+2],l,d,v,b)&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))){let Ht=pt[dt],St=pt[dt+1],Bt=pt[dt+2];if(O.push({key:Ft,x1:Ht-Bt,y1:St-Bt,x2:Ht+Bt,y2:St+Bt}),Z)return!0}}}return!1}_queryCellCircle(l,d,v,b,M,O,B,U){let{circle:W,seenUids:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!Z.box[yt]){Z.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(this._circleAndRectCollide(W.x,W.y,W.radius,pt[dt+0],pt[dt+1],pt[dt+2],pt[dt+3])&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!Z.circle[yt]){Z.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circlesCollide(pt[dt],pt[dt+1],pt[dt+2],W.x,W.y,W.radius)&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}}_forEachCell(l,d,v,b,M,O,B,U){let W=this._convertToXCellCoord(l),Z=this._convertToYCellCoord(d),$=this._convertToXCellCoord(v),st=this._convertToYCellCoord(b);for(let At=W;At<=$;At++)for(let pt=Z;pt<=st;pt++)if(M.call(this,l,d,v,b,this.xCellCount*pt+At,O,B,U))return}_convertToXCellCoord(l){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(l*this.xScale)))}_convertToYCellCoord(l){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(l*this.yScale)))}_circlesCollide(l,d,v,b,M,O){let B=b-l,U=M-d,W=v+O;return W*W>B*B+U*U}_circleAndRectCollide(l,d,v,b,M,O,B){let U=(O-b)/2,W=Math.abs(l-(b+U));if(W>U+v)return!1;let Z=(B-M)/2,$=Math.abs(d-(M+Z));if($>Z+v)return!1;if(W<=U||$<=Z)return!0;let st=W-U,At=$-Z;return st*st+At*At<=v*v}}function ve(T,l,d,v,b){let M=n.Z();return l?(n.a0(M,M,[1/b,1/b,1]),d||n.ae(M,M,v.angle)):n.a1(M,v.labelPlaneMatrix,T),M}function jo(T,l,d,v,b){if(l){let M=n.af(T);return n.a0(M,M,[b,b,1]),d||n.ae(M,M,-v.angle),M}return v.glCoordMatrix}function gn(T,l,d){let v;d?(v=[T.x,T.y,d(T.x,T.y),1],n.ag(v,v,l)):(v=[T.x,T.y,0,1],vt(v,v,l));let b=v[3];return{point:new n.P(v[0]/b,v[1]/b),signedDistanceFromCamera:b}}function Ul(T,l){return .5+T/l*.5}function Ca(T,l){let d=T[0]/T[3],v=T[1]/T[3];return d>=-l[0]&&d<=l[0]&&v>=-l[1]&&v<=l[1]}function Te(T,l,d,v,b,M,O,B,U,W){let Z=v?T.textSizeData:T.iconSizeData,$=n.ah(Z,d.transform.zoom),st=[256/d.width*2+1,256/d.height*2+1],At=v?T.text.dynamicLayoutVertexArray:T.icon.dynamicLayoutVertexArray;At.clear();let pt=T.lineVertexArray,yt=v?T.text.placedSymbolArray:T.icon.placedSymbolArray,dt=d.transform.width/d.transform.height,Ft=!1;for(let Ht=0;HtMath.abs(d.x-l.x)*v?{useVertical:!0}:(T===n.ai.vertical?l.yd.x)?{needsFlipping:!0}:null}function Us(T,l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt){let dt=l/24,Ft=T.lineOffsetX*dt,Ht=T.lineOffsetY*dt,St;if(T.numGlyphs>1){let Bt=T.glyphStartIndex+T.numGlyphs,Qt=T.lineStartIndex,$t=T.lineStartIndex+T.lineLength,oe=Dr(dt,B,Ft,Ht,d,Z,$,T,U,M,st,pt,yt);if(!oe)return{notEnoughRoom:!0};let pe=gn(oe.first.point,O,yt).point,he=gn(oe.last.point,O,yt).point;if(v&&!d){let be=gr(T.writingMode,pe,he,At);if(be)return be}St=[oe.first];for(let be=T.glyphStartIndex+1;be0?pe.point:La($,oe,Qt,1,b,yt),be=gr(T.writingMode,Qt,he,At);if(be)return be}let Bt=tt(dt*B.getoffsetX(T.glyphStartIndex),Ft,Ht,d,Z,$,T.segment,T.lineStartIndex,T.lineStartIndex+T.lineLength,U,M,st,pt,yt);if(!Bt)return{notEnoughRoom:!0};St=[Bt]}for(let Bt of St)n.ak(W,Bt.point,Bt.angle);return{}}function La(T,l,d,v,b,M){let O=gn(T.add(T.sub(l)._unit()),b,M).point,B=d.sub(O);return d.add(B._mult(v/B.mag()))}function Mr(T,l){let{projectionCache:d,lineVertexArray:v,labelPlaneMatrix:b,tileAnchorPoint:M,distanceFromAnchor:O,getElevation:B,previousVertex:U,direction:W,absOffsetX:Z}=l;if(d.projections[T])return d.projections[T];let $=new n.P(v.getx(T),v.gety(T)),st=gn($,b,B);if(st.signedDistanceFromCamera>0)return d.projections[T]=st.point,st.point;let At=T-W;return La(O===0?M:new n.P(v.getx(At),v.gety(At)),$,U,Z-O+1,b,B)}function sa(T,l,d){return T._unit()._perp()._mult(l*d)}function gt(T,l,d,v,b,M,O,B){let{projectionCache:U,direction:W}=B;if(U.offsets[T])return U.offsets[T];let Z=d.add(l);if(T+W=b)return U.offsets[T]=Z,Z;let $=Mr(T+W,B),st=sa($.sub(d),O,W),At=d.add(st),pt=$.add(st);return U.offsets[T]=n.al(M,Z,At,pt)||Z,U.offsets[T]}function tt(T,l,d,v,b,M,O,B,U,W,Z,$,st,At){let pt=v?T-l:T+l,yt=pt>0?1:-1,dt=0;v&&(yt*=-1,dt=Math.PI),yt<0&&(dt+=Math.PI);let Ft,Ht,St=yt>0?B+O:B+O+1,Bt=b,Qt=b,$t=0,oe=0,pe=Math.abs(pt),he=[],be;for(;$t+oe<=pe;){if(St+=yt,St=U)return null;$t+=oe,Qt=Bt,Ht=Ft;let Ee={projectionCache:$,lineVertexArray:W,labelPlaneMatrix:Z,tileAnchorPoint:M,distanceFromAnchor:$t,getElevation:At,previousVertex:Qt,direction:yt,absOffsetX:pe};if(Bt=Mr(St,Ee),d===0)he.push(Qt),be=Bt.sub(Qt);else{let pr,tr=Bt.sub(Qt);pr=tr.mag()===0?sa(Mr(St+yt,Ee).sub(Bt),d,yt):sa(tr,d,yt),Ht||(Ht=Qt.add(pr)),Ft=gt(St,pr,Bt,B,U,Ht,d,Ee),he.push(Ht),be=Ft.sub(Ht)}oe=be.mag()}let Ze=be._mult((pe-$t)/oe)._add(Ht||Qt),Kr=dt+Math.atan2(Bt.y-Qt.y,Bt.x-Qt.x);return he.push(Ze),{point:Ze,angle:st?Kr:0,path:he}}let nt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ht(T,l){for(let d=0;d=1;Vr--)tr.push(Ee.path[Vr]);for(let Vr=1;Vrgn(ei,U,pt));tr=Vr.some(ei=>ei.signedDistanceFromCamera<=0)?[]:Vr.map(ei=>ei.point)}let Jr=[];if(tr.length>0){let Vr=tr[0].clone(),ei=tr[0].clone();for(let On=1;On=be.x&&ei.x<=Ze.x&&Vr.y>=be.y&&ei.y<=Ze.y?[tr]:ei.xZe.x||ei.yZe.y?[]:n.am([tr],be.x,be.y,Ze.x,Ze.y)}for(let Vr of Jr){Kr.reset(Vr,.25*he);let ei=0;ei=Kr.length<=.5*he?1:Math.ceil(Kr.paddedLength/Gi)+1;for(let On=0;On=this.screenRightBoundary||bthis.screenBottomBoundary}isInsideGrid(l,d,v,b){return v>=0&&l=0&&dv.collisionGroupID===d}}return this.collisionGroups[l]}}function vr(T,l,d,v,b){let{horizontalAlign:M,verticalAlign:O}=n.au(T);return new n.P(-(M-.5)*l+v[0]*b,-(O-.5)*d+v[1]*b)}function Xe(T,l,d,v,b,M){let{x1:O,x2:B,y1:U,y2:W,anchorPointX:Z,anchorPointY:$}=T,st=new n.P(l,d);return v&&st._rotate(b?M:-M),{x1:O+st.x,y1:U+st.y,x2:B+st.x,y2:W+st.y,anchorPointX:Z,anchorPointY:$}}class cr{constructor(l,d,v,b,M){this.transform=l.clone(),this.terrain=d,this.collisionIndex=new _t(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=v,this.retainedQueryData={},this.collisionGroups=new lr(b),this.collisionCircleArrays={},this.prevPlacement=M,M&&(M.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(l,d,v,b){let M=v.getBucket(d),O=v.latestFeatureIndex;if(!M||!O||d.id!==M.layerIds[0])return;let B=v.collisionBoxArray,U=M.layers[0].layout,W=Math.pow(2,this.transform.zoom-v.tileID.overscaledZ),Z=v.tileSize/n.N,$=this.transform.calculatePosMatrix(v.tileID.toUnwrapped()),st=U.get(\"text-pitch-alignment\")===\"map\",At=U.get(\"text-rotation-alignment\")===\"map\",pt=Dt(v,1,this.transform.zoom),yt=ve($,st,At,this.transform,pt),dt=null;if(st){let Ht=jo($,st,At,this.transform,pt);dt=n.a1([],this.transform.labelPlaneMatrix,Ht)}this.retainedQueryData[M.bucketInstanceId]=new ae(M.bucketInstanceId,O,M.sourceLayerIndex,M.index,v.tileID);let Ft={bucket:M,layout:U,posMatrix:$,textLabelPlaneMatrix:yt,labelToScreenMatrix:dt,scale:W,textPixelRatio:Z,holdingForFade:v.holdingForFade(),collisionBoxArray:B,partiallyEvaluatedTextSize:n.ah(M.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(M.sourceID)};if(b)for(let Ht of M.sortKeyRanges){let{sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt}=Ht;l.push({sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt,parameters:Ft})}else l.push({symbolInstanceStart:0,symbolInstanceEnd:M.symbolInstances.length,parameters:Ft})}attemptAnchorPlacement(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt){let Ft=n.aq[l.textAnchor],Ht=[l.textOffset0,l.textOffset1],St=vr(Ft,v,b,Ht,M),Bt=this.collisionIndex.placeCollisionBox(Xe(d,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt);if((!yt||this.collisionIndex.placeCollisionBox(Xe(yt,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt).box.length!==0)&&Bt.box.length>0){let Qt;if(this.prevPlacement&&this.prevPlacement.variableOffsets[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID].text&&(Qt=this.prevPlacement.variableOffsets[st.crossTileID].anchor),st.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[st.crossTileID]={textOffset:Ht,width:v,height:b,anchor:Ft,textBoxScale:M,prevAnchor:Qt},this.markUsedJustification(At,Ft,st,pt),At.allowVerticalPlacement&&(this.markUsedOrientation(At,pt,st),this.placedOrientations[st.crossTileID]=pt),{shift:St,placedGlyphBoxes:Bt}}}placeLayerBucketPart(l,d,v){let{bucket:b,layout:M,posMatrix:O,textLabelPlaneMatrix:B,labelToScreenMatrix:U,textPixelRatio:W,holdingForFade:Z,collisionBoxArray:$,partiallyEvaluatedTextSize:st,collisionGroup:At}=l.parameters,pt=M.get(\"text-optional\"),yt=M.get(\"icon-optional\"),dt=n.ar(M,\"text-overlap\",\"text-allow-overlap\"),Ft=dt===\"always\",Ht=n.ar(M,\"icon-overlap\",\"icon-allow-overlap\"),St=Ht===\"always\",Bt=M.get(\"text-rotation-alignment\")===\"map\",Qt=M.get(\"text-pitch-alignment\")===\"map\",$t=M.get(\"icon-text-fit\")!==\"none\",oe=M.get(\"symbol-z-order\")===\"viewport-y\",pe=Ft&&(St||!b.hasIconData()||yt),he=St&&(Ft||!b.hasTextData()||pt);!b.collisionArrays&&$&&b.deserializeCollisionBoxes($);let be=this.retainedQueryData[b.bucketInstanceId].tileID,Ze=this.terrain?(Ee,pr)=>this.terrain.getElevation(be,Ee,pr):null,Kr=(Ee,pr)=>{var tr,Gi;if(d[Ee.crossTileID])return;if(Z)return void(this.placements[Ee.crossTileID]=new ie(!1,!1,!1));let Jr=!1,Vr=!1,ei=!0,On=null,tn={box:null,offscreen:null},Gs={box:null,offscreen:null},hs=null,Bn=null,qo=null,jr=0,ql=0,Zl=0;pr.textFeatureIndex?jr=pr.textFeatureIndex:Ee.useRuntimeCollisionCircles&&(jr=Ee.featureIndex),pr.verticalTextFeatureIndex&&(ql=pr.verticalTextFeatureIndex);let yu=pr.textBox;if(yu){let Ws=Fn=>{let fs=n.ai.horizontal;if(b.allowVerticalPlacement&&!Fn&&this.prevPlacement){let Zo=this.prevPlacement.placedOrientations[Ee.crossTileID];Zo&&(this.placedOrientations[Ee.crossTileID]=Zo,fs=Zo,this.markUsedOrientation(b,fs,Ee))}return fs},Ps=(Fn,fs)=>{if(b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&pr.verticalTextBox){for(let Zo of b.writingModes)if(Zo===n.ai.vertical?(tn=fs(),Gs=tn):tn=Fn(),tn&&tn.box&&tn.box.length)break}else tn=Fn()},Eo=Ee.textAnchorOffsetStartIndex,yh=Ee.textAnchorOffsetEndIndex;if(yh===Eo){let Fn=(fs,Zo)=>{let _n=this.collisionIndex.placeCollisionBox(fs,dt,W,O,At.predicate,Ze);return _n&&_n.box&&_n.box.length&&(this.markUsedOrientation(b,Zo,Ee),this.placedOrientations[Ee.crossTileID]=Zo),_n};Ps(()=>Fn(yu,n.ai.horizontal),()=>{let fs=pr.verticalTextBox;return b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&fs?Fn(fs,n.ai.vertical):{box:null,offscreen:null}}),Ws(tn&&tn.box&&tn.box.length)}else{let Fn=n.aq[(Gi=(tr=this.prevPlacement)===null||tr===void 0?void 0:tr.variableOffsets[Ee.crossTileID])===null||Gi===void 0?void 0:Gi.anchor],fs=(_n,ho,Gr)=>{let Ua=_n.x2-_n.x1,S_=_n.y2-_n.y1,zd=Ee.textBoxScale,cA=$t&&Ht===\"never\"?ho:null,Yl={box:[],offscreen:!1},Yo=dt===\"never\"?1:2,me=\"never\";Fn&&Yo++;for(let ke=0;kefs(yu,pr.iconBox,n.ai.horizontal),()=>{let _n=pr.verticalTextBox;return b.allowVerticalPlacement&&!(tn&&tn.box&&tn.box.length)&&Ee.numVerticalGlyphVertices>0&&_n?fs(_n,pr.verticalIconBox,n.ai.vertical):{box:null,offscreen:null}}),tn&&(Jr=tn.box,ei=tn.offscreen);let Zo=Ws(tn&&tn.box);if(!Jr&&this.prevPlacement){let _n=this.prevPlacement.variableOffsets[Ee.crossTileID];_n&&(this.variableOffsets[Ee.crossTileID]=_n,this.markUsedJustification(b,_n.anchor,Ee,Zo))}}}if(hs=tn,Jr=hs&&hs.box&&hs.box.length>0,ei=hs&&hs.offscreen,Ee.useRuntimeCollisionCircles){let Ws=b.text.placedSymbolArray.get(Ee.centerJustifiedTextSymbolIndex),Ps=n.aj(b.textSizeData,st,Ws),Eo=M.get(\"text-padding\");Bn=this.collisionIndex.placeCollisionCircles(dt,Ws,b.lineVertexArray,b.glyphOffsetArray,Ps,O,B,U,v,Qt,At.predicate,Ee.collisionCircleDiameter,Eo,Ze),Bn.circles.length&&Bn.collisionDetected&&!v&&n.w(\"Collisions detected, but collision boxes are not shown\"),Jr=Ft||Bn.circles.length>0&&!Bn.collisionDetected,ei=ei&&Bn.offscreen}if(pr.iconFeatureIndex&&(Zl=pr.iconFeatureIndex),pr.iconBox){let Ws=Ps=>{let Eo=$t&&On?Xe(Ps,On.x,On.y,Bt,Qt,this.transform.angle):Ps;return this.collisionIndex.placeCollisionBox(Eo,Ht,W,O,At.predicate,Ze)};Gs&&Gs.box&&Gs.box.length&&pr.verticalIconBox?(qo=Ws(pr.verticalIconBox),Vr=qo.box.length>0):(qo=Ws(pr.iconBox),Vr=qo.box.length>0),ei=ei&&qo.offscreen}let vu=pt||Ee.numHorizontalGlyphVertices===0&&Ee.numVerticalGlyphVertices===0,_h=yt||Ee.numIconVertices===0;if(vu||_h?_h?vu||(Vr=Vr&&Jr):Jr=Vr&&Jr:Vr=Jr=Vr&&Jr,Jr&&hs&&hs.box&&this.collisionIndex.insertCollisionBox(hs.box,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,Gs&&Gs.box&&ql?ql:jr,At.ID),Vr&&qo&&this.collisionIndex.insertCollisionBox(qo.box,Ht,M.get(\"icon-ignore-placement\"),b.bucketInstanceId,Zl,At.ID),Bn&&(Jr&&this.collisionIndex.insertCollisionCircles(Bn.circles,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,jr,At.ID),v)){let Ws=b.bucketInstanceId,Ps=this.collisionCircleArrays[Ws];Ps===void 0&&(Ps=this.collisionCircleArrays[Ws]=new se);for(let Eo=0;Eo=0;--pr){let tr=Ee[pr];Kr(b.symbolInstances.get(tr),b.collisionArrays[tr])}}else for(let Ee=l.symbolInstanceStart;Ee=0&&(l.text.placedSymbolArray.get(B).crossTileID=M>=0&&B!==M?0:v.crossTileID)}markUsedOrientation(l,d,v){let b=d===n.ai.horizontal||d===n.ai.horizontalOnly?d:0,M=d===n.ai.vertical?d:0,O=[v.leftJustifiedTextSymbolIndex,v.centerJustifiedTextSymbolIndex,v.rightJustifiedTextSymbolIndex];for(let B of O)l.text.placedSymbolArray.get(B).placedOrientation=b;v.verticalPlacedTextSymbolIndex&&(l.text.placedSymbolArray.get(v.verticalPlacedTextSymbolIndex).placedOrientation=M)}commit(l){this.commitTime=l,this.zoomAtLastRecencyCheck=this.transform.zoom;let d=this.prevPlacement,v=!1;this.prevZoomAdjustment=d?d.zoomAdjustment(this.transform.zoom):0;let b=d?d.symbolFadeChange(l):1,M=d?d.opacities:{},O=d?d.variableOffsets:{},B=d?d.placedOrientations:{};for(let U in this.placements){let W=this.placements[U],Z=M[U];Z?(this.opacities[U]=new Vt(Z,b,W.text,W.icon),v=v||W.text!==Z.text.placed||W.icon!==Z.icon.placed):(this.opacities[U]=new Vt(null,b,W.text,W.icon,W.skipFade),v=v||W.text||W.icon)}for(let U in M){let W=M[U];if(!this.opacities[U]){let Z=new Vt(W,b,!1,!1);Z.isHidden()||(this.opacities[U]=Z,v=v||W.text.placed||W.icon.placed)}}for(let U in O)this.variableOffsets[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.variableOffsets[U]=O[U]);for(let U in B)this.placedOrientations[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.placedOrientations[U]=B[U]);if(d&&d.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");v?this.lastPlacementChangeTime=l:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=d?d.lastPlacementChangeTime:l)}updateLayerOpacities(l,d){let v={};for(let b of d){let M=b.getBucket(l);M&&b.latestFeatureIndex&&l.id===M.layerIds[0]&&this.updateBucketOpacities(M,v,b.collisionBoxArray)}}updateBucketOpacities(l,d,v){l.hasTextData()&&(l.text.opacityVertexArray.clear(),l.text.hasVisibleVertices=!1),l.hasIconData()&&(l.icon.opacityVertexArray.clear(),l.icon.hasVisibleVertices=!1),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexArray.clear(),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexArray.clear();let b=l.layers[0],M=b.layout,O=new Vt(null,0,!1,!1,!0),B=M.get(\"text-allow-overlap\"),U=M.get(\"icon-allow-overlap\"),W=b._unevaluatedLayout.hasValue(\"text-variable-anchor\")||b._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Z=M.get(\"text-rotation-alignment\")===\"map\",$=M.get(\"text-pitch-alignment\")===\"map\",st=M.get(\"icon-text-fit\")!==\"none\",At=new Vt(null,0,B&&(U||!l.hasIconData()||M.get(\"icon-optional\")),U&&(B||!l.hasTextData()||M.get(\"text-optional\")),!0);!l.collisionArrays&&v&&(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData())&&l.deserializeCollisionBoxes(v);let pt=(yt,dt,Ft)=>{for(let Ht=0;Ht
0,$t=this.placedOrientations[dt.crossTileID],oe=$t===n.ai.vertical,pe=$t===n.ai.horizontal||$t===n.ai.horizontalOnly;if(Ft>0||Ht>0){let he=es(Bt.text);pt(l.text,Ft,oe?oa:he),pt(l.text,Ht,pe?oa:he);let be=Bt.text.isHidden();[dt.rightJustifiedTextSymbolIndex,dt.centerJustifiedTextSymbolIndex,dt.leftJustifiedTextSymbolIndex].forEach(Ee=>{Ee>=0&&(l.text.placedSymbolArray.get(Ee).hidden=be||oe?1:0)}),dt.verticalPlacedTextSymbolIndex>=0&&(l.text.placedSymbolArray.get(dt.verticalPlacedTextSymbolIndex).hidden=be||pe?1:0);let Ze=this.variableOffsets[dt.crossTileID];Ze&&this.markUsedJustification(l,Ze.anchor,dt,$t);let Kr=this.placedOrientations[dt.crossTileID];Kr&&(this.markUsedJustification(l,\"left\",dt,Kr),this.markUsedOrientation(l,Kr,dt))}if(Qt){let he=es(Bt.icon),be=!(st&&dt.verticalPlacedIconSymbolIndex&&oe);dt.placedIconSymbolIndex>=0&&(pt(l.icon,dt.numIconVertices,be?he:oa),l.icon.placedSymbolArray.get(dt.placedIconSymbolIndex).hidden=Bt.icon.isHidden()),dt.verticalPlacedIconSymbolIndex>=0&&(pt(l.icon,dt.numVerticalIconVertices,be?oa:he),l.icon.placedSymbolArray.get(dt.verticalPlacedIconSymbolIndex).hidden=Bt.icon.isHidden())}if(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData()){let he=l.collisionArrays[yt];if(he){let be=new n.P(0,0);if(he.textBox||he.verticalTextBox){let Kr=!0;if(W){let Ee=this.variableOffsets[St];Ee?(be=vr(Ee.anchor,Ee.width,Ee.height,Ee.textOffset,Ee.textBoxScale),Z&&be._rotate($?this.transform.angle:-this.transform.angle)):Kr=!1}he.textBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||oe,be.x,be.y),he.verticalTextBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||pe,be.x,be.y)}let Ze=!!(!pe&&he.verticalIconBox);he.iconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,Ze,st?be.x:0,st?be.y:0),he.verticalIconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,!Ze,st?be.x:0,st?be.y:0)}}}if(l.sortFeatures(this.transform.angle),this.retainedQueryData[l.bucketInstanceId]&&(this.retainedQueryData[l.bucketInstanceId].featureSortOrder=l.featureSortOrder),l.hasTextData()&&l.text.opacityVertexBuffer&&l.text.opacityVertexBuffer.updateData(l.text.opacityVertexArray),l.hasIconData()&&l.icon.opacityVertexBuffer&&l.icon.opacityVertexBuffer.updateData(l.icon.opacityVertexArray),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexBuffer&&l.iconCollisionBox.collisionVertexBuffer.updateData(l.iconCollisionBox.collisionVertexArray),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexBuffer&&l.textCollisionBox.collisionVertexBuffer.updateData(l.textCollisionBox.collisionVertexArray),l.text.opacityVertexArray.length!==l.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${l.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${l.text.layoutVertexArray.length}) / 4`);if(l.icon.opacityVertexArray.length!==l.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${l.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${l.icon.layoutVertexArray.length}) / 4`);if(l.bucketInstanceId in this.collisionCircleArrays){let yt=this.collisionCircleArrays[l.bucketInstanceId];l.placementInvProjMatrix=yt.invProjMatrix,l.placementViewportMatrix=yt.viewportMatrix,l.collisionCircleArray=yt.circles,delete this.collisionCircleArrays[l.bucketInstanceId]}}symbolFadeChange(l){return this.fadeDuration===0?1:(l-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(l){return Math.max(0,(this.transform.zoom-l)/1.5)}hasTransitions(l){return this.stale||l-this.lastPlacementChangeTimel}setStale(){this.stale=!0}}function wr(T,l,d,v,b){T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0)}let xi=Math.pow(2,25),zi=Math.pow(2,24),ni=Math.pow(2,17),Hr=Math.pow(2,16),jn=Math.pow(2,9),Bi=Math.pow(2,8),xn=Math.pow(2,1);function es(T){if(T.opacity===0&&!T.placed)return 0;if(T.opacity===1&&T.placed)return 4294967295;let l=T.placed?1:0,d=Math.floor(127*T.opacity);return d*xi+l*zi+d*ni+l*Hr+d*jn+l*Bi+d*xn+l}let oa=0;class Um{constructor(l){this._sortAcrossTiles=l.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!l.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(l,d,v,b,M){let O=this._bucketParts;for(;this._currentTileIndexB.sortKey-U.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.h.now()-b>2;for(;this._currentPlacementIndex>=0;){let O=d[l[this._currentPlacementIndex]],B=this.placement.collisionIndex.transform.zoom;if(O.type===\"symbol\"&&(!O.minzoom||O.minzoom<=B)&&(!O.maxzoom||O.maxzoom>B)){if(this._inProgressLayer||(this._inProgressLayer=new Um(O)),this._inProgressLayer.continuePlacement(v[O.source],this.placement,this._showCollisionBoxes,O,M))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(l){return this.placement.commit(l),this.placement}}let Ss=512/n.N/2;class nh{constructor(l,d,v){this.tileID=l,this.bucketInstanceId=v,this._symbolsByKey={};let b=new Map;for(let M=0;M({x:Math.floor(U.anchorX*Ss),y:Math.floor(U.anchorY*Ss)})),crossTileIDs:O.map(U=>U.crossTileID)};if(B.positions.length>128){let U=new n.av(B.positions.length,16,Uint16Array);for(let{x:W,y:Z}of B.positions)U.add(W,Z);U.finish(),delete B.positions,B.index=U}this._symbolsByKey[M]=B}}getScaledCoordinates(l,d){let{x:v,y:b,z:M}=this.tileID.canonical,{x:O,y:B,z:U}=d.canonical,W=Ss/Math.pow(2,U-M),Z=(B*n.N+l.anchorY)*W,$=b*n.N*Ss;return{x:Math.floor((O*n.N+l.anchorX)*W-v*n.N*Ss),y:Math.floor(Z-$)}}findMatches(l,d,v){let b=this.tileID.canonical.zl)}}class ai{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ka{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(l){let d=Math.round((l-this.lng)/360);if(d!==0)for(let v in this.indexes){let b=this.indexes[v],M={};for(let O in b){let B=b[O];B.tileID=B.tileID.unwrapTo(B.tileID.wrap+d),M[B.tileID.key]=B}this.indexes[v]=M}this.lng=l}addBucket(l,d,v){if(this.indexes[l.overscaledZ]&&this.indexes[l.overscaledZ][l.key]){if(this.indexes[l.overscaledZ][l.key].bucketInstanceId===d.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(l.overscaledZ,this.indexes[l.overscaledZ][l.key])}for(let M=0;Ml.overscaledZ)for(let B in O){let U=O[B];U.tileID.isChildOf(l)&&U.findMatches(d.symbolInstances,l,b)}else{let B=O[l.scaledTo(Number(M)).key];B&&B.findMatches(d.symbolInstances,l,b)}}for(let M=0;M{d[v]=!0});for(let v in this.layerIndexes)d[v]||delete this.layerIndexes[v]}}let ln=(T,l)=>n.x(T,l&&l.filter(d=>d.identifier!==\"source.canvas\")),Dn=n.F(n.ax,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setGlyphs\",\"setSprite\"]),Vm=n.F(n.ax,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Go=n.aw();class Gn extends n.E{constructor(l,d={}){super(),this.map=l,this.dispatcher=new ih(bo(),this,l._getMapId()),this.imageManager=new ue,this.imageManager.setEventedParent(this),this.glyphManager=new Sr(l._requestManager,d.localIdeographFontFamily),this.lineAtlas=new No(256,512),this.crossTileSymbolIndex=new Dc,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new n.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",n.az());let v=this;this._rtlTextPluginCallback=Gn.registerForPluginStateChange(b=>{v.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:b.pluginStatus,pluginURL:b.pluginURL},(M,O)=>{if(n.aA(M),O&&O.every(B=>B))for(let B in v.sourceCaches){let U=v.sourceCaches[B].getSource().type;U!==\"vector\"&&U!==\"geojson\"||v.sourceCaches[B].reload()}})}),this.on(\"data\",b=>{if(b.dataType!==\"source\"||b.sourceDataType!==\"metadata\")return;let M=this.sourceCaches[b.sourceId];if(!M)return;let O=M.getSource();if(O&&O.vectorLayerIds)for(let B in this._layers){let U=this._layers[B];U.source===O.id&&this._validateLayer(U)}})}loadURL(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),d.validate=typeof d.validate!=\"boolean\"||d.validate;let b=this.map._requestManager.transformRequest(l,Q.Style);this._request=n.f(b,(M,O)=>{this._request=null,M?this.fire(new n.j(M)):O&&this._load(O,d,v)})}loadJSON(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._request=n.h.frame(()=>{this._request=null,d.validate=d.validate!==!1,this._load(l,d,v)})}loadEmpty(){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._load(Go,{validate:!1})}_load(l,d,v){var b;let M=d.transformStyle?d.transformStyle(v,l):l;if(!d.validate||!ln(this,n.y(M))){this._loaded=!0,this.stylesheet=M;for(let O in M.sources)this.addSource(O,M.sources[O],{validate:!1});M.sprite?this._loadSprite(M.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(M.glyphs),this._createLayers(),this.light=new zl(this.stylesheet.light),this.map.setTerrain((b=this.stylesheet.terrain)!==null&&b!==void 0?b:null),this.fire(new n.k(\"data\",{dataType:\"style\"})),this.fire(new n.k(\"style.load\"))}}_createLayers(){let l=n.aB(this.stylesheet.layers);this.dispatcher.broadcast(\"setLayers\",l),this._order=l.map(d=>d.id),this._layers={},this._serializedLayers=null;for(let d of l){let v=n.aC(d);v.setEventedParent(this,{layer:{id:d.id}}),this._layers[d.id]=v}}_loadSprite(l,d=!1,v=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(b,M,O,B){let U=kt(b),W=U.length,Z=O>1?\"@2x\":\"\",$={},st={},At={};for(let{id:pt,url:yt}of U){let dt=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".json\"),Q.SpriteJSON),Ft=`${pt}_${dt.url}`;$[Ft]=n.f(dt,(Bt,Qt)=>{delete $[Ft],st[pt]=Qt,Xt(B,st,At,Bt,W)});let Ht=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".png\"),Q.SpriteImage),St=`${pt}_${Ht.url}`;$[St]=j.getImage(Ht,(Bt,Qt)=>{delete $[St],At[pt]=Qt,Xt(B,st,At,Bt,W)})}return{cancel(){for(let pt of Object.values($))pt.cancel()}}}(l,this.map._requestManager,this.map.getPixelRatio(),(b,M)=>{if(this._spriteRequest=null,b)this.fire(new n.j(b));else if(M)for(let O in M){this._spritesImagesIds[O]=[];let B=this._spritesImagesIds[O]?this._spritesImagesIds[O].filter(U=>!(U in M)):[];for(let U of B)this.imageManager.removeImage(U),this._changedImages[U]=!0;for(let U in M[O]){let W=O===\"default\"?U:`${O}:${U}`;this._spritesImagesIds[O].push(W),W in this.imageManager.images?this.imageManager.updateImage(W,M[O][U],!1):this.imageManager.addImage(W,M[O][U]),d&&(this._changedImages[W]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),d&&(this._changed=!0),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"})),v&&v(b)})}_unloadSprite(){for(let l of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(l),this._changedImages[l]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}_validateLayer(l){let d=this.sourceCaches[l.source];if(!d)return;let v=l.sourceLayer;if(!v)return;let b=d.getSource();(b.type===\"geojson\"||b.vectorLayerIds&&b.vectorLayerIds.indexOf(v)===-1)&&this.fire(new n.j(new Error(`Source layer \"${v}\" does not exist on source \"${b.id}\" as specified by style layer \"${l.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let l in this.sourceCaches)if(!this.sourceCaches[l].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(l){let d=this._serializedAllLayers();if(!l||l.length===0)return Object.values(d);let v=[];for(let b of l)d[b]&&v.push(d[b]);return v}_serializedAllLayers(){let l=this._serializedLayers;if(l)return l;l=this._serializedLayers={};let d=Object.keys(this._layers);for(let v of d){let b=this._layers[v];b.type!==\"custom\"&&(l[v]=b.serialize())}return l}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(let l in this.sourceCaches)if(this.sourceCaches[l].hasTransition())return!0;for(let l in this._layers)if(this._layers[l].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(l){if(!this._loaded)return;let d=this._changed;if(this._changed){let b=Object.keys(this._updatedLayers),M=Object.keys(this._removedLayers);(b.length||M.length)&&this._updateWorkerLayers(b,M);for(let O in this._updatedSources){let B=this._updatedSources[O];if(B===\"reload\")this._reloadSource(O);else{if(B!==\"clear\")throw new Error(`Invalid action ${B}`);this._clearSource(O)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let O in this._updatedPaintProps)this._layers[O].updateTransitions(l);this.light.updateTransitions(l),this._resetUpdates()}let v={};for(let b in this.sourceCaches){let M=this.sourceCaches[b];v[b]=M.used,M.used=!1}for(let b of this._order){let M=this._layers[b];M.recalculate(l,this._availableImages),!M.isHidden(l.zoom)&&M.source&&(this.sourceCaches[M.source].used=!0)}for(let b in v){let M=this.sourceCaches[b];v[b]!==M.used&&M.fire(new n.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:b}))}this.light.recalculate(l),this.z=l.zoom,d&&this.fire(new n.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let l=Object.keys(this._changedImages);if(l.length){for(let d in this.sourceCaches)this.sourceCaches[d].reloadTilesForDependencies([\"icons\",\"patterns\"],l);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let l in this.sourceCaches)this.sourceCaches[l].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(l,d){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeByIds(l),removedIds:d})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(l,d={}){this._checkLoaded();let v=this.serialize();if(l=d.transformStyle?d.transformStyle(v,l):l,ln(this,n.y(l)))return!1;(l=n.aD(l)).layers=n.aB(l.layers);let b=n.aE(v,l).filter(O=>!(O.command in Vm));if(b.length===0)return!1;let M=b.filter(O=>!(O.command in Dn));if(M.length>0)throw new Error(`Unimplemented: ${M.map(O=>O.command).join(\", \")}.`);for(let O of b)O.command!==\"setTransition\"&&this[O.command].apply(this,O.args);return this.stylesheet=l,this._serializedLayers=null,!0}addImage(l,d){if(this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" already exists.`)));this.imageManager.addImage(l,d),this._afterImageUpdated(l)}updateImage(l,d){this.imageManager.updateImage(l,d)}getImage(l){return this.imageManager.getImage(l)}removeImage(l){if(!this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" does not exist.`)));this.imageManager.removeImage(l),this._afterImageUpdated(l)}_afterImageUpdated(l){this._availableImages=this.imageManager.listImages(),this._changedImages[l]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(l,d,v={}){if(this._checkLoaded(),this.sourceCaches[l]!==void 0)throw new Error(`Source \"${l}\" already exists.`);if(!d.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(d).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(d.type)>=0&&this._validate(n.y.source,`sources.${l}`,d,null,v))return;this.map&&this.map._collectResourceTiming&&(d.collectResourceTiming=!0);let b=this.sourceCaches[l]=new ls(l,d,this.dispatcher);b.style=this,b.setEventedParent(this,()=>({isSourceLoaded:b.loaded(),source:b.serialize(),sourceId:l})),b.onAdd(this.map),this._changed=!0}removeSource(l){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(\"There is no source with this ID\");for(let v in this._layers)if(this._layers[v].source===l)return this.fire(new n.j(new Error(`Source \"${l}\" cannot be removed while layer \"${v}\" is using it.`)));let d=this.sourceCaches[l];delete this.sourceCaches[l],delete this._updatedSources[l],d.fire(new n.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:l})),d.setEventedParent(null),d.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(l,d){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(`There is no source with this ID=${l}`);let v=this.sourceCaches[l].getSource();if(v.type!==\"geojson\")throw new Error(`geojsonSource.type is ${v.type}, which is !== 'geojson`);v.setData(d),this._changed=!0}getSource(l){return this.sourceCaches[l]&&this.sourceCaches[l].getSource()}addLayer(l,d,v={}){this._checkLoaded();let b=l.id;if(this.getLayer(b))return void this.fire(new n.j(new Error(`Layer \"${b}\" already exists on this map.`)));let M;if(l.type===\"custom\"){if(ln(this,n.aF(l)))return;M=n.aC(l)}else{if(\"source\"in l&&typeof l.source==\"object\"&&(this.addSource(b,l.source),l=n.aD(l),l=n.e(l,{source:b})),this._validate(n.y.layer,`layers.${b}`,l,{arrayIndex:-1},v))return;M=n.aC(l),this._validateLayer(M),M.setEventedParent(this,{layer:{id:b}})}let O=d?this._order.indexOf(d):this._order.length;if(d&&O===-1)this.fire(new n.j(new Error(`Cannot add layer \"${b}\" before non-existing layer \"${d}\".`)));else{if(this._order.splice(O,0,b),this._layerOrderChanged=!0,this._layers[b]=M,this._removedLayers[b]&&M.source&&M.type!==\"custom\"){let B=this._removedLayers[b];delete this._removedLayers[b],B.type!==M.type?this._updatedSources[M.source]=\"clear\":(this._updatedSources[M.source]=\"reload\",this.sourceCaches[M.source].pause())}this._updateLayer(M),M.onAdd&&M.onAdd(this.map)}}moveLayer(l,d){if(this._checkLoaded(),this._changed=!0,!this._layers[l])return void this.fire(new n.j(new Error(`The layer '${l}' does not exist in the map's style and cannot be moved.`)));if(l===d)return;let v=this._order.indexOf(l);this._order.splice(v,1);let b=d?this._order.indexOf(d):this._order.length;d&&b===-1?this.fire(new n.j(new Error(`Cannot move layer \"${l}\" before non-existing layer \"${d}\".`))):(this._order.splice(b,0,l),this._layerOrderChanged=!0)}removeLayer(l){this._checkLoaded();let d=this._layers[l];if(!d)return void this.fire(new n.j(new Error(`Cannot remove non-existing layer \"${l}\".`)));d.setEventedParent(null);let v=this._order.indexOf(l);this._order.splice(v,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[l]=d,delete this._layers[l],this._serializedLayers&&delete this._serializedLayers[l],delete this._updatedLayers[l],delete this._updatedPaintProps[l],d.onRemove&&d.onRemove(this.map)}getLayer(l){return this._layers[l]}getLayersOrder(){return[...this._order]}hasLayer(l){return l in this._layers}setLayerZoomRange(l,d,v){this._checkLoaded();let b=this.getLayer(l);b?b.minzoom===d&&b.maxzoom===v||(d!=null&&(b.minzoom=d),v!=null&&(b.maxzoom=v),this._updateLayer(b)):this.fire(new n.j(new Error(`Cannot set the zoom range of non-existing layer \"${l}\".`)))}setFilter(l,d,v={}){this._checkLoaded();let b=this.getLayer(l);if(b){if(!n.aG(b.filter,d))return d==null?(b.filter=void 0,void this._updateLayer(b)):void(this._validate(n.y.filter,`layers.${b.id}.filter`,d,null,v)||(b.filter=n.aD(d),this._updateLayer(b)))}else this.fire(new n.j(new Error(`Cannot filter non-existing layer \"${l}\".`)))}getFilter(l){return n.aD(this.getLayer(l).filter)}setLayoutProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getLayoutProperty(d),v)||(M.setLayoutProperty(d,v,b),this._updateLayer(M)):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getLayoutProperty(l,d){let v=this.getLayer(l);if(v)return v.getLayoutProperty(d);this.fire(new n.j(new Error(`Cannot get style of non-existing layer \"${l}\".`)))}setPaintProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getPaintProperty(d),v)||(M.setPaintProperty(d,v,b)&&this._updateLayer(M),this._changed=!0,this._updatedPaintProps[l]=!0):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getPaintProperty(l,d){return this.getLayer(l).getPaintProperty(d)}setFeatureState(l,d){this._checkLoaded();let v=l.source,b=l.sourceLayer,M=this.sourceCaches[v];if(M===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let O=M.getSource().type;O===\"geojson\"&&b?this.fire(new n.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):O!==\"vector\"||b?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),M.setFeatureState(b,l.id,d)):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(l,d){this._checkLoaded();let v=l.source,b=this.sourceCaches[v];if(b===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let M=b.getSource().type,O=M===\"vector\"?l.sourceLayer:void 0;M!==\"vector\"||O?d&&typeof l.id!=\"string\"&&typeof l.id!=\"number\"?this.fire(new n.j(new Error(\"A feature id is required to remove its specific state property.\"))):b.removeFeatureState(O,l.id,d):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(l){this._checkLoaded();let d=l.source,v=l.sourceLayer,b=this.sourceCaches[d];if(b!==void 0)return b.getSource().type!==\"vector\"||v?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),b.getFeatureState(v,l.id)):void this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new n.j(new Error(`The source '${d}' does not exist in the map's style.`)))}getTransition(){return n.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let l=n.aH(this.sourceCaches,M=>M.serialize()),d=this._serializeByIds(this._order),v=this.map.getTerrain()||void 0,b=this.stylesheet;return n.aI({version:b.version,name:b.name,metadata:b.metadata,light:b.light,center:b.center,zoom:b.zoom,bearing:b.bearing,pitch:b.pitch,sprite:b.sprite,glyphs:b.glyphs,transition:b.transition,sources:l,layers:d,terrain:v},M=>M!==void 0)}_updateLayer(l){this._updatedLayers[l.id]=!0,l.source&&!this._updatedSources[l.source]&&this.sourceCaches[l.source].getSource().type!==\"raster\"&&(this._updatedSources[l.source]=\"reload\",this.sourceCaches[l.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(l){let d=O=>this._layers[O].type===\"fill-extrusion\",v={},b=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B)){v[B]=O;for(let U of l){let W=U[B];if(W)for(let Z of W)b.push(Z)}}}b.sort((O,B)=>B.intersectionZ-O.intersectionZ);let M=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B))for(let U=b.length-1;U>=0;U--){let W=b[U].feature;if(v[W.layer.id]{let pe=Ft.featureSortOrder;if(pe){let he=pe.indexOf($t.featureIndex);return pe.indexOf(oe.featureIndex)-he}return oe.featureIndex-$t.featureIndex});for(let $t of Qt)Bt.push($t)}}for(let Ft in pt)pt[Ft].forEach(Ht=>{let St=Ht.feature,Bt=W[B[Ft].source].getFeatureState(St.layer[\"source-layer\"],St.id);St.source=St.layer.source,St.layer[\"source-layer\"]&&(St.sourceLayer=St.layer[\"source-layer\"]),St.state=Bt});return pt}(this._layers,O,this.sourceCaches,l,d,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(M)}querySourceFeatures(l,d){d&&d.filter&&this._validate(n.y.filter,\"querySourceFeatures.filter\",d.filter,null,d);let v=this.sourceCaches[l];return v?function(b,M){let O=b.getRenderableIds().map(W=>b.getTileByID(W)),B=[],U={};for(let W=0;W{cl[b]=M})(l,d),d.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:l,url:d.workerSourceURL},v):v(null,null))}getLight(){return this.light.getLight()}setLight(l,d={}){this._checkLoaded();let v=this.light.getLight(),b=!1;for(let O in l)if(!n.aG(l[O],v[O])){b=!0;break}if(!b)return;let M={now:n.h.now(),transition:n.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(l,d),this.light.updateTransitions(M)}_validate(l,d,v,b,M={}){return(!M||M.validate!==!1)&&ln(this,l.call(n.y,n.e({key:d,style:this.serialize(),value:v,styleSpec:n.v},b)))}_remove(l=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.aJ.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(let d in this._layers)this._layers[d].setEventedParent(null);for(let d in this.sourceCaches){let v=this.sourceCaches[d];v.setEventedParent(null),v.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(l)}_clearSource(l){this.sourceCaches[l].clearTiles()}_reloadSource(l){this.sourceCaches[l].resume(),this.sourceCaches[l].reload()}_updateSources(l){for(let d in this.sourceCaches)this.sourceCaches[d].update(l,this.map.terrain)}_generateCollisionBoxes(){for(let l in this.sourceCaches)this._reloadSource(l)}_updatePlacement(l,d,v,b,M=!1){let O=!1,B=!1,U={};for(let W of this._order){let Z=this._layers[W];if(Z.type!==\"symbol\")continue;if(!U[Z.source]){let st=this.sourceCaches[Z.source];U[Z.source]=st.getRenderableIds(!0).map(At=>st.getTileByID(At)).sort((At,pt)=>pt.tileID.overscaledZ-At.tileID.overscaledZ||(At.tileID.isLessThan(pt.tileID)?-1:1))}let $=this.crossTileSymbolIndex.addLayer(Z,U[Z.source],l.center.lng);O=O||$}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((M=M||this._layerOrderChanged||v===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.h.now(),l.zoom))&&(this.pauseablePlacement=new Vl(l,this.map.terrain,this._order,M,d,v,b,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,U),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.h.now()),B=!0),O&&this.pauseablePlacement.placement.setStale()),B||O)for(let W of this._order){let Z=this._layers[W];Z.type===\"symbol\"&&this.placement.updateLayerOpacities(Z,U[Z.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.h.now())}_releaseSymbolFadeTiles(){for(let l in this.sourceCaches)this.sourceCaches[l].releaseSymbolFadeTiles()}getImages(l,d,v){this.imageManager.getImages(d.icons,v),this._updateTilesForChangedImages();let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,d.icons)}getGlyphs(l,d,v){this.glyphManager.getGlyphs(d.stacks,v);let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,[\"\"])}getResource(l,d,v){return n.m(d,v)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(l,d={}){this._checkLoaded(),l&&this._validate(n.y.glyphs,\"glyphs\",l,null,d)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=l,this.glyphManager.entries={},this.glyphManager.setURL(l))}addSprite(l,d,v={},b){this._checkLoaded();let M=[{id:l,url:d}],O=[...kt(this.stylesheet.sprite),...M];this._validate(n.y.sprite,\"sprite\",O,null,v)||(this.stylesheet.sprite=O,this._loadSprite(M,!0,b))}removeSprite(l){this._checkLoaded();let d=kt(this.stylesheet.sprite);if(d.find(v=>v.id===l)){if(this._spritesImagesIds[l])for(let v of this._spritesImagesIds[l])this.imageManager.removeImage(v),this._changedImages[v]=!0;d.splice(d.findIndex(v=>v.id===l),1),this.stylesheet.sprite=d.length>0?d:void 0,delete this._spritesImagesIds[l],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}else this.fire(new n.j(new Error(`Sprite \"${l}\" doesn't exists on this map.`)))}getSprite(){return kt(this.stylesheet.sprite)}setSprite(l,d={},v){this._checkLoaded(),l&&this._validate(n.y.sprite,\"sprite\",l,null,d)||(this.stylesheet.sprite=l,l?this._loadSprite(l,!0,v):(this._unloadSprite(),v&&v(null)))}}Gn.registerForPluginStateChange=n.aK;var So=n.Q([{name:\"a_pos\",type:\"Int16\",components:2}]),jl=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";let Ki={prelude:_i(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:_i(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_i(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_i(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_i(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_i(`uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:_i(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_i(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_i(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_i(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_i(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_i(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_i(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_i(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_i(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_i(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_i(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_i(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_i(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_i(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_i(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_i(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",jl),terrainDepth:_i(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",jl),terrainCoords:_i(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",jl)};function _i(T,l){let d=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,v=l.match(/attribute ([\\w]+) ([\\w]+)/g),b=T.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),M=l.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),O=M?M.concat(b):b,B={};return{fragmentSource:T=T.replace(d,(U,W,Z,$,st)=>(B[st]=!0,W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = u_${st};\n#endif\n`)),vertexSource:l=l.replace(d,(U,W,Z,$,st)=>{let At=$===\"float\"?\"vec2\":\"vec4\",pt=st.match(/color/)?\"color\":At;return B[st]?W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`}),staticAttributes:v,staticUniforms:O}}class Gl{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(l,d,v,b,M,O,B,U,W){this.context=l;let Z=this.boundPaintVertexBuffers.length!==b.length;for(let $=0;!Z&&$({u_depth:new n.aL($t,oe.u_depth),u_terrain:new n.aL($t,oe.u_terrain),u_terrain_dim:new n.aM($t,oe.u_terrain_dim),u_terrain_matrix:new n.aN($t,oe.u_terrain_matrix),u_terrain_unpack:new n.aO($t,oe.u_terrain_unpack),u_terrain_exaggeration:new n.aM($t,oe.u_terrain_exaggeration)}))(l,Qt),this.binderUniforms=v?v.getUniforms(l,Qt):[]}draw(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt,Ft,Ht){let St=l.gl;if(this.failedToCreate)return;if(l.program.set(this.program),l.setDepthMode(v),l.setStencilMode(b),l.setColorMode(M),l.setCullFace(O),U){l.activeTexture.set(St.TEXTURE2),St.bindTexture(St.TEXTURE_2D,U.depthTexture),l.activeTexture.set(St.TEXTURE3),St.bindTexture(St.TEXTURE_2D,U.texture);for(let Qt in this.terrainUniforms)this.terrainUniforms[Qt].set(U[Qt])}for(let Qt in this.fixedUniforms)this.fixedUniforms[Qt].set(B[Qt]);yt&&yt.setUniforms(l,this.binderUniforms,At,{zoom:pt});let Bt=0;switch(d){case St.LINES:Bt=2;break;case St.TRIANGLES:Bt=3;break;case St.LINE_STRIP:Bt=1}for(let Qt of st.get()){let $t=Qt.vaos||(Qt.vaos={});($t[W]||($t[W]=new Gl)).bind(l,this,Z,yt?yt.getPaintVertexBuffers():[],$,Qt.vertexOffset,dt,Ft,Ht),St.drawElements(d,Qt.primitiveLength*Bt,St.UNSIGNED_SHORT,Qt.primitiveOffset*Bt*2)}}}function rs(T,l,d){let v=1/Dt(d,1,l.transform.tileZoom),b=Math.pow(2,d.tileID.overscaledZ),M=d.tileSize*Math.pow(2,l.transform.tileZoom)/b,O=M*(d.tileID.canonical.x+d.tileID.wrap*b),B=M*d.tileID.canonical.y;return{u_image:0,u_texsize:d.imageAtlasTexture.size,u_scale:[v,T.fromScale,T.toScale],u_fade:T.t,u_pixel_coord_upper:[O>>16,B>>16],u_pixel_coord_lower:[65535&O,65535&B]}}let Gp=(T,l,d,v)=>{let b=l.style.light,M=b.properties.get(\"position\"),O=[M.x,M.y,M.z],B=function(){var W=new n.A(9);return n.A!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[5]=0,W[6]=0,W[7]=0),W[0]=1,W[4]=1,W[8]=1,W}();b.properties.get(\"anchor\")===\"viewport\"&&function(W,Z){var $=Math.sin(Z),st=Math.cos(Z);W[0]=st,W[1]=$,W[2]=0,W[3]=-$,W[4]=st,W[5]=0,W[6]=0,W[7]=0,W[8]=1}(B,-l.transform.angle),function(W,Z,$){var st=Z[0],At=Z[1],pt=Z[2];W[0]=st*$[0]+At*$[3]+pt*$[6],W[1]=st*$[1]+At*$[4]+pt*$[7],W[2]=st*$[2]+At*$[5]+pt*$[8]}(O,O,B);let U=b.properties.get(\"color\");return{u_matrix:T,u_lightpos:O,u_lightintensity:b.properties.get(\"intensity\"),u_lightcolor:[U.r,U.g,U.b],u_vertical_gradient:+d,u_opacity:v}},Wl=(T,l,d,v,b,M,O)=>n.e(Gp(T,l,d,v),rs(M,l,O),{u_height_factor:-Math.pow(2,b.overscaledZ)/O.tileSize/8}),_d=T=>({u_matrix:T}),yd=(T,l,d,v)=>n.e(_d(T),rs(d,l,v)),vd=(T,l)=>({u_matrix:T,u_world:l}),xd=(T,l,d,v,b)=>n.e(yd(T,l,d,v),{u_world:b}),lt=(T,l,d,v)=>{let b=T.transform,M,O;if(v.paint.get(\"circle-pitch-alignment\")===\"map\"){let B=Dt(d,1,b.zoom);M=!0,O=[B,B]}else M=!1,O=b.pixelsToGLUnits;return{u_camera_to_center_distance:b.cameraToCenterDistance,u_scale_with_map:+(v.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:T.translatePosMatrix(l.posMatrix,d,v.paint.get(\"circle-translate\"),v.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+M,u_device_pixel_ratio:T.pixelRatio,u_extrude_scale:O}},ft=(T,l,d)=>{let v=Dt(d,1,l.zoom),b=Math.pow(2,l.zoom-d.tileID.overscaledZ),M=d.tileID.overscaleFactor();return{u_matrix:T,u_camera_to_center_distance:l.cameraToCenterDistance,u_pixels_to_tile_units:v,u_extrude_scale:[l.pixelsToGLUnits[0]/(v*b),l.pixelsToGLUnits[1]/(v*b)],u_overscale_factor:M}},Lt=(T,l,d=1)=>({u_matrix:T,u_color:l,u_overlay:0,u_overlay_scale:d}),Kt=T=>({u_matrix:T}),ge=(T,l,d,v)=>({u_matrix:T,u_extrude_scale:Dt(l,1,d),u_intensity:v});function Qe(T,l){let d=Math.pow(2,l.canonical.z),v=l.canonical.y;return[new n.U(0,v/d).toLngLat().lat,new n.U(0,(v+1)/d).toLngLat().lat]}let ti=(T,l,d,v)=>{let b=T.transform;return{u_matrix:jm(T,l,d,v),u_ratio:1/Dt(l,1,b.zoom),u_device_pixel_ratio:T.pixelRatio,u_units_to_pixels:[1/b.pixelsToGLUnits[0],1/b.pixelsToGLUnits[1]]}},is=(T,l,d,v,b)=>n.e(ti(T,l,d,b),{u_image:0,u_image_height:v}),Ts=(T,l,d,v,b)=>{let M=T.transform,O=Ra(l,M);return{u_matrix:jm(T,l,d,b),u_texsize:l.imageAtlasTexture.size,u_ratio:1/Dt(l,1,M.zoom),u_device_pixel_ratio:T.pixelRatio,u_image:0,u_scale:[O,v.fromScale,v.toScale],u_fade:v.t,u_units_to_pixels:[1/M.pixelsToGLUnits[0],1/M.pixelsToGLUnits[1]]}},Vs=(T,l,d,v,b,M)=>{let O=T.lineAtlas,B=Ra(l,T.transform),U=d.layout.get(\"line-cap\")===\"round\",W=O.getDash(v.from,U),Z=O.getDash(v.to,U),$=W.width*b.fromScale,st=Z.width*b.toScale;return n.e(ti(T,l,d,M),{u_patternscale_a:[B/$,-W.height/2],u_patternscale_b:[B/st,-Z.height/2],u_sdfgamma:O.width/(256*Math.min($,st)*T.pixelRatio)/2,u_image:0,u_tex_y_a:W.y,u_tex_y_b:Z.y,u_mix:b.t})};function Ra(T,l){return 1/Dt(T,1,l.tileZoom)}function jm(T,l,d,v){return T.translatePosMatrix(v?v.posMatrix:l.tileID.posMatrix,l,d.paint.get(\"line-translate\"),d.paint.get(\"line-translate-anchor\"))}let Ox=(T,l,d,v,b)=>{return{u_matrix:T,u_tl_parent:l,u_scale_parent:d,u_buffer_scale:1,u_fade_t:v.mix,u_opacity:v.opacity*b.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:b.paint.get(\"raster-brightness-min\"),u_brightness_high:b.paint.get(\"raster-brightness-max\"),u_saturation_factor:(O=b.paint.get(\"raster-saturation\"),O>0?1-1/(1.001-O):-O),u_contrast_factor:(M=b.paint.get(\"raster-contrast\"),M>0?1/(1-M):1+M),u_spin_weights:Bx(b.paint.get(\"raster-hue-rotate\"))};var M,O};function Bx(T){T*=Math.PI/180;let l=Math.sin(T),d=Math.cos(T);return[(2*d+1)/3,(-Math.sqrt(3)*l-d+1)/3,(Math.sqrt(3)*l-d+1)/3]}let l_=(T,l,d,v,b,M,O,B,U,W)=>{let Z=b.transform;return{u_is_size_zoom_constant:+(T===\"constant\"||T===\"source\"),u_is_size_feature_constant:+(T===\"constant\"||T===\"camera\"),u_size_t:l?l.uSizeT:0,u_size:l?l.uSize:0,u_camera_to_center_distance:Z.cameraToCenterDistance,u_pitch:Z.pitch/360*2*Math.PI,u_rotate_symbol:+d,u_aspect_ratio:Z.width/Z.height,u_fade_change:b.options.fadeDuration?b.symbolFadeChange:1,u_matrix:M,u_label_plane_matrix:O,u_coord_matrix:B,u_is_text:+U,u_pitch_with_map:+v,u_texsize:W,u_texture:0}},c_=(T,l,d,v,b,M,O,B,U,W,Z)=>{let $=b.transform;return n.e(l_(T,l,d,v,b,M,O,B,U,W),{u_gamma_scale:v?Math.cos($._pitch)*$.cameraToCenterDistance:1,u_device_pixel_ratio:b.pixelRatio,u_is_halo:+Z})},gf=(T,l,d,v,b,M,O,B,U,W)=>n.e(c_(T,l,d,v,b,M,O,B,!0,U,!0),{u_texsize_icon:W,u_texture_icon:1}),Gm=(T,l,d)=>({u_matrix:T,u_opacity:l,u_color:d}),fl=(T,l,d,v,b,M)=>n.e(function(O,B,U,W){let Z=U.imageManager.getPattern(O.from.toString()),$=U.imageManager.getPattern(O.to.toString()),{width:st,height:At}=U.imageManager.getPixelSize(),pt=Math.pow(2,W.tileID.overscaledZ),yt=W.tileSize*Math.pow(2,U.transform.tileZoom)/pt,dt=yt*(W.tileID.canonical.x+W.tileID.wrap*pt),Ft=yt*W.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Z.tl,u_pattern_br_a:Z.br,u_pattern_tl_b:$.tl,u_pattern_br_b:$.br,u_texsize:[st,At],u_mix:B.t,u_pattern_size_a:Z.displaySize,u_pattern_size_b:$.displaySize,u_scale_a:B.fromScale,u_scale_b:B.toScale,u_tile_units_to_pixels:1/Dt(W,1,U.transform.tileZoom),u_pixel_coord_upper:[dt>>16,Ft>>16],u_pixel_coord_lower:[65535&dt,65535&Ft]}}(v,M,d,b),{u_matrix:T,u_opacity:l}),Wm={fillExtrusion:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_opacity:new n.aM(T,l.u_opacity)}),fillExtrusionPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_height_factor:new n.aM(T,l.u_height_factor),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade),u_opacity:new n.aM(T,l.u_opacity)}),fill:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),fillPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),fillOutline:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world)}),fillOutlinePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),circle:(T,l)=>({u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_scale_with_map:new n.aL(T,l.u_scale_with_map),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_matrix:new n.aN(T,l.u_matrix)}),collisionBox:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pixels_to_tile_units:new n.aM(T,l.u_pixels_to_tile_units),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_overscale_factor:new n.aM(T,l.u_overscale_factor)}),collisionCircle:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_inv_matrix:new n.aN(T,l.u_inv_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_viewport_size:new n.aQ(T,l.u_viewport_size)}),debug:(T,l)=>({u_color:new n.aR(T,l.u_color),u_matrix:new n.aN(T,l.u_matrix),u_overlay:new n.aL(T,l.u_overlay),u_overlay_scale:new n.aM(T,l.u_overlay_scale)}),clippingMask:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),heatmap:(T,l)=>({u_extrude_scale:new n.aM(T,l.u_extrude_scale),u_intensity:new n.aM(T,l.u_intensity),u_matrix:new n.aN(T,l.u_matrix)}),heatmapTexture:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_color_ramp:new n.aL(T,l.u_color_ramp),u_opacity:new n.aM(T,l.u_opacity)}),hillshade:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_latrange:new n.aQ(T,l.u_latrange),u_light:new n.aQ(T,l.u_light),u_shadow:new n.aR(T,l.u_shadow),u_highlight:new n.aR(T,l.u_highlight),u_accent:new n.aR(T,l.u_accent)}),hillshadePrepare:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_dimension:new n.aQ(T,l.u_dimension),u_zoom:new n.aM(T,l.u_zoom),u_unpack:new n.aO(T,l.u_unpack)}),line:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels)}),lineGradient:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_image:new n.aL(T,l.u_image),u_image_height:new n.aM(T,l.u_image_height)}),linePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texsize:new n.aQ(T,l.u_texsize),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_image:new n.aL(T,l.u_image),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),lineSDF:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_patternscale_a:new n.aQ(T,l.u_patternscale_a),u_patternscale_b:new n.aQ(T,l.u_patternscale_b),u_sdfgamma:new n.aM(T,l.u_sdfgamma),u_image:new n.aL(T,l.u_image),u_tex_y_a:new n.aM(T,l.u_tex_y_a),u_tex_y_b:new n.aM(T,l.u_tex_y_b),u_mix:new n.aM(T,l.u_mix)}),raster:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_tl_parent:new n.aQ(T,l.u_tl_parent),u_scale_parent:new n.aM(T,l.u_scale_parent),u_buffer_scale:new n.aM(T,l.u_buffer_scale),u_fade_t:new n.aM(T,l.u_fade_t),u_opacity:new n.aM(T,l.u_opacity),u_image0:new n.aL(T,l.u_image0),u_image1:new n.aL(T,l.u_image1),u_brightness_low:new n.aM(T,l.u_brightness_low),u_brightness_high:new n.aM(T,l.u_brightness_high),u_saturation_factor:new n.aM(T,l.u_saturation_factor),u_contrast_factor:new n.aM(T,l.u_contrast_factor),u_spin_weights:new n.aP(T,l.u_spin_weights)}),symbolIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture)}),symbolSDF:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),symbolTextAndIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texsize_icon:new n.aQ(T,l.u_texsize_icon),u_texture:new n.aL(T,l.u_texture),u_texture_icon:new n.aL(T,l.u_texture_icon),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),background:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_color:new n.aR(T,l.u_color)}),backgroundPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_image:new n.aL(T,l.u_image),u_pattern_tl_a:new n.aQ(T,l.u_pattern_tl_a),u_pattern_br_a:new n.aQ(T,l.u_pattern_br_a),u_pattern_tl_b:new n.aQ(T,l.u_pattern_tl_b),u_pattern_br_b:new n.aQ(T,l.u_pattern_br_b),u_texsize:new n.aQ(T,l.u_texsize),u_mix:new n.aM(T,l.u_mix),u_pattern_size_a:new n.aQ(T,l.u_pattern_size_a),u_pattern_size_b:new n.aQ(T,l.u_pattern_size_b),u_scale_a:new n.aM(T,l.u_scale_a),u_scale_b:new n.aM(T,l.u_scale_b),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_tile_units_to_pixels:new n.aM(T,l.u_tile_units_to_pixels)}),terrain:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainDepth:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainCoords:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_terrain_coords_id:new n.aM(T,l.u_terrain_coords_id),u_ele_delta:new n.aM(T,l.u_ele_delta)})};class Hm{constructor(l,d,v){this.context=l;let b=l.gl;this.buffer=b.createBuffer(),this.dynamicDraw=!!v,this.context.unbindVAO(),l.bindElementBuffer.set(this.buffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?b.DYNAMIC_DRAW:b.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(l){let d=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),d.bufferSubData(d.ELEMENT_ARRAY_BUFFER,0,l.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Wp={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class qm{constructor(l,d,v,b){this.length=d.length,this.attributes=v,this.itemSize=d.bytesPerElement,this.dynamicDraw=b,this.context=l;let M=l.gl;this.buffer=M.createBuffer(),l.bindVertexBuffer.set(this.buffer),M.bufferData(M.ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?M.DYNAMIC_DRAW:M.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(l){if(l.length!==this.length)throw new Error(`Length of new data is ${l.length}, which doesn't match current length of ${this.length}`);let d=this.context.gl;this.bind(),d.bufferSubData(d.ARRAY_BUFFER,0,l.arrayBuffer)}enableAttributes(l,d){for(let v=0;v0){let be=n.Z(),Ze=oe;n.aU(be,$t.placementInvProjMatrix,T.transform.glCoordMatrix),n.aU(be,be,$t.placementViewportMatrix),Z.push({circleArray:he,circleOffset:st,transform:Ze,invTransform:be,coord:Bt}),$+=he.length/4,st=$}pe&&W.draw(B,U.LINES,ci.disabled,Je.disabled,T.colorModeForRenderPass(),It.disabled,ft(oe,T.transform,Qt),T.style.map.terrain&&T.style.map.terrain.getTerrainData(Bt),d.id,pe.layoutVertexBuffer,pe.indexBuffer,pe.segments,null,T.transform.zoom,null,null,pe.collisionVertexBuffer)}if(!O||!Z.length)return;let At=T.useProgram(\"collisionCircle\"),pt=new n.aV;pt.resize(4*$),pt._trim();let yt=0;for(let St of Z)for(let Bt=0;Bt=0&&(pt[dt.associatedIconIndex]={shiftedAnchor:Kr,angle:Ee})}else ht(dt.numGlyphs,st)}if(W){At.clear();let yt=T.icon.placedSymbolArray;for(let dt=0;dtT.style.map.terrain.getElevation(pe,Zo,_n):null,fs=d.layout.get(\"text-rotation-alignment\")===\"map\";Te(be,pe.posMatrix,T,b,jr,ql,dt,W,fs,Fn)}let vu=T.translatePosMatrix(pe.posMatrix,he,M,O),_h=Ft||b&&$t||yu?Jm:jr,Ws=T.translatePosMatrix(ql,he,M,O,!0),Ps=Ee&&d.paint.get(b?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Eo;Eo=Ee?be.iconsInText?gf(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,ei,hs):c_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei,!0):l_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei);let yh={program:Gi,buffers:Ze,uniformValues:Eo,atlasTexture:On,atlasTextureIcon:Bn,atlasInterpolation:tn,atlasInterpolationIcon:Gs,isSDF:Ee,hasHalo:Ps};if(St&&be.canOverlap){Bt=!0;let Fn=Ze.segments.get();for(let fs of Fn)oe.push({segments:new n.S([fs]),sortKey:fs.sortKey,state:yh,terrainData:Vr})}else oe.push({segments:Ze.segments,sortKey:0,state:yh,terrainData:Vr})}Bt&&oe.sort((pe,he)=>pe.sortKey-he.sortKey);for(let pe of oe){let he=pe.state;if(st.activeTexture.set(At.TEXTURE0),he.atlasTexture.bind(he.atlasInterpolation,At.CLAMP_TO_EDGE),he.atlasTextureIcon&&(st.activeTexture.set(At.TEXTURE1),he.atlasTextureIcon&&he.atlasTextureIcon.bind(he.atlasInterpolationIcon,At.CLAMP_TO_EDGE)),he.isSDF){let be=he.uniformValues;he.hasHalo&&(be.u_is_halo=1,e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,be,pe.terrainData)),be.u_is_halo=0}e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,he.uniformValues,pe.terrainData)}}function e0(T,l,d,v,b,M,O,B,U,W){let Z=v.context;b.draw(Z,Z.gl.TRIANGLES,M,O,B,It.disabled,U,W,d.id,T.layoutVertexBuffer,T.indexBuffer,l,d.paint,v.transform.zoom,T.programConfigurations.get(d.id),T.dynamicLayoutVertexBuffer,T.opacityVertexBuffer)}function Ed(T,l,d,v,b){if(!d||!v||!v.imageAtlas)return;let M=v.imageAtlas.patternPositions,O=M[d.to.toString()],B=M[d.from.toString()];if(!O&&B&&(O=B),!B&&O&&(B=O),!O||!B){let U=b.getPaintProperty(l);O=M[U],B=M[U]}O&&B&&T.setConstantPatternPositions(O,B)}function Pd(T,l,d,v,b,M,O){let B=T.context.gl,U=\"fill-pattern\",W=d.paint.get(U),Z=W&&W.constantOr(1),$=d.getCrossfadeParameters(),st,At,pt,yt,dt;O?(At=Z&&!d.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",st=B.LINES):(At=Z?\"fillPattern\":\"fill\",st=B.TRIANGLES);let Ft=W.constantOr(null);for(let Ht of v){let St=l.getTile(Ht);if(Z&&!St.patternsLoaded())continue;let Bt=St.getBucket(d);if(!Bt)continue;let Qt=Bt.programConfigurations.get(d.id),$t=T.useProgram(At,Qt),oe=T.style.map.terrain&&T.style.map.terrain.getTerrainData(Ht);Z&&(T.context.activeTexture.set(B.TEXTURE0),St.imageAtlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE),Qt.updatePaintBuffers($)),Ed(Qt,U,Ft,St,d);let pe=oe?Ht:null,he=T.translatePosMatrix(pe?pe.posMatrix:Ht.posMatrix,St,d.paint.get(\"fill-translate\"),d.paint.get(\"fill-translate-anchor\"));if(O){yt=Bt.indexBuffer2,dt=Bt.segments2;let be=[B.drawingBufferWidth,B.drawingBufferHeight];pt=At===\"fillOutlinePattern\"&&Z?xd(he,T,$,St,be):vd(he,be)}else yt=Bt.indexBuffer,dt=Bt.segments,pt=Z?yd(he,T,$,St):_d(he);$t.draw(T.context,st,b,T.stencilModeForClipping(Ht),M,It.disabled,pt,oe,d.id,Bt.layoutVertexBuffer,yt,dt,d.paint,T.transform.zoom,Qt)}}function Id(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=\"fill-extrusion-pattern\",Z=d.paint.get(W),$=Z.constantOr(1),st=d.getCrossfadeParameters(),At=d.paint.get(\"fill-extrusion-opacity\"),pt=Z.constantOr(null);for(let yt of v){let dt=l.getTile(yt),Ft=dt.getBucket(d);if(!Ft)continue;let Ht=T.style.map.terrain&&T.style.map.terrain.getTerrainData(yt),St=Ft.programConfigurations.get(d.id),Bt=T.useProgram($?\"fillExtrusionPattern\":\"fillExtrusion\",St);$&&(T.context.activeTexture.set(U.TEXTURE0),dt.imageAtlasTexture.bind(U.LINEAR,U.CLAMP_TO_EDGE),St.updatePaintBuffers(st)),Ed(St,W,pt,dt,d);let Qt=T.translatePosMatrix(yt.posMatrix,dt,d.paint.get(\"fill-extrusion-translate\"),d.paint.get(\"fill-extrusion-translate-anchor\")),$t=d.paint.get(\"fill-extrusion-vertical-gradient\"),oe=$?Wl(Qt,T,$t,At,yt,st,dt):Gp(Qt,T,$t,At);Bt.draw(B,B.gl.TRIANGLES,b,M,O,It.backCCW,oe,Ht,d.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,d.paint,T.transform.zoom,St,T.style.map.terrain&&Ft.centroidVertexBuffer)}}function Fx(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=d.fbo;if(!W)return;let Z=T.useProgram(\"hillshade\"),$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(l);B.activeTexture.set(U.TEXTURE0),U.bindTexture(U.TEXTURE_2D,W.colorAttachment.get()),Z.draw(B,U.TRIANGLES,b,M,O,It.disabled,((st,At,pt,yt)=>{let dt=pt.paint.get(\"hillshade-shadow-color\"),Ft=pt.paint.get(\"hillshade-highlight-color\"),Ht=pt.paint.get(\"hillshade-accent-color\"),St=pt.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);pt.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(St-=st.transform.angle);let Bt=!st.options.moving;return{u_matrix:yt?yt.posMatrix:st.transform.calculatePosMatrix(At.tileID.toUnwrapped(),Bt),u_image:0,u_latrange:Qe(0,At.tileID),u_light:[pt.paint.get(\"hillshade-exaggeration\"),St],u_shadow:dt,u_highlight:Ft,u_accent:Ht}})(T,d,v,$?l:null),$,v.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments)}function r0(T,l,d,v,b,M){let O=T.context,B=O.gl,U=l.dem;if(U&&U.data){let W=U.dim,Z=U.stride,$=U.getPixels();if(O.activeTexture.set(B.TEXTURE1),O.pixelStoreUnpackPremultiplyAlpha.set(!1),l.demTexture=l.demTexture||T.getTileTexture(Z),l.demTexture){let At=l.demTexture;At.update($,{premultiply:!1}),At.bind(B.NEAREST,B.CLAMP_TO_EDGE)}else l.demTexture=new qt(O,$,B.RGBA,{premultiply:!1}),l.demTexture.bind(B.NEAREST,B.CLAMP_TO_EDGE);O.activeTexture.set(B.TEXTURE0);let st=l.fbo;if(!st){let At=new qt(O,{width:W,height:W,data:null},B.RGBA);At.bind(B.LINEAR,B.CLAMP_TO_EDGE),st=l.fbo=O.createFramebuffer(W,W,!0,!1),st.colorAttachment.set(At.texture)}O.bindFramebuffer.set(st.framebuffer),O.viewport.set([0,0,W,W]),T.useProgram(\"hillshadePrepare\").draw(O,B.TRIANGLES,v,b,M,It.disabled,((At,pt)=>{let yt=pt.stride,dt=n.Z();return n.aS(dt,0,n.N,-n.N,0,0,1),n.$(dt,dt,[0,-n.N,0]),{u_matrix:dt,u_image:1,u_dimension:[yt,yt],u_zoom:At.overscaledZ,u_unpack:pt.getUnpackVector()}})(l.tileID,U),null,d.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments),l.needsHillshadePrepare=!1}}function f_(T,l,d,v,b,M){let O=v.paint.get(\"raster-fade-duration\");if(!M&&O>0){let B=n.h.now(),U=(B-T.timeAdded)/O,W=l?(B-l.timeAdded)/O:-1,Z=d.getSource(),$=b.coveringZoomLevel({tileSize:Z.tileSize,roundZoom:Z.roundZoom}),st=!l||Math.abs(l.tileID.overscaledZ-$)>Math.abs(T.tileID.overscaledZ-$),At=st&&T.refreshedUponExpiration?1:n.ad(st?U:1-W,0,1);return T.refreshedUponExpiration&&U>=1&&(T.refreshedUponExpiration=!1),l?{opacity:1,mix:1-At}:{opacity:At,mix:0}}return{opacity:1,mix:0}}let d_=new n.aT(1,0,0,1),yf=new n.aT(0,1,0,1),Ba=new n.aT(0,0,1,1),Wn=new n.aT(1,0,1,1),p_=new n.aT(0,1,1,1);function Cd(T,l,d,v){Xp(T,0,l+d/2,T.transform.width,d,v)}function $p(T,l,d,v){Xp(T,l-d/2,0,d,T.transform.height,v)}function Xp(T,l,d,v,b,M){let O=T.context,B=O.gl;B.enable(B.SCISSOR_TEST),B.scissor(l*T.pixelRatio,d*T.pixelRatio,v*T.pixelRatio,b*T.pixelRatio),O.clear({color:M}),B.disable(B.SCISSOR_TEST)}function i0(T,l,d){let v=T.context,b=v.gl,M=d.posMatrix,O=T.useProgram(\"debug\"),B=ci.disabled,U=Je.disabled,W=T.colorModeForRenderPass(),Z=\"$debug\",$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(d);v.activeTexture.set(b.TEXTURE0);let st=l.getTileByID(d.key).latestRawTileData,At=Math.floor((st&&st.byteLength||0)/1024),pt=l.getTile(d).tileSize,yt=512/Math.min(pt,512)*(d.overscaledZ/T.transform.zoom)*.5,dt=d.canonical.toString();d.overscaledZ!==d.canonical.z&&(dt+=` => ${d.overscaledZ}`),function(Ft,Ht){Ft.initDebugOverlayCanvas();let St=Ft.debugOverlayCanvas,Bt=Ft.context.gl,Qt=Ft.debugOverlayCanvas.getContext(\"2d\");Qt.clearRect(0,0,St.width,St.height),Qt.shadowColor=\"white\",Qt.shadowBlur=2,Qt.lineWidth=1.5,Qt.strokeStyle=\"white\",Qt.textBaseline=\"top\",Qt.font=\"bold 36px Open Sans, sans-serif\",Qt.fillText(Ht,5,5),Qt.strokeText(Ht,5,5),Ft.debugOverlayTexture.update(St),Ft.debugOverlayTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE)}(T,`${dt} ${At}kB`),O.draw(v,b.TRIANGLES,B,U,Ji.alphaBlended,It.disabled,Lt(M,n.aT.transparent,yt),null,Z,T.debugBuffer,T.quadTriangleIndexBuffer,T.debugSegments),O.draw(v,b.LINE_STRIP,B,U,W,It.disabled,Lt(M,n.aT.red),$,Z,T.debugBuffer,T.tileBorderIndexBuffer,T.debugSegments)}function Cn(T,l,d){let v=T.context,b=v.gl,M=T.colorModeForRenderPass(),O=new ci(b.LEQUAL,ci.ReadWrite,T.depthRangeFor3D),B=T.useProgram(\"terrain\"),U=l.getTerrainMesh();v.bindFramebuffer.set(null),v.viewport.set([0,0,T.width,T.height]);for(let W of d){let Z=T.renderToTexture.getTexture(W),$=l.getTerrainData(W.tileID);v.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,Z.texture);let st={u_matrix:T.transform.calculatePosMatrix(W.tileID.toUnwrapped()),u_texture:0,u_ele_delta:l.getMeshFrameDelta(T.transform.zoom)};B.draw(v,b.TRIANGLES,O,Je.disabled,M,It.backCCW,st,$,\"terrain\",U.vertexBuffer,U.indexBuffer,U.segments)}}class ah{constructor(l,d){this.context=new Oc(l),this.transform=d,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:n.Z(),renderTime:0},this.setup(),this.numSublayers=ls.maxUnderzooming+ls.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Dc}resize(l,d,v){if(this.width=Math.floor(l*v),this.height=Math.floor(d*v),this.pixelRatio=v,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let b of this.style._order)this.style._layers[b].resize()}setup(){let l=this.context,d=new n.a_;d.emplaceBack(0,0),d.emplaceBack(n.N,0),d.emplaceBack(0,n.N),d.emplaceBack(n.N,n.N),this.tileExtentBuffer=l.createVertexBuffer(d,So.members),this.tileExtentSegments=n.S.simpleSegment(0,0,4,2);let v=new n.a_;v.emplaceBack(0,0),v.emplaceBack(n.N,0),v.emplaceBack(0,n.N),v.emplaceBack(n.N,n.N),this.debugBuffer=l.createVertexBuffer(v,So.members),this.debugSegments=n.S.simpleSegment(0,0,4,5);let b=new n.V;b.emplaceBack(0,0,0,0),b.emplaceBack(n.N,0,n.N,0),b.emplaceBack(0,n.N,0,n.N),b.emplaceBack(n.N,n.N,n.N,n.N),this.rasterBoundsBuffer=l.createVertexBuffer(b,Jn.members),this.rasterBoundsSegments=n.S.simpleSegment(0,0,4,2);let M=new n.a_;M.emplaceBack(0,0),M.emplaceBack(1,0),M.emplaceBack(0,1),M.emplaceBack(1,1),this.viewportBuffer=l.createVertexBuffer(M,So.members),this.viewportSegments=n.S.simpleSegment(0,0,4,2);let O=new n.a$;O.emplaceBack(0),O.emplaceBack(1),O.emplaceBack(3),O.emplaceBack(2),O.emplaceBack(0),this.tileBorderIndexBuffer=l.createIndexBuffer(O);let B=new n.b0;B.emplaceBack(0,1,2),B.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=l.createIndexBuffer(B);let U=this.context.gl;this.stencilClearMode=new Je({func:U.ALWAYS,mask:0},0,255,U.ZERO,U.ZERO,U.ZERO)}clearStencil(){let l=this.context,d=l.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let v=n.Z();n.aS(v,0,this.width,this.height,0,0,1),n.a0(v,v,[d.drawingBufferWidth,d.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(l,d.TRIANGLES,ci.disabled,this.stencilClearMode,Ji.disabled,It.disabled,Kt(v),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(l,d){if(this.currentStencilSource===l.source||!l.isTileClipped()||!d||!d.length)return;this.currentStencilSource=l.source;let v=this.context,b=v.gl;this.nextStencilID+d.length>256&&this.clearStencil(),v.setColorMode(Ji.disabled),v.setDepthMode(ci.disabled);let M=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let O of d){let B=this._tileClippingMaskIDs[O.key]=this.nextStencilID++,U=this.style.map.terrain&&this.style.map.terrain.getTerrainData(O);M.draw(v,b.TRIANGLES,ci.disabled,new Je({func:b.ALWAYS,mask:0},B,255,b.KEEP,b.KEEP,b.REPLACE),Ji.disabled,It.disabled,Kt(O.posMatrix),U,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let l=this.nextStencilID++,d=this.context.gl;return new Je({func:d.NOTEQUAL,mask:255},l,255,d.KEEP,d.KEEP,d.REPLACE)}stencilModeForClipping(l){let d=this.context.gl;return new Je({func:d.EQUAL,mask:255},this._tileClippingMaskIDs[l.key],0,d.KEEP,d.KEEP,d.REPLACE)}stencilConfigForOverlap(l){let d=this.context.gl,v=l.sort((O,B)=>B.overscaledZ-O.overscaledZ),b=v[v.length-1].overscaledZ,M=v[0].overscaledZ-b+1;if(M>1){this.currentStencilSource=void 0,this.nextStencilID+M>256&&this.clearStencil();let O={};for(let B=0;B=0;this.currentLayer--){let U=this.style._layers[v[this.currentLayer]],W=b[U.source],Z=M[U.source];this._renderTileClippingMasks(U,Z),this.renderLayer(this,W,U,Z)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerdt.source&&!dt.isHidden(Z)?[W.sourceCaches[dt.source]]:[]),At=st.filter(dt=>dt.getSource().type===\"vector\"),pt=st.filter(dt=>dt.getSource().type!==\"vector\"),yt=dt=>{(!$||$.getSource().maxzoomyt(dt)),$||pt.forEach(dt=>yt(dt)),$}(this.style,this.transform.zoom);U&&function(W,Z,$){for(let st=0;st<$.length;st++)i0(W,Z,$[st])}(this,U,U.getVisibleCoordinates())}this.options.showPadding&&function(U){let W=U.transform.padding;Cd(U,U.transform.height-(W.top||0),3,d_),Cd(U,W.bottom||0,3,yf),$p(U,W.left||0,3,Ba),$p(U,U.transform.width-(W.right||0),3,Wn);let Z=U.transform.centerPoint;(function($,st,At,pt){Xp($,st-1,At-10,2,20,pt),Xp($,st-10,At-1,20,2,pt)})(U,Z.x,U.transform.height-Z.y,p_)}(this),this.context.setDefault()}renderLayer(l,d,v,b){if(!v.isHidden(this.transform.zoom)&&(v.type===\"background\"||v.type===\"custom\"||(b||[]).length))switch(this.id=v.id,v.type){case\"symbol\":(function(M,O,B,U,W){if(M.renderPass!==\"translucent\")return;let Z=Je.disabled,$=M.colorModeForRenderPass();(B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(st,At,pt,yt,dt,Ft,Ht){let St=At.transform,Bt=dt===\"map\",Qt=Ft===\"map\";for(let $t of st){let oe=yt.getTile($t),pe=oe.getBucket(pt);if(!pe||!pe.text||!pe.text.segments.get().length)continue;let he=n.ah(pe.textSizeData,St.zoom),be=Dt(oe,1,At.transform.zoom),Ze=ve($t.posMatrix,Qt,Bt,At.transform,be),Kr=pt.layout.get(\"icon-text-fit\")!==\"none\"&&pe.hasIconData();if(he){let Ee=Math.pow(2,St.zoom-oe.tileID.overscaledZ);Qp(pe,Bt,Qt,Ht,St,Ze,$t.posMatrix,Ee,he,Kr,At.style.map.terrain?(pr,tr)=>At.style.map.terrain.getElevation($t,pr,tr):null)}}}(U,M,B,O,B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),W),B.paint.get(\"icon-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!1,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),B.layout.get(\"icon-rotation-alignment\"),B.layout.get(\"icon-pitch-alignment\"),B.layout.get(\"icon-keep-upright\"),Z,$),B.paint.get(\"text-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!0,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),B.layout.get(\"text-keep-upright\"),Z,$),O.map.showCollisionBoxes&&(Km(M,O,B,U,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),!0),Km(M,O,B,U,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),!1))})(l,d,v,b,this.style.placement.variableOffsets);break;case\"circle\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"circle-opacity\"),Z=B.paint.get(\"circle-stroke-width\"),$=B.paint.get(\"circle-stroke-opacity\"),st=!B.layout.get(\"circle-sort-key\").isConstant();if(W.constantOr(1)===0&&(Z.constantOr(1)===0||$.constantOr(1)===0))return;let At=M.context,pt=At.gl,yt=M.depthModeForSublayer(0,ci.ReadOnly),dt=Je.disabled,Ft=M.colorModeForRenderPass(),Ht=[];for(let St=0;StSt.sortKey-Bt.sortKey);for(let St of Ht){let{programConfiguration:Bt,program:Qt,layoutVertexBuffer:$t,indexBuffer:oe,uniformValues:pe,terrainData:he}=St.state;Qt.draw(At,pt.TRIANGLES,yt,dt,Ft,It.disabled,pe,he,B.id,$t,oe,St.segments,B.paint,M.transform.zoom,Bt)}})(l,d,v,b);break;case\"heatmap\":(function(M,O,B,U){if(B.paint.get(\"heatmap-opacity\")!==0)if(M.renderPass===\"offscreen\"){let W=M.context,Z=W.gl,$=Je.disabled,st=new Ji([Z.ONE,Z.ONE],n.aT.transparent,[!0,!0,!0,!0]);(function(At,pt,yt){let dt=At.gl;At.activeTexture.set(dt.TEXTURE1),At.viewport.set([0,0,pt.width/4,pt.height/4]);let Ft=yt.heatmapFbo;if(Ft)dt.bindTexture(dt.TEXTURE_2D,Ft.colorAttachment.get()),At.bindFramebuffer.set(Ft.framebuffer);else{let Ht=dt.createTexture();dt.bindTexture(dt.TEXTURE_2D,Ht),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_S,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_T,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MIN_FILTER,dt.LINEAR),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MAG_FILTER,dt.LINEAR),Ft=yt.heatmapFbo=At.createFramebuffer(pt.width/4,pt.height/4,!1,!1),function(St,Bt,Qt,$t){var oe,pe;let he=St.gl,be=(oe=St.HALF_FLOAT)!==null&&oe!==void 0?oe:he.UNSIGNED_BYTE,Ze=(pe=St.RGBA16F)!==null&&pe!==void 0?pe:he.RGBA;he.texImage2D(he.TEXTURE_2D,0,Ze,Bt.width/4,Bt.height/4,0,he.RGBA,be,null),$t.colorAttachment.set(Qt)}(At,pt,Ht,Ft)}})(W,M,B),W.clear({color:n.aT.transparent});for(let At=0;At{let St=n.Z();n.aS(St,0,yt.width,yt.height,0,0,1);let Bt=yt.context.gl;return{u_matrix:St,u_world:[Bt.drawingBufferWidth,Bt.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:dt.paint.get(\"heatmap-opacity\")}})(W,Z),null,Z.id,W.viewportBuffer,W.quadTriangleIndexBuffer,W.viewportSegments,Z.paint,W.transform.zoom)}(M,B))})(l,d,v,b);break;case\"line\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"line-opacity\"),Z=B.paint.get(\"line-width\");if(W.constantOr(1)===0||Z.constantOr(1)===0)return;let $=M.depthModeForSublayer(0,ci.ReadOnly),st=M.colorModeForRenderPass(),At=B.paint.get(\"line-dasharray\"),pt=B.paint.get(\"line-pattern\"),yt=pt.constantOr(1),dt=B.paint.get(\"line-gradient\"),Ft=B.getCrossfadeParameters(),Ht=yt?\"linePattern\":At?\"lineSDF\":dt?\"lineGradient\":\"line\",St=M.context,Bt=St.gl,Qt=!0;for(let $t of U){let oe=O.getTile($t);if(yt&&!oe.patternsLoaded())continue;let pe=oe.getBucket(B);if(!pe)continue;let he=pe.programConfigurations.get(B.id),be=M.context.program.get(),Ze=M.useProgram(Ht,he),Kr=Qt||Ze.program!==be,Ee=M.style.map.terrain&&M.style.map.terrain.getTerrainData($t),pr=pt.constantOr(null);if(pr&&oe.imageAtlas){let Jr=oe.imageAtlas,Vr=Jr.patternPositions[pr.to.toString()],ei=Jr.patternPositions[pr.from.toString()];Vr&&ei&&he.setConstantPatternPositions(Vr,ei)}let tr=Ee?$t:null,Gi=yt?Ts(M,oe,B,Ft,tr):At?Vs(M,oe,B,At,Ft,tr):dt?is(M,oe,B,pe.lineClipsArray.length,tr):ti(M,oe,B,tr);if(yt)St.activeTexture.set(Bt.TEXTURE0),oe.imageAtlasTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE),he.updatePaintBuffers(Ft);else if(At&&(Kr||M.lineAtlas.dirty))St.activeTexture.set(Bt.TEXTURE0),M.lineAtlas.bind(St);else if(dt){let Jr=pe.gradients[B.id],Vr=Jr.texture;if(B.gradientVersion!==Jr.version){let ei=256;if(B.stepInterpolant){let On=O.getSource().maxzoom,tn=$t.canonical.z===On?Math.ceil(1<0?d.pop():null}isPatternMissing(l){if(!l)return!1;if(!l.from||!l.to)return!0;let d=this.imageManager.getPattern(l.from.toString()),v=this.imageManager.getPattern(l.to.toString());return!d||!v}useProgram(l,d){this.cache=this.cache||{};let v=l+(d?d.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[v]||(this.cache[v]=new pu(this.context,Ki[l],d,Wm[l],this._showOverdrawInspector,this.style.map.terrain)),this.cache[v]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let l=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(l.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new qt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:l,drawingBufferHeight:d}=this.context.gl;return this.width!==l||this.height!==d}}class fi{constructor(l,d){this.points=l,this.planes=d}static fromInvProjectionMatrix(l,d,v){let b=Math.pow(2,v),M=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(B=>{let U=1/(B=n.ag([],B,l))[3]/d*b;return n.b3(B,B,[U,U,1/B[3],U])}),O=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(B=>{let U=function(st,At){var pt=At[0],yt=At[1],dt=At[2],Ft=pt*pt+yt*yt+dt*dt;return Ft>0&&(Ft=1/Math.sqrt(Ft)),st[0]=At[0]*Ft,st[1]=At[1]*Ft,st[2]=At[2]*Ft,st}([],function(st,At,pt){var yt=At[0],dt=At[1],Ft=At[2],Ht=pt[0],St=pt[1],Bt=pt[2];return st[0]=dt*Bt-Ft*St,st[1]=Ft*Ht-yt*Bt,st[2]=yt*St-dt*Ht,st}([],ut([],M[B[0]],M[B[1]]),ut([],M[B[2]],M[B[1]]))),W=-((Z=U)[0]*($=M[B[1]])[0]+Z[1]*$[1]+Z[2]*$[2]);var Z,$;return U.concat(W)});return new fi(M,O)}}class mu{constructor(l,d){this.min=l,this.max=d,this.center=function(v,b,M){return v[0]=.5*b[0],v[1]=.5*b[1],v[2]=.5*b[2],v}([],function(v,b,M){return v[0]=b[0]+M[0],v[1]=b[1]+M[1],v[2]=b[2]+M[2],v}([],this.min,this.max))}quadrant(l){let d=[l%2==0,l<2],v=K(this.min),b=K(this.max);for(let M=0;M=0&&O++;if(O===0)return 0;O!==d.length&&(v=!1)}if(v)return 2;for(let b=0;b<3;b++){let M=Number.MAX_VALUE,O=-Number.MAX_VALUE;for(let B=0;Bthis.max[b]-this.min[b])return 0}return 1}}class vf{constructor(l=0,d=0,v=0,b=0){if(isNaN(l)||l<0||isNaN(d)||d<0||isNaN(v)||v<0||isNaN(b)||b<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=l,this.bottom=d,this.left=v,this.right=b}interpolate(l,d,v){return d.top!=null&&l.top!=null&&(this.top=n.B.number(l.top,d.top,v)),d.bottom!=null&&l.bottom!=null&&(this.bottom=n.B.number(l.bottom,d.bottom,v)),d.left!=null&&l.left!=null&&(this.left=n.B.number(l.left,d.left,v)),d.right!=null&&l.right!=null&&(this.right=n.B.number(l.right,d.right,v)),this}getCenter(l,d){let v=n.ad((this.left+l-this.right)/2,0,l),b=n.ad((this.top+d-this.bottom)/2,0,d);return new n.P(v,b)}equals(l){return this.top===l.top&&this.bottom===l.bottom&&this.left===l.left&&this.right===l.right}clone(){return new vf(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class Kp{constructor(l,d,v,b,M){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=M===void 0||!!M,this._minZoom=l||0,this._maxZoom=d||22,this._minPitch=v??0,this._maxPitch=b??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new n.L(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new vf,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){let l=new Kp(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return l.apply(this),l}apply(l){this.tileSize=l.tileSize,this.latRange=l.latRange,this.width=l.width,this.height=l.height,this._center=l._center,this._elevation=l._elevation,this._minEleveationForCurrentTile=l._minEleveationForCurrentTile,this.zoom=l.zoom,this.angle=l.angle,this._fov=l._fov,this._pitch=l._pitch,this._unmodified=l._unmodified,this._edgeInsets=l._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(l){this._minZoom!==l&&(this._minZoom=l,this.zoom=Math.max(this.zoom,l))}get maxZoom(){return this._maxZoom}set maxZoom(l){this._maxZoom!==l&&(this._maxZoom=l,this.zoom=Math.min(this.zoom,l))}get minPitch(){return this._minPitch}set minPitch(l){this._minPitch!==l&&(this._minPitch=l,this.pitch=Math.max(this.pitch,l))}get maxPitch(){return this._maxPitch}set maxPitch(l){this._maxPitch!==l&&(this._maxPitch=l,this.pitch=Math.min(this.pitch,l))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(l){l===void 0?l=!0:l===null&&(l=!1),this._renderWorldCopies=l}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new n.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(l){let d=-n.b5(l,-180,180)*Math.PI/180;this.angle!==d&&(this._unmodified=!1,this.angle=d,this._calcMatrices(),this.rotationMatrix=function(){var v=new n.A(4);return n.A!=Float32Array&&(v[1]=0,v[2]=0),v[0]=1,v[3]=1,v}(),function(v,b,M){var O=b[0],B=b[1],U=b[2],W=b[3],Z=Math.sin(M),$=Math.cos(M);v[0]=O*$+U*Z,v[1]=B*$+W*Z,v[2]=O*-Z+U*$,v[3]=B*-Z+W*$}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(l){let d=n.ad(l,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==d&&(this._unmodified=!1,this._pitch=d,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(l){l=Math.max(.01,Math.min(60,l)),this._fov!==l&&(this._unmodified=!1,this._fov=l/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(l){let d=Math.min(Math.max(l,this.minZoom),this.maxZoom);this._zoom!==d&&(this._unmodified=!1,this._zoom=d,this.tileZoom=Math.max(0,Math.floor(d)),this.scale=this.zoomScale(d),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(l){l.lat===this._center.lat&&l.lng===this._center.lng||(this._unmodified=!1,this._center=l,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(l){l!==this._elevation&&(this._elevation=l,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(l){this._edgeInsets.equals(l)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,l,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(l){return this._edgeInsets.equals(l)}interpolatePadding(l,d,v){this._unmodified=!1,this._edgeInsets.interpolate(l,d,v),this._constrain(),this._calcMatrices()}coveringZoomLevel(l){let d=(l.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/l.tileSize));return Math.max(0,d)}getVisibleUnwrappedCoordinates(l){let d=[new n.b6(0,l)];if(this._renderWorldCopies){let v=this.pointCoordinate(new n.P(0,0)),b=this.pointCoordinate(new n.P(this.width,0)),M=this.pointCoordinate(new n.P(this.width,this.height)),O=this.pointCoordinate(new n.P(0,this.height)),B=Math.floor(Math.min(v.x,b.x,M.x,O.x)),U=Math.floor(Math.max(v.x,b.x,M.x,O.x)),W=1;for(let Z=B-W;Z<=U+W;Z++)Z!==0&&d.push(new n.b6(Z,l))}return d}coveringTiles(l){var d,v;let b=this.coveringZoomLevel(l),M=b;if(l.minzoom!==void 0&&bl.maxzoom&&(b=l.maxzoom);let O=this.pointCoordinate(this.getCameraPoint()),B=n.U.fromLngLat(this.center),U=Math.pow(2,b),W=[U*O.x,U*O.y,0],Z=[U*B.x,U*B.y,0],$=fi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,b),st=l.minzoom||0;!l.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(st=b);let At=l.terrain?2/Math.min(this.tileSize,l.tileSize)*this.tileSize:3,pt=St=>({aabb:new mu([St*U,0,0],[(St+1)*U,U,0]),zoom:0,x:0,y:0,wrap:St,fullyVisible:!1}),yt=[],dt=[],Ft=b,Ht=l.reparseOverscaled?M:b;if(this._renderWorldCopies)for(let St=1;St<=3;St++)yt.push(pt(-St)),yt.push(pt(St));for(yt.push(pt(0));yt.length>0;){let St=yt.pop(),Bt=St.x,Qt=St.y,$t=St.fullyVisible;if(!$t){let Ze=St.aabb.intersects($);if(Ze===0)continue;$t=Ze===2}let oe=l.terrain?W:Z,pe=St.aabb.distanceX(oe),he=St.aabb.distanceY(oe),be=Math.max(Math.abs(pe),Math.abs(he));if(St.zoom===Ft||be>At+(1<=st){let Ze=Ft-St.zoom,Kr=W[0]-.5-(Bt<>1),pr=St.zoom+1,tr=St.aabb.quadrant(Ze);if(l.terrain){let Gi=new n.O(pr,St.wrap,pr,Kr,Ee),Jr=l.terrain.getMinMaxElevation(Gi),Vr=(d=Jr.minElevation)!==null&&d!==void 0?d:this.elevation,ei=(v=Jr.maxElevation)!==null&&v!==void 0?v:this.elevation;tr=new mu([tr.min[0],tr.min[1],Vr],[tr.max[0],tr.max[1],ei])}yt.push({aabb:tr,zoom:pr,x:Kr,y:Ee,wrap:St.wrap,fullyVisible:$t})}}return dt.sort((St,Bt)=>St.distanceSq-Bt.distanceSq).map(St=>St.tileID)}resize(l,d){this.width=l,this.height=d,this.pixelsToGLUnits=[2/l,-2/d],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(l){return Math.pow(2,l)}scaleZoom(l){return Math.log(l)/Math.LN2}project(l){let d=n.ad(l.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.P(n.G(l.lng)*this.worldSize,n.H(d)*this.worldSize)}unproject(l){return new n.U(l.x/this.worldSize,l.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(l){let d=this.pointLocation(this.centerPoint,l),v=l.getElevationForLngLatZoom(d,this.tileZoom);if(!(this.elevation-v))return;let b=this.getCameraPosition(),M=n.U.fromLngLat(b.lngLat,b.altitude),O=n.U.fromLngLat(d,v),B=M.x-O.x,U=M.y-O.y,W=M.z-O.z,Z=Math.sqrt(B*B+U*U+W*W),$=this.scaleZoom(this.cameraToCenterDistance/Z/this.tileSize);this._elevation=v,this._center=d,this.zoom=$}setLocationAtPoint(l,d){let v=this.pointCoordinate(d),b=this.pointCoordinate(this.centerPoint),M=this.locationCoordinate(l),O=new n.U(M.x-(v.x-b.x),M.y-(v.y-b.y));this.center=this.coordinateLocation(O),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(l,d){return d?this.coordinatePoint(this.locationCoordinate(l),d.getElevationForLngLatZoom(l,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(l))}pointLocation(l,d){return this.coordinateLocation(this.pointCoordinate(l,d))}locationCoordinate(l){return n.U.fromLngLat(l)}coordinateLocation(l){return l&&l.toLngLat()}pointCoordinate(l,d){if(d){let st=d.pointCoordinate(l);if(st!=null)return st}let v=[l.x,l.y,0,1],b=[l.x,l.y,1,1];n.ag(v,v,this.pixelMatrixInverse),n.ag(b,b,this.pixelMatrixInverse);let M=v[3],O=b[3],B=v[1]/M,U=b[1]/O,W=v[2]/M,Z=b[2]/O,$=W===Z?0:(0-W)/(Z-W);return new n.U(n.B.number(v[0]/M,b[0]/O,$)/this.worldSize,n.B.number(B,U,$)/this.worldSize)}coordinatePoint(l,d=0,v=this.pixelMatrix){let b=[l.x*this.worldSize,l.y*this.worldSize,d,1];return n.ag(b,b,v),new n.P(b[0]/b[3],b[1]/b[3])}getBounds(){let l=Math.max(0,this.height/2-this.getHorizon());return new Si().extend(this.pointLocation(new n.P(0,l))).extend(this.pointLocation(new n.P(this.width,l))).extend(this.pointLocation(new n.P(this.width,this.height))).extend(this.pointLocation(new n.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new Si([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(l){l?(this.lngRange=[l.getWest(),l.getEast()],this.latRange=[l.getSouth(),l.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(l,d=!1){let v=l.key,b=d?this._alignedPosMatrixCache:this._posMatrixCache;if(b[v])return b[v];let M=l.canonical,O=this.worldSize/this.zoomScale(M.z),B=M.x+Math.pow(2,M.z)*l.wrap,U=n.ao(new Float64Array(16));return n.$(U,U,[B*O,M.y*O,0]),n.a0(U,U,[O/n.N,O/n.N,1]),n.a1(U,d?this.alignedProjMatrix:this.projMatrix,U),b[v]=new Float32Array(U),b[v]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let l,d,v,b,M=-90,O=90,B=-180,U=180,W=this.size,Z=this._unmodified;if(this.latRange){let At=this.latRange;M=n.H(At[1])*this.worldSize,O=n.H(At[0])*this.worldSize,l=O-MO&&(b=O-pt)}if(this.lngRange){let At=(B+U)/2,pt=n.b5($.x,At-this.worldSize/2,At+this.worldSize/2),yt=W.x/2;pt-ytU&&(v=U-yt)}v===void 0&&b===void 0||(this.center=this.unproject(new n.P(v!==void 0?v:$.x,b!==void 0?b:$.y)).wrap()),this._unmodified=Z,this._constraining=!1}_calcMatrices(){if(!this.height)return;let l=this.centerOffset,d=this.point.x,v=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=n.b7(1,this.center.lat)*this.worldSize;let b=n.ao(new Float64Array(16));n.a0(b,b,[this.width/2,-this.height/2,1]),n.$(b,b,[1,-1,0]),this.labelPlaneMatrix=b,b=n.ao(new Float64Array(16)),n.a0(b,b,[1,-1,1]),n.$(b,b,[-1,-1,0]),n.a0(b,b,[2/this.width,2/this.height,1]),this.glCoordMatrix=b;let M=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),O=Math.min(this.elevation,this._minEleveationForCurrentTile),B=M-O*this._pixelPerMeter/Math.cos(this._pitch),U=O<0?B:M,W=Math.PI/2+this._pitch,Z=this._fov*(.5+l.y/this.height),$=Math.sin(Z)*U/Math.sin(n.ad(Math.PI-W-Z,.01,Math.PI-.01)),st=this.getHorizon(),At=2*Math.atan(st/this.cameraToCenterDistance)*(.5+l.y/(2*st)),pt=Math.sin(At)*U/Math.sin(n.ad(Math.PI-W-At,.01,Math.PI-.01)),yt=Math.min($,pt),dt=1.01*(Math.cos(Math.PI/2-this._pitch)*yt+U),Ft=this.height/50;b=new Float64Array(16),n.b8(b,this._fov,this.width/this.height,Ft,dt),b[8]=2*-l.x/this.width,b[9]=2*l.y/this.height,n.a0(b,b,[1,-1,1]),n.$(b,b,[0,0,-this.cameraToCenterDistance]),n.b9(b,b,this._pitch),n.ae(b,b,this.angle),n.$(b,b,[-d,-v,0]),this.mercatorMatrix=n.a0([],b,[this.worldSize,this.worldSize,this.worldSize]),n.a0(b,b,[1,1,this._pixelPerMeter]),this.pixelMatrix=n.a1(new Float64Array(16),this.labelPlaneMatrix,b),n.$(b,b,[0,0,-this.elevation]),this.projMatrix=b,this.invProjMatrix=n.as([],b),this.pixelMatrix3D=n.a1(new Float64Array(16),this.labelPlaneMatrix,b);let Ht=this.width%2/2,St=this.height%2/2,Bt=Math.cos(this.angle),Qt=Math.sin(this.angle),$t=d-Math.round(d)+Bt*Ht+Qt*St,oe=v-Math.round(v)+Bt*St+Qt*Ht,pe=new Float64Array(b);if(n.$(pe,pe,[$t>.5?$t-1:$t,oe>.5?oe-1:oe,0]),this.alignedProjMatrix=pe,b=n.as(new Float64Array(16),this.pixelMatrix),!b)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=b,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let l=this.pointCoordinate(new n.P(0,0)),d=[l.x*this.worldSize,l.y*this.worldSize,0,1];return n.ag(d,d,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let l=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.P(0,l))}getCameraQueryGeometry(l){let d=this.getCameraPoint();if(l.length===1)return[l[0],d];{let v=d.x,b=d.y,M=d.x,O=d.y;for(let B of l)v=Math.min(v,B.x),b=Math.min(b,B.y),M=Math.max(M,B.x),O=Math.max(O,B.y);return[new n.P(v,b),new n.P(M,b),new n.P(M,O),new n.P(v,O),new n.P(v,b)]}}}function lh(T,l){let d,v=!1,b=null,M=null,O=()=>{b=null,v&&(T.apply(M,d),b=setTimeout(O,l),v=!1)};return(...B)=>(v=!0,M=this,d=B,b||O(),b)}class Ld{constructor(l){this._getCurrentHash=()=>{let d=window.location.hash.replace(\"#\",\"\");if(this._hashName){let v;return d.split(\"&\").map(b=>b.split(\"=\")).forEach(b=>{b[0]===this._hashName&&(v=b)}),(v&&v[1]||\"\").split(\"/\")}return d.split(\"/\")},this._onHashChange=()=>{let d=this._getCurrentHash();if(d.length>=3&&!d.some(v=>isNaN(v))){let v=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(d[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+d[2],+d[1]],zoom:+d[0],bearing:v,pitch:+(d[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let d=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,d)}catch{}},this._updateHash=lh(this._updateHashUnthrottled,300),this._hashName=l&&encodeURIComponent(l)}addTo(l){return this._map=l,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(l){let d=this._map.getCenter(),v=Math.round(100*this._map.getZoom())/100,b=Math.ceil((v*Math.LN2+Math.log(512/360/.5))/Math.LN10),M=Math.pow(10,b),O=Math.round(d.lng*M)/M,B=Math.round(d.lat*M)/M,U=this._map.getBearing(),W=this._map.getPitch(),Z=\"\";if(Z+=l?`/${O}/${B}/${v}`:`${v}/${B}/${O}`,(U||W)&&(Z+=\"/\"+Math.round(10*U)/10),W&&(Z+=`/${Math.round(W)}`),this._hashName){let $=this._hashName,st=!1,At=window.location.hash.slice(1).split(\"&\").map(pt=>{let yt=pt.split(\"=\")[0];return yt===$?(st=!0,`${yt}=${Z}`):pt}).filter(pt=>pt);return st||At.push(`${$}=${Z}`),`#${At.join(\"&\")}`}return`#${Z}`}}let ch={linearity:.3,easing:n.ba(0,0,.3,1)},Jp=n.e({deceleration:2500,maxSpeed:1400},ch),tA=n.e({deceleration:20,maxSpeed:1400},ch),A_=n.e({deceleration:1e3,maxSpeed:360},ch),m_=n.e({deceleration:1e3,maxSpeed:90},ch);class n0{constructor(l){this._map=l,this.clear()}clear(){this._inertiaBuffer=[]}record(l){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.h.now(),settings:l})}_drainInertiaBuffer(){let l=this._inertiaBuffer,d=n.h.now();for(;l.length>0&&d-l[0].time>160;)l.shift()}_onMoveEnd(l){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let d={zoom:0,bearing:0,pitch:0,pan:new n.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:M}of this._inertiaBuffer)d.zoom+=M.zoomDelta||0,d.bearing+=M.bearingDelta||0,d.pitch+=M.pitchDelta||0,M.panDelta&&d.pan._add(M.panDelta),M.around&&(d.around=M.around),M.pinchAround&&(d.pinchAround=M.pinchAround);let v=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,b={};if(d.pan.mag()){let M=uh(d.pan.mag(),v,n.e({},Jp,l||{}));b.offset=d.pan.mult(M.amount/d.pan.mag()),b.center=this._map.transform.center,pl(b,M)}if(d.zoom){let M=uh(d.zoom,v,tA);b.zoom=this._map.transform.zoom+M.amount,pl(b,M)}if(d.bearing){let M=uh(d.bearing,v,A_);b.bearing=this._map.transform.bearing+n.ad(M.amount,-179,179),pl(b,M)}if(d.pitch){let M=uh(d.pitch,v,m_);b.pitch=this._map.transform.pitch+M.amount,pl(b,M)}if(b.zoom||b.bearing){let M=d.pinchAround===void 0?d.around:d.pinchAround;b.around=M?this._map.unproject(M):this._map.getCenter()}return this.clear(),n.e(b,{noMoveStart:!0})}}function pl(T,l){(!T.duration||T.durationd.unproject(U)),B=M.reduce((U,W,Z,$)=>U.add(W.div($.length)),new n.P(0,0));super(l,{points:M,point:B,lngLats:O,lngLat:d.unproject(B),originalEvent:v}),this._defaultPrevented=!1}}class g_ extends n.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(l,d,v){super(l,{originalEvent:v}),this._defaultPrevented=!1}}class js{constructor(l,d){this._map=l,this._clickTolerance=d.clickTolerance}reset(){delete this._mousedownPos}wheel(l){return this._firePreventable(new g_(l.type,this._map,l))}mousedown(l,d){return this._mousedownPos=d,this._firePreventable(new la(l.type,this._map,l))}mouseup(l){this._map.fire(new la(l.type,this._map,l))}click(l,d){this._mousedownPos&&this._mousedownPos.dist(d)>=this._clickTolerance||this._map.fire(new la(l.type,this._map,l))}dblclick(l){return this._firePreventable(new la(l.type,this._map,l))}mouseover(l){this._map.fire(new la(l.type,this._map,l))}mouseout(l){this._map.fire(new la(l.type,this._map,l))}touchstart(l){return this._firePreventable(new kd(l.type,this._map,l))}touchmove(l){this._map.fire(new kd(l.type,this._map,l))}touchend(l){this._map.fire(new kd(l.type,this._map,l))}touchcancel(l){this._map.fire(new kd(l.type,this._map,l))}_firePreventable(l){if(this._map.fire(l),l.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gu{constructor(l){this._map=l}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(l){this._map.fire(new la(l.type,this._map,l))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new la(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(l){this._delayContextMenu?this._contextMenuEvent=l:this._ignoreContextMenu||this._map.fire(new la(l.type,this._map,l)),this._map.listens(\"contextmenu\")&&l.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Ln{constructor(l){this._map=l}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(l){return this.transform.pointLocation(n.P.convert(l),this._map.terrain)}}class eA{constructor(l,d){this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._container=l.getContainer(),this._clickTolerance=d.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(l,d){this.isEnabled()&&l.shiftKey&&l.button===0&&(c.disableDrag(),this._startPos=this._lastPos=d,this._active=!0)}mousemoveWindow(l,d){if(!this._active)return;let v=d;if(this._lastPos.equals(v)||!this._box&&v.dist(this._startPos)M.fitScreenCoordinates(v,b,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",l)}keydown(l){this._active&&l.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",l))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(l,d){return this._map.fire(new n.k(l,{originalEvent:d}))}}function ca(T,l){if(T.length!==l.length)throw new Error(`The number of touches and points are not equal - touches ${T.length}, points ${l.length}`);let d={};for(let v=0;vthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=l.timeStamp),v.length===this.numTouches&&(this.centroid=function(b){let M=new n.P(0,0);for(let O of b)M._add(O);return M.div(b.length)}(d),this.touches=ca(v,d)))}touchmove(l,d,v){if(this.aborted||!this.centroid)return;let b=ca(v,d);for(let M in this.touches){let O=b[M];(!O||O.dist(this.touches[M])>30)&&(this.aborted=!0)}}touchend(l,d,v){if((!this.centroid||l.timeStamp-this.startTime>500)&&(this.aborted=!0),v.length===0){let b=!this.aborted&&this.centroid;if(this.reset(),b)return b}}}class Rd{constructor(l){this.singleTap=new Fa(l),this.numTaps=l.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(l,d,v){this.singleTap.touchstart(l,d,v)}touchmove(l,d,v){this.singleTap.touchmove(l,d,v)}touchend(l,d,v){let b=this.singleTap.touchend(l,d,v);if(b){let M=l.timeStamp-this.lastTime<500,O=!this.lastTap||this.lastTap.dist(b)<30;if(M&&O||this.reset(),this.count++,this.lastTime=l.timeStamp,this.lastTap=b,this.count===this.numTaps)return this.reset(),b}}}class Al{constructor(l){this._tr=new Ln(l),this._zoomIn=new Rd({numTouches:1,numTaps:2}),this._zoomOut=new Rd({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(l,d,v){this._zoomIn.touchstart(l,d,v),this._zoomOut.touchstart(l,d,v)}touchmove(l,d,v){this._zoomIn.touchmove(l,d,v),this._zoomOut.touchmove(l,d,v)}touchend(l,d,v){let b=this._zoomIn.touchend(l,d,v),M=this._zoomOut.touchend(l,d,v),O=this._tr;return b?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom+1,around:O.unproject(b)},{originalEvent:l})}):M?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom-1,around:O.unproject(M)},{originalEvent:l})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class za{constructor(l){this._enabled=!!l.enable,this._moveStateManager=l.moveStateManager,this._clickTolerance=l.clickTolerance||1,this._moveFunction=l.move,this._activateOnStart=!!l.activateOnStart,l.assignEvents(this),this.reset()}reset(l){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(l)}_move(...l){let d=this._moveFunction(...l);if(d.bearingDelta||d.pitchDelta||d.around||d.panDelta)return this._active=!0,d}dragStart(l,d){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(l)&&(this._moveStateManager.startMove(l),this._lastPoint=d.length?d[0]:d,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(l,d){if(!this.isEnabled())return;let v=this._lastPoint;if(!v)return;if(l.preventDefault(),!this._moveStateManager.isValidMoveEvent(l))return void this.reset(l);let b=d.length?d[0]:d;return!this._moved&&b.dist(v){T.mousedown=T.dragStart,T.mousemoveWindow=T.dragMove,T.mouseup=T.dragEnd,T.contextmenu=function(l){l.preventDefault()}},Na=({enable:T,clickTolerance:l,bearingDegreesPerPixelMoved:d=.8})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({bearingDelta:(M.x-b.x)*d}),moveStateManager:v,enable:T,assignEvents:fh})},co=({enable:T,clickTolerance:l,pitchDegreesPerPixelMoved:d=-.5})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({pitchDelta:(M.y-b.y)*d}),moveStateManager:v,enable:T,assignEvents:fh})};class Ge{constructor(l,d){this._minTouches=l.cooperativeGestures?2:1,this._clickTolerance=l.clickTolerance||1,this._map=d,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new n.P(0,0),setTimeout(()=>{this._cancelCooperativeMessage=!1},200)}touchstart(l,d,v){return this._calculateTransform(l,d,v)}touchmove(l,d,v){if(this._map._cooperativeGestures&&(this._minTouches===2&&v.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(l,!1,v.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(v.length0&&(this._active=!0);let b=ca(v,d),M=new n.P(0,0),O=new n.P(0,0),B=0;for(let W in b){let Z=b[W],$=this._touches[W];$&&(M._add(Z),O._add(Z.sub($)),B++,b[W]=Z)}if(this._touches=b,BMath.abs(T.x)}class zx extends Dd{constructor(l){super(),this._map=l}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(l,d,v){super.touchstart(l,d,v),this._currentTouchCount=v.length}_start(l){this._lastPoints=l,a0(l[0].sub(l[1]))&&(this._valid=!1)}_move(l,d,v){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;let b=l[0].sub(this._lastPoints[0]),M=l[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(b,M,v.timeStamp),this._valid?(this._lastPoints=l,this._active=!0,{pitchDelta:(b.y+M.y)/2*-.5}):void 0}gestureBeginsVertically(l,d,v){if(this._valid!==void 0)return this._valid;let b=l.mag()>=2,M=d.mag()>=2;if(!b&&!M)return;if(!b||!M)return this._firstMove===void 0&&(this._firstMove=v),v-this._firstMove<100&&void 0;let O=l.y>0==d.y>0;return a0(l)&&a0(d)&&O}}let dh={panStep:100,bearingStep:15,pitchStep:10};class y_{constructor(l){this._tr=new Ln(l);let d=dh;this._panStep=d.panStep,this._bearingStep=d.bearingStep,this._pitchStep=d.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(l){if(l.altKey||l.ctrlKey||l.metaKey)return;let d=0,v=0,b=0,M=0,O=0;switch(l.keyCode){case 61:case 107:case 171:case 187:d=1;break;case 189:case 109:case 173:d=-1;break;case 37:l.shiftKey?v=-1:(l.preventDefault(),M=-1);break;case 39:l.shiftKey?v=1:(l.preventDefault(),M=1);break;case 38:l.shiftKey?b=1:(l.preventDefault(),O=-1);break;case 40:l.shiftKey?b=-1:(l.preventDefault(),O=1);break;default:return}return this._rotationDisabled&&(v=0,b=0),{cameraAnimation:B=>{let U=this._tr;B.easeTo({duration:300,easeId:\"keyboardHandler\",easing:l0,zoom:d?Math.round(U.zoom)+d*(l.shiftKey?2:1):U.zoom,bearing:U.bearing+v*this._bearingStep,pitch:U.pitch+b*this._pitchStep,offset:[-M*this._panStep,-O*this._panStep],center:U.center},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function l0(T){return T*(2-T)}let c0=4.000244140625;class bf{constructor(l,d){this._onTimeout=v=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(v)},this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._triggerRenderFrame=d,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(l){this._defaultZoomRate=l}setWheelZoomRate(l){this._wheelZoomRate=l}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(l){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!l&&l.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(l){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!l[this._map._metaKey])return;l.preventDefault()}let d=l.deltaMode===WheelEvent.DOM_DELTA_LINE?40*l.deltaY:l.deltaY,v=n.h.now(),b=v-(this._lastWheelEventTime||0);this._lastWheelEventTime=v,d!==0&&d%c0==0?this._type=\"wheel\":d!==0&&Math.abs(d)<4?this._type=\"trackpad\":b>400?(this._type=null,this._lastValue=d,this._timeout=setTimeout(this._onTimeout,40,l)):this._type||(this._type=Math.abs(b*d)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,d+=this._lastValue)),l.shiftKey&&d&&(d/=4),this._type&&(this._lastWheelEvent=l,this._delta-=d,this._active||this._start(l)),l.preventDefault()}_start(l){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let d=c.mousePos(this._el,l),v=this._tr;this._around=n.L.convert(this._aroundCenter?v.center:v.unproject(d)),this._aroundPoint=v.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let l=this._tr.transform;if(this._delta!==0){let B=this._type===\"wheel\"&&Math.abs(this._delta)>c0?this._wheelZoomRate:this._defaultZoomRate,U=2/(1+Math.exp(-Math.abs(this._delta*B)));this._delta<0&&U!==0&&(U=1/U);let W=typeof this._targetZoom==\"number\"?l.zoomScale(this._targetZoom):l.scale;this._targetZoom=Math.min(l.maxZoom,Math.max(l.minZoom,l.scaleZoom(W*U))),this._type===\"wheel\"&&(this._startZoom=l.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let d=typeof this._targetZoom==\"number\"?this._targetZoom:l.zoom,v=this._startZoom,b=this._easing,M,O=!1;if(this._type===\"wheel\"&&v&&b){let B=Math.min((n.h.now()-this._lastWheelEventTime)/200,1),U=b(B);M=n.B.number(v,d,U),B<1?this._frameId||(this._frameId=!0):O=!0}else M=d,O=!0;return this._active=!0,O&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!O,zoomDelta:M-l.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(l){let d=n.bb;if(this._prevEase){let v=this._prevEase,b=(n.h.now()-v.start)/v.duration,M=v.easing(b+.01)-v.easing(b),O=.27/Math.sqrt(M*M+1e-4)*.01,B=Math.sqrt(.0729-O*O);d=n.ba(O,B,.25,1)}return this._prevEase={start:n.h.now(),duration:l,easing:d},d}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class u0{constructor(l,d){this._clickZoom=l,this._tapZoom=d}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class iA{constructor(l){this._tr=new Ln(l),this.reset()}reset(){this._active=!1}dblclick(l,d){return l.preventDefault(),{cameraAnimation:v=>{v.easeTo({duration:300,zoom:this._tr.zoom+(l.shiftKey?-1:1),around:this._tr.unproject(d)},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nA{constructor(){this._tap=new Rd({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(l,d,v){if(!this._swipePoint)if(this._tapTime){let b=d[0],M=l.timeStamp-this._tapTime<500,O=this._tapPoint.dist(b)<30;M&&O?v.length>0&&(this._swipePoint=b,this._swipeTouch=v[0].identifier):this.reset()}else this._tap.touchstart(l,d,v)}touchmove(l,d,v){if(this._tapTime){if(this._swipePoint){if(v[0].identifier!==this._swipeTouch)return;let b=d[0],M=b.y-this._swipePoint.y;return this._swipePoint=b,l.preventDefault(),this._active=!0,{zoomDelta:M/128}}}else this._tap.touchmove(l,d,v)}touchend(l,d,v){if(this._tapTime)this._swipePoint&&v.length===0&&this.reset();else{let b=this._tap.touchend(l,d,v);b&&(this._tapTime=l.timeStamp,this._tapPoint=b)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ph{constructor(l,d,v){this._el=l,this._mousePan=d,this._touchPan=v}enable(l){this._inertiaOptions=l||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class us{constructor(l,d,v){this._pitchWithRotate=l.pitchWithRotate,this._mouseRotate=d,this._mousePitch=v}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class _u{constructor(l,d,v,b){this._el=l,this._touchZoom=d,this._touchRotate=v,this._tapDragZoom=b,this._rotationDisabled=!1,this._enabled=!0}enable(l){this._touchZoom.enable(l),this._rotationDisabled||this._touchRotate.enable(l),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}let Bc=T=>T.zoom||T.drag||T.pitch||T.rotate;class h0 extends n.k{}function Od(T){return T.panDelta&&T.panDelta.mag()||T.zoomDelta||T.bearingDelta||T.pitchDelta}class f0{constructor(l,d){this.handleWindowEvent=b=>{this.handleEvent(b,`${b.type}Window`)},this.handleEvent=(b,M)=>{if(b.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let O=b.type===\"renderFrame\"?void 0:b,B={needsRenderFrame:!1},U={},W={},Z=b.touches,$=Z?this._getMapTouches(Z):void 0,st=$?c.touchPos(this._el,$):c.mousePos(this._el,b);for(let{handlerName:yt,handler:dt,allowed:Ft}of this._handlers){if(!dt.isEnabled())continue;let Ht;this._blockedByActive(W,Ft,yt)?dt.reset():dt[M||b.type]&&(Ht=dt[M||b.type](b,st,$),this.mergeHandlerResult(B,U,Ht,yt,O),Ht&&Ht.needsRenderFrame&&this._triggerRenderFrame()),(Ht||dt.isActive())&&(W[yt]=dt)}let At={};for(let yt in this._previousActiveHandlers)W[yt]||(At[yt]=O);this._previousActiveHandlers=W,(Object.keys(At).length||Od(B))&&(this._changes.push([B,U,At]),this._triggerRenderFrame()),(Object.keys(W).length||Od(B))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:pt}=B;pt&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pt(this._map))},this._map=l,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new n0(l),this._bearingSnap=d.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(d);let v=this._el;this._listeners=[[v,\"touchstart\",{passive:!0}],[v,\"touchmove\",{passive:!1}],[v,\"touchend\",void 0],[v,\"touchcancel\",void 0],[v,\"mousedown\",void 0],[v,\"mousemove\",void 0],[v,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[v,\"mouseover\",void 0],[v,\"mouseout\",void 0],[v,\"dblclick\",void 0],[v,\"click\",void 0],[v,\"keydown\",{capture:!1}],[v,\"keyup\",void 0],[v,\"wheel\",{passive:!1}],[v,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[b,M,O]of this._listeners)c.addEventListener(b,M,b===document?this.handleWindowEvent:this.handleEvent,O)}destroy(){for(let[l,d,v]of this._listeners)c.removeEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,v)}_addDefaultHandlers(l){let d=this._map,v=d.getCanvasContainer();this._add(\"mapEvent\",new js(d,l));let b=d.boxZoom=new eA(d,l);this._add(\"boxZoom\",b),l.interactive&&l.boxZoom&&b.enable();let M=new Al(d),O=new iA(d);d.doubleClickZoom=new u0(O,M),this._add(\"tapZoom\",M),this._add(\"clickZoom\",O),l.interactive&&l.doubleClickZoom&&d.doubleClickZoom.enable();let B=new nA;this._add(\"tapDragZoom\",B);let U=d.touchPitch=new zx(d);this._add(\"touchPitch\",U),l.interactive&&l.touchPitch&&d.touchPitch.enable(l.touchPitch);let W=Na(l),Z=co(l);d.dragRotate=new us(l,W,Z),this._add(\"mouseRotate\",W,[\"mousePitch\"]),this._add(\"mousePitch\",Z,[\"mouseRotate\"]),l.interactive&&l.dragRotate&&d.dragRotate.enable();let $=(({enable:Ft,clickTolerance:Ht})=>{let St=new rA({checkCorrectEvent:Bt=>c.mouseButton(Bt)===0&&!Bt.ctrlKey});return new za({clickTolerance:Ht,move:(Bt,Qt)=>({around:Qt,panDelta:Qt.sub(Bt)}),activateOnStart:!0,moveStateManager:St,enable:Ft,assignEvents:fh})})(l),st=new Ge(l,d);d.dragPan=new ph(v,$,st),this._add(\"mousePan\",$),this._add(\"touchPan\",st,[\"touchZoom\",\"touchRotate\"]),l.interactive&&l.dragPan&&d.dragPan.enable(l.dragPan);let At=new o0,pt=new __;d.touchZoomRotate=new _u(v,pt,At,B),this._add(\"touchRotate\",At,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",pt,[\"touchPan\",\"touchRotate\"]),l.interactive&&l.touchZoomRotate&&d.touchZoomRotate.enable(l.touchZoomRotate);let yt=d.scrollZoom=new bf(d,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",yt,[\"mousePan\"]),l.interactive&&l.scrollZoom&&d.scrollZoom.enable(l.scrollZoom);let dt=d.keyboard=new y_(d);this._add(\"keyboard\",dt),l.interactive&&l.keyboard&&d.keyboard.enable(),this._add(\"blockableMapEvent\",new gu(d))}_add(l,d,v){this._handlers.push({handlerName:l,handler:d,allowed:v}),this._handlersById[l]=d}stop(l){if(!this._updatingCamera){for(let{handler:d}of this._handlers)d.reset();this._inertia.clear(),this._fireEvents({},{},l),this._changes=[]}}isActive(){for(let{handler:l}of this._handlers)if(l.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Bc(this._eventsInProgress)||this.isZooming()}_blockedByActive(l,d,v){for(let b in l)if(b!==v&&(!d||d.indexOf(b)<0))return!0;return!1}_getMapTouches(l){let d=[];for(let v of l)this._el.contains(v.target)&&d.push(v);return d}mergeHandlerResult(l,d,v,b,M){if(!v)return;n.e(l,v);let O={handlerName:b,originalEvent:v.originalEvent||M};v.zoomDelta!==void 0&&(d.zoom=O),v.panDelta!==void 0&&(d.drag=O),v.pitchDelta!==void 0&&(d.pitch=O),v.bearingDelta!==void 0&&(d.rotate=O)}_applyChanges(){let l={},d={},v={};for(let[b,M,O]of this._changes)b.panDelta&&(l.panDelta=(l.panDelta||new n.P(0,0))._add(b.panDelta)),b.zoomDelta&&(l.zoomDelta=(l.zoomDelta||0)+b.zoomDelta),b.bearingDelta&&(l.bearingDelta=(l.bearingDelta||0)+b.bearingDelta),b.pitchDelta&&(l.pitchDelta=(l.pitchDelta||0)+b.pitchDelta),b.around!==void 0&&(l.around=b.around),b.pinchAround!==void 0&&(l.pinchAround=b.pinchAround),b.noInertia&&(l.noInertia=b.noInertia),n.e(d,M),n.e(v,O);this._updateMapTransform(l,d,v),this._changes=[]}_updateMapTransform(l,d,v){let b=this._map,M=b._getTransformForUpdate(),O=b.terrain;if(!(Od(l)||O&&this._terrainMovement))return this._fireEvents(d,v,!0);let{panDelta:B,zoomDelta:U,bearingDelta:W,pitchDelta:Z,around:$,pinchAround:st}=l;st!==void 0&&($=st),b._stop(!0),$=$||b.transform.centerPoint;let At=M.pointLocation(B?$.sub(B):$);W&&(M.bearing+=W),Z&&(M.pitch+=Z),U&&(M.zoom+=U),O?this._terrainMovement||!d.drag&&!d.zoom?d.drag&&this._terrainMovement?M.center=M.pointLocation(M.centerPoint.sub(B)):M.setLocationAtPoint(At,$):(this._terrainMovement=!0,this._map._elevationFreeze=!0,M.setLocationAtPoint(At,$),this._map.once(\"moveend\",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,M.recalculateZoom(b.terrain)})):M.setLocationAtPoint(At,$),b._applyUpdatedTransform(M),this._map._update(),l.noInertia||this._inertia.record(l),this._fireEvents(d,v,!0)}_fireEvents(l,d,v){let b=Bc(this._eventsInProgress),M=Bc(l),O={};for(let Z in l){let{originalEvent:$}=l[Z];this._eventsInProgress[Z]||(O[`${Z}start`]=$),this._eventsInProgress[Z]=l[Z]}!b&&M&&this._fireEvent(\"movestart\",M.originalEvent);for(let Z in O)this._fireEvent(Z,O[Z]);M&&this._fireEvent(\"move\",M.originalEvent);for(let Z in l){let{originalEvent:$}=l[Z];this._fireEvent(Z,$)}let B={},U;for(let Z in this._eventsInProgress){let{handlerName:$,originalEvent:st}=this._eventsInProgress[Z];this._handlersById[$].isActive()||(delete this._eventsInProgress[Z],U=d[$]||st,B[`${Z}end`]=U)}for(let Z in B)this._fireEvent(Z,B[Z]);let W=Bc(this._eventsInProgress);if(v&&(b||M)&&!W){this._updatingCamera=!0;let Z=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),$=st=>st!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new h0(\"renderFrame\",{timeStamp:l})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class v_ extends n.E{constructor(l,d){super(),this._renderFrameCallback=()=>{let v=Math.min((n.h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(v)),v<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=l,this._bearingSnap=d.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new n.L(this.transform.center.lng,this.transform.center.lat)}setCenter(l,d){return this.jumpTo({center:l},d)}panBy(l,d,v){return l=n.P.convert(l).mult(-1),this.panTo(this.transform.center,n.e({offset:l},d),v)}panTo(l,d,v){return this.easeTo(n.e({center:l},d),v)}getZoom(){return this.transform.zoom}setZoom(l,d){return this.jumpTo({zoom:l},d),this}zoomTo(l,d,v){return this.easeTo(n.e({zoom:l},d),v)}zoomIn(l,d){return this.zoomTo(this.getZoom()+1,l,d),this}zoomOut(l,d){return this.zoomTo(this.getZoom()-1,l,d),this}getBearing(){return this.transform.bearing}setBearing(l,d){return this.jumpTo({bearing:l},d),this}getPadding(){return this.transform.padding}setPadding(l,d){return this.jumpTo({padding:l},d),this}rotateTo(l,d,v){return this.easeTo(n.e({bearing:l},d),v)}resetNorth(l,d){return this.rotateTo(0,n.e({duration:1e3},l),d),this}resetNorthPitch(l,d){return this.easeTo(n.e({bearing:0,pitch:0,duration:1e3},l),d),this}snapToNorth(l,d){return Math.abs(this.getBearing()){if(this._zooming&&(v.zoom=n.B.number(b,U,$t)),this._rotating&&(v.bearing=n.B.number(M,W,$t)),this._pitching&&(v.pitch=n.B.number(O,Z,$t)),this._padding&&(v.interpolatePadding(B,$,$t),At=v.centerPoint.add(st)),this.terrain&&!l.freezeElevation&&this._updateElevation($t),St)v.setLocationAtPoint(St,Bt);else{let oe=v.zoomScale(v.zoom-b),pe=U>b?Math.min(2,Ht):Math.max(.5,Ht),he=Math.pow(pe,1-$t),be=v.unproject(dt.add(Ft.mult($t*he)).mult(oe));v.setLocationAtPoint(v.renderWorldCopies?be.wrap():be,At)}this._applyUpdatedTransform(v),this._fireMoveEvents(d)},$t=>{this.terrain&&this._finalizeElevation(),this._afterEase(d,$t)},l),this}_prepareEase(l,d,v={}){this._moving=!0,d||v.moving||this.fire(new n.k(\"movestart\",l)),this._zooming&&!v.zooming&&this.fire(new n.k(\"zoomstart\",l)),this._rotating&&!v.rotating&&this.fire(new n.k(\"rotatestart\",l)),this._pitching&&!v.pitching&&this.fire(new n.k(\"pitchstart\",l))}_prepareElevation(l){this._elevationCenter=l,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(l,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(l){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let d=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(l<1&&d!==this._elevationTarget){let v=this._elevationTarget-this._elevationStart;this._elevationStart+=l*(v-(d-(v*l+this._elevationStart))/(1-l)),this._elevationTarget=d}this.transform.elevation=n.B.number(this._elevationStart,this._elevationTarget,l)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(l){if(!this.transformCameraUpdate)return;let d=l.clone(),{center:v,zoom:b,pitch:M,bearing:O,elevation:B}=this.transformCameraUpdate(d);v&&(d.center=v),b!==void 0&&(d.zoom=b),M!==void 0&&(d.pitch=M),O!==void 0&&(d.bearing=O),B!==void 0&&(d.elevation=B),this.transform.apply(d)}_fireMoveEvents(l){this.fire(new n.k(\"move\",l)),this._zooming&&this.fire(new n.k(\"zoom\",l)),this._rotating&&this.fire(new n.k(\"rotate\",l)),this._pitching&&this.fire(new n.k(\"pitch\",l))}_afterEase(l,d){if(this._easeId&&d&&this._easeId===d)return;delete this._easeId;let v=this._zooming,b=this._rotating,M=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,v&&this.fire(new n.k(\"zoomend\",l)),b&&this.fire(new n.k(\"rotateend\",l)),M&&this.fire(new n.k(\"pitchend\",l)),this.fire(new n.k(\"moveend\",l))}flyTo(l,d){if(!l.essential&&n.h.prefersReducedMotion){let tr=n.F(l,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(tr,d)}this.stop(),l=n.e({offset:[0,0],speed:1.2,curve:1.42,easing:n.bb},l);let v=this._getTransformForUpdate(),b=this.getZoom(),M=this.getBearing(),O=this.getPitch(),B=this.getPadding(),U=\"zoom\"in l?n.ad(+l.zoom,v.minZoom,v.maxZoom):b,W=\"bearing\"in l?this._normalizeBearing(l.bearing,M):M,Z=\"pitch\"in l?+l.pitch:O,$=\"padding\"in l?l.padding:v.padding,st=v.zoomScale(U-b),At=n.P.convert(l.offset),pt=v.centerPoint.add(At),yt=v.pointLocation(pt),dt=n.L.convert(l.center||yt);this._normalizeCenter(dt);let Ft=v.project(yt),Ht=v.project(dt).sub(Ft),St=l.curve,Bt=Math.max(v.width,v.height),Qt=Bt/st,$t=Ht.mag();if(\"minZoom\"in l){let tr=n.ad(Math.min(l.minZoom,b,U),v.minZoom,v.maxZoom),Gi=Bt/v.zoomScale(tr-b);St=Math.sqrt(Gi/$t*2)}let oe=St*St;function pe(tr){let Gi=(Qt*Qt-Bt*Bt+(tr?-1:1)*oe*oe*$t*$t)/(2*(tr?Qt:Bt)*oe*$t);return Math.log(Math.sqrt(Gi*Gi+1)-Gi)}function he(tr){return(Math.exp(tr)-Math.exp(-tr))/2}function be(tr){return(Math.exp(tr)+Math.exp(-tr))/2}let Ze=pe(!1),Kr=function(tr){return be(Ze)/be(Ze+St*tr)},Ee=function(tr){return Bt*((be(Ze)*(he(Gi=Ze+St*tr)/be(Gi))-he(Ze))/oe)/$t;var Gi},pr=(pe(!0)-Ze)/St;if(Math.abs($t)<1e-6||!isFinite(pr)){if(Math.abs(Bt-Qt)<1e-6)return this.easeTo(l,d);let tr=Qtl.maxDuration&&(l.duration=0),this._zooming=!0,this._rotating=M!==W,this._pitching=Z!==O,this._padding=!v.isPaddingEqual($),this._prepareEase(d,!1),this.terrain&&this._prepareElevation(dt),this._ease(tr=>{let Gi=tr*pr,Jr=1/Kr(Gi);v.zoom=tr===1?U:b+v.scaleZoom(Jr),this._rotating&&(v.bearing=n.B.number(M,W,tr)),this._pitching&&(v.pitch=n.B.number(O,Z,tr)),this._padding&&(v.interpolatePadding(B,$,tr),pt=v.centerPoint.add(At)),this.terrain&&!l.freezeElevation&&this._updateElevation(tr);let Vr=tr===1?dt:v.unproject(Ft.add(Ht.mult(Ee(Gi))).mult(Jr));v.setLocationAtPoint(v.renderWorldCopies?Vr.wrap():Vr,pt),this._applyUpdatedTransform(v),this._fireMoveEvents(d)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(d)},l),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(l,d){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let v=this._onEaseEnd;delete this._onEaseEnd,v.call(this,d)}if(!l){let v=this.handlers;v&&v.stop(!1)}return this}_ease(l,d,v){v.animate===!1||v.duration===0?(l(1),d()):(this._easeStart=n.h.now(),this._easeOptions=v,this._onEaseFrame=l,this._onEaseEnd=d,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(l,d){l=n.b5(l,-180,180);let v=Math.abs(l-d);return Math.abs(l-360-d)180?-360:v<-180?360:0}queryTerrainElevation(l){return this.terrain?this.terrain.getElevationForLngLatZoom(n.L.convert(l),this.transform.tileZoom)-this.transform.elevation:null}}class ua{constructor(l={}){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=d=>{!d||d.sourceDataType!==\"metadata\"&&d.sourceDataType!==\"visibility\"&&d.dataType!==\"style\"&&d.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=l}getDefaultPosition(){return\"bottom-right\"}onAdd(l){return this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(l,d){let v=this._map._getUIString(`AttributionControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)}_updateAttributions(){if(!this._map.style)return;let l=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?l=l.concat(this.options.customAttribution.map(b=>typeof b!=\"string\"?\"\":b)):typeof this.options.customAttribution==\"string\"&&l.push(this.options.customAttribution)),this._map.style.stylesheet){let b=this._map.style.stylesheet;this.styleOwner=b.owner,this.styleId=b.id}let d=this._map.style.sourceCaches;for(let b in d){let M=d[b];if(M.used||M.usedForTerrain){let O=M.getSource();O.attribution&&l.indexOf(O.attribution)<0&&l.push(O.attribution)}}l=l.filter(b=>String(b).trim()),l.sort((b,M)=>b.length-M.length),l=l.filter((b,M)=>{for(let O=M+1;O=0)return!1;return!0});let v=l.join(\" | \");v!==this._attribHTML&&(this._attribHTML=v,l.length?(this._innerContainer.innerHTML=v,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class un{constructor(l={}){this._updateCompact=()=>{let d=this._container.children;if(d.length){let v=d[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&v.classList.add(\"maplibregl-compact\"):v.classList.remove(\"maplibregl-compact\")}},this.options=l}getDefaultPosition(){return\"bottom-left\"}onAdd(l){this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let d=c.create(\"a\",\"maplibregl-ctrl-logo\");return d.target=\"_blank\",d.rel=\"noopener nofollow\",d.href=\"https://maplibre.org/\",d.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),d.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(d),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sA{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(l){let d=++this._id;return this._queue.push({callback:l,id:d,cancelled:!1}),d}remove(l){let d=this._currentlyRunning,v=d?this._queue.concat(d):this._queue;for(let b of v)if(b.id===l)return void(b.cancelled=!0)}run(l=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let d=this._currentlyRunning=this._queue;this._queue=[];for(let v of d)if(!v.cancelled&&(v.callback(l),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}let d0={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"};var Ah=n.Q([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class x_ extends n.E{constructor(l){super(),this.sourceCache=l,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,l.usedForTerrain=!0,l.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(l,d){this.sourceCache.update(l,d),this._renderableTilesKeys=[];let v={};for(let b of l.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:d}))v[b.key]=!0,this._renderableTilesKeys.push(b.key),this._tiles[b.key]||(b.posMatrix=new Float64Array(16),n.aS(b.posMatrix,0,n.N,0,n.N,0,1),this._tiles[b.key]=new ao(b,this.tileSize));for(let b in this._tiles)v[b]||delete this._tiles[b]}freeRtt(l){for(let d in this._tiles){let v=this._tiles[d];(!l||v.tileID.equals(l)||v.tileID.isChildOf(l)||l.isChildOf(v.tileID))&&(v.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(l=>this.getTileByID(l))}getTileByID(l){return this._tiles[l]}getTerrainCoords(l){let d={};for(let v of this._renderableTilesKeys){let b=this._tiles[v].tileID;if(b.canonical.equals(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16),n.aS(M.posMatrix,0,n.N,0,n.N,0,1),d[v]=M}else if(b.canonical.isChildOf(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=b.canonical.z-l.canonical.z,B=b.canonical.x-(b.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,W,0,W,0,1),n.$(M.posMatrix,M.posMatrix,[-B*W,-U*W,0]),d[v]=M}else if(l.canonical.isChildOf(b.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=l.canonical.z-b.canonical.z,B=l.canonical.x-(l.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,n.N,0,n.N,0,1),n.$(M.posMatrix,M.posMatrix,[B*W,U*W,0]),n.a0(M.posMatrix,M.posMatrix,[1/2**O,1/2**O,0]),d[v]=M}}return d}getSourceTile(l,d){let v=this.sourceCache._source,b=l.overscaledZ-this.deltaZoom;if(b>v.maxzoom&&(b=v.maxzoom),b=v.minzoom&&(!M||!M.dem);)M=this.sourceCache.getTileByID(l.scaledTo(b--).key);return M}tilesAfterTime(l=Date.now()){return Object.values(this._tiles).filter(d=>d.timeAdded>=l)}}class b_{constructor(l,d,v){this.painter=l,this.sourceCache=new x_(d),this.options=v,this.exaggeration=typeof v.exaggeration==\"number\"?v.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(l,d,v,b=n.N){var M;if(!(d>=0&&d=0&&vl.canonical.z&&(l.canonical.z>=b?M=l.canonical.z-b:n.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let O=l.canonical.x-(l.canonical.x>>M<>M<>8<<4|M>>8,d[O+3]=0;let v=new n.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(d.buffer)),b=new qt(l,v,l.gl.RGBA,{premultiply:!1});return b.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._coordsTexture=b,b}pointCoordinate(l){let d=new Uint8Array(4),v=this.painter.context,b=v.gl;v.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),b.readPixels(l.x,this.painter.height/devicePixelRatio-l.y-1,1,1,b.RGBA,b.UNSIGNED_BYTE,d),v.bindFramebuffer.set(null);let M=d[0]+(d[2]>>4<<8),O=d[1]+((15&d[2])<<8),B=this.coordsIndex[255-d[3]],U=B&&this.sourceCache.getTileByID(B);if(!U)return null;let W=this._coordsTextureSize,Z=(1<0&&Math.sign(M)<0||!v&&Math.sign(b)<0&&Math.sign(M)>0?(b=360*Math.sign(M)+b,n.G(b)):d}}class Nx{constructor(l,d,v){this._context=l,this._size=d,this._tileSize=v,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let l of this._objects)l.texture.destroy(),l.fbo.destroy()}_createObject(l){let d=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),v=new qt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return v.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),d.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),d.colorAttachment.set(v.texture),{id:l,fbo:d,texture:v,stamp:-1,inUse:!1}}getObjectForId(l){return this._objects[l]}useObject(l){l.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(d=>l.id!==d),this._recentlyUsed.push(l.id)}stampObject(l){l.stamp=++this._stamp}getOrCreateFreeObject(){for(let d of this._recentlyUsed)if(!this._objects[d].inUse)return this._objects[d];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let l=this._createObject(this._objects.length);return this._objects.push(l),l}freeObject(l){l.inUse=!1}freeAllObjects(){for(let l of this._objects)this.freeObject(l)}isFull(){return!(this._objects.length!l.inUse)===!1}}let Mo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class oA{constructor(l,d){this.painter=l,this.terrain=d,this.pool=new Nx(l.context,30,d.sourceCache.tileSize*d.qualityFactor)}destruct(){this.pool.destruct()}getTexture(l){return this.pool.getObjectForId(l.rtt[this._stacks.length-1].id).texture}prepareForRender(l,d){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=l._order.filter(v=>!l._layers[v].isHidden(d)),this._coordsDescendingInv={};for(let v in l.sourceCaches){this._coordsDescendingInv[v]={};let b=l.sourceCaches[v].getVisibleCoordinates();for(let M of b){let O=this.terrain.sourceCache.getTerrainCoords(M);for(let B in O)this._coordsDescendingInv[v][B]||(this._coordsDescendingInv[v][B]=[]),this._coordsDescendingInv[v][B].push(O[B])}}this._coordsDescendingInvStr={};for(let v of l._order){let b=l._layers[v],M=b.source;if(Mo[b.type]&&!this._coordsDescendingInvStr[M]){this._coordsDescendingInvStr[M]={};for(let O in this._coordsDescendingInv[M])this._coordsDescendingInvStr[M][O]=this._coordsDescendingInv[M][O].map(B=>B.key).sort().join()}}for(let v of this._renderableTiles)for(let b in this._coordsDescendingInvStr){let M=this._coordsDescendingInvStr[b][v.tileID.key];M&&M!==v.rttCoords[b]&&(v.rtt=[])}}renderLayer(l){if(l.isHidden(this.painter.transform.zoom))return!1;let d=l.type,v=this.painter,b=this._renderableLayerIds[this._renderableLayerIds.length-1]===l.id;if(Mo[d]&&(this._prevType&&Mo[this._prevType]||this._stacks.push([]),this._prevType=d,this._stacks[this._stacks.length-1].push(l.id),!b))return!0;if(Mo[this._prevType]||Mo[d]&&b){this._prevType=d;let M=this._stacks.length-1,O=this._stacks[M]||[];for(let B of this._renderableTiles){if(this.pool.isFull()&&(Cn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(B),B.rtt[M]){let W=this.pool.getObjectForId(B.rtt[M].id);if(W.stamp===B.rtt[M].stamp){this.pool.useObject(W);continue}}let U=this.pool.getOrCreateFreeObject();this.pool.useObject(U),this.pool.stampObject(U),B.rtt[M]={id:U.id,stamp:U.stamp},v.context.bindFramebuffer.set(U.fbo.framebuffer),v.context.clear({color:n.aT.transparent,stencil:0}),v.currentStencilSource=void 0;for(let W=0;W{T.touchstart=T.dragStart,T.touchmoveWindow=T.dragMove,T.touchend=T.dragEnd},aA={showCompass:!0,showZoom:!0,visualizePitch:!1};class Bd{constructor(l,d,v=!1){this.mousedown=O=>{this.startMouse(n.e({},O,{ctrlKey:!0,preventDefault:()=>O.preventDefault()}),c.mousePos(this.element,O)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=O=>{this.moveMouse(O,c.mousePos(this.element,O))},this.mouseup=O=>{this.mouseRotate.dragEnd(O),this.mousePitch&&this.mousePitch.dragEnd(O),this.offTemp()},this.touchstart=O=>{O.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.startTouch(O,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=O=>{O.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.moveTouch(O,this._lastPos))},this.touchend=O=>{O.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let b=l.dragRotate._mouseRotate.getClickTolerance(),M=l.dragRotate._mousePitch.getClickTolerance();this.element=d,this.mouseRotate=Na({clickTolerance:b,enable:!0}),this.touchRotate=(({enable:O,clickTolerance:B,bearingDegreesPerPixelMoved:U=.8})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({bearingDelta:($.x-Z.x)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:b,enable:!0}),this.map=l,v&&(this.mousePitch=co({clickTolerance:M,enable:!0}),this.touchPitch=(({enable:O,clickTolerance:B,pitchDegreesPerPixelMoved:U=-.5})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({pitchDelta:($.y-Z.y)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:M,enable:!0})),c.addEventListener(d,\"mousedown\",this.mousedown),c.addEventListener(d,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(d,\"touchcancel\",this.reset)}startMouse(l,d){this.mouseRotate.dragStart(l,d),this.mousePitch&&this.mousePitch.dragStart(l,d),c.disableDrag()}startTouch(l,d){this.touchRotate.dragStart(l,d),this.touchPitch&&this.touchPitch.dragStart(l,d),c.disableDrag()}moveMouse(l,d){let v=this.map,{bearingDelta:b}=this.mouseRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.mousePitch){let{pitchDelta:M}=this.mousePitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}moveTouch(l,d){let v=this.map,{bearingDelta:b}=this.touchRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.touchPitch){let{pitchDelta:M}=this.touchPitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}off(){let l=this.element;c.removeEventListener(l,\"mousedown\",this.mousedown),c.removeEventListener(l,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(l,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let Hn;function uo(T,l,d){if(T=new n.L(T.lng,T.lat),l){let v=new n.L(T.lng-360,T.lat),b=new n.L(T.lng+360,T.lat),M=d.locationPoint(T).distSqr(l);d.locationPoint(v).distSqr(l)180;){let v=d.locationPoint(T);if(v.x>=0&&v.y>=0&&v.x<=d.width&&v.y<=d.height)break;T.lng>d.center.lng?T.lng-=360:T.lng+=360}return T}let ji={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function w_(T,l,d){let v=T.classList;for(let b in ji)v.remove(`maplibregl-${d}-anchor-${b}`);v.add(`maplibregl-${d}-anchor-${l}`)}class mh extends n.E{constructor(l){if(super(),this._onKeyPress=d=>{let v=d.code,b=d.charCode||d.keyCode;v!==\"Space\"&&v!==\"Enter\"&&b!==32&&b!==13||this.togglePopup()},this._onMapClick=d=>{let v=d.originalEvent.target,b=this._element;this._popup&&(v===b||b.contains(v))&&this.togglePopup()},this._update=d=>{if(!this._map)return;let v=this._map.loaded()&&!this._map.isMoving();(d?.type===\"terrain\"||d?.type===\"render\"&&!v)&&this._map.once(\"render\",this._update),this._map.transform.renderWorldCopies&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let b=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?b=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(b=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let M=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?M=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(M=`rotateX(${this._map.getPitch()}deg)`),d&&d.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${ji[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${M} ${b}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout(()=>{let O=this._map.unproject(this._pos),B=40075016686e-3*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=O.distanceTo(this._lngLat)>20*B?\"0.2\":\"1.0\",this._opacityTimeout=null},100))},this._onMove=d=>{if(!this._isDragging){let v=this._clickTolerance||this._map._clickTolerance;this._isDragging=d.point.dist(this._pointerdownPos)>=v}this._isDragging&&(this._pos=d.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new n.k(\"dragstart\"))),this.fire(new n.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new n.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=d=>{this._element.contains(d.originalEvent.target)&&(d.preventDefault(),this._positionDelta=d.point.sub(this._pos).add(this._offset),this._pointerdownPos=d.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=l&&l.anchor||\"center\",this._color=l&&l.color||\"#3FB1CE\",this._scale=l&&l.scale||1,this._draggable=l&&l.draggable||!1,this._clickTolerance=l&&l.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=l&&l.rotation||0,this._rotationAlignment=l&&l.rotationAlignment||\"auto\",this._pitchAlignment=l&&l.pitchAlignment&&l.pitchAlignment!==\"auto\"?l.pitchAlignment:this._rotationAlignment,l&&l.element)this._element=l.element,this._offset=n.P.convert(l&&l.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");let d=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),v=41,b=27;d.setAttributeNS(null,\"display\",\"block\"),d.setAttributeNS(null,\"height\",`${v}px`),d.setAttributeNS(null,\"width\",`${b}px`),d.setAttributeNS(null,\"viewBox\",`0 0 ${b} ${v}`);let M=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");M.setAttributeNS(null,\"stroke\",\"none\"),M.setAttributeNS(null,\"stroke-width\",\"1\"),M.setAttributeNS(null,\"fill\",\"none\"),M.setAttributeNS(null,\"fill-rule\",\"evenodd\");let O=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");O.setAttributeNS(null,\"fill-rule\",\"nonzero\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");B.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),B.setAttributeNS(null,\"fill\",\"#000000\");let U=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let Ft of U){let Ht=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Ht.setAttributeNS(null,\"opacity\",\"0.04\"),Ht.setAttributeNS(null,\"cx\",\"10.5\"),Ht.setAttributeNS(null,\"cy\",\"5.80029008\"),Ht.setAttributeNS(null,\"rx\",Ft.rx),Ht.setAttributeNS(null,\"ry\",Ft.ry),B.appendChild(Ht)}let W=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");W.setAttributeNS(null,\"fill\",this._color);let Z=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Z.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),W.appendChild(Z);let $=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");$.setAttributeNS(null,\"opacity\",\"0.25\"),$.setAttributeNS(null,\"fill\",\"#000000\");let st=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");st.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),$.appendChild(st);let At=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");At.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),At.setAttributeNS(null,\"fill\",\"#FFFFFF\");let pt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");yt.setAttributeNS(null,\"fill\",\"#000000\"),yt.setAttributeNS(null,\"opacity\",\"0.25\"),yt.setAttributeNS(null,\"cx\",\"5.5\"),yt.setAttributeNS(null,\"cy\",\"5.5\"),yt.setAttributeNS(null,\"r\",\"5.4999962\");let dt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");dt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),dt.setAttributeNS(null,\"cx\",\"5.5\"),dt.setAttributeNS(null,\"cy\",\"5.5\"),dt.setAttributeNS(null,\"r\",\"5.4999962\"),pt.appendChild(yt),pt.appendChild(dt),O.appendChild(B),O.appendChild(W),O.appendChild($),O.appendChild(At),O.appendChild(pt),d.appendChild(O),d.setAttributeNS(null,\"height\",v*this._scale+\"px\"),d.setAttributeNS(null,\"width\",b*this._scale+\"px\"),this._element.appendChild(d),this._offset=n.P.convert(l&&l.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",d=>{d.preventDefault()}),this._element.addEventListener(\"mousedown\",d=>{d.preventDefault()}),w_(this._element,this._anchor,\"marker\"),l&&l.className)for(let d of l.className.split(\" \"))this._element.classList.add(d);this._popup=null}addTo(l){return this.remove(),this._map=l,l.getCanvasContainer().appendChild(this._element),l.on(\"move\",this._update),l.on(\"moveend\",this._update),l.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(l){return this._lngLat=n.L.convert(l),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(l){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),l){if(!(\"offset\"in l.options)){let b=Math.abs(13.5)/Math.SQRT2;l.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[b,-1*(38.1-13.5+b)],\"bottom-right\":[-b,-1*(38.1-13.5+b)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=l,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let l=this._popup;return l?(l.isOpen()?l.remove():l.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(l){return this._offset=n.P.convert(l),this._update(),this}addClassName(l){this._element.classList.add(l)}removeClassName(l){this._element.classList.remove(l)}toggleClassName(l){return this._element.classList.toggle(l)}setDraggable(l){return this._draggable=!!l,this._map&&(l?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(l){return this._rotation=l||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(l){return this._rotationAlignment=l||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(l){return this._pitchAlignment=l&&l!==\"auto\"?l:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}let kn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},wn=0,Sf=!1,Es={maxWidth:100,unit:\"metric\"};function gh(T,l,d){let v=d&&d.maxWidth||100,b=T._container.clientHeight/2,M=T.unproject([0,b]),O=T.unproject([v,b]),B=M.distanceTo(O);if(d&&d.unit===\"imperial\"){let U=3.2808*B;U>5280?Wo(l,v,U/5280,T._getUIString(\"ScaleControl.Miles\")):Wo(l,v,U,T._getUIString(\"ScaleControl.Feet\"))}else d&&d.unit===\"nautical\"?Wo(l,v,B/1852,T._getUIString(\"ScaleControl.NauticalMiles\")):B>=1e3?Wo(l,v,B/1e3,T._getUIString(\"ScaleControl.Kilometers\")):Wo(l,v,B,T._getUIString(\"ScaleControl.Meters\"))}function Wo(T,l,d,v){let b=function(M){let O=Math.pow(10,`${Math.floor(M)}`.length-1),B=M/O;return B=B>=10?10:B>=5?5:B>=3?3:B>=2?2:B>=1?1:function(U){let W=Math.pow(10,Math.ceil(-Math.log(U)/Math.LN10));return Math.round(U*W)/W}(B),O*B}(d);T.style.width=l*(b/d)+\"px\",T.innerHTML=`${b} ${v}`}let p0={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Fd=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Tf(T){if(T){if(typeof T==\"number\"){let l=Math.round(Math.abs(T)/Math.SQRT2);return{center:new n.P(0,0),top:new n.P(0,T),\"top-left\":new n.P(l,l),\"top-right\":new n.P(-l,l),bottom:new n.P(0,-T),\"bottom-left\":new n.P(l,-l),\"bottom-right\":new n.P(-l,-l),left:new n.P(T,0),right:new n.P(-T,0)}}if(T instanceof n.P||Array.isArray(T)){let l=n.P.convert(T);return{center:l,top:l,\"top-left\":l,\"top-right\":l,bottom:l,\"bottom-left\":l,\"bottom-right\":l,left:l,right:l}}return{center:n.P.convert(T.center||[0,0]),top:n.P.convert(T.top||[0,0]),\"top-left\":n.P.convert(T[\"top-left\"]||[0,0]),\"top-right\":n.P.convert(T[\"top-right\"]||[0,0]),bottom:n.P.convert(T.bottom||[0,0]),\"bottom-left\":n.P.convert(T[\"bottom-left\"]||[0,0]),\"bottom-right\":n.P.convert(T[\"bottom-right\"]||[0,0]),left:n.P.convert(T.left||[0,0]),right:n.P.convert(T.right||[0,0])}}return Tf(new n.P(0,0))}let Ho={extend:(T,...l)=>n.e(T,...l),run(T){T()},logToElement(T,l=!1,d=\"log\"){let v=window.document.getElementById(d);v&&(l&&(v.innerHTML=\"\"),v.innerHTML+=`
${T}`)}},lA=o;class bi{static get version(){return lA}static get workerCount(){return lo.workerCount}static set workerCount(l){lo.workerCount=l}static get maxParallelImageRequests(){return n.c.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(l){n.c.MAX_PARALLEL_IMAGE_REQUESTS=l}static get workerUrl(){return n.c.WORKER_URL}static set workerUrl(l){n.c.WORKER_URL=l}static addProtocol(l,d){n.c.REGISTERED_PROTOCOLS[l]=d}static removeProtocol(l){delete n.c.REGISTERED_PROTOCOLS[l]}}return bi.Map=class extends v_{constructor(T){if(n.bg.mark(n.bh.create),(T=n.e({},dr,T)).minZoom!=null&&T.maxZoom!=null&&T.minZoom>T.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(T.minPitch!=null&&T.maxPitch!=null&&T.minPitch>T.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(T.minPitch!=null&&T.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T.maxPitch!=null&&T.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Kp(T.minZoom,T.maxZoom,T.minPitch,T.maxPitch,T.renderWorldCopies),{bearingSnap:T.bearingSnap}),this._cooperativeGesturesOnWheel=l=>{this._onCooperativeGesture(l,l[this._metaKey],1)},this._contextLost=l=>{l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new n.k(\"webglcontextlost\",{originalEvent:l}))},this._contextRestored=l=>{this._setupPainter(),this.resize(),this._update(),this.fire(new n.k(\"webglcontextrestored\",{originalEvent:l}))},this._onMapScroll=l=>{if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=T.interactive,this._cooperativeGestures=T.cooperativeGestures,this._metaKey=navigator.platform.indexOf(\"Mac\")===0?\"metaKey\":\"ctrlKey\",this._maxTileCacheSize=T.maxTileCacheSize,this._maxTileCacheZoomLevels=T.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=T.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=T.preserveDrawingBuffer,this._antialias=T.antialias,this._trackResize=T.trackResize,this._bearingSnap=T.bearingSnap,this._refreshExpiredTiles=T.refreshExpiredTiles,this._fadeDuration=T.fadeDuration,this._crossSourceCollisions=T.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=T.collectResourceTiming,this._renderTaskQueue=new sA,this._controls=[],this._mapId=n.a2(),this._locale=n.e({},d0,T.locale),this._clickTolerance=T.clickTolerance,this._overridePixelRatio=T.pixelRatio,this._maxCanvasSize=T.maxCanvasSize,this.transformCameraUpdate=T.transformCameraUpdate,this._imageQueueHandle=j.addThrottleControl(()=>this.isMoving()),this._requestManager=new et(T.transformRequest),typeof T.container==\"string\"){if(this._container=document.getElementById(T.container),!this._container)throw new Error(`Container '${T.container}' not found.`)}else{if(!(T.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=T.container}if(T.maxBounds&&this.setMaxBounds(T.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)),this.on(\"moveend\",()=>this._update(!1)),this.on(\"zoom\",()=>this._update(!0)),this.on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let l=!1,d=lh(v=>{this._trackResize&&!this._removed&&this.resize(v)._update()},50);this._resizeObserver=new ResizeObserver(v=>{l?d(v):l=!0}),this._resizeObserver.observe(this._container)}this.handlers=new f0(this,T),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=T.hash&&new Ld(typeof T.hash==\"string\"&&T.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:T.center,zoom:T.zoom,bearing:T.bearing,pitch:T.pitch}),T.bounds&&(this.resize(),this.fitBounds(T.bounds,n.e({},T.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=T.localIdeographFontFamily,this._validateStyle=T.validateStyle,T.style&&this.setStyle(T.style,{localIdeographFontFamily:T.localIdeographFontFamily}),T.attributionControl&&this.addControl(new ua({customAttribution:T.customAttribution})),T.maplibreLogo&&this.addControl(new un,T.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",l=>{this._update(l.dataType===\"style\"),this.fire(new n.k(`${l.dataType}data`,l))}),this.on(\"dataloading\",l=>{this.fire(new n.k(`${l.dataType}dataloading`,l))}),this.on(\"dataabort\",l=>{this.fire(new n.k(\"sourcedataabort\",l))})}_getMapId(){return this._mapId}addControl(T,l){if(l===void 0&&(l=T.getDefaultPosition?T.getDefaultPosition():\"top-right\"),!T||!T.onAdd)return this.fire(new n.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let d=T.onAdd(this);this._controls.push(T);let v=this._controlPositions[l];return l.indexOf(\"bottom\")!==-1?v.insertBefore(d,v.firstChild):v.appendChild(d),this}removeControl(T){if(!T||!T.onRemove)return this.fire(new n.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let l=this._controls.indexOf(T);return l>-1&&this._controls.splice(l,1),T.onRemove(this),this}hasControl(T){return this._controls.indexOf(T)>-1}calculateCameraOptionsFromTo(T,l,d,v){return v==null&&this.terrain&&(v=this.terrain.getElevationForLngLatZoom(d,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(T,l,d,v)}resize(T){var l;let d=this._containerDimensions(),v=d[0],b=d[1],M=this._getClampedPixelRatio(v,b);if(this._resizeCanvas(v,b,M),this.painter.resize(v,b,M),this.painter.overLimit()){let B=this.painter.context.gl;this._maxCanvasSize=[B.drawingBufferWidth,B.drawingBufferHeight];let U=this._getClampedPixelRatio(v,b);this._resizeCanvas(v,b,U),this.painter.resize(v,b,U)}this.transform.resize(v,b),(l=this._requestedCameraState)===null||l===void 0||l.resize(v,b);let O=!this._moving;return O&&(this.stop(),this.fire(new n.k(\"movestart\",T)).fire(new n.k(\"move\",T))),this.fire(new n.k(\"resize\",T)),O&&this.fire(new n.k(\"moveend\",T)),this}_getClampedPixelRatio(T,l){let{0:d,1:v}=this._maxCanvasSize,b=this.getPixelRatio(),M=T*b,O=l*b;return Math.min(M>d?d/M:1,O>v?v/O:1)*b}getPixelRatio(){var T;return(T=this._overridePixelRatio)!==null&&T!==void 0?T:devicePixelRatio}setPixelRatio(T){this._overridePixelRatio=T,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(T){return this.transform.setMaxBounds(Si.convert(T)),this._update()}setMinZoom(T){if((T=T??-2)>=-2&&T<=this.transform.maxZoom)return this.transform.minZoom=T,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=T,this._update(),this.getZoom()>T&&this.setZoom(T),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(T){if((T=T??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T>=0&&T<=this.transform.maxPitch)return this.transform.minPitch=T,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(T>=this.transform.minPitch)return this.transform.maxPitch=T,this._update(),this.getPitch()>T&&this.setPitch(T),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(T){return this.transform.renderWorldCopies=T,this._update()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(T){return this._cooperativeGestures=T,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(T){return this.transform.locationPoint(n.L.convert(T),this.style&&this.terrain)}unproject(T){return this.transform.pointLocation(n.P.convert(T),this.terrain)}isMoving(){var T;return this._moving||((T=this.handlers)===null||T===void 0?void 0:T.isMoving())}isZooming(){var T;return this._zooming||((T=this.handlers)===null||T===void 0?void 0:T.isZooming())}isRotating(){var T;return this._rotating||((T=this.handlers)===null||T===void 0?void 0:T.isRotating())}_createDelegatedListener(T,l,d){if(T===\"mouseenter\"||T===\"mouseover\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:M=>{let O=this.getLayer(l)?this.queryRenderedFeatures(M.point,{layers:[l]}):[];O.length?v||(v=!0,d.call(this,new la(T,this,M.originalEvent,{features:O}))):v=!1},mouseout:()=>{v=!1}}}}if(T===\"mouseleave\"||T===\"mouseout\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:O=>{(this.getLayer(l)?this.queryRenderedFeatures(O.point,{layers:[l]}):[]).length?v=!0:v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))},mouseout:O=>{v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))}}}}{let v=b=>{let M=this.getLayer(l)?this.queryRenderedFeatures(b.point,{layers:[l]}):[];M.length&&(b.features=M,d.call(this,b),delete b.features)};return{layer:l,listener:d,delegates:{[T]:v}}}}on(T,l,d){if(d===void 0)return super.on(T,l);let v=this._createDelegatedListener(T,l,d);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[T]=this._delegatedListeners[T]||[],this._delegatedListeners[T].push(v);for(let b in v.delegates)this.on(b,v.delegates[b]);return this}once(T,l,d){if(d===void 0)return super.once(T,l);let v=this._createDelegatedListener(T,l,d);for(let b in v.delegates)this.once(b,v.delegates[b]);return this}off(T,l,d){return d===void 0?super.off(T,l):(this._delegatedListeners&&this._delegatedListeners[T]&&(v=>{let b=this._delegatedListeners[T];for(let M=0;Mthis._updateStyle(T,l));let d=this.style&&l.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!T)),T?(this.style=new Gn(this,l||{}),this.style.setEventedParent(this,{style:this.style}),typeof T==\"string\"?this.style.loadURL(T,l,d):this.style.loadJSON(T,l,d),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Gn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(T,l){if(typeof T==\"string\"){let d=this._requestManager.transformRequest(T,Q.Style);n.f(d,(v,b)=>{v?this.fire(new n.j(v)):b&&this._updateDiff(b,l)})}else typeof T==\"object\"&&this._updateDiff(T,l)}_updateDiff(T,l){try{this.style.setState(T,l)&&this._update(!0)}catch(d){n.w(`Unable to perform style diff: ${d.message||d.error||d}. Rebuilding the style from scratch.`),this._updateStyle(T,l)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():n.w(\"There is no style added to the map.\")}addSource(T,l){return this._lazyInitEmptyStyle(),this.style.addSource(T,l),this._update(!0)}isSourceLoaded(T){let l=this.style&&this.style.sourceCaches[T];if(l!==void 0)return l.loaded();this.fire(new n.j(new Error(`There is no source with ID '${T}'`)))}setTerrain(T){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),T){let l=this.style.sourceCaches[T.source];if(!l)throw new Error(`cannot load terrain, because there exists no source with ID: ${T.source}`);for(let d in this.style._layers){let v=this.style._layers[d];v.type===\"hillshade\"&&v.source===T.source&&n.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new b_(this.painter,l,T),this.painter.renderToTexture=new oA(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=d=>{d.dataType===\"style\"?this.terrain.sourceCache.freeRtt():d.dataType===\"source\"&&d.tile&&(d.sourceId!==T.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(d.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new n.k(\"terrain\",{terrain:T})),this}getTerrain(){var T,l;return(l=(T=this.terrain)===null||T===void 0?void 0:T.options)!==null&&l!==void 0?l:null}areTilesLoaded(){let T=this.style&&this.style.sourceCaches;for(let l in T){let d=T[l]._tiles;for(let v in d){let b=d[v];if(b.state!==\"loaded\"&&b.state!==\"errored\")return!1}}return!0}addSourceType(T,l,d){return this._lazyInitEmptyStyle(),this.style.addSourceType(T,l,d)}removeSource(T){return this.style.removeSource(T),this._update(!0)}getSource(T){return this.style.getSource(T)}addImage(T,l,d={}){let{pixelRatio:v=1,sdf:b=!1,stretchX:M,stretchY:O,content:B}=d;if(this._lazyInitEmptyStyle(),!(l instanceof HTMLImageElement||n.a(l))){if(l.width===void 0||l.height===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:U,height:W,data:Z}=l,$=l;return this.style.addImage(T,{data:new n.R({width:U,height:W},new Uint8Array(Z)),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0,userImage:$}),$.onAdd&&$.onAdd(this,T),this}}{let{width:U,height:W,data:Z}=n.h.getImageData(l);this.style.addImage(T,{data:new n.R({width:U,height:W},Z),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0})}}updateImage(T,l){let d=this.style.getImage(T);if(!d)return this.fire(new n.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let v=l instanceof HTMLImageElement||n.a(l)?n.h.getImageData(l):l,{width:b,height:M,data:O}=v;if(b===void 0||M===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(b!==d.data.width||M!==d.data.height)return this.fire(new n.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let B=!(l instanceof HTMLImageElement||n.a(l));return d.data.replace(O,B),this.style.updateImage(T,d),this}getImage(T){return this.style.getImage(T)}hasImage(T){return T?!!this.style.getImage(T):(this.fire(new n.j(new Error(\"Missing required image id\"))),!1)}removeImage(T){this.style.removeImage(T)}loadImage(T,l){j.getImage(this._requestManager.transformRequest(T,Q.Image),l)}listImages(){return this.style.listImages()}addLayer(T,l){return this._lazyInitEmptyStyle(),this.style.addLayer(T,l),this._update(!0)}moveLayer(T,l){return this.style.moveLayer(T,l),this._update(!0)}removeLayer(T){return this.style.removeLayer(T),this._update(!0)}getLayer(T){return this.style.getLayer(T)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(T,l,d){return this.style.setLayerZoomRange(T,l,d),this._update(!0)}setFilter(T,l,d={}){return this.style.setFilter(T,l,d),this._update(!0)}getFilter(T){return this.style.getFilter(T)}setPaintProperty(T,l,d,v={}){return this.style.setPaintProperty(T,l,d,v),this._update(!0)}getPaintProperty(T,l){return this.style.getPaintProperty(T,l)}setLayoutProperty(T,l,d,v={}){return this.style.setLayoutProperty(T,l,d,v),this._update(!0)}getLayoutProperty(T,l){return this.style.getLayoutProperty(T,l)}setGlyphs(T,l={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(T,l),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(T,l,d={}){return this._lazyInitEmptyStyle(),this.style.addSprite(T,l,d,v=>{v||this._update(!0)}),this}removeSprite(T){return this._lazyInitEmptyStyle(),this.style.removeSprite(T),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(T,l={}){return this._lazyInitEmptyStyle(),this.style.setSprite(T,l,d=>{d||this._update(!0)}),this}setLight(T,l={}){return this._lazyInitEmptyStyle(),this.style.setLight(T,l),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(T,l){return this.style.setFeatureState(T,l),this._update()}removeFeatureState(T,l){return this.style.removeFeatureState(T,l),this._update()}getFeatureState(T){return this.style.getFeatureState(T)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let T=0,l=0;return this._container&&(T=this._container.clientWidth||400,l=this._container.clientHeight||300),[T,l]}_setupContainer(){let T=this._container;T.classList.add(\"maplibregl-map\");let l=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",T);this._interactive&&l.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",l),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");let d=this._containerDimensions(),v=this._getClampedPixelRatio(d[0],d[1]);this._resizeCanvas(d[0],d[1],v);let b=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",T),M=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(O=>{M[O]=c.create(\"div\",`maplibregl-ctrl-${O} `,b)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",this._container);let T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";navigator.platform.indexOf(\"Mac\")===0&&(T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use \\u2318 + scroll to zoom the map\"),this._cooperativeGesturesScreen.innerHTML=`\n
${T}
\n
${typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\n `,this._cooperativeGesturesScreen.setAttribute(\"aria-hidden\",\"true\"),this._canvasContainer.addEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add(\"maplibregl-cooperative-gestures\")}_destroyCooperativeGestures(){c.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove(\"maplibregl-cooperative-gestures\")}_resizeCanvas(T,l,d){this._canvas.width=Math.floor(d*T),this._canvas.height=Math.floor(d*l),this._canvas.style.width=`${T}px`,this._canvas.style.height=`${l}px`}_setupPainter(){let T={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},l=null;this._canvas.addEventListener(\"webglcontextcreationerror\",v=>{l={requestedAttributes:T},v&&(l.statusMessage=v.statusMessage,l.type=v.type)},{once:!0});let d=this._canvas.getContext(\"webgl2\",T)||this._canvas.getContext(\"webgl\",T);if(!d){let v=\"Failed to initialize WebGL\";throw l?(l.message=v,new Error(JSON.stringify(l))):new Error(v)}this.painter=new ah(d,this.transform),f.testSupport(d)}_onCooperativeGesture(T,l,d){return!l&&d<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\")},100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(T){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||T,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(T){return this._update(),this._renderTaskQueue.add(T)}_cancelRenderFrame(T){this._renderTaskQueue.remove(T)}_render(T){let l=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(T),this._removed)return;let d=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let b=this.transform.zoom,M=n.h.now();this.style.zoomHistory.update(b,M);let O=new n.a8(b,{now:M,fadeDuration:l,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),B=O.crossFadingFactor();B===1&&B===this._crossFadingFactor||(d=!0,this._crossFadingFactor=B),this.style.update(O)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,l,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:l,showPadding:this.showPadding}),this.fire(new n.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,n.bg.mark(n.bh.load),this.fire(new n.k(\"load\"))),this.style&&(this.style.hasTransitions()||d)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let v=this._sourcesDirty||this._styleDirty||this._placementDirty;return v||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.k(\"idle\")),!this._loaded||this._fullyLoaded||v||(this._fullyLoaded=!0,n.bg.mark(n.bh.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var T;this._hash&&this._hash.remove();for(let d of this._controls)d.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),j.removeThrottleControl(this._imageQueueHandle),(T=this._resizeObserver)===null||T===void 0||T.disconnect();let l=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");l&&l.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove(\"maplibregl-map\"),n.bg.clearMetrics(),this._removed=!0,this.fire(new n.k(\"remove\"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=n.h.frame(T=>{n.bg.frame(T),this._frame=null,this._render(T)}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(T){this._showTileBoundaries!==T&&(this._showTileBoundaries=T,this._update())}get showPadding(){return!!this._showPadding}set showPadding(T){this._showPadding!==T&&(this._showPadding=T,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(T){this._showCollisionBoxes!==T&&(this._showCollisionBoxes=T,T?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(T){this._showOverdrawInspector!==T&&(this._showOverdrawInspector=T,this._update())}get repaint(){return!!this._repaint}set repaint(T){this._repaint!==T&&(this._repaint=T,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(T){this._vertices=T,this._update()}get version(){return nr}getCameraTargetElevation(){return this.transform.elevation}},bi.NavigationControl=class{constructor(T){this._updateZoomButtons=()=>{let l=this._map.getZoom(),d=l===this._map.getMaxZoom(),v=l===this._map.getMinZoom();this._zoomInButton.disabled=d,this._zoomOutButton.disabled=v,this._zoomInButton.setAttribute(\"aria-disabled\",d.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",v.toString())},this._rotateCompassArrow=()=>{let l=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=l},this._setButtonTitle=(l,d)=>{let v=this._map._getUIString(`NavigationControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)},this.options=n.e({},aA,T),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",l=>l.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",l=>this._map.zoomIn({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",l=>this._map.zoomOut({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",l=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:l}):this._map.resetNorth({},{originalEvent:l})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(T){return this._map=T,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Bd(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(T,l){let d=c.create(\"button\",T,this._container);return d.type=\"button\",d.addEventListener(\"click\",l),d}},bi.GeolocateControl=class extends n.E{constructor(T){super(),this._onSuccess=l=>{if(this._map){if(this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new n.k(\"outofmaxbounds\",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(l),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(l),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"geolocate\",l)),this._finish()}},this._updateCamera=l=>{let d=new n.L(l.coords.longitude,l.coords.latitude),v=l.coords.accuracy,b=this._map.getBearing(),M=n.e({bearing:b},this.options.fitBoundsOptions),O=Si.fromLngLat(d,v);this._map.fitBounds(O,M,{geolocateSource:!0})},this._updateMarker=l=>{if(l){let d=new n.L(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(d).addTo(this._map),this._userLocationDotMarker.setLngLat(d).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=l=>{if(this._map){if(this.options.trackUserLocation)if(l.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&Sf)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"error\",l)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=l=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",d=>d.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",l===!1){n.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}else{let d=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new mh({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new mh({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",d=>{d.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||d.originalEvent&&d.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new n.k(\"trackuserlocationend\")))})}},this.options=n.e({},kn,T)}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(l,d=!1){Hn===void 0||d?window.navigator.permissions!==void 0?window.navigator.permissions.query({name:\"geolocation\"}).then(v=>{Hn=v.state!==\"denied\",l(Hn)}).catch(()=>{Hn=!!window.navigator.geolocation,l(Hn)}):(Hn=!!window.navigator.geolocation,l(Hn)):l(Hn)}(this._setupUI),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,wn=0,Sf=!1}_isOutOfMapMaxBounds(T){let l=this._map.getMaxBounds(),d=T.coords;return l&&(d.longitudel.getEast()||d.latitudel.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let T=this._map.getBounds(),l=T.getSouthEast(),d=T.getNorthEast(),v=l.distanceTo(d),b=Math.ceil(this._accuracy/(v/this._map._container.clientHeight)*2);this._circleElement.style.width=`${b}px`,this._circleElement.style.height=`${b}px`}trigger(){if(!this._setup)return n.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new n.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":wn--,Sf=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new n.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new n.k(\"trackuserlocationstart\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let T;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),wn++,wn>1?(T={maximumAge:6e5,timeout:0},Sf=!0):(T=this.options.positionOptions,Sf=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,T)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},bi.AttributionControl=ua,bi.LogoControl=un,bi.ScaleControl=class{constructor(T){this._onMove=()=>{gh(this._map,this._container,this.options)},this.setUnit=l=>{this.options.unit=l,gh(this._map,this._container,this.options)},this.options=n.e({},Es,T)}getDefaultPosition(){return\"bottom-left\"}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",T.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},bi.FullscreenControl=class extends n.E{constructor(T={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,T&&T.container&&(T.container instanceof HTMLElement?this._container=T.container:n.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(T){return this._map=T,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let T=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",T).setAttribute(\"aria-hidden\",\"true\"),T.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let T=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",T),this._fullscreenButton.title=T}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new n.k(\"fullscreenstart\")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new n.k(\"fullscreenend\")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},bi.TerrainControl=class{constructor(T){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"))},this.options=T}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},bi.Popup=class extends n.E{constructor(T){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new n.k(\"close\")),this),this._onMouseUp=l=>{this._update(l.point)},this._onMouseMove=l=>{this._update(l.point)},this._onDrag=l=>{this._update(l.point)},this._update=l=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let O of this.options.className.split(\" \"))this._container.classList.add(O);this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!l)return;let d=this._pos=this._trackPointer&&l?l:this._map.project(this._lngLat),v=this.options.anchor,b=Tf(this.options.offset);if(!v){let O=this._container.offsetWidth,B=this._container.offsetHeight,U;U=d.y+b.bottom.ythis._map.transform.height-B?[\"bottom\"]:[],d.xthis._map.transform.width-O/2&&U.push(\"right\"),v=U.length===0?\"bottom\":U.join(\"-\")}let M=d.add(b[v]).round();c.setTransform(this._container,`${ji[v]} translate(${M.x}px,${M.y}px)`),w_(this._container,v,\"popup\")},this._onClose=()=>{this.remove()},this.options=n.e(Object.create(p0),T)}addTo(T){return this._map&&this.remove(),this._map=T,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new n.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(T){return this._lngLat=n.L.convert(T),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(T){return this.setDOMContent(document.createTextNode(T))}setHTML(T){let l=document.createDocumentFragment(),d=document.createElement(\"body\"),v;for(d.innerHTML=T;v=d.firstChild,v;)l.appendChild(v);return this.setDOMContent(l)}getMaxWidth(){var T;return(T=this._container)===null||T===void 0?void 0:T.style.maxWidth}setMaxWidth(T){return this.options.maxWidth=T,this._update(),this}setDOMContent(T){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(T),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(T){this._container&&this._container.classList.add(T)}removeClassName(T){this._container&&this._container.classList.remove(T)}setOffset(T){return this.options.offset=T,this._update(),this}toggleClassName(T){if(this._container)return this._container.classList.toggle(T)}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let T=this._container.querySelector(Fd);T&&T.focus()}},bi.Marker=mh,bi.Style=Gn,bi.LngLat=n.L,bi.LngLatBounds=Si,bi.Point=n.P,bi.MercatorCoordinate=n.U,bi.Evented=n.E,bi.AJAXError=n.bi,bi.config=n.c,bi.CanvasSource=Vo,bi.GeoJSONSource=Xi,bi.ImageSource=ki,bi.RasterDEMTileSource=Rc,bi.RasterTileSource=kc,bi.VectorTileSource=ll,bi.VideoSource=ts,bi.setRTLTextPlugin=n.bj,bi.getRTLTextPluginStatus=n.bk,bi.prewarm=function(){bo().acquire(oi)},bi.clearPrewarmedResources=function(){let T=ul;T&&(T.isPreloaded()&&T.numActive()===1?(T.release(oi),ul=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},Ho.extend(bi,{isSafari:n.ac,getPerformanceMetrics:n.bg.getPerformanceMetrics}),bi});var s=r;return s})});var TG=Br((p6t,oP)=>{(function(e,t,r,i){\"use strict\";var s=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],n=t.createElement(\"div\"),o=\"function\",c=Math.round,f=Math.abs,_=Date.now;function w(lt,ft,Lt){return setTimeout(K(lt,Lt),ft)}function I(lt,ft,Lt){return Array.isArray(lt)?(R(lt,Lt[ft],Lt),!0):!1}function R(lt,ft,Lt){var Kt;if(lt)if(lt.forEach)lt.forEach(ft,Lt);else if(lt.length!==i)for(Kt=0;Kt\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",ti=e.console&&(e.console.warn||e.console.log);return ti&&ti.call(e.console,Kt,Qe),lt.apply(this,arguments)}}var j;typeof Object.assign!=\"function\"?j=function(ft){if(ft===i||ft===null)throw new TypeError(\"Cannot convert undefined or null to object\");for(var Lt=Object(ft),Kt=1;Kt-1}function le(lt){return lt.trim().split(/\\s+/g)}function ue(lt,ft,Lt){if(lt.indexOf&&!Lt)return lt.indexOf(ft);for(var Kt=0;KtVs[ft]}):Kt=Kt.sort()),Kt}function rr(lt,ft){for(var Lt,Kt,ge=ft[0].toUpperCase()+ft.slice(1),Qe=0;Qe1&&!Lt.firstMultiple?Lt.firstMultiple=bo(ft):ge===1&&(Lt.firstMultiple=!1);var Qe=Lt.firstInput,ti=Lt.firstMultiple,is=ti?ti.center:Qe.center,Ts=ft.center=hl(Kt);ft.timeStamp=_(),ft.deltaTime=ft.timeStamp-Qe.timeStamp,ft.angle=jo(is,Ts),ft.distance=ve(is,Ts),du(Lt,ft),ft.offsetDirection=wo(ft.deltaX,ft.deltaY);var Vs=Ia(ft.deltaTime,ft.deltaX,ft.deltaY);ft.overallVelocityX=Vs.x,ft.overallVelocityY=Vs.y,ft.overallVelocity=f(Vs.x)>f(Vs.y)?Vs.x:Vs.y,ft.scale=ti?Ul(ti.pointers,Kt):1,ft.rotation=ti?gn(ti.pointers,Kt):0,ft.maxPointers=Lt.prevInput?ft.pointers.length>Lt.prevInput.maxPointers?ft.pointers.length:Lt.prevInput.maxPointers:ft.pointers.length,ul(Lt,ft);var Ra=lt.element;Xt(ft.srcEvent.target,Ra)&&(Ra=ft.srcEvent.target),ft.target=Ra}function du(lt,ft){var Lt=ft.center,Kt=lt.offsetDelta||{},ge=lt.prevDelta||{},Qe=lt.prevInput||{};(ft.eventType===Xi||Qe.eventType===ki)&&(ge=lt.prevDelta={x:Qe.deltaX||0,y:Qe.deltaY||0},Kt=lt.offsetDelta={x:Lt.x,y:Lt.y}),ft.deltaX=ge.x+(Lt.x-Kt.x),ft.deltaY=ge.y+(Lt.y-Kt.y)}function ul(lt,ft){var Lt=lt.lastInterval||ft,Kt=ft.timeStamp-Lt.timeStamp,ge,Qe,ti,is;if(ft.eventType!=ts&&(Kt>Rc||Lt.velocity===i)){var Ts=ft.deltaX-Lt.deltaX,Vs=ft.deltaY-Lt.deltaY,Ra=Ia(Kt,Ts,Vs);Qe=Ra.x,ti=Ra.y,ge=f(Ra.x)>f(Ra.y)?Ra.x:Ra.y,is=wo(Ts,Vs),lt.lastInterval=ft}else ge=Lt.velocity,Qe=Lt.velocityX,ti=Lt.velocityY,is=Lt.direction;ft.velocity=ge,ft.velocityX=Qe,ft.velocityY=ti,ft.direction=is}function bo(lt){for(var ft=[],Lt=0;Lt=f(ft)?lt<0?cl:xo:ft<0?Pa:na}function ve(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.sqrt(Kt*Kt+ge*ge)}function jo(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.atan2(ge,Kt)*180/Math.PI}function gn(lt,ft){return jo(ft[1],ft[0],ls)+jo(lt[1],lt[0],ls)}function Ul(lt,ft){return ve(ft[0],ft[1],ls)/ve(lt[0],lt[1],ls)}var Ca={mousedown:Xi,mousemove:Jn,mouseup:ki},Te=\"mousedown\",Dr=\"mousemove mouseup\";function gr(){this.evEl=Te,this.evWin=Dr,this.pressed=!1,mn.apply(this,arguments)}Y(gr,mn,{handler:function(ft){var Lt=Ca[ft.type];Lt&Xi&&ft.button===0&&(this.pressed=!0),Lt&Jn&&ft.which!==1&&(Lt=ki),this.pressed&&(Lt&ki&&(this.pressed=!1),this.callback(this.manager,Lt,{pointers:[ft],changedPointers:[ft],pointerType:ll,srcEvent:ft}))}});var Us={pointerdown:Xi,pointermove:Jn,pointerup:ki,pointercancel:ts,pointerout:ts},La={2:Si,3:Ns,4:ll,5:kc},Mr=\"pointerdown\",sa=\"pointermove pointerup pointercancel\";e.MSPointerEvent&&!e.PointerEvent&&(Mr=\"MSPointerDown\",sa=\"MSPointerMove MSPointerUp MSPointerCancel\");function gt(){this.evEl=Mr,this.evWin=sa,mn.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}Y(gt,mn,{handler:function(ft){var Lt=this.store,Kt=!1,ge=ft.type.toLowerCase().replace(\"ms\",\"\"),Qe=Us[ge],ti=La[ft.pointerType]||ft.pointerType,is=ti==Si,Ts=ue(Lt,ft.pointerId,\"pointerId\");Qe&Xi&&(ft.button===0||is)?Ts<0&&(Lt.push(ft),Ts=Lt.length-1):Qe&(ki|ts)&&(Kt=!0),!(Ts<0)&&(Lt[Ts]=ft,this.callback(this.manager,Qe,{pointers:Lt,changedPointers:[ft],pointerType:ti,srcEvent:ft}),Kt&&Lt.splice(Ts,1))}});var tt={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},nt=\"touchstart\",ht=\"touchstart touchmove touchend touchcancel\";function vt(){this.evTarget=nt,this.evWin=ht,this.started=!1,mn.apply(this,arguments)}Y(vt,mn,{handler:function(ft){var Lt=tt[ft.type];if(Lt===Xi&&(this.started=!0),!!this.started){var Kt=xt.call(this,ft,Lt);Lt&(ki|ts)&&Kt[0].length-Kt[1].length===0&&(this.started=!1),this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}}});function xt(lt,ft){var Lt=De(lt.touches),Kt=De(lt.changedTouches);return ft&(ki|ts)&&(Lt=Ke(Lt.concat(Kt),\"identifier\",!0)),[Lt,Kt]}var _t={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},Dt=\"touchstart touchmove touchend touchcancel\";function Mt(){this.evTarget=Dt,this.targetIds={},mn.apply(this,arguments)}Y(Mt,mn,{handler:function(ft){var Lt=_t[ft.type],Kt=Vt.call(this,ft,Lt);Kt&&this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}});function Vt(lt,ft){var Lt=De(lt.touches),Kt=this.targetIds;if(ft&(Xi|Jn)&&Lt.length===1)return Kt[Lt[0].identifier]=!0,[Lt,Lt];var ge,Qe,ti=De(lt.changedTouches),is=[],Ts=this.target;if(Qe=Lt.filter(function(Vs){return Xt(Vs.target,Ts)}),ft===Xi)for(ge=0;ge-1&&Kt.splice(Qe,1)};setTimeout(ge,ie)}}function Xe(lt){for(var ft=lt.srcEvent.clientX,Lt=lt.srcEvent.clientY,Kt=0;Kt-1&&this.requireFail.splice(ft,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(lt){return!!this.simultaneous[lt.id]},emit:function(lt){var ft=this,Lt=this.state;function Kt(ge){ft.manager.emit(ge,lt)}Lt=ai&&Kt(ft.options.event+Vm(Lt))},tryEmit:function(lt){if(this.canEmit())return this.emit(lt);this.state=ln},canEmit:function(){for(var lt=0;ltft.threshold&&ge&ft.direction},attrTest:function(lt){return So.prototype.attrTest.call(this,lt)&&(this.state&Ss||!(this.state&Ss)&&this.directionTest(lt))},emit:function(lt){this.pX=lt.deltaX,this.pY=lt.deltaY;var ft=Go(lt.direction);ft&&(lt.additionalEvent=this.options.event+ft),this._super.emit.call(this,lt)}});function Ki(){So.apply(this,arguments)}Y(Ki,So,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.scale-1)>this.options.threshold||this.state&Ss)},emit:function(lt){if(lt.scale!==1){var ft=lt.scale<1?\"in\":\"out\";lt.additionalEvent=this.options.event+ft}this._super.emit.call(this,lt)}});function _i(){Dn.apply(this,arguments),this._timer=null,this._input=null}Y(_i,Dn,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[zi]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distanceft.time;if(this._input=lt,!Kt||!Lt||lt.eventType&(ki|ts)&&!ge)this.reset();else if(lt.eventType&Xi)this.reset(),this._timer=w(function(){this.state=ka,this.tryEmit()},ft.time,this);else if(lt.eventType&ki)return ka;return ln},reset:function(){clearTimeout(this._timer)},emit:function(lt){this.state===ka&&(lt&<.eventType&ki?this.manager.emit(this.options.event+\"up\",lt):(this._input.timeStamp=_(),this.manager.emit(this.options.event,this._input)))}});function Gl(){So.apply(this,arguments)}Y(Gl,So,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.rotation)>this.options.threshold||this.state&Ss)}});function cn(){So.apply(this,arguments)}Y(cn,So,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:as|ao,pointers:1},getTouchAction:function(){return jl.prototype.getTouchAction.call(this)},attrTest:function(lt){var ft=this.options.direction,Lt;return ft&(as|ao)?Lt=lt.overallVelocity:ft&as?Lt=lt.overallVelocityX:ft&ao&&(Lt=lt.overallVelocityY),this._super.attrTest.call(this,lt)&&ft<.offsetDirection&<.distance>this.options.threshold&<.maxPointers==this.options.pointers&&f(Lt)>this.options.velocity&<.eventType&ki},emit:function(lt){var ft=Go(lt.offsetDirection);ft&&this.manager.emit(this.options.event+ft,lt),this.manager.emit(this.options.event,lt)}});function pu(){Dn.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}Y(pu,Dn,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ni]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distance{\"use strict\";hB.exports=U3;hB.exports.default=U3;function U3(e,t,r){r=r||2;var i=t&&t.length,s=i?t[0]*r:e.length,n=Lq(e,0,s,r,!0),o=[];if(!n||n.next===n.prev)return o;var c,f,_,w,I,R,N;if(i&&(n=wpt(e,t,n,r)),e.length>80*r){c=_=e[0],f=w=e[1];for(var j=r;j_&&(_=I),R>w&&(w=R);N=Math.max(_-c,w-f),N=N!==0?32767/N:0}return X2(n,o,r,c,f,N,0),o}function Lq(e,t,r,i,s){var n,o;if(s===uB(e,t,r,i)>0)for(n=t;n=t;n-=i)o=Cq(n,e[n],e[n+1],o);return o&&V3(o,o.next)&&(J2(o),o=o.next),o}function jg(e,t){if(!e)return e;t||(t=e);var r=e,i;do if(i=!1,!r.steiner&&(V3(r,r.next)||_s(r.prev,r,r.next)===0)){if(J2(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function X2(e,t,r,i,s,n,o){if(e){!o&&n&&Ppt(e,i,s,n);for(var c=e,f,_;e.prev!==e.next;){if(f=e.prev,_=e.next,n?vpt(e,i,s,n):ypt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),J2(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=xpt(jg(e),t,r),X2(e,t,r,i,s,n,2)):o===2&&bpt(e,t,r,i,s,n):X2(jg(e),t,r,i,s,n,1);break}}}}function ypt(e){var t=e.prev,r=e,i=e.next;if(_s(t,r,i)>=0)return!1;for(var s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&Jv(s,c,n,f,o,_,j.x,j.y)&&_s(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function vpt(e,t,r,i){var s=e.prev,n=e,o=e.next;if(_s(s,n,o)>=0)return!1;for(var c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=lB(N,j,t,r,i),K=lB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function xpt(e,t,r){var i=e;do{var s=i.prev,n=i.next.next;!V3(s,n)&&kq(s,i,i.next,n)&&K2(s,n)&&K2(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),J2(i),J2(i.next),i=e=n),i=i.next}while(i!==e);return jg(i)}function bpt(e,t,r,i,s,n){var o=e;do{for(var c=o.next.next;c!==o.prev;){if(o.i!==c.i&&Lpt(o,c)){var f=Rq(o,c);o=jg(o,o.next),f=jg(f,f.next),X2(o,t,r,i,s,n,0),X2(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function wpt(e,t,r,i){var s=[],n,o,c,f,_;for(n=0,o=t.length;n=r.next.y&&r.next.y!==r.y){var c=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(c<=i&&c>n&&(n=c,o=r.x=r.x&&r.x>=_&&i!==r.x&&Jv(so.x||r.x===o.x&&Ept(o,r)))&&(o=r,I=R)),r=r.next;while(r!==f);return o}function Ept(e,t){return _s(e.prev,e,t.prev)<0&&_s(t.next,e,e.next)<0}function Ppt(e,t,r,i){var s=e;do s.z===0&&(s.z=lB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,Ipt(s)}function Ipt(e){var t,r,i,s,n,o,c,f,_=1;do{for(r=e,e=null,n=null,o=0;r;){for(o++,i=r,c=0,t=0;t<_&&(c++,i=i.nextZ,!!i);t++);for(f=_;c>0||f>0&&i;)c!==0&&(f===0||!i||r.z<=i.z)?(s=r,r=r.nextZ,c--):(s=i,i=i.nextZ,f--),n?n.nextZ=s:e=s,s.prevZ=n,n=s;r=i}n.nextZ=null,_*=2}while(o>1);return e}function lB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Cpt(e){var t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function Lpt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!kpt(e,t)&&(K2(e,t)&&K2(t,e)&&Rpt(e,t)&&(_s(e.prev,e,t.prev)||_s(e,t.prev,t))||V3(e,t)&&_s(e.prev,e,e.next)>0&&_s(t.prev,t,t.next)>0)}function _s(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function V3(e,t){return e.x===t.x&&e.y===t.y}function kq(e,t,r,i){var s=N3(_s(e,t,r)),n=N3(_s(e,t,i)),o=N3(_s(r,i,e)),c=N3(_s(r,i,t));return!!(s!==n&&o!==c||s===0&&z3(e,r,t)||n===0&&z3(e,i,t)||o===0&&z3(r,e,i)||c===0&&z3(r,t,i))}function z3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function N3(e){return e>0?1:e<0?-1:0}function kpt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&kq(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function K2(e,t){return _s(e.prev,e,e.next)<0?_s(e,t,e.next)>=0&&_s(e,e.prev,t)>=0:_s(e,t,e.prev)<0||_s(e,e.next,t)<0}function Rpt(e,t){var r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function Rq(e,t){var r=new cB(e.i,e.x,e.y),i=new cB(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function Cq(e,t,r,i){var s=new cB(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function J2(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function cB(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}U3.deviation=function(e,t,r,i){var s=t&&t.length,n=s?t[0]*r:e.length,o=Math.abs(uB(e,0,n,r));if(s)for(var c=0,f=t.length;c0&&(i+=e[s-1].length,r.holes.push(i))}return r}});var nF=Br(Tx=>{\"use strict\";Object.defineProperty(Tx,\"__esModule\",{value:!0});Tx.DefaultSerializer=Tx.extendSerializer=void 0;function Hyt(e,t){let r=e.deserialize.bind(e),i=e.serialize.bind(e);return{deserialize(s){return t.deserialize(s,r)},serialize(s){return t.serialize(s,i)}}}Tx.extendSerializer=Hyt;var w$={deserialize(e){return Object.assign(Error(e.message),{name:e.name,stack:e.stack})},serialize(e){return{__error_marker:\"$$error\",message:e.message,name:e.name,stack:e.stack}}},qyt=e=>e&&typeof e==\"object\"&&\"__error_marker\"in e&&e.__error_marker===\"$$error\";Tx.DefaultSerializer={deserialize(e){return qyt(e)?w$.deserialize(e):e},serialize(e){return e instanceof Error?w$.serialize(e):e}}});var Mx=Br(km=>{\"use strict\";Object.defineProperty(km,\"__esModule\",{value:!0});km.serialize=km.deserialize=km.registerSerializer=void 0;var S$=nF(),zI=S$.DefaultSerializer;function Zyt(e){zI=S$.extendSerializer(zI,e)}km.registerSerializer=Zyt;function Yyt(e){return zI.deserialize(e)}km.deserialize=Yyt;function Qyt(e){return zI.serialize(e)}km.serialize=Qyt});var M$=Br(Ex=>{\"use strict\";Object.defineProperty(Ex,\"__esModule\",{value:!0});Ex.getBundleURL=Ex.getBaseURL=void 0;var sF;function $yt(){return sF||(sF=Xyt()),sF}Ex.getBundleURL=$yt;function Xyt(){try{throw new Error}catch(e){let t=(\"\"+e.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);if(t)return T$(t[0])}return\"/\"}function T$(e){return(\"\"+e).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/,\"$1\")+\"/\"}Ex.getBaseURL=T$});var aF=Br(Rm=>{\"use strict\";Object.defineProperty(Rm,\"__esModule\",{value:!0});Rm.isWorkerRuntime=Rm.getWorkerImplementation=Rm.defaultPoolSize=void 0;var E$=M$();Rm.defaultPoolSize=typeof navigator<\"u\"&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:4;var P$=e=>/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(e);function I$(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Kyt(){if(typeof Worker>\"u\")return class{constructor(){throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\")}};class e extends Worker{constructor(i,s){var n,o;typeof i==\"string\"&&s&&s._baseURL?i=new URL(i,s._baseURL):typeof i==\"string\"&&!P$(i)&&E$.getBundleURL().match(/^file:\\/\\//i)&&(i=new URL(i,E$.getBundleURL().replace(/\\/[^\\/]+$/,\"/\")),(!((n=s?.CORSWorkaround)!==null&&n!==void 0)||n)&&(i=I$(`importScripts(${JSON.stringify(i)});`))),typeof i==\"string\"&&P$(i)&&(!((o=s?.CORSWorkaround)!==null&&o!==void 0)||o)&&(i=I$(`importScripts(${JSON.stringify(i)});`)),super(i,s)}}class t extends e{constructor(i,s){let n=window.URL.createObjectURL(i);super(n,s)}static fromText(i,s){let n=new window.Blob([i],{type:\"text/javascript\"});return new t(n,s)}}return{blob:t,default:e}}var oF;function Jyt(){return oF||(oF=Kyt()),oF}Rm.getWorkerImplementation=Jyt;function tvt(){let e=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!e)}Rm.isWorkerRuntime=tvt});var L$=Br((Vle,C$)=>{var Px=1e3,Ix=Px*60,Cx=Ix*60,r_=Cx*24,evt=r_*7,rvt=r_*365.25;C$.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return ivt(e);if(r===\"number\"&&isFinite(e))return t.long?svt(e):nvt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function ivt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),i=(t[2]||\"ms\").toLowerCase();switch(i){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*rvt;case\"weeks\":case\"week\":case\"w\":return r*evt;case\"days\":case\"day\":case\"d\":return r*r_;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Cx;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Ix;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Px;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function nvt(e){var t=Math.abs(e);return t>=r_?Math.round(e/r_)+\"d\":t>=Cx?Math.round(e/Cx)+\"h\":t>=Ix?Math.round(e/Ix)+\"m\":t>=Px?Math.round(e/Px)+\"s\":e+\"ms\"}function svt(e){var t=Math.abs(e);return t>=r_?NI(e,t,r_,\"day\"):t>=Cx?NI(e,t,Cx,\"hour\"):t>=Ix?NI(e,t,Ix,\"minute\"):t>=Px?NI(e,t,Px,\"second\"):e+\" ms\"}function NI(e,t,r,i){var s=t>=r*1.5;return Math.round(e/r)+\" \"+i+(s?\"s\":\"\")}});var R$=Br((jle,k$)=>{function ovt(e){r.debug=r,r.default=r,r.coerce=f,r.disable=n,r.enable=s,r.enabled=o,r.humanize=L$(),r.destroy=_,Object.keys(e).forEach(w=>{r[w]=e[w]}),r.names=[],r.skips=[],r.formatters={};function t(w){let I=0;for(let R=0;R{if(kt===\"%%\")return\"%\";ut++;let qt=r.formatters[Xt];if(typeof qt==\"function\"){let le=et[ut];kt=qt.call(Y,le),et.splice(ut,1),ut--}return kt}),r.formatArgs.call(Y,et),(Y.log||r.log).apply(Y,et)}return Q.namespace=w,Q.useColors=r.useColors(),Q.color=r.selectColor(w),Q.extend=i,Q.destroy=r.destroy,Object.defineProperty(Q,\"enabled\",{enumerable:!0,configurable:!1,get:()=>R!==null?R:(N!==r.namespaces&&(N=r.namespaces,j=r.enabled(w)),j),set:et=>{R=et}}),typeof r.init==\"function\"&&r.init(Q),Q}function i(w,I){let R=r(this.namespace+(typeof I>\"u\"?\":\":I)+w);return R.log=this.log,R}function s(w){r.save(w),r.namespaces=w,r.names=[],r.skips=[];let I,R=(typeof w==\"string\"?w:\"\").split(/[\\s,]+/),N=R.length;for(I=0;I\"-\"+I)].join(\",\");return r.enable(\"\"),w}function o(w){if(w[w.length-1]===\"*\")return!0;let I,R;for(I=0,R=r.skips.length;I{hu.formatArgs=lvt;hu.save=cvt;hu.load=uvt;hu.useColors=avt;hu.storage=hvt();hu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})();hu.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"];function avt(){return typeof window<\"u\"&&window.process&&(window.process.type===\"renderer\"||window.process.__nwjs)?!0:typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)?!1:typeof document<\"u\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<\"u\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}function lvt(e){if(e[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+e[0]+(this.useColors?\"%c \":\" \")+\"+\"+UI.exports.humanize(this.diff),!this.useColors)return;let t=\"color: \"+this.color;e.splice(1,0,t,\"color: inherit\");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!==\"%%\"&&(r++,s===\"%c\"&&(i=r))}),e.splice(i,0,t)}hu.log=console.debug||console.log||(()=>{});function cvt(e){try{e?hu.storage.setItem(\"debug\",e):hu.storage.removeItem(\"debug\")}catch{}}function uvt(){let e;try{e=hu.storage.getItem(\"debug\")}catch{}return!e&&typeof process<\"u\"&&\"env\"in process&&(e=process.env.DEBUG),e}function hvt(){try{return localStorage}catch{}}UI.exports=R$()(hu);var{formatters:fvt}=UI.exports;fvt.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}}});var kS=Br(Lx=>{\"use strict\";var dvt=Lx&&Lx.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(Lx,\"__esModule\",{value:!0});Lx.AsyncSerialScheduler=void 0;var lF=class{constructor(t){this._baseObserver=t,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch(t=>this._baseObserver.error(t))}error(t){this._baseObserver.error(t)}schedule(t){let r=Promise.all(this._pendingPromises),i=[],s=o=>i.push(o),n=Promise.resolve().then(()=>dvt(this,void 0,void 0,function*(){yield r,yield t(s),this._pendingPromises.delete(n);for(let o of i)this._baseObserver.next(o)})).catch(o=>{this._pendingPromises.delete(n),this._baseObserver.error(o)});this._pendingPromises.add(n)}};Lx.AsyncSerialScheduler=lF});var O$=Br(D$=>{\"use strict\";Object.defineProperty(D$,\"__esModule\",{value:!0})});var cF=Br(Bl=>{\"use strict\";Object.defineProperty(Bl,\"__esModule\",{value:!0});Bl.registerObservableSymbol=Bl.getSymbol=Bl.hasSymbol=Bl.hasSymbols=void 0;var pvt=()=>typeof Symbol==\"function\";Bl.hasSymbols=pvt;var Avt=e=>Bl.hasSymbols()&&!!Symbol[e];Bl.hasSymbol=Avt;var mvt=e=>Bl.hasSymbol(e)?Symbol[e]:\"@@\"+e;Bl.getSymbol=mvt;function gvt(){Bl.hasSymbols()&&!Bl.hasSymbol(\"observable\")&&(Symbol.observable=Symbol(\"observable\"))}Bl.registerObservableSymbol=gvt;Bl.hasSymbol(\"asyncIterator\")||(Symbol.asyncIterator=Symbol.asyncIterator||Symbol.for(\"Symbol.asyncIterator\"))});var gd=Br(Vp=>{\"use strict\";Object.defineProperty(Vp,\"__esModule\",{value:!0});Vp.Observable=Vp.SubscriptionObserver=Vp.Subscription=void 0;O$();var DS=cF(),_vt=DS.getSymbol(\"iterator\"),hF=DS.getSymbol(\"observable\"),B$=DS.getSymbol(\"species\");function GI(e,t){let r=e[t];if(r!=null){if(typeof r!=\"function\")throw new TypeError(r+\" is not a function\");return r}}function RS(e){let t=e.constructor;return t!==void 0&&(t=t[B$],t===null&&(t=void 0)),t!==void 0?t:i_}function yvt(e){return e instanceof i_}function kx(e){kx.log?kx.log(e):setTimeout(()=>{throw e},0)}function jI(e){Promise.resolve().then(()=>{try{e()}catch(t){kx(t)}})}function F$(e){let t=e._cleanup;if(t!==void 0&&(e._cleanup=void 0,!!t))try{if(typeof t==\"function\")t();else{let r=GI(t,\"unsubscribe\");r&&r.call(t)}}catch(r){kx(r)}}function fF(e){e._observer=void 0,e._queue=void 0,e._state=\"closed\"}function vvt(e){let t=e._queue;if(t){e._queue=void 0,e._state=\"ready\";for(let r of t)if(z$(e,r.type,r.value),e._state===\"closed\")break}}function z$(e,t,r){e._state=\"running\";let i=e._observer;try{let s=i?GI(i,t):void 0;switch(t){case\"next\":s&&s.call(i,r);break;case\"error\":if(fF(e),s)s.call(i,r);else throw r;break;case\"complete\":fF(e),s&&s.call(i);break}}catch(s){kx(s)}e._state===\"closed\"?F$(e):e._state===\"running\"&&(e._state=\"ready\")}function uF(e,t,r){if(e._state!==\"closed\"){if(e._state===\"buffering\"){e._queue=e._queue||[],e._queue.push({type:t,value:r});return}if(e._state!==\"ready\"){e._state=\"buffering\",e._queue=[{type:t,value:r}],jI(()=>vvt(e));return}z$(e,t,r)}}var WI=class{constructor(t,r){this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state=\"initializing\";let i=new HI(this);try{this._cleanup=r.call(void 0,i)}catch(s){i.error(s)}this._state===\"initializing\"&&(this._state=\"ready\")}get closed(){return this._state===\"closed\"}unsubscribe(){this._state!==\"closed\"&&(fF(this),F$(this))}};Vp.Subscription=WI;var HI=class{constructor(t){this._subscription=t}get closed(){return this._subscription._state===\"closed\"}next(t){uF(this._subscription,\"next\",t)}error(t){uF(this._subscription,\"error\",t)}complete(){uF(this._subscription,\"complete\")}};Vp.SubscriptionObserver=HI;var i_=class e{constructor(t){if(!(this instanceof e))throw new TypeError(\"Observable cannot be called as a function\");if(typeof t!=\"function\")throw new TypeError(\"Observable initializer must be a function\");this._subscriber=t}subscribe(t,r,i){return(typeof t!=\"object\"||t===null)&&(t={next:t,error:r,complete:i}),new WI(t,this._subscriber)}pipe(t,...r){let i=this;for(let s of[t,...r])i=s(i);return i}tap(t,r,i){let s=typeof t!=\"object\"||t===null?{next:t,error:r,complete:i}:t;return new e(n=>this.subscribe({next(o){s.next&&s.next(o),n.next(o)},error(o){s.error&&s.error(o),n.error(o)},complete(){s.complete&&s.complete(),n.complete()},start(o){s.start&&s.start(o)}}))}forEach(t){return new Promise((r,i)=>{if(typeof t!=\"function\"){i(new TypeError(t+\" is not a function\"));return}function s(){n.unsubscribe(),r(void 0)}let n=this.subscribe({next(o){try{t(o,s)}catch(c){i(c),n.unsubscribe()}},error(o){i(o)},complete(){r(void 0)}})})}map(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){let n=s;try{n=t(s)}catch(o){return i.error(o)}i.next(n)},error(s){i.error(s)},complete(){i.complete()}}))}filter(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){try{if(!t(s))return}catch(n){return i.error(n)}i.next(s)},error(s){i.error(s)},complete(){i.complete()}}))}reduce(t,r){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let i=RS(this),s=arguments.length>1,n=!1,o=r;return new i(c=>this.subscribe({next(f){let _=!n;if(n=!0,!_||s)try{o=t(o,f)}catch(w){return c.error(w)}else o=f},error(f){c.error(f)},complete(){if(!n&&!s)return c.error(new TypeError(\"Cannot reduce an empty sequence\"));c.next(o),c.complete()}}))}concat(...t){let r=RS(this);return new r(i=>{let s,n=0;function o(c){s=c.subscribe({next(f){i.next(f)},error(f){i.error(f)},complete(){n===t.length?(s=void 0,i.complete()):o(r.from(t[n++]))}})}return o(this),()=>{s&&(s.unsubscribe(),s=void 0)}})}flatMap(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>{let s=[],n=this.subscribe({next(c){let f;if(t)try{f=t(c)}catch(w){return i.error(w)}else f=c;let _=r.from(f).subscribe({next(w){i.next(w)},error(w){i.error(w)},complete(){let w=s.indexOf(_);w>=0&&s.splice(w,1),o()}});s.push(_)},error(c){i.error(c)},complete(){o()}});function o(){n.closed&&s.length===0&&i.complete()}return()=>{s.forEach(c=>c.unsubscribe()),n.unsubscribe()}})}[(Symbol.observable,hF)](){return this}static from(t){let r=typeof this==\"function\"?this:e;if(t==null)throw new TypeError(t+\" is not an object\");let i=GI(t,hF);if(i){let s=i.call(t);if(Object(s)!==s)throw new TypeError(s+\" is not an object\");return yvt(s)&&s.constructor===r?s:new r(n=>s.subscribe(n))}if(DS.hasSymbol(\"iterator\")){let s=GI(t,_vt);if(s)return new r(n=>{jI(()=>{if(!n.closed){for(let o of s.call(t))if(n.next(o),n.closed)return;n.complete()}})})}if(Array.isArray(t))return new r(s=>{jI(()=>{if(!s.closed){for(let n of t)if(s.next(n),s.closed)return;s.complete()}})});throw new TypeError(t+\" is not observable\")}static of(...t){let r=typeof this==\"function\"?this:e;return new r(i=>{jI(()=>{if(!i.closed){for(let s of t)if(i.next(s),i.closed)return;i.complete()}})})}static get[B$](){return this}};Vp.Observable=i_;DS.hasSymbols()&&Object.defineProperty(i_,Symbol(\"extensions\"),{value:{symbol:hF,hostReportError:kx},configurable:!0});Vp.default=i_});var Dm=Br(dF=>{\"use strict\";Object.defineProperty(dF,\"__esModule\",{value:!0});function xvt(e){typeof e==\"function\"?e():e&&typeof e.unsubscribe==\"function\"&&e.unsubscribe()}dF.default=xvt});var N$=Br(OS=>{\"use strict\";var bvt=OS&&OS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(OS,\"__esModule\",{value:!0});var wvt=kS(),Svt=gd(),Tvt=Dm();function Mvt(e){return t=>new Svt.default(r=>{let i=new wvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>bvt(this,void 0,void 0,function*(){(yield e(n))&&o(n)}))}});return()=>Tvt.default(s)})}OS.default=Mvt});var V$=Br(Rx=>{\"use strict\";Object.defineProperty(Rx,\"__esModule\",{value:!0});Rx.isIterator=Rx.isAsyncIterator=void 0;var U$=cF();function Evt(e){return e&&U$.hasSymbol(\"asyncIterator\")&&e[Symbol.asyncIterator]}Rx.isAsyncIterator=Evt;function Pvt(e){return e&&U$.hasSymbol(\"iterator\")&&e[Symbol.iterator]}Rx.isIterator=Pvt});var G$=Br(n_=>{\"use strict\";var Ivt=n_&&n_.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Cvt=n_&&n_.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof __values==\"function\"?__values(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}};Object.defineProperty(n_,\"__esModule\",{value:!0});var Lvt=kS(),j$=V$(),kvt=gd(),Rvt=Dm();function Dvt(e){return t=>new kvt.default(r=>{let i=new Lvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Ivt(this,void 0,void 0,function*(){var c,f;let _=yield e(n);if(j$.isIterator(_)||j$.isAsyncIterator(_))try{for(var w=Cvt(_),I;I=yield w.next(),!I.done;){let R=I.value;o(R)}}catch(R){c={error:R}}finally{try{I&&!I.done&&(f=w.return)&&(yield f.call(w))}finally{if(c)throw c.error}}else _.map(R=>o(R))}))}});return()=>Rvt.default(s)})}n_.default=Dvt});var W$=Br(pF=>{\"use strict\";Object.defineProperty(pF,\"__esModule\",{value:!0});var Ovt=gd();function Bvt(e){return new Ovt.Observable(t=>{let r=0,i=setInterval(()=>{t.next(r++)},e);return()=>clearInterval(i)})}pF.default=Bvt});var H$=Br(BS=>{\"use strict\";var Fvt=BS&&BS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(BS,\"__esModule\",{value:!0});var zvt=kS(),Nvt=gd(),Uvt=Dm();function Vvt(e){return t=>new Nvt.default(r=>{let i=new zvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Fvt(this,void 0,void 0,function*(){let c=yield e(n);o(c)}))}});return()=>Uvt.default(s)})}BS.default=Vvt});var Z$=Br(AF=>{\"use strict\";Object.defineProperty(AF,\"__esModule\",{value:!0});var q$=gd(),jvt=Dm();function Gvt(...e){return e.length===0?q$.Observable.from([]):new q$.Observable(t=>{let r=0,i=e.map(n=>n.subscribe({error(o){t.error(o),s()},next(o){t.next(o)},complete(){++r===e.length&&(t.complete(),s())}})),s=()=>{i.forEach(n=>jvt.default(n))};return s})}AF.default=Gvt});var _F=Br(gF=>{\"use strict\";Object.defineProperty(gF,\"__esModule\",{value:!0});var Wvt=gd(),mF=class extends Wvt.default{constructor(){super(t=>(this._observers.add(t),()=>this._observers.delete(t))),this._observers=new Set}next(t){for(let r of this._observers)r.next(t)}error(t){for(let r of this._observers)r.error(t)}complete(){for(let t of this._observers)t.complete()}};gF.default=mF});var Y$=Br(yF=>{\"use strict\";Object.defineProperty(yF,\"__esModule\",{value:!0});var Hvt=gd(),qvt=_F(),Zvt=Dm();function Yvt(e){let t=new qvt.default,r,i=0;return new Hvt.default(s=>{r||(r=e.subscribe(t));let n=t.subscribe(s);return i++,()=>{i--,n.unsubscribe(),i===0&&(Zvt.default(r),r=void 0)}})}yF.default=Yvt});var Q$=Br(FS=>{\"use strict\";var Qvt=FS&&FS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(FS,\"__esModule\",{value:!0});var $vt=kS(),Xvt=gd(),Kvt=Dm();function Jvt(e,t){return r=>new Xvt.default(i=>{let s,n=0,o=new $vt.AsyncSerialScheduler(i),c=r.subscribe({complete(){o.complete()},error(f){o.error(f)},next(f){o.schedule(_=>Qvt(this,void 0,void 0,function*(){s=yield e(n===0?typeof t>\"u\"?f:t:s,f,n++),_(s)}))}});return()=>Kvt.default(c)})}FS.default=Jvt});var $$=Br(zs=>{\"use strict\";Object.defineProperty(zs,\"__esModule\",{value:!0});zs.unsubscribe=zs.Subject=zs.scan=zs.Observable=zs.multicast=zs.merge=zs.map=zs.interval=zs.flatMap=zs.filter=void 0;var txt=N$();Object.defineProperty(zs,\"filter\",{enumerable:!0,get:function(){return txt.default}});var ext=G$();Object.defineProperty(zs,\"flatMap\",{enumerable:!0,get:function(){return ext.default}});var rxt=W$();Object.defineProperty(zs,\"interval\",{enumerable:!0,get:function(){return rxt.default}});var ixt=H$();Object.defineProperty(zs,\"map\",{enumerable:!0,get:function(){return ixt.default}});var nxt=Z$();Object.defineProperty(zs,\"merge\",{enumerable:!0,get:function(){return nxt.default}});var sxt=Y$();Object.defineProperty(zs,\"multicast\",{enumerable:!0,get:function(){return sxt.default}});var oxt=gd();Object.defineProperty(zs,\"Observable\",{enumerable:!0,get:function(){return oxt.default}});var axt=Q$();Object.defineProperty(zs,\"scan\",{enumerable:!0,get:function(){return axt.default}});var lxt=_F();Object.defineProperty(zs,\"Subject\",{enumerable:!0,get:function(){return lxt.default}});var cxt=Dm();Object.defineProperty(zs,\"unsubscribe\",{enumerable:!0,get:function(){return cxt.default}})});var zS=Br((nce,X$)=>{X$.exports=$$()});var K$=Br(qI=>{\"use strict\";Object.defineProperty(qI,\"__esModule\",{value:!0});qI.allSettled=void 0;function uxt(e){return Promise.all(e.map(t=>{let r=n=>({status:\"fulfilled\",value:n}),i=n=>({status:\"rejected\",reason:n}),s=Promise.resolve(t);try{return s.then(r,i)}catch(n){return Promise.reject(n)}}))}qI.allSettled=uxt});var J$=Br(NS=>{\"use strict\";Object.defineProperty(NS,\"__esModule\",{value:!0});NS.PoolEventType=void 0;var hxt;(function(e){e.initialized=\"initialized\",e.taskCanceled=\"taskCanceled\",e.taskCompleted=\"taskCompleted\",e.taskFailed=\"taskFailed\",e.taskQueued=\"taskQueued\",e.taskQueueDrained=\"taskQueueDrained\",e.taskStart=\"taskStart\",e.terminated=\"terminated\"})(hxt=NS.PoolEventType||(NS.PoolEventType={}))});var US=Br(eh=>{\"use strict\";Object.defineProperty(eh,\"__esModule\",{value:!0});eh.$worker=eh.$transferable=eh.$terminate=eh.$events=eh.$errors=void 0;eh.$errors=Symbol(\"thread.errors\");eh.$events=Symbol(\"thread.events\");eh.$terminate=Symbol(\"thread.terminate\");eh.$transferable=Symbol(\"thread.transferable\");eh.$worker=Symbol(\"thread.worker\")});var xF=Br(ZI=>{\"use strict\";Object.defineProperty(ZI,\"__esModule\",{value:!0});ZI.Thread=void 0;var vF=US();function tX(e){throw Error(e)}ZI.Thread={errors(e){return e[vF.$errors]||tX(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},events(e){return e[vF.$events]||tX(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},terminate(e){return e[vF.$terminate]()}}});var nX=Br(rh=>{\"use strict\";var s_=rh&&rh.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},fxt=rh&&rh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rh,\"__esModule\",{value:!0});rh.Pool=rh.Thread=rh.PoolEventType=void 0;var dxt=fxt(VI()),bF=zS(),eX=K$(),pxt=aF(),ia=J$();Object.defineProperty(rh,\"PoolEventType\",{enumerable:!0,get:function(){return ia.PoolEventType}});var rX=xF();Object.defineProperty(rh,\"Thread\",{enumerable:!0,get:function(){return rX.Thread}});var Axt=1;function mxt(e){let t=[];for(let r=0;rsetTimeout(t,e))}function _xt(e,t){return e.reduce((r,i)=>[...r,...t(i)],[])}function yxt(e){return e.replace(/\\W/g,\" \").trim().replace(/\\s+/g,\"-\")}function vxt(e,t){return mxt(t).map(()=>({init:e(),runningTasks:[]}))}var YI=class{constructor(t,r){this.eventSubject=new bF.Subject,this.initErrors=[],this.isClosing=!1,this.nextTaskID=1,this.taskQueue=[];let i=typeof r==\"number\"?{size:r}:r||{},{size:s=pxt.defaultPoolSize}=i;this.debug=dxt.default(`threads:pool:${yxt(i.name||String(Axt++))}`),this.options=i,this.workers=vxt(t,s),this.eventObservable=bF.multicast(bF.Observable.from(this.eventSubject)),Promise.all(this.workers.map(n=>n.init)).then(()=>this.eventSubject.next({type:ia.PoolEventType.initialized,size:this.workers.length}),n=>{this.debug(\"Error while initializing pool worker:\",n),this.eventSubject.error(n),this.initErrors.push(n)})}findIdlingWorker(){let{concurrency:t=1}=this.options;return this.workers.find(r=>r.runningTasks.length{t.runningTasks=t.runningTasks.filter(n=>n!==i)};yield gxt(0);try{yield this.runPoolTask(t,r)}finally{s(),this.isClosing||this.scheduleWork()}});t.runningTasks.push(i)})}scheduleWork(){this.debug(\"Attempt de-queueing a task in order to run it...\");let t=this.findIdlingWorker();if(!t)return;let r=this.taskQueue.shift();if(!r){this.debug(\"Task queue is empty\"),this.eventSubject.next({type:ia.PoolEventType.taskQueueDrained});return}this.run(t,r)}taskCompletion(t){return new Promise((r,i)=>{let s=this.events().subscribe(n=>{n.type===ia.PoolEventType.taskCompleted&&n.taskID===t?(s.unsubscribe(),r(n.returnValue)):n.type===ia.PoolEventType.taskFailed&&n.taskID===t?(s.unsubscribe(),i(n.error)):n.type===ia.PoolEventType.terminated&&(s.unsubscribe(),i(Error(\"Pool has been terminated before task was run.\")))})})}settled(t=!1){return s_(this,void 0,void 0,function*(){let r=()=>_xt(this.workers,n=>n.runningTasks),i=[],s=this.eventObservable.subscribe(n=>{n.type===ia.PoolEventType.taskFailed&&i.push(n.error)});return this.initErrors.length>0?Promise.reject(this.initErrors[0]):t&&this.taskQueue.length===0?(yield eX.allSettled(r()),i):(yield new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained&&(c.unsubscribe(),n(void 0))},error:o})}),yield eX.allSettled(r()),s.unsubscribe(),i)})}completed(t=!1){return s_(this,void 0,void 0,function*(){let r=this.settled(t),i=new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained?(c.unsubscribe(),n(r)):f.type===ia.PoolEventType.taskFailed&&(c.unsubscribe(),o(f.error))},error:o})}),s=yield Promise.race([r,i]);if(s.length>0)throw s[0]})}events(){return this.eventObservable}queue(t){let{maxQueuedJobs:r=1/0}=this.options;if(this.isClosing)throw Error(\"Cannot schedule pool tasks after terminate() has been called.\");if(this.initErrors.length>0)throw this.initErrors[0];let i=this.nextTaskID++,s=this.taskCompletion(i);s.catch(o=>{this.debug(`Task #${i} errored:`,o)});let n={id:i,run:t,cancel:()=>{this.taskQueue.indexOf(n)!==-1&&(this.taskQueue=this.taskQueue.filter(o=>o!==n),this.eventSubject.next({type:ia.PoolEventType.taskCanceled,taskID:n.id}))},then:s.then.bind(s)};if(this.taskQueue.length>=r)throw Error(`Maximum number of pool tasks queued. Refusing to queue another one.\nThis usually happens for one of two reasons: We are either at peak workload right now or some tasks just won't finish, thus blocking the pool.`);return this.debug(`Queueing task #${n.id}...`),this.taskQueue.push(n),this.eventSubject.next({type:ia.PoolEventType.taskQueued,taskID:n.id}),this.scheduleWork(),n}terminate(t){return s_(this,void 0,void 0,function*(){this.isClosing=!0,t||(yield this.completed(!0)),this.eventSubject.next({type:ia.PoolEventType.terminated,remainingQueue:[...this.taskQueue]}),this.eventSubject.complete(),yield Promise.all(this.workers.map(r=>s_(this,void 0,void 0,function*(){return rX.Thread.terminate(yield r.init)})))})}};YI.EventType=ia.PoolEventType;function iX(e,t){return new YI(e,t)}iX.EventType=ia.PoolEventType;rh.Pool=iX});var sX=Br(QI=>{\"use strict\";Object.defineProperty(QI,\"__esModule\",{value:!0});QI.createPromiseWithResolver=void 0;var xxt=()=>{};function bxt(){let e=!1,t,r=xxt;return[new Promise(n=>{e?n(t):r=n}),n=>{e=!0,t=n,r(t)}]}QI.createPromiseWithResolver=bxt});var oX=Br(VS=>{\"use strict\";Object.defineProperty(VS,\"__esModule\",{value:!0});VS.WorkerEventType=void 0;var hce=US(),wxt;(function(e){e.internalError=\"internalError\",e.message=\"message\",e.termination=\"termination\"})(wxt=VS.WorkerEventType||(VS.WorkerEventType={}))});var lX=Br($I=>{\"use strict\";Object.defineProperty($I,\"__esModule\",{value:!0});$I.ObservablePromise=void 0;var Sxt=zS(),Txt=()=>{},Mxt=e=>e,aX=e=>Promise.resolve().then(e);function Ext(e){throw e}function Pxt(e){return e&&typeof e.then==\"function\"}var wF=class e extends Sxt.Observable{constructor(t){super(r=>{let i=this,s=Object.assign(Object.assign({},r),{complete(){r.complete(),i.onCompletion()},error(n){r.error(n),i.onError(n)},next(n){r.next(n),i.onNext(n)}});try{return this.initHasRun=!0,t(s)}catch(n){s.error(n)}}),this.initHasRun=!1,this.fulfillmentCallbacks=[],this.rejectionCallbacks=[],this.firstValueSet=!1,this.state=\"pending\"}onNext(t){this.firstValueSet||(this.firstValue=t,this.firstValueSet=!0)}onError(t){this.state=\"rejected\",this.rejection=t;for(let r of this.rejectionCallbacks)aX(()=>r(t))}onCompletion(){this.state=\"fulfilled\";for(let t of this.fulfillmentCallbacks)aX(()=>t(this.firstValue))}then(t,r){let i=t||Mxt,s=r||Ext,n=!1;return new Promise((o,c)=>{let f=w=>{if(!n){n=!0;try{o(s(w))}catch(I){c(I)}}},_=w=>{try{o(i(w))}catch(I){f(I)}};if(this.initHasRun||this.subscribe({error:f}),this.state===\"fulfilled\")return o(i(this.firstValue));if(this.state===\"rejected\")return n=!0,o(s(this.rejection));this.fulfillmentCallbacks.push(_),this.rejectionCallbacks.push(f)})}catch(t){return this.then(void 0,t)}finally(t){let r=t||Txt;return this.then(i=>(r(),i),()=>r())}static from(t){return Pxt(t)?new e(r=>{let i=n=>{r.next(n),r.complete()},s=n=>{r.error(n)};t.then(i,s)}):super.from(t)}};$I.ObservablePromise=wF});var jS=Br(Dx=>{\"use strict\";Object.defineProperty(Dx,\"__esModule\",{value:!0});Dx.Transfer=Dx.isTransferDescriptor=void 0;var cX=US();function Ixt(e){return!(!e||typeof e!=\"object\")}function Cxt(e){return e&&typeof e==\"object\"&&e[cX.$transferable]}Dx.isTransferDescriptor=Cxt;function Lxt(e,t){if(!t){if(!Ixt(e))throw Error();t=[e]}return{[cX.$transferable]:!0,send:e,transferables:t}}Dx.Transfer=Lxt});var SF=Br(Om=>{\"use strict\";Object.defineProperty(Om,\"__esModule\",{value:!0});Om.WorkerMessageType=Om.MasterMessageType=void 0;var kxt;(function(e){e.cancel=\"cancel\",e.run=\"run\"})(kxt=Om.MasterMessageType||(Om.MasterMessageType={}));var Rxt;(function(e){e.error=\"error\",e.init=\"init\",e.result=\"result\",e.running=\"running\",e.uncaughtError=\"uncaughtError\"})(Rxt=Om.WorkerMessageType||(Om.WorkerMessageType={}))});var pX=Br(Bm=>{\"use strict\";var Dxt=Bm&&Bm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bm,\"__esModule\",{value:!0});Bm.createProxyModule=Bm.createProxyFunction=void 0;var Oxt=Dxt(VI()),hX=zS(),GS=Mx(),uX=lX(),Bxt=jS(),WS=SF(),fX=Oxt.default(\"threads:master:messages\"),Fxt=1,zxt=e=>Array.from(new Set(e)),Nxt=e=>e&&e.type===WS.WorkerMessageType.error,Uxt=e=>e&&e.type===WS.WorkerMessageType.result,Vxt=e=>e&&e.type===WS.WorkerMessageType.running;function jxt(e,t){return new hX.Observable(r=>{let i,s=n=>{if(fX(\"Message from worker:\",n.data),!(!n.data||n.data.uid!==t)){if(Vxt(n.data))i=n.data.resultType;else if(Uxt(n.data))i===\"promise\"?(typeof n.data.payload<\"u\"&&r.next(GS.deserialize(n.data.payload)),r.complete(),e.removeEventListener(\"message\",s)):(n.data.payload&&r.next(GS.deserialize(n.data.payload)),n.data.complete&&(r.complete(),e.removeEventListener(\"message\",s)));else if(Nxt(n.data)){let o=GS.deserialize(n.data.error);r.error(o),e.removeEventListener(\"message\",s)}}};return e.addEventListener(\"message\",s),()=>{if(i===\"observable\"||!i){let n={type:WS.MasterMessageType.cancel,uid:t};e.postMessage(n)}e.removeEventListener(\"message\",s)}})}function Gxt(e){if(e.length===0)return{args:[],transferables:[]};let t=[],r=[];for(let i of e)Bxt.isTransferDescriptor(i)?(t.push(GS.serialize(i.send)),r.push(...i.transferables)):t.push(GS.serialize(i));return{args:t,transferables:r.length===0?r:zxt(r)}}function dX(e,t){return(...r)=>{let i=Fxt++,{args:s,transferables:n}=Gxt(r),o={type:WS.MasterMessageType.run,uid:i,method:t,args:s};fX(\"Sending command to run function to worker:\",o);try{e.postMessage(o,n)}catch(c){return uX.ObservablePromise.from(Promise.reject(c))}return uX.ObservablePromise.from(hX.multicast(jxt(e,i)))}}Bm.createProxyFunction=dX;function Wxt(e,t){let r={};for(let i of t)r[i]=dX(e,i);return r}Bm.createProxyModule=Wxt});var _X=Br(Fm=>{\"use strict\";var TF=Fm&&Fm.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Hxt=Fm&&Fm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fm,\"__esModule\",{value:!0});Fm.spawn=void 0;var MF=Hxt(VI()),qxt=zS(),Zxt=Mx(),Yxt=sX(),XI=US(),KI=oX(),AX=pX(),Qxt=MF.default(\"threads:master:messages\"),$xt=MF.default(\"threads:master:spawn\"),gX=MF.default(\"threads:master:thread-utils\"),Xxt=e=>e&&e.type===\"init\",Kxt=e=>e&&e.type===\"uncaughtError\",Jxt=typeof process<\"u\"&&process.env.THREADS_WORKER_INIT_TIMEOUT?Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT,10):1e4;function t1t(e,t,r){return TF(this,void 0,void 0,function*(){let i,s=new Promise((o,c)=>{i=setTimeout(()=>c(Error(r)),t)}),n=yield Promise.race([e,s]);return clearTimeout(i),n})}function e1t(e){return new Promise((t,r)=>{let i=s=>{Qxt(\"Message from worker before finishing initialization:\",s.data),Xxt(s.data)?(e.removeEventListener(\"message\",i),t(s.data)):Kxt(s.data)&&(e.removeEventListener(\"message\",i),r(Zxt.deserialize(s.data.error)))};e.addEventListener(\"message\",i)})}function r1t(e,t){return new qxt.Observable(r=>{let i=n=>{let o={type:KI.WorkerEventType.message,data:n.data};r.next(o)},s=n=>{gX(\"Unhandled promise rejection event in thread:\",n);let o={type:KI.WorkerEventType.internalError,error:Error(n.reason)};r.next(o)};e.addEventListener(\"message\",i),e.addEventListener(\"unhandledrejection\",s),t.then(()=>{let n={type:KI.WorkerEventType.termination};e.removeEventListener(\"message\",i),e.removeEventListener(\"unhandledrejection\",s),r.next(n),r.complete()})})}function i1t(e){let[t,r]=Yxt.createPromiseWithResolver();return{terminate:()=>TF(this,void 0,void 0,function*(){gX(\"Terminating worker\"),yield e.terminate(),r()}),termination:t}}function mX(e,t,r,i){let s=r.filter(n=>n.type===KI.WorkerEventType.internalError).map(n=>n.error);return Object.assign(e,{[XI.$errors]:s,[XI.$events]:r,[XI.$terminate]:i,[XI.$worker]:t})}function n1t(e,t){return TF(this,void 0,void 0,function*(){$xt(\"Initializing new thread\");let r=t&&t.timeout?t.timeout:Jxt,s=(yield t1t(e1t(e),r,`Timeout: Did not receive an init message from worker after ${r}ms. Make sure the worker calls expose().`)).exposed,{termination:n,terminate:o}=i1t(e),c=r1t(e,n);if(s.type===\"function\"){let f=AX.createProxyFunction(e);return mX(f,e,c,o)}else if(s.type===\"module\"){let f=AX.createProxyModule(e,s.methods);return mX(f,e,c,o)}else{let f=s.type;throw Error(`Worker init message states unexpected type of expose(): ${f}`)}})}Fm.spawn=n1t});var yX=Br(Cc=>{\"use strict\";Object.defineProperty(Cc,\"__esModule\",{value:!0});Cc.Worker=Cc.BlobWorker=Cc.isWorkerRuntime=Cc.Thread=Cc.spawn=Cc.Pool=void 0;var EF=aF();Object.defineProperty(Cc,\"isWorkerRuntime\",{enumerable:!0,get:function(){return EF.isWorkerRuntime}});var s1t=nX();Object.defineProperty(Cc,\"Pool\",{enumerable:!0,get:function(){return s1t.Pool}});var o1t=_X();Object.defineProperty(Cc,\"spawn\",{enumerable:!0,get:function(){return o1t.spawn}});var a1t=xF();Object.defineProperty(Cc,\"Thread\",{enumerable:!0,get:function(){return a1t.Thread}});Cc.BlobWorker=EF.getWorkerImplementation().blob;Cc.Worker=EF.getWorkerImplementation().default});var xX=Br((yce,vX)=>{\"use strict\";vX.exports=e=>e?typeof Symbol.observable==\"symbol\"&&typeof e[Symbol.observable]==\"function\"?e===e[Symbol.observable]():typeof e[\"@@observable\"]==\"function\"?e===e[\"@@observable\"]():!1:!1});var bX=Br(PF=>{\"use strict\";Object.defineProperty(PF,\"__esModule\",{value:!0});var l1t=function(){let t=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!t)},c1t=function(t,r){self.postMessage(t,r)},u1t=function(t){let r=s=>{t(s.data)},i=()=>{self.removeEventListener(\"message\",r)};return self.addEventListener(\"message\",r),i};PF.default={isWorkerRuntime:l1t,postMessageToMaster:c1t,subscribeToMasterMessages:u1t}});var IX=Br(Lc=>{\"use strict\";var h1t=Lc&&Lc.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},EX=Lc&&Lc.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lc,\"__esModule\",{value:!0});Lc.expose=Lc.isWorkerRuntime=Lc.Transfer=Lc.registerSerializer=void 0;var f1t=EX(xX()),zm=Mx(),d1t=jS(),Nm=SF(),fu=EX(bX()),p1t=Mx();Object.defineProperty(Lc,\"registerSerializer\",{enumerable:!0,get:function(){return p1t.registerSerializer}});var A1t=jS();Object.defineProperty(Lc,\"Transfer\",{enumerable:!0,get:function(){return A1t.Transfer}});Lc.isWorkerRuntime=fu.default.isWorkerRuntime;var wX=!1,HS=new Map,m1t=e=>e&&e.type===Nm.MasterMessageType.cancel,SX=e=>e&&e.type===Nm.MasterMessageType.run,TX=e=>f1t.default(e)||g1t(e);function g1t(e){return e&&typeof e==\"object\"&&typeof e.subscribe==\"function\"}function PX(e){return d1t.isTransferDescriptor(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function _1t(){let e={type:Nm.WorkerMessageType.init,exposed:{type:\"function\"}};fu.default.postMessageToMaster(e)}function y1t(e){let t={type:Nm.WorkerMessageType.init,exposed:{type:\"module\",methods:e}};fu.default.postMessageToMaster(t)}function IF(e,t){let{payload:r,transferables:i}=PX(t),s={type:Nm.WorkerMessageType.error,uid:e,error:zm.serialize(r)};fu.default.postMessageToMaster(s,i)}function CF(e,t,r){let{payload:i,transferables:s}=PX(r),n={type:Nm.WorkerMessageType.result,uid:e,complete:t?!0:void 0,payload:i};fu.default.postMessageToMaster(n,s)}function v1t(e,t){let r={type:Nm.WorkerMessageType.running,uid:e,resultType:t};fu.default.postMessageToMaster(r)}function JI(e){try{let t={type:Nm.WorkerMessageType.uncaughtError,error:zm.serialize(e)};fu.default.postMessageToMaster(t)}catch(t){console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:`,t,`\nOriginal error:`,e)}}function MX(e,t,r){return h1t(this,void 0,void 0,function*(){let i;try{i=t(...r)}catch(n){return IF(e,n)}let s=TX(i)?\"observable\":\"promise\";if(v1t(e,s),TX(i)){let n=i.subscribe(o=>CF(e,!1,zm.serialize(o)),o=>{IF(e,zm.serialize(o)),HS.delete(e)},()=>{CF(e,!0),HS.delete(e)});HS.set(e,n)}else try{let n=yield i;CF(e,!0,zm.serialize(n))}catch(n){IF(e,zm.serialize(n))}})}function x1t(e){if(!fu.default.isWorkerRuntime())throw Error(\"expose() called in the master thread.\");if(wX)throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");if(wX=!0,typeof e==\"function\")fu.default.subscribeToMasterMessages(t=>{SX(t)&&!t.method&&MX(t.uid,e,t.args.map(zm.deserialize))}),_1t();else if(typeof e==\"object\"&&e){fu.default.subscribeToMasterMessages(r=>{SX(r)&&r.method&&MX(r.uid,e[r.method],r.args.map(zm.deserialize))});let t=Object.keys(e).filter(r=>typeof e[r]==\"function\");y1t(t)}else throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);fu.default.subscribeToMasterMessages(t=>{if(m1t(t)){let r=t.uid,i=HS.get(r);i&&(i.unsubscribe(),HS.delete(r))}})}Lc.expose=x1t;typeof self<\"u\"&&typeof self.addEventListener==\"function\"&&fu.default.isWorkerRuntime()&&(self.addEventListener(\"error\",e=>{setTimeout(()=>JI(e.error||e),250)}),self.addEventListener(\"unhandledrejection\",e=>{let t=e.reason;t&&typeof t.message==\"string\"&&setTimeout(()=>JI(t),250)}));typeof process<\"u\"&&typeof process.on==\"function\"&&fu.default.isWorkerRuntime()&&(process.on(\"uncaughtException\",e=>{setTimeout(()=>JI(e),250)}),process.on(\"unhandledRejection\",e=>{e&&typeof e.message==\"string\"&&setTimeout(()=>JI(e),250)}))});var CX=Br(Fl=>{\"use strict\";var b1t=Fl&&Fl.__createBinding||(Object.create?function(e,t,r,i){i===void 0&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]}),w1t=Fl&&Fl.__exportStar||function(e,t){for(var r in e)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r)&&b1t(t,e,r)};Object.defineProperty(Fl,\"__esModule\",{value:!0});Fl.Transfer=Fl.DefaultSerializer=Fl.expose=Fl.registerSerializer=void 0;var S1t=Mx();Object.defineProperty(Fl,\"registerSerializer\",{enumerable:!0,get:function(){return S1t.registerSerializer}});w1t(yX(),Fl);var T1t=IX();Object.defineProperty(Fl,\"expose\",{enumerable:!0,get:function(){return T1t.expose}});var M1t=nF();Object.defineProperty(Fl,\"DefaultSerializer\",{enumerable:!0,get:function(){return M1t.DefaultSerializer}});var E1t=jS();Object.defineProperty(Fl,\"Transfer\",{enumerable:!0,get:function(){return E1t.Transfer}})});var hC=Ri(Yi(),1),a_=Ri(Yi(),1);var ec=Ri(Yi(),1),U8=Ri(N8(),1),V8=ec.createContext(null);function Ket(){let e=ec.useContext(V8);if(!e)throw new Error(\"RenderContext not found\");return e}function Y1(){return Ket().model}function zA(e){let t=Y1(),[r,i]=ec.useState(t.get(e));return ec.useEffect(()=>{let s=()=>i(t.get(e));return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),t.save_changes()}]}function j8(e){return({el:t,model:r,experimental:i})=>{let s=U8.createRoot(t);return s.render(ec.createElement(ec.StrictMode,null,ec.createElement(V8.Provider,{value:{model:r,experimental:i}},ec.createElement(e)))),()=>s.unmount()}}var rU=Ri(Yi());var cy=Ri(Yi()),Yc=Ri(Yi());var m4=Ri(Yi()),zM=Ri(Yi());var G8=m4.createContext(null);function W8(e,t){let r=Array.isArray(e)?e[0]:e?e.x:0,i=Array.isArray(e)?e[1]:e?e.y:0,s=Array.isArray(t)?t[0]:t?t.x:0,n=Array.isArray(t)?t[1]:t?t.y:0;return r===s&&i===n}function rc(e,t){if(e===t)return!0;if(!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r{let s=null;\"interactive\"in i&&(s=Object.assign({},i),delete s.interactive);let n=t[i.ref];if(n){s=s||Object.assign({},i),delete s.ref;for(let o of Jet)o in n&&(s[o]=n[o])}return s||i});return{...e,layers:r}}var q8={version:8,sources:{},layers:[]},Z8={mousedown:\"onMouseDown\",mouseup:\"onMouseUp\",mouseover:\"onMouseOver\",mousemove:\"onMouseMove\",click:\"onClick\",dblclick:\"onDblClick\",mouseenter:\"onMouseEnter\",mouseleave:\"onMouseLeave\",mouseout:\"onMouseOut\",contextmenu:\"onContextMenu\",touchstart:\"onTouchStart\",touchend:\"onTouchEnd\",touchmove:\"onTouchMove\",touchcancel:\"onTouchCancel\"},x4={movestart:\"onMoveStart\",move:\"onMove\",moveend:\"onMoveEnd\",dragstart:\"onDragStart\",drag:\"onDrag\",dragend:\"onDragEnd\",zoomstart:\"onZoomStart\",zoom:\"onZoom\",zoomend:\"onZoomEnd\",rotatestart:\"onRotateStart\",rotate:\"onRotate\",rotateend:\"onRotateEnd\",pitchstart:\"onPitchStart\",pitch:\"onPitch\",pitchend:\"onPitchEnd\"},Y8={wheel:\"onWheel\",boxzoomstart:\"onBoxZoomStart\",boxzoomend:\"onBoxZoomEnd\",boxzoomcancel:\"onBoxZoomCancel\",resize:\"onResize\",load:\"onLoad\",render:\"onRender\",idle:\"onIdle\",remove:\"onRemove\",data:\"onData\",styledata:\"onStyleData\",sourcedata:\"onSourceData\",error:\"onError\"},trt=[\"minZoom\",\"maxZoom\",\"minPitch\",\"maxPitch\",\"maxBounds\",\"projection\",\"renderWorldCopies\"],ert=[\"scrollZoom\",\"boxZoom\",\"dragRotate\",\"dragPan\",\"keyboard\",\"doubleClickZoom\",\"touchZoomRotate\",\"touchPitch\"],R0=class e{constructor(t,r,i){this._map=null,this._internalUpdate=!1,this._inRender=!1,this._hoveredFeatures=null,this._deferredEvents={move:!1,zoom:!1,pitch:!1,rotate:!1},this._onEvent=s=>{let n=this.props[Y8[s.type]];n?n(s):s.type===\"error\"&&console.error(s.error)},this._onPointerEvent=s=>{(s.type===\"mousemove\"||s.type===\"mouseout\")&&this._updateHover(s);let n=this.props[Z8[s.type]];n&&(this.props.interactiveLayerIds&&s.type!==\"mouseover\"&&s.type!==\"mouseout\"&&(s.features=this._hoveredFeatures||this._queryRenderedFeatures(s.point)),n(s),delete s.features)},this._onCameraEvent=s=>{if(!this._internalUpdate){let n=this.props[x4[s.type]];n&&n(s)}s.type in this._deferredEvents&&(this._deferredEvents[s.type]=!1)},this._MapClass=t,this.props=r,this._initialize(i)}get map(){return this._map}get transform(){return this._renderTransform}setProps(t){let r=this.props;this.props=t;let i=this._updateSettings(t,r);i&&this._createShadowTransform(this._map);let s=this._updateSize(t),n=this._updateViewState(t,!0);this._updateStyle(t,r),this._updateStyleComponents(t,r),this._updateHandlers(t,r),(i||s||n&&!this._map.isMoving())&&this.redraw()}static reuse(t,r){let i=e.savedMaps.pop();if(!i)return null;let s=i.map,n=s.getContainer();for(r.className=n.className;n.childNodes.length>0;)r.appendChild(n.childNodes[0]);s._container=r;let o=s._resizeObserver;o&&(o.disconnect(),o.observe(r)),i.setProps({...t,styleDiffing:!1}),s.resize();let{initialViewState:c}=t;return c&&(c.bounds?s.fitBounds(c.bounds,{...c.fitBoundsOptions,duration:0}):i._updateViewState(c,!1)),s.isStyleLoaded()?s.fire(\"load\"):s.once(\"styledata\",()=>s.fire(\"load\")),s._update(),i}_initialize(t){let{props:r}=this,{mapStyle:i=q8}=r,s={...r,...r.initialViewState,accessToken:r.mapboxAccessToken||rrt()||null,container:t,style:v4(i)},n=s.initialViewState||s.viewState||s;if(Object.assign(s,{center:[n.longitude||0,n.latitude||0],zoom:n.zoom||0,pitch:n.pitch||0,bearing:n.bearing||0}),r.gl){let w=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=()=>(HTMLCanvasElement.prototype.getContext=w,r.gl)}let o=new this._MapClass(s);n.padding&&o.setPadding(n.padding),r.cursor&&(o.getCanvas().style.cursor=r.cursor),this._createShadowTransform(o);let c=o._render;o._render=w=>{this._inRender=!0,c.call(o,w),this._inRender=!1};let f=o._renderTaskQueue.run;o._renderTaskQueue.run=w=>{f.call(o._renderTaskQueue,w),this._onBeforeRepaint()},o.on(\"render\",()=>this._onAfterRepaint());let _=o.fire;o.fire=this._fireEvent.bind(this,_),o.on(\"resize\",()=>{this._renderTransform.resize(o.transform.width,o.transform.height)}),o.on(\"styledata\",()=>{this._updateStyleComponents(this.props,{}),g4(o.transform,this._renderTransform)}),o.on(\"sourcedata\",()=>this._updateStyleComponents(this.props,{}));for(let w in Z8)o.on(w,this._onPointerEvent);for(let w in x4)o.on(w,this._onCameraEvent);for(let w in Y8)o.on(w,this._onEvent);this._map=o}recycle(){let r=this.map.getContainer().querySelector(\"[mapboxgl-children]\");r?.remove(),e.savedMaps.push(this)}destroy(){this._map.remove()}redraw(){let t=this._map;!this._inRender&&t.style&&(t._frame&&(t._frame.cancel(),t._frame=null),t._render())}_createShadowTransform(t){let r=H8(t.transform);t.painter.transform=r,this._renderTransform=r}_updateSize(t){let{viewState:r}=t;if(r){let i=this._map;if(r.width!==i.transform.width||r.height!==i.transform.height)return i.resize(),!0}return!1}_updateViewState(t,r){if(this._internalUpdate)return!1;let i=this._map,s=this._renderTransform,{zoom:n,pitch:o,bearing:c}=s,f=i.isMoving();f&&(s.cameraElevationReference=\"sea\");let _=y4(s,{..._4(i.transform),...t});if(f&&(s.cameraElevationReference=\"ground\"),_&&r){let w=this._deferredEvents;w.move=!0,w.zoom||(w.zoom=n!==s.zoom),w.rotate||(w.rotate=c!==s.bearing),w.pitch||(w.pitch=o!==s.pitch)}return f||y4(i.transform,t),_}_updateSettings(t,r){let i=this._map,s=!1;for(let n of trt)if(n in t&&!rc(t[n],r[n])){s=!0;let o=i[`set${n[0].toUpperCase()}${n.slice(1)}`];o?.call(i,t[n])}return s}_updateStyle(t,r){if(t.cursor!==r.cursor&&(this._map.getCanvas().style.cursor=t.cursor||\"\"),t.mapStyle!==r.mapStyle){let{mapStyle:i=q8,styleDiffing:s=!0}=t,n={diff:s};return\"localIdeographFontFamily\"in t&&(n.localIdeographFontFamily=t.localIdeographFontFamily),this._map.setStyle(v4(i),n),!0}return!1}_updateStyleComponents(t,r){let i=this._map,s=!1;return i.isStyleLoaded()&&(\"light\"in t&&i.setLight&&!rc(t.light,r.light)&&(s=!0,i.setLight(t.light)),\"fog\"in t&&i.setFog&&!rc(t.fog,r.fog)&&(s=!0,i.setFog(t.fog)),\"terrain\"in t&&i.setTerrain&&!rc(t.terrain,r.terrain)&&(!t.terrain||i.getSource(t.terrain.source))&&(s=!0,i.setTerrain(t.terrain))),s}_updateHandlers(t,r){var i,s;let n=this._map,o=!1;for(let c of ert){let f=(i=t[c])!==null&&i!==void 0?i:!0,_=(s=r[c])!==null&&s!==void 0?s:!0;rc(f,_)||(o=!0,f?n[c].enable(f):n[c].disable())}return o}_queryRenderedFeatures(t){let r=this._map,i=r.transform,{interactiveLayerIds:s=[]}=this.props;try{return r.transform=this._renderTransform,r.queryRenderedFeatures(t,{layers:s.filter(r.getLayer.bind(r))})}catch{return[]}finally{r.transform=i}}_updateHover(t){var r;let{props:i}=this;if(i.interactiveLayerIds&&(i.onMouseMove||i.onMouseEnter||i.onMouseLeave)){let n=t.type,o=((r=this._hoveredFeatures)===null||r===void 0?void 0:r.length)>0,c=this._queryRenderedFeatures(t.point),f=c.length>0;!f&&o&&(t.type=\"mouseleave\",this._onPointerEvent(t)),this._hoveredFeatures=c,f&&!o&&(t.type=\"mouseenter\",this._onPointerEvent(t)),t.type=n}else this._hoveredFeatures=null}_fireEvent(t,r,i){let s=this._map,n=s.transform,o=typeof r==\"string\"?r:r.type;return o===\"move\"&&this._updateViewState(this.props,!1),o in x4&&(typeof r==\"object\"&&(r.viewState=_4(n)),this._map.isMoving())?(s.transform=this._renderTransform,t.call(s,r,i),s.transform=n,s):(t.call(s,r,i),s)}_onBeforeRepaint(){let t=this._map;this._internalUpdate=!0;for(let i in this._deferredEvents)this._deferredEvents[i]&&t.fire(i);this._internalUpdate=!1;let r=this._map.transform;t.transform=this._renderTransform,this._onAfterRepaint=()=>{g4(this._renderTransform,r),t.transform=r}}};R0.savedMaps=[];function rrt(){let e=null;if(typeof location<\"u\"){let t=/access_token=([^&\\/]*)/.exec(location.search);e=t&&t[1]}try{e=e||process.env.MapboxAccessToken}catch{}try{e=e||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN}catch{}return e}var irt=[\"setMaxBounds\",\"setMinZoom\",\"setMaxZoom\",\"setMinPitch\",\"setMaxPitch\",\"setRenderWorldCopies\",\"setProjection\",\"setStyle\",\"addSource\",\"removeSource\",\"addLayer\",\"removeLayer\",\"setLayerZoomRange\",\"setFilter\",\"setPaintProperty\",\"setLayoutProperty\",\"setLight\",\"setTerrain\",\"setFog\",\"remove\"];function b4(e){if(!e)return null;let t=e.map,r={getMap:()=>t,getCenter:()=>e.transform.center,getZoom:()=>e.transform.zoom,getBearing:()=>e.transform.bearing,getPitch:()=>e.transform.pitch,getPadding:()=>e.transform.padding,getBounds:()=>e.transform.getBounds(),project:i=>{let s=t.transform;t.transform=e.transform;let n=t.project(i);return t.transform=s,n},unproject:i=>{let s=t.transform;t.transform=e.transform;let n=t.unproject(i);return t.transform=s,n},queryTerrainElevation:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryTerrainElevation(i,s);return t.transform=n,o},queryRenderedFeatures:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryRenderedFeatures(i,s);return t.transform=n,o}};for(let i of nrt(t))!(i in r)&&!irt.includes(i)&&(r[i]=t[i].bind(t));return r}function nrt(e){let t=new Set,r=e;for(;r;){for(let i of Object.getOwnPropertyNames(r))i[0]!==\"_\"&&typeof e[i]==\"function\"&&i!==\"fire\"&&i!==\"setEventedParent\"&&t.add(i);r=Object.getPrototypeOf(r)}return Array.from(t)}var NM=Ri(Yi()),srt=typeof document<\"u\"?NM.useLayoutEffect:NM.useEffect,Q8=srt;var ort=[\"baseApiUrl\",\"maxParallelImageRequests\",\"workerClass\",\"workerCount\",\"workerUrl\"];function w4(e,t){for(let i of ort)i in t&&(e[i]=t[i]);let{RTLTextPlugin:r=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js\"}=t;r&&e.getRTLTextPluginStatus&&e.getRTLTextPluginStatus()===\"unavailable\"&&e.setRTLTextPlugin(r,i=>{i&&console.error(i)},!0)}var Of=cy.createContext(null);function S4(e,t,r){let i=(0,Yc.useContext)(G8),[s,n]=(0,Yc.useState)(null),o=(0,Yc.useRef)(),{current:c}=(0,Yc.useRef)({mapLib:null,map:null});(0,Yc.useEffect)(()=>{let w=e.mapLib,I=!0,R;return Promise.resolve(w||r).then(N=>{if(!I)return;if(!N)throw new Error(\"Invalid mapLib\");let j=\"Map\"in N?N:N.default;if(!j.Map)throw new Error(\"Invalid mapLib\");if(w4(j,e),!j.supported||j.supported(e))e.reuseMaps&&(R=R0.reuse(e,o.current)),R||(R=new R0(j.Map,e,o.current)),c.map=b4(R),c.mapLib=j,n(R),i?.onMapMount(c.map,e.id);else throw new Error(\"Map is not supported by this browser\")}).catch(N=>{let{onError:j}=e;j?j({type:\"error\",target:null,originalEvent:null,error:N}):console.error(N)}),()=>{I=!1,R&&(i?.onMapUnmount(e.id),e.reuseMaps?R.recycle():R.destroy())}},[]),Q8(()=>{s&&s.setProps(e)}),(0,Yc.useImperativeHandle)(t,()=>c.map,[s]);let f=(0,Yc.useMemo)(()=>({position:\"relative\",width:\"100%\",height:\"100%\",...e.style}),[e.style]),_={height:\"100%\"};return cy.createElement(\"div\",{id:e.id,ref:o,style:f},s&&cy.createElement(Of.Provider,{value:c},cy.createElement(\"div\",{\"mapboxgl-children\":\"\",style:_},e.children)))}var $8=Ri(Yi()),X8=Ri(FM()),Tl=Ri(Yi());var art=/box|flex|grid|column|lineHeight|fontWeight|opacity|order|tabSize|zIndex/;function ic(e,t){if(!e||!t)return;let r=e.style;for(let i in t){let s=t[i];Number.isFinite(s)&&!art.test(i)?r[i]=`${s}px`:r[i]=s}}function lrt(e,t){let{map:r,mapLib:i}=(0,Tl.useContext)(Of),s=(0,Tl.useRef)({props:e});s.current.props=e;let n=(0,Tl.useMemo)(()=>{let Q=!1;$8.Children.forEach(e.children,K=>{K&&(Q=!0)});let et={...e,element:Q?document.createElement(\"div\"):null},Y=new i.Marker(et);return Y.setLngLat([e.longitude,e.latitude]),Y.getElement().addEventListener(\"click\",K=>{var J,ut;(ut=(J=s.current.props).onClick)===null||ut===void 0||ut.call(J,{type:\"click\",target:Y,originalEvent:K})}),Y.on(\"dragstart\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragStart)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"drag\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDrag)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"dragend\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragEnd)===null||ut===void 0||ut.call(J,Et)}),Y},[]);(0,Tl.useEffect)(()=>(n.addTo(r.getMap()),()=>{n.remove()}),[]);let{longitude:o,latitude:c,offset:f,style:_,draggable:w=!1,popup:I=null,rotation:R=0,rotationAlignment:N=\"auto\",pitchAlignment:j=\"auto\"}=e;return(0,Tl.useEffect)(()=>{ic(n.getElement(),_)},[_]),(0,Tl.useImperativeHandle)(t,()=>n,[]),(n.getLngLat().lng!==o||n.getLngLat().lat!==c)&&n.setLngLat([o,c]),f&&!W8(n.getOffset(),f)&&n.setOffset(f),n.isDraggable()!==w&&n.setDraggable(w),n.getRotation()!==R&&n.setRotation(R),n.getRotationAlignment()!==N&&n.setRotationAlignment(N),n.getPitchAlignment()!==j&&n.setPitchAlignment(j),n.getPopup()!==I&&n.setPopup(I),(0,X8.createPortal)(e.children,n.getElement())}var crt=(0,Tl.memo)((0,Tl.forwardRef)(lrt));var J8=Ri(FM()),Xa=Ri(Yi());function K8(e){return new Set(e?e.trim().split(/\\s+/):[])}function urt(e,t){let{map:r,mapLib:i}=(0,Xa.useContext)(Of),s=(0,Xa.useMemo)(()=>document.createElement(\"div\"),[]),n=(0,Xa.useRef)({props:e});n.current.props=e;let o=(0,Xa.useMemo)(()=>{let c={...e},f=new i.Popup(c);return f.setLngLat([e.longitude,e.latitude]),f.once(\"open\",_=>{var w,I;(I=(w=n.current.props).onOpen)===null||I===void 0||I.call(w,_)}),f},[]);if((0,Xa.useEffect)(()=>{let c=f=>{var _,w;(w=(_=n.current.props).onClose)===null||w===void 0||w.call(_,f)};return o.on(\"close\",c),o.setDOMContent(s).addTo(r.getMap()),()=>{o.off(\"close\",c),o.isOpen()&&o.remove()}},[]),(0,Xa.useEffect)(()=>{ic(o.getElement(),e.style)},[e.style]),(0,Xa.useImperativeHandle)(t,()=>o,[]),o.isOpen()&&((o.getLngLat().lng!==e.longitude||o.getLngLat().lat!==e.latitude)&&o.setLngLat([e.longitude,e.latitude]),e.offset&&!rc(o.options.offset,e.offset)&&o.setOffset(e.offset),(o.options.anchor!==e.anchor||o.options.maxWidth!==e.maxWidth)&&(o.options.anchor=e.anchor,o.setMaxWidth(e.maxWidth)),o.options.className!==e.className)){let c=K8(o.options.className),f=K8(e.className);for(let _ of c)f.has(_)||o.removeClassName(_);for(let _ of f)c.has(_)||o.addClassName(_);o.options.className=e.className}return(0,J8.createPortal)(e.children,s)}var hrt=(0,Xa.memo)((0,Xa.forwardRef)(urt));var UM=Ri(Yi());var uy=Ri(Yi());function frt(e,t,r,i){let s=(0,uy.useContext)(Of),n=(0,uy.useMemo)(()=>e(s),[]);return(0,uy.useEffect)(()=>{let o=i||r||t,c=typeof t==\"function\"&&typeof r==\"function\"?t:null,f=typeof r==\"function\"?r:typeof t==\"function\"?t:null,{map:_}=s;return _.hasControl(n)||(_.addControl(n,o?.position),c&&c(s)),()=>{f&&f(s),_.hasControl(n)&&_.removeControl(n)}},[]),n}var kh=frt;function drt(e){let t=kh(({mapLib:r})=>new r.AttributionControl(e),{position:e.position});return(0,UM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var prt=(0,UM.memo)(drt);var VM=Ri(Yi());function Art(e){let t=kh(({mapLib:r})=>new r.FullscreenControl({container:e.containerId&&document.getElementById(e.containerId)}),{position:e.position});return(0,VM.useEffect)(()=>{ic(t._controlContainer,e.style)},[e.style]),null}var mrt=(0,VM.memo)(Art);var Bf=Ri(Yi());function grt(e,t){let r=(0,Bf.useRef)({props:e}),i=kh(({mapLib:s})=>{let n=new s.GeolocateControl(e),o=n._setupUI;return n._setupUI=c=>{n._container.hasChildNodes()||o(c)},n.on(\"geolocate\",c=>{var f,_;(_=(f=r.current.props).onGeolocate)===null||_===void 0||_.call(f,c)}),n.on(\"error\",c=>{var f,_;(_=(f=r.current.props).onError)===null||_===void 0||_.call(f,c)}),n.on(\"outofmaxbounds\",c=>{var f,_;(_=(f=r.current.props).onOutOfMaxBounds)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationstart\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationStart)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationend\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationEnd)===null||_===void 0||_.call(f,c)}),n},{position:e.position});return r.current.props=e,(0,Bf.useImperativeHandle)(t,()=>i,[]),(0,Bf.useEffect)(()=>{ic(i._container,e.style)},[e.style]),null}var _rt=(0,Bf.memo)((0,Bf.forwardRef)(grt));var jM=Ri(Yi());function yrt(e){let t=kh(({mapLib:r})=>new r.NavigationControl(e),{position:e.position});return(0,jM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var vrt=(0,jM.memo)(yrt);var hy=Ri(Yi());function xrt(e){let t=kh(({mapLib:n})=>new n.ScaleControl(e),{position:e.position}),r=(0,hy.useRef)(e),i=r.current;r.current=e;let{style:s}=e;return e.maxWidth!==void 0&&e.maxWidth!==i.maxWidth&&(t.options.maxWidth=e.maxWidth),e.unit!==void 0&&e.unit!==i.unit&&t.setUnit(e.unit),(0,hy.useEffect)(()=>{ic(t._container,s)},[s]),null}var brt=(0,hy.memo)(xrt);var Q1=Ri(Yi());var Srt=Ri(Yi()),$1=Ri(Yi()),Trt=Ri(Yi());var Mrt=Promise.resolve().then(()=>Ri(eU())),Ert=rU.forwardRef(function(t,r){return S4(t,r,Mrt)});var iU=Ert;var Do=Ri(Yi());function NA(e,t){if(!e)throw new Error(t||\"loader assertion failed.\")}var Ff={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Prt=Ff.self||Ff.window||Ff.global||{},Irt=Ff.window||Ff.self||Ff.global||{},Crt=Ff.global||Ff.self||Ff.window||{},Lrt=Ff.document||{};var D0=!!(typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser);var nU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),krt=nU&&parseFloat(nU[1])||0;var sU=\"3.4.14\";function Ka(e,t){if(!e)throw new Error(t||\"loaders.gl assertion failed.\")}var zf={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Xwt=zf.self||zf.window||zf.global||{},Kwt=zf.window||zf.self||zf.global||{},Jwt=zf.global||zf.self||zf.window||{},t2t=zf.document||{};var O0=typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser;var aU=typeof window<\"u\"&&typeof window.orientation<\"u\",oU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),e2t=oU&&parseFloat(oU[1])||0;function B0(e){\"@babel/helpers - typeof\";return B0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B0(e)}function lU(e,t){if(B0(e)!=\"object\"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||\"default\");if(B0(i)!=\"object\")return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function cU(e){var t=lU(e,\"string\");return B0(t)==\"symbol\"?t:t+\"\"}function G(e,t,r){return(t=cU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var X1=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"workerThread\",void 0),G(this,\"isRunning\",!0),G(this,\"result\",void 0),G(this,\"_resolve\",()=>{}),G(this,\"_reject\",()=>{}),this.name=t,this.workerThread=r,this.result=new Promise((i,s)=>{this._resolve=i,this._reject=s})}postMessage(t,r){this.workerThread.postMessage({source:\"loaders.gl\",type:t,payload:r})}done(t){Ka(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ka(this.isRunning),this.isRunning=!1,this._reject(t)}};var fy=class{terminate(){}};var E4=new Map;function uU(e){Ka(e.source&&!e.url||!e.source&&e.url);let t=E4.get(e.source||e.url);return t||(e.url&&(t=Rrt(e.url),E4.set(e.url,t)),e.source&&(t=hU(e.source),E4.set(e.source,t))),Ka(t),t}function Rrt(e){if(!e.startsWith(\"http\"))return e;let t=Drt(e);return hU(t)}function hU(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Drt(e){return`try {\n importScripts('`.concat(e,`');\n} catch (error) {\n console.error(error);\n throw error;\n}`)}function P4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(e){if(fU(e))i.add(e);else if(fU(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e==\"object\")for(let s in e)P4(e[s],t,i)}}return r===void 0?Array.from(i):[]}function fU(e){return e?e instanceof ArrayBuffer||typeof MessagePort<\"u\"&&e instanceof MessagePort||typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap||typeof OffscreenCanvas<\"u\"&&e instanceof OffscreenCanvas:!1}var I4=()=>{},UA=class{static isSupported(){return typeof Worker<\"u\"&&O0||typeof fy<\"u\"&&!O0}constructor(t){G(this,\"name\",void 0),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"terminated\",!1),G(this,\"worker\",void 0),G(this,\"onMessage\",void 0),G(this,\"onError\",void 0),G(this,\"_loadableURL\",\"\");let{name:r,source:i,url:s}=t;Ka(i||s),this.name=r,this.source=i,this.url=s,this.onMessage=I4,this.onError=n=>console.log(n),this.worker=O0?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=I4,this.onError=I4,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(t,r){r=r||P4(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r=\"Failed to load \";return r+=\"worker \".concat(this.name,\" from \").concat(this.url,\". \"),t.message&&(r+=\"\".concat(t.message,\" in \")),t.lineno&&(r+=\":\".concat(t.lineno,\":\").concat(t.colno)),new Error(r)}_createBrowserWorker(){this._loadableURL=uU({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error(\"No data received\"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let i=this.url.includes(\":/\")||this.url.startsWith(\"/\")?this.url:\"./\".concat(this.url);t=new fy(i,{eval:!1})}else if(this.source)t=new fy(this.source,{eval:!0});else throw new Error(\"no worker\");return t.on(\"message\",r=>{this.onMessage(r)}),t.on(\"error\",r=>{this.onError(r)}),t.on(\"exit\",r=>{}),t}};var K1=class{static isSupported(){return UA.isSupported()}constructor(t){G(this,\"name\",\"unnamed\"),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"maxConcurrency\",1),G(this,\"maxMobileConcurrency\",1),G(this,\"onDebug\",()=>{}),G(this,\"reuseWorkers\",!0),G(this,\"props\",{}),G(this,\"jobQueue\",[]),G(this,\"idleQueue\",[]),G(this,\"count\",0),G(this,\"isDestroyed\",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(n,o,c)=>n.done(c),i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(n,o)=>n.error(o),s=new Promise(n=>(this.jobQueue.push({name:t,onMessage:r,onError:i,onStart:n}),this));return this._startQueuedJob(),await s}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:\"Starting job\",name:r.name,workerThread:t,backlog:this.jobQueue.length});let i=new X1(r.name,t);t.onMessage=s=>r.onMessage(i,s.type,s.payload),t.onError=s=>r.onError(i,s),r.onStart(i);try{await i.result}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}},VA=class e{static isSupported(){return UA.isSupported()}static getWorkerFarm(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}constructor(t){G(this,\"props\",void 0),G(this,\"workerPools\",new Map),this.props={...Ort},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:i,url:s}=t,n=this.workerPools.get(r);return n||(n=new K1({name:r,source:i,url:s}),n.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,n)),n}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};G(VA,\"_workerFarm\",void 0);var Brt=\"latest\";function C4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t[e.id]||{},i=\"\".concat(e.id,\"-worker.js\"),s=r.workerUrl;if(!s&&e.id===\"compression\"&&(s=t.workerUrl),t._workerType===\"test\"&&(s=\"modules/\".concat(e.module,\"/dist/\").concat(i)),!s){let n=e.version;n===\"latest\"&&(n=Brt);let o=n?\"@\".concat(n):\"\";s=\"https://unpkg.com/@loaders.gl/\".concat(e.module).concat(o,\"/dist/\").concat(i)}return Ka(s),s}function L4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sU;Ka(e,\"no worker provided\");let r=e.version;return!(!t||!r)}function k4(e,t){return!VA.isSupported()||!O0&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&t?.worker}async function R4(e,t,r,i,s){let n=e.id,o=C4(e,r),f=VA.getWorkerFarm(r).getWorkerPool({name:n,url:o});r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{}));let _=await f.startJob(\"process-on-worker\",Frt.bind(null,s));return _.postMessage(\"process\",{input:t,options:r,context:i}),await(await _.result).result}async function Frt(e,t,r,i){switch(r){case\"done\":t.done(i);break;case\"error\":t.error(new Error(i.error));break;case\"process\":let{id:s,input:n,options:o}=i;try{let c=await e(n,o);t.postMessage(\"done\",{id:s,result:c})}catch(c){let f=c instanceof Error?c.message:\"unknown error\";t.postMessage(\"error\",{id:s,error:f})}break;default:console.warn(\"parse-with-worker unknown message \".concat(r))}}function D4(e,t,r){if(r=r||e.byteLength,e.byteLengthc instanceof ArrayBuffer?new Uint8Array(c):c),s=i.reduce((c,f)=>c+f.byteLength,0),n=new Uint8Array(s),o=0;for(let c of i)n.set(c,o),o+=c.byteLength;return n.buffer}async function B4(e){let t=[];for await(let r of e)t.push(r);return O4(...t)}function J1(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var F0=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=J1(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(J1()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var dy=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:i}=t,s=this.stats[r];return s||(t instanceof F0?s=t:s=new F0(r,i),this.stats[r]=s),s}};var zrt=\"Queued Requests\",Nrt=\"Active Requests\",Urt=\"Cancelled Requests\",Vrt=\"Queued Requests Ever\",jrt=\"Active Requests Ever\",Grt={id:\"request-scheduler\",throttleRequests:!0,maxRequests:6},py=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};G(this,\"props\",void 0),G(this,\"stats\",void 0),G(this,\"activeRequestCount\",0),G(this,\"requestQueue\",[]),G(this,\"requestMap\",new Map),G(this,\"deferredUpdate\",null),this.props={...Grt,...t},this.stats=new dy({id:this.props.id}),this.stats.get(zrt),this.stats.get(Nrt),this.stats.get(Urt),this.stats.get(Vrt),this.stats.get(jrt)}scheduleRequest(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(t))return this.requestMap.get(t);let i={handle:t,priority:0,getPriority:r},s=new Promise(n=>(i.resolve=n,i));return this.requestQueue.push(i),this.requestMap.set(t,s),this._issueNewRequests(),s}_issueRequest(t){let{handle:r,resolve:i}=t,s=!1,n=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,i?i({done:n}):Promise.resolve({done:n})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let t=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(t!==0){this._updateAllRequests();for(let r=0;rr.priority-i.priority)}_updateRequest(t){return t.priority=t.getPriority(t.handle),t.priority<0?(t.resolve(null),!1):!0}};var Wrt=\"\",dU={};function F4(e){for(let t in dU)if(e.startsWith(t)){let r=dU[t];e=e.replace(t,r)}return!e.startsWith(\"http://\")&&!e.startsWith(\"https://\")&&(e=\"\".concat(Wrt).concat(e)),e}function pU(e){return e&&typeof e==\"object\"&&e.isBuffer}function GM(e){if(pU(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e==\"string\"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e==\"object\"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(\"toArrayBuffer\")}var z0={};mA(z0,{dirname:()=>qrt,filename:()=>Hrt,join:()=>Zrt,resolve:()=>Yrt});function AU(){var e;if(typeof process<\"u\"&&typeof process.cwd<\"u\")return process.cwd();let t=(e=window.location)===null||e===void 0?void 0:e.pathname;return t?.slice(0,t.lastIndexOf(\"/\")+1)||\"\"}function Hrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(t+1):\"\"}function qrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(0,t):\"\"}function Zrt(){for(var e=arguments.length,t=new Array(e),r=0;r(n&&(s=s.replace(new RegExp(\"^\".concat(i)),\"\")),n!==t.length-1&&(s=s.replace(new RegExp(\"\".concat(i,\"$\")),\"\")),s)),t.join(i)}function Yrt(){let e=[];for(let s=0;s=-1&&!r;s--){let n;s>=0?n=e[s]:(i===void 0&&(i=AU()),n=i),n.length!==0&&(t=\"\".concat(n,\"/\").concat(t),r=n.charCodeAt(0)===tb)}return t=Qrt(t,!r),r?\"/\".concat(t):t.length>0?t:\".\"}var tb=47,z4=46;function Qrt(e,t){let r=\"\",i=-1,s=0,n,o=!1;for(let c=0;c<=e.length;++c){if(c2){let f=r.length-1,_=f;for(;_>=0&&r.charCodeAt(_)!==tb;--_);if(_!==f){r=_===-1?\"\":r.slice(0,_),i=c,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r=\"\",i=c,s=0,o=!1;continue}}t&&(r.length>0?r+=\"/..\":r=\"..\",o=!0)}else{let f=e.slice(i+1,c);r.length>0?r+=\"/\".concat(f):r=f,o=!1}i=c,s=0}else n===z4&&s!==-1?++s:s=-1}return r}var $rt=e=>typeof e==\"boolean\",eb=e=>typeof e==\"function\",N0=e=>e!==null&&typeof e==\"object\",N4=e=>N0(e)&&e.constructor==={}.constructor;var mU=e=>e&&typeof e[Symbol.iterator]==\"function\",gU=e=>e&&typeof e[Symbol.asyncIterator]==\"function\";var Cu=e=>typeof Response<\"u\"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Lu=e=>typeof Blob<\"u\"&&e instanceof Blob,_U=e=>e&&typeof e==\"object\"&&e.isBuffer;var Xrt=e=>typeof ReadableStream<\"u\"&&e instanceof ReadableStream||N0(e)&&eb(e.tee)&&eb(e.cancel)&&eb(e.getReader);var Krt=e=>N0(e)&&eb(e.read)&&eb(e.pipe)&&$rt(e.readable),WM=e=>Xrt(e)||Krt(e);var Jrt=/^data:([-\\w.]+\\/[-\\w.+]+)(;|,)/,tit=/^([-\\w.]+\\/[-\\w.+]+)/;function yU(e){let t=tit.exec(e);return t?t[1]:e}function U4(e){let t=Jrt.exec(e);return t?t[1]:\"\"}var vU=/\\?.*/;function xU(e){let t=e.match(vU);return t&&t[0]}function Ay(e){return e.replace(vU,\"\")}function U0(e){return Cu(e)?e.url:Lu(e)?e.name||\"\":typeof e==\"string\"?e:\"\"}function rb(e){if(Cu(e)){let t=e,r=t.headers.get(\"content-type\")||\"\",i=Ay(t.url);return yU(r)||U4(i)}return Lu(e)?e.type||\"\":typeof e==\"string\"?U4(e):\"\"}function bU(e){return Cu(e)?e.headers[\"content-length\"]||-1:Lu(e)?e.size:typeof e==\"string\"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function HM(e){if(Cu(e))return e;let t={},r=bU(e);r>=0&&(t[\"content-length\"]=String(r));let i=U0(e),s=rb(e);s&&(t[\"content-type\"]=s);let n=await rit(e);n&&(t[\"x-first-bytes\"]=n),typeof e==\"string\"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,\"url\",{value:i}),o}async function wU(e){if(!e.ok){let t=await eit(e);throw new Error(t)}}async function eit(e){let t=\"Failed to fetch resource \".concat(e.url,\" (\").concat(e.status,\"): \");try{let r=e.headers.get(\"Content-Type\"),i=e.statusText;r.includes(\"application/json\")&&(i+=\" \".concat(await e.text())),t+=i,t=t.length>60?\"\".concat(t.slice(0,60),\"...\"):t}catch{}return t}async function rit(e){if(typeof e==\"string\")return\"data:,\".concat(e.slice(0,5));if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(i=>{let s=new FileReader;s.onload=n=>{var o;return i(n==null||(o=n.target)===null||o===void 0?void 0:o.result)},s.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5),i=iit(r);return\"data:base64,\".concat(i)}return null}function iit(e){let t=\"\",r=new Uint8Array(e);for(let i=0;i=0)}function Rh(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||j4()}var nit=globalThis.self||globalThis.window||globalThis.global,my=globalThis.window||globalThis.self||globalThis.global,sit=globalThis.document||{},V0=globalThis.process||{},oit=globalThis.console,qSt=globalThis.navigator||{};var qM=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",QSt=Rh();function ait(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var ZM=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=ait(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function SU(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function TU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function YM(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var QM;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(QM||(QM={}));var lit=10;function MU(e){return typeof e!=\"string\"?e:(e=e.toUpperCase(),QM[e]||QM.WHITE)}function EU(e,t,r){if(!Rh&&typeof e==\"string\"){if(t){let i=MU(t);e=\"\\x1B[\".concat(i,\"m\").concat(e,\"\\x1B[39m\")}if(r){let i=MU(r);e=\"\\x1B[\".concat(i+lit,\"m\").concat(e,\"\\x1B[49m\")}}return e}function PU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),s=e;for(let n of i){let o=s[n];typeof o==\"function\"&&(t.find(c=>n===c)||(s[n]=o.bind(e)))}}function gy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function j0(){let e;if(Rh()&&my.performance){var t,r;e=my===null||my===void 0||(t=my.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in V0){var i;let s=V0===null||V0===void 0||(i=V0.hrtime)===null||i===void 0?void 0:i.call(V0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var _y={debug:Rh()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cit={enabled:!0,level:0};function ku(){}var IU={},CU={once:!0},Nf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};this.id=void 0,this.VERSION=qM,this._startTs=j0(),this._deltaTs=j0(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new ZM(\"__probe-\".concat(this.id,\"__\"),cit),this.timeStamp(\"\".concat(this.id,\" started\")),PU(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){gy(t,r)}warn(t){return this._getLogFunction(0,t,_y.warn,arguments,CU)}error(t){return this._getLogFunction(0,t,_y.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,_y.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,_y.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,_y.debug||_y.info,arguments,CU)}table(t,r,i){return r?this._getLogFunction(t,r,console.table||ku,i&&[i],{tag:dit(r)}):ku}image(t){let{logLevel:r,priority:i,image:s,message:n=\"\",scale:o=1}=t;return this._shouldLog(r||i)?Rh()?fit({image:s,message:n,scale:o}):hit({image:s,message:n,scale:o}):ku}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||ku)}group(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=LU({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||ku)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kU(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=LU({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,gy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=j0();let o=n.tag||n.message;if(n.once&&o)if(!IU[o])IU[o]=j0();else return ku;return r=uit(this.id,n.message,n),i.bind(console,r,...n.args)}return ku}};Nf.VERSION=qM;function kU(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return gy(Number.isFinite(t)&&t>=0),t}function LU(e){let{logLevel:t,message:r}=e;e.logLevel=kU(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return gy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function uit(e,t,r){if(typeof t==\"string\"){let i=r.time?TU(SU(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=EU(t,r.color,r.background)}return t}function hit(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),ku}function fit(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=YM(n,r,i);console.log(...o)},n.src=t,ku}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...YM(t,r,i)),ku;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...YM(n,r,i)),n.src=t.toDataURL(),ku}return ku}function dit(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var vTt=new Nf({id:\"@probe.gl/log\"});var G4=new Nf({id:\"loaders.gl\"}),$M=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XM=class{constructor(){G(this,\"console\",void 0),this.console=console}log(){for(var t=arguments.length,r=new Array(t),i=0;i{let e=H4();return e.globalOptions=e.globalOptions||{...W4},e.globalOptions};function BU(e,t,r,i){return r=r||[],r=Array.isArray(r)?r:[r],pit(e,r),mit(t,e,i)}function pit(e,t){DU(e,null,W4,RU,t);for(let r of t){let i=e&&e[r.id]||{},s=r.options&&r.options[r.id]||{},n=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};DU(i,r.id,s,n,t)}}function DU(e,t,r,i,s){let n=t||\"Top level\",o=t?\"\".concat(t,\".\"):\"\";for(let c in e){let f=!t&&N0(e[c]),_=c===\"baseUri\"&&!t,w=c===\"workerUrl\"&&t;if(!(c in r)&&!_&&!w){if(c in i)G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' no longer supported, use '\").concat(i[c],\"'\"))();else if(!f){let I=Ait(c,s);G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' not recognized. \").concat(I))()}}}}function Ait(e,t){let r=e.toLowerCase(),i=\"\";for(let s of t)for(let n in s.options){if(e===n)return\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\");let o=n.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(i=i||\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\"))}return i}function mit(e,t,r){let s={...e.options||{}};return git(s,r),s.log===null&&(s.log=new $M),OU(s,q4()),OU(s,t),s}function OU(e,t){for(let r in t)if(r in t){let i=t[r];N4(i)&&N4(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function git(e,t){t&&!(\"baseUri\"in e)&&(e.baseUri=t)}function ib(e){var t;return e?(Array.isArray(e)&&(e=e[0]),Array.isArray((t=e)===null||t===void 0?void 0:t.extensions)):!1}function nb(e){var t,r;NA(e,\"null loader\"),NA(ib(e),\"invalid loader\");let i;return Array.isArray(e)&&(i=e[1],e=e[0],e={...e,options:{...e.options,...i}}),((t=e)!==null&&t!==void 0&&t.parseTextSync||(r=e)!==null&&r!==void 0&&r.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var FU=()=>{let e=H4();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Z4(e){let t=FU();e=Array.isArray(e)?e:[e];for(let r of e){let i=nb(r);t.find(s=>i===s)||t.unshift(i)}}function zU(){return FU()}var NU=new Nf({id:\"loaders.gl\"});var _it=/\\.([^.]+)$/;async function jU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;let s=UU(e,t,{...r,nothrow:!0},i);if(s)return s;if(Lu(e)&&(e=await e.slice(0,10).arrayBuffer(),s=UU(e,t,r,i)),!s&&!(r!=null&&r.nothrow))throw new Error(WU(e));return s}function UU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;if(t&&!Array.isArray(t))return nb(t);let s=[];t&&(s=s.concat(t)),r!=null&&r.ignoreRegisteredLoaders||s.push(...zU()),vit(s);let n=yit(e,s,r,i);if(!n&&!(r!=null&&r.nothrow))throw new Error(WU(e));return n}function yit(e,t,r,i){let s=U0(e),n=rb(e),o=Ay(s)||i?.url,c=null,f=\"\";if(r!=null&&r.mimeType&&(c=Y4(t,r?.mimeType),f=\"match forced by supplied MIME type \".concat(r?.mimeType)),c=c||xit(t,o),f=f||(c?\"matched url \".concat(o):\"\"),c=c||Y4(t,n),f=f||(c?\"matched MIME type \".concat(n):\"\"),c=c||wit(t,e),f=f||(c?\"matched initial data \".concat(HU(e)):\"\"),c=c||Y4(t,r?.fallbackMimeType),f=f||(c?\"matched fallback MIME type \".concat(n):\"\"),f){var _;NU.log(1,\"selectLoader selected \".concat((_=c)===null||_===void 0?void 0:_.name,\": \").concat(f,\".\"))}return c}function GU(e){return!(e instanceof Response&&e.status===204)}function WU(e){let t=U0(e),r=rb(e),i=\"No valid loader found (\";i+=t?\"\".concat(z0.filename(t),\", \"):\"no url provided, \",i+=\"MIME type: \".concat(r?'\"'.concat(r,'\"'):\"not provided\",\", \");let s=e?HU(e):\"\";return i+=s?' first bytes: \"'.concat(s,'\"'):\"first bytes: not available\",i+=\")\",i}function vit(e){for(let t of e)nb(t)}function xit(e,t){let r=t&&_it.exec(t),i=r&&r[1];return i?bit(e,i):null}function bit(e,t){t=t.toLowerCase();for(let r of e)for(let i of r.extensions)if(i.toLowerCase()===t)return r;return null}function Y4(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===\"application/x.\".concat(r.id))return r;return null}function wit(e,t){if(!t)return null;for(let r of e)if(typeof t==\"string\"){if(Sit(t,r))return r}else if(ArrayBuffer.isView(t)){if(VU(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&VU(t,0,r))return r;return null}function Sit(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>e.startsWith(i))}function VU(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(s=>Tit(e,t,r,s))}function Tit(e,t,r,i){if(i instanceof ArrayBuffer)return D4(i,e,i.byteLength);switch(typeof i){case\"function\":return i(e,r);case\"string\":let s=Q4(e,t,i.length);return i===s;default:return!1}}function HU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof e==\"string\"?e.slice(0,t):ArrayBuffer.isView(e)?Q4(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Q4(e,0,t):\"\"}function Q4(e,t,r){if(e.byteLength1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let{chunkSize:r=262144}=t,i=0;for(;iV4(s,i):t!=null&&t.fetch?t?.fetch:V4}function KU(e,t,r){if(r)return r;let i={fetch:KM(t,e),...e};if(i.url){let s=Ay(i.url);i.baseUrl=s,i.queryString=xU(i.url),i.filename=z0.filename(s),i.baseUrl=z0.dirname(s)}return Array.isArray(i.loaders)||(i.loaders=null),i}function JU(e,t){if(!t&&e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let i=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...i]:i}return r&&r.length?r:null}async function JM(e,t,r,i){Ka(!i||typeof i==\"object\"),t&&!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0),e=await e,r=r||{};let s=U0(e),o=JU(t,i),c=await jU(e,o,r);return c?(r=BU(r,c,o,s),i=KU({url:s,parse:JM,loaders:o},r,i||null),await Iit(c,e,r,i)):null}async function Iit(e,t,r,i){if(L4(e),Cu(t)){let s=t,{ok:n,redirected:o,status:c,statusText:f,type:_,url:w}=s,I=Object.fromEntries(s.headers.entries());i.response={headers:I,ok:n,redirected:o,status:c,statusText:f,type:_,url:w}}if(t=await XU(t,e,r),e.parseTextSync&&typeof t==\"string\")return r.dataType=\"text\",e.parseTextSync(t,r,i,e);if(k4(e,r))return await R4(e,t,r,i,JM);if(e.parseText&&typeof t==\"string\")return await e.parseText(t,r,i,e);if(e.parse)return await e.parse(t,r,i,e);throw Ka(!e.parseSync),new Error(\"\".concat(e.id,\" loader - no parser found and worker is disabled\"))}async function jA(e,t,r,i){!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0);let s=KM(r),n=e;return typeof e==\"string\"&&(n=await s(e)),Lu(e)&&(n=await s(e)),await JM(n,t,r)}var tV=\"3.4.14\";var{_parseImageNode:Cit}=globalThis,X4=typeof Image<\"u\",K4=typeof ImageBitmap<\"u\",Lit=!!Cit,J4=D0?!0:Lit;function eV(e){switch(e){case\"auto\":return K4||X4||J4;case\"imagebitmap\":return K4;case\"image\":return X4;case\"data\":return J4;default:throw new Error(\"@loaders.gl/images: image \".concat(e,\" not supported in this environment\"))}}function rV(){if(K4)return\"imagebitmap\";if(X4)return\"image\";if(J4)return\"data\";throw new Error(\"Install '@loaders.gl/polyfills' to parse images under Node.js\")}function kit(e){let t=Rit(e);if(!t)throw new Error(\"Not an image\");return t}function iV(e){switch(kit(e)){case\"data\":return e;case\"image\":case\"imagebitmap\":let t=document.createElement(\"canvas\"),r=t.getContext(\"2d\");if(!r)throw new Error(\"getImageData\");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error(\"getImageData\")}}function Rit(e){return typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap?\"imagebitmap\":typeof Image<\"u\"&&e instanceof Image?\"image\":e&&typeof e==\"object\"&&e.data&&e.width&&e.height?\"data\":null}var Dit=/^data:image\\/svg\\+xml/,Oit=/\\.svg((\\?|#).*)?$/;function tE(e){return e&&(Dit.test(e)||Oit.test(e))}function nV(e,t){if(tE(t)){let i=new TextDecoder().decode(e);try{typeof unescape==\"function\"&&typeof encodeURIComponent==\"function\"&&(i=unescape(encodeURIComponent(i)))}catch(n){throw new Error(n.message)}return\"data:image/svg+xml;base64,\".concat(btoa(i))}return tR(e,t)}function tR(e,t){if(tE(t))throw new Error(\"SVG cannot be parsed directly to imagebitmap\");return new Blob([new Uint8Array(e)])}async function eE(e,t,r){let i=nV(e,r),s=self.URL||self.webkitURL,n=typeof i!=\"string\"&&s.createObjectURL(i);try{return await Bit(n||i,t)}finally{n&&s.revokeObjectURL(n)}}async function Bit(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((i,s)=>{try{r.onload=()=>i(r),r.onerror=n=>s(new Error(\"Could not load image \".concat(e,\": \").concat(n)))}catch(n){s(n)}})}var Fit={},sV=!0;async function oV(e,t,r){let i;tE(r)?i=await eE(e,t,r):i=tR(e,r);let s=t&&t.imagebitmap;return await zit(i,s)}async function zit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Nit(t)||!sV)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),sV=!1}return await createImageBitmap(e)}function Nit(e){for(let t in e||Fit)return!1;return!0}function aV(e){return!Git(e,\"ftyp\",4)||!(e[8]&96)?null:Uit(e)}function Uit(e){switch(Vit(e,8,12).replace(\"\\0\",\" \").trim()){case\"avif\":case\"avis\":return{extension:\"avif\",mimeType:\"image/avif\"};default:return null}}function Vit(e,t,r){return String.fromCharCode(...e.slice(t,r))}function jit(e){return[...e].map(t=>t.charCodeAt(0))}function Git(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=jit(t);for(let s=0;s=24&&t.getUint32(0,Uf)===2303741511?{mimeType:\"image/png\",width:t.getUint32(16,Uf),height:t.getUint32(20,Uf)}:null}function qit(e){let t=ob(e);return t.byteLength>=10&&t.getUint32(0,Uf)===1195984440?{mimeType:\"image/gif\",width:t.getUint16(6,sb),height:t.getUint16(8,sb)}:null}function Zit(e){let t=ob(e);return t.byteLength>=14&&t.getUint16(0,Uf)===16973&&t.getUint32(2,sb)===t.byteLength?{mimeType:\"image/bmp\",width:t.getUint32(18,sb),height:t.getUint32(22,sb)}:null}function Yit(e){let t=ob(e);if(!(t.byteLength>=3&&t.getUint16(0,Uf)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:s}=Qit(),n=2;for(;n+9!!rE(new DataView(e))],options:Jit};function ab(e){if(typeof window<\"u\"&&typeof window.process==\"object\"&&window.process.type===\"renderer\"||typeof process<\"u\"&&typeof process.versions==\"object\"&&process.versions.electron)return!0;let t=typeof navigator==\"object\"&&typeof navigator.userAgent==\"string\"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf(\"Electron\")>=0)}function Lo(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||ab()}var GA={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document,process:typeof process==\"object\"&&process};var tnt=GA.self||GA.window||GA.global,yy=GA.window||GA.self||GA.global,ent=GA.document||{},G0=GA.process||{};var iE=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",gEt=Lo();var rR=globalThis;function vy(e){if(!e&&!Lo())return\"Node\";if(ab(e))return\"Electron\";let r=e||(typeof navigator<\"u\"?navigator:{}).userAgent||\"\";if(r.indexOf(\"Edge\")>-1)return\"Edge\";let i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s?\"IE\":rR.chrome?\"Chrome\":rR.safari?\"Safari\":rR.mozInnerScreenX?\"Firefox\":\"Unknown\"}function rnt(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var nE=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";G(this,\"storage\",void 0),G(this,\"id\",void 0),G(this,\"config\",void 0),this.storage=rnt(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function uV(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function hV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function sE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var oE;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(oE||(oE={}));function fV(e){return typeof e==\"string\"?oE[e.toUpperCase()]||oE.WHITE:e}function dV(e,t,r){return!Lo&&typeof e==\"string\"&&(t&&(t=fV(t),e=\"\\x1B[\".concat(t,\"m\").concat(e,\"\\x1B[39m\")),r&&(t=fV(r),e=\"\\x1B[\".concat(r+10,\"m\").concat(e,\"\\x1B[49m\"))),e}function pV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r);for(let s of i)typeof e[s]==\"function\"&&(t.find(n=>s===n)||(e[s]=e[s].bind(e)))}function xy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function W0(){let e;if(Lo&&\"performance\"in yy){var t,r;e=yy===null||yy===void 0||(t=yy.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in G0){var i;let s=G0===null||G0===void 0||(i=G0.hrtime)===null||i===void 0?void 0:i.call(G0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var by={debug:Lo&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},int={enabled:!0,level:0};function Ru(){}var AV={},mV={once:!0},Vf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};G(this,\"id\",void 0),G(this,\"VERSION\",iE),G(this,\"_startTs\",W0()),G(this,\"_deltaTs\",W0()),G(this,\"_storage\",void 0),G(this,\"userData\",{}),G(this,\"LOG_THROTTLE_TIMEOUT\",0),this.id=t,this.userData={},this._storage=new nE(\"__probe-\".concat(this.id,\"__\"),int),this.timeStamp(\"\".concat(this.id,\" started\")),pV(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((W0()-this._startTs).toPrecision(10))}getDelta(){return Number((W0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){xy(t,r)}warn(t){return this._getLogFunction(0,t,by.warn,arguments,mV)}error(t){return this._getLogFunction(0,t,by.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,by.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,by.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){for(var i=arguments.length,s=new Array(i>2?i-2:0),n=2;n2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=gV({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||Ru)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_V(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=gV({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,xy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=W0();let o=n.tag||n.message;if(n.once)if(!AV[o])AV[o]=W0();else return Ru;return r=nnt(this.id,n.message,n),i.bind(console,r,...n.args)}return Ru}};G(Vf,\"VERSION\",iE);function _V(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return xy(Number.isFinite(t)&&t>=0),t}function gV(e){let{logLevel:t,message:r}=e;e.logLevel=_V(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return xy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function nnt(e,t,r){if(typeof t==\"string\"){let i=r.time?hV(uV(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=dV(t,r.color,r.background)}return t}function snt(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),Ru}function ont(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=sE(n,r,i);console.log(...o)},n.src=t,Ru}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...sE(t,r,i)),Ru;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...sE(n,r,i)),n.src=t.toDataURL(),Ru}return Ru}function ant(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var $Et=new Vf({id:\"@probe.gl/log\"});var or=new Vf({id:\"deck\"});var iR={};function yV(e){iR=e}function Ls(e,t,r,i){or.level>0&&iR[e]&&iR[e].call(null,t,r,i)}function lnt(e){let t=e[0],r=e[e.length-1];return t===\"{\"&&r===\"}\"||t===\"[\"&&r===\"]\"}var vV={id:\"JSON\",name:\"JSON\",module:\"\",version:\"\",options:{},extensions:[\"json\",\"geojson\"],mimeTypes:[\"application/json\",\"application/geo+json\"],testText:lnt,parseTextSync:JSON.parse};function cnt(){let e=\"8.9.35\",t=globalThis.deck&&globalThis.deck.VERSION;if(t&&t!==e)throw new Error(\"deck.gl - multiple versions detected: \".concat(t,\" vs \").concat(e));return t||(or.log(1,\"deck.gl \".concat(e))(),globalThis.deck={...globalThis.deck,VERSION:e,version:e,log:or,_registerLoggers:yV},Z4([vV,[eR,{imagebitmap:{premultiplyAlpha:\"none\"}}]])),e}var xV=cnt();var Yr={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Yr,\"IDENTITY\",{get:()=>(or.deprecated(\"COORDINATE_SYSTEM.IDENTITY\",\"COORDINATE_SYSTEM.CARTESIAN\")(),0)});var Ja={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},po={common:0,meters:1,pixels:2},nR={click:{handler:\"onClick\"},panstart:{handler:\"onDragStart\"},panmove:{handler:\"onDrag\"},panend:{handler:\"onDragEnd\"}};var He=new Vf({id:\"luma.gl\"});function Ks(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}var unt=\"Invalid WebGLRenderingContext\";var hnt=\"Requires WebGL2\";function Jd(e){return typeof WebGLRenderingContext<\"u\"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&Number.isFinite(e._version))}function fr(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function sR(e){return fr(e)?e:null}function tp(e){return Ks(Jd(e),unt),e}function Yn(e){return Ks(fr(e),hnt),e}var lb={};function fnt(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function dnt(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function pnt(e,t){lb[e]=!0,t!==void 0&&fnt(t)}function Ant(e){let t=e.getError;e.getError=function(){let i;do i=t.apply(e),i!==0&&(lb[i]=!0);while(i!==0);for(i in lb)if(lb[i])return delete lb[i],parseInt(i,10);return 0}}var cb=function e(t){let r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(let i=0;i{dnt(\"OESVertexArrayObject emulation library context restored\"),r.reset_()},!0),this.reset_()};H0.prototype.VERTEX_ARRAY_BINDING_OES=34229;H0.prototype.reset_=function(){if(this.vertexArrayObjects!==void 0)for(let i=0;ifr(e)?void 0:0,Tnt={3074:e=>fr(e)?void 0:36064,[ynt]:e=>fr(e)?void 0:vnt,35977:Un,32937:Un,[xnt]:(e,t)=>{let r=fr(e)?e.getExtension(gnt):e.getExtension(mnt);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0},[wnt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)},[Snt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)},[bnt]:(e,t)=>{let r=e.luma.extensions[_nt];return r?t(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Un,35071:Un,37447:Un,36063:(e,t)=>{if(!fr(e)){let r=e.getExtension(SV);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Un,35374:Un,35377:Un,34852:e=>{if(!fr(e)){let t=e.getExtension(SV);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}},36203:e=>e.getExtension(wV)?2147483647:65535,33001:e=>e.getExtension(wV)?16777216:65535,33e3:e=>16777216,37157:Un,35373:Un,35657:Un,36183:Un,37137:Un,34045:Un,35978:Un,35979:Un,35968:Un,35376:Un,35375:Un,35659:Un,37154:Un,35371:Un,35658:Un,35076:Un,35077:Un,35380:Un};function MV(e,t,r){let i=Tnt[r],s=typeof i==\"function\"?i(e,t,r):i;return s!==void 0?s:t(r)}var Mnt=\"OES_vertex_array_object\",EV=\"ANGLE_instanced_arrays\",Ent=\"WEBGL_draw_buffers\",Pnt=\"EXT_disjoint_timer_query\",Int=\"EXT_texture_filter_anisotropic\",Cnt=\"VertexArray requires WebGL2 or OES_vertex_array_object extension\";function Lnt(e,t){return{webgl2:fr(e),ext:e.getExtension(t)}}var oR={[Mnt]:{meta:{suffix:\"OES\"},createVertexArray:()=>{Ks(!1,Cnt)},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[EV]:{meta:{suffix:\"ANGLE\"},vertexAttribDivisor(e,t){Ks(t===0,\"WebGL instanced rendering not supported\")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},[Ent]:{meta:{suffix:\"WEBGL\"},drawBuffers:()=>{Ks(!1)}},[Pnt]:{meta:{suffix:\"EXT\"},createQuery:()=>{Ks(!1)},deleteQuery:()=>{Ks(!1)},beginQuery:()=>{Ks(!1)},endQuery:()=>{},getQuery(e,t){return this.getQueryObject(e,t)},getQueryParameter(e,t){return this.getQueryObject(e,t)},getQueryObject:()=>{}}},aE={readBuffer:(e,t,r)=>{fr(e)&&t(r)},getVertexAttrib:(e,t,r,i)=>{let{webgl2:s,ext:n}=Lnt(e,EV),o;switch(i){case 35069:o=s?void 0:!1;break;case 35070:o=!s&&!n?0:void 0;break;default:}return o!==void 0?o:t(r,i)},getProgramParameter:(e,t,r,i)=>{if(!fr(e))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(r,i)},getInternalformatParameter:(e,t,r,i,s)=>{if(!fr(e))switch(s){case 32937:return new Int32Array([0]);default:}return e.getInternalformatParameter(r,i,s)},getTexParameter(e,t,r,i){switch(i){case 34046:let{extensions:s}=e.luma,n=s[Int];i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(r,i)},getParameter:MV,hint(e,t,r,i){return t(r,i)}};function PV(e){e.luma=e.luma||{};let{luma:t}=e;return t.polyfilled||(bV(e),knt(e),Dnt(e,oR),Rnt(e,{target:t,target2:e}),t.polyfilled=!0),e}globalThis.polyfillContext=PV;function knt(e){e.luma.extensions={};let t=e.getSupportedExtensions()||[];for(let r of t)e.luma[r]=e.getExtension(r)}function Rnt(e,t){let{target:r,target2:i}=t;Object.keys(aE).forEach(s=>{if(typeof aE[s]==\"function\"){let n=e[s]?e[s].bind(e):()=>{},o=aE[s].bind(null,e,n);r[s]=o,i[s]=o}})}function Dnt(e,t){for(let r of Object.getOwnPropertyNames(t))r!==\"overrides\"&&Ont(e,{extension:r,target:e.luma,target2:e})}function Ont(e,t){let{extension:r,target:i,target2:s}=t,n=oR[r];Ks(n);let{meta:o={}}=n,{suffix:c=\"\"}=o,f=e.getExtension(r);for(let _ of Object.keys(n)){let w=\"\".concat(_).concat(c),I=null;_===\"meta\"||typeof e[_]==\"function\"||(f&&typeof f[w]==\"function\"?I=function(){return f[w](...arguments)}:typeof n[_]==\"function\"&&(I=n[_].bind(i))),I&&(i[_]=I,s[_]=I)}}var hb={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},WA=(e,t,r)=>t?e.enable(r):e.disable(r),IV=(e,t,r)=>e.hint(r,t),Qc=(e,t,r)=>e.pixelStorei(r,t),Bnt=(e,t)=>{let r=fr(e)?36009:36160;return e.bindFramebuffer(r,t)},Fnt=(e,t)=>e.bindFramebuffer(36008,t);function ub(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var CV={3042:WA,32773:(e,t)=>e.blendColor(...t),32777:\"blendEquation\",34877:\"blendEquation\",32969:\"blendFunc\",32968:\"blendFunc\",32971:\"blendFunc\",32970:\"blendFunc\",3106:(e,t)=>e.clearColor(...t),3107:(e,t)=>e.colorMask(...t),2884:WA,2885:(e,t)=>e.cullFace(t),2929:WA,2931:(e,t)=>e.clearDepth(t),2932:(e,t)=>e.depthFunc(t),2928:(e,t)=>e.depthRange(...t),2930:(e,t)=>e.depthMask(t),3024:WA,35723:IV,36006:Bnt,2886:(e,t)=>e.frontFace(t),33170:IV,2849:(e,t)=>e.lineWidth(t),32823:WA,32824:\"polygonOffset\",10752:\"polygonOffset\",35977:WA,32938:\"sampleCoverage\",32939:\"sampleCoverage\",3089:WA,3088:(e,t)=>e.scissor(...t),2960:WA,2961:(e,t)=>e.clearStencil(t),2968:(e,t)=>e.stencilMaskSeparate(1028,t),36005:(e,t)=>e.stencilMaskSeparate(1029,t),2962:\"stencilFuncFront\",2967:\"stencilFuncFront\",2963:\"stencilFuncFront\",34816:\"stencilFuncBack\",36003:\"stencilFuncBack\",36004:\"stencilFuncBack\",2964:\"stencilOpFront\",2965:\"stencilOpFront\",2966:\"stencilOpFront\",34817:\"stencilOpBack\",34818:\"stencilOpBack\",34819:\"stencilOpBack\",2978:(e,t)=>e.viewport(...t),3333:Qc,3317:Qc,37440:Qc,37441:Qc,37443:Qc,3330:Qc,3332:Qc,3331:Qc,36010:Fnt,3314:Qc,32878:Qc,3316:Qc,3315:Qc,32877:Qc,framebuffer:(e,t)=>{let r=t&&\"handle\"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{t=ub(t)?t:[t,t],e.blendEquationSeparate(...t)},blendFunc:(e,t)=>{t=ub(t)&&t.length===2?[...t,...t]:t,e.blendFuncSeparate(...t)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(...t),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=ub(t)?t:[t,t];let[r,i]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,i)},stencilFunc:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilFuncSeparate(1028,r,i,s),e.stencilFuncSeparate(1029,n,o,c)},stencilOp:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilOpSeparate(1028,r,i,s),e.stencilOpSeparate(1029,n,o,c)},viewport:(e,t)=>e.viewport(...t)};function ks(e,t,r){return t[e]!==void 0?t[e]:r[e]}var LV={blendEquation:(e,t,r)=>e.blendEquationSeparate(ks(32777,t,r),ks(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(ks(32969,t,r),ks(32968,t,r),ks(32971,t,r),ks(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(ks(32824,t,r),ks(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(ks(32938,t,r),ks(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,ks(2962,t,r),ks(2967,t,r),ks(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,ks(34816,t,r),ks(36003,t,r),ks(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,ks(2964,t,r),ks(2965,t,r),ks(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,ks(34817,t,r),ks(34818,t,r),ks(34819,t,r))},aR={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({36006:r,36010:r});case 36009:return e({36006:r});case 36008:return e({36010:r});default:return null}},blendColor:(e,t,r,i,s)=>e({32773:new Float32Array([t,r,i,s])}),blendEquation:(e,t)=>e({32777:t,34877:t}),blendEquationSeparate:(e,t,r)=>e({32777:t,34877:r}),blendFunc:(e,t,r)=>e({32969:t,32968:r,32971:t,32970:r}),blendFuncSeparate:(e,t,r,i,s)=>e({32969:t,32968:r,32971:i,32970:s}),clearColor:(e,t,r,i,s)=>e({3106:new Float32Array([t,r,i,s])}),clearDepth:(e,t)=>e({2931:t}),clearStencil:(e,t)=>e({2961:t}),colorMask:(e,t,r,i,s)=>e({3107:[t,r,i,s]}),cullFace:(e,t)=>e({2885:t}),depthFunc:(e,t)=>e({2932:t}),depthRange:(e,t,r)=>e({2928:new Float32Array([t,r])}),depthMask:(e,t)=>e({2930:t}),frontFace:(e,t)=>e({2886:t}),lineWidth:(e,t)=>e({2849:t}),polygonOffset:(e,t,r)=>e({32824:t,10752:r}),sampleCoverage:(e,t,r)=>e({32938:t,32939:r}),scissor:(e,t,r,i,s)=>e({3088:new Int32Array([t,r,i,s])}),stencilMask:(e,t)=>e({2968:t,36005:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,i)=>e({2962:t,2967:r,2963:i,34816:t,36003:r,36004:i}),stencilFuncSeparate:(e,t,r,i,s)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:i,[t===1028?2963:36004]:s}),stencilOp:(e,t,r,i)=>e({2964:t,2965:r,2966:i,34817:t,34818:r,34819:i}),stencilOpSeparate:(e,t,r,i,s)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:i,[t===1028?2966:34819]:s}),viewport:(e,t,r,i,s)=>e({2978:[t,r,i,s]})},jf=(e,t)=>e.isEnabled(t),lR={3042:jf,2884:jf,2929:jf,3024:jf,32823:jf,32926:jf,32928:jf,3089:jf,2960:jf,35977:jf};function cR(e){for(let t in e)return!1;return!0}function kV(e,t){if(e===t)return!0;let r=Array.isArray(e)||ArrayBuffer.isView(e),i=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&i&&e.length===t.length){for(let s=0;s{}}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?wy(t):Object.assign({},hb),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}pop(){Ks(this.stateStack.length>0);let t=this.stateStack[this.stateStack.length-1];Ml(this.gl,t),this.stateStack.pop()}_updateCache(t){let r=!1,i,s=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(let n in t){Ks(n!==void 0);let o=t[n],c=this.cache[n];kV(o,c)||(r=!0,i=c,s&&!(n in s)&&(s[n]=c),this.cache[n]=o)}return{valueChanged:r,oldValue:i}}};function lE(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{enable:r=!0,copyState:i}=t;if(Ks(i!==void 0),!e.state){let{polyfillContext:s}=globalThis;s&&s(e),e.state=new uR(e,{copyState:i}),Nnt(e);for(let n in aR){let o=aR[n];znt(e,n,o)}RV(e,\"getParameter\"),RV(e,\"isEnabled\")}return e.state.enable=r,e}function hR(e){e.state||lE(e,{copyState:!1}),e.state.push()}function cE(e){Ks(e.state),e.state.pop()}function Ml(e,t){if(Ks(Jd(e),\"setParameters requires a WebGL context\"),cR(t))return;let r={};for(let s in t){let n=Number(s),o=CV[s];o&&(typeof o==\"string\"?r[o]=!0:o(e,t[s],n))}let i=e.state&&e.state.cache;if(i)for(let s in r){let n=LV[s];n(e,t,i)}}function wy(e,t){if(t=t||hb,typeof t==\"number\"){let s=t,n=lR[s];return n?n(e,s):e.getParameter(s)}let r=Array.isArray(t)?t:Object.keys(t),i={};for(let s of r){let n=lR[s];i[s]=n?n(e,Number(s)):e.getParameter(Number(s))}return i}function uE(e){Ml(e,hb)}function Mn(e,t,r){if(cR(t))return r(e);let{nocatch:i=!0}=t;hR(e),Ml(e,t);let s;if(i)s=r(e),cE(e);else try{s=r(e)}finally{cE(e)}return s}function El(e){let{luma:t}=e;if(e.canvas&&t){let r=t.canvasSizeInfo,i=\"clientWidth\"in r?r.clientWidth:e.canvas.clientWidth;return i?e.drawingBufferWidth/i:1}return 1}function Sy(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=El(e),s=e.drawingBufferWidth,n=e.drawingBufferHeight;return Unt(t,i,s,n,r)}function BV(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function Unt(e,t,r,i,s){let n=DV(e[0],t,r),o=OV(e[1],t,i,s),c=DV(e[0]+1,t,r),f=c===r-1?c:c-1;c=OV(e[1]+1,t,i,s);let _;return s?(c=c===0?c:c+1,_=o,o=c):_=c===i-1?c:c-1,{x:n,y:o,width:Math.max(f-n+1,1),height:Math.max(_-o+1,1)}}function DV(e,t,r){return Math.min(Math.round(e*t),r-1)}function OV(e,t,r,i){return i?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var fR=Lo(),Vnt=fR&&typeof document<\"u\",FV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Ty(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ks(fR,`createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils`),e=Object.assign({},FV,e);let{width:t,height:r}=e;function i(c){if(e.throwOnError)throw new Error(c);return console.error(c),null}e.onError=i;let s,{canvas:n}=e,o=Gnt({canvas:n,width:t,height:r,onError:i});return s=jnt(o,e),s?(s=q0(s,e),Wnt(s),s):null}function q0(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||Hnt(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{},t=Object.assign({},FV,t);let{manageState:r,debug:i}=t;return r&&lE(e,{copyState:!1,log:function(){for(var s=arguments.length,n=new Array(s),o=0;o1&&arguments[1]!==void 0?arguments[1]:{};if(e.canvas){let i=BV(t.useDevicePixels);qnt(e,i,t);return}let r=e.getExtension(\"STACKGL_resize_drawingbuffer\");r&&\"width\"in t&&\"height\"in t&&r.resize(t.width,t.height)}function jnt(e,t){let{onError:r}=t,i=null,s=f=>i=f.statusMessage||i;e.addEventListener(\"webglcontextcreationerror\",s,!1);let{webgl1:n=!0,webgl2:o=!0}=t,c=null;return o&&(c=c||e.getContext(\"webgl2\",t),c=c||e.getContext(\"experimental-webgl2\",t)),n&&(c=c||e.getContext(\"webgl\",t),c=c||e.getContext(\"experimental-webgl\",t)),e.removeEventListener(\"webglcontextcreationerror\",s,!1),c?(t.onContextLost&&e.addEventListener(\"webglcontextlost\",t.onContextLost,!1),t.onContextRestored&&e.addEventListener(\"webglcontextrestored\",t.onContextRestored,!1),c):r(\"Failed to create \".concat(o&&!n?\"WebGL2\":\"WebGL\",\" context: \").concat(i||\"Unknown error\"))}function Gnt(e){let{canvas:t,width:r=800,height:i=600,onError:s}=e,n;return typeof t==\"string\"?(Vnt&&document.readyState===\"complete\"||s(\"createGLContext called on canvas '\".concat(t,\"' before page was loaded\")),n=document.getElementById(t)):t?n=t:(n=document.createElement(\"canvas\"),n.id=\"lumagl-canvas\",n.style.width=Number.isFinite(r)?\"\".concat(r,\"px\"):\"100%\",n.style.height=Number.isFinite(i)?\"\".concat(i,\"px\"):\"100%\",document.body.insertBefore(n,document.body.firstChild)),n}function Wnt(e){let t=fr(e)?\"WebGL2\":\"WebGL1\",r=zV(e),i=r?\"(\".concat(r.vendor,\",\").concat(r.renderer,\")\"):\"\",s=e.debug?\" debug\":\"\";He.info(1,\"\".concat(t).concat(s,\" context \").concat(i))()}function Hnt(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?2:1}function qnt(e,t,r){let i=\"width\"in r?r.width:e.canvas.clientWidth,s=\"height\"in r?r.height:e.canvas.clientHeight;(!i||!s)&&(He.log(1,\"Canvas clientWidth/clientHeight is 0\")(),t=1,i=e.canvas.width||1,s=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};let n=e.luma.canvasSizeInfo;if(n.clientWidth!==i||n.clientHeight!==s||n.devicePixelRatio!==t){let o=t,c=Math.floor(i*o),f=Math.floor(s*o);e.canvas.width=c,e.canvas.height=f,(e.drawingBufferWidth!==c||e.drawingBufferHeight!==f)&&(He.warn(\"Device pixel ratio clamped\")(),o=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/s),e.canvas.width=Math.floor(i*o),e.canvas.height=Math.floor(s*o)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:s,devicePixelRatio:t})}}function fb(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Z0=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"type\",void 0),G(this,\"sampleSize\",1),G(this,\"time\",void 0),G(this,\"count\",void 0),G(this,\"samples\",void 0),G(this,\"lastTiming\",void 0),G(this,\"lastSampleTime\",void 0),G(this,\"lastSampleCount\",void 0),G(this,\"_count\",0),G(this,\"_time\",0),G(this,\"_samples\",0),G(this,\"_startTime\",0),G(this,\"_timerPending\",!1),this.name=t,this.type=r,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=fb(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(fb()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Gf=class{constructor(t){G(this,\"id\",void 0),G(this,\"stats\",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t in this.stats)this.stats[t].reset();return this}forEach(t){for(let r in this.stats)t(this.stats[r])}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){if(!t||!t.name)return null;let{name:r,type:i}=t;return this.stats[r]||(t instanceof Z0?this.stats[r]=t:this.stats[r]=new Z0(r,i)),this.stats[r]}};var db=\"8.5.21\",Znt=\"set luma.log.level=1 (or higher) to trace rendering\",pR=class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gf({id:t})),this.stats.get(t)}},Du=new pR;if(globalThis.luma&&globalThis.luma.VERSION!==db)throw new Error(\"luma.gl - multiple VERSIONs detected: \".concat(globalThis.luma.VERSION,\" vs \").concat(db));globalThis.luma||(Lo()&&He.log(1,\"luma.gl \".concat(db,\" - \").concat(Znt))(),globalThis.luma=globalThis.luma||{VERSION:db,version:db,log:He,stats:Du,globals:{modules:{},nodeIO:{}}});var _3t=globalThis.luma;function AR(e){return typeof window<\"u\"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function mR(e){return typeof window<\"u\"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}function ye(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}function hE(e,t){if(typeof t!=\"string\")return t;let r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\\./,\"\");let i=e[t];return ye(i!==void 0,\"Accessing undefined constant GL.\".concat(t)),i}function Ou(e,t){t=Number(t);for(let r in e)if(e[r]===t)return\"GL.\".concat(r);return String(t)}var gR={};function ta(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:\"id\";gR[e]=gR[e]||1;let t=gR[e]++;return\"\".concat(e,\"-\").concat(t)}function _R(e){return ye(typeof e==\"number\",\"Input must be a number\"),e&&(e&e-1)===0}function Wf(e){let t=!0;for(let r in e){t=!1;break}return t}function fE(e,t,r,i){let s=\"See luma.gl \".concat(r,\" Upgrade Guide at https://luma.gl/docs/upgrade-guide\"),n=Object.getPrototypeOf(e);i.forEach(o=>{n.methodName||(n[o]=()=>{throw He.removed(\"Calling removed method \".concat(t,\".\").concat(o,\": \"),s)(),new Error(o)})})}var My=\"Resource subclass must define virtual methods\",Js=class{get[Symbol.toStringTag](){return\"Resource\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t);let{id:i,userData:s={}}=r;this.gl=t,this.gl2=t,this.id=i||ta(this[Symbol.toStringTag]),this.userData=s,this._bound=!1,this._handle=r.handle,this._handle===void 0&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return\"\".concat(this[Symbol.toStringTag]||this.constructor.name,\"(\").concat(this.id,\")\")}get handle(){return this._handle}delete(){let{deleteChildren:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&t&&r.filter(Boolean).forEach(i=>i.delete()),this}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof t!=\"function\")return this._bindHandle(t),this;let r;return this._bound?r=t():(this._bindHandle(this.handle),this._bound=!0,r=t(),this._bound=!1,this._bindHandle(null)),r}unbind(){this.bind(null)}getParameter(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension)))){let c=s.webgl1,f=\"webgl2\"in s?s.webgl2:s.webgl1;return n?f:c}}return this._getParameter(t,r)}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{parameters:r,keys:i}=t,s=this.constructor.PARAMETERS||{},n=fr(this.gl),o={},c=r||Object.keys(s);for(let f of c){let _=s[f];if(_&&(!(\"webgl2\"in _)||n)&&(!(\"extension\"in _)||this.gl.getExtension(_.extension))){let I=i?Ou(this.gl,f):f;o[I]=this.getParameter(f,t),i&&_.type===\"GLenum\"&&(o[I]=Ou(this.gl,o[I]))}}return o}setParameter(t,r){t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension))))throw new Error(\"Parameter not available on this platform\");s.type===\"GLenum\"&&(r=hE(r))}return this._setParameter(t,r),this}setParameters(t){for(let r in t)this.setParameter(r,t[r]);return this}stubRemovedMethods(t,r,i){return fE(this,t,r,i)}initialize(t){}_createHandle(){throw new Error(My)}_deleteHandle(){throw new Error(My)}_bindHandle(t){throw new Error(My)}_getOptsFromHandle(){throw new Error(My)}_getParameter(t,r){throw new Error(My)}_setParameter(t,r){throw new Error(My)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){let t=this[Symbol.toStringTag],r=Du.get(\"Resource Counts\");r.get(\"Resources Created\").incrementCount(),r.get(\"\".concat(t,\"s Created\")).incrementCount(),r.get(\"\".concat(t,\"s Active\")).incrementCount()}_removeStats(){let t=this[Symbol.toStringTag];Du.get(\"Resource Counts\").get(\"\".concat(t,\"s Active\")).decrementCount()}_trackAllocatedMemory(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag];this._trackAllocatedMemoryForContext(t,r),this._trackAllocatedMemoryForContext(t,r,this.gl.canvas&&this.gl.canvas.id),this.byteLength=t}_trackAllocatedMemoryForContext(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"\",s=Du.get(\"Memory Usage\".concat(i));s.get(\"GPU Memory\").addCount(t),s.get(\"\".concat(r,\" Memory\")).addCount(t)}_trackDeallocatedMemory(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag];this._trackDeallocatedMemoryForContext(t),this._trackDeallocatedMemoryForContext(t,this.gl.canvas&&this.gl.canvas.id),this.byteLength=0}_trackDeallocatedMemoryForContext(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\",i=Du.get(\"Memory Usage\".concat(r));i.get(\"GPU Memory\").subtractCount(this.byteLength),i.get(\"\".concat(t,\" Memory\")).subtractCount(this.byteLength)}};var Ynt=\"Failed to deduce GL constant from typed array\";function pb(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Ynt)}}function HA(e){let{clamped:t=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return t?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error(\"Failed to deduce typed array type from GL constant\")}}function NV(e){let{data:t,width:r,height:i,bytesPerPixel:s=4,temp:n}=e,o=r*s;n=n||new Uint8Array(o);for(let c=0;cthis._assign(s)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return e.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return e.getBytesPerVertex(this)}_assign(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=Ab(\"Accessor\",t,$nt),t.type!==void 0&&(this.type=t.type,(t.type===5124||t.type===5125)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index==\"boolean\"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.isInstanced?1:0),this}};var VV=10,jV={offset:\"accessor.offset\",stride:\"accessor.stride\",type:\"accessor.type\",size:\"accessor.size\",divisor:\"accessor.divisor\",normalized:\"accessor.normalized\",integer:\"accessor.integer\",instanced:\"accessor.divisor\",isInstanced:\"accessor.divisor\"},Xnt={removedProps:{},replacedProps:{bytes:\"byteLength\"},deprecatedProps:jV},Knt={removedProps:jV},Fr=class extends Js{get[Symbol.toStringTag](){return\"Buffer\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Buffer\",\"v6.0\",[\"layout\",\"setLayout\",\"getIndexedParameter\"]),this.target=r.target||(this.gl.webgl2?36662:34962),this.initialize(r),Object.seal(this)}getElementCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerElement(t))}getVertexCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerVertex(t))}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=Ab(\"Buffer\",t,Xnt),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return t=Ab(\"Buffer\",t,Knt),\"accessor\"in t&&this.setAccessor(t.accessor),this}setAccessor(t){return t=Object.assign({},t),delete t.buffer,this.accessor=new Pl(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});let{data:r,offset:i=0,srcOffset:s=0}=t,n=t.byteLength||t.length;ye(r);let o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),s!==0||n!==void 0?(Yn(this.gl),this.gl.bufferSubData(this.target,i,r,s,n)):this.gl.bufferSubData(o,i,r),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(r),this}copyData(t){let{sourceBuffer:r,readOffset:i=0,writeOffset:s=0,size:n}=t,{gl:o}=this;return Yn(o),o.bindBuffer(36662,r.handle),o.bindBuffer(36663,this.handle),o.copyBufferSubData(36662,36663,i,s,n),o.bindBuffer(36662,null),o.bindBuffer(36663,null),this.debugData=null,this}getData(){let{dstData:t=null,srcByteOffset:r=0,dstOffset:i=0,length:s=0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yn(this.gl);let n=HA(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(r),c=i,f,_;t?(_=t.length,f=_-c):(f=Math.min(o,s||o),_=c+f);let w=Math.min(o,f);return s=s||w,ye(s<=w),t=t||new n(_),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,t,i,s),this.gl.bindBuffer(36662,null),t}bind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index,offset:i=0,size:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?s!==void 0?this.gl.bindBufferRange(t,r,this.handle,i,s):(ye(i===0),this.gl.bindBufferBase(t,r,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?this.gl.bindBufferBase(t,r,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(VV,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t.byteLength+r;ye(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();let s=this._getTarget();this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,this.usage),this.gl.bufferSubData(s,r,t),this.gl.bindBuffer(s,null),this.debugData=t.slice(0,VV),this.bytesUsed=i,this._trackAllocatedMemory(i);let n=pb(t);return ye(n),this.setAccessor(new Pl(this.accessor,{type:n})),this}_setByteLength(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.usage;ye(t>=0),this._trackDeallocatedMemory();let i=t;t===0&&(i=new Float32Array(0));let s=this._getTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,r),this.gl.bindBuffer(s,null),this.usage=r,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){let r=HA(this.accessor.type||5126,{clamped:!1}),i=t/r.BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(t){this.accessor.type||this.setAccessor(new Pl(this.accessor,{type:pb(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);let r=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),r}get type(){return He.deprecated(\"Buffer.type\",\"Buffer.accessor.type\")(),this.accessor.type}get bytes(){return He.deprecated(\"Buffer.bytes\",\"Buffer.byteLength\")(),this.byteLength}setByteLength(t){return He.deprecated(\"setByteLength\",\"reallocate\")(),this.reallocate(t)}updateAccessor(t){return He.deprecated(\"updateAccessor(...)\",\"setAccessor(new Accessor(buffer.accessor, ...)\")(),this.accessor=new Pl(this.accessor,t),this}};var dE={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},pE={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},AE={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1};function GV(e,t){let r=dE[t];if(!r)return!1;if(r.gl1===void 0&&r.gl2===void 0)return!0;let i=fr(e)&&r.gl2||r.gl1;return typeof i==\"string\"?e.getExtension(i):i}function WV(e,t){let r=dE[t];switch(r&&r.types[0]){case 5126:return e.getExtension(\"OES_texture_float_linear\");case 5131:return e.getExtension(\"OES_texture_half_float_linear\");default:return!0}}var Jnt=[9729,9728],HV=globalThis.WebGLBuffer||function(){},tl=class extends Js{get[Symbol.toStringTag](){return\"Texture\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{format:i,linearFiltering:s}=r,n=!0;return i&&(n=n&&GV(t,i),n=n&&(!s||WV(t,i))),n}constructor(t,r){let{id:i=ta(\"texture\"),handle:s,target:n}=r;super(t,{id:i,handle:s}),this.target=n,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return\"Texture(\".concat(this.id,\",\").concat(this.width,\"x\").concat(this.height,\")\")}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.data;if(r instanceof Promise)return r.then(K=>this.initialize(Object.assign({},t,{pixels:K,data:K}))),this;let i=typeof HTMLVideoElement<\"u\"&&r instanceof HTMLVideoElement;if(i&&r.readyStatethis.initialize(t)),this;let{pixels:s=null,format:n=6408,border:o=0,recreate:c=!1,parameters:f={},pixelStore:_={},textureUnit:w=void 0}=t;r||(r=s);let{width:I,height:R,dataFormat:N,type:j,compressed:Q=!1,mipmaps:et=!0}=t,{depth:Y=0}=t;return{width:I,height:R,compressed:Q,dataFormat:N,type:j}=this._deduceParameters({format:n,type:j,dataFormat:N,compressed:Q,data:r,width:I,height:R}),this.width=I,this.height=R,this.depth=Y,this.format=n,this.type=j,this.dataFormat=N,this.border=o,this.textureUnit=w,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),et&&this._isNPOT()&&(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),et=!1,this._updateForNPOT(f)),this.mipmaps=et,this.setImageData({data:r,width:I,height:R,depth:Y,format:n,type:j,dataFormat:N,border:o,mipmaps:et,parameters:_,compressed:Q}),et&&this.generateMipmap(),this.setParameters(f),c&&(this.data=r),i&&(this._video={video:r,parameters:f,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}update(){if(this._video){let{video:t,parameters:r,lastTime:i}=this._video;if(i===t.currentTime||t.readyState0&&arguments[0]!==void 0?arguments[0]:{};return this._isNPOT()?(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Mn(this.gl,t,()=>{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory(\"Texture\");let{target:r=this.target,pixels:i=null,level:s=0,format:n=this.format,border:o=this.border,offset:c=0,parameters:f={}}=t,{data:_=null,type:w=this.type,width:I=this.width,height:R=this.height,dataFormat:N=this.dataFormat,compressed:j=!1}=t;_||(_=i),{type:w,dataFormat:N,compressed:j,width:I,height:R}=this._deduceParameters({format:n,type:w,dataFormat:N,compressed:j,data:_,width:I,height:R});let{gl:Q}=this;Q.bindTexture(this.target,this.handle);let et=null;({data:_,dataType:et}=this._getDataType({data:_,compressed:j}));let Y,K=0;if(Mn(this.gl,f,()=>{switch(et){case\"null\":Q.texImage2D(r,s,n,I,R,o,N,w,_);break;case\"typed-array\":Q.texImage2D(r,s,n,I,R,o,N,w,_,c);break;case\"buffer\":Y=Yn(Q),Y.bindBuffer(35052,_.handle||_),Y.texImage2D(r,s,n,I,R,o,N,w,c),Y.bindBuffer(35052,null);break;case\"browser-object\":fr(Q)?Q.texImage2D(r,s,n,I,R,o,N,w,_):Q.texImage2D(r,s,n,N,w,_);break;case\"compressed\":for(let[J,ut]of _.entries())Q.compressedTexImage2D(r,J,ut.format,ut.width,ut.height,o,ut.data),K+=ut.levelSize;break;default:ye(!1,\"Unknown image data type\")}}),et===\"compressed\")this._trackAllocatedMemory(K,\"Texture\");else if(_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,\"Texture\");else{let J=pE[this.dataFormat]||4,ut=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*J*ut,\"Texture\")}return this.loaded=!0,this}setSubImageData(t){let{target:r=this.target,pixels:i=null,data:s=null,x:n=0,y:o=0,width:c=this.width,height:f=this.height,level:_=0,format:w=this.format,type:I=this.type,dataFormat:R=this.dataFormat,compressed:N=!1,offset:j=0,border:Q=this.border,parameters:et={}}=t;if({type:I,dataFormat:R,compressed:N,width:c,height:f}=this._deduceParameters({format:w,type:I,dataFormat:R,compressed:N,data:s,width:c,height:f}),ye(this.depth===0,\"texSubImage not supported for 3D textures\"),s||(s=i),s&&s.data){let Y=s;s=Y.data,c=Y.shape[0],f=Y.shape[1]}s instanceof Fr&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,et,()=>{if(N)this.gl.compressedTexSubImage2D(r,_,n,o,c,f,w,s);else if(s===null)this.gl.texSubImage2D(r,_,n,o,c,f,R,I,null);else if(ArrayBuffer.isView(s))this.gl.texSubImage2D(r,_,n,o,c,f,R,I,s,j);else if(s instanceof HV){let Y=Yn(this.gl);Y.bindBuffer(35052,s),Y.texSubImage2D(r,_,n,o,c,f,R,I,j),Y.bindBuffer(35052,null)}else fr(this.gl)?Yn(this.gl).texSubImage2D(r,_,n,o,c,f,R,I,s):this.gl.texSubImage2D(r,_,n,o,R,I,s)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,this.handle),t}unbind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,null),t}_getDataType(t){let{data:r,compressed:i=!1}=t;return i?{data:r,dataType:\"compressed\"}:r===null?{data:r,dataType:\"null\"}:ArrayBuffer.isView(r)?{data:r,dataType:\"typed-array\"}:r instanceof Fr?{data:r.handle,dataType:\"buffer\"}:r instanceof HV?{data:r,dataType:\"buffer\"}:{data:r,dataType:\"browser-object\"}}_deduceParameters(t){let{format:r,data:i}=t,{width:s,height:n,dataFormat:o,type:c,compressed:f}=t,_=dE[r];return o=o||_&&_.dataFormat,c=c||_&&_.types[0],f=f||_&&_.compressed,{width:s,height:n}=this._deduceImageSize(i,s,n),{dataFormat:o,type:c,compressed:f,width:s,height:n,format:r,data:i}}_deduceImageSize(t,r,i){let s;return typeof ImageData<\"u\"&&t instanceof ImageData?s={width:t.width,height:t.height}:typeof HTMLImageElement<\"u\"&&t instanceof HTMLImageElement?s={width:t.naturalWidth,height:t.naturalHeight}:typeof HTMLCanvasElement<\"u\"&&t instanceof HTMLCanvasElement?s={width:t.width,height:t.height}:typeof ImageBitmap<\"u\"&&t instanceof ImageBitmap?s={width:t.width,height:t.height}:typeof HTMLVideoElement<\"u\"&&t instanceof HTMLVideoElement?s={width:t.videoWidth,height:t.videoHeight}:t?s={width:r,height:i}:s={width:r>=0?r:1,height:i>=0?i:1},ye(s,\"Could not deduced texture size\"),ye(r===void 0||s.width===r,\"Deduced texture width does not match supplied width\"),ye(i===void 0||s.height===i,\"Deduced texture height does not match supplied height\"),s}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory(\"Texture\")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);let r=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),r}}_setParameter(t,r){switch(this.gl.bindTexture(this.target,this.handle),r=this._getNPOTParam(t,r),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,r);break;case 4096:case 4097:ye(!1);break;default:this.gl.texParameteri(this.target,t,r);break}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return fr(this.gl)||!this.width||!this.height?!1:!_R(this.width)||!_R(this.height)}_updateForNPOT(t){t[this.gl.TEXTURE_MIN_FILTER]===void 0&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),t[this.gl.TEXTURE_WRAP_S]===void 0&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),t[this.gl.TEXTURE_WRAP_T]===void 0&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,r){if(this._isNPOT())switch(t){case 10241:Jnt.indexOf(r)===-1&&(r=9729);break;case 10242:case 10243:r!==33071&&(r=33071);break;default:break}return r}};var tst=\"\";function qV(e,t){return ye(typeof e==\"string\"),e=tst+e,new Promise((r,i)=>{try{let s=new Image;s.onload=()=>r(s),s.onerror=()=>i(new Error(\"Could not load image \".concat(e,\".\"))),s.crossOrigin=t&&t.crossOrigin||\"anonymous\",s.src=e}catch(s){i(s)}})}var pi=class extends tl{get[Symbol.toStringTag](){return\"Texture2D\"}static isSupported(t,r){return tl.isSupported(t,r)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),(r instanceof Promise||typeof r==\"string\")&&(r={data:r}),typeof r.data==\"string\"&&(r=Object.assign({},r,{data:qV(r.data)})),super(t,Object.assign({},r,{target:3553})),this.initialize(r),Object.seal(this)}};var yR=[34069,34070,34071,34072,34073,34074],Y0=class extends tl{get[Symbol.toStringTag](){return\"TextureCube\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),super(t,Object.assign({},r,{target:34067})),this.initialize(r),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{mipmaps:r=!0,parameters:i={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,r&&this.generateMipmap(t),this.setParameters(i)}),this}subImage(t){let{face:r,data:i,x:s=0,y:n=0,mipmapLevel:o=0}=t;return this._subImage({target:r,data:i,x:s,y:n,mipmapLevel:o})}async setCubeMapImageData(t){let{width:r,height:i,pixels:s,data:n,border:o=0,format:c=6408,type:f=5121}=t,{gl:_}=this,w=s||n,I=await Promise.all(yR.map(R=>{let N=w[R];return Promise.all(Array.isArray(N)?N:[N])}));this.bind(),yR.forEach((R,N)=>{I[N].length>1&&this.opts.mipmaps!==!1&&He.warn(\"\".concat(this.id,\" has mipmap and multiple LODs.\"))(),I[N].forEach((j,Q)=>{r&&i?_.texImage2D(R,Q,c,r,i,o,c,f,j):_.texImage2D(R,Q,c,c,f,j)})}),this.unbind()}setImageDataForFace(t){let{face:r,width:i,height:s,pixels:n,data:o,border:c=0,format:f=6408,type:_=5121}=t,{gl:w}=this,I=n||o;return this.bind(),I instanceof Promise?I.then(R=>this.setImageDataForFace(Object.assign({},t,{face:r,data:R,pixels:R}))):this.width||this.height?w.texImage2D(r,0,f,i,s,c,f,_,I):w.texImage2D(r,0,f,f,_,I),this}};Y0.FACES=yR;var Ey=class extends tl{get[Symbol.toStringTag](){return\"Texture3D\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}),super(t,r),this.initialize(r),Object.seal(this)}setImageData(t){let{level:r=0,dataFormat:i=6408,width:s,height:n,depth:o=1,border:c=0,format:f,type:_=5121,offset:w=0,data:I,parameters:R={}}=t;if(this._trackDeallocatedMemory(\"Texture\"),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,R,()=>{ArrayBuffer.isView(I)&&this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,I),I instanceof Fr&&(this.gl.bindBuffer(35052,I.handle),this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,w))}),I&&I.byteLength)this._trackAllocatedMemory(I.byteLength,\"Texture\");else{let N=pE[this.dataFormat]||4,j=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*N*j,\"Texture\")}return this.loaded=!0,this}};var Q0=\"EXT_color_buffer_float\",vR={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Q0,bpp:2},33327:{gl2:Q0,bpp:4},34842:{gl2:Q0,bpp:8},33326:{gl2:Q0,bpp:4},33328:{gl2:Q0,bpp:8},34836:{gl2:Q0,bpp:16},35898:{gl2:Q0,bpp:4}};function est(e,t,r){let i=r[t];if(!i)return!1;let s=fr(e)&&i.gl2||i.gl1;return typeof s==\"string\"?e.getExtension(s):s}var el=class extends Js{get[Symbol.toStringTag](){return\"Renderbuffer\"}static isSupported(t){let{format:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:null};return!r||est(t,r,vR)}static getSamplesForFormat(t,r){let{format:i}=r;return t.getInternalformatParameter(36161,i,32937)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.initialize(r),Object.seal(this)}initialize(t){let{format:r,width:i=1,height:s=1,samples:n=0}=t;return ye(r,\"Needs format\"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),n!==0&&fr(this.gl)?this.gl.renderbufferStorageMultisample(36161,n,r,i,s):this.gl.renderbufferStorage(36161,r,i,s),this.format=r,this.width=i,this.height=s,this.samples=n,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*vR[this.format].bpp),this}resize(t){let{width:r,height:i}=t;return r!==this.width||i!==this.height?this.initialize({width:r,height:i,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}};var rst=256,ist=1024,nst=16384,ZV=6144,YV=6145,QV=6146,$V=34041,XV=\"clear: bad arguments\";function Hf(e){let{framebuffer:t=null,color:r=null,depth:i=null,stencil:s=null}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={};t&&(n.framebuffer=t);let o=0;r&&(o|=nst,r!==!0&&(n.clearColor=r)),i&&(o|=rst,i!==!0&&(n.clearDepth=i)),s&&(o|=ist,i!==!0&&(n.clearStencil=i)),ye(o!==0,XV),Mn(e,n,()=>{e.clear(o)})}function xR(e){let{framebuffer:t=null,buffer:r=ZV,drawBuffer:i=0,value:s=[0,0,0,0]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(e),Mn(e,{framebuffer:t},()=>{switch(r){case ZV:switch(s.constructor){case Int32Array:e.clearBufferiv(r,i,s);break;case Uint32Array:e.clearBufferuiv(r,i,s);break;case Float32Array:default:e.clearBufferfv(r,i,s)}break;case YV:e.clearBufferfv(YV,0,[s]);break;case QV:e.clearBufferiv(QV,0,[s]);break;case $V:let[n,o]=s;e.clearBufferfi($V,0,n,o);break;default:ye(!1,XV)}})}function KV(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ye(!1),0}}function Dh(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{sourceX:r=0,sourceY:i=0,sourceFormat:s=6408}=t,{sourceAttachment:n=36064,target:o=null,sourceWidth:c,sourceHeight:f,sourceType:_}=t,{framebuffer:w,deleteFramebuffer:I}=JV(e);ye(w);let{gl:R,handle:N,attachments:j}=w;c=c||w.width,f=f||w.height,n===36064&&N===null&&(n=1028),ye(j[n]),_=_||j[n].type,o=sst(o,_,s,c,f),_=_||pb(o);let Q=R.bindFramebuffer(36160,N);return R.readPixels(r,i,c,f,s,_,o),R.bindFramebuffer(36160,Q||null),I&&w.delete(),o}function mE(e){let{sourceAttachment:t=36064,targetMaxHeight:r=Number.MAX_SAFE_INTEGER}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=Dh(e,{sourceAttachment:t}),{width:s,height:n}=e;for(;n>r;)({data:i,width:s,height:n}=UV({data:i,width:s,height:n}));NV({data:i,width:s,height:n});let o=document.createElement(\"canvas\");o.width=s,o.height=n;let c=o.getContext(\"2d\"),f=c.createImageData(s,n);return f.data.set(i),c.putImageData(f,0,0),o.toDataURL()}function gE(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{sourceX:i=0,sourceY:s=0,targetMipmaplevel:n=0,targetInternalFormat:o=6408}=r,{targetX:c,targetY:f,targetZ:_,width:w,height:I}=r,{framebuffer:R,deleteFramebuffer:N}=JV(e);ye(R);let{gl:j,handle:Q}=R,et=typeof c<\"u\"||typeof f<\"u\"||typeof _<\"u\";c=c||0,f=f||0,_=_||0;let Y=j.bindFramebuffer(36160,Q);ye(t);let K=null;if(t instanceof tl&&(K=t,w=Number.isFinite(w)?w:K.width,I=Number.isFinite(I)?I:K.height,K.bind(0),t=K.target),!et)j.copyTexImage2D(t,n,o,i,s,w,I,0);else switch(t){case 3553:case 34067:j.copyTexSubImage2D(t,n,c,f,i,s,w,I);break;case 35866:case 32879:Yn(j).copyTexSubImage3D(t,n,c,f,_,i,s,w,I);break;default:}return K&&K.unbind(),j.bindFramebuffer(36160,Y||null),N&&R.delete(),K}function JV(e){return e instanceof yi?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:tj(e),deleteFramebuffer:!0}}function sst(e,t,r,i,s){if(e)return e;t=t||5121;let n=HA(t,{clamped:!1}),o=KV(r);return new n(i*s*o)}var Ii={WEBGL2:\"WEBGL2\",VERTEX_ARRAY_OBJECT:\"VERTEX_ARRAY_OBJECT\",TIMER_QUERY:\"TIMER_QUERY\",INSTANCED_RENDERING:\"INSTANCED_RENDERING\",MULTIPLE_RENDER_TARGETS:\"MULTIPLE_RENDER_TARGETS\",ELEMENT_INDEX_UINT32:\"ELEMENT_INDEX_UINT32\",BLEND_EQUATION_MINMAX:\"BLEND_EQUATION_MINMAX\",FLOAT_BLEND:\"FLOAT_BLEND\",COLOR_ENCODING_SRGB:\"COLOR_ENCODING_SRGB\",TEXTURE_DEPTH:\"TEXTURE_DEPTH\",TEXTURE_FLOAT:\"TEXTURE_FLOAT\",TEXTURE_HALF_FLOAT:\"TEXTURE_HALF_FLOAT\",TEXTURE_FILTER_LINEAR_FLOAT:\"TEXTURE_FILTER_LINEAR_FLOAT\",TEXTURE_FILTER_LINEAR_HALF_FLOAT:\"TEXTURE_FILTER_LINEAR_HALF_FLOAT\",TEXTURE_FILTER_ANISOTROPIC:\"TEXTURE_FILTER_ANISOTROPIC\",COLOR_ATTACHMENT_RGBA32F:\"COLOR_ATTACHMENT_RGBA32F\",COLOR_ATTACHMENT_FLOAT:\"COLOR_ATTACHMENT_FLOAT\",COLOR_ATTACHMENT_HALF_FLOAT:\"COLOR_ATTACHMENT_HALF_FLOAT\",GLSL_FRAG_DATA:\"GLSL_FRAG_DATA\",GLSL_FRAG_DEPTH:\"GLSL_FRAG_DEPTH\",GLSL_DERIVATIVES:\"GLSL_DERIVATIVES\",GLSL_TEXTURE_LOD:\"GLSL_TEXTURE_LOD\"};function ost(e){let t=new pi(e,{format:6408,type:5126,dataFormat:6408}),r=new yi(e,{id:\"test-framebuffer\",check:!1,attachments:{36064:t}}),i=r.getStatus();return t.delete(),r.delete(),i===36053}var bR={[Ii.WEBGL2]:[!1,!0],[Ii.VERTEX_ARRAY_OBJECT]:[\"OES_vertex_array_object\",!0],[Ii.TIMER_QUERY]:[\"EXT_disjoint_timer_query\",\"EXT_disjoint_timer_query_webgl2\"],[Ii.INSTANCED_RENDERING]:[\"ANGLE_instanced_arrays\",!0],[Ii.MULTIPLE_RENDER_TARGETS]:[\"WEBGL_draw_buffers\",!0],[Ii.ELEMENT_INDEX_UINT32]:[\"OES_element_index_uint\",!0],[Ii.BLEND_EQUATION_MINMAX]:[\"EXT_blend_minmax\",!0],[Ii.FLOAT_BLEND]:[\"EXT_float_blend\"],[Ii.COLOR_ENCODING_SRGB]:[\"EXT_sRGB\",!0],[Ii.TEXTURE_DEPTH]:[\"WEBGL_depth_texture\",!0],[Ii.TEXTURE_FLOAT]:[\"OES_texture_float\",!0],[Ii.TEXTURE_HALF_FLOAT]:[\"OES_texture_half_float\",!0],[Ii.TEXTURE_FILTER_LINEAR_FLOAT]:[\"OES_texture_float_linear\"],[Ii.TEXTURE_FILTER_LINEAR_HALF_FLOAT]:[\"OES_texture_half_float_linear\"],[Ii.TEXTURE_FILTER_ANISOTROPIC]:[\"EXT_texture_filter_anisotropic\"],[Ii.COLOR_ATTACHMENT_RGBA32F]:[ost,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_FLOAT]:[!1,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_HALF_FLOAT]:[\"EXT_color_buffer_half_float\"],[Ii.GLSL_FRAG_DATA]:[\"WEBGL_draw_buffers\",!0],[Ii.GLSL_FRAG_DEPTH]:[\"EXT_frag_depth\",!0],[Ii.GLSL_DERIVATIVES]:[\"OES_standard_derivatives\",!0],[Ii.GLSL_TEXTURE_LOD]:[\"EXT_shader_texture_lod\",!0]};var ast=2;function $0(e,t){return Oh(e,t)}function Oh(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>ej(e,r))}function _E(e){e.luma=e.luma||{},e.luma.caps=e.luma.caps||{};for(let t in bR)e.luma.caps[t]===void 0&&(e.luma.caps[t]=ej(e,t));return e.luma.caps}function ej(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},e.luma.caps[t]===void 0&&(e.luma.caps[t]=lst(e,t)),e.luma.caps[t]||He.log(ast,\"Feature: \".concat(t,\" not supported\"))(),e.luma.caps[t]}function lst(e,t){let r=bR[t];ye(r,t);let i,s=fr(e)&&r[1]||r[0];if(typeof s==\"function\")i=s(e);else if(Array.isArray(s)){i=!0;for(let n of s)i=i&&!!e.getExtension(n)}else typeof s==\"string\"?i=!!e.getExtension(s):typeof s==\"boolean\"?i=s:ye(!1);return i}var rj=\"Multiple render targets not supported\",yi=class e extends Js{get[Symbol.toStringTag](){return\"Framebuffer\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{colorBufferFloat:i,colorBufferHalfFloat:s}=r,n=!0;return i&&(n=!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"WEBGL_color_buffer_float\")||t.getExtension(\"OES_texture_float\"))),s&&(n=n&&!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"EXT_color_buffer_half_float\"))),n}static getDefaultFramebuffer(t){return t.luma=t.luma||{},t.luma.defaultFramebuffer=t.luma.defaultFramebuffer||new e(t,{id:\"default-framebuffer\",handle:null,attachments:{}}),t.luma.defaultFramebuffer}get MAX_COLOR_ATTACHMENTS(){let t=Yn(this.gl);return t.getParameter(t.MAX_COLOR_ATTACHMENTS)}get MAX_DRAW_BUFFERS(){let t=Yn(this.gl);return t.getParameter(t.MAX_DRAW_BUFFERS)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.width=null,this.height=null,this.attachments={},this.readBuffer=36064,this.drawBuffers=[36064],this.ownResources=[],this.initialize(r),Object.seal(this)}get color(){return this.attachments[36064]||null}get texture(){return this.attachments[36064]||null}get depth(){return this.attachments[36096]||this.attachments[33306]||null}get stencil(){return this.attachments[36128]||this.attachments[33306]||null}initialize(t){let{width:r=1,height:i=1,attachments:s=null,color:n=!0,depth:o=!0,stencil:c=!1,check:f=!0,readBuffer:_=void 0,drawBuffers:w=void 0}=t;if(ye(r>=0&&i>=0,\"Width and height need to be integers\"),this.width=r,this.height=i,s)for(let I in s){let R=s[I];(Array.isArray(R)?R[0]:R).resize({width:r,height:i})}else s=this._createDefaultAttachments(n,o,c,r,i);this.update({clearAttachments:!0,attachments:s,readBuffer:_,drawBuffers:w}),s&&f&&this.checkStatus()}delete(){for(let t of this.ownResources)t.delete();return super.delete(),this}update(t){let{attachments:r={},readBuffer:i,drawBuffers:s,clearAttachments:n=!1,resizeAttachments:o=!0}=t;this.attach(r,{clearAttachments:n,resizeAttachments:o});let{gl:c}=this,f=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),s&&this._setDrawBuffers(s),c.bindFramebuffer(36160,f||null),this}resize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{width:r,height:i}=t;if(this.handle===null)return ye(r===void 0&&i===void 0),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;r===void 0&&(r=this.gl.drawingBufferWidth),i===void 0&&(i=this.gl.drawingBufferHeight),r!==this.width&&i!==this.height&&He.log(2,\"Resizing framebuffer \".concat(this.id,\" to \").concat(r,\"x\").concat(i))();for(let s in this.attachments)this.attachments[s].resize({width:r,height:i});return this.width=r,this.height=i,this}attach(t){let{clearAttachments:r=!1,resizeAttachments:i=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s={};r&&Object.keys(this.attachments).forEach(o=>{s[o]=null}),Object.assign(s,t);let n=this.gl.bindFramebuffer(36160,this.handle);for(let o in s){ye(o!==void 0,\"Misspelled framebuffer binding point?\");let c=Number(o),f=s[c],_=f;if(!_)this._unattach(c);else if(_ instanceof el)this._attachRenderbuffer({attachment:c,renderbuffer:_});else if(Array.isArray(f)){let[w,I=0,R=0]=f;_=w,this._attachTexture({attachment:c,texture:w,layer:I,level:R})}else this._attachTexture({attachment:c,texture:_,layer:0,level:0});i&&_&&_.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,n||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){let{gl:t}=this,r=this.getStatus();if(r!==36053)throw new Error(ust(r));return this}getStatus(){let{gl:t}=this,r=t.bindFramebuffer(36160,this.handle),i=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,r||null),i}clear(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:r,depth:i,stencil:s,drawBuffers:n=[]}=t,o=this.gl.bindFramebuffer(36160,this.handle);return(r||i||s)&&Hf(this.gl,{color:r,depth:i,stencil:s}),n.forEach((c,f)=>{xR(this.gl,{drawBuffer:f,value:c})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)\")(),null}readPixelsToBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)\")(),null}copyToDataUrl(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)\")(),null}copyToImage(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)\")(),null}copyToTexture(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}blit(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)\")(),null}invalidate(t){let{attachments:r=[],x:i=0,y:s=0,width:n,height:o}=t,c=Yn(this.gl),f=c.bindFramebuffer(36008,this.handle);return i===0&&s===0&&n===void 0&&o===void 0?c.invalidateFramebuffer(36008,r):c.invalidateFramebuffer(36008,r,i,s,n,o),c.bindFramebuffer(36008,f),this}getAttachmentParameter(t,r,i){let s=this._getAttachmentParameterFallback(r);return s===null&&(this.gl.bindFramebuffer(36160,this.handle),s=this.gl.getFramebufferAttachmentParameter(36160,t,r),this.gl.bindFramebuffer(36160,null)),i&&s>1e3&&(s=Ou(this.gl,s)),s}getAttachmentParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:36064,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],s={};for(let n of i){let o=r?Ou(this.gl,n):n;s[o]=this.getAttachmentParameter(t,n,r)}return s}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=Object.keys(this.attachments),i={};for(let s of r){let n=Number(s),o=t?Ou(this.gl,n):n;i[o]=this.getAttachmentParameters(n,t)}return i}show(){return typeof window<\"u\"&&window.open(mE(this),\"luma-debug-texture\"),this}log(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\";if(t>He.level||typeof window>\"u\")return this;r=r||\"Framebuffer \".concat(this.id);let i=mE(this,{targetMaxHeight:100});return He.image({logLevel:t,message:r,image:i},r)(),this}bind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,this.handle),this}unbind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,r,i,s,n){let o=null;return t&&(o=o||{},o[36064]=new pi(this.gl,{id:\"\".concat(this.id,\"-color0\"),pixels:null,format:6408,type:5121,width:s,height:n,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),r&&i?(o=o||{},o[33306]=new el(this.gl,{id:\"\".concat(this.id,\"-depth-stencil\"),format:35056,width:s,height:111}),this.ownResources.push(o[33306])):r?(o=o||{},o[36096]=new el(this.gl,{id:\"\".concat(this.id,\"-depth\"),format:33189,width:s,height:n}),this.ownResources.push(o[36096])):i&&ye(!1),o}_unattach(t){let r=this.attachments[t];r&&(r instanceof el?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer(t){let{attachment:r=36064,renderbuffer:i}=t,{gl:s}=this;s.framebufferRenderbuffer(36160,r,36161,i.handle),this.attachments[r]=i}_attachTexture(t){let{attachment:r=36064,texture:i,layer:s,level:n}=t,{gl:o}=this;switch(o.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:Yn(o).framebufferTextureLayer(36160,r,i.target,n,s);break;case 34067:let f=cst(s);o.framebufferTexture2D(36160,r,f,i.handle,n);break;case 3553:o.framebufferTexture2D(36160,r,3553,i.handle,n);break;default:ye(!1,\"Illegal texture type\")}o.bindTexture(i.target,null),this.attachments[r]=i}_setReadBuffer(t){let r=sR(this.gl);r?r.readBuffer(t):ye(t===36064||t===1029,rj),this.readBuffer=t}_setDrawBuffers(t){let{gl:r}=this,i=Yn(r);if(i)i.drawBuffers(t);else{let s=r.getExtension(\"WEBGL_draw_buffers\");s?s.drawBuffersWEBGL(t):ye(t.length===1&&(t[0]===36064||t[0]===1029),rj)}this.drawBuffers=t}_getAttachmentParameterFallback(t){let r=_E(this.gl);switch(t){case 36052:return r.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return r.WEBGL2?null:8;case 33297:return r.WEBGL2?null:5125;case 33296:return!r.WEBGL2&&!r.EXT_sRGB?9729:null;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}};function cst(e){return e<34069?e+34069:e}function ust(e){return(yi.STATUS||{})[e]||\"Framebuffer error \".concat(e)}var hst=[36049,36048,33296,33298,33299,33300,33301,33302,33303];yi.ATTACHMENT_PARAMETERS=hst;function yE(e,t){ye(e instanceof pi||e instanceof Y0||e instanceof Ey);let r=e.constructor,{gl:i,width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w}=e,I=Object.assign({width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w},t);return new r(i,I)}function tj(e,t){let{gl:r,width:i,height:s,id:n}=e;return new yi(r,Object.assign({},t,{id:\"framebuffer-for-\".concat(n),width:i,height:s,attachments:{36064:e}}))}function qA(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"unnamed\",r=/#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/,i=e.match(r);return i?i[1]:t}function wR(e){switch(e){case 35632:return\"fragment\";case 35633:return\"vertex\";default:return\"unknown type\"}}function SR(e,t,r,i){let s=e.split(/\\r?\\n/),n={},o={},c=i||qA(t)||\"(unnamed)\",f=\"\".concat(wR(r),\" shader \").concat(c);for(let w=0;w1&&arguments[1]!==void 0?arguments[1]:1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\": \",i=e.split(/\\r?\\n/),s=String(i.length+t-1).length;return i.map((n,o)=>{let c=String(o+t),f=c.length;return nj(c,s-f)+r+n})}function nj(e,t){let r=\"\";for(let i=0;i=2&&r[0]===\"#version\"){let i=parseInt(r[1],10);Number.isFinite(i)&&(t=i)}return t}var dst=\"Shader: GLSL source code must be a JavaScript string\",vE=class e extends Js{get[Symbol.toStringTag](){return\"Shader\"}static getTypeName(t){switch(t){case 35633:return\"vertex-shader\";case 35632:return\"fragment-shader\";default:return ye(!1),\"unknown\"}}constructor(t,r){tp(t),ye(typeof r.source==\"string\",dst);let i=qA(r.source,null)||r.id||ta(\"unnamed \".concat(e.getTypeName(r.shaderType)));super(t,{id:i}),this.shaderType=r.shaderType,this.source=r.source,this.initialize(r)}initialize(t){let{source:r}=t,i=qA(r,null);i&&(this.id=ta(i)),this._compile(r)}getParameter(t){return this.gl.getShaderParameter(this.handle,t)}toString(){return\"\".concat(e.getTypeName(this.shaderType),\":\").concat(this.id)}getName(){return qA(this.source)||\"unnamed-shader\"}getSource(){return this.gl.getShaderSource(this.handle)}getTranslatedSource(){let t=this.gl.getExtension(\"WEBGL_debug_shaders\");return t?t.getTranslatedShaderSource(this.handle):\"No translated source available. WEBGL_debug_shaders not implemented\"}_compile(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.source;if(t.startsWith(\"#version \")||(t=`#version 100\n`.concat(t)),this.source=t,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){let i=this.gl.getShaderInfoLog(this.handle),{shaderName:s,errors:n,warnings:o}=SR(i,this.source,this.shaderType,this.id);throw He.error(\"GLSL compilation errors in \".concat(s,`\n`).concat(n))(),He.warn(\"GLSL compilation warnings in \".concat(s,`\n`).concat(o))(),new Error(\"GLSL compilation errors in \".concat(s))}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}},X0=class extends vE{get[Symbol.toStringTag](){return\"VertexShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}},K0=class extends vE{get[Symbol.toStringTag](){return\"FragmentShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}};var pst={5126:Qn.bind(null,\"uniform1fv\",$c,1,rl),35664:Qn.bind(null,\"uniform2fv\",$c,2,rl),35665:Qn.bind(null,\"uniform3fv\",$c,3,rl),35666:Qn.bind(null,\"uniform4fv\",$c,4,rl),5124:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35667:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35668:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35669:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35670:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35671:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35672:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35673:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35674:Qn.bind(null,\"uniformMatrix2fv\",$c,4,ep),35675:Qn.bind(null,\"uniformMatrix3fv\",$c,9,ep),35676:Qn.bind(null,\"uniformMatrix4fv\",$c,16,ep),35678:_a,35680:_a,5125:Qn.bind(null,\"uniform1uiv\",xE,1,rl),36294:Qn.bind(null,\"uniform2uiv\",xE,2,rl),36295:Qn.bind(null,\"uniform3uiv\",xE,3,rl),36296:Qn.bind(null,\"uniform4uiv\",xE,4,rl),35685:Qn.bind(null,\"uniformMatrix2x3fv\",$c,6,ep),35686:Qn.bind(null,\"uniformMatrix2x4fv\",$c,8,ep),35687:Qn.bind(null,\"uniformMatrix3x2fv\",$c,6,ep),35688:Qn.bind(null,\"uniformMatrix3x4fv\",$c,12,ep),35689:Qn.bind(null,\"uniformMatrix4x2fv\",$c,8,ep),35690:Qn.bind(null,\"uniformMatrix4x3fv\",$c,12,ep),35678:_a,35680:_a,35679:_a,35682:_a,36289:_a,36292:_a,36293:_a,36298:_a,36299:_a,36300:_a,36303:_a,36306:_a,36307:_a,36308:_a,36311:_a},Ast={},mst={},gst={},sj=[0];function TR(e,t,r,i){t===1&&typeof e==\"boolean\"&&(e=e?1:0),Number.isFinite(e)&&(sj[0]=e,e=sj);let s=e.length;if(s%t&&He.warn(\"Uniform size should be multiples of \".concat(t),e)(),e instanceof r)return e;let n=i[s];n||(n=new r(s),i[s]=n);for(let o=0;o{let s=e!==i;return s&&(t.uniform1i(r,i),e=i),s}}function Qn(e,t,r,i){let s=null,n=null;return(o,c,f)=>{let _=t(f,r),w=_.length,I=!1;if(s===null)s=new Float32Array(w),n=w,I=!0;else{ye(n===w,\"Uniform length cannot change.\");for(let R=0;R=0&&this._addAttribute(f,n,o,c)}this.attributeInfos.sort((s,n)=>s.location-n.location)}_readVaryingsFromProgram(t){let{gl:r}=t;if(!fr(r))return;let i=r.getProgramParameter(t.handle,35971);for(let s=0;ss.location-n.location)}_addAttribute(t,r,i,s){let{type:n,components:o}=PR(i),c={type:n,size:s*o};this._inferProperties(t,r,c);let f={location:t,name:r,accessor:new Pl(c)};this.attributeInfos.push(f),this.attributeInfosByLocation[t]=f,this.attributeInfosByName[f.name]=f}_inferProperties(t,r,i){/instance/i.test(r)&&(i.divisor=1)}_addVarying(t,r,i,s){let{type:n,components:o}=PR(i),c=new Pl({type:n,size:s*o}),f={location:t,name:r,accessor:c};this.varyingInfos.push(f),this.varyingInfosByName[f.name]=f}};var hj=4,$st=35981,Xst=[\"setVertexArray\",\"setAttributes\",\"setBuffers\",\"unsetBuffers\",\"use\",\"getUniformCount\",\"getUniformInfo\",\"getUniformLocation\",\"getUniformValue\",\"getVarying\",\"getFragDataLocation\",\"getAttachedShaders\",\"getAttributeCount\",\"getAttributeLocation\",\"getAttributeInfo\"],rp=class extends Js{get[Symbol.toStringTag](){return\"Program\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Program\",\"v6.0\",Xst),this._isCached=!1,this.initialize(r),Object.seal(this),this._setId(r.id)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{hash:r,vs:i,fs:s,varyings:n,bufferMode:o=$st}=t;return this.hash=r||\"\",this.vs=typeof i==\"string\"?new X0(this.gl,{id:\"\".concat(t.id,\"-vs\"),source:i}):i,this.fs=typeof s==\"string\"?new K0(this.gl,{id:\"\".concat(t.id,\"-fs\"),source:s}):s,ye(this.vs instanceof X0),ye(this.fs instanceof K0),this.uniforms={},this._textureUniforms={},n&&n.length>0&&(Yn(this.gl),this.varyings=n,this.gl2.transformFeedbackVaryings(this.handle,n,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new _b(this),this.setProps(t)}delete(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this._isCached?this:super.delete(t)}setProps(t){return\"uniforms\"in t&&this.setUniforms(t.uniforms),this}draw(t){let{logPriority:r,drawMode:i=4,vertexCount:s,offset:n=0,start:o,end:c,isIndexed:f=!1,indexType:_=5123,instanceCount:w=0,isInstanced:I=w>0,vertexArray:R=null,transformFeedback:N,framebuffer:j,parameters:Q={},uniforms:et,samplers:Y}=t;if((et||Y)&&(He.deprecated(\"Program.draw({uniforms})\",\"Program.setUniforms(uniforms)\")(),this.setUniforms(et||{})),He.priority>=r){let K=j?j.id:\"default\",J=\"mode=\".concat(Ou(this.gl,i),\" verts=\").concat(s,\" \")+\"instances=\".concat(w,\" indexType=\").concat(Ou(this.gl,_),\" \")+\"isInstanced=\".concat(I,\" isIndexed=\").concat(f,\" \")+\"Framebuffer=\".concat(K);He.log(r,J)()}return ye(R),this.gl.useProgram(this.handle),!this._areTexturesRenderable()||s===0||I&&w===0?!1:(R.bindForDraw(s,w,()=>{if(j!==void 0&&(Q=Object.assign({},Q,{framebuffer:j})),N){let K=uj(i);N.begin(K)}this._bindTextures(),Mn(this.gl,Q,()=>{f&&I?this.gl2.drawElementsInstanced(i,s,_,n,w):f&&fr(this.gl)&&!isNaN(o)&&!isNaN(c)?this.gl2.drawRangeElements(i,o,c,s,_,n):f?this.gl.drawElements(i,s,_,n):I?this.gl2.drawArraysInstanced(i,n,s,w):this.gl.drawArrays(i,n,s)}),N&&N.end()}),!0)}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};He.priority>=2&&aj(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(let r in t){let i=t[r],s=this._uniformSetters[r];if(s){let n=i,o=!1;if(n instanceof yi&&(n=n.texture),n instanceof tl)if(o=this.uniforms[r]!==i,o){s.textureIndex===void 0&&(s.textureIndex=this._textureIndexCounter++);let c=n,{textureIndex:f}=s;c.bind(f),n=f,this._textureUniforms[r]=c}else n=s.textureIndex;else this._textureUniforms[r]&&delete this._textureUniforms[r];(s(n)||o)&&lj(this.uniforms,r,i)}}return this}_areTexturesRenderable(){let t=!0;for(let r in this._textureUniforms){let i=this._textureUniforms[r];i.update(),t=t&&i.loaded}return t}_bindTextures(){for(let t in this._textureUniforms){let r=this._uniformSetters[t].textureIndex;this._textureUniforms[t].bind(r)}}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){let r=this.gl.getAttachedShaders(t),i={};for(let s of r)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new X0({handle:s});break;case 35632:i.fs=new K0({handle:s});break;default:}return i}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){let r=this._getName();this.id=ta(r)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,\"\"),t=t?\"\".concat(t,\"-program\"):\"program\",t}_compileAndLink(){let{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),He.time(hj,\"linkProgram for \".concat(this._getName()))(),t.linkProgram(this.handle),He.timeEnd(hj,\"linkProgram for \".concat(this._getName()))(),t.debug||He.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(\"Error linking: \".concat(t.getProgramInfoLog(this.handle)));if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(\"Error validating: \".concat(t.getProgramInfoLog(this.handle)))}}_readUniformLocationsFromLinkedProgram(){let{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let r=0;r1)for(let o=0;o1&&arguments[1]!==void 0?arguments[1]:[],i=fr(t),s=Oh(t,Ii.TIMER_QUERY),n=i||s;for(let o of r)switch(o){case\"queries\":n=n&&i;break;case\"timers\":n=n&&s;break;default:ye(!1)}return n}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(tot)}beginOcclusionQuery(){let{conservative:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.begin(t?not:iot)}beginTransformFeedbackQuery(){return this.begin(rot)}begin(t){return this._queryPending?this:(this.target=t,this.gl2.beginQuery(this.target,this.handle),this)}end(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}isResultAvailable(){if(!this._queryPending)return!1;let t=this.gl2.getQueryParameter(this.handle,Jst);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(eot)}getResult(){return this.gl2.getQueryParameter(this.handle,Kst)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;let r=0;return this._pollingPromise=new Promise((i,s)=>{let n=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):r++>t?(s(\"Timed out\"),this._pollingPromise=null):requestAnimationFrame(n)};requestAnimationFrame(n)}),this._pollingPromise}_createHandle(){return e.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}};var ip=class extends Js{get[Symbol.toStringTag](){return\"TransformFeedback\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),super(t,r),this.initialize(r),this.stubRemovedMethods(\"TransformFeedback\",\"v6.0\",[\"pause\",\"resume\"]),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Wf(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"bindOnUse\"in t&&(t=t.bindOnUse),\"buffers\"in t&&this.setBuffers(t.buffers)}setBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.bind(()=>{for(let r in t)this.setBuffer(r,t[r])}),this}setBuffer(t,r){let i=this._getVaryingIndex(t),{buffer:s,byteSize:n,byteOffset:o}=this._getBufferParams(r);return i<0?(this.unused[t]=s,He.warn(\"\".concat(this.id,\" unused varying buffer \").concat(t))(),this):(this.buffers[i]=r,this.bindOnUse||this._bindBuffer(i,s,o,n),this)}begin(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let r,i,s;return t instanceof Fr?s=t:(s=t.buffer,i=t.byteSize,r=t.byteOffset),(r!==void 0||i!==void 0)&&(r=r||0,i=i||s.byteLength-r),{buffer:s,byteOffset:r,byteSize:i}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;let r=Number(t);return Number.isFinite(r)?r:-1}_bindBuffers(){if(this.bindOnUse)for(let t in this.buffers){let{buffer:r,byteSize:i,byteOffset:s}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,r,s,i)}}_unbindBuffers(){if(this.bindOnUse)for(let t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,n=r&&r.handle;return!n||s===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,i,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}};var TE=null;function sot(e){return(!TE||TE.byteLength1&&arguments[1]!==void 0?arguments[1]:{}).constantAttributeZero?fr(t)||vy()===\"Chrome\":!0}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new e(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return e.MAX_ATTRIBUTES=e.MAX_ATTRIBUTES||t.getParameter(34921),e.MAX_ATTRIBUTES}static setConstant(t,r,i){switch(i.constructor){case Float32Array:e._setConstantFloatArray(t,r,i);break;case Int32Array:e._setConstantIntArray(t,r,i);break;case Uint32Array:e._setConstantUintArray(t,r,i);break;default:ye(!1)}}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;super(t,Object.assign({},r,{id:i})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=r.isDefaultArray||!1,this.gl2=t,this.initialize(r),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return e.getMaxAttributes(this.gl)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.setProps(t)}setProps(t){return this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ye(!t||t.target===34963,oot),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,r,i){if(r.target===34963)return this.setElementBuffer(r,i);let{size:s,type:n,stride:o,offset:c,normalized:f,integer:_,divisor:w}=i,{gl:I,gl2:R}=this;return t=Number(t),this.bind(()=>{I.bindBuffer(34962,r.handle),_?(ye(fr(I)),R.vertexAttribIPointer(t,s,n,o,c)):I.vertexAttribPointer(t,s,n,f,o,c),I.enableVertexAttribArray(t),R.vertexAttribDivisor(t,w||0)}),this}enable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return!r&&t===0&&!e.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>r?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,r){let i=this._normalizeConstantArrayValue(r),s=i.byteLength*t,n=i.length*t,o=!this.buffer;if(this.buffer=this.buffer||new Fr(this.gl,s),o=o||this.buffer.reallocate(s),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){let c=fj(r.constructor,n);dj({target:c,source:i,start:0,count:n}),this.buffer.subData(c),this.bufferValue=r}return this.buffer}_normalizeConstantArrayValue(t){return Array.isArray(t)?new Float32Array(t):t}_compareConstantArrayValues(t,r){if(!t||!r||t.length!==r.length||t.constructor!==r.constructor)return!1;for(let i=0;i{switch(t){case 34373:return this.gl.getVertexAttribOffset(i,t);default:return this.gl.getVertexAttrib(i,t)}})}};var aot=\"VertexArray: attributes must be Buffers or constants (i.e. typed array)\",lot=/^(.+)__LOCATION_([0-9]+)$/,cot=[\"setBuffers\",\"setGeneric\",\"clearBindings\",\"setLocations\",\"setGenericValues\",\"setDivisor\",\"enable\",\"disable\"],Iy=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;this.id=i,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new tg(t),fE(this,\"VertexArray\",\"v6.0\",cot),this.initialize(r),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;let{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"attributes\"in t&&this.setAttributes(t.attributes),\"elements\"in t&&this.setElementBuffer(t.elements),\"bindOnUse\"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(let r in t){let i=t[r];this._setAttribute(r,i)}this.gl.bindBuffer(34962,null)}),this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.elements=t,this.elementsAccessor=r,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,r),this}setBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(r.target===34963)return this.setElementBuffer(r,i);let{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,r.accessor,i);return s>=0&&(this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.setBuffer(s,r,n)),this}setConstant(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,Object.assign({size:r.length},i));return s>=0&&(r=this.vertexArrayObject._normalizeConstantArrayValue(r),this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.enable(s,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Fr(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,r),s=i()}),s}_resolveLocationAndAccessor(t,r,i,s){let n={location:-1,accessor:null},{location:o,name:c}=this._getAttributeIndex(t);if(!Number.isFinite(o)||o<0)return this.unused[t]=r,He.once(3,()=>\"unused value \".concat(t,\" in \").concat(this.id))(),n;let f=this._getAttributeInfo(c||o);if(!f)return n;let _=this.accessors[o]||{},w=Pl.resolve(f.accessor,_,i,s),{size:I,type:R}=w;return ye(Number.isFinite(I)&&Number.isFinite(R)),{location:o,accessor:w}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){let r=Number(t);if(Number.isFinite(r))return{location:r};let i=lot.exec(t),s=i?i[1]:t,n=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(s)+n,name:s}:{location:-1}}_setAttribute(t,r){if(r instanceof Fr)this.setBuffer(t,r);else if(Array.isArray(r)&&r.length&&r[0]instanceof Fr){let i=r[0],s=r[1];this.setBuffer(t,i,s)}else if(ArrayBuffer.isView(r)||Array.isArray(r)){let i=r;this.setConstant(t,i)}else if(r.buffer instanceof Fr){let i=r;this.setBuffer(t,i.buffer,i)}else throw new Error(aot)}_setConstantAttributes(t,r){let i=Math.max(t|0,r|0),s=this.values[0];ArrayBuffer.isView(s)&&this._setConstantAttributeZero(s,i);for(let n=1;n0;if(t.isInstanced=t.isInstanced||o,i instanceof Fr){let c=i;if(o){let f=c.getVertexCount(s);t.instanceCount=Math.min(t.instanceCount,f)}else{let f=c.getVertexCount(s);t.vertexCount=Math.min(t.vertexCount,f)}}}setElements(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return He.deprecated(\"setElements\",\"setElementBuffer\")(),this.setElementBuffer(t,r)}};function uot(e,t){let{maxElts:r=16,size:i=1}=t,s=\"[\";for(let o=0;o0&&(s+=\",\".concat(o%i===0?\" \":\"\")),s+=eg(e[o],t);let n=e.length>r?\"...\":\"]\";return\"\".concat(s).concat(n)}function eg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=1e-16,{isInteger:i=!1}=t;if(Array.isArray(e)||ArrayBuffer.isView(e))return uot(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);let s=e.toPrecision(2);return s.indexOf(\".0\")===s.length-2?s.slice(0,-1):s}function ME(e){let{header:t=\"Uniforms\",program:r,uniforms:i,undefinedOnly:s=!1}=e;ye(r);let n=\".*_.*\",o=\".*Matrix\",c=r._uniformSetters,f={},_=Object.keys(c).sort(),w=0;for(let N of _)!N.match(n)&&!N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)f[N]||IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;let I=0,R={};if(!s)for(let N in i){let j=i[N];f[N]||(I++,R[N]={Type:\"NOT USED: \".concat(j),[t]:eg(j)})}return{table:f,count:w,unusedTable:R,unusedCount:I}}function IR(e){let{table:t,header:r,uniforms:i,uniformName:s,undefinedOnly:n}=e,o=i[s],c=hot(o);return!n||!c?(t[s]={[r]:c?eg(o):\"N/A\",\"Uniform Type\":c?o:\"NOT PROVIDED\"},!0):!1}function hot(e){return e!=null}function CR(e){let{vertexArray:t,header:r=\"Attributes\"}=e;if(!t.configuration)return{};let i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=pj(t,t.elements,null,r));let s=t.values;for(let n in s){let o=t._getAttributeInfo(n);if(o){let c=\"\".concat(n,\": \").concat(o.name),f=t.accessors[o.location];f&&(c=\"\".concat(n,\": \").concat(fot(o.name,f))),i[c]=pj(t,s[n],f,r)}}return i}function pj(e,t,r,i){let{gl:s}=e;if(!t)return{[i]:\"null\",\"Format \":\"N/A\"};let n=\"NOT PROVIDED\",o=1,c=0,f=0,_,w,I;if(r&&(n=r.type,o=r.size,n=String(n).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1),t instanceof Fr){let R=t,{data:N,changed:j}=R.getDebugData();w=j?\"*\":\"\",I=N,f=R.byteLength,c=f/N.BYTES_PER_ELEMENT/o;let Q;if(r){let et=r.divisor>0;Q=\"\".concat(et?\"I \":\"P \",\" \").concat(c,\" (x\").concat(o,\"=\").concat(f,\" bytes \").concat(Ou(s,n),\")\")}else _=!0,Q=\"\".concat(f,\" bytes\");return{[i]:\"\".concat(w).concat(eg(I,{size:o,isInteger:_})),\"Format \":Q}}return I=t,o=t.length,n=String(t.constructor.name).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1,{[i]:\"\".concat(eg(I,{size:o,isInteger:_}),\" (constant)\"),\"Format \":\"\".concat(o,\"x\").concat(n,\" (constant)\")}}function fot(e,t){let{type:r,size:i}=t,s=SE(r,i);return s?\"\".concat(e,\" (\").concat(s.name,\")\"):e}function LR(e){let t={},r=\"Accessors for \".concat(e.id);for(let i of e.attributeInfos)if(i){let s=Aj(i);t[\"in \".concat(s)]={[r]:JSON.stringify(i.accessor)}}for(let i of e.varyingInfos)if(i){let s=Aj(i);t[\"out \".concat(s)]={[r]:JSON.stringify(i.accessor)}}return t}function Aj(e){let{type:t,size:r}=e.accessor,i=SE(t,r);return i?\"\".concat(i.name,\" \").concat(e.name):e.name}var mj=Lo()&&typeof document<\"u\",pot=0,rg=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{onCreateContext:r=et=>Ty(et),onAddHTML:i=null,onInitialize:s=()=>{},onRender:n=()=>{},onFinalize:o=()=>{},onError:c,gl:f=null,glOptions:_={},debug:w=!1,createFramebuffer:I=!1,autoResizeViewport:R=!0,autoResizeDrawingBuffer:N=!0,stats:j=Du.get(\"animation-loop-\".concat(pot++))}=t,{useDevicePixels:Q=!0}=t;\"useDevicePixelRatio\"in t&&(He.deprecated(\"useDevicePixelRatio\",\"useDevicePixels\")(),Q=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:i,onInitialize:s,onRender:n,onFinalize:o,onError:c,gl:f,glOptions:_,debug:w,createFramebuffer:I},this.gl=f,this.needsRedraw=null,this.timeline=null,this.stats=j,this.cpuTime=this.stats.get(\"CPU Time\"),this.gpuTime=this.stats.get(\"GPU Time\"),this.frameRate=this.stats.get(\"Frame Rate\"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:R,autoResizeDrawingBuffer:N,useDevicePixels:Q}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return ye(typeof t==\"string\"),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return\"autoResizeViewport\"in t&&(this.autoResizeViewport=t.autoResizeViewport),\"autoResizeDrawingBuffer\"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),\"useDevicePixels\"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this._running)return this;this._running=!0;let r=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=J0.isSupported(this.gl,[\"timers\"])?new J0(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),i!==!1&&this._startLoop())});return this.props.onError&&r.catch(this.props.onError),this}redraw(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw(\"waitForRender\"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}async toDataURL(){return this.setNeedsRedraw(\"toDataURL\"),await this.waitForRender(),this.gl.canvas.toDataURL()}isContextLost(){return this.gl.isContextLost()}onCreateContext(){return this.props.onCreateContext(...arguments)}onInitialize(){return this.props.onInitialize(...arguments)}onRender(){return this.props.onRender(...arguments)}onFinalize(){return this.props.onFinalize(...arguments)}getHTMLControlValue(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=document.getElementById(t);return i?Number(i.value):r}setViewParameters(){return He.removed(\"AnimationLoop.setViewParameters\",\"AnimationLoop.setProps\")(),this}_startLoop(){let t=()=>{this._running&&(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=mj?new Promise((t,r)=>{if(mj&&document.readyState===\"complete\"){t(document);return}window.addEventListener(\"load\",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):mR(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):AR(t)}_renderFrame(){if(this.display){this.display._renderFrame(...arguments);return}this.onRender(...arguments)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){let{width:t,height:r,aspect:i}=this._getSizeAndAspect();(t!==this.animationProps.width||r!==this.animationProps.height)&&this.setNeedsRedraw(\"drawing buffer resized\"),i!==this.animationProps.aspect&&this.setNeedsRedraw(\"drawing buffer aspect changed\"),this.animationProps.width=t,this.animationProps.height=r,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){typeof t==\"object\"&&t!==null&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&typeof OffscreenCanvas<\"u\"&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?q0(this.props.gl,t):this.onCreateContext(t),!Jd(this.gl))throw new Error(\"AnimationLoop.onCreateContext - illegal context returned\");uE(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){let t=document.createElement(\"div\");document.body.appendChild(t),t.style.position=\"relative\";let r=document.createElement(\"div\");r.style.position=\"absolute\",r.style.left=\"10px\",r.style.bottom=\"10px\",r.style.width=\"300px\",r.style.background=\"white\",t.appendChild(this.gl.canvas),t.appendChild(r);let i=this.props.onAddHTML(r);i&&(r.innerHTML=i)}}_getSizeAndAspect(){let t=this.gl.drawingBufferWidth,r=this.gl.drawingBufferHeight,i=1,{canvas:s}=this.gl;return s&&s.clientHeight?i=s.clientWidth/s.clientHeight:t>0&&r>0&&(i=t/r),{width:t,height:r,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&dR(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new yi(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get(\"GPU Time\").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){let{canvas:t}=this.gl;t&&(t.addEventListener(\"mousemove\",this._onMousemove),t.addEventListener(\"mouseleave\",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}};var ig=\"vs\",yb=\"fs\";function to(e,t){if(!e)throw new Error(t||\"shadertools: assertion failed.\")}var kR={number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},array:{validate(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function _j(e){let t={};for(let r in e){let i=e[r],s=Aot(i);t[r]=s}return t}function Aot(e){let t=gj(e);return t===\"object\"?e?\"type\"in e?Object.assign({},e,kR[e.type]):\"value\"in e?(t=gj(e.value),Object.assign({type:t},e,kR[t])):{type:\"object\",value:e}:{type:\"object\",value:null}:Object.assign({type:t,value:e},kR[t])}function gj(e){return Array.isArray(e)||ArrayBuffer.isView(e)?\"array\":typeof e}var mot=\"vs\",got=\"fs\",Cy=class{constructor(t){let{name:r,vs:i,fs:s,dependencies:n=[],uniforms:o,getUniforms:c,deprecations:f=[],defines:_={},inject:w={},vertexShader:I,fragmentShader:R}=t;to(typeof r==\"string\"),this.name=r,this.vs=i||I,this.fs=s||R,this.getModuleUniforms=c,this.dependencies=n,this.deprecations=this._parseDeprecationDefinitions(f),this.defines=_,this.injections=_ot(w),o&&(this.uniforms=_j(o))}getModuleSource(t){let r;switch(t){case mot:r=this.vs||\"\";break;case got:r=this.fs||\"\";break;default:to(!1)}return\"#define MODULE_\".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,\"_\"),`\n`).concat(r,\"// END MODULE_\").concat(this.name,`\n\n`)}getUniforms(t,r){return this.getModuleUniforms?this.getModuleUniforms(t,r):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,r){this.deprecations.forEach(i=>{i.regex.test(t)&&(i.deprecated?r.deprecated(i.old,i.new)():r.removed(i.old,i.new)())})}_parseDeprecationDefinitions(t){return t.forEach(r=>{switch(r.type){case\"function\":r.regex=new RegExp(\"\\\\b\".concat(r.old,\"\\\\(\"));break;default:r.regex=new RegExp(\"\".concat(r.type,\" \").concat(r.old,\";\"))}}),t}_defaultGetUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},i=this.uniforms;for(let s in i){let n=i[s];s in t&&!n.private?(n.validate&&to(n.validate(t[s],n),\"\".concat(this.name,\": invalid \").concat(s)),r[s]=t[s]):r[s]=n.value}return r}};function _ot(e){let t={vs:{},fs:{}};for(let r in e){let i=e[r],s=r.slice(0,2);typeof i==\"string\"&&(i={order:0,injection:i}),t[s][r]=i}return t}function yj(e){return yot(xj(e))}function yot(e){let t={},r={};return vj({modules:e,level:0,moduleMap:t,moduleDepth:r}),Object.keys(r).sort((i,s)=>r[s]-r[i]).map(i=>t[i])}function vj(e){let{modules:t,level:r,moduleMap:i,moduleDepth:s}=e;if(r>=5)throw new Error(\"Possible loop in shader dependency graph\");for(let n of t)i[n.name]=n,(s[n.name]===void 0||s[n.name](r instanceof Cy||(to(typeof r!=\"string\",\"Shader module use by name is deprecated. Import shader module '\".concat(r,\"' and use it directly.\")),to(r.name,\"shader module has no name\"),r=new Cy(r),r.dependencies=xj(r.dependencies)),r))}function RR(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<\"u\"?window.navigator||{}:{},r=e.userAgent||t.userAgent||\"\",i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s}var vot=7936,xot=7937,bot=7938,wot=35724,OR={GLSL_FRAG_DATA:[\"WEBGL_draw_buffers\",!0],GLSL_FRAG_DEPTH:[\"EXT_frag_depth\",!0],GLSL_DERIVATIVES:[\"OES_standard_derivatives\",!0],GLSL_TEXTURE_LOD:[\"EXT_shader_texture_lod\",!0]},YA={};Object.keys(OR).forEach(e=>{YA[e]=e});function Sot(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function bj(e){let t=e.getExtension(\"WEBGL_debug_renderer_info\"),r=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||vot),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||xot);return{gpuVendor:Tot(r,i),vendor:r,renderer:i,version:e.getParameter(bot),shadingLanguageVersion:e.getParameter(wot)}}function Tot(e,t){return e.match(/NVIDIA/i)||t.match(/NVIDIA/i)?\"NVIDIA\":e.match(/INTEL/i)||t.match(/INTEL/i)?\"INTEL\":e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i)?\"AMD\":\"UNKNOWN GPU\"}var DR={};function BR(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=OR[t];if(to(i,t),!RR(r))return!0;if(t in DR)return DR[t];let s=i[0],n=r.behavior||\"enable\",o=\"#extension GL_\".concat(s,\" : \").concat(n,`\nvoid main(void) {}`),c=e.createShader(35633);e.shaderSource(c,o),e.compileShader(c);let f=e.getShaderParameter(c,35713);return e.deleteShader(c),DR[t]=f,f}function Mot(e,t){let r=OR[t];to(r,t);let i=Sot(e)&&r[1]||r[0],s=typeof i==\"string\"?!!e.getExtension(i):i;return to(s===!1||s===!0),s}function vb(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>Mot(e,r))}function wj(e){switch(bj(e).gpuVendor.toLowerCase()){case\"nvidia\":return`#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n`;case\"intel\":return`#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`;case\"amd\":return`#define AMD_GPU\n`;default:return`#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`}}function Sj(e,t,r){let i=`#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n`;return vb(e,YA.GLSL_FRAG_DEPTH)&&(i+=`\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n`),vb(e,YA.GLSL_DERIVATIVES)&&BR(e,YA.GLSL_DERIVATIVES)&&(i+=`\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n`),vb(e,YA.GLSL_FRAG_DATA)&&BR(e,YA.GLSL_FRAG_DATA,{behavior:\"require\"})&&(i+=`\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n`),vb(e,YA.GLSL_TEXTURE_LOD)&&(i+=`// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n`),i}var Tj=`#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n`,Mj=`#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n`;var Eot={[ig]:Tj,[yb]:Mj},xb=\"__LUMA_INJECT_DECLARATIONS__\",Ej=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/,Pj=/}\\n?[^{}]*$/,FR=[];function EE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=t===ig;for(let n in r){let o=r[n];o.sort((f,_)=>f.order-_.order),FR.length=o.length;for(let f=0,_=o.length;f<_;++f)FR[f]=o[f].injection;let c=\"\".concat(FR.join(`\n`),`\n`);switch(n){case\"vs:#decl\":s&&(e=e.replace(xb,c));break;case\"vs:#main-start\":s&&(e=e.replace(Ej,f=>f+c));break;case\"vs:#main-end\":s&&(e=e.replace(Pj,f=>c+f));break;case\"fs:#decl\":s||(e=e.replace(xb,c));break;case\"fs:#main-start\":s||(e=e.replace(Ej,f=>f+c));break;case\"fs:#main-end\":s||(e=e.replace(Pj,f=>c+f));break;default:e=e.replace(n,f=>f+c)}}return e=e.replace(xb,\"\"),i&&(e=e.replace(/\\}\\s*$/,n=>n+Eot[t])),e}function Ly(e){let t={};return to(Array.isArray(e)&&e.length>1),e.forEach(r=>{for(let i in r)t[i]=t[i]?\"\".concat(t[i],`\n`).concat(r[i]):r[i]}),t}function ky(e){return new RegExp(\"\\\\b\".concat(e,\"[ \\\\t]+(\\\\w+[ \\\\t]+\\\\w+(\\\\[\\\\w+\\\\])?;)\"),\"g\")}var Ij=[[/^(#version[ \\t]+(100|300[ \\t]+es))?[ \\t]*\\n/,`#version 300 es\n`],[/\\btexture(2D|2DProj|Cube)Lod(EXT)?\\(/g,\"textureLod(\"],[/\\btexture(2D|2DProj|Cube)(EXT)?\\(/g,\"texture(\"]],Pot=[...Ij,[ky(\"attribute\"),\"in $1\"],[ky(\"varying\"),\"out $1\"]],Iot=[...Ij,[ky(\"varying\"),\"in $1\"]],Cj=[[/^#version[ \\t]+300[ \\t]+es/,\"#version 100\"],[/\\btexture(2D|2DProj|Cube)Lod\\(/g,\"texture$1LodEXT(\"],[/\\btexture\\(/g,\"texture2D(\"],[/\\btextureLod\\(/g,\"texture2DLodEXT(\"]],Cot=[...Cj,[ky(\"in\"),\"attribute $1\"],[ky(\"out\"),\"varying $1\"]],Lot=[...Cj,[ky(\"in\"),\"varying $1\"]],zR=\"gl_FragColor\",NR=/\\bout[ \\t]+vec4[ \\t]+(\\w+)[ \\t]*;\\n?/,kot=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/;function UR(e,t,r){switch(t){case 300:return r?PE(e,Pot):Rot(e);case 100:return r?PE(e,Cot):Dot(e);default:throw new Error(\"unknown GLSL version \".concat(t))}}function PE(e,t){for(let[r,i]of t)e=e.replace(r,i);return e}function Rot(e){e=PE(e,Iot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}else{let r=\"fragmentColor\";e=e.replace(kot,i=>\"out vec4 \".concat(r,`;\n`).concat(i)).replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}return e}function Dot(e){e=PE(e,Lot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(NR,\"\").replace(new RegExp(\"\\\\b\".concat(r,\"\\\\b\"),\"g\"),zR)}return e}var Oot=`\n\n`.concat(xb,`\n\n`),kj={[ig]:\"vertex\",[yb]:\"fragment\"},Bot=`precision highp float;\n\n`;function VR(e,t){let{vs:r,fs:i}=t,s=yj(t.modules||[]);return{gl:e,vs:Lj(e,Object.assign({},t,{source:r,type:ig,modules:s})),fs:Lj(e,Object.assign({},t,{source:i,type:yb,modules:s})),getUniforms:Fot(s)}}function Lj(e,t){let{id:r,source:i,type:s,modules:n,defines:o={},hookFunctions:c=[],inject:f={},transpileToGLSL100:_=!1,prologue:w=!0,log:I}=t;to(typeof i==\"string\",\"shader source must be a string\");let R=s===ig,N=i.split(`\n`),j=100,Q=\"\",et=i;N[0].indexOf(\"#version \")===0?(j=300,Q=N[0],et=N.slice(1).join(`\n`)):Q=\"#version \".concat(j);let Y={};n.forEach(Xt=>{Object.assign(Y,Xt.getDefines())}),Object.assign(Y,o);let K=w?\"\".concat(Q,`\n`).concat(Not({id:r,source:i,type:s}),`\n`).concat(zot({type:s}),`\n`).concat(wj(e),`\n`).concat(Sj(e,j,!R),`\n`).concat(Uot(Y),`\n`).concat(R?\"\":Bot,`\n`):\"\".concat(Q,`\n`),J=jot(c),ut={},Et={},kt={};for(let Xt in f){let qt=typeof f[Xt]==\"string\"?{injection:f[Xt],order:0}:f[Xt],le=Xt.match(/^(v|f)s:(#)?([\\w-]+)$/);if(le){let ue=le[2],De=le[3];ue?De===\"decl\"?Et[Xt]=[qt]:kt[Xt]=[qt]:ut[Xt]=[qt]}else kt[Xt]=[qt]}for(let Xt of n){I&&Xt.checkDeprecations(et,I);let qt=Xt.getModuleSource(s,j);K+=qt;let le=Xt.injections[s];for(let ue in le){let De=ue.match(/^(v|f)s:#([\\w-]+)$/);if(De){let rr=De[2]===\"decl\"?Et:kt;rr[ue]=rr[ue]||[],rr[ue].push(le[ue])}else ut[ue]=ut[ue]||[],ut[ue].push(le[ue])}}return K+=Oot,K=EE(K,s,Et),K+=Vot(J[s],ut),K+=et,K=EE(K,s,kt),K=UR(K,_?100:j,R),K}function Fot(e){return function(r){let i={};for(let s of e){let n=s.getUniforms(r,i);Object.assign(i,n)}return i}}function zot(e){let{type:t}=e;return`\n#define SHADER_TYPE_`.concat(kj[t].toUpperCase(),`\n`)}function Not(e){let{id:t,source:r,type:i}=e;return t&&typeof t==\"string\"&&r.indexOf(\"SHADER_NAME\")===-1?`\n#define SHADER_NAME `.concat(t,\"_\").concat(kj[i],`\n\n`):\"\"}function Uot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=0,r=\"\";for(let i in e){t===0&&(r+=`\n// APPLICATION DEFINES\n`),t++;let s=e[i];(s||Number.isFinite(s))&&(r+=\"#define \".concat(i.toUpperCase(),\" \").concat(e[i],`\n`))}return t===0&&(r+=`\n`),r}function Vot(e,t){let r=\"\";for(let i in e){let s=e[i];if(r+=\"void \".concat(s.signature,` {\n`),s.header&&(r+=\" \".concat(s.header)),t[i]){let n=t[i];n.sort((o,c)=>o.order-c.order);for(let o of n)r+=\" \".concat(o.injection,`\n`)}s.footer&&(r+=\" \".concat(s.footer)),r+=`}\n`}return r}function jot(e){let t={vs:{},fs:{}};return e.forEach(r=>{let i;typeof r!=\"string\"?(i=r,r=i.hook):i={},r=r.trim();let[s,n]=r.split(\":\"),o=r.replace(/\\(.+/,\"\");t[s][o]=Object.assign(i,{signature:n})}),t}var Got=\"void main() {gl_FragColor = vec4(0);}\",Rj=`out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}`,Wot=`#version 300 es\n`.concat(Rj);function IE(e,t){t=Array.isArray(t)?t:[t];let r=e.replace(/^\\s+/,\"\").split(/\\s+/),[i,s,n]=r;if(!t.includes(i)||!s||!n)return null;let o=n.split(\";\")[0];return{qualifier:i,type:s,name:o}}function bb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{version:t=100,input:r,inputType:i,output:s}=e;if(!r)return t===300?Wot:t>300?\"#version \".concat(t,`\n`).concat(Rj):Got;let n=Dj(r,i);return t>=300?\"#version \".concat(t,\" \").concat(t===300?\"es\":\"\",`\nin `).concat(i,\" \").concat(r,`;\nout vec4 `).concat(s,`;\nvoid main() {\n `).concat(s,\" = \").concat(n,`;\n}`):\"varying \".concat(i,\" \").concat(r,`;\nvoid main() {\n gl_FragColor = `).concat(n,`;\n}`)}function jR(e){switch(e){case\"float\":return\"x\";case\"vec2\":return\"xy\";case\"vec3\":return\"xyz\";case\"vec4\":return\"xyzw\";default:return to(!1),null}}function GR(e){switch(e){case\"float\":return 1;case\"vec2\":return 2;case\"vec3\":return 3;case\"vec4\":return 4;default:return to(!1),null}}function Dj(e,t){switch(t){case\"float\":return\"vec4(\".concat(e,\", 0.0, 0.0, 1.0)\");case\"vec2\":return\"vec4(\".concat(e,\", 0.0, 1.0)\");case\"vec3\":return\"vec4(\".concat(e,\", 1.0)\");case\"vec4\":return e;default:return to(!1),null}}var Hot=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n`,CE={name:\"fp32\",vs:Hot,fs:null};function Bh(e,t){if(!e)throw new Error(\"math.gl assertion \".concat(t))}var Gkt=1/Math.PI*180,Wkt=1/180*Math.PI,eo={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function WR(e,{precision:t=eo.precision}={}){return e=qot(e),\"\".concat(parseFloat(e.toPrecision(t)))}function Fh(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Il(e,t,r){return Yot(e,i=>Math.max(t,Math.min(r,i)))}function il(e,t,r){return Fh(e)?e.map((i,s)=>il(i,t[s],r)):r*t+(1-r)*e}function Ro(e,t,r){let i=eo.EPSILON;r&&(eo.EPSILON=r);try{if(e===t)return!0;if(Fh(e)&&Fh(t)){if(e.length!==t.length)return!1;for(let s=0;s0?\", \":\"\")+WR(this[i],t);return\"\".concat(t.printTypes?this.constructor.name:\"\",\"[\").concat(r,\"]\")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r=0&&t=0&&t0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function YR(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Dy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2];return e[0]=s*f-n*c,e[1]=n*o-i*f,e[2]=i*c-s*o,e}function Hj(e,t,r,i){var s=t[0],n=t[1],o=t[2];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e}function Oy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[3]*i+r[7]*s+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*i+r[4]*s+r[8]*n+r[12])/o,e[1]=(r[1]*i+r[5]*s+r[9]*n+r[13])/o,e[2]=(r[2]*i+r[6]*s+r[10]*n+r[14])/o,e}function OE(e,t,r){var i=t[0],s=t[1],n=t[2];return e[0]=i*r[0]+s*r[3]+n*r[6],e[1]=i*r[1]+s*r[4]+n*r[7],e[2]=i*r[2]+s*r[5]+n*r[8],e}function BE(e,t,r){var i=r[0],s=r[1],n=r[2],o=r[3],c=t[0],f=t[1],_=t[2],w=s*_-n*f,I=n*c-i*_,R=i*f-s*c,N=s*R-n*I,j=n*w-i*R,Q=i*I-s*w,et=o*2;return w*=et,I*=et,R*=et,N*=2,j*=2,Q*=2,e[0]=c+w+N,e[1]=f+I+j,e[2]=_+R+Q,e}function qj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0],n[1]=s[1]*Math.cos(i)-s[2]*Math.sin(i),n[2]=s[1]*Math.sin(i)+s[2]*Math.cos(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Zj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[2]*Math.sin(i)+s[0]*Math.cos(i),n[1]=s[1],n[2]=s[2]*Math.cos(i)-s[0]*Math.sin(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Yj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0]*Math.cos(i)-s[1]*Math.sin(i),n[1]=s[0]*Math.sin(i)+s[1]*Math.cos(i),n[2]=s[2],e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Qj(e,t){var r=e[0],i=e[1],s=e[2],n=t[0],o=t[1],c=t[2],f=Math.sqrt(r*r+i*i+s*s),_=Math.sqrt(n*n+o*o+c*c),w=f*_,I=w&&YR(e,t)/w;return Math.acos(Math.min(Math.max(I,-1),1))}var FE=tat;var $j=eat;var zE=Jot,NE=rat,i4t=function(){var e=qR();return function(t,r,i,s,n,o){var c,f;for(r||(r=3),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;c0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(iat)}fromObject(t){return this.check()}fromQuaternion(t){return i7(this,t),this.check()}set(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this[4]=n,this[5]=o,this[6]=c,this[7]=f,this[8]=_,this.check()}setRowMajor(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=s,this[2]=c,this[3]=r,this[4]=n,this[5]=f,this[6]=i,this[7]=o,this[8]=_,this.check()}determinant(){return t7(this)}transpose(){return Kj(this,this),this.check()}invert(){return Jj(this,this),this.check()}multiplyLeft(t){return $R(this,t,this),this.check()}multiplyRight(t){return $R(this,this,t),this.check()}rotate(t){return r7(this,this,t),this.check()}scale(t){return Array.isArray(t)?XR(this,this,t):XR(this,this,[t,t]),this.check()}translate(t){return e7(this,this,t),this.check()}transform(t,r){let i;switch(t.length){case 2:i=Fj(r||[-0,-0],t,this);break;case 3:i=OE(r||[-0,-0,-0],t,this);break;case 4:i=DE(r||[-0,-0,-0,-0],t,this);break;default:throw new Error(\"Illegal vector\")}return QA(i,t.length),i}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},jE,GE;function nat(){return jE||(jE=new ss([0,0,0,0,0,0,0,0,0]),Object.freeze(jE)),jE}function sat(){return GE||(GE=new ss,Object.freeze(GE)),GE}function oat(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function s7(e,t){if(e===t){var r=t[1],i=t[2],s=t[3],n=t[6],o=t[7],c=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=n,e[11]=t[14],e[12]=s,e[13]=o,e[14]=c}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Sb(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=t[4],c=t[5],f=t[6],_=t[7],w=t[8],I=t[9],R=t[10],N=t[11],j=t[12],Q=t[13],et=t[14],Y=t[15],K=r*c-i*o,J=r*f-s*o,ut=r*_-n*o,Et=i*f-s*c,kt=i*_-n*c,Xt=s*_-n*f,qt=w*Q-I*j,le=w*et-R*j,ue=w*Y-N*j,De=I*et-R*Q,Ke=I*Y-N*Q,rr=R*Y-N*et,Sr=K*rr-J*Ke+ut*De+Et*ue-kt*le+Xt*qt;return Sr?(Sr=1/Sr,e[0]=(c*rr-f*Ke+_*De)*Sr,e[1]=(s*Ke-i*rr-n*De)*Sr,e[2]=(Q*Xt-et*kt+Y*Et)*Sr,e[3]=(R*kt-I*Xt-N*Et)*Sr,e[4]=(f*ue-o*rr-_*le)*Sr,e[5]=(r*rr-s*ue+n*le)*Sr,e[6]=(et*ut-j*Xt-Y*J)*Sr,e[7]=(w*Xt-R*ut+N*J)*Sr,e[8]=(o*Ke-c*ue+_*qt)*Sr,e[9]=(i*ue-r*Ke-n*qt)*Sr,e[10]=(j*kt-Q*ut+Y*K)*Sr,e[11]=(I*ut-w*kt-N*K)*Sr,e[12]=(c*le-o*De-f*qt)*Sr,e[13]=(r*De-i*le+s*qt)*Sr,e[14]=(Q*J-j*Et-et*K)*Sr,e[15]=(w*Et-I*J+R*K)*Sr,e):null}function o7(e){var t=e[0],r=e[1],i=e[2],s=e[3],n=e[4],o=e[5],c=e[6],f=e[7],_=e[8],w=e[9],I=e[10],R=e[11],N=e[12],j=e[13],Q=e[14],et=e[15],Y=t*o-r*n,K=t*c-i*n,J=t*f-s*n,ut=r*c-i*o,Et=r*f-s*o,kt=i*f-s*c,Xt=_*j-w*N,qt=_*Q-I*N,le=_*et-R*N,ue=w*Q-I*j,De=w*et-R*j,Ke=I*et-R*Q;return Y*Ke-K*De+J*ue+ut*le-Et*qt+kt*Xt}function qf(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=t[4],f=t[5],_=t[6],w=t[7],I=t[8],R=t[9],N=t[10],j=t[11],Q=t[12],et=t[13],Y=t[14],K=t[15],J=r[0],ut=r[1],Et=r[2],kt=r[3];return e[0]=J*i+ut*c+Et*I+kt*Q,e[1]=J*s+ut*f+Et*R+kt*et,e[2]=J*n+ut*_+Et*N+kt*Y,e[3]=J*o+ut*w+Et*j+kt*K,J=r[4],ut=r[5],Et=r[6],kt=r[7],e[4]=J*i+ut*c+Et*I+kt*Q,e[5]=J*s+ut*f+Et*R+kt*et,e[6]=J*n+ut*_+Et*N+kt*Y,e[7]=J*o+ut*w+Et*j+kt*K,J=r[8],ut=r[9],Et=r[10],kt=r[11],e[8]=J*i+ut*c+Et*I+kt*Q,e[9]=J*s+ut*f+Et*R+kt*et,e[10]=J*n+ut*_+Et*N+kt*Y,e[11]=J*o+ut*w+Et*j+kt*K,J=r[12],ut=r[13],Et=r[14],kt=r[15],e[12]=J*i+ut*c+Et*I+kt*Q,e[13]=J*s+ut*f+Et*R+kt*et,e[14]=J*n+ut*_+Et*N+kt*Y,e[15]=J*o+ut*w+Et*j+kt*K,e}function ag(e,t,r){var i=r[0],s=r[1],n=r[2],o,c,f,_,w,I,R,N,j,Q,et,Y;return t===e?(e[12]=t[0]*i+t[4]*s+t[8]*n+t[12],e[13]=t[1]*i+t[5]*s+t[9]*n+t[13],e[14]=t[2]*i+t[6]*s+t[10]*n+t[14],e[15]=t[3]*i+t[7]*s+t[11]*n+t[15]):(o=t[0],c=t[1],f=t[2],_=t[3],w=t[4],I=t[5],R=t[6],N=t[7],j=t[8],Q=t[9],et=t[10],Y=t[11],e[0]=o,e[1]=c,e[2]=f,e[3]=_,e[4]=w,e[5]=I,e[6]=R,e[7]=N,e[8]=j,e[9]=Q,e[10]=et,e[11]=Y,e[12]=o*i+w*s+j*n+t[12],e[13]=c*i+I*s+Q*n+t[13],e[14]=f*i+R*s+et*n+t[14],e[15]=_*i+N*s+Y*n+t[15]),e}function By(e,t,r){var i=r[0],s=r[1],n=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a7(e,t,r,i){var s=i[0],n=i[1],o=i[2],c=Math.hypot(s,n,o),f,_,w,I,R,N,j,Q,et,Y,K,J,ut,Et,kt,Xt,qt,le,ue,De,Ke,rr,Sr,Li;return c0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=i*o,e[2]=s*o,e[3]=n*o,e}function _7(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function y7(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e[3]=c+i*(r[3]-c),e}function Nh(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3];return e[0]=r[0]*i+r[4]*s+r[8]*n+r[12]*o,e[1]=r[1]*i+r[5]*s+r[9]*n+r[13]*o,e[2]=r[2]*i+r[6]*s+r[10]*n+r[14]*o,e[3]=r[3]*i+r[7]*s+r[11]*n+r[15]*o,e}function v7(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2],_=r[3],w=_*i+c*n-f*s,I=_*s+f*i-o*n,R=_*n+o*s-c*i,N=-o*i-c*s-f*n;return e[0]=w*_+N*-o+I*-f-R*-c,e[1]=I*_+N*-c+R*-o-w*-f,e[2]=R*_+N*-f+w*-c-I*-o,e[3]=t[3],e}var b4t=function(){var e=cat();return function(t,r,i,s,n,o){var c,f;for(r||(r=4),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;cMath.PI*2)throw Error(\"expected radians\")}function Aat(e,t,r,i,s,n){let o=2*n/(r-t),c=2*n/(s-i),f=(r+t)/(r-t),_=(s+i)/(s-i),w=-1,I=-1,R=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=_,e[10]=w,e[11]=I,e[12]=0,e[13]=0,e[14]=R,e[15]=0,e}function b7(){var e=new ya(4);return ya!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function w7(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function iD(e,t,r){r=r*.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function nD(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=r[0],f=r[1],_=r[2],w=r[3];return e[0]=i*w+o*c+s*_-n*f,e[1]=s*w+o*f+n*c-i*_,e[2]=n*w+o*_+i*f-s*c,e[3]=o*w-i*c-s*f-n*_,e}function S7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+o*c,e[1]=s*f+n*c,e[2]=n*f-s*c,e[3]=o*f-i*c,e}function T7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f-n*c,e[1]=s*f+o*c,e[2]=n*f+i*c,e[3]=o*f-s*c,e}function M7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+s*c,e[1]=s*f-i*c,e[2]=n*f+o*c,e[3]=o*f-n*c,e}function E7(e,t){var r=t[0],i=t[1],s=t[2];return e[0]=r,e[1]=i,e[2]=s,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-s*s)),e}function Mb(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3],f=r[0],_=r[1],w=r[2],I=r[3],R,N,j,Q,et;return N=s*f+n*_+o*w+c*I,N<0&&(N=-N,f=-f,_=-_,w=-w,I=-I),1-N>zh?(R=Math.acos(N),j=Math.sin(R),Q=Math.sin((1-i)*R)/j,et=Math.sin(i*R)/j):(Q=1-i,et=i),e[0]=Q*s+et*f,e[1]=Q*n+et*_,e[2]=Q*o+et*w,e[3]=Q*c+et*I,e}function P7(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=r*r+i*i+s*s+n*n,c=o?1/o:0;return e[0]=-r*c,e[1]=-i*c,e[2]=-s*c,e[3]=n*c,e}function I7(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function sD(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);var n=(s+1)%3,o=(s+2)%3;i=Math.sqrt(t[s*3+s]-t[n*3+n]-t[o*3+o]+1),e[s]=.5*i,i=.5/i,e[3]=(t[n*3+o]-t[o*3+n])*i,e[n]=(t[n*3+s]+t[s*3+n])*i,e[o]=(t[o*3+s]+t[s*3+o])*i}return e}var C7=p7;var L7=Fy,k7=_7,R7=y7,D7=A7;var O7=m7;var B7=g7;var F7=function(){var e=qR(),t=ZR(1,0,0),r=ZR(0,1,0);return function(i,s,n){var o=YR(s,n);return o<-.999999?(Dy(e,t,s),zE(e)<1e-6&&Dy(e,r,s),Wj(e,e),iD(i,e,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(Dy(e,s,n),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+o,B7(i,i))}}(),R4t=function(){var e=b7(),t=b7();return function(r,i,s,n,o,c){return Mb(e,i,o,c),Mb(t,s,n,c),Mb(r,e,t,2*c*(1-c)),r}}(),D4t=function(){var e=Xj();return function(t,r,i,s){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],B7(t,sD(t,e))}}();var gat=[0,0,0,1],lg=class extends np{constructor(t=0,r=0,i=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,i,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,i,s){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return sD(this,t),this.check()}fromAxisRotation(t,r){return iD(this,t,r),this.check()}identity(){return w7(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Qi(t)}get y(){return this[1]}set y(t){this[1]=Qi(t)}get z(){return this[2]}set z(t){this[2]=Qi(t)}get w(){return this[3]}set w(t){this[3]=Qi(t)}len(){return D7(this)}lengthSquared(){return O7(this)}dot(t){return k7(this,t)}rotationTo(t,r){return F7(this,t,r),this.check()}add(t){return C7(this,this,t),this.check()}calculateW(){return E7(this,this),this.check()}conjugate(){return I7(this,this),this.check()}invert(){return P7(this,this),this.check()}lerp(t,r,i){return i===void 0?this.lerp(this,t,r):(R7(this,t,r,i),this.check())}multiplyRight(t){return nD(this,this,t),this.check()}multiplyLeft(t){return nD(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return S7(this,this,t),this.check()}rotateY(t){return T7(this,this,t),this.check()}rotateZ(t){return M7(this,this,t),this.check()}scale(t){return L7(this,this,t),this.check()}slerp(t,r,i){let s,n,o;switch(arguments.length){case 1:({start:s=gat,target:n,ratio:o}=t);break;case 2:s=this,n=t,o=r;break;default:s=t,n=r,o=i}return Mb(this,s,n,o),this.check()}transformVector4(t,r=new wb){return v7(r,t,this),QA(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var YE={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,PI_OVER_TWO:Math.PI/2,PI_OVER_FOUR:Math.PI/4,PI_OVER_SIX:Math.PI/6,TWO_PI:Math.PI*2};var oD=`#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))\n\nstruct AmbientLight {\n vec3 color;\n};\n\nstruct PointLight {\n vec3 color;\n vec3 position;\n vec3 attenuation;\n};\n\nstruct DirectionalLight {\n vec3 color;\n vec3 direction;\n};\n\nuniform AmbientLight lighting_uAmbientLight;\nuniform PointLight lighting_uPointLight[MAX_LIGHTS];\nuniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];\nuniform int lighting_uPointLightCount;\nuniform int lighting_uDirectionalLightCount;\n\nuniform bool lighting_uEnabled;\n\nfloat getPointLightAttenuation(PointLight pointLight, float distance) {\n return pointLight.attenuation.x\n + pointLight.attenuation.y * distance\n + pointLight.attenuation.z * distance * distance;\n}\n\n#endif\n`;var _at={lightSources:{}};function aD(){let{color:e=[0,0,0],intensity:t=1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.map(r=>r*t/255)}function yat(e){let{ambientLight:t,pointLights:r=[],directionalLights:i=[]}=e,s={};return t?s[\"lighting_uAmbientLight.color\"]=aD(t):s[\"lighting_uAmbientLight.color\"]=[0,0,0],r.forEach((n,o)=>{s[\"lighting_uPointLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uPointLight[\".concat(o,\"].position\")]=n.position,s[\"lighting_uPointLight[\".concat(o,\"].attenuation\")]=n.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,i.forEach((n,o)=>{s[\"lighting_uDirectionalLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uDirectionalLight[\".concat(o,\"].direction\")]=n.direction}),s.lighting_uDirectionalLightCount=i.length,s}function z7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_at;if(\"lightSources\"in e){let{ambientLight:t,pointLights:r,directionalLights:i}=e.lightSources||{};return t||r&&r.length>0||i&&i.length>0?Object.assign({},yat({ambientLight:t,pointLights:r,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if(\"lights\"in e){let t={pointLights:[],directionalLights:[]};for(let r of e.lights||[])switch(r.type){case\"ambient\":t.ambientLight=r;break;case\"directional\":t.directionalLights.push(r);break;case\"point\":t.pointLights.push(r);break;default:}return z7({lightSources:t})}return{}}var lD={name:\"lights\",vs:oD,fs:oD,getUniforms:z7,defines:{MAX_LIGHTS:3}};var vat=new Uint8Array([0,255,255,255]),xat={pickingSelectedColor:null,pickingHighlightColor:vat,pickingActive:!1,pickingAttribute:!1};function bat(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xat,t={};if(e.pickingSelectedColor!==void 0)if(!e.pickingSelectedColor)t.picking_uSelectedColorValid=0;else{let r=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=r}if(e.pickingHighlightColor){let r=Array.from(e.pickingHighlightColor,i=>i/255);Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return e.pickingActive!==void 0&&(t.picking_uActive=!!e.pickingActive,t.picking_uAttribute=!!e.pickingAttribute),t}var wat=`uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n`,Sat=`uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n`,QE={name:\"picking\",vs:wat,fs:Sat,getUniforms:bat};var cD=`\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n`;var Tat={};function Mat(e){let{ambient:t=.35,diffuse:r=.6,shininess:i=32,specularColor:s=[30,30,30]}=e;return{lighting_uAmbient:t,lighting_uDiffuse:r,lighting_uShininess:i,lighting_uSpecularColor:s.map(n=>n/255)}}function N7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tat;if(!(\"material\"in e))return{};let{material:t}=e;return t?Mat(t):{lighting_uEnabled:!1}}var Zf={name:\"gouraud-lighting\",dependencies:[lD],vs:cD,defines:{LIGHTING_VERTEX:1},getUniforms:N7},Ny={name:\"phong-lighting\",dependencies:[lD],fs:cD,defines:{LIGHTING_FRAGMENT:1},getUniforms:N7};var Eat=`attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n`,uD={name:\"transform\",vs:Eat,fs:null};var Uh=class e{static getDefaultProgramManager(t){return t.luma=t.luma||{},t.luma.defaultProgramManager=t.luma.defaultProgramManager||new e(t),t.luma.defaultProgramManager}constructor(t){this.gl=t,this._programCache={},this._getUniforms={},this._registeredModules={},this._hookFunctions=[],this._defaultModules=[],this._hashes={},this._hashCounter=0,this.stateHash=0,this._useCounts={}}addDefaultModule(t){this._defaultModules.find(r=>r.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){let r=typeof t==\"string\"?t:t.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==r),this.stateHash++}addShaderHook(t,r){r&&(t=Object.assign(r,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{vs:r=\"\",fs:i=\"\",defines:s={},inject:n={},varyings:o=[],bufferMode:c=35981,transpileToGLSL100:f=!1}=t,_=this._getModuleList(t.modules),w=this._getHash(r),I=this._getHash(i),R=_.map(J=>this._getHash(J.name)).sort(),N=o.map(J=>this._getHash(J)),j=Object.keys(s).sort(),Q=Object.keys(n).sort(),et=[],Y=[];for(let J of j)et.push(this._getHash(J)),et.push(this._getHash(s[J]));for(let J of Q)Y.push(this._getHash(J)),Y.push(this._getHash(n[J]));let K=\"\".concat(w,\"/\").concat(I,\"D\").concat(et.join(\"/\"),\"M\").concat(R.join(\"/\"),\"I\").concat(Y.join(\"/\"),\"V\").concat(N.join(\"/\"),\"H\").concat(this.stateHash,\"B\").concat(c).concat(f?\"T\":\"\");if(!this._programCache[K]){let J=VR(this.gl,{vs:r,fs:i,modules:_,inject:n,defines:s,hookFunctions:this._hookFunctions,transpileToGLSL100:f});this._programCache[K]=new rp(this.gl,{hash:K,vs:J.vs,fs:J.fs,varyings:o,bufferMode:c}),this._getUniforms[K]=J.getUniforms||(ut=>{}),this._useCounts[K]=0}return this._useCounts[K]++,this._programCache[K]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){let r=t.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._programCache[r].delete(),delete this._programCache[r],delete this._getUniforms[r],delete this._useCounts[r])}_getHash(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+t.length),i={},s=0;for(let n=0,o=this._defaultModules.length;n{},Rat={},fn=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{id:i=ta(\"model\")}=r;ye(Jd(t)),this.id=i,this.gl=t,this.id=r.id||ta(\"Model\"),this.lastLogTime=0,this.animated=!1,this.initialize(r)}initialize(t){this.props={},this.programManager=t.programManager||Uh.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;let{program:r=null,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=t.drawMode!==void 0?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},ye(this.drawMode!==void 0&&Number.isFinite(this.vertexCount),kat)}setProps(t){this._setModelProps(t)}delete(){for(let t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){let{program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return ye(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return ye(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=U7(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let r={};for(let i in t){let s=t[i];r[i]=s.getValue?s.getValue():s}return this.vertexArray.setAttributes(r),this}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();let r=this.programManager.getUniforms(this.program);return r?r(t):{}}updateModuleSettings(t){let r=this.getModuleUniforms(t||{});return this.setUniforms(r)}clear(t){return Hf(this.program.gl,t),this}draw(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._checkProgram();let{moduleSettings:r=null,framebuffer:i,uniforms:s={},attributes:n={},transformFeedback:o=this.transformFeedback,parameters:c={},vertexArray:f=this.vertexArray}=t;this.setAttributes(n),this.updateModuleSettings(r),this.setUniforms(s);let _;He.priority>=Uy&&(_=this._logDrawCallStart(Uy));let w=this.vertexArray.getDrawParams(),{isIndexed:I=w.isIndexed,indexType:R=w.indexType,indexOffset:N=w.indexOffset,vertexArrayInstanced:j=w.isInstanced}=this.props;j&&!this.isInstanced&&He.warn(\"Found instanced attributes on non-instanced model\",this.id)();let{isInstanced:Q,instanceCount:et}=this,{onBeforeRender:Y=V7,onAfterRender:K=V7}=this.props;Y(),this.program.setUniforms(this.uniforms);let J=this.program.draw(Object.assign(Rat,t,{logPriority:_,uniforms:null,framebuffer:i,parameters:c,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:f,transformFeedback:o,isIndexed:I,indexType:R,isInstanced:Q,instanceCount:et,offset:I?N:0}));return K(),He.priority>=Uy&&this._logDrawCallEnd(_,f,i),J}transform(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{discard:r=!0,feedbackBuffers:i,unbindModels:s=[]}=t,{parameters:n}=t;i&&this._setFeedbackBuffers(i),r&&(n=Object.assign({},n,{35977:r})),s.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:n}))}finally{s.forEach(o=>o.vertexArray.bindBuffers())}return this}render(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.warn(\"Model.render() is deprecated. Use Model.setUniforms() and Model.draw()\")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),\"uniforms\"in t&&this.setUniforms(t.uniforms),\"pickable\"in t&&(this.pickable=t.pickable),\"instanceCount\"in t&&(this.instanceCount=t.instanceCount),\"geometry\"in t&&this.setGeometry(t.geometry),\"attributes\"in t&&this.setAttributes(t.attributes),\"_feedbackBuffers\"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!(this._programDirty||this.programManager.stateHash!==this._programManagerState))return;let{program:r}=this.programProps;if(r)this._managedProgram=!1;else{let{vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=this.programProps;r=this.programManager.get({vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ye(r instanceof rp,\"Model needs a program\"),this._programDirty=!1,r!==this.program&&(this.program=r,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Iy(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(let t in this.geometryBuffers){let r=this.geometryBuffers[t][0]||this.geometryBuffers[t];r instanceof Fr&&r.delete()}}_setAnimationProps(t){this.animated&&ye(t,\"Model.draw(): animated uniforms but no animationProps\")}_setFeedbackBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let{gl:r}=this.program;return this.transformFeedback=this.transformFeedback||new ip(r,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){let r=t>3?0:Lat;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL \".concat(this.id),{collapsed:He.level<=2})(),t}_logDrawCallEnd(t,r,i,s){if(t===void 0)return;let n=CR({vertexArray:r,header:\"\".concat(this.id,\" attributes\"),attributes:this._attributes}),{table:o,unusedTable:c,unusedCount:f}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:_,count:w}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});w>0&&He.log(\"MISSING UNIFORMS\",Object.keys(_))(),f>0&&He.log(\"UNUSED UNIFORMS\",Object.keys(c))();let I=LR(this.vertexArray.configuration);He.table(t,n)(),He.table(t,o)(),He.table(t+1,I)(),s&&s.log({logLevel:Uy,message:\"Rendered to \".concat(s.id)}),He.groupEnd(Uy)()}};var Eb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}setupResources(t){for(let r of this.bindings)this._setupTransformFeedback(r,t)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyings:r}=this;return r.length>0&&(t=Object.assign({},t,{varyings:r})),t}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:s}=r;return{attributes:Object.assign({},i,t.attributes),transformFeedback:s}}swap(){return this.feedbackMap?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t)}getBuffer(t){let{feedbackBuffers:r}=this.bindings[this.currentIndex],i=t?r[t]:null;return i?i instanceof Fr?i:i.buffer:null}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyingName:r}=t,i=this.getBuffer(r);return i?i.getData():null}delete(){for(let t in this.resources)this.resources[t].delete()}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ye(fr(this.gl))}_getFeedbackBuffers(t){let{sourceBuffers:r={}}=t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(let s in this.feedbackMap){let n=this.feedbackMap[s];s in r&&(i[n]=s)}Object.assign(i,t.feedbackBuffers);for(let s in i){let n=i[s];if(typeof n==\"string\"){let o=r[n],{byteLength:c,usage:f,accessor:_}=o;i[s]=this._createNewBuffer(s,{byteLength:c,usage:f,accessor:_})}}return i}_setupBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);let i=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:r,feedbackBuffers:i})}_setupTransformFeedback(t,r){let{model:i}=r,{program:s}=i;t.transformFeedback=new ip(this.gl,{program:s,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){let{sourceBuffers:r,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceBuffers:r,feedbackBuffers:i})}}_updateBinding(t,r){return t?(Object.assign(t.sourceBuffers,r.sourceBuffers),Object.assign(t.feedbackBuffers,r.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},r.sourceBuffers),feedbackBuffers:Object.assign({},r.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;let r=Object.assign({},t.sourceBuffers),i=Object.assign({},t.feedbackBuffers);for(let s in this.feedbackMap){let n=this.feedbackMap[s];r[s]=t.feedbackBuffers[n],i[n]=t.sourceBuffers[s],ye(i[n]instanceof Fr)}return{sourceBuffers:r,feedbackBuffers:i}}_createNewBuffer(t,r){let i=new Fr(this.gl,r);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}};var Dat=\"transform_uSampler_\",$E=\"transform_uSize_\",j7=\"transform_position\";function G7(e){let{vs:t,sourceTextureMap:r,targetTextureVarying:i,targetTexture:s}=e,o=Object.keys(r).length,c=null,f={},_=t,w={};if(o>0||i){let I=_.split(`\n`),R=I.slice();if(I.forEach((N,j,Q)=>{if(o>0){let et=zat(N,r);if(et){let{updatedLine:Y,inject:K}=et;R[j]=Y,w=Ly([w,K]),Object.assign(f,et.samplerTextureMap),o--}}i&&!c&&(c=Fat(N,i))}),i){ye(s);let N=\"\".concat($E).concat(i),j=\"uniform vec2 \".concat(N,`;\n`),Q=\" vec2 \".concat(j7,\" = transform_getPos(\").concat(N,`);\n gl_Position = vec4(`).concat(j7,`, 0, 1.);\n`);w=Ly([w,{\"vs:#decl\":j,\"vs:#main-start\":Q}])}_=R.join(`\n`)}return{vs:_,targetTextureType:c,inject:w,samplerTextureMap:f}}function W7(e){let{sourceTextureMap:t,targetTextureVarying:r,targetTexture:i}=e,s={},n,o;r&&({width:n,height:o}=i,s[\"\".concat($E).concat(r)]=[n,o]);for(let c in t)({width:n,height:o}=t[c]),s[\"\".concat($E).concat(c)]=[n,o];return s}function Oat(e){return IE(e,[\"attribute\",\"in\"])}function Bat(e){let t=\"\".concat(Dat).concat(e),r=\"\".concat($E).concat(e),i=\" uniform sampler2D \".concat(t,`;\n uniform vec2 `).concat(r,\";\");return{samplerName:t,sizeName:r,uniformDeclerations:i}}function Fat(e,t){let r=IE(e,[\"varying\",\"out\"]);return r&&r.name===t?r.type:null}function zat(e,t){let r={},i=Oat(e);if(!i)return null;let{type:s,name:n}=i;if(n&&t[n]){let o=\"// \".concat(e,\" => Replaced by Transform with a sampler\"),{samplerName:c,sizeName:f,uniformDeclerations:_}=Bat(n),w=jR(s),I=\" \".concat(s,\" \").concat(n,\" = transform_getInput(\").concat(c,\", \").concat(f,\").\").concat(w,`;\n`);return r[c]=n,{updatedLine:o,inject:{\"vs:#decl\":_,\"vs:#main-start\":I},samplerTextureMap:r}}return null}var Nat={10241:9728,10240:9728,10242:33071,10243:33071},Uat=\"transform_output\",Pb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._processVertexShader(t);return Object.assign({},t,r)}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,sourceTextures:i,framebuffer:s,targetTexture:n}=this.bindings[this.currentIndex],o=Object.assign({},r,t.attributes),c=Object.assign({},t.uniforms),f=Object.assign({},t.parameters),_=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(let I in this.samplerTextureMap){let R=this.samplerTextureMap[I];c[I]=i[R]}this._setSourceTextureParameters();let w=W7({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:n});Object.assign(c,w)}return this.hasTargetTexture&&(_=!1,f.viewport=[0,0,s.width,s.height]),{attributes:o,framebuffer:s,uniforms:c,discard:_,parameters:f}}swap(){return this._swapTexture?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupTextures(t)}getTargetTexture(){let{targetTexture:t}=this.bindings[this.currentIndex];return t}getData(){let{packed:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{framebuffer:r}=this.bindings[this.currentIndex],i=Dh(r);if(!t)return i;let s=i.constructor,n=GR(this.targetTextureType),o=new s(i.length*n/4),c=0;for(let f=0;f0&&arguments[0]!==void 0?arguments[0]:{},{_targetTextureVarying:r,_swapTexture:i}=t;this._swapTexture=i,this.targetTextureVarying=r,this.hasTargetTexture=r,this._setupTextures(t)}_createTargetTexture(t){let{sourceTextures:r,textureOrReference:i}=t;if(i instanceof pi)return i;let s=r[i];return s?(this._targetRefTexName=i,this._createNewTexture(s)):null}_setupTextures(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,_sourceTextures:i={},_targetTexture:s}=t,n=this._createTargetTexture({sourceTextures:i,textureOrReference:s});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:r,sourceTextures:i,targetTexture:n}),\"elementCount\"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if(typeof t!=\"number\"||this.elementCount>=t)return;let r=new Float32Array(t);r.forEach((i,s,n)=>{n[s]=s}),this.elementIDBuffer?this.elementIDBuffer.setData({data:r}):this.elementIDBuffer=new Fr(this.gl,{data:r,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){let{sourceTextures:r,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceTextures:r,targetTexture:i})}}_updateBinding(t,r){let{sourceBuffers:i,sourceTextures:s,targetTexture:n}=r;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,s),Object.assign(t.sourceBuffers,i),n){t.targetTexture=n;let{width:o,height:c}=n,{framebuffer:f}=t;f?(f.update({attachments:{36064:n},resizeAttachments:!1}),f.resize({width:o,height:c})):t.framebuffer=new yi(this.gl,{id:\"transform-framebuffer\",width:o,height:c,attachments:{36064:n}})}return t}_setSourceTextureParameters(){let t=this.currentIndex,{sourceTextures:r}=this.bindings[t];for(let i in r)r[i].setParameters(Nat)}_swapTextures(t){if(!this._swapTexture)return null;let r=Object.assign({},t.sourceTextures);r[this._swapTexture]=t.targetTexture;let i=t.sourceTextures[this._swapTexture];return{sourceTextures:r,targetTexture:i}}_createNewTexture(t){let r=yE(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=r,r}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceTextures:r,targetTexture:i}=this.bindings[this.currentIndex],{vs:s,uniforms:n,targetTextureType:o,inject:c,samplerTextureMap:f}=G7({vs:t.vs,sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),_=Ly([t.inject||{},c]);this.targetTextureType=o,this.samplerTextureMap=f;let w=t._fs||bb({version:Py(s),input:this.targetTextureVarying,inputType:o,output:Uat}),I=this.hasSourceTextures||this.targetTextureVarying?[uD].concat(t.modules||[]):t.modules;return{vs:s,fs:w,modules:I,uniforms:n,inject:_}}};var nc=class{static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(r),Object.seal(this)}delete(){let{model:t,bufferTransform:r,textureTransform:i}=this;t&&t.delete(),r&&r.delete(),i&&i.delete()}run(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{clearRenderTarget:r=!0}=t,i=this._updateDrawOptions(t);r&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let t=!1,r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)t=t||i.swap();ye(t,\"Nothing to swap\")}getBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r){let s=i.getData(t);if(s)return s}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};\"elementCount\"in t&&this.model.setVertexCount(t.elementCount);let r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)i.update(t)}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{gl:r}=this;this._buildResourceTransforms(r,t),t=this._updateModelProps(t),this.model=new fn(r,Object.assign({},t,{fs:t.fs||bb({version:Py(t.vs)}),id:t.id||\"transform-model\",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=s.updateModelProps(r);return r}_buildResourceTransforms(t,r){Vat(r)&&(this.bufferTransform=new Eb(t,r)),jat(r)&&(this.textureTransform=new Pb(t,r)),ye(this.bufferTransform||this.textureTransform,\"must provide source/feedback buffers or source/target textures\")}_updateDrawOptions(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=Object.assign(r,s.getDrawOptions(r));return r}};function Vat(e){return!!(!Wf(e.feedbackBuffers)||!Wf(e.feedbackMap)||e.varyings&&e.varyings.length>0)}function jat(e){return!!(!Wf(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)}var H7={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},$n=class{static get DRAW_MODE(){return H7}constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{id:r=ta(\"geometry\"),drawMode:i=H7.TRIANGLES,attributes:s={},indices:n=null,vertexCount:o=null}=t;this.id=r,this.drawMode=i|0,this.attributes={},this.userData={},this._setAttributes(s,n),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(t){return\"Geometry \".concat(this.id,\" attribute \").concat(t)}_setAttributes(t,r){r&&(this.indices=ArrayBuffer.isView(r)?{value:r,size:1}:r);for(let i in t){let s=t[i];s=ArrayBuffer.isView(s)?{value:s}:s,ye(ArrayBuffer.isView(s.value),\"\".concat(this._print(i),\": must be typed array or object with value as typed array\")),(i===\"POSITION\"||i===\"positions\")&&!s.size&&(s.size=3),i===\"indices\"?(ye(!this.indices),this.indices=s):this.attributes[i]=s}return this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,r){if(r)return r.value.length;let i=1/0;for(let s in t){let n=t[s],{value:o,size:c,constant:f}=n;!f&&o&&c>=1&&(i=Math.min(i,o.length/c))}return ye(Number.isFinite(i)),i}};var Gat=1,Wat=1,KA=class{constructor(){this.time=0,this.channels=new Map,this.animations=new Map,this.playing=!1,this.lastEngineTime=-1}addChannel(t){let{delay:r=0,duration:i=Number.POSITIVE_INFINITY,rate:s=1,repeat:n=1}=t,o=Gat++,c={time:0,delay:r,duration:i,rate:s,repeat:n};return this._setChannelTime(c,this.time),this.channels.set(o,c),o}removeChannel(t){this.channels.delete(t);for(let[r,i]of this.animations)i.channel===t&&this.detachAnimation(r)}isFinished(t){let r=this.channels.get(t);return r===void 0?!1:this.time>=r.delay+r.duration*r.repeat}getTime(t){if(t===void 0)return this.time;let r=this.channels.get(t);return r===void 0?-1:r.time}setTime(t){this.time=Math.max(0,t);let r=this.channels.values();for(let s of r)this._setChannelTime(s,this.time);let i=this.animations.values();for(let s of i){let{animation:n,channel:o}=s;n.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,r){let i=Wat++;return this.animations.set(i,{animation:t,channel:r}),t.setTime(this.getTime(r)),i}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,r){let i=r-t.delay,s=t.duration*t.repeat;i>=s?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}};var Hat=[255,255,255],qat=1,Zat=0,XE=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"ambient\");let{color:r=Hat}=t,{intensity:i=qat}=t;this.id=t.id||\"ambient-\".concat(Zat++),this.color=r,this.intensity=i}};var Yat=[255,255,255],Qat=1,$at=[0,0,-1],Xat=0,Ib=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"directional\"),G(this,\"direction\",void 0),G(this,\"shadow\",void 0);let{color:r=Yat}=t,{intensity:i=Qat}=t,{direction:s=$at}=t,{_shadow:n=!1}=t;this.id=t.id||\"directional-\".concat(Xat++),this.color=r,this.intensity=i,this.type=\"directional\",this.direction=new Ve(s).normalize().toArray(),this.shadow=n}getProjectedLight(t){return this}};var Cb=class{constructor(t,r={id:\"pass\"}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"props\",void 0);let{id:i}=r;this.id=i,this.gl=t,this.props={...r}}setProps(t){Object.assign(this.props,t)}render(t){}cleanup(){}};var sc=class extends Cb{constructor(...t){super(...t),G(this,\"_lastRenderIndex\",-1)}render(t){let r=this.gl;return Ml(r,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){let{target:r,moduleParameters:i,viewports:s,views:n,onViewportActive:o,clearStack:c=!0,clearCanvas:f=!0}=t;t.pass=t.pass||\"unknown\";let _=this.gl;f&&Jat(_,r),c&&(this._lastRenderIndex=-1);let w=[];for(let I of s){let R=n&&n[I.id];o?.(I);let N=this._getDrawLayerParams(I,t),j=I.subViewports||[I];for(let Q of j){let et=this._drawLayersInViewport(_,{target:r,moduleParameters:i,viewport:Q,view:R,pass:t.pass,layers:t.layers},N);w.push(et)}}return w}_getDrawLayerParams(t,{layers:r,pass:i,isPicking:s=!1,layerFilter:n,cullRect:o,effects:c,moduleParameters:f},_=!1){let w=[],I=q7(this._lastRenderIndex+1),R={layer:r[0],viewport:t,isPicking:s,renderPass:i,cullRect:o},N={};for(let j=0;jHf(t,I))}let w={totalCount:r.length,visibleCount:0,compositeCount:0,pickableCount:0};Ml(t,{viewport:_});for(let I=0;I{let o=s.props._offset,c=s.id,f=s.parent&&s.parent.id,_;if(f&&!(f in t)&&i(s.parent,!1),f in r){let w=r[f]=r[f]||q7(t[f],t);_=w(s,n),r[c]=w}else Number.isFinite(o)?(_=o+(t[f]||0),r[c]=null):_=e;return n&&_>=e&&(e=_+1),t[c]=_,_};return i}function Kat(e,{moduleParameters:t,target:r,viewport:i}){let s=r&&r.id!==\"default-framebuffer\",n=t&&t.devicePixelRatio||El(e),o=s?r.height:e.drawingBufferHeight,c=i;return[c.x*n,o-(c.y+c.height)*n,c.width*n,c.height*n]}function Jat(e,t){let r=t?t.width:e.drawingBufferWidth,i=t?t.height:e.drawingBufferHeight;Ml(e,{viewport:[0,0,r,i]}),e.clear(16640)}var Lb=class extends sc{constructor(t,r){super(t,r),G(this,\"shadowMap\",void 0),G(this,\"depthBuffer\",void 0),G(this,\"fbo\",void 0),this.shadowMap=new pi(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new el(t,{format:33189,width:1,height:1}),this.fbo=new yi(t,{id:\"shadowmap\",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){let r=this.fbo;Mn(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{let i=t.viewports[0],s=El(this.gl),n=i.width*s,o=i.height*s;(n!==r.width||o!==r.height)&&r.resize({width:n,height:o}),super.render({...t,target:r,pass:\"shadow\"})})}shouldDrawLayer(t){return t.props.shadowEnabled!==!1}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}};var Z7=\"#define SMOOTH_EDGE_RADIUS 0.5\",tlt=`\n`.concat(Z7,`\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n`),elt=`\n`.concat(Z7,`\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n`),Y7={name:\"geometry\",vs:tlt,fs:elt};var rlt=Object.keys(Yr).map(e=>\"const int COORDINATE_SYSTEM_\".concat(e,\" = \").concat(Yr[e],\";\")).join(\"\"),ilt=Object.keys(Ja).map(e=>\"const int PROJECTION_MODE_\".concat(e,\" = \").concat(Ja[e],\";\")).join(\"\"),nlt=Object.keys(po).map(e=>\"const int UNIT_\".concat(e.toUpperCase(),\" = \").concat(po[e],\";\")).join(\"\"),Q7=\"\".concat(rlt,`\n`).concat(ilt,`\n`).concat(nlt,`\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size_at_latitude(float lat) {\n float y = clamp(lat, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n}\n\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n return project_size_at_latitude(geometry.worldPosition.y);\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\n\nfloat project_size_at_latitude(float meters, float lat) {\n return meters * project_uCommonUnitsPerMeter.z * project_size_at_latitude(lat);\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size_at_latitude(position_world.z, position_world.y),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world) + project_offset_(project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n`);function slt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{for(let s in i)if(!slt(i[s],t[s])){r=e(i),t=i;break}return r}}var $7=[0,0,0,0],olt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],X7=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],alt=[0,0,0],K7=[0,0,0],llt=Yf(ult);function hD(e,t,r=K7){r.length<3&&(r=[r[0],r[1],0]);let i=r,s,n=!0;switch(t===Yr.LNGLAT_OFFSETS||t===Yr.METER_OFFSETS?s=r:s=e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case Ja.WEB_MERCATOR:(t===Yr.LNGLAT||t===Yr.CARTESIAN)&&(s=[0,0,0],n=!1);break;case Ja.WEB_MERCATOR_AUTO_OFFSET:t===Yr.LNGLAT?i=s:t===Yr.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],s=e.unprojectPosition(i),i[0]-=r[0],i[1]-=r[1],i[2]-=r[2]);break;case Ja.IDENTITY:i=e.position.map(Math.fround),i[2]=i[2]||0;break;case Ja.GLOBE:n=!1,s=null;break;default:n=!1}return{geospatialOrigin:s,shaderCoordinateOrigin:i,offsetMode:n}}function clt(e,t,r){let{viewMatrixUncentered:i,projectionMatrix:s}=e,{viewMatrix:n,viewProjectionMatrix:o}=e,c=$7,f=$7,_=e.cameraPosition,{geospatialOrigin:w,shaderCoordinateOrigin:I,offsetMode:R}=hD(e,t,r);return R&&(f=e.projectPosition(w||I),_=[_[0]-f[0],_[1]-f[1],_[2]-f[2]],f[3]=1,c=Nh([],f,o),n=i||n,o=qf([],s,n),o=qf([],o,olt)),{viewMatrix:n,viewProjectionMatrix:o,projectionCenter:c,originCommon:f,cameraPosCommon:_,shaderCoordinateOrigin:I,geospatialOrigin:w}}function J7({viewport:e,devicePixelRatio:t=1,modelMatrix:r=null,coordinateSystem:i=Yr.DEFAULT,coordinateOrigin:s=K7,autoWrapLongitude:n=!1}){i===Yr.DEFAULT&&(i=e.isGeospatial?Yr.LNGLAT:Yr.CARTESIAN);let o=llt({viewport:e,devicePixelRatio:t,coordinateSystem:i,coordinateOrigin:s});return o.project_uWrapLongitude=n,o.project_uModelMatrix=r||X7,o}function ult({viewport:e,devicePixelRatio:t,coordinateSystem:r,coordinateOrigin:i}){let{projectionCenter:s,viewProjectionMatrix:n,originCommon:o,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:_}=clt(e,r,i),w=e.getDistanceScales(),I=[e.width*t,e.height*t],R=Nh([],[0,0,-e.focalDistance,1],e.projectionMatrix)[3]||1,N={project_uCoordinateSystem:r,project_uProjectionMode:e.projectionMode,project_uCoordinateOrigin:f,project_uCommonOrigin:o.slice(0,3),project_uCenter:s,project_uPseudoMeters:!!e._pseudoMeters,project_uViewportSize:I,project_uDevicePixelRatio:t,project_uFocalDistance:R,project_uCommonUnitsPerMeter:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:alt,project_uScale:e.scale,project_uWrapLongitude:!1,project_uViewProjectionMatrix:n,project_uModelMatrix:X7,project_uCameraPosition:c};if(_){let j=e.getDistanceScales(_);switch(r){case Yr.METER_OFFSETS:N.project_uCommonUnitsPerWorldUnit=j.unitsPerMeter,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerMeter2;break;case Yr.LNGLAT:case Yr.LNGLAT_OFFSETS:e._pseudoMeters||(N.project_uCommonUnitsPerMeter=j.unitsPerMeter),N.project_uCommonUnitsPerWorldUnit=j.unitsPerDegree,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerDegree2;break;case Yr.CARTESIAN:N.project_uCommonUnitsPerWorldUnit=[1,1,j.unitsPerMeter[2]],N.project_uCommonUnitsPerWorldUnit2=[0,0,j.unitsPerMeter2[2]];break;default:break}}return N}var hlt={};function flt(e=hlt){return\"viewport\"in e?J7(e):{}}var Vh={name:\"project\",dependencies:[CE,Y7],vs:Q7,getUniforms:flt};function fD(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function JA(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}function dD(e,t){let r=e%t;return r<0?t+r:r}function tG(e,t,r){return r*t+(1-r)*e}function kb(e,t,r){return er?r:e}function dlt(e){return Math.log(e)*Math.LOG2E}var Vy=Math.log2||dlt;function Bu(e,t){if(!e)throw new Error(t||\"@math.gl/web-mercator: assertion failed.\")}var jh=Math.PI,eG=jh/4,Fu=jh/180,pD=180/jh,jy=512,KE=4003e4,Gy=85.051129,rG=1.5;function Rb(e){return Math.pow(2,e)}function JE(e){return Vy(e)}function va(e){let[t,r]=e;Bu(Number.isFinite(t)),Bu(Number.isFinite(r)&&r>=-90&&r<=90,\"invalid latitude\");let i=t*Fu,s=r*Fu,n=jy*(i+jh)/(2*jh),o=jy*(jh+Math.log(Math.tan(eG+s*.5)))/(2*jh);return[n,o]}function oc(e){let[t,r]=e,i=t/jy*(2*jh)-jh,s=2*(Math.atan(Math.exp(r/jy*(2*jh)-jh))-eG);return[i*pD,s*pD]}function AD(e){let{latitude:t}=e;Bu(Number.isFinite(t));let r=Math.cos(t*Fu);return JE(KE*r)-9}function Db(e){let t=Math.cos(e*Fu);return jy/KE/t}function Wy(e){let{latitude:t,longitude:r,highPrecision:i=!1}=e;Bu(Number.isFinite(t)&&Number.isFinite(r));let s=jy,n=Math.cos(t*Fu),o=s/360,c=o/n,f=s/KE/n,_={unitsPerMeter:[f,f,f],metersPerUnit:[1/f,1/f,1/f],unitsPerDegree:[o,c,f],degreesPerUnit:[1/o,1/c,1/f]};if(i){let w=Fu*Math.tan(t*Fu)/n,I=o*w/2,R=s/KE*w,N=R/c*f;_.unitsPerDegree2=[0,I,R],_.unitsPerMeter2=[N,0,N]}return _}function Ob(e,t){let[r,i,s]=e,[n,o,c]=t,{unitsPerMeter:f,unitsPerMeter2:_}=Wy({longitude:r,latitude:i,highPrecision:!0}),w=va(e);w[0]+=n*(f[0]+_[0]*o),w[1]+=o*(f[1]+_[1]*o);let I=oc(w),R=(s||0)+(c||0);return Number.isFinite(s)||Number.isFinite(c)?[I[0],I[1],R]:I}function tP(e){let{height:t,pitch:r,bearing:i,altitude:s,scale:n,center:o}=e,c=fD();ag(c,c,[0,0,-s]),WE(c,c,-r*Fu),HE(c,c,i*Fu);let f=n/t;return By(c,c,[f,f,f]),o&&ag(c,c,Gj([],o)),c}function mD(e){let{width:t,height:r,altitude:i,pitch:s=0,offset:n,center:o,scale:c,nearZMultiplier:f=1,farZMultiplier:_=1}=e,{fovy:w=cg(rG)}=e;i!==void 0&&(w=cg(i));let I=w*Fu,R=s*Fu,N=Bb(w),j=N;o&&(j+=o[2]*c/Math.cos(R)/r);let Q=I*(.5+(n?n[1]:0)/r),et=Math.sin(Q)*j/Math.sin(kb(Math.PI/2-R-Q,.01,Math.PI-.01)),Y=Math.sin(R)*et+j,K=j*10,J=Math.min(Y*_,K);return{fov:I,aspect:t/r,focalDistance:N,near:f,far:J}}function cg(e){return 2*Math.atan(.5/e)*pD}function Bb(e){return .5/Math.tan(.5*e*Fu)}function Hy(e,t){let[r,i,s=0]=e;return Bu(Number.isFinite(r)&&Number.isFinite(i)&&Number.isFinite(s)),JA(t,[r,i,s,1])}function Qf(e,t,r=0){let[i,s,n]=e;if(Bu(Number.isFinite(i)&&Number.isFinite(s),\"invalid pixel coordinate\"),Number.isFinite(n))return JA(t,[i,s,n,1]);let o=JA(t,[i,s,0,1]),c=JA(t,[i,s,1,1]),f=o[2],_=c[2],w=f===_?0:((r||0)-f)/(_-f);return kE([],o,c,w)}function Fb(e){let{width:t,height:r,bounds:i,minExtent:s=0,maxZoom:n=24,offset:o=[0,0]}=e,[[c,f],[_,w]]=i,I=plt(e.padding),R=va([c,kb(w,-Gy,Gy)]),N=va([_,kb(f,-Gy,Gy)]),j=[Math.max(Math.abs(N[0]-R[0]),s),Math.max(Math.abs(N[1]-R[1]),s)],Q=[t-I.left-I.right-Math.abs(o[0])*2,r-I.top-I.bottom-Math.abs(o[1])*2];Bu(Q[0]>0&&Q[1]>0);let et=Q[0]/j[0],Y=Q[1]/j[1],K=(I.right-I.left)/2/et,J=(I.top-I.bottom)/2/Y,ut=[(N[0]+R[0])/2+K,(N[1]+R[1])/2+J],Et=oc(ut),kt=Math.min(n,Vy(Math.abs(Math.min(et,Y))));return Bu(Number.isFinite(kt)),{longitude:Et[0],latitude:Et[1],zoom:kt}}function plt(e=0){return typeof e==\"number\"?{top:e,bottom:e,left:e,right:e}:(Bu(Number.isFinite(e.top)&&Number.isFinite(e.bottom)&&Number.isFinite(e.left)&&Number.isFinite(e.right)),e)}var iG=Math.PI/180;function zb(e,t=0){let{width:r,height:i,unproject:s}=e,n={targetZ:t},o=s([0,i],n),c=s([r,i],n),f,_,w=e.fovy?.5*e.fovy*iG:Math.atan(.5/e.altitude),I=(90-e.pitch)*iG;return w>I-.01?(f=nG(e,0,t),_=nG(e,r,t)):(f=s([0,0],n),_=s([r,0],n)),[o,c,_,f]}function nG(e,t,r){let{pixelUnprojectionMatrix:i}=e,s=JA(i,[t,0,1,1]),n=JA(i,[t,e.height,1,1]),c=(r*e.distanceScales.unitsPerMeter[2]-s[2])/(n[2]-s[2]),f=kE([],s,n,c),_=oc(f);return _.push(r),_}var sG=512;function eP(e){let{width:t,height:r,pitch:i=0}=e,{longitude:s,latitude:n,zoom:o,bearing:c=0}=e;(s<-180||s>180)&&(s=dD(s+180,360)-180),(c<-180||c>180)&&(c=dD(c+180,360)-180);let f=Vy(r/sG);if(o<=f)o=f,n=0;else{let _=r/2/Math.pow(2,o),w=oc([0,_])[1];if(nI&&(n=I)}}return{width:t,height:r,longitude:s,latitude:n,zoom:o,pitch:i,bearing:c}}var oG=.01,mlt=[\"longitude\",\"latitude\",\"zoom\"],aG={curve:1.414,speed:1.2};function rP(e,t,r,i){let{startZoom:s,startCenterXY:n,uDelta:o,w0:c,u1:f,S:_,rho:w,rho2:I,r0:R}=lG(e,t,i);if(fo?0:w}function lG(e,t,r){r=Object.assign({},aG,r);let i=r.curve,s=e.zoom,n=[e.longitude,e.latitude],o=Rb(s),c=t.zoom,f=[t.longitude,t.latitude],_=Rb(c-s),w=va(n),I=va(f),R=Nj([],I,w),N=Math.max(e.width,e.height),j=N/_,Q=Bj(R)*o,et=Math.max(Q,oG),Y=i*i,K=(j*j-N*N+Y*Y*et*et)/(2*N*Y*et),J=(j*j-N*N-Y*Y*et*et)/(2*j*Y*et),ut=Math.log(Math.sqrt(K*K+1)-K),Et=Math.log(Math.sqrt(J*J+1)-J),kt=(Et-ut)/i;return{startZoom:s,startCenterXY:w,uDelta:R,w0:N,u1:Q,S:kt,rho:i,rho2:Y,r0:ut,r1:Et}}var _lt=`\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n`,ylt=`\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n`,vlt=Yf(Tlt),xlt=Yf(Mlt),blt=[0,0,0,1],wlt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];function Slt(e,t){let[r,i,s]=e,n=Qf([r,i,s],t);return Number.isFinite(s)?n:[n[0],n[1],0]}function Tlt({viewport:e,center:t}){return new En(e.viewProjectionMatrix).invert().transform(t)}function Mlt({viewport:e,shadowMatrices:t}){let r=[],i=e.pixelUnprojectionMatrix,s=e.isGeospatial?void 0:1,n=[[0,0,s],[e.width,0,s],[0,e.height,s],[e.width,e.height,s],[0,0,-1],[e.width,0,-1],[0,e.height,-1],[e.width,e.height,-1]].map(o=>Slt(o,i));for(let o of t){let c=o.clone().translate(new Ve(e.center).negate()),f=n.map(w=>c.transform(w)),_=new En().ortho({left:Math.min(...f.map(w=>w[0])),right:Math.max(...f.map(w=>w[0])),bottom:Math.min(...f.map(w=>w[1])),top:Math.max(...f.map(w=>w[1])),near:Math.min(...f.map(w=>-w[2])),far:Math.max(...f.map(w=>-w[2]))});r.push(_.multiplyRight(o))}return r}function Elt(e,t){let{shadowEnabled:r=!0}=e;if(!r||!e.shadowMatrices||!e.shadowMatrices.length)return{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1};let i={shadow_uDrawShadowMap:!!e.drawToShadowMap,shadow_uUseShadowMap:e.shadowMaps?e.shadowMaps.length>0:!1,shadow_uColor:e.shadowColor||blt,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},s=vlt({viewport:e.viewport,center:t.project_uCenter}),n=[],o=xlt({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice();for(let c=0;c0?i[\"shadow_uShadowMap\".concat(c)]=e.shadowMaps[c]:i[\"shadow_uShadowMap\".concat(c)]=e.dummyShadowMap;return i}var Nb={name:\"shadow\",dependencies:[Vh],vs:_lt,fs:ylt,inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n position = shadow_setVertexPosition(geometry.position);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n color = shadow_filterShadowColor(color);\n `},getUniforms:(e={},t={})=>\"viewport\"in e&&(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0)?Elt(e,t):{}};var Plt={color:[255,255,255],intensity:1},cG=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ilt=[0,0,0,200/255],qy=class{constructor(t={}){G(this,\"id\",\"lighting-effect\"),G(this,\"props\",void 0),G(this,\"shadowColor\",Ilt),G(this,\"shadow\",void 0),G(this,\"ambientLight\",void 0),G(this,\"directionalLights\",void 0),G(this,\"pointLights\",void 0),G(this,\"shadowPasses\",[]),G(this,\"shadowMaps\",[]),G(this,\"dummyShadowMap\",null),G(this,\"programManager\",void 0),G(this,\"shadowMatrices\",void 0),this.setProps(t)}setProps(t){this.ambientLight=null,this.directionalLights=[],this.pointLights=[];for(let r in t){let i=t[r];switch(i.type){case\"ambient\":this.ambientLight=i;break;case\"directional\":this.directionalLights.push(i);break;case\"point\":this.pointLights.push(i);break;default:}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(r=>r.shadow),this.props=t}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o}){if(this.shadow){this.shadowMatrices=this._calculateMatrices(),this.shadowPasses.length===0&&this._createShadowPasses(t),this.programManager||(this.programManager=Uh.getDefaultProgramManager(t),Nb&&this.programManager.addDefaultModule(Nb)),this.dummyShadowMap||(this.dummyShadowMap=new pi(t,{width:1,height:1}));for(let c=0;ci.getProjectedLight({layer:t})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:t}))},r}cleanup(){for(let t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(Nb),this.programManager=null)}_calculateMatrices(){let t=[];for(let r of this.directionalLights){let i=new En().lookAt({eye:new Ve(r.direction).negate()});t.push(i)}return t}_createShadowPasses(t){for(let r=0;rs&&(n=s);let o=this._pool,c=t.BYTES_PER_ELEMENT*n,f=o.findIndex(_=>_.byteLength>=c);if(f>=0){let _=new t(o.splice(f,1)[0],0,n);return i&&_.fill(0),_}return new t(n)}_release(t){if(!ArrayBuffer.isView(t))return;let r=this._pool,{buffer:i}=t,{byteLength:s}=i,n=r.findIndex(o=>o.byteLength>=s);n<0?r.push(i):(n>0||r.lengththis.opts.poolSize&&r.shift()}},Gh=new _D;function Yy(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function hG(e){return[e[12],e[13],e[14]]}function fG(e){return{left:Zy(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:Zy(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:Zy(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:Zy(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:Zy(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:Zy(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}var uG=new Ve;function Zy(e,t,r,i){uG.set(e,t,r);let s=uG.len();return{distance:i/s,normal:new Ve(-e/s,-t/s,-r/s)}}function Clt(e){return e-Math.fround(e)}var Ub;function iP(e,t){let{size:r=1,startIndex:i=0}=t,s=t.endIndex!==void 0?t.endIndex:e.length,n=(s-i)/r;Ub=Gh.allocate(Ub,n,{type:Float32Array,size:r*2});let o=i,c=0;for(;osuper.render({target:o,layers:t,layerFilter:r,views:i,viewports:s,onViewportActive:n,cullRect:I,effects:R?.filter(ut=>ut.useInPicking),pass:N,isPicking:!0,moduleParameters:Q}));return this._colorEncoderState=null,{decodePickingColor:Y&&Flt.bind(null,Y),stats:K}}shouldDrawLayer(t){let{pickable:r,operation:i}=t.props;return r&&i.includes(\"draw\")||i.includes(\"terrain\")||i.includes(\"mask\")}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,r,i){let s={...t.props.parameters},{pickable:n,operation:o}=t.props;return this._colorEncoderState?n&&o.includes(\"draw\")&&(Object.assign(s,gG),s.blend=!0,s.blendColor=Blt(this._colorEncoderState,t,i)):s.blend=!1,o.includes(\"terrain\")&&(s.blend=!1),s}_resetColorEncoder(t){return this._colorEncoderState=t?null:{byLayer:new Map,byAlpha:[]},this._colorEncoderState}};function Blt(e,t,r){let{byLayer:i,byAlpha:s}=e,n,o=i.get(t);return o?(o.viewports.push(r),n=o.a):(n=i.size+1,n<=255?(o={a:n,layer:t,viewports:[r]},i.set(t,o),s[n]=o):(or.warn(\"Too many pickable layers, only picking the first 255\")(),n=0)),[0,0,0,n/255]}function Flt(e,t){let r=e.byAlpha[t[3]];return r&&{pickedLayer:r.layer,pickedViewports:r.viewports,pickedObjectIndex:r.layer.decodePickingColor(t)}}var tm={NO_STATE:\"Awaiting state\",MATCHED:\"Matched. State transferred from previous layer\",INITIALIZED:\"Initialized\",AWAITING_GC:\"Discarded. Awaiting garbage collection\",AWAITING_FINALIZATION:\"No longer matched. Awaiting garbage collection\",FINALIZED:\"Finalized! Awaiting garbage collection\"},Qy=Symbol.for(\"component\"),zu=Symbol.for(\"propTypes\"),nP=Symbol.for(\"deprecatedProps\"),sp=Symbol.for(\"asyncPropDefaults\"),$f=Symbol.for(\"asyncPropOriginal\"),Wh=Symbol.for(\"asyncPropResolved\");function op(e,t=()=>!0){return Array.isArray(e)?_G(e,t,[]):t(e)?[e]:[]}function _G(e,t,r){let i=-1;for(;++i0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,r){if(t===this._data&&!r)return;this._data=t;let i=++this._loadCount,s=t;typeof t==\"string\"&&(s=jA(t)),s instanceof Promise?(this.isLoaded=!1,this._loader=s.then(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=void 0,this._content=n)}).catch(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=n||!0)})):(this.isLoaded=!0,this._error=void 0,this._content=t);for(let n of this._subscribers)n.onChange(this.getData())}};var jb=class{constructor({gl:t,protocol:r}){G(this,\"protocol\",void 0),G(this,\"_context\",void 0),G(this,\"_resources\",void 0),G(this,\"_consumers\",void 0),G(this,\"_pruneRequest\",void 0),this.protocol=r||\"resource://\",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return t.startsWith(this.protocol)?!0:t in this._resources}add({resourceId:t,data:r,forceUpdate:i=!1,persistent:s=!0}){let n=this._resources[t];n?n.setData(r,i):(n=new Vb(t,r,this._context),this._resources[t]=n),n.persistent=s}remove(t){let r=this._resources[t];r&&(r.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){let r=this._consumers[t];if(r){for(let i in r){let s=r[i],n=this._resources[s.resourceId];n&&n.unsubscribe(s)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:r,consumerId:i,requestId:s=\"default\"}){let{_resources:n,protocol:o}=this;t.startsWith(o)&&(t=t.replace(o,\"\"),n[t]||this.add({resourceId:t,data:null,persistent:!1}));let c=n[t];if(this._track(i,s,c,r),c)return c.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(let t in this._resources)this._resources[t].delete()}_track(t,r,i,s){let n=this._consumers,o=n[t]=n[t]||{},c=o[r]||{},f=c.resourceId&&this._resources[c.resourceId];f&&(f.unsubscribe(c),this.prune()),i&&(o[r]=c,c.onChange=s,c.resourceId=i.id,i.subscribe(c))}_prune(){this._pruneRequest=null;for(let t of Object.keys(this._resources)){let r=this._resources[t];!r.persistent&&!r.inUse()&&(r.delete(),delete this._resources[t])}}};var zlt=`\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n mat3 rotation;\n if (project_needs_rotation(projectedPosition, rotation)) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n`,Rs={name:\"project32\",dependencies:[Vh],vs:zlt};var Ao={inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n // for picking depth values\n picking_setPickingAttribute(position.z / position.w);\n `,\"vs:DECKGL_FILTER_COLOR\":`\n picking_setPickingColor(geometry.pickingColor);\n `,\"fs:#decl\":`\nuniform bool picking_uAttribute;\n `,\"fs:DECKGL_FILTER_COLOR\":{order:99,injection:`\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n `}},...QE};var Nlt=[Vh],Ult=[\"vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)\",\"fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)\"];function yG(e){let t=Uh.getDefaultProgramManager(e);for(let r of Nlt)t.addDefaultModule(r);for(let r of Ult)t.addShaderHook(r);return t}var Vlt=\"layerManager.setLayers\",jlt=\"layerManager.activateViewport\",Gb=class{constructor(t,{deck:r,stats:i,viewport:s,timeline:n}={}){G(this,\"layers\",void 0),G(this,\"context\",void 0),G(this,\"resourceManager\",void 0),G(this,\"_lastRenderedLayers\",[]),G(this,\"_needsRedraw\",!1),G(this,\"_needsUpdate\",!1),G(this,\"_nextLayers\",null),G(this,\"_debug\",!1),G(this,\"activateViewport\",o=>{Ls(jlt,this,o),o&&(this.context.viewport=o)}),this.layers=[],this.resourceManager=new jb({gl:t,protocol:\"deck://\"}),this.context={mousePosition:null,userData:{},layerManager:this,gl:t,deck:r,programManager:t&&yG(t),stats:i||new Gf({id:\"deck.gl\"}),viewport:s||new ac({id:\"DEFAULT-INITIAL-VIEWPORT\"}),timeline:n||new KA,resourceManager:this.resourceManager,onError:void 0},Object.seal(this)}finalize(){this.resourceManager.finalize();for(let t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(let i of this.layers){let s=i.getNeedsRedraw(t);r=r||s}return r}needsUpdate(){return this._nextLayers&&this._nextLayers!==this._lastRenderedLayers?\"layers changed\":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t}={}){return t?this.layers.filter(r=>t.find(i=>r.id.indexOf(i)===0)):this.layers}setProps(t){\"debug\"in t&&(this._debug=t.debug),\"userData\"in t&&(this.context.userData=t.userData),\"layers\"in t&&(this._nextLayers=t.layers),\"onError\"in t&&(this.context.onError=t.onError)}setLayers(t,r){Ls(Vlt,this,r,t),this._lastRenderedLayers=t;let i=op(t,Boolean);for(let s of i)s.context=this.context;this._updateLayers(this.layers,i)}updateLayers(){let t=this.needsUpdate();t&&(this.setNeedsRedraw(\"updating layers: \".concat(t)),this.setLayers(this._nextLayers||this._lastRenderedLayers,t)),this._nextLayers=null}_handleError(t,r,i){i.raiseError(r,\"\".concat(t,\" of \").concat(i))}_updateLayers(t,r){let i={};for(let o of t)i[o.id]?or.warn(\"Multiple old layers with same id \".concat(o.id))():i[o.id]=o;let s=[];this._updateSublayersRecursively(r,i,s),this._finalizeOldLayers(i);let n=!1;for(let o of s)if(o.hasUniformTransition()){n=\"Uniform transition in \".concat(o);break}this._needsUpdate=n,this.layers=s}_updateSublayersRecursively(t,r,i){for(let s of t){s.context=this.context;let n=r[s.id];n===null&&or.warn(\"Multiple new layers with same id \".concat(s.id))(),r[s.id]=null;let o=null;try{this._debug&&n!==s&&s.validateProps(),n?(this._transferLayerState(n,s),this._updateLayer(s)):this._initializeLayer(s),i.push(s),o=s.isComposite?s.getSubLayers():null}catch(c){this._handleError(\"matching\",c,s)}o&&this._updateSublayersRecursively(o,r,i)}}_finalizeOldLayers(t){for(let r in t){let i=t[r];i&&this._finalizeLayer(i)}}_initializeLayer(t){try{t._initialize(),t.lifecycle=tm.INITIALIZED}catch(r){this._handleError(\"initialization\",r,t)}}_transferLayerState(t,r){r._transferState(t),r.lifecycle=tm.MATCHED,r!==t&&(t.lifecycle=tm.AWAITING_GC)}_updateLayer(t){try{t._update()}catch(r){this._handleError(\"update\",r,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||\"finalized \".concat(t),t.lifecycle=tm.AWAITING_FINALIZATION;try{t._finalize(),t.lifecycle=tm.FINALIZED}catch(r){this._handleError(\"finalization\",r,t)}}};function mo(e,t,r){if(e===t)return!0;if(!r||!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let i=0;ir.containsPixel(t)):this._viewports}getViews(){let t={};return this.views.forEach(r=>{t[r.id]=r}),t}getView(t){return this.views.find(r=>r.id===t)}getViewState(t){let r=typeof t==\"string\"?this.getView(t):t,i=r&&this.viewState[r.getViewStateId()]||this.viewState;return r?r.filterViewState(i):i}getViewport(t){return this._viewportMap[t]}unproject(t,r){let i=this.getViewports(),s={x:t[0],y:t[1]};for(let n=i.length-1;n>=0;--n){let o=i[n];if(o.containsPixel(s)){let c=t.slice();return c[0]-=o.x,c[1]-=o.y,o.unproject(c,r)}}return null}setProps(t){t.views&&this._setViews(t.views),t.viewState&&this._setViewState(t.viewState),(\"width\"in t||\"height\"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,r){(t!==this.width||r!==this.height)&&(this.width=t,this.height=r,this.setNeedsUpdate(\"Size changed\"))}_setViews(t){t=op(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate(\"views changed\"),this.views=t}_setViewState(t){t?(!mo(t,this.viewState,3)&&this.setNeedsUpdate(\"viewState changed\"),this.viewState=t):or.warn(\"missing `viewState` or `initialViewState`\")()}_onViewStateChange(t,r){this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange({...r,viewId:t})}_createController(t,r){let i=r.type;return new i({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,r.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:n=>{var o;return(o=this.getView(t.id))===null||o===void 0?void 0:o.makeViewport({viewState:n,width:this.width,height:this.height})}})}_updateController(t,r,i,s){let n=t.controller;if(n&&i){let o={...r,...n,id:t.id,x:i.x,y:i.y,width:i.width,height:i.height};return(!s||s.constructor!==n.type)&&(s=this._createController(t,o)),s&&s.setProps(o),s}return null}_rebuildViewports(){let{views:t}=this,r=this.controllers;this._viewports=[],this.controllers={};let i=!1;for(let s=t.length;s--;){let n=t[s],o=this.getViewState(n),c=n.makeViewport({viewState:o,width:this.width,height:this.height}),f=r[n.id],_=!!n.controller;_&&!f&&(i=!0),(i||!_)&&f&&(f.finalize(),f=null),this.controllers[n.id]=this._updateController(n,o,c,f),c&&this._viewports.unshift(c)}for(let s in r){let n=r[s];n&&!this.controllers[s]&&n.finalize()}this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,r){return t.length!==r.length?!0:t.some((i,s)=>!t[s].equals(r[s]))}};var Glt=/([0-9]+\\.?[0-9]*)(%|px)/;function ap(e){switch(typeof e){case\"number\":return{position:e,relative:!1};case\"string\":let t=Glt.exec(e);if(t&&t.length>=3){let r=t[2]===\"%\",i=parseFloat(t[1]);return{position:r?i/100:i,relative:r}}default:throw new Error(\"Could not parse position string \".concat(e))}}function lp(e,t){return e.relative?Math.round(e.position*t):e.position}function _r(e,t){if(!e)throw new Error(t||\"deck.gl: assertion failed.\")}var Xc=class{constructor(t){G(this,\"id\",void 0),G(this,\"viewportInstance\",void 0),G(this,\"_x\",void 0),G(this,\"_y\",void 0),G(this,\"_width\",void 0),G(this,\"_height\",void 0),G(this,\"_padding\",void 0),G(this,\"props\",void 0);let{id:r,x:i=0,y:s=0,width:n=\"100%\",height:o=\"100%\",padding:c=null,viewportInstance:f}=t||{};_r(!f||f instanceof ac),this.viewportInstance=f,this.id=r||this.constructor.displayName||\"view\",this.props={...t,id:this.id},this._x=ap(i),this._y=ap(s),this._width=ap(n),this._height=ap(o),this._padding=c&&{left:ap(c.left||0),right:ap(c.right||0),top:ap(c.top||0),bottom:ap(c.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t?!0:this.viewportInstance?t.viewportInstance?this.viewportInstance.equals(t.viewportInstance):!1:this.ViewportType===t.ViewportType&&mo(this.props,t.props,2)}makeViewport({width:t,height:r,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);let s=this.getDimensions({width:t,height:r});return!s.height||!s.width?null:new this.ViewportType({...i,...this.props,...s})}getViewStateId(){let{viewState:t}=this.props;return typeof t==\"string\"?t:t?.id||this.id}filterViewState(t){if(this.props.viewState&&typeof this.props.viewState==\"object\"){if(!this.props.viewState.id)return this.props.viewState;let r={...t};for(let i in this.props.viewState)i!==\"id\"&&(r[i]=this.props.viewState[i]);return r}return t}getDimensions({width:t,height:r}){let i={x:lp(this._x,t),y:lp(this._y,r),width:lp(this._width,t),height:lp(this._height,r)};return this._padding&&(i.padding={left:lp(this._padding.left,t),top:lp(this._padding.top,r),right:lp(this._padding.right,t),bottom:lp(this._padding.bottom,r)}),i}get controller(){let t=this.props.controller;return t?t===!0?{type:this.ControllerType}:typeof t==\"function\"?{type:t}:{type:this.ControllerType,...t}:null}};var Kc=class{constructor(t){G(this,\"_inProgress\",void 0),G(this,\"_handle\",void 0),G(this,\"_timeline\",void 0),G(this,\"time\",void 0),G(this,\"settings\",void 0),this._inProgress=!1,this._handle=null,this._timeline=t,this.time=0,this.settings={duration:0}}get inProgress(){return this._inProgress}start(t){var r,i;this.cancel(),this.settings=t,this._inProgress=!0,(r=(i=this.settings).onStart)===null||r===void 0||r.call(i,this)}end(){if(this._inProgress){var t,r;this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,(t=(r=this.settings).onEnd)===null||t===void 0||t.call(r,this)}}cancel(){if(this._inProgress){var t,r;(t=(r=this.settings).onInterrupt)===null||t===void 0||t.call(r,this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1}}update(){var t,r;if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:i,settings:s}=this;this._handle=i.addChannel({delay:i.getTime(),duration:s.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),(t=(r=this.settings).onUpdate)===null||t===void 0||t.call(r,this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var vG=()=>{},bD={BREAK:1,SNAP_TO_END:2,IGNORE:3},Wlt=e=>e,Hlt=bD.BREAK,Hb=class{constructor(t){G(this,\"getControllerState\",void 0),G(this,\"props\",void 0),G(this,\"propsInTransition\",void 0),G(this,\"transition\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"_onTransitionUpdate\",r=>{let{time:i,settings:{interpolator:s,startProps:n,endProps:o,duration:c,easing:f}}=r,_=f(i/c),w=s.interpolateProps(n,o,_);this.propsInTransition=this.getControllerState({...this.props,...w}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}),this.getControllerState=t.getControllerState,this.propsInTransition=null,this.transition=new Kc(t.timeline),this.onViewStateChange=t.onViewStateChange||vG,this.onStateChange=t.onStateChange||vG}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let r=!1,i=this.props;if(this.props=t,!i||this._shouldIgnoreViewportChange(i,t))return!1;if(this._isTransitionEnabled(t)){let s=i;if(this.transition.inProgress){let{interruption:n,endProps:o}=this.transition.settings;s={...i,...n===bD.SNAP_TO_END?o:this.propsInTransition||i}}this._triggerTransition(s,t),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(t){let{transitionDuration:r,transitionInterpolator:i}=t;return(r>0||r===\"auto\")&&!!i}_isUpdateDueToCurrentTransition(t){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition):!1}_shouldIgnoreViewportChange(t,r){return this.transition.inProgress?this.transition.settings.interruption===bD.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(t,r):!0}_triggerTransition(t,r){let i=this.getControllerState(t),s=this.getControllerState(r).shortestPathFrom(i),n=r.transitionInterpolator,o=n.getDuration?n.getDuration(t,r):r.transitionDuration;if(o===0)return;let c=n.initializeProps(t,s);this.propsInTransition={};let f={duration:o,easing:r.transitionEasing||Wlt,interpolator:n,interruption:r.transitionInterruption||Hlt,startProps:c.start,endProps:c.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(f),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t?.(r)}}};var hg=class{constructor(t){G(this,\"_propsToCompare\",void 0),G(this,\"_propsToExtract\",void 0),G(this,\"_requiredProps\",void 0);let{compare:r,extract:i,required:s}=t;this._propsToCompare=r,this._propsToExtract=i||r,this._requiredProps=s}arePropsEqual(t,r){for(let i of this._propsToCompare)if(!(i in t)||!(i in r)||!Ro(t[i],r[i]))return!1;return!0}initializeProps(t,r){let i={},s={};for(let n of this._propsToExtract)(n in t||n in r)&&(i[n]=t[n],s[n]=r[n]);return this._checkRequiredProps(i),this._checkRequiredProps(s),{start:i,end:s}}getDuration(t,r){return r.transitionDuration}_checkRequiredProps(t){this._requiredProps&&this._requiredProps.forEach(r=>{let i=t[r];_r(Number.isFinite(i)||Array.isArray(i),\"\".concat(r,\" is required for transition\"))})}};var qlt=[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\"],Zlt=[\"longitude\",\"latitude\",\"zoom\"],fg=class extends hg{constructor(t={}){let r=Array.isArray(t)?t:t.transitionProps,i=Array.isArray(t)?{}:t;i.transitionProps=Array.isArray(r)?{compare:r,required:r}:r||{compare:qlt,required:Zlt},super(i.transitionProps),G(this,\"opts\",void 0),this.opts=i}initializeProps(t,r){let i=super.initializeProps(t,r),{makeViewport:s,around:n}=this.opts;if(s&&n){let o=s(t),c=s(r),f=o.unproject(n);i.start.around=n,Object.assign(i.end,{around:c.project(f),aroundPosition:f,width:r.width,height:r.height})}return i}interpolateProps(t,r,i){let s={};for(let n of this._propsToExtract)s[n]=il(t[n]||0,r[n]||0,i);if(r.aroundPosition&&this.opts.makeViewport){let n=this.opts.makeViewport({...r,...s});Object.assign(s,n.panByPosition(r.aroundPosition,il(t.around,r.around,i)))}return s}};var em={transitionDuration:0},Ylt=300,sP=e=>1-(1-e)*(1-e),$y={WHEEL:[\"wheel\"],PAN:[\"panstart\",\"panmove\",\"panend\"],PINCH:[\"pinchstart\",\"pinchmove\",\"pinchend\"],TRIPLE_PAN:[\"tripanstart\",\"tripanmove\",\"tripanend\"],DOUBLE_TAP:[\"doubletap\"],KEYBOARD:[\"keydown\"]},dg={},qb=class{constructor(t){G(this,\"props\",void 0),G(this,\"state\",{}),G(this,\"transitionManager\",void 0),G(this,\"eventManager\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"makeViewport\",void 0),G(this,\"_controllerState\",void 0),G(this,\"_events\",{}),G(this,\"_interactionState\",{isDragging:!1}),G(this,\"_customEvents\",[]),G(this,\"_eventStartBlocked\",null),G(this,\"_panMove\",!1),G(this,\"invertPan\",!1),G(this,\"dragMode\",\"rotate\"),G(this,\"inertia\",0),G(this,\"scrollZoom\",!0),G(this,\"dragPan\",!0),G(this,\"dragRotate\",!0),G(this,\"doubleClickZoom\",!0),G(this,\"touchZoom\",!0),G(this,\"touchRotate\",!1),G(this,\"keyboard\",!0),this.transitionManager=new Hb({...t,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=t.eventManager,this.onViewStateChange=t.onViewStateChange||(()=>{}),this.onStateChange=t.onStateChange||(()=>{}),this.makeViewport=t.makeViewport}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.props&&this.setProps(this.props)}finalize(){for(let r in this._events)if(this._events[r]){var t;(t=this.eventManager)===null||t===void 0||t.off(r,this.handleEvent)}this.transitionManager.finalize()}handleEvent(t){this._controllerState=void 0;let r=this._eventStartBlocked;switch(t.type){case\"panstart\":return r?!1:this._onPanStart(t);case\"panmove\":return this._onPan(t);case\"panend\":return this._onPanEnd(t);case\"pinchstart\":return r?!1:this._onPinchStart(t);case\"pinchmove\":return this._onPinch(t);case\"pinchend\":return this._onPinchEnd(t);case\"tripanstart\":return r?!1:this._onTriplePanStart(t);case\"tripanmove\":return this._onTriplePan(t);case\"tripanend\":return this._onTriplePanEnd(t);case\"doubletap\":return this._onDoubleTap(t);case\"wheel\":return this._onWheel(t);case\"keydown\":return this._onKeyDown(t);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(t){let{x:r,y:i}=this.props,{offsetCenter:s}=t;return[s.x-r,s.y-i]}isPointInBounds(t,r){let{width:i,height:s}=this.props;if(r&&r.handled)return!1;let n=t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=s;return n&&r&&r.stopPropagation(),n}isFunctionKeyPressed(t){let{srcEvent:r}=t;return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(t){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=r}setProps(t){t.dragMode&&(this.dragMode=t.dragMode),this.props=t,\"transitionInterpolator\"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:r}=t;this.inertia=Number.isFinite(r)?r:r===!0?Ylt:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:n=!0,doubleClickZoom:o=!0,touchZoom:c=!0,touchRotate:f=!1,keyboard:_=!0}=t,w=!!this.onViewStateChange;this.toggleEvents($y.WHEEL,w&&i),this.toggleEvents($y.PAN,w),this.toggleEvents($y.PINCH,w&&(c||f)),this.toggleEvents($y.TRIPLE_PAN,w&&f),this.toggleEvents($y.DOUBLE_TAP,w&&o),this.toggleEvents($y.KEYBOARD,w&&_),this.scrollZoom=i,this.dragPan=s,this.dragRotate=n,this.doubleClickZoom=o,this.touchZoom=c,this.touchRotate=f,this.keyboard=_}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,r){this.eventManager&&t.forEach(i=>{this._events[i]!==r&&(this._events[i]=r,r?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(t,r=null,i={}){let s={...t.getViewportProps(),...r},n=this.controllerState!==t;if(this.state=t.getState(),this._setInteractionState(i),n){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:s,interactionState:this._interactionState,oldViewState:o})}}_onTransition(t){this.onViewStateChange({...t,interactionState:this._interactionState})}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange(this._interactionState)}_onPanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t)||t.rightButton||!1;(this.invertPan||this.dragMode===\"pan\")&&(i=!i);let s=this.controllerState[i?\"panStart\":\"rotateStart\"]({pos:r});return this._panMove=i,this.updateViewport(s,em,{isDragging:!0}),!0}_onPan(t){return this.isDragging()?this._panMove?this._onPanMove(t):this._onPanRotate(t):!1}_onPanEnd(t){return this.isDragging()?this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t):!1}_onPanMove(t){if(!this.dragPan)return!1;let r=this.getCenter(t),i=this.controllerState.pan({pos:r});return this.updateViewport(i,em,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){let{inertia:r}=this;if(this.dragPan&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.pan({pos:s}).panEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:!0})}else{let i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;let r=this.getCenter(t),i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){let{inertia:r}=this;if(this.dragRotate&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.rotate({pos:s}).rotateEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0})}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;t.srcEvent.preventDefault();let{speed:i=.01,smooth:s=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:n}=t,o=2/(1+Math.exp(-Math.abs(n*i)));n<0&&o!==0&&(o=1/o);let c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,{...this._getTransitionProps({around:r}),transitionDuration:s?250:1},{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.rotateStart({pos:r});return this.updateViewport(i,em,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(t);r[0]-=t.deltaX;let i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&t.velocityY){let i=this.getCenter(t),s=[i[0],i[1]+=t.velocityY*r/2],n=this.controllerState.rotate({pos:s});this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return dg._startPinchRotation=t.rotation,dg._lastPinchEvent=t,this.updateViewport(i,em,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:i}=t,s=this.getCenter(t);r=r.zoom({pos:s,scale:i})}if(this.touchRotate){let{rotation:i}=t;r=r.rotate({deltaAngleX:dg._startPinchRotation-i})}return this.updateViewport(r,em,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),dg._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:i}=dg;if(this.touchZoom&&r&&i&&t.scale!==i.scale){let s=this.getCenter(t),n=this.controllerState.rotateEnd(),o=Math.log2(t.scale),c=(o-Math.log2(i.scale))/(t.deltaTime-i.deltaTime),f=Math.pow(2,o+c*r/2);n=n.zoom({pos:s,scale:f}).zoomEnd(),this.updateViewport(n,{...this._getTransitionProps({around:s}),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let s=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(s,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return dg._startPinchRotation=null,dg._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t),s=this.controllerState.zoom({pos:r,scale:i?.5:2});return this.updateViewport(s,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(t),{zoomSpeed:i,moveSpeed:s,rotateSpeedX:n,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:c}=this,f,_={};switch(t.srcEvent.code){case\"Minus\":f=r?c.zoomOut(i).zoomOut(i):c.zoomOut(i),_.isZooming=!0;break;case\"Equal\":f=r?c.zoomIn(i).zoomIn(i):c.zoomIn(i),_.isZooming=!0;break;case\"ArrowLeft\":r?(f=c.rotateLeft(n),_.isRotating=!0):(f=c.moveLeft(s),_.isPanning=!0);break;case\"ArrowRight\":r?(f=c.rotateRight(n),_.isRotating=!0):(f=c.moveRight(s),_.isPanning=!0);break;case\"ArrowUp\":r?(f=c.rotateUp(o),_.isRotating=!0):(f=c.moveUp(s),_.isPanning=!0);break;case\"ArrowDown\":r?(f=c.rotateDown(o),_.isRotating=!0):(f=c.moveDown(s),_.isPanning=!0);break;default:return!1}return this.updateViewport(f,this._getTransitionProps(),_),!0}_getTransitionProps(t){let{transition:r}=this;return!r||!r.transitionInterpolator?em:t?{...r,transitionInterpolator:new fg({...t,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var Zb=class{constructor(t,r){G(this,\"_viewportProps\",void 0),G(this,\"_state\",void 0),this._viewportProps=this.applyConstraints(t),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var xG=5,Qlt=1.2,wD=class extends Zb{constructor(t){let{width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c=0,pitch:f=0,altitude:_=1.5,position:w=[0,0,0],maxZoom:I=20,minZoom:R=0,maxPitch:N=60,minPitch:j=0,startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut,normalize:Et=!0}=t;_r(Number.isFinite(n)),_r(Number.isFinite(s)),_r(Number.isFinite(o)),super({width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c,pitch:f,altitude:_,maxZoom:I,minZoom:R,maxPitch:N,minPitch:j,normalize:Et,position:w},{startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut}),G(this,\"makeViewport\",void 0),this.makeViewport=t.makeViewport}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:r}){let i=this.getState().startPanLngLat||this._unproject(r);if(!i)return this;let n=this.makeViewport(this.getViewportProps()).panByPosition(i,t);return this._getUpdatedState(n)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:t,deltaAngleX:r=0,deltaAngleY:i=0}){let{startRotatePos:s,startBearing:n,startPitch:o}=this.getState();if(!s||n===void 0||o===void 0)return this;let c;return t?c=this._getNewRotation(t,s,o,n):c={bearing:n+r,pitch:o+i},this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this.getViewportProps().zoom})}zoom({pos:t,startPos:r,scale:i}){let{startZoom:s,startZoomLngLat:n}=this.getState();if(n||(s=this.getViewportProps().zoom,n=this._unproject(r)||this._unproject(t)),!n)return this;let{maxZoom:o,minZoom:c}=this.getViewportProps(),f=s+Math.log2(i);f=Il(f,c,o);let _=this.makeViewport({...this.getViewportProps(),zoom:f});return this._getUpdatedState({zoom:f,..._.panByPosition(n,t)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-t})}shortestPathFrom(t){let r=t.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:n}=i;return Math.abs(s-r.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(n-r.longitude)>180&&(i.longitude=n<0?n+360:n-360),i}applyConstraints(t){let{maxZoom:r,minZoom:i,zoom:s}=t;t.zoom=Il(s,i,r);let{maxPitch:n,minPitch:o,pitch:c}=t;t.pitch=Il(c,o,n);let{normalize:f=!0}=t;return f&&Object.assign(t,eP(t)),t}_zoomFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.zoom({pos:[r/2,i/2],scale:t})}_panFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.pan({startPos:[r/2,i/2],pos:[r/2+t[0],i/2+t[1]]})}_getUpdatedState(t){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...t})}_unproject(t){let r=this.makeViewport(this.getViewportProps());return t&&r.unproject(t)}_getNewRotation(t,r,i,s){let n=t[0]-r[0],o=t[1]-r[1],c=t[1],f=r[1],{width:_,height:w}=this.getViewportProps(),I=n/_,R=0;o>0?Math.abs(w-f)>xG&&(R=o/(f-w)*Qlt):o<0&&f>xG&&(R=1-c/f),R=Il(R,-1,1);let{minPitch:N,maxPitch:j}=this.getViewportProps(),Q=s+180*I,et=i;return R>0?et=i+R*(j-i):R<0&&(et=i-R*(N-i)),{pitch:et,bearing:Q}}},Yb=class extends qb{constructor(...t){super(...t),G(this,\"ControllerState\",wD),G(this,\"transition\",{transitionDuration:300,transitionInterpolator:new fg({transitionProps:{compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"longitude\",\"latitude\",\"zoom\"]}})}),G(this,\"dragMode\",\"pan\")}setProps(t){t.position=t.position||[0,0,0];let r=this.props;super.setProps(t),(!r||r.height!==t.height)&&this.updateViewport(new this.ControllerState({makeViewport:this.makeViewport,...t,...this.state}))}};var Xy=class extends Xc{get ViewportType(){return lc}get ControllerType(){return Yb}};G(Xy,\"displayName\",\"MapView\");var $lt=new qy;function Xlt(e,t){var r,i;let s=(r=e.order)!==null&&r!==void 0?r:1/0,n=(i=t.order)!==null&&i!==void 0?i:1/0;return s-n}var Qb=class{constructor(){G(this,\"effects\",void 0),G(this,\"_resolvedEffects\",[]),G(this,\"_defaultEffects\",[]),G(this,\"_needsRedraw\",void 0),this.effects=[],this._needsRedraw=\"Initial render\",this._setEffects([])}addDefaultEffect(t){let r=this._defaultEffects;if(!r.find(i=>i.id===t.id)){let i=r.findIndex(s=>Xlt(s,t)>0);i<0?r.push(t):r.splice(i,0,t),this._setEffects(this.effects)}}setProps(t){\"effects\"in t&&(mo(t.effects,this.effects,1)||this._setEffects(t.effects))}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}getEffects(){return this._resolvedEffects}_setEffects(t){let r={};for(let s of this.effects)r[s.id]=s;let i=[];for(let s of t){let n=r[s.id];n&&n!==s?n.setProps?(n.setProps(s.props),i.push(n)):(n.cleanup(),i.push(s)):i.push(s),delete r[s.id]}for(let s in r)r[s].cleanup();this.effects=i,this._resolvedEffects=i.concat(this._defaultEffects),t.some(s=>s instanceof qy)||this._resolvedEffects.push($lt),this._needsRedraw=\"effects changed\"}finalize(){for(let t of this._resolvedEffects)t.cleanup();this.effects.length=0,this._resolvedEffects.length=0,this._defaultEffects.length=0}};var $b=class extends sc{shouldDrawLayer(t){let{operation:r}=t.props;return r.includes(\"draw\")||r.includes(\"terrain\")}};var Klt=\"deckRenderer.renderLayers\",Xb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"layerFilter\",void 0),G(this,\"drawPickingColors\",void 0),G(this,\"drawLayersPass\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"renderCount\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"renderBuffers\",void 0),G(this,\"lastPostProcessEffect\",void 0),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $b(t),this.pickLayersPass=new ug(t),this.renderCount=0,this._needsRedraw=\"Initial render\",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw=\"layerFilter changed\"),this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw=\"drawPickingColors changed\")}renderLayers(t){if(!t.viewports.length)return;let r=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass,i={layerFilter:this.layerFilter,isPicking:this.drawPickingColors,...t,target:t.target||yi.getDefaultFramebuffer(this.gl)};i.effects&&this._preRender(i.effects,i);let s=this.lastPostProcessEffect?this.renderBuffers[0]:i.target,n=r.render({...i,target:s});i.effects&&this._postRender(i.effects,i),this.renderCount++,Ls(Klt,this,n,t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}finalize(){let{renderBuffers:t}=this;for(let r of t)r.delete();t.length=0}_preRender(t,r){this.lastPostProcessEffect=null,r.preRenderStats=r.preRenderStats||{};for(let i of t)r.preRenderStats[i.id]=i.preRender(this.gl,r),i.postRender&&(this.lastPostProcessEffect=i.id);this.lastPostProcessEffect&&this._resizeRenderBuffers()}_resizeRenderBuffers(){let{renderBuffers:t}=this;t.length===0&&t.push(new yi(this.gl),new yi(this.gl));for(let r of t)r.resize()}_postRender(t,r){let{renderBuffers:i}=this,s={...r,inputBuffer:i[0],swapBuffer:i[1],target:null};for(let n of t)if(n.postRender){if(n.id===this.lastPostProcessEffect){s.target=r.target,n.postRender(this.gl,s);break}let o=n.postRender(this.gl,s);s.inputBuffer=o,s.swapBuffer=o===i[0]?i[1]:i[0]}}};var Jlt={pickedColor:null,pickedObjectIndex:-1};function bG({pickedColors:e,decodePickingColor:t,deviceX:r,deviceY:i,deviceRadius:s,deviceRect:n}){let{x:o,y:c,width:f,height:_}=n,w=s*s,I=-1,R=0;for(let N=0;N<_;N++){let j=N+c-i,Q=j*j;if(Q>w)R+=4*f;else for(let et=0;et=0){let K=et+o-r,J=K*K+Q;J<=w&&(w=J,I=R)}R+=4}}if(I>=0){let N=e.slice(I,I+4),j=t(N);if(j){let Q=Math.floor(I/4/f),et=I/4-Q*f;return{...j,pickedColor:N,pickedX:o+et,pickedY:c+Q}}or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}return Jlt}function wG({pickedColors:e,decodePickingColor:t}){let r=new Map;if(e){for(let i=0;i=0){let n=e.slice(i,i+4),o=n.join(\",\");if(!r.has(o)){let c=t(n);c?r.set(o,{...c,color:n}):or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}}}return Array.from(r.values())}function SD({pickInfo:e,viewports:t,pixelRatio:r,x:i,y:s,z:n}){let o=t[0];t.length>1&&(o=tct(e?.pickedViewports||t,{x:i,y:s}));let c;if(o){let f=[i-o.x,s-o.y];n!==void 0&&(f[2]=n),c=o.unproject(f)}return{color:null,layer:null,viewport:o,index:-1,picked:!1,x:i,y:s,pixel:[i,s],coordinate:c,devicePixel:e&&\"pickedX\"in e?[e.pickedX,e.pickedY]:void 0,pixelRatio:r}}function SG(e){let{pickInfo:t,lastPickedInfo:r,mode:i,layers:s}=e,{pickedColor:n,pickedLayer:o,pickedObjectIndex:c}=t,f=o?[o]:[];if(i===\"hover\"){let I=r.index,R=r.layerId,N=o?o.props.id:null;if(N!==R||c!==I){if(N!==R){let j=s.find(Q=>Q.props.id===R);j&&f.unshift(j)}r.layerId=N,r.index=c,r.info=null}}let _=SD(e),w=new Map;return w.set(null,_),f.forEach(I=>{let R={..._};I===o&&(R.color=n,R.index=c,R.picked=!0),R=TD({layer:I,info:R,mode:i});let N=R.layer;I===o&&i===\"hover\"&&(r.info=R),w.set(N.id,R),i===\"hover\"&&N.updateAutoHighlight(R)}),w}function TD({layer:e,info:t,mode:r}){for(;e&&t;){let i=t.layer||null;t.sourceLayer=i,t.layer=e,t=e.getPickingInfo({info:t,mode:r,sourceLayer:i}),e=e.parent}return t}function tct(e,t){for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.containsPixel(t))return i}return e[0]}var Kb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"pickingFBO\",void 0),G(this,\"depthFBO\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"layerFilter\",void 0),G(this,\"lastPickedInfo\",void 0),G(this,\"_pickable\",!0),this.gl=t,this.pickLayersPass=new ug(t),this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){\"layerFilter\"in t&&(this.layerFilter=t.layerFilter),\"_pickable\"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:r,layers:i,viewports:s},n=this.lastPickedInfo.info){let o=n&&n.layer&&n.layer.id,c=n&&n.viewport&&n.viewport.id,f=o?i.find(R=>R.id===o):null,_=c&&s.find(R=>R.id===c)||s[0],w=_&&_.unproject([t-_.x,r-_.y]);return{...n,...{x:t,y:r,viewport:_,coordinate:w,layer:f}}}_resizeBuffer(){var t,r;let{gl:i}=this;if(!this.pickingFBO&&(this.pickingFBO=new yi(i),yi.isSupported(i,{colorBufferFloat:!0}))){let s=new yi(i);s.attach({36064:new pi(i,{format:fr(i)?34836:6408,type:5126})}),this.depthFBO=s}(t=this.pickingFBO)===null||t===void 0||t.resize({width:i.canvas.width,height:i.canvas.height}),(r=this.depthFBO)===null||r===void 0||r.resize({width:i.canvas.width,height:i.canvas.height})}_getPickable(t){if(this._pickable===!1)return null;let r=t.filter(i=>this.pickLayersPass.shouldDrawLayer(i)&&!i.isComposite);return r.length?r:null}_pickClosestObject({layers:t,views:r,viewports:i,x:s,y:n,radius:o=0,depth:c=1,mode:f=\"query\",unproject3D:_,onViewportActive:w,effects:I}){let R=this._getPickable(t),N=El(this.gl);if(!R)return{result:[],emptyInfo:SD({viewports:i,x:s,y:n,pixelRatio:N})};this._resizeBuffer();let j=Sy(this.gl,[s,n],!0),Q=[j.x+Math.floor(j.width/2),j.y+Math.floor(j.height/2)],et=Math.round(o*N),{width:Y,height:K}=this.pickingFBO,J=this._getPickingRect({deviceX:Q[0],deviceY:Q[1],deviceRadius:et,deviceWidth:Y,deviceHeight:K}),ut={x:s-o,y:n-o,width:o*2+1,height:o*2+1},Et,kt=[],Xt=new Set;for(let qt=0;qt=_)break;let De=kt[ue],Ke={color:De.pickedColor,layer:null,index:De.pickedObjectIndex,picked:!0,x:s,y:n,pixelRatio:N};Ke=TD({layer:De.pickedLayer,info:Ke,mode:f});let rr=(le=Ke.object)!==null&&le!==void 0?le:\"\".concat(Ke.layer.id,\"[\").concat(Ke.index,\"]\");Xt.has(rr)||Xt.set(rr,Ke)}return Array.from(Xt.values())}_drawAndSample({layers:t,views:r,viewports:i,onViewportActive:s,deviceRect:n,cullRect:o,effects:c,pass:f},_=!1){let w=_?this.depthFBO:this.pickingFBO,I={layers:t,layerFilter:this.layerFilter,views:r,viewports:i,onViewportActive:s,pickingFBO:w,deviceRect:n,cullRect:o,effects:c,pass:f,pickZ:_,preRenderStats:{}};for(let K of c)K.useInPicking&&(I.preRenderStats[K.id]=K.preRender(this.gl,I));let{decodePickingColor:R}=this.pickLayersPass.render(I),{x:N,y:j,width:Q,height:et}=n,Y=new(_?Float32Array:Uint8Array)(Q*et*4);return Dh(w,{sourceX:N,sourceY:j,sourceWidth:Q,sourceHeight:et,target:Y}),{pickedColors:Y,decodePickingColor:R}}_getPickingRect({deviceX:t,deviceY:r,deviceRadius:i,deviceWidth:s,deviceHeight:n}){let o=Math.max(0,t-i),c=Math.max(0,r-i),f=Math.min(s,t+i+1)-o,_=Math.min(n,r+i+1)-c;return f<=0||_<=0?null:{x:o,y:c,width:f,height:_}}};var ect={zIndex:\"1\",position:\"absolute\",pointerEvents:\"none\",color:\"#a0a7b4\",backgroundColor:\"#29323c\",padding:\"10px\",top:\"0\",left:\"0\",display:\"none\"},Jb=class{constructor(t){G(this,\"el\",null),G(this,\"isVisible\",!1);let r=t.parentElement;r&&(this.el=document.createElement(\"div\"),this.el.className=\"deck-tooltip\",Object.assign(this.el.style,ect),r.appendChild(this.el))}setTooltip(t,r,i){let s=this.el;if(s){if(typeof t==\"string\")s.innerText=t;else if(t)t.text&&(s.innerText=t.text),t.html&&(s.innerHTML=t.html),t.className&&(s.className=t.className);else{this.isVisible=!1,s.style.display=\"none\";return}this.isVisible=!0,s.style.display=\"block\",s.style.transform=\"translate(\".concat(r,\"px, \").concat(i,\"px)\"),t&&typeof t==\"object\"&&\"style\"in t&&Object.assign(s.style,t.style)}}remove(){this.el&&(this.el.remove(),this.el=null)}};var pg=Ri(TG());var rct={mousedown:1,mousemove:2,mouseup:4};function ict(e,t){for(let r=0;r0&&i.type===\"pointerdown\"&&(ict(s,n=>n.pointerId===i.pointerId)||s.push(i)),t.call(this,i)}}function EG(e){e.prototype.handler=function(r){let i=rct[r.type];i&1&&r.button>=0&&(this.pressed=!0),i&2&&r.which===0&&(i=4),this.pressed&&(i&4&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[r],changedPointers:[r],pointerType:\"mouse\",srcEvent:r}))}}MG(pg.PointerEventInput);EG(pg.MouseInput);var PG=pg.Manager,Hh=pg;var qh=class{constructor(t,r,i){this.element=t,this.callback=r,this.options={enable:!0,...i}}};var IG=Hh?[[Hh.Pan,{event:\"tripan\",pointers:3,threshold:0,enable:!1}],[Hh.Rotate,{enable:!1}],[Hh.Pinch,{enable:!1}],[Hh.Swipe,{enable:!1}],[Hh.Pan,{threshold:0,enable:!1}],[Hh.Press,{enable:!1}],[Hh.Tap,{event:\"doubletap\",taps:2,enable:!1}],[Hh.Tap,{event:\"anytap\",enable:!1}],[Hh.Tap,{enable:!1}]]:null,MD={tripan:[\"rotate\",\"pinch\",\"pan\"],rotate:[\"pinch\"],pinch:[\"pan\"],pan:[\"press\",\"doubletap\",\"anytap\",\"tap\"],doubletap:[\"anytap\"],anytap:[\"tap\"]},CG={doubletap:[\"tap\"]},LG={pointerdown:\"pointerdown\",pointermove:\"pointermove\",pointerup:\"pointerup\",touchstart:\"pointerdown\",touchmove:\"pointermove\",touchend:\"pointerup\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\"},Ky={KEY_EVENTS:[\"keydown\",\"keyup\"],MOUSE_EVENTS:[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseover\",\"mouseout\",\"mouseleave\"],WHEEL_EVENTS:[\"wheel\",\"mousewheel\"]},kG={tap:\"tap\",anytap:\"anytap\",doubletap:\"doubletap\",press:\"press\",pinch:\"pinch\",pinchin:\"pinch\",pinchout:\"pinch\",pinchstart:\"pinch\",pinchmove:\"pinch\",pinchend:\"pinch\",pinchcancel:\"pinch\",rotate:\"rotate\",rotatestart:\"rotate\",rotatemove:\"rotate\",rotateend:\"rotate\",rotatecancel:\"rotate\",tripan:\"tripan\",tripanstart:\"tripan\",tripanmove:\"tripan\",tripanup:\"tripan\",tripandown:\"tripan\",tripanleft:\"tripan\",tripanright:\"tripan\",tripanend:\"tripan\",tripancancel:\"tripan\",pan:\"pan\",panstart:\"pan\",panmove:\"pan\",panup:\"pan\",pandown:\"pan\",panleft:\"pan\",panright:\"pan\",panend:\"pan\",pancancel:\"pan\",swipe:\"swipe\",swipeleft:\"swipe\",swiperight:\"swipe\",swipeup:\"swipe\",swipedown:\"swipe\"},ED={click:\"tap\",anyclick:\"anytap\",dblclick:\"doubletap\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\",mouseover:\"pointerover\",mouseout:\"pointerout\",mouseleave:\"pointerleave\"};var RG=typeof navigator<\"u\"&&navigator.userAgent?navigator.userAgent.toLowerCase():\"\",Ag=typeof window<\"u\"?window:global;var aP=!1;try{let e={get passive(){return aP=!0,!0}};Ag.addEventListener(\"test\",null,e),Ag.removeEventListener(\"test\",null)}catch{aP=!1}var nct=RG.indexOf(\"firefox\")!==-1,{WHEEL_EVENTS:sct}=Ky,DG=\"wheel\",OG=4.000244140625,oct=40,act=.25,tw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{if(!this.options.enable)return;let n=s.deltaY;Ag.WheelEvent&&(nct&&s.deltaMode===Ag.WheelEvent.DOM_DELTA_PIXEL&&(n/=Ag.devicePixelRatio),s.deltaMode===Ag.WheelEvent.DOM_DELTA_LINE&&(n*=oct)),n!==0&&n%OG===0&&(n=Math.floor(n/OG)),s.shiftKey&&n&&(n=n*act),this.callback({type:DG,center:{x:s.clientX,y:s.clientY},delta:-n,srcEvent:s,pointerType:\"mouse\",target:s.target})},this.events=(this.options.events||[]).concat(sct),this.events.forEach(s=>t.addEventListener(s,this.handleEvent,aP?{passive:!1}:!1))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===DG&&(this.options.enable=r)}};var{MOUSE_EVENTS:lct}=Ky,BG=\"pointermove\",FG=\"pointerover\",zG=\"pointerout\",NG=\"pointerenter\",UG=\"pointerleave\",ew=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=n=>{this.handleOverEvent(n),this.handleOutEvent(n),this.handleEnterEvent(n),this.handleLeaveEvent(n),this.handleMoveEvent(n)},this.pressed=!1;let{enable:s}=this.options;this.enableMoveEvent=s,this.enableLeaveEvent=s,this.enableEnterEvent=s,this.enableOutEvent=s,this.enableOverEvent=s,this.events=(this.options.events||[]).concat(lct),this.events.forEach(n=>t.addEventListener(n,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===BG&&(this.enableMoveEvent=r),t===FG&&(this.enableOverEvent=r),t===zG&&(this.enableOutEvent=r),t===NG&&(this.enableEnterEvent=r),t===UG&&(this.enableLeaveEvent=r)}handleOverEvent(t){this.enableOverEvent&&t.type===\"mouseover\"&&this._emit(FG,t)}handleOutEvent(t){this.enableOutEvent&&t.type===\"mouseout\"&&this._emit(zG,t)}handleEnterEvent(t){this.enableEnterEvent&&t.type===\"mouseenter\"&&this._emit(NG,t)}handleLeaveEvent(t){this.enableLeaveEvent&&t.type===\"mouseleave\"&&this._emit(UG,t)}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case\"mousedown\":t.button>=0&&(this.pressed=!0);break;case\"mousemove\":t.which===0&&(this.pressed=!1),this.pressed||this._emit(BG,t);break;case\"mouseup\":this.pressed=!1;break;default:}}_emit(t,r){this.callback({type:t,center:{x:r.clientX,y:r.clientY},srcEvent:r,pointerType:\"mouse\",target:r.target})}};var{KEY_EVENTS:cct}=Ky,VG=\"keydown\",jG=\"keyup\",rw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{let n=s.target||s.srcElement;n.tagName===\"INPUT\"&&n.type===\"text\"||n.tagName===\"TEXTAREA\"||(this.enableDownEvent&&s.type===\"keydown\"&&this.callback({type:VG,srcEvent:s,key:s.key,target:s.target}),this.enableUpEvent&&s.type===\"keyup\"&&this.callback({type:jG,srcEvent:s,key:s.key,target:s.target}))},this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=(this.options.events||[]).concat(cct),t.tabIndex=this.options.tabIndex||0,t.style.outline=\"none\",this.events.forEach(s=>t.addEventListener(s,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===VG&&(this.enableDownEvent=r),t===jG&&(this.enableUpEvent=r)}};var GG=\"contextmenu\",iw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{this.options.enable&&this.callback({type:GG,center:{x:s.clientX,y:s.clientY},srcEvent:s,pointerType:\"mouse\",target:s.target})},t.addEventListener(\"contextmenu\",this.handleEvent)}destroy(){this.element.removeEventListener(\"contextmenu\",this.handleEvent)}enableEventType(t,r){t===GG&&(this.options.enable=r)}};var uct={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},hct=1,fct=2,dct=3,pct=0,Act=1,mct=2,gct=1,_ct=2,yct=4;function WG(e){let t=uct[e.srcEvent.type];if(!t)return null;let{buttons:r,button:i,which:s}=e.srcEvent,n=!1,o=!1,c=!1;return t===4||t===2&&!Number.isFinite(r)?(n=s===hct,o=s===fct,c=s===dct):t===2?(n=!!(r&gct),o=!!(r&yct),c=!!(r&_ct)):t===1&&(n=i===pct,o=i===Act,c=i===mct),{leftButton:n,middleButton:o,rightButton:c}}function HG(e,t){let r=e.center;if(!r)return null;let i=t.getBoundingClientRect(),s=i.width/t.offsetWidth||1,n=i.height/t.offsetHeight||1,o={x:(r.x-i.left-t.clientLeft)/s,y:(r.y-i.top-t.clientTop)/n};return{center:r,offsetCenter:o}}var PD={srcElement:\"root\",priority:0},nw=class{constructor(t){this.handleEvent=r=>{if(this.isEmpty())return;let i=this._normalizeEvent(r),s=r.srcEvent.target;for(;s&&s!==i.rootElement;){if(this._emit(i,s),i.handled)return;s=s.parentNode}this._emit(i,\"root\")},this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this._active=!1}isEmpty(){return!this._active}add(t,r,i,s=!1,n=!1){let{handlers:o,handlersByElement:c}=this,f=PD;typeof i==\"string\"||i&&i.addEventListener?f={...PD,srcElement:i}:i&&(f={...PD,...i});let _=c.get(f.srcElement);_||(_=[],c.set(f.srcElement,_));let w={type:t,handler:r,srcElement:f.srcElement,priority:f.priority};s&&(w.once=!0),n&&(w.passive=!0),o.push(w),this._active=this._active||!w.passive;let I=_.length-1;for(;I>=0&&!(_[I].priority>=w.priority);)I--;_.splice(I+1,0,w)}remove(t,r){let{handlers:i,handlersByElement:s}=this;for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.type===t&&o.handler===r){i.splice(n,1);let c=s.get(o.srcElement);c.splice(c.indexOf(o),1),c.length===0&&s.delete(o.srcElement)}}this._active=i.some(n=>!n.passive)}_emit(t,r){let i=this.handlersByElement.get(r);if(i){let s=!1,n=()=>{t.handled=!0},o=()=>{t.handled=!0,s=!0},c=[];for(let f=0;f{t.srcEvent.preventDefault()},stopImmediatePropagation:null,stopPropagation:null,handled:!1,rootElement:r}}};var vct={events:null,recognizers:null,recognizerOptions:{},Manager:PG,touchAction:\"none\",tabIndex:0},Jy=class{constructor(t=null,r){this._onBasicInput=s=>{let{srcEvent:n}=s,o=LG[n.type];o&&this.manager.emit(o,s)},this._onOtherEvent=s=>{this.manager.emit(s.type,s)},this.options={...vct,...r},this.events=new Map,this.setElement(t);let{events:i}=this.options;i&&this.on(i)}getElement(){return this.element}setElement(t){if(this.element&&this.destroy(),this.element=t,!t)return;let{options:r}=this,i=r.Manager;this.manager=new i(t,{touchAction:r.touchAction,recognizers:r.recognizers||IG}).on(\"hammer.input\",this._onBasicInput),r.recognizers||Object.keys(MD).forEach(s=>{let n=this.manager.get(s);n&&MD[s].forEach(o=>{n.recognizeWith(o)})});for(let s in r.recognizerOptions){let n=this.manager.get(s);if(n){let o=r.recognizerOptions[s];delete o.enable,n.set(o)}}this.wheelInput=new tw(t,this._onOtherEvent,{enable:!1}),this.moveInput=new ew(t,this._onOtherEvent,{enable:!1}),this.keyInput=new rw(t,this._onOtherEvent,{enable:!1,tabIndex:r.tabIndex}),this.contextmenuInput=new iw(t,this._onOtherEvent,{enable:!1});for(let[s,n]of this.events)n.isEmpty()||(this._toggleRecognizer(n.recognizerName,!0),this.manager.on(s,n.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,r,i){this._addEventHandler(t,r,i,!1)}once(t,r,i){this._addEventHandler(t,r,i,!0)}watch(t,r,i){this._addEventHandler(t,r,i,!1,!0)}off(t,r){this._removeEventHandler(t,r)}_toggleRecognizer(t,r){let{manager:i}=this;if(!i)return;let s=i.get(t);if(s&&s.options.enable!==r){s.set({enable:r});let n=CG[t];n&&!this.options.recognizers&&n.forEach(o=>{let c=i.get(o);r?(c.requireFailure(t),s.dropRequireFailure(o)):c.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,r),this.moveInput.enableEventType(t,r),this.keyInput.enableEventType(t,r),this.contextmenuInput.enableEventType(t,r)}_addEventHandler(t,r,i,s,n){if(typeof t!=\"string\"){i=r;for(let w in t)this._addEventHandler(w,t[w],i,s,n);return}let{manager:o,events:c}=this,f=ED[t]||t,_=c.get(f);_||(_=new nw(this),c.set(f,_),_.recognizerName=kG[f]||f,o&&o.on(f,_.handleEvent)),_.add(t,r,i,s,n),_.isEmpty()||this._toggleRecognizer(_.recognizerName,!0)}_removeEventHandler(t,r){if(typeof t!=\"string\"){for(let o in t)this._removeEventHandler(o,t[o]);return}let{events:i}=this,s=ED[t]||t,n=i.get(s);if(n&&(n.remove(t,r),n.isEmpty())){let{recognizerName:o}=n,c=!1;for(let f of i.values())if(f.recognizerName===o&&!f.isEmpty()){c=!0;break}c||this._toggleRecognizer(o,!1)}}};function mg(){}var xct=({isDragging:e})=>e?\"grabbing\":\"grab\",qG={id:\"\",width:\"100%\",height:\"100%\",style:null,viewState:null,initialViewState:null,pickingRadius:0,layerFilter:null,glOptions:{},parameters:{},parent:null,gl:null,canvas:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:\"none\",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},_customRender:null,onWebGLInitialized:mg,onResize:mg,onViewStateChange:mg,onInteractionStateChange:mg,onBeforeRender:mg,onAfterRender:mg,onLoad:mg,onError:e=>or.error(e.message,e.cause)(),onHover:null,onClick:null,onDragStart:null,onDrag:null,onDragEnd:null,_onMetrics:null,getCursor:xct,getTooltip:null,debug:!1,drawPickingColors:!1},cp=class{constructor(t){G(this,\"props\",void 0),G(this,\"width\",0),G(this,\"height\",0),G(this,\"userData\",{}),G(this,\"canvas\",null),G(this,\"viewManager\",null),G(this,\"layerManager\",null),G(this,\"effectManager\",null),G(this,\"deckRenderer\",null),G(this,\"deckPicker\",null),G(this,\"eventManager\",null),G(this,\"tooltip\",null),G(this,\"metrics\",void 0),G(this,\"animationLoop\",void 0),G(this,\"stats\",void 0),G(this,\"viewState\",void 0),G(this,\"cursorState\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"_pickRequest\",void 0),G(this,\"_lastPointerDownInfo\",null),G(this,\"_metricsCounter\",void 0),G(this,\"_onPointerMove\",r=>{let{_pickRequest:i}=this;if(r.type===\"pointerleave\")i.x=-1,i.y=-1,i.radius=0;else{if(r.leftButton||r.rightButton)return;{let s=r.offsetCenter;if(!s)return;i.x=s.x,i.y=s.y,i.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:i.x,y:i.y}),i.event=r}),G(this,\"_onEvent\",r=>{let i=nR[r.type],s=r.offsetCenter;if(!i||!s||!this.layerManager)return;let n=this.layerManager.getLayers(),o=this.deckPicker.getLastPickedObject({x:s.x,y:s.y,layers:n,viewports:this.getViewports(s)},this._lastPointerDownInfo),{layer:c}=o,f=c&&(c[i.handler]||c.props[i.handler]),_=this.props[i.handler],w=!1;f&&(w=f.call(c,o,r)),!w&&_&&_(o,r)}),G(this,\"_onPointerDown\",r=>{let i=r.offsetCenter,s=this._pick(\"pickObject\",\"pickObject Time\",{x:i.x,y:i.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=s.result[0]||s.emptyInfo}),this.props={...qG,...t},t=this.props,this._needsRedraw=\"Initial render\",this._pickRequest={mode:\"hover\",x:-1,y:-1,radius:0,event:null},this.cursorState={isHovering:!1,isDragging:!1},t.viewState&&t.initialViewState&&or.warn(\"View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.\")(),vy()===\"IE\"&&or.warn(\"IE 11 is not supported\")(),this.viewState=t.initialViewState,t.gl||typeof document<\"u\"&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gf({id:\"deck.gl\"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&Gh.setOptions(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){var t,r,i,s,n,o,c,f;if((t=this.animationLoop)===null||t===void 0||t.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,(r=this.layerManager)===null||r===void 0||r.finalize(),this.layerManager=null,(i=this.viewManager)===null||i===void 0||i.finalize(),this.viewManager=null,(s=this.effectManager)===null||s===void 0||s.finalize(),this.effectManager=null,(n=this.deckRenderer)===null||n===void 0||n.finalize(),this.deckRenderer=null,(o=this.deckPicker)===null||o===void 0||o.finalize(),this.deckPicker=null,(c=this.eventManager)===null||c===void 0||c.destroy(),this.eventManager=null,(f=this.tooltip)===null||f===void 0||f.remove(),this.tooltip=null,!this.props.canvas&&!this.props.gl&&this.canvas){var _;(_=this.canvas.parentElement)===null||_===void 0||_.removeChild(this.canvas),this.canvas=null}}setProps(t){this.stats.get(\"setProps Time\").timeStart(),\"onLayerHover\"in t&&or.removed(\"onLayerHover\",\"onHover\")(),\"onLayerClick\"in t&&or.removed(\"onLayerClick\",\"onClick\")(),t.initialViewState&&!mo(this.props.initialViewState,t.initialViewState,3)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);let r=Object.create(this.props);Object.assign(r,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(r),this.layerManager&&(this.viewManager.setProps(r),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(r),this.effectManager.setProps(r),this.deckRenderer.setProps(r),this.deckPicker.setProps(r)),this.stats.get(\"setProps Time\").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(!this.layerManager)return!1;if(this.props._animate)return\"Deck._animate\";let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);let i=this.viewManager.needsRedraw(t),s=this.layerManager.needsRedraw(t),n=this.effectManager.needsRedraw(t),o=this.deckRenderer.needsRedraw(t);return r=r||i||s||n||o,r}redraw(t){if(!this.layerManager)return;let r=this.needsRedraw({clearRedrawFlags:!0});r=t||r,r&&(this.stats.get(\"Redraw Count\").incrementCount(),this.props._customRender?this.props._customRender(r):this._drawLayers(r))}get isInitialized(){return this.viewManager!==null}getViews(){return _r(this.viewManager),this.viewManager.views}getViewports(t){return _r(this.viewManager),this.viewManager.getViewports(t)}getCanvas(){return this.canvas}pickObject(t){let r=this._pick(\"pickObject\",\"pickObject Time\",t).result;return r.length?r[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick(\"pickObject\",\"pickMultipleObjects Time\",t).result}pickObjects(t){return this._pick(\"pickObjects\",\"pickObjects Time\",t)}_addResources(t,r=!1){for(let i in t)this.layerManager.resourceManager.add({resourceId:i,data:t[i],forceUpdate:r})}_removeResources(t){for(let r of t)this.layerManager.resourceManager.remove(r)}_addDefaultEffect(t){this.effectManager.addDefaultEffect(t)}_pick(t,r,i){_r(this.deckPicker);let{stats:s}=this;s.get(\"Pick Count\").incrementCount(),s.get(r).timeStart();let n=this.deckPicker[t]({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects(),...i});return s.get(r).timeEnd(),n}_createCanvas(t){let r=t.canvas;return typeof r==\"string\"&&(r=document.getElementById(r),_r(r)),r||(r=document.createElement(\"canvas\"),r.id=t.id||\"deckgl-overlay\",(t.parent||document.body).appendChild(r)),Object.assign(r.style,t.style),r}_setCanvasSize(t){if(!this.canvas)return;let{width:r,height:i}=t;if(r||r===0){let n=Number.isFinite(r)?\"\".concat(r,\"px\"):r;this.canvas.style.width=n}if(i||i===0){var s;let n=Number.isFinite(i)?\"\".concat(i,\"px\"):i;this.canvas.style.position=((s=t.style)===null||s===void 0?void 0:s.position)||\"absolute\",this.canvas.style.height=n}}_updateCanvasSize(){var t,r;let{canvas:i}=this;if(!i)return;let s=(t=i.clientWidth)!==null&&t!==void 0?t:i.width,n=(r=i.clientHeight)!==null&&r!==void 0?r:i.height;if(s!==this.width||n!==this.height){var o,c;this.width=s,this.height=n,(o=this.viewManager)===null||o===void 0||o.setProps({width:s,height:n}),(c=this.layerManager)===null||c===void 0||c.activateViewport(this.getViewports()[0]),this.props.onResize({width:s,height:n})}}_createAnimationLoop(t){let{width:r,height:i,gl:s,glOptions:n,debug:o,onError:c,onBeforeRender:f,onAfterRender:_,useDevicePixels:w}=t;return new rg({width:r,height:i,useDevicePixels:w,autoResizeDrawingBuffer:!s,autoResizeViewport:!1,gl:s,onCreateContext:I=>Ty({...n,...I,canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()}),onInitialize:I=>this._setGLContext(I.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:f,onAfterRender:_,onError:c})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new Xy({id:\"default-view\"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){let{onError:t}=this.props;this.animationLoop&&t&&t(new Error(\"WebGL context is lost\"))}_pickAndCallback(){let{_pickRequest:t}=this;if(t.event){let{result:i,emptyInfo:s}=this._pick(\"pickObject\",\"pickObject Time\",t);this.cursorState.isHovering=i.length>0;let n=s,o=!1;for(let c of i){var r;n=c,o=((r=c.layer)===null||r===void 0?void 0:r.onHover(c,t.event))||o}if(!o&&this.props.onHover&&this.props.onHover(n,t.event),this.props.getTooltip&&this.tooltip){let c=this.props.getTooltip(n);this.tooltip.setTooltip(c,n.x,n.y)}t.event=null}}_updateCursor(){let t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.cursorState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,q0(t,{enable:!0,copyState:!0})),this.tooltip=new Jb(this.canvas),Ml(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);let r=new KA;r.play(),this.animationLoop.attachTimeline(r),this.eventManager=new Jy(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(let s in nR)this.eventManager.on(s,this._onEvent);this.viewManager=new Wb({timeline:r,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});let i=this.viewManager.getViewports()[0];this.layerManager=new Gb(t,{deck:this,stats:this.stats,viewport:i,timeline:r}),this.effectManager=new Qb,this.deckRenderer=new Xb(t),this.deckPicker=new Kb(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,r){let{gl:i}=this.layerManager.context;Ml(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:\"screen\",effects:this.effectManager.getEffects(),...r}),this.props.onAfterRender({gl:i})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60===0&&(this._getMetrics(),this.stats.reset(),or.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){let r=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState={...this.viewState,[t.viewId]:r},this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.cursorState.isDragging=t.isDragging||!1,this.props.onInteractionStateChange(t)}_getFrameStats(){let{stats:t}=this;t.get(\"frameRate\").timeEnd(),t.get(\"frameRate\").timeStart();let r=this.animationLoop.stats;t.get(\"GPU Time\").addTime(r.get(\"GPU Time\").lastTiming),t.get(\"CPU Time\").addTime(r.get(\"CPU Time\").lastTiming)}_getMetrics(){let{metrics:t,stats:r}=this;t.fps=r.get(\"frameRate\").getHz(),t.setPropsTime=r.get(\"setProps Time\").time,t.updateAttributesTime=r.get(\"Update Attributes\").time,t.framesRedrawn=r.get(\"Redraw Count\").count,t.pickTime=r.get(\"pickObject Time\").time+r.get(\"pickMultipleObjects Time\").time+r.get(\"pickObjects Time\").time,t.pickCount=r.get(\"Pick Count\").count,t.gpuTime=r.get(\"GPU Time\").time,t.cpuTime=r.get(\"CPU Time\").time,t.gpuTimePerFrame=r.get(\"GPU Time\").getAverageTime(),t.cpuTimePerFrame=r.get(\"CPU Time\").getAverageTime();let i=Du.get(\"Memory Usage\");t.bufferMemory=i.get(\"Buffer Memory\").count,t.textureMemory=i.get(\"Texture Memory\").count,t.renderbufferMemory=i.get(\"Renderbuffer Memory\").count,t.gpuMemory=i.get(\"GPU Memory\").count}};G(cp,\"defaultProps\",qG);G(cp,\"VERSION\",xV);var gg=class{constructor(t,r){G(this,\"opts\",void 0),G(this,\"source\",void 0),this.opts=r,this.source=t}get value(){return this.source.value}getValue(){let t=this.source.getBuffer(),r=this.getAccessor();if(t)return[t,r];let{value:i}=this.source,{size:s}=r,n=i;if(i&&i.length!==s){n=new Float32Array(s);let o=r.elementOffset||0;for(let c=0;c=n){let o=new Array(s).fill(1/0),c=new Array(s).fill(-1/0);for(let f=0;fc[_]&&(c[_]=w)}t=[o,c]}}return this.state.bounds=t,t}setData(t){let{state:r}=this,i;ArrayBuffer.isView(t)?i={value:t}:t instanceof Fr?i={buffer:t}:i=t;let s={...this.settings,...i};if(r.bufferAccessor=s,r.bounds=null,i.constant){let n=i.value;if(n=this._normalizeValue(n,[],0),this.settings.normalized&&(n=this.normalizeConstant(n)),!(!r.constant||!this._areValuesEqual(n,this.value)))return!1;r.externalBuffer=null,r.constant=!0,this.value=n}else if(i.buffer){let n=i.buffer;r.externalBuffer=n,r.constant=!1,this.value=i.value||null;let o=i.value instanceof Float64Array;s.type=i.type||n.accessor.type,s.bytesPerElement=n.accessor.BYTES_PER_ELEMENT*(o?2:1),s.stride=lP(s)}else if(i.value){this._checkExternalBuffer(i);let n=i.value;r.externalBuffer=null,r.constant=!1,this.value=n,s.bytesPerElement=n.BYTES_PER_ELEMENT,s.stride=lP(s);let{buffer:o,byteOffset:c}=this;this.doublePrecision&&n instanceof Float64Array&&(n=iP(n,s));let f=n.byteLength+c+s.stride*2;o.byteLength(r+128)/255*2-1);case 5122:return new Float32Array(t).map(r=>(r+32768)/65535*2-1);case 5121:return new Float32Array(t).map(r=>r/255);case 5123:return new Float32Array(t).map(r=>r/65535);default:return t}}_normalizeValue(t,r,i){let{defaultValue:s,size:n}=this.settings;if(Number.isFinite(t))return r[i]=t,r;if(!t){let o=n;for(;--o>=0;)r[i+o]=s[o];return r}switch(n){case 4:r[i+3]=Number.isFinite(t[3])?t[3]:s[3];case 3:r[i+2]=Number.isFinite(t[2])?t[2]:s[2];case 2:r[i+1]=Number.isFinite(t[1])?t[1]:s[1];case 1:r[i+0]=Number.isFinite(t[0])?t[0]:s[0];break;default:let o=n;for(;--o>=0;)r[i+o]=Number.isFinite(t[o])?t[o]:s[o]}return r}_areValuesEqual(t,r){if(!t||!r)return!1;let{size:i}=this;for(let s=0;s0&&($G.length=e.length,i=$G):i=QG,(t>0||Number.isFinite(r))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,r),s.index=t-1),{iterable:i,objectInfo:s}}function cP(e){return e&&e[Symbol.asyncIterator]}function uP(e,t){let{size:r,stride:i,offset:s,startIndices:n,nested:o}=t,c=e.BYTES_PER_ELEMENT,f=i?i/c:r,_=s?s/c:0,w=Math.floor((e.length-_)/f);return(I,{index:R,target:N})=>{if(!n){let Y=R*f+_;for(let K=0;K=t[1]))return e;let r=[],i=e.length,s=0;for(let n=0;nt[1]?r.push(o):t=[Math.min(o[0],t[0]),Math.max(o[1],t[1])]}return r.splice(s,0,t),r}function ID(e){let{source:t,target:r,start:i=0,size:s,getData:n}=e,o=e.end||r.length,c=t.length,f=o-i;if(c>f){r.set(t.subarray(0,f),i);return}if(r.set(t,i),!n)return;let _=c;for(;_i(w+c,I)),_=Math.min(s.length,n.length);for(let w=1;w<_;w++){let I=s[w]*r,R=n[w]*r;ID({source:e.subarray(o,I),target:t,start:c,end:R,size:r,getData:f}),o=I,c=R}return ce},spring:{stiffness:.05,damping:.5}};function hP(e,t){if(!e)return null;Number.isFinite(e)&&(e={type:\"interpolation\",duration:e});let r=e.type||\"interpolation\";return{...Sct[r],...t,...e,type:r}}function fP(e,t){let r=t.getBuffer();return r?[r,{divisor:0,size:t.size,normalized:t.settings.normalized}]:t.value}function dP(e){switch(e){case 1:return\"float\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error('No defined attribute type for size \"'.concat(e,'\"'))}}function pP(e){e.push(e.shift())}function aw(e,t){let{doublePrecision:r,settings:i,value:s,size:n}=e,o=r&&s instanceof Float64Array?2:1;return(i.noAlloc?s.length:t*n)*o}function AP({buffer:e,numInstances:t,attribute:r,fromLength:i,fromStartIndices:s,getData:n=o=>o}){let o=r.doublePrecision&&r.value instanceof Float64Array?2:1,c=r.size*o,f=r.byteOffset,_=r.startIndices,w=s&&_,I=aw(r,t),R=r.isConstant;if(!w&&i>=I)return;let N=R?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!R){let Y=n;n=(K,J)=>r.normalizeConstant(Y(K,J))}let j=R?(Y,K)=>n(N,K):(Y,K)=>n(N.subarray(Y,Y+c),K),Q=e.getData({length:i}),et=new Float32Array(I);JG({source:Q,target:et,sourceStartIndices:s,targetStartIndices:_,size:c,getData:j}),e.byteLengtht[n])]:t[r];return hP(s,i)}setNeedsUpdate(t=this.id,r){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),r){let{startRow:i=0,endRow:s=1/0}=r;this.state.updateRanges=KG(this.state.updateRanges,[i,s])}else this.state.updateRanges=ow}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=XG}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}allocate(t){let{state:r,settings:i}=this;return i.noAlloc?!1:i.update?(super.allocate(t,r.updateRanges!==ow),!0):!1}updateBuffer({numInstances:t,data:r,props:i,context:s}){if(!this.needsUpdate())return!1;let{state:{updateRanges:n},settings:{update:o,noAlloc:c}}=this,f=!0;if(o){for(let[_,w]of n)o.call(s,this,{data:r,startRow:_,endRow:w,props:i,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLengthw?_.set(J,Q):(t._normalizeValue(J,Y.target,0),xD({target:_,source:Y.target,start:Q,count:ut}));Q+=ut*w}else t._normalizeValue(J,_,Q),Q+=w}}_validateAttributeUpdaters(){let{settings:t}=this;if(!(t.noAlloc||typeof t.update==\"function\"))throw new Error(\"Attribute \".concat(this.id,\" missing update or accessor\"))}_checkAttributeArray(){let{value:t}=this,r=Math.min(4,this.size);if(t&&t.length>=r){let i=!0;switch(r){case 4:i=i&&Number.isFinite(t[3]);case 3:i=i&&Number.isFinite(t[2]);case 2:i=i&&Number.isFinite(t[1]);case 1:i=i&&Number.isFinite(t[0]);break;default:i=!1}if(!i)throw new Error(\"Illegal attribute generated for \".concat(this.id))}}};var lw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"interpolation\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,r.settings),this.currentStartIndices=r.startIndices,this.currentLength=0,this.transform=Mct(t,r);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){if(t.duration<=0){this.transition.cancel();return}this.settings=t;let{gl:i,buffers:s,attribute:n}=this;pP(s);let o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aFrom:s[0],aTo:fP(i,n)},feedbackBuffers:{vCurrent:s[1]}})}update(){let t=this.transition.update();if(t){let{duration:r,easing:i}=this.settings,{time:s}=this.transition,n=s/r;i&&(n=i(n)),this.transform.run({uniforms:{time:n}})}return t}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0}},Tct=`\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n`;function Mct(e,t){let r=dP(t.size);return new nc(e,{vs:Tct,defines:{ATTRIBUTE_TYPE:r},varyings:[\"vCurrent\"]})}var cw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"spring\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"texture\",void 0),G(this,\"framebuffer\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.type=\"spring\",this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,{...r.settings,normalized:!1}),this.currentStartIndices=r.startIndices,this.currentLength=0,this.texture=Pct(t),this.framebuffer=Ict(t,this.texture),this.transform=Ect(t,r,this.framebuffer);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){let{gl:i,buffers:s,attribute:n}=this,o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.settings=t,this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start({...t,duration:1/0}),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aTo:fP(i,n)}})}update(){let{buffers:t,transform:r,framebuffer:i,transition:s}=this;if(!s.update())return!1;let o=this.settings;return r.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),r.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:o.stiffness,damping:o.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),pP(t),this.attributeInTransition.setData({buffer:t[1],value:this.attribute.value}),Dh(i)[0]>0||s.end(),!0}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0,this.texture.delete(),this.framebuffer.delete()}};function Ect(e,t,r){let i=dP(t.size);return new nc(e,{framebuffer:r,vs:`\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n`,fs:`\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}`,defines:{ATTRIBUTE_TYPE:i},varyings:[\"vNext\"]})}function Pct(e){return new pi(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}function Ict(e,t){return new yi(e,{id:\"spring-transition-is-transitioning-framebuffer\",width:1,height:1,attachments:{36064:t}})}var Cct={interpolation:lw,spring:cw},uw=class{constructor(t,{id:r,timeline:i}){G(this,\"id\",void 0),G(this,\"isSupported\",void 0),G(this,\"gl\",void 0),G(this,\"timeline\",void 0),G(this,\"transitions\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"numInstances\",void 0),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=nc.isSupported(t)}finalize(){for(let t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:r,numInstances:i}){this.numInstances=i||1;for(let s in t){let n=t[s],o=n.getTransitionSetting(r);o&&this._updateAttribute(s,n,o)}for(let s in this.transitions){let n=t[s];(!n||!n.getTransitionSetting(r))&&this._removeTransition(s)}}hasAttribute(t){let r=this.transitions[t];return r&&r.inProgress}getAttributes(){let t={};for(let r in this.transitions){let i=this.transitions[r];i.inProgress&&(t[r]=i.attributeInTransition)}return t}run(){if(!this.isSupported||this.numInstances===0)return!1;for(let r in this.transitions)this.transitions[r].update()&&(this.needsRedraw=!0);let t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,r,i){let s=this.transitions[t],n=!s||s.type!==i.type;if(n){if(!this.isSupported){or.warn(\"WebGL2 not supported by this browser. Transition for \".concat(t,\" is disabled.\"))();return}s&&this._removeTransition(t);let o=Cct[i.type];o?this.transitions[t]=new o({attribute:r,timeline:this.timeline,gl:this.gl}):(or.error(\"unsupported transition type '\".concat(i.type,\"'\"))(),n=!1)}(n||r.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(i,this.numInstances))}};var t9=\"attributeManager.invalidate\",Lct=\"attributeManager.updateStart\",kct=\"attributeManager.updateEnd\",Rct=\"attribute.updateStart\",Dct=\"attribute.allocate\",Oct=\"attribute.updateEnd\",Xf=class{constructor(t,{id:r=\"attribute-manager\",stats:i,timeline:s}={}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"attributes\",void 0),G(this,\"updateTriggers\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"userData\",void 0),G(this,\"stats\",void 0),G(this,\"attributeTransitionManager\",void 0),G(this,\"mergeBoundsMemoized\",Yf(dG)),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new uw(t,{id:\"\".concat(r,\"-transitions\"),timeline:s}),Object.seal(this)}finalize(){for(let t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){let r=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,r&&this.id}setNeedsRedraw(){this.needsRedraw=!0}add(t){this._add(t)}addInstanced(t){this._add(t,{instanced:1})}remove(t){for(let r of t)this.attributes[r]!==void 0&&(this.attributes[r].delete(),delete this.attributes[r])}invalidate(t,r){let i=this._invalidateTrigger(t,r);Ls(t9,this,t,i)}invalidateAll(t){for(let r in this.attributes)this.attributes[r].setNeedsUpdate(r,t);Ls(t9,this,\"all\")}update({data:t,numInstances:r,startIndices:i=null,transitions:s,props:n={},buffers:o={},context:c={}}){let f=!1;Ls(Lct,this),this.stats&&this.stats.get(\"Update Attributes\").timeStart();for(let _ in this.attributes){let w=this.attributes[_],I=w.settings.accessor;w.startIndices=i,w.numInstances=r,n[_]&&or.removed(\"props.\".concat(_),\"data.attributes.\".concat(_))(),w.setExternalBuffer(o[_])||w.setBinaryValue(typeof I==\"string\"?o[I]:void 0,t.startIndices)||typeof I==\"string\"&&!o[I]&&w.setConstantValue(n[I])||w.needsUpdate()&&(f=!0,this._updateAttribute({attribute:w,numInstances:r,data:t,props:n,context:c})),this.needsRedraw=this.needsRedraw||w.needsRedraw()}f&&Ls(kct,this,r),this.stats&&this.stats.get(\"Update Attributes\").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:r,transitions:s})}updateTransition(){let{attributeTransitionManager:t}=this,r=t.run();return this.needsRedraw=this.needsRedraw||r,r}getAttributes(){return this.attributes}getBounds(t){let r=t.map(i=>{var s;return(s=this.attributes[i])===null||s===void 0?void 0:s.getBounds()});return this.mergeBoundsMemoized(r)}getChangedAttributes(t={clearChangedFlags:!1}){let{attributes:r,attributeTransitionManager:i}=this,s={...i.getAttributes()};for(let n in r){let o=r[n];o.needsRedraw(t)&&!i.hasAttribute(n)&&(s[n]=o)}return s}getShaderAttributes(t,r={}){t||(t=this.getAttributes());let i={};for(let s in t)r[s]||Object.assign(i,t[s].getShaderAttributes());return i}_add(t,r={}){for(let i in t){let s=t[i];this.attributes[i]=this._createAttribute(i,s,r)}this._mapUpdateTriggersToAttributes()}_createAttribute(t,r,i){let s={...r,id:t,size:r.isIndexed&&1||r.size||1,divisor:i.instanced?1:r.divisor||0};return new up(this.gl,s)}_mapUpdateTriggersToAttributes(){let t={};for(let r in this.attributes)this.attributes[r].getUpdateTriggers().forEach(s=>{t[s]||(t[s]=[]),t[s].push(r)});this.updateTriggers=t}_invalidateTrigger(t,r){let{attributes:i,updateTriggers:s}=this,n=s[t];return n&&n.forEach(o=>{let c=i[o];c&&c.setNeedsUpdate(c.id,r)}),n}_updateAttribute(t){let{attribute:r,numInstances:i}=t;if(Ls(Rct,r),r.constant){r.setConstantValue(r.value);return}r.allocate(i)&&Ls(Dct,r,i),r.updateBuffer(t)&&(this.needsRedraw=!0,Ls(Oct,r,i))}};var hw=class extends Kc{get value(){return this._value}_onUpdate(){let{time:t,settings:{fromValue:r,toValue:i,duration:s,easing:n}}=this,o=n(t/s);this._value=il(r,i,o)}};var e9=1e-5;function r9(e,t,r,i,s){let n=t-e,c=(r-t)*s,f=-n*i;return c+f+n+t}function Bct(e,t,r,i,s){if(Array.isArray(r)){let n=[];for(let o=0;o0}add(t,r,i,s){let{transitions:n}=this;if(n.has(t)){let f=n.get(t),{value:_=f.settings.fromValue}=f;r=_,this.remove(t)}if(s=hP(s),!s)return;let o=Fct[s.type];if(!o){or.error(\"unsupported transition type '\".concat(s.type,\"'\"))();return}let c=new o(this.timeline);c.start({...s,fromValue:r,toValue:i}),n.set(t,c)}remove(t){let{transitions:r}=this;r.has(t)&&(r.get(t).cancel(),r.delete(t))}update(){let t={};for(let[r,i]of this.transitions)i.update(),t[r]=i.value,i.inProgress||this.remove(r);return t}clear(){for(let t of this.transitions.keys())this.remove(t)}};function s9(e){let t=e[zu];for(let r in t){let i=t[r],{validate:s}=i;if(s&&!s(e[r],i))throw new Error(\"Invalid prop \".concat(r,\": \").concat(e[r]))}}function o9(e,t){let r=pw({newProps:e,oldProps:t,propTypes:e[zu],ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=Nct(e,t),s=!1;return i||(s=Uct(e,t)),{dataChanged:i,propsChanged:r,updateTriggersChanged:s,extensionsChanged:Vct(e,t),transitionsChanged:zct(e,t)}}function zct(e,t){if(!e.transitions)return!1;let r={},i=e[zu],s=!1;for(let n in e.transitions){let o=i[n],c=o&&o.type;(c===\"number\"||c===\"color\"||c===\"array\")&&CD(e[n],t[n],o)&&(r[n]=!0,s=!0)}return s?r:!1}function pw({newProps:e,oldProps:t,ignoreProps:r={},propTypes:i={},triggerName:s=\"props\"}){if(t===e)return!1;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return\"\".concat(s,\" changed shallowly\");for(let n of Object.keys(e))if(!(n in r)){if(!(n in t))return\"\".concat(s,\".\").concat(n,\" added\");let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}for(let n of Object.keys(t))if(!(n in r)){if(!(n in e))return\"\".concat(s,\".\").concat(n,\" dropped\");if(!Object.hasOwnProperty.call(e,n)){let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}}return!1}function CD(e,t,r){let i=r&&r.equal;return i&&!i(e,t,r)||!i&&(i=e&&t&&e.equals,i&&!i.call(e,t))?\"changed deeply\":!i&&t!==e?\"changed shallowly\":null}function Nct(e,t){if(t===null)return\"oldProps is null, initial diff\";let r=!1,{dataComparator:i,_dataDiff:s}=e;return i?i(e.data,t.data)||(r=\"Data comparator detected a change\"):e.data!==t.data&&(r=\"A new data container was supplied\"),r&&s&&(r=s(e.data,t.data)||r),r}function Uct(e,t){if(t===null)return{all:!0};if(\"all\"in e.updateTriggers&&n9(e,t,\"all\"))return{all:!0};let r={},i=!1;for(let s in e.updateTriggers)s!==\"all\"&&n9(e,t,s)&&(r[s]=!0,i=!0);return i?r:!1}function Vct(e,t){if(t===null)return!0;let r=t.extensions,{extensions:i}=e;if(i===r)return!1;if(!r||!i||i.length!==r.length)return!0;for(let s=0;si.name===\"project64\"))){let i=r.modules.findIndex(s=>s.name===\"project32\");i>=0&&r.modules.splice(i,1)}if(\"inject\"in t)if(!e.inject)r.inject=t.inject;else{let i={...e.inject};for(let s in t.inject)i[s]=(i[s]||\"\")+t.inject[s];r.inject=i}return r}var qct={10241:9987,10240:9729,10242:33071,10243:33071},LD={};function l9(e,t,r,i){if(r instanceof pi)return r;r.constructor&&r.constructor.name!==\"Object\"&&(r={data:r});let s=null;r.compressed&&(s={10241:r.data.length>1?9985:9729});let n=new pi(t,{...r,parameters:{...qct,...s,...i}});return LD[n.id]=e,n}function c9(e,t){!t||!(t instanceof pi)||LD[t.id]===e&&(t.delete(),delete LD[t.id])}var Zct={boolean:{validate(e,t){return!0},equal(e,t,r){return!!e==!!t}},number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},color:{validate(e,t){return t.optional&&!e||kD(e)&&(e.length===3||e.length===4)},equal(e,t,r){return mo(e,t,1)}},accessor:{validate(e,t){let r=mP(e);return r===\"function\"||r===mP(t.value)},equal(e,t,r){return typeof t==\"function\"?!0:mo(e,t,1)}},array:{validate(e,t){return t.optional&&!e||kD(e)},equal(e,t,r){let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},object:{equal(e,t,r){if(r.ignore)return!0;let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},function:{validate(e,t){return t.optional&&!e||typeof e==\"function\"},equal(e,t,r){return!r.compare&&r.ignore!==!1||e===t}},data:{transform:(e,t,r)=>{let{dataTransform:i}=r.props;return i&&e?i(e):e}},image:{transform:(e,t,r)=>{let i=r.context;return!i||!i.gl?null:l9(r.id,i.gl,e,{...t.parameters,...r.props.textureParameters})},release:(e,t,r)=>{c9(r.id,e)}}};function u9(e){let t={},r={},i={};for(let[s,n]of Object.entries(e)){let o=n?.deprecatedFor;if(o)i[s]=Array.isArray(o)?o:[o];else{let c=Yct(s,n);t[s]=c,r[s]=c.value}}return{propTypes:t,defaultProps:r,deprecatedProps:i}}function Yct(e,t){switch(mP(t)){case\"object\":return Aw(e,t);case\"array\":return Aw(e,{type:\"array\",value:t,compare:!1});case\"boolean\":return Aw(e,{type:\"boolean\",value:t});case\"number\":return Aw(e,{type:\"number\",value:t});case\"function\":return Aw(e,{type:\"function\",value:t,compare:!0});default:return{name:e,type:\"unknown\",value:t}}}function Aw(e,t){return\"type\"in t?{name:e,...Zct[t.type],...t}:\"value\"in t?{name:e,type:mP(t.value),...t}:{name:e,type:\"object\",value:t}}function kD(e){return Array.isArray(e)||ArrayBuffer.isView(e)}function mP(e){return kD(e)?\"array\":e===null?\"null\":typeof e}function h9(e,t){let r;for(let n=t.length-1;n>=0;n--){let o=t[n];\"extensions\"in o&&(r=o.extensions)}let i=RD(e.constructor,r),s=Object.create(i);s[Qy]=e,s[$f]={},s[Wh]={};for(let n=0;n{},this.oldProps=null,this.oldAsyncProps=null}finalize(){for(let t in this.asyncProps){let r=this.asyncProps[t];r&&r.type&&r.type.release&&r.type.release(r.resolvedValue,r.type,this.component)}this.asyncProps={},this.component=null,this.resetOldProps()}getOldProps(){return this.oldAsyncProps||this.oldProps||iut}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component?this.component.props:null}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){let r=this.asyncProps[t];return r&&r.resolvedValue}isAsyncPropLoading(t){if(t){let r=this.asyncProps[t];return!!(r&&r.pendingLoadCount>0&&r.pendingLoadCount!==r.resolvedLoadCount)}for(let r in this.asyncProps)if(this.isAsyncPropLoading(r))return!0;return!1}reloadAsyncProp(t,r){this._watchPromise(t,Promise.resolve(r))}setAsyncProps(t){this.component=t[Qy]||this.component;let r=t[Wh]||{},i=t[$f]||t,s=t[sp]||{};for(let n in r){let o=r[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o),r[n]=this.getAsyncProp(n)}for(let n in i){let o=i[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o)}}_fetch(t,r){return null}_onResolve(t,r){}_onError(t,r){}_updateAsyncProp(t,r){if(this._didAsyncInputValueChange(t,r)){if(typeof r==\"string\"&&(r=this._fetch(t,r)),r instanceof Promise){this._watchPromise(t,r);return}if(cP(r)){this._resolveAsyncIterable(t,r);return}this._setPropValue(t,r)}}_freezeAsyncOldProps(){if(!this.oldAsyncProps&&this.oldProps){this.oldAsyncProps=Object.create(this.oldProps);for(let t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}_didAsyncInputValueChange(t,r){let i=this.asyncProps[t];return r===i.resolvedValue||r===i.lastValue?!1:(i.lastValue=r,!0)}_setPropValue(t,r){this._freezeAsyncOldProps();let i=this.asyncProps[t];i&&(r=this._postProcessValue(i,r),i.resolvedValue=r,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount)}_setAsyncPropValue(t,r,i){let s=this.asyncProps[t];s&&i>=s.resolvedLoadCount&&r!==void 0&&(this._freezeAsyncOldProps(),s.resolvedValue=r,s.resolvedLoadCount=i,this.onAsyncPropUpdated(t,r))}_watchPromise(t,r){let i=this.asyncProps[t];if(i){i.pendingLoadCount++;let s=i.pendingLoadCount;r.then(n=>{this.component&&(n=this._postProcessValue(i,n),this._setAsyncPropValue(t,n,s),this._onResolve(t,n))}).catch(n=>{this._onError(t,n)})}}async _resolveAsyncIterable(t,r){if(t!==\"data\"){this._setPropValue(t,r);return}let i=this.asyncProps[t];if(!i)return;i.pendingLoadCount++;let s=i.pendingLoadCount,n=[],o=0;for await(let c of r){if(!this.component)return;let{dataTransform:f}=this.component.props;f?n=f(c,n):n=n.concat(c),Object.defineProperty(n,\"__diff\",{enumerable:!1,value:[{startRow:o,endRow:n.length}]}),o=n.length,this._setAsyncPropValue(t,n,s)}this._onResolve(t,n)}_postProcessValue(t,r){let i=t.type;return i&&this.component&&(i.release&&i.release(t.resolvedValue,i,this.component),i.transform)?i.transform(r,i,this.component):r}_createAsyncPropData(t,r){if(!this.asyncProps[t]){let s=this.component&&this.component.props[zu];this.asyncProps[t]={type:s&&s[t],lastValue:null,resolvedValue:r,pendingLoadCount:0,resolvedLoadCount:0}}}};var gw=class extends mw{constructor({attributeManager:t,layer:r}){super(r),G(this,\"attributeManager\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"needsUpdate\",void 0),G(this,\"subLayers\",void 0),G(this,\"usesPickingColorCache\",void 0),G(this,\"hasPickingBuffer\",void 0),G(this,\"changeFlags\",void 0),G(this,\"viewport\",void 0),G(this,\"uniformTransitions\",void 0),G(this,\"propsInTransition\",void 0),this.attributeManager=t,this.needsRedraw=!0,this.needsUpdate=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}_fetch(t,r){let i=this.layer,s=i?.props.fetch;return s?s(r,{propName:t,layer:i}):super._fetch(t,r)}_onResolve(t,r){let i=this.layer;if(i){let s=i.props.onDataLoad;t===\"data\"&&s&&s(r,{propName:t,layer:i})}}_onError(t,r){let i=this.layer;i&&i.raiseError(r,\"loading \".concat(t,\" of \").concat(this.layer))}};var nut=\"layer.changeFlag\",sut=\"layer.initialize\",out=\"layer.update\",aut=\"layer.finalize\",lut=\"layer.matched\",d9=2**24-1,cut=Object.freeze([]),uut=Yf(({oldViewport:e,viewport:t})=>e.equals(t)),Kf=new Uint8ClampedArray(0),hut={data:{type:\"data\",value:cut,async:!0},dataComparator:{type:\"function\",value:null,optional:!0},_dataDiff:{type:\"function\",value:e=>e&&e.__diff,optional:!0},dataTransform:{type:\"function\",value:null,optional:!0},onDataLoad:{type:\"function\",value:null,optional:!0},onError:{type:\"function\",value:null,optional:!0},fetch:{type:\"function\",value:(e,{propName:t,layer:r,loaders:i,loadOptions:s,signal:n})=>{let{resourceManager:o}=r.context;if(s=s||r.getLoadOptions(),i=i||r.props.loaders,n){var c;s={...s,fetch:{...(c=s)===null||c===void 0?void 0:c.fetch,signal:n}}}let f=o.contains(e);return!f&&!s&&(o.add({resourceId:e,data:jA(e,i),persistent:!1}),f=!0),f?o.subscribe({resourceId:e,onChange:_=>{var w;return(w=r.internalState)===null||w===void 0?void 0:w.reloadAsyncProp(t,_)},consumerId:r.id,requestId:t}):jA(e,i,s)}},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:\"number\",min:0,max:1,value:1},operation:\"draw\",onHover:{type:\"function\",value:null,optional:!0},onClick:{type:\"function\",value:null,optional:!0},onDragStart:{type:\"function\",value:null,optional:!0},onDrag:{type:\"function\",value:null,optional:!0},onDragEnd:{type:\"function\",value:null,optional:!0},coordinateSystem:Yr.DEFAULT,coordinateOrigin:{type:\"array\",value:[0,0,0],compare:!0},modelMatrix:{type:\"array\",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:\"XYZ\",colorFormat:\"RGBA\",parameters:{type:\"object\",value:{},optional:!0,compare:2},loadOptions:{type:\"object\",value:null,optional:!0,ignore:!0},transitions:null,extensions:[],loaders:{type:\"array\",value:[],optional:!0,ignore:!0},getPolygonOffset:{type:\"function\",value:({layerIndex:e})=>[0,-e*100]},highlightedObjectIndex:null,autoHighlight:!1,highlightColor:{type:\"accessor\",value:[0,0,128,128]}},dn=class extends _g{constructor(...t){super(...t),G(this,\"internalState\",null),G(this,\"lifecycle\",tm.NO_STATE),G(this,\"context\",void 0),G(this,\"state\",void 0),G(this,\"parent\",null)}static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"layerName\")?this.layerName:\"\"}get root(){let t=this;for(;t.parent;)t=t.parent;return t}toString(){let t=this.constructor.layerName||this.constructor.name;return\"\".concat(t,\"({id: '\").concat(this.props.id,\"'})\")}project(t){_r(this.internalState);let r=this.internalState.viewport||this.context.viewport,i=vD(t,{viewport:r,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,n,o]=Hy(i,r.pixelProjectionMatrix);return t.length===2?[s,n]:[s,n,o]}unproject(t){return _r(this.internalState),(this.internalState.viewport||this.context.viewport).unproject(t)}projectPosition(t,r){_r(this.internalState);let i=this.internalState.viewport||this.context.viewport;return mG(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem,...r})}get isComposite(){return!1}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(){this.internalState&&(this.internalState.needsRedraw=!0)}setNeedsUpdate(){this.internalState&&(this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0)}get isLoaded(){return this.internalState?!this.internalState.isAsyncPropLoading():!1}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||this.state.model&&[this.state.model])||[]}setModuleParameters(t){for(let r of this.getModels())r.updateModuleSettings(t)}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}use64bitPositions(){let{coordinateSystem:t}=this.props;return t===Yr.DEFAULT||t===Yr.LNGLAT||t===Yr.CARTESIAN}onHover(t,r){return this.props.onHover&&this.props.onHover(t,r)||!1}onClick(t,r){return this.props.onClick&&this.props.onClick(t,r)||!1}nullPickingColor(){return[0,0,0]}encodePickingColor(t,r=[]){return r[0]=t+1&255,r[1]=t+1>>8&255,r[2]=t+1>>8>>8&255,r}decodePickingColor(t){_r(t instanceof Uint8Array);let[r,i,s]=t;return r+i*256+s*65536-1}getNumInstances(){return Number.isFinite(this.props.numInstances)?this.props.numInstances:this.state&&this.state.numInstances!==void 0?this.state.numInstances:a9(this.props.data)}getStartIndices(){return this.props.startIndices?this.props.startIndices:this.state&&this.state.startIndices?this.state.startIndices:null}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"positions\",\"instancePositions\"])}getShaders(t){for(let r of this.props.extensions)t=tv(t,r.getShaders.call(this,r));return t}shouldUpdateState(t){return t.changeFlags.propsOrDataChanged}updateState(t){let r=this.getAttributeManager(),{dataChanged:i}=t.changeFlags;if(i&&r)if(Array.isArray(i))for(let s of i)r.invalidateAll(s);else r.invalidateAll();if(r){let{props:s}=t,n=this.internalState.hasPickingBuffer,o=Number.isInteger(s.highlightedObjectIndex)||s.pickable||s.extensions.some(c=>c.getNeedsPickingBuffer.call(this,c));if(n!==o){this.internalState.hasPickingBuffer=o;let{pickingColors:c,instancePickingColors:f}=r.attributes,_=c||f;_&&(o&&_.constant&&(_.constant=!1,r.invalidate(_.id)),!_.value&&!o&&(_.constant=!0,_.value=[0,0,0]))}}}finalizeState(t){for(let i of this.getModels())i.delete();let r=this.getAttributeManager();r&&r.finalize(),this.context&&this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState&&(this.internalState.uniformTransitions.clear(),this.internalState.finalize())}draw(t){for(let r of this.getModels())r.draw(t)}getPickingInfo({info:t,mode:r,sourceLayer:i}){let{index:s}=t;return s>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[s]),t}raiseError(t,r){var i,s;if(r&&(t=new Error(\"\".concat(r,\": \").concat(t.message),{cause:t})),!((i=(s=this.props).onError)!==null&&i!==void 0&&i.call(s,t))){var n,o;(n=this.context)===null||n===void 0||(o=n.onError)===null||o===void 0||o.call(n,t,this)}}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState?this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams()):!1}hasUniformTransition(){var t;return((t=this.internalState)===null||t===void 0?void 0:t.uniformTransitions.active)||!1}activateViewport(t){if(!this.internalState)return;let r=this.internalState.viewport;this.internalState.viewport=t,(!r||!uut({oldViewport:r,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t=\"all\"){let r=this.getAttributeManager();r&&(t===\"all\"?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(let r of this.getModels())this._setModelAttributes(r,t)}_updateAttributes(){let t=this.getAttributeManager();if(!t)return;let r=this.props,i=this.getNumInstances(),s=this.getStartIndices();t.update({data:r.data,numInstances:i,startIndices:s,props:r,transitions:r.transitions,buffers:r.data.attributes,context:this});let n=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(n)}_updateAttributeTransition(){let t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){let{uniformTransitions:t}=this.internalState;if(t.active){let r=t.update(),i=Object.create(this.props);for(let s in r)Object.defineProperty(i,s,{value:r[s]});return i}return this.props}calculateInstancePickingColors(t,{numInstances:r}){if(t.constant)return;let i=Math.floor(Kf.length/3);if(this.internalState.usesPickingColorCache=!0,id9&&or.warn(\"Layer has too many data objects. Picking might not be able to distinguish all objects.\")(),Kf=Gh.allocate(Kf,r,{size:3,copy:!0,maxCount:Math.max(r,d9)});let s=Math.floor(Kf.length/3),n=[];for(let o=i;o(or.deprecated(\"layer.state.attributeManager\",\"layer.getAttributeManager()\")(),t)}),this.internalState.uniformTransitions=new dw(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props),this.initializeState(this.context);for(let r of this.props.extensions)r.initializeState.call(this,this.context,r);this.setChangeFlags({dataChanged:\"init\",propsChanged:\"init\",viewportChanged:!0,extensionsChanged:!0}),this._update()}_transferState(t){Ls(lut,this,this===t);let{state:r,internalState:i}=t;this!==t&&(this.internalState=i,this.state=r,this.internalState.setAsyncProps(this.props),this._diffProps(this.props,this.internalState.getOldProps()))}_update(){let t=this.needsUpdate();if(Ls(out,this,t),!t)return;let r=this.props,i=this.context,s=this.internalState,n=i.viewport,o=this._updateUniformTransition();s.propsInTransition=o,i.viewport=s.viewport||n,this.props=o;try{let c=this._getUpdateParams(),f=this.getModels();if(i.gl)this.updateState(c);else try{this.updateState(c)}catch{}for(let w of this.props.extensions)w.updateState.call(this,c,w);let _=this.getModels()[0]!==f[0];this._postUpdate(c,_)}finally{i.viewport=n,this.props=r,this._clearChangeFlags(),s.needsUpdate=!1,s.resetOldProps()}}_finalize(){Ls(aut,this),this.finalizeState(this.context);for(let t of this.props.extensions)t.finalizeState.call(this,this.context,t)}_drawLayer({moduleParameters:t=null,uniforms:r={},parameters:i={}}){this._updateAttributeTransition();let s=this.props,n=this.context;this.props=this.internalState.propsInTransition||s;let o=this.props.opacity;r.opacity=Math.pow(o,1/2.2);try{t&&this.setModuleParameters(t);let{getPolygonOffset:c}=this.props,f=c&&c(r)||[0,0];Ml(n.gl,{polygonOffset:f}),Mn(n.gl,i,()=>{let _={moduleParameters:t,uniforms:r,parameters:i,context:n};for(let w of this.props.extensions)w.draw.call(this,_,w);this.draw(_)})}finally{this.props=s}}getChangeFlags(){var t;return(t=this.internalState)===null||t===void 0?void 0:t.changeFlags}setChangeFlags(t){if(!this.internalState)return;let{changeFlags:r}=this.internalState;for(let s in t)if(t[s]){let n=!1;switch(s){case\"dataChanged\":let o=t[s],c=r[s];o&&Array.isArray(c)&&(r.dataChanged=Array.isArray(o)?c.concat(o):o,n=!0);default:r[s]||(r[s]=t[s],n=!0)}n&&Ls(nut,this,s,t)}let i=!!(r.dataChanged||r.updateTriggersChanged||r.propsChanged||r.extensionsChanged);r.propsOrDataChanged=i,r.somethingChanged=i||r.viewportChanged||r.stateChanged}_clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}_diffProps(t,r){let i=o9(t,r);if(i.updateTriggersChanged)for(let n in i.updateTriggersChanged)i.updateTriggersChanged[n]&&this.invalidateAttribute(n);if(i.transitionsChanged)for(let n in i.transitionsChanged){var s;this.internalState.uniformTransitions.add(n,r[n],t[n],(s=t.transitions)===null||s===void 0?void 0:s[n])}return this.setChangeFlags(i)}validateProps(){s9(this.props)}updateAutoHighlight(t){this.props.autoHighlight&&!Number.isInteger(this.props.highlightedObjectIndex)&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){let r={pickingSelectedColor:t.picked?t.color:null},{highlightColor:i}=this.props;t.picked&&typeof i==\"function\"&&(r.pickingHighlightColor=i(t)),this.setModuleParameters(r),this.setNeedsRedraw()}_getAttributeManager(){let t=this.context;return new Xf(t.gl,{id:this.props.id,stats:t.stats,timeline:t.timeline})}_postUpdate(t,r){let{props:i,oldProps:s}=t;this.setNeedsRedraw(),this._updateAttributes();let{model:n}=this.state;n?.setInstanceCount(this.getNumInstances());let{autoHighlight:o,highlightedObjectIndex:c,highlightColor:f}=i;if(r||s.autoHighlight!==o||s.highlightedObjectIndex!==c||s.highlightColor!==f){let _={};o||(_.pickingSelectedColor=null),Array.isArray(f)&&(_.pickingHighlightColor=f),(r||c!==s.highlightedObjectIndex)&&(_.pickingSelectedColor=Number.isFinite(c)&&c>=0?this.encodePickingColor(c):null),this.setModuleParameters(_)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let r=!1;r=r||this.internalState.needsRedraw&&this.id;let i=this.getAttributeManager(),s=i?i.getNeedsRedraw(t):!1;if(r=r||s,r)for(let n of this.props.extensions)n.onNeedsRedraw.call(this,n);return this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags,r}_onAsyncPropUpdated(){this._diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}};G(dn,\"defaultProps\",hut);G(dn,\"layerName\",\"Layer\");var fut=\"compositeLayer.renderLayers\",Ni=class extends dn{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(t){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){let{object:r}=t;return r&&r.__source&&r.__source.parent&&r.__source.parent.id===this.id&&(t.object=r.__source.object,t.index=r.__source.index),t}filterSubLayer(t){return!0}shouldRenderSubLayer(t,r){return r&&r.length}getSubLayerClass(t,r){let{_subLayerProps:i}=this.props;return i&&i[t]&&i[t].type||r}getSubLayerRow(t,r,i){return t.__source={parent:this,object:r,index:i},t}getSubLayerAccessor(t){if(typeof t==\"function\"){let r={index:-1,data:this.props.data,target:[]};return(i,s)=>i&&i.__source?(r.index=i.__source.index,t(i.__source.object,r)):t(i,s)}return t}getSubLayerProps(t={}){var r;let{opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K,_subLayerProps:J}=this.props,ut={id:\"\",updateTriggers:{},opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K},Et=J&&t.id&&J[t.id],kt=Et&&Et.updateTriggers,Xt=t.id||\"sublayer\";if(Et){let qt=this.props[zu],le=t.type?t.type._propTypes:{};for(let ue in Et){let De=le[ue]||qt[ue];De&&De.type===\"accessor\"&&(Et[ue]=this.getSubLayerAccessor(Et[ue]))}}Object.assign(ut,t,Et),ut.id=\"\".concat(this.props.id,\"-\").concat(Xt),ut.updateTriggers={all:(r=this.props.updateTriggers)===null||r===void 0?void 0:r.all,...t.updateTriggers,...kt};for(let qt of et){let le=qt.getSubLayerProps.call(this,qt);le&&Object.assign(ut,le,{updateTriggers:Object.assign(ut.updateTriggers,le.updateTriggers)})}return ut}_updateAutoHighlight(t){for(let r of this.getSubLayers())r.updateAutoHighlight(t)}_getAttributeManager(){return null}_postUpdate(t,r){let i=this.internalState.subLayers,s=!i||this.needsUpdate();if(s){let n=this.renderLayers();i=op(n,Boolean),this.internalState.subLayers=i}Ls(fut,this,s,i);for(let n of i)n.parent=this}};G(Ni,\"layerName\",\"CompositeLayer\");var gP=Math.PI/180,p9=180/Math.PI,_P=6370972,ev=256;function dut(){let e=ev/_P,t=Math.PI/180*ev;return{unitsPerMeter:[e,e,e],unitsPerMeter2:[0,0,0],metersPerUnit:[1/e,1/e,1/e],unitsPerDegree:[t,t,e],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/t,1/t,1/e]}}var rv=class extends ac{constructor(t={}){let{latitude:r=0,longitude:i=0,zoom:s=0,nearZMultiplier:n=.1,farZMultiplier:o=2,resolution:c=10}=t,{height:f,altitude:_=1.5}=t;f=f||1,_=Math.max(.75,_);let w=new En().lookAt({eye:[0,-_,0],up:[0,0,1]}),I=Math.pow(2,s);w.rotateX(r*gP),w.rotateZ(-i*gP),w.scale(I/f);let R=Math.atan(.5/_),N=ev*2*I/f;super({...t,height:f,viewMatrix:w,longitude:i,latitude:r,zoom:s,distanceScales:dut(),fovyRadians:R*2,focalDistance:_,near:n,far:Math.min(2,1/N+1)*_*o}),G(this,\"longitude\",void 0),G(this,\"latitude\",void 0),G(this,\"resolution\",void 0),this.latitude=r,this.longitude=i,this.resolution=c}get projectionMode(){return Ja.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){let r={targetZ:t.z||0},i=this.unproject([0,this.height/2],r),s=this.unproject([this.width/2,0],r),n=this.unproject([this.width,this.height/2],r),o=this.unproject([this.width/2,this.height],r);return n[0]this.longitude&&(i[0]-=360),[Math.min(i[0],n[0],s[0],o[0]),Math.min(i[1],n[1],s[1],o[1]),Math.max(i[0],n[0],s[0],o[0]),Math.max(i[1],n[1],s[1],o[1])]}unproject(t,{topLeft:r=!0,targetZ:i}={}){let[s,n,o]=t,c=r?n:this.height-n,{pixelUnprojectionMatrix:f}=this,_;if(Number.isFinite(o))_=OD(f,[s,c,o,1]);else{let N=OD(f,[s,c,-1,1]),j=OD(f,[s,c,1,1]),Q=((i||0)/_P+1)*ev,et=NE(FE([],N,j)),Y=NE(N),K=NE(j),ut=4*((4*Y*K-(et-Y-K)**2)/16)/et,Et=Math.sqrt(Y-ut),kt=Math.sqrt(Math.max(0,Q*Q-ut)),Xt=(Et-kt)/Math.sqrt(et);_=Hj([],N,j,Xt)}let[w,I,R]=this.unprojectPosition(_);return Number.isFinite(o)?[w,I,R]:Number.isFinite(i)?[w,I,i]:[w,I]}projectPosition(t){let[r,i,s=0]=t,n=r*gP,o=i*gP,c=Math.cos(o),f=(s/_P+1)*ev;return[Math.sin(n)*c*f,-Math.cos(n)*c*f,Math.sin(o)*f]}unprojectPosition(t){let[r,i,s]=t,n=zE(t),o=Math.asin(s/n),f=Math.atan2(r,-i)*p9,_=o*p9,w=(n/ev-1)*_P;return[f,_,w]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,r){let i=this.unproject(r);return{longitude:t[0]-i[0]+this.longitude,latitude:t[1]-i[1]+this.latitude}}};function OD(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}var put=new En().lookAt({eye:[0,0,1]});function Aut({width:e,height:t,near:r,far:i,padding:s}){let n=-e/2,o=e/2,c=-t/2,f=t/2;if(s){let{left:_=0,right:w=0,top:I=0,bottom:R=0}=s,N=Il((_+e-w)/2,0,e)-e/2,j=Il((I+t-R)/2,0,t)-t/2;n-=N,o-=N,c+=j,f+=j}return new En().ortho({left:n,right:o,bottom:c,top:f,near:r,far:i})}var iv=class extends ac{constructor(t){let{width:r,height:i,near:s=.1,far:n=1e3,zoom:o=0,target:c=[0,0,0],padding:f=null,flipY:_=!0}=t,w=Array.isArray(o)?o[0]:o,I=Array.isArray(o)?o[1]:o,R=Math.min(w,I),N=Math.pow(2,R),j;if(w!==I){let Q=Math.pow(2,w),et=Math.pow(2,I);j={unitsPerMeter:[Q/N,et/N,1],metersPerUnit:[N/Q,N/et,1]}}super({...t,longitude:void 0,position:c,viewMatrix:put.clone().scale([N,N*(_?-1:1),N]),projectionMatrix:Aut({width:r||1,height:i||1,padding:f,near:s,far:n}),zoom:R,distanceScales:j})}projectFlat([t,r]){let{unitsPerMeter:i}=this.distanceScales;return[t*i[0],r*i[1]]}unprojectFlat([t,r]){let{metersPerUnit:i}=this.distanceScales;return[t*i[0],r*i[1]]}panByPosition(t,r){let i=Qf(r,this.pixelUnprojectionMatrix),s=this.projectFlat(t),n=$A([],s,LE([],i)),o=$A([],this.center,n);return{target:this.unprojectFlat(o)}}};var cc=class{static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"extensionName\")?this.extensionName:\"\"}constructor(t){G(this,\"opts\",void 0),t&&(this.opts=t)}equals(t){return this===t?!0:this.constructor===t.constructor&&mo(this.opts,t.opts,1)}getShaders(t){return null}getSubLayerProps(t){let{defaultProps:r}=t.constructor,i={updateTriggers:{}};for(let s in r)if(s in this.props){let n=r[s],o=this.props[s];i[s]=o,n&&n.type===\"accessor\"&&(i.updateTriggers[s]=this.props.updateTriggers[s],typeof o==\"function\"&&(i[s]=this.getSubLayerAccessor(o)))}return i}initializeState(t,r){}updateState(t,r){}onNeedsRedraw(t){}getNeedsPickingBuffer(t){return!1}draw(t,r){}finalizeState(t,r){}};G(cc,\"defaultProps\",{});G(cc,\"extensionName\",\"LayerExtension\");var BD={bearing:0,pitch:0,position:[0,0,0]},mut={speed:1.2,curve:1.414},nv=class extends hg{constructor(t={}){super({compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],extract:[\"width\",\"height\",\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"width\",\"height\",\"latitude\",\"longitude\",\"zoom\"]}),G(this,\"opts\",void 0),this.opts={...mut,...t}}interpolateProps(t,r,i){let s=rP(t,r,i,this.opts);for(let n in BD)s[n]=il(t[n]||BD[n],r[n]||BD[n],i);return s}getDuration(t,r){let{transitionDuration:i}=r;return i===\"auto\"&&(i=gD(t,r,this.opts)),i}};var rm=class{constructor(t){G(this,\"opts\",void 0),G(this,\"typedArrayManager\",void 0),G(this,\"indexStarts\",[0]),G(this,\"vertexStarts\",[0]),G(this,\"vertexCount\",0),G(this,\"instanceCount\",0),G(this,\"attributes\",void 0),G(this,\"_attributeDefs\",void 0),G(this,\"data\",void 0),G(this,\"getGeometry\",void 0),G(this,\"geometryBuffer\",void 0),G(this,\"buffers\",void 0),G(this,\"positionSize\",void 0),G(this,\"normalize\",void 0);let{attributes:r={}}=t;this.typedArrayManager=Gh,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t)}updateGeometry(t){Object.assign(this.opts,t);let{data:r,buffers:i={},getGeometry:s,geometryBuffer:n,positionFormat:o,dataChanged:c,normalize:f=!0}=this.opts;if(this.data=r,this.getGeometry=s,this.positionSize=n&&n.size||(o===\"XY\"?2:3),this.buffers=i,this.normalize=f,n&&(_r(r.startIndices),this.getGeometry=this.getGeometryFromBuffer(n),f||(i.positions=n)),this.geometryBuffer=i.positions,Array.isArray(c))for(let _ of c)this._rebuildGeometry(_);else this._rebuildGeometry()}updatePartialGeometry({startRow:t,endRow:r}){this._rebuildGeometry({startRow:t,endRow:r})}getGeometryFromBuffer(t){let r=t.value||t;return ArrayBuffer.isView(r)?uP(r,{size:this.positionSize,offset:t.offset,stride:t.stride,startIndices:this.data.startIndices}):null}_allocate(t,r){let{attributes:i,buffers:s,_attributeDefs:n,typedArrayManager:o}=this;for(let c in n)if(c in s)o.release(i[c]),i[c]=null;else{let f=n[c];f.copy=r,i[c]=o.allocate(i[c],t,f)}}_forEachGeometry(t,r,i){let{data:s,getGeometry:n}=this,{iterable:o,objectInfo:c}=Jc(s,r,i);for(let f of o){c.index++;let _=n?n(f,c):null;t(_,c.index)}}_rebuildGeometry(t){if(!this.data)return;let{indexStarts:r,vertexStarts:i,instanceCount:s}=this,{data:n,geometryBuffer:o}=this,{startRow:c=0,endRow:f=1/0}=t||{},_={};if(t||(r=[0],i=[0]),this.normalize||!o)this._forEachGeometry((I,R)=>{let N=I&&this.normalizeGeometry(I);_[R]=N,i[R+1]=i[R]+(N?this.getGeometrySize(N):0)},c,f),s=i[i.length-1];else if(i=n.startIndices,s=i[n.length]||0,ArrayBuffer.isView(o))s=s||o.length/this.positionSize;else if(o instanceof Fr){let I=o.accessor.stride||this.positionSize*4;s=s||o.byteLength/I}else if(o.buffer){let I=o.stride||this.positionSize*4;s=s||o.buffer.byteLength/I}else if(o.value){let I=o.value,R=o.stride/I.BYTES_PER_ELEMENT||this.positionSize;s=s||I.length/R}this._allocate(s,!!t),this.indexStarts=r,this.vertexStarts=i,this.instanceCount=s;let w={};this._forEachGeometry((I,R)=>{let N=_[R]||I;w.vertexStart=i[R],w.indexStart=r[R];let j=RvP(r,t));if(ov(e)){if(yut(e))return t.style=_ut,(0,FD.cloneElement)(e,t);if(vut(e))return(0,FD.cloneElement)(e,t)}return e}function ov(e){return e&&typeof e==\"object\"&&\"type\"in e||!1}function yut(e){var t;return(t=e.props)===null||t===void 0?void 0:t.mapStyle}function vut(e){let t=e.type;return t&&t.deckGLViewProps}function zD(e){if(typeof e==\"function\")return(0,m9.createElement)(Xc,{},e);if(Array.isArray(e))return e.map(zD);if(ov(e)){if(e.type===xP.Fragment)return zD(e.props.children);if(sv(e.type,Xc))return e}return e}function ND({children:e,layers:t=[],views:r=null}){let i=[],s=[],n={};return xP.Children.forEach(zD(e),o=>{if(ov(o)){let c=o.type;if(sv(c,dn)){let f=xut(c,o.props);s.push(f)}else i.push(o);if(sv(c,Xc)&&c!==Xc&&o.props.id){let f=new c(o.props);n[f.id]=f}}else o&&i.push(o)}),Object.keys(n).length>0&&(Array.isArray(r)?r.forEach(o=>{n[o.id]=o}):r&&(n[r.id]=r),r=Object.values(n)),t=s.length>0?[...s,...t]:t,{layers:t,children:i,views:r}}function xut(e,t){let r={},i=e.defaultProps||{};for(let s in t)i[s]!==t[s]&&(r[s]=t[s]);return new e(r)}var UD=Ri(Yi());function VD({children:e,deck:t,ContextProvider:r}){let{viewManager:i}=t||{};if(!i||!i.views.length)return[];let s={},n=i.views[0].id;for(let o of e){let c=n,f=o;ov(o)&&sv(o.type,Xc)&&(c=o.props.id||n,f=o.props.children);let _=i.getViewport(c),w=i.getViewState(c);if(_){w.padding=_.padding;let{x:I,y:R,width:N,height:j}=_;f=vP(f,{x:I,y:R,width:N,height:j,viewport:_,viewState:w}),s[c]||(s[c]={viewport:_,children:[]}),s[c].children.push(f)}}return Object.keys(s).map(o=>{let{viewport:c,children:f}=s[o],{x:_,y:w,width:I,height:R}=c,N={position:\"absolute\",left:_,top:w,width:I,height:R},j=\"view-\".concat(o),Q=(0,UD.createElement)(\"div\",{key:j,id:j,style:N},...f);if(r){let et={viewport:c,container:t.canvas.offsetParent,eventManager:t.eventManager,onViewStateChange:Y=>{Y.viewId=o,t._onViewStateChange(Y)}};return(0,UD.createElement)(r,{key:j,value:et},Q)}return Q})}var but={mixBlendMode:null};function jD({width:e,height:t,style:r}){let i={position:\"absolute\",zIndex:0,left:0,top:0,width:e,height:t},s={left:0,top:0};if(r)for(let n in r)n in but?s[n]=r[n]:i[n]=r[n];return{containerStyle:i,canvasStyle:s}}function wut(e){return{get deck(){return e.deck},pickObject:t=>e.deck.pickObject(t),pickMultipleObjects:t=>e.deck.pickMultipleObjects(t),pickObjects:t=>e.deck.pickObjects(t)}}function g9(e){e.redrawReason&&(e.deck._drawLayers(e.redrawReason),e.redrawReason=null)}function Sut(e,t,r){let i=new t({...r,_customRender:s=>{e.redrawReason=s;let n=i.getViewports();e.lastRenderedViewports!==n?e.forceUpdate():g9(e)}});return i}var _9=(0,Do.forwardRef)((e,t)=>{let[r,i]=(0,Do.useState)(0),n=(0,Do.useRef)({control:null,version:r,forceUpdate:()=>i(Et=>Et+1)}).current,o=(0,Do.useRef)(null),c=(0,Do.useRef)(null),f=(0,Do.useMemo)(()=>ND(e),[e.layers,e.views,e.children]),_=!0,w=Et=>{var kt;return _&&e.viewState?(n.viewStateUpdateRequested=Et,null):(n.viewStateUpdateRequested=null,(kt=e.onViewStateChange)===null||kt===void 0?void 0:kt.call(e,Et))},I=Et=>{if(_)n.interactionStateUpdateRequested=Et;else{var kt;n.interactionStateUpdateRequested=null,(kt=e.onInteractionStateChange)===null||kt===void 0||kt.call(e,Et)}},R=(0,Do.useMemo)(()=>{let Et={...e,style:null,width:\"100%\",height:\"100%\",parent:o.current,canvas:c.current,layers:f.layers,views:f.views,onViewStateChange:w,onInteractionStateChange:I};return delete Et._customRender,n.deck&&n.deck.setProps(Et),Et},[e]);(0,Do.useEffect)(()=>{let Et=e.Deck||cp;return n.deck=Sut(n,Et,{...R,parent:o.current,canvas:c.current}),()=>{var kt;return(kt=n.deck)===null||kt===void 0?void 0:kt.finalize()}},[]),A9(()=>{g9(n);let{viewStateUpdateRequested:Et,interactionStateUpdateRequested:kt}=n;Et&&w(Et),kt&&I(kt)}),(0,Do.useImperativeHandle)(t,()=>wut(n),[]);let N=n.deck&&n.deck.isInitialized?n.deck.getViewports():void 0,{ContextProvider:j,width:Q,height:et,id:Y,style:K}=e,{containerStyle:J,canvasStyle:ut}=(0,Do.useMemo)(()=>jD({width:Q,height:et,style:K}),[Q,et,K]);if(!n.viewStateUpdateRequested&&n.lastRenderedViewports===N||n.version!==r){n.lastRenderedViewports=N,n.version=r;let Et=VD({children:f.children,deck:n.deck,ContextProvider:j}),kt=(0,Do.createElement)(\"canvas\",{key:\"canvas\",id:Y||\"deckgl-overlay\",ref:c,style:ut});n.control=(0,Do.createElement)(\"div\",{id:\"\".concat(Y||\"deckgl\",\"-wrapper\"),ref:o,style:J},[kt,Et])}return _=!1,n.control});_9.defaultProps=cp.defaultProps;var GD=_9;var zt,hp=new Array(128).fill(void 0);hp.push(void 0,null,!0,!1);var ww=hp.length;function qe(e){ww===hp.length&&hp.push(hp.length+1);let t=ww;return ww=hp[t],hp[t]=e,t}function xe(e){return hp[e]}function Tut(e){e<132||(hp[e]=ww,ww=e)}function nn(e){let t=xe(e);return Tut(e),t}var R9=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};typeof TextDecoder<\"u\"&&R9.decode();var _w=null;function av(){return(_w===null||_w.byteLength===0)&&(_w=new Uint8Array(zt.memory.buffer)),_w}function tu(e,t){return e=e>>>0,R9.decode(av().subarray(e,e+t))}function uc(e){return e==null}var yw=null;function Mut(){return(yw===null||yw.byteLength===0)&&(yw=new Float64Array(zt.memory.buffer)),yw}var vw=null;function Ue(){return(vw===null||vw.byteLength===0)&&(vw=new Int32Array(zt.memory.buffer)),vw}var hc=0,bP=typeof TextEncoder<\"u\"?new TextEncoder(\"utf-8\"):{encode:()=>{throw Error(\"TextEncoder not available\")}},Eut=typeof bP.encodeInto==\"function\"?function(e,t){return bP.encodeInto(e,t)}:function(e,t){let r=bP.encode(e);return t.set(r),{read:e.length,written:r.length}};function fp(e,t,r){if(r===void 0){let c=bP.encode(e),f=t(c.length,1)>>>0;return av().subarray(f,f+c.length).set(c),hc=c.length,f}let i=e.length,s=t(i,1)>>>0,n=av(),o=0;for(;o127)break;n[s+o]=c}if(o!==i){o!==0&&(e=e.slice(o)),s=r(s,i,i=o+e.length*3,1)>>>0;let c=av().subarray(s+o,s+i),f=Eut(e,c);o+=f.written,s=r(s,i,o,1)>>>0}return hc=o,s}var xw=null;function Put(){return(xw===null||xw.byteLength===0)&&(xw=new BigInt64Array(zt.memory.buffer)),xw}function WD(e){let t=typeof e;if(t==\"number\"||t==\"boolean\"||e==null)return`${e}`;if(t==\"string\")return`\"${e}\"`;if(t==\"symbol\"){let s=e.description;return s==null?\"Symbol\":`Symbol(${s})`}if(t==\"function\"){let s=e.name;return typeof s==\"string\"&&s.length>0?`Function(${s})`:\"Function\"}if(Array.isArray(e)){let s=e.length,n=\"[\";s>0&&(n+=WD(e[0]));for(let o=1;o1)i=r[1];else return toString.call(e);if(i==\"Object\")try{return\"Object(\"+JSON.stringify(e)+\")\"}catch{return\"Object\"}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:i}var y9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{zt.__wbindgen_export_2.get(e.dtor)(e.a,e.b)});function Iut(e,t,r,i){let s={a:e,b:t,cnt:1,dtor:r},n=(...o)=>{s.cnt++;let c=s.a;s.a=0;try{return i(c,s.b,...o)}finally{--s.cnt===0?(zt.__wbindgen_export_2.get(s.dtor)(c,s.b),y9.unregister(s)):s.a=c}};return n.original=s,y9.register(n,s,s),n}function Cut(e,t,r){zt._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h1de40baa0df51db0(e,t,qe(r))}function D9(e,t){let r=t(e.length*1,1)>>>0;return av().set(e,r/1),hc=e.length,r}function O9(e,t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(e,zt.__wbindgen_malloc),c=hc;zt.readParquet(n,o,c,uc(t)?0:qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return IP.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}function Lut(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function XD(e,t){return e=e>>>0,av().subarray(e/1,e/1+t)}var bw=null;function B9(){return(bw===null||bw.byteLength===0)&&(bw=new Uint32Array(zt.memory.buffer)),bw}function wP(e,t){e=e>>>0;let i=B9().subarray(e/4,e/4+t),s=[];for(let n=0;n>>0,B9().subarray(e/4,e/4+t)}function Rut(e,t,r,i){zt.wasm_bindgen__convert__closures__invoke2_mut__h26b6dc7d05b06fdf(e,t,qe(r),qe(i))}var E8t=Object.freeze({V1:0,0:\"V1\",V2:1,1:\"V2\"}),P8t=Object.freeze({None:0,0:\"None\",Chunk:1,1:\"Chunk\",Page:2,2:\"Page\"}),I8t=Object.freeze({PLAIN:0,0:\"PLAIN\",PLAIN_DICTIONARY:1,1:\"PLAIN_DICTIONARY\",RLE:2,2:\"RLE\",BIT_PACKED:3,3:\"BIT_PACKED\",DELTA_BINARY_PACKED:4,4:\"DELTA_BINARY_PACKED\",DELTA_LENGTH_BYTE_ARRAY:5,5:\"DELTA_LENGTH_BYTE_ARRAY\",DELTA_BYTE_ARRAY:6,6:\"DELTA_BYTE_ARRAY\",RLE_DICTIONARY:7,7:\"RLE_DICTIONARY\",BYTE_STREAM_SPLIT:8,8:\"BYTE_STREAM_SPLIT\"}),C8t=Object.freeze({UNCOMPRESSED:0,0:\"UNCOMPRESSED\",SNAPPY:1,1:\"SNAPPY\",GZIP:2,2:\"GZIP\",BROTLI:3,3:\"BROTLI\",LZ4:4,4:\"LZ4\",ZSTD:5,5:\"ZSTD\",LZ4_RAW:6,6:\"LZ4_RAW\",LZO:7,7:\"LZO\"}),v9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_columnchunkmetadata_free(e>>>0)),SP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,v9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,v9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_columnchunkmetadata_free(t)}filePath(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_filePath(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}fileOffset(){return zt.columnchunkmetadata_fileOffset(this.__wbg_ptr)}columnPath(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_columnPath(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}encodings(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_encodings(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numValues(){return zt.columnchunkmetadata_numValues(this.__wbg_ptr)}compression(){return zt.columnchunkmetadata_compression(this.__wbg_ptr)}compressedSize(){return zt.columnchunkmetadata_compressedSize(this.__wbg_ptr)}uncompressedSize(){return zt.columnchunkmetadata_uncompressedSize(this.__wbg_ptr)}},L8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowarray_free(e>>>0));var x9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowschema_free(e>>>0)),TP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,x9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,x9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffiarrowschema_free(t)}addr(){return zt.ffiarrowschema_addr(this.__wbg_ptr)>>>0}},k8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffidata_free(e>>>0));var b9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffirecordbatch_free(e>>>0)),MP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,b9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,b9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffirecordbatch_free(t)}arrayAddr(){return zt.ffirecordbatch_arrayAddr(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffirecordbatch_schemaAddr(this.__wbg_ptr)>>>0}},w9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffitable_free(e>>>0)),EP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,w9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,w9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffitable_free(t)}numBatches(){return zt.ffitable_numBatches(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffitable_schemaAddr(this.__wbg_ptr)>>>0}arrayAddr(t){return zt.ffitable_arrayAddr(this.__wbg_ptr,t)>>>0}arrayAddrs(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.ffitable_arrayAddrs(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=kut(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}drop(){let t=this.__destroy_into_raw();zt.ffitable_drop(t)}},R8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffivector_free(e>>>0));var S9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_filemetadata_free(e>>>0)),HD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,S9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,S9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_filemetadata_free(t)}version(){return zt.filemetadata_version(this.__wbg_ptr)}numRows(){return zt.filemetadata_numRows(this.__wbg_ptr)}createdBy(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_createdBy(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}keyValueMetadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_keyValueMetadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},D8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingbytesource_free(e>>>0));var O8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsink_free(e>>>0));var T9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsource_free(e>>>0)),qD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,T9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,T9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_intounderlyingsource_free(t)}pull(t){let r=zt.intounderlyingsource_pull(this.__wbg_ptr,qe(t));return nn(r)}cancel(){let t=this.__destroy_into_raw();zt.intounderlyingsource_cancel(t)}},M9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetfile_free(e>>>0)),ZD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,M9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,M9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetfile_free(t)}static fromUrl(t,r){let i=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),s=hc,n=zt.parquetfile_fromUrl(i,s,uc(r)?0:qe(r));return nn(n)}static fromFile(t){let r=zt.parquetfile_fromFile(qe(t));return nn(r)}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetfile_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return YD.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}read(t){let r=zt.parquetfile_read(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}stream(t){let r=zt.parquetfile_stream(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}},E9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetmetadata_free(e>>>0)),YD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,E9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,E9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetmetadata_free(t)}fileMetadata(){let t=zt.parquetmetadata_fileMetadata(this.__wbg_ptr);return HD.__wrap(t)}numRowGroups(){return zt.parquetmetadata_numRowGroups(this.__wbg_ptr)>>>0}rowGroup(t){let r=zt.parquetmetadata_rowGroup(this.__wbg_ptr,t);return PP.__wrap(r)}rowGroups(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetmetadata_rowGroups(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},P9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_recordbatch_free(e>>>0)),QD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,P9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,P9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_recordbatch_free(t)}get numRows(){return zt.recordbatch_numRows(this.__wbg_ptr)>>>0}get numColumns(){return zt.recordbatch_numColumns(this.__wbg_ptr)>>>0}get schema(){let t=zt.recordbatch_schema(this.__wbg_ptr);return Sw.__wrap(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withSchema(t){try{let o=zt.__wbindgen_add_to_stack_pointer(-16);Lut(t,Sw);var r=t.__destroy_into_raw();zt.recordbatch_withSchema(o,this.__wbg_ptr,r);var i=Ue()[o/4+0],s=Ue()[o/4+1],n=Ue()[o/4+2];if(n)throw nn(s);return e.__wrap(i)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}slice(t,r){let i=zt.recordbatch_slice(this.__wbg_ptr,t,r);return e.__wrap(i)}getArrayMemorySize(){return zt.recordbatch_getArrayMemorySize(this.__wbg_ptr)>>>0}},I9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_rowgroupmetadata_free(e>>>0)),PP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,I9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,I9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_rowgroupmetadata_free(t)}numColumns(){return zt.rowgroupmetadata_numColumns(this.__wbg_ptr)>>>0}column(t){let r=zt.rowgroupmetadata_column(this.__wbg_ptr,t);return SP.__wrap(r)}columns(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.rowgroupmetadata_columns(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numRows(){return zt.rowgroupmetadata_numRows(this.__wbg_ptr)}totalByteSize(){return zt.rowgroupmetadata_totalByteSize(this.__wbg_ptr)}compressedSize(){return zt.rowgroupmetadata_compressedSize(this.__wbg_ptr)}},C9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_schema_free(e>>>0)),Sw=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,C9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,C9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_schema_free(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withMetadata(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_withMetadata(n,this.__wbg_ptr,qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}indexOf(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),c=hc;zt.schema_indexOf(n,this.__wbg_ptr,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return r>>>0}finally{zt.__wbindgen_add_to_stack_pointer(16)}}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},L9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_table_free(e>>>0)),IP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,L9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,L9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_table_free(t)}get schema(){let t=zt.table_schema(this.__wbg_ptr);return Sw.__wrap(t)}get numBatches(){return zt.table_numBatches(this.__wbg_ptr)>>>0}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}static fromIPCStream(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(t,zt.__wbindgen_malloc),c=hc;zt.table_fromIPCStream(n,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}getArrayMemorySize(){return zt.table_getArrayMemorySize(this.__wbg_ptr)>>>0}},B8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmgetoptions_free(e>>>0));var k9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectmeta_free(e>>>0)),$D=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,k9.register(r,r.__wbg_ptr,r),r}toJSON(){return{location:this.location,last_modified:this.last_modified,size:this.size,e_tag:this.e_tag,version:this.version}}toString(){return JSON.stringify(this)}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,k9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_wasmobjectmeta_free(t)}get location(){let t,r;try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_location(n,this.__wbg_ptr);var i=Ue()[n/4+0],s=Ue()[n/4+1];return t=i,r=s,tu(i,s)}finally{zt.__wbindgen_add_to_stack_pointer(16),zt.__wbindgen_free(t,r,1)}}set location(t){let r=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_location(this.__wbg_ptr,r,i)}get last_modified(){let t=zt.__wbg_get_wasmobjectmeta_last_modified(this.__wbg_ptr);return nn(t)}set last_modified(t){zt.__wbg_set_wasmobjectmeta_last_modified(this.__wbg_ptr,qe(t))}get size(){return zt.__wbg_get_wasmobjectmeta_size(this.__wbg_ptr)>>>0}set size(t){zt.__wbg_set_wasmobjectmeta_size(this.__wbg_ptr,t)}get e_tag(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_e_tag(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set e_tag(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_e_tag(this.__wbg_ptr,r,i)}get version(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_version(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set version(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_version(this.__wbg_ptr,r,i)}},F8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectstore_free(e>>>0));var z8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerproperties_free(e>>>0));var N8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerpropertiesbuilder_free(e>>>0));async function Dut(e,t){if(typeof Response==\"function\"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==\"function\")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get(\"Content-Type\")!=\"application/wasm\")console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",i);else throw i}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function Out(){let e={};return e.wbg={},e.wbg.__wbindgen_number_new=function(t){return qe(t)},e.wbg.__wbg_columnchunkmetadata_new=function(t){let r=SP.__wrap(t);return qe(r)},e.wbg.__wbg_rowgroupmetadata_new=function(t){let r=PP.__wrap(t);return qe(r)},e.wbg.__wbg_parquetfile_new=function(t){let r=ZD.__wrap(t);return qe(r)},e.wbg.__wbindgen_object_drop_ref=function(t){nn(t)},e.wbg.__wbindgen_object_clone_ref=function(t){let r=xe(t);return qe(r)},e.wbg.__wbindgen_error_new=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbindgen_is_undefined=function(t){return xe(t)===void 0},e.wbg.__wbindgen_in=function(t,r){return xe(t)in xe(r)},e.wbg.__wbindgen_is_bigint=function(t){return typeof xe(t)==\"bigint\"},e.wbg.__wbindgen_bigint_from_u64=function(t){let r=BigInt.asUintN(64,t);return qe(r)},e.wbg.__wbindgen_jsval_eq=function(t,r){return xe(t)===xe(r)},e.wbg.__wbindgen_is_object=function(t){let r=xe(t);return typeof r==\"object\"&&r!==null},e.wbg.__wbindgen_string_new=function(t,r){let i=tu(t,r);return qe(i)},e.wbg.__wbindgen_number_get=function(t,r){let i=xe(r),s=typeof i==\"number\"?i:void 0;Mut()[t/8+1]=uc(s)?0:s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbg_fetch_1db5b0ae726d68b5=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_wasmobjectmeta_new=function(t){let r=$D.__wrap(t);return qe(r)},e.wbg.__wbindgen_string_get=function(t,r){let i=xe(r),s=typeof i==\"string\"?i:void 0;var n=uc(s)?0:fp(s,zt.__wbindgen_malloc,zt.__wbindgen_realloc),o=hc;Ue()[t/4+1]=o,Ue()[t/4+0]=n},e.wbg.__wbg_fetch_bc7c8e27076a5c84=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_done_2ffa852272310e47=function(t){return xe(t).done},e.wbg.__wbg_value_9f6eeb1e2aab8d96=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_newwithintounderlyingsource_a03a82aa1bbbb292=function(t,r){let i=new ReadableStream(qD.__wrap(t),nn(r));return qe(i)},e.wbg.__wbg_getReader_ab94afcb5cb7689a=function(){return Ds(function(t){let r=xe(t).getReader();return qe(r)},arguments)},e.wbg.__wbg_sethighWaterMark_ea50ed3ec2143088=function(t,r){xe(t).highWaterMark=r},e.wbg.__wbg_recordbatch_new=function(t){let r=QD.__wrap(t);return qe(r)},e.wbg.__wbg_table_new=function(t){let r=IP.__wrap(t);return qe(r)},e.wbg.__wbindgen_jsval_loose_eq=function(t,r){return xe(t)==xe(r)},e.wbg.__wbindgen_boolean_get=function(t){let r=xe(t);return typeof r==\"boolean\"?r?1:0:2},e.wbg.__wbindgen_as_number=function(t){return+xe(t)},e.wbg.__wbg_String_b9412f8799faab3e=function(t,r){let i=String(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=function(t,r){let i=xe(t)[xe(r)];return qe(i)},e.wbg.__wbg_set_f975102236d3c502=function(t,r,i){xe(t)[nn(r)]=nn(i)},e.wbg.__wbindgen_cb_drop=function(t){let r=nn(t).original;return r.cnt--==1?(r.a=0,!0):!1},e.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=function(t){queueMicrotask(xe(t))},e.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=function(t){let r=xe(t).queueMicrotask;return qe(r)},e.wbg.__wbindgen_is_function=function(t){return typeof xe(t)==\"function\"},e.wbg.__wbg_fetch_921fad6ef9e883dd=function(t,r){let i=xe(t).fetch(xe(r));return qe(i)},e.wbg.__wbg_new_ab6fd82b10560829=function(){return Ds(function(){let t=new Headers;return qe(t)},arguments)},e.wbg.__wbg_append_7bfcb4937d1d5e29=function(){return Ds(function(t,r,i,s,n){xe(t).append(tu(r,i),tu(s,n))},arguments)},e.wbg.__wbg_close_a994f9425dab445c=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_enqueue_ea194723156c0cc2=function(){return Ds(function(t,r){xe(t).enqueue(xe(r))},arguments)},e.wbg.__wbg_size_9c7e57fbd4f0f4b5=function(t){return xe(t).size},e.wbg.__wbg_arrayBuffer_307ddd1bd1d04e23=function(t){let r=xe(t).arrayBuffer();return qe(r)},e.wbg.__wbg_slice_1991e6e71a6587f3=function(){return Ds(function(t,r,i){let s=xe(t).slice(r,i);return qe(s)},arguments)},e.wbg.__wbg_read_e7d0f8a49be01d86=function(t){let r=xe(t).read();return qe(r)},e.wbg.__wbg_releaseLock_5c49db976c08b864=function(t){xe(t).releaseLock()},e.wbg.__wbg_cancel_6ee33d4006737aef=function(t){let r=xe(t).cancel();return qe(r)},e.wbg.__wbg_byobRequest_72fca99f9c32c193=function(t){let r=xe(t).byobRequest;return uc(r)?0:qe(r)},e.wbg.__wbg_close_184931724d961ccc=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_instanceof_Response_849eb93e75734b6e=function(t){let r;try{r=xe(t)instanceof Response}catch{r=!1}return r},e.wbg.__wbg_url_5f6dc4009ac5f99d=function(t,r){let i=xe(r).url,s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_status_61a01141acd3cf74=function(t){return xe(t).status},e.wbg.__wbg_headers_9620bfada380764a=function(t){let r=xe(t).headers;return qe(r)},e.wbg.__wbg_body_9545a94f397829db=function(t){let r=xe(t).body;return uc(r)?0:qe(r)},e.wbg.__wbg_arrayBuffer_29931d52c7206b02=function(){return Ds(function(t){let r=xe(t).arrayBuffer();return qe(r)},arguments)},e.wbg.__wbg_signal_a61f78a3478fd9bc=function(t){let r=xe(t).signal;return qe(r)},e.wbg.__wbg_new_0d76b0581eca6298=function(){return Ds(function(){let t=new AbortController;return qe(t)},arguments)},e.wbg.__wbg_abort_2aa7521d5690750e=function(t){xe(t).abort()},e.wbg.__wbg_view_7f0ce470793a340f=function(t){let r=xe(t).view;return uc(r)?0:qe(r)},e.wbg.__wbg_respond_b1a43b2e3a06d525=function(){return Ds(function(t,r){xe(t).respond(r>>>0)},arguments)},e.wbg.__wbg_newwithstrandinit_3fd6fba4083ff2d0=function(){return Ds(function(t,r,i){let s=new Request(tu(t,r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_get_bd8e338fbd5f5cc8=function(t,r){let i=xe(t)[r>>>0];return qe(i)},e.wbg.__wbg_length_cd7af8117672b8b8=function(t){return xe(t).length},e.wbg.__wbg_newnoargs_e258087cd0daa0ea=function(t,r){let i=new Function(tu(t,r));return qe(i)},e.wbg.__wbg_new_d9bc3a0147634640=function(){return qe(new Map)},e.wbg.__wbg_next_40fc327bfc8770e6=function(t){let r=xe(t).next;return qe(r)},e.wbg.__wbg_next_196c84450b364254=function(){return Ds(function(t){let r=xe(t).next();return qe(r)},arguments)},e.wbg.__wbg_done_298b57d23c0fc80c=function(t){return xe(t).done},e.wbg.__wbg_value_d93c65011f51a456=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_iterator_2cee6dadfd956dfa=function(){return qe(Symbol.iterator)},e.wbg.__wbg_get_e3c254076557e348=function(){return Ds(function(t,r){let i=Reflect.get(xe(t),xe(r));return qe(i)},arguments)},e.wbg.__wbg_call_27c0f87801dedf93=function(){return Ds(function(t,r){let i=xe(t).call(xe(r));return qe(i)},arguments)},e.wbg.__wbg_new_72fb9a18b5ae2624=function(){let t=new Object;return qe(t)},e.wbg.__wbindgen_is_string=function(t){return typeof xe(t)==\"string\"},e.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return Ds(function(){let t=self.self;return qe(t)},arguments)},e.wbg.__wbg_window_c6fb939a7f436783=function(){return Ds(function(){let t=window.window;return qe(t)},arguments)},e.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return Ds(function(){let t=globalThis.globalThis;return qe(t)},arguments)},e.wbg.__wbg_global_207b558942527489=function(){return Ds(function(){let t=global.global;return qe(t)},arguments)},e.wbg.__wbg_isArray_2ab64d95e09ea0ae=function(t){return Array.isArray(xe(t))},e.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=function(t){let r;try{r=xe(t)instanceof ArrayBuffer}catch{r=!1}return r},e.wbg.__wbg_new_28c511d9baebfa89=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return Ds(function(t,r,i){let s=xe(t).call(xe(r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_set_8417257aaedc936b=function(t,r,i){let s=xe(t).set(xe(r),xe(i));return qe(s)},e.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=function(t){return Number.isSafeInteger(xe(t))},e.wbg.__wbg_new_cf3ec55744a78578=function(t){let r=new Date(xe(t));return qe(r)},e.wbg.__wbg_entries_95cc2c823b285a09=function(t){let r=Object.entries(xe(t));return qe(r)},e.wbg.__wbg_new_81740750da40724f=function(t,r){try{var i={a:t,b:r},s=(o,c)=>{let f=i.a;i.a=0;try{return Rut(f,i.b,o,c)}finally{i.a=f}};let n=new Promise(s);return qe(n)}finally{i.a=i.b=0}},e.wbg.__wbg_resolve_b0083a7967828ec8=function(t){let r=Promise.resolve(xe(t));return qe(r)},e.wbg.__wbg_catch_0260e338d10f79ae=function(t,r){let i=xe(t).catch(xe(r));return qe(i)},e.wbg.__wbg_then_0c86a60e8fcfe9f6=function(t,r){let i=xe(t).then(xe(r));return qe(i)},e.wbg.__wbg_then_a73caa9a87991566=function(t,r,i){let s=xe(t).then(xe(r),xe(i));return qe(s)},e.wbg.__wbg_buffer_12d079cc21e14bdb=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb=function(t,r,i){let s=new Uint8Array(xe(t),r>>>0,i>>>0);return qe(s)},e.wbg.__wbg_new_63b92bc8671ed464=function(t){let r=new Uint8Array(xe(t));return qe(r)},e.wbg.__wbg_set_a47bac70306a19a7=function(t,r,i){xe(t).set(xe(r),i>>>0)},e.wbg.__wbg_length_c20a40f15020d68a=function(t){return xe(t).length},e.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=function(t){let r;try{r=xe(t)instanceof Uint8Array}catch{r=!1}return r},e.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(t){let r=new Uint8Array(t>>>0);return qe(r)},e.wbg.__wbg_newwithbyteoffset_27c6424791adc775=function(t,r){let i=new Uint8Array(xe(t),r>>>0);return qe(i)},e.wbg.__wbg_buffer_dd7f74bc60f1faab=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_byteLength_58f7b4fab1919d44=function(t){return xe(t).byteLength},e.wbg.__wbg_byteOffset_81d60f7392524f62=function(t){return xe(t).byteOffset},e.wbg.__wbg_stringify_8887fe74e1c50d81=function(){return Ds(function(t){let r=JSON.stringify(xe(t));return qe(r)},arguments)},e.wbg.__wbg_has_0af94d20077affa2=function(){return Ds(function(t,r){return Reflect.has(xe(t),xe(r))},arguments)},e.wbg.__wbg_set_1f9b04f170055d33=function(){return Ds(function(t,r,i){return Reflect.set(xe(t),xe(r),xe(i))},arguments)},e.wbg.__wbindgen_bigint_get_as_i64=function(t,r){let i=xe(r),s=typeof i==\"bigint\"?i:void 0;Put()[t/8+1]=uc(s)?BigInt(0):s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbindgen_debug_string=function(t,r){let i=WD(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbindgen_throw=function(t,r){throw new Error(tu(t,r))},e.wbg.__wbindgen_memory=function(){let t=zt.memory;return qe(t)},e.wbg.__wbindgen_function_table=function(){let t=zt.__wbindgen_export_2;return qe(t)},e.wbg.__wbindgen_closure_wrapper13295=function(t,r,i){let s=Iut(t,r,3248,Cut);return qe(s)},e}function But(e,t){return zt=e.exports,F9.__wbindgen_wasm_module=t,xw=null,yw=null,vw=null,bw=null,_w=null,zt}async function F9(e){if(zt!==void 0)return zt;typeof e>\"u\"&&(e=new URL(\"parquet_wasm_bg.wasm\",import.meta.url));let t=Out();(typeof e==\"string\"||typeof Request==\"function\"&&e instanceof Request||typeof URL==\"function\"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await Dut(await e,t);return But(r,i)}var z9=F9;function U9(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var s=0,i=Object.getOwnPropertySymbols(e);s=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ii(e){return this instanceof ii?(this.v=e,this):new ii(e)}function eu(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i=r.apply(e,t||[]),s,n=[];return s={},o(\"next\"),o(\"throw\"),o(\"return\"),s[Symbol.asyncIterator]=function(){return this},s;function o(R){i[R]&&(s[R]=function(N){return new Promise(function(j,Q){n.push([R,N,j,Q])>1||c(R,N)})})}function c(R,N){try{f(i[R](N))}catch(j){I(n[0][3],j)}}function f(R){R.value instanceof ii?Promise.resolve(R.value.v).then(_,w):I(n[0][2],R)}function _(R){c(\"next\",R)}function w(R){c(\"throw\",R)}function I(R,N){R(N),n.shift(),n.length&&c(n[0][0],n[0][1])}}function lv(e){var t,r;return t={},i(\"next\"),i(\"throw\",function(s){throw s}),i(\"return\"),t[Symbol.iterator]=function(){return this},t;function i(s,n){t[s]=e[s]?function(o){return(r=!r)?{value:ii(e[s](o)),done:!1}:n?n(o):o}:n}}function Zh(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof N9==\"function\"?N9(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}}var iO={};mA(iO,{compareArrayLike:()=>rO,joinUint8Arrays:()=>iu,memcpy:()=>Ew,rebaseValueOffsets:()=>FP,toArrayBufferView:()=>Ai,toArrayBufferViewAsyncIterator:()=>Qh,toArrayBufferViewIterator:()=>td,toBigInt64Array:()=>BP,toBigUint64Array:()=>Hut,toFloat32Array:()=>qut,toFloat32ArrayAsyncIterator:()=>lht,toFloat32ArrayIterator:()=>tht,toFloat64Array:()=>Zut,toFloat64ArrayAsyncIterator:()=>cht,toFloat64ArrayIterator:()=>eht,toInt16Array:()=>jut,toInt16ArrayAsyncIterator:()=>nht,toInt16ArrayIterator:()=>$ut,toInt32Array:()=>yg,toInt32ArrayAsyncIterator:()=>sht,toInt32ArrayIterator:()=>Xut,toInt8Array:()=>Vut,toInt8ArrayAsyncIterator:()=>iht,toInt8ArrayIterator:()=>Qut,toUint16Array:()=>Gut,toUint16ArrayAsyncIterator:()=>oht,toUint16ArrayIterator:()=>Kut,toUint32Array:()=>Wut,toUint32ArrayAsyncIterator:()=>aht,toUint32ArrayIterator:()=>Jut,toUint8Array:()=>Rr,toUint8ArrayAsyncIterator:()=>eO,toUint8ArrayIterator:()=>tO,toUint8ClampedArray:()=>Yut,toUint8ClampedArrayAsyncIterator:()=>uht,toUint8ClampedArrayIterator:()=>rht});var Fut=new TextDecoder(\"utf-8\"),Tw=e=>Fut.decode(e),zut=new TextEncoder,Jf=e=>zut.encode(e);var Nut=e=>typeof e==\"number\",V9=e=>typeof e==\"boolean\",Oo=e=>typeof e==\"function\",Cl=e=>e!=null&&Object(e)===e,ru=e=>Cl(e)&&Oo(e.then);var Yh=e=>Cl(e)&&Oo(e[Symbol.iterator]),Nu=e=>Cl(e)&&Oo(e[Symbol.asyncIterator]),CP=e=>Cl(e)&&Cl(e.schema);var LP=e=>Cl(e)&&\"done\"in e&&\"value\"in e;var kP=e=>Cl(e)&&Oo(e.stat)&&Nut(e.fd);var RP=e=>Cl(e)&&Mw(e.body),DP=e=>\"_getDOMStream\"in e&&\"_getNodeStream\"in e,j9=e=>Cl(e)&&Oo(e.abort)&&Oo(e.getWriter)&&!DP(e),Mw=e=>Cl(e)&&Oo(e.cancel)&&Oo(e.getReader)&&!DP(e),G9=e=>Cl(e)&&Oo(e.end)&&Oo(e.write)&&V9(e.writable)&&!DP(e),OP=e=>Cl(e)&&Oo(e.read)&&Oo(e.pipe)&&V9(e.readable)&&!DP(e),W9=e=>Cl(e)&&Oo(e.clear)&&Oo(e.bytes)&&Oo(e.position)&&Oo(e.setPosition)&&Oo(e.capacity)&&Oo(e.getBufferIdentifier)&&Oo(e.createLong);var JD=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:ArrayBuffer;function Uut(e){let t=e[0]?[e[0]]:[],r,i,s,n;for(let o,c,f=0,_=0,w=e.length;++fw+I.byteLength,0),s,n,o,c=0,f=-1,_=Math.min(t||Number.POSITIVE_INFINITY,i);for(let w=r.length;++fAi(Int8Array,e),jut=e=>Ai(Int16Array,e),yg=e=>Ai(Int32Array,e),BP=e=>Ai(BigInt64Array,e),Rr=e=>Ai(Uint8Array,e),Gut=e=>Ai(Uint16Array,e),Wut=e=>Ai(Uint32Array,e),Hut=e=>Ai(BigUint64Array,e),qut=e=>Ai(Float32Array,e),Zut=e=>Ai(Float64Array,e),Yut=e=>Ai(Uint8ClampedArray,e),KD=e=>(e.next(),e);function*td(e,t){let r=function*(s){yield s},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?r(t):Yh(t)?t:r(t);return yield*KD(function*(s){let n=null;do n=s.next(yield Ai(e,n));while(!n.done)}(i[Symbol.iterator]())),new e}var Qut=e=>td(Int8Array,e),$ut=e=>td(Int16Array,e),Xut=e=>td(Int32Array,e),tO=e=>td(Uint8Array,e),Kut=e=>td(Uint16Array,e),Jut=e=>td(Uint32Array,e),tht=e=>td(Float32Array,e),eht=e=>td(Float64Array,e),rht=e=>td(Uint8ClampedArray,e);function Qh(e,t){return eu(this,arguments,function*(){if(ru(t))return yield ii(yield ii(yield*lv(Zh(Qh(e,yield ii(t))))));let i=function(o){return eu(this,arguments,function*(){yield yield ii(yield ii(o))})},s=function(o){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(KD(function*(c){let f=null;do f=c.next(yield f?.value);while(!f.done)}(o[Symbol.iterator]())))))})},n=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?i(t):Yh(t)?s(t):Nu(t)?t:i(t);return yield ii(yield*lv(Zh(KD(function(o){return eu(this,arguments,function*(){let c=null;do c=yield ii(o.next(yield yield ii(Ai(e,c))));while(!c.done)})}(n[Symbol.asyncIterator]()))))),yield ii(new e)})}var iht=e=>Qh(Int8Array,e),nht=e=>Qh(Int16Array,e),sht=e=>Qh(Int32Array,e),eO=e=>Qh(Uint8Array,e),oht=e=>Qh(Uint16Array,e),aht=e=>Qh(Uint32Array,e),lht=e=>Qh(Float32Array,e),cht=e=>Qh(Float64Array,e),uht=e=>Qh(Uint8ClampedArray,e);function FP(e,t,r){if(e!==0){r=r.slice(0,t);for(let i=-1,s=r.length;++i0)do if(e[r]!==t[r])return!1;while(++r(e.next(),e);function*hht(e){let t,r=!1,i=[],s,n,o,c=0;function f(){return n===\"peek\"?iu(i,o)[0]:([s,i,c]=iu(i,o),s)}({cmd:n,size:o}=(yield null)||{cmd:\"read\",size:0});let _=tO(e)[Symbol.iterator]();try{do if({done:t,value:s}=Number.isNaN(o-c)?_.next():_.next(o-c),!t&&s.byteLength>0&&(i.push(s),c+=s.byteLength),t||o<=c)do({cmd:n,size:o}=yield f());while(o0&&(s.push(n),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c0&&(s.push(Rr(n)),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return ar(this,void 0,void 0,function*(){let{reader:r,source:i}=this;r&&(yield r.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return ar(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let r=yield this.reader.read();return!r.done&&(r.value=Rr(r)),r})}},nO=(e,t)=>{let r=s=>i([t,s]),i;return[t,r,new Promise(s=>(i=s)&&e.once(t,r))]};function pht(e){return eu(this,arguments,function*(){let r=[],i=\"error\",s=!1,n=null,o,c,f=0,_=[],w;function I(){return o===\"peek\"?iu(_,c)[0]:([w,_,f]=iu(_,c),w)}if({cmd:o,size:c}=(yield yield ii(null))||{cmd:\"read\",size:0},e.isTTY)return yield yield ii(new Uint8Array(0)),yield ii(null);try{r[0]=nO(e,\"end\"),r[1]=nO(e,\"error\");do{if(r[2]=nO(e,\"readable\"),[i,n]=yield ii(Promise.race(r.map(N=>N[2]))),i===\"error\")break;if((s=i===\"end\")||(Number.isFinite(c-f)?(w=Rr(e.read(c-f)),w.byteLength0&&(_.push(w),f+=w.byteLength)),s||c<=f)do({cmd:o,size:c}=yield yield ii(I()));while(c{for(let[Y,K]of N)e.off(Y,K);try{let Y=e.destroy;Y&&Y.call(e,j),j=void 0}catch(Y){j=Y||j}finally{j!=null?et(j):Q()}})}})}var sn;(function(e){e[e.V1=0]=\"V1\",e[e.V2=1]=\"V2\",e[e.V3=2]=\"V3\",e[e.V4=3]=\"V4\",e[e.V5=4]=\"V5\"})(sn||(sn={}));var Pn;(function(e){e[e.Sparse=0]=\"Sparse\",e[e.Dense=1]=\"Dense\"})(Pn||(Pn={}));var $i;(function(e){e[e.HALF=0]=\"HALF\",e[e.SINGLE=1]=\"SINGLE\",e[e.DOUBLE=2]=\"DOUBLE\"})($i||($i={}));var Os;(function(e){e[e.DAY=0]=\"DAY\",e[e.MILLISECOND=1]=\"MILLISECOND\"})(Os||(Os={}));var Ar;(function(e){e[e.SECOND=0]=\"SECOND\",e[e.MILLISECOND=1]=\"MILLISECOND\",e[e.MICROSECOND=2]=\"MICROSECOND\",e[e.NANOSECOND=3]=\"NANOSECOND\"})(Ar||(Ar={}));var Bo;(function(e){e[e.YEAR_MONTH=0]=\"YEAR_MONTH\",e[e.DAY_TIME=1]=\"DAY_TIME\",e[e.MONTH_DAY_NANO=2]=\"MONTH_DAY_NANO\"})(Bo||(Bo={}));var ed=new Int32Array(2),NP=new Float32Array(ed.buffer),UP=new Float64Array(ed.buffer),cv=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Pw;(function(e){e[e.UTF8_BYTES=1]=\"UTF8_BYTES\",e[e.UTF16_STRING=2]=\"UTF16_STRING\"})(Pw||(Pw={}));var nu=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8}writeInt32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeUint32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeInt64(t,r){this.writeInt32(t,Number(BigInt.asIntN(32,r))),this.writeInt32(t+4,Number(BigInt.asIntN(32,r>>BigInt(32))))}writeUint64(t,r){this.writeUint32(t,Number(BigInt.asUintN(32,r))),this.writeUint32(t+4,Number(BigInt.asUintN(32,r>>BigInt(32))))}writeFloat32(t,r){NP[0]=r,this.writeInt32(t,ed[0])}writeFloat64(t,r){UP[0]=r,this.writeInt32(t,ed[cv?0:1]),this.writeInt32(t+4,ed[cv?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+r)+1&t-1;for(;this.space=0&&this.vtable[r]==0;r--);let i=r+1;for(;r>=0;r--)this.addInt16(this.vtable[r]!=0?t-this.vtable[r]:0);let s=2;this.addInt16(t-this.object_start);let n=(i+s)*2;this.addInt16(n);let o=0,c=this.space;t:for(r=0;r=0;o--)this.writeInt8(n.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(t),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,r){this.finish(t,r,!0)}requiredField(t,r){let i=this.bb.capacity()-t,s=i-this.bb.readInt32(i);if(!(r=0;i--)t.addInt32(r[i]);return t.endVector()}static startTypeIdsVector(t,r){t.startVector(4,r,4)}static endUnion(t){return t.endObject()}static createUnion(t,r,i){return e.startUnion(t),e.addMode(t,r),e.addTypeIds(t,i),e.endUnion(t)}};var Nw=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsUtf8(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var In;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.FloatingPoint=3]=\"FloatingPoint\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct_=13]=\"Struct_\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.LargeList=21]=\"LargeList\",e[e.RunEndEncoded=22]=\"RunEndEncoded\"})(In||(In={}));var nl=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsField(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):In.NONE}type(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(t,this.bb_pos+r):null}dictionary(t){let r=this.bb.__offset(this.bb_pos,12);return r?(t||new rd).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}children(t,r){let i=this.bb.__offset(this.bb_pos,14);return i?(r||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,16);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,r){t.addFieldOffset(0,r,0)}static addNullable(t,r){t.addFieldInt8(1,+r,0)}static addTypeType(t,r){t.addFieldInt8(2,r,In.NONE)}static addType(t,r){t.addFieldOffset(3,r,0)}static addDictionary(t,r){t.addFieldOffset(4,r,0)}static addChildren(t,r){t.addFieldOffset(5,r,0)}static createChildrenVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startChildrenVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(6,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endField(t){return t.endObject()}};var fc=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSchema(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):im.Little}fields(t,r){let i=this.bb.__offset(this.bb_pos,6);return i?(r||new nl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,r){t.addFieldInt16(0,r,im.Little)}static addFields(t,r){t.addFieldOffset(1,r,0)}static createFieldsVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startFieldsVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(2,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static addFeatures(t,r){t.addFieldOffset(3,r,0)}static createFeaturesVector(t,r){t.startVector(8,r.length,8);for(let i=r.length-1;i>=0;i--)t.addInt64(r[i]);return t.endVector()}static startFeaturesVector(t,r){t.startVector(8,r,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,r){t.finish(r)}static finishSizePrefixedSchemaBuffer(t,r){t.finish(r,void 0,!0)}static createSchema(t,r,i,s,n){return e.startSchema(t),e.addEndianness(t,r),e.addFields(t,i),e.addCustomMetadata(t,s),e.addFeatures(t,n),e.endSchema(t)}};var wi;(function(e){e[e.NONE=0]=\"NONE\",e[e.Schema=1]=\"Schema\",e[e.DictionaryBatch=2]=\"DictionaryBatch\",e[e.RecordBatch=3]=\"RecordBatch\",e[e.Tensor=4]=\"Tensor\",e[e.SparseTensor=5]=\"SparseTensor\"})(wi||(wi={}));var Ot;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\",e[e.DurationSecond=-27]=\"DurationSecond\",e[e.DurationMillisecond=-28]=\"DurationMillisecond\",e[e.DurationMicrosecond=-29]=\"DurationMicrosecond\",e[e.DurationNanosecond=-30]=\"DurationNanosecond\"})(Ot||(Ot={}));var Oi;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(Oi||(Oi={}));var TO={};mA(TO,{clampRange:()=>Kw,createElementComparator:()=>pm,wrapIndex:()=>xg});var oO={};mA(oO,{valueToString:()=>Jh});function Jh(e){if(e===null)return\"null\";if(e===void 0)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Jh(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,r)=>typeof r==\"bigint\"?`${r}`:r)}var uO={};mA(uO,{BN:()=>Vw,bigNumToBigInt:()=>q9,bigNumToNumber:()=>cO,bigNumToString:()=>pv,isArrowBigNumSymbol:()=>H9});function Wi(e){if(typeof e==\"bigint\"&&(eNumber.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function aO(e,t){return Wi(e/t)+Wi(e%t)/Wi(t)}var H9=Symbol.for(\"isArrowBigNum\");function tf(e,...t){return t.length===0?Object.setPrototypeOf(Ai(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}tf.prototype[H9]=!0;tf.prototype.toJSON=function(){return`\"${pv(this)}\"`};tf.prototype.valueOf=function(e){return cO(this,e)};tf.prototype.toString=function(){return pv(this)};tf.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return cO(this);case\"string\":return pv(this);case\"default\":return q9(this)}return pv(this)};function fv(...e){return tf.apply(this,e)}function dv(...e){return tf.apply(this,e)}function Uw(...e){return tf.apply(this,e)}Object.setPrototypeOf(fv.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(dv.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Uw.prototype,Object.create(Uint32Array.prototype));Object.assign(fv.prototype,tf.prototype,{constructor:fv,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(dv.prototype,tf.prototype,{constructor:dv,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Uw.prototype,tf.prototype,{constructor:Uw,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Aht=BigInt(4294967296)*BigInt(4294967296),mht=Aht-BigInt(1);function cO(e,t){let{buffer:r,byteOffset:i,byteLength:s,signed:n}=e,o=new BigUint64Array(r,i,s/8),c=n&&o.at(-1)&BigInt(1)<=0)return lO(e);t=t.slice();let i=1;for(let n=0;n(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=\"DataType\"))(ze.prototype);var ea=class extends ze{constructor(){super(Ot.Null)}toString(){return\"Null\"}};Y9=Symbol.toStringTag;ea[Y9]=(e=>e[Symbol.toStringTag]=\"Null\")(ea.prototype);var Bs=class extends ze{constructor(t,r){super(Ot.Int),this.isSigned=t,this.bitWidth=r}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}};Q9=Symbol.toStringTag;Bs[Q9]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(Bs.prototype);var jw=class extends Bs{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},Gw=class extends Bs{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},ef=class extends Bs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},Ww=class extends Bs{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},Hw=class extends Bs{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},qw=class extends Bs{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Zw=class extends Bs{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Yw=class extends Bs{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(jw.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(Gw.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(ef.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(Ww.prototype,\"ArrayType\",{value:BigInt64Array});Object.defineProperty(Hw.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(Zw.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(Yw.prototype,\"ArrayType\",{value:BigUint64Array});var ra=class extends ze{constructor(t){super(Ot.Float),this.precision=t}get ArrayType(){switch(this.precision){case $i.HALF:return Uint16Array;case $i.SINGLE:return Float32Array;case $i.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};$9=Symbol.toStringTag;ra[$9]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(ra.prototype);var Qw=class extends ra{constructor(){super($i.HALF)}},$w=class extends ra{constructor(){super($i.SINGLE)}},Av=class extends ra{constructor(){super($i.DOUBLE)}};Object.defineProperty(Qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty($w.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(Av.prototype,\"ArrayType\",{value:Float64Array});var Vu=class extends ze{constructor(){super(Ot.Binary)}toString(){return\"Binary\"}};X9=Symbol.toStringTag;Vu[X9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Vu.prototype);var nd=class extends ze{constructor(){super(Ot.LargeBinary)}toString(){return\"LargeBinary\"}};K9=Symbol.toStringTag;nd[K9]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeBinary\"))(nd.prototype);var ju=class extends ze{constructor(){super(Ot.Utf8)}toString(){return\"Utf8\"}};J9=Symbol.toStringTag;ju[J9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ju.prototype);var sd=class extends ze{constructor(){super(Ot.LargeUtf8)}toString(){return\"LargeUtf8\"}};tW=Symbol.toStringTag;sd[tW]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeUtf8\"))(sd.prototype);var dc=class extends ze{constructor(){super(Ot.Bool)}toString(){return\"Bool\"}};eW=Symbol.toStringTag;dc[eW]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(dc.prototype);var Gu=class extends ze{constructor(t,r,i=128){super(Ot.Decimal),this.scale=t,this.precision=r,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}};rW=Symbol.toStringTag;Gu[rW]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(Gu.prototype);var Wu=class extends ze{constructor(t){super(Ot.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Os[this.unit]}>`}get ArrayType(){return this.unit===Os.DAY?Int32Array:BigInt64Array}};iW=Symbol.toStringTag;Wu[iW]=(e=>(e.unit=null,e[Symbol.toStringTag]=\"Date\"))(Wu.prototype);var Hu=class extends ze{constructor(t,r){super(Ot.Time),this.unit=t,this.bitWidth=r}toString(){return`Time${this.bitWidth}<${Ar[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};nW=Symbol.toStringTag;Hu[nW]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Time\"))(Hu.prototype);var qu=class extends ze{constructor(t,r){super(Ot.Timestamp),this.unit=t,this.timezone=r}toString(){return`Timestamp<${Ar[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}};sW=Symbol.toStringTag;qu[sW]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Timestamp\"))(qu.prototype);var Zu=class extends ze{constructor(t){super(Ot.Interval),this.unit=t}toString(){return`Interval<${Bo[this.unit]}>`}};oW=Symbol.toStringTag;Zu[oW]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(Zu.prototype);var Yu=class extends ze{constructor(t){super(Ot.Duration),this.unit=t}toString(){return`Duration<${Ar[this.unit]}>`}};aW=Symbol.toStringTag;Yu[aW]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Duration\"))(Yu.prototype);var sl=class extends ze{constructor(t){super(Ot.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};lW=Symbol.toStringTag;sl[lW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(sl.prototype);var pn=class extends ze{constructor(t){super(Ot.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};cW=Symbol.toStringTag;pn[cW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(pn.prototype);var pc=class extends ze{constructor(t,r,i){super(Ot.Union),this.mode=t,this.children=i,this.typeIds=r=Int32Array.from(r),this.typeIdToChildIndex=r.reduce((s,n,o)=>(s[n]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}};uW=Symbol.toStringTag;pc[uW]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(pc.prototype);var Qu=class extends ze{constructor(t){super(Ot.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};hW=Symbol.toStringTag;Qu[hW]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(Qu.prototype);var Ll=class extends ze{constructor(t,r){super(Ot.FixedSizeList),this.listSize=t,this.children=[r]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};fW=Symbol.toStringTag;Ll[fW]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Ll.prototype);var Ac=class extends ze{constructor(t,r=!1){var i,s,n;if(super(Ot.Map),this.children=[t],this.keysSorted=r,t&&(t.name=\"entries\",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(s=t?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name=\"key\");let c=(n=t?.type)===null||n===void 0?void 0:n.children[1];c&&(c.name=\"value\")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};dW=Symbol.toStringTag;Ac[dW]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Ac.prototype);var ght=(e=>()=>++e)(-1),mc=class extends ze{constructor(t,r,i,s){super(Ot.Dictionary),this.indices=r,this.dictionary=t,this.isOrdered=s||!1,this.id=i==null?ght():Wi(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};pW=Symbol.toStringTag;mc[pW]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(mc.prototype);function ou(e){let t=e;switch(e.typeId){case Ot.Decimal:return e.bitWidth/32;case Ot.Interval:return 1+t.unit;case Ot.FixedSizeList:return t.listSize;case Ot.FixedSizeBinary:return t.byteWidth;default:return 1}}var Er=class{visitMany(t,...r){return t.map((i,s)=>this.visit(i,...r.map(n=>n[s])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,r=!0){return _ht(this,t,r)}getVisitFnByTypeId(t,r=!0){return mv(this,t,r)}visitNull(t,...r){return null}visitBool(t,...r){return null}visitInt(t,...r){return null}visitFloat(t,...r){return null}visitUtf8(t,...r){return null}visitLargeUtf8(t,...r){return null}visitBinary(t,...r){return null}visitLargeBinary(t,...r){return null}visitFixedSizeBinary(t,...r){return null}visitDate(t,...r){return null}visitTimestamp(t,...r){return null}visitTime(t,...r){return null}visitDecimal(t,...r){return null}visitList(t,...r){return null}visitStruct(t,...r){return null}visitUnion(t,...r){return null}visitDictionary(t,...r){return null}visitInterval(t,...r){return null}visitDuration(t,...r){return null}visitFixedSizeList(t,...r){return null}visitMap(t,...r){return null}};function _ht(e,t,r=!0){return typeof t==\"number\"?mv(e,t,r):typeof t==\"string\"&&t in Ot?mv(e,Ot[t],r):t&&t instanceof ze?mv(e,AW(t),r):t?.type&&t.type instanceof ze?mv(e,AW(t.type),r):mv(e,Ot.NONE,r)}function mv(e,t,r=!0){let i=null;switch(t){case Ot.Null:i=e.visitNull;break;case Ot.Bool:i=e.visitBool;break;case Ot.Int:i=e.visitInt;break;case Ot.Int8:i=e.visitInt8||e.visitInt;break;case Ot.Int16:i=e.visitInt16||e.visitInt;break;case Ot.Int32:i=e.visitInt32||e.visitInt;break;case Ot.Int64:i=e.visitInt64||e.visitInt;break;case Ot.Uint8:i=e.visitUint8||e.visitInt;break;case Ot.Uint16:i=e.visitUint16||e.visitInt;break;case Ot.Uint32:i=e.visitUint32||e.visitInt;break;case Ot.Uint64:i=e.visitUint64||e.visitInt;break;case Ot.Float:i=e.visitFloat;break;case Ot.Float16:i=e.visitFloat16||e.visitFloat;break;case Ot.Float32:i=e.visitFloat32||e.visitFloat;break;case Ot.Float64:i=e.visitFloat64||e.visitFloat;break;case Ot.Utf8:i=e.visitUtf8;break;case Ot.LargeUtf8:i=e.visitLargeUtf8;break;case Ot.Binary:i=e.visitBinary;break;case Ot.LargeBinary:i=e.visitLargeBinary;break;case Ot.FixedSizeBinary:i=e.visitFixedSizeBinary;break;case Ot.Date:i=e.visitDate;break;case Ot.DateDay:i=e.visitDateDay||e.visitDate;break;case Ot.DateMillisecond:i=e.visitDateMillisecond||e.visitDate;break;case Ot.Timestamp:i=e.visitTimestamp;break;case Ot.TimestampSecond:i=e.visitTimestampSecond||e.visitTimestamp;break;case Ot.TimestampMillisecond:i=e.visitTimestampMillisecond||e.visitTimestamp;break;case Ot.TimestampMicrosecond:i=e.visitTimestampMicrosecond||e.visitTimestamp;break;case Ot.TimestampNanosecond:i=e.visitTimestampNanosecond||e.visitTimestamp;break;case Ot.Time:i=e.visitTime;break;case Ot.TimeSecond:i=e.visitTimeSecond||e.visitTime;break;case Ot.TimeMillisecond:i=e.visitTimeMillisecond||e.visitTime;break;case Ot.TimeMicrosecond:i=e.visitTimeMicrosecond||e.visitTime;break;case Ot.TimeNanosecond:i=e.visitTimeNanosecond||e.visitTime;break;case Ot.Decimal:i=e.visitDecimal;break;case Ot.List:i=e.visitList;break;case Ot.Struct:i=e.visitStruct;break;case Ot.Union:i=e.visitUnion;break;case Ot.DenseUnion:i=e.visitDenseUnion||e.visitUnion;break;case Ot.SparseUnion:i=e.visitSparseUnion||e.visitUnion;break;case Ot.Dictionary:i=e.visitDictionary;break;case Ot.Interval:i=e.visitInterval;break;case Ot.IntervalDayTime:i=e.visitIntervalDayTime||e.visitInterval;break;case Ot.IntervalYearMonth:i=e.visitIntervalYearMonth||e.visitInterval;break;case Ot.Duration:i=e.visitDuration;break;case Ot.DurationSecond:i=e.visitDurationSecond||e.visitDuration;break;case Ot.DurationMillisecond:i=e.visitDurationMillisecond||e.visitDuration;break;case Ot.DurationMicrosecond:i=e.visitDurationMicrosecond||e.visitDuration;break;case Ot.DurationNanosecond:i=e.visitDurationNanosecond||e.visitDuration;break;case Ot.FixedSizeList:i=e.visitFixedSizeList;break;case Ot.Map:i=e.visitMap;break}if(typeof i==\"function\")return i;if(!r)return()=>null;throw new Error(`Unrecognized type '${Ot[t]}'`)}function AW(e){switch(e.typeId){case Ot.Null:return Ot.Null;case Ot.Int:{let{bitWidth:t,isSigned:r}=e;switch(t){case 8:return r?Ot.Int8:Ot.Uint8;case 16:return r?Ot.Int16:Ot.Uint16;case 32:return r?Ot.Int32:Ot.Uint32;case 64:return r?Ot.Int64:Ot.Uint64}return Ot.Int}case Ot.Float:switch(e.precision){case $i.HALF:return Ot.Float16;case $i.SINGLE:return Ot.Float32;case $i.DOUBLE:return Ot.Float64}return Ot.Float;case Ot.Binary:return Ot.Binary;case Ot.LargeBinary:return Ot.LargeBinary;case Ot.Utf8:return Ot.Utf8;case Ot.LargeUtf8:return Ot.LargeUtf8;case Ot.Bool:return Ot.Bool;case Ot.Decimal:return Ot.Decimal;case Ot.Time:switch(e.unit){case Ar.SECOND:return Ot.TimeSecond;case Ar.MILLISECOND:return Ot.TimeMillisecond;case Ar.MICROSECOND:return Ot.TimeMicrosecond;case Ar.NANOSECOND:return Ot.TimeNanosecond}return Ot.Time;case Ot.Timestamp:switch(e.unit){case Ar.SECOND:return Ot.TimestampSecond;case Ar.MILLISECOND:return Ot.TimestampMillisecond;case Ar.MICROSECOND:return Ot.TimestampMicrosecond;case Ar.NANOSECOND:return Ot.TimestampNanosecond}return Ot.Timestamp;case Ot.Date:switch(e.unit){case Os.DAY:return Ot.DateDay;case Os.MILLISECOND:return Ot.DateMillisecond}return Ot.Date;case Ot.Interval:switch(e.unit){case Bo.DAY_TIME:return Ot.IntervalDayTime;case Bo.YEAR_MONTH:return Ot.IntervalYearMonth}return Ot.Interval;case Ot.Duration:switch(e.unit){case Ar.SECOND:return Ot.DurationSecond;case Ar.MILLISECOND:return Ot.DurationMillisecond;case Ar.MICROSECOND:return Ot.DurationMicrosecond;case Ar.NANOSECOND:return Ot.DurationNanosecond}return Ot.Duration;case Ot.Map:return Ot.Map;case Ot.List:return Ot.List;case Ot.Struct:return Ot.Struct;case Ot.Union:switch(e.mode){case Pn.Dense:return Ot.DenseUnion;case Pn.Sparse:return Ot.SparseUnion}return Ot.Union;case Ot.FixedSizeBinary:return Ot.FixedSizeBinary;case Ot.FixedSizeList:return Ot.FixedSizeList;case Ot.Dictionary:return Ot.Dictionary}throw new Error(`Unrecognized type '${Ot[e.typeId]}'`)}Er.prototype.visitInt8=null;Er.prototype.visitInt16=null;Er.prototype.visitInt32=null;Er.prototype.visitInt64=null;Er.prototype.visitUint8=null;Er.prototype.visitUint16=null;Er.prototype.visitUint32=null;Er.prototype.visitUint64=null;Er.prototype.visitFloat16=null;Er.prototype.visitFloat32=null;Er.prototype.visitFloat64=null;Er.prototype.visitDateDay=null;Er.prototype.visitDateMillisecond=null;Er.prototype.visitTimestampSecond=null;Er.prototype.visitTimestampMillisecond=null;Er.prototype.visitTimestampMicrosecond=null;Er.prototype.visitTimestampNanosecond=null;Er.prototype.visitTimeSecond=null;Er.prototype.visitTimeMillisecond=null;Er.prototype.visitTimeMicrosecond=null;Er.prototype.visitTimeNanosecond=null;Er.prototype.visitDenseUnion=null;Er.prototype.visitSparseUnion=null;Er.prototype.visitIntervalDayTime=null;Er.prototype.visitIntervalYearMonth=null;Er.prototype.visitDuration=null;Er.prototype.visitDurationSecond=null;Er.prototype.visitDurationMillisecond=null;Er.prototype.visitDurationMicrosecond=null;Er.prototype.visitDurationNanosecond=null;var hO={};mA(hO,{float64ToUint16:()=>Xw,uint16ToFloat64:()=>GP});var mW=new Float64Array(1),gv=new Uint32Array(mW.buffer);function GP(e){let t=(e&31744)>>10,r=(e&1023)/1024,i=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return i*(r?Number.NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*Math.pow(2,t-15)*(1+r)}function Xw(e){if(e!==e)return 32256;mW[0]=e;let t=(gv[1]&2147483648)>>16&65535,r=gv[1]&2146435072,i=0;return r>=1089470464?gv[0]>0?r=31744:(r=(r&2080374784)>>16,i=(gv[1]&1048575)>>10):r<=1056964608?(i=1048576+(gv[1]&1048575),i=1048576+(i<<(r>>20)-998)>>21,r=0):(r=r-1056964608>>10,i=(gv[1]&1048575)+512>>10),t|r|i&65535}var kr=class extends Er{};function Wr(e){return(t,r,i)=>{if(t.setValid(r,i!=null))return e(t,r,i)}}var yht=(e,t,r)=>{e[t]=Math.floor(r/864e5)},gW=(e,t,r,i)=>{if(r+1{let s=e+r;i?t[s>>3]|=1<>3]&=~(1<{e[t]=r},fO=({values:e},t,r)=>{e[t]=r},_W=({values:e},t,r)=>{e[t]=Xw(r)},xht=(e,t,r)=>{switch(e.type.precision){case $i.HALF:return _W(e,t,r);case $i.SINGLE:case $i.DOUBLE:return fO(e,t,r)}},WP=({values:e},t,r)=>{yht(e,t,r.valueOf())},HP=({values:e},t,r)=>{e[t]=BigInt(r)},dO=({stride:e,values:t},r,i)=>{t.set(i.subarray(0,e),e*r)},yW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,i),vW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,Jf(i)),pO=(e,t,r)=>{e.type.unit===Os.DAY?WP(e,t,r):HP(e,t,r)},qP=({values:e},t,r)=>{e[t]=BigInt(r/1e3)},ZP=({values:e},t,r)=>{e[t]=BigInt(r)},YP=({values:e},t,r)=>{e[t]=BigInt(r*1e3)},QP=({values:e},t,r)=>{e[t]=BigInt(r*1e6)},AO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return qP(e,t,r);case Ar.MILLISECOND:return ZP(e,t,r);case Ar.MICROSECOND:return YP(e,t,r);case Ar.NANOSECOND:return QP(e,t,r)}},$P=({values:e},t,r)=>{e[t]=r},XP=({values:e},t,r)=>{e[t]=r},KP=({values:e},t,r)=>{e[t]=r},JP=({values:e},t,r)=>{e[t]=r},mO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return $P(e,t,r);case Ar.MILLISECOND:return XP(e,t,r);case Ar.MICROSECOND:return KP(e,t,r);case Ar.NANOSECOND:return JP(e,t,r)}},gO=({values:e,stride:t},r,i)=>{e.set(i.subarray(0,t),t*r)},bht=(e,t,r)=>{let i=e.children[0],s=e.valueOffsets,n=ba.getVisitFn(i);if(Array.isArray(r))for(let o=-1,c=s[t],f=s[t+1];c{let i=e.children[0],{valueOffsets:s}=e,n=ba.getVisitFn(i),{[t]:o,[t+1]:c}=s,f=r instanceof Map?r.entries():Object.entries(r);for(let _ of f)if(n(i,o,_),++o>=c)break},Sht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[n]),Tht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(n)),Mht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(s.name)),Eht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[s.name]),Pht=(e,t,r)=>{let i=e.type.children.map(n=>ba.getVisitFn(n.type)),s=r instanceof Map?Mht(t,r):r instanceof xr?Tht(t,r):Array.isArray(r)?Sht(t,r):Eht(t,r);e.type.children.forEach((n,o)=>s(i[o],e.children[o],n,o))},Iht=(e,t,r)=>{e.type.mode===Pn.Dense?xW(e,t,r):bW(e,t,r)},xW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,e.valueOffsets[t],r)},bW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,t,r)},Cht=(e,t,r)=>{var i;(i=e.dictionary)===null||i===void 0||i.set(e.values[t],r)},_O=(e,t,r)=>{e.type.unit===Bo.DAY_TIME?t3(e,t,r):e3(e,t,r)},t3=({values:e},t,r)=>{e.set(r.subarray(0,2),2*t)},e3=({values:e},t,r)=>{e[t]=r[0]*12+r[1]%12},r3=({values:e},t,r)=>{e[t]=r},i3=({values:e},t,r)=>{e[t]=r},n3=({values:e},t,r)=>{e[t]=r},s3=({values:e},t,r)=>{e[t]=r},yO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return r3(e,t,r);case Ar.MILLISECOND:return i3(e,t,r);case Ar.MICROSECOND:return n3(e,t,r);case Ar.NANOSECOND:return s3(e,t,r)}},Lht=(e,t,r)=>{let{stride:i}=e,s=e.children[0],n=ba.getVisitFn(s);if(Array.isArray(r))for(let o=-1,c=t*i;++o`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}[Symbol.iterator](){return new vO(this[rf],this[_v])}},vO=class{constructor(t,r){this.childIndex=0,this.children=t.children,this.rowIndex=r,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return tr.name)}has(t,r){return t[rf].type.children.findIndex(i=>i.name===r)!==-1}getOwnPropertyDescriptor(t,r){if(t[rf].type.children.findIndex(i=>i.name===r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[rf].type.children.findIndex(s=>s.name===r);if(i!==-1){let s=go.visit(t[rf].children[i],t[_v]);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[rf].type.children.findIndex(n=>n.name===r);return s!==-1?(ba.visit(t[rf].children[s],t[_v],i),Reflect.set(t,r,i)):Reflect.has(t,r)||typeof r==\"symbol\"?Reflect.set(t,r,i):!1}};var Pr=class extends Er{};function zr(e){return(t,r)=>t.getValid(r)?e(t,r):null}var kht=(e,t)=>864e5*e[t],Rht=(e,t)=>null,wW=(e,t,r)=>{if(r+1>=t.length)return null;let i=Wi(t[r]),s=Wi(t[r+1]);return e.subarray(i,s)},Dht=({offset:e,values:t},r)=>{let i=e+r;return(t[i>>3]&1<kht(e,t),TW=({values:e},t)=>Wi(e[t]),fm=({stride:e,values:t},r)=>t[e*r],Oht=({stride:e,values:t},r)=>GP(t[e*r]),MW=({values:e},t)=>e[t],Bht=({stride:e,values:t},r)=>t.subarray(e*r,e*(r+1)),EW=({values:e,valueOffsets:t},r)=>wW(e,t,r),PW=({values:e,valueOffsets:t},r)=>{let i=wW(e,t,r);return i!==null?Tw(i):null},Fht=({values:e},t)=>e[t],zht=({type:e,values:t},r)=>e.precision!==$i.HALF?t[r]:GP(t[r]),Nht=(e,t)=>e.type.unit===Os.DAY?SW(e,t):TW(e,t),IW=({values:e},t)=>1e3*Wi(e[t]),CW=({values:e},t)=>Wi(e[t]),LW=({values:e},t)=>aO(e[t],BigInt(1e3)),kW=({values:e},t)=>aO(e[t],BigInt(1e6)),Uht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return IW(e,t);case Ar.MILLISECOND:return CW(e,t);case Ar.MICROSECOND:return LW(e,t);case Ar.NANOSECOND:return kW(e,t)}},RW=({values:e},t)=>e[t],DW=({values:e},t)=>e[t],OW=({values:e},t)=>e[t],BW=({values:e},t)=>e[t],Vht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return RW(e,t);case Ar.MILLISECOND:return DW(e,t);case Ar.MICROSECOND:return OW(e,t);case Ar.NANOSECOND:return BW(e,t)}},jht=({values:e,stride:t},r)=>Vw.decimal(e.subarray(t*r,t*(r+1))),Ght=(e,t)=>{let{valueOffsets:r,stride:i,children:s}=e,{[t*i]:n,[t*i+1]:o}=r,f=s[0].slice(n,o-n);return new xr([f])},Wht=(e,t)=>{let{valueOffsets:r,children:i}=e,{[t]:s,[t+1]:n}=r,o=i[0];return new od(o.slice(s,n-s))},Hht=(e,t)=>new hm(e,t),qht=(e,t)=>e.type.mode===Pn.Dense?FW(e,t):zW(e,t),FW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,e.valueOffsets[t])},zW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,t)},Zht=(e,t)=>{var r;return(r=e.dictionary)===null||r===void 0?void 0:r.get(e.values[t])},Yht=(e,t)=>e.type.unit===Bo.DAY_TIME?NW(e,t):UW(e,t),NW=({values:e},t)=>e.subarray(2*t,2*(t+1)),UW=({values:e},t)=>{let r=e[t],i=new Int32Array(2);return i[0]=Math.trunc(r/12),i[1]=Math.trunc(r%12),i},VW=({values:e},t)=>e[t],jW=({values:e},t)=>e[t],GW=({values:e},t)=>e[t],WW=({values:e},t)=>e[t],Qht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return VW(e,t);case Ar.MILLISECOND:return jW(e,t);case Ar.MICROSECOND:return GW(e,t);case Ar.NANOSECOND:return WW(e,t)}},$ht=(e,t)=>{let{stride:r,children:i}=e,n=i[0].slice(t*r,r);return new xr([n])};Pr.prototype.visitNull=zr(Rht);Pr.prototype.visitBool=zr(Dht);Pr.prototype.visitInt=zr(Fht);Pr.prototype.visitInt8=zr(fm);Pr.prototype.visitInt16=zr(fm);Pr.prototype.visitInt32=zr(fm);Pr.prototype.visitInt64=zr(MW);Pr.prototype.visitUint8=zr(fm);Pr.prototype.visitUint16=zr(fm);Pr.prototype.visitUint32=zr(fm);Pr.prototype.visitUint64=zr(MW);Pr.prototype.visitFloat=zr(zht);Pr.prototype.visitFloat16=zr(Oht);Pr.prototype.visitFloat32=zr(fm);Pr.prototype.visitFloat64=zr(fm);Pr.prototype.visitUtf8=zr(PW);Pr.prototype.visitLargeUtf8=zr(PW);Pr.prototype.visitBinary=zr(EW);Pr.prototype.visitLargeBinary=zr(EW);Pr.prototype.visitFixedSizeBinary=zr(Bht);Pr.prototype.visitDate=zr(Nht);Pr.prototype.visitDateDay=zr(SW);Pr.prototype.visitDateMillisecond=zr(TW);Pr.prototype.visitTimestamp=zr(Uht);Pr.prototype.visitTimestampSecond=zr(IW);Pr.prototype.visitTimestampMillisecond=zr(CW);Pr.prototype.visitTimestampMicrosecond=zr(LW);Pr.prototype.visitTimestampNanosecond=zr(kW);Pr.prototype.visitTime=zr(Vht);Pr.prototype.visitTimeSecond=zr(RW);Pr.prototype.visitTimeMillisecond=zr(DW);Pr.prototype.visitTimeMicrosecond=zr(OW);Pr.prototype.visitTimeNanosecond=zr(BW);Pr.prototype.visitDecimal=zr(jht);Pr.prototype.visitList=zr(Ght);Pr.prototype.visitStruct=zr(Hht);Pr.prototype.visitUnion=zr(qht);Pr.prototype.visitDenseUnion=zr(FW);Pr.prototype.visitSparseUnion=zr(zW);Pr.prototype.visitDictionary=zr(Zht);Pr.prototype.visitInterval=zr(Yht);Pr.prototype.visitIntervalDayTime=zr(NW);Pr.prototype.visitIntervalYearMonth=zr(UW);Pr.prototype.visitDuration=zr(Qht);Pr.prototype.visitDurationSecond=zr(VW);Pr.prototype.visitDurationMillisecond=zr(jW);Pr.prototype.visitDurationMicrosecond=zr(GW);Pr.prototype.visitDurationNanosecond=zr(WW);Pr.prototype.visitFixedSizeList=zr($ht);Pr.prototype.visitMap=zr(Wht);var go=new Pr;var dm=Symbol.for(\"keys\"),vv=Symbol.for(\"vals\"),yv=Symbol.for(\"kKeysAsStrings\"),bO=Symbol.for(\"_kKeysAsStrings\"),od=class{constructor(t){return this[dm]=new xr([t.children[0]]).memoize(),this[vv]=t.children[1],new Proxy(this,new SO)}get[yv](){return this[bO]||(this[bO]=Array.from(this[dm].toArray(),String))}[Symbol.iterator](){return new wO(this[dm],this[vv])}get size(){return this[dm].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[dm],r=this[vv],i={};for(let s=-1,n=t.length;++s`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}},wO=class{constructor(t,r){this.keys=t,this.vals=r,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),go.visit(this.vals,t)]})}},SO=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[yv]}has(t,r){return t[yv].includes(r)}getOwnPropertyDescriptor(t,r){if(t[yv].indexOf(r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[yv].indexOf(r);if(i!==-1){let s=go.visit(Reflect.get(t,vv),i);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[yv].indexOf(r);return s!==-1?(ba.visit(Reflect.get(t,vv),s,i),Reflect.set(t,r,i)):Reflect.has(t,r)?Reflect.set(t,r,i):!1}};Object.defineProperties(od.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:\"Row\"},[dm]:{writable:!0,enumerable:!1,configurable:!1,value:null},[vv]:{writable:!0,enumerable:!1,configurable:!1,value:null},[bO]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var HW;function Kw(e,t,r,i){let{length:s=0}=e,n=typeof t!=\"number\"?0:t,o=typeof r!=\"number\"?s:r;return n<0&&(n=(n%s+s)%s),o<0&&(o=(o%s+s)%s),os&&(o=s),i?i(e,n,o):[n,o]}var xg=(e,t)=>e<0?t+e:e,qW=e=>e!==e;function pm(e){if(typeof e!==\"object\"||e===null)return qW(e)?qW:r=>r===e;if(e instanceof Date){let r=e.valueOf();return i=>i instanceof Date?i.valueOf()===r:!1}return ArrayBuffer.isView(e)?r=>r?rO(e,r):!1:e instanceof Map?Kht(e):Array.isArray(e)?Xht(e):e instanceof xr?Jht(e):tft(e,!0)}function Xht(e){let t=[];for(let r=-1,i=e.length;++r!1;let i=[];for(let s=-1,n=r.length;++s{if(!r||typeof r!=\"object\")return!1;switch(r.constructor){case Array:return eft(e,r);case Map:return ZW(e,r,r.keys());case od:case hm:case Object:case void 0:return ZW(e,r,t||Object.keys(r))}return r instanceof xr?rft(e,r):!1}}function eft(e,t){let r=e.length;if(t.length!==r)return!1;for(let i=-1;++ibg,getBit:()=>YW,getBool:()=>l3,packBools:()=>Sg,popcnt_array:()=>QW,popcnt_bit_range:()=>Jw,popcnt_uint32:()=>a3,setBool:()=>ift,truncateBitmap:()=>wg});function l3(e,t,r,i){return(r&1<>i}function ift(e,t,r){return r?!!(e[t>>3]|=1<>3]&=~(1<0||r.byteLength>3):Sg(new bg(r,e,t,null,l3)).subarray(0,i)),s}return r}function Sg(e){let t=[],r=0,i=0,s=0;for(let o of e)o&&(s|=1<0)&&(t[r++]=s);let n=new Uint8Array(t.length+7&-8);return n.set(t),n}var bg=class{constructor(t,r,i,s,n){this.bytes=t,this.length=i,this.context=s,this.get=n,this.bit=r%8,this.byteIndex=r>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index>3<<3,s=t+(t%8===0?0:8-t%8);return Jw(e,t,s)+Jw(e,i,r)+QW(e,s>>3,i-s>>3)}function QW(e,t,r){let i=0,s=Math.trunc(t),n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=r===void 0?e.byteLength:s+r;for(;o-s>=4;)i+=a3(n.getUint32(s)),s+=4;for(;o-s>=2;)i+=a3(n.getUint16(s)),s+=2;for(;o-s>=1;)i+=a3(n.getUint8(s)),s+=1;return i}function a3(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var nft=-1,Fi=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return ze.isSparseUnion(t)?this.children.some(r=>r.nullable):ze.isDenseUnion(t)?this.children.some(r=>r.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:r,values:i,nullBitmap:s,typeIds:n}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),this.children.reduce((o,c)=>o+c.byteLength,t)}get nullCount(){if(ze.isUnion(this.type))return this.children.reduce((i,s)=>i+s.nullCount,0);let t=this._nullCount,r;return t<=nft&&(r=this.nullBitmap)&&(this._nullCount=t=r.length===0?0:this.length-Jw(r,this.offset,this.offset+this.length)),t}constructor(t,r,i,s,n,o=[],c){this.type=t,this.children=o,this.dictionary=c,this.offset=Math.floor(Math.max(r||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let f;n instanceof e?(this.stride=n.stride,this.values=n.values,this.typeIds=n.typeIds,this.nullBitmap=n.nullBitmap,this.valueOffsets=n.valueOffsets):(this.stride=ou(t),n&&((f=n[0])&&(this.valueOffsets=f),(f=n[1])&&(this.values=f),(f=n[2])&&(this.nullBitmap=f),(f=n[3])&&(this.typeIds=f)))}getValid(t){let{type:r}=this;if(ze.isUnion(r)){let i=r,s=this.children[i.typeIdToChildIndex[this.typeIds[t]]],n=i.mode===Pn.Dense?this.valueOffsets[t]:t;return s.getValid(n)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<>3;(!n||n.byteLength<=w)&&(n=new Uint8Array((o+c+63&-64)>>3).fill(255),this.nullCount>0?(n.set(wg(o,c,this.nullBitmap),0),Object.assign(this,{nullBitmap:n})):Object.assign(this,{nullBitmap:n,_nullCount:0}));let I=n[w];i=(I&_)!==0,n[w]=r?I|_:I&~_}return i!==!!r&&(this._nullCount=this.nullCount+(r?-1:1)),r}clone(t=this.type,r=this.offset,i=this.length,s=this._nullCount,n=this,o=this.children){return new e(t,r,i,s,n,o,this.dictionary)}slice(t,r){let{stride:i,typeId:s,children:n}=this,o=+(this._nullCount===0)-1,c=s===16?i:1,f=this._sliceBuffers(t,r,i,s);return this.clone(this.type,this.offset+t,r,o,f,n.length===0||this.valueOffsets?n:this._sliceChildren(n,c*t,c*r))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Ot.Null)return this.clone(this.type,0,t,0);let{length:r,nullCount:i}=this,s=new Uint8Array((t+63&-64)>>3).fill(255,0,r>>3);s[r>>3]=(1<0&&s.set(wg(this.offset,r,this.nullBitmap),0);let n=this.buffers;return n[Oi.VALIDITY]=s,this.clone(this.type,0,t,i+(t-r),n)}_sliceBuffers(t,r,i,s){let n,{buffers:o}=this;return(n=o[Oi.TYPE])&&(o[Oi.TYPE]=n.subarray(t,t+r)),(n=o[Oi.OFFSET])&&(o[Oi.OFFSET]=n.subarray(t,t+r+1))||(n=o[Oi.DATA])&&(o[Oi.DATA]=s===6?n:n.subarray(i*t,i*(t+r))),o}_sliceChildren(t,r,i){return t.map(s=>s.slice(r,i))}};Fi.prototype.children=Object.freeze([]);var EO=class e extends Er{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"length\"]:s=0}=t;return new Fi(r,i,s,s)}visitBool(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length>>3,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitInt(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFloat(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitFixedSizeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDate(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTimestamp(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTime(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDecimal(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}visitStruct(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Rr(t.nullBitmap),{length:o=s.reduce((f,{length:_})=>Math.max(f,_),0),nullCount:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],s)}visitUnion(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Ai(r.ArrayType,t.typeIds),{[\"length\"]:o=n.length,[\"nullCount\"]:c=-1}=t;if(ze.isSparseUnion(r))return new Fi(r,i,o,c,[void 0,void 0,void 0,n],s);let f=yg(t.valueOffsets);return new Fi(r,i,o,c,[f,void 0,void 0,n],s)}visitDictionary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.indices.ArrayType,t.data),{[\"dictionary\"]:o=new xr([new e().visit({type:r.dictionary})])}=t,{[\"length\"]:c=n.length,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[void 0,n,s],[],o)}visitInterval(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDuration(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFixedSizeList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.valueType})}=t,n=Rr(t.nullBitmap),{[\"length\"]:o=s.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],[s])}visitMap(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.childType})}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}},sft=new EO;function yr(e){return sft.visit(e)}var t2=class{constructor(t=0,r){this.numChunks=t,this.getChunkIterator=r,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndext.nullable)}function c3(e){return e.reduce((t,r)=>t+r.nullCount,0)}function u3(e){return e.reduce((t,r,i)=>(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function h3(e,t,r,i){let s=[];for(let n=-1,o=e.length;++n=i)break;if(r>=f+_)continue;if(f>=r&&f+_<=i){s.push(c);continue}let w=Math.max(0,r-f),I=Math.min(i-f,_);s.push(c.slice(w,I-w))}return s.length===0&&s.push(e[0].slice(0,0)),s}function PO(e,t,r,i){let s=0,n=0,o=t.length-1;do{if(s>=o-1)return r0?0:-1}function aft(e,t){let{nullBitmap:r}=e;if(!r||e.nullCount<=0)return-1;let i=0;for(let s of new bg(r,e.offset+(t||0),e.length,r,l3)){if(!s)return i;++i}return-1}function Qr(e,t,r){if(t===void 0)return-1;if(t===null)switch(e.typeId){case Ot.Union:break;case Ot.Dictionary:break;default:return aft(e,r)}let i=go.getVisitFn(e),s=pm(t);for(let n=(r||0)-1,o=e.length;++n{let s=e.data[i];return s.values.subarray(0,s.length)[Symbol.iterator]()});let r=0;return new t2(e.data.length,i=>{let n=e.data[i].length,o=e.slice(r,r+n);return r+=n,new IO(o)})}var IO=class{constructor(t){this.vector=t,this.index=0}next(){return this.indexc.data):t;if(n.length===0||n.some(c=>!(c instanceof Fi)))throw new TypeError(\"Vector constructor expects an Array of Data instances.\");let o=(r=n[0])===null||r===void 0?void 0:r.type;switch(n.length){case 0:this._offsets=[0];break;case 1:{let{get:c,set:f,indexOf:_}=JW[o.typeId],w=n[0];this.isValid=I=>e2(w,I),this.get=I=>c(w,I),this.set=(I,R)=>f(w,I,R),this.indexOf=I=>_(w,I),this._offsets=[0,w.length];break}default:Object.setPrototypeOf(this,tH[o.typeId]),this._offsets=u3(n);break}this.data=n,this.type=o,this.stride=ou(o),this.numChildren=(s=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,r)=>t+r.byteLength,0)}get nullable(){return $W(this.data)}get nullCount(){return c3(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${Ot[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.length))}set(t,r){}indexOf(t,r){return-1}includes(t,r){return this.indexOf(t,r)>-1}[Symbol.iterator](){return bv.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(r=>r.data).flat(Number.POSITIVE_INFINITY)))}slice(t,r){return new e(Kw(this,t,r,({data:i,_offsets:s},n,o)=>h3(i,s,n,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:r,length:i,stride:s,ArrayType:n}=this;switch(t.typeId){case Ot.Int:case Ot.Float:case Ot.Decimal:case Ot.Time:case Ot.Timestamp:switch(r.length){case 0:return new n;case 1:return r[0].values.subarray(0,i*s);default:return r.reduce((o,{values:c,length:f})=>(o.array.set(c.subarray(0,f*s),o.offset),o.offset+=f*s,o),{array:new n(i*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(\",\")}]`}getChild(t){var r;return this.getChildAt((r=this.type.children)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&tr[t])):null}get isMemoized(){return ze.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(ze.isDictionary(this.type)){let t=new p3(this.data[0].dictionary),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return new p3(this)}unmemoize(){if(ze.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return this}};KW=Symbol.toStringTag;xr[KW]=(e=>{e.type=ze.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(Ot).map(r=>Ot[r]).filter(r=>typeof r==\"number\"&&r!==Ot.NONE);for(let r of t){let i=go.getVisitFnByTypeId(r),s=ba.getVisitFnByTypeId(r),n=Tg.getVisitFnByTypeId(r);JW[r]={get:i,set:s,indexOf:n},tH[r]=Object.create(e,{isValid:{value:xv(e2)},get:{value:xv(go.getVisitFnByTypeId(r))},set:{value:f3(ba.getVisitFnByTypeId(r))},indexOf:{value:d3(Tg.getVisitFnByTypeId(r))}})}return\"Vector\"})(xr.prototype);var p3=class e extends xr{constructor(t){super(t.data);let r=this.get,i=this.set,s=this.slice,n=new Array(this.length);Object.defineProperty(this,\"get\",{value(o){let c=n[o];if(c!==void 0)return c;let f=r.call(this,o);return n[o]=f,f}}),Object.defineProperty(this,\"set\",{value(o,c){i.call(this,o,c),n[o]=c}}),Object.defineProperty(this,\"slice\",{value:(o,c)=>new e(s.call(this,o,c))}),Object.defineProperty(this,\"isMemoized\",{value:!0}),Object.defineProperty(this,\"unmemoize\",{value:()=>new xr(this.data)}),Object.defineProperty(this,\"memoize\",{value:()=>this})}};function eH(e){if(!e||e.length<=0)return function(s){return!0};let t=\"\",r=e.filter(i=>i===i);return r.length>0&&(t=`\n switch (x) {${r.map(i=>`\n case ${lft(i)}:`).join(\"\")}\n return false;\n }`),e.length!==r.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function lft(e){return typeof e!=\"bigint\"?Jh(e):`${Jh(e)}n`}function CO(e,t){let r=Math.ceil(e)*t-1;return(r-r%64+64||64)/t}function rH(e,t=0){return e.length>=t?e.subarray(0,t):Ew(new e.constructor(t),e,0)}var nf=class{constructor(t,r=0,i=1){this.length=Math.ceil(r/i),this.buffer=new t(this.length),this.stride=i,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,r){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let r=this.stride,i=this.length*r,s=this.buffer.length;i>=s&&this._resize(s===0?CO(i*1,this.BYTES_PER_ELEMENT):CO(i*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=CO(t*this.stride,this.BYTES_PER_ELEMENT);let r=rH(this.buffer,t);return this.clear(),r}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=rH(this.buffer,t)}},gp=class extends nf{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,r){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=r,this}},wv=class extends gp{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,r){let{buffer:i}=this.reserve(t-this.length+1),s=t>>3,n=t%8,o=i[s]>>n&1;return r?o===0&&(i[s]|=1<=0&&s.fill(s[i],i,t),s[t]=s[t-1]+r,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var Xn=class{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}constructor({type:t,nullValues:r}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=r,this.stride=ou(t),this._nulls=new wv,r&&r.length>0&&(this._isValid=eH(r))}toVector(){return new xr([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:r,_values:i,_nulls:s,_typeIds:n,children:o}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),o.reduce((c,f)=>c+f.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((r,i)=>r+i.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,r){return this.setValid(t,this.isValid(r))&&this.setValue(t,r),this}setValue(t,r){this._setValue(this,t,r)}setValid(t,r){return this.length=this._nulls.set(t,+r).length,r}addChild(t,r=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){let t,r,i,s,{type:n,length:o,nullCount:c,_typeIds:f,_offsets:_,_values:w,_nulls:I}=this;(r=f?.flush(o))?s=_?.flush(o):(s=_?.flush(o))?t=w?.flush(_.last()):t=w?.flush(o),c>0&&(i=I?.flush(o));let R=this.children.map(N=>N.flush());return this.clear(),yr({type:n,length:o,nullCount:c,children:R,child:R[0],data:t,typeIds:r,nullBitmap:i,valueOffsets:s})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,r,i,s;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(r=this._values)===null||r===void 0||r.clear(),(i=this._offsets)===null||i===void 0||i.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let n of this.children)n.clear();return this}};Xn.prototype.length=1;Xn.prototype.stride=1;Xn.prototype.children=null;Xn.prototype.finished=!1;Xn.prototype.nullValues=null;Xn.prototype._isValid=()=>!0;var _o=class extends Xn{constructor(t){super(t),this._values=new gp(this.ArrayType,0,this.stride)}setValue(t,r){let i=this._values;return i.reserve(t-i.length+1),super.setValue(t,r)}},gc=class extends Xn{constructor(t){super(t),this._pendingLength=0,this._offsets=new Sv(t.type)}setValue(t,r){let i=this._pending||(this._pending=new Map),s=i.get(t);s&&(this._pendingLength-=s.length),this._pendingLength+=r instanceof od?r[dm].length:r.length,i.set(t,r)}setValid(t,r){return super.setValid(t,r)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,r=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,r),this}};var Mg=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,r,i,s){return t.prep(8,24),t.writeInt64(BigInt(s??0)),t.pad(4),t.writeInt32(i),t.writeInt64(BigInt(r??0)),t.offset()}};var au=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsFooter(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}schema(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new fc).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}dictionaries(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,r){let i=this.bb.__offset(this.bb_pos,10);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addSchema(t,r){t.addFieldOffset(1,r,0)}static addDictionaries(t,r){t.addFieldOffset(2,r,0)}static startDictionariesVector(t,r){t.startVector(24,r,8)}static addRecordBatches(t,r){t.addFieldOffset(3,r,0)}static startRecordBatchesVector(t,r){t.startVector(24,r,8)}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,r){t.finish(r)}static finishSizePrefixedFooterBuffer(t,r){t.finish(r,void 0,!0)}};var an=class e{constructor(t=[],r,i,s=sn.V5){this.fields=t||[],this.metadata=r||new Map,i||(i=LO(t)),this.dictionaries=i,this.metadataVersion=s}get[Symbol.toStringTag](){return\"Schema\"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,r)=>`${r}: ${t}`).join(\", \")} }>`}select(t){let r=new Set(t),i=this.fields.filter(s=>r.has(s.name));return new e(i,this.metadata)}selectAt(t){let r=t.map(i=>this.fields[i]).filter(Boolean);return new e(r,this.metadata)}assign(...t){let r=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),i=[...this.fields],s=A3(A3(new Map,this.metadata),r.metadata),n=r.fields.filter(c=>{let f=i.findIndex(_=>_.name===c.name);return~f?(i[f]=c.clone({metadata:A3(A3(new Map,i[f].metadata),c.metadata)}))&&!1:!0}),o=LO(n,new Map);return new e([...i,...n],s,new Map([...this.dictionaries,...o]))}};an.prototype.fields=null;an.prototype.metadata=null;an.prototype.dictionaries=null;var si=class e{static new(...t){let[r,i,s,n]=t;return t[0]&&typeof t[0]==\"object\"&&({name:r}=t[0],i===void 0&&(i=t[0].type),s===void 0&&(s=t[0].nullable),n===void 0&&(n=t[0].metadata)),new e(`${r}`,i,s,n)}constructor(t,r,i=!1,s){this.name=t,this.type=r,this.nullable=i,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[r,i,s,n]=t;return!t[0]||typeof t[0]!=\"object\"?[r=this.name,i=this.type,s=this.nullable,n=this.metadata]=t:{name:r=this.name,type:i=this.type,nullable:s=this.nullable,metadata:n=this.metadata}=t[0],e.new(r,i,s,n)}};si.prototype.type=null;si.prototype.name=null;si.prototype.nullable=null;si.prototype.metadata=null;function A3(e,t){return new Map([...e||new Map,...t||new Map])}function LO(e,t=new Map){for(let r=-1,i=e.length;++r0&&LO(n.children,t)}return t}var cft=vg,uft=nu,_p=class{static decode(t){t=new uft(Rr(t));let r=au.getRootAsFooter(t),i=an.decode(r.schema(),new Map,r.version());return new kO(i,r)}static encode(t){let r=new cft,i=an.encode(r,t.schema);au.startRecordBatchesVector(r,t.numRecordBatches);for(let o of[...t.recordBatches()].slice().reverse())yp.encode(r,o);let s=r.endVector();au.startDictionariesVector(r,t.numDictionaries);for(let o of[...t.dictionaryBatches()].slice().reverse())yp.encode(r,o);let n=r.endVector();return au.startFooter(r),au.addSchema(r,i),au.addVersion(r,sn.V5),au.addRecordBatches(r,s),au.addDictionaries(r,n),au.finishFooterBuffer(r,au.endFooter(r)),r.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,r=sn.V5,i,s){this.schema=t,this.version=r,i&&(this._recordBatches=i),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let t,r=-1,i=this.numRecordBatches;++r=0&&t=0&&t=0&&t=0&&tthis._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Vn);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return xa.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return xa.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return ar(this,void 0,void 0,function*(){return yield this.abort(t),Vn})}return(t){return ar(this,void 0,void 0,function*(){return yield this.close(),Vn})}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((r,i)=>{this.resolvers.push({resolve:r,reject:i})}):Promise.resolve(Vn)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(\"AsyncQueue is closed\")}};var ad=class extends m3{write(t){if((t=Rr(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Tw(this.toUint8Array(!0)):this.toUint8Array(!1).then(Tw)}toUint8Array(t=!1){return t?iu(this._values)[0]:ar(this,void 0,void 0,function*(){var r,i,s,n;let o=[],c=0;try{for(var f=!0,_=Zh(this),w;w=yield _.next(),r=w.done,!r;f=!0){n=w.value,f=!1;let I=n;o.push(I),c+=I.byteLength}}catch(I){i={error:I}}finally{try{!f&&!r&&(s=_.return)&&(yield s.call(_))}finally{if(i)throw i.error}}return iu(o,c)[0]})}},ld=class{constructor(t){t&&(this.source=new RO(xa.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},$u=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof ad?this.source=new vp(xa.fromAsyncIterable(t)):OP(t)?this.source=new vp(xa.fromNodeStream(t)):Mw(t)?this.source=new vp(xa.fromDOMStream(t)):RP(t)?this.source=new vp(xa.fromDOMStream(t.body)):Yh(t)?this.source=new vp(xa.fromIterable(t)):ru(t)?this.source=new vp(xa.fromAsyncIterable(t)):Nu(t)&&(this.source=new vp(xa.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},RO=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,r=\"read\"){return this.source.next({cmd:r,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Vn)}return(t){return Object.create(this.source.return&&this.source.return(t)||Vn)}},vp=class{constructor(t){this.source=t,this._closedPromise=new Promise(r=>this._closedPromiseResolve=r)}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(t){return ar(this,arguments,void 0,function*(r,i=\"read\"){return yield this.source.next({cmd:i,size:r})})}throw(t){return ar(this,void 0,void 0,function*(){let r=this.source.throw&&(yield this.source.throw(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}return(t){return ar(this,void 0,void 0,function*(){let r=this.source.return&&(yield this.source.return(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}};var i2=class extends ld{constructor(t,r){super(),this.position=0,this.buffer=Rr(t),this.size=r===void 0?this.buffer.byteLength:r}readInt32(t){let{buffer:r,byteOffset:i}=this.readAt(t,4);return new DataView(r,i).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),tn2,Int128:()=>s2,Int64:()=>xp,Uint64:()=>gs});function Tv(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var Mv=8,DO=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],n2=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let r=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),s=r[3]*i[3];this.buffer[0]=s&65535;let n=s>>>16;return s=r[2]*i[3],n+=s,s=r[3]*i[2]>>>0,n+=s,this.buffer[0]+=n<<16,this.buffer[1]=n>>>0>>16,this.buffer[1]+=r[1]*i[3]+r[2]*i[2]+r[3]*i[1],this.buffer[1]+=r[0]*i[3]+r[1]*i[2]+r[2]*i[1]+r[3]*i[0]<<16,this}_plus(t){let r=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],r>>0&&++this.buffer[1],this.buffer[0]=r}lessThan(t){return this.buffer[1]>>0,r[2]=this.buffer[2]+t.buffer[2]>>>0,r[1]=this.buffer[1]+t.buffer[1]>>>0,r[0]=this.buffer[0]+t.buffer[0]>>>0,r[0]>>0&&++r[1],r[1]>>0&&++r[2],r[2]>>0&&++r[3],this.buffer[3]=r[3],this.buffer[2]=r[2],this.buffer[1]=r[1],this.buffer[0]=r[0],this}hex(){return`${Tv(this.buffer[3])} ${Tv(this.buffer[2])} ${Tv(this.buffer[1])} ${Tv(this.buffer[0])}`}static multiply(t,r){return new e(new Uint32Array(t.buffer)).times(r)}static add(t,r){return new e(new Uint32Array(t.buffer)).plus(r)}static from(t,r=new Uint32Array(4)){return e.fromString(typeof t==\"string\"?t:t.toString(),r)}static fromNumber(t,r=new Uint32Array(4)){return e.fromString(t.toString(),r)}static fromString(t,r=new Uint32Array(4)){let i=t.startsWith(\"-\"),s=t.length,n=new e(r);for(let o=i?1:0;o0&&this.readData(t,i)||new Uint8Array(0)}readOffsets(t,r){return this.readData(t,r)}readTypeIds(t,r){return this.readData(t,r)}readData(t,{length:r,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+r)}readDictionary(t){return this.dictionaries.get(t.id)}},g3=class extends o2{constructor(t,r,i,s,n){super(new Uint8Array(0),r,i,s,n),this.sources=t}readNullBitmap(t,r,{offset:i}=this.nextBufferRange()){return r<=0?new Uint8Array(0):Sg(this.sources[i])}readOffsets(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.OffsetArrayType,this.sources[r]))}readTypeIds(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.ArrayType,this.sources[r]))}readData(t,{offset:r}=this.nextBufferRange()){let{sources:i}=this;return ze.isTimestamp(t)?Ai(Uint8Array,xp.convertArray(i[r])):(ze.isInt(t)||ze.isTime(t))&&t.bitWidth===64||ze.isDuration(t)?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDate(t)&&t.unit===Os.MILLISECOND?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDecimal(t)?Ai(Uint8Array,s2.convertArray(i[r])):ze.isBinary(t)||ze.isLargeBinary(t)||ze.isFixedSizeBinary(t)?hft(i[r]):ze.isBool(t)?Sg(i[r]):ze.isUtf8(t)||ze.isLargeUtf8(t)?Jf(i[r].join(\"\")):Ai(Uint8Array,Ai(t.ArrayType,i[r].map(s=>+s)))}};function hft(e){let t=e.join(\"\"),r=new Uint8Array(t.length/2);for(let i=0;i>1]=Number.parseInt(t.slice(i,i+2),16);return r}var Pg=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,0);else{let f=c.length;s.set(c,n),i.set(o,f),n+=f}}};var Ig=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,BigInt(0));else{let f=c.length;s.set(c,n),i.set(o,BigInt(f)),n+=f}}};var mm=class extends Xn{constructor(t){super(t),this._values=new wv}setValue(t,r){this._values.set(t,+r)}};var gm=class extends _o{};gm.prototype._setValue=pO;var Ev=class extends gm{};Ev.prototype._setValue=WP;var Pv=class extends gm{};Pv.prototype._setValue=HP;var Iv=class extends _o{};Iv.prototype._setValue=gO;var a2=class extends Xn{constructor({type:t,nullValues:r,dictionaryHashFunction:i}){super({type:new mc(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Cg({type:this.type.indices,nullValues:r}),this.dictionary=Cg({type:this.type.dictionary,nullValues:null}),typeof i==\"function\"&&(this.valueToKey=i)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,r){let i=this.indices;return r=i.setValid(t,r),this.length=i.length,r}setValue(t,r){let i=this._keysToIndices,s=this.valueToKey(r),n=i[s];return n===void 0&&(i[s]=n=this._dictionaryOffset+this.dictionary.append(r).length-1),this.indices.setValue(t,n)}flush(){let t=this.type,r=this._dictionary,i=this.dictionary.toVector(),s=this.indices.flush().clone(t);return s.dictionary=r?r.concat(i):i,this.finished||(this._dictionaryOffset+=i.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}};var Cv=class extends _o{};Cv.prototype._setValue=dO;var l2=class extends Xn{setValue(t,r){let[i]=this.children,s=t*this.stride;for(let n=-1,o=r.length;++n0)throw new Error(\"FixedSizeListBuilder can only have one child.\");let i=this.children.push(t);return this.type=new Ll(this.type.listSize,new si(r,t.type,!0)),i}};var _m=class extends _o{setValue(t,r){this._values.set(t,r)}},c2=class extends _m{setValue(t,r){super.setValue(t,Xw(r))}},u2=class extends _m{},h2=class extends _m{};var ym=class extends _o{};ym.prototype._setValue=_O;var Lv=class extends ym{};Lv.prototype._setValue=t3;var kv=class extends ym{};kv.prototype._setValue=e3;var cd=class extends _o{};cd.prototype._setValue=yO;var Rv=class extends cd{};Rv.prototype._setValue=r3;var Dv=class extends cd{};Dv.prototype._setValue=i3;var Ov=class extends cd{};Ov.prototype._setValue=n3;var Bv=class extends cd{};Bv.prototype._setValue=s3;var lu=class extends _o{setValue(t,r){this._values.set(t,r)}},f2=class extends lu{},d2=class extends lu{},p2=class extends lu{},A2=class extends lu{},m2=class extends lu{},g2=class extends lu{},_2=class extends lu{},y2=class extends lu{};var v2=class extends gc{constructor(t){super(t),this._offsets=new Sv(t.type)}addChild(t,r=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new sl(new si(r,t.type,!0)),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(typeof n>\"u\")r.set(s,0);else{let o=n,c=o.length,f=r.set(s,c).buffer[s];for(let _=-1;++_0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Ac(new si(r,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(n===void 0)r.set(s,0);else{let{[s]:o,[s+1]:c}=r.set(s,n.size).buffer;for(let f of n.entries())if(i.set(o,f),++o>=c)break}}};var b2=class extends Xn{setValue(t,r){}setValid(t,r){return this.length=Math.max(t+1,this.length),r}};var w2=class extends Xn{setValue(t,r){let{children:i,type:s}=this;switch(Array.isArray(r)||r.constructor){case!0:return s.children.forEach((n,o)=>i[o].set(t,r[o]));case Map:return s.children.forEach((n,o)=>i[o].set(t,r.get(n.name)));default:return s.children.forEach((n,o)=>i[o].set(t,r[n.name]))}}setValid(t,r){return super.setValid(t,r)||this.children.forEach(i=>i.setValid(t,r)),r}addChild(t,r=`${this.numChildren}`){let i=this.children.push(t);return this.type=new pn([...this.type.children,new si(r,t.type,!0)]),i}};var ud=class extends _o{};ud.prototype._setValue=AO;var Fv=class extends ud{};Fv.prototype._setValue=qP;var zv=class extends ud{};zv.prototype._setValue=ZP;var Nv=class extends ud{};Nv.prototype._setValue=YP;var Uv=class extends ud{};Uv.prototype._setValue=QP;var hd=class extends _o{};hd.prototype._setValue=mO;var Vv=class extends hd{};Vv.prototype._setValue=$P;var jv=class extends hd{};jv.prototype._setValue=XP;var Gv=class extends hd{};Gv.prototype._setValue=KP;var Wv=class extends hd{};Wv.prototype._setValue=JP;var Lg=class extends Xn{constructor(t){super(t),this._typeIds=new gp(Int8Array,0,1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,r){return this.set(this.length,t,r)}set(t,r,i){return i===void 0&&(i=this._valueToChildTypeId(this,r,t)),this.setValue(t,r,i),this}setValue(t,r,i){this._typeIds.set(t,i);let s=this.type.typeIdToChildIndex[i],n=this.children[s];n?.set(t,r)}addChild(t,r=`${this.children.length}`){let i=this.children.push(t),{type:{children:s,mode:n,typeIds:o}}=this,c=[...s,new si(r,t.type)];return this.type=new pc(n,[...o,i],c),i}_valueToChildTypeId(t,r,i){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}},S2=class extends Lg{},T2=class extends Lg{constructor(t){super(t),this._offsets=new gp(Int32Array)}setValue(t,r,i){let s=this._typeIds.set(t,i).buffer[t],n=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(t,n.length).buffer[t];n?.set(o,r)}};var Hv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};Hv.prototype._flushPending=Pg.prototype._flushPending;var qv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};qv.prototype._flushPending=Ig.prototype._flushPending;var BO=class extends Er{visitNull(){return b2}visitBool(){return mm}visitInt(){return lu}visitInt8(){return f2}visitInt16(){return d2}visitInt32(){return p2}visitInt64(){return A2}visitUint8(){return m2}visitUint16(){return g2}visitUint32(){return _2}visitUint64(){return y2}visitFloat(){return _m}visitFloat16(){return c2}visitFloat32(){return u2}visitFloat64(){return h2}visitUtf8(){return Hv}visitLargeUtf8(){return qv}visitBinary(){return Pg}visitLargeBinary(){return Ig}visitFixedSizeBinary(){return Cv}visitDate(){return gm}visitDateDay(){return Ev}visitDateMillisecond(){return Pv}visitTimestamp(){return ud}visitTimestampSecond(){return Fv}visitTimestampMillisecond(){return zv}visitTimestampMicrosecond(){return Nv}visitTimestampNanosecond(){return Uv}visitTime(){return hd}visitTimeSecond(){return Vv}visitTimeMillisecond(){return jv}visitTimeMicrosecond(){return Gv}visitTimeNanosecond(){return Wv}visitDecimal(){return Iv}visitList(){return v2}visitStruct(){return w2}visitUnion(){return Lg}visitDenseUnion(){return T2}visitSparseUnion(){return S2}visitDictionary(){return a2}visitInterval(){return ym}visitIntervalDayTime(){return Lv}visitIntervalYearMonth(){return kv}visitDuration(){return cd}visitDurationSecond(){return Rv}visitDurationMillisecond(){return Dv}visitDurationMicrosecond(){return Ov}visitDurationNanosecond(){return Bv}visitFixedSizeList(){return l2}visitMap(){return x2}},iH=new BO;var Lr=class extends Er{compareSchemas(t,r){return t===r||r instanceof t.constructor&&this.compareManyFields(t.fields,r.fields)}compareManyFields(t,r){return t===r||Array.isArray(t)&&Array.isArray(r)&&t.length===r.length&&t.every((i,s)=>this.compareFields(i,r[s]))}compareFields(t,r){return t===r||r instanceof t.constructor&&t.name===r.name&&t.nullable===r.nullable&&this.visit(t.type,r.type)}};function kl(e,t){return t instanceof e.constructor}function kg(e,t){return e===t||kl(e,t)}function bp(e,t){return e===t||kl(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function _3(e,t){return e===t||kl(e,t)&&e.precision===t.precision}function fft(e,t){return e===t||kl(e,t)&&e.byteWidth===t.byteWidth}function FO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function M2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function E2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function dft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function pft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function zO(e,t){return e===t||kl(e,t)&&e.mode===t.mode&&e.typeIds.every((r,i)=>r===t.typeIds[i])&&fd.compareManyFields(e.children,t.children)}function Aft(e,t){return e===t||kl(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&fd.visit(e.indices,t.indices)&&fd.visit(e.dictionary,t.dictionary)}function NO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function P2(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function mft(e,t){return e===t||kl(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function gft(e,t){return e===t||kl(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}Lr.prototype.visitNull=kg;Lr.prototype.visitBool=kg;Lr.prototype.visitInt=bp;Lr.prototype.visitInt8=bp;Lr.prototype.visitInt16=bp;Lr.prototype.visitInt32=bp;Lr.prototype.visitInt64=bp;Lr.prototype.visitUint8=bp;Lr.prototype.visitUint16=bp;Lr.prototype.visitUint32=bp;Lr.prototype.visitUint64=bp;Lr.prototype.visitFloat=_3;Lr.prototype.visitFloat16=_3;Lr.prototype.visitFloat32=_3;Lr.prototype.visitFloat64=_3;Lr.prototype.visitUtf8=kg;Lr.prototype.visitLargeUtf8=kg;Lr.prototype.visitBinary=kg;Lr.prototype.visitLargeBinary=kg;Lr.prototype.visitFixedSizeBinary=fft;Lr.prototype.visitDate=FO;Lr.prototype.visitDateDay=FO;Lr.prototype.visitDateMillisecond=FO;Lr.prototype.visitTimestamp=M2;Lr.prototype.visitTimestampSecond=M2;Lr.prototype.visitTimestampMillisecond=M2;Lr.prototype.visitTimestampMicrosecond=M2;Lr.prototype.visitTimestampNanosecond=M2;Lr.prototype.visitTime=E2;Lr.prototype.visitTimeSecond=E2;Lr.prototype.visitTimeMillisecond=E2;Lr.prototype.visitTimeMicrosecond=E2;Lr.prototype.visitTimeNanosecond=E2;Lr.prototype.visitDecimal=kg;Lr.prototype.visitList=dft;Lr.prototype.visitStruct=pft;Lr.prototype.visitUnion=zO;Lr.prototype.visitDenseUnion=zO;Lr.prototype.visitSparseUnion=zO;Lr.prototype.visitDictionary=Aft;Lr.prototype.visitInterval=NO;Lr.prototype.visitIntervalDayTime=NO;Lr.prototype.visitIntervalYearMonth=NO;Lr.prototype.visitDuration=P2;Lr.prototype.visitDurationSecond=P2;Lr.prototype.visitDurationMillisecond=P2;Lr.prototype.visitDurationMicrosecond=P2;Lr.prototype.visitDurationNanosecond=P2;Lr.prototype.visitFixedSizeList=mft;Lr.prototype.visitMap=gft;var fd=new Lr;function Rg(e,t){return fd.compareSchemas(e,t)}function nH(e,t){return fd.compareFields(e,t)}function sH(e,t){return fd.visit(e,t)}function Cg(e){let t=e.type,r=new(iH.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let i=e.children||[],s={nullValues:e.nullValues},n=Array.isArray(i)?(o,c)=>i[c]||s:({name:o})=>i[o]||s;for(let[o,c]of t.children.entries()){let{type:f}=c,_=n(c,o);r.children.push(Cg(Object.assign(Object.assign({},_),{type:f})))}}return r}function y3(e,t){return _ft(e,t.map(r=>r.data.concat()))}function _ft(e,t){let r=[...e.fields],i=[],s={numBatches:t.reduce((I,R)=>Math.max(I,R.length),0)},n=0,o=0,c=-1,f=t.length,_,w=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,c=-1;++c0&&(i[n++]=yr({type:new pn(r),length:o,nullCount:0,children:w.slice()})))}return[e=e.assign(r),i.map(I=>new Fs(e,I))]}function yft(e,t,r,i,s){var n;let o=(t+63&-64)>>3;for(let c=-1,f=i.length;++c=t)w===t?r[c]=_:(r[c]=_.slice(0,t),s.numBatches=Math.max(s.numBatches,i[c].unshift(_.slice(t,w-t))));else{let I=e[c];e[c]=I.clone({nullable:!0}),r[c]=(n=_?._changeLengthAndBackfillNullBitmap(t))!==null&&n!==void 0?n:yr({type:I.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return r}var aH,wa=class e{constructor(...t){var r,i;if(t.length===0)return this.batches=[],this.schema=new an([]),this._offsets=[0],this;let s,n;t[0]instanceof an&&(s=t.shift()),t.at(-1)instanceof Uint32Array&&(n=t.pop());let o=f=>{if(f){if(f instanceof Fs)return[f];if(f instanceof e)return f.batches;if(f instanceof Fi){if(f.type instanceof pn)return[new Fs(new an(f.type.children),f)]}else{if(Array.isArray(f))return f.flatMap(_=>o(_));if(typeof f[Symbol.iterator]==\"function\")return[...f].flatMap(_=>o(_));if(typeof f==\"object\"){let _=Object.keys(f),w=_.map(N=>new xr([f[N]])),I=s??new an(_.map((N,j)=>new si(String(N),w[j].type,w[j].nullable))),[,R]=y3(I,w);return R.length===0?[new Fs(f)]:R}}}return[]},c=t.flatMap(f=>o(f));if(s=(i=s??((r=c[0])===null||r===void 0?void 0:r.schema))!==null&&i!==void 0?i:new an([]),!(s instanceof an))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");for(let f of c){if(!(f instanceof Fs))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");if(!Rg(s,f.schema))throw new TypeError(\"Table and inner RecordBatch schemas must be equivalent.\")}this.schema=s,this.batches=c,this._offsets=n??u3(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,r)=>t+r.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=c3(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.numRows))}set(t,r){}indexOf(t,r){return-1}[Symbol.iterator](){return this.batches.length>0?bv.visit(new xr(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(`,\n `)}\n]`}concat(...t){let r=this.schema,i=this.data.concat(t.flatMap(({data:s})=>s));return new e(r,i.map(s=>new Fs(r,s)))}slice(t,r){let i=this.schema;[t,r]=Kw({length:this.numRows},t,r);let s=h3(this.data,this._offsets,t,r);return new e(i,s.map(n=>new Fs(i,n)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(r=>r.name===t))}getChildAt(t){if(t>-1&&ti.children[t]);if(r.length===0){let{type:i}=this.schema.fields[t],s=yr({type:i,length:0,nullCount:0});r.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new xr(r)}return null}setChild(t,r){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(s=>s.name===t),r)}setChildAt(t,r){let i=this.schema,s=[...this.batches];if(t>-1&&tthis.getChildAt(_));[n[t],c[t]]=[o,r],[i,s]=y3(i,c)}return new e(i,s)}select(t){let r=this.schema.fields.reduce((i,s,n)=>i.set(s.name,n),new Map);return this.selectAt(t.map(i=>r.get(i)).filter(i=>i>-1))}selectAt(t){let r=this.schema.selectAt(t),i=this.batches.map(s=>s.selectAt(t));return new e(r,i)}assign(t){let r=this.schema.fields,[i,s]=t.schema.fields.reduce((c,f,_)=>{let[w,I]=c,R=r.findIndex(N=>N.name===f.name);return~R?I[R]=_:w.push(_),c},[[],[]]),n=this.schema.assign(t.schema),o=[...r.map((c,f)=>[f,s[f]]).map(([c,f])=>f===void 0?this.getChildAt(c):t.getChildAt(f)),...i.map(c=>t.getChildAt(c))].filter(Boolean);return new e(...y3(n,o))}};aH=Symbol.toStringTag;wa[aH]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=xv(e2),e.get=xv(go.getVisitFn(Ot.Struct)),e.set=f3(ba.getVisitFn(Ot.Struct)),e.indexOf=d3(Tg.getVisitFn(Ot.Struct)),\"Table\"))(wa.prototype);var cH,Fs=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof an))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");if([,this.data=yr({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(r=>yr({type:r.type,nullCount:0}))})]=t,!(this.data instanceof Fi))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");[this.schema,this.data]=lH(this.schema,this.data.children);break}case 1:{let[r]=t,{fields:i,children:s,length:n}=Object.keys(r).reduce((f,_,w)=>(f.children[w]=r[_],f.length=Math.max(f.length,r[_].length),f.fields[w]=si.new({name:_,type:r[_].type,nullable:!0}),f),{length:0,fields:new Array,children:new Array}),o=new an(i),c=yr({type:new pn(i),length:n,children:s,nullCount:0});[this.schema,this.data]=lH(o,c.children,n);break}default:throw new TypeError(\"RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.\")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uH(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return go.visit(this.data,t)}at(t){return this.get(xg(t,this.numRows))}set(t,r){return ba.visit(this.data,t,r)}indexOf(t,r){return Tg.visit(this.data,t,r)}[Symbol.iterator](){return bv.visit(new xr([this.data]))}toArray(){return[...this]}concat(...t){return new wa(this.schema,[this,...t])}slice(t,r){let[i]=new xr([this.data]).slice(t,r).data;return new e(this.schema,i)}getChild(t){var r;return this.getChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&ts.name===t),r)}setChildAt(t,r){let i=this.schema,s=this.data;if(t>-1&&tc.name===n);~o&&(s[o]=this.data.children[o])}return new e(r,yr({type:i,length:this.numRows,children:s}))}selectAt(t){let r=this.schema.selectAt(t),i=t.map(n=>this.data.children[n]).filter(Boolean),s=yr({type:new pn(r.fields),length:this.numRows,children:i});return new e(r,s)}};cH=Symbol.toStringTag;Fs[cH]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,\"RecordBatch\"))(Fs.prototype);function lH(e,t,r=t.reduce((i,s)=>Math.max(i,s.length),0)){var i;let s=[...e.fields],n=[...t],o=(r+63&-64)>>3;for(let[c,f]of e.fields.entries()){let _=t[c];(!_||_.length!==r)&&(s[c]=f.clone({nullable:!0}),n[c]=(i=_?._changeLengthAndBackfillNullBitmap(r))!==null&&i!==void 0?i:yr({type:f.type,length:r,nullCount:r,nullBitmap:new Uint8Array(o)}))}return[e.assign(s),yr({type:new pn(s),length:r,children:n})]}function uH(e,t,r=new Map){var i,s;if(((i=e?.length)!==null&&i!==void 0?i:0)>0&&e?.length===t?.length)for(let n=-1,o=e.length;++nyr({type:s.type})),i=yr({type:new pn(t.fields),nullCount:0,children:r});super(t,i)}};var sf=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsMessage(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):wi.NONE}header(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__union(t,this.bb_pos+r):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt(\"0\")}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addHeaderType(t,r){t.addFieldInt8(1,r,wi.NONE)}static addHeader(t,r){t.addFieldOffset(2,r,0)}static addBodyLength(t,r){t.addFieldInt64(3,r,BigInt(\"0\"))}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,r){t.finish(r)}static finishSizePrefixedMessageBuffer(t,r){t.finish(r,void 0,!0)}static createMessage(t,r,i,s,n,o){return e.startMessage(t),e.addVersion(t,r),e.addHeaderType(t,i),e.addHeader(t,s),e.addBodyLength(t,n),e.addCustomMetadata(t,o),e.endMessage(t)}};var UO=class extends Er{visit(t,r){return t==null||r==null?void 0:super.visit(t,r)}visitNull(t,r){return Fw.startNull(r),Fw.endNull(r)}visitInt(t,r){return Xh.startInt(r),Xh.addBitWidth(r,t.bitWidth),Xh.addIsSigned(r,t.isSigned),Xh.endInt(r)}visitFloat(t,r){return lm.startFloatingPoint(r),lm.addPrecision(r,t.precision),lm.endFloatingPoint(r)}visitBinary(t,r){return kw.startBinary(r),kw.endBinary(r)}visitLargeBinary(t,r){return Dw.startLargeBinary(r),Dw.endLargeBinary(r)}visitBool(t,r){return Rw.startBool(r),Rw.endBool(r)}visitUtf8(t,r){return Nw.startUtf8(r),Nw.endUtf8(r)}visitLargeUtf8(t,r){return Ow.startLargeUtf8(r),Ow.endLargeUtf8(r)}visitDecimal(t,r){return id.startDecimal(r),id.addScale(r,t.scale),id.addPrecision(r,t.precision),id.addBitWidth(r,t.bitWidth),id.endDecimal(r)}visitDate(t,r){return nm.startDate(r),nm.addUnit(r,t.unit),nm.endDate(r)}visitTime(t,r){return pp.startTime(r),pp.addUnit(r,t.unit),pp.addBitWidth(r,t.bitWidth),pp.endTime(r)}visitTimestamp(t,r){let i=t.timezone&&r.createString(t.timezone)||void 0;return Ap.startTimestamp(r),Ap.addUnit(r,t.unit),i!==void 0&&Ap.addTimezone(r,i),Ap.endTimestamp(r)}visitInterval(t,r){return cm.startInterval(r),cm.addUnit(r,t.unit),cm.endInterval(r)}visitDuration(t,r){return sm.startDuration(r),sm.addUnit(r,t.unit),sm.endDuration(r)}visitList(t,r){return Bw.startList(r),Bw.endList(r)}visitStruct(t,r){return zw.startStruct_(r),zw.endStruct_(r)}visitUnion(t,r){Kh.startTypeIdsVector(r,t.typeIds.length);let i=Kh.createTypeIdsVector(r,t.typeIds);return Kh.startUnion(r),Kh.addMode(r,t.mode),Kh.addTypeIds(r,i),Kh.endUnion(r)}visitDictionary(t,r){let i=this.visit(t.indices,r);return rd.startDictionaryEncoding(r),rd.addId(r,BigInt(t.id)),rd.addIsOrdered(r,t.isOrdered),i!==void 0&&rd.addIndexType(r,i),rd.endDictionaryEncoding(r)}visitFixedSizeBinary(t,r){return om.startFixedSizeBinary(r),om.addByteWidth(r,t.byteWidth),om.endFixedSizeBinary(r)}visitFixedSizeList(t,r){return am.startFixedSizeList(r),am.addListSize(r,t.listSize),am.endFixedSizeList(r)}visitMap(t,r){return um.startMap(r),um.addKeysSorted(r,t.keysSorted),um.endMap(r)}},v3=new UO;function pH(e,t=new Map){return new an(vft(e,t),x3(e.metadata),t)}function VO(e){return new Sa(e.count,mH(e.columns),gH(e.columns))}function AH(e){return new yc(VO(e.data),e.id,e.isDelta)}function vft(e,t){return(e.fields||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function hH(e,t){return(e.children||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function mH(e){return(e||[]).reduce((t,r)=>[...t,new Xu(r.count,xft(r.VALIDITY)),...mH(r.children)],[])}function gH(e,t=[]){for(let r=-1,i=(e||[]).length;++rt+ +(r===0),0)}function _H(e,t){let r,i,s,n,o,c;return!t||!(n=e.dictionary)?(o=dH(e,hH(e,t)),s=new si(e.name,o,e.nullable,x3(e.metadata))):t.has(r=n.id)?(i=(i=n.indexType)?fH(i):new ef,c=new mc(t.get(r),i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))):(i=(i=n.indexType)?fH(i):new ef,t.set(r,o=dH(e,hH(e,t))),c=new mc(o,i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))),s||null}function x3(e=[]){return new Map(e.map(({key:t,value:r})=>[t,r]))}function fH(e){return new Bs(e.isSigned,e.bitWidth)}function dH(e,t){let r=e.type.name;switch(r){case\"NONE\":return new ea;case\"null\":return new ea;case\"binary\":return new Vu;case\"largebinary\":return new nd;case\"utf8\":return new ju;case\"largeutf8\":return new sd;case\"bool\":return new dc;case\"list\":return new sl((t||[])[0]);case\"struct\":return new pn(t||[]);case\"struct_\":return new pn(t||[])}switch(r){case\"int\":{let i=e.type;return new Bs(i.isSigned,i.bitWidth)}case\"floatingpoint\":{let i=e.type;return new ra($i[i.precision])}case\"decimal\":{let i=e.type;return new Gu(i.scale,i.precision,i.bitWidth)}case\"date\":{let i=e.type;return new Wu(Os[i.unit])}case\"time\":{let i=e.type;return new Hu(Ar[i.unit],i.bitWidth)}case\"timestamp\":{let i=e.type;return new qu(Ar[i.unit],i.timezone)}case\"interval\":{let i=e.type;return new Zu(Bo[i.unit])}case\"duration\":{let i=e.type;return new Yu(Ar[i.unit])}case\"union\":{let i=e.type,[s,...n]=(i.mode+\"\").toLowerCase(),o=s.toUpperCase()+n.join(\"\");return new pc(Pn[o],i.typeIds||[],t||[])}case\"fixedsizebinary\":{let i=e.type;return new Qu(i.byteWidth)}case\"fixedsizelist\":{let i=e.type;return new Ll(i.listSize,(t||[])[0])}case\"map\":{let i=e.type;return new Ac((t||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: \"${r}\"`)}var bft=vg,wft=nu,vc=class e{static fromJSON(t,r){let i=new e(0,sn.V5,r);return i._createHeader=Sft(t,r),i}static decode(t){t=new wft(Rr(t));let r=sf.getRootAsMessage(t),i=r.bodyLength(),s=r.version(),n=r.headerType(),o=new e(i,s,n);return o._createHeader=Tft(r,n),o}static encode(t){let r=new bft,i=-1;return t.isSchema()?i=an.encode(r,t.header()):t.isRecordBatch()?i=Sa.encode(r,t.header()):t.isDictionaryBatch()&&(i=yc.encode(r,t.header())),sf.startMessage(r),sf.addVersion(r,sn.V5),sf.addHeader(r,i),sf.addHeaderType(r,t.headerType),sf.addBodyLength(r,BigInt(t.bodyLength)),sf.finishMessageBuffer(r,sf.endMessage(r)),r.asUint8Array()}static from(t,r=0){if(t instanceof an)return new e(0,sn.V5,wi.Schema,t);if(t instanceof Sa)return new e(r,sn.V5,wi.RecordBatch,t);if(t instanceof yc)return new e(r,sn.V5,wi.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===wi.Schema}isRecordBatch(){return this.headerType===wi.RecordBatch}isDictionaryBatch(){return this.headerType===wi.DictionaryBatch}constructor(t,r,i,s){this._version=r,this._headerType=i,this.body=new Uint8Array(0),s&&(this._createHeader=()=>s),this._bodyLength=Wi(t)}},Sa=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,r,i){this._nodes=r,this._buffers=i,this._length=Wi(t)}},yc=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,r,i=!1){this._data=t,this._isDelta=i,this._id=Wi(r)}},_c=class{constructor(t,r){this.offset=Wi(t),this.length=Wi(r)}},Xu=class{constructor(t,r){this.length=Wi(t),this.nullCount=Wi(r)}};function Sft(e,t){return()=>{switch(t){case wi.Schema:return an.fromJSON(e);case wi.RecordBatch:return Sa.fromJSON(e);case wi.DictionaryBatch:return yc.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}function Tft(e,t){return()=>{switch(t){case wi.Schema:return an.decode(e.header(new fc),new Map,e.version());case wi.RecordBatch:return Sa.decode(e.header(new su),e.version());case wi.DictionaryBatch:return yc.decode(e.header(new dp),e.version())}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}si.encode=Bft;si.decode=Dft;si.fromJSON=_H;an.encode=Oft;an.decode=Mft;an.fromJSON=pH;Sa.encode=Fft;Sa.decode=Eft;Sa.fromJSON=VO;yc.encode=zft;yc.decode=Pft;yc.fromJSON=AH;Xu.encode=Nft;Xu.decode=Cft;_c.encode=Uft;_c.decode=Ift;function Mft(e,t=new Map,r=sn.V5){let i=Rft(e,t);return new an(i,b3(e),t,r)}function Eft(e,t=sn.V5){if(e.compression()!==null)throw new Error(\"Record batch compression not implemented\");return new Sa(e.length(),Lft(e),kft(e,t))}function Pft(e,t=sn.V5){return new yc(Sa.decode(e.data(),t),e.id(),e.isDelta())}function Ift(e){return new _c(e.offset(),e.length())}function Cft(e){return new Xu(e.length(),e.nullCount())}function Lft(e){let t=[];for(let r,i=-1,s=-1,n=e.nodesLength();++isi.encode(e,n));fc.startFieldsVector(e,r.length);let i=fc.createFieldsVector(e,r),s=t.metadata&&t.metadata.size>0?fc.createCustomMetadataVector(e,[...t.metadata].map(([n,o])=>{let c=e.createString(`${n}`),f=e.createString(`${o}`);return Fo.startKeyValue(e),Fo.addKey(e,c),Fo.addValue(e,f),Fo.endKeyValue(e)})):-1;return fc.startSchema(e),fc.addFields(e,i),fc.addEndianness(e,Vft?im.Little:im.Big),s!==-1&&fc.addCustomMetadata(e,s),fc.endSchema(e)}function Bft(e,t){let r=-1,i=-1,s=-1,n=t.type,o=t.typeId;ze.isDictionary(n)?(o=n.dictionary.typeId,s=v3.visit(n,e),i=v3.visit(n.dictionary,e)):i=v3.visit(n,e);let c=(n.children||[]).map(w=>si.encode(e,w)),f=nl.createChildrenVector(e,c),_=t.metadata&&t.metadata.size>0?nl.createCustomMetadataVector(e,[...t.metadata].map(([w,I])=>{let R=e.createString(`${w}`),N=e.createString(`${I}`);return Fo.startKeyValue(e),Fo.addKey(e,R),Fo.addValue(e,N),Fo.endKeyValue(e)})):-1;return t.name&&(r=e.createString(t.name)),nl.startField(e),nl.addType(e,i),nl.addTypeType(e,o),nl.addChildren(e,f),nl.addNullable(e,!!t.nullable),r!==-1&&nl.addName(e,r),s!==-1&&nl.addDictionary(e,s),_!==-1&&nl.addCustomMetadata(e,_),nl.endField(e)}function Fft(e,t){let r=t.nodes||[],i=t.buffers||[];su.startNodesVector(e,r.length);for(let o of r.slice().reverse())Xu.encode(e,o);let s=e.endVector();su.startBuffersVector(e,i.length);for(let o of i.slice().reverse())_c.encode(e,o);let n=e.endVector();return su.startRecordBatch(e),su.addLength(e,BigInt(t.length)),su.addNodes(e,s),su.addBuffers(e,n),su.endRecordBatch(e)}function zft(e,t){let r=Sa.encode(e,t.data);return dp.startDictionaryBatch(e),dp.addId(e,BigInt(t.id)),dp.addIsDelta(e,t.isDelta),dp.addData(e,r),dp.endDictionaryBatch(e)}function Nft(e,t){return hv.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function Uft(e,t){return uv.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var Vft=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var GO=e=>`Expected ${wi[e]} Message in stream, but was null or length 0.`,WO=e=>`Header pointer of flatbuffer-encoded ${wi[e]} Message is null or length 0.`,bH=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,wH=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Zv=class{constructor(t){this.source=t instanceof ld?t:new ld(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?Vn:t.value===-1&&(t=this.readMetadataLength()).done?Vn:(t=this.readMetadata(t.value)).done?Vn:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let r=Rr(this.source.read(t));if(r.byteLength[...s,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE_ID&&[n.TYPE_ID]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...r(n.children)],[])}}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readSchema(){let t=wi.Schema,r=this.readMessage(t),i=r?.header();if(!r||!i)throw new Error(WO(t));return i}},w3=4,jO=\"ARROW1\",Yv=new Uint8Array(jO.length);for(let e=0;ethis):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return xa.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return xa.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof e?t:CP(t)?Gft(t):kP(t)?qft(t):ru(t)?ar(this,void 0,void 0,function*(){return yield e.from(yield t)}):RP(t)||Mw(t)||OP(t)||Nu(t)?Hft(new $u(t)):Wft(new ld(t))}static readAll(t){return t instanceof e?t.isSync()?TH(t):MH(t):CP(t)||ArrayBuffer.isView(t)||Yh(t)||LP(t)?TH(t):MH(t)}},wp=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(this[Symbol.iterator]())))})}},Og=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return ar(this,void 0,void 0,function*(){var t,r,i,s;let n=new Array;try{for(var o=!0,c=Zh(this),f;f=yield c.next(),t=f.done,!t;o=!0){s=f.value,o=!1;let _=s;n.push(_)}}catch(_){r={error:_}}finally{try{!o&&!t&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}return n})}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Bg=class extends wp{constructor(t){super(t),this._impl=t}},T3=class extends Og{constructor(t){super(t),this._impl=t}},M3=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,r){let i=this._loadVectors(t,r,this.schema.fields),s=yr({type:new pn(this.schema.fields),length:t.length,children:i});return new Fs(this.schema,s)}_loadDictionaryBatch(t,r){let{id:i,isDelta:s}=t,{dictionaries:n,schema:o}=this,c=n.get(i);if(s||!c){let f=o.dictionaries.get(i),_=this._loadVectors(t.data,r,[f]);return(c&&s?c.concat(new xr(_)):new xr(_)).memoize()}return c.memoize()}_loadVectors(t,r,i){return new o2(r,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}},$v=class extends M3{constructor(t,r){super(r),this._reader=CP(t)?new C2(this._handle=t):new Zv(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Vn}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Vn}next(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Xv=class extends M3{constructor(t,r){super(r),this._reader=new I2(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ar(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return ar(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):Vn})}return(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):Vn})}next(){return ar(this,void 0,void 0,function*(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},E3=class extends $v{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,r){super(t instanceof i2?t:new i2(t),r)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var r;if(this.closed)return null;this._footer||this.open();let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null}_readDictionaryBatch(t){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}}_readFooter(){let{_handle:t}=this,r=t.size-HO,i=t.readInt32(r),s=t.readAt(r-i,i);return _p.decode(s)}_readNextMessageAndValidate(t){var r;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ar(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield r.open.call(this,t)})}readRecordBatch(t){return ar(this,void 0,void 0,function*(){var r;if(this.closed)return null;this._footer||(yield this.open());let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null})}_readDictionaryBatch(t){return ar(this,void 0,void 0,function*(){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}})}_readFooter(){return ar(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let r=t.size-HO,i=yield t.readInt32(r),s=yield t.readAt(r-i,i);return _p.decode(s)})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?S3(t)?new Bg(new E3(e.read())):new wp(new $v(e)):new wp(new $v(function*(){}()))}function Hft(e){return ar(this,void 0,void 0,function*(){let t=yield e.peek(Qv+7&-8);return t&&t.byteLength>=4?S3(t)?new Bg(new E3(yield e.read())):new Og(new Xv(e)):new Og(new Xv(function(){return eu(this,arguments,function*(){})}()))})}function qft(e){return ar(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),r=new Am(e,t);return t>=SH&&S3(yield r.readAt(0,Qv+7&-8))?new T3(new qO(r)):new Og(new Xv(r))})}var os=class e extends Er{static assemble(...t){let r=s=>s.flatMap(n=>Array.isArray(n)?r(n):n instanceof Fs?n.data.children:n.data),i=new e;return i.visitMany(r(t)),i}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof xr)return this.visitMany(t.data),this;let{type:r}=t;if(!ze.isDictionary(r)){let{length:i}=t;if(i>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");if(ze.isUnion(r))this.nodes.push(new Xu(i,0));else{let{nullCount:s}=t;ze.isNull(r)||of.call(this,s<=0?new Uint8Array(0):wg(t.offset,i,t.nullBitmap)),this.nodes.push(new Xu(i,s))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function of(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new _c(this._byteLength,t)),this._byteLength+=t,this}function Zft(e){var t;let{type:r,length:i,typeIds:s,valueOffsets:n}=e;if(of.call(this,s),r.mode===Pn.Sparse)return YO.call(this,e);if(r.mode===Pn.Dense){if(e.offset<=0)return of.call(this,n),YO.call(this,e);{let o=new Int32Array(i),c=Object.create(null),f=Object.create(null);for(let _,w,I=-1;++I{let I=r.typeIds[w],R=c[I],N=f[I];return _.slice(R,Math.min(i,N))}))}}return this}function Yft(e){let t;return e.nullCount>=e.length?of.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?of.call(this,wg(e.offset,e.length,t)):of.call(this,Sg(e.values))}function Sp(e){return of.call(this,e.values.subarray(0,e.length*e.stride))}function P3(e){let{length:t,values:r,valueOffsets:i}=e,s=Wi(i[0]),n=Wi(i[t]),o=Math.min(n-s,r.byteLength-s);return of.call(this,FP(-s,t+1,i)),of.call(this,r.subarray(s,s+o)),this}function QO(e){let{length:t,valueOffsets:r}=e;if(r){let{[0]:i,[t]:s}=r;return of.call(this,FP(-i,t+1,r)),this.visit(e.children[0].slice(i,s-i))}return this.visit(e.children[0])}function YO(e){return this.visitMany(e.type.children.map((t,r)=>e.children[r]).filter(Boolean))[0]}os.prototype.visitBool=Yft;os.prototype.visitInt=Sp;os.prototype.visitFloat=Sp;os.prototype.visitUtf8=P3;os.prototype.visitLargeUtf8=P3;os.prototype.visitBinary=P3;os.prototype.visitLargeBinary=P3;os.prototype.visitFixedSizeBinary=Sp;os.prototype.visitDate=Sp;os.prototype.visitTimestamp=Sp;os.prototype.visitTime=Sp;os.prototype.visitDecimal=Sp;os.prototype.visitList=QO;os.prototype.visitStruct=YO;os.prototype.visitUnion=Zft;os.prototype.visitInterval=Sp;os.prototype.visitDuration=Sp;os.prototype.visitFixedSizeList=QO;os.prototype.visitMap=QO;var Fg=class extends Eg{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new ad,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Cl(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return ru(t)?t.then(r=>this.writeAll(r)):Nu(t)?XO(this,t):$O(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,r=null){return t===this._sink||t instanceof ad?this._sink=t:(this._sink=new ad,t&&j9(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&G9(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!r||!Rg(r,this._schema))&&(r==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=r,this._writeSchema(r))),this}write(t){let r=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof wa&&!(r=t.schema))return this.finish()&&void 0;if(t instanceof Fs&&!(r=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(r&&!Rg(r,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,r)}t instanceof Fs?t instanceof Dg||this._writeRecordBatch(t):t instanceof wa?this.writeAll(t.batches):Yh(t)&&this.writeAll(t)}_writeMessage(t,r=8){let i=r-1,s=vc.encode(t),n=s.byteLength,o=this._writeLegacyIpcFormat?4:8,c=n+o+i&~i,f=c-n-o;return t.headerType===wi.RecordBatch?this._recordBatchBlocks.push(new yp(c,t.bodyLength,this._position)):t.headerType===wi.DictionaryBatch&&this._dictionaryBlocks.push(new yp(c,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(c-o)),n>0&&this._write(s),this._writePadding(f)}_write(t){if(this._started){let r=Rr(t);r&&r.byteLength>0&&(this._sink.write(r),this._position+=r.byteLength)}return this}_writeSchema(t){return this._writeMessage(vc.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Yv)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:r,nodes:i,bufferRegions:s,buffers:n}=os.assemble(t),o=new Sa(t.numRows,i,s),c=vc.from(o,r);return this._writeDictionaries(t)._writeMessage(c)._writeBodyBuffers(n)}_writeDictionaryBatch(t,r,i=!1){this._dictionaryDeltaOffsets.set(r,t.length+(this._dictionaryDeltaOffsets.get(r)||0));let{byteLength:s,nodes:n,bufferRegions:o,buffers:c}=os.assemble(new xr([t])),f=new Sa(t.length,n,o),_=new yc(f,r,i),w=vc.from(_,s);return this._writeMessage(w)._writeBodyBuffers(c)}_writeBodyBuffers(t){let r,i,s;for(let n=-1,o=t.length;++n0&&(this._write(r),(s=(i+7&-8)-i)>0&&this._writePadding(s));return this}_writeDictionaries(t){for(let[r,i]of t.dictionaries){let s=this._dictionaryDeltaOffsets.get(r)||0;if(s===0||(i=i?.slice(s)).length>0)for(let n of i.data)this._writeDictionaryBatch(n,r,s>0),s+=n.length}return this}},L2=class e extends Fg{static writeAll(t,r){let i=new e(r);return ru(t)?t.then(s=>i.writeAll(s)):Nu(t)?XO(i,t):$O(i,t)}},k2=class e extends Fg{static writeAll(t){let r=new e;return ru(t)?t.then(i=>r.writeAll(i)):Nu(t)?XO(r,t):$O(r,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let r=_p.encode(new _p(t,sn.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(r)._write(Int32Array.of(r.byteLength))._writeMagic()}};function $O(e,t){let r=t;t instanceof wa&&(r=t.batches,e.reset(void 0,t.schema));for(let i of r)e.write(i);return e.finish()}function XO(e,t){return ar(this,void 0,void 0,function*(){var r,i,s,n,o,c,f;try{for(r=!0,i=Zh(t);s=yield i.next(),n=s.done,!n;r=!0){f=s.value,r=!1;let _=f;e.write(_)}}catch(_){o={error:_}}finally{try{!r&&!n&&(c=i.return)&&(yield c.call(i))}finally{if(o)throw o.error}}return e.finish()})}function PH(e,t){if(Nu(e))return $ft(e,t);if(Yh(e))return Qft(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function Qft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){n(o,r||(r=e[Symbol.iterator]()))},pull(o){r?n(o,r):o.close()},cancel(){(r?.return&&r.return()||!0)&&(r=null)}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){let f,_=null,w=o.desiredSize||null;for(;!(_=c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()}}function $ft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){return ar(this,void 0,void 0,function*(){yield n(o,r||(r=e[Symbol.asyncIterator]()))})},pull(o){return ar(this,void 0,void 0,function*(){r?yield n(o,r):o.close()})},cancel(){return ar(this,void 0,void 0,function*(){(r?.return&&(yield r.return())||!0)&&(r=null)})}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){return ar(this,void 0,void 0,function*(){let f,_=null,w=o.desiredSize||null;for(;!(_=yield c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()})}}function LH(e){return new KO(e)}var KO=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{[\"readableStrategy\"]:r,[\"writableStrategy\"]:i,[\"queueingStrategy\"]:s=\"count\"}=t,n=U9(t,[\"readableStrategy\",\"writableStrategy\",\"queueingStrategy\"]);this._controller=null,this._builder=Cg(n),this._getSize=s!==\"bytes\"?IH:CH;let{[\"highWaterMark\"]:o=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},r),{[\"highWaterMark\"]:c=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},i);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:f=>{this._maybeFlush(this._builder,this._controller=f)},start:f=>{this._maybeFlush(this._builder,this._controller=f)}},{highWaterMark:o,size:s!==\"bytes\"?IH:CH}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:c,size:f=>this._writeValueAndReturnChunkSize(f)})}_writeValueAndReturnChunkSize(t){let r=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-r}_maybeFlush(t,r){r!=null&&(this._bufferedSize>=r.desiredSize&&++this._numChunks&&this._enqueue(r,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(r,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(r,null)))}_enqueue(t,r){this._bufferedSize=0,this._controller=null,r==null?t.close():t.enqueue(r)}},IH=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},CH=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function I3(e,t){let r=new ad,i=null,s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield r.close()})},start(c){return ar(this,void 0,void 0,function*(){yield o(c,i||(i=yield n()))})},pull(c){return ar(this,void 0,void 0,function*(){i?yield o(c,i):c.close()})}});return{writable:new WritableStream(r,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:s};function n(){return ar(this,void 0,void 0,function*(){return yield(yield cu.from(r)).open(t)})}function o(c,f){return ar(this,void 0,void 0,function*(){let _=c.desiredSize,w=null;for(;!(w=yield f.next()).done;)if(c.enqueue(w.value),_!=null&&--_<=0)return;c.close()})}}function C3(e,t){let r=new this(e),i=new $u(r),s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield i.cancel()})},pull(o){return ar(this,void 0,void 0,function*(){yield n(o)})},start(o){return ar(this,void 0,void 0,function*(){yield n(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(r,e),readable:s};function n(o){return ar(this,void 0,void 0,function*(){let c=null,f=o.desiredSize;for(;c=yield i.read(f||null);)if(o.enqueue(c),f!=null&&(f-=c.byteLength)<=0)return;o.close()})}}function R2(e){let t=cu.from(e);return ru(t)?t.then(r=>R2(r)):t.isAsync()?t.readAll().then(r=>new wa(r)):new wa(t.readAll())}var _dt=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uO),OO),MO),hO),iO),TO),oO),{compareSchemas:Rg,compareFields:nH,compareTypes:sH});xa.toDOMStream=PH;Xn.throughDOM=LH;cu.throughDOM=I3;Bg.throughDOM=I3;wp.throughDOM=I3;Fg.throughDOM=C3;k2.throughDOM=C3;L2.throughDOM=C3;var ydt=\"0.6.1\",vdt=`https://cdn.jsdelivr.net/npm/parquet-wasm@${ydt}/esm/parquet_wasm_bg.wasm`,JO=!1;async function kH(){JO||(await z9(vdt),JO=!0)}function xdt(e){if(!JO)throw new Error(\"wasm not ready\");console.time(\"readParquet\");let t=O9(new Uint8Array(e.buffer),{batchSize:Math.pow(2,31)}).intoIPCStream(),r=R2(t);return console.timeEnd(\"readParquet\"),r}function O2(e){let t=[];for(let r of e){let i=xdt(r);i.batches.length!==1&&console.warn(\"Expected one batch\"),t.push(...i.batches)}return new wa(t)}var RH=Ri(Yi(),1);function tB(e){return e instanceof Array&&e?.[0]instanceof DataView?e?.[0].byteLength>0?O2(e).getChildAt(0):null:e}var zg=class{model;callbacks;updateStateCallback;constructor(t,r){this.model=t,this.model.on(\"change\",r),this.updateStateCallback=r,this.callbacks=new Map,this.callbacks.set(\"change\",r)}async loadSubModels(){}initRegularAttribute(t,r){this[r]=this.model.get(t),this.model.off(`change:${t}`);let i=()=>{this[r]=this.model.get(t)};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}initVectorizedAccessor(t,r){this[r]=tB(this.model.get(t)),this.model.off(`change:${t}`);let i=()=>{this[r]=tB(this.model.get(t))};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}finalize(){for(let[t,r]of Object.entries(this.callbacks))this.model.off(t,r)}};async function L3(e,t){let r=[];for(let i of t)r.push(e.get_model(i.slice(10)));return await Promise.all(r)}function Jt(e){return e!=null}function DH(e,t=20){let r;return(...s)=>{clearTimeout(r),r=setTimeout(()=>e(...s),t)}}var bdt=`\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n`,wdt=`\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n`,Sdt={source:0,target:1,custom:2,source_target:3},Tdt={\"vs:DECKGL_FILTER_GL_POSITION\":`\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n `},OH={name:\"brushing\",dependencies:[Vh],vs:bdt,fs:wdt,inject:Tdt,getUniforms:e=>{if(!e||!(\"viewport\"in e))return{};let{brushingEnabled:t=!0,brushingRadius:r=1e4,brushingTarget:i=\"source\",mousePosition:s,viewport:n}=e;return{brushing_enabled:!!(t&&s&&n.containsPixel(s)),brushing_radius:r,brushing_target:Sdt[i]||0,brushing_mousePos:s?n.unproject([s.x-n.x,s.y-n.y]):[0,0]}}};var Mdt={getBrushingTarget:{type:\"accessor\",value:[0,0]},brushingTarget:\"source\",brushingEnabled:!0,brushingRadius:1e4},vm=class extends cc{getShaders(){return{modules:[OH]}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({brushingTargets:{size:2,accessor:\"getBrushingTarget\",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=()=>{var s;(s=this.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},t.deck&&t.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}finalizeState(t,r){t.deck&&t.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}};G(vm,\"defaultProps\",Mdt);G(vm,\"extensionName\",\"BrushingExtension\");var BH=`\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`,FH=`\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;function zH(e){if(!e||!(\"extensions\"in e))return{};let{filterRange:t=[-1,1],filterEnabled:r=!0,filterTransformSize:i=!0,filterTransformColor:s=!0}=e,n=e.filterSoftRange||t;return{...Number.isFinite(t[0])?{filter_min:t[0],filter_softMin:n[0],filter_softMax:n[1],filter_max:t[1]}:{filter_min:t.map(o=>o[0]),filter_softMin:n.map(o=>o[0]),filter_softMax:n.map(o=>o[1]),filter_max:t.map(o=>o[1])},filter_enabled:r,filter_useSoftMargin:!!e.filterSoftRange,filter_transformSize:r&&i,filter_transformColor:r&&s}}function Edt(e){if(!e||!(\"extensions\"in e))return{};let t=zH(e);if(Number.isFinite(t.filter_min)){let r=Math.fround(t.filter_min);t.filter_min-=r,t.filter_softMin-=r,t.filter_min64High=r;let i=Math.fround(t.filter_max);t.filter_max-=i,t.filter_softMax-=i,t.filter_max64High=i}else{let r=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((s,n)=>s-r[n]),t.filter_softMin=t.filter_softMin.map((s,n)=>s-r[n]),t.filter_min64High=r;let i=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((s,n)=>s-i[n]),t.filter_softMax=t.filter_softMax.map((s,n)=>s-i[n]),t.filter_max64High=i}return t}var NH={\"vs:#main-start\":`\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\"vs:#main-end\":`\n if (dataFilter_value == 0.0) {\n gl_Position = vec4(0.);\n }\n `,\"vs:DECKGL_FILTER_SIZE\":`\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `},UH={name:\"data-filter\",vs:BH,fs:FH,inject:NH,getUniforms:zH},VH={name:\"data-filter-fp64\",vs:BH,fs:FH,inject:NH,getUniforms:Edt};var Pdt=`#define SHADER_NAME data-filter-vertex-shader\n\n#ifdef FLOAT_TARGET\n attribute float filterIndices;\n attribute float filterPrevIndices;\n#else\n attribute vec2 filterIndices;\n attribute vec2 filterPrevIndices;\n#endif\n\nvarying vec4 vColor;\nconst float component = 1.0 / 255.0;\n\nvoid main() {\n #ifdef FLOAT_TARGET\n dataFilter_value *= float(filterIndices != filterPrevIndices);\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n vColor = vec4(0.0, 0.0, 0.0, 1.0);\n #else\n // Float texture is not supported: pack result into 4 channels x 256 px x 64px\n dataFilter_value *= float(filterIndices.x != filterPrevIndices.x);\n float col = filterIndices.x;\n float row = filterIndices.y * 4.0;\n float channel = floor(row);\n row = fract(row);\n vColor = component * vec4(bvec4(channel == 0.0, channel == 1.0, channel == 2.0, channel == 3.0));\n gl_Position = vec4(col * 2.0 - 1.0, row * 2.0 - 1.0, 0.0, 1.0);\n #endif\n gl_PointSize = 1.0;\n}\n`,Idt=`#define SHADER_NAME data-filter-fragment-shader\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n if (dataFilter_value < 0.5) {\n discard;\n }\n gl_FragColor = vColor;\n}\n`;function jH(e){return!!(e.getExtension(\"EXT_float_blend\")&&(e.getExtension(\"EXT_color_buffer_float\")||e.getExtension(\"WEBGL_color_buffer_float\")))}function GH(e,t){return t?new yi(e,{width:1,height:1,attachments:{36064:new pi(e,{format:fr(e)?34836:6408,type:5126,mipmaps:!1})}}):new yi(e,{width:256,height:64,depth:!1})}function WH(e,t,r){return t.defines.NON_INSTANCED_MODEL=1,r&&(t.defines.FLOAT_TARGET=1),new fn(e,{id:\"data-filter-aggregation-model\",vertexCount:1,isInstanced:!1,drawMode:0,vs:Pdt,fs:Idt,...t})}var HH={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var Ldt={getFilterValue:{type:\"accessor\",value:0},onFilteredItemsChange:{type:\"function\",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},qH={1:\"float\",2:\"vec2\",3:\"vec3\",4:\"vec4\"},xm=class extends cc{constructor({filterSize:t=1,fp64:r=!1,countItems:i=!1}={}){if(!qH[t])throw new Error(\"filterSize out of range\");super({filterSize:t,fp64:r,countItems:i})}getShaders(t){let{filterSize:r,fp64:i}=t.opts;return{modules:[i?VH:UH],defines:{DATAFILTER_TYPE:qH[r],DATAFILTER_DOUBLE:!!i}}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({filterValues:{size:r.opts.filterSize,type:r.opts.fp64?5130:5126,accessor:\"getFilterValue\",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});let{gl:s}=this.context;if(i&&r.opts.countItems){let n=jH(s);i.add({filterIndices:{size:n?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:(f,{index:_})=>{let w=f&&f.__source?f.__source.index:_;return n?(w+1)%255:[(w+1)%255,Math.floor(w/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});let o=GH(s,n),c=WH(s,r.getShaders.call(this,r),n);this.setState({filterFBO:o,filterModel:c})}}updateState({props:t,oldProps:r}){if(this.state.filterModel){let s=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==r.filterEnabled||t.filterRange!==r.filterRange||t.filterSoftRange!==r.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}draw(t,r){let{filterFBO:i,filterModel:s,filterNeedsUpdate:n}=this.state,{onFilteredItemsChange:o}=this.props;if(n&&o&&s){let{attributes:{filterValues:c,filterIndices:f}}=this.getAttributeManager();s.setVertexCount(this.getNumInstances());let{gl:_}=this.context;Hf(_,{framebuffer:i,color:[0,0,0,0]}),s.updateModuleSettings(t.moduleParameters).setAttributes({...c.getShaderAttributes(),...f&&f.getShaderAttributes()}).draw({framebuffer:i,parameters:{...HH,viewport:[0,0,i.width,i.height]}});let w=Dh(i),I=0;for(let R=0;R 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`}},YH={inject:{\"vs:#decl\":`\nattribute float instanceOffsets;\n`,\"vs:DECKGL_FILTER_SIZE\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\"vs:#main-end\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\"fs:#main-start\":`\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`}};var kdt={getDashArray:{type:\"accessor\",value:[0,0]},getOffset:{type:\"accessor\",value:0},dashJustified:!1,dashGapPickable:!1},bm=class extends cc{constructor({dash:t=!1,offset:r=!1,highPrecisionDash:i=!1}={}){super({dash:t||i,offset:r,highPrecisionDash:i})}isEnabled(t){return\"pathTesselator\"in t.state}getShaders(t){if(!t.isEnabled(this))return null;let r={};return t.opts.dash&&(r=tv(r,ZH)),t.opts.offset&&(r=tv(r,YH)),r}initializeState(t,r){let i=this.getAttributeManager();!i||!r.isEnabled(this)||(r.opts.dash&&i.addInstanced({instanceDashArrays:{size:2,accessor:\"getDashArray\"}}),r.opts.highPrecisionDash&&i.addInstanced({instanceDashOffsets:{size:1,accessor:\"getPath\",transform:r.getDashOffsets.bind(this)}}),r.opts.offset&&i.addInstanced({instanceOffsets:{size:1,accessor:\"getOffset\"}}))}updateState(t,r){if(!r.isEnabled(this))return;let i={};r.opts.dash&&(i.dashAlignMode=this.props.dashJustified?1:0,i.dashGapPickable=!!this.props.dashGapPickable),this.state.model.setUniforms(i)}getDashOffsets(t){let r=[0],i=this.props.positionFormat===\"XY\"?2:3,s=Array.isArray(t[0]),n=s?t.length:t.length/i,o,c;for(let f=0;f0&&(r[f]=r[f-1]+$j(c,o)),c=o;return r}};G(bm,\"defaultProps\",kdt);G(bm,\"extensionName\",\"PathStyleExtension\");var Rdt=`\n#ifdef NON_INSTANCED_MODEL\nattribute float collisionPriorities;\n#else\nattribute float instanceCollisionPriorities;\n#endif\n\nuniform sampler2D collision_texture;\nuniform bool collision_sort;\nuniform bool collision_enabled;\n\nvec2 collision_getCoords(vec4 position) {\n vec4 collision_clipspace = project_common_position_to_clipspace(position);\n return (1.0 + collision_clipspace.xy / collision_clipspace.w) / 2.0;\n}\n\nfloat collision_match(vec2 tex, vec3 pickingColor) {\n vec4 collision_pickingColor = texture2D(collision_texture, tex);\n float delta = dot(abs(collision_pickingColor.rgb - pickingColor), vec3(1.0));\n float e = 0.001;\n return step(delta, e);\n}\n\nfloat collision_isVisible(vec2 texCoords, vec3 pickingColor) {\n if (!collision_enabled) {\n return 1.0;\n }\n\n // Visibility test, sample area of 5x5 pixels in order to fade in/out.\n // Due to the locality, the lookups will be cached\n // This reduces the flicker present when objects are shown/hidden\n const int N = 2;\n float accumulator = 0.0;\n vec2 step = vec2(1.0 / project_uViewportSize);\n\n const float floatN = float(N);\n vec2 delta = -floatN * step;\n for(int i = -N; i <= N; i++) {\n delta.x = -step.x * floatN;\n for(int j = -N; j <= N; j++) {\n accumulator += collision_match(texCoords + delta, pickingColor);\n delta.x += step.x;\n }\n delta.y += step.y;\n }\n\n float W = 2.0 * floatN + 1.0;\n return pow(accumulator / (W * W), 2.2);\n}\n`,Ddt={\"vs:#decl\":`\n float collision_fade = 1.0;\n`,\"vs:DECKGL_FILTER_GL_POSITION\":`\n if (collision_sort) {\n #ifdef NON_INSTANCED_MODEL\n float collisionPriority = collisionPriorities;\n #else\n float collisionPriority = instanceCollisionPriorities;\n #endif\n position.z = -0.001 * collisionPriority * position.w; // Support range -1000 -> 1000\n }\n\n if (collision_enabled) {\n vec4 collision_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n vec2 collision_texCoords = collision_getCoords(collision_common_position);\n collision_fade = collision_isVisible(collision_texCoords, geometry.pickingColor / 255.0);\n if (collision_fade < 0.0001) {\n // Position outside clip space bounds to discard\n position = vec4(0.0, 0.0, 2.0, 1.0);\n }\n }\n `,\"vs:DECKGL_FILTER_COLOR\":`\n color.a *= collision_fade;\n `},Odt=(e,t)=>{if(!e||!(\"dummyCollisionMap\"in e))return{};let{collisionFBO:r,drawToCollisionMap:i,dummyCollisionMap:s}=e;return{collision_sort:!!i,collision_texture:!i&&r?r:s}},QH={name:\"collision\",dependencies:[Vh],vs:Rdt,inject:Ddt,getUniforms:Odt};var B2=class extends sc{renderCollisionMap(t,r){let i=this.gl,s=1;return Mn(i,{scissorTest:!0,scissor:[s,s,t.width-2*s,t.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},()=>this.render({...r,target:t,pass:\"collision\"}))}getModuleParameters(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}};var F2=class extends sc{constructor(t,r){super(t,r),G(this,\"maskMap\",void 0),G(this,\"fbo\",void 0);let{mapSize:i=2048}=r;this.maskMap=new pi(t,{width:i,height:i,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.fbo=new yi(t,{id:\"maskmap\",width:i,height:i,attachments:{36064:this.maskMap}})}render(t){let r=this.gl,i=[!1,!1,!1,!1];return i[t.channel]=!0,Mn(r,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:i,depthTest:!1},()=>super.render({...t,target:this.fbo,pass:\"mask\"}))}shouldDrawLayer(t){return t.props.operation.includes(\"mask\")}delete(){this.fbo.delete(),this.maskMap.delete()}};function $H(e,t){let r=[1/0,1/0,-1/0,-1/0];for(let i of e){let s=i.getBounds();if(s){let n=i.projectPosition(s[0],{viewport:t,autoOffset:!1}),o=i.projectPosition(s[1],{viewport:t,autoOffset:!1});r[0]=Math.min(r[0],n[0]),r[1]=Math.min(r[1],n[1]),r[2]=Math.max(r[2],o[0]),r[3]=Math.max(r[3],o[1])}}return Number.isFinite(r[0])?r:null}var Bdt=2048;function XH(e){let{bounds:t,viewport:r,border:i=0}=e,{isGeospatial:s}=r;if(t[2]<=t[0]||t[3]<=t[1])return null;let n=r.unprojectPosition([(t[0]+t[2])/2,(t[1]+t[3])/2,0]),{width:o,height:c,zoom:f}=e;if(f===void 0){o=o-i*2,c=c-i*2;let _=Math.min(o/(t[2]-t[0]),c/(t[3]-t[1]));f=Math.min(Math.log2(_),20)}else if(!o||!c){let _=2**f;o=Math.round(Math.abs(t[2]-t[0])*_),c=Math.round(Math.abs(t[3]-t[1])*_);let w=Bdt-i*2;if(o>w||c>w){let I=w/Math.max(o,c);o=Math.round(o*I),c=Math.round(c*I),f+=Math.log2(I)}}return s?new lc({id:r.id,x:i,y:i,width:o,height:c,longitude:n[0],latitude:n[1],zoom:f,orthographic:!0}):new iv({id:r.id,x:i,y:i,width:o,height:c,target:n,zoom:f,flipY:!1})}function Fdt(e,t){let r;if(t&&t.length===2){let[n,o]=t,c=e.getBounds({z:n}),f=e.getBounds({z:o});r=[Math.min(c[0],f[0]),Math.min(c[1],f[1]),Math.max(c[2],f[2]),Math.max(c[3],f[3])]}else r=e.getBounds();let i=e.projectPosition(r.slice(0,2)),s=e.projectPosition(r.slice(2,4));return[i[0],i[1],s[0],s[1]]}function KH(e,t,r){if(!e)return[0,0,1,1];let i=Fdt(t,r),s=zdt(i);return e[2]-e[0]<=s[2]-s[0]&&e[3]-e[1]<=s[3]-s[1]?e:[Math.max(e[0],s[0]),Math.max(e[1],s[1]),Math.min(e[2],s[2]),Math.min(e[3],s[3])]}function zdt(e){let t=e[2]-e[0],r=e[3]-e[1],i=(e[0]+e[2])/2,s=(e[1]+e[3])/2;return[i-t,s-r,i+t,s+r]}var z2=class{constructor(){G(this,\"id\",\"mask-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",0),G(this,\"dummyMaskMap\",void 0),G(this,\"channels\",[]),G(this,\"masks\",null),G(this,\"maskPass\",void 0),G(this,\"maskMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o,isPicking:c}){let f=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new pi(t,{width:1,height:1})),c)return{didRender:f};let _=r.filter(N=>N.props.visible&&N.props.operation.includes(\"mask\"));if(_.length===0)return this.masks=null,this.channels.length=0,{didRender:f};this.masks={},this.maskPass||(this.maskPass=new F2(t,{id:\"default-mask\"}),this.maskMap=this.maskPass.maskMap);let w=this._sortMaskChannels(_),I=s[0],R=!this.lastViewport||!this.lastViewport.equals(I);if(I.resolution!==void 0)return or.warn(\"MaskExtension is not supported in GlobeView\")(),{didRender:f};for(let N in w){let j=this._renderChannel(w[N],{layerFilter:i,onViewportActive:n,views:o,viewport:I,viewportChanged:R});f||(f=j)}return{didRender:f}}_renderChannel(t,{layerFilter:r,onViewportActive:i,views:s,viewport:n,viewportChanged:o}){let c=!1,f=this.channels[t.index];if(!f)return c;let _=t===f||t.layers.length!==f.layers.length||t.layers.some((w,I)=>w!==f.layers[I]||w.props.transitions)||t.layerBounds.some((w,I)=>w!==f.layerBounds[I]);if(t.bounds=f.bounds,t.maskBounds=f.maskBounds,this.channels[t.index]=t,_||o){this.lastViewport=n;let w=$H(t.layers,n);if(t.bounds=w&&KH(w,n),_||!Ro(t.bounds,f.bounds)){let{maskPass:I,maskMap:R}=this,N=w&&XH({bounds:t.bounds,viewport:n,width:R.width,height:R.height,border:1});t.maskBounds=N?N.getBounds():[0,0,1,1],I.render({pass:\"mask\",channel:t.index,layers:t.layers,layerFilter:r,viewports:N?[N]:[],onViewportActive:i,views:s,moduleParameters:{devicePixelRatio:1}}),c=!0}}return this.masks[t.id]={index:t.index,bounds:t.maskBounds,coordinateOrigin:t.coordinateOrigin,coordinateSystem:t.coordinateSystem},c}_sortMaskChannels(t){let r={},i=0;for(let s of t){let{id:n}=s.root,o=r[n];if(!o){if(++i>4){or.warn(\"Too many mask layers. The max supported is 4\")();continue}o={id:n,index:this.channels.findIndex(c=>c?.id===n),layers:[],layerBounds:[],coordinateOrigin:s.root.props.coordinateOrigin,coordinateSystem:s.root.props.coordinateSystem},r[n]=o}o.layers.push(s),o.layerBounds.push(s.getBounds())}for(let s=0;s<4;s++){let n=this.channels[s];(!n||!(n.id in r))&&(this.channels[s]=null)}for(let s in r){let n=r[s];n.index<0&&(n.index=this.channels.findIndex(o=>!o),this.channels[n.index]=n)}return r}getModuleParameters(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}cleanup(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}};var eB=2,N2=class{constructor(){G(this,\"id\",\"collision-filter-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",1),G(this,\"channels\",{}),G(this,\"collisionFilterPass\",void 0),G(this,\"collisionFBOs\",{}),G(this,\"dummyCollisionMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{effects:r,layers:i,layerFilter:s,viewports:n,onViewportActive:o,views:c,isPicking:f,preRenderStats:_={}}){var w;if(this.dummyCollisionMap||(this.dummyCollisionMap=new pi(t,{width:1,height:1})),f)return;let I=i.filter(({props:{visible:Y,collisionEnabled:K}})=>Y&&K);if(I.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new B2(t,{id:\"default-collision-filter\"}));let R=r?.filter(Y=>Y.constructor===z2),N=(w=_[\"mask-effect\"])===null||w===void 0?void 0:w.didRender,j=this._groupByCollisionGroup(t,I),Q=n[0],et=!this.lastViewport||!this.lastViewport.equals(Q)||N;for(let Y in j){let K=this.collisionFBOs[Y],J=j[Y];K.resize({width:t.canvas.width/eB,height:t.canvas.height/eB}),this._render(J,{effects:R,layerFilter:s,onViewportActive:o,views:c,viewport:Q,viewportChanged:et})}}_render(t,{effects:r,layerFilter:i,onViewportActive:s,views:n,viewport:o,viewportChanged:c}){let{collisionGroup:f}=t,_=this.channels[f];if(!_)return;let w=c||t===_||!mo(_.layers,t.layers,1)||t.layerBounds.some((I,R)=>!Ro(I,_.layerBounds[R]))||t.allLayersLoaded!==_.allLayersLoaded||t.layers.some(I=>I.props.transitions);if(this.channels[f]=t,w){this.lastViewport=o;let I=this.collisionFBOs[f];this.collisionFilterPass.renderCollisionMap(I,{pass:\"collision-filter\",isPicking:!0,layers:t.layers,effects:r,layerFilter:i,viewports:o?[o]:[],onViewportActive:s,views:n,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:El(I.gl)/eB}})}}_groupByCollisionGroup(t,r){let i={};for(let s of r){let{collisionGroup:n}=s.props,o=i[n];o||(o={collisionGroup:n,layers:[],layerBounds:[],allLayersLoaded:!0},i[n]=o),o.layers.push(s),o.layerBounds.push(s.getBounds()),s.isLoaded||(o.allLayersLoaded=!1)}for(let s of Object.keys(i))this.collisionFBOs[s]||this.createFBO(t,s),this.channels[s]||(this.channels[s]=i[s]);for(let s of Object.keys(this.collisionFBOs))i[s]||this.destroyFBO(s);return i}getModuleParameters(t){let{collisionGroup:r}=t.props,{collisionFBOs:i,dummyCollisionMap:s}=this;return{collisionFBO:i[r],dummyCollisionMap:s}}cleanup(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(let t of Object.keys(this.collisionFBOs))this.destroyFBO(t);this.collisionFBOs={},this.lastViewport=void 0}createFBO(t,r){let{width:i,height:s}=t.canvas,n=new pi(t,{width:i,height:s,parameters:{10241:9728,10240:9728,10242:33071,10243:33071}}),o=new el(t,{format:33189,width:i,height:s});this.collisionFBOs[r]=new yi(t,{id:\"Collision-\".concat(r),width:i,height:s,attachments:{36064:n,36096:o}})}destroyFBO(t){let r=this.collisionFBOs[t];for(let i of Object.values(r.attachments))i.delete();r.delete(),delete this.collisionFBOs[t]}};var Ndt={getCollisionPriority:{type:\"accessor\",value:0},collisionEnabled:!0,collisionGroup:{type:\"string\",value:\"default\"},collisionTestProps:{}},wm=class extends cc{getShaders(){return{modules:[QH]}}draw({uniforms:t,context:r,moduleParameters:i}){let{collisionEnabled:s}=this.props,{collisionFBO:n,drawToCollisionMap:o}=i,c=s&&!!n;t.collision_enabled=c,o&&(this.props=this.clone(this.props.collisionTestProps).props)}initializeState(t,r){var i;if(this.getAttributeManager()===null)return;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new N2),this.getAttributeManager().add({collisionPriorities:{size:1,accessor:\"getCollisionPriority\",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}getNeedsPickingBuffer(){return this.props.collisionEnabled}};G(wm,\"defaultProps\",Ndt);G(wm,\"extensionName\",\"CollisionFilterExtension\");var Ng=class extends zg{static extensionType;constructor(t,r){super(t,r)}},U2=class extends Ng{static extensionType=\"brushing\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new vm,r.initRegularAttribute(\"brushing_enabled\",\"brushingEnabled\"),r.initRegularAttribute(\"brushing_target\",\"brushingTarget\"),r.initRegularAttribute(\"brushing_radius\",\"brushingRadius\"),r.initVectorizedAccessor(\"get_brushing_target\",\"getBrushingTarget\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"brushingEnabled\",\"brushingTarget\",\"brushingRadius\",\"getBrushingTarget\"]}},V2=class extends Ng{static extensionType=\"collision-filter\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new wm,r.initRegularAttribute(\"collision_enabled\",\"collisionEnabled\"),r.initRegularAttribute(\"collision_group\",\"collisionGroup\"),r.initRegularAttribute(\"collision_test_props\",\"collisionTestProps\"),r.initVectorizedAccessor(\"get_collision_priority\",\"getCollisionPriority\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"collisionEnabled\",\"collisionGroup\",\"collisionTestProps\",\"getCollisionPriority\"]}},k3=class extends Ng{static extensionType=\"data-filter\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"filter_size\");this.extensionInstance=new xm({filterSize:s}),r.initRegularAttribute(\"filter_enabled\",\"filterEnabled\"),r.initRegularAttribute(\"filter_range\",\"filterRange\"),r.initRegularAttribute(\"filter_soft_range\",\"filterSoftRange\"),r.initRegularAttribute(\"filter_transform_size\",\"filterTransformSize\"),r.initRegularAttribute(\"filter_transform_color\",\"filterTransformColor\"),r.initVectorizedAccessor(\"get_filter_value\",\"getFilterValue\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"filterEnabled\",\"filterRange\",\"filterSoftRange\",\"filterTransformSize\",\"filterTransformColor\",\"getFilterValue\"]}},j2=class extends Ng{static extensionType=\"path-style\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"dash\"),n=this.model.get(\"high_precision_dash\"),o=this.model.get(\"offset\");this.extensionInstance=new bm({...Jt(s)?{dash:s}:{},...Jt(n)?{highPrecisionDash:n}:{},...Jt(o)?{offset:o}:{}}),r.initRegularAttribute(\"dash_gap_pickable\",\"dashGapPickable\"),r.initRegularAttribute(\"dash_justified\",\"dashJustified\"),r.initVectorizedAccessor(\"get_dash_array\",\"getDashArray\"),r.initVectorizedAccessor(\"get_offset\",\"getOffset\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"dashGapPickable\",\"dashJustified\",\"getDashArray\",\"getOffset\"]}};async function rB(e,t,r){let i=e.get(\"_extension_type\"),s;switch(i){case U2.extensionType:s=new U2(e,t,r);break;case V2.extensionType:s=new V2(e,t,r);break;case k3.extensionType:s=new k3(e,t,r);break;case j2.extensionType:s=new j2(e,t,r);break;default:throw new Error(`no known model for extension type ${i}`)}return await s.loadSubModels(),s}var Ug=class extends zg{pickable;visible;opacity;autoHighlight;extensions;extensionLayerPropertyNames=[];constructor(t,r){super(t,r),this.initRegularAttribute(\"pickable\",\"pickable\"),this.initRegularAttribute(\"visible\",\"visible\"),this.initRegularAttribute(\"opacity\",\"opacity\"),this.initRegularAttribute(\"auto_highlight\",\"autoHighlight\"),this.extensions=[]}async loadSubModels(){await this.initLayerExtensions()}extensionInstances(){return this.extensions.map(t=>t.extensionInstance)}extensionProps(){let t={};for(let r of this.extensionLayerPropertyNames)Jt(this[r])&&(t[r]=this[r]);return t}onClick(t){t.index&&(this.model.set(\"selected_index\",t.index),this.model.save_changes())}baseLayerProps(){return{extensions:this.extensionInstances(),...this.extensionProps(),id:this.model.model_id,pickable:this.pickable,visible:this.visible,opacity:this.opacity,autoHighlight:this.autoHighlight,onClick:this.onClick.bind(this)}}async initLayerExtensions(){let t=async()=>{let r=this.model.get(\"extensions\");if(!r){this.extensions=[];return}let i=await L3(this.model.widget_manager,r),s=[];for(let n of i){let o=await rB(n,this,this.updateStateCallback);s.push(o)}this.extensions=s};await t(),this.model.off(\"change:extensions\"),this.model.on(\"change:extensions\",t),this.callbacks.set(\"change:extensions\",t)}};var JH=`#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var tq=`#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var R3=[0,0,0,255],Udt={getSourcePosition:{type:\"accessor\",value:e=>e.sourcePosition},getTargetPosition:{type:\"accessor\",value:e=>e.targetPosition},getSourceColor:{type:\"accessor\",value:R3},getTargetColor:{type:\"accessor\",value:R3},getWidth:{type:\"accessor\",value:1},getHeight:{type:\"accessor\",value:1},getTilt:{type:\"accessor\",value:0},greatCircle:!1,numSegments:{type:\"number\",value:50,min:1},widthUnits:\"pixels\",widthScale:{type:\"number\",value:1,min:0},widthMinPixels:{type:\"number\",value:0,min:0},widthMaxPixels:{type:\"number\",value:Number.MAX_SAFE_INTEGER,min:0}},Tp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"instanceSourcePositions\",\"instanceTargetPositions\"])}getShaders(){return super.getShaders({vs:JH,fs:tq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getSourcePosition\"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getTargetPosition\"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getSourceColor\",defaultValue:R3},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getTargetColor\",defaultValue:R3},instanceWidths:{size:1,transition:!0,accessor:\"getWidth\",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:\"getHeight\",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:\"getTilt\",defaultValue:0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t;if(s.extensionsChanged||s.propsChanged&&r.numSegments!==i.numSegments){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{widthUnits:r,widthScale:i,widthMinPixels:s,widthMaxPixels:n,greatCircle:o,wrapLongitude:c}=this.props;this.state.model.setUniforms(t).setUniforms({greatCircle:o,widthUnits:po[r],widthScale:i,widthMinPixels:s,widthMaxPixels:n,useShortestPath:c}).draw()}_getModel(t){let{id:r,numSegments:i}=this.props,s=[];for(let o=0;o0&&j>0&&(c[I++]=w-n,c[I++]=w-n-1,c[I++]=w-1,c[I++]=w-n,c[I++]=w-1,c[I++]=w),w++}}return{vertexCount:o,positions:_,indices:c,texCoords:f}}function Gdt(e){let t=new Float64Array(12);for(let r=0;r 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n`;var Hdt=`\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n`,rq=`\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n`.concat(Hdt,`\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n`);var qdt={image:{type:\"image\",value:null,async:!0},bounds:{type:\"array\",value:[1,0,0,1],compare:!0},_imageCoordinateSystem:Yr.DEFAULT,desaturate:{type:\"number\",min:0,max:1,value:0},transparentColor:{type:\"color\",value:[0,0,0,0]},tintColor:{type:\"color\",value:[255,255,255]},textureParameters:{type:\"object\",ignore:!0}},Mp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:eq,fs:rq,modules:[Rs,Ao]})}initializeState(){let t=this.getAttributeManager();t.remove([\"instancePickingColors\"]);let r=!0;t.add({indices:{size:1,isIndexed:!0,update:i=>i.value=this.state.mesh.indices,noAlloc:r},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:i=>i.value=this.state.mesh.positions,noAlloc:r},texCoords:{size:2,update:i=>i.value=this.state.mesh.texCoords,noAlloc:r}})}updateState({props:t,oldProps:r,changeFlags:i}){let s=this.getAttributeManager();if(i.extensionsChanged){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),s.invalidateAll()}if(t.bounds!==r.bounds){let o=this.state.mesh,c=this._createMesh();this.state.model.setVertexCount(c.vertexCount);for(let f in c)o&&o[f]!==c[f]&&s.invalidate(f);this.setState({mesh:c,...this._getCoordinateUniforms()})}else t._imageCoordinateSystem!==r._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}getPickingInfo(t){let{image:r}=this.props,i=t.info;if(!i.color||!r)return i.bitmap=null,i;let{width:s,height:n}=r;i.index=0;let o=Zdt(i.color),c=[Math.floor(o[0]*s),Math.floor(o[1]*n)];return i.bitmap={size:{width:s,height:n},uv:o,pixel:c},i}disablePickingIndex(){this.setState({disablePicking:!0})}restorePickingColors(){this.setState({disablePicking:!1})}_updateAutoHighlight(t){super._updateAutoHighlight({...t,color:this.encodePickingColor(0)})}_createMesh(){let{bounds:t}=this.props,r=t;return iq(t)&&(r=[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]]]),iB(r,this.context.viewport.resolution)}_getModel(t){return t?new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,vertexCount:6}),isInstanced:!1}):null}draw(t){let{uniforms:r,moduleParameters:i}=t,{model:s,coordinateConversion:n,bounds:o,disablePicking:c}=this.state,{image:f,desaturate:_,transparentColor:w,tintColor:I}=this.props;i.pickingActive&&c||f&&s&&s.setUniforms(r).setUniforms({bitmapTexture:f,desaturate:_,transparentColor:w.map(R=>R/255),tintColor:I.slice(0,3).map(R=>R/255),coordinateConversion:n,bounds:o}).draw()}_getCoordinateUniforms(){let{LNGLAT:t,CARTESIAN:r,DEFAULT:i}=Yr,{_imageCoordinateSystem:s}=this.props;if(s!==i){let{bounds:n}=this.props;if(!iq(n))throw new Error(\"_imageCoordinateSystem only supports rectangular bounds\");let o=this.context.viewport.resolution?t:r;if(s=s===t?t:r,s===t&&o===r)return{coordinateConversion:-1,bounds:n};if(s===r&&o===t){let c=va([n[0],n[1]]),f=va([n[2],n[3]]);return{coordinateConversion:1,bounds:[c[0],c[1],f[0],f[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}};G(Mp,\"layerName\",\"BitmapLayer\");G(Mp,\"defaultProps\",qdt);function Zdt(e){let[t,r,i]=e,s=(i&240)/256,n=(i&15)/16;return[(t+n)/256,(r+s)/256]}function iq(e){return Number.isFinite(e[0])}var nq=`#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n`;var sq=`#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Ydt=1024,Qdt=4,oq=()=>{},aq={10241:9987,10240:9729,10242:33071,10243:33071};function $dt(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function Xdt(e,t,r,i){let s=Math.min(r/t.width,i/t.height),n=Math.floor(t.width*s),o=Math.floor(t.height*s);return s===1?{data:t,width:n,height:o}:(e.canvas.height=o,e.canvas.width=n,e.clearRect(0,0,n,o),e.drawImage(t,0,0,t.width,t.height,0,0,n,o),{data:e.canvas,width:n,height:o})}function G2(e){return e&&(e.id||e.url)}function Kdt(e,t,r,i){let s=e.width,n=e.height,o=new pi(e.gl,{width:t,height:r,parameters:i});return gE(e,o,{targetY:0,width:s,height:n}),e.delete(),o}function lq(e,t,r){for(let i=0;io&&(lq(r,c,s),i=0,s=n+s+t,n=0,c=[]),c.push({icon:_,xOffset:i}),i=i+R+t,n=Math.max(n,I)}}return c.length>0&&lq(r,c,s),{mapping:r,rowHeight:n,xOffset:i,yOffset:s,canvasWidth:o,canvasHeight:$dt(n+s+t)}}function tpt(e,t,r){if(!e||!t)return null;r=r||{};let i={},{iterable:s,objectInfo:n}=Jc(e);for(let o of s){n.index++;let c=t(o,n),f=G2(c);if(!c)throw new Error(\"Icon is missing.\");if(!c.url)throw new Error(\"Icon url is missing.\");!i[f]&&(!r[f]||c.url!==r[f].url)&&(i[f]={...c,source:o,sourceIndex:n.index})}return i}var W2=class{constructor(t,{onUpdate:r=oq,onError:i=oq}){G(this,\"gl\",void 0),G(this,\"onUpdate\",void 0),G(this,\"onError\",void 0),G(this,\"_loadOptions\",null),G(this,\"_texture\",null),G(this,\"_externalTexture\",null),G(this,\"_mapping\",{}),G(this,\"_textureParameters\",null),G(this,\"_pendingCount\",0),G(this,\"_autoPacking\",!1),G(this,\"_xOffset\",0),G(this,\"_yOffset\",0),G(this,\"_rowHeight\",0),G(this,\"_buffer\",Qdt),G(this,\"_canvasWidth\",Ydt),G(this,\"_canvasHeight\",0),G(this,\"_canvas\",null),this.gl=t,this.onUpdate=r,this.onError=i}finalize(){var t;(t=this._texture)===null||t===void 0||t.delete()}getTexture(){return this._texture||this._externalTexture}getIconMapping(t){let r=this._autoPacking?G2(t):t;return this._mapping[r]||{}}setProps({loadOptions:t,autoPacking:r,iconAtlas:i,iconMapping:s,textureParameters:n}){if(t&&(this._loadOptions=t),r!==void 0&&(this._autoPacking=r),s&&(this._mapping=s),i){var o;(o=this._texture)===null||o===void 0||o.delete(),this._texture=null,this._externalTexture=i}n&&(this._textureParameters=n)}get isLoaded(){return this._pendingCount===0}packIcons(t,r){if(!this._autoPacking||typeof document>\"u\")return;let i=Object.values(tpt(t,r,this._mapping)||{});if(i.length>0){let{mapping:s,xOffset:n,yOffset:o,rowHeight:c,canvasHeight:f}=Jdt({icons:i,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=c,this._mapping=s,this._xOffset=n,this._yOffset=o,this._canvasHeight=f,this._texture||(this._texture=new pi(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:this._textureParameters||aq})),this._texture.height!==this._canvasHeight&&(this._texture=Kdt(this._texture,this._canvasWidth,this._canvasHeight,this._textureParameters||aq)),this.onUpdate(),this._canvas=this._canvas||document.createElement(\"canvas\"),this._loadIcons(i)}}_loadIcons(t){let r=this._canvas.getContext(\"2d\",{willReadFrequently:!0});for(let i of t)this._pendingCount++,jA(i.url,this._loadOptions).then(s=>{let n=G2(i),o=this._mapping[n],{x:c,y:f,width:_,height:w}=o,{data:I,width:R,height:N}=Xdt(r,s,_,w);this._texture.setSubImageData({data:I,x:c+(_-R)/2,y:f+(w-N)/2,width:R,height:N}),o.width=R,o.height=N,this._texture.generateMipmap(),this.onUpdate()}).catch(s=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:s})}).finally(()=>{this._pendingCount--})}};var cq=[0,0,0,255],ept={iconAtlas:{type:\"image\",value:null,async:!0},iconMapping:{type:\"object\",value:{},async:!0},sizeScale:{type:\"number\",value:1,min:0},billboard:!0,sizeUnits:\"pixels\",sizeMinPixels:{type:\"number\",min:0,value:0},sizeMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:\"number\",value:.05,min:0,max:1},getPosition:{type:\"accessor\",value:e=>e.position},getIcon:{type:\"accessor\",value:e=>e.icon},getColor:{type:\"accessor\",value:cq},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},onIconError:{type:\"function\",value:null,optional:!0},textureParameters:{type:\"object\",ignore:!0}},Ep=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:nq,fs:sq,modules:[Rs,Ao]})}initializeState(){this.state={iconManager:new W2(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceOffsets:{size:2,accessor:\"getIcon\",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:\"getIcon\",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:\"getIcon\",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:cq},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instancePixelOffset:{size:2,transition:!0,accessor:\"getPixelOffset\"}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=this.getAttributeManager(),{iconAtlas:o,iconMapping:c,data:f,getIcon:_,textureParameters:w}=r,{iconManager:I}=this.state,R=o||this.internalState.isAsyncPropLoading(\"iconAtlas\");if(I.setProps({loadOptions:r.loadOptions,autoPacking:!R,iconAtlas:o,iconMapping:R?c:null,textureParameters:w}),R?i.iconMapping!==r.iconMapping&&n.invalidate(\"getIcon\"):(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getIcon))&&I.packIcons(f,_),s.extensionsChanged){var N;let{gl:j}=this.context;(N=this.state.model)===null||N===void 0||N.delete(),this.state.model=this._getModel(j),n.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(t){super.finalizeState(t),this.state.iconManager.finalize()}draw({uniforms:t}){let{sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,sizeUnits:n,billboard:o,alphaCutoff:c}=this.props,{iconManager:f}=this.state,_=f.getTexture();_&&this.state.model.setUniforms(t).setUniforms({iconsTexture:_,iconsTextureDim:[_.width,_.height],sizeUnits:po[n],sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,billboard:o,alphaCutoff:c}).draw()}_getModel(t){let r=[-1,-1,-1,1,1,1,1,-1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}_onUpdate(){this.setNeedsRedraw()}_onError(t){var r;let i=(r=this.getCurrentLayer())===null||r===void 0?void 0:r.props.onIconError;i?i(t):or.error(t.error.message)()}getInstanceOffset(t){let{width:r,height:i,anchorX:s=r/2,anchorY:n=i/2}=this.state.iconManager.getIconMapping(t);return[r/2-s,i/2-n]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){let{x:r,y:i,width:s,height:n}=this.state.iconManager.getIconMapping(t);return[r,i,s,n]}};G(Ep,\"defaultProps\",ept);G(Ep,\"layerName\",\"IconLayer\");var uq=`#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var hq=`#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var fq=[0,0,0,255],dq=[0,0,1],rpt={sizeUnits:\"pixels\",pointSize:{type:\"number\",min:0,value:10},getPosition:{type:\"accessor\",value:e=>e.position},getNormal:{type:\"accessor\",value:dq},getColor:{type:\"accessor\",value:fq},material:!0,radiusPixels:{deprecatedFor:\"pointSize\"}};function ipt(e){let{header:t,attributes:r}=e;!t||!r||(e.length=t.vertexCount,r.POSITION&&(r.instancePositions=r.POSITION),r.NORMAL&&(r.instanceNormals=r.NORMAL),r.COLOR_0&&(r.instanceColors=r.COLOR_0))}var Pp=class extends dn{getShaders(){return super.getShaders({vs:uq,fs:hq,modules:[Rs,Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceNormals:{size:3,transition:!0,accessor:\"getNormal\",defaultValue:dq},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:fq}})}updateState(t){let{changeFlags:r,props:i}=t;if(super.updateState(t),r.extensionsChanged){var s;let{gl:n}=this.context;(s=this.state.model)===null||s===void 0||s.delete(),this.state.model=this._getModel(n),this.getAttributeManager().invalidateAll()}r.dataChanged&&ipt(i.data)}draw({uniforms:t}){let{pointSize:r,sizeUnits:i}=this.props;this.state.model.setUniforms(t).setUniforms({sizeUnits:po[i],radiusPixels:r}).draw()}_getModel(t){let r=[];for(let i=0;i<3;i++){let s=i/3*Math.PI*2;r.push(Math.cos(s)*2,Math.sin(s)*2,0)}return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,attributes:{positions:new Float32Array(r)}}),isInstanced:!0})}};G(Pp,\"layerName\",\"PointCloudLayer\");G(Pp,\"defaultProps\",rpt);var pq=`#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var Aq=`#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var mq=[0,0,0,255],npt={radiusUnits:\"meters\",radiusScale:{type:\"number\",min:0,value:1},radiusMinPixels:{type:\"number\",min:0,value:0},radiusMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},lineWidthUnits:\"meters\",lineWidthScale:{type:\"number\",min:0,value:1},lineWidthMinPixels:{type:\"number\",min:0,value:0},lineWidthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},stroked:!1,filled:!0,billboard:!1,antialiasing:!0,getPosition:{type:\"accessor\",value:e=>e.position},getRadius:{type:\"accessor\",value:1},getFillColor:{type:\"accessor\",value:mq},getLineColor:{type:\"accessor\",value:mq},getLineWidth:{type:\"accessor\",value:1},strokeWidth:{deprecatedFor:\"getLineWidth\"},outline:{deprecatedFor:\"stroked\"},getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},Ku=class extends dn{getShaders(){return super.getShaders({vs:pq,fs:Aq,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceRadius:{size:1,transition:!0,accessor:\"getRadius\",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){if(super.updateState(t),t.changeFlags.extensionsChanged){var r;let{gl:i}=this.context;(r=this.state.model)===null||r===void 0||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{radiusUnits:r,radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,stroked:o,filled:c,billboard:f,antialiasing:_,lineWidthUnits:w,lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}=this.props;this.state.model.setUniforms(t).setUniforms({stroked:o?1:0,filled:c,billboard:f,antialiasing:_,radiusUnits:po[r],radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,lineWidthUnits:po[w],lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}).draw()}_getModel(t){let r=[-1,-1,0,1,-1,0,1,1,0,-1,1,0];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Ku,\"defaultProps\",npt);G(Ku,\"layerName\",\"ScatterplotLayer\");var Kv={CLOCKWISE:1,COUNTER_CLOCKWISE:-1};function Vg(e,t,r={}){return gq(e,r)!==t?(spt(e,r),!0):!1}function gq(e,t={}){return Math.sign(D3(e,t))}function D3(e,t={}){let{start:r=0,end:i=e.length}=t,s=t.size||2,n=0;for(let o=r,c=i-s;o0){let s=!0;for(let n=0;nt[2]&&(r|=2),e[1]t[3]&&(r|=8),r}function Z2(e,t){let{size:r=2,broken:i=!1,gridResolution:s=10,gridOffset:n=[0,0],startIndex:o=0,endIndex:c=e.length}=t||{},f=(c-o)/r,_=[],w=[_],I=Sm(e,0,r,o),R,N,j=vq(I,s,n,[]),Q=[];xc(_,I);for(let et=1;etr&&(_=[],w.push(_),xc(_,I)),N=q2(R,j)}xc(_,R),H2(I,R)}return i?w:w[0]}var _q=0,apt=1;function B3(e,t){for(let r=0;r=0?(xc(_,N)&&I.push(Q),ut+=j):I.length&&(I[I.length-1]=_q),H2(et,N),Y=j,K=Q;return[J?{pos:f,types:t&&w}:null,ut?{pos:_,types:t&&I}:null]}function vq(e,t,r,i){let s=Math.floor((e[0]-r[0])/t)*t+r[0],n=Math.floor((e[1]-r[1])/t)*t+r[1];return i[0]=s,i[1]=n,i[2]=s+t,i[3]=n+t,i}function lpt(e,t,r){r&8?(e[1]+=t,e[3]+=t):r&4?(e[1]-=t,e[3]-=t):r&2?(e[0]+=t,e[2]+=t):r&1&&(e[0]-=t,e[2]-=t)}function cpt(e,t,r,i){let s=1/0,n=-1/0,o=1/0,c=-1/0;for(let f=0;fn?_:n,o=wc?w:c}return i[0][0]=s,i[0][1]=o,i[1][0]=n,i[1][1]=c,i}var upt=85.051129;function nB(e,t){let{size:r=2,startIndex:i=0,endIndex:s=e.length,normalize:n=!0}=t||{},o=e.slice(i,s);xq(o,r,0,s-i);let c=Z2(o,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(n)for(let f of c)bq(f,r);return c}function sB(e,t=null,r){let{size:i=2,normalize:s=!0,edgeTypes:n=!1}=r||{};t=t||[];let o=[],c=[],f=0,_=0;for(let I=0;I<=t.length;I++){let R=t[I]||e.length,N=_,j=hpt(e,i,f,R);for(let Q=j;Qs&&(s=c,n=o-1)}return n}function fpt(e,t,r,i,s=upt){let n=e[r],o=e[i-t];if(Math.abs(n-o)>180){let c=Sm(e,0,t,r);c[0]+=Math.round((o-n)/360)*360,xc(e,c),c[1]=Math.sign(c[1])*s,xc(e,c),c[0]=n,xc(e,c)}}function xq(e,t,r,i){let s=e[0],n;for(let o=r;o180||c<-180)&&(n-=Math.round(c/360)*360),e[o]=s=n}}function bq(e,t){let r,i=e.length/t;for(let n=0;n=i),s=s.flatMap(N=>[N[0],N[1]]),Vg(s,Kv.COUNTER_CLOCKWISE));let n=r>0,o=i+1,c=n?o*3+1:i,f=Math.PI*2/i,_=new Uint16Array(n?i*3*2:0),w=new Float32Array(c*3),I=new Float32Array(c*3),R=0;if(n){for(let N=0;N 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Sq=`#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n`;var F3=[0,0,0,255],Apt={diskResolution:{type:\"number\",min:4,value:20},vertices:null,radius:{type:\"number\",min:0,value:1e3},angle:{type:\"number\",value:0},offset:{type:\"array\",value:[0,0]},coverage:{type:\"number\",min:0,max:1,value:1},elevationScale:{type:\"number\",min:0,value:1},radiusUnits:\"meters\",lineWidthUnits:\"meters\",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,extruded:!0,wireframe:!1,filled:!0,stroked:!1,getPosition:{type:\"accessor\",value:e=>e.position},getFillColor:{type:\"accessor\",value:F3},getLineColor:{type:\"accessor\",value:F3},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0,getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},af=class extends dn{getShaders(){let{gl:t}=this.context,r=!fr(t),i={},s=this.props.flatShading&&$0(t,Ii.GLSL_DERIVATIVES);return s&&(i.FLAT_SHADING=1),super.getShaders({vs:wq,fs:Sq,defines:i,transpileToGLSL100:r,modules:[Rs,s?Ny:Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceElevations:{size:1,transition:!0,accessor:\"getElevation\"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getFillColor\",defaultValue:F3},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getLineColor\",defaultValue:F3},instanceStrokeWidths:{size:1,accessor:\"getLineWidth\",transition:!0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=s.extensionsChanged||r.flatShading!==i.flatShading;if(n){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}(n||r.diskResolution!==i.diskResolution||r.vertices!==i.vertices||(r.extruded||r.stroked)!==(i.extruded||i.stroked))&&this._updateGeometry(r)}getGeometry(t,r,i){let s=new Q2({radius:1,height:i?2:0,vertices:r,nradial:t}),n=0;if(r)for(let o=0;o=t.length&&(r+=1-t.length/s);let n=r*s;return i[0]=t[n],i[1]=t[n+1],i[2]=s===3&&t[n+2]||0,i}isClosed(t){if(!this.normalize)return!!this.opts.loop;let{positionSize:r}=this,i=t.length-r;return t[0]===t[i]&&t[1]===t[i+1]&&(r===2||t[2]===t[i+2])}};function Mq(e){return Array.isArray(e[0])}var Eq=`#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Pq=`#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Iq=[0,0,0,255],_pt={widthUnits:\"meters\",widthScale:{type:\"number\",min:0,value:1},widthMinPixels:{type:\"number\",min:0,value:0},widthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},jointRounded:!1,capRounded:!1,miterLimit:{type:\"number\",min:0,value:4},billboard:!1,_pathType:null,getPath:{type:\"accessor\",value:e=>e.path},getColor:{type:\"accessor\",value:Iq},getWidth:{type:\"accessor\",value:1},rounded:{deprecatedFor:[\"jointRounded\",\"capRounded\"]}},aB={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},bc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:Eq,fs:Pq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:aB,accessor:\"getPath\",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:\"getWidth\",transition:aB,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:\"getColor\",transition:aB,defaultValue:Iq},instancePickingColors:{size:3,type:5121,accessor:(i,{index:s,target:n})=>this.encodePickingColor(i&&i.__source?i.__source.index:s,n)}}),this.setState({pathTesselator:new $2({fp64:this.use64bitPositions()})})}updateState(t){super.updateState(t);let{props:r,changeFlags:i}=t,s=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){let{pathTesselator:c}=this.state,f=r.data.attributes||{};c.updateGeometry({data:r.data,geometryBuffer:f.getPath,buffers:f,normalize:!r._pathType,loop:r._pathType===\"loop\",getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:c.instanceCount,startIndices:c.vertexStarts}),i.dataChanged||s.invalidateAll()}if(i.extensionsChanged){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),s.invalidateAll()}}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;i=1&&e[0].length>=2&&Number.isFinite(e[0][0])}function Fpt(e){let t=e[0],r=e[e.length-1];return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]}function zpt(e,t,r,i){for(let s=0;sc/t));let n=tx(e),o=i&&t===3;if(r){let c=n.length;n=n.slice();let f=[];for(let _=0;_f&&c>_||(f>_?(r||(n=n.slice()),zq(n,0,2,1)):(r||(n=n.slice()),zq(n,2,0,1)))}return(0,Nq.default)(n,s,t)}var eS=class extends rm{constructor(t){let{fp64:r,IndexType:i=Uint32Array}=t;super({...t,attributes:{positions:{size:3,type:r?Float64Array:Float32Array},vertexValid:{type:Uint8ClampedArray,size:1},indices:{type:i,size:1}}})}get(t){let{attributes:r}=this;return t===\"indices\"?r.indices&&r.indices.subarray(0,this.vertexCount):r[t]}updateGeometry(t){super.updateGeometry(t);let r=this.buffers.indices;if(r)this.vertexCount=(r.value||r).length;else if(this.data&&!this.getGeometry)throw new Error(\"missing indices buffer\")}normalizeGeometry(t){if(this.normalize){let r=G3(t,this.positionSize);return this.opts.resolution?Y2(tx(r),tS(r),{size:this.positionSize,gridResolution:this.opts.resolution,edgeTypes:!0}):this.opts.wrapLongitude?sB(tx(r),tS(r),{size:this.positionSize,maxLatitude:86,edgeTypes:!0}):r}return t}getGeometrySize(t){if(jq(t)){let r=0;for(let i of t)r+=this.getGeometrySize(i);return r}return tx(t).length/this.positionSize}getGeometryFromBuffer(t){return this.normalize||!this.buffers.indices?super.getGeometryFromBuffer(t):null}updateGeometryAttributes(t,r){if(t&&jq(t))for(let i of t){let s=this.getGeometrySize(i);r.geometrySize=s,this.updateGeometryAttributes(i,r),r.vertexStart+=s,r.indexStart=this.indexStarts[r.geometryIndex+1]}else this._updateIndices(t,r),this._updatePositions(t,r),this._updateVertexValid(t,r)}_updateIndices(t,{geometryIndex:r,vertexStart:i,indexStart:s}){let{attributes:n,indexStarts:o,typedArrayManager:c}=this,f=n.indices;if(!f||!t)return;let _=s,w=Uq(t,this.positionSize,this.opts.preproject,this.opts.full3d);f=c.allocate(f,s+w.length,{copy:!0});for(let I=0;I2?o[f*n+2]:0;s[c*3]=_,s[c*3+1]=w,s[c*3+2]=I}}_updateVertexValid(t,{vertexStart:r,geometrySize:i}){let{positionSize:s}=this,n=this.attributes.vertexValid,o=t&&tS(t);if(t&&t.edgeTypes?n.set(t.edgeTypes,r):n.fill(1,r,r+i),o)for(let c=0;c0&&!Number.isFinite(e[0])}var W3=`\nattribute vec2 vertexPositions;\nattribute float vertexValid;\n\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 nextPositions;\n vec3 pickingColors;\n vec3 positions64Low;\n vec3 nextPositions64Low;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n#ifdef IS_SIDE_VERTEX\n if(vertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n#endif\n\n vec3 pos;\n vec3 pos64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.worldPositionAlt = props.nextPositions;\n geometry.pickingColor = props.pickingColors;\n\n#ifdef IS_SIDE_VERTEX\n pos = mix(props.positions, props.nextPositions, vertexPositions.x);\n pos64Low = mix(props.positions64Low, props.nextPositions64Low, vertexPositions.x);\n#else\n pos = props.positions;\n pos64Low = props.positions64Low;\n#endif\n\n if (extruded) {\n pos.z += props.elevations * vertexPositions.y * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n #ifdef IS_SIDE_VERTEX\n normal = vec3(\n props.positions.y - props.nextPositions.y + (props.positions64Low.y - props.nextPositions64Low.y),\n props.nextPositions.x - props.positions.x + (props.nextPositions64Low.x - props.positions64Low.x),\n 0.0);\n normal = project_offset_normal(normal);\n #else\n normal = project_normal(vec3(0.0, 0.0, 1.0));\n #endif\n geometry.normal = normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Gq=`#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = positions;\n props.positions64Low = positions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n\n calculatePosition(props);\n}\n`);var Wq=`#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n#define IS_SIDE_VERTEX\n\n\nattribute vec3 instancePositions;\nattribute vec3 nextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 nextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n #if RING_WINDING_ORDER_CW == 1\n props.positions = instancePositions;\n props.positions64Low = instancePositions64Low;\n props.nextPositions = nextPositions;\n props.nextPositions64Low = nextPositions64Low;\n #else\n props.positions = nextPositions;\n props.positions64Low = nextPositions64Low;\n props.nextPositions = instancePositions;\n props.nextPositions64Low = instancePositions64Low;\n #endif\n props.elevations = instanceElevations;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n`);var Hq=`#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var q3=[0,0,0,255],Npt={filled:!0,extruded:!1,wireframe:!1,_normalize:!0,_windingOrder:\"CW\",_full3d:!1,elevationScale:{type:\"number\",min:0,value:1},getPolygon:{type:\"accessor\",value:e=>e.polygon},getElevation:{type:\"accessor\",value:1e3},getFillColor:{type:\"accessor\",value:q3},getLineColor:{type:\"accessor\",value:q3},material:!0},H3={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},wc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(t){return super.getShaders({vs:t===\"top\"?Gq:Wq,fs:Hq,defines:{RING_WINDING_ORDER_CW:!this.props._normalize&&this.props._windingOrder===\"CCW\"?0:1},modules:[Rs,Zf,Ao]})}get wrapLongitude(){return!1}initializeState(){let{gl:t,viewport:r}=this.context,{coordinateSystem:i}=this.props,{_full3d:s}=this.props;r.isGeospatial&&i===Yr.DEFAULT&&(i=Yr.LNGLAT);let n;i===Yr.LNGLAT&&(s?n=r.projectPosition.bind(r):n=r.projectFlat.bind(r)),this.setState({numInstances:0,polygonTesselator:new eS({preproject:n,fp64:this.use64bitPositions(),IndexType:!t||Oh(t,Ii.ELEMENT_INDEX_UINT32)?Uint32Array:Uint16Array})});let o=this.getAttributeManager(),c=!0;o.remove([\"instancePickingColors\"]),o.add({indices:{size:1,isIndexed:!0,update:this.calculateIndices,noAlloc:c},positions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:H3,accessor:\"getPolygon\",update:this.calculatePositions,noAlloc:c,shaderAttributes:{positions:{vertexOffset:0,divisor:0},instancePositions:{vertexOffset:0,divisor:1},nextPositions:{vertexOffset:1,divisor:1}}},vertexValid:{size:1,divisor:1,type:5121,update:this.calculateVertexValid,noAlloc:c},elevations:{size:1,transition:H3,accessor:\"getElevation\",shaderAttributes:{elevations:{divisor:0},instanceElevations:{divisor:1}}},fillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getFillColor\",defaultValue:q3,shaderAttributes:{fillColors:{divisor:0},instanceFillColors:{divisor:1}}},lineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getLineColor\",defaultValue:q3,shaderAttributes:{lineColors:{divisor:0},instanceLineColors:{divisor:1}}},pickingColors:{size:3,type:5121,accessor:(f,{index:_,target:w})=>this.encodePickingColor(f&&f.__source?f.__source.index:_,w),shaderAttributes:{pickingColors:{divisor:0},instancePickingColors:{divisor:1}}}})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;if.delete()),this.setState(this._getModels(this.context.gl)),n.invalidateAll()}}updateGeometry({props:t,oldProps:r,changeFlags:i}){if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPolygon)){let{polygonTesselator:n}=this.state,o=t.data.attributes||{};n.updateGeometry({data:t.data,normalize:t._normalize,geometryBuffer:o.getPolygon,buffers:o,getGeometry:t.getPolygon,positionFormat:t.positionFormat,wrapLongitude:t.wrapLongitude,resolution:this.context.viewport.resolution,fp64:this.use64bitPositions(),dataChanged:i.dataChanged,full3d:t._full3d}),this.setState({numInstances:n.instanceCount,startIndices:n.vertexStarts}),i.dataChanged||this.getAttributeManager().invalidateAll()}}_getModels(t){let{id:r,filled:i,extruded:s}=this.props,n,o;if(i){let c=this.getShaders(\"top\");c.defines.NON_INSTANCED_MODEL=1,n=new fn(t,{...c,id:\"\".concat(r,\"-top\"),drawMode:4,attributes:{vertexPositions:new Float32Array([0,1])},uniforms:{isWireframe:!1,isSideVertex:!1},vertexCount:0,isIndexed:!0})}return s&&(o=new fn(t,{...this.getShaders(\"side\"),id:\"\".concat(r,\"-side\"),geometry:new $n({drawMode:1,vertexCount:4,attributes:{vertexPositions:{size:2,value:new Float32Array([1,0,0,0,0,1,1,1])}}}),instanceCount:0,isInstanced:1}),o.userData.excludeAttributes={indices:!0}),{models:[o,n].filter(Boolean),topModel:n,sideModel:o}}calculateIndices(t){let{polygonTesselator:r}=this.state;t.startIndices=r.indexStarts,t.value=r.get(\"indices\")}calculatePositions(t){let{polygonTesselator:r}=this.state;t.startIndices=r.vertexStarts,t.value=r.get(\"positions\")}calculateVertexValid(t){t.value=this.state.polygonTesselator.get(\"vertexValid\")}};G(wc,\"defaultProps\",Npt);G(wc,\"layerName\",\"SolidPolygonLayer\");function Z3({data:e,getIndex:t,dataRange:r,replace:i}){let{startRow:s=0,endRow:n=1/0}=r,o=e.length,c=o,f=o;for(let R=0;RR&&N>=s&&(c=R),N>=n){f=R;break}}let _=c,I=f-c!==i.length?e.slice(f):void 0;for(let R=0;Re.polygon},getFillColor:{type:\"accessor\",value:Upt},getLineColor:{type:\"accessor\",value:qq},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0},lf=class extends Ni{initializeState(){this.state={paths:[]},this.props.getLineDashArray&&or.removed(\"getLineDashArray\",\"PathStyleExtension\")()}updateState({changeFlags:t}){let r=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getPolygon);if(r&&Array.isArray(t.dataChanged)){let i=this.state.paths.slice(),s=t.dataChanged.map(n=>Z3({data:i,getIndex:o=>o.__source.index,dataRange:n,replace:this._getPaths(n)}));this.setState({paths:i,pathsDiff:s})}else r&&this.setState({paths:this._getPaths(),pathsDiff:null})}_getPaths(t={}){let{data:r,getPolygon:i,positionFormat:s,_normalize:n}=this.props,o=[],c=s===\"XY\"?2:3,{startRow:f,endRow:_}=t,{iterable:w,objectInfo:I}=Jc(r,f,_);for(let R of w){I.index++;let N=i(R,I);n&&(N=G3(N,c));let{holeIndices:j}=N,Q=N.positions||N;if(j)for(let et=0;et<=j.length;et++){let Y=Q.slice(j[et-1]||0,j[et]||Q.length);o.push(this.getSubLayerRow({path:Y},R,I.index))}else o.push(this.getSubLayerRow({path:Q},R,I.index))}return o}renderLayers(){let{data:t,_dataDiff:r,stroked:i,filled:s,extruded:n,wireframe:o,_normalize:c,_windingOrder:f,elevationScale:_,transitions:w,positionFormat:I}=this.props,{lineWidthUnits:R,lineWidthScale:N,lineWidthMinPixels:j,lineWidthMaxPixels:Q,lineJointRounded:et,lineMiterLimit:Y,lineDashJustified:K}=this.props,{getFillColor:J,getLineColor:ut,getLineWidth:Et,getLineDashArray:kt,getElevation:Xt,getPolygon:qt,updateTriggers:le,material:ue}=this.props,{paths:De,pathsDiff:Ke}=this.state,rr=this.getSubLayerClass(\"fill\",wc),Sr=this.getSubLayerClass(\"stroke\",bc),Li=this.shouldRenderSubLayer(\"fill\",De)&&new rr({_dataDiff:r,extruded:n,elevationScale:_,filled:s,wireframe:o,_normalize:c,_windingOrder:f,getElevation:Xt,getFillColor:J,getLineColor:n&&o?ut:qq,material:ue,transitions:w},this.getSubLayerProps({id:\"fill\",updateTriggers:le&&{getPolygon:le.getPolygon,getElevation:le.getElevation,getFillColor:le.getFillColor,lineColors:n&&o,getLineColor:le.getLineColor}}),{data:t,positionFormat:I,getPolygon:qt}),oo=!n&&i&&this.shouldRenderSubLayer(\"stroke\",De)&&new Sr({_dataDiff:Ke&&(()=>Ke),widthUnits:R,widthScale:N,widthMinPixels:j,widthMaxPixels:Q,jointRounded:et,miterLimit:Y,dashJustified:K,_pathType:\"loop\",transitions:w&&{getWidth:w.getLineWidth,getColor:w.getLineColor,getPath:w.getPolygon},getColor:this.getSubLayerAccessor(ut),getWidth:this.getSubLayerAccessor(Et),getDashArray:this.getSubLayerAccessor(kt)},this.getSubLayerProps({id:\"stroke\",updateTriggers:le&&{getWidth:le.getLineWidth,getColor:le.getLineColor,getDashArray:le.getLineDashArray}}),{data:De,positionFormat:I,getPath:zl=>zl.path});return[!n&&Li,oo,n&&Li]}};G(lf,\"layerName\",\"PolygonLayer\");G(lf,\"defaultProps\",Vpt);function Zq(e,t){if(!e)return null;let r=\"startIndices\"in e?e.startIndices[t]:t,i=e.featureIds.value[r];return r!==-1?jpt(e,i,r):null}function jpt(e,t,r){let i={properties:{...e.properties[t]}};for(let s in e.numericProps)i.properties[s]=e.numericProps[s].value[r];return i}function Yq(e,t){let r={points:null,lines:null,polygons:null};for(let i in r){let s=e[i].globalFeatureIds.value;r[i]=new Uint8ClampedArray(s.length*3);let n=[];for(let o=0;o 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var dB=192/256,$q=[],Gpt={getIconOffsets:{type:\"accessor\",value:e=>e.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:\"color\",value:[0,0,0,255]}},Gg=class extends Ep{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return{...super.getShaders(),fs:Qq}}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:\"getIconOffsets\"},instancePickingColors:{type:5121,size:3,accessor:(r,{index:i,target:s})=>this.encodePickingColor(i,s)}})}updateState(t){super.updateState(t);let{props:r,oldProps:i}=t,{outlineColor:s}=r;s!==i.outlineColor&&(s=s.map(n=>n/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!r.sdf&&r.outlineWidth&&or.warn(\"\".concat(this.id,\": fontSettings.sdf is required to render outline\"))()}draw(t){let{sdf:r,smoothing:i,outlineWidth:s}=this.props,{outlineColor:n}=this.state,o=s?Math.max(i,dB*(1-s)):-1;if(t.uniforms={...t.uniforms,sdfBuffer:dB,outlineBuffer:o,gamma:i,sdf:!!r,outlineColor:n},super.draw(t),r&&s){let{iconManager:c}=this.state;c.getTexture()&&this.state.model.draw({uniforms:{outlineBuffer:dB}})}}getInstanceOffset(t){return t?Array.from(t).flatMap(r=>super.getInstanceOffset(r)):$q}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).flatMap(r=>super.getInstanceIconFrame(r)):$q}};G(Gg,\"defaultProps\",Gpt);G(Gg,\"layerName\",\"MultiIconLayer\");var rS=class{constructor({fontSize:t=24,buffer:r=3,radius:i=8,cutoff:s=.25,fontFamily:n=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:c=\"normal\"}={}){this.buffer=r,this.cutoff=s,this.radius=i;let f=this.size=t+r*4,_=this._createCanvas(f),w=this.ctx=_.getContext(\"2d\",{willReadFrequently:!0});w.font=`${c} ${o} ${t}px ${n}`,w.textBaseline=\"alphabetic\",w.textAlign=\"left\",w.fillStyle=\"black\",this.gridOuter=new Float64Array(f*f),this.gridInner=new Float64Array(f*f),this.f=new Float64Array(f),this.z=new Float64Array(f+1),this.v=new Uint16Array(f)}_createCanvas(t){let r=document.createElement(\"canvas\");return r.width=r.height=t,r}draw(t){let{width:r,actualBoundingBoxAscent:i,actualBoundingBoxDescent:s,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(t),c=Math.ceil(i),f=0,_=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),w=Math.min(this.size-this.buffer,c+Math.ceil(s)),I=_+2*this.buffer,R=w+2*this.buffer,N=Math.max(I*R,0),j=new Uint8ClampedArray(N),Q={data:j,width:I,height:R,glyphWidth:_,glyphHeight:w,glyphTop:c,glyphLeft:f,glyphAdvance:r};if(_===0||w===0)return Q;let{ctx:et,buffer:Y,gridInner:K,gridOuter:J}=this;et.clearRect(Y,Y,_,w),et.fillText(t,Y,Y+c);let ut=et.getImageData(Y,Y,_,w);J.fill(1e20,0,N),K.fill(0,0,N);for(let Et=0;Et0?le*le:0,K[qt]=le<0?le*le:0}}Xq(J,0,0,I,R,I,this.f,this.v,this.z),Xq(K,Y,Y,_,w,I,this.f,this.v,this.z);for(let Et=0;Et-1);f++,n[f]=c,o[f]=_,o[f+1]=1e20}for(let c=0,f=0;cs&&(_=0,f++),n[I]={x:_+i,y:c+f*w+i,width:R,height:w,layoutWidth:R,layoutHeight:r},_+=R+i*2}return{mapping:n,xOffset:_,yOffset:c+f*w,canvasHeight:qpt(c+(f+1)*w)}}function tZ(e,t,r,i){let s=0;for(let o=t;oi&&(oc){let I=tZ(e,c,f,s);_+I>i&&(oi&&(I=eZ(e,c,f,i,s,n),o=n[n.length-1])),c=f,_+=I}return _}function Ypt(e,t,r,i,s=0,n){n===void 0&&(n=e.length);let o=[];return t===\"break-all\"?eZ(e,s,n,r,i,o):Zpt(e,s,n,r,i,o),o}function Qpt(e,t,r,i,s,n){let o=0,c=0;for(let f=t;f0,I=[0,0],R=[0,0],N=0,j=0,Q=0;for(let Y=0;Y<=o;Y++){let K=n[Y];if((K===`\n`||Y===o)&&(Q=Y),Q>j){let J=w?Ypt(n,r,i,s,j,Q):Hpt;for(let ut=0;ut<=J.length;ut++){let Et=ut===0?j:J[ut-1],kt=ut1||f>0){let N=e.constructor;R=new N(_);for(let j=0;j<_;j++)R[j]=e[j*c+f]}for(let N=0;N=0&&this._order.splice(r,1)}_appendOrder(t){this._order.push(t)}};function $pt(){let e=[];for(let t=32;t<128;t++)e.push(String.fromCharCode(t));return e}var Wg={fontFamily:\"Monaco, monospace\",fontWeight:\"normal\",characterSet:$pt(),fontSize:64,buffer:4,sdf:!1,cutoff:.25,radius:12,smoothing:.1},nZ=1024,sZ=.9,oZ=1.2,lZ=3,Y3=new ex(lZ);function Xpt(e,t){let r;typeof t==\"string\"?r=new Set(Array.from(t)):r=new Set(t);let i=Y3.get(e);if(!i)return r;for(let s in i.mapping)r.has(s)&&r.delete(s);return r}function Kpt(e,t){for(let r=0;r=lZ,\"Invalid cache limit\"),Y3=new ex(e)}var iS=class{constructor(){G(this,\"props\",{...Wg}),G(this,\"_key\",void 0),G(this,\"_atlas\",void 0)}get texture(){return this._atlas}get mapping(){return this._atlas&&this._atlas.mapping}get scale(){let{fontSize:t,buffer:r}=this.props;return(t*oZ+r*2)/t}setProps(t={}){Object.assign(this.props,t),this._key=this._getKey();let r=Xpt(this._key,this.props.characterSet),i=Y3.get(this._key);if(i&&r.size===0){this._atlas!==i&&(this._atlas=i);return}let s=this._generateFontAtlas(r,i);this._atlas=s,Y3.set(this._key,s)}_generateFontAtlas(t,r){let{fontFamily:i,fontWeight:s,fontSize:n,buffer:o,sdf:c,radius:f,cutoff:_}=this.props,w=r&&r.data;w||(w=document.createElement(\"canvas\"),w.width=nZ);let I=w.getContext(\"2d\",{willReadFrequently:!0});aZ(I,i,n,s);let{mapping:R,canvasHeight:N,xOffset:j,yOffset:Q}=Jq({getFontWidth:et=>I.measureText(et).width,fontHeight:n*oZ,buffer:o,characterSet:t,maxCanvasWidth:nZ,...r&&{mapping:r.mapping,xOffset:r.xOffset,yOffset:r.yOffset}});if(w.height!==N){let et=I.getImageData(0,0,w.width,w.height);w.height=N,I.putImageData(et,0,0)}if(aZ(I,i,n,s),c){let et=new rS({fontSize:n,buffer:o,radius:f,cutoff:_,fontFamily:i,fontWeight:\"\".concat(s)});for(let Y of t){let{data:K,width:J,height:ut,glyphTop:Et}=et.draw(Y);R[Y].width=J,R[Y].layoutOffsetY=n*sZ-Et;let kt=I.createImageData(J,ut);Kpt(K,kt),I.putImageData(kt,R[Y].x,R[Y].y)}}else for(let et of t)I.fillText(et,R[et].x,R[et].y+o+n*sZ);return{xOffset:j,yOffset:Q,mapping:R,data:w,width:w.width,height:w.height}}_getKey(){let{fontFamily:t,fontWeight:r,fontSize:i,buffer:s,sdf:n,radius:o,cutoff:c}=this.props;return n?\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s,\" \").concat(o,\" \").concat(c):\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s)}};var uZ=`#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var hZ=`#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Jpt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:\"array\",value:[0,0,0,0]},getPosition:{type:\"accessor\",value:e=>e.position},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},getBoundingRect:{type:\"accessor\",value:[0,0,0,0]},getFillColor:{type:\"accessor\",value:[0,0,0,255]},getLineColor:{type:\"accessor\",value:[0,0,0,255]},getLineWidth:{type:\"accessor\",value:1}},Hg=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:uZ,fs:hZ,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instanceRects:{size:4,accessor:\"getBoundingRect\"},instancePixelOffsets:{size:2,transition:!0,accessor:\"getPixelOffset\"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){super.updateState(t);let{changeFlags:r}=t;if(r.extensionsChanged){var i;let{gl:s}=this.context;(i=this.state.model)===null||i===void 0||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{billboard:r,sizeScale:i,sizeUnits:s,sizeMinPixels:n,sizeMaxPixels:o,getLineWidth:c}=this.props,{padding:f}=this.props;f.length<4&&(f=[f[0],f[1],f[0],f[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:!!c,padding:f,sizeUnits:po[s],sizeScale:i,sizeMinPixels:n,sizeMaxPixels:o}).draw()}_getModel(t){let r=[0,0,1,0,1,1,0,1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Hg,\"defaultProps\",Jpt);G(Hg,\"layerName\",\"TextBackgroundLayer\");var fZ={start:1,middle:0,end:-1},dZ={top:1,center:0,bottom:-1},pB=[0,0,0,255],tAt=1,eAt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:\"accessor\",value:[255,255,255,255]},getBorderColor:{type:\"accessor\",value:pB},getBorderWidth:{type:\"accessor\",value:0},backgroundPadding:{type:\"array\",value:[0,0,0,0]},characterSet:{type:\"object\",value:Wg.characterSet},fontFamily:Wg.fontFamily,fontWeight:Wg.fontWeight,lineHeight:tAt,outlineWidth:{type:\"number\",value:0,min:0},outlineColor:{type:\"color\",value:pB},fontSettings:{type:\"object\",value:{},compare:1},wordBreak:\"break-word\",maxWidth:{type:\"number\",value:-1},getText:{type:\"accessor\",value:e=>e.text},getPosition:{type:\"accessor\",value:e=>e.position},getColor:{type:\"accessor\",value:pB},getSize:{type:\"accessor\",value:32},getAngle:{type:\"accessor\",value:0},getTextAnchor:{type:\"accessor\",value:\"middle\"},getAlignmentBaseline:{type:\"accessor\",value:\"center\"},getPixelOffset:{type:\"accessor\",value:[0,0]},backgroundColor:{deprecatedFor:[\"background\",\"getBackgroundColor\"]}},cf=class extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0),G(this,\"getBoundingRect\",(r,i)=>{let{size:[s,n]}=this.transformParagraph(r,i),{fontSize:o}=this.state.fontAtlasManager.props;s/=o,n/=o;let{getTextAnchor:c,getAlignmentBaseline:f}=this.props,_=fZ[typeof c==\"function\"?c(r,i):c],w=dZ[typeof f==\"function\"?f(r,i):f];return[(_-1)*s/2,(w-1)*n/2,s,n]}),G(this,\"getIconOffsets\",(r,i)=>{let{getTextAnchor:s,getAlignmentBaseline:n}=this.props,{x:o,y:c,rowWidth:f,size:[_,w]}=this.transformParagraph(r,i),I=fZ[typeof s==\"function\"?s(r,i):s],R=dZ[typeof n==\"function\"?n(r,i):n],N=o.length,j=new Array(N*2),Q=0;for(let et=0;et0&&or.warn(\"v8.9 breaking change: TextLayer maxWidth is now relative to text size\")()}updateState(t){let{props:r,oldProps:i,changeFlags:s}=t;(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||r.lineHeight!==i.lineHeight||r.wordBreak!==i.wordBreak||r.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(){let{fontSettings:t,fontFamily:r,fontWeight:i}=this.props,{fontAtlasManager:s,characterSet:n}=this.state,o={...t,characterSet:n,fontFamily:r,fontWeight:i};if(!s.mapping)return s.setProps(o),!0;for(let c in o)if(o[c]!==s.props[c])return s.setProps(o),!0;return!1}_updateText(){var t;let{data:r,characterSet:i}=this.props,s=(t=r.attributes)===null||t===void 0?void 0:t.getText,{getText:n}=this.props,o=r.startIndices,c,f=i===\"auto\"&&new Set;if(s&&o){let{texts:_,characterCount:w}=iZ({...ArrayBuffer.isView(s)?{value:s}:s,length:r.length,startIndices:o,characterSet:f});c=w,n=(I,{index:R})=>_[R]}else{let{iterable:_,objectInfo:w}=Jc(r);o=[0],c=0;for(let I of _){w.index++;let R=Array.from(n(I,w)||\"\");f&&R.forEach(f.add,f),c+=R.length,o.push(c)}}this.setState({getText:n,startIndices:o,numInstances:c,characterSet:f||i})}transformParagraph(t,r){let{fontAtlasManager:i}=this.state,s=i.mapping,n=this.state.getText,{wordBreak:o,lineHeight:c,maxWidth:f}=this.props,_=n(t,r)||\"\";return rZ(_,c,o,f*i.props.fontSize,s)}renderLayers(){let{startIndices:t,numInstances:r,getText:i,fontAtlasManager:{scale:s,texture:n,mapping:o},styleVersion:c}=this.state,{data:f,_dataDiff:_,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,getBackgroundColor:Q,getBorderColor:et,getBorderWidth:Y,backgroundPadding:K,background:J,billboard:ut,fontSettings:Et,outlineWidth:kt,outlineColor:Xt,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke,updateTriggers:rr}=this.props,Sr=this.getSubLayerClass(\"characters\",Gg),Li=this.getSubLayerClass(\"background\",Hg);return[J&&new Li({getFillColor:Q,getLineColor:et,getLineWidth:Y,padding:K,getPosition:w,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getSize:Ke.getSize,getFillColor:Ke.getBackgroundColor,getLineColor:Ke.getBorderColor,getLineWidth:Ke.getBorderWidth,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"background\",updateTriggers:{getPosition:rr.getPosition,getAngle:rr.getAngle,getSize:rr.getSize,getFillColor:rr.getBackgroundColor,getLineColor:rr.getBorderColor,getLineWidth:rr.getBorderWidth,getPixelOffset:rr.getPixelOffset,getBoundingRect:{getText:rr.getText,getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f.attributes&&f.attributes.background?{length:f.length,attributes:f.attributes.background}:f,_dataDiff:_,autoHighlight:!1,getBoundingRect:this.getBoundingRect}),new Sr({sdf:Et.sdf,smoothing:Number.isFinite(Et.smoothing)?Et.smoothing:Wg.smoothing,outlineWidth:kt/(Et.radius||Wg.radius),outlineColor:Xt,iconAtlas:n,iconMapping:o,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt*s,sizeUnits:le,sizeMinPixels:ue*s,sizeMaxPixels:De*s,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getColor:Ke.getColor,getSize:Ke.getSize,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"characters\",updateTriggers:{all:rr.getText,getPosition:rr.getPosition,getAngle:rr.getAngle,getColor:rr.getColor,getSize:rr.getSize,getPixelOffset:rr.getPixelOffset,getIconOffsets:{getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f,_dataDiff:_,startIndices:t,numInstances:r,getIconOffsets:this.getIconOffsets,getIcon:i})]}static set fontAtlasCacheLimit(t){cZ(t)}};G(cf,\"defaultProps\",eAt);G(cf,\"layerName\",\"TextLayer\");var nS={circle:{type:Ku,props:{filled:\"filled\",stroked:\"stroked\",lineWidthMaxPixels:\"lineWidthMaxPixels\",lineWidthMinPixels:\"lineWidthMinPixels\",lineWidthScale:\"lineWidthScale\",lineWidthUnits:\"lineWidthUnits\",pointRadiusMaxPixels:\"radiusMaxPixels\",pointRadiusMinPixels:\"radiusMinPixels\",pointRadiusScale:\"radiusScale\",pointRadiusUnits:\"radiusUnits\",pointAntialiasing:\"antialiasing\",pointBillboard:\"billboard\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\",getLineWidth:\"getLineWidth\",getPointRadius:\"getRadius\"}},icon:{type:Ep,props:{iconAtlas:\"iconAtlas\",iconMapping:\"iconMapping\",iconSizeMaxPixels:\"sizeMaxPixels\",iconSizeMinPixels:\"sizeMinPixels\",iconSizeScale:\"sizeScale\",iconSizeUnits:\"sizeUnits\",iconAlphaCutoff:\"alphaCutoff\",iconBillboard:\"billboard\",getIcon:\"getIcon\",getIconAngle:\"getAngle\",getIconColor:\"getColor\",getIconPixelOffset:\"getPixelOffset\",getIconSize:\"getSize\"}},text:{type:cf,props:{textSizeMaxPixels:\"sizeMaxPixels\",textSizeMinPixels:\"sizeMinPixels\",textSizeScale:\"sizeScale\",textSizeUnits:\"sizeUnits\",textBackground:\"background\",textBackgroundPadding:\"backgroundPadding\",textFontFamily:\"fontFamily\",textFontWeight:\"fontWeight\",textLineHeight:\"lineHeight\",textMaxWidth:\"maxWidth\",textOutlineColor:\"outlineColor\",textOutlineWidth:\"outlineWidth\",textWordBreak:\"wordBreak\",textCharacterSet:\"characterSet\",textBillboard:\"billboard\",textFontSettings:\"fontSettings\",getText:\"getText\",getTextAngle:\"getAngle\",getTextColor:\"getColor\",getTextPixelOffset:\"getPixelOffset\",getTextSize:\"getSize\",getTextAnchor:\"getTextAnchor\",getTextAlignmentBaseline:\"getAlignmentBaseline\",getTextBackgroundColor:\"getBackgroundColor\",getTextBorderColor:\"getBorderColor\",getTextBorderWidth:\"getBorderWidth\"}}},sS={type:bc,props:{lineWidthUnits:\"widthUnits\",lineWidthScale:\"widthScale\",lineWidthMinPixels:\"widthMinPixels\",lineWidthMaxPixels:\"widthMaxPixels\",lineJointRounded:\"jointRounded\",lineCapRounded:\"capRounded\",lineMiterLimit:\"miterLimit\",lineBillboard:\"billboard\",getLineColor:\"getColor\",getLineWidth:\"getWidth\"}},Q3={type:wc,props:{extruded:\"extruded\",filled:\"filled\",wireframe:\"wireframe\",elevationScale:\"elevationScale\",material:\"material\",_full3d:\"_full3d\",getElevation:\"getElevation\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\"}};function rx({type:e,props:t}){let r={};for(let i in t)r[i]=e.defaultProps[t[i]];return r}function $3(e,t){let{transitions:r,updateTriggers:i}=e.props,s={updateTriggers:{},transitions:r&&{getPosition:r.geometry}};for(let n in t){let o=t[n],c=e.props[n];n.startsWith(\"get\")&&(c=e.getSubLayerAccessor(c),s.updateTriggers[o]=i[n],r&&(s.transitions[o]=r[n])),s[o]=c}return s}function AZ(e){if(Array.isArray(e))return e;switch(or.assert(e.type,\"GeoJSON does not have type\"),e.type){case\"Feature\":return[e];case\"FeatureCollection\":return or.assert(Array.isArray(e.features),\"GeoJSON does not have features array\"),e.features;default:return[{geometry:e}]}}function AB(e,t,r={}){let i={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},{startRow:s=0,endRow:n=e.length}=r;for(let o=s;o{c.push(r({geometry:{type:\"Point\",coordinates:I}},i,s))});break;case\"LineString\":f.push(r({geometry:e},i,s));break;case\"MultiLineString\":o.forEach(I=>{f.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"Polygon\":_.push(r({geometry:e},i,s)),o.forEach(I=>{w.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"MultiPolygon\":o.forEach(I=>{_.push(r({geometry:{type:\"Polygon\",coordinates:I}},i,s)),I.forEach(R=>{w.push(r({geometry:{type:\"LineString\",coordinates:R}},i,s))})});break;default:}}var rAt={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function iAt(e,t){let r=rAt[e];for(or.assert(r,\"Unknown GeoJSON type \".concat(e));t&&--r>0;)t=t[0];return t&&Number.isFinite(t[0])}function mZ(){return{points:{},lines:{},polygons:{},polygonsOutline:{}}}function X3(e){return e.geometry.coordinates}function gZ(e,t){let r=mZ(),{pointFeatures:i,lineFeatures:s,polygonFeatures:n,polygonOutlineFeatures:o}=e;return r.points.data=i,r.points._dataDiff=t.pointFeatures&&(()=>t.pointFeatures),r.points.getPosition=X3,r.lines.data=s,r.lines._dataDiff=t.lineFeatures&&(()=>t.lineFeatures),r.lines.getPath=X3,r.polygons.data=n,r.polygons._dataDiff=t.polygonFeatures&&(()=>t.polygonFeatures),r.polygons.getPolygon=X3,r.polygonsOutline.data=o,r.polygonsOutline._dataDiff=t.polygonOutlineFeatures&&(()=>t.polygonOutlineFeatures),r.polygonsOutline.getPath=X3,r}function _Z(e,t){let r=mZ(),{points:i,lines:s,polygons:n}=e,o=Yq(e,t);return r.points.data={length:i.positions.value.length/i.positions.size,attributes:{...i.attributes,getPosition:i.positions,instancePickingColors:{size:3,value:o.points}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},r.lines.data={length:s.pathIndices.value.length-1,startIndices:s.pathIndices.value,attributes:{...s.attributes,getPath:s.positions,instancePickingColors:{size:3,value:o.lines}},properties:s.properties,numericProps:s.numericProps,featureIds:s.featureIds},r.lines._pathType=\"open\",r.polygons.data={length:n.polygonIndices.value.length-1,startIndices:n.polygonIndices.value,attributes:{...n.attributes,getPolygon:n.positions,pickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygons._normalize=!1,n.triangles&&(r.polygons.data.attributes.indices=n.triangles.value),r.polygonsOutline.data={length:n.primitivePolygonIndices.value.length-1,startIndices:n.primitivePolygonIndices.value,attributes:{...n.attributes,getPath:n.positions,instancePickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygonsOutline._pathType=\"open\",r}var nAt=[\"points\",\"linestrings\",\"polygons\"],sAt={...rx(nS.circle),...rx(nS.icon),...rx(nS.text),...rx(sS),...rx(Q3),stroked:!0,filled:!0,extruded:!1,wireframe:!1,_full3d:!1,iconAtlas:{type:\"object\",value:null},iconMapping:{type:\"object\",value:{}},getIcon:{type:\"accessor\",value:e=>e.properties.icon},getText:{type:\"accessor\",value:e=>e.properties.text},pointType:\"circle\",getRadius:{deprecatedFor:\"getPointRadius\"}},Mm=class extends Ni{initializeState(){this.state={layerProps:{},features:{}}}updateState({props:t,changeFlags:r}){if(!r.dataChanged)return;let{data:i}=this.props,s=i&&\"points\"in i&&\"polygons\"in i&&\"lines\"in i;this.setState({binary:s}),s?this._updateStateBinary({props:t,changeFlags:r}):this._updateStateJSON({props:t,changeFlags:r})}_updateStateBinary({props:t,changeFlags:r}){let i=_Z(t.data,this.encodePickingColor);this.setState({layerProps:i})}_updateStateJSON({props:t,changeFlags:r}){let i=AZ(t.data),s=this.getSubLayerRow.bind(this),n={},o={};if(Array.isArray(r.dataChanged)){let f=this.state.features;for(let _ in f)n[_]=f[_].slice(),o[_]=[];for(let _ of r.dataChanged){let w=AB(i,s,_);for(let I in f)o[I].push(Z3({data:n[I],getIndex:R=>R.__source.index,dataRange:_,replace:w[I]}))}}else n=AB(i,s);let c=gZ(n,o);this.setState({features:n,featuresDiff:o,layerProps:c})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i,sourceLayer:s}=r;return r.featureType=nAt.find(n=>s.id.startsWith(\"\".concat(this.id,\"-\").concat(n,\"-\"))),i>=0&&s.id.startsWith(\"\".concat(this.id,\"-points-text\"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}_updateAutoHighlight(t){let r=\"\".concat(this.id,\"-points-\"),i=t.featureType===\"points\";for(let s of this.getSubLayers())s.id.startsWith(r)===i&&s.updateAutoHighlight(t)}_renderPolygonLayer(){let{extruded:t,wireframe:r}=this.props,{layerProps:i}=this.state,s=\"polygons-fill\",n=this.shouldRenderSubLayer(s,i.polygons.data)&&this.getSubLayerClass(s,Q3.type);if(n){let o=$3(this,Q3.props),c=t&&r;return c||delete o.getLineColor,o.updateTriggers.lineColors=c,new n(o,this.getSubLayerProps({id:s,updateTriggers:o.updateTriggers}),i.polygons)}return null}_renderLineLayers(){let{extruded:t,stroked:r}=this.props,{layerProps:i}=this.state,s=\"polygons-stroke\",n=\"linestrings\",o=!t&&r&&this.shouldRenderSubLayer(s,i.polygonsOutline.data)&&this.getSubLayerClass(s,sS.type),c=this.shouldRenderSubLayer(n,i.lines.data)&&this.getSubLayerClass(n,sS.type);if(o||c){let f=$3(this,sS.props);return[o&&new o(f,this.getSubLayerProps({id:s,updateTriggers:f.updateTriggers}),i.polygonsOutline),c&&new c(f,this.getSubLayerProps({id:n,updateTriggers:f.updateTriggers}),i.lines)]}return null}_renderPointLayers(){let{pointType:t}=this.props,{layerProps:r,binary:i}=this.state,{highlightedObjectIndex:s}=this.props;!i&&Number.isFinite(s)&&(s=r.points.data.findIndex(c=>c.__source.index===s));let n=new Set(t.split(\"+\")),o=[];for(let c of n){let f=\"points-\".concat(c),_=nS[c],w=_&&this.shouldRenderSubLayer(f,r.points.data)&&this.getSubLayerClass(f,_.type);if(w){let I=$3(this,_.props),R=r.points;if(c===\"text\"&&i){let{instancePickingColors:N,...j}=R.data.attributes;R={...R,data:{...R.data,attributes:j}}}o.push(new w(I,this.getSubLayerProps({id:f,updateTriggers:I.updateTriggers,highlightedObjectIndex:s}),R))}}return o}renderLayers(){let{extruded:t}=this.props,r=this._renderPolygonLayer(),i=this._renderLineLayers(),s=this._renderPointLayers();return[!t&&r,i,s,t&&r]}getSubLayerAccessor(t){let{binary:r}=this.state;return!r||typeof t!=\"function\"?super.getSubLayerAccessor(t):(i,s)=>{let{data:n,index:o}=s,c=Zq(n,o);return t(c,s)}}};G(Mm,\"layerName\",\"GeoJsonLayer\");G(Mm,\"defaultProps\",sAt);var QXt=1/Math.PI*180,$Xt=1/180*Math.PI,oAt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...oAt}};var oS=globalThis.mathgl.config;function aS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ix(e,t,r){let i=oS.EPSILON;r&&(oS.EPSILON=r);try{if(e===t)return!0;if(aS(e)&&aS(t)){if(e.length!==t.length)return!1;for(let s=0;s{t([r,i],[s,n],o,c)},this.options):xZ(this.points,t,this.options)}modifyWindingDirection(t){return this.isFlatArray?mB(this.points,t,this.options):vZ(this.points,t,this.options)}};function vB(e,t,r=2,i,s=\"xy\"){let n=t&&t.length,o=n?t[0]*r:e.length,c=wZ(e,0,o,r,!0,i&&i[0],s),f=[];if(!c||c.next===c.prev)return f;let _,w,I,R,N,j,Q;if(n&&(c=dAt(e,t,c,r,i,s)),e.length>80*r){R=w=e[0],N=I=e[1];for(let et=r;etw&&(w=j),Q>I&&(I=Q);_=Math.max(w-R,I-N),_=_!==0?32767/_:0}return lS(c,f,r,R,N,_,0),f}function wZ(e,t,r,i,s,n,o){let c,f;n===void 0&&(n=nx(e,{start:t,end:r,size:i,plane:o}));let _=qg[o[0]],w=qg[o[1]];if(s===n<0)for(c=t;c=t;c-=i)f=bZ(c,e[c+_],e[c+w],f);return f&&eI(f,f.next)&&(uS(f),f=f.next),f}function Zg(e,t){if(!e)return e;t||(t=e);let r=e,i;do if(i=!1,!r.steiner&&(eI(r,r.next)||ys(r.prev,r,r.next)===0)){if(uS(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function lS(e,t,r,i,s,n,o){if(!e)return;!o&&n&&_At(e,i,s,n);let c=e,f,_;for(;e.prev!==e.next;){if(f=e.prev,_=e.next,n?uAt(e,i,s,n):cAt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),uS(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=hAt(Zg(e),t,r),lS(e,t,r,i,s,n,2)):o===2&&fAt(e,t,r,i,s,n):lS(Zg(e),t,r,i,s,n,1);break}}}function cAt(e){let t=e.prev,r=e,i=e.next;if(ys(t,r,i)>=0)return!1;let s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;for(;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&ox(s,c,n,f,o,_,j.x,j.y)&&ys(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function uAt(e,t,r,i){let s=e.prev,n=e,o=e.next;if(ys(s,n,o)>=0)return!1;let c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=yB(N,j,t,r,i),K=yB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;for(;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function hAt(e,t,r){let i=e;do{let s=i.prev,n=i.next.next;!eI(s,n)&&SZ(s,i,i.next,n)&&cS(s,n)&&cS(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),uS(i),uS(i.next),i=e=n),i=i.next}while(i!==e);return Zg(i)}function fAt(e,t,r,i,s,n){let o=e;do{let c=o.next.next;for(;c!==o.prev;){if(o.i!==c.i&&xAt(o,c)){let f=TZ(o,c);o=Zg(o,o.next),f=Zg(f,f.next),lS(o,t,r,i,s,n,0),lS(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function dAt(e,t,r,i,s,n){let o=[],c,f,_,w,I;for(c=0,f=t.length;c=r.next.y&&r.next.y!==r.y){let R=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(R<=i&&R>n&&(n=R,o=r.x=r.x&&r.x>=f&&i!==r.x&&ox(s<_?i:n,s,f,_,s<_?n:i,s,r.x,r.y)&&(I=Math.abs(s-r.y)/(i-r.x),cS(r,e)&&(Io.x||r.x===o.x&&gAt(o,r)))&&(o=r,w=I)),r=r.next;while(r!==c);return o}function gAt(e,t){return ys(e.prev,e,t.prev)<0&&ys(t.next,e,e.next)<0}function _At(e,t,r,i){let s=e;do s.z===0&&(s.z=yB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,yAt(s)}function yAt(e){let t,r,i=1,s,n,o,c,f,_;do{for(n=e,e=null,_=null,s=0;n;){for(s++,c=n,o=0,r=0;r0||f>0&&c;)o!==0&&(f===0||!c||n.z<=c.z)?(t=n,n=n.nextZ,o--):(t=c,c=c.nextZ,f--),_?_.nextZ=t:e=t,t.prevZ=_,_=t;n=c}_.nextZ=null,i*=2}while(s>1);return e}function yB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function vAt(e){let t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function xAt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!bAt(e,t)&&(cS(e,t)&&cS(t,e)&&wAt(e,t)&&(ys(e.prev,e,t.prev)||ys(e,t.prev,t))||eI(e,t)&&ys(e.prev,e,e.next)>0&&ys(t.prev,t,t.next)>0)}function ys(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eI(e,t){return e.x===t.x&&e.y===t.y}function SZ(e,t,r,i){let s=tI(ys(e,t,r)),n=tI(ys(e,t,i)),o=tI(ys(r,i,e)),c=tI(ys(r,i,t));return!!(s!==n&&o!==c||s===0&&J3(e,r,t)||n===0&&J3(e,i,t)||o===0&&J3(r,e,i)||c===0&&J3(r,t,i))}function J3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function tI(e){return e>0?1:e<0?-1:0}function bAt(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&SZ(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function cS(e,t){return ys(e.prev,e,e.next)<0?ys(e,t,e.next)>=0&&ys(e,e.prev,t)>=0:ys(e,t,e.prev)<0||ys(e,e.next,t)<0}function wAt(e,t){let r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function TZ(e,t){let r=new hS(e.i,e.x,e.y),i=new hS(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function bZ(e,t,r,i){let s=new hS(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function uS(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}var hS=class{constructor(t,r,i){G(this,\"i\",void 0),G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"prev\",null),G(this,\"next\",null),G(this,\"z\",0),G(this,\"prevZ\",null),G(this,\"nextZ\",null),G(this,\"steiner\",!1),this.i=t,this.x=r,this.y=i}};function PZ(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"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\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}var uf=1,hf=2,Ip=3,IZ=4,fS=5,xB=6378137,CZ=6356752314e-3,bB=.0066943799901413165,Yg=484813681109536e-20,de=Math.PI/2,LZ=.16666666666666666,kZ=.04722222222222222,RZ=.022156084656084655,Se=1e-10,vs=.017453292519943295,Sc=57.29577951308232,Ui=Math.PI/4,Em=Math.PI*2,xs=3.14159265359;var Rl={};Rl.greenwich=0;Rl.lisbon=-9.131906111111;Rl.paris=2.337229166667;Rl.bogota=-74.080916666667;Rl.madrid=-3.687938888889;Rl.rome=12.452333333333;Rl.bern=7.439583333333;Rl.jakarta=106.807719444444;Rl.ferro=-17.666666666667;Rl.brussels=4.367975;Rl.stockholm=18.058277777778;Rl.athens=23.7163375;Rl.oslo=10.722916666667;var DZ={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}};var OZ=/[\\s_\\-\\/\\(\\)]/g;function uu(e,t){if(e[t])return e[t];for(var r=Object.keys(e),i=t.toLowerCase().replace(OZ,\"\"),s=-1,n,o;++s=this.text.length)return;e=this.text[this.place++]}switch(this.state){case pS:return this.neutral(e);case FZ:return this.keyword(e);case rI:return this.quoted(e);case NZ:return this.afterquote(e);case zZ:return this.number(e);case wB:return}};Cp.prototype.afterquote=function(e){if(e==='\"'){this.word+='\"',this.state=rI;return}if(iI.test(e)){this.word=this.word.trim(),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in afterquote yet, index '+this.place)};Cp.prototype.afterItem=function(e){if(e===\",\"){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=pS;return}if(e===\"]\"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=pS,this.currentObject=this.stack.pop(),this.currentObject||(this.state=wB);return}};Cp.prototype.number=function(e){if(UZ.test(e)){this.word+=e;return}if(iI.test(e)){this.word=parseFloat(this.word),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in number yet, index '+this.place)};Cp.prototype.quoted=function(e){if(e==='\"'){this.state=NZ;return}this.word+=e};Cp.prototype.keyword=function(e){if(IAt.test(e)){this.word+=e;return}if(e===\"[\"){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=pS;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in keyword yet, index '+this.place)};Cp.prototype.neutral=function(e){if(PAt.test(e)){this.word=e,this.state=FZ;return}if(e==='\"'){this.word=\"\",this.state=rI;return}if(UZ.test(e)){this.word=e,this.state=zZ;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in neutral yet, index '+this.place)};Cp.prototype.output=function(){for(;this.place0?90:-90),e.lat_ts=e.lat1):!e.lat_ts&&e.lat0&&e.projName===\"Polar_Stereographic\"&&(e.lat_ts=e.lat0,e.lat0=dd(e.lat0>0?90:-90))}function nI(e){var t=BZ(e),r=t.shift(),i=t.shift();t.unshift([\"name\",i]),t.unshift([\"type\",r]);var s={};return Qg(t,s),RAt(s),s}function Ju(e){var t=this;if(arguments.length===2){var r=arguments[1];typeof r==\"string\"?r.charAt(0)===\"+\"?Ju[e]=dS(arguments[1]):Ju[e]=nI(arguments[1]):Ju[e]=r}else if(arguments.length===1){if(Array.isArray(e))return e.map(function(i){Array.isArray(i)?Ju.apply(t,i):Ju(i)});if(typeof e==\"string\"){if(e in Ju)return Ju[e]}else\"EPSG\"in e?Ju[\"EPSG:\"+e.EPSG]=e:\"ESRI\"in e?Ju[\"ESRI:\"+e.ESRI]=e:\"IAU2000\"in e?Ju[\"IAU2000:\"+e.IAU2000]=e:console.log(e);return}}PZ(Ju);var ax=Ju;function DAt(e){return typeof e==\"string\"}function OAt(e){return e in ax}var BAt=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];function FAt(e){return BAt.some(function(t){return e.indexOf(t)>-1})}var zAt=[\"3857\",\"900913\",\"3785\",\"102113\"];function NAt(e){var t=uu(e,\"authority\");if(t){var r=uu(t,\"epsg\");return r&&zAt.indexOf(r)>-1}}function UAt(e){var t=uu(e,\"extension\");if(t)return uu(t,\"proj4\")}function VAt(e){return e[0]===\"+\"}function jAt(e){if(DAt(e)){if(OAt(e))return ax[e];if(FAt(e)){var t=nI(e);if(NAt(t))return ax[\"EPSG:3857\"];var r=UAt(t);return r?dS(r):t}if(VAt(e))return dS(e)}else return e}var jZ=jAt;function SB(e,t){e=e||{};var r,i;if(!t)return e;for(i in t)r=t[i],r!==void 0&&(e[i]=r);return e}function ol(e,t,r){var i=e*t;return r/Math.sqrt(1-i*i)}function pd(e){return e<0?-1:1}function Ce(e){return Math.abs(e)<=xs?e:e-pd(e)*Em}function Dl(e,t,r){var i=e*r,s=.5*e;return i=Math.pow((1-i)/(1+i),s),Math.tan(.5*(de-t))/i}function Lp(e,t){for(var r=.5*e,i,s,n=de-2*Math.atan(t),o=0;o<=15;o++)if(i=e*Math.sin(n),s=de-2*Math.atan(t*Math.pow((1-i)/(1+i),r))-n,n+=s,Math.abs(s)<=1e-10)return n;return-9999}function GAt(){var e=this.b/this.a;this.es=1-e*e,\"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=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function WAt(e){var t=e.x,r=e.y;if(r*Sc>90&&r*Sc<-90&&t*Sc>180&&t*Sc<-180)return null;var i,s;if(Math.abs(Math.abs(r)-de)<=Se)return null;if(this.sphere)i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(Ui+.5*r));else{var n=Math.sin(r),o=Dl(this.e,r,n);i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0-this.a*this.k0*Math.log(o)}return e.x=i,e.y=s,e}function HAt(e){var t=e.x-this.x0,r=e.y-this.y0,i,s;if(this.sphere)s=de-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else{var n=Math.exp(-r/(this.a*this.k0));if(s=Lp(this.e,n),s===-9999)return null}return i=Ce(this.long0+t/(this.a*this.k0)),e.x=i,e.y=s,e}var qAt=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],GZ={init:GAt,forward:WAt,inverse:HAt,names:qAt};function ZAt(){}function WZ(e){return e}var YAt=[\"longlat\",\"identity\"],HZ={init:ZAt,forward:WZ,inverse:WZ,names:YAt};var QAt=[GZ,HZ],sI={},oI=[];function qZ(e,t){var r=oI.length;return e.names?(oI[r]=e,e.names.forEach(function(i){sI[i.toLowerCase()]=r}),this):(console.log(t),!0)}function $At(e){if(!e)return!1;var t=e.toLowerCase();if(typeof sI[t]<\"u\"&&oI[sI[t]])return oI[sI[t]]}function XAt(){QAt.forEach(qZ)}var ZZ={start:XAt,add:qZ,get:$At};var Xr={};Xr.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"};Xr.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"};Xr.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"};Xr.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"};Xr.airy={a:6377563396e-3,b:635625691e-2,ellipseName:\"Airy 1830\"};Xr.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"};Xr.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"};Xr.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:\"Modified Airy\"};Xr.andrae={a:637710443e-2,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"};Xr.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"};Xr.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"};Xr.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:\"Bessel 1841\"};Xr.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"};Xr.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:\"Clarke 1866\"};Xr.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"};Xr.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:\"Clarke 1880 (IGN)\"};Xr.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:\"Clarke 1858\"};Xr.CPM={a:63757387e-1,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"};Xr.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"};Xr.engelis={a:637813605e-2,rf:298.2566,ellipseName:\"Engelis 1985\"};Xr.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:\"Everest 1830\"};Xr.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:\"Everest 1948\"};Xr.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:\"Everest 1956\"};Xr.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:\"Everest 1969\"};Xr.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"};Xr.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"};Xr.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"};Xr.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"};Xr.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"};Xr.hough={a:6378270,rf:297,ellipseName:\"Hough\"};Xr.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"};Xr.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"};Xr.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"};Xr.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"};Xr.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:\"New International 1967\"};Xr.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"};Xr.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"};Xr.SEasia={a:6378155,b:63567733205e-4,ellipseName:\"Southeast Asia\"};Xr.walbeck={a:6376896,b:63558348467e-4,ellipseName:\"Walbeck\"};Xr.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"};Xr.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"};Xr.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"};var YZ=Xr.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"};Xr.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"};function QZ(e,t,r,i){var s=e*e,n=t*t,o=(s-n)/s,c=0;i?(e*=1-o*(LZ+o*(kZ+o*RZ)),s=e*e,o=0):c=Math.sqrt(o);var f=(s-n)/n;return{es:o,e:c,ep2:f}}function $Z(e,t,r,i,s){if(!e){var n=uu(Xr,i);n||(n=YZ),e=n.a,t=n.b,r=n.rf}return r&&!t&&(t=(1-1/r)*e),(r===0||Math.abs(e-t)3&&(c.datum_params[3]!==0||c.datum_params[4]!==0||c.datum_params[5]!==0||c.datum_params[6]!==0)&&(c.datum_type=hf,c.datum_params[3]*=Yg,c.datum_params[4]*=Yg,c.datum_params[5]*=Yg,c.datum_params[6]=c.datum_params[6]/1e6+1)),o&&(c.datum_type=Ip,c.grids=o),c.a=r,c.b=i,c.es=s,c.ep2=n,c}var XZ=KAt;var KZ={};function MB(e,t){var r=new DataView(t),i=tmt(r),s=emt(r,i),n=rmt(r,s,i),o={header:s,subgrids:n};return KZ[e]=o,o}function JZ(e){if(e===void 0)return null;var t=e.split(\",\");return t.map(JAt)}function JAt(e){if(e.length===0)return null;var t=e[0]===\"@\";return t&&(e=e.slice(1)),e===\"null\"?{name:\"null\",mandatory:!t,grid:null,isNull:!0}:{name:e,mandatory:!t,grid:KZ[e]||null,isNull:!1}}function lx(e){return e/3600*Math.PI/180}function tmt(e){var t=e.getInt32(8,!1);return t===11?!1:(t=e.getInt32(8,!0),t!==11&&console.warn(\"Failed to detect nadgrid endian-ness, defaulting to little-endian\"),!0)}function emt(e,t){return{nFields:e.getInt32(8,t),nSubgridFields:e.getInt32(24,t),nSubgrids:e.getInt32(40,t),shiftType:TB(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,t),fromSemiMinorAxis:e.getFloat64(136,t),toSemiMajorAxis:e.getFloat64(152,t),toSemiMinorAxis:e.getFloat64(168,t)}}function TB(e,t,r){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(t,r)))}function rmt(e,t,r){for(var i=176,s=[],n=0;n5e-11?!1:e.datum_type===uf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]:e.datum_type===hf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]:!0}function aI(e,t,r){var i=e.x,s=e.y,n=e.z?e.z:0,o,c,f,_;if(s<-de&&s>-1.001*de)s=-de;else if(s>de&&s<1.001*de)s=de;else{if(s<-de)return{x:-1/0,y:-1/0,z:e.z};if(s>de)return{x:1/0,y:1/0,z:e.z}}return i>Math.PI&&(i-=2*Math.PI),c=Math.sin(s),_=Math.cos(s),f=c*c,o=r/Math.sqrt(1-t*f),{x:(o+n)*_*Math.cos(i),y:(o+n)*_*Math.sin(i),z:(o*(1-t)+n)*c}}function lI(e,t,r,i){var s=1e-12,n=s*s,o=30,c,f,_,w,I,R,N,j,Q,et,Y,K,J,ut=e.x,Et=e.y,kt=e.z?e.z:0,Xt,qt,le;if(c=Math.sqrt(ut*ut+Et*Et),f=Math.sqrt(ut*ut+Et*Et+kt*kt),c/rn&&Ji.y||j>i.x||Yc&&Math.abs(f.y)>c);if(o<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),i;i.x=Ce(n.x+r.ll[0]),i.y=n.y+r.ll[1]}else isNaN(n.x)||(i.x=e.x+n.x,i.y=e.y+n.y);return i}function nY(e,t){var r={x:e.x/t.del[0],y:e.y/t.del[1]},i={x:Math.floor(r.x),y:Math.floor(r.y)},s={x:r.x-1*i.x,y:r.y-1*i.y},n={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=t.lim[0]||i.y<0||i.y>=t.lim[1])return n;o=i.y*t.lim[0]+i.x;var c={x:t.cvs[o][0],y:t.cvs[o][1]};o++;var f={x:t.cvs[o][0],y:t.cvs[o][1]};o+=t.lim[0];var _={x:t.cvs[o][0],y:t.cvs[o][1]};o--;var w={x:t.cvs[o][0],y:t.cvs[o][1]},I=s.x*s.y,R=s.x*(1-s.y),N=(1-s.x)*(1-s.y),j=(1-s.x)*s.y;return n.x=N*c.x+R*f.x+j*w.x+I*_.x,n.y=N*c.y+R*f.y+j*w.y+I*_.y,n}function EB(e,t,r){var i=r.x,s=r.y,n=r.z||0,o,c,f,_={};for(f=0;f<3;f++)if(!(t&&f===2&&r.z===void 0))switch(f===0?(o=i,\"ew\".indexOf(e.axis[f])!==-1?c=\"x\":c=\"y\"):f===1?(o=s,\"ns\".indexOf(e.axis[f])!==-1?c=\"y\":c=\"x\"):(o=n,c=\"z\"),e.axis[f]){case\"e\":_[c]=o;break;case\"w\":_[c]=-o;break;case\"n\":_[c]=o;break;case\"s\":_[c]=-o;break;case\"u\":r[c]!==void 0&&(_.z=o);break;case\"d\":r[c]!==void 0&&(_.z=-o);break;default:return null}return _}function uI(e){var t={x:e[0],y:e[1]};return e.length>2&&(t.z=e[2]),e.length>3&&(t.m=e[3]),t}function aY(e){oY(e.x),oY(e.y)}function oY(e){if(typeof Number.isFinite==\"function\"){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(typeof e!=\"number\"||e!==e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}function amt(e,t){return(e.datum.datum_type===uf||e.datum.datum_type===hf||e.datum.datum_type===Ip)&&t.datumCode!==\"WGS84\"||(t.datum.datum_type===uf||t.datum.datum_type===hf||t.datum.datum_type===Ip)&&e.datumCode!==\"WGS84\"}function $g(e,t,r,i){var s;Array.isArray(r)?r=uI(r):r={x:r.x,y:r.y,z:r.z,m:r.m};var n=r.z!==void 0;if(aY(r),e.datum&&t.datum&&amt(e,t)&&(s=new Pm(\"WGS84\"),r=$g(e,s,r,i),e=s),i&&e.axis!==\"enu\"&&(r=EB(e,!1,r)),e.projName===\"longlat\")r={x:r.x*vs,y:r.y*vs,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),r=e.inverse(r),!r)return;if(e.from_greenwich&&(r.x+=e.from_greenwich),r=sY(e.datum,t.datum,r),!!r)return t.from_greenwich&&(r={x:r.x-t.from_greenwich,y:r.y,z:r.z||0}),t.projName===\"longlat\"?r={x:r.x*Sc,y:r.y*Sc,z:r.z||0}:(r=t.forward(r),t.to_meter&&(r={x:r.x/t.to_meter,y:r.y/t.to_meter,z:r.z||0})),i&&t.axis!==\"enu\"?EB(t,!0,r):(r&&!n&&delete r.z,r)}var lY=Pm(\"WGS84\");function PB(e,t,r,i){var s,n,o;return Array.isArray(r)?(s=$g(e,t,r,i)||{x:NaN,y:NaN},r.length>2?typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"?typeof s.z==\"number\"?[s.x,s.y,s.z].concat(r.splice(3)):[s.x,s.y,r[2]].concat(r.splice(3)):[s.x,s.y].concat(r.splice(2)):[s.x,s.y]):(n=$g(e,t,r,i),o=Object.keys(r),o.length===2||o.forEach(function(c){if(typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"){if(c===\"x\"||c===\"y\"||c===\"z\")return}else if(c===\"x\"||c===\"y\")return;n[c]=r[c]}),n)}function cY(e){return e instanceof Pm?e:e.oProj?e.oProj:Pm(e)}function lmt(e,t,r){e=cY(e);var i=!1,s;return typeof t>\"u\"?(t=e,e=lY,i=!0):(typeof t.x<\"u\"||Array.isArray(t))&&(r=t,t=e,e=lY,i=!0),t=cY(t),r?PB(e,t,r):(s={forward:function(n,o){return PB(e,t,n,o)},inverse:function(n,o){return PB(t,e,n,o)}},i&&(s.oProj=t),s)}var Tc=lmt;var uY=6,fY=\"AJSAJS\",dY=\"AFAFAF\",ux=65,Mc=73,th=79,AS=86,mS=90,pY={forward:CB,inverse:cmt,toPoint:LB};function CB(e,t){return t=t||5,fmt(umt({lat:e[1],lon:e[0]}),t)}function cmt(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function LB(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function IB(e){return e*(Math.PI/180)}function hY(e){return 180*(e/Math.PI)}function umt(e){var t=e.lat,r=e.lon,i=6378137,s=.00669438,n=.9996,o,c,f,_,w,I,R,N=IB(t),j=IB(r),Q,et;et=Math.floor((r+180)/6)+1,r===180&&(et=60),t>=56&&t<64&&r>=3&&r<12&&(et=32),t>=72&&t<84&&(r>=0&&r<9?et=31:r>=9&&r<21?et=33:r>=21&&r<33?et=35:r>=33&&r<42&&(et=37)),o=(et-1)*6-180+3,Q=IB(o),c=s/(1-s),f=i/Math.sqrt(1-s*Math.sin(N)*Math.sin(N)),_=Math.tan(N)*Math.tan(N),w=c*Math.cos(N)*Math.cos(N),I=Math.cos(N)*(j-Q),R=i*((1-s/4-3*s*s/64-5*s*s*s/256)*N-(3*s/8+3*s*s/32+45*s*s*s/1024)*Math.sin(2*N)+(15*s*s/256+45*s*s*s/1024)*Math.sin(4*N)-35*s*s*s/3072*Math.sin(6*N));var Y=n*f*(I+(1-_+w)*I*I*I/6+(5-18*_+_*_+72*w-58*c)*I*I*I*I*I/120)+5e5,K=n*(R+f*Math.tan(N)*(I*I/2+(5-_+9*w+4*w*w)*I*I*I*I/24+(61-58*_+_*_+600*w-330*c)*I*I*I*I*I*I/720));return t<0&&(K+=1e7),{northing:Math.round(K),easting:Math.round(Y),zoneNumber:et,zoneLetter:hmt(t)}}function kB(e){var t=e.northing,r=e.easting,i=e.zoneLetter,s=e.zoneNumber;if(s<0||s>60)return null;var n=.9996,o=6378137,c=.00669438,f,_=(1-Math.sqrt(1-c))/(1+Math.sqrt(1-c)),w,I,R,N,j,Q,et,Y,K,J=r-5e5,ut=t;i<\"N\"&&(ut-=1e7),et=(s-1)*6-180+3,f=c/(1-c),Q=ut/n,Y=Q/(o*(1-c/4-3*c*c/64-5*c*c*c/256)),K=Y+(3*_/2-27*_*_*_/32)*Math.sin(2*Y)+(21*_*_/16-55*_*_*_*_/32)*Math.sin(4*Y)+151*_*_*_/96*Math.sin(6*Y),w=o/Math.sqrt(1-c*Math.sin(K)*Math.sin(K)),I=Math.tan(K)*Math.tan(K),R=f*Math.cos(K)*Math.cos(K),N=o*(1-c)/Math.pow(1-c*Math.sin(K)*Math.sin(K),1.5),j=J/(w*n);var Et=K-w*Math.tan(K)/N*(j*j/2-(5+3*I+10*R-4*R*R-9*f)*j*j*j*j/24+(61+90*I+298*R+45*I*I-252*f-3*R*R)*j*j*j*j*j*j/720);Et=hY(Et);var kt=(j-(1+2*I+R)*j*j*j/6+(5-2*R+28*I-3*R*R+8*f+24*I*I)*j*j*j*j*j/120)/Math.cos(K);kt=et+hY(kt);var Xt;if(e.accuracy){var qt=kB({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});Xt={top:qt.lat,right:qt.lon,bottom:Et,left:kt}}else Xt={lat:Et,lon:kt};return Xt}function hmt(e){var t=\"Z\";return 84>=e&&e>=72?t=\"X\":72>e&&e>=64?t=\"W\":64>e&&e>=56?t=\"V\":56>e&&e>=48?t=\"U\":48>e&&e>=40?t=\"T\":40>e&&e>=32?t=\"S\":32>e&&e>=24?t=\"R\":24>e&&e>=16?t=\"Q\":16>e&&e>=8?t=\"P\":8>e&&e>=0?t=\"N\":0>e&&e>=-8?t=\"M\":-8>e&&e>=-16?t=\"L\":-16>e&&e>=-24?t=\"K\":-24>e&&e>=-32?t=\"J\":-32>e&&e>=-40?t=\"H\":-40>e&&e>=-48?t=\"G\":-48>e&&e>=-56?t=\"F\":-56>e&&e>=-64?t=\"E\":-64>e&&e>=-72?t=\"D\":-72>e&&e>=-80&&(t=\"C\"),t}function fmt(e,t){var r=\"00000\"+e.easting,i=\"00000\"+e.northing;return e.zoneNumber+e.zoneLetter+dmt(e.easting,e.northing,e.zoneNumber)+r.substr(r.length-5,t)+i.substr(i.length-5,t)}function dmt(e,t,r){var i=AY(r),s=Math.floor(e/1e5),n=Math.floor(t/1e5)%20;return pmt(s,n,i)}function AY(e){var t=e%uY;return t===0&&(t=uY),t}function pmt(e,t,r){var i=r-1,s=fY.charCodeAt(i),n=dY.charCodeAt(i),o=s+e-1,c=n+t,f=!1;o>mS&&(o=o-mS+ux-1,f=!0),(o===Mc||sMc||(o>Mc||sth||(o>th||smS&&(o=o-mS+ux-1),c>AS?(c=c-AS+ux-1,f=!0):f=!1,(c===Mc||nMc||(c>Mc||nth||(c>th||nAS&&(c=c-AS+ux-1);var _=String.fromCharCode(o)+String.fromCharCode(c);return _}function mY(e){if(e&&e.length===0)throw\"MGRSPoint coverting from nothing\";for(var t=e.length,r=null,i=\"\",s,n=0;!/[A-Z]/.test(s=e.charAt(n));){if(n>=2)throw\"MGRSPoint bad conversion from: \"+e;i+=s,n++}var o=parseInt(i,10);if(n===0||n+3>t)throw\"MGRSPoint bad conversion from: \"+e;var c=e.charAt(n++);if(c<=\"A\"||c===\"B\"||c===\"Y\"||c>=\"Z\"||c===\"I\"||c===\"O\")throw\"MGRSPoint zone letter \"+c+\" not handled: \"+e;r=e.substring(n,n+=2);for(var f=AY(o),_=Amt(r.charAt(0),f),w=mmt(r.charAt(1),f);w0&&(Q=1e5/Math.pow(10,R),et=e.substring(n,n+R),N=parseFloat(et)*Q,Y=e.substring(n+R),j=parseFloat(Y)*Q),K=N+_,J=j+w,{easting:K,northing:J,zoneLetter:c,zoneNumber:o,accuracy:Q}}function Amt(e,t){for(var r=fY.charCodeAt(t-1),i=1e5,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>mS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function mmt(e,t){if(e>\"V\")throw\"MGRSPoint given invalid Northing \"+e;for(var r=dY.charCodeAt(t-1),i=0,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>AS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function gmt(e){var t;switch(e){case\"C\":t=11e5;break;case\"D\":t=2e6;break;case\"E\":t=28e5;break;case\"F\":t=37e5;break;case\"G\":t=46e5;break;case\"H\":t=55e5;break;case\"J\":t=64e5;break;case\"K\":t=73e5;break;case\"L\":t=82e5;break;case\"M\":t=91e5;break;case\"N\":t=0;break;case\"P\":t=8e5;break;case\"Q\":t=17e5;break;case\"R\":t=26e5;break;case\"S\":t=35e5;break;case\"T\":t=44e5;break;case\"U\":t=53e5;break;case\"V\":t=62e5;break;case\"W\":t=7e6;break;case\"X\":t=79e5;break;default:t=-1}if(t>=0)return t;throw\"Invalid zone letter: \"+e}function hx(e,t,r){if(!(this instanceof hx))return new hx(e,t,r);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if(typeof e==\"object\")this.x=e.x,this.y=e.y,this.z=e.z||0;else if(typeof e==\"string\"&&typeof t>\"u\"){var i=e.split(\",\");this.x=parseFloat(i[0],10),this.y=parseFloat(i[1],10),this.z=parseFloat(i[2],10)||0}else this.x=e,this.y=t,this.z=r||0;console.warn(\"proj4.Point will be removed in version 3, use proj4.toPoint\")}hx.fromMGRS=function(e){return new hx(LB(e))};hx.prototype.toMGRS=function(e){return CB([this.x,this.y],e)};var gY=hx;var _mt=1,ymt=.25,_Y=.046875,yY=.01953125,vY=.01068115234375,vmt=.75,xmt=.46875,bmt=.013020833333333334,wmt=.007120768229166667,Smt=.3645833333333333,Tmt=.005696614583333333,Mmt=.3076171875;function hI(e){var t=[];t[0]=_mt-e*(ymt+e*(_Y+e*(yY+e*vY))),t[1]=e*(vmt-e*(_Y+e*(yY+e*vY)));var r=e*e;return t[2]=r*(xmt-e*(bmt+e*wmt)),r*=e,t[3]=r*(Smt-e*Tmt),t[4]=r*e*Mmt,t}function Xg(e,t,r,i){return r*=t,t*=t,i[0]*e-r*(i[1]+t*(i[2]+t*(i[3]+t*i[4])))}var Emt=20;function fI(e,t,r){for(var i=1/(1-t),s=e,n=Emt;n;--n){var o=Math.sin(s),c=1-t*o*o;if(c=(Xg(s,o,Math.cos(s),r)-e)*(c*Math.sqrt(c))*i,s-=c,Math.abs(c)Se?Math.tan(r):0,Q=Math.pow(j,2),et=Math.pow(Q,2);s=1-this.es*Math.pow(c,2),w=w/Math.sqrt(s);var Y=Xg(r,c,f,this.en);n=this.a*(this.k0*w*(1+I/6*(1-Q+R+I/20*(5-18*Q+et+14*R-58*Q*R+I/42*(61+179*et-et*Q-479*Q)))))+this.x0,o=this.a*(this.k0*(Y-this.ml0+c*i*w/2*(1+I/12*(5-Q+9*R+4*N+I/30*(61+et-58*Q+270*R-330*Q*R+I/56*(1385+543*et-et*Q-3111*Q))))))+this.y0}else{var _=f*Math.sin(i);if(Math.abs(Math.abs(_)-1)=1){if(_-1>Se)return 93;o=0}else o=Math.acos(o);r<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return e.x=n,e.y=o,e}function Cmt(e){var t,r,i,s,n=(e.x-this.x0)*(1/this.a),o=(e.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+o/this.k0,r=fI(t,this.es,this.en),Math.abs(r)Se?Math.tan(r):0,j=this.ep2*Math.pow(R,2),Q=Math.pow(j,2),et=Math.pow(N,2),Y=Math.pow(et,2);t=1-this.es*Math.pow(I,2);var K=n*Math.sqrt(t)/this.k0,J=Math.pow(K,2);t=t*N,i=r-t*J/(1-this.es)*.5*(1-J/12*(5+3*et-9*j*et+j-4*Q-J/30*(61+90*et-252*j*et+45*Y+46*j-J/56*(1385+3633*et+4095*Y+1574*Y*et)))),s=Ce(this.long0+K*(1-J/6*(1+2*et+j-J/20*(5+28*et+24*Y+8*j*et+6*j-J/42*(61+662*et+1320*Y+720*Y*et))))/R)}else i=de*pd(o),s=0;else{var c=Math.exp(n/this.k0),f=.5*(c-1/c),_=this.lat0+o/this.k0,w=Math.cos(_);t=Math.sqrt((1-Math.pow(w,2))/(1+Math.pow(f,2))),i=Math.asin(t),o<0&&(i=-i),f===0&&w===0?s=0:s=Ce(Math.atan2(f,w)+this.long0)}return e.x=s,e.y=i,e}var Lmt=[\"Fast_Transverse_Mercator\",\"Fast Transverse Mercator\"],fx={init:Pmt,forward:Imt,inverse:Cmt,names:Lmt};function dI(e){var t=Math.exp(e);return t=(t-1/t)/2,t}function Ta(e,t){e=Math.abs(e),t=Math.abs(t);var r=Math.max(e,t),i=Math.min(e,t)/(r||1);return r*Math.sqrt(1+Math.pow(i,2))}function xY(e){var t=1+e,r=t-1;return r===0?e:e*Math.log(t)/r}function bY(e){var t=Math.abs(e);return t=xY(t*(1+t/(Ta(1,t)+1))),e<0?-t:t}function pI(e,t){for(var r=2*Math.cos(2*t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return t+o*Math.sin(2*t)}function wY(e,t){for(var r=2*Math.cos(t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return Math.sin(t)*o}function SY(e){var t=Math.exp(e);return t=(t+1/t)/2,t}function RB(e,t,r){for(var i=Math.sin(t),s=Math.cos(t),n=dI(r),o=SY(r),c=2*s*o,f=-2*i*n,_=e.length-1,w=e[_],I=0,R=0,N=0,j,Q;--_>=0;)j=R,Q=I,R=w,I=N,w=-j+c*R-f*I+e[_],N=-Q+f*R+c*I;return c=i*o,f=s*n,[c*w-f*N,c*N+f*w]}function kmt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION[\"Fast_Transverse_Mercator\"] in the WKT.');this.approx&&(fx.init.apply(this),this.forward=fx.forward,this.inverse=fx.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),t=e/(2-e),r=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),r=r*t,this.cgb[1]=r*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=r*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),r=r*t,this.cgb[2]=r*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=r*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),r=r*t,this.cgb[3]=r*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=r*(1237/630+t*(-12/5+t*(-24832/14175))),r=r*t,this.cgb[4]=r*(4174/315+t*(-144838/6237)),this.cbg[4]=r*(-734/315+t*(109598/31185)),r=r*t,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=r*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=r*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),r=r*t,this.utg[2]=r*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=r*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),r=r*t,this.utg[3]=r*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=r*(49561/161280+t*(-179/168+t*(6601661/7257600))),r=r*t,this.utg[4]=r*(-4583/161280+t*(108847/3991680)),this.gtu[4]=r*(34729/80640+t*(-3418889/1995840)),r=r*t,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=r*(212378941/319334400);var i=pI(this.cbg,this.lat0);this.Zb=-this.Qn*(i+wY(this.gtu,2*i))}function Rmt(e){var t=Ce(e.x-this.long0),r=e.y;r=pI(this.cbg,r);var i=Math.sin(r),s=Math.cos(r),n=Math.sin(t),o=Math.cos(t);r=Math.atan2(i,o*s),t=Math.atan2(n*s,Ta(i,s*o)),t=bY(Math.tan(t));var c=RB(this.gtu,2*r,2*t);r=r+c[0],t=t+c[1];var f,_;return Math.abs(t)<=2.623395162778?(f=this.a*(this.Qn*t)+this.x0,_=this.a*(this.Qn*r+this.Zb)+this.y0):(f=1/0,_=1/0),e.x=f,e.y=_,e}function Dmt(e){var t=(e.x-this.x0)*(1/this.a),r=(e.y-this.y0)*(1/this.a);r=(r-this.Zb)/this.Qn,t=t/this.Qn;var i,s;if(Math.abs(t)<=2.623395162778){var n=RB(this.utg,2*r,2*t);r=r+n[0],t=t+n[1],t=Math.atan(dI(t));var o=Math.sin(r),c=Math.cos(r),f=Math.sin(t),_=Math.cos(t);r=Math.atan2(o*_,Ta(f,_*c)),t=Math.atan2(f,_*c),i=Ce(t+this.long0),s=pI(this.cgb,r)}else i=1/0,s=1/0;return e.x=i,e.y=s,e}var Omt=[\"Extended_Transverse_Mercator\",\"Extended Transverse Mercator\",\"etmerc\",\"Transverse_Mercator\",\"Transverse Mercator\",\"Gauss Kruger\",\"Gauss_Kruger\",\"tmerc\"],dx={init:kmt,forward:Rmt,inverse:Dmt,names:Omt};function TY(e,t){if(e===void 0){if(e=Math.floor((Ce(t)+Math.PI)*30/Math.PI)+1,e<0)return 0;if(e>60)return 60}return e}var Bmt=\"etmerc\";function Fmt(){var e=TY(this.zone,this.long0);if(e===void 0)throw new Error(\"unknown utm zone\");this.lat0=0,this.long0=(6*Math.abs(e)-183)*vs,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,dx.init.apply(this),this.forward=dx.forward,this.inverse=dx.inverse}var zmt=[\"Universal Transverse Mercator System\",\"utm\"],MY={init:Fmt,names:zmt,dependsOn:Bmt};function AI(e,t){return Math.pow((1-e)/(1+e),t)}var Nmt=20;function Umt(){var e=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Ui)/(Math.pow(Math.tan(.5*this.lat0+Ui),this.C)*AI(this.e*e,this.ratexp))}function Vmt(e){var t=e.x,r=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Ui),this.C)*AI(this.e*Math.sin(r),this.ratexp))-de,e.x=this.C*t,e}function jmt(e){for(var t=1e-14,r=e.x/this.C,i=e.y,s=Math.pow(Math.tan(.5*i+Ui)/this.K,1/this.C),n=Nmt;n>0&&(i=2*Math.atan(s*AI(this.e*Math.sin(e.y),-.5*this.e))-de,!(Math.abs(i-e.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Se&&Math.abs(Math.cos(this.lat_ts))>Se&&(this.k0=.5*this.cons*ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Dl(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ol(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-de,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function $mt(e){var t=e.x,r=e.y,i=Math.sin(r),s=Math.cos(r),n,o,c,f,_,w,I=Ce(t-this.long0);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=Se&&Math.abs(r+this.lat0)<=Se?(e.x=NaN,e.y=NaN,e):this.sphere?(n=2*this.k0/(1+this.sinlat0*i+this.coslat0*s*Math.cos(I)),e.x=this.a*n*s*Math.sin(I)+this.x0,e.y=this.a*n*(this.coslat0*i-this.sinlat0*s*Math.cos(I))+this.y0,e):(o=2*Math.atan(this.ssfn_(r,i,this.e))-de,f=Math.cos(o),c=Math.sin(o),Math.abs(this.coslat0)<=Se?(_=Dl(this.e,r*this.con,this.con*i),w=2*this.a*this.k0*_/this.cons,e.x=this.x0+w*Math.sin(t-this.long0),e.y=this.y0-this.con*w*Math.cos(t-this.long0),e):(Math.abs(this.sinlat0)0?t=Ce(this.long0+Math.atan2(e.x,-1*e.y)):t=Ce(this.long0+Math.atan2(e.x,e.y)):t=Ce(this.long0+Math.atan2(e.x*Math.sin(c),o*this.coslat0*Math.cos(c)-e.y*this.sinlat0*Math.sin(c))),e.x=t,e.y=r,e)}else if(Math.abs(this.coslat0)<=Se){if(o<=Se)return r=this.lat0,t=this.long0,e.x=t,e.y=r,e;e.x*=this.con,e.y*=this.con,i=o*this.cons/(2*this.a*this.k0),r=this.con*Lp(this.e,i),t=this.con*Ce(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else s=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,o<=Se?n=this.X0:(n=Math.asin(Math.cos(s)*this.sinX0+e.y*Math.sin(s)*this.cosX0/o),t=Ce(this.long0+Math.atan2(e.x*Math.sin(s),o*this.cosX0*Math.cos(s)-e.y*this.sinX0*Math.sin(s)))),r=-1*Lp(this.e,Math.tan(.5*(de+n)));return e.x=t,e.y=r,e}var Kmt=[\"stere\",\"Stereographic_South_Pole\",\"Polar Stereographic (variant B)\",\"Polar_Stereographic\"],PY={init:Qmt,forward:$mt,inverse:Xmt,names:Kmt,ssfn_:Ymt};function Jmt(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e),r=this.a,i=this.rf,s=1/i,n=2*s-Math.pow(s,2),o=this.e=Math.sqrt(n);this.R=this.k0*r*Math.sqrt(1-n)/(1-n*Math.pow(t,2)),this.alpha=Math.sqrt(1+n/(1-n)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(t/this.alpha);var c=Math.log(Math.tan(Math.PI/4+this.b0/2)),f=Math.log(Math.tan(Math.PI/4+e/2)),_=Math.log((1+o*t)/(1-o*t));this.K=c-this.alpha*f+this.alpha*o/2*_}function t0t(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),i=-this.alpha*(t+r)+this.K,s=2*(Math.atan(Math.exp(i))-Math.PI/4),n=this.alpha*(e.x-this.lambda0),o=Math.atan(Math.sin(n)/(Math.sin(this.b0)*Math.tan(s)+Math.cos(this.b0)*Math.cos(n))),c=Math.asin(Math.cos(this.b0)*Math.sin(s)-Math.sin(this.b0)*Math.cos(s)*Math.cos(n));return e.y=this.R/2*Math.log((1+Math.sin(c))/(1-Math.sin(c)))+this.y0,e.x=this.R*o+this.x0,e}function e0t(e){for(var t=e.x-this.x0,r=e.y-this.y0,i=t/this.R,s=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),n=Math.asin(Math.cos(this.b0)*Math.sin(s)+Math.sin(this.b0)*Math.cos(s)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(s))),c=this.lambda0+o/this.alpha,f=0,_=n,w=-1e3,I=0;Math.abs(_-w)>1e-7;){if(++I>20)return;f=1/this.alpha*(Math.log(Math.tan(Math.PI/4+n/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(_))/2)),w=_,_=2*Math.atan(Math.exp(f))-Math.PI/2}return e.x=c,e.y=_,e}var r0t=[\"somerc\"],IY={init:Jmt,forward:t0t,inverse:e0t,names:r0t};var px=1e-7;function i0t(e){var t=[\"Hotine_Oblique_Mercator\",\"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\"],r=typeof e.PROJECTION==\"object\"?Object.keys(e.PROJECTION)[0]:e.PROJECTION;return\"no_uoff\"in e||\"no_off\"in e||t.indexOf(r)!==-1}function n0t(){var e,t,r,i,s,n,o,c,f,_,w=0,I,R=0,N=0,j=0,Q=0,et=0,Y=0,K;this.no_off=i0t(this),this.no_rot=\"no_rot\"in this;var J=!1;\"alpha\"in this&&(J=!0);var ut=!1;if(\"rectified_grid_angle\"in this&&(ut=!0),J&&(Y=this.alpha),ut&&(w=this.rectified_grid_angle*vs),J||ut)R=this.longc;else if(N=this.long1,Q=this.lat1,j=this.long2,et=this.lat2,Math.abs(Q-et)<=px||(e=Math.abs(Q))<=px||Math.abs(e-de)<=px||Math.abs(Math.abs(this.lat0)-de)<=px||Math.abs(Math.abs(et)-de)<=px)throw new Error;var Et=1-this.es;t=Math.sqrt(Et),Math.abs(this.lat0)>Se?(c=Math.sin(this.lat0),r=Math.cos(this.lat0),e=1-this.es*c*c,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/Et),this.A=this.B*this.k0*t/e,i=this.B*t/(r*Math.sqrt(e)),s=i*i-1,s<=0?s=0:(s=Math.sqrt(s),this.lat0<0&&(s=-s)),this.E=s+=i,this.E*=Math.pow(Dl(this.e,this.lat0,c),this.B)):(this.B=1/t,this.A=this.k0,this.E=i=s=1),J||ut?(J?(I=Math.asin(Math.sin(Y)/i),ut||(w=Y)):(I=w,Y=Math.asin(i*Math.sin(I))),this.lam0=R-Math.asin(.5*(s-1/s)*Math.tan(I))/this.B):(n=Math.pow(Dl(this.e,Q,Math.sin(Q)),this.B),o=Math.pow(Dl(this.e,et,Math.sin(et)),this.B),s=this.E/n,f=(o-n)/(o+n),_=this.E*this.E,_=(_-o*n)/(_+o*n),e=N-j,e<-Math.pi?j-=Em:e>Math.pi&&(j+=Em),this.lam0=Ce(.5*(N+j)-Math.atan(_*Math.tan(.5*this.B*(N-j))/f)/this.B),I=Math.atan(2*Math.sin(this.B*Ce(N-this.lam0))/(s-1/s)),w=Y=Math.asin(i*Math.sin(I))),this.singam=Math.sin(I),this.cosgam=Math.cos(I),this.sinrot=Math.sin(w),this.cosrot=Math.cos(w),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,K=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(Y))),this.lat0<0&&(this.u_0=-this.u_0)),s=.5*I,this.v_pole_n=this.ArB*Math.log(Math.tan(Ui-s)),this.v_pole_s=this.ArB*Math.log(Math.tan(Ui+s))}function s0t(e){var t={},r,i,s,n,o,c,f,_;if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-de)>Se){if(o=this.E/Math.pow(Dl(this.e,e.y,Math.sin(e.y)),this.B),c=1/o,r=.5*(o-c),i=.5*(o+c),n=Math.sin(this.B*e.x),s=(r*this.singam-n*this.cosgam)/i,Math.abs(Math.abs(s)-1)0?this.v_pole_n:this.v_pole_s,f=this.ArB*e.y;return this.no_rot?(t.x=f,t.y=_):(f-=this.u_0,t.x=_*this.cosrot+f*this.sinrot,t.y=f*this.cosrot-_*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function o0t(e){var t,r,i,s,n,o,c,f={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(r=e.y,t=e.x):(r=e.x*this.cosrot-e.y*this.sinrot,t=e.y*this.cosrot+e.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*r),s=.5*(i-1/i),n=.5*(i+1/i),o=Math.sin(this.BrA*t),c=(o*this.cosgam+s*this.singam)/n,Math.abs(Math.abs(c)-1)Se?this.ns=Math.log(i/c)/Math.log(s/f):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=i/(this.ns*Math.pow(s,this.ns)),this.rh=this.a*this.f0*Math.pow(_,this.ns),this.title||(this.title=\"Lambert Conformal Conic\")}}function c0t(e){var t=e.x,r=e.y;Math.abs(2*Math.abs(r)-Math.PI)<=Se&&(r=pd(r)*(de-2*Se));var i=Math.abs(Math.abs(r)-de),s,n;if(i>Se)s=Dl(this.e,r,Math.sin(r)),n=this.a*this.f0*Math.pow(s,this.ns);else{if(i=r*this.ns,i<=0)return null;n=0}var o=this.ns*Ce(t-this.long0);return e.x=this.k0*(n*Math.sin(o))+this.x0,e.y=this.k0*(this.rh-n*Math.cos(o))+this.y0,e}function u0t(e){var t,r,i,s,n,o=(e.x-this.x0)/this.k0,c=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(o*o+c*c),r=1):(t=-Math.sqrt(o*o+c*c),r=-1);var f=0;if(t!==0&&(f=Math.atan2(r*o,r*c)),t!==0||this.ns>0){if(r=1/this.ns,i=Math.pow(t/(this.a*this.f0),r),s=Lp(this.e,i),s===-9999)return null}else s=-de;return n=Ce(f/this.ns+this.long0),e.x=n,e.y=s,e}var h0t=[\"Lambert Tangential Conformal Conic Projection\",\"Lambert_Conformal_Conic\",\"Lambert_Conformal_Conic_1SP\",\"Lambert_Conformal_Conic_2SP\",\"lcc\",\"Lambert Conic Conformal (1SP)\",\"Lambert Conic Conformal (2SP)\"],LY={init:l0t,forward:c0t,inverse:u0t,names:h0t};function f0t(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function d0t(e){var t,r,i,s,n,o,c,f=e.x,_=e.y,w=Ce(f-this.long0);return t=Math.pow((1+this.e*Math.sin(_))/(1-this.e*Math.sin(_)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(_/2+this.s45),this.alfa)/t)-this.s45),i=-w*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(s)),o=this.n*n,c=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(s/2+this.s45),this.n),e.y=c*Math.cos(o)/1,e.x=c*Math.sin(o)/1,this.czech||(e.y*=-1,e.x*=-1),e}function p0t(e){var t,r,i,s,n,o,c,f,_=e.x;e.x=e.y,e.y=_,this.czech||(e.y*=-1,e.x*=-1),o=Math.sqrt(e.x*e.x+e.y*e.y),n=Math.atan2(e.y,e.x),s=n/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(s)),r=Math.asin(Math.cos(i)*Math.sin(s)/Math.cos(t)),e.x=this.long0-r/this.alfa,c=t,f=0;var w=0;do e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(c))/(1-this.e*Math.sin(c)),this.e/2))-this.s45),Math.abs(c-e.y)<1e-10&&(f=1),c=e.y,w+=1;while(f===0&&w<15);return w>=15?null:e}var A0t=[\"Krovak\",\"krovak\"],kY={init:f0t,forward:d0t,inverse:p0t,names:A0t};function zo(e,t,r,i,s){return e*s-t*Math.sin(2*s)+r*Math.sin(4*s)-i*Math.sin(6*s)}function kp(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function Rp(e){return .375*e*(1+.25*e*(1+.46875*e))}function Dp(e){return .05859375*e*e*(1+.75*e)}function Op(e){return e*e*e*(35/3072)}function Bp(e,t,r){var i=t*r;return e/Math.sqrt(1-i*i)}function ff(e){return Math.abs(e)1e-7?(r=e*t,(1-e*e)*(t/(1-r*r)-.5/e*Math.log((1-r)/(1+r)))):2*t}var v0t=1,x0t=2,b0t=3,w0t=4;function S0t(){var e=Math.abs(this.lat0);if(Math.abs(e-de)0){var t;switch(this.qp=df(this.e,1),this.mmf=.5/(1-this.es),this.apa=R0t(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=df(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function T0t(e){var t,r,i,s,n,o,c,f,_,w,I=e.x,R=e.y;if(I=Ce(I-this.long0),this.sphere){if(n=Math.sin(R),w=Math.cos(R),i=Math.cos(I),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(r=this.mode===this.EQUIT?1+w*i:1+this.sinph0*n+this.cosph0*w*i,r<=Se)return null;r=Math.sqrt(2/r),t=r*w*Math.sin(I),r*=this.mode===this.EQUIT?n:this.cosph0*n-this.sinph0*w*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(R+this.lat0)=0?(t=(_=Math.sqrt(o))*s,r=i*(this.mode===this.S_POLE?_:-_)):t=r=0;break}}return e.x=this.a*t+this.x0,e.y=this.a*r+this.y0,e}function M0t(e){e.x-=this.x0,e.y-=this.y0;var t=e.x/this.a,r=e.y/this.a,i,s,n,o,c,f,_;if(this.sphere){var w=0,I,R=0;if(I=Math.sqrt(t*t+r*r),s=I*.5,s>1)return null;switch(s=2*Math.asin(s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(R=Math.sin(s),w=Math.cos(s)),this.mode){case this.EQUIT:s=Math.abs(I)<=Se?0:Math.asin(r*R/I),t*=R,r=w*I;break;case this.OBLIQ:s=Math.abs(I)<=Se?this.lat0:Math.asin(w*this.sinph0+r*R*this.cosph0/I),t*=R*this.cosph0,r=(w-Math.sin(s)*this.sinph0)*I;break;case this.N_POLE:r=-r,s=de-s;break;case this.S_POLE:s-=de;break}i=r===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,r)}else{if(_=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,r*=this.dd,f=Math.sqrt(t*t+r*r),f1&&(e=e>1?1:-1),Math.asin(e)}function B0t(){Math.abs(this.lat1+this.lat2)Se?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function F0t(e){var t=e.x,r=e.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var i=df(this.e3,this.sin_phi),s=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,n=this.ns0*Ce(t-this.long0),o=s*Math.sin(n)+this.x0,c=this.rh-s*Math.cos(n)+this.y0;return e.x=o,e.y=c,e}function z0t(e){var t,r,i,s,n,o;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),i=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),i=-1),s=0,t!==0&&(s=Math.atan2(i*e.x,i*e.y)),i=t*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(r=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,r)),n=Ce(s/this.ns0+this.long0),e.x=n,e.y=o,e}function N0t(e,t){var r,i,s,n,o,c=Ec(.5*t);if(e0||Math.abs(o)<=Se?(c=this.x0+this.a*n*r*Math.sin(i)/o,f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)/o):(c=this.x0+this.infinity_dist*r*Math.sin(i),f=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function G0t(e){var t,r,i,s,n,o;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(t=Math.sqrt(e.x*e.x+e.y*e.y))?(s=Math.atan2(t,this.rc),r=Math.sin(s),i=Math.cos(s),o=Ec(i*this.sin_p14+e.y*r*this.cos_p14/t),n=Math.atan2(e.x*r,t*this.cos_p14*i-e.y*this.sin_p14*r),n=Ce(this.long0+n)):(o=this.phic0,n=0),e.x=n,e.y=o,e}var W0t=[\"gnom\"],BY={init:V0t,forward:j0t,inverse:G0t,names:W0t};function FY(e,t){var r=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-r)<1e-6)return t<0?-1*de:de;for(var i=Math.asin(.5*t),s,n,o,c,f=0;f<30;f++)if(n=Math.sin(i),o=Math.cos(i),c=e*n,s=Math.pow(1-c*c,2)/(2*o)*(t/(1-e*e)-n/(1-c*c)+.5/e*Math.log((1-c)/(1+c))),i+=s,Math.abs(s)<=1e-10)return i;return NaN}function H0t(){this.sphere||(this.k0=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function q0t(e){var t=e.x,r=e.y,i,s,n=Ce(t-this.long0);if(this.sphere)i=this.x0+this.a*n*Math.cos(this.lat_ts),s=this.y0+this.a*Math.sin(r)/Math.cos(this.lat_ts);else{var o=df(this.e,Math.sin(r));i=this.x0+this.a*this.k0*n,s=this.y0+this.a*o*.5/this.k0}return e.x=i,e.y=s,e}function Z0t(e){e.x-=this.x0,e.y-=this.y0;var t,r;return this.sphere?(t=Ce(this.long0+e.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(r=FY(this.e,2*e.y*this.k0/this.a),t=Ce(this.long0+e.x/(this.a*this.k0))),e.x=t,e.y=r,e}var Y0t=[\"cea\"],zY={init:H0t,forward:q0t,inverse:Z0t,names:Y0t};function Q0t(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Equidistant Cylindrical (Plate Carre)\",this.rc=Math.cos(this.lat_ts)}function $0t(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s=ff(r-this.lat0);return e.x=this.x0+this.a*i*this.rc,e.y=this.y0+this.a*s,e}function X0t(e){var t=e.x,r=e.y;return e.x=Ce(this.long0+(t-this.x0)/(this.a*this.rc)),e.y=ff(this.lat0+(r-this.y0)/this.a),e}var K0t=[\"Equirectangular\",\"Equidistant_Cylindrical\",\"eqc\"],NY={init:Q0t,forward:$0t,inverse:X0t,names:K0t};var UY=20;function J0t(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=kp(this.es),this.e1=Rp(this.es),this.e2=Dp(this.es),this.e3=Op(this.es),this.ml0=this.a*zo(this.e0,this.e1,this.e2,this.e3,this.lat0)}function tgt(e){var t=e.x,r=e.y,i,s,n,o=Ce(t-this.long0);if(n=o*Math.sin(r),this.sphere)Math.abs(r)<=Se?(i=this.a*o,s=-1*this.a*this.lat0):(i=this.a*Math.sin(n)/Math.tan(r),s=this.a*(ff(r-this.lat0)+(1-Math.cos(n))/Math.tan(r)));else if(Math.abs(r)<=Se)i=this.a*o,s=-1*this.ml0;else{var c=Bp(this.a,this.e,Math.sin(r))/Math.tan(r);i=c*Math.sin(n),s=this.a*zo(this.e0,this.e1,this.e2,this.e3,r)-this.ml0+c*(1-Math.cos(n))}return e.x=i+this.x0,e.y=s+this.y0,e}function egt(e){var t,r,i,s,n,o,c,f,_;if(i=e.x-this.x0,s=e.y-this.y0,this.sphere)if(Math.abs(s+this.a*this.lat0)<=Se)t=Ce(i/this.a+this.long0),r=0;else{o=this.lat0+s/this.a,c=i*i/this.a/this.a+o*o,f=o;var w;for(n=UY;n;--n)if(w=Math.tan(f),_=-1*(o*(f*w+1)-f-.5*(f*f+c)*w)/((f-o)/w-1),f+=_,Math.abs(_)<=Se){r=f;break}t=Ce(this.long0+Math.asin(i*Math.tan(f)/this.a)/Math.sin(r))}else if(Math.abs(s+this.ml0)<=Se)r=0,t=Ce(this.long0+i/this.a);else{o=(this.ml0+s)/this.a,c=i*i/this.a/this.a+o*o,f=o;var I,R,N,j,Q;for(n=UY;n;--n)if(Q=this.e*Math.sin(f),I=Math.sqrt(1-Q*Q)*Math.tan(f),R=this.a*zo(this.e0,this.e1,this.e2,this.e3,f),N=this.e0-2*this.e1*Math.cos(2*f)+4*this.e2*Math.cos(4*f)-6*this.e3*Math.cos(6*f),j=R/this.a,_=(o*(I*j+1)-j-.5*I*(j*j+c))/(this.es*Math.sin(2*f)*(j*j+c-2*o*j)/(4*I)+(o-j)*(I*N-2/Math.sin(2*f))-N),f-=_,Math.abs(_)<=Se){r=f;break}I=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),t=Ce(this.long0+Math.asin(i*I/this.a)/Math.sin(r))}return e.x=t,e.y=r,e}var rgt=[\"Polyconic\",\"poly\"],VY={init:J0t,forward:tgt,inverse:egt,names:rgt};function igt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function ngt(e){var t,r=e.x,i=e.y,s=i-this.lat0,n=r-this.long0,o=s/Yg*1e-5,c=n,f=1,_=0;for(t=1;t<=10;t++)f=f*o,_=_+this.A[t]*f;var w=_,I=c,R=1,N=0,j,Q,et=0,Y=0;for(t=1;t<=6;t++)j=R*w-N*I,Q=N*w+R*I,R=j,N=Q,et=et+this.B_re[t]*R-this.B_im[t]*N,Y=Y+this.B_im[t]*R+this.B_re[t]*N;return e.x=Y*this.a+this.x0,e.y=et*this.a+this.y0,e}function sgt(e){var t,r=e.x,i=e.y,s=r-this.x0,n=i-this.y0,o=n/this.a,c=s/this.a,f=1,_=0,w,I,R=0,N=0;for(t=1;t<=6;t++)w=f*o-_*c,I=_*o+f*c,f=w,_=I,R=R+this.C_re[t]*f-this.C_im[t]*_,N=N+this.C_im[t]*f+this.C_re[t]*_;for(var j=0;j.999999999999&&(r=.999999999999),t=Math.asin(r);var i=Ce(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),r=(2*t+Math.sin(2*t))/Math.PI,Math.abs(r)>1&&(r=1);var s=Math.asin(r);return e.x=i,e.y=s,e}var ygt=[\"Mollweide\",\"moll\"],HY={init:mgt,forward:ggt,inverse:_gt,names:ygt};function vgt(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(e.x*e.x+e.y*e.y),t=1):(r=-Math.sqrt(e.x*e.x+e.y*e.y),t=-1);var n=0;if(r!==0&&(n=Math.atan2(t*e.x,t*e.y)),this.sphere)return s=Ce(this.long0+n/this.ns),i=ff(this.g-r/this.a),e.x=s,e.y=i,e;var o=this.g-r/this.a;return i=Kg(o,this.e0,this.e1,this.e2,this.e3),s=Ce(this.long0+n/this.ns),e.x=s,e.y=i,e}var wgt=[\"Equidistant_Conic\",\"eqdc\"],qY={init:vgt,forward:xgt,inverse:bgt,names:wgt};function Sgt(){this.R=this.a}function Tgt(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s,n;Math.abs(r)<=Se&&(s=this.x0+this.R*i,n=this.y0);var o=Ec(2*Math.abs(r/Math.PI));(Math.abs(i)<=Se||Math.abs(Math.abs(r)-de)<=Se)&&(s=this.x0,r>=0?n=this.y0+Math.PI*this.R*Math.tan(.5*o):n=this.y0+Math.PI*this.R*-Math.tan(.5*o));var c=.5*Math.abs(Math.PI/i-i/Math.PI),f=c*c,_=Math.sin(o),w=Math.cos(o),I=w/(_+w-1),R=I*I,N=I*(2/_-1),j=N*N,Q=Math.PI*this.R*(c*(I-j)+Math.sqrt(f*(I-j)*(I-j)-(j+f)*(R-j)))/(j+f);i<0&&(Q=-Q),s=this.x0+Q;var et=f+I;return Q=Math.PI*this.R*(N*et-c*Math.sqrt((j+f)*(f+1)-et*et))/(j+f),r>=0?n=this.y0+Q:n=this.y0-Q,e.x=s,e.y=n,e}function Mgt(e){var t,r,i,s,n,o,c,f,_,w,I,R,N;return e.x-=this.x0,e.y-=this.y0,I=Math.PI*this.R,i=e.x/I,s=e.y/I,n=i*i+s*s,o=-Math.abs(s)*(1+n),c=o-2*s*s+i*i,f=-2*o+1+2*s*s+n*n,N=s*s/f+(2*c*c*c/f/f/f-9*o*c/f/f)/27,_=(o-c*c/3/f)/f,w=2*Math.sqrt(-_/3),I=3*N/_/w,Math.abs(I)>1&&(I>=0?I=1:I=-1),R=Math.acos(I)/3,e.y>=0?r=(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI:r=-(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI,Math.abs(i)2*de*this.a?void 0:(r=t/this.a,i=Math.sin(r),s=Math.cos(r),n=this.long0,Math.abs(t)<=Se?o=this.lat0:(o=Ec(s*this.sin_p12+e.y*i*this.cos_p12/t),c=Math.abs(this.lat0)-de,Math.abs(c)<=Se?this.lat0>=0?n=Ce(this.long0+Math.atan2(e.x,-e.y)):n=Ce(this.long0-Math.atan2(-e.x,e.y)):n=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p12*s-e.y*this.sin_p12*i))),e.x=n,e.y=o,e)):(f=kp(this.es),_=Rp(this.es),w=Dp(this.es),I=Op(this.es),Math.abs(this.sin_p12-1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=R-t,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,-1*e.y)),e.x=n,e.y=o,e):Math.abs(this.sin_p12+1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=t-R,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,e.y)),e.x=n,e.y=o,e):(t=Math.sqrt(e.x*e.x+e.y*e.y),et=Math.atan2(e.x,e.y),j=Bp(this.a,this.e,this.sin_p12),Y=Math.cos(et),K=this.e*this.cos_p12*Y,J=-K*K/(1-this.es),ut=3*this.es*(1-J)*this.sin_p12*this.cos_p12*Y/(1-this.es),Et=t/j,kt=Et-J*(1+J)*Math.pow(Et,3)/6-ut*(1+3*J)*Math.pow(Et,4)/24,Xt=1-J*kt*kt/2-Et*kt*kt*kt/6,Q=Math.asin(this.sin_p12*Math.cos(kt)+this.cos_p12*Math.sin(kt)*Y),n=Ce(this.long0+Math.asin(Math.sin(et)*Math.sin(kt)/Math.cos(Q))),qt=Math.sin(Q),o=Math.atan2((qt-this.es*Xt*this.sin_p12)*Math.tan(Q),qt*(1-this.es)),e.x=n,e.y=o,e))}var Lgt=[\"Azimuthal_Equidistant\",\"aeqd\"],YY={init:Pgt,forward:Igt,inverse:Cgt,names:Lgt};function kgt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function Rgt(e){var t,r,i,s,n,o,c,f,_=e.x,w=e.y;return i=Ce(_-this.long0),t=Math.sin(w),r=Math.cos(w),s=Math.cos(i),o=this.sin_p14*t+this.cos_p14*r*s,n=1,(o>0||Math.abs(o)<=Se)&&(c=this.a*n*r*Math.sin(i),f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function Dgt(e){var t,r,i,s,n,o,c;return e.x-=this.x0,e.y-=this.y0,t=Math.sqrt(e.x*e.x+e.y*e.y),r=Ec(t/this.a),i=Math.sin(r),s=Math.cos(r),o=this.long0,Math.abs(t)<=Se?(c=this.lat0,e.x=o,e.y=c,e):(c=Ec(s*this.sin_p14+e.y*i*this.cos_p14/t),n=Math.abs(this.lat0)-de,Math.abs(n)<=Se?(this.lat0>=0?o=Ce(this.long0+Math.atan2(e.x,-e.y)):o=Ce(this.long0-Math.atan2(-e.x,e.y)),e.x=o,e.y=c,e):(o=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p14*s-e.y*this.sin_p14*i)),e.x=o,e.y=c,e))}var Ogt=[\"ortho\"],QY={init:kgt,forward:Rgt,inverse:Dgt,names:Ogt};var bs={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},An={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Bgt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Quadrilateralized Spherical Cube\",this.lat0>=de-Ui/2?this.face=bs.TOP:this.lat0<=-(de-Ui/2)?this.face=bs.BOTTOM:Math.abs(this.long0)<=Ui?this.face=bs.FRONT:Math.abs(this.long0)<=de+Ui?this.face=this.long0>0?bs.RIGHT:bs.LEFT:this.face=bs.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Fgt(e){var t={x:0,y:0},r,i,s,n,o,c,f={value:0};if(e.x-=this.long0,this.es!==0?r=Math.atan(this.one_minus_f_squared*Math.tan(e.y)):r=e.y,i=e.x,this.face===bs.TOP)n=de-r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=i-de):i>de+Ui||i<=-(de+Ui)?(f.value=An.AREA_1,s=i>0?i-xs:i+xs):i>-(de+Ui)&&i<=-Ui?(f.value=An.AREA_2,s=i+de):(f.value=An.AREA_3,s=i);else if(this.face===bs.BOTTOM)n=de+r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=-i+de):i=-Ui?(f.value=An.AREA_1,s=-i):i<-Ui&&i>=-(de+Ui)?(f.value=An.AREA_2,s=-i-de):(f.value=An.AREA_3,s=i>0?-i+xs:-i-xs);else{var _,w,I,R,N,j,Q;this.face===bs.RIGHT?i=Ax(i,+de):this.face===bs.BACK?i=Ax(i,+xs):this.face===bs.LEFT&&(i=Ax(i,-de)),R=Math.sin(r),N=Math.cos(r),j=Math.sin(i),Q=Math.cos(i),_=N*Q,w=N*j,I=R,this.face===bs.FRONT?(n=Math.acos(_),s=gI(n,I,w,f)):this.face===bs.RIGHT?(n=Math.acos(w),s=gI(n,I,-_,f)):this.face===bs.BACK?(n=Math.acos(-_),s=gI(n,I,-w,f)):this.face===bs.LEFT?(n=Math.acos(-w),s=gI(n,I,_,f)):(n=s=0,f.value=An.AREA_0)}return c=Math.atan(12/xs*(s+Math.acos(Math.sin(s)*Math.cos(Ui))-de)),o=Math.sqrt((1-Math.cos(n))/(Math.cos(c)*Math.cos(c))/(1-Math.cos(Math.atan(1/Math.cos(s))))),f.value===An.AREA_1?c+=de:f.value===An.AREA_2?c+=xs:f.value===An.AREA_3&&(c+=1.5*xs),t.x=o*Math.cos(c),t.y=o*Math.sin(c),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,e.x=t.x,e.y=t.y,e}function zgt(e){var t={lam:0,phi:0},r,i,s,n,o,c,f,_,w,I={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,i=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),r=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?I.value=An.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(I.value=An.AREA_1,r-=de):e.x<0&&-e.x>=Math.abs(e.y)?(I.value=An.AREA_2,r=r<0?r+xs:r-xs):(I.value=An.AREA_3,r+=de),w=xs/12*Math.tan(r),o=Math.sin(w)/(Math.cos(w)-1/Math.sqrt(2)),c=Math.atan(o),s=Math.cos(r),n=Math.tan(i),f=1-s*s*n*n*(1-Math.cos(Math.atan(1/Math.cos(c)))),f<-1?f=-1:f>1&&(f=1),this.face===bs.TOP)_=Math.acos(f),t.phi=de-_,I.value===An.AREA_0?t.lam=c+de:I.value===An.AREA_1?t.lam=c<0?c+xs:c-xs:I.value===An.AREA_2?t.lam=c-de:t.lam=c;else if(this.face===bs.BOTTOM)_=Math.acos(f),t.phi=_-de,I.value===An.AREA_0?t.lam=-c+de:I.value===An.AREA_1?t.lam=-c:I.value===An.AREA_2?t.lam=-c-de:t.lam=c<0?-c-xs:-c+xs;else{var R,N,j;R=f,w=R*R,w>=1?j=0:j=Math.sqrt(1-w)*Math.sin(c),w+=j*j,w>=1?N=0:N=Math.sqrt(1-w),I.value===An.AREA_1?(w=N,N=-j,j=w):I.value===An.AREA_2?(N=-N,j=-j):I.value===An.AREA_3&&(w=N,N=j,j=-w),this.face===bs.RIGHT?(w=R,R=-N,N=w):this.face===bs.BACK?(R=-R,N=-N):this.face===bs.LEFT&&(w=R,R=N,N=-w),t.phi=Math.acos(-j)-de,t.lam=Math.atan2(N,R),this.face===bs.RIGHT?t.lam=Ax(t.lam,-de):this.face===bs.BACK?t.lam=Ax(t.lam,-xs):this.face===bs.LEFT&&(t.lam=Ax(t.lam,+de))}if(this.es!==0){var Q,et,Y;Q=t.phi<0?1:0,et=Math.tan(t.phi),Y=this.b/Math.sqrt(et*et+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-Y*Y)/(this.one_minus_f*Y)),Q&&(t.phi=-t.phi)}return t.lam+=this.long0,e.x=t.lam,e.y=t.phi,e}function gI(e,t,r,i){var s;return eUi&&s<=de+Ui?(i.value=An.AREA_1,s-=de):s>de+Ui||s<=-(de+Ui)?(i.value=An.AREA_2,s=s>=0?s-xs:s+xs):(i.value=An.AREA_3,s+=de)),s}function Ax(e,t){var r=e+t;return r<-xs?r+=Em:r>+xs&&(r-=Em),r}var Ngt=[\"Quadrilateralized Spherical Cube\",\"Quadrilateralized_Spherical_Cube\",\"qsc\"],$Y={init:Bgt,forward:Fgt,inverse:zgt,names:Ngt};var DB=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],gS=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],XY=.8487,KY=1.3523,JY=Sc/5,Ugt=1/JY,mx=18,_I=function(e,t){return e[0]+t*(e[1]+t*(e[2]+t*e[3]))},Vgt=function(e,t){return e[1]+t*(2*e[2]+t*3*e[3])};function jgt(e,t,r,i){for(var s=t;i;--i){var n=e(s);if(s-=n,Math.abs(n)=mx&&(i=mx-1),r=Sc*(r-Ugt*i);var s={x:_I(DB[i],r)*t,y:_I(gS[i],r)};return e.y<0&&(s.y=-s.y),s.x=s.x*this.a*XY+this.x0,s.y=s.y*this.a*KY+this.y0,s}function Hgt(e){var t={x:(e.x-this.x0)/(this.a*XY),y:Math.abs(e.y-this.y0)/(this.a*KY)};if(t.y>=1)t.x/=DB[mx][0],t.y=e.y<0?-de:de;else{var r=Math.floor(t.y*mx);for(r<0?r=0:r>=mx&&(r=mx-1);;)if(gS[r][0]>t.y)--r;else if(gS[r+1][0]<=t.y)++r;else break;var i=gS[r],s=5*(t.y-i[0])/(gS[r+1][0]-i[0]);s=jgt(function(n){return(_I(i,n)-t.y)/Vgt(i,n)},s,Se,100),t.x/=_I(DB[r],s),t.y=(5*r+s)*vs,e.y<0&&(t.y=-t.y)}return t.x=Ce(t.x+this.long0),t}var qgt=[\"Robinson\",\"robin\"],tQ={init:Ggt,forward:Wgt,inverse:Hgt,names:qgt};function Zgt(){this.name=\"geocent\"}function Ygt(e){var t=aI(e,this.es,this.a);return t}function Qgt(e){var t=lI(e,this.es,this.a,this.b);return t}var $gt=[\"Geocentric\",\"geocentric\",\"geocent\",\"Geocent\"],eQ={init:Zgt,forward:Ygt,inverse:Qgt,names:$gt};var al={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},_S={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function Xgt(){if(Object.keys(_S).forEach(function(r){if(typeof this[r]>\"u\")this[r]=_S[r].def;else{if(_S[r].num&&isNaN(this[r]))throw new Error(\"Invalid parameter value, must be numeric \"+r+\" = \"+this[r]);_S[r].num&&(this[r]=parseFloat(this[r]))}_S[r].degrees&&(this[r]=this[r]*vs)}.bind(this)),Math.abs(Math.abs(this.lat0)-de)1e10)throw new Error(\"Invalid height\");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(e),this.sw=Math.sin(e)}function Kgt(e){e.x-=this.long0;var t=Math.sin(e.y),r=Math.cos(e.y),i=Math.cos(e.x),s,n;switch(this.mode){case al.OBLIQ:n=this.sinph0*t+this.cosph0*r*i;break;case al.EQUIT:n=r*i;break;case al.S_POLE:n=-t;break;case al.N_POLE:n=t;break}switch(n=this.pn1/(this.p-n),s=n*r*Math.sin(e.x),this.mode){case al.OBLIQ:n*=this.cosph0*t-this.sinph0*r*i;break;case al.EQUIT:n*=t;break;case al.N_POLE:n*=-(r*i);break;case al.S_POLE:n*=r*i;break}var o,c;return o=n*this.cg+s*this.sg,c=1/(o*this.sw*this.h1+this.cw),s=(s*this.cg-n*this.sg)*this.cw*c,n=o*c,e.x=s*this.a,e.y=n*this.a,e}function Jgt(e){e.x/=this.a,e.y/=this.a;var t={x:e.x,y:e.y},r,i,s;s=1/(this.pn1-e.y*this.sw),r=this.pn1*e.x*s,i=this.pn1*e.y*this.cw*s,e.x=r*this.cg+i*this.sg,e.y=i*this.cg-r*this.sg;var n=Ta(e.x,e.y);if(Math.abs(n)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var e=1-this.es,t=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=t,this.shape=\"ellipse\"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape=\"sphere\";this.title||(this.title=\"Geostationary Satellite View\")}function r_t(e){var t=e.x,r=e.y,i,s,n,o;if(t=t-this.long0,this.shape===\"ellipse\"){r=Math.atan(this.radius_p2*Math.tan(r));var c=this.radius_p/Ta(this.radius_p*Math.cos(r),Math.sin(r));if(s=c*Math.cos(t)*Math.cos(r),n=c*Math.sin(t)*Math.cos(r),o=c*Math.sin(r),(this.radius_g-s)*s-n*n-o*o*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i)))}else this.shape===\"sphere\"&&(i=Math.cos(r),s=Math.cos(t)*i,n=Math.sin(t)*i,o=Math.sin(r),i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i))));return e.x=e.x*this.a,e.y=e.y*this.a,e}function i_t(e){var t=-1,r=0,i=0,s,n,o,c;if(e.x=e.x/this.a,e.y=e.y/this.a,this.shape===\"ellipse\"){this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Ta(1,i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Ta(1,r));var f=i/this.radius_p;if(s=r*r+f*f+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if(this.shape===\"sphere\"){if(this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+i*i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+r*r)),s=r*r+i*i+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t)}return e.x=e.x+this.long0,e}var n_t=[\"Geostationary Satellite View\",\"Geostationary_Satellite\",\"geos\"],iQ={init:e_t,forward:r_t,inverse:i_t,names:n_t};function nQ(e){e.Proj.projections.add(fx),e.Proj.projections.add(dx),e.Proj.projections.add(MY),e.Proj.projections.add(EY),e.Proj.projections.add(PY),e.Proj.projections.add(IY),e.Proj.projections.add(CY),e.Proj.projections.add(LY),e.Proj.projections.add(kY),e.Proj.projections.add(RY),e.Proj.projections.add(DY),e.Proj.projections.add(OY),e.Proj.projections.add(BY),e.Proj.projections.add(zY),e.Proj.projections.add(NY),e.Proj.projections.add(VY),e.Proj.projections.add(jY),e.Proj.projections.add(GY),e.Proj.projections.add(WY),e.Proj.projections.add(HY),e.Proj.projections.add(qY),e.Proj.projections.add(ZY),e.Proj.projections.add(YY),e.Proj.projections.add(QY),e.Proj.projections.add($Y),e.Proj.projections.add(tQ),e.Proj.projections.add(eQ),e.Proj.projections.add(rQ),e.Proj.projections.add(iQ)}Tc.defaultDatum=\"WGS84\";Tc.Proj=Pm;Tc.WGS84=new Tc.Proj(\"WGS84\");Tc.Point=gY;Tc.toPoint=uI;Tc.defs=ax;Tc.nadgrid=MB;Tc.transform=$g;Tc.mgrs=pY;Tc.version=\"__VERSION__\";nQ(Tc);var sQ=Tc;function xS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function bS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function gx(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function s_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function o_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function wI(e){return\"data\"in e?e.getChildAt(0):e.children[0]}var vi=Object.freeze({__proto__:null,getLineStringChild:bS,getMultiLineStringChild:o_t,getMultiPointChild:s_t,getMultiPolygonChild:wI,getPointChild:xS,getPolygonChild:gx});function SI(e,t){let r=e.valueOffsets,i=gx(e),s=i.valueOffsets,n=bS(i),o=n.type.listSize,c=xS(n),f=r[t],_=r[t+1],w=s[f],I=s[_],R=c.values.subarray(w*o,I*o);return new sx(R,{size:o,isClosed:!0})}function aQ(e){if(\"data\"in e)return new xr(e.data.map(r=>aQ(r)));let t=new Float64Array(e.length);for(let r=0;rlQ(r)));let t=new Float64Array(e.length);for(let r=0;rcQ(n));let t=[],r=0;for(let n=0;nuQ(t))):gx(e)}function hQ(e){return\"data\"in e?new xr(e.data.map(t=>hQ(t))):wI(e)}function TI(e){return ze.isFixedSizeList(e)?!(![2,3,4].includes(e.listSize)||!ze.isFloat(e.children[0])):ze.isStruct(e)?!(![2,3,4].includes(e.children.length)||!e.children.every(t=>[\"x\",\"y\",\"z\",\"m\"].includes(t.name))||!e.children.every(t=>ze.isFloat(t))):!1}function MI(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function zB(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function fQ(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function dQ(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function pQ(e){return!(!ze.isList(e)||!zB(e.children[0].type))}function l_t(e){return TI(e.type)}function c_t(e){return MI(e.type)}function u_t(e){return zB(e.type)}function h_t(e){return fQ(e.type)}function f_t(e){return dQ(e.type)}function d_t(e){return pQ(e.type)}function p_t(e,t){if(!e)throw new Error(`assertion failed ${t}`)}function A_t(){throw new Error(\"assertion failed\")}function AQ(e,t){if(l_t(e))return mQ(e,t);if(c_t(e))return OB(e,t);if(u_t(e))return BB(e,t);if(h_t(e))return OB(e,t);if(f_t(e))return BB(e,t);if(d_t(e))return m_t(e,t);A_t()}function mQ(e,t){p_t(e.type.listSize===2,\"expected 2D\");let r=xS(e),i=r.values,s=new Float64Array(i.length);for(let o=0;ooQ(s,i))):oQ(e,i)}function oQ(e,t){let r=[0,0];return AQ(e,(s,n)=>(r[0]=s,r[1]=n,t.forward(r)))}var Im;(function(e){e.POINT=\"geoarrow.point\",e.LINESTRING=\"geoarrow.linestring\",e.POLYGON=\"geoarrow.polygon\",e.MULTIPOINT=\"geoarrow.multipoint\",e.MULTILINESTRING=\"geoarrow.multilinestring\",e.MULTIPOLYGON=\"geoarrow.multipolygon\"})(Im||(Im={}));var bI=class{minX;minY;maxX;maxY;constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}updateBbox(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.maxY>this.maxY&&(this.maxY=t.maxY)}updateCoord(t,r){tthis.maxX&&(this.maxX=t),r>this.maxY&&(this.maxY=r)}};function __t(e,t){switch(t.metadata.get(\"ARROW:extension:name\")){case Im.POINT:return gQ(e);case Im.LINESTRING:case Im.MULTIPOINT:return _Q(e);case Im.POLYGON:case Im.MULTILINESTRING:return yQ(e);case Im.MULTIPOLYGON:return v_t(e);default:throw new Error(\"Unknown ext type name\")}}function y_t(e){let r=xS(e).values,i=new bI;for(let s=0;svQ(r)));let t=new mm({type:new dc,nullValues:[null]});t.set(e.length-1,null);for(let r=0;rxQ(r,t));return}for(let r=0;rvS(n,t)));let r=[];for(let n of e.children)r.push(vS(n,t));let i;e.dictionary!==void 0&&(i=vS(e.dictionary,t));let s={[Oi.OFFSET]:yI(e.buffers[Oi.OFFSET],t),[Oi.DATA]:yI(e.buffers[Oi.DATA],t),[Oi.VALIDITY]:yI(e.buffers[Oi.VALIDITY],t),[Oi.TYPE]:yI(e.buffers[Oi.TYPE],t)};return new Fi(e.type,e.offset,e.length,e._nullCount,s,r,i)}function vI(e){if(\"data\"in e)return e.data.some(r=>vI(r));for(let r of e.children)if(vI(r))return!0;if(e.dictionary!==void 0&&vI(e.dictionary))return!0;let t=[Oi.OFFSET,Oi.DATA,Oi.VALIDITY,Oi.TYPE];for(let r of t)if(e.buffers[r]!==void 0&&bQ(e.buffers[r]))return!0;return!1}function bQ(e){return!(e.byteOffset===0&&e.byteLength===e.buffer.byteLength)}function yI(e,t){return e===void 0||!t&&!bQ(e)?e:e.slice()}function xI(e,t=!1){if(\"data\"in e){let i=[],s=[];for(let o of e.data){let[c,f]=xI(o);i.push(c),s.push(...f)}return[new xr(i),s]}e=vS(e,t);let r=[];for(let i=0;i1)throw new Error(\"expected 1 field\");return new sl(t[0])}case Ot.Struct:{let t=e.children.map(yS);return new pn(t)}case Ot.Union:{let t=e.children.map(yS);return new pc(e.mode,e.typeIds,t)}case Ot.FixedSizeBinary:return new Qu(e.byteWidth);case Ot.FixedSizeList:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");return new Ll(e.listSize,t[0])}case Ot.Map:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");let r=t[0];return new Ac(r,e.keysSorted)}case Ot.Duration:return new Yu(e.unit);default:throw new Error(`unknown type ${e}`)}}function yS(e){let t=wQ(e.type);return new si(e.name,t,e.nullable,e.metadata)}function UB(e){let t=e.children.map(s=>UB(s)),r=e.dictionary?SQ(e.dictionary):void 0,i={[Oi.OFFSET]:e.valueOffsets,[Oi.DATA]:e.values,[Oi.VALIDITY]:e.nullBitmap,[Oi.TYPE]:e.typeIds};return new Fi(wQ(e.type),e.offset,e.length,e._nullCount,i,t,r)}function SQ(e){return new xr(e.data.map(t=>UB(t)))}var VB=Object.freeze({__proto__:null,hardClone:vS,isShared:vI,preparePostMessage:xI,rehydrateData:UB,rehydrateVector:SQ});function E_t(e,t,r){let i=e.fields.findIndex(s=>s.name===r||s.metadata.get(\"ARROW:extension:name\")===t);return i!==-1?i:null}function P_t(e,t){let{index:r,data:i}=e,s=r;i.invertedGeomOffsets!==void 0&&(s=i.invertedGeomOffsets[r]);let n={data:i.data,length:i.length,attributes:i.attributes},o={index:s,data:n,target:e.target};return t(o)}function ro(e){let{props:t,propName:r,propInput:i,chunkIdx:s,geomCoordOffsets:n}=e;if(i!==void 0)if(i instanceof xr){let o=i.data[s];if(ze.isFixedSizeList(o)){_r(o.children.length===1);let c=o.children[0].values;n&&(c=EI(c,o.type.listSize,n)),t.data.attributes[r]={value:c,size:o.type.listSize,normalized:!0}}else if(ze.isFloat(o)){let c=o.values;n&&(c=EI(c,1,n)),t.data.attributes[r]={value:c,size:1}}}else typeof i==\"function\"?t[r]=(o,c)=>r===\"getPolygonOffset\"?i(o,c):P_t(c,i):t[r]=i}function EI(e,t,r){let i=r[r.length-1],s=new e.constructor(i*t);for(let n=0;n(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function no(e,t){let r=[],i=[];for(let[s,n]of Object.entries(e))s.startsWith(\"get\")&&n instanceof xr&&(r.push(n),s.endsWith(\"Color\")&&i.push(n));I_t(t,r);for(let s of i)C_t(s)}function I_t(e,t){for(let r of t)_r(e.batches.length===r.data.length);for(let r of t)for(let i=0;ithis.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){let t=this.content?this.content.byteLength:0;return Number.isFinite(t)||console.error(\"byteLength not defined in tile data\"),t}async _loadData({getData:t,requestScheduler:r,onLoad:i,onError:s}){let{index:n,id:o,bbox:c,userData:f,zoom:_}=this,w=this._loaderId;this._abortController=new AbortController;let{signal:I}=this._abortController,R=await r.scheduleRequest(this,Q=>Q.isSelected?1:-1);if(!R){this._isCancelled=!0;return}if(this._isCancelled){R.done();return}let N=null,j;try{N=await t({index:n,id:o,bbox:c,userData:f,zoom:_,signal:I})}catch(Q){j=Q||!0}finally{R.done()}if(w===this._loaderId){if(this._loader=void 0,this.content=N,this._isCancelled&&!N){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,j?s(j,this):i(this)}}loadData(t){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(t),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var t;this.isLoaded||(this._isCancelled=!0,(t=this._abortController)===null||t===void 0||t.abort())}};var so={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var IQ=new Ve,O_t=new Ve,Jg=class e{constructor(t=[0,0,0],r=[0,0,0],i){G(this,\"center\",void 0),G(this,\"halfDiagonal\",void 0),G(this,\"minimum\",void 0),G(this,\"maximum\",void 0),i=i||IQ.copy(t).add(r).scale(.5),this.center=new Ve(i),this.halfDiagonal=new Ve(r).subtract(this.center),this.minimum=new Ve(t),this.maximum=new Ve(r)}clone(){return new e(this.minimum,this.maximum,this.center)}equals(t){return this===t||!!t&&this.minimum.equals(t.minimum)&&this.maximum.equals(t.maximum)}transform(t){return this.center.transformAsPoint(t),this.halfDiagonal.transform(t),this.minimum.transform(t),this.maximum.transform(t),this}intersectPlane(t){let{halfDiagonal:r}=this,i=O_t.from(t.normal),s=r.x*Math.abs(i.x)+r.y*Math.abs(i.y)+r.z*Math.abs(i.z),n=this.center.dot(i)+t.distance;return n-s>0?so.INSIDE:n+s<0?so.OUTSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=IQ.from(t).subtract(this.center),{halfDiagonal:i}=this,s=0,n;return n=Math.abs(r.x)-i.x,n>0&&(s+=n*n),n=Math.abs(r.y)-i.y,n>0&&(s+=n*n),n=Math.abs(r.z)-i.z,n>0&&(s+=n*n),s}};var TS=new Ve,CQ=new Ve,t_=class e{constructor(t=[0,0,0],r=0){G(this,\"center\",void 0),G(this,\"radius\",void 0),this.radius=-0,this.center=new Ve,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=TS.from(r),this.center=new Ve().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||!!t&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new e(this.center,this.radius)}union(t){let r=this.center,i=this.radius,s=t.center,n=t.radius,o=TS.copy(s).subtract(r),c=o.magnitude();if(i>=c+n)return this.clone();if(n>=c+i)return t.clone();let f=(i+c+n)*.5;return CQ.copy(o).scale((-i+f)/c).add(r),this.center.copy(CQ),this.radius=f,this}expand(t){let i=TS.from(t).subtract(this.center).magnitude();return i>this.radius&&(this.radius=i),this}transform(t){this.center.transform(t);let r=c7(TS,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let i=TS.from(t).subtract(this.center);return Math.max(0,i.len()-this.radius)}intersectPlane(t){let r=this.center,i=this.radius,n=t.normal.dot(r)+t.distance;return n<-i?so.OUTSIDE:n=f?so.INSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=F_t.from(t).subtract(this.center),i=this.halfAxes,s=i.getColumn(0,II),n=i.getColumn(1,CI),o=i.getColumn(2,LI),c=s.magnitude(),f=n.magnitude(),_=o.magnitude();s.normalize(),n.normalize(),o.normalize();let w=0,I;return I=Math.abs(r.dot(s))-c,I>0&&(w+=I*I),I=Math.abs(r.dot(n))-f,I>0&&(w+=I*I),I=Math.abs(r.dot(o))-_,I>0&&(w+=I*I),w}computePlaneDistances(t,r,i=[-0,-0]){let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,o=this.center,c=this.halfAxes,f=c.getColumn(0,II),_=c.getColumn(1,CI),w=c.getColumn(2,LI),I=z_t.copy(f).add(_).add(w).add(o),R=N_t.copy(I).subtract(t),N=r.dot(R);return s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),i[0]=s,i[1]=n,i}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,II);r.transformAsPoint(t);let i=this.halfAxes.getColumn(1,CI);i.transformAsPoint(t);let s=this.halfAxes.getColumn(2,LI);return s.transformAsPoint(t),this.halfAxes=new ss([...r,...i,...s]),this}getTransform(){throw new Error(\"not implemented\")}};var LQ=new Ve,kQ=new Ve,Af=class e{constructor(t=[0,0,1],r=0){G(this,\"normal\",void 0),G(this,\"distance\",void 0),this.normal=new Ve,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Bh(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=LQ.from(t),this.normal.from(r).normalize();let i=-this.normal.dot(t);return this.distance=i,this}fromCoefficients(t,r,i,s){return this.normal.set(t,r,i),Bh(Ro(this.normal.len(),1)),this.distance=s,this}clone(){return new e(this.normal,this.distance)}equals(t){return Ro(this.distance,t.distance)&&Ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=kQ.copy(this.normal).transformAsVector(t).normalize(),i=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(i,r)}projectPointOntoPlane(t,r=[0,0,0]){t=LQ.from(t);let i=this.getPointDistance(t),s=kQ.copy(this.normal).scale(i);return t.subtract(s).to(r)}};var RQ=[new Ve([1,0,0]),new Ve([0,1,0]),new Ve([0,0,1])],DQ=new Ve,U_t=new Ve,Rse=new Af(new Ve(1,0,0),0),Ad=class e{constructor(t=[]){G(this,\"planes\",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*RQ.length;let r=t.center,i=t.radius,s=0;for(let n of RQ){let o=this.planes[s],c=this.planes[s+1];o||(o=this.planes[s]=new Af),c||(c=this.planes[s+1]=new Af);let f=DQ.copy(n).scale(-i).add(r),_=-n.dot(f);o.fromPointNormal(f,n);let w=DQ.copy(n).scale(i).add(r),I=U_t.copy(n).negate(),R=-I.dot(w);c.fromPointNormal(w,I),s+=2}return this}computeVisibility(t){let r=so.INSIDE;for(let i of this.planes)switch(t.intersectPlane(i)){case so.OUTSIDE:return so.OUTSIDE;case so.INTERSECTING:r=so.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Bh(Number.isFinite(r),\"parentPlaneMask is required.\"),r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;let i=e.MASK_INSIDE,s=this.planes;for(let n=0;nf;)q_t(c,kI),OQ.copy(kI).transpose(),c.multiplyRight(kI),c.multiplyLeft(OQ),o.multiplyRight(kI),++s>2&&(++n,s=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=c.toTarget(t.diagonal),t}function W_t(e){let t=0;for(let r=0;r<9;++r){let i=e[r];t+=i*i}return Math.sqrt(t)}var GB=[1,0,0],WB=[2,2,1];function H_t(e){let t=0;for(let r=0;r<3;++r){let i=e[md.getElementIndex(WB[r],GB[r])];t+=2*i*i}return Math.sqrt(t)}function q_t(e,t){let r=YE.EPSILON15,i=0,s=1;for(let _=0;_<3;++_){let w=Math.abs(e[md.getElementIndex(WB[_],GB[_])]);w>i&&(s=_,i=w)}let n=GB[s],o=WB[s],c=1,f=0;if(Math.abs(e[md.getElementIndex(o,n)])>r){let _=e[md.getElementIndex(o,o)],w=e[md.getElementIndex(n,n)],I=e[md.getElementIndex(o,n)],R=(_-w)/2/I,N;R<0?N=-1/(-R+Math.sqrt(1+R*R)):N=1/(R+Math.sqrt(1+R*R)),c=1/Math.sqrt(1+N*N),f=N*c}return ss.IDENTITY.to(t),t[md.getElementIndex(n,n)]=t[md.getElementIndex(o,o)]=c,t[md.getElementIndex(o,n)]=f,t[md.getElementIndex(n,o)]=-f,t}var Cm=new Ve,Z_t=new Ve,Y_t=new Ve,Q_t=new Ve,$_t=new Ve,X_t=new ss,K_t={diagonal:new ss,unitary:new ss};function HB(e,t=new yx){if(!e||e.length===0)return t.halfAxes=new ss([0,0,0,0,0,0,0,0,0]),t.center=new Ve,t;let r=e.length,i=new Ve(0,0,0);for(let le of e)i.add(le);let s=1/r;i.multiplyByScalar(s);let n=0,o=0,c=0,f=0,_=0,w=0;for(let le of e){let ue=Cm.copy(le).subtract(i);n+=ue.x*ue.x,o+=ue.x*ue.y,c+=ue.x*ue.z,f+=ue.y*ue.y,_+=ue.y*ue.z,w+=ue.z*ue.z}n*=s,o*=s,c*=s,f*=s,_*=s,w*=s;let I=X_t;I[0]=n,I[1]=o,I[2]=c,I[3]=o,I[4]=f,I[5]=_,I[6]=c,I[7]=_,I[8]=w;let{unitary:R}=RI(I,K_t),N=t.halfAxes.copy(R),j=N.getColumn(0,Y_t),Q=N.getColumn(1,Q_t),et=N.getColumn(2,$_t),Y=-Number.MAX_VALUE,K=-Number.MAX_VALUE,J=-Number.MAX_VALUE,ut=Number.MAX_VALUE,Et=Number.MAX_VALUE,kt=Number.MAX_VALUE;for(let le of e)Cm.copy(le),Y=Math.max(Cm.dot(j),Y),K=Math.max(Cm.dot(Q),K),J=Math.max(Cm.dot(et),J),ut=Math.min(Cm.dot(j),ut),Et=Math.min(Cm.dot(Q),Et),kt=Math.min(Cm.dot(et),kt);j=j.multiplyByScalar(.5*(ut+Y)),Q=Q.multiplyByScalar(.5*(Et+K)),et=et.multiplyByScalar(.5*(kt+J)),t.center.copy(j).add(Q).add(et);let Xt=Z_t.set(Y-ut,K-Et,J-kt).multiplyByScalar(.5),qt=new ss([Xt[0],0,0,0,Xt[1],0,0,0,Xt[2]]);return t.halfAxes.multiplyRight(qt),t}var vx=512,BQ=3,FQ=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],zQ=FQ.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),J_t=zQ.concat([[.25,.5],[.75,.5]]),qB=class e{constructor(t,r,i){G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"z\",void 0),G(this,\"childVisible\",void 0),G(this,\"selected\",void 0),G(this,\"_children\",void 0),this.x=t,this.y=r,this.z=i}get children(){if(!this._children){let t=this.x*2,r=this.y*2,i=this.z+1;this._children=[new e(t,r,i),new e(t,r+1,i),new e(t+1,r,i),new e(t+1,r+1,i)]}return this._children}update(t){let{viewport:r,cullingVolume:i,elevationBounds:s,minZ:n,maxZ:o,bounds:c,offset:f,project:_}=t,w=this.getBoundingVolume(s,f,_);if(c&&!this.insideBounds(c)||i.computeVisibility(w)<0)return!1;if(!this.childVisible){let{z:R}=this;if(R=n){let N=w.distanceTo(r.cameraPosition)*r.scale/r.height;R+=Math.floor(Math.log2(N))}if(R>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(let R of this.children)R.update(t);return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let r of this._children)r.getSelected(t);return t}insideBounds([t,r,i,s]){let n=Math.pow(2,this.z),o=vx/n;return this.x*ot&&(this.y+1)*o>r}getBoundingVolume(t,r,i){if(i){let f=this.z<1?J_t:this.z<2?zQ:FQ,_=[];for(let w of f){let I=DI(this.x+w[0],this.y+w[1],this.z);I[2]=t[0],_.push(i(I)),t[0]!==t[1]&&(I[2]=t[1],_.push(i(I)))}return HB(_)}let s=Math.pow(2,this.z),n=vx/s,o=this.x*n+r*vx,c=vx-(this.y+1)*n;return new Jg([o,c,t[0]],[o+n,c+n,t[1]])}};function NQ(e,t,r,i){let s=e instanceof rv&&e.resolution?e.projectPosition:null,n=Object.values(e.getFrustumPlanes()).map(({normal:N,distance:j})=>new Af(N.clone().negate(),j)),o=new Ad(n),c=e.distanceScales.unitsPerMeter[2],f=r&&r[0]*c||0,_=r&&r[1]*c||0,w=e instanceof lc&&e.pitch<=60?t:0;if(i){let[N,j,Q,et]=i,Y=va([N,et]),K=va([Q,j]);i=[Y[0],vx-Y[1],K[0],vx-K[1]]}let I=new qB(0,0,0),R={viewport:e,project:s,cullingVolume:o,elevationBounds:[f,_],minZ:w,maxZ:t,bounds:i,offset:0};if(I.update(R),e instanceof lc&&e.subViewports&&e.subViewports.length>1){for(R.offset=-1;I.update(R)&&!(--R.offset<-BQ););for(R.offset=1;I.update(R)&&!(++R.offset>BQ););}return I.getSelected()}var zp=512,tyt=[-1/0,-1/0,1/0,1/0],YB={type:\"object\",value:null,validate:(e,t)=>t.optional&&e===null||typeof e==\"string\"||Array.isArray(e)&&e.every(r=>typeof r==\"string\"),equal:(e,t)=>{if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let i=0;is[0])),Math.min(...r.map(s=>s[1])),Math.max(...r.map(s=>s[0])),Math.max(...r.map(s=>s[1]))]}function eyt(e){return Math.abs(e.split(\"\").reduce((t,r)=>(t<<5)-t+r.charCodeAt(0)|0,0))}function QB(e,t){if(!e||!e.length)return null;let{index:r,id:i}=t;if(Array.isArray(e)){let n=eyt(i)%e.length;e=e[n]}let s=e;for(let n of Object.keys(r)){let o=new RegExp(\"{\".concat(n,\"}\"),\"g\");s=s.replace(o,String(r[n]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(s=s.replace(/\\{-y\\}/g,String(Math.pow(2,r.z)-r.y-1))),s}function ryt(e,t,r){let i;if(t&&t.length===2){let[s,n]=t,o=e.getBounds({z:s}),c=e.getBounds({z:n});i=[Math.min(o[0],c[0]),Math.min(o[1],c[1]),Math.max(o[2],c[2]),Math.max(o[3],c[3])]}else i=e.getBounds();return e.isGeospatial?[Math.max(i[0],r[0]),Math.max(i[1],r[1]),Math.min(i[2],r[2]),Math.min(i[3],r[3])]:[Math.max(Math.min(i[0],r[2]),r[0]),Math.max(Math.min(i[1],r[3]),r[1]),Math.min(Math.max(i[2],r[0]),r[2]),Math.min(Math.max(i[3],r[1]),r[3])]}function jQ({viewport:e,z:t=0,cullRect:r}){return(e.subViewports||[e]).map(s=>ZB(s,t,r))}function ZB(e,t,r){if(!Array.isArray(t)){let n=r.x-e.x,o=r.y-e.y,{width:c,height:f}=r,_={targetZ:t},w=e.unproject([n,o],_),I=e.unproject([n+c,o],_),R=e.unproject([n,o+f],_),N=e.unproject([n+c,o+f],_);return[Math.min(w[0],I[0],R[0],N[0]),Math.min(w[1],I[1],R[1],N[1]),Math.max(w[0],I[0],R[0],N[0]),Math.max(w[1],I[1],R[1],N[1])]}let i=ZB(e,t[0],r),s=ZB(e,t[1],r);return[Math.min(i[0],s[0]),Math.min(i[1],s[1]),Math.max(i[2],s[2]),Math.max(i[3],s[3])]}function iyt(e,t,r){return r?VQ(e,r).map(s=>s*t/zp):e.map(i=>i*t/zp)}function $B(e,t){return Math.pow(2,e)*zp/t}function DI(e,t,r){let i=$B(r,zp),s=e/i*360-180,n=Math.PI-2*Math.PI*t/i,o=180/Math.PI*Math.atan(.5*(Math.exp(n)-Math.exp(-n)));return[s,o]}function UQ(e,t,r,i){let s=$B(r,i);return[e/s*zp,t/s*zp]}function XB(e,t,r,i,s=zp){if(e.isGeospatial){let[_,w]=DI(t,r,i),[I,R]=DI(t+1,r+1,i);return{west:_,north:w,east:I,south:R}}let[n,o]=UQ(t,r,i,s),[c,f]=UQ(t+1,r+1,i,s);return{left:n,top:o,right:c,bottom:f}}function nyt(e,t,r,i,s){let n=ryt(e,null,i),o=$B(t,r),[c,f,_,w]=iyt(n,o,s),I=[];for(let R=Math.floor(c);R<_;R++)for(let N=Math.floor(f);Nt&&(_=t);let w=s;return o&&c&&s&&!e.isGeospatial&&(w=VQ(s,o)),e.isGeospatial?NQ(e,_,i,s):nyt(e,_,n,w||tyt,c)}function GQ(e){let t={},r;return i=>{for(let s in i)if(!syt(i[s],t[s])){r=e(i),t=i;break}return r}}function syt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{}},uyt={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:\"best-available\",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}},MS=class{constructor(t){G(this,\"opts\",void 0),G(this,\"_requestScheduler\",void 0),G(this,\"_cache\",void 0),G(this,\"_dirty\",void 0),G(this,\"_tiles\",void 0),G(this,\"_cacheByteSize\",void 0),G(this,\"_viewport\",void 0),G(this,\"_zRange\",void 0),G(this,\"_selectedTiles\",void 0),G(this,\"_frameNumber\",void 0),G(this,\"_modelMatrix\",void 0),G(this,\"_modelMatrixInverse\",void 0),G(this,\"_maxZoom\",void 0),G(this,\"_minZoom\",void 0),G(this,\"onTileLoad\",void 0),G(this,\"_getCullBounds\",GQ(jQ)),this.opts={...uyt,...t},this.onTileLoad=r=>{var i,s;(i=(s=this.opts).onTileLoad)===null||i===void 0||i.call(s,r),this.opts.maxCacheByteSize&&(this._cacheByteSize+=r.byteLength,this._resizeCache())},this._requestScheduler=new py({maxRequests:t.maxRequests,throttleRequests:!!(t.maxRequests&&t.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new En,this._modelMatrixInverse=new En,this.setOptions(t)}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(t=>t.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(t=>t.needsReload)}setOptions(t){Object.assign(this.opts,t),Number.isFinite(t.maxZoom)&&(this._maxZoom=Math.floor(t.maxZoom)),Number.isFinite(t.minZoom)&&(this._minZoom=Math.ceil(t.minZoom))}finalize(){for(let t of this._cache.values())t.isLoading&&t.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(let t of this._cache.keys()){let r=this._cache.get(t);!this._selectedTiles||!this._selectedTiles.includes(r)?this._cache.delete(t):r.setNeedsReload()}}update(t,{zRange:r,modelMatrix:i}={}){let s=new En(i),n=!s.equals(this._modelMatrix);if(!this._viewport||!t.equals(this._viewport)||!Ro(this._zRange,r)||n){n&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=t,this._zRange=r;let c=this.getTileIndices({viewport:t,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));let o=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),o&&this._frameNumber++,this._frameNumber}isTileVisible(t,r){if(!t.isVisible)return!1;if(r&&this._viewport){let i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:r}),{bbox:s}=t;for(let[n,o,c,f]of i){let _;if(\"west\"in s)_=s.westn&&s.southo;else{let w=Math.min(s.top,s.bottom),I=Math.max(s.top,s.bottom);_=s.leftn&&wo}if(_)return!0}return!1}return!0}getTileIndices({viewport:t,maxZoom:r,minZoom:i,zRange:s,modelMatrix:n,modelMatrixInverse:o}){let{tileSize:c,extent:f,zoomOffset:_}=this.opts;return KB({viewport:t,maxZoom:r,minZoom:i,zRange:s,tileSize:c,extent:f,modelMatrix:n,modelMatrixInverse:o,zoomOffset:_})}getTileId(t){return\"\".concat(t.x,\"-\").concat(t.y,\"-\").concat(t.z)}getTileZoom(t){return t.z}getTileMetadata(t){let{tileSize:r}=this.opts;return{bbox:XB(this._viewport,t.x,t.y,t.z,r)}}getParentIndex(t){let r=Math.floor(t.x/2),i=Math.floor(t.y/2),s=t.z-1;return{x:r,y:i,z:s}}updateTileStates(){let t=this.opts.refinementStrategy||ES,r=new Array(this._cache.size),i=0;for(let s of this._cache.values())r[i++]=s.isVisible,s.isSelected=!1,s.isVisible=!1;for(let s of this._selectedTiles)s.isSelected=!0,s.isVisible=!0;(typeof t==\"function\"?t:cyt[t])(Array.from(this._cache.values())),i=0;for(let s of this._cache.values())if(r[i++]!==s.isVisible)return!0;return!1}_pruneRequests(){let{maxRequests:t=0}=this.opts,r=[],i=0;for(let s of this._cache.values())s.isLoading&&(i++,!s.isSelected&&!s.isVisible&&r.push(s));for(;t>0&&i>t&&r.length>0;)r.shift().abort(),i--}_rebuildTree(){let{_cache:t}=this;for(let r of t.values())r.parent=null,r.children&&(r.children.length=0);for(let r of t.values()){let i=this._getNearestAncestor(r);r.parent=i,i!=null&&i.children&&i.children.push(r)}}_resizeCache(){let{_cache:t,opts:r}=this,i=r.maxCacheSize||(r.maxCacheByteSize?1/0:lyt*this.selectedTiles.length),s=r.maxCacheByteSize||1/0;if(t.size>i||this._cacheByteSize>s){for(let[f,_]of t){if(!_.isVisible&&!_.isSelected){var o,c;this._cacheByteSize-=r.maxCacheByteSize?_.byteLength:0,t.delete(f),(o=(c=this.opts).onTileUnload)===null||o===void 0||o.call(c,_)}if(t.size<=i&&this._cacheByteSize<=s)break}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,_)=>f.zoom-_.zoom),this._dirty=!1)}_getTile(t,r){let i=this.getTileId(t),s=this._cache.get(i),n=!1;return!s&&r?(s=new PI(t),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:i,zoom:this.getTileZoom(s.index)}),n=!0,this._cache.set(i,s),this._dirty=!0):s&&s.needsReload&&(n=!0),s&&n&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s}_getNearestAncestor(t){let{_minZoom:r=0}=this,i=t.index;for(;this.getTileZoom(i)>r;){i=this.getParentIndex(i);let s=this._getTile(i);if(s)return s}return null}};function hyt(e){for(let t of e)t.state=0;for(let t of e)t.isSelected&&!HQ(t)&&JB(t);for(let t of e)t.isVisible=!!(t.state&OI)}function fyt(e){for(let r of e)r.state=0;for(let r of e)r.isSelected&&HQ(r);let t=Array.from(e).sort((r,i)=>r.zoom-i.zoom);for(let r of t)if(r.isVisible=!!(r.state&OI),r.children&&(r.isVisible||r.state&WQ))for(let i of r.children)i.state=WQ;else r.isSelected&&JB(r)}function HQ(e){let t=e;for(;t;){if(t.isLoaded||t.content)return t.state|=OI,!0;t=t.parent}return!1}function JB(e){for(let t of e.children)t.isLoaded||t.content?t.state|=OI:JB(t)}var dyt={TilesetClass:MS,data:{type:\"data\",value:[]},dataComparator:YB.equal,renderSubLayers:{type:\"function\",value:e=>new Mm(e)},getTileData:{type:\"function\",optional:!0,value:null},onViewportLoad:{type:\"function\",optional:!0,value:null},onTileLoad:{type:\"function\",value:e=>{}},onTileUnload:{type:\"function\",value:e=>{}},onTileError:{type:\"function\",value:e=>console.error(e)},extent:{type:\"array\",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ES,zRange:null,maxRequests:6,zoomOffset:0},Lm=class extends Ni{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var t,r;(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||r.finalize()}get isLoaded(){var t,r,i;return(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||(i=r.selectedTiles)===null||i===void 0?void 0:i.every(s=>s.isLoaded&&s.layers&&s.layers.every(n=>n.isLoaded))}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState({changeFlags:t}){let{tileset:r}=this.state,i=t.propsOrDataChanged||t.updateTriggersChanged,s=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getTileData);r?i&&(r.setOptions(this._getTilesetOptions()),s?r.reloadAll():this.state.tileset.tiles.forEach(n=>{n.layers=null})):(r=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:r})),this._updateTileset()}_getTilesetOptions(){let{tileSize:t,maxCacheSize:r,maxCacheByteSize:i,refinementStrategy:s,extent:n,maxZoom:o,minZoom:c,maxRequests:f,zoomOffset:_}=this.props;return{maxCacheSize:r,maxCacheByteSize:i,maxZoom:o,minZoom:c,tileSize:t,refinementStrategy:s,extent:n,maxRequests:f,zoomOffset:_,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){let{tileset:t}=this.state,{zRange:r,modelMatrix:i}=this.props,s=t.update(this.context.viewport,{zRange:r,modelMatrix:i}),{isLoaded:n}=t,o=this.state.isLoaded!==n,c=this.state.frameNumber!==s;n&&(o||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:s}),this.state.isLoaded=n}_onViewportLoad(){let{tileset:t}=this.state,{onViewportLoad:r}=this.props;r&&r(t.selectedTiles)}_onTileLoad(t){this.props.onTileLoad(t),t.layers=null,this.setNeedsUpdate()}_onTileError(t,r){this.props.onTileError(t),r.layers=null,this.setNeedsUpdate()}_onTileUnload(t){this.props.onTileUnload(t)}getTileData(t){let{data:r,getTileData:i,fetch:s}=this.props,{signal:n}=t;return t.url=typeof r==\"string\"||Array.isArray(r)?QB(r,t):null,i?i(t):s&&t.url?s(t.url,{propName:\"data\",layer:this,signal:n}):null}renderSubLayers(t){return this.props.renderSubLayers(t)}getSubLayerPropsByTile(t){return null}getPickingInfo({info:t,sourceLayer:r}){let i=r.props.tile;return t.picked&&(t.tile=i),t.sourceTile=i,t}_updateAutoHighlight(t){let r=t.sourceTile;if(r&&r.layers)for(let i of r.layers)i.updateAutoHighlight(t)}renderLayers(){return this.state.tileset.tiles.map(t=>{let r=this.getSubLayerPropsByTile(t);if(!(!t.isLoaded&&!t.content))if(t.layers)r&&t.layers[0]&&Object.keys(r).some(i=>t.layers[0].props[i]!==r[i])&&(t.layers=t.layers.map(i=>i.clone(r)));else{let i=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:t.id,updateTriggers:this.props.updateTriggers}),data:t.content,_offset:0,tile:t});t.layers=op(i,Boolean).map(s=>s.clone({tile:t,...r}))}return t.layers})}filterSubLayer({layer:t,cullRect:r}){let{tile:i}=t.props;return this.state.tileset.isTileVisible(i,r)}};G(Lm,\"defaultProps\",dyt);G(Lm,\"layerName\",\"TileLayer\");var Ic=function(e){e=e||{};var t=typeof e<\"u\"?e:{},r={},i;for(i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);var s=[],n=\"\";function o(Zt){return t.locateFile?t.locateFile(Zt,n):n+Zt}var c;document.currentScript&&(n=document.currentScript.src),n.indexOf(\"blob:\")!==0?n=n.substr(0,n.lastIndexOf(\"/\")+1):n=\"\",c=function(fe,Be,br){var g=new XMLHttpRequest;g.open(\"GET\",fe,!0),g.responseType=\"arraybuffer\",g.onload=function(){if(g.status==200||g.status==0&&g.response){Be(g.response);return}var Ti=ht(fe);if(Ti){Be(Ti.buffer);return}br()},g.onerror=br,g.send(null)};var f=t.print||console.log.bind(console),_=t.printErr||console.warn.bind(console);for(i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);r=null,t.arguments&&(s=t.arguments);var w=0,I=function(Zt){w=Zt},R=function(){return w},N=8;function j(Zt,fe,Be,br){switch(Be=Be||\"i8\",Be.charAt(Be.length-1)===\"*\"&&(Be=\"i32\"),Be){case\"i1\":Sr[Zt>>0]=fe;break;case\"i8\":Sr[Zt>>0]=fe;break;case\"i16\":oo[Zt>>1]=fe;break;case\"i32\":No[Zt>>2]=fe;break;case\"i64\":ve=[fe>>>0,(wo=fe,+Nl(wo)>=1?wo>0?(mn(+ls(wo/4294967296),4294967295)|0)>>>0:~~+ee((wo-+(~~wo>>>0))/4294967296)>>>0:0)],No[Zt>>2]=ve[0],No[Zt+4>>2]=ve[1];break;case\"float\":Uo[Zt>>2]=fe;break;case\"double\":Si[Zt>>3]=fe;break;default:oh(\"invalid type for setValue: \"+Be)}}function Q(Zt,fe,Be){switch(fe=fe||\"i8\",fe.charAt(fe.length-1)===\"*\"&&(fe=\"i32\"),fe){case\"i1\":return Sr[Zt>>0];case\"i8\":return Sr[Zt>>0];case\"i16\":return oo[Zt>>1];case\"i32\":return No[Zt>>2];case\"i64\":return No[Zt>>2];case\"float\":return Uo[Zt>>2];case\"double\":return Si[Zt>>3];default:oh(\"invalid type for getValue: \"+fe)}return null}var et=!1;function Y(Zt,fe){Zt||oh(\"Assertion failed: \"+fe)}function K(Zt){var fe=t[\"_\"+Zt];return Y(fe,\"Cannot call unknown function \"+Zt+\", make sure it is exported\"),fe}function J(Zt,fe,Be,br,g){var Vi={string:function(Ur){var hi=0;if(Ur!=null&&Ur!==0){var To=(Ur.length<<2)+1;hi=Hp(To),le(Ur,hi,To)}return hi},array:function(Ur){var hi=Hp(Ur.length);return De(Ur,hi),hi}};function Ti(Ur){return fe===\"string\"?Xt(Ur):fe===\"boolean\"?!!Ur:Ur}var Tt=K(Zt),Ms=[],cs=0;if(br)for(var li=0;li=br);)++g;if(g-fe>16&&Zt.subarray&&Et)return Et.decode(Zt.subarray(fe,g));for(var Vi=\"\";fe>10,56320|cs&1023)}}return Vi}function Xt(Zt,fe){return Zt?kt(Li,Zt,fe):\"\"}function qt(Zt,fe,Be,br){if(!(br>0))return 0;for(var g=Be,Vi=Be+br-1,Ti=0;Ti=55296&&Tt<=57343){var Ms=Zt.charCodeAt(++Ti);Tt=65536+((Tt&1023)<<10)|Ms&1023}if(Tt<=127){if(Be>=Vi)break;fe[Be++]=Tt}else if(Tt<=2047){if(Be+1>=Vi)break;fe[Be++]=192|Tt>>6,fe[Be++]=128|Tt&63}else if(Tt<=65535){if(Be+2>=Vi)break;fe[Be++]=224|Tt>>12,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}else{if(Be+3>=Vi)break;fe[Be++]=240|Tt>>18,fe[Be++]=128|Tt>>12&63,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}}return fe[Be]=0,Be-g}function le(Zt,fe,Be){return qt(Zt,Li,fe,Be)}var ue=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0;function De(Zt,fe){Sr.set(Zt,fe)}function Ke(Zt,fe){return Zt%fe>0&&(Zt+=fe-Zt%fe),Zt}var rr,Sr,Li,oo,zl,No,ih,Uo,Si;function Ns(Zt){rr=Zt,t.HEAP8=Sr=new Int8Array(Zt),t.HEAP16=oo=new Int16Array(Zt),t.HEAP32=No=new Int32Array(Zt),t.HEAPU8=Li=new Uint8Array(Zt),t.HEAPU16=zl=new Uint16Array(Zt),t.HEAPU32=ih=new Uint32Array(Zt),t.HEAPF32=Uo=new Float32Array(Zt),t.HEAPF64=Si=new Float64Array(Zt)}var ll=5266928,kc=24016,Rc=t.TOTAL_MEMORY||33554432;t.buffer?rr=t.buffer:rr=new ArrayBuffer(Rc),Rc=rr.byteLength,Ns(rr),No[kc>>2]=ll;function Xi(Zt){for(;Zt.length>0;){var fe=Zt.shift();if(typeof fe==\"function\"){fe();continue}var Be=fe.func;typeof Be==\"number\"?fe.arg===void 0?t.dynCall_v(Be):t.dynCall_vi(Be,fe.arg):Be(fe.arg===void 0?null:fe.arg)}}var Jn=[],ki=[],ts=[],Vo=[];function cl(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)as(t.preRun.shift());Xi(Jn)}function xo(){Xi(ki)}function Pa(){Xi(ts)}function na(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)ao(t.postRun.shift());Xi(Vo)}function as(Zt){Jn.unshift(Zt)}function ao(Zt){Vo.unshift(Zt)}var Nl=Math.abs,ee=Math.ceil,ls=Math.floor,mn=Math.min,gi=0,oi=null,lo=null;function du(Zt){gi++,t.monitorRunDependencies&&t.monitorRunDependencies(gi)}function ul(Zt){if(gi--,t.monitorRunDependencies&&t.monitorRunDependencies(gi),gi==0&&(oi!==null&&(clearInterval(oi),oi=null),lo)){var fe=lo;lo=null,fe()}}t.preloadedImages={},t.preloadedAudios={};var bo=null,hl=\"data:application/octet-stream;base64,\";function Ia(Zt){return String.prototype.startsWith?Zt.startsWith(hl):Zt.indexOf(hl)===0}var wo,ve;bo=\"data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAgAAAAAAAAACAAAAAQAAABMAAAACAAAAAgAAAAAAAAAFAAAACgAAAAAAAAACAAAAAgAAAAMAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABEAAAACAAAAAAAAAAIAAAABAAAADwAAAAIAAAACAAAAAAAAAAUAAAALAAAAAAAAAAIAAAACAAAAAwAAABEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAIAAAAAAAAAAgAAAAEAAAAQAAAAAgAAAAIAAAAAAAAABQAAAAwAAAAAAAAAAgAAAAIAAAADAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAACAAAAAQAAABEAAAACAAAAAgAAAAAAAAAFAAAADQAAAAAAAAACAAAAAgAAAAMAAAATAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAACAAAAAAAAAAIAAAABAAAAEgAAAAIAAAACAAAAAAAAAAUAAAAOAAAAAAAAAAIAAAACAAAAAwAAAAIAAAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAUAAAAEAAAAAAAAAAUAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAUAAAAEAAAAAAAAAAUAAAAFAAAAAAAAAAEAAAAAAAAAAAAAAMuhRbbsNlBBYqHW9OmHIkF9XBuqnS31QAK37uYhNMhAOSo3UUupm0DC+6pc6JxvQHV9eseEEEJAzURsCyqlFEB8BQ4NMJjnPyy3tBoS97o/xawXQznRjj89J2K2CZxhP6vX43RIIDQ/S8isgygEBz+LvFHQkmzaPjFFFO7wMq4+AADMLkTtjkIAAOgkJqxhQgAAU7B0MjRCAADwpBcVB0IAAACYP2HaQQAAAIn/Ja5BzczM4Eg6gUHNzMxMU7BTQTMzMzNfgCZBAAAAAEi3+UAAAAAAwGPNQDMzMzMzy6BAmpmZmZkxc0AzMzMzM/NFQDMzMzMzMxlAzczMzMzM7D+ygXSx2U6RQKimJOvQKnpA23hmONTHY0A/AGcxyudNQNb3K647mzZA+S56rrwWIUAm4kUQ+9UJQKre9hGzh/M/BLvoy9WG3T+LmqMf8VHGP2m3nYNV37A/gbFHcyeCmT+cBPWBckiDP61tZACjKW0/q2RbYVUYVj8uDypVyLNAP6jGS5cA5zBBwcqhBdCNGUEGEhQ/JVEDQT6WPnRbNO1AB/AWSJgT1kDfUWNCNLDAQNk+5C33OqlAchWL34QSk0DKvtDIrNV8QNF0G3kFzGVASSeWhBl6UED+/0mNGuk4QGjA/dm/1CJALPLPMql6DEDSHoDrwpP1P2jouzWST+A/egAAAAAAAABKAwAAAAAAAPoWAAAAAAAAyqAAAAAAAAB6ZQQAAAAAAErGHgAAAAAA+mvXAAAAAADK8+MFAAAAAHqqOykAAAAASqmhIAEAAAD6oGvkBwAAAMpm8T43AAAAes+ZuIIBAABKrDQMkwoAAPq1cFUFSgAAyvkUViUGAgAAAAAAAwAAAAYAAAACAAAABQAAAAEAAAAEAAAAAAAAAAAAAAAFAAAAAwAAAAEAAAAGAAAABAAAAAIAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAAAAAAAEAAAABAAAAAAAAAAAAAAD/////AAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAHAAAABwAAAAEAAAACAAAABAAAAAMAAAAAAAAAAAAAAAcAAAADAAAAAQAAAAIAAAAFAAAABAAAAAAAAAAAAAAAYWxnb3MuYwBfcG9seWZpbGxJbnRlcm5hbABhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0dlb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9HZW9Cb3VuZGFyeQBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGgzVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAcGVudGFnb25Sb3RhdGlvbnMgPj0gMABkaXJlY3Rpb25Sb3RhdGlvbnMgPj0gMABiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvSDMAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAd2l0aGluUGVudGFnb25Sb3RhdGlvbnMgPj0gMABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl\";var jo=24032;function gn(Zt){return Zt}function Ul(Zt){var fe=/\\b__Z[\\w\\d_]+/g;return Zt.replace(fe,function(Be){var br=Be;return Be===br?Be:br+\" [\"+Be+\"]\"})}function Ca(){var Zt=new Error;if(!Zt.stack){try{throw new Error(0)}catch(fe){Zt=fe}if(!Zt.stack)return\"(no stack trace available)\"}return Zt.stack.toString()}function Te(){var Zt=Ca();return t.extraStackTrace&&(Zt+=`\n`+t.extraStackTrace()),Ul(Zt)}function Dr(Zt,fe,Be,br){oh(\"Assertion failed: \"+Xt(Zt)+\", at: \"+[fe?Xt(fe):\"unknown filename\",Be,br?Xt(br):\"unknown function\"])}function gr(){return Sr.length}function Us(Zt,fe,Be){Li.set(Li.subarray(fe,fe+Be),Zt)}function La(Zt){return t.___errno_location&&(No[t.___errno_location()>>2]=Zt),Zt}function Mr(Zt){oh(\"OOM\")}function sa(Zt){try{var fe=new ArrayBuffer(Zt);return fe.byteLength!=Zt?void 0:(new Int8Array(fe).set(Sr),xi(fe),Ns(fe),1)}catch{}}function gt(Zt){var fe=gr(),Be=16777216,br=2147483648-Be;if(Zt>br)return!1;for(var g=16777216,Vi=Math.max(fe,g);Vi>4,g=(Tt&15)<<4|Ms>>2,Vi=(Ms&3)<<6|cs,Be=Be+String.fromCharCode(br),Ms!==64&&(Be=Be+String.fromCharCode(g)),cs!==64&&(Be=Be+String.fromCharCode(Vi));while(li>2]=p,g[k+4>>2]=m,k=(C|0)!=0,k&&(g[C>>2]=0),ji(p,m)|0)return Nt=1,wt=Wt,Nt|0;g[Nt>>2]=0;t:do if((y|0)>=1)if(k)for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,g[C+(Ct<<2)>>2]=ot,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else k=0;while(!1);return Nt=k,wt=Wt,Nt|0}function Ba(p,m,y,S,C,k,L){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0,L=L|0;var z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if(Ct=wt,wt=wt+16|0,ot=Ct,(p|0)==0&(m|0)==0){wt=Ct;return}if(z=Yo(p|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0,It()|0,H=S+(z<<3)|0,Nt=H,Wt=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,it=(Wt|0)==(p|0)&(Nt|0)==(m|0),!((Wt|0)==0&(Nt|0)==0|it))do z=(z+1|0)%(k|0)|0,H=S+(z<<3)|0,Wt=H,Nt=g[Wt>>2]|0,Wt=g[Wt+4>>2]|0,it=(Nt|0)==(p|0)&(Wt|0)==(m|0);while(!((Nt|0)==0&(Wt|0)==0|it));if(z=C+(z<<2)|0,it&&(g[z>>2]|0)<=(L|0)){wt=Ct;return}if(Wt=H,g[Wt>>2]=p,g[Wt+4>>2]=m,g[z>>2]=L,(L|0)>=(y|0)){wt=Ct;return}Wt=L+1|0,g[ot>>2]=0,Nt=Wn(p,m,2,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,3,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,1,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,5,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,4,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,6,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),wt=Ct}function Wn(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if((g[S>>2]|0)>0){C=0;do y=Na(y)|0,C=C+1|0;while((C|0)<(g[S>>2]|0))}z=me(p|0,m|0,45)|0,It()|0,H=z&127,k=Es(p,m)|0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)L=6;else for(;;){if(Ct=(15-C|0)*3|0,Nt=me(p|0,m|0,Ct|0)|0,It()|0,Nt=Nt&7,Wt=(Ho(C)|0)==0,C=C+-1|0,ot=ke(7,0,Ct|0)|0,m=m&~(It()|0),Ct=ke(g[(Wt?464:48)+(Nt*28|0)+(y<<2)>>2]|0,0,Ct|0)|0,it=It()|0,y=g[(Wt?672:256)+(Nt*28|0)+(y<<2)>>2]|0,p=Ct|p&~ot,m=it|m,!y){y=0;break t}if(!C){L=6;break}}while(!1);(L|0)==6&&(Wt=g[880+(H*28|0)+(y<<2)>>2]|0,Nt=ke(Wt|0,0,45)|0,p=Nt|p,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+(y<<2)>>2]|0,(Wt&127|0)==127&&(Wt=ke(g[880+(H*28|0)+20>>2]|0,0,45)|0,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+20>>2]|0,p=Wo(Wt|p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1)),L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){e:do if((Es(p,m)|0)==1){if((H|0)!=(L|0))if(ch(L,g[7728+(H*28|0)>>2]|0)|0){p=Fd(p,m)|0,k=1,m=It()|0;break}else{p=Wo(p,m)|0,k=1,m=It()|0;break}switch(k|0){case 5:{p=Fd(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+5,k=0;break e}case 3:{p=Wo(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1,k=0;break e}default:return Nt=0,Wt=0,Je(Nt|0),Wt|0}}else k=0;while(!1);if((y|0)>0){C=0;do p=gh(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}if((H|0)!=(L|0)){if(!(mu(L)|0)){if((k|0)!=0|(Es(p,m)|0)!=5)break;g[S>>2]=(g[S>>2]|0)+1;break}switch(z&127){case 8:case 118:break t;default:}(Es(p,m)|0)!=3&&(g[S>>2]=(g[S>>2]|0)+1)}}else if((y|0)>0){C=0;do p=Wo(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}while(!1);return g[S>>2]=((g[S>>2]|0)+y|0)%6|0,Nt=m,Wt=p,Je(Nt|0),Wt|0}function p_(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;if(Ct=wt,wt=wt+16|0,ot=Ct,!y)return ot=S,g[ot>>2]=p,g[ot+4>>2]=m,ot=0,wt=Ct,ot|0;g[ot>>2]=0;t:do if(ji(p,m)|0)p=1;else{if(k=(y|0)>0,k){C=0,it=p;do{if(it=Wn(it,m,4,ot)|0,m=It()|0,(it|0)==0&(m|0)==0){p=2;break t}if(C=C+1|0,ji(it,m)|0){p=1;break t}}while((C|0)<(y|0));if(H=S,g[H>>2]=it,g[H+4>>2]=m,H=y+-1|0,k){k=0,L=1,C=it,p=m;do{if(C=Wn(C,p,2,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(L<<3)|0,g[z>>2]=C,g[z+4>>2]=p,L=L+1|0,ji(C,p)|0){p=1;break t}k=k+1|0}while((k|0)<(y|0));z=0,k=L;do{if(C=Wn(C,p,3,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(L=S+(k<<3)|0,g[L>>2]=C,g[L+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}z=z+1|0}while((z|0)<(y|0));L=0;do{if(C=Wn(C,p,1,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,5,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,4,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));for(L=0;;){if(C=Wn(C,p,6,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if((L|0)!=(H|0))if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,!(ji(C,p)|0))k=k+1|0;else{p=1;break t}if(L=L+1|0,(L|0)>=(y|0)){L=it,k=m;break}}}else L=it,C=it,k=m,p=m}else L=S,g[L>>2]=p,g[L+4>>2]=m,L=p,C=p,k=m,p=m;p=((L|0)!=(C|0)|(k|0)!=(p|0))&1}while(!1);return ot=p,wt=Ct,ot|0}function Cd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(k=wt,wt=wt+48|0,C=k+8|0,S=k,z=p,L=g[z+4>>2]|0,y=S,g[y>>2]=g[z>>2],g[y+4>>2]=L,Ee(S,C),C=uh(C,m)|0,m=g[S>>2]|0,S=g[p+8>>2]|0,(S|0)<=0)return z=m,L=(C|0)<(z|0),z=L?z:C,z=z+12|0,wt=k,z|0;y=g[p+12>>2]|0,p=0;do m=(g[y+(p<<3)>>2]|0)+m|0,p=p+1|0;while((p|0)<(S|0));return z=(C|0)<(m|0),z=z?m:C,z=z+12|0,wt=k,z|0}function $p(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;if(z=wt,wt=wt+48|0,S=z+8|0,C=z,!(Xp(p,m,y)|0)){wt=z;return}if(H=p,k=g[H+4>>2]|0,L=C,g[L>>2]=g[H>>2],g[L+4>>2]=k,Ee(C,S),L=uh(S,m)|0,m=g[C>>2]|0,k=g[p+8>>2]|0,(k|0)>0){C=g[p+12>>2]|0,S=0;do m=(g[C+(S<<3)>>2]|0)+m|0,S=S+1|0;while((S|0)!=(k|0))}if(m=(L|0)<(m|0)?m:L,(m|0)<=-12){wt=z;return}H=m+11|0,Fc(y|0,0,(((H|0)>0?H:0)<<3)+8|0)|0,wt=z}function Xp(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Or=wt,wt=wt+112|0,hn=Or+80|0,H=Or+72|0,Pi=Or,Sn=Or+56|0,it=p+8|0,yn=ho((g[it>>2]<<5)+32|0)|0,yn||Mi(22848,22448,800,22456),pr(p,yn),k=p,S=g[k+4>>2]|0,z=H,g[z>>2]=g[k>>2],g[z+4>>2]=S,Ee(H,hn),z=uh(hn,m)|0,S=g[H>>2]|0,k=g[it>>2]|0,(k|0)>0){L=g[p+12>>2]|0,C=0;do S=(g[L+(C<<3)>>2]|0)+S|0,C=C+1|0;while((C|0)!=(k|0))}if(z=(z|0)<(S|0)?S:z,Ei=z+12|0,C=Ua(Ei,8)|0,ot=Ua(Ei,8)|0,g[hn>>2]=0,Zr=p,qi=g[Zr+4>>2]|0,S=H,g[S>>2]=g[Zr>>2],g[S+4>>2]=qi,S=i0(H,Ei,m,hn,C,ot)|0,S|0)return Gr(C),Gr(ot),Gr(yn),yn=S,wt=Or,yn|0;t:do if((g[it>>2]|0)>0){for(k=p+12|0,S=0;L=i0((g[k>>2]|0)+(S<<3)|0,Ei,m,hn,C,ot)|0,S=S+1|0,!(L|0);)if((S|0)>=(g[it>>2]|0))break t;return Gr(C),Gr(ot),Gr(yn),yn=L,wt=Or,yn|0}while(!1);(z|0)>-12&&Fc(ot|0,0,((Ei|0)>1?Ei:1)<<3|0)|0;t:do if((g[hn>>2]|0)>0){qi=((Ei|0)<0)<<31>>31,Ut=C,$e=ot,er=C,we=C,je=ot,Zr=C,S=C,Le=C,We=ot,te=ot,_e=ot,C=ot;e:for(;;){for(ne=g[hn>>2]|0,Wt=0,re=0,k=0;;){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));if(m=Ut+(Wt<<3)|0,H=g[m>>2]|0,m=g[m+4>>2]|0,yf(H,m,1,Pi,0)|0){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));L=Ua(7,4)|0,L|0&&(Ba(H,m,1,Pi,L,7,0),Gr(L))}Nt=0;do{Ct=Pi+(Nt<<3)|0,ot=g[Ct>>2]|0,Ct=g[Ct+4>>2]|0;r:do if(!((ot|0)==0&(Ct|0)==0)){if(H=Yo(ot|0,Ct|0,Ei|0,qi|0)|0,It()|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,!((m|0)==0&(z|0)==0))for(it=0;;){if((it|0)>(Ei|0))break e;if((m|0)==(ot|0)&(z|0)==(Ct|0))break r;if(H=(H+1|0)%(Ei|0)|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,(m|0)==0&(z|0)==0)break;it=it+1|0}(ot|0)==0&(Ct|0)==0||(l(ot,Ct,Sn),tr(p,yn,Sn)|0&&(it=L,g[it>>2]=ot,g[it+4>>2]=Ct,it=$e+(k<<3)|0,g[it>>2]=ot,g[it+4>>2]=Ct,k=k+1|0))}while(!1);Nt=Nt+1|0}while(Nt>>>0<7);if(re=re+1|0,(re|0)>=(ne|0))break;Wt=Wt+1|0}if((ne|0)>0&&Fc(er|0,0,ne<<3|0)|0,g[hn>>2]=k,(k|0)>0)ot=C,Ct=_e,Nt=Zr,Wt=te,re=We,ne=$e,C=Le,_e=S,te=we,We=er,Le=ot,S=Ct,Zr=je,je=Nt,we=Wt,er=re,$e=Ut,Ut=ne;else break t}return Gr(we),Gr(je),Gr(yn),yn=-1,wt=Or,yn|0}else S=ot;while(!1);return Gr(yn),Gr(C),Gr(S),yn=0,wt=Or,yn|0}function i0(p,m,y,S,C,k){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0;var L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0;if(qi=wt,wt=wt+48|0,er=qi+32|0,we=qi+16|0,je=qi,L=g[p>>2]|0,(L|0)<=0)return Zr=0,wt=qi,Zr|0;We=p+4|0,te=er+8|0,_e=we+8|0,Ut=je+8|0,$e=((m|0)<0)<<31>>31,Le=0;t:for(;;){z=g[We>>2]|0,re=z+(Le<<4)|0,g[er>>2]=g[re>>2],g[er+4>>2]=g[re+4>>2],g[er+8>>2]=g[re+8>>2],g[er+12>>2]=g[re+12>>2],(Le|0)==(L+-1|0)?(g[we>>2]=g[z>>2],g[we+4>>2]=g[z+4>>2],g[we+8>>2]=g[z+8>>2],g[we+12>>2]=g[z+12>>2]):(re=z+(Le+1<<4)|0,g[we>>2]=g[re>>2],g[we+4>>2]=g[re+4>>2],g[we+8>>2]=g[re+8>>2],g[we+12>>2]=g[re+12>>2]),re=la(er,we,y)|0;e:do if((re|0)>0){ne=+(re|0),Wt=0;r:for(;;){hn=+(re-Wt|0),Ei=+(Wt|0),Tt[je>>3]=+Tt[er>>3]*hn/ne+ +Tt[we>>3]*Ei/ne,Tt[Ut>>3]=+Tt[te>>3]*hn/ne+ +Tt[_e>>3]*Ei/ne,Ct=lA(je,y)|0,Nt=It()|0,z=Yo(Ct|0,Nt|0,m|0,$e|0)|0,It()|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0;i:do if((it|0)==0&(H|0)==0)Zr=14;else for(ot=0;;){if((ot|0)>(m|0)){L=1;break i}if((it|0)==(Ct|0)&(H|0)==(Nt|0)){L=7;break i}if(z=(z+1|0)%(m|0)|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0){Zr=14;break}else ot=ot+1|0}while(!1);switch((Zr|0)==14&&(Zr=0,(Ct|0)==0&(Nt|0)==0?L=7:(g[L>>2]=Ct,g[L+4>>2]=Nt,L=g[S>>2]|0,ot=C+(L<<3)|0,g[ot>>2]=Ct,g[ot+4>>2]=Nt,g[S>>2]=L+1,L=0)),L&7){case 7:case 0:break;default:break r}if(Wt=Wt+1|0,(re|0)<=(Wt|0)){Zr=8;break e}}if(L|0){L=-1,Zr=20;break t}}else Zr=8;while(!1);if((Zr|0)==8&&(Zr=0),Le=Le+1|0,L=g[p>>2]|0,(Le|0)>=(L|0)){L=0,Zr=20;break}}return(Zr|0)==20?(wt=qi,L|0):0}function Cn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+176|0,H=it,(m|0)<1){vu(y,0,0),wt=it;return}L=p,L=me(g[L>>2]|0,g[L+4>>2]|0,52)|0,It()|0,vu(y,(m|0)>6?m:6,L&15),L=0;do{if(S=p+(L<<3)|0,d(g[S>>2]|0,g[S+4>>2]|0,H),S=g[H>>2]|0,(S|0)>0){z=0;do k=H+8+(z<<4)|0,z=z+1|0,S=H+8+(((z|0)%(S|0)|0)<<4)|0,C=yh(y,S,k)|0,C?Ps(y,C)|0:Eo(y,k,S)|0,S=g[H>>2]|0;while((z|0)<(S|0))}L=L+1|0}while((L|0)!=(m|0));wt=it}function ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=wt,wt=wt+32|0,S=k,C=k+16|0,Cn(p,m,C),g[y>>2]=0,g[y+4>>2]=0,g[y+8>>2]=0,p=Ws(C)|0,!p){Ht(y)|0,_h(C),wt=k;return}do{m=yt(y)|0;do dt(m,p)|0,L=p+16|0,g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],g[S+12>>2]=g[L+12>>2],Ps(C,p)|0,p=Fn(C,S)|0;while(p|0);p=Ws(C)|0}while(p|0);Ht(y)|0,_h(C),wt=k}function fi(p){return p=p|0,g[7728+(p*28|0)+16>>2]|0}function mu(p){return p=p|0,(p|0)==4|(p|0)==117|0}function vf(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)>>2]|0}function Kp(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)+4>>2]|0}function lh(p,m){p=p|0,m=m|0,p=7728+(p*28|0)|0,g[m>>2]=g[p>>2],g[m+4>>2]=g[p+4>>2],g[m+8>>2]=g[p+8>>2],g[m+12>>2]=g[p+12>>2]}function Ld(p,m){p=p|0,m=m|0;var y=0,S=0;if(m>>>0>20)return m=-1,m|0;do if((g[11152+(m*216|0)>>2]|0)!=(p|0))if((g[11152+(m*216|0)+8>>2]|0)!=(p|0))if((g[11152+(m*216|0)+16>>2]|0)!=(p|0))if((g[11152+(m*216|0)+24>>2]|0)!=(p|0))if((g[11152+(m*216|0)+32>>2]|0)!=(p|0))if((g[11152+(m*216|0)+40>>2]|0)!=(p|0))if((g[11152+(m*216|0)+48>>2]|0)!=(p|0))if((g[11152+(m*216|0)+56>>2]|0)!=(p|0))if((g[11152+(m*216|0)+64>>2]|0)!=(p|0))if((g[11152+(m*216|0)+72>>2]|0)!=(p|0))if((g[11152+(m*216|0)+80>>2]|0)!=(p|0))if((g[11152+(m*216|0)+88>>2]|0)!=(p|0))if((g[11152+(m*216|0)+96>>2]|0)!=(p|0))if((g[11152+(m*216|0)+104>>2]|0)!=(p|0))if((g[11152+(m*216|0)+112>>2]|0)!=(p|0))if((g[11152+(m*216|0)+120>>2]|0)!=(p|0))if((g[11152+(m*216|0)+128>>2]|0)!=(p|0))if((g[11152+(m*216|0)+136>>2]|0)==(p|0))p=2,y=1,S=2;else{if((g[11152+(m*216|0)+144>>2]|0)==(p|0)){p=0,y=2,S=0;break}if((g[11152+(m*216|0)+152>>2]|0)==(p|0)){p=0,y=2,S=1;break}if((g[11152+(m*216|0)+160>>2]|0)==(p|0)){p=0,y=2,S=2;break}if((g[11152+(m*216|0)+168>>2]|0)==(p|0)){p=1,y=2,S=0;break}if((g[11152+(m*216|0)+176>>2]|0)==(p|0)){p=1,y=2,S=1;break}if((g[11152+(m*216|0)+184>>2]|0)==(p|0)){p=1,y=2,S=2;break}if((g[11152+(m*216|0)+192>>2]|0)==(p|0)){p=2,y=2,S=0;break}if((g[11152+(m*216|0)+200>>2]|0)==(p|0)){p=2,y=2,S=1;break}if((g[11152+(m*216|0)+208>>2]|0)==(p|0)){p=2,y=2,S=2;break}else p=-1;return p|0}else p=2,y=1,S=1;else p=2,y=1,S=0;else p=1,y=1,S=2;else p=1,y=1,S=1;else p=1,y=1,S=0;else p=0,y=1,S=2;else p=0,y=1,S=1;else p=0,y=1,S=0;else p=2,y=0,S=2;else p=2,y=0,S=1;else p=2,y=0,S=0;else p=1,y=0,S=2;else p=1,y=0,S=1;else p=1,y=0,S=0;else p=0,y=0,S=2;else p=0,y=0,S=1;else p=0,y=0,S=0;while(!1);return m=g[11152+(m*216|0)+(y*72|0)+(p*24|0)+(S<<3)+4>>2]|0,m|0}function ch(p,m){return p=p|0,m=m|0,(g[7728+(p*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(g[7728+(p*28|0)+24>>2]|0)==(m|0),m|0)}function Jp(p,m){return p=p|0,m=m|0,g[880+(p*28|0)+(m<<2)>>2]|0}function tA(p,m){return p=p|0,m=m|0,(g[880+(p*28|0)>>2]|0)==(m|0)?(m=0,m|0):(g[880+(p*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(g[880+(p*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(g[880+(p*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(g[880+(p*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(g[880+(p*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((g[880+(p*28|0)+24>>2]|0)==(m|0)?6:7)|0}function A_(){return 122}function m_(p){p=p|0;var m=0,y=0,S=0;m=0;do ke(m|0,0,45)|0,S=It()|0|134225919,y=p+(m<<3)|0,g[y>>2]=-1,g[y+4>>2]=S,m=m+1|0;while((m|0)!=122)}function n0(p){return p=p|0,+Tt[p+16>>3]<+Tt[p+24>>3]|0}function pl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return y=+Tt[m>>3],!(y>=+Tt[p+8>>3])||!(y<=+Tt[p>>3])?(m=0,m|0):(S=+Tt[p+16>>3],y=+Tt[p+24>>3],C=+Tt[m+8>>3],m=C>=y,p=C<=S&1,S>2]=0,k=k+4|0;while((k|0)<(z|0));return O(m,C),k=C,z=g[k>>2]|0,k=g[k+4>>2]|0,l(z,k,y),d(z,k,S),H=+Bc(y,S+8|0),Tt[y>>3]=+Tt[p>>3],k=y+8|0,Tt[k>>3]=+Tt[p+16>>3],Tt[S>>3]=+Tt[p+8>>3],z=S+8|0,Tt[z>>3]=+Tt[p+24>>3],it=+Bc(y,S),z=~~+Ji(+(it*it/+ml(+ +li(+((+Tt[k>>3]-+Tt[z>>3])/(+Tt[y>>3]-+Tt[S>>3]))),3)/(H*(H*2.59807621135)*.8))),wt=L,(z|0?z:1)|0}function la(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;z=wt,wt=wt+288|0,S=z+264|0,C=z+96|0,k=z,L=k,H=L+96|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(H|0));return O(y,k),H=k,L=g[H>>2]|0,H=g[H+4>>2]|0,l(L,H,S),d(L,H,C),it=+Bc(S,C+8|0),H=~~+Ji(+(+Bc(p,m)/(it*2))),wt=z,(H|0?H:1)|0}function kd(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0,g[p>>2]=m,g[p+4>>2]=y,g[p+8>>2]=S}function g_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;Ct=m+8|0,g[Ct>>2]=0,H=+Tt[p>>3],L=+li(+H),it=+Tt[p+8>>3],z=+li(+it)/.8660254037844386,L=L+z*.5,y=~~L,p=~~z,L=L-+(y|0),z=z-+(p|0);do if(L<.5)if(L<.3333333333333333)if(g[m>>2]=y,z<(L+1)*.5){g[m+4>>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}else if(Nt=1-L,p=(!(z>2]=p,Nt<=z&z>2]=y;break}else{g[m>>2]=y;break}else{if(!(L<.6666666666666666))if(y=y+1|0,g[m>>2]=y,z>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}if(z<1-L){if(g[m+4>>2]=p,L*2+-1>2]=y;break}}else p=p+1|0,g[m+4>>2]=p;y=y+1|0,g[m>>2]=y}while(!1);do if(H<0)if(p&1){ot=(p+1|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-((+(ot>>>0)+4294967296*+(It()|0))*2+1)),g[m>>2]=y;break}else{ot=(p|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-(+(ot>>>0)+4294967296*+(It()|0))*2),g[m>>2]=y;break}while(!1);ot=m+4|0,it<0&&(y=y-((p<<1|1|0)/2|0)|0,g[m>>2]=y,p=0-p|0,g[ot>>2]=p),S=p-y|0,(y|0)<0?(C=0-y|0,g[ot>>2]=S,g[Ct>>2]=C,g[m>>2]=0,p=S,y=0):C=0,(p|0)<0&&(y=y-p|0,g[m>>2]=y,C=C-p|0,g[Ct>>2]=C,g[ot>>2]=0,p=0),k=y-C|0,S=p-C|0,(C|0)<0&&(g[m>>2]=k,g[ot>>2]=S,g[Ct>>2]=0,p=S,y=k,C=0),S=(p|0)<(y|0)?p:y,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[m>>2]=y-S,g[ot>>2]=p-S,g[Ct>>2]=C-S)}function js(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,(m|0)<0&&(y=y-m|0,g[L>>2]=y,k=p+8|0,g[k>>2]=(g[k>>2]|0)-m,g[p>>2]=0,m=0),(y|0)<0?(m=m-y|0,g[p>>2]=m,k=p+8|0,C=(g[k>>2]|0)-y|0,g[k>>2]=C,g[L>>2]=0,y=0):(C=p+8|0,k=C,C=g[C>>2]|0),(C|0)<0&&(m=m-C|0,g[p>>2]=m,y=y-C|0,g[L>>2]=y,g[k>>2]=0,C=0),S=(y|0)<(m|0)?y:m,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[p>>2]=m-S,g[L>>2]=y-S,g[k>>2]=C-S)}function gu(p,m){p=p|0,m=m|0;var y=0,S=0;S=g[p+8>>2]|0,y=+((g[p+4>>2]|0)-S|0),Tt[m>>3]=+((g[p>>2]|0)-S|0)-y*.5,Tt[m+8>>3]=y*.8660254037844386}function Ln(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[m>>2]|0)+(g[p>>2]|0),g[y+4>>2]=(g[m+4>>2]|0)+(g[p+4>>2]|0),g[y+8>>2]=(g[m+8>>2]|0)+(g[p+8>>2]|0)}function eA(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[p>>2]|0)-(g[m>>2]|0),g[y+4>>2]=(g[p+4>>2]|0)-(g[m+4>>2]|0),g[y+8>>2]=(g[p+8>>2]|0)-(g[m+8>>2]|0)}function ca(p,m){p=p|0,m=m|0;var y=0,S=0;y=Oc(g[p>>2]|0,m)|0,g[p>>2]=y,y=p+4|0,S=Oc(g[y>>2]|0,m)|0,g[y>>2]=S,p=p+8|0,m=Oc(g[p>>2]|0,m)|0,g[p>>2]=m}function Fa(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=g[p>>2]|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(k?0-S|0:0)+((g[p+8>>2]|0)-(z?L:0))|0,y=(C|0)<0,p=y?0:C,m=(k?0:S)-(y?C:0)|0,C=(z?0:L)-(k?S:0)-(y?C:0)|0,y=(m|0)<(C|0)?m:C,y=(p|0)<(y|0)?p:y,S=(y|0)>0,p=p-(S?y:0)|0,m=m-(S?y:0)|0;t:do switch(C-(S?y:0)|0){case 0:switch(m|0){case 0:return z=p|0?(p|0)==1?1:7:0,z|0;case 1:return z=p|0?(p|0)==1?3:7:2,z|0;default:break t}case 1:switch(m|0){case 0:return z=p|0?(p|0)==1?5:7:4,z|0;case 1:{if(!p)p=6;else break t;return p|0}default:break t}default:}while(!1);return z=7,z|0}function Rd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m*3|0)-y|0)/7)|0,g[p>>2]=S,m=_n(+((y<<1)+m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function Al(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m<<1)+y|0)/7)|0,g[p>>2]=S,m=_n(+((y*3|0)-m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function za(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m*3|0)|0,g[p>>2]=C,y=S+(y*3|0)|0,g[L>>2]=y,m=(S*3|0)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function hh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m*3|0)+C|0,C=y+(C*3|0)|0,g[p>>2]=C,g[L>>2]=S,m=(y*3|0)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function rA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;(m+-1|0)>>>0>=6||(C=(g[15472+(m*12|0)>>2]|0)+(g[p>>2]|0)|0,g[p>>2]=C,z=p+4|0,S=(g[15472+(m*12|0)+4>>2]|0)+(g[z>>2]|0)|0,g[z>>2]=S,L=p+8|0,m=(g[15472+(m*12|0)+8>>2]|0)+(g[L>>2]|0)|0,g[L>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[z>>2]=y,g[L>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[L>>2]=m,g[z>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[z>>2]=C-y,g[L>>2]=m-y))}function s0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=m+C|0,C=y+C|0,g[p>>2]=C,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function fh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,S=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,C=S+m|0,g[p>>2]=C,S=y+S|0,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Na(p){switch(p=p|0,p|0){case 1:{p=5;break}case 5:{p=4;break}case 4:{p=6;break}case 6:{p=2;break}case 2:{p=3;break}case 3:{p=1;break}default:}return p|0}function co(p){switch(p=p|0,p|0){case 1:{p=3;break}case 3:{p=2;break}case 2:{p=6;break}case 6:{p=4;break}case 4:{p=5;break}case 5:{p=1;break}default:}return p|0}function Ge(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m<<1)|0,g[p>>2]=C,y=S+(y<<1)|0,g[L>>2]=y,m=(S<<1)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Dd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m<<1)+C|0,C=y+(C<<1)|0,g[p>>2]=C,g[L>>2]=S,m=(y<<1)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function Hl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;return L=(g[p>>2]|0)-(g[m>>2]|0)|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(g[m+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(z?0-L|0:0)+(g[p+8>>2]|0)-(g[m+8>>2]|0)+(k?0-S|0:0)|0,p=(C|0)<0,m=p?0:C,y=(k?0:S)-(p?C:0)|0,C=(z?0:L)-(k?S:0)-(p?C:0)|0,p=(y|0)<(C|0)?y:C,p=(m|0)<(p|0)?m:p,S=(p|0)>0,m=m-(S?p:0)|0,y=y-(S?p:0)|0,p=C-(S?p:0)|0,p=(p|0)>-1?p:0-p|0,y=(y|0)>-1?y:0-y|0,m=(m|0)>-1?m:0-m|0,m=(y|0)>(m|0)?y:m,((p|0)>(m|0)?p:m)|0}function xf(p,m){p=p|0,m=m|0;var y=0;y=g[p+8>>2]|0,g[m>>2]=(g[p>>2]|0)-y,g[m+4>>2]=(g[p+4>>2]|0)-y}function __(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;S=g[p>>2]|0,g[m>>2]=S,p=g[p+4>>2]|0,L=m+4|0,g[L>>2]=p,z=m+8|0,g[z>>2]=0,y=p-S|0,(S|0)<0?(p=0-S|0,g[L>>2]=y,g[z>>2]=p,g[m>>2]=0,S=0):(y=p,p=0),(y|0)<0&&(S=S-y|0,g[m>>2]=S,p=p-y|0,g[z>>2]=p,g[L>>2]=0,y=0),k=S-p|0,C=y-p|0,(p|0)<0?(g[m>>2]=k,g[L>>2]=C,g[z>>2]=0,y=C,C=k,p=0):C=S,S=(y|0)<(C|0)?y:C,S=(p|0)<(S|0)?p:S,!((S|0)<=0)&&(g[m>>2]=C-S,g[L>>2]=y-S,g[z>>2]=p-S)}function Oe(p){p=p|0;var m=0,y=0,S=0,C=0;m=p+8|0,C=g[m>>2]|0,y=C-(g[p>>2]|0)|0,g[p>>2]=y,S=p+4|0,p=(g[S>>2]|0)-C|0,g[S>>2]=p,g[m>>2]=0-(p+y)}function o0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;y=g[p>>2]|0,m=0-y|0,g[p>>2]=m,L=p+8|0,g[L>>2]=0,z=p+4|0,S=g[z>>2]|0,C=S+y|0,(y|0)>0?(g[z>>2]=C,g[L>>2]=y,g[p>>2]=0,m=0,S=C):y=0,(S|0)<0?(k=m-S|0,g[p>>2]=k,y=y-S|0,g[L>>2]=y,g[z>>2]=0,C=k-y|0,m=0-y|0,(y|0)<0?(g[p>>2]=C,g[z>>2]=m,g[L>>2]=0,S=m,y=0):(S=0,C=k)):C=m,m=(S|0)<(C|0)?S:C,m=(y|0)<(m|0)?y:m,!((m|0)<=0)&&(g[p>>2]=C-m,g[z>>2]=S-m,g[L>>2]=y-m)}function a0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,zx(p,m,y,C),g_(C,y+4|0),wt=S}function zx(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0;if(H=wt,wt=wt+32|0,k=H,ql(p,k),g[y>>2]=0,C=+jr(15888,k),L=+jr(15912,k),L>2]=1,C=L),L=+jr(15936,k),L>2]=2,C=L),L=+jr(15960,k),L>2]=3,C=L),L=+jr(15984,k),L>2]=4,C=L),L=+jr(16008,k),L>2]=5,C=L),L=+jr(16032,k),L>2]=6,C=L),L=+jr(16056,k),L>2]=7,C=L),L=+jr(16080,k),L>2]=8,C=L),L=+jr(16104,k),L>2]=9,C=L),L=+jr(16128,k),L>2]=10,C=L),L=+jr(16152,k),L>2]=11,C=L),L=+jr(16176,k),L>2]=12,C=L),L=+jr(16200,k),L>2]=13,C=L),L=+jr(16224,k),L>2]=14,C=L),L=+jr(16248,k),L>2]=15,C=L),L=+jr(16272,k),L>2]=16,C=L),L=+jr(16296,k),L>2]=17,C=L),L=+jr(16320,k),L>2]=18,C=L),L=+jr(16344,k),L>2]=19,C=L),L=+_f(+(1-C*.5)),L<1e-16){g[S>>2]=0,g[S+4>>2]=0,g[S+8>>2]=0,g[S+12>>2]=0,wt=H;return}if(y=g[y>>2]|0,C=+Tt[16368+(y*24|0)>>3],C=+ph(C-+ph(+Od(15568+(y<<4)|0,p))),Ho(m)|0?z=+ph(C+-.3334731722518321):z=C,C=+To(+L)/.381966011250105,(m|0)>0){k=0;do C=C*2.6457513110645907,k=k+1|0;while((k|0)!=(m|0))}L=+Ur(+z)*C,Tt[S>>3]=L,z=+hi(+z)*C,Tt[S+8>>3]=z,wt=H}function dh(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;if(k=+hs(p),k<1e-16){m=15568+(m<<4)|0,g[C>>2]=g[m>>2],g[C+4>>2]=g[m+4>>2],g[C+8>>2]=g[m+8>>2],g[C+12>>2]=g[m+12>>2];return}if(L=+qr(+ +Tt[p+8>>3],+ +Tt[p>>3]),(y|0)>0){p=0;do k=k/2.6457513110645907,p=p+1|0;while((p|0)!=(y|0))}S?(k=k/3,y=(Ho(y)|0)==0,k=+Md(+((y?k:k/2.6457513110645907)*.381966011250105))):(k=+Md(+(k*.381966011250105)),Ho(y)|0&&(L=+ph(L+.3334731722518321))),f0(15568+(m<<4)|0,+ph(+Tt[16368+(m*24|0)>>3]-L),k,C)}function y_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,gu(p+4|0,C),dh(C,g[p>>2]|0,m,0,y),wt=S}function l0(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Sn=wt,wt=wt+272|0,k=Sn+256|0,te=Sn+240|0,Ei=Sn,hn=Sn+224|0,Pi=Sn+208|0,_e=Sn+176|0,Ut=Sn+160|0,$e=Sn+192|0,er=Sn+144|0,we=Sn+128|0,je=Sn+112|0,Zr=Sn+96|0,qi=Sn+80|0,g[k>>2]=m,g[te>>2]=g[p>>2],g[te+4>>2]=g[p+4>>2],g[te+8>>2]=g[p+8>>2],g[te+12>>2]=g[p+12>>2],c0(te,k,Ei),g[C>>2]=0,te=S+y+((S|0)==5&1)|0,(te|0)<=(y|0)){wt=Sn;return}H=g[k>>2]|0,it=hn+4|0,ot=_e+4|0,Ct=y+5|0,Nt=16848+(H<<2)|0,Wt=16928+(H<<2)|0,re=we+8|0,ne=je+8|0,Le=Zr+8|0,We=Pi+4|0,z=y;t:for(;;){L=Ei+(((z|0)%5|0)<<4)|0,g[Pi>>2]=g[L>>2],g[Pi+4>>2]=g[L+4>>2],g[Pi+8>>2]=g[L+8>>2],g[Pi+12>>2]=g[L+12>>2];do;while((bf(Pi,H,0,1)|0)==2);if((z|0)>(y|0)&(Ho(m)|0)!=0){if(g[_e>>2]=g[Pi>>2],g[_e+4>>2]=g[Pi+4>>2],g[_e+8>>2]=g[Pi+8>>2],g[_e+12>>2]=g[Pi+12>>2],gu(it,Ut),S=g[_e>>2]|0,k=g[17008+(S*80|0)+(g[hn>>2]<<2)>>2]|0,g[_e>>2]=g[18608+(S*80|0)+(k*20|0)>>2],L=g[18608+(S*80|0)+(k*20|0)+16>>2]|0,(L|0)>0){p=0;do s0(ot),p=p+1|0;while((p|0)<(L|0))}switch(L=18608+(S*80|0)+(k*20|0)+4|0,g[$e>>2]=g[L>>2],g[$e+4>>2]=g[L+4>>2],g[$e+8>>2]=g[L+8>>2],ca($e,(g[Nt>>2]|0)*3|0),Ln(ot,$e,ot),js(ot),gu(ot,er),yn=+(g[Wt>>2]|0),Tt[we>>3]=yn*3,Tt[re>>3]=0,Or=yn*-1.5,Tt[je>>3]=Or,Tt[ne>>3]=yn*2.598076211353316,Tt[Zr>>3]=Or,Tt[Le>>3]=yn*-2.598076211353316,g[17008+((g[_e>>2]|0)*80|0)+(g[Pi>>2]<<2)>>2]|0){case 1:{p=je,S=we;break}case 3:{p=Zr,S=je;break}case 2:{p=we,S=Zr;break}default:{p=12;break t}}Bn(Ut,er,S,p,qi),dh(qi,g[_e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1}if((z|0)<(Ct|0)&&(gu(We,_e),dh(_e,g[Pi>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),g[hn>>2]=g[Pi>>2],g[hn+4>>2]=g[Pi+4>>2],g[hn+8>>2]=g[Pi+8>>2],g[hn+12>>2]=g[Pi+12>>2],z=z+1|0,(z|0)>=(te|0)){p=3;break}}if((p|0)==3){wt=Sn;return}else(p|0)==12&&Mi(22474,22521,581,22531)}function c0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+128|0,S=H+64|0,C=H,k=S,L=20208,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20272,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],y=y+68|0,Ln(C,S+48|0,y),js(y),wt=H}function bf(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(re=wt,wt=wt+32|0,Nt=re+12|0,z=re,Wt=p+4|0,Ct=g[16928+(m<<2)>>2]|0,ot=(S|0)!=0,Ct=ot?Ct*3|0:Ct,C=g[Wt>>2]|0,it=p+8|0,L=g[it>>2]|0,ot){if(k=p+12|0,S=g[k>>2]|0,C=L+C+S|0,(C|0)==(Ct|0))return Wt=1,wt=re,Wt|0;H=k}else H=p+12|0,S=g[H>>2]|0,C=L+C+S|0;if((C|0)<=(Ct|0))return Wt=0,wt=re,Wt|0;do if((S|0)>0){if(S=g[p>>2]|0,(L|0)>0){k=18608+(S*80|0)+60|0,S=p;break}S=18608+(S*80|0)+40|0,y?(kd(Nt,Ct,0,0),eA(Wt,Nt,z),fh(z),Ln(z,Nt,Wt),k=S,S=p):(k=S,S=p)}else k=18608+((g[p>>2]|0)*80|0)+20|0,S=p;while(!1);if(g[S>>2]=g[k>>2],C=k+16|0,(g[C>>2]|0)>0){S=0;do s0(Wt),S=S+1|0;while((S|0)<(g[C>>2]|0))}return p=k+4|0,g[Nt>>2]=g[p>>2],g[Nt+4>>2]=g[p+4>>2],g[Nt+8>>2]=g[p+8>>2],m=g[16848+(m<<2)>>2]|0,ca(Nt,ot?m*3|0:m),Ln(Wt,Nt,Wt),js(Wt),ot?S=((g[it>>2]|0)+(g[Wt>>2]|0)+(g[H>>2]|0)|0)==(Ct|0)?1:2:S=2,Wt=S,wt=re,Wt|0}function u0(p,m){p=p|0,m=m|0;var y=0;do y=bf(p,m,0,1)|0;while((y|0)==2);return y|0}function iA(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0;if(Zr=wt,wt=wt+240|0,k=Zr+224|0,$e=Zr+208|0,er=Zr,we=Zr+192|0,je=Zr+176|0,Le=Zr+160|0,We=Zr+144|0,te=Zr+128|0,_e=Zr+112|0,Ut=Zr+96|0,g[k>>2]=m,g[$e>>2]=g[p>>2],g[$e+4>>2]=g[p+4>>2],g[$e+8>>2]=g[p+8>>2],g[$e+12>>2]=g[p+12>>2],nA($e,k,er),g[C>>2]=0,ne=S+y+((S|0)==6&1)|0,(ne|0)<=(y|0)){wt=Zr;return}H=g[k>>2]|0,it=y+6|0,ot=16928+(H<<2)|0,Ct=We+8|0,Nt=te+8|0,Wt=_e+8|0,re=we+4|0,L=0,z=y,S=-1;t:for(;;){if(k=(z|0)%6|0,p=er+(k<<4)|0,g[we>>2]=g[p>>2],g[we+4>>2]=g[p+4>>2],g[we+8>>2]=g[p+8>>2],g[we+12>>2]=g[p+12>>2],p=L,L=bf(we,H,0,1)|0,(z|0)>(y|0)&(Ho(m)|0)!=0&&(p|0)!=1&&(g[we>>2]|0)!=(S|0)){switch(gu(er+(((k+5|0)%6|0)<<4)+4|0,je),gu(er+(k<<4)+4|0,Le),qi=+(g[ot>>2]|0),Tt[We>>3]=qi*3,Tt[Ct>>3]=0,Ei=qi*-1.5,Tt[te>>3]=Ei,Tt[Nt>>3]=qi*2.598076211353316,Tt[_e>>3]=Ei,Tt[Wt>>3]=qi*-2.598076211353316,k=g[$e>>2]|0,g[17008+(k*80|0)+(((S|0)==(k|0)?g[we>>2]|0:S)<<2)>>2]|0){case 1:{p=te,S=We;break}case 3:{p=_e,S=te;break}case 2:{p=We,S=_e;break}default:{p=8;break t}}Bn(je,Le,S,p,Ut),!(qo(je,Ut)|0)&&!(qo(Le,Ut)|0)&&(dh(Ut,g[$e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1)}if((z|0)<(it|0)&&(gu(re,je),dh(je,g[we>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),z=z+1|0,(z|0)>=(ne|0)){p=3;break}else S=g[we>>2]|0}if((p|0)==3){wt=Zr;return}else(p|0)==8&&Mi(22557,22521,746,22602)}function nA(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+160|0,S=H+80|0,C=H,k=S,L=20336,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20416,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],m=y+68|0,Ln(C,S+48|0,m),js(m),g[y+80>>2]=g[p>>2],y=y+84|0,Ln(C,S+60|0,y),js(y),wt=H}function ph(p){p=+p;var m=0;return m=p<0?p+6.283185307179586:p,+(p>=6.283185307179586?m+-6.283185307179586:m)}function us(p,m){return p=p|0,m=m|0,+li(+(+Tt[p>>3]-+Tt[m>>3]))<17453292519943298e-27?(m=+li(+(+Tt[p+8>>3]-+Tt[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function _u(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2)}function Bc(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475)}function h0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475*1e3)}function Od(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;return k=+Tt[m>>3],S=+Ur(+k),C=+Tt[m+8>>3]-+Tt[p+8>>3],L=S*+hi(+C),y=+Tt[p>>3],+ +qr(+L,+(+hi(+k)*+Ur(+y)-+Ur(+C)*(S*+hi(+y))))}function f0(p,m,y,S){p=p|0,m=+m,y=+y,S=S|0;var C=0,k=0,L=0,z=0;if(y<1e-16){g[S>>2]=g[p>>2],g[S+4>>2]=g[p+4>>2],g[S+8>>2]=g[p+8>>2],g[S+12>>2]=g[p+12>>2];return}k=m<0?m+6.283185307179586:m,k=m>=6.283185307179586?k+-6.283185307179586:k;do if(k<1e-16)m=+Tt[p>>3]+y,Tt[S>>3]=m,C=S;else{if(C=+li(+(k+-3.141592653589793))<1e-16,m=+Tt[p>>3],C){m=m-y,Tt[S>>3]=m,C=S;break}if(L=+Ur(+y),y=+hi(+y),m=L*+hi(+m)+ +Ur(+k)*(y*+Ur(+m)),m=m>1?1:m,m=+h_(+(m<-1?-1:m)),Tt[S>>3]=m,+li(+(m+-1.5707963267948966))<1e-16){Tt[S>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[S>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(z=+Ur(+m),k=y*+hi(+k)/z,y=+Tt[p>>3],m=(L-+hi(+m)*+hi(+y))/+Ur(+y)/z,L=k>1?1:k,m=m>1?1:m,m=+Tt[p+8>>3]+ +qr(+(L<-1?-1:L),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m;return}while(!1);if(+li(+(m+-1.5707963267948966))<1e-16){Tt[C>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[C>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(m=+Tt[p+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m}function v_(p){return p=p|0,+ +Tt[20496+(p<<3)>>3]}function ua(p){return p=p|0,+ +Tt[20624+(p<<3)>>3]}function un(p){return p=p|0,+ +Tt[20752+(p<<3)>>3]}function sA(p){return p=p|0,+ +Tt[20880+(p<<3)>>3]}function d0(p){p=p|0;var m=0;return m=21008+(p<<3)|0,p=g[m>>2]|0,Je(g[m+4>>2]|0),p|0}function Ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;return Nt=+Tt[m>>3],ot=+Tt[p>>3],H=+hi(+((Nt-ot)*.5)),k=+Tt[m+8>>3],it=+Tt[p+8>>3],L=+hi(+((k-it)*.5)),z=+Ur(+ot),Ct=+Ur(+Nt),L=H*H+L*(Ct*z*L),L=+qr(+ +bn(+L),+ +bn(+(1-L)))*2,H=+Tt[y>>3],Nt=+hi(+((H-Nt)*.5)),S=+Tt[y+8>>3],k=+hi(+((S-k)*.5)),C=+Ur(+H),k=Nt*Nt+k*(Ct*C*k),k=+qr(+ +bn(+k),+ +bn(+(1-k)))*2,H=+hi(+((ot-H)*.5)),S=+hi(+((it-S)*.5)),S=H*H+S*(z*C*S),S=+qr(+ +bn(+S),+ +bn(+(1-S)))*2,C=(L+k+S)*.5,+(+Md(+ +bn(+(+To(+(C*.5))*+To(+((C-L)*.5))*+To(+((C-k)*.5))*+To(+((C-S)*.5)))))*4)}function x_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)<=0)return y=0,wt=k,+y;if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)==1)return wt=k,+y;p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0));return wt=k,+y}function b_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475)}function Nx(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475*1e3*1e3)}function Mo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+S)*+Ur(+H)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)<(m|0));return wt=L,+y}function oA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475,wt=L,+it}function nr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475*1e3,wt=L,+it}function dr(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&15|0}function wf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,45)|0,It()|0,m&127|0}function aA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(!(!0&(m&-16777216|0)==134217728)||(L=me(p|0,m|0,45)|0,It()|0,L=L&127,L>>>0>121))return m=0,m|0;y=me(p|0,m|0,52)|0,It()|0,y=y&15;do if(y|0){for(C=1,S=0;;){if(k=me(p|0,m|0,(15-C|0)*3|0)|0,It()|0,k=k&7,(k|0)!=0&(S^1))if((k|0)==1&(fi(L)|0)!=0){z=0,S=13;break}else S=1;if((k|0)==7){z=0,S=13;break}if(C>>>0>>0)C=C+1|0;else{S=9;break}}if((S|0)==9){if((y|0)==15)z=1;else break;return z|0}else if((S|0)==13)return z|0}while(!1);for(;;){if(z=me(p|0,m|0,(14-y|0)*3|0)|0,It()|0,!((z&7|0)==7&!0)){z=0,S=13;break}if(y>>>0<14)y=y+1|0;else{z=1,S=13;break}}return(S|0)==13?z|0:0}function Bd(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(S|0)>=(y|0)){if((S|0)!=(y|0))if(y>>>0<=15){if(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)>(y|0))do C=ke(7,0,(14-y|0)*3|0)|0,y=y+1|0,p=C|p,m=It()|0|m;while((y|0)<(S|0))}else m=0,p=0}else m=0,p=0;return Je(m|0),p|0}function Hn(p,m,y){return p=p|0,m=m|0,y=y|0,p=me(p|0,m|0,52)|0,It()|0,p=p&15,(y|0)<16&(p|0)<=(y|0)?(y=Ze(7,y-p|0)|0,y|0):(y=0,y|0)}function uo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(L=me(p|0,m|0,52)|0,It()|0,L=L&15,!!((y|0)<16&(L|0)<=(y|0))){if((L|0)==(y|0)){y=S,g[y>>2]=p,g[y+4>>2]=m;return}if(H=Ze(7,y-L|0)|0,it=(H|0)/7|0,z=me(p|0,m|0,45)|0,It()|0,!(fi(z&127)|0))k=0;else{t:do if(!L)C=0;else for(k=1;;){if(C=me(p|0,m|0,(15-k|0)*3|0)|0,It()|0,C=C&7,C|0)break t;if(k>>>0>>0)k=k+1|0;else{C=0;break}}while(!1);k=(C|0)==0}if(ot=ke(L+1|0,0,52)|0,C=It()|0|m&-15728641,z=(14-L|0)*3|0,m=ke(7,0,z|0)|0,m=(ot|p)&~m,L=C&~(It()|0),uo(m,L,y,S),C=S+(it<<3)|0,!k){ot=ke(1,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(2,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0);return}k=C+(it<<3)|0,(H|0)>6&&(H=C+8|0,ot=(k>>>0>H>>>0?k:H)+-1+(0-C)|0,Fc(C|0,0,ot+8&-8|0)|0,C=H+(ot>>>3<<3)|0),ot=ke(2,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0)}}function ji(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,45)|0,It()|0,!(fi(C&127)|0))return C=0,C|0;C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)y=0;else for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0)break t;if(S>>>0>>0)S=S+1|0;else{y=0;break}}while(!1);return C=(y|0)==0&1,C|0}function w_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(y|0)<16&(S|0)<=(y|0)){if((S|0)!=(y|0)&&(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)<(y|0)))do C=ke(7,0,(14-S|0)*3|0)|0,S=S+1|0,p=p&~C,m=m&~(It()|0);while((S|0)<(y|0))}else m=0,p=0;return Je(m|0),p|0}function mh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0;if(!y)return we=0,we|0;if(C=p,S=g[C>>2]|0,C=g[C+4>>2]|0,!0&(C&15728640|0)==0){if((y|0)<=0||(we=m,g[we>>2]=S,g[we+4>>2]=C,(y|0)==1))return we=0,we|0;S=1;do $e=p+(S<<3)|0,er=g[$e+4>>2]|0,we=m+(S<<3)|0,g[we>>2]=g[$e>>2],g[we+4>>2]=er,S=S+1|0;while((S|0)!=(y|0));return S=0,S|0}if($e=y<<3,er=ho($e)|0,!er)return we=-3,we|0;if(Va(er|0,p|0,$e|0)|0,Ut=Ua(y,8)|0,!Ut)return Gr(er),we=-3,we|0;S=y;t:for(;;){L=er,ot=g[L>>2]|0,L=g[L+4>>2]|0,te=me(ot|0,L|0,52)|0,It()|0,te=te&15,_e=te+-1|0,We=(S|0)>0;e:do if(We){if(Le=((S|0)<0)<<31>>31,re=ke(_e|0,0,52)|0,ne=It()|0,_e>>>0>15)for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(k=me(p|0,y|0,52)|0,It()|0,k=k&15,z=(k|0)<(_e|0),k=(k|0)==(_e|0),it=z?0:k?p:0,p=z?0:k?y:0,y=Yo(it|0,p|0,S|0,Le|0)|0,It()|0,k=Ut+(y<<3)|0,z=k,H=g[z>>2]|0,z=g[z+4>>2]|0,(H|0)==0&(z|0)==0)y=it;else for(re=0,Wt=y,Nt=z,y=it;;){if((re|0)>(S|0)){we=41;break t}if((H|0)==(y|0)&(Nt&-117440513|0)==(p|0)){it=me(H|0,Nt|0,56)|0,It()|0,it=it&7,Ct=it+1|0,ne=me(H|0,Nt|0,45)|0,It()|0;r:do if(!(fi(ne&127)|0))z=7;else{if(H=me(H|0,Nt|0,52)|0,It()|0,H=H&15,!H){z=6;break}for(z=1;;){if(ne=ke(7,0,(15-z|0)*3|0)|0,!((ne&y|0)==0&((It()|0)&p|0)==0)){z=7;break r}if(z>>>0>>0)z=z+1|0;else{z=6;break}}}while(!1);if((it+2|0)>>>0>z>>>0){we=51;break t}ne=ke(Ct|0,0,56)|0,p=It()|0|p&-117440513,z=k,g[z>>2]=0,g[z+4>>2]=0,z=Wt,y=ne|y}else z=(Wt+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,Nt=k,H=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,(H|0)==0&(Nt|0)==0)break;re=re+1|0,Wt=z}ne=k,g[ne>>2]=y,g[ne+4>>2]=p}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(z=me(p|0,y|0,52)|0,It()|0,z=z&15,(z|0)>=(_e|0)){if((z|0)!=(_e|0)&&(p=p|re,y=y&-15728641|ne,z>>>0>=te>>>0)){k=_e;do Wt=ke(7,0,(14-k|0)*3|0)|0,k=k+1|0,p=Wt|p,y=It()|0|y;while(k>>>0>>0)}}else p=0,y=0;if(z=Yo(p|0,y|0,S|0,Le|0)|0,It()|0,k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,!((it|0)==0&(H|0)==0))for(Wt=0;;){if((Wt|0)>(S|0)){we=41;break t}if((it|0)==(p|0)&(H&-117440513|0)==(y|0)){Ct=me(it|0,H|0,56)|0,It()|0,Ct=Ct&7,Nt=Ct+1|0,je=me(it|0,H|0,45)|0,It()|0;r:do if(!(fi(je&127)|0))H=7;else{if(it=me(it|0,H|0,52)|0,It()|0,it=it&15,!it){H=6;break}for(H=1;;){if(je=ke(7,0,(15-H|0)*3|0)|0,!((je&p|0)==0&((It()|0)&y|0)==0)){H=7;break r}if(H>>>0>>0)H=H+1|0;else{H=6;break}}}while(!1);if((Ct+2|0)>>>0>H>>>0){we=51;break t}je=ke(Nt|0,0,56)|0,y=It()|0|y&-117440513,Nt=k,g[Nt>>2]=0,g[Nt+4>>2]=0,p=je|p}else z=(z+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0)break;Wt=Wt+1|0}je=k,g[je>>2]=p,g[je+4>>2]=y}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}}while(!1);if((S+5|0)>>>0<11){we=99;break}if(ne=Ua((S|0)/6|0,8)|0,!ne){we=58;break}e:do if(We){Wt=0,Nt=0;do{if(z=Ut+(Wt<<3)|0,p=z,C=g[p>>2]|0,p=g[p+4>>2]|0,!((C|0)==0&(p|0)==0)){H=me(C|0,p|0,56)|0,It()|0,H=H&7,y=H+1|0,it=p&-117440513,je=me(C|0,p|0,45)|0,It()|0;r:do if(fi(je&127)|0){if(Ct=me(C|0,p|0,52)|0,It()|0,Ct=Ct&15,Ct|0)for(k=1;;){if(je=ke(7,0,(15-k|0)*3|0)|0,!((C&je|0)==0&(it&(It()|0)|0)==0))break r;if(k>>>0>>0)k=k+1|0;else break}p=ke(y|0,0,56)|0,C=p|C,p=It()|0|it,y=z,g[y>>2]=C,g[y+4>>2]=p,y=H+2|0}while(!1);(y|0)==7&&(je=ne+(Nt<<3)|0,g[je>>2]=C,g[je+4>>2]=p&-117440513,Nt=Nt+1|0)}Wt=Wt+1|0}while((Wt|0)!=(S|0));if(We){if(re=((S|0)<0)<<31>>31,Ct=ke(_e|0,0,52)|0,Wt=It()|0,_e>>>0>15)for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){for(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,k=(H|0)<(_e|0),H=(H|0)==(_e|0),z=k?0:H?ot:0,H=k?0:H?L:0,k=Yo(z|0,H|0,S|0,re|0)|0,It()|0,y=0;;){if((y|0)>(S|0)){we=98;break t}if(je=Ut+(k<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(z|0)){we=70;break}if(k=(k+1|0)%(S|0)|0,je=Ut+(k<<3)|0,(g[je>>2]|0)==(z|0)&&(g[je+4>>2]|0)==(H|0))break;y=y+1|0}if((we|0)==70&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){if(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,(H|0)>=(_e|0))if((H|0)!=(_e|0))if(y=ot|Ct,k=L&-15728641|Wt,H>>>0>>0)H=k;else{z=_e;do je=ke(7,0,(14-z|0)*3|0)|0,z=z+1|0,y=je|y,k=It()|0|k;while(z>>>0>>0);H=k}else y=ot,H=L;else y=0,H=0;for(z=Yo(y|0,H|0,S|0,re|0)|0,It()|0,k=0;;){if((k|0)>(S|0)){we=98;break t}if(je=Ut+(z<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(y|0)){we=93;break}if(z=(z+1|0)%(S|0)|0,je=Ut+(z<<3)|0,(g[je>>2]|0)==(y|0)&&(g[je+4>>2]|0)==(H|0))break;k=k+1|0}if((we|0)==93&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}}else C=0,S=Nt}else C=0,S=0;while(!1);if(Fc(Ut|0,0,$e|0)|0,Va(er|0,ne|0,S<<3|0)|0,Gr(ne),S)m=m+(C<<3)|0;else break}return(we|0)==41?(Gr(er),Gr(Ut),je=-1,je|0):(we|0)==51?(Gr(er),Gr(Ut),je=-2,je|0):(we|0)==58?(Gr(er),Gr(Ut),je=-3,je|0):(we|0)==98?(Gr(ne),Gr(er),Gr(Ut),je=-1,je|0):((we|0)==99&&Va(m|0,er|0,S<<3|0)|0,Gr(er),Gr(Ut),je=0,je|0)}function kn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0;if((m|0)<=0)return C=0,C|0;if((C|0)>=16){for(k=0;;){if(ot=p+(k<<3)|0,!((g[ot>>2]|0)==0&(g[ot+4>>2]|0)==0)){k=14;break}if(k=k+1|0,(k|0)>=(m|0)){L=0,k=16;break}}if((k|0)==14)return((S|0)>0?-2:-1)|0;if((k|0)==16)return L|0}k=0,ot=0;t:for(;;){it=p+(ot<<3)|0,z=it,L=g[z>>2]|0,z=g[z+4>>2]|0;do if(!((L|0)==0&(z|0)==0)){if((k|0)>=(S|0)){L=-1,k=16;break t}if(H=me(L|0,z|0,52)|0,It()|0,H=H&15,(H|0)>(C|0)){L=-2,k=16;break t}if((H|0)==(C|0)){it=y+(k<<3)|0,g[it>>2]=L,g[it+4>>2]=z,k=k+1|0;break}if(L=(Ze(7,C-H|0)|0)+k|0,(L|0)>(S|0)){L=-1,k=16;break t}uo(g[it>>2]|0,g[it+4>>2]|0,C,y+(k<<3)|0),k=L}while(!1);if(ot=ot+1|0,(ot|0)>=(m|0)){L=0,k=16;break}}return(k|0)==16?L|0:0}function wn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if((m|0)<=0)return y=0,y|0;if((y|0)>=16){for(S=0;;){if(L=p+(S<<3)|0,!((g[L>>2]|0)==0&(g[L+4>>2]|0)==0)){S=-1,C=13;break}if(S=S+1|0,(S|0)>=(m|0)){S=0,C=13;break}}if((C|0)==13)return S|0}S=0,L=0;t:for(;;){C=p+(L<<3)|0,k=g[C>>2]|0,C=g[C+4>>2]|0;do if(!((k|0)==0&(C|0)==0)){if(C=me(k|0,C|0,52)|0,It()|0,C=C&15,(C|0)>(y|0)){S=-1,C=13;break t}if((C|0)==(y|0)){S=S+1|0;break}else{S=(Ze(7,y-C|0)|0)+S|0;break}}while(!1);if(L=L+1|0,(L|0)>=(m|0)){C=13;break}}return(C|0)==13?S|0:0}function Sf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&1|0}function Es(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,52)|0,It()|0,C=C&15,!C)return C=0,C|0;for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0){S=5;break}if(S>>>0>>0)S=S+1|0;else{y=0,S=5;break}}return(S|0)==5?y|0:0}function gh(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(Na(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(L=(15-y|0)*3|0,C=me(p|0,m|0,L|0)|0,It()|0,k=ke(7,0,L|0)|0,m=m&~(It()|0),L=ke(Na(C&7)|0,0,L|0)|0,p=p&~k|L,m=m|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Wo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;k=(15-y|0)*3|0,L=me(p|0,m|0,k|0)|0,It()|0,C=ke(7,0,k|0)|0,m=m&~(It()|0),k=ke(Na(L&7)|0,0,k|0)|0,p=k|p&~C,m=It()|0|m,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function p0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(co(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(C=(15-y|0)*3|0,k=ke(7,0,C|0)|0,L=m&~(It()|0),m=me(p|0,m|0,C|0)|0,It()|0,m=ke(co(m&7)|0,0,C|0)|0,p=p&~k|m,m=L|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Fd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;L=(15-y|0)*3|0,k=ke(7,0,L|0)|0,C=m&~(It()|0),m=me(p|0,m|0,L|0)|0,It()|0,m=ke(co(m&7)|0,0,L|0)|0,p=m|p&~k,m=It()|0|C,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function Tf(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(H=wt,wt=wt+64|0,z=H+40|0,S=H+24|0,C=H+12|0,k=H,ke(m|0,0,52)|0,y=It()|0|134225919,!m)return(g[p+4>>2]|0)>2||(g[p+8>>2]|0)>2||(g[p+12>>2]|0)>2?(L=0,z=0,Je(L|0),wt=H,z|0):(ke(vf(p)|0,0,45)|0,L=It()|0|y,z=-1,Je(L|0),wt=H,z|0);if(g[z>>2]=g[p>>2],g[z+4>>2]=g[p+4>>2],g[z+8>>2]=g[p+8>>2],g[z+12>>2]=g[p+12>>2],L=z+4|0,(m|0)>0)for(p=-1;g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],m&1?(Rd(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],za(C)):(Al(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],hh(C)),eA(S,C,k),js(k),ot=(15-m|0)*3|0,it=ke(7,0,ot|0)|0,y=y&~(It()|0),ot=ke(Fa(k)|0,0,ot|0)|0,p=ot|p&~it,y=It()|0|y,(m|0)>1;)m=m+-1|0;else p=-1;t:do if((g[L>>2]|0)<=2&&(g[z+8>>2]|0)<=2&&(g[z+12>>2]|0)<=2){if(S=vf(z)|0,m=ke(S|0,0,45)|0,m=m|p,p=It()|0|y&-1040385,k=Kp(z)|0,!(fi(S)|0)){if((k|0)<=0)break;for(C=0;;){if(S=me(m|0,p|0,52)|0,It()|0,S=S&15,S)for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0;if(C=C+1|0,(C|0)==(k|0))break t}}C=me(m|0,p|0,52)|0,It()|0,C=C&15;e:do if(C){y=1;r:for(;;){switch(ot=me(m|0,p|0,(15-y|0)*3|0)|0,It()|0,ot&7){case 1:break r;case 0:break;default:break e}if(y>>>0>>0)y=y+1|0;else break e}if(ch(S,g[z>>2]|0)|0)for(y=1;z=(15-y|0)*3|0,it=ke(7,0,z|0)|0,ot=p&~(It()|0),p=me(m|0,p|0,z|0)|0,It()|0,p=ke(co(p&7)|0,0,z|0)|0,m=m&~it|p,p=ot|(It()|0),y>>>0>>0;)y=y+1|0;else for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0}while(!1);if((k|0)>0){y=0;do m=gh(m,p)|0,p=It()|0,y=y+1|0;while((y|0)!=(k|0))}}else m=0,p=0;while(!1);return it=p,ot=m,Je(it|0),wt=H,ot|0}function Ho(p){return p=p|0,(p|0)%2|0|0}function lA(p,m){p=p|0,m=m|0;var y=0,S=0;return S=wt,wt=wt+16|0,y=S,m>>>0<=15&&(g[p+4>>2]&2146435072|0)!=2146435072&&(g[p+8+4>>2]&2146435072|0)!=2146435072?(a0(p,m,y),m=Tf(y,m)|0,p=It()|0):(p=0,m=0),Je(p|0),wt=S,m|0}function bi(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(C=y+4|0,k=me(p|0,m|0,52)|0,It()|0,k=k&15,L=me(p|0,m|0,45)|0,It()|0,S=(k|0)==0,fi(L&127)|0){if(S)return L=1,L|0;S=1}else{if(S)return L=0,L|0;!(g[C>>2]|0)&&!(g[y+8>>2]|0)?S=(g[y+12>>2]|0)!=0&1:S=1}for(y=1;y&1?za(C):hh(C),L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,rA(C,L&7),y>>>0>>0;)y=y+1|0;return S|0}function T(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;ot=wt,wt=wt+16|0,H=ot,it=me(p|0,m|0,45)|0,It()|0,it=it&127;t:do if(fi(it)|0&&(k=me(p|0,m|0,52)|0,It()|0,k=k&15,(k|0)!=0)){S=1;e:for(;;){switch(z=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,z&7){case 5:break e;case 0:break;default:{S=m;break t}}if(S>>>0>>0)S=S+1|0;else{S=m;break t}}for(C=1,S=m;m=(15-C|0)*3|0,L=ke(7,0,m|0)|0,z=S&~(It()|0),S=me(p|0,S|0,m|0)|0,It()|0,S=ke(co(S&7)|0,0,m|0)|0,p=p&~L|S,S=z|(It()|0),C>>>0>>0;)C=C+1|0}else S=m;while(!1);if(z=7728+(it*28|0)|0,g[y>>2]=g[z>>2],g[y+4>>2]=g[z+4>>2],g[y+8>>2]=g[z+8>>2],g[y+12>>2]=g[z+12>>2],!(bi(p,S,y)|0)){wt=ot;return}if(L=y+4|0,g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],k=me(p|0,S|0,52)|0,It()|0,z=k&15,k&1?(hh(L),k=z+1|0):k=z,!(fi(it)|0))S=0;else{t:do if(!z)S=0;else for(m=1;;){if(C=me(p|0,S|0,(15-m|0)*3|0)|0,It()|0,C=C&7,C|0){S=C;break t}if(m>>>0>>0)m=m+1|0;else{S=0;break}}while(!1);S=(S|0)==4&1}if(!(bf(y,k,S,0)|0))(k|0)!=(z|0)&&(g[L>>2]=g[H>>2],g[L+4>>2]=g[H+4>>2],g[L+8>>2]=g[H+8>>2]);else{if(fi(it)|0)do;while(bf(y,k,0,0)|0);(k|0)!=(z|0)&&Al(L)}wt=ot}function l(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,T(p,m,C),m=me(p|0,m|0,52)|0,It()|0,y_(C,m&15,y),wt=S}function d(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;L=wt,wt=wt+16|0,k=L,T(p,m,k),S=me(p|0,m|0,45)|0,It()|0,S=(fi(S&127)|0)==0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!S){if(C|0)for(S=1;;){if(z=ke(7,0,(15-S|0)*3|0)|0,!((z&p|0)==0&((It()|0)&m|0)==0))break t;if(S>>>0>>0)S=S+1|0;else break}l0(k,C,0,5,y),wt=L;return}while(!1);iA(k,C,0,6,y),wt=L}function v(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(S=me(p|0,m|0,45)|0,It()|0,!(fi(S&127)|0))return S=2,S|0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return S=5,S|0;for(y=1;;){if(C=ke(7,0,(15-y|0)*3|0)|0,!((C&p|0)==0&((It()|0)&m|0)==0)){y=2,p=6;break}if(y>>>0>>0)y=y+1|0;else{y=5,p=6;break}}return(p|0)==6?y|0:0}function b(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;Ct=wt,wt=wt+128|0,it=Ct+112|0,k=Ct+96|0,ot=Ct,C=me(p|0,m|0,52)|0,It()|0,z=C&15,g[it>>2]=z,L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){if(z|0)for(S=1;;){if(H=ke(7,0,(15-S|0)*3|0)|0,!((H&p|0)==0&((It()|0)&m|0)==0)){C=0;break t}if(S>>>0>>0)S=S+1|0;else break}if(C&1)C=1;else{H=ke(z+1|0,0,52)|0,ot=It()|0|m&-15728641,it=ke(7,0,(14-z|0)*3|0)|0,b((H|p)&~it,ot&~(It()|0),y),wt=Ct;return}}else C=0;while(!1);T(p,m,k),C?(c0(k,it,ot),H=5):(nA(k,it,ot),H=6);t:do if(fi(L)|0)if(!z)S=20;else for(S=1;;){if(L=ke(7,0,(15-S|0)*3|0)|0,!((L&p|0)==0&((It()|0)&m|0)==0)){S=8;break t}if(S>>>0>>0)S=S+1|0;else{S=20;break}}else S=8;while(!1);if(Fc(y|0,-1,S|0)|0,C){C=0;do{for(k=ot+(C<<4)|0,u0(k,g[it>>2]|0)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}else{C=0;do{for(k=ot+(C<<4)|0,bf(k,g[it>>2]|0,0,1)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}wt=Ct}function M(){return 12}function O(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(ke(p|0,0,52)|0,z=It()|0|134225919,(p|0)<1){S=0,y=0;do fi(S)|0&&(ke(S|0,0,45)|0,L=z|(It()|0),p=m+(y<<3)|0,g[p>>2]=-1,g[p+4>>2]=L,y=y+1|0),S=S+1|0;while((S|0)!=122);return}L=0,y=0;do{if(fi(L)|0){for(ke(L|0,0,45)|0,S=1,C=-1,k=z|(It()|0);H=ke(7,0,(15-S|0)*3|0)|0,C=C&~H,k=k&~(It()|0),(S|0)!=(p|0);)S=S+1|0;H=m+(y<<3)|0,g[H>>2]=C,g[H+4>>2]=k,y=y+1|0}L=L+1|0}while((L|0)!=122)}function B(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0;if(z=wt,wt=wt+64|0,L=z,(p|0)==(y|0)&(m|0)==(S|0)|(!1|(m&2013265920|0)!=134217728|(!1|(S&2013265920|0)!=134217728))||(C=me(p|0,m|0,52)|0,It()|0,C=C&15,k=me(y|0,S|0,52)|0,It()|0,(C|0)!=(k&15|0)))return L=0,wt=z,L|0;if(k=C+-1|0,C>>>0>1&&(it=Bd(p,m,k)|0,H=It()|0,k=Bd(y,S,k)|0,(it|0)==(k|0)&(H|0)==(It()|0))&&(k=(C^15)*3|0,C=me(p|0,m|0,k|0)|0,It()|0,C=C&7,k=me(y|0,S|0,k|0)|0,It()|0,k=k&7,(C|0)==0|(k|0)==0||(g[21136+(C<<2)>>2]|0)==(k|0)||(g[21168+(C<<2)>>2]|0)==(k|0)))return it=1,wt=z,it|0;C=L,k=C+56|0;do g[C>>2]=0,C=C+4|0;while((C|0)<(k|0));return f_(p,m,1,L),it=L,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0))&&(it=L+8|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+16|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+24|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+32|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+40|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))?(C=L+48|0,C=((g[C>>2]|0)==(y|0)?(g[C+4>>2]|0)==(S|0):0)&1):C=1,it=C,wt=z,it|0}function U(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(it=wt,wt=wt+16|0,L=it,!(B(p,m,y,S)|0))return z=0,H=0,Je(z|0),wt=it,H|0;for(z=m&-2130706433,C=(ji(p,m)|0)==0,C=C?1:2;g[L>>2]=0,ot=Wn(p,m,C,L)|0,k=C+1|0,!((ot|0)==(y|0)&(It()|0)==(S|0));)if(k>>>0<7)C=k;else{C=0,p=0,H=6;break}return(H|0)==6?(Je(C|0),wt=it,p|0):(ot=ke(C|0,0,56)|0,H=z|(It()|0)|268435456,ot=p|ot,Je(H|0),wt=it,ot|0)}function W(p,m){p=p|0,m=m|0;var y=0;return y=!0&(m&2013265920|0)==268435456,Je((y?m&-2130706433|134217728:0)|0),(y?p:0)|0}function Z(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return S=wt,wt=wt+16|0,y=S,!0&(m&2013265920|0)==268435456?(C=me(p|0,m|0,56)|0,It()|0,g[y>>2]=0,y=Wn(p,m&-2130706433|134217728,C&7,y)|0,m=It()|0,Je(m|0),wt=S,y|0):(m=0,y=0,Je(m|0),wt=S,y|0)}function $(p,m){p=p|0,m=m|0;var y=0;if(!(!0&(m&2013265920|0)==268435456))return y=0,y|0;switch(y=me(p|0,m|0,56)|0,It()|0,y&7){case 0:case 7:return y=0,y|0;default:}return y=m&-2130706433|134217728,!0&(m&117440512|0)==16777216&(ji(p,y)|0)!=0?(y=0,y|0):(y=aA(p,y)|0,y|0)}function st(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;k=wt,wt=wt+16|0,S=k,L=!0&(m&2013265920|0)==268435456,C=m&-2130706433|134217728,z=y,g[z>>2]=L?p:0,g[z+4>>2]=L?C:0,L?(m=me(p|0,m|0,56)|0,It()|0,g[S>>2]=0,p=Wn(p,C,m&7,S)|0,m=It()|0):(p=0,m=0),z=y+8|0,g[z>>2]=p,g[z+4>>2]=m,wt=k}function At(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;C=(ji(p,m)|0)==0,m=m&-2130706433,S=y,g[S>>2]=C?p:0,g[S+4>>2]=C?m|285212672:0,S=y+8|0,g[S>>2]=p,g[S+4>>2]=m|301989888,S=y+16|0,g[S>>2]=p,g[S+4>>2]=m|318767104,S=y+24|0,g[S>>2]=p,g[S+4>>2]=m|335544320,S=y+32|0,g[S>>2]=p,g[S+4>>2]=m|352321536,y=y+40|0,g[y>>2]=p,g[y+4>>2]=m|369098752}function pt(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;if(L=wt,wt=wt+16|0,k=L,S=me(p|0,m|0,56)|0,It()|0,z=!0&(m&2013265920|0)==268435456,C=z?p:0,p=z?m&-2130706433|134217728:0,m=yu(C,p,S&7)|0,(m|0)==-1){g[y>>2]=0,wt=L;return}T(C,p,k),S=me(C|0,p|0,52)|0,It()|0,S=S&15,ji(C,p)|0?l0(k,S,m,2,y):iA(k,S,m,2,y),wt=L}function yt(p){p=p|0;var m=0,y=0,S=0;return m=Ua(1,12)|0,m||Mi(22691,22646,49,22704),y=p+4|0,S=g[y>>2]|0,S|0?(S=S+8|0,g[S>>2]=m,g[y>>2]=m,m|0):(g[p>>2]|0&&Mi(22721,22646,61,22744),S=p,g[S>>2]=m,g[y>>2]=m,m|0)}function dt(p,m){p=p|0,m=m|0;var y=0,S=0;return S=ho(24)|0,S||Mi(22758,22646,78,22772),g[S>>2]=g[m>>2],g[S+4>>2]=g[m+4>>2],g[S+8>>2]=g[m+8>>2],g[S+12>>2]=g[m+12>>2],g[S+16>>2]=0,m=p+4|0,y=g[m>>2]|0,y|0?(g[y+16>>2]=S,g[m>>2]=S,S|0):(g[p>>2]|0&&Mi(22787,22646,82,22772),g[p>>2]=S,g[m>>2]=S,S|0)}function Ft(p){p=p|0;var m=0,y=0,S=0,C=0;if(p)for(S=1;;){if(m=g[p>>2]|0,m|0)do{if(y=g[m>>2]|0,y|0)do C=y,y=g[y+16>>2]|0,Gr(C);while(y|0);C=m,m=g[m+8>>2]|0,Gr(C)}while(m|0);if(m=p,p=g[p+8>>2]|0,S||Gr(m),p)S=0;else break}}function Ht(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(C=p+8|0,g[C>>2]|0)return Or=1,Or|0;if(S=g[p>>2]|0,!S)return Or=0,Or|0;m=S,y=0;do y=y+1|0,m=g[m+8>>2]|0;while(m|0);if(y>>>0<2)return Or=0,Or|0;Sn=ho(y<<2)|0,Sn||Mi(22807,22646,317,22826),Pi=ho(y<<5)|0,Pi||Mi(22848,22646,321,22826),g[p>>2]=0,er=p+4|0,g[er>>2]=0,g[C>>2]=0,y=0,hn=0,$e=0,Ct=0;t:for(;;){if(ot=g[S>>2]|0,ot){k=0,L=ot;do{if(H=+Tt[L+8>>3],m=L,L=g[L+16>>2]|0,it=(L|0)==0,C=it?ot:L,z=+Tt[C+8>>3],+li(+(H-z))>3.141592653589793){Or=14;break}k=k+(z-H)*(+Tt[m>>3]+ +Tt[C>>3])}while(!it);if((Or|0)==14){Or=0,k=0,m=ot;do Ut=+Tt[m+8>>3],Ei=m+16|0,qi=g[Ei>>2]|0,qi=qi|0?qi:ot,_e=+Tt[qi+8>>3],k=k+(+Tt[m>>3]+ +Tt[qi>>3])*((_e<0?_e+6.283185307179586:_e)-(Ut<0?Ut+6.283185307179586:Ut)),m=g[(m|0?Ei:S)>>2]|0;while(m|0)}k>0?(g[Sn+(hn<<2)>>2]=S,hn=hn+1|0,C=$e,m=Ct):Or=19}else Or=19;if((Or|0)==19){Or=0;do if(y){if(m=y+8|0,g[m>>2]|0){Or=21;break t}if(y=Ua(1,12)|0,!y){Or=23;break t}g[m>>2]=y,C=y+4|0,L=y,m=Ct}else if(Ct){C=er,L=Ct+8|0,m=S,y=p;break}else if(g[p>>2]|0){Or=27;break t}else{C=er,L=p,m=S,y=p;break}while(!1);if(g[L>>2]=S,g[C>>2]=S,L=Pi+($e<<5)|0,it=g[S>>2]|0,it){for(ot=Pi+($e<<5)+8|0,Tt[ot>>3]=17976931348623157e292,Ct=Pi+($e<<5)+24|0,Tt[Ct>>3]=17976931348623157e292,Tt[L>>3]=-17976931348623157e292,Nt=Pi+($e<<5)+16|0,Tt[Nt>>3]=-17976931348623157e292,We=17976931348623157e292,te=-17976931348623157e292,C=0,Wt=it,H=17976931348623157e292,ne=17976931348623157e292,Le=-17976931348623157e292,z=-17976931348623157e292;k=+Tt[Wt>>3],Ut=+Tt[Wt+8>>3],Wt=g[Wt+16>>2]|0,re=(Wt|0)==0,_e=+Tt[(re?it:Wt)+8>>3],k>3]=k,H=k),Ut>3]=Ut,ne=Ut),k>Le?Tt[L>>3]=k:k=Le,Ut>z&&(Tt[Nt>>3]=Ut,z=Ut),We=Ut>0&Utte?Ut:te,C=C|+li(+(Ut-_e))>3.141592653589793,!re;)Le=k;C&&(Tt[Nt>>3]=te,Tt[Ct>>3]=We)}else g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,g[L+12>>2]=0,g[L+16>>2]=0,g[L+20>>2]=0,g[L+24>>2]=0,g[L+28>>2]=0;C=$e+1|0}if(Ei=S+8|0,S=g[Ei>>2]|0,g[Ei>>2]=0,S)$e=C,Ct=m;else{Or=45;break}}if((Or|0)==21)Mi(22624,22646,35,22658);else if((Or|0)==23)Mi(22678,22646,37,22658);else if((Or|0)==27)Mi(22721,22646,61,22744);else if((Or|0)==45){t:do if((hn|0)>0){for(Ei=(C|0)==0,Zr=C<<2,qi=(p|0)==0,je=0,m=0;;){if(we=g[Sn+(je<<2)>>2]|0,Ei)Or=73;else{if($e=ho(Zr)|0,!$e){Or=50;break}if(er=ho(Zr)|0,!er){Or=52;break}e:do if(qi)y=0;else{for(C=0,y=0,L=p;S=Pi+(C<<5)|0,St(g[L>>2]|0,S,g[we>>2]|0)|0?(g[$e+(y<<2)>>2]=L,g[er+(y<<2)>>2]=S,re=y+1|0):re=y,L=g[L+8>>2]|0,L;)C=C+1|0,y=re;if((re|0)>0)if(S=g[$e>>2]|0,(re|0)==1)y=S;else for(Nt=0,Wt=-1,y=S,Ct=S;;){for(it=g[Ct>>2]|0,S=0,L=0;C=g[g[$e+(L<<2)>>2]>>2]|0,(C|0)==(it|0)?ot=S:ot=S+((St(C,g[er+(L<<2)>>2]|0,g[it>>2]|0)|0)&1)|0,L=L+1|0,(L|0)!=(re|0);)S=ot;if(C=(ot|0)>(Wt|0),y=C?Ct:y,S=Nt+1|0,(S|0)==(re|0))break e;Nt=S,Wt=C?ot:Wt,Ct=g[$e+(S<<2)>>2]|0}else y=0}while(!1);if(Gr($e),Gr(er),y){if(C=y+4|0,S=g[C>>2]|0,S)y=S+8|0;else if(g[y>>2]|0){Or=70;break}g[y>>2]=we,g[C>>2]=we}else Or=73}if((Or|0)==73){if(Or=0,m=g[we>>2]|0,m|0)do er=m,m=g[m+16>>2]|0,Gr(er);while(m|0);Gr(we),m=2}if(je=je+1|0,(je|0)>=(hn|0)){yn=m;break t}}(Or|0)==50?Mi(22863,22646,249,22882):(Or|0)==52?Mi(22901,22646,252,22882):(Or|0)==70&&Mi(22721,22646,61,22744)}else yn=0;while(!1);return Gr(Sn),Gr(Pi),Or=yn,Or|0}return 0}function St(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(!(pl(m,y)|0)||(m=n0(m)|0,it=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,p=g[p>>2]|0,!p))return p=0,p|0;if(m){m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(it-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}else{m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(it-k)/(z-k)*(L-C)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}return 0}function Bt(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(te=wt,wt=wt+32|0,We=te+16|0,Le=te,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Wt=me(y|0,S|0,52)|0,It()|0,(k|0)!=(Wt&15|0))return We=1,wt=te,We|0;if(it=me(p|0,m|0,45)|0,It()|0,it=it&127,ot=me(y|0,S|0,45)|0,It()|0,ot=ot&127,Wt=(it|0)!=(ot|0),Wt){if(z=tA(it,ot)|0,(z|0)==7)return We=2,wt=te,We|0;H=tA(ot,it)|0,(H|0)==7?Mi(22925,22949,151,22959):(re=z,L=H)}else re=0,L=0;Ct=fi(it)|0,Nt=fi(ot)|0,g[We>>2]=0,g[We+4>>2]=0,g[We+8>>2]=0,g[We+12>>2]=0;do if(re){if(ot=g[4304+(it*28|0)+(re<<2)>>2]|0,z=(ot|0)>0,Nt)if(z){it=0,H=y,z=S;do H=p0(H,z)|0,z=It()|0,L=co(L)|0,(L|0)==1&&(L=co(1)|0),it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;else if(z){it=0,H=y,z=S;do H=Fd(H,z)|0,z=It()|0,L=co(L)|0,it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;if(bi(it,H,We)|0,Wt||Mi(22972,22949,181,22959),z=(Ct|0)!=0,L=(Nt|0)!=0,z&L&&Mi(22999,22949,182,22959),z){if(L=Es(p,m)|0,br[22032+(L*7|0)+re>>0]|0){k=3;break}H=g[21200+(L*28|0)+(re<<2)>>2]|0,it=H,ne=26}else if(L){if(L=Es(it,H)|0,br[22032+(L*7|0)+ot>>0]|0){k=4;break}it=0,H=g[21200+(ot*28|0)+(L<<2)>>2]|0,ne=26}else L=0;if((ne|0)==26)if((H|0)<=-1&&Mi(23030,22949,212,22959),(it|0)<=-1&&Mi(23053,22949,213,22959),(H|0)>0){z=We+4|0,L=0;do fh(z),L=L+1|0;while((L|0)!=(H|0));L=it}else L=it;if(g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,rA(Le,re),k|0)for(;Ho(k)|0?za(Le):hh(Le),(k|0)>1;)k=k+-1|0;if((L|0)>0){k=0;do fh(Le),k=k+1|0;while((k|0)!=(L|0))}ne=We+4|0,Ln(ne,Le,ne),js(ne),ne=50}else if(bi(y,S,We)|0,(Ct|0)!=0&(Nt|0)!=0)if((ot|0)!=(it|0)&&Mi(23077,22949,243,22959),L=Es(p,m)|0,k=Es(y,S)|0,br[22032+(L*7|0)+k>>0]|0)k=5;else if(L=g[21200+(L*28|0)+(k<<2)>>2]|0,(L|0)>0){z=We+4|0,k=0;do fh(z),k=k+1|0;while((k|0)!=(L|0));ne=50}else ne=50;else ne=50;while(!1);return(ne|0)==50&&(k=We+4|0,g[C>>2]=g[k>>2],g[C+4>>2]=g[k+4>>2],g[C+8>>2]=g[k+8>>2],k=0),We=k,wt=te,We|0}function Qt(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=wt,wt=wt+48|0,L=re+36|0,z=re+24|0,H=re+12|0,it=re,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Nt=me(p|0,m|0,45)|0,It()|0,Nt=Nt&127,ot=fi(Nt)|0,ke(k|0,0,52)|0,Le=It()|0|134225919,ne=S,g[ne>>2]=-1,g[ne+4>>2]=Le,!k)return(g[y>>2]|0)>1||(g[y+4>>2]|0)>1||(g[y+8>>2]|0)>1||(C=Jp(Nt,Fa(y)|0)|0,(C|0)==127)?(Le=1,wt=re,Le|0):(Wt=ke(C|0,0,45)|0,ne=It()|0,Nt=S,ne=g[Nt+4>>2]&-1040385|ne,Le=S,g[Le>>2]=g[Nt>>2]|Wt,g[Le+4>>2]=ne,Le=0,wt=re,Le|0);for(g[L>>2]=g[y>>2],g[L+4>>2]=g[y+4>>2],g[L+8>>2]=g[y+8>>2];g[z>>2]=g[L>>2],g[z+4>>2]=g[L+4>>2],g[z+8>>2]=g[L+8>>2],Ho(k)|0?(Rd(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],za(H)):(Al(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],hh(H)),eA(z,H,it),js(it),ne=S,We=g[ne>>2]|0,ne=g[ne+4>>2]|0,te=(15-k|0)*3|0,y=ke(7,0,te|0)|0,ne=ne&~(It()|0),te=ke(Fa(it)|0,0,te|0)|0,ne=It()|0|ne,Le=S,g[Le>>2]=te|We&~y,g[Le+4>>2]=ne,(k|0)>1;)k=k+-1|0;t:do if((g[L>>2]|0)<=1&&(g[L+4>>2]|0)<=1&&(g[L+8>>2]|0)<=1){k=Fa(L)|0,z=Jp(Nt,k)|0,(z|0)==127?it=0:it=fi(z)|0;e:do if(k){if(ot){if(L=21408+((Es(p,m)|0)*28|0)+(k<<2)|0,L=g[L>>2]|0,(L|0)>0){y=0;do k=Na(k)|0,y=y+1|0;while((y|0)!=(L|0))}if((k|0)==1){C=3;break t}y=Jp(Nt,k)|0,(y|0)==127&&Mi(23104,22949,376,23134),fi(y)|0?Mi(23147,22949,377,23134):(Wt=L,Ct=k,C=y)}else Wt=0,Ct=k,C=z;if(H=g[4304+(Nt*28|0)+(Ct<<2)>>2]|0,(H|0)<=-1&&Mi(23178,22949,384,23134),!it){if((Wt|0)<=-1&&Mi(23030,22949,417,23134),Wt|0){L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0;while((k|0)<(Wt|0))}if((H|0)<=0){k=54;break}for(L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;;)if(y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0,(k|0)==(H|0)){k=54;break e}}if(z=tA(C,Nt)|0,(z|0)==7&&Mi(22925,22949,393,23134),k=S,y=g[k>>2]|0,k=g[k+4>>2]|0,(H|0)>0){L=0;do y=Wo(y,k)|0,k=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=k,L=L+1|0;while((L|0)!=(H|0))}if(y=Es(y,k)|0,te=mu(C)|0,y=g[(te?21824:21616)+(z*28|0)+(y<<2)>>2]|0,(y|0)<=-1&&Mi(23030,22949,412,23134),!y)k=54;else{z=S,k=0,L=g[z>>2]|0,z=g[z+4>>2]|0;do L=gh(L,z)|0,z=It()|0,te=S,g[te>>2]=L,g[te+4>>2]=z,k=k+1|0;while((k|0)<(y|0));k=54}}else if((ot|0)!=0&(it|0)!=0)if(te=Es(p,m)|0,k=S,k=21408+(te*28|0)+((Es(g[k>>2]|0,g[k+4>>2]|0)|0)<<2)|0,k=g[k>>2]|0,(k|0)<=-1&&Mi(23201,22949,433,23134),!k)C=z,k=55;else{L=S,C=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,C=C+1|0;while((C|0)<(k|0));C=z,k=54}else C=z,k=54;while(!1);if((k|0)==54&&it&&(k=55),(k|0)==55&&(te=S,(Es(g[te>>2]|0,g[te+4>>2]|0)|0)==1)){C=4;break}te=S,Le=g[te>>2]|0,te=g[te+4>>2]&-1040385,We=ke(C|0,0,45)|0,te=te|(It()|0),C=S,g[C>>2]=Le|We,g[C+4>>2]=te,C=0}else C=2;while(!1);return te=C,wt=re,te|0}function $t(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;return L=wt,wt=wt+16|0,k=L,p=Bt(p,m,y,S,k)|0,p||(xf(k,C),p=0),wt=L,p|0}function oe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return C=wt,wt=wt+16|0,k=C,__(y,k),S=Qt(p,m,k,S)|0,wt=C,S|0}function pe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,p|0}function he(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,(p>>>31^1)+p|0}function be(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0;if($e=wt,wt=wt+48|0,k=$e+24|0,L=$e+12|0,Ut=$e,!(Bt(p,m,p,m,k)|0)&&!(Bt(p,m,y,S,L)|0)){if(_e=Hl(k,L)|0,(_e|0)<0)return Ut=_e,wt=$e,Ut|0;for(g[k>>2]=0,g[k+4>>2]=0,g[k+8>>2]=0,g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,Bt(p,m,p,m,k)|0,Bt(p,m,y,S,L)|0,Oe(k),Oe(L),_e?(ot=g[k>>2]|0,Wt=+(_e|0),Le=k+4|0,Ct=g[Le>>2]|0,We=k+8|0,Nt=g[We>>2]|0,te=k,y=ot,S=Ct,k=Nt,re=+((g[L>>2]|0)-ot|0)/Wt,ne=+((g[L+4>>2]|0)-Ct|0)/Wt,Wt=+((g[L+8>>2]|0)-Nt|0)/Wt):(S=k+4|0,Nt=k+8|0,Le=S,We=Nt,te=k,y=g[k>>2]|0,S=g[S>>2]|0,k=g[Nt>>2]|0,re=0,ne=0,Wt=0),g[Ut>>2]=y,Nt=Ut+4|0,g[Nt>>2]=S,Ct=Ut+8|0,g[Ct>>2]=k,ot=0;;){H=+(ot|0),er=re*H+ +(y|0),z=ne*H+ +(g[Le>>2]|0),H=Wt*H+ +(g[We>>2]|0),S=~~+Mf(+er),L=~~+Mf(+z),y=~~+Mf(+H),er=+li(+(+(S|0)-er)),z=+li(+(+(L|0)-z)),H=+li(+(+(y|0)-H));do if(er>z&er>H)S=0-(L+y)|0,k=L;else if(it=0-S|0,z>H){k=it-y|0;break}else{k=L,y=it-L|0;break}while(!1);if(g[Ut>>2]=S,g[Nt>>2]=k,g[Ct>>2]=y,o0(Ut),Qt(p,m,Ut,C+(ot<<3)|0)|0,(ot|0)==(_e|0))break;ot=ot+1|0,y=g[te>>2]|0}return Ut=0,wt=$e,Ut|0}return Ut=-1,wt=$e,Ut|0}function Ze(p,m){p=p|0,m=m|0;var y=0;if(!m)return y=1,y|0;y=p,p=1;do p=Oc(m&1|0?y:1,p)|0,m=m>>1,y=Oc(y,y)|0;while(m|0);return p|0}function Kr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;if(!(pl(m,y)|0)||(m=n0(m)|0,Nt=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,Ct=g[p>>2]|0,(Ct|0)<=0))return Ct=0,Ct|0;if(ot=g[p+4>>2]|0,m){m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(Nt-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}else{m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(Nt-k)/(z-k)*(L-C)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}return 0}function Ee(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=g[p>>2]|0,!re){g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;return}if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,!((re|0)<=0)){for(Nt=g[p+4>>2]|0,it=17976931348623157e292,ot=-17976931348623157e292,Ct=0,p=-1,k=17976931348623157e292,L=17976931348623157e292,H=-17976931348623157e292,S=-17976931348623157e292,Wt=0;y=+Tt[Nt+(Wt<<4)>>3],z=+Tt[Nt+(Wt<<4)+8>>3],p=p+2|0,C=+Tt[Nt+(((p|0)==(re|0)?0:p)<<4)+8>>3],y>3]=y,k=y),z>3]=z,L=z),y>H?Tt[m>>3]=y:y=H,z>S&&(Tt[We>>3]=z,S=z),it=z>0&zot?z:ot,Ct=Ct|+li(+(z-C))>3.141592653589793,p=Wt+1|0,(p|0)!=(re|0);)te=Wt,H=y,Wt=p,p=te;Ct&&(Tt[We>>3]=ot,Tt[Le>>3]=it)}}function pr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0;if(re=g[p>>2]|0,re){if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,(re|0)>0){for(C=g[p+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,S=0,y=-1,H=17976931348623157e292,it=17976931348623157e292,Ct=-17976931348623157e292,L=-17976931348623157e292,te=0;k=+Tt[C+(te<<4)>>3],ot=+Tt[C+(te<<4)+8>>3],er=y+2|0,z=+Tt[C+(((er|0)==(re|0)?0:er)<<4)+8>>3],k>3]=k,H=k),ot>3]=ot,it=ot),k>Ct?Tt[m>>3]=k:k=Ct,ot>L&&(Tt[We>>3]=ot,L=ot),Nt=ot>0&otWt?ot:Wt,S=S|+li(+(ot-z))>3.141592653589793,y=te+1|0,(y|0)!=(re|0);)er=te,Ct=k,te=y,y=er;S&&(Tt[We>>3]=Wt,Tt[Le>>3]=Nt)}}else g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;if(er=p+8|0,y=g[er>>2]|0,!((y|0)<=0)){$e=p+12|0,Ut=0;do if(C=g[$e>>2]|0,S=Ut,Ut=Ut+1|0,Le=m+(Ut<<5)|0,We=g[C+(S<<3)>>2]|0,We){if(te=m+(Ut<<5)+8|0,Tt[te>>3]=17976931348623157e292,p=m+(Ut<<5)+24|0,Tt[p>>3]=17976931348623157e292,Tt[Le>>3]=-17976931348623157e292,_e=m+(Ut<<5)+16|0,Tt[_e>>3]=-17976931348623157e292,(We|0)>0){for(re=g[C+(S<<3)+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,C=0,S=-1,ne=0,H=17976931348623157e292,it=17976931348623157e292,ot=-17976931348623157e292,L=-17976931348623157e292;k=+Tt[re+(ne<<4)>>3],Ct=+Tt[re+(ne<<4)+8>>3],S=S+2|0,z=+Tt[re+(((S|0)==(We|0)?0:S)<<4)+8>>3],k>3]=k,H=k),Ct>3]=Ct,it=Ct),k>ot?Tt[Le>>3]=k:k=ot,Ct>L&&(Tt[_e>>3]=Ct,L=Ct),Nt=Ct>0&CtWt?Ct:Wt,C=C|+li(+(Ct-z))>3.141592653589793,S=ne+1|0,(S|0)!=(We|0);)we=ne,ne=S,ot=k,S=we;C&&(Tt[_e>>3]=Wt,Tt[p>>3]=Nt)}}else g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,g[Le+12>>2]=0,g[Le+16>>2]=0,g[Le+20>>2]=0,g[Le+24>>2]=0,g[Le+28>>2]=0,y=g[er>>2]|0;while((Ut|0)<(y|0))}}function tr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if(!(Kr(p,m,y)|0))return C=0,C|0;if(C=p+8|0,(g[C>>2]|0)<=0)return C=1,C|0;for(S=p+12|0,p=0;;){if(k=p,p=p+1|0,Kr((g[S>>2]|0)+(k<<3)|0,m+(p<<5)|0,y)|0){p=0,S=6;break}if((p|0)>=(g[C>>2]|0)){p=1,S=6;break}}return(S|0)==6?p|0:0}function Gi(){return 8}function Jr(){return 16}function Vr(){return 168}function ei(){return 8}function On(){return 16}function tn(){return 12}function Gs(){return 8}function hs(p){p=p|0;var m=0,y=0;return y=+Tt[p>>3],m=+Tt[p+8>>3],+ +bn(+(y*y+m*m))}function Bn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;it=+Tt[p>>3],H=+Tt[m>>3]-it,z=+Tt[p+8>>3],L=+Tt[m+8>>3]-z,Ct=+Tt[y>>3],k=+Tt[S>>3]-Ct,Nt=+Tt[y+8>>3],ot=+Tt[S+8>>3]-Nt,k=(k*(z-Nt)-(it-Ct)*ot)/(H*ot-L*k),Tt[C>>3]=it+H*k,Tt[C+8>>3]=z+L*k}function qo(p,m){return p=p|0,m=m|0,+Tt[p>>3]!=+Tt[m>>3]?(m=0,m|0):(m=+Tt[p+8>>3]==+Tt[m+8>>3],m|0)}function jr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return C=+Tt[p>>3]-+Tt[m>>3],S=+Tt[p+8>>3]-+Tt[m+8>>3],y=+Tt[p+16>>3]-+Tt[m+16>>3],+(C*C+S*S+y*y)}function ql(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;y=+Tt[p>>3],S=+Ur(+y),y=+hi(+y),Tt[m+16>>3]=y,y=+Tt[p+8>>3],C=S*+Ur(+y),Tt[m>>3]=C,y=S*+hi(+y),Tt[m+8>>3]=y}function Zl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+32|0,C=it+16|0,k=it,T(p,m,C),L=wf(p,m)|0,H=Es(p,m)|0,lh(L,k),m=Ld(L,g[C>>2]|0)|0,!(fi(L)|0))return H=m,wt=it,H|0;do switch(L|0){case 4:{p=0,y=14;break}case 14:{p=1,y=14;break}case 24:{p=2,y=14;break}case 38:{p=3,y=14;break}case 49:{p=4,y=14;break}case 58:{p=5,y=14;break}case 63:{p=6,y=14;break}case 72:{p=7,y=14;break}case 83:{p=8,y=14;break}case 97:{p=9,y=14;break}case 107:{p=10,y=14;break}case 117:{p=11,y=14;break}default:z=0,S=0}while(!1);return(y|0)==14&&(z=g[22096+(p*24|0)+8>>2]|0,S=g[22096+(p*24|0)+16>>2]|0),p=g[C>>2]|0,(p|0)!=(g[k>>2]|0)&&(L=mu(L)|0,p=g[C>>2]|0,L|(p|0)==(S|0)&&(m=(m+1|0)%6|0)),(H|0)==3&(p|0)==(S|0)?(H=(m+5|0)%6|0,wt=it,H|0):(H|0)==5&(p|0)==(z|0)?(H=(m+1|0)%6|0,wt=it,H|0):(H=m,wt=it,H|0)}function yu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;return S=ji(p,m)|0,(y+-1|0)>>>0>5||(C=(S|0)!=0,(y|0)==1&C)?(y=-1,y|0):(S=Zl(p,m)|0,C?(y=(5-S+(g[22384+(y<<2)>>2]|0)|0)%5|0,y|0):(y=(6-S+(g[22416+(y<<2)>>2]|0)|0)%6|0,y|0))}function vu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0;(m|0)>0?(S=Ua(m,4)|0,g[p>>2]=S,S||Mi(23230,23253,40,23267)):g[p>>2]=0,g[p+4>>2]=m,g[p+8>>2]=0,g[p+12>>2]=y}function _h(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=p+4|0,k=p+12|0,L=p+8|0;t:for(;;){for(y=g[C>>2]|0,m=0;;){if((m|0)>=(y|0))break t;if(S=g[p>>2]|0,z=g[S+(m<<2)>>2]|0,!z)m=m+1|0;else break}m=S+(~~(+li(+(+dl(10,+ +(15-(g[k>>2]|0)|0))*(+Tt[z>>3]+ +Tt[z+8>>3])))%+(y|0))>>>0<<2)|0,y=g[m>>2]|0;e:do if(y|0){if(S=z+32|0,(y|0)==(z|0))g[m>>2]=g[S>>2];else{if(y=y+32|0,m=g[y>>2]|0,!m)break;for(;(m|0)!=(z|0);)if(y=m+32|0,m=g[y>>2]|0,!m)break e;g[y>>2]=g[S>>2]}Gr(z),g[L>>2]=(g[L>>2]|0)+-1}while(!1)}Gr(g[p>>2]|0)}function Ws(p){p=p|0;var m=0,y=0,S=0;for(S=g[p+4>>2]|0,y=0;;){if((y|0)>=(S|0)){m=0,y=4;break}if(m=g[(g[p>>2]|0)+(y<<2)>>2]|0,!m)y=y+1|0;else{y=4;break}}return(y|0)==4?m|0:0}function Ps(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,y=(g[p>>2]|0)+(y<<2)|0,S=g[y>>2]|0,!S)return k=1,k|0;k=m+32|0;do if((S|0)!=(m|0)){if(y=g[S+32>>2]|0,!y)return k=1,k|0;for(C=y;;){if((C|0)==(m|0)){C=8;break}if(y=g[C+32>>2]|0,y)S=C,C=y;else{y=1,C=10;break}}if((C|0)==8){g[S+32>>2]=g[k>>2];break}else if((C|0)==10)return y|0}else g[y>>2]=g[k>>2];while(!1);return Gr(m),k=p+8|0,g[k>>2]=(g[k>>2]|0)+-1,k=0,k|0}function Eo(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;k=ho(40)|0,k||Mi(23283,23253,98,23296),g[k>>2]=g[m>>2],g[k+4>>2]=g[m+4>>2],g[k+8>>2]=g[m+8>>2],g[k+12>>2]=g[m+12>>2],C=k+16|0,g[C>>2]=g[y>>2],g[C+4>>2]=g[y+4>>2],g[C+8>>2]=g[y+8>>2],g[C+12>>2]=g[y+12>>2],g[k+32>>2]=0,C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=(g[p>>2]|0)+(C<<2)|0,S=g[C>>2]|0;do if(!S)g[C>>2]=k;else{for(;!(us(S,m)|0&&us(S+16|0,y)|0);)if(C=g[S+32>>2]|0,S=C|0?C:S,!(g[S+32>>2]|0)){L=10;break}if((L|0)==10){g[S+32>>2]=k;break}return Gr(k),L=S,L|0}while(!1);return L=p+8|0,g[L>>2]=(g[L>>2]|0)+1,L=k,L|0}function yh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=g[(g[p>>2]|0)+(C<<2)>>2]|0,!C)return y=0,y|0;if(!y){for(p=C;;){if(us(p,m)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}if((S|0)==10)return p|0}for(p=C;;){if(us(p,m)|0&&us(p+16|0,y)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}return(S|0)==10?p|0:0}function Fn(p,m){p=p|0,m=m|0;var y=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,p=g[(g[p>>2]|0)+(y<<2)>>2]|0,!p)return y=0,y|0;for(;;){if(us(p,m)|0){m=5;break}if(p=g[p+32>>2]|0,!p){p=0,m=5;break}}return(m|0)==5?p|0:0}function fs(){return 23312}function Zo(p){return p=+p,+ +Ux(+p)}function _n(p){return p=+p,~~+Zo(p)|0}function ho(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0;$e=wt,wt=wt+16|0,Nt=$e;do if(p>>>0<245){if(it=p>>>0<11?16:p+11&-8,p=it>>>3,Ct=g[5829]|0,y=Ct>>>p,y&3|0)return m=(y&1^1)+p|0,p=23356+(m<<1<<2)|0,y=p+8|0,S=g[y>>2]|0,C=S+8|0,k=g[C>>2]|0,(k|0)==(p|0)?g[5829]=Ct&~(1<>2]=p,g[y>>2]=k),Ut=m<<3,g[S+4>>2]=Ut|3,Ut=S+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1,Ut=C,wt=$e,Ut|0;if(ot=g[5831]|0,it>>>0>ot>>>0){if(y|0)return m=2<>>12&16,m=m>>>z,y=m>>>5&8,m=m>>>y,k=m>>>2&4,m=m>>>k,p=m>>>1&2,m=m>>>p,S=m>>>1&1,S=(y|z|k|p|S)+(m>>>S)|0,m=23356+(S<<1<<2)|0,p=m+8|0,k=g[p>>2]|0,z=k+8|0,y=g[z>>2]|0,(y|0)==(m|0)?(p=Ct&~(1<>2]=m,g[p>>2]=y,p=Ct),Ut=S<<3,L=Ut-it|0,g[k+4>>2]=it|3,C=k+it|0,g[C+4>>2]=L|1,g[k+Ut>>2]=L,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=L,g[5834]=C,Ut=z,wt=$e,Ut|0;if(k=g[5830]|0,k){for(y=(k&0-k)+-1|0,C=y>>>12&16,y=y>>>C,S=y>>>5&8,y=y>>>S,L=y>>>2&4,y=y>>>L,z=y>>>1&2,y=y>>>z,H=y>>>1&1,H=g[23620+((S|C|L|z|H)+(y>>>H)<<2)>>2]|0,y=H,z=H,H=(g[H+4>>2]&-8)-it|0;p=g[y+16>>2]|0,!(!p&&(p=g[y+20>>2]|0,!p));)L=(g[p+4>>2]&-8)-it|0,C=L>>>0>>0,y=p,z=C?p:z,H=C?L:H;if(L=z+it|0,L>>>0>z>>>0){C=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){y=0;break}for(;;)if(S=m+20|0,y=g[S>>2]|0,y)m=y,p=S;else if(S=m+16|0,y=g[S>>2]|0,y)m=y,p=S;else break;g[p>>2]=0,y=m}else y=g[z+8>>2]|0,g[y+12>>2]=m,g[m+8>>2]=y,y=m;while(!1);do if(C|0){if(m=g[z+28>>2]|0,p=23620+(m<<2)|0,(z|0)==(g[p>>2]|0)){if(g[p>>2]=y,!y){g[5830]=k&~(1<>2]|0)==(z|0)?Ut:C+20|0)>>2]=y,!y)break;g[y+24>>2]=C,m=g[z+16>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),m=g[z+20>>2]|0,m|0&&(g[y+20>>2]=m,g[m+24>>2]=y)}while(!1);return H>>>0<16?(Ut=H+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1):(g[z+4>>2]=it|3,g[L+4>>2]=H|1,g[L+H>>2]=H,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=m|Ct,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=H,g[5834]=L),Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it}else Ct=it}else if(p>>>0<=4294967231)if(p=p+11|0,it=p&-8,S=g[5830]|0,S){C=0-it|0,p=p>>>8,p?it>>>0>16777215?H=31:(Ct=(p+1048320|0)>>>16&8,ne=p<>>16&4,ne=ne<>>16&2,H=14-(z|Ct|H)+(ne<>>15)|0,H=it>>>(H+7|0)&1|H<<1):H=0,y=g[23620+(H<<2)>>2]|0;t:do if(!y)y=0,p=0,ne=61;else for(p=0,z=it<<((H|0)==31?0:25-(H>>>1)|0),k=0;;){if(L=(g[y+4>>2]&-8)-it|0,L>>>0>>0)if(L)p=y,C=L;else{p=y,C=0,ne=65;break t}if(ne=g[y+20>>2]|0,y=g[y+16+(z>>>31<<2)>>2]|0,k=(ne|0)==0|(ne|0)==(y|0)?k:ne,y)z=z<<1;else{y=k,ne=61;break}}while(!1);if((ne|0)==61){if((y|0)==0&(p|0)==0){if(p=2<>>12&16,Ct=Ct>>>L,k=Ct>>>5&8,Ct=Ct>>>k,z=Ct>>>2&4,Ct=Ct>>>z,H=Ct>>>1&2,Ct=Ct>>>H,y=Ct>>>1&1,p=0,y=g[23620+((k|L|z|H|y)+(Ct>>>y)<<2)>>2]|0}y?ne=65:(z=p,L=C)}if((ne|0)==65)for(k=y;;)if(Ct=(g[k+4>>2]&-8)-it|0,y=Ct>>>0>>0,C=y?Ct:C,p=y?k:p,y=g[k+16>>2]|0,y||(y=g[k+20>>2]|0),y)k=y;else{z=p,L=C;break}if(z|0&&L>>>0<((g[5831]|0)-it|0)>>>0&&(ot=z+it|0,ot>>>0>z>>>0)){k=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){m=0;break}for(;;)if(C=m+20|0,y=g[C>>2]|0,y)m=y,p=C;else if(C=m+16|0,y=g[C>>2]|0,y)m=y,p=C;else break;g[p>>2]=0}else Ut=g[z+8>>2]|0,g[Ut+12>>2]=m,g[m+8>>2]=Ut;while(!1);do if(k){if(p=g[z+28>>2]|0,y=23620+(p<<2)|0,(z|0)==(g[y>>2]|0)){if(g[y>>2]=m,!m){S=S&~(1<>2]|0)==(z|0)?Ut:k+20|0)>>2]=m,!m)break;g[m+24>>2]=k,p=g[z+16>>2]|0,p|0&&(g[m+16>>2]=p,g[p+24>>2]=m),p=g[z+20>>2]|0,p&&(g[m+20>>2]=p,g[p+24>>2]=m)}while(!1);t:do if(L>>>0<16)Ut=L+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1;else{if(g[z+4>>2]=it|3,g[ot+4>>2]=L|1,g[ot+L>>2]=L,m=L>>>3,L>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=ot,g[m+12>>2]=ot,g[ot+8>>2]=m,g[ot+12>>2]=y;break}if(m=L>>>8,m?L>>>0>16777215?y=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,y=14-(te|_e|y)+(Ut<>>15)|0,y=L>>>(y+7|0)&1|y<<1):y=0,m=23620+(y<<2)|0,g[ot+28>>2]=y,p=ot+16|0,g[p+4>>2]=0,g[p>>2]=0,p=1<>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break}m=g[m>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(L|0)){for(S=L<<((y|0)==31?0:25-(y>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(L|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=ot,g[_e>>2]=ot,g[ot+8>>2]=Ut,g[ot+12>>2]=m,g[ot+24>>2]=0}while(!1);return Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it;else Ct=-1;while(!1);if(y=g[5831]|0,y>>>0>=Ct>>>0)return m=y-Ct|0,p=g[5834]|0,m>>>0>15?(Ut=p+Ct|0,g[5834]=Ut,g[5831]=m,g[Ut+4>>2]=m|1,g[p+y>>2]=m,g[p+4>>2]=Ct|3):(g[5831]=0,g[5834]=0,g[p+4>>2]=y|3,Ut=p+y+4|0,g[Ut>>2]=g[Ut>>2]|1),Ut=p+8|0,wt=$e,Ut|0;if(L=g[5832]|0,L>>>0>Ct>>>0)return te=L-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0;if(g[5947]|0?p=g[5949]|0:(g[5949]=4096,g[5948]=4096,g[5950]=-1,g[5951]=-1,g[5952]=0,g[5940]=0,g[5947]=Nt&-16^1431655768,p=4096),z=Ct+48|0,H=Ct+47|0,k=p+H|0,C=0-p|0,it=k&C,it>>>0<=Ct>>>0||(p=g[5939]|0,p|0&&(ot=g[5937]|0,Nt=ot+it|0,Nt>>>0<=ot>>>0|Nt>>>0>p>>>0)))return Ut=0,wt=$e,Ut|0;t:do if(g[5940]&4)m=0,ne=143;else{y=g[5835]|0;e:do if(y){for(S=23764;Nt=g[S>>2]|0,!(Nt>>>0<=y>>>0&&(Nt+(g[S+4>>2]|0)|0)>>>0>y>>>0);)if(p=g[S+8>>2]|0,p)S=p;else{ne=128;break e}if(m=k-L&C,m>>>0<2147483647)if(p=en(m|0)|0,(p|0)==((g[S>>2]|0)+(g[S+4>>2]|0)|0)){if((p|0)!=-1){L=m,k=p,ne=145;break t}}else S=p,ne=136;else m=0}else ne=128;while(!1);do if((ne|0)==128)if(y=en(0)|0,(y|0)!=-1&&(m=y,Wt=g[5948]|0,re=Wt+-1|0,m=(re&m|0?(re+m&0-Wt)-m|0:0)+it|0,Wt=g[5937]|0,re=m+Wt|0,m>>>0>Ct>>>0&m>>>0<2147483647)){if(Nt=g[5939]|0,Nt|0&&re>>>0<=Wt>>>0|re>>>0>Nt>>>0){m=0;break}if(p=en(m|0)|0,(p|0)==(y|0)){L=m,k=y,ne=145;break t}else S=p,ne=136}else m=0;while(!1);do if((ne|0)==136){if(y=0-m|0,!(z>>>0>m>>>0&(m>>>0<2147483647&(S|0)!=-1)))if((S|0)==-1){m=0;break}else{L=m,k=S,ne=145;break t}if(p=g[5949]|0,p=H-m+p&0-p,p>>>0>=2147483647){L=m,k=S,ne=145;break t}if((en(p|0)|0)==-1){en(y|0)|0,m=0;break}else{L=p+m|0,k=S,ne=145;break t}}while(!1);g[5940]=g[5940]|4,ne=143}while(!1);if((ne|0)==143&&it>>>0<2147483647&&(te=en(it|0)|0,re=en(0)|0,Le=re-te|0,We=Le>>>0>(Ct+40|0)>>>0,!((te|0)==-1|We^1|te>>>0>>0&((te|0)!=-1&(re|0)!=-1)^1))&&(L=We?Le:m,k=te,ne=145),(ne|0)==145){m=(g[5937]|0)+L|0,g[5937]=m,m>>>0>(g[5938]|0)>>>0&&(g[5938]=m),H=g[5835]|0;t:do if(H){for(m=23764;;){if(p=g[m>>2]|0,y=g[m+4>>2]|0,(k|0)==(p+y|0)){ne=154;break}if(S=g[m+8>>2]|0,S)m=S;else break}if((ne|0)==154&&(_e=m+4|0,(g[m+12>>2]&8|0)==0)&&k>>>0>H>>>0&p>>>0<=H>>>0){g[_e>>2]=y+L,Ut=(g[5832]|0)+L|0,te=H+8|0,te=te&7|0?0-te&7:0,_e=H+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[H+Ut+4>>2]=40,g[5836]=g[5951];break}for(k>>>0<(g[5833]|0)>>>0&&(g[5833]=k),y=k+L|0,m=23764;;){if((g[m>>2]|0)==(y|0)){ne=162;break}if(p=g[m+8>>2]|0,p)m=p;else break}if((ne|0)==162&&!(g[m+12>>2]&8|0)){g[m>>2]=k,ot=m+4|0,g[ot>>2]=(g[ot>>2]|0)+L,ot=k+8|0,ot=k+(ot&7|0?0-ot&7:0)|0,m=y+8|0,m=y+(m&7|0?0-m&7:0)|0,it=ot+Ct|0,z=m-ot-Ct|0,g[ot+4>>2]=Ct|3;e:do if((H|0)==(m|0))Ut=(g[5832]|0)+z|0,g[5832]=Ut,g[5835]=it,g[it+4>>2]=Ut|1;else{if((g[5834]|0)==(m|0)){Ut=(g[5831]|0)+z|0,g[5831]=Ut,g[5834]=it,g[it+4>>2]=Ut|1,g[it+Ut>>2]=Ut;break}if(p=g[m+4>>2]|0,(p&3|0)==1){L=p&-8,S=p>>>3;r:do if(p>>>0<256)if(p=g[m+8>>2]|0,y=g[m+12>>2]|0,(y|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=y,g[y+8>>2]=p;break}else{k=g[m+24>>2]|0,p=g[m+12>>2]|0;do if((p|0)==(m|0)){if(y=m+16|0,S=y+4|0,p=g[S>>2]|0,p)y=S;else if(p=g[y>>2]|0,!p){p=0;break}for(;;)if(C=p+20|0,S=g[C>>2]|0,S)p=S,y=C;else if(C=p+16|0,S=g[C>>2]|0,S)p=S,y=C;else break;g[y>>2]=0}else Ut=g[m+8>>2]|0,g[Ut+12>>2]=p,g[p+8>>2]=Ut;while(!1);if(!k)break;y=g[m+28>>2]|0,S=23620+(y<<2)|0;do if((g[S>>2]|0)!=(m|0)){if(Ut=k+16|0,g[((g[Ut>>2]|0)==(m|0)?Ut:k+20|0)>>2]=p,!p)break r}else{if(g[S>>2]=p,p|0)break;g[5830]=g[5830]&~(1<>2]=k,y=m+16|0,S=g[y>>2]|0,S|0&&(g[p+16>>2]=S,g[S+24>>2]=p),y=g[y+4>>2]|0,!y)break;g[p+20>>2]=y,g[y+24>>2]=p}while(!1);m=m+L|0,C=L+z|0}else C=z;if(m=m+4|0,g[m>>2]=g[m>>2]&-2,g[it+4>>2]=C|1,g[it+C>>2]=C,m=C>>>3,C>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=it,g[m+12>>2]=it,g[it+8>>2]=m,g[it+12>>2]=y;break}m=C>>>8;do if(!m)S=0;else{if(C>>>0>16777215){S=31;break}_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=C>>>(S+7|0)&1|S<<1}while(!1);if(m=23620+(S<<2)|0,g[it+28>>2]=S,p=it+16|0,g[p+4>>2]=0,g[p>>2]=0,p=g[5830]|0,y=1<>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break}m=g[m>>2]|0;r:do if((g[m+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(C|0)){m=p;break r}else S=S<<1,m=p;g[y>>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break e}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=it,g[_e>>2]=it,g[it+8>>2]=Ut,g[it+12>>2]=m,g[it+24>>2]=0}while(!1);return Ut=ot+8|0,wt=$e,Ut|0}for(m=23764;p=g[m>>2]|0,!(p>>>0<=H>>>0&&(Ut=p+(g[m+4>>2]|0)|0,Ut>>>0>H>>>0));)m=g[m+8>>2]|0;C=Ut+-47|0,p=C+8|0,p=C+(p&7|0?0-p&7:0)|0,C=H+16|0,p=p>>>0>>0?H:p,m=p+8|0,y=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=y-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+y+4>>2]=40,g[5836]=g[5951],y=p+4|0,g[y>>2]=27,g[m>>2]=g[5941],g[m+4>>2]=g[5942],g[m+8>>2]=g[5943],g[m+12>>2]=g[5944],g[5941]=k,g[5942]=L,g[5944]=0,g[5943]=m,m=p+24|0;do _e=m,m=m+4|0,g[m>>2]=7;while((_e+8|0)>>>0>>0);if((p|0)!=(H|0)){if(k=p-H|0,g[y>>2]=g[y>>2]&-2,g[H+4>>2]=k|1,g[p>>2]=k,m=k>>>3,k>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=H,g[m+12>>2]=H,g[H+8>>2]=m,g[H+12>>2]=y;break}if(m=k>>>8,m?k>>>0>16777215?S=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=k>>>(S+7|0)&1|S<<1):S=0,y=23620+(S<<2)|0,g[H+28>>2]=S,g[H+20>>2]=0,g[C>>2]=0,m=g[5830]|0,p=1<>2]=H,g[H+24>>2]=y,g[H+12>>2]=H,g[H+8>>2]=H;break}m=g[y>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(k|0)){for(S=k<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(k|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=H,g[H+24>>2]=m,g[H+12>>2]=H,g[H+8>>2]=H;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=H,g[_e>>2]=H,g[H+8>>2]=Ut,g[H+12>>2]=m,g[H+24>>2]=0}}else Ut=g[5833]|0,(Ut|0)==0|k>>>0>>0&&(g[5833]=k),g[5941]=k,g[5942]=L,g[5944]=0,g[5838]=g[5947],g[5837]=-1,g[5842]=23356,g[5841]=23356,g[5844]=23364,g[5843]=23364,g[5846]=23372,g[5845]=23372,g[5848]=23380,g[5847]=23380,g[5850]=23388,g[5849]=23388,g[5852]=23396,g[5851]=23396,g[5854]=23404,g[5853]=23404,g[5856]=23412,g[5855]=23412,g[5858]=23420,g[5857]=23420,g[5860]=23428,g[5859]=23428,g[5862]=23436,g[5861]=23436,g[5864]=23444,g[5863]=23444,g[5866]=23452,g[5865]=23452,g[5868]=23460,g[5867]=23460,g[5870]=23468,g[5869]=23468,g[5872]=23476,g[5871]=23476,g[5874]=23484,g[5873]=23484,g[5876]=23492,g[5875]=23492,g[5878]=23500,g[5877]=23500,g[5880]=23508,g[5879]=23508,g[5882]=23516,g[5881]=23516,g[5884]=23524,g[5883]=23524,g[5886]=23532,g[5885]=23532,g[5888]=23540,g[5887]=23540,g[5890]=23548,g[5889]=23548,g[5892]=23556,g[5891]=23556,g[5894]=23564,g[5893]=23564,g[5896]=23572,g[5895]=23572,g[5898]=23580,g[5897]=23580,g[5900]=23588,g[5899]=23588,g[5902]=23596,g[5901]=23596,g[5904]=23604,g[5903]=23604,Ut=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+Ut+4>>2]=40,g[5836]=g[5951];while(!1);if(m=g[5832]|0,m>>>0>Ct>>>0)return te=m-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0}return Ut=fs()|0,g[Ut>>2]=12,Ut=0,wt=$e,Ut|0}function Gr(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(p){y=p+-8|0,C=g[5833]|0,p=g[p+-4>>2]|0,m=p&-8,H=y+m|0;do if(p&1)z=y,L=y;else{if(S=g[y>>2]|0,!(p&3)||(L=y+(0-S)|0,k=S+m|0,L>>>0>>0))return;if((g[5834]|0)==(L|0)){if(p=H+4|0,m=g[p>>2]|0,(m&3|0)!=3){z=L,m=k;break}g[5831]=k,g[p>>2]=m&-2,g[L+4>>2]=k|1,g[L+k>>2]=k;return}if(y=S>>>3,S>>>0<256)if(p=g[L+8>>2]|0,m=g[L+12>>2]|0,(m|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=m,g[m+8>>2]=p,z=L,m=k;break}C=g[L+24>>2]|0,p=g[L+12>>2]|0;do if((p|0)==(L|0)){if(m=L+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){p=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0}else z=g[L+8>>2]|0,g[z+12>>2]=p,g[p+8>>2]=z;while(!1);if(C){if(m=g[L+28>>2]|0,y=23620+(m<<2)|0,(g[y>>2]|0)==(L|0)){if(g[y>>2]=p,!p){g[5830]=g[5830]&~(1<>2]|0)==(L|0)?z:C+20|0)>>2]=p,!p){z=L,m=k;break}g[p+24>>2]=C,m=L+16|0,y=g[m>>2]|0,y|0&&(g[p+16>>2]=y,g[y+24>>2]=p),m=g[m+4>>2]|0,m?(g[p+20>>2]=m,g[m+24>>2]=p,z=L,m=k):(z=L,m=k)}else z=L,m=k}while(!1);if(!(L>>>0>=H>>>0)&&(p=H+4|0,S=g[p>>2]|0,!!(S&1))){if(S&2)g[p>>2]=S&-2,g[z+4>>2]=m|1,g[L+m>>2]=m,C=m;else{if((g[5835]|0)==(H|0)){if(H=(g[5832]|0)+m|0,g[5832]=H,g[5835]=z,g[z+4>>2]=H|1,(z|0)!=(g[5834]|0))return;g[5834]=0,g[5831]=0;return}if((g[5834]|0)==(H|0)){H=(g[5831]|0)+m|0,g[5831]=H,g[5834]=L,g[z+4>>2]=H|1,g[L+H>>2]=H;return}C=(S&-8)+m|0,y=S>>>3;do if(S>>>0<256)if(m=g[H+8>>2]|0,p=g[H+12>>2]|0,(p|0)==(m|0)){g[5829]=g[5829]&~(1<>2]=p,g[p+8>>2]=m;break}else{k=g[H+24>>2]|0,p=g[H+12>>2]|0;do if((p|0)==(H|0)){if(m=H+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){y=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0,y=p}else y=g[H+8>>2]|0,g[y+12>>2]=p,g[p+8>>2]=y,y=p;while(!1);if(k|0){if(p=g[H+28>>2]|0,m=23620+(p<<2)|0,(g[m>>2]|0)==(H|0)){if(g[m>>2]=y,!y){g[5830]=g[5830]&~(1<>2]|0)==(H|0)?S:k+20|0)>>2]=y,!y)break;g[y+24>>2]=k,p=H+16|0,m=g[p>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),p=g[p+4>>2]|0,p|0&&(g[y+20>>2]=p,g[p+24>>2]=y)}}while(!1);if(g[z+4>>2]=C|1,g[L+C>>2]=C,(z|0)==(g[5834]|0)){g[5831]=C;return}}if(p=C>>>3,C>>>0<256){y=23356+(p<<1<<2)|0,m=g[5829]|0,p=1<>2]|0):(g[5829]=m|p,p=y,m=y+8|0),g[m>>2]=z,g[p+12>>2]=z,g[z+8>>2]=p,g[z+12>>2]=y;return}p=C>>>8,p?C>>>0>16777215?S=31:(L=(p+1048320|0)>>>16&8,H=p<>>16&4,H=H<>>16&2,S=14-(k|L|S)+(H<>>15)|0,S=C>>>(S+7|0)&1|S<<1):S=0,p=23620+(S<<2)|0,g[z+28>>2]=S,g[z+20>>2]=0,g[z+16>>2]=0,m=g[5830]|0,y=1<>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;else{p=g[p>>2]|0;e:do if((g[p+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=p+16+(S>>>31<<2)|0,m=g[y>>2]|0,!!m;)if((g[m+4>>2]&-8|0)==(C|0)){p=m;break e}else S=S<<1,p=m;g[y>>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;break t}while(!1);L=p+8|0,H=g[L>>2]|0,g[H+12>>2]=z,g[L>>2]=z,g[z+8>>2]=H,g[z+12>>2]=p,g[z+24>>2]=0}while(!1);if(H=(g[5837]|0)+-1|0,g[5837]=H,!(H|0)){for(p=23772;p=g[p>>2]|0,p;)p=p+8|0;g[5837]=-1}}}}function Ua(p,m){p=p|0,m=m|0;var y=0;return p?(y=Oc(m,p)|0,(m|p)>>>0>65535&&(y=((y>>>0)/(p>>>0)|0|0)==(m|0)?y:-1)):y=0,p=ho(y)|0,!p||!(g[p+-4>>2]&3)||Fc(p|0,0,y|0)|0,p|0}function S_(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,y=p+y>>>0,Je(m+S+(y>>>0

>>0|0)>>>0|0),y|0|0}function zd(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,S=m-S-(y>>>0>p>>>0|0)>>>0,Je(S|0),p-y>>>0|0|0}function cA(p){return p=p|0,(p?31-(aa(p^p-1)|0)|0:32)|0}function Yl(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(ot=p,H=m,it=H,L=y,Nt=S,z=Nt,!it)return k=(C|0)!=0,z?k?(g[C>>2]=p|0,g[C+4>>2]=m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0):(k&&(g[C>>2]=(ot>>>0)%(L>>>0),g[C+4>>2]=0),Nt=0,C=(ot>>>0)/(L>>>0)>>>0,Je(Nt|0),C|0);k=(z|0)==0;do if(L){if(!k){if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=31){Ct=k+1|0,z=31-k|0,m=k-31>>31,L=Ct,p=ot>>>(Ct>>>0)&m|it<>>(Ct>>>0)&m,k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0)}if(k=L-1|0,k&L|0){z=(aa(L|0)|0)+33-(aa(it|0)|0)|0,re=64-z|0,Ct=32-z|0,H=Ct>>31,Wt=z-32|0,m=Wt>>31,L=z,p=Ct-1>>31&it>>>(Wt>>>0)|(it<>>(z>>>0))&m,m=m&it>>>(z>>>0),k=ot<>>(Wt>>>0))&H|ot<>31;break}return C|0&&(g[C>>2]=k&ot,g[C+4>>2]=0),(L|0)==1?(Wt=H|m&0,re=p|0|0,Je(Wt|0),re|0):(re=cA(L|0)|0,Wt=it>>>(re>>>0)|0,re=it<<32-re|ot>>>(re>>>0)|0,Je(Wt|0),re|0)}else{if(k)return C|0&&(g[C>>2]=(it>>>0)%(L>>>0),g[C+4>>2]=0),Wt=0,re=(it>>>0)/(L>>>0)>>>0,Je(Wt|0),re|0;if(!ot)return C|0&&(g[C>>2]=0,g[C+4>>2]=(it>>>0)%(z>>>0)),Wt=0,re=(it>>>0)/(z>>>0)>>>0,Je(Wt|0),re|0;if(k=z-1|0,!(k&z))return C|0&&(g[C>>2]=p|0,g[C+4>>2]=k&it|m&0),Wt=0,re=it>>>((cA(z|0)|0)>>>0),Je(Wt|0),re|0;if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=30){m=k+1|0,z=31-k|0,L=m,p=it<>>(m>>>0),m=it>>>(m>>>0),k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Wt=0,re=0,Je(Wt|0),re|0):(Wt=0,re=0,Je(Wt|0),re|0)}while(!1);if(!L)it=z,H=0,z=0;else{Ct=y|0|0,ot=Nt|S&0,it=S_(Ct|0,ot|0,-1,-1)|0,y=It()|0,H=z,z=0;do S=H,H=k>>>31|H<<1,k=z|k<<1,S=p<<1|S>>>31|0,Nt=p>>>31|m<<1|0,zd(it|0,y|0,S|0,Nt|0)|0,re=It()|0,Wt=re>>31|((re|0)<0?-1:0)<<1,z=Wt&1,p=zd(S|0,Nt|0,Wt&Ct|0,(((re|0)<0?-1:0)>>31|((re|0)<0?-1:0)<<1)&ot|0)|0,m=It()|0,L=L-1|0;while(L|0);it=H,H=0}return L=0,C|0&&(g[C>>2]=p,g[C+4>>2]=m),Wt=(k|0)>>>31|(it|L)<<1|(L<<1|k>>>31)&0|H,re=(k<<1|0)&-2|z,Je(Wt|0),re|0}function Yo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return k=wt,wt=wt+16|0,C=k|0,Yl(p,m,y,S,C)|0,wt=k,Je(g[C+4>>2]|0),g[C>>2]|0|0}function me(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m>>>y|0),p>>>y|(m&(1<>>y-32|0)}function ke(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m<>>32-y|0),p<=0?+cs(p+.5):+Ji(p-.5)}function Va(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if((y|0)>=8192)return Yp(p|0,m|0,y|0)|0,p|0;if(k=p|0,C=p+y|0,(p&3)==(m&3)){for(;p&3;){if(!y)return k|0;br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0,y=y-1|0}for(y=C&-4|0,S=y-64|0;(p|0)<=(S|0);)g[p>>2]=g[m>>2],g[p+4>>2]=g[m+4>>2],g[p+8>>2]=g[m+8>>2],g[p+12>>2]=g[m+12>>2],g[p+16>>2]=g[m+16>>2],g[p+20>>2]=g[m+20>>2],g[p+24>>2]=g[m+24>>2],g[p+28>>2]=g[m+28>>2],g[p+32>>2]=g[m+32>>2],g[p+36>>2]=g[m+36>>2],g[p+40>>2]=g[m+40>>2],g[p+44>>2]=g[m+44>>2],g[p+48>>2]=g[m+48>>2],g[p+52>>2]=g[m+52>>2],g[p+56>>2]=g[m+56>>2],g[p+60>>2]=g[m+60>>2],p=p+64|0,m=m+64|0;for(;(p|0)<(y|0);)g[p>>2]=g[m>>2],p=p+4|0,m=m+4|0}else for(y=C-4|0;(p|0)<(y|0);)br[p>>0]=br[m>>0]|0,br[p+1>>0]=br[m+1>>0]|0,br[p+2>>0]=br[m+2>>0]|0,br[p+3>>0]=br[m+3>>0]|0,p=p+4|0,m=m+4|0;for(;(p|0)<(C|0);)br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0;return k|0}function Fc(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=p+y|0,m=m&255,(y|0)>=67){for(;p&3;)br[p>>0]=m,p=p+1|0;for(S=k&-4|0,L=m|m<<8|m<<16|m<<24,C=S-64|0;(p|0)<=(C|0);)g[p>>2]=L,g[p+4>>2]=L,g[p+8>>2]=L,g[p+12>>2]=L,g[p+16>>2]=L,g[p+20>>2]=L,g[p+24>>2]=L,g[p+28>>2]=L,g[p+32>>2]=L,g[p+36>>2]=L,g[p+40>>2]=L,g[p+44>>2]=L,g[p+48>>2]=L,g[p+52>>2]=L,g[p+56>>2]=L,g[p+60>>2]=L,p=p+64|0;for(;(p|0)<(S|0);)g[p>>2]=L,p=p+4|0}for(;(p|0)<(k|0);)br[p>>0]=m,p=p+1|0;return k-y|0}function Ux(p){return p=+p,p>=0?+cs(p+.5):+Ji(p-.5)}function en(p){p=p|0;var m=0,y=0,S=0;return S=Jm()|0,y=g[Ms>>2]|0,m=y+p|0,(p|0)>0&(m|0)<(y|0)|(m|0)<0?(t0(m|0)|0,Km(12),-1):(m|0)>(S|0)&&!(Qp(m|0)|0)?(Km(12),-1):(g[Ms>>2]=m,y|0)}return{___uremdi3:Yo,_bitshift64Lshr:me,_bitshift64Shl:ke,_calloc:Ua,_cellAreaKm2:b_,_cellAreaM2:Nx,_cellAreaRads2:x_,_compact:mh,_destroyLinkedPolygon:Ft,_edgeLengthKm:un,_edgeLengthM:sA,_emscripten_replace_memory:e0,_exactEdgeLengthKm:oA,_exactEdgeLengthM:nr,_exactEdgeLengthRads:Mo,_experimentalH3ToLocalIj:$t,_experimentalLocalIjToH3:oe,_free:Gr,_geoToH3:lA,_getDestinationH3IndexFromUnidirectionalEdge:Z,_getH3IndexesFromUnidirectionalEdge:st,_getH3UnidirectionalEdge:U,_getH3UnidirectionalEdgeBoundary:pt,_getH3UnidirectionalEdgesFromHexagon:At,_getOriginH3IndexFromUnidirectionalEdge:W,_getPentagonIndexes:O,_getRes0Indexes:m_,_h3Distance:pe,_h3GetBaseCell:wf,_h3GetFaces:b,_h3GetResolution:dr,_h3IndexesAreNeighbors:B,_h3IsPentagon:ji,_h3IsResClassIII:Sf,_h3IsValid:aA,_h3Line:be,_h3LineSize:he,_h3SetToLinkedGeo:ah,_h3ToCenterChild:w_,_h3ToChildren:uo,_h3ToGeo:l,_h3ToGeoBoundary:d,_h3ToParent:Bd,_h3UnidirectionalEdgeIsValid:$,_hexAreaKm2:v_,_hexAreaM2:ua,_hexRing:p_,_i64Subtract:zd,_kRing:f_,_kRingDistances:d_,_llvm_minnum_f64:ml,_llvm_round_f64:Mf,_malloc:ho,_maxFaceCount:v,_maxH3ToChildrenSize:Hn,_maxKringSize:r0,_maxPolyfillSize:Cd,_maxUncompactSize:wn,_memcpy:Va,_memset:Fc,_numHexagons:d0,_pentagonIndexCount:M,_pointDistKm:Bc,_pointDistM:h0,_pointDistRads:_u,_polyfill:$p,_res0IndexCount:A_,_round:Ux,_sbrk:en,_sizeOfCoordIJ:Gs,_sizeOfGeoBoundary:Vr,_sizeOfGeoCoord:Jr,_sizeOfGeoPolygon:On,_sizeOfGeofence:ei,_sizeOfH3Index:Gi,_sizeOfLinkedGeoPolygon:tn,_uncompact:kn,establishStackSpace:Fx,stackAlloc:Ed,stackRestore:Id,stackSave:Pd}}(vt,xt,rr),Dt=t.___uremdi3=_t.___uremdi3,Mt=t._bitshift64Lshr=_t._bitshift64Lshr,Vt=t._bitshift64Shl=_t._bitshift64Shl,ie=t._calloc=_t._calloc,se=t._cellAreaKm2=_t._cellAreaKm2,ae=t._cellAreaM2=_t._cellAreaM2,lr=t._cellAreaRads2=_t._cellAreaRads2,vr=t._compact=_t._compact,Xe=t._destroyLinkedPolygon=_t._destroyLinkedPolygon,cr=t._edgeLengthKm=_t._edgeLengthKm,wr=t._edgeLengthM=_t._edgeLengthM,xi=t._emscripten_replace_memory=_t._emscripten_replace_memory,zi=t._exactEdgeLengthKm=_t._exactEdgeLengthKm,ni=t._exactEdgeLengthM=_t._exactEdgeLengthM,Hr=t._exactEdgeLengthRads=_t._exactEdgeLengthRads,jn=t._experimentalH3ToLocalIj=_t._experimentalH3ToLocalIj,Bi=t._experimentalLocalIjToH3=_t._experimentalLocalIjToH3,xn=t._free=_t._free,es=t._geoToH3=_t._geoToH3,oa=t._getDestinationH3IndexFromUnidirectionalEdge=_t._getDestinationH3IndexFromUnidirectionalEdge,Um=t._getH3IndexesFromUnidirectionalEdge=_t._getH3IndexesFromUnidirectionalEdge,Vl=t._getH3UnidirectionalEdge=_t._getH3UnidirectionalEdge,Ss=t._getH3UnidirectionalEdgeBoundary=_t._getH3UnidirectionalEdgeBoundary,nh=t._getH3UnidirectionalEdgesFromHexagon=_t._getH3UnidirectionalEdgesFromHexagon,ai=t._getOriginH3IndexFromUnidirectionalEdge=_t._getOriginH3IndexFromUnidirectionalEdge,ka=t._getPentagonIndexes=_t._getPentagonIndexes,Dc=t._getRes0Indexes=_t._getRes0Indexes,ln=t._h3Distance=_t._h3Distance,Dn=t._h3GetBaseCell=_t._h3GetBaseCell,Vm=t._h3GetFaces=_t._h3GetFaces,Go=t._h3GetResolution=_t._h3GetResolution,Gn=t._h3IndexesAreNeighbors=_t._h3IndexesAreNeighbors,So=t._h3IsPentagon=_t._h3IsPentagon,jl=t._h3IsResClassIII=_t._h3IsResClassIII,Ki=t._h3IsValid=_t._h3IsValid,_i=t._h3Line=_t._h3Line,Gl=t._h3LineSize=_t._h3LineSize,cn=t._h3SetToLinkedGeo=_t._h3SetToLinkedGeo,pu=t._h3ToCenterChild=_t._h3ToCenterChild,rs=t._h3ToChildren=_t._h3ToChildren,Gp=t._h3ToGeo=_t._h3ToGeo,Wl=t._h3ToGeoBoundary=_t._h3ToGeoBoundary,_d=t._h3ToParent=_t._h3ToParent,yd=t._h3UnidirectionalEdgeIsValid=_t._h3UnidirectionalEdgeIsValid,vd=t._hexAreaKm2=_t._hexAreaKm2,xd=t._hexAreaM2=_t._hexAreaM2,lt=t._hexRing=_t._hexRing,ft=t._i64Subtract=_t._i64Subtract,Lt=t._kRing=_t._kRing,Kt=t._kRingDistances=_t._kRingDistances,ge=t._llvm_minnum_f64=_t._llvm_minnum_f64,Qe=t._llvm_round_f64=_t._llvm_round_f64,ti=t._malloc=_t._malloc,is=t._maxFaceCount=_t._maxFaceCount,Ts=t._maxH3ToChildrenSize=_t._maxH3ToChildrenSize,Vs=t._maxKringSize=_t._maxKringSize,Ra=t._maxPolyfillSize=_t._maxPolyfillSize,jm=t._maxUncompactSize=_t._maxUncompactSize,Ox=t._memcpy=_t._memcpy,Bx=t._memset=_t._memset,l_=t._numHexagons=_t._numHexagons,c_=t._pentagonIndexCount=_t._pentagonIndexCount,gf=t._pointDistKm=_t._pointDistKm,Gm=t._pointDistM=_t._pointDistM,fl=t._pointDistRads=_t._pointDistRads,Wm=t._polyfill=_t._polyfill,Hm=t._res0IndexCount=_t._res0IndexCount,Wp=t._round=_t._round,qm=t._sbrk=_t._sbrk,bd=t._sizeOfCoordIJ=_t._sizeOfCoordIJ,sh=t._sizeOfGeoBoundary=_t._sizeOfGeoBoundary,ui=t._sizeOfGeoCoord=_t._sizeOfGeoCoord,Zm=t._sizeOfGeoPolygon=_t._sizeOfGeoPolygon,Da=t._sizeOfGeofence=_t._sizeOfGeofence,Oa=t._sizeOfH3Index=_t._sizeOfH3Index,u_=t._sizeOfLinkedGeoPolygon=_t._sizeOfLinkedGeoPolygon,Ym=t._uncompact=_t._uncompact,Qm=t.establishStackSpace=_t.establishStackSpace,Hp=t.stackAlloc=_t.stackAlloc,$m=t.stackRestore=_t.stackRestore,qp=t.stackSave=_t.stackSave;if(t.asm=_t,t.cwrap=ut,t.setValue=j,t.getValue=Q,t.getTempRet0=R,bo){Ia(bo)||(bo=o(bo));{du(\"memory initializer\");var wd=function(Zt){Zt.byteLength&&(Zt=new Uint8Array(Zt)),Li.set(Zt,N),t.memoryInitializerRequest&&delete t.memoryInitializerRequest.response,ul(\"memory initializer\")},Zp=function(){c(bo,wd,function(){throw\"could not load memory initializer \"+bo})},Sd=ht(bo);if(Sd)wd(Sd.buffer);else if(t.memoryInitializerRequest){var Xm=function(){var Zt=t.memoryInitializerRequest,fe=Zt.response;if(Zt.status!==200&&Zt.status!==0){var Be=ht(t.memoryInitializerRequestURL);if(Be)fe=Be.buffer;else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+Zt.status+\", retrying \"+bo),Zp();return}}wd(fe)};t.memoryInitializerRequest.response?setTimeout(Xm,0):t.memoryInitializerRequest.addEventListener(\"load\",Xm)}else Zp()}}var Td;lo=function Zt(){Td||Au(),Td||(lo=Zt)};function Au(Zt){if(Zt=Zt||s,gi>0||(cl(),gi>0))return;function fe(){Td||(Td=!0,!et&&(xo(),Pa(),t.onRuntimeInitialized&&t.onRuntimeInitialized(),na()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),fe()},1)):fe()}t.run=Au;function oh(Zt){throw t.onAbort&&t.onAbort(Zt),Zt+=\"\",f(Zt),_(Zt),et=!0,\"abort(\"+Zt+\"). Build with -s ASSERTIONS=1 for more info.\"}if(t.abort=oh,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return Au(),e}(typeof Ic==\"object\"?Ic:{}),Tr=\"number\",PS=Tr,$r=Tr,mi=Tr,Pc=Tr,Hi=Tr,pyt=[[\"sizeOfH3Index\",Tr],[\"sizeOfGeoCoord\",Tr],[\"sizeOfGeoBoundary\",Tr],[\"sizeOfGeoPolygon\",Tr],[\"sizeOfGeofence\",Tr],[\"sizeOfLinkedGeoPolygon\",Tr],[\"sizeOfCoordIJ\",Tr],[\"h3IsValid\",PS,[$r,mi]],[\"geoToH3\",$r,[Tr,Tr,Pc]],[\"h3ToGeo\",null,[$r,mi,Hi]],[\"h3ToGeoBoundary\",null,[$r,mi,Hi]],[\"maxKringSize\",Tr,[Tr]],[\"kRing\",null,[$r,mi,Tr,Hi]],[\"kRingDistances\",null,[$r,mi,Tr,Hi,Hi]],[\"hexRing\",null,[$r,mi,Tr,Hi]],[\"maxPolyfillSize\",Tr,[Hi,Pc]],[\"polyfill\",null,[Hi,Pc,Hi]],[\"h3SetToLinkedGeo\",null,[Hi,Tr,Hi]],[\"destroyLinkedPolygon\",null,[Hi]],[\"compact\",Tr,[Hi,Hi,Tr]],[\"uncompact\",Tr,[Hi,Tr,Hi,Tr,Pc]],[\"maxUncompactSize\",Tr,[Hi,Tr,Pc]],[\"h3IsPentagon\",PS,[$r,mi]],[\"h3IsResClassIII\",PS,[$r,mi]],[\"h3GetBaseCell\",Tr,[$r,mi]],[\"h3GetResolution\",Tr,[$r,mi]],[\"maxFaceCount\",Tr,[$r,mi]],[\"h3GetFaces\",null,[$r,mi,Hi]],[\"h3ToParent\",$r,[$r,mi,Pc]],[\"h3ToChildren\",null,[$r,mi,Pc,Hi]],[\"h3ToCenterChild\",$r,[$r,mi,Pc]],[\"maxH3ToChildrenSize\",Tr,[$r,mi,Pc]],[\"h3IndexesAreNeighbors\",PS,[$r,mi,$r,mi]],[\"getH3UnidirectionalEdge\",$r,[$r,mi,$r,mi]],[\"getOriginH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"getDestinationH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"h3UnidirectionalEdgeIsValid\",PS,[$r,mi]],[\"getH3IndexesFromUnidirectionalEdge\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgesFromHexagon\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgeBoundary\",null,[$r,mi,Hi]],[\"h3Distance\",Tr,[$r,mi,$r,mi]],[\"h3Line\",Tr,[$r,mi,$r,mi,Hi]],[\"h3LineSize\",Tr,[$r,mi,$r,mi]],[\"experimentalH3ToLocalIj\",Tr,[$r,mi,$r,mi,Hi]],[\"experimentalLocalIjToH3\",Tr,[$r,mi,Hi,Hi]],[\"hexAreaM2\",Tr,[Pc]],[\"hexAreaKm2\",Tr,[Pc]],[\"edgeLengthM\",Tr,[Pc]],[\"edgeLengthKm\",Tr,[Pc]],[\"pointDistM\",Tr,[Hi,Hi]],[\"pointDistKm\",Tr,[Hi,Hi]],[\"pointDistRads\",Tr,[Hi,Hi]],[\"cellAreaM2\",Tr,[$r,mi]],[\"cellAreaKm2\",Tr,[$r,mi]],[\"cellAreaRads2\",Tr,[$r,mi]],[\"exactEdgeLengthM\",Tr,[$r,mi]],[\"exactEdgeLengthKm\",Tr,[$r,mi]],[\"exactEdgeLengthRads\",Tr,[$r,mi]],[\"numHexagons\",Tr,[Pc]],[\"getRes0Indexes\",null,[Hi]],[\"res0IndexCount\",Tr],[\"getPentagonIndexes\",null,[Tr,Hi]],[\"pentagonIndexCount\",Tr]],Ma={};pyt.forEach(function(t){Ma[t[0]]=Ic.cwrap.apply(Ic,t)});var xx=16;var IS=8,sae=Ma.sizeOfH3Index(),YQ=Ma.sizeOfGeoCoord(),Ayt=Ma.sizeOfGeoBoundary(),oae=Ma.sizeOfGeoPolygon(),aae=Ma.sizeOfGeofence(),lae=Ma.sizeOfLinkedGeoPolygon(),cae=Ma.sizeOfCoordIJ(),qQ={m:\"m\",m2:\"m2\",km:\"km\",km2:\"km2\",rads:\"rads\",rads2:\"rads2\"};function myt(e){if(typeof e!=\"number\"||e<0||e>15||Math.floor(e)!==e)throw new Error(\"Invalid resolution: \"+e)}var gyt=/[^0-9a-fA-F]/;function bx(e){if(Array.isArray(e)&&e.length===2&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if(typeof e!=\"string\"||gyt.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),xx),r=parseInt(e.substring(e.length-8),xx);return[r,t]}function ZQ(e){if(e>=0)return e.toString(xx);e=e&2147483647;var t=QQ(8,e.toString(xx)),r=(parseInt(t[0],xx)+8).toString(xx);return t=r+t.substring(1),t}function _yt(e,t){return ZQ(t)+QQ(8,ZQ(e))}function QQ(e,t){for(var r=e-t.length,i=\"\",s=0;s180?r[0]-=360:i<-180&&(r[0]+=360)}}function Myt(e,t,r){let[i,s]=FI(e),n=t.length;n$(t,s);let o=t[0]===t[n-1]?n-1:n;for(let c=0;ce.hexagon},extruded:!0},Np=class e extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){e._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:t}){return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}updateState({props:t,changeFlags:r}){if(t.highPrecision!==!0&&(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagon)){let i=this._calculateH3DataProps();this.setState(i)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let t=-1,r=!1,i=!1,{iterable:s,objectInfo:n}=Jc(this.props.data);for(let o of s){n.index++;let c=this.props.getHexagon(o,n),f=KQ(c);if(t<0){if(t=f,!this.props.highPrecision)break}else if(t!==f){i=!0;break}if(XQ(c)){r=!0;break}}return{resolution:t,edgeLengthKM:t>=0?r$(t,\"km\"):0,hasMultipleRes:i,hasPentagon:r}}_shouldUseHighPrecision(){if(this.props.highPrecision===\"auto\"){let{resolution:t,hasPentagon:r,hasMultipleRes:i}=this.state,{viewport:s}=this.context;return!!s?.resolution||i||r||t>=0&&t<=5}return this.props.highPrecision}_updateVertices(t){if(this._shouldUseHighPrecision())return;let{resolution:r,edgeLengthKM:i,centerHex:s}=this.state;if(r<0)return;let n=this.props.centerHexagon||JQ(t.latitude,t.longitude,r);if(s===n)return;if(s){let R=e$(s,n);if(R>=0&&R*i{let N=t.projectFlat(R);return[(N[0]-w)/o[0],(N[1]-I)/o[1]]}),this.setState({centerHex:n,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){let{elevationScale:t,material:r,coverage:i,extruded:s,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,getFillColor:R,getElevation:N,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:Y}=this.props;return{elevationScale:t,extruded:s,coverage:i,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,material:r,getElevation:N,getFillColor:R,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:{getFillColor:Y.getFillColor,getElevation:Y.getElevation,getLineColor:Y.getLineColor,getLineWidth:Y.getLineWidth}}}_renderPolygonLayer(){let{data:t,getHexagon:r,updateTriggers:i,coverage:s}=this.props,n=this.getSubLayerClass(\"hexagon-cell-hifi\",lf),o=this._getForwardProps();return o.updateTriggers.getPolygon=Iyt(i.getHexagon,s),new n(o,this.getSubLayerProps({id:\"hexagon-cell-hifi\",updateTriggers:o.updateTriggers}),{data:t,_normalize:!1,_windingOrder:\"CCW\",positionFormat:\"XY\",getPolygon:(c,f)=>{let _=r(c,f);return Pyt(i$(_,s))}})}_renderColumnLayer(){let{data:t,getHexagon:r,updateTriggers:i}=this.props,s=this.getSubLayerClass(\"hexagon-cell\",af),n=this._getForwardProps();return n.updateTriggers.getPosition=i.getHexagon,new s(n,this.getSubLayerProps({id:\"hexagon-cell\",flatShading:!0,updateTriggers:n.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Eyt.bind(null,r)})}};G(Np,\"defaultProps\",Cyt);G(Np,\"layerName\",\"H3HexagonLayer\");G(Np,\"_checkH3Lib\",()=>{});var{data:Sae,getHexagon:Tae,...Lyt}=Np.defaultProps,kyt={_validate:!0},Mae={...Lyt,...kyt};var s$=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function o$(e,t=!1,r=Float32Array){let i;if(Number.isFinite(e[0]))i=new r(e);else{i=new r(e.length*4);let s=0;for(let n=0;nc[0]),r=e.map(c=>c[1]),i=Math.min.apply(null,t),s=Math.max.apply(null,t),n=Math.min.apply(null,r),o=Math.max.apply(null,r);return[i,n,s,o]}function u$(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}var l$=new Float32Array(12);function tF(e,t=2){let r=0;for(let i of e)for(let s=0;s 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n`;var A$=`#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n`;var Sx=class extends dn{getShaders(){return{vs:p$,fs:A$,modules:[Rs]}}initializeState({gl:t}){this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}_getModel(t){let{vertexCount:r}=this.props;return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:r})})}draw({uniforms:t}){let{model:r}=this.state,{texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}=this.props;r.setUniforms({...t,texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}).draw()}};G(Sx,\"layerName\",\"TriangleLayer\");var m$=`attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n`;var g$=`varying vec4 weightsTexture;\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var _$=`attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\ngl_PointSize = 1.0;\n}\n`;var y$=`varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n`;var Dyt=2,eF={mipmaps:!1,parameters:{10240:9729,10241:9729,10242:33071,10243:33071},dataFormat:6408},v$=[0,0],Oyt={SUM:0,MEAN:1},Byt={getPosition:{type:\"accessor\",value:e=>e.position},getWeight:{type:\"accessor\",value:1},intensity:{type:\"number\",min:0,value:1},radiusPixels:{type:\"number\",min:1,max:100,value:50},colorRange:s$,threshold:{type:\"number\",min:0,max:1,value:.05},colorDomain:{type:\"array\",value:null,optional:!0},aggregation:\"SUM\",weightsTextureSize:{type:\"number\",min:128,max:2048,value:2048},debounceTimeout:{type:\"number\",min:0,max:1e3,value:500}},Fyt=[Ii.BLEND_EQUATION_MINMAX,Ii.TEXTURE_FLOAT],zyt=[Ii.COLOR_ATTACHMENT_RGBA32F,Ii.FLOAT_BLEND],Nyt={data:{props:[\"radiusPixels\"]}},Up=class extends wx{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){let{gl:t}=this.context;if(!Oh(t,Fyt)){this.setState({supported:!1}),or.error(\"HeatmapLayer: \".concat(this.id,\" is not supported on this browser\"))();return}super.initializeAggregationLayer(Nyt),this.setState({supported:!0,colorDomain:v$}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState(t){this.state.supported&&(super.updateState(t),this._updateHeatmapState(t))}_updateHeatmapState(t){let{props:r,oldProps:i}=t,s=this._getChangeFlags(t);(s.dataChanged||s.viewportChanged)&&(s.boundsChanged=this._updateBounds(s.dataChanged),this._updateTextureRenderingBounds()),s.dataChanged||s.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):s.viewportZoomChanged&&this._debouncedUpdateWeightmap(),r.colorRange!==i.colorRange&&this._updateColorTexture(t),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:t.context.viewport.zoom})}renderLayers(){if(!this.state.supported)return[];let{weightsTexture:t,triPositionBuffer:r,triTexCoordBuffer:i,maxWeightsTexture:s,colorTexture:n,colorDomain:o}=this.state,{updateTriggers:c,intensity:f,threshold:_,aggregation:w}=this.props,I=this.getSubLayerClass(\"triangle\",Sx);return new I(this.getSubLayerProps({id:\"triangle-layer\",updateTriggers:c}),{coordinateSystem:Yr.DEFAULT,data:{attributes:{positions:r,texCoords:i}},vertexCount:4,maxTexture:s,colorTexture:n,aggregationMode:Oyt[w]||0,texture:t,intensity:f,threshold:_,colorDomain:o})}finalizeState(t){super.finalizeState(t);let{weightsTransform:r,weightsTexture:i,maxWeightTransform:s,maxWeightsTexture:n,triPositionBuffer:o,triTexCoordBuffer:c,colorTexture:f,updateTimer:_}=this.state;r?.delete(),i?.delete(),s?.delete(),n?.delete(),o?.delete(),c?.delete(),f?.delete(),_&&clearTimeout(_)}_getAttributeManager(){return new Xf(this.context.gl,{id:this.props.id,stats:this.context.stats})}_getChangeFlags(t){let r={},{dimensions:i}=this.state;r.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(t,{compareAll:!0,dimension:i.data}),r.viewportChanged=t.changeFlags.viewportChanged;let{zoom:s}=this.state;return(!t.context.viewport||t.context.viewport.zoom!==s)&&(r.viewportZoomChanged=!0),r}_createTextures(){let{gl:t}=this.context,{textureSize:r,format:i,type:s}=this.state;this.setState({weightsTexture:new pi(t,{width:r,height:r,format:i,type:s,...eF}),maxWeightsTexture:new pi(t,{format:i,type:s,...eF})})}_setupAttributes(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:\"getPosition\"},weights:{size:1,accessor:\"getWeight\"}}),this.setState({positionAttributeName:\"positions\"})}_setupTextureParams(){let{gl:t}=this.context,{weightsTextureSize:r}=this.props,i=Math.min(r,wy(t,3379)),s=Oh(t,zyt),{format:n,type:o}=d$({gl:t,floatTargetSupport:s}),c=s?1:1/255;this.setState({textureSize:i,format:n,type:o,weightsScale:c}),s||or.warn(\"HeatmapLayer: \".concat(this.id,\" rendering to float texture not supported, fallingback to low precession format\"))()}getShaders(t){return super.getShaders(t===\"max-weights-transform\"?{vs:_$,_fs:y$}:{vs:m$,_fs:g$})}_createWeightsTransform(t={}){var r;let{gl:i}=this.context,{weightsTransform:s}=this.state,{weightsTexture:n}=this.state;(r=s)===null||r===void 0||r.delete(),s=new nc(i,{id:\"\".concat(this.id,\"-weights-transform\"),elementCount:1,_targetTexture:n,_targetTextureVarying:\"weightsTexture\",...t}),this.setState({weightsTransform:s})}_setupResources(){let{gl:t}=this.context;this._createTextures();let{textureSize:r,weightsTexture:i,maxWeightsTexture:s}=this.state,n=this.getShaders(\"weights-transform\");this._createWeightsTransform(n);let o=this.getShaders(\"max-weights-transform\"),c=new nc(t,{id:\"\".concat(this.id,\"-max-weights-transform\"),_sourceTextures:{inTexture:i},_targetTexture:s,_targetTextureVarying:\"outTexture\",...o,elementCount:r*r});this.setState({weightsTexture:i,maxWeightsTexture:s,maxWeightTransform:c,zoom:null,triPositionBuffer:new Fr(t,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Fr(t,{byteLength:48,accessor:{size:2}})})}updateShaders(t){this._createWeightsTransform(t)}_updateMaxWeightValue(){let{maxWeightTransform:t}=this.state;t.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}_updateBounds(t=!1){let{viewport:r}=this.context,i=[r.unproject([0,0]),r.unproject([r.width,0]),r.unproject([r.width,r.height]),r.unproject([0,r.height])].map(c=>c.map(Math.fround)),s=c$(i),n={visibleWorldBounds:s,viewportCorners:i},o=!1;if(t||!this.state.worldBounds||!u$(this.state.worldBounds,s)){let c=this._worldToCommonBounds(s),f=this._commonToWorldBounds(c);this.props.coordinateSystem===Yr.LNGLAT&&(f[1]=Math.max(f[1],-85.051129),f[3]=Math.min(f[3],85.051129),f[0]=Math.max(f[0],-360),f[2]=Math.min(f[2],360));let _=this._worldToCommonBounds(f);n.worldBounds=f,n.normalizedCommonBounds=_,o=!0}return this.setState(n),o}_updateTextureRenderingBounds(){let{triPositionBuffer:t,triTexCoordBuffer:r,normalizedCommonBounds:i,viewportCorners:s}=this.state,{viewport:n}=this.context;t.subData(tF(s,3));let o=s.map(c=>f$(n.projectPosition(c),i));r.subData(tF(o,2))}_updateColorTexture(t){let{colorRange:r}=t.props,{colorTexture:i}=this.state,s=o$(r,!1,Uint8Array);i?i.setImageData({data:s,width:r.length}):i=new pi(this.context.gl,{data:s,width:r.length,height:1,...eF}),this.setState({colorTexture:i})}_updateWeightmap(){let{radiusPixels:t,colorDomain:r,aggregation:i}=this.props,{weightsTransform:s,worldBounds:n,textureSize:o,weightsTexture:c,weightsScale:f}=this.state;this.state.isWeightMapDirty=!1;let _=this._worldToCommonBounds(n,{useLayerCoordinateSystem:!0});if(r&&i===\"SUM\"){let{viewport:I}=this.context,R=I.distanceScales.metersPerUnit[2]*(_[2]-_[0])/o;this.state.colorDomain=r.map(N=>N*R*f)}else this.state.colorDomain=r||v$;let w={radiusPixels:t,commonBounds:_,textureWidth:o,weightsScale:f};s.update({elementCount:this.getNumInstances()}),Mn(this.context.gl,{clearColor:[0,0,0,0]},()=>{s.run({uniforms:w,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()})}),this._updateMaxWeightValue(),c.setParameters({10240:9729,10241:9729})}_debouncedUpdateWeightmap(t=!1){let{updateTimer:r}=this.state,{debounceTimeout:i}=this.props;t?(r=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(r),r=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),i)),this.setState({updateTimer:r})}_worldToCommonBounds(t,r={}){let{useLayerCoordinateSystem:i=!1}=r,[s,n,o,c]=t,{viewport:f}=this.context,{textureSize:_}=this.state,{coordinateSystem:w}=this.props,I=i&&(w===Yr.LNGLAT_OFFSETS||w===Yr.METER_OFFSETS),R=I?f.projectPosition(this.props.coordinateOrigin):[0,0],N=_*Dyt/f.scale,j,Q;return i&&!I?(j=this.projectPosition([s,n,0]),Q=this.projectPosition([o,c,0])):(j=f.projectPosition([s,n,0]),Q=f.projectPosition([o,c,0])),h$([j[0]-R[0],j[1]-R[1],Q[0]-R[0],Q[1]-R[1]],N,N)}_commonToWorldBounds(t){let[r,i,s,n]=t,{viewport:o}=this.context,c=o.unprojectPosition([r,i]),f=o.unprojectPosition([s,n]);return c.slice(0,2).concat(f.slice(0,2))}};G(Up,\"layerName\",\"HeatmapLayer\");G(Up,\"defaultProps\",Byt);var{data:Ale,getPosition:mle,...Uyt}=Up.defaultProps,x$={_validate:!0},Vyt={...Uyt,...x$},CS=class extends Ni{static defaultProps=Vyt;static layerName=\"GeoArrowHeatmapLayer\";renderLayers(){let{data:t}=this.props,r=ws(t,Kn.POINT);if(r!==null)return this._renderLayersPoint(r);let i=this.props.getPosition;if(i!==void 0&&Ci.isPointVector(i))return this._renderLayersPoint(i);throw new Error(\"getPosition not GeoArrow point\")}_renderLayersPoint(t){let{data:r}=this.props;this.props._validate&&(_r(Ci.isPointVector(t)),no(this.props,r));let[i,s]=io(this.props,[\"getPosition\"]),n=vo(r.data),o=[];for(let c=0;cr.text()),earcutWorkerPool:null}}async initEarcutPool(){if(this.state.earcutWorkerPool)return this.state.earcutWorkerPool;let t=await this.state.earcutWorkerRequest;if(!t||window?.location?.href.startsWith(\"file://\"))return null;try{let r=RX(()=>LX(kX.fromText(t)),8);return this.state.earcutWorkerPool=r,this.state.earcutWorkerPool}catch{return null}}async finalizeState(t){await this.state?.earcutWorkerPool?.terminate(),console.log(\"terminated\")}async updateData(){let{data:t}=this.props,r=await this._updateEarcut(t),i=vo(t.data);this.setState({table:this.props.data,triangles:r,tableOffsets:i})}async _updateEarcut(t){let r=ws(t,Kn.POLYGON);if(r!==null)return this._earcutPolygonVector(r);let i=ws(t,Kn.MULTIPOLYGON);if(i!==null)return this._earcutMultiPolygonVector(i);let s=this.props.getPolygon;if(s!==void 0&&Ci.isPolygonVector(s))return this._earcutPolygonVector(s);if(s!==void 0&&Ci.isMultiPolygonVector(s))return this._earcutMultiPolygonVector(s);throw new Error(\"geometryColumn not Polygon or MultiPolygon\")}async _earcutPolygonVector(t){let r=await this.initEarcutPool();if(!r)return this._earcutPolygonVectorMainThread(t);let i=new Array(t.data.length);console.time(\"earcut\");for(let s=0;s{let _=await f(LF(o,c));i[s]=_})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;i{let w=await _(LF(c,f));i[s]=w})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutMultiPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;iDX(t))):e}function OX(e){if(\"data\"in e)return new xr(e.data.map(o=>OX(o)));let t=e.valueOffsets,r=vi.getMultiPolygonChild(e),i=r.valueOffsets,s=vi.getPolygonChild(r),n=new Int32Array(t.length);for(let o=0;o{this.table=O2(this.model.get(t))};this.model.on(`change:${t}`,r),this.callbacks.set(`change:${t}`,r)}},tC=class extends mf{static layerType=\"arc\";greatCircle;numSegments;widthUnits;widthScale;widthMinPixels;widthMaxPixels;getSourcePosition;getTargetPosition;getSourceColor;getTargetColor;getWidth;getHeight;getTilt;constructor(t,r){super(t,r),this.initRegularAttribute(\"great_circle\",\"greatCircle\"),this.initRegularAttribute(\"num_segments\",\"numSegments\"),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initVectorizedAccessor(\"get_source_position\",\"getSourcePosition\"),this.initVectorizedAccessor(\"get_target_position\",\"getTargetPosition\"),this.initVectorizedAccessor(\"get_source_color\",\"getSourceColor\"),this.initVectorizedAccessor(\"get_target_color\",\"getTargetColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\"),this.initVectorizedAccessor(\"get_height\",\"getHeight\"),this.initVectorizedAccessor(\"get_tilt\",\"getTilt\")}layerProps(){return{data:this.table,getSourcePosition:this.getSourcePosition,getTargetPosition:this.getTargetPosition,...Jt(this.greatCircle)&&{greatCircle:this.greatCircle},...Jt(this.numSegments)&&{numSegments:this.numSegments},...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.getSourceColor)&&{getSourceColor:this.getSourceColor},...Jt(this.getTargetColor)&&{getTargetColor:this.getTargetColor},...Jt(this.getWidth)&&{getWidth:this.getWidth},...Jt(this.getHeight)&&{getHeight:this.getHeight},...Jt(this.getTilt)&&{getTilt:this.getTilt}}}render(){return new wS({...this.baseLayerProps(),...this.layerProps()})}},eC=class extends Ug{static layerType=\"bitmap\";image;bounds;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"image\",\"image\"),this.initRegularAttribute(\"bounds\",\"bounds\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}layerProps(){return{...Jt(this.image)&&{image:this.image},...Jt(this.bounds)&&{bounds:this.bounds},...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}render(){return new Mp({...this.baseLayerProps(),...this.layerProps(),data:void 0,pickable:!1})}},rC=class extends Ug{static layerType=\"bitmap-tile\";data;tileSize;zoomOffset;maxZoom;minZoom;extent;maxCacheSize;maxCacheByteSize;refinementStrategy;maxRequests;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"data\",\"data\"),this.initRegularAttribute(\"tile_size\",\"tileSize\"),this.initRegularAttribute(\"zoom_offset\",\"zoomOffset\"),this.initRegularAttribute(\"max_zoom\",\"maxZoom\"),this.initRegularAttribute(\"min_zoom\",\"minZoom\"),this.initRegularAttribute(\"extent\",\"extent\"),this.initRegularAttribute(\"max_cache_size\",\"maxCacheSize\"),this.initRegularAttribute(\"max_cache_byte_size\",\"maxCacheByteSize\"),this.initRegularAttribute(\"refinement_strategy\",\"refinementStrategy\"),this.initRegularAttribute(\"max_requests\",\"maxRequests\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}bitmapLayerProps(){return{...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}layerProps(){return{data:this.data,...Jt(this.tileSize)&&{tileSize:this.tileSize},...Jt(this.zoomOffset)&&{zoomOffset:this.zoomOffset},...Jt(this.maxZoom)&&{maxZoom:this.maxZoom},...Jt(this.minZoom)&&{minZoom:this.minZoom},...Jt(this.extent)&&{extent:this.extent},...Jt(this.maxCacheSize)&&{maxCacheSize:this.maxCacheSize},...Jt(this.maxCacheByteSize)&&{maxCacheByteSize:this.maxCacheByteSize},...Jt(this.refinementStrategy)&&{refinementStrategy:this.refinementStrategy},...Jt(this.maxRequests)&&{maxRequests:this.maxRequests}}}render(){return new Lm({...this.baseLayerProps(),...this.layerProps(),renderSubLayers:t=>{let[r,i]=t.tile.boundingBox;return new Mp(t,{...this.bitmapLayerProps(),data:void 0,image:t.data,bounds:[r[0],r[1],i[0],i[1]]})}})}},iC=class extends mf{static layerType=\"column\";diskResolution;radius;angle;vertices;offset;coverage;elevationScale;filled;stroked;extruded;wireframe;flatShading;radiusUnits;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;material;getPosition;getFillColor;getLineColor;getElevation;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"disk_resolution\",\"diskResolution\"),this.initRegularAttribute(\"radius\",\"radius\"),this.initRegularAttribute(\"angle\",\"angle\"),this.initRegularAttribute(\"vertices\",\"vertices\"),this.initRegularAttribute(\"offset\",\"offset\"),this.initRegularAttribute(\"coverage\",\"coverage\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"flat_shading\",\"flatShading\"),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"material\",\"material\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.diskResolution)&&{diskResolution:this.diskResolution},...Jt(this.radius)&&{radius:this.radius},...Jt(this.angle)&&{angle:this.angle},...Jt(this.vertices)&&this.vertices!==void 0&&{vertices:this.vertices},...Jt(this.offset)&&{offset:this.offset},...Jt(this.coverage)&&{coverage:this.coverage},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.filled)&&{filled:this.filled},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.flatShading)&&{flatShading:this.flatShading},...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.material)&&{material:this.material},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new SS({...this.baseLayerProps(),...this.layerProps()})}},nC=class extends mf{static layerType=\"heatmap\";radiusPixels;colorRange;intensity;threshold;colorDomain;aggregation;weightsTextureSize;debounceTimeout;getPosition;getWeight;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_pixels\",\"radiusPixels\"),this.initRegularAttribute(\"color_range\",\"colorRange\"),this.initRegularAttribute(\"intensity\",\"intensity\"),this.initRegularAttribute(\"threshold\",\"threshold\"),this.initRegularAttribute(\"color_domain\",\"colorDomain\"),this.initRegularAttribute(\"aggregation\",\"aggregation\"),this.initRegularAttribute(\"weights_texture_size\",\"weightsTextureSize\"),this.initRegularAttribute(\"debounce_timeout\",\"debounceTimeout\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_weight\",\"getWeight\")}layerProps(){return{data:this.table,...Jt(this.radiusPixels)&&{radiusPixels:this.radiusPixels},...Jt(this.colorRange)&&{colorRange:this.colorRange},...Jt(this.intensity)&&{intensity:this.intensity},...Jt(this.threshold)&&{threshold:this.threshold},...Jt(this.colorDomain)&&{colorDomain:this.colorDomain},...Jt(this.aggregation)&&{aggregation:this.aggregation},...Jt(this.weightsTextureSize)&&{weightsTextureSize:this.weightsTextureSize},...Jt(this.debounceTimeout)&&{debounceTimeout:this.debounceTimeout},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getWeight)&&{getWeight:this.getWeight}}}render(){return new CS({...this.baseLayerProps(),...this.layerProps()})}},QS=class extends mf{static layerType=\"path\";widthUnits;widthScale;widthMinPixels;widthMaxPixels;jointRounded;capRounded;miterLimit;billboard;getColor;getWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initRegularAttribute(\"joint_rounded\",\"jointRounded\"),this.initRegularAttribute(\"cap_rounded\",\"capRounded\"),this.initRegularAttribute(\"miter_limit\",\"miterLimit\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\")}layerProps(){return{data:this.table,...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.jointRounded)&&{jointRounded:this.jointRounded},...Jt(this.capRounded)&&{capRounded:this.capRounded},...Jt(this.miterLimit)&&{miterLimit:this.miterLimit},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getWidth)&&{getWidth:this.getWidth}}}render(){return new e_({...this.baseLayerProps(),...this.layerProps()})}},sC=class extends mf{static layerType=\"point-cloud\";sizeUnits;pointSize;getColor;getNormal;constructor(t,r){super(t,r),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"point_size\",\"pointSize\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_normal\",\"getNormal\")}layerProps(){return{data:this.table,...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.pointSize)&&{pointSize:this.pointSize},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getNormal)&&{getNormal:this.getNormal}}}render(){return new LS({...this.baseLayerProps(),...this.layerProps()})}},oC=class extends mf{static layerType=\"polygon\";stroked;filled;extruded;wireframe;elevationScale;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;lineJointRounded;lineMiterLimit;getFillColor;getLineColor;getLineWidth;getElevation;constructor(t,r){super(t,r),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"line_joint_rounded\",\"lineJointRounded\"),this.initRegularAttribute(\"line_miter_limit\",\"lineMiterLimit\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\")}layerProps(){return{data:this.table,...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.lineJointRounded)&&{lineJointRounded:this.lineJointRounded},...Jt(this.lineMiterLimit)&&{lineMiterLimit:this.lineMiterLimit},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth},...Jt(this.getElevation)&&{getElevation:this.getElevation}}}render(){return new qS({...this.baseLayerProps(),...this.layerProps()})}},$S=class extends mf{static layerType=\"scatterplot\";radiusUnits;radiusScale;radiusMinPixels;radiusMaxPixels;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;stroked;filled;billboard;antialiasing;getRadius;getFillColor;getLineColor;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"radius_scale\",\"radiusScale\"),this.initRegularAttribute(\"radius_min_pixels\",\"radiusMinPixels\"),this.initRegularAttribute(\"radius_max_pixels\",\"radiusMaxPixels\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"antialiasing\",\"antialiasing\"),this.initVectorizedAccessor(\"get_radius\",\"getRadius\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.radiusScale)&&{radiusScale:this.radiusScale},...Jt(this.radiusMinPixels)&&{radiusMinPixels:this.radiusMinPixels},...Jt(this.radiusMaxPixels)&&{radiusMaxPixels:this.radiusMaxPixels},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.antialiasing)&&{antialiasing:this.antialiasing},...Jt(this.getRadius)&&{getRadius:this.getRadius},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new ZS({...this.baseLayerProps(),...this.layerProps()})}},XS=class extends mf{static layerType=\"solid-polygon\";filled;extruded;wireframe;elevationScale;getElevation;getFillColor;getLineColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\")}layerProps(){return{data:this.table,...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor}}}render(){return new o_({...this.baseLayerProps(),...this.layerProps()})}},aC=class extends mf{static layerType=\"text\";billboard;sizeScale;sizeUnits;sizeMinPixels;sizeMaxPixels;getBackgroundColor;getBorderColor;getBorderWidth;backgroundPadding;characterSet;fontFamily;fontWeight;lineHeight;outlineWidth;outlineColor;fontSettings;wordBreak;maxWidth;getText;getPosition;getColor;getSize;getAngle;getTextAnchor;getAlignmentBaseline;getPixelOffset;constructor(t,r){super(t,r),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"size_scale\",\"sizeScale\"),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"size_min_pixels\",\"sizeMinPixels\"),this.initRegularAttribute(\"size_max_pixels\",\"sizeMaxPixels\"),this.initRegularAttribute(\"background_padding\",\"backgroundPadding\"),this.initRegularAttribute(\"character_set\",\"characterSet\"),this.initRegularAttribute(\"font_family\",\"fontFamily\"),this.initRegularAttribute(\"font_weight\",\"fontWeight\"),this.initRegularAttribute(\"line_height\",\"lineHeight\"),this.initRegularAttribute(\"outline_width\",\"outlineWidth\"),this.initRegularAttribute(\"outline_color\",\"outlineColor\"),this.initRegularAttribute(\"font_settings\",\"fontSettings\"),this.initRegularAttribute(\"word_break\",\"wordBreak\"),this.initRegularAttribute(\"max_width\",\"maxWidth\"),this.initVectorizedAccessor(\"get_background_color\",\"getBackgroundColor\"),this.initVectorizedAccessor(\"get_border_color\",\"getBorderColor\"),this.initVectorizedAccessor(\"get_border_width\",\"getBorderWidth\"),this.initVectorizedAccessor(\"get_text\",\"getText\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_size\",\"getSize\"),this.initVectorizedAccessor(\"get_angle\",\"getAngle\"),this.initVectorizedAccessor(\"get_text_anchor\",\"getTextAnchor\"),this.initVectorizedAccessor(\"get_alignment_baseline\",\"getAlignmentBaseline\"),this.initVectorizedAccessor(\"get_pixel_offset\",\"getPixelOffset\")}layerProps(){return{data:this.table,getText:this.getText,...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.sizeScale)&&{sizeScale:this.sizeScale},...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.sizeMinPixels)&&{sizeMinPixels:this.sizeMinPixels},...Jt(this.sizeMaxPixels)&&{sizeMaxPixels:this.sizeMaxPixels},...Jt(this.backgroundPadding)&&{backgroundPadding:this.backgroundPadding},...Jt(this.characterSet)&&{characterSet:this.characterSet},...Jt(this.fontFamily)&&{fontFamily:this.fontFamily},...Jt(this.fontWeight)&&{fontWeight:this.fontWeight},...Jt(this.lineHeight)&&{lineHeight:this.lineHeight},...Jt(this.outlineWidth)&&{outlineWidth:this.outlineWidth},...Jt(this.outlineColor)&&{outlineColor:this.outlineColor},...Jt(this.fontSettings)&&{fontSettings:this.fontSettings},...Jt(this.wordBreak)&&{wordBreak:this.wordBreak},...Jt(this.maxWidth)&&{maxWidth:this.maxWidth},...Jt(this.getBackgroundColor)&&{getBackgroundColor:this.getBackgroundColor},...Jt(this.getBorderColor)&&{getBorderColor:this.getBorderColor},...Jt(this.getBorderWidth)&&{getBorderWidth:this.getBorderWidth},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getSize)&&{getSize:this.getSize},...Jt(this.getAngle)&&{getAngle:this.getAngle},...Jt(this.getTextAnchor)&&{getTextAnchor:this.getTextAnchor},...Jt(this.getAlignmentBaseline)&&{getAlignmentBaseline:this.getAlignmentBaseline},...Jt(this.getPixelOffset)&&{getPixelOffset:this.getPixelOffset}}}render(){return new YS({...this.baseLayerProps(),...this.layerProps()})}};async function DF(e,t){let r=e.get(\"_layer_type\"),i;switch(r){case tC.layerType:i=new tC(e,t);break;case eC.layerType:i=new eC(e,t);break;case rC.layerType:i=new rC(e,t);break;case iC.layerType:i=new iC(e,t);break;case nC.layerType:i=new nC(e,t);break;case QS.layerType:i=new QS(e,t);break;case sC.layerType:i=new sC(e,t);break;case oC.layerType:i=new oC(e,t);break;case $S.layerType:i=new $S(e,t);break;case XS.layerType:i=new XS(e,t);break;case aC.layerType:i=new aC(e,t);break;default:throw new Error(`no layer supported for ${r}`)}return await i.loadSubModels(),i}var lC=Symbol.for(\"rowIndex\");function U1t(e){return`\n \n ${Object.keys(e).map(t=>{let r=e[t];return`\n \n \n `}).join(\"\")}\n \n
${t}${r}
`}function FX({object:e}){if(e){if(e[lC]===null||e[lC]===void 0||e[lC]&&e[lC]<0)return null;let t=e.toJSON();return!t||(delete t.geometry,Object.keys(t).length===0)?null:{className:\"lonboard-tooltip\",html:U1t(t),style:{backgroundColor:\"#fff\",boxShadow:\"0 0 15px rgba(0, 0, 0, 0.1)\",color:\"#000\",padding:\"6px\"}}}return null}var cC,V1t=new Uint8Array(16);function OF(){if(!cC&&(cC=typeof crypto<\"u\"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!cC))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return cC(V1t)}var Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));function zX(e,t=0){return Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]}var j1t=typeof crypto<\"u\"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),BF={randomUUID:j1t};function G1t(e,t,r){if(BF.randomUUID&&!t&&!e)return BF.randomUUID();e=e||{};let i=e.random||(e.rng||OF)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let s=0;s<16;++s)t[r+s]=i[s];return t}return zX(i)}var FF=G1t;function NX(e,t){let{longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,curve:f,speed:_,screenSpeed:w}=e,I=new nv({...Jt(f)&&{curve:f},...Jt(_)&&{speed:_},...Jt(w)&&{screenSpeed:w}});t({longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,transitionInterpolator:I})}var uC=Ri(Yi(),1);var W1t=DH(e=>{let t=e.get(\"view_state\");\"transitionInterpolator\"in t&&(console.debug(\"Deleting transitionInterpolator!\"),delete t.transitionInterpolator,e.set(\"view_state\",t)),e.save_changes()},300);function UX(e){let t=Y1(),[r,i]=uC.useState(t.get(e));return uC.useEffect(()=>{let s=()=>{i(t.get(e))};return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),W1t(t)}]}await kH();var H1t={latitude:10,longitude:0,zoom:.5,bearing:0,pitch:0},q1t=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\";async function Z1t(e,t,r,i){let s={},n=()=>i(new Date);for(let o=0;o{switch(et.type){case\"fly-to\":NX(et,f);break;default:break}});let[_]=(0,a_.useState)(FF()),[w,I]=(0,a_.useState)({}),[R]=zA(\"layers\"),[N,j]=(0,a_.useState)(new Date);(0,a_.useEffect)(()=>{(async()=>{let Y=await L3(e.widget_manager,R),K=await Z1t(Y,R,w,j);I(K)})().catch(console.error)},[R]);let Q=[];for(let et of Object.values(w))Q.push(et.render());return(0,a_.useEffect)(()=>{if(r)return;let Y=document.getElementById(`map-${_}`)?.parentElement;if(Y){let K=window.getComputedStyle(Y);(!K.height||K.height===\"0px\")&&(Y.style.height=\"100%\",Y.style.minHeight=\"500px\")}},[]),hC.createElement(\"div\",{id:`map-${_}`,style:{height:r||\"100%\"}},hC.createElement(GD,{initialViewState:[\"longitude\",\"latitude\",\"zoom\"].every(et=>Object.keys(c).includes(et))?c:H1t,controller:!0,layers:Q,getTooltip:i&&FX,pickingRadius:s,useDevicePixels:Jt(n)?n:!0,_typedArrayManagerProps:{overAlloc:1,poolSize:0},onViewStateChange:et=>{let{viewState:Y}=et,{longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt}=Y;f({longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt})},parameters:o||{}},hC.createElement(iU,{mapStyle:t||q1t})))}var Q1t={render:j8(Y1t)},Che=Q1t;export{Che as default};\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nhammerjs/hammer.js:\n (*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license *)\n*/\n", + "_height": 800, + "_model_module": "anywidget", + "_model_module_version": "~0.9.*", + "_model_name": "AnyModel", + "_view_module": "anywidget", + "_view_module_version": "~0.9.*", + "_view_name": "AnyView", + "basemap_style": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json", + "layers": [ + "IPY_MODEL_a3c889ab8ec84265903724a103a2364c" + ], + "layout": "IPY_MODEL_0a27325539de4de7bb91db85f4ec5423", + "parameters": null, + "picking_radius": 5, + "show_tooltip": true, + "use_device_pixels": null, + "view_state": { + "bearing": 0, + "latitude": 39.12945538939195, + "longitude": -84.49807886250348, + "pitch": 0, + "zoom": 12 + } + } + }, + "128708f5f0844728ab497d5fb9bed108": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "12e39e92226d490b894852a07a8831a9": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "24673984bbbb4cb38b6d73a7f1a0b30b": { + "model_module": "@deck.gl/jupyter-widget", + "model_module_version": "2.0.0", + "model_name": "JupyterTransportModel", + "state": { + "_model_module": "@deck.gl/jupyter-widget", + "_model_name": "JupyterTransportModel", + "_view_name": "ErrorWidgetView", + "carto_key": "", + "configuration": null, + "custom_libraries": null, + "data_buffer": null, + "error": {}, + "google_maps_key": "", + "height": 500, + "json_input": "", + "layout": "IPY_MODEL_279f58bfb9af4349951bbb12a4f10204", + "mapbox_key": "", + "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", + "tooltip": true, + "width": "100%" + } + }, + "279f58bfb9af4349951bbb12a4f10204": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "46a3e993f7eb4dc580327f06e2cb56c8": { + "model_module": "@deck.gl/jupyter-widget", + "model_module_version": "2.0.0", + "model_name": "JupyterTransportModel", + "state": { + "_model_module": "@deck.gl/jupyter-widget", + "_model_name": "JupyterTransportModel", + "_view_name": "ErrorWidgetView", + "carto_key": "", + "configuration": null, + "custom_libraries": null, + "data_buffer": null, + "error": {}, + "google_maps_key": "", + "height": 500, + "json_input": "", + "layout": "IPY_MODEL_520eecf9c79849f1947ab252f5c61070", + "mapbox_key": "", + "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", + "tooltip": true, + "width": "100%" + } + }, + "4f4f515354c34373b3ea9910637608c6": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "520eecf9c79849f1947ab252f5c61070": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "7f6f46a979d44c298f14df8ed6133340": { + "model_module": "@deck.gl/jupyter-widget", + "model_module_version": "2.0.0", + "model_name": "JupyterTransportModel", + "state": { + "_model_module": "@deck.gl/jupyter-widget", + "_model_name": "JupyterTransportModel", + "_view_name": "ErrorWidgetView", + "carto_key": "", + "configuration": null, + "custom_libraries": null, + "data_buffer": null, + "error": {}, + "google_maps_key": "", + "height": 500, + "json_input": "", + "layout": "IPY_MODEL_128708f5f0844728ab497d5fb9bed108", + "mapbox_key": "", + "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", + "tooltip": true, + "width": "100%" + } + }, + "a3c889ab8ec84265903724a103a2364c": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "WidgetModel", + "state": { + "_layer_type": "polygon", + "_view_module": null, + "_view_module_version": "", + "auto_highlight": false, + "elevation_scale": null, + "extensions": [], + "extruded": null, + "filled": null, + "get_elevation": null, + "get_fill_color": [ + {} + ], + "get_line_color": null, + "get_line_width": null, + "line_joint_rounded": null, + "line_miter_limit": null, + "line_width_max_pixels": null, + "line_width_min_pixels": null, + "line_width_scale": null, + "line_width_units": null, + "opacity": 1, + "pickable": true, + "selected_index": null, + "stroked": null, + "table": [ + {} + ], + "visible": true, + "wireframe": null + } + }, + "ccea26a19c9e46a383aaa5c2bd26c0c0": { + "model_module": "@deck.gl/jupyter-widget", + "model_module_version": "2.0.0", + "model_name": "JupyterTransportModel", + "state": { + "_model_module": "@deck.gl/jupyter-widget", + "_model_name": "JupyterTransportModel", + "_view_name": "ErrorWidgetView", + "carto_key": "", + "configuration": null, + "custom_libraries": null, + "data_buffer": null, + "error": {}, + "google_maps_key": "", + "height": 500, + "json_input": "", + "layout": "IPY_MODEL_4f4f515354c34373b3ea9910637608c6", + "mapbox_key": "", + "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", + "tooltip": true, + "width": "100%" + } + } + }, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 60101a9b5e7bbf3488f40f3548d758148c464c75 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Wed, 24 Jul 2024 09:42:33 -0700 Subject: [PATCH 7/9] show inside array --- mapclassify/util.py | 7 - notebooks/08_manual_coloring.ipynb | 643 +++++++++++++++++++---------- 2 files changed, 424 insertions(+), 226 deletions(-) diff --git a/mapclassify/util.py b/mapclassify/util.py index 78b90b19..617e4919 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -43,13 +43,6 @@ def get_color_array( each row. If `as_hex` is True, the array is :math:`(n,1)` holding a hexcolor in each row. - Examples - --------- - - - - - """ try: import pandas as pd diff --git a/notebooks/08_manual_coloring.ipynb b/notebooks/08_manual_coloring.ipynb index 5259cac6..3459918c 100644 --- a/notebooks/08_manual_coloring.ipynb +++ b/notebooks/08_manual_coloring.ipynb @@ -6,11 +6,11 @@ "id": "1d5cebc1-08a5-4f67-94b0-3bdb849b820d", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:25.458093Z", - "iopub.status.busy": "2024-07-24T16:20:25.458000Z", - "iopub.status.idle": "2024-07-24T16:20:26.976531Z", - "shell.execute_reply": "2024-07-24T16:20:26.976141Z", - "shell.execute_reply.started": "2024-07-24T16:20:25.458083Z" + "iopub.execute_input": "2024-07-24T16:41:28.345149Z", + "iopub.status.busy": "2024-07-24T16:41:28.344705Z", + "iopub.status.idle": "2024-07-24T16:41:30.348486Z", + "shell.execute_reply": "2024-07-24T16:41:30.348097Z", + "shell.execute_reply.started": "2024-07-24T16:41:28.345108Z" } }, "outputs": [ @@ -21,8 +21,8 @@ "Author: eli knaap\n", "\n", "geodatasets: 2024.7.0\n", - "pandas : 2.1.4\n", "mapclassify: 2.7.1.dev0+gaf62513092fd.d20240723\n", + "pandas : 2.1.4\n", "geopandas : 0.14.2\n", "\n" ] @@ -44,11 +44,11 @@ "id": "8aa8876b-aafe-456b-895a-b34f7311746f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:26.977062Z", - "iopub.status.busy": "2024-07-24T16:20:26.976937Z", - "iopub.status.idle": "2024-07-24T16:20:27.779740Z", - "shell.execute_reply": "2024-07-24T16:20:27.779452Z", - "shell.execute_reply.started": "2024-07-24T16:20:26.977052Z" + "iopub.execute_input": "2024-07-24T16:41:30.349210Z", + "iopub.status.busy": "2024-07-24T16:41:30.349063Z", + "iopub.status.idle": "2024-07-24T16:41:31.144605Z", + "shell.execute_reply": "2024-07-24T16:41:31.144154Z", + "shell.execute_reply.started": "2024-07-24T16:41:30.349200Z" } }, "outputs": [], @@ -62,11 +62,11 @@ "id": "baa23e00-83ea-4962-90c5-695893d17f03", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:27.780487Z", - "iopub.status.busy": "2024-07-24T16:20:27.780222Z", - "iopub.status.idle": "2024-07-24T16:20:28.130018Z", - "shell.execute_reply": "2024-07-24T16:20:28.129725Z", - "shell.execute_reply.started": "2024-07-24T16:20:27.780469Z" + "iopub.execute_input": "2024-07-24T16:41:31.145250Z", + "iopub.status.busy": "2024-07-24T16:41:31.145149Z", + "iopub.status.idle": "2024-07-24T16:41:31.562224Z", + "shell.execute_reply": "2024-07-24T16:41:31.561906Z", + "shell.execute_reply.started": "2024-07-24T16:41:31.145240Z" } }, "outputs": [ @@ -104,14 +104,138 @@ { "cell_type": "code", "execution_count": 4, + "id": "bb6b3e10-4053-4b54-845e-d1fdea1fdc95", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:41:31.562860Z", + "iopub.status.busy": "2024-07-24T16:41:31.562698Z", + "iopub.status.idle": "2024-07-24T16:41:31.575427Z", + "shell.execute_reply": "2024-07-24T16:41:31.574786Z", + "shell.execute_reply.started": "2024-07-24T16:41:31.562850Z" + } + }, + "outputs": [], + "source": [ + "# get colors directly and pass them to geopandas\n", + "colors = get_color_array(df.DENSITY.values, scheme='quantiles', as_hex=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "545ce6dd-2b2a-42ad-989f-4efae3f46277", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:41:31.576035Z", + "iopub.status.busy": "2024-07-24T16:41:31.575937Z", + "iopub.status.idle": "2024-07-24T16:41:31.579986Z", + "shell.execute_reply": "2024-07-24T16:41:31.579570Z", + "shell.execute_reply.started": "2024-07-24T16:41:31.576024Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['#3a528b', '#20908c', '#3a528b', '#fde724', '#3a528b', '#20908c',\n", + " '#fde724', '#20908c', '#20908c', '#5ec961', '#20908c', '#fde724',\n", + " '#fde724', '#20908c', '#440154', '#fde724', '#fde724', '#5ec961',\n", + " '#fde724', '#fde724', '#3a528b', '#fde724', '#5ec961', '#fde724',\n", + " '#440154', '#20908c', '#3a528b', '#5ec961', '#20908c', '#20908c',\n", + " '#440154', '#5ec961', '#20908c', '#5ec961', '#440154', '#fde724',\n", + " '#fde724', '#5ec961', '#20908c', '#5ec961', '#3a528b', '#5ec961',\n", + " '#fde724', '#440154', '#20908c', '#20908c', '#20908c', '#3a528b',\n", + " '#3a528b', '#3a528b', '#fde724', '#440154', '#440154', '#3a528b',\n", + " '#440154', '#5ec961', '#20908c', '#20908c', '#440154', '#5ec961',\n", + " '#20908c', '#3a528b', '#5ec961', '#5ec961', '#5ec961', '#5ec961',\n", + " '#fde724', '#20908c', '#3a528b', '#3a528b', '#3a528b', '#3a528b',\n", + " '#3a528b', '#440154', '#20908c', '#440154', '#440154', '#3a528b',\n", + " '#20908c', '#440154', '#440154', '#440154', '#440154', '#440154',\n", + " '#440154', '#3a528b', '#440154', '#3a528b', '#5ec961', '#440154',\n", + " '#440154', '#440154', '#5ec961', '#3a528b', '#440154', '#fde724',\n", + " '#fde724', '#3a528b', '#20908c', '#440154', '#5ec961', '#440154',\n", + " '#20908c', '#20908c', '#fde724', '#fde724', '#20908c', '#3a528b',\n", + " '#20908c', '#fde724', '#20908c', '#440154', '#5ec961', '#20908c',\n", + " '#fde724', '#5ec961', '#fde724', '#20908c', '#3a528b', '#5ec961',\n", + " '#3a528b', '#440154', '#440154', '#440154', '#20908c', '#fde724',\n", + " '#5ec961', '#440154', '#20908c', '#3a528b', '#440154', '#5ec961',\n", + " '#440154', '#3a528b', '#3a528b', '#440154', '#fde724', '#440154',\n", + " '#20908c', '#fde724', '#20908c', '#fde724', '#fde724', '#440154',\n", + " '#fde724', '#440154', '#fde724', '#440154', '#20908c', '#440154',\n", + " '#440154', '#5ec961', '#fde724', '#fde724', '#5ec961', '#fde724',\n", + " '#440154', '#fde724', '#5ec961', '#3a528b', '#20908c', '#5ec961',\n", + " '#fde724', '#440154', '#20908c', '#20908c', '#5ec961', '#5ec961',\n", + " '#fde724', '#440154', '#3a528b', '#3a528b', '#fde724', '#5ec961',\n", + " '#440154', '#fde724', '#20908c', '#20908c', '#440154', '#440154',\n", + " '#3a528b', '#3a528b', '#3a528b', '#440154', '#440154', '#3a528b',\n", + " '#440154', '#440154', '#440154', '#440154', '#5ec961', '#440154',\n", + " '#3a528b', '#440154', '#fde724', '#3a528b', '#3a528b', '#fde724',\n", + " '#20908c', '#20908c', '#5ec961', '#5ec961', '#440154', '#3a528b',\n", + " '#3a528b', '#fde724', '#440154', '#20908c', '#440154', '#440154',\n", + " '#3a528b', '#20908c', '#20908c', '#3a528b', '#5ec961', '#5ec961',\n", + " '#20908c', '#3a528b', '#3a528b', '#3a528b', '#3a528b', '#3a528b',\n", + " '#3a528b', '#5ec961', '#3a528b', '#fde724', '#3a528b', '#fde724',\n", + " '#5ec961', '#fde724', '#fde724', '#20908c', '#440154', '#440154',\n", + " '#440154', '#440154', '#5ec961', '#fde724', '#5ec961', '#fde724',\n", + " '#fde724', '#440154', '#440154', '#5ec961', '#5ec961', '#5ec961',\n", + " '#5ec961', '#5ec961', '#fde724', '#440154', '#3a528b', '#3a528b',\n", + " '#3a528b', '#440154', '#3a528b', '#440154', '#440154', '#3a528b',\n", + " '#3a528b', '#3a528b', '#5ec961', '#fde724', '#20908c', '#20908c',\n", + " '#fde724', '#20908c', '#5ec961', '#440154', '#fde724', '#20908c',\n", + " '#3a528b', '#440154', '#3a528b', '#5ec961', '#5ec961', '#5ec961',\n", + " '#5ec961', '#20908c', '#20908c', '#fde724', '#5ec961', '#5ec961',\n", + " '#5ec961', '#5ec961', '#5ec961', '#20908c', '#20908c', '#5ec961',\n", + " '#fde724', '#5ec961', '#fde724', '#5ec961', '#5ec961', '#5ec961',\n", + " '#3a528b', '#440154', '#440154', '#fde724', '#5ec961', '#3a528b',\n", + " '#3a528b', '#440154', '#20908c', '#5ec961', '#20908c', '#20908c',\n", + " '#3a528b', '#3a528b', '#fde724', '#20908c', '#5ec961', '#440154',\n", + " '#3a528b', '#3a528b', '#fde724', '#fde724', '#440154', '#fde724',\n", + " '#fde724', '#5ec961', '#3a528b', '#20908c', '#3a528b', '#fde724',\n", + " '#440154', '#fde724', '#440154', '#440154', '#440154', '#3a528b',\n", + " '#440154', '#440154', '#3a528b', '#440154', '#20908c', '#3a528b',\n", + " '#fde724', '#440154', '#3a528b', '#440154', '#fde724', '#440154',\n", + " '#440154', '#3a528b', '#5ec961', '#20908c', '#3a528b', '#20908c',\n", + " '#3a528b', '#fde724', '#3a528b', '#fde724', '#20908c', '#fde724',\n", + " '#fde724', '#20908c', '#3a528b', '#20908c', '#fde724', '#fde724',\n", + " '#3a528b', '#20908c', '#5ec961', '#20908c', '#440154', '#3a528b',\n", + " '#5ec961', '#5ec961', '#3a528b', '#440154', '#20908c', '#3a528b',\n", + " '#20908c', '#440154', '#fde724', '#3a528b', '#20908c', '#3a528b',\n", + " '#5ec961', '#440154', '#20908c', '#fde724', '#20908c', '#5ec961',\n", + " '#fde724', '#fde724', '#20908c', '#fde724', '#fde724', '#fde724',\n", + " '#5ec961', '#20908c', '#3a528b', '#3a528b', '#5ec961', '#440154',\n", + " '#fde724', '#20908c', '#5ec961', '#fde724', '#5ec961', '#440154',\n", + " '#5ec961', '#fde724', '#5ec961', '#fde724', '#fde724', '#5ec961',\n", + " '#5ec961', '#20908c', '#fde724', '#20908c', '#3a528b', '#fde724',\n", + " '#fde724', '#fde724', '#3a528b', '#20908c', '#5ec961', '#3a528b',\n", + " '#5ec961', '#fde724', '#20908c', '#20908c', '#5ec961', '#fde724',\n", + " '#20908c', '#20908c', '#3a528b', '#5ec961', '#20908c', '#5ec961',\n", + " '#5ec961', '#5ec961', '#20908c', '#5ec961', '#20908c', '#5ec961',\n", + " '#5ec961', '#5ec961', '#20908c', '#20908c', '#20908c', '#fde724',\n", + " '#3a528b', '#5ec961', '#20908c', '#3a528b', '#fde724', '#fde724',\n", + " '#20908c', '#fde724', '#20908c', '#20908c', '#440154', '#5ec961',\n", + " '#3a528b'], dtype=object)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "colors" + ] + }, + { + "cell_type": "code", + "execution_count": 6, "id": "e45fcd62-a96a-4601-a355-783cd0323d32", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.130636Z", - "iopub.status.busy": "2024-07-24T16:20:28.130486Z", - "iopub.status.idle": "2024-07-24T16:20:28.240140Z", - "shell.execute_reply": "2024-07-24T16:20:28.239779Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.130626Z" + "iopub.execute_input": "2024-07-24T16:41:31.582848Z", + "iopub.status.busy": "2024-07-24T16:41:31.582564Z", + "iopub.status.idle": "2024-07-24T16:41:31.777748Z", + "shell.execute_reply": "2024-07-24T16:41:31.777305Z", + "shell.execute_reply.started": "2024-07-24T16:41:31.582830Z" } }, "outputs": [ @@ -121,7 +245,7 @@ "" ] }, - "execution_count": 4, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, @@ -142,8 +266,6 @@ } ], "source": [ - "# get colors directly and pass them to geopandas\n", - "colors = get_color_array(df.DENSITY.values, scheme='quantiles', as_hex=True)\n", "df.plot(color=colors)" ] }, @@ -157,15 +279,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "id": "adcc5cbd-fa95-40c9-9532-7ad9a4898ce4", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.240751Z", - "iopub.status.busy": "2024-07-24T16:20:28.240669Z", - "iopub.status.idle": "2024-07-24T16:20:28.460658Z", - "shell.execute_reply": "2024-07-24T16:20:28.460266Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.240742Z" + "iopub.execute_input": "2024-07-24T16:41:31.778529Z", + "iopub.status.busy": "2024-07-24T16:41:31.778425Z", + "iopub.status.idle": "2024-07-24T16:41:32.028176Z", + "shell.execute_reply": "2024-07-24T16:41:32.027739Z", + "shell.execute_reply.started": "2024-07-24T16:41:31.778519Z" } }, "outputs": [ @@ -199,7 +321,7 @@ " <meta name="viewport" content="width=device-width,\n", " initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n", " <style>\n", - " #map_f80614eb6911d39d6365fd2fc45c2f4f {\n", + " #map_733292c25dab552b9eb7ac5e694d14dc {\n", " position: relative;\n", " width: 100.0%;\n", " height: 100.0%;\n", @@ -229,14 +351,14 @@ "<body>\n", " \n", " \n", - " <div class="folium-map" id="map_f80614eb6911d39d6365fd2fc45c2f4f" ></div>\n", + " <div class="folium-map" id="map_733292c25dab552b9eb7ac5e694d14dc" ></div>\n", " \n", "</body>\n", "<script>\n", " \n", " \n", - " var map_f80614eb6911d39d6365fd2fc45c2f4f = L.map(\n", - " "map_f80614eb6911d39d6365fd2fc45c2f4f",\n", + " var map_733292c25dab552b9eb7ac5e694d14dc = L.map(\n", + " "map_733292c25dab552b9eb7ac5e694d14dc",\n", " {\n", " center: [39.133259999873154, -84.49529300046413],\n", " crs: L.CRS.EPSG3857,\n", @@ -245,28 +367,28 @@ " preferCanvas: false,\n", " }\n", " );\n", - " L.control.scale().addTo(map_f80614eb6911d39d6365fd2fc45c2f4f);\n", + " L.control.scale().addTo(map_733292c25dab552b9eb7ac5e694d14dc);\n", "\n", " \n", "\n", " \n", " \n", - " var tile_layer_109a2362b4c20b7d6c9265f1b0b08fa6 = L.tileLayer(\n", + " var tile_layer_62b31cb7f6da9c231663deb7c08dd8d3 = L.tileLayer(\n", " "https://tile.openstreetmap.org/{z}/{x}/{y}.png",\n", " {"attribution": "\\u0026copy; \\u003ca href=\\"https://www.openstreetmap.org/copyright\\"\\u003eOpenStreetMap\\u003c/a\\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}\n", " );\n", " \n", " \n", - " tile_layer_109a2362b4c20b7d6c9265f1b0b08fa6.addTo(map_f80614eb6911d39d6365fd2fc45c2f4f);\n", + " tile_layer_62b31cb7f6da9c231663deb7c08dd8d3.addTo(map_733292c25dab552b9eb7ac5e694d14dc);\n", " \n", " \n", - " map_f80614eb6911d39d6365fd2fc45c2f4f.fitBounds(\n", + " map_733292c25dab552b9eb7ac5e694d14dc.fitBounds(\n", " [[39.111059999875216, -84.53054400046031], [39.15545999987109, -84.46004200046795]],\n", " {}\n", " );\n", " \n", " \n", - " function geo_json_31a9c17b915c6c92224aa9698b8c984d_styler(feature) {\n", + " function geo_json_fd903d47616b570050e85cb36a0bb1cf_styler(feature) {\n", " switch(feature.id) {\n", " case "0": case "2": case "4": case "20": case "26": case "40": case "47": case "48": case "49": case "53": case "61": case "68": case "69": case "70": case "71": case "72": case "77": case "85": case "87": case "93": case "97": case "107": case "118": case "120": case "129": case "133": case "134": case "159": case "170": case "171": case "180": case "181": case "182": case "185": case "192": case "195": case "196": case "203": case "204": case "210": case "213": case "217": case "218": case "219": case "220": case "221": case "222": case "224": case "226": case "250": case "251": case "252": case "254": case "257": case "258": case "259": case "270": case "272": case "294": case "299": case "300": case "306": case "307": case "312": case "313": case "320": case "322": case "329": case "332": case "335": case "338": case "343": case "346": case "348": case "350": case "356": case "360": case "365": case "368": case "371": case "375": case "377": case "392": case "393": case "412": case "416": case "419": case "428": case "444": case "447": case "456": \n", " return {"color": "#3a528b", "fillColor": "#3a528b", "fillOpacity": 0.5, "weight": 2};\n", @@ -280,52 +402,52 @@ " return {"color": "#5ec961", "fillColor": "#5ec961", "fillOpacity": 0.5, "weight": 2};\n", " }\n", " }\n", - " function geo_json_31a9c17b915c6c92224aa9698b8c984d_highlighter(feature) {\n", + " function geo_json_fd903d47616b570050e85cb36a0bb1cf_highlighter(feature) {\n", " switch(feature.id) {\n", " default:\n", " return {"fillOpacity": 0.75};\n", " }\n", " }\n", - " function geo_json_31a9c17b915c6c92224aa9698b8c984d_pointToLayer(feature, latlng) {\n", + " function geo_json_fd903d47616b570050e85cb36a0bb1cf_pointToLayer(feature, latlng) {\n", " var opts = {"bubblingMouseEvents": true, "color": "#3388ff", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "#3388ff", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 2, "stroke": true, "weight": 3};\n", " \n", - " let style = geo_json_31a9c17b915c6c92224aa9698b8c984d_styler(feature)\n", + " let style = geo_json_fd903d47616b570050e85cb36a0bb1cf_styler(feature)\n", " Object.assign(opts, style)\n", " \n", " return new L.CircleMarker(latlng, opts)\n", " }\n", "\n", - " function geo_json_31a9c17b915c6c92224aa9698b8c984d_onEachFeature(feature, layer) {\n", + " function geo_json_fd903d47616b570050e85cb36a0bb1cf_onEachFeature(feature, layer) {\n", " layer.on({\n", " mouseout: function(e) {\n", " if(typeof e.target.setStyle === "function"){\n", - " geo_json_31a9c17b915c6c92224aa9698b8c984d.resetStyle(e.target);\n", + " geo_json_fd903d47616b570050e85cb36a0bb1cf.resetStyle(e.target);\n", " }\n", " },\n", " mouseover: function(e) {\n", " if(typeof e.target.setStyle === "function"){\n", - " const highlightStyle = geo_json_31a9c17b915c6c92224aa9698b8c984d_highlighter(e.target.feature)\n", + " const highlightStyle = geo_json_fd903d47616b570050e85cb36a0bb1cf_highlighter(e.target.feature)\n", " e.target.setStyle(highlightStyle);\n", " }\n", " },\n", " });\n", " };\n", - " var geo_json_31a9c17b915c6c92224aa9698b8c984d = L.geoJson(null, {\n", - " onEachFeature: geo_json_31a9c17b915c6c92224aa9698b8c984d_onEachFeature,\n", + " var geo_json_fd903d47616b570050e85cb36a0bb1cf = L.geoJson(null, {\n", + " onEachFeature: geo_json_fd903d47616b570050e85cb36a0bb1cf_onEachFeature,\n", " \n", - " style: geo_json_31a9c17b915c6c92224aa9698b8c984d_styler,\n", - " pointToLayer: geo_json_31a9c17b915c6c92224aa9698b8c984d_pointToLayer,\n", + " style: geo_json_fd903d47616b570050e85cb36a0bb1cf_styler,\n", + " pointToLayer: geo_json_fd903d47616b570050e85cb36a0bb1cf_pointToLayer,\n", " });\n", "\n", - " function geo_json_31a9c17b915c6c92224aa9698b8c984d_add (data) {\n", - " geo_json_31a9c17b915c6c92224aa9698b8c984d\n", + " function geo_json_fd903d47616b570050e85cb36a0bb1cf_add (data) {\n", + " geo_json_fd903d47616b570050e85cb36a0bb1cf\n", " .addData(data);\n", " }\n", - " geo_json_31a9c17b915c6c92224aa9698b8c984d_add({"bbox": [-84.53054400046031, 39.111059999875216, -84.46004200046795, 39.15545999987109], "features": [{"bbox": [-84.47864300046585, 39.120659999874455, -84.46864200046697, 39.12675999987392], "geometry": {"coordinates": [[[-84.47834300046591, 39.12445999987407], [-84.47774300046596, 39.12445999987407], [-84.47744300046601, 39.1243599998741], [-84.4766430004661, 39.1243599998741], [-84.47524300046624, 39.12455999987408], [-84.47394300046638, 39.12455999987409], [-84.47224300046658, 39.12535999987403], [-84.47194300046661, 39.12645999987392], [-84.47064200046675, 39.12615999987395], [-84.4703420004668, 39.12625999987395], [-84.46884200046696, 39.12675999987392], [-84.46864200046697, 39.1248599998741], [-84.47188800046659, 39.1234969998742], [-84.47603700046615, 39.12175399987434], [-84.47864300046585, 39.120659999874455], [-84.47854300046589, 39.12185999987432], [-84.47834300046591, 39.12445999987407]]], "type": "Polygon"}, "id": "0", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 9.0, "AGE_18": 459.0, "AGE_20_24": 32.0, "AGE_21": 453.0, "AGE_25_34": 60.0, "AGE_35_44": 53.0, "AGE_45_54": 64.0, "AGE_55_59": 34.0, "AGE_5_9": 6.0, "AGE_60_64": 38.0, "AGE_62": 197.0, "AGE_65": 174.0, "AGE_65_74": 90.0, "AGE_75_84": 62.0, "AGE_85": 22.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 439.0, "AREA": 0.09, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.45, "BG": "390610042002", "BLACK": 32.0, "BLOCK": "390610042002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5384.7901, "F1_RACE": 472.0, "F2_RACES": 7.0, "FEMALE": 258.0, "FEMALE_18": 246.0, "FEMALE_65": 100.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 105.0, "HH_NONFAMI": 225.0, "HOUSEHOLDS": 330.0, "HSNG_UNITS": 361.0, "HU_OCCUPIE": 330.0, "HU_VACANT": 31.0, "ID": 726907.0, "IN_HOUSEHO": 479.0, "MALE": 221.0, "MALE_18": 213.0, "MALE_65": 74.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 430.0, "NOT_HISPAN": 474.0, "OCCHU_OWNE": 245.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.46, "POPULATION": 479.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 433.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5082430004627, 39.12495999987392, -84.50554300046298, 39.126759999873755], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50554300046298, 39.12655999987377], [-84.50564300046297, 39.12495999987392], [-84.50604300046291, 39.125059999873905], [-84.50674300046285, 39.125459999873875], [-84.50824300046268, 39.12555999987385], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "1", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 54.0, "AGE_25_34": 13.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 4.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.73, "AVG_HHSIZE": 2.43, "BG": "390610022004", "BLACK": 66.0, "BLOCK": "390610022004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6643.1423, "F1_RACE": 82.0, "F2_RACES": 3.0, "FEMALE": 46.0, "FEMALE_18": 34.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 0.0, "ID": 695744.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 27.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.22, "POPULATION": 85.0, "RENTER_SIZ": 2.15, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12745999987367, -84.50624300046294, 39.12875999987356], "geometry": {"coordinates": [[[-84.50864300046265, 39.12745999987367], [-84.50844300046269, 39.12795999987365], [-84.50794300046275, 39.12845999987357], [-84.50784300046276, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50624300046294, 39.12865999987357], [-84.50644300046291, 39.12775999987366], [-84.5073430004628, 39.127859999873635], [-84.50864300046265, 39.12745999987367]]], "type": "Polygon"}, "id": "2", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 29.0, "AGE_20_24": 13.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.32, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4326.5018, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 2.0, "ID": 695762.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 29.0, "RENTER_SIZ": 1.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 15.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50564300046297, 39.12495999987392, -84.5045430004631, 39.126559999873784], "geometry": {"coordinates": [[[-84.50564300046297, 39.12495999987392], [-84.50554300046298, 39.12655999987377], [-84.5045430004631, 39.126559999873784], [-84.50474300046305, 39.12495999987392], [-84.50564300046297, 39.12495999987392]]], "type": "Polygon"}, "id": "3", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 17.0, "AGE_18": 78.0, "AGE_20_24": 12.0, "AGE_21": 70.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 4.0, "AGE_62": 6.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610022004", "BLACK": 103.0, "BLOCK": "390610022004002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20784.6991, "F1_RACE": 117.0, "F2_RACES": 0.0, "FEMALE": 58.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 9.0, "ID": 695780.0, "IN_HOUSEHO": 117.0, "MALE": 59.0, "MALE_18": 43.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.8, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 115.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.57, "POPULATION": 117.0, "RENTER_SIZ": 2.25, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12645999987379, -84.50314300046327, 39.128259999873634], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50864300046265, 39.12745999987367], [-84.5073430004628, 39.127859999873635], [-84.50644300046291, 39.12775999987366], [-84.50524300046303, 39.12775999987366], [-84.50454300046312, 39.12795999987365], [-84.50334300046325, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50314300046327, 39.12815999987364], [-84.50324300046324, 39.12735999987369], [-84.50334300046323, 39.12645999987379], [-84.5045430004631, 39.126559999873784], [-84.50554300046298, 39.12655999987377], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "4", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 90.0, "AGE_20_24": 28.0, "AGE_21": 84.0, "AGE_25_34": 44.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.41, "BG": "390610033001", "BLACK": 39.0, "BLOCK": "390610033001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4019.0506, "F1_RACE": 92.0, "F2_RACES": 4.0, "FEMALE": 45.0, "FEMALE_18": 40.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 1.0, "ID": 695798.0, "IN_HOUSEHO": 96.0, "MALE": 51.0, "MALE_18": 50.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 96.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 52.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50944300046258, 39.12865999987357, -84.50774300046278, 39.13005999987343], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.50774300046278, 39.12995999987345], [-84.50784300046276, 39.12865999987357], [-84.50870500046265, 39.12876799987356], [-84.50944300046258, 39.128859999873555], [-84.50934300046261, 39.13005999987343], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "5", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 41.0, "AGE_20_24": 14.0, "AGE_21": 38.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.88, "BG": "390610033002", "BLACK": 18.0, "BLOCK": "390610033002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5913.7961, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 695823.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 45.0, "RENTER_SIZ": 1.62, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5085430004627, 39.12995999987345, -84.5076430004628, 39.13125999987332], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.5084430004627, 39.131259999873315], [-84.5076430004628, 39.13125999987332], [-84.50774300046278, 39.12995999987345], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "6", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 14.0, "AGE_18": 61.0, "AGE_20_24": 29.0, "AGE_21": 38.0, "AGE_25_34": 8.0, "AGE_35_44": 6.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.31, "BG": "390610033002", "BLACK": 52.0, "BLOCK": "390610033002009", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21764.4799, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 42.0, "FEMALE_18": 32.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 11.0, "ID": 695843.0, "IN_HOUSEHO": 81.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 2.0, "MEDIAN_AGE": 20.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.33, "POPULATION": 81.0, "RENTER_SIZ": 2.52, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 24.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50784300046276, 39.12865999987357, -84.50704300046286, 39.12995999987345], "geometry": {"coordinates": [[[-84.50784300046276, 39.12865999987357], [-84.50774300046278, 39.12995999987345], [-84.50704300046286, 39.12995999987345], [-84.50714300046283, 39.12875999987356], [-84.50784300046276, 39.12865999987357]]], "type": "Polygon"}, "id": "7", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 19.0, "AGE_21": 27.0, "AGE_25_34": 4.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.13, "BG": "390610033002", "BLACK": 4.0, "BLOCK": "390610033002012", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9932.4581, "F1_RACE": 31.0, "F2_RACES": 1.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 695860.0, "IN_HOUSEHO": 32.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.7, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 32.0, "RENTER_SIZ": 2.08, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50714300046283, 39.12865999987357, -84.50614300046294, 39.12995999987345], "geometry": {"coordinates": [[[-84.50704300046286, 39.12995999987345], [-84.50614300046294, 39.129859999873474], [-84.50624300046294, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50704300046286, 39.12995999987345]]], "type": "Polygon"}, "id": "8", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 41.0, "AGE_20_24": 11.0, "AGE_21": 31.0, "AGE_25_34": 9.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.05, "BG": "390610033002", "BLACK": 2.0, "BLOCK": "390610033002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10157.3434, "F1_RACE": 39.0, "F2_RACES": 2.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 5.0, "ID": 695878.0, "IN_HOUSEHO": 41.0, "MALE": 27.0, "MALE_18": 27.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 41.0, "RENTER_SIZ": 2.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 37.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50774300046278, 39.129859999873474, -84.50604300046297, 39.13125999987332], "geometry": {"coordinates": [[[-84.50774300046278, 39.12995999987345], [-84.5076430004628, 39.13125999987332], [-84.50684300046287, 39.13125999987332], [-84.50604300046297, 39.13115999987337], [-84.50604300046297, 39.130959999873355], [-84.50614300046294, 39.129859999873474], [-84.50704300046286, 39.12995999987345], [-84.50774300046278, 39.12995999987345]]], "type": "Polygon"}, "id": "9", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 12.0, "AGE_18": 72.0, "AGE_20_24": 26.0, "AGE_21": 58.0, "AGE_25_34": 12.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 1.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.07, "BG": "390610033002", "BLACK": 49.0, "BLOCK": "390610033002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11417.4899, "F1_RACE": 83.0, "F2_RACES": 6.0, "FEMALE": 56.0, "FEMALE_18": 43.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 1.0, "ID": 695895.0, "IN_HOUSEHO": 89.0, "MALE": 33.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.6, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 89.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 89.0, "RENTER_SIZ": 3.61, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.131259999873315, -84.50744300046281, 39.13255999987321], "geometry": {"coordinates": [[[-84.5084430004627, 39.131259999873315], [-84.50844300046272, 39.13255999987321], [-84.50744300046281, 39.13245999987321], [-84.5076430004628, 39.13125999987332], [-84.5084430004627, 39.131259999873315]]], "type": "Polygon"}, "id": "10", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 40.0, "AGE_20_24": 21.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.21, "BG": "390610033002", "BLACK": 20.0, "BLOCK": "390610033002002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10037.174, "F1_RACE": 41.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 6.0, "ID": 695916.0, "IN_HOUSEHO": 42.0, "MALE": 30.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 42.0, "RENTER_SIZ": 2.12, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 19.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5076430004628, 39.13125999987332, -84.5066430004629, 39.13245999987321], "geometry": {"coordinates": [[[-84.5076430004628, 39.13125999987332], [-84.50744300046281, 39.13245999987321], [-84.5066430004629, 39.13245999987321], [-84.50684300046287, 39.13125999987332], [-84.5076430004628, 39.13125999987332]]], "type": "Polygon"}, "id": "11", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 59.0, "AGE_20_24": 36.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 6.0, "AP_WHITE": 41.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.27, "BG": "390610033002", "BLACK": 19.0, "BLOCK": "390610033002001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19128.3583, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 23.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 695934.0, "IN_HOUSEHO": 68.0, "MALE": 45.0, "MALE_18": 41.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 65.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.5, "POPULATION": 68.0, "RENTER_SIZ": 2.32, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50744300046281, 39.13245999987321, -84.50654300046293, 39.133859999873096], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50654300046293, 39.13375999987311], [-84.5066430004629, 39.13245999987321], [-84.50744300046281, 39.13245999987321], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "12", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 80.0, "AGE_20_24": 46.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 49.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.91, "BG": "390610032002", "BLACK": 48.0, "BLOCK": "390610032002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24640.7769, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 28.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 8.0, "ID": 695951.0, "IN_HOUSEHO": 99.0, "MALE": 61.0, "MALE_18": 52.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 49.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 99.0, "RENTER_SIZ": 3.59, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 49.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50644300046291, 39.12775999987366, -84.50424300046318, 39.130959999873355], "geometry": {"coordinates": [[[-84.50614300046294, 39.129859999873474], [-84.50604300046297, 39.130959999873355], [-84.50514300046305, 39.130959999873355], [-84.50424300046318, 39.13085999987339], [-84.50454300046312, 39.12795999987365], [-84.50524300046303, 39.12775999987366], [-84.50644300046291, 39.12775999987366], [-84.50624300046294, 39.12865999987357], [-84.50614300046294, 39.129859999873474]]], "type": "Polygon"}, "id": "13", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 15.0, "AGE_15_19": 15.0, "AGE_18": 147.0, "AGE_20_24": 37.0, "AGE_21": 127.0, "AGE_25_34": 39.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 12.0, "AP_WHITE": 86.0, "AREA": 0.02, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.06, "AVG_HHSIZE": 2.29, "BG": "390610033001", "BLACK": 81.0, "BLOCK": "390610033001008", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8786.3934, "F1_RACE": 177.0, "F2_RACES": 7.0, "FEMALE": 80.0, "FEMALE_18": 61.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 18.0, "ID": 695969.0, "IN_HOUSEHO": 179.0, "MALE": 104.0, "MALE_18": 86.0, "MALE_65": 5.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 82.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 55.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 2.74, "POPULATION": 184.0, "RENTER_SIZ": 2.11, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 83.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50684300046287, 39.13115999987337, -84.505843000463, 39.13245999987322], "geometry": {"coordinates": [[[-84.50684300046287, 39.13125999987332], [-84.5066430004629, 39.13245999987321], [-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13175999987331], [-84.50604300046297, 39.13115999987337], [-84.50684300046287, 39.13125999987332]]], "type": "Polygon"}, "id": "14", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 695990.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5066430004629, 39.13245999987321, -84.50574300046303, 39.13375999987311], "geometry": {"coordinates": [[[-84.50654300046293, 39.13375999987311], [-84.50574300046303, 39.1336599998731], [-84.505843000463, 39.13315999987314], [-84.505843000463, 39.13245999987322], [-84.5066430004629, 39.13245999987321], [-84.50654300046293, 39.13375999987311]]], "type": "Polygon"}, "id": "15", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 30.0, "AGE_21": 49.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 33.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.3, "BG": "390610032002", "BLACK": 26.0, "BLOCK": "390610032002010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17261.0752, "F1_RACE": 62.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 696008.0, "IN_HOUSEHO": 62.0, "MALE": 38.0, "MALE_18": 30.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 62.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.86, "POPULATION": 62.0, "RENTER_SIZ": 2.45, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 33.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50604300046297, 39.130959999873355, -84.50504300046309, 39.13175999987331], "geometry": {"coordinates": [[[-84.50604300046297, 39.13115999987337], [-84.505843000463, 39.13175999987331], [-84.50504300046309, 39.131659999873285], [-84.50514300046305, 39.130959999873355], [-84.50604300046297, 39.130959999873355], [-84.50604300046297, 39.13115999987337]]], "type": "Polygon"}, "id": "16", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 27.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 7.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.82, "AVG_HHSIZE": 2.5, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16243.4072, "F1_RACE": 39.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 18.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 696027.0, "IN_HOUSEHO": 40.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 40.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.131659999873285, -84.50504300046309, 39.13245999987322], "geometry": {"coordinates": [[[-84.505843000463, 39.13175999987331], [-84.505843000463, 39.13245999987322], [-84.50504300046309, 39.13235999987324], [-84.50504300046309, 39.131659999873285], [-84.505843000463, 39.13175999987331]]], "type": "Polygon"}, "id": "17", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 11.0, "AGE_21": 19.0, "AGE_25_34": 11.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.53, "BG": "390610033001", "BLACK": 6.0, "BLOCK": "390610033001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11091.2573, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 696046.0, "IN_HOUSEHO": 23.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 23.0, "RENTER_SIZ": 1.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50514300046305, 39.13085999987339, -84.50424300046318, 39.131659999873285], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50424300046318, 39.13155999987331], [-84.50424300046318, 39.13085999987339], [-84.50514300046305, 39.130959999873355], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "18", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 36.0, "AGE_20_24": 10.0, "AGE_21": 33.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.96, "BG": "390610033001", "BLACK": 28.0, "BLOCK": "390610033001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20253.2817, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 20.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 5.0, "ID": 696063.0, "IN_HOUSEHO": 45.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.95, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13155999987331, -84.50414300046317, 39.13235999987324], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50504300046309, 39.13235999987324], [-84.50414300046317, 39.13225999987324], [-84.50424300046318, 39.13155999987331], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "19", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 54.0, "AGE_20_24": 22.0, "AGE_21": 43.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.22, "BG": "390610033001", "BLACK": 33.0, "BLOCK": "390610033001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 26104.6528, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 696081.0, "IN_HOUSEHO": 58.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 58.0, "RENTER_SIZ": 2.71, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13235999987324, -84.5049430004631, 39.13315999987314], "geometry": {"coordinates": [[[-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13315999987314], [-84.5049430004631, 39.13305999987318], [-84.50504300046309, 39.13235999987324], [-84.505843000463, 39.13245999987322]]], "type": "Polygon"}, "id": "20", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 3.0, "BG": "390610032002", "BLACK": 12.0, "BLOCK": "390610032002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5400.9967, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 696098.0, "IN_HOUSEHO": 12.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 12.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.12485999987395, -84.50334300046323, 39.126559999873784], "geometry": {"coordinates": [[[-84.5045430004631, 39.126559999873784], [-84.50334300046323, 39.12645999987379], [-84.5034430004632, 39.12485999987395], [-84.50474300046305, 39.12495999987392], [-84.5045430004631, 39.126559999873784]]], "type": "Polygon"}, "id": "21", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 112.0, "AGE_20_24": 33.0, "AGE_21": 96.0, "AGE_25_34": 27.0, "AGE_35_44": 18.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 57.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.39, "BG": "390610022004", "BLACK": 61.0, "BLOCK": "390610022004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16616.8953, "F1_RACE": 120.0, "F2_RACES": 4.0, "FEMALE": 44.0, "FEMALE_18": 35.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 16.0, "ID": 696116.0, "IN_HOUSEHO": 124.0, "MALE": 80.0, "MALE_18": 77.0, "MALE_65": 4.0, "MEDIAN_AGE": 26.3, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 80.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 124.0, "RENTER_SIZ": 1.33, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 54.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12485999987395, -84.5025430004633, 39.12645999987379], "geometry": {"coordinates": [[[-84.5034430004632, 39.12485999987395], [-84.50334300046323, 39.12645999987379], [-84.50254300046332, 39.126359999873785], [-84.5025430004633, 39.12485999987396], [-84.5034430004632, 39.12485999987395]]], "type": "Polygon"}, "id": "22", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 1.0, "AGE_35_44": 15.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 7.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.77, "AVG_HHSIZE": 2.04, "BG": "390610022004", "BLACK": 52.0, "BLOCK": "390610022004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10841.8176, "F1_RACE": 52.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 23.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 13.0, "ID": 696133.0, "IN_HOUSEHO": 53.0, "MALE": 23.0, "MALE_18": 17.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.88, "POPULATION": 53.0, "RENTER_SIZ": 1.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50334300046323, 39.126359999873785, -84.5017430004634, 39.12735999987369], "geometry": {"coordinates": [[[-84.50334300046323, 39.12645999987379], [-84.50324300046324, 39.12735999987369], [-84.5018430004634, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.50254300046332, 39.126359999873785], [-84.50334300046323, 39.12645999987379]]], "type": "Polygon"}, "id": "23", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 216.0, "AGE_20_24": 46.0, "AGE_21": 198.0, "AGE_25_34": 53.0, "AGE_35_44": 36.0, "AGE_45_54": 34.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 31.0, "AGE_65": 28.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 11.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 88.0, "AREA": 0.01, "ASIAN": 11.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.26, "BG": "390610033001", "BLACK": 124.0, "BLOCK": "390610033001013", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 43709.5862, "F1_RACE": 218.0, "F2_RACES": 7.0, "FEMALE": 118.0, "FEMALE_18": 112.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 158.0, "HOUSEHOLDS": 178.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 178.0, "HU_VACANT": 15.0, "ID": 696151.0, "IN_HOUSEHO": 225.0, "MALE": 107.0, "MALE_18": 104.0, "MALE_65": 14.0, "MEDIAN_AGE": 34.2, "MSA": "1640", "NH_WHITE": 81.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 178.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 225.0, "RENTER_SIZ": 1.26, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 82.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50254300046332, 39.12475999987396, -84.50174300046339, 39.126359999873806], "geometry": {"coordinates": [[[-84.5025430004633, 39.12485999987396], [-84.50254300046332, 39.126359999873785], [-84.5017430004634, 39.126359999873806], [-84.50194300046337, 39.125159999873944], [-84.50174300046339, 39.12475999987396], [-84.5025430004633, 39.12485999987396]]], "type": "Polygon"}, "id": "24", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610022001", "BLACK": 0.0, "BLOCK": "390610022001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 696169.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51354400046225, 39.14475999987204, -84.51184400046245, 39.14605999987192], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51184400046245, 39.14585999987196], [-84.51194400046242, 39.14475999987204], [-84.51224400046239, 39.14475999987204], [-84.5132440004623, 39.145059999872046], [-84.51354400046225, 39.145259999872], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "25", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 45.0, "AGE_25_34": 5.0, "AGE_35_44": 15.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.91, "AVG_HHSIZE": 1.93, "BG": "390610069003", "BLACK": 53.0, "BLOCK": "390610069003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9139.2801, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 2.0, "ID": 687545.0, "IN_HOUSEHO": 56.0, "MALE": 28.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 43.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.77, "POPULATION": 56.0, "RENTER_SIZ": 2.06, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51254400046238, 39.14205999987235, -84.50534300046313, 39.14955999987163], "geometry": {"coordinates": [[[-84.51254400046238, 39.1475599998718], [-84.51194400046245, 39.14875999987168], [-84.51114400046254, 39.14955999987163], [-84.5106440004626, 39.14925999987166], [-84.51034400046261, 39.14905999987166], [-84.5096440004627, 39.148759999871686], [-84.50884400046277, 39.14805999987176], [-84.50834400046283, 39.147259999871835], [-84.50714400046296, 39.14655999987191], [-84.50644400046303, 39.146459999871915], [-84.50544300046313, 39.14645999987191], [-84.50534300046313, 39.14555999987203], [-84.5055430004631, 39.143859999872156], [-84.50564300046308, 39.142959999872254], [-84.50574300046307, 39.14205999987235], [-84.5092440004627, 39.142259999872316], [-84.50984400046265, 39.14275999987224], [-84.5101440004626, 39.14305999987221], [-84.51194400046242, 39.14475999987204], [-84.51184400046245, 39.14585999987196], [-84.51164500046248, 39.14754799987178], [-84.51164400046247, 39.1475599998718], [-84.51254400046238, 39.1475599998718]]], "type": "Polygon"}, "id": "26", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 21.0, "AGE_18": 152.0, "AGE_20_24": 12.0, "AGE_21": 148.0, "AGE_25_34": 28.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 11.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 35.0, "AGE_65": 32.0, "AGE_65_74": 18.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 207.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.12, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.61, "BG": "390610069003", "BLACK": 207.0, "BLOCK": "390610069003000", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1820.1248, "F1_RACE": 222.0, "F2_RACES": 0.0, "FEMALE": 122.0, "FEMALE_18": 91.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 85.0, "HSNG_UNITS": 109.0, "HU_OCCUPIE": 85.0, "HU_VACANT": 24.0, "ID": 687585.0, "IN_HOUSEHO": 222.0, "MALE": 100.0, "MALE_18": 61.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 221.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.35, "POPULATION": 222.0, "RENTER_SIZ": 2.88, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51334400046228, 39.14585999987196, -84.51164400046247, 39.1475599998718], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51264400046237, 39.14735999987182], [-84.51254400046238, 39.1475599998718], [-84.51164400046247, 39.1475599998718], [-84.51164500046248, 39.14754799987178], [-84.51184400046245, 39.14585999987196], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "27", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 11.0, "AGE_15_19": 15.0, "AGE_18": 64.0, "AGE_20_24": 6.0, "AGE_21": 55.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 15.0, "AGE_55_59": 4.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.75, "BG": "390610069003", "BLACK": 94.0, "BLOCK": "390610069003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13605.8656, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 56.0, "FEMALE_18": 39.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 5.0, "ID": 687621.0, "IN_HOUSEHO": 99.0, "MALE": 43.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.04, "POPULATION": 99.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51114400046254, 39.148759999871686, -84.5088440004628, 39.151459999871456], "geometry": {"coordinates": [[[-84.5106440004626, 39.14925999987166], [-84.51114400046254, 39.14955999987163], [-84.51058400046261, 39.15017099987156], [-84.51004400046266, 39.150759999871525], [-84.50924400046277, 39.151459999871456], [-84.5088440004628, 39.15095999987151], [-84.50924400046276, 39.150759999871525], [-84.5096440004627, 39.148759999871686], [-84.51034400046261, 39.14905999987166], [-84.5106440004626, 39.14925999987166]]], "type": "Polygon"}, "id": "28", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 7.0, "AGE_55_59": 5.0, "AGE_5_9": 10.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.13, "BG": "390610069004", "BLACK": 70.0, "BLOCK": "390610069004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7451.3647, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 25.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 687678.0, "IN_HOUSEHO": 72.0, "MALE": 32.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 72.0, "RENTER_SIZ": 4.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.53054400046031, 39.129559999873415, -84.52194400046125, 39.13445999987294], "geometry": {"coordinates": [[[-84.52954400046043, 39.13215999987317], [-84.52784400046063, 39.13295999987308], [-84.52654400046077, 39.13375999987302], [-84.52644400046078, 39.133959999872985], [-84.5264440004608, 39.13445999987294], [-84.524462000461, 39.13436999987297], [-84.52424400046101, 39.13435999987296], [-84.52284400046116, 39.13435999987296], [-84.52294400046114, 39.13295999987311], [-84.52301200046112, 39.1321479998732], [-84.52304400046114, 39.131759999873225], [-84.52194400046125, 39.13165999987322], [-84.52234400046119, 39.129559999873415], [-84.52374400046105, 39.129659999873425], [-84.52444400046097, 39.129659999873425], [-84.52534400046086, 39.12975999987339], [-84.5259440004608, 39.12975999987339], [-84.52674400046072, 39.12985999987338], [-84.5269440004607, 39.12985999987338], [-84.5279120004606, 39.129940999873355], [-84.53054400046031, 39.130159999873335], [-84.53034400046035, 39.13085999987328], [-84.5279440004606, 39.1307599998733], [-84.52774400046063, 39.132059999873164], [-84.52794400046061, 39.13195999987317], [-84.52954400046043, 39.13215999987317]]], "type": "Polygon"}, "id": "29", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 61.0, "AGE_18": 624.0, "AGE_20_24": 272.0, "AGE_21": 520.0, "AGE_25_34": 128.0, "AGE_35_44": 59.0, "AGE_45_54": 58.0, "AGE_55_59": 12.0, "AGE_5_9": 14.0, "AGE_60_64": 11.0, "AGE_62": 52.0, "AGE_65": 44.0, "AGE_65_74": 23.0, "AGE_75_84": 14.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 25.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 590.0, "AREA": 0.1, "ASIAN": 23.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.76, "BG": "390610029003", "BLACK": 69.0, "BLOCK": "390610029003000", "BURGLARY": 10, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7170.8735, "F1_RACE": 666.0, "F2_RACES": 22.0, "FEMALE": 284.0, "FEMALE_18": 250.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 119.0, "GROUP_QUAR": 119.0, "HAWAIIAN": 0.0, "HH_FAMILY": 73.0, "HH_NONFAMI": 250.0, "HOUSEHOLDS": 323.0, "HSNG_UNITS": 358.0, "HU_OCCUPIE": 323.0, "HU_VACANT": 35.0, "ID": 677316.0, "IN_HOUSEHO": 569.0, "MALE": 404.0, "MALE_18": 374.0, "MALE_65": 16.0, "MEDIAN_AGE": 24.1, "MSA": "1640", "NH_WHITE": 570.0, "NOT_HISPAN": 684.0, "OCCHU_OWNE": 74.0, "OCCHU_RENT": 249.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.93, "POPULATION": 688.0, "RENTER_SIZ": 1.71, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 572.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12385999987407, -84.49054300046461, 39.12485999987399], "geometry": {"coordinates": [[[-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12485999987399], [-84.49054300046461, 39.12475999987402], [-84.49094300046455, 39.12395999987406], [-84.49114300046453, 39.12385999987407], [-84.49114300046453, 39.12445999987403]]], "type": "Polygon"}, "id": "30", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 750.053, "F1_RACE": 0.0, "F2_RACES": 1.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 673099.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48994300046463, 39.11995999987445, -84.48814300046483, 39.121959999874264], "geometry": {"coordinates": [[[-84.48984300046465, 39.12095999987435], [-84.48974300046466, 39.121959999874264], [-84.48814300046483, 39.121859999874275], [-84.48814300046483, 39.1216599998743], [-84.4883430004648, 39.119959999874474], [-84.48994300046463, 39.11995999987445], [-84.48984300046465, 39.12095999987435]]], "type": "Polygon"}, "id": "31", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 105.0, "AGE_20_24": 7.0, "AGE_21": 101.0, "AGE_25_34": 36.0, "AGE_35_44": 23.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 5.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 67.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 62.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.86, "BG": "390610019001", "BLACK": 67.0, "BLOCK": "390610019001005", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11143.0829, "F1_RACE": 128.0, "F2_RACES": 2.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 14.0, "ID": 673118.0, "IN_HOUSEHO": 130.0, "MALE": 67.0, "MALE_18": 57.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 60.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.88, "POPULATION": 130.0, "RENTER_SIZ": 1.85, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 60.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49134300046451, 39.12315999987414, -84.48914300046475, 39.12495999987399], "geometry": {"coordinates": [[[-84.48964300046468, 39.12315999987414], [-84.49134300046451, 39.12325999987412], [-84.49094300046455, 39.12395999987406], [-84.49054300046461, 39.12475999987402], [-84.49044300046461, 39.12495999987399], [-84.48914300046475, 39.124859999874], [-84.48914300046475, 39.123859999874085], [-84.48964300046468, 39.12315999987414]]], "type": "Polygon"}, "id": "32", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 63.0, "AGE_20_24": 2.0, "AGE_21": 63.0, "AGE_25_34": 6.0, "AGE_35_44": 15.0, "AGE_45_54": 20.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 61.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.33, "BG": "390610019001", "BLACK": 61.0, "BLOCK": "390610019001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6453.8469, "F1_RACE": 67.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 7.0, "ID": 673138.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 37.0, "MALE_65": 8.0, "MEDIAN_AGE": 48.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 68.0, "RENTER_SIZ": 1.17, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48974300046466, 39.121859999874275, -84.48784300046489, 39.124859999874026], "geometry": {"coordinates": [[[-84.48974300046466, 39.121959999874264], [-84.48964300046468, 39.12315999987414], [-84.48914300046475, 39.123859999874085], [-84.48914300046475, 39.124859999874], [-84.48784300046489, 39.124859999874026], [-84.48784300046489, 39.12445999987403], [-84.48814300046483, 39.121859999874275], [-84.48974300046466, 39.121959999874264]]], "type": "Polygon"}, "id": "33", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 13.0, "AGE_15_19": 0.0, "AGE_18": 166.0, "AGE_20_24": 13.0, "AGE_21": 162.0, "AGE_25_34": 39.0, "AGE_35_44": 39.0, "AGE_45_54": 37.0, "AGE_55_59": 10.0, "AGE_5_9": 5.0, "AGE_60_64": 11.0, "AGE_62": 24.0, "AGE_65": 17.0, "AGE_65_74": 11.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 124.0, "AP_HAWAIIA": 9.0, "AP_HISPANI": 1.0, "AP_OTHER": 8.0, "AP_WHITE": 57.0, "AREA": 0.02, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.52, "BG": "390610019001", "BLACK": 122.0, "BLOCK": "390610019001002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11986.7841, "F1_RACE": 182.0, "F2_RACES": 10.0, "FEMALE": 90.0, "FEMALE_18": 78.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 1.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 99.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 9.0, "ID": 673157.0, "IN_HOUSEHO": 186.0, "MALE": 102.0, "MALE_18": 88.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 99.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.04, "POPULATION": 192.0, "RENTER_SIZ": 1.4, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 55.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11755999987469, -84.48694300046495, 39.119959999874474], "geometry": {"coordinates": [[[-84.48804300046481, 39.11755999987469], [-84.48794300046484, 39.11825999987461], [-84.48784300046485, 39.118759999874584], [-84.4883430004648, 39.119959999874474], [-84.48694300046495, 39.11915999987453], [-84.48744300046488, 39.11825999987463], [-84.48804300046481, 39.11755999987469]]], "type": "Polygon"}, "id": "34", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 673193.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11915999987453, -84.48654300046502, 39.1216599998743], "geometry": {"coordinates": [[[-84.4883430004648, 39.119959999874474], [-84.48814300046483, 39.1216599998743], [-84.48654300046502, 39.1215599998743], [-84.486643000465, 39.11975999987448], [-84.48694300046495, 39.11915999987453], [-84.4883430004648, 39.119959999874474]]], "type": "Polygon"}, "id": "35", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 217.0, "AGE_20_24": 35.0, "AGE_21": 208.0, "AGE_25_34": 72.0, "AGE_35_44": 29.0, "AGE_45_54": 21.0, "AGE_55_59": 9.0, "AGE_5_9": 2.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 39.0, "AGE_65_74": 9.0, "AGE_75_84": 15.0, "AGE_85": 15.0, "AMINDIAN": 2.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 2.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 3.0, "AP_WHITE": 163.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.48, "BG": "390610020002", "BLACK": 59.0, "BLOCK": "390610020002006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18000.3183, "F1_RACE": 225.0, "F2_RACES": 5.0, "FEMALE": 119.0, "FEMALE_18": 111.0, "FEMALE_65": 24.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 29.0, "HH_NONFAMI": 101.0, "HOUSEHOLDS": 130.0, "HSNG_UNITS": 140.0, "HU_OCCUPIE": 130.0, "HU_VACANT": 10.0, "ID": 673212.0, "IN_HOUSEHO": 192.0, "MALE": 111.0, "MALE_18": 106.0, "MALE_65": 15.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 160.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 32.0, "OCCHU_RENT": 98.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.84, "POPULATION": 230.0, "RENTER_SIZ": 1.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 160.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48694300046495, 39.118459999874595, -84.48474300046519, 39.120659999874405], "geometry": {"coordinates": [[[-84.48694300046495, 39.11915999987453], [-84.486643000465, 39.11975999987448], [-84.48564300046509, 39.11975999987448], [-84.48544300046511, 39.11985999987447], [-84.48514300046514, 39.120659999874405], [-84.48474300046519, 39.11995999987449], [-84.48474300046519, 39.119159999874555], [-84.48534300046512, 39.11865999987457], [-84.48555500046508, 39.118617999874594], [-84.486343000465, 39.118459999874595], [-84.48694300046495, 39.11915999987453]]], "type": "Polygon"}, "id": "36", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 219.0, "AGE_20_24": 6.0, "AGE_21": 218.0, "AGE_25_34": 15.0, "AGE_35_44": 15.0, "AGE_45_54": 37.0, "AGE_55_59": 15.0, "AGE_5_9": 1.0, "AGE_60_64": 13.0, "AGE_62": 125.0, "AGE_65": 118.0, "AGE_65_74": 46.0, "AGE_75_84": 58.0, "AGE_85": 14.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 197.0, "AREA": 0.01, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.27, "BG": "390610020002", "BLACK": 18.0, "BLOCK": "390610020002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23114.5895, "F1_RACE": 220.0, "F2_RACES": 0.0, "FEMALE": 118.0, "FEMALE_18": 118.0, "FEMALE_65": 68.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 135.0, "HOUSEHOLDS": 173.0, "HSNG_UNITS": 188.0, "HU_OCCUPIE": 173.0, "HU_VACANT": 15.0, "ID": 673231.0, "IN_HOUSEHO": 220.0, "MALE": 102.0, "MALE_18": 101.0, "MALE_65": 50.0, "MEDIAN_AGE": 68.3, "MSA": "1640", "NH_WHITE": 197.0, "NOT_HISPAN": 220.0, "OCCHU_OWNE": 24.0, "OCCHU_RENT": 149.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.46, "POPULATION": 220.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 197.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.486643000465, 39.11975999987448, -84.48514300046514, 39.12225999987424], "geometry": {"coordinates": [[[-84.48654300046502, 39.1215599998743], [-84.48644300046502, 39.12225999987424], [-84.48614300046505, 39.12215999987426], [-84.48514300046514, 39.121059999874355], [-84.48514300046514, 39.120659999874405], [-84.48544300046511, 39.11985999987447], [-84.48564300046509, 39.11975999987448], [-84.486643000465, 39.11975999987448], [-84.48654300046502, 39.1215599998743]]], "type": "Polygon"}, "id": "37", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 99.0, "AGE_20_24": 16.0, "AGE_21": 93.0, "AGE_25_34": 43.0, "AGE_35_44": 13.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 68.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.5, "BG": "390610020002", "BLACK": 35.0, "BLOCK": "390610020002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10681.4877, "F1_RACE": 104.0, "F2_RACES": 4.0, "FEMALE": 52.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 86.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 14.0, "ID": 673252.0, "IN_HOUSEHO": 108.0, "MALE": 56.0, "MALE_18": 52.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 66.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 108.0, "RENTER_SIZ": 1.37, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 66.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48814300046483, 39.1215599998743, -84.48614300046508, 39.12445999987403], "geometry": {"coordinates": [[[-84.48814300046483, 39.121859999874275], [-84.48784300046489, 39.12445999987403], [-84.48614300046508, 39.12435999987406], [-84.48644300046502, 39.12225999987424], [-84.48654300046502, 39.1215599998743], [-84.48814300046483, 39.1216599998743], [-84.48814300046483, 39.121859999874275]]], "type": "Polygon"}, "id": "38", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 138.0, "AGE_20_24": 13.0, "AGE_21": 130.0, "AGE_25_34": 45.0, "AGE_35_44": 28.0, "AGE_45_54": 16.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 4.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 65.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 4.0, "AP_OTHER": 2.0, "AP_WHITE": 84.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.52, "BG": "390610020002", "BLACK": 58.0, "BLOCK": "390610020002002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8645.0376, "F1_RACE": 142.0, "F2_RACES": 8.0, "FEMALE": 68.0, "FEMALE_18": 63.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 30.0, "GROUP_QUAR": 30.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 85.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 6.0, "ID": 673272.0, "IN_HOUSEHO": 120.0, "MALE": 82.0, "MALE_18": 75.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 78.0, "NOT_HISPAN": 146.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.85, "POPULATION": 150.0, "RENTER_SIZ": 1.45, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 78.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48784300046489, 39.12435999987406, -84.48604300046509, 39.125459999873954], "geometry": {"coordinates": [[[-84.48784300046489, 39.12445999987403], [-84.48784300046489, 39.124859999874026], [-84.4877430004649, 39.125459999873954], [-84.48604300046509, 39.125359999873965], [-84.48614300046508, 39.12435999987406], [-84.48784300046489, 39.12445999987403]]], "type": "Polygon"}, "id": "39", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 60.0, "AGE_20_24": 6.0, "AGE_21": 56.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 8.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 6.0, "AP_BLACK": 49.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.57, "BG": "390610020002", "BLACK": 49.0, "BLOCK": "390610020002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11237.8312, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 13.0, "ID": 673292.0, "IN_HOUSEHO": 72.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 5.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 72.0, "RENTER_SIZ": 1.45, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 15.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48614300046505, 39.121059999874355, -84.48484300046519, 39.12215999987427], "geometry": {"coordinates": [[[-84.48514300046514, 39.121059999874355], [-84.48614300046505, 39.12215999987426], [-84.48534300046515, 39.12215999987427], [-84.48484300046519, 39.12205999987428], [-84.48514300046514, 39.121059999874355]]], "type": "Polygon"}, "id": "40", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 7.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 3.0, "BLOCK": "390610020002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5361.8973, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 673311.0, "IN_HOUSEHO": 14.0, "MALE": 8.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 14.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48644300046502, 39.12215999987426, -84.48504300046518, 39.12435999987406], "geometry": {"coordinates": [[[-84.48614300046505, 39.12215999987426], [-84.48644300046502, 39.12225999987424], [-84.48614300046508, 39.12435999987406], [-84.48504300046518, 39.12425999987408], [-84.48534300046515, 39.12215999987427], [-84.48614300046505, 39.12215999987426]]], "type": "Polygon"}, "id": "41", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 126.0, "AGE_20_24": 14.0, "AGE_21": 124.0, "AGE_25_34": 47.0, "AGE_35_44": 22.0, "AGE_45_54": 22.0, "AGE_55_59": 6.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 111.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 24.0, "BLOCK": "390610020002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15769.7309, "F1_RACE": 131.0, "F2_RACES": 8.0, "FEMALE": 75.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 7.0, "ID": 673328.0, "IN_HOUSEHO": 139.0, "MALE": 64.0, "MALE_18": 59.0, "MALE_65": 4.0, "MEDIAN_AGE": 32.6, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 138.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 89.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 139.0, "RENTER_SIZ": 1.56, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 105.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48614300046508, 39.12425999987408, -84.48504300046518, 39.125359999873965], "geometry": {"coordinates": [[[-84.48604300046509, 39.125359999873965], [-84.48504300046518, 39.12525999987396], [-84.48504300046518, 39.12425999987408], [-84.48614300046508, 39.12435999987406], [-84.48604300046509, 39.125359999873965]]], "type": "Polygon"}, "id": "42", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 65.0, "AGE_20_24": 6.0, "AGE_21": 63.0, "AGE_25_34": 27.0, "AGE_35_44": 16.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 1.81, "BG": "390610020002", "BLACK": 52.0, "BLOCK": "390610020002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21499.33, "F1_RACE": 83.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 44.0, "FEMALE_65": 0.0, "GQ_INSTITU": 19.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 28.0, "ID": 673347.0, "IN_HOUSEHO": 65.0, "MALE": 33.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 84.0, "RENTER_SIZ": 1.96, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 31.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48534300046515, 39.12205999987428, -84.48434300046526, 39.12525999987396], "geometry": {"coordinates": [[[-84.48504300046518, 39.12425999987408], [-84.48504300046518, 39.12525999987396], [-84.48434300046526, 39.125159999874], [-84.48484300046519, 39.12205999987428], [-84.48534300046515, 39.12215999987427], [-84.48504300046518, 39.12425999987408]]], "type": "Polygon"}, "id": "43", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610020001", "BLACK": 0.0, "BLOCK": "390610020001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 771.4783, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 673364.0, "IN_HOUSEHO": 5.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 5.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 5.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.12145999987434, -84.48254300046544, 39.12205999987428], "geometry": {"coordinates": [[[-84.48374300046531, 39.12175999987431], [-84.48384300046531, 39.12205999987428], [-84.48254300046544, 39.121959999874285], [-84.48264300046543, 39.12145999987434], [-84.48374300046531, 39.12175999987431]]], "type": "Polygon"}, "id": "44", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 4.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.38, "BG": "390610020001", "BLACK": 3.0, "BLOCK": "390610020001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6187.701, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 673383.0, "IN_HOUSEHO": 11.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 58.3, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 11.0, "RENTER_SIZ": 1.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 8.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.121959999874285, -84.48224300046549, 39.123859999874114], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48224300046549, 39.123659999874135], [-84.48254300046544, 39.121959999874285], [-84.48384300046531, 39.12205999987428], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "45", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 47.0, "AGE_20_24": 8.0, "AGE_21": 46.0, "AGE_25_34": 15.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.61, "BG": "390610020001", "BLACK": 14.0, "BLOCK": "390610020001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6509.2387, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 673399.0, "IN_HOUSEHO": 45.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 4.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 54.0, "RENTER_SIZ": 1.39, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 36.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48484300046519, 39.12205999987428, -84.48324300046541, 39.125159999874015], "geometry": {"coordinates": [[[-84.48484300046519, 39.12205999987428], [-84.48434300046526, 39.125159999874], [-84.48324300046541, 39.125159999874015], [-84.48344300046536, 39.123859999874114], [-84.48384300046531, 39.12205999987428], [-84.48484300046519, 39.12205999987428]]], "type": "Polygon"}, "id": "46", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 75.0, "AGE_20_24": 9.0, "AGE_21": 67.0, "AGE_25_34": 31.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 56.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.13, "AVG_HHSIZE": 1.26, "BG": "390610020001", "BLACK": 20.0, "BLOCK": "390610020001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6234.2304, "F1_RACE": 75.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 28.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 11.0, "ID": 673417.0, "IN_HOUSEHO": 77.0, "MALE": 47.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.4, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 76.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 77.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 54.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48344300046536, 39.123659999874135, -84.48194300046555, 39.12515999987403], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48324300046541, 39.125159999874015], [-84.48294300046541, 39.12515999987403], [-84.48194300046555, 39.12495999987402], [-84.48224300046549, 39.123659999874135], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "47", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 4.0, "AGE_21": 21.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610020001", "BLACK": 8.0, "BLOCK": "390610020001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4117.5953, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 14.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 673436.0, "IN_HOUSEHO": 26.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 26.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 18.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.486343000465, 39.11735999987473, -84.47834300046591, 39.124659999874055], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.47994300046574, 39.12345999987416], [-84.47964300046577, 39.124659999874055], [-84.47834300046591, 39.12445999987407], [-84.47854300046589, 39.12185999987432], [-84.47864300046585, 39.120659999874455], [-84.48484300046516, 39.11735999987473], [-84.48574300046508, 39.118159999874635], [-84.486343000465, 39.118459999874595], [-84.48555500046508, 39.118617999874594], [-84.48534300046512, 39.11865999987457], [-84.48474300046519, 39.119159999874555], [-84.48474300046519, 39.11995999987449], [-84.48514300046514, 39.120659999874405], [-84.48514300046514, 39.121059999874355], [-84.48484300046519, 39.12205999987428], [-84.48384300046531, 39.12205999987428], [-84.48374300046531, 39.12175999987431], [-84.48264300046543, 39.12145999987434], [-84.48254300046544, 39.121959999874285], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "48", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 10.0, "AGE_18": 378.0, "AGE_20_24": 31.0, "AGE_21": 369.0, "AGE_25_34": 110.0, "AGE_35_44": 53.0, "AGE_45_54": 59.0, "AGE_55_59": 30.0, "AGE_5_9": 5.0, "AGE_60_64": 18.0, "AGE_62": 86.0, "AGE_65": 75.0, "AGE_65_74": 52.0, "AGE_75_84": 21.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 7.0, "AP_WHITE": 316.0, "AREA": 0.1, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 73.0, "BLOCK": "390610020001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4075.5769, "F1_RACE": 400.0, "F2_RACES": 8.0, "FEMALE": 226.0, "FEMALE_18": 209.0, "FEMALE_65": 50.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 34.0, "GROUP_QUAR": 34.0, "HAWAIIAN": 0.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 155.0, "HOUSEHOLDS": 238.0, "HSNG_UNITS": 282.0, "HU_OCCUPIE": 238.0, "HU_VACANT": 44.0, "ID": 673454.0, "IN_HOUSEHO": 374.0, "MALE": 182.0, "MALE_18": 169.0, "MALE_65": 25.0, "MEDIAN_AGE": 41.7, "MSA": "1640", "NH_WHITE": 304.0, "NOT_HISPAN": 399.0, "OCCHU_OWNE": 90.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 1.76, "POPULATION": 408.0, "RENTER_SIZ": 1.46, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 310.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48224300046549, 39.12345999987416, -84.47964300046577, 39.12495999987402], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.48194300046555, 39.12495999987402], [-84.48154300046558, 39.12495999987402], [-84.4803430004657, 39.124859999874054], [-84.47964300046577, 39.124659999874055], [-84.47994300046574, 39.12345999987416], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "49", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 37.0, "AGE_20_24": 0.0, "AGE_21": 37.0, "AGE_25_34": 5.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 20.0, "AGE_65": 20.0, "AGE_65_74": 6.0, "AGE_75_84": 6.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 6.0, "BLOCK": "390610020001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3315.2547, "F1_RACE": 38.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 28.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 16.0, "GROUP_QUAR": 16.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 673484.0, "IN_HOUSEHO": 22.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 68.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 38.0, "RENTER_SIZ": 1.57, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 32.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.12675999987384, -84.48264300046547, 39.128859999873676], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48334300046541, 39.12855999987368], [-84.48264300046549, 39.128859999873676], [-84.48264300046547, 39.12805999987371], [-84.48284300046545, 39.12685999987385], [-84.48434300046527, 39.12675999987384], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "50", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 9.0, "AGE_18": 123.0, "AGE_20_24": 9.0, "AGE_21": 118.0, "AGE_25_34": 19.0, "AGE_35_44": 36.0, "AGE_45_54": 18.0, "AGE_55_59": 10.0, "AGE_5_9": 17.0, "AGE_60_64": 1.0, "AGE_62": 28.0, "AGE_65": 27.0, "AGE_65_74": 18.0, "AGE_75_84": 4.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 5.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 1.9, "BG": "390610037001", "BLACK": 154.0, "BLOCK": "390610037001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19383.9789, "F1_RACE": 167.0, "F2_RACES": 6.0, "FEMALE": 81.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 60.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 5.0, "ID": 709180.0, "IN_HOUSEHO": 173.0, "MALE": 92.0, "MALE_18": 63.0, "MALE_65": 15.0, "MEDIAN_AGE": 36.9, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 167.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.33, "POPULATION": 173.0, "RENTER_SIZ": 1.8, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4842430004653, 39.12765999987374, -84.48334300046541, 39.12855999987368], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48414300046532, 39.128459999873684], [-84.48334300046541, 39.12855999987368], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "51", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709200.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48414300046532, 39.128459999873684, -84.48334300046541, 39.129459999873596], "geometry": {"coordinates": [[[-84.48414300046532, 39.129259999873604], [-84.48404300046533, 39.129459999873596], [-84.48334300046541, 39.12935999987361], [-84.48334300046541, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.48414300046532, 39.129259999873604]]], "type": "Polygon"}, "id": "52", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 377.6733, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 709217.0, "IN_HOUSEHO": 1.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 51.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48334300046541, 39.12855999987368, -84.4825430004655, 39.12935999987361], "geometry": {"coordinates": [[[-84.48334300046541, 39.12855999987368], [-84.48334300046541, 39.12935999987361], [-84.48304300046544, 39.12935999987361], [-84.4825430004655, 39.12935999987361], [-84.48264300046549, 39.128859999873676], [-84.48334300046541, 39.12855999987368]]], "type": "Polygon"}, "id": "53", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 2.0, "BLOCK": "390610037003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1125.1529, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 709235.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 1.0, "MEDIAN_AGE": 83.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48154300046558, 39.124859999874054, -84.4786430004659, 39.12685999987386], "geometry": {"coordinates": [[[-84.48154300046558, 39.12495999987402], [-84.48134300046561, 39.12685999987385], [-84.47924300046583, 39.12675999987387], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.126059999873924], [-84.4803430004657, 39.124859999874054], [-84.48154300046558, 39.12495999987402]]], "type": "Polygon"}, "id": "54", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709254.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48284300046545, 39.12675999987387, -84.47804300046597, 39.12805999987371], "geometry": {"coordinates": [[[-84.48284300046545, 39.12685999987385], [-84.48264300046547, 39.12805999987371], [-84.47804300046597, 39.12745999987382], [-84.47824300046594, 39.12725999987383], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.12675999987387], [-84.48134300046561, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48284300046545, 39.12685999987385]]], "type": "Polygon"}, "id": "55", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 16.0, "AGE_15_19": 8.0, "AGE_18": 143.0, "AGE_20_24": 14.0, "AGE_21": 137.0, "AGE_25_34": 28.0, "AGE_35_44": 35.0, "AGE_45_54": 30.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 4.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 14.0, "AGE_75_84": 5.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 35.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.59, "AVG_HHSIZE": 2.35, "BG": "390610037001", "BLACK": 155.0, "BLOCK": "390610037001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12457.7064, "F1_RACE": 189.0, "F2_RACES": 2.0, "FEMALE": 88.0, "FEMALE_18": 60.0, "FEMALE_65": 16.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 65.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 65.0, "HU_VACANT": 18.0, "ID": 709272.0, "IN_HOUSEHO": 153.0, "MALE": 103.0, "MALE_18": 83.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.1, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.85, "POPULATION": 191.0, "RENTER_SIZ": 2.03, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 33.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48404300046533, 39.12935999987361, -84.48294300046545, 39.13065999987348], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48294300046545, 39.13055999987351], [-84.48304300046544, 39.12935999987361], [-84.48334300046541, 39.12935999987361], [-84.48404300046533, 39.129459999873596], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "56", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 1.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 1.8, "BG": "390610037003", "BLACK": 25.0, "BLOCK": "390610037003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5951.8877, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 709292.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 27.0, "RENTER_SIZ": 1.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48394300046536, 39.13055999987351, -84.48184300046557, 39.13178999987337], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48384300046537, 39.131359999873425], [-84.48384300046537, 39.131619999873394], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131759999873395], [-84.48375200046537, 39.13178999987337], [-84.48288500046546, 39.13137799987341], [-84.48274500046548, 39.13130799987342], [-84.48237000046552, 39.131118999873436], [-84.48216300046555, 39.130962999873454], [-84.48184300046557, 39.13065999987349], [-84.48214300046554, 39.13065999987349], [-84.48294300046545, 39.13055999987351], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "57", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 25.0, "AGE_20_24": 5.0, "AGE_21": 23.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.53, "BG": "390610037003", "BLACK": 47.0, "BLOCK": "390610037003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8862.921, "F1_RACE": 48.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 3.0, "ID": 709311.0, "IN_HOUSEHO": 48.0, "MALE": 24.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 48.0, "RENTER_SIZ": 2.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.128859999873676, -84.48174300046557, 39.12935999987361], "geometry": {"coordinates": [[[-84.48264300046549, 39.128859999873676], [-84.4825430004655, 39.12935999987361], [-84.48204300046554, 39.129259999873646], [-84.48174300046557, 39.129159999873636], [-84.48264300046549, 39.128859999873676]]], "type": "Polygon"}, "id": "58", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709334.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48375200046537, 39.13064399987349, -84.4816430004656, 39.13195999987335], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.48216300046555, 39.130962999873454], [-84.48237000046552, 39.131118999873436], [-84.48274500046548, 39.13130799987342], [-84.48288500046546, 39.13137799987341], [-84.48375200046537, 39.13178999987337], [-84.48324300046544, 39.13195999987335], [-84.4816430004656, 39.13185999987338], [-84.48174300046558, 39.13125999987342], [-84.48181600046559, 39.13082199987347], [-84.48174000046559, 39.130719999873506], [-84.4816930004656, 39.13064399987349], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "59", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 10.0, "AGE_18": 33.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 58.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.64, "BG": "390610037003", "BLACK": 58.0, "BLOCK": "390610037003000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12239.7822, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 19.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 9.0, "ID": 709351.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 58.0, "RENTER_SIZ": 2.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48304300046544, 39.129159999873636, -84.4797430004658, 39.13065999987349], "geometry": {"coordinates": [[[-84.48304300046544, 39.12935999987361], [-84.48294300046545, 39.13055999987351], [-84.48214300046554, 39.13065999987349], [-84.48184300046557, 39.13065999987349], [-84.48094600046568, 39.13011399987356], [-84.4806780004657, 39.12995299987357], [-84.48047200046572, 39.129839999873575], [-84.48026600046575, 39.129760999873604], [-84.48001800046576, 39.12971699987361], [-84.4797430004658, 39.129659999873596], [-84.4806430004657, 39.129559999873585], [-84.48174300046557, 39.129159999873636], [-84.48204300046554, 39.129259999873646], [-84.4825430004655, 39.12935999987361], [-84.48304300046544, 39.12935999987361]]], "type": "Polygon"}, "id": "60", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 5.0, "AGE_21": 54.0, "AGE_25_34": 10.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 7.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 1.88, "BG": "390610037003", "BLACK": 81.0, "BLOCK": "390610037003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7861.5423, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 32.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 5.0, "ID": 709372.0, "IN_HOUSEHO": 81.0, "MALE": 36.0, "MALE_18": 26.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 81.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48184300046557, 39.129659999873596, -84.4788430004659, 39.13185999987338], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.4816930004656, 39.13064399987349], [-84.48174000046559, 39.130719999873506], [-84.48181600046559, 39.13082199987347], [-84.48174300046558, 39.13125999987342], [-84.4816430004656, 39.13185999987338], [-84.4788430004659, 39.13155999987342], [-84.47904300046586, 39.130359999873534], [-84.4797430004658, 39.129659999873596], [-84.48001800046576, 39.12971699987361], [-84.48026600046575, 39.129760999873604], [-84.48047200046572, 39.129839999873575], [-84.4806780004657, 39.12995299987357], [-84.48094600046568, 39.13011399987356], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "61", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 76.0, "AGE_20_24": 7.0, "AGE_21": 72.0, "AGE_25_34": 11.0, "AGE_35_44": 23.0, "AGE_45_54": 14.0, "AGE_55_59": 7.0, "AGE_5_9": 0.0, "AGE_60_64": 5.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 80.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 80.0, "BLOCK": "390610037001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5072.4868, "F1_RACE": 88.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 38.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 56.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 56.0, "HU_VACANT": 3.0, "ID": 709393.0, "IN_HOUSEHO": 88.0, "MALE": 47.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 88.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 88.0, "RENTER_SIZ": 1.52, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 8.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4803430004657, 39.12445999987407, -84.477543000466, 39.126059999873924], "geometry": {"coordinates": [[[-84.47964300046577, 39.124659999874055], [-84.4803430004657, 39.124859999874054], [-84.47924300046583, 39.126059999873924], [-84.477543000466, 39.12595999987395], [-84.47774300046596, 39.12445999987407], [-84.47834300046591, 39.12445999987407], [-84.47964300046577, 39.124659999874055]]], "type": "Polygon"}, "id": "62", "properties": {"AGE_0_5": 31.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 109.0, "AGE_20_24": 20.0, "AGE_21": 99.0, "AGE_25_34": 42.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 2.17, "BG": "390610042002", "BLACK": 112.0, "BLOCK": "390610042002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14062.7526, "F1_RACE": 168.0, "F2_RACES": 1.0, "FEMALE": 109.0, "FEMALE_18": 74.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 5.0, "ID": 709415.0, "IN_HOUSEHO": 169.0, "MALE": 60.0, "MALE_18": 35.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 162.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 70.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 169.0, "RENTER_SIZ": 2.1, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 54.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47924300046583, 39.12595999987395, -84.477543000466, 39.12685999987387], "geometry": {"coordinates": [[[-84.47924300046583, 39.126059999873924], [-84.4786430004659, 39.12685999987386], [-84.47754300046601, 39.12685999987387], [-84.477543000466, 39.12595999987395], [-84.47924300046583, 39.126059999873924]]], "type": "Polygon"}, "id": "63", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 43.0, "AGE_25_34": 19.0, "AGE_35_44": 12.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.34, "BG": "390610042002", "BLACK": 23.0, "BLOCK": "390610042002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10532.1683, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 3.0, "ID": 709435.0, "IN_HOUSEHO": 47.0, "MALE": 16.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 47.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 24.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.12745999987382, -84.47704300046608, 39.129159999873636], "geometry": {"coordinates": [[[-84.48264300046547, 39.12805999987371], [-84.48264300046549, 39.128859999873676], [-84.48174300046557, 39.129159999873636], [-84.47704300046608, 39.12865999987371], [-84.47744300046602, 39.12815999987375], [-84.47804300046597, 39.12745999987382], [-84.48264300046547, 39.12805999987371]]], "type": "Polygon"}, "id": "64", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 203.0, "AGE_20_24": 20.0, "AGE_21": 198.0, "AGE_25_34": 43.0, "AGE_35_44": 63.0, "AGE_45_54": 32.0, "AGE_55_59": 14.0, "AGE_5_9": 11.0, "AGE_60_64": 6.0, "AGE_62": 25.0, "AGE_65": 22.0, "AGE_65_74": 15.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 0.0, "AP_BLACK": 193.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 50.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.97, "AVG_HHSIZE": 2.55, "BG": "390610037001", "BLACK": 190.0, "BLOCK": "390610037001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10515.7405, "F1_RACE": 238.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 62.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 49.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 22.0, "ID": 709452.0, "IN_HOUSEHO": 194.0, "MALE": 162.0, "MALE_18": 141.0, "MALE_65": 10.0, "MEDIAN_AGE": 38.3, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 49.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.48, "POPULATION": 243.0, "RENTER_SIZ": 2.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 48.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47774300046596, 39.1243599998741, -84.47644300046613, 39.12685999987387], "geometry": {"coordinates": [[[-84.477543000466, 39.12595999987395], [-84.47754300046601, 39.12685999987387], [-84.47644300046613, 39.12675999987388], [-84.4766430004661, 39.1243599998741], [-84.47744300046601, 39.1243599998741], [-84.47774300046596, 39.12445999987407], [-84.477543000466, 39.12595999987395]]], "type": "Polygon"}, "id": "65", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 98.0, "AGE_20_24": 14.0, "AGE_21": 97.0, "AGE_25_34": 31.0, "AGE_35_44": 24.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 75.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.91, "BG": "390610042002", "BLACK": 35.0, "BLOCK": "390610042002005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11483.761, "F1_RACE": 109.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 31.0, "HOUSEHOLDS": 58.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 58.0, "HU_VACANT": 11.0, "ID": 709472.0, "IN_HOUSEHO": 111.0, "MALE": 54.0, "MALE_18": 51.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 73.0, "NOT_HISPAN": 110.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.41, "POPULATION": 111.0, "RENTER_SIZ": 1.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 74.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4786430004659, 39.12675999987388, -84.47614300046617, 39.12815999987375], "geometry": {"coordinates": [[[-84.4786430004659, 39.12685999987386], [-84.47824300046594, 39.12725999987383], [-84.47804300046597, 39.12745999987382], [-84.47744300046602, 39.12815999987375], [-84.47614300046617, 39.12805999987374], [-84.47644300046613, 39.12675999987388], [-84.47754300046601, 39.12685999987387], [-84.4786430004659, 39.12685999987386]]], "type": "Polygon"}, "id": "66", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 19.0, "AGE_15_19": 26.0, "AGE_18": 121.0, "AGE_20_24": 11.0, "AGE_21": 115.0, "AGE_25_34": 27.0, "AGE_35_44": 33.0, "AGE_45_54": 20.0, "AGE_55_59": 8.0, "AGE_5_9": 26.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.57, "AVG_HHSIZE": 2.47, "BG": "390610042001", "BLACK": 185.0, "BLOCK": "390610042001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24439.8373, "F1_RACE": 201.0, "F2_RACES": 4.0, "FEMALE": 106.0, "FEMALE_18": 73.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 97.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 14.0, "ID": 709492.0, "IN_HOUSEHO": 205.0, "MALE": 99.0, "MALE_18": 48.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 205.0, "RENTER_SIZ": 2.34, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.47744300046602, 39.12805999987374, -84.47564300046623, 39.12945999987363], "geometry": {"coordinates": [[[-84.47674300046613, 39.12935999987364], [-84.47644300046615, 39.12925999987366], [-84.47564300046623, 39.12945999987363], [-84.47614300046617, 39.12805999987374], [-84.47744300046602, 39.12815999987375], [-84.47704300046608, 39.12865999987371], [-84.47674300046613, 39.12895999987367], [-84.47674300046613, 39.12935999987364]]], "type": "Polygon"}, "id": "67", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 47.0, "AGE_20_24": 1.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 17.0, "AGE_65": 15.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.21, "BG": "390610042001", "BLACK": 47.0, "BLOCK": "390610042001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10089.2509, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 1.0, "ID": 709513.0, "IN_HOUSEHO": 51.0, "MALE": 26.0, "MALE_18": 25.0, "MALE_65": 6.0, "MEDIAN_AGE": 53.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 51.0, "RENTER_SIZ": 1.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48174300046557, 39.12865999987371, -84.47674300046613, 39.129659999873596], "geometry": {"coordinates": [[[-84.48174300046557, 39.129159999873636], [-84.4806430004657, 39.129559999873585], [-84.4797430004658, 39.129659999873596], [-84.47864300046592, 39.12955999987361], [-84.47674300046613, 39.12935999987364], [-84.47674300046613, 39.12895999987367], [-84.47704300046608, 39.12865999987371], [-84.48174300046557, 39.129159999873636]]], "type": "Polygon"}, "id": "68", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 11.0, "BLOCK": "390610037001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1000.1608, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 15.0, "ID": 709531.0, "IN_HOUSEHO": 11.0, "MALE": 9.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 1.57, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4797430004658, 39.12935999987364, -84.47664300046614, 39.130359999873534], "geometry": {"coordinates": [[[-84.4797430004658, 39.129659999873596], [-84.47904300046586, 39.130359999873534], [-84.47664300046614, 39.13005999987358], [-84.47674300046613, 39.12935999987364], [-84.47864300046592, 39.12955999987361], [-84.4797430004658, 39.129659999873596]]], "type": "Polygon"}, "id": "69", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.75, "BG": "390610037001", "BLACK": 7.0, "BLOCK": "390610037001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 947.5052, "F1_RACE": 7.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 709550.0, "IN_HOUSEHO": 7.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 7.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 7.0, "RENTER_SIZ": 1.75, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47904300046586, 39.13005999987358, -84.47654300046615, 39.13155999987342], "geometry": {"coordinates": [[[-84.47904300046586, 39.130359999873534], [-84.4788430004659, 39.13155999987342], [-84.47654300046615, 39.13135999987346], [-84.47664300046614, 39.13005999987358], [-84.47904300046586, 39.130359999873534]]], "type": "Polygon"}, "id": "70", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.47, "BG": "390610041002", "BLACK": 37.0, "BLOCK": "390610041002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4266.2283, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 9.0, "ID": 709569.0, "IN_HOUSEHO": 47.0, "MALE": 15.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 47.0, "RENTER_SIZ": 2.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004100", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.487443000465, 39.13155999987342, -84.47854300046596, 39.137636999872846], "geometry": {"coordinates": [[[-84.48384300046537, 39.131759999873395], [-84.48383200046537, 39.13184799987338], [-84.48374300046537, 39.13255999987331], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.13276599987328], [-84.48504300046524, 39.13335999987322], [-84.48596700046515, 39.133397999873225], [-84.48613700046513, 39.133514999873206], [-84.487443000465, 39.133659999873196], [-84.48724300046503, 39.133859999873174], [-84.48714300046504, 39.13415999987315], [-84.48614300046513, 39.13435999987314], [-84.4839430004654, 39.136059999873005], [-84.48354300046543, 39.13635999987295], [-84.4829430004655, 39.137059999872875], [-84.4821430004656, 39.137559999872835], [-84.48183300046561, 39.137636999872846], [-84.47984300046583, 39.13475999987314], [-84.47864300046594, 39.134059999873195], [-84.47854300046596, 39.13375999987322], [-84.47864300046594, 39.13285999987331], [-84.4788430004659, 39.13155999987342], [-84.4816430004656, 39.13185999987338], [-84.48324300046544, 39.13195999987335], [-84.48375200046537, 39.13178999987337], [-84.48384300046537, 39.131759999873395]]], "type": "Polygon"}, "id": "71", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 289.0, "AGE_20_24": 9.0, "AGE_21": 285.0, "AGE_25_34": 38.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 9.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 143.0, "AGE_65": 135.0, "AGE_65_74": 40.0, "AGE_75_84": 49.0, "AGE_85": 46.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 340.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.1, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.1, "BG": "390610036001", "BLACK": 340.0, "BLOCK": "390610036001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3344.4579, "F1_RACE": 351.0, "F2_RACES": 0.0, "FEMALE": 203.0, "FEMALE_18": 170.0, "FEMALE_65": 83.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 137.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 18.0, "ID": 709605.0, "IN_HOUSEHO": 250.0, "MALE": 148.0, "MALE_18": 119.0, "MALE_65": 52.0, "MEDIAN_AGE": 48.2, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 31.0, "OCCHU_RENT": 88.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 351.0, "RENTER_SIZ": 1.83, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48644300046513, 39.136059999873005, -84.48183300046561, 39.14155999987249], "geometry": {"coordinates": [[[-84.48614300046516, 39.13805999987279], [-84.48644300046513, 39.13845999987274], [-84.48554300046524, 39.139159999872675], [-84.48454300046537, 39.14025999987261], [-84.48433500046538, 39.140559999872565], [-84.48364300046546, 39.14155999987249], [-84.48294300046551, 39.139859999872655], [-84.48214300046561, 39.13905999987272], [-84.48183300046561, 39.137636999872846], [-84.4821430004656, 39.137559999872835], [-84.4829430004655, 39.137059999872875], [-84.48354300046543, 39.13635999987295], [-84.4839430004654, 39.136059999873005], [-84.48534300046525, 39.13715999987289], [-84.48614300046516, 39.13805999987279]], [[-84.48604300046517, 39.13825999987277], [-84.48584300046521, 39.13805999987279], [-84.4849430004653, 39.13725999987287], [-84.48384300046541, 39.137559999872835], [-84.48404300046539, 39.138159999872784], [-84.48424300046537, 39.138959999872704], [-84.48504300046528, 39.13885999987272], [-84.48604300046517, 39.13825999987277]]], "type": "Polygon"}, "id": "72", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 70.0, "AGE_20_24": 10.0, "AGE_21": 64.0, "AGE_25_34": 8.0, "AGE_35_44": 13.0, "AGE_45_54": 18.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.78, "BG": "390610036001", "BLACK": 103.0, "BLOCK": "390610036001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2705.3799, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 55.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 9.0, "ID": 709637.0, "IN_HOUSEHO": 103.0, "MALE": 48.0, "MALE_18": 31.0, "MALE_65": 6.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 103.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13528099987297, -84.50234300046341, 39.13655999987285], "geometry": {"coordinates": [[[-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.135759999872924], [-84.50374300046326, 39.13655999987285], [-84.50234300046341, 39.136459999872876], [-84.5024430004634, 39.135759999872924], [-84.50244300046339, 39.13528099987297], [-84.50384300046323, 39.13536199987297]]], "type": "Polygon"}, "id": "73", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699143.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50264300046335, 39.13285999987319, -84.50094300046354, 39.13495999987302], "geometry": {"coordinates": [[[-84.50254300046338, 39.13425999987308], [-84.50244300046339, 39.13495999987302], [-84.50094300046354, 39.134859999873], [-84.5012430004635, 39.13285999987319], [-84.50264300046334, 39.13285999987319], [-84.50264300046335, 39.13345999987315], [-84.50254300046338, 39.13425999987308]]], "type": "Polygon"}, "id": "74", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 45.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 16.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 55.0, "BLOCK": "390610032002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8677.1914, "F1_RACE": 97.0, "F2_RACES": 1.0, "FEMALE": 40.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 77.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 98.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 699162.0, "IN_HOUSEHO": 0.0, "MALE": 58.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 98.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 42.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.134859999873, -84.50094300046354, 39.135759999872924], "geometry": {"coordinates": [[[-84.50244300046339, 39.13528099987297], [-84.5024430004634, 39.135759999872924], [-84.50094300046354, 39.135659999872956], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.134859999873], [-84.50244300046339, 39.13495999987302], [-84.50244300046339, 39.13528099987297]]], "type": "Polygon"}, "id": "75", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699182.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.135659999872956, -84.50084300046358, 39.136459999872876], "geometry": {"coordinates": [[[-84.50234300046341, 39.136459999872876], [-84.50084300046358, 39.13635999987288], [-84.50094300046354, 39.135659999872956], [-84.5024430004634, 39.135759999872924], [-84.50234300046341, 39.136459999872876]]], "type": "Polygon"}, "id": "76", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610032001", "BLACK": 1.0, "BLOCK": "390610032001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 254.7764, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 1.0, "ID": 699201.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 64.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50544300046307, 39.13635999987288, -84.5006430004636, 39.13955999987258], "geometry": {"coordinates": [[[-84.50544300046307, 39.13665999987285], [-84.50537800046308, 39.137129999872776], [-84.50504300046315, 39.13955999987258], [-84.50214300046343, 39.13935999987259], [-84.5015430004635, 39.13845999987268], [-84.5006430004636, 39.138359999872684], [-84.50084300046358, 39.13635999987288], [-84.50234300046341, 39.136459999872876], [-84.50374300046326, 39.13655999987285], [-84.50544300046307, 39.13665999987285]]], "type": "Polygon"}, "id": "77", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 6.0, "AGE_15_19": 2.0, "AGE_18": 48.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 6.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 42.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 25.0, "BLOCK": "390610032001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1555.3515, "F1_RACE": 68.0, "F2_RACES": 2.0, "FEMALE": 36.0, "FEMALE_18": 29.0, "FEMALE_65": 6.0, "GQ_INSTITU": 70.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 70.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699218.0, "IN_HOUSEHO": 0.0, "MALE": 34.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 39.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 70.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 40.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50014300046355, 39.12455999987399, -84.49904300046369, 39.12625999987383], "geometry": {"coordinates": [[[-84.4999430004636, 39.12625999987383], [-84.49904300046369, 39.12615999987382], [-84.49914300046366, 39.125359999873915], [-84.49914300046366, 39.12455999987399], [-84.50014300046355, 39.12465999987397], [-84.4999430004636, 39.12625999987383]]], "type": "Polygon"}, "id": "78", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 29.0, "BLOCK": "390610021002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7224.6969, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 3.0, "ID": 699239.0, "IN_HOUSEHO": 40.0, "MALE": 22.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 43.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 40.0, "RENTER_SIZ": 1.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5017430004634, 39.12605999987384, -84.4980430004638, 39.127759999873675], "geometry": {"coordinates": [[[-84.5017430004634, 39.126359999873806], [-84.50094300046348, 39.127259999873715], [-84.49984300046361, 39.127759999873675], [-84.4981430004638, 39.12745999987373], [-84.4980430004638, 39.127159999873754], [-84.49824300046377, 39.12605999987384], [-84.49904300046369, 39.12615999987382], [-84.4999430004636, 39.12625999987383], [-84.5017430004634, 39.126359999873806]]], "type": "Polygon"}, "id": "79", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610034002", "BLACK": 4.0, "BLOCK": "390610034002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 255.9509, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 699258.0, "IN_HOUSEHO": 4.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49914300046366, 39.125259999873926, -84.49784300046382, 39.12615999987382], "geometry": {"coordinates": [[[-84.49914300046366, 39.125359999873915], [-84.49904300046369, 39.12615999987382], [-84.49824300046377, 39.12605999987384], [-84.49784300046382, 39.126059999873846], [-84.49784300046382, 39.125259999873926], [-84.49914300046366, 39.125359999873915]]], "type": "Polygon"}, "id": "80", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49984300046361, 39.12745999987373, -84.49804300046381, 39.128259999873634], "geometry": {"coordinates": [[[-84.49984300046361, 39.127759999873675], [-84.49914300046369, 39.128259999873634], [-84.49804300046381, 39.1279599998737], [-84.4981430004638, 39.12745999987373], [-84.49984300046361, 39.127759999873675]]], "type": "Polygon"}, "id": "81", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699297.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49914300046369, 39.1279599998737, -84.49794300046382, 39.1286599998736], "geometry": {"coordinates": [[[-84.49804300046381, 39.1279599998737], [-84.49914300046369, 39.128259999873634], [-84.49864300046376, 39.1286599998736], [-84.49794300046382, 39.12855999987362], [-84.49804300046381, 39.1279599998737]]], "type": "Polygon"}, "id": "82", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699315.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49824300046377, 39.12605999987384, -84.49664300046395, 39.127159999873754], "geometry": {"coordinates": [[[-84.4980430004638, 39.127159999873754], [-84.49704300046392, 39.12705999987378], [-84.49664300046395, 39.12705999987378], [-84.49724300046388, 39.126059999873846], [-84.49784300046382, 39.126059999873846], [-84.49824300046377, 39.12605999987384], [-84.4980430004638, 39.127159999873754]]], "type": "Polygon"}, "id": "83", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 699332.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046388, 39.125959999873864, -84.49604300046401, 39.127059999873794], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49604300046401, 39.12705999987378], [-84.49674300046394, 39.125959999873864], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "84", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699352.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4981430004638, 39.12705999987378, -84.49634300046398, 39.1279599998737], "geometry": {"coordinates": [[[-84.4981430004638, 39.12745999987373], [-84.49804300046381, 39.1279599998737], [-84.49774300046384, 39.12785999987369], [-84.49634300046398, 39.12755999987371], [-84.49664300046395, 39.12705999987378], [-84.49704300046392, 39.12705999987378], [-84.4980430004638, 39.127159999873754], [-84.4981430004638, 39.12745999987373]]], "type": "Polygon"}, "id": "85", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 3.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610034002", "BLACK": 14.0, "BLOCK": "390610034002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3500.3926, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 2.0, "ID": 699371.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49864300046376, 39.12755999987371, -84.4953430004641, 39.130059999873474], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.496243000464, 39.129459999873546], [-84.49564300046407, 39.129359999873536], [-84.4953430004641, 39.12935999987355], [-84.49634300046398, 39.12755999987371], [-84.49774300046384, 39.12785999987369], [-84.49804300046381, 39.1279599998737], [-84.49794300046382, 39.12855999987362], [-84.49864300046376, 39.1286599998736], [-84.49854300046377, 39.12885999987358], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "86", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 15.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 8.0, "BLOCK": "390610034002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 843.8623, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 15.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 15.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699391.0, "IN_HOUSEHO": 0.0, "MALE": 15.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.1, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 7.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50164300046343, 39.128259999873634, -84.49804300046382, 39.13065999987342], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.49994300046363, 39.130459999873445], [-84.49804300046382, 39.130059999873474], [-84.49854300046377, 39.12885999987358], [-84.49864300046376, 39.1286599998736], [-84.49914300046369, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50154300046344, 39.12945999987352], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "87", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 11.0, "AGE_21": 47.0, "AGE_25_34": 10.0, "AGE_35_44": 11.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.11, "BG": "390610034002", "BLACK": 32.0, "BLOCK": "390610034002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2243.1294, "F1_RACE": 52.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 19.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 699415.0, "IN_HOUSEHO": 52.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 52.0, "RENTER_SIZ": 1.09, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 19.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49994300046363, 39.130059999873474, -84.49764300046387, 39.13155999987333], "geometry": {"coordinates": [[[-84.49994300046363, 39.130459999873445], [-84.49974300046365, 39.13155999987333], [-84.49864300046377, 39.13145999987336], [-84.49764300046387, 39.131359999873354], [-84.49774300046387, 39.130959999873404], [-84.49804300046382, 39.130059999873474], [-84.49994300046363, 39.130459999873445]]], "type": "Polygon"}, "id": "88", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 140.0, "AGE_20_24": 0.0, "AGE_21": 140.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 10.0, "AGE_62": 125.0, "AGE_65": 120.0, "AGE_65_74": 30.0, "AGE_75_84": 41.0, "AGE_85": 49.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 130.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 127.0, "BLOCK": "390610034002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15062.2033, "F1_RACE": 137.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 94.0, "FEMALE_65": 87.0, "GQ_INSTITU": 140.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 140.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699434.0, "IN_HOUSEHO": 0.0, "MALE": 46.0, "MALE_18": 46.0, "MALE_65": 33.0, "MEDIAN_AGE": 80.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 140.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 140.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49974300046365, 39.131359999873354, -84.49704300046395, 39.13265999987326], "geometry": {"coordinates": [[[-84.49974300046365, 39.13155999987333], [-84.49964300046366, 39.13265999987324], [-84.49794300046385, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49704300046395, 39.13265999987325], [-84.49764300046387, 39.131359999873354], [-84.49864300046377, 39.13145999987336], [-84.49974300046365, 39.13155999987333]]], "type": "Polygon"}, "id": "89", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699453.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49804300046382, 39.129459999873546, -84.49574300046409, 39.13265999987325], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.49774300046387, 39.130959999873404], [-84.49764300046387, 39.131359999873354], [-84.49704300046395, 39.13265999987325], [-84.49624300046402, 39.13255999987324], [-84.49574300046409, 39.13255999987324], [-84.49604300046406, 39.13185999987332], [-84.49614300046402, 39.13055999987345], [-84.496243000464, 39.129459999873546], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "90", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699472.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49680000046392, 39.125559999873886, -84.49594300046402, 39.125959999873864], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49594300046402, 39.125959999873864], [-84.49594300046402, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49680000046392, 39.125559999873886], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "91", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699494.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49595400046402, 39.12515999987395, -84.49504300046412, 39.125559999873886], "geometry": {"coordinates": [[[-84.49595400046402, 39.12521199987394], [-84.49594300046402, 39.125559999873886], [-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.12515999987397], [-84.49534300046408, 39.12515999987395], [-84.49595400046402, 39.12521199987394]]], "type": "Polygon"}, "id": "92", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10743.5154, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 4.0, "ID": 699512.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 3.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 12.0, "RENTER_SIZ": 3.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49594300046402, 39.125459999873925, -84.49504300046412, 39.12595999987388], "geometry": {"coordinates": [[[-84.49594300046402, 39.125559999873886], [-84.49594300046402, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49504300046412, 39.125959999873864], [-84.49504300046412, 39.125459999873925], [-84.49594300046402, 39.125559999873886]]], "type": "Polygon"}, "id": "93", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1333.4528, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 3.0, "ID": 699531.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49674300046394, 39.125959999873864, -84.49554300046407, 39.127059999873794], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49604300046401, 39.12705999987378], [-84.49554300046407, 39.127059999873794], [-84.49564300046406, 39.12595999987388], [-84.49594300046402, 39.125959999873864], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "94", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610035002", "BLACK": 2.0, "BLOCK": "390610035002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 613.698, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 7.0, "ID": 699549.0, "IN_HOUSEHO": 2.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 67.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12515999987397, -84.49404300046422, 39.125459999873925], "geometry": {"coordinates": [[[-84.49504300046412, 39.12515999987397], [-84.49504300046412, 39.125459999873925], [-84.49404300046422, 39.12535999987392], [-84.49404300046422, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49504300046412, 39.12515999987397]]], "type": "Polygon"}, "id": "95", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.67, "AVG_HHSIZE": 4.4, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23761.9038, "F1_RACE": 22.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 1.0, "ID": 699568.0, "IN_HOUSEHO": 22.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.5, "POPULATION": 22.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12535999987392, -84.49394300046424, 39.125959999873864], "geometry": {"coordinates": [[[-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.125959999873864], [-84.49394300046424, 39.12585999987388], [-84.49404300046422, 39.12535999987392], [-84.49504300046412, 39.125459999873925]]], "type": "Polygon"}, "id": "96", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 15.0, "AGE_25_34": 3.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 35.0, "BLOCK": "390610021001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18341.2616, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 3.0, "ID": 699587.0, "IN_HOUSEHO": 36.0, "MALE": 17.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 36.0, "RENTER_SIZ": 3.18, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49564300046406, 39.125959999873864, -84.49484300046414, 39.127059999873794], "geometry": {"coordinates": [[[-84.49554300046407, 39.127059999873794], [-84.49484300046414, 39.1269599998738], [-84.49504300046412, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49554300046407, 39.127059999873794]]], "type": "Polygon"}, "id": "97", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.4, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5478.7666, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 3.0, "ID": 699604.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.1257599998739, -84.49354300046429, 39.12745999987374], "geometry": {"coordinates": [[[-84.49484300046414, 39.1269599998738], [-84.49484300046416, 39.12745999987374], [-84.49424300046421, 39.12745999987374], [-84.4943430004642, 39.12635999987383], [-84.49354300046429, 39.12635999987383], [-84.49364300046426, 39.1257599998739], [-84.49394300046424, 39.12585999987388], [-84.49504300046412, 39.125959999873864], [-84.49484300046414, 39.1269599998738]]], "type": "Polygon"}, "id": "98", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 1.0, "AGE_18": 29.0, "AGE_20_24": 3.0, "AGE_21": 28.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 21.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 1.73, "BG": "390610035002", "BLACK": 16.0, "BLOCK": "390610035002011", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7803.0494, "F1_RACE": 36.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 12.0, "ID": 699622.0, "IN_HOUSEHO": 38.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.2, "POPULATION": 38.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 19.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49664300046395, 39.12705999987378, -84.49584300046403, 39.127559999873725], "geometry": {"coordinates": [[[-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.12755999987371], [-84.49584300046403, 39.127559999873725], [-84.49604300046401, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49664300046395, 39.12705999987378]]], "type": "Polygon"}, "id": "99", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699644.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49604300046401, 39.1269599998738, -84.49484300046414, 39.127559999873725], "geometry": {"coordinates": [[[-84.49604300046401, 39.12705999987378], [-84.49584300046403, 39.127559999873725], [-84.49484300046416, 39.12745999987374], [-84.49484300046414, 39.1269599998738], [-84.49554300046407, 39.127059999873794], [-84.49604300046401, 39.12705999987378]]], "type": "Polygon"}, "id": "100", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.91, "BG": "390610035002", "BLACK": 21.0, "BLOCK": "390610035002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10599.3148, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 699662.0, "IN_HOUSEHO": 21.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 45.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 21.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49634300046398, 39.12755999987371, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49584300046403, 39.127559999873725], [-84.49634300046398, 39.12755999987371], [-84.4953430004641, 39.12935999987355], [-84.49464300046418, 39.12935999987355], [-84.49524300046413, 39.12895999987361], [-84.49562900046406, 39.12805999987366], [-84.49584300046403, 39.127559999873725]]], "type": "Polygon"}, "id": "101", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699681.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49584300046403, 39.12745999987374, -84.49484300046416, 39.12805999987368], "geometry": {"coordinates": [[[-84.49484300046416, 39.12745999987374], [-84.49584300046403, 39.127559999873725], [-84.49562900046406, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49484300046416, 39.12805999987366], [-84.49484300046416, 39.12745999987374]]], "type": "Polygon"}, "id": "102", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.43, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9245.804, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 699700.0, "IN_HOUSEHO": 17.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49562900046406, 39.12805999987366, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49484300046416, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49562900046406, 39.12805999987366], [-84.49524300046413, 39.12895999987361], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "103", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.17, "BG": "390610035002", "BLACK": 24.0, "BLOCK": "390610035002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9977.1555, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 7.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 0.0, "ID": 699718.0, "IN_HOUSEHO": 26.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 26.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12505999987396, -84.49304300046434, 39.125359999873936], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49404300046422, 39.12535999987392], [-84.49304300046434, 39.125359999873936], [-84.49314300046431, 39.12505999987396], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "104", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 14.0, "AGE_20_24": 4.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 13.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.09, "AVG_HHSIZE": 4.09, "BG": "390610021001", "BLACK": 38.0, "BLOCK": "390610021001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 50628.9598, "F1_RACE": 41.0, "F2_RACES": 4.0, "FEMALE": 29.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 2.0, "ID": 699736.0, "IN_HOUSEHO": 45.0, "MALE": 16.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 9.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 45.0, "RENTER_SIZ": 4.09, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49294300046445, 39.140859999872504, -84.48964300046482, 39.14215999987238], "geometry": {"coordinates": [[[-84.49094300046467, 39.140859999872504], [-84.49294300046445, 39.140959999872514], [-84.49244300046452, 39.141659999872424], [-84.49224300046454, 39.14215999987238], [-84.48964300046482, 39.142059999872394], [-84.48974300046478, 39.140859999872504], [-84.49094300046467, 39.140859999872504]]], "type": "Polygon"}, "id": "105", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 13.0, "AGE_15_19": 20.0, "AGE_18": 213.0, "AGE_20_24": 14.0, "AGE_21": 203.0, "AGE_25_34": 27.0, "AGE_35_44": 31.0, "AGE_45_54": 19.0, "AGE_55_59": 9.0, "AGE_5_9": 27.0, "AGE_60_64": 16.0, "AGE_62": 102.0, "AGE_65": 89.0, "AGE_65_74": 47.0, "AGE_75_84": 31.0, "AGE_85": 11.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.7, "BG": "390610067004", "BLACK": 282.0, "BLOCK": "390610067004007", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21989.7915, "F1_RACE": 285.0, "F2_RACES": 2.0, "FEMALE": 176.0, "FEMALE_18": 136.0, "FEMALE_65": 67.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 124.0, "HOUSEHOLDS": 169.0, "HSNG_UNITS": 205.0, "HU_OCCUPIE": 169.0, "HU_VACANT": 36.0, "ID": 711584.0, "IN_HOUSEHO": 287.0, "MALE": 111.0, "MALE_18": 77.0, "MALE_65": 22.0, "MEDIAN_AGE": 41.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 155.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.43, "POPULATION": 287.0, "RENTER_SIZ": 1.63, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4915430004646, 39.14275999987236, -84.48564300046525, 39.14415999987221], "geometry": {"coordinates": [[[-84.4915430004646, 39.143159999872296], [-84.49104300046467, 39.14415999987221], [-84.48564300046525, 39.14365999987227], [-84.48594300046523, 39.14315999987232], [-84.48704300046509, 39.14275999987236], [-84.488043000465, 39.142859999872336], [-84.48864300046493, 39.14295999987232], [-84.4915430004646, 39.143159999872296]]], "type": "Polygon"}, "id": "106", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 90.0, "AGE_20_24": 14.0, "AGE_21": 83.0, "AGE_25_34": 18.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 9.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 129.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.73, "BG": "390610067004", "BLACK": 129.0, "BLOCK": "390610067004002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6913.3996, "F1_RACE": 134.0, "F2_RACES": 0.0, "FEMALE": 66.0, "FEMALE_18": 54.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 9.0, "ID": 711604.0, "IN_HOUSEHO": 134.0, "MALE": 68.0, "MALE_18": 36.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.6, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 134.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 134.0, "RENTER_SIZ": 2.54, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49224300046455, 39.145359999872106, -84.48904300046492, 39.14805999987183], "geometry": {"coordinates": [[[-84.49224300046455, 39.14545999987209], [-84.49213100046458, 39.14691599987195], [-84.4920430004646, 39.14805999987183], [-84.49040800046478, 39.14773299987189], [-84.48904300046492, 39.14745999987187], [-84.48944300046487, 39.146759999871975], [-84.4899430004648, 39.14605999987202], [-84.4900430004648, 39.14585999987206], [-84.49034300046476, 39.145359999872106], [-84.49224300046455, 39.14545999987209]]], "type": "Polygon"}, "id": "107", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 20.0, "AGE_15_19": 17.0, "AGE_18": 77.0, "AGE_20_24": 5.0, "AGE_21": 67.0, "AGE_25_34": 13.0, "AGE_35_44": 24.0, "AGE_45_54": 11.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 120.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.84, "AVG_HHSIZE": 2.67, "BG": "390610068002", "BLACK": 118.0, "BLOCK": "390610068002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5379.6715, "F1_RACE": 118.0, "F2_RACES": 2.0, "FEMALE": 56.0, "FEMALE_18": 38.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 15.0, "ID": 711620.0, "IN_HOUSEHO": 120.0, "MALE": 64.0, "MALE_18": 39.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 120.0, "RENTER_SIZ": 2.72, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49224300046454, 39.141859999872445, -84.48374300046545, 39.14365999987227], "geometry": {"coordinates": [[[-84.49224300046454, 39.14215999987238], [-84.49194300046456, 39.14255999987233], [-84.4915430004646, 39.143159999872296], [-84.48864300046493, 39.14295999987232], [-84.488043000465, 39.142859999872336], [-84.48704300046509, 39.14275999987236], [-84.48594300046523, 39.14315999987232], [-84.48564300046525, 39.14365999987227], [-84.48464300046537, 39.143559999872295], [-84.48404300046543, 39.143559999872295], [-84.48387800046544, 39.142776999872375], [-84.48374300046545, 39.142159999872405], [-84.48380000046545, 39.14209499987244], [-84.48474300046534, 39.14195999987244], [-84.48544300046525, 39.14185999987246], [-84.48654300046516, 39.141859999872445], [-84.48964300046482, 39.142059999872394], [-84.49224300046454, 39.14215999987238]]], "type": "Polygon"}, "id": "108", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 22.0, "AGE_15_19": 9.0, "AGE_18": 172.0, "AGE_20_24": 17.0, "AGE_21": 170.0, "AGE_25_34": 32.0, "AGE_35_44": 37.0, "AGE_45_54": 25.0, "AGE_55_59": 18.0, "AGE_5_9": 27.0, "AGE_60_64": 6.0, "AGE_62": 36.0, "AGE_65": 35.0, "AGE_65_74": 23.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 249.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.87, "AVG_HHSIZE": 2.37, "BG": "390610067004", "BLACK": 249.0, "BLOCK": "390610067004001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7469.0991, "F1_RACE": 254.0, "F2_RACES": 0.0, "FEMALE": 141.0, "FEMALE_18": 103.0, "FEMALE_65": 27.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 38.0, "HOUSEHOLDS": 107.0, "HSNG_UNITS": 129.0, "HU_OCCUPIE": 107.0, "HU_VACANT": 22.0, "ID": 711663.0, "IN_HOUSEHO": 254.0, "MALE": 113.0, "MALE_18": 69.0, "MALE_65": 8.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.23, "POPULATION": 254.0, "RENTER_SIZ": 2.47, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49054300046475, 39.144759999872164, -84.48424300046541, 39.14585999987206], "geometry": {"coordinates": [[[-84.49034300046476, 39.145359999872106], [-84.4900430004648, 39.14585999987206], [-84.48616500046522, 39.14572599987209], [-84.48424300046541, 39.14565999987211], [-84.48424300046541, 39.144759999872164], [-84.49054300046475, 39.14495999987214], [-84.49034300046476, 39.145359999872106]]], "type": "Polygon"}, "id": "109", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 43.0, "AGE_15_19": 29.0, "AGE_18": 221.0, "AGE_20_24": 27.0, "AGE_21": 211.0, "AGE_25_34": 49.0, "AGE_35_44": 44.0, "AGE_45_54": 31.0, "AGE_55_59": 23.0, "AGE_5_9": 60.0, "AGE_60_64": 7.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 373.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 2.86, "BG": "390610066002", "BLACK": 373.0, "BLOCK": "390610066002002", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18402.2275, "F1_RACE": 375.0, "F2_RACES": 0.0, "FEMALE": 213.0, "FEMALE_18": 134.0, "FEMALE_65": 20.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 90.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 131.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 131.0, "HU_VACANT": 19.0, "ID": 711690.0, "IN_HOUSEHO": 375.0, "MALE": 162.0, "MALE_18": 87.0, "MALE_65": 15.0, "MEDIAN_AGE": 25.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 374.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 106.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.8, "POPULATION": 375.0, "RENTER_SIZ": 2.88, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49104300046467, 39.143559999872295, -84.48124300046575, 39.146259999872036], "geometry": {"coordinates": [[[-84.48564300046525, 39.14365999987227], [-84.49104300046467, 39.14415999987221], [-84.49054300046475, 39.14495999987214], [-84.48424300046541, 39.144759999872164], [-84.48424300046541, 39.14565999987211], [-84.48294300046555, 39.1456599998721], [-84.48234300046563, 39.14585999987211], [-84.48124300046575, 39.146259999872036], [-84.48214300046564, 39.1456599998721], [-84.48394300046544, 39.14395999987227], [-84.48464300046537, 39.143559999872295], [-84.48564300046525, 39.14365999987227]]], "type": "Polygon"}, "id": "110", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 24.0, "AGE_15_19": 28.0, "AGE_18": 147.0, "AGE_20_24": 18.0, "AGE_21": 132.0, "AGE_25_34": 24.0, "AGE_35_44": 36.0, "AGE_45_54": 26.0, "AGE_55_59": 7.0, "AGE_5_9": 17.0, "AGE_60_64": 7.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 9.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 210.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 6.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.96, "BG": "390610066002", "BLACK": 205.0, "BLOCK": "390610066002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6572.2998, "F1_RACE": 214.0, "F2_RACES": 5.0, "FEMALE": 128.0, "FEMALE_18": 94.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 54.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 74.0, "HSNG_UNITS": 90.0, "HU_OCCUPIE": 74.0, "HU_VACANT": 16.0, "ID": 711710.0, "IN_HOUSEHO": 219.0, "MALE": 91.0, "MALE_18": 53.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 218.0, "OCCHU_OWNE": 37.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.38, "POPULATION": 219.0, "RENTER_SIZ": 2.54, "THEFT": 20, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48464300046537, 39.143559999872295, -84.48394300046544, 39.14395999987227], "geometry": {"coordinates": [[[-84.48464300046537, 39.143559999872295], [-84.48394300046544, 39.14395999987227], [-84.48404300046543, 39.143559999872295], [-84.48464300046537, 39.143559999872295]]], "type": "Polygon"}, "id": "111", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 711733.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4900430004648, 39.1456599998721, -84.48234300046563, 39.14745999987187], "geometry": {"coordinates": [[[-84.4899430004648, 39.14605999987202], [-84.48944300046487, 39.146759999871975], [-84.48904300046492, 39.14745999987187], [-84.48604300046524, 39.14725999987195], [-84.48534300046532, 39.147259999871956], [-84.48484300046536, 39.14705999987198], [-84.48424300046543, 39.146759999871996], [-84.48294300046557, 39.14735999987194], [-84.48244300046561, 39.146959999871996], [-84.48244300046561, 39.14655999987201], [-84.48234300046563, 39.14585999987211], [-84.48294300046555, 39.1456599998721], [-84.48424300046541, 39.14565999987211], [-84.48616500046522, 39.14572599987209], [-84.4900430004648, 39.14585999987206], [-84.4899430004648, 39.14605999987202]]], "type": "Polygon"}, "id": "112", "properties": {"AGE_0_5": 36.0, "AGE_10_14": 41.0, "AGE_15_19": 39.0, "AGE_18": 276.0, "AGE_20_24": 28.0, "AGE_21": 261.0, "AGE_25_34": 52.0, "AGE_35_44": 62.0, "AGE_45_54": 41.0, "AGE_55_59": 21.0, "AGE_5_9": 51.0, "AGE_60_64": 17.0, "AGE_62": 54.0, "AGE_65": 45.0, "AGE_65_74": 28.0, "AGE_75_84": 10.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 429.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 7.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.42, "BG": "390610066001", "BLACK": 424.0, "BLOCK": "390610066001004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10939.7842, "F1_RACE": 428.0, "F2_RACES": 5.0, "FEMALE": 220.0, "FEMALE_18": 153.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 107.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 179.0, "HSNG_UNITS": 215.0, "HU_OCCUPIE": 179.0, "HU_VACANT": 36.0, "ID": 711749.0, "IN_HOUSEHO": 433.0, "MALE": 213.0, "MALE_18": 123.0, "MALE_65": 17.0, "MEDIAN_AGE": 29.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 433.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 133.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 433.0, "RENTER_SIZ": 2.28, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51444400046199, 39.121859999874175, -84.50834300046267, 39.125559999873815], "geometry": {"coordinates": [[[-84.51444400046199, 39.12305999987405], [-84.514344000462, 39.12335999987403], [-84.51404400046205, 39.12425999987396], [-84.5128440004622, 39.125559999873815], [-84.50914400046258, 39.1251489998739], [-84.50834300046267, 39.12505999987389], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12265999987413], [-84.50904300046258, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.51064300046241, 39.1227599998741], [-84.51074300046238, 39.12235999987413], [-84.51114300046235, 39.122159999874164], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12225999987413], [-84.51304300046216, 39.12295999987407], [-84.5135430004621, 39.12295999987407], [-84.51384400046206, 39.123059999874044], [-84.51444400046199, 39.12305999987405]]], "type": "Polygon"}, "id": "113", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 38.0, "AGE_15_19": 27.0, "AGE_18": 210.0, "AGE_20_24": 42.0, "AGE_21": 192.0, "AGE_25_34": 62.0, "AGE_35_44": 39.0, "AGE_45_54": 34.0, "AGE_55_59": 5.0, "AGE_5_9": 31.0, "AGE_60_64": 4.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 12.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 308.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 30.0, "AREA": 0.06, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.08, "AVG_HHSIZE": 2.25, "BG": "390610023001", "BLACK": 308.0, "BLOCK": "390610023001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5813.2877, "F1_RACE": 340.0, "F2_RACES": 0.0, "FEMALE": 183.0, "FEMALE_18": 120.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 151.0, "HSNG_UNITS": 194.0, "HU_OCCUPIE": 151.0, "HU_VACANT": 43.0, "ID": 656719.0, "IN_HOUSEHO": 340.0, "MALE": 157.0, "MALE_18": 90.0, "MALE_65": 5.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 340.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 137.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.29, "POPULATION": 340.0, "RENTER_SIZ": 2.25, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51074300046238, 39.12235999987413, -84.50954300046251, 39.1227599998741], "geometry": {"coordinates": [[[-84.51074300046238, 39.12235999987413], [-84.51064300046241, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.50964300046252, 39.12235999987413], [-84.51074300046238, 39.12235999987413]]], "type": "Polygon"}, "id": "114", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 12.0, "AGE_18": 36.0, "AGE_20_24": 9.0, "AGE_21": 31.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 18.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 90.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.09, "BG": "390610023001", "BLACK": 90.0, "BLOCK": "390610023001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 55229.6771, "F1_RACE": 90.0, "F2_RACES": 0.0, "FEMALE": 51.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 11.0, "ID": 656750.0, "IN_HOUSEHO": 90.0, "MALE": 39.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 90.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 90.0, "RENTER_SIZ": 4.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4766430004661, 39.1243599998741, -84.47484300046631, 39.12695999987387], "geometry": {"coordinates": [[[-84.4766430004661, 39.1243599998741], [-84.47644300046613, 39.12675999987388], [-84.47484300046631, 39.12695999987387], [-84.47524300046624, 39.12455999987408], [-84.4766430004661, 39.1243599998741]]], "type": "Polygon"}, "id": "115", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 124.0, "AGE_20_24": 21.0, "AGE_21": 121.0, "AGE_25_34": 36.0, "AGE_35_44": 24.0, "AGE_45_54": 20.0, "AGE_55_59": 7.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 58.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.66, "BG": "390610042002", "BLACK": 86.0, "BLOCK": "390610042002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10984.0124, "F1_RACE": 144.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 65.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 9.0, "ID": 738259.0, "IN_HOUSEHO": 144.0, "MALE": 71.0, "MALE_18": 59.0, "MALE_65": 3.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 144.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 144.0, "RENTER_SIZ": 1.45, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 58.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47524300046624, 39.12455999987408, -84.47374300046643, 39.12695999987387], "geometry": {"coordinates": [[[-84.47484300046631, 39.12695999987387], [-84.47374300046643, 39.126759999873904], [-84.47394300046638, 39.12455999987409], [-84.47524300046624, 39.12455999987408], [-84.47484300046631, 39.12695999987387]]], "type": "Polygon"}, "id": "116", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 172.0, "AGE_20_24": 9.0, "AGE_21": 167.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 26.0, "AGE_55_59": 19.0, "AGE_5_9": 2.0, "AGE_60_64": 15.0, "AGE_62": 67.0, "AGE_65": 62.0, "AGE_65_74": 29.0, "AGE_75_84": 26.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 146.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.52, "AVG_HHSIZE": 1.28, "BG": "390610042002", "BLACK": 144.0, "BLOCK": "390610042002003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17808.0053, "F1_RACE": 182.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 97.0, "FEMALE_65": 41.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 123.0, "HOUSEHOLDS": 144.0, "HSNG_UNITS": 147.0, "HU_OCCUPIE": 144.0, "HU_VACANT": 3.0, "ID": 738277.0, "IN_HOUSEHO": 184.0, "MALE": 78.0, "MALE_18": 75.0, "MALE_65": 21.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 128.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 184.0, "RENTER_SIZ": 1.16, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.47644300046613, 39.12675999987388, -84.47454300046634, 39.12835999987374], "geometry": {"coordinates": [[[-84.47644300046613, 39.12675999987388], [-84.47614300046617, 39.12805999987374], [-84.47464300046634, 39.12835999987374], [-84.47454300046634, 39.128059999873756], [-84.47484300046631, 39.12695999987387], [-84.47644300046613, 39.12675999987388]]], "type": "Polygon"}, "id": "117", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 39.0, "AGE_20_24": 5.0, "AGE_21": 33.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.08, "BG": "390610042001", "BLACK": 29.0, "BLOCK": "390610042001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6338.7504, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 11.0, "ID": 738294.0, "IN_HOUSEHO": 50.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.0, "MSA": "1640", "NH_WHITE": 20.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 50.0, "RENTER_SIZ": 1.79, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 20.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47614300046617, 39.12805999987374, -84.47434300046636, 39.129559999873614], "geometry": {"coordinates": [[[-84.47564300046623, 39.12945999987363], [-84.47434300046636, 39.129559999873614], [-84.47464300046634, 39.12835999987374], [-84.47614300046617, 39.12805999987374], [-84.47564300046623, 39.12945999987363]]], "type": "Polygon"}, "id": "118", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 13.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.27, "BG": "390610042001", "BLACK": 19.0, "BLOCK": "390610042001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5276.5591, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 738313.0, "IN_HOUSEHO": 34.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 34.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47484300046631, 39.126759999873904, -84.47354300046645, 39.128059999873756], "geometry": {"coordinates": [[[-84.47454300046634, 39.128059999873756], [-84.47354300046645, 39.127959999873795], [-84.47374300046643, 39.126759999873904], [-84.47484300046631, 39.12695999987387], [-84.47454300046634, 39.128059999873756]]], "type": "Polygon"}, "id": "119", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 62.0, "AGE_20_24": 7.0, "AGE_21": 60.0, "AGE_25_34": 28.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.52, "BG": "390610042001", "BLACK": 24.0, "BLOCK": "390610042001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14531.7777, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 4.0, "ID": 738330.0, "IN_HOUSEHO": 67.0, "MALE": 27.0, "MALE_18": 25.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 43.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 67.0, "RENTER_SIZ": 1.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 43.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52004400046148, 39.134959999872954, -84.51574400046195, 39.140859999872404], "geometry": {"coordinates": [[[-84.52004400046148, 39.13505999987293], [-84.51954400046156, 39.14045999987243], [-84.5174440004618, 39.140859999872404], [-84.5183440004617, 39.13995999987247], [-84.51854400046167, 39.13955999987251], [-84.51804400046173, 39.138959999872554], [-84.51574400046195, 39.138259999872645], [-84.51764400046174, 39.136959999872786], [-84.51914400046158, 39.134959999872954], [-84.52004400046148, 39.13505999987293]], [[-84.5190440004616, 39.13855999987259], [-84.51854400046167, 39.13835999987263], [-84.51844400046168, 39.138559999872584], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "120", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 23.0, "AGE_18": 116.0, "AGE_20_24": 86.0, "AGE_21": 55.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 8.0, "AP_ASIAN": 7.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.04, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 50.0, "BLOCK": "390610030003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2745.6706, "F1_RACE": 107.0, "F2_RACES": 9.0, "FEMALE": 36.0, "FEMALE_18": 36.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 116.0, "GROUP_QUAR": 116.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683125.0, "IN_HOUSEHO": 0.0, "MALE": 80.0, "MALE_18": 80.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 50.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 116.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 52.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5190440004616, 39.13835999987263, -84.51844400046168, 39.13855999987259], "geometry": {"coordinates": [[[-84.5190440004616, 39.13855999987259], [-84.51844400046168, 39.138559999872584], [-84.51854400046167, 39.13835999987263], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "121", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683147.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5183440004617, 39.13995999987247, -84.51714400046184, 39.140859999872404], "geometry": {"coordinates": [[[-84.5183440004617, 39.13995999987247], [-84.5174440004618, 39.140859999872404], [-84.51714400046184, 39.140559999872444], [-84.51754400046178, 39.14005999987246], [-84.5183440004617, 39.13995999987247]]], "type": "Polygon"}, "id": "122", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683161.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51954400046156, 39.138259999872645, -84.51534400046202, 39.143259999872164], "geometry": {"coordinates": [[[-84.5193440004616, 39.14235999987225], [-84.51914400046164, 39.143259999872164], [-84.51664400046191, 39.14225999987227], [-84.51544400046203, 39.14215999987227], [-84.51544400046203, 39.14195999987231], [-84.51534400046202, 39.13945999987253], [-84.51574400046195, 39.138259999872645], [-84.51804400046173, 39.138959999872554], [-84.51854400046167, 39.13955999987251], [-84.5183440004617, 39.13995999987247], [-84.51754400046178, 39.14005999987246], [-84.51714400046184, 39.140559999872444], [-84.5174440004618, 39.140859999872404], [-84.51954400046156, 39.14045999987243], [-84.51944400046159, 39.14105999987236], [-84.51944400046159, 39.14155999987233], [-84.5193440004616, 39.14235999987225]]], "type": "Polygon"}, "id": "123", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683177.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51814400046163, 39.12725999987368, -84.51454400046204, 39.12815999987359], "geometry": {"coordinates": [[[-84.51814400046162, 39.12745999987365], [-84.51814400046163, 39.12815999987359], [-84.51454400046204, 39.12785999987363], [-84.51454400046204, 39.12725999987368], [-84.51704400046174, 39.12735999987365], [-84.51814400046162, 39.12745999987365]]], "type": "Polygon"}, "id": "124", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 14.0, "AGE_18": 71.0, "AGE_20_24": 47.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 65.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 5.0, "BLOCK": "390610025001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8291.3463, "F1_RACE": 71.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 25.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 2.0, "ID": 683241.0, "IN_HOUSEHO": 74.0, "MALE": 48.0, "MALE_18": 46.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 61.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 74.0, "RENTER_SIZ": 2.0, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 62.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51964400046147, 39.127859999873614, -84.51284400046222, 39.12965999987345], "geometry": {"coordinates": [[[-84.51964400046147, 39.12825999987355], [-84.5194440004615, 39.12855999987354], [-84.51904400046153, 39.12855999987355], [-84.51824400046162, 39.12865999987352], [-84.51754400046171, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51724400046174, 39.12945999987347], [-84.51362800046212, 39.12913099987351], [-84.51284400046222, 39.1290599998735], [-84.51284400046222, 39.12845999987356], [-84.51368300046212, 39.12852699987354], [-84.51374400046211, 39.127859999873614], [-84.51454400046204, 39.12785999987363], [-84.51814400046163, 39.12815999987359], [-84.51894400046154, 39.12825999987357], [-84.51964400046147, 39.12825999987355]]], "type": "Polygon"}, "id": "125", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 744.0, "AGE_18": 895.0, "AGE_20_24": 148.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 14.0, "AP_ASIAN": 32.0, "AP_BLACK": 228.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 657.0, "AREA": 0.03, "ASIAN": 26.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030003", "BLACK": 212.0, "BLOCK": "390610030003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35491.7198, "F1_RACE": 873.0, "F2_RACES": 27.0, "FEMALE": 495.0, "FEMALE_18": 492.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 896.0, "GROUP_QUAR": 896.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 683260.0, "IN_HOUSEHO": 4.0, "MALE": 405.0, "MALE_18": 403.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 632.0, "NOT_HISPAN": 895.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 900.0, "RENTER_SIZ": 1.0, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 634.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51454400046204, 39.12715999987369, -84.51294400046218, 39.12785999987363], "geometry": {"coordinates": [[[-84.51454400046204, 39.12725999987368], [-84.51454400046204, 39.12785999987363], [-84.51374400046211, 39.127859999873614], [-84.51294400046218, 39.127859999873614], [-84.51304400046217, 39.12715999987369], [-84.5137440004621, 39.12715999987369], [-84.51454400046204, 39.12725999987368]]], "type": "Polygon"}, "id": "126", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 45.0, "AGE_20_24": 32.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 40.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.59, "BG": "390610033002", "BLACK": 14.0, "BLOCK": "390610033002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14728.9774, "F1_RACE": 57.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 5.0, "ID": 683329.0, "IN_HOUSEHO": 57.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.6, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 57.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 57.0, "RENTER_SIZ": 2.7, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51374400046211, 39.127859999873614, -84.51284400046222, 39.12852699987354], "geometry": {"coordinates": [[[-84.51374400046211, 39.127859999873614], [-84.51368300046212, 39.12852699987354], [-84.51284400046222, 39.12845999987356], [-84.51294400046218, 39.127859999873614], [-84.51374400046211, 39.127859999873614]]], "type": "Polygon"}, "id": "127", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683349.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51744400046172, 39.12895999987351, -84.51094400046243, 39.13305999987313], "geometry": {"coordinates": [[[-84.51614400046188, 39.13235999987321], [-84.515044000462, 39.13305999987313], [-84.51244400046228, 39.132859999873176], [-84.51264400046226, 39.13165999987326], [-84.51094400046243, 39.1314599998733], [-84.51114400046241, 39.13025999987339], [-84.51124300046237, 39.12895999987351], [-84.51284400046222, 39.1290599998735], [-84.51362800046212, 39.12913099987351], [-84.51724400046174, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51734400046173, 39.12985999987343], [-84.51693200046178, 39.13071799987334], [-84.51614400046188, 39.13235999987321]]], "type": "Polygon"}, "id": "128", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 561.0, "AGE_18": 617.0, "AGE_20_24": 55.0, "AGE_21": 22.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 19.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 538.0, "AREA": 0.07, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 64.0, "BLOCK": "390610030002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8792.3227, "F1_RACE": 610.0, "F2_RACES": 8.0, "FEMALE": 238.0, "FEMALE_18": 238.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 617.0, "GROUP_QUAR": 617.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683367.0, "IN_HOUSEHO": 1.0, "MALE": 380.0, "MALE_18": 379.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 524.0, "NOT_HISPAN": 610.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 618.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 532.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5127080004622, 39.126106999873784, -84.5119480004623, 39.12685799987372], "geometry": {"coordinates": [[[-84.51234600046223, 39.126106999873784], [-84.51264400046222, 39.12655999987375], [-84.5127080004622, 39.12665699987375], [-84.51234400046225, 39.12675999987372], [-84.51214200046228, 39.12685799987372], [-84.5119480004623, 39.126554999873754], [-84.51204300046227, 39.12645999987375], [-84.51234600046223, 39.126106999873784]]], "type": "Polygon"}, "id": "129", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3777.4826, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 6.0, "ID": 683392.0, "IN_HOUSEHO": 4.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 4.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51214200046228, 39.126554999873754, -84.51144300046235, 39.127079999873686], "geometry": {"coordinates": [[[-84.51168300046233, 39.127079999873686], [-84.51144300046235, 39.127059999873715], [-84.5119480004623, 39.126554999873754], [-84.51214200046228, 39.12685799987372], [-84.51168300046233, 39.127079999873686]]], "type": "Polygon"}, "id": "130", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 3.0, "ID": 683432.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51304400046217, 39.127059999873715, -84.51074300046243, 39.127859999873614], "geometry": {"coordinates": [[[-84.51264400046223, 39.12715999987369], [-84.51304400046217, 39.12715999987369], [-84.51294400046218, 39.127859999873614], [-84.51074300046243, 39.12765999987362], [-84.51144300046235, 39.127059999873715], [-84.51168300046233, 39.127079999873686], [-84.51264400046223, 39.12715999987369]]], "type": "Polygon"}, "id": "131", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 8.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 28.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 3.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 34.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.6, "AVG_HHSIZE": 2.25, "BG": "390610033002", "BLACK": 24.0, "BLOCK": "390610033002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13335.9109, "F1_RACE": 61.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 683449.0, "IN_HOUSEHO": 54.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 2.25, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51294400046218, 39.12765999987362, -84.51074300046243, 39.1290599998735], "geometry": {"coordinates": [[[-84.51294400046218, 39.127859999873614], [-84.51284400046222, 39.12845999987356], [-84.51284400046222, 39.1290599998735], [-84.51124300046237, 39.12895999987351], [-84.51115700046239, 39.12844399987358], [-84.51114300046238, 39.12835999987357], [-84.51074300046243, 39.12765999987362], [-84.51294400046218, 39.127859999873614]]], "type": "Polygon"}, "id": "132", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 1.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.0239, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683469.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5128440004622, 39.12505999987389, -84.50824300046268, 39.127059999873715], "geometry": {"coordinates": [[[-84.51264400046222, 39.125759999873836], [-84.51234600046223, 39.126106999873784], [-84.51204300046227, 39.12645999987375], [-84.5119480004623, 39.126554999873754], [-84.51144300046235, 39.127059999873715], [-84.50878800046263, 39.126810999873726], [-84.5082430004627, 39.126759999873755], [-84.50824300046268, 39.12555999987385], [-84.50834300046267, 39.12505999987389], [-84.50914400046258, 39.1251489998739], [-84.5128440004622, 39.125559999873815], [-84.51264400046222, 39.125759999873836]]], "type": "Polygon"}, "id": "133", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 73.0, "AGE_20_24": 39.0, "AGE_21": 58.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.47, "BG": "390610023001", "BLACK": 36.0, "BLOCK": "390610023001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3467.9192, "F1_RACE": 84.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 19.0, "ID": 683489.0, "IN_HOUSEHO": 84.0, "MALE": 43.0, "MALE_18": 38.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 2.55, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 48.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51144300046235, 39.126759999873755, -84.5082430004627, 39.12765999987362], "geometry": {"coordinates": [[[-84.50878800046263, 39.126810999873726], [-84.51144300046235, 39.127059999873715], [-84.51074300046243, 39.12765999987362], [-84.50944300046257, 39.12745999987369], [-84.50864300046265, 39.12745999987367], [-84.5082430004627, 39.126759999873755], [-84.50878800046263, 39.126810999873726]]], "type": "Polygon"}, "id": "134", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 13.0, "AGE_21": 28.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.62, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5464.4265, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 683513.0, "IN_HOUSEHO": 34.0, "MALE": 16.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.72, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 31.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12745999987367, -84.50784300046276, 39.12895999987352], "geometry": {"coordinates": [[[-84.51124300046237, 39.12895999987351], [-84.51044300046247, 39.12895999987352], [-84.50944300046258, 39.128859999873555], [-84.50870500046265, 39.12876799987356], [-84.50784300046276, 39.12865999987357], [-84.50794300046275, 39.12845999987357], [-84.50844300046269, 39.12795999987365], [-84.50864300046265, 39.12745999987367], [-84.50944300046257, 39.12745999987369], [-84.51074300046243, 39.12765999987362], [-84.51114300046238, 39.12835999987357], [-84.51115700046239, 39.12844399987358], [-84.51124300046237, 39.12895999987351]]], "type": "Polygon"}, "id": "135", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683531.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 23, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12895999987351, -84.51024300046252, 39.13025999987339], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51024300046252, 39.13015999987343], [-84.51044300046247, 39.12895999987352], [-84.51124300046237, 39.12895999987351], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "136", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 14.0, "AGE_18": 58.0, "AGE_20_24": 27.0, "AGE_21": 38.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 47.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.48, "BG": "390610033002", "BLACK": 11.0, "BLOCK": "390610033002015", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16899.405, "F1_RACE": 62.0, "F2_RACES": 5.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 8.0, "ID": 683553.0, "IN_HOUSEHO": 67.0, "MALE": 35.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 44.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.4, "POPULATION": 67.0, "RENTER_SIZ": 2.73, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 45.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51264400046226, 39.1314599998733, -84.51084400046246, 39.132859999873176], "geometry": {"coordinates": [[[-84.51264400046226, 39.13165999987326], [-84.51244400046228, 39.132859999873176], [-84.51084400046246, 39.132759999873166], [-84.51094400046243, 39.1314599998733], [-84.51264400046226, 39.13165999987326]]], "type": "Polygon"}, "id": "137", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683571.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51044300046247, 39.128859999873555, -84.50934300046261, 39.13015999987343], "geometry": {"coordinates": [[[-84.51024300046252, 39.13015999987343], [-84.50934300046261, 39.13005999987343], [-84.50944300046258, 39.128859999873555], [-84.51044300046247, 39.12895999987352], [-84.51024300046252, 39.13015999987343]]], "type": "Polygon"}, "id": "138", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 8.0, "AGE_21": 21.0, "AGE_25_34": 11.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.69, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6312.6006, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 14.0, "ID": 683588.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 1.69, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51114400046241, 39.13015999987343, -84.51014300046252, 39.1314599998733], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51094400046243, 39.1314599998733], [-84.51014300046252, 39.1314599998733], [-84.51024300046252, 39.13015999987343], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "139", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 22.0, "AGE_18": 116.0, "AGE_20_24": 48.0, "AGE_21": 81.0, "AGE_25_34": 30.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 10.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 88.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 1.83, "BG": "390610033002", "BLACK": 27.0, "BLOCK": "390610033002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 31762.3412, "F1_RACE": 121.0, "F2_RACES": 5.0, "FEMALE": 44.0, "FEMALE_18": 42.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 69.0, "HSNG_UNITS": 77.0, "HU_OCCUPIE": 69.0, "HU_VACANT": 8.0, "ID": 683606.0, "IN_HOUSEHO": 126.0, "MALE": 82.0, "MALE_18": 74.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 86.0, "NOT_HISPAN": 125.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 62.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.14, "POPULATION": 126.0, "RENTER_SIZ": 1.79, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 86.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51024300046252, 39.13005999987343, -84.50924300046262, 39.1314599998733], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.51024300046252, 39.13015999987343], [-84.51014300046252, 39.1314599998733], [-84.50924300046262, 39.13135999987332], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "140", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 22.0, "AGE_21": 27.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 30.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.86, "BG": "390610033002", "BLACK": 9.0, "BLOCK": "390610033002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8925.1414, "F1_RACE": 39.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 0.0, "ID": 683623.0, "IN_HOUSEHO": 39.0, "MALE": 22.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.9, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 1.86, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50934300046261, 39.13005999987343, -84.5084430004627, 39.13135999987332], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.50924300046262, 39.13135999987332], [-84.5084430004627, 39.131259999873315], [-84.5085430004627, 39.13005999987343], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "141", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 14.0, "AGE_18": 66.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 58.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 2.03, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19615.1423, "F1_RACE": 70.0, "F2_RACES": 3.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 4.0, "ID": 683641.0, "IN_HOUSEHO": 73.0, "MALE": 45.0, "MALE_18": 40.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 4.0, "POPULATION": 73.0, "RENTER_SIZ": 1.97, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 55.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51094400046243, 39.1314599998733, -84.51004300046255, 39.132759999873166], "geometry": {"coordinates": [[[-84.51094400046243, 39.1314599998733], [-84.51084400046246, 39.132759999873166], [-84.51004300046255, 39.132659999873205], [-84.51014300046252, 39.1314599998733], [-84.51094400046243, 39.1314599998733]]], "type": "Polygon"}, "id": "142", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 95.0, "AGE_20_24": 55.0, "AGE_21": 77.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 6.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.1, "BG": "390610033002", "BLACK": 29.0, "BLOCK": "390610033002005", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 28178.8347, "F1_RACE": 102.0, "F2_RACES": 3.0, "FEMALE": 49.0, "FEMALE_18": 40.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 12.0, "ID": 683658.0, "IN_HOUSEHO": 105.0, "MALE": 56.0, "MALE_18": 55.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.5, "POPULATION": 105.0, "RENTER_SIZ": 2.08, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 58.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51014300046252, 39.13135999987332, -84.50914300046264, 39.132659999873205], "geometry": {"coordinates": [[[-84.51004300046255, 39.132659999873205], [-84.50984300046255, 39.132659999873205], [-84.50914300046264, 39.132659999873205], [-84.50924300046262, 39.13135999987332], [-84.51014300046252, 39.1314599998733], [-84.51004300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "143", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683676.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50924300046262, 39.131259999873315, -84.5084430004627, 39.132659999873205], "geometry": {"coordinates": [[[-84.50924300046262, 39.13135999987332], [-84.50914300046264, 39.132659999873205], [-84.50844300046272, 39.13255999987321], [-84.5084430004627, 39.131259999873315], [-84.50924300046262, 39.13135999987332]]], "type": "Polygon"}, "id": "144", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 64.0, "AGE_20_24": 31.0, "AGE_21": 51.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 42.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610033002", "BLACK": 25.0, "BLOCK": "390610033002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19013.5995, "F1_RACE": 65.0, "F2_RACES": 4.0, "FEMALE": 26.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 36.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 6.0, "ID": 683695.0, "IN_HOUSEHO": 69.0, "MALE": 43.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.9, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 69.0, "RENTER_SIZ": 1.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51914400046158, 39.134959999872954, -84.51474400046204, 39.138259999872645], "geometry": {"coordinates": [[[-84.51744400046175, 39.134959999872954], [-84.51914400046158, 39.134959999872954], [-84.51764400046174, 39.136959999872786], [-84.51574400046195, 39.138259999872645], [-84.51514400046202, 39.1377599998727], [-84.51494400046204, 39.1365599998728], [-84.515144000462, 39.13585999987289], [-84.51474400046204, 39.13565999987291], [-84.51644400046186, 39.13505999987293], [-84.51744400046175, 39.134959999872954]]], "type": "Polygon"}, "id": "145", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683712.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.515044000462, 39.132759999873166, -84.51054400046252, 39.13565999987291], "geometry": {"coordinates": [[[-84.51244400046228, 39.132859999873176], [-84.515044000462, 39.13305999987313], [-84.51484400046203, 39.13425999987301], [-84.51474400046204, 39.13565999987291], [-84.51384400046216, 39.13555999987291], [-84.51271800046229, 39.135491999872926], [-84.51212000046235, 39.13545599987292], [-84.51054400046252, 39.135359999872946], [-84.5106440004625, 39.13485999987298], [-84.51074400046248, 39.13405999987305], [-84.51084400046246, 39.132759999873166], [-84.51244400046228, 39.132859999873176]]], "type": "Polygon"}, "id": "146", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 10.0, "AGE_15_19": 249.0, "AGE_18": 1029.0, "AGE_20_24": 412.0, "AGE_21": 618.0, "AGE_25_34": 251.0, "AGE_35_44": 71.0, "AGE_45_54": 30.0, "AGE_55_59": 8.0, "AGE_5_9": 28.0, "AGE_60_64": 6.0, "AGE_62": 10.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 387.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 24.0, "AP_OTHER": 37.0, "AP_WHITE": 459.0, "AREA": 0.04, "ASIAN": 372.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.69, "AVG_HHSIZE": 1.92, "BG": "390610030002", "BLACK": 244.0, "BLOCK": "390610030002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27691.1011, "F1_RACE": 1072.0, "F2_RACES": 36.0, "FEMALE": 470.0, "FEMALE_18": 429.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 423.0, "GROUP_QUAR": 423.0, "HAWAIIAN": 5.0, "HH_FAMILY": 119.0, "HH_NONFAMI": 237.0, "HOUSEHOLDS": 356.0, "HSNG_UNITS": 362.0, "HU_OCCUPIE": 356.0, "HU_VACANT": 6.0, "ID": 683730.0, "IN_HOUSEHO": 685.0, "MALE": 638.0, "MALE_18": 600.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 422.0, "NOT_HISPAN": 1084.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 354.0, "OTHER_RACE": 15.0, "OWNER_SIZE": 1.5, "POPULATION": 1108.0, "RENTER_SIZ": 1.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 435.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50194300046337, 39.12465999987397, -84.4999430004636, 39.126359999873806], "geometry": {"coordinates": [[[-84.50174300046339, 39.12475999987396], [-84.50194300046337, 39.125159999873944], [-84.5017430004634, 39.126359999873806], [-84.4999430004636, 39.12625999987383], [-84.50014300046355, 39.12465999987397], [-84.50174300046339, 39.12475999987396]]], "type": "Polygon"}, "id": "147", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697320.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50324300046324, 39.127259999873715, -84.50164300046343, 39.12815999987364], "geometry": {"coordinates": [[[-84.50324300046324, 39.12735999987369], [-84.50314300046327, 39.12815999987364], [-84.50164300046343, 39.12805999987364], [-84.5018430004634, 39.127259999873715], [-84.50324300046324, 39.12735999987369]]], "type": "Polygon"}, "id": "148", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 3.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 13.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.13, "BG": "390610033001", "BLACK": 14.0, "BLOCK": "390610033001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6204.9883, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 8.0, "ID": 697337.0, "IN_HOUSEHO": 27.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 27.0, "RENTER_SIZ": 1.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 13.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.12805999987364, -84.50164300046343, 39.12865999987358], "geometry": {"coordinates": [[[-84.50314300046327, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50164300046343, 39.12805999987364], [-84.50314300046327, 39.12815999987364]]], "type": "Polygon"}, "id": "149", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 697355.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5018430004634, 39.126359999873806, -84.49914300046369, 39.12865999987358], "geometry": {"coordinates": [[[-84.50164300046343, 39.12805999987364], [-84.50164300046343, 39.12865999987358], [-84.49914300046369, 39.128259999873634], [-84.49984300046361, 39.127759999873675], [-84.50094300046348, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.5018430004634, 39.127259999873715], [-84.50164300046343, 39.12805999987364]]], "type": "Polygon"}, "id": "150", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697372.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50454300046312, 39.12795999987365, -84.50294300046332, 39.13085999987339], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50294300046332, 39.13075999987339], [-84.50324300046326, 39.128259999873634], [-84.50334300046325, 39.12815999987364], [-84.50454300046312, 39.12795999987365], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "151", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 119.0, "AGE_20_24": 35.0, "AGE_21": 109.0, "AGE_25_34": 26.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 8.0, "AGE_62": 13.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 2.0, "AP_WHITE": 52.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.66, "BG": "390610033001", "BLACK": 80.0, "BLOCK": "390610033001007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10556.7195, "F1_RACE": 137.0, "F2_RACES": 1.0, "FEMALE": 64.0, "FEMALE_18": 55.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 57.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 697392.0, "IN_HOUSEHO": 138.0, "MALE": 74.0, "MALE_18": 64.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 132.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 74.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.56, "POPULATION": 138.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 51.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13075999987339, -84.50284300046332, 39.13155999987331], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50424300046318, 39.13155999987331], [-84.50284300046332, 39.13145999987332], [-84.50294300046332, 39.13075999987339], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "152", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 8.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 10.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 71.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.52, "BG": "390610033001", "BLACK": 71.0, "BLOCK": "390610033001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23024.8535, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 7.0, "ID": 697411.0, "IN_HOUSEHO": 81.0, "MALE": 42.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.83, "POPULATION": 81.0, "RENTER_SIZ": 3.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 10.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13225999987324, -84.50414300046317, 39.13305999987318], "geometry": {"coordinates": [[[-84.50504300046309, 39.13235999987324], [-84.5049430004631, 39.13305999987318], [-84.50414300046319, 39.13305999987318], [-84.50414300046317, 39.13225999987324], [-84.50504300046309, 39.13235999987324]]], "type": "Polygon"}, "id": "153", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 15.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.82, "BG": "390610032002", "BLACK": 25.0, "BLOCK": "390610032002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16878.2214, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 0.0, "ID": 697428.0, "IN_HOUSEHO": 40.0, "MALE": 21.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 40.0, "RENTER_SIZ": 1.81, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13145999987332, -84.50274300046333, 39.13225999987324], "geometry": {"coordinates": [[[-84.50424300046318, 39.13155999987331], [-84.50414300046317, 39.13225999987324], [-84.50274300046333, 39.13215999987327], [-84.50284300046332, 39.13145999987332], [-84.50424300046318, 39.13155999987331]]], "type": "Polygon"}, "id": "154", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 35.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 5.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.59, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12002.0838, "F1_RACE": 43.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 697446.0, "IN_HOUSEHO": 44.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 4.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.5, "POPULATION": 44.0, "RENTER_SIZ": 2.31, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 5.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13215999987327, -84.50264300046334, 39.13305999987318], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.50264300046334, 39.13285999987319], [-84.50274300046333, 39.13215999987327], [-84.50414300046317, 39.13225999987324], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "155", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 10.0, "AGE_18": 79.0, "AGE_20_24": 33.0, "AGE_21": 66.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.17, "BG": "390610032002", "BLACK": 59.0, "BLOCK": "390610032002019", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24662.0841, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 50.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 4.0, "ID": 697463.0, "IN_HOUSEHO": 100.0, "MALE": 50.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 38.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 100.0, "RENTER_SIZ": 2.14, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 38.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.128259999873634, -84.50144300046345, 39.13075999987339], "geometry": {"coordinates": [[[-84.50294300046332, 39.13075999987339], [-84.50144300046345, 39.13065999987342], [-84.50154300046344, 39.12945999987352], [-84.50164300046343, 39.12865999987358], [-84.50324300046326, 39.128259999873634], [-84.50294300046332, 39.13075999987339]]], "type": "Polygon"}, "id": "156", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50294300046332, 39.13065999987342, -84.5012430004635, 39.132359999873266], "geometry": {"coordinates": [[[-84.50284300046332, 39.13145999987332], [-84.50274300046333, 39.13215999987327], [-84.50174300046343, 39.13225999987326], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13195999987329], [-84.50144300046345, 39.13065999987342], [-84.50294300046332, 39.13075999987339], [-84.50284300046332, 39.13145999987332]]], "type": "Polygon"}, "id": "157", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 150.0, "AGE_20_24": 13.0, "AGE_21": 144.0, "AGE_25_34": 30.0, "AGE_35_44": 27.0, "AGE_45_54": 27.0, "AGE_55_59": 14.0, "AGE_5_9": 18.0, "AGE_60_64": 8.0, "AGE_62": 33.0, "AGE_65": 28.0, "AGE_65_74": 17.0, "AGE_75_84": 8.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 179.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.79, "BG": "390610033001", "BLACK": 174.0, "BLOCK": "390610033001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 22368.6271, "F1_RACE": 188.0, "F2_RACES": 5.0, "FEMALE": 121.0, "FEMALE_18": 93.0, "FEMALE_65": 22.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 108.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 108.0, "HU_VACANT": 7.0, "ID": 697498.0, "IN_HOUSEHO": 193.0, "MALE": 72.0, "MALE_18": 57.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 189.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 103.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.0, "POPULATION": 193.0, "RENTER_SIZ": 1.73, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50274300046333, 39.13215999987327, -84.5012430004635, 39.13285999987319], "geometry": {"coordinates": [[[-84.50274300046333, 39.13215999987327], [-84.50264300046334, 39.13285999987319], [-84.5012430004635, 39.13285999987319], [-84.5012430004635, 39.132359999873266], [-84.50174300046343, 39.13225999987326], [-84.50274300046333, 39.13215999987327]]], "type": "Polygon"}, "id": "158", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 11.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 32.0, "BLOCK": "390610032002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15171.3464, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 1.0, "ID": 697517.0, "IN_HOUSEHO": 50.0, "MALE": 28.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 50.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 18.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50144300046345, 39.130459999873445, -84.49964300046366, 39.13265999987324], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.5012430004635, 39.13195999987329], [-84.5012430004635, 39.132359999873266], [-84.49964300046366, 39.13265999987324], [-84.49974300046365, 39.13155999987333], [-84.49994300046363, 39.130459999873445], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "159", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 6.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 23.0, "BLOCK": "390610034002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3035.2329, "F1_RACE": 33.0, "F2_RACES": 1.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 0.0, "ID": 697534.0, "IN_HOUSEHO": 34.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 34.0, "RENTER_SIZ": 1.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 9.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.13245999987321, -84.50734300046284, 39.13385999987311], "geometry": {"coordinates": [[[-84.50844300046272, 39.13255999987321], [-84.50834300046274, 39.13385999987311], [-84.50814300046274, 39.133859999873096], [-84.50734300046284, 39.133859999873096], [-84.50744300046281, 39.13245999987321], [-84.50844300046272, 39.13255999987321]]], "type": "Polygon"}, "id": "160", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 43.0, "AGE_20_24": 18.0, "AGE_21": 37.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 2.38, "BG": "390610032002", "BLACK": 36.0, "BLOCK": "390610032002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9965.0563, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 697553.0, "IN_HOUSEHO": 50.0, "MALE": 30.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.25, "POPULATION": 50.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 12.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50904300046265, 39.133859999873096, -84.50804300046278, 39.13515999987295], "geometry": {"coordinates": [[[-84.50904300046265, 39.133859999873096], [-84.50894300046268, 39.13515999987295], [-84.50804300046278, 39.13515999987295], [-84.50814300046274, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50904300046265, 39.133859999873096]]], "type": "Polygon"}, "id": "161", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 3.0, "AGE_18": 57.0, "AGE_20_24": 19.0, "AGE_21": 52.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.97, "BG": "390610032002", "BLACK": 45.0, "BLOCK": "390610032002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15926.4729, "F1_RACE": 68.0, "F2_RACES": 1.0, "FEMALE": 27.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 697572.0, "IN_HOUSEHO": 69.0, "MALE": 42.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.4, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 69.0, "RENTER_SIZ": 1.97, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50814300046274, 39.133859999873096, -84.50734300046284, 39.13515999987295], "geometry": {"coordinates": [[[-84.50804300046278, 39.13515999987295], [-84.50734300046285, 39.13505999987297], [-84.50734300046284, 39.133859999873096], [-84.50814300046274, 39.133859999873096], [-84.50804300046278, 39.13515999987295]]], "type": "Polygon"}, "id": "162", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 45.0, "AGE_20_24": 9.0, "AGE_21": 42.0, "AGE_25_34": 11.0, "AGE_35_44": 13.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.44, "BG": "390610032002", "BLACK": 44.0, "BLOCK": "390610032002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17524.9649, "F1_RACE": 59.0, "F2_RACES": 2.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 697590.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 61.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50944400046265, 39.13505999987297, -84.50544300046307, 39.137659999872724], "geometry": {"coordinates": [[[-84.50554300046306, 39.13585999987293], [-84.50554300046305, 39.13545999987295], [-84.50554300046305, 39.13515999987297], [-84.50714300046289, 39.13505999987297], [-84.50734300046285, 39.13505999987297], [-84.50804300046278, 39.13515999987295], [-84.50894300046268, 39.13515999987295], [-84.50904300046267, 39.13595999987288], [-84.50944400046265, 39.137659999872724], [-84.50826100046277, 39.137578999872744], [-84.50644300046295, 39.136759999872815], [-84.50544300046307, 39.13665999987285], [-84.50554300046306, 39.13585999987293]]], "type": "Polygon"}, "id": "163", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697608.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50734300046285, 39.1336599998731, -84.50554300046305, 39.13515999987297], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50734300046285, 39.13505999987297], [-84.50714300046289, 39.13505999987297], [-84.50554300046305, 39.13515999987297], [-84.50564300046304, 39.134459999873044], [-84.50574300046303, 39.1336599998731], [-84.50654300046293, 39.13375999987311], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "164", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 44.0, "AGE_20_24": 13.0, "AGE_21": 43.0, "AGE_25_34": 14.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.21, "BG": "390610032002", "BLACK": 34.0, "BLOCK": "390610032002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6263.9059, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 23.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 697632.0, "IN_HOUSEHO": 53.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 53.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 17.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13305999987318, -84.5049430004631, 39.133659999873124], "geometry": {"coordinates": [[[-84.505843000463, 39.13315999987314], [-84.50574300046303, 39.1336599998731], [-84.5049430004631, 39.133659999873124], [-84.5049430004631, 39.13305999987318], [-84.505843000463, 39.13315999987314]]], "type": "Polygon"}, "id": "165", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 1.0, "AGE_21": 9.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 3.0, "BLOCK": "390610032002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5745.7963, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 697652.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 10.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50574300046303, 39.1336599998731, -84.50484300046311, 39.134459999873044], "geometry": {"coordinates": [[[-84.50574300046303, 39.1336599998731], [-84.50564300046304, 39.134459999873044], [-84.50484300046311, 39.13435999987304], [-84.5049430004631, 39.133659999873124], [-84.50574300046303, 39.1336599998731]]], "type": "Polygon"}, "id": "166", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610032002", "BLACK": 24.0, "BLOCK": "390610032002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12498.4938, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 697669.0, "IN_HOUSEHO": 28.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 28.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50564300046304, 39.13435999987304, -84.50474300046312, 39.13515999987297], "geometry": {"coordinates": [[[-84.50564300046304, 39.134459999873044], [-84.50554300046305, 39.13515999987297], [-84.50474300046312, 39.135059999872986], [-84.50484300046311, 39.13435999987304], [-84.50564300046304, 39.134459999873044]]], "type": "Polygon"}, "id": "167", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 21.0, "AGE_20_24": 11.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.25, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12792.2919, "F1_RACE": 26.0, "F2_RACES": 1.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 4.0, "ID": 697687.0, "IN_HOUSEHO": 27.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 27.0, "RENTER_SIZ": 2.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50554300046305, 39.13505999987297, -84.50384300046323, 39.13545999987295], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.13505999987297], [-84.50474300046312, 39.135059999872986], [-84.50554300046305, 39.13515999987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "168", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 88.0, "AGE_20_24": 38.0, "AGE_21": 82.0, "AGE_25_34": 37.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 27.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 56.0, "AREA": 0.0, "ASIAN": 26.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.38, "BG": "390610032001", "BLACK": 12.0, "BLOCK": "390610032001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 45600.0576, "F1_RACE": 91.0, "F2_RACES": 3.0, "FEMALE": 55.0, "FEMALE_18": 50.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 0.0, "ID": 697704.0, "IN_HOUSEHO": 94.0, "MALE": 39.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 68.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 94.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 53.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50554300046306, 39.13536199987297, -84.50374300046326, 39.13665999987285], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50554300046306, 39.13585999987293], [-84.50544300046307, 39.13665999987285], [-84.50374300046326, 39.13655999987285], [-84.50384300046323, 39.135759999872924], [-84.50384300046323, 39.13536199987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "169", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697723.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50934400046268, 39.140259999872484, -84.50744400046288, 39.14125999987239], "geometry": {"coordinates": [[[-84.50934400046268, 39.140259999872484], [-84.50924400046269, 39.14125999987239], [-84.50744400046288, 39.141159999872414], [-84.50754300046286, 39.140259999872505], [-84.50934400046268, 39.140259999872484]]], "type": "Polygon"}, "id": "170", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 28.0, "AGE_20_24": 6.0, "AGE_21": 27.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.5, "BG": "390610032001", "BLACK": 21.0, "BLOCK": "390610032001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5510.4161, "F1_RACE": 30.0, "F2_RACES": 5.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 697743.0, "IN_HOUSEHO": 35.0, "MALE": 21.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 35.0, "RENTER_SIZ": 2.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 5.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50954400046263, 39.13665999987285, -84.50024300046367, 39.142259999872316], "geometry": {"coordinates": [[[-84.50924400046269, 39.14125999987239], [-84.5092440004627, 39.142259999872316], [-84.50574300046307, 39.14205999987235], [-84.50324300046334, 39.14185999987239], [-84.50304300046336, 39.141859999872366], [-84.50024300046367, 39.1416599998724], [-84.50034300046366, 39.1406599998725], [-84.50054300046362, 39.139659999872585], [-84.50054300046362, 39.13935999987259], [-84.5006430004636, 39.138359999872684], [-84.5015430004635, 39.13845999987268], [-84.50214300046343, 39.13935999987259], [-84.50504300046315, 39.13955999987258], [-84.50537800046308, 39.137129999872776], [-84.50544300046307, 39.13665999987285], [-84.50644300046295, 39.136759999872815], [-84.50826100046277, 39.137578999872744], [-84.50944400046265, 39.137659999872724], [-84.50954400046263, 39.138059999872695], [-84.50934400046268, 39.140259999872484], [-84.50754300046286, 39.140259999872505], [-84.50744400046288, 39.141159999872414], [-84.50924400046269, 39.14125999987239]]], "type": "Polygon"}, "id": "171", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 297.0, "AGE_20_24": 46.0, "AGE_21": 290.0, "AGE_25_34": 69.0, "AGE_35_44": 49.0, "AGE_45_54": 48.0, "AGE_55_59": 15.0, "AGE_5_9": 5.0, "AGE_60_64": 10.0, "AGE_62": 62.0, "AGE_65": 56.0, "AGE_65_74": 27.0, "AGE_75_84": 25.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 50.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 9.0, "AP_WHITE": 155.0, "AREA": 0.12, "ASIAN": 44.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.71, "BG": "390610032001", "BLACK": 122.0, "BLOCK": "390610032001000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2794.7365, "F1_RACE": 317.0, "F2_RACES": 12.0, "FEMALE": 109.0, "FEMALE_18": 95.0, "FEMALE_65": 13.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 90.0, "HOUSEHOLDS": 133.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 133.0, "HU_VACANT": 17.0, "ID": 697760.0, "IN_HOUSEHO": 228.0, "MALE": 220.0, "MALE_18": 202.0, "MALE_65": 43.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 148.0, "NOT_HISPAN": 327.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 107.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.27, "POPULATION": 329.0, "RENTER_SIZ": 1.58, "THEFT": 33, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 148.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13305999987318, -84.5040430004632, 39.133659999873124], "geometry": {"coordinates": [[[-84.5049430004631, 39.13305999987318], [-84.5049430004631, 39.133659999873124], [-84.5040430004632, 39.13355999987311], [-84.50414300046319, 39.13305999987318], [-84.5049430004631, 39.13305999987318]]], "type": "Polygon"}, "id": "172", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 13.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 28.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.23, "AVG_HHSIZE": 3.53, "BG": "390610032002", "BLACK": 53.0, "BLOCK": "390610032002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 34474.8115, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 21.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 4.0, "ID": 697792.0, "IN_HOUSEHO": 60.0, "MALE": 24.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 60.0, "RENTER_SIZ": 3.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13355999987311, -84.5040430004632, 39.13435999987306], "geometry": {"coordinates": [[[-84.5049430004631, 39.133659999873124], [-84.50484300046311, 39.13435999987304], [-84.5040430004632, 39.13435999987306], [-84.5040430004632, 39.13355999987311], [-84.5049430004631, 39.133659999873124]]], "type": "Polygon"}, "id": "173", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 24.0, "AGE_25_34": 8.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 31.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.31, "BG": "390610032002", "BLACK": 30.0, "BLOCK": "390610032002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15612.5144, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 697810.0, "IN_HOUSEHO": 37.0, "MALE": 17.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50484300046311, 39.13435999987304, -84.50384300046323, 39.135059999872986], "geometry": {"coordinates": [[[-84.50484300046311, 39.13435999987304], [-84.50474300046312, 39.135059999872986], [-84.50384300046323, 39.13505999987297], [-84.5040430004632, 39.13435999987306], [-84.50484300046311, 39.13435999987304]]], "type": "Polygon"}, "id": "174", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 0.0, "BLOCK": "390610032002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697827.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13285999987319, -84.50264300046334, 39.13355999987311], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.5040430004632, 39.13355999987311], [-84.50264300046335, 39.13345999987315], [-84.50264300046334, 39.13285999987319], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "175", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 4.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 14.0, "AGE_21": 71.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 16.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 98.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610032002", "BLACK": 96.0, "BLOCK": "390610032002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35895.2371, "F1_RACE": 105.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 2.0, "ID": 697845.0, "IN_HOUSEHO": 107.0, "MALE": 50.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.7, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 9.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13345999987315, -84.50254300046338, 39.13435999987306], "geometry": {"coordinates": [[[-84.5040430004632, 39.13355999987311], [-84.5040430004632, 39.13435999987306], [-84.50254300046338, 39.13425999987308], [-84.50264300046335, 39.13345999987315], [-84.5040430004632, 39.13355999987311]]], "type": "Polygon"}, "id": "176", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 33.0, "AGE_20_24": 12.0, "AGE_21": 33.0, "AGE_25_34": 18.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 9.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 9.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.22, "BG": "390610032002", "BLACK": 7.0, "BLOCK": "390610032002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7649.6439, "F1_RACE": 32.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 1.0, "ID": 697862.0, "IN_HOUSEHO": 33.0, "MALE": 15.0, "MALE_18": 15.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 33.0, "RENTER_SIZ": 1.22, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13425999987308, -84.50244300046339, 39.13505999987297], "geometry": {"coordinates": [[[-84.5040430004632, 39.13435999987306], [-84.50384300046323, 39.13505999987297], [-84.50244300046339, 39.13495999987302], [-84.50254300046338, 39.13425999987308], [-84.5040430004632, 39.13435999987306]]], "type": "Polygon"}, "id": "177", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 22.0, "AGE_20_24": 4.0, "AGE_21": 19.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.92, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6030.4194, "F1_RACE": 19.0, "F2_RACES": 4.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 2.0, "ID": 697880.0, "IN_HOUSEHO": 23.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.86, "POPULATION": 23.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13495999987302, -84.50244300046339, 39.13536199987297], "geometry": {"coordinates": [[[-84.50384300046323, 39.13505999987297], [-84.50384300046323, 39.13536199987297], [-84.50244300046339, 39.13528099987297], [-84.50244300046339, 39.13495999987302], [-84.50384300046323, 39.13505999987297]]], "type": "Polygon"}, "id": "178", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697897.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.129259999873604, -84.48394300046536, 39.13075999987347], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.48394300046536, 39.13065999987348], [-84.48404300046533, 39.129459999873596], [-84.48414300046532, 39.129259999873604], [-84.48574300046515, 39.129359999873586], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "179", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707099.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.131759999873395, -84.4854430004652, 39.132659999873304], "geometry": {"coordinates": [[[-84.48684300046504, 39.13185999987336], [-84.48684300046504, 39.132659999873304], [-84.4854430004652, 39.1325599998733], [-84.4854430004652, 39.131759999873395], [-84.48684300046504, 39.13185999987336]]], "type": "Polygon"}, "id": "180", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.0, "BG": "390610036001", "BLACK": 20.0, "BLOCK": "390610036001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4822.2972, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 7.0, "ID": 707117.0, "IN_HOUSEHO": 20.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 47.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 20.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48596700046515, 39.13276599987328, -84.48504300046523, 39.133397999873225], "geometry": {"coordinates": [[[-84.48596700046515, 39.133397999873225], [-84.48504300046524, 39.13335999987322], [-84.48504300046523, 39.13276599987328], [-84.48596700046515, 39.133397999873225]]], "type": "Polygon"}, "id": "181", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610036001", "BLACK": 5.0, "BLOCK": "390610036001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4920.2886, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 707135.0, "IN_HOUSEHO": 5.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 5.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48554300046517, 39.13065999987348, -84.48384300046537, 39.131759999873395], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.4854430004652, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131619999873394], [-84.48384300046537, 39.131359999873425], [-84.48394300046536, 39.13065999987348], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "182", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 21.0, "AGE_20_24": 0.0, "AGE_21": 20.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.36, "BG": "390610037003", "BLACK": 33.0, "BLOCK": "390610037003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5240.2265, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 16.0, "ID": 707151.0, "IN_HOUSEHO": 33.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 30.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 2.5, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4854430004652, 39.131759999873395, -84.48383200046537, 39.1325599998733], "geometry": {"coordinates": [[[-84.4854430004652, 39.131759999873395], [-84.4854430004652, 39.1325599998733], [-84.48504300046523, 39.1325599998733], [-84.48480700046527, 39.132559999873294], [-84.48383200046537, 39.13184799987338], [-84.48384300046537, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.4854430004652, 39.131759999873395]]], "type": "Polygon"}, "id": "183", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 707171.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48504300046523, 39.132559999873294, -84.48480700046527, 39.13276599987328], "geometry": {"coordinates": [[[-84.48504300046523, 39.1325599998733], [-84.48504300046523, 39.13276599987328], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.1325599998733]]], "type": "Polygon"}, "id": "184", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 707192.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48480700046527, 39.13184799987338, -84.48374300046537, 39.13255999987331], "geometry": {"coordinates": [[[-84.48480700046527, 39.132559999873294], [-84.48374300046537, 39.13255999987331], [-84.48383200046537, 39.13184799987338], [-84.48480700046527, 39.132559999873294]]], "type": "Polygon"}, "id": "185", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036001", "BLACK": 3.0, "BLOCK": "390610036001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2138.8145, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707208.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49294300046441, 39.13435999987311, -84.49154300046456, 39.13585999987298], "geometry": {"coordinates": [[[-84.49234300046446, 39.13435999987311], [-84.49294300046441, 39.134459999873094], [-84.49244300046446, 39.135159999873025], [-84.49221400046447, 39.135337999873], [-84.49154300046456, 39.13585999987298], [-84.49234300046446, 39.13435999987311]]], "type": "Polygon"}, "id": "186", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707224.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49234300046447, 39.135337999873, -84.49154300046456, 39.13675999987287], "geometry": {"coordinates": [[[-84.49234300046447, 39.13675999987287], [-84.49154300046457, 39.1366599998729], [-84.49154300046456, 39.13585999987298], [-84.49221400046447, 39.135337999873], [-84.49224300046448, 39.135659999872985], [-84.49234300046447, 39.13675999987287]]], "type": "Polygon"}, "id": "187", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610034001", "BLACK": 2.0, "BLOCK": "390610034001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 650.2932, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707242.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 69.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49234300046446, 39.13435999987311, -84.49014300046471, 39.13645999987293], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49014300046471, 39.13645999987293], [-84.49064300046464, 39.135159999873025], [-84.49164300046453, 39.13435999987311], [-84.49234300046446, 39.13435999987311], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "188", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707261.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.13585999987298, -84.49014300046471, 39.13675999987289], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49154300046457, 39.1366599998729], [-84.49014300046471, 39.13675999987289], [-84.49014300046471, 39.13645999987293], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "189", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49244300046446, 39.13315999987322, -84.487443000465, 39.13435999987311], "geometry": {"coordinates": [[[-84.49244300046446, 39.13415999987311], [-84.49234300046446, 39.13435999987311], [-84.49164300046453, 39.13435999987311], [-84.487443000465, 39.133659999873196], [-84.487443000465, 39.133459999873224], [-84.48764300046497, 39.13315999987322], [-84.48994300046472, 39.13325999987322], [-84.49174300046454, 39.13335999987318], [-84.49174300046455, 39.13415999987313], [-84.49244300046446, 39.13415999987311]]], "type": "Polygon"}, "id": "190", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 132.0, "AGE_20_24": 14.0, "AGE_21": 129.0, "AGE_25_34": 22.0, "AGE_35_44": 26.0, "AGE_45_54": 23.0, "AGE_55_59": 8.0, "AGE_5_9": 12.0, "AGE_60_64": 8.0, "AGE_62": 32.0, "AGE_65": 28.0, "AGE_65_74": 14.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.68, "BG": "390610036002", "BLACK": 153.0, "BLOCK": "390610036002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12689.6134, "F1_RACE": 157.0, "F2_RACES": 3.0, "FEMALE": 92.0, "FEMALE_18": 76.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 95.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 95.0, "HU_VACANT": 10.0, "ID": 707297.0, "IN_HOUSEHO": 160.0, "MALE": 68.0, "MALE_18": 56.0, "MALE_65": 12.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 91.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.25, "POPULATION": 160.0, "RENTER_SIZ": 1.66, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49164300046453, 39.133659999873196, -84.48724300046503, 39.135159999873025], "geometry": {"coordinates": [[[-84.487443000465, 39.133659999873196], [-84.49164300046453, 39.13435999987311], [-84.49064300046464, 39.135159999873025], [-84.48994300046473, 39.134959999873075], [-84.48924300046481, 39.13485999987306], [-84.48874300046486, 39.13445999987311], [-84.48724300046503, 39.133859999873174], [-84.487443000465, 39.133659999873196]]], "type": "Polygon"}, "id": "191", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036002", "BLACK": 3.0, "BLOCK": "390610036002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 298.4113, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707320.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49064300046464, 39.13445999987311, -84.48614300046516, 39.13845999987274], "geometry": {"coordinates": [[[-84.49064300046464, 39.135159999873025], [-84.49014300046471, 39.13645999987293], [-84.48808200046494, 39.137448999872845], [-84.48764300046498, 39.13765999987284], [-84.48644300046513, 39.13845999987274], [-84.48614300046516, 39.13805999987279], [-84.48622800046516, 39.13771799987283], [-84.48624300046515, 39.13765999987284], [-84.48724300046504, 39.13655999987293], [-84.48804300046494, 39.13555999987301], [-84.48844300046488, 39.134959999873075], [-84.48874300046486, 39.13445999987311], [-84.48924300046481, 39.13485999987306], [-84.48994300046473, 39.134959999873075], [-84.49064300046464, 39.135159999873025]]], "type": "Polygon"}, "id": "192", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 16.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 16.0, "AGE_35_44": 17.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 26.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 109.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 3.21, "BG": "390610036002", "BLACK": 109.0, "BLOCK": "390610036002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4125.8625, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 31.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 12.0, "ID": 707340.0, "IN_HOUSEHO": 109.0, "MALE": 49.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 109.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 109.0, "RENTER_SIZ": 3.32, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.1366599998729, -84.49014300046471, 39.13845999987273], "geometry": {"coordinates": [[[-84.49154300046457, 39.1366599998729], [-84.49124300046462, 39.13785999987278], [-84.4903430004647, 39.13845999987273], [-84.4903430004647, 39.138259999872766], [-84.49014300046471, 39.13675999987289], [-84.49154300046457, 39.1366599998729]]], "type": "Polygon"}, "id": "193", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707365.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49114300046465, 39.139459999872614, -84.48944300046483, 39.140859999872504], "geometry": {"coordinates": [[[-84.49114300046465, 39.139459999872614], [-84.49094300046467, 39.140859999872504], [-84.48974300046478, 39.140859999872504], [-84.48944300046483, 39.14075999987253], [-84.4896430004648, 39.13955999987264], [-84.49044300046471, 39.13945999987263], [-84.49114300046465, 39.139459999872614]]], "type": "Polygon"}, "id": "194", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 18.0, "AGE_15_19": 16.0, "AGE_18": 97.0, "AGE_20_24": 11.0, "AGE_21": 92.0, "AGE_25_34": 20.0, "AGE_35_44": 23.0, "AGE_45_54": 15.0, "AGE_55_59": 7.0, "AGE_5_9": 13.0, "AGE_60_64": 6.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610067001", "BLACK": 147.0, "BLOCK": "390610067001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19678.1357, "F1_RACE": 149.0, "F2_RACES": 0.0, "FEMALE": 71.0, "FEMALE_18": 53.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 62.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 62.0, "HU_VACANT": 12.0, "ID": 707382.0, "IN_HOUSEHO": 149.0, "MALE": 78.0, "MALE_18": 44.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 149.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 149.0, "RENTER_SIZ": 2.31, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4903430004647, 39.13645999987293, -84.48644300046513, 39.13965999987265], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48644300046513, 39.13845999987274], [-84.48764300046498, 39.13765999987284], [-84.48808200046494, 39.137448999872845], [-84.49014300046471, 39.13645999987293], [-84.49014300046471, 39.13675999987289], [-84.4903430004647, 39.138259999872766], [-84.4903430004647, 39.13845999987273], [-84.48724300046506, 39.13965999987265], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "195", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 15.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 6.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.7, "BG": "390610067001", "BLACK": 26.0, "BLOCK": "390610067001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1123.5003, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 707402.0, "IN_HOUSEHO": 27.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 18.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 2.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49044300046471, 39.13845999987273, -84.48724300046506, 39.13985999987262], "geometry": {"coordinates": [[[-84.4903430004647, 39.13845999987273], [-84.49044300046471, 39.13945999987263], [-84.4896430004648, 39.13955999987264], [-84.48834300046495, 39.13985999987262], [-84.48734300046505, 39.13985999987261], [-84.48724300046506, 39.13965999987265], [-84.4903430004647, 39.13845999987273]]], "type": "Polygon"}, "id": "196", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 18.0, "AGE_20_24": 1.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.87, "BG": "390610067001", "BLACK": 27.0, "BLOCK": "390610067001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3626.9663, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 5.0, "ID": 707424.0, "IN_HOUSEHO": 28.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 28.0, "RENTER_SIZ": 2.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4896430004648, 39.13955999987264, -84.48734300046505, 39.14075999987253], "geometry": {"coordinates": [[[-84.4896430004648, 39.13955999987264], [-84.48944300046483, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.487743000465, 39.14045999987258], [-84.48734300046505, 39.13985999987261], [-84.48834300046495, 39.13985999987262], [-84.4896430004648, 39.13955999987264]]], "type": "Polygon"}, "id": "197", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 13.0, "AGE_15_19": 12.0, "AGE_18": 66.0, "AGE_20_24": 5.0, "AGE_21": 59.0, "AGE_25_34": 17.0, "AGE_35_44": 14.0, "AGE_45_54": 12.0, "AGE_55_59": 4.0, "AGE_5_9": 17.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 3.26, "BG": "390610067001", "BLACK": 107.0, "BLOCK": "390610067001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16117.6625, "F1_RACE": 111.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 9.0, "ID": 707443.0, "IN_HOUSEHO": 111.0, "MALE": 59.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 111.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 111.0, "RENTER_SIZ": 3.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48874300046486, 39.133859999873174, -84.48704300046504, 39.134959999873075], "geometry": {"coordinates": [[[-84.48724300046503, 39.133859999873174], [-84.48874300046486, 39.13445999987311], [-84.48844300046488, 39.134959999873075], [-84.48704300046504, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48724300046503, 39.133859999873174]]], "type": "Polygon"}, "id": "198", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 2.0, "AGE_21": 25.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 3.0, "AGE_55_59": 6.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.04, "BG": "390610036002", "BLACK": 24.0, "BLOCK": "390610036002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7760.281, "F1_RACE": 25.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 15.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 707461.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 52.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48844300046488, 39.13435999987314, -84.48634300046511, 39.13555999987301], "geometry": {"coordinates": [[[-84.48844300046488, 39.134959999873075], [-84.48804300046494, 39.13555999987301], [-84.48704300046505, 39.13525999987304], [-84.48634300046511, 39.13505999987305], [-84.48704300046504, 39.13435999987314], [-84.48844300046488, 39.134959999873075]]], "type": "Polygon"}, "id": "199", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 20.0, "AGE_20_24": 5.0, "AGE_21": 19.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 2.33, "BG": "390610036002", "BLACK": 35.0, "BLOCK": "390610036002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7242.9872, "F1_RACE": 35.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 18.0, "ID": 707480.0, "IN_HOUSEHO": 35.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 35.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48804300046494, 39.13525999987304, -84.48534300046525, 39.13805999987279], "geometry": {"coordinates": [[[-84.48724300046504, 39.13655999987293], [-84.48624300046515, 39.13765999987284], [-84.48622800046516, 39.13771799987283], [-84.48614300046516, 39.13805999987279], [-84.48534300046525, 39.13715999987289], [-84.48554300046523, 39.137059999872875], [-84.48704300046505, 39.13525999987304], [-84.48804300046494, 39.13555999987301], [-84.48724300046504, 39.13655999987293]]], "type": "Polygon"}, "id": "200", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 99.0, "AGE_20_24": 22.0, "AGE_21": 89.0, "AGE_25_34": 10.0, "AGE_35_44": 20.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 6.0, "AGE_60_64": 7.0, "AGE_62": 16.0, "AGE_65": 12.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.06, "BG": "390610036002", "BLACK": 130.0, "BLOCK": "390610036002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12916.6618, "F1_RACE": 130.0, "F2_RACES": 2.0, "FEMALE": 80.0, "FEMALE_18": 65.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 8.0, "ID": 707499.0, "IN_HOUSEHO": 132.0, "MALE": 52.0, "MALE_18": 34.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 53.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.18, "POPULATION": 132.0, "RENTER_SIZ": 1.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48714300046504, 39.13415999987315, -84.4839430004654, 39.13715999987289], "geometry": {"coordinates": [[[-84.48634300046511, 39.13505999987305], [-84.48704300046505, 39.13525999987304], [-84.48554300046523, 39.137059999872875], [-84.48534300046525, 39.13715999987289], [-84.4839430004654, 39.136059999873005], [-84.48614300046513, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48704300046504, 39.13435999987314], [-84.48634300046511, 39.13505999987305]]], "type": "Polygon"}, "id": "201", "properties": {"AGE_0_5": 30.0, "AGE_10_14": 47.0, "AGE_15_19": 19.0, "AGE_18": 109.0, "AGE_20_24": 13.0, "AGE_21": 102.0, "AGE_25_34": 32.0, "AGE_35_44": 26.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 27.0, "AGE_60_64": 2.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 221.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.32, "AVG_HHSIZE": 2.69, "BG": "390610036002", "BLACK": 216.0, "BLOCK": "390610036002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14177.4841, "F1_RACE": 220.0, "F2_RACES": 6.0, "FEMALE": 142.0, "FEMALE_18": 79.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 84.0, "HSNG_UNITS": 102.0, "HU_OCCUPIE": 84.0, "HU_VACANT": 18.0, "ID": 707518.0, "IN_HOUSEHO": 226.0, "MALE": 84.0, "MALE_18": 30.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 225.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 78.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 226.0, "RENTER_SIZ": 2.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48974300046478, 39.14065999987254, -84.48654300046516, 39.142059999872394], "geometry": {"coordinates": [[[-84.48974300046478, 39.140859999872504], [-84.48964300046482, 39.142059999872394], [-84.48654300046516, 39.141859999872445], [-84.48664300046514, 39.14065999987254], [-84.48724300046506, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.48944300046483, 39.14075999987253], [-84.48974300046478, 39.140859999872504]]], "type": "Polygon"}, "id": "202", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707538.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48804300046498, 39.13985999987261, -84.48664300046514, 39.14075999987253], "geometry": {"coordinates": [[[-84.487743000465, 39.14045999987258], [-84.48804300046498, 39.14075999987253], [-84.48724300046506, 39.14075999987253], [-84.48664300046514, 39.14065999987254], [-84.48674300046511, 39.14015999987259], [-84.48734300046505, 39.13985999987261], [-84.487743000465, 39.14045999987258]]], "type": "Polygon"}, "id": "203", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 4.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.17, "BG": "390610067001", "BLACK": 13.0, "BLOCK": "390610067001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4744.6508, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 0.0, "ID": 707559.0, "IN_HOUSEHO": 13.0, "MALE": 6.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48734300046505, 39.13965999987265, -84.48514300046529, 39.14065999987254], "geometry": {"coordinates": [[[-84.48724300046506, 39.13965999987265], [-84.48734300046505, 39.13985999987261], [-84.48674300046511, 39.14015999987259], [-84.48664300046514, 39.14065999987254], [-84.48558100046525, 39.14058899987254], [-84.48514300046529, 39.140559999872565], [-84.48724300046506, 39.13965999987265]]], "type": "Polygon"}, "id": "204", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.25, "BG": "390610067001", "BLACK": 9.0, "BLOCK": "390610067001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3220.1738, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 707578.0, "IN_HOUSEHO": 9.0, "MALE": 5.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 9.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48604300046517, 39.13725999987287, -84.48384300046541, 39.138959999872704], "geometry": {"coordinates": [[[-84.48584300046521, 39.13805999987279], [-84.48604300046517, 39.13825999987277], [-84.48504300046528, 39.13885999987272], [-84.48424300046537, 39.138959999872704], [-84.48404300046539, 39.138159999872784], [-84.48384300046541, 39.137559999872835], [-84.4849430004653, 39.13725999987287], [-84.48584300046521, 39.13805999987279]]], "type": "Polygon"}, "id": "205", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 7.0, "AGE_15_19": 15.0, "AGE_18": 117.0, "AGE_20_24": 36.0, "AGE_21": 103.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 11.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 2.27, "BG": "390610036001", "BLACK": 181.0, "BLOCK": "390610036001001", "BURGLARY": 6, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21652.7875, "F1_RACE": 184.0, "F2_RACES": 0.0, "FEMALE": 96.0, "FEMALE_18": 67.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 81.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 81.0, "HU_VACANT": 17.0, "ID": 707596.0, "IN_HOUSEHO": 184.0, "MALE": 88.0, "MALE_18": 50.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 183.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.4, "POPULATION": 184.0, "RENTER_SIZ": 2.26, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48724300046506, 39.13845999987274, -84.48433500046538, 39.14055999987258], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48724300046506, 39.13965999987265], [-84.48514300046529, 39.140559999872565], [-84.48494300046532, 39.14055999987258], [-84.48433500046538, 39.140559999872565], [-84.48454300046537, 39.14025999987261], [-84.48554300046524, 39.139159999872675], [-84.48644300046513, 39.13845999987274], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "206", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707616.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48664300046514, 39.140559999872565, -84.48380000046545, 39.14209499987244], "geometry": {"coordinates": [[[-84.48544300046525, 39.14185999987246], [-84.48474300046534, 39.14195999987244], [-84.48380000046545, 39.14209499987244], [-84.48514300046529, 39.140559999872565], [-84.48558100046525, 39.14058899987254], [-84.48664300046514, 39.14065999987254], [-84.48654300046516, 39.141859999872445], [-84.48544300046525, 39.14185999987246]]], "type": "Polygon"}, "id": "207", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 4.0, "AGE_15_19": 4.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 68.0, "AGE_25_34": 11.0, "AGE_35_44": 16.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 92.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610067004", "BLACK": 90.0, "BLOCK": "390610067004009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9223.4933, "F1_RACE": 90.0, "F2_RACES": 3.0, "FEMALE": 43.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 9.0, "ID": 707636.0, "IN_HOUSEHO": 93.0, "MALE": 50.0, "MALE_18": 37.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 50.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 93.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48514300046529, 39.140559999872565, -84.48364300046546, 39.142159999872405], "geometry": {"coordinates": [[[-84.48494300046532, 39.14055999987258], [-84.48514300046529, 39.140559999872565], [-84.48380000046545, 39.14209499987244], [-84.48374300046545, 39.142159999872405], [-84.48364300046546, 39.14155999987249], [-84.48433500046538, 39.140559999872565], [-84.48494300046532, 39.14055999987258]]], "type": "Polygon"}, "id": "208", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707657.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.125159999874, -84.48284300046545, 39.12685999987385], "geometry": {"coordinates": [[[-84.48434300046526, 39.125159999874], [-84.48434300046527, 39.12675999987384], [-84.48284300046545, 39.12685999987385], [-84.48294300046541, 39.12515999987403], [-84.48324300046541, 39.125159999874015], [-84.48434300046526, 39.125159999874]]], "type": "Polygon"}, "id": "209", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 225.9619, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 2.0, "GROUP_QUAR": 2.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707676.0, "IN_HOUSEHO": 0.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48294300046541, 39.12495999987402, -84.48134300046561, 39.126959999873854], "geometry": {"coordinates": [[[-84.48294300046541, 39.12515999987403], [-84.48284300046545, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48134300046561, 39.12685999987385], [-84.48154300046558, 39.12495999987402], [-84.48194300046555, 39.12495999987402], [-84.48294300046541, 39.12515999987403]]], "type": "Polygon"}, "id": "210", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 40.0, "AGE_20_24": 5.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.5, "AVG_HHSIZE": 1.33, "BG": "390610037001", "BLACK": 29.0, "BLOCK": "390610037001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4237.6286, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 11.0, "GROUP_QUAR": 11.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 23.0, "ID": 707695.0, "IN_HOUSEHO": 32.0, "MALE": 25.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47464300046634, 39.127959999873795, -84.47344300046649, 39.12965999987362], "geometry": {"coordinates": [[[-84.47464300046634, 39.12835999987374], [-84.47434300046636, 39.129559999873614], [-84.47344300046649, 39.12965999987362], [-84.47354300046645, 39.127959999873795], [-84.47454300046634, 39.128059999873756], [-84.47464300046634, 39.12835999987374]]], "type": "Polygon"}, "id": "211", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 5.0, "AGE_21": 45.0, "AGE_25_34": 11.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.16, "BG": "390610042001", "BLACK": 13.0, "BLOCK": "390610042001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8973.4932, "F1_RACE": 52.0, "F2_RACES": 2.0, "FEMALE": 25.0, "FEMALE_18": 21.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 3.0, "ID": 739464.0, "IN_HOUSEHO": 54.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.73, "POPULATION": 54.0, "RENTER_SIZ": 1.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 36.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47394300046638, 39.12455999987409, -84.47194300046661, 39.126759999873904], "geometry": {"coordinates": [[[-84.47394300046638, 39.12455999987409], [-84.47374300046643, 39.126759999873904], [-84.47194300046661, 39.12645999987392], [-84.47224300046658, 39.12535999987403], [-84.47394300046638, 39.12455999987409]]], "type": "Polygon"}, "id": "212", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 61.0, "AGE_20_24": 2.0, "AGE_21": 57.0, "AGE_25_34": 24.0, "AGE_35_44": 16.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.71, "AVG_HHSIZE": 1.85, "BG": "390610042002", "BLACK": 21.0, "BLOCK": "390610042002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7073.2004, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 33.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 7.0, "ID": 739483.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.19, "POPULATION": 74.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 53.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47674300046613, 39.12925999987366, -84.4742430004664, 39.13165999987343], "geometry": {"coordinates": [[[-84.47654300046615, 39.13135999987346], [-84.47644300046618, 39.13165999987343], [-84.4742430004664, 39.13165999987343], [-84.47434300046638, 39.13055999987355], [-84.47434300046636, 39.129559999873614], [-84.47564300046623, 39.12945999987363], [-84.47644300046615, 39.12925999987366], [-84.47674300046613, 39.12935999987364], [-84.47664300046614, 39.13005999987358], [-84.47654300046615, 39.13135999987346]]], "type": "Polygon"}, "id": "213", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 3.0, "AGE_21": 31.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.81, "BG": "390610041002", "BLACK": 25.0, "BLOCK": "390610041002006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1909.9236, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 7.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 7.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 1.0, "ID": 739499.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 5.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.13, "POPULATION": 36.0, "RENTER_SIZ": 1.5, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.129559999873614, -84.4732430004665, 39.13055999987355], "geometry": {"coordinates": [[[-84.47434300046636, 39.129559999873614], [-84.47434300046638, 39.13055999987355], [-84.4732430004665, 39.130459999873565], [-84.47344300046649, 39.12965999987362], [-84.47434300046636, 39.129559999873614]]], "type": "Polygon"}, "id": "214", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 1.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 11.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610041002", "BLACK": 29.0, "BLOCK": "390610041002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13802.0582, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 739521.0, "IN_HOUSEHO": 46.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 46.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.130459999873565, -84.47314300046652, 39.13165999987343], "geometry": {"coordinates": [[[-84.47434300046638, 39.13055999987355], [-84.4742430004664, 39.13165999987343], [-84.47314300046652, 39.13155999987345], [-84.4732430004665, 39.130459999873565], [-84.47434300046638, 39.13055999987355]]], "type": "Polygon"}, "id": "215", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 51.0, "AGE_20_24": 11.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.43, "BG": "390610041002", "BLACK": 45.0, "BLOCK": "390610041002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15051.7324, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 22.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 6.0, "ID": 739558.0, "IN_HOUSEHO": 68.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 68.0, "RENTER_SIZ": 2.53, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 23.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47344300046649, 39.12965999987362, -84.47194300046665, 39.13155999987345], "geometry": {"coordinates": [[[-84.4732430004665, 39.130459999873565], [-84.47314300046652, 39.13155999987345], [-84.47194300046665, 39.13155999987345], [-84.47214300046663, 39.12975999987361], [-84.47344300046649, 39.12965999987362], [-84.4732430004665, 39.130459999873565]]], "type": "Polygon"}, "id": "216", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 58.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.28, "BG": "390610041002", "BLACK": 10.0, "BLOCK": "390610041002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7992.2978, "F1_RACE": 66.0, "F2_RACES": 0.0, "FEMALE": 30.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 5.0, "ID": 739576.0, "IN_HOUSEHO": 66.0, "MALE": 36.0, "MALE_18": 34.0, "MALE_65": 2.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.56, "POPULATION": 66.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 53.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47104300046674, 39.128759999873736, -84.46854200046702, 39.130059999873595], "geometry": {"coordinates": [[[-84.47094300046675, 39.12895999987369], [-84.47104300046674, 39.12985999987362], [-84.4706430004668, 39.12985999987362], [-84.46854200046702, 39.130059999873595], [-84.468642000467, 39.12905999987369], [-84.46974200046688, 39.128759999873736], [-84.47094300046675, 39.12895999987369]]], "type": "Polygon"}, "id": "217", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 7.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.2, "AVG_HHSIZE": 4.2, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2240.4421, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 739629.0, "IN_HOUSEHO": 21.0, "MALE": 13.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 12.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.2, "POPULATION": 21.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 21.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47214300046663, 39.12975999987361, -84.47024300046685, 39.13375999987323], "geometry": {"coordinates": [[[-84.47174300046669, 39.13375999987323], [-84.47024300046685, 39.13365999987327], [-84.4706430004668, 39.12985999987362], [-84.47104300046674, 39.12985999987362], [-84.47184300046665, 39.12975999987361], [-84.47214300046663, 39.12975999987361], [-84.47194300046665, 39.13155999987345], [-84.47174300046669, 39.13375999987323]]], "type": "Polygon"}, "id": "218", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 2.0, "AGE_21": 55.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 66.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.28, "AVG_HHSIZE": 2.64, "BG": "390610041001", "BLACK": 8.0, "BLOCK": "390610041001006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3442.461, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 739648.0, "IN_HOUSEHO": 74.0, "MALE": 43.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.95, "POPULATION": 74.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 66.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4706430004668, 39.12985999987362, -84.46814200046708, 39.13365999987327], "geometry": {"coordinates": [[[-84.4706430004668, 39.12985999987362], [-84.47024300046685, 39.13365999987327], [-84.46814200046708, 39.13355999987327], [-84.46854200046702, 39.130059999873595], [-84.4706430004668, 39.12985999987362]]], "type": "Polygon"}, "id": "219", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 39.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 11.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.03, "ASIAN": 11.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.53, "AVG_HHSIZE": 3.29, "BG": "390610041001", "BLACK": 2.0, "BLOCK": "390610041001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1977.1644, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 739669.0, "IN_HOUSEHO": 56.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.38, "POPULATION": 56.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 43.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46854200046702, 39.130059999873595, -84.4669420004672, 39.13355999987327], "geometry": {"coordinates": [[[-84.46854200046702, 39.130059999873595], [-84.46814200046708, 39.13355999987327], [-84.4669420004672, 39.133459999873295], [-84.46704200046719, 39.13175999987347], [-84.46724200046715, 39.13025999987357], [-84.46854200046702, 39.130059999873595]]], "type": "Polygon"}, "id": "220", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 0.0, "AGE_21": 28.0, "AGE_25_34": 2.0, "AGE_35_44": 10.0, "AGE_45_54": 14.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 45.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 3.0, "BG": "390610041001", "BLACK": 0.0, "BLOCK": "390610041001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2849.2641, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 739686.0, "IN_HOUSEHO": 45.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 45.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 45.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 45.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46884200046696, 39.1248599998741, -84.46344200046752, 39.12675999987392], "geometry": {"coordinates": [[[-84.468402000467, 39.12668199987393], [-84.46714200046715, 39.12645999987395], [-84.46594200046727, 39.12615999987398], [-84.46344200046752, 39.125059999874075], [-84.46634500046721, 39.12494799987409], [-84.46864200046697, 39.1248599998741], [-84.46884200046696, 39.12675999987392], [-84.468402000467, 39.12668199987393]]], "type": "Polygon"}, "id": "221", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 24.0, "AGE_20_24": 0.0, "AGE_21": 24.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 27.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.93, "BG": "390610042002", "BLACK": 2.0, "BLOCK": "390610042002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1331.6139, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 741823.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 12.0, "MALE_65": 1.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 27.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.09, "POPULATION": 29.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 27.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47374300046643, 39.125059999874075, -84.46004200046795, 39.132459999873426], "geometry": {"coordinates": [[[-84.47354300046645, 39.127959999873795], [-84.47344300046649, 39.12965999987362], [-84.47214300046663, 39.12975999987361], [-84.47184300046665, 39.12975999987361], [-84.47104300046674, 39.12985999987362], [-84.47094300046675, 39.12895999987369], [-84.46974200046688, 39.128759999873736], [-84.468642000467, 39.12905999987369], [-84.46854200046702, 39.130059999873595], [-84.46724200046715, 39.13025999987357], [-84.46654200046723, 39.13035999987359], [-84.4659420004673, 39.130559999873554], [-84.46414200046749, 39.13135999987352], [-84.46254200046768, 39.13185999987346], [-84.46164200046776, 39.13205999987344], [-84.46074200046787, 39.13235999987343], [-84.46004200046795, 39.132459999873426], [-84.46034200046792, 39.13215999987345], [-84.4612420004678, 39.13155999987349], [-84.46304200046762, 39.13075999987355], [-84.46394200046753, 39.12955999987366], [-84.46294200046758, 39.12655999987394], [-84.46344200046752, 39.125059999874075], [-84.46594200046727, 39.12615999987398], [-84.46714200046715, 39.12645999987395], [-84.468402000467, 39.12668199987393], [-84.46884200046696, 39.12675999987392], [-84.4703420004668, 39.12625999987395], [-84.47064200046675, 39.12615999987395], [-84.47194300046661, 39.12645999987392], [-84.47374300046643, 39.126759999873904], [-84.47354300046645, 39.127959999873795]], [[-84.46544200046735, 39.1292599998737], [-84.46534200046734, 39.12835999987379], [-84.46484200046739, 39.12845999987376], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "222", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 17.0, "AGE_15_19": 17.0, "AGE_18": 211.0, "AGE_20_24": 12.0, "AGE_21": 205.0, "AGE_25_34": 49.0, "AGE_35_44": 38.0, "AGE_45_54": 48.0, "AGE_55_59": 19.0, "AGE_5_9": 12.0, "AGE_60_64": 14.0, "AGE_62": 36.0, "AGE_65": 29.0, "AGE_65_74": 18.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 8.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 0.0, "AP_WHITE": 248.0, "AREA": 0.15, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.09, "BG": "390610042001", "BLACK": 15.0, "BLOCK": "390610042001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1775.9725, "F1_RACE": 256.0, "F2_RACES": 9.0, "FEMALE": 123.0, "FEMALE_18": 101.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 127.0, "HSNG_UNITS": 132.0, "HU_OCCUPIE": 127.0, "HU_VACANT": 5.0, "ID": 741843.0, "IN_HOUSEHO": 265.0, "MALE": 142.0, "MALE_18": 110.0, "MALE_65": 18.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 229.0, "NOT_HISPAN": 255.0, "OCCHU_OWNE": 86.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 265.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 239.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46544200046735, 39.12835999987379, -84.46484200046739, 39.1292599998737], "geometry": {"coordinates": [[[-84.46544200046735, 39.1292599998737], [-84.46484200046739, 39.12845999987376], [-84.46534200046734, 39.12835999987379], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "223", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.6935, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 741889.0, "IN_HOUSEHO": 10.0, "MALE": 8.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 56.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 10.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.46814200046708, 39.13025999987357, -84.4614420004678, 39.13515999987312], "geometry": {"coordinates": [[[-84.46814200046708, 39.13355999987327], [-84.46794200046712, 39.13515999987312], [-84.46384200046755, 39.1347599998732], [-84.4633420004676, 39.13465999987321], [-84.46144200046781, 39.13455999987323], [-84.4614420004678, 39.13415999987325], [-84.46244200046769, 39.133459999873324], [-84.46254200046768, 39.13185999987346], [-84.46414200046749, 39.13135999987352], [-84.4659420004673, 39.130559999873554], [-84.46654200046723, 39.13035999987359], [-84.46724200046715, 39.13025999987357], [-84.46704200046719, 39.13175999987347], [-84.4669420004672, 39.133459999873295], [-84.46814200046708, 39.13355999987327]]], "type": "Polygon"}, "id": "224", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 315.0, "AGE_20_24": 16.0, "AGE_21": 308.0, "AGE_25_34": 37.0, "AGE_35_44": 39.0, "AGE_45_54": 27.0, "AGE_55_59": 29.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 158.0, "AGE_65": 154.0, "AGE_65_74": 14.0, "AGE_75_84": 48.0, "AGE_85": 92.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 131.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 230.0, "AREA": 0.07, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.25, "BG": "390610041001", "BLACK": 130.0, "BLOCK": "390610041001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4934.9491, "F1_RACE": 357.0, "F2_RACES": 3.0, "FEMALE": 235.0, "FEMALE_18": 208.0, "FEMALE_65": 125.0, "GQ_INSTITU": 135.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 135.0, "HAWAIIAN": 0.0, "HH_FAMILY": 58.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 100.0, "HSNG_UNITS": 107.0, "HU_OCCUPIE": 100.0, "HU_VACANT": 7.0, "ID": 741903.0, "IN_HOUSEHO": 225.0, "MALE": 125.0, "MALE_18": 107.0, "MALE_65": 29.0, "MEDIAN_AGE": 56.6, "MSA": "1640", "NH_WHITE": 226.0, "NOT_HISPAN": 357.0, "OCCHU_OWNE": 64.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.36, "POPULATION": 360.0, "RENTER_SIZ": 2.06, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 227.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.12805999987356, -84.52444400046097, 39.12975999987339], "geometry": {"coordinates": [[[-84.52534400046086, 39.12975999987339], [-84.52444400046097, 39.129659999873425], [-84.52464400046094, 39.128459999873506], [-84.52544400046085, 39.12805999987356], [-84.52534400046086, 39.12975999987339]]], "type": "Polygon"}, "id": "225", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 48.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 71.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 3.0, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18746.3134, "F1_RACE": 77.0, "F2_RACES": 7.0, "FEMALE": 42.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 10.0, "ID": 681301.0, "IN_HOUSEHO": 84.0, "MALE": 42.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 3.4, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 68.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.127659999873586, -84.5205440004614, 39.129659999873425], "geometry": {"coordinates": [[[-84.52374400046105, 39.129659999873425], [-84.52234400046119, 39.129559999873415], [-84.5205440004614, 39.12945999987345], [-84.52064400046136, 39.12835999987354], [-84.52074400046135, 39.127659999873586], [-84.5211440004613, 39.12775999987357], [-84.52194400046122, 39.12775999987357], [-84.52274400046113, 39.12775999987357], [-84.52354400046106, 39.12785999987357], [-84.52424400046097, 39.12795999987355], [-84.52544400046085, 39.12805999987356], [-84.52464400046094, 39.128459999873506], [-84.52374400046104, 39.1287599998735], [-84.52374400046105, 39.129659999873425]]], "type": "Polygon"}, "id": "226", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 6.0, "AGE_21": 30.0, "AGE_25_34": 15.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.37, "BG": "390610026001", "BLACK": 5.0, "BLOCK": "390610026001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1320.3592, "F1_RACE": 29.0, "F2_RACES": 2.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 681354.0, "IN_HOUSEHO": 26.0, "MALE": 20.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 31.0, "RENTER_SIZ": 1.33, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 23.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.52464400046094, 39.128459999873506, -84.52374400046104, 39.129659999873425], "geometry": {"coordinates": [[[-84.52444400046097, 39.129659999873425], [-84.52374400046105, 39.129659999873425], [-84.52374400046104, 39.1287599998735], [-84.52464400046094, 39.128459999873506], [-84.52444400046097, 39.129659999873425]]], "type": "Polygon"}, "id": "227", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 16.0, "AGE_18": 53.0, "AGE_20_24": 28.0, "AGE_21": 29.0, "AGE_25_34": 7.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.9, "BG": "390610026001", "BLACK": 2.0, "BLOCK": "390610026001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18657.0486, "F1_RACE": 56.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 27.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 3.0, "ID": 681381.0, "IN_HOUSEHO": 57.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.2, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 57.0, "RENTER_SIZ": 1.88, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 47.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52234400046119, 39.12945999987345, -84.52034400046142, 39.13295999987311], "geometry": {"coordinates": [[[-84.52234400046119, 39.129559999873415], [-84.52194400046125, 39.13165999987322], [-84.52184400046129, 39.13295999987311], [-84.52098700046135, 39.13284599987314], [-84.52034400046142, 39.13275999987314], [-84.52034400046142, 39.13255999987314], [-84.5204120004614, 39.131505999873255], [-84.5205440004614, 39.12945999987345], [-84.52234400046119, 39.129559999873415]]], "type": "Polygon"}, "id": "228", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 34.0, "AGE_18": 242.0, "AGE_20_24": 165.0, "AGE_21": 167.0, "AGE_25_34": 36.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 20.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 217.0, "AREA": 0.02, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 5.0, "BLOCK": "390610029002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12051.1059, "F1_RACE": 241.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 105.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 104.0, "GROUP_QUAR": 104.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 681399.0, "IN_HOUSEHO": 139.0, "MALE": 137.0, "MALE_18": 137.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 215.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 81.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 243.0, "RENTER_SIZ": 1.64, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 215.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52304400046114, 39.13165999987322, -84.52184400046129, 39.13295999987311], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52184400046129, 39.13295999987311], [-84.52194400046125, 39.13165999987322], [-84.52304400046114, 39.131759999873225], [-84.52301200046112, 39.1321479998732], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "229", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 11.0, "AGE_18": 90.0, "AGE_20_24": 54.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 87.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.25, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18196.4629, "F1_RACE": 92.0, "F2_RACES": 1.0, "FEMALE": 29.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 21.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 32.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 32.0, "HU_VACANT": 2.0, "ID": 681421.0, "IN_HOUSEHO": 72.0, "MALE": 64.0, "MALE_18": 61.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 85.0, "NOT_HISPAN": 91.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 93.0, "RENTER_SIZ": 2.28, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 86.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52074400046135, 39.127559999873625, -84.51894400046154, 39.12835999987354], "geometry": {"coordinates": [[[-84.52074400046135, 39.127659999873586], [-84.52064400046136, 39.12835999987354], [-84.51964400046147, 39.12825999987355], [-84.51894400046154, 39.12825999987357], [-84.51904400046153, 39.127559999873625], [-84.52024400046139, 39.127659999873586], [-84.52074400046135, 39.127659999873586]]], "type": "Polygon"}, "id": "230", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 17.0, "AGE_18": 96.0, "AGE_20_24": 47.0, "AGE_21": 72.0, "AGE_25_34": 20.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 6.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 85.0, "AREA": 0.0, "ASIAN": 5.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.06, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23450.2351, "F1_RACE": 94.0, "F2_RACES": 5.0, "FEMALE": 51.0, "FEMALE_18": 49.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 48.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 48.0, "HU_VACANT": 6.0, "ID": 681479.0, "IN_HOUSEHO": 99.0, "MALE": 48.0, "MALE_18": 47.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 79.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 99.0, "RENTER_SIZ": 2.06, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 80.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51904400046153, 39.12745999987365, -84.51814400046162, 39.12825999987357], "geometry": {"coordinates": [[[-84.51904400046153, 39.127559999873625], [-84.51894400046154, 39.12825999987357], [-84.51814400046163, 39.12815999987359], [-84.51814400046162, 39.12745999987365], [-84.51904400046153, 39.127559999873625]]], "type": "Polygon"}, "id": "231", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 10.0, "AGE_21": 14.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.6, "BG": "390610025001", "BLACK": 1.0, "BLOCK": "390610025001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7200.8426, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 4.0, "ID": 681536.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 16.0, "RENTER_SIZ": 1.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 15.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5205440004614, 39.12945999987345, -84.5194440004615, 39.13255999987314], "geometry": {"coordinates": [[[-84.52034400046142, 39.13255999987314], [-84.5194440004615, 39.131059999873294], [-84.51964400046148, 39.13025999987335], [-84.5203440004614, 39.12945999987346], [-84.5205440004614, 39.12945999987345], [-84.5204120004614, 39.131505999873255], [-84.52034400046142, 39.13255999987314]]], "type": "Polygon"}, "id": "232", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681572.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.13255999987314, -84.51984400046149, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52024400046145, 39.13355999987304], [-84.51984400046149, 39.13305999987312], [-84.52034400046142, 39.13255999987314], [-84.52034400046142, 39.13275999987314], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "233", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681590.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51914400046155, 39.12855999987355, -84.51734400046173, 39.130159999873385], "geometry": {"coordinates": [[[-84.51904400046153, 39.12855999987355], [-84.51914400046155, 39.12975999987343], [-84.51844400046163, 39.130159999873385], [-84.51734400046173, 39.12985999987343], [-84.51744400046172, 39.12965999987345], [-84.51754400046171, 39.12945999987347], [-84.51824400046162, 39.12865999987352], [-84.51904400046153, 39.12855999987355]]], "type": "Polygon"}, "id": "234", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681607.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52064400046136, 39.12825999987355, -84.51614400046188, 39.13235999987321], "geometry": {"coordinates": [[[-84.5194440004615, 39.131059999873294], [-84.51914400046155, 39.13225999987319], [-84.51794400046168, 39.13195999987321], [-84.51614400046188, 39.13235999987321], [-84.51693200046178, 39.13071799987334], [-84.51734400046173, 39.12985999987343], [-84.51844400046163, 39.130159999873385], [-84.51914400046155, 39.12975999987343], [-84.51904400046153, 39.12855999987355], [-84.5194440004615, 39.12855999987354], [-84.51964400046147, 39.12825999987355], [-84.52064400046136, 39.12835999987354], [-84.5205440004614, 39.12945999987345], [-84.5203440004614, 39.12945999987346], [-84.51964400046148, 39.13025999987335], [-84.5194440004615, 39.131059999873294]]], "type": "Polygon"}, "id": "235", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681624.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5264440004608, 39.13425999987298, -84.52004400046148, 39.135759999872825], "geometry": {"coordinates": [[[-84.5264440004608, 39.13445999987294], [-84.5262440004608, 39.135759999872825], [-84.52504400046094, 39.13555999987286], [-84.52434400046101, 39.13545999987286], [-84.52004400046148, 39.13505999987293], [-84.52014400046147, 39.134259999873], [-84.52084500046139, 39.13425999987298], [-84.5217440004613, 39.13425999987298], [-84.52284400046116, 39.13435999987296], [-84.52424400046101, 39.13435999987296], [-84.524462000461, 39.13436999987297], [-84.5264440004608, 39.13445999987294]]], "type": "Polygon"}, "id": "236", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 25.0, "AGE_18": 349.0, "AGE_20_24": 144.0, "AGE_21": 299.0, "AGE_25_34": 114.0, "AGE_35_44": 22.0, "AGE_45_54": 19.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 18.0, "AGE_65": 16.0, "AGE_65_74": 10.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 87.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 9.0, "AP_WHITE": 266.0, "AREA": 0.02, "ASIAN": 85.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.87, "BG": "390610029001", "BLACK": 5.0, "BLOCK": "390610029001007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15091.6364, "F1_RACE": 353.0, "F2_RACES": 8.0, "FEMALE": 143.0, "FEMALE_18": 134.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 24.0, "GROUP_QUAR": 24.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 180.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 180.0, "HU_VACANT": 13.0, "ID": 681644.0, "IN_HOUSEHO": 337.0, "MALE": 218.0, "MALE_18": 215.0, "MALE_65": 9.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 258.0, "NOT_HISPAN": 358.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 151.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.17, "POPULATION": 361.0, "RENTER_SIZ": 1.81, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 259.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52294400046114, 39.13295999987311, -84.5217440004613, 39.13435999987296], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52284400046116, 39.13435999987296], [-84.5217440004613, 39.13425999987298], [-84.52184400046129, 39.13295999987311], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "237", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 10.0, "AGE_18": 143.0, "AGE_20_24": 106.0, "AGE_21": 104.0, "AGE_25_34": 21.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 19.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.3, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26099.3015, "F1_RACE": 143.0, "F2_RACES": 1.0, "FEMALE": 37.0, "FEMALE_18": 36.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 36.0, "GROUP_QUAR": 36.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 681670.0, "IN_HOUSEHO": 108.0, "MALE": 107.0, "MALE_18": 107.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 120.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 144.0, "RENTER_SIZ": 2.3, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 121.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52184400046129, 39.13284599987314, -84.52084500046139, 39.13425999987298], "geometry": {"coordinates": [[[-84.52184400046129, 39.13295999987311], [-84.5217440004613, 39.13425999987298], [-84.52084500046139, 39.13425999987298], [-84.52098700046135, 39.13284599987314], [-84.52184400046129, 39.13295999987311]]], "type": "Polygon"}, "id": "238", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 16.0, "AGE_18": 66.0, "AGE_20_24": 44.0, "AGE_21": 34.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 65.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.8, "BG": "390610029002", "BLACK": 2.0, "BLOCK": "390610029002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15098.8449, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 25.0, "GROUP_QUAR": 25.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 681687.0, "IN_HOUSEHO": 42.0, "MALE": 49.0, "MALE_18": 48.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 65.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 67.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 65.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52098700046135, 39.13275999987314, -84.52014400046147, 39.134259999873], "geometry": {"coordinates": [[[-84.52084500046139, 39.13425999987298], [-84.52014400046147, 39.134259999873], [-84.52024400046145, 39.13375999987304], [-84.52024400046145, 39.13355999987304], [-84.52074400046138, 39.13325999987309], [-84.52024400046143, 39.13305999987312], [-84.52034400046142, 39.13275999987314], [-84.52098700046135, 39.13284599987314], [-84.52084500046139, 39.13425999987298]]], "type": "Polygon"}, "id": "239", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 66.0, "AGE_20_24": 55.0, "AGE_21": 30.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 64.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 0.0, "BLOCK": "390610029002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20452.4733, "F1_RACE": 65.0, "F2_RACES": 1.0, "FEMALE": 60.0, "FEMALE_18": 60.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 61.0, "GROUP_QUAR": 61.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 681742.0, "IN_HOUSEHO": 5.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 66.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 63.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52074400046138, 39.13305999987312, -84.52024400046143, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52074400046138, 39.13325999987309], [-84.52024400046145, 39.13355999987304], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "240", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 4.0, "AGE_18": 18.0, "AGE_20_24": 14.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 38887.7429, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 18.0, "GROUP_QUAR": 18.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681763.0, "IN_HOUSEHO": 0.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 17.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52024400046145, 39.133659999873075, -84.51744400046175, 39.13505999987293], "geometry": {"coordinates": [[[-84.52014400046147, 39.134259999873], [-84.52004400046148, 39.13505999987293], [-84.51914400046158, 39.134959999872954], [-84.51744400046175, 39.134959999872954], [-84.5177440004617, 39.134159999873], [-84.51884400046161, 39.133659999873075], [-84.52024400046145, 39.13375999987304], [-84.52014400046147, 39.134259999873]]], "type": "Polygon"}, "id": "241", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681778.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.131059999873294, -84.51474400046204, 39.13565999987291], "geometry": {"coordinates": [[[-84.52024400046145, 39.13355999987304], [-84.52024400046145, 39.13375999987304], [-84.51884400046161, 39.133659999873075], [-84.5177440004617, 39.134159999873], [-84.51744400046175, 39.134959999872954], [-84.51644400046186, 39.13505999987293], [-84.51474400046204, 39.13565999987291], [-84.51484400046203, 39.13425999987301], [-84.515044000462, 39.13305999987313], [-84.51614400046188, 39.13235999987321], [-84.51794400046168, 39.13195999987321], [-84.51914400046155, 39.13225999987319], [-84.5194440004615, 39.131059999873294], [-84.52034400046142, 39.13255999987314], [-84.51984400046149, 39.13305999987312], [-84.52024400046145, 39.13355999987304]]], "type": "Polygon"}, "id": "242", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681797.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12535999987392, -84.49304300046434, 39.12585999987388], "geometry": {"coordinates": [[[-84.49394300046424, 39.12585999987388], [-84.49364300046426, 39.1257599998739], [-84.49304300046434, 39.1257599998739], [-84.49304300046434, 39.125359999873936], [-84.49404300046422, 39.12535999987392], [-84.49394300046424, 39.12585999987388]]], "type": "Polygon"}, "id": "243", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 10.0, "AGE_20_24": 2.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.83, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15526.3239, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 1.0, "ID": 701090.0, "IN_HOUSEHO": 23.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 23.0, "RENTER_SIZ": 3.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4943430004642, 39.12635999987383, -84.49354300046429, 39.12745999987376], "geometry": {"coordinates": [[[-84.4943430004642, 39.12635999987383], [-84.49424300046421, 39.12745999987374], [-84.4935430004643, 39.12745999987376], [-84.49354300046429, 39.12635999987383], [-84.4943430004642, 39.12635999987383]]], "type": "Polygon"}, "id": "244", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 23.0, "AGE_20_24": 1.0, "AGE_21": 20.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.86, "AVG_HHSIZE": 2.18, "BG": "390610035002", "BLACK": 37.0, "BLOCK": "390610035002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12110.4163, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 17.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 701109.0, "IN_HOUSEHO": 37.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12495999987399, -84.49154300046447, 39.125359999873936], "geometry": {"coordinates": [[[-84.49314300046431, 39.12505999987396], [-84.49304300046434, 39.125359999873936], [-84.49154300046447, 39.12525999987394], [-84.49164300046446, 39.12495999987399], [-84.49314300046431, 39.12505999987396]]], "type": "Polygon"}, "id": "245", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 7.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.0923, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 3.0, "ID": 701127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 20.0, "RENTER_SIZ": 6.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49364300046426, 39.1257599998739, -84.49224300046444, 39.12745999987376], "geometry": {"coordinates": [[[-84.49354300046429, 39.12635999987383], [-84.4935430004643, 39.12745999987376], [-84.49224300046444, 39.127359999873725], [-84.4924430004644, 39.125759999873914], [-84.49304300046434, 39.1257599998739], [-84.49364300046426, 39.1257599998739], [-84.49354300046429, 39.12635999987383]]], "type": "Polygon"}, "id": "246", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 6.0, "AGE_18": 46.0, "AGE_20_24": 1.0, "AGE_21": 45.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 6.0, "AGE_62": 11.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 3.14, "BG": "390610035002", "BLACK": 82.0, "BLOCK": "390610035002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11792.7438, "F1_RACE": 82.0, "F2_RACES": 6.0, "FEMALE": 49.0, "FEMALE_18": 26.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701144.0, "IN_HOUSEHO": 88.0, "MALE": 39.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 87.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 88.0, "RENTER_SIZ": 3.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49484300046416, 39.12745999987374, -84.49324300046433, 39.12935999987355], "geometry": {"coordinates": [[[-84.49484300046416, 39.12805999987366], [-84.49464300046418, 39.12935999987355], [-84.49324300046433, 39.12925999987357], [-84.4935430004643, 39.12745999987376], [-84.49424300046421, 39.12745999987374], [-84.49484300046416, 39.12745999987374], [-84.49484300046416, 39.12805999987366]]], "type": "Polygon"}, "id": "247", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 11.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 10.0, "AGE_45_54": 19.0, "AGE_55_59": 3.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 89.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.33, "BG": "390610035002", "BLACK": 89.0, "BLOCK": "390610035002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10507.1558, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 35.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 701164.0, "IN_HOUSEHO": 100.0, "MALE": 48.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 31.4, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 100.0, "RENTER_SIZ": 2.26, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 11.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4935430004643, 39.127359999873725, -84.49214300046445, 39.12925999987357], "geometry": {"coordinates": [[[-84.4935430004643, 39.12745999987376], [-84.49324300046433, 39.12925999987357], [-84.49214300046445, 39.12915999987361], [-84.49224300046444, 39.127359999873725], [-84.4935430004643, 39.12745999987376]]], "type": "Polygon"}, "id": "248", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 18.0, "AGE_15_19": 20.0, "AGE_18": 94.0, "AGE_20_24": 6.0, "AGE_21": 83.0, "AGE_25_34": 8.0, "AGE_35_44": 29.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 17.0, "AGE_60_64": 5.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 10.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 149.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.68, "BG": "390610035002", "BLACK": 146.0, "BLOCK": "390610035002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18951.907, "F1_RACE": 150.0, "F2_RACES": 3.0, "FEMALE": 82.0, "FEMALE_18": 55.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 61.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 4.0, "ID": 701184.0, "IN_HOUSEHO": 153.0, "MALE": 71.0, "MALE_18": 39.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 153.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.46, "POPULATION": 153.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4953430004641, 39.12935999987355, -84.4936430004643, 39.13235999987328], "geometry": {"coordinates": [[[-84.4953430004641, 39.12935999987355], [-84.4946430004642, 39.13085999987343], [-84.49394300046428, 39.13235999987328], [-84.4936430004643, 39.13235999987327], [-84.49394300046427, 39.13115999987341], [-84.49464300046418, 39.12935999987355], [-84.4953430004641, 39.12935999987355]]], "type": "Polygon"}, "id": "249", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701201.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.496243000464, 39.129359999873536, -84.49394300046428, 39.13255999987326], "geometry": {"coordinates": [[[-84.4946430004642, 39.13085999987343], [-84.4953430004641, 39.12935999987355], [-84.49564300046407, 39.129359999873536], [-84.496243000464, 39.129459999873546], [-84.49614300046402, 39.13055999987345], [-84.49604300046406, 39.13185999987332], [-84.49574300046409, 39.13255999987324], [-84.49484300046419, 39.13255999987326], [-84.49394300046428, 39.13235999987328], [-84.4946430004642, 39.13085999987343]]], "type": "Polygon"}, "id": "250", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 0.0, "AGE_21": 17.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.22, "BG": "390610034001", "BLACK": 18.0, "BLOCK": "390610034001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1162.7336, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 701221.0, "IN_HOUSEHO": 20.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.0, "POPULATION": 20.0, "RENTER_SIZ": 2.38, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12935999987355, -84.49294300046438, 39.13115999987341], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49394300046427, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49294300046438, 39.13115999987341], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "251", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610035002", "BLACK": 8.0, "BLOCK": "390610035002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2400.4034, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 701243.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 8.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12915999987361, -84.49184300046453, 39.1322599998733], "geometry": {"coordinates": [[[-84.49284300046439, 39.1322599998733], [-84.49184300046453, 39.13215999987331], [-84.49204300046448, 39.129759999873535], [-84.49214300046445, 39.12915999987361], [-84.49324300046433, 39.12925999987357], [-84.49464300046418, 39.12935999987355], [-84.49294300046438, 39.13115999987341], [-84.49284300046439, 39.1322599998733]]], "type": "Polygon"}, "id": "252", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 32.0, "AGE_20_24": 10.0, "AGE_21": 19.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.26, "AVG_HHSIZE": 2.16, "BG": "390610035002", "BLACK": 54.0, "BLOCK": "390610035002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3226.1536, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701260.0, "IN_HOUSEHO": 54.0, "MALE": 15.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 54.0, "RENTER_SIZ": 2.16, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49394300046427, 39.13115999987341, -84.49284300046439, 39.13235999987327], "geometry": {"coordinates": [[[-84.49394300046427, 39.13115999987341], [-84.4936430004643, 39.13235999987327], [-84.49284300046439, 39.1322599998733], [-84.49294300046438, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49394300046427, 39.13115999987341]]], "type": "Polygon"}, "id": "253", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701281.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5012430004635, 39.132359999873266, -84.49894300046375, 39.13485999987302], "geometry": {"coordinates": [[[-84.5012430004635, 39.13285999987319], [-84.50094300046354, 39.134859999873], [-84.50054300046358, 39.13485999987302], [-84.49894300046375, 39.13475999987305], [-84.49913700046373, 39.13443699987308], [-84.49954300046369, 39.13375999987313], [-84.49954300046369, 39.133259999873175], [-84.49964300046366, 39.13265999987324], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13285999987319]]], "type": "Polygon"}, "id": "254", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 53.0, "AGE_20_24": 3.0, "AGE_21": 53.0, "AGE_25_34": 18.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 60.0, "BLOCK": "390610034002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4672.8118, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 5.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 6.0, "ID": 701300.0, "IN_HOUSEHO": 63.0, "MALE": 36.0, "MALE_18": 27.0, "MALE_65": 7.0, "MEDIAN_AGE": 33.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 68.0, "RENTER_SIZ": 1.7, "THEFT": 13, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 6.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50094300046354, 39.13465999987304, -84.49844300046382, 39.138359999872684], "geometry": {"coordinates": [[[-84.50084300046358, 39.13635999987288], [-84.5006430004636, 39.138359999872684], [-84.49844300046384, 39.13815999987272], [-84.49844300046382, 39.13735999987279], [-84.4986430004638, 39.135759999872946], [-84.49874300046378, 39.13465999987304], [-84.49894300046375, 39.13475999987305], [-84.50054300046358, 39.13485999987302], [-84.50094300046354, 39.134859999873], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.135659999872956], [-84.50084300046358, 39.13635999987288]]], "type": "Polygon"}, "id": "255", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701323.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49964300046366, 39.13265999987324, -84.496838000464, 39.13475999987305], "geometry": {"coordinates": [[[-84.49964300046366, 39.13265999987324], [-84.49954300046369, 39.133259999873175], [-84.49954300046369, 39.13375999987313], [-84.49913700046373, 39.13443699987308], [-84.49894300046375, 39.13475999987305], [-84.49874300046378, 39.13465999987304], [-84.4976430004639, 39.13455999987308], [-84.496838000464, 39.13456299987309], [-84.49684300046397, 39.13435999987308], [-84.49704300046395, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49794300046385, 39.13265999987325], [-84.49964300046366, 39.13265999987324]]], "type": "Polygon"}, "id": "256", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701347.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49704300046395, 39.13255999987324, -84.49604300046407, 39.13435999987308], "geometry": {"coordinates": [[[-84.49704300046395, 39.13265999987325], [-84.49684300046397, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49624300046402, 39.13255999987324], [-84.49704300046395, 39.13265999987325]]], "type": "Polygon"}, "id": "257", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.13, "BG": "390610034001", "BLACK": 17.0, "BLOCK": "390610034001009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3255.9625, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 701373.0, "IN_HOUSEHO": 17.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49874300046378, 39.13455999987308, -84.4960430004641, 39.13735999987279], "geometry": {"coordinates": [[[-84.49874300046378, 39.13465999987304], [-84.4986430004638, 39.135759999872946], [-84.49844300046382, 39.13735999987279], [-84.4960430004641, 39.137259999872825], [-84.4960430004641, 39.137059999872825], [-84.496743000464, 39.13565999987297], [-84.496743000464, 39.13475999987305], [-84.496838000464, 39.13456299987309], [-84.4976430004639, 39.13455999987308], [-84.49874300046378, 39.13465999987304]]], "type": "Polygon"}, "id": "258", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 2.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 36.0, "AGE_25_34": 3.0, "AGE_35_44": 14.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 50.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.38, "BG": "390610034002", "BLACK": 50.0, "BLOCK": "390610034002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2352.8122, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 5.0, "ID": 701390.0, "IN_HOUSEHO": 50.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.43, "POPULATION": 50.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5006430004636, 39.13815999987272, -84.49834300046383, 39.13945999987261], "geometry": {"coordinates": [[[-84.5006430004636, 39.138359999872684], [-84.50054300046362, 39.13935999987259], [-84.49834300046383, 39.13945999987261], [-84.49834300046383, 39.13885999987267], [-84.49844300046384, 39.13815999987272], [-84.5006430004636, 39.138359999872684]]], "type": "Polygon"}, "id": "259", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 6.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.44, "AVG_HHSIZE": 1.61, "BG": "390610067002", "BLACK": 24.0, "BLOCK": "390610067002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3895.8118, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 1.0, "ID": 701413.0, "IN_HOUSEHO": 37.0, "MALE": 18.0, "MALE_18": 17.0, "MALE_65": 1.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 37.0, "RENTER_SIZ": 1.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50054300046362, 39.13935999987259, -84.49824300046387, 39.1406599998725], "geometry": {"coordinates": [[[-84.50054300046362, 39.13935999987259], [-84.50054300046362, 39.139659999872585], [-84.50034300046366, 39.1406599998725], [-84.49824300046387, 39.1406599998725], [-84.49834300046385, 39.140159999872544], [-84.49834300046383, 39.13945999987261], [-84.50054300046362, 39.13935999987259]]], "type": "Polygon"}, "id": "260", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 17.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 28.0, "AGE_60_64": 1.0, "AGE_62": 16.0, "AGE_65": 15.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 121.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.77, "AVG_HHSIZE": 3.54, "BG": "390610067002", "BLACK": 120.0, "BLOCK": "390610067002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12519.5291, "F1_RACE": 123.0, "F2_RACES": 1.0, "FEMALE": 72.0, "FEMALE_18": 37.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 8.0, "ID": 701432.0, "IN_HOUSEHO": 124.0, "MALE": 52.0, "MALE_18": 23.0, "MALE_65": 5.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 124.0, "RENTER_SIZ": 3.91, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50034300046366, 39.1406599998725, -84.49814300046388, 39.1416599998724], "geometry": {"coordinates": [[[-84.50024300046367, 39.1416599998724], [-84.49974300046372, 39.141559999872406], [-84.49984300046371, 39.14125999987244], [-84.49884300046381, 39.14125999987244], [-84.49884300046381, 39.141559999872406], [-84.49814300046388, 39.14155999987243], [-84.49824300046387, 39.1406599998725], [-84.50034300046366, 39.1406599998725], [-84.50024300046367, 39.1416599998724]]], "type": "Polygon"}, "id": "261", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 15.0, "AGE_15_19": 3.0, "AGE_18": 67.0, "AGE_20_24": 6.0, "AGE_21": 64.0, "AGE_25_34": 15.0, "AGE_35_44": 19.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 11.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.2, "BG": "390610067003", "BLACK": 94.0, "BLOCK": "390610067003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16353.6988, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 17.0, "ID": 701450.0, "IN_HOUSEHO": 99.0, "MALE": 47.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 99.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.13805999987273, -84.49654300046404, 39.13885999987267], "geometry": {"coordinates": [[[-84.49844300046384, 39.13815999987272], [-84.49834300046383, 39.13885999987267], [-84.49654300046404, 39.13875999987268], [-84.49654300046404, 39.13805999987273], [-84.49844300046384, 39.13815999987272]]], "type": "Polygon"}, "id": "262", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 32.0, "AGE_20_24": 5.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 5.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.0, "BG": "390610067002", "BLACK": 46.0, "BLOCK": "390610067002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9971.922, "F1_RACE": 46.0, "F2_RACES": 2.0, "FEMALE": 28.0, "FEMALE_18": 19.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 14.0, "ID": 701470.0, "IN_HOUSEHO": 48.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 48.0, "RENTER_SIZ": 2.19, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.137259999872825, -84.49544300046415, 39.13815999987272], "geometry": {"coordinates": [[[-84.49844300046382, 39.13735999987279], [-84.49844300046384, 39.13815999987272], [-84.49654300046404, 39.13805999987273], [-84.49544300046415, 39.13795999987277], [-84.4960430004641, 39.137259999872825], [-84.49844300046382, 39.13735999987279]]], "type": "Polygon"}, "id": "263", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 9.0, "AGE_15_19": 4.0, "AGE_18": 42.0, "AGE_20_24": 4.0, "AGE_21": 38.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 12.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.11, "BG": "390610034002", "BLACK": 52.0, "BLOCK": "390610034002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7551.7359, "F1_RACE": 54.0, "F2_RACES": 5.0, "FEMALE": 28.0, "FEMALE_18": 23.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701488.0, "IN_HOUSEHO": 59.0, "MALE": 31.0, "MALE_18": 19.0, "MALE_65": 3.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 59.0, "RENTER_SIZ": 1.63, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.140159999872544, -84.49664300046405, 39.14235999987234], "geometry": {"coordinates": [[[-84.49814300046388, 39.14155999987243], [-84.4981430004639, 39.14235999987234], [-84.49664300046405, 39.14235999987234], [-84.49684300046403, 39.141159999872464], [-84.49674300046404, 39.140759999872486], [-84.49674300046402, 39.14015999987255], [-84.49834300046385, 39.140159999872544], [-84.49824300046387, 39.1406599998725], [-84.49814300046388, 39.14155999987243]]], "type": "Polygon"}, "id": "264", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 5.0, "AGE_15_19": 16.0, "AGE_18": 144.0, "AGE_20_24": 23.0, "AGE_21": 125.0, "AGE_25_34": 16.0, "AGE_35_44": 33.0, "AGE_45_54": 24.0, "AGE_55_59": 10.0, "AGE_5_9": 21.0, "AGE_60_64": 9.0, "AGE_62": 26.0, "AGE_65": 20.0, "AGE_65_74": 15.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 197.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.03, "BG": "390610067004", "BLACK": 197.0, "BLOCK": "390610067004006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17071.3195, "F1_RACE": 201.0, "F2_RACES": 0.0, "FEMALE": 112.0, "FEMALE_18": 76.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 55.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 14.0, "ID": 701506.0, "IN_HOUSEHO": 201.0, "MALE": 89.0, "MALE_18": 68.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 201.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 84.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 201.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49624300046402, 39.13255999987324, -84.49464300046422, 39.13435999987308], "geometry": {"coordinates": [[[-84.49624300046402, 39.13255999987324], [-84.49604300046407, 39.13435999987308], [-84.49464300046422, 39.13435999987308], [-84.49484300046419, 39.13255999987326], [-84.49574300046409, 39.13255999987324], [-84.49624300046402, 39.13255999987324]]], "type": "Polygon"}, "id": "265", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 1.0, "AGE_21": 49.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 5.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.92, "BG": "390610034001", "BLACK": 67.0, "BLOCK": "390610034001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7394.32, "F1_RACE": 67.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 19.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 10.0, "ID": 701526.0, "IN_HOUSEHO": 69.0, "MALE": 39.0, "MALE_18": 32.0, "MALE_65": 4.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 69.0, "RENTER_SIZ": 1.79, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.496838000464, 39.13456299987309, -84.49564300046411, 39.13565999987297], "geometry": {"coordinates": [[[-84.496743000464, 39.13565999987297], [-84.49564300046411, 39.13565999987297], [-84.49574600046411, 39.13456799987306], [-84.49603300046407, 39.13456699987308], [-84.496838000464, 39.13456299987309], [-84.496743000464, 39.13475999987305], [-84.496743000464, 39.13565999987297]]], "type": "Polygon"}, "id": "266", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.17, "AVG_HHSIZE": 3.22, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13544.9492, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 18.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 701545.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 58.0, "RENTER_SIZ": 3.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49684300046397, 39.134259999873116, -84.49354300046434, 39.13456799987306], "geometry": {"coordinates": [[[-84.49684300046397, 39.13435999987308], [-84.496838000464, 39.13456299987309], [-84.49603300046407, 39.13456699987308], [-84.49574600046411, 39.13456799987306], [-84.4949400004642, 39.13446999987309], [-84.49474300046421, 39.13445999987308], [-84.49354300046434, 39.134459999873094], [-84.49354300046434, 39.134259999873116], [-84.49464300046422, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49684300046397, 39.13435999987308]]], "type": "Polygon"}, "id": "267", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701563.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49574600046411, 39.13446999987309, -84.49474300046423, 39.13565999987297], "geometry": {"coordinates": [[[-84.49574600046411, 39.13456799987306], [-84.49564300046411, 39.13565999987297], [-84.49474300046423, 39.13555999987299], [-84.49494300046419, 39.134559999873105], [-84.4949400004642, 39.13446999987309], [-84.49574600046411, 39.13456799987306]]], "type": "Polygon"}, "id": "268", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610034001", "BLACK": 59.0, "BLOCK": "390610034001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17330.8057, "F1_RACE": 59.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701585.0, "IN_HOUSEHO": 60.0, "MALE": 29.0, "MALE_18": 15.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 60.0, "RENTER_SIZ": 2.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.496743000464, 39.13445999987308, -84.49354300046434, 39.137059999872825], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.49514300046418, 39.13685999987286], [-84.49374300046433, 39.136759999872865], [-84.49354300046434, 39.134459999873094], [-84.49474300046421, 39.13445999987308], [-84.4949400004642, 39.13446999987309], [-84.49494300046419, 39.134559999873105], [-84.49474300046423, 39.13555999987299], [-84.49564300046411, 39.13565999987297], [-84.496743000464, 39.13565999987297], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "269", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 12.0, "AGE_15_19": 13.0, "AGE_18": 93.0, "AGE_20_24": 11.0, "AGE_21": 87.0, "AGE_25_34": 14.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 5.0, "AGE_62": 21.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.07, "AVG_HHSIZE": 2.17, "BG": "390610034001", "BLACK": 123.0, "BLOCK": "390610034001001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7107.1126, "F1_RACE": 125.0, "F2_RACES": 3.0, "FEMALE": 80.0, "FEMALE_18": 59.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 15.0, "ID": 701604.0, "IN_HOUSEHO": 128.0, "MALE": 48.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 128.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 128.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49484300046419, 39.13235999987328, -84.49294300046441, 39.134459999873094], "geometry": {"coordinates": [[[-84.49464300046422, 39.13435999987308], [-84.49354300046434, 39.134259999873116], [-84.49354300046434, 39.134459999873094], [-84.49294300046441, 39.134459999873094], [-84.49394300046428, 39.13235999987328], [-84.49484300046419, 39.13255999987326], [-84.49464300046422, 39.13435999987308]]], "type": "Polygon"}, "id": "270", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.67, "BG": "390610034001", "BLACK": 16.0, "BLOCK": "390610034001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1738.7833, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 2.0, "ID": 701626.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 16.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49394300046428, 39.1322599998733, -84.49234300046446, 39.134459999873094], "geometry": {"coordinates": [[[-84.49394300046428, 39.13235999987328], [-84.49294300046441, 39.134459999873094], [-84.49234300046446, 39.13435999987311], [-84.49244300046446, 39.13415999987311], [-84.49284300046439, 39.1322599998733], [-84.4936430004643, 39.13235999987327], [-84.49394300046428, 39.13235999987328]]], "type": "Polygon"}, "id": "271", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701646.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49374300046433, 39.134459999873094, -84.49221400046447, 39.13675999987287], "geometry": {"coordinates": [[[-84.49354300046434, 39.134459999873094], [-84.49374300046433, 39.136759999872865], [-84.49234300046447, 39.13675999987287], [-84.49224300046448, 39.135659999872985], [-84.49221400046447, 39.135337999873], [-84.49244300046446, 39.135159999873025], [-84.49294300046441, 39.134459999873094], [-84.49354300046434, 39.134459999873094]]], "type": "Polygon"}, "id": "272", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 7.0, "AGE_18": 40.0, "AGE_20_24": 4.0, "AGE_21": 35.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.15, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5326.181, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 701665.0, "IN_HOUSEHO": 56.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 56.0, "RENTER_SIZ": 2.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49654300046404, 39.13795999987277, -84.4949430004642, 39.13875999987268], "geometry": {"coordinates": [[[-84.49654300046404, 39.13805999987273], [-84.49654300046404, 39.13875999987268], [-84.4949430004642, 39.13855999987269], [-84.49524300046419, 39.13825999987273], [-84.49544300046415, 39.13795999987277], [-84.49654300046404, 39.13805999987273]]], "type": "Polygon"}, "id": "273", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 3.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.29, "BG": "390610067002", "BLACK": 37.0, "BLOCK": "390610067002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11703.1123, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 5.0, "ID": 701685.0, "IN_HOUSEHO": 39.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.67, "POPULATION": 39.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.13855999987269, -84.49354300046437, 39.14015999987255], "geometry": {"coordinates": [[[-84.49834300046383, 39.13945999987261], [-84.49834300046385, 39.140159999872544], [-84.49674300046402, 39.14015999987255], [-84.49354300046437, 39.13995999987257], [-84.49444300046427, 39.139159999872646], [-84.4949430004642, 39.13855999987269], [-84.49654300046404, 39.13875999987268], [-84.49834300046383, 39.13885999987267], [-84.49834300046383, 39.13945999987261]]], "type": "Polygon"}, "id": "274", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 21.0, "AGE_15_19": 17.0, "AGE_18": 206.0, "AGE_20_24": 14.0, "AGE_21": 196.0, "AGE_25_34": 31.0, "AGE_35_44": 58.0, "AGE_45_54": 40.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 10.0, "AGE_62": 40.0, "AGE_65": 36.0, "AGE_65_74": 25.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 264.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.28, "BG": "390610067002", "BLACK": 264.0, "BLOCK": "390610067002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13219.4943, "F1_RACE": 279.0, "F2_RACES": 0.0, "FEMALE": 145.0, "FEMALE_18": 105.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 59.0, "HH_NONFAMI": 61.0, "HOUSEHOLDS": 120.0, "HSNG_UNITS": 139.0, "HU_OCCUPIE": 120.0, "HU_VACANT": 19.0, "ID": 701704.0, "IN_HOUSEHO": 274.0, "MALE": 134.0, "MALE_18": 101.0, "MALE_65": 15.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 277.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 90.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 279.0, "RENTER_SIZ": 2.11, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 14.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50714300046275, 39.11655999987471, -84.50604300046285, 39.117459999874605], "geometry": {"coordinates": [[[-84.50704300046277, 39.117459999874605], [-84.50604300046285, 39.11735999987464], [-84.50614300046284, 39.11655999987471], [-84.50714300046275, 39.11655999987471], [-84.50704300046277, 39.117459999874605]]], "type": "Polygon"}, "id": "275", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 26.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.95, "BG": "390610018002", "BLACK": 33.0, "BLOCK": "390610018002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11683.7506, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 13.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 666949.0, "IN_HOUSEHO": 37.0, "MALE": 19.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 37.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50604300046285, 39.11735999987464, -84.50464300046302, 39.118059999874546], "geometry": {"coordinates": [[[-84.50604300046285, 39.11735999987464], [-84.50594300046288, 39.118059999874546], [-84.50464300046302, 39.117959999874564], [-84.50464300046302, 39.11735999987464], [-84.50604300046285, 39.11735999987464]]], "type": "Polygon"}, "id": "276", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 34.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12886.0003, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 666966.0, "IN_HOUSEHO": 42.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 49.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50614300046284, 39.116359999874724, -84.50354300046313, 39.11735999987465], "geometry": {"coordinates": [[[-84.50614300046284, 39.11655999987471], [-84.50604300046285, 39.11735999987464], [-84.50464300046302, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50354300046313, 39.116359999874724], [-84.50614300046284, 39.11655999987471]]], "type": "Polygon"}, "id": "277", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 0.0, "AGE_21": 45.0, "AGE_25_34": 7.0, "AGE_35_44": 10.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.96, "BG": "390610018003", "BLACK": 52.0, "BLOCK": "390610018003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6504.3475, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 666984.0, "IN_HOUSEHO": 53.0, "MALE": 28.0, "MALE_18": 23.0, "MALE_65": 3.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 53.0, "RENTER_SIZ": 2.13, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50844300046265, 39.11735999987464, -84.50344300046316, 39.121459999874226], "geometry": {"coordinates": [[[-84.50444300046306, 39.120559999874324], [-84.50344300046316, 39.120459999874356], [-84.50374300046313, 39.11735999987465], [-84.50464300046302, 39.11735999987464], [-84.50464300046302, 39.117959999874564], [-84.50594300046288, 39.118059999874546], [-84.50574300046291, 39.11965999987443], [-84.50844300046263, 39.11985999987439], [-84.50844300046265, 39.120459999874335], [-84.50834300046266, 39.121459999874226], [-84.50564300046294, 39.121359999874265], [-84.50444300046307, 39.121259999874276], [-84.50444300046306, 39.120559999874324]]], "type": "Polygon"}, "id": "278", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 24.0, "AGE_15_19": 22.0, "AGE_18": 246.0, "AGE_20_24": 22.0, "AGE_21": 234.0, "AGE_25_34": 57.0, "AGE_35_44": 53.0, "AGE_45_54": 47.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 38.0, "AGE_65_74": 19.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 3.0, "AP_BLACK": 292.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 5.0, "AP_WHITE": 29.0, "AREA": 0.04, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.05, "AVG_HHSIZE": 2.2, "BG": "390610022002", "BLACK": 283.0, "BLOCK": "390610022002003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7480.1601, "F1_RACE": 313.0, "F2_RACES": 11.0, "FEMALE": 171.0, "FEMALE_18": 131.0, "FEMALE_65": 26.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 75.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 147.0, "HSNG_UNITS": 207.0, "HU_OCCUPIE": 147.0, "HU_VACANT": 60.0, "ID": 667002.0, "IN_HOUSEHO": 324.0, "MALE": 153.0, "MALE_18": 115.0, "MALE_65": 12.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 321.0, "OCCHU_OWNE": 47.0, "OCCHU_RENT": 100.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.77, "POPULATION": 324.0, "RENTER_SIZ": 1.94, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 25.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50834300046266, 39.121359999874265, -84.50564300046294, 39.12195999987419], "geometry": {"coordinates": [[[-84.50834300046266, 39.121459999874226], [-84.50834300046266, 39.12195999987419], [-84.50564300046294, 39.12175999987422], [-84.50564300046294, 39.121359999874265], [-84.50834300046266, 39.121459999874226]]], "type": "Polygon"}, "id": "279", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 61.0, "AGE_20_24": 8.0, "AGE_21": 60.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.31, "AVG_HHSIZE": 1.93, "BG": "390610022002", "BLACK": 61.0, "BLOCK": "390610022002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18000.5453, "F1_RACE": 78.0, "F2_RACES": 3.0, "FEMALE": 44.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 12.0, "ID": 667029.0, "IN_HOUSEHO": 81.0, "MALE": 37.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 31.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 81.0, "RENTER_SIZ": 1.81, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12265999987413, -84.5043430004631, 39.124259999874], "geometry": {"coordinates": [[[-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12425999987398], [-84.50474300046305, 39.124259999874], [-84.5043430004631, 39.124159999874], [-84.50444300046308, 39.12355999987404], [-84.50664300046284, 39.12355999987404], [-84.50664300046284, 39.12275999987412], [-84.50834300046267, 39.12265999987413], [-84.50834300046267, 39.123959999873996]]], "type": "Polygon"}, "id": "280", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 11.0, "AGE_18": 152.0, "AGE_20_24": 15.0, "AGE_21": 141.0, "AGE_25_34": 41.0, "AGE_35_44": 38.0, "AGE_45_54": 23.0, "AGE_55_59": 7.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 170.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 22.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.07, "BG": "390610022003", "BLACK": 167.0, "BLOCK": "390610022003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12551.3346, "F1_RACE": 192.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 80.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 41.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 94.0, "HSNG_UNITS": 111.0, "HU_OCCUPIE": 94.0, "HU_VACANT": 17.0, "ID": 667045.0, "IN_HOUSEHO": 195.0, "MALE": 101.0, "MALE_18": 72.0, "MALE_65": 5.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.97, "POPULATION": 195.0, "RENTER_SIZ": 1.68, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 21.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12425999987398, -84.50474300046305, 39.12555999987385], "geometry": {"coordinates": [[[-84.50834300046267, 39.12505999987389], [-84.50824300046268, 39.12555999987385], [-84.50674300046285, 39.125459999873875], [-84.50604300046291, 39.125059999873905], [-84.50564300046297, 39.12495999987392], [-84.50474300046305, 39.12495999987392], [-84.50474300046305, 39.124259999874], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.12505999987389]]], "type": "Polygon"}, "id": "281", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 18.0, "AGE_18": 145.0, "AGE_20_24": 32.0, "AGE_21": 126.0, "AGE_25_34": 39.0, "AGE_35_44": 30.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 49.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610022004", "BLACK": 128.0, "BLOCK": "390610022004004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13388.9258, "F1_RACE": 179.0, "F2_RACES": 0.0, "FEMALE": 101.0, "FEMALE_18": 80.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 62.0, "HOUSEHOLDS": 93.0, "HSNG_UNITS": 104.0, "HU_OCCUPIE": 93.0, "HU_VACANT": 11.0, "ID": 667067.0, "IN_HOUSEHO": 179.0, "MALE": 78.0, "MALE_18": 65.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.1, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 177.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.76, "POPULATION": 179.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 49.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.121259999874276, -84.5042430004631, 39.12275999987412], "geometry": {"coordinates": [[[-84.50834300046266, 39.12195999987419], [-84.50834300046267, 39.12265999987413], [-84.50664300046284, 39.12275999987412], [-84.5042430004631, 39.12255999987417], [-84.50444300046307, 39.121259999874276], [-84.50564300046294, 39.121359999874265], [-84.50564300046294, 39.12175999987422], [-84.50834300046266, 39.12195999987419]]], "type": "Polygon"}, "id": "282", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 23.0, "AGE_18": 141.0, "AGE_20_24": 13.0, "AGE_21": 128.0, "AGE_25_34": 32.0, "AGE_35_44": 36.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 22.0, "AGE_60_64": 10.0, "AGE_62": 17.0, "AGE_65": 12.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 1.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.41, "BG": "390610022002", "BLACK": 180.0, "BLOCK": "390610022002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13920.8235, "F1_RACE": 198.0, "F2_RACES": 9.0, "FEMALE": 108.0, "FEMALE_18": 75.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 27.0, "ID": 667087.0, "IN_HOUSEHO": 207.0, "MALE": 99.0, "MALE_18": 66.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 71.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 207.0, "RENTER_SIZ": 2.38, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50664300046284, 39.12255999987417, -84.50414300046312, 39.12355999987404], "geometry": {"coordinates": [[[-84.50664300046284, 39.12275999987412], [-84.50664300046284, 39.12355999987404], [-84.50444300046308, 39.12355999987404], [-84.50414300046312, 39.12345999987407], [-84.5042430004631, 39.12255999987417], [-84.50664300046284, 39.12275999987412]]], "type": "Polygon"}, "id": "283", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 87.0, "AGE_20_24": 9.0, "AGE_21": 80.0, "AGE_25_34": 14.0, "AGE_35_44": 19.0, "AGE_45_54": 24.0, "AGE_55_59": 3.0, "AGE_5_9": 12.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.38, "BG": "390610022003", "BLACK": 115.0, "BLOCK": "390610022003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7854, "F1_RACE": 121.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 54.0, "FEMALE_65": 9.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 7.0, "ID": 667107.0, "IN_HOUSEHO": 112.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 4.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.14, "POPULATION": 121.0, "RENTER_SIZ": 2.58, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50374300046313, 39.11735999987464, -84.50244300046329, 39.120459999874356], "geometry": {"coordinates": [[[-84.50344300046316, 39.120459999874356], [-84.50244300046329, 39.12035999987436], [-84.50274300046323, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50344300046316, 39.120459999874356]]], "type": "Polygon"}, "id": "284", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 10.0, "AGE_15_19": 6.0, "AGE_18": 133.0, "AGE_20_24": 15.0, "AGE_21": 128.0, "AGE_25_34": 22.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 9.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 16.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.29, "BG": "390610022001", "BLACK": 160.0, "BLOCK": "390610022001005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14534.9531, "F1_RACE": 165.0, "F2_RACES": 0.0, "FEMALE": 88.0, "FEMALE_18": 73.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 37.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 12.0, "ID": 667125.0, "IN_HOUSEHO": 165.0, "MALE": 77.0, "MALE_18": 60.0, "MALE_65": 10.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 32.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.55, "POPULATION": 165.0, "RENTER_SIZ": 1.97, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 5.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50274300046323, 39.11735999987464, -84.49994300046355, 39.12235999987418], "geometry": {"coordinates": [[[-84.50244300046329, 39.12035999987436], [-84.50224300046331, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50114300046343, 39.12235999987418], [-84.50081300046347, 39.121369999874275], [-84.50074300046347, 39.12115999987429], [-84.49994300046355, 39.11945999987446], [-84.5001430004635, 39.117559999874615], [-84.50174300046334, 39.117459999874605], [-84.50274300046323, 39.11735999987464], [-84.50244300046329, 39.12035999987436]]], "type": "Polygon"}, "id": "285", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 38.0, "AGE_15_19": 34.0, "AGE_18": 244.0, "AGE_20_24": 22.0, "AGE_21": 227.0, "AGE_25_34": 44.0, "AGE_35_44": 49.0, "AGE_45_54": 62.0, "AGE_55_59": 12.0, "AGE_5_9": 29.0, "AGE_60_64": 10.0, "AGE_62": 41.0, "AGE_65": 36.0, "AGE_65_74": 16.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 343.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 2.89, "BG": "390610022001", "BLACK": 343.0, "BLOCK": "390610022001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9208.6985, "F1_RACE": 353.0, "F2_RACES": 0.0, "FEMALE": 199.0, "FEMALE_18": 142.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 43.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 133.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 11.0, "ID": 667143.0, "IN_HOUSEHO": 353.0, "MALE": 154.0, "MALE_18": 102.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 63.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.51, "POPULATION": 353.0, "RENTER_SIZ": 2.24, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50444300046307, 39.120459999874356, -84.50324300046321, 39.12255999987417], "geometry": {"coordinates": [[[-84.50444300046307, 39.121259999874276], [-84.5042430004631, 39.12255999987417], [-84.50324300046321, 39.12245999987417], [-84.50344300046316, 39.120459999874356], [-84.50444300046306, 39.120559999874324], [-84.50444300046307, 39.121259999874276]]], "type": "Polygon"}, "id": "286", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 57.0, "AGE_20_24": 4.0, "AGE_21": 56.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 12.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.68, "AVG_HHSIZE": 2.16, "BG": "390610022002", "BLACK": 60.0, "BLOCK": "390610022002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8655.7543, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 10.0, "ID": 667166.0, "IN_HOUSEHO": 67.0, "MALE": 33.0, "MALE_18": 28.0, "MALE_65": 10.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.56, "POPULATION": 67.0, "RENTER_SIZ": 1.62, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50344300046316, 39.12035999987436, -84.50224300046331, 39.12245999987417], "geometry": {"coordinates": [[[-84.50324300046321, 39.12245999987417], [-84.50224300046331, 39.12235999987418], [-84.50244300046329, 39.12035999987436], [-84.50344300046316, 39.120459999874356], [-84.50324300046321, 39.12245999987417]]], "type": "Polygon"}, "id": "287", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 3.0, "AGE_18": 69.0, "AGE_20_24": 4.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 12.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 0.0, "AGE_62": 19.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.56, "BG": "390610022001", "BLACK": 87.0, "BLOCK": "390610022001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13366.7012, "F1_RACE": 99.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 35.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 45.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 6.0, "ID": 667185.0, "IN_HOUSEHO": 100.0, "MALE": 49.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.22, "POPULATION": 100.0, "RENTER_SIZ": 2.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 9.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50324300046321, 39.12235999987418, -84.50214300046333, 39.12345999987407], "geometry": {"coordinates": [[[-84.50314300046323, 39.12345999987407], [-84.50214300046333, 39.12335999987408], [-84.50224300046331, 39.12235999987418], [-84.50324300046321, 39.12245999987417], [-84.50314300046323, 39.12345999987407]]], "type": "Polygon"}, "id": "288", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 52.0, "AGE_20_24": 5.0, "AGE_21": 50.0, "AGE_25_34": 14.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.68, "BG": "390610022003", "BLACK": 63.0, "BLOCK": "390610022003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17911.7113, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 8.0, "ID": 667202.0, "IN_HOUSEHO": 67.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 67.0, "RENTER_SIZ": 1.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5042430004631, 39.12245999987417, -84.50314300046323, 39.12345999987407], "geometry": {"coordinates": [[[-84.5042430004631, 39.12255999987417], [-84.50414300046312, 39.12345999987407], [-84.50314300046323, 39.12345999987407], [-84.50324300046321, 39.12245999987417], [-84.5042430004631, 39.12255999987417]]], "type": "Polygon"}, "id": "289", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 0.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.0, "BG": "390610022003", "BLACK": 33.0, "BLOCK": "390610022003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12440.3687, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 8.0, "ID": 667220.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.7, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 44.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 11.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50444300046308, 39.12345999987407, -84.50314300046323, 39.124159999874], "geometry": {"coordinates": [[[-84.50444300046308, 39.12355999987404], [-84.5043430004631, 39.124159999874], [-84.50334300046322, 39.124159999873996], [-84.50314300046323, 39.12345999987407], [-84.50414300046312, 39.12345999987407], [-84.50444300046308, 39.12355999987404]]], "type": "Polygon"}, "id": "290", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 0.0, "AGE_18": 34.0, "AGE_20_24": 2.0, "AGE_21": 34.0, "AGE_25_34": 10.0, "AGE_35_44": 2.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 44.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.68, "BG": "390610022003", "BLACK": 44.0, "BLOCK": "390610022003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17321.771, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 21.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 667237.0, "IN_HOUSEHO": 51.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 51.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.124159999873996, -84.50334300046322, 39.12495999987392], "geometry": {"coordinates": [[[-84.50474300046305, 39.124259999874], [-84.50474300046305, 39.12495999987392], [-84.5034430004632, 39.12485999987395], [-84.50334300046322, 39.124159999873996], [-84.5043430004631, 39.124159999874], [-84.50474300046305, 39.124259999874]]], "type": "Polygon"}, "id": "291", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 3.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 18.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.75, "BG": "390610022004", "BLACK": 44.0, "BLOCK": "390610022004005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15001.0741, "F1_RACE": 51.0, "F2_RACES": 4.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 4.0, "ID": 667256.0, "IN_HOUSEHO": 55.0, "MALE": 22.0, "MALE_18": 13.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.9, "POPULATION": 55.0, "RENTER_SIZ": 2.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12335999987408, -84.50214300046333, 39.12485999987396], "geometry": {"coordinates": [[[-84.50334300046322, 39.124159999873996], [-84.5034430004632, 39.12485999987395], [-84.5025430004633, 39.12485999987396], [-84.5025430004633, 39.124259999874], [-84.50234300046331, 39.123959999874025], [-84.50214300046333, 39.12335999987408], [-84.50314300046323, 39.12345999987407], [-84.50334300046322, 39.124159999873996]]], "type": "Polygon"}, "id": "292", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 41.0, "AGE_20_24": 1.0, "AGE_21": 41.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 51.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.78, "AVG_HHSIZE": 1.65, "BG": "390610022003", "BLACK": 51.0, "BLOCK": "390610022003000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10552.4083, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 23.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 8.0, "ID": 667274.0, "IN_HOUSEHO": 51.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.64, "POPULATION": 51.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50224300046331, 39.12235999987418, -84.50114300046343, 39.12335999987408], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50114300046344, 39.12325999987408], [-84.50114300046343, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50224300046331, 39.12235999987418], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "293", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 9.0, "AGE_35_44": 21.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.67, "BG": "390610022001", "BLACK": 42.0, "BLOCK": "390610022001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7518, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 30.0, "FEMALE_65": 2.0, "GQ_INSTITU": 20.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 20.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 7.0, "ID": 667293.0, "IN_HOUSEHO": 35.0, "MALE": 23.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.75, "POPULATION": 55.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5025430004633, 39.12325999987408, -84.50114300046344, 39.12485999987396], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50234300046331, 39.123959999874025], [-84.5025430004633, 39.124259999874], [-84.5025430004633, 39.12485999987396], [-84.50174300046339, 39.12475999987396], [-84.50114300046344, 39.12325999987408], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "294", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 11.0, "AGE_20_24": 2.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.75, "BG": "390610022001", "BLACK": 13.0, "BLOCK": "390610022001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2913.8529, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 667312.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50174300046339, 39.12225999987419, -84.50014300046355, 39.12475999987396], "geometry": {"coordinates": [[[-84.50114300046344, 39.12325999987408], [-84.50174300046339, 39.12475999987396], [-84.50014300046355, 39.12465999987397], [-84.50034300046353, 39.12225999987419], [-84.50114300046343, 39.12235999987418], [-84.50114300046344, 39.12325999987408]]], "type": "Polygon"}, "id": "295", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667329.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50074300046342, 39.11275999987505, -84.49864300046367, 39.11755999987462], "geometry": {"coordinates": [[[-84.50074300046342, 39.11285999987504], [-84.50064300046343, 39.113159999875045], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.11375999987498], [-84.50044300046345, 39.114359999874935], [-84.49974300046355, 39.1169599998747], [-84.49964300046355, 39.11715999987465], [-84.49944300046359, 39.11755999987462], [-84.49884300046364, 39.11745999987464], [-84.49864300046367, 39.11715999987466], [-84.49895600046362, 39.11617399987476], [-84.49994300046352, 39.11355999987502], [-84.49994300046352, 39.11335999987502], [-84.50024300046346, 39.11275999987505], [-84.50074300046342, 39.11285999987504]]], "type": "Polygon"}, "id": "296", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002031", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667490.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49514300046425, 39.145659999872066, -84.49354300046444, 39.14845999987178], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.4948430004643, 39.14845999987178], [-84.49354300046444, 39.148259999871804], [-84.49384300046441, 39.14705999987192], [-84.49404300046436, 39.145659999872066], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "297", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 221.0, "AGE_20_24": 25.0, "AGE_21": 202.0, "AGE_25_34": 35.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 16.0, "AGE_5_9": 20.0, "AGE_60_64": 11.0, "AGE_62": 75.0, "AGE_65": 68.0, "AGE_65_74": 26.0, "AGE_75_84": 26.0, "AGE_85": 16.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 247.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 41.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 10, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.94, "BG": "390610068002", "BLACK": 243.0, "BLOCK": "390610068002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24438.1476, "F1_RACE": 280.0, "F2_RACES": 5.0, "FEMALE": 161.0, "FEMALE_18": 134.0, "FEMALE_65": 47.0, "GQ_INSTITU": 72.0, "GQ_NONINST": 23.0, "GROUP_QUAR": 95.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 98.0, "HSNG_UNITS": 117.0, "HU_OCCUPIE": 98.0, "HU_VACANT": 19.0, "ID": 705132.0, "IN_HOUSEHO": 190.0, "MALE": 124.0, "MALE_18": 87.0, "MALE_65": 21.0, "MEDIAN_AGE": 37.8, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 285.0, "RENTER_SIZ": 1.93, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49404300046436, 39.14545999987209, -84.4920430004646, 39.148259999871804], "geometry": {"coordinates": [[[-84.49404300046436, 39.145659999872066], [-84.49384300046441, 39.14705999987192], [-84.49354300046444, 39.148259999871804], [-84.4920430004646, 39.14805999987183], [-84.49213100046458, 39.14691599987195], [-84.49224300046455, 39.14545999987209], [-84.49404300046436, 39.145659999872066]]], "type": "Polygon"}, "id": "298", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 24.0, "AGE_15_19": 17.0, "AGE_18": 122.0, "AGE_20_24": 9.0, "AGE_21": 113.0, "AGE_25_34": 21.0, "AGE_35_44": 35.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 1.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 11.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 0.0, "AP_BLACK": 171.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.78, "BG": "390610068002", "BLACK": 167.0, "BLOCK": "390610068002001", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10804.1794, "F1_RACE": 172.0, "F2_RACES": 6.0, "FEMALE": 87.0, "FEMALE_18": 62.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 78.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 14.0, "ID": 705167.0, "IN_HOUSEHO": 178.0, "MALE": 91.0, "MALE_18": 60.0, "MALE_65": 11.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 178.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.61, "POPULATION": 178.0, "RENTER_SIZ": 2.88, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49304300046434, 39.12525999987394, -84.49154300046447, 39.125759999873914], "geometry": {"coordinates": [[[-84.49304300046434, 39.125359999873936], [-84.49304300046434, 39.1257599998739], [-84.4924430004644, 39.125759999873914], [-84.49184300046447, 39.1257599998739], [-84.49154300046449, 39.1256599998739], [-84.49154300046447, 39.12525999987394], [-84.49304300046434, 39.125359999873936]]], "type": "Polygon"}, "id": "299", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.25, "BG": "390610021001", "BLACK": 13.0, "BLOCK": "390610021001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5318.6525, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 8.0, "ID": 705258.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 13.0, "RENTER_SIZ": 3.25, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4924430004644, 39.1257599998739, -84.4917430004645, 39.127359999873725], "geometry": {"coordinates": [[[-84.4924430004644, 39.125759999873914], [-84.49224300046444, 39.127359999873725], [-84.4917430004645, 39.127359999873725], [-84.49184300046447, 39.1257599998739], [-84.4924430004644, 39.125759999873914]]], "type": "Polygon"}, "id": "300", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 5.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.25, "BG": "390610035002", "BLACK": 9.0, "BLOCK": "390610035002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2761.6482, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 705278.0, "IN_HOUSEHO": 9.0, "MALE": 4.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 9.0, "RENTER_SIZ": 1.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49154300046449, 39.12485999987399, -84.49044300046462, 39.1256599998739], "geometry": {"coordinates": [[[-84.49154300046447, 39.12525999987394], [-84.49154300046449, 39.1256599998739], [-84.49064300046459, 39.1256599998739], [-84.49044300046462, 39.125559999873914], [-84.49114300046453, 39.12485999987399], [-84.49104300046453, 39.12515999987397], [-84.49154300046447, 39.12525999987394]]], "type": "Polygon"}, "id": "301", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705295.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12475999987402, -84.49014300046463, 39.125559999873914], "geometry": {"coordinates": [[[-84.49114300046453, 39.12485999987399], [-84.49044300046462, 39.125559999873914], [-84.49014300046463, 39.125559999873914], [-84.49044300046461, 39.12495999987399], [-84.49054300046461, 39.12475999987402], [-84.49114300046453, 39.12485999987399]]], "type": "Polygon"}, "id": "302", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 4.67, "BG": "390610021001", "BLACK": 14.0, "BLOCK": "390610021001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10356.9954, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 705315.0, "IN_HOUSEHO": 14.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 11.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 4.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49184300046447, 39.1256599998739, -84.49044300046464, 39.127359999873725], "geometry": {"coordinates": [[[-84.4917430004645, 39.127359999873725], [-84.49044300046464, 39.12725999987379], [-84.49064300046459, 39.1256599998739], [-84.49154300046449, 39.1256599998739], [-84.49184300046447, 39.1257599998739], [-84.4917430004645, 39.127359999873725]]], "type": "Polygon"}, "id": "303", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 11.0, "AGE_15_19": 5.0, "AGE_18": 73.0, "AGE_20_24": 4.0, "AGE_21": 71.0, "AGE_25_34": 10.0, "AGE_35_44": 21.0, "AGE_45_54": 20.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 11.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 97.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.83, "BG": "390610035001", "BLACK": 97.0, "BLOCK": "390610035001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12976.9945, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 46.0, "FEMALE_18": 33.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 9.0, "ID": 705334.0, "IN_HOUSEHO": 99.0, "MALE": 53.0, "MALE_18": 40.0, "MALE_65": 8.0, "MEDIAN_AGE": 37.9, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 51.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 99.0, "RENTER_SIZ": 1.76, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49224300046444, 39.12725999987379, -84.49024300046466, 39.129759999873535], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49024300046466, 39.12965999987355], [-84.49044300046464, 39.12725999987379], [-84.4917430004645, 39.127359999873725], [-84.49224300046444, 39.127359999873725], [-84.49214300046445, 39.12915999987361], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "304", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 13.0, "AGE_18": 76.0, "AGE_20_24": 8.0, "AGE_21": 65.0, "AGE_25_34": 16.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 4.0, "AGE_75_84": 4.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 117.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.71, "BG": "390610035001", "BLACK": 117.0, "BLOCK": "390610035001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7530.1086, "F1_RACE": 122.0, "F2_RACES": 0.0, "FEMALE": 61.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 80.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 35.0, "ID": 705352.0, "IN_HOUSEHO": 122.0, "MALE": 61.0, "MALE_18": 39.0, "MALE_65": 8.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 122.0, "RENTER_SIZ": 2.7, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49064300046459, 39.125559999873914, -84.48934300046474, 39.12725999987379], "geometry": {"coordinates": [[[-84.49064300046459, 39.1256599998739], [-84.49044300046464, 39.12725999987379], [-84.48934300046474, 39.12715999987378], [-84.49014300046463, 39.125559999873914], [-84.49044300046462, 39.125559999873914], [-84.49064300046459, 39.1256599998739]]], "type": "Polygon"}, "id": "305", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 6.0, "AGE_35_44": 11.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 2.4, "BG": "390610035001", "BLACK": 42.0, "BLOCK": "390610035001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9636.6782, "F1_RACE": 47.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 705372.0, "IN_HOUSEHO": 48.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 48.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49044300046461, 39.124859999874, -84.4877430004649, 39.125559999873914], "geometry": {"coordinates": [[[-84.48914300046475, 39.124859999874], [-84.49044300046461, 39.12495999987399], [-84.49014300046463, 39.125559999873914], [-84.4877430004649, 39.125459999873954], [-84.48784300046489, 39.124859999874026], [-84.48914300046475, 39.124859999874]]], "type": "Polygon"}, "id": "306", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 16.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.64, "BG": "390610019001", "BLACK": 9.0, "BLOCK": "390610019001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3066.4806, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 36.0, "ID": 705391.0, "IN_HOUSEHO": 18.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 1.64, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 7.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49014300046463, 39.125459999873954, -84.48754300046494, 39.12715999987378], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.49014300046463, 39.125559999873914], [-84.48934300046474, 39.12715999987378], [-84.48754300046494, 39.126959999873826], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "307", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 59.0, "AGE_20_24": 1.0, "AGE_21": 59.0, "AGE_25_34": 11.0, "AGE_35_44": 11.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 62.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.17, "BG": "390610037002", "BLACK": 62.0, "BLOCK": "390610037002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5108.6014, "F1_RACE": 63.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 28.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 50.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 57.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 3.0, "ID": 705409.0, "IN_HOUSEHO": 63.0, "MALE": 34.0, "MALE_18": 31.0, "MALE_65": 5.0, "MEDIAN_AGE": 45.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 1.17, "THEFT": 14, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49044300046464, 39.12715999987378, -84.48844300046484, 39.12965999987355], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.48934300046476, 39.12955999987356], [-84.48844300046484, 39.12945999987358], [-84.48854300046484, 39.12865999987366], [-84.48934300046474, 39.12715999987378], [-84.49044300046464, 39.12725999987379], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "308", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 24.0, "AGE_15_19": 20.0, "AGE_18": 189.0, "AGE_20_24": 14.0, "AGE_21": 186.0, "AGE_25_34": 28.0, "AGE_35_44": 47.0, "AGE_45_54": 43.0, "AGE_55_59": 12.0, "AGE_5_9": 25.0, "AGE_60_64": 9.0, "AGE_62": 42.0, "AGE_65": 33.0, "AGE_65_74": 20.0, "AGE_75_84": 11.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.7, "BG": "390610035001", "BLACK": 246.0, "BLOCK": "390610035001003", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20388.1466, "F1_RACE": 274.0, "F2_RACES": 8.0, "FEMALE": 136.0, "FEMALE_18": 88.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 47.0, "GROUP_QUAR": 47.0, "HAWAIIAN": 0.0, "HH_FAMILY": 61.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 100.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 13.0, "ID": 705427.0, "IN_HOUSEHO": 235.0, "MALE": 146.0, "MALE_18": 101.0, "MALE_65": 17.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.92, "POPULATION": 282.0, "RENTER_SIZ": 2.67, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 23.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48934300046474, 39.126959999873826, -84.48744300046496, 39.12865999987366], "geometry": {"coordinates": [[[-84.48934300046474, 39.12715999987378], [-84.48854300046484, 39.12865999987366], [-84.48744300046496, 39.12865999987366], [-84.48754300046494, 39.126959999873826], [-84.48934300046474, 39.12715999987378]]], "type": "Polygon"}, "id": "309", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 49.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 12.0, "AGE_35_44": 16.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.11, "AVG_HHSIZE": 2.84, "BG": "390610037002", "BLACK": 70.0, "BLOCK": "390610037002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8106.6346, "F1_RACE": 71.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 27.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 705446.0, "IN_HOUSEHO": 71.0, "MALE": 34.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.8, "POPULATION": 71.0, "RENTER_SIZ": 2.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49204300046448, 39.12965999987355, -84.49004300046471, 39.13215999987331], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49184300046453, 39.13215999987331], [-84.49004300046471, 39.13195999987333], [-84.49024300046466, 39.12965999987355], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "310", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 24.0, "AGE_15_19": 23.0, "AGE_18": 114.0, "AGE_20_24": 12.0, "AGE_21": 105.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.34, "BG": "390610035001", "BLACK": 177.0, "BLOCK": "390610035001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12487.9501, "F1_RACE": 192.0, "F2_RACES": 5.0, "FEMALE": 103.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 12.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 12.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 31.0, "ID": 705464.0, "IN_HOUSEHO": 185.0, "MALE": 94.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 24.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 60.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.32, "POPULATION": 197.0, "RENTER_SIZ": 2.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 15.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49284300046439, 39.13215999987331, -84.49174300046454, 39.13415999987313], "geometry": {"coordinates": [[[-84.49184300046453, 39.13215999987331], [-84.49284300046439, 39.1322599998733], [-84.49244300046446, 39.13415999987311], [-84.49174300046455, 39.13415999987313], [-84.49174300046454, 39.13335999987318], [-84.49184300046453, 39.13215999987331]]], "type": "Polygon"}, "id": "311", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49184300046453, 39.13195999987333, -84.48994300046472, 39.13335999987318], "geometry": {"coordinates": [[[-84.49174300046454, 39.13335999987318], [-84.48994300046472, 39.13325999987322], [-84.49004300046471, 39.13195999987333], [-84.49184300046453, 39.13215999987331], [-84.49174300046454, 39.13335999987318]]], "type": "Polygon"}, "id": "312", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.9, "BG": "390610036002", "BLACK": 19.0, "BLOCK": "390610036002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2265.3295, "F1_RACE": 19.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 705500.0, "IN_HOUSEHO": 19.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 19.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49024300046466, 39.12945999987358, -84.48794300046492, 39.13195999987333], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.49004300046471, 39.13195999987333], [-84.48914300046481, 39.13195999987333], [-84.48794300046492, 39.13185999987335], [-84.48814300046489, 39.13085999987344], [-84.48844300046484, 39.12945999987358], [-84.48934300046476, 39.12955999987356], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "313", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 59.0, "AGE_20_24": 12.0, "AGE_21": 55.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 16.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.72, "BG": "390610035001", "BLACK": 74.0, "BLOCK": "390610035001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4260.8043, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 31.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 9.0, "ID": 705518.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 74.0, "RENTER_SIZ": 1.65, "THEFT": 11, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49004300046471, 39.13185999987335, -84.48764300046497, 39.13325999987322], "geometry": {"coordinates": [[[-84.49004300046471, 39.13195999987333], [-84.48994300046472, 39.13325999987322], [-84.48764300046497, 39.13315999987322], [-84.48784300046495, 39.13265999987328], [-84.48794300046492, 39.13185999987335], [-84.48914300046481, 39.13195999987333], [-84.49004300046471, 39.13195999987333]]], "type": "Polygon"}, "id": "314", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 229.0, "AGE_20_24": 2.0, "AGE_21": 228.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 10.0, "AGE_5_9": 1.0, "AGE_60_64": 16.0, "AGE_62": 187.0, "AGE_65": 177.0, "AGE_65_74": 79.0, "AGE_75_84": 73.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 2.0, "AP_BLACK": 239.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.53, "AVG_HHSIZE": 1.15, "BG": "390610036002", "BLACK": 236.0, "BLOCK": "390610036002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23313.5736, "F1_RACE": 237.0, "F2_RACES": 3.0, "FEMALE": 190.0, "FEMALE_18": 183.0, "FEMALE_65": 147.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 190.0, "HOUSEHOLDS": 209.0, "HSNG_UNITS": 212.0, "HU_OCCUPIE": 209.0, "HU_VACANT": 3.0, "ID": 705538.0, "IN_HOUSEHO": 240.0, "MALE": 50.0, "MALE_18": 46.0, "MALE_65": 30.0, "MEDIAN_AGE": 72.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 239.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 204.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 240.0, "RENTER_SIZ": 1.14, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4877430004649, 39.125359999873965, -84.48594300046511, 39.126959999873826], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.48754300046494, 39.126959999873826], [-84.48594300046511, 39.12685999987383], [-84.48604300046509, 39.125359999873965], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "315", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 141.0, "AGE_20_24": 7.0, "AGE_21": 139.0, "AGE_25_34": 8.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 9.0, "AGE_5_9": 7.0, "AGE_60_64": 16.0, "AGE_62": 77.0, "AGE_65": 68.0, "AGE_65_74": 32.0, "AGE_75_84": 24.0, "AGE_85": 12.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.76, "AVG_HHSIZE": 1.33, "BG": "390610037002", "BLACK": 146.0, "BLOCK": "390610037002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17459.4717, "F1_RACE": 158.0, "F2_RACES": 3.0, "FEMALE": 88.0, "FEMALE_18": 80.0, "FEMALE_65": 42.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 121.0, "HSNG_UNITS": 126.0, "HU_OCCUPIE": 121.0, "HU_VACANT": 5.0, "ID": 705558.0, "IN_HOUSEHO": 161.0, "MALE": 73.0, "MALE_18": 61.0, "MALE_65": 26.0, "MEDIAN_AGE": 61.1, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 161.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 113.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 161.0, "RENTER_SIZ": 1.25, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48754300046494, 39.12685999987383, -84.48574300046513, 39.12865999987366], "geometry": {"coordinates": [[[-84.48754300046494, 39.126959999873826], [-84.48744300046496, 39.12865999987366], [-84.4862430004651, 39.12855999987367], [-84.48574300046513, 39.12855999987368], [-84.48594300046511, 39.12685999987383], [-84.48754300046494, 39.126959999873826]]], "type": "Polygon"}, "id": "316", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610037002", "BLACK": 8.0, "BLOCK": "390610037002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 772.902, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 1.0, "ID": 705576.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48604300046509, 39.125159999874, -84.48434300046526, 39.12685999987383], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48434300046527, 39.12675999987384], [-84.48434300046526, 39.125159999874], [-84.48504300046518, 39.12525999987396], [-84.48604300046509, 39.125359999873965], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "317", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 6.0, "AGE_15_19": 15.0, "AGE_18": 178.0, "AGE_20_24": 31.0, "AGE_21": 164.0, "AGE_25_34": 43.0, "AGE_35_44": 18.0, "AGE_45_54": 18.0, "AGE_55_59": 17.0, "AGE_5_9": 24.0, "AGE_60_64": 16.0, "AGE_62": 35.0, "AGE_65": 25.0, "AGE_65_74": 19.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 232.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 1.6, "BG": "390610037002", "BLACK": 230.0, "BLOCK": "390610037002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25096.418, "F1_RACE": 235.0, "F2_RACES": 2.0, "FEMALE": 132.0, "FEMALE_18": 99.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 50.0, "HH_NONFAMI": 98.0, "HOUSEHOLDS": 148.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 148.0, "HU_VACANT": 45.0, "ID": 705594.0, "IN_HOUSEHO": 237.0, "MALE": 105.0, "MALE_18": 79.0, "MALE_65": 9.0, "MEDIAN_AGE": 27.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 233.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 237.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48594300046511, 39.12675999987384, -84.48414300046532, 39.12855999987368], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48574300046513, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.4842430004653, 39.12765999987374], [-84.48434300046527, 39.12675999987384], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "318", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 9.0, "AGE_18": 229.0, "AGE_20_24": 9.0, "AGE_21": 226.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 33.0, "AGE_55_59": 11.0, "AGE_5_9": 6.0, "AGE_60_64": 24.0, "AGE_62": 123.0, "AGE_65": 110.0, "AGE_65_74": 44.0, "AGE_75_84": 46.0, "AGE_85": 20.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 235.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 5.0, "AP_WHITE": 19.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.29, "BG": "390610037002", "BLACK": 229.0, "BLOCK": "390610037002000", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25176.618, "F1_RACE": 248.0, "F2_RACES": 7.0, "FEMALE": 152.0, "FEMALE_18": 143.0, "FEMALE_65": 76.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 173.0, "HOUSEHOLDS": 197.0, "HSNG_UNITS": 199.0, "HU_OCCUPIE": 197.0, "HU_VACANT": 2.0, "ID": 705613.0, "IN_HOUSEHO": 255.0, "MALE": 103.0, "MALE_18": 86.0, "MALE_65": 34.0, "MEDIAN_AGE": 61.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 255.0, "RENTER_SIZ": 1.26, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 16.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.128459999873684, -84.48414300046532, 39.129359999873586], "geometry": {"coordinates": [[[-84.48574300046513, 39.12855999987368], [-84.48574300046515, 39.129359999873586], [-84.48414300046532, 39.129259999873604], [-84.48414300046532, 39.128459999873684], [-84.48574300046513, 39.12855999987368]]], "type": "Polygon"}, "id": "319", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 9.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.91, "BG": "390610037003", "BLACK": 57.0, "BLOCK": "390610037003012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13501.798, "F1_RACE": 64.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 6.0, "ID": 705632.0, "IN_HOUSEHO": 64.0, "MALE": 26.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 64.0, "RENTER_SIZ": 3.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 7.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48854300046484, 39.12855999987367, -84.48554300046517, 39.130859999873465], "geometry": {"coordinates": [[[-84.48844300046484, 39.12945999987358], [-84.48814300046489, 39.13085999987344], [-84.48684300046503, 39.130859999873465], [-84.48604300046513, 39.13075999987347], [-84.48554300046517, 39.13075999987347], [-84.48574300046515, 39.129359999873586], [-84.48574300046513, 39.12855999987368], [-84.4862430004651, 39.12855999987367], [-84.48744300046496, 39.12865999987366], [-84.48854300046484, 39.12865999987366], [-84.48844300046484, 39.12945999987358]]], "type": "Polygon"}, "id": "320", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 2.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 46.0, "BLOCK": "390610037003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2087.6977, "F1_RACE": 46.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 20.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 705649.0, "IN_HOUSEHO": 46.0, "MALE": 19.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 46.0, "RENTER_SIZ": 2.36, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48814300046489, 39.13085999987344, -84.48684300046503, 39.13185999987336], "geometry": {"coordinates": [[[-84.48814300046489, 39.13085999987344], [-84.48794300046492, 39.13185999987335], [-84.48684300046504, 39.13185999987336], [-84.48684300046503, 39.130859999873465], [-84.48814300046489, 39.13085999987344]]], "type": "Polygon"}, "id": "321", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 25.0, "AGE_20_24": 11.0, "AGE_21": 17.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 39.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.17, "BG": "390610037003", "BLACK": 38.0, "BLOCK": "390610037003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8776.4684, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 705673.0, "IN_HOUSEHO": 39.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 2.17, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48794300046492, 39.13185999987335, -84.48684300046504, 39.132659999873304], "geometry": {"coordinates": [[[-84.48794300046492, 39.13185999987335], [-84.48784300046495, 39.13265999987328], [-84.48684300046504, 39.132659999873304], [-84.48684300046504, 39.13185999987336], [-84.48794300046492, 39.13185999987335]]], "type": "Polygon"}, "id": "322", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610036001", "BLACK": 16.0, "BLOCK": "390610036001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5465.2861, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 7.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 6.0, "ID": 705691.0, "IN_HOUSEHO": 17.0, "MALE": 8.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 17.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.13075999987347, -84.4854430004652, 39.13185999987336], "geometry": {"coordinates": [[[-84.48684300046503, 39.130859999873465], [-84.48684300046504, 39.13185999987336], [-84.4854430004652, 39.131759999873395], [-84.48554300046517, 39.13075999987347], [-84.48604300046513, 39.13075999987347], [-84.48684300046503, 39.130859999873465]]], "type": "Polygon"}, "id": "323", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 74.0, "AGE_20_24": 15.0, "AGE_21": 65.0, "AGE_25_34": 8.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 10.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 104.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.81, "BG": "390610037003", "BLACK": 104.0, "BLOCK": "390610037003003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20938.2875, "F1_RACE": 107.0, "F2_RACES": 0.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 4.0, "ID": 705708.0, "IN_HOUSEHO": 107.0, "MALE": 44.0, "MALE_18": 26.0, "MALE_65": 6.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 57.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.81, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48784300046495, 39.1325599998733, -84.48504300046523, 39.133659999873196], "geometry": {"coordinates": [[[-84.48784300046495, 39.13265999987328], [-84.48764300046497, 39.13315999987322], [-84.487443000465, 39.133459999873224], [-84.487443000465, 39.133659999873196], [-84.48613700046513, 39.133514999873206], [-84.48596700046515, 39.133397999873225], [-84.48504300046523, 39.13276599987328], [-84.48504300046523, 39.1325599998733], [-84.4854430004652, 39.1325599998733], [-84.48684300046504, 39.132659999873304], [-84.48784300046495, 39.13265999987328]]], "type": "Polygon"}, "id": "324", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 6.0, "AVG_HHSIZE": 6.0, "BG": "390610036001", "BLACK": 6.0, "BLOCK": "390610036001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 799.5032, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 705727.0, "IN_HOUSEHO": 6.0, "MALE": 4.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 6.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 6.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49364300046419, 39.11405999987497, -84.49304300046427, 39.1148599998749], "geometry": {"coordinates": [[[-84.49324300046423, 39.11405999987497], [-84.49364300046419, 39.114359999874964], [-84.49304300046427, 39.1148599998749], [-84.49324300046423, 39.11405999987497]]], "type": "Polygon"}, "id": "325", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 5.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.44, "BG": "390610019002", "BLACK": 5.0, "BLOCK": "390610019002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18472.2408, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 3.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 0.0, "ID": 669057.0, "IN_HOUSEHO": 13.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 13.0, "RENTER_SIZ": 1.43, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 8.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49884300046364, 39.11715999987466, -84.49854300046368, 39.11755999987462], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49854300046368, 39.11755999987462], [-84.49864300046367, 39.11715999987466], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "326", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669074.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49864300046367, 39.11715999987466, -84.4984430004637, 39.11755999987462], "geometry": {"coordinates": [[[-84.49864300046367, 39.11715999987466], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.117259999874676], [-84.49864300046367, 39.11715999987466]]], "type": "Polygon"}, "id": "327", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002029", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669090.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49944300046359, 39.11745999987464, -84.49804300046375, 39.12015999987439], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49944300046359, 39.11755999987462], [-84.49804300046375, 39.12015999987439], [-84.49814300046373, 39.11885999987453], [-84.4984430004637, 39.11815999987457], [-84.49854300046368, 39.11755999987462], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "328", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669106.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50114300046343, 39.117559999874615, -84.49784300046379, 39.12235999987418], "geometry": {"coordinates": [[[-84.50114300046343, 39.12235999987418], [-84.50034300046353, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.49874300046368, 39.121459999874276], [-84.49874300046368, 39.120759999874345], [-84.49824300046373, 39.120759999874345], [-84.49824300046373, 39.121459999874276], [-84.49824300046375, 39.12225999987419], [-84.49784300046379, 39.12225999987419], [-84.49794300046376, 39.120759999874345], [-84.49804300046375, 39.12015999987439], [-84.49944300046359, 39.11755999987462], [-84.5001430004635, 39.117559999874615], [-84.49994300046355, 39.11945999987446], [-84.50074300046347, 39.12115999987429], [-84.50081300046347, 39.121369999874275], [-84.50114300046343, 39.12235999987418]]], "type": "Polygon"}, "id": "329", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 7.0, "AGE_15_19": 7.0, "AGE_18": 71.0, "AGE_20_24": 3.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 2.0, "AGE_5_9": 21.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 110.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 2.5, "BG": "390610021002", "BLACK": 110.0, "BLOCK": "390610021002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3608.4247, "F1_RACE": 114.0, "F2_RACES": 1.0, "FEMALE": 63.0, "FEMALE_18": 41.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 7.0, "ID": 669124.0, "IN_HOUSEHO": 115.0, "MALE": 52.0, "MALE_18": 30.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 115.0, "RENTER_SIZ": 2.79, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 4.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49854300046368, 39.11645999987473, -84.4964230004639, 39.12225999987419], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49694300046386, 39.119459999874465], [-84.4974430004638, 39.1191599998745], [-84.49684300046387, 39.11855999987454], [-84.4964230004639, 39.11813999987458], [-84.49754300046378, 39.11645999987473], [-84.4984430004637, 39.117259999874676], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.11815999987457], [-84.49814300046373, 39.11885999987453], [-84.49804300046375, 39.12015999987439], [-84.49794300046376, 39.120759999874345], [-84.49784300046379, 39.12225999987419], [-84.49724300046385, 39.122159999874214], [-84.49744300046382, 39.12065999987436], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "330", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669153.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4974430004638, 39.11813999987458, -84.49634300046392, 39.119459999874465], "geometry": {"coordinates": [[[-84.49684300046387, 39.11855999987454], [-84.4974430004638, 39.1191599998745], [-84.49694300046386, 39.119459999874465], [-84.49634300046392, 39.118259999874574], [-84.4964230004639, 39.11813999987458], [-84.49684300046387, 39.11855999987454]]], "type": "Polygon"}, "id": "331", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669178.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49744300046382, 39.119459999874465, -84.49634300046394, 39.12215999987422], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49744300046382, 39.12065999987436], [-84.49724300046385, 39.122159999874214], [-84.49634300046394, 39.12215999987422], [-84.49644300046394, 39.121359999874294], [-84.49694300046387, 39.121359999874294], [-84.49694300046387, 39.12075999987434], [-84.49654300046392, 39.12055999987439], [-84.49654300046392, 39.11965999987446], [-84.49694300046386, 39.119459999874465], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "332", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.14, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2225.3185, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669195.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 45.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 15.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49874300046368, 39.120759999874345, -84.49824300046373, 39.121459999874276], "geometry": {"coordinates": [[[-84.49874300046368, 39.120759999874345], [-84.49874300046368, 39.121459999874276], [-84.49824300046373, 39.121459999874276], [-84.49824300046373, 39.120759999874345], [-84.49874300046368, 39.120759999874345]]], "type": "Polygon"}, "id": "333", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669219.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49874300046369, 39.121459999874276, -84.49824300046373, 39.12225999987419], "geometry": {"coordinates": [[[-84.49874300046368, 39.121459999874276], [-84.49874300046369, 39.12225999987418], [-84.49824300046375, 39.12225999987419], [-84.49824300046373, 39.121459999874276], [-84.49874300046368, 39.121459999874276]]], "type": "Polygon"}, "id": "334", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 10.0, "BLOCK": "390610021002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6750.2171, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669236.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 60.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 10.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50034300046353, 39.12225999987418, -84.49784300046382, 39.125359999873915], "geometry": {"coordinates": [[[-84.49914300046366, 39.12455999987399], [-84.49914300046366, 39.125359999873915], [-84.49784300046382, 39.125259999873926], [-84.49804300046377, 39.12375999987406], [-84.49864800046372, 39.123760999874065], [-84.49864300046372, 39.1230599998741], [-84.49816800046375, 39.123062999874136], [-84.49824300046375, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.50034300046353, 39.12225999987419], [-84.50014300046355, 39.12465999987397], [-84.49914300046366, 39.12455999987399]]], "type": "Polygon"}, "id": "335", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 32.0, "AGE_25_34": 0.0, "AGE_35_44": 7.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.73, "AVG_HHSIZE": 1.91, "BG": "390610021002", "BLACK": 36.0, "BLOCK": "390610021002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2042.0725, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 669254.0, "IN_HOUSEHO": 42.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 4.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.71, "POPULATION": 42.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49864800046372, 39.1230599998741, -84.49804300046377, 39.123760999874065], "geometry": {"coordinates": [[[-84.49864300046372, 39.1230599998741], [-84.49864800046372, 39.123760999874065], [-84.49804300046377, 39.12375999987406], [-84.49816800046375, 39.123062999874136], [-84.49864300046372, 39.1230599998741]]], "type": "Polygon"}, "id": "336", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.94, "BG": "390610021002", "BLACK": 32.0, "BLOCK": "390610021002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23607.9351, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 669279.0, "IN_HOUSEHO": 33.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 33.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49824300046375, 39.12225999987419, -84.49724300046388, 39.126059999873846], "geometry": {"coordinates": [[[-84.49784300046382, 39.125259999873926], [-84.49784300046382, 39.126059999873846], [-84.49724300046388, 39.126059999873846], [-84.49764300046381, 39.12295999987414], [-84.49784300046379, 39.12225999987419], [-84.49824300046375, 39.12225999987419], [-84.49816800046375, 39.123062999874136], [-84.49804300046377, 39.12375999987406], [-84.49784300046382, 39.125259999873926]]], "type": "Polygon"}, "id": "337", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669296.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046385, 39.122159999874214, -84.49594300046402, 39.125559999873886], "geometry": {"coordinates": [[[-84.49724300046385, 39.122159999874214], [-84.49704300046389, 39.12375999987407], [-84.49684300046391, 39.125259999873926], [-84.49680000046392, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49594300046402, 39.125559999873886], [-84.49595400046402, 39.12521199987394], [-84.496043000464, 39.124359999874024], [-84.49614300046399, 39.123659999874064], [-84.49624300046396, 39.122859999874166], [-84.49634300046394, 39.12215999987422], [-84.49724300046385, 39.122159999874214]]], "type": "Polygon"}, "id": "338", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 14.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.8, "BG": "390610021002", "BLACK": 18.0, "BLOCK": "390610021002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1575.7931, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 669317.0, "IN_HOUSEHO": 18.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 18.0, "RENTER_SIZ": 1.86, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49784300046379, 39.122159999874214, -84.49674300046394, 39.126059999873846], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49674300046394, 39.125959999873864], [-84.49680000046392, 39.125559999873886], [-84.49684300046391, 39.125259999873926], [-84.49704300046389, 39.12375999987407], [-84.49724300046385, 39.122159999874214], [-84.49784300046379, 39.12225999987419], [-84.49764300046381, 39.12295999987414], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "339", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669342.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49584300046398, 39.1180599998746, -84.49434300046414, 39.11955999987449], "geometry": {"coordinates": [[[-84.49584300046398, 39.1180599998746], [-84.49464300046412, 39.11955999987449], [-84.49434300046414, 39.11925999987448], [-84.49444300046413, 39.11805999987461], [-84.49584300046398, 39.1180599998746]]], "type": "Polygon"}, "id": "340", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 89.0, "AGE_20_24": 17.0, "AGE_21": 85.0, "AGE_25_34": 27.0, "AGE_35_44": 25.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 5.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.26, "AVG_HHSIZE": 1.89, "BG": "390610019002", "BLACK": 55.0, "BLOCK": "390610019002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25806.7736, "F1_RACE": 110.0, "F2_RACES": 9.0, "FEMALE": 64.0, "FEMALE_18": 50.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 63.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 63.0, "HU_VACANT": 5.0, "ID": 669361.0, "IN_HOUSEHO": 119.0, "MALE": 55.0, "MALE_18": 39.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 117.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.94, "POPULATION": 119.0, "RENTER_SIZ": 1.87, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 53.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49754300046378, 39.116359999874746, -84.49404300046417, 39.12085999987434], "geometry": {"coordinates": [[[-84.49694300046386, 39.119459999874465], [-84.49654300046392, 39.11965999987446], [-84.49564300046401, 39.12015999987439], [-84.4948430004641, 39.12045999987439], [-84.49434300046416, 39.12085999987434], [-84.49404300046417, 39.120359999874395], [-84.49464300046412, 39.11955999987449], [-84.49584300046398, 39.1180599998746], [-84.49724300046381, 39.116359999874746], [-84.49754300046378, 39.11645999987473], [-84.4964230004639, 39.11813999987458], [-84.49634300046392, 39.118259999874574], [-84.49694300046386, 39.119459999874465]]], "type": "Polygon"}, "id": "341", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.2116, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 669378.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49694300046387, 39.11965999987446, -84.49434300046416, 39.121359999874294], "geometry": {"coordinates": [[[-84.49694300046387, 39.12075999987434], [-84.49694300046387, 39.121359999874294], [-84.49644300046394, 39.121359999874294], [-84.49598100046398, 39.12130899987431], [-84.49554300046402, 39.121259999874304], [-84.49504300046408, 39.12125999987431], [-84.49454300046415, 39.121259999874304], [-84.49434300046416, 39.12085999987434], [-84.4948430004641, 39.12045999987439], [-84.49564300046401, 39.12015999987439], [-84.49654300046392, 39.11965999987446], [-84.49654300046392, 39.12055999987439], [-84.49694300046387, 39.12075999987434]]], "type": "Polygon"}, "id": "342", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 8.0, "BLOCK": "390610021002023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 840.433, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669402.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046381, 39.114159999874964, -84.49144300046446, 39.12015999987439], "geometry": {"coordinates": [[[-84.49724300046381, 39.116359999874746], [-84.49584300046398, 39.1180599998746], [-84.49444300046413, 39.11805999987461], [-84.49324300046426, 39.1179599998746], [-84.49318700046426, 39.118297999874606], [-84.4930430004643, 39.11915999987451], [-84.49294300046431, 39.12015999987439], [-84.49144300046446, 39.120059999874435], [-84.49184300046443, 39.11755999987466], [-84.49304300046427, 39.1148599998749], [-84.49364300046419, 39.114359999874964], [-84.4944430004641, 39.114159999874964], [-84.49514300046404, 39.11445999987495], [-84.49724300046381, 39.116359999874746]]], "type": "Polygon"}, "id": "343", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 18.0, "AGE_15_19": 11.0, "AGE_18": 178.0, "AGE_20_24": 26.0, "AGE_21": 169.0, "AGE_25_34": 66.0, "AGE_35_44": 41.0, "AGE_45_54": 15.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 9.0, "AP_WHITE": 80.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.05, "BG": "390610019002", "BLACK": 152.0, "BLOCK": "390610019002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3806.8143, "F1_RACE": 239.0, "F2_RACES": 5.0, "FEMALE": 116.0, "FEMALE_18": 90.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 49.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 12.0, "ID": 669426.0, "IN_HOUSEHO": 244.0, "MALE": 128.0, "MALE_18": 88.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 71.0, "NOT_HISPAN": 234.0, "OCCHU_OWNE": 36.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 1.61, "POPULATION": 244.0, "RENTER_SIZ": 2.24, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 77.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046412, 39.1179599998746, -84.49294300046431, 39.120359999874395], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49294300046431, 39.12015999987439], [-84.4930430004643, 39.11915999987451], [-84.49318700046426, 39.118297999874606], [-84.49324300046426, 39.1179599998746], [-84.49444300046413, 39.11805999987461], [-84.49434300046414, 39.11925999987448], [-84.49464300046412, 39.11955999987449], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "344", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 9.0, "AGE_18": 147.0, "AGE_20_24": 36.0, "AGE_21": 132.0, "AGE_25_34": 66.0, "AGE_35_44": 19.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 8.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 4.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.78, "BG": "390610019002", "BLACK": 29.0, "BLOCK": "390610019002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14508.3466, "F1_RACE": 153.0, "F2_RACES": 9.0, "FEMALE": 87.0, "FEMALE_18": 75.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 7.0, "ID": 669452.0, "IN_HOUSEHO": 162.0, "MALE": 75.0, "MALE_18": 72.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 116.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 162.0, "RENTER_SIZ": 1.84, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 118.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49404300046417, 39.12015999987439, -84.49284300046432, 39.12155999987428], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49284300046432, 39.12155999987428], [-84.49294300046431, 39.12015999987439], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "345", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.04, "BG": "390610019002", "BLACK": 8.0, "BLOCK": "390610019002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8653.9404, "F1_RACE": 24.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 5.0, "ID": 669472.0, "IN_HOUSEHO": 25.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49644300046394, 39.121259999874304, -84.49544300046405, 39.12215999987422], "geometry": {"coordinates": [[[-84.49644300046394, 39.121359999874294], [-84.49634300046394, 39.12215999987422], [-84.49585900046401, 39.12210599987421], [-84.49544300046405, 39.12205999987423], [-84.49554300046402, 39.121259999874304], [-84.49598100046398, 39.12130899987431], [-84.49644300046394, 39.121359999874294]]], "type": "Polygon"}, "id": "346", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 9.0, "AGE_20_24": 1.0, "AGE_21": 8.0, "AGE_25_34": 1.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.25, "BG": "390610021002", "BLACK": 13.0, "BLOCK": "390610021002021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4810.0321, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669489.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 13.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49634300046394, 39.12205999987423, -84.49534300046406, 39.122859999874166], "geometry": {"coordinates": [[[-84.49634300046394, 39.12215999987422], [-84.49624300046396, 39.122859999874166], [-84.49564300046403, 39.122859999874166], [-84.49534300046406, 39.122859999874166], [-84.49544300046405, 39.12205999987423], [-84.49585900046401, 39.12210599987421], [-84.49634300046394, 39.12215999987422]]], "type": "Polygon"}, "id": "347", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.0, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002022", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8337.3804, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 7.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669506.0, "IN_HOUSEHO": 21.0, "MALE": 8.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 21.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49554300046402, 39.121259999874304, -84.49494300046409, 39.12205999987423], "geometry": {"coordinates": [[[-84.49554300046402, 39.121259999874304], [-84.49544300046405, 39.12205999987423], [-84.49494300046409, 39.12205999987423], [-84.49504300046408, 39.12125999987431], [-84.49554300046402, 39.121259999874304]]], "type": "Polygon"}, "id": "348", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1350.0419, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 669525.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49504300046408, 39.121259999874304, -84.49454300046415, 39.12205999987423], "geometry": {"coordinates": [[[-84.49504300046408, 39.12125999987431], [-84.49494300046409, 39.12205999987423], [-84.49454300046415, 39.12205999987423], [-84.49454300046415, 39.121259999874304], [-84.49504300046408, 39.12125999987431]]], "type": "Polygon"}, "id": "349", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 24.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.21, "BG": "390610021002", "BLACK": 19.0, "BLOCK": "390610021002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23250.7626, "F1_RACE": 30.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 2.0, "ID": 669542.0, "IN_HOUSEHO": 31.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 31.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49544300046405, 39.12205999987423, -84.49464300046414, 39.12365999987408], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.49464300046414, 39.123559999874075], [-84.49484300046412, 39.122759999874155], [-84.49494300046409, 39.12205999987423], [-84.49544300046405, 39.12205999987423], [-84.49534300046406, 39.122859999874166], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "350", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 0.0, "AGE_21": 3.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 4.0, "BLOCK": "390610021002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1293.472, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 669560.0, "IN_HOUSEHO": 4.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49494300046409, 39.12205999987423, -84.49434300046417, 39.122759999874155], "geometry": {"coordinates": [[[-84.49494300046409, 39.12205999987423], [-84.49484300046412, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.49454300046415, 39.12205999987423], [-84.49494300046409, 39.12205999987423]]], "type": "Polygon"}, "id": "351", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 16.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 7.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.18, "BG": "390610021002", "BLACK": 24.0, "BLOCK": "390610021002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20572.187, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 669580.0, "IN_HOUSEHO": 24.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 24.0, "RENTER_SIZ": 2.14, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49624300046396, 39.122859999874166, -84.49554300046405, 39.12365999987408], "geometry": {"coordinates": [[[-84.49624300046396, 39.122859999874166], [-84.49614300046399, 39.123659999874064], [-84.49554300046405, 39.12365999987408], [-84.49564300046403, 39.122859999874166], [-84.49624300046396, 39.122859999874166]]], "type": "Polygon"}, "id": "352", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.2, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4924, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669597.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 16.0, "RENTER_SIZ": 3.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49564300046403, 39.122859999874166, -84.49524300046409, 39.12365999987408], "geometry": {"coordinates": [[[-84.49564300046403, 39.122859999874166], [-84.49554300046405, 39.12365999987408], [-84.49524300046409, 39.12365999987408], [-84.49534300046406, 39.122859999874166], [-84.49564300046403, 39.122859999874166]]], "type": "Polygon"}, "id": "353", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 14.0, "AGE_20_24": 0.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.4, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27001.427, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 9.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 671022.0, "IN_HOUSEHO": 24.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 24.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49614300046399, 39.123659999874064, -84.49544300046406, 39.124359999874024], "geometry": {"coordinates": [[[-84.49614300046399, 39.123659999874064], [-84.496043000464, 39.124359999874024], [-84.49544300046406, 39.124359999874024], [-84.49554300046405, 39.12365999987408], [-84.49614300046399, 39.123659999874064]]], "type": "Polygon"}, "id": "354", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 40.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 40.0, "BLOCK": "390610021001017", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 27001.7246, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 6.0, "ID": 671040.0, "IN_HOUSEHO": 42.0, "MALE": 14.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 42.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.496043000464, 39.124359999874024, -84.49534300046408, 39.12521199987394], "geometry": {"coordinates": [[[-84.496043000464, 39.124359999874024], [-84.49595400046402, 39.12521199987394], [-84.49534300046408, 39.12515999987395], [-84.49544300046406, 39.124359999874024], [-84.496043000464, 39.124359999874024]]], "type": "Polygon"}, "id": "355", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.2, "BG": "390610021001", "BLACK": 16.0, "BLOCK": "390610021001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8595.9685, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 4.0, "ID": 671057.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 16.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49524300046409, 39.123559999874075, -84.49464300046414, 39.124359999874024], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.4951430004641, 39.124359999874024], [-84.49464300046415, 39.124259999874035], [-84.49464300046414, 39.123559999874075], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "356", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.5, "BG": "390610021001", "BLACK": 4.0, "BLOCK": "390610021001019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4154.1275, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 671075.0, "IN_HOUSEHO": 6.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 47.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 6.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49484300046412, 39.122759999874155, -84.4942430004642, 39.1235599998741], "geometry": {"coordinates": [[[-84.49484300046412, 39.122759999874155], [-84.49464300046414, 39.123559999874075], [-84.4942430004642, 39.1235599998741], [-84.49434300046417, 39.122759999874155], [-84.49484300046412, 39.122759999874155]]], "type": "Polygon"}, "id": "357", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.71, "BG": "390610021002", "BLACK": 11.0, "BLOCK": "390610021002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4822, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 671092.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.123559999874075, -84.4941430004642, 39.124259999874035], "geometry": {"coordinates": [[[-84.49464300046414, 39.123559999874075], [-84.49464300046415, 39.124259999874035], [-84.4941430004642, 39.124259999874035], [-84.4942430004642, 39.1235599998741], [-84.49464300046414, 39.123559999874075]]], "type": "Polygon"}, "id": "358", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 19.0, "AGE_20_24": 0.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610021001", "BLACK": 28.0, "BLOCK": "390610021001020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24001.518, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 671110.0, "IN_HOUSEHO": 28.0, "MALE": 16.0, "MALE_18": 10.0, "MALE_65": 4.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 28.0, "RENTER_SIZ": 2.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49554300046405, 39.12365999987408, -84.4951430004641, 39.124359999874024], "geometry": {"coordinates": [[[-84.49554300046405, 39.12365999987408], [-84.49544300046406, 39.124359999874024], [-84.4951430004641, 39.124359999874024], [-84.49524300046409, 39.12365999987408], [-84.49554300046405, 39.12365999987408]]], "type": "Polygon"}, "id": "359", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.33, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25715.9008, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 5.0, "ID": 671127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 3.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 3.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49544300046406, 39.124359999874024, -84.49504300046412, 39.12515999987397], "geometry": {"coordinates": [[[-84.49544300046406, 39.124359999874024], [-84.49534300046408, 39.12515999987395], [-84.49504300046412, 39.12515999987397], [-84.4951430004641, 39.124359999874024], [-84.49544300046406, 39.124359999874024]]], "type": "Polygon"}, "id": "360", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 1.0, "AGE_21": 3.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 3.0, "BLOCK": "390610021001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3375.2483, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671145.0, "IN_HOUSEHO": 3.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4951430004641, 39.124259999874035, -84.49454300046416, 39.12515999987397], "geometry": {"coordinates": [[[-84.4951430004641, 39.124359999874024], [-84.49504300046412, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49464300046415, 39.124259999874035], [-84.4951430004641, 39.124359999874024]]], "type": "Polygon"}, "id": "361", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 4.0, "AGE_21": 6.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.67, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6907.4625, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 671162.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.124259999874035, -84.49404300046422, 39.12515999987397], "geometry": {"coordinates": [[[-84.49464300046415, 39.124259999874035], [-84.49454300046416, 39.12515999987397], [-84.49404300046422, 39.12515999987397], [-84.4941430004642, 39.124259999874035], [-84.49464300046415, 39.124259999874035]]], "type": "Polygon"}, "id": "362", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 14.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 18.0, "BLOCK": "390610021001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10800.8025, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 7.0, "ID": 671180.0, "IN_HOUSEHO": 18.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 18.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49454300046415, 39.12085999987434, -84.49344300046427, 39.12275999987419], "geometry": {"coordinates": [[[-84.49454300046415, 39.12205999987423], [-84.49434300046417, 39.122759999874155], [-84.49394300046423, 39.122759999874155], [-84.49344300046427, 39.12275999987419], [-84.49354300046426, 39.121759999874264], [-84.49434300046416, 39.12085999987434], [-84.49454300046415, 39.121259999874304], [-84.49454300046415, 39.12205999987423]]], "type": "Polygon"}, "id": "363", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 1.0, "AGE_21": 29.0, "AGE_25_34": 10.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 41.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.47, "BG": "390610021001", "BLACK": 41.0, "BLOCK": "390610021001027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8574.633, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671197.0, "IN_HOUSEHO": 47.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 47.0, "RENTER_SIZ": 2.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49434300046416, 39.120359999874395, -84.49094300046455, 39.12395999987406], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49434300046416, 39.12085999987434], [-84.49354300046426, 39.121759999874264], [-84.49284300046433, 39.12305999987415], [-84.49174300046447, 39.1236599998741], [-84.49114300046453, 39.12385999987407], [-84.49094300046455, 39.12395999987406], [-84.49134300046451, 39.12325999987412], [-84.49234300046437, 39.122159999874235], [-84.49284300046432, 39.12155999987428], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "364", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671217.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49434300046417, 39.122759999874155, -84.49334300046428, 39.1235599998741], "geometry": {"coordinates": [[[-84.4942430004642, 39.1235599998741], [-84.49334300046428, 39.12345999987411], [-84.49344300046427, 39.12275999987419], [-84.49394300046423, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.4942430004642, 39.1235599998741]]], "type": "Polygon"}, "id": "365", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.71, "BG": "390610021001", "BLACK": 9.0, "BLOCK": "390610021001028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4764.9242, "F1_RACE": 10.0, "F2_RACES": 2.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 10.0, "ID": 671240.0, "IN_HOUSEHO": 12.0, "MALE": 7.0, "MALE_18": 6.0, "MALE_65": 3.0, "MEDIAN_AGE": 55.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4942430004642, 39.12345999987411, -84.49324300046429, 39.124259999874035], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.4942430004642, 39.1235599998741], [-84.4941430004642, 39.124259999874035], [-84.49324300046429, 39.12415999987405], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "366", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 18.0, "AGE_20_24": 2.0, "AGE_21": 14.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 3.71, "BG": "390610021001", "BLACK": 26.0, "BLOCK": "390610021001021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10969.3932, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 4.0, "ID": 671258.0, "IN_HOUSEHO": 26.0, "MALE": 15.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 26.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4941430004642, 39.12415999987405, -84.4931430004643, 39.12515999987397], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49314300046431, 39.12505999987396], [-84.4931430004643, 39.12455999987401], [-84.49324300046429, 39.12415999987405], [-84.4941430004642, 39.124259999874035], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "367", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 30.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 3.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 8.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.57, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11503.7908, "F1_RACE": 34.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 671275.0, "IN_HOUSEHO": 36.0, "MALE": 12.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 57.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 36.0, "RENTER_SIZ": 1.47, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49354300046426, 39.121759999874264, -84.49174300046447, 39.12415999987405], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.49324300046429, 39.12415999987405], [-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.1236599998741], [-84.49284300046433, 39.12305999987415], [-84.49354300046426, 39.121759999874264], [-84.49344300046427, 39.12275999987419], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "368", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 1.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.54, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001022", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5241.5001, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 3.0, "ID": 671294.0, "IN_HOUSEHO": 33.0, "MALE": 16.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 33.0, "RENTER_SIZ": 3.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49324300046429, 39.12405999987406, -84.49174300046447, 39.12455999987401], "geometry": {"coordinates": [[[-84.49324300046429, 39.12415999987405], [-84.4931430004643, 39.12455999987401], [-84.49174300046447, 39.12445999987402], [-84.49174300046447, 39.12405999987406], [-84.49324300046429, 39.12415999987405]]], "type": "Polygon"}, "id": "369", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 1.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 923.1415, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671314.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12445999987402, -84.49164300046446, 39.12505999987396], "geometry": {"coordinates": [[[-84.4931430004643, 39.12455999987401], [-84.49314300046431, 39.12505999987396], [-84.49164300046446, 39.12495999987399], [-84.49174300046447, 39.12445999987402], [-84.4931430004643, 39.12455999987401]]], "type": "Polygon"}, "id": "370", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 21.0, "BLOCK": "390610021001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7767.719, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 671331.0, "IN_HOUSEHO": 21.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 21.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49324300046423, 39.112659999875135, -84.4890430004647, 39.120059999874435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.49034300046458, 39.120059999874435], [-84.49044300046458, 39.119859999874464], [-84.49064300046453, 39.11755999987468], [-84.49024300046457, 39.1172599998747], [-84.49044300046457, 39.116859999874734], [-84.4890430004647, 39.11665999987475], [-84.48954300046464, 39.11585999987483], [-84.49114300046446, 39.11445999987497], [-84.49144300046441, 39.11305999987509], [-84.49224300046434, 39.112659999875135], [-84.49314300046423, 39.11305999987508], [-84.49324300046423, 39.11405999987497], [-84.49304300046427, 39.1148599998749], [-84.49184300046443, 39.11755999987466], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "371", "properties": {"AGE_0_5": 34.0, "AGE_10_14": 17.0, "AGE_15_19": 20.0, "AGE_18": 116.0, "AGE_20_24": 19.0, "AGE_21": 105.0, "AGE_25_34": 36.0, "AGE_35_44": 18.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 26.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 161.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 40.0, "AREA": 0.05, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.27, "BG": "390610019001", "BLACK": 159.0, "BLOCK": "390610019001012", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4085.8467, "F1_RACE": 201.0, "F2_RACES": 3.0, "FEMALE": 121.0, "FEMALE_18": 74.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 90.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 90.0, "HU_VACANT": 25.0, "ID": 671366.0, "IN_HOUSEHO": 204.0, "MALE": 83.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 204.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.78, "POPULATION": 204.0, "RENTER_SIZ": 2.39, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 37.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49144300046446, 39.11995999987445, -84.48984300046465, 39.12105999987435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.4913430004645, 39.12105999987435], [-84.48984300046465, 39.12095999987435], [-84.48994300046463, 39.11995999987445], [-84.49034300046458, 39.120059999874435], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "372", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 35.0, "AGE_20_24": 4.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.79, "BG": "390610019001", "BLACK": 33.0, "BLOCK": "390610019001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7979.4739, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671465.0, "IN_HOUSEHO": 34.0, "MALE": 23.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 10.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49044300046457, 39.11665999987475, -84.48834300046478, 39.11745999987466], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.48964300046464, 39.117059999874705], [-84.48954300046465, 39.11745999987466], [-84.48834300046478, 39.11725999987471], [-84.4890430004647, 39.11665999987475], [-84.49044300046457, 39.116859999874734], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "373", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 671484.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49064300046453, 39.117059999874705, -84.48934300046469, 39.119859999874464], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.49064300046453, 39.11755999987468], [-84.49044300046458, 39.119859999874464], [-84.48934300046469, 39.1195599998745], [-84.48954300046465, 39.11745999987466], [-84.48964300046464, 39.117059999874705], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "374", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 181.0, "AGE_20_24": 15.0, "AGE_21": 177.0, "AGE_25_34": 60.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 20.0, "AGE_62": 57.0, "AGE_65": 43.0, "AGE_65_74": 31.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 160.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.12, "AVG_HHSIZE": 1.6, "BG": "390610019001", "BLACK": 24.0, "BLOCK": "390610019001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18460.4258, "F1_RACE": 182.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 80.0, "FEMALE_65": 19.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 71.0, "HOUSEHOLDS": 113.0, "HSNG_UNITS": 124.0, "HU_OCCUPIE": 113.0, "HU_VACANT": 11.0, "ID": 671502.0, "IN_HOUSEHO": 181.0, "MALE": 106.0, "MALE_18": 101.0, "MALE_65": 24.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 155.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 44.0, "OCCHU_RENT": 69.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 187.0, "RENTER_SIZ": 1.51, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 156.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49044300046458, 39.11725999987471, -84.48784300046485, 39.120059999874435], "geometry": {"coordinates": [[[-84.49034300046458, 39.120059999874435], [-84.48994300046463, 39.11995999987445], [-84.4883430004648, 39.119959999874474], [-84.48784300046485, 39.118759999874584], [-84.48794300046484, 39.11825999987461], [-84.48804300046481, 39.11755999987469], [-84.48834300046478, 39.11725999987471], [-84.48954300046465, 39.11745999987466], [-84.48934300046469, 39.1195599998745], [-84.49044300046458, 39.119859999874464], [-84.49034300046458, 39.120059999874435]]], "type": "Polygon"}, "id": "375", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 49.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 17.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 48.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.36, "BG": "390610019001", "BLACK": 2.0, "BLOCK": "390610019001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3631.9362, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 1.0, "ID": 671518.0, "IN_HOUSEHO": 53.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 40.8, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.47, "POPULATION": 53.0, "RENTER_SIZ": 1.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 48.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49294300046431, 39.120059999874435, -84.4913430004645, 39.122159999874235], "geometry": {"coordinates": [[[-84.49294300046431, 39.12015999987439], [-84.49284300046432, 39.12155999987428], [-84.49234300046437, 39.122159999874235], [-84.4913430004645, 39.12205999987426], [-84.4913430004645, 39.12105999987435], [-84.49144300046446, 39.120059999874435], [-84.49294300046431, 39.12015999987439]]], "type": "Polygon"}, "id": "376", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 13.0, "AGE_18": 63.0, "AGE_20_24": 10.0, "AGE_21": 56.0, "AGE_25_34": 18.0, "AGE_35_44": 23.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 27.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.62, "BG": "390610019002", "BLACK": 71.0, "BLOCK": "390610019002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9108.6552, "F1_RACE": 94.0, "F2_RACES": 4.0, "FEMALE": 58.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 22.0, "GROUP_QUAR": 22.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 4.0, "ID": 671540.0, "IN_HOUSEHO": 76.0, "MALE": 40.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 96.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 98.0, "RENTER_SIZ": 2.74, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.4913430004645, 39.12095999987435, -84.48974300046466, 39.12205999987426], "geometry": {"coordinates": [[[-84.4913430004645, 39.12105999987435], [-84.4913430004645, 39.12205999987426], [-84.48974300046466, 39.121959999874264], [-84.48984300046465, 39.12095999987435], [-84.4913430004645, 39.12105999987435]]], "type": "Polygon"}, "id": "377", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.4, "BG": "390610019001", "BLACK": 17.0, "BLOCK": "390610019001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2951.8509, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 671560.0, "IN_HOUSEHO": 17.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 17.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49234300046437, 39.121959999874264, -84.48964300046468, 39.12325999987412], "geometry": {"coordinates": [[[-84.49134300046451, 39.12325999987412], [-84.48964300046468, 39.12315999987414], [-84.48974300046466, 39.121959999874264], [-84.4913430004645, 39.12205999987426], [-84.49234300046437, 39.122159999874235], [-84.49134300046451, 39.12325999987412]]], "type": "Polygon"}, "id": "378", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 14.0, "AGE_15_19": 14.0, "AGE_18": 107.0, "AGE_20_24": 7.0, "AGE_21": 102.0, "AGE_25_34": 14.0, "AGE_35_44": 31.0, "AGE_45_54": 16.0, "AGE_55_59": 11.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 13.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.24, "BG": "390610019001", "BLACK": 130.0, "BLOCK": "390610019001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15459.0754, "F1_RACE": 146.0, "F2_RACES": 2.0, "FEMALE": 84.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 73.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 7.0, "ID": 671577.0, "IN_HOUSEHO": 148.0, "MALE": 64.0, "MALE_18": 47.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 145.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.2, "POPULATION": 148.0, "RENTER_SIZ": 2.07, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.1236599998741, -84.49114300046453, 39.12445999987403], "geometry": {"coordinates": [[[-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.12445999987402], [-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12385999987407], [-84.49174300046447, 39.1236599998741], [-84.49174300046447, 39.12405999987406]]], "type": "Polygon"}, "id": "379", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671596.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.12445999987402, -84.49104300046453, 39.12525999987394], "geometry": {"coordinates": [[[-84.49164300046446, 39.12495999987399], [-84.49154300046447, 39.12525999987394], [-84.49104300046453, 39.12515999987397], [-84.49114300046453, 39.12485999987399], [-84.49114300046453, 39.12445999987403], [-84.49174300046447, 39.12445999987402], [-84.49164300046446, 39.12495999987399]]], "type": "Polygon"}, "id": "380", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 8.0, "AGE_20_24": 2.0, "AGE_21": 6.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.2, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7244.4205, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 9.0, "ID": 671614.0, "IN_HOUSEHO": 11.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 11.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50684300046272, 39.11195999987513, -84.50584300046286, 39.112559999875074], "geometry": {"coordinates": [[[-84.50684300046272, 39.11205999987513], [-84.50674300046276, 39.112559999875074], [-84.50641300046279, 39.11252299987507], [-84.50584300046286, 39.112459999875085], [-84.50594300046285, 39.11195999987513], [-84.50651600046277, 39.11202399987514], [-84.50684300046272, 39.11205999987513]]], "type": "Polygon"}, "id": "381", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 41.0, "AGE_20_24": 3.0, "AGE_21": 41.0, "AGE_25_34": 15.0, "AGE_35_44": 8.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.73, "BG": "390610018001", "BLACK": 7.0, "BLOCK": "390610018001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26427.5833, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 0.0, "ID": 665138.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.61, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50594300046285, 39.11195999987513, -84.50394300046305, 39.112459999875085], "geometry": {"coordinates": [[[-84.50594300046285, 39.11195999987513], [-84.50584300046286, 39.112459999875085], [-84.50394300046305, 39.11235999987508], [-84.50424300046303, 39.11195999987513], [-84.50594300046285, 39.11195999987513]]], "type": "Polygon"}, "id": "382", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 4.0, "AGE_21": 17.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.23, "BG": "390610018001", "BLACK": 17.0, "BLOCK": "390610018001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9547.7662, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 0.0, "ID": 665158.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 29.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 12.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50584300046286, 39.11235999987508, -84.50394300046305, 39.112859999875035], "geometry": {"coordinates": [[[-84.50584300046286, 39.112459999875085], [-84.50584300046286, 39.112859999875035], [-84.50394300046305, 39.112759999875045], [-84.50394300046305, 39.11235999987508], [-84.50584300046286, 39.112459999875085]]], "type": "Polygon"}, "id": "383", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 27.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 13.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.48, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12077.766, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 665175.0, "IN_HOUSEHO": 34.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 34.0, "RENTER_SIZ": 1.56, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 19.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.112759999875045, -84.50384300046308, 39.11365999987494], "geometry": {"coordinates": [[[-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11365999987494], [-84.50967000046245, 39.11361299987495], [-84.50654300046278, 39.11345999987498], [-84.50484300046296, 39.113259999875005], [-84.50384300046308, 39.11325999987501], [-84.50394300046305, 39.112759999875045], [-84.50584300046286, 39.112859999875035], [-84.50664300046277, 39.112959999875024], [-84.50754300046268, 39.112959999875024], [-84.50872100046254, 39.113050999875014], [-84.50884300046253, 39.11305999987503], [-84.50889600046254, 39.113072999874994], [-84.5092430004625, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.51064300046235, 39.11315999987501], [-84.51064300046235, 39.113459999874955]]], "type": "Polygon"}, "id": "384", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 161.0, "AGE_20_24": 16.0, "AGE_21": 154.0, "AGE_25_34": 67.0, "AGE_35_44": 38.0, "AGE_45_54": 15.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 7.0, "AGE_62": 13.0, "AGE_65": 8.0, "AGE_65_74": 3.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 96.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 108.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.09, "AVG_HHSIZE": 1.9, "BG": "390610018001", "BLACK": 95.0, "BLOCK": "390610018001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16653.418, "F1_RACE": 206.0, "F2_RACES": 1.0, "FEMALE": 99.0, "FEMALE_18": 73.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 75.0, "HOUSEHOLDS": 109.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 109.0, "HU_VACANT": 19.0, "ID": 665193.0, "IN_HOUSEHO": 207.0, "MALE": 108.0, "MALE_18": 88.0, "MALE_65": 4.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 63.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 1.57, "POPULATION": 207.0, "RENTER_SIZ": 2.14, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 107.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50754300046268, 39.112459999875085, -84.50584300046286, 39.112959999875024], "geometry": {"coordinates": [[[-84.50754300046268, 39.11255999987504], [-84.50754300046268, 39.112959999875024], [-84.50664300046277, 39.112959999875024], [-84.50584300046286, 39.112859999875035], [-84.50584300046286, 39.112459999875085], [-84.50641300046279, 39.11252299987507], [-84.50674300046276, 39.112559999875074], [-84.50754300046268, 39.11255999987504]]], "type": "Polygon"}, "id": "385", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 74.0, "AGE_20_24": 7.0, "AGE_21": 74.0, "AGE_25_34": 31.0, "AGE_35_44": 13.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 68.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.59, "BG": "390610018001", "BLACK": 9.0, "BLOCK": "390610018001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 30734.8221, "F1_RACE": 78.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 32.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 0.0, "ID": 665219.0, "IN_HOUSEHO": 78.0, "MALE": 44.0, "MALE_18": 42.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.93, "POPULATION": 78.0, "RENTER_SIZ": 1.46, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 68.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.113259999875005, -84.50474300046298, 39.11755999987458], "geometry": {"coordinates": [[[-84.50914300046253, 39.11735999987462], [-84.50874300046257, 39.11755999987458], [-84.50804300046265, 39.1174599998746], [-84.50814300046262, 39.116659999874656], [-84.50714300046275, 39.11655999987471], [-84.50734300046271, 39.11495999987483], [-84.50634300046282, 39.114859999874874], [-84.5064430004628, 39.11435999987489], [-84.50474300046298, 39.11415999987494], [-84.50478100046298, 39.11381799987495], [-84.50484300046296, 39.113259999875005], [-84.50654300046278, 39.11345999987498], [-84.50967000046245, 39.11361299987495], [-84.51064300046235, 39.11365999987494], [-84.51054300046238, 39.11465999987484], [-84.51044300046239, 39.11525899987483], [-84.5103430004624, 39.11575999987474], [-84.5103430004624, 39.116059999874714], [-84.51014300046242, 39.117259999874626], [-84.50964300046249, 39.11725999987464], [-84.50914300046253, 39.11735999987462]]], "type": "Polygon"}, "id": "386", "properties": {"AGE_0_5": 29.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 211.0, "AGE_20_24": 31.0, "AGE_21": 195.0, "AGE_25_34": 58.0, "AGE_35_44": 42.0, "AGE_45_54": 30.0, "AGE_55_59": 6.0, "AGE_5_9": 33.0, "AGE_60_64": 12.0, "AGE_62": 36.0, "AGE_65": 25.0, "AGE_65_74": 11.0, "AGE_75_84": 10.0, "AGE_85": 4.0, "AMINDIAN": 6.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 189.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 10.0, "AP_WHITE": 96.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.9, "AVG_HHSIZE": 2.1, "BG": "390610018002", "BLACK": 186.0, "BLOCK": "390610018002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5712.5373, "F1_RACE": 294.0, "F2_RACES": 4.0, "FEMALE": 167.0, "FEMALE_18": 120.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 70.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 142.0, "HSNG_UNITS": 187.0, "HU_OCCUPIE": 142.0, "HU_VACANT": 45.0, "ID": 665239.0, "IN_HOUSEHO": 298.0, "MALE": 131.0, "MALE_18": 91.0, "MALE_65": 11.0, "MEDIAN_AGE": 28.6, "MSA": "1640", "NH_WHITE": 92.0, "NOT_HISPAN": 298.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 102.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 1.83, "POPULATION": 298.0, "RENTER_SIZ": 2.21, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 92.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50734300046271, 39.114859999874874, -84.50614300046284, 39.11655999987471], "geometry": {"coordinates": [[[-84.50734300046271, 39.11495999987483], [-84.50714300046275, 39.11655999987471], [-84.50614300046284, 39.11655999987471], [-84.50624300046285, 39.115859999874736], [-84.50634300046282, 39.114859999874874], [-84.50734300046271, 39.11495999987483]]], "type": "Polygon"}, "id": "387", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 4.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 8.0, "AGE_21": 55.0, "AGE_25_34": 23.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 14.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 94.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.27, "BG": "390610018002", "BLACK": 2.0, "BLOCK": "390610018002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16084.1922, "F1_RACE": 98.0, "F2_RACES": 0.0, "FEMALE": 57.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 665273.0, "IN_HOUSEHO": 98.0, "MALE": 41.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 94.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 98.0, "RENTER_SIZ": 2.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 94.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5064430004628, 39.11415999987494, -84.504643000463, 39.114859999874874], "geometry": {"coordinates": [[[-84.5064430004628, 39.11435999987489], [-84.50634300046282, 39.114859999874874], [-84.504643000463, 39.11475999987486], [-84.50474300046298, 39.11415999987494], [-84.5064430004628, 39.11435999987489]]], "type": "Polygon"}, "id": "388", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 1.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 6.0, "AGE_21": 34.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.35, "BG": "390610018003", "BLACK": 45.0, "BLOCK": "390610018003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17335.6307, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 665292.0, "IN_HOUSEHO": 61.0, "MALE": 25.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.67, "POPULATION": 61.0, "RENTER_SIZ": 2.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50634300046282, 39.11475999987486, -84.50454300046302, 39.115859999874736], "geometry": {"coordinates": [[[-84.50634300046282, 39.114859999874874], [-84.50624300046285, 39.115859999874736], [-84.50454300046302, 39.11575999987477], [-84.504597000463, 39.11522299987483], [-84.504643000463, 39.11475999987486], [-84.50634300046282, 39.114859999874874]]], "type": "Polygon"}, "id": "389", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 8.0, "AGE_15_19": 69.0, "AGE_18": 189.0, "AGE_20_24": 95.0, "AGE_21": 96.0, "AGE_25_34": 15.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 7.0, "AP_OTHER": 4.0, "AP_WHITE": 157.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.7, "BG": "390610018003", "BLACK": 44.0, "BLOCK": "390610018003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 33790.5296, "F1_RACE": 210.0, "F2_RACES": 4.0, "FEMALE": 119.0, "FEMALE_18": 104.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 160.0, "GROUP_QUAR": 160.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 665309.0, "IN_HOUSEHO": 54.0, "MALE": 95.0, "MALE_18": 85.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.7, "MSA": "1640", "NH_WHITE": 150.0, "NOT_HISPAN": 207.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.8, "POPULATION": 214.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 156.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50624300046285, 39.11565999987479, -84.50354300046311, 39.11655999987471], "geometry": {"coordinates": [[[-84.50454300046302, 39.11575999987477], [-84.50624300046285, 39.115859999874736], [-84.50614300046284, 39.11655999987471], [-84.50354300046313, 39.116359999874724], [-84.50354300046311, 39.11565999987479], [-84.50454300046302, 39.11575999987477]]], "type": "Polygon"}, "id": "390", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 6.0, "AGE_15_19": 16.0, "AGE_18": 73.0, "AGE_20_24": 10.0, "AGE_21": 65.0, "AGE_25_34": 12.0, "AGE_35_44": 20.0, "AGE_45_54": 15.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 35.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.34, "BG": "390610018003", "BLACK": 68.0, "BLOCK": "390610018003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15195.927, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 51.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 7.0, "ID": 665327.0, "IN_HOUSEHO": 103.0, "MALE": 53.0, "MALE_18": 36.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.2, "MSA": "1640", "NH_WHITE": 35.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.95, "POPULATION": 103.0, "RENTER_SIZ": 2.64, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 35.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50484300046296, 39.113259999875005, -84.5037430004631, 39.11415999987494], "geometry": {"coordinates": [[[-84.50484300046296, 39.113259999875005], [-84.50478100046298, 39.11381799987495], [-84.50474300046298, 39.11415999987494], [-84.5037430004631, 39.11415999987494], [-84.50384300046308, 39.11325999987501], [-84.50484300046296, 39.113259999875005]]], "type": "Polygon"}, "id": "391", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 22.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.41, "BG": "390610018002", "BLACK": 6.0, "BLOCK": "390610018002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7199.4118, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 665508.0, "IN_HOUSEHO": 24.0, "MALE": 14.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.14, "POPULATION": 24.0, "RENTER_SIZ": 1.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 18.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50474300046298, 39.11415999987494, -84.5037430004631, 39.11475999987486], "geometry": {"coordinates": [[[-84.50474300046298, 39.11415999987494], [-84.504643000463, 39.11475999987486], [-84.5037430004631, 39.11465999987489], [-84.5037430004631, 39.11415999987494], [-84.50474300046298, 39.11415999987494]]], "type": "Polygon"}, "id": "392", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.2, "BG": "390610018003", "BLACK": 7.0, "BLOCK": "390610018003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5656.7291, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 665526.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 11.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50894300046254, 39.111059999875216, -84.5001430004635, 39.117559999874615], "geometry": {"coordinates": [[[-84.50354300046313, 39.116359999874724], [-84.50374300046313, 39.11735999987465], [-84.50274300046323, 39.11735999987464], [-84.50174300046334, 39.117459999874605], [-84.5001430004635, 39.117559999874615], [-84.50034300046349, 39.11595999987476], [-84.50034300046349, 39.115659999874794], [-84.5017430004633, 39.113559999875015], [-84.50204200046329, 39.11314099987504], [-84.50224300046324, 39.11285999987504], [-84.50339500046312, 39.11121399987522], [-84.5034840004631, 39.1112009998752], [-84.50424300046303, 39.111059999875216], [-84.50511600046293, 39.111270999875174], [-84.50714300046272, 39.11175999987512], [-84.50748200046267, 39.11186199987511], [-84.50811600046262, 39.11204699987508], [-84.50894300046254, 39.112259999875086], [-84.50764300046268, 39.112159999875075], [-84.50684300046272, 39.11205999987513], [-84.50651600046277, 39.11202399987514], [-84.50594300046285, 39.11195999987513], [-84.50424300046303, 39.11195999987513], [-84.50394300046305, 39.11235999987508], [-84.50394300046305, 39.112759999875045], [-84.50384300046308, 39.11325999987501], [-84.5037430004631, 39.11415999987494], [-84.5037430004631, 39.11465999987489], [-84.50354300046311, 39.11565999987479], [-84.50354300046313, 39.116359999874724]]], "type": "Polygon"}, "id": "393", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 5.0, "AGE_18": 249.0, "AGE_20_24": 31.0, "AGE_21": 240.0, "AGE_25_34": 78.0, "AGE_35_44": 69.0, "AGE_45_54": 39.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 3.0, "AP_BLACK": 152.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 107.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610018001", "BLACK": 146.0, "BLOCK": "390610018001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4187.3135, "F1_RACE": 256.0, "F2_RACES": 8.0, "FEMALE": 145.0, "FEMALE_18": 137.0, "FEMALE_65": 9.0, "GQ_INSTITU": 131.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 131.0, "HAWAIIAN": 2.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 7.0, "ID": 665544.0, "IN_HOUSEHO": 133.0, "MALE": 119.0, "MALE_18": 112.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.6, "MSA": "1640", "NH_WHITE": 100.0, "NOT_HISPAN": 263.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.07, "POPULATION": 264.0, "RENTER_SIZ": 1.55, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 100.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.504643000463, 39.11465999987489, -84.50354300046311, 39.11575999987477], "geometry": {"coordinates": [[[-84.504643000463, 39.11475999987486], [-84.504597000463, 39.11522299987483], [-84.50454300046302, 39.11575999987477], [-84.50354300046311, 39.11565999987479], [-84.5037430004631, 39.11465999987489], [-84.504643000463, 39.11475999987486]]], "type": "Polygon"}, "id": "394", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 2.0, "AGE_35_44": 11.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 1.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11748.7157, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 665585.0, "IN_HOUSEHO": 42.0, "MALE": 22.0, "MALE_18": 15.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 2.55, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50224300046324, 39.112759999875045, -84.49944300046359, 39.11755999987462], "geometry": {"coordinates": [[[-84.50184300046328, 39.11285999987504], [-84.50224300046324, 39.11285999987504], [-84.50204200046329, 39.11314099987504], [-84.5017430004633, 39.113559999875015], [-84.50034300046349, 39.115659999874794], [-84.50034300046349, 39.11595999987476], [-84.5001430004635, 39.117559999874615], [-84.49944300046359, 39.11755999987462], [-84.49964300046355, 39.11715999987465], [-84.49974300046355, 39.1169599998747], [-84.50044300046345, 39.114359999874935], [-84.50064300046343, 39.11375999987498], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.113159999875045], [-84.50074300046342, 39.11285999987504], [-84.5008430004634, 39.112759999875045], [-84.50104300046338, 39.11285999987504], [-84.50184300046328, 39.11285999987504]]], "type": "Polygon"}, "id": "395", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002032", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 665602.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50814300046262, 39.11655999987471, -84.50704300046277, 39.117459999874605], "geometry": {"coordinates": [[[-84.50814300046262, 39.116659999874656], [-84.50804300046265, 39.1174599998746], [-84.50704300046277, 39.117459999874605], [-84.50714300046275, 39.11655999987471], [-84.50814300046262, 39.116659999874656]]], "type": "Polygon"}, "id": "396", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 44.0, "AGE_20_24": 7.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.35, "BG": "390610018002", "BLACK": 54.0, "BLOCK": "390610018002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19262.5134, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 2.0, "ID": 665632.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 61.0, "RENTER_SIZ": 2.33, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50874300046257, 39.11735999987464, -84.50594300046288, 39.118259999874546], "geometry": {"coordinates": [[[-84.50804300046265, 39.1174599998746], [-84.50874300046257, 39.11755999987458], [-84.5086430004626, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50594300046288, 39.118059999874546], [-84.50604300046285, 39.11735999987464], [-84.50704300046277, 39.117459999874605], [-84.50804300046265, 39.1174599998746]]], "type": "Polygon"}, "id": "397", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 53.0, "AGE_20_24": 6.0, "AGE_21": 53.0, "AGE_25_34": 15.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 33.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 2.0, "BG": "390610018002", "BLACK": 34.0, "BLOCK": "390610018002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9587.1918, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 5.0, "ID": 665650.0, "IN_HOUSEHO": 68.0, "MALE": 35.0, "MALE_18": 26.0, "MALE_65": 4.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 68.0, "RENTER_SIZ": 2.04, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50854300046262, 39.118059999874546, -84.50574300046291, 39.11985999987439], "geometry": {"coordinates": [[[-84.50854300046262, 39.11965999987441], [-84.50844300046263, 39.11985999987439], [-84.50574300046291, 39.11965999987443], [-84.50594300046288, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.11965999987441]]], "type": "Polygon"}, "id": "398", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 40.0, "AGE_15_19": 129.0, "AGE_18": 39.0, "AGE_20_24": 7.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 159.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.23, "BG": "390610022002", "BLACK": 145.0, "BLOCK": "390610022002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12815.5717, "F1_RACE": 188.0, "F2_RACES": 18.0, "FEMALE": 57.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 169.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 169.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 56.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 26.0, "ID": 665671.0, "IN_HOUSEHO": 37.0, "MALE": 149.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 16.3, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 203.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 206.0, "RENTER_SIZ": 1.23, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 42.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50984300046241, 39.112259999875086, -84.50889600046254, 39.11315999987501], "geometry": {"coordinates": [[[-84.50984300046241, 39.112259999875086], [-84.50964300046245, 39.113159999875], [-84.5092430004625, 39.11315999987501], [-84.50889600046254, 39.113072999874994], [-84.50902300046252, 39.112259999875086], [-84.50934300046248, 39.112259999875086], [-84.50974300046244, 39.112259999875086], [-84.50984300046241, 39.112259999875086]]], "type": "Polygon"}, "id": "399", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 63.0, "AGE_20_24": 9.0, "AGE_21": 60.0, "AGE_25_34": 30.0, "AGE_35_44": 16.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 39.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.51, "BG": "390610018001", "BLACK": 33.0, "BLOCK": "390610018001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 28721.4807, "F1_RACE": 69.0, "F2_RACES": 5.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 13.0, "ID": 654795.0, "IN_HOUSEHO": 74.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 74.0, "RENTER_SIZ": 1.51, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 36.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51244300046214, 39.11235999987505, -84.51144300046225, 39.11365999987494], "geometry": {"coordinates": [[[-84.51234300046217, 39.112759999874996], [-84.51224300046218, 39.11365999987494], [-84.51144300046225, 39.113559999874965], [-84.51154300046225, 39.11235999987505], [-84.5118430004622, 39.11235999987505], [-84.51244300046214, 39.11245999987508], [-84.51234300046217, 39.112759999874996]]], "type": "Polygon"}, "id": "400", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 3.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.08, "BG": "390610017002", "BLACK": 35.0, "BLOCK": "390610017002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13233.9894, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 654816.0, "IN_HOUSEHO": 50.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 50.0, "RENTER_SIZ": 2.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 13.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51234300046217, 39.11435999987488, -84.51194300046222, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51234300046217, 39.11465999987484], [-84.51194300046222, 39.114859999874845], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "401", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610017002", "BLACK": 0.0, "BLOCK": "390610017002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 654853.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51154300046225, 39.112259999875086, -84.51064300046235, 39.113559999874965], "geometry": {"coordinates": [[[-84.51154300046225, 39.11235999987505], [-84.51144300046225, 39.113559999874965], [-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11315999987501], [-84.51074300046233, 39.112259999875086], [-84.51124300046226, 39.11235999987505], [-84.51154300046225, 39.11235999987505]]], "type": "Polygon"}, "id": "402", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 8.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.69, "BG": "390610017002", "BLACK": 36.0, "BLOCK": "390610017002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12246.3169, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 16.0, "ID": 654869.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 18.0, "MALE_65": 3.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 44.0, "RENTER_SIZ": 1.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51224300046218, 39.113459999874955, -84.51054300046238, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51194300046222, 39.114859999874845], [-84.51124300046229, 39.114759999874835], [-84.51054300046238, 39.11465999987484], [-84.51064300046235, 39.11365999987494], [-84.51064300046235, 39.113459999874955], [-84.51144300046225, 39.113559999874965], [-84.51224300046218, 39.11365999987494], [-84.51224300046218, 39.11385999987491], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "403", "properties": {"AGE_0_5": 25.0, "AGE_10_14": 15.0, "AGE_15_19": 17.0, "AGE_18": 67.0, "AGE_20_24": 20.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 22.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 133.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 8.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 3.02, "BG": "390610017002", "BLACK": 133.0, "BLOCK": "390610017002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20337.9547, "F1_RACE": 142.0, "F2_RACES": 0.0, "FEMALE": 93.0, "FEMALE_18": 47.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 5.0, "ID": 654889.0, "IN_HOUSEHO": 142.0, "MALE": 49.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 142.0, "RENTER_SIZ": 3.02, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 8.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51074300046233, 39.112259999875086, -84.50964300046245, 39.11315999987501], "geometry": {"coordinates": [[[-84.51074300046233, 39.112259999875086], [-84.51064300046235, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.50984300046241, 39.112259999875086], [-84.51074300046233, 39.112259999875086]]], "type": "Polygon"}, "id": "404", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 9.0, "AGE_21": 37.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 22.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.7, "AVG_HHSIZE": 1.84, "BG": "390610018001", "BLACK": 23.0, "BLOCK": "390610018001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14524.9091, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 6.0, "ID": 654930.0, "IN_HOUSEHO": 46.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 46.0, "RENTER_SIZ": 1.95, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 21.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51724400046167, 39.11885999987444, -84.51494400046192, 39.120659999874285], "geometry": {"coordinates": [[[-84.51724400046167, 39.11925999987439], [-84.5160440004618, 39.12025999987432], [-84.51574400046184, 39.120659999874285], [-84.5153440004619, 39.12035999987432], [-84.51494400046192, 39.12005999987433], [-84.51544400046188, 39.11965999987435], [-84.51664400046174, 39.11885999987444], [-84.51724400046167, 39.11925999987439]]], "type": "Polygon"}, "id": "405", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 13.0, "AGE_15_19": 4.0, "AGE_18": 78.0, "AGE_20_24": 8.0, "AGE_21": 76.0, "AGE_25_34": 27.0, "AGE_35_44": 21.0, "AGE_45_54": 8.0, "AGE_55_59": 8.0, "AGE_5_9": 11.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 75.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.85, "AVG_HHSIZE": 2.73, "BG": "390610023001", "BLACK": 75.0, "BLOCK": "390610023001017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17728.9634, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 35.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 49.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 654989.0, "IN_HOUSEHO": 60.0, "MALE": 74.0, "MALE_18": 60.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 108.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 109.0, "RENTER_SIZ": 2.81, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51664400046174, 39.11835999987448, -84.51434300046199, 39.12005999987433], "geometry": {"coordinates": [[[-84.51644400046175, 39.118559999874456], [-84.51664400046174, 39.11885999987444], [-84.51544400046188, 39.11965999987435], [-84.51494400046192, 39.12005999987433], [-84.51464300046196, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51484300046194, 39.11925999987439], [-84.51604400046179, 39.11835999987448], [-84.51644400046175, 39.118559999874456]]], "type": "Polygon"}, "id": "406", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 10.0, "AGE_15_19": 7.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 51.0, "AGE_25_34": 19.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.95, "AVG_HHSIZE": 2.69, "BG": "390610023001", "BLACK": 87.0, "BLOCK": "390610023001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16468.1683, "F1_RACE": 94.0, "F2_RACES": 0.0, "FEMALE": 49.0, "FEMALE_18": 28.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 655008.0, "IN_HOUSEHO": 94.0, "MALE": 45.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 94.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 94.0, "RENTER_SIZ": 2.94, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51404300046202, 39.118859999874445, -84.51264300046216, 39.12005999987433], "geometry": {"coordinates": [[[-84.51404300046202, 39.119859999874365], [-84.51374300046204, 39.12005999987433], [-84.51264300046216, 39.11905999987444], [-84.51294300046213, 39.118859999874445], [-84.51404300046202, 39.119859999874365]]], "type": "Polygon"}, "id": "407", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 18.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 21.0, "BLOCK": "390610023001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12980.7644, "F1_RACE": 21.0, "F2_RACES": 4.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 0.0, "ID": 655027.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 25.0, "RENTER_SIZ": 2.11, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51374300046204, 39.11905999987444, -84.51224300046222, 39.12025999987432], "geometry": {"coordinates": [[[-84.51264300046216, 39.11905999987444], [-84.51374300046204, 39.12005999987433], [-84.51344300046208, 39.12025999987432], [-84.51224300046222, 39.11925999987442], [-84.51264300046216, 39.11905999987444]]], "type": "Polygon"}, "id": "408", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 15.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.3, "BG": "390610023001", "BLACK": 20.0, "BLOCK": "390610023001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10706.9148, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655045.0, "IN_HOUSEHO": 23.0, "MALE": 11.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 23.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51574400046184, 39.12035999987432, -84.51384400046206, 39.12305999987405], "geometry": {"coordinates": [[[-84.5153440004619, 39.12035999987432], [-84.51574400046184, 39.120659999874285], [-84.51484400046195, 39.12165999987419], [-84.51444400046199, 39.12305999987405], [-84.51384400046206, 39.123059999874044], [-84.51454400046198, 39.121159999874216], [-84.5153440004619, 39.12035999987432]]], "type": "Polygon"}, "id": "409", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 0.0, "AGE_21": 27.0, "AGE_25_34": 3.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.7, "BG": "390610023001", "BLACK": 17.0, "BLOCK": "390610023001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5980.6488, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 9.0, "ID": 655093.0, "IN_HOUSEHO": 34.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5153440004619, 39.12005999987433, -84.5135430004621, 39.123059999874044], "geometry": {"coordinates": [[[-84.51494400046192, 39.12005999987433], [-84.5153440004619, 39.12035999987432], [-84.51454400046198, 39.121159999874216], [-84.51384400046206, 39.123059999874044], [-84.5135430004621, 39.12295999987407], [-84.51414300046201, 39.121059999874234], [-84.51494400046192, 39.12005999987433]]], "type": "Polygon"}, "id": "410", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 43.0, "AGE_20_24": 6.0, "AGE_21": 39.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 72.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.93, "AVG_HHSIZE": 2.96, "BG": "390610023001", "BLACK": 72.0, "BLOCK": "390610023001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15953.1883, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 655111.0, "IN_HOUSEHO": 74.0, "MALE": 34.0, "MALE_18": 17.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 74.0, "RENTER_SIZ": 3.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51494400046192, 39.11955999987439, -84.51294300046216, 39.12295999987407], "geometry": {"coordinates": [[[-84.51364300046208, 39.12075999987429], [-84.51344300046208, 39.12025999987432], [-84.51374300046204, 39.12005999987433], [-84.51404300046202, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51464300046196, 39.119859999874365], [-84.51494400046192, 39.12005999987433], [-84.51414300046201, 39.121059999874234], [-84.5135430004621, 39.12295999987407], [-84.51304300046216, 39.12295999987407], [-84.51314300046214, 39.12225999987413], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12125999987424], [-84.51364300046208, 39.12075999987429]]], "type": "Polygon"}, "id": "411", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 43.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 15.0, "AGE_60_64": 3.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.83, "BG": "390610023001", "BLACK": 78.0, "BLOCK": "390610023001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8435.8163, "F1_RACE": 81.0, "F2_RACES": 4.0, "FEMALE": 46.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 18.0, "ID": 655128.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.62, "POPULATION": 85.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51604400046179, 39.11465999987484, -84.50874300046257, 39.119859999874365], "geometry": {"coordinates": [[[-84.51194300046222, 39.114859999874845], [-84.51274300046212, 39.11555999987476], [-84.51354300046206, 39.11605999987469], [-84.51434300046198, 39.11685999987463], [-84.51604400046179, 39.11835999987448], [-84.51484300046194, 39.11925999987439], [-84.51434300046199, 39.11955999987439], [-84.51404300046202, 39.119859999874365], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11855999987446], [-84.51204300046221, 39.11905999987444], [-84.51199500046225, 39.119094999874434], [-84.51164300046227, 39.118859999874445], [-84.51152500046227, 39.11883199987446], [-84.5115430004623, 39.11875999987447], [-84.5114430004623, 39.11845999987449], [-84.51164300046227, 39.11775999987456], [-84.51114300046231, 39.11775999987456], [-84.51024300046244, 39.11765999987456], [-84.50874300046257, 39.11755999987458], [-84.50914300046253, 39.11735999987462], [-84.50964300046249, 39.11725999987464], [-84.51014300046242, 39.117259999874626], [-84.5103430004624, 39.116059999874714], [-84.5103430004624, 39.11575999987474], [-84.51044300046239, 39.11525899987483], [-84.51054300046238, 39.11465999987484], [-84.51124300046229, 39.114759999874835], [-84.51194300046222, 39.114859999874845]]], "type": "Polygon"}, "id": "412", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 12.0, "AGE_15_19": 24.0, "AGE_18": 208.0, "AGE_20_24": 35.0, "AGE_21": 191.0, "AGE_25_34": 65.0, "AGE_35_44": 28.0, "AGE_45_54": 41.0, "AGE_55_59": 12.0, "AGE_5_9": 26.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 2.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 2.0, "AP_BLACK": 169.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 108.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.96, "BG": "390610023001", "BLACK": 167.0, "BLOCK": "390610023001011", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4676.5279, "F1_RACE": 273.0, "F2_RACES": 6.0, "FEMALE": 158.0, "FEMALE_18": 117.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 28.0, "GROUP_QUAR": 28.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 80.0, "HOUSEHOLDS": 128.0, "HSNG_UNITS": 165.0, "HU_OCCUPIE": 128.0, "HU_VACANT": 37.0, "ID": 655154.0, "IN_HOUSEHO": 251.0, "MALE": 121.0, "MALE_18": 91.0, "MALE_65": 7.0, "MEDIAN_AGE": 28.9, "MSA": "1640", "NH_WHITE": 103.0, "NOT_HISPAN": 279.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.98, "POPULATION": 279.0, "RENTER_SIZ": 1.95, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 103.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5115430004623, 39.11835999987451, -84.51004300046245, 39.11915999987442], "geometry": {"coordinates": [[[-84.5114430004623, 39.11915999987442], [-84.51004300046245, 39.11905999987446], [-84.51024300046244, 39.11835999987451], [-84.5114430004623, 39.11845999987449], [-84.5115430004623, 39.11875999987447], [-84.51152500046227, 39.11883199987446], [-84.5114430004623, 39.11915999987442]]], "type": "Polygon"}, "id": "413", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 23.0, "AGE_15_19": 22.0, "AGE_18": 107.0, "AGE_20_24": 21.0, "AGE_21": 92.0, "AGE_25_34": 19.0, "AGE_35_44": 25.0, "AGE_45_54": 12.0, "AGE_55_59": 5.0, "AGE_5_9": 25.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 7.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.77, "BG": "390610023001", "BLACK": 180.0, "BLOCK": "390610023001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 54847.5451, "F1_RACE": 186.0, "F2_RACES": 8.0, "FEMALE": 108.0, "FEMALE_18": 65.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 87.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 17.0, "ID": 655191.0, "IN_HOUSEHO": 194.0, "MALE": 86.0, "MALE_18": 42.0, "MALE_65": 4.0, "MEDIAN_AGE": 20.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 192.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 194.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51294300046213, 39.11855999987446, -84.51199500046225, 39.11925999987442], "geometry": {"coordinates": [[[-84.51264300046216, 39.11855999987446], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11905999987444], [-84.51224300046222, 39.11925999987442], [-84.51199500046225, 39.119094999874434], [-84.51204300046221, 39.11905999987444], [-84.51264300046216, 39.11855999987446]]], "type": "Polygon"}, "id": "414", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 18.0, "BLOCK": "390610023001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18411.019, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 2.0, "ID": 655210.0, "IN_HOUSEHO": 20.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51164300046227, 39.11755999987458, -84.5086430004626, 39.11845999987449], "geometry": {"coordinates": [[[-84.51164300046227, 39.11775999987456], [-84.5114430004623, 39.11845999987449], [-84.51024300046244, 39.11835999987451], [-84.51014300046243, 39.11815999987453], [-84.5086430004626, 39.118059999874546], [-84.50874300046257, 39.11755999987458], [-84.51024300046244, 39.11765999987456], [-84.51114300046231, 39.11775999987456], [-84.51164300046227, 39.11775999987456]]], "type": "Polygon"}, "id": "415", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 11.0, "AGE_18": 67.0, "AGE_20_24": 5.0, "AGE_21": 62.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.76, "BG": "390610023001", "BLACK": 104.0, "BLOCK": "390610023001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18052.868, "F1_RACE": 110.0, "F2_RACES": 3.0, "FEMALE": 63.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 41.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 41.0, "HU_VACANT": 23.0, "ID": 655230.0, "IN_HOUSEHO": 113.0, "MALE": 50.0, "MALE_18": 21.0, "MALE_65": 3.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 112.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 113.0, "RENTER_SIZ": 2.49, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 6.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51024300046244, 39.118059999874546, -84.50854300046262, 39.11905999987446], "geometry": {"coordinates": [[[-84.51014300046243, 39.11815999987453], [-84.51024300046244, 39.11835999987451], [-84.51004300046245, 39.11905999987446], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.118259999874546], [-84.5086430004626, 39.118059999874546], [-84.51014300046243, 39.11815999987453]]], "type": "Polygon"}, "id": "416", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.63, "BG": "390610023001", "BLACK": 11.0, "BLOCK": "390610023001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2420.6561, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 655250.0, "IN_HOUSEHO": 13.0, "MALE": 3.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 1.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5114430004623, 39.11905999987446, -84.51004300046245, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.5114430004623, 39.11915999987442], [-84.51134300046232, 39.11975999987437], [-84.51004300046246, 39.11975999987439], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "417", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 1.0, "AGE_21": 16.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.89, "AVG_HHSIZE": 2.9, "BG": "390610023001", "BLACK": 25.0, "BLOCK": "390610023001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8897.7256, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 11.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655269.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.0, "POPULATION": 29.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51004300046246, 39.11895999987447, -84.50854300046262, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.51004300046246, 39.11975999987439], [-84.50854300046262, 39.11965999987441], [-84.50854300046262, 39.11895999987447], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "418", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 6.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 11.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.07, "BG": "390610023001", "BLACK": 57.0, "BLOCK": "390610023001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15428.5444, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 29.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 14.0, "ID": 655287.0, "IN_HOUSEHO": 60.0, "MALE": 27.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.0, "POPULATION": 60.0, "RENTER_SIZ": 1.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51364300046208, 39.11883199987446, -84.50834300046266, 39.1227599998741], "geometry": {"coordinates": [[[-84.51344300046208, 39.12025999987432], [-84.51364300046208, 39.12075999987429], [-84.51314300046214, 39.12125999987424], [-84.51294300046216, 39.121859999874175], [-84.51114300046235, 39.122159999874164], [-84.51074300046238, 39.12235999987413], [-84.50964300046252, 39.12235999987413], [-84.50954300046251, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50904300046258, 39.1227599998741], [-84.50834300046267, 39.12265999987413], [-84.50834300046266, 39.12195999987419], [-84.50834300046266, 39.121459999874226], [-84.50844300046265, 39.120459999874335], [-84.50844300046263, 39.11985999987439], [-84.50854300046262, 39.11965999987441], [-84.51004300046246, 39.11975999987439], [-84.51134300046232, 39.11975999987437], [-84.5114430004623, 39.11915999987442], [-84.51152500046227, 39.11883199987446], [-84.51164300046227, 39.118859999874445], [-84.51199500046225, 39.119094999874434], [-84.51224300046222, 39.11925999987442], [-84.51344300046208, 39.12025999987432]]], "type": "Polygon"}, "id": "419", "properties": {"AGE_0_5": 21.0, "AGE_10_14": 18.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 10.0, "AGE_21": 89.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 26.0, "AGE_65": 24.0, "AGE_65_74": 10.0, "AGE_75_84": 14.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 118.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.81, "BG": "390610023001", "BLACK": 117.0, "BLOCK": "390610023001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3076.3077, "F1_RACE": 149.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 58.0, "FEMALE_65": 11.0, "GQ_INSTITU": 29.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 29.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 655304.0, "IN_HOUSEHO": 121.0, "MALE": 59.0, "MALE_18": 37.0, "MALE_65": 13.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 147.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 150.0, "RENTER_SIZ": 2.76, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50902300046252, 39.112159999875075, -84.50754300046268, 39.113072999874994], "geometry": {"coordinates": [[[-84.50894300046254, 39.112259999875086], [-84.50902300046252, 39.112259999875086], [-84.50889600046254, 39.113072999874994], [-84.50884300046253, 39.11305999987503], [-84.50872100046254, 39.113050999875014], [-84.50754300046268, 39.112959999875024], [-84.50754300046268, 39.11255999987504], [-84.50764300046268, 39.112159999875075], [-84.50894300046254, 39.112259999875086]]], "type": "Polygon"}, "id": "420", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.4, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15123.6404, "F1_RACE": 60.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 3.0, "ID": 663324.0, "IN_HOUSEHO": 63.0, "MALE": 37.0, "MALE_18": 36.0, "MALE_65": 6.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.38, "POPULATION": 63.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 46.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50764300046268, 39.11205999987513, -84.50674300046276, 39.112559999875074], "geometry": {"coordinates": [[[-84.50764300046268, 39.112159999875075], [-84.50754300046268, 39.11255999987504], [-84.50674300046276, 39.112559999875074], [-84.50684300046272, 39.11205999987513], [-84.50764300046268, 39.112159999875075]]], "type": "Polygon"}, "id": "421", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 15.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.6, "BG": "390610018001", "BLACK": 6.0, "BLOCK": "390610018001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24408.4609, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 663344.0, "IN_HOUSEHO": 24.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 32.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 1.4, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 26.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51574400046195, 39.13555999987291, -84.51334400046224, 39.14215999987227], "geometry": {"coordinates": [[[-84.51544400046203, 39.14215999987227], [-84.51514400046204, 39.14195999987231], [-84.51334400046224, 39.14045999987247], [-84.51347700046222, 39.13879699987262], [-84.5135440004622, 39.13795999987269], [-84.51364400046218, 39.13675999987281], [-84.51384400046216, 39.13555999987291], [-84.51474400046204, 39.13565999987291], [-84.515144000462, 39.13585999987289], [-84.51494400046204, 39.1365599998728], [-84.51514400046202, 39.1377599998727], [-84.51574400046195, 39.138259999872645], [-84.51534400046202, 39.13945999987253], [-84.51544400046203, 39.14195999987231], [-84.51544400046203, 39.14215999987227]]], "type": "Polygon"}, "id": "422", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 5.0, "AGE_15_19": 26.0, "AGE_18": 272.0, "AGE_20_24": 94.0, "AGE_21": 235.0, "AGE_25_34": 103.0, "AGE_35_44": 32.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 39.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 7.0, "AP_WHITE": 238.0, "AREA": 0.04, "ASIAN": 31.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.84, "AVG_HHSIZE": 1.64, "BG": "390610030001", "BLACK": 23.0, "BLOCK": "390610030001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8040.7282, "F1_RACE": 292.0, "F2_RACES": 9.0, "FEMALE": 133.0, "FEMALE_18": 115.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 26.0, "GROUP_QUAR": 26.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 136.0, "HOUSEHOLDS": 168.0, "HSNG_UNITS": 197.0, "HU_OCCUPIE": 168.0, "HU_VACANT": 29.0, "ID": 685133.0, "IN_HOUSEHO": 275.0, "MALE": 168.0, "MALE_18": 157.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 228.0, "NOT_HISPAN": 288.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 156.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 3.42, "POPULATION": 301.0, "RENTER_SIZ": 1.5, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 232.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51084400046246, 39.132659999873205, -84.50894300046268, 39.135359999872946], "geometry": {"coordinates": [[[-84.50984300046255, 39.132659999873205], [-84.51004300046255, 39.132659999873205], [-84.51084400046246, 39.132759999873166], [-84.51074400046248, 39.13405999987305], [-84.5106440004625, 39.13485999987298], [-84.51054400046252, 39.135359999872946], [-84.50934300046264, 39.13525999987296], [-84.50894300046268, 39.13515999987295], [-84.50904300046265, 39.133859999873096], [-84.50914300046264, 39.132659999873205], [-84.50984300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "423", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 84.0, "AGE_20_24": 40.0, "AGE_21": 73.0, "AGE_25_34": 20.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 15.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 8.0, "AP_WHITE": 60.0, "AREA": 0.02, "ASIAN": 14.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 2.1, "BG": "390610030002", "BLACK": 20.0, "BLOCK": "390610030002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6418.8255, "F1_RACE": 97.0, "F2_RACES": 8.0, "FEMALE": 44.0, "FEMALE_18": 30.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 9.0, "ID": 685197.0, "IN_HOUSEHO": 105.0, "MALE": 61.0, "MALE_18": 54.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.3, "MSA": "1640", "NH_WHITE": 57.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 43.0, "OTHER_RACE": 6.0, "OWNER_SIZE": 1.14, "POPULATION": 105.0, "RENTER_SIZ": 2.26, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 57.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50914300046264, 39.13255999987321, -84.50834300046274, 39.13385999987311], "geometry": {"coordinates": [[[-84.50914300046264, 39.132659999873205], [-84.50904300046265, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50844300046272, 39.13255999987321], [-84.50914300046264, 39.132659999873205]]], "type": "Polygon"}, "id": "424", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 41.0, "AGE_20_24": 22.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.95, "BG": "390610032002", "BLACK": 11.0, "BLOCK": "390610032002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12581.9809, "F1_RACE": 40.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 4.0, "ID": 685220.0, "IN_HOUSEHO": 41.0, "MALE": 23.0, "MALE_18": 23.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 41.0, "RENTER_SIZ": 2.0, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 25.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49684300046403, 39.13995999987257, -84.49244300046452, 39.14235999987234], "geometry": {"coordinates": [[[-84.49664300046405, 39.14235999987234], [-84.49464300046427, 39.14225999987239], [-84.49464300046427, 39.14195999987242], [-84.49244300046452, 39.141659999872424], [-84.49294300046445, 39.140959999872514], [-84.49354300046437, 39.13995999987257], [-84.49674300046402, 39.14015999987255], [-84.49674300046404, 39.140759999872486], [-84.49684300046403, 39.141159999872464], [-84.49664300046405, 39.14235999987234]]], "type": "Polygon"}, "id": "425", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 42.0, "AGE_15_19": 34.0, "AGE_18": 291.0, "AGE_20_24": 17.0, "AGE_21": 276.0, "AGE_25_34": 58.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 19.0, "AGE_5_9": 59.0, "AGE_60_64": 14.0, "AGE_62": 97.0, "AGE_65": 88.0, "AGE_65_74": 51.0, "AGE_75_84": 27.0, "AGE_85": 10.0, "AMINDIAN": 2.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 440.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 9.0, "AP_WHITE": 18.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.12, "BG": "390610067004", "BLACK": 423.0, "BLOCK": "390610067004005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15992.0043, "F1_RACE": 440.0, "F2_RACES": 18.0, "FEMALE": 251.0, "FEMALE_18": 169.0, "FEMALE_65": 53.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 2.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 216.0, "HSNG_UNITS": 265.0, "HU_OCCUPIE": 216.0, "HU_VACANT": 49.0, "ID": 703088.0, "IN_HOUSEHO": 458.0, "MALE": 207.0, "MALE_18": 122.0, "MALE_65": 35.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 458.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 458.0, "RENTER_SIZ": 2.01, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4960430004641, 39.1366599998729, -84.4903430004647, 39.13945999987263], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.4960430004641, 39.137259999872825], [-84.49544300046415, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.49454300046426, 39.13795999987277], [-84.49114300046465, 39.139459999872614], [-84.49044300046471, 39.13945999987263], [-84.4903430004647, 39.13845999987273], [-84.49124300046462, 39.13785999987278], [-84.49154300046457, 39.1366599998729], [-84.49234300046447, 39.13675999987287], [-84.49374300046433, 39.136759999872865], [-84.49514300046418, 39.13685999987286], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "426", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 10.0, "AGE_15_19": 8.0, "AGE_18": 135.0, "AGE_20_24": 18.0, "AGE_21": 127.0, "AGE_25_34": 30.0, "AGE_35_44": 43.0, "AGE_45_54": 28.0, "AGE_55_59": 2.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 182.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 8, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.05, "BG": "390610034001", "BLACK": 180.0, "BLOCK": "390610034001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5709.7727, "F1_RACE": 184.0, "F2_RACES": 3.0, "FEMALE": 99.0, "FEMALE_18": 68.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 19.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 46.0, "HOUSEHOLDS": 82.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 82.0, "HU_VACANT": 28.0, "ID": 703108.0, "IN_HOUSEHO": 168.0, "MALE": 88.0, "MALE_18": 67.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 187.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.3, "POPULATION": 187.0, "RENTER_SIZ": 2.01, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49524300046419, 39.13795999987277, -84.49094300046467, 39.140959999872514], "geometry": {"coordinates": [[[-84.4949430004642, 39.13855999987269], [-84.49444300046427, 39.139159999872646], [-84.49354300046437, 39.13995999987257], [-84.49294300046445, 39.140959999872514], [-84.49094300046467, 39.140859999872504], [-84.49114300046465, 39.139459999872614], [-84.49454300046426, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.4949430004642, 39.13855999987269]]], "type": "Polygon"}, "id": "427", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 22.0, "AGE_15_19": 26.0, "AGE_18": 139.0, "AGE_20_24": 23.0, "AGE_21": 122.0, "AGE_25_34": 24.0, "AGE_35_44": 34.0, "AGE_45_54": 24.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 2.0, "AGE_62": 20.0, "AGE_65": 19.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 7.0, "AP_BLACK": 219.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.58, "BG": "390610067001", "BLACK": 208.0, "BLOCK": "390610067001006", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9898.6106, "F1_RACE": 221.0, "F2_RACES": 11.0, "FEMALE": 127.0, "FEMALE_18": 88.0, "FEMALE_65": 15.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 10.0, "GROUP_QUAR": 10.0, "HAWAIIAN": 0.0, "HH_FAMILY": 63.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 130.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 44.0, "ID": 703132.0, "IN_HOUSEHO": 222.0, "MALE": 105.0, "MALE_18": 51.0, "MALE_65": 4.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 219.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.84, "POPULATION": 232.0, "RENTER_SIZ": 2.22, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 11.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5055430004631, 39.143859999872156, -84.50414300046327, 39.14555999987203], "geometry": {"coordinates": [[[-84.5055430004631, 39.143859999872156], [-84.50534300046313, 39.14555999987203], [-84.50414300046327, 39.145459999872024], [-84.50422400046327, 39.14481199987206], [-84.50434300046324, 39.14385999987216], [-84.5055430004631, 39.143859999872156]]], "type": "Polygon"}, "id": "428", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 21.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 5.83, "AVG_HHSIZE": 4.75, "BG": "390610069002", "BLACK": 37.0, "BLOCK": "390610069002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5157.6308, "F1_RACE": 37.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 703153.0, "IN_HOUSEHO": 38.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 38.0, "RENTER_SIZ": 3.33, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5096440004627, 39.146459999871915, -84.50524400046316, 39.15095999987151], "geometry": {"coordinates": [[[-84.5096440004627, 39.148759999871686], [-84.50924400046276, 39.150759999871525], [-84.5088440004628, 39.15095999987151], [-84.5077440004629, 39.149759999871605], [-84.50674400046303, 39.14935999987167], [-84.50624400046307, 39.14935999987166], [-84.50606600046308, 39.14934199987168], [-84.50524400046316, 39.14925999987169], [-84.50531600046315, 39.148107999871776], [-84.50534400046317, 39.147659999871806], [-84.50624400046306, 39.14775999987181], [-84.50644400046303, 39.146459999871915], [-84.50714400046296, 39.14655999987191], [-84.50834400046283, 39.147259999871835], [-84.50884400046277, 39.14805999987176], [-84.5096440004627, 39.148759999871686]]], "type": "Polygon"}, "id": "429", "properties": {"AGE_0_5": 40.0, "AGE_10_14": 71.0, "AGE_15_19": 50.0, "AGE_18": 285.0, "AGE_20_24": 25.0, "AGE_21": 258.0, "AGE_25_34": 66.0, "AGE_35_44": 61.0, "AGE_45_54": 48.0, "AGE_55_59": 14.0, "AGE_5_9": 61.0, "AGE_60_64": 6.0, "AGE_62": 53.0, "AGE_65": 49.0, "AGE_65_74": 21.0, "AGE_75_84": 20.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 483.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 10.0, "AREA": 0.04, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.77, "BG": "390610069004", "BLACK": 473.0, "BLOCK": "390610069004000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12535.53, "F1_RACE": 481.0, "F2_RACES": 10.0, "FEMALE": 293.0, "FEMALE_18": 191.0, "FEMALE_65": 34.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 128.0, "HH_NONFAMI": 49.0, "HOUSEHOLDS": 177.0, "HSNG_UNITS": 189.0, "HU_OCCUPIE": 177.0, "HU_VACANT": 12.0, "ID": 703170.0, "IN_HOUSEHO": 491.0, "MALE": 198.0, "MALE_18": 94.0, "MALE_65": 15.0, "MEDIAN_AGE": 24.6, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 488.0, "OCCHU_OWNE": 62.0, "OCCHU_RENT": 115.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.29, "POPULATION": 491.0, "RENTER_SIZ": 3.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50644400046303, 39.14645999987191, -84.50534400046317, 39.14775999987181], "geometry": {"coordinates": [[[-84.50644400046303, 39.146459999871915], [-84.50624400046306, 39.14775999987181], [-84.50534400046317, 39.147659999871806], [-84.50544300046313, 39.14645999987191], [-84.50644400046303, 39.146459999871915]]], "type": "Polygon"}, "id": "430", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 21.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.55, "BG": "390610069004", "BLACK": 32.0, "BLOCK": "390610069004002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8810.7256, "F1_RACE": 37.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 4.0, "ID": 703197.0, "IN_HOUSEHO": 39.0, "MALE": 21.0, "MALE_18": 10.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 39.0, "RENTER_SIZ": 4.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50574300046307, 39.141859999872366, -84.50294300046339, 39.142959999872254], "geometry": {"coordinates": [[[-84.50574300046307, 39.14205999987235], [-84.50564300046308, 39.142959999872254], [-84.50314300046337, 39.14285999987227], [-84.50294300046339, 39.14275999987228], [-84.50304300046336, 39.141859999872366], [-84.50324300046334, 39.14185999987239], [-84.50574300046307, 39.14205999987235]]], "type": "Polygon"}, "id": "431", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 14.0, "AGE_15_19": 11.0, "AGE_18": 93.0, "AGE_20_24": 10.0, "AGE_21": 86.0, "AGE_25_34": 15.0, "AGE_35_44": 31.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 5.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.15, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13478.2777, "F1_RACE": 125.0, "F2_RACES": 4.0, "FEMALE": 64.0, "FEMALE_18": 46.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 79.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 19.0, "ID": 703214.0, "IN_HOUSEHO": 129.0, "MALE": 65.0, "MALE_18": 47.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 129.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.26, "POPULATION": 129.0, "RENTER_SIZ": 2.1, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50564300046308, 39.14285999987227, -84.50304300046338, 39.14385999987216], "geometry": {"coordinates": [[[-84.50564300046308, 39.142959999872254], [-84.5055430004631, 39.143859999872156], [-84.50434300046324, 39.14385999987216], [-84.50340000046334, 39.14378699987218], [-84.50304300046338, 39.14375999987218], [-84.50314300046337, 39.14285999987227], [-84.50564300046308, 39.142959999872254]]], "type": "Polygon"}, "id": "432", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 16.0, "AGE_15_19": 10.0, "AGE_18": 89.0, "AGE_20_24": 9.0, "AGE_21": 84.0, "AGE_25_34": 13.0, "AGE_35_44": 21.0, "AGE_45_54": 13.0, "AGE_55_59": 8.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.47, "BG": "390610069002", "BLACK": 114.0, "BLOCK": "390610069002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14670.7028, "F1_RACE": 125.0, "F2_RACES": 1.0, "FEMALE": 59.0, "FEMALE_18": 44.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 11.0, "ID": 703234.0, "IN_HOUSEHO": 126.0, "MALE": 67.0, "MALE_18": 45.0, "MALE_65": 9.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 126.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 126.0, "RENTER_SIZ": 2.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50434300046324, 39.14375999987218, -84.50294300046342, 39.145459999872024], "geometry": {"coordinates": [[[-84.50434300046324, 39.14385999987216], [-84.50422400046327, 39.14481199987206], [-84.50414300046327, 39.145459999872024], [-84.50294300046342, 39.14535999987205], [-84.50294300046342, 39.145159999872064], [-84.50304300046338, 39.14375999987218], [-84.50340000046334, 39.14378699987218], [-84.50434300046324, 39.14385999987216]]], "type": "Polygon"}, "id": "433", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 12.0, "AGE_45_54": 12.0, "AGE_55_59": 0.0, "AGE_5_9": 17.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.22, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15069.8309, "F1_RACE": 113.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 43.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 8.0, "ID": 703253.0, "IN_HOUSEHO": 113.0, "MALE": 53.0, "MALE_18": 31.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.1, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 113.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 45.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 113.0, "RENTER_SIZ": 2.11, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50304300046336, 39.1416599998724, -84.50024300046367, 39.14275999987228], "geometry": {"coordinates": [[[-84.50294300046339, 39.14275999987228], [-84.50024300046367, 39.1425599998723], [-84.50024300046367, 39.1416599998724], [-84.50304300046336, 39.141859999872366], [-84.50294300046339, 39.14275999987228]]], "type": "Polygon"}, "id": "434", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 66.0, "AGE_20_24": 3.0, "AGE_21": 62.0, "AGE_25_34": 11.0, "AGE_35_44": 15.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 14.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.52, "BG": "390610069002", "BLACK": 64.0, "BLOCK": "390610069002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9021.0236, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 38.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 16.0, "ID": 703271.0, "IN_HOUSEHO": 83.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.1, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.92, "POPULATION": 83.0, "RENTER_SIZ": 2.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50314300046337, 39.1425599998723, -84.50014300046368, 39.14375999987218], "geometry": {"coordinates": [[[-84.50314300046337, 39.14285999987227], [-84.50304300046338, 39.14375999987218], [-84.50014300046368, 39.143559999872224], [-84.50024300046367, 39.1425599998723], [-84.50294300046339, 39.14275999987228], [-84.50314300046337, 39.14285999987227]]], "type": "Polygon"}, "id": "435", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 27.0, "AGE_15_19": 11.0, "AGE_18": 101.0, "AGE_20_24": 20.0, "AGE_21": 91.0, "AGE_25_34": 8.0, "AGE_35_44": 30.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 15.0, "AGE_60_64": 7.0, "AGE_62": 24.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 7.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 163.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.43, "BG": "390610069002", "BLACK": 162.0, "BLOCK": "390610069002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15673.642, "F1_RACE": 167.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 57.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 19.0, "ID": 703289.0, "IN_HOUSEHO": 168.0, "MALE": 77.0, "MALE_18": 44.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 168.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 168.0, "RENTER_SIZ": 3.64, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50304300046338, 39.143559999872224, -84.49994300046373, 39.145159999872064], "geometry": {"coordinates": [[[-84.50304300046338, 39.14375999987218], [-84.50294300046342, 39.145159999872064], [-84.49994300046373, 39.14485999987211], [-84.5000430004637, 39.143959999872195], [-84.50014300046368, 39.143559999872224], [-84.50304300046338, 39.14375999987218]]], "type": "Polygon"}, "id": "436", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 24.0, "AGE_15_19": 19.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 14.0, "AGE_55_59": 1.0, "AGE_5_9": 23.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 11, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.74, "BG": "390610069002", "BLACK": 128.0, "BLOCK": "390610069002004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8747.1976, "F1_RACE": 131.0, "F2_RACES": 0.0, "FEMALE": 68.0, "FEMALE_18": 39.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 703308.0, "IN_HOUSEHO": 131.0, "MALE": 63.0, "MALE_18": 22.0, "MALE_65": 4.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 131.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 131.0, "RENTER_SIZ": 3.93, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.14535999987205, -84.50284300046341, 39.14645999987191], "geometry": {"coordinates": [[[-84.50534300046313, 39.14555999987203], [-84.50544300046313, 39.14645999987191], [-84.5038430004633, 39.14635999987197], [-84.50284300046341, 39.146259999871944], [-84.50294300046342, 39.14535999987205], [-84.50414300046327, 39.145459999872024], [-84.50534300046313, 39.14555999987203]]], "type": "Polygon"}, "id": "437", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 76.0, "AGE_20_24": 6.0, "AGE_21": 71.0, "AGE_25_34": 13.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.3, "BG": "390610069002", "BLACK": 99.0, "BLOCK": "390610069002001", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12794.2932, "F1_RACE": 105.0, "F2_RACES": 3.0, "FEMALE": 53.0, "FEMALE_18": 39.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 703326.0, "IN_HOUSEHO": 108.0, "MALE": 55.0, "MALE_18": 37.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 104.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.17, "POPULATION": 108.0, "RENTER_SIZ": 2.34, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.146259999871944, -84.50264300046345, 39.14925999987169], "geometry": {"coordinates": [[[-84.5038430004633, 39.14635999987197], [-84.50544300046313, 39.14645999987191], [-84.50534400046317, 39.147659999871806], [-84.50531600046315, 39.148107999871776], [-84.50524400046316, 39.14925999987169], [-84.50360700046336, 39.14913399987168], [-84.50264300046345, 39.149059999871696], [-84.50284300046341, 39.146259999871944], [-84.5038430004633, 39.14635999987197]]], "type": "Polygon"}, "id": "438", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 40.0, "AGE_15_19": 22.0, "AGE_18": 189.0, "AGE_20_24": 13.0, "AGE_21": 178.0, "AGE_25_34": 32.0, "AGE_35_44": 50.0, "AGE_45_54": 33.0, "AGE_55_59": 10.0, "AGE_5_9": 28.0, "AGE_60_64": 9.0, "AGE_62": 40.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.53, "BG": "390610069001", "BLACK": 281.0, "BLOCK": "390610069001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10697.4731, "F1_RACE": 285.0, "F2_RACES": 3.0, "FEMALE": 162.0, "FEMALE_18": 110.0, "FEMALE_65": 24.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 114.0, "HSNG_UNITS": 127.0, "HU_OCCUPIE": 114.0, "HU_VACANT": 13.0, "ID": 703346.0, "IN_HOUSEHO": 288.0, "MALE": 126.0, "MALE_18": 79.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 39.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.31, "POPULATION": 288.0, "RENTER_SIZ": 2.64, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50294300046342, 39.14485999987211, -84.49984300046374, 39.146259999871944], "geometry": {"coordinates": [[[-84.50294300046342, 39.14535999987205], [-84.50284300046341, 39.146259999871944], [-84.49984300046374, 39.14605999987198], [-84.49994300046373, 39.14485999987211], [-84.50294300046342, 39.145159999872064], [-84.50294300046342, 39.14535999987205]]], "type": "Polygon"}, "id": "439", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 27.0, "AGE_15_19": 16.0, "AGE_18": 91.0, "AGE_20_24": 10.0, "AGE_21": 84.0, "AGE_25_34": 16.0, "AGE_35_44": 29.0, "AGE_45_54": 7.0, "AGE_55_59": 6.0, "AGE_5_9": 10.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 9.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 2.72, "BG": "390610069002", "BLACK": 155.0, "BLOCK": "390610069002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12013.0464, "F1_RACE": 155.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 47.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 17.0, "ID": 703368.0, "IN_HOUSEHO": 155.0, "MALE": 82.0, "MALE_18": 44.0, "MALE_65": 10.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 155.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.11, "POPULATION": 155.0, "RENTER_SIZ": 2.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50624400046307, 39.149059999871696, -84.50264300046345, 39.150259999871565], "geometry": {"coordinates": [[[-84.50606600046308, 39.14934199987168], [-84.50624400046307, 39.14935999987166], [-84.50614400046308, 39.150259999871565], [-84.50454400046326, 39.15015999987159], [-84.50344300046336, 39.15015999987159], [-84.50284300046344, 39.14975999987163], [-84.50264300046345, 39.149059999871696], [-84.50360700046336, 39.14913399987168], [-84.50524400046316, 39.14925999987169], [-84.50606600046308, 39.14934199987168]]], "type": "Polygon"}, "id": "440", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 68.0, "AGE_20_24": 4.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 14.0, "AGE_45_54": 16.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.31, "BG": "390610069001", "BLACK": 82.0, "BLOCK": "390610069001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6949.0985, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 44.0, "FEMALE_18": 38.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 3.0, "ID": 703387.0, "IN_HOUSEHO": 83.0, "MALE": 39.0, "MALE_18": 30.0, "MALE_65": 7.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 83.0, "RENTER_SIZ": 2.5, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50494400046323, 39.15015999987159, -84.50344300046336, 39.15165999987144], "geometry": {"coordinates": [[[-84.50454400046326, 39.15015999987159], [-84.50454400046326, 39.15125999987151], [-84.50494400046323, 39.15165999987144], [-84.50374300046336, 39.15155999987148], [-84.50344300046336, 39.15015999987159], [-84.50454400046326, 39.15015999987159]]], "type": "Polygon"}, "id": "441", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 43.0, "AGE_20_24": 0.0, "AGE_21": 41.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 14.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610069001", "BLACK": 54.0, "BLOCK": "390610069001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10378.7052, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 25.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 0.0, "ID": 703410.0, "IN_HOUSEHO": 55.0, "MALE": 24.0, "MALE_18": 18.0, "MALE_65": 5.0, "MEDIAN_AGE": 48.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 55.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50924400046277, 39.14605999987198, -84.49794300046398, 39.15545999987109], "geometry": {"coordinates": [[[-84.50604400046315, 39.15485999987118], [-84.50564400046316, 39.15545999987109], [-84.50314400046344, 39.15525999987111], [-84.50244300046353, 39.15485999987118], [-84.50044300046372, 39.15245999987139], [-84.49924300046385, 39.15165999987147], [-84.49794300046398, 39.15045999987158], [-84.49874300046388, 39.14965999987165], [-84.49884300046386, 39.149359999871685], [-84.49904300046383, 39.14605999987199], [-84.49984300046374, 39.14605999987198], [-84.50284300046341, 39.146259999871944], [-84.50264300046345, 39.149059999871696], [-84.50284300046344, 39.14975999987163], [-84.50344300046336, 39.15015999987159], [-84.50374300046336, 39.15155999987148], [-84.50494400046323, 39.15165999987144], [-84.50454400046326, 39.15125999987151], [-84.50454400046326, 39.15015999987159], [-84.50614400046308, 39.150259999871565], [-84.50624400046307, 39.14935999987166], [-84.50674400046303, 39.14935999987167], [-84.5077440004629, 39.149759999871605], [-84.5088440004628, 39.15095999987151], [-84.50924400046277, 39.151459999871456], [-84.50814400046289, 39.152059999871405], [-84.50604400046315, 39.15485999987118]]], "type": "Polygon"}, "id": "442", "properties": {"AGE_0_5": 86.0, "AGE_10_14": 107.0, "AGE_15_19": 69.0, "AGE_18": 1096.0, "AGE_20_24": 76.0, "AGE_21": 1064.0, "AGE_25_34": 181.0, "AGE_35_44": 219.0, "AGE_45_54": 202.0, "AGE_55_59": 77.0, "AGE_5_9": 113.0, "AGE_60_64": 69.0, "AGE_62": 301.0, "AGE_65": 252.0, "AGE_65_74": 150.0, "AGE_75_84": 82.0, "AGE_85": 20.0, "AMINDIAN": 3.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 6.0, "AP_BLACK": 1381.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 13.0, "AP_OTHER": 11.0, "AP_WHITE": 61.0, "AREA": 0.19, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 1.9, "BG": "390610069001", "BLACK": 1368.0, "BLOCK": "390610069001000", "BURGLARY": 7, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7516.6639, "F1_RACE": 1437.0, "F2_RACES": 14.0, "FEMALE": 792.0, "FEMALE_18": 623.0, "FEMALE_65": 158.0, "GQ_INSTITU": 32.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 32.0, "HAWAIIAN": 0.0, "HH_FAMILY": 320.0, "HH_NONFAMI": 425.0, "HOUSEHOLDS": 745.0, "HSNG_UNITS": 840.0, "HU_OCCUPIE": 745.0, "HU_VACANT": 95.0, "ID": 703426.0, "IN_HOUSEHO": 1419.0, "MALE": 659.0, "MALE_18": 473.0, "MALE_65": 94.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 1438.0, "OCCHU_OWNE": 202.0, "OCCHU_RENT": 543.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 2.27, "POPULATION": 1451.0, "RENTER_SIZ": 1.77, "THEFT": 17, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 55.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49984300046371, 39.14125999987244, -84.49884300046381, 39.141559999872406], "geometry": {"coordinates": [[[-84.49884300046381, 39.141559999872406], [-84.49884300046381, 39.14125999987244], [-84.49984300046371, 39.14125999987244], [-84.49974300046372, 39.141559999872406], [-84.49884300046381, 39.141559999872406]]], "type": "Polygon"}, "id": "443", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.29, "BG": "390610067003", "BLACK": 23.0, "BLOCK": "390610067003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21796.2254, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 3.0, "ID": 703460.0, "IN_HOUSEHO": 23.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 23.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50024300046367, 39.141559999872406, -84.49814300046388, 39.143959999872195], "geometry": {"coordinates": [[[-84.50014300046368, 39.143559999872224], [-84.5000430004637, 39.143959999872195], [-84.49884300046384, 39.1438599998722], [-84.49894300046381, 39.14245999987232], [-84.4981430004639, 39.14235999987234], [-84.49814300046388, 39.14155999987243], [-84.49884300046381, 39.141559999872406], [-84.49974300046372, 39.141559999872406], [-84.50024300046367, 39.1416599998724], [-84.50024300046367, 39.1425599998723], [-84.50014300046368, 39.143559999872224]]], "type": "Polygon"}, "id": "444", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.64, "BG": "390610067003", "BLACK": 28.0, "BLOCK": "390610067003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2125.5272, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 32.0, "ID": 703476.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 29.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49894300046381, 39.14235999987234, -84.49794300046392, 39.1438599998722], "geometry": {"coordinates": [[[-84.49894300046381, 39.14245999987232], [-84.49884300046384, 39.1438599998722], [-84.49794300046392, 39.1438599998722], [-84.49794300046392, 39.143159999872275], [-84.4981430004639, 39.14235999987234], [-84.49894300046381, 39.14245999987232]]], "type": "Polygon"}, "id": "445", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 8.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 11.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 66.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.29, "AVG_HHSIZE": 3.53, "BG": "390610067003", "BLACK": 65.0, "BLOCK": "390610067003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13813.8186, "F1_RACE": 66.0, "F2_RACES": 1.0, "FEMALE": 35.0, "FEMALE_18": 21.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 13.0, "ID": 703500.0, "IN_HOUSEHO": 67.0, "MALE": 32.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 67.0, "RENTER_SIZ": 4.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5000430004637, 39.1438599998722, -84.49774300046396, 39.14485999987211], "geometry": {"coordinates": [[[-84.5000430004637, 39.143959999872195], [-84.49994300046373, 39.14485999987211], [-84.49774300046396, 39.144759999872115], [-84.49794300046392, 39.1438599998722], [-84.49884300046384, 39.1438599998722], [-84.5000430004637, 39.143959999872195]]], "type": "Polygon"}, "id": "446", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 41.0, "AGE_20_24": 6.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 4.0, "AGE_55_59": 5.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.83, "BG": "390610067003", "BLACK": 68.0, "BLOCK": "390610067003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9206.2354, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 10.0, "ID": 703519.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.4, "POPULATION": 68.0, "RENTER_SIZ": 2.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49994300046373, 39.144759999872115, -84.49774300046396, 39.14605999987199], "geometry": {"coordinates": [[[-84.49994300046373, 39.14485999987211], [-84.49984300046374, 39.14605999987198], [-84.49904300046383, 39.14605999987199], [-84.49774300046397, 39.145959999872], [-84.49774300046396, 39.144759999872115], [-84.49994300046373, 39.14485999987211]]], "type": "Polygon"}, "id": "447", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.43, "BG": "390610068002", "BLACK": 9.0, "BLOCK": "390610068002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1028.9523, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 2.0, "ID": 703537.0, "IN_HOUSEHO": 10.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 10.0, "RENTER_SIZ": 1.43, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4981430004639, 39.14225999987239, -84.49454300046429, 39.143159999872275], "geometry": {"coordinates": [[[-84.4981430004639, 39.14235999987234], [-84.49794300046392, 39.143159999872275], [-84.49454300046429, 39.142859999872286], [-84.49464300046427, 39.14225999987239], [-84.49664300046405, 39.14235999987234], [-84.4981430004639, 39.14235999987234]]], "type": "Polygon"}, "id": "448", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 25.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 7.0, "AGE_21": 90.0, "AGE_25_34": 22.0, "AGE_35_44": 33.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 29.0, "AGE_60_64": 3.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 1.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 166.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.13, "BG": "390610067003", "BLACK": 166.0, "BLOCK": "390610067003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18917.468, "F1_RACE": 166.0, "F2_RACES": 0.0, "FEMALE": 108.0, "FEMALE_18": 61.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 40.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 53.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 53.0, "HU_VACANT": 16.0, "ID": 703556.0, "IN_HOUSEHO": 166.0, "MALE": 58.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 166.0, "RENTER_SIZ": 3.33, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.144559999872136, -84.49514300046425, 39.145959999872], "geometry": {"coordinates": [[[-84.49774300046396, 39.144759999872115], [-84.49774300046397, 39.145959999872], [-84.49514300046425, 39.14575999987203], [-84.49534300046422, 39.144559999872136], [-84.49774300046396, 39.144759999872115]]], "type": "Polygon"}, "id": "449", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 10.0, "AGE_15_19": 11.0, "AGE_18": 166.0, "AGE_20_24": 16.0, "AGE_21": 152.0, "AGE_25_34": 23.0, "AGE_35_44": 34.0, "AGE_45_54": 37.0, "AGE_55_59": 11.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 32.0, "AGE_65": 29.0, "AGE_65_74": 16.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 203.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.94, "AVG_HHSIZE": 1.51, "BG": "390610068002", "BLACK": 195.0, "BLOCK": "390610068002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18334.4967, "F1_RACE": 197.0, "F2_RACES": 8.0, "FEMALE": 94.0, "FEMALE_18": 79.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 136.0, "HSNG_UNITS": 148.0, "HU_OCCUPIE": 136.0, "HU_VACANT": 12.0, "ID": 703574.0, "IN_HOUSEHO": 205.0, "MALE": 111.0, "MALE_18": 87.0, "MALE_65": 8.0, "MEDIAN_AGE": 40.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 135.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 9.0, "POPULATION": 205.0, "RENTER_SIZ": 1.45, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49904300046383, 39.145959999872, -84.49624300046413, 39.15045999987158], "geometry": {"coordinates": [[[-84.49774300046397, 39.145959999872], [-84.49904300046383, 39.14605999987199], [-84.49884300046386, 39.149359999871685], [-84.49874300046388, 39.14965999987165], [-84.49794300046398, 39.15045999987158], [-84.497643000464, 39.15025999987161], [-84.49704300046406, 39.14965999987167], [-84.49704300046406, 39.148759999871736], [-84.49624300046413, 39.148759999871736], [-84.49644300046413, 39.14835999987178], [-84.49734300046401, 39.147459999871856], [-84.49774300046397, 39.145959999872]]], "type": "Polygon"}, "id": "450", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 19.0, "AGE_15_19": 15.0, "AGE_18": 207.0, "AGE_20_24": 22.0, "AGE_21": 197.0, "AGE_25_34": 23.0, "AGE_35_44": 31.0, "AGE_45_54": 28.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 4.0, "AGE_62": 81.0, "AGE_65": 80.0, "AGE_65_74": 21.0, "AGE_75_84": 34.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 271.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.24, "BG": "390610068002", "BLACK": 268.0, "BLOCK": "390610068002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10353.2885, "F1_RACE": 277.0, "F2_RACES": 3.0, "FEMALE": 178.0, "FEMALE_18": 134.0, "FEMALE_65": 53.0, "GQ_INSTITU": 58.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 58.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 116.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 17.0, "ID": 703592.0, "IN_HOUSEHO": 222.0, "MALE": 102.0, "MALE_18": 73.0, "MALE_65": 27.0, "MEDIAN_AGE": 40.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 280.0, "OCCHU_OWNE": 33.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.45, "POPULATION": 280.0, "RENTER_SIZ": 2.14, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 9.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.142859999872286, -84.49454300046429, 39.1438599998722], "geometry": {"coordinates": [[[-84.49794300046392, 39.143159999872275], [-84.49794300046392, 39.1438599998722], [-84.49454300046429, 39.14355999987227], [-84.49454300046429, 39.142859999872286], [-84.49794300046392, 39.143159999872275]]], "type": "Polygon"}, "id": "451", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 21.0, "AGE_15_19": 16.0, "AGE_18": 96.0, "AGE_20_24": 7.0, "AGE_21": 91.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 14.0, "AGE_55_59": 4.0, "AGE_5_9": 36.0, "AGE_60_64": 7.0, "AGE_62": 12.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 186.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.82, "BG": "390610067003", "BLACK": 180.0, "BLOCK": "390610067003004", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21107.9915, "F1_RACE": 180.0, "F2_RACES": 6.0, "FEMALE": 110.0, "FEMALE_18": 63.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 18.0, "ID": 703612.0, "IN_HOUSEHO": 186.0, "MALE": 76.0, "MALE_18": 33.0, "MALE_65": 2.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 186.0, "RENTER_SIZ": 2.79, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.14355999987227, -84.49434300046431, 39.144759999872115], "geometry": {"coordinates": [[[-84.49794300046392, 39.1438599998722], [-84.49774300046396, 39.144759999872115], [-84.49534300046422, 39.144559999872136], [-84.49434300046431, 39.14445999987216], [-84.49454300046429, 39.14355999987227], [-84.49794300046392, 39.1438599998722]]], "type": "Polygon"}, "id": "452", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 68.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 3.55, "BG": "390610067003", "BLACK": 102.0, "BLOCK": "390610067003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9461.9681, "F1_RACE": 110.0, "F2_RACES": 0.0, "FEMALE": 62.0, "FEMALE_18": 37.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 36.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 5.0, "ID": 703629.0, "IN_HOUSEHO": 110.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.55, "POPULATION": 110.0, "RENTER_SIZ": 3.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046427, 39.141659999872424, -84.49194300046456, 39.142859999872286], "geometry": {"coordinates": [[[-84.49454300046429, 39.142859999872286], [-84.49194300046456, 39.14255999987233], [-84.49224300046454, 39.14215999987238], [-84.49244300046452, 39.141659999872424], [-84.49464300046427, 39.14195999987242], [-84.49464300046427, 39.14225999987239], [-84.49454300046429, 39.142859999872286]]], "type": "Polygon"}, "id": "453", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 85.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.37, "AVG_HHSIZE": 2.61, "BG": "390610067004", "BLACK": 85.0, "BLOCK": "390610067004004", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10415.8913, "F1_RACE": 86.0, "F2_RACES": 0.0, "FEMALE": 54.0, "FEMALE_18": 40.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 7.0, "ID": 703648.0, "IN_HOUSEHO": 86.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 86.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 86.0, "RENTER_SIZ": 3.07, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49454300046429, 39.14255999987233, -84.49104300046467, 39.14445999987216], "geometry": {"coordinates": [[[-84.49454300046429, 39.14355999987227], [-84.49434300046431, 39.14445999987216], [-84.49104300046467, 39.14415999987221], [-84.4915430004646, 39.143159999872296], [-84.49194300046456, 39.14255999987233], [-84.49454300046429, 39.142859999872286], [-84.49454300046429, 39.14355999987227]]], "type": "Polygon"}, "id": "454", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 703666.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49534300046422, 39.14415999987221, -84.49034300046476, 39.14575999987203], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.49404300046436, 39.145659999872066], [-84.49224300046455, 39.14545999987209], [-84.49034300046476, 39.145359999872106], [-84.49054300046475, 39.14495999987214], [-84.49104300046467, 39.14415999987221], [-84.49434300046431, 39.14445999987216], [-84.49534300046422, 39.144559999872136], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "455", "properties": {"AGE_0_5": 35.0, "AGE_10_14": 32.0, "AGE_15_19": 25.0, "AGE_18": 156.0, "AGE_20_24": 23.0, "AGE_21": 139.0, "AGE_25_34": 35.0, "AGE_35_44": 41.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 40.0, "AGE_60_64": 5.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 3.0, "AP_BLACK": 275.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.62, "BG": "390610068002", "BLACK": 270.0, "BLOCK": "390610068002007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13517.0854, "F1_RACE": 271.0, "F2_RACES": 7.0, "FEMALE": 157.0, "FEMALE_18": 104.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 64.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 106.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 106.0, "HU_VACANT": 22.0, "ID": 703686.0, "IN_HOUSEHO": 278.0, "MALE": 121.0, "MALE_18": 52.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 275.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 101.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 278.0, "RENTER_SIZ": 2.67, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.14575999987203, -84.4948430004643, 39.148759999871736], "geometry": {"coordinates": [[[-84.49624300046413, 39.148759999871736], [-84.4948430004643, 39.14865999987177], [-84.4948430004643, 39.14845999987178], [-84.49514300046425, 39.14575999987203], [-84.49774300046397, 39.145959999872], [-84.49734300046401, 39.147459999871856], [-84.49644300046413, 39.14835999987178], [-84.49624300046413, 39.148759999871736]]], "type": "Polygon"}, "id": "456", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 0.0, "AGE_18": 38.0, "AGE_20_24": 4.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.28, "BG": "390610068002", "BLACK": 43.0, "BLOCK": "390610068002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2300.5913, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 3.0, "GQ_INSTITU": 13.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 13.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 7.0, "ID": 703708.0, "IN_HOUSEHO": 41.0, "MALE": 20.0, "MALE_18": 9.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 54.0, "RENTER_SIZ": 2.46, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006800", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}], "type": "FeatureCollection"});\n", + " geo_json_fd903d47616b570050e85cb36a0bb1cf_add({"bbox": [-84.53054400046031, 39.111059999875216, -84.46004200046795, 39.15545999987109], "features": [{"bbox": [-84.47864300046585, 39.120659999874455, -84.46864200046697, 39.12675999987392], "geometry": {"coordinates": [[[-84.47834300046591, 39.12445999987407], [-84.47774300046596, 39.12445999987407], [-84.47744300046601, 39.1243599998741], [-84.4766430004661, 39.1243599998741], [-84.47524300046624, 39.12455999987408], [-84.47394300046638, 39.12455999987409], [-84.47224300046658, 39.12535999987403], [-84.47194300046661, 39.12645999987392], [-84.47064200046675, 39.12615999987395], [-84.4703420004668, 39.12625999987395], [-84.46884200046696, 39.12675999987392], [-84.46864200046697, 39.1248599998741], [-84.47188800046659, 39.1234969998742], [-84.47603700046615, 39.12175399987434], [-84.47864300046585, 39.120659999874455], [-84.47854300046589, 39.12185999987432], [-84.47834300046591, 39.12445999987407]]], "type": "Polygon"}, "id": "0", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 9.0, "AGE_18": 459.0, "AGE_20_24": 32.0, "AGE_21": 453.0, "AGE_25_34": 60.0, "AGE_35_44": 53.0, "AGE_45_54": 64.0, "AGE_55_59": 34.0, "AGE_5_9": 6.0, "AGE_60_64": 38.0, "AGE_62": 197.0, "AGE_65": 174.0, "AGE_65_74": 90.0, "AGE_75_84": 62.0, "AGE_85": 22.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 439.0, "AREA": 0.09, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.45, "BG": "390610042002", "BLACK": 32.0, "BLOCK": "390610042002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5384.7901, "F1_RACE": 472.0, "F2_RACES": 7.0, "FEMALE": 258.0, "FEMALE_18": 246.0, "FEMALE_65": 100.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 105.0, "HH_NONFAMI": 225.0, "HOUSEHOLDS": 330.0, "HSNG_UNITS": 361.0, "HU_OCCUPIE": 330.0, "HU_VACANT": 31.0, "ID": 726907.0, "IN_HOUSEHO": 479.0, "MALE": 221.0, "MALE_18": 213.0, "MALE_65": 74.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 430.0, "NOT_HISPAN": 474.0, "OCCHU_OWNE": 245.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.46, "POPULATION": 479.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 433.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5082430004627, 39.12495999987392, -84.50554300046298, 39.126759999873755], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50554300046298, 39.12655999987377], [-84.50564300046297, 39.12495999987392], [-84.50604300046291, 39.125059999873905], [-84.50674300046285, 39.125459999873875], [-84.50824300046268, 39.12555999987385], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "1", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 54.0, "AGE_25_34": 13.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 4.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.73, "AVG_HHSIZE": 2.43, "BG": "390610022004", "BLACK": 66.0, "BLOCK": "390610022004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6643.1423, "F1_RACE": 82.0, "F2_RACES": 3.0, "FEMALE": 46.0, "FEMALE_18": 34.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 0.0, "ID": 695744.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 27.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.22, "POPULATION": 85.0, "RENTER_SIZ": 2.15, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12745999987367, -84.50624300046294, 39.12875999987356], "geometry": {"coordinates": [[[-84.50864300046265, 39.12745999987367], [-84.50844300046269, 39.12795999987365], [-84.50794300046275, 39.12845999987357], [-84.50784300046276, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50624300046294, 39.12865999987357], [-84.50644300046291, 39.12775999987366], [-84.5073430004628, 39.127859999873635], [-84.50864300046265, 39.12745999987367]]], "type": "Polygon"}, "id": "2", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 29.0, "AGE_20_24": 13.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.32, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4326.5018, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 2.0, "ID": 695762.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 29.0, "RENTER_SIZ": 1.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 15.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50564300046297, 39.12495999987392, -84.5045430004631, 39.126559999873784], "geometry": {"coordinates": [[[-84.50564300046297, 39.12495999987392], [-84.50554300046298, 39.12655999987377], [-84.5045430004631, 39.126559999873784], [-84.50474300046305, 39.12495999987392], [-84.50564300046297, 39.12495999987392]]], "type": "Polygon"}, "id": "3", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 17.0, "AGE_18": 78.0, "AGE_20_24": 12.0, "AGE_21": 70.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 4.0, "AGE_62": 6.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610022004", "BLACK": 103.0, "BLOCK": "390610022004002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20784.6991, "F1_RACE": 117.0, "F2_RACES": 0.0, "FEMALE": 58.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 9.0, "ID": 695780.0, "IN_HOUSEHO": 117.0, "MALE": 59.0, "MALE_18": 43.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.8, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 115.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.57, "POPULATION": 117.0, "RENTER_SIZ": 2.25, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12645999987379, -84.50314300046327, 39.128259999873634], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50864300046265, 39.12745999987367], [-84.5073430004628, 39.127859999873635], [-84.50644300046291, 39.12775999987366], [-84.50524300046303, 39.12775999987366], [-84.50454300046312, 39.12795999987365], [-84.50334300046325, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50314300046327, 39.12815999987364], [-84.50324300046324, 39.12735999987369], [-84.50334300046323, 39.12645999987379], [-84.5045430004631, 39.126559999873784], [-84.50554300046298, 39.12655999987377], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "4", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 90.0, "AGE_20_24": 28.0, "AGE_21": 84.0, "AGE_25_34": 44.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.41, "BG": "390610033001", "BLACK": 39.0, "BLOCK": "390610033001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4019.0506, "F1_RACE": 92.0, "F2_RACES": 4.0, "FEMALE": 45.0, "FEMALE_18": 40.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 1.0, "ID": 695798.0, "IN_HOUSEHO": 96.0, "MALE": 51.0, "MALE_18": 50.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 96.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 52.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50944300046258, 39.12865999987357, -84.50774300046278, 39.13005999987343], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.50774300046278, 39.12995999987345], [-84.50784300046276, 39.12865999987357], [-84.50870500046265, 39.12876799987356], [-84.50944300046258, 39.128859999873555], [-84.50934300046261, 39.13005999987343], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "5", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 41.0, "AGE_20_24": 14.0, "AGE_21": 38.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.88, "BG": "390610033002", "BLACK": 18.0, "BLOCK": "390610033002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5913.7961, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 695823.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 45.0, "RENTER_SIZ": 1.62, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5085430004627, 39.12995999987345, -84.5076430004628, 39.13125999987332], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.5084430004627, 39.131259999873315], [-84.5076430004628, 39.13125999987332], [-84.50774300046278, 39.12995999987345], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "6", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 14.0, "AGE_18": 61.0, "AGE_20_24": 29.0, "AGE_21": 38.0, "AGE_25_34": 8.0, "AGE_35_44": 6.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.31, "BG": "390610033002", "BLACK": 52.0, "BLOCK": "390610033002009", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21764.4799, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 42.0, "FEMALE_18": 32.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 11.0, "ID": 695843.0, "IN_HOUSEHO": 81.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 2.0, "MEDIAN_AGE": 20.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.33, "POPULATION": 81.0, "RENTER_SIZ": 2.52, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 24.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50784300046276, 39.12865999987357, -84.50704300046286, 39.12995999987345], "geometry": {"coordinates": [[[-84.50784300046276, 39.12865999987357], [-84.50774300046278, 39.12995999987345], [-84.50704300046286, 39.12995999987345], [-84.50714300046283, 39.12875999987356], [-84.50784300046276, 39.12865999987357]]], "type": "Polygon"}, "id": "7", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 19.0, "AGE_21": 27.0, "AGE_25_34": 4.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.13, "BG": "390610033002", "BLACK": 4.0, "BLOCK": "390610033002012", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9932.4581, "F1_RACE": 31.0, "F2_RACES": 1.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 695860.0, "IN_HOUSEHO": 32.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.7, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 32.0, "RENTER_SIZ": 2.08, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50714300046283, 39.12865999987357, -84.50614300046294, 39.12995999987345], "geometry": {"coordinates": [[[-84.50704300046286, 39.12995999987345], [-84.50614300046294, 39.129859999873474], [-84.50624300046294, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50704300046286, 39.12995999987345]]], "type": "Polygon"}, "id": "8", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 41.0, "AGE_20_24": 11.0, "AGE_21": 31.0, "AGE_25_34": 9.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.05, "BG": "390610033002", "BLACK": 2.0, "BLOCK": "390610033002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10157.3434, "F1_RACE": 39.0, "F2_RACES": 2.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 5.0, "ID": 695878.0, "IN_HOUSEHO": 41.0, "MALE": 27.0, "MALE_18": 27.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 41.0, "RENTER_SIZ": 2.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 37.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50774300046278, 39.129859999873474, -84.50604300046297, 39.13125999987332], "geometry": {"coordinates": [[[-84.50774300046278, 39.12995999987345], [-84.5076430004628, 39.13125999987332], [-84.50684300046287, 39.13125999987332], [-84.50604300046297, 39.13115999987337], [-84.50604300046297, 39.130959999873355], [-84.50614300046294, 39.129859999873474], [-84.50704300046286, 39.12995999987345], [-84.50774300046278, 39.12995999987345]]], "type": "Polygon"}, "id": "9", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 12.0, "AGE_18": 72.0, "AGE_20_24": 26.0, "AGE_21": 58.0, "AGE_25_34": 12.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 1.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.07, "BG": "390610033002", "BLACK": 49.0, "BLOCK": "390610033002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11417.4899, "F1_RACE": 83.0, "F2_RACES": 6.0, "FEMALE": 56.0, "FEMALE_18": 43.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 1.0, "ID": 695895.0, "IN_HOUSEHO": 89.0, "MALE": 33.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.6, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 89.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 89.0, "RENTER_SIZ": 3.61, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.131259999873315, -84.50744300046281, 39.13255999987321], "geometry": {"coordinates": [[[-84.5084430004627, 39.131259999873315], [-84.50844300046272, 39.13255999987321], [-84.50744300046281, 39.13245999987321], [-84.5076430004628, 39.13125999987332], [-84.5084430004627, 39.131259999873315]]], "type": "Polygon"}, "id": "10", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 40.0, "AGE_20_24": 21.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.21, "BG": "390610033002", "BLACK": 20.0, "BLOCK": "390610033002002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10037.174, "F1_RACE": 41.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 6.0, "ID": 695916.0, "IN_HOUSEHO": 42.0, "MALE": 30.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 42.0, "RENTER_SIZ": 2.12, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 19.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5076430004628, 39.13125999987332, -84.5066430004629, 39.13245999987321], "geometry": {"coordinates": [[[-84.5076430004628, 39.13125999987332], [-84.50744300046281, 39.13245999987321], [-84.5066430004629, 39.13245999987321], [-84.50684300046287, 39.13125999987332], [-84.5076430004628, 39.13125999987332]]], "type": "Polygon"}, "id": "11", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 59.0, "AGE_20_24": 36.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 6.0, "AP_WHITE": 41.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.27, "BG": "390610033002", "BLACK": 19.0, "BLOCK": "390610033002001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19128.3583, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 23.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 695934.0, "IN_HOUSEHO": 68.0, "MALE": 45.0, "MALE_18": 41.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 65.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.5, "POPULATION": 68.0, "RENTER_SIZ": 2.32, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50744300046281, 39.13245999987321, -84.50654300046293, 39.133859999873096], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50654300046293, 39.13375999987311], [-84.5066430004629, 39.13245999987321], [-84.50744300046281, 39.13245999987321], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "12", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 80.0, "AGE_20_24": 46.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 49.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.91, "BG": "390610032002", "BLACK": 48.0, "BLOCK": "390610032002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24640.7769, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 28.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 8.0, "ID": 695951.0, "IN_HOUSEHO": 99.0, "MALE": 61.0, "MALE_18": 52.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 49.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 99.0, "RENTER_SIZ": 3.59, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 49.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50644300046291, 39.12775999987366, -84.50424300046318, 39.130959999873355], "geometry": {"coordinates": [[[-84.50614300046294, 39.129859999873474], [-84.50604300046297, 39.130959999873355], [-84.50514300046305, 39.130959999873355], [-84.50424300046318, 39.13085999987339], [-84.50454300046312, 39.12795999987365], [-84.50524300046303, 39.12775999987366], [-84.50644300046291, 39.12775999987366], [-84.50624300046294, 39.12865999987357], [-84.50614300046294, 39.129859999873474]]], "type": "Polygon"}, "id": "13", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 15.0, "AGE_15_19": 15.0, "AGE_18": 147.0, "AGE_20_24": 37.0, "AGE_21": 127.0, "AGE_25_34": 39.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 12.0, "AP_WHITE": 86.0, "AREA": 0.02, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.06, "AVG_HHSIZE": 2.29, "BG": "390610033001", "BLACK": 81.0, "BLOCK": "390610033001008", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8786.3934, "F1_RACE": 177.0, "F2_RACES": 7.0, "FEMALE": 80.0, "FEMALE_18": 61.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 18.0, "ID": 695969.0, "IN_HOUSEHO": 179.0, "MALE": 104.0, "MALE_18": 86.0, "MALE_65": 5.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 82.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 55.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 2.74, "POPULATION": 184.0, "RENTER_SIZ": 2.11, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 83.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50684300046287, 39.13115999987337, -84.505843000463, 39.13245999987322], "geometry": {"coordinates": [[[-84.50684300046287, 39.13125999987332], [-84.5066430004629, 39.13245999987321], [-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13175999987331], [-84.50604300046297, 39.13115999987337], [-84.50684300046287, 39.13125999987332]]], "type": "Polygon"}, "id": "14", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 695990.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5066430004629, 39.13245999987321, -84.50574300046303, 39.13375999987311], "geometry": {"coordinates": [[[-84.50654300046293, 39.13375999987311], [-84.50574300046303, 39.1336599998731], [-84.505843000463, 39.13315999987314], [-84.505843000463, 39.13245999987322], [-84.5066430004629, 39.13245999987321], [-84.50654300046293, 39.13375999987311]]], "type": "Polygon"}, "id": "15", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 30.0, "AGE_21": 49.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 33.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.3, "BG": "390610032002", "BLACK": 26.0, "BLOCK": "390610032002010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17261.0752, "F1_RACE": 62.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 696008.0, "IN_HOUSEHO": 62.0, "MALE": 38.0, "MALE_18": 30.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 62.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.86, "POPULATION": 62.0, "RENTER_SIZ": 2.45, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 33.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50604300046297, 39.130959999873355, -84.50504300046309, 39.13175999987331], "geometry": {"coordinates": [[[-84.50604300046297, 39.13115999987337], [-84.505843000463, 39.13175999987331], [-84.50504300046309, 39.131659999873285], [-84.50514300046305, 39.130959999873355], [-84.50604300046297, 39.130959999873355], [-84.50604300046297, 39.13115999987337]]], "type": "Polygon"}, "id": "16", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 27.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 7.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.82, "AVG_HHSIZE": 2.5, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16243.4072, "F1_RACE": 39.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 18.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 696027.0, "IN_HOUSEHO": 40.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 40.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.131659999873285, -84.50504300046309, 39.13245999987322], "geometry": {"coordinates": [[[-84.505843000463, 39.13175999987331], [-84.505843000463, 39.13245999987322], [-84.50504300046309, 39.13235999987324], [-84.50504300046309, 39.131659999873285], [-84.505843000463, 39.13175999987331]]], "type": "Polygon"}, "id": "17", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 11.0, "AGE_21": 19.0, "AGE_25_34": 11.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.53, "BG": "390610033001", "BLACK": 6.0, "BLOCK": "390610033001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11091.2573, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 696046.0, "IN_HOUSEHO": 23.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 23.0, "RENTER_SIZ": 1.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50514300046305, 39.13085999987339, -84.50424300046318, 39.131659999873285], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50424300046318, 39.13155999987331], [-84.50424300046318, 39.13085999987339], [-84.50514300046305, 39.130959999873355], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "18", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 36.0, "AGE_20_24": 10.0, "AGE_21": 33.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.96, "BG": "390610033001", "BLACK": 28.0, "BLOCK": "390610033001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20253.2817, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 20.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 5.0, "ID": 696063.0, "IN_HOUSEHO": 45.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.95, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13155999987331, -84.50414300046317, 39.13235999987324], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50504300046309, 39.13235999987324], [-84.50414300046317, 39.13225999987324], [-84.50424300046318, 39.13155999987331], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "19", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 54.0, "AGE_20_24": 22.0, "AGE_21": 43.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.22, "BG": "390610033001", "BLACK": 33.0, "BLOCK": "390610033001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 26104.6528, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 696081.0, "IN_HOUSEHO": 58.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 58.0, "RENTER_SIZ": 2.71, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13235999987324, -84.5049430004631, 39.13315999987314], "geometry": {"coordinates": [[[-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13315999987314], [-84.5049430004631, 39.13305999987318], [-84.50504300046309, 39.13235999987324], [-84.505843000463, 39.13245999987322]]], "type": "Polygon"}, "id": "20", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 3.0, "BG": "390610032002", "BLACK": 12.0, "BLOCK": "390610032002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5400.9967, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 696098.0, "IN_HOUSEHO": 12.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 12.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.12485999987395, -84.50334300046323, 39.126559999873784], "geometry": {"coordinates": [[[-84.5045430004631, 39.126559999873784], [-84.50334300046323, 39.12645999987379], [-84.5034430004632, 39.12485999987395], [-84.50474300046305, 39.12495999987392], [-84.5045430004631, 39.126559999873784]]], "type": "Polygon"}, "id": "21", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 112.0, "AGE_20_24": 33.0, "AGE_21": 96.0, "AGE_25_34": 27.0, "AGE_35_44": 18.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 57.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.39, "BG": "390610022004", "BLACK": 61.0, "BLOCK": "390610022004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16616.8953, "F1_RACE": 120.0, "F2_RACES": 4.0, "FEMALE": 44.0, "FEMALE_18": 35.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 16.0, "ID": 696116.0, "IN_HOUSEHO": 124.0, "MALE": 80.0, "MALE_18": 77.0, "MALE_65": 4.0, "MEDIAN_AGE": 26.3, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 80.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 124.0, "RENTER_SIZ": 1.33, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 54.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12485999987395, -84.5025430004633, 39.12645999987379], "geometry": {"coordinates": [[[-84.5034430004632, 39.12485999987395], [-84.50334300046323, 39.12645999987379], [-84.50254300046332, 39.126359999873785], [-84.5025430004633, 39.12485999987396], [-84.5034430004632, 39.12485999987395]]], "type": "Polygon"}, "id": "22", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 1.0, "AGE_35_44": 15.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 7.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.77, "AVG_HHSIZE": 2.04, "BG": "390610022004", "BLACK": 52.0, "BLOCK": "390610022004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10841.8176, "F1_RACE": 52.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 23.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 13.0, "ID": 696133.0, "IN_HOUSEHO": 53.0, "MALE": 23.0, "MALE_18": 17.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.88, "POPULATION": 53.0, "RENTER_SIZ": 1.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50334300046323, 39.126359999873785, -84.5017430004634, 39.12735999987369], "geometry": {"coordinates": [[[-84.50334300046323, 39.12645999987379], [-84.50324300046324, 39.12735999987369], [-84.5018430004634, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.50254300046332, 39.126359999873785], [-84.50334300046323, 39.12645999987379]]], "type": "Polygon"}, "id": "23", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 216.0, "AGE_20_24": 46.0, "AGE_21": 198.0, "AGE_25_34": 53.0, "AGE_35_44": 36.0, "AGE_45_54": 34.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 31.0, "AGE_65": 28.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 11.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 88.0, "AREA": 0.01, "ASIAN": 11.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.26, "BG": "390610033001", "BLACK": 124.0, "BLOCK": "390610033001013", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 43709.5862, "F1_RACE": 218.0, "F2_RACES": 7.0, "FEMALE": 118.0, "FEMALE_18": 112.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 158.0, "HOUSEHOLDS": 178.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 178.0, "HU_VACANT": 15.0, "ID": 696151.0, "IN_HOUSEHO": 225.0, "MALE": 107.0, "MALE_18": 104.0, "MALE_65": 14.0, "MEDIAN_AGE": 34.2, "MSA": "1640", "NH_WHITE": 81.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 178.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 225.0, "RENTER_SIZ": 1.26, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 82.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50254300046332, 39.12475999987396, -84.50174300046339, 39.126359999873806], "geometry": {"coordinates": [[[-84.5025430004633, 39.12485999987396], [-84.50254300046332, 39.126359999873785], [-84.5017430004634, 39.126359999873806], [-84.50194300046337, 39.125159999873944], [-84.50174300046339, 39.12475999987396], [-84.5025430004633, 39.12485999987396]]], "type": "Polygon"}, "id": "24", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610022001", "BLACK": 0.0, "BLOCK": "390610022001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 696169.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51354400046225, 39.14475999987204, -84.51184400046245, 39.14605999987192], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51184400046245, 39.14585999987196], [-84.51194400046242, 39.14475999987204], [-84.51224400046239, 39.14475999987204], [-84.5132440004623, 39.145059999872046], [-84.51354400046225, 39.145259999872], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "25", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 45.0, "AGE_25_34": 5.0, "AGE_35_44": 15.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.91, "AVG_HHSIZE": 1.93, "BG": "390610069003", "BLACK": 53.0, "BLOCK": "390610069003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9139.2801, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 2.0, "ID": 687545.0, "IN_HOUSEHO": 56.0, "MALE": 28.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 43.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.77, "POPULATION": 56.0, "RENTER_SIZ": 2.06, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51254400046238, 39.14205999987235, -84.50534300046313, 39.14955999987163], "geometry": {"coordinates": [[[-84.51254400046238, 39.1475599998718], [-84.51194400046245, 39.14875999987168], [-84.51114400046254, 39.14955999987163], [-84.5106440004626, 39.14925999987166], [-84.51034400046261, 39.14905999987166], [-84.5096440004627, 39.148759999871686], [-84.50884400046277, 39.14805999987176], [-84.50834400046283, 39.147259999871835], [-84.50714400046296, 39.14655999987191], [-84.50644400046303, 39.146459999871915], [-84.50544300046313, 39.14645999987191], [-84.50534300046313, 39.14555999987203], [-84.5055430004631, 39.143859999872156], [-84.50564300046308, 39.142959999872254], [-84.50574300046307, 39.14205999987235], [-84.5092440004627, 39.142259999872316], [-84.50984400046265, 39.14275999987224], [-84.5101440004626, 39.14305999987221], [-84.51194400046242, 39.14475999987204], [-84.51184400046245, 39.14585999987196], [-84.51164500046248, 39.14754799987178], [-84.51164400046247, 39.1475599998718], [-84.51254400046238, 39.1475599998718]]], "type": "Polygon"}, "id": "26", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 21.0, "AGE_18": 152.0, "AGE_20_24": 12.0, "AGE_21": 148.0, "AGE_25_34": 28.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 11.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 35.0, "AGE_65": 32.0, "AGE_65_74": 18.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 207.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.12, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.61, "BG": "390610069003", "BLACK": 207.0, "BLOCK": "390610069003000", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1820.1248, "F1_RACE": 222.0, "F2_RACES": 0.0, "FEMALE": 122.0, "FEMALE_18": 91.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 85.0, "HSNG_UNITS": 109.0, "HU_OCCUPIE": 85.0, "HU_VACANT": 24.0, "ID": 687585.0, "IN_HOUSEHO": 222.0, "MALE": 100.0, "MALE_18": 61.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 221.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.35, "POPULATION": 222.0, "RENTER_SIZ": 2.88, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51334400046228, 39.14585999987196, -84.51164400046247, 39.1475599998718], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51264400046237, 39.14735999987182], [-84.51254400046238, 39.1475599998718], [-84.51164400046247, 39.1475599998718], [-84.51164500046248, 39.14754799987178], [-84.51184400046245, 39.14585999987196], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "27", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 11.0, "AGE_15_19": 15.0, "AGE_18": 64.0, "AGE_20_24": 6.0, "AGE_21": 55.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 15.0, "AGE_55_59": 4.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.75, "BG": "390610069003", "BLACK": 94.0, "BLOCK": "390610069003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13605.8656, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 56.0, "FEMALE_18": 39.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 5.0, "ID": 687621.0, "IN_HOUSEHO": 99.0, "MALE": 43.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.04, "POPULATION": 99.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51114400046254, 39.148759999871686, -84.5088440004628, 39.151459999871456], "geometry": {"coordinates": [[[-84.5106440004626, 39.14925999987166], [-84.51114400046254, 39.14955999987163], [-84.51058400046261, 39.15017099987156], [-84.51004400046266, 39.150759999871525], [-84.50924400046277, 39.151459999871456], [-84.5088440004628, 39.15095999987151], [-84.50924400046276, 39.150759999871525], [-84.5096440004627, 39.148759999871686], [-84.51034400046261, 39.14905999987166], [-84.5106440004626, 39.14925999987166]]], "type": "Polygon"}, "id": "28", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 7.0, "AGE_55_59": 5.0, "AGE_5_9": 10.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.13, "BG": "390610069004", "BLACK": 70.0, "BLOCK": "390610069004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7451.3647, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 25.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 687678.0, "IN_HOUSEHO": 72.0, "MALE": 32.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 72.0, "RENTER_SIZ": 4.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.53054400046031, 39.129559999873415, -84.52194400046125, 39.13445999987294], "geometry": {"coordinates": [[[-84.52954400046043, 39.13215999987317], [-84.52784400046063, 39.13295999987308], [-84.52654400046077, 39.13375999987302], [-84.52644400046078, 39.133959999872985], [-84.5264440004608, 39.13445999987294], [-84.524462000461, 39.13436999987297], [-84.52424400046101, 39.13435999987296], [-84.52284400046116, 39.13435999987296], [-84.52294400046114, 39.13295999987311], [-84.52301200046112, 39.1321479998732], [-84.52304400046114, 39.131759999873225], [-84.52194400046125, 39.13165999987322], [-84.52234400046119, 39.129559999873415], [-84.52374400046105, 39.129659999873425], [-84.52444400046097, 39.129659999873425], [-84.52534400046086, 39.12975999987339], [-84.5259440004608, 39.12975999987339], [-84.52674400046072, 39.12985999987338], [-84.5269440004607, 39.12985999987338], [-84.5279120004606, 39.129940999873355], [-84.53054400046031, 39.130159999873335], [-84.53034400046035, 39.13085999987328], [-84.5279440004606, 39.1307599998733], [-84.52774400046063, 39.132059999873164], [-84.52794400046061, 39.13195999987317], [-84.52954400046043, 39.13215999987317]]], "type": "Polygon"}, "id": "29", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 61.0, "AGE_18": 624.0, "AGE_20_24": 272.0, "AGE_21": 520.0, "AGE_25_34": 128.0, "AGE_35_44": 59.0, "AGE_45_54": 58.0, "AGE_55_59": 12.0, "AGE_5_9": 14.0, "AGE_60_64": 11.0, "AGE_62": 52.0, "AGE_65": 44.0, "AGE_65_74": 23.0, "AGE_75_84": 14.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 25.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 590.0, "AREA": 0.1, "ASIAN": 23.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.76, "BG": "390610029003", "BLACK": 69.0, "BLOCK": "390610029003000", "BURGLARY": 10, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7170.8735, "F1_RACE": 666.0, "F2_RACES": 22.0, "FEMALE": 284.0, "FEMALE_18": 250.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 119.0, "GROUP_QUAR": 119.0, "HAWAIIAN": 0.0, "HH_FAMILY": 73.0, "HH_NONFAMI": 250.0, "HOUSEHOLDS": 323.0, "HSNG_UNITS": 358.0, "HU_OCCUPIE": 323.0, "HU_VACANT": 35.0, "ID": 677316.0, "IN_HOUSEHO": 569.0, "MALE": 404.0, "MALE_18": 374.0, "MALE_65": 16.0, "MEDIAN_AGE": 24.1, "MSA": "1640", "NH_WHITE": 570.0, "NOT_HISPAN": 684.0, "OCCHU_OWNE": 74.0, "OCCHU_RENT": 249.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.93, "POPULATION": 688.0, "RENTER_SIZ": 1.71, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 572.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12385999987407, -84.49054300046461, 39.12485999987399], "geometry": {"coordinates": [[[-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12485999987399], [-84.49054300046461, 39.12475999987402], [-84.49094300046455, 39.12395999987406], [-84.49114300046453, 39.12385999987407], [-84.49114300046453, 39.12445999987403]]], "type": "Polygon"}, "id": "30", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 750.053, "F1_RACE": 0.0, "F2_RACES": 1.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 673099.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48994300046463, 39.11995999987445, -84.48814300046483, 39.121959999874264], "geometry": {"coordinates": [[[-84.48984300046465, 39.12095999987435], [-84.48974300046466, 39.121959999874264], [-84.48814300046483, 39.121859999874275], [-84.48814300046483, 39.1216599998743], [-84.4883430004648, 39.119959999874474], [-84.48994300046463, 39.11995999987445], [-84.48984300046465, 39.12095999987435]]], "type": "Polygon"}, "id": "31", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 105.0, "AGE_20_24": 7.0, "AGE_21": 101.0, "AGE_25_34": 36.0, "AGE_35_44": 23.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 5.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 67.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 62.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.86, "BG": "390610019001", "BLACK": 67.0, "BLOCK": "390610019001005", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11143.0829, "F1_RACE": 128.0, "F2_RACES": 2.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 14.0, "ID": 673118.0, "IN_HOUSEHO": 130.0, "MALE": 67.0, "MALE_18": 57.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 60.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.88, "POPULATION": 130.0, "RENTER_SIZ": 1.85, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 60.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49134300046451, 39.12315999987414, -84.48914300046475, 39.12495999987399], "geometry": {"coordinates": [[[-84.48964300046468, 39.12315999987414], [-84.49134300046451, 39.12325999987412], [-84.49094300046455, 39.12395999987406], [-84.49054300046461, 39.12475999987402], [-84.49044300046461, 39.12495999987399], [-84.48914300046475, 39.124859999874], [-84.48914300046475, 39.123859999874085], [-84.48964300046468, 39.12315999987414]]], "type": "Polygon"}, "id": "32", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 63.0, "AGE_20_24": 2.0, "AGE_21": 63.0, "AGE_25_34": 6.0, "AGE_35_44": 15.0, "AGE_45_54": 20.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 61.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.33, "BG": "390610019001", "BLACK": 61.0, "BLOCK": "390610019001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6453.8469, "F1_RACE": 67.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 7.0, "ID": 673138.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 37.0, "MALE_65": 8.0, "MEDIAN_AGE": 48.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 68.0, "RENTER_SIZ": 1.17, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48974300046466, 39.121859999874275, -84.48784300046489, 39.124859999874026], "geometry": {"coordinates": [[[-84.48974300046466, 39.121959999874264], [-84.48964300046468, 39.12315999987414], [-84.48914300046475, 39.123859999874085], [-84.48914300046475, 39.124859999874], [-84.48784300046489, 39.124859999874026], [-84.48784300046489, 39.12445999987403], [-84.48814300046483, 39.121859999874275], [-84.48974300046466, 39.121959999874264]]], "type": "Polygon"}, "id": "33", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 13.0, "AGE_15_19": 0.0, "AGE_18": 166.0, "AGE_20_24": 13.0, "AGE_21": 162.0, "AGE_25_34": 39.0, "AGE_35_44": 39.0, "AGE_45_54": 37.0, "AGE_55_59": 10.0, "AGE_5_9": 5.0, "AGE_60_64": 11.0, "AGE_62": 24.0, "AGE_65": 17.0, "AGE_65_74": 11.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 124.0, "AP_HAWAIIA": 9.0, "AP_HISPANI": 1.0, "AP_OTHER": 8.0, "AP_WHITE": 57.0, "AREA": 0.02, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.52, "BG": "390610019001", "BLACK": 122.0, "BLOCK": "390610019001002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11986.7841, "F1_RACE": 182.0, "F2_RACES": 10.0, "FEMALE": 90.0, "FEMALE_18": 78.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 1.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 99.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 9.0, "ID": 673157.0, "IN_HOUSEHO": 186.0, "MALE": 102.0, "MALE_18": 88.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 99.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.04, "POPULATION": 192.0, "RENTER_SIZ": 1.4, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 55.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11755999987469, -84.48694300046495, 39.119959999874474], "geometry": {"coordinates": [[[-84.48804300046481, 39.11755999987469], [-84.48794300046484, 39.11825999987461], [-84.48784300046485, 39.118759999874584], [-84.4883430004648, 39.119959999874474], [-84.48694300046495, 39.11915999987453], [-84.48744300046488, 39.11825999987463], [-84.48804300046481, 39.11755999987469]]], "type": "Polygon"}, "id": "34", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 673193.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11915999987453, -84.48654300046502, 39.1216599998743], "geometry": {"coordinates": [[[-84.4883430004648, 39.119959999874474], [-84.48814300046483, 39.1216599998743], [-84.48654300046502, 39.1215599998743], [-84.486643000465, 39.11975999987448], [-84.48694300046495, 39.11915999987453], [-84.4883430004648, 39.119959999874474]]], "type": "Polygon"}, "id": "35", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 217.0, "AGE_20_24": 35.0, "AGE_21": 208.0, "AGE_25_34": 72.0, "AGE_35_44": 29.0, "AGE_45_54": 21.0, "AGE_55_59": 9.0, "AGE_5_9": 2.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 39.0, "AGE_65_74": 9.0, "AGE_75_84": 15.0, "AGE_85": 15.0, "AMINDIAN": 2.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 2.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 3.0, "AP_WHITE": 163.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.48, "BG": "390610020002", "BLACK": 59.0, "BLOCK": "390610020002006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18000.3183, "F1_RACE": 225.0, "F2_RACES": 5.0, "FEMALE": 119.0, "FEMALE_18": 111.0, "FEMALE_65": 24.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 29.0, "HH_NONFAMI": 101.0, "HOUSEHOLDS": 130.0, "HSNG_UNITS": 140.0, "HU_OCCUPIE": 130.0, "HU_VACANT": 10.0, "ID": 673212.0, "IN_HOUSEHO": 192.0, "MALE": 111.0, "MALE_18": 106.0, "MALE_65": 15.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 160.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 32.0, "OCCHU_RENT": 98.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.84, "POPULATION": 230.0, "RENTER_SIZ": 1.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 160.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48694300046495, 39.118459999874595, -84.48474300046519, 39.120659999874405], "geometry": {"coordinates": [[[-84.48694300046495, 39.11915999987453], [-84.486643000465, 39.11975999987448], [-84.48564300046509, 39.11975999987448], [-84.48544300046511, 39.11985999987447], [-84.48514300046514, 39.120659999874405], [-84.48474300046519, 39.11995999987449], [-84.48474300046519, 39.119159999874555], [-84.48534300046512, 39.11865999987457], [-84.48555500046508, 39.118617999874594], [-84.486343000465, 39.118459999874595], [-84.48694300046495, 39.11915999987453]]], "type": "Polygon"}, "id": "36", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 219.0, "AGE_20_24": 6.0, "AGE_21": 218.0, "AGE_25_34": 15.0, "AGE_35_44": 15.0, "AGE_45_54": 37.0, "AGE_55_59": 15.0, "AGE_5_9": 1.0, "AGE_60_64": 13.0, "AGE_62": 125.0, "AGE_65": 118.0, "AGE_65_74": 46.0, "AGE_75_84": 58.0, "AGE_85": 14.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 197.0, "AREA": 0.01, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.27, "BG": "390610020002", "BLACK": 18.0, "BLOCK": "390610020002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23114.5895, "F1_RACE": 220.0, "F2_RACES": 0.0, "FEMALE": 118.0, "FEMALE_18": 118.0, "FEMALE_65": 68.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 135.0, "HOUSEHOLDS": 173.0, "HSNG_UNITS": 188.0, "HU_OCCUPIE": 173.0, "HU_VACANT": 15.0, "ID": 673231.0, "IN_HOUSEHO": 220.0, "MALE": 102.0, "MALE_18": 101.0, "MALE_65": 50.0, "MEDIAN_AGE": 68.3, "MSA": "1640", "NH_WHITE": 197.0, "NOT_HISPAN": 220.0, "OCCHU_OWNE": 24.0, "OCCHU_RENT": 149.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.46, "POPULATION": 220.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 197.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.486643000465, 39.11975999987448, -84.48514300046514, 39.12225999987424], "geometry": {"coordinates": [[[-84.48654300046502, 39.1215599998743], [-84.48644300046502, 39.12225999987424], [-84.48614300046505, 39.12215999987426], [-84.48514300046514, 39.121059999874355], [-84.48514300046514, 39.120659999874405], [-84.48544300046511, 39.11985999987447], [-84.48564300046509, 39.11975999987448], [-84.486643000465, 39.11975999987448], [-84.48654300046502, 39.1215599998743]]], "type": "Polygon"}, "id": "37", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 99.0, "AGE_20_24": 16.0, "AGE_21": 93.0, "AGE_25_34": 43.0, "AGE_35_44": 13.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 68.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.5, "BG": "390610020002", "BLACK": 35.0, "BLOCK": "390610020002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10681.4877, "F1_RACE": 104.0, "F2_RACES": 4.0, "FEMALE": 52.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 86.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 14.0, "ID": 673252.0, "IN_HOUSEHO": 108.0, "MALE": 56.0, "MALE_18": 52.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 66.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 108.0, "RENTER_SIZ": 1.37, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 66.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48814300046483, 39.1215599998743, -84.48614300046508, 39.12445999987403], "geometry": {"coordinates": [[[-84.48814300046483, 39.121859999874275], [-84.48784300046489, 39.12445999987403], [-84.48614300046508, 39.12435999987406], [-84.48644300046502, 39.12225999987424], [-84.48654300046502, 39.1215599998743], [-84.48814300046483, 39.1216599998743], [-84.48814300046483, 39.121859999874275]]], "type": "Polygon"}, "id": "38", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 138.0, "AGE_20_24": 13.0, "AGE_21": 130.0, "AGE_25_34": 45.0, "AGE_35_44": 28.0, "AGE_45_54": 16.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 4.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 65.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 4.0, "AP_OTHER": 2.0, "AP_WHITE": 84.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.52, "BG": "390610020002", "BLACK": 58.0, "BLOCK": "390610020002002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8645.0376, "F1_RACE": 142.0, "F2_RACES": 8.0, "FEMALE": 68.0, "FEMALE_18": 63.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 30.0, "GROUP_QUAR": 30.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 85.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 6.0, "ID": 673272.0, "IN_HOUSEHO": 120.0, "MALE": 82.0, "MALE_18": 75.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 78.0, "NOT_HISPAN": 146.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.85, "POPULATION": 150.0, "RENTER_SIZ": 1.45, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 78.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48784300046489, 39.12435999987406, -84.48604300046509, 39.125459999873954], "geometry": {"coordinates": [[[-84.48784300046489, 39.12445999987403], [-84.48784300046489, 39.124859999874026], [-84.4877430004649, 39.125459999873954], [-84.48604300046509, 39.125359999873965], [-84.48614300046508, 39.12435999987406], [-84.48784300046489, 39.12445999987403]]], "type": "Polygon"}, "id": "39", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 60.0, "AGE_20_24": 6.0, "AGE_21": 56.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 8.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 6.0, "AP_BLACK": 49.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.57, "BG": "390610020002", "BLACK": 49.0, "BLOCK": "390610020002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11237.8312, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 13.0, "ID": 673292.0, "IN_HOUSEHO": 72.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 5.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 72.0, "RENTER_SIZ": 1.45, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 15.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48614300046505, 39.121059999874355, -84.48484300046519, 39.12215999987427], "geometry": {"coordinates": [[[-84.48514300046514, 39.121059999874355], [-84.48614300046505, 39.12215999987426], [-84.48534300046515, 39.12215999987427], [-84.48484300046519, 39.12205999987428], [-84.48514300046514, 39.121059999874355]]], "type": "Polygon"}, "id": "40", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 7.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 3.0, "BLOCK": "390610020002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5361.8973, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 673311.0, "IN_HOUSEHO": 14.0, "MALE": 8.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 14.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48644300046502, 39.12215999987426, -84.48504300046518, 39.12435999987406], "geometry": {"coordinates": [[[-84.48614300046505, 39.12215999987426], [-84.48644300046502, 39.12225999987424], [-84.48614300046508, 39.12435999987406], [-84.48504300046518, 39.12425999987408], [-84.48534300046515, 39.12215999987427], [-84.48614300046505, 39.12215999987426]]], "type": "Polygon"}, "id": "41", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 126.0, "AGE_20_24": 14.0, "AGE_21": 124.0, "AGE_25_34": 47.0, "AGE_35_44": 22.0, "AGE_45_54": 22.0, "AGE_55_59": 6.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 111.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 24.0, "BLOCK": "390610020002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15769.7309, "F1_RACE": 131.0, "F2_RACES": 8.0, "FEMALE": 75.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 7.0, "ID": 673328.0, "IN_HOUSEHO": 139.0, "MALE": 64.0, "MALE_18": 59.0, "MALE_65": 4.0, "MEDIAN_AGE": 32.6, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 138.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 89.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 139.0, "RENTER_SIZ": 1.56, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 105.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48614300046508, 39.12425999987408, -84.48504300046518, 39.125359999873965], "geometry": {"coordinates": [[[-84.48604300046509, 39.125359999873965], [-84.48504300046518, 39.12525999987396], [-84.48504300046518, 39.12425999987408], [-84.48614300046508, 39.12435999987406], [-84.48604300046509, 39.125359999873965]]], "type": "Polygon"}, "id": "42", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 65.0, "AGE_20_24": 6.0, "AGE_21": 63.0, "AGE_25_34": 27.0, "AGE_35_44": 16.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 1.81, "BG": "390610020002", "BLACK": 52.0, "BLOCK": "390610020002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21499.33, "F1_RACE": 83.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 44.0, "FEMALE_65": 0.0, "GQ_INSTITU": 19.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 28.0, "ID": 673347.0, "IN_HOUSEHO": 65.0, "MALE": 33.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 84.0, "RENTER_SIZ": 1.96, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 31.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48534300046515, 39.12205999987428, -84.48434300046526, 39.12525999987396], "geometry": {"coordinates": [[[-84.48504300046518, 39.12425999987408], [-84.48504300046518, 39.12525999987396], [-84.48434300046526, 39.125159999874], [-84.48484300046519, 39.12205999987428], [-84.48534300046515, 39.12215999987427], [-84.48504300046518, 39.12425999987408]]], "type": "Polygon"}, "id": "43", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610020001", "BLACK": 0.0, "BLOCK": "390610020001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 771.4783, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 673364.0, "IN_HOUSEHO": 5.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 5.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 5.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.12145999987434, -84.48254300046544, 39.12205999987428], "geometry": {"coordinates": [[[-84.48374300046531, 39.12175999987431], [-84.48384300046531, 39.12205999987428], [-84.48254300046544, 39.121959999874285], [-84.48264300046543, 39.12145999987434], [-84.48374300046531, 39.12175999987431]]], "type": "Polygon"}, "id": "44", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 4.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.38, "BG": "390610020001", "BLACK": 3.0, "BLOCK": "390610020001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6187.701, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 673383.0, "IN_HOUSEHO": 11.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 58.3, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 11.0, "RENTER_SIZ": 1.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 8.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.121959999874285, -84.48224300046549, 39.123859999874114], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48224300046549, 39.123659999874135], [-84.48254300046544, 39.121959999874285], [-84.48384300046531, 39.12205999987428], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "45", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 47.0, "AGE_20_24": 8.0, "AGE_21": 46.0, "AGE_25_34": 15.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.61, "BG": "390610020001", "BLACK": 14.0, "BLOCK": "390610020001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6509.2387, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 673399.0, "IN_HOUSEHO": 45.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 4.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 54.0, "RENTER_SIZ": 1.39, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 36.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48484300046519, 39.12205999987428, -84.48324300046541, 39.125159999874015], "geometry": {"coordinates": [[[-84.48484300046519, 39.12205999987428], [-84.48434300046526, 39.125159999874], [-84.48324300046541, 39.125159999874015], [-84.48344300046536, 39.123859999874114], [-84.48384300046531, 39.12205999987428], [-84.48484300046519, 39.12205999987428]]], "type": "Polygon"}, "id": "46", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 75.0, "AGE_20_24": 9.0, "AGE_21": 67.0, "AGE_25_34": 31.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 56.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.13, "AVG_HHSIZE": 1.26, "BG": "390610020001", "BLACK": 20.0, "BLOCK": "390610020001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6234.2304, "F1_RACE": 75.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 28.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 11.0, "ID": 673417.0, "IN_HOUSEHO": 77.0, "MALE": 47.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.4, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 76.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 77.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 54.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48344300046536, 39.123659999874135, -84.48194300046555, 39.12515999987403], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48324300046541, 39.125159999874015], [-84.48294300046541, 39.12515999987403], [-84.48194300046555, 39.12495999987402], [-84.48224300046549, 39.123659999874135], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "47", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 4.0, "AGE_21": 21.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610020001", "BLACK": 8.0, "BLOCK": "390610020001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4117.5953, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 14.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 673436.0, "IN_HOUSEHO": 26.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 26.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 18.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.486343000465, 39.11735999987473, -84.47834300046591, 39.124659999874055], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.47994300046574, 39.12345999987416], [-84.47964300046577, 39.124659999874055], [-84.47834300046591, 39.12445999987407], [-84.47854300046589, 39.12185999987432], [-84.47864300046585, 39.120659999874455], [-84.48484300046516, 39.11735999987473], [-84.48574300046508, 39.118159999874635], [-84.486343000465, 39.118459999874595], [-84.48555500046508, 39.118617999874594], [-84.48534300046512, 39.11865999987457], [-84.48474300046519, 39.119159999874555], [-84.48474300046519, 39.11995999987449], [-84.48514300046514, 39.120659999874405], [-84.48514300046514, 39.121059999874355], [-84.48484300046519, 39.12205999987428], [-84.48384300046531, 39.12205999987428], [-84.48374300046531, 39.12175999987431], [-84.48264300046543, 39.12145999987434], [-84.48254300046544, 39.121959999874285], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "48", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 10.0, "AGE_18": 378.0, "AGE_20_24": 31.0, "AGE_21": 369.0, "AGE_25_34": 110.0, "AGE_35_44": 53.0, "AGE_45_54": 59.0, "AGE_55_59": 30.0, "AGE_5_9": 5.0, "AGE_60_64": 18.0, "AGE_62": 86.0, "AGE_65": 75.0, "AGE_65_74": 52.0, "AGE_75_84": 21.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 7.0, "AP_WHITE": 316.0, "AREA": 0.1, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 73.0, "BLOCK": "390610020001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4075.5769, "F1_RACE": 400.0, "F2_RACES": 8.0, "FEMALE": 226.0, "FEMALE_18": 209.0, "FEMALE_65": 50.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 34.0, "GROUP_QUAR": 34.0, "HAWAIIAN": 0.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 155.0, "HOUSEHOLDS": 238.0, "HSNG_UNITS": 282.0, "HU_OCCUPIE": 238.0, "HU_VACANT": 44.0, "ID": 673454.0, "IN_HOUSEHO": 374.0, "MALE": 182.0, "MALE_18": 169.0, "MALE_65": 25.0, "MEDIAN_AGE": 41.7, "MSA": "1640", "NH_WHITE": 304.0, "NOT_HISPAN": 399.0, "OCCHU_OWNE": 90.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 1.76, "POPULATION": 408.0, "RENTER_SIZ": 1.46, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 310.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48224300046549, 39.12345999987416, -84.47964300046577, 39.12495999987402], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.48194300046555, 39.12495999987402], [-84.48154300046558, 39.12495999987402], [-84.4803430004657, 39.124859999874054], [-84.47964300046577, 39.124659999874055], [-84.47994300046574, 39.12345999987416], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "49", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 37.0, "AGE_20_24": 0.0, "AGE_21": 37.0, "AGE_25_34": 5.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 20.0, "AGE_65": 20.0, "AGE_65_74": 6.0, "AGE_75_84": 6.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 6.0, "BLOCK": "390610020001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3315.2547, "F1_RACE": 38.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 28.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 16.0, "GROUP_QUAR": 16.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 673484.0, "IN_HOUSEHO": 22.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 68.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 38.0, "RENTER_SIZ": 1.57, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 32.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.12675999987384, -84.48264300046547, 39.128859999873676], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48334300046541, 39.12855999987368], [-84.48264300046549, 39.128859999873676], [-84.48264300046547, 39.12805999987371], [-84.48284300046545, 39.12685999987385], [-84.48434300046527, 39.12675999987384], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "50", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 9.0, "AGE_18": 123.0, "AGE_20_24": 9.0, "AGE_21": 118.0, "AGE_25_34": 19.0, "AGE_35_44": 36.0, "AGE_45_54": 18.0, "AGE_55_59": 10.0, "AGE_5_9": 17.0, "AGE_60_64": 1.0, "AGE_62": 28.0, "AGE_65": 27.0, "AGE_65_74": 18.0, "AGE_75_84": 4.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 5.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 1.9, "BG": "390610037001", "BLACK": 154.0, "BLOCK": "390610037001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19383.9789, "F1_RACE": 167.0, "F2_RACES": 6.0, "FEMALE": 81.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 60.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 5.0, "ID": 709180.0, "IN_HOUSEHO": 173.0, "MALE": 92.0, "MALE_18": 63.0, "MALE_65": 15.0, "MEDIAN_AGE": 36.9, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 167.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.33, "POPULATION": 173.0, "RENTER_SIZ": 1.8, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4842430004653, 39.12765999987374, -84.48334300046541, 39.12855999987368], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48414300046532, 39.128459999873684], [-84.48334300046541, 39.12855999987368], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "51", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709200.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48414300046532, 39.128459999873684, -84.48334300046541, 39.129459999873596], "geometry": {"coordinates": [[[-84.48414300046532, 39.129259999873604], [-84.48404300046533, 39.129459999873596], [-84.48334300046541, 39.12935999987361], [-84.48334300046541, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.48414300046532, 39.129259999873604]]], "type": "Polygon"}, "id": "52", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 377.6733, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 709217.0, "IN_HOUSEHO": 1.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 51.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48334300046541, 39.12855999987368, -84.4825430004655, 39.12935999987361], "geometry": {"coordinates": [[[-84.48334300046541, 39.12855999987368], [-84.48334300046541, 39.12935999987361], [-84.48304300046544, 39.12935999987361], [-84.4825430004655, 39.12935999987361], [-84.48264300046549, 39.128859999873676], [-84.48334300046541, 39.12855999987368]]], "type": "Polygon"}, "id": "53", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 2.0, "BLOCK": "390610037003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1125.1529, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 709235.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 1.0, "MEDIAN_AGE": 83.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48154300046558, 39.124859999874054, -84.4786430004659, 39.12685999987386], "geometry": {"coordinates": [[[-84.48154300046558, 39.12495999987402], [-84.48134300046561, 39.12685999987385], [-84.47924300046583, 39.12675999987387], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.126059999873924], [-84.4803430004657, 39.124859999874054], [-84.48154300046558, 39.12495999987402]]], "type": "Polygon"}, "id": "54", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709254.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48284300046545, 39.12675999987387, -84.47804300046597, 39.12805999987371], "geometry": {"coordinates": [[[-84.48284300046545, 39.12685999987385], [-84.48264300046547, 39.12805999987371], [-84.47804300046597, 39.12745999987382], [-84.47824300046594, 39.12725999987383], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.12675999987387], [-84.48134300046561, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48284300046545, 39.12685999987385]]], "type": "Polygon"}, "id": "55", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 16.0, "AGE_15_19": 8.0, "AGE_18": 143.0, "AGE_20_24": 14.0, "AGE_21": 137.0, "AGE_25_34": 28.0, "AGE_35_44": 35.0, "AGE_45_54": 30.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 4.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 14.0, "AGE_75_84": 5.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 35.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.59, "AVG_HHSIZE": 2.35, "BG": "390610037001", "BLACK": 155.0, "BLOCK": "390610037001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12457.7064, "F1_RACE": 189.0, "F2_RACES": 2.0, "FEMALE": 88.0, "FEMALE_18": 60.0, "FEMALE_65": 16.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 65.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 65.0, "HU_VACANT": 18.0, "ID": 709272.0, "IN_HOUSEHO": 153.0, "MALE": 103.0, "MALE_18": 83.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.1, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.85, "POPULATION": 191.0, "RENTER_SIZ": 2.03, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 33.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48404300046533, 39.12935999987361, -84.48294300046545, 39.13065999987348], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48294300046545, 39.13055999987351], [-84.48304300046544, 39.12935999987361], [-84.48334300046541, 39.12935999987361], [-84.48404300046533, 39.129459999873596], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "56", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 1.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 1.8, "BG": "390610037003", "BLACK": 25.0, "BLOCK": "390610037003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5951.8877, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 709292.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 27.0, "RENTER_SIZ": 1.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48394300046536, 39.13055999987351, -84.48184300046557, 39.13178999987337], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48384300046537, 39.131359999873425], [-84.48384300046537, 39.131619999873394], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131759999873395], [-84.48375200046537, 39.13178999987337], [-84.48288500046546, 39.13137799987341], [-84.48274500046548, 39.13130799987342], [-84.48237000046552, 39.131118999873436], [-84.48216300046555, 39.130962999873454], [-84.48184300046557, 39.13065999987349], [-84.48214300046554, 39.13065999987349], [-84.48294300046545, 39.13055999987351], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "57", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 25.0, "AGE_20_24": 5.0, "AGE_21": 23.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.53, "BG": "390610037003", "BLACK": 47.0, "BLOCK": "390610037003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8862.921, "F1_RACE": 48.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 3.0, "ID": 709311.0, "IN_HOUSEHO": 48.0, "MALE": 24.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 48.0, "RENTER_SIZ": 2.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.128859999873676, -84.48174300046557, 39.12935999987361], "geometry": {"coordinates": [[[-84.48264300046549, 39.128859999873676], [-84.4825430004655, 39.12935999987361], [-84.48204300046554, 39.129259999873646], [-84.48174300046557, 39.129159999873636], [-84.48264300046549, 39.128859999873676]]], "type": "Polygon"}, "id": "58", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709334.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48375200046537, 39.13064399987349, -84.4816430004656, 39.13195999987335], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.48216300046555, 39.130962999873454], [-84.48237000046552, 39.131118999873436], [-84.48274500046548, 39.13130799987342], [-84.48288500046546, 39.13137799987341], [-84.48375200046537, 39.13178999987337], [-84.48324300046544, 39.13195999987335], [-84.4816430004656, 39.13185999987338], [-84.48174300046558, 39.13125999987342], [-84.48181600046559, 39.13082199987347], [-84.48174000046559, 39.130719999873506], [-84.4816930004656, 39.13064399987349], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "59", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 10.0, "AGE_18": 33.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 58.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.64, "BG": "390610037003", "BLACK": 58.0, "BLOCK": "390610037003000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12239.7822, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 19.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 9.0, "ID": 709351.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 58.0, "RENTER_SIZ": 2.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48304300046544, 39.129159999873636, -84.4797430004658, 39.13065999987349], "geometry": {"coordinates": [[[-84.48304300046544, 39.12935999987361], [-84.48294300046545, 39.13055999987351], [-84.48214300046554, 39.13065999987349], [-84.48184300046557, 39.13065999987349], [-84.48094600046568, 39.13011399987356], [-84.4806780004657, 39.12995299987357], [-84.48047200046572, 39.129839999873575], [-84.48026600046575, 39.129760999873604], [-84.48001800046576, 39.12971699987361], [-84.4797430004658, 39.129659999873596], [-84.4806430004657, 39.129559999873585], [-84.48174300046557, 39.129159999873636], [-84.48204300046554, 39.129259999873646], [-84.4825430004655, 39.12935999987361], [-84.48304300046544, 39.12935999987361]]], "type": "Polygon"}, "id": "60", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 5.0, "AGE_21": 54.0, "AGE_25_34": 10.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 7.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 1.88, "BG": "390610037003", "BLACK": 81.0, "BLOCK": "390610037003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7861.5423, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 32.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 5.0, "ID": 709372.0, "IN_HOUSEHO": 81.0, "MALE": 36.0, "MALE_18": 26.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 81.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48184300046557, 39.129659999873596, -84.4788430004659, 39.13185999987338], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.4816930004656, 39.13064399987349], [-84.48174000046559, 39.130719999873506], [-84.48181600046559, 39.13082199987347], [-84.48174300046558, 39.13125999987342], [-84.4816430004656, 39.13185999987338], [-84.4788430004659, 39.13155999987342], [-84.47904300046586, 39.130359999873534], [-84.4797430004658, 39.129659999873596], [-84.48001800046576, 39.12971699987361], [-84.48026600046575, 39.129760999873604], [-84.48047200046572, 39.129839999873575], [-84.4806780004657, 39.12995299987357], [-84.48094600046568, 39.13011399987356], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "61", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 76.0, "AGE_20_24": 7.0, "AGE_21": 72.0, "AGE_25_34": 11.0, "AGE_35_44": 23.0, "AGE_45_54": 14.0, "AGE_55_59": 7.0, "AGE_5_9": 0.0, "AGE_60_64": 5.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 80.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 80.0, "BLOCK": "390610037001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5072.4868, "F1_RACE": 88.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 38.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 56.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 56.0, "HU_VACANT": 3.0, "ID": 709393.0, "IN_HOUSEHO": 88.0, "MALE": 47.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 88.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 88.0, "RENTER_SIZ": 1.52, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 8.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4803430004657, 39.12445999987407, -84.477543000466, 39.126059999873924], "geometry": {"coordinates": [[[-84.47964300046577, 39.124659999874055], [-84.4803430004657, 39.124859999874054], [-84.47924300046583, 39.126059999873924], [-84.477543000466, 39.12595999987395], [-84.47774300046596, 39.12445999987407], [-84.47834300046591, 39.12445999987407], [-84.47964300046577, 39.124659999874055]]], "type": "Polygon"}, "id": "62", "properties": {"AGE_0_5": 31.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 109.0, "AGE_20_24": 20.0, "AGE_21": 99.0, "AGE_25_34": 42.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 2.17, "BG": "390610042002", "BLACK": 112.0, "BLOCK": "390610042002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14062.7526, "F1_RACE": 168.0, "F2_RACES": 1.0, "FEMALE": 109.0, "FEMALE_18": 74.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 5.0, "ID": 709415.0, "IN_HOUSEHO": 169.0, "MALE": 60.0, "MALE_18": 35.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 162.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 70.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 169.0, "RENTER_SIZ": 2.1, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 54.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47924300046583, 39.12595999987395, -84.477543000466, 39.12685999987387], "geometry": {"coordinates": [[[-84.47924300046583, 39.126059999873924], [-84.4786430004659, 39.12685999987386], [-84.47754300046601, 39.12685999987387], [-84.477543000466, 39.12595999987395], [-84.47924300046583, 39.126059999873924]]], "type": "Polygon"}, "id": "63", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 43.0, "AGE_25_34": 19.0, "AGE_35_44": 12.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.34, "BG": "390610042002", "BLACK": 23.0, "BLOCK": "390610042002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10532.1683, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 3.0, "ID": 709435.0, "IN_HOUSEHO": 47.0, "MALE": 16.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 47.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 24.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.12745999987382, -84.47704300046608, 39.129159999873636], "geometry": {"coordinates": [[[-84.48264300046547, 39.12805999987371], [-84.48264300046549, 39.128859999873676], [-84.48174300046557, 39.129159999873636], [-84.47704300046608, 39.12865999987371], [-84.47744300046602, 39.12815999987375], [-84.47804300046597, 39.12745999987382], [-84.48264300046547, 39.12805999987371]]], "type": "Polygon"}, "id": "64", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 203.0, "AGE_20_24": 20.0, "AGE_21": 198.0, "AGE_25_34": 43.0, "AGE_35_44": 63.0, "AGE_45_54": 32.0, "AGE_55_59": 14.0, "AGE_5_9": 11.0, "AGE_60_64": 6.0, "AGE_62": 25.0, "AGE_65": 22.0, "AGE_65_74": 15.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 0.0, "AP_BLACK": 193.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 50.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.97, "AVG_HHSIZE": 2.55, "BG": "390610037001", "BLACK": 190.0, "BLOCK": "390610037001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10515.7405, "F1_RACE": 238.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 62.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 49.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 22.0, "ID": 709452.0, "IN_HOUSEHO": 194.0, "MALE": 162.0, "MALE_18": 141.0, "MALE_65": 10.0, "MEDIAN_AGE": 38.3, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 49.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.48, "POPULATION": 243.0, "RENTER_SIZ": 2.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 48.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47774300046596, 39.1243599998741, -84.47644300046613, 39.12685999987387], "geometry": {"coordinates": [[[-84.477543000466, 39.12595999987395], [-84.47754300046601, 39.12685999987387], [-84.47644300046613, 39.12675999987388], [-84.4766430004661, 39.1243599998741], [-84.47744300046601, 39.1243599998741], [-84.47774300046596, 39.12445999987407], [-84.477543000466, 39.12595999987395]]], "type": "Polygon"}, "id": "65", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 98.0, "AGE_20_24": 14.0, "AGE_21": 97.0, "AGE_25_34": 31.0, "AGE_35_44": 24.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 75.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.91, "BG": "390610042002", "BLACK": 35.0, "BLOCK": "390610042002005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11483.761, "F1_RACE": 109.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 31.0, "HOUSEHOLDS": 58.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 58.0, "HU_VACANT": 11.0, "ID": 709472.0, "IN_HOUSEHO": 111.0, "MALE": 54.0, "MALE_18": 51.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 73.0, "NOT_HISPAN": 110.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.41, "POPULATION": 111.0, "RENTER_SIZ": 1.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 74.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4786430004659, 39.12675999987388, -84.47614300046617, 39.12815999987375], "geometry": {"coordinates": [[[-84.4786430004659, 39.12685999987386], [-84.47824300046594, 39.12725999987383], [-84.47804300046597, 39.12745999987382], [-84.47744300046602, 39.12815999987375], [-84.47614300046617, 39.12805999987374], [-84.47644300046613, 39.12675999987388], [-84.47754300046601, 39.12685999987387], [-84.4786430004659, 39.12685999987386]]], "type": "Polygon"}, "id": "66", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 19.0, "AGE_15_19": 26.0, "AGE_18": 121.0, "AGE_20_24": 11.0, "AGE_21": 115.0, "AGE_25_34": 27.0, "AGE_35_44": 33.0, "AGE_45_54": 20.0, "AGE_55_59": 8.0, "AGE_5_9": 26.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.57, "AVG_HHSIZE": 2.47, "BG": "390610042001", "BLACK": 185.0, "BLOCK": "390610042001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24439.8373, "F1_RACE": 201.0, "F2_RACES": 4.0, "FEMALE": 106.0, "FEMALE_18": 73.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 97.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 14.0, "ID": 709492.0, "IN_HOUSEHO": 205.0, "MALE": 99.0, "MALE_18": 48.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 205.0, "RENTER_SIZ": 2.34, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.47744300046602, 39.12805999987374, -84.47564300046623, 39.12945999987363], "geometry": {"coordinates": [[[-84.47674300046613, 39.12935999987364], [-84.47644300046615, 39.12925999987366], [-84.47564300046623, 39.12945999987363], [-84.47614300046617, 39.12805999987374], [-84.47744300046602, 39.12815999987375], [-84.47704300046608, 39.12865999987371], [-84.47674300046613, 39.12895999987367], [-84.47674300046613, 39.12935999987364]]], "type": "Polygon"}, "id": "67", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 47.0, "AGE_20_24": 1.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 17.0, "AGE_65": 15.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.21, "BG": "390610042001", "BLACK": 47.0, "BLOCK": "390610042001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10089.2509, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 1.0, "ID": 709513.0, "IN_HOUSEHO": 51.0, "MALE": 26.0, "MALE_18": 25.0, "MALE_65": 6.0, "MEDIAN_AGE": 53.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 51.0, "RENTER_SIZ": 1.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48174300046557, 39.12865999987371, -84.47674300046613, 39.129659999873596], "geometry": {"coordinates": [[[-84.48174300046557, 39.129159999873636], [-84.4806430004657, 39.129559999873585], [-84.4797430004658, 39.129659999873596], [-84.47864300046592, 39.12955999987361], [-84.47674300046613, 39.12935999987364], [-84.47674300046613, 39.12895999987367], [-84.47704300046608, 39.12865999987371], [-84.48174300046557, 39.129159999873636]]], "type": "Polygon"}, "id": "68", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 11.0, "BLOCK": "390610037001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1000.1608, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 15.0, "ID": 709531.0, "IN_HOUSEHO": 11.0, "MALE": 9.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 1.57, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4797430004658, 39.12935999987364, -84.47664300046614, 39.130359999873534], "geometry": {"coordinates": [[[-84.4797430004658, 39.129659999873596], [-84.47904300046586, 39.130359999873534], [-84.47664300046614, 39.13005999987358], [-84.47674300046613, 39.12935999987364], [-84.47864300046592, 39.12955999987361], [-84.4797430004658, 39.129659999873596]]], "type": "Polygon"}, "id": "69", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.75, "BG": "390610037001", "BLACK": 7.0, "BLOCK": "390610037001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 947.5052, "F1_RACE": 7.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 709550.0, "IN_HOUSEHO": 7.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 7.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 7.0, "RENTER_SIZ": 1.75, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47904300046586, 39.13005999987358, -84.47654300046615, 39.13155999987342], "geometry": {"coordinates": [[[-84.47904300046586, 39.130359999873534], [-84.4788430004659, 39.13155999987342], [-84.47654300046615, 39.13135999987346], [-84.47664300046614, 39.13005999987358], [-84.47904300046586, 39.130359999873534]]], "type": "Polygon"}, "id": "70", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.47, "BG": "390610041002", "BLACK": 37.0, "BLOCK": "390610041002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4266.2283, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 9.0, "ID": 709569.0, "IN_HOUSEHO": 47.0, "MALE": 15.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 47.0, "RENTER_SIZ": 2.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004100", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.487443000465, 39.13155999987342, -84.47854300046596, 39.137636999872846], "geometry": {"coordinates": [[[-84.48384300046537, 39.131759999873395], [-84.48383200046537, 39.13184799987338], [-84.48374300046537, 39.13255999987331], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.13276599987328], [-84.48504300046524, 39.13335999987322], [-84.48596700046515, 39.133397999873225], [-84.48613700046513, 39.133514999873206], [-84.487443000465, 39.133659999873196], [-84.48724300046503, 39.133859999873174], [-84.48714300046504, 39.13415999987315], [-84.48614300046513, 39.13435999987314], [-84.4839430004654, 39.136059999873005], [-84.48354300046543, 39.13635999987295], [-84.4829430004655, 39.137059999872875], [-84.4821430004656, 39.137559999872835], [-84.48183300046561, 39.137636999872846], [-84.47984300046583, 39.13475999987314], [-84.47864300046594, 39.134059999873195], [-84.47854300046596, 39.13375999987322], [-84.47864300046594, 39.13285999987331], [-84.4788430004659, 39.13155999987342], [-84.4816430004656, 39.13185999987338], [-84.48324300046544, 39.13195999987335], [-84.48375200046537, 39.13178999987337], [-84.48384300046537, 39.131759999873395]]], "type": "Polygon"}, "id": "71", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 289.0, "AGE_20_24": 9.0, "AGE_21": 285.0, "AGE_25_34": 38.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 9.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 143.0, "AGE_65": 135.0, "AGE_65_74": 40.0, "AGE_75_84": 49.0, "AGE_85": 46.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 340.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.1, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.1, "BG": "390610036001", "BLACK": 340.0, "BLOCK": "390610036001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3344.4579, "F1_RACE": 351.0, "F2_RACES": 0.0, "FEMALE": 203.0, "FEMALE_18": 170.0, "FEMALE_65": 83.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 137.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 18.0, "ID": 709605.0, "IN_HOUSEHO": 250.0, "MALE": 148.0, "MALE_18": 119.0, "MALE_65": 52.0, "MEDIAN_AGE": 48.2, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 31.0, "OCCHU_RENT": 88.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 351.0, "RENTER_SIZ": 1.83, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48644300046513, 39.136059999873005, -84.48183300046561, 39.14155999987249], "geometry": {"coordinates": [[[-84.48614300046516, 39.13805999987279], [-84.48644300046513, 39.13845999987274], [-84.48554300046524, 39.139159999872675], [-84.48454300046537, 39.14025999987261], [-84.48433500046538, 39.140559999872565], [-84.48364300046546, 39.14155999987249], [-84.48294300046551, 39.139859999872655], [-84.48214300046561, 39.13905999987272], [-84.48183300046561, 39.137636999872846], [-84.4821430004656, 39.137559999872835], [-84.4829430004655, 39.137059999872875], [-84.48354300046543, 39.13635999987295], [-84.4839430004654, 39.136059999873005], [-84.48534300046525, 39.13715999987289], [-84.48614300046516, 39.13805999987279]], [[-84.48604300046517, 39.13825999987277], [-84.48584300046521, 39.13805999987279], [-84.4849430004653, 39.13725999987287], [-84.48384300046541, 39.137559999872835], [-84.48404300046539, 39.138159999872784], [-84.48424300046537, 39.138959999872704], [-84.48504300046528, 39.13885999987272], [-84.48604300046517, 39.13825999987277]]], "type": "Polygon"}, "id": "72", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 70.0, "AGE_20_24": 10.0, "AGE_21": 64.0, "AGE_25_34": 8.0, "AGE_35_44": 13.0, "AGE_45_54": 18.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.78, "BG": "390610036001", "BLACK": 103.0, "BLOCK": "390610036001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2705.3799, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 55.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 9.0, "ID": 709637.0, "IN_HOUSEHO": 103.0, "MALE": 48.0, "MALE_18": 31.0, "MALE_65": 6.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 103.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13528099987297, -84.50234300046341, 39.13655999987285], "geometry": {"coordinates": [[[-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.135759999872924], [-84.50374300046326, 39.13655999987285], [-84.50234300046341, 39.136459999872876], [-84.5024430004634, 39.135759999872924], [-84.50244300046339, 39.13528099987297], [-84.50384300046323, 39.13536199987297]]], "type": "Polygon"}, "id": "73", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699143.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50264300046335, 39.13285999987319, -84.50094300046354, 39.13495999987302], "geometry": {"coordinates": [[[-84.50254300046338, 39.13425999987308], [-84.50244300046339, 39.13495999987302], [-84.50094300046354, 39.134859999873], [-84.5012430004635, 39.13285999987319], [-84.50264300046334, 39.13285999987319], [-84.50264300046335, 39.13345999987315], [-84.50254300046338, 39.13425999987308]]], "type": "Polygon"}, "id": "74", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 45.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 16.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 55.0, "BLOCK": "390610032002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8677.1914, "F1_RACE": 97.0, "F2_RACES": 1.0, "FEMALE": 40.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 77.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 98.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 699162.0, "IN_HOUSEHO": 0.0, "MALE": 58.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 98.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 42.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.134859999873, -84.50094300046354, 39.135759999872924], "geometry": {"coordinates": [[[-84.50244300046339, 39.13528099987297], [-84.5024430004634, 39.135759999872924], [-84.50094300046354, 39.135659999872956], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.134859999873], [-84.50244300046339, 39.13495999987302], [-84.50244300046339, 39.13528099987297]]], "type": "Polygon"}, "id": "75", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699182.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.135659999872956, -84.50084300046358, 39.136459999872876], "geometry": {"coordinates": [[[-84.50234300046341, 39.136459999872876], [-84.50084300046358, 39.13635999987288], [-84.50094300046354, 39.135659999872956], [-84.5024430004634, 39.135759999872924], [-84.50234300046341, 39.136459999872876]]], "type": "Polygon"}, "id": "76", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610032001", "BLACK": 1.0, "BLOCK": "390610032001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 254.7764, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 1.0, "ID": 699201.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 64.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50544300046307, 39.13635999987288, -84.5006430004636, 39.13955999987258], "geometry": {"coordinates": [[[-84.50544300046307, 39.13665999987285], [-84.50537800046308, 39.137129999872776], [-84.50504300046315, 39.13955999987258], [-84.50214300046343, 39.13935999987259], [-84.5015430004635, 39.13845999987268], [-84.5006430004636, 39.138359999872684], [-84.50084300046358, 39.13635999987288], [-84.50234300046341, 39.136459999872876], [-84.50374300046326, 39.13655999987285], [-84.50544300046307, 39.13665999987285]]], "type": "Polygon"}, "id": "77", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 6.0, "AGE_15_19": 2.0, "AGE_18": 48.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 6.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 42.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 25.0, "BLOCK": "390610032001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1555.3515, "F1_RACE": 68.0, "F2_RACES": 2.0, "FEMALE": 36.0, "FEMALE_18": 29.0, "FEMALE_65": 6.0, "GQ_INSTITU": 70.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 70.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699218.0, "IN_HOUSEHO": 0.0, "MALE": 34.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 39.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 70.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 40.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50014300046355, 39.12455999987399, -84.49904300046369, 39.12625999987383], "geometry": {"coordinates": [[[-84.4999430004636, 39.12625999987383], [-84.49904300046369, 39.12615999987382], [-84.49914300046366, 39.125359999873915], [-84.49914300046366, 39.12455999987399], [-84.50014300046355, 39.12465999987397], [-84.4999430004636, 39.12625999987383]]], "type": "Polygon"}, "id": "78", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 29.0, "BLOCK": "390610021002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7224.6969, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 3.0, "ID": 699239.0, "IN_HOUSEHO": 40.0, "MALE": 22.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 43.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 40.0, "RENTER_SIZ": 1.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5017430004634, 39.12605999987384, -84.4980430004638, 39.127759999873675], "geometry": {"coordinates": [[[-84.5017430004634, 39.126359999873806], [-84.50094300046348, 39.127259999873715], [-84.49984300046361, 39.127759999873675], [-84.4981430004638, 39.12745999987373], [-84.4980430004638, 39.127159999873754], [-84.49824300046377, 39.12605999987384], [-84.49904300046369, 39.12615999987382], [-84.4999430004636, 39.12625999987383], [-84.5017430004634, 39.126359999873806]]], "type": "Polygon"}, "id": "79", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610034002", "BLACK": 4.0, "BLOCK": "390610034002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 255.9509, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 699258.0, "IN_HOUSEHO": 4.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49914300046366, 39.125259999873926, -84.49784300046382, 39.12615999987382], "geometry": {"coordinates": [[[-84.49914300046366, 39.125359999873915], [-84.49904300046369, 39.12615999987382], [-84.49824300046377, 39.12605999987384], [-84.49784300046382, 39.126059999873846], [-84.49784300046382, 39.125259999873926], [-84.49914300046366, 39.125359999873915]]], "type": "Polygon"}, "id": "80", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49984300046361, 39.12745999987373, -84.49804300046381, 39.128259999873634], "geometry": {"coordinates": [[[-84.49984300046361, 39.127759999873675], [-84.49914300046369, 39.128259999873634], [-84.49804300046381, 39.1279599998737], [-84.4981430004638, 39.12745999987373], [-84.49984300046361, 39.127759999873675]]], "type": "Polygon"}, "id": "81", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699297.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49914300046369, 39.1279599998737, -84.49794300046382, 39.1286599998736], "geometry": {"coordinates": [[[-84.49804300046381, 39.1279599998737], [-84.49914300046369, 39.128259999873634], [-84.49864300046376, 39.1286599998736], [-84.49794300046382, 39.12855999987362], [-84.49804300046381, 39.1279599998737]]], "type": "Polygon"}, "id": "82", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699315.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49824300046377, 39.12605999987384, -84.49664300046395, 39.127159999873754], "geometry": {"coordinates": [[[-84.4980430004638, 39.127159999873754], [-84.49704300046392, 39.12705999987378], [-84.49664300046395, 39.12705999987378], [-84.49724300046388, 39.126059999873846], [-84.49784300046382, 39.126059999873846], [-84.49824300046377, 39.12605999987384], [-84.4980430004638, 39.127159999873754]]], "type": "Polygon"}, "id": "83", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 699332.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046388, 39.125959999873864, -84.49604300046401, 39.127059999873794], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49604300046401, 39.12705999987378], [-84.49674300046394, 39.125959999873864], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "84", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699352.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4981430004638, 39.12705999987378, -84.49634300046398, 39.1279599998737], "geometry": {"coordinates": [[[-84.4981430004638, 39.12745999987373], [-84.49804300046381, 39.1279599998737], [-84.49774300046384, 39.12785999987369], [-84.49634300046398, 39.12755999987371], [-84.49664300046395, 39.12705999987378], [-84.49704300046392, 39.12705999987378], [-84.4980430004638, 39.127159999873754], [-84.4981430004638, 39.12745999987373]]], "type": "Polygon"}, "id": "85", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 3.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610034002", "BLACK": 14.0, "BLOCK": "390610034002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3500.3926, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 2.0, "ID": 699371.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49864300046376, 39.12755999987371, -84.4953430004641, 39.130059999873474], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.496243000464, 39.129459999873546], [-84.49564300046407, 39.129359999873536], [-84.4953430004641, 39.12935999987355], [-84.49634300046398, 39.12755999987371], [-84.49774300046384, 39.12785999987369], [-84.49804300046381, 39.1279599998737], [-84.49794300046382, 39.12855999987362], [-84.49864300046376, 39.1286599998736], [-84.49854300046377, 39.12885999987358], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "86", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 15.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 8.0, "BLOCK": "390610034002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 843.8623, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 15.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 15.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699391.0, "IN_HOUSEHO": 0.0, "MALE": 15.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.1, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 7.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50164300046343, 39.128259999873634, -84.49804300046382, 39.13065999987342], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.49994300046363, 39.130459999873445], [-84.49804300046382, 39.130059999873474], [-84.49854300046377, 39.12885999987358], [-84.49864300046376, 39.1286599998736], [-84.49914300046369, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50154300046344, 39.12945999987352], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "87", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 11.0, "AGE_21": 47.0, "AGE_25_34": 10.0, "AGE_35_44": 11.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.11, "BG": "390610034002", "BLACK": 32.0, "BLOCK": "390610034002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2243.1294, "F1_RACE": 52.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 19.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 699415.0, "IN_HOUSEHO": 52.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 52.0, "RENTER_SIZ": 1.09, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 19.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49994300046363, 39.130059999873474, -84.49764300046387, 39.13155999987333], "geometry": {"coordinates": [[[-84.49994300046363, 39.130459999873445], [-84.49974300046365, 39.13155999987333], [-84.49864300046377, 39.13145999987336], [-84.49764300046387, 39.131359999873354], [-84.49774300046387, 39.130959999873404], [-84.49804300046382, 39.130059999873474], [-84.49994300046363, 39.130459999873445]]], "type": "Polygon"}, "id": "88", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 140.0, "AGE_20_24": 0.0, "AGE_21": 140.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 10.0, "AGE_62": 125.0, "AGE_65": 120.0, "AGE_65_74": 30.0, "AGE_75_84": 41.0, "AGE_85": 49.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 130.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 127.0, "BLOCK": "390610034002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15062.2033, "F1_RACE": 137.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 94.0, "FEMALE_65": 87.0, "GQ_INSTITU": 140.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 140.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699434.0, "IN_HOUSEHO": 0.0, "MALE": 46.0, "MALE_18": 46.0, "MALE_65": 33.0, "MEDIAN_AGE": 80.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 140.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 140.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49974300046365, 39.131359999873354, -84.49704300046395, 39.13265999987326], "geometry": {"coordinates": [[[-84.49974300046365, 39.13155999987333], [-84.49964300046366, 39.13265999987324], [-84.49794300046385, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49704300046395, 39.13265999987325], [-84.49764300046387, 39.131359999873354], [-84.49864300046377, 39.13145999987336], [-84.49974300046365, 39.13155999987333]]], "type": "Polygon"}, "id": "89", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699453.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49804300046382, 39.129459999873546, -84.49574300046409, 39.13265999987325], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.49774300046387, 39.130959999873404], [-84.49764300046387, 39.131359999873354], [-84.49704300046395, 39.13265999987325], [-84.49624300046402, 39.13255999987324], [-84.49574300046409, 39.13255999987324], [-84.49604300046406, 39.13185999987332], [-84.49614300046402, 39.13055999987345], [-84.496243000464, 39.129459999873546], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "90", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699472.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49680000046392, 39.125559999873886, -84.49594300046402, 39.125959999873864], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49594300046402, 39.125959999873864], [-84.49594300046402, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49680000046392, 39.125559999873886], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "91", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699494.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49595400046402, 39.12515999987395, -84.49504300046412, 39.125559999873886], "geometry": {"coordinates": [[[-84.49595400046402, 39.12521199987394], [-84.49594300046402, 39.125559999873886], [-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.12515999987397], [-84.49534300046408, 39.12515999987395], [-84.49595400046402, 39.12521199987394]]], "type": "Polygon"}, "id": "92", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10743.5154, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 4.0, "ID": 699512.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 3.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 12.0, "RENTER_SIZ": 3.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49594300046402, 39.125459999873925, -84.49504300046412, 39.12595999987388], "geometry": {"coordinates": [[[-84.49594300046402, 39.125559999873886], [-84.49594300046402, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49504300046412, 39.125959999873864], [-84.49504300046412, 39.125459999873925], [-84.49594300046402, 39.125559999873886]]], "type": "Polygon"}, "id": "93", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1333.4528, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 3.0, "ID": 699531.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49674300046394, 39.125959999873864, -84.49554300046407, 39.127059999873794], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49604300046401, 39.12705999987378], [-84.49554300046407, 39.127059999873794], [-84.49564300046406, 39.12595999987388], [-84.49594300046402, 39.125959999873864], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "94", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610035002", "BLACK": 2.0, "BLOCK": "390610035002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 613.698, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 7.0, "ID": 699549.0, "IN_HOUSEHO": 2.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 67.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12515999987397, -84.49404300046422, 39.125459999873925], "geometry": {"coordinates": [[[-84.49504300046412, 39.12515999987397], [-84.49504300046412, 39.125459999873925], [-84.49404300046422, 39.12535999987392], [-84.49404300046422, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49504300046412, 39.12515999987397]]], "type": "Polygon"}, "id": "95", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.67, "AVG_HHSIZE": 4.4, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23761.9038, "F1_RACE": 22.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 1.0, "ID": 699568.0, "IN_HOUSEHO": 22.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.5, "POPULATION": 22.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12535999987392, -84.49394300046424, 39.125959999873864], "geometry": {"coordinates": [[[-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.125959999873864], [-84.49394300046424, 39.12585999987388], [-84.49404300046422, 39.12535999987392], [-84.49504300046412, 39.125459999873925]]], "type": "Polygon"}, "id": "96", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 15.0, "AGE_25_34": 3.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 35.0, "BLOCK": "390610021001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18341.2616, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 3.0, "ID": 699587.0, "IN_HOUSEHO": 36.0, "MALE": 17.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 36.0, "RENTER_SIZ": 3.18, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49564300046406, 39.125959999873864, -84.49484300046414, 39.127059999873794], "geometry": {"coordinates": [[[-84.49554300046407, 39.127059999873794], [-84.49484300046414, 39.1269599998738], [-84.49504300046412, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49554300046407, 39.127059999873794]]], "type": "Polygon"}, "id": "97", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.4, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5478.7666, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 3.0, "ID": 699604.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.1257599998739, -84.49354300046429, 39.12745999987374], "geometry": {"coordinates": [[[-84.49484300046414, 39.1269599998738], [-84.49484300046416, 39.12745999987374], [-84.49424300046421, 39.12745999987374], [-84.4943430004642, 39.12635999987383], [-84.49354300046429, 39.12635999987383], [-84.49364300046426, 39.1257599998739], [-84.49394300046424, 39.12585999987388], [-84.49504300046412, 39.125959999873864], [-84.49484300046414, 39.1269599998738]]], "type": "Polygon"}, "id": "98", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 1.0, "AGE_18": 29.0, "AGE_20_24": 3.0, "AGE_21": 28.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 21.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 1.73, "BG": "390610035002", "BLACK": 16.0, "BLOCK": "390610035002011", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7803.0494, "F1_RACE": 36.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 12.0, "ID": 699622.0, "IN_HOUSEHO": 38.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.2, "POPULATION": 38.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 19.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49664300046395, 39.12705999987378, -84.49584300046403, 39.127559999873725], "geometry": {"coordinates": [[[-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.12755999987371], [-84.49584300046403, 39.127559999873725], [-84.49604300046401, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49664300046395, 39.12705999987378]]], "type": "Polygon"}, "id": "99", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699644.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49604300046401, 39.1269599998738, -84.49484300046414, 39.127559999873725], "geometry": {"coordinates": [[[-84.49604300046401, 39.12705999987378], [-84.49584300046403, 39.127559999873725], [-84.49484300046416, 39.12745999987374], [-84.49484300046414, 39.1269599998738], [-84.49554300046407, 39.127059999873794], [-84.49604300046401, 39.12705999987378]]], "type": "Polygon"}, "id": "100", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.91, "BG": "390610035002", "BLACK": 21.0, "BLOCK": "390610035002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10599.3148, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 699662.0, "IN_HOUSEHO": 21.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 45.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 21.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49634300046398, 39.12755999987371, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49584300046403, 39.127559999873725], [-84.49634300046398, 39.12755999987371], [-84.4953430004641, 39.12935999987355], [-84.49464300046418, 39.12935999987355], [-84.49524300046413, 39.12895999987361], [-84.49562900046406, 39.12805999987366], [-84.49584300046403, 39.127559999873725]]], "type": "Polygon"}, "id": "101", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699681.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49584300046403, 39.12745999987374, -84.49484300046416, 39.12805999987368], "geometry": {"coordinates": [[[-84.49484300046416, 39.12745999987374], [-84.49584300046403, 39.127559999873725], [-84.49562900046406, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49484300046416, 39.12805999987366], [-84.49484300046416, 39.12745999987374]]], "type": "Polygon"}, "id": "102", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.43, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9245.804, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 699700.0, "IN_HOUSEHO": 17.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49562900046406, 39.12805999987366, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49484300046416, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49562900046406, 39.12805999987366], [-84.49524300046413, 39.12895999987361], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "103", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.17, "BG": "390610035002", "BLACK": 24.0, "BLOCK": "390610035002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9977.1555, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 7.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 0.0, "ID": 699718.0, "IN_HOUSEHO": 26.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 26.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12505999987396, -84.49304300046434, 39.125359999873936], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49404300046422, 39.12535999987392], [-84.49304300046434, 39.125359999873936], [-84.49314300046431, 39.12505999987396], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "104", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 14.0, "AGE_20_24": 4.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 13.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.09, "AVG_HHSIZE": 4.09, "BG": "390610021001", "BLACK": 38.0, "BLOCK": "390610021001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 50628.9598, "F1_RACE": 41.0, "F2_RACES": 4.0, "FEMALE": 29.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 2.0, "ID": 699736.0, "IN_HOUSEHO": 45.0, "MALE": 16.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 9.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 45.0, "RENTER_SIZ": 4.09, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49294300046445, 39.140859999872504, -84.48964300046482, 39.14215999987238], "geometry": {"coordinates": [[[-84.49094300046467, 39.140859999872504], [-84.49294300046445, 39.140959999872514], [-84.49244300046452, 39.141659999872424], [-84.49224300046454, 39.14215999987238], [-84.48964300046482, 39.142059999872394], [-84.48974300046478, 39.140859999872504], [-84.49094300046467, 39.140859999872504]]], "type": "Polygon"}, "id": "105", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 13.0, "AGE_15_19": 20.0, "AGE_18": 213.0, "AGE_20_24": 14.0, "AGE_21": 203.0, "AGE_25_34": 27.0, "AGE_35_44": 31.0, "AGE_45_54": 19.0, "AGE_55_59": 9.0, "AGE_5_9": 27.0, "AGE_60_64": 16.0, "AGE_62": 102.0, "AGE_65": 89.0, "AGE_65_74": 47.0, "AGE_75_84": 31.0, "AGE_85": 11.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.7, "BG": "390610067004", "BLACK": 282.0, "BLOCK": "390610067004007", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21989.7915, "F1_RACE": 285.0, "F2_RACES": 2.0, "FEMALE": 176.0, "FEMALE_18": 136.0, "FEMALE_65": 67.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 124.0, "HOUSEHOLDS": 169.0, "HSNG_UNITS": 205.0, "HU_OCCUPIE": 169.0, "HU_VACANT": 36.0, "ID": 711584.0, "IN_HOUSEHO": 287.0, "MALE": 111.0, "MALE_18": 77.0, "MALE_65": 22.0, "MEDIAN_AGE": 41.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 155.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.43, "POPULATION": 287.0, "RENTER_SIZ": 1.63, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4915430004646, 39.14275999987236, -84.48564300046525, 39.14415999987221], "geometry": {"coordinates": [[[-84.4915430004646, 39.143159999872296], [-84.49104300046467, 39.14415999987221], [-84.48564300046525, 39.14365999987227], [-84.48594300046523, 39.14315999987232], [-84.48704300046509, 39.14275999987236], [-84.488043000465, 39.142859999872336], [-84.48864300046493, 39.14295999987232], [-84.4915430004646, 39.143159999872296]]], "type": "Polygon"}, "id": "106", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 90.0, "AGE_20_24": 14.0, "AGE_21": 83.0, "AGE_25_34": 18.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 9.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 129.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.73, "BG": "390610067004", "BLACK": 129.0, "BLOCK": "390610067004002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6913.3996, "F1_RACE": 134.0, "F2_RACES": 0.0, "FEMALE": 66.0, "FEMALE_18": 54.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 9.0, "ID": 711604.0, "IN_HOUSEHO": 134.0, "MALE": 68.0, "MALE_18": 36.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.6, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 134.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 134.0, "RENTER_SIZ": 2.54, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49224300046455, 39.145359999872106, -84.48904300046492, 39.14805999987183], "geometry": {"coordinates": [[[-84.49224300046455, 39.14545999987209], [-84.49213100046458, 39.14691599987195], [-84.4920430004646, 39.14805999987183], [-84.49040800046478, 39.14773299987189], [-84.48904300046492, 39.14745999987187], [-84.48944300046487, 39.146759999871975], [-84.4899430004648, 39.14605999987202], [-84.4900430004648, 39.14585999987206], [-84.49034300046476, 39.145359999872106], [-84.49224300046455, 39.14545999987209]]], "type": "Polygon"}, "id": "107", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 20.0, "AGE_15_19": 17.0, "AGE_18": 77.0, "AGE_20_24": 5.0, "AGE_21": 67.0, "AGE_25_34": 13.0, "AGE_35_44": 24.0, "AGE_45_54": 11.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 120.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.84, "AVG_HHSIZE": 2.67, "BG": "390610068002", "BLACK": 118.0, "BLOCK": "390610068002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5379.6715, "F1_RACE": 118.0, "F2_RACES": 2.0, "FEMALE": 56.0, "FEMALE_18": 38.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 15.0, "ID": 711620.0, "IN_HOUSEHO": 120.0, "MALE": 64.0, "MALE_18": 39.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 120.0, "RENTER_SIZ": 2.72, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49224300046454, 39.141859999872445, -84.48374300046545, 39.14365999987227], "geometry": {"coordinates": [[[-84.49224300046454, 39.14215999987238], [-84.49194300046456, 39.14255999987233], [-84.4915430004646, 39.143159999872296], [-84.48864300046493, 39.14295999987232], [-84.488043000465, 39.142859999872336], [-84.48704300046509, 39.14275999987236], [-84.48594300046523, 39.14315999987232], [-84.48564300046525, 39.14365999987227], [-84.48464300046537, 39.143559999872295], [-84.48404300046543, 39.143559999872295], [-84.48387800046544, 39.142776999872375], [-84.48374300046545, 39.142159999872405], [-84.48380000046545, 39.14209499987244], [-84.48474300046534, 39.14195999987244], [-84.48544300046525, 39.14185999987246], [-84.48654300046516, 39.141859999872445], [-84.48964300046482, 39.142059999872394], [-84.49224300046454, 39.14215999987238]]], "type": "Polygon"}, "id": "108", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 22.0, "AGE_15_19": 9.0, "AGE_18": 172.0, "AGE_20_24": 17.0, "AGE_21": 170.0, "AGE_25_34": 32.0, "AGE_35_44": 37.0, "AGE_45_54": 25.0, "AGE_55_59": 18.0, "AGE_5_9": 27.0, "AGE_60_64": 6.0, "AGE_62": 36.0, "AGE_65": 35.0, "AGE_65_74": 23.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 249.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.87, "AVG_HHSIZE": 2.37, "BG": "390610067004", "BLACK": 249.0, "BLOCK": "390610067004001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7469.0991, "F1_RACE": 254.0, "F2_RACES": 0.0, "FEMALE": 141.0, "FEMALE_18": 103.0, "FEMALE_65": 27.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 38.0, "HOUSEHOLDS": 107.0, "HSNG_UNITS": 129.0, "HU_OCCUPIE": 107.0, "HU_VACANT": 22.0, "ID": 711663.0, "IN_HOUSEHO": 254.0, "MALE": 113.0, "MALE_18": 69.0, "MALE_65": 8.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.23, "POPULATION": 254.0, "RENTER_SIZ": 2.47, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49054300046475, 39.144759999872164, -84.48424300046541, 39.14585999987206], "geometry": {"coordinates": [[[-84.49034300046476, 39.145359999872106], [-84.4900430004648, 39.14585999987206], [-84.48616500046522, 39.14572599987209], [-84.48424300046541, 39.14565999987211], [-84.48424300046541, 39.144759999872164], [-84.49054300046475, 39.14495999987214], [-84.49034300046476, 39.145359999872106]]], "type": "Polygon"}, "id": "109", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 43.0, "AGE_15_19": 29.0, "AGE_18": 221.0, "AGE_20_24": 27.0, "AGE_21": 211.0, "AGE_25_34": 49.0, "AGE_35_44": 44.0, "AGE_45_54": 31.0, "AGE_55_59": 23.0, "AGE_5_9": 60.0, "AGE_60_64": 7.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 373.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 2.86, "BG": "390610066002", "BLACK": 373.0, "BLOCK": "390610066002002", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18402.2275, "F1_RACE": 375.0, "F2_RACES": 0.0, "FEMALE": 213.0, "FEMALE_18": 134.0, "FEMALE_65": 20.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 90.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 131.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 131.0, "HU_VACANT": 19.0, "ID": 711690.0, "IN_HOUSEHO": 375.0, "MALE": 162.0, "MALE_18": 87.0, "MALE_65": 15.0, "MEDIAN_AGE": 25.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 374.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 106.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.8, "POPULATION": 375.0, "RENTER_SIZ": 2.88, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49104300046467, 39.143559999872295, -84.48124300046575, 39.146259999872036], "geometry": {"coordinates": [[[-84.48564300046525, 39.14365999987227], [-84.49104300046467, 39.14415999987221], [-84.49054300046475, 39.14495999987214], [-84.48424300046541, 39.144759999872164], [-84.48424300046541, 39.14565999987211], [-84.48294300046555, 39.1456599998721], [-84.48234300046563, 39.14585999987211], [-84.48124300046575, 39.146259999872036], [-84.48214300046564, 39.1456599998721], [-84.48394300046544, 39.14395999987227], [-84.48464300046537, 39.143559999872295], [-84.48564300046525, 39.14365999987227]]], "type": "Polygon"}, "id": "110", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 24.0, "AGE_15_19": 28.0, "AGE_18": 147.0, "AGE_20_24": 18.0, "AGE_21": 132.0, "AGE_25_34": 24.0, "AGE_35_44": 36.0, "AGE_45_54": 26.0, "AGE_55_59": 7.0, "AGE_5_9": 17.0, "AGE_60_64": 7.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 9.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 210.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 6.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.96, "BG": "390610066002", "BLACK": 205.0, "BLOCK": "390610066002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6572.2998, "F1_RACE": 214.0, "F2_RACES": 5.0, "FEMALE": 128.0, "FEMALE_18": 94.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 54.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 74.0, "HSNG_UNITS": 90.0, "HU_OCCUPIE": 74.0, "HU_VACANT": 16.0, "ID": 711710.0, "IN_HOUSEHO": 219.0, "MALE": 91.0, "MALE_18": 53.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 218.0, "OCCHU_OWNE": 37.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.38, "POPULATION": 219.0, "RENTER_SIZ": 2.54, "THEFT": 20, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48464300046537, 39.143559999872295, -84.48394300046544, 39.14395999987227], "geometry": {"coordinates": [[[-84.48464300046537, 39.143559999872295], [-84.48394300046544, 39.14395999987227], [-84.48404300046543, 39.143559999872295], [-84.48464300046537, 39.143559999872295]]], "type": "Polygon"}, "id": "111", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 711733.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4900430004648, 39.1456599998721, -84.48234300046563, 39.14745999987187], "geometry": {"coordinates": [[[-84.4899430004648, 39.14605999987202], [-84.48944300046487, 39.146759999871975], [-84.48904300046492, 39.14745999987187], [-84.48604300046524, 39.14725999987195], [-84.48534300046532, 39.147259999871956], [-84.48484300046536, 39.14705999987198], [-84.48424300046543, 39.146759999871996], [-84.48294300046557, 39.14735999987194], [-84.48244300046561, 39.146959999871996], [-84.48244300046561, 39.14655999987201], [-84.48234300046563, 39.14585999987211], [-84.48294300046555, 39.1456599998721], [-84.48424300046541, 39.14565999987211], [-84.48616500046522, 39.14572599987209], [-84.4900430004648, 39.14585999987206], [-84.4899430004648, 39.14605999987202]]], "type": "Polygon"}, "id": "112", "properties": {"AGE_0_5": 36.0, "AGE_10_14": 41.0, "AGE_15_19": 39.0, "AGE_18": 276.0, "AGE_20_24": 28.0, "AGE_21": 261.0, "AGE_25_34": 52.0, "AGE_35_44": 62.0, "AGE_45_54": 41.0, "AGE_55_59": 21.0, "AGE_5_9": 51.0, "AGE_60_64": 17.0, "AGE_62": 54.0, "AGE_65": 45.0, "AGE_65_74": 28.0, "AGE_75_84": 10.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 429.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 7.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.42, "BG": "390610066001", "BLACK": 424.0, "BLOCK": "390610066001004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10939.7842, "F1_RACE": 428.0, "F2_RACES": 5.0, "FEMALE": 220.0, "FEMALE_18": 153.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 107.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 179.0, "HSNG_UNITS": 215.0, "HU_OCCUPIE": 179.0, "HU_VACANT": 36.0, "ID": 711749.0, "IN_HOUSEHO": 433.0, "MALE": 213.0, "MALE_18": 123.0, "MALE_65": 17.0, "MEDIAN_AGE": 29.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 433.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 133.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 433.0, "RENTER_SIZ": 2.28, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51444400046199, 39.121859999874175, -84.50834300046267, 39.125559999873815], "geometry": {"coordinates": [[[-84.51444400046199, 39.12305999987405], [-84.514344000462, 39.12335999987403], [-84.51404400046205, 39.12425999987396], [-84.5128440004622, 39.125559999873815], [-84.50914400046258, 39.1251489998739], [-84.50834300046267, 39.12505999987389], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12265999987413], [-84.50904300046258, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.51064300046241, 39.1227599998741], [-84.51074300046238, 39.12235999987413], [-84.51114300046235, 39.122159999874164], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12225999987413], [-84.51304300046216, 39.12295999987407], [-84.5135430004621, 39.12295999987407], [-84.51384400046206, 39.123059999874044], [-84.51444400046199, 39.12305999987405]]], "type": "Polygon"}, "id": "113", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 38.0, "AGE_15_19": 27.0, "AGE_18": 210.0, "AGE_20_24": 42.0, "AGE_21": 192.0, "AGE_25_34": 62.0, "AGE_35_44": 39.0, "AGE_45_54": 34.0, "AGE_55_59": 5.0, "AGE_5_9": 31.0, "AGE_60_64": 4.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 12.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 308.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 30.0, "AREA": 0.06, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.08, "AVG_HHSIZE": 2.25, "BG": "390610023001", "BLACK": 308.0, "BLOCK": "390610023001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5813.2877, "F1_RACE": 340.0, "F2_RACES": 0.0, "FEMALE": 183.0, "FEMALE_18": 120.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 151.0, "HSNG_UNITS": 194.0, "HU_OCCUPIE": 151.0, "HU_VACANT": 43.0, "ID": 656719.0, "IN_HOUSEHO": 340.0, "MALE": 157.0, "MALE_18": 90.0, "MALE_65": 5.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 340.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 137.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.29, "POPULATION": 340.0, "RENTER_SIZ": 2.25, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51074300046238, 39.12235999987413, -84.50954300046251, 39.1227599998741], "geometry": {"coordinates": [[[-84.51074300046238, 39.12235999987413], [-84.51064300046241, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.50964300046252, 39.12235999987413], [-84.51074300046238, 39.12235999987413]]], "type": "Polygon"}, "id": "114", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 12.0, "AGE_18": 36.0, "AGE_20_24": 9.0, "AGE_21": 31.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 18.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 90.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.09, "BG": "390610023001", "BLACK": 90.0, "BLOCK": "390610023001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 55229.6771, "F1_RACE": 90.0, "F2_RACES": 0.0, "FEMALE": 51.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 11.0, "ID": 656750.0, "IN_HOUSEHO": 90.0, "MALE": 39.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 90.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 90.0, "RENTER_SIZ": 4.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4766430004661, 39.1243599998741, -84.47484300046631, 39.12695999987387], "geometry": {"coordinates": [[[-84.4766430004661, 39.1243599998741], [-84.47644300046613, 39.12675999987388], [-84.47484300046631, 39.12695999987387], [-84.47524300046624, 39.12455999987408], [-84.4766430004661, 39.1243599998741]]], "type": "Polygon"}, "id": "115", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 124.0, "AGE_20_24": 21.0, "AGE_21": 121.0, "AGE_25_34": 36.0, "AGE_35_44": 24.0, "AGE_45_54": 20.0, "AGE_55_59": 7.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 58.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.66, "BG": "390610042002", "BLACK": 86.0, "BLOCK": "390610042002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10984.0124, "F1_RACE": 144.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 65.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 9.0, "ID": 738259.0, "IN_HOUSEHO": 144.0, "MALE": 71.0, "MALE_18": 59.0, "MALE_65": 3.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 144.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 144.0, "RENTER_SIZ": 1.45, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 58.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47524300046624, 39.12455999987408, -84.47374300046643, 39.12695999987387], "geometry": {"coordinates": [[[-84.47484300046631, 39.12695999987387], [-84.47374300046643, 39.126759999873904], [-84.47394300046638, 39.12455999987409], [-84.47524300046624, 39.12455999987408], [-84.47484300046631, 39.12695999987387]]], "type": "Polygon"}, "id": "116", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 172.0, "AGE_20_24": 9.0, "AGE_21": 167.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 26.0, "AGE_55_59": 19.0, "AGE_5_9": 2.0, "AGE_60_64": 15.0, "AGE_62": 67.0, "AGE_65": 62.0, "AGE_65_74": 29.0, "AGE_75_84": 26.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 146.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.52, "AVG_HHSIZE": 1.28, "BG": "390610042002", "BLACK": 144.0, "BLOCK": "390610042002003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17808.0053, "F1_RACE": 182.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 97.0, "FEMALE_65": 41.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 123.0, "HOUSEHOLDS": 144.0, "HSNG_UNITS": 147.0, "HU_OCCUPIE": 144.0, "HU_VACANT": 3.0, "ID": 738277.0, "IN_HOUSEHO": 184.0, "MALE": 78.0, "MALE_18": 75.0, "MALE_65": 21.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 128.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 184.0, "RENTER_SIZ": 1.16, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.47644300046613, 39.12675999987388, -84.47454300046634, 39.12835999987374], "geometry": {"coordinates": [[[-84.47644300046613, 39.12675999987388], [-84.47614300046617, 39.12805999987374], [-84.47464300046634, 39.12835999987374], [-84.47454300046634, 39.128059999873756], [-84.47484300046631, 39.12695999987387], [-84.47644300046613, 39.12675999987388]]], "type": "Polygon"}, "id": "117", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 39.0, "AGE_20_24": 5.0, "AGE_21": 33.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.08, "BG": "390610042001", "BLACK": 29.0, "BLOCK": "390610042001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6338.7504, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 11.0, "ID": 738294.0, "IN_HOUSEHO": 50.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.0, "MSA": "1640", "NH_WHITE": 20.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 50.0, "RENTER_SIZ": 1.79, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 20.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47614300046617, 39.12805999987374, -84.47434300046636, 39.129559999873614], "geometry": {"coordinates": [[[-84.47564300046623, 39.12945999987363], [-84.47434300046636, 39.129559999873614], [-84.47464300046634, 39.12835999987374], [-84.47614300046617, 39.12805999987374], [-84.47564300046623, 39.12945999987363]]], "type": "Polygon"}, "id": "118", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 13.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.27, "BG": "390610042001", "BLACK": 19.0, "BLOCK": "390610042001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5276.5591, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 738313.0, "IN_HOUSEHO": 34.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 34.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47484300046631, 39.126759999873904, -84.47354300046645, 39.128059999873756], "geometry": {"coordinates": [[[-84.47454300046634, 39.128059999873756], [-84.47354300046645, 39.127959999873795], [-84.47374300046643, 39.126759999873904], [-84.47484300046631, 39.12695999987387], [-84.47454300046634, 39.128059999873756]]], "type": "Polygon"}, "id": "119", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 62.0, "AGE_20_24": 7.0, "AGE_21": 60.0, "AGE_25_34": 28.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.52, "BG": "390610042001", "BLACK": 24.0, "BLOCK": "390610042001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14531.7777, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 4.0, "ID": 738330.0, "IN_HOUSEHO": 67.0, "MALE": 27.0, "MALE_18": 25.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 43.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 67.0, "RENTER_SIZ": 1.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 43.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52004400046148, 39.134959999872954, -84.51574400046195, 39.140859999872404], "geometry": {"coordinates": [[[-84.52004400046148, 39.13505999987293], [-84.51954400046156, 39.14045999987243], [-84.5174440004618, 39.140859999872404], [-84.5183440004617, 39.13995999987247], [-84.51854400046167, 39.13955999987251], [-84.51804400046173, 39.138959999872554], [-84.51574400046195, 39.138259999872645], [-84.51764400046174, 39.136959999872786], [-84.51914400046158, 39.134959999872954], [-84.52004400046148, 39.13505999987293]], [[-84.5190440004616, 39.13855999987259], [-84.51854400046167, 39.13835999987263], [-84.51844400046168, 39.138559999872584], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "120", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 23.0, "AGE_18": 116.0, "AGE_20_24": 86.0, "AGE_21": 55.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 8.0, "AP_ASIAN": 7.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.04, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 50.0, "BLOCK": "390610030003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2745.6706, "F1_RACE": 107.0, "F2_RACES": 9.0, "FEMALE": 36.0, "FEMALE_18": 36.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 116.0, "GROUP_QUAR": 116.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683125.0, "IN_HOUSEHO": 0.0, "MALE": 80.0, "MALE_18": 80.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 50.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 116.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 52.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5190440004616, 39.13835999987263, -84.51844400046168, 39.13855999987259], "geometry": {"coordinates": [[[-84.5190440004616, 39.13855999987259], [-84.51844400046168, 39.138559999872584], [-84.51854400046167, 39.13835999987263], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "121", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683147.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5183440004617, 39.13995999987247, -84.51714400046184, 39.140859999872404], "geometry": {"coordinates": [[[-84.5183440004617, 39.13995999987247], [-84.5174440004618, 39.140859999872404], [-84.51714400046184, 39.140559999872444], [-84.51754400046178, 39.14005999987246], [-84.5183440004617, 39.13995999987247]]], "type": "Polygon"}, "id": "122", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683161.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51954400046156, 39.138259999872645, -84.51534400046202, 39.143259999872164], "geometry": {"coordinates": [[[-84.5193440004616, 39.14235999987225], [-84.51914400046164, 39.143259999872164], [-84.51664400046191, 39.14225999987227], [-84.51544400046203, 39.14215999987227], [-84.51544400046203, 39.14195999987231], [-84.51534400046202, 39.13945999987253], [-84.51574400046195, 39.138259999872645], [-84.51804400046173, 39.138959999872554], [-84.51854400046167, 39.13955999987251], [-84.5183440004617, 39.13995999987247], [-84.51754400046178, 39.14005999987246], [-84.51714400046184, 39.140559999872444], [-84.5174440004618, 39.140859999872404], [-84.51954400046156, 39.14045999987243], [-84.51944400046159, 39.14105999987236], [-84.51944400046159, 39.14155999987233], [-84.5193440004616, 39.14235999987225]]], "type": "Polygon"}, "id": "123", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683177.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51814400046163, 39.12725999987368, -84.51454400046204, 39.12815999987359], "geometry": {"coordinates": [[[-84.51814400046162, 39.12745999987365], [-84.51814400046163, 39.12815999987359], [-84.51454400046204, 39.12785999987363], [-84.51454400046204, 39.12725999987368], [-84.51704400046174, 39.12735999987365], [-84.51814400046162, 39.12745999987365]]], "type": "Polygon"}, "id": "124", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 14.0, "AGE_18": 71.0, "AGE_20_24": 47.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 65.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 5.0, "BLOCK": "390610025001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8291.3463, "F1_RACE": 71.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 25.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 2.0, "ID": 683241.0, "IN_HOUSEHO": 74.0, "MALE": 48.0, "MALE_18": 46.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 61.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 74.0, "RENTER_SIZ": 2.0, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 62.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51964400046147, 39.127859999873614, -84.51284400046222, 39.12965999987345], "geometry": {"coordinates": [[[-84.51964400046147, 39.12825999987355], [-84.5194440004615, 39.12855999987354], [-84.51904400046153, 39.12855999987355], [-84.51824400046162, 39.12865999987352], [-84.51754400046171, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51724400046174, 39.12945999987347], [-84.51362800046212, 39.12913099987351], [-84.51284400046222, 39.1290599998735], [-84.51284400046222, 39.12845999987356], [-84.51368300046212, 39.12852699987354], [-84.51374400046211, 39.127859999873614], [-84.51454400046204, 39.12785999987363], [-84.51814400046163, 39.12815999987359], [-84.51894400046154, 39.12825999987357], [-84.51964400046147, 39.12825999987355]]], "type": "Polygon"}, "id": "125", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 744.0, "AGE_18": 895.0, "AGE_20_24": 148.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 14.0, "AP_ASIAN": 32.0, "AP_BLACK": 228.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 657.0, "AREA": 0.03, "ASIAN": 26.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030003", "BLACK": 212.0, "BLOCK": "390610030003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35491.7198, "F1_RACE": 873.0, "F2_RACES": 27.0, "FEMALE": 495.0, "FEMALE_18": 492.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 896.0, "GROUP_QUAR": 896.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 683260.0, "IN_HOUSEHO": 4.0, "MALE": 405.0, "MALE_18": 403.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 632.0, "NOT_HISPAN": 895.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 900.0, "RENTER_SIZ": 1.0, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 634.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51454400046204, 39.12715999987369, -84.51294400046218, 39.12785999987363], "geometry": {"coordinates": [[[-84.51454400046204, 39.12725999987368], [-84.51454400046204, 39.12785999987363], [-84.51374400046211, 39.127859999873614], [-84.51294400046218, 39.127859999873614], [-84.51304400046217, 39.12715999987369], [-84.5137440004621, 39.12715999987369], [-84.51454400046204, 39.12725999987368]]], "type": "Polygon"}, "id": "126", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 45.0, "AGE_20_24": 32.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 40.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.59, "BG": "390610033002", "BLACK": 14.0, "BLOCK": "390610033002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14728.9774, "F1_RACE": 57.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 5.0, "ID": 683329.0, "IN_HOUSEHO": 57.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.6, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 57.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 57.0, "RENTER_SIZ": 2.7, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51374400046211, 39.127859999873614, -84.51284400046222, 39.12852699987354], "geometry": {"coordinates": [[[-84.51374400046211, 39.127859999873614], [-84.51368300046212, 39.12852699987354], [-84.51284400046222, 39.12845999987356], [-84.51294400046218, 39.127859999873614], [-84.51374400046211, 39.127859999873614]]], "type": "Polygon"}, "id": "127", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683349.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51744400046172, 39.12895999987351, -84.51094400046243, 39.13305999987313], "geometry": {"coordinates": [[[-84.51614400046188, 39.13235999987321], [-84.515044000462, 39.13305999987313], [-84.51244400046228, 39.132859999873176], [-84.51264400046226, 39.13165999987326], [-84.51094400046243, 39.1314599998733], [-84.51114400046241, 39.13025999987339], [-84.51124300046237, 39.12895999987351], [-84.51284400046222, 39.1290599998735], [-84.51362800046212, 39.12913099987351], [-84.51724400046174, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51734400046173, 39.12985999987343], [-84.51693200046178, 39.13071799987334], [-84.51614400046188, 39.13235999987321]]], "type": "Polygon"}, "id": "128", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 561.0, "AGE_18": 617.0, "AGE_20_24": 55.0, "AGE_21": 22.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 19.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 538.0, "AREA": 0.07, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 64.0, "BLOCK": "390610030002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8792.3227, "F1_RACE": 610.0, "F2_RACES": 8.0, "FEMALE": 238.0, "FEMALE_18": 238.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 617.0, "GROUP_QUAR": 617.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683367.0, "IN_HOUSEHO": 1.0, "MALE": 380.0, "MALE_18": 379.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 524.0, "NOT_HISPAN": 610.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 618.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 532.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5127080004622, 39.126106999873784, -84.5119480004623, 39.12685799987372], "geometry": {"coordinates": [[[-84.51234600046223, 39.126106999873784], [-84.51264400046222, 39.12655999987375], [-84.5127080004622, 39.12665699987375], [-84.51234400046225, 39.12675999987372], [-84.51214200046228, 39.12685799987372], [-84.5119480004623, 39.126554999873754], [-84.51204300046227, 39.12645999987375], [-84.51234600046223, 39.126106999873784]]], "type": "Polygon"}, "id": "129", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3777.4826, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 6.0, "ID": 683392.0, "IN_HOUSEHO": 4.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 4.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51214200046228, 39.126554999873754, -84.51144300046235, 39.127079999873686], "geometry": {"coordinates": [[[-84.51168300046233, 39.127079999873686], [-84.51144300046235, 39.127059999873715], [-84.5119480004623, 39.126554999873754], [-84.51214200046228, 39.12685799987372], [-84.51168300046233, 39.127079999873686]]], "type": "Polygon"}, "id": "130", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 3.0, "ID": 683432.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51304400046217, 39.127059999873715, -84.51074300046243, 39.127859999873614], "geometry": {"coordinates": [[[-84.51264400046223, 39.12715999987369], [-84.51304400046217, 39.12715999987369], [-84.51294400046218, 39.127859999873614], [-84.51074300046243, 39.12765999987362], [-84.51144300046235, 39.127059999873715], [-84.51168300046233, 39.127079999873686], [-84.51264400046223, 39.12715999987369]]], "type": "Polygon"}, "id": "131", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 8.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 28.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 3.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 34.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.6, "AVG_HHSIZE": 2.25, "BG": "390610033002", "BLACK": 24.0, "BLOCK": "390610033002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13335.9109, "F1_RACE": 61.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 683449.0, "IN_HOUSEHO": 54.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 2.25, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51294400046218, 39.12765999987362, -84.51074300046243, 39.1290599998735], "geometry": {"coordinates": [[[-84.51294400046218, 39.127859999873614], [-84.51284400046222, 39.12845999987356], [-84.51284400046222, 39.1290599998735], [-84.51124300046237, 39.12895999987351], [-84.51115700046239, 39.12844399987358], [-84.51114300046238, 39.12835999987357], [-84.51074300046243, 39.12765999987362], [-84.51294400046218, 39.127859999873614]]], "type": "Polygon"}, "id": "132", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 1.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.0239, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683469.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5128440004622, 39.12505999987389, -84.50824300046268, 39.127059999873715], "geometry": {"coordinates": [[[-84.51264400046222, 39.125759999873836], [-84.51234600046223, 39.126106999873784], [-84.51204300046227, 39.12645999987375], [-84.5119480004623, 39.126554999873754], [-84.51144300046235, 39.127059999873715], [-84.50878800046263, 39.126810999873726], [-84.5082430004627, 39.126759999873755], [-84.50824300046268, 39.12555999987385], [-84.50834300046267, 39.12505999987389], [-84.50914400046258, 39.1251489998739], [-84.5128440004622, 39.125559999873815], [-84.51264400046222, 39.125759999873836]]], "type": "Polygon"}, "id": "133", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 73.0, "AGE_20_24": 39.0, "AGE_21": 58.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.47, "BG": "390610023001", "BLACK": 36.0, "BLOCK": "390610023001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3467.9192, "F1_RACE": 84.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 19.0, "ID": 683489.0, "IN_HOUSEHO": 84.0, "MALE": 43.0, "MALE_18": 38.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 2.55, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 48.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51144300046235, 39.126759999873755, -84.5082430004627, 39.12765999987362], "geometry": {"coordinates": [[[-84.50878800046263, 39.126810999873726], [-84.51144300046235, 39.127059999873715], [-84.51074300046243, 39.12765999987362], [-84.50944300046257, 39.12745999987369], [-84.50864300046265, 39.12745999987367], [-84.5082430004627, 39.126759999873755], [-84.50878800046263, 39.126810999873726]]], "type": "Polygon"}, "id": "134", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 13.0, "AGE_21": 28.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.62, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5464.4265, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 683513.0, "IN_HOUSEHO": 34.0, "MALE": 16.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.72, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 31.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12745999987367, -84.50784300046276, 39.12895999987352], "geometry": {"coordinates": [[[-84.51124300046237, 39.12895999987351], [-84.51044300046247, 39.12895999987352], [-84.50944300046258, 39.128859999873555], [-84.50870500046265, 39.12876799987356], [-84.50784300046276, 39.12865999987357], [-84.50794300046275, 39.12845999987357], [-84.50844300046269, 39.12795999987365], [-84.50864300046265, 39.12745999987367], [-84.50944300046257, 39.12745999987369], [-84.51074300046243, 39.12765999987362], [-84.51114300046238, 39.12835999987357], [-84.51115700046239, 39.12844399987358], [-84.51124300046237, 39.12895999987351]]], "type": "Polygon"}, "id": "135", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683531.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 23, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12895999987351, -84.51024300046252, 39.13025999987339], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51024300046252, 39.13015999987343], [-84.51044300046247, 39.12895999987352], [-84.51124300046237, 39.12895999987351], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "136", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 14.0, "AGE_18": 58.0, "AGE_20_24": 27.0, "AGE_21": 38.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 47.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.48, "BG": "390610033002", "BLACK": 11.0, "BLOCK": "390610033002015", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16899.405, "F1_RACE": 62.0, "F2_RACES": 5.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 8.0, "ID": 683553.0, "IN_HOUSEHO": 67.0, "MALE": 35.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 44.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.4, "POPULATION": 67.0, "RENTER_SIZ": 2.73, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 45.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51264400046226, 39.1314599998733, -84.51084400046246, 39.132859999873176], "geometry": {"coordinates": [[[-84.51264400046226, 39.13165999987326], [-84.51244400046228, 39.132859999873176], [-84.51084400046246, 39.132759999873166], [-84.51094400046243, 39.1314599998733], [-84.51264400046226, 39.13165999987326]]], "type": "Polygon"}, "id": "137", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683571.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51044300046247, 39.128859999873555, -84.50934300046261, 39.13015999987343], "geometry": {"coordinates": [[[-84.51024300046252, 39.13015999987343], [-84.50934300046261, 39.13005999987343], [-84.50944300046258, 39.128859999873555], [-84.51044300046247, 39.12895999987352], [-84.51024300046252, 39.13015999987343]]], "type": "Polygon"}, "id": "138", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 8.0, "AGE_21": 21.0, "AGE_25_34": 11.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.69, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6312.6006, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 14.0, "ID": 683588.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 1.69, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51114400046241, 39.13015999987343, -84.51014300046252, 39.1314599998733], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51094400046243, 39.1314599998733], [-84.51014300046252, 39.1314599998733], [-84.51024300046252, 39.13015999987343], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "139", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 22.0, "AGE_18": 116.0, "AGE_20_24": 48.0, "AGE_21": 81.0, "AGE_25_34": 30.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 10.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 88.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 1.83, "BG": "390610033002", "BLACK": 27.0, "BLOCK": "390610033002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 31762.3412, "F1_RACE": 121.0, "F2_RACES": 5.0, "FEMALE": 44.0, "FEMALE_18": 42.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 69.0, "HSNG_UNITS": 77.0, "HU_OCCUPIE": 69.0, "HU_VACANT": 8.0, "ID": 683606.0, "IN_HOUSEHO": 126.0, "MALE": 82.0, "MALE_18": 74.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 86.0, "NOT_HISPAN": 125.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 62.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.14, "POPULATION": 126.0, "RENTER_SIZ": 1.79, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 86.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51024300046252, 39.13005999987343, -84.50924300046262, 39.1314599998733], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.51024300046252, 39.13015999987343], [-84.51014300046252, 39.1314599998733], [-84.50924300046262, 39.13135999987332], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "140", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 22.0, "AGE_21": 27.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 30.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.86, "BG": "390610033002", "BLACK": 9.0, "BLOCK": "390610033002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8925.1414, "F1_RACE": 39.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 0.0, "ID": 683623.0, "IN_HOUSEHO": 39.0, "MALE": 22.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.9, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 1.86, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50934300046261, 39.13005999987343, -84.5084430004627, 39.13135999987332], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.50924300046262, 39.13135999987332], [-84.5084430004627, 39.131259999873315], [-84.5085430004627, 39.13005999987343], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "141", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 14.0, "AGE_18": 66.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 58.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 2.03, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19615.1423, "F1_RACE": 70.0, "F2_RACES": 3.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 4.0, "ID": 683641.0, "IN_HOUSEHO": 73.0, "MALE": 45.0, "MALE_18": 40.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 4.0, "POPULATION": 73.0, "RENTER_SIZ": 1.97, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 55.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51094400046243, 39.1314599998733, -84.51004300046255, 39.132759999873166], "geometry": {"coordinates": [[[-84.51094400046243, 39.1314599998733], [-84.51084400046246, 39.132759999873166], [-84.51004300046255, 39.132659999873205], [-84.51014300046252, 39.1314599998733], [-84.51094400046243, 39.1314599998733]]], "type": "Polygon"}, "id": "142", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 95.0, "AGE_20_24": 55.0, "AGE_21": 77.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 6.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.1, "BG": "390610033002", "BLACK": 29.0, "BLOCK": "390610033002005", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 28178.8347, "F1_RACE": 102.0, "F2_RACES": 3.0, "FEMALE": 49.0, "FEMALE_18": 40.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 12.0, "ID": 683658.0, "IN_HOUSEHO": 105.0, "MALE": 56.0, "MALE_18": 55.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.5, "POPULATION": 105.0, "RENTER_SIZ": 2.08, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 58.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51014300046252, 39.13135999987332, -84.50914300046264, 39.132659999873205], "geometry": {"coordinates": [[[-84.51004300046255, 39.132659999873205], [-84.50984300046255, 39.132659999873205], [-84.50914300046264, 39.132659999873205], [-84.50924300046262, 39.13135999987332], [-84.51014300046252, 39.1314599998733], [-84.51004300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "143", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683676.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50924300046262, 39.131259999873315, -84.5084430004627, 39.132659999873205], "geometry": {"coordinates": [[[-84.50924300046262, 39.13135999987332], [-84.50914300046264, 39.132659999873205], [-84.50844300046272, 39.13255999987321], [-84.5084430004627, 39.131259999873315], [-84.50924300046262, 39.13135999987332]]], "type": "Polygon"}, "id": "144", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 64.0, "AGE_20_24": 31.0, "AGE_21": 51.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 42.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610033002", "BLACK": 25.0, "BLOCK": "390610033002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19013.5995, "F1_RACE": 65.0, "F2_RACES": 4.0, "FEMALE": 26.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 36.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 6.0, "ID": 683695.0, "IN_HOUSEHO": 69.0, "MALE": 43.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.9, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 69.0, "RENTER_SIZ": 1.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51914400046158, 39.134959999872954, -84.51474400046204, 39.138259999872645], "geometry": {"coordinates": [[[-84.51744400046175, 39.134959999872954], [-84.51914400046158, 39.134959999872954], [-84.51764400046174, 39.136959999872786], [-84.51574400046195, 39.138259999872645], [-84.51514400046202, 39.1377599998727], [-84.51494400046204, 39.1365599998728], [-84.515144000462, 39.13585999987289], [-84.51474400046204, 39.13565999987291], [-84.51644400046186, 39.13505999987293], [-84.51744400046175, 39.134959999872954]]], "type": "Polygon"}, "id": "145", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683712.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.515044000462, 39.132759999873166, -84.51054400046252, 39.13565999987291], "geometry": {"coordinates": [[[-84.51244400046228, 39.132859999873176], [-84.515044000462, 39.13305999987313], [-84.51484400046203, 39.13425999987301], [-84.51474400046204, 39.13565999987291], [-84.51384400046216, 39.13555999987291], [-84.51271800046229, 39.135491999872926], [-84.51212000046235, 39.13545599987292], [-84.51054400046252, 39.135359999872946], [-84.5106440004625, 39.13485999987298], [-84.51074400046248, 39.13405999987305], [-84.51084400046246, 39.132759999873166], [-84.51244400046228, 39.132859999873176]]], "type": "Polygon"}, "id": "146", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 10.0, "AGE_15_19": 249.0, "AGE_18": 1029.0, "AGE_20_24": 412.0, "AGE_21": 618.0, "AGE_25_34": 251.0, "AGE_35_44": 71.0, "AGE_45_54": 30.0, "AGE_55_59": 8.0, "AGE_5_9": 28.0, "AGE_60_64": 6.0, "AGE_62": 10.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 387.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 24.0, "AP_OTHER": 37.0, "AP_WHITE": 459.0, "AREA": 0.04, "ASIAN": 372.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.69, "AVG_HHSIZE": 1.92, "BG": "390610030002", "BLACK": 244.0, "BLOCK": "390610030002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27691.1011, "F1_RACE": 1072.0, "F2_RACES": 36.0, "FEMALE": 470.0, "FEMALE_18": 429.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 423.0, "GROUP_QUAR": 423.0, "HAWAIIAN": 5.0, "HH_FAMILY": 119.0, "HH_NONFAMI": 237.0, "HOUSEHOLDS": 356.0, "HSNG_UNITS": 362.0, "HU_OCCUPIE": 356.0, "HU_VACANT": 6.0, "ID": 683730.0, "IN_HOUSEHO": 685.0, "MALE": 638.0, "MALE_18": 600.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 422.0, "NOT_HISPAN": 1084.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 354.0, "OTHER_RACE": 15.0, "OWNER_SIZE": 1.5, "POPULATION": 1108.0, "RENTER_SIZ": 1.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 435.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50194300046337, 39.12465999987397, -84.4999430004636, 39.126359999873806], "geometry": {"coordinates": [[[-84.50174300046339, 39.12475999987396], [-84.50194300046337, 39.125159999873944], [-84.5017430004634, 39.126359999873806], [-84.4999430004636, 39.12625999987383], [-84.50014300046355, 39.12465999987397], [-84.50174300046339, 39.12475999987396]]], "type": "Polygon"}, "id": "147", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697320.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50324300046324, 39.127259999873715, -84.50164300046343, 39.12815999987364], "geometry": {"coordinates": [[[-84.50324300046324, 39.12735999987369], [-84.50314300046327, 39.12815999987364], [-84.50164300046343, 39.12805999987364], [-84.5018430004634, 39.127259999873715], [-84.50324300046324, 39.12735999987369]]], "type": "Polygon"}, "id": "148", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 3.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 13.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.13, "BG": "390610033001", "BLACK": 14.0, "BLOCK": "390610033001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6204.9883, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 8.0, "ID": 697337.0, "IN_HOUSEHO": 27.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 27.0, "RENTER_SIZ": 1.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 13.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.12805999987364, -84.50164300046343, 39.12865999987358], "geometry": {"coordinates": [[[-84.50314300046327, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50164300046343, 39.12805999987364], [-84.50314300046327, 39.12815999987364]]], "type": "Polygon"}, "id": "149", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 697355.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5018430004634, 39.126359999873806, -84.49914300046369, 39.12865999987358], "geometry": {"coordinates": [[[-84.50164300046343, 39.12805999987364], [-84.50164300046343, 39.12865999987358], [-84.49914300046369, 39.128259999873634], [-84.49984300046361, 39.127759999873675], [-84.50094300046348, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.5018430004634, 39.127259999873715], [-84.50164300046343, 39.12805999987364]]], "type": "Polygon"}, "id": "150", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697372.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50454300046312, 39.12795999987365, -84.50294300046332, 39.13085999987339], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50294300046332, 39.13075999987339], [-84.50324300046326, 39.128259999873634], [-84.50334300046325, 39.12815999987364], [-84.50454300046312, 39.12795999987365], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "151", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 119.0, "AGE_20_24": 35.0, "AGE_21": 109.0, "AGE_25_34": 26.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 8.0, "AGE_62": 13.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 2.0, "AP_WHITE": 52.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.66, "BG": "390610033001", "BLACK": 80.0, "BLOCK": "390610033001007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10556.7195, "F1_RACE": 137.0, "F2_RACES": 1.0, "FEMALE": 64.0, "FEMALE_18": 55.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 57.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 697392.0, "IN_HOUSEHO": 138.0, "MALE": 74.0, "MALE_18": 64.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 132.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 74.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.56, "POPULATION": 138.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 51.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13075999987339, -84.50284300046332, 39.13155999987331], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50424300046318, 39.13155999987331], [-84.50284300046332, 39.13145999987332], [-84.50294300046332, 39.13075999987339], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "152", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 8.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 10.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 71.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.52, "BG": "390610033001", "BLACK": 71.0, "BLOCK": "390610033001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23024.8535, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 7.0, "ID": 697411.0, "IN_HOUSEHO": 81.0, "MALE": 42.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.83, "POPULATION": 81.0, "RENTER_SIZ": 3.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 10.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13225999987324, -84.50414300046317, 39.13305999987318], "geometry": {"coordinates": [[[-84.50504300046309, 39.13235999987324], [-84.5049430004631, 39.13305999987318], [-84.50414300046319, 39.13305999987318], [-84.50414300046317, 39.13225999987324], [-84.50504300046309, 39.13235999987324]]], "type": "Polygon"}, "id": "153", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 15.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.82, "BG": "390610032002", "BLACK": 25.0, "BLOCK": "390610032002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16878.2214, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 0.0, "ID": 697428.0, "IN_HOUSEHO": 40.0, "MALE": 21.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 40.0, "RENTER_SIZ": 1.81, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13145999987332, -84.50274300046333, 39.13225999987324], "geometry": {"coordinates": [[[-84.50424300046318, 39.13155999987331], [-84.50414300046317, 39.13225999987324], [-84.50274300046333, 39.13215999987327], [-84.50284300046332, 39.13145999987332], [-84.50424300046318, 39.13155999987331]]], "type": "Polygon"}, "id": "154", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 35.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 5.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.59, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12002.0838, "F1_RACE": 43.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 697446.0, "IN_HOUSEHO": 44.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 4.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.5, "POPULATION": 44.0, "RENTER_SIZ": 2.31, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 5.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13215999987327, -84.50264300046334, 39.13305999987318], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.50264300046334, 39.13285999987319], [-84.50274300046333, 39.13215999987327], [-84.50414300046317, 39.13225999987324], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "155", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 10.0, "AGE_18": 79.0, "AGE_20_24": 33.0, "AGE_21": 66.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.17, "BG": "390610032002", "BLACK": 59.0, "BLOCK": "390610032002019", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24662.0841, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 50.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 4.0, "ID": 697463.0, "IN_HOUSEHO": 100.0, "MALE": 50.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 38.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 100.0, "RENTER_SIZ": 2.14, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 38.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.128259999873634, -84.50144300046345, 39.13075999987339], "geometry": {"coordinates": [[[-84.50294300046332, 39.13075999987339], [-84.50144300046345, 39.13065999987342], [-84.50154300046344, 39.12945999987352], [-84.50164300046343, 39.12865999987358], [-84.50324300046326, 39.128259999873634], [-84.50294300046332, 39.13075999987339]]], "type": "Polygon"}, "id": "156", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50294300046332, 39.13065999987342, -84.5012430004635, 39.132359999873266], "geometry": {"coordinates": [[[-84.50284300046332, 39.13145999987332], [-84.50274300046333, 39.13215999987327], [-84.50174300046343, 39.13225999987326], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13195999987329], [-84.50144300046345, 39.13065999987342], [-84.50294300046332, 39.13075999987339], [-84.50284300046332, 39.13145999987332]]], "type": "Polygon"}, "id": "157", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 150.0, "AGE_20_24": 13.0, "AGE_21": 144.0, "AGE_25_34": 30.0, "AGE_35_44": 27.0, "AGE_45_54": 27.0, "AGE_55_59": 14.0, "AGE_5_9": 18.0, "AGE_60_64": 8.0, "AGE_62": 33.0, "AGE_65": 28.0, "AGE_65_74": 17.0, "AGE_75_84": 8.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 179.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.79, "BG": "390610033001", "BLACK": 174.0, "BLOCK": "390610033001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 22368.6271, "F1_RACE": 188.0, "F2_RACES": 5.0, "FEMALE": 121.0, "FEMALE_18": 93.0, "FEMALE_65": 22.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 108.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 108.0, "HU_VACANT": 7.0, "ID": 697498.0, "IN_HOUSEHO": 193.0, "MALE": 72.0, "MALE_18": 57.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 189.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 103.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.0, "POPULATION": 193.0, "RENTER_SIZ": 1.73, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50274300046333, 39.13215999987327, -84.5012430004635, 39.13285999987319], "geometry": {"coordinates": [[[-84.50274300046333, 39.13215999987327], [-84.50264300046334, 39.13285999987319], [-84.5012430004635, 39.13285999987319], [-84.5012430004635, 39.132359999873266], [-84.50174300046343, 39.13225999987326], [-84.50274300046333, 39.13215999987327]]], "type": "Polygon"}, "id": "158", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 11.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 32.0, "BLOCK": "390610032002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15171.3464, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 1.0, "ID": 697517.0, "IN_HOUSEHO": 50.0, "MALE": 28.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 50.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 18.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50144300046345, 39.130459999873445, -84.49964300046366, 39.13265999987324], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.5012430004635, 39.13195999987329], [-84.5012430004635, 39.132359999873266], [-84.49964300046366, 39.13265999987324], [-84.49974300046365, 39.13155999987333], [-84.49994300046363, 39.130459999873445], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "159", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 6.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 23.0, "BLOCK": "390610034002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3035.2329, "F1_RACE": 33.0, "F2_RACES": 1.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 0.0, "ID": 697534.0, "IN_HOUSEHO": 34.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 34.0, "RENTER_SIZ": 1.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 9.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.13245999987321, -84.50734300046284, 39.13385999987311], "geometry": {"coordinates": [[[-84.50844300046272, 39.13255999987321], [-84.50834300046274, 39.13385999987311], [-84.50814300046274, 39.133859999873096], [-84.50734300046284, 39.133859999873096], [-84.50744300046281, 39.13245999987321], [-84.50844300046272, 39.13255999987321]]], "type": "Polygon"}, "id": "160", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 43.0, "AGE_20_24": 18.0, "AGE_21": 37.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 2.38, "BG": "390610032002", "BLACK": 36.0, "BLOCK": "390610032002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9965.0563, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 697553.0, "IN_HOUSEHO": 50.0, "MALE": 30.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.25, "POPULATION": 50.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 12.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50904300046265, 39.133859999873096, -84.50804300046278, 39.13515999987295], "geometry": {"coordinates": [[[-84.50904300046265, 39.133859999873096], [-84.50894300046268, 39.13515999987295], [-84.50804300046278, 39.13515999987295], [-84.50814300046274, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50904300046265, 39.133859999873096]]], "type": "Polygon"}, "id": "161", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 3.0, "AGE_18": 57.0, "AGE_20_24": 19.0, "AGE_21": 52.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.97, "BG": "390610032002", "BLACK": 45.0, "BLOCK": "390610032002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15926.4729, "F1_RACE": 68.0, "F2_RACES": 1.0, "FEMALE": 27.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 697572.0, "IN_HOUSEHO": 69.0, "MALE": 42.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.4, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 69.0, "RENTER_SIZ": 1.97, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50814300046274, 39.133859999873096, -84.50734300046284, 39.13515999987295], "geometry": {"coordinates": [[[-84.50804300046278, 39.13515999987295], [-84.50734300046285, 39.13505999987297], [-84.50734300046284, 39.133859999873096], [-84.50814300046274, 39.133859999873096], [-84.50804300046278, 39.13515999987295]]], "type": "Polygon"}, "id": "162", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 45.0, "AGE_20_24": 9.0, "AGE_21": 42.0, "AGE_25_34": 11.0, "AGE_35_44": 13.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.44, "BG": "390610032002", "BLACK": 44.0, "BLOCK": "390610032002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17524.9649, "F1_RACE": 59.0, "F2_RACES": 2.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 697590.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 61.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50944400046265, 39.13505999987297, -84.50544300046307, 39.137659999872724], "geometry": {"coordinates": [[[-84.50554300046306, 39.13585999987293], [-84.50554300046305, 39.13545999987295], [-84.50554300046305, 39.13515999987297], [-84.50714300046289, 39.13505999987297], [-84.50734300046285, 39.13505999987297], [-84.50804300046278, 39.13515999987295], [-84.50894300046268, 39.13515999987295], [-84.50904300046267, 39.13595999987288], [-84.50944400046265, 39.137659999872724], [-84.50826100046277, 39.137578999872744], [-84.50644300046295, 39.136759999872815], [-84.50544300046307, 39.13665999987285], [-84.50554300046306, 39.13585999987293]]], "type": "Polygon"}, "id": "163", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697608.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50734300046285, 39.1336599998731, -84.50554300046305, 39.13515999987297], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50734300046285, 39.13505999987297], [-84.50714300046289, 39.13505999987297], [-84.50554300046305, 39.13515999987297], [-84.50564300046304, 39.134459999873044], [-84.50574300046303, 39.1336599998731], [-84.50654300046293, 39.13375999987311], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "164", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 44.0, "AGE_20_24": 13.0, "AGE_21": 43.0, "AGE_25_34": 14.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.21, "BG": "390610032002", "BLACK": 34.0, "BLOCK": "390610032002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6263.9059, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 23.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 697632.0, "IN_HOUSEHO": 53.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 53.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 17.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13305999987318, -84.5049430004631, 39.133659999873124], "geometry": {"coordinates": [[[-84.505843000463, 39.13315999987314], [-84.50574300046303, 39.1336599998731], [-84.5049430004631, 39.133659999873124], [-84.5049430004631, 39.13305999987318], [-84.505843000463, 39.13315999987314]]], "type": "Polygon"}, "id": "165", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 1.0, "AGE_21": 9.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 3.0, "BLOCK": "390610032002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5745.7963, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 697652.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 10.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50574300046303, 39.1336599998731, -84.50484300046311, 39.134459999873044], "geometry": {"coordinates": [[[-84.50574300046303, 39.1336599998731], [-84.50564300046304, 39.134459999873044], [-84.50484300046311, 39.13435999987304], [-84.5049430004631, 39.133659999873124], [-84.50574300046303, 39.1336599998731]]], "type": "Polygon"}, "id": "166", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610032002", "BLACK": 24.0, "BLOCK": "390610032002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12498.4938, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 697669.0, "IN_HOUSEHO": 28.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 28.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50564300046304, 39.13435999987304, -84.50474300046312, 39.13515999987297], "geometry": {"coordinates": [[[-84.50564300046304, 39.134459999873044], [-84.50554300046305, 39.13515999987297], [-84.50474300046312, 39.135059999872986], [-84.50484300046311, 39.13435999987304], [-84.50564300046304, 39.134459999873044]]], "type": "Polygon"}, "id": "167", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 21.0, "AGE_20_24": 11.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.25, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12792.2919, "F1_RACE": 26.0, "F2_RACES": 1.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 4.0, "ID": 697687.0, "IN_HOUSEHO": 27.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 27.0, "RENTER_SIZ": 2.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50554300046305, 39.13505999987297, -84.50384300046323, 39.13545999987295], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.13505999987297], [-84.50474300046312, 39.135059999872986], [-84.50554300046305, 39.13515999987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "168", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 88.0, "AGE_20_24": 38.0, "AGE_21": 82.0, "AGE_25_34": 37.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 27.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 56.0, "AREA": 0.0, "ASIAN": 26.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.38, "BG": "390610032001", "BLACK": 12.0, "BLOCK": "390610032001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 45600.0576, "F1_RACE": 91.0, "F2_RACES": 3.0, "FEMALE": 55.0, "FEMALE_18": 50.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 0.0, "ID": 697704.0, "IN_HOUSEHO": 94.0, "MALE": 39.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 68.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 94.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 53.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50554300046306, 39.13536199987297, -84.50374300046326, 39.13665999987285], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50554300046306, 39.13585999987293], [-84.50544300046307, 39.13665999987285], [-84.50374300046326, 39.13655999987285], [-84.50384300046323, 39.135759999872924], [-84.50384300046323, 39.13536199987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "169", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697723.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50934400046268, 39.140259999872484, -84.50744400046288, 39.14125999987239], "geometry": {"coordinates": [[[-84.50934400046268, 39.140259999872484], [-84.50924400046269, 39.14125999987239], [-84.50744400046288, 39.141159999872414], [-84.50754300046286, 39.140259999872505], [-84.50934400046268, 39.140259999872484]]], "type": "Polygon"}, "id": "170", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 28.0, "AGE_20_24": 6.0, "AGE_21": 27.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.5, "BG": "390610032001", "BLACK": 21.0, "BLOCK": "390610032001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5510.4161, "F1_RACE": 30.0, "F2_RACES": 5.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 697743.0, "IN_HOUSEHO": 35.0, "MALE": 21.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 35.0, "RENTER_SIZ": 2.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 5.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50954400046263, 39.13665999987285, -84.50024300046367, 39.142259999872316], "geometry": {"coordinates": [[[-84.50924400046269, 39.14125999987239], [-84.5092440004627, 39.142259999872316], [-84.50574300046307, 39.14205999987235], [-84.50324300046334, 39.14185999987239], [-84.50304300046336, 39.141859999872366], [-84.50024300046367, 39.1416599998724], [-84.50034300046366, 39.1406599998725], [-84.50054300046362, 39.139659999872585], [-84.50054300046362, 39.13935999987259], [-84.5006430004636, 39.138359999872684], [-84.5015430004635, 39.13845999987268], [-84.50214300046343, 39.13935999987259], [-84.50504300046315, 39.13955999987258], [-84.50537800046308, 39.137129999872776], [-84.50544300046307, 39.13665999987285], [-84.50644300046295, 39.136759999872815], [-84.50826100046277, 39.137578999872744], [-84.50944400046265, 39.137659999872724], [-84.50954400046263, 39.138059999872695], [-84.50934400046268, 39.140259999872484], [-84.50754300046286, 39.140259999872505], [-84.50744400046288, 39.141159999872414], [-84.50924400046269, 39.14125999987239]]], "type": "Polygon"}, "id": "171", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 297.0, "AGE_20_24": 46.0, "AGE_21": 290.0, "AGE_25_34": 69.0, "AGE_35_44": 49.0, "AGE_45_54": 48.0, "AGE_55_59": 15.0, "AGE_5_9": 5.0, "AGE_60_64": 10.0, "AGE_62": 62.0, "AGE_65": 56.0, "AGE_65_74": 27.0, "AGE_75_84": 25.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 50.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 9.0, "AP_WHITE": 155.0, "AREA": 0.12, "ASIAN": 44.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.71, "BG": "390610032001", "BLACK": 122.0, "BLOCK": "390610032001000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2794.7365, "F1_RACE": 317.0, "F2_RACES": 12.0, "FEMALE": 109.0, "FEMALE_18": 95.0, "FEMALE_65": 13.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 90.0, "HOUSEHOLDS": 133.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 133.0, "HU_VACANT": 17.0, "ID": 697760.0, "IN_HOUSEHO": 228.0, "MALE": 220.0, "MALE_18": 202.0, "MALE_65": 43.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 148.0, "NOT_HISPAN": 327.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 107.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.27, "POPULATION": 329.0, "RENTER_SIZ": 1.58, "THEFT": 33, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 148.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13305999987318, -84.5040430004632, 39.133659999873124], "geometry": {"coordinates": [[[-84.5049430004631, 39.13305999987318], [-84.5049430004631, 39.133659999873124], [-84.5040430004632, 39.13355999987311], [-84.50414300046319, 39.13305999987318], [-84.5049430004631, 39.13305999987318]]], "type": "Polygon"}, "id": "172", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 13.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 28.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.23, "AVG_HHSIZE": 3.53, "BG": "390610032002", "BLACK": 53.0, "BLOCK": "390610032002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 34474.8115, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 21.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 4.0, "ID": 697792.0, "IN_HOUSEHO": 60.0, "MALE": 24.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 60.0, "RENTER_SIZ": 3.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13355999987311, -84.5040430004632, 39.13435999987306], "geometry": {"coordinates": [[[-84.5049430004631, 39.133659999873124], [-84.50484300046311, 39.13435999987304], [-84.5040430004632, 39.13435999987306], [-84.5040430004632, 39.13355999987311], [-84.5049430004631, 39.133659999873124]]], "type": "Polygon"}, "id": "173", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 24.0, "AGE_25_34": 8.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 31.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.31, "BG": "390610032002", "BLACK": 30.0, "BLOCK": "390610032002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15612.5144, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 697810.0, "IN_HOUSEHO": 37.0, "MALE": 17.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50484300046311, 39.13435999987304, -84.50384300046323, 39.135059999872986], "geometry": {"coordinates": [[[-84.50484300046311, 39.13435999987304], [-84.50474300046312, 39.135059999872986], [-84.50384300046323, 39.13505999987297], [-84.5040430004632, 39.13435999987306], [-84.50484300046311, 39.13435999987304]]], "type": "Polygon"}, "id": "174", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 0.0, "BLOCK": "390610032002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697827.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13285999987319, -84.50264300046334, 39.13355999987311], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.5040430004632, 39.13355999987311], [-84.50264300046335, 39.13345999987315], [-84.50264300046334, 39.13285999987319], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "175", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 4.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 14.0, "AGE_21": 71.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 16.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 98.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610032002", "BLACK": 96.0, "BLOCK": "390610032002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35895.2371, "F1_RACE": 105.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 2.0, "ID": 697845.0, "IN_HOUSEHO": 107.0, "MALE": 50.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.7, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 9.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13345999987315, -84.50254300046338, 39.13435999987306], "geometry": {"coordinates": [[[-84.5040430004632, 39.13355999987311], [-84.5040430004632, 39.13435999987306], [-84.50254300046338, 39.13425999987308], [-84.50264300046335, 39.13345999987315], [-84.5040430004632, 39.13355999987311]]], "type": "Polygon"}, "id": "176", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 33.0, "AGE_20_24": 12.0, "AGE_21": 33.0, "AGE_25_34": 18.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 9.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 9.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.22, "BG": "390610032002", "BLACK": 7.0, "BLOCK": "390610032002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7649.6439, "F1_RACE": 32.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 1.0, "ID": 697862.0, "IN_HOUSEHO": 33.0, "MALE": 15.0, "MALE_18": 15.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 33.0, "RENTER_SIZ": 1.22, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13425999987308, -84.50244300046339, 39.13505999987297], "geometry": {"coordinates": [[[-84.5040430004632, 39.13435999987306], [-84.50384300046323, 39.13505999987297], [-84.50244300046339, 39.13495999987302], [-84.50254300046338, 39.13425999987308], [-84.5040430004632, 39.13435999987306]]], "type": "Polygon"}, "id": "177", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 22.0, "AGE_20_24": 4.0, "AGE_21": 19.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.92, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6030.4194, "F1_RACE": 19.0, "F2_RACES": 4.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 2.0, "ID": 697880.0, "IN_HOUSEHO": 23.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.86, "POPULATION": 23.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13495999987302, -84.50244300046339, 39.13536199987297], "geometry": {"coordinates": [[[-84.50384300046323, 39.13505999987297], [-84.50384300046323, 39.13536199987297], [-84.50244300046339, 39.13528099987297], [-84.50244300046339, 39.13495999987302], [-84.50384300046323, 39.13505999987297]]], "type": "Polygon"}, "id": "178", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697897.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.129259999873604, -84.48394300046536, 39.13075999987347], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.48394300046536, 39.13065999987348], [-84.48404300046533, 39.129459999873596], [-84.48414300046532, 39.129259999873604], [-84.48574300046515, 39.129359999873586], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "179", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707099.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.131759999873395, -84.4854430004652, 39.132659999873304], "geometry": {"coordinates": [[[-84.48684300046504, 39.13185999987336], [-84.48684300046504, 39.132659999873304], [-84.4854430004652, 39.1325599998733], [-84.4854430004652, 39.131759999873395], [-84.48684300046504, 39.13185999987336]]], "type": "Polygon"}, "id": "180", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.0, "BG": "390610036001", "BLACK": 20.0, "BLOCK": "390610036001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4822.2972, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 7.0, "ID": 707117.0, "IN_HOUSEHO": 20.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 47.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 20.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48596700046515, 39.13276599987328, -84.48504300046523, 39.133397999873225], "geometry": {"coordinates": [[[-84.48596700046515, 39.133397999873225], [-84.48504300046524, 39.13335999987322], [-84.48504300046523, 39.13276599987328], [-84.48596700046515, 39.133397999873225]]], "type": "Polygon"}, "id": "181", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610036001", "BLACK": 5.0, "BLOCK": "390610036001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4920.2886, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 707135.0, "IN_HOUSEHO": 5.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 5.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48554300046517, 39.13065999987348, -84.48384300046537, 39.131759999873395], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.4854430004652, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131619999873394], [-84.48384300046537, 39.131359999873425], [-84.48394300046536, 39.13065999987348], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "182", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 21.0, "AGE_20_24": 0.0, "AGE_21": 20.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.36, "BG": "390610037003", "BLACK": 33.0, "BLOCK": "390610037003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5240.2265, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 16.0, "ID": 707151.0, "IN_HOUSEHO": 33.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 30.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 2.5, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4854430004652, 39.131759999873395, -84.48383200046537, 39.1325599998733], "geometry": {"coordinates": [[[-84.4854430004652, 39.131759999873395], [-84.4854430004652, 39.1325599998733], [-84.48504300046523, 39.1325599998733], [-84.48480700046527, 39.132559999873294], [-84.48383200046537, 39.13184799987338], [-84.48384300046537, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.4854430004652, 39.131759999873395]]], "type": "Polygon"}, "id": "183", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 707171.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48504300046523, 39.132559999873294, -84.48480700046527, 39.13276599987328], "geometry": {"coordinates": [[[-84.48504300046523, 39.1325599998733], [-84.48504300046523, 39.13276599987328], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.1325599998733]]], "type": "Polygon"}, "id": "184", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 707192.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48480700046527, 39.13184799987338, -84.48374300046537, 39.13255999987331], "geometry": {"coordinates": [[[-84.48480700046527, 39.132559999873294], [-84.48374300046537, 39.13255999987331], [-84.48383200046537, 39.13184799987338], [-84.48480700046527, 39.132559999873294]]], "type": "Polygon"}, "id": "185", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036001", "BLACK": 3.0, "BLOCK": "390610036001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2138.8145, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707208.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49294300046441, 39.13435999987311, -84.49154300046456, 39.13585999987298], "geometry": {"coordinates": [[[-84.49234300046446, 39.13435999987311], [-84.49294300046441, 39.134459999873094], [-84.49244300046446, 39.135159999873025], [-84.49221400046447, 39.135337999873], [-84.49154300046456, 39.13585999987298], [-84.49234300046446, 39.13435999987311]]], "type": "Polygon"}, "id": "186", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707224.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49234300046447, 39.135337999873, -84.49154300046456, 39.13675999987287], "geometry": {"coordinates": [[[-84.49234300046447, 39.13675999987287], [-84.49154300046457, 39.1366599998729], [-84.49154300046456, 39.13585999987298], [-84.49221400046447, 39.135337999873], [-84.49224300046448, 39.135659999872985], [-84.49234300046447, 39.13675999987287]]], "type": "Polygon"}, "id": "187", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610034001", "BLACK": 2.0, "BLOCK": "390610034001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 650.2932, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707242.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 69.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49234300046446, 39.13435999987311, -84.49014300046471, 39.13645999987293], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49014300046471, 39.13645999987293], [-84.49064300046464, 39.135159999873025], [-84.49164300046453, 39.13435999987311], [-84.49234300046446, 39.13435999987311], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "188", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707261.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.13585999987298, -84.49014300046471, 39.13675999987289], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49154300046457, 39.1366599998729], [-84.49014300046471, 39.13675999987289], [-84.49014300046471, 39.13645999987293], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "189", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49244300046446, 39.13315999987322, -84.487443000465, 39.13435999987311], "geometry": {"coordinates": [[[-84.49244300046446, 39.13415999987311], [-84.49234300046446, 39.13435999987311], [-84.49164300046453, 39.13435999987311], [-84.487443000465, 39.133659999873196], [-84.487443000465, 39.133459999873224], [-84.48764300046497, 39.13315999987322], [-84.48994300046472, 39.13325999987322], [-84.49174300046454, 39.13335999987318], [-84.49174300046455, 39.13415999987313], [-84.49244300046446, 39.13415999987311]]], "type": "Polygon"}, "id": "190", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 132.0, "AGE_20_24": 14.0, "AGE_21": 129.0, "AGE_25_34": 22.0, "AGE_35_44": 26.0, "AGE_45_54": 23.0, "AGE_55_59": 8.0, "AGE_5_9": 12.0, "AGE_60_64": 8.0, "AGE_62": 32.0, "AGE_65": 28.0, "AGE_65_74": 14.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.68, "BG": "390610036002", "BLACK": 153.0, "BLOCK": "390610036002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12689.6134, "F1_RACE": 157.0, "F2_RACES": 3.0, "FEMALE": 92.0, "FEMALE_18": 76.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 95.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 95.0, "HU_VACANT": 10.0, "ID": 707297.0, "IN_HOUSEHO": 160.0, "MALE": 68.0, "MALE_18": 56.0, "MALE_65": 12.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 91.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.25, "POPULATION": 160.0, "RENTER_SIZ": 1.66, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49164300046453, 39.133659999873196, -84.48724300046503, 39.135159999873025], "geometry": {"coordinates": [[[-84.487443000465, 39.133659999873196], [-84.49164300046453, 39.13435999987311], [-84.49064300046464, 39.135159999873025], [-84.48994300046473, 39.134959999873075], [-84.48924300046481, 39.13485999987306], [-84.48874300046486, 39.13445999987311], [-84.48724300046503, 39.133859999873174], [-84.487443000465, 39.133659999873196]]], "type": "Polygon"}, "id": "191", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036002", "BLACK": 3.0, "BLOCK": "390610036002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 298.4113, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707320.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49064300046464, 39.13445999987311, -84.48614300046516, 39.13845999987274], "geometry": {"coordinates": [[[-84.49064300046464, 39.135159999873025], [-84.49014300046471, 39.13645999987293], [-84.48808200046494, 39.137448999872845], [-84.48764300046498, 39.13765999987284], [-84.48644300046513, 39.13845999987274], [-84.48614300046516, 39.13805999987279], [-84.48622800046516, 39.13771799987283], [-84.48624300046515, 39.13765999987284], [-84.48724300046504, 39.13655999987293], [-84.48804300046494, 39.13555999987301], [-84.48844300046488, 39.134959999873075], [-84.48874300046486, 39.13445999987311], [-84.48924300046481, 39.13485999987306], [-84.48994300046473, 39.134959999873075], [-84.49064300046464, 39.135159999873025]]], "type": "Polygon"}, "id": "192", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 16.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 16.0, "AGE_35_44": 17.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 26.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 109.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 3.21, "BG": "390610036002", "BLACK": 109.0, "BLOCK": "390610036002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4125.8625, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 31.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 12.0, "ID": 707340.0, "IN_HOUSEHO": 109.0, "MALE": 49.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 109.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 109.0, "RENTER_SIZ": 3.32, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.1366599998729, -84.49014300046471, 39.13845999987273], "geometry": {"coordinates": [[[-84.49154300046457, 39.1366599998729], [-84.49124300046462, 39.13785999987278], [-84.4903430004647, 39.13845999987273], [-84.4903430004647, 39.138259999872766], [-84.49014300046471, 39.13675999987289], [-84.49154300046457, 39.1366599998729]]], "type": "Polygon"}, "id": "193", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707365.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49114300046465, 39.139459999872614, -84.48944300046483, 39.140859999872504], "geometry": {"coordinates": [[[-84.49114300046465, 39.139459999872614], [-84.49094300046467, 39.140859999872504], [-84.48974300046478, 39.140859999872504], [-84.48944300046483, 39.14075999987253], [-84.4896430004648, 39.13955999987264], [-84.49044300046471, 39.13945999987263], [-84.49114300046465, 39.139459999872614]]], "type": "Polygon"}, "id": "194", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 18.0, "AGE_15_19": 16.0, "AGE_18": 97.0, "AGE_20_24": 11.0, "AGE_21": 92.0, "AGE_25_34": 20.0, "AGE_35_44": 23.0, "AGE_45_54": 15.0, "AGE_55_59": 7.0, "AGE_5_9": 13.0, "AGE_60_64": 6.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610067001", "BLACK": 147.0, "BLOCK": "390610067001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19678.1357, "F1_RACE": 149.0, "F2_RACES": 0.0, "FEMALE": 71.0, "FEMALE_18": 53.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 62.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 62.0, "HU_VACANT": 12.0, "ID": 707382.0, "IN_HOUSEHO": 149.0, "MALE": 78.0, "MALE_18": 44.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 149.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 149.0, "RENTER_SIZ": 2.31, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4903430004647, 39.13645999987293, -84.48644300046513, 39.13965999987265], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48644300046513, 39.13845999987274], [-84.48764300046498, 39.13765999987284], [-84.48808200046494, 39.137448999872845], [-84.49014300046471, 39.13645999987293], [-84.49014300046471, 39.13675999987289], [-84.4903430004647, 39.138259999872766], [-84.4903430004647, 39.13845999987273], [-84.48724300046506, 39.13965999987265], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "195", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 15.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 6.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.7, "BG": "390610067001", "BLACK": 26.0, "BLOCK": "390610067001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1123.5003, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 707402.0, "IN_HOUSEHO": 27.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 18.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 2.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49044300046471, 39.13845999987273, -84.48724300046506, 39.13985999987262], "geometry": {"coordinates": [[[-84.4903430004647, 39.13845999987273], [-84.49044300046471, 39.13945999987263], [-84.4896430004648, 39.13955999987264], [-84.48834300046495, 39.13985999987262], [-84.48734300046505, 39.13985999987261], [-84.48724300046506, 39.13965999987265], [-84.4903430004647, 39.13845999987273]]], "type": "Polygon"}, "id": "196", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 18.0, "AGE_20_24": 1.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.87, "BG": "390610067001", "BLACK": 27.0, "BLOCK": "390610067001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3626.9663, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 5.0, "ID": 707424.0, "IN_HOUSEHO": 28.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 28.0, "RENTER_SIZ": 2.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4896430004648, 39.13955999987264, -84.48734300046505, 39.14075999987253], "geometry": {"coordinates": [[[-84.4896430004648, 39.13955999987264], [-84.48944300046483, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.487743000465, 39.14045999987258], [-84.48734300046505, 39.13985999987261], [-84.48834300046495, 39.13985999987262], [-84.4896430004648, 39.13955999987264]]], "type": "Polygon"}, "id": "197", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 13.0, "AGE_15_19": 12.0, "AGE_18": 66.0, "AGE_20_24": 5.0, "AGE_21": 59.0, "AGE_25_34": 17.0, "AGE_35_44": 14.0, "AGE_45_54": 12.0, "AGE_55_59": 4.0, "AGE_5_9": 17.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 3.26, "BG": "390610067001", "BLACK": 107.0, "BLOCK": "390610067001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16117.6625, "F1_RACE": 111.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 9.0, "ID": 707443.0, "IN_HOUSEHO": 111.0, "MALE": 59.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 111.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 111.0, "RENTER_SIZ": 3.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48874300046486, 39.133859999873174, -84.48704300046504, 39.134959999873075], "geometry": {"coordinates": [[[-84.48724300046503, 39.133859999873174], [-84.48874300046486, 39.13445999987311], [-84.48844300046488, 39.134959999873075], [-84.48704300046504, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48724300046503, 39.133859999873174]]], "type": "Polygon"}, "id": "198", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 2.0, "AGE_21": 25.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 3.0, "AGE_55_59": 6.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.04, "BG": "390610036002", "BLACK": 24.0, "BLOCK": "390610036002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7760.281, "F1_RACE": 25.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 15.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 707461.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 52.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48844300046488, 39.13435999987314, -84.48634300046511, 39.13555999987301], "geometry": {"coordinates": [[[-84.48844300046488, 39.134959999873075], [-84.48804300046494, 39.13555999987301], [-84.48704300046505, 39.13525999987304], [-84.48634300046511, 39.13505999987305], [-84.48704300046504, 39.13435999987314], [-84.48844300046488, 39.134959999873075]]], "type": "Polygon"}, "id": "199", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 20.0, "AGE_20_24": 5.0, "AGE_21": 19.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 2.33, "BG": "390610036002", "BLACK": 35.0, "BLOCK": "390610036002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7242.9872, "F1_RACE": 35.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 18.0, "ID": 707480.0, "IN_HOUSEHO": 35.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 35.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48804300046494, 39.13525999987304, -84.48534300046525, 39.13805999987279], "geometry": {"coordinates": [[[-84.48724300046504, 39.13655999987293], [-84.48624300046515, 39.13765999987284], [-84.48622800046516, 39.13771799987283], [-84.48614300046516, 39.13805999987279], [-84.48534300046525, 39.13715999987289], [-84.48554300046523, 39.137059999872875], [-84.48704300046505, 39.13525999987304], [-84.48804300046494, 39.13555999987301], [-84.48724300046504, 39.13655999987293]]], "type": "Polygon"}, "id": "200", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 99.0, "AGE_20_24": 22.0, "AGE_21": 89.0, "AGE_25_34": 10.0, "AGE_35_44": 20.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 6.0, "AGE_60_64": 7.0, "AGE_62": 16.0, "AGE_65": 12.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.06, "BG": "390610036002", "BLACK": 130.0, "BLOCK": "390610036002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12916.6618, "F1_RACE": 130.0, "F2_RACES": 2.0, "FEMALE": 80.0, "FEMALE_18": 65.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 8.0, "ID": 707499.0, "IN_HOUSEHO": 132.0, "MALE": 52.0, "MALE_18": 34.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 53.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.18, "POPULATION": 132.0, "RENTER_SIZ": 1.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48714300046504, 39.13415999987315, -84.4839430004654, 39.13715999987289], "geometry": {"coordinates": [[[-84.48634300046511, 39.13505999987305], [-84.48704300046505, 39.13525999987304], [-84.48554300046523, 39.137059999872875], [-84.48534300046525, 39.13715999987289], [-84.4839430004654, 39.136059999873005], [-84.48614300046513, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48704300046504, 39.13435999987314], [-84.48634300046511, 39.13505999987305]]], "type": "Polygon"}, "id": "201", "properties": {"AGE_0_5": 30.0, "AGE_10_14": 47.0, "AGE_15_19": 19.0, "AGE_18": 109.0, "AGE_20_24": 13.0, "AGE_21": 102.0, "AGE_25_34": 32.0, "AGE_35_44": 26.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 27.0, "AGE_60_64": 2.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 221.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.32, "AVG_HHSIZE": 2.69, "BG": "390610036002", "BLACK": 216.0, "BLOCK": "390610036002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14177.4841, "F1_RACE": 220.0, "F2_RACES": 6.0, "FEMALE": 142.0, "FEMALE_18": 79.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 84.0, "HSNG_UNITS": 102.0, "HU_OCCUPIE": 84.0, "HU_VACANT": 18.0, "ID": 707518.0, "IN_HOUSEHO": 226.0, "MALE": 84.0, "MALE_18": 30.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 225.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 78.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 226.0, "RENTER_SIZ": 2.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48974300046478, 39.14065999987254, -84.48654300046516, 39.142059999872394], "geometry": {"coordinates": [[[-84.48974300046478, 39.140859999872504], [-84.48964300046482, 39.142059999872394], [-84.48654300046516, 39.141859999872445], [-84.48664300046514, 39.14065999987254], [-84.48724300046506, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.48944300046483, 39.14075999987253], [-84.48974300046478, 39.140859999872504]]], "type": "Polygon"}, "id": "202", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707538.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48804300046498, 39.13985999987261, -84.48664300046514, 39.14075999987253], "geometry": {"coordinates": [[[-84.487743000465, 39.14045999987258], [-84.48804300046498, 39.14075999987253], [-84.48724300046506, 39.14075999987253], [-84.48664300046514, 39.14065999987254], [-84.48674300046511, 39.14015999987259], [-84.48734300046505, 39.13985999987261], [-84.487743000465, 39.14045999987258]]], "type": "Polygon"}, "id": "203", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 4.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.17, "BG": "390610067001", "BLACK": 13.0, "BLOCK": "390610067001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4744.6508, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 0.0, "ID": 707559.0, "IN_HOUSEHO": 13.0, "MALE": 6.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48734300046505, 39.13965999987265, -84.48514300046529, 39.14065999987254], "geometry": {"coordinates": [[[-84.48724300046506, 39.13965999987265], [-84.48734300046505, 39.13985999987261], [-84.48674300046511, 39.14015999987259], [-84.48664300046514, 39.14065999987254], [-84.48558100046525, 39.14058899987254], [-84.48514300046529, 39.140559999872565], [-84.48724300046506, 39.13965999987265]]], "type": "Polygon"}, "id": "204", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.25, "BG": "390610067001", "BLACK": 9.0, "BLOCK": "390610067001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3220.1738, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 707578.0, "IN_HOUSEHO": 9.0, "MALE": 5.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 9.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48604300046517, 39.13725999987287, -84.48384300046541, 39.138959999872704], "geometry": {"coordinates": [[[-84.48584300046521, 39.13805999987279], [-84.48604300046517, 39.13825999987277], [-84.48504300046528, 39.13885999987272], [-84.48424300046537, 39.138959999872704], [-84.48404300046539, 39.138159999872784], [-84.48384300046541, 39.137559999872835], [-84.4849430004653, 39.13725999987287], [-84.48584300046521, 39.13805999987279]]], "type": "Polygon"}, "id": "205", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 7.0, "AGE_15_19": 15.0, "AGE_18": 117.0, "AGE_20_24": 36.0, "AGE_21": 103.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 11.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 2.27, "BG": "390610036001", "BLACK": 181.0, "BLOCK": "390610036001001", "BURGLARY": 6, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21652.7875, "F1_RACE": 184.0, "F2_RACES": 0.0, "FEMALE": 96.0, "FEMALE_18": 67.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 81.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 81.0, "HU_VACANT": 17.0, "ID": 707596.0, "IN_HOUSEHO": 184.0, "MALE": 88.0, "MALE_18": 50.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 183.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.4, "POPULATION": 184.0, "RENTER_SIZ": 2.26, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48724300046506, 39.13845999987274, -84.48433500046538, 39.14055999987258], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48724300046506, 39.13965999987265], [-84.48514300046529, 39.140559999872565], [-84.48494300046532, 39.14055999987258], [-84.48433500046538, 39.140559999872565], [-84.48454300046537, 39.14025999987261], [-84.48554300046524, 39.139159999872675], [-84.48644300046513, 39.13845999987274], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "206", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707616.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48664300046514, 39.140559999872565, -84.48380000046545, 39.14209499987244], "geometry": {"coordinates": [[[-84.48544300046525, 39.14185999987246], [-84.48474300046534, 39.14195999987244], [-84.48380000046545, 39.14209499987244], [-84.48514300046529, 39.140559999872565], [-84.48558100046525, 39.14058899987254], [-84.48664300046514, 39.14065999987254], [-84.48654300046516, 39.141859999872445], [-84.48544300046525, 39.14185999987246]]], "type": "Polygon"}, "id": "207", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 4.0, "AGE_15_19": 4.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 68.0, "AGE_25_34": 11.0, "AGE_35_44": 16.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 92.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610067004", "BLACK": 90.0, "BLOCK": "390610067004009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9223.4933, "F1_RACE": 90.0, "F2_RACES": 3.0, "FEMALE": 43.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 9.0, "ID": 707636.0, "IN_HOUSEHO": 93.0, "MALE": 50.0, "MALE_18": 37.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 50.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 93.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48514300046529, 39.140559999872565, -84.48364300046546, 39.142159999872405], "geometry": {"coordinates": [[[-84.48494300046532, 39.14055999987258], [-84.48514300046529, 39.140559999872565], [-84.48380000046545, 39.14209499987244], [-84.48374300046545, 39.142159999872405], [-84.48364300046546, 39.14155999987249], [-84.48433500046538, 39.140559999872565], [-84.48494300046532, 39.14055999987258]]], "type": "Polygon"}, "id": "208", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707657.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.125159999874, -84.48284300046545, 39.12685999987385], "geometry": {"coordinates": [[[-84.48434300046526, 39.125159999874], [-84.48434300046527, 39.12675999987384], [-84.48284300046545, 39.12685999987385], [-84.48294300046541, 39.12515999987403], [-84.48324300046541, 39.125159999874015], [-84.48434300046526, 39.125159999874]]], "type": "Polygon"}, "id": "209", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 225.9619, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 2.0, "GROUP_QUAR": 2.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707676.0, "IN_HOUSEHO": 0.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48294300046541, 39.12495999987402, -84.48134300046561, 39.126959999873854], "geometry": {"coordinates": [[[-84.48294300046541, 39.12515999987403], [-84.48284300046545, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48134300046561, 39.12685999987385], [-84.48154300046558, 39.12495999987402], [-84.48194300046555, 39.12495999987402], [-84.48294300046541, 39.12515999987403]]], "type": "Polygon"}, "id": "210", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 40.0, "AGE_20_24": 5.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.5, "AVG_HHSIZE": 1.33, "BG": "390610037001", "BLACK": 29.0, "BLOCK": "390610037001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4237.6286, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 11.0, "GROUP_QUAR": 11.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 23.0, "ID": 707695.0, "IN_HOUSEHO": 32.0, "MALE": 25.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47464300046634, 39.127959999873795, -84.47344300046649, 39.12965999987362], "geometry": {"coordinates": [[[-84.47464300046634, 39.12835999987374], [-84.47434300046636, 39.129559999873614], [-84.47344300046649, 39.12965999987362], [-84.47354300046645, 39.127959999873795], [-84.47454300046634, 39.128059999873756], [-84.47464300046634, 39.12835999987374]]], "type": "Polygon"}, "id": "211", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 5.0, "AGE_21": 45.0, "AGE_25_34": 11.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.16, "BG": "390610042001", "BLACK": 13.0, "BLOCK": "390610042001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8973.4932, "F1_RACE": 52.0, "F2_RACES": 2.0, "FEMALE": 25.0, "FEMALE_18": 21.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 3.0, "ID": 739464.0, "IN_HOUSEHO": 54.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.73, "POPULATION": 54.0, "RENTER_SIZ": 1.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 36.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47394300046638, 39.12455999987409, -84.47194300046661, 39.126759999873904], "geometry": {"coordinates": [[[-84.47394300046638, 39.12455999987409], [-84.47374300046643, 39.126759999873904], [-84.47194300046661, 39.12645999987392], [-84.47224300046658, 39.12535999987403], [-84.47394300046638, 39.12455999987409]]], "type": "Polygon"}, "id": "212", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 61.0, "AGE_20_24": 2.0, "AGE_21": 57.0, "AGE_25_34": 24.0, "AGE_35_44": 16.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.71, "AVG_HHSIZE": 1.85, "BG": "390610042002", "BLACK": 21.0, "BLOCK": "390610042002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7073.2004, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 33.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 7.0, "ID": 739483.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.19, "POPULATION": 74.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 53.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47674300046613, 39.12925999987366, -84.4742430004664, 39.13165999987343], "geometry": {"coordinates": [[[-84.47654300046615, 39.13135999987346], [-84.47644300046618, 39.13165999987343], [-84.4742430004664, 39.13165999987343], [-84.47434300046638, 39.13055999987355], [-84.47434300046636, 39.129559999873614], [-84.47564300046623, 39.12945999987363], [-84.47644300046615, 39.12925999987366], [-84.47674300046613, 39.12935999987364], [-84.47664300046614, 39.13005999987358], [-84.47654300046615, 39.13135999987346]]], "type": "Polygon"}, "id": "213", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 3.0, "AGE_21": 31.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.81, "BG": "390610041002", "BLACK": 25.0, "BLOCK": "390610041002006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1909.9236, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 7.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 7.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 1.0, "ID": 739499.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 5.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.13, "POPULATION": 36.0, "RENTER_SIZ": 1.5, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.129559999873614, -84.4732430004665, 39.13055999987355], "geometry": {"coordinates": [[[-84.47434300046636, 39.129559999873614], [-84.47434300046638, 39.13055999987355], [-84.4732430004665, 39.130459999873565], [-84.47344300046649, 39.12965999987362], [-84.47434300046636, 39.129559999873614]]], "type": "Polygon"}, "id": "214", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 1.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 11.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610041002", "BLACK": 29.0, "BLOCK": "390610041002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13802.0582, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 739521.0, "IN_HOUSEHO": 46.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 46.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.130459999873565, -84.47314300046652, 39.13165999987343], "geometry": {"coordinates": [[[-84.47434300046638, 39.13055999987355], [-84.4742430004664, 39.13165999987343], [-84.47314300046652, 39.13155999987345], [-84.4732430004665, 39.130459999873565], [-84.47434300046638, 39.13055999987355]]], "type": "Polygon"}, "id": "215", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 51.0, "AGE_20_24": 11.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.43, "BG": "390610041002", "BLACK": 45.0, "BLOCK": "390610041002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15051.7324, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 22.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 6.0, "ID": 739558.0, "IN_HOUSEHO": 68.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 68.0, "RENTER_SIZ": 2.53, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 23.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47344300046649, 39.12965999987362, -84.47194300046665, 39.13155999987345], "geometry": {"coordinates": [[[-84.4732430004665, 39.130459999873565], [-84.47314300046652, 39.13155999987345], [-84.47194300046665, 39.13155999987345], [-84.47214300046663, 39.12975999987361], [-84.47344300046649, 39.12965999987362], [-84.4732430004665, 39.130459999873565]]], "type": "Polygon"}, "id": "216", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 58.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.28, "BG": "390610041002", "BLACK": 10.0, "BLOCK": "390610041002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7992.2978, "F1_RACE": 66.0, "F2_RACES": 0.0, "FEMALE": 30.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 5.0, "ID": 739576.0, "IN_HOUSEHO": 66.0, "MALE": 36.0, "MALE_18": 34.0, "MALE_65": 2.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.56, "POPULATION": 66.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 53.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47104300046674, 39.128759999873736, -84.46854200046702, 39.130059999873595], "geometry": {"coordinates": [[[-84.47094300046675, 39.12895999987369], [-84.47104300046674, 39.12985999987362], [-84.4706430004668, 39.12985999987362], [-84.46854200046702, 39.130059999873595], [-84.468642000467, 39.12905999987369], [-84.46974200046688, 39.128759999873736], [-84.47094300046675, 39.12895999987369]]], "type": "Polygon"}, "id": "217", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 7.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.2, "AVG_HHSIZE": 4.2, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2240.4421, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 739629.0, "IN_HOUSEHO": 21.0, "MALE": 13.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 12.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.2, "POPULATION": 21.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 21.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47214300046663, 39.12975999987361, -84.47024300046685, 39.13375999987323], "geometry": {"coordinates": [[[-84.47174300046669, 39.13375999987323], [-84.47024300046685, 39.13365999987327], [-84.4706430004668, 39.12985999987362], [-84.47104300046674, 39.12985999987362], [-84.47184300046665, 39.12975999987361], [-84.47214300046663, 39.12975999987361], [-84.47194300046665, 39.13155999987345], [-84.47174300046669, 39.13375999987323]]], "type": "Polygon"}, "id": "218", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 2.0, "AGE_21": 55.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 66.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.28, "AVG_HHSIZE": 2.64, "BG": "390610041001", "BLACK": 8.0, "BLOCK": "390610041001006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3442.461, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 739648.0, "IN_HOUSEHO": 74.0, "MALE": 43.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.95, "POPULATION": 74.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 66.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4706430004668, 39.12985999987362, -84.46814200046708, 39.13365999987327], "geometry": {"coordinates": [[[-84.4706430004668, 39.12985999987362], [-84.47024300046685, 39.13365999987327], [-84.46814200046708, 39.13355999987327], [-84.46854200046702, 39.130059999873595], [-84.4706430004668, 39.12985999987362]]], "type": "Polygon"}, "id": "219", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 39.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 11.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.03, "ASIAN": 11.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.53, "AVG_HHSIZE": 3.29, "BG": "390610041001", "BLACK": 2.0, "BLOCK": "390610041001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1977.1644, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 739669.0, "IN_HOUSEHO": 56.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.38, "POPULATION": 56.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 43.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46854200046702, 39.130059999873595, -84.4669420004672, 39.13355999987327], "geometry": {"coordinates": [[[-84.46854200046702, 39.130059999873595], [-84.46814200046708, 39.13355999987327], [-84.4669420004672, 39.133459999873295], [-84.46704200046719, 39.13175999987347], [-84.46724200046715, 39.13025999987357], [-84.46854200046702, 39.130059999873595]]], "type": "Polygon"}, "id": "220", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 0.0, "AGE_21": 28.0, "AGE_25_34": 2.0, "AGE_35_44": 10.0, "AGE_45_54": 14.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 45.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 3.0, "BG": "390610041001", "BLACK": 0.0, "BLOCK": "390610041001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2849.2641, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 739686.0, "IN_HOUSEHO": 45.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 45.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 45.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 45.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46884200046696, 39.1248599998741, -84.46344200046752, 39.12675999987392], "geometry": {"coordinates": [[[-84.468402000467, 39.12668199987393], [-84.46714200046715, 39.12645999987395], [-84.46594200046727, 39.12615999987398], [-84.46344200046752, 39.125059999874075], [-84.46634500046721, 39.12494799987409], [-84.46864200046697, 39.1248599998741], [-84.46884200046696, 39.12675999987392], [-84.468402000467, 39.12668199987393]]], "type": "Polygon"}, "id": "221", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 24.0, "AGE_20_24": 0.0, "AGE_21": 24.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 27.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.93, "BG": "390610042002", "BLACK": 2.0, "BLOCK": "390610042002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1331.6139, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 741823.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 12.0, "MALE_65": 1.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 27.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.09, "POPULATION": 29.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 27.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47374300046643, 39.125059999874075, -84.46004200046795, 39.132459999873426], "geometry": {"coordinates": [[[-84.47354300046645, 39.127959999873795], [-84.47344300046649, 39.12965999987362], [-84.47214300046663, 39.12975999987361], [-84.47184300046665, 39.12975999987361], [-84.47104300046674, 39.12985999987362], [-84.47094300046675, 39.12895999987369], [-84.46974200046688, 39.128759999873736], [-84.468642000467, 39.12905999987369], [-84.46854200046702, 39.130059999873595], [-84.46724200046715, 39.13025999987357], [-84.46654200046723, 39.13035999987359], [-84.4659420004673, 39.130559999873554], [-84.46414200046749, 39.13135999987352], [-84.46254200046768, 39.13185999987346], [-84.46164200046776, 39.13205999987344], [-84.46074200046787, 39.13235999987343], [-84.46004200046795, 39.132459999873426], [-84.46034200046792, 39.13215999987345], [-84.4612420004678, 39.13155999987349], [-84.46304200046762, 39.13075999987355], [-84.46394200046753, 39.12955999987366], [-84.46294200046758, 39.12655999987394], [-84.46344200046752, 39.125059999874075], [-84.46594200046727, 39.12615999987398], [-84.46714200046715, 39.12645999987395], [-84.468402000467, 39.12668199987393], [-84.46884200046696, 39.12675999987392], [-84.4703420004668, 39.12625999987395], [-84.47064200046675, 39.12615999987395], [-84.47194300046661, 39.12645999987392], [-84.47374300046643, 39.126759999873904], [-84.47354300046645, 39.127959999873795]], [[-84.46544200046735, 39.1292599998737], [-84.46534200046734, 39.12835999987379], [-84.46484200046739, 39.12845999987376], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "222", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 17.0, "AGE_15_19": 17.0, "AGE_18": 211.0, "AGE_20_24": 12.0, "AGE_21": 205.0, "AGE_25_34": 49.0, "AGE_35_44": 38.0, "AGE_45_54": 48.0, "AGE_55_59": 19.0, "AGE_5_9": 12.0, "AGE_60_64": 14.0, "AGE_62": 36.0, "AGE_65": 29.0, "AGE_65_74": 18.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 8.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 0.0, "AP_WHITE": 248.0, "AREA": 0.15, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.09, "BG": "390610042001", "BLACK": 15.0, "BLOCK": "390610042001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1775.9725, "F1_RACE": 256.0, "F2_RACES": 9.0, "FEMALE": 123.0, "FEMALE_18": 101.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 127.0, "HSNG_UNITS": 132.0, "HU_OCCUPIE": 127.0, "HU_VACANT": 5.0, "ID": 741843.0, "IN_HOUSEHO": 265.0, "MALE": 142.0, "MALE_18": 110.0, "MALE_65": 18.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 229.0, "NOT_HISPAN": 255.0, "OCCHU_OWNE": 86.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 265.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 239.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46544200046735, 39.12835999987379, -84.46484200046739, 39.1292599998737], "geometry": {"coordinates": [[[-84.46544200046735, 39.1292599998737], [-84.46484200046739, 39.12845999987376], [-84.46534200046734, 39.12835999987379], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "223", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.6935, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 741889.0, "IN_HOUSEHO": 10.0, "MALE": 8.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 56.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 10.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.46814200046708, 39.13025999987357, -84.4614420004678, 39.13515999987312], "geometry": {"coordinates": [[[-84.46814200046708, 39.13355999987327], [-84.46794200046712, 39.13515999987312], [-84.46384200046755, 39.1347599998732], [-84.4633420004676, 39.13465999987321], [-84.46144200046781, 39.13455999987323], [-84.4614420004678, 39.13415999987325], [-84.46244200046769, 39.133459999873324], [-84.46254200046768, 39.13185999987346], [-84.46414200046749, 39.13135999987352], [-84.4659420004673, 39.130559999873554], [-84.46654200046723, 39.13035999987359], [-84.46724200046715, 39.13025999987357], [-84.46704200046719, 39.13175999987347], [-84.4669420004672, 39.133459999873295], [-84.46814200046708, 39.13355999987327]]], "type": "Polygon"}, "id": "224", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 315.0, "AGE_20_24": 16.0, "AGE_21": 308.0, "AGE_25_34": 37.0, "AGE_35_44": 39.0, "AGE_45_54": 27.0, "AGE_55_59": 29.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 158.0, "AGE_65": 154.0, "AGE_65_74": 14.0, "AGE_75_84": 48.0, "AGE_85": 92.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 131.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 230.0, "AREA": 0.07, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.25, "BG": "390610041001", "BLACK": 130.0, "BLOCK": "390610041001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4934.9491, "F1_RACE": 357.0, "F2_RACES": 3.0, "FEMALE": 235.0, "FEMALE_18": 208.0, "FEMALE_65": 125.0, "GQ_INSTITU": 135.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 135.0, "HAWAIIAN": 0.0, "HH_FAMILY": 58.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 100.0, "HSNG_UNITS": 107.0, "HU_OCCUPIE": 100.0, "HU_VACANT": 7.0, "ID": 741903.0, "IN_HOUSEHO": 225.0, "MALE": 125.0, "MALE_18": 107.0, "MALE_65": 29.0, "MEDIAN_AGE": 56.6, "MSA": "1640", "NH_WHITE": 226.0, "NOT_HISPAN": 357.0, "OCCHU_OWNE": 64.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.36, "POPULATION": 360.0, "RENTER_SIZ": 2.06, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 227.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.12805999987356, -84.52444400046097, 39.12975999987339], "geometry": {"coordinates": [[[-84.52534400046086, 39.12975999987339], [-84.52444400046097, 39.129659999873425], [-84.52464400046094, 39.128459999873506], [-84.52544400046085, 39.12805999987356], [-84.52534400046086, 39.12975999987339]]], "type": "Polygon"}, "id": "225", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 48.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 71.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 3.0, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18746.3134, "F1_RACE": 77.0, "F2_RACES": 7.0, "FEMALE": 42.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 10.0, "ID": 681301.0, "IN_HOUSEHO": 84.0, "MALE": 42.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 3.4, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 68.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.127659999873586, -84.5205440004614, 39.129659999873425], "geometry": {"coordinates": [[[-84.52374400046105, 39.129659999873425], [-84.52234400046119, 39.129559999873415], [-84.5205440004614, 39.12945999987345], [-84.52064400046136, 39.12835999987354], [-84.52074400046135, 39.127659999873586], [-84.5211440004613, 39.12775999987357], [-84.52194400046122, 39.12775999987357], [-84.52274400046113, 39.12775999987357], [-84.52354400046106, 39.12785999987357], [-84.52424400046097, 39.12795999987355], [-84.52544400046085, 39.12805999987356], [-84.52464400046094, 39.128459999873506], [-84.52374400046104, 39.1287599998735], [-84.52374400046105, 39.129659999873425]]], "type": "Polygon"}, "id": "226", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 6.0, "AGE_21": 30.0, "AGE_25_34": 15.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.37, "BG": "390610026001", "BLACK": 5.0, "BLOCK": "390610026001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1320.3592, "F1_RACE": 29.0, "F2_RACES": 2.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 681354.0, "IN_HOUSEHO": 26.0, "MALE": 20.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 31.0, "RENTER_SIZ": 1.33, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 23.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.52464400046094, 39.128459999873506, -84.52374400046104, 39.129659999873425], "geometry": {"coordinates": [[[-84.52444400046097, 39.129659999873425], [-84.52374400046105, 39.129659999873425], [-84.52374400046104, 39.1287599998735], [-84.52464400046094, 39.128459999873506], [-84.52444400046097, 39.129659999873425]]], "type": "Polygon"}, "id": "227", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 16.0, "AGE_18": 53.0, "AGE_20_24": 28.0, "AGE_21": 29.0, "AGE_25_34": 7.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.9, "BG": "390610026001", "BLACK": 2.0, "BLOCK": "390610026001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18657.0486, "F1_RACE": 56.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 27.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 3.0, "ID": 681381.0, "IN_HOUSEHO": 57.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.2, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 57.0, "RENTER_SIZ": 1.88, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 47.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52234400046119, 39.12945999987345, -84.52034400046142, 39.13295999987311], "geometry": {"coordinates": [[[-84.52234400046119, 39.129559999873415], [-84.52194400046125, 39.13165999987322], [-84.52184400046129, 39.13295999987311], [-84.52098700046135, 39.13284599987314], [-84.52034400046142, 39.13275999987314], [-84.52034400046142, 39.13255999987314], [-84.5204120004614, 39.131505999873255], [-84.5205440004614, 39.12945999987345], [-84.52234400046119, 39.129559999873415]]], "type": "Polygon"}, "id": "228", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 34.0, "AGE_18": 242.0, "AGE_20_24": 165.0, "AGE_21": 167.0, "AGE_25_34": 36.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 20.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 217.0, "AREA": 0.02, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 5.0, "BLOCK": "390610029002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12051.1059, "F1_RACE": 241.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 105.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 104.0, "GROUP_QUAR": 104.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 681399.0, "IN_HOUSEHO": 139.0, "MALE": 137.0, "MALE_18": 137.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 215.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 81.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 243.0, "RENTER_SIZ": 1.64, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 215.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52304400046114, 39.13165999987322, -84.52184400046129, 39.13295999987311], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52184400046129, 39.13295999987311], [-84.52194400046125, 39.13165999987322], [-84.52304400046114, 39.131759999873225], [-84.52301200046112, 39.1321479998732], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "229", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 11.0, "AGE_18": 90.0, "AGE_20_24": 54.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 87.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.25, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18196.4629, "F1_RACE": 92.0, "F2_RACES": 1.0, "FEMALE": 29.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 21.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 32.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 32.0, "HU_VACANT": 2.0, "ID": 681421.0, "IN_HOUSEHO": 72.0, "MALE": 64.0, "MALE_18": 61.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 85.0, "NOT_HISPAN": 91.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 93.0, "RENTER_SIZ": 2.28, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 86.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52074400046135, 39.127559999873625, -84.51894400046154, 39.12835999987354], "geometry": {"coordinates": [[[-84.52074400046135, 39.127659999873586], [-84.52064400046136, 39.12835999987354], [-84.51964400046147, 39.12825999987355], [-84.51894400046154, 39.12825999987357], [-84.51904400046153, 39.127559999873625], [-84.52024400046139, 39.127659999873586], [-84.52074400046135, 39.127659999873586]]], "type": "Polygon"}, "id": "230", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 17.0, "AGE_18": 96.0, "AGE_20_24": 47.0, "AGE_21": 72.0, "AGE_25_34": 20.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 6.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 85.0, "AREA": 0.0, "ASIAN": 5.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.06, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23450.2351, "F1_RACE": 94.0, "F2_RACES": 5.0, "FEMALE": 51.0, "FEMALE_18": 49.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 48.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 48.0, "HU_VACANT": 6.0, "ID": 681479.0, "IN_HOUSEHO": 99.0, "MALE": 48.0, "MALE_18": 47.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 79.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 99.0, "RENTER_SIZ": 2.06, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 80.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51904400046153, 39.12745999987365, -84.51814400046162, 39.12825999987357], "geometry": {"coordinates": [[[-84.51904400046153, 39.127559999873625], [-84.51894400046154, 39.12825999987357], [-84.51814400046163, 39.12815999987359], [-84.51814400046162, 39.12745999987365], [-84.51904400046153, 39.127559999873625]]], "type": "Polygon"}, "id": "231", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 10.0, "AGE_21": 14.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.6, "BG": "390610025001", "BLACK": 1.0, "BLOCK": "390610025001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7200.8426, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 4.0, "ID": 681536.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 16.0, "RENTER_SIZ": 1.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 15.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5205440004614, 39.12945999987345, -84.5194440004615, 39.13255999987314], "geometry": {"coordinates": [[[-84.52034400046142, 39.13255999987314], [-84.5194440004615, 39.131059999873294], [-84.51964400046148, 39.13025999987335], [-84.5203440004614, 39.12945999987346], [-84.5205440004614, 39.12945999987345], [-84.5204120004614, 39.131505999873255], [-84.52034400046142, 39.13255999987314]]], "type": "Polygon"}, "id": "232", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681572.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.13255999987314, -84.51984400046149, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52024400046145, 39.13355999987304], [-84.51984400046149, 39.13305999987312], [-84.52034400046142, 39.13255999987314], [-84.52034400046142, 39.13275999987314], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "233", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681590.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51914400046155, 39.12855999987355, -84.51734400046173, 39.130159999873385], "geometry": {"coordinates": [[[-84.51904400046153, 39.12855999987355], [-84.51914400046155, 39.12975999987343], [-84.51844400046163, 39.130159999873385], [-84.51734400046173, 39.12985999987343], [-84.51744400046172, 39.12965999987345], [-84.51754400046171, 39.12945999987347], [-84.51824400046162, 39.12865999987352], [-84.51904400046153, 39.12855999987355]]], "type": "Polygon"}, "id": "234", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681607.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52064400046136, 39.12825999987355, -84.51614400046188, 39.13235999987321], "geometry": {"coordinates": [[[-84.5194440004615, 39.131059999873294], [-84.51914400046155, 39.13225999987319], [-84.51794400046168, 39.13195999987321], [-84.51614400046188, 39.13235999987321], [-84.51693200046178, 39.13071799987334], [-84.51734400046173, 39.12985999987343], [-84.51844400046163, 39.130159999873385], [-84.51914400046155, 39.12975999987343], [-84.51904400046153, 39.12855999987355], [-84.5194440004615, 39.12855999987354], [-84.51964400046147, 39.12825999987355], [-84.52064400046136, 39.12835999987354], [-84.5205440004614, 39.12945999987345], [-84.5203440004614, 39.12945999987346], [-84.51964400046148, 39.13025999987335], [-84.5194440004615, 39.131059999873294]]], "type": "Polygon"}, "id": "235", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681624.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5264440004608, 39.13425999987298, -84.52004400046148, 39.135759999872825], "geometry": {"coordinates": [[[-84.5264440004608, 39.13445999987294], [-84.5262440004608, 39.135759999872825], [-84.52504400046094, 39.13555999987286], [-84.52434400046101, 39.13545999987286], [-84.52004400046148, 39.13505999987293], [-84.52014400046147, 39.134259999873], [-84.52084500046139, 39.13425999987298], [-84.5217440004613, 39.13425999987298], [-84.52284400046116, 39.13435999987296], [-84.52424400046101, 39.13435999987296], [-84.524462000461, 39.13436999987297], [-84.5264440004608, 39.13445999987294]]], "type": "Polygon"}, "id": "236", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 25.0, "AGE_18": 349.0, "AGE_20_24": 144.0, "AGE_21": 299.0, "AGE_25_34": 114.0, "AGE_35_44": 22.0, "AGE_45_54": 19.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 18.0, "AGE_65": 16.0, "AGE_65_74": 10.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 87.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 9.0, "AP_WHITE": 266.0, "AREA": 0.02, "ASIAN": 85.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.87, "BG": "390610029001", "BLACK": 5.0, "BLOCK": "390610029001007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15091.6364, "F1_RACE": 353.0, "F2_RACES": 8.0, "FEMALE": 143.0, "FEMALE_18": 134.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 24.0, "GROUP_QUAR": 24.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 180.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 180.0, "HU_VACANT": 13.0, "ID": 681644.0, "IN_HOUSEHO": 337.0, "MALE": 218.0, "MALE_18": 215.0, "MALE_65": 9.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 258.0, "NOT_HISPAN": 358.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 151.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.17, "POPULATION": 361.0, "RENTER_SIZ": 1.81, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 259.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52294400046114, 39.13295999987311, -84.5217440004613, 39.13435999987296], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52284400046116, 39.13435999987296], [-84.5217440004613, 39.13425999987298], [-84.52184400046129, 39.13295999987311], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "237", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 10.0, "AGE_18": 143.0, "AGE_20_24": 106.0, "AGE_21": 104.0, "AGE_25_34": 21.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 19.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.3, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26099.3015, "F1_RACE": 143.0, "F2_RACES": 1.0, "FEMALE": 37.0, "FEMALE_18": 36.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 36.0, "GROUP_QUAR": 36.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 681670.0, "IN_HOUSEHO": 108.0, "MALE": 107.0, "MALE_18": 107.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 120.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 144.0, "RENTER_SIZ": 2.3, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 121.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52184400046129, 39.13284599987314, -84.52084500046139, 39.13425999987298], "geometry": {"coordinates": [[[-84.52184400046129, 39.13295999987311], [-84.5217440004613, 39.13425999987298], [-84.52084500046139, 39.13425999987298], [-84.52098700046135, 39.13284599987314], [-84.52184400046129, 39.13295999987311]]], "type": "Polygon"}, "id": "238", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 16.0, "AGE_18": 66.0, "AGE_20_24": 44.0, "AGE_21": 34.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 65.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.8, "BG": "390610029002", "BLACK": 2.0, "BLOCK": "390610029002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15098.8449, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 25.0, "GROUP_QUAR": 25.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 681687.0, "IN_HOUSEHO": 42.0, "MALE": 49.0, "MALE_18": 48.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 65.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 67.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 65.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52098700046135, 39.13275999987314, -84.52014400046147, 39.134259999873], "geometry": {"coordinates": [[[-84.52084500046139, 39.13425999987298], [-84.52014400046147, 39.134259999873], [-84.52024400046145, 39.13375999987304], [-84.52024400046145, 39.13355999987304], [-84.52074400046138, 39.13325999987309], [-84.52024400046143, 39.13305999987312], [-84.52034400046142, 39.13275999987314], [-84.52098700046135, 39.13284599987314], [-84.52084500046139, 39.13425999987298]]], "type": "Polygon"}, "id": "239", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 66.0, "AGE_20_24": 55.0, "AGE_21": 30.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 64.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 0.0, "BLOCK": "390610029002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20452.4733, "F1_RACE": 65.0, "F2_RACES": 1.0, "FEMALE": 60.0, "FEMALE_18": 60.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 61.0, "GROUP_QUAR": 61.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 681742.0, "IN_HOUSEHO": 5.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 66.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 63.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52074400046138, 39.13305999987312, -84.52024400046143, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52074400046138, 39.13325999987309], [-84.52024400046145, 39.13355999987304], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "240", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 4.0, "AGE_18": 18.0, "AGE_20_24": 14.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 38887.7429, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 18.0, "GROUP_QUAR": 18.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681763.0, "IN_HOUSEHO": 0.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 17.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52024400046145, 39.133659999873075, -84.51744400046175, 39.13505999987293], "geometry": {"coordinates": [[[-84.52014400046147, 39.134259999873], [-84.52004400046148, 39.13505999987293], [-84.51914400046158, 39.134959999872954], [-84.51744400046175, 39.134959999872954], [-84.5177440004617, 39.134159999873], [-84.51884400046161, 39.133659999873075], [-84.52024400046145, 39.13375999987304], [-84.52014400046147, 39.134259999873]]], "type": "Polygon"}, "id": "241", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681778.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.131059999873294, -84.51474400046204, 39.13565999987291], "geometry": {"coordinates": [[[-84.52024400046145, 39.13355999987304], [-84.52024400046145, 39.13375999987304], [-84.51884400046161, 39.133659999873075], [-84.5177440004617, 39.134159999873], [-84.51744400046175, 39.134959999872954], [-84.51644400046186, 39.13505999987293], [-84.51474400046204, 39.13565999987291], [-84.51484400046203, 39.13425999987301], [-84.515044000462, 39.13305999987313], [-84.51614400046188, 39.13235999987321], [-84.51794400046168, 39.13195999987321], [-84.51914400046155, 39.13225999987319], [-84.5194440004615, 39.131059999873294], [-84.52034400046142, 39.13255999987314], [-84.51984400046149, 39.13305999987312], [-84.52024400046145, 39.13355999987304]]], "type": "Polygon"}, "id": "242", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681797.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12535999987392, -84.49304300046434, 39.12585999987388], "geometry": {"coordinates": [[[-84.49394300046424, 39.12585999987388], [-84.49364300046426, 39.1257599998739], [-84.49304300046434, 39.1257599998739], [-84.49304300046434, 39.125359999873936], [-84.49404300046422, 39.12535999987392], [-84.49394300046424, 39.12585999987388]]], "type": "Polygon"}, "id": "243", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 10.0, "AGE_20_24": 2.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.83, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15526.3239, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 1.0, "ID": 701090.0, "IN_HOUSEHO": 23.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 23.0, "RENTER_SIZ": 3.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4943430004642, 39.12635999987383, -84.49354300046429, 39.12745999987376], "geometry": {"coordinates": [[[-84.4943430004642, 39.12635999987383], [-84.49424300046421, 39.12745999987374], [-84.4935430004643, 39.12745999987376], [-84.49354300046429, 39.12635999987383], [-84.4943430004642, 39.12635999987383]]], "type": "Polygon"}, "id": "244", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 23.0, "AGE_20_24": 1.0, "AGE_21": 20.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.86, "AVG_HHSIZE": 2.18, "BG": "390610035002", "BLACK": 37.0, "BLOCK": "390610035002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12110.4163, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 17.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 701109.0, "IN_HOUSEHO": 37.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12495999987399, -84.49154300046447, 39.125359999873936], "geometry": {"coordinates": [[[-84.49314300046431, 39.12505999987396], [-84.49304300046434, 39.125359999873936], [-84.49154300046447, 39.12525999987394], [-84.49164300046446, 39.12495999987399], [-84.49314300046431, 39.12505999987396]]], "type": "Polygon"}, "id": "245", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 7.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.0923, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 3.0, "ID": 701127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 20.0, "RENTER_SIZ": 6.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49364300046426, 39.1257599998739, -84.49224300046444, 39.12745999987376], "geometry": {"coordinates": [[[-84.49354300046429, 39.12635999987383], [-84.4935430004643, 39.12745999987376], [-84.49224300046444, 39.127359999873725], [-84.4924430004644, 39.125759999873914], [-84.49304300046434, 39.1257599998739], [-84.49364300046426, 39.1257599998739], [-84.49354300046429, 39.12635999987383]]], "type": "Polygon"}, "id": "246", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 6.0, "AGE_18": 46.0, "AGE_20_24": 1.0, "AGE_21": 45.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 6.0, "AGE_62": 11.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 3.14, "BG": "390610035002", "BLACK": 82.0, "BLOCK": "390610035002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11792.7438, "F1_RACE": 82.0, "F2_RACES": 6.0, "FEMALE": 49.0, "FEMALE_18": 26.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701144.0, "IN_HOUSEHO": 88.0, "MALE": 39.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 87.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 88.0, "RENTER_SIZ": 3.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49484300046416, 39.12745999987374, -84.49324300046433, 39.12935999987355], "geometry": {"coordinates": [[[-84.49484300046416, 39.12805999987366], [-84.49464300046418, 39.12935999987355], [-84.49324300046433, 39.12925999987357], [-84.4935430004643, 39.12745999987376], [-84.49424300046421, 39.12745999987374], [-84.49484300046416, 39.12745999987374], [-84.49484300046416, 39.12805999987366]]], "type": "Polygon"}, "id": "247", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 11.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 10.0, "AGE_45_54": 19.0, "AGE_55_59": 3.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 89.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.33, "BG": "390610035002", "BLACK": 89.0, "BLOCK": "390610035002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10507.1558, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 35.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 701164.0, "IN_HOUSEHO": 100.0, "MALE": 48.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 31.4, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 100.0, "RENTER_SIZ": 2.26, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 11.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4935430004643, 39.127359999873725, -84.49214300046445, 39.12925999987357], "geometry": {"coordinates": [[[-84.4935430004643, 39.12745999987376], [-84.49324300046433, 39.12925999987357], [-84.49214300046445, 39.12915999987361], [-84.49224300046444, 39.127359999873725], [-84.4935430004643, 39.12745999987376]]], "type": "Polygon"}, "id": "248", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 18.0, "AGE_15_19": 20.0, "AGE_18": 94.0, "AGE_20_24": 6.0, "AGE_21": 83.0, "AGE_25_34": 8.0, "AGE_35_44": 29.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 17.0, "AGE_60_64": 5.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 10.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 149.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.68, "BG": "390610035002", "BLACK": 146.0, "BLOCK": "390610035002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18951.907, "F1_RACE": 150.0, "F2_RACES": 3.0, "FEMALE": 82.0, "FEMALE_18": 55.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 61.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 4.0, "ID": 701184.0, "IN_HOUSEHO": 153.0, "MALE": 71.0, "MALE_18": 39.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 153.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.46, "POPULATION": 153.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4953430004641, 39.12935999987355, -84.4936430004643, 39.13235999987328], "geometry": {"coordinates": [[[-84.4953430004641, 39.12935999987355], [-84.4946430004642, 39.13085999987343], [-84.49394300046428, 39.13235999987328], [-84.4936430004643, 39.13235999987327], [-84.49394300046427, 39.13115999987341], [-84.49464300046418, 39.12935999987355], [-84.4953430004641, 39.12935999987355]]], "type": "Polygon"}, "id": "249", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701201.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.496243000464, 39.129359999873536, -84.49394300046428, 39.13255999987326], "geometry": {"coordinates": [[[-84.4946430004642, 39.13085999987343], [-84.4953430004641, 39.12935999987355], [-84.49564300046407, 39.129359999873536], [-84.496243000464, 39.129459999873546], [-84.49614300046402, 39.13055999987345], [-84.49604300046406, 39.13185999987332], [-84.49574300046409, 39.13255999987324], [-84.49484300046419, 39.13255999987326], [-84.49394300046428, 39.13235999987328], [-84.4946430004642, 39.13085999987343]]], "type": "Polygon"}, "id": "250", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 0.0, "AGE_21": 17.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.22, "BG": "390610034001", "BLACK": 18.0, "BLOCK": "390610034001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1162.7336, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 701221.0, "IN_HOUSEHO": 20.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.0, "POPULATION": 20.0, "RENTER_SIZ": 2.38, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12935999987355, -84.49294300046438, 39.13115999987341], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49394300046427, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49294300046438, 39.13115999987341], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "251", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610035002", "BLACK": 8.0, "BLOCK": "390610035002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2400.4034, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 701243.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 8.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12915999987361, -84.49184300046453, 39.1322599998733], "geometry": {"coordinates": [[[-84.49284300046439, 39.1322599998733], [-84.49184300046453, 39.13215999987331], [-84.49204300046448, 39.129759999873535], [-84.49214300046445, 39.12915999987361], [-84.49324300046433, 39.12925999987357], [-84.49464300046418, 39.12935999987355], [-84.49294300046438, 39.13115999987341], [-84.49284300046439, 39.1322599998733]]], "type": "Polygon"}, "id": "252", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 32.0, "AGE_20_24": 10.0, "AGE_21": 19.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.26, "AVG_HHSIZE": 2.16, "BG": "390610035002", "BLACK": 54.0, "BLOCK": "390610035002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3226.1536, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701260.0, "IN_HOUSEHO": 54.0, "MALE": 15.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 54.0, "RENTER_SIZ": 2.16, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49394300046427, 39.13115999987341, -84.49284300046439, 39.13235999987327], "geometry": {"coordinates": [[[-84.49394300046427, 39.13115999987341], [-84.4936430004643, 39.13235999987327], [-84.49284300046439, 39.1322599998733], [-84.49294300046438, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49394300046427, 39.13115999987341]]], "type": "Polygon"}, "id": "253", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701281.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5012430004635, 39.132359999873266, -84.49894300046375, 39.13485999987302], "geometry": {"coordinates": [[[-84.5012430004635, 39.13285999987319], [-84.50094300046354, 39.134859999873], [-84.50054300046358, 39.13485999987302], [-84.49894300046375, 39.13475999987305], [-84.49913700046373, 39.13443699987308], [-84.49954300046369, 39.13375999987313], [-84.49954300046369, 39.133259999873175], [-84.49964300046366, 39.13265999987324], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13285999987319]]], "type": "Polygon"}, "id": "254", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 53.0, "AGE_20_24": 3.0, "AGE_21": 53.0, "AGE_25_34": 18.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 60.0, "BLOCK": "390610034002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4672.8118, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 5.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 6.0, "ID": 701300.0, "IN_HOUSEHO": 63.0, "MALE": 36.0, "MALE_18": 27.0, "MALE_65": 7.0, "MEDIAN_AGE": 33.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 68.0, "RENTER_SIZ": 1.7, "THEFT": 13, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 6.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50094300046354, 39.13465999987304, -84.49844300046382, 39.138359999872684], "geometry": {"coordinates": [[[-84.50084300046358, 39.13635999987288], [-84.5006430004636, 39.138359999872684], [-84.49844300046384, 39.13815999987272], [-84.49844300046382, 39.13735999987279], [-84.4986430004638, 39.135759999872946], [-84.49874300046378, 39.13465999987304], [-84.49894300046375, 39.13475999987305], [-84.50054300046358, 39.13485999987302], [-84.50094300046354, 39.134859999873], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.135659999872956], [-84.50084300046358, 39.13635999987288]]], "type": "Polygon"}, "id": "255", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701323.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49964300046366, 39.13265999987324, -84.496838000464, 39.13475999987305], "geometry": {"coordinates": [[[-84.49964300046366, 39.13265999987324], [-84.49954300046369, 39.133259999873175], [-84.49954300046369, 39.13375999987313], [-84.49913700046373, 39.13443699987308], [-84.49894300046375, 39.13475999987305], [-84.49874300046378, 39.13465999987304], [-84.4976430004639, 39.13455999987308], [-84.496838000464, 39.13456299987309], [-84.49684300046397, 39.13435999987308], [-84.49704300046395, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49794300046385, 39.13265999987325], [-84.49964300046366, 39.13265999987324]]], "type": "Polygon"}, "id": "256", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701347.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49704300046395, 39.13255999987324, -84.49604300046407, 39.13435999987308], "geometry": {"coordinates": [[[-84.49704300046395, 39.13265999987325], [-84.49684300046397, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49624300046402, 39.13255999987324], [-84.49704300046395, 39.13265999987325]]], "type": "Polygon"}, "id": "257", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.13, "BG": "390610034001", "BLACK": 17.0, "BLOCK": "390610034001009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3255.9625, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 701373.0, "IN_HOUSEHO": 17.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49874300046378, 39.13455999987308, -84.4960430004641, 39.13735999987279], "geometry": {"coordinates": [[[-84.49874300046378, 39.13465999987304], [-84.4986430004638, 39.135759999872946], [-84.49844300046382, 39.13735999987279], [-84.4960430004641, 39.137259999872825], [-84.4960430004641, 39.137059999872825], [-84.496743000464, 39.13565999987297], [-84.496743000464, 39.13475999987305], [-84.496838000464, 39.13456299987309], [-84.4976430004639, 39.13455999987308], [-84.49874300046378, 39.13465999987304]]], "type": "Polygon"}, "id": "258", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 2.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 36.0, "AGE_25_34": 3.0, "AGE_35_44": 14.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 50.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.38, "BG": "390610034002", "BLACK": 50.0, "BLOCK": "390610034002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2352.8122, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 5.0, "ID": 701390.0, "IN_HOUSEHO": 50.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.43, "POPULATION": 50.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5006430004636, 39.13815999987272, -84.49834300046383, 39.13945999987261], "geometry": {"coordinates": [[[-84.5006430004636, 39.138359999872684], [-84.50054300046362, 39.13935999987259], [-84.49834300046383, 39.13945999987261], [-84.49834300046383, 39.13885999987267], [-84.49844300046384, 39.13815999987272], [-84.5006430004636, 39.138359999872684]]], "type": "Polygon"}, "id": "259", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 6.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.44, "AVG_HHSIZE": 1.61, "BG": "390610067002", "BLACK": 24.0, "BLOCK": "390610067002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3895.8118, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 1.0, "ID": 701413.0, "IN_HOUSEHO": 37.0, "MALE": 18.0, "MALE_18": 17.0, "MALE_65": 1.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 37.0, "RENTER_SIZ": 1.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50054300046362, 39.13935999987259, -84.49824300046387, 39.1406599998725], "geometry": {"coordinates": [[[-84.50054300046362, 39.13935999987259], [-84.50054300046362, 39.139659999872585], [-84.50034300046366, 39.1406599998725], [-84.49824300046387, 39.1406599998725], [-84.49834300046385, 39.140159999872544], [-84.49834300046383, 39.13945999987261], [-84.50054300046362, 39.13935999987259]]], "type": "Polygon"}, "id": "260", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 17.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 28.0, "AGE_60_64": 1.0, "AGE_62": 16.0, "AGE_65": 15.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 121.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.77, "AVG_HHSIZE": 3.54, "BG": "390610067002", "BLACK": 120.0, "BLOCK": "390610067002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12519.5291, "F1_RACE": 123.0, "F2_RACES": 1.0, "FEMALE": 72.0, "FEMALE_18": 37.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 8.0, "ID": 701432.0, "IN_HOUSEHO": 124.0, "MALE": 52.0, "MALE_18": 23.0, "MALE_65": 5.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 124.0, "RENTER_SIZ": 3.91, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50034300046366, 39.1406599998725, -84.49814300046388, 39.1416599998724], "geometry": {"coordinates": [[[-84.50024300046367, 39.1416599998724], [-84.49974300046372, 39.141559999872406], [-84.49984300046371, 39.14125999987244], [-84.49884300046381, 39.14125999987244], [-84.49884300046381, 39.141559999872406], [-84.49814300046388, 39.14155999987243], [-84.49824300046387, 39.1406599998725], [-84.50034300046366, 39.1406599998725], [-84.50024300046367, 39.1416599998724]]], "type": "Polygon"}, "id": "261", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 15.0, "AGE_15_19": 3.0, "AGE_18": 67.0, "AGE_20_24": 6.0, "AGE_21": 64.0, "AGE_25_34": 15.0, "AGE_35_44": 19.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 11.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.2, "BG": "390610067003", "BLACK": 94.0, "BLOCK": "390610067003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16353.6988, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 17.0, "ID": 701450.0, "IN_HOUSEHO": 99.0, "MALE": 47.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 99.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.13805999987273, -84.49654300046404, 39.13885999987267], "geometry": {"coordinates": [[[-84.49844300046384, 39.13815999987272], [-84.49834300046383, 39.13885999987267], [-84.49654300046404, 39.13875999987268], [-84.49654300046404, 39.13805999987273], [-84.49844300046384, 39.13815999987272]]], "type": "Polygon"}, "id": "262", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 32.0, "AGE_20_24": 5.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 5.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.0, "BG": "390610067002", "BLACK": 46.0, "BLOCK": "390610067002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9971.922, "F1_RACE": 46.0, "F2_RACES": 2.0, "FEMALE": 28.0, "FEMALE_18": 19.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 14.0, "ID": 701470.0, "IN_HOUSEHO": 48.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 48.0, "RENTER_SIZ": 2.19, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.137259999872825, -84.49544300046415, 39.13815999987272], "geometry": {"coordinates": [[[-84.49844300046382, 39.13735999987279], [-84.49844300046384, 39.13815999987272], [-84.49654300046404, 39.13805999987273], [-84.49544300046415, 39.13795999987277], [-84.4960430004641, 39.137259999872825], [-84.49844300046382, 39.13735999987279]]], "type": "Polygon"}, "id": "263", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 9.0, "AGE_15_19": 4.0, "AGE_18": 42.0, "AGE_20_24": 4.0, "AGE_21": 38.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 12.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.11, "BG": "390610034002", "BLACK": 52.0, "BLOCK": "390610034002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7551.7359, "F1_RACE": 54.0, "F2_RACES": 5.0, "FEMALE": 28.0, "FEMALE_18": 23.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701488.0, "IN_HOUSEHO": 59.0, "MALE": 31.0, "MALE_18": 19.0, "MALE_65": 3.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 59.0, "RENTER_SIZ": 1.63, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.140159999872544, -84.49664300046405, 39.14235999987234], "geometry": {"coordinates": [[[-84.49814300046388, 39.14155999987243], [-84.4981430004639, 39.14235999987234], [-84.49664300046405, 39.14235999987234], [-84.49684300046403, 39.141159999872464], [-84.49674300046404, 39.140759999872486], [-84.49674300046402, 39.14015999987255], [-84.49834300046385, 39.140159999872544], [-84.49824300046387, 39.1406599998725], [-84.49814300046388, 39.14155999987243]]], "type": "Polygon"}, "id": "264", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 5.0, "AGE_15_19": 16.0, "AGE_18": 144.0, "AGE_20_24": 23.0, "AGE_21": 125.0, "AGE_25_34": 16.0, "AGE_35_44": 33.0, "AGE_45_54": 24.0, "AGE_55_59": 10.0, "AGE_5_9": 21.0, "AGE_60_64": 9.0, "AGE_62": 26.0, "AGE_65": 20.0, "AGE_65_74": 15.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 197.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.03, "BG": "390610067004", "BLACK": 197.0, "BLOCK": "390610067004006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17071.3195, "F1_RACE": 201.0, "F2_RACES": 0.0, "FEMALE": 112.0, "FEMALE_18": 76.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 55.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 14.0, "ID": 701506.0, "IN_HOUSEHO": 201.0, "MALE": 89.0, "MALE_18": 68.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 201.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 84.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 201.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49624300046402, 39.13255999987324, -84.49464300046422, 39.13435999987308], "geometry": {"coordinates": [[[-84.49624300046402, 39.13255999987324], [-84.49604300046407, 39.13435999987308], [-84.49464300046422, 39.13435999987308], [-84.49484300046419, 39.13255999987326], [-84.49574300046409, 39.13255999987324], [-84.49624300046402, 39.13255999987324]]], "type": "Polygon"}, "id": "265", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 1.0, "AGE_21": 49.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 5.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.92, "BG": "390610034001", "BLACK": 67.0, "BLOCK": "390610034001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7394.32, "F1_RACE": 67.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 19.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 10.0, "ID": 701526.0, "IN_HOUSEHO": 69.0, "MALE": 39.0, "MALE_18": 32.0, "MALE_65": 4.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 69.0, "RENTER_SIZ": 1.79, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.496838000464, 39.13456299987309, -84.49564300046411, 39.13565999987297], "geometry": {"coordinates": [[[-84.496743000464, 39.13565999987297], [-84.49564300046411, 39.13565999987297], [-84.49574600046411, 39.13456799987306], [-84.49603300046407, 39.13456699987308], [-84.496838000464, 39.13456299987309], [-84.496743000464, 39.13475999987305], [-84.496743000464, 39.13565999987297]]], "type": "Polygon"}, "id": "266", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.17, "AVG_HHSIZE": 3.22, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13544.9492, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 18.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 701545.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 58.0, "RENTER_SIZ": 3.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49684300046397, 39.134259999873116, -84.49354300046434, 39.13456799987306], "geometry": {"coordinates": [[[-84.49684300046397, 39.13435999987308], [-84.496838000464, 39.13456299987309], [-84.49603300046407, 39.13456699987308], [-84.49574600046411, 39.13456799987306], [-84.4949400004642, 39.13446999987309], [-84.49474300046421, 39.13445999987308], [-84.49354300046434, 39.134459999873094], [-84.49354300046434, 39.134259999873116], [-84.49464300046422, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49684300046397, 39.13435999987308]]], "type": "Polygon"}, "id": "267", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701563.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49574600046411, 39.13446999987309, -84.49474300046423, 39.13565999987297], "geometry": {"coordinates": [[[-84.49574600046411, 39.13456799987306], [-84.49564300046411, 39.13565999987297], [-84.49474300046423, 39.13555999987299], [-84.49494300046419, 39.134559999873105], [-84.4949400004642, 39.13446999987309], [-84.49574600046411, 39.13456799987306]]], "type": "Polygon"}, "id": "268", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610034001", "BLACK": 59.0, "BLOCK": "390610034001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17330.8057, "F1_RACE": 59.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701585.0, "IN_HOUSEHO": 60.0, "MALE": 29.0, "MALE_18": 15.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 60.0, "RENTER_SIZ": 2.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.496743000464, 39.13445999987308, -84.49354300046434, 39.137059999872825], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.49514300046418, 39.13685999987286], [-84.49374300046433, 39.136759999872865], [-84.49354300046434, 39.134459999873094], [-84.49474300046421, 39.13445999987308], [-84.4949400004642, 39.13446999987309], [-84.49494300046419, 39.134559999873105], [-84.49474300046423, 39.13555999987299], [-84.49564300046411, 39.13565999987297], [-84.496743000464, 39.13565999987297], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "269", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 12.0, "AGE_15_19": 13.0, "AGE_18": 93.0, "AGE_20_24": 11.0, "AGE_21": 87.0, "AGE_25_34": 14.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 5.0, "AGE_62": 21.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.07, "AVG_HHSIZE": 2.17, "BG": "390610034001", "BLACK": 123.0, "BLOCK": "390610034001001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7107.1126, "F1_RACE": 125.0, "F2_RACES": 3.0, "FEMALE": 80.0, "FEMALE_18": 59.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 15.0, "ID": 701604.0, "IN_HOUSEHO": 128.0, "MALE": 48.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 128.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 128.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49484300046419, 39.13235999987328, -84.49294300046441, 39.134459999873094], "geometry": {"coordinates": [[[-84.49464300046422, 39.13435999987308], [-84.49354300046434, 39.134259999873116], [-84.49354300046434, 39.134459999873094], [-84.49294300046441, 39.134459999873094], [-84.49394300046428, 39.13235999987328], [-84.49484300046419, 39.13255999987326], [-84.49464300046422, 39.13435999987308]]], "type": "Polygon"}, "id": "270", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.67, "BG": "390610034001", "BLACK": 16.0, "BLOCK": "390610034001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1738.7833, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 2.0, "ID": 701626.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 16.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49394300046428, 39.1322599998733, -84.49234300046446, 39.134459999873094], "geometry": {"coordinates": [[[-84.49394300046428, 39.13235999987328], [-84.49294300046441, 39.134459999873094], [-84.49234300046446, 39.13435999987311], [-84.49244300046446, 39.13415999987311], [-84.49284300046439, 39.1322599998733], [-84.4936430004643, 39.13235999987327], [-84.49394300046428, 39.13235999987328]]], "type": "Polygon"}, "id": "271", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701646.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49374300046433, 39.134459999873094, -84.49221400046447, 39.13675999987287], "geometry": {"coordinates": [[[-84.49354300046434, 39.134459999873094], [-84.49374300046433, 39.136759999872865], [-84.49234300046447, 39.13675999987287], [-84.49224300046448, 39.135659999872985], [-84.49221400046447, 39.135337999873], [-84.49244300046446, 39.135159999873025], [-84.49294300046441, 39.134459999873094], [-84.49354300046434, 39.134459999873094]]], "type": "Polygon"}, "id": "272", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 7.0, "AGE_18": 40.0, "AGE_20_24": 4.0, "AGE_21": 35.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.15, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5326.181, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 701665.0, "IN_HOUSEHO": 56.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 56.0, "RENTER_SIZ": 2.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49654300046404, 39.13795999987277, -84.4949430004642, 39.13875999987268], "geometry": {"coordinates": [[[-84.49654300046404, 39.13805999987273], [-84.49654300046404, 39.13875999987268], [-84.4949430004642, 39.13855999987269], [-84.49524300046419, 39.13825999987273], [-84.49544300046415, 39.13795999987277], [-84.49654300046404, 39.13805999987273]]], "type": "Polygon"}, "id": "273", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 3.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.29, "BG": "390610067002", "BLACK": 37.0, "BLOCK": "390610067002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11703.1123, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 5.0, "ID": 701685.0, "IN_HOUSEHO": 39.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.67, "POPULATION": 39.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.13855999987269, -84.49354300046437, 39.14015999987255], "geometry": {"coordinates": [[[-84.49834300046383, 39.13945999987261], [-84.49834300046385, 39.140159999872544], [-84.49674300046402, 39.14015999987255], [-84.49354300046437, 39.13995999987257], [-84.49444300046427, 39.139159999872646], [-84.4949430004642, 39.13855999987269], [-84.49654300046404, 39.13875999987268], [-84.49834300046383, 39.13885999987267], [-84.49834300046383, 39.13945999987261]]], "type": "Polygon"}, "id": "274", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 21.0, "AGE_15_19": 17.0, "AGE_18": 206.0, "AGE_20_24": 14.0, "AGE_21": 196.0, "AGE_25_34": 31.0, "AGE_35_44": 58.0, "AGE_45_54": 40.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 10.0, "AGE_62": 40.0, "AGE_65": 36.0, "AGE_65_74": 25.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 264.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.28, "BG": "390610067002", "BLACK": 264.0, "BLOCK": "390610067002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13219.4943, "F1_RACE": 279.0, "F2_RACES": 0.0, "FEMALE": 145.0, "FEMALE_18": 105.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 59.0, "HH_NONFAMI": 61.0, "HOUSEHOLDS": 120.0, "HSNG_UNITS": 139.0, "HU_OCCUPIE": 120.0, "HU_VACANT": 19.0, "ID": 701704.0, "IN_HOUSEHO": 274.0, "MALE": 134.0, "MALE_18": 101.0, "MALE_65": 15.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 277.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 90.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 279.0, "RENTER_SIZ": 2.11, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 14.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50714300046275, 39.11655999987471, -84.50604300046285, 39.117459999874605], "geometry": {"coordinates": [[[-84.50704300046277, 39.117459999874605], [-84.50604300046285, 39.11735999987464], [-84.50614300046284, 39.11655999987471], [-84.50714300046275, 39.11655999987471], [-84.50704300046277, 39.117459999874605]]], "type": "Polygon"}, "id": "275", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 26.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.95, "BG": "390610018002", "BLACK": 33.0, "BLOCK": "390610018002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11683.7506, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 13.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 666949.0, "IN_HOUSEHO": 37.0, "MALE": 19.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 37.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50604300046285, 39.11735999987464, -84.50464300046302, 39.118059999874546], "geometry": {"coordinates": [[[-84.50604300046285, 39.11735999987464], [-84.50594300046288, 39.118059999874546], [-84.50464300046302, 39.117959999874564], [-84.50464300046302, 39.11735999987464], [-84.50604300046285, 39.11735999987464]]], "type": "Polygon"}, "id": "276", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 34.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12886.0003, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 666966.0, "IN_HOUSEHO": 42.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 49.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50614300046284, 39.116359999874724, -84.50354300046313, 39.11735999987465], "geometry": {"coordinates": [[[-84.50614300046284, 39.11655999987471], [-84.50604300046285, 39.11735999987464], [-84.50464300046302, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50354300046313, 39.116359999874724], [-84.50614300046284, 39.11655999987471]]], "type": "Polygon"}, "id": "277", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 0.0, "AGE_21": 45.0, "AGE_25_34": 7.0, "AGE_35_44": 10.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.96, "BG": "390610018003", "BLACK": 52.0, "BLOCK": "390610018003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6504.3475, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 666984.0, "IN_HOUSEHO": 53.0, "MALE": 28.0, "MALE_18": 23.0, "MALE_65": 3.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 53.0, "RENTER_SIZ": 2.13, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50844300046265, 39.11735999987464, -84.50344300046316, 39.121459999874226], "geometry": {"coordinates": [[[-84.50444300046306, 39.120559999874324], [-84.50344300046316, 39.120459999874356], [-84.50374300046313, 39.11735999987465], [-84.50464300046302, 39.11735999987464], [-84.50464300046302, 39.117959999874564], [-84.50594300046288, 39.118059999874546], [-84.50574300046291, 39.11965999987443], [-84.50844300046263, 39.11985999987439], [-84.50844300046265, 39.120459999874335], [-84.50834300046266, 39.121459999874226], [-84.50564300046294, 39.121359999874265], [-84.50444300046307, 39.121259999874276], [-84.50444300046306, 39.120559999874324]]], "type": "Polygon"}, "id": "278", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 24.0, "AGE_15_19": 22.0, "AGE_18": 246.0, "AGE_20_24": 22.0, "AGE_21": 234.0, "AGE_25_34": 57.0, "AGE_35_44": 53.0, "AGE_45_54": 47.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 38.0, "AGE_65_74": 19.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 3.0, "AP_BLACK": 292.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 5.0, "AP_WHITE": 29.0, "AREA": 0.04, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.05, "AVG_HHSIZE": 2.2, "BG": "390610022002", "BLACK": 283.0, "BLOCK": "390610022002003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7480.1601, "F1_RACE": 313.0, "F2_RACES": 11.0, "FEMALE": 171.0, "FEMALE_18": 131.0, "FEMALE_65": 26.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 75.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 147.0, "HSNG_UNITS": 207.0, "HU_OCCUPIE": 147.0, "HU_VACANT": 60.0, "ID": 667002.0, "IN_HOUSEHO": 324.0, "MALE": 153.0, "MALE_18": 115.0, "MALE_65": 12.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 321.0, "OCCHU_OWNE": 47.0, "OCCHU_RENT": 100.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.77, "POPULATION": 324.0, "RENTER_SIZ": 1.94, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 25.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50834300046266, 39.121359999874265, -84.50564300046294, 39.12195999987419], "geometry": {"coordinates": [[[-84.50834300046266, 39.121459999874226], [-84.50834300046266, 39.12195999987419], [-84.50564300046294, 39.12175999987422], [-84.50564300046294, 39.121359999874265], [-84.50834300046266, 39.121459999874226]]], "type": "Polygon"}, "id": "279", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 61.0, "AGE_20_24": 8.0, "AGE_21": 60.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.31, "AVG_HHSIZE": 1.93, "BG": "390610022002", "BLACK": 61.0, "BLOCK": "390610022002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18000.5453, "F1_RACE": 78.0, "F2_RACES": 3.0, "FEMALE": 44.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 12.0, "ID": 667029.0, "IN_HOUSEHO": 81.0, "MALE": 37.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 31.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 81.0, "RENTER_SIZ": 1.81, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12265999987413, -84.5043430004631, 39.124259999874], "geometry": {"coordinates": [[[-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12425999987398], [-84.50474300046305, 39.124259999874], [-84.5043430004631, 39.124159999874], [-84.50444300046308, 39.12355999987404], [-84.50664300046284, 39.12355999987404], [-84.50664300046284, 39.12275999987412], [-84.50834300046267, 39.12265999987413], [-84.50834300046267, 39.123959999873996]]], "type": "Polygon"}, "id": "280", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 11.0, "AGE_18": 152.0, "AGE_20_24": 15.0, "AGE_21": 141.0, "AGE_25_34": 41.0, "AGE_35_44": 38.0, "AGE_45_54": 23.0, "AGE_55_59": 7.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 170.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 22.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.07, "BG": "390610022003", "BLACK": 167.0, "BLOCK": "390610022003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12551.3346, "F1_RACE": 192.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 80.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 41.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 94.0, "HSNG_UNITS": 111.0, "HU_OCCUPIE": 94.0, "HU_VACANT": 17.0, "ID": 667045.0, "IN_HOUSEHO": 195.0, "MALE": 101.0, "MALE_18": 72.0, "MALE_65": 5.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.97, "POPULATION": 195.0, "RENTER_SIZ": 1.68, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 21.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12425999987398, -84.50474300046305, 39.12555999987385], "geometry": {"coordinates": [[[-84.50834300046267, 39.12505999987389], [-84.50824300046268, 39.12555999987385], [-84.50674300046285, 39.125459999873875], [-84.50604300046291, 39.125059999873905], [-84.50564300046297, 39.12495999987392], [-84.50474300046305, 39.12495999987392], [-84.50474300046305, 39.124259999874], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.12505999987389]]], "type": "Polygon"}, "id": "281", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 18.0, "AGE_18": 145.0, "AGE_20_24": 32.0, "AGE_21": 126.0, "AGE_25_34": 39.0, "AGE_35_44": 30.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 49.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610022004", "BLACK": 128.0, "BLOCK": "390610022004004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13388.9258, "F1_RACE": 179.0, "F2_RACES": 0.0, "FEMALE": 101.0, "FEMALE_18": 80.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 62.0, "HOUSEHOLDS": 93.0, "HSNG_UNITS": 104.0, "HU_OCCUPIE": 93.0, "HU_VACANT": 11.0, "ID": 667067.0, "IN_HOUSEHO": 179.0, "MALE": 78.0, "MALE_18": 65.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.1, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 177.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.76, "POPULATION": 179.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 49.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.121259999874276, -84.5042430004631, 39.12275999987412], "geometry": {"coordinates": [[[-84.50834300046266, 39.12195999987419], [-84.50834300046267, 39.12265999987413], [-84.50664300046284, 39.12275999987412], [-84.5042430004631, 39.12255999987417], [-84.50444300046307, 39.121259999874276], [-84.50564300046294, 39.121359999874265], [-84.50564300046294, 39.12175999987422], [-84.50834300046266, 39.12195999987419]]], "type": "Polygon"}, "id": "282", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 23.0, "AGE_18": 141.0, "AGE_20_24": 13.0, "AGE_21": 128.0, "AGE_25_34": 32.0, "AGE_35_44": 36.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 22.0, "AGE_60_64": 10.0, "AGE_62": 17.0, "AGE_65": 12.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 1.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.41, "BG": "390610022002", "BLACK": 180.0, "BLOCK": "390610022002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13920.8235, "F1_RACE": 198.0, "F2_RACES": 9.0, "FEMALE": 108.0, "FEMALE_18": 75.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 27.0, "ID": 667087.0, "IN_HOUSEHO": 207.0, "MALE": 99.0, "MALE_18": 66.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 71.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 207.0, "RENTER_SIZ": 2.38, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50664300046284, 39.12255999987417, -84.50414300046312, 39.12355999987404], "geometry": {"coordinates": [[[-84.50664300046284, 39.12275999987412], [-84.50664300046284, 39.12355999987404], [-84.50444300046308, 39.12355999987404], [-84.50414300046312, 39.12345999987407], [-84.5042430004631, 39.12255999987417], [-84.50664300046284, 39.12275999987412]]], "type": "Polygon"}, "id": "283", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 87.0, "AGE_20_24": 9.0, "AGE_21": 80.0, "AGE_25_34": 14.0, "AGE_35_44": 19.0, "AGE_45_54": 24.0, "AGE_55_59": 3.0, "AGE_5_9": 12.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.38, "BG": "390610022003", "BLACK": 115.0, "BLOCK": "390610022003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7854, "F1_RACE": 121.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 54.0, "FEMALE_65": 9.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 7.0, "ID": 667107.0, "IN_HOUSEHO": 112.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 4.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.14, "POPULATION": 121.0, "RENTER_SIZ": 2.58, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50374300046313, 39.11735999987464, -84.50244300046329, 39.120459999874356], "geometry": {"coordinates": [[[-84.50344300046316, 39.120459999874356], [-84.50244300046329, 39.12035999987436], [-84.50274300046323, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50344300046316, 39.120459999874356]]], "type": "Polygon"}, "id": "284", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 10.0, "AGE_15_19": 6.0, "AGE_18": 133.0, "AGE_20_24": 15.0, "AGE_21": 128.0, "AGE_25_34": 22.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 9.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 16.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.29, "BG": "390610022001", "BLACK": 160.0, "BLOCK": "390610022001005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14534.9531, "F1_RACE": 165.0, "F2_RACES": 0.0, "FEMALE": 88.0, "FEMALE_18": 73.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 37.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 12.0, "ID": 667125.0, "IN_HOUSEHO": 165.0, "MALE": 77.0, "MALE_18": 60.0, "MALE_65": 10.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 32.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.55, "POPULATION": 165.0, "RENTER_SIZ": 1.97, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 5.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50274300046323, 39.11735999987464, -84.49994300046355, 39.12235999987418], "geometry": {"coordinates": [[[-84.50244300046329, 39.12035999987436], [-84.50224300046331, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50114300046343, 39.12235999987418], [-84.50081300046347, 39.121369999874275], [-84.50074300046347, 39.12115999987429], [-84.49994300046355, 39.11945999987446], [-84.5001430004635, 39.117559999874615], [-84.50174300046334, 39.117459999874605], [-84.50274300046323, 39.11735999987464], [-84.50244300046329, 39.12035999987436]]], "type": "Polygon"}, "id": "285", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 38.0, "AGE_15_19": 34.0, "AGE_18": 244.0, "AGE_20_24": 22.0, "AGE_21": 227.0, "AGE_25_34": 44.0, "AGE_35_44": 49.0, "AGE_45_54": 62.0, "AGE_55_59": 12.0, "AGE_5_9": 29.0, "AGE_60_64": 10.0, "AGE_62": 41.0, "AGE_65": 36.0, "AGE_65_74": 16.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 343.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 2.89, "BG": "390610022001", "BLACK": 343.0, "BLOCK": "390610022001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9208.6985, "F1_RACE": 353.0, "F2_RACES": 0.0, "FEMALE": 199.0, "FEMALE_18": 142.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 43.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 133.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 11.0, "ID": 667143.0, "IN_HOUSEHO": 353.0, "MALE": 154.0, "MALE_18": 102.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 63.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.51, "POPULATION": 353.0, "RENTER_SIZ": 2.24, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50444300046307, 39.120459999874356, -84.50324300046321, 39.12255999987417], "geometry": {"coordinates": [[[-84.50444300046307, 39.121259999874276], [-84.5042430004631, 39.12255999987417], [-84.50324300046321, 39.12245999987417], [-84.50344300046316, 39.120459999874356], [-84.50444300046306, 39.120559999874324], [-84.50444300046307, 39.121259999874276]]], "type": "Polygon"}, "id": "286", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 57.0, "AGE_20_24": 4.0, "AGE_21": 56.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 12.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.68, "AVG_HHSIZE": 2.16, "BG": "390610022002", "BLACK": 60.0, "BLOCK": "390610022002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8655.7543, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 10.0, "ID": 667166.0, "IN_HOUSEHO": 67.0, "MALE": 33.0, "MALE_18": 28.0, "MALE_65": 10.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.56, "POPULATION": 67.0, "RENTER_SIZ": 1.62, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50344300046316, 39.12035999987436, -84.50224300046331, 39.12245999987417], "geometry": {"coordinates": [[[-84.50324300046321, 39.12245999987417], [-84.50224300046331, 39.12235999987418], [-84.50244300046329, 39.12035999987436], [-84.50344300046316, 39.120459999874356], [-84.50324300046321, 39.12245999987417]]], "type": "Polygon"}, "id": "287", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 3.0, "AGE_18": 69.0, "AGE_20_24": 4.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 12.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 0.0, "AGE_62": 19.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.56, "BG": "390610022001", "BLACK": 87.0, "BLOCK": "390610022001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13366.7012, "F1_RACE": 99.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 35.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 45.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 6.0, "ID": 667185.0, "IN_HOUSEHO": 100.0, "MALE": 49.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.22, "POPULATION": 100.0, "RENTER_SIZ": 2.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 9.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50324300046321, 39.12235999987418, -84.50214300046333, 39.12345999987407], "geometry": {"coordinates": [[[-84.50314300046323, 39.12345999987407], [-84.50214300046333, 39.12335999987408], [-84.50224300046331, 39.12235999987418], [-84.50324300046321, 39.12245999987417], [-84.50314300046323, 39.12345999987407]]], "type": "Polygon"}, "id": "288", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 52.0, "AGE_20_24": 5.0, "AGE_21": 50.0, "AGE_25_34": 14.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.68, "BG": "390610022003", "BLACK": 63.0, "BLOCK": "390610022003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17911.7113, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 8.0, "ID": 667202.0, "IN_HOUSEHO": 67.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 67.0, "RENTER_SIZ": 1.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5042430004631, 39.12245999987417, -84.50314300046323, 39.12345999987407], "geometry": {"coordinates": [[[-84.5042430004631, 39.12255999987417], [-84.50414300046312, 39.12345999987407], [-84.50314300046323, 39.12345999987407], [-84.50324300046321, 39.12245999987417], [-84.5042430004631, 39.12255999987417]]], "type": "Polygon"}, "id": "289", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 0.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.0, "BG": "390610022003", "BLACK": 33.0, "BLOCK": "390610022003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12440.3687, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 8.0, "ID": 667220.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.7, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 44.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 11.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50444300046308, 39.12345999987407, -84.50314300046323, 39.124159999874], "geometry": {"coordinates": [[[-84.50444300046308, 39.12355999987404], [-84.5043430004631, 39.124159999874], [-84.50334300046322, 39.124159999873996], [-84.50314300046323, 39.12345999987407], [-84.50414300046312, 39.12345999987407], [-84.50444300046308, 39.12355999987404]]], "type": "Polygon"}, "id": "290", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 0.0, "AGE_18": 34.0, "AGE_20_24": 2.0, "AGE_21": 34.0, "AGE_25_34": 10.0, "AGE_35_44": 2.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 44.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.68, "BG": "390610022003", "BLACK": 44.0, "BLOCK": "390610022003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17321.771, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 21.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 667237.0, "IN_HOUSEHO": 51.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 51.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.124159999873996, -84.50334300046322, 39.12495999987392], "geometry": {"coordinates": [[[-84.50474300046305, 39.124259999874], [-84.50474300046305, 39.12495999987392], [-84.5034430004632, 39.12485999987395], [-84.50334300046322, 39.124159999873996], [-84.5043430004631, 39.124159999874], [-84.50474300046305, 39.124259999874]]], "type": "Polygon"}, "id": "291", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 3.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 18.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.75, "BG": "390610022004", "BLACK": 44.0, "BLOCK": "390610022004005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15001.0741, "F1_RACE": 51.0, "F2_RACES": 4.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 4.0, "ID": 667256.0, "IN_HOUSEHO": 55.0, "MALE": 22.0, "MALE_18": 13.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.9, "POPULATION": 55.0, "RENTER_SIZ": 2.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12335999987408, -84.50214300046333, 39.12485999987396], "geometry": {"coordinates": [[[-84.50334300046322, 39.124159999873996], [-84.5034430004632, 39.12485999987395], [-84.5025430004633, 39.12485999987396], [-84.5025430004633, 39.124259999874], [-84.50234300046331, 39.123959999874025], [-84.50214300046333, 39.12335999987408], [-84.50314300046323, 39.12345999987407], [-84.50334300046322, 39.124159999873996]]], "type": "Polygon"}, "id": "292", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 41.0, "AGE_20_24": 1.0, "AGE_21": 41.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 51.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.78, "AVG_HHSIZE": 1.65, "BG": "390610022003", "BLACK": 51.0, "BLOCK": "390610022003000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10552.4083, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 23.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 8.0, "ID": 667274.0, "IN_HOUSEHO": 51.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.64, "POPULATION": 51.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50224300046331, 39.12235999987418, -84.50114300046343, 39.12335999987408], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50114300046344, 39.12325999987408], [-84.50114300046343, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50224300046331, 39.12235999987418], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "293", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 9.0, "AGE_35_44": 21.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.67, "BG": "390610022001", "BLACK": 42.0, "BLOCK": "390610022001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7518, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 30.0, "FEMALE_65": 2.0, "GQ_INSTITU": 20.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 20.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 7.0, "ID": 667293.0, "IN_HOUSEHO": 35.0, "MALE": 23.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.75, "POPULATION": 55.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5025430004633, 39.12325999987408, -84.50114300046344, 39.12485999987396], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50234300046331, 39.123959999874025], [-84.5025430004633, 39.124259999874], [-84.5025430004633, 39.12485999987396], [-84.50174300046339, 39.12475999987396], [-84.50114300046344, 39.12325999987408], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "294", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 11.0, "AGE_20_24": 2.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.75, "BG": "390610022001", "BLACK": 13.0, "BLOCK": "390610022001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2913.8529, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 667312.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50174300046339, 39.12225999987419, -84.50014300046355, 39.12475999987396], "geometry": {"coordinates": [[[-84.50114300046344, 39.12325999987408], [-84.50174300046339, 39.12475999987396], [-84.50014300046355, 39.12465999987397], [-84.50034300046353, 39.12225999987419], [-84.50114300046343, 39.12235999987418], [-84.50114300046344, 39.12325999987408]]], "type": "Polygon"}, "id": "295", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667329.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50074300046342, 39.11275999987505, -84.49864300046367, 39.11755999987462], "geometry": {"coordinates": [[[-84.50074300046342, 39.11285999987504], [-84.50064300046343, 39.113159999875045], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.11375999987498], [-84.50044300046345, 39.114359999874935], [-84.49974300046355, 39.1169599998747], [-84.49964300046355, 39.11715999987465], [-84.49944300046359, 39.11755999987462], [-84.49884300046364, 39.11745999987464], [-84.49864300046367, 39.11715999987466], [-84.49895600046362, 39.11617399987476], [-84.49994300046352, 39.11355999987502], [-84.49994300046352, 39.11335999987502], [-84.50024300046346, 39.11275999987505], [-84.50074300046342, 39.11285999987504]]], "type": "Polygon"}, "id": "296", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002031", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667490.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49514300046425, 39.145659999872066, -84.49354300046444, 39.14845999987178], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.4948430004643, 39.14845999987178], [-84.49354300046444, 39.148259999871804], [-84.49384300046441, 39.14705999987192], [-84.49404300046436, 39.145659999872066], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "297", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 221.0, "AGE_20_24": 25.0, "AGE_21": 202.0, "AGE_25_34": 35.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 16.0, "AGE_5_9": 20.0, "AGE_60_64": 11.0, "AGE_62": 75.0, "AGE_65": 68.0, "AGE_65_74": 26.0, "AGE_75_84": 26.0, "AGE_85": 16.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 247.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 41.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 10, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.94, "BG": "390610068002", "BLACK": 243.0, "BLOCK": "390610068002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24438.1476, "F1_RACE": 280.0, "F2_RACES": 5.0, "FEMALE": 161.0, "FEMALE_18": 134.0, "FEMALE_65": 47.0, "GQ_INSTITU": 72.0, "GQ_NONINST": 23.0, "GROUP_QUAR": 95.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 98.0, "HSNG_UNITS": 117.0, "HU_OCCUPIE": 98.0, "HU_VACANT": 19.0, "ID": 705132.0, "IN_HOUSEHO": 190.0, "MALE": 124.0, "MALE_18": 87.0, "MALE_65": 21.0, "MEDIAN_AGE": 37.8, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 285.0, "RENTER_SIZ": 1.93, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49404300046436, 39.14545999987209, -84.4920430004646, 39.148259999871804], "geometry": {"coordinates": [[[-84.49404300046436, 39.145659999872066], [-84.49384300046441, 39.14705999987192], [-84.49354300046444, 39.148259999871804], [-84.4920430004646, 39.14805999987183], [-84.49213100046458, 39.14691599987195], [-84.49224300046455, 39.14545999987209], [-84.49404300046436, 39.145659999872066]]], "type": "Polygon"}, "id": "298", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 24.0, "AGE_15_19": 17.0, "AGE_18": 122.0, "AGE_20_24": 9.0, "AGE_21": 113.0, "AGE_25_34": 21.0, "AGE_35_44": 35.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 1.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 11.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 0.0, "AP_BLACK": 171.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.78, "BG": "390610068002", "BLACK": 167.0, "BLOCK": "390610068002001", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10804.1794, "F1_RACE": 172.0, "F2_RACES": 6.0, "FEMALE": 87.0, "FEMALE_18": 62.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 78.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 14.0, "ID": 705167.0, "IN_HOUSEHO": 178.0, "MALE": 91.0, "MALE_18": 60.0, "MALE_65": 11.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 178.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.61, "POPULATION": 178.0, "RENTER_SIZ": 2.88, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49304300046434, 39.12525999987394, -84.49154300046447, 39.125759999873914], "geometry": {"coordinates": [[[-84.49304300046434, 39.125359999873936], [-84.49304300046434, 39.1257599998739], [-84.4924430004644, 39.125759999873914], [-84.49184300046447, 39.1257599998739], [-84.49154300046449, 39.1256599998739], [-84.49154300046447, 39.12525999987394], [-84.49304300046434, 39.125359999873936]]], "type": "Polygon"}, "id": "299", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.25, "BG": "390610021001", "BLACK": 13.0, "BLOCK": "390610021001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5318.6525, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 8.0, "ID": 705258.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 13.0, "RENTER_SIZ": 3.25, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4924430004644, 39.1257599998739, -84.4917430004645, 39.127359999873725], "geometry": {"coordinates": [[[-84.4924430004644, 39.125759999873914], [-84.49224300046444, 39.127359999873725], [-84.4917430004645, 39.127359999873725], [-84.49184300046447, 39.1257599998739], [-84.4924430004644, 39.125759999873914]]], "type": "Polygon"}, "id": "300", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 5.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.25, "BG": "390610035002", "BLACK": 9.0, "BLOCK": "390610035002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2761.6482, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 705278.0, "IN_HOUSEHO": 9.0, "MALE": 4.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 9.0, "RENTER_SIZ": 1.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49154300046449, 39.12485999987399, -84.49044300046462, 39.1256599998739], "geometry": {"coordinates": [[[-84.49154300046447, 39.12525999987394], [-84.49154300046449, 39.1256599998739], [-84.49064300046459, 39.1256599998739], [-84.49044300046462, 39.125559999873914], [-84.49114300046453, 39.12485999987399], [-84.49104300046453, 39.12515999987397], [-84.49154300046447, 39.12525999987394]]], "type": "Polygon"}, "id": "301", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705295.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12475999987402, -84.49014300046463, 39.125559999873914], "geometry": {"coordinates": [[[-84.49114300046453, 39.12485999987399], [-84.49044300046462, 39.125559999873914], [-84.49014300046463, 39.125559999873914], [-84.49044300046461, 39.12495999987399], [-84.49054300046461, 39.12475999987402], [-84.49114300046453, 39.12485999987399]]], "type": "Polygon"}, "id": "302", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 4.67, "BG": "390610021001", "BLACK": 14.0, "BLOCK": "390610021001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10356.9954, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 705315.0, "IN_HOUSEHO": 14.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 11.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 4.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49184300046447, 39.1256599998739, -84.49044300046464, 39.127359999873725], "geometry": {"coordinates": [[[-84.4917430004645, 39.127359999873725], [-84.49044300046464, 39.12725999987379], [-84.49064300046459, 39.1256599998739], [-84.49154300046449, 39.1256599998739], [-84.49184300046447, 39.1257599998739], [-84.4917430004645, 39.127359999873725]]], "type": "Polygon"}, "id": "303", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 11.0, "AGE_15_19": 5.0, "AGE_18": 73.0, "AGE_20_24": 4.0, "AGE_21": 71.0, "AGE_25_34": 10.0, "AGE_35_44": 21.0, "AGE_45_54": 20.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 11.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 97.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.83, "BG": "390610035001", "BLACK": 97.0, "BLOCK": "390610035001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12976.9945, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 46.0, "FEMALE_18": 33.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 9.0, "ID": 705334.0, "IN_HOUSEHO": 99.0, "MALE": 53.0, "MALE_18": 40.0, "MALE_65": 8.0, "MEDIAN_AGE": 37.9, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 51.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 99.0, "RENTER_SIZ": 1.76, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49224300046444, 39.12725999987379, -84.49024300046466, 39.129759999873535], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49024300046466, 39.12965999987355], [-84.49044300046464, 39.12725999987379], [-84.4917430004645, 39.127359999873725], [-84.49224300046444, 39.127359999873725], [-84.49214300046445, 39.12915999987361], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "304", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 13.0, "AGE_18": 76.0, "AGE_20_24": 8.0, "AGE_21": 65.0, "AGE_25_34": 16.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 4.0, "AGE_75_84": 4.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 117.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.71, "BG": "390610035001", "BLACK": 117.0, "BLOCK": "390610035001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7530.1086, "F1_RACE": 122.0, "F2_RACES": 0.0, "FEMALE": 61.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 80.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 35.0, "ID": 705352.0, "IN_HOUSEHO": 122.0, "MALE": 61.0, "MALE_18": 39.0, "MALE_65": 8.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 122.0, "RENTER_SIZ": 2.7, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49064300046459, 39.125559999873914, -84.48934300046474, 39.12725999987379], "geometry": {"coordinates": [[[-84.49064300046459, 39.1256599998739], [-84.49044300046464, 39.12725999987379], [-84.48934300046474, 39.12715999987378], [-84.49014300046463, 39.125559999873914], [-84.49044300046462, 39.125559999873914], [-84.49064300046459, 39.1256599998739]]], "type": "Polygon"}, "id": "305", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 6.0, "AGE_35_44": 11.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 2.4, "BG": "390610035001", "BLACK": 42.0, "BLOCK": "390610035001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9636.6782, "F1_RACE": 47.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 705372.0, "IN_HOUSEHO": 48.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 48.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49044300046461, 39.124859999874, -84.4877430004649, 39.125559999873914], "geometry": {"coordinates": [[[-84.48914300046475, 39.124859999874], [-84.49044300046461, 39.12495999987399], [-84.49014300046463, 39.125559999873914], [-84.4877430004649, 39.125459999873954], [-84.48784300046489, 39.124859999874026], [-84.48914300046475, 39.124859999874]]], "type": "Polygon"}, "id": "306", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 16.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.64, "BG": "390610019001", "BLACK": 9.0, "BLOCK": "390610019001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3066.4806, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 36.0, "ID": 705391.0, "IN_HOUSEHO": 18.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 1.64, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 7.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49014300046463, 39.125459999873954, -84.48754300046494, 39.12715999987378], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.49014300046463, 39.125559999873914], [-84.48934300046474, 39.12715999987378], [-84.48754300046494, 39.126959999873826], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "307", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 59.0, "AGE_20_24": 1.0, "AGE_21": 59.0, "AGE_25_34": 11.0, "AGE_35_44": 11.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 62.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.17, "BG": "390610037002", "BLACK": 62.0, "BLOCK": "390610037002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5108.6014, "F1_RACE": 63.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 28.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 50.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 57.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 3.0, "ID": 705409.0, "IN_HOUSEHO": 63.0, "MALE": 34.0, "MALE_18": 31.0, "MALE_65": 5.0, "MEDIAN_AGE": 45.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 1.17, "THEFT": 14, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49044300046464, 39.12715999987378, -84.48844300046484, 39.12965999987355], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.48934300046476, 39.12955999987356], [-84.48844300046484, 39.12945999987358], [-84.48854300046484, 39.12865999987366], [-84.48934300046474, 39.12715999987378], [-84.49044300046464, 39.12725999987379], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "308", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 24.0, "AGE_15_19": 20.0, "AGE_18": 189.0, "AGE_20_24": 14.0, "AGE_21": 186.0, "AGE_25_34": 28.0, "AGE_35_44": 47.0, "AGE_45_54": 43.0, "AGE_55_59": 12.0, "AGE_5_9": 25.0, "AGE_60_64": 9.0, "AGE_62": 42.0, "AGE_65": 33.0, "AGE_65_74": 20.0, "AGE_75_84": 11.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.7, "BG": "390610035001", "BLACK": 246.0, "BLOCK": "390610035001003", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20388.1466, "F1_RACE": 274.0, "F2_RACES": 8.0, "FEMALE": 136.0, "FEMALE_18": 88.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 47.0, "GROUP_QUAR": 47.0, "HAWAIIAN": 0.0, "HH_FAMILY": 61.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 100.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 13.0, "ID": 705427.0, "IN_HOUSEHO": 235.0, "MALE": 146.0, "MALE_18": 101.0, "MALE_65": 17.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.92, "POPULATION": 282.0, "RENTER_SIZ": 2.67, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 23.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48934300046474, 39.126959999873826, -84.48744300046496, 39.12865999987366], "geometry": {"coordinates": [[[-84.48934300046474, 39.12715999987378], [-84.48854300046484, 39.12865999987366], [-84.48744300046496, 39.12865999987366], [-84.48754300046494, 39.126959999873826], [-84.48934300046474, 39.12715999987378]]], "type": "Polygon"}, "id": "309", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 49.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 12.0, "AGE_35_44": 16.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.11, "AVG_HHSIZE": 2.84, "BG": "390610037002", "BLACK": 70.0, "BLOCK": "390610037002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8106.6346, "F1_RACE": 71.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 27.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 705446.0, "IN_HOUSEHO": 71.0, "MALE": 34.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.8, "POPULATION": 71.0, "RENTER_SIZ": 2.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49204300046448, 39.12965999987355, -84.49004300046471, 39.13215999987331], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49184300046453, 39.13215999987331], [-84.49004300046471, 39.13195999987333], [-84.49024300046466, 39.12965999987355], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "310", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 24.0, "AGE_15_19": 23.0, "AGE_18": 114.0, "AGE_20_24": 12.0, "AGE_21": 105.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.34, "BG": "390610035001", "BLACK": 177.0, "BLOCK": "390610035001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12487.9501, "F1_RACE": 192.0, "F2_RACES": 5.0, "FEMALE": 103.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 12.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 12.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 31.0, "ID": 705464.0, "IN_HOUSEHO": 185.0, "MALE": 94.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 24.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 60.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.32, "POPULATION": 197.0, "RENTER_SIZ": 2.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 15.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49284300046439, 39.13215999987331, -84.49174300046454, 39.13415999987313], "geometry": {"coordinates": [[[-84.49184300046453, 39.13215999987331], [-84.49284300046439, 39.1322599998733], [-84.49244300046446, 39.13415999987311], [-84.49174300046455, 39.13415999987313], [-84.49174300046454, 39.13335999987318], [-84.49184300046453, 39.13215999987331]]], "type": "Polygon"}, "id": "311", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49184300046453, 39.13195999987333, -84.48994300046472, 39.13335999987318], "geometry": {"coordinates": [[[-84.49174300046454, 39.13335999987318], [-84.48994300046472, 39.13325999987322], [-84.49004300046471, 39.13195999987333], [-84.49184300046453, 39.13215999987331], [-84.49174300046454, 39.13335999987318]]], "type": "Polygon"}, "id": "312", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.9, "BG": "390610036002", "BLACK": 19.0, "BLOCK": "390610036002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2265.3295, "F1_RACE": 19.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 705500.0, "IN_HOUSEHO": 19.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 19.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49024300046466, 39.12945999987358, -84.48794300046492, 39.13195999987333], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.49004300046471, 39.13195999987333], [-84.48914300046481, 39.13195999987333], [-84.48794300046492, 39.13185999987335], [-84.48814300046489, 39.13085999987344], [-84.48844300046484, 39.12945999987358], [-84.48934300046476, 39.12955999987356], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "313", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 59.0, "AGE_20_24": 12.0, "AGE_21": 55.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 16.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.72, "BG": "390610035001", "BLACK": 74.0, "BLOCK": "390610035001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4260.8043, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 31.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 9.0, "ID": 705518.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 74.0, "RENTER_SIZ": 1.65, "THEFT": 11, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49004300046471, 39.13185999987335, -84.48764300046497, 39.13325999987322], "geometry": {"coordinates": [[[-84.49004300046471, 39.13195999987333], [-84.48994300046472, 39.13325999987322], [-84.48764300046497, 39.13315999987322], [-84.48784300046495, 39.13265999987328], [-84.48794300046492, 39.13185999987335], [-84.48914300046481, 39.13195999987333], [-84.49004300046471, 39.13195999987333]]], "type": "Polygon"}, "id": "314", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 229.0, "AGE_20_24": 2.0, "AGE_21": 228.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 10.0, "AGE_5_9": 1.0, "AGE_60_64": 16.0, "AGE_62": 187.0, "AGE_65": 177.0, "AGE_65_74": 79.0, "AGE_75_84": 73.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 2.0, "AP_BLACK": 239.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.53, "AVG_HHSIZE": 1.15, "BG": "390610036002", "BLACK": 236.0, "BLOCK": "390610036002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23313.5736, "F1_RACE": 237.0, "F2_RACES": 3.0, "FEMALE": 190.0, "FEMALE_18": 183.0, "FEMALE_65": 147.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 190.0, "HOUSEHOLDS": 209.0, "HSNG_UNITS": 212.0, "HU_OCCUPIE": 209.0, "HU_VACANT": 3.0, "ID": 705538.0, "IN_HOUSEHO": 240.0, "MALE": 50.0, "MALE_18": 46.0, "MALE_65": 30.0, "MEDIAN_AGE": 72.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 239.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 204.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 240.0, "RENTER_SIZ": 1.14, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4877430004649, 39.125359999873965, -84.48594300046511, 39.126959999873826], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.48754300046494, 39.126959999873826], [-84.48594300046511, 39.12685999987383], [-84.48604300046509, 39.125359999873965], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "315", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 141.0, "AGE_20_24": 7.0, "AGE_21": 139.0, "AGE_25_34": 8.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 9.0, "AGE_5_9": 7.0, "AGE_60_64": 16.0, "AGE_62": 77.0, "AGE_65": 68.0, "AGE_65_74": 32.0, "AGE_75_84": 24.0, "AGE_85": 12.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.76, "AVG_HHSIZE": 1.33, "BG": "390610037002", "BLACK": 146.0, "BLOCK": "390610037002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17459.4717, "F1_RACE": 158.0, "F2_RACES": 3.0, "FEMALE": 88.0, "FEMALE_18": 80.0, "FEMALE_65": 42.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 121.0, "HSNG_UNITS": 126.0, "HU_OCCUPIE": 121.0, "HU_VACANT": 5.0, "ID": 705558.0, "IN_HOUSEHO": 161.0, "MALE": 73.0, "MALE_18": 61.0, "MALE_65": 26.0, "MEDIAN_AGE": 61.1, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 161.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 113.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 161.0, "RENTER_SIZ": 1.25, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48754300046494, 39.12685999987383, -84.48574300046513, 39.12865999987366], "geometry": {"coordinates": [[[-84.48754300046494, 39.126959999873826], [-84.48744300046496, 39.12865999987366], [-84.4862430004651, 39.12855999987367], [-84.48574300046513, 39.12855999987368], [-84.48594300046511, 39.12685999987383], [-84.48754300046494, 39.126959999873826]]], "type": "Polygon"}, "id": "316", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610037002", "BLACK": 8.0, "BLOCK": "390610037002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 772.902, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 1.0, "ID": 705576.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48604300046509, 39.125159999874, -84.48434300046526, 39.12685999987383], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48434300046527, 39.12675999987384], [-84.48434300046526, 39.125159999874], [-84.48504300046518, 39.12525999987396], [-84.48604300046509, 39.125359999873965], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "317", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 6.0, "AGE_15_19": 15.0, "AGE_18": 178.0, "AGE_20_24": 31.0, "AGE_21": 164.0, "AGE_25_34": 43.0, "AGE_35_44": 18.0, "AGE_45_54": 18.0, "AGE_55_59": 17.0, "AGE_5_9": 24.0, "AGE_60_64": 16.0, "AGE_62": 35.0, "AGE_65": 25.0, "AGE_65_74": 19.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 232.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 1.6, "BG": "390610037002", "BLACK": 230.0, "BLOCK": "390610037002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25096.418, "F1_RACE": 235.0, "F2_RACES": 2.0, "FEMALE": 132.0, "FEMALE_18": 99.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 50.0, "HH_NONFAMI": 98.0, "HOUSEHOLDS": 148.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 148.0, "HU_VACANT": 45.0, "ID": 705594.0, "IN_HOUSEHO": 237.0, "MALE": 105.0, "MALE_18": 79.0, "MALE_65": 9.0, "MEDIAN_AGE": 27.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 233.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 237.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48594300046511, 39.12675999987384, -84.48414300046532, 39.12855999987368], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48574300046513, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.4842430004653, 39.12765999987374], [-84.48434300046527, 39.12675999987384], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "318", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 9.0, "AGE_18": 229.0, "AGE_20_24": 9.0, "AGE_21": 226.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 33.0, "AGE_55_59": 11.0, "AGE_5_9": 6.0, "AGE_60_64": 24.0, "AGE_62": 123.0, "AGE_65": 110.0, "AGE_65_74": 44.0, "AGE_75_84": 46.0, "AGE_85": 20.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 235.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 5.0, "AP_WHITE": 19.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.29, "BG": "390610037002", "BLACK": 229.0, "BLOCK": "390610037002000", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25176.618, "F1_RACE": 248.0, "F2_RACES": 7.0, "FEMALE": 152.0, "FEMALE_18": 143.0, "FEMALE_65": 76.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 173.0, "HOUSEHOLDS": 197.0, "HSNG_UNITS": 199.0, "HU_OCCUPIE": 197.0, "HU_VACANT": 2.0, "ID": 705613.0, "IN_HOUSEHO": 255.0, "MALE": 103.0, "MALE_18": 86.0, "MALE_65": 34.0, "MEDIAN_AGE": 61.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 255.0, "RENTER_SIZ": 1.26, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 16.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.128459999873684, -84.48414300046532, 39.129359999873586], "geometry": {"coordinates": [[[-84.48574300046513, 39.12855999987368], [-84.48574300046515, 39.129359999873586], [-84.48414300046532, 39.129259999873604], [-84.48414300046532, 39.128459999873684], [-84.48574300046513, 39.12855999987368]]], "type": "Polygon"}, "id": "319", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 9.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.91, "BG": "390610037003", "BLACK": 57.0, "BLOCK": "390610037003012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13501.798, "F1_RACE": 64.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 6.0, "ID": 705632.0, "IN_HOUSEHO": 64.0, "MALE": 26.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 64.0, "RENTER_SIZ": 3.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 7.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48854300046484, 39.12855999987367, -84.48554300046517, 39.130859999873465], "geometry": {"coordinates": [[[-84.48844300046484, 39.12945999987358], [-84.48814300046489, 39.13085999987344], [-84.48684300046503, 39.130859999873465], [-84.48604300046513, 39.13075999987347], [-84.48554300046517, 39.13075999987347], [-84.48574300046515, 39.129359999873586], [-84.48574300046513, 39.12855999987368], [-84.4862430004651, 39.12855999987367], [-84.48744300046496, 39.12865999987366], [-84.48854300046484, 39.12865999987366], [-84.48844300046484, 39.12945999987358]]], "type": "Polygon"}, "id": "320", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 2.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 46.0, "BLOCK": "390610037003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2087.6977, "F1_RACE": 46.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 20.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 705649.0, "IN_HOUSEHO": 46.0, "MALE": 19.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 46.0, "RENTER_SIZ": 2.36, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48814300046489, 39.13085999987344, -84.48684300046503, 39.13185999987336], "geometry": {"coordinates": [[[-84.48814300046489, 39.13085999987344], [-84.48794300046492, 39.13185999987335], [-84.48684300046504, 39.13185999987336], [-84.48684300046503, 39.130859999873465], [-84.48814300046489, 39.13085999987344]]], "type": "Polygon"}, "id": "321", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 25.0, "AGE_20_24": 11.0, "AGE_21": 17.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 39.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.17, "BG": "390610037003", "BLACK": 38.0, "BLOCK": "390610037003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8776.4684, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 705673.0, "IN_HOUSEHO": 39.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 2.17, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48794300046492, 39.13185999987335, -84.48684300046504, 39.132659999873304], "geometry": {"coordinates": [[[-84.48794300046492, 39.13185999987335], [-84.48784300046495, 39.13265999987328], [-84.48684300046504, 39.132659999873304], [-84.48684300046504, 39.13185999987336], [-84.48794300046492, 39.13185999987335]]], "type": "Polygon"}, "id": "322", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610036001", "BLACK": 16.0, "BLOCK": "390610036001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5465.2861, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 7.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 6.0, "ID": 705691.0, "IN_HOUSEHO": 17.0, "MALE": 8.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 17.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.13075999987347, -84.4854430004652, 39.13185999987336], "geometry": {"coordinates": [[[-84.48684300046503, 39.130859999873465], [-84.48684300046504, 39.13185999987336], [-84.4854430004652, 39.131759999873395], [-84.48554300046517, 39.13075999987347], [-84.48604300046513, 39.13075999987347], [-84.48684300046503, 39.130859999873465]]], "type": "Polygon"}, "id": "323", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 74.0, "AGE_20_24": 15.0, "AGE_21": 65.0, "AGE_25_34": 8.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 10.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 104.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.81, "BG": "390610037003", "BLACK": 104.0, "BLOCK": "390610037003003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20938.2875, "F1_RACE": 107.0, "F2_RACES": 0.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 4.0, "ID": 705708.0, "IN_HOUSEHO": 107.0, "MALE": 44.0, "MALE_18": 26.0, "MALE_65": 6.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 57.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.81, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48784300046495, 39.1325599998733, -84.48504300046523, 39.133659999873196], "geometry": {"coordinates": [[[-84.48784300046495, 39.13265999987328], [-84.48764300046497, 39.13315999987322], [-84.487443000465, 39.133459999873224], [-84.487443000465, 39.133659999873196], [-84.48613700046513, 39.133514999873206], [-84.48596700046515, 39.133397999873225], [-84.48504300046523, 39.13276599987328], [-84.48504300046523, 39.1325599998733], [-84.4854430004652, 39.1325599998733], [-84.48684300046504, 39.132659999873304], [-84.48784300046495, 39.13265999987328]]], "type": "Polygon"}, "id": "324", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 6.0, "AVG_HHSIZE": 6.0, "BG": "390610036001", "BLACK": 6.0, "BLOCK": "390610036001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 799.5032, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 705727.0, "IN_HOUSEHO": 6.0, "MALE": 4.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 6.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 6.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49364300046419, 39.11405999987497, -84.49304300046427, 39.1148599998749], "geometry": {"coordinates": [[[-84.49324300046423, 39.11405999987497], [-84.49364300046419, 39.114359999874964], [-84.49304300046427, 39.1148599998749], [-84.49324300046423, 39.11405999987497]]], "type": "Polygon"}, "id": "325", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 5.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.44, "BG": "390610019002", "BLACK": 5.0, "BLOCK": "390610019002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18472.2408, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 3.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 0.0, "ID": 669057.0, "IN_HOUSEHO": 13.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 13.0, "RENTER_SIZ": 1.43, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 8.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49884300046364, 39.11715999987466, -84.49854300046368, 39.11755999987462], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49854300046368, 39.11755999987462], [-84.49864300046367, 39.11715999987466], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "326", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669074.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49864300046367, 39.11715999987466, -84.4984430004637, 39.11755999987462], "geometry": {"coordinates": [[[-84.49864300046367, 39.11715999987466], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.117259999874676], [-84.49864300046367, 39.11715999987466]]], "type": "Polygon"}, "id": "327", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002029", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669090.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49944300046359, 39.11745999987464, -84.49804300046375, 39.12015999987439], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49944300046359, 39.11755999987462], [-84.49804300046375, 39.12015999987439], [-84.49814300046373, 39.11885999987453], [-84.4984430004637, 39.11815999987457], [-84.49854300046368, 39.11755999987462], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "328", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669106.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50114300046343, 39.117559999874615, -84.49784300046379, 39.12235999987418], "geometry": {"coordinates": [[[-84.50114300046343, 39.12235999987418], [-84.50034300046353, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.49874300046368, 39.121459999874276], [-84.49874300046368, 39.120759999874345], [-84.49824300046373, 39.120759999874345], [-84.49824300046373, 39.121459999874276], [-84.49824300046375, 39.12225999987419], [-84.49784300046379, 39.12225999987419], [-84.49794300046376, 39.120759999874345], [-84.49804300046375, 39.12015999987439], [-84.49944300046359, 39.11755999987462], [-84.5001430004635, 39.117559999874615], [-84.49994300046355, 39.11945999987446], [-84.50074300046347, 39.12115999987429], [-84.50081300046347, 39.121369999874275], [-84.50114300046343, 39.12235999987418]]], "type": "Polygon"}, "id": "329", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 7.0, "AGE_15_19": 7.0, "AGE_18": 71.0, "AGE_20_24": 3.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 2.0, "AGE_5_9": 21.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 110.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 2.5, "BG": "390610021002", "BLACK": 110.0, "BLOCK": "390610021002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3608.4247, "F1_RACE": 114.0, "F2_RACES": 1.0, "FEMALE": 63.0, "FEMALE_18": 41.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 7.0, "ID": 669124.0, "IN_HOUSEHO": 115.0, "MALE": 52.0, "MALE_18": 30.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 115.0, "RENTER_SIZ": 2.79, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 4.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49854300046368, 39.11645999987473, -84.4964230004639, 39.12225999987419], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49694300046386, 39.119459999874465], [-84.4974430004638, 39.1191599998745], [-84.49684300046387, 39.11855999987454], [-84.4964230004639, 39.11813999987458], [-84.49754300046378, 39.11645999987473], [-84.4984430004637, 39.117259999874676], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.11815999987457], [-84.49814300046373, 39.11885999987453], [-84.49804300046375, 39.12015999987439], [-84.49794300046376, 39.120759999874345], [-84.49784300046379, 39.12225999987419], [-84.49724300046385, 39.122159999874214], [-84.49744300046382, 39.12065999987436], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "330", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669153.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4974430004638, 39.11813999987458, -84.49634300046392, 39.119459999874465], "geometry": {"coordinates": [[[-84.49684300046387, 39.11855999987454], [-84.4974430004638, 39.1191599998745], [-84.49694300046386, 39.119459999874465], [-84.49634300046392, 39.118259999874574], [-84.4964230004639, 39.11813999987458], [-84.49684300046387, 39.11855999987454]]], "type": "Polygon"}, "id": "331", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669178.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49744300046382, 39.119459999874465, -84.49634300046394, 39.12215999987422], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49744300046382, 39.12065999987436], [-84.49724300046385, 39.122159999874214], [-84.49634300046394, 39.12215999987422], [-84.49644300046394, 39.121359999874294], [-84.49694300046387, 39.121359999874294], [-84.49694300046387, 39.12075999987434], [-84.49654300046392, 39.12055999987439], [-84.49654300046392, 39.11965999987446], [-84.49694300046386, 39.119459999874465], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "332", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.14, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2225.3185, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669195.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 45.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 15.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49874300046368, 39.120759999874345, -84.49824300046373, 39.121459999874276], "geometry": {"coordinates": [[[-84.49874300046368, 39.120759999874345], [-84.49874300046368, 39.121459999874276], [-84.49824300046373, 39.121459999874276], [-84.49824300046373, 39.120759999874345], [-84.49874300046368, 39.120759999874345]]], "type": "Polygon"}, "id": "333", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669219.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49874300046369, 39.121459999874276, -84.49824300046373, 39.12225999987419], "geometry": {"coordinates": [[[-84.49874300046368, 39.121459999874276], [-84.49874300046369, 39.12225999987418], [-84.49824300046375, 39.12225999987419], [-84.49824300046373, 39.121459999874276], [-84.49874300046368, 39.121459999874276]]], "type": "Polygon"}, "id": "334", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 10.0, "BLOCK": "390610021002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6750.2171, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669236.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 60.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 10.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50034300046353, 39.12225999987418, -84.49784300046382, 39.125359999873915], "geometry": {"coordinates": [[[-84.49914300046366, 39.12455999987399], [-84.49914300046366, 39.125359999873915], [-84.49784300046382, 39.125259999873926], [-84.49804300046377, 39.12375999987406], [-84.49864800046372, 39.123760999874065], [-84.49864300046372, 39.1230599998741], [-84.49816800046375, 39.123062999874136], [-84.49824300046375, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.50034300046353, 39.12225999987419], [-84.50014300046355, 39.12465999987397], [-84.49914300046366, 39.12455999987399]]], "type": "Polygon"}, "id": "335", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 32.0, "AGE_25_34": 0.0, "AGE_35_44": 7.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.73, "AVG_HHSIZE": 1.91, "BG": "390610021002", "BLACK": 36.0, "BLOCK": "390610021002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2042.0725, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 669254.0, "IN_HOUSEHO": 42.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 4.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.71, "POPULATION": 42.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49864800046372, 39.1230599998741, -84.49804300046377, 39.123760999874065], "geometry": {"coordinates": [[[-84.49864300046372, 39.1230599998741], [-84.49864800046372, 39.123760999874065], [-84.49804300046377, 39.12375999987406], [-84.49816800046375, 39.123062999874136], [-84.49864300046372, 39.1230599998741]]], "type": "Polygon"}, "id": "336", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.94, "BG": "390610021002", "BLACK": 32.0, "BLOCK": "390610021002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23607.9351, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 669279.0, "IN_HOUSEHO": 33.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 33.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49824300046375, 39.12225999987419, -84.49724300046388, 39.126059999873846], "geometry": {"coordinates": [[[-84.49784300046382, 39.125259999873926], [-84.49784300046382, 39.126059999873846], [-84.49724300046388, 39.126059999873846], [-84.49764300046381, 39.12295999987414], [-84.49784300046379, 39.12225999987419], [-84.49824300046375, 39.12225999987419], [-84.49816800046375, 39.123062999874136], [-84.49804300046377, 39.12375999987406], [-84.49784300046382, 39.125259999873926]]], "type": "Polygon"}, "id": "337", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669296.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046385, 39.122159999874214, -84.49594300046402, 39.125559999873886], "geometry": {"coordinates": [[[-84.49724300046385, 39.122159999874214], [-84.49704300046389, 39.12375999987407], [-84.49684300046391, 39.125259999873926], [-84.49680000046392, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49594300046402, 39.125559999873886], [-84.49595400046402, 39.12521199987394], [-84.496043000464, 39.124359999874024], [-84.49614300046399, 39.123659999874064], [-84.49624300046396, 39.122859999874166], [-84.49634300046394, 39.12215999987422], [-84.49724300046385, 39.122159999874214]]], "type": "Polygon"}, "id": "338", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 14.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.8, "BG": "390610021002", "BLACK": 18.0, "BLOCK": "390610021002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1575.7931, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 669317.0, "IN_HOUSEHO": 18.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 18.0, "RENTER_SIZ": 1.86, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49784300046379, 39.122159999874214, -84.49674300046394, 39.126059999873846], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49674300046394, 39.125959999873864], [-84.49680000046392, 39.125559999873886], [-84.49684300046391, 39.125259999873926], [-84.49704300046389, 39.12375999987407], [-84.49724300046385, 39.122159999874214], [-84.49784300046379, 39.12225999987419], [-84.49764300046381, 39.12295999987414], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "339", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669342.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49584300046398, 39.1180599998746, -84.49434300046414, 39.11955999987449], "geometry": {"coordinates": [[[-84.49584300046398, 39.1180599998746], [-84.49464300046412, 39.11955999987449], [-84.49434300046414, 39.11925999987448], [-84.49444300046413, 39.11805999987461], [-84.49584300046398, 39.1180599998746]]], "type": "Polygon"}, "id": "340", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 89.0, "AGE_20_24": 17.0, "AGE_21": 85.0, "AGE_25_34": 27.0, "AGE_35_44": 25.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 5.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.26, "AVG_HHSIZE": 1.89, "BG": "390610019002", "BLACK": 55.0, "BLOCK": "390610019002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25806.7736, "F1_RACE": 110.0, "F2_RACES": 9.0, "FEMALE": 64.0, "FEMALE_18": 50.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 63.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 63.0, "HU_VACANT": 5.0, "ID": 669361.0, "IN_HOUSEHO": 119.0, "MALE": 55.0, "MALE_18": 39.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 117.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.94, "POPULATION": 119.0, "RENTER_SIZ": 1.87, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 53.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49754300046378, 39.116359999874746, -84.49404300046417, 39.12085999987434], "geometry": {"coordinates": [[[-84.49694300046386, 39.119459999874465], [-84.49654300046392, 39.11965999987446], [-84.49564300046401, 39.12015999987439], [-84.4948430004641, 39.12045999987439], [-84.49434300046416, 39.12085999987434], [-84.49404300046417, 39.120359999874395], [-84.49464300046412, 39.11955999987449], [-84.49584300046398, 39.1180599998746], [-84.49724300046381, 39.116359999874746], [-84.49754300046378, 39.11645999987473], [-84.4964230004639, 39.11813999987458], [-84.49634300046392, 39.118259999874574], [-84.49694300046386, 39.119459999874465]]], "type": "Polygon"}, "id": "341", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.2116, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 669378.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49694300046387, 39.11965999987446, -84.49434300046416, 39.121359999874294], "geometry": {"coordinates": [[[-84.49694300046387, 39.12075999987434], [-84.49694300046387, 39.121359999874294], [-84.49644300046394, 39.121359999874294], [-84.49598100046398, 39.12130899987431], [-84.49554300046402, 39.121259999874304], [-84.49504300046408, 39.12125999987431], [-84.49454300046415, 39.121259999874304], [-84.49434300046416, 39.12085999987434], [-84.4948430004641, 39.12045999987439], [-84.49564300046401, 39.12015999987439], [-84.49654300046392, 39.11965999987446], [-84.49654300046392, 39.12055999987439], [-84.49694300046387, 39.12075999987434]]], "type": "Polygon"}, "id": "342", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 8.0, "BLOCK": "390610021002023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 840.433, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669402.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046381, 39.114159999874964, -84.49144300046446, 39.12015999987439], "geometry": {"coordinates": [[[-84.49724300046381, 39.116359999874746], [-84.49584300046398, 39.1180599998746], [-84.49444300046413, 39.11805999987461], [-84.49324300046426, 39.1179599998746], [-84.49318700046426, 39.118297999874606], [-84.4930430004643, 39.11915999987451], [-84.49294300046431, 39.12015999987439], [-84.49144300046446, 39.120059999874435], [-84.49184300046443, 39.11755999987466], [-84.49304300046427, 39.1148599998749], [-84.49364300046419, 39.114359999874964], [-84.4944430004641, 39.114159999874964], [-84.49514300046404, 39.11445999987495], [-84.49724300046381, 39.116359999874746]]], "type": "Polygon"}, "id": "343", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 18.0, "AGE_15_19": 11.0, "AGE_18": 178.0, "AGE_20_24": 26.0, "AGE_21": 169.0, "AGE_25_34": 66.0, "AGE_35_44": 41.0, "AGE_45_54": 15.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 9.0, "AP_WHITE": 80.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.05, "BG": "390610019002", "BLACK": 152.0, "BLOCK": "390610019002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3806.8143, "F1_RACE": 239.0, "F2_RACES": 5.0, "FEMALE": 116.0, "FEMALE_18": 90.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 49.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 12.0, "ID": 669426.0, "IN_HOUSEHO": 244.0, "MALE": 128.0, "MALE_18": 88.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 71.0, "NOT_HISPAN": 234.0, "OCCHU_OWNE": 36.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 1.61, "POPULATION": 244.0, "RENTER_SIZ": 2.24, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 77.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046412, 39.1179599998746, -84.49294300046431, 39.120359999874395], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49294300046431, 39.12015999987439], [-84.4930430004643, 39.11915999987451], [-84.49318700046426, 39.118297999874606], [-84.49324300046426, 39.1179599998746], [-84.49444300046413, 39.11805999987461], [-84.49434300046414, 39.11925999987448], [-84.49464300046412, 39.11955999987449], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "344", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 9.0, "AGE_18": 147.0, "AGE_20_24": 36.0, "AGE_21": 132.0, "AGE_25_34": 66.0, "AGE_35_44": 19.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 8.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 4.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.78, "BG": "390610019002", "BLACK": 29.0, "BLOCK": "390610019002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14508.3466, "F1_RACE": 153.0, "F2_RACES": 9.0, "FEMALE": 87.0, "FEMALE_18": 75.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 7.0, "ID": 669452.0, "IN_HOUSEHO": 162.0, "MALE": 75.0, "MALE_18": 72.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 116.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 162.0, "RENTER_SIZ": 1.84, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 118.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49404300046417, 39.12015999987439, -84.49284300046432, 39.12155999987428], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49284300046432, 39.12155999987428], [-84.49294300046431, 39.12015999987439], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "345", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.04, "BG": "390610019002", "BLACK": 8.0, "BLOCK": "390610019002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8653.9404, "F1_RACE": 24.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 5.0, "ID": 669472.0, "IN_HOUSEHO": 25.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49644300046394, 39.121259999874304, -84.49544300046405, 39.12215999987422], "geometry": {"coordinates": [[[-84.49644300046394, 39.121359999874294], [-84.49634300046394, 39.12215999987422], [-84.49585900046401, 39.12210599987421], [-84.49544300046405, 39.12205999987423], [-84.49554300046402, 39.121259999874304], [-84.49598100046398, 39.12130899987431], [-84.49644300046394, 39.121359999874294]]], "type": "Polygon"}, "id": "346", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 9.0, "AGE_20_24": 1.0, "AGE_21": 8.0, "AGE_25_34": 1.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.25, "BG": "390610021002", "BLACK": 13.0, "BLOCK": "390610021002021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4810.0321, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669489.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 13.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49634300046394, 39.12205999987423, -84.49534300046406, 39.122859999874166], "geometry": {"coordinates": [[[-84.49634300046394, 39.12215999987422], [-84.49624300046396, 39.122859999874166], [-84.49564300046403, 39.122859999874166], [-84.49534300046406, 39.122859999874166], [-84.49544300046405, 39.12205999987423], [-84.49585900046401, 39.12210599987421], [-84.49634300046394, 39.12215999987422]]], "type": "Polygon"}, "id": "347", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.0, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002022", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8337.3804, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 7.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669506.0, "IN_HOUSEHO": 21.0, "MALE": 8.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 21.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49554300046402, 39.121259999874304, -84.49494300046409, 39.12205999987423], "geometry": {"coordinates": [[[-84.49554300046402, 39.121259999874304], [-84.49544300046405, 39.12205999987423], [-84.49494300046409, 39.12205999987423], [-84.49504300046408, 39.12125999987431], [-84.49554300046402, 39.121259999874304]]], "type": "Polygon"}, "id": "348", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1350.0419, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 669525.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49504300046408, 39.121259999874304, -84.49454300046415, 39.12205999987423], "geometry": {"coordinates": [[[-84.49504300046408, 39.12125999987431], [-84.49494300046409, 39.12205999987423], [-84.49454300046415, 39.12205999987423], [-84.49454300046415, 39.121259999874304], [-84.49504300046408, 39.12125999987431]]], "type": "Polygon"}, "id": "349", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 24.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.21, "BG": "390610021002", "BLACK": 19.0, "BLOCK": "390610021002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23250.7626, "F1_RACE": 30.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 2.0, "ID": 669542.0, "IN_HOUSEHO": 31.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 31.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49544300046405, 39.12205999987423, -84.49464300046414, 39.12365999987408], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.49464300046414, 39.123559999874075], [-84.49484300046412, 39.122759999874155], [-84.49494300046409, 39.12205999987423], [-84.49544300046405, 39.12205999987423], [-84.49534300046406, 39.122859999874166], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "350", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 0.0, "AGE_21": 3.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 4.0, "BLOCK": "390610021002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1293.472, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 669560.0, "IN_HOUSEHO": 4.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49494300046409, 39.12205999987423, -84.49434300046417, 39.122759999874155], "geometry": {"coordinates": [[[-84.49494300046409, 39.12205999987423], [-84.49484300046412, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.49454300046415, 39.12205999987423], [-84.49494300046409, 39.12205999987423]]], "type": "Polygon"}, "id": "351", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 16.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 7.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.18, "BG": "390610021002", "BLACK": 24.0, "BLOCK": "390610021002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20572.187, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 669580.0, "IN_HOUSEHO": 24.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 24.0, "RENTER_SIZ": 2.14, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49624300046396, 39.122859999874166, -84.49554300046405, 39.12365999987408], "geometry": {"coordinates": [[[-84.49624300046396, 39.122859999874166], [-84.49614300046399, 39.123659999874064], [-84.49554300046405, 39.12365999987408], [-84.49564300046403, 39.122859999874166], [-84.49624300046396, 39.122859999874166]]], "type": "Polygon"}, "id": "352", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.2, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4924, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669597.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 16.0, "RENTER_SIZ": 3.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49564300046403, 39.122859999874166, -84.49524300046409, 39.12365999987408], "geometry": {"coordinates": [[[-84.49564300046403, 39.122859999874166], [-84.49554300046405, 39.12365999987408], [-84.49524300046409, 39.12365999987408], [-84.49534300046406, 39.122859999874166], [-84.49564300046403, 39.122859999874166]]], "type": "Polygon"}, "id": "353", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 14.0, "AGE_20_24": 0.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.4, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27001.427, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 9.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 671022.0, "IN_HOUSEHO": 24.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 24.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49614300046399, 39.123659999874064, -84.49544300046406, 39.124359999874024], "geometry": {"coordinates": [[[-84.49614300046399, 39.123659999874064], [-84.496043000464, 39.124359999874024], [-84.49544300046406, 39.124359999874024], [-84.49554300046405, 39.12365999987408], [-84.49614300046399, 39.123659999874064]]], "type": "Polygon"}, "id": "354", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 40.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 40.0, "BLOCK": "390610021001017", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 27001.7246, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 6.0, "ID": 671040.0, "IN_HOUSEHO": 42.0, "MALE": 14.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 42.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.496043000464, 39.124359999874024, -84.49534300046408, 39.12521199987394], "geometry": {"coordinates": [[[-84.496043000464, 39.124359999874024], [-84.49595400046402, 39.12521199987394], [-84.49534300046408, 39.12515999987395], [-84.49544300046406, 39.124359999874024], [-84.496043000464, 39.124359999874024]]], "type": "Polygon"}, "id": "355", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.2, "BG": "390610021001", "BLACK": 16.0, "BLOCK": "390610021001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8595.9685, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 4.0, "ID": 671057.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 16.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49524300046409, 39.123559999874075, -84.49464300046414, 39.124359999874024], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.4951430004641, 39.124359999874024], [-84.49464300046415, 39.124259999874035], [-84.49464300046414, 39.123559999874075], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "356", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.5, "BG": "390610021001", "BLACK": 4.0, "BLOCK": "390610021001019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4154.1275, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 671075.0, "IN_HOUSEHO": 6.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 47.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 6.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49484300046412, 39.122759999874155, -84.4942430004642, 39.1235599998741], "geometry": {"coordinates": [[[-84.49484300046412, 39.122759999874155], [-84.49464300046414, 39.123559999874075], [-84.4942430004642, 39.1235599998741], [-84.49434300046417, 39.122759999874155], [-84.49484300046412, 39.122759999874155]]], "type": "Polygon"}, "id": "357", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.71, "BG": "390610021002", "BLACK": 11.0, "BLOCK": "390610021002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4822, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 671092.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.123559999874075, -84.4941430004642, 39.124259999874035], "geometry": {"coordinates": [[[-84.49464300046414, 39.123559999874075], [-84.49464300046415, 39.124259999874035], [-84.4941430004642, 39.124259999874035], [-84.4942430004642, 39.1235599998741], [-84.49464300046414, 39.123559999874075]]], "type": "Polygon"}, "id": "358", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 19.0, "AGE_20_24": 0.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610021001", "BLACK": 28.0, "BLOCK": "390610021001020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24001.518, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 671110.0, "IN_HOUSEHO": 28.0, "MALE": 16.0, "MALE_18": 10.0, "MALE_65": 4.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 28.0, "RENTER_SIZ": 2.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49554300046405, 39.12365999987408, -84.4951430004641, 39.124359999874024], "geometry": {"coordinates": [[[-84.49554300046405, 39.12365999987408], [-84.49544300046406, 39.124359999874024], [-84.4951430004641, 39.124359999874024], [-84.49524300046409, 39.12365999987408], [-84.49554300046405, 39.12365999987408]]], "type": "Polygon"}, "id": "359", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.33, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25715.9008, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 5.0, "ID": 671127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 3.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 3.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49544300046406, 39.124359999874024, -84.49504300046412, 39.12515999987397], "geometry": {"coordinates": [[[-84.49544300046406, 39.124359999874024], [-84.49534300046408, 39.12515999987395], [-84.49504300046412, 39.12515999987397], [-84.4951430004641, 39.124359999874024], [-84.49544300046406, 39.124359999874024]]], "type": "Polygon"}, "id": "360", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 1.0, "AGE_21": 3.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 3.0, "BLOCK": "390610021001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3375.2483, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671145.0, "IN_HOUSEHO": 3.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4951430004641, 39.124259999874035, -84.49454300046416, 39.12515999987397], "geometry": {"coordinates": [[[-84.4951430004641, 39.124359999874024], [-84.49504300046412, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49464300046415, 39.124259999874035], [-84.4951430004641, 39.124359999874024]]], "type": "Polygon"}, "id": "361", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 4.0, "AGE_21": 6.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.67, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6907.4625, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 671162.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.124259999874035, -84.49404300046422, 39.12515999987397], "geometry": {"coordinates": [[[-84.49464300046415, 39.124259999874035], [-84.49454300046416, 39.12515999987397], [-84.49404300046422, 39.12515999987397], [-84.4941430004642, 39.124259999874035], [-84.49464300046415, 39.124259999874035]]], "type": "Polygon"}, "id": "362", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 14.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 18.0, "BLOCK": "390610021001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10800.8025, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 7.0, "ID": 671180.0, "IN_HOUSEHO": 18.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 18.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49454300046415, 39.12085999987434, -84.49344300046427, 39.12275999987419], "geometry": {"coordinates": [[[-84.49454300046415, 39.12205999987423], [-84.49434300046417, 39.122759999874155], [-84.49394300046423, 39.122759999874155], [-84.49344300046427, 39.12275999987419], [-84.49354300046426, 39.121759999874264], [-84.49434300046416, 39.12085999987434], [-84.49454300046415, 39.121259999874304], [-84.49454300046415, 39.12205999987423]]], "type": "Polygon"}, "id": "363", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 1.0, "AGE_21": 29.0, "AGE_25_34": 10.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 41.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.47, "BG": "390610021001", "BLACK": 41.0, "BLOCK": "390610021001027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8574.633, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671197.0, "IN_HOUSEHO": 47.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 47.0, "RENTER_SIZ": 2.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49434300046416, 39.120359999874395, -84.49094300046455, 39.12395999987406], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49434300046416, 39.12085999987434], [-84.49354300046426, 39.121759999874264], [-84.49284300046433, 39.12305999987415], [-84.49174300046447, 39.1236599998741], [-84.49114300046453, 39.12385999987407], [-84.49094300046455, 39.12395999987406], [-84.49134300046451, 39.12325999987412], [-84.49234300046437, 39.122159999874235], [-84.49284300046432, 39.12155999987428], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "364", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671217.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49434300046417, 39.122759999874155, -84.49334300046428, 39.1235599998741], "geometry": {"coordinates": [[[-84.4942430004642, 39.1235599998741], [-84.49334300046428, 39.12345999987411], [-84.49344300046427, 39.12275999987419], [-84.49394300046423, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.4942430004642, 39.1235599998741]]], "type": "Polygon"}, "id": "365", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.71, "BG": "390610021001", "BLACK": 9.0, "BLOCK": "390610021001028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4764.9242, "F1_RACE": 10.0, "F2_RACES": 2.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 10.0, "ID": 671240.0, "IN_HOUSEHO": 12.0, "MALE": 7.0, "MALE_18": 6.0, "MALE_65": 3.0, "MEDIAN_AGE": 55.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4942430004642, 39.12345999987411, -84.49324300046429, 39.124259999874035], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.4942430004642, 39.1235599998741], [-84.4941430004642, 39.124259999874035], [-84.49324300046429, 39.12415999987405], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "366", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 18.0, "AGE_20_24": 2.0, "AGE_21": 14.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 3.71, "BG": "390610021001", "BLACK": 26.0, "BLOCK": "390610021001021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10969.3932, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 4.0, "ID": 671258.0, "IN_HOUSEHO": 26.0, "MALE": 15.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 26.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4941430004642, 39.12415999987405, -84.4931430004643, 39.12515999987397], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49314300046431, 39.12505999987396], [-84.4931430004643, 39.12455999987401], [-84.49324300046429, 39.12415999987405], [-84.4941430004642, 39.124259999874035], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "367", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 30.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 3.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 8.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.57, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11503.7908, "F1_RACE": 34.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 671275.0, "IN_HOUSEHO": 36.0, "MALE": 12.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 57.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 36.0, "RENTER_SIZ": 1.47, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49354300046426, 39.121759999874264, -84.49174300046447, 39.12415999987405], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.49324300046429, 39.12415999987405], [-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.1236599998741], [-84.49284300046433, 39.12305999987415], [-84.49354300046426, 39.121759999874264], [-84.49344300046427, 39.12275999987419], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "368", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 1.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.54, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001022", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5241.5001, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 3.0, "ID": 671294.0, "IN_HOUSEHO": 33.0, "MALE": 16.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 33.0, "RENTER_SIZ": 3.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49324300046429, 39.12405999987406, -84.49174300046447, 39.12455999987401], "geometry": {"coordinates": [[[-84.49324300046429, 39.12415999987405], [-84.4931430004643, 39.12455999987401], [-84.49174300046447, 39.12445999987402], [-84.49174300046447, 39.12405999987406], [-84.49324300046429, 39.12415999987405]]], "type": "Polygon"}, "id": "369", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 1.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 923.1415, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671314.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12445999987402, -84.49164300046446, 39.12505999987396], "geometry": {"coordinates": [[[-84.4931430004643, 39.12455999987401], [-84.49314300046431, 39.12505999987396], [-84.49164300046446, 39.12495999987399], [-84.49174300046447, 39.12445999987402], [-84.4931430004643, 39.12455999987401]]], "type": "Polygon"}, "id": "370", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 21.0, "BLOCK": "390610021001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7767.719, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 671331.0, "IN_HOUSEHO": 21.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 21.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49324300046423, 39.112659999875135, -84.4890430004647, 39.120059999874435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.49034300046458, 39.120059999874435], [-84.49044300046458, 39.119859999874464], [-84.49064300046453, 39.11755999987468], [-84.49024300046457, 39.1172599998747], [-84.49044300046457, 39.116859999874734], [-84.4890430004647, 39.11665999987475], [-84.48954300046464, 39.11585999987483], [-84.49114300046446, 39.11445999987497], [-84.49144300046441, 39.11305999987509], [-84.49224300046434, 39.112659999875135], [-84.49314300046423, 39.11305999987508], [-84.49324300046423, 39.11405999987497], [-84.49304300046427, 39.1148599998749], [-84.49184300046443, 39.11755999987466], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "371", "properties": {"AGE_0_5": 34.0, "AGE_10_14": 17.0, "AGE_15_19": 20.0, "AGE_18": 116.0, "AGE_20_24": 19.0, "AGE_21": 105.0, "AGE_25_34": 36.0, "AGE_35_44": 18.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 26.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 161.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 40.0, "AREA": 0.05, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.27, "BG": "390610019001", "BLACK": 159.0, "BLOCK": "390610019001012", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4085.8467, "F1_RACE": 201.0, "F2_RACES": 3.0, "FEMALE": 121.0, "FEMALE_18": 74.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 90.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 90.0, "HU_VACANT": 25.0, "ID": 671366.0, "IN_HOUSEHO": 204.0, "MALE": 83.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 204.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.78, "POPULATION": 204.0, "RENTER_SIZ": 2.39, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 37.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49144300046446, 39.11995999987445, -84.48984300046465, 39.12105999987435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.4913430004645, 39.12105999987435], [-84.48984300046465, 39.12095999987435], [-84.48994300046463, 39.11995999987445], [-84.49034300046458, 39.120059999874435], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "372", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 35.0, "AGE_20_24": 4.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.79, "BG": "390610019001", "BLACK": 33.0, "BLOCK": "390610019001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7979.4739, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671465.0, "IN_HOUSEHO": 34.0, "MALE": 23.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 10.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49044300046457, 39.11665999987475, -84.48834300046478, 39.11745999987466], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.48964300046464, 39.117059999874705], [-84.48954300046465, 39.11745999987466], [-84.48834300046478, 39.11725999987471], [-84.4890430004647, 39.11665999987475], [-84.49044300046457, 39.116859999874734], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "373", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 671484.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49064300046453, 39.117059999874705, -84.48934300046469, 39.119859999874464], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.49064300046453, 39.11755999987468], [-84.49044300046458, 39.119859999874464], [-84.48934300046469, 39.1195599998745], [-84.48954300046465, 39.11745999987466], [-84.48964300046464, 39.117059999874705], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "374", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 181.0, "AGE_20_24": 15.0, "AGE_21": 177.0, "AGE_25_34": 60.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 20.0, "AGE_62": 57.0, "AGE_65": 43.0, "AGE_65_74": 31.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 160.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.12, "AVG_HHSIZE": 1.6, "BG": "390610019001", "BLACK": 24.0, "BLOCK": "390610019001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18460.4258, "F1_RACE": 182.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 80.0, "FEMALE_65": 19.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 71.0, "HOUSEHOLDS": 113.0, "HSNG_UNITS": 124.0, "HU_OCCUPIE": 113.0, "HU_VACANT": 11.0, "ID": 671502.0, "IN_HOUSEHO": 181.0, "MALE": 106.0, "MALE_18": 101.0, "MALE_65": 24.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 155.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 44.0, "OCCHU_RENT": 69.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 187.0, "RENTER_SIZ": 1.51, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 156.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49044300046458, 39.11725999987471, -84.48784300046485, 39.120059999874435], "geometry": {"coordinates": [[[-84.49034300046458, 39.120059999874435], [-84.48994300046463, 39.11995999987445], [-84.4883430004648, 39.119959999874474], [-84.48784300046485, 39.118759999874584], [-84.48794300046484, 39.11825999987461], [-84.48804300046481, 39.11755999987469], [-84.48834300046478, 39.11725999987471], [-84.48954300046465, 39.11745999987466], [-84.48934300046469, 39.1195599998745], [-84.49044300046458, 39.119859999874464], [-84.49034300046458, 39.120059999874435]]], "type": "Polygon"}, "id": "375", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 49.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 17.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 48.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.36, "BG": "390610019001", "BLACK": 2.0, "BLOCK": "390610019001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3631.9362, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 1.0, "ID": 671518.0, "IN_HOUSEHO": 53.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 40.8, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.47, "POPULATION": 53.0, "RENTER_SIZ": 1.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 48.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49294300046431, 39.120059999874435, -84.4913430004645, 39.122159999874235], "geometry": {"coordinates": [[[-84.49294300046431, 39.12015999987439], [-84.49284300046432, 39.12155999987428], [-84.49234300046437, 39.122159999874235], [-84.4913430004645, 39.12205999987426], [-84.4913430004645, 39.12105999987435], [-84.49144300046446, 39.120059999874435], [-84.49294300046431, 39.12015999987439]]], "type": "Polygon"}, "id": "376", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 13.0, "AGE_18": 63.0, "AGE_20_24": 10.0, "AGE_21": 56.0, "AGE_25_34": 18.0, "AGE_35_44": 23.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 27.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.62, "BG": "390610019002", "BLACK": 71.0, "BLOCK": "390610019002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9108.6552, "F1_RACE": 94.0, "F2_RACES": 4.0, "FEMALE": 58.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 22.0, "GROUP_QUAR": 22.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 4.0, "ID": 671540.0, "IN_HOUSEHO": 76.0, "MALE": 40.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 96.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 98.0, "RENTER_SIZ": 2.74, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.4913430004645, 39.12095999987435, -84.48974300046466, 39.12205999987426], "geometry": {"coordinates": [[[-84.4913430004645, 39.12105999987435], [-84.4913430004645, 39.12205999987426], [-84.48974300046466, 39.121959999874264], [-84.48984300046465, 39.12095999987435], [-84.4913430004645, 39.12105999987435]]], "type": "Polygon"}, "id": "377", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.4, "BG": "390610019001", "BLACK": 17.0, "BLOCK": "390610019001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2951.8509, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 671560.0, "IN_HOUSEHO": 17.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 17.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49234300046437, 39.121959999874264, -84.48964300046468, 39.12325999987412], "geometry": {"coordinates": [[[-84.49134300046451, 39.12325999987412], [-84.48964300046468, 39.12315999987414], [-84.48974300046466, 39.121959999874264], [-84.4913430004645, 39.12205999987426], [-84.49234300046437, 39.122159999874235], [-84.49134300046451, 39.12325999987412]]], "type": "Polygon"}, "id": "378", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 14.0, "AGE_15_19": 14.0, "AGE_18": 107.0, "AGE_20_24": 7.0, "AGE_21": 102.0, "AGE_25_34": 14.0, "AGE_35_44": 31.0, "AGE_45_54": 16.0, "AGE_55_59": 11.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 13.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.24, "BG": "390610019001", "BLACK": 130.0, "BLOCK": "390610019001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15459.0754, "F1_RACE": 146.0, "F2_RACES": 2.0, "FEMALE": 84.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 73.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 7.0, "ID": 671577.0, "IN_HOUSEHO": 148.0, "MALE": 64.0, "MALE_18": 47.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 145.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.2, "POPULATION": 148.0, "RENTER_SIZ": 2.07, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.1236599998741, -84.49114300046453, 39.12445999987403], "geometry": {"coordinates": [[[-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.12445999987402], [-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12385999987407], [-84.49174300046447, 39.1236599998741], [-84.49174300046447, 39.12405999987406]]], "type": "Polygon"}, "id": "379", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671596.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.12445999987402, -84.49104300046453, 39.12525999987394], "geometry": {"coordinates": [[[-84.49164300046446, 39.12495999987399], [-84.49154300046447, 39.12525999987394], [-84.49104300046453, 39.12515999987397], [-84.49114300046453, 39.12485999987399], [-84.49114300046453, 39.12445999987403], [-84.49174300046447, 39.12445999987402], [-84.49164300046446, 39.12495999987399]]], "type": "Polygon"}, "id": "380", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 8.0, "AGE_20_24": 2.0, "AGE_21": 6.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.2, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7244.4205, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 9.0, "ID": 671614.0, "IN_HOUSEHO": 11.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 11.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50684300046272, 39.11195999987513, -84.50584300046286, 39.112559999875074], "geometry": {"coordinates": [[[-84.50684300046272, 39.11205999987513], [-84.50674300046276, 39.112559999875074], [-84.50641300046279, 39.11252299987507], [-84.50584300046286, 39.112459999875085], [-84.50594300046285, 39.11195999987513], [-84.50651600046277, 39.11202399987514], [-84.50684300046272, 39.11205999987513]]], "type": "Polygon"}, "id": "381", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 41.0, "AGE_20_24": 3.0, "AGE_21": 41.0, "AGE_25_34": 15.0, "AGE_35_44": 8.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.73, "BG": "390610018001", "BLACK": 7.0, "BLOCK": "390610018001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26427.5833, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 0.0, "ID": 665138.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.61, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50594300046285, 39.11195999987513, -84.50394300046305, 39.112459999875085], "geometry": {"coordinates": [[[-84.50594300046285, 39.11195999987513], [-84.50584300046286, 39.112459999875085], [-84.50394300046305, 39.11235999987508], [-84.50424300046303, 39.11195999987513], [-84.50594300046285, 39.11195999987513]]], "type": "Polygon"}, "id": "382", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 4.0, "AGE_21": 17.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.23, "BG": "390610018001", "BLACK": 17.0, "BLOCK": "390610018001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9547.7662, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 0.0, "ID": 665158.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 29.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 12.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50584300046286, 39.11235999987508, -84.50394300046305, 39.112859999875035], "geometry": {"coordinates": [[[-84.50584300046286, 39.112459999875085], [-84.50584300046286, 39.112859999875035], [-84.50394300046305, 39.112759999875045], [-84.50394300046305, 39.11235999987508], [-84.50584300046286, 39.112459999875085]]], "type": "Polygon"}, "id": "383", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 27.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 13.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.48, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12077.766, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 665175.0, "IN_HOUSEHO": 34.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 34.0, "RENTER_SIZ": 1.56, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 19.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.112759999875045, -84.50384300046308, 39.11365999987494], "geometry": {"coordinates": [[[-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11365999987494], [-84.50967000046245, 39.11361299987495], [-84.50654300046278, 39.11345999987498], [-84.50484300046296, 39.113259999875005], [-84.50384300046308, 39.11325999987501], [-84.50394300046305, 39.112759999875045], [-84.50584300046286, 39.112859999875035], [-84.50664300046277, 39.112959999875024], [-84.50754300046268, 39.112959999875024], [-84.50872100046254, 39.113050999875014], [-84.50884300046253, 39.11305999987503], [-84.50889600046254, 39.113072999874994], [-84.5092430004625, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.51064300046235, 39.11315999987501], [-84.51064300046235, 39.113459999874955]]], "type": "Polygon"}, "id": "384", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 161.0, "AGE_20_24": 16.0, "AGE_21": 154.0, "AGE_25_34": 67.0, "AGE_35_44": 38.0, "AGE_45_54": 15.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 7.0, "AGE_62": 13.0, "AGE_65": 8.0, "AGE_65_74": 3.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 96.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 108.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.09, "AVG_HHSIZE": 1.9, "BG": "390610018001", "BLACK": 95.0, "BLOCK": "390610018001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16653.418, "F1_RACE": 206.0, "F2_RACES": 1.0, "FEMALE": 99.0, "FEMALE_18": 73.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 75.0, "HOUSEHOLDS": 109.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 109.0, "HU_VACANT": 19.0, "ID": 665193.0, "IN_HOUSEHO": 207.0, "MALE": 108.0, "MALE_18": 88.0, "MALE_65": 4.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 63.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 1.57, "POPULATION": 207.0, "RENTER_SIZ": 2.14, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 107.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50754300046268, 39.112459999875085, -84.50584300046286, 39.112959999875024], "geometry": {"coordinates": [[[-84.50754300046268, 39.11255999987504], [-84.50754300046268, 39.112959999875024], [-84.50664300046277, 39.112959999875024], [-84.50584300046286, 39.112859999875035], [-84.50584300046286, 39.112459999875085], [-84.50641300046279, 39.11252299987507], [-84.50674300046276, 39.112559999875074], [-84.50754300046268, 39.11255999987504]]], "type": "Polygon"}, "id": "385", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 74.0, "AGE_20_24": 7.0, "AGE_21": 74.0, "AGE_25_34": 31.0, "AGE_35_44": 13.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 68.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.59, "BG": "390610018001", "BLACK": 9.0, "BLOCK": "390610018001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 30734.8221, "F1_RACE": 78.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 32.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 0.0, "ID": 665219.0, "IN_HOUSEHO": 78.0, "MALE": 44.0, "MALE_18": 42.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.93, "POPULATION": 78.0, "RENTER_SIZ": 1.46, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 68.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.113259999875005, -84.50474300046298, 39.11755999987458], "geometry": {"coordinates": [[[-84.50914300046253, 39.11735999987462], [-84.50874300046257, 39.11755999987458], [-84.50804300046265, 39.1174599998746], [-84.50814300046262, 39.116659999874656], [-84.50714300046275, 39.11655999987471], [-84.50734300046271, 39.11495999987483], [-84.50634300046282, 39.114859999874874], [-84.5064430004628, 39.11435999987489], [-84.50474300046298, 39.11415999987494], [-84.50478100046298, 39.11381799987495], [-84.50484300046296, 39.113259999875005], [-84.50654300046278, 39.11345999987498], [-84.50967000046245, 39.11361299987495], [-84.51064300046235, 39.11365999987494], [-84.51054300046238, 39.11465999987484], [-84.51044300046239, 39.11525899987483], [-84.5103430004624, 39.11575999987474], [-84.5103430004624, 39.116059999874714], [-84.51014300046242, 39.117259999874626], [-84.50964300046249, 39.11725999987464], [-84.50914300046253, 39.11735999987462]]], "type": "Polygon"}, "id": "386", "properties": {"AGE_0_5": 29.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 211.0, "AGE_20_24": 31.0, "AGE_21": 195.0, "AGE_25_34": 58.0, "AGE_35_44": 42.0, "AGE_45_54": 30.0, "AGE_55_59": 6.0, "AGE_5_9": 33.0, "AGE_60_64": 12.0, "AGE_62": 36.0, "AGE_65": 25.0, "AGE_65_74": 11.0, "AGE_75_84": 10.0, "AGE_85": 4.0, "AMINDIAN": 6.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 189.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 10.0, "AP_WHITE": 96.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.9, "AVG_HHSIZE": 2.1, "BG": "390610018002", "BLACK": 186.0, "BLOCK": "390610018002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5712.5373, "F1_RACE": 294.0, "F2_RACES": 4.0, "FEMALE": 167.0, "FEMALE_18": 120.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 70.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 142.0, "HSNG_UNITS": 187.0, "HU_OCCUPIE": 142.0, "HU_VACANT": 45.0, "ID": 665239.0, "IN_HOUSEHO": 298.0, "MALE": 131.0, "MALE_18": 91.0, "MALE_65": 11.0, "MEDIAN_AGE": 28.6, "MSA": "1640", "NH_WHITE": 92.0, "NOT_HISPAN": 298.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 102.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 1.83, "POPULATION": 298.0, "RENTER_SIZ": 2.21, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 92.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50734300046271, 39.114859999874874, -84.50614300046284, 39.11655999987471], "geometry": {"coordinates": [[[-84.50734300046271, 39.11495999987483], [-84.50714300046275, 39.11655999987471], [-84.50614300046284, 39.11655999987471], [-84.50624300046285, 39.115859999874736], [-84.50634300046282, 39.114859999874874], [-84.50734300046271, 39.11495999987483]]], "type": "Polygon"}, "id": "387", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 4.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 8.0, "AGE_21": 55.0, "AGE_25_34": 23.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 14.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 94.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.27, "BG": "390610018002", "BLACK": 2.0, "BLOCK": "390610018002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16084.1922, "F1_RACE": 98.0, "F2_RACES": 0.0, "FEMALE": 57.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 665273.0, "IN_HOUSEHO": 98.0, "MALE": 41.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 94.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 98.0, "RENTER_SIZ": 2.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 94.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5064430004628, 39.11415999987494, -84.504643000463, 39.114859999874874], "geometry": {"coordinates": [[[-84.5064430004628, 39.11435999987489], [-84.50634300046282, 39.114859999874874], [-84.504643000463, 39.11475999987486], [-84.50474300046298, 39.11415999987494], [-84.5064430004628, 39.11435999987489]]], "type": "Polygon"}, "id": "388", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 1.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 6.0, "AGE_21": 34.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.35, "BG": "390610018003", "BLACK": 45.0, "BLOCK": "390610018003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17335.6307, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 665292.0, "IN_HOUSEHO": 61.0, "MALE": 25.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.67, "POPULATION": 61.0, "RENTER_SIZ": 2.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50634300046282, 39.11475999987486, -84.50454300046302, 39.115859999874736], "geometry": {"coordinates": [[[-84.50634300046282, 39.114859999874874], [-84.50624300046285, 39.115859999874736], [-84.50454300046302, 39.11575999987477], [-84.504597000463, 39.11522299987483], [-84.504643000463, 39.11475999987486], [-84.50634300046282, 39.114859999874874]]], "type": "Polygon"}, "id": "389", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 8.0, "AGE_15_19": 69.0, "AGE_18": 189.0, "AGE_20_24": 95.0, "AGE_21": 96.0, "AGE_25_34": 15.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 7.0, "AP_OTHER": 4.0, "AP_WHITE": 157.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.7, "BG": "390610018003", "BLACK": 44.0, "BLOCK": "390610018003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 33790.5296, "F1_RACE": 210.0, "F2_RACES": 4.0, "FEMALE": 119.0, "FEMALE_18": 104.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 160.0, "GROUP_QUAR": 160.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 665309.0, "IN_HOUSEHO": 54.0, "MALE": 95.0, "MALE_18": 85.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.7, "MSA": "1640", "NH_WHITE": 150.0, "NOT_HISPAN": 207.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.8, "POPULATION": 214.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 156.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50624300046285, 39.11565999987479, -84.50354300046311, 39.11655999987471], "geometry": {"coordinates": [[[-84.50454300046302, 39.11575999987477], [-84.50624300046285, 39.115859999874736], [-84.50614300046284, 39.11655999987471], [-84.50354300046313, 39.116359999874724], [-84.50354300046311, 39.11565999987479], [-84.50454300046302, 39.11575999987477]]], "type": "Polygon"}, "id": "390", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 6.0, "AGE_15_19": 16.0, "AGE_18": 73.0, "AGE_20_24": 10.0, "AGE_21": 65.0, "AGE_25_34": 12.0, "AGE_35_44": 20.0, "AGE_45_54": 15.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 35.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.34, "BG": "390610018003", "BLACK": 68.0, "BLOCK": "390610018003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15195.927, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 51.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 7.0, "ID": 665327.0, "IN_HOUSEHO": 103.0, "MALE": 53.0, "MALE_18": 36.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.2, "MSA": "1640", "NH_WHITE": 35.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.95, "POPULATION": 103.0, "RENTER_SIZ": 2.64, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 35.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50484300046296, 39.113259999875005, -84.5037430004631, 39.11415999987494], "geometry": {"coordinates": [[[-84.50484300046296, 39.113259999875005], [-84.50478100046298, 39.11381799987495], [-84.50474300046298, 39.11415999987494], [-84.5037430004631, 39.11415999987494], [-84.50384300046308, 39.11325999987501], [-84.50484300046296, 39.113259999875005]]], "type": "Polygon"}, "id": "391", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 22.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.41, "BG": "390610018002", "BLACK": 6.0, "BLOCK": "390610018002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7199.4118, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 665508.0, "IN_HOUSEHO": 24.0, "MALE": 14.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.14, "POPULATION": 24.0, "RENTER_SIZ": 1.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 18.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50474300046298, 39.11415999987494, -84.5037430004631, 39.11475999987486], "geometry": {"coordinates": [[[-84.50474300046298, 39.11415999987494], [-84.504643000463, 39.11475999987486], [-84.5037430004631, 39.11465999987489], [-84.5037430004631, 39.11415999987494], [-84.50474300046298, 39.11415999987494]]], "type": "Polygon"}, "id": "392", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.2, "BG": "390610018003", "BLACK": 7.0, "BLOCK": "390610018003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5656.7291, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 665526.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 11.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50894300046254, 39.111059999875216, -84.5001430004635, 39.117559999874615], "geometry": {"coordinates": [[[-84.50354300046313, 39.116359999874724], [-84.50374300046313, 39.11735999987465], [-84.50274300046323, 39.11735999987464], [-84.50174300046334, 39.117459999874605], [-84.5001430004635, 39.117559999874615], [-84.50034300046349, 39.11595999987476], [-84.50034300046349, 39.115659999874794], [-84.5017430004633, 39.113559999875015], [-84.50204200046329, 39.11314099987504], [-84.50224300046324, 39.11285999987504], [-84.50339500046312, 39.11121399987522], [-84.5034840004631, 39.1112009998752], [-84.50424300046303, 39.111059999875216], [-84.50511600046293, 39.111270999875174], [-84.50714300046272, 39.11175999987512], [-84.50748200046267, 39.11186199987511], [-84.50811600046262, 39.11204699987508], [-84.50894300046254, 39.112259999875086], [-84.50764300046268, 39.112159999875075], [-84.50684300046272, 39.11205999987513], [-84.50651600046277, 39.11202399987514], [-84.50594300046285, 39.11195999987513], [-84.50424300046303, 39.11195999987513], [-84.50394300046305, 39.11235999987508], [-84.50394300046305, 39.112759999875045], [-84.50384300046308, 39.11325999987501], [-84.5037430004631, 39.11415999987494], [-84.5037430004631, 39.11465999987489], [-84.50354300046311, 39.11565999987479], [-84.50354300046313, 39.116359999874724]]], "type": "Polygon"}, "id": "393", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 5.0, "AGE_18": 249.0, "AGE_20_24": 31.0, "AGE_21": 240.0, "AGE_25_34": 78.0, "AGE_35_44": 69.0, "AGE_45_54": 39.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 3.0, "AP_BLACK": 152.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 107.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610018001", "BLACK": 146.0, "BLOCK": "390610018001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4187.3135, "F1_RACE": 256.0, "F2_RACES": 8.0, "FEMALE": 145.0, "FEMALE_18": 137.0, "FEMALE_65": 9.0, "GQ_INSTITU": 131.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 131.0, "HAWAIIAN": 2.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 7.0, "ID": 665544.0, "IN_HOUSEHO": 133.0, "MALE": 119.0, "MALE_18": 112.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.6, "MSA": "1640", "NH_WHITE": 100.0, "NOT_HISPAN": 263.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.07, "POPULATION": 264.0, "RENTER_SIZ": 1.55, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 100.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.504643000463, 39.11465999987489, -84.50354300046311, 39.11575999987477], "geometry": {"coordinates": [[[-84.504643000463, 39.11475999987486], [-84.504597000463, 39.11522299987483], [-84.50454300046302, 39.11575999987477], [-84.50354300046311, 39.11565999987479], [-84.5037430004631, 39.11465999987489], [-84.504643000463, 39.11475999987486]]], "type": "Polygon"}, "id": "394", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 2.0, "AGE_35_44": 11.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 1.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11748.7157, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 665585.0, "IN_HOUSEHO": 42.0, "MALE": 22.0, "MALE_18": 15.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 2.55, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50224300046324, 39.112759999875045, -84.49944300046359, 39.11755999987462], "geometry": {"coordinates": [[[-84.50184300046328, 39.11285999987504], [-84.50224300046324, 39.11285999987504], [-84.50204200046329, 39.11314099987504], [-84.5017430004633, 39.113559999875015], [-84.50034300046349, 39.115659999874794], [-84.50034300046349, 39.11595999987476], [-84.5001430004635, 39.117559999874615], [-84.49944300046359, 39.11755999987462], [-84.49964300046355, 39.11715999987465], [-84.49974300046355, 39.1169599998747], [-84.50044300046345, 39.114359999874935], [-84.50064300046343, 39.11375999987498], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.113159999875045], [-84.50074300046342, 39.11285999987504], [-84.5008430004634, 39.112759999875045], [-84.50104300046338, 39.11285999987504], [-84.50184300046328, 39.11285999987504]]], "type": "Polygon"}, "id": "395", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002032", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 665602.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50814300046262, 39.11655999987471, -84.50704300046277, 39.117459999874605], "geometry": {"coordinates": [[[-84.50814300046262, 39.116659999874656], [-84.50804300046265, 39.1174599998746], [-84.50704300046277, 39.117459999874605], [-84.50714300046275, 39.11655999987471], [-84.50814300046262, 39.116659999874656]]], "type": "Polygon"}, "id": "396", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 44.0, "AGE_20_24": 7.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.35, "BG": "390610018002", "BLACK": 54.0, "BLOCK": "390610018002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19262.5134, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 2.0, "ID": 665632.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 61.0, "RENTER_SIZ": 2.33, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50874300046257, 39.11735999987464, -84.50594300046288, 39.118259999874546], "geometry": {"coordinates": [[[-84.50804300046265, 39.1174599998746], [-84.50874300046257, 39.11755999987458], [-84.5086430004626, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50594300046288, 39.118059999874546], [-84.50604300046285, 39.11735999987464], [-84.50704300046277, 39.117459999874605], [-84.50804300046265, 39.1174599998746]]], "type": "Polygon"}, "id": "397", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 53.0, "AGE_20_24": 6.0, "AGE_21": 53.0, "AGE_25_34": 15.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 33.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 2.0, "BG": "390610018002", "BLACK": 34.0, "BLOCK": "390610018002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9587.1918, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 5.0, "ID": 665650.0, "IN_HOUSEHO": 68.0, "MALE": 35.0, "MALE_18": 26.0, "MALE_65": 4.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 68.0, "RENTER_SIZ": 2.04, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50854300046262, 39.118059999874546, -84.50574300046291, 39.11985999987439], "geometry": {"coordinates": [[[-84.50854300046262, 39.11965999987441], [-84.50844300046263, 39.11985999987439], [-84.50574300046291, 39.11965999987443], [-84.50594300046288, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.11965999987441]]], "type": "Polygon"}, "id": "398", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 40.0, "AGE_15_19": 129.0, "AGE_18": 39.0, "AGE_20_24": 7.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 159.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.23, "BG": "390610022002", "BLACK": 145.0, "BLOCK": "390610022002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12815.5717, "F1_RACE": 188.0, "F2_RACES": 18.0, "FEMALE": 57.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 169.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 169.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 56.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 26.0, "ID": 665671.0, "IN_HOUSEHO": 37.0, "MALE": 149.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 16.3, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 203.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 206.0, "RENTER_SIZ": 1.23, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 42.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50984300046241, 39.112259999875086, -84.50889600046254, 39.11315999987501], "geometry": {"coordinates": [[[-84.50984300046241, 39.112259999875086], [-84.50964300046245, 39.113159999875], [-84.5092430004625, 39.11315999987501], [-84.50889600046254, 39.113072999874994], [-84.50902300046252, 39.112259999875086], [-84.50934300046248, 39.112259999875086], [-84.50974300046244, 39.112259999875086], [-84.50984300046241, 39.112259999875086]]], "type": "Polygon"}, "id": "399", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 63.0, "AGE_20_24": 9.0, "AGE_21": 60.0, "AGE_25_34": 30.0, "AGE_35_44": 16.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 39.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.51, "BG": "390610018001", "BLACK": 33.0, "BLOCK": "390610018001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 28721.4807, "F1_RACE": 69.0, "F2_RACES": 5.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 13.0, "ID": 654795.0, "IN_HOUSEHO": 74.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 74.0, "RENTER_SIZ": 1.51, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 36.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51244300046214, 39.11235999987505, -84.51144300046225, 39.11365999987494], "geometry": {"coordinates": [[[-84.51234300046217, 39.112759999874996], [-84.51224300046218, 39.11365999987494], [-84.51144300046225, 39.113559999874965], [-84.51154300046225, 39.11235999987505], [-84.5118430004622, 39.11235999987505], [-84.51244300046214, 39.11245999987508], [-84.51234300046217, 39.112759999874996]]], "type": "Polygon"}, "id": "400", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 3.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.08, "BG": "390610017002", "BLACK": 35.0, "BLOCK": "390610017002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13233.9894, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 654816.0, "IN_HOUSEHO": 50.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 50.0, "RENTER_SIZ": 2.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 13.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51234300046217, 39.11435999987488, -84.51194300046222, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51234300046217, 39.11465999987484], [-84.51194300046222, 39.114859999874845], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "401", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610017002", "BLACK": 0.0, "BLOCK": "390610017002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 654853.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51154300046225, 39.112259999875086, -84.51064300046235, 39.113559999874965], "geometry": {"coordinates": [[[-84.51154300046225, 39.11235999987505], [-84.51144300046225, 39.113559999874965], [-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11315999987501], [-84.51074300046233, 39.112259999875086], [-84.51124300046226, 39.11235999987505], [-84.51154300046225, 39.11235999987505]]], "type": "Polygon"}, "id": "402", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 8.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.69, "BG": "390610017002", "BLACK": 36.0, "BLOCK": "390610017002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12246.3169, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 16.0, "ID": 654869.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 18.0, "MALE_65": 3.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 44.0, "RENTER_SIZ": 1.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51224300046218, 39.113459999874955, -84.51054300046238, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51194300046222, 39.114859999874845], [-84.51124300046229, 39.114759999874835], [-84.51054300046238, 39.11465999987484], [-84.51064300046235, 39.11365999987494], [-84.51064300046235, 39.113459999874955], [-84.51144300046225, 39.113559999874965], [-84.51224300046218, 39.11365999987494], [-84.51224300046218, 39.11385999987491], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "403", "properties": {"AGE_0_5": 25.0, "AGE_10_14": 15.0, "AGE_15_19": 17.0, "AGE_18": 67.0, "AGE_20_24": 20.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 22.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 133.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 8.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 3.02, "BG": "390610017002", "BLACK": 133.0, "BLOCK": "390610017002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20337.9547, "F1_RACE": 142.0, "F2_RACES": 0.0, "FEMALE": 93.0, "FEMALE_18": 47.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 5.0, "ID": 654889.0, "IN_HOUSEHO": 142.0, "MALE": 49.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 142.0, "RENTER_SIZ": 3.02, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 8.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51074300046233, 39.112259999875086, -84.50964300046245, 39.11315999987501], "geometry": {"coordinates": [[[-84.51074300046233, 39.112259999875086], [-84.51064300046235, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.50984300046241, 39.112259999875086], [-84.51074300046233, 39.112259999875086]]], "type": "Polygon"}, "id": "404", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 9.0, "AGE_21": 37.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 22.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.7, "AVG_HHSIZE": 1.84, "BG": "390610018001", "BLACK": 23.0, "BLOCK": "390610018001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14524.9091, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 6.0, "ID": 654930.0, "IN_HOUSEHO": 46.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 46.0, "RENTER_SIZ": 1.95, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 21.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51724400046167, 39.11885999987444, -84.51494400046192, 39.120659999874285], "geometry": {"coordinates": [[[-84.51724400046167, 39.11925999987439], [-84.5160440004618, 39.12025999987432], [-84.51574400046184, 39.120659999874285], [-84.5153440004619, 39.12035999987432], [-84.51494400046192, 39.12005999987433], [-84.51544400046188, 39.11965999987435], [-84.51664400046174, 39.11885999987444], [-84.51724400046167, 39.11925999987439]]], "type": "Polygon"}, "id": "405", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 13.0, "AGE_15_19": 4.0, "AGE_18": 78.0, "AGE_20_24": 8.0, "AGE_21": 76.0, "AGE_25_34": 27.0, "AGE_35_44": 21.0, "AGE_45_54": 8.0, "AGE_55_59": 8.0, "AGE_5_9": 11.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 75.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.85, "AVG_HHSIZE": 2.73, "BG": "390610023001", "BLACK": 75.0, "BLOCK": "390610023001017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17728.9634, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 35.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 49.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 654989.0, "IN_HOUSEHO": 60.0, "MALE": 74.0, "MALE_18": 60.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 108.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 109.0, "RENTER_SIZ": 2.81, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51664400046174, 39.11835999987448, -84.51434300046199, 39.12005999987433], "geometry": {"coordinates": [[[-84.51644400046175, 39.118559999874456], [-84.51664400046174, 39.11885999987444], [-84.51544400046188, 39.11965999987435], [-84.51494400046192, 39.12005999987433], [-84.51464300046196, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51484300046194, 39.11925999987439], [-84.51604400046179, 39.11835999987448], [-84.51644400046175, 39.118559999874456]]], "type": "Polygon"}, "id": "406", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 10.0, "AGE_15_19": 7.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 51.0, "AGE_25_34": 19.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.95, "AVG_HHSIZE": 2.69, "BG": "390610023001", "BLACK": 87.0, "BLOCK": "390610023001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16468.1683, "F1_RACE": 94.0, "F2_RACES": 0.0, "FEMALE": 49.0, "FEMALE_18": 28.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 655008.0, "IN_HOUSEHO": 94.0, "MALE": 45.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 94.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 94.0, "RENTER_SIZ": 2.94, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51404300046202, 39.118859999874445, -84.51264300046216, 39.12005999987433], "geometry": {"coordinates": [[[-84.51404300046202, 39.119859999874365], [-84.51374300046204, 39.12005999987433], [-84.51264300046216, 39.11905999987444], [-84.51294300046213, 39.118859999874445], [-84.51404300046202, 39.119859999874365]]], "type": "Polygon"}, "id": "407", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 18.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 21.0, "BLOCK": "390610023001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12980.7644, "F1_RACE": 21.0, "F2_RACES": 4.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 0.0, "ID": 655027.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 25.0, "RENTER_SIZ": 2.11, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51374300046204, 39.11905999987444, -84.51224300046222, 39.12025999987432], "geometry": {"coordinates": [[[-84.51264300046216, 39.11905999987444], [-84.51374300046204, 39.12005999987433], [-84.51344300046208, 39.12025999987432], [-84.51224300046222, 39.11925999987442], [-84.51264300046216, 39.11905999987444]]], "type": "Polygon"}, "id": "408", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 15.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.3, "BG": "390610023001", "BLACK": 20.0, "BLOCK": "390610023001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10706.9148, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655045.0, "IN_HOUSEHO": 23.0, "MALE": 11.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 23.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51574400046184, 39.12035999987432, -84.51384400046206, 39.12305999987405], "geometry": {"coordinates": [[[-84.5153440004619, 39.12035999987432], [-84.51574400046184, 39.120659999874285], [-84.51484400046195, 39.12165999987419], [-84.51444400046199, 39.12305999987405], [-84.51384400046206, 39.123059999874044], [-84.51454400046198, 39.121159999874216], [-84.5153440004619, 39.12035999987432]]], "type": "Polygon"}, "id": "409", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 0.0, "AGE_21": 27.0, "AGE_25_34": 3.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.7, "BG": "390610023001", "BLACK": 17.0, "BLOCK": "390610023001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5980.6488, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 9.0, "ID": 655093.0, "IN_HOUSEHO": 34.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5153440004619, 39.12005999987433, -84.5135430004621, 39.123059999874044], "geometry": {"coordinates": [[[-84.51494400046192, 39.12005999987433], [-84.5153440004619, 39.12035999987432], [-84.51454400046198, 39.121159999874216], [-84.51384400046206, 39.123059999874044], [-84.5135430004621, 39.12295999987407], [-84.51414300046201, 39.121059999874234], [-84.51494400046192, 39.12005999987433]]], "type": "Polygon"}, "id": "410", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 43.0, "AGE_20_24": 6.0, "AGE_21": 39.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 72.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.93, "AVG_HHSIZE": 2.96, "BG": "390610023001", "BLACK": 72.0, "BLOCK": "390610023001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15953.1883, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 655111.0, "IN_HOUSEHO": 74.0, "MALE": 34.0, "MALE_18": 17.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 74.0, "RENTER_SIZ": 3.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51494400046192, 39.11955999987439, -84.51294300046216, 39.12295999987407], "geometry": {"coordinates": [[[-84.51364300046208, 39.12075999987429], [-84.51344300046208, 39.12025999987432], [-84.51374300046204, 39.12005999987433], [-84.51404300046202, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51464300046196, 39.119859999874365], [-84.51494400046192, 39.12005999987433], [-84.51414300046201, 39.121059999874234], [-84.5135430004621, 39.12295999987407], [-84.51304300046216, 39.12295999987407], [-84.51314300046214, 39.12225999987413], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12125999987424], [-84.51364300046208, 39.12075999987429]]], "type": "Polygon"}, "id": "411", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 43.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 15.0, "AGE_60_64": 3.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.83, "BG": "390610023001", "BLACK": 78.0, "BLOCK": "390610023001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8435.8163, "F1_RACE": 81.0, "F2_RACES": 4.0, "FEMALE": 46.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 18.0, "ID": 655128.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.62, "POPULATION": 85.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51604400046179, 39.11465999987484, -84.50874300046257, 39.119859999874365], "geometry": {"coordinates": [[[-84.51194300046222, 39.114859999874845], [-84.51274300046212, 39.11555999987476], [-84.51354300046206, 39.11605999987469], [-84.51434300046198, 39.11685999987463], [-84.51604400046179, 39.11835999987448], [-84.51484300046194, 39.11925999987439], [-84.51434300046199, 39.11955999987439], [-84.51404300046202, 39.119859999874365], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11855999987446], [-84.51204300046221, 39.11905999987444], [-84.51199500046225, 39.119094999874434], [-84.51164300046227, 39.118859999874445], [-84.51152500046227, 39.11883199987446], [-84.5115430004623, 39.11875999987447], [-84.5114430004623, 39.11845999987449], [-84.51164300046227, 39.11775999987456], [-84.51114300046231, 39.11775999987456], [-84.51024300046244, 39.11765999987456], [-84.50874300046257, 39.11755999987458], [-84.50914300046253, 39.11735999987462], [-84.50964300046249, 39.11725999987464], [-84.51014300046242, 39.117259999874626], [-84.5103430004624, 39.116059999874714], [-84.5103430004624, 39.11575999987474], [-84.51044300046239, 39.11525899987483], [-84.51054300046238, 39.11465999987484], [-84.51124300046229, 39.114759999874835], [-84.51194300046222, 39.114859999874845]]], "type": "Polygon"}, "id": "412", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 12.0, "AGE_15_19": 24.0, "AGE_18": 208.0, "AGE_20_24": 35.0, "AGE_21": 191.0, "AGE_25_34": 65.0, "AGE_35_44": 28.0, "AGE_45_54": 41.0, "AGE_55_59": 12.0, "AGE_5_9": 26.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 2.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 2.0, "AP_BLACK": 169.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 108.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.96, "BG": "390610023001", "BLACK": 167.0, "BLOCK": "390610023001011", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4676.5279, "F1_RACE": 273.0, "F2_RACES": 6.0, "FEMALE": 158.0, "FEMALE_18": 117.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 28.0, "GROUP_QUAR": 28.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 80.0, "HOUSEHOLDS": 128.0, "HSNG_UNITS": 165.0, "HU_OCCUPIE": 128.0, "HU_VACANT": 37.0, "ID": 655154.0, "IN_HOUSEHO": 251.0, "MALE": 121.0, "MALE_18": 91.0, "MALE_65": 7.0, "MEDIAN_AGE": 28.9, "MSA": "1640", "NH_WHITE": 103.0, "NOT_HISPAN": 279.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.98, "POPULATION": 279.0, "RENTER_SIZ": 1.95, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 103.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5115430004623, 39.11835999987451, -84.51004300046245, 39.11915999987442], "geometry": {"coordinates": [[[-84.5114430004623, 39.11915999987442], [-84.51004300046245, 39.11905999987446], [-84.51024300046244, 39.11835999987451], [-84.5114430004623, 39.11845999987449], [-84.5115430004623, 39.11875999987447], [-84.51152500046227, 39.11883199987446], [-84.5114430004623, 39.11915999987442]]], "type": "Polygon"}, "id": "413", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 23.0, "AGE_15_19": 22.0, "AGE_18": 107.0, "AGE_20_24": 21.0, "AGE_21": 92.0, "AGE_25_34": 19.0, "AGE_35_44": 25.0, "AGE_45_54": 12.0, "AGE_55_59": 5.0, "AGE_5_9": 25.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 7.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.77, "BG": "390610023001", "BLACK": 180.0, "BLOCK": "390610023001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 54847.5451, "F1_RACE": 186.0, "F2_RACES": 8.0, "FEMALE": 108.0, "FEMALE_18": 65.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 87.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 17.0, "ID": 655191.0, "IN_HOUSEHO": 194.0, "MALE": 86.0, "MALE_18": 42.0, "MALE_65": 4.0, "MEDIAN_AGE": 20.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 192.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 194.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51294300046213, 39.11855999987446, -84.51199500046225, 39.11925999987442], "geometry": {"coordinates": [[[-84.51264300046216, 39.11855999987446], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11905999987444], [-84.51224300046222, 39.11925999987442], [-84.51199500046225, 39.119094999874434], [-84.51204300046221, 39.11905999987444], [-84.51264300046216, 39.11855999987446]]], "type": "Polygon"}, "id": "414", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 18.0, "BLOCK": "390610023001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18411.019, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 2.0, "ID": 655210.0, "IN_HOUSEHO": 20.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51164300046227, 39.11755999987458, -84.5086430004626, 39.11845999987449], "geometry": {"coordinates": [[[-84.51164300046227, 39.11775999987456], [-84.5114430004623, 39.11845999987449], [-84.51024300046244, 39.11835999987451], [-84.51014300046243, 39.11815999987453], [-84.5086430004626, 39.118059999874546], [-84.50874300046257, 39.11755999987458], [-84.51024300046244, 39.11765999987456], [-84.51114300046231, 39.11775999987456], [-84.51164300046227, 39.11775999987456]]], "type": "Polygon"}, "id": "415", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 11.0, "AGE_18": 67.0, "AGE_20_24": 5.0, "AGE_21": 62.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.76, "BG": "390610023001", "BLACK": 104.0, "BLOCK": "390610023001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18052.868, "F1_RACE": 110.0, "F2_RACES": 3.0, "FEMALE": 63.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 41.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 41.0, "HU_VACANT": 23.0, "ID": 655230.0, "IN_HOUSEHO": 113.0, "MALE": 50.0, "MALE_18": 21.0, "MALE_65": 3.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 112.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 113.0, "RENTER_SIZ": 2.49, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 6.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51024300046244, 39.118059999874546, -84.50854300046262, 39.11905999987446], "geometry": {"coordinates": [[[-84.51014300046243, 39.11815999987453], [-84.51024300046244, 39.11835999987451], [-84.51004300046245, 39.11905999987446], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.118259999874546], [-84.5086430004626, 39.118059999874546], [-84.51014300046243, 39.11815999987453]]], "type": "Polygon"}, "id": "416", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.63, "BG": "390610023001", "BLACK": 11.0, "BLOCK": "390610023001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2420.6561, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 655250.0, "IN_HOUSEHO": 13.0, "MALE": 3.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 1.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5114430004623, 39.11905999987446, -84.51004300046245, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.5114430004623, 39.11915999987442], [-84.51134300046232, 39.11975999987437], [-84.51004300046246, 39.11975999987439], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "417", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 1.0, "AGE_21": 16.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.89, "AVG_HHSIZE": 2.9, "BG": "390610023001", "BLACK": 25.0, "BLOCK": "390610023001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8897.7256, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 11.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655269.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.0, "POPULATION": 29.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51004300046246, 39.11895999987447, -84.50854300046262, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.51004300046246, 39.11975999987439], [-84.50854300046262, 39.11965999987441], [-84.50854300046262, 39.11895999987447], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "418", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 6.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 11.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.07, "BG": "390610023001", "BLACK": 57.0, "BLOCK": "390610023001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15428.5444, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 29.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 14.0, "ID": 655287.0, "IN_HOUSEHO": 60.0, "MALE": 27.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.0, "POPULATION": 60.0, "RENTER_SIZ": 1.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51364300046208, 39.11883199987446, -84.50834300046266, 39.1227599998741], "geometry": {"coordinates": [[[-84.51344300046208, 39.12025999987432], [-84.51364300046208, 39.12075999987429], [-84.51314300046214, 39.12125999987424], [-84.51294300046216, 39.121859999874175], [-84.51114300046235, 39.122159999874164], [-84.51074300046238, 39.12235999987413], [-84.50964300046252, 39.12235999987413], [-84.50954300046251, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50904300046258, 39.1227599998741], [-84.50834300046267, 39.12265999987413], [-84.50834300046266, 39.12195999987419], [-84.50834300046266, 39.121459999874226], [-84.50844300046265, 39.120459999874335], [-84.50844300046263, 39.11985999987439], [-84.50854300046262, 39.11965999987441], [-84.51004300046246, 39.11975999987439], [-84.51134300046232, 39.11975999987437], [-84.5114430004623, 39.11915999987442], [-84.51152500046227, 39.11883199987446], [-84.51164300046227, 39.118859999874445], [-84.51199500046225, 39.119094999874434], [-84.51224300046222, 39.11925999987442], [-84.51344300046208, 39.12025999987432]]], "type": "Polygon"}, "id": "419", "properties": {"AGE_0_5": 21.0, "AGE_10_14": 18.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 10.0, "AGE_21": 89.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 26.0, "AGE_65": 24.0, "AGE_65_74": 10.0, "AGE_75_84": 14.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 118.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.81, "BG": "390610023001", "BLACK": 117.0, "BLOCK": "390610023001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3076.3077, "F1_RACE": 149.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 58.0, "FEMALE_65": 11.0, "GQ_INSTITU": 29.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 29.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 655304.0, "IN_HOUSEHO": 121.0, "MALE": 59.0, "MALE_18": 37.0, "MALE_65": 13.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 147.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 150.0, "RENTER_SIZ": 2.76, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50902300046252, 39.112159999875075, -84.50754300046268, 39.113072999874994], "geometry": {"coordinates": [[[-84.50894300046254, 39.112259999875086], [-84.50902300046252, 39.112259999875086], [-84.50889600046254, 39.113072999874994], [-84.50884300046253, 39.11305999987503], [-84.50872100046254, 39.113050999875014], [-84.50754300046268, 39.112959999875024], [-84.50754300046268, 39.11255999987504], [-84.50764300046268, 39.112159999875075], [-84.50894300046254, 39.112259999875086]]], "type": "Polygon"}, "id": "420", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.4, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15123.6404, "F1_RACE": 60.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 3.0, "ID": 663324.0, "IN_HOUSEHO": 63.0, "MALE": 37.0, "MALE_18": 36.0, "MALE_65": 6.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.38, "POPULATION": 63.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 46.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50764300046268, 39.11205999987513, -84.50674300046276, 39.112559999875074], "geometry": {"coordinates": [[[-84.50764300046268, 39.112159999875075], [-84.50754300046268, 39.11255999987504], [-84.50674300046276, 39.112559999875074], [-84.50684300046272, 39.11205999987513], [-84.50764300046268, 39.112159999875075]]], "type": "Polygon"}, "id": "421", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 15.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.6, "BG": "390610018001", "BLACK": 6.0, "BLOCK": "390610018001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24408.4609, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 663344.0, "IN_HOUSEHO": 24.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 32.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 1.4, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 26.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51574400046195, 39.13555999987291, -84.51334400046224, 39.14215999987227], "geometry": {"coordinates": [[[-84.51544400046203, 39.14215999987227], [-84.51514400046204, 39.14195999987231], [-84.51334400046224, 39.14045999987247], [-84.51347700046222, 39.13879699987262], [-84.5135440004622, 39.13795999987269], [-84.51364400046218, 39.13675999987281], [-84.51384400046216, 39.13555999987291], [-84.51474400046204, 39.13565999987291], [-84.515144000462, 39.13585999987289], [-84.51494400046204, 39.1365599998728], [-84.51514400046202, 39.1377599998727], [-84.51574400046195, 39.138259999872645], [-84.51534400046202, 39.13945999987253], [-84.51544400046203, 39.14195999987231], [-84.51544400046203, 39.14215999987227]]], "type": "Polygon"}, "id": "422", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 5.0, "AGE_15_19": 26.0, "AGE_18": 272.0, "AGE_20_24": 94.0, "AGE_21": 235.0, "AGE_25_34": 103.0, "AGE_35_44": 32.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 39.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 7.0, "AP_WHITE": 238.0, "AREA": 0.04, "ASIAN": 31.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.84, "AVG_HHSIZE": 1.64, "BG": "390610030001", "BLACK": 23.0, "BLOCK": "390610030001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8040.7282, "F1_RACE": 292.0, "F2_RACES": 9.0, "FEMALE": 133.0, "FEMALE_18": 115.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 26.0, "GROUP_QUAR": 26.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 136.0, "HOUSEHOLDS": 168.0, "HSNG_UNITS": 197.0, "HU_OCCUPIE": 168.0, "HU_VACANT": 29.0, "ID": 685133.0, "IN_HOUSEHO": 275.0, "MALE": 168.0, "MALE_18": 157.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 228.0, "NOT_HISPAN": 288.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 156.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 3.42, "POPULATION": 301.0, "RENTER_SIZ": 1.5, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 232.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51084400046246, 39.132659999873205, -84.50894300046268, 39.135359999872946], "geometry": {"coordinates": [[[-84.50984300046255, 39.132659999873205], [-84.51004300046255, 39.132659999873205], [-84.51084400046246, 39.132759999873166], [-84.51074400046248, 39.13405999987305], [-84.5106440004625, 39.13485999987298], [-84.51054400046252, 39.135359999872946], [-84.50934300046264, 39.13525999987296], [-84.50894300046268, 39.13515999987295], [-84.50904300046265, 39.133859999873096], [-84.50914300046264, 39.132659999873205], [-84.50984300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "423", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 84.0, "AGE_20_24": 40.0, "AGE_21": 73.0, "AGE_25_34": 20.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 15.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 8.0, "AP_WHITE": 60.0, "AREA": 0.02, "ASIAN": 14.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 2.1, "BG": "390610030002", "BLACK": 20.0, "BLOCK": "390610030002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6418.8255, "F1_RACE": 97.0, "F2_RACES": 8.0, "FEMALE": 44.0, "FEMALE_18": 30.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 9.0, "ID": 685197.0, "IN_HOUSEHO": 105.0, "MALE": 61.0, "MALE_18": 54.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.3, "MSA": "1640", "NH_WHITE": 57.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 43.0, "OTHER_RACE": 6.0, "OWNER_SIZE": 1.14, "POPULATION": 105.0, "RENTER_SIZ": 2.26, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 57.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50914300046264, 39.13255999987321, -84.50834300046274, 39.13385999987311], "geometry": {"coordinates": [[[-84.50914300046264, 39.132659999873205], [-84.50904300046265, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50844300046272, 39.13255999987321], [-84.50914300046264, 39.132659999873205]]], "type": "Polygon"}, "id": "424", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 41.0, "AGE_20_24": 22.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.95, "BG": "390610032002", "BLACK": 11.0, "BLOCK": "390610032002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12581.9809, "F1_RACE": 40.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 4.0, "ID": 685220.0, "IN_HOUSEHO": 41.0, "MALE": 23.0, "MALE_18": 23.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 41.0, "RENTER_SIZ": 2.0, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 25.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49684300046403, 39.13995999987257, -84.49244300046452, 39.14235999987234], "geometry": {"coordinates": [[[-84.49664300046405, 39.14235999987234], [-84.49464300046427, 39.14225999987239], [-84.49464300046427, 39.14195999987242], [-84.49244300046452, 39.141659999872424], [-84.49294300046445, 39.140959999872514], [-84.49354300046437, 39.13995999987257], [-84.49674300046402, 39.14015999987255], [-84.49674300046404, 39.140759999872486], [-84.49684300046403, 39.141159999872464], [-84.49664300046405, 39.14235999987234]]], "type": "Polygon"}, "id": "425", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 42.0, "AGE_15_19": 34.0, "AGE_18": 291.0, "AGE_20_24": 17.0, "AGE_21": 276.0, "AGE_25_34": 58.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 19.0, "AGE_5_9": 59.0, "AGE_60_64": 14.0, "AGE_62": 97.0, "AGE_65": 88.0, "AGE_65_74": 51.0, "AGE_75_84": 27.0, "AGE_85": 10.0, "AMINDIAN": 2.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 440.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 9.0, "AP_WHITE": 18.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.12, "BG": "390610067004", "BLACK": 423.0, "BLOCK": "390610067004005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15992.0043, "F1_RACE": 440.0, "F2_RACES": 18.0, "FEMALE": 251.0, "FEMALE_18": 169.0, "FEMALE_65": 53.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 2.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 216.0, "HSNG_UNITS": 265.0, "HU_OCCUPIE": 216.0, "HU_VACANT": 49.0, "ID": 703088.0, "IN_HOUSEHO": 458.0, "MALE": 207.0, "MALE_18": 122.0, "MALE_65": 35.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 458.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 458.0, "RENTER_SIZ": 2.01, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4960430004641, 39.1366599998729, -84.4903430004647, 39.13945999987263], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.4960430004641, 39.137259999872825], [-84.49544300046415, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.49454300046426, 39.13795999987277], [-84.49114300046465, 39.139459999872614], [-84.49044300046471, 39.13945999987263], [-84.4903430004647, 39.13845999987273], [-84.49124300046462, 39.13785999987278], [-84.49154300046457, 39.1366599998729], [-84.49234300046447, 39.13675999987287], [-84.49374300046433, 39.136759999872865], [-84.49514300046418, 39.13685999987286], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "426", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 10.0, "AGE_15_19": 8.0, "AGE_18": 135.0, "AGE_20_24": 18.0, "AGE_21": 127.0, "AGE_25_34": 30.0, "AGE_35_44": 43.0, "AGE_45_54": 28.0, "AGE_55_59": 2.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 182.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 8, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.05, "BG": "390610034001", "BLACK": 180.0, "BLOCK": "390610034001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5709.7727, "F1_RACE": 184.0, "F2_RACES": 3.0, "FEMALE": 99.0, "FEMALE_18": 68.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 19.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 46.0, "HOUSEHOLDS": 82.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 82.0, "HU_VACANT": 28.0, "ID": 703108.0, "IN_HOUSEHO": 168.0, "MALE": 88.0, "MALE_18": 67.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 187.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.3, "POPULATION": 187.0, "RENTER_SIZ": 2.01, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49524300046419, 39.13795999987277, -84.49094300046467, 39.140959999872514], "geometry": {"coordinates": [[[-84.4949430004642, 39.13855999987269], [-84.49444300046427, 39.139159999872646], [-84.49354300046437, 39.13995999987257], [-84.49294300046445, 39.140959999872514], [-84.49094300046467, 39.140859999872504], [-84.49114300046465, 39.139459999872614], [-84.49454300046426, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.4949430004642, 39.13855999987269]]], "type": "Polygon"}, "id": "427", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 22.0, "AGE_15_19": 26.0, "AGE_18": 139.0, "AGE_20_24": 23.0, "AGE_21": 122.0, "AGE_25_34": 24.0, "AGE_35_44": 34.0, "AGE_45_54": 24.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 2.0, "AGE_62": 20.0, "AGE_65": 19.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 7.0, "AP_BLACK": 219.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.58, "BG": "390610067001", "BLACK": 208.0, "BLOCK": "390610067001006", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9898.6106, "F1_RACE": 221.0, "F2_RACES": 11.0, "FEMALE": 127.0, "FEMALE_18": 88.0, "FEMALE_65": 15.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 10.0, "GROUP_QUAR": 10.0, "HAWAIIAN": 0.0, "HH_FAMILY": 63.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 130.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 44.0, "ID": 703132.0, "IN_HOUSEHO": 222.0, "MALE": 105.0, "MALE_18": 51.0, "MALE_65": 4.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 219.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.84, "POPULATION": 232.0, "RENTER_SIZ": 2.22, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 11.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5055430004631, 39.143859999872156, -84.50414300046327, 39.14555999987203], "geometry": {"coordinates": [[[-84.5055430004631, 39.143859999872156], [-84.50534300046313, 39.14555999987203], [-84.50414300046327, 39.145459999872024], [-84.50422400046327, 39.14481199987206], [-84.50434300046324, 39.14385999987216], [-84.5055430004631, 39.143859999872156]]], "type": "Polygon"}, "id": "428", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 21.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 5.83, "AVG_HHSIZE": 4.75, "BG": "390610069002", "BLACK": 37.0, "BLOCK": "390610069002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5157.6308, "F1_RACE": 37.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 703153.0, "IN_HOUSEHO": 38.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 38.0, "RENTER_SIZ": 3.33, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5096440004627, 39.146459999871915, -84.50524400046316, 39.15095999987151], "geometry": {"coordinates": [[[-84.5096440004627, 39.148759999871686], [-84.50924400046276, 39.150759999871525], [-84.5088440004628, 39.15095999987151], [-84.5077440004629, 39.149759999871605], [-84.50674400046303, 39.14935999987167], [-84.50624400046307, 39.14935999987166], [-84.50606600046308, 39.14934199987168], [-84.50524400046316, 39.14925999987169], [-84.50531600046315, 39.148107999871776], [-84.50534400046317, 39.147659999871806], [-84.50624400046306, 39.14775999987181], [-84.50644400046303, 39.146459999871915], [-84.50714400046296, 39.14655999987191], [-84.50834400046283, 39.147259999871835], [-84.50884400046277, 39.14805999987176], [-84.5096440004627, 39.148759999871686]]], "type": "Polygon"}, "id": "429", "properties": {"AGE_0_5": 40.0, "AGE_10_14": 71.0, "AGE_15_19": 50.0, "AGE_18": 285.0, "AGE_20_24": 25.0, "AGE_21": 258.0, "AGE_25_34": 66.0, "AGE_35_44": 61.0, "AGE_45_54": 48.0, "AGE_55_59": 14.0, "AGE_5_9": 61.0, "AGE_60_64": 6.0, "AGE_62": 53.0, "AGE_65": 49.0, "AGE_65_74": 21.0, "AGE_75_84": 20.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 483.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 10.0, "AREA": 0.04, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.77, "BG": "390610069004", "BLACK": 473.0, "BLOCK": "390610069004000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12535.53, "F1_RACE": 481.0, "F2_RACES": 10.0, "FEMALE": 293.0, "FEMALE_18": 191.0, "FEMALE_65": 34.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 128.0, "HH_NONFAMI": 49.0, "HOUSEHOLDS": 177.0, "HSNG_UNITS": 189.0, "HU_OCCUPIE": 177.0, "HU_VACANT": 12.0, "ID": 703170.0, "IN_HOUSEHO": 491.0, "MALE": 198.0, "MALE_18": 94.0, "MALE_65": 15.0, "MEDIAN_AGE": 24.6, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 488.0, "OCCHU_OWNE": 62.0, "OCCHU_RENT": 115.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.29, "POPULATION": 491.0, "RENTER_SIZ": 3.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50644400046303, 39.14645999987191, -84.50534400046317, 39.14775999987181], "geometry": {"coordinates": [[[-84.50644400046303, 39.146459999871915], [-84.50624400046306, 39.14775999987181], [-84.50534400046317, 39.147659999871806], [-84.50544300046313, 39.14645999987191], [-84.50644400046303, 39.146459999871915]]], "type": "Polygon"}, "id": "430", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 21.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.55, "BG": "390610069004", "BLACK": 32.0, "BLOCK": "390610069004002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8810.7256, "F1_RACE": 37.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 4.0, "ID": 703197.0, "IN_HOUSEHO": 39.0, "MALE": 21.0, "MALE_18": 10.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 39.0, "RENTER_SIZ": 4.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50574300046307, 39.141859999872366, -84.50294300046339, 39.142959999872254], "geometry": {"coordinates": [[[-84.50574300046307, 39.14205999987235], [-84.50564300046308, 39.142959999872254], [-84.50314300046337, 39.14285999987227], [-84.50294300046339, 39.14275999987228], [-84.50304300046336, 39.141859999872366], [-84.50324300046334, 39.14185999987239], [-84.50574300046307, 39.14205999987235]]], "type": "Polygon"}, "id": "431", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 14.0, "AGE_15_19": 11.0, "AGE_18": 93.0, "AGE_20_24": 10.0, "AGE_21": 86.0, "AGE_25_34": 15.0, "AGE_35_44": 31.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 5.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.15, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13478.2777, "F1_RACE": 125.0, "F2_RACES": 4.0, "FEMALE": 64.0, "FEMALE_18": 46.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 79.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 19.0, "ID": 703214.0, "IN_HOUSEHO": 129.0, "MALE": 65.0, "MALE_18": 47.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 129.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.26, "POPULATION": 129.0, "RENTER_SIZ": 2.1, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50564300046308, 39.14285999987227, -84.50304300046338, 39.14385999987216], "geometry": {"coordinates": [[[-84.50564300046308, 39.142959999872254], [-84.5055430004631, 39.143859999872156], [-84.50434300046324, 39.14385999987216], [-84.50340000046334, 39.14378699987218], [-84.50304300046338, 39.14375999987218], [-84.50314300046337, 39.14285999987227], [-84.50564300046308, 39.142959999872254]]], "type": "Polygon"}, "id": "432", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 16.0, "AGE_15_19": 10.0, "AGE_18": 89.0, "AGE_20_24": 9.0, "AGE_21": 84.0, "AGE_25_34": 13.0, "AGE_35_44": 21.0, "AGE_45_54": 13.0, "AGE_55_59": 8.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.47, "BG": "390610069002", "BLACK": 114.0, "BLOCK": "390610069002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14670.7028, "F1_RACE": 125.0, "F2_RACES": 1.0, "FEMALE": 59.0, "FEMALE_18": 44.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 11.0, "ID": 703234.0, "IN_HOUSEHO": 126.0, "MALE": 67.0, "MALE_18": 45.0, "MALE_65": 9.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 126.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 126.0, "RENTER_SIZ": 2.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50434300046324, 39.14375999987218, -84.50294300046342, 39.145459999872024], "geometry": {"coordinates": [[[-84.50434300046324, 39.14385999987216], [-84.50422400046327, 39.14481199987206], [-84.50414300046327, 39.145459999872024], [-84.50294300046342, 39.14535999987205], [-84.50294300046342, 39.145159999872064], [-84.50304300046338, 39.14375999987218], [-84.50340000046334, 39.14378699987218], [-84.50434300046324, 39.14385999987216]]], "type": "Polygon"}, "id": "433", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 12.0, "AGE_45_54": 12.0, "AGE_55_59": 0.0, "AGE_5_9": 17.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.22, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15069.8309, "F1_RACE": 113.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 43.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 8.0, "ID": 703253.0, "IN_HOUSEHO": 113.0, "MALE": 53.0, "MALE_18": 31.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.1, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 113.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 45.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 113.0, "RENTER_SIZ": 2.11, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50304300046336, 39.1416599998724, -84.50024300046367, 39.14275999987228], "geometry": {"coordinates": [[[-84.50294300046339, 39.14275999987228], [-84.50024300046367, 39.1425599998723], [-84.50024300046367, 39.1416599998724], [-84.50304300046336, 39.141859999872366], [-84.50294300046339, 39.14275999987228]]], "type": "Polygon"}, "id": "434", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 66.0, "AGE_20_24": 3.0, "AGE_21": 62.0, "AGE_25_34": 11.0, "AGE_35_44": 15.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 14.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.52, "BG": "390610069002", "BLACK": 64.0, "BLOCK": "390610069002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9021.0236, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 38.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 16.0, "ID": 703271.0, "IN_HOUSEHO": 83.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.1, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.92, "POPULATION": 83.0, "RENTER_SIZ": 2.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50314300046337, 39.1425599998723, -84.50014300046368, 39.14375999987218], "geometry": {"coordinates": [[[-84.50314300046337, 39.14285999987227], [-84.50304300046338, 39.14375999987218], [-84.50014300046368, 39.143559999872224], [-84.50024300046367, 39.1425599998723], [-84.50294300046339, 39.14275999987228], [-84.50314300046337, 39.14285999987227]]], "type": "Polygon"}, "id": "435", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 27.0, "AGE_15_19": 11.0, "AGE_18": 101.0, "AGE_20_24": 20.0, "AGE_21": 91.0, "AGE_25_34": 8.0, "AGE_35_44": 30.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 15.0, "AGE_60_64": 7.0, "AGE_62": 24.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 7.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 163.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.43, "BG": "390610069002", "BLACK": 162.0, "BLOCK": "390610069002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15673.642, "F1_RACE": 167.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 57.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 19.0, "ID": 703289.0, "IN_HOUSEHO": 168.0, "MALE": 77.0, "MALE_18": 44.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 168.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 168.0, "RENTER_SIZ": 3.64, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50304300046338, 39.143559999872224, -84.49994300046373, 39.145159999872064], "geometry": {"coordinates": [[[-84.50304300046338, 39.14375999987218], [-84.50294300046342, 39.145159999872064], [-84.49994300046373, 39.14485999987211], [-84.5000430004637, 39.143959999872195], [-84.50014300046368, 39.143559999872224], [-84.50304300046338, 39.14375999987218]]], "type": "Polygon"}, "id": "436", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 24.0, "AGE_15_19": 19.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 14.0, "AGE_55_59": 1.0, "AGE_5_9": 23.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 11, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.74, "BG": "390610069002", "BLACK": 128.0, "BLOCK": "390610069002004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8747.1976, "F1_RACE": 131.0, "F2_RACES": 0.0, "FEMALE": 68.0, "FEMALE_18": 39.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 703308.0, "IN_HOUSEHO": 131.0, "MALE": 63.0, "MALE_18": 22.0, "MALE_65": 4.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 131.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 131.0, "RENTER_SIZ": 3.93, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.14535999987205, -84.50284300046341, 39.14645999987191], "geometry": {"coordinates": [[[-84.50534300046313, 39.14555999987203], [-84.50544300046313, 39.14645999987191], [-84.5038430004633, 39.14635999987197], [-84.50284300046341, 39.146259999871944], [-84.50294300046342, 39.14535999987205], [-84.50414300046327, 39.145459999872024], [-84.50534300046313, 39.14555999987203]]], "type": "Polygon"}, "id": "437", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 76.0, "AGE_20_24": 6.0, "AGE_21": 71.0, "AGE_25_34": 13.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.3, "BG": "390610069002", "BLACK": 99.0, "BLOCK": "390610069002001", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12794.2932, "F1_RACE": 105.0, "F2_RACES": 3.0, "FEMALE": 53.0, "FEMALE_18": 39.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 703326.0, "IN_HOUSEHO": 108.0, "MALE": 55.0, "MALE_18": 37.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 104.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.17, "POPULATION": 108.0, "RENTER_SIZ": 2.34, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.146259999871944, -84.50264300046345, 39.14925999987169], "geometry": {"coordinates": [[[-84.5038430004633, 39.14635999987197], [-84.50544300046313, 39.14645999987191], [-84.50534400046317, 39.147659999871806], [-84.50531600046315, 39.148107999871776], [-84.50524400046316, 39.14925999987169], [-84.50360700046336, 39.14913399987168], [-84.50264300046345, 39.149059999871696], [-84.50284300046341, 39.146259999871944], [-84.5038430004633, 39.14635999987197]]], "type": "Polygon"}, "id": "438", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 40.0, "AGE_15_19": 22.0, "AGE_18": 189.0, "AGE_20_24": 13.0, "AGE_21": 178.0, "AGE_25_34": 32.0, "AGE_35_44": 50.0, "AGE_45_54": 33.0, "AGE_55_59": 10.0, "AGE_5_9": 28.0, "AGE_60_64": 9.0, "AGE_62": 40.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.53, "BG": "390610069001", "BLACK": 281.0, "BLOCK": "390610069001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10697.4731, "F1_RACE": 285.0, "F2_RACES": 3.0, "FEMALE": 162.0, "FEMALE_18": 110.0, "FEMALE_65": 24.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 114.0, "HSNG_UNITS": 127.0, "HU_OCCUPIE": 114.0, "HU_VACANT": 13.0, "ID": 703346.0, "IN_HOUSEHO": 288.0, "MALE": 126.0, "MALE_18": 79.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 39.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.31, "POPULATION": 288.0, "RENTER_SIZ": 2.64, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50294300046342, 39.14485999987211, -84.49984300046374, 39.146259999871944], "geometry": {"coordinates": [[[-84.50294300046342, 39.14535999987205], [-84.50284300046341, 39.146259999871944], [-84.49984300046374, 39.14605999987198], [-84.49994300046373, 39.14485999987211], [-84.50294300046342, 39.145159999872064], [-84.50294300046342, 39.14535999987205]]], "type": "Polygon"}, "id": "439", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 27.0, "AGE_15_19": 16.0, "AGE_18": 91.0, "AGE_20_24": 10.0, "AGE_21": 84.0, "AGE_25_34": 16.0, "AGE_35_44": 29.0, "AGE_45_54": 7.0, "AGE_55_59": 6.0, "AGE_5_9": 10.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 9.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 2.72, "BG": "390610069002", "BLACK": 155.0, "BLOCK": "390610069002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12013.0464, "F1_RACE": 155.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 47.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 17.0, "ID": 703368.0, "IN_HOUSEHO": 155.0, "MALE": 82.0, "MALE_18": 44.0, "MALE_65": 10.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 155.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.11, "POPULATION": 155.0, "RENTER_SIZ": 2.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50624400046307, 39.149059999871696, -84.50264300046345, 39.150259999871565], "geometry": {"coordinates": [[[-84.50606600046308, 39.14934199987168], [-84.50624400046307, 39.14935999987166], [-84.50614400046308, 39.150259999871565], [-84.50454400046326, 39.15015999987159], [-84.50344300046336, 39.15015999987159], [-84.50284300046344, 39.14975999987163], [-84.50264300046345, 39.149059999871696], [-84.50360700046336, 39.14913399987168], [-84.50524400046316, 39.14925999987169], [-84.50606600046308, 39.14934199987168]]], "type": "Polygon"}, "id": "440", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 68.0, "AGE_20_24": 4.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 14.0, "AGE_45_54": 16.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.31, "BG": "390610069001", "BLACK": 82.0, "BLOCK": "390610069001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6949.0985, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 44.0, "FEMALE_18": 38.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 3.0, "ID": 703387.0, "IN_HOUSEHO": 83.0, "MALE": 39.0, "MALE_18": 30.0, "MALE_65": 7.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 83.0, "RENTER_SIZ": 2.5, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50494400046323, 39.15015999987159, -84.50344300046336, 39.15165999987144], "geometry": {"coordinates": [[[-84.50454400046326, 39.15015999987159], [-84.50454400046326, 39.15125999987151], [-84.50494400046323, 39.15165999987144], [-84.50374300046336, 39.15155999987148], [-84.50344300046336, 39.15015999987159], [-84.50454400046326, 39.15015999987159]]], "type": "Polygon"}, "id": "441", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 43.0, "AGE_20_24": 0.0, "AGE_21": 41.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 14.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610069001", "BLACK": 54.0, "BLOCK": "390610069001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10378.7052, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 25.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 0.0, "ID": 703410.0, "IN_HOUSEHO": 55.0, "MALE": 24.0, "MALE_18": 18.0, "MALE_65": 5.0, "MEDIAN_AGE": 48.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 55.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50924400046277, 39.14605999987198, -84.49794300046398, 39.15545999987109], "geometry": {"coordinates": [[[-84.50604400046315, 39.15485999987118], [-84.50564400046316, 39.15545999987109], [-84.50314400046344, 39.15525999987111], [-84.50244300046353, 39.15485999987118], [-84.50044300046372, 39.15245999987139], [-84.49924300046385, 39.15165999987147], [-84.49794300046398, 39.15045999987158], [-84.49874300046388, 39.14965999987165], [-84.49884300046386, 39.149359999871685], [-84.49904300046383, 39.14605999987199], [-84.49984300046374, 39.14605999987198], [-84.50284300046341, 39.146259999871944], [-84.50264300046345, 39.149059999871696], [-84.50284300046344, 39.14975999987163], [-84.50344300046336, 39.15015999987159], [-84.50374300046336, 39.15155999987148], [-84.50494400046323, 39.15165999987144], [-84.50454400046326, 39.15125999987151], [-84.50454400046326, 39.15015999987159], [-84.50614400046308, 39.150259999871565], [-84.50624400046307, 39.14935999987166], [-84.50674400046303, 39.14935999987167], [-84.5077440004629, 39.149759999871605], [-84.5088440004628, 39.15095999987151], [-84.50924400046277, 39.151459999871456], [-84.50814400046289, 39.152059999871405], [-84.50604400046315, 39.15485999987118]]], "type": "Polygon"}, "id": "442", "properties": {"AGE_0_5": 86.0, "AGE_10_14": 107.0, "AGE_15_19": 69.0, "AGE_18": 1096.0, "AGE_20_24": 76.0, "AGE_21": 1064.0, "AGE_25_34": 181.0, "AGE_35_44": 219.0, "AGE_45_54": 202.0, "AGE_55_59": 77.0, "AGE_5_9": 113.0, "AGE_60_64": 69.0, "AGE_62": 301.0, "AGE_65": 252.0, "AGE_65_74": 150.0, "AGE_75_84": 82.0, "AGE_85": 20.0, "AMINDIAN": 3.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 6.0, "AP_BLACK": 1381.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 13.0, "AP_OTHER": 11.0, "AP_WHITE": 61.0, "AREA": 0.19, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 1.9, "BG": "390610069001", "BLACK": 1368.0, "BLOCK": "390610069001000", "BURGLARY": 7, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7516.6639, "F1_RACE": 1437.0, "F2_RACES": 14.0, "FEMALE": 792.0, "FEMALE_18": 623.0, "FEMALE_65": 158.0, "GQ_INSTITU": 32.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 32.0, "HAWAIIAN": 0.0, "HH_FAMILY": 320.0, "HH_NONFAMI": 425.0, "HOUSEHOLDS": 745.0, "HSNG_UNITS": 840.0, "HU_OCCUPIE": 745.0, "HU_VACANT": 95.0, "ID": 703426.0, "IN_HOUSEHO": 1419.0, "MALE": 659.0, "MALE_18": 473.0, "MALE_65": 94.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 1438.0, "OCCHU_OWNE": 202.0, "OCCHU_RENT": 543.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 2.27, "POPULATION": 1451.0, "RENTER_SIZ": 1.77, "THEFT": 17, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 55.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49984300046371, 39.14125999987244, -84.49884300046381, 39.141559999872406], "geometry": {"coordinates": [[[-84.49884300046381, 39.141559999872406], [-84.49884300046381, 39.14125999987244], [-84.49984300046371, 39.14125999987244], [-84.49974300046372, 39.141559999872406], [-84.49884300046381, 39.141559999872406]]], "type": "Polygon"}, "id": "443", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.29, "BG": "390610067003", "BLACK": 23.0, "BLOCK": "390610067003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21796.2254, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 3.0, "ID": 703460.0, "IN_HOUSEHO": 23.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 23.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50024300046367, 39.141559999872406, -84.49814300046388, 39.143959999872195], "geometry": {"coordinates": [[[-84.50014300046368, 39.143559999872224], [-84.5000430004637, 39.143959999872195], [-84.49884300046384, 39.1438599998722], [-84.49894300046381, 39.14245999987232], [-84.4981430004639, 39.14235999987234], [-84.49814300046388, 39.14155999987243], [-84.49884300046381, 39.141559999872406], [-84.49974300046372, 39.141559999872406], [-84.50024300046367, 39.1416599998724], [-84.50024300046367, 39.1425599998723], [-84.50014300046368, 39.143559999872224]]], "type": "Polygon"}, "id": "444", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.64, "BG": "390610067003", "BLACK": 28.0, "BLOCK": "390610067003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2125.5272, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 32.0, "ID": 703476.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 29.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49894300046381, 39.14235999987234, -84.49794300046392, 39.1438599998722], "geometry": {"coordinates": [[[-84.49894300046381, 39.14245999987232], [-84.49884300046384, 39.1438599998722], [-84.49794300046392, 39.1438599998722], [-84.49794300046392, 39.143159999872275], [-84.4981430004639, 39.14235999987234], [-84.49894300046381, 39.14245999987232]]], "type": "Polygon"}, "id": "445", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 8.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 11.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 66.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.29, "AVG_HHSIZE": 3.53, "BG": "390610067003", "BLACK": 65.0, "BLOCK": "390610067003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13813.8186, "F1_RACE": 66.0, "F2_RACES": 1.0, "FEMALE": 35.0, "FEMALE_18": 21.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 13.0, "ID": 703500.0, "IN_HOUSEHO": 67.0, "MALE": 32.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 67.0, "RENTER_SIZ": 4.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5000430004637, 39.1438599998722, -84.49774300046396, 39.14485999987211], "geometry": {"coordinates": [[[-84.5000430004637, 39.143959999872195], [-84.49994300046373, 39.14485999987211], [-84.49774300046396, 39.144759999872115], [-84.49794300046392, 39.1438599998722], [-84.49884300046384, 39.1438599998722], [-84.5000430004637, 39.143959999872195]]], "type": "Polygon"}, "id": "446", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 41.0, "AGE_20_24": 6.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 4.0, "AGE_55_59": 5.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.83, "BG": "390610067003", "BLACK": 68.0, "BLOCK": "390610067003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9206.2354, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 10.0, "ID": 703519.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.4, "POPULATION": 68.0, "RENTER_SIZ": 2.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49994300046373, 39.144759999872115, -84.49774300046396, 39.14605999987199], "geometry": {"coordinates": [[[-84.49994300046373, 39.14485999987211], [-84.49984300046374, 39.14605999987198], [-84.49904300046383, 39.14605999987199], [-84.49774300046397, 39.145959999872], [-84.49774300046396, 39.144759999872115], [-84.49994300046373, 39.14485999987211]]], "type": "Polygon"}, "id": "447", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.43, "BG": "390610068002", "BLACK": 9.0, "BLOCK": "390610068002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1028.9523, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 2.0, "ID": 703537.0, "IN_HOUSEHO": 10.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 10.0, "RENTER_SIZ": 1.43, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4981430004639, 39.14225999987239, -84.49454300046429, 39.143159999872275], "geometry": {"coordinates": [[[-84.4981430004639, 39.14235999987234], [-84.49794300046392, 39.143159999872275], [-84.49454300046429, 39.142859999872286], [-84.49464300046427, 39.14225999987239], [-84.49664300046405, 39.14235999987234], [-84.4981430004639, 39.14235999987234]]], "type": "Polygon"}, "id": "448", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 25.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 7.0, "AGE_21": 90.0, "AGE_25_34": 22.0, "AGE_35_44": 33.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 29.0, "AGE_60_64": 3.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 1.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 166.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.13, "BG": "390610067003", "BLACK": 166.0, "BLOCK": "390610067003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18917.468, "F1_RACE": 166.0, "F2_RACES": 0.0, "FEMALE": 108.0, "FEMALE_18": 61.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 40.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 53.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 53.0, "HU_VACANT": 16.0, "ID": 703556.0, "IN_HOUSEHO": 166.0, "MALE": 58.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 166.0, "RENTER_SIZ": 3.33, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.144559999872136, -84.49514300046425, 39.145959999872], "geometry": {"coordinates": [[[-84.49774300046396, 39.144759999872115], [-84.49774300046397, 39.145959999872], [-84.49514300046425, 39.14575999987203], [-84.49534300046422, 39.144559999872136], [-84.49774300046396, 39.144759999872115]]], "type": "Polygon"}, "id": "449", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 10.0, "AGE_15_19": 11.0, "AGE_18": 166.0, "AGE_20_24": 16.0, "AGE_21": 152.0, "AGE_25_34": 23.0, "AGE_35_44": 34.0, "AGE_45_54": 37.0, "AGE_55_59": 11.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 32.0, "AGE_65": 29.0, "AGE_65_74": 16.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 203.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.94, "AVG_HHSIZE": 1.51, "BG": "390610068002", "BLACK": 195.0, "BLOCK": "390610068002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18334.4967, "F1_RACE": 197.0, "F2_RACES": 8.0, "FEMALE": 94.0, "FEMALE_18": 79.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 136.0, "HSNG_UNITS": 148.0, "HU_OCCUPIE": 136.0, "HU_VACANT": 12.0, "ID": 703574.0, "IN_HOUSEHO": 205.0, "MALE": 111.0, "MALE_18": 87.0, "MALE_65": 8.0, "MEDIAN_AGE": 40.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 135.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 9.0, "POPULATION": 205.0, "RENTER_SIZ": 1.45, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49904300046383, 39.145959999872, -84.49624300046413, 39.15045999987158], "geometry": {"coordinates": [[[-84.49774300046397, 39.145959999872], [-84.49904300046383, 39.14605999987199], [-84.49884300046386, 39.149359999871685], [-84.49874300046388, 39.14965999987165], [-84.49794300046398, 39.15045999987158], [-84.497643000464, 39.15025999987161], [-84.49704300046406, 39.14965999987167], [-84.49704300046406, 39.148759999871736], [-84.49624300046413, 39.148759999871736], [-84.49644300046413, 39.14835999987178], [-84.49734300046401, 39.147459999871856], [-84.49774300046397, 39.145959999872]]], "type": "Polygon"}, "id": "450", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 19.0, "AGE_15_19": 15.0, "AGE_18": 207.0, "AGE_20_24": 22.0, "AGE_21": 197.0, "AGE_25_34": 23.0, "AGE_35_44": 31.0, "AGE_45_54": 28.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 4.0, "AGE_62": 81.0, "AGE_65": 80.0, "AGE_65_74": 21.0, "AGE_75_84": 34.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 271.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.24, "BG": "390610068002", "BLACK": 268.0, "BLOCK": "390610068002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10353.2885, "F1_RACE": 277.0, "F2_RACES": 3.0, "FEMALE": 178.0, "FEMALE_18": 134.0, "FEMALE_65": 53.0, "GQ_INSTITU": 58.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 58.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 116.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 17.0, "ID": 703592.0, "IN_HOUSEHO": 222.0, "MALE": 102.0, "MALE_18": 73.0, "MALE_65": 27.0, "MEDIAN_AGE": 40.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 280.0, "OCCHU_OWNE": 33.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.45, "POPULATION": 280.0, "RENTER_SIZ": 2.14, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 9.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.142859999872286, -84.49454300046429, 39.1438599998722], "geometry": {"coordinates": [[[-84.49794300046392, 39.143159999872275], [-84.49794300046392, 39.1438599998722], [-84.49454300046429, 39.14355999987227], [-84.49454300046429, 39.142859999872286], [-84.49794300046392, 39.143159999872275]]], "type": "Polygon"}, "id": "451", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 21.0, "AGE_15_19": 16.0, "AGE_18": 96.0, "AGE_20_24": 7.0, "AGE_21": 91.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 14.0, "AGE_55_59": 4.0, "AGE_5_9": 36.0, "AGE_60_64": 7.0, "AGE_62": 12.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 186.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.82, "BG": "390610067003", "BLACK": 180.0, "BLOCK": "390610067003004", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21107.9915, "F1_RACE": 180.0, "F2_RACES": 6.0, "FEMALE": 110.0, "FEMALE_18": 63.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 18.0, "ID": 703612.0, "IN_HOUSEHO": 186.0, "MALE": 76.0, "MALE_18": 33.0, "MALE_65": 2.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 186.0, "RENTER_SIZ": 2.79, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.14355999987227, -84.49434300046431, 39.144759999872115], "geometry": {"coordinates": [[[-84.49794300046392, 39.1438599998722], [-84.49774300046396, 39.144759999872115], [-84.49534300046422, 39.144559999872136], [-84.49434300046431, 39.14445999987216], [-84.49454300046429, 39.14355999987227], [-84.49794300046392, 39.1438599998722]]], "type": "Polygon"}, "id": "452", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 68.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 3.55, "BG": "390610067003", "BLACK": 102.0, "BLOCK": "390610067003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9461.9681, "F1_RACE": 110.0, "F2_RACES": 0.0, "FEMALE": 62.0, "FEMALE_18": 37.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 36.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 5.0, "ID": 703629.0, "IN_HOUSEHO": 110.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.55, "POPULATION": 110.0, "RENTER_SIZ": 3.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046427, 39.141659999872424, -84.49194300046456, 39.142859999872286], "geometry": {"coordinates": [[[-84.49454300046429, 39.142859999872286], [-84.49194300046456, 39.14255999987233], [-84.49224300046454, 39.14215999987238], [-84.49244300046452, 39.141659999872424], [-84.49464300046427, 39.14195999987242], [-84.49464300046427, 39.14225999987239], [-84.49454300046429, 39.142859999872286]]], "type": "Polygon"}, "id": "453", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 85.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.37, "AVG_HHSIZE": 2.61, "BG": "390610067004", "BLACK": 85.0, "BLOCK": "390610067004004", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10415.8913, "F1_RACE": 86.0, "F2_RACES": 0.0, "FEMALE": 54.0, "FEMALE_18": 40.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 7.0, "ID": 703648.0, "IN_HOUSEHO": 86.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 86.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 86.0, "RENTER_SIZ": 3.07, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49454300046429, 39.14255999987233, -84.49104300046467, 39.14445999987216], "geometry": {"coordinates": [[[-84.49454300046429, 39.14355999987227], [-84.49434300046431, 39.14445999987216], [-84.49104300046467, 39.14415999987221], [-84.4915430004646, 39.143159999872296], [-84.49194300046456, 39.14255999987233], [-84.49454300046429, 39.142859999872286], [-84.49454300046429, 39.14355999987227]]], "type": "Polygon"}, "id": "454", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 703666.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49534300046422, 39.14415999987221, -84.49034300046476, 39.14575999987203], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.49404300046436, 39.145659999872066], [-84.49224300046455, 39.14545999987209], [-84.49034300046476, 39.145359999872106], [-84.49054300046475, 39.14495999987214], [-84.49104300046467, 39.14415999987221], [-84.49434300046431, 39.14445999987216], [-84.49534300046422, 39.144559999872136], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "455", "properties": {"AGE_0_5": 35.0, "AGE_10_14": 32.0, "AGE_15_19": 25.0, "AGE_18": 156.0, "AGE_20_24": 23.0, "AGE_21": 139.0, "AGE_25_34": 35.0, "AGE_35_44": 41.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 40.0, "AGE_60_64": 5.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 3.0, "AP_BLACK": 275.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.62, "BG": "390610068002", "BLACK": 270.0, "BLOCK": "390610068002007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13517.0854, "F1_RACE": 271.0, "F2_RACES": 7.0, "FEMALE": 157.0, "FEMALE_18": 104.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 64.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 106.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 106.0, "HU_VACANT": 22.0, "ID": 703686.0, "IN_HOUSEHO": 278.0, "MALE": 121.0, "MALE_18": 52.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 275.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 101.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 278.0, "RENTER_SIZ": 2.67, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.14575999987203, -84.4948430004643, 39.148759999871736], "geometry": {"coordinates": [[[-84.49624300046413, 39.148759999871736], [-84.4948430004643, 39.14865999987177], [-84.4948430004643, 39.14845999987178], [-84.49514300046425, 39.14575999987203], [-84.49774300046397, 39.145959999872], [-84.49734300046401, 39.147459999871856], [-84.49644300046413, 39.14835999987178], [-84.49624300046413, 39.148759999871736]]], "type": "Polygon"}, "id": "456", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 0.0, "AGE_18": 38.0, "AGE_20_24": 4.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.28, "BG": "390610068002", "BLACK": 43.0, "BLOCK": "390610068002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2300.5913, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 3.0, "GQ_INSTITU": 13.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 13.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 7.0, "ID": 703708.0, "IN_HOUSEHO": 41.0, "MALE": 20.0, "MALE_18": 9.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 54.0, "RENTER_SIZ": 2.46, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006800", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}], "type": "FeatureCollection"});\n", "\n", " \n", " \n", - " geo_json_31a9c17b915c6c92224aa9698b8c984d.bindTooltip(\n", + " geo_json_fd903d47616b570050e85cb36a0bb1cf.bindTooltip(\n", " function(layer){\n", " let div = L.DomUtil.create('div');\n", " \n", @@ -349,16 +471,16 @@ " ,{"className": "foliumtooltip", "sticky": true});\n", " \n", " \n", - " geo_json_31a9c17b915c6c92224aa9698b8c984d.addTo(map_f80614eb6911d39d6365fd2fc45c2f4f);\n", + " geo_json_fd903d47616b570050e85cb36a0bb1cf.addTo(map_733292c25dab552b9eb7ac5e694d14dc);\n", " \n", "</script>\n", "</html>\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen>" ], "text/plain": [ - "" + "" ] }, - "execution_count": 5, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -378,15 +500,15 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "id": "151d7f77-042f-40b2-b0d0-a1aa90268ed2", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.462894Z", - "iopub.status.busy": "2024-07-24T16:20:28.462617Z", - "iopub.status.idle": "2024-07-24T16:20:28.618908Z", - "shell.execute_reply": "2024-07-24T16:20:28.618494Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.462883Z" + "iopub.execute_input": "2024-07-24T16:41:32.029010Z", + "iopub.status.busy": "2024-07-24T16:41:32.028794Z", + "iopub.status.idle": "2024-07-24T16:41:32.211383Z", + "shell.execute_reply": "2024-07-24T16:41:32.211083Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.028995Z" } }, "outputs": [], @@ -404,41 +526,93 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, + "id": "f4eed567-9259-47b6-a251-4a5266dbb59f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:41:32.212232Z", + "iopub.status.busy": "2024-07-24T16:41:32.211986Z", + "iopub.status.idle": "2024-07-24T16:41:32.220188Z", + "shell.execute_reply": "2024-07-24T16:41:32.219445Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.212222Z" + } + }, + "outputs": [], + "source": [ + "colors = get_color_array(df.DENSITY.values, scheme='quantiles',)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f1d9986f-d9b7-4116-bd29-a0f61869085c", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:41:32.220890Z", + "iopub.status.busy": "2024-07-24T16:41:32.220794Z", + "iopub.status.idle": "2024-07-24T16:41:32.225607Z", + "shell.execute_reply": "2024-07-24T16:41:32.225071Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.220881Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 58, 82, 139, 255],\n", + " [ 32, 144, 140, 255],\n", + " [ 58, 82, 139, 255],\n", + " ...,\n", + " [ 68, 1, 84, 255],\n", + " [ 94, 201, 97, 255],\n", + " [ 58, 82, 139, 255]], dtype=uint8)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "colors" + ] + }, + { + "cell_type": "code", + "execution_count": 11, "id": "b52bf815-aa3d-41c6-bc1d-d9fdcb730c68", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.619644Z", - "iopub.status.busy": "2024-07-24T16:20:28.619485Z", - "iopub.status.idle": "2024-07-24T16:20:28.683058Z", - "shell.execute_reply": "2024-07-24T16:20:28.682679Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.619632Z" + "iopub.execute_input": "2024-07-24T16:41:32.226276Z", + "iopub.status.busy": "2024-07-24T16:41:32.226184Z", + "iopub.status.idle": "2024-07-24T16:41:32.276158Z", + "shell.execute_reply": "2024-07-24T16:41:32.275714Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.226265Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0c00e1efe45f4c4bb40ccc80a3d98094", + "model_id": "d8571bbdcb16415fa6ea105f2b72677f", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "Map(layers=[PolygonLayer(get_fill_color=\n", + "Map(layers=[PolygonLayer(get_fill_color=\n", "[\n", " [\n", " 58,\n", " …" ] }, - "execution_count": 7, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# get RGBA instead of hex\n", - "colors = get_color_array(df.DENSITY.values, scheme='quantiles',)\n", "layer = PolygonLayer.from_geopandas(\n", " df, get_fill_color=colors, \n", ")\n", @@ -448,15 +622,15 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 12, "id": "03c6550e-1797-4d05-8e3d-118400c0e033", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.683703Z", - "iopub.status.busy": "2024-07-24T16:20:28.683598Z", - "iopub.status.idle": "2024-07-24T16:20:28.691628Z", - "shell.execute_reply": "2024-07-24T16:20:28.691262Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.683692Z" + "iopub.execute_input": "2024-07-24T16:41:32.276788Z", + "iopub.status.busy": "2024-07-24T16:41:32.276698Z", + "iopub.status.idle": "2024-07-24T16:41:32.288217Z", + "shell.execute_reply": "2024-07-24T16:41:32.287740Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.276779Z" } }, "outputs": [], @@ -474,15 +648,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 13, "id": "864258ec-4fb5-436b-9aa6-f53fd1ad8a2b", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.692208Z", - "iopub.status.busy": "2024-07-24T16:20:28.692119Z", - "iopub.status.idle": "2024-07-24T16:20:28.698937Z", - "shell.execute_reply": "2024-07-24T16:20:28.698508Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.692199Z" + "iopub.execute_input": "2024-07-24T16:41:32.288792Z", + "iopub.status.busy": "2024-07-24T16:41:32.288686Z", + "iopub.status.idle": "2024-07-24T16:41:32.295981Z", + "shell.execute_reply": "2024-07-24T16:41:32.295183Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.288783Z" } }, "outputs": [], @@ -492,15 +666,15 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 14, "id": "d13dcfd4-a3e1-4d5a-b7bd-35134fa83fab", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.699532Z", - "iopub.status.busy": "2024-07-24T16:20:28.699410Z", - "iopub.status.idle": "2024-07-24T16:20:28.704198Z", - "shell.execute_reply": "2024-07-24T16:20:28.703828Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.699522Z" + "iopub.execute_input": "2024-07-24T16:41:32.296828Z", + "iopub.status.busy": "2024-07-24T16:41:32.296686Z", + "iopub.status.idle": "2024-07-24T16:41:32.301955Z", + "shell.execute_reply": "2024-07-24T16:41:32.301637Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.296817Z" } }, "outputs": [], @@ -510,15 +684,55 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 15, + "id": "2e6c5db6-d7ea-4baa-b2bb-fac4b5ba7ecd", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-24T16:41:32.302537Z", + "iopub.status.busy": "2024-07-24T16:41:32.302443Z", + "iopub.status.idle": "2024-07-24T16:41:32.307176Z", + "shell.execute_reply": "2024-07-24T16:41:32.306913Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.302528Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 [58.0, 82.0, 139.0, 255.0]\n", + "1 [32.0, 144.0, 140.0, 255.0]\n", + "2 [58.0, 82.0, 139.0, 255.0]\n", + "3 [253.0, 231.0, 36.0, 255.0]\n", + "4 [58.0, 82.0, 139.0, 255.0]\n", + " ... \n", + "452 [32.0, 144.0, 140.0, 255.0]\n", + "453 [32.0, 144.0, 140.0, 255.0]\n", + "454 [68.0, 1.0, 84.0, 255.0]\n", + "455 [94.0, 201.0, 97.0, 255.0]\n", + "456 [58.0, 82.0, 139.0, 255.0]\n", + "Name: fill, Length: 457, dtype: object" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['fill']" + ] + }, + { + "cell_type": "code", + "execution_count": 16, "id": "7e2f40d5-243b-41e7-99e1-2ab1f94b23ff", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:20:28.704838Z", - "iopub.status.busy": "2024-07-24T16:20:28.704748Z", - "iopub.status.idle": "2024-07-24T16:20:28.843360Z", - "shell.execute_reply": "2024-07-24T16:20:28.842928Z", - "shell.execute_reply.started": "2024-07-24T16:20:28.704830Z" + "iopub.execute_input": "2024-07-24T16:41:32.307760Z", + "iopub.status.busy": "2024-07-24T16:41:32.307664Z", + "iopub.status.idle": "2024-07-24T16:41:32.449826Z", + "shell.execute_reply": "2024-07-24T16:41:32.449188Z", + "shell.execute_reply.started": "2024-07-24T16:41:32.307747Z" } }, "outputs": [ @@ -565,11 +779,8 @@ " const container = document.getElementById('deck-container');\n", " const jsonInput = {\n", " "initialViewState": {\n", - " "bearing": -40,\n", " "latitude": 39.131503402108,\n", " "longitude": -84.49709440453084,\n", - " "maxZoom": 16,\n", - " "pitch": 25,\n", " "zoom": 12\n", " },\n", " "layers": [\n", @@ -21560,7 +21771,7 @@ " }\n", " ],\n", " "getFillColor": "@@=fill",\n", - " "id": "8d459d85-e311-42ef-b2b3-af69c3ec9260",\n", + " "id": "64936343-2328-4204-9128-175960bdd026",\n", " "opacity": 0.8,\n", " "pickable": true\n", " }\n", @@ -21594,11 +21805,8 @@ "text/plain": [ "{\n", " \"initialViewState\": {\n", - " \"bearing\": -40,\n", " \"latitude\": 39.131503402108,\n", " \"longitude\": -84.49709440453084,\n", - " \"maxZoom\": 16,\n", - " \"pitch\": 25,\n", " \"zoom\": 12\n", " },\n", " \"layers\": [\n", @@ -42589,7 +42797,7 @@ " }\n", " ],\n", " \"getFillColor\": \"@@=fill\",\n", - " \"id\": \"8d459d85-e311-42ef-b2b3-af69c3ec9260\",\n", + " \"id\": \"64936343-2328-4204-9128-175960bdd026\",\n", " \"opacity\": 0.8,\n", " \"pickable\": true\n", " }\n", @@ -42605,7 +42813,7 @@ "}" ] }, - "execution_count": 11, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -42627,9 +42835,6 @@ " \"latitude\": df.unary_union.centroid.y,\n", " \"longitude\": df.unary_union.centroid.x,\n", " \"zoom\": 12,\n", - " \"maxZoom\": 16,\n", - " \"pitch\": 25,\n", - " \"bearing\": -40,\n", " }\n", ")\n", "D = pdk.Deck(\n", @@ -42671,7 +42876,13 @@ "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { - "0981202e38bf47309f796be09957dee8": { + "0b1aed76adae44d2975c40f81eb67bc3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "0e8d7b3acd1d4f44801ce614badc7007": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42679,73 +42890,64 @@ "_model_module": "@deck.gl/jupyter-widget", "_model_name": "JupyterTransportModel", "_view_name": "ErrorWidgetView", - "carto_key": null, + "carto_key": "", "configuration": null, - "custom_libraries": [], + "custom_libraries": null, "data_buffer": null, "error": {}, - "google_maps_key": null, + "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_12e39e92226d490b894852a07a8831a9", - "mapbox_key": null, + "layout": "IPY_MODEL_cb66855af1114d3a96c4a79ccd6e09a3", + "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "0a27325539de4de7bb91db85f4ec5423": { + "2a268e7e985445b2b3d84555a6cd9bde": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, - "0c00e1efe45f4c4bb40ccc80a3d98094": { - "model_module": "anywidget", - "model_module_version": "~0.9.*", - "model_name": "AnyModel", + "2cecf8767bd84d1b9b124de996f3e738": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "WidgetModel", "state": { - "_anywidget_id": "lonboard._map.Map", - "_css": ".lonboard-tooltip{font-family:var(--jp-ui-font-family);font-size:var(--jp-ui-font-size1)}.lonboard-tooltip table{border-collapse:collapse}.lonboard-tooltip table tr:nth-child(odd){background-color:#fff}.lonboard-tooltip table tr:nth-child(2n){background-color:#f1f1f1}.lonboard-tooltip td{border:1px solid rgb(204,204,204);padding:5px}.lonboard-tooltip td:first-child{font-weight:450}\n", - "_esm": "var EJ=Object.create;var $C=Object.defineProperty;var PJ=Object.getOwnPropertyDescriptor;var IJ=Object.getOwnPropertyNames;var CJ=Object.getPrototypeOf,LJ=Object.prototype.hasOwnProperty;var Br=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mA=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},kJ=(e,t,r,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let s of IJ(t))!LJ.call(e,s)&&s!==r&&$C(e,s,{get:()=>t[s],enumerable:!(i=PJ(t,s))||i.enumerable});return e};var Ri=(e,t,r)=>(r=e!=null?EJ(CJ(e)):{},kJ(t||!e||!e.__esModule?$C(r,\"default\",{value:e,enumerable:!0}):r,e));var _z=Br(Di=>{\"use strict\";var r1=Symbol.for(\"react.element\"),RJ=Symbol.for(\"react.portal\"),DJ=Symbol.for(\"react.fragment\"),OJ=Symbol.for(\"react.strict_mode\"),BJ=Symbol.for(\"react.profiler\"),FJ=Symbol.for(\"react.provider\"),zJ=Symbol.for(\"react.context\"),NJ=Symbol.for(\"react.forward_ref\"),UJ=Symbol.for(\"react.suspense\"),VJ=Symbol.for(\"react.memo\"),jJ=Symbol.for(\"react.lazy\"),az=Symbol.iterator;function GJ(e){return e===null||typeof e!=\"object\"?null:(e=az&&e[az]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var uz={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},hz=Object.assign,fz={};function R_(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}R_.prototype.isReactComponent={};R_.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};R_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function dz(){}dz.prototype=R_.prototype;function KC(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}var JC=KC.prototype=new dz;JC.constructor=KC;hz(JC,R_.prototype);JC.isPureReactComponent=!0;var lz=Array.isArray,pz=Object.prototype.hasOwnProperty,tL={current:null},Az={key:!0,ref:!0,__self:!0,__source:!0};function mz(e,t,r){var i,s={},n=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(n=\"\"+t.key),t)pz.call(t,i)&&!Az.hasOwnProperty(i)&&(s[i]=t[i]);var c=arguments.length-2;if(c===1)s.children=r;else if(1{\"use strict\";yz.exports=_z()});var Iz=Br(zn=>{\"use strict\";function sL(e,t){var r=e.length;e.push(t);t:for(;0>>1,s=e[i];if(0<_T(s,t))e[i]=t,e[r]=s,r=i;else break t}}function Sh(e){return e.length===0?null:e[0]}function vT(e){if(e.length===0)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;t:for(var i=0,s=e.length,n=s>>>1;i_T(c,r))f_T(_,c)?(e[i]=_,e[f]=r,i=f):(e[i]=c,e[o]=r,i=o);else if(f_T(_,r))e[i]=_,e[f]=r,i=f;else break t}}return t}function _T(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance==\"object\"&&typeof performance.now==\"function\"?(vz=performance,zn.unstable_now=function(){return vz.now()}):(rL=Date,xz=rL.now(),zn.unstable_now=function(){return rL.now()-xz});var vz,rL,xz,If=[],gA=[],YJ=1,wu=null,qa=3,xT=!1,_0=!1,n1=!1,Sz=typeof setTimeout==\"function\"?setTimeout:null,Tz=typeof clearTimeout==\"function\"?clearTimeout:null,bz=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function oL(e){for(var t=Sh(gA);t!==null;){if(t.callback===null)vT(gA);else if(t.startTime<=e)vT(gA),t.sortIndex=t.expirationTime,sL(If,t);else break;t=Sh(gA)}}function aL(e){if(n1=!1,oL(e),!_0)if(Sh(If)!==null)_0=!0,cL(lL);else{var t=Sh(gA);t!==null&&uL(aL,t.startTime-e)}}function lL(e,t){_0=!1,n1&&(n1=!1,Tz(s1),s1=-1),xT=!0;var r=qa;try{for(oL(t),wu=Sh(If);wu!==null&&(!(wu.expirationTime>t)||e&&!Pz());){var i=wu.callback;if(typeof i==\"function\"){wu.callback=null,qa=wu.priorityLevel;var s=i(wu.expirationTime<=t);t=zn.unstable_now(),typeof s==\"function\"?wu.callback=s:wu===Sh(If)&&vT(If),oL(t)}else vT(If);wu=Sh(If)}if(wu!==null)var n=!0;else{var o=Sh(gA);o!==null&&uL(aL,o.startTime-t),n=!1}return n}finally{wu=null,qa=r,xT=!1}}var bT=!1,yT=null,s1=-1,Mz=5,Ez=-1;function Pz(){return!(zn.unstable_now()-Eze||125i?(e.sortIndex=r,sL(gA,e),Sh(If)===null&&e===Sh(gA)&&(n1?(Tz(s1),s1=-1):n1=!0,uL(aL,r-i))):(e.sortIndex=s,sL(If,e),_0||xT||(_0=!0,cL(lL))),e};zn.unstable_shouldYield=Pz;zn.unstable_wrapCallback=function(e){var t=qa;return function(){var r=qa;qa=t;try{return e.apply(this,arguments)}finally{qa=r}}}});var Lz=Br((tbt,Cz)=>{\"use strict\";Cz.exports=Iz()});var O8=Br(Zc=>{\"use strict\";var QJ=Yi(),Hc=Lz();function Pe(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),RL=Object.prototype.hasOwnProperty,$J=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,kz={},Rz={};function XJ(e){return RL.call(Rz,e)?!0:RL.call(kz,e)?!1:$J.test(e)?Rz[e]=!0:(kz[e]=!0,!1)}function KJ(e,t,r,i){if(r!==null&&r.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return i?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function JJ(e,t,r,i){if(t===null||typeof t>\"u\"||KJ(e,t,r,i))return!0;if(i)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Sl(e,t,r,i,s,n,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=o}var ga={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ga[e]=new Sl(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ga[t]=new Sl(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ga[e]=new Sl(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ga[e]=new Sl(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ga[e]=new Sl(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ga[e]=new Sl(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ga[e]=new Sl(e,5,!1,e.toLowerCase(),null,!1,!1)});var Tk=/[\\-:]([a-z])/g;function Mk(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!1,!1)});ga.xlinkHref=new Sl(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ek(e,t,r,i){var s=ga.hasOwnProperty(t)?ga[t]:null;(s!==null?s.type!==0:i||!(2c||s[o]!==n[c]){var f=`\n`+s[o].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),f}while(1<=o&&0<=c);break}}}finally{fL=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?p1(e):\"\"}function ttt(e){switch(e.tag){case 5:return p1(e.type);case 16:return p1(\"Lazy\");case 13:return p1(\"Suspense\");case 19:return p1(\"SuspenseList\");case 0:case 2:case 15:return e=dL(e.type,!1),e;case 11:return e=dL(e.type.render,!1),e;case 1:return e=dL(e.type,!0),e;default:return\"\"}}function FL(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case F_:return\"Fragment\";case B_:return\"Portal\";case DL:return\"Profiler\";case Pk:return\"StrictMode\";case OL:return\"Suspense\";case BL:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case U5:return(e.displayName||\"Context\")+\".Consumer\";case N5:return(e._context.displayName||\"Context\")+\".Provider\";case Ik:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Ck:return t=e.displayName||null,t!==null?t:FL(e.type)||\"Memo\";case yA:t=e._payload,e=e._init;try{return FL(e(t))}catch{}}return null}function ett(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return FL(t);case 8:return t===Pk?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==\"function\")return t.displayName||t.name||null;if(typeof t==\"string\")return t}return null}function RA(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function j5(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function rtt(e){var t=j5(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof r<\"u\"&&typeof r.get==\"function\"&&typeof r.set==\"function\"){var s=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=\"\"+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(o){i=\"\"+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ST(e){e._valueTracker||(e._valueTracker=rtt(e))}function G5(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),i=\"\";return e&&(i=j5(e)?e.checked?\"true\":\"false\":e.value),e=i,e!==r?(t.setValue(e),!0):!1}function KT(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function zL(e,t){var r=t.checked;return ms({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Oz(e,t){var r=t.defaultValue==null?\"\":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;r=RA(t.value!=null?t.value:r),e._wrapperState={initialChecked:i,initialValue:r,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function W5(e,t){t=t.checked,t!=null&&Ek(e,\"checked\",t,!1)}function NL(e,t){W5(e,t);var r=RA(t.value),i=t.type;if(r!=null)i===\"number\"?(r===0&&e.value===\"\"||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(i===\"submit\"||i===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?UL(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&UL(e,t.type,RA(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Bz(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var i=t.type;if(!(i!==\"submit\"&&i!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,r!==\"\"&&(e.name=r)}function UL(e,t,r){(t!==\"number\"||KT(e.ownerDocument)!==e)&&(r==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}var A1=Array.isArray;function Y_(e,t,r,i){if(e=e.options,t){t={};for(var s=0;s\"+t.valueOf().toString()+\"\",t=TT.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function P1(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var _1={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},itt=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(_1).forEach(function(e){itt.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_1[t]=_1[e]})});function Y5(e,t,r){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":r||typeof t!=\"number\"||t===0||_1.hasOwnProperty(e)&&_1[e]?(\"\"+t).trim():t+\"px\"}function Q5(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var i=r.indexOf(\"--\")===0,s=Y5(r,t[r],i);r===\"float\"&&(r=\"cssFloat\"),i?e.setProperty(r,s):e[r]=s}}var ntt=ms({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function GL(e,t){if(t){if(ntt[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Pe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Pe(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(Pe(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(Pe(62))}}function WL(e,t){if(e.indexOf(\"-\")===-1)return typeof t.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var HL=null;function Lk(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var qL=null,Q_=null,$_=null;function Nz(e){if(e=q1(e)){if(typeof qL!=\"function\")throw Error(Pe(280));var t=e.stateNode;t&&(t=MM(t),qL(e.stateNode,e.type,t))}}function $5(e){Q_?$_?$_.push(e):$_=[e]:Q_=e}function X5(){if(Q_){var e=Q_,t=$_;if($_=Q_=null,Nz(e),t)for(e=0;e>>=0,e===0?32:31-(Att(e)/mtt|0)|0}var MT=64,ET=4194304;function m1(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rM(e,t){var r=e.pendingLanes;if(r===0)return 0;var i=0,s=e.suspendedLanes,n=e.pingedLanes,o=r&268435455;if(o!==0){var c=o&~s;c!==0?i=m1(c):(n&=o,n!==0&&(i=m1(n)))}else o=r&~s,o!==0?i=m1(o):n!==0&&(i=m1(n));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,n=t&-t,s>=n||s===16&&(n&4194240)!==0))return t;if(i&4&&(i|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0r;r++)t.push(e);return t}function W1(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ih(t),e[t]=r}function vtt(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=v1),Yz=\" \",Qz=!1;function gN(e,t){switch(e){case\"keyup\":return Ytt.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function _N(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var z_=!1;function $tt(e,t){switch(e){case\"compositionend\":return _N(t);case\"keypress\":return t.which!==32?null:(Qz=!0,Yz);case\"textInput\":return e=t.data,e===Yz&&Qz?null:e;default:return null}}function Xtt(e,t){if(z_)return e===\"compositionend\"||!Nk&&gN(e,t)?(e=AN(),GT=Bk=wA=null,z_=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=i}t:{for(;r;){if(r.nextSibling){r=r.nextSibling;break t}r=r.parentNode}r=void 0}r=Kz(r)}}function bN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?bN(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wN(){for(var e=window,t=KT();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href==\"string\"}catch{r=!1}if(r)e=t.contentWindow;else break;t=KT(e.document)}return t}function Uk(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}function oet(e){var t=wN(),r=e.focusedElem,i=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&bN(r.ownerDocument.documentElement,r)){if(i!==null&&Uk(r)){if(t=i.start,e=i.end,e===void 0&&(e=t),\"selectionStart\"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,n=Math.min(i.start,s);i=i.end===void 0?n:Math.min(i.end,s),!e.extend&&n>i&&(s=i,i=n,n=s),s=Jz(r,n);var o=Jz(r,i);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),n>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus==\"function\"&&r.focus(),r=0;r=document.documentMode,N_=null,KL=null,b1=null,JL=!1;function t5(e,t,r){var i=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;JL||N_==null||N_!==KT(i)||(i=N_,\"selectionStart\"in i&&Uk(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),b1&&D1(b1,i)||(b1=i,i=sM(KL,\"onSelect\"),0j_||(e.current=sk[j_],sk[j_]=null,j_--)}function Nn(e,t){j_++,sk[j_]=e.current,e.current=t}var DA={},$a=BA(DA),Kl=BA(!1),M0=DA;function ey(e,t){var r=e.type.contextTypes;if(!r)return DA;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in r)s[n]=t[n];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function Jl(e){return e=e.childContextTypes,e!=null}function aM(){Zn(Kl),Zn($a)}function c5(e,t,r){if($a.current!==DA)throw Error(Pe(168));Nn($a,t),Nn(Kl,r)}function kN(e,t,r){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=\"function\")return r;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(Pe(108,ett(e)||\"Unknown\",s));return ms({},r,i)}function lM(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||DA,M0=$a.current,Nn($a,e),Nn(Kl,Kl.current),!0}function u5(e,t,r){var i=e.stateNode;if(!i)throw Error(Pe(169));r?(e=kN(e,t,M0),i.__reactInternalMemoizedMergedChildContext=e,Zn(Kl),Zn($a),Nn($a,e)):Zn(Kl),Nn(Kl,r)}var Wd=null,EM=!1,SL=!1;function RN(e){Wd===null?Wd=[e]:Wd.push(e)}function get(e){EM=!0,RN(e)}function FA(){if(!SL&&Wd!==null){SL=!0;var e=0,t=vn;try{var r=Wd;for(vn=1;e>=o,s-=o,Hd=1<<32-Ih(t)+s|r<qt?(le=Xt,Xt=null):le=Xt.sibling;var ue=R(Y,Xt,J[qt],ut);if(ue===null){Xt===null&&(Xt=le);break}e&&Xt&&ue.alternate===null&&t(Y,Xt),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue,Xt=le}if(qt===J.length)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;qtqt?(le=Xt,Xt=null):le=Xt.sibling;var De=R(Y,Xt,ue.value,ut);if(De===null){Xt===null&&(Xt=le);break}e&&Xt&&De.alternate===null&&t(Y,Xt),K=n(De,K,qt),kt===null?Et=De:kt.sibling=De,kt=De,Xt=le}if(ue.done)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;!ue.done;qt++,ue=J.next())ue=I(Y,ue.value,ut),ue!==null&&(K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return ns&&y0(Y,qt),Et}for(Xt=i(Y,Xt);!ue.done;qt++,ue=J.next())ue=N(Xt,Y,qt,ue.value,ut),ue!==null&&(e&&ue.alternate!==null&&Xt.delete(ue.key===null?qt:ue.key),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return e&&Xt.forEach(function(Ke){return t(Y,Ke)}),ns&&y0(Y,qt),Et}function et(Y,K,J,ut){if(typeof J==\"object\"&&J!==null&&J.type===F_&&J.key===null&&(J=J.props.children),typeof J==\"object\"&&J!==null){switch(J.$$typeof){case wT:t:{for(var Et=J.key,kt=K;kt!==null;){if(kt.key===Et){if(Et=J.type,Et===F_){if(kt.tag===7){r(Y,kt.sibling),K=s(kt,J.props.children),K.return=Y,Y=K;break t}}else if(kt.elementType===Et||typeof Et==\"object\"&&Et!==null&&Et.$$typeof===yA&&d5(Et)===kt.type){r(Y,kt.sibling),K=s(kt,J.props),K.ref=u1(Y,kt,J),K.return=Y,Y=K;break t}r(Y,kt);break}else t(Y,kt);kt=kt.sibling}J.type===F_?(K=T0(J.props.children,Y.mode,ut,J.key),K.return=Y,Y=K):(ut=XT(J.type,J.key,J.props,null,Y.mode,ut),ut.ref=u1(Y,K,J),ut.return=Y,Y=ut)}return o(Y);case B_:t:{for(kt=J.key;K!==null;){if(K.key===kt)if(K.tag===4&&K.stateNode.containerInfo===J.containerInfo&&K.stateNode.implementation===J.implementation){r(Y,K.sibling),K=s(K,J.children||[]),K.return=Y,Y=K;break t}else{r(Y,K);break}else t(Y,K);K=K.sibling}K=kL(J,Y.mode,ut),K.return=Y,Y=K}return o(Y);case yA:return kt=J._init,et(Y,K,kt(J._payload),ut)}if(A1(J))return j(Y,K,J,ut);if(o1(J))return Q(Y,K,J,ut);zT(Y,J)}return typeof J==\"string\"&&J!==\"\"||typeof J==\"number\"?(J=\"\"+J,K!==null&&K.tag===6?(r(Y,K.sibling),K=s(K,J),K.return=Y,Y=K):(r(Y,K),K=LL(J,Y.mode,ut),K.return=Y,Y=K),o(Y)):r(Y,K)}return et}var iy=FN(!0),zN=FN(!1),hM=BA(null),fM=null,H_=null,Wk=null;function Hk(){Wk=H_=fM=null}function qk(e){var t=hM.current;Zn(hM),e._currentValue=t}function lk(e,t,r){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===r)break;e=e.return}}function K_(e,t){fM=e,Wk=H_=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Xl=!0),e.firstContext=null)}function Pu(e){var t=e._currentValue;if(Wk!==e)if(e={context:e,memoizedValue:t,next:null},H_===null){if(fM===null)throw Error(Pe(308));H_=e,fM.dependencies={lanes:0,firstContext:e}}else H_=H_.next=e;return t}var b0=null;function Zk(e){b0===null?b0=[e]:b0.push(e)}function NN(e,t,r,i){var s=t.interleaved;return s===null?(r.next=r,Zk(t)):(r.next=s.next,s.next=r),t.interleaved=r,$d(e,i)}function $d(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var vA=!1;function Yk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function UN(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zd(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function IA(e,t,r){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,Zi&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,$d(e,r)}return s=i.interleaved,s===null?(t.next=t,Zk(i)):(t.next=s.next,s.next=t),i.interleaved=t,$d(e,r)}function HT(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}function p5(e,t){var r=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,r===i)){var s=null,n=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};n===null?s=n=o:n=n.next=o,r=r.next}while(r!==null);n===null?s=n=t:n=n.next=t}else s=n=t;r={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:i.shared,effects:i.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function dM(e,t,r,i){var s=e.updateQueue;vA=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,c=s.shared.pending;if(c!==null){s.shared.pending=null;var f=c,_=f.next;f.next=null,o===null?n=_:o.next=_,o=f;var w=e.alternate;w!==null&&(w=w.updateQueue,c=w.lastBaseUpdate,c!==o&&(c===null?w.firstBaseUpdate=_:c.next=_,w.lastBaseUpdate=f))}if(n!==null){var I=s.baseState;o=0,w=_=f=null,c=n;do{var R=c.lane,N=c.eventTime;if((i&R)===R){w!==null&&(w=w.next={eventTime:N,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});t:{var j=e,Q=c;switch(R=t,N=r,Q.tag){case 1:if(j=Q.payload,typeof j==\"function\"){I=j.call(N,I,R);break t}I=j;break t;case 3:j.flags=j.flags&-65537|128;case 0:if(j=Q.payload,R=typeof j==\"function\"?j.call(N,I,R):j,R==null)break t;I=ms({},I,R);break t;case 2:vA=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,R=s.effects,R===null?s.effects=[c]:R.push(c))}else N={eventTime:N,lane:R,tag:c.tag,payload:c.payload,callback:c.callback,next:null},w===null?(_=w=N,f=I):w=w.next=N,o|=R;if(c=c.next,c===null){if(c=s.shared.pending,c===null)break;R=c,c=R.next,R.next=null,s.lastBaseUpdate=R,s.shared.pending=null}}while(!0);if(w===null&&(f=I),s.baseState=f,s.firstBaseUpdate=_,s.lastBaseUpdate=w,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else n===null&&(s.shared.lanes=0);I0|=o,e.lanes=o,e.memoizedState=I}}function A5(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var i=ML.transition;ML.transition={};try{e(!1),t()}finally{vn=r,ML.transition=i}}function i8(){return Iu().memoizedState}function xet(e,t,r){var i=LA(e);if(r={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null},n8(e))s8(t,r);else if(r=NN(e,t,r,i),r!==null){var s=wl();Ch(r,e,i,s),o8(r,t,i)}}function bet(e,t,r){var i=LA(e),s={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null};if(n8(e))s8(t,s);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,c=n(o,r);if(s.hasEagerState=!0,s.eagerState=c,Lh(c,o)){var f=t.interleaved;f===null?(s.next=s,Zk(t)):(s.next=f.next,f.next=s),t.interleaved=s;return}}catch{}finally{}r=NN(e,t,s,i),r!==null&&(s=wl(),Ch(r,e,i,s),o8(r,t,i))}}function n8(e){var t=e.alternate;return e===As||t!==null&&t===As}function s8(e,t){w1=AM=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function o8(e,t,r){if(r&4194240){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}var mM={readContext:Pu,useCallback:Za,useContext:Za,useEffect:Za,useImperativeHandle:Za,useInsertionEffect:Za,useLayoutEffect:Za,useMemo:Za,useReducer:Za,useRef:Za,useState:Za,useDebugValue:Za,useDeferredValue:Za,useTransition:Za,useMutableSource:Za,useSyncExternalStore:Za,useId:Za,unstable_isNewReconciler:!1},wet={readContext:Pu,useCallback:function(e,t){return Lf().memoizedState=[e,t===void 0?null:t],e},useContext:Pu,useEffect:g5,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ZT(4194308,4,KN.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ZT(4194308,4,e,t)},useInsertionEffect:function(e,t){return ZT(4,2,e,t)},useMemo:function(e,t){var r=Lf();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var i=Lf();return t=r!==void 0?r(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=xet.bind(null,As,e),[i.memoizedState,e]},useRef:function(e){var t=Lf();return e={current:e},t.memoizedState=e},useState:m5,useDebugValue:r4,useDeferredValue:function(e){return Lf().memoizedState=e},useTransition:function(){var e=m5(!1),t=e[0];return e=vet.bind(null,e[1]),Lf().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var i=As,s=Lf();if(ns){if(r===void 0)throw Error(Pe(407));r=r()}else{if(r=t(),Jo===null)throw Error(Pe(349));P0&30||WN(i,t,r)}s.memoizedState=r;var n={value:r,getSnapshot:t};return s.queue=n,g5(qN.bind(null,i,n,e),[e]),i.flags|=2048,j1(9,HN.bind(null,i,n,r,t),void 0,null),r},useId:function(){var e=Lf(),t=Jo.identifierPrefix;if(ns){var r=qd,i=Hd;r=(i&~(1<<32-Ih(i)-1)).toString(32)+r,t=\":\"+t+\"R\"+r,r=U1++,0<\\/script>\",e=e.removeChild(e.firstChild)):typeof i.is==\"string\"?e=o.createElement(r,{is:i.is}):(e=o.createElement(r),r===\"select\"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,r),e[kf]=t,e[F1]=i,m8(e,t,!1,!1),t.stateNode=e;t:{switch(o=WL(r,i),r){case\"dialog\":qn(\"cancel\",e),qn(\"close\",e),s=i;break;case\"iframe\":case\"object\":case\"embed\":qn(\"load\",e),s=i;break;case\"video\":case\"audio\":for(s=0;soy&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304)}else{if(!i)if(e=pM(o),e!==null){if(t.flags|=128,i=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),h1(n,!0),n.tail===null&&n.tailMode===\"hidden\"&&!o.alternate&&!ns)return Ya(t),null}else 2*Xs()-n.renderingStartTime>oy&&r!==1073741824&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(r=n.last,r!==null?r.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Xs(),t.sibling=null,r=ps.current,Nn(ps,i?r&1|2:r&1),t):(Ya(t),null);case 22:case 23:return l4(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?jc&1073741824&&(Ya(t),t.subtreeFlags&6&&(t.flags|=8192)):Ya(t),null;case 24:return null;case 25:return null}throw Error(Pe(156,t.tag))}function ket(e,t){switch(jk(t),t.tag){case 1:return Jl(t.type)&&aM(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ny(),Zn(Kl),Zn($a),Xk(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $k(t),null;case 13:if(Zn(ps),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Pe(340));ry()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Zn(ps),null;case 4:return ny(),null;case 10:return qk(t.type._context),null;case 22:case 23:return l4(),null;case 24:return null;default:return null}}var UT=!1,Qa=!1,Ret=typeof WeakSet==\"function\"?WeakSet:Set,ur=null;function q_(e,t){var r=e.ref;if(r!==null)if(typeof r==\"function\")try{r(null)}catch(i){Cs(e,t,i)}else r.current=null}function gk(e,t,r){try{r()}catch(i){Cs(e,t,i)}}var P5=!1;function Det(e,t){if(tk=iM,e=wN(),Uk(e)){if(\"selectionStart\"in e)var r={start:e.selectionStart,end:e.selectionEnd};else t:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var s=i.anchorOffset,n=i.focusNode;i=i.focusOffset;try{r.nodeType,n.nodeType}catch{r=null;break t}var o=0,c=-1,f=-1,_=0,w=0,I=e,R=null;e:for(;;){for(var N;I!==r||s!==0&&I.nodeType!==3||(c=o+s),I!==n||i!==0&&I.nodeType!==3||(f=o+i),I.nodeType===3&&(o+=I.nodeValue.length),(N=I.firstChild)!==null;)R=I,I=N;for(;;){if(I===e)break e;if(R===r&&++_===s&&(c=o),R===n&&++w===i&&(f=o),(N=I.nextSibling)!==null)break;I=R,R=I.parentNode}I=N}r=c===-1||f===-1?null:{start:c,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(ek={focusedElem:e,selectionRange:r},iM=!1,ur=t;ur!==null;)if(t=ur,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ur=e;else for(;ur!==null;){t=ur;try{var j=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(j!==null){var Q=j.memoizedProps,et=j.memoizedState,Y=t.stateNode,K=Y.getSnapshotBeforeUpdate(t.elementType===t.type?Q:Mh(t.type,Q),et);Y.__reactInternalSnapshotBeforeUpdate=K}break;case 3:var J=t.stateNode.containerInfo;J.nodeType===1?J.textContent=\"\":J.nodeType===9&&J.documentElement&&J.removeChild(J.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Pe(163))}}catch(ut){Cs(t,t.return,ut)}if(e=t.sibling,e!==null){e.return=t.return,ur=e;break}ur=t.return}return j=P5,P5=!1,j}function S1(e,t,r){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&e)===e){var n=s.destroy;s.destroy=void 0,n!==void 0&&gk(t,r,n)}s=s.next}while(s!==i)}}function CM(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var i=r.create;r.destroy=i()}r=r.next}while(r!==t)}}function _k(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t==\"function\"?t(e):t.current=e}}function y8(e){var t=e.alternate;t!==null&&(e.alternate=null,y8(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[kf],delete t[F1],delete t[nk],delete t[Aet],delete t[met])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function v8(e){return e.tag===5||e.tag===3||e.tag===4}function I5(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||v8(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=oM));else if(i!==4&&(e=e.child,e!==null))for(yk(e,t,r),e=e.sibling;e!==null;)yk(e,t,r),e=e.sibling}function vk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(vk(e,t,r),e=e.sibling;e!==null;)vk(e,t,r),e=e.sibling}var Aa=null,Eh=!1;function _A(e,t,r){for(r=r.child;r!==null;)x8(e,t,r),r=r.sibling}function x8(e,t,r){if(Rf&&typeof Rf.onCommitFiberUnmount==\"function\")try{Rf.onCommitFiberUnmount(bM,r)}catch{}switch(r.tag){case 5:Qa||q_(r,t);case 6:var i=Aa,s=Eh;Aa=null,_A(e,t,r),Aa=i,Eh=s,Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Aa.removeChild(r.stateNode));break;case 18:Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?wL(e.parentNode,r):e.nodeType===1&&wL(e,r),k1(e)):wL(Aa,r.stateNode));break;case 4:i=Aa,s=Eh,Aa=r.stateNode.containerInfo,Eh=!0,_A(e,t,r),Aa=i,Eh=s;break;case 0:case 11:case 14:case 15:if(!Qa&&(i=r.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var n=s,o=n.destroy;n=n.tag,o!==void 0&&(n&2||n&4)&&gk(r,t,o),s=s.next}while(s!==i)}_A(e,t,r);break;case 1:if(!Qa&&(q_(r,t),i=r.stateNode,typeof i.componentWillUnmount==\"function\"))try{i.props=r.memoizedProps,i.state=r.memoizedState,i.componentWillUnmount()}catch(c){Cs(r,t,c)}_A(e,t,r);break;case 21:_A(e,t,r);break;case 22:r.mode&1?(Qa=(i=Qa)||r.memoizedState!==null,_A(e,t,r),Qa=i):_A(e,t,r);break;default:_A(e,t,r)}}function C5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Ret),t.forEach(function(i){var s=Get.bind(null,e,i);r.has(i)||(r.add(i),i.then(s,s))})}}function Th(e,t){var r=t.deletions;if(r!==null)for(var i=0;is&&(s=o),i&=~n}if(i=s,i=Xs()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Bet(i/1960))-i,10e?16:e,SA===null)var i=!1;else{if(e=SA,SA=null,yM=0,Zi&6)throw Error(Pe(331));var s=Zi;for(Zi|=4,ur=e.current;ur!==null;){var n=ur,o=n.child;if(ur.flags&16){var c=n.deletions;if(c!==null){for(var f=0;fXs()-o4?S0(e,0):s4|=r),tc(e,t)}function I8(e,t){t===0&&(e.mode&1?(t=ET,ET<<=1,!(ET&130023424)&&(ET=4194304)):t=1);var r=wl();e=$d(e,t),e!==null&&(W1(e,t,r),tc(e,r))}function jet(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),I8(e,r)}function Get(e,t){var r=0;switch(e.tag){case 13:var i=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(Pe(314))}i!==null&&i.delete(t),I8(e,r)}var C8;C8=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Kl.current)Xl=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Xl=!1,Cet(e,t,r);Xl=!!(e.flags&131072)}else Xl=!1,ns&&t.flags&1048576&&DN(t,uM,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;YT(e,t),e=t.pendingProps;var s=ey(t,$a.current);K_(t,r),s=Jk(null,t,i,e,s,r);var n=t4();return t.flags|=1,typeof s==\"object\"&&s!==null&&typeof s.render==\"function\"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jl(i)?(n=!0,lM(t)):n=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Yk(t),s.updater=IM,t.stateNode=s,s._reactInternals=t,uk(t,i,e,r),t=dk(null,t,i,!0,n,r)):(t.tag=0,ns&&n&&Vk(t),bl(null,t,s,r),t=t.child),t;case 16:i=t.elementType;t:{switch(YT(e,t),e=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=Het(i),e=Mh(i,e),s){case 0:t=fk(null,t,i,e,r);break t;case 1:t=T5(null,t,i,e,r);break t;case 11:t=w5(null,t,i,e,r);break t;case 14:t=S5(null,t,i,Mh(i.type,e),r);break t}throw Error(Pe(306,i,\"\"))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),fk(e,t,i,s,r);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),T5(e,t,i,s,r);case 3:t:{if(d8(t),e===null)throw Error(Pe(387));i=t.pendingProps,n=t.memoizedState,s=n.element,UN(e,t),dM(t,i,null,r);var o=t.memoizedState;if(i=o.element,n.isDehydrated)if(n={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){s=sy(Error(Pe(423)),t),t=M5(e,t,i,r,s);break t}else if(i!==s){s=sy(Error(Pe(424)),t),t=M5(e,t,i,r,s);break t}else for(Gc=PA(t.stateNode.containerInfo.firstChild),Wc=t,ns=!0,Ph=null,r=zN(t,null,i,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ry(),i===s){t=Xd(e,t,r);break t}bl(e,t,i,r)}t=t.child}return t;case 5:return VN(t),e===null&&ak(t),i=t.type,s=t.pendingProps,n=e!==null?e.memoizedProps:null,o=s.children,rk(i,s)?o=null:n!==null&&rk(i,n)&&(t.flags|=32),f8(e,t),bl(e,t,o,r),t.child;case 6:return e===null&&ak(t),null;case 13:return p8(e,t,r);case 4:return Qk(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=iy(t,null,i,r):bl(e,t,i,r),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),w5(e,t,i,s,r);case 7:return bl(e,t,t.pendingProps,r),t.child;case 8:return bl(e,t,t.pendingProps.children,r),t.child;case 12:return bl(e,t,t.pendingProps.children,r),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,n=t.memoizedProps,o=s.value,Nn(hM,i._currentValue),i._currentValue=o,n!==null)if(Lh(n.value,o)){if(n.children===s.children&&!Kl.current){t=Xd(e,t,r);break t}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var c=n.dependencies;if(c!==null){o=n.child;for(var f=c.firstContext;f!==null;){if(f.context===i){if(n.tag===1){f=Zd(-1,r&-r),f.tag=2;var _=n.updateQueue;if(_!==null){_=_.shared;var w=_.pending;w===null?f.next=f:(f.next=w.next,w.next=f),_.pending=f}}n.lanes|=r,f=n.alternate,f!==null&&(f.lanes|=r),lk(n.return,r,t),c.lanes|=r;break}f=f.next}}else if(n.tag===10)o=n.type===t.type?null:n.child;else if(n.tag===18){if(o=n.return,o===null)throw Error(Pe(341));o.lanes|=r,c=o.alternate,c!==null&&(c.lanes|=r),lk(o,r,t),o=n.sibling}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===t){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}bl(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,K_(t,r),s=Pu(s),i=i(s),t.flags|=1,bl(e,t,i,r),t.child;case 14:return i=t.type,s=Mh(i,t.pendingProps),s=Mh(i.type,s),S5(e,t,i,s,r);case 15:return u8(e,t,t.type,t.pendingProps,r);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),YT(e,t),t.tag=1,Jl(i)?(e=!0,lM(t)):e=!1,K_(t,r),a8(t,i,s),uk(t,i,s,r),dk(null,t,i,!0,e,r);case 19:return A8(e,t,r);case 22:return h8(e,t,r)}throw Error(Pe(156,t.tag))};function L8(e,t){return nN(e,t)}function Wet(e,t,r,i){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mu(e,t,r,i){return new Wet(e,t,r,i)}function u4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Het(e){if(typeof e==\"function\")return u4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ik)return 11;if(e===Ck)return 14}return 2}function kA(e,t){var r=e.alternate;return r===null?(r=Mu(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function XT(e,t,r,i,s,n){var o=2;if(i=e,typeof e==\"function\")u4(e)&&(o=1);else if(typeof e==\"string\")o=5;else t:switch(e){case F_:return T0(r.children,s,n,t);case Pk:o=8,s|=8;break;case DL:return e=Mu(12,r,t,s|2),e.elementType=DL,e.lanes=n,e;case OL:return e=Mu(13,r,t,s),e.elementType=OL,e.lanes=n,e;case BL:return e=Mu(19,r,t,s),e.elementType=BL,e.lanes=n,e;case V5:return kM(r,s,n,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case N5:o=10;break t;case U5:o=9;break t;case Ik:o=11;break t;case Ck:o=14;break t;case yA:o=16,i=null;break t}throw Error(Pe(130,e==null?e:typeof e,\"\"))}return t=Mu(o,r,t,s),t.elementType=e,t.type=i,t.lanes=n,t}function T0(e,t,r,i){return e=Mu(7,e,i,t),e.lanes=r,e}function kM(e,t,r,i){return e=Mu(22,e,i,t),e.elementType=V5,e.lanes=r,e.stateNode={isHidden:!1},e}function LL(e,t,r){return e=Mu(6,e,null,t),e.lanes=r,e}function kL(e,t,r){return t=Mu(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qet(e,t,r,i,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=AL(0),this.expirationTimes=AL(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=AL(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function h4(e,t,r,i,s,n,o,c,f){return e=new qet(e,t,r,c,f),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Mu(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:i,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yk(n),e}function Zet(e,t,r){var i=3{\"use strict\";function B8(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(B8)}catch(e){console.error(e)}}B8(),F8.exports=O8()});var N8=Br(A4=>{\"use strict\";var z8=FM();A4.createRoot=z8.createRoot,A4.hydrateRoot=z8.hydrateRoot;var ibt});var eU=Br((T4,M4)=>{(function(e,t){typeof T4==\"object\"&&typeof M4<\"u\"?M4.exports=t():(e=typeof globalThis<\"u\"?globalThis:e||self,e.maplibregl=t())})(T4,function(){\"use strict\";var e,t,r;function i(n,o){if(!e)e=o;else if(!t)t=o;else{var c=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",f={};e(f),r=o(f),typeof window<\"u\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([c],{type:\"text/javascript\"})))}}i([\"exports\"],function(n){\"use strict\";function o(u,a,h,A){return new(h||(h=Promise))(function(x,E){function P(V){try{F(A.next(V))}catch(q){E(q)}}function D(V){try{F(A.throw(V))}catch(q){E(q)}}function F(V){var q;V.done?x(V.value):(q=V.value,q instanceof h?q:new h(function(X){X(q)})).then(P,D)}F((A=A.apply(u,a||[])).next())})}function c(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,\"default\")?u.default:u}typeof SuppressedError==\"function\"&&SuppressedError;var f=_;function _(u,a){this.x=u,this.y=a}_.prototype={clone:function(){return new _(this.x,this.y)},add:function(u){return this.clone()._add(u)},sub:function(u){return this.clone()._sub(u)},multByPoint:function(u){return this.clone()._multByPoint(u)},divByPoint:function(u){return this.clone()._divByPoint(u)},mult:function(u){return this.clone()._mult(u)},div:function(u){return this.clone()._div(u)},rotate:function(u){return this.clone()._rotate(u)},rotateAround:function(u,a){return this.clone()._rotateAround(u,a)},matMult:function(u){return this.clone()._matMult(u)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(u){return this.x===u.x&&this.y===u.y},dist:function(u){return Math.sqrt(this.distSqr(u))},distSqr:function(u){var a=u.x-this.x,h=u.y-this.y;return a*a+h*h},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(u){return Math.atan2(this.y-u.y,this.x-u.x)},angleWith:function(u){return this.angleWithSep(u.x,u.y)},angleWithSep:function(u,a){return Math.atan2(this.x*a-this.y*u,this.x*u+this.y*a)},_matMult:function(u){var a=u[2]*this.x+u[3]*this.y;return this.x=u[0]*this.x+u[1]*this.y,this.y=a,this},_add:function(u){return this.x+=u.x,this.y+=u.y,this},_sub:function(u){return this.x-=u.x,this.y-=u.y,this},_mult:function(u){return this.x*=u,this.y*=u,this},_div:function(u){return this.x/=u,this.y/=u,this},_multByPoint:function(u){return this.x*=u.x,this.y*=u.y,this},_divByPoint:function(u){return this.x/=u.x,this.y/=u.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var u=this.y;return this.y=this.x,this.x=-u,this},_rotate:function(u){var a=Math.cos(u),h=Math.sin(u),A=h*this.x+a*this.y;return this.x=a*this.x-h*this.y,this.y=A,this},_rotateAround:function(u,a){var h=Math.cos(u),A=Math.sin(u),x=a.y+A*(this.x-a.x)+h*(this.y-a.y);return this.x=a.x+h*(this.x-a.x)-A*(this.y-a.y),this.y=x,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},_.convert=function(u){return u instanceof _?u:Array.isArray(u)?new _(u[0],u[1]):u};var w=c(f),I=R;function R(u,a,h,A){this.cx=3*u,this.bx=3*(h-u)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*a,this.by=3*(A-a)-this.cy,this.ay=1-this.cy-this.by,this.p1x=u,this.p1y=a,this.p2x=h,this.p2y=A}R.prototype={sampleCurveX:function(u){return((this.ax*u+this.bx)*u+this.cx)*u},sampleCurveY:function(u){return((this.ay*u+this.by)*u+this.cy)*u},sampleCurveDerivativeX:function(u){return(3*this.ax*u+2*this.bx)*u+this.cx},solveCurveX:function(u,a){if(a===void 0&&(a=1e-6),u<0)return 0;if(u>1)return 1;for(var h=u,A=0;A<8;A++){var x=this.sampleCurveX(h)-u;if(Math.abs(x)x?P=h:D=h,h=.5*(D-P)+P;return h},solve:function(u,a){return this.sampleCurveY(this.solveCurveX(u,a))}};var N=c(I);let j,Q;function et(){return j==null&&(j=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),j}function Y(){if(Q==null&&(Q=!1,et())){let a=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(a){for(let A=0;A<5*5;A++){let x=4*A;a.fillStyle=`rgb(${x},${x+1},${x+2})`,a.fillRect(A%5,Math.floor(A/5),1,1)}let h=a.getImageData(0,0,5,5).data;for(let A=0;A<5*5*4;A++)if(A%4!=3&&h[A]!==A){Q=!0;break}}}return Q||!1}function K(u,a,h,A){let x=new N(u,a,h,A);return function(E){return x.solve(E)}}let J=K(.25,.1,.25,1);function ut(u,a,h){return Math.min(h,Math.max(a,u))}function Et(u,a,h){let A=h-a,x=((u-a)%A+A)%A+a;return x===a?h:x}function kt(u,...a){for(let h of a)for(let A in h)u[A]=h[A];return u}let Xt=1;function qt(u,a,h){let A={};for(let x in u)A[x]=a.call(h||this,u[x],x,u);return A}function le(u,a,h){let A={};for(let x in u)a.call(h||this,u[x],x,u)&&(A[x]=u[x]);return A}function ue(u){return Array.isArray(u)?u.map(ue):typeof u==\"object\"&&u?qt(u,ue):u}let De={};function Ke(u){De[u]||(typeof console<\"u\"&&console.warn(u),De[u]=!0)}function rr(u,a,h){return(h.y-u.y)*(a.x-u.x)>(a.y-u.y)*(h.x-u.x)}function Sr(u){let a=0;for(let h,A,x=0,E=u.length,P=E-1;x\"u\")throw new Error(\"VideoFrame not supported\");let E=new VideoFrame(u,{timestamp:0});try{let P=E?.format;if(!P||!P.startsWith(\"BGR\")&&!P.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${P}`);let D=P.startsWith(\"BGR\"),F=new Uint8ClampedArray(A*x*4);if(yield E.copyTo(F,function(V,q,X,rt,at){let ct=4*Math.max(-q,0),mt=(Math.max(0,X)-X)*rt*4+ct,bt=4*rt,Pt=Math.max(0,q),jt=Math.max(0,X);return{rect:{x:Pt,y:jt,width:Math.min(V.width,q+rt)-Pt,height:Math.min(V.height,X+at)-jt},layout:[{offset:mt,stride:bt}]}}(u,a,h,A,x)),D)for(let V=0;VcancelAnimationFrame(a)}},getImageData(u,a=0){return this.getImageCanvasContext(u).getImageData(-a,-a,u.width+2*a,u.height+2*a)},getImageCanvasContext(u){let a=window.document.createElement(\"canvas\"),h=a.getContext(\"2d\",{willReadFrequently:!0});if(!h)throw new Error(\"failed to create canvas 2d context\");return a.width=u.width,a.height=u.height,h.drawImage(u,0,0,u.width,u.height),h},resolveURL:u=>(Ns||(Ns=document.createElement(\"a\")),Ns.href=u,Ns.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(ll==null&&(ll=matchMedia(\"(prefers-reduced-motion: reduce)\")),ll.matches)}},Rc={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};class Xi extends Error{constructor(a,h,A,x){super(`AJAXError: ${h} (${a}): ${A}`),this.status=a,this.statusText=h,this.url=A,this.body=x}}let Jn=Li()?()=>self.worker&&self.worker.referrer:()=>(window.location.protocol===\"blob:\"?window.parent:window).location.href,ki=u=>Rc.REGISTERED_PROTOCOLS[u.substring(0,u.indexOf(\"://\"))];function ts(u,a){let h=new AbortController,A=new Request(u.url,{method:u.method||\"GET\",body:u.body,credentials:u.credentials,headers:u.headers,cache:u.cache,referrer:Jn(),signal:h.signal}),x=!1,E=!1;return u.type===\"json\"&&A.headers.set(\"Accept\",\"application/json\"),E||fetch(A).then(P=>P.ok?(D=>{(u.type===\"arrayBuffer\"||u.type===\"image\"?D.arrayBuffer():u.type===\"json\"?D.json():D.text()).then(F=>{E||(x=!0,a(null,F,D.headers.get(\"Cache-Control\"),D.headers.get(\"Expires\")))}).catch(F=>{E||a(new Error(F.message))})})(P):P.blob().then(D=>a(new Xi(P.status,P.statusText,u.url,D)))).catch(P=>{P.code!==20&&a(new Error(P.message))}),{cancel:()=>{E=!0,x||h.abort()}}}let Vo=function(u,a){if(/:\\/\\//.test(u.url)&&!/^https?:|^file:/.test(u.url)){if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a);if(!Li())return(ki(u.url)||ts)(u,a)}if(!(/^file:/.test(h=u.url)||/^file:/.test(Jn())&&!/^\\w+:/.test(h))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return ts(u,a);if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a,void 0,!0)}var h;return function(A,x){let E=new XMLHttpRequest;E.open(A.method||\"GET\",A.url,!0),A.type!==\"arrayBuffer\"&&A.type!==\"image\"||(E.responseType=\"arraybuffer\");for(let P in A.headers)E.setRequestHeader(P,A.headers[P]);return A.type===\"json\"&&(E.responseType=\"text\",E.setRequestHeader(\"Accept\",\"application/json\")),E.withCredentials=A.credentials===\"include\",E.onerror=()=>{x(new Error(E.statusText))},E.onload=()=>{if((E.status>=200&&E.status<300||E.status===0)&&E.response!==null){let P=E.response;if(A.type===\"json\")try{P=JSON.parse(E.response)}catch(D){return x(D)}x(null,P,E.getResponseHeader(\"Cache-Control\"),E.getResponseHeader(\"Expires\"))}else{let P=new Blob([E.response],{type:E.getResponseHeader(\"Content-Type\")});x(new Xi(E.status,E.statusText,A.url,P))}},E.send(A.body),{cancel:()=>E.abort()}}(u,a)},cl=function(u,a){return Vo(kt(u,{type:\"arrayBuffer\"}),a)};function xo(u){if(!u||u.indexOf(\"://\")<=0||u.indexOf(\"data:image/\")===0||u.indexOf(\"blob:\")===0)return!0;let a=new URL(u),h=window.location;return a.protocol===h.protocol&&a.host===h.host}function Pa(u,a,h){h[u]&&h[u].indexOf(a)!==-1||(h[u]=h[u]||[],h[u].push(a))}function na(u,a,h){if(h&&h[u]){let A=h[u].indexOf(a);A!==-1&&h[u].splice(A,1)}}class as{constructor(a,h={}){kt(this,h),this.type=a}}class ao extends as{constructor(a,h={}){super(\"error\",kt({error:a},h))}}class Nl{on(a,h){return this._listeners=this._listeners||{},Pa(a,h,this._listeners),this}off(a,h){return na(a,h,this._listeners),na(a,h,this._oneTimeListeners),this}once(a,h){return h?(this._oneTimeListeners=this._oneTimeListeners||{},Pa(a,h,this._oneTimeListeners),this):new Promise(A=>this.once(a,A))}fire(a,h){typeof a==\"string\"&&(a=new as(a,h||{}));let A=a.type;if(this.listens(A)){a.target=this;let x=this._listeners&&this._listeners[A]?this._listeners[A].slice():[];for(let D of x)D.call(this,a);let E=this._oneTimeListeners&&this._oneTimeListeners[A]?this._oneTimeListeners[A].slice():[];for(let D of E)na(A,D,this._oneTimeListeners),D.call(this,a);let P=this._eventedParent;P&&(kt(a,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),P.fire(a))}else a instanceof ao&&console.error(a.error);return this}listens(a){return this._listeners&&this._listeners[a]&&this._listeners[a].length>0||this._oneTimeListeners&&this._oneTimeListeners[a]&&this._oneTimeListeners[a].length>0||this._eventedParent&&this._eventedParent.listens(a)}setEventedParent(a,h){return this._eventedParent=a,this._eventedParentData=h,this}}var ee={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let ls=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function mn(u,a){let h={};for(let A in u)A!==\"ref\"&&(h[A]=u[A]);return ls.forEach(A=>{A in a&&(h[A]=a[A])}),h}function gi(u,a){if(Array.isArray(u)){if(!Array.isArray(a)||u.length!==a.length)return!1;for(let h=0;h`:u.itemType.kind===\"value\"?\"array\":`array<${a}>`}return u.kind}let _t=[Ca,Te,Dr,gr,Us,gt,La,vt(Mr),tt,nt,ht];function Dt(u,a){if(a.kind===\"error\")return null;if(u.kind===\"array\"){if(a.kind===\"array\"&&(a.N===0&&a.itemType.kind===\"value\"||!Dt(u.itemType,a.itemType))&&(typeof u.N!=\"number\"||u.N===a.N))return null}else{if(u.kind===a.kind)return null;if(u.kind===\"value\"){for(let h of _t)if(!Dt(h,a))return null}}return`Expected ${xt(u)} but found ${xt(a)} instead.`}function Mt(u,a){return a.some(h=>h.kind===u.kind)}function Vt(u,a){return a.some(h=>h===\"null\"?u===null:h===\"array\"?Array.isArray(u):h===\"object\"?u&&!Array.isArray(u)&&typeof u==\"object\":h===typeof u)}function ie(u,a){return u.kind===\"array\"&&a.kind===\"array\"?u.itemType.kind===a.itemType.kind&&typeof u.N==\"number\":u.kind===a.kind}let se=.96422,ae=.82521,lr=4/29,vr=6/29,Xe=3*vr*vr,cr=vr*vr*vr,wr=Math.PI/180,xi=180/Math.PI;function zi(u){return(u%=360)<0&&(u+=360),u}function ni([u,a,h,A]){let x,E,P=jn((.2225045*(u=Hr(u))+.7168786*(a=Hr(a))+.0606169*(h=Hr(h)))/1);u===a&&a===h?x=E=P:(x=jn((.4360747*u+.3850649*a+.1430804*h)/se),E=jn((.0139322*u+.0971045*a+.7141733*h)/ae));let D=116*P-16;return[D<0?0:D,500*(x-P),200*(P-E),A]}function Hr(u){return u<=.04045?u/12.92:Math.pow((u+.055)/1.055,2.4)}function jn(u){return u>cr?Math.pow(u,1/3):u/Xe+lr}function Bi([u,a,h,A]){let x=(u+16)/116,E=isNaN(a)?x:x+a/500,P=isNaN(h)?x:x-h/200;return x=1*es(x),E=se*es(E),P=ae*es(P),[xn(3.1338561*E-1.6168667*x-.4906146*P),xn(-.9787684*E+1.9161415*x+.033454*P),xn(.0719453*E-.2289914*x+1.4052427*P),A]}function xn(u){return(u=u<=.00304?12.92*u:1.055*Math.pow(u,1/2.4)-.055)<0?0:u>1?1:u}function es(u){return u>vr?u*u*u:Xe*(u-lr)}function oa(u){return parseInt(u.padEnd(2,u),16)/255}function Um(u,a){return Vl(a?u/100:u,0,1)}function Vl(u,a,h){return Math.min(Math.max(a,u),h)}function Ss(u){return!u.some(Number.isNaN)}let nh={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class ai{constructor(a,h,A,x=1,E=!0){this.r=a,this.g=h,this.b=A,this.a=x,E||(this.r*=x,this.g*=x,this.b*=x,x||this.overwriteGetter(\"rgb\",[a,h,A,x]))}static parse(a){if(a instanceof ai)return a;if(typeof a!=\"string\")return;let h=function(A){if((A=A.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let x=nh[A];if(x){let[P,D,F]=x;return[P/255,D/255,F/255,1]}if(A.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(A)){let P=A.length<6?1:2,D=1;return[oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+P)||\"ff\")]}if(A.startsWith(\"rgb\")){let P=A.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(P){let[D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt]=P,Rt=[q||\" \",at||\" \",bt].join(\"\");if(Rt===\" \"||Rt===\" /\"||Rt===\",,\"||Rt===\",,,\"){let Gt=[V,rt,mt].join(\"\"),Yt=Gt===\"%%%\"?100:Gt===\"\"?255:0;if(Yt){let ce=[Vl(+F/Yt,0,1),Vl(+X/Yt,0,1),Vl(+ct/Yt,0,1),Pt?Um(+Pt,jt):1];if(Ss(ce))return ce}}return}}let E=A.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(E){let[P,D,F,V,q,X,rt,at,ct]=E,mt=[F||\" \",q||\" \",rt].join(\"\");if(mt===\" \"||mt===\" /\"||mt===\",,\"||mt===\",,,\"){let bt=[+D,Vl(+V,0,100),Vl(+X,0,100),at?Um(+at,ct):1];if(Ss(bt))return function([Pt,jt,Rt,Gt]){function Yt(ce){let Ne=(ce+Pt/30)%12,ir=jt*Math.min(Rt,1-Rt);return Rt-ir*Math.max(-1,Math.min(Ne-3,9-Ne,1))}return Pt=zi(Pt),jt/=100,Rt/=100,[Yt(0),Yt(8),Yt(4),Gt]}(bt)}}}(a);return h?new ai(...h,!1):void 0}get rgb(){let{r:a,g:h,b:A,a:x}=this,E=x||1/0;return this.overwriteGetter(\"rgb\",[a/E,h/E,A/E,x])}get hcl(){return this.overwriteGetter(\"hcl\",function(a){let[h,A,x,E]=ni(a),P=Math.sqrt(A*A+x*x);return[Math.round(1e4*P)?zi(Math.atan2(x,A)*xi):NaN,P,h,E]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",ni(this.rgb))}overwriteGetter(a,h){return Object.defineProperty(this,a,{value:h}),h}toString(){let[a,h,A,x]=this.rgb;return`rgba(${[a,h,A].map(E=>Math.round(255*E)).join(\",\")},${x})`}}ai.black=new ai(0,0,0,1),ai.white=new ai(1,1,1,1),ai.transparent=new ai(0,0,0,0),ai.red=new ai(1,0,0,1);class ka{constructor(a,h,A){this.sensitivity=a?h?\"variant\":\"case\":h?\"accent\":\"base\",this.locale=A,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(a,h){return this.collator.compare(a,h)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Dc{constructor(a,h,A,x,E){this.text=a,this.image=h,this.scale=A,this.fontStack=x,this.textColor=E}}class ln{constructor(a){this.sections=a}static fromString(a){return new ln([new Dc(a,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(a=>a.text.length!==0||a.image&&a.image.name.length!==0)}static factory(a){return a instanceof ln?a:ln.fromString(a)}toString(){return this.sections.length===0?\"\":this.sections.map(a=>a.text).join(\"\")}}class Dn{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Dn)return a;if(typeof a==\"number\")return new Dn([a,a,a,a]);if(Array.isArray(a)&&!(a.length<1||a.length>4)){for(let h of a)if(typeof h!=\"number\")return;switch(a.length){case 1:a=[a[0],a[0],a[0],a[0]];break;case 2:a=[a[0],a[1],a[0],a[1]];break;case 3:a=[a[0],a[1],a[2],a[1]]}return new Dn(a)}}toString(){return JSON.stringify(this.values)}}let Vm=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Go{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Go)return a;if(Array.isArray(a)&&!(a.length<1)&&a.length%2==0){for(let h=0;h=0&&u<=255&&typeof a==\"number\"&&a>=0&&a<=255&&typeof h==\"number\"&&h>=0&&h<=255?A===void 0||typeof A==\"number\"&&A>=0&&A<=1?null:`Invalid rgba value [${[u,a,h,A].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof A==\"number\"?[u,a,h,A]:[u,a,h]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function jl(u){if(u===null||typeof u==\"string\"||typeof u==\"boolean\"||typeof u==\"number\"||u instanceof ai||u instanceof ka||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn)return!0;if(Array.isArray(u)){for(let a of u)if(!jl(a))return!1;return!0}if(typeof u==\"object\"){for(let a in u)if(!jl(u[a]))return!1;return!0}return!1}function Ki(u){if(u===null)return Ca;if(typeof u==\"string\")return Dr;if(typeof u==\"boolean\")return gr;if(typeof u==\"number\")return Te;if(u instanceof ai)return Us;if(u instanceof ka)return sa;if(u instanceof ln)return gt;if(u instanceof Dn)return tt;if(u instanceof Go)return ht;if(u instanceof Gn)return nt;if(Array.isArray(u)){let a=u.length,h;for(let A of u){let x=Ki(A);if(h){if(h===x)continue;h=Mr;break}h=x}return vt(h||Mr,a)}return La}function _i(u){let a=typeof u;return u===null?\"\":a===\"string\"||a===\"number\"||a===\"boolean\"?String(u):u instanceof ai||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn?u.toString():JSON.stringify(u)}class Gl{constructor(a,h){this.type=a,this.value=h}static parse(a,h){if(a.length!==2)return h.error(`'literal' expression requires exactly one argument, but found ${a.length-1} instead.`);if(!jl(a[1]))return h.error(\"invalid value\");let A=a[1],x=Ki(A),E=h.expectedType;return x.kind!==\"array\"||x.N!==0||!E||E.kind!==\"array\"||typeof E.N==\"number\"&&E.N!==0||(x=E),new Gl(x,A)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class cn{constructor(a){this.name=\"ExpressionEvaluationError\",this.message=a}toJSON(){return this.message}}let pu={string:Dr,number:Te,boolean:gr,object:La};class rs{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A,x=1,E=a[0];if(E===\"array\"){let D,F;if(a.length>2){let V=a[1];if(typeof V!=\"string\"||!(V in pu)||V===\"object\")return h.error('The item type argument of \"array\" must be one of string, number, boolean',1);D=pu[V],x++}else D=Mr;if(a.length>3){if(a[2]!==null&&(typeof a[2]!=\"number\"||a[2]<0||a[2]!==Math.floor(a[2])))return h.error('The length argument to \"array\" must be a positive integer literal',2);F=a[2],x++}A=vt(D,F)}else{if(!pu[E])throw new Error(`Types doesn't contain name = ${E}`);A=pu[E]}let P=[];for(;xa.outputDefined())}}let Gp={\"to-boolean\":gr,\"to-color\":Us,\"to-number\":Te,\"to-string\":Dr};class Wl{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[0];if(!Gp[A])throw new Error(`Can't parse ${A} as it is not part of the known types`);if((A===\"to-boolean\"||A===\"to-string\")&&a.length!==2)return h.error(\"Expected one argument.\");let x=Gp[A],E=[];for(let P=1;P4?`Invalid rbga value ${JSON.stringify(h)}: expected an array containing either three or four numeric values.`:So(h[0],h[1],h[2],h[3]),!A))return new ai(h[0]/255,h[1]/255,h[2]/255,h[3])}throw new cn(A||`Could not parse color from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"padding\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Dn.parse(h);if(x)return x}throw new cn(`Could not parse padding from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"variableAnchorOffsetCollection\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Go.parse(h);if(x)return x}throw new cn(`Could not parse variableAnchorOffsetCollection from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"number\":{let h=null;for(let A of this.args){if(h=A.evaluate(a),h===null)return 0;let x=Number(h);if(!isNaN(x))return x}throw new cn(`Could not convert ${JSON.stringify(h)} to number.`)}case\"formatted\":return ln.fromString(_i(this.args[0].evaluate(a)));case\"resolvedImage\":return Gn.fromString(_i(this.args[0].evaluate(a)));default:return _i(this.args[0].evaluate(a))}}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}let _d=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class yd{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?_d[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(a){let h=this._parseColorCache[a];return h||(h=this._parseColorCache[a]=ai.parse(a)),h}}class vd{constructor(a,h,A=[],x,E=new Ul,P=[]){this.registry=a,this.path=A,this.key=A.map(D=>`[${D}]`).join(\"\"),this.scope=E,this.errors=P,this.expectedType=x,this._isConstant=h}parse(a,h,A,x,E={}){return h?this.concat(h,A,x)._parse(a,E):this._parse(a,E)}_parse(a,h){function A(x,E,P){return P===\"assert\"?new rs(E,[x]):P===\"coerce\"?new Wl(E,[x]):x}if(a!==null&&typeof a!=\"string\"&&typeof a!=\"boolean\"&&typeof a!=\"number\"||(a=[\"literal\",a]),Array.isArray(a)){if(a.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let x=a[0];if(typeof x!=\"string\")return this.error(`Expression name must be a string, but found ${typeof x} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let E=this.registry[x];if(E){let P=E.parse(a,this);if(!P)return null;if(this.expectedType){let D=this.expectedType,F=P.type;if(D.kind!==\"string\"&&D.kind!==\"number\"&&D.kind!==\"boolean\"&&D.kind!==\"object\"&&D.kind!==\"array\"||F.kind!==\"value\")if(D.kind!==\"color\"&&D.kind!==\"formatted\"&&D.kind!==\"resolvedImage\"||F.kind!==\"value\"&&F.kind!==\"string\")if(D.kind!==\"padding\"||F.kind!==\"value\"&&F.kind!==\"number\"&&F.kind!==\"array\")if(D.kind!==\"variableAnchorOffsetCollection\"||F.kind!==\"value\"&&F.kind!==\"array\"){if(this.checkSubtype(D,F))return null}else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"assert\")}if(!(P instanceof Gl)&&P.type.kind!==\"resolvedImage\"&&this._isConstant(P)){let D=new yd;try{P=new Gl(P.type,P.evaluate(D))}catch(F){return this.error(F.message),null}}return P}return this.error(`Unknown expression \"${x}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(a===void 0?\"'undefined' value invalid. Use null instead.\":typeof a==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof a} instead.`)}concat(a,h,A){let x=typeof a==\"number\"?this.path.concat(a):this.path,E=A?this.scope.concat(A):this.scope;return new vd(this.registry,this._isConstant,x,h||null,E,this.errors)}error(a,...h){let A=`${this.key}${h.map(x=>`[${x}]`).join(\"\")}`;this.errors.push(new gn(A,a))}checkSubtype(a,h){let A=Dt(a,h);return A&&this.error(A),A}}class xd{constructor(a,h,A){this.type=sa,this.locale=A,this.caseSensitive=a,this.diacriticSensitive=h}static parse(a,h){if(a.length!==2)return h.error(\"Expected one argument.\");let A=a[1];if(typeof A!=\"object\"||Array.isArray(A))return h.error(\"Collator options argument must be an object.\");let x=h.parse(A[\"case-sensitive\"]!==void 0&&A[\"case-sensitive\"],1,gr);if(!x)return null;let E=h.parse(A[\"diacritic-sensitive\"]!==void 0&&A[\"diacritic-sensitive\"],1,gr);if(!E)return null;let P=null;return A.locale&&(P=h.parse(A.locale,1,Dr),!P)?null:new xd(x,E,P)}evaluate(a){return new ka(this.caseSensitive.evaluate(a),this.diacriticSensitive.evaluate(a),this.locale?this.locale.evaluate(a):null)}eachChild(a){a(this.caseSensitive),a(this.diacriticSensitive),this.locale&&a(this.locale)}outputDefined(){return!1}}let lt=8192;function ft(u,a){u[0]=Math.min(u[0],a[0]),u[1]=Math.min(u[1],a[1]),u[2]=Math.max(u[2],a[0]),u[3]=Math.max(u[3],a[1])}function Lt(u,a){return!(u[0]<=a[0]||u[2]>=a[2]||u[1]<=a[1]||u[3]>=a[3])}function Kt(u,a){let h=(180+u[0])/360,A=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,x=Math.pow(2,a.z);return[Math.round(h*x*lt),Math.round(A*x*lt)]}function ge(u,a,h){let A=u[0]-a[0],x=u[1]-a[1],E=u[0]-h[0],P=u[1]-h[1];return A*P-E*x==0&&A*E<=0&&x*P<=0}function Qe(u,a){let h=!1;for(let P=0,D=a.length;P(A=u)[1]!=(E=F[V+1])[1]>A[1]&&A[0]<(E[0]-x[0])*(A[1]-x[1])/(E[1]-x[1])+x[0]&&(h=!h)}}var A,x,E;return h}function ti(u,a){for(let h=0;h0&&D<0||P<0&&D>0}function Ts(u,a,h){for(let V of h)for(let q=0;qh[2]){let x=.5*A,E=u[0]-h[0]>x?-A:h[0]-u[0]>x?A:0;E===0&&(E=u[0]-h[2]>x?-A:h[2]-u[0]>x?A:0),u[0]+=E}ft(a,u)}function l_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let D of u)for(let F of D){let V=[F.x+E[0],F.y+E[1]];Bx(V,a,h,x),P.push(V)}return P}function c_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let F of u){let V=[];for(let q of F){let X=[q.x+E[0],q.y+E[1]];ft(a,X),V.push(X)}P.push(V)}if(a[2]-a[0]<=x/2){(D=a)[0]=D[1]=1/0,D[2]=D[3]=-1/0;for(let F of P)for(let V of F)Bx(V,a,h,x)}var D;return P}class gf{constructor(a,h){this.type=gr,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'within' expression requires exactly one argument, but found ${a.length-1} instead.`);if(jl(a[1])){let A=a[1];if(A.type===\"FeatureCollection\")for(let x=0;x!Array.isArray(V)||V.length===a.length-1),F=null;for(let[V,q]of D){F=new vd(h.registry,Wm,h.path,null,h.scope);let X=[],rt=!1;for(let at=1;at{return rt=X,Array.isArray(rt)?`(${rt.map(xt).join(\", \")})`:`(${xt(rt.type)}...)`;var rt}).join(\" | \"),q=[];for(let X=1;X{h=a?h&&Wm(A):h&&A instanceof Gl}),!!h&&Hm(u)&&qm(u,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Hm(u){if(u instanceof fl&&(u.name===\"get\"&&u.args.length===1||u.name===\"feature-state\"||u.name===\"has\"&&u.args.length===1||u.name===\"properties\"||u.name===\"geometry-type\"||u.name===\"id\"||/^filter-/.test(u.name))||u instanceof gf)return!1;let a=!0;return u.eachChild(h=>{a&&!Hm(h)&&(a=!1)}),a}function Wp(u){if(u instanceof fl&&u.name===\"feature-state\")return!1;let a=!0;return u.eachChild(h=>{a&&!Wp(h)&&(a=!1)}),a}function qm(u,a){if(u instanceof fl&&a.indexOf(u.name)>=0)return!1;let h=!0;return u.eachChild(A=>{h&&!qm(A,a)&&(h=!1)}),h}function bd(u,a){let h=u.length-1,A,x,E=0,P=h,D=0;for(;E<=P;)if(D=Math.floor((E+P)/2),A=u[D],x=u[D+1],A<=a){if(D===h||aa))throw new cn(\"Input is not a number.\");P=D-1}return 0}class sh{constructor(a,h,A){this.type=a,this.input=h,this.labels=[],this.outputs=[];for(let[x,E]of A)this.labels.push(x),this.outputs.push(E)}static parse(a,h){if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=[],E=null;h.expectedType&&h.expectedType.kind!==\"value\"&&(E=h.expectedType);for(let P=1;P=D)return h.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',V);let X=h.parse(F,q,E);if(!X)return null;E=E||X.type,x.push([D,X])}return new sh(E,A,x)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;return x>=h[E-1]?A[E-1].evaluate(a):A[bd(h,x)].evaluate(a)}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function ui(u,a,h){return u+h*(a-u)}function Zm(u,a,h){return u.map((A,x)=>ui(A,a[x],h))}let Da={number:ui,color:function(u,a,h,A=\"rgb\"){switch(A){case\"rgb\":{let[x,E,P,D]=Zm(u.rgb,a.rgb,h);return new ai(x,E,P,D,!1)}case\"hcl\":{let[x,E,P,D]=u.hcl,[F,V,q,X]=a.hcl,rt,at;if(isNaN(x)||isNaN(F))isNaN(x)?isNaN(F)?rt=NaN:(rt=F,P!==1&&P!==0||(at=V)):(rt=x,q!==1&&q!==0||(at=E));else{let jt=F-x;F>x&&jt>180?jt-=360:F180&&(jt+=360),rt=x+h*jt}let[ct,mt,bt,Pt]=function([jt,Rt,Gt,Yt]){return jt=isNaN(jt)?0:jt*wr,Bi([Gt,Math.cos(jt)*Rt,Math.sin(jt)*Rt,Yt])}([rt,at??ui(E,V,h),ui(P,q,h),ui(D,X,h)]);return new ai(ct,mt,bt,Pt,!1)}case\"lab\":{let[x,E,P,D]=Bi(Zm(u.lab,a.lab,h));return new ai(x,E,P,D,!1)}}},array:Zm,padding:function(u,a,h){return new Dn(Zm(u.values,a.values,h))},variableAnchorOffsetCollection:function(u,a,h){let A=u.values,x=a.values;if(A.length!==x.length)throw new cn(`Cannot interpolate values of different length. from: ${u.toString()}, to: ${a.toString()}`);let E=[];for(let P=0;Ptypeof q!=\"number\"||q<0||q>1))return h.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);x={name:\"cubic-bezier\",controlPoints:V}}}if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");if(E=h.parse(E,2,Te),!E)return null;let D=[],F=null;A===\"interpolate-hcl\"||A===\"interpolate-lab\"?F=Us:h.expectedType&&h.expectedType.kind!==\"value\"&&(F=h.expectedType);for(let V=0;V=q)return h.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',rt);let ct=h.parse(X,at,F);if(!ct)return null;F=F||ct.type,D.push([q,ct])}return ie(F,Te)||ie(F,Us)||ie(F,tt)||ie(F,ht)||ie(F,vt(Te))?new Oa(F,A,x,E,D):h.error(`Type ${xt(F)} is not interpolatable.`)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;if(x>=h[E-1])return A[E-1].evaluate(a);let P=bd(h,x),D=Oa.interpolationFactor(this.interpolation,x,h[P],h[P+1]),F=A[P].evaluate(a),V=A[P+1].evaluate(a);switch(this.operator){case\"interpolate\":return Da[this.type.kind](F,V,D);case\"interpolate-hcl\":return Da.color(F,V,D,\"hcl\");case\"interpolate-lab\":return Da.color(F,V,D,\"lab\")}}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function u_(u,a,h,A){let x=A-h,E=u-h;return x===0?0:a===1?E/x:(Math.pow(a,E)-1)/(Math.pow(a,x)-1)}class Ym{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expectected at least one argument.\");let A=null,x=h.expectedType;x&&x.kind!==\"value\"&&(A=x);let E=[];for(let D of a.slice(1)){let F=h.parse(D,1+E.length,A,void 0,{typeAnnotation:\"omit\"});if(!F)return null;A=A||F.type,E.push(F)}if(!A)throw new Error(\"No output type\");let P=x&&E.some(D=>Dt(x,D.type));return new Ym(P?Mr:A,E)}evaluate(a){let h,A=null,x=0;for(let E of this.args)if(x++,A=E.evaluate(a),A&&A instanceof Gn&&!A.available&&(h||(h=A.name),A=null,x===this.args.length&&(A=h)),A!==null)break;return A}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}class Qm{constructor(a,h){this.type=h.type,this.bindings=[].concat(a),this.result=h}evaluate(a){return this.result.evaluate(a)}eachChild(a){for(let h of this.bindings)a(h[1]);a(this.result)}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found ${a.length-1} instead.`);let A=[];for(let E=1;E=A.length)throw new cn(`Array index out of bounds: ${h} > ${A.length-1}.`);if(h!==Math.floor(h))throw new cn(`Array index must be an integer, but found ${h} instead.`);return A[h]}eachChild(a){a(this.index),a(this.input)}outputDefined(){return!1}}class $m{constructor(a,h){this.type=gr,this.needle=a,this.haystack=h}static parse(a,h){if(a.length!==3)return h.error(`Expected 2 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);return A&&x?Mt(A.type,[gr,Dr,Te,Ca,Mr])?new $m(A,x):h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`):null}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!A)return!1;if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);return A.indexOf(h)>=0}eachChild(a){a(this.needle),a(this.haystack)}outputDefined(){return!0}}class qp{constructor(a,h,A){this.type=Te,this.needle=a,this.haystack=h,this.fromIndex=A}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);if(!A||!x)return null;if(!Mt(A.type,[gr,Dr,Te,Ca,Mr]))return h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new qp(A,x,E):null}return new qp(A,x)}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);if(this.fromIndex){let x=this.fromIndex.evaluate(a);return A.indexOf(h,x)}return A.indexOf(h)}eachChild(a){a(this.needle),a(this.haystack),this.fromIndex&&a(this.fromIndex)}outputDefined(){return!1}}class wd{constructor(a,h,A,x,E,P){this.inputType=a,this.type=h,this.input=A,this.cases=x,this.outputs=E,this.otherwise=P}static parse(a,h){if(a.length<5)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if(a.length%2!=1)return h.error(\"Expected an even number of arguments.\");let A,x;h.expectedType&&h.expectedType.kind!==\"value\"&&(x=h.expectedType);let E={},P=[];for(let V=2;VNumber.MAX_SAFE_INTEGER)return rt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ct==\"number\"&&Math.floor(ct)!==ct)return rt.error(\"Numeric branch labels must be integer values.\");if(A){if(rt.checkSubtype(A,Ki(ct)))return null}else A=Ki(ct);if(E[String(ct)]!==void 0)return rt.error(\"Branch labels must be unique.\");E[String(ct)]=P.length}let at=h.parse(X,V,x);if(!at)return null;x=x||at.type,P.push(at)}let D=h.parse(a[1],1,Mr);if(!D)return null;let F=h.parse(a[a.length-1],a.length-1,x);return F?D.type.kind!==\"value\"&&h.concat(1).checkSubtype(A,D.type)?null:new wd(A,x,D,E,P,F):null}evaluate(a){let h=this.input.evaluate(a);return(Ki(h)===this.inputType&&this.outputs[this.cases[h]]||this.otherwise).evaluate(a)}eachChild(a){a(this.input),this.outputs.forEach(a),a(this.otherwise)}outputDefined(){return this.outputs.every(a=>a.outputDefined())&&this.otherwise.outputDefined()}}class Zp{constructor(a,h,A){this.type=a,this.branches=h,this.otherwise=A}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found only ${a.length-1}.`);if(a.length%2!=0)return h.error(\"Expected an odd number of arguments.\");let A;h.expectedType&&h.expectedType.kind!==\"value\"&&(A=h.expectedType);let x=[];for(let P=1;Ph.outputDefined())&&this.otherwise.outputDefined()}}class Sd{constructor(a,h,A,x){this.type=a,this.input=h,this.beginIndex=A,this.endIndex=x}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Te);if(!A||!x)return null;if(!Mt(A.type,[vt(Mr),Dr,Mr]))return h.error(`Expected first argument to be of type array or string, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new Sd(A.type,A,x,E):null}return new Sd(A.type,A,x)}evaluate(a){let h=this.input.evaluate(a),A=this.beginIndex.evaluate(a);if(!Vt(h,[\"string\",\"array\"]))throw new cn(`Expected first argument to be of type array or string, but found ${xt(Ki(h))} instead.`);if(this.endIndex){let x=this.endIndex.evaluate(a);return h.slice(A,x)}return h.slice(A)}eachChild(a){a(this.input),a(this.beginIndex),this.endIndex&&a(this.endIndex)}outputDefined(){return!1}}function Xm(u,a){return u===\"==\"||u===\"!=\"?a.kind===\"boolean\"||a.kind===\"string\"||a.kind===\"number\"||a.kind===\"null\"||a.kind===\"value\":a.kind===\"string\"||a.kind===\"number\"||a.kind===\"value\"}function Td(u,a,h,A){return A.compare(a,h)===0}function Au(u,a,h){let A=u!==\"==\"&&u!==\"!=\";return class tU{constructor(E,P,D){this.type=gr,this.lhs=E,this.rhs=P,this.collator=D,this.hasUntypedArgument=E.type.kind===\"value\"||P.type.kind===\"value\"}static parse(E,P){if(E.length!==3&&E.length!==4)return P.error(\"Expected two or three arguments.\");let D=E[0],F=P.parse(E[1],1,Mr);if(!F)return null;if(!Xm(D,F.type))return P.concat(1).error(`\"${D}\" comparisons are not supported for type '${xt(F.type)}'.`);let V=P.parse(E[2],2,Mr);if(!V)return null;if(!Xm(D,V.type))return P.concat(2).error(`\"${D}\" comparisons are not supported for type '${xt(V.type)}'.`);if(F.type.kind!==V.type.kind&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(`Cannot compare types '${xt(F.type)}' and '${xt(V.type)}'.`);A&&(F.type.kind===\"value\"&&V.type.kind!==\"value\"?F=new rs(V.type,[F]):F.type.kind!==\"value\"&&V.type.kind===\"value\"&&(V=new rs(F.type,[V])));let q=null;if(E.length===4){if(F.type.kind!==\"string\"&&V.type.kind!==\"string\"&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(\"Cannot use collator to compare non-string types.\");if(q=P.parse(E[3],3,sa),!q)return null}return new tU(F,V,q)}evaluate(E){let P=this.lhs.evaluate(E),D=this.rhs.evaluate(E);if(A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==V.kind||F.kind!==\"string\"&&F.kind!==\"number\")throw new cn(`Expected arguments for \"${u}\" to be (string, string) or (number, number), but found (${F.kind}, ${V.kind}) instead.`)}if(this.collator&&!A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==\"string\"||V.kind!==\"string\")return a(E,P,D)}return this.collator?h(E,P,D,this.collator.evaluate(E)):a(E,P,D)}eachChild(E){E(this.lhs),E(this.rhs),this.collator&&E(this.collator)}outputDefined(){return!0}}}let oh=Au(\"==\",function(u,a,h){return a===h},Td),Zt=Au(\"!=\",function(u,a,h){return a!==h},function(u,a,h,A){return!Td(0,a,h,A)}),fe=Au(\"<\",function(u,a,h){return a\",function(u,a,h){return a>h},function(u,a,h,A){return A.compare(a,h)>0}),br=Au(\"<=\",function(u,a,h){return a<=h},function(u,a,h,A){return A.compare(a,h)<=0}),g=Au(\">=\",function(u,a,h){return a>=h},function(u,a,h,A){return A.compare(a,h)>=0});class Vi{constructor(a,h,A,x,E){this.type=Dr,this.number=a,this.locale=h,this.currency=A,this.minFractionDigits=x,this.maxFractionDigits=E}static parse(a,h){if(a.length!==3)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=a[2];if(typeof x!=\"object\"||Array.isArray(x))return h.error(\"NumberFormat options argument must be an object.\");let E=null;if(x.locale&&(E=h.parse(x.locale,1,Dr),!E))return null;let P=null;if(x.currency&&(P=h.parse(x.currency,1,Dr),!P))return null;let D=null;if(x[\"min-fraction-digits\"]&&(D=h.parse(x[\"min-fraction-digits\"],1,Te),!D))return null;let F=null;return x[\"max-fraction-digits\"]&&(F=h.parse(x[\"max-fraction-digits\"],1,Te),!F)?null:new Vi(A,E,P,D,F)}evaluate(a){return new Intl.NumberFormat(this.locale?this.locale.evaluate(a):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(a):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(a):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(a):void 0}).format(this.number.evaluate(a))}eachChild(a){a(this.number),this.locale&&a(this.locale),this.currency&&a(this.currency),this.minFractionDigits&&a(this.minFractionDigits),this.maxFractionDigits&&a(this.maxFractionDigits)}outputDefined(){return!1}}class Ti{constructor(a){this.type=gt,this.sections=a}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[1];if(!Array.isArray(A)&&typeof A==\"object\")return h.error(\"First argument must be an image or text section.\");let x=[],E=!1;for(let P=1;P<=a.length-1;++P){let D=a[P];if(E&&typeof D==\"object\"&&!Array.isArray(D)){E=!1;let F=null;if(D[\"font-scale\"]&&(F=h.parse(D[\"font-scale\"],1,Te),!F))return null;let V=null;if(D[\"text-font\"]&&(V=h.parse(D[\"text-font\"],1,vt(Dr)),!V))return null;let q=null;if(D[\"text-color\"]&&(q=h.parse(D[\"text-color\"],1,Us),!q))return null;let X=x[x.length-1];X.scale=F,X.font=V,X.textColor=q}else{let F=h.parse(a[P],1,Mr);if(!F)return null;let V=F.type.kind;if(V!==\"string\"&&V!==\"value\"&&V!==\"null\"&&V!==\"resolvedImage\")return h.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");E=!0,x.push({content:F,scale:null,font:null,textColor:null})}}return new Ti(x)}evaluate(a){return new ln(this.sections.map(h=>{let A=h.content.evaluate(a);return Ki(A)===nt?new Dc(\"\",A,null,null,null):new Dc(_i(A),null,h.scale?h.scale.evaluate(a):null,h.font?h.font.evaluate(a).join(\",\"):null,h.textColor?h.textColor.evaluate(a):null)}))}eachChild(a){for(let h of this.sections)a(h.content),h.scale&&a(h.scale),h.font&&a(h.font),h.textColor&&a(h.textColor)}outputDefined(){return!1}}class Tt{constructor(a){this.type=nt,this.input=a}static parse(a,h){if(a.length!==2)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Dr);return A?new Tt(A):h.error(\"No image name provided.\")}evaluate(a){let h=this.input.evaluate(a),A=Gn.fromString(h);return A&&a.availableImages&&(A.available=a.availableImages.indexOf(h)>-1),A}eachChild(a){a(this.input)}outputDefined(){return!1}}class Ms{constructor(a){this.type=Te,this.input=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=h.parse(a[1],1);return A?A.type.kind!==\"array\"&&A.type.kind!==\"string\"&&A.type.kind!==\"value\"?h.error(`Expected argument of type string or array, but found ${xt(A.type)} instead.`):new Ms(A):null}evaluate(a){let h=this.input.evaluate(a);if(typeof h==\"string\"||Array.isArray(h))return h.length;throw new cn(`Expected value to be of type string or array, but found ${xt(Ki(h))} instead.`)}eachChild(a){a(this.input)}outputDefined(){return!1}}let cs={\"==\":oh,\"!=\":Zt,\">\":Be,\"<\":fe,\">=\":g,\"<=\":br,array:rs,at:Hp,boolean:rs,case:Zp,coalesce:Ym,collator:xd,format:Ti,image:Tt,in:$m,\"index-of\":qp,interpolate:Oa,\"interpolate-hcl\":Oa,\"interpolate-lab\":Oa,length:Ms,let:Qm,literal:Gl,match:wd,number:rs,\"number-format\":Vi,object:rs,slice:Sd,step:sh,string:rs,\"to-boolean\":Wl,\"to-color\":Wl,\"to-number\":Wl,\"to-string\":Wl,var:Gm,within:gf};function li(u,[a,h,A,x]){a=a.evaluate(u),h=h.evaluate(u),A=A.evaluate(u);let E=x?x.evaluate(u):1,P=So(a,h,A,E);if(P)throw new cn(P);return new ai(a/255,h/255,A/255,E,!1)}function bn(u,a){return u in a}function dl(u,a){let h=a[u];return h===void 0?null:h}function Ur(u){return{type:u}}function hi(u){return{result:\"success\",value:u}}function To(u){return{result:\"error\",value:u}}function _f(u){return u[\"property-type\"]===\"data-driven\"||u[\"property-type\"]===\"cross-faded-data-driven\"}function h_(u){return!!u.expression&&u.expression.parameters.indexOf(\"zoom\")>-1}function Md(u){return!!u.expression&&u.expression.interpolated}function qr(u){return u instanceof Number?\"number\":u instanceof String?\"string\":u instanceof Boolean?\"boolean\":Array.isArray(u)?\"array\":u===null?\"null\":typeof u}function Ji(u){return typeof u==\"object\"&&u!==null&&!Array.isArray(u)}function Oc(u){return u}function ci(u,a){let h=a.type===\"color\",A=u.stops&&typeof u.stops[0][0]==\"object\",x=A||!(A||u.property!==void 0),E=u.type||(Md(a)?\"exponential\":\"interval\");if(h||a.type===\"padding\"){let q=h?ai.parse:Dn.parse;(u=jo({},u)).stops&&(u.stops=u.stops.map(X=>[X[0],q(X[1])])),u.default=q(u.default?u.default:a.default)}if(u.colorSpace&&(P=u.colorSpace)!==\"rgb\"&&P!==\"hcl\"&&P!==\"lab\")throw new Error(`Unknown color space: \"${u.colorSpace}\"`);var P;let D,F,V;if(E===\"exponential\")D=Mi;else if(E===\"interval\")D=It;else if(E===\"categorical\"){D=Je,F=Object.create(null);for(let q of u.stops)F[q[0]]=q[1];V=typeof u.stops[0][0]}else{if(E!==\"identity\")throw new Error(`Unknown function type \"${E}\"`);D=Km}if(A){let q={},X=[];for(let ct=0;ctct[0]),evaluate:({zoom:ct},mt)=>Mi({stops:rt,base:u.base},a,ct).evaluate(ct,mt)}}if(x){let q=E===\"exponential\"?{name:\"exponential\",base:u.base!==void 0?u.base:1}:null;return{kind:\"camera\",interpolationType:q,interpolationFactor:Oa.interpolationFactor.bind(void 0,q),zoomStops:u.stops.map(X=>X[0]),evaluate:({zoom:X})=>D(u,a,X,F,V)}}return{kind:\"source\",evaluate(q,X){let rt=X&&X.properties?X.properties[u.property]:void 0;return rt===void 0?aa(u.default,a.default):D(u,a,rt,F,V)}}}function aa(u,a,h){return u!==void 0?u:a!==void 0?a:h!==void 0?h:void 0}function Je(u,a,h,A,x){return aa(typeof h===x?A[h]:void 0,u.default,a.default)}function It(u,a,h){if(qr(h)!==\"number\")return aa(u.default,a.default);let A=u.stops.length;if(A===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[A-1][0])return u.stops[A-1][1];let x=bd(u.stops.map(E=>E[0]),h);return u.stops[x][1]}function Mi(u,a,h){let A=u.base!==void 0?u.base:1;if(qr(h)!==\"number\")return aa(u.default,a.default);let x=u.stops.length;if(x===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[x-1][0])return u.stops[x-1][1];let E=bd(u.stops.map(q=>q[0]),h),P=function(q,X,rt,at){let ct=at-rt,mt=q-rt;return ct===0?0:X===1?mt/ct:(Math.pow(X,mt)-1)/(Math.pow(X,ct)-1)}(h,A,u.stops[E][0],u.stops[E+1][0]),D=u.stops[E][1],F=u.stops[E+1][1],V=Da[a.type]||Oc;return typeof D.evaluate==\"function\"?{evaluate(...q){let X=D.evaluate.apply(void 0,q),rt=F.evaluate.apply(void 0,q);if(X!==void 0&&rt!==void 0)return V(X,rt,P,u.colorSpace)}}:V(D,F,P,u.colorSpace)}function Km(u,a,h){switch(a.type){case\"color\":h=ai.parse(h);break;case\"formatted\":h=ln.fromString(h.toString());break;case\"resolvedImage\":h=Gn.fromString(h.toString());break;case\"padding\":h=Dn.parse(h);break;default:qr(h)===a.type||a.type===\"enum\"&&a.values[h]||(h=void 0)}return aa(h,u.default,a.default)}fl.register(cs,{error:[{kind:\"error\"},[Dr],(u,[a])=>{throw new cn(a.evaluate(u))}],typeof:[Dr,[Mr],(u,[a])=>xt(Ki(a.evaluate(u)))],\"to-rgba\":[vt(Te,4),[Us],(u,[a])=>{let[h,A,x,E]=a.evaluate(u).rgb;return[255*h,255*A,255*x,E]}],rgb:[Us,[Te,Te,Te],li],rgba:[Us,[Te,Te,Te,Te],li],has:{type:gr,overloads:[[[Dr],(u,[a])=>bn(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>bn(a.evaluate(u),h.evaluate(u))]]},get:{type:Mr,overloads:[[[Dr],(u,[a])=>dl(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>dl(a.evaluate(u),h.evaluate(u))]]},\"feature-state\":[Mr,[Dr],(u,[a])=>dl(a.evaluate(u),u.featureState||{})],properties:[La,[],u=>u.properties()],\"geometry-type\":[Dr,[],u=>u.geometryType()],id:[Mr,[],u=>u.id()],zoom:[Te,[],u=>u.globals.zoom],\"heatmap-density\":[Te,[],u=>u.globals.heatmapDensity||0],\"line-progress\":[Te,[],u=>u.globals.lineProgress||0],accumulated:[Mr,[],u=>u.globals.accumulated===void 0?null:u.globals.accumulated],\"+\":[Te,Ur(Te),(u,a)=>{let h=0;for(let A of a)h+=A.evaluate(u);return h}],\"*\":[Te,Ur(Te),(u,a)=>{let h=1;for(let A of a)h*=A.evaluate(u);return h}],\"-\":{type:Te,overloads:[[[Te,Te],(u,[a,h])=>a.evaluate(u)-h.evaluate(u)],[[Te],(u,[a])=>-a.evaluate(u)]]},\"/\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)/h.evaluate(u)],\"%\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)%h.evaluate(u)],ln2:[Te,[],()=>Math.LN2],pi:[Te,[],()=>Math.PI],e:[Te,[],()=>Math.E],\"^\":[Te,[Te,Te],(u,[a,h])=>Math.pow(a.evaluate(u),h.evaluate(u))],sqrt:[Te,[Te],(u,[a])=>Math.sqrt(a.evaluate(u))],log10:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN10],ln:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))],log2:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN2],sin:[Te,[Te],(u,[a])=>Math.sin(a.evaluate(u))],cos:[Te,[Te],(u,[a])=>Math.cos(a.evaluate(u))],tan:[Te,[Te],(u,[a])=>Math.tan(a.evaluate(u))],asin:[Te,[Te],(u,[a])=>Math.asin(a.evaluate(u))],acos:[Te,[Te],(u,[a])=>Math.acos(a.evaluate(u))],atan:[Te,[Te],(u,[a])=>Math.atan(a.evaluate(u))],min:[Te,Ur(Te),(u,a)=>Math.min(...a.map(h=>h.evaluate(u)))],max:[Te,Ur(Te),(u,a)=>Math.max(...a.map(h=>h.evaluate(u)))],abs:[Te,[Te],(u,[a])=>Math.abs(a.evaluate(u))],round:[Te,[Te],(u,[a])=>{let h=a.evaluate(u);return h<0?-Math.round(-h):Math.round(h)}],floor:[Te,[Te],(u,[a])=>Math.floor(a.evaluate(u))],ceil:[Te,[Te],(u,[a])=>Math.ceil(a.evaluate(u))],\"filter-==\":[gr,[Dr,Mr],(u,[a,h])=>u.properties()[a.value]===h.value],\"filter-id-==\":[gr,[Mr],(u,[a])=>u.id()===a.value],\"filter-type-==\":[gr,[Dr],(u,[a])=>u.geometryType()===a.value],\"filter-<\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A{let h=u.id(),A=a.value;return typeof h==typeof A&&h\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>x}],\"filter-id->\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>A}],\"filter-<=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A<=x}],\"filter-id-<=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h<=A}],\"filter->=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>=x}],\"filter-id->=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>=A}],\"filter-has\":[gr,[Mr],(u,[a])=>a.value in u.properties()],\"filter-has-id\":[gr,[],u=>u.id()!==null&&u.id()!==void 0],\"filter-type-in\":[gr,[vt(Dr)],(u,[a])=>a.value.indexOf(u.geometryType())>=0],\"filter-id-in\":[gr,[vt(Mr)],(u,[a])=>a.value.indexOf(u.id())>=0],\"filter-in-small\":[gr,[Dr,vt(Mr)],(u,[a,h])=>h.value.indexOf(u.properties()[a.value])>=0],\"filter-in-large\":[gr,[Dr,vt(Mr)],(u,[a,h])=>function(A,x,E,P){for(;E<=P;){let D=E+P>>1;if(x[D]===A)return!0;x[D]>A?P=D-1:E=D+1}return!1}(u.properties()[a.value],h.value,0,h.value.length-1)],all:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)&&h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(!h.evaluate(u))return!1;return!0}]]},any:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)||h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(h.evaluate(u))return!0;return!1}]]},\"!\":[gr,[gr],(u,[a])=>!a.evaluate(u)],\"is-supported-script\":[gr,[Dr],(u,[a])=>{let h=u.globals&&u.globals.isSupportedScript;return!h||h(a.evaluate(u))}],upcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toUpperCase()],downcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toLowerCase()],concat:[Dr,Ur(Mr),(u,a)=>a.map(h=>_i(h.evaluate(u))).join(\"\")],\"resolved-locale\":[Dr,[sa],(u,[a])=>a.evaluate(u).resolvedLocale()]});class Jm{constructor(a,h){var A;this.expression=a,this._warningHistory={},this._evaluator=new yd,this._defaultValue=h?(A=h).type===\"color\"&&Ji(A.default)?new ai(0,0,0,0):A.type===\"color\"?ai.parse(A.default)||null:A.type===\"padding\"?Dn.parse(A.default)||null:A.type===\"variableAnchorOffsetCollection\"?Go.parse(A.default)||null:A.default===void 0?null:A.default:null,this._enumValues=h&&h.type===\"enum\"?h.values:null}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._evaluator.globals=a,this._evaluator.feature=h,this._evaluator.featureState=A,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P,this.expression.evaluate(this._evaluator)}evaluate(a,h,A,x,E,P){this._evaluator.globals=a,this._evaluator.feature=h||null,this._evaluator.featureState=A||null,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P||null;try{let D=this.expression.evaluate(this._evaluator);if(D==null||typeof D==\"number\"&&D!=D)return this._defaultValue;if(this._enumValues&&!(D in this._enumValues))throw new cn(`Expected value to be one of ${Object.keys(this._enumValues).map(F=>JSON.stringify(F)).join(\", \")}, but found ${JSON.stringify(D)} instead.`);return D}catch(D){return this._warningHistory[D.message]||(this._warningHistory[D.message]=!0,typeof console<\"u\"&&console.warn(D.message)),this._defaultValue}}}function Yp(u){return Array.isArray(u)&&u.length>0&&typeof u[0]==\"string\"&&u[0]in cs}function Qp(u,a){let h=new vd(cs,Wm,[],a?function(x){let E={color:Us,string:Dr,number:Te,enum:Dr,boolean:gr,formatted:gt,padding:tt,resolvedImage:nt,variableAnchorOffsetCollection:ht};return x.type===\"array\"?vt(E[x.value]||Mr,x.length):E[x.type]}(a):void 0),A=h.parse(u,void 0,void 0,void 0,a&&a.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return A?hi(new Jm(A,a)):To(h.errors)}class t0{constructor(a,h){this.kind=a,this._styleExpression=h,this.isStateDependent=a!==\"constant\"&&!Wp(h.expression)}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}}class wt{constructor(a,h,A,x){this.kind=a,this.zoomStops=A,this._styleExpression=h,this.isStateDependent=a!==\"camera\"&&!Wp(h.expression),this.interpolationType=x}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}interpolationFactor(a,h,A){return this.interpolationType?Oa.interpolationFactor(this.interpolationType,a,h,A):0}}function e0(u,a){let h=Qp(u,a);if(h.result===\"error\")return h;let A=h.value.expression,x=Hm(A);if(!x&&!_f(a))return To([new gn(\"\",\"data expressions not supported\")]);let E=qm(A,[\"zoom\"]);if(!E&&!h_(a))return To([new gn(\"\",\"zoom expressions not supported\")]);let P=Pd(A);return P||E?P instanceof gn?To([P]):P instanceof Oa&&!Md(a)?To([new gn(\"\",'\"interpolate\" expressions cannot be used with this property')]):hi(P?new wt(x?\"camera\":\"composite\",h.value,P.labels,P instanceof Oa?P.interpolation:void 0):new t0(x?\"constant\":\"source\",h.value)):To([new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Ed{constructor(a,h){this._parameters=a,this._specification=h,jo(this,ci(this._parameters,this._specification))}static deserialize(a){return new Ed(a._parameters,a._specification)}static serialize(a){return{_parameters:a._parameters,_specification:a._specification}}}function Pd(u){let a=null;if(u instanceof Qm)a=Pd(u.result);else if(u instanceof Ym){for(let h of u.args)if(a=Pd(h),a)break}else(u instanceof sh||u instanceof Oa)&&u.input instanceof fl&&u.input.name===\"zoom\"&&(a=u);return a instanceof gn||u.eachChild(h=>{let A=Pd(h);A instanceof gn?a=A:!a&&A?a=new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):a&&A&&a!==A&&(a=new gn(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),a}function Id(u){if(u===!0||u===!1)return!0;if(!Array.isArray(u)||u.length===0)return!1;switch(u[0]){case\"has\":return u.length>=2&&u[1]!==\"$id\"&&u[1]!==\"$type\";case\"in\":return u.length>=3&&(typeof u[1]!=\"string\"||Array.isArray(u[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return u.length!==3||Array.isArray(u[1])||Array.isArray(u[2]);case\"any\":case\"all\":for(let a of u.slice(1))if(!Id(a)&&typeof a!=\"boolean\")return!1;return!0;default:return!0}}let Fx={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function r0(u){if(u==null)return{filter:()=>!0,needGeometry:!1};Id(u)||(u=yf(u));let a=Qp(u,Fx);if(a.result===\"error\")throw new Error(a.value.map(h=>`${h.key}: ${h.message}`).join(\", \"));return{filter:(h,A,x)=>a.value.evaluate(h,A,{},x),needGeometry:d_(u)}}function f_(u,a){return ua?1:0}function d_(u){if(!Array.isArray(u))return!1;if(u[0]===\"within\")return!0;for(let a=1;a\"||a===\"<=\"||a===\">=\"?Ba(u[1],u[2],a):a===\"any\"?(h=u.slice(1),[\"any\"].concat(h.map(yf))):a===\"all\"?[\"all\"].concat(u.slice(1).map(yf)):a===\"none\"?[\"all\"].concat(u.slice(1).map(yf).map(Cd)):a===\"in\"?Wn(u[1],u.slice(2)):a===\"!in\"?Cd(Wn(u[1],u.slice(2))):a===\"has\"?p_(u[1]):a===\"!has\"?Cd(p_(u[1])):a!==\"within\"||u;var h}function Ba(u,a,h){switch(u){case\"$type\":return[`filter-type-${h}`,a];case\"$id\":return[`filter-id-${h}`,a];default:return[`filter-${h}`,u,a]}}function Wn(u,a){if(a.length===0)return!1;switch(u){case\"$type\":return[\"filter-type-in\",[\"literal\",a]];case\"$id\":return[\"filter-id-in\",[\"literal\",a]];default:return a.length>200&&!a.some(h=>typeof h!=typeof a[0])?[\"filter-in-large\",u,[\"literal\",a.sort(f_)]]:[\"filter-in-small\",u,[\"literal\",a]]}}function p_(u){switch(u){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",u]}}function Cd(u){return[\"!\",u]}function $p(u){let a=typeof u;if(a===\"number\"||a===\"boolean\"||a===\"string\"||u==null)return JSON.stringify(u);if(Array.isArray(u)){let x=\"[\";for(let E of u)x+=`${$p(E)},`;return`${x}]`}let h=Object.keys(u).sort(),A=\"{\";for(let x=0;xA.maximum?[new ve(a,h,`${h} is greater than the maximum value ${A.maximum}`)]:[]}function Kp(u){let a=u.valueSpec,h=Cn(u.value.type),A,x,E,P={},D=h!==\"categorical\"&&u.value.property===void 0,F=!D,V=qr(u.value.stops)===\"array\"&&qr(u.value.stops[0])===\"array\"&&qr(u.value.stops[0][0])===\"object\",q=fi({key:u.key,value:u.value,valueSpec:u.styleSpec.function,validateSpec:u.validateSpec,style:u.style,styleSpec:u.styleSpec,objectElementValidators:{stops:function(at){if(h===\"identity\")return[new ve(at.key,at.value,'identity function may not have a \"stops\" property')];let ct=[],mt=at.value;return ct=ct.concat(mu({key:at.key,value:mt,valueSpec:at.valueSpec,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,arrayElementValidator:X})),qr(mt)===\"array\"&&mt.length===0&&ct.push(new ve(at.key,mt,\"array must have at least one stop\")),ct},default:function(at){return at.validateSpec({key:at.key,value:at.value,valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec})}}});return h===\"identity\"&&D&&q.push(new ve(u.key,u.value,'missing required property \"property\"')),h===\"identity\"||u.value.stops||q.push(new ve(u.key,u.value,'missing required property \"stops\"')),h===\"exponential\"&&u.valueSpec.expression&&!Md(u.valueSpec)&&q.push(new ve(u.key,u.value,\"exponential functions not supported\")),u.styleSpec.$version>=8&&(F&&!_f(u.valueSpec)?q.push(new ve(u.key,u.value,\"property functions not supported\")):D&&!h_(u.valueSpec)&&q.push(new ve(u.key,u.value,\"zoom functions not supported\"))),h!==\"categorical\"&&!V||u.value.property!==void 0||q.push(new ve(u.key,u.value,'\"property\" property is required')),q;function X(at){let ct=[],mt=at.value,bt=at.key;if(qr(mt)!==\"array\")return[new ve(bt,mt,`array expected, ${qr(mt)} found`)];if(mt.length!==2)return[new ve(bt,mt,`array length 2 expected, length ${mt.length} found`)];if(V){if(qr(mt[0])!==\"object\")return[new ve(bt,mt,`object expected, ${qr(mt[0])} found`)];if(mt[0].zoom===void 0)return[new ve(bt,mt,\"object stop key must have zoom\")];if(mt[0].value===void 0)return[new ve(bt,mt,\"object stop key must have value\")];if(E&&E>Cn(mt[0].zoom))return[new ve(bt,mt[0].zoom,\"stop zoom values must appear in ascending order\")];Cn(mt[0].zoom)!==E&&(E=Cn(mt[0].zoom),x=void 0,P={}),ct=ct.concat(fi({key:`${bt}[0]`,value:mt[0],valueSpec:{zoom:{}},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,objectElementValidators:{zoom:vf,value:rt}}))}else ct=ct.concat(rt({key:`${bt}[0]`,value:mt[0],valueSpec:{},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec},mt));return Yp(ah(mt[1]))?ct.concat([new ve(`${bt}[1]`,mt[1],\"expressions are not allowed in function stops.\")]):ct.concat(at.validateSpec({key:`${bt}[1]`,value:mt[1],valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec}))}function rt(at,ct){let mt=qr(at.value),bt=Cn(at.value),Pt=at.value!==null?at.value:ct;if(A){if(mt!==A)return[new ve(at.key,Pt,`${mt} stop domain type must match previous stop domain type ${A}`)]}else A=mt;if(mt!==\"number\"&&mt!==\"string\"&&mt!==\"boolean\")return[new ve(at.key,Pt,\"stop domain value must be a number, string, or boolean\")];if(mt!==\"number\"&&h!==\"categorical\"){let jt=`number expected, ${mt} found`;return _f(a)&&h===void 0&&(jt+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ve(at.key,Pt,jt)]}return h!==\"categorical\"||mt!==\"number\"||isFinite(bt)&&Math.floor(bt)===bt?h!==\"categorical\"&&mt===\"number\"&&x!==void 0&&btnew ve(`${u.key}${A.key}`,u.value,A.message));let h=a.value.expression||a.value._styleExpression.expression;if(u.expressionContext===\"property\"&&u.propertyKey===\"text-font\"&&!h.outputDefined())return[new ve(u.key,u.value,`Invalid data expression for \"${u.propertyKey}\". Output values must be contained as literals within the expression.`)];if(u.expressionContext===\"property\"&&u.propertyType===\"layout\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(u.expressionContext===\"filter\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with filters.')];if(u.expressionContext&&u.expressionContext.indexOf(\"cluster\")===0){if(!qm(h,[\"zoom\",\"feature-state\"]))return[new ve(u.key,u.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(u.expressionContext===\"cluster-initial\"&&!Hm(h))return[new ve(u.key,u.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ld(u){let a=u.key,h=u.value,A=u.valueSpec,x=[];return Array.isArray(A.values)?A.values.indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${A.values.join(\", \")}], ${JSON.stringify(h)} found`)):Object.keys(A.values).indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${Object.keys(A.values).join(\", \")}], ${JSON.stringify(h)} found`)),x}function ch(u){return Id(ah(u.value))?lh(jo({},u,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Jp(u)}function Jp(u){let a=u.value,h=u.key;if(qr(a)!==\"array\")return[new ve(h,a,`array expected, ${qr(a)} found`)];let A=u.styleSpec,x,E=[];if(a.length<1)return[new ve(h,a,\"filter array must have at least 1 element\")];switch(E=E.concat(Ld({key:`${h}[0]`,value:a[0],valueSpec:A.filter_operator,style:u.style,styleSpec:u.styleSpec})),Cn(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&Cn(a[1])===\"$type\"&&E.push(new ve(h,a,`\"$type\" cannot be use with operator \"${a[0]}\"`));case\"==\":case\"!=\":a.length!==3&&E.push(new ve(h,a,`filter array for operator \"${a[0]}\" must have 3 elements`));case\"in\":case\"!in\":a.length>=2&&(x=qr(a[1]),x!==\"string\"&&E.push(new ve(`${h}[1]`,a[1],`string expected, ${x} found`)));for(let P=2;P{V in h&&a.push(new ve(A,h[V],`\"${V}\" is prohibited for ref layers`))}),x.layers.forEach(V=>{Cn(V.id)===D&&(F=V)}),F?F.ref?a.push(new ve(A,h.ref,\"ref cannot reference another ref layer\")):P=Cn(F.type):a.push(new ve(A,h.ref,`ref layer \"${D}\" not found`))}else if(P!==\"background\")if(h.source){let F=x.sources&&x.sources[h.source],V=F&&Cn(F.type);F?V===\"vector\"&&P===\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster source`)):V!==\"raster-dem\"&&P===\"hillshade\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster-dem source`)):V===\"raster\"&&P!==\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a vector source`)):V!==\"vector\"||h[\"source-layer\"]?V===\"raster-dem\"&&P!==\"hillshade\"?a.push(new ve(A,h.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):P!==\"line\"||!h.paint||!h.paint[\"line-gradient\"]||V===\"geojson\"&&F.lineMetrics||a.push(new ve(A,h,`layer \"${h.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):a.push(new ve(A,h,`layer \"${h.id}\" must specify a \"source-layer\"`)):a.push(new ve(A,h.source,`source \"${h.source}\" not found`))}else a.push(new ve(A,h,'missing required property \"source\"'));return a=a.concat(fi({key:A,value:h,valueSpec:E.layer,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>u.validateSpec({key:`${A}.type`,value:h.type,valueSpec:E.layer.type,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,object:h,objectKey:\"type\"}),filter:ch,layout:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>m_(jo({layerType:P},V))}}),paint:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>A_(jo({layerType:P},V))}})}})),a}function pl(u){let a=u.value,h=u.key,A=qr(a);return A!==\"string\"?[new ve(h,a,`string expected, ${A} found`)]:[]}let uh={promoteId:function({key:u,value:a}){if(qr(a)===\"string\")return pl({key:u,value:a});{let h=[];for(let A in a)h.push(...pl({key:`${u}.${A}`,value:a[A]}));return h}}};function la(u){let a=u.value,h=u.key,A=u.styleSpec,x=u.style,E=u.validateSpec;if(!a.type)return[new ve(h,a,'\"type\" is required')];let P=Cn(a.type),D;switch(P){case\"vector\":case\"raster\":return D=fi({key:h,value:a,valueSpec:A[`source_${P.replace(\"-\",\"_\")}`],style:u.style,styleSpec:A,objectElementValidators:uh,validateSpec:E}),D;case\"raster-dem\":return D=function(F){var V;let q=(V=F.sourceName)!==null&&V!==void 0?V:\"\",X=F.value,rt=F.styleSpec,at=rt.source_raster_dem,ct=F.style,mt=[],bt=qr(X);if(X===void 0)return mt;if(bt!==\"object\")return mt.push(new ve(\"source_raster_dem\",X,`object expected, ${bt} found`)),mt;let Pt=Cn(X.encoding)===\"custom\",jt=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],Rt=F.value.encoding?`\"${F.value.encoding}\"`:\"Default\";for(let Gt in X)!Pt&&jt.includes(Gt)?mt.push(new ve(Gt,X[Gt],`In \"${q}\": \"${Gt}\" is only valid when \"encoding\" is set to \"custom\". ${Rt} encoding found`)):at[Gt]?mt=mt.concat(F.validateSpec({key:Gt,value:X[Gt],valueSpec:at[Gt],validateSpec:F.validateSpec,style:ct,styleSpec:rt})):mt.push(new ve(Gt,X[Gt],`unknown property \"${Gt}\"`));return mt}({sourceName:h,value:a,style:u.style,styleSpec:A,validateSpec:E}),D;case\"geojson\":if(D=fi({key:h,value:a,valueSpec:A.source_geojson,style:x,styleSpec:A,validateSpec:E,objectElementValidators:uh}),a.cluster)for(let F in a.clusterProperties){let[V,q]=a.clusterProperties[F],X=typeof V==\"string\"?[V,[\"accumulated\"],[\"get\",F]]:V;D.push(...lh({key:`${h}.${F}.map`,value:q,validateSpec:E,expressionContext:\"cluster-map\"})),D.push(...lh({key:`${h}.${F}.reduce`,value:X,validateSpec:E,expressionContext:\"cluster-reduce\"}))}return D;case\"video\":return fi({key:h,value:a,valueSpec:A.source_video,style:x,validateSpec:E,styleSpec:A});case\"image\":return fi({key:h,value:a,valueSpec:A.source_image,style:x,validateSpec:E,styleSpec:A});case\"canvas\":return[new ve(h,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Ld({key:`${h}.type`,value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:x,validateSpec:E,styleSpec:A})}}function kd(u){let a=u.value,h=u.styleSpec,A=h.light,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"light\",a,`object expected, ${P} found`)]),E;for(let D in a){let F=D.match(/^(.*)-transition$/);E=E.concat(F&&A[F[1]]&&A[F[1]].transition?u.validateSpec({key:D,value:a[D],valueSpec:h.transition,validateSpec:u.validateSpec,style:x,styleSpec:h}):A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)])}return E}function g_(u){let a=u.value,h=u.styleSpec,A=h.terrain,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"terrain\",a,`object expected, ${P} found`)]),E;for(let D in a)E=E.concat(A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)]);return E}function js(u){let a=[],h=u.value,A=u.key;if(Array.isArray(h)){let x=[],E=[];for(let P in h)h[P].id&&x.includes(h[P].id)&&a.push(new ve(A,h,`all the sprites' ids must be unique, but ${h[P].id} is duplicated`)),x.push(h[P].id),h[P].url&&E.includes(h[P].url)&&a.push(new ve(A,h,`all the sprites' URLs must be unique, but ${h[P].url} is duplicated`)),E.push(h[P].url),a=a.concat(fi({key:`${A}[${P}]`,value:h[P],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:u.validateSpec}));return a}return pl({key:A,value:h})}let gu={\"*\":()=>[],array:mu,boolean:function(u){let a=u.value,h=u.key,A=qr(a);return A!==\"boolean\"?[new ve(h,a,`boolean expected, ${A} found`)]:[]},number:vf,color:function(u){let a=u.key,h=u.value,A=qr(h);return A!==\"string\"?[new ve(a,h,`color expected, ${A} found`)]:ai.parse(String(h))?[]:[new ve(a,h,`color expected, \"${h}\" found`)]},constants:i0,enum:Ld,filter:ch,function:Kp,layer:n0,object:fi,source:la,light:kd,terrain:g_,string:pl,formatted:function(u){return pl(u).length===0?[]:lh(u)},resolvedImage:function(u){return pl(u).length===0?[]:lh(u)},padding:function(u){let a=u.key,h=u.value;if(qr(h)===\"array\"){if(h.length<1||h.length>4)return[new ve(a,h,`padding requires 1 to 4 values; ${h.length} values found`)];let A={type:\"number\"},x=[];for(let E=0;E[]}})),u.constants&&(h=h.concat(i0({key:\"constants\",value:u.constants,style:u,styleSpec:a,validateSpec:Ln}))),Rd(h)}function Fa(u){return function(a){return u({...a,validateSpec:Ln})}}function Rd(u){return[].concat(u).sort((a,h)=>a.line-h.line)}function Al(u){return function(...a){return Rd(u.apply(this,a))}}ca.source=Al(Fa(la)),ca.sprite=Al(Fa(js)),ca.glyphs=Al(Fa(eA)),ca.light=Al(Fa(kd)),ca.terrain=Al(Fa(g_)),ca.layer=Al(Fa(n0)),ca.filter=Al(Fa(ch)),ca.paintProperty=Al(Fa(A_)),ca.layoutProperty=Al(Fa(m_));let za=ca,hh=za.light,rA=za.paintProperty,s0=za.layoutProperty;function fh(u,a){let h=!1;if(a&&a.length)for(let A of a)u.fire(new ao(new Error(A.message))),h=!0;return h}class Na{constructor(a,h,A){let x=this.cells=[];if(a instanceof ArrayBuffer){this.arrayBuffer=a;let P=new Int32Array(this.arrayBuffer);a=P[0],this.d=(h=P[1])+2*(A=P[2]);for(let F=0;F=X[ct+0]&&x>=X[ct+1])?(D[at]=!0,P.push(q[at])):D[at]=!1}}}}_forEachCell(a,h,A,x,E,P,D,F){let V=this._convertToCellCoord(a),q=this._convertToCellCoord(h),X=this._convertToCellCoord(A),rt=this._convertToCellCoord(x);for(let at=V;at<=X;at++)for(let ct=q;ct<=rt;ct++){let mt=this.d*ct+at;if((!F||F(this._convertFromCellCoord(at),this._convertFromCellCoord(ct),this._convertFromCellCoord(at+1),this._convertFromCellCoord(ct+1)))&&E.call(this,a,h,A,x,mt,P,D,F))return}}_convertFromCellCoord(a){return(a-this.padding)/this.scale}_convertToCellCoord(a){return Math.max(0,Math.min(this.d-1,Math.floor(a*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let a=this.cells,h=3+this.cells.length+1+1,A=0;for(let P=0;P=0)continue;let P=u[E];x[E]=co[A].shallow.indexOf(E)>=0?P:Hl(P,a)}u instanceof Error&&(x.message=u.message)}if(x.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return A!==\"Object\"&&(x.$name=A),x}throw new Error(\"can't serialize object of type \"+typeof u)}function xf(u){if(u==null||typeof u==\"boolean\"||typeof u==\"number\"||typeof u==\"string\"||u instanceof Boolean||u instanceof Number||u instanceof String||u instanceof Date||u instanceof RegExp||u instanceof Blob||Dd(u)||zl(u)||ArrayBuffer.isView(u)||u instanceof ImageData)return u;if(Array.isArray(u))return u.map(xf);if(typeof u==\"object\"){let a=u.$name||\"Object\";if(!co[a])throw new Error(`can't deserialize unregistered class ${a}`);let{klass:h}=co[a];if(!h)throw new Error(`can't deserialize unregistered class ${a}`);if(h.deserialize)return h.deserialize(u);let A=Object.create(h.prototype);for(let x of Object.keys(u)){if(x===\"$name\")continue;let E=u[x];A[x]=co[a].shallow.indexOf(x)>=0?E:xf(E)}return A}throw new Error(\"can't deserialize object of type \"+typeof u)}class __{constructor(){this.first=!0}update(a,h){let A=Math.floor(a);return this.first?(this.first=!1,this.lastIntegerZoom=A,this.lastIntegerZoomTime=0,this.lastZoom=a,this.lastFloorZoom=A,!0):(this.lastFloorZoom>A?(this.lastIntegerZoom=A+1,this.lastIntegerZoomTime=h):this.lastFloorZoomu>=128&&u<=255,Arabic:u=>u>=1536&&u<=1791,\"Arabic Supplement\":u=>u>=1872&&u<=1919,\"Arabic Extended-A\":u=>u>=2208&&u<=2303,\"Hangul Jamo\":u=>u>=4352&&u<=4607,\"Unified Canadian Aboriginal Syllabics\":u=>u>=5120&&u<=5759,Khmer:u=>u>=6016&&u<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":u=>u>=6320&&u<=6399,\"General Punctuation\":u=>u>=8192&&u<=8303,\"Letterlike Symbols\":u=>u>=8448&&u<=8527,\"Number Forms\":u=>u>=8528&&u<=8591,\"Miscellaneous Technical\":u=>u>=8960&&u<=9215,\"Control Pictures\":u=>u>=9216&&u<=9279,\"Optical Character Recognition\":u=>u>=9280&&u<=9311,\"Enclosed Alphanumerics\":u=>u>=9312&&u<=9471,\"Geometric Shapes\":u=>u>=9632&&u<=9727,\"Miscellaneous Symbols\":u=>u>=9728&&u<=9983,\"Miscellaneous Symbols and Arrows\":u=>u>=11008&&u<=11263,\"CJK Radicals Supplement\":u=>u>=11904&&u<=12031,\"Kangxi Radicals\":u=>u>=12032&&u<=12255,\"Ideographic Description Characters\":u=>u>=12272&&u<=12287,\"CJK Symbols and Punctuation\":u=>u>=12288&&u<=12351,Hiragana:u=>u>=12352&&u<=12447,Katakana:u=>u>=12448&&u<=12543,Bopomofo:u=>u>=12544&&u<=12591,\"Hangul Compatibility Jamo\":u=>u>=12592&&u<=12687,Kanbun:u=>u>=12688&&u<=12703,\"Bopomofo Extended\":u=>u>=12704&&u<=12735,\"CJK Strokes\":u=>u>=12736&&u<=12783,\"Katakana Phonetic Extensions\":u=>u>=12784&&u<=12799,\"Enclosed CJK Letters and Months\":u=>u>=12800&&u<=13055,\"CJK Compatibility\":u=>u>=13056&&u<=13311,\"CJK Unified Ideographs Extension A\":u=>u>=13312&&u<=19903,\"Yijing Hexagram Symbols\":u=>u>=19904&&u<=19967,\"CJK Unified Ideographs\":u=>u>=19968&&u<=40959,\"Yi Syllables\":u=>u>=40960&&u<=42127,\"Yi Radicals\":u=>u>=42128&&u<=42191,\"Hangul Jamo Extended-A\":u=>u>=43360&&u<=43391,\"Hangul Syllables\":u=>u>=44032&&u<=55215,\"Hangul Jamo Extended-B\":u=>u>=55216&&u<=55295,\"Private Use Area\":u=>u>=57344&&u<=63743,\"CJK Compatibility Ideographs\":u=>u>=63744&&u<=64255,\"Arabic Presentation Forms-A\":u=>u>=64336&&u<=65023,\"Vertical Forms\":u=>u>=65040&&u<=65055,\"CJK Compatibility Forms\":u=>u>=65072&&u<=65103,\"Small Form Variants\":u=>u>=65104&&u<=65135,\"Arabic Presentation Forms-B\":u=>u>=65136&&u<=65279,\"Halfwidth and Fullwidth Forms\":u=>u>=65280&&u<=65519};function o0(u){for(let a of u)if(dh(a.charCodeAt(0)))return!0;return!1}function a0(u){for(let a of u)if(!zx(a.charCodeAt(0)))return!1;return!0}function zx(u){return!(Oe.Arabic(u)||Oe[\"Arabic Supplement\"](u)||Oe[\"Arabic Extended-A\"](u)||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u))}function dh(u){return!(u!==746&&u!==747&&(u<4352||!(Oe[\"Bopomofo Extended\"](u)||Oe.Bopomofo(u)||Oe[\"CJK Compatibility Forms\"](u)&&!(u>=65097&&u<=65103)||Oe[\"CJK Compatibility Ideographs\"](u)||Oe[\"CJK Compatibility\"](u)||Oe[\"CJK Radicals Supplement\"](u)||Oe[\"CJK Strokes\"](u)||!(!Oe[\"CJK Symbols and Punctuation\"](u)||u>=12296&&u<=12305||u>=12308&&u<=12319||u===12336)||Oe[\"CJK Unified Ideographs Extension A\"](u)||Oe[\"CJK Unified Ideographs\"](u)||Oe[\"Enclosed CJK Letters and Months\"](u)||Oe[\"Hangul Compatibility Jamo\"](u)||Oe[\"Hangul Jamo Extended-A\"](u)||Oe[\"Hangul Jamo Extended-B\"](u)||Oe[\"Hangul Jamo\"](u)||Oe[\"Hangul Syllables\"](u)||Oe.Hiragana(u)||Oe[\"Ideographic Description Characters\"](u)||Oe.Kanbun(u)||Oe[\"Kangxi Radicals\"](u)||Oe[\"Katakana Phonetic Extensions\"](u)||Oe.Katakana(u)&&u!==12540||!(!Oe[\"Halfwidth and Fullwidth Forms\"](u)||u===65288||u===65289||u===65293||u>=65306&&u<=65310||u===65339||u===65341||u===65343||u>=65371&&u<=65503||u===65507||u>=65512&&u<=65519)||!(!Oe[\"Small Form Variants\"](u)||u>=65112&&u<=65118||u>=65123&&u<=65126)||Oe[\"Unified Canadian Aboriginal Syllabics\"](u)||Oe[\"Unified Canadian Aboriginal Syllabics Extended\"](u)||Oe[\"Vertical Forms\"](u)||Oe[\"Yijing Hexagram Symbols\"](u)||Oe[\"Yi Syllables\"](u)||Oe[\"Yi Radicals\"](u))))}function y_(u){return!(dh(u)||function(a){return!!(Oe[\"Latin-1 Supplement\"](a)&&(a===167||a===169||a===174||a===177||a===188||a===189||a===190||a===215||a===247)||Oe[\"General Punctuation\"](a)&&(a===8214||a===8224||a===8225||a===8240||a===8241||a===8251||a===8252||a===8258||a===8263||a===8264||a===8265||a===8273)||Oe[\"Letterlike Symbols\"](a)||Oe[\"Number Forms\"](a)||Oe[\"Miscellaneous Technical\"](a)&&(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||a===9003||a>=9085&&a<=9114||a>=9150&&a<=9165||a===9167||a>=9169&&a<=9179||a>=9186&&a<=9215)||Oe[\"Control Pictures\"](a)&&a!==9251||Oe[\"Optical Character Recognition\"](a)||Oe[\"Enclosed Alphanumerics\"](a)||Oe[\"Geometric Shapes\"](a)||Oe[\"Miscellaneous Symbols\"](a)&&!(a>=9754&&a<=9759)||Oe[\"Miscellaneous Symbols and Arrows\"](a)&&(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243)||Oe[\"CJK Symbols and Punctuation\"](a)||Oe.Katakana(a)||Oe[\"Private Use Area\"](a)||Oe[\"CJK Compatibility Forms\"](a)||Oe[\"Small Form Variants\"](a)||Oe[\"Halfwidth and Fullwidth Forms\"](a)||a===8734||a===8756||a===8757||a>=9984&&a<=10087||a>=10102&&a<=10131||a===65532||a===65533)}(u))}function l0(u){return u>=1424&&u<=2303||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u)}function c0(u,a){return!(!a&&l0(u)||u>=2304&&u<=3583||u>=3840&&u<=4255||Oe.Khmer(u))}function bf(u){for(let a of u)if(l0(a.charCodeAt(0)))return!0;return!1}let u0=\"deferred\",iA=\"loading\",nA=\"loaded\",ph=null,us=\"unavailable\",_u=null,Bc=function(u){u&&typeof u==\"string\"&&u.indexOf(\"NetworkError\")>-1&&(us=\"error\"),ph&&ph(u)};function h0(){Od.fire(new as(\"pluginStateChange\",{pluginStatus:us,pluginURL:_u}))}let Od=new Nl,f0=function(){return us},v_=function(){if(us!==u0||!_u)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");us=iA,h0(),_u&&cl({url:_u},u=>{u?Bc(u):(us=nA,h0())})},ua={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>us===nA||ua.applyArabicShaping!=null,isLoading:()=>us===iA,setState(u){if(!Li())throw new Error(\"Cannot set the state of the rtl-text-plugin when not in the web-worker context\");us=u.pluginStatus,_u=u.pluginURL},isParsed(){if(!Li())throw new Error(\"rtl-text-plugin is only parsed on the worker-threads\");return ua.applyArabicShaping!=null&&ua.processBidirectionalText!=null&&ua.processStyledBidirectionalText!=null},getPluginURL(){if(!Li())throw new Error(\"rtl-text-plugin url can only be queried from the worker threads\");return _u}};class un{constructor(a,h){this.zoom=a,h?(this.now=h.now,this.fadeDuration=h.fadeDuration,this.zoomHistory=h.zoomHistory,this.transition=h.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new __,this.transition={})}isSupportedScript(a){return function(h,A){for(let x of h)if(!c0(x.charCodeAt(0),A))return!1;return!0}(a,ua.isLoaded())}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let a=this.zoom,h=a-Math.floor(a),A=this.crossFadingFactor();return a>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:h+(1-h)*A}:{fromScale:.5,toScale:1,t:1-(1-A)*h}}}class sA{constructor(a,h){this.property=a,this.value=h,this.expression=function(A,x){if(Ji(A))return new Ed(A,x);if(Yp(A)){let E=e0(A,x);if(E.result===\"error\")throw new Error(E.value.map(P=>`${P.key}: ${P.message}`).join(\", \"));return E.value}{let E=A;return x.type===\"color\"&&typeof A==\"string\"?E=ai.parse(A):x.type!==\"padding\"||typeof A!=\"number\"&&!Array.isArray(A)?x.type===\"variableAnchorOffsetCollection\"&&Array.isArray(A)&&(E=Go.parse(A)):E=Dn.parse(A),{kind:\"constant\",evaluate:()=>E}}}(h===void 0?a.specification.default:h,a.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(a,h,A){return this.property.possiblyEvaluate(this,a,h,A)}}class d0{constructor(a){this.property=a,this.value=new sA(a,void 0)}transitioned(a,h){return new x_(this.property,this.value,h,kt({},a.transition,this.transition),a.now)}untransitioned(){return new x_(this.property,this.value,null,{},0)}}class Ah{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitionablePropertyValues)}getValue(a){return ue(this._values[a].value.value)}setValue(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].value=new sA(this._values[a].property,h===null?void 0:ue(h))}getTransition(a){return ue(this._values[a].transition)}setTransition(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].transition=ue(h)||void 0}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A);let x=this.getTransition(h);x!==void 0&&(a[`${h}-transition`]=x)}return a}transitioned(a,h){let A=new b_(this._properties);for(let x of Object.keys(this._values))A._values[x]=this._values[x].transitioned(a,h._values[x]);return A}untransitioned(){let a=new b_(this._properties);for(let h of Object.keys(this._values))a._values[h]=this._values[h].untransitioned();return a}}class x_{constructor(a,h,A,x,E){this.property=a,this.value=h,this.begin=E+x.delay||0,this.end=this.begin+x.duration||0,a.specification.transition&&(x.delay||x.duration)&&(this.prior=A)}possiblyEvaluate(a,h,A){let x=a.now||0,E=this.value.possiblyEvaluate(a,h,A),P=this.prior;if(P){if(x>this.end)return this.prior=null,E;if(this.value.isDataDriven())return this.prior=null,E;if(x=1)return 1;let V=F*F,q=V*F;return 4*(F<.5?q:3*(F-V)+q-.75)}(D))}}return E}}class b_{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitioningPropertyValues)}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}hasTransition(){for(let a of Object.keys(this._values))if(this._values[a].prior)return!0;return!1}}class Nx{constructor(a){this._properties=a,this._values=Object.create(a.defaultPropertyValues)}hasValue(a){return this._values[a].value!==void 0}getValue(a){return ue(this._values[a].value)}setValue(a,h){this._values[a]=new sA(this._values[a].property,h===null?void 0:ue(h))}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A)}return a}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}}class Mo{constructor(a,h,A){this.property=a,this.value=h,this.parameters=A}isConstant(){return this.value.kind===\"constant\"}constantOr(a){return this.value.kind===\"constant\"?this.value.value:a}evaluate(a,h,A,x){return this.property.evaluate(this.value,this.parameters,a,h,A,x)}}class oA{constructor(a){this._properties=a,this._values=Object.create(a.defaultPossiblyEvaluatedValues)}get(a){return this._values[a]}}class nr{constructor(a){this.specification=a}possiblyEvaluate(a,h){if(a.isDataDriven())throw new Error(\"Value should not be data driven\");return a.expression.evaluate(h)}interpolate(a,h,A){let x=Da[this.specification.type];return x?x(a,h,A):a}}class dr{constructor(a,h){this.specification=a,this.overrides=h}possiblyEvaluate(a,h,A,x){return new Mo(this,a.expression.kind===\"constant\"||a.expression.kind===\"camera\"?{kind:\"constant\",value:a.expression.evaluate(h,null,{},A,x)}:a.expression,h)}interpolate(a,h,A){if(a.value.kind!==\"constant\"||h.value.kind!==\"constant\")return a;if(a.value.value===void 0||h.value.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},a.parameters);let x=Da[this.specification.type];if(x){let E=x(a.value.value,h.value.value,A);return new Mo(this,{kind:\"constant\",value:E},a.parameters)}return a}evaluate(a,h,A,x,E,P){return a.kind===\"constant\"?a.value:a.evaluate(h,A,x,E,P)}}class wf extends dr{possiblyEvaluate(a,h,A,x){if(a.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},h);if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x),P=a.property.specification.type===\"resolvedImage\"&&typeof E!=\"string\"?E.name:E,D=this._calculate(P,P,P,h);return new Mo(this,{kind:\"constant\",value:D},h)}if(a.expression.kind===\"camera\"){let E=this._calculate(a.expression.evaluate({zoom:h.zoom-1}),a.expression.evaluate({zoom:h.zoom}),a.expression.evaluate({zoom:h.zoom+1}),h);return new Mo(this,{kind:\"constant\",value:E},h)}return new Mo(this,a.expression,h)}evaluate(a,h,A,x,E,P){if(a.kind===\"source\"){let D=a.evaluate(h,A,x,E,P);return this._calculate(D,D,D,h)}return a.kind===\"composite\"?this._calculate(a.evaluate({zoom:Math.floor(h.zoom)-1},A,x),a.evaluate({zoom:Math.floor(h.zoom)},A,x),a.evaluate({zoom:Math.floor(h.zoom)+1},A,x),h):a.value}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class aA{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){if(a.value!==void 0){if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x);return this._calculate(E,E,E,h)}return this._calculate(a.expression.evaluate(new un(Math.floor(h.zoom-1),h)),a.expression.evaluate(new un(Math.floor(h.zoom),h)),a.expression.evaluate(new un(Math.floor(h.zoom+1),h)),h)}}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class Bd{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){return!!a.expression.evaluate(h,null,{},A,x)}interpolate(){return!1}}class Hn{constructor(a){this.properties=a,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let h in a){let A=a[h];A.specification.overridable&&this.overridableProperties.push(h);let x=this.defaultPropertyValues[h]=new sA(A,void 0),E=this.defaultTransitionablePropertyValues[h]=new d0(A);this.defaultTransitioningPropertyValues[h]=E.untransitioned(),this.defaultPossiblyEvaluatedValues[h]=x.possiblyEvaluate({})}}}Ge(\"DataDrivenProperty\",dr),Ge(\"DataConstantProperty\",nr),Ge(\"CrossFadedDataDrivenProperty\",wf),Ge(\"CrossFadedProperty\",aA),Ge(\"ColorRampProperty\",Bd);let uo=\"-transition\";class ji extends Nl{constructor(a,h){if(super(),this.id=a.id,this.type=a.type,this._featureFilter={filter:()=>!0,needGeometry:!1},a.type!==\"custom\"&&(this.metadata=a.metadata,this.minzoom=a.minzoom,this.maxzoom=a.maxzoom,a.type!==\"background\"&&(this.source=a.source,this.sourceLayer=a[\"source-layer\"],this.filter=a.filter),h.layout&&(this._unevaluatedLayout=new Nx(h.layout)),h.paint)){this._transitionablePaint=new Ah(h.paint);for(let A in a.paint)this.setPaintProperty(A,a.paint[A],{validate:!1});for(let A in a.layout)this.setLayoutProperty(A,a.layout[A],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oA(h.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(a){return a===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(a)}setLayoutProperty(a,h,A={}){h!=null&&this._validate(s0,`layers.${this.id}.layout.${a}`,a,h,A)||(a!==\"visibility\"?this._unevaluatedLayout.setValue(a,h):this.visibility=h)}getPaintProperty(a){return a.endsWith(uo)?this._transitionablePaint.getTransition(a.slice(0,-11)):this._transitionablePaint.getValue(a)}setPaintProperty(a,h,A={}){if(h!=null&&this._validate(rA,`layers.${this.id}.paint.${a}`,a,h,A))return!1;if(a.endsWith(uo))return this._transitionablePaint.setTransition(a.slice(0,-11),h||void 0),!1;{let x=this._transitionablePaint._values[a],E=x.property.specification[\"property-type\"]===\"cross-faded-data-driven\",P=x.value.isDataDriven(),D=x.value;this._transitionablePaint.setValue(a,h),this._handleSpecialPaintPropertyUpdate(a);let F=this._transitionablePaint._values[a].value;return F.isDataDriven()||P||E||this._handleOverridablePaintPropertyUpdate(a,D,F)}}_handleSpecialPaintPropertyUpdate(a){}_handleOverridablePaintPropertyUpdate(a,h,A){return!1}isHidden(a){return!!(this.minzoom&&a=this.maxzoom)||this.visibility===\"none\"}updateTransitions(a){this._transitioningPaint=this._transitionablePaint.transitioned(a,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(a,h){a.getCrossfadeParameters&&(this._crossfadeParameters=a.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(a,void 0,h)),this.paint=this._transitioningPaint.possiblyEvaluate(a,void 0,h)}serialize(){let a={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(a.layout=a.layout||{},a.layout.visibility=this.visibility),le(a,(h,A)=>!(h===void 0||A===\"layout\"&&!Object.keys(h).length||A===\"paint\"&&!Object.keys(h).length))}_validate(a,h,A,x,E={}){return(!E||E.validate!==!1)&&fh(this,a.call(za,{key:h,layerType:this.type,objectKey:A,value:x,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let a in this.paint._values){let h=this.paint.get(a);if(h instanceof Mo&&_f(h.property.specification)&&(h.value.kind===\"source\"||h.value.kind===\"composite\")&&h.value.isStateDependent)return!0}return!1}}let w_={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class mh{constructor(a,h){this._structArray=a,this._pos1=h*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class kn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(a,h){return a._trim(),h&&(a.isTransferred=!0,h.push(a.arrayBuffer)),{length:a.length,arrayBuffer:a.arrayBuffer}}static deserialize(a){let h=Object.create(this.prototype);return h.arrayBuffer=a.arrayBuffer,h.length=a.length,h.capacity=a.arrayBuffer.byteLength/h.bytesPerElement,h._refreshViews(),h}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(a){this.reserve(a),this.length=a}reserve(a){if(a>this.capacity){this.capacity=Math.max(a,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let h=this.uint8;this._refreshViews(),h&&this.uint8.set(h)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function wn(u,a=1){let h=0,A=0;return{members:u.map(x=>{let E=w_[x.type].BYTES_PER_ELEMENT,P=h=Sf(h,Math.max(a,E)),D=x.components||1;return A=Math.max(A,E),h+=E*D,{name:x.name,type:x.type,components:D,offset:P}}),size:Sf(h,Math.max(A,a)),alignment:a}}function Sf(u,a){return Math.ceil(u/a)*a}class Es extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.int16[x+0]=h,this.int16[x+1]=A,a}}Es.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2i4\",Es);class gh extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.int16[E+0]=h,this.int16[E+1]=A,this.int16[E+2]=x,a}}gh.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3i6\",gh);class Wo extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.int16[P+0]=h,this.int16[P+1]=A,this.int16[P+2]=x,this.int16[P+3]=E,a}}Wo.prototype.bytesPerElement=8,Ge(\"StructArrayLayout4i8\",Wo);class p0 extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}p0.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i4i12\",p0);class Fd extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=4*a,V=8*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.uint8[V+4]=x,this.uint8[V+5]=E,this.uint8[V+6]=P,this.uint8[V+7]=D,a}}Fd.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2i4ub8\",Fd);class Tf extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.float32[x+0]=h,this.float32[x+1]=A,a}}Tf.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2f8\",Tf);class Ho extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q){let X=this.length;return this.resize(X+1),this.emplace(X,a,h,A,x,E,P,D,F,V,q)}emplace(a,h,A,x,E,P,D,F,V,q,X){let rt=10*a;return this.uint16[rt+0]=h,this.uint16[rt+1]=A,this.uint16[rt+2]=x,this.uint16[rt+3]=E,this.uint16[rt+4]=P,this.uint16[rt+5]=D,this.uint16[rt+6]=F,this.uint16[rt+7]=V,this.uint16[rt+8]=q,this.uint16[rt+9]=X,a}}Ho.prototype.bytesPerElement=20,Ge(\"StructArrayLayout10ui20\",Ho);class lA extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt){let at=this.length;return this.resize(at+1),this.emplace(at,a,h,A,x,E,P,D,F,V,q,X,rt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at){let ct=12*a;return this.int16[ct+0]=h,this.int16[ct+1]=A,this.int16[ct+2]=x,this.int16[ct+3]=E,this.uint16[ct+4]=P,this.uint16[ct+5]=D,this.uint16[ct+6]=F,this.uint16[ct+7]=V,this.int16[ct+8]=q,this.int16[ct+9]=X,this.int16[ct+10]=rt,this.int16[ct+11]=at,a}}lA.prototype.bytesPerElement=24,Ge(\"StructArrayLayout4i4ui4i24\",lA);class bi extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.float32[E+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}bi.prototype.bytesPerElement=12,Ge(\"StructArrayLayout3f12\",bi);class T extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint32[1*a+0]=h,a}}T.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1ul4\",T);class l extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V){let q=this.length;return this.resize(q+1),this.emplace(q,a,h,A,x,E,P,D,F,V)}emplace(a,h,A,x,E,P,D,F,V,q){let X=10*a,rt=5*a;return this.int16[X+0]=h,this.int16[X+1]=A,this.int16[X+2]=x,this.int16[X+3]=E,this.int16[X+4]=P,this.int16[X+5]=D,this.uint32[rt+3]=F,this.uint16[X+8]=V,this.uint16[X+9]=q,a}}l.prototype.bytesPerElement=20,Ge(\"StructArrayLayout6i1ul2ui20\",l);class d extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}d.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i2i2i12\",d);class v extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E){let P=this.length;return this.resize(P+1),this.emplace(P,a,h,A,x,E)}emplace(a,h,A,x,E,P){let D=4*a,F=8*a;return this.float32[D+0]=h,this.float32[D+1]=A,this.float32[D+2]=x,this.int16[F+6]=E,this.int16[F+7]=P,a}}v.prototype.bytesPerElement=16,Ge(\"StructArrayLayout2f1f2i16\",v);class b extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=12*a,D=3*a;return this.uint8[P+0]=h,this.uint8[P+1]=A,this.float32[D+1]=x,this.float32[D+2]=E,a}}b.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2ub2f12\",b);class M extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[E+0]=h,this.uint16[E+1]=A,this.uint16[E+2]=x,a}}M.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3ui6\",M);class O extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt){let jt=this.length;return this.resize(jt+1),this.emplace(jt,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt){let Rt=24*a,Gt=12*a,Yt=48*a;return this.int16[Rt+0]=h,this.int16[Rt+1]=A,this.uint16[Rt+2]=x,this.uint16[Rt+3]=E,this.uint32[Gt+2]=P,this.uint32[Gt+3]=D,this.uint32[Gt+4]=F,this.uint16[Rt+10]=V,this.uint16[Rt+11]=q,this.uint16[Rt+12]=X,this.float32[Gt+7]=rt,this.float32[Gt+8]=at,this.uint8[Yt+36]=ct,this.uint8[Yt+37]=mt,this.uint8[Yt+38]=bt,this.uint32[Gt+10]=Pt,this.int16[Rt+22]=jt,a}}O.prototype.bytesPerElement=48,Ge(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",O);class B extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye){let Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye,Ie){let Ae=32*a,hr=16*a;return this.int16[Ae+0]=h,this.int16[Ae+1]=A,this.int16[Ae+2]=x,this.int16[Ae+3]=E,this.int16[Ae+4]=P,this.int16[Ae+5]=D,this.int16[Ae+6]=F,this.int16[Ae+7]=V,this.uint16[Ae+8]=q,this.uint16[Ae+9]=X,this.uint16[Ae+10]=rt,this.uint16[Ae+11]=at,this.uint16[Ae+12]=ct,this.uint16[Ae+13]=mt,this.uint16[Ae+14]=bt,this.uint16[Ae+15]=Pt,this.uint16[Ae+16]=jt,this.uint16[Ae+17]=Rt,this.uint16[Ae+18]=Gt,this.uint16[Ae+19]=Yt,this.uint16[Ae+20]=ce,this.uint16[Ae+21]=Ne,this.uint16[Ae+22]=ir,this.uint32[hr+12]=Fe,this.float32[hr+13]=Re,this.float32[hr+14]=Me,this.uint16[Ae+30]=Ye,this.uint16[Ae+31]=Ie,a}}B.prototype.bytesPerElement=64,Ge(\"StructArrayLayout8i15ui1ul2f2ui64\",B);class U extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.float32[1*a+0]=h,a}}U.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1f4\",U);class W extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[6*a+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}W.prototype.bytesPerElement=12,Ge(\"StructArrayLayout1ui2f12\",W);class Z extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=4*a;return this.uint32[2*a+0]=h,this.uint16[E+2]=A,this.uint16[E+3]=x,a}}Z.prototype.bytesPerElement=8,Ge(\"StructArrayLayout1ul2ui8\",Z);class $ extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.uint16[x+0]=h,this.uint16[x+1]=A,a}}$.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2ui4\",$);class st extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint16[1*a+0]=h,a}}st.prototype.bytesPerElement=2,Ge(\"StructArrayLayout1ui2\",st);class At extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.float32[P+0]=h,this.float32[P+1]=A,this.float32[P+2]=x,this.float32[P+3]=E,a}}At.prototype.bytesPerElement=16,Ge(\"StructArrayLayout4f16\",At);class pt extends mh{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new w(this.anchorPointX,this.anchorPointY)}}pt.prototype.size=20;class yt extends l{get(a){return new pt(this,a)}}Ge(\"CollisionBoxArray\",yt);class dt extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(a){this._structArray.uint8[this._pos1+37]=a}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(a){this._structArray.uint8[this._pos1+38]=a}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(a){this._structArray.uint32[this._pos4+10]=a}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}dt.prototype.size=48;class Ft extends O{get(a){return new dt(this,a)}}Ge(\"PlacedSymbolArray\",Ft);class Ht extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(a){this._structArray.uint32[this._pos4+12]=a}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ht.prototype.size=64;class St extends B{get(a){return new Ht(this,a)}}Ge(\"SymbolInstanceArray\",St);class Bt extends U{getoffsetX(a){return this.float32[1*a+0]}}Ge(\"GlyphOffsetArray\",Bt);class Qt extends gh{getx(a){return this.int16[3*a+0]}gety(a){return this.int16[3*a+1]}gettileUnitDistanceFromAnchor(a){return this.int16[3*a+2]}}Ge(\"SymbolLineVertexArray\",Qt);class $t extends mh{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}$t.prototype.size=12;class oe extends W{get(a){return new $t(this,a)}}Ge(\"TextAnchorOffsetArray\",oe);class pe extends mh{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}pe.prototype.size=8;class he extends Z{get(a){return new pe(this,a)}}Ge(\"FeatureIndexArray\",he);class be extends Es{}class Ze extends Es{}class Kr extends Es{}class Ee extends p0{}class pr extends Fd{}class tr extends Tf{}class Gi extends Ho{}class Jr extends lA{}class Vr extends bi{}class ei extends T{}class On extends d{}class tn extends b{}class Gs extends M{}class hs extends ${}let Bn=wn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:qo}=Bn;class jr{constructor(a=[]){this.segments=a}prepareSegment(a,h,A,x){let E=this.segments[this.segments.length-1];return a>jr.MAX_VERTEX_ARRAY_LENGTH&&Ke(`Max vertices per segment is ${jr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${a}`),(!E||E.vertexLength+a>jr.MAX_VERTEX_ARRAY_LENGTH||E.sortKey!==x)&&(E={vertexOffset:h.length,primitiveOffset:A.length,vertexLength:0,primitiveLength:0},x!==void 0&&(E.sortKey=x),this.segments.push(E)),E}get(){return this.segments}destroy(){for(let a of this.segments)for(let h in a.vaos)a.vaos[h].destroy()}static simpleSegment(a,h,A,x){return new jr([{vertexOffset:a,primitiveOffset:h,vertexLength:A,primitiveLength:x,vaos:{},sortKey:0}])}}function ql(u,a){return 256*(u=ut(Math.floor(u),0,255))+ut(Math.floor(a),0,255)}jr.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ge(\"SegmentVector\",jr);let Zl=wn([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var yu={exports:{}},vu={exports:{}};vu.exports=function(u,a){var h,A,x,E,P,D,F,V;for(A=u.length-(h=3&u.length),x=a,P=3432918353,D=461845907,V=0;V>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295)<<13|x>>>19))+((5*(x>>>16)&65535)<<16)&4294967295))+((58964+(E>>>16)&65535)<<16);switch(F=0,h){case 3:F^=(255&u.charCodeAt(V+2))<<16;case 2:F^=(255&u.charCodeAt(V+1))<<8;case 1:x^=F=(65535&(F=(F=(65535&(F^=255&u.charCodeAt(V)))*P+(((F>>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295}return x^=u.length,x=2246822507*(65535&(x^=x>>>16))+((2246822507*(x>>>16)&65535)<<16)&4294967295,x=3266489909*(65535&(x^=x>>>13))+((3266489909*(x>>>16)&65535)<<16)&4294967295,(x^=x>>>16)>>>0};var _h=vu.exports,Ws={exports:{}};Ws.exports=function(u,a){for(var h,A=u.length,x=a^A,E=0;A>=4;)h=1540483477*(65535&(h=255&u.charCodeAt(E)|(255&u.charCodeAt(++E))<<8|(255&u.charCodeAt(++E))<<16|(255&u.charCodeAt(++E))<<24))+((1540483477*(h>>>16)&65535)<<16),x=1540483477*(65535&x)+((1540483477*(x>>>16)&65535)<<16)^(h=1540483477*(65535&(h^=h>>>24))+((1540483477*(h>>>16)&65535)<<16)),A-=4,++E;switch(A){case 3:x^=(255&u.charCodeAt(E+2))<<16;case 2:x^=(255&u.charCodeAt(E+1))<<8;case 1:x=1540483477*(65535&(x^=255&u.charCodeAt(E)))+((1540483477*(x>>>16)&65535)<<16)}return x=1540483477*(65535&(x^=x>>>13))+((1540483477*(x>>>16)&65535)<<16),(x^=x>>>15)>>>0};var Ps=_h,Eo=Ws.exports;yu.exports=Ps,yu.exports.murmur3=Ps,yu.exports.murmur2=Eo;var yh=c(yu.exports);class Fn{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(a,h,A,x){this.ids.push(fs(a)),this.positions.push(h,A,x)}getPositions(a){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let h=fs(a),A=0,x=this.ids.length-1;for(;A>1;this.ids[P]>=h?x=P:A=P+1}let E=[];for(;this.ids[A]===h;)E.push({index:this.positions[3*A],start:this.positions[3*A+1],end:this.positions[3*A+2]}),A++;return E}static serialize(a,h){let A=new Float64Array(a.ids),x=new Uint32Array(a.positions);return Zo(A,x,0,A.length-1),h&&h.push(A.buffer,x.buffer),{ids:A,positions:x}}static deserialize(a){let h=new Fn;return h.ids=a.ids,h.positions=a.positions,h.indexed=!0,h}}function fs(u){let a=+u;return!isNaN(a)&&a<=Number.MAX_SAFE_INTEGER?a:yh(String(u))}function Zo(u,a,h,A){for(;h>1],E=h-1,P=A+1;for(;;){do E++;while(u[E]x);if(E>=P)break;_n(u,E,P),_n(a,3*E,3*P),_n(a,3*E+1,3*P+1),_n(a,3*E+2,3*P+2)}P-h`u_${x}`),this.type=A}setUniform(a,h,A){a.set(A.constantOr(this.value))}getBinding(a,h,A){return this.type===\"color\"?new S_(a,h):new Gr(a,h)}}class Yo{constructor(a,h){this.uniformNames=h.map(A=>`u_${A}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(a,h){this.pixelRatioFrom=h.pixelRatio,this.pixelRatioTo=a.pixelRatio,this.patternFrom=h.tlbr,this.patternTo=a.tlbr}setUniform(a,h,A,x){let E=x===\"u_pattern_to\"?this.patternTo:x===\"u_pattern_from\"?this.patternFrom:x===\"u_pixel_ratio_to\"?this.pixelRatioTo:x===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;E&&a.set(E)}getBinding(a,h,A){return A.substr(0,9)===\"u_pattern\"?new Ua(a,h):new Gr(a,h)}}class me{constructor(a,h,A,x){this.expression=a,this.type=A,this.maxValue=0,this.paintVertexAttributes=h.map(E=>({name:`a_${E}`,type:\"Float32\",components:A===\"color\"?2:1,offset:0})),this.paintVertexArray=new x}populatePaintArray(a,h,A,x,E){let P=this.paintVertexArray.length,D=this.expression.evaluate(new un(0),h,{},x,[],E);this.paintVertexArray.resize(a),this._setPaintValue(P,a,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:0},A,x);this._setPaintValue(a,h,E)}_setPaintValue(a,h,A){if(this.type===\"color\"){let x=cA(A);for(let E=a;E`u_${D}_t`),this.type=A,this.useIntegerZoom=x,this.zoom=E,this.maxValue=0,this.paintVertexAttributes=h.map(D=>({name:`a_${D}`,type:\"Float32\",components:A===\"color\"?4:2,offset:0})),this.paintVertexArray=new P}populatePaintArray(a,h,A,x,E){let P=this.expression.evaluate(new un(this.zoom),h,{},x,[],E),D=this.expression.evaluate(new un(this.zoom+1),h,{},x,[],E),F=this.paintVertexArray.length;this.paintVertexArray.resize(a),this._setPaintValue(F,a,P,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:this.zoom},A,x),P=this.expression.evaluate({zoom:this.zoom+1},A,x);this._setPaintValue(a,h,E,P)}_setPaintValue(a,h,A,x){if(this.type===\"color\"){let E=cA(A),P=cA(x);for(let D=a;D`#define HAS_UNIFORM_${x}`))}return a}getBinderAttributes(){let a=[];for(let h in this.binders){let A=this.binders[h];if(A instanceof me||A instanceof ke)for(let x=0;x!0){this.programConfigurations={};for(let x of a)this.programConfigurations[x.id]=new Mf(x,h,A);this.needsUpload=!1,this._featureMap=new Fn,this._bufferOffset=0}populatePaintArrays(a,h,A,x,E,P){for(let D in this.programConfigurations)this.programConfigurations[D].populatePaintArrays(a,h,x,E,P);h.id!==void 0&&this._featureMap.add(h.id,A,this._bufferOffset,a),this._bufferOffset=a,this.needsUpload=!0}updatePaintArrays(a,h,A,x){for(let E of A)this.needsUpload=this.programConfigurations[E.id].updatePaintArrays(a,this._featureMap,h,E,x)||this.needsUpload}get(a){return this.programConfigurations[a]}upload(a){if(this.needsUpload){for(let h in this.programConfigurations)this.programConfigurations[h].upload(a);this.needsUpload=!1}}destroy(){for(let a in this.programConfigurations)this.programConfigurations[a].destroy()}}function Fc(u,a){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[u]||[u.replace(`${a}-`,\"\").replace(/-/g,\"_\")]}function Ux(u,a,h){let A={color:{source:Tf,composite:At},number:{source:U,composite:Tf}},x=function(E){return{\"line-pattern\":{source:Gi,composite:Gi},\"fill-pattern\":{source:Gi,composite:Gi},\"fill-extrusion-pattern\":{source:Gi,composite:Gi}}[E]}(u);return x&&x[h]||A[a][h]}Ge(\"ConstantBinder\",Yl),Ge(\"CrossFadedConstantBinder\",Yo),Ge(\"SourceExpressionBinder\",me),Ge(\"CrossFadedCompositeBinder\",ml),Ge(\"CompositeExpressionBinder\",ke),Ge(\"ProgramConfiguration\",Mf,{omit:[\"_buffers\"]}),Ge(\"ProgramConfigurationSet\",Va);let en=8192,p=Math.pow(2,14)-1,m=-p-1;function y(u){let a=en/u.extent,h=u.loadGeometry();for(let A=0;AP.x+1||FP.y+1)&&Ke(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return h}function S(u,a){return{type:u.type,id:u.id,properties:u.properties,geometry:a?y(u):[]}}function C(u,a,h,A,x){u.emplaceBack(2*a+(A+1)/2,2*h+(x+1)/2)}class k{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ze,this.indexArray=new Gs,this.segments=new jr,this.programConfigurations=new Va(a.layers,a.zoom),this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){let x=this.layers[0],E=[],P=null,D=!1;x.type===\"circle\"&&(P=x.layout.get(\"circle-sort-key\"),D=!P.isConstant());for(let{feature:F,id:V,index:q,sourceLayerIndex:X}of a){let rt=this.layers[0]._featureFilter.needGeometry,at=S(F,rt);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),at,A))continue;let ct=D?P.evaluate(at,{},A):void 0,mt={id:V,properties:F.properties,type:F.type,sourceLayerIndex:X,index:q,geometry:rt?at.geometry:y(F),patterns:{},sortKey:ct};E.push(mt)}D&&E.sort((F,V)=>F.sortKey-V.sortKey);for(let F of E){let{geometry:V,index:q,sourceLayerIndex:X}=F,rt=a[q].feature;this.addFeature(F,V,q,A),h.featureIndex.insert(rt,V,q,X,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qo),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(a,h,A,x){for(let E of h)for(let P of E){let D=P.x,F=P.y;if(D<0||D>=en||F<0||F>=en)continue;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,a.sortKey),q=V.vertexLength;C(this.layoutVertexArray,D,F,-1,-1),C(this.layoutVertexArray,D,F,1,-1),C(this.layoutVertexArray,D,F,1,1),C(this.layoutVertexArray,D,F,-1,1),this.indexArray.emplaceBack(q,q+1,q+2),this.indexArray.emplaceBack(q,q+3,q+2),V.vertexLength+=4,V.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{},x)}}function L(u,a){for(let h=0;h1){if(ot(u,a))return!0;for(let A=0;A1?h:h.sub(a)._mult(x)._add(a))}function re(u,a){let h,A,x,E=!1;for(let P=0;Pa.y!=x.y>a.y&&a.x<(x.x-A.x)*(a.y-A.y)/(x.y-A.y)+A.x&&(E=!E)}return E}function ne(u,a){let h=!1;for(let A=0,x=u.length-1;Aa.y!=P.y>a.y&&a.x<(P.x-E.x)*(a.y-E.y)/(P.y-E.y)+E.x&&(h=!h)}return h}function Le(u,a,h){let A=h[0],x=h[2];if(u.xx.x&&a.x>x.x||u.yx.y&&a.y>x.y)return!1;let E=rr(u,a,h[0]);return E!==rr(u,a,h[1])||E!==rr(u,a,h[2])||E!==rr(u,a,h[3])}function We(u,a,h){let A=a.paint.get(u).value;return A.kind===\"constant\"?A.value:h.programConfigurations.get(a.id).getMaxValue(u)}function te(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function _e(u,a,h,A,x){if(!a[0]&&!a[1])return u;let E=w.convert(a)._mult(x);h===\"viewport\"&&E._rotate(-A);let P=[];for(let D=0;Dyn(bt,mt))}(V,F),at=X?q*D:q;for(let ct of x)for(let mt of ct){let bt=X?mt:yn(mt,F),Pt=at,jt=Pi([],[mt.x,mt.y,0,1],F);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Pt*=jt[3]/P.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Pt*=P.cameraToCenterDistance/jt[3]),z(rt,bt,Pt))return!0}return!1}}function yn(u,a){let h=Pi([],[u.x,u.y,0,1],a);return new w(h[0]/h[3],h[1]/h[3])}class Or extends k{}let zF;Ge(\"HeatmapBucket\",Or,{omit:[\"layers\"]});var VX={get paint(){return zF=zF||new Hn({\"heatmap-radius\":new dr(ee.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new dr(ee.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new nr(ee.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Bd(ee.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new nr(ee.paint_heatmap[\"heatmap-opacity\"])})}};function fC(u,{width:a,height:h},A,x){if(x){if(x instanceof Uint8ClampedArray)x=new Uint8Array(x.buffer);else if(x.length!==a*h*A)throw new RangeError(`mismatched image size. expected: ${x.length} but got: ${a*h*A}`)}else x=new Uint8Array(a*h*A);return u.width=a,u.height=h,u.data=x,u}function NF(u,{width:a,height:h},A){if(a===u.width&&h===u.height)return;let x=fC({},{width:a,height:h},A);dC(u,x,{x:0,y:0},{x:0,y:0},{width:Math.min(u.width,a),height:Math.min(u.height,h)},A),u.width=a,u.height=h,u.data=x.data}function dC(u,a,h,A,x,E){if(x.width===0||x.height===0)return a;if(x.width>u.width||x.height>u.height||h.x>u.width-x.width||h.y>u.height-x.height)throw new RangeError(\"out of range source coordinates for image copy\");if(x.width>a.width||x.height>a.height||A.x>a.width-x.width||A.y>a.height-x.height)throw new RangeError(\"out of range destination coordinates for image copy\");let P=u.data,D=a.data;if(P===D)throw new Error(\"srcData equals dstData, so image is already copied\");for(let F=0;F{a[u.evaluationKey]=F;let V=u.expression.evaluate(a);x.data[P+D+0]=Math.floor(255*V.r/V.a),x.data[P+D+1]=Math.floor(255*V.g/V.a),x.data[P+D+2]=Math.floor(255*V.b/V.a),x.data[P+D+3]=Math.floor(255*V.a)};if(u.clips)for(let P=0,D=0;P80*h){A=E=u[0],x=P=u[1];for(var ct=h;ctE&&(E=D),F>P&&(P=F);V=(V=Math.max(E-A,P-x))!==0?32767/V:0}return jx(rt,at,h,A,x,V,0),at}function jF(u,a,h,A,x){var E,P;if(x===gC(u,a,h,A)>0)for(E=a;E=a;E-=A)P=HF(E,u[E],u[E+1],P);return P&&JS(P,P.next)&&(Wx(P),P=P.next),P}function A0(u,a){if(!u)return u;a||(a=u);var h,A=u;do if(h=!1,A.steiner||!JS(A,A.next)&&ds(A.prev,A,A.next)!==0)A=A.next;else{if(Wx(A),(A=a=A.prev)===A.next)break;h=!0}while(h||A!==a);return a}function jx(u,a,h,A,x,E,P){if(u){!P&&E&&function(q,X,rt,at){var ct=q;do ct.z===0&&(ct.z=AC(ct.x,ct.y,X,rt,at)),ct.prevZ=ct.prev,ct.nextZ=ct.next,ct=ct.next;while(ct!==q);ct.prevZ.nextZ=null,ct.prevZ=null,function(mt){var bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir=1;do{for(Pt=mt,mt=null,Gt=null,Yt=0;Pt;){for(Yt++,jt=Pt,ce=0,bt=0;bt0||Ne>0&&jt;)ce!==0&&(Ne===0||!jt||Pt.z<=jt.z)?(Rt=Pt,Pt=Pt.nextZ,ce--):(Rt=jt,jt=jt.nextZ,Ne--),Gt?Gt.nextZ=Rt:mt=Rt,Rt.prevZ=Gt,Gt=Rt;Pt=jt}Gt.nextZ=null,ir*=2}while(Yt>1)}(ct)}(u,A,x,E);for(var D,F,V=u;u.prev!==u.next;)if(D=u.prev,F=u.next,E?YX(u,A,x,E):ZX(u))a.push(D.i/h|0),a.push(u.i/h|0),a.push(F.i/h|0),Wx(u),u=F.next,V=F.next;else if((u=F)===V){P?P===1?jx(u=QX(A0(u),a,h),a,h,A,x,E,2):P===2&&$X(u,a,h,A,x,E):jx(A0(u),a,h,A,x,E,1);break}}}function ZX(u){var a=u.prev,h=u,A=u.next;if(ds(a,h,A)>=0)return!1;for(var x=a.x,E=h.x,P=A.x,D=a.y,F=h.y,V=A.y,q=xE?x>P?x:P:E>P?E:P,at=D>F?D>V?D:V:F>V?F:V,ct=A.next;ct!==a;){if(ct.x>=q&&ct.x<=rt&&ct.y>=X&&ct.y<=at&&T_(x,D,E,F,P,V,ct.x,ct.y)&&ds(ct.prev,ct,ct.next)>=0)return!1;ct=ct.next}return!0}function YX(u,a,h,A){var x=u.prev,E=u,P=u.next;if(ds(x,E,P)>=0)return!1;for(var D=x.x,F=E.x,V=P.x,q=x.y,X=E.y,rt=P.y,at=DF?D>V?D:V:F>V?F:V,bt=q>X?q>rt?q:rt:X>rt?X:rt,Pt=AC(at,ct,a,h,A),jt=AC(mt,bt,a,h,A),Rt=u.prevZ,Gt=u.nextZ;Rt&&Rt.z>=Pt&&Gt&&Gt.z<=jt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0||(Rt=Rt.prevZ,Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0))return!1;Gt=Gt.nextZ}for(;Rt&&Rt.z>=Pt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0)return!1;Rt=Rt.prevZ}for(;Gt&&Gt.z<=jt;){if(Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0)return!1;Gt=Gt.nextZ}return!0}function QX(u,a,h){var A=u;do{var x=A.prev,E=A.next.next;!JS(x,E)&&GF(x,A,A.next,E)&&Gx(x,E)&&Gx(E,x)&&(a.push(x.i/h|0),a.push(A.i/h|0),a.push(E.i/h|0),Wx(A),Wx(A.next),A=u=E),A=A.next}while(A!==u);return A0(A)}function $X(u,a,h,A,x,E){var P=u;do{for(var D=P.next.next;D!==P.prev;){if(P.i!==D.i&&eK(P,D)){var F=WF(P,D);return P=A0(P,P.next),F=A0(F,F.next),jx(P,a,h,A,x,E,0),void jx(F,a,h,A,x,E,0)}D=D.next}P=P.next}while(P!==u)}function XX(u,a){return u.x-a.x}function KX(u,a){var h=function(x,E){var P,D=E,F=x.x,V=x.y,q=-1/0;do{if(V<=D.y&&V>=D.next.y&&D.next.y!==D.y){var X=D.x+(V-D.y)*(D.next.x-D.x)/(D.next.y-D.y);if(X<=F&&X>q&&(q=X,P=D.x=D.x&&D.x>=ct&&F!==D.x&&T_(VP.x||D.x===P.x&&JX(P,D)))&&(P=D,bt=rt)),D=D.next;while(D!==at);return P}(u,a);if(!h)return a;var A=WF(h,u);return A0(A,A.next),A0(h,h.next)}function JX(u,a){return ds(u.prev,u,a.prev)<0&&ds(a.next,u,u.next)<0}function AC(u,a,h,A,x){return(u=1431655765&((u=858993459&((u=252645135&((u=16711935&((u=(u-h)*x|0)|u<<8))|u<<4))|u<<2))|u<<1))|(a=1431655765&((a=858993459&((a=252645135&((a=16711935&((a=(a-A)*x|0)|a<<8))|a<<4))|a<<2))|a<<1))<<1}function tK(u){var a=u,h=u;do(a.x=(u-P)*(E-D)&&(u-P)*(A-D)>=(h-P)*(a-D)&&(h-P)*(E-D)>=(x-P)*(A-D)}function eK(u,a){return u.next.i!==a.i&&u.prev.i!==a.i&&!function(h,A){var x=h;do{if(x.i!==h.i&&x.next.i!==h.i&&x.i!==A.i&&x.next.i!==A.i&&GF(x,x.next,h,A))return!0;x=x.next}while(x!==h);return!1}(u,a)&&(Gx(u,a)&&Gx(a,u)&&function(h,A){var x=h,E=!1,P=(h.x+A.x)/2,D=(h.y+A.y)/2;do x.y>D!=x.next.y>D&&x.next.y!==x.y&&P<(x.next.x-x.x)*(D-x.y)/(x.next.y-x.y)+x.x&&(E=!E),x=x.next;while(x!==h);return E}(u,a)&&(ds(u.prev,u,a.prev)||ds(u,a.prev,a))||JS(u,a)&&ds(u.prev,u,u.next)>0&&ds(a.prev,a,a.next)>0)}function ds(u,a,h){return(a.y-u.y)*(h.x-a.x)-(a.x-u.x)*(h.y-a.y)}function JS(u,a){return u.x===a.x&&u.y===a.y}function GF(u,a,h,A){var x=eT(ds(u,a,h)),E=eT(ds(u,a,A)),P=eT(ds(h,A,u)),D=eT(ds(h,A,a));return x!==E&&P!==D||!(x!==0||!tT(u,h,a))||!(E!==0||!tT(u,A,a))||!(P!==0||!tT(h,u,A))||!(D!==0||!tT(h,a,A))}function tT(u,a,h){return a.x<=Math.max(u.x,h.x)&&a.x>=Math.min(u.x,h.x)&&a.y<=Math.max(u.y,h.y)&&a.y>=Math.min(u.y,h.y)}function eT(u){return u>0?1:u<0?-1:0}function Gx(u,a){return ds(u.prev,u,u.next)<0?ds(u,a,u.next)>=0&&ds(u,u.prev,a)>=0:ds(u,a,u.prev)<0||ds(u,u.next,a)<0}function WF(u,a){var h=new mC(u.i,u.x,u.y),A=new mC(a.i,a.x,a.y),x=u.next,E=a.prev;return u.next=a,a.prev=u,h.next=x,x.prev=h,A.next=h,h.prev=A,E.next=A,A.prev=E,A}function HF(u,a,h,A){var x=new mC(u,a,h);return A?(x.next=A.next,x.prev=A,A.next.prev=x,A.next=x):(x.prev=x,x.next=x),x}function Wx(u){u.next.prev=u.prev,u.prev.next=u.next,u.prevZ&&(u.prevZ.nextZ=u.nextZ),u.nextZ&&(u.nextZ.prevZ=u.prevZ)}function mC(u,a,h){this.i=u,this.x=a,this.y=h,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function gC(u,a,h,A){for(var x=0,E=a,P=h-A;E0&&h.holes.push(A+=u[x-1].length)}return h};var qF=c(pC.exports);function rK(u,a,h,A,x){ZF(u,a,h||0,A||u.length-1,x||iK)}function ZF(u,a,h,A,x){for(;A>h;){if(A-h>600){var E=A-h+1,P=a-h+1,D=Math.log(E),F=.5*Math.exp(2*D/3),V=.5*Math.sqrt(D*F*(E-F)/E)*(P-E/2<0?-1:1);ZF(u,a,Math.max(h,Math.floor(a-P*F/E+V)),Math.min(A,Math.floor(a+(E-P)*F/E+V)),x)}var q=u[a],X=h,rt=A;for(Hx(u,h,a),x(u[A],q)>0&&Hx(u,h,A);X0;)rt--}x(u[h],q)===0?Hx(u,h,rt):Hx(u,++rt,A),rt<=a&&(h=rt+1),a<=rt&&(A=rt-1)}}function Hx(u,a,h){var A=u[a];u[a]=u[h],u[h]=A}function iK(u,a){return ua?1:0}function _C(u,a){let h=u.length;if(h<=1)return[u];let A=[],x,E;for(let P=0;P1)for(let P=0;Ph.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kr,this.indexArray=new Gs,this.indexArray2=new hs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.segments2=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"fill\",this.layers,h);let x=this.layers[0].layout.get(\"fill-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A,h.availableImages):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"fill\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qX),this.indexBuffer=a.createIndexBuffer(this.indexArray),this.indexBuffer2=a.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(a,h,A,x,E){for(let P of _C(h,500)){let D=0;for(let at of P)D+=at.length;let F=this.segments.prepareSegment(D,this.layoutVertexArray,this.indexArray),V=F.vertexLength,q=[],X=[];for(let at of P){if(at.length===0)continue;at!==P[0]&&X.push(q.length/2);let ct=this.segments2.prepareSegment(at.length,this.layoutVertexArray,this.indexArray2),mt=ct.vertexLength;this.layoutVertexArray.emplaceBack(at[0].x,at[0].y),this.indexArray2.emplaceBack(mt+at.length-1,mt),q.push(at[0].x),q.push(at[0].y);for(let bt=1;bt>3}if(x--,A===1||A===2)E+=u.readSVarint(),P+=u.readSVarint(),A===1&&(a&&D.push(a),a=[]),a.push(new uK(E,P));else{if(A!==7)throw new Error(\"unknown command \"+A);a&&a.push(a[0].clone())}}return a&&D.push(a),D},M_.prototype.bbox=function(){var u=this._pbf;u.pos=this._geometry;for(var a=u.readVarint()+u.pos,h=1,A=0,x=0,E=0,P=1/0,D=-1/0,F=1/0,V=-1/0;u.pos>3}if(A--,h===1||h===2)(x+=u.readSVarint())D&&(D=x),(E+=u.readSVarint())V&&(V=E);else if(h!==7)throw new Error(\"unknown command \"+h)}return[P,F,D,V]},M_.prototype.toGeoJSON=function(u,a,h){var A,x,E=this.extent*Math.pow(2,h),P=this.extent*u,D=this.extent*a,F=this.loadGeometry(),V=M_.types[this.type];function q(at){for(var ct=0;ct>3;x=P===1?A.readString():P===2?A.readFloat():P===3?A.readDouble():P===4?A.readVarint64():P===5?A.readVarint():P===6?A.readSVarint():P===7?A.readBoolean():null}return x}(h))}KF.prototype.feature=function(u){if(u<0||u>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[u];var a=this._pbf.readVarint()+this._pbf.pos;return new dK(this._pbf,a,this.extent,this._keys,this._values)};var AK=XF;function mK(u,a,h){if(u===3){var A=new AK(h,h.readVarint()+h.pos);A.length&&(a[A.name]=A)}}uA.VectorTile=function(u,a){this.layers=u.readFields(mK,{},a)},uA.VectorTileFeature=$F,uA.VectorTileLayer=XF;let gK=uA.VectorTileFeature.types,bC=Math.pow(2,13);function qx(u,a,h,A,x,E,P,D){u.emplaceBack(a,h,2*Math.floor(A*bC)+P,x*bC*2,E*bC*2,Math.round(D))}class wC{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ee,this.centroidVertexArray=new be,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.features=[],this.hasPattern=yC(\"fill-extrusion\",this.layers,h);for(let{feature:x,id:E,index:P,sourceLayerIndex:D}of a){let F=this.layers[0]._featureFilter.needGeometry,V=S(x,F);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),V,A))continue;let q={id:E,sourceLayerIndex:D,index:P,geometry:F?V.geometry:y(x),properties:x.properties,type:x.type,patterns:{}};this.hasPattern?this.features.push(vC(\"fill-extrusion\",this.layers,q,this.zoom,h)):this.addFeature(q,q.geometry,P,A,{}),h.featureIndex.insert(x,q.geometry,P,D,this.index,!0)}}addFeatures(a,h,A){for(let x of this.features){let{geometry:E}=x;this.addFeature(x,E,x.index,h,A)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,cK),this.centroidVertexBuffer=a.createVertexBuffer(this.centroidVertexArray,lK.members,!0),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(a,h,A,x,E){let P={x:0,y:0,vertexCount:0};for(let D of _C(h,500)){let F=0;for(let ct of D)F+=ct.length;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ct of D){if(ct.length===0||yK(ct))continue;let mt=0;for(let bt=0;bt=1){let jt=ct[bt-1];if(!_K(Pt,jt)){V.vertexLength+4>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Rt=Pt.sub(jt)._perp()._unit(),Gt=jt.dist(Pt);mt+Gt>32768&&(mt=0),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*Pt.x,P.y+=2*Pt.y,P.vertexCount+=2,mt+=Gt,qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*jt.x,P.y+=2*jt.y,P.vertexCount+=2;let Yt=V.vertexLength;this.indexArray.emplaceBack(Yt,Yt+2,Yt+1),this.indexArray.emplaceBack(Yt+1,Yt+2,Yt+3),V.vertexLength+=4,V.primitiveLength+=2}}}}if(V.vertexLength+F>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(F,this.layoutVertexArray,this.indexArray)),gK[a.type]!==\"Polygon\")continue;let q=[],X=[],rt=V.vertexLength;for(let ct of D)if(ct.length!==0){ct!==D[0]&&X.push(q.length/2);for(let mt=0;mten)||u.y===a.y&&(u.y<0||u.y>en)}function yK(u){return u.every(a=>a.x<0)||u.every(a=>a.x>en)||u.every(a=>a.y<0)||u.every(a=>a.y>en)}let JF;Ge(\"FillExtrusionBucket\",wC,{omit:[\"layers\",\"features\"]});var vK={get paint(){return JF=JF||new Hn({\"fill-extrusion-opacity\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new wf(ee[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class xK extends ji{constructor(a){super(a,vK)}createBucket(a){return new wC(a)}queryRadius(){return te(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(a,h,A,x,E,P,D,F){let V=_e(a,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),P.angle,D),q=this.paint.get(\"fill-extrusion-height\").evaluate(h,A),X=this.paint.get(\"fill-extrusion-base\").evaluate(h,A),rt=function(ct,mt,bt,Pt){let jt=[];for(let Rt of ct){let Gt=[Rt.x,Rt.y,0,1];Pi(Gt,Gt,mt),jt.push(new w(Gt[0]/Gt[3],Gt[1]/Gt[3]))}return jt}(V,F),at=function(ct,mt,bt,Pt){let jt=[],Rt=[],Gt=Pt[8]*mt,Yt=Pt[9]*mt,ce=Pt[10]*mt,Ne=Pt[11]*mt,ir=Pt[8]*bt,Fe=Pt[9]*bt,Re=Pt[10]*bt,Me=Pt[11]*bt;for(let Ye of ct){let Ie=[],Ae=[];for(let hr of Ye){let sr=hr.x,ri=hr.y,Tn=Pt[0]*sr+Pt[4]*ri+Pt[12],Rn=Pt[1]*sr+Pt[5]*ri+Pt[13],qs=Pt[2]*sr+Pt[6]*ri+Pt[14],Ql=Pt[3]*sr+Pt[7]*ri+Pt[15],ja=qs+ce,Is=Ql+Ne,Po=Tn+ir,$o=Rn+Fe,Ga=qs+Re,Wa=Ql+Me,Zs=new w((Tn+Gt)/Is,(Rn+Yt)/Is);Zs.z=ja/Is,Ie.push(Zs);let Ys=new w(Po/Wa,$o/Wa);Ys.z=Ga/Wa,Ae.push(Ys)}jt.push(Ie),Rt.push(Ae)}return[jt,Rt]}(x,X,q,F);return function(ct,mt,bt){let Pt=1/0;H(bt,mt)&&(Pt=t6(bt,mt[0]));for(let jt=0;jth.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(h=>{this.gradients[h.id]={}}),this.layoutVertexArray=new pr,this.layoutVertexArray2=new tr,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"line\",this.layers,h);let x=this.layers[0].layout.get(\"line-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"line\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=a.createVertexBuffer(this.layoutVertexArray2,TK)),this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,wK),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(a){if(a.properties&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_end\"))return{start:+a.properties.mapbox_clip_start,end:+a.properties.mapbox_clip_end}}addFeature(a,h,A,x,E){let P=this.layers[0].layout,D=P.get(\"line-join\").evaluate(a,{}),F=P.get(\"line-cap\"),V=P.get(\"line-miter-limit\"),q=P.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(a);for(let X of h)this.addLine(X,a,D,F,V,q);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,E,x)}addLine(a,h,A,x,E,P){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Pt=0;Pt=2&&a[F-1].equals(a[F-2]);)F--;let V=0;for(;V0;if(Ne&&Pt>V){let Me=rt.dist(at);if(Me>2*q){let Ye=rt.sub(rt.sub(at)._mult(q/Me)._round());this.updateDistance(at,Ye),this.addCurrentVertex(Ye,mt,0,0,X),at=Ye}}let Fe=at&&ct,Re=Fe?A:D?\"butt\":x;if(Fe&&Re===\"round\"&&(YtE&&(Re=\"bevel\"),Re===\"bevel\"&&(Yt>2&&(Re=\"flipbevel\"),Yt100)jt=bt.mult(-1);else{let Me=Yt*mt.add(bt).mag()/mt.sub(bt).mag();jt._perp()._mult(Me*(ir?-1:1))}this.addCurrentVertex(rt,jt,0,0,X),this.addCurrentVertex(rt,jt.mult(-1),0,0,X)}else if(Re===\"bevel\"||Re===\"fakeround\"){let Me=-Math.sqrt(Yt*Yt-1),Ye=ir?Me:0,Ie=ir?0:Me;if(at&&this.addCurrentVertex(rt,mt,Ye,Ie,X),Re===\"fakeround\"){let Ae=Math.round(180*ce/Math.PI/20);for(let hr=1;hr2*q){let Ye=rt.add(ct.sub(rt)._mult(q/Me)._round());this.updateDistance(rt,Ye),this.addCurrentVertex(Ye,bt,0,0,X),rt=Ye}}}}addCurrentVertex(a,h,A,x,E,P=!1){let D=h.y*x-h.x,F=-h.y-h.x*x;this.addHalfVertex(a,h.x+h.y*A,h.y-h.x*A,P,!1,A,E),this.addHalfVertex(a,D,F,P,!0,-x,E),this.distance>e6/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(a,h,A,x,E,P))}addHalfVertex({x:a,y:h},A,x,E,P,D,F){let V=.5*(this.lineClips?this.scaledDistance*(e6-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((a<<1)+(E?1:0),(h<<1)+(P?1:0),Math.round(63*A)+128,Math.round(63*x)+128,1+(D===0?0:D<0?-1:1)|(63&V)<<2,V>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let q=F.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,q),F.primitiveLength++),P?this.e2=q:this.e1=q}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(a,h){this.distance+=a.dist(h),this.updateScaledDistance()}}let r6,i6;Ge(\"LineBucket\",SC,{omit:[\"layers\",\"patternFeatures\"]});var n6={get paint(){return i6=i6||new Hn({\"line-opacity\":new dr(ee.paint_line[\"line-opacity\"]),\"line-color\":new dr(ee.paint_line[\"line-color\"]),\"line-translate\":new nr(ee.paint_line[\"line-translate\"]),\"line-translate-anchor\":new nr(ee.paint_line[\"line-translate-anchor\"]),\"line-width\":new dr(ee.paint_line[\"line-width\"]),\"line-gap-width\":new dr(ee.paint_line[\"line-gap-width\"]),\"line-offset\":new dr(ee.paint_line[\"line-offset\"]),\"line-blur\":new dr(ee.paint_line[\"line-blur\"]),\"line-dasharray\":new aA(ee.paint_line[\"line-dasharray\"]),\"line-pattern\":new wf(ee.paint_line[\"line-pattern\"]),\"line-gradient\":new Bd(ee.paint_line[\"line-gradient\"])})},get layout(){return r6=r6||new Hn({\"line-cap\":new nr(ee.layout_line[\"line-cap\"]),\"line-join\":new dr(ee.layout_line[\"line-join\"]),\"line-miter-limit\":new nr(ee.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new nr(ee.layout_line[\"line-round-limit\"]),\"line-sort-key\":new dr(ee.layout_line[\"line-sort-key\"])})}};class PK extends dr{possiblyEvaluate(a,h){return h=new un(Math.floor(h.zoom),{now:h.now,fadeDuration:h.fadeDuration,zoomHistory:h.zoomHistory,transition:h.transition}),super.possiblyEvaluate(a,h)}evaluate(a,h,A,x){return h=kt({},h,{zoom:Math.floor(h.zoom)}),super.evaluate(a,h,A,x)}}let rT;class IK extends ji{constructor(a){super(a,n6),this.gradientVersion=0,rT||(rT=new PK(n6.paint.properties[\"line-width\"].specification),rT.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(a){if(a===\"line-gradient\"){let h=this.gradientExpression();this.stepInterpolant=!!function(A){return A._styleExpression!==void 0}(h)&&h._styleExpression.expression instanceof sh,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(a,h){super.recalculate(a,h),this.paint._values[\"line-floorwidth\"]=rT.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,a)}createBucket(a){return new SC(a)}queryRadius(a){let h=a,A=s6(We(\"line-width\",this,h),We(\"line-gap-width\",this,h)),x=We(\"line-offset\",this,h);return A/2+Math.abs(x)+te(this.paint.get(\"line-translate\"))}queryIntersectsFeature(a,h,A,x,E,P,D){let F=_e(a,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),P.angle,D),V=D/2*s6(this.paint.get(\"line-width\").evaluate(h,A),this.paint.get(\"line-gap-width\").evaluate(h,A)),q=this.paint.get(\"line-offset\").evaluate(h,A);return q&&(x=function(X,rt){let at=[];for(let ct=0;ct=3){for(let bt=0;bt0?a+2*u:u}let CK=wn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),LK=wn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);wn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let kK=wn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);wn([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let o6=wn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),RK=wn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function DK(u,a,h){return u.sections.forEach(A=>{A.text=function(x,E,P){let D=E.layout.get(\"text-transform\").evaluate(P,{});return D===\"uppercase\"?x=x.toLocaleUpperCase():D===\"lowercase\"&&(x=x.toLocaleLowerCase()),ua.applyArabicShaping&&(x=ua.applyArabicShaping(x)),x}(A.text,a,h)}),u}wn([{name:\"triangle\",components:3,type:\"Uint16\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),wn([{type:\"Float32\",name:\"offsetX\"}]),wn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),wn([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Yx={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var Hs=24,a6=rn,l6=function(u,a,h,A,x){var E,P,D=8*x-A-1,F=(1<>1,q=-7,X=h?x-1:0,rt=h?-1:1,at=u[a+X];for(X+=rt,E=at&(1<<-q)-1,at>>=-q,q+=D;q>0;E=256*E+u[a+X],X+=rt,q-=8);for(P=E&(1<<-q)-1,E>>=-q,q+=A;q>0;P=256*P+u[a+X],X+=rt,q-=8);if(E===0)E=1-V;else{if(E===F)return P?NaN:1/0*(at?-1:1);P+=Math.pow(2,A),E-=V}return(at?-1:1)*P*Math.pow(2,E-A)},c6=function(u,a,h,A,x,E){var P,D,F,V=8*E-x-1,q=(1<>1,rt=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,at=A?0:E-1,ct=A?1:-1,mt=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(D=isNaN(a)?1:0,P=q):(P=Math.floor(Math.log(a)/Math.LN2),a*(F=Math.pow(2,-P))<1&&(P--,F*=2),(a+=P+X>=1?rt/F:rt*Math.pow(2,1-X))*F>=2&&(P++,F/=2),P+X>=q?(D=0,P=q):P+X>=1?(D=(a*F-1)*Math.pow(2,x),P+=X):(D=a*Math.pow(2,X-1)*Math.pow(2,x),P=0));x>=8;u[h+at]=255&D,at+=ct,D/=256,x-=8);for(P=P<0;u[h+at]=255&P,at+=ct,P/=256,V-=8);u[h+at-ct]|=128*mt};function rn(u){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(u)?u:new Uint8Array(u||0),this.pos=0,this.type=0,this.length=this.buf.length}rn.Varint=0,rn.Fixed64=1,rn.Bytes=2,rn.Fixed32=5;var TC=4294967296,u6=1/TC,h6=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");function Nd(u){return u.type===rn.Bytes?u.readVarint()+u.pos:u.pos+1}function E_(u,a,h){return h?4294967296*a+(u>>>0):4294967296*(a>>>0)+(u>>>0)}function f6(u,a,h){var A=a<=16383?1:a<=2097151?2:a<=268435455?3:Math.floor(Math.log(a)/(7*Math.LN2));h.realloc(A);for(var x=h.pos-1;x>=u;x--)h.buf[x+A]=h.buf[x]}function OK(u,a){for(var h=0;h>>8,u[h+2]=a>>>16,u[h+3]=a>>>24}function d6(u,a){return(u[a]|u[a+1]<<8|u[a+2]<<16)+(u[a+3]<<24)}rn.prototype={destroy:function(){this.buf=null},readFields:function(u,a,h){for(h=h||this.length;this.pos>3,E=this.pos;this.type=7&A,u(x,a,this),this.pos===E&&this.skip(A)}return a},readMessage:function(u,a){return this.readFields(u,a,this.readVarint()+this.pos)},readFixed32:function(){var u=iT(this.buf,this.pos);return this.pos+=4,u},readSFixed32:function(){var u=d6(this.buf,this.pos);return this.pos+=4,u},readFixed64:function(){var u=iT(this.buf,this.pos)+iT(this.buf,this.pos+4)*TC;return this.pos+=8,u},readSFixed64:function(){var u=iT(this.buf,this.pos)+d6(this.buf,this.pos+4)*TC;return this.pos+=8,u},readFloat:function(){var u=l6(this.buf,this.pos,!0,23,4);return this.pos+=4,u},readDouble:function(){var u=l6(this.buf,this.pos,!0,52,8);return this.pos+=8,u},readVarint:function(u){var a,h,A=this.buf;return a=127&(h=A[this.pos++]),h<128?a:(a|=(127&(h=A[this.pos++]))<<7,h<128?a:(a|=(127&(h=A[this.pos++]))<<14,h<128?a:(a|=(127&(h=A[this.pos++]))<<21,h<128?a:function(x,E,P){var D,F,V=P.buf;if(D=(112&(F=V[P.pos++]))>>4,F<128||(D|=(127&(F=V[P.pos++]))<<3,F<128)||(D|=(127&(F=V[P.pos++]))<<10,F<128)||(D|=(127&(F=V[P.pos++]))<<17,F<128)||(D|=(127&(F=V[P.pos++]))<<24,F<128)||(D|=(1&(F=V[P.pos++]))<<31,F<128))return E_(x,D,E);throw new Error(\"Expected varint not more than 10 bytes\")}(a|=(15&(h=A[this.pos]))<<28,u,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var u=this.readVarint();return u%2==1?(u+1)/-2:u/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var u=this.readVarint()+this.pos,a=this.pos;return this.pos=u,u-a>=12&&h6?function(h,A,x){return h6.decode(h.subarray(A,x))}(this.buf,a,u):function(h,A,x){for(var E=\"\",P=A;P239?4:q>223?3:q>191?2:1;if(P+rt>x)break;rt===1?q<128&&(X=q):rt===2?(192&(D=h[P+1]))==128&&(X=(31&q)<<6|63&D)<=127&&(X=null):rt===3?(F=h[P+2],(192&(D=h[P+1]))==128&&(192&F)==128&&((X=(15&q)<<12|(63&D)<<6|63&F)<=2047||X>=55296&&X<=57343)&&(X=null)):rt===4&&(F=h[P+2],V=h[P+3],(192&(D=h[P+1]))==128&&(192&F)==128&&(192&V)==128&&((X=(15&q)<<18|(63&D)<<12|(63&F)<<6|63&V)<=65535||X>=1114112)&&(X=null)),X===null?(X=65533,rt=1):X>65535&&(X-=65536,E+=String.fromCharCode(X>>>10&1023|55296),X=56320|1023&X),E+=String.fromCharCode(X),P+=rt}return E}(this.buf,a,u)},readBytes:function(){var u=this.readVarint()+this.pos,a=this.buf.subarray(this.pos,u);return this.pos=u,a},readPackedVarint:function(u,a){if(this.type!==rn.Bytes)return u.push(this.readVarint(a));var h=Nd(this);for(u=u||[];this.pos127;);else if(a===rn.Bytes)this.pos=this.readVarint()+this.pos;else if(a===rn.Fixed32)this.pos+=4;else{if(a!==rn.Fixed64)throw new Error(\"Unimplemented type: \"+a);this.pos+=8}},writeTag:function(u,a){this.writeVarint(u<<3|a)},realloc:function(u){for(var a=this.length||16;a268435455||u<0?function(a,h){var A,x;if(a>=0?(A=a%4294967296|0,x=a/4294967296|0):(x=~(-a/4294967296),4294967295^(A=~(-a%4294967296))?A=A+1|0:(A=0,x=x+1|0)),a>=18446744073709552e3||a<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");h.realloc(10),function(E,P,D){D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,D.buf[D.pos]=127&(E>>>=7)}(A,0,h),function(E,P){var D=(7&E)<<4;P.buf[P.pos++]|=D|((E>>>=3)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E)))))}(x,h)}(u,this):(this.realloc(4),this.buf[this.pos++]=127&u|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=u>>>7&127))))},writeSVarint:function(u){this.writeVarint(u<0?2*-u-1:2*u)},writeBoolean:function(u){this.writeVarint(!!u)},writeString:function(u){u=String(u),this.realloc(4*u.length),this.pos++;var a=this.pos;this.pos=function(A,x,E){for(var P,D,F=0;F55295&&P<57344){if(!D){P>56319||F+1===x.length?(A[E++]=239,A[E++]=191,A[E++]=189):D=P;continue}if(P<56320){A[E++]=239,A[E++]=191,A[E++]=189,D=P;continue}P=D-55296<<10|P-56320|65536,D=null}else D&&(A[E++]=239,A[E++]=191,A[E++]=189,D=null);P<128?A[E++]=P:(P<2048?A[E++]=P>>6|192:(P<65536?A[E++]=P>>12|224:(A[E++]=P>>18|240,A[E++]=P>>12&63|128),A[E++]=P>>6&63|128),A[E++]=63&P|128)}return E}(this.buf,u,this.pos);var h=this.pos-a;h>=128&&f6(a,h,this),this.pos=a-1,this.writeVarint(h),this.pos+=h},writeFloat:function(u){this.realloc(4),c6(this.buf,u,this.pos,!0,23,4),this.pos+=4},writeDouble:function(u){this.realloc(8),c6(this.buf,u,this.pos,!0,52,8),this.pos+=8},writeBytes:function(u){var a=u.length;this.writeVarint(a),this.realloc(a);for(var h=0;h=128&&f6(h,A,this),this.pos=h-1,this.writeVarint(A),this.pos+=A},writeMessage:function(u,a,h){this.writeTag(u,rn.Bytes),this.writeRawMessage(a,h)},writePackedVarint:function(u,a){a.length&&this.writeMessage(u,OK,a)},writePackedSVarint:function(u,a){a.length&&this.writeMessage(u,BK,a)},writePackedBoolean:function(u,a){a.length&&this.writeMessage(u,NK,a)},writePackedFloat:function(u,a){a.length&&this.writeMessage(u,FK,a)},writePackedDouble:function(u,a){a.length&&this.writeMessage(u,zK,a)},writePackedFixed32:function(u,a){a.length&&this.writeMessage(u,UK,a)},writePackedSFixed32:function(u,a){a.length&&this.writeMessage(u,VK,a)},writePackedFixed64:function(u,a){a.length&&this.writeMessage(u,jK,a)},writePackedSFixed64:function(u,a){a.length&&this.writeMessage(u,GK,a)},writeBytesField:function(u,a){this.writeTag(u,rn.Bytes),this.writeBytes(a)},writeFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFixed32(a)},writeSFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeSFixed32(a)},writeFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeFixed64(a)},writeSFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeSFixed64(a)},writeVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeVarint(a)},writeSVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeSVarint(a)},writeStringField:function(u,a){this.writeTag(u,rn.Bytes),this.writeString(a)},writeFloatField:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFloat(a)},writeDoubleField:function(u,a){this.writeTag(u,rn.Fixed64),this.writeDouble(a)},writeBooleanField:function(u,a){this.writeVarintField(u,!!a)}};var MC=c(a6);let EC=3;function WK(u,a,h){u===1&&h.readMessage(HK,a)}function HK(u,a,h){if(u===3){let{id:A,bitmap:x,width:E,height:P,left:D,top:F,advance:V}=h.readMessage(qK,{});a.push({id:A,bitmap:new Vx({width:E+2*EC,height:P+2*EC},x),metrics:{width:E,height:P,left:D,top:F,advance:V}})}}function qK(u,a,h){u===1?a.id=h.readVarint():u===2?a.bitmap=h.readBytes():u===3?a.width=h.readVarint():u===4?a.height=h.readVarint():u===5?a.left=h.readSVarint():u===6?a.top=h.readSVarint():u===7&&(a.advance=h.readVarint())}let p6=EC;function A6(u){let a=0,h=0;for(let P of u)a+=P.w*P.h,h=Math.max(h,P.w);u.sort((P,D)=>D.h-P.h);let A=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(a/.95)),h),h:1/0}],x=0,E=0;for(let P of u)for(let D=A.length-1;D>=0;D--){let F=A[D];if(!(P.w>F.w||P.h>F.h)){if(P.x=F.x,P.y=F.y,E=Math.max(E,P.y+P.h),x=Math.max(x,P.x+P.w),P.w===F.w&&P.h===F.h){let V=A.pop();D=0&&A>=a&&sT[this.text.charCodeAt(A)];A--)h--;this.text=this.text.substring(a,h),this.sectionIndex=this.sectionIndex.slice(a,h)}substring(a,h){let A=new I_;return A.text=this.text.substring(a,h),A.sectionIndex=this.sectionIndex.slice(a,h),A.sections=this.sections,A}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((a,h)=>Math.max(a,this.sections[h].scale),0)}addTextSection(a,h){this.text+=a.text,this.sections.push($x.forText(a.scale,a.fontStack||h));let A=this.sections.length-1;for(let x=0;x=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function nT(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt){let bt=I_.fromFeature(u,x),Pt;X===n.ai.vertical&&bt.verticalizePunctuation();let{processBidirectionalText:jt,processStyledBidirectionalText:Rt}=ua;if(jt&&bt.sections.length===1){Pt=[];let ce=jt(bt.toString(),IC(bt,V,E,a,A,at,ct));for(let Ne of ce){let ir=new I_;ir.text=Ne,ir.sections=bt.sections;for(let Fe=0;Fe0&&Vd>_l&&(_l=Vd)}else{let Uc=ir[di.fontStack],vl=Uc&&Uc[Xo];if(vl&&vl.rect)vh=vl.rect,xu=vl.metrics;else{let Vd=Ne[di.fontStack],e1=Vd&&Vd[Xo];if(!e1)continue;xu=e1.metrics}$s=(Ys-di.scale)*Hs}bu?(ce.verticalizable=!0,fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=Ud*di.scale+hr):(fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=xu.advance*di.scale+hr)}fa.length!==0&&(qs=Math.max(Tn-hr,qs),QK(fa,0,fa.length-1,ja,_l)),Tn=0;let yl=Me*Ys+_l;Ha.lineOffset=Math.max(_l,ha),Rn+=yl,Ql=Math.max(yl,Ql),++Is}var Po;let $o=Rn-Qx,{horizontalAlign:Ga,verticalAlign:Wa}=CC(Ye);(function(Zs,Ys,ha,Ha,fa,_l,yl,Qs,di){let da=(Ys-ha)*fa,Xo=0;Xo=_l!==yl?-Qs*Ha-Qx:(-Ha*di+.5)*yl;for(let $s of Zs)for(let xu of $s.positionedGlyphs)xu.x+=da,xu.y+=Xo})(ce.positionedLines,ja,Ga,Wa,qs,Ql,Me,$o,Re.length),ce.top+=-Wa*$o,ce.bottom=ce.top+$o,ce.left+=-Ga*qs,ce.right=ce.left+qs}(Yt,a,h,A,Pt,P,D,F,X,V,rt,mt),!function(ce){for(let Ne of ce)if(Ne.positionedGlyphs.length!==0)return!1;return!0}(Gt)&&Yt}let sT={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZK={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function g6(u,a,h,A,x,E){if(a.imageName){let P=A[a.imageName];return P?P.displaySize[0]*a.scale*Hs/E+x:0}{let P=h[a.fontStack],D=P&&P[u];return D?D.metrics.advance*a.scale+x:0}}function _6(u,a,h,A){let x=Math.pow(u-a,2);return A?u=0,q=0;for(let rt=0;rtP.id),this.index=a.index,this.pixelRatio=a.pixelRatio,this.sourceLayerIndex=a.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Zr([]),this.placementViewportMatrix=Zr([]);let h=this.layers[0]._unevaluatedLayout._values;this.textSizeData=b6(this.zoom,h[\"text-size\"]),this.iconSizeData=b6(this.zoom,h[\"icon-size\"]);let A=this.layers[0].layout,x=A.get(\"symbol-sort-key\"),E=A.get(\"symbol-z-order\");this.canOverlap=LC(A,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||LC(A,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||A.get(\"text-ignore-placement\")||A.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=E!==\"viewport-y\"&&!x.isConstant(),this.sortFeaturesByY=(E===\"viewport-y\"||E===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,A.get(\"symbol-placement\")===\"point\"&&(this.writingModes=A.get(\"text-writing-mode\").map(P=>n.ai[P])),this.stateDependentLayerIds=this.layers.filter(P=>P.isStateDependent()).map(P=>P.id),this.sourceID=a.sourceID}createArrays(){this.text=new RC(new Va(this.layers,this.zoom,a=>/^text/.test(a))),this.icon=new RC(new Va(this.layers,this.zoom,a=>/^icon/.test(a))),this.glyphOffsetArray=new Bt,this.lineVertexArray=new Qt,this.symbolInstances=new St,this.textAnchorOffsets=new oe}calculateGlyphDependencies(a,h,A,x,E){for(let P=0;P0)&&(P.value.kind!==\"constant\"||P.value.value.length>0),q=F.value.kind!==\"constant\"||!!F.value.value||Object.keys(F.parameters).length>0,X=E.get(\"symbol-sort-key\");if(this.features=[],!V&&!q)return;let rt=h.iconDependencies,at=h.glyphDependencies,ct=h.availableImages,mt=new un(this.zoom);for(let{feature:bt,id:Pt,index:jt,sourceLayerIndex:Rt}of a){let Gt=x._featureFilter.needGeometry,Yt=S(bt,Gt);if(!x._featureFilter.filter(mt,Yt,A))continue;let ce,Ne;if(Gt||(Yt.geometry=y(bt)),V){let Fe=x.getValueAndResolveTokens(\"text-field\",Yt,A,ct),Re=ln.factory(Fe);JK(Re)&&(this.hasRTLText=!0),(!this.hasRTLText||f0()===\"unavailable\"||this.hasRTLText&&ua.isParsed())&&(ce=DK(Re,x,Yt))}if(q){let Fe=x.getValueAndResolveTokens(\"icon-image\",Yt,A,ct);Ne=Fe instanceof Gn?Fe:Gn.fromString(Fe)}if(!ce&&!Ne)continue;let ir=this.sortFeaturesByKey?X.evaluate(Yt,{},A):void 0;if(this.features.push({id:Pt,text:ce,icon:Ne,index:jt,sourceLayerIndex:Rt,geometry:Yt.geometry,properties:bt.properties,type:XK[bt.type],sortKey:ir}),Ne&&(rt[Ne.name]=!0),ce){let Fe=P.evaluate(Yt,{},A).join(\",\"),Re=E.get(\"text-rotation-alignment\")!==\"viewport\"&&E.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(n.ai.vertical)>=0;for(let Me of ce.sections)if(Me.image)rt[Me.image.name]=!0;else{let Ye=o0(ce.toString()),Ie=Me.fontStack||Fe,Ae=at[Ie]=at[Ie]||{};this.calculateGlyphDependencies(Me.text,Ae,Re,this.allowVerticalPlacement,Ye)}}}E.get(\"symbol-placement\")===\"line\"&&(this.features=function(bt){let Pt={},jt={},Rt=[],Gt=0;function Yt(Fe){Rt.push(bt[Fe]),Gt++}function ce(Fe,Re,Me){let Ye=jt[Fe];return delete jt[Fe],jt[Re]=Ye,Rt[Ye].geometry[0].pop(),Rt[Ye].geometry[0]=Rt[Ye].geometry[0].concat(Me[0]),Ye}function Ne(Fe,Re,Me){let Ye=Pt[Re];return delete Pt[Re],Pt[Fe]=Ye,Rt[Ye].geometry[0].shift(),Rt[Ye].geometry[0]=Me[0].concat(Rt[Ye].geometry[0]),Ye}function ir(Fe,Re,Me){let Ye=Me?Re[0][Re[0].length-1]:Re[0][0];return`${Fe}:${Ye.x}:${Ye.y}`}for(let Fe=0;FeFe.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((bt,Pt)=>bt.sortKey-Pt.sortKey)}update(a,h,A){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(a,h,this.layers,A),this.icon.programConfigurations.updatePaintArrays(a,h,this.layers,A))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(a){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(a),this.iconCollisionBox.upload(a)),this.text.upload(a,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(a,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(a,h){let A=this.lineVertexArray.length;if(a.segment!==void 0){let x=a.dist(h[a.segment+1]),E=a.dist(h[a.segment]),P={};for(let D=a.segment+1;D=0;D--)P[D]={x:h[D].x,y:h[D].y,tileUnitDistanceFromAnchor:E},D>0&&(E+=h[D-1].dist(h[D]));for(let D=0;D0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(a,h){let A=a.placedSymbolArray.get(h),x=A.vertexStartIndex+4*A.numGlyphs;for(let E=A.vertexStartIndex;Ex[D]-x[F]||E[F]-E[D]),P}addToSortKeyRanges(a,h){let A=this.sortKeyRanges[this.sortKeyRanges.length-1];A&&A.sortKey===h?A.symbolInstanceEnd=a+1:this.sortKeyRanges.push({sortKey:h,symbolInstanceStart:a,symbolInstanceEnd:a+1})}sortFeatures(a){if(this.sortFeaturesByY&&this.sortedAngle!==a&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(a),this.sortedAngle=a,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let h of this.symbolInstanceIndexes){let A=this.symbolInstances.get(h);this.featureSortOrder.push(A.featureIndex),[A.rightJustifiedTextSymbolIndex,A.centerJustifiedTextSymbolIndex,A.leftJustifiedTextSymbolIndex].forEach((x,E,P)=>{x>=0&&P.indexOf(x)===E&&this.addIndicesForPlacedSymbol(this.text,x)}),A.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,A.verticalPlacedTextSymbolIndex),A.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.placedIconSymbolIndex),A.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let w6,S6;Ge(\"SymbolBucket\",C_,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),C_.MAX_GLYPHS=65535,C_.addDynamicAttributes=kC;var OC={get paint(){return S6=S6||new Hn({\"icon-opacity\":new dr(ee.paint_symbol[\"icon-opacity\"]),\"icon-color\":new dr(ee.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new dr(ee.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new dr(ee.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new dr(ee.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new nr(ee.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new nr(ee.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new dr(ee.paint_symbol[\"text-opacity\"]),\"text-color\":new dr(ee.paint_symbol[\"text-color\"],{runtimeType:Us,getOverride:u=>u.textColor,hasOverride:u=>!!u.textColor}),\"text-halo-color\":new dr(ee.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new dr(ee.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new dr(ee.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new nr(ee.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new nr(ee.paint_symbol[\"text-translate-anchor\"])})},get layout(){return w6=w6||new Hn({\"symbol-placement\":new nr(ee.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new nr(ee.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new nr(ee.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new dr(ee.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new nr(ee.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new nr(ee.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new nr(ee.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new nr(ee.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new nr(ee.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new nr(ee.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new dr(ee.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new nr(ee.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new nr(ee.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new dr(ee.layout_symbol[\"icon-image\"]),\"icon-rotate\":new dr(ee.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new dr(ee.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new nr(ee.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new dr(ee.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new dr(ee.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new nr(ee.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new nr(ee.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new nr(ee.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new dr(ee.layout_symbol[\"text-field\"]),\"text-font\":new dr(ee.layout_symbol[\"text-font\"]),\"text-size\":new dr(ee.layout_symbol[\"text-size\"]),\"text-max-width\":new dr(ee.layout_symbol[\"text-max-width\"]),\"text-line-height\":new nr(ee.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new dr(ee.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new dr(ee.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new dr(ee.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new nr(ee.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new dr(ee.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new dr(ee.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new nr(ee.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new nr(ee.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new dr(ee.layout_symbol[\"text-rotate\"]),\"text-padding\":new nr(ee.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new nr(ee.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new dr(ee.layout_symbol[\"text-transform\"]),\"text-offset\":new dr(ee.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new nr(ee.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new nr(ee.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new nr(ee.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new nr(ee.layout_symbol[\"text-optional\"])})}};class T6{constructor(a){if(a.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=a.property.overrides?a.property.overrides.runtimeType:Ca,this.defaultValue=a}evaluate(a){if(a.formattedSection){let h=this.defaultValue.property.overrides;if(h&&h.hasOverride(a.formattedSection))return h.getOverride(a.formattedSection)}return a.feature&&a.featureState?this.defaultValue.evaluate(a.feature,a.featureState):this.defaultValue.property.specification.default}eachChild(a){this.defaultValue.isConstant()||a(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ge(\"FormatSectionOverride\",T6,{omit:[\"defaultValue\"]});class aT extends ji{constructor(a){super(a,OC)}recalculate(a,h){if(super.recalculate(a,h),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let A=this.layout.get(\"text-writing-mode\");if(A){let x=[];for(let E of A)x.indexOf(E)<0&&x.push(E);this.layout._values[\"text-writing-mode\"]=x}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(a,h,A,x){let E=this.layout.get(a).evaluate(h,{},A,x),P=this._unevaluatedLayout._values[a];return P.isDataDriven()||Yp(P.value)||!E?E:function(D,F){return F.replace(/{([^{}]+)}/g,(V,q)=>D&&q in D?String(D[q]):\"\")}(h.properties,E)}createBucket(a){return new C_(a)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let a of OC.paint.overridableProperties){if(!aT.hasPaintOverride(this.layout,a))continue;let h=this.paint.get(a),A=new T6(h),x=new Jm(A,h.property.specification),E=null;E=h.value.kind===\"constant\"||h.value.kind===\"source\"?new t0(\"source\",x):new wt(\"composite\",x,h.value.zoomStops),this.paint._values[a]=new Mo(h.property,E,h.parameters)}}_handleOverridablePaintPropertyUpdate(a,h,A){return!(!this.layout||h.isDataDriven()||A.isDataDriven())&&aT.hasPaintOverride(this.layout,a)}static hasPaintOverride(a,h){let A=a.get(\"text-field\"),x=OC.paint.properties[h],E=!1,P=D=>{for(let F of D)if(x.overrides&&x.overrides.hasOverride(F))return void(E=!0)};if(A.value.kind===\"constant\"&&A.value.value instanceof ln)P(A.value.value.sections);else if(A.value.kind===\"source\"){let D=V=>{E||(V instanceof Gl&&Ki(V.value)===gt?P(V.value.sections):V instanceof Ti?P(V.sections):V.eachChild(D))},F=A.value;F._styleExpression&&D(F._styleExpression.expression)}return E}}let M6;var tJ={get paint(){return M6=M6||new Hn({\"background-color\":new nr(ee.paint_background[\"background-color\"]),\"background-pattern\":new aA(ee.paint_background[\"background-pattern\"]),\"background-opacity\":new nr(ee.paint_background[\"background-opacity\"])})}};class eJ extends ji{constructor(a){super(a,tJ)}}let E6;var rJ={get paint(){return E6=E6||new Hn({\"raster-opacity\":new nr(ee.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new nr(ee.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new nr(ee.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new nr(ee.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new nr(ee.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new nr(ee.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new nr(ee.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new nr(ee.paint_raster[\"raster-fade-duration\"])})}};class iJ extends ji{constructor(a){super(a,rJ)}}class nJ extends ji{constructor(a){super(a,{}),this.onAdd=h=>{this.implementation.onAdd&&this.implementation.onAdd(h,h.painter.context.gl)},this.onRemove=h=>{this.implementation.onRemove&&this.implementation.onRemove(h,h.painter.context.gl)},this.implementation=a}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class sJ{constructor(a){this._callback=a,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._callback()},0))}remove(){delete this._channel,this._callback=()=>{}}}let BC=63710088e-1;class dA{constructor(a,h){if(isNaN(a)||isNaN(h))throw new Error(`Invalid LngLat object: (${a}, ${h})`);if(this.lng=+a,this.lat=+h,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dA(Et(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(a){let h=Math.PI/180,A=this.lat*h,x=a.lat*h,E=Math.sin(A)*Math.sin(x)+Math.cos(A)*Math.cos(x)*Math.cos((a.lng-this.lng)*h);return BC*Math.acos(Math.min(E,1))}static convert(a){if(a instanceof dA)return a;if(Array.isArray(a)&&(a.length===2||a.length===3))return new dA(Number(a[0]),Number(a[1]));if(!Array.isArray(a)&&typeof a==\"object\"&&a!==null)return new dA(Number(\"lng\"in a?a.lng:a.lon),Number(a.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let P6=2*Math.PI*BC;function I6(u){return P6*Math.cos(u*Math.PI/180)}function C6(u){return(180+u)/360}function L6(u){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u*Math.PI/360)))/360}function k6(u,a){return u/I6(a)}function R6(u){return 360*u-180}function FC(u){return 360/Math.PI*Math.atan(Math.exp((180-360*u)*Math.PI/180))-90}class lT{constructor(a,h,A=0){this.x=+a,this.y=+h,this.z=+A}static fromLngLat(a,h=0){let A=dA.convert(a);return new lT(C6(A.lng),L6(A.lat),k6(h,A.lat))}toLngLat(){return new dA(R6(this.x),FC(this.y))}toAltitude(){return this.z*I6(FC(this.y))}meterInMercatorCoordinateUnits(){return 1/P6*(a=FC(this.y),1/Math.cos(a*Math.PI/180));var a}}function D6(u,a,h){var A=2*Math.PI*6378137/256/Math.pow(2,h);return[u*A-2*Math.PI*6378137/2,a*A-2*Math.PI*6378137/2]}class zC{constructor(a,h,A){if(a<0||a>25||A<0||A>=Math.pow(2,a)||h<0||h>=Math.pow(2,a))throw new Error(`x=${h}, y=${A}, z=${a} outside of bounds. 0<=x<${Math.pow(2,a)}, 0<=y<${Math.pow(2,a)} 0<=z<=25 `);this.z=a,this.x=h,this.y=A,this.key=Kx(0,a,a,h,A)}equals(a){return this.z===a.z&&this.x===a.x&&this.y===a.y}url(a,h,A){let x=(P=this.y,D=this.z,F=D6(256*(E=this.x),256*(P=Math.pow(2,D)-P-1),D),V=D6(256*(E+1),256*(P+1),D),F[0]+\",\"+F[1]+\",\"+V[0]+\",\"+V[1]);var E,P,D,F,V;let q=function(X,rt,at){let ct,mt=\"\";for(let bt=X;bt>0;bt--)ct=1<1?\"@2x\":\"\").replace(/{quadkey}/g,q).replace(/{bbox-epsg-3857}/g,x)}isChildOf(a){let h=this.z-a.z;return h>0&&a.x===this.x>>h&&a.y===this.y>>h}getTilePoint(a){let h=Math.pow(2,this.z);return new w((a.x*h-this.x)*en,(a.y*h-this.y)*en)}toString(){return`${this.z}/${this.x}/${this.y}`}}class O6{constructor(a,h){this.wrap=a,this.canonical=h,this.key=Kx(a,h.z,h.z,h.x,h.y)}}class Nc{constructor(a,h,A,x,E){if(a= z; overscaledZ = ${a}; z = ${A}`);this.overscaledZ=a,this.wrap=h,this.canonical=new zC(A,+x,+E),this.key=Kx(h,a,A,x,E)}clone(){return new Nc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(a){return this.overscaledZ===a.overscaledZ&&this.wrap===a.wrap&&this.canonical.equals(a.canonical)}scaledTo(a){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let h=this.canonical.z-a;return a>this.canonical.z?new Nc(a,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Nc(a,this.wrap,a,this.canonical.x>>h,this.canonical.y>>h)}calculateScaledKey(a,h){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let A=this.canonical.z-a;return a>this.canonical.z?Kx(this.wrap*+h,a,this.canonical.z,this.canonical.x,this.canonical.y):Kx(this.wrap*+h,a,a,this.canonical.x>>A,this.canonical.y>>A)}isChildOf(a){if(a.wrap!==this.wrap)return!1;let h=this.canonical.z-a.canonical.z;return a.overscaledZ===0||a.overscaledZ>h&&a.canonical.y===this.canonical.y>>h}children(a){if(this.overscaledZ>=a)return[new Nc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let h=this.canonical.z+1,A=2*this.canonical.x,x=2*this.canonical.y;return[new Nc(h,this.wrap,h,A,x),new Nc(h,this.wrap,h,A+1,x),new Nc(h,this.wrap,h,A,x+1),new Nc(h,this.wrap,h,A+1,x+1)]}isLessThan(a){return this.wrapa.wrap)&&(this.overscaledZa.overscaledZ)&&(this.canonical.xa.canonical.x)&&this.canonical.ythis.max&&(this.max=X),X=this.dim+1||h<-1||h>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(h+1)*this.stride+(a+1)}unpack(a,h,A){return a*this.redFactor+h*this.greenFactor+A*this.blueFactor-this.baseShift}getPixels(){return new zc({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(a,h,A){if(this.dim!==a.dim)throw new Error(\"dem dimension mismatch\");let x=h*this.dim,E=h*this.dim+this.dim,P=A*this.dim,D=A*this.dim+this.dim;switch(h){case-1:x=E-1;break;case 1:E=x+1}switch(A){case-1:P=D-1;break;case 1:D=P+1}let F=-h*this.dim,V=-A*this.dim;for(let q=P;q=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${a} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[a]}}class z6{constructor(a,h,A,x,E){this.type=\"Feature\",this._vectorTileFeature=a,a._z=h,a._x=A,a._y=x,this.properties=a.properties,this.id=E}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(a){this._geometry=a}toJSON(){let a={geometry:this.geometry};for(let h in this)h!==\"_geometry\"&&h!==\"_vectorTileFeature\"&&(a[h]=this[h]);return a}}class N6{constructor(a,h){this.tileID=a,this.x=a.canonical.x,this.y=a.canonical.y,this.z=a.canonical.z,this.grid=new Na(en,16,0),this.grid3D=new Na(en,16,0),this.featureIndexArray=new he,this.promoteId=h}insert(a,h,A,x,E,P){let D=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(A,x,E);let F=P?this.grid3D:this.grid;for(let V=0;V=0&&X[3]>=0&&F.insert(D,X[0],X[1],X[2],X[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new uA.VectorTile(new MC(this.rawTileData)).layers,this.sourceLayerCoder=new F6(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(a,h,A,x){this.loadVTLayers();let E=a.params||{},P=en/a.tileSize/a.scale,D=r0(E.filter),F=a.queryGeometry,V=a.queryPadding*P,q=V6(F),X=this.grid.query(q.minX-V,q.minY-V,q.maxX+V,q.maxY+V),rt=V6(a.cameraQueryGeometry),at=this.grid3D.query(rt.minX-V,rt.minY-V,rt.maxX+V,rt.maxY+V,(bt,Pt,jt,Rt)=>function(Gt,Yt,ce,Ne,ir){for(let Re of Gt)if(Yt<=Re.x&&ce<=Re.y&&Ne>=Re.x&&ir>=Re.y)return!0;let Fe=[new w(Yt,ce),new w(Yt,ir),new w(Ne,ir),new w(Ne,ce)];if(Gt.length>2){for(let Re of Fe)if(ne(Gt,Re))return!0}for(let Re=0;Re(Rt||(Rt=y(Gt)),Yt.queryIntersectsFeature(F,Gt,ce,Rt,this.z,a.transform,P,a.pixelPosMatrix)))}return ct}loadMatchingFeature(a,h,A,x,E,P,D,F,V,q,X){let rt=this.bucketLayerIDs[h];if(P&&!function(bt,Pt){for(let jt=0;jt=0)return!0;return!1}(P,rt))return;let at=this.sourceLayerCoder.decode(A),ct=this.vtLayers[at].feature(x);if(E.needGeometry){let bt=S(ct,!0);if(!E.filter(new un(this.tileID.overscaledZ),bt,this.tileID.canonical))return}else if(!E.filter(new un(this.tileID.overscaledZ),ct))return;let mt=this.getId(ct,at);for(let bt=0;bt{let D=a instanceof oA?a.get(P):null;return D&&D.evaluate?D.evaluate(h,A,x):D})}function V6(u){let a=1/0,h=1/0,A=-1/0,x=-1/0;for(let E of u)a=Math.min(a,E.x),h=Math.min(h,E.y),A=Math.max(A,E.x),x=Math.max(x,E.y);return{minX:a,minY:h,maxX:A,maxY:x}}function oJ(u,a){return a-u}function j6(u,a,h,A,x){let E=[];for(let P=0;P=A&&X.x>=A||(q.x>=A?q=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round():X.x>=A&&(X=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round()),q.y>=x&&X.y>=x||(q.y>=x?q=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round():X.y>=x&&(X=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round()),F&&q.equals(F[F.length-1])||(F=[q],E.push(F)),F.push(X)))))}}return E}Ge(\"FeatureIndex\",N6,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class pA extends w{constructor(a,h,A,x){super(a,h),this.angle=A,x!==void 0&&(this.segment=x)}clone(){return new pA(this.x,this.y,this.angle,this.segment)}}function G6(u,a,h,A,x){if(a.segment===void 0||h===0)return!0;let E=a,P=a.segment+1,D=0;for(;D>-h/2;){if(P--,P<0)return!1;D-=u[P].dist(E),E=u[P]}D+=u[P].dist(u[P+1]),P++;let F=[],V=0;for(;DA;)V-=F.shift().angleDelta;if(V>x)return!1;P++,D+=q.dist(X)}return!0}function W6(u){let a=0;for(let h=0;hV){let ct=(V-F)/at,mt=Da.number(X.x,rt.x,ct),bt=Da.number(X.y,rt.y,ct),Pt=new pA(mt,bt,rt.angleTo(X),q);return Pt._round(),!P||G6(u,Pt,D,P,a)?Pt:void 0}F+=at}}function lJ(u,a,h,A,x,E,P,D,F){let V=H6(A,E,P),q=q6(A,x),X=q*P,rt=u[0].x===0||u[0].x===F||u[0].y===0||u[0].y===F;return a-X
=0&&Gt=0&&Yt=0&&rt+V<=q){let ce=new pA(Gt,Yt,jt,ct);ce._round(),A&&!G6(u,ce,E,A,x)||at.push(ce)}}X+=Pt}return D||at.length||P||(at=Z6(u,X/2,h,A,x,E,P,!0,F)),at}Ge(\"Anchor\",pA);let L_=gl;function Y6(u,a,h,A){let x=[],E=u.image,P=E.pixelRatio,D=E.paddedRect.w-2*L_,F=E.paddedRect.h-2*L_,V=u.right-u.left,q=u.bottom-u.top,X=E.stretchX||[[0,D]],rt=E.stretchY||[[0,F]],at=(Me,Ye)=>Me+Ye[1]-Ye[0],ct=X.reduce(at,0),mt=rt.reduce(at,0),bt=D-ct,Pt=F-mt,jt=0,Rt=ct,Gt=0,Yt=mt,ce=0,Ne=bt,ir=0,Fe=Pt;if(E.content&&A){let Me=E.content;jt=cT(X,0,Me[0]),Gt=cT(rt,0,Me[1]),Rt=cT(X,Me[0],Me[2]),Yt=cT(rt,Me[1],Me[3]),ce=Me[0]-jt,ir=Me[1]-Gt,Ne=Me[2]-Me[0]-Rt,Fe=Me[3]-Me[1]-Yt}let Re=(Me,Ye,Ie,Ae)=>{let hr=uT(Me.stretch-jt,Rt,V,u.left),sr=hT(Me.fixed-ce,Ne,Me.stretch,ct),ri=uT(Ye.stretch-Gt,Yt,q,u.top),Tn=hT(Ye.fixed-ir,Fe,Ye.stretch,mt),Rn=uT(Ie.stretch-jt,Rt,V,u.left),qs=hT(Ie.fixed-ce,Ne,Ie.stretch,ct),Ql=uT(Ae.stretch-Gt,Yt,q,u.top),ja=hT(Ae.fixed-ir,Fe,Ae.stretch,mt),Is=new w(hr,ri),Po=new w(Rn,ri),$o=new w(Rn,Ql),Ga=new w(hr,Ql),Wa=new w(sr/P,Tn/P),Zs=new w(qs/P,ja/P),Ys=a*Math.PI/180;if(Ys){let fa=Math.sin(Ys),_l=Math.cos(Ys),yl=[_l,-fa,fa,_l];Is._matMult(yl),Po._matMult(yl),Ga._matMult(yl),$o._matMult(yl)}let ha=Me.stretch+Me.fixed,Ha=Ye.stretch+Ye.fixed;return{tl:Is,tr:Po,bl:Ga,br:$o,tex:{x:E.paddedRect.x+L_+ha,y:E.paddedRect.y+L_+Ha,w:Ie.stretch+Ie.fixed-ha,h:Ae.stretch+Ae.fixed-Ha},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Wa,pixelOffsetBR:Zs,minFontScaleX:Ne/P/V,minFontScaleY:Fe/P/q,isSDF:h}};if(A&&(E.stretchX||E.stretchY)){let Me=Q6(X,bt,ct),Ye=Q6(rt,Pt,mt);for(let Ie=0;Ie0&&(ct=Math.max(10,ct),this.circleDiameter=ct)}else{let X=P.top*D-F[0],rt=P.bottom*D+F[2],at=P.left*D-F[3],ct=P.right*D+F[1],mt=P.collisionPadding;if(mt&&(at-=mt[0]*D,X-=mt[1]*D,ct+=mt[2]*D,rt+=mt[3]*D),q){let bt=new w(at,X),Pt=new w(ct,X),jt=new w(at,rt),Rt=new w(ct,rt),Gt=q*Math.PI/180;bt._rotate(Gt),Pt._rotate(Gt),jt._rotate(Gt),Rt._rotate(Gt),at=Math.min(bt.x,Pt.x,jt.x,Rt.x),ct=Math.max(bt.x,Pt.x,jt.x,Rt.x),X=Math.min(bt.y,Pt.y,jt.y,Rt.y),rt=Math.max(bt.y,Pt.y,jt.y,Rt.y)}a.emplaceBack(h.x,h.y,at,X,ct,rt,A,x,E)}this.boxEndIndex=a.length}}class cJ{constructor(a=[],h=uJ){if(this.data=a,this.length=this.data.length,this.compare=h,this.length>0)for(let A=(this.length>>1)-1;A>=0;A--)this._down(A)}push(a){this.data.push(a),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;let a=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),a}peek(){return this.data[0]}_up(a){let{data:h,compare:A}=this,x=h[a];for(;a>0;){let E=a-1>>1,P=h[E];if(A(x,P)>=0)break;h[a]=P,a=E}h[a]=x}_down(a){let{data:h,compare:A}=this,x=this.length>>1,E=h[a];for(;a=0)break;h[a]=D,a=P}h[a]=E}}function uJ(u,a){return ua?1:0}function hJ(u,a=1,h=!1){let A=1/0,x=1/0,E=-1/0,P=-1/0,D=u[0];for(let at=0;atE)&&(E=ct.x),(!at||ct.y>P)&&(P=ct.y)}let F=Math.min(E-A,P-x),V=F/2,q=new cJ([],fJ);if(F===0)return new w(A,x);for(let at=A;atX.d||!X.d)&&(X=at,h&&console.log(\"found best %d after %d probes\",Math.round(1e4*at.d)/1e4,rt)),at.max-X.d<=a||(V=at.h/2,q.push(new k_(at.p.x-V,at.p.y-V,V,u)),q.push(new k_(at.p.x+V,at.p.y-V,V,u)),q.push(new k_(at.p.x-V,at.p.y+V,V,u)),q.push(new k_(at.p.x+V,at.p.y+V,V,u)),rt+=4)}return h&&(console.log(`num probes: ${rt}`),console.log(`best distance: ${X.d}`)),X.p}function fJ(u,a){return a.max-u.max}function k_(u,a,h,A){this.p=new w(u,a),this.h=h,this.d=function(x,E){let P=!1,D=1/0;for(let F=0;Fx.y!=ct.y>x.y&&x.x<(ct.x-at.x)*(x.y-at.y)/(ct.y-at.y)+at.x&&(P=!P),D=Math.min(D,Wt(x,at,ct))}}return(P?1:-1)*Math.sqrt(D)}(this.p,A),this.max=this.d+this.h*Math.SQRT2}var Qo;n.aq=void 0,(Qo=n.aq||(n.aq={}))[Qo.center=1]=\"center\",Qo[Qo.left=2]=\"left\",Qo[Qo.right=3]=\"right\",Qo[Qo.top=4]=\"top\",Qo[Qo.bottom=5]=\"bottom\",Qo[Qo[\"top-left\"]=6]=\"top-left\",Qo[Qo[\"top-right\"]=7]=\"top-right\",Qo[Qo[\"bottom-left\"]=8]=\"bottom-left\",Qo[Qo[\"bottom-right\"]=9]=\"bottom-right\";let AA=7,NC=Number.POSITIVE_INFINITY;function $6(u,a){return a[1]!==NC?function(h,A,x){let E=0,P=0;switch(A=Math.abs(A),x=Math.abs(x),h){case\"top-right\":case\"top-left\":case\"top\":P=x-AA;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":P=-x+AA}switch(h){case\"top-right\":case\"bottom-right\":case\"right\":E=-A;break;case\"top-left\":case\"bottom-left\":case\"left\":E=A}return[E,P]}(u,a[0],a[1]):function(h,A){let x=0,E=0;A<0&&(A=0);let P=A/Math.SQRT2;switch(h){case\"top-right\":case\"top-left\":E=P-AA;break;case\"bottom-right\":case\"bottom-left\":E=-P+AA;break;case\"bottom\":E=-A+AA;break;case\"top\":E=A-AA}switch(h){case\"top-right\":case\"bottom-right\":x=-P;break;case\"top-left\":case\"bottom-left\":x=P;break;case\"left\":x=A;break;case\"right\":x=-A}return[x,E]}(u,a[0])}function X6(u,a,h){var A;let x=u.layout,E=(A=x.get(\"text-variable-anchor-offset\"))===null||A===void 0?void 0:A.evaluate(a,{},h);if(E){let D=E.values,F=[];for(let V=0;Vrt*Hs);q.startsWith(\"top\")?X[1]-=AA:q.startsWith(\"bottom\")&&(X[1]+=AA),F[V+1]=X}return new Go(F)}let P=x.get(\"text-variable-anchor\");if(P){let D;D=u._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[x.get(\"text-radial-offset\").evaluate(a,{},h)*Hs,NC]:x.get(\"text-offset\").evaluate(a,{},h).map(V=>V*Hs);let F=[];for(let V of P)F.push(V,$6(V,D));return new Go(F)}return null}function UC(u){switch(u){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dJ(u,a,h,A,x,E,P,D,F,V,q){let X=E.textMaxSize.evaluate(a,{});X===void 0&&(X=P);let rt=u.layers[0].layout,at=rt.get(\"icon-offset\").evaluate(a,{},q),ct=J6(h.horizontal),mt=P/24,bt=u.tilePixelRatio*mt,Pt=u.tilePixelRatio*X/24,jt=u.tilePixelRatio*D,Rt=u.tilePixelRatio*rt.get(\"symbol-spacing\"),Gt=rt.get(\"text-padding\")*u.tilePixelRatio,Yt=function(Ae,hr,sr,ri=1){let Tn=Ae.get(\"icon-padding\").evaluate(hr,{},sr),Rn=Tn&&Tn.values;return[Rn[0]*ri,Rn[1]*ri,Rn[2]*ri,Rn[3]*ri]}(rt,a,q,u.tilePixelRatio),ce=rt.get(\"text-max-angle\")/180*Math.PI,Ne=rt.get(\"text-rotation-alignment\")!==\"viewport\"&&rt.get(\"symbol-placement\")!==\"point\",ir=rt.get(\"icon-rotation-alignment\")===\"map\"&&rt.get(\"symbol-placement\")!==\"point\",Fe=rt.get(\"symbol-placement\"),Re=Rt/2,Me=rt.get(\"icon-text-fit\"),Ye;A&&Me!==\"none\"&&(u.allowVerticalPlacement&&h.vertical&&(Ye=x6(A,h.vertical,Me,rt.get(\"icon-text-fit-padding\"),at,mt)),ct&&(A=x6(A,ct,Me,rt.get(\"icon-text-fit-padding\"),at,mt)));let Ie=(Ae,hr)=>{hr.x<0||hr.x>=en||hr.y<0||hr.y>=en||function(sr,ri,Tn,Rn,qs,Ql,ja,Is,Po,$o,Ga,Wa,Zs,Ys,ha,Ha,fa,_l,yl,Qs,di,da,Xo,$s,xu){let vh=sr.addToLineVertexArray(ri,Tn),xh,Ud,bu,Uc,vl=0,Vd=0,e1=0,iz=0,YC=-1,QC=-1,jd={},nz=yh(\"\");if(sr.allowVerticalPlacement&&Rn.vertical){let pa=Is.layout.get(\"text-rotate\").evaluate(di,{},$s)+90;bu=new fT(Po,ri,$o,Ga,Wa,Rn.vertical,Zs,Ys,ha,pa),ja&&(Uc=new fT(Po,ri,$o,Ga,Wa,ja,fa,_l,ha,pa))}if(qs){let pa=Is.layout.get(\"icon-rotate\").evaluate(di,{}),Vc=Is.layout.get(\"icon-text-fit\")!==\"none\",m0=Y6(qs,pa,Xo,Vc),wh=ja?Y6(ja,pa,Xo,Vc):void 0;Ud=new fT(Po,ri,$o,Ga,Wa,qs,fa,_l,!1,pa),vl=4*m0.length;let g0=sr.iconSizeData,Pf=null;g0.kind===\"source\"?(Pf=[Ef*Is.layout.get(\"icon-size\").evaluate(di,{})],Pf[0]>fA&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)):g0.kind===\"composite\"&&(Pf=[Ef*da.compositeIconSizes[0].evaluate(di,{},$s),Ef*da.compositeIconSizes[1].evaluate(di,{},$s)],(Pf[0]>fA||Pf[1]>fA)&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)),sr.addSymbols(sr.icon,m0,Pf,Qs,yl,di,n.ai.none,ri,vh.lineStartIndex,vh.lineLength,-1,$s),YC=sr.icon.placedSymbolArray.length-1,wh&&(Vd=4*wh.length,sr.addSymbols(sr.icon,wh,Pf,Qs,yl,di,n.ai.vertical,ri,vh.lineStartIndex,vh.lineLength,-1,$s),QC=sr.icon.placedSymbolArray.length-1)}let sz=Object.keys(Rn.horizontal);for(let pa of sz){let Vc=Rn.horizontal[pa];if(!xh){nz=yh(Vc.text);let wh=Is.layout.get(\"text-rotate\").evaluate(di,{},$s);xh=new fT(Po,ri,$o,Ga,Wa,Vc,Zs,Ys,ha,wh)}let m0=Vc.positionedLines.length===1;if(e1+=K6(sr,ri,Vc,Ql,Is,ha,di,Ha,vh,Rn.vertical?n.ai.horizontal:n.ai.horizontalOnly,m0?sz:[pa],jd,YC,da,$s),m0)break}Rn.vertical&&(iz+=K6(sr,ri,Rn.vertical,Ql,Is,ha,di,Ha,vh,n.ai.vertical,[\"vertical\"],jd,QC,da,$s));let mJ=xh?xh.boxStartIndex:sr.collisionBoxArray.length,gJ=xh?xh.boxEndIndex:sr.collisionBoxArray.length,_J=bu?bu.boxStartIndex:sr.collisionBoxArray.length,yJ=bu?bu.boxEndIndex:sr.collisionBoxArray.length,vJ=Ud?Ud.boxStartIndex:sr.collisionBoxArray.length,xJ=Ud?Ud.boxEndIndex:sr.collisionBoxArray.length,bJ=Uc?Uc.boxStartIndex:sr.collisionBoxArray.length,wJ=Uc?Uc.boxEndIndex:sr.collisionBoxArray.length,bh=-1,pT=(pa,Vc)=>pa&&pa.circleDiameter?Math.max(pa.circleDiameter,Vc):Vc;bh=pT(xh,bh),bh=pT(bu,bh),bh=pT(Ud,bh),bh=pT(Uc,bh);let oz=bh>-1?1:0;oz&&(bh*=xu/Hs),sr.glyphOffsetArray.length>=C_.MAX_GLYPHS&&Ke(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),di.sortKey!==void 0&&sr.addToSortKeyRanges(sr.symbolInstances.length,di.sortKey);let SJ=X6(Is,di,$s),[TJ,MJ]=function(pa,Vc){let m0=pa.length,wh=Vc?.values;if(wh?.length>0)for(let g0=0;g0=0?jd.right:-1,jd.center>=0?jd.center:-1,jd.left>=0?jd.left:-1,jd.vertical||-1,YC,QC,nz,mJ,gJ,_J,yJ,vJ,xJ,bJ,wJ,$o,e1,iz,vl,Vd,oz,0,Zs,bh,TJ,MJ)}(u,hr,Ae,h,A,x,Ye,u.layers[0],u.collisionBoxArray,a.index,a.sourceLayerIndex,u.index,bt,[Gt,Gt,Gt,Gt],Ne,F,jt,Yt,ir,at,a,E,V,q,P)};if(Fe===\"line\")for(let Ae of j6(a.geometry,0,0,en,en)){let hr=lJ(Ae,Rt,ce,h.vertical||ct,A,24,Pt,u.overscaling,en);for(let sr of hr)ct&&pJ(u,ct.text,Re,sr)||Ie(Ae,sr)}else if(Fe===\"line-center\"){for(let Ae of a.geometry)if(Ae.length>1){let hr=aJ(Ae,ce,h.vertical||ct,A,24,Pt);hr&&Ie(Ae,hr)}}else if(a.type===\"Polygon\")for(let Ae of _C(a.geometry,0)){let hr=hJ(Ae,16);Ie(Ae[0],new pA(hr.x,hr.y,0))}else if(a.type===\"LineString\")for(let Ae of a.geometry)Ie(Ae,new pA(Ae[0].x,Ae[0].y,0));else if(a.type===\"Point\")for(let Ae of a.geometry)for(let hr of Ae)Ie([hr],new pA(hr.x,hr.y,0))}function K6(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct){let mt=function(jt,Rt,Gt,Yt,ce,Ne,ir,Fe){let Re=Yt.layout.get(\"text-rotate\").evaluate(Ne,{})*Math.PI/180,Me=[];for(let Ye of Rt.positionedLines)for(let Ie of Ye.positionedGlyphs){if(!Ie.rect)continue;let Ae=Ie.rect||{},hr=p6+1,sr=!0,ri=1,Tn=0,Rn=(ce||Fe)&&Ie.vertical,qs=Ie.metrics.advance*Ie.scale/2;if(Fe&&Rt.verticalizable&&(Tn=Ye.lineOffset/2-(Ie.imageName?-(Hs-Ie.metrics.width*Ie.scale)/2:(Ie.scale-1)*Hs)),Ie.imageName){let Qs=ir[Ie.imageName];sr=Qs.sdf,ri=Qs.pixelRatio,hr=gl/ri}let Ql=ce?[Ie.x+qs,Ie.y]:[0,0],ja=ce?[0,0]:[Ie.x+qs+Gt[0],Ie.y+Gt[1]-Tn],Is=[0,0];Rn&&(Is=ja,ja=[0,0]);let Po=Ie.metrics.isDoubleResolution?2:1,$o=(Ie.metrics.left-hr)*Ie.scale-qs+ja[0],Ga=(-Ie.metrics.top-hr)*Ie.scale+ja[1],Wa=$o+Ae.w/Po*Ie.scale/ri,Zs=Ga+Ae.h/Po*Ie.scale/ri,Ys=new w($o,Ga),ha=new w(Wa,Ga),Ha=new w($o,Zs),fa=new w(Wa,Zs);if(Rn){let Qs=new w(-qs,qs-Qx),di=-Math.PI/2,da=Hs/2-qs,Xo=new w(5-Qx-da,-(Ie.imageName?da:0)),$s=new w(...Is);Ys._rotateAround(di,Qs)._add(Xo)._add($s),ha._rotateAround(di,Qs)._add(Xo)._add($s),Ha._rotateAround(di,Qs)._add(Xo)._add($s),fa._rotateAround(di,Qs)._add(Xo)._add($s)}if(Re){let Qs=Math.sin(Re),di=Math.cos(Re),da=[di,-Qs,Qs,di];Ys._matMult(da),ha._matMult(da),Ha._matMult(da),fa._matMult(da)}let _l=new w(0,0),yl=new w(0,0);Me.push({tl:Ys,tr:ha,bl:Ha,br:fa,tex:Ae,writingMode:Rt.writingMode,glyphOffset:Ql,sectionIndex:Ie.sectionIndex,isSDF:sr,pixelOffsetTL:_l,pixelOffsetBR:yl,minFontScaleX:0,minFontScaleY:0})}return Me}(0,h,D,x,E,P,A,u.allowVerticalPlacement),bt=u.textSizeData,Pt=null;bt.kind===\"source\"?(Pt=[Ef*x.layout.get(\"text-size\").evaluate(P,{})],Pt[0]>fA&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)):bt.kind===\"composite\"&&(Pt=[Ef*at.compositeTextSizes[0].evaluate(P,{},ct),Ef*at.compositeTextSizes[1].evaluate(P,{},ct)],(Pt[0]>fA||Pt[1]>fA)&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)),u.addSymbols(u.text,mt,Pt,D,E,P,V,a,F.lineStartIndex,F.lineLength,rt,ct);for(let jt of q)X[jt]=u.text.placedSymbolArray.length-1;return 4*mt.length}function J6(u){for(let a in u)return u[a];return null}function pJ(u,a,h,A){let x=u.compareText;if(a in x){let E=x[a];for(let P=E.length-1;P>=0;P--)if(A.dist(E[P])>4;if(x!==1)throw new Error(`Got v${x} data when expected v1.`);let E=tz[15&A];if(!E)throw new Error(\"Unrecognized array type.\");let[P]=new Uint16Array(a,2,1),[D]=new Uint32Array(a,4,1);return new VC(D,P,E,a)}constructor(a,h=64,A=Float64Array,x){if(isNaN(a)||a<0)throw new Error(`Unpexpected numItems value: ${a}.`);this.numItems=+a,this.nodeSize=Math.min(Math.max(+h,2),65535),this.ArrayType=A,this.IndexArrayType=a<65536?Uint16Array:Uint32Array;let E=tz.indexOf(this.ArrayType),P=2*a*this.ArrayType.BYTES_PER_ELEMENT,D=a*this.IndexArrayType.BYTES_PER_ELEMENT,F=(8-D%8)%8;if(E<0)throw new Error(`Unexpected typed array class: ${A}.`);x&&x instanceof ArrayBuffer?(this.data=x,this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=2*a,this._finished=!0):(this.data=new ArrayBuffer(8+P+D+F),this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+E]),new Uint16Array(this.data,2,1)[0]=h,new Uint32Array(this.data,4,1)[0]=a)}add(a,h){let A=this._pos>>1;return this.ids[A]=A,this.coords[this._pos++]=a,this.coords[this._pos++]=h,A}finish(){let a=this._pos>>1;if(a!==this.numItems)throw new Error(`Added ${a} items when expected ${this.numItems}.`);return jC(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(a,h,A,x){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:E,coords:P,nodeSize:D}=this,F=[0,E.length-1,0],V=[];for(;F.length;){let q=F.pop()||0,X=F.pop()||0,rt=F.pop()||0;if(X-rt<=D){for(let bt=rt;bt<=X;bt++){let Pt=P[2*bt],jt=P[2*bt+1];Pt>=a&&Pt<=A&&jt>=h&&jt<=x&&V.push(E[bt])}continue}let at=rt+X>>1,ct=P[2*at],mt=P[2*at+1];ct>=a&&ct<=A&&mt>=h&&mt<=x&&V.push(E[at]),(q===0?a<=ct:h<=mt)&&(F.push(rt),F.push(at-1),F.push(1-q)),(q===0?A>=ct:x>=mt)&&(F.push(at+1),F.push(X),F.push(1-q))}return V}within(a,h,A){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:x,coords:E,nodeSize:P}=this,D=[0,x.length-1,0],F=[],V=A*A;for(;D.length;){let q=D.pop()||0,X=D.pop()||0,rt=D.pop()||0;if(X-rt<=P){for(let bt=rt;bt<=X;bt++)rz(E[2*bt],E[2*bt+1],a,h)<=V&&F.push(x[bt]);continue}let at=rt+X>>1,ct=E[2*at],mt=E[2*at+1];rz(ct,mt,a,h)<=V&&F.push(x[at]),(q===0?a-A<=ct:h-A<=mt)&&(D.push(rt),D.push(at-1),D.push(1-q)),(q===0?a+A>=ct:h+A>=mt)&&(D.push(at+1),D.push(X),D.push(1-q))}return F}}function jC(u,a,h,A,x,E){if(x-A<=h)return;let P=A+x>>1;ez(u,a,P,A,x,E),jC(u,a,h,A,P-1,1-E),jC(u,a,h,P+1,x,1-E)}function ez(u,a,h,A,x,E){for(;x>A;){if(x-A>600){let V=x-A+1,q=h-A+1,X=Math.log(V),rt=.5*Math.exp(2*X/3),at=.5*Math.sqrt(X*rt*(V-rt)/V)*(q-V/2<0?-1:1);ez(u,a,h,Math.max(A,Math.floor(h-q*rt/V+at)),Math.min(x,Math.floor(h+(V-q)*rt/V+at)),E)}let P=a[2*h+E],D=A,F=x;for(Jx(u,a,A,h),a[2*x+E]>P&&Jx(u,a,A,x);DP;)F--}a[2*A+E]===P?Jx(u,a,A,F):(F++,Jx(u,a,F,x)),F<=h&&(A=F+1),h<=F&&(x=F-1)}}function Jx(u,a,h,A){GC(u,h,A),GC(a,2*h,2*A),GC(a,2*h+1,2*A+1)}function GC(u,a,h){let A=u[a];u[a]=u[h],u[h]=A}function rz(u,a,h,A){let x=u-h,E=a-A;return x*x+E*E}var WC;n.bh=void 0,(WC=n.bh||(n.bh={})).create=\"create\",WC.load=\"load\",WC.fullLoad=\"fullLoad\";let dT=null,t1=[],HC=1e3/60,qC=\"loadTime\",ZC=\"fullLoadTime\",AJ={mark(u){performance.mark(u)},frame(u){let a=u;dT!=null&&t1.push(a-dT),dT=a},clearMetrics(){dT=null,t1=[],performance.clearMeasures(qC),performance.clearMeasures(ZC);for(let u in n.bh)performance.clearMarks(n.bh[u])},getPerformanceMetrics(){performance.measure(qC,n.bh.create,n.bh.load),performance.measure(ZC,n.bh.create,n.bh.fullLoad);let u=performance.getEntriesByName(qC)[0].duration,a=performance.getEntriesByName(ZC)[0].duration,h=t1.length,A=1/(t1.reduce((E,P)=>E+P,0)/h/1e3),x=t1.filter(E=>E>HC).reduce((E,P)=>E+(P-HC)/HC,0);return{loadTime:u,fullLoadTime:a,fps:A,percentDroppedFrames:x/(h+x)*100,totalFrames:h}}};n.$=function(u,a,h){var A,x,E,P,D,F,V,q,X,rt,at,ct,mt=h[0],bt=h[1],Pt=h[2];return a===u?(u[12]=a[0]*mt+a[4]*bt+a[8]*Pt+a[12],u[13]=a[1]*mt+a[5]*bt+a[9]*Pt+a[13],u[14]=a[2]*mt+a[6]*bt+a[10]*Pt+a[14],u[15]=a[3]*mt+a[7]*bt+a[11]*Pt+a[15]):(x=a[1],E=a[2],P=a[3],D=a[4],F=a[5],V=a[6],q=a[7],X=a[8],rt=a[9],at=a[10],ct=a[11],u[0]=A=a[0],u[1]=x,u[2]=E,u[3]=P,u[4]=D,u[5]=F,u[6]=V,u[7]=q,u[8]=X,u[9]=rt,u[10]=at,u[11]=ct,u[12]=A*mt+D*bt+X*Pt+a[12],u[13]=x*mt+F*bt+rt*Pt+a[13],u[14]=E*mt+V*bt+at*Pt+a[14],u[15]=P*mt+q*bt+ct*Pt+a[15]),u},n.A=je,n.B=Da,n.C=class{constructor(u,a,h){this.receive=A=>{let x=A.data,E=x.id;if(E&&(!x.targetMapId||this.mapId===x.targetMapId))if(x.type===\"\"){delete this.tasks[E];let P=this.cancelCallbacks[E];delete this.cancelCallbacks[E],P&&P()}else Li()||x.mustQueue?(this.tasks[E]=x,this.taskQueue.push(E),this.invoker.trigger()):this.processTask(E,x)},this.process=()=>{if(!this.taskQueue.length)return;let A=this.taskQueue.shift(),x=this.tasks[A];delete this.tasks[A],this.taskQueue.length&&this.invoker.trigger(),x&&this.processTask(A,x)},this.target=u,this.parent=a,this.mapId=h,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new sJ(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=Li()?u:window}send(u,a,h,A,x=!1){let E=Math.round(1e18*Math.random()).toString(36).substring(0,10);h&&(this.callbacks[E]=h);let P=[],D={id:E,type:u,hasCallback:!!h,targetMapId:A,mustQueue:x,sourceMapId:this.mapId,data:Hl(a,P)};return this.target.postMessage(D,{transfer:P}),{cancel:()=>{h&&delete this.callbacks[E],this.target.postMessage({id:E,type:\"\",targetMapId:A,sourceMapId:this.mapId})}}}processTask(u,a){if(a.type===\"\"){let h=this.callbacks[u];delete this.callbacks[u],h&&(a.error?h(xf(a.error)):h(null,xf(a.data)))}else{let h=!1,A=[],x=a.hasCallback?(D,F)=>{h=!0,delete this.cancelCallbacks[u];let V={id:u,type:\"\",sourceMapId:this.mapId,error:D?Hl(D):null,data:Hl(F,A)};this.target.postMessage(V,{transfer:A})}:D=>{h=!0},E=null,P=xf(a.data);if(this.parent[a.type])E=this.parent[a.type](a.sourceMapId,P,x);else if(\"getWorkerSource\"in this.parent){let D=a.type.split(\".\");E=this.parent.getWorkerSource(a.sourceMapId,D[0],P.source)[D[1]](P,x)}else x(new Error(`Could not find function ${a.type}`));!h&&E&&E.cancel&&(this.cancelCallbacks[u]=E.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)}},n.D=nr,n.E=Nl,n.F=function(u,a){let h={};for(let A=0;A{}}},n.Y=ve,n.Z=function(){var u=new je(16);return je!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=0,u[12]=0,u[13]=0,u[14]=0),u[0]=1,u[5]=1,u[10]=1,u[15]=1,u},n._=o,n.a=zl,n.a$=class extends st{},n.a0=function(u,a,h){var A=h[0],x=h[1],E=h[2];return u[0]=a[0]*A,u[1]=a[1]*A,u[2]=a[2]*A,u[3]=a[3]*A,u[4]=a[4]*x,u[5]=a[5]*x,u[6]=a[6]*x,u[7]=a[7]*x,u[8]=a[8]*E,u[9]=a[9]*E,u[10]=a[10]*E,u[11]=a[11]*E,u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.a1=qi,n.a2=function(){return Xt++},n.a3=yt,n.a4=C_,n.a5=function(){ua.isLoading()||ua.isLoaded()||f0()!==\"deferred\"||v_()},n.a6=r0,n.a7=S,n.a8=un,n.a9=z6,n.aA=Bc,n.aB=function(u){u=u.slice();let a=Object.create(null);for(let h=0;h{A[P.source]?h.push({command:oi.removeLayer,args:[P.id]}):E.push(P)}),h=h.concat(x),function(P,D,F){D=D||[];let V=(P=P||[]).map(Ia),q=D.map(Ia),X=P.reduce(wo,{}),rt=D.reduce(wo,{}),at=V.slice(),ct=Object.create(null),mt,bt,Pt,jt,Rt,Gt,Yt;for(mt=0,bt=0;mt@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(h,A,x,E)=>{let P=x||E;return a[A]=!P||P.toLowerCase(),\"\"}),a[\"max-age\"]){let h=parseInt(a[\"max-age\"],10);isNaN(h)?delete a[\"max-age\"]:a[\"max-age\"]=h}return a},n.ab=function(u,a){let h=[];for(let A in u)A in a||h.push(A);return h},n.ac=function(u){if(oo==null){let a=u.navigator?u.navigator.userAgent:null;oo=!!u.safari||!(!a||!(/\\b(iPad|iPhone|iPod)\\b/.test(a)||a.match(\"Safari\")&&!a.match(\"Chrome\")))}return oo},n.ad=ut,n.ae=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[0],P=a[1],D=a[2],F=a[3],V=a[4],q=a[5],X=a[6],rt=a[7];return a!==u&&(u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[0]=E*x+V*A,u[1]=P*x+q*A,u[2]=D*x+X*A,u[3]=F*x+rt*A,u[4]=V*x-E*A,u[5]=q*x-P*A,u[6]=X*x-D*A,u[7]=rt*x-F*A,u},n.af=function(u){var a=new je(16);return a[0]=u[0],a[1]=u[1],a[2]=u[2],a[3]=u[3],a[4]=u[4],a[5]=u[5],a[6]=u[6],a[7]=u[7],a[8]=u[8],a[9]=u[9],a[10]=u[10],a[11]=u[11],a[12]=u[12],a[13]=u[13],a[14]=u[14],a[15]=u[15],a},n.ag=Pi,n.ah=function(u,a){let h=0,A=0;if(u.kind===\"constant\")A=u.layoutSize;else if(u.kind!==\"source\"){let{interpolationType:x,minZoom:E,maxZoom:P}=u,D=x?ut(Oa.interpolationFactor(x,a,E,P),0,1):0;u.kind===\"camera\"?A=Da.number(u.minSize,u.maxSize,D):h=D}return{uSizeT:h,uSize:A}},n.aj=function(u,{uSize:a,uSizeT:h},{lowerSize:A,upperSize:x}){return u.kind===\"source\"?A/Ef:u.kind===\"composite\"?Da.number(A/Ef,x/Ef,h):a},n.ak=kC,n.al=function(u,a,h,A){let x=a.y-u.y,E=a.x-u.x,P=A.y-h.y,D=A.x-h.x,F=P*E-D*x;if(F===0)return null;let V=(D*(u.y-h.y)-P*(u.x-h.x))/F;return new w(u.x+V*E,u.y+V*x)},n.am=j6,n.an=L,n.ao=Zr,n.ap=Hs,n.ar=LC,n.as=function(u,a){var h=a[0],A=a[1],x=a[2],E=a[3],P=a[4],D=a[5],F=a[6],V=a[7],q=a[8],X=a[9],rt=a[10],at=a[11],ct=a[12],mt=a[13],bt=a[14],Pt=a[15],jt=h*D-A*P,Rt=h*F-x*P,Gt=h*V-E*P,Yt=A*F-x*D,ce=A*V-E*D,Ne=x*V-E*F,ir=q*mt-X*ct,Fe=q*bt-rt*ct,Re=q*Pt-at*ct,Me=X*bt-rt*mt,Ye=X*Pt-at*mt,Ie=rt*Pt-at*bt,Ae=jt*Ie-Rt*Ye+Gt*Me+Yt*Re-ce*Fe+Ne*ir;return Ae?(u[0]=(D*Ie-F*Ye+V*Me)*(Ae=1/Ae),u[1]=(x*Ye-A*Ie-E*Me)*Ae,u[2]=(mt*Ne-bt*ce+Pt*Yt)*Ae,u[3]=(rt*ce-X*Ne-at*Yt)*Ae,u[4]=(F*Re-P*Ie-V*Fe)*Ae,u[5]=(h*Ie-x*Re+E*Fe)*Ae,u[6]=(bt*Gt-ct*Ne-Pt*Rt)*Ae,u[7]=(q*Ne-rt*Gt+at*Rt)*Ae,u[8]=(P*Ye-D*Re+V*ir)*Ae,u[9]=(A*Re-h*Ye-E*ir)*Ae,u[10]=(ct*ce-mt*Gt+Pt*jt)*Ae,u[11]=(X*Gt-q*ce-at*jt)*Ae,u[12]=(D*Fe-P*Me-F*ir)*Ae,u[13]=(h*Me-A*Fe+x*ir)*Ae,u[14]=(mt*Rt-ct*Yt-bt*jt)*Ae,u[15]=(q*Yt-X*Rt+rt*jt)*Ae,u):null},n.at=UC,n.au=CC,n.av=VC,n.aw=function(){let u={},a=ee.$version;for(let h in ee.$root){let A=ee.$root[h];if(A.required){let x=null;x=h===\"version\"?a:A.type===\"array\"?[]:{},x!=null&&(u[h]=x)}}return u},n.ax=oi,n.ay=__,n.az=Jn,n.b=function(u,a){let h=new Blob([new Uint8Array(u)],{type:\"image/png\"});createImageBitmap(h).then(A=>{a(null,A)}).catch(A=>{a(new Error(`Could not load image because of ${A.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})},n.b0=Gs,n.b1=function(u,a){var h=u[0],A=u[1],x=u[2],E=u[3],P=u[4],D=u[5],F=u[6],V=u[7],q=u[8],X=u[9],rt=u[10],at=u[11],ct=u[12],mt=u[13],bt=u[14],Pt=u[15],jt=a[0],Rt=a[1],Gt=a[2],Yt=a[3],ce=a[4],Ne=a[5],ir=a[6],Fe=a[7],Re=a[8],Me=a[9],Ye=a[10],Ie=a[11],Ae=a[12],hr=a[13],sr=a[14],ri=a[15];return Math.abs(h-jt)<=we*Math.max(1,Math.abs(h),Math.abs(jt))&&Math.abs(A-Rt)<=we*Math.max(1,Math.abs(A),Math.abs(Rt))&&Math.abs(x-Gt)<=we*Math.max(1,Math.abs(x),Math.abs(Gt))&&Math.abs(E-Yt)<=we*Math.max(1,Math.abs(E),Math.abs(Yt))&&Math.abs(P-ce)<=we*Math.max(1,Math.abs(P),Math.abs(ce))&&Math.abs(D-Ne)<=we*Math.max(1,Math.abs(D),Math.abs(Ne))&&Math.abs(F-ir)<=we*Math.max(1,Math.abs(F),Math.abs(ir))&&Math.abs(V-Fe)<=we*Math.max(1,Math.abs(V),Math.abs(Fe))&&Math.abs(q-Re)<=we*Math.max(1,Math.abs(q),Math.abs(Re))&&Math.abs(X-Me)<=we*Math.max(1,Math.abs(X),Math.abs(Me))&&Math.abs(rt-Ye)<=we*Math.max(1,Math.abs(rt),Math.abs(Ye))&&Math.abs(at-Ie)<=we*Math.max(1,Math.abs(at),Math.abs(Ie))&&Math.abs(ct-Ae)<=we*Math.max(1,Math.abs(ct),Math.abs(Ae))&&Math.abs(mt-hr)<=we*Math.max(1,Math.abs(mt),Math.abs(hr))&&Math.abs(bt-sr)<=we*Math.max(1,Math.abs(bt),Math.abs(sr))&&Math.abs(Pt-ri)<=we*Math.max(1,Math.abs(Pt),Math.abs(ri))},n.b2=function(u,a){return u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[4]=a[4],u[5]=a[5],u[6]=a[6],u[7]=a[7],u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.b3=function(u,a,h){return u[0]=a[0]*h[0],u[1]=a[1]*h[1],u[2]=a[2]*h[2],u[3]=a[3]*h[3],u},n.b4=function(u,a){return u[0]*a[0]+u[1]*a[1]+u[2]*a[2]+u[3]*a[3]},n.b5=Et,n.b6=O6,n.b7=k6,n.b8=function(u,a,h,A,x){var E,P=1/Math.tan(a/2);return u[0]=P/h,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=P,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=-1,u[12]=0,u[13]=0,u[15]=0,x!=null&&x!==1/0?(u[10]=(x+A)*(E=1/(A-x)),u[14]=2*x*A*E):(u[10]=-1,u[14]=-2*A),u},n.b9=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[4],P=a[5],D=a[6],F=a[7],V=a[8],q=a[9],X=a[10],rt=a[11];return a!==u&&(u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[4]=E*x+V*A,u[5]=P*x+q*A,u[6]=D*x+X*A,u[7]=F*x+rt*A,u[8]=V*x-E*A,u[9]=q*x-P*A,u[10]=X*x-D*A,u[11]=rt*x-F*A,u},n.bA=f,n.bB=a6,n.bC=Qp,n.bD=ua,n.ba=K,n.bb=J,n.bc=function(u,a){return u[0]=a[0],u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=a[1],u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=a[2],u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},n.bd=class extends gh{},n.be=BC,n.bf=R6,n.bg=AJ,n.bi=Xi,n.bj=function(u,a,h=!1){if(us===u0||us===iA||us===nA)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");_u=kc.resolveURL(u),us=u0,ph=a,h0(),h||v_()},n.bk=f0,n.bl=function(u,a){let h={};for(let x=0;xAe*Hs)}let Fe=P?\"center\":h.get(\"text-justify\").evaluate(V,{},u.canonical),Re=h.get(\"symbol-placement\"),Me=Re===\"point\"?h.get(\"text-max-width\").evaluate(V,{},u.canonical)*Hs:0,Ye=()=>{u.bucket.allowVerticalPlacement&&o0(Gt)&&(ct.vertical=nT(mt,u.glyphMap,u.glyphPositions,u.imagePositions,q,Me,E,Ne,\"left\",ce,Pt,n.ai.vertical,!0,Re,rt,X))};if(!P&&ir){let Ie=new Set;if(Fe===\"auto\")for(let hr=0;hr{a(null,h),URL.revokeObjectURL(h.src),h.onload=null,window.requestAnimationFrame(()=>{h.src=No})},h.onerror=()=>a(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let A=new Blob([new Uint8Array(u)],{type:\"image/png\"});h.src=u.byteLength?URL.createObjectURL(A):No},n.e=kt,n.f=function(u,a){return Vo(kt(u,{type:\"json\"}),a)},n.g=ki,n.h=kc,n.i=Li,n.j=ao,n.k=as,n.l=cl,n.m=Vo,n.n=function(u){return new MC(u).readFields(WK,[])},n.o=function(u,a,h){if(!u.length)return h(null,[]);let A=u.length,x=new Array(u.length),E=null;u.forEach((P,D)=>{a(P,(F,V)=>{F&&(E=F),x[D]=V,--A==0&&h(E,x)})})},n.p=A6,n.q=Vx,n.r=Hn,n.s=xo,n.t=hh,n.u=Oe,n.v=ee,n.w=Ke,n.x=fh,n.y=za,n.z=function([u,a,h]){return a+=90,a*=Math.PI/180,h*=Math.PI/180,{x:u*Math.cos(a)*Math.sin(h),y:u*Math.sin(a)*Math.sin(h),z:u*Math.cos(h)}}}),i([\"./shared\"],function(n){\"use strict\";class o{constructor(tt){this.keyCache={},tt&&this.replace(tt)}replace(tt){this._layerConfigs={},this._layers={},this.update(tt,[])}update(tt,nt){for(let vt of tt){this._layerConfigs[vt.id]=vt;let xt=this._layers[vt.id]=n.aC(vt);xt._featureFilter=n.a6(xt.filter),this.keyCache[vt.id]&&delete this.keyCache[vt.id]}for(let vt of nt)delete this.keyCache[vt],delete this._layerConfigs[vt],delete this._layers[vt];this.familiesBySource={};let ht=n.bl(Object.values(this._layerConfigs),this.keyCache);for(let vt of ht){let xt=vt.map(se=>this._layers[se.id]),_t=xt[0];if(_t.visibility===\"none\")continue;let Dt=_t.source||\"\",Mt=this.familiesBySource[Dt];Mt||(Mt=this.familiesBySource[Dt]={});let Vt=_t.sourceLayer||\"_geojsonTileLayer\",ie=Mt[Vt];ie||(ie=Mt[Vt]=[]),ie.push(xt)}}}class c{constructor(tt){let nt={},ht=[];for(let Dt in tt){let Mt=tt[Dt],Vt=nt[Dt]={};for(let ie in Mt){let se=Mt[+ie];if(!se||se.bitmap.width===0||se.bitmap.height===0)continue;let ae={x:0,y:0,w:se.bitmap.width+2,h:se.bitmap.height+2};ht.push(ae),Vt[ie]={rect:ae,metrics:se.metrics}}}let{w:vt,h:xt}=n.p(ht),_t=new n.q({width:vt||1,height:xt||1});for(let Dt in tt){let Mt=tt[Dt];for(let Vt in Mt){let ie=Mt[+Vt];if(!ie||ie.bitmap.width===0||ie.bitmap.height===0)continue;let se=nt[Dt][Vt].rect;n.q.copy(ie.bitmap,_t,{x:0,y:0},{x:se.x+1,y:se.y+1},ie.bitmap)}}this.image=_t,this.positions=nt}}n.bm(\"GlyphAtlas\",c);class f{constructor(tt){this.tileID=new n.O(tt.tileID.overscaledZ,tt.tileID.wrap,tt.tileID.canonical.z,tt.tileID.canonical.x,tt.tileID.canonical.y),this.uid=tt.uid,this.zoom=tt.zoom,this.pixelRatio=tt.pixelRatio,this.tileSize=tt.tileSize,this.source=tt.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=tt.showCollisionBoxes,this.collectResourceTiming=!!tt.collectResourceTiming,this.returnDependencies=!!tt.returnDependencies,this.promoteId=tt.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(tt,nt,ht,vt,xt){this.status=\"parsing\",this.data=tt,this.collisionBoxArray=new n.a3;let _t=new n.bn(Object.keys(tt.layers).sort()),Dt=new n.bo(this.tileID,this.promoteId);Dt.bucketLayerIDs=[];let Mt={},Vt={featureIndex:Dt,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ht},ie=nt.familiesBySource[this.source];for(let ni in ie){let Hr=tt.layers[ni];if(!Hr)continue;Hr.version===1&&n.w(`Vector tile source \"${this.source}\" layer \"${ni}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let jn=_t.encode(ni),Bi=[];for(let xn=0;xn=es.maxzoom||es.visibility!==\"none\"&&(_(xn,this.zoom,ht),(Mt[es.id]=es.createBucket({index:Dt.bucketLayerIDs.length,layers:xn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:jn,sourceID:this.source})).populate(Bi,Vt,this.tileID.canonical),Dt.bucketLayerIDs.push(xn.map(oa=>oa.id)))}}let se,ae,lr,vr,Xe=n.aH(Vt.glyphDependencies,ni=>Object.keys(ni).map(Number));this.inFlightDependencies.forEach(ni=>ni?.cancel()),this.inFlightDependencies=[];let cr=++this.dependencySentinel;Object.keys(Xe).length?this.inFlightDependencies.push(vt.send(\"getGlyphs\",{uid:this.uid,stacks:Xe,source:this.source,tileID:this.tileID,type:\"glyphs\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,ae=Hr,zi.call(this)))})):ae={};let wr=Object.keys(Vt.iconDependencies);wr.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:wr,source:this.source,tileID:this.tileID,type:\"icons\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,lr=Hr,zi.call(this)))})):lr={};let xi=Object.keys(Vt.patternDependencies);function zi(){if(se)return xt(se);if(ae&&lr&&vr){let ni=new c(ae),Hr=new n.bp(lr,vr);for(let jn in Mt){let Bi=Mt[jn];Bi instanceof n.a4?(_(Bi.layers,this.zoom,ht),n.bq({bucket:Bi,glyphMap:ae,glyphPositions:ni.positions,imageMap:lr,imagePositions:Hr.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Bi.hasPattern&&(Bi instanceof n.br||Bi instanceof n.bs||Bi instanceof n.bt)&&(_(Bi.layers,this.zoom,ht),Bi.addFeatures(Vt,this.tileID.canonical,Hr.patternPositions))}this.status=\"done\",xt(null,{buckets:Object.values(Mt).filter(jn=>!jn.isEmpty()),featureIndex:Dt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ni.image,imageAtlas:Hr,glyphMap:this.returnDependencies?ae:null,iconMap:this.returnDependencies?lr:null,glyphPositions:this.returnDependencies?ni.positions:null})}}xi.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:xi,source:this.source,tileID:this.tileID,type:\"patterns\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,vr=Hr,zi.call(this)))})):vr={},zi.call(this)}}function _(gt,tt,nt){let ht=new n.a8(tt);for(let vt of gt)vt.recalculate(ht,nt)}function w(gt,tt){let nt=n.l(gt.request,(ht,vt,xt,_t)=>{if(ht)tt(ht);else if(vt)try{let Dt=new n.bw.VectorTile(new n.bv(vt));tt(null,{vectorTile:Dt,rawData:vt,cacheControl:xt,expires:_t})}catch(Dt){let Mt=new Uint8Array(vt),Vt=`Unable to parse the tile at ${gt.request.url}, `;Vt+=Mt[0]===31&&Mt[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Dt.messge}`,tt(new Error(Vt))}});return()=>{nt.cancel(),tt()}}class I{constructor(tt,nt,ht,vt){this.actor=tt,this.layerIndex=nt,this.availableImages=ht,this.loadVectorData=vt||w,this.fetching={},this.loading={},this.loaded={}}loadTile(tt,nt){let ht=tt.uid;this.loading||(this.loading={});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request),xt=this.loading[ht]=new f(tt);xt.abort=this.loadVectorData(tt,(_t,Dt)=>{if(delete this.loading[ht],_t||!Dt)return xt.status=\"done\",this.loaded[ht]=xt,nt(_t);let Mt=Dt.rawData,Vt={};Dt.expires&&(Vt.expires=Dt.expires),Dt.cacheControl&&(Vt.cacheControl=Dt.cacheControl);let ie={};if(vt){let se=vt.finish();se&&(ie.resourceTiming=JSON.parse(JSON.stringify(se)))}xt.vectorTile=Dt.vectorTile,xt.parse(Dt.vectorTile,this.layerIndex,this.availableImages,this.actor,(se,ae)=>{if(delete this.fetching[ht],se||!ae)return nt(se);nt(null,n.e({rawTileData:Mt.slice(0)},ae,Vt,ie))}),this.loaded=this.loaded||{},this.loaded[ht]=xt,this.fetching[ht]={rawTileData:Mt,cacheControl:Vt,resourceTiming:ie}})}reloadTile(tt,nt){let ht=this.loaded,vt=tt.uid;if(ht&&ht[vt]){let xt=ht[vt];xt.showCollisionBoxes=tt.showCollisionBoxes,xt.status===\"parsing\"?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,(_t,Dt)=>{if(_t||!Dt)return nt(_t,Dt);let Mt;if(this.fetching[vt]){let{rawTileData:Vt,cacheControl:ie,resourceTiming:se}=this.fetching[vt];delete this.fetching[vt],Mt=n.e({rawTileData:Vt.slice(0)},Dt,ie,se)}else Mt=Dt;nt(null,Mt)}):xt.status===\"done\"&&(xt.vectorTile?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,nt):nt())}}abortTile(tt,nt){let ht=this.loading,vt=tt.uid;ht&&ht[vt]&&ht[vt].abort&&(ht[vt].abort(),delete ht[vt]),nt()}removeTile(tt,nt){let ht=this.loaded,vt=tt.uid;ht&&ht[vt]&&delete ht[vt],nt()}}class R{constructor(){this.loaded={}}loadTile(tt,nt){return n._(this,void 0,void 0,function*(){let{uid:ht,encoding:vt,rawImageData:xt,redFactor:_t,greenFactor:Dt,blueFactor:Mt,baseShift:Vt}=tt,ie=xt.width+2,se=xt.height+2,ae=n.a(xt)?new n.R({width:ie,height:se},yield n.bx(xt,-1,-1,ie,se)):xt,lr=new n.by(ht,ae,vt,_t,Dt,Mt,Vt);this.loaded=this.loaded||{},this.loaded[ht]=lr,nt(null,lr)})}removeTile(tt){let nt=this.loaded,ht=tt.uid;nt&&nt[ht]&&delete nt[ht]}}function N(gt,tt){if(gt.length!==0){j(gt[0],tt);for(var nt=1;nt=Math.abs(Dt)?nt-Mt+Dt:Dt-Mt+nt,nt=Mt}nt+ht>=0!=!!tt&>.reverse()}var Q=n.bz(function gt(tt,nt){var ht,vt=tt&&tt.type;if(vt===\"FeatureCollection\")for(ht=0;ht>31}function Li(gt,tt){for(var nt=gt.loadGeometry(),ht=gt.type,vt=0,xt=0,_t=nt.length,Dt=0;Dt<_t;Dt++){var Mt=nt[Dt],Vt=1;ht===1&&(Vt=Mt.length),tt.writeVarint(rr(1,Vt));for(var ie=ht===3?Mt.length-1:Mt.length,se=0;segt},ih=Math.fround||(Uo=new Float32Array(1),gt=>(Uo[0]=+gt,Uo[0]));var Uo;let Si=3,Ns=5,ll=6;class kc{constructor(tt){this.options=Object.assign(Object.create(No),tt),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(tt){let{log:nt,minZoom:ht,maxZoom:vt}=this.options;nt&&console.time(\"total time\");let xt=`prepare ${tt.length} points`;nt&&console.time(xt),this.points=tt;let _t=[];for(let Mt=0;Mt=ht;Mt--){let Vt=+Date.now();Dt=this.trees[Mt]=this._createTree(this._cluster(Dt,Mt)),nt&&console.log(\"z%d: %d clusters in %dms\",Mt,Dt.numItems,+Date.now()-Vt)}return nt&&console.timeEnd(\"total time\"),this}getClusters(tt,nt){let ht=((tt[0]+180)%360+360)%360-180,vt=Math.max(-90,Math.min(90,tt[1])),xt=tt[2]===180?180:((tt[2]+180)%360+360)%360-180,_t=Math.max(-90,Math.min(90,tt[3]));if(tt[2]-tt[0]>=360)ht=-180,xt=180;else if(ht>xt){let se=this.getClusters([ht,vt,180,_t],nt),ae=this.getClusters([-180,vt,xt,_t],nt);return se.concat(ae)}let Dt=this.trees[this._limitZoom(nt)],Mt=Dt.range(Jn(ht),ki(_t),Jn(xt),ki(vt)),Vt=Dt.data,ie=[];for(let se of Mt){let ae=this.stride*se;ie.push(Vt[ae+Ns]>1?Rc(Vt,ae,this.clusterProps):this.points[Vt[ae+Si]])}return ie}getChildren(tt){let nt=this._getOriginId(tt),ht=this._getOriginZoom(tt),vt=\"No cluster with the specified id.\",xt=this.trees[ht];if(!xt)throw new Error(vt);let _t=xt.data;if(nt*this.stride>=_t.length)throw new Error(vt);let Dt=this.options.radius/(this.options.extent*Math.pow(2,ht-1)),Mt=xt.within(_t[nt*this.stride],_t[nt*this.stride+1],Dt),Vt=[];for(let ie of Mt){let se=ie*this.stride;_t[se+4]===tt&&Vt.push(_t[se+Ns]>1?Rc(_t,se,this.clusterProps):this.points[_t[se+Si]])}if(Vt.length===0)throw new Error(vt);return Vt}getLeaves(tt,nt,ht){let vt=[];return this._appendLeaves(vt,tt,nt=nt||10,ht=ht||0,0),vt}getTile(tt,nt,ht){let vt=this.trees[this._limitZoom(tt)],xt=Math.pow(2,tt),{extent:_t,radius:Dt}=this.options,Mt=Dt/_t,Vt=(ht-Mt)/xt,ie=(ht+1+Mt)/xt,se={features:[]};return this._addTileFeatures(vt.range((nt-Mt)/xt,Vt,(nt+1+Mt)/xt,ie),vt.data,nt,ht,xt,se),nt===0&&this._addTileFeatures(vt.range(1-Mt/xt,Vt,1,ie),vt.data,xt,ht,xt,se),nt===xt-1&&this._addTileFeatures(vt.range(0,Vt,Mt/xt,ie),vt.data,-1,ht,xt,se),se.features.length?se:null}getClusterExpansionZoom(tt){let nt=this._getOriginZoom(tt)-1;for(;nt<=this.options.maxZoom;){let ht=this.getChildren(tt);if(nt++,ht.length!==1)break;tt=ht[0].properties.cluster_id}return nt}_appendLeaves(tt,nt,ht,vt,xt){let _t=this.getChildren(nt);for(let Dt of _t){let Mt=Dt.properties;if(Mt&&Mt.cluster?xt+Mt.point_count<=vt?xt+=Mt.point_count:xt=this._appendLeaves(tt,Mt.cluster_id,ht,vt,xt):xt1,ie,se,ae;if(Vt)ie=Xi(nt,Mt,this.clusterProps),se=nt[Mt],ae=nt[Mt+1];else{let Xe=this.points[nt[Mt+Si]];ie=Xe.properties;let[cr,wr]=Xe.geometry.coordinates;se=Jn(cr),ae=ki(wr)}let lr={type:1,geometry:[[Math.round(this.options.extent*(se*xt-ht)),Math.round(this.options.extent*(ae*xt-vt))]],tags:ie},vr;vr=Vt||this.options.generateId?nt[Mt+Si]:this.points[nt[Mt+Si]].id,vr!==void 0&&(lr.id=vr),_t.features.push(lr)}}_limitZoom(tt){return Math.max(this.options.minZoom,Math.min(Math.floor(+tt),this.options.maxZoom+1))}_cluster(tt,nt){let{radius:ht,extent:vt,reduce:xt,minPoints:_t}=this.options,Dt=ht/(vt*Math.pow(2,nt)),Mt=tt.data,Vt=[],ie=this.stride;for(let se=0;sent&&(cr+=Mt[xi+Ns])}if(cr>Xe&&cr>=_t){let wr,xi=ae*Xe,zi=lr*Xe,ni=-1,Hr=((se/ie|0)<<5)+(nt+1)+this.points.length;for(let jn of vr){let Bi=jn*ie;if(Mt[Bi+2]<=nt)continue;Mt[Bi+2]=nt;let xn=Mt[Bi+Ns];xi+=Mt[Bi]*xn,zi+=Mt[Bi+1]*xn,Mt[Bi+4]=Hr,xt&&(wr||(wr=this._map(Mt,se,!0),ni=this.clusterProps.length,this.clusterProps.push(wr)),xt(wr,this._map(Mt,Bi)))}Mt[se+4]=Hr,Vt.push(xi/cr,zi/cr,1/0,Hr,-1,cr),xt&&Vt.push(ni)}else{for(let wr=0;wr1)for(let wr of vr){let xi=wr*ie;if(!(Mt[xi+2]<=nt)){Mt[xi+2]=nt;for(let zi=0;zi>5}_getOriginZoom(tt){return(tt-this.points.length)%32}_map(tt,nt,ht){if(tt[nt+Ns]>1){let _t=this.clusterProps[tt[nt+ll]];return ht?Object.assign({},_t):_t}let vt=this.points[tt[nt+Si]].properties,xt=this.options.map(vt);return ht&&xt===vt?Object.assign({},xt):xt}}function Rc(gt,tt,nt){return{type:\"Feature\",id:gt[tt+Si],properties:Xi(gt,tt,nt),geometry:{type:\"Point\",coordinates:[(ht=gt[tt],360*(ht-.5)),ts(gt[tt+1])]}};var ht}function Xi(gt,tt,nt){let ht=gt[tt+Ns],vt=ht>=1e4?`${Math.round(ht/1e3)}k`:ht>=1e3?Math.round(ht/100)/10+\"k\":ht,xt=gt[tt+ll],_t=xt===-1?{}:Object.assign({},nt[xt]);return Object.assign(_t,{cluster:!0,cluster_id:gt[tt+Si],point_count:ht,point_count_abbreviated:vt})}function Jn(gt){return gt/360+.5}function ki(gt){let tt=Math.sin(gt*Math.PI/180),nt=.5-.25*Math.log((1+tt)/(1-tt))/Math.PI;return nt<0?0:nt>1?1:nt}function ts(gt){let tt=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(tt))/Math.PI-90}function Vo(gt,tt,nt,ht){for(var vt,xt=ht,_t=nt-tt>>1,Dt=nt-tt,Mt=gt[tt],Vt=gt[tt+1],ie=gt[nt],se=gt[nt+1],ae=tt+3;aext)vt=ae,xt=lr;else if(lr===xt){var vr=Math.abs(ae-_t);vrht&&(vt-tt>3&&Vo(gt,tt,vt,ht),gt[vt+2]=xt,nt-vt>3&&Vo(gt,vt,nt,ht))}function cl(gt,tt,nt,ht,vt,xt){var _t=vt-nt,Dt=xt-ht;if(_t!==0||Dt!==0){var Mt=((gt-nt)*_t+(tt-ht)*Dt)/(_t*_t+Dt*Dt);Mt>1?(nt=vt,ht=xt):Mt>0&&(nt+=_t*Mt,ht+=Dt*Mt)}return(_t=gt-nt)*_t+(Dt=tt-ht)*Dt}function xo(gt,tt,nt,ht){var vt={id:gt===void 0?null:gt,type:tt,geometry:nt,tags:ht,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(xt){var _t=xt.geometry,Dt=xt.type;if(Dt===\"Point\"||Dt===\"MultiPoint\"||Dt===\"LineString\")Pa(xt,_t);else if(Dt===\"Polygon\"||Dt===\"MultiLineString\")for(var Mt=0;Mt<_t.length;Mt++)Pa(xt,_t[Mt]);else if(Dt===\"MultiPolygon\")for(Mt=0;Mt<_t.length;Mt++)for(var Vt=0;Vt<_t[Mt].length;Vt++)Pa(xt,_t[Mt][Vt])}(vt),vt}function Pa(gt,tt){for(var nt=0;nt0&&(_t+=ht?(vt*Vt-Mt*xt)/2:Math.sqrt(Math.pow(Mt-vt,2)+Math.pow(Vt-xt,2))),vt=Mt,xt=Vt}var ie=tt.length-3;tt[2]=1,Vo(tt,0,ie,nt),tt[ie+2]=1,tt.size=Math.abs(_t),tt.start=0,tt.end=tt.size}function Nl(gt,tt,nt,ht){for(var vt=0;vt1?1:nt}function mn(gt,tt,nt,ht,vt,xt,_t,Dt){if(ht/=tt,xt>=(nt/=tt)&&_t=ht)return null;for(var Mt=[],Vt=0;Vt=nt&&vr=ht)){var Xe=[];if(ae===\"Point\"||ae===\"MultiPoint\")gi(se,Xe,nt,ht,vt);else if(ae===\"LineString\")oi(se,Xe,nt,ht,vt,!1,Dt.lineMetrics);else if(ae===\"MultiLineString\")du(se,Xe,nt,ht,vt,!1);else if(ae===\"Polygon\")du(se,Xe,nt,ht,vt,!0);else if(ae===\"MultiPolygon\")for(var cr=0;cr=nt&&_t<=ht&&(tt.push(gt[xt]),tt.push(gt[xt+1]),tt.push(gt[xt+2]))}}function oi(gt,tt,nt,ht,vt,xt,_t){for(var Dt,Mt,Vt=lo(gt),ie=vt===0?bo:hl,se=gt.start,ae=0;aent&&(Mt=ie(Vt,lr,vr,cr,wr,nt),_t&&(Vt.start=se+Dt*Mt)):xi>ht?zi=nt&&(Mt=ie(Vt,lr,vr,cr,wr,nt),ni=!0),zi>ht&&xi<=ht&&(Mt=ie(Vt,lr,vr,cr,wr,ht),ni=!0),!xt&&ni&&(_t&&(Vt.end=se+Dt*Mt),tt.push(Vt),Vt=lo(gt)),_t&&(se+=Dt)}var Hr=gt.length-3;lr=gt[Hr],vr=gt[Hr+1],Xe=gt[Hr+2],(xi=vt===0?lr:vr)>=nt&&xi<=ht&&ul(Vt,lr,vr,Xe),Hr=Vt.length-3,xt&&Hr>=3&&(Vt[Hr]!==Vt[0]||Vt[Hr+1]!==Vt[1])&&ul(Vt,Vt[0],Vt[1],Vt[2]),Vt.length&&tt.push(Vt)}function lo(gt){var tt=[];return tt.size=gt.size,tt.start=gt.start,tt.end=gt.end,tt}function du(gt,tt,nt,ht,vt,xt){for(var _t=0;_t_t.maxX&&(_t.maxX=ie),se>_t.maxY&&(_t.maxY=se)}return _t}function Ul(gt,tt,nt,ht){var vt=tt.geometry,xt=tt.type,_t=[];if(xt===\"Point\"||xt===\"MultiPoint\")for(var Dt=0;Dt0&&tt.size<(vt?_t:ht))nt.numPoints+=tt.length/3;else{for(var Dt=[],Mt=0;Mt_t)&&(nt.numSimplified++,Dt.push(tt[Mt]),Dt.push(tt[Mt+1])),nt.numPoints++;vt&&function(Vt,ie){for(var se=0,ae=0,lr=Vt.length,vr=lr-2;ae0===ie)for(ae=0,lr=Vt.length;ae24)throw new Error(\"maxZoom should be in the 0-24 range\");if(tt.promoteId&&tt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var ht=function(vt,xt){var _t=[];if(vt.type===\"FeatureCollection\")for(var Dt=0;Dt1&&console.time(\"creation\"),ae=this.tiles[se]=gn(gt,tt,nt,ht,Mt),this.tileCoords.push({z:tt,x:nt,y:ht}),Vt)){Vt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",tt,nt,ht,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd(\"creation\"));var lr=\"z\"+tt;this.stats[lr]=(this.stats[lr]||0)+1,this.total++}if(ae.source=gt,vt){if(tt===Mt.maxZoom||tt===vt)continue;var vr=1<1&&console.time(\"clipping\");var Xe,cr,wr,xi,zi,ni,Hr=.5*Mt.buffer/Mt.extent,jn=.5-Hr,Bi=.5+Hr,xn=1+Hr;Xe=cr=wr=xi=null,zi=mn(gt,ie,nt-Hr,nt+Bi,0,ae.minX,ae.maxX,Mt),ni=mn(gt,ie,nt+jn,nt+xn,0,ae.minX,ae.maxX,Mt),gt=null,zi&&(Xe=mn(zi,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),cr=mn(zi,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),zi=null),ni&&(wr=mn(ni,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),xi=mn(ni,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),ni=null),Vt>1&&console.timeEnd(\"clipping\"),Dt.push(Xe||[],tt+1,2*nt,2*ht),Dt.push(cr||[],tt+1,2*nt,2*ht+1),Dt.push(wr||[],tt+1,2*nt+1,2*ht),Dt.push(xi||[],tt+1,2*nt+1,2*ht+1)}}},Te.prototype.getTile=function(gt,tt,nt){var ht=this.options,vt=ht.extent,xt=ht.debug;if(gt<0||gt>24)return null;var _t=1<1&&console.log(\"drilling down to z%d-%d-%d\",gt,tt,nt);for(var Mt,Vt=gt,ie=tt,se=nt;!Mt&&Vt>0;)Vt--,ie=Math.floor(ie/2),se=Math.floor(se/2),Mt=this.tiles[Dr(Vt,ie,se)];return Mt&&Mt.source?(xt>1&&console.log(\"found parent tile z%d-%d-%d\",Vt,ie,se),xt>1&&console.time(\"drilling down\"),this.splitTile(Mt.source,Vt,ie,se,gt,tt,nt),xt>1&&console.timeEnd(\"drilling down\"),this.tiles[Dt]?ve(this.tiles[Dt],vt):null):null};class Mr extends I{constructor(tt,nt,ht,vt){super(tt,nt,ht),this._dataUpdateable=new Map,this.loadGeoJSON=(xt,_t)=>{let{promoteId:Dt}=xt;if(xt.request)return n.f(xt.request,(Mt,Vt,ie,se)=>{this._dataUpdateable=Us(Vt,Dt)?La(Vt,Dt):void 0,_t(Mt,Vt,ie,se)});if(typeof xt.data==\"string\")try{let Mt=JSON.parse(xt.data);this._dataUpdateable=Us(Mt,Dt)?La(Mt,Dt):void 0,_t(null,Mt)}catch{_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`))}else xt.dataDiff?this._dataUpdateable?(function(Mt,Vt,ie){var se,ae,lr,vr;if(Vt.removeAll&&Mt.clear(),Vt.remove)for(let Xe of Vt.remove)Mt.delete(Xe);if(Vt.add)for(let Xe of Vt.add){let cr=gr(Xe,ie);cr!=null&&Mt.set(cr,Xe)}if(Vt.update)for(let Xe of Vt.update){let cr=Mt.get(Xe.id);if(cr==null)continue;let wr=!Xe.removeAllProperties&&(((se=Xe.removeProperties)===null||se===void 0?void 0:se.length)>0||((ae=Xe.addOrUpdateProperties)===null||ae===void 0?void 0:ae.length)>0);if((Xe.newGeometry||Xe.removeAllProperties||wr)&&(cr=Object.assign({},cr),Mt.set(Xe.id,cr),wr&&(cr.properties=Object.assign({},cr.properties))),Xe.newGeometry&&(cr.geometry=Xe.newGeometry),Xe.removeAllProperties)cr.properties={};else if(((lr=Xe.removeProperties)===null||lr===void 0?void 0:lr.length)>0)for(let xi of Xe.removeProperties)Object.prototype.hasOwnProperty.call(cr.properties,xi)&&delete cr.properties[xi];if(((vr=Xe.addOrUpdateProperties)===null||vr===void 0?void 0:vr.length)>0)for(let{key:xi,value:zi}of Xe.addOrUpdateProperties)cr.properties[xi]=zi}}(this._dataUpdateable,xt.dataDiff,Dt),_t(null,{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())})):_t(new Error(`Cannot update existing geojson data in ${xt.source}`)):_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},this.loadVectorData=this.loadGeoJSONTile,vt&&(this.loadGeoJSON=vt)}loadGeoJSONTile(tt,nt){let ht=tt.tileID.canonical;if(!this._geoJSONIndex)return nt(null,null);let vt=this._geoJSONIndex.getTile(ht.z,ht.x,ht.y);if(!vt)return nt(null,null);let xt=new class{constructor(Dt){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=n.N,this.length=Dt.length,this._features=Dt}feature(Dt){return new class{constructor(Mt){this._feature=Mt,this.extent=n.N,this.type=Mt.type,this.properties=Mt.tags,\"id\"in Mt&&!isNaN(Mt.id)&&(this.id=parseInt(Mt.id,10))}loadGeometry(){if(this._feature.type===1){let Mt=[];for(let Vt of this._feature.geometry)Mt.push([new n.P(Vt[0],Vt[1])]);return Mt}{let Mt=[];for(let Vt of this._feature.geometry){let ie=[];for(let se of Vt)ie.push(new n.P(se[0],se[1]));Mt.push(ie)}return Mt}}toGeoJSON(Mt,Vt,ie){return et.call(this,Mt,Vt,ie)}}(this._features[Dt])}}(vt.features),_t=zl(xt);_t.byteOffset===0&&_t.byteLength===_t.buffer.byteLength||(_t=new Uint8Array(_t)),nt(null,{vectorTile:xt,rawData:_t.buffer})}loadData(tt,nt){var ht;(ht=this._pendingRequest)===null||ht===void 0||ht.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request);this._pendingCallback=nt,this._pendingRequest=this.loadGeoJSON(tt,(xt,_t)=>{if(delete this._pendingCallback,delete this._pendingRequest,xt||!_t)return nt(xt);if(typeof _t!=\"object\")return nt(new Error(`Input data given to '${tt.source}' is not a valid GeoJSON object.`));{Q(_t,!0);try{if(tt.filter){let Mt=n.bC(tt.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Mt.result===\"error\")throw new Error(Mt.value.map(ie=>`${ie.key}: ${ie.message}`).join(\", \"));_t={type:\"FeatureCollection\",features:_t.features.filter(ie=>Mt.value.evaluate({zoom:0},ie))}}this._geoJSONIndex=tt.cluster?new kc(function({superclusterOptions:Mt,clusterProperties:Vt}){if(!Vt||!Mt)return Mt;let ie={},se={},ae={accumulated:null,zoom:0},lr={properties:null},vr=Object.keys(Vt);for(let Xe of vr){let[cr,wr]=Vt[Xe],xi=n.bC(wr),zi=n.bC(typeof cr==\"string\"?[cr,[\"accumulated\"],[\"get\",Xe]]:cr);ie[Xe]=xi.value,se[Xe]=zi.value}return Mt.map=Xe=>{lr.properties=Xe;let cr={};for(let wr of vr)cr[wr]=ie[wr].evaluate(ae,lr);return cr},Mt.reduce=(Xe,cr)=>{lr.properties=cr;for(let wr of vr)ae.accumulated=Xe[wr],Xe[wr]=se[wr].evaluate(ae,lr)},Mt}(tt)).load(_t.features):function(Mt,Vt){return new Te(Mt,Vt)}(_t,tt.geojsonVtOptions)}catch(Mt){return nt(Mt)}this.loaded={};let Dt={};if(vt){let Mt=vt.finish();Mt&&(Dt.resourceTiming={},Dt.resourceTiming[tt.source]=JSON.parse(JSON.stringify(Mt)))}nt(null,Dt)}})}reloadTile(tt,nt){let ht=this.loaded;return ht&&ht[tt.uid]?super.reloadTile(tt,nt):this.loadTile(tt,nt)}removeSource(tt,nt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),nt()}getClusterExpansionZoom(tt,nt){try{nt(null,this._geoJSONIndex.getClusterExpansionZoom(tt.clusterId))}catch(ht){nt(ht)}}getClusterChildren(tt,nt){try{nt(null,this._geoJSONIndex.getChildren(tt.clusterId))}catch(ht){nt(ht)}}getClusterLeaves(tt,nt){try{nt(null,this._geoJSONIndex.getLeaves(tt.clusterId,tt.limit,tt.offset))}catch(ht){nt(ht)}}}class sa{constructor(tt){this.self=tt,this.actor=new n.C(tt,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:I,geojson:Mr},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(nt,ht)=>{if(this.workerSourceTypes[nt])throw new Error(`Worker source with name \"${nt}\" already registered.`);this.workerSourceTypes[nt]=ht},this.self.registerRTLTextPlugin=nt=>{if(n.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");n.bD.applyArabicShaping=nt.applyArabicShaping,n.bD.processBidirectionalText=nt.processBidirectionalText,n.bD.processStyledBidirectionalText=nt.processStyledBidirectionalText}}setReferrer(tt,nt){this.referrer=nt}setImages(tt,nt,ht){this.availableImages[tt]=nt;for(let vt in this.workerSources[tt]){let xt=this.workerSources[tt][vt];for(let _t in xt)xt[_t].availableImages=nt}ht()}setLayers(tt,nt,ht){this.getLayerIndex(tt).replace(nt),ht()}updateLayers(tt,nt,ht){this.getLayerIndex(tt).update(nt.layers,nt.removedIds),ht()}loadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).loadTile(nt,ht)}loadDEMTile(tt,nt,ht){this.getDEMWorkerSource(tt,nt.source).loadTile(nt,ht)}reloadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).reloadTile(nt,ht)}abortTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).abortTile(nt,ht)}removeTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).removeTile(nt,ht)}removeDEMTile(tt,nt){this.getDEMWorkerSource(tt,nt.source).removeTile(nt)}removeSource(tt,nt,ht){if(!this.workerSources[tt]||!this.workerSources[tt][nt.type]||!this.workerSources[tt][nt.type][nt.source])return;let vt=this.workerSources[tt][nt.type][nt.source];delete this.workerSources[tt][nt.type][nt.source],vt.removeSource!==void 0?vt.removeSource(nt,ht):ht()}loadWorkerSource(tt,nt,ht){try{this.self.importScripts(nt.url),ht()}catch(vt){ht(vt.toString())}}syncRTLPluginState(tt,nt,ht){try{n.bD.setState(nt);let vt=n.bD.getPluginURL();if(n.bD.isLoaded()&&!n.bD.isParsed()&&vt!=null){this.self.importScripts(vt);let xt=n.bD.isParsed();ht(xt?void 0:new Error(`RTL Text Plugin failed to import scripts from ${vt}`),xt)}}catch(vt){ht(vt.toString())}}getAvailableImages(tt){let nt=this.availableImages[tt];return nt||(nt=[]),nt}getLayerIndex(tt){let nt=this.layerIndexes[tt];return nt||(nt=this.layerIndexes[tt]=new o),nt}getWorkerSource(tt,nt,ht){return this.workerSources[tt]||(this.workerSources[tt]={}),this.workerSources[tt][nt]||(this.workerSources[tt][nt]={}),this.workerSources[tt][nt][ht]||(this.workerSources[tt][nt][ht]=new this.workerSourceTypes[nt]({send:(vt,xt,_t)=>{this.actor.send(vt,xt,_t,tt)}},this.getLayerIndex(tt),this.getAvailableImages(tt))),this.workerSources[tt][nt][ht]}getDEMWorkerSource(tt,nt){return this.demWorkerSources[tt]||(this.demWorkerSources[tt]={}),this.demWorkerSources[tt][nt]||(this.demWorkerSources[tt][nt]=new R),this.demWorkerSources[tt][nt]}}return n.i()&&(self.worker=new sa(self)),sa}),i([\"./shared\"],function(n){\"use strict\";var o=\"3.6.2\";class c{static testProp(l){if(!c.docStyle)return l[0];for(let d=0;d{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static mousePos(l,d){let v=l.getBoundingClientRect();return new n.P(d.clientX-v.left-l.clientLeft,d.clientY-v.top-l.clientTop)}static touchPos(l,d){let v=l.getBoundingClientRect(),b=[];for(let M=0;M{l=[],d=0,v=0,b={}},T.addThrottleControl=W=>{let Z=v++;return b[Z]=W,Z},T.removeThrottleControl=W=>{delete b[W],B()},T.getImage=(W,Z,$=!0)=>{f.supported&&(W.headers||(W.headers={}),W.headers.accept=\"image/webp,*/*\");let st={requestParameters:W,supportImageRefresh:$,callback:Z,cancelled:!1,completed:!1,cancel:()=>{st.completed||st.cancelled||(st.cancelled=!0,st.innerRequest&&(st.innerRequest.cancel(),d--),B())}};return l.push(st),B(),st};let M=W=>{let{requestParameters:Z,supportImageRefresh:$,callback:st}=W;return n.e(Z,{type:\"image\"}),($!==!1||n.i()||n.g(Z.url)||Z.headers&&!Object.keys(Z.headers).reduce((At,pt)=>At&&pt===\"accept\",!0)?n.m:U)(Z,(At,pt,yt,dt)=>{O(W,st,At,pt,yt,dt)})},O=(W,Z,$,st,At,pt)=>{$?Z($):st instanceof HTMLImageElement||n.a(st)?Z(null,st):st&&((yt,dt)=>{typeof createImageBitmap==\"function\"?n.b(yt,dt):n.d(yt,dt)})(st,(yt,dt)=>{yt!=null?Z(yt):dt!=null&&Z(null,dt,{cacheControl:At,expires:pt})}),W.cancelled||(W.completed=!0,d--,B())},B=()=>{let W=(()=>{let Z=Object.keys(b),$=!1;if(Z.length>0){for(let st of Z)if($=b[st](),$)break}return $})()?n.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:n.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let Z=d;Z0;Z++){let $=l.shift();if($.cancelled){Z--;continue}let st=M($);d++,$.innerRequest=st}},U=(W,Z)=>{let $=new Image,st=W.url,At=!1,pt=W.credentials;return pt&&pt===\"include\"?$.crossOrigin=\"use-credentials\":(pt&&pt===\"same-origin\"||!n.s(st))&&($.crossOrigin=\"anonymous\"),$.fetchPriority=\"high\",$.onload=()=>{Z(null,$),$.onerror=$.onload=null},$.onerror=()=>{At||Z(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\")),$.onerror=$.onload=null},$.src=st,{cancel:()=>{At=!0,$.src=\"\"}}}}(j||(j={})),j.resetRequestQueue(),function(T){T.Glyphs=\"Glyphs\",T.Image=\"Image\",T.Source=\"Source\",T.SpriteImage=\"SpriteImage\",T.SpriteJSON=\"SpriteJSON\",T.Style=\"Style\",T.Tile=\"Tile\",T.Unknown=\"Unknown\"}(Q||(Q={}));class et{constructor(l){this._transformRequestFn=l}transformRequest(l,d){return this._transformRequestFn&&this._transformRequestFn(l,d)||{url:l}}normalizeSpriteURL(l,d,v){let b=function(M){let O=M.match(Y);if(!O)throw new Error(`Unable to parse URL \"${M}\"`);return{protocol:O[1],authority:O[2],path:O[3]||\"/\",params:O[4]?O[4].split(\"&\"):[]}}(l);return b.path+=`${d}${v}`,function(M){let O=M.params.length?`?${M.params.join(\"&\")}`:\"\";return`${M.protocol}://${M.authority}${M.path}${O}`}(b)}setTransformRequest(l){this._transformRequestFn=l}}let Y=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function K(T){var l=new n.A(3);return l[0]=T[0],l[1]=T[1],l[2]=T[2],l}var J,ut=function(T,l,d){return T[0]=l[0]-d[0],T[1]=l[1]-d[1],T[2]=l[2]-d[2],T};J=new n.A(3),n.A!=Float32Array&&(J[0]=0,J[1]=0,J[2]=0);var Et=function(T){var l=T[0],d=T[1];return l*l+d*d};function kt(T){let l=[];if(typeof T==\"string\")l.push({id:\"default\",url:T});else if(T&&T.length>0){let d=[];for(let{id:v,url:b}of T){let M=`${v}${b}`;d.indexOf(M)===-1&&(d.push(M),l.push({id:v,url:b}))}}return l}function Xt(T,l,d,v,b){if(v)return void T(v);if(b!==Object.values(l).length||b!==Object.values(d).length)return;let M={};for(let O in l){M[O]={};let B=n.h.getImageCanvasContext(d[O]),U=l[O];for(let W in U){let{width:Z,height:$,x:st,y:At,sdf:pt,pixelRatio:yt,stretchX:dt,stretchY:Ft,content:Ht}=U[W];M[O][W]={data:null,pixelRatio:yt,sdf:pt,stretchX:dt,stretchY:Ft,content:Ht,spriteData:{width:Z,height:$,x:st,y:At,context:B}}}}T(null,M)}(function(){var T=new n.A(2);n.A!=Float32Array&&(T[0]=0,T[1]=0)})();class qt{constructor(l,d,v,b){this.context=l,this.format=v,this.texture=l.gl.createTexture(),this.update(d,b)}update(l,d,v){let{width:b,height:M}=l,O=!(this.size&&this.size[0]===b&&this.size[1]===M||v),{context:B}=this,{gl:U}=B;if(this.useMipmap=!!(d&&d.useMipmap),U.bindTexture(U.TEXTURE_2D,this.texture),B.pixelStoreUnpackFlipY.set(!1),B.pixelStoreUnpack.set(1),B.pixelStoreUnpackPremultiplyAlpha.set(this.format===U.RGBA&&(!d||d.premultiply!==!1)),O)this.size=[b,M],l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texImage2D(U.TEXTURE_2D,0,this.format,this.format,U.UNSIGNED_BYTE,l):U.texImage2D(U.TEXTURE_2D,0,this.format,b,M,0,this.format,U.UNSIGNED_BYTE,l.data);else{let{x:W,y:Z}=v||{x:0,y:0};l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texSubImage2D(U.TEXTURE_2D,0,W,Z,U.RGBA,U.UNSIGNED_BYTE,l):U.texSubImage2D(U.TEXTURE_2D,0,W,Z,b,M,U.RGBA,U.UNSIGNED_BYTE,l.data)}this.useMipmap&&this.isSizePowerOfTwo()&&U.generateMipmap(U.TEXTURE_2D)}bind(l,d,v){let{context:b}=this,{gl:M}=b;M.bindTexture(M.TEXTURE_2D,this.texture),v!==M.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(v=M.LINEAR),l!==this.filter&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MAG_FILTER,l),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MIN_FILTER,v||l),this.filter=l),d!==this.wrap&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_S,d),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_T,d),this.wrap=d)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:l}=this.context;l.deleteTexture(this.texture),this.texture=null}}function le(T){let{userImage:l}=T;return!!(l&&l.render&&l.render())&&(T.data.replace(new Uint8Array(l.data.buffer)),!0)}class ue extends n.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new n.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(l){if(this.loaded!==l&&(this.loaded=l,l)){for(let{ids:d,callback:v}of this.requestors)this._notify(d,v);this.requestors=[]}}getImage(l){let d=this.images[l];if(d&&!d.data&&d.spriteData){let v=d.spriteData;d.data=new n.R({width:v.width,height:v.height},v.context.getImageData(v.x,v.y,v.width,v.height).data),d.spriteData=null}return d}addImage(l,d){if(this.images[l])throw new Error(`Image id ${l} already exist, use updateImage instead`);this._validate(l,d)&&(this.images[l]=d)}_validate(l,d){let v=!0,b=d.data||d.spriteData;return this._validateStretch(d.stretchX,b&&b.width)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchX\" value`))),v=!1),this._validateStretch(d.stretchY,b&&b.height)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchY\" value`))),v=!1),this._validateContent(d.content,d)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"content\" value`))),v=!1),v}_validateStretch(l,d){if(!l)return!0;let v=0;for(let b of l){if(b[0]-1);U++,M[U]=B,O[U]=W,O[U+1]=De}for(let B=0,U=0;B{let B=this.entries[b];B||(B=this.entries[b]={glyphs:{},requests:{},ranges:{}});let U=B.glyphs[M];if(U!==void 0)return void O(null,{stack:b,id:M,glyph:U});if(U=this._tinySDF(B,b,M),U)return B.glyphs[M]=U,void O(null,{stack:b,id:M,glyph:U});let W=Math.floor(M/256);if(256*W>65535)return void O(new Error(\"glyphs > 65535 not supported\"));if(B.ranges[W])return void O(null,{stack:b,id:M,glyph:U});if(!this.url)return void O(new Error(\"glyphsUrl is not set\"));let Z=B.requests[W];Z||(Z=B.requests[W]=[],Sr.loadGlyphRange(b,W,this.url,this.requestManager,($,st)=>{if(st){for(let At in st)this._doesCharSupportLocalGlyph(+At)||(B.glyphs[+At]=st[+At]);B.ranges[W]=!0}for(let At of Z)At($,st);delete B.requests[W]})),Z.push(($,st)=>{$?O($):st&&O(null,{stack:b,id:M,glyph:st[M]||null})})},(b,M)=>{if(b)d(b);else if(M){let O={};for(let{stack:B,id:U,glyph:W}of M)(O[B]||(O[B]={}))[U]=W&&{id:W.id,bitmap:W.bitmap.clone(),metrics:W.metrics};d(null,O)}})}_doesCharSupportLocalGlyph(l){return!!this.localIdeographFontFamily&&(n.u[\"CJK Unified Ideographs\"](l)||n.u[\"Hangul Syllables\"](l)||n.u.Hiragana(l)||n.u.Katakana(l))}_tinySDF(l,d,v){let b=this.localIdeographFontFamily;if(!b||!this._doesCharSupportLocalGlyph(v))return;let M=l.tinySDF;if(!M){let B=\"400\";/bold/i.test(d)?B=\"900\":/medium/i.test(d)?B=\"500\":/light/i.test(d)&&(B=\"200\"),M=l.tinySDF=new Sr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:b,fontWeight:B})}let O=M.draw(String.fromCharCode(v));return{id:v,bitmap:new n.q({width:O.width||60,height:O.height||60},O.data),metrics:{width:O.glyphWidth/2||24,height:O.glyphHeight/2||24,left:O.glyphLeft/2+.5||0,top:O.glyphTop/2-27.5||-8,advance:O.glyphAdvance/2||24,isDoubleResolution:!0}}}}Sr.loadGlyphRange=function(T,l,d,v,b){let M=256*l,O=M+255,B=v.transformRequest(d.replace(\"{fontstack}\",T).replace(\"{range}\",`${M}-${O}`),Q.Glyphs);n.l(B,(U,W)=>{if(U)b(U);else if(W){let Z={};for(let $ of n.n(W))Z[$.id]=$;b(null,Z)}})},Sr.TinySDF=class{constructor({fontSize:T=24,buffer:l=3,radius:d=8,cutoff:v=.25,fontFamily:b=\"sans-serif\",fontWeight:M=\"normal\",fontStyle:O=\"normal\"}={}){this.buffer=l,this.cutoff=v,this.radius=d;let B=this.size=T+4*l,U=this._createCanvas(B),W=this.ctx=U.getContext(\"2d\",{willReadFrequently:!0});W.font=`${O} ${M} ${T}px ${b}`,W.textBaseline=\"alphabetic\",W.textAlign=\"left\",W.fillStyle=\"black\",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B)}_createCanvas(T){let l=document.createElement(\"canvas\");return l.width=l.height=T,l}draw(T){let{width:l,actualBoundingBoxAscent:d,actualBoundingBoxDescent:v,actualBoundingBoxLeft:b,actualBoundingBoxRight:M}=this.ctx.measureText(T),O=Math.ceil(d),B=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(M-b))),U=Math.min(this.size-this.buffer,O+Math.ceil(v)),W=B+2*this.buffer,Z=U+2*this.buffer,$=Math.max(W*Z,0),st=new Uint8ClampedArray($),At={data:st,width:W,height:Z,glyphWidth:B,glyphHeight:U,glyphTop:O,glyphLeft:0,glyphAdvance:l};if(B===0||U===0)return At;let{ctx:pt,buffer:yt,gridInner:dt,gridOuter:Ft}=this;pt.clearRect(yt,yt,B,U),pt.fillText(T,yt,yt+O);let Ht=pt.getImageData(yt,yt,B,U);Ft.fill(De,0,$),dt.fill(0,0,$);for(let St=0;St0?oe*oe:0,dt[$t]=oe<0?oe*oe:0}}Ke(Ft,0,0,W,Z,W,this.f,this.v,this.z),Ke(dt,yt,yt,B,U,W,this.f,this.v,this.z);for(let St=0;St<$;St++){let Bt=Math.sqrt(Ft[St])-Math.sqrt(dt[St]);st[St]=Math.round(255-255*(Bt/this.radius+this.cutoff))}return At}};class Li{constructor(){this.specification=n.v.light.position}possiblyEvaluate(l,d){return n.z(l.expression.evaluate(d))}interpolate(l,d,v){return{x:n.B.number(l.x,d.x,v),y:n.B.number(l.y,d.y,v),z:n.B.number(l.z,d.z,v)}}}let oo;class zl extends n.E{constructor(l){super(),oo=oo||new n.r({anchor:new n.D(n.v.light.anchor),position:new Li,color:new n.D(n.v.light.color),intensity:new n.D(n.v.light.intensity)}),this._transitionable=new n.T(oo),this.setLight(l),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(l,d={}){if(!this._validate(n.t,l,d))for(let v in l){let b=l[v];v.endsWith(\"-transition\")?this._transitionable.setTransition(v.slice(0,-11),b):this._transitionable.setValue(v,b)}}updateTransitions(l){this._transitioning=this._transitionable.transitioned(l,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(l){this.properties=this._transitioning.possiblyEvaluate(l)}_validate(l,d,v){return(!v||v.validate!==!1)&&n.x(this,l.call(n.y,n.e({value:d,style:{glyphs:!0,sprite:!0},styleSpec:n.v})))}}class No{constructor(l,d){this.width=l,this.height=d,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(l,d){let v=l.join(\",\")+String(d);return this.dashEntry[v]||(this.dashEntry[v]=this.addDash(l,d)),this.dashEntry[v]}getDashRanges(l,d,v){let b=[],M=l.length%2==1?-l[l.length-1]*v:0,O=l[0]*v,B=!0;b.push({left:M,right:O,isDash:B,zeroLength:l[0]===0});let U=l[0];for(let W=1;W1&&(U=l[++B]);let Z=Math.abs(W-U.left),$=Math.abs(W-U.right),st=Math.min(Z,$),At,pt=M/v*(b+1);if(U.isDash){let yt=b-Math.abs(pt);At=Math.sqrt(st*st+yt*yt)}else At=b-Math.sqrt(st*st+pt*pt);this.data[O+W]=Math.max(0,Math.min(255,At+128))}}}addRegularDash(l){for(let B=l.length-1;B>=0;--B){let U=l[B],W=l[B+1];U.zeroLength?l.splice(B,1):W&&W.isDash===U.isDash&&(W.left=U.left,l.splice(B,1))}let d=l[0],v=l[l.length-1];d.isDash===v.isDash&&(d.left=v.left-this.width,v.right=d.right+this.width);let b=this.width*this.nextRow,M=0,O=l[M];for(let B=0;B1&&(O=l[++M]);let U=Math.abs(B-O.left),W=Math.abs(B-O.right),Z=Math.min(U,W);this.data[b+B]=Math.max(0,Math.min(255,(O.isDash?Z:-Z)+128))}}addDash(l,d){let v=d?7:0,b=2*v+1;if(this.nextRow+b>this.height)return n.w(\"LineAtlas out of space\"),null;let M=0;for(let B=0;B{b.send(l,d,M)},v=v||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(l=!0){this.actors.forEach(d=>{d.remove()}),this.actors=[],l&&this.workerPool.release(this.id)}}function Uo(T,l,d){let v=function(b,M){if(b)return d(b);if(M){let O=n.F(n.e(M,T),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);M.vector_layers&&(O.vectorLayers=M.vector_layers,O.vectorLayerIds=O.vectorLayers.map(B=>B.id)),d(null,O)}};return T.url?n.f(l.transformRequest(T.url,Q.Source),v):n.h.frame(()=>v(null,T))}class Si{constructor(l,d){l&&(d?this.setSouthWest(l).setNorthEast(d):Array.isArray(l)&&(l.length===4?this.setSouthWest([l[0],l[1]]).setNorthEast([l[2],l[3]]):this.setSouthWest(l[0]).setNorthEast(l[1])))}setNorthEast(l){return this._ne=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}setSouthWest(l){return this._sw=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}extend(l){let d=this._sw,v=this._ne,b,M;if(l instanceof n.L)b=l,M=l;else{if(!(l instanceof Si))return Array.isArray(l)?l.length===4||l.every(Array.isArray)?this.extend(Si.convert(l)):this.extend(n.L.convert(l)):l&&(\"lng\"in l||\"lon\"in l)&&\"lat\"in l?this.extend(n.L.convert(l)):this;if(b=l._sw,M=l._ne,!b||!M)return this}return d||v?(d.lng=Math.min(b.lng,d.lng),d.lat=Math.min(b.lat,d.lat),v.lng=Math.max(M.lng,v.lng),v.lat=Math.max(M.lat,v.lat)):(this._sw=new n.L(b.lng,b.lat),this._ne=new n.L(M.lng,M.lat)),this}getCenter(){return new n.L((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new n.L(this.getWest(),this.getNorth())}getSouthEast(){return new n.L(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(l){let{lng:d,lat:v}=n.L.convert(l),b=this._sw.lng<=d&&d<=this._ne.lng;return this._sw.lng>this._ne.lng&&(b=this._sw.lng>=d&&d>=this._ne.lng),this._sw.lat<=v&&v<=this._ne.lat&&b}static convert(l){return l instanceof Si?l:l&&new Si(l)}static fromLngLat(l,d=0){let v=360*d/40075017,b=v/Math.cos(Math.PI/180*l.lat);return new Si(new n.L(l.lng-b,l.lat-v),new n.L(l.lng+b,l.lat+v))}}class Ns{constructor(l,d,v){this.bounds=Si.convert(this.validateBounds(l)),this.minzoom=d||0,this.maxzoom=v||24}validateBounds(l){return Array.isArray(l)&&l.length===4?[Math.max(-180,l[0]),Math.max(-90,l[1]),Math.min(180,l[2]),Math.min(90,l[3])]:[-180,-90,180,90]}contains(l){let d=Math.pow(2,l.z),v=Math.floor(n.G(this.bounds.getWest())*d),b=Math.floor(n.H(this.bounds.getNorth())*d),M=Math.ceil(n.G(this.bounds.getEast())*d),O=Math.ceil(n.H(this.bounds.getSouth())*d);return l.x>=v&&l.x=b&&l.y{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(M,O)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),M?this.fire(new n.j(M)):O&&(n.e(this,O),O.bounds&&(this.tileBounds=new Ns(O.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},this.serialize=()=>n.e({},this._options),this.id=l,this.dispatcher=v,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=n.e({type:\"vector\"},d),this._collectResourceTiming=d.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(b)}loaded(){return this._loaded}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}onAdd(l){this.map=l,this.load()}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b={request:this.map._requestManager.transformRequest(v,Q.Tile),uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,tileSize:this.tileSize*l.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function M(O,B){return delete l.request,l.aborted?d(null):O&&O.status!==404?d(O):(B&&B.resourceTiming&&(l.resourceTiming=B.resourceTiming),this.map._refreshExpiredTiles&&B&&l.setExpiryData(B),l.loadVectorData(B,this.map.painter),d(null),void(l.reloadCallback&&(this.loadTile(l,l.reloadCallback),l.reloadCallback=null)))}b.request.collectResourceTiming=this._collectResourceTiming,l.actor&&l.state!==\"expired\"?l.state===\"loading\"?l.reloadCallback=d:l.request=l.actor.send(\"reloadTile\",b,M.bind(this)):(l.actor=this.dispatcher.getActor(),l.request=l.actor.send(\"loadTile\",b,M.bind(this)))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.actor&&l.actor.send(\"abortTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}unloadTile(l){l.unloadVectorData(),l.actor&&l.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class kc extends n.E{constructor(l,d,v,b){super(),this.id=l,this.dispatcher=v,this.setEventedParent(b),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.e({type:\"raster\"},d),n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\"]))}load(){this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(l,d)=>{this._tileJSONRequest=null,this._loaded=!0,l?this.fire(new n.j(l)):d&&(n.e(this,d),d.bounds&&(this.tileBounds=new Ns(d.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})}loaded(){return this._loaded}onAdd(l){this.map=l,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}serialize(){return n.e({},this._options)}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);l.request=j.getImage(this.map._requestManager.transformRequest(v,Q.Tile),(b,M,O)=>{if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(b)l.state=\"errored\",d(b);else if(M){this.map._refreshExpiredTiles&&O&&l.setExpiryData(O);let B=this.map.painter.context,U=B.gl;l.texture=this.map.painter.getTileTexture(M.width),l.texture?l.texture.update(M,{useMipmap:!0}):(l.texture=new qt(B,M,U.RGBA,{useMipmap:!0}),l.texture.bind(U.LINEAR,U.CLAMP_TO_EDGE,U.LINEAR_MIPMAP_NEAREST),B.extTextureFilterAnisotropic&&U.texParameterf(U.TEXTURE_2D,B.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,B.extTextureFilterAnisotropicMax)),l.state=\"loaded\",d(null)}},this.map._refreshExpiredTiles)}abortTile(l,d){l.request&&(l.request.cancel(),delete l.request),d()}unloadTile(l,d){l.texture&&this.map.painter.saveTileTexture(l.texture),d()}hasTransition(){return!1}}class Rc extends kc{constructor(l,d,v,b){super(l,d,v,b),this.type=\"raster-dem\",this.maxzoom=22,this._options=n.e({type:\"raster-dem\"},d),this.encoding=d.encoding||\"mapbox\",this.redFactor=d.redFactor,this.greenFactor=d.greenFactor,this.blueFactor=d.blueFactor,this.baseShift=d.baseShift}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b=this.map._requestManager.transformRequest(v,Q.Tile);function M(O,B){O&&(l.state=\"errored\",d(O)),B&&(l.dem=B,l.needsHillshadePrepare=!0,l.needsTerrainPrepare=!0,l.state=\"loaded\",d(null))}l.neighboringTiles=this._getNeighboringTiles(l.tileID),l.request=j.getImage(b,(O,B,U)=>n._(this,void 0,void 0,function*(){if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(O)l.state=\"errored\",d(O);else if(B){this.map._refreshExpiredTiles&&l.setExpiryData(U);let W=n.a(B)&&n.J()?B:yield function($){return n._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&n.K()){let st=$.width+2,At=$.height+2;try{return new n.R({width:st,height:At},yield n.M($,-1,-1,st,At))}catch{}}return n.h.getImageData($,1)})}(B),Z={uid:l.uid,coord:l.tileID,source:this.id,rawImageData:W,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};l.actor&&l.state!==\"expired\"||(l.actor=this.dispatcher.getActor(),l.actor.send(\"loadDEMTile\",Z,M))}}),this.map._refreshExpiredTiles)}_getNeighboringTiles(l){let d=l.canonical,v=Math.pow(2,d.z),b=(d.x-1+v)%v,M=d.x===0?l.wrap-1:l.wrap,O=(d.x+1+v)%v,B=d.x+1===v?l.wrap+1:l.wrap,U={};return U[new n.O(l.overscaledZ,M,d.z,b,d.y).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y).key]={backfilled:!1},d.y>0&&(U[new n.O(l.overscaledZ,M,d.z,b,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,l.wrap,d.z,d.x,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y-1).key]={backfilled:!1}),d.y+1{this._updateWorkerData()},this.serialize=()=>n.e({},this._options,{type:this.type,data:this._data}),this.id=l,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=v.getActor(),this.setEventedParent(b),this._data=d.data,this._options=n.e({},d),this._collectResourceTiming=d.collectResourceTiming,d.maxzoom!==void 0&&(this.maxzoom=d.maxzoom),d.type&&(this.type=d.type),d.attribution&&(this.attribution=d.attribution),this.promoteId=d.promoteId;let M=n.N/this.tileSize;this.workerOptions=n.e({source:this.id,cluster:d.cluster||!1,geojsonVtOptions:{buffer:(d.buffer!==void 0?d.buffer:128)*M,tolerance:(d.tolerance!==void 0?d.tolerance:.375)*M,extent:n.N,maxZoom:this.maxzoom,lineMetrics:d.lineMetrics||!1,generateId:d.generateId||!1},superclusterOptions:{maxZoom:d.clusterMaxZoom!==void 0?d.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,d.clusterMinPoints||2),extent:n.N,radius:(d.clusterRadius||50)*M,log:!1,generateId:d.generateId||!1},clusterProperties:d.clusterProperties,filter:d.filter},d.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}onAdd(l){this.map=l,this.load()}setData(l){return this._data=l,this._updateWorkerData(),this}updateData(l){return this._updateWorkerData(l),this}setClusterOptions(l){return this.workerOptions.cluster=l.cluster,l&&(l.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=l.clusterRadius),l.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=l.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(l,d){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:l,source:this.id},d),this}getClusterChildren(l,d){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:l,source:this.id},d),this}getClusterLeaves(l,d,v,b){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:l,limit:d,offset:v},b),this}_updateWorkerData(l){let d=n.e({},this.workerOptions);l?d.dataDiff=l:typeof this._data==\"string\"?(d.request=this.map._requestManager.transformRequest(n.h.resolveURL(this._data),Q.Source),d.request.collectResourceTiming=this._collectResourceTiming):d.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.actor.send(`${this.type}.loadData`,d,(v,b)=>{if(this._pendingLoads--,this._removed||b&&b.abandoned)return void this.fire(new n.k(\"dataabort\",{dataType:\"source\"}));let M=null;if(b&&b.resourceTiming&&b.resourceTiming[this.id]&&(M=b.resourceTiming[this.id].slice(0)),v)return void this.fire(new n.j(v));let O={dataType:\"source\"};this._collectResourceTiming&&M&&M.length>0&&n.e(O,{resourceTiming:M}),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"metadata\"}))),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"content\"})))})}loaded(){return this._pendingLoads===0}loadTile(l,d){let v=l.actor?\"reloadTile\":\"loadTile\";l.actor=this.actor;let b={type:this.type,uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};l.request=this.actor.send(v,b,(M,O)=>(delete l.request,l.unloadVectorData(),l.aborted?d(null):M?d(M):(l.loadVectorData(O,this.map.painter,v===\"reloadTile\"),d(null))))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.aborted=!0}unloadTile(l){l.unloadVectorData(),this.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})}hasTransition(){return!1}}var Jn=n.Q([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class ki extends n.E{constructor(l,d,v,b){super(),this.load=(M,O)=>{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=j.getImage(this.map._requestManager.transformRequest(this.url,Q.Image),(B,U)=>{this._request=null,this._loaded=!0,B?this.fire(new n.j(B)):U&&(this.image=U,M&&(this.coordinates=M),O&&O(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||!this.image)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture||(this.texture=new qt(M,this.image,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"image\",url:this.options.url,coordinates:this.coordinates}),this.id=l,this.dispatcher=v,this.coordinates=d.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(b),this.options=d}loaded(){return this._loaded}updateImage(l){return l.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=l.url,this.load(l.coordinates,()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(l){this.map=l,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(l){this.coordinates=l;let d=l.map(n.U.fromLngLat);this.tileID=function(b){let M=1/0,O=1/0,B=-1/0,U=-1/0;for(let st of b)M=Math.min(M,st.x),O=Math.min(O,st.y),B=Math.max(B,st.x),U=Math.max(U,st.y);let W=Math.max(B-M,U-O),Z=Math.max(0,Math.floor(-Math.log(W)/Math.LN2)),$=Math.pow(2,Z);return new n.W(Z,Math.floor((M+B)/2*$),Math.floor((O+U)/2*$))}(d),this.minzoom=this.maxzoom=this.tileID.z;let v=d.map(b=>this.tileID.getTilePoint(b)._round());return this._boundsArray=new n.V,this._boundsArray.emplaceBack(v[0].x,v[0].y,0,0),this._boundsArray.emplaceBack(v[1].x,v[1].y,n.N,0),this._boundsArray.emplaceBack(v[3].x,v[3].y,0,n.N),this._boundsArray.emplaceBack(v[2].x,v[2].y,n.N,n.N),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}loadTile(l,d){this.tileID&&this.tileID.equals(l.tileID.canonical)?(this.tiles[String(l.tileID.wrap)]=l,l.buckets={},d(null)):(l.state=\"errored\",d(null))}hasTransition(){return!1}}class ts extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!1;let M=this.options;this.urls=[];for(let O of M.urls)this.urls.push(this.map._requestManager.transformRequest(O,Q.Source).url);n.X(this.urls,(O,B)=>{this._loaded=!0,O?this.fire(new n.j(O)):B&&(this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE),O.texSubImage2D(O.TEXTURE_2D,0,0,0,O.RGBA,O.UNSIGNED_BYTE,this.video)):(this.texture=new qt(M,this.video,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"video\",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type=\"video\",this.options=d}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(l){if(this.video){let d=this.video.seekable;ld.end(0)?this.fire(new n.j(new n.Y(`sources.${this.id}`,null,`Playback for this video can be set only between the ${d.start(0)} and ${d.end(0)}-second mark.`))):this.video.currentTime=l}}getVideo(){return this.video}onAdd(l){this.map||(this.map=l,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class Vo extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new n.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let M=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,M=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,M=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let O=this.map.painter.context,B=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?(M||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new qt(O,this.canvas,B.RGBA,{premultiply:!0});let U=!1;for(let W in this.tiles){let Z=this.tiles[W];Z.state!==\"loaded\"&&(Z.state=\"loaded\",Z.texture=this.texture,U=!0)}U&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"canvas\",coordinates:this.coordinates}),d.coordinates?Array.isArray(d.coordinates)&&d.coordinates.length===4&&!d.coordinates.some(M=>!Array.isArray(M)||M.length!==2||M.some(O=>typeof O!=\"number\"))||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"coordinates\"'))),d.animate&&typeof d.animate!=\"boolean\"&&this.fire(new n.j(new n.Y(`sources.${l}`,null,'optional \"animate\" property must be a boolean value'))),d.canvas?typeof d.canvas==\"string\"||d.canvas instanceof HTMLCanvasElement||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"canvas\"'))),this.options=d,this.animate=d.animate===void 0||d.animate}getCanvas(){return this.canvas}onAdd(l){this.map=l,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let l of[this.canvas.width,this.canvas.height])if(isNaN(l)||l<=0)return!0;return!1}}let cl={},xo=T=>{switch(T){case\"geojson\":return Xi;case\"image\":return ki;case\"raster\":return kc;case\"raster-dem\":return Rc;case\"vector\":return ll;case\"video\":return ts;case\"canvas\":return Vo}return cl[T]};function Pa(T,l){let d=n.Z();return n.$(d,d,[1,1,0]),n.a0(d,d,[.5*T.width,.5*T.height,1]),n.a1(d,d,T.calculatePosMatrix(l.toUnwrapped()))}function na(T,l,d,v,b,M){let O=function($,st,At){if($)for(let pt of $){let yt=st[pt];if(yt&&yt.source===At&&yt.type===\"fill-extrusion\")return!0}else for(let pt in st){let yt=st[pt];if(yt.source===At&&yt.type===\"fill-extrusion\")return!0}return!1}(b&&b.layers,l,T.id),B=M.maxPitchScaleFactor(),U=T.tilesIn(v,B,O);U.sort(as);let W=[];for(let $ of U)W.push({wrappedTileID:$.tileID.wrapped().key,queryResults:$.tile.queryRenderedFeatures(l,d,T._state,$.queryGeometry,$.cameraQueryGeometry,$.scale,b,M,B,Pa(T.transform,$.tileID))});let Z=function($){let st={},At={};for(let pt of $){let yt=pt.queryResults,dt=pt.wrappedTileID,Ft=At[dt]=At[dt]||{};for(let Ht in yt){let St=yt[Ht],Bt=Ft[Ht]=Ft[Ht]||{},Qt=st[Ht]=st[Ht]||[];for(let $t of St)Bt[$t.featureIndex]||(Bt[$t.featureIndex]=!0,Qt.push($t))}}return st}(W);for(let $ in Z)Z[$].forEach(st=>{let At=st.feature,pt=T.getFeatureState(At.layer[\"source-layer\"],At.id);At.source=At.layer.source,At.layer[\"source-layer\"]&&(At.sourceLayer=At.layer[\"source-layer\"]),At.state=pt});return Z}function as(T,l){let d=T.tileID,v=l.tileID;return d.overscaledZ-v.overscaledZ||d.canonical.y-v.canonical.y||d.wrap-v.wrap||d.canonical.x-v.canonical.x}class ao{constructor(l,d){this.timeAdded=0,this.fadeEndTime=0,this.tileID=l,this.uid=n.a2(),this.uses=0,this.tileSize=d,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(l){let d=l+this.timeAdded;dM.getLayer(W)).filter(Boolean);if(U.length!==0){B.layers=U,B.stateDependentLayerIds&&(B.stateDependentLayers=B.stateDependentLayerIds.map(W=>U.filter(Z=>Z.id===W)[0]));for(let W of U)O[W.id]=B}}return O}(l.buckets,d.style),this.hasSymbolBuckets=!1;for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4){if(this.hasSymbolBuckets=!0,!v)break;M.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4&&M.hasRTLText){this.hasRTLText=!0,n.a5();break}}this.queryPadding=0;for(let b in this.buckets){let M=this.buckets[b];this.queryPadding=Math.max(this.queryPadding,d.style.getLayer(b).queryRadius(M))}l.imageAtlas&&(this.imageAtlas=l.imageAtlas),l.glyphAtlasImage&&(this.glyphAtlasImage=l.glyphAtlasImage)}else this.collisionBoxArray=new n.a3}unloadVectorData(){for(let l in this.buckets)this.buckets[l].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(l){return this.buckets[l.id]}upload(l){for(let v in this.buckets){let b=this.buckets[v];b.uploadPending()&&b.upload(l)}let d=l.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new qt(l,this.imageAtlas.image,d.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new qt(l,this.glyphAtlasImage,d.ALPHA),this.glyphAtlasImage=null)}prepare(l){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(l,this.imageAtlasTexture)}queryRenderedFeatures(l,d,v,b,M,O,B,U,W,Z){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:b,cameraQueryGeometry:M,scale:O,tileSize:this.tileSize,pixelPosMatrix:Z,transform:U,params:B,queryPadding:this.queryPadding*W},l,d,v):{}}querySourceFeatures(l,d){let v=this.latestFeatureIndex;if(!v||!v.rawTileData)return;let b=v.loadVTLayers(),M=d&&d.sourceLayer?d.sourceLayer:\"\",O=b._geojsonTileLayer||b[M];if(!O)return;let B=n.a6(d&&d.filter),{z:U,x:W,y:Z}=this.tileID.canonical,$={z:U,x:W,y:Z};for(let st=0;stv)b=!1;else if(d)if(this.expirationTime{this.remove(l,M)},v)),this.data[b].push(M),this.order.push(b),this.order.length>this.max){let O=this._getAndRemoveByKey(this.order[0]);O&&this.onRemove(O)}return this}has(l){return l.wrapped().key in this.data}getAndRemove(l){return this.has(l)?this._getAndRemoveByKey(l.wrapped().key):null}_getAndRemoveByKey(l){let d=this.data[l].shift();return d.timeout&&clearTimeout(d.timeout),this.data[l].length===0&&delete this.data[l],this.order.splice(this.order.indexOf(l),1),d.value}getByKey(l){let d=this.data[l];return d?d[0].value:null}get(l){return this.has(l)?this.data[l.wrapped().key][0].value:null}remove(l,d){if(!this.has(l))return this;let v=l.wrapped().key,b=d===void 0?0:this.data[v].indexOf(d),M=this.data[v][b];return this.data[v].splice(b,1),M.timeout&&clearTimeout(M.timeout),this.data[v].length===0&&delete this.data[v],this.onRemove(M.value),this.order.splice(this.order.indexOf(v),1),this}setMaxSize(l){for(this.max=l;this.order.length>this.max;){let d=this._getAndRemoveByKey(this.order[0]);d&&this.onRemove(d)}return this}filter(l){let d=[];for(let v in this.data)for(let b of this.data[v])l(b.value)||d.push(b);for(let v of d)this.remove(v.value.tileID,v)}}class ee{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(l,d,v){let b=String(d);if(this.stateChanges[l]=this.stateChanges[l]||{},this.stateChanges[l][b]=this.stateChanges[l][b]||{},n.e(this.stateChanges[l][b],v),this.deletedStates[l]===null){this.deletedStates[l]={};for(let M in this.state[l])M!==b&&(this.deletedStates[l][M]=null)}else if(this.deletedStates[l]&&this.deletedStates[l][b]===null){this.deletedStates[l][b]={};for(let M in this.state[l][b])v[M]||(this.deletedStates[l][b][M]=null)}else for(let M in v)this.deletedStates[l]&&this.deletedStates[l][b]&&this.deletedStates[l][b][M]===null&&delete this.deletedStates[l][b][M]}removeFeatureState(l,d,v){if(this.deletedStates[l]===null)return;let b=String(d);if(this.deletedStates[l]=this.deletedStates[l]||{},v&&d!==void 0)this.deletedStates[l][b]!==null&&(this.deletedStates[l][b]=this.deletedStates[l][b]||{},this.deletedStates[l][b][v]=null);else if(d!==void 0)if(this.stateChanges[l]&&this.stateChanges[l][b])for(v in this.deletedStates[l][b]={},this.stateChanges[l][b])this.deletedStates[l][b][v]=null;else this.deletedStates[l][b]=null;else this.deletedStates[l]=null}getState(l,d){let v=String(d),b=n.e({},(this.state[l]||{})[v],(this.stateChanges[l]||{})[v]);if(this.deletedStates[l]===null)return{};if(this.deletedStates[l]){let M=this.deletedStates[l][d];if(M===null)return{};for(let O in M)delete b[O]}return b}initializeTileState(l,d){l.setFeatureState(this.state,d)}coalesceChanges(l,d){let v={};for(let b in this.stateChanges){this.state[b]=this.state[b]||{};let M={};for(let O in this.stateChanges[b])this.state[b][O]||(this.state[b][O]={}),n.e(this.state[b][O],this.stateChanges[b][O]),M[O]=this.state[b][O];v[b]=M}for(let b in this.deletedStates){this.state[b]=this.state[b]||{};let M={};if(this.deletedStates[b]===null)for(let O in this.state[b])M[O]={},this.state[b][O]={};else for(let O in this.deletedStates[b]){if(this.deletedStates[b][O]===null)this.state[b][O]={};else for(let B of Object.keys(this.deletedStates[b][O]))delete this.state[b][O][B];M[O]=this.state[b][O]}v[b]=v[b]||{},n.e(v[b],M)}if(this.stateChanges={},this.deletedStates={},Object.keys(v).length!==0)for(let b in l)l[b].setFeatureState(v,d)}}class ls extends n.E{constructor(l,d,v){super(),this.id=l,this.dispatcher=v,this.on(\"data\",b=>{b.dataType===\"source\"&&b.sourceDataType===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&b.dataType===\"source\"&&b.sourceDataType===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((b,M,O,B)=>{let U=new(xo(M.type))(b,M,O,B);if(U.id!==b)throw new Error(`Expected Source id to be ${b} instead of ${U.id}`);return U})(l,d,v,this),this._tiles={},this._cache=new Nl(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ee,this._didEmitContent=!1,this._updated=!1}onAdd(l){this.map=l,this._maxTileCacheSize=l?l._maxTileCacheSize:null,this._maxTileCacheZoomLevels=l?l._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(l)}onRemove(l){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(l)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let l in this._tiles){let d=this._tiles[l];if(d.state!==\"loaded\"&&d.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let l=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,l&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(l,d){return this._source.loadTile(l,d)}_unloadTile(l){if(this._source.unloadTile)return this._source.unloadTile(l,()=>{})}_abortTile(l){this._source.abortTile&&this._source.abortTile(l,()=>{}),this._source.fire(new n.k(\"dataabort\",{tile:l,coord:l.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(l){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let d in this._tiles){let v=this._tiles[d];v.upload(l),v.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(l=>l.tileID).sort(mn).map(l=>l.key)}getRenderableIds(l){let d=[];for(let v in this._tiles)this._isIdRenderable(v,l)&&d.push(this._tiles[v]);return l?d.sort((v,b)=>{let M=v.tileID,O=b.tileID,B=new n.P(M.canonical.x,M.canonical.y)._rotate(this.transform.angle),U=new n.P(O.canonical.x,O.canonical.y)._rotate(this.transform.angle);return M.overscaledZ-O.overscaledZ||U.y-B.y||U.x-B.x}).map(v=>v.tileID.key):d.map(v=>v.tileID).sort(mn).map(v=>v.key)}hasRenderableParent(l){let d=this.findLoadedParent(l,0);return!!d&&this._isIdRenderable(d.tileID.key)}_isIdRenderable(l,d){return this._tiles[l]&&this._tiles[l].hasData()&&!this._coveredTiles[l]&&(d||!this._tiles[l].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let l in this._tiles)this._tiles[l].state!==\"errored\"&&this._reloadTile(l,\"reloading\")}}_reloadTile(l,d){let v=this._tiles[l];v&&(v.state!==\"loading\"&&(v.state=d),this._loadTile(v,this._tileLoaded.bind(this,v,l,d)))}_tileLoaded(l,d,v,b){if(b)return l.state=\"errored\",void(b.status!==404?this._source.fire(new n.j(b,{tile:l})):this.update(this.transform,this.terrain));l.timeAdded=n.h.now(),v===\"expired\"&&(l.refreshedUponExpiration=!0),this._setTileReloadTimer(d,l),this.getSource().type===\"raster-dem\"&&l.dem&&this._backfillDEM(l),this._state.initializeTileState(l,this.map?this.map.painter:null),l.aborted||this._source.fire(new n.k(\"data\",{dataType:\"source\",tile:l,coord:l.tileID}))}_backfillDEM(l){let d=this.getRenderableIds();for(let b=0;b1||(Math.abs(O)>1&&(Math.abs(O+U)===1?O+=U:Math.abs(O-U)===1&&(O-=U)),M.dem&&b.dem&&(b.dem.backfillBorder(M.dem,O,B),b.neighboringTiles&&b.neighboringTiles[W]&&(b.neighboringTiles[W].backfilled=!0)))}}getTile(l){return this.getTileByID(l.key)}getTileByID(l){return this._tiles[l]}_retainLoadedChildren(l,d,v,b){for(let M in this._tiles){let O=this._tiles[M];if(b[M]||!O.hasData()||O.tileID.overscaledZ<=d||O.tileID.overscaledZ>v)continue;let B=O.tileID;for(;O&&O.tileID.overscaledZ>d+1;){let W=O.tileID.scaledTo(O.tileID.overscaledZ-1);O=this._tiles[W.key],O&&O.hasData()&&(B=W)}let U=B;for(;U.overscaledZ>d;)if(U=U.scaledTo(U.overscaledZ-1),l[U.key]){b[B.key]=B;break}}}findLoadedParent(l,d){if(l.key in this._loadedParentTiles){let v=this._loadedParentTiles[l.key];return v&&v.tileID.overscaledZ>=d?v:null}for(let v=l.overscaledZ-1;v>=d;v--){let b=l.scaledTo(v),M=this._getLoadedTile(b);if(M)return M}}_getLoadedTile(l){let d=this._tiles[l.key];return d&&d.hasData()?d:this._cache.getByKey(l.wrapped().key)}updateCacheSize(l){let d=Math.ceil(l.width/this._source.tileSize)+1,v=Math.ceil(l.height/this._source.tileSize)+1,b=Math.floor(d*v*(this._maxTileCacheZoomLevels===null?n.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),M=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,b):b;this._cache.setMaxSize(M)}handleWrapJump(l){let d=Math.round((l-(this._prevLng===void 0?l:this._prevLng))/360);if(this._prevLng=l,d){let v={};for(let b in this._tiles){let M=this._tiles[b];M.tileID=M.tileID.unwrapTo(M.tileID.wrap+d),v[M.tileID.key]=M}this._tiles=v;for(let b in this._timers)clearTimeout(this._timers[b]),delete this._timers[b];for(let b in this._tiles)this._setTileReloadTimer(b,this._tiles[b])}}update(l,d){if(this.transform=l,this.terrain=d,!this._sourceLoaded||this._paused)return;let v;this.updateCacheSize(l),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?v=l.getVisibleUnwrappedCoordinates(this._source.tileID).map(Z=>new n.O(Z.canonical.z,Z.wrap,Z.canonical.z,Z.canonical.x,Z.canonical.y)):(v=l.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:d}),this._source.hasTile&&(v=v.filter(Z=>this._source.hasTile(Z)))):v=[];let b=l.coveringZoomLevel(this._source),M=Math.max(b-ls.maxOverzooming,this._source.minzoom),O=Math.max(b+ls.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Z={};for(let $ of v)if($.canonical.z>this._source.minzoom){let st=$.scaledTo($.canonical.z-1);Z[st.key]=st;let At=$.scaledTo(Math.max(this._source.minzoom,Math.min($.canonical.z,5)));Z[At.key]=At}v=v.concat(Object.values(Z))}let B=v.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,B&&this.fire(new n.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let U=this._updateRetainedTiles(v,b);if(gi(this._source.type)){let Z={},$={},st=Object.keys(U),At=n.h.now();for(let pt of st){let yt=U[pt],dt=this._tiles[pt];if(!dt||dt.fadeEndTime!==0&&dt.fadeEndTime<=At)continue;let Ft=this.findLoadedParent(yt,M);Ft&&(this._addTile(Ft.tileID),Z[Ft.tileID.key]=Ft.tileID),$[pt]=yt}this._retainLoadedChildren($,b,O,U);for(let pt in Z)U[pt]||(this._coveredTiles[pt]=!0,U[pt]=Z[pt]);if(d){let pt={},yt={};for(let dt of v)this._tiles[dt.key].hasData()?pt[dt.key]=dt:yt[dt.key]=dt;for(let dt in yt){let Ft=yt[dt].children(this._source.maxzoom);this._tiles[Ft[0].key]&&this._tiles[Ft[1].key]&&this._tiles[Ft[2].key]&&this._tiles[Ft[3].key]&&(pt[Ft[0].key]=U[Ft[0].key]=Ft[0],pt[Ft[1].key]=U[Ft[1].key]=Ft[1],pt[Ft[2].key]=U[Ft[2].key]=Ft[2],pt[Ft[3].key]=U[Ft[3].key]=Ft[3],delete yt[dt])}for(let dt in yt){let Ft=this.findLoadedParent(yt[dt],this._source.minzoom);if(Ft){pt[Ft.tileID.key]=U[Ft.tileID.key]=Ft.tileID;for(let Ht in pt)pt[Ht].isChildOf(Ft.tileID)&&delete pt[Ht]}}for(let dt in this._tiles)pt[dt]||(this._coveredTiles[dt]=!0)}}for(let Z in U)this._tiles[Z].clearFadeHold();let W=n.ab(this._tiles,U);for(let Z of W){let $=this._tiles[Z];$.hasSymbolBuckets&&!$.holdingForFade()?$.setHoldDuration(this.map._fadeDuration):$.hasSymbolBuckets&&!$.symbolFadeFinished()||this._removeTile(Z)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(let l in this._tiles)this._tiles[l].holdingForFade()&&this._removeTile(l)}_updateRetainedTiles(l,d){let v={},b={},M=Math.max(d-ls.maxOverzooming,this._source.minzoom),O=Math.max(d+ls.maxUnderzooming,this._source.minzoom),B={};for(let U of l){let W=this._addTile(U);v[U.key]=U,W.hasData()||dthis._source.maxzoom){let $=U.children(this._source.maxzoom)[0],st=this.getTile($);if(st&&st.hasData()){v[$.key]=$;continue}}else{let $=U.children(this._source.maxzoom);if(v[$[0].key]&&v[$[1].key]&&v[$[2].key]&&v[$[3].key])continue}let Z=W.wasRequested();for(let $=U.overscaledZ-1;$>=M;--$){let st=U.scaledTo($);if(b[st.key])break;if(b[st.key]=!0,W=this.getTile(st),!W&&Z&&(W=this._addTile(st)),W){let At=W.hasData();if((Z||At)&&(v[st.key]=st),Z=W.wasRequested(),At)break}}}return v}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let l in this._tiles){let d=[],v,b=this._tiles[l].tileID;for(;b.overscaledZ>0;){if(b.key in this._loadedParentTiles){v=this._loadedParentTiles[b.key];break}d.push(b.key);let M=b.scaledTo(b.overscaledZ-1);if(v=this._getLoadedTile(M),v)break;b=M}for(let M of d)this._loadedParentTiles[M]=v}}_addTile(l){let d=this._tiles[l.key];if(d)return d;d=this._cache.getAndRemove(l),d&&(this._setTileReloadTimer(l.key,d),d.tileID=l,this._state.initializeTileState(d,this.map?this.map.painter:null),this._cacheTimers[l.key]&&(clearTimeout(this._cacheTimers[l.key]),delete this._cacheTimers[l.key],this._setTileReloadTimer(l.key,d)));let v=d;return d||(d=new ao(l,this._source.tileSize*l.overscaleFactor()),this._loadTile(d,this._tileLoaded.bind(this,d,l.key,d.state))),d.uses++,this._tiles[l.key]=d,v||this._source.fire(new n.k(\"dataloading\",{tile:d,coord:d.tileID,dataType:\"source\"})),d}_setTileReloadTimer(l,d){l in this._timers&&(clearTimeout(this._timers[l]),delete this._timers[l]);let v=d.getExpiryTimeout();v&&(this._timers[l]=setTimeout(()=>{this._reloadTile(l,\"expired\"),delete this._timers[l]},v))}_removeTile(l){let d=this._tiles[l];d&&(d.uses--,delete this._tiles[l],this._timers[l]&&(clearTimeout(this._timers[l]),delete this._timers[l]),d.uses>0||(d.hasData()&&d.state!==\"reloading\"?this._cache.add(d.tileID,d,d.getExpiryTimeout()):(d.aborted=!0,this._abortTile(d),this._unloadTile(d))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let l in this._tiles)this._removeTile(l);this._cache.reset()}tilesIn(l,d,v){let b=[],M=this.transform;if(!M)return b;let O=v?M.getCameraQueryGeometry(l):l,B=l.map(pt=>M.pointCoordinate(pt,this.terrain)),U=O.map(pt=>M.pointCoordinate(pt,this.terrain)),W=this.getIds(),Z=1/0,$=1/0,st=-1/0,At=-1/0;for(let pt of U)Z=Math.min(Z,pt.x),$=Math.min($,pt.y),st=Math.max(st,pt.x),At=Math.max(At,pt.y);for(let pt=0;pt=0&&St[1].y+Ht>=0){let Bt=B.map($t=>dt.getTilePoint($t)),Qt=U.map($t=>dt.getTilePoint($t));b.push({tile:yt,tileID:dt,queryGeometry:Bt,cameraQueryGeometry:Qt,scale:Ft})}}return b}getVisibleCoordinates(l){let d=this.getRenderableIds(l).map(v=>this._tiles[v].tileID);for(let v of d)v.posMatrix=this.transform.calculatePosMatrix(v.toUnwrapped());return d}hasTransition(){if(this._source.hasTransition())return!0;if(gi(this._source.type)){let l=n.h.now();for(let d in this._tiles)if(this._tiles[d].fadeEndTime>=l)return!0}return!1}setFeatureState(l,d,v){this._state.updateState(l=l||\"_geojsonTileLayer\",d,v)}removeFeatureState(l,d,v){this._state.removeFeatureState(l=l||\"_geojsonTileLayer\",d,v)}getFeatureState(l,d){return this._state.getState(l=l||\"_geojsonTileLayer\",d)}setDependencies(l,d,v){let b=this._tiles[l];b&&b.setDependencies(d,v)}reloadTilesForDependencies(l,d){for(let v in this._tiles)this._tiles[v].hasDependency(l,d)&&this._reloadTile(v,\"reloading\");this._cache.filter(v=>!v.hasDependency(l,d))}}function mn(T,l){let d=Math.abs(2*T.wrap)-+(T.wrap<0),v=Math.abs(2*l.wrap)-+(l.wrap<0);return T.overscaledZ-l.overscaledZ||v-d||l.canonical.y-T.canonical.y||l.canonical.x-T.canonical.x}function gi(T){return T===\"raster\"||T===\"image\"||T===\"video\"}ls.maxOverzooming=10,ls.maxUnderzooming=3;let oi=\"mapboxgl_preloaded_worker_pool\";class lo{constructor(){this.active={}}acquire(l){if(!this.workers)for(this.workers=[];this.workers.length{d.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[oi]}numActive(){return Object.keys(this.active).length}}let du=Math.floor(n.h.hardwareConcurrency/2),ul;function bo(){return ul||(ul=new lo),ul}lo.workerCount=n.ac(globalThis)?Math.max(Math.min(du,3),1):1;class hl{constructor(l,d){this.reset(l,d)}reset(l,d){this.points=l||[],this._distances=[0];for(let v=1;v0?(b-O)/B:0;return this.points[M].mult(1-U).add(this.points[d].mult(U))}}function Ia(T,l){let d=!0;return T===\"always\"||T!==\"never\"&&l!==\"never\"||(d=!1),d}class wo{constructor(l,d,v){let b=this.boxCells=[],M=this.circleCells=[];this.xCellCount=Math.ceil(l/v),this.yCellCount=Math.ceil(d/v);for(let O=0;Othis.width||b<0||d>this.height)return[];let U=[];if(l<=0&&d<=0&&this.width<=v&&this.height<=b){if(M)return[{key:null,x1:l,y1:d,x2:v,y2:b}];for(let W=0;W0}hitTestCircle(l,d,v,b,M){let O=l-v,B=l+v,U=d-v,W=d+v;if(B<0||O>this.width||W<0||U>this.height)return!1;let Z=[];return this._forEachCell(O,U,B,W,this._queryCellCircle,Z,{hitTest:!0,overlapMode:b,circle:{x:l,y:d,radius:v},seenUids:{box:{},circle:{}}},M),Z.length>0}_queryCell(l,d,v,b,M,O,B,U){let{seenUids:W,hitTest:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!W.box[yt]){W.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(l<=pt[dt+2]&&d<=pt[dt+3]&&v>=pt[dt+0]&&b>=pt[dt+1]&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))&&(O.push({key:Ft,x1:pt[dt],y1:pt[dt+1],x2:pt[dt+2],y2:pt[dt+3]}),Z))return!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!W.circle[yt]){W.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circleAndRectCollide(pt[dt],pt[dt+1],pt[dt+2],l,d,v,b)&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))){let Ht=pt[dt],St=pt[dt+1],Bt=pt[dt+2];if(O.push({key:Ft,x1:Ht-Bt,y1:St-Bt,x2:Ht+Bt,y2:St+Bt}),Z)return!0}}}return!1}_queryCellCircle(l,d,v,b,M,O,B,U){let{circle:W,seenUids:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!Z.box[yt]){Z.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(this._circleAndRectCollide(W.x,W.y,W.radius,pt[dt+0],pt[dt+1],pt[dt+2],pt[dt+3])&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!Z.circle[yt]){Z.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circlesCollide(pt[dt],pt[dt+1],pt[dt+2],W.x,W.y,W.radius)&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}}_forEachCell(l,d,v,b,M,O,B,U){let W=this._convertToXCellCoord(l),Z=this._convertToYCellCoord(d),$=this._convertToXCellCoord(v),st=this._convertToYCellCoord(b);for(let At=W;At<=$;At++)for(let pt=Z;pt<=st;pt++)if(M.call(this,l,d,v,b,this.xCellCount*pt+At,O,B,U))return}_convertToXCellCoord(l){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(l*this.xScale)))}_convertToYCellCoord(l){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(l*this.yScale)))}_circlesCollide(l,d,v,b,M,O){let B=b-l,U=M-d,W=v+O;return W*W>B*B+U*U}_circleAndRectCollide(l,d,v,b,M,O,B){let U=(O-b)/2,W=Math.abs(l-(b+U));if(W>U+v)return!1;let Z=(B-M)/2,$=Math.abs(d-(M+Z));if($>Z+v)return!1;if(W<=U||$<=Z)return!0;let st=W-U,At=$-Z;return st*st+At*At<=v*v}}function ve(T,l,d,v,b){let M=n.Z();return l?(n.a0(M,M,[1/b,1/b,1]),d||n.ae(M,M,v.angle)):n.a1(M,v.labelPlaneMatrix,T),M}function jo(T,l,d,v,b){if(l){let M=n.af(T);return n.a0(M,M,[b,b,1]),d||n.ae(M,M,-v.angle),M}return v.glCoordMatrix}function gn(T,l,d){let v;d?(v=[T.x,T.y,d(T.x,T.y),1],n.ag(v,v,l)):(v=[T.x,T.y,0,1],vt(v,v,l));let b=v[3];return{point:new n.P(v[0]/b,v[1]/b),signedDistanceFromCamera:b}}function Ul(T,l){return .5+T/l*.5}function Ca(T,l){let d=T[0]/T[3],v=T[1]/T[3];return d>=-l[0]&&d<=l[0]&&v>=-l[1]&&v<=l[1]}function Te(T,l,d,v,b,M,O,B,U,W){let Z=v?T.textSizeData:T.iconSizeData,$=n.ah(Z,d.transform.zoom),st=[256/d.width*2+1,256/d.height*2+1],At=v?T.text.dynamicLayoutVertexArray:T.icon.dynamicLayoutVertexArray;At.clear();let pt=T.lineVertexArray,yt=v?T.text.placedSymbolArray:T.icon.placedSymbolArray,dt=d.transform.width/d.transform.height,Ft=!1;for(let Ht=0;HtMath.abs(d.x-l.x)*v?{useVertical:!0}:(T===n.ai.vertical?l.yd.x)?{needsFlipping:!0}:null}function Us(T,l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt){let dt=l/24,Ft=T.lineOffsetX*dt,Ht=T.lineOffsetY*dt,St;if(T.numGlyphs>1){let Bt=T.glyphStartIndex+T.numGlyphs,Qt=T.lineStartIndex,$t=T.lineStartIndex+T.lineLength,oe=Dr(dt,B,Ft,Ht,d,Z,$,T,U,M,st,pt,yt);if(!oe)return{notEnoughRoom:!0};let pe=gn(oe.first.point,O,yt).point,he=gn(oe.last.point,O,yt).point;if(v&&!d){let be=gr(T.writingMode,pe,he,At);if(be)return be}St=[oe.first];for(let be=T.glyphStartIndex+1;be0?pe.point:La($,oe,Qt,1,b,yt),be=gr(T.writingMode,Qt,he,At);if(be)return be}let Bt=tt(dt*B.getoffsetX(T.glyphStartIndex),Ft,Ht,d,Z,$,T.segment,T.lineStartIndex,T.lineStartIndex+T.lineLength,U,M,st,pt,yt);if(!Bt)return{notEnoughRoom:!0};St=[Bt]}for(let Bt of St)n.ak(W,Bt.point,Bt.angle);return{}}function La(T,l,d,v,b,M){let O=gn(T.add(T.sub(l)._unit()),b,M).point,B=d.sub(O);return d.add(B._mult(v/B.mag()))}function Mr(T,l){let{projectionCache:d,lineVertexArray:v,labelPlaneMatrix:b,tileAnchorPoint:M,distanceFromAnchor:O,getElevation:B,previousVertex:U,direction:W,absOffsetX:Z}=l;if(d.projections[T])return d.projections[T];let $=new n.P(v.getx(T),v.gety(T)),st=gn($,b,B);if(st.signedDistanceFromCamera>0)return d.projections[T]=st.point,st.point;let At=T-W;return La(O===0?M:new n.P(v.getx(At),v.gety(At)),$,U,Z-O+1,b,B)}function sa(T,l,d){return T._unit()._perp()._mult(l*d)}function gt(T,l,d,v,b,M,O,B){let{projectionCache:U,direction:W}=B;if(U.offsets[T])return U.offsets[T];let Z=d.add(l);if(T+W=b)return U.offsets[T]=Z,Z;let $=Mr(T+W,B),st=sa($.sub(d),O,W),At=d.add(st),pt=$.add(st);return U.offsets[T]=n.al(M,Z,At,pt)||Z,U.offsets[T]}function tt(T,l,d,v,b,M,O,B,U,W,Z,$,st,At){let pt=v?T-l:T+l,yt=pt>0?1:-1,dt=0;v&&(yt*=-1,dt=Math.PI),yt<0&&(dt+=Math.PI);let Ft,Ht,St=yt>0?B+O:B+O+1,Bt=b,Qt=b,$t=0,oe=0,pe=Math.abs(pt),he=[],be;for(;$t+oe<=pe;){if(St+=yt,St=U)return null;$t+=oe,Qt=Bt,Ht=Ft;let Ee={projectionCache:$,lineVertexArray:W,labelPlaneMatrix:Z,tileAnchorPoint:M,distanceFromAnchor:$t,getElevation:At,previousVertex:Qt,direction:yt,absOffsetX:pe};if(Bt=Mr(St,Ee),d===0)he.push(Qt),be=Bt.sub(Qt);else{let pr,tr=Bt.sub(Qt);pr=tr.mag()===0?sa(Mr(St+yt,Ee).sub(Bt),d,yt):sa(tr,d,yt),Ht||(Ht=Qt.add(pr)),Ft=gt(St,pr,Bt,B,U,Ht,d,Ee),he.push(Ht),be=Ft.sub(Ht)}oe=be.mag()}let Ze=be._mult((pe-$t)/oe)._add(Ht||Qt),Kr=dt+Math.atan2(Bt.y-Qt.y,Bt.x-Qt.x);return he.push(Ze),{point:Ze,angle:st?Kr:0,path:he}}let nt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ht(T,l){for(let d=0;d=1;Vr--)tr.push(Ee.path[Vr]);for(let Vr=1;Vrgn(ei,U,pt));tr=Vr.some(ei=>ei.signedDistanceFromCamera<=0)?[]:Vr.map(ei=>ei.point)}let Jr=[];if(tr.length>0){let Vr=tr[0].clone(),ei=tr[0].clone();for(let On=1;On=be.x&&ei.x<=Ze.x&&Vr.y>=be.y&&ei.y<=Ze.y?[tr]:ei.xZe.x||ei.yZe.y?[]:n.am([tr],be.x,be.y,Ze.x,Ze.y)}for(let Vr of Jr){Kr.reset(Vr,.25*he);let ei=0;ei=Kr.length<=.5*he?1:Math.ceil(Kr.paddedLength/Gi)+1;for(let On=0;On=this.screenRightBoundary||bthis.screenBottomBoundary}isInsideGrid(l,d,v,b){return v>=0&&l=0&&dv.collisionGroupID===d}}return this.collisionGroups[l]}}function vr(T,l,d,v,b){let{horizontalAlign:M,verticalAlign:O}=n.au(T);return new n.P(-(M-.5)*l+v[0]*b,-(O-.5)*d+v[1]*b)}function Xe(T,l,d,v,b,M){let{x1:O,x2:B,y1:U,y2:W,anchorPointX:Z,anchorPointY:$}=T,st=new n.P(l,d);return v&&st._rotate(b?M:-M),{x1:O+st.x,y1:U+st.y,x2:B+st.x,y2:W+st.y,anchorPointX:Z,anchorPointY:$}}class cr{constructor(l,d,v,b,M){this.transform=l.clone(),this.terrain=d,this.collisionIndex=new _t(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=v,this.retainedQueryData={},this.collisionGroups=new lr(b),this.collisionCircleArrays={},this.prevPlacement=M,M&&(M.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(l,d,v,b){let M=v.getBucket(d),O=v.latestFeatureIndex;if(!M||!O||d.id!==M.layerIds[0])return;let B=v.collisionBoxArray,U=M.layers[0].layout,W=Math.pow(2,this.transform.zoom-v.tileID.overscaledZ),Z=v.tileSize/n.N,$=this.transform.calculatePosMatrix(v.tileID.toUnwrapped()),st=U.get(\"text-pitch-alignment\")===\"map\",At=U.get(\"text-rotation-alignment\")===\"map\",pt=Dt(v,1,this.transform.zoom),yt=ve($,st,At,this.transform,pt),dt=null;if(st){let Ht=jo($,st,At,this.transform,pt);dt=n.a1([],this.transform.labelPlaneMatrix,Ht)}this.retainedQueryData[M.bucketInstanceId]=new ae(M.bucketInstanceId,O,M.sourceLayerIndex,M.index,v.tileID);let Ft={bucket:M,layout:U,posMatrix:$,textLabelPlaneMatrix:yt,labelToScreenMatrix:dt,scale:W,textPixelRatio:Z,holdingForFade:v.holdingForFade(),collisionBoxArray:B,partiallyEvaluatedTextSize:n.ah(M.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(M.sourceID)};if(b)for(let Ht of M.sortKeyRanges){let{sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt}=Ht;l.push({sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt,parameters:Ft})}else l.push({symbolInstanceStart:0,symbolInstanceEnd:M.symbolInstances.length,parameters:Ft})}attemptAnchorPlacement(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt){let Ft=n.aq[l.textAnchor],Ht=[l.textOffset0,l.textOffset1],St=vr(Ft,v,b,Ht,M),Bt=this.collisionIndex.placeCollisionBox(Xe(d,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt);if((!yt||this.collisionIndex.placeCollisionBox(Xe(yt,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt).box.length!==0)&&Bt.box.length>0){let Qt;if(this.prevPlacement&&this.prevPlacement.variableOffsets[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID].text&&(Qt=this.prevPlacement.variableOffsets[st.crossTileID].anchor),st.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[st.crossTileID]={textOffset:Ht,width:v,height:b,anchor:Ft,textBoxScale:M,prevAnchor:Qt},this.markUsedJustification(At,Ft,st,pt),At.allowVerticalPlacement&&(this.markUsedOrientation(At,pt,st),this.placedOrientations[st.crossTileID]=pt),{shift:St,placedGlyphBoxes:Bt}}}placeLayerBucketPart(l,d,v){let{bucket:b,layout:M,posMatrix:O,textLabelPlaneMatrix:B,labelToScreenMatrix:U,textPixelRatio:W,holdingForFade:Z,collisionBoxArray:$,partiallyEvaluatedTextSize:st,collisionGroup:At}=l.parameters,pt=M.get(\"text-optional\"),yt=M.get(\"icon-optional\"),dt=n.ar(M,\"text-overlap\",\"text-allow-overlap\"),Ft=dt===\"always\",Ht=n.ar(M,\"icon-overlap\",\"icon-allow-overlap\"),St=Ht===\"always\",Bt=M.get(\"text-rotation-alignment\")===\"map\",Qt=M.get(\"text-pitch-alignment\")===\"map\",$t=M.get(\"icon-text-fit\")!==\"none\",oe=M.get(\"symbol-z-order\")===\"viewport-y\",pe=Ft&&(St||!b.hasIconData()||yt),he=St&&(Ft||!b.hasTextData()||pt);!b.collisionArrays&&$&&b.deserializeCollisionBoxes($);let be=this.retainedQueryData[b.bucketInstanceId].tileID,Ze=this.terrain?(Ee,pr)=>this.terrain.getElevation(be,Ee,pr):null,Kr=(Ee,pr)=>{var tr,Gi;if(d[Ee.crossTileID])return;if(Z)return void(this.placements[Ee.crossTileID]=new ie(!1,!1,!1));let Jr=!1,Vr=!1,ei=!0,On=null,tn={box:null,offscreen:null},Gs={box:null,offscreen:null},hs=null,Bn=null,qo=null,jr=0,ql=0,Zl=0;pr.textFeatureIndex?jr=pr.textFeatureIndex:Ee.useRuntimeCollisionCircles&&(jr=Ee.featureIndex),pr.verticalTextFeatureIndex&&(ql=pr.verticalTextFeatureIndex);let yu=pr.textBox;if(yu){let Ws=Fn=>{let fs=n.ai.horizontal;if(b.allowVerticalPlacement&&!Fn&&this.prevPlacement){let Zo=this.prevPlacement.placedOrientations[Ee.crossTileID];Zo&&(this.placedOrientations[Ee.crossTileID]=Zo,fs=Zo,this.markUsedOrientation(b,fs,Ee))}return fs},Ps=(Fn,fs)=>{if(b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&pr.verticalTextBox){for(let Zo of b.writingModes)if(Zo===n.ai.vertical?(tn=fs(),Gs=tn):tn=Fn(),tn&&tn.box&&tn.box.length)break}else tn=Fn()},Eo=Ee.textAnchorOffsetStartIndex,yh=Ee.textAnchorOffsetEndIndex;if(yh===Eo){let Fn=(fs,Zo)=>{let _n=this.collisionIndex.placeCollisionBox(fs,dt,W,O,At.predicate,Ze);return _n&&_n.box&&_n.box.length&&(this.markUsedOrientation(b,Zo,Ee),this.placedOrientations[Ee.crossTileID]=Zo),_n};Ps(()=>Fn(yu,n.ai.horizontal),()=>{let fs=pr.verticalTextBox;return b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&fs?Fn(fs,n.ai.vertical):{box:null,offscreen:null}}),Ws(tn&&tn.box&&tn.box.length)}else{let Fn=n.aq[(Gi=(tr=this.prevPlacement)===null||tr===void 0?void 0:tr.variableOffsets[Ee.crossTileID])===null||Gi===void 0?void 0:Gi.anchor],fs=(_n,ho,Gr)=>{let Ua=_n.x2-_n.x1,S_=_n.y2-_n.y1,zd=Ee.textBoxScale,cA=$t&&Ht===\"never\"?ho:null,Yl={box:[],offscreen:!1},Yo=dt===\"never\"?1:2,me=\"never\";Fn&&Yo++;for(let ke=0;kefs(yu,pr.iconBox,n.ai.horizontal),()=>{let _n=pr.verticalTextBox;return b.allowVerticalPlacement&&!(tn&&tn.box&&tn.box.length)&&Ee.numVerticalGlyphVertices>0&&_n?fs(_n,pr.verticalIconBox,n.ai.vertical):{box:null,offscreen:null}}),tn&&(Jr=tn.box,ei=tn.offscreen);let Zo=Ws(tn&&tn.box);if(!Jr&&this.prevPlacement){let _n=this.prevPlacement.variableOffsets[Ee.crossTileID];_n&&(this.variableOffsets[Ee.crossTileID]=_n,this.markUsedJustification(b,_n.anchor,Ee,Zo))}}}if(hs=tn,Jr=hs&&hs.box&&hs.box.length>0,ei=hs&&hs.offscreen,Ee.useRuntimeCollisionCircles){let Ws=b.text.placedSymbolArray.get(Ee.centerJustifiedTextSymbolIndex),Ps=n.aj(b.textSizeData,st,Ws),Eo=M.get(\"text-padding\");Bn=this.collisionIndex.placeCollisionCircles(dt,Ws,b.lineVertexArray,b.glyphOffsetArray,Ps,O,B,U,v,Qt,At.predicate,Ee.collisionCircleDiameter,Eo,Ze),Bn.circles.length&&Bn.collisionDetected&&!v&&n.w(\"Collisions detected, but collision boxes are not shown\"),Jr=Ft||Bn.circles.length>0&&!Bn.collisionDetected,ei=ei&&Bn.offscreen}if(pr.iconFeatureIndex&&(Zl=pr.iconFeatureIndex),pr.iconBox){let Ws=Ps=>{let Eo=$t&&On?Xe(Ps,On.x,On.y,Bt,Qt,this.transform.angle):Ps;return this.collisionIndex.placeCollisionBox(Eo,Ht,W,O,At.predicate,Ze)};Gs&&Gs.box&&Gs.box.length&&pr.verticalIconBox?(qo=Ws(pr.verticalIconBox),Vr=qo.box.length>0):(qo=Ws(pr.iconBox),Vr=qo.box.length>0),ei=ei&&qo.offscreen}let vu=pt||Ee.numHorizontalGlyphVertices===0&&Ee.numVerticalGlyphVertices===0,_h=yt||Ee.numIconVertices===0;if(vu||_h?_h?vu||(Vr=Vr&&Jr):Jr=Vr&&Jr:Vr=Jr=Vr&&Jr,Jr&&hs&&hs.box&&this.collisionIndex.insertCollisionBox(hs.box,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,Gs&&Gs.box&&ql?ql:jr,At.ID),Vr&&qo&&this.collisionIndex.insertCollisionBox(qo.box,Ht,M.get(\"icon-ignore-placement\"),b.bucketInstanceId,Zl,At.ID),Bn&&(Jr&&this.collisionIndex.insertCollisionCircles(Bn.circles,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,jr,At.ID),v)){let Ws=b.bucketInstanceId,Ps=this.collisionCircleArrays[Ws];Ps===void 0&&(Ps=this.collisionCircleArrays[Ws]=new se);for(let Eo=0;Eo=0;--pr){let tr=Ee[pr];Kr(b.symbolInstances.get(tr),b.collisionArrays[tr])}}else for(let Ee=l.symbolInstanceStart;Ee=0&&(l.text.placedSymbolArray.get(B).crossTileID=M>=0&&B!==M?0:v.crossTileID)}markUsedOrientation(l,d,v){let b=d===n.ai.horizontal||d===n.ai.horizontalOnly?d:0,M=d===n.ai.vertical?d:0,O=[v.leftJustifiedTextSymbolIndex,v.centerJustifiedTextSymbolIndex,v.rightJustifiedTextSymbolIndex];for(let B of O)l.text.placedSymbolArray.get(B).placedOrientation=b;v.verticalPlacedTextSymbolIndex&&(l.text.placedSymbolArray.get(v.verticalPlacedTextSymbolIndex).placedOrientation=M)}commit(l){this.commitTime=l,this.zoomAtLastRecencyCheck=this.transform.zoom;let d=this.prevPlacement,v=!1;this.prevZoomAdjustment=d?d.zoomAdjustment(this.transform.zoom):0;let b=d?d.symbolFadeChange(l):1,M=d?d.opacities:{},O=d?d.variableOffsets:{},B=d?d.placedOrientations:{};for(let U in this.placements){let W=this.placements[U],Z=M[U];Z?(this.opacities[U]=new Vt(Z,b,W.text,W.icon),v=v||W.text!==Z.text.placed||W.icon!==Z.icon.placed):(this.opacities[U]=new Vt(null,b,W.text,W.icon,W.skipFade),v=v||W.text||W.icon)}for(let U in M){let W=M[U];if(!this.opacities[U]){let Z=new Vt(W,b,!1,!1);Z.isHidden()||(this.opacities[U]=Z,v=v||W.text.placed||W.icon.placed)}}for(let U in O)this.variableOffsets[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.variableOffsets[U]=O[U]);for(let U in B)this.placedOrientations[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.placedOrientations[U]=B[U]);if(d&&d.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");v?this.lastPlacementChangeTime=l:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=d?d.lastPlacementChangeTime:l)}updateLayerOpacities(l,d){let v={};for(let b of d){let M=b.getBucket(l);M&&b.latestFeatureIndex&&l.id===M.layerIds[0]&&this.updateBucketOpacities(M,v,b.collisionBoxArray)}}updateBucketOpacities(l,d,v){l.hasTextData()&&(l.text.opacityVertexArray.clear(),l.text.hasVisibleVertices=!1),l.hasIconData()&&(l.icon.opacityVertexArray.clear(),l.icon.hasVisibleVertices=!1),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexArray.clear(),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexArray.clear();let b=l.layers[0],M=b.layout,O=new Vt(null,0,!1,!1,!0),B=M.get(\"text-allow-overlap\"),U=M.get(\"icon-allow-overlap\"),W=b._unevaluatedLayout.hasValue(\"text-variable-anchor\")||b._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Z=M.get(\"text-rotation-alignment\")===\"map\",$=M.get(\"text-pitch-alignment\")===\"map\",st=M.get(\"icon-text-fit\")!==\"none\",At=new Vt(null,0,B&&(U||!l.hasIconData()||M.get(\"icon-optional\")),U&&(B||!l.hasTextData()||M.get(\"text-optional\")),!0);!l.collisionArrays&&v&&(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData())&&l.deserializeCollisionBoxes(v);let pt=(yt,dt,Ft)=>{for(let Ht=0;Ht

0,$t=this.placedOrientations[dt.crossTileID],oe=$t===n.ai.vertical,pe=$t===n.ai.horizontal||$t===n.ai.horizontalOnly;if(Ft>0||Ht>0){let he=es(Bt.text);pt(l.text,Ft,oe?oa:he),pt(l.text,Ht,pe?oa:he);let be=Bt.text.isHidden();[dt.rightJustifiedTextSymbolIndex,dt.centerJustifiedTextSymbolIndex,dt.leftJustifiedTextSymbolIndex].forEach(Ee=>{Ee>=0&&(l.text.placedSymbolArray.get(Ee).hidden=be||oe?1:0)}),dt.verticalPlacedTextSymbolIndex>=0&&(l.text.placedSymbolArray.get(dt.verticalPlacedTextSymbolIndex).hidden=be||pe?1:0);let Ze=this.variableOffsets[dt.crossTileID];Ze&&this.markUsedJustification(l,Ze.anchor,dt,$t);let Kr=this.placedOrientations[dt.crossTileID];Kr&&(this.markUsedJustification(l,\"left\",dt,Kr),this.markUsedOrientation(l,Kr,dt))}if(Qt){let he=es(Bt.icon),be=!(st&&dt.verticalPlacedIconSymbolIndex&&oe);dt.placedIconSymbolIndex>=0&&(pt(l.icon,dt.numIconVertices,be?he:oa),l.icon.placedSymbolArray.get(dt.placedIconSymbolIndex).hidden=Bt.icon.isHidden()),dt.verticalPlacedIconSymbolIndex>=0&&(pt(l.icon,dt.numVerticalIconVertices,be?oa:he),l.icon.placedSymbolArray.get(dt.verticalPlacedIconSymbolIndex).hidden=Bt.icon.isHidden())}if(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData()){let he=l.collisionArrays[yt];if(he){let be=new n.P(0,0);if(he.textBox||he.verticalTextBox){let Kr=!0;if(W){let Ee=this.variableOffsets[St];Ee?(be=vr(Ee.anchor,Ee.width,Ee.height,Ee.textOffset,Ee.textBoxScale),Z&&be._rotate($?this.transform.angle:-this.transform.angle)):Kr=!1}he.textBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||oe,be.x,be.y),he.verticalTextBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||pe,be.x,be.y)}let Ze=!!(!pe&&he.verticalIconBox);he.iconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,Ze,st?be.x:0,st?be.y:0),he.verticalIconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,!Ze,st?be.x:0,st?be.y:0)}}}if(l.sortFeatures(this.transform.angle),this.retainedQueryData[l.bucketInstanceId]&&(this.retainedQueryData[l.bucketInstanceId].featureSortOrder=l.featureSortOrder),l.hasTextData()&&l.text.opacityVertexBuffer&&l.text.opacityVertexBuffer.updateData(l.text.opacityVertexArray),l.hasIconData()&&l.icon.opacityVertexBuffer&&l.icon.opacityVertexBuffer.updateData(l.icon.opacityVertexArray),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexBuffer&&l.iconCollisionBox.collisionVertexBuffer.updateData(l.iconCollisionBox.collisionVertexArray),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexBuffer&&l.textCollisionBox.collisionVertexBuffer.updateData(l.textCollisionBox.collisionVertexArray),l.text.opacityVertexArray.length!==l.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${l.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${l.text.layoutVertexArray.length}) / 4`);if(l.icon.opacityVertexArray.length!==l.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${l.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${l.icon.layoutVertexArray.length}) / 4`);if(l.bucketInstanceId in this.collisionCircleArrays){let yt=this.collisionCircleArrays[l.bucketInstanceId];l.placementInvProjMatrix=yt.invProjMatrix,l.placementViewportMatrix=yt.viewportMatrix,l.collisionCircleArray=yt.circles,delete this.collisionCircleArrays[l.bucketInstanceId]}}symbolFadeChange(l){return this.fadeDuration===0?1:(l-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(l){return Math.max(0,(this.transform.zoom-l)/1.5)}hasTransitions(l){return this.stale||l-this.lastPlacementChangeTimel}setStale(){this.stale=!0}}function wr(T,l,d,v,b){T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0)}let xi=Math.pow(2,25),zi=Math.pow(2,24),ni=Math.pow(2,17),Hr=Math.pow(2,16),jn=Math.pow(2,9),Bi=Math.pow(2,8),xn=Math.pow(2,1);function es(T){if(T.opacity===0&&!T.placed)return 0;if(T.opacity===1&&T.placed)return 4294967295;let l=T.placed?1:0,d=Math.floor(127*T.opacity);return d*xi+l*zi+d*ni+l*Hr+d*jn+l*Bi+d*xn+l}let oa=0;class Um{constructor(l){this._sortAcrossTiles=l.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!l.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(l,d,v,b,M){let O=this._bucketParts;for(;this._currentTileIndexB.sortKey-U.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.h.now()-b>2;for(;this._currentPlacementIndex>=0;){let O=d[l[this._currentPlacementIndex]],B=this.placement.collisionIndex.transform.zoom;if(O.type===\"symbol\"&&(!O.minzoom||O.minzoom<=B)&&(!O.maxzoom||O.maxzoom>B)){if(this._inProgressLayer||(this._inProgressLayer=new Um(O)),this._inProgressLayer.continuePlacement(v[O.source],this.placement,this._showCollisionBoxes,O,M))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(l){return this.placement.commit(l),this.placement}}let Ss=512/n.N/2;class nh{constructor(l,d,v){this.tileID=l,this.bucketInstanceId=v,this._symbolsByKey={};let b=new Map;for(let M=0;M({x:Math.floor(U.anchorX*Ss),y:Math.floor(U.anchorY*Ss)})),crossTileIDs:O.map(U=>U.crossTileID)};if(B.positions.length>128){let U=new n.av(B.positions.length,16,Uint16Array);for(let{x:W,y:Z}of B.positions)U.add(W,Z);U.finish(),delete B.positions,B.index=U}this._symbolsByKey[M]=B}}getScaledCoordinates(l,d){let{x:v,y:b,z:M}=this.tileID.canonical,{x:O,y:B,z:U}=d.canonical,W=Ss/Math.pow(2,U-M),Z=(B*n.N+l.anchorY)*W,$=b*n.N*Ss;return{x:Math.floor((O*n.N+l.anchorX)*W-v*n.N*Ss),y:Math.floor(Z-$)}}findMatches(l,d,v){let b=this.tileID.canonical.zl)}}class ai{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ka{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(l){let d=Math.round((l-this.lng)/360);if(d!==0)for(let v in this.indexes){let b=this.indexes[v],M={};for(let O in b){let B=b[O];B.tileID=B.tileID.unwrapTo(B.tileID.wrap+d),M[B.tileID.key]=B}this.indexes[v]=M}this.lng=l}addBucket(l,d,v){if(this.indexes[l.overscaledZ]&&this.indexes[l.overscaledZ][l.key]){if(this.indexes[l.overscaledZ][l.key].bucketInstanceId===d.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(l.overscaledZ,this.indexes[l.overscaledZ][l.key])}for(let M=0;Ml.overscaledZ)for(let B in O){let U=O[B];U.tileID.isChildOf(l)&&U.findMatches(d.symbolInstances,l,b)}else{let B=O[l.scaledTo(Number(M)).key];B&&B.findMatches(d.symbolInstances,l,b)}}for(let M=0;M{d[v]=!0});for(let v in this.layerIndexes)d[v]||delete this.layerIndexes[v]}}let ln=(T,l)=>n.x(T,l&&l.filter(d=>d.identifier!==\"source.canvas\")),Dn=n.F(n.ax,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setGlyphs\",\"setSprite\"]),Vm=n.F(n.ax,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Go=n.aw();class Gn extends n.E{constructor(l,d={}){super(),this.map=l,this.dispatcher=new ih(bo(),this,l._getMapId()),this.imageManager=new ue,this.imageManager.setEventedParent(this),this.glyphManager=new Sr(l._requestManager,d.localIdeographFontFamily),this.lineAtlas=new No(256,512),this.crossTileSymbolIndex=new Dc,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new n.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",n.az());let v=this;this._rtlTextPluginCallback=Gn.registerForPluginStateChange(b=>{v.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:b.pluginStatus,pluginURL:b.pluginURL},(M,O)=>{if(n.aA(M),O&&O.every(B=>B))for(let B in v.sourceCaches){let U=v.sourceCaches[B].getSource().type;U!==\"vector\"&&U!==\"geojson\"||v.sourceCaches[B].reload()}})}),this.on(\"data\",b=>{if(b.dataType!==\"source\"||b.sourceDataType!==\"metadata\")return;let M=this.sourceCaches[b.sourceId];if(!M)return;let O=M.getSource();if(O&&O.vectorLayerIds)for(let B in this._layers){let U=this._layers[B];U.source===O.id&&this._validateLayer(U)}})}loadURL(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),d.validate=typeof d.validate!=\"boolean\"||d.validate;let b=this.map._requestManager.transformRequest(l,Q.Style);this._request=n.f(b,(M,O)=>{this._request=null,M?this.fire(new n.j(M)):O&&this._load(O,d,v)})}loadJSON(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._request=n.h.frame(()=>{this._request=null,d.validate=d.validate!==!1,this._load(l,d,v)})}loadEmpty(){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._load(Go,{validate:!1})}_load(l,d,v){var b;let M=d.transformStyle?d.transformStyle(v,l):l;if(!d.validate||!ln(this,n.y(M))){this._loaded=!0,this.stylesheet=M;for(let O in M.sources)this.addSource(O,M.sources[O],{validate:!1});M.sprite?this._loadSprite(M.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(M.glyphs),this._createLayers(),this.light=new zl(this.stylesheet.light),this.map.setTerrain((b=this.stylesheet.terrain)!==null&&b!==void 0?b:null),this.fire(new n.k(\"data\",{dataType:\"style\"})),this.fire(new n.k(\"style.load\"))}}_createLayers(){let l=n.aB(this.stylesheet.layers);this.dispatcher.broadcast(\"setLayers\",l),this._order=l.map(d=>d.id),this._layers={},this._serializedLayers=null;for(let d of l){let v=n.aC(d);v.setEventedParent(this,{layer:{id:d.id}}),this._layers[d.id]=v}}_loadSprite(l,d=!1,v=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(b,M,O,B){let U=kt(b),W=U.length,Z=O>1?\"@2x\":\"\",$={},st={},At={};for(let{id:pt,url:yt}of U){let dt=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".json\"),Q.SpriteJSON),Ft=`${pt}_${dt.url}`;$[Ft]=n.f(dt,(Bt,Qt)=>{delete $[Ft],st[pt]=Qt,Xt(B,st,At,Bt,W)});let Ht=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".png\"),Q.SpriteImage),St=`${pt}_${Ht.url}`;$[St]=j.getImage(Ht,(Bt,Qt)=>{delete $[St],At[pt]=Qt,Xt(B,st,At,Bt,W)})}return{cancel(){for(let pt of Object.values($))pt.cancel()}}}(l,this.map._requestManager,this.map.getPixelRatio(),(b,M)=>{if(this._spriteRequest=null,b)this.fire(new n.j(b));else if(M)for(let O in M){this._spritesImagesIds[O]=[];let B=this._spritesImagesIds[O]?this._spritesImagesIds[O].filter(U=>!(U in M)):[];for(let U of B)this.imageManager.removeImage(U),this._changedImages[U]=!0;for(let U in M[O]){let W=O===\"default\"?U:`${O}:${U}`;this._spritesImagesIds[O].push(W),W in this.imageManager.images?this.imageManager.updateImage(W,M[O][U],!1):this.imageManager.addImage(W,M[O][U]),d&&(this._changedImages[W]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),d&&(this._changed=!0),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"})),v&&v(b)})}_unloadSprite(){for(let l of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(l),this._changedImages[l]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}_validateLayer(l){let d=this.sourceCaches[l.source];if(!d)return;let v=l.sourceLayer;if(!v)return;let b=d.getSource();(b.type===\"geojson\"||b.vectorLayerIds&&b.vectorLayerIds.indexOf(v)===-1)&&this.fire(new n.j(new Error(`Source layer \"${v}\" does not exist on source \"${b.id}\" as specified by style layer \"${l.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let l in this.sourceCaches)if(!this.sourceCaches[l].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(l){let d=this._serializedAllLayers();if(!l||l.length===0)return Object.values(d);let v=[];for(let b of l)d[b]&&v.push(d[b]);return v}_serializedAllLayers(){let l=this._serializedLayers;if(l)return l;l=this._serializedLayers={};let d=Object.keys(this._layers);for(let v of d){let b=this._layers[v];b.type!==\"custom\"&&(l[v]=b.serialize())}return l}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(let l in this.sourceCaches)if(this.sourceCaches[l].hasTransition())return!0;for(let l in this._layers)if(this._layers[l].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(l){if(!this._loaded)return;let d=this._changed;if(this._changed){let b=Object.keys(this._updatedLayers),M=Object.keys(this._removedLayers);(b.length||M.length)&&this._updateWorkerLayers(b,M);for(let O in this._updatedSources){let B=this._updatedSources[O];if(B===\"reload\")this._reloadSource(O);else{if(B!==\"clear\")throw new Error(`Invalid action ${B}`);this._clearSource(O)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let O in this._updatedPaintProps)this._layers[O].updateTransitions(l);this.light.updateTransitions(l),this._resetUpdates()}let v={};for(let b in this.sourceCaches){let M=this.sourceCaches[b];v[b]=M.used,M.used=!1}for(let b of this._order){let M=this._layers[b];M.recalculate(l,this._availableImages),!M.isHidden(l.zoom)&&M.source&&(this.sourceCaches[M.source].used=!0)}for(let b in v){let M=this.sourceCaches[b];v[b]!==M.used&&M.fire(new n.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:b}))}this.light.recalculate(l),this.z=l.zoom,d&&this.fire(new n.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let l=Object.keys(this._changedImages);if(l.length){for(let d in this.sourceCaches)this.sourceCaches[d].reloadTilesForDependencies([\"icons\",\"patterns\"],l);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let l in this.sourceCaches)this.sourceCaches[l].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(l,d){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeByIds(l),removedIds:d})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(l,d={}){this._checkLoaded();let v=this.serialize();if(l=d.transformStyle?d.transformStyle(v,l):l,ln(this,n.y(l)))return!1;(l=n.aD(l)).layers=n.aB(l.layers);let b=n.aE(v,l).filter(O=>!(O.command in Vm));if(b.length===0)return!1;let M=b.filter(O=>!(O.command in Dn));if(M.length>0)throw new Error(`Unimplemented: ${M.map(O=>O.command).join(\", \")}.`);for(let O of b)O.command!==\"setTransition\"&&this[O.command].apply(this,O.args);return this.stylesheet=l,this._serializedLayers=null,!0}addImage(l,d){if(this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" already exists.`)));this.imageManager.addImage(l,d),this._afterImageUpdated(l)}updateImage(l,d){this.imageManager.updateImage(l,d)}getImage(l){return this.imageManager.getImage(l)}removeImage(l){if(!this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" does not exist.`)));this.imageManager.removeImage(l),this._afterImageUpdated(l)}_afterImageUpdated(l){this._availableImages=this.imageManager.listImages(),this._changedImages[l]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(l,d,v={}){if(this._checkLoaded(),this.sourceCaches[l]!==void 0)throw new Error(`Source \"${l}\" already exists.`);if(!d.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(d).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(d.type)>=0&&this._validate(n.y.source,`sources.${l}`,d,null,v))return;this.map&&this.map._collectResourceTiming&&(d.collectResourceTiming=!0);let b=this.sourceCaches[l]=new ls(l,d,this.dispatcher);b.style=this,b.setEventedParent(this,()=>({isSourceLoaded:b.loaded(),source:b.serialize(),sourceId:l})),b.onAdd(this.map),this._changed=!0}removeSource(l){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(\"There is no source with this ID\");for(let v in this._layers)if(this._layers[v].source===l)return this.fire(new n.j(new Error(`Source \"${l}\" cannot be removed while layer \"${v}\" is using it.`)));let d=this.sourceCaches[l];delete this.sourceCaches[l],delete this._updatedSources[l],d.fire(new n.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:l})),d.setEventedParent(null),d.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(l,d){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(`There is no source with this ID=${l}`);let v=this.sourceCaches[l].getSource();if(v.type!==\"geojson\")throw new Error(`geojsonSource.type is ${v.type}, which is !== 'geojson`);v.setData(d),this._changed=!0}getSource(l){return this.sourceCaches[l]&&this.sourceCaches[l].getSource()}addLayer(l,d,v={}){this._checkLoaded();let b=l.id;if(this.getLayer(b))return void this.fire(new n.j(new Error(`Layer \"${b}\" already exists on this map.`)));let M;if(l.type===\"custom\"){if(ln(this,n.aF(l)))return;M=n.aC(l)}else{if(\"source\"in l&&typeof l.source==\"object\"&&(this.addSource(b,l.source),l=n.aD(l),l=n.e(l,{source:b})),this._validate(n.y.layer,`layers.${b}`,l,{arrayIndex:-1},v))return;M=n.aC(l),this._validateLayer(M),M.setEventedParent(this,{layer:{id:b}})}let O=d?this._order.indexOf(d):this._order.length;if(d&&O===-1)this.fire(new n.j(new Error(`Cannot add layer \"${b}\" before non-existing layer \"${d}\".`)));else{if(this._order.splice(O,0,b),this._layerOrderChanged=!0,this._layers[b]=M,this._removedLayers[b]&&M.source&&M.type!==\"custom\"){let B=this._removedLayers[b];delete this._removedLayers[b],B.type!==M.type?this._updatedSources[M.source]=\"clear\":(this._updatedSources[M.source]=\"reload\",this.sourceCaches[M.source].pause())}this._updateLayer(M),M.onAdd&&M.onAdd(this.map)}}moveLayer(l,d){if(this._checkLoaded(),this._changed=!0,!this._layers[l])return void this.fire(new n.j(new Error(`The layer '${l}' does not exist in the map's style and cannot be moved.`)));if(l===d)return;let v=this._order.indexOf(l);this._order.splice(v,1);let b=d?this._order.indexOf(d):this._order.length;d&&b===-1?this.fire(new n.j(new Error(`Cannot move layer \"${l}\" before non-existing layer \"${d}\".`))):(this._order.splice(b,0,l),this._layerOrderChanged=!0)}removeLayer(l){this._checkLoaded();let d=this._layers[l];if(!d)return void this.fire(new n.j(new Error(`Cannot remove non-existing layer \"${l}\".`)));d.setEventedParent(null);let v=this._order.indexOf(l);this._order.splice(v,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[l]=d,delete this._layers[l],this._serializedLayers&&delete this._serializedLayers[l],delete this._updatedLayers[l],delete this._updatedPaintProps[l],d.onRemove&&d.onRemove(this.map)}getLayer(l){return this._layers[l]}getLayersOrder(){return[...this._order]}hasLayer(l){return l in this._layers}setLayerZoomRange(l,d,v){this._checkLoaded();let b=this.getLayer(l);b?b.minzoom===d&&b.maxzoom===v||(d!=null&&(b.minzoom=d),v!=null&&(b.maxzoom=v),this._updateLayer(b)):this.fire(new n.j(new Error(`Cannot set the zoom range of non-existing layer \"${l}\".`)))}setFilter(l,d,v={}){this._checkLoaded();let b=this.getLayer(l);if(b){if(!n.aG(b.filter,d))return d==null?(b.filter=void 0,void this._updateLayer(b)):void(this._validate(n.y.filter,`layers.${b.id}.filter`,d,null,v)||(b.filter=n.aD(d),this._updateLayer(b)))}else this.fire(new n.j(new Error(`Cannot filter non-existing layer \"${l}\".`)))}getFilter(l){return n.aD(this.getLayer(l).filter)}setLayoutProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getLayoutProperty(d),v)||(M.setLayoutProperty(d,v,b),this._updateLayer(M)):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getLayoutProperty(l,d){let v=this.getLayer(l);if(v)return v.getLayoutProperty(d);this.fire(new n.j(new Error(`Cannot get style of non-existing layer \"${l}\".`)))}setPaintProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getPaintProperty(d),v)||(M.setPaintProperty(d,v,b)&&this._updateLayer(M),this._changed=!0,this._updatedPaintProps[l]=!0):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getPaintProperty(l,d){return this.getLayer(l).getPaintProperty(d)}setFeatureState(l,d){this._checkLoaded();let v=l.source,b=l.sourceLayer,M=this.sourceCaches[v];if(M===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let O=M.getSource().type;O===\"geojson\"&&b?this.fire(new n.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):O!==\"vector\"||b?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),M.setFeatureState(b,l.id,d)):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(l,d){this._checkLoaded();let v=l.source,b=this.sourceCaches[v];if(b===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let M=b.getSource().type,O=M===\"vector\"?l.sourceLayer:void 0;M!==\"vector\"||O?d&&typeof l.id!=\"string\"&&typeof l.id!=\"number\"?this.fire(new n.j(new Error(\"A feature id is required to remove its specific state property.\"))):b.removeFeatureState(O,l.id,d):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(l){this._checkLoaded();let d=l.source,v=l.sourceLayer,b=this.sourceCaches[d];if(b!==void 0)return b.getSource().type!==\"vector\"||v?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),b.getFeatureState(v,l.id)):void this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new n.j(new Error(`The source '${d}' does not exist in the map's style.`)))}getTransition(){return n.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let l=n.aH(this.sourceCaches,M=>M.serialize()),d=this._serializeByIds(this._order),v=this.map.getTerrain()||void 0,b=this.stylesheet;return n.aI({version:b.version,name:b.name,metadata:b.metadata,light:b.light,center:b.center,zoom:b.zoom,bearing:b.bearing,pitch:b.pitch,sprite:b.sprite,glyphs:b.glyphs,transition:b.transition,sources:l,layers:d,terrain:v},M=>M!==void 0)}_updateLayer(l){this._updatedLayers[l.id]=!0,l.source&&!this._updatedSources[l.source]&&this.sourceCaches[l.source].getSource().type!==\"raster\"&&(this._updatedSources[l.source]=\"reload\",this.sourceCaches[l.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(l){let d=O=>this._layers[O].type===\"fill-extrusion\",v={},b=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B)){v[B]=O;for(let U of l){let W=U[B];if(W)for(let Z of W)b.push(Z)}}}b.sort((O,B)=>B.intersectionZ-O.intersectionZ);let M=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B))for(let U=b.length-1;U>=0;U--){let W=b[U].feature;if(v[W.layer.id]{let pe=Ft.featureSortOrder;if(pe){let he=pe.indexOf($t.featureIndex);return pe.indexOf(oe.featureIndex)-he}return oe.featureIndex-$t.featureIndex});for(let $t of Qt)Bt.push($t)}}for(let Ft in pt)pt[Ft].forEach(Ht=>{let St=Ht.feature,Bt=W[B[Ft].source].getFeatureState(St.layer[\"source-layer\"],St.id);St.source=St.layer.source,St.layer[\"source-layer\"]&&(St.sourceLayer=St.layer[\"source-layer\"]),St.state=Bt});return pt}(this._layers,O,this.sourceCaches,l,d,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(M)}querySourceFeatures(l,d){d&&d.filter&&this._validate(n.y.filter,\"querySourceFeatures.filter\",d.filter,null,d);let v=this.sourceCaches[l];return v?function(b,M){let O=b.getRenderableIds().map(W=>b.getTileByID(W)),B=[],U={};for(let W=0;W{cl[b]=M})(l,d),d.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:l,url:d.workerSourceURL},v):v(null,null))}getLight(){return this.light.getLight()}setLight(l,d={}){this._checkLoaded();let v=this.light.getLight(),b=!1;for(let O in l)if(!n.aG(l[O],v[O])){b=!0;break}if(!b)return;let M={now:n.h.now(),transition:n.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(l,d),this.light.updateTransitions(M)}_validate(l,d,v,b,M={}){return(!M||M.validate!==!1)&&ln(this,l.call(n.y,n.e({key:d,style:this.serialize(),value:v,styleSpec:n.v},b)))}_remove(l=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.aJ.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(let d in this._layers)this._layers[d].setEventedParent(null);for(let d in this.sourceCaches){let v=this.sourceCaches[d];v.setEventedParent(null),v.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(l)}_clearSource(l){this.sourceCaches[l].clearTiles()}_reloadSource(l){this.sourceCaches[l].resume(),this.sourceCaches[l].reload()}_updateSources(l){for(let d in this.sourceCaches)this.sourceCaches[d].update(l,this.map.terrain)}_generateCollisionBoxes(){for(let l in this.sourceCaches)this._reloadSource(l)}_updatePlacement(l,d,v,b,M=!1){let O=!1,B=!1,U={};for(let W of this._order){let Z=this._layers[W];if(Z.type!==\"symbol\")continue;if(!U[Z.source]){let st=this.sourceCaches[Z.source];U[Z.source]=st.getRenderableIds(!0).map(At=>st.getTileByID(At)).sort((At,pt)=>pt.tileID.overscaledZ-At.tileID.overscaledZ||(At.tileID.isLessThan(pt.tileID)?-1:1))}let $=this.crossTileSymbolIndex.addLayer(Z,U[Z.source],l.center.lng);O=O||$}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((M=M||this._layerOrderChanged||v===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.h.now(),l.zoom))&&(this.pauseablePlacement=new Vl(l,this.map.terrain,this._order,M,d,v,b,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,U),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.h.now()),B=!0),O&&this.pauseablePlacement.placement.setStale()),B||O)for(let W of this._order){let Z=this._layers[W];Z.type===\"symbol\"&&this.placement.updateLayerOpacities(Z,U[Z.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.h.now())}_releaseSymbolFadeTiles(){for(let l in this.sourceCaches)this.sourceCaches[l].releaseSymbolFadeTiles()}getImages(l,d,v){this.imageManager.getImages(d.icons,v),this._updateTilesForChangedImages();let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,d.icons)}getGlyphs(l,d,v){this.glyphManager.getGlyphs(d.stacks,v);let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,[\"\"])}getResource(l,d,v){return n.m(d,v)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(l,d={}){this._checkLoaded(),l&&this._validate(n.y.glyphs,\"glyphs\",l,null,d)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=l,this.glyphManager.entries={},this.glyphManager.setURL(l))}addSprite(l,d,v={},b){this._checkLoaded();let M=[{id:l,url:d}],O=[...kt(this.stylesheet.sprite),...M];this._validate(n.y.sprite,\"sprite\",O,null,v)||(this.stylesheet.sprite=O,this._loadSprite(M,!0,b))}removeSprite(l){this._checkLoaded();let d=kt(this.stylesheet.sprite);if(d.find(v=>v.id===l)){if(this._spritesImagesIds[l])for(let v of this._spritesImagesIds[l])this.imageManager.removeImage(v),this._changedImages[v]=!0;d.splice(d.findIndex(v=>v.id===l),1),this.stylesheet.sprite=d.length>0?d:void 0,delete this._spritesImagesIds[l],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}else this.fire(new n.j(new Error(`Sprite \"${l}\" doesn't exists on this map.`)))}getSprite(){return kt(this.stylesheet.sprite)}setSprite(l,d={},v){this._checkLoaded(),l&&this._validate(n.y.sprite,\"sprite\",l,null,d)||(this.stylesheet.sprite=l,l?this._loadSprite(l,!0,v):(this._unloadSprite(),v&&v(null)))}}Gn.registerForPluginStateChange=n.aK;var So=n.Q([{name:\"a_pos\",type:\"Int16\",components:2}]),jl=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";let Ki={prelude:_i(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:_i(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_i(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_i(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_i(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_i(`uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:_i(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_i(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_i(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_i(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_i(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_i(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_i(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_i(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_i(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_i(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_i(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_i(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_i(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_i(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_i(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_i(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",jl),terrainDepth:_i(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",jl),terrainCoords:_i(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",jl)};function _i(T,l){let d=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,v=l.match(/attribute ([\\w]+) ([\\w]+)/g),b=T.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),M=l.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),O=M?M.concat(b):b,B={};return{fragmentSource:T=T.replace(d,(U,W,Z,$,st)=>(B[st]=!0,W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = u_${st};\n#endif\n`)),vertexSource:l=l.replace(d,(U,W,Z,$,st)=>{let At=$===\"float\"?\"vec2\":\"vec4\",pt=st.match(/color/)?\"color\":At;return B[st]?W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`}),staticAttributes:v,staticUniforms:O}}class Gl{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(l,d,v,b,M,O,B,U,W){this.context=l;let Z=this.boundPaintVertexBuffers.length!==b.length;for(let $=0;!Z&&$({u_depth:new n.aL($t,oe.u_depth),u_terrain:new n.aL($t,oe.u_terrain),u_terrain_dim:new n.aM($t,oe.u_terrain_dim),u_terrain_matrix:new n.aN($t,oe.u_terrain_matrix),u_terrain_unpack:new n.aO($t,oe.u_terrain_unpack),u_terrain_exaggeration:new n.aM($t,oe.u_terrain_exaggeration)}))(l,Qt),this.binderUniforms=v?v.getUniforms(l,Qt):[]}draw(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt,Ft,Ht){let St=l.gl;if(this.failedToCreate)return;if(l.program.set(this.program),l.setDepthMode(v),l.setStencilMode(b),l.setColorMode(M),l.setCullFace(O),U){l.activeTexture.set(St.TEXTURE2),St.bindTexture(St.TEXTURE_2D,U.depthTexture),l.activeTexture.set(St.TEXTURE3),St.bindTexture(St.TEXTURE_2D,U.texture);for(let Qt in this.terrainUniforms)this.terrainUniforms[Qt].set(U[Qt])}for(let Qt in this.fixedUniforms)this.fixedUniforms[Qt].set(B[Qt]);yt&&yt.setUniforms(l,this.binderUniforms,At,{zoom:pt});let Bt=0;switch(d){case St.LINES:Bt=2;break;case St.TRIANGLES:Bt=3;break;case St.LINE_STRIP:Bt=1}for(let Qt of st.get()){let $t=Qt.vaos||(Qt.vaos={});($t[W]||($t[W]=new Gl)).bind(l,this,Z,yt?yt.getPaintVertexBuffers():[],$,Qt.vertexOffset,dt,Ft,Ht),St.drawElements(d,Qt.primitiveLength*Bt,St.UNSIGNED_SHORT,Qt.primitiveOffset*Bt*2)}}}function rs(T,l,d){let v=1/Dt(d,1,l.transform.tileZoom),b=Math.pow(2,d.tileID.overscaledZ),M=d.tileSize*Math.pow(2,l.transform.tileZoom)/b,O=M*(d.tileID.canonical.x+d.tileID.wrap*b),B=M*d.tileID.canonical.y;return{u_image:0,u_texsize:d.imageAtlasTexture.size,u_scale:[v,T.fromScale,T.toScale],u_fade:T.t,u_pixel_coord_upper:[O>>16,B>>16],u_pixel_coord_lower:[65535&O,65535&B]}}let Gp=(T,l,d,v)=>{let b=l.style.light,M=b.properties.get(\"position\"),O=[M.x,M.y,M.z],B=function(){var W=new n.A(9);return n.A!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[5]=0,W[6]=0,W[7]=0),W[0]=1,W[4]=1,W[8]=1,W}();b.properties.get(\"anchor\")===\"viewport\"&&function(W,Z){var $=Math.sin(Z),st=Math.cos(Z);W[0]=st,W[1]=$,W[2]=0,W[3]=-$,W[4]=st,W[5]=0,W[6]=0,W[7]=0,W[8]=1}(B,-l.transform.angle),function(W,Z,$){var st=Z[0],At=Z[1],pt=Z[2];W[0]=st*$[0]+At*$[3]+pt*$[6],W[1]=st*$[1]+At*$[4]+pt*$[7],W[2]=st*$[2]+At*$[5]+pt*$[8]}(O,O,B);let U=b.properties.get(\"color\");return{u_matrix:T,u_lightpos:O,u_lightintensity:b.properties.get(\"intensity\"),u_lightcolor:[U.r,U.g,U.b],u_vertical_gradient:+d,u_opacity:v}},Wl=(T,l,d,v,b,M,O)=>n.e(Gp(T,l,d,v),rs(M,l,O),{u_height_factor:-Math.pow(2,b.overscaledZ)/O.tileSize/8}),_d=T=>({u_matrix:T}),yd=(T,l,d,v)=>n.e(_d(T),rs(d,l,v)),vd=(T,l)=>({u_matrix:T,u_world:l}),xd=(T,l,d,v,b)=>n.e(yd(T,l,d,v),{u_world:b}),lt=(T,l,d,v)=>{let b=T.transform,M,O;if(v.paint.get(\"circle-pitch-alignment\")===\"map\"){let B=Dt(d,1,b.zoom);M=!0,O=[B,B]}else M=!1,O=b.pixelsToGLUnits;return{u_camera_to_center_distance:b.cameraToCenterDistance,u_scale_with_map:+(v.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:T.translatePosMatrix(l.posMatrix,d,v.paint.get(\"circle-translate\"),v.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+M,u_device_pixel_ratio:T.pixelRatio,u_extrude_scale:O}},ft=(T,l,d)=>{let v=Dt(d,1,l.zoom),b=Math.pow(2,l.zoom-d.tileID.overscaledZ),M=d.tileID.overscaleFactor();return{u_matrix:T,u_camera_to_center_distance:l.cameraToCenterDistance,u_pixels_to_tile_units:v,u_extrude_scale:[l.pixelsToGLUnits[0]/(v*b),l.pixelsToGLUnits[1]/(v*b)],u_overscale_factor:M}},Lt=(T,l,d=1)=>({u_matrix:T,u_color:l,u_overlay:0,u_overlay_scale:d}),Kt=T=>({u_matrix:T}),ge=(T,l,d,v)=>({u_matrix:T,u_extrude_scale:Dt(l,1,d),u_intensity:v});function Qe(T,l){let d=Math.pow(2,l.canonical.z),v=l.canonical.y;return[new n.U(0,v/d).toLngLat().lat,new n.U(0,(v+1)/d).toLngLat().lat]}let ti=(T,l,d,v)=>{let b=T.transform;return{u_matrix:jm(T,l,d,v),u_ratio:1/Dt(l,1,b.zoom),u_device_pixel_ratio:T.pixelRatio,u_units_to_pixels:[1/b.pixelsToGLUnits[0],1/b.pixelsToGLUnits[1]]}},is=(T,l,d,v,b)=>n.e(ti(T,l,d,b),{u_image:0,u_image_height:v}),Ts=(T,l,d,v,b)=>{let M=T.transform,O=Ra(l,M);return{u_matrix:jm(T,l,d,b),u_texsize:l.imageAtlasTexture.size,u_ratio:1/Dt(l,1,M.zoom),u_device_pixel_ratio:T.pixelRatio,u_image:0,u_scale:[O,v.fromScale,v.toScale],u_fade:v.t,u_units_to_pixels:[1/M.pixelsToGLUnits[0],1/M.pixelsToGLUnits[1]]}},Vs=(T,l,d,v,b,M)=>{let O=T.lineAtlas,B=Ra(l,T.transform),U=d.layout.get(\"line-cap\")===\"round\",W=O.getDash(v.from,U),Z=O.getDash(v.to,U),$=W.width*b.fromScale,st=Z.width*b.toScale;return n.e(ti(T,l,d,M),{u_patternscale_a:[B/$,-W.height/2],u_patternscale_b:[B/st,-Z.height/2],u_sdfgamma:O.width/(256*Math.min($,st)*T.pixelRatio)/2,u_image:0,u_tex_y_a:W.y,u_tex_y_b:Z.y,u_mix:b.t})};function Ra(T,l){return 1/Dt(T,1,l.tileZoom)}function jm(T,l,d,v){return T.translatePosMatrix(v?v.posMatrix:l.tileID.posMatrix,l,d.paint.get(\"line-translate\"),d.paint.get(\"line-translate-anchor\"))}let Ox=(T,l,d,v,b)=>{return{u_matrix:T,u_tl_parent:l,u_scale_parent:d,u_buffer_scale:1,u_fade_t:v.mix,u_opacity:v.opacity*b.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:b.paint.get(\"raster-brightness-min\"),u_brightness_high:b.paint.get(\"raster-brightness-max\"),u_saturation_factor:(O=b.paint.get(\"raster-saturation\"),O>0?1-1/(1.001-O):-O),u_contrast_factor:(M=b.paint.get(\"raster-contrast\"),M>0?1/(1-M):1+M),u_spin_weights:Bx(b.paint.get(\"raster-hue-rotate\"))};var M,O};function Bx(T){T*=Math.PI/180;let l=Math.sin(T),d=Math.cos(T);return[(2*d+1)/3,(-Math.sqrt(3)*l-d+1)/3,(Math.sqrt(3)*l-d+1)/3]}let l_=(T,l,d,v,b,M,O,B,U,W)=>{let Z=b.transform;return{u_is_size_zoom_constant:+(T===\"constant\"||T===\"source\"),u_is_size_feature_constant:+(T===\"constant\"||T===\"camera\"),u_size_t:l?l.uSizeT:0,u_size:l?l.uSize:0,u_camera_to_center_distance:Z.cameraToCenterDistance,u_pitch:Z.pitch/360*2*Math.PI,u_rotate_symbol:+d,u_aspect_ratio:Z.width/Z.height,u_fade_change:b.options.fadeDuration?b.symbolFadeChange:1,u_matrix:M,u_label_plane_matrix:O,u_coord_matrix:B,u_is_text:+U,u_pitch_with_map:+v,u_texsize:W,u_texture:0}},c_=(T,l,d,v,b,M,O,B,U,W,Z)=>{let $=b.transform;return n.e(l_(T,l,d,v,b,M,O,B,U,W),{u_gamma_scale:v?Math.cos($._pitch)*$.cameraToCenterDistance:1,u_device_pixel_ratio:b.pixelRatio,u_is_halo:+Z})},gf=(T,l,d,v,b,M,O,B,U,W)=>n.e(c_(T,l,d,v,b,M,O,B,!0,U,!0),{u_texsize_icon:W,u_texture_icon:1}),Gm=(T,l,d)=>({u_matrix:T,u_opacity:l,u_color:d}),fl=(T,l,d,v,b,M)=>n.e(function(O,B,U,W){let Z=U.imageManager.getPattern(O.from.toString()),$=U.imageManager.getPattern(O.to.toString()),{width:st,height:At}=U.imageManager.getPixelSize(),pt=Math.pow(2,W.tileID.overscaledZ),yt=W.tileSize*Math.pow(2,U.transform.tileZoom)/pt,dt=yt*(W.tileID.canonical.x+W.tileID.wrap*pt),Ft=yt*W.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Z.tl,u_pattern_br_a:Z.br,u_pattern_tl_b:$.tl,u_pattern_br_b:$.br,u_texsize:[st,At],u_mix:B.t,u_pattern_size_a:Z.displaySize,u_pattern_size_b:$.displaySize,u_scale_a:B.fromScale,u_scale_b:B.toScale,u_tile_units_to_pixels:1/Dt(W,1,U.transform.tileZoom),u_pixel_coord_upper:[dt>>16,Ft>>16],u_pixel_coord_lower:[65535&dt,65535&Ft]}}(v,M,d,b),{u_matrix:T,u_opacity:l}),Wm={fillExtrusion:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_opacity:new n.aM(T,l.u_opacity)}),fillExtrusionPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_height_factor:new n.aM(T,l.u_height_factor),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade),u_opacity:new n.aM(T,l.u_opacity)}),fill:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),fillPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),fillOutline:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world)}),fillOutlinePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),circle:(T,l)=>({u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_scale_with_map:new n.aL(T,l.u_scale_with_map),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_matrix:new n.aN(T,l.u_matrix)}),collisionBox:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pixels_to_tile_units:new n.aM(T,l.u_pixels_to_tile_units),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_overscale_factor:new n.aM(T,l.u_overscale_factor)}),collisionCircle:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_inv_matrix:new n.aN(T,l.u_inv_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_viewport_size:new n.aQ(T,l.u_viewport_size)}),debug:(T,l)=>({u_color:new n.aR(T,l.u_color),u_matrix:new n.aN(T,l.u_matrix),u_overlay:new n.aL(T,l.u_overlay),u_overlay_scale:new n.aM(T,l.u_overlay_scale)}),clippingMask:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),heatmap:(T,l)=>({u_extrude_scale:new n.aM(T,l.u_extrude_scale),u_intensity:new n.aM(T,l.u_intensity),u_matrix:new n.aN(T,l.u_matrix)}),heatmapTexture:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_color_ramp:new n.aL(T,l.u_color_ramp),u_opacity:new n.aM(T,l.u_opacity)}),hillshade:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_latrange:new n.aQ(T,l.u_latrange),u_light:new n.aQ(T,l.u_light),u_shadow:new n.aR(T,l.u_shadow),u_highlight:new n.aR(T,l.u_highlight),u_accent:new n.aR(T,l.u_accent)}),hillshadePrepare:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_dimension:new n.aQ(T,l.u_dimension),u_zoom:new n.aM(T,l.u_zoom),u_unpack:new n.aO(T,l.u_unpack)}),line:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels)}),lineGradient:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_image:new n.aL(T,l.u_image),u_image_height:new n.aM(T,l.u_image_height)}),linePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texsize:new n.aQ(T,l.u_texsize),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_image:new n.aL(T,l.u_image),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),lineSDF:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_patternscale_a:new n.aQ(T,l.u_patternscale_a),u_patternscale_b:new n.aQ(T,l.u_patternscale_b),u_sdfgamma:new n.aM(T,l.u_sdfgamma),u_image:new n.aL(T,l.u_image),u_tex_y_a:new n.aM(T,l.u_tex_y_a),u_tex_y_b:new n.aM(T,l.u_tex_y_b),u_mix:new n.aM(T,l.u_mix)}),raster:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_tl_parent:new n.aQ(T,l.u_tl_parent),u_scale_parent:new n.aM(T,l.u_scale_parent),u_buffer_scale:new n.aM(T,l.u_buffer_scale),u_fade_t:new n.aM(T,l.u_fade_t),u_opacity:new n.aM(T,l.u_opacity),u_image0:new n.aL(T,l.u_image0),u_image1:new n.aL(T,l.u_image1),u_brightness_low:new n.aM(T,l.u_brightness_low),u_brightness_high:new n.aM(T,l.u_brightness_high),u_saturation_factor:new n.aM(T,l.u_saturation_factor),u_contrast_factor:new n.aM(T,l.u_contrast_factor),u_spin_weights:new n.aP(T,l.u_spin_weights)}),symbolIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture)}),symbolSDF:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),symbolTextAndIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texsize_icon:new n.aQ(T,l.u_texsize_icon),u_texture:new n.aL(T,l.u_texture),u_texture_icon:new n.aL(T,l.u_texture_icon),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),background:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_color:new n.aR(T,l.u_color)}),backgroundPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_image:new n.aL(T,l.u_image),u_pattern_tl_a:new n.aQ(T,l.u_pattern_tl_a),u_pattern_br_a:new n.aQ(T,l.u_pattern_br_a),u_pattern_tl_b:new n.aQ(T,l.u_pattern_tl_b),u_pattern_br_b:new n.aQ(T,l.u_pattern_br_b),u_texsize:new n.aQ(T,l.u_texsize),u_mix:new n.aM(T,l.u_mix),u_pattern_size_a:new n.aQ(T,l.u_pattern_size_a),u_pattern_size_b:new n.aQ(T,l.u_pattern_size_b),u_scale_a:new n.aM(T,l.u_scale_a),u_scale_b:new n.aM(T,l.u_scale_b),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_tile_units_to_pixels:new n.aM(T,l.u_tile_units_to_pixels)}),terrain:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainDepth:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainCoords:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_terrain_coords_id:new n.aM(T,l.u_terrain_coords_id),u_ele_delta:new n.aM(T,l.u_ele_delta)})};class Hm{constructor(l,d,v){this.context=l;let b=l.gl;this.buffer=b.createBuffer(),this.dynamicDraw=!!v,this.context.unbindVAO(),l.bindElementBuffer.set(this.buffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?b.DYNAMIC_DRAW:b.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(l){let d=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),d.bufferSubData(d.ELEMENT_ARRAY_BUFFER,0,l.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Wp={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class qm{constructor(l,d,v,b){this.length=d.length,this.attributes=v,this.itemSize=d.bytesPerElement,this.dynamicDraw=b,this.context=l;let M=l.gl;this.buffer=M.createBuffer(),l.bindVertexBuffer.set(this.buffer),M.bufferData(M.ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?M.DYNAMIC_DRAW:M.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(l){if(l.length!==this.length)throw new Error(`Length of new data is ${l.length}, which doesn't match current length of ${this.length}`);let d=this.context.gl;this.bind(),d.bufferSubData(d.ARRAY_BUFFER,0,l.arrayBuffer)}enableAttributes(l,d){for(let v=0;v0){let be=n.Z(),Ze=oe;n.aU(be,$t.placementInvProjMatrix,T.transform.glCoordMatrix),n.aU(be,be,$t.placementViewportMatrix),Z.push({circleArray:he,circleOffset:st,transform:Ze,invTransform:be,coord:Bt}),$+=he.length/4,st=$}pe&&W.draw(B,U.LINES,ci.disabled,Je.disabled,T.colorModeForRenderPass(),It.disabled,ft(oe,T.transform,Qt),T.style.map.terrain&&T.style.map.terrain.getTerrainData(Bt),d.id,pe.layoutVertexBuffer,pe.indexBuffer,pe.segments,null,T.transform.zoom,null,null,pe.collisionVertexBuffer)}if(!O||!Z.length)return;let At=T.useProgram(\"collisionCircle\"),pt=new n.aV;pt.resize(4*$),pt._trim();let yt=0;for(let St of Z)for(let Bt=0;Bt=0&&(pt[dt.associatedIconIndex]={shiftedAnchor:Kr,angle:Ee})}else ht(dt.numGlyphs,st)}if(W){At.clear();let yt=T.icon.placedSymbolArray;for(let dt=0;dtT.style.map.terrain.getElevation(pe,Zo,_n):null,fs=d.layout.get(\"text-rotation-alignment\")===\"map\";Te(be,pe.posMatrix,T,b,jr,ql,dt,W,fs,Fn)}let vu=T.translatePosMatrix(pe.posMatrix,he,M,O),_h=Ft||b&&$t||yu?Jm:jr,Ws=T.translatePosMatrix(ql,he,M,O,!0),Ps=Ee&&d.paint.get(b?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Eo;Eo=Ee?be.iconsInText?gf(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,ei,hs):c_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei,!0):l_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei);let yh={program:Gi,buffers:Ze,uniformValues:Eo,atlasTexture:On,atlasTextureIcon:Bn,atlasInterpolation:tn,atlasInterpolationIcon:Gs,isSDF:Ee,hasHalo:Ps};if(St&&be.canOverlap){Bt=!0;let Fn=Ze.segments.get();for(let fs of Fn)oe.push({segments:new n.S([fs]),sortKey:fs.sortKey,state:yh,terrainData:Vr})}else oe.push({segments:Ze.segments,sortKey:0,state:yh,terrainData:Vr})}Bt&&oe.sort((pe,he)=>pe.sortKey-he.sortKey);for(let pe of oe){let he=pe.state;if(st.activeTexture.set(At.TEXTURE0),he.atlasTexture.bind(he.atlasInterpolation,At.CLAMP_TO_EDGE),he.atlasTextureIcon&&(st.activeTexture.set(At.TEXTURE1),he.atlasTextureIcon&&he.atlasTextureIcon.bind(he.atlasInterpolationIcon,At.CLAMP_TO_EDGE)),he.isSDF){let be=he.uniformValues;he.hasHalo&&(be.u_is_halo=1,e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,be,pe.terrainData)),be.u_is_halo=0}e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,he.uniformValues,pe.terrainData)}}function e0(T,l,d,v,b,M,O,B,U,W){let Z=v.context;b.draw(Z,Z.gl.TRIANGLES,M,O,B,It.disabled,U,W,d.id,T.layoutVertexBuffer,T.indexBuffer,l,d.paint,v.transform.zoom,T.programConfigurations.get(d.id),T.dynamicLayoutVertexBuffer,T.opacityVertexBuffer)}function Ed(T,l,d,v,b){if(!d||!v||!v.imageAtlas)return;let M=v.imageAtlas.patternPositions,O=M[d.to.toString()],B=M[d.from.toString()];if(!O&&B&&(O=B),!B&&O&&(B=O),!O||!B){let U=b.getPaintProperty(l);O=M[U],B=M[U]}O&&B&&T.setConstantPatternPositions(O,B)}function Pd(T,l,d,v,b,M,O){let B=T.context.gl,U=\"fill-pattern\",W=d.paint.get(U),Z=W&&W.constantOr(1),$=d.getCrossfadeParameters(),st,At,pt,yt,dt;O?(At=Z&&!d.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",st=B.LINES):(At=Z?\"fillPattern\":\"fill\",st=B.TRIANGLES);let Ft=W.constantOr(null);for(let Ht of v){let St=l.getTile(Ht);if(Z&&!St.patternsLoaded())continue;let Bt=St.getBucket(d);if(!Bt)continue;let Qt=Bt.programConfigurations.get(d.id),$t=T.useProgram(At,Qt),oe=T.style.map.terrain&&T.style.map.terrain.getTerrainData(Ht);Z&&(T.context.activeTexture.set(B.TEXTURE0),St.imageAtlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE),Qt.updatePaintBuffers($)),Ed(Qt,U,Ft,St,d);let pe=oe?Ht:null,he=T.translatePosMatrix(pe?pe.posMatrix:Ht.posMatrix,St,d.paint.get(\"fill-translate\"),d.paint.get(\"fill-translate-anchor\"));if(O){yt=Bt.indexBuffer2,dt=Bt.segments2;let be=[B.drawingBufferWidth,B.drawingBufferHeight];pt=At===\"fillOutlinePattern\"&&Z?xd(he,T,$,St,be):vd(he,be)}else yt=Bt.indexBuffer,dt=Bt.segments,pt=Z?yd(he,T,$,St):_d(he);$t.draw(T.context,st,b,T.stencilModeForClipping(Ht),M,It.disabled,pt,oe,d.id,Bt.layoutVertexBuffer,yt,dt,d.paint,T.transform.zoom,Qt)}}function Id(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=\"fill-extrusion-pattern\",Z=d.paint.get(W),$=Z.constantOr(1),st=d.getCrossfadeParameters(),At=d.paint.get(\"fill-extrusion-opacity\"),pt=Z.constantOr(null);for(let yt of v){let dt=l.getTile(yt),Ft=dt.getBucket(d);if(!Ft)continue;let Ht=T.style.map.terrain&&T.style.map.terrain.getTerrainData(yt),St=Ft.programConfigurations.get(d.id),Bt=T.useProgram($?\"fillExtrusionPattern\":\"fillExtrusion\",St);$&&(T.context.activeTexture.set(U.TEXTURE0),dt.imageAtlasTexture.bind(U.LINEAR,U.CLAMP_TO_EDGE),St.updatePaintBuffers(st)),Ed(St,W,pt,dt,d);let Qt=T.translatePosMatrix(yt.posMatrix,dt,d.paint.get(\"fill-extrusion-translate\"),d.paint.get(\"fill-extrusion-translate-anchor\")),$t=d.paint.get(\"fill-extrusion-vertical-gradient\"),oe=$?Wl(Qt,T,$t,At,yt,st,dt):Gp(Qt,T,$t,At);Bt.draw(B,B.gl.TRIANGLES,b,M,O,It.backCCW,oe,Ht,d.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,d.paint,T.transform.zoom,St,T.style.map.terrain&&Ft.centroidVertexBuffer)}}function Fx(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=d.fbo;if(!W)return;let Z=T.useProgram(\"hillshade\"),$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(l);B.activeTexture.set(U.TEXTURE0),U.bindTexture(U.TEXTURE_2D,W.colorAttachment.get()),Z.draw(B,U.TRIANGLES,b,M,O,It.disabled,((st,At,pt,yt)=>{let dt=pt.paint.get(\"hillshade-shadow-color\"),Ft=pt.paint.get(\"hillshade-highlight-color\"),Ht=pt.paint.get(\"hillshade-accent-color\"),St=pt.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);pt.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(St-=st.transform.angle);let Bt=!st.options.moving;return{u_matrix:yt?yt.posMatrix:st.transform.calculatePosMatrix(At.tileID.toUnwrapped(),Bt),u_image:0,u_latrange:Qe(0,At.tileID),u_light:[pt.paint.get(\"hillshade-exaggeration\"),St],u_shadow:dt,u_highlight:Ft,u_accent:Ht}})(T,d,v,$?l:null),$,v.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments)}function r0(T,l,d,v,b,M){let O=T.context,B=O.gl,U=l.dem;if(U&&U.data){let W=U.dim,Z=U.stride,$=U.getPixels();if(O.activeTexture.set(B.TEXTURE1),O.pixelStoreUnpackPremultiplyAlpha.set(!1),l.demTexture=l.demTexture||T.getTileTexture(Z),l.demTexture){let At=l.demTexture;At.update($,{premultiply:!1}),At.bind(B.NEAREST,B.CLAMP_TO_EDGE)}else l.demTexture=new qt(O,$,B.RGBA,{premultiply:!1}),l.demTexture.bind(B.NEAREST,B.CLAMP_TO_EDGE);O.activeTexture.set(B.TEXTURE0);let st=l.fbo;if(!st){let At=new qt(O,{width:W,height:W,data:null},B.RGBA);At.bind(B.LINEAR,B.CLAMP_TO_EDGE),st=l.fbo=O.createFramebuffer(W,W,!0,!1),st.colorAttachment.set(At.texture)}O.bindFramebuffer.set(st.framebuffer),O.viewport.set([0,0,W,W]),T.useProgram(\"hillshadePrepare\").draw(O,B.TRIANGLES,v,b,M,It.disabled,((At,pt)=>{let yt=pt.stride,dt=n.Z();return n.aS(dt,0,n.N,-n.N,0,0,1),n.$(dt,dt,[0,-n.N,0]),{u_matrix:dt,u_image:1,u_dimension:[yt,yt],u_zoom:At.overscaledZ,u_unpack:pt.getUnpackVector()}})(l.tileID,U),null,d.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments),l.needsHillshadePrepare=!1}}function f_(T,l,d,v,b,M){let O=v.paint.get(\"raster-fade-duration\");if(!M&&O>0){let B=n.h.now(),U=(B-T.timeAdded)/O,W=l?(B-l.timeAdded)/O:-1,Z=d.getSource(),$=b.coveringZoomLevel({tileSize:Z.tileSize,roundZoom:Z.roundZoom}),st=!l||Math.abs(l.tileID.overscaledZ-$)>Math.abs(T.tileID.overscaledZ-$),At=st&&T.refreshedUponExpiration?1:n.ad(st?U:1-W,0,1);return T.refreshedUponExpiration&&U>=1&&(T.refreshedUponExpiration=!1),l?{opacity:1,mix:1-At}:{opacity:At,mix:0}}return{opacity:1,mix:0}}let d_=new n.aT(1,0,0,1),yf=new n.aT(0,1,0,1),Ba=new n.aT(0,0,1,1),Wn=new n.aT(1,0,1,1),p_=new n.aT(0,1,1,1);function Cd(T,l,d,v){Xp(T,0,l+d/2,T.transform.width,d,v)}function $p(T,l,d,v){Xp(T,l-d/2,0,d,T.transform.height,v)}function Xp(T,l,d,v,b,M){let O=T.context,B=O.gl;B.enable(B.SCISSOR_TEST),B.scissor(l*T.pixelRatio,d*T.pixelRatio,v*T.pixelRatio,b*T.pixelRatio),O.clear({color:M}),B.disable(B.SCISSOR_TEST)}function i0(T,l,d){let v=T.context,b=v.gl,M=d.posMatrix,O=T.useProgram(\"debug\"),B=ci.disabled,U=Je.disabled,W=T.colorModeForRenderPass(),Z=\"$debug\",$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(d);v.activeTexture.set(b.TEXTURE0);let st=l.getTileByID(d.key).latestRawTileData,At=Math.floor((st&&st.byteLength||0)/1024),pt=l.getTile(d).tileSize,yt=512/Math.min(pt,512)*(d.overscaledZ/T.transform.zoom)*.5,dt=d.canonical.toString();d.overscaledZ!==d.canonical.z&&(dt+=` => ${d.overscaledZ}`),function(Ft,Ht){Ft.initDebugOverlayCanvas();let St=Ft.debugOverlayCanvas,Bt=Ft.context.gl,Qt=Ft.debugOverlayCanvas.getContext(\"2d\");Qt.clearRect(0,0,St.width,St.height),Qt.shadowColor=\"white\",Qt.shadowBlur=2,Qt.lineWidth=1.5,Qt.strokeStyle=\"white\",Qt.textBaseline=\"top\",Qt.font=\"bold 36px Open Sans, sans-serif\",Qt.fillText(Ht,5,5),Qt.strokeText(Ht,5,5),Ft.debugOverlayTexture.update(St),Ft.debugOverlayTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE)}(T,`${dt} ${At}kB`),O.draw(v,b.TRIANGLES,B,U,Ji.alphaBlended,It.disabled,Lt(M,n.aT.transparent,yt),null,Z,T.debugBuffer,T.quadTriangleIndexBuffer,T.debugSegments),O.draw(v,b.LINE_STRIP,B,U,W,It.disabled,Lt(M,n.aT.red),$,Z,T.debugBuffer,T.tileBorderIndexBuffer,T.debugSegments)}function Cn(T,l,d){let v=T.context,b=v.gl,M=T.colorModeForRenderPass(),O=new ci(b.LEQUAL,ci.ReadWrite,T.depthRangeFor3D),B=T.useProgram(\"terrain\"),U=l.getTerrainMesh();v.bindFramebuffer.set(null),v.viewport.set([0,0,T.width,T.height]);for(let W of d){let Z=T.renderToTexture.getTexture(W),$=l.getTerrainData(W.tileID);v.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,Z.texture);let st={u_matrix:T.transform.calculatePosMatrix(W.tileID.toUnwrapped()),u_texture:0,u_ele_delta:l.getMeshFrameDelta(T.transform.zoom)};B.draw(v,b.TRIANGLES,O,Je.disabled,M,It.backCCW,st,$,\"terrain\",U.vertexBuffer,U.indexBuffer,U.segments)}}class ah{constructor(l,d){this.context=new Oc(l),this.transform=d,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:n.Z(),renderTime:0},this.setup(),this.numSublayers=ls.maxUnderzooming+ls.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Dc}resize(l,d,v){if(this.width=Math.floor(l*v),this.height=Math.floor(d*v),this.pixelRatio=v,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let b of this.style._order)this.style._layers[b].resize()}setup(){let l=this.context,d=new n.a_;d.emplaceBack(0,0),d.emplaceBack(n.N,0),d.emplaceBack(0,n.N),d.emplaceBack(n.N,n.N),this.tileExtentBuffer=l.createVertexBuffer(d,So.members),this.tileExtentSegments=n.S.simpleSegment(0,0,4,2);let v=new n.a_;v.emplaceBack(0,0),v.emplaceBack(n.N,0),v.emplaceBack(0,n.N),v.emplaceBack(n.N,n.N),this.debugBuffer=l.createVertexBuffer(v,So.members),this.debugSegments=n.S.simpleSegment(0,0,4,5);let b=new n.V;b.emplaceBack(0,0,0,0),b.emplaceBack(n.N,0,n.N,0),b.emplaceBack(0,n.N,0,n.N),b.emplaceBack(n.N,n.N,n.N,n.N),this.rasterBoundsBuffer=l.createVertexBuffer(b,Jn.members),this.rasterBoundsSegments=n.S.simpleSegment(0,0,4,2);let M=new n.a_;M.emplaceBack(0,0),M.emplaceBack(1,0),M.emplaceBack(0,1),M.emplaceBack(1,1),this.viewportBuffer=l.createVertexBuffer(M,So.members),this.viewportSegments=n.S.simpleSegment(0,0,4,2);let O=new n.a$;O.emplaceBack(0),O.emplaceBack(1),O.emplaceBack(3),O.emplaceBack(2),O.emplaceBack(0),this.tileBorderIndexBuffer=l.createIndexBuffer(O);let B=new n.b0;B.emplaceBack(0,1,2),B.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=l.createIndexBuffer(B);let U=this.context.gl;this.stencilClearMode=new Je({func:U.ALWAYS,mask:0},0,255,U.ZERO,U.ZERO,U.ZERO)}clearStencil(){let l=this.context,d=l.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let v=n.Z();n.aS(v,0,this.width,this.height,0,0,1),n.a0(v,v,[d.drawingBufferWidth,d.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(l,d.TRIANGLES,ci.disabled,this.stencilClearMode,Ji.disabled,It.disabled,Kt(v),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(l,d){if(this.currentStencilSource===l.source||!l.isTileClipped()||!d||!d.length)return;this.currentStencilSource=l.source;let v=this.context,b=v.gl;this.nextStencilID+d.length>256&&this.clearStencil(),v.setColorMode(Ji.disabled),v.setDepthMode(ci.disabled);let M=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let O of d){let B=this._tileClippingMaskIDs[O.key]=this.nextStencilID++,U=this.style.map.terrain&&this.style.map.terrain.getTerrainData(O);M.draw(v,b.TRIANGLES,ci.disabled,new Je({func:b.ALWAYS,mask:0},B,255,b.KEEP,b.KEEP,b.REPLACE),Ji.disabled,It.disabled,Kt(O.posMatrix),U,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let l=this.nextStencilID++,d=this.context.gl;return new Je({func:d.NOTEQUAL,mask:255},l,255,d.KEEP,d.KEEP,d.REPLACE)}stencilModeForClipping(l){let d=this.context.gl;return new Je({func:d.EQUAL,mask:255},this._tileClippingMaskIDs[l.key],0,d.KEEP,d.KEEP,d.REPLACE)}stencilConfigForOverlap(l){let d=this.context.gl,v=l.sort((O,B)=>B.overscaledZ-O.overscaledZ),b=v[v.length-1].overscaledZ,M=v[0].overscaledZ-b+1;if(M>1){this.currentStencilSource=void 0,this.nextStencilID+M>256&&this.clearStencil();let O={};for(let B=0;B=0;this.currentLayer--){let U=this.style._layers[v[this.currentLayer]],W=b[U.source],Z=M[U.source];this._renderTileClippingMasks(U,Z),this.renderLayer(this,W,U,Z)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerdt.source&&!dt.isHidden(Z)?[W.sourceCaches[dt.source]]:[]),At=st.filter(dt=>dt.getSource().type===\"vector\"),pt=st.filter(dt=>dt.getSource().type!==\"vector\"),yt=dt=>{(!$||$.getSource().maxzoomyt(dt)),$||pt.forEach(dt=>yt(dt)),$}(this.style,this.transform.zoom);U&&function(W,Z,$){for(let st=0;st<$.length;st++)i0(W,Z,$[st])}(this,U,U.getVisibleCoordinates())}this.options.showPadding&&function(U){let W=U.transform.padding;Cd(U,U.transform.height-(W.top||0),3,d_),Cd(U,W.bottom||0,3,yf),$p(U,W.left||0,3,Ba),$p(U,U.transform.width-(W.right||0),3,Wn);let Z=U.transform.centerPoint;(function($,st,At,pt){Xp($,st-1,At-10,2,20,pt),Xp($,st-10,At-1,20,2,pt)})(U,Z.x,U.transform.height-Z.y,p_)}(this),this.context.setDefault()}renderLayer(l,d,v,b){if(!v.isHidden(this.transform.zoom)&&(v.type===\"background\"||v.type===\"custom\"||(b||[]).length))switch(this.id=v.id,v.type){case\"symbol\":(function(M,O,B,U,W){if(M.renderPass!==\"translucent\")return;let Z=Je.disabled,$=M.colorModeForRenderPass();(B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(st,At,pt,yt,dt,Ft,Ht){let St=At.transform,Bt=dt===\"map\",Qt=Ft===\"map\";for(let $t of st){let oe=yt.getTile($t),pe=oe.getBucket(pt);if(!pe||!pe.text||!pe.text.segments.get().length)continue;let he=n.ah(pe.textSizeData,St.zoom),be=Dt(oe,1,At.transform.zoom),Ze=ve($t.posMatrix,Qt,Bt,At.transform,be),Kr=pt.layout.get(\"icon-text-fit\")!==\"none\"&&pe.hasIconData();if(he){let Ee=Math.pow(2,St.zoom-oe.tileID.overscaledZ);Qp(pe,Bt,Qt,Ht,St,Ze,$t.posMatrix,Ee,he,Kr,At.style.map.terrain?(pr,tr)=>At.style.map.terrain.getElevation($t,pr,tr):null)}}}(U,M,B,O,B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),W),B.paint.get(\"icon-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!1,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),B.layout.get(\"icon-rotation-alignment\"),B.layout.get(\"icon-pitch-alignment\"),B.layout.get(\"icon-keep-upright\"),Z,$),B.paint.get(\"text-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!0,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),B.layout.get(\"text-keep-upright\"),Z,$),O.map.showCollisionBoxes&&(Km(M,O,B,U,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),!0),Km(M,O,B,U,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),!1))})(l,d,v,b,this.style.placement.variableOffsets);break;case\"circle\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"circle-opacity\"),Z=B.paint.get(\"circle-stroke-width\"),$=B.paint.get(\"circle-stroke-opacity\"),st=!B.layout.get(\"circle-sort-key\").isConstant();if(W.constantOr(1)===0&&(Z.constantOr(1)===0||$.constantOr(1)===0))return;let At=M.context,pt=At.gl,yt=M.depthModeForSublayer(0,ci.ReadOnly),dt=Je.disabled,Ft=M.colorModeForRenderPass(),Ht=[];for(let St=0;StSt.sortKey-Bt.sortKey);for(let St of Ht){let{programConfiguration:Bt,program:Qt,layoutVertexBuffer:$t,indexBuffer:oe,uniformValues:pe,terrainData:he}=St.state;Qt.draw(At,pt.TRIANGLES,yt,dt,Ft,It.disabled,pe,he,B.id,$t,oe,St.segments,B.paint,M.transform.zoom,Bt)}})(l,d,v,b);break;case\"heatmap\":(function(M,O,B,U){if(B.paint.get(\"heatmap-opacity\")!==0)if(M.renderPass===\"offscreen\"){let W=M.context,Z=W.gl,$=Je.disabled,st=new Ji([Z.ONE,Z.ONE],n.aT.transparent,[!0,!0,!0,!0]);(function(At,pt,yt){let dt=At.gl;At.activeTexture.set(dt.TEXTURE1),At.viewport.set([0,0,pt.width/4,pt.height/4]);let Ft=yt.heatmapFbo;if(Ft)dt.bindTexture(dt.TEXTURE_2D,Ft.colorAttachment.get()),At.bindFramebuffer.set(Ft.framebuffer);else{let Ht=dt.createTexture();dt.bindTexture(dt.TEXTURE_2D,Ht),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_S,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_T,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MIN_FILTER,dt.LINEAR),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MAG_FILTER,dt.LINEAR),Ft=yt.heatmapFbo=At.createFramebuffer(pt.width/4,pt.height/4,!1,!1),function(St,Bt,Qt,$t){var oe,pe;let he=St.gl,be=(oe=St.HALF_FLOAT)!==null&&oe!==void 0?oe:he.UNSIGNED_BYTE,Ze=(pe=St.RGBA16F)!==null&&pe!==void 0?pe:he.RGBA;he.texImage2D(he.TEXTURE_2D,0,Ze,Bt.width/4,Bt.height/4,0,he.RGBA,be,null),$t.colorAttachment.set(Qt)}(At,pt,Ht,Ft)}})(W,M,B),W.clear({color:n.aT.transparent});for(let At=0;At{let St=n.Z();n.aS(St,0,yt.width,yt.height,0,0,1);let Bt=yt.context.gl;return{u_matrix:St,u_world:[Bt.drawingBufferWidth,Bt.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:dt.paint.get(\"heatmap-opacity\")}})(W,Z),null,Z.id,W.viewportBuffer,W.quadTriangleIndexBuffer,W.viewportSegments,Z.paint,W.transform.zoom)}(M,B))})(l,d,v,b);break;case\"line\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"line-opacity\"),Z=B.paint.get(\"line-width\");if(W.constantOr(1)===0||Z.constantOr(1)===0)return;let $=M.depthModeForSublayer(0,ci.ReadOnly),st=M.colorModeForRenderPass(),At=B.paint.get(\"line-dasharray\"),pt=B.paint.get(\"line-pattern\"),yt=pt.constantOr(1),dt=B.paint.get(\"line-gradient\"),Ft=B.getCrossfadeParameters(),Ht=yt?\"linePattern\":At?\"lineSDF\":dt?\"lineGradient\":\"line\",St=M.context,Bt=St.gl,Qt=!0;for(let $t of U){let oe=O.getTile($t);if(yt&&!oe.patternsLoaded())continue;let pe=oe.getBucket(B);if(!pe)continue;let he=pe.programConfigurations.get(B.id),be=M.context.program.get(),Ze=M.useProgram(Ht,he),Kr=Qt||Ze.program!==be,Ee=M.style.map.terrain&&M.style.map.terrain.getTerrainData($t),pr=pt.constantOr(null);if(pr&&oe.imageAtlas){let Jr=oe.imageAtlas,Vr=Jr.patternPositions[pr.to.toString()],ei=Jr.patternPositions[pr.from.toString()];Vr&&ei&&he.setConstantPatternPositions(Vr,ei)}let tr=Ee?$t:null,Gi=yt?Ts(M,oe,B,Ft,tr):At?Vs(M,oe,B,At,Ft,tr):dt?is(M,oe,B,pe.lineClipsArray.length,tr):ti(M,oe,B,tr);if(yt)St.activeTexture.set(Bt.TEXTURE0),oe.imageAtlasTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE),he.updatePaintBuffers(Ft);else if(At&&(Kr||M.lineAtlas.dirty))St.activeTexture.set(Bt.TEXTURE0),M.lineAtlas.bind(St);else if(dt){let Jr=pe.gradients[B.id],Vr=Jr.texture;if(B.gradientVersion!==Jr.version){let ei=256;if(B.stepInterpolant){let On=O.getSource().maxzoom,tn=$t.canonical.z===On?Math.ceil(1<0?d.pop():null}isPatternMissing(l){if(!l)return!1;if(!l.from||!l.to)return!0;let d=this.imageManager.getPattern(l.from.toString()),v=this.imageManager.getPattern(l.to.toString());return!d||!v}useProgram(l,d){this.cache=this.cache||{};let v=l+(d?d.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[v]||(this.cache[v]=new pu(this.context,Ki[l],d,Wm[l],this._showOverdrawInspector,this.style.map.terrain)),this.cache[v]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let l=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(l.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new qt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:l,drawingBufferHeight:d}=this.context.gl;return this.width!==l||this.height!==d}}class fi{constructor(l,d){this.points=l,this.planes=d}static fromInvProjectionMatrix(l,d,v){let b=Math.pow(2,v),M=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(B=>{let U=1/(B=n.ag([],B,l))[3]/d*b;return n.b3(B,B,[U,U,1/B[3],U])}),O=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(B=>{let U=function(st,At){var pt=At[0],yt=At[1],dt=At[2],Ft=pt*pt+yt*yt+dt*dt;return Ft>0&&(Ft=1/Math.sqrt(Ft)),st[0]=At[0]*Ft,st[1]=At[1]*Ft,st[2]=At[2]*Ft,st}([],function(st,At,pt){var yt=At[0],dt=At[1],Ft=At[2],Ht=pt[0],St=pt[1],Bt=pt[2];return st[0]=dt*Bt-Ft*St,st[1]=Ft*Ht-yt*Bt,st[2]=yt*St-dt*Ht,st}([],ut([],M[B[0]],M[B[1]]),ut([],M[B[2]],M[B[1]]))),W=-((Z=U)[0]*($=M[B[1]])[0]+Z[1]*$[1]+Z[2]*$[2]);var Z,$;return U.concat(W)});return new fi(M,O)}}class mu{constructor(l,d){this.min=l,this.max=d,this.center=function(v,b,M){return v[0]=.5*b[0],v[1]=.5*b[1],v[2]=.5*b[2],v}([],function(v,b,M){return v[0]=b[0]+M[0],v[1]=b[1]+M[1],v[2]=b[2]+M[2],v}([],this.min,this.max))}quadrant(l){let d=[l%2==0,l<2],v=K(this.min),b=K(this.max);for(let M=0;M=0&&O++;if(O===0)return 0;O!==d.length&&(v=!1)}if(v)return 2;for(let b=0;b<3;b++){let M=Number.MAX_VALUE,O=-Number.MAX_VALUE;for(let B=0;Bthis.max[b]-this.min[b])return 0}return 1}}class vf{constructor(l=0,d=0,v=0,b=0){if(isNaN(l)||l<0||isNaN(d)||d<0||isNaN(v)||v<0||isNaN(b)||b<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=l,this.bottom=d,this.left=v,this.right=b}interpolate(l,d,v){return d.top!=null&&l.top!=null&&(this.top=n.B.number(l.top,d.top,v)),d.bottom!=null&&l.bottom!=null&&(this.bottom=n.B.number(l.bottom,d.bottom,v)),d.left!=null&&l.left!=null&&(this.left=n.B.number(l.left,d.left,v)),d.right!=null&&l.right!=null&&(this.right=n.B.number(l.right,d.right,v)),this}getCenter(l,d){let v=n.ad((this.left+l-this.right)/2,0,l),b=n.ad((this.top+d-this.bottom)/2,0,d);return new n.P(v,b)}equals(l){return this.top===l.top&&this.bottom===l.bottom&&this.left===l.left&&this.right===l.right}clone(){return new vf(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class Kp{constructor(l,d,v,b,M){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=M===void 0||!!M,this._minZoom=l||0,this._maxZoom=d||22,this._minPitch=v??0,this._maxPitch=b??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new n.L(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new vf,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){let l=new Kp(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return l.apply(this),l}apply(l){this.tileSize=l.tileSize,this.latRange=l.latRange,this.width=l.width,this.height=l.height,this._center=l._center,this._elevation=l._elevation,this._minEleveationForCurrentTile=l._minEleveationForCurrentTile,this.zoom=l.zoom,this.angle=l.angle,this._fov=l._fov,this._pitch=l._pitch,this._unmodified=l._unmodified,this._edgeInsets=l._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(l){this._minZoom!==l&&(this._minZoom=l,this.zoom=Math.max(this.zoom,l))}get maxZoom(){return this._maxZoom}set maxZoom(l){this._maxZoom!==l&&(this._maxZoom=l,this.zoom=Math.min(this.zoom,l))}get minPitch(){return this._minPitch}set minPitch(l){this._minPitch!==l&&(this._minPitch=l,this.pitch=Math.max(this.pitch,l))}get maxPitch(){return this._maxPitch}set maxPitch(l){this._maxPitch!==l&&(this._maxPitch=l,this.pitch=Math.min(this.pitch,l))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(l){l===void 0?l=!0:l===null&&(l=!1),this._renderWorldCopies=l}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new n.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(l){let d=-n.b5(l,-180,180)*Math.PI/180;this.angle!==d&&(this._unmodified=!1,this.angle=d,this._calcMatrices(),this.rotationMatrix=function(){var v=new n.A(4);return n.A!=Float32Array&&(v[1]=0,v[2]=0),v[0]=1,v[3]=1,v}(),function(v,b,M){var O=b[0],B=b[1],U=b[2],W=b[3],Z=Math.sin(M),$=Math.cos(M);v[0]=O*$+U*Z,v[1]=B*$+W*Z,v[2]=O*-Z+U*$,v[3]=B*-Z+W*$}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(l){let d=n.ad(l,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==d&&(this._unmodified=!1,this._pitch=d,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(l){l=Math.max(.01,Math.min(60,l)),this._fov!==l&&(this._unmodified=!1,this._fov=l/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(l){let d=Math.min(Math.max(l,this.minZoom),this.maxZoom);this._zoom!==d&&(this._unmodified=!1,this._zoom=d,this.tileZoom=Math.max(0,Math.floor(d)),this.scale=this.zoomScale(d),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(l){l.lat===this._center.lat&&l.lng===this._center.lng||(this._unmodified=!1,this._center=l,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(l){l!==this._elevation&&(this._elevation=l,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(l){this._edgeInsets.equals(l)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,l,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(l){return this._edgeInsets.equals(l)}interpolatePadding(l,d,v){this._unmodified=!1,this._edgeInsets.interpolate(l,d,v),this._constrain(),this._calcMatrices()}coveringZoomLevel(l){let d=(l.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/l.tileSize));return Math.max(0,d)}getVisibleUnwrappedCoordinates(l){let d=[new n.b6(0,l)];if(this._renderWorldCopies){let v=this.pointCoordinate(new n.P(0,0)),b=this.pointCoordinate(new n.P(this.width,0)),M=this.pointCoordinate(new n.P(this.width,this.height)),O=this.pointCoordinate(new n.P(0,this.height)),B=Math.floor(Math.min(v.x,b.x,M.x,O.x)),U=Math.floor(Math.max(v.x,b.x,M.x,O.x)),W=1;for(let Z=B-W;Z<=U+W;Z++)Z!==0&&d.push(new n.b6(Z,l))}return d}coveringTiles(l){var d,v;let b=this.coveringZoomLevel(l),M=b;if(l.minzoom!==void 0&&bl.maxzoom&&(b=l.maxzoom);let O=this.pointCoordinate(this.getCameraPoint()),B=n.U.fromLngLat(this.center),U=Math.pow(2,b),W=[U*O.x,U*O.y,0],Z=[U*B.x,U*B.y,0],$=fi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,b),st=l.minzoom||0;!l.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(st=b);let At=l.terrain?2/Math.min(this.tileSize,l.tileSize)*this.tileSize:3,pt=St=>({aabb:new mu([St*U,0,0],[(St+1)*U,U,0]),zoom:0,x:0,y:0,wrap:St,fullyVisible:!1}),yt=[],dt=[],Ft=b,Ht=l.reparseOverscaled?M:b;if(this._renderWorldCopies)for(let St=1;St<=3;St++)yt.push(pt(-St)),yt.push(pt(St));for(yt.push(pt(0));yt.length>0;){let St=yt.pop(),Bt=St.x,Qt=St.y,$t=St.fullyVisible;if(!$t){let Ze=St.aabb.intersects($);if(Ze===0)continue;$t=Ze===2}let oe=l.terrain?W:Z,pe=St.aabb.distanceX(oe),he=St.aabb.distanceY(oe),be=Math.max(Math.abs(pe),Math.abs(he));if(St.zoom===Ft||be>At+(1<=st){let Ze=Ft-St.zoom,Kr=W[0]-.5-(Bt<>1),pr=St.zoom+1,tr=St.aabb.quadrant(Ze);if(l.terrain){let Gi=new n.O(pr,St.wrap,pr,Kr,Ee),Jr=l.terrain.getMinMaxElevation(Gi),Vr=(d=Jr.minElevation)!==null&&d!==void 0?d:this.elevation,ei=(v=Jr.maxElevation)!==null&&v!==void 0?v:this.elevation;tr=new mu([tr.min[0],tr.min[1],Vr],[tr.max[0],tr.max[1],ei])}yt.push({aabb:tr,zoom:pr,x:Kr,y:Ee,wrap:St.wrap,fullyVisible:$t})}}return dt.sort((St,Bt)=>St.distanceSq-Bt.distanceSq).map(St=>St.tileID)}resize(l,d){this.width=l,this.height=d,this.pixelsToGLUnits=[2/l,-2/d],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(l){return Math.pow(2,l)}scaleZoom(l){return Math.log(l)/Math.LN2}project(l){let d=n.ad(l.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.P(n.G(l.lng)*this.worldSize,n.H(d)*this.worldSize)}unproject(l){return new n.U(l.x/this.worldSize,l.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(l){let d=this.pointLocation(this.centerPoint,l),v=l.getElevationForLngLatZoom(d,this.tileZoom);if(!(this.elevation-v))return;let b=this.getCameraPosition(),M=n.U.fromLngLat(b.lngLat,b.altitude),O=n.U.fromLngLat(d,v),B=M.x-O.x,U=M.y-O.y,W=M.z-O.z,Z=Math.sqrt(B*B+U*U+W*W),$=this.scaleZoom(this.cameraToCenterDistance/Z/this.tileSize);this._elevation=v,this._center=d,this.zoom=$}setLocationAtPoint(l,d){let v=this.pointCoordinate(d),b=this.pointCoordinate(this.centerPoint),M=this.locationCoordinate(l),O=new n.U(M.x-(v.x-b.x),M.y-(v.y-b.y));this.center=this.coordinateLocation(O),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(l,d){return d?this.coordinatePoint(this.locationCoordinate(l),d.getElevationForLngLatZoom(l,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(l))}pointLocation(l,d){return this.coordinateLocation(this.pointCoordinate(l,d))}locationCoordinate(l){return n.U.fromLngLat(l)}coordinateLocation(l){return l&&l.toLngLat()}pointCoordinate(l,d){if(d){let st=d.pointCoordinate(l);if(st!=null)return st}let v=[l.x,l.y,0,1],b=[l.x,l.y,1,1];n.ag(v,v,this.pixelMatrixInverse),n.ag(b,b,this.pixelMatrixInverse);let M=v[3],O=b[3],B=v[1]/M,U=b[1]/O,W=v[2]/M,Z=b[2]/O,$=W===Z?0:(0-W)/(Z-W);return new n.U(n.B.number(v[0]/M,b[0]/O,$)/this.worldSize,n.B.number(B,U,$)/this.worldSize)}coordinatePoint(l,d=0,v=this.pixelMatrix){let b=[l.x*this.worldSize,l.y*this.worldSize,d,1];return n.ag(b,b,v),new n.P(b[0]/b[3],b[1]/b[3])}getBounds(){let l=Math.max(0,this.height/2-this.getHorizon());return new Si().extend(this.pointLocation(new n.P(0,l))).extend(this.pointLocation(new n.P(this.width,l))).extend(this.pointLocation(new n.P(this.width,this.height))).extend(this.pointLocation(new n.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new Si([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(l){l?(this.lngRange=[l.getWest(),l.getEast()],this.latRange=[l.getSouth(),l.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(l,d=!1){let v=l.key,b=d?this._alignedPosMatrixCache:this._posMatrixCache;if(b[v])return b[v];let M=l.canonical,O=this.worldSize/this.zoomScale(M.z),B=M.x+Math.pow(2,M.z)*l.wrap,U=n.ao(new Float64Array(16));return n.$(U,U,[B*O,M.y*O,0]),n.a0(U,U,[O/n.N,O/n.N,1]),n.a1(U,d?this.alignedProjMatrix:this.projMatrix,U),b[v]=new Float32Array(U),b[v]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let l,d,v,b,M=-90,O=90,B=-180,U=180,W=this.size,Z=this._unmodified;if(this.latRange){let At=this.latRange;M=n.H(At[1])*this.worldSize,O=n.H(At[0])*this.worldSize,l=O-MO&&(b=O-pt)}if(this.lngRange){let At=(B+U)/2,pt=n.b5($.x,At-this.worldSize/2,At+this.worldSize/2),yt=W.x/2;pt-ytU&&(v=U-yt)}v===void 0&&b===void 0||(this.center=this.unproject(new n.P(v!==void 0?v:$.x,b!==void 0?b:$.y)).wrap()),this._unmodified=Z,this._constraining=!1}_calcMatrices(){if(!this.height)return;let l=this.centerOffset,d=this.point.x,v=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=n.b7(1,this.center.lat)*this.worldSize;let b=n.ao(new Float64Array(16));n.a0(b,b,[this.width/2,-this.height/2,1]),n.$(b,b,[1,-1,0]),this.labelPlaneMatrix=b,b=n.ao(new Float64Array(16)),n.a0(b,b,[1,-1,1]),n.$(b,b,[-1,-1,0]),n.a0(b,b,[2/this.width,2/this.height,1]),this.glCoordMatrix=b;let M=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),O=Math.min(this.elevation,this._minEleveationForCurrentTile),B=M-O*this._pixelPerMeter/Math.cos(this._pitch),U=O<0?B:M,W=Math.PI/2+this._pitch,Z=this._fov*(.5+l.y/this.height),$=Math.sin(Z)*U/Math.sin(n.ad(Math.PI-W-Z,.01,Math.PI-.01)),st=this.getHorizon(),At=2*Math.atan(st/this.cameraToCenterDistance)*(.5+l.y/(2*st)),pt=Math.sin(At)*U/Math.sin(n.ad(Math.PI-W-At,.01,Math.PI-.01)),yt=Math.min($,pt),dt=1.01*(Math.cos(Math.PI/2-this._pitch)*yt+U),Ft=this.height/50;b=new Float64Array(16),n.b8(b,this._fov,this.width/this.height,Ft,dt),b[8]=2*-l.x/this.width,b[9]=2*l.y/this.height,n.a0(b,b,[1,-1,1]),n.$(b,b,[0,0,-this.cameraToCenterDistance]),n.b9(b,b,this._pitch),n.ae(b,b,this.angle),n.$(b,b,[-d,-v,0]),this.mercatorMatrix=n.a0([],b,[this.worldSize,this.worldSize,this.worldSize]),n.a0(b,b,[1,1,this._pixelPerMeter]),this.pixelMatrix=n.a1(new Float64Array(16),this.labelPlaneMatrix,b),n.$(b,b,[0,0,-this.elevation]),this.projMatrix=b,this.invProjMatrix=n.as([],b),this.pixelMatrix3D=n.a1(new Float64Array(16),this.labelPlaneMatrix,b);let Ht=this.width%2/2,St=this.height%2/2,Bt=Math.cos(this.angle),Qt=Math.sin(this.angle),$t=d-Math.round(d)+Bt*Ht+Qt*St,oe=v-Math.round(v)+Bt*St+Qt*Ht,pe=new Float64Array(b);if(n.$(pe,pe,[$t>.5?$t-1:$t,oe>.5?oe-1:oe,0]),this.alignedProjMatrix=pe,b=n.as(new Float64Array(16),this.pixelMatrix),!b)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=b,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let l=this.pointCoordinate(new n.P(0,0)),d=[l.x*this.worldSize,l.y*this.worldSize,0,1];return n.ag(d,d,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let l=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.P(0,l))}getCameraQueryGeometry(l){let d=this.getCameraPoint();if(l.length===1)return[l[0],d];{let v=d.x,b=d.y,M=d.x,O=d.y;for(let B of l)v=Math.min(v,B.x),b=Math.min(b,B.y),M=Math.max(M,B.x),O=Math.max(O,B.y);return[new n.P(v,b),new n.P(M,b),new n.P(M,O),new n.P(v,O),new n.P(v,b)]}}}function lh(T,l){let d,v=!1,b=null,M=null,O=()=>{b=null,v&&(T.apply(M,d),b=setTimeout(O,l),v=!1)};return(...B)=>(v=!0,M=this,d=B,b||O(),b)}class Ld{constructor(l){this._getCurrentHash=()=>{let d=window.location.hash.replace(\"#\",\"\");if(this._hashName){let v;return d.split(\"&\").map(b=>b.split(\"=\")).forEach(b=>{b[0]===this._hashName&&(v=b)}),(v&&v[1]||\"\").split(\"/\")}return d.split(\"/\")},this._onHashChange=()=>{let d=this._getCurrentHash();if(d.length>=3&&!d.some(v=>isNaN(v))){let v=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(d[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+d[2],+d[1]],zoom:+d[0],bearing:v,pitch:+(d[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let d=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,d)}catch{}},this._updateHash=lh(this._updateHashUnthrottled,300),this._hashName=l&&encodeURIComponent(l)}addTo(l){return this._map=l,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(l){let d=this._map.getCenter(),v=Math.round(100*this._map.getZoom())/100,b=Math.ceil((v*Math.LN2+Math.log(512/360/.5))/Math.LN10),M=Math.pow(10,b),O=Math.round(d.lng*M)/M,B=Math.round(d.lat*M)/M,U=this._map.getBearing(),W=this._map.getPitch(),Z=\"\";if(Z+=l?`/${O}/${B}/${v}`:`${v}/${B}/${O}`,(U||W)&&(Z+=\"/\"+Math.round(10*U)/10),W&&(Z+=`/${Math.round(W)}`),this._hashName){let $=this._hashName,st=!1,At=window.location.hash.slice(1).split(\"&\").map(pt=>{let yt=pt.split(\"=\")[0];return yt===$?(st=!0,`${yt}=${Z}`):pt}).filter(pt=>pt);return st||At.push(`${$}=${Z}`),`#${At.join(\"&\")}`}return`#${Z}`}}let ch={linearity:.3,easing:n.ba(0,0,.3,1)},Jp=n.e({deceleration:2500,maxSpeed:1400},ch),tA=n.e({deceleration:20,maxSpeed:1400},ch),A_=n.e({deceleration:1e3,maxSpeed:360},ch),m_=n.e({deceleration:1e3,maxSpeed:90},ch);class n0{constructor(l){this._map=l,this.clear()}clear(){this._inertiaBuffer=[]}record(l){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.h.now(),settings:l})}_drainInertiaBuffer(){let l=this._inertiaBuffer,d=n.h.now();for(;l.length>0&&d-l[0].time>160;)l.shift()}_onMoveEnd(l){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let d={zoom:0,bearing:0,pitch:0,pan:new n.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:M}of this._inertiaBuffer)d.zoom+=M.zoomDelta||0,d.bearing+=M.bearingDelta||0,d.pitch+=M.pitchDelta||0,M.panDelta&&d.pan._add(M.panDelta),M.around&&(d.around=M.around),M.pinchAround&&(d.pinchAround=M.pinchAround);let v=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,b={};if(d.pan.mag()){let M=uh(d.pan.mag(),v,n.e({},Jp,l||{}));b.offset=d.pan.mult(M.amount/d.pan.mag()),b.center=this._map.transform.center,pl(b,M)}if(d.zoom){let M=uh(d.zoom,v,tA);b.zoom=this._map.transform.zoom+M.amount,pl(b,M)}if(d.bearing){let M=uh(d.bearing,v,A_);b.bearing=this._map.transform.bearing+n.ad(M.amount,-179,179),pl(b,M)}if(d.pitch){let M=uh(d.pitch,v,m_);b.pitch=this._map.transform.pitch+M.amount,pl(b,M)}if(b.zoom||b.bearing){let M=d.pinchAround===void 0?d.around:d.pinchAround;b.around=M?this._map.unproject(M):this._map.getCenter()}return this.clear(),n.e(b,{noMoveStart:!0})}}function pl(T,l){(!T.duration||T.durationd.unproject(U)),B=M.reduce((U,W,Z,$)=>U.add(W.div($.length)),new n.P(0,0));super(l,{points:M,point:B,lngLats:O,lngLat:d.unproject(B),originalEvent:v}),this._defaultPrevented=!1}}class g_ extends n.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(l,d,v){super(l,{originalEvent:v}),this._defaultPrevented=!1}}class js{constructor(l,d){this._map=l,this._clickTolerance=d.clickTolerance}reset(){delete this._mousedownPos}wheel(l){return this._firePreventable(new g_(l.type,this._map,l))}mousedown(l,d){return this._mousedownPos=d,this._firePreventable(new la(l.type,this._map,l))}mouseup(l){this._map.fire(new la(l.type,this._map,l))}click(l,d){this._mousedownPos&&this._mousedownPos.dist(d)>=this._clickTolerance||this._map.fire(new la(l.type,this._map,l))}dblclick(l){return this._firePreventable(new la(l.type,this._map,l))}mouseover(l){this._map.fire(new la(l.type,this._map,l))}mouseout(l){this._map.fire(new la(l.type,this._map,l))}touchstart(l){return this._firePreventable(new kd(l.type,this._map,l))}touchmove(l){this._map.fire(new kd(l.type,this._map,l))}touchend(l){this._map.fire(new kd(l.type,this._map,l))}touchcancel(l){this._map.fire(new kd(l.type,this._map,l))}_firePreventable(l){if(this._map.fire(l),l.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gu{constructor(l){this._map=l}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(l){this._map.fire(new la(l.type,this._map,l))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new la(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(l){this._delayContextMenu?this._contextMenuEvent=l:this._ignoreContextMenu||this._map.fire(new la(l.type,this._map,l)),this._map.listens(\"contextmenu\")&&l.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Ln{constructor(l){this._map=l}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(l){return this.transform.pointLocation(n.P.convert(l),this._map.terrain)}}class eA{constructor(l,d){this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._container=l.getContainer(),this._clickTolerance=d.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(l,d){this.isEnabled()&&l.shiftKey&&l.button===0&&(c.disableDrag(),this._startPos=this._lastPos=d,this._active=!0)}mousemoveWindow(l,d){if(!this._active)return;let v=d;if(this._lastPos.equals(v)||!this._box&&v.dist(this._startPos)M.fitScreenCoordinates(v,b,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",l)}keydown(l){this._active&&l.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",l))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(l,d){return this._map.fire(new n.k(l,{originalEvent:d}))}}function ca(T,l){if(T.length!==l.length)throw new Error(`The number of touches and points are not equal - touches ${T.length}, points ${l.length}`);let d={};for(let v=0;vthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=l.timeStamp),v.length===this.numTouches&&(this.centroid=function(b){let M=new n.P(0,0);for(let O of b)M._add(O);return M.div(b.length)}(d),this.touches=ca(v,d)))}touchmove(l,d,v){if(this.aborted||!this.centroid)return;let b=ca(v,d);for(let M in this.touches){let O=b[M];(!O||O.dist(this.touches[M])>30)&&(this.aborted=!0)}}touchend(l,d,v){if((!this.centroid||l.timeStamp-this.startTime>500)&&(this.aborted=!0),v.length===0){let b=!this.aborted&&this.centroid;if(this.reset(),b)return b}}}class Rd{constructor(l){this.singleTap=new Fa(l),this.numTaps=l.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(l,d,v){this.singleTap.touchstart(l,d,v)}touchmove(l,d,v){this.singleTap.touchmove(l,d,v)}touchend(l,d,v){let b=this.singleTap.touchend(l,d,v);if(b){let M=l.timeStamp-this.lastTime<500,O=!this.lastTap||this.lastTap.dist(b)<30;if(M&&O||this.reset(),this.count++,this.lastTime=l.timeStamp,this.lastTap=b,this.count===this.numTaps)return this.reset(),b}}}class Al{constructor(l){this._tr=new Ln(l),this._zoomIn=new Rd({numTouches:1,numTaps:2}),this._zoomOut=new Rd({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(l,d,v){this._zoomIn.touchstart(l,d,v),this._zoomOut.touchstart(l,d,v)}touchmove(l,d,v){this._zoomIn.touchmove(l,d,v),this._zoomOut.touchmove(l,d,v)}touchend(l,d,v){let b=this._zoomIn.touchend(l,d,v),M=this._zoomOut.touchend(l,d,v),O=this._tr;return b?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom+1,around:O.unproject(b)},{originalEvent:l})}):M?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom-1,around:O.unproject(M)},{originalEvent:l})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class za{constructor(l){this._enabled=!!l.enable,this._moveStateManager=l.moveStateManager,this._clickTolerance=l.clickTolerance||1,this._moveFunction=l.move,this._activateOnStart=!!l.activateOnStart,l.assignEvents(this),this.reset()}reset(l){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(l)}_move(...l){let d=this._moveFunction(...l);if(d.bearingDelta||d.pitchDelta||d.around||d.panDelta)return this._active=!0,d}dragStart(l,d){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(l)&&(this._moveStateManager.startMove(l),this._lastPoint=d.length?d[0]:d,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(l,d){if(!this.isEnabled())return;let v=this._lastPoint;if(!v)return;if(l.preventDefault(),!this._moveStateManager.isValidMoveEvent(l))return void this.reset(l);let b=d.length?d[0]:d;return!this._moved&&b.dist(v){T.mousedown=T.dragStart,T.mousemoveWindow=T.dragMove,T.mouseup=T.dragEnd,T.contextmenu=function(l){l.preventDefault()}},Na=({enable:T,clickTolerance:l,bearingDegreesPerPixelMoved:d=.8})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({bearingDelta:(M.x-b.x)*d}),moveStateManager:v,enable:T,assignEvents:fh})},co=({enable:T,clickTolerance:l,pitchDegreesPerPixelMoved:d=-.5})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({pitchDelta:(M.y-b.y)*d}),moveStateManager:v,enable:T,assignEvents:fh})};class Ge{constructor(l,d){this._minTouches=l.cooperativeGestures?2:1,this._clickTolerance=l.clickTolerance||1,this._map=d,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new n.P(0,0),setTimeout(()=>{this._cancelCooperativeMessage=!1},200)}touchstart(l,d,v){return this._calculateTransform(l,d,v)}touchmove(l,d,v){if(this._map._cooperativeGestures&&(this._minTouches===2&&v.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(l,!1,v.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(v.length0&&(this._active=!0);let b=ca(v,d),M=new n.P(0,0),O=new n.P(0,0),B=0;for(let W in b){let Z=b[W],$=this._touches[W];$&&(M._add(Z),O._add(Z.sub($)),B++,b[W]=Z)}if(this._touches=b,BMath.abs(T.x)}class zx extends Dd{constructor(l){super(),this._map=l}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(l,d,v){super.touchstart(l,d,v),this._currentTouchCount=v.length}_start(l){this._lastPoints=l,a0(l[0].sub(l[1]))&&(this._valid=!1)}_move(l,d,v){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;let b=l[0].sub(this._lastPoints[0]),M=l[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(b,M,v.timeStamp),this._valid?(this._lastPoints=l,this._active=!0,{pitchDelta:(b.y+M.y)/2*-.5}):void 0}gestureBeginsVertically(l,d,v){if(this._valid!==void 0)return this._valid;let b=l.mag()>=2,M=d.mag()>=2;if(!b&&!M)return;if(!b||!M)return this._firstMove===void 0&&(this._firstMove=v),v-this._firstMove<100&&void 0;let O=l.y>0==d.y>0;return a0(l)&&a0(d)&&O}}let dh={panStep:100,bearingStep:15,pitchStep:10};class y_{constructor(l){this._tr=new Ln(l);let d=dh;this._panStep=d.panStep,this._bearingStep=d.bearingStep,this._pitchStep=d.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(l){if(l.altKey||l.ctrlKey||l.metaKey)return;let d=0,v=0,b=0,M=0,O=0;switch(l.keyCode){case 61:case 107:case 171:case 187:d=1;break;case 189:case 109:case 173:d=-1;break;case 37:l.shiftKey?v=-1:(l.preventDefault(),M=-1);break;case 39:l.shiftKey?v=1:(l.preventDefault(),M=1);break;case 38:l.shiftKey?b=1:(l.preventDefault(),O=-1);break;case 40:l.shiftKey?b=-1:(l.preventDefault(),O=1);break;default:return}return this._rotationDisabled&&(v=0,b=0),{cameraAnimation:B=>{let U=this._tr;B.easeTo({duration:300,easeId:\"keyboardHandler\",easing:l0,zoom:d?Math.round(U.zoom)+d*(l.shiftKey?2:1):U.zoom,bearing:U.bearing+v*this._bearingStep,pitch:U.pitch+b*this._pitchStep,offset:[-M*this._panStep,-O*this._panStep],center:U.center},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function l0(T){return T*(2-T)}let c0=4.000244140625;class bf{constructor(l,d){this._onTimeout=v=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(v)},this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._triggerRenderFrame=d,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(l){this._defaultZoomRate=l}setWheelZoomRate(l){this._wheelZoomRate=l}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(l){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!l&&l.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(l){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!l[this._map._metaKey])return;l.preventDefault()}let d=l.deltaMode===WheelEvent.DOM_DELTA_LINE?40*l.deltaY:l.deltaY,v=n.h.now(),b=v-(this._lastWheelEventTime||0);this._lastWheelEventTime=v,d!==0&&d%c0==0?this._type=\"wheel\":d!==0&&Math.abs(d)<4?this._type=\"trackpad\":b>400?(this._type=null,this._lastValue=d,this._timeout=setTimeout(this._onTimeout,40,l)):this._type||(this._type=Math.abs(b*d)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,d+=this._lastValue)),l.shiftKey&&d&&(d/=4),this._type&&(this._lastWheelEvent=l,this._delta-=d,this._active||this._start(l)),l.preventDefault()}_start(l){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let d=c.mousePos(this._el,l),v=this._tr;this._around=n.L.convert(this._aroundCenter?v.center:v.unproject(d)),this._aroundPoint=v.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let l=this._tr.transform;if(this._delta!==0){let B=this._type===\"wheel\"&&Math.abs(this._delta)>c0?this._wheelZoomRate:this._defaultZoomRate,U=2/(1+Math.exp(-Math.abs(this._delta*B)));this._delta<0&&U!==0&&(U=1/U);let W=typeof this._targetZoom==\"number\"?l.zoomScale(this._targetZoom):l.scale;this._targetZoom=Math.min(l.maxZoom,Math.max(l.minZoom,l.scaleZoom(W*U))),this._type===\"wheel\"&&(this._startZoom=l.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let d=typeof this._targetZoom==\"number\"?this._targetZoom:l.zoom,v=this._startZoom,b=this._easing,M,O=!1;if(this._type===\"wheel\"&&v&&b){let B=Math.min((n.h.now()-this._lastWheelEventTime)/200,1),U=b(B);M=n.B.number(v,d,U),B<1?this._frameId||(this._frameId=!0):O=!0}else M=d,O=!0;return this._active=!0,O&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!O,zoomDelta:M-l.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(l){let d=n.bb;if(this._prevEase){let v=this._prevEase,b=(n.h.now()-v.start)/v.duration,M=v.easing(b+.01)-v.easing(b),O=.27/Math.sqrt(M*M+1e-4)*.01,B=Math.sqrt(.0729-O*O);d=n.ba(O,B,.25,1)}return this._prevEase={start:n.h.now(),duration:l,easing:d},d}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class u0{constructor(l,d){this._clickZoom=l,this._tapZoom=d}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class iA{constructor(l){this._tr=new Ln(l),this.reset()}reset(){this._active=!1}dblclick(l,d){return l.preventDefault(),{cameraAnimation:v=>{v.easeTo({duration:300,zoom:this._tr.zoom+(l.shiftKey?-1:1),around:this._tr.unproject(d)},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nA{constructor(){this._tap=new Rd({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(l,d,v){if(!this._swipePoint)if(this._tapTime){let b=d[0],M=l.timeStamp-this._tapTime<500,O=this._tapPoint.dist(b)<30;M&&O?v.length>0&&(this._swipePoint=b,this._swipeTouch=v[0].identifier):this.reset()}else this._tap.touchstart(l,d,v)}touchmove(l,d,v){if(this._tapTime){if(this._swipePoint){if(v[0].identifier!==this._swipeTouch)return;let b=d[0],M=b.y-this._swipePoint.y;return this._swipePoint=b,l.preventDefault(),this._active=!0,{zoomDelta:M/128}}}else this._tap.touchmove(l,d,v)}touchend(l,d,v){if(this._tapTime)this._swipePoint&&v.length===0&&this.reset();else{let b=this._tap.touchend(l,d,v);b&&(this._tapTime=l.timeStamp,this._tapPoint=b)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ph{constructor(l,d,v){this._el=l,this._mousePan=d,this._touchPan=v}enable(l){this._inertiaOptions=l||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class us{constructor(l,d,v){this._pitchWithRotate=l.pitchWithRotate,this._mouseRotate=d,this._mousePitch=v}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class _u{constructor(l,d,v,b){this._el=l,this._touchZoom=d,this._touchRotate=v,this._tapDragZoom=b,this._rotationDisabled=!1,this._enabled=!0}enable(l){this._touchZoom.enable(l),this._rotationDisabled||this._touchRotate.enable(l),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}let Bc=T=>T.zoom||T.drag||T.pitch||T.rotate;class h0 extends n.k{}function Od(T){return T.panDelta&&T.panDelta.mag()||T.zoomDelta||T.bearingDelta||T.pitchDelta}class f0{constructor(l,d){this.handleWindowEvent=b=>{this.handleEvent(b,`${b.type}Window`)},this.handleEvent=(b,M)=>{if(b.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let O=b.type===\"renderFrame\"?void 0:b,B={needsRenderFrame:!1},U={},W={},Z=b.touches,$=Z?this._getMapTouches(Z):void 0,st=$?c.touchPos(this._el,$):c.mousePos(this._el,b);for(let{handlerName:yt,handler:dt,allowed:Ft}of this._handlers){if(!dt.isEnabled())continue;let Ht;this._blockedByActive(W,Ft,yt)?dt.reset():dt[M||b.type]&&(Ht=dt[M||b.type](b,st,$),this.mergeHandlerResult(B,U,Ht,yt,O),Ht&&Ht.needsRenderFrame&&this._triggerRenderFrame()),(Ht||dt.isActive())&&(W[yt]=dt)}let At={};for(let yt in this._previousActiveHandlers)W[yt]||(At[yt]=O);this._previousActiveHandlers=W,(Object.keys(At).length||Od(B))&&(this._changes.push([B,U,At]),this._triggerRenderFrame()),(Object.keys(W).length||Od(B))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:pt}=B;pt&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pt(this._map))},this._map=l,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new n0(l),this._bearingSnap=d.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(d);let v=this._el;this._listeners=[[v,\"touchstart\",{passive:!0}],[v,\"touchmove\",{passive:!1}],[v,\"touchend\",void 0],[v,\"touchcancel\",void 0],[v,\"mousedown\",void 0],[v,\"mousemove\",void 0],[v,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[v,\"mouseover\",void 0],[v,\"mouseout\",void 0],[v,\"dblclick\",void 0],[v,\"click\",void 0],[v,\"keydown\",{capture:!1}],[v,\"keyup\",void 0],[v,\"wheel\",{passive:!1}],[v,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[b,M,O]of this._listeners)c.addEventListener(b,M,b===document?this.handleWindowEvent:this.handleEvent,O)}destroy(){for(let[l,d,v]of this._listeners)c.removeEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,v)}_addDefaultHandlers(l){let d=this._map,v=d.getCanvasContainer();this._add(\"mapEvent\",new js(d,l));let b=d.boxZoom=new eA(d,l);this._add(\"boxZoom\",b),l.interactive&&l.boxZoom&&b.enable();let M=new Al(d),O=new iA(d);d.doubleClickZoom=new u0(O,M),this._add(\"tapZoom\",M),this._add(\"clickZoom\",O),l.interactive&&l.doubleClickZoom&&d.doubleClickZoom.enable();let B=new nA;this._add(\"tapDragZoom\",B);let U=d.touchPitch=new zx(d);this._add(\"touchPitch\",U),l.interactive&&l.touchPitch&&d.touchPitch.enable(l.touchPitch);let W=Na(l),Z=co(l);d.dragRotate=new us(l,W,Z),this._add(\"mouseRotate\",W,[\"mousePitch\"]),this._add(\"mousePitch\",Z,[\"mouseRotate\"]),l.interactive&&l.dragRotate&&d.dragRotate.enable();let $=(({enable:Ft,clickTolerance:Ht})=>{let St=new rA({checkCorrectEvent:Bt=>c.mouseButton(Bt)===0&&!Bt.ctrlKey});return new za({clickTolerance:Ht,move:(Bt,Qt)=>({around:Qt,panDelta:Qt.sub(Bt)}),activateOnStart:!0,moveStateManager:St,enable:Ft,assignEvents:fh})})(l),st=new Ge(l,d);d.dragPan=new ph(v,$,st),this._add(\"mousePan\",$),this._add(\"touchPan\",st,[\"touchZoom\",\"touchRotate\"]),l.interactive&&l.dragPan&&d.dragPan.enable(l.dragPan);let At=new o0,pt=new __;d.touchZoomRotate=new _u(v,pt,At,B),this._add(\"touchRotate\",At,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",pt,[\"touchPan\",\"touchRotate\"]),l.interactive&&l.touchZoomRotate&&d.touchZoomRotate.enable(l.touchZoomRotate);let yt=d.scrollZoom=new bf(d,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",yt,[\"mousePan\"]),l.interactive&&l.scrollZoom&&d.scrollZoom.enable(l.scrollZoom);let dt=d.keyboard=new y_(d);this._add(\"keyboard\",dt),l.interactive&&l.keyboard&&d.keyboard.enable(),this._add(\"blockableMapEvent\",new gu(d))}_add(l,d,v){this._handlers.push({handlerName:l,handler:d,allowed:v}),this._handlersById[l]=d}stop(l){if(!this._updatingCamera){for(let{handler:d}of this._handlers)d.reset();this._inertia.clear(),this._fireEvents({},{},l),this._changes=[]}}isActive(){for(let{handler:l}of this._handlers)if(l.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Bc(this._eventsInProgress)||this.isZooming()}_blockedByActive(l,d,v){for(let b in l)if(b!==v&&(!d||d.indexOf(b)<0))return!0;return!1}_getMapTouches(l){let d=[];for(let v of l)this._el.contains(v.target)&&d.push(v);return d}mergeHandlerResult(l,d,v,b,M){if(!v)return;n.e(l,v);let O={handlerName:b,originalEvent:v.originalEvent||M};v.zoomDelta!==void 0&&(d.zoom=O),v.panDelta!==void 0&&(d.drag=O),v.pitchDelta!==void 0&&(d.pitch=O),v.bearingDelta!==void 0&&(d.rotate=O)}_applyChanges(){let l={},d={},v={};for(let[b,M,O]of this._changes)b.panDelta&&(l.panDelta=(l.panDelta||new n.P(0,0))._add(b.panDelta)),b.zoomDelta&&(l.zoomDelta=(l.zoomDelta||0)+b.zoomDelta),b.bearingDelta&&(l.bearingDelta=(l.bearingDelta||0)+b.bearingDelta),b.pitchDelta&&(l.pitchDelta=(l.pitchDelta||0)+b.pitchDelta),b.around!==void 0&&(l.around=b.around),b.pinchAround!==void 0&&(l.pinchAround=b.pinchAround),b.noInertia&&(l.noInertia=b.noInertia),n.e(d,M),n.e(v,O);this._updateMapTransform(l,d,v),this._changes=[]}_updateMapTransform(l,d,v){let b=this._map,M=b._getTransformForUpdate(),O=b.terrain;if(!(Od(l)||O&&this._terrainMovement))return this._fireEvents(d,v,!0);let{panDelta:B,zoomDelta:U,bearingDelta:W,pitchDelta:Z,around:$,pinchAround:st}=l;st!==void 0&&($=st),b._stop(!0),$=$||b.transform.centerPoint;let At=M.pointLocation(B?$.sub(B):$);W&&(M.bearing+=W),Z&&(M.pitch+=Z),U&&(M.zoom+=U),O?this._terrainMovement||!d.drag&&!d.zoom?d.drag&&this._terrainMovement?M.center=M.pointLocation(M.centerPoint.sub(B)):M.setLocationAtPoint(At,$):(this._terrainMovement=!0,this._map._elevationFreeze=!0,M.setLocationAtPoint(At,$),this._map.once(\"moveend\",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,M.recalculateZoom(b.terrain)})):M.setLocationAtPoint(At,$),b._applyUpdatedTransform(M),this._map._update(),l.noInertia||this._inertia.record(l),this._fireEvents(d,v,!0)}_fireEvents(l,d,v){let b=Bc(this._eventsInProgress),M=Bc(l),O={};for(let Z in l){let{originalEvent:$}=l[Z];this._eventsInProgress[Z]||(O[`${Z}start`]=$),this._eventsInProgress[Z]=l[Z]}!b&&M&&this._fireEvent(\"movestart\",M.originalEvent);for(let Z in O)this._fireEvent(Z,O[Z]);M&&this._fireEvent(\"move\",M.originalEvent);for(let Z in l){let{originalEvent:$}=l[Z];this._fireEvent(Z,$)}let B={},U;for(let Z in this._eventsInProgress){let{handlerName:$,originalEvent:st}=this._eventsInProgress[Z];this._handlersById[$].isActive()||(delete this._eventsInProgress[Z],U=d[$]||st,B[`${Z}end`]=U)}for(let Z in B)this._fireEvent(Z,B[Z]);let W=Bc(this._eventsInProgress);if(v&&(b||M)&&!W){this._updatingCamera=!0;let Z=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),$=st=>st!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new h0(\"renderFrame\",{timeStamp:l})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class v_ extends n.E{constructor(l,d){super(),this._renderFrameCallback=()=>{let v=Math.min((n.h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(v)),v<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=l,this._bearingSnap=d.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new n.L(this.transform.center.lng,this.transform.center.lat)}setCenter(l,d){return this.jumpTo({center:l},d)}panBy(l,d,v){return l=n.P.convert(l).mult(-1),this.panTo(this.transform.center,n.e({offset:l},d),v)}panTo(l,d,v){return this.easeTo(n.e({center:l},d),v)}getZoom(){return this.transform.zoom}setZoom(l,d){return this.jumpTo({zoom:l},d),this}zoomTo(l,d,v){return this.easeTo(n.e({zoom:l},d),v)}zoomIn(l,d){return this.zoomTo(this.getZoom()+1,l,d),this}zoomOut(l,d){return this.zoomTo(this.getZoom()-1,l,d),this}getBearing(){return this.transform.bearing}setBearing(l,d){return this.jumpTo({bearing:l},d),this}getPadding(){return this.transform.padding}setPadding(l,d){return this.jumpTo({padding:l},d),this}rotateTo(l,d,v){return this.easeTo(n.e({bearing:l},d),v)}resetNorth(l,d){return this.rotateTo(0,n.e({duration:1e3},l),d),this}resetNorthPitch(l,d){return this.easeTo(n.e({bearing:0,pitch:0,duration:1e3},l),d),this}snapToNorth(l,d){return Math.abs(this.getBearing()){if(this._zooming&&(v.zoom=n.B.number(b,U,$t)),this._rotating&&(v.bearing=n.B.number(M,W,$t)),this._pitching&&(v.pitch=n.B.number(O,Z,$t)),this._padding&&(v.interpolatePadding(B,$,$t),At=v.centerPoint.add(st)),this.terrain&&!l.freezeElevation&&this._updateElevation($t),St)v.setLocationAtPoint(St,Bt);else{let oe=v.zoomScale(v.zoom-b),pe=U>b?Math.min(2,Ht):Math.max(.5,Ht),he=Math.pow(pe,1-$t),be=v.unproject(dt.add(Ft.mult($t*he)).mult(oe));v.setLocationAtPoint(v.renderWorldCopies?be.wrap():be,At)}this._applyUpdatedTransform(v),this._fireMoveEvents(d)},$t=>{this.terrain&&this._finalizeElevation(),this._afterEase(d,$t)},l),this}_prepareEase(l,d,v={}){this._moving=!0,d||v.moving||this.fire(new n.k(\"movestart\",l)),this._zooming&&!v.zooming&&this.fire(new n.k(\"zoomstart\",l)),this._rotating&&!v.rotating&&this.fire(new n.k(\"rotatestart\",l)),this._pitching&&!v.pitching&&this.fire(new n.k(\"pitchstart\",l))}_prepareElevation(l){this._elevationCenter=l,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(l,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(l){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let d=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(l<1&&d!==this._elevationTarget){let v=this._elevationTarget-this._elevationStart;this._elevationStart+=l*(v-(d-(v*l+this._elevationStart))/(1-l)),this._elevationTarget=d}this.transform.elevation=n.B.number(this._elevationStart,this._elevationTarget,l)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(l){if(!this.transformCameraUpdate)return;let d=l.clone(),{center:v,zoom:b,pitch:M,bearing:O,elevation:B}=this.transformCameraUpdate(d);v&&(d.center=v),b!==void 0&&(d.zoom=b),M!==void 0&&(d.pitch=M),O!==void 0&&(d.bearing=O),B!==void 0&&(d.elevation=B),this.transform.apply(d)}_fireMoveEvents(l){this.fire(new n.k(\"move\",l)),this._zooming&&this.fire(new n.k(\"zoom\",l)),this._rotating&&this.fire(new n.k(\"rotate\",l)),this._pitching&&this.fire(new n.k(\"pitch\",l))}_afterEase(l,d){if(this._easeId&&d&&this._easeId===d)return;delete this._easeId;let v=this._zooming,b=this._rotating,M=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,v&&this.fire(new n.k(\"zoomend\",l)),b&&this.fire(new n.k(\"rotateend\",l)),M&&this.fire(new n.k(\"pitchend\",l)),this.fire(new n.k(\"moveend\",l))}flyTo(l,d){if(!l.essential&&n.h.prefersReducedMotion){let tr=n.F(l,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(tr,d)}this.stop(),l=n.e({offset:[0,0],speed:1.2,curve:1.42,easing:n.bb},l);let v=this._getTransformForUpdate(),b=this.getZoom(),M=this.getBearing(),O=this.getPitch(),B=this.getPadding(),U=\"zoom\"in l?n.ad(+l.zoom,v.minZoom,v.maxZoom):b,W=\"bearing\"in l?this._normalizeBearing(l.bearing,M):M,Z=\"pitch\"in l?+l.pitch:O,$=\"padding\"in l?l.padding:v.padding,st=v.zoomScale(U-b),At=n.P.convert(l.offset),pt=v.centerPoint.add(At),yt=v.pointLocation(pt),dt=n.L.convert(l.center||yt);this._normalizeCenter(dt);let Ft=v.project(yt),Ht=v.project(dt).sub(Ft),St=l.curve,Bt=Math.max(v.width,v.height),Qt=Bt/st,$t=Ht.mag();if(\"minZoom\"in l){let tr=n.ad(Math.min(l.minZoom,b,U),v.minZoom,v.maxZoom),Gi=Bt/v.zoomScale(tr-b);St=Math.sqrt(Gi/$t*2)}let oe=St*St;function pe(tr){let Gi=(Qt*Qt-Bt*Bt+(tr?-1:1)*oe*oe*$t*$t)/(2*(tr?Qt:Bt)*oe*$t);return Math.log(Math.sqrt(Gi*Gi+1)-Gi)}function he(tr){return(Math.exp(tr)-Math.exp(-tr))/2}function be(tr){return(Math.exp(tr)+Math.exp(-tr))/2}let Ze=pe(!1),Kr=function(tr){return be(Ze)/be(Ze+St*tr)},Ee=function(tr){return Bt*((be(Ze)*(he(Gi=Ze+St*tr)/be(Gi))-he(Ze))/oe)/$t;var Gi},pr=(pe(!0)-Ze)/St;if(Math.abs($t)<1e-6||!isFinite(pr)){if(Math.abs(Bt-Qt)<1e-6)return this.easeTo(l,d);let tr=Qtl.maxDuration&&(l.duration=0),this._zooming=!0,this._rotating=M!==W,this._pitching=Z!==O,this._padding=!v.isPaddingEqual($),this._prepareEase(d,!1),this.terrain&&this._prepareElevation(dt),this._ease(tr=>{let Gi=tr*pr,Jr=1/Kr(Gi);v.zoom=tr===1?U:b+v.scaleZoom(Jr),this._rotating&&(v.bearing=n.B.number(M,W,tr)),this._pitching&&(v.pitch=n.B.number(O,Z,tr)),this._padding&&(v.interpolatePadding(B,$,tr),pt=v.centerPoint.add(At)),this.terrain&&!l.freezeElevation&&this._updateElevation(tr);let Vr=tr===1?dt:v.unproject(Ft.add(Ht.mult(Ee(Gi))).mult(Jr));v.setLocationAtPoint(v.renderWorldCopies?Vr.wrap():Vr,pt),this._applyUpdatedTransform(v),this._fireMoveEvents(d)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(d)},l),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(l,d){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let v=this._onEaseEnd;delete this._onEaseEnd,v.call(this,d)}if(!l){let v=this.handlers;v&&v.stop(!1)}return this}_ease(l,d,v){v.animate===!1||v.duration===0?(l(1),d()):(this._easeStart=n.h.now(),this._easeOptions=v,this._onEaseFrame=l,this._onEaseEnd=d,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(l,d){l=n.b5(l,-180,180);let v=Math.abs(l-d);return Math.abs(l-360-d)180?-360:v<-180?360:0}queryTerrainElevation(l){return this.terrain?this.terrain.getElevationForLngLatZoom(n.L.convert(l),this.transform.tileZoom)-this.transform.elevation:null}}class ua{constructor(l={}){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=d=>{!d||d.sourceDataType!==\"metadata\"&&d.sourceDataType!==\"visibility\"&&d.dataType!==\"style\"&&d.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=l}getDefaultPosition(){return\"bottom-right\"}onAdd(l){return this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(l,d){let v=this._map._getUIString(`AttributionControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)}_updateAttributions(){if(!this._map.style)return;let l=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?l=l.concat(this.options.customAttribution.map(b=>typeof b!=\"string\"?\"\":b)):typeof this.options.customAttribution==\"string\"&&l.push(this.options.customAttribution)),this._map.style.stylesheet){let b=this._map.style.stylesheet;this.styleOwner=b.owner,this.styleId=b.id}let d=this._map.style.sourceCaches;for(let b in d){let M=d[b];if(M.used||M.usedForTerrain){let O=M.getSource();O.attribution&&l.indexOf(O.attribution)<0&&l.push(O.attribution)}}l=l.filter(b=>String(b).trim()),l.sort((b,M)=>b.length-M.length),l=l.filter((b,M)=>{for(let O=M+1;O=0)return!1;return!0});let v=l.join(\" | \");v!==this._attribHTML&&(this._attribHTML=v,l.length?(this._innerContainer.innerHTML=v,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class un{constructor(l={}){this._updateCompact=()=>{let d=this._container.children;if(d.length){let v=d[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&v.classList.add(\"maplibregl-compact\"):v.classList.remove(\"maplibregl-compact\")}},this.options=l}getDefaultPosition(){return\"bottom-left\"}onAdd(l){this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let d=c.create(\"a\",\"maplibregl-ctrl-logo\");return d.target=\"_blank\",d.rel=\"noopener nofollow\",d.href=\"https://maplibre.org/\",d.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),d.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(d),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sA{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(l){let d=++this._id;return this._queue.push({callback:l,id:d,cancelled:!1}),d}remove(l){let d=this._currentlyRunning,v=d?this._queue.concat(d):this._queue;for(let b of v)if(b.id===l)return void(b.cancelled=!0)}run(l=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let d=this._currentlyRunning=this._queue;this._queue=[];for(let v of d)if(!v.cancelled&&(v.callback(l),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}let d0={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"};var Ah=n.Q([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class x_ extends n.E{constructor(l){super(),this.sourceCache=l,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,l.usedForTerrain=!0,l.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(l,d){this.sourceCache.update(l,d),this._renderableTilesKeys=[];let v={};for(let b of l.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:d}))v[b.key]=!0,this._renderableTilesKeys.push(b.key),this._tiles[b.key]||(b.posMatrix=new Float64Array(16),n.aS(b.posMatrix,0,n.N,0,n.N,0,1),this._tiles[b.key]=new ao(b,this.tileSize));for(let b in this._tiles)v[b]||delete this._tiles[b]}freeRtt(l){for(let d in this._tiles){let v=this._tiles[d];(!l||v.tileID.equals(l)||v.tileID.isChildOf(l)||l.isChildOf(v.tileID))&&(v.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(l=>this.getTileByID(l))}getTileByID(l){return this._tiles[l]}getTerrainCoords(l){let d={};for(let v of this._renderableTilesKeys){let b=this._tiles[v].tileID;if(b.canonical.equals(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16),n.aS(M.posMatrix,0,n.N,0,n.N,0,1),d[v]=M}else if(b.canonical.isChildOf(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=b.canonical.z-l.canonical.z,B=b.canonical.x-(b.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,W,0,W,0,1),n.$(M.posMatrix,M.posMatrix,[-B*W,-U*W,0]),d[v]=M}else if(l.canonical.isChildOf(b.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=l.canonical.z-b.canonical.z,B=l.canonical.x-(l.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,n.N,0,n.N,0,1),n.$(M.posMatrix,M.posMatrix,[B*W,U*W,0]),n.a0(M.posMatrix,M.posMatrix,[1/2**O,1/2**O,0]),d[v]=M}}return d}getSourceTile(l,d){let v=this.sourceCache._source,b=l.overscaledZ-this.deltaZoom;if(b>v.maxzoom&&(b=v.maxzoom),b=v.minzoom&&(!M||!M.dem);)M=this.sourceCache.getTileByID(l.scaledTo(b--).key);return M}tilesAfterTime(l=Date.now()){return Object.values(this._tiles).filter(d=>d.timeAdded>=l)}}class b_{constructor(l,d,v){this.painter=l,this.sourceCache=new x_(d),this.options=v,this.exaggeration=typeof v.exaggeration==\"number\"?v.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(l,d,v,b=n.N){var M;if(!(d>=0&&d=0&&vl.canonical.z&&(l.canonical.z>=b?M=l.canonical.z-b:n.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let O=l.canonical.x-(l.canonical.x>>M<>M<>8<<4|M>>8,d[O+3]=0;let v=new n.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(d.buffer)),b=new qt(l,v,l.gl.RGBA,{premultiply:!1});return b.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._coordsTexture=b,b}pointCoordinate(l){let d=new Uint8Array(4),v=this.painter.context,b=v.gl;v.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),b.readPixels(l.x,this.painter.height/devicePixelRatio-l.y-1,1,1,b.RGBA,b.UNSIGNED_BYTE,d),v.bindFramebuffer.set(null);let M=d[0]+(d[2]>>4<<8),O=d[1]+((15&d[2])<<8),B=this.coordsIndex[255-d[3]],U=B&&this.sourceCache.getTileByID(B);if(!U)return null;let W=this._coordsTextureSize,Z=(1<0&&Math.sign(M)<0||!v&&Math.sign(b)<0&&Math.sign(M)>0?(b=360*Math.sign(M)+b,n.G(b)):d}}class Nx{constructor(l,d,v){this._context=l,this._size=d,this._tileSize=v,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let l of this._objects)l.texture.destroy(),l.fbo.destroy()}_createObject(l){let d=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),v=new qt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return v.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),d.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),d.colorAttachment.set(v.texture),{id:l,fbo:d,texture:v,stamp:-1,inUse:!1}}getObjectForId(l){return this._objects[l]}useObject(l){l.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(d=>l.id!==d),this._recentlyUsed.push(l.id)}stampObject(l){l.stamp=++this._stamp}getOrCreateFreeObject(){for(let d of this._recentlyUsed)if(!this._objects[d].inUse)return this._objects[d];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let l=this._createObject(this._objects.length);return this._objects.push(l),l}freeObject(l){l.inUse=!1}freeAllObjects(){for(let l of this._objects)this.freeObject(l)}isFull(){return!(this._objects.length!l.inUse)===!1}}let Mo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class oA{constructor(l,d){this.painter=l,this.terrain=d,this.pool=new Nx(l.context,30,d.sourceCache.tileSize*d.qualityFactor)}destruct(){this.pool.destruct()}getTexture(l){return this.pool.getObjectForId(l.rtt[this._stacks.length-1].id).texture}prepareForRender(l,d){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=l._order.filter(v=>!l._layers[v].isHidden(d)),this._coordsDescendingInv={};for(let v in l.sourceCaches){this._coordsDescendingInv[v]={};let b=l.sourceCaches[v].getVisibleCoordinates();for(let M of b){let O=this.terrain.sourceCache.getTerrainCoords(M);for(let B in O)this._coordsDescendingInv[v][B]||(this._coordsDescendingInv[v][B]=[]),this._coordsDescendingInv[v][B].push(O[B])}}this._coordsDescendingInvStr={};for(let v of l._order){let b=l._layers[v],M=b.source;if(Mo[b.type]&&!this._coordsDescendingInvStr[M]){this._coordsDescendingInvStr[M]={};for(let O in this._coordsDescendingInv[M])this._coordsDescendingInvStr[M][O]=this._coordsDescendingInv[M][O].map(B=>B.key).sort().join()}}for(let v of this._renderableTiles)for(let b in this._coordsDescendingInvStr){let M=this._coordsDescendingInvStr[b][v.tileID.key];M&&M!==v.rttCoords[b]&&(v.rtt=[])}}renderLayer(l){if(l.isHidden(this.painter.transform.zoom))return!1;let d=l.type,v=this.painter,b=this._renderableLayerIds[this._renderableLayerIds.length-1]===l.id;if(Mo[d]&&(this._prevType&&Mo[this._prevType]||this._stacks.push([]),this._prevType=d,this._stacks[this._stacks.length-1].push(l.id),!b))return!0;if(Mo[this._prevType]||Mo[d]&&b){this._prevType=d;let M=this._stacks.length-1,O=this._stacks[M]||[];for(let B of this._renderableTiles){if(this.pool.isFull()&&(Cn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(B),B.rtt[M]){let W=this.pool.getObjectForId(B.rtt[M].id);if(W.stamp===B.rtt[M].stamp){this.pool.useObject(W);continue}}let U=this.pool.getOrCreateFreeObject();this.pool.useObject(U),this.pool.stampObject(U),B.rtt[M]={id:U.id,stamp:U.stamp},v.context.bindFramebuffer.set(U.fbo.framebuffer),v.context.clear({color:n.aT.transparent,stencil:0}),v.currentStencilSource=void 0;for(let W=0;W{T.touchstart=T.dragStart,T.touchmoveWindow=T.dragMove,T.touchend=T.dragEnd},aA={showCompass:!0,showZoom:!0,visualizePitch:!1};class Bd{constructor(l,d,v=!1){this.mousedown=O=>{this.startMouse(n.e({},O,{ctrlKey:!0,preventDefault:()=>O.preventDefault()}),c.mousePos(this.element,O)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=O=>{this.moveMouse(O,c.mousePos(this.element,O))},this.mouseup=O=>{this.mouseRotate.dragEnd(O),this.mousePitch&&this.mousePitch.dragEnd(O),this.offTemp()},this.touchstart=O=>{O.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.startTouch(O,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=O=>{O.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.moveTouch(O,this._lastPos))},this.touchend=O=>{O.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let b=l.dragRotate._mouseRotate.getClickTolerance(),M=l.dragRotate._mousePitch.getClickTolerance();this.element=d,this.mouseRotate=Na({clickTolerance:b,enable:!0}),this.touchRotate=(({enable:O,clickTolerance:B,bearingDegreesPerPixelMoved:U=.8})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({bearingDelta:($.x-Z.x)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:b,enable:!0}),this.map=l,v&&(this.mousePitch=co({clickTolerance:M,enable:!0}),this.touchPitch=(({enable:O,clickTolerance:B,pitchDegreesPerPixelMoved:U=-.5})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({pitchDelta:($.y-Z.y)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:M,enable:!0})),c.addEventListener(d,\"mousedown\",this.mousedown),c.addEventListener(d,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(d,\"touchcancel\",this.reset)}startMouse(l,d){this.mouseRotate.dragStart(l,d),this.mousePitch&&this.mousePitch.dragStart(l,d),c.disableDrag()}startTouch(l,d){this.touchRotate.dragStart(l,d),this.touchPitch&&this.touchPitch.dragStart(l,d),c.disableDrag()}moveMouse(l,d){let v=this.map,{bearingDelta:b}=this.mouseRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.mousePitch){let{pitchDelta:M}=this.mousePitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}moveTouch(l,d){let v=this.map,{bearingDelta:b}=this.touchRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.touchPitch){let{pitchDelta:M}=this.touchPitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}off(){let l=this.element;c.removeEventListener(l,\"mousedown\",this.mousedown),c.removeEventListener(l,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(l,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let Hn;function uo(T,l,d){if(T=new n.L(T.lng,T.lat),l){let v=new n.L(T.lng-360,T.lat),b=new n.L(T.lng+360,T.lat),M=d.locationPoint(T).distSqr(l);d.locationPoint(v).distSqr(l)180;){let v=d.locationPoint(T);if(v.x>=0&&v.y>=0&&v.x<=d.width&&v.y<=d.height)break;T.lng>d.center.lng?T.lng-=360:T.lng+=360}return T}let ji={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function w_(T,l,d){let v=T.classList;for(let b in ji)v.remove(`maplibregl-${d}-anchor-${b}`);v.add(`maplibregl-${d}-anchor-${l}`)}class mh extends n.E{constructor(l){if(super(),this._onKeyPress=d=>{let v=d.code,b=d.charCode||d.keyCode;v!==\"Space\"&&v!==\"Enter\"&&b!==32&&b!==13||this.togglePopup()},this._onMapClick=d=>{let v=d.originalEvent.target,b=this._element;this._popup&&(v===b||b.contains(v))&&this.togglePopup()},this._update=d=>{if(!this._map)return;let v=this._map.loaded()&&!this._map.isMoving();(d?.type===\"terrain\"||d?.type===\"render\"&&!v)&&this._map.once(\"render\",this._update),this._map.transform.renderWorldCopies&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let b=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?b=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(b=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let M=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?M=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(M=`rotateX(${this._map.getPitch()}deg)`),d&&d.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${ji[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${M} ${b}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout(()=>{let O=this._map.unproject(this._pos),B=40075016686e-3*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=O.distanceTo(this._lngLat)>20*B?\"0.2\":\"1.0\",this._opacityTimeout=null},100))},this._onMove=d=>{if(!this._isDragging){let v=this._clickTolerance||this._map._clickTolerance;this._isDragging=d.point.dist(this._pointerdownPos)>=v}this._isDragging&&(this._pos=d.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new n.k(\"dragstart\"))),this.fire(new n.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new n.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=d=>{this._element.contains(d.originalEvent.target)&&(d.preventDefault(),this._positionDelta=d.point.sub(this._pos).add(this._offset),this._pointerdownPos=d.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=l&&l.anchor||\"center\",this._color=l&&l.color||\"#3FB1CE\",this._scale=l&&l.scale||1,this._draggable=l&&l.draggable||!1,this._clickTolerance=l&&l.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=l&&l.rotation||0,this._rotationAlignment=l&&l.rotationAlignment||\"auto\",this._pitchAlignment=l&&l.pitchAlignment&&l.pitchAlignment!==\"auto\"?l.pitchAlignment:this._rotationAlignment,l&&l.element)this._element=l.element,this._offset=n.P.convert(l&&l.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");let d=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),v=41,b=27;d.setAttributeNS(null,\"display\",\"block\"),d.setAttributeNS(null,\"height\",`${v}px`),d.setAttributeNS(null,\"width\",`${b}px`),d.setAttributeNS(null,\"viewBox\",`0 0 ${b} ${v}`);let M=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");M.setAttributeNS(null,\"stroke\",\"none\"),M.setAttributeNS(null,\"stroke-width\",\"1\"),M.setAttributeNS(null,\"fill\",\"none\"),M.setAttributeNS(null,\"fill-rule\",\"evenodd\");let O=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");O.setAttributeNS(null,\"fill-rule\",\"nonzero\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");B.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),B.setAttributeNS(null,\"fill\",\"#000000\");let U=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let Ft of U){let Ht=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Ht.setAttributeNS(null,\"opacity\",\"0.04\"),Ht.setAttributeNS(null,\"cx\",\"10.5\"),Ht.setAttributeNS(null,\"cy\",\"5.80029008\"),Ht.setAttributeNS(null,\"rx\",Ft.rx),Ht.setAttributeNS(null,\"ry\",Ft.ry),B.appendChild(Ht)}let W=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");W.setAttributeNS(null,\"fill\",this._color);let Z=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Z.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),W.appendChild(Z);let $=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");$.setAttributeNS(null,\"opacity\",\"0.25\"),$.setAttributeNS(null,\"fill\",\"#000000\");let st=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");st.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),$.appendChild(st);let At=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");At.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),At.setAttributeNS(null,\"fill\",\"#FFFFFF\");let pt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");yt.setAttributeNS(null,\"fill\",\"#000000\"),yt.setAttributeNS(null,\"opacity\",\"0.25\"),yt.setAttributeNS(null,\"cx\",\"5.5\"),yt.setAttributeNS(null,\"cy\",\"5.5\"),yt.setAttributeNS(null,\"r\",\"5.4999962\");let dt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");dt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),dt.setAttributeNS(null,\"cx\",\"5.5\"),dt.setAttributeNS(null,\"cy\",\"5.5\"),dt.setAttributeNS(null,\"r\",\"5.4999962\"),pt.appendChild(yt),pt.appendChild(dt),O.appendChild(B),O.appendChild(W),O.appendChild($),O.appendChild(At),O.appendChild(pt),d.appendChild(O),d.setAttributeNS(null,\"height\",v*this._scale+\"px\"),d.setAttributeNS(null,\"width\",b*this._scale+\"px\"),this._element.appendChild(d),this._offset=n.P.convert(l&&l.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",d=>{d.preventDefault()}),this._element.addEventListener(\"mousedown\",d=>{d.preventDefault()}),w_(this._element,this._anchor,\"marker\"),l&&l.className)for(let d of l.className.split(\" \"))this._element.classList.add(d);this._popup=null}addTo(l){return this.remove(),this._map=l,l.getCanvasContainer().appendChild(this._element),l.on(\"move\",this._update),l.on(\"moveend\",this._update),l.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(l){return this._lngLat=n.L.convert(l),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(l){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),l){if(!(\"offset\"in l.options)){let b=Math.abs(13.5)/Math.SQRT2;l.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[b,-1*(38.1-13.5+b)],\"bottom-right\":[-b,-1*(38.1-13.5+b)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=l,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let l=this._popup;return l?(l.isOpen()?l.remove():l.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(l){return this._offset=n.P.convert(l),this._update(),this}addClassName(l){this._element.classList.add(l)}removeClassName(l){this._element.classList.remove(l)}toggleClassName(l){return this._element.classList.toggle(l)}setDraggable(l){return this._draggable=!!l,this._map&&(l?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(l){return this._rotation=l||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(l){return this._rotationAlignment=l||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(l){return this._pitchAlignment=l&&l!==\"auto\"?l:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}let kn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},wn=0,Sf=!1,Es={maxWidth:100,unit:\"metric\"};function gh(T,l,d){let v=d&&d.maxWidth||100,b=T._container.clientHeight/2,M=T.unproject([0,b]),O=T.unproject([v,b]),B=M.distanceTo(O);if(d&&d.unit===\"imperial\"){let U=3.2808*B;U>5280?Wo(l,v,U/5280,T._getUIString(\"ScaleControl.Miles\")):Wo(l,v,U,T._getUIString(\"ScaleControl.Feet\"))}else d&&d.unit===\"nautical\"?Wo(l,v,B/1852,T._getUIString(\"ScaleControl.NauticalMiles\")):B>=1e3?Wo(l,v,B/1e3,T._getUIString(\"ScaleControl.Kilometers\")):Wo(l,v,B,T._getUIString(\"ScaleControl.Meters\"))}function Wo(T,l,d,v){let b=function(M){let O=Math.pow(10,`${Math.floor(M)}`.length-1),B=M/O;return B=B>=10?10:B>=5?5:B>=3?3:B>=2?2:B>=1?1:function(U){let W=Math.pow(10,Math.ceil(-Math.log(U)/Math.LN10));return Math.round(U*W)/W}(B),O*B}(d);T.style.width=l*(b/d)+\"px\",T.innerHTML=`${b} ${v}`}let p0={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Fd=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Tf(T){if(T){if(typeof T==\"number\"){let l=Math.round(Math.abs(T)/Math.SQRT2);return{center:new n.P(0,0),top:new n.P(0,T),\"top-left\":new n.P(l,l),\"top-right\":new n.P(-l,l),bottom:new n.P(0,-T),\"bottom-left\":new n.P(l,-l),\"bottom-right\":new n.P(-l,-l),left:new n.P(T,0),right:new n.P(-T,0)}}if(T instanceof n.P||Array.isArray(T)){let l=n.P.convert(T);return{center:l,top:l,\"top-left\":l,\"top-right\":l,bottom:l,\"bottom-left\":l,\"bottom-right\":l,left:l,right:l}}return{center:n.P.convert(T.center||[0,0]),top:n.P.convert(T.top||[0,0]),\"top-left\":n.P.convert(T[\"top-left\"]||[0,0]),\"top-right\":n.P.convert(T[\"top-right\"]||[0,0]),bottom:n.P.convert(T.bottom||[0,0]),\"bottom-left\":n.P.convert(T[\"bottom-left\"]||[0,0]),\"bottom-right\":n.P.convert(T[\"bottom-right\"]||[0,0]),left:n.P.convert(T.left||[0,0]),right:n.P.convert(T.right||[0,0])}}return Tf(new n.P(0,0))}let Ho={extend:(T,...l)=>n.e(T,...l),run(T){T()},logToElement(T,l=!1,d=\"log\"){let v=window.document.getElementById(d);v&&(l&&(v.innerHTML=\"\"),v.innerHTML+=`
${T}`)}},lA=o;class bi{static get version(){return lA}static get workerCount(){return lo.workerCount}static set workerCount(l){lo.workerCount=l}static get maxParallelImageRequests(){return n.c.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(l){n.c.MAX_PARALLEL_IMAGE_REQUESTS=l}static get workerUrl(){return n.c.WORKER_URL}static set workerUrl(l){n.c.WORKER_URL=l}static addProtocol(l,d){n.c.REGISTERED_PROTOCOLS[l]=d}static removeProtocol(l){delete n.c.REGISTERED_PROTOCOLS[l]}}return bi.Map=class extends v_{constructor(T){if(n.bg.mark(n.bh.create),(T=n.e({},dr,T)).minZoom!=null&&T.maxZoom!=null&&T.minZoom>T.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(T.minPitch!=null&&T.maxPitch!=null&&T.minPitch>T.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(T.minPitch!=null&&T.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T.maxPitch!=null&&T.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Kp(T.minZoom,T.maxZoom,T.minPitch,T.maxPitch,T.renderWorldCopies),{bearingSnap:T.bearingSnap}),this._cooperativeGesturesOnWheel=l=>{this._onCooperativeGesture(l,l[this._metaKey],1)},this._contextLost=l=>{l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new n.k(\"webglcontextlost\",{originalEvent:l}))},this._contextRestored=l=>{this._setupPainter(),this.resize(),this._update(),this.fire(new n.k(\"webglcontextrestored\",{originalEvent:l}))},this._onMapScroll=l=>{if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=T.interactive,this._cooperativeGestures=T.cooperativeGestures,this._metaKey=navigator.platform.indexOf(\"Mac\")===0?\"metaKey\":\"ctrlKey\",this._maxTileCacheSize=T.maxTileCacheSize,this._maxTileCacheZoomLevels=T.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=T.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=T.preserveDrawingBuffer,this._antialias=T.antialias,this._trackResize=T.trackResize,this._bearingSnap=T.bearingSnap,this._refreshExpiredTiles=T.refreshExpiredTiles,this._fadeDuration=T.fadeDuration,this._crossSourceCollisions=T.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=T.collectResourceTiming,this._renderTaskQueue=new sA,this._controls=[],this._mapId=n.a2(),this._locale=n.e({},d0,T.locale),this._clickTolerance=T.clickTolerance,this._overridePixelRatio=T.pixelRatio,this._maxCanvasSize=T.maxCanvasSize,this.transformCameraUpdate=T.transformCameraUpdate,this._imageQueueHandle=j.addThrottleControl(()=>this.isMoving()),this._requestManager=new et(T.transformRequest),typeof T.container==\"string\"){if(this._container=document.getElementById(T.container),!this._container)throw new Error(`Container '${T.container}' not found.`)}else{if(!(T.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=T.container}if(T.maxBounds&&this.setMaxBounds(T.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)),this.on(\"moveend\",()=>this._update(!1)),this.on(\"zoom\",()=>this._update(!0)),this.on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let l=!1,d=lh(v=>{this._trackResize&&!this._removed&&this.resize(v)._update()},50);this._resizeObserver=new ResizeObserver(v=>{l?d(v):l=!0}),this._resizeObserver.observe(this._container)}this.handlers=new f0(this,T),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=T.hash&&new Ld(typeof T.hash==\"string\"&&T.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:T.center,zoom:T.zoom,bearing:T.bearing,pitch:T.pitch}),T.bounds&&(this.resize(),this.fitBounds(T.bounds,n.e({},T.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=T.localIdeographFontFamily,this._validateStyle=T.validateStyle,T.style&&this.setStyle(T.style,{localIdeographFontFamily:T.localIdeographFontFamily}),T.attributionControl&&this.addControl(new ua({customAttribution:T.customAttribution})),T.maplibreLogo&&this.addControl(new un,T.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",l=>{this._update(l.dataType===\"style\"),this.fire(new n.k(`${l.dataType}data`,l))}),this.on(\"dataloading\",l=>{this.fire(new n.k(`${l.dataType}dataloading`,l))}),this.on(\"dataabort\",l=>{this.fire(new n.k(\"sourcedataabort\",l))})}_getMapId(){return this._mapId}addControl(T,l){if(l===void 0&&(l=T.getDefaultPosition?T.getDefaultPosition():\"top-right\"),!T||!T.onAdd)return this.fire(new n.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let d=T.onAdd(this);this._controls.push(T);let v=this._controlPositions[l];return l.indexOf(\"bottom\")!==-1?v.insertBefore(d,v.firstChild):v.appendChild(d),this}removeControl(T){if(!T||!T.onRemove)return this.fire(new n.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let l=this._controls.indexOf(T);return l>-1&&this._controls.splice(l,1),T.onRemove(this),this}hasControl(T){return this._controls.indexOf(T)>-1}calculateCameraOptionsFromTo(T,l,d,v){return v==null&&this.terrain&&(v=this.terrain.getElevationForLngLatZoom(d,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(T,l,d,v)}resize(T){var l;let d=this._containerDimensions(),v=d[0],b=d[1],M=this._getClampedPixelRatio(v,b);if(this._resizeCanvas(v,b,M),this.painter.resize(v,b,M),this.painter.overLimit()){let B=this.painter.context.gl;this._maxCanvasSize=[B.drawingBufferWidth,B.drawingBufferHeight];let U=this._getClampedPixelRatio(v,b);this._resizeCanvas(v,b,U),this.painter.resize(v,b,U)}this.transform.resize(v,b),(l=this._requestedCameraState)===null||l===void 0||l.resize(v,b);let O=!this._moving;return O&&(this.stop(),this.fire(new n.k(\"movestart\",T)).fire(new n.k(\"move\",T))),this.fire(new n.k(\"resize\",T)),O&&this.fire(new n.k(\"moveend\",T)),this}_getClampedPixelRatio(T,l){let{0:d,1:v}=this._maxCanvasSize,b=this.getPixelRatio(),M=T*b,O=l*b;return Math.min(M>d?d/M:1,O>v?v/O:1)*b}getPixelRatio(){var T;return(T=this._overridePixelRatio)!==null&&T!==void 0?T:devicePixelRatio}setPixelRatio(T){this._overridePixelRatio=T,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(T){return this.transform.setMaxBounds(Si.convert(T)),this._update()}setMinZoom(T){if((T=T??-2)>=-2&&T<=this.transform.maxZoom)return this.transform.minZoom=T,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=T,this._update(),this.getZoom()>T&&this.setZoom(T),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(T){if((T=T??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T>=0&&T<=this.transform.maxPitch)return this.transform.minPitch=T,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(T>=this.transform.minPitch)return this.transform.maxPitch=T,this._update(),this.getPitch()>T&&this.setPitch(T),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(T){return this.transform.renderWorldCopies=T,this._update()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(T){return this._cooperativeGestures=T,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(T){return this.transform.locationPoint(n.L.convert(T),this.style&&this.terrain)}unproject(T){return this.transform.pointLocation(n.P.convert(T),this.terrain)}isMoving(){var T;return this._moving||((T=this.handlers)===null||T===void 0?void 0:T.isMoving())}isZooming(){var T;return this._zooming||((T=this.handlers)===null||T===void 0?void 0:T.isZooming())}isRotating(){var T;return this._rotating||((T=this.handlers)===null||T===void 0?void 0:T.isRotating())}_createDelegatedListener(T,l,d){if(T===\"mouseenter\"||T===\"mouseover\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:M=>{let O=this.getLayer(l)?this.queryRenderedFeatures(M.point,{layers:[l]}):[];O.length?v||(v=!0,d.call(this,new la(T,this,M.originalEvent,{features:O}))):v=!1},mouseout:()=>{v=!1}}}}if(T===\"mouseleave\"||T===\"mouseout\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:O=>{(this.getLayer(l)?this.queryRenderedFeatures(O.point,{layers:[l]}):[]).length?v=!0:v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))},mouseout:O=>{v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))}}}}{let v=b=>{let M=this.getLayer(l)?this.queryRenderedFeatures(b.point,{layers:[l]}):[];M.length&&(b.features=M,d.call(this,b),delete b.features)};return{layer:l,listener:d,delegates:{[T]:v}}}}on(T,l,d){if(d===void 0)return super.on(T,l);let v=this._createDelegatedListener(T,l,d);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[T]=this._delegatedListeners[T]||[],this._delegatedListeners[T].push(v);for(let b in v.delegates)this.on(b,v.delegates[b]);return this}once(T,l,d){if(d===void 0)return super.once(T,l);let v=this._createDelegatedListener(T,l,d);for(let b in v.delegates)this.once(b,v.delegates[b]);return this}off(T,l,d){return d===void 0?super.off(T,l):(this._delegatedListeners&&this._delegatedListeners[T]&&(v=>{let b=this._delegatedListeners[T];for(let M=0;Mthis._updateStyle(T,l));let d=this.style&&l.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!T)),T?(this.style=new Gn(this,l||{}),this.style.setEventedParent(this,{style:this.style}),typeof T==\"string\"?this.style.loadURL(T,l,d):this.style.loadJSON(T,l,d),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Gn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(T,l){if(typeof T==\"string\"){let d=this._requestManager.transformRequest(T,Q.Style);n.f(d,(v,b)=>{v?this.fire(new n.j(v)):b&&this._updateDiff(b,l)})}else typeof T==\"object\"&&this._updateDiff(T,l)}_updateDiff(T,l){try{this.style.setState(T,l)&&this._update(!0)}catch(d){n.w(`Unable to perform style diff: ${d.message||d.error||d}. Rebuilding the style from scratch.`),this._updateStyle(T,l)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():n.w(\"There is no style added to the map.\")}addSource(T,l){return this._lazyInitEmptyStyle(),this.style.addSource(T,l),this._update(!0)}isSourceLoaded(T){let l=this.style&&this.style.sourceCaches[T];if(l!==void 0)return l.loaded();this.fire(new n.j(new Error(`There is no source with ID '${T}'`)))}setTerrain(T){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),T){let l=this.style.sourceCaches[T.source];if(!l)throw new Error(`cannot load terrain, because there exists no source with ID: ${T.source}`);for(let d in this.style._layers){let v=this.style._layers[d];v.type===\"hillshade\"&&v.source===T.source&&n.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new b_(this.painter,l,T),this.painter.renderToTexture=new oA(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=d=>{d.dataType===\"style\"?this.terrain.sourceCache.freeRtt():d.dataType===\"source\"&&d.tile&&(d.sourceId!==T.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(d.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new n.k(\"terrain\",{terrain:T})),this}getTerrain(){var T,l;return(l=(T=this.terrain)===null||T===void 0?void 0:T.options)!==null&&l!==void 0?l:null}areTilesLoaded(){let T=this.style&&this.style.sourceCaches;for(let l in T){let d=T[l]._tiles;for(let v in d){let b=d[v];if(b.state!==\"loaded\"&&b.state!==\"errored\")return!1}}return!0}addSourceType(T,l,d){return this._lazyInitEmptyStyle(),this.style.addSourceType(T,l,d)}removeSource(T){return this.style.removeSource(T),this._update(!0)}getSource(T){return this.style.getSource(T)}addImage(T,l,d={}){let{pixelRatio:v=1,sdf:b=!1,stretchX:M,stretchY:O,content:B}=d;if(this._lazyInitEmptyStyle(),!(l instanceof HTMLImageElement||n.a(l))){if(l.width===void 0||l.height===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:U,height:W,data:Z}=l,$=l;return this.style.addImage(T,{data:new n.R({width:U,height:W},new Uint8Array(Z)),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0,userImage:$}),$.onAdd&&$.onAdd(this,T),this}}{let{width:U,height:W,data:Z}=n.h.getImageData(l);this.style.addImage(T,{data:new n.R({width:U,height:W},Z),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0})}}updateImage(T,l){let d=this.style.getImage(T);if(!d)return this.fire(new n.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let v=l instanceof HTMLImageElement||n.a(l)?n.h.getImageData(l):l,{width:b,height:M,data:O}=v;if(b===void 0||M===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(b!==d.data.width||M!==d.data.height)return this.fire(new n.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let B=!(l instanceof HTMLImageElement||n.a(l));return d.data.replace(O,B),this.style.updateImage(T,d),this}getImage(T){return this.style.getImage(T)}hasImage(T){return T?!!this.style.getImage(T):(this.fire(new n.j(new Error(\"Missing required image id\"))),!1)}removeImage(T){this.style.removeImage(T)}loadImage(T,l){j.getImage(this._requestManager.transformRequest(T,Q.Image),l)}listImages(){return this.style.listImages()}addLayer(T,l){return this._lazyInitEmptyStyle(),this.style.addLayer(T,l),this._update(!0)}moveLayer(T,l){return this.style.moveLayer(T,l),this._update(!0)}removeLayer(T){return this.style.removeLayer(T),this._update(!0)}getLayer(T){return this.style.getLayer(T)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(T,l,d){return this.style.setLayerZoomRange(T,l,d),this._update(!0)}setFilter(T,l,d={}){return this.style.setFilter(T,l,d),this._update(!0)}getFilter(T){return this.style.getFilter(T)}setPaintProperty(T,l,d,v={}){return this.style.setPaintProperty(T,l,d,v),this._update(!0)}getPaintProperty(T,l){return this.style.getPaintProperty(T,l)}setLayoutProperty(T,l,d,v={}){return this.style.setLayoutProperty(T,l,d,v),this._update(!0)}getLayoutProperty(T,l){return this.style.getLayoutProperty(T,l)}setGlyphs(T,l={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(T,l),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(T,l,d={}){return this._lazyInitEmptyStyle(),this.style.addSprite(T,l,d,v=>{v||this._update(!0)}),this}removeSprite(T){return this._lazyInitEmptyStyle(),this.style.removeSprite(T),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(T,l={}){return this._lazyInitEmptyStyle(),this.style.setSprite(T,l,d=>{d||this._update(!0)}),this}setLight(T,l={}){return this._lazyInitEmptyStyle(),this.style.setLight(T,l),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(T,l){return this.style.setFeatureState(T,l),this._update()}removeFeatureState(T,l){return this.style.removeFeatureState(T,l),this._update()}getFeatureState(T){return this.style.getFeatureState(T)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let T=0,l=0;return this._container&&(T=this._container.clientWidth||400,l=this._container.clientHeight||300),[T,l]}_setupContainer(){let T=this._container;T.classList.add(\"maplibregl-map\");let l=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",T);this._interactive&&l.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",l),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");let d=this._containerDimensions(),v=this._getClampedPixelRatio(d[0],d[1]);this._resizeCanvas(d[0],d[1],v);let b=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",T),M=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(O=>{M[O]=c.create(\"div\",`maplibregl-ctrl-${O} `,b)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",this._container);let T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";navigator.platform.indexOf(\"Mac\")===0&&(T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use \\u2318 + scroll to zoom the map\"),this._cooperativeGesturesScreen.innerHTML=`\n
${T}
\n
${typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\n `,this._cooperativeGesturesScreen.setAttribute(\"aria-hidden\",\"true\"),this._canvasContainer.addEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add(\"maplibregl-cooperative-gestures\")}_destroyCooperativeGestures(){c.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove(\"maplibregl-cooperative-gestures\")}_resizeCanvas(T,l,d){this._canvas.width=Math.floor(d*T),this._canvas.height=Math.floor(d*l),this._canvas.style.width=`${T}px`,this._canvas.style.height=`${l}px`}_setupPainter(){let T={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},l=null;this._canvas.addEventListener(\"webglcontextcreationerror\",v=>{l={requestedAttributes:T},v&&(l.statusMessage=v.statusMessage,l.type=v.type)},{once:!0});let d=this._canvas.getContext(\"webgl2\",T)||this._canvas.getContext(\"webgl\",T);if(!d){let v=\"Failed to initialize WebGL\";throw l?(l.message=v,new Error(JSON.stringify(l))):new Error(v)}this.painter=new ah(d,this.transform),f.testSupport(d)}_onCooperativeGesture(T,l,d){return!l&&d<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\")},100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(T){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||T,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(T){return this._update(),this._renderTaskQueue.add(T)}_cancelRenderFrame(T){this._renderTaskQueue.remove(T)}_render(T){let l=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(T),this._removed)return;let d=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let b=this.transform.zoom,M=n.h.now();this.style.zoomHistory.update(b,M);let O=new n.a8(b,{now:M,fadeDuration:l,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),B=O.crossFadingFactor();B===1&&B===this._crossFadingFactor||(d=!0,this._crossFadingFactor=B),this.style.update(O)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,l,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:l,showPadding:this.showPadding}),this.fire(new n.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,n.bg.mark(n.bh.load),this.fire(new n.k(\"load\"))),this.style&&(this.style.hasTransitions()||d)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let v=this._sourcesDirty||this._styleDirty||this._placementDirty;return v||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.k(\"idle\")),!this._loaded||this._fullyLoaded||v||(this._fullyLoaded=!0,n.bg.mark(n.bh.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var T;this._hash&&this._hash.remove();for(let d of this._controls)d.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),j.removeThrottleControl(this._imageQueueHandle),(T=this._resizeObserver)===null||T===void 0||T.disconnect();let l=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");l&&l.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove(\"maplibregl-map\"),n.bg.clearMetrics(),this._removed=!0,this.fire(new n.k(\"remove\"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=n.h.frame(T=>{n.bg.frame(T),this._frame=null,this._render(T)}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(T){this._showTileBoundaries!==T&&(this._showTileBoundaries=T,this._update())}get showPadding(){return!!this._showPadding}set showPadding(T){this._showPadding!==T&&(this._showPadding=T,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(T){this._showCollisionBoxes!==T&&(this._showCollisionBoxes=T,T?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(T){this._showOverdrawInspector!==T&&(this._showOverdrawInspector=T,this._update())}get repaint(){return!!this._repaint}set repaint(T){this._repaint!==T&&(this._repaint=T,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(T){this._vertices=T,this._update()}get version(){return nr}getCameraTargetElevation(){return this.transform.elevation}},bi.NavigationControl=class{constructor(T){this._updateZoomButtons=()=>{let l=this._map.getZoom(),d=l===this._map.getMaxZoom(),v=l===this._map.getMinZoom();this._zoomInButton.disabled=d,this._zoomOutButton.disabled=v,this._zoomInButton.setAttribute(\"aria-disabled\",d.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",v.toString())},this._rotateCompassArrow=()=>{let l=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=l},this._setButtonTitle=(l,d)=>{let v=this._map._getUIString(`NavigationControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)},this.options=n.e({},aA,T),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",l=>l.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",l=>this._map.zoomIn({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",l=>this._map.zoomOut({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",l=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:l}):this._map.resetNorth({},{originalEvent:l})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(T){return this._map=T,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Bd(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(T,l){let d=c.create(\"button\",T,this._container);return d.type=\"button\",d.addEventListener(\"click\",l),d}},bi.GeolocateControl=class extends n.E{constructor(T){super(),this._onSuccess=l=>{if(this._map){if(this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new n.k(\"outofmaxbounds\",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(l),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(l),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"geolocate\",l)),this._finish()}},this._updateCamera=l=>{let d=new n.L(l.coords.longitude,l.coords.latitude),v=l.coords.accuracy,b=this._map.getBearing(),M=n.e({bearing:b},this.options.fitBoundsOptions),O=Si.fromLngLat(d,v);this._map.fitBounds(O,M,{geolocateSource:!0})},this._updateMarker=l=>{if(l){let d=new n.L(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(d).addTo(this._map),this._userLocationDotMarker.setLngLat(d).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=l=>{if(this._map){if(this.options.trackUserLocation)if(l.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&Sf)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"error\",l)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=l=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",d=>d.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",l===!1){n.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}else{let d=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new mh({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new mh({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",d=>{d.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||d.originalEvent&&d.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new n.k(\"trackuserlocationend\")))})}},this.options=n.e({},kn,T)}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(l,d=!1){Hn===void 0||d?window.navigator.permissions!==void 0?window.navigator.permissions.query({name:\"geolocation\"}).then(v=>{Hn=v.state!==\"denied\",l(Hn)}).catch(()=>{Hn=!!window.navigator.geolocation,l(Hn)}):(Hn=!!window.navigator.geolocation,l(Hn)):l(Hn)}(this._setupUI),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,wn=0,Sf=!1}_isOutOfMapMaxBounds(T){let l=this._map.getMaxBounds(),d=T.coords;return l&&(d.longitudel.getEast()||d.latitudel.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let T=this._map.getBounds(),l=T.getSouthEast(),d=T.getNorthEast(),v=l.distanceTo(d),b=Math.ceil(this._accuracy/(v/this._map._container.clientHeight)*2);this._circleElement.style.width=`${b}px`,this._circleElement.style.height=`${b}px`}trigger(){if(!this._setup)return n.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new n.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":wn--,Sf=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new n.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new n.k(\"trackuserlocationstart\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let T;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),wn++,wn>1?(T={maximumAge:6e5,timeout:0},Sf=!0):(T=this.options.positionOptions,Sf=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,T)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},bi.AttributionControl=ua,bi.LogoControl=un,bi.ScaleControl=class{constructor(T){this._onMove=()=>{gh(this._map,this._container,this.options)},this.setUnit=l=>{this.options.unit=l,gh(this._map,this._container,this.options)},this.options=n.e({},Es,T)}getDefaultPosition(){return\"bottom-left\"}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",T.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},bi.FullscreenControl=class extends n.E{constructor(T={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,T&&T.container&&(T.container instanceof HTMLElement?this._container=T.container:n.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(T){return this._map=T,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let T=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",T).setAttribute(\"aria-hidden\",\"true\"),T.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let T=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",T),this._fullscreenButton.title=T}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new n.k(\"fullscreenstart\")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new n.k(\"fullscreenend\")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},bi.TerrainControl=class{constructor(T){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"))},this.options=T}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},bi.Popup=class extends n.E{constructor(T){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new n.k(\"close\")),this),this._onMouseUp=l=>{this._update(l.point)},this._onMouseMove=l=>{this._update(l.point)},this._onDrag=l=>{this._update(l.point)},this._update=l=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let O of this.options.className.split(\" \"))this._container.classList.add(O);this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!l)return;let d=this._pos=this._trackPointer&&l?l:this._map.project(this._lngLat),v=this.options.anchor,b=Tf(this.options.offset);if(!v){let O=this._container.offsetWidth,B=this._container.offsetHeight,U;U=d.y+b.bottom.ythis._map.transform.height-B?[\"bottom\"]:[],d.xthis._map.transform.width-O/2&&U.push(\"right\"),v=U.length===0?\"bottom\":U.join(\"-\")}let M=d.add(b[v]).round();c.setTransform(this._container,`${ji[v]} translate(${M.x}px,${M.y}px)`),w_(this._container,v,\"popup\")},this._onClose=()=>{this.remove()},this.options=n.e(Object.create(p0),T)}addTo(T){return this._map&&this.remove(),this._map=T,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new n.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(T){return this._lngLat=n.L.convert(T),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(T){return this.setDOMContent(document.createTextNode(T))}setHTML(T){let l=document.createDocumentFragment(),d=document.createElement(\"body\"),v;for(d.innerHTML=T;v=d.firstChild,v;)l.appendChild(v);return this.setDOMContent(l)}getMaxWidth(){var T;return(T=this._container)===null||T===void 0?void 0:T.style.maxWidth}setMaxWidth(T){return this.options.maxWidth=T,this._update(),this}setDOMContent(T){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(T),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(T){this._container&&this._container.classList.add(T)}removeClassName(T){this._container&&this._container.classList.remove(T)}setOffset(T){return this.options.offset=T,this._update(),this}toggleClassName(T){if(this._container)return this._container.classList.toggle(T)}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let T=this._container.querySelector(Fd);T&&T.focus()}},bi.Marker=mh,bi.Style=Gn,bi.LngLat=n.L,bi.LngLatBounds=Si,bi.Point=n.P,bi.MercatorCoordinate=n.U,bi.Evented=n.E,bi.AJAXError=n.bi,bi.config=n.c,bi.CanvasSource=Vo,bi.GeoJSONSource=Xi,bi.ImageSource=ki,bi.RasterDEMTileSource=Rc,bi.RasterTileSource=kc,bi.VectorTileSource=ll,bi.VideoSource=ts,bi.setRTLTextPlugin=n.bj,bi.getRTLTextPluginStatus=n.bk,bi.prewarm=function(){bo().acquire(oi)},bi.clearPrewarmedResources=function(){let T=ul;T&&(T.isPreloaded()&&T.numActive()===1?(T.release(oi),ul=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},Ho.extend(bi,{isSafari:n.ac,getPerformanceMetrics:n.bg.getPerformanceMetrics}),bi});var s=r;return s})});var TG=Br((p6t,oP)=>{(function(e,t,r,i){\"use strict\";var s=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],n=t.createElement(\"div\"),o=\"function\",c=Math.round,f=Math.abs,_=Date.now;function w(lt,ft,Lt){return setTimeout(K(lt,Lt),ft)}function I(lt,ft,Lt){return Array.isArray(lt)?(R(lt,Lt[ft],Lt),!0):!1}function R(lt,ft,Lt){var Kt;if(lt)if(lt.forEach)lt.forEach(ft,Lt);else if(lt.length!==i)for(Kt=0;Kt\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",ti=e.console&&(e.console.warn||e.console.log);return ti&&ti.call(e.console,Kt,Qe),lt.apply(this,arguments)}}var j;typeof Object.assign!=\"function\"?j=function(ft){if(ft===i||ft===null)throw new TypeError(\"Cannot convert undefined or null to object\");for(var Lt=Object(ft),Kt=1;Kt-1}function le(lt){return lt.trim().split(/\\s+/g)}function ue(lt,ft,Lt){if(lt.indexOf&&!Lt)return lt.indexOf(ft);for(var Kt=0;KtVs[ft]}):Kt=Kt.sort()),Kt}function rr(lt,ft){for(var Lt,Kt,ge=ft[0].toUpperCase()+ft.slice(1),Qe=0;Qe1&&!Lt.firstMultiple?Lt.firstMultiple=bo(ft):ge===1&&(Lt.firstMultiple=!1);var Qe=Lt.firstInput,ti=Lt.firstMultiple,is=ti?ti.center:Qe.center,Ts=ft.center=hl(Kt);ft.timeStamp=_(),ft.deltaTime=ft.timeStamp-Qe.timeStamp,ft.angle=jo(is,Ts),ft.distance=ve(is,Ts),du(Lt,ft),ft.offsetDirection=wo(ft.deltaX,ft.deltaY);var Vs=Ia(ft.deltaTime,ft.deltaX,ft.deltaY);ft.overallVelocityX=Vs.x,ft.overallVelocityY=Vs.y,ft.overallVelocity=f(Vs.x)>f(Vs.y)?Vs.x:Vs.y,ft.scale=ti?Ul(ti.pointers,Kt):1,ft.rotation=ti?gn(ti.pointers,Kt):0,ft.maxPointers=Lt.prevInput?ft.pointers.length>Lt.prevInput.maxPointers?ft.pointers.length:Lt.prevInput.maxPointers:ft.pointers.length,ul(Lt,ft);var Ra=lt.element;Xt(ft.srcEvent.target,Ra)&&(Ra=ft.srcEvent.target),ft.target=Ra}function du(lt,ft){var Lt=ft.center,Kt=lt.offsetDelta||{},ge=lt.prevDelta||{},Qe=lt.prevInput||{};(ft.eventType===Xi||Qe.eventType===ki)&&(ge=lt.prevDelta={x:Qe.deltaX||0,y:Qe.deltaY||0},Kt=lt.offsetDelta={x:Lt.x,y:Lt.y}),ft.deltaX=ge.x+(Lt.x-Kt.x),ft.deltaY=ge.y+(Lt.y-Kt.y)}function ul(lt,ft){var Lt=lt.lastInterval||ft,Kt=ft.timeStamp-Lt.timeStamp,ge,Qe,ti,is;if(ft.eventType!=ts&&(Kt>Rc||Lt.velocity===i)){var Ts=ft.deltaX-Lt.deltaX,Vs=ft.deltaY-Lt.deltaY,Ra=Ia(Kt,Ts,Vs);Qe=Ra.x,ti=Ra.y,ge=f(Ra.x)>f(Ra.y)?Ra.x:Ra.y,is=wo(Ts,Vs),lt.lastInterval=ft}else ge=Lt.velocity,Qe=Lt.velocityX,ti=Lt.velocityY,is=Lt.direction;ft.velocity=ge,ft.velocityX=Qe,ft.velocityY=ti,ft.direction=is}function bo(lt){for(var ft=[],Lt=0;Lt=f(ft)?lt<0?cl:xo:ft<0?Pa:na}function ve(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.sqrt(Kt*Kt+ge*ge)}function jo(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.atan2(ge,Kt)*180/Math.PI}function gn(lt,ft){return jo(ft[1],ft[0],ls)+jo(lt[1],lt[0],ls)}function Ul(lt,ft){return ve(ft[0],ft[1],ls)/ve(lt[0],lt[1],ls)}var Ca={mousedown:Xi,mousemove:Jn,mouseup:ki},Te=\"mousedown\",Dr=\"mousemove mouseup\";function gr(){this.evEl=Te,this.evWin=Dr,this.pressed=!1,mn.apply(this,arguments)}Y(gr,mn,{handler:function(ft){var Lt=Ca[ft.type];Lt&Xi&&ft.button===0&&(this.pressed=!0),Lt&Jn&&ft.which!==1&&(Lt=ki),this.pressed&&(Lt&ki&&(this.pressed=!1),this.callback(this.manager,Lt,{pointers:[ft],changedPointers:[ft],pointerType:ll,srcEvent:ft}))}});var Us={pointerdown:Xi,pointermove:Jn,pointerup:ki,pointercancel:ts,pointerout:ts},La={2:Si,3:Ns,4:ll,5:kc},Mr=\"pointerdown\",sa=\"pointermove pointerup pointercancel\";e.MSPointerEvent&&!e.PointerEvent&&(Mr=\"MSPointerDown\",sa=\"MSPointerMove MSPointerUp MSPointerCancel\");function gt(){this.evEl=Mr,this.evWin=sa,mn.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}Y(gt,mn,{handler:function(ft){var Lt=this.store,Kt=!1,ge=ft.type.toLowerCase().replace(\"ms\",\"\"),Qe=Us[ge],ti=La[ft.pointerType]||ft.pointerType,is=ti==Si,Ts=ue(Lt,ft.pointerId,\"pointerId\");Qe&Xi&&(ft.button===0||is)?Ts<0&&(Lt.push(ft),Ts=Lt.length-1):Qe&(ki|ts)&&(Kt=!0),!(Ts<0)&&(Lt[Ts]=ft,this.callback(this.manager,Qe,{pointers:Lt,changedPointers:[ft],pointerType:ti,srcEvent:ft}),Kt&&Lt.splice(Ts,1))}});var tt={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},nt=\"touchstart\",ht=\"touchstart touchmove touchend touchcancel\";function vt(){this.evTarget=nt,this.evWin=ht,this.started=!1,mn.apply(this,arguments)}Y(vt,mn,{handler:function(ft){var Lt=tt[ft.type];if(Lt===Xi&&(this.started=!0),!!this.started){var Kt=xt.call(this,ft,Lt);Lt&(ki|ts)&&Kt[0].length-Kt[1].length===0&&(this.started=!1),this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}}});function xt(lt,ft){var Lt=De(lt.touches),Kt=De(lt.changedTouches);return ft&(ki|ts)&&(Lt=Ke(Lt.concat(Kt),\"identifier\",!0)),[Lt,Kt]}var _t={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},Dt=\"touchstart touchmove touchend touchcancel\";function Mt(){this.evTarget=Dt,this.targetIds={},mn.apply(this,arguments)}Y(Mt,mn,{handler:function(ft){var Lt=_t[ft.type],Kt=Vt.call(this,ft,Lt);Kt&&this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}});function Vt(lt,ft){var Lt=De(lt.touches),Kt=this.targetIds;if(ft&(Xi|Jn)&&Lt.length===1)return Kt[Lt[0].identifier]=!0,[Lt,Lt];var ge,Qe,ti=De(lt.changedTouches),is=[],Ts=this.target;if(Qe=Lt.filter(function(Vs){return Xt(Vs.target,Ts)}),ft===Xi)for(ge=0;ge-1&&Kt.splice(Qe,1)};setTimeout(ge,ie)}}function Xe(lt){for(var ft=lt.srcEvent.clientX,Lt=lt.srcEvent.clientY,Kt=0;Kt-1&&this.requireFail.splice(ft,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(lt){return!!this.simultaneous[lt.id]},emit:function(lt){var ft=this,Lt=this.state;function Kt(ge){ft.manager.emit(ge,lt)}Lt=ai&&Kt(ft.options.event+Vm(Lt))},tryEmit:function(lt){if(this.canEmit())return this.emit(lt);this.state=ln},canEmit:function(){for(var lt=0;ltft.threshold&&ge&ft.direction},attrTest:function(lt){return So.prototype.attrTest.call(this,lt)&&(this.state&Ss||!(this.state&Ss)&&this.directionTest(lt))},emit:function(lt){this.pX=lt.deltaX,this.pY=lt.deltaY;var ft=Go(lt.direction);ft&&(lt.additionalEvent=this.options.event+ft),this._super.emit.call(this,lt)}});function Ki(){So.apply(this,arguments)}Y(Ki,So,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.scale-1)>this.options.threshold||this.state&Ss)},emit:function(lt){if(lt.scale!==1){var ft=lt.scale<1?\"in\":\"out\";lt.additionalEvent=this.options.event+ft}this._super.emit.call(this,lt)}});function _i(){Dn.apply(this,arguments),this._timer=null,this._input=null}Y(_i,Dn,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[zi]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distanceft.time;if(this._input=lt,!Kt||!Lt||lt.eventType&(ki|ts)&&!ge)this.reset();else if(lt.eventType&Xi)this.reset(),this._timer=w(function(){this.state=ka,this.tryEmit()},ft.time,this);else if(lt.eventType&ki)return ka;return ln},reset:function(){clearTimeout(this._timer)},emit:function(lt){this.state===ka&&(lt&<.eventType&ki?this.manager.emit(this.options.event+\"up\",lt):(this._input.timeStamp=_(),this.manager.emit(this.options.event,this._input)))}});function Gl(){So.apply(this,arguments)}Y(Gl,So,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.rotation)>this.options.threshold||this.state&Ss)}});function cn(){So.apply(this,arguments)}Y(cn,So,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:as|ao,pointers:1},getTouchAction:function(){return jl.prototype.getTouchAction.call(this)},attrTest:function(lt){var ft=this.options.direction,Lt;return ft&(as|ao)?Lt=lt.overallVelocity:ft&as?Lt=lt.overallVelocityX:ft&ao&&(Lt=lt.overallVelocityY),this._super.attrTest.call(this,lt)&&ft<.offsetDirection&<.distance>this.options.threshold&<.maxPointers==this.options.pointers&&f(Lt)>this.options.velocity&<.eventType&ki},emit:function(lt){var ft=Go(lt.offsetDirection);ft&&this.manager.emit(this.options.event+ft,lt),this.manager.emit(this.options.event,lt)}});function pu(){Dn.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}Y(pu,Dn,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ni]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distance{\"use strict\";hB.exports=U3;hB.exports.default=U3;function U3(e,t,r){r=r||2;var i=t&&t.length,s=i?t[0]*r:e.length,n=Lq(e,0,s,r,!0),o=[];if(!n||n.next===n.prev)return o;var c,f,_,w,I,R,N;if(i&&(n=wpt(e,t,n,r)),e.length>80*r){c=_=e[0],f=w=e[1];for(var j=r;j_&&(_=I),R>w&&(w=R);N=Math.max(_-c,w-f),N=N!==0?32767/N:0}return X2(n,o,r,c,f,N,0),o}function Lq(e,t,r,i,s){var n,o;if(s===uB(e,t,r,i)>0)for(n=t;n=t;n-=i)o=Cq(n,e[n],e[n+1],o);return o&&V3(o,o.next)&&(J2(o),o=o.next),o}function jg(e,t){if(!e)return e;t||(t=e);var r=e,i;do if(i=!1,!r.steiner&&(V3(r,r.next)||_s(r.prev,r,r.next)===0)){if(J2(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function X2(e,t,r,i,s,n,o){if(e){!o&&n&&Ppt(e,i,s,n);for(var c=e,f,_;e.prev!==e.next;){if(f=e.prev,_=e.next,n?vpt(e,i,s,n):ypt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),J2(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=xpt(jg(e),t,r),X2(e,t,r,i,s,n,2)):o===2&&bpt(e,t,r,i,s,n):X2(jg(e),t,r,i,s,n,1);break}}}}function ypt(e){var t=e.prev,r=e,i=e.next;if(_s(t,r,i)>=0)return!1;for(var s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&Jv(s,c,n,f,o,_,j.x,j.y)&&_s(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function vpt(e,t,r,i){var s=e.prev,n=e,o=e.next;if(_s(s,n,o)>=0)return!1;for(var c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=lB(N,j,t,r,i),K=lB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function xpt(e,t,r){var i=e;do{var s=i.prev,n=i.next.next;!V3(s,n)&&kq(s,i,i.next,n)&&K2(s,n)&&K2(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),J2(i),J2(i.next),i=e=n),i=i.next}while(i!==e);return jg(i)}function bpt(e,t,r,i,s,n){var o=e;do{for(var c=o.next.next;c!==o.prev;){if(o.i!==c.i&&Lpt(o,c)){var f=Rq(o,c);o=jg(o,o.next),f=jg(f,f.next),X2(o,t,r,i,s,n,0),X2(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function wpt(e,t,r,i){var s=[],n,o,c,f,_;for(n=0,o=t.length;n=r.next.y&&r.next.y!==r.y){var c=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(c<=i&&c>n&&(n=c,o=r.x=r.x&&r.x>=_&&i!==r.x&&Jv(so.x||r.x===o.x&&Ept(o,r)))&&(o=r,I=R)),r=r.next;while(r!==f);return o}function Ept(e,t){return _s(e.prev,e,t.prev)<0&&_s(t.next,e,e.next)<0}function Ppt(e,t,r,i){var s=e;do s.z===0&&(s.z=lB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,Ipt(s)}function Ipt(e){var t,r,i,s,n,o,c,f,_=1;do{for(r=e,e=null,n=null,o=0;r;){for(o++,i=r,c=0,t=0;t<_&&(c++,i=i.nextZ,!!i);t++);for(f=_;c>0||f>0&&i;)c!==0&&(f===0||!i||r.z<=i.z)?(s=r,r=r.nextZ,c--):(s=i,i=i.nextZ,f--),n?n.nextZ=s:e=s,s.prevZ=n,n=s;r=i}n.nextZ=null,_*=2}while(o>1);return e}function lB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Cpt(e){var t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function Lpt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!kpt(e,t)&&(K2(e,t)&&K2(t,e)&&Rpt(e,t)&&(_s(e.prev,e,t.prev)||_s(e,t.prev,t))||V3(e,t)&&_s(e.prev,e,e.next)>0&&_s(t.prev,t,t.next)>0)}function _s(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function V3(e,t){return e.x===t.x&&e.y===t.y}function kq(e,t,r,i){var s=N3(_s(e,t,r)),n=N3(_s(e,t,i)),o=N3(_s(r,i,e)),c=N3(_s(r,i,t));return!!(s!==n&&o!==c||s===0&&z3(e,r,t)||n===0&&z3(e,i,t)||o===0&&z3(r,e,i)||c===0&&z3(r,t,i))}function z3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function N3(e){return e>0?1:e<0?-1:0}function kpt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&kq(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function K2(e,t){return _s(e.prev,e,e.next)<0?_s(e,t,e.next)>=0&&_s(e,e.prev,t)>=0:_s(e,t,e.prev)<0||_s(e,e.next,t)<0}function Rpt(e,t){var r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function Rq(e,t){var r=new cB(e.i,e.x,e.y),i=new cB(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function Cq(e,t,r,i){var s=new cB(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function J2(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function cB(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}U3.deviation=function(e,t,r,i){var s=t&&t.length,n=s?t[0]*r:e.length,o=Math.abs(uB(e,0,n,r));if(s)for(var c=0,f=t.length;c0&&(i+=e[s-1].length,r.holes.push(i))}return r}});var nF=Br(Tx=>{\"use strict\";Object.defineProperty(Tx,\"__esModule\",{value:!0});Tx.DefaultSerializer=Tx.extendSerializer=void 0;function Hyt(e,t){let r=e.deserialize.bind(e),i=e.serialize.bind(e);return{deserialize(s){return t.deserialize(s,r)},serialize(s){return t.serialize(s,i)}}}Tx.extendSerializer=Hyt;var w$={deserialize(e){return Object.assign(Error(e.message),{name:e.name,stack:e.stack})},serialize(e){return{__error_marker:\"$$error\",message:e.message,name:e.name,stack:e.stack}}},qyt=e=>e&&typeof e==\"object\"&&\"__error_marker\"in e&&e.__error_marker===\"$$error\";Tx.DefaultSerializer={deserialize(e){return qyt(e)?w$.deserialize(e):e},serialize(e){return e instanceof Error?w$.serialize(e):e}}});var Mx=Br(km=>{\"use strict\";Object.defineProperty(km,\"__esModule\",{value:!0});km.serialize=km.deserialize=km.registerSerializer=void 0;var S$=nF(),zI=S$.DefaultSerializer;function Zyt(e){zI=S$.extendSerializer(zI,e)}km.registerSerializer=Zyt;function Yyt(e){return zI.deserialize(e)}km.deserialize=Yyt;function Qyt(e){return zI.serialize(e)}km.serialize=Qyt});var M$=Br(Ex=>{\"use strict\";Object.defineProperty(Ex,\"__esModule\",{value:!0});Ex.getBundleURL=Ex.getBaseURL=void 0;var sF;function $yt(){return sF||(sF=Xyt()),sF}Ex.getBundleURL=$yt;function Xyt(){try{throw new Error}catch(e){let t=(\"\"+e.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);if(t)return T$(t[0])}return\"/\"}function T$(e){return(\"\"+e).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/,\"$1\")+\"/\"}Ex.getBaseURL=T$});var aF=Br(Rm=>{\"use strict\";Object.defineProperty(Rm,\"__esModule\",{value:!0});Rm.isWorkerRuntime=Rm.getWorkerImplementation=Rm.defaultPoolSize=void 0;var E$=M$();Rm.defaultPoolSize=typeof navigator<\"u\"&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:4;var P$=e=>/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(e);function I$(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Kyt(){if(typeof Worker>\"u\")return class{constructor(){throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\")}};class e extends Worker{constructor(i,s){var n,o;typeof i==\"string\"&&s&&s._baseURL?i=new URL(i,s._baseURL):typeof i==\"string\"&&!P$(i)&&E$.getBundleURL().match(/^file:\\/\\//i)&&(i=new URL(i,E$.getBundleURL().replace(/\\/[^\\/]+$/,\"/\")),(!((n=s?.CORSWorkaround)!==null&&n!==void 0)||n)&&(i=I$(`importScripts(${JSON.stringify(i)});`))),typeof i==\"string\"&&P$(i)&&(!((o=s?.CORSWorkaround)!==null&&o!==void 0)||o)&&(i=I$(`importScripts(${JSON.stringify(i)});`)),super(i,s)}}class t extends e{constructor(i,s){let n=window.URL.createObjectURL(i);super(n,s)}static fromText(i,s){let n=new window.Blob([i],{type:\"text/javascript\"});return new t(n,s)}}return{blob:t,default:e}}var oF;function Jyt(){return oF||(oF=Kyt()),oF}Rm.getWorkerImplementation=Jyt;function tvt(){let e=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!e)}Rm.isWorkerRuntime=tvt});var L$=Br((Vle,C$)=>{var Px=1e3,Ix=Px*60,Cx=Ix*60,r_=Cx*24,evt=r_*7,rvt=r_*365.25;C$.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return ivt(e);if(r===\"number\"&&isFinite(e))return t.long?svt(e):nvt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function ivt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),i=(t[2]||\"ms\").toLowerCase();switch(i){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*rvt;case\"weeks\":case\"week\":case\"w\":return r*evt;case\"days\":case\"day\":case\"d\":return r*r_;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Cx;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Ix;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Px;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function nvt(e){var t=Math.abs(e);return t>=r_?Math.round(e/r_)+\"d\":t>=Cx?Math.round(e/Cx)+\"h\":t>=Ix?Math.round(e/Ix)+\"m\":t>=Px?Math.round(e/Px)+\"s\":e+\"ms\"}function svt(e){var t=Math.abs(e);return t>=r_?NI(e,t,r_,\"day\"):t>=Cx?NI(e,t,Cx,\"hour\"):t>=Ix?NI(e,t,Ix,\"minute\"):t>=Px?NI(e,t,Px,\"second\"):e+\" ms\"}function NI(e,t,r,i){var s=t>=r*1.5;return Math.round(e/r)+\" \"+i+(s?\"s\":\"\")}});var R$=Br((jle,k$)=>{function ovt(e){r.debug=r,r.default=r,r.coerce=f,r.disable=n,r.enable=s,r.enabled=o,r.humanize=L$(),r.destroy=_,Object.keys(e).forEach(w=>{r[w]=e[w]}),r.names=[],r.skips=[],r.formatters={};function t(w){let I=0;for(let R=0;R{if(kt===\"%%\")return\"%\";ut++;let qt=r.formatters[Xt];if(typeof qt==\"function\"){let le=et[ut];kt=qt.call(Y,le),et.splice(ut,1),ut--}return kt}),r.formatArgs.call(Y,et),(Y.log||r.log).apply(Y,et)}return Q.namespace=w,Q.useColors=r.useColors(),Q.color=r.selectColor(w),Q.extend=i,Q.destroy=r.destroy,Object.defineProperty(Q,\"enabled\",{enumerable:!0,configurable:!1,get:()=>R!==null?R:(N!==r.namespaces&&(N=r.namespaces,j=r.enabled(w)),j),set:et=>{R=et}}),typeof r.init==\"function\"&&r.init(Q),Q}function i(w,I){let R=r(this.namespace+(typeof I>\"u\"?\":\":I)+w);return R.log=this.log,R}function s(w){r.save(w),r.namespaces=w,r.names=[],r.skips=[];let I,R=(typeof w==\"string\"?w:\"\").split(/[\\s,]+/),N=R.length;for(I=0;I\"-\"+I)].join(\",\");return r.enable(\"\"),w}function o(w){if(w[w.length-1]===\"*\")return!0;let I,R;for(I=0,R=r.skips.length;I{hu.formatArgs=lvt;hu.save=cvt;hu.load=uvt;hu.useColors=avt;hu.storage=hvt();hu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})();hu.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"];function avt(){return typeof window<\"u\"&&window.process&&(window.process.type===\"renderer\"||window.process.__nwjs)?!0:typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)?!1:typeof document<\"u\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<\"u\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}function lvt(e){if(e[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+e[0]+(this.useColors?\"%c \":\" \")+\"+\"+UI.exports.humanize(this.diff),!this.useColors)return;let t=\"color: \"+this.color;e.splice(1,0,t,\"color: inherit\");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!==\"%%\"&&(r++,s===\"%c\"&&(i=r))}),e.splice(i,0,t)}hu.log=console.debug||console.log||(()=>{});function cvt(e){try{e?hu.storage.setItem(\"debug\",e):hu.storage.removeItem(\"debug\")}catch{}}function uvt(){let e;try{e=hu.storage.getItem(\"debug\")}catch{}return!e&&typeof process<\"u\"&&\"env\"in process&&(e=process.env.DEBUG),e}function hvt(){try{return localStorage}catch{}}UI.exports=R$()(hu);var{formatters:fvt}=UI.exports;fvt.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}}});var kS=Br(Lx=>{\"use strict\";var dvt=Lx&&Lx.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(Lx,\"__esModule\",{value:!0});Lx.AsyncSerialScheduler=void 0;var lF=class{constructor(t){this._baseObserver=t,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch(t=>this._baseObserver.error(t))}error(t){this._baseObserver.error(t)}schedule(t){let r=Promise.all(this._pendingPromises),i=[],s=o=>i.push(o),n=Promise.resolve().then(()=>dvt(this,void 0,void 0,function*(){yield r,yield t(s),this._pendingPromises.delete(n);for(let o of i)this._baseObserver.next(o)})).catch(o=>{this._pendingPromises.delete(n),this._baseObserver.error(o)});this._pendingPromises.add(n)}};Lx.AsyncSerialScheduler=lF});var O$=Br(D$=>{\"use strict\";Object.defineProperty(D$,\"__esModule\",{value:!0})});var cF=Br(Bl=>{\"use strict\";Object.defineProperty(Bl,\"__esModule\",{value:!0});Bl.registerObservableSymbol=Bl.getSymbol=Bl.hasSymbol=Bl.hasSymbols=void 0;var pvt=()=>typeof Symbol==\"function\";Bl.hasSymbols=pvt;var Avt=e=>Bl.hasSymbols()&&!!Symbol[e];Bl.hasSymbol=Avt;var mvt=e=>Bl.hasSymbol(e)?Symbol[e]:\"@@\"+e;Bl.getSymbol=mvt;function gvt(){Bl.hasSymbols()&&!Bl.hasSymbol(\"observable\")&&(Symbol.observable=Symbol(\"observable\"))}Bl.registerObservableSymbol=gvt;Bl.hasSymbol(\"asyncIterator\")||(Symbol.asyncIterator=Symbol.asyncIterator||Symbol.for(\"Symbol.asyncIterator\"))});var gd=Br(Vp=>{\"use strict\";Object.defineProperty(Vp,\"__esModule\",{value:!0});Vp.Observable=Vp.SubscriptionObserver=Vp.Subscription=void 0;O$();var DS=cF(),_vt=DS.getSymbol(\"iterator\"),hF=DS.getSymbol(\"observable\"),B$=DS.getSymbol(\"species\");function GI(e,t){let r=e[t];if(r!=null){if(typeof r!=\"function\")throw new TypeError(r+\" is not a function\");return r}}function RS(e){let t=e.constructor;return t!==void 0&&(t=t[B$],t===null&&(t=void 0)),t!==void 0?t:i_}function yvt(e){return e instanceof i_}function kx(e){kx.log?kx.log(e):setTimeout(()=>{throw e},0)}function jI(e){Promise.resolve().then(()=>{try{e()}catch(t){kx(t)}})}function F$(e){let t=e._cleanup;if(t!==void 0&&(e._cleanup=void 0,!!t))try{if(typeof t==\"function\")t();else{let r=GI(t,\"unsubscribe\");r&&r.call(t)}}catch(r){kx(r)}}function fF(e){e._observer=void 0,e._queue=void 0,e._state=\"closed\"}function vvt(e){let t=e._queue;if(t){e._queue=void 0,e._state=\"ready\";for(let r of t)if(z$(e,r.type,r.value),e._state===\"closed\")break}}function z$(e,t,r){e._state=\"running\";let i=e._observer;try{let s=i?GI(i,t):void 0;switch(t){case\"next\":s&&s.call(i,r);break;case\"error\":if(fF(e),s)s.call(i,r);else throw r;break;case\"complete\":fF(e),s&&s.call(i);break}}catch(s){kx(s)}e._state===\"closed\"?F$(e):e._state===\"running\"&&(e._state=\"ready\")}function uF(e,t,r){if(e._state!==\"closed\"){if(e._state===\"buffering\"){e._queue=e._queue||[],e._queue.push({type:t,value:r});return}if(e._state!==\"ready\"){e._state=\"buffering\",e._queue=[{type:t,value:r}],jI(()=>vvt(e));return}z$(e,t,r)}}var WI=class{constructor(t,r){this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state=\"initializing\";let i=new HI(this);try{this._cleanup=r.call(void 0,i)}catch(s){i.error(s)}this._state===\"initializing\"&&(this._state=\"ready\")}get closed(){return this._state===\"closed\"}unsubscribe(){this._state!==\"closed\"&&(fF(this),F$(this))}};Vp.Subscription=WI;var HI=class{constructor(t){this._subscription=t}get closed(){return this._subscription._state===\"closed\"}next(t){uF(this._subscription,\"next\",t)}error(t){uF(this._subscription,\"error\",t)}complete(){uF(this._subscription,\"complete\")}};Vp.SubscriptionObserver=HI;var i_=class e{constructor(t){if(!(this instanceof e))throw new TypeError(\"Observable cannot be called as a function\");if(typeof t!=\"function\")throw new TypeError(\"Observable initializer must be a function\");this._subscriber=t}subscribe(t,r,i){return(typeof t!=\"object\"||t===null)&&(t={next:t,error:r,complete:i}),new WI(t,this._subscriber)}pipe(t,...r){let i=this;for(let s of[t,...r])i=s(i);return i}tap(t,r,i){let s=typeof t!=\"object\"||t===null?{next:t,error:r,complete:i}:t;return new e(n=>this.subscribe({next(o){s.next&&s.next(o),n.next(o)},error(o){s.error&&s.error(o),n.error(o)},complete(){s.complete&&s.complete(),n.complete()},start(o){s.start&&s.start(o)}}))}forEach(t){return new Promise((r,i)=>{if(typeof t!=\"function\"){i(new TypeError(t+\" is not a function\"));return}function s(){n.unsubscribe(),r(void 0)}let n=this.subscribe({next(o){try{t(o,s)}catch(c){i(c),n.unsubscribe()}},error(o){i(o)},complete(){r(void 0)}})})}map(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){let n=s;try{n=t(s)}catch(o){return i.error(o)}i.next(n)},error(s){i.error(s)},complete(){i.complete()}}))}filter(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){try{if(!t(s))return}catch(n){return i.error(n)}i.next(s)},error(s){i.error(s)},complete(){i.complete()}}))}reduce(t,r){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let i=RS(this),s=arguments.length>1,n=!1,o=r;return new i(c=>this.subscribe({next(f){let _=!n;if(n=!0,!_||s)try{o=t(o,f)}catch(w){return c.error(w)}else o=f},error(f){c.error(f)},complete(){if(!n&&!s)return c.error(new TypeError(\"Cannot reduce an empty sequence\"));c.next(o),c.complete()}}))}concat(...t){let r=RS(this);return new r(i=>{let s,n=0;function o(c){s=c.subscribe({next(f){i.next(f)},error(f){i.error(f)},complete(){n===t.length?(s=void 0,i.complete()):o(r.from(t[n++]))}})}return o(this),()=>{s&&(s.unsubscribe(),s=void 0)}})}flatMap(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>{let s=[],n=this.subscribe({next(c){let f;if(t)try{f=t(c)}catch(w){return i.error(w)}else f=c;let _=r.from(f).subscribe({next(w){i.next(w)},error(w){i.error(w)},complete(){let w=s.indexOf(_);w>=0&&s.splice(w,1),o()}});s.push(_)},error(c){i.error(c)},complete(){o()}});function o(){n.closed&&s.length===0&&i.complete()}return()=>{s.forEach(c=>c.unsubscribe()),n.unsubscribe()}})}[(Symbol.observable,hF)](){return this}static from(t){let r=typeof this==\"function\"?this:e;if(t==null)throw new TypeError(t+\" is not an object\");let i=GI(t,hF);if(i){let s=i.call(t);if(Object(s)!==s)throw new TypeError(s+\" is not an object\");return yvt(s)&&s.constructor===r?s:new r(n=>s.subscribe(n))}if(DS.hasSymbol(\"iterator\")){let s=GI(t,_vt);if(s)return new r(n=>{jI(()=>{if(!n.closed){for(let o of s.call(t))if(n.next(o),n.closed)return;n.complete()}})})}if(Array.isArray(t))return new r(s=>{jI(()=>{if(!s.closed){for(let n of t)if(s.next(n),s.closed)return;s.complete()}})});throw new TypeError(t+\" is not observable\")}static of(...t){let r=typeof this==\"function\"?this:e;return new r(i=>{jI(()=>{if(!i.closed){for(let s of t)if(i.next(s),i.closed)return;i.complete()}})})}static get[B$](){return this}};Vp.Observable=i_;DS.hasSymbols()&&Object.defineProperty(i_,Symbol(\"extensions\"),{value:{symbol:hF,hostReportError:kx},configurable:!0});Vp.default=i_});var Dm=Br(dF=>{\"use strict\";Object.defineProperty(dF,\"__esModule\",{value:!0});function xvt(e){typeof e==\"function\"?e():e&&typeof e.unsubscribe==\"function\"&&e.unsubscribe()}dF.default=xvt});var N$=Br(OS=>{\"use strict\";var bvt=OS&&OS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(OS,\"__esModule\",{value:!0});var wvt=kS(),Svt=gd(),Tvt=Dm();function Mvt(e){return t=>new Svt.default(r=>{let i=new wvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>bvt(this,void 0,void 0,function*(){(yield e(n))&&o(n)}))}});return()=>Tvt.default(s)})}OS.default=Mvt});var V$=Br(Rx=>{\"use strict\";Object.defineProperty(Rx,\"__esModule\",{value:!0});Rx.isIterator=Rx.isAsyncIterator=void 0;var U$=cF();function Evt(e){return e&&U$.hasSymbol(\"asyncIterator\")&&e[Symbol.asyncIterator]}Rx.isAsyncIterator=Evt;function Pvt(e){return e&&U$.hasSymbol(\"iterator\")&&e[Symbol.iterator]}Rx.isIterator=Pvt});var G$=Br(n_=>{\"use strict\";var Ivt=n_&&n_.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Cvt=n_&&n_.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof __values==\"function\"?__values(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}};Object.defineProperty(n_,\"__esModule\",{value:!0});var Lvt=kS(),j$=V$(),kvt=gd(),Rvt=Dm();function Dvt(e){return t=>new kvt.default(r=>{let i=new Lvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Ivt(this,void 0,void 0,function*(){var c,f;let _=yield e(n);if(j$.isIterator(_)||j$.isAsyncIterator(_))try{for(var w=Cvt(_),I;I=yield w.next(),!I.done;){let R=I.value;o(R)}}catch(R){c={error:R}}finally{try{I&&!I.done&&(f=w.return)&&(yield f.call(w))}finally{if(c)throw c.error}}else _.map(R=>o(R))}))}});return()=>Rvt.default(s)})}n_.default=Dvt});var W$=Br(pF=>{\"use strict\";Object.defineProperty(pF,\"__esModule\",{value:!0});var Ovt=gd();function Bvt(e){return new Ovt.Observable(t=>{let r=0,i=setInterval(()=>{t.next(r++)},e);return()=>clearInterval(i)})}pF.default=Bvt});var H$=Br(BS=>{\"use strict\";var Fvt=BS&&BS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(BS,\"__esModule\",{value:!0});var zvt=kS(),Nvt=gd(),Uvt=Dm();function Vvt(e){return t=>new Nvt.default(r=>{let i=new zvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Fvt(this,void 0,void 0,function*(){let c=yield e(n);o(c)}))}});return()=>Uvt.default(s)})}BS.default=Vvt});var Z$=Br(AF=>{\"use strict\";Object.defineProperty(AF,\"__esModule\",{value:!0});var q$=gd(),jvt=Dm();function Gvt(...e){return e.length===0?q$.Observable.from([]):new q$.Observable(t=>{let r=0,i=e.map(n=>n.subscribe({error(o){t.error(o),s()},next(o){t.next(o)},complete(){++r===e.length&&(t.complete(),s())}})),s=()=>{i.forEach(n=>jvt.default(n))};return s})}AF.default=Gvt});var _F=Br(gF=>{\"use strict\";Object.defineProperty(gF,\"__esModule\",{value:!0});var Wvt=gd(),mF=class extends Wvt.default{constructor(){super(t=>(this._observers.add(t),()=>this._observers.delete(t))),this._observers=new Set}next(t){for(let r of this._observers)r.next(t)}error(t){for(let r of this._observers)r.error(t)}complete(){for(let t of this._observers)t.complete()}};gF.default=mF});var Y$=Br(yF=>{\"use strict\";Object.defineProperty(yF,\"__esModule\",{value:!0});var Hvt=gd(),qvt=_F(),Zvt=Dm();function Yvt(e){let t=new qvt.default,r,i=0;return new Hvt.default(s=>{r||(r=e.subscribe(t));let n=t.subscribe(s);return i++,()=>{i--,n.unsubscribe(),i===0&&(Zvt.default(r),r=void 0)}})}yF.default=Yvt});var Q$=Br(FS=>{\"use strict\";var Qvt=FS&&FS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(FS,\"__esModule\",{value:!0});var $vt=kS(),Xvt=gd(),Kvt=Dm();function Jvt(e,t){return r=>new Xvt.default(i=>{let s,n=0,o=new $vt.AsyncSerialScheduler(i),c=r.subscribe({complete(){o.complete()},error(f){o.error(f)},next(f){o.schedule(_=>Qvt(this,void 0,void 0,function*(){s=yield e(n===0?typeof t>\"u\"?f:t:s,f,n++),_(s)}))}});return()=>Kvt.default(c)})}FS.default=Jvt});var $$=Br(zs=>{\"use strict\";Object.defineProperty(zs,\"__esModule\",{value:!0});zs.unsubscribe=zs.Subject=zs.scan=zs.Observable=zs.multicast=zs.merge=zs.map=zs.interval=zs.flatMap=zs.filter=void 0;var txt=N$();Object.defineProperty(zs,\"filter\",{enumerable:!0,get:function(){return txt.default}});var ext=G$();Object.defineProperty(zs,\"flatMap\",{enumerable:!0,get:function(){return ext.default}});var rxt=W$();Object.defineProperty(zs,\"interval\",{enumerable:!0,get:function(){return rxt.default}});var ixt=H$();Object.defineProperty(zs,\"map\",{enumerable:!0,get:function(){return ixt.default}});var nxt=Z$();Object.defineProperty(zs,\"merge\",{enumerable:!0,get:function(){return nxt.default}});var sxt=Y$();Object.defineProperty(zs,\"multicast\",{enumerable:!0,get:function(){return sxt.default}});var oxt=gd();Object.defineProperty(zs,\"Observable\",{enumerable:!0,get:function(){return oxt.default}});var axt=Q$();Object.defineProperty(zs,\"scan\",{enumerable:!0,get:function(){return axt.default}});var lxt=_F();Object.defineProperty(zs,\"Subject\",{enumerable:!0,get:function(){return lxt.default}});var cxt=Dm();Object.defineProperty(zs,\"unsubscribe\",{enumerable:!0,get:function(){return cxt.default}})});var zS=Br((nce,X$)=>{X$.exports=$$()});var K$=Br(qI=>{\"use strict\";Object.defineProperty(qI,\"__esModule\",{value:!0});qI.allSettled=void 0;function uxt(e){return Promise.all(e.map(t=>{let r=n=>({status:\"fulfilled\",value:n}),i=n=>({status:\"rejected\",reason:n}),s=Promise.resolve(t);try{return s.then(r,i)}catch(n){return Promise.reject(n)}}))}qI.allSettled=uxt});var J$=Br(NS=>{\"use strict\";Object.defineProperty(NS,\"__esModule\",{value:!0});NS.PoolEventType=void 0;var hxt;(function(e){e.initialized=\"initialized\",e.taskCanceled=\"taskCanceled\",e.taskCompleted=\"taskCompleted\",e.taskFailed=\"taskFailed\",e.taskQueued=\"taskQueued\",e.taskQueueDrained=\"taskQueueDrained\",e.taskStart=\"taskStart\",e.terminated=\"terminated\"})(hxt=NS.PoolEventType||(NS.PoolEventType={}))});var US=Br(eh=>{\"use strict\";Object.defineProperty(eh,\"__esModule\",{value:!0});eh.$worker=eh.$transferable=eh.$terminate=eh.$events=eh.$errors=void 0;eh.$errors=Symbol(\"thread.errors\");eh.$events=Symbol(\"thread.events\");eh.$terminate=Symbol(\"thread.terminate\");eh.$transferable=Symbol(\"thread.transferable\");eh.$worker=Symbol(\"thread.worker\")});var xF=Br(ZI=>{\"use strict\";Object.defineProperty(ZI,\"__esModule\",{value:!0});ZI.Thread=void 0;var vF=US();function tX(e){throw Error(e)}ZI.Thread={errors(e){return e[vF.$errors]||tX(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},events(e){return e[vF.$events]||tX(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},terminate(e){return e[vF.$terminate]()}}});var nX=Br(rh=>{\"use strict\";var s_=rh&&rh.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},fxt=rh&&rh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rh,\"__esModule\",{value:!0});rh.Pool=rh.Thread=rh.PoolEventType=void 0;var dxt=fxt(VI()),bF=zS(),eX=K$(),pxt=aF(),ia=J$();Object.defineProperty(rh,\"PoolEventType\",{enumerable:!0,get:function(){return ia.PoolEventType}});var rX=xF();Object.defineProperty(rh,\"Thread\",{enumerable:!0,get:function(){return rX.Thread}});var Axt=1;function mxt(e){let t=[];for(let r=0;rsetTimeout(t,e))}function _xt(e,t){return e.reduce((r,i)=>[...r,...t(i)],[])}function yxt(e){return e.replace(/\\W/g,\" \").trim().replace(/\\s+/g,\"-\")}function vxt(e,t){return mxt(t).map(()=>({init:e(),runningTasks:[]}))}var YI=class{constructor(t,r){this.eventSubject=new bF.Subject,this.initErrors=[],this.isClosing=!1,this.nextTaskID=1,this.taskQueue=[];let i=typeof r==\"number\"?{size:r}:r||{},{size:s=pxt.defaultPoolSize}=i;this.debug=dxt.default(`threads:pool:${yxt(i.name||String(Axt++))}`),this.options=i,this.workers=vxt(t,s),this.eventObservable=bF.multicast(bF.Observable.from(this.eventSubject)),Promise.all(this.workers.map(n=>n.init)).then(()=>this.eventSubject.next({type:ia.PoolEventType.initialized,size:this.workers.length}),n=>{this.debug(\"Error while initializing pool worker:\",n),this.eventSubject.error(n),this.initErrors.push(n)})}findIdlingWorker(){let{concurrency:t=1}=this.options;return this.workers.find(r=>r.runningTasks.length{t.runningTasks=t.runningTasks.filter(n=>n!==i)};yield gxt(0);try{yield this.runPoolTask(t,r)}finally{s(),this.isClosing||this.scheduleWork()}});t.runningTasks.push(i)})}scheduleWork(){this.debug(\"Attempt de-queueing a task in order to run it...\");let t=this.findIdlingWorker();if(!t)return;let r=this.taskQueue.shift();if(!r){this.debug(\"Task queue is empty\"),this.eventSubject.next({type:ia.PoolEventType.taskQueueDrained});return}this.run(t,r)}taskCompletion(t){return new Promise((r,i)=>{let s=this.events().subscribe(n=>{n.type===ia.PoolEventType.taskCompleted&&n.taskID===t?(s.unsubscribe(),r(n.returnValue)):n.type===ia.PoolEventType.taskFailed&&n.taskID===t?(s.unsubscribe(),i(n.error)):n.type===ia.PoolEventType.terminated&&(s.unsubscribe(),i(Error(\"Pool has been terminated before task was run.\")))})})}settled(t=!1){return s_(this,void 0,void 0,function*(){let r=()=>_xt(this.workers,n=>n.runningTasks),i=[],s=this.eventObservable.subscribe(n=>{n.type===ia.PoolEventType.taskFailed&&i.push(n.error)});return this.initErrors.length>0?Promise.reject(this.initErrors[0]):t&&this.taskQueue.length===0?(yield eX.allSettled(r()),i):(yield new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained&&(c.unsubscribe(),n(void 0))},error:o})}),yield eX.allSettled(r()),s.unsubscribe(),i)})}completed(t=!1){return s_(this,void 0,void 0,function*(){let r=this.settled(t),i=new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained?(c.unsubscribe(),n(r)):f.type===ia.PoolEventType.taskFailed&&(c.unsubscribe(),o(f.error))},error:o})}),s=yield Promise.race([r,i]);if(s.length>0)throw s[0]})}events(){return this.eventObservable}queue(t){let{maxQueuedJobs:r=1/0}=this.options;if(this.isClosing)throw Error(\"Cannot schedule pool tasks after terminate() has been called.\");if(this.initErrors.length>0)throw this.initErrors[0];let i=this.nextTaskID++,s=this.taskCompletion(i);s.catch(o=>{this.debug(`Task #${i} errored:`,o)});let n={id:i,run:t,cancel:()=>{this.taskQueue.indexOf(n)!==-1&&(this.taskQueue=this.taskQueue.filter(o=>o!==n),this.eventSubject.next({type:ia.PoolEventType.taskCanceled,taskID:n.id}))},then:s.then.bind(s)};if(this.taskQueue.length>=r)throw Error(`Maximum number of pool tasks queued. Refusing to queue another one.\nThis usually happens for one of two reasons: We are either at peak workload right now or some tasks just won't finish, thus blocking the pool.`);return this.debug(`Queueing task #${n.id}...`),this.taskQueue.push(n),this.eventSubject.next({type:ia.PoolEventType.taskQueued,taskID:n.id}),this.scheduleWork(),n}terminate(t){return s_(this,void 0,void 0,function*(){this.isClosing=!0,t||(yield this.completed(!0)),this.eventSubject.next({type:ia.PoolEventType.terminated,remainingQueue:[...this.taskQueue]}),this.eventSubject.complete(),yield Promise.all(this.workers.map(r=>s_(this,void 0,void 0,function*(){return rX.Thread.terminate(yield r.init)})))})}};YI.EventType=ia.PoolEventType;function iX(e,t){return new YI(e,t)}iX.EventType=ia.PoolEventType;rh.Pool=iX});var sX=Br(QI=>{\"use strict\";Object.defineProperty(QI,\"__esModule\",{value:!0});QI.createPromiseWithResolver=void 0;var xxt=()=>{};function bxt(){let e=!1,t,r=xxt;return[new Promise(n=>{e?n(t):r=n}),n=>{e=!0,t=n,r(t)}]}QI.createPromiseWithResolver=bxt});var oX=Br(VS=>{\"use strict\";Object.defineProperty(VS,\"__esModule\",{value:!0});VS.WorkerEventType=void 0;var hce=US(),wxt;(function(e){e.internalError=\"internalError\",e.message=\"message\",e.termination=\"termination\"})(wxt=VS.WorkerEventType||(VS.WorkerEventType={}))});var lX=Br($I=>{\"use strict\";Object.defineProperty($I,\"__esModule\",{value:!0});$I.ObservablePromise=void 0;var Sxt=zS(),Txt=()=>{},Mxt=e=>e,aX=e=>Promise.resolve().then(e);function Ext(e){throw e}function Pxt(e){return e&&typeof e.then==\"function\"}var wF=class e extends Sxt.Observable{constructor(t){super(r=>{let i=this,s=Object.assign(Object.assign({},r),{complete(){r.complete(),i.onCompletion()},error(n){r.error(n),i.onError(n)},next(n){r.next(n),i.onNext(n)}});try{return this.initHasRun=!0,t(s)}catch(n){s.error(n)}}),this.initHasRun=!1,this.fulfillmentCallbacks=[],this.rejectionCallbacks=[],this.firstValueSet=!1,this.state=\"pending\"}onNext(t){this.firstValueSet||(this.firstValue=t,this.firstValueSet=!0)}onError(t){this.state=\"rejected\",this.rejection=t;for(let r of this.rejectionCallbacks)aX(()=>r(t))}onCompletion(){this.state=\"fulfilled\";for(let t of this.fulfillmentCallbacks)aX(()=>t(this.firstValue))}then(t,r){let i=t||Mxt,s=r||Ext,n=!1;return new Promise((o,c)=>{let f=w=>{if(!n){n=!0;try{o(s(w))}catch(I){c(I)}}},_=w=>{try{o(i(w))}catch(I){f(I)}};if(this.initHasRun||this.subscribe({error:f}),this.state===\"fulfilled\")return o(i(this.firstValue));if(this.state===\"rejected\")return n=!0,o(s(this.rejection));this.fulfillmentCallbacks.push(_),this.rejectionCallbacks.push(f)})}catch(t){return this.then(void 0,t)}finally(t){let r=t||Txt;return this.then(i=>(r(),i),()=>r())}static from(t){return Pxt(t)?new e(r=>{let i=n=>{r.next(n),r.complete()},s=n=>{r.error(n)};t.then(i,s)}):super.from(t)}};$I.ObservablePromise=wF});var jS=Br(Dx=>{\"use strict\";Object.defineProperty(Dx,\"__esModule\",{value:!0});Dx.Transfer=Dx.isTransferDescriptor=void 0;var cX=US();function Ixt(e){return!(!e||typeof e!=\"object\")}function Cxt(e){return e&&typeof e==\"object\"&&e[cX.$transferable]}Dx.isTransferDescriptor=Cxt;function Lxt(e,t){if(!t){if(!Ixt(e))throw Error();t=[e]}return{[cX.$transferable]:!0,send:e,transferables:t}}Dx.Transfer=Lxt});var SF=Br(Om=>{\"use strict\";Object.defineProperty(Om,\"__esModule\",{value:!0});Om.WorkerMessageType=Om.MasterMessageType=void 0;var kxt;(function(e){e.cancel=\"cancel\",e.run=\"run\"})(kxt=Om.MasterMessageType||(Om.MasterMessageType={}));var Rxt;(function(e){e.error=\"error\",e.init=\"init\",e.result=\"result\",e.running=\"running\",e.uncaughtError=\"uncaughtError\"})(Rxt=Om.WorkerMessageType||(Om.WorkerMessageType={}))});var pX=Br(Bm=>{\"use strict\";var Dxt=Bm&&Bm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bm,\"__esModule\",{value:!0});Bm.createProxyModule=Bm.createProxyFunction=void 0;var Oxt=Dxt(VI()),hX=zS(),GS=Mx(),uX=lX(),Bxt=jS(),WS=SF(),fX=Oxt.default(\"threads:master:messages\"),Fxt=1,zxt=e=>Array.from(new Set(e)),Nxt=e=>e&&e.type===WS.WorkerMessageType.error,Uxt=e=>e&&e.type===WS.WorkerMessageType.result,Vxt=e=>e&&e.type===WS.WorkerMessageType.running;function jxt(e,t){return new hX.Observable(r=>{let i,s=n=>{if(fX(\"Message from worker:\",n.data),!(!n.data||n.data.uid!==t)){if(Vxt(n.data))i=n.data.resultType;else if(Uxt(n.data))i===\"promise\"?(typeof n.data.payload<\"u\"&&r.next(GS.deserialize(n.data.payload)),r.complete(),e.removeEventListener(\"message\",s)):(n.data.payload&&r.next(GS.deserialize(n.data.payload)),n.data.complete&&(r.complete(),e.removeEventListener(\"message\",s)));else if(Nxt(n.data)){let o=GS.deserialize(n.data.error);r.error(o),e.removeEventListener(\"message\",s)}}};return e.addEventListener(\"message\",s),()=>{if(i===\"observable\"||!i){let n={type:WS.MasterMessageType.cancel,uid:t};e.postMessage(n)}e.removeEventListener(\"message\",s)}})}function Gxt(e){if(e.length===0)return{args:[],transferables:[]};let t=[],r=[];for(let i of e)Bxt.isTransferDescriptor(i)?(t.push(GS.serialize(i.send)),r.push(...i.transferables)):t.push(GS.serialize(i));return{args:t,transferables:r.length===0?r:zxt(r)}}function dX(e,t){return(...r)=>{let i=Fxt++,{args:s,transferables:n}=Gxt(r),o={type:WS.MasterMessageType.run,uid:i,method:t,args:s};fX(\"Sending command to run function to worker:\",o);try{e.postMessage(o,n)}catch(c){return uX.ObservablePromise.from(Promise.reject(c))}return uX.ObservablePromise.from(hX.multicast(jxt(e,i)))}}Bm.createProxyFunction=dX;function Wxt(e,t){let r={};for(let i of t)r[i]=dX(e,i);return r}Bm.createProxyModule=Wxt});var _X=Br(Fm=>{\"use strict\";var TF=Fm&&Fm.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Hxt=Fm&&Fm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fm,\"__esModule\",{value:!0});Fm.spawn=void 0;var MF=Hxt(VI()),qxt=zS(),Zxt=Mx(),Yxt=sX(),XI=US(),KI=oX(),AX=pX(),Qxt=MF.default(\"threads:master:messages\"),$xt=MF.default(\"threads:master:spawn\"),gX=MF.default(\"threads:master:thread-utils\"),Xxt=e=>e&&e.type===\"init\",Kxt=e=>e&&e.type===\"uncaughtError\",Jxt=typeof process<\"u\"&&process.env.THREADS_WORKER_INIT_TIMEOUT?Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT,10):1e4;function t1t(e,t,r){return TF(this,void 0,void 0,function*(){let i,s=new Promise((o,c)=>{i=setTimeout(()=>c(Error(r)),t)}),n=yield Promise.race([e,s]);return clearTimeout(i),n})}function e1t(e){return new Promise((t,r)=>{let i=s=>{Qxt(\"Message from worker before finishing initialization:\",s.data),Xxt(s.data)?(e.removeEventListener(\"message\",i),t(s.data)):Kxt(s.data)&&(e.removeEventListener(\"message\",i),r(Zxt.deserialize(s.data.error)))};e.addEventListener(\"message\",i)})}function r1t(e,t){return new qxt.Observable(r=>{let i=n=>{let o={type:KI.WorkerEventType.message,data:n.data};r.next(o)},s=n=>{gX(\"Unhandled promise rejection event in thread:\",n);let o={type:KI.WorkerEventType.internalError,error:Error(n.reason)};r.next(o)};e.addEventListener(\"message\",i),e.addEventListener(\"unhandledrejection\",s),t.then(()=>{let n={type:KI.WorkerEventType.termination};e.removeEventListener(\"message\",i),e.removeEventListener(\"unhandledrejection\",s),r.next(n),r.complete()})})}function i1t(e){let[t,r]=Yxt.createPromiseWithResolver();return{terminate:()=>TF(this,void 0,void 0,function*(){gX(\"Terminating worker\"),yield e.terminate(),r()}),termination:t}}function mX(e,t,r,i){let s=r.filter(n=>n.type===KI.WorkerEventType.internalError).map(n=>n.error);return Object.assign(e,{[XI.$errors]:s,[XI.$events]:r,[XI.$terminate]:i,[XI.$worker]:t})}function n1t(e,t){return TF(this,void 0,void 0,function*(){$xt(\"Initializing new thread\");let r=t&&t.timeout?t.timeout:Jxt,s=(yield t1t(e1t(e),r,`Timeout: Did not receive an init message from worker after ${r}ms. Make sure the worker calls expose().`)).exposed,{termination:n,terminate:o}=i1t(e),c=r1t(e,n);if(s.type===\"function\"){let f=AX.createProxyFunction(e);return mX(f,e,c,o)}else if(s.type===\"module\"){let f=AX.createProxyModule(e,s.methods);return mX(f,e,c,o)}else{let f=s.type;throw Error(`Worker init message states unexpected type of expose(): ${f}`)}})}Fm.spawn=n1t});var yX=Br(Cc=>{\"use strict\";Object.defineProperty(Cc,\"__esModule\",{value:!0});Cc.Worker=Cc.BlobWorker=Cc.isWorkerRuntime=Cc.Thread=Cc.spawn=Cc.Pool=void 0;var EF=aF();Object.defineProperty(Cc,\"isWorkerRuntime\",{enumerable:!0,get:function(){return EF.isWorkerRuntime}});var s1t=nX();Object.defineProperty(Cc,\"Pool\",{enumerable:!0,get:function(){return s1t.Pool}});var o1t=_X();Object.defineProperty(Cc,\"spawn\",{enumerable:!0,get:function(){return o1t.spawn}});var a1t=xF();Object.defineProperty(Cc,\"Thread\",{enumerable:!0,get:function(){return a1t.Thread}});Cc.BlobWorker=EF.getWorkerImplementation().blob;Cc.Worker=EF.getWorkerImplementation().default});var xX=Br((yce,vX)=>{\"use strict\";vX.exports=e=>e?typeof Symbol.observable==\"symbol\"&&typeof e[Symbol.observable]==\"function\"?e===e[Symbol.observable]():typeof e[\"@@observable\"]==\"function\"?e===e[\"@@observable\"]():!1:!1});var bX=Br(PF=>{\"use strict\";Object.defineProperty(PF,\"__esModule\",{value:!0});var l1t=function(){let t=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!t)},c1t=function(t,r){self.postMessage(t,r)},u1t=function(t){let r=s=>{t(s.data)},i=()=>{self.removeEventListener(\"message\",r)};return self.addEventListener(\"message\",r),i};PF.default={isWorkerRuntime:l1t,postMessageToMaster:c1t,subscribeToMasterMessages:u1t}});var IX=Br(Lc=>{\"use strict\";var h1t=Lc&&Lc.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},EX=Lc&&Lc.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lc,\"__esModule\",{value:!0});Lc.expose=Lc.isWorkerRuntime=Lc.Transfer=Lc.registerSerializer=void 0;var f1t=EX(xX()),zm=Mx(),d1t=jS(),Nm=SF(),fu=EX(bX()),p1t=Mx();Object.defineProperty(Lc,\"registerSerializer\",{enumerable:!0,get:function(){return p1t.registerSerializer}});var A1t=jS();Object.defineProperty(Lc,\"Transfer\",{enumerable:!0,get:function(){return A1t.Transfer}});Lc.isWorkerRuntime=fu.default.isWorkerRuntime;var wX=!1,HS=new Map,m1t=e=>e&&e.type===Nm.MasterMessageType.cancel,SX=e=>e&&e.type===Nm.MasterMessageType.run,TX=e=>f1t.default(e)||g1t(e);function g1t(e){return e&&typeof e==\"object\"&&typeof e.subscribe==\"function\"}function PX(e){return d1t.isTransferDescriptor(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function _1t(){let e={type:Nm.WorkerMessageType.init,exposed:{type:\"function\"}};fu.default.postMessageToMaster(e)}function y1t(e){let t={type:Nm.WorkerMessageType.init,exposed:{type:\"module\",methods:e}};fu.default.postMessageToMaster(t)}function IF(e,t){let{payload:r,transferables:i}=PX(t),s={type:Nm.WorkerMessageType.error,uid:e,error:zm.serialize(r)};fu.default.postMessageToMaster(s,i)}function CF(e,t,r){let{payload:i,transferables:s}=PX(r),n={type:Nm.WorkerMessageType.result,uid:e,complete:t?!0:void 0,payload:i};fu.default.postMessageToMaster(n,s)}function v1t(e,t){let r={type:Nm.WorkerMessageType.running,uid:e,resultType:t};fu.default.postMessageToMaster(r)}function JI(e){try{let t={type:Nm.WorkerMessageType.uncaughtError,error:zm.serialize(e)};fu.default.postMessageToMaster(t)}catch(t){console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:`,t,`\nOriginal error:`,e)}}function MX(e,t,r){return h1t(this,void 0,void 0,function*(){let i;try{i=t(...r)}catch(n){return IF(e,n)}let s=TX(i)?\"observable\":\"promise\";if(v1t(e,s),TX(i)){let n=i.subscribe(o=>CF(e,!1,zm.serialize(o)),o=>{IF(e,zm.serialize(o)),HS.delete(e)},()=>{CF(e,!0),HS.delete(e)});HS.set(e,n)}else try{let n=yield i;CF(e,!0,zm.serialize(n))}catch(n){IF(e,zm.serialize(n))}})}function x1t(e){if(!fu.default.isWorkerRuntime())throw Error(\"expose() called in the master thread.\");if(wX)throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");if(wX=!0,typeof e==\"function\")fu.default.subscribeToMasterMessages(t=>{SX(t)&&!t.method&&MX(t.uid,e,t.args.map(zm.deserialize))}),_1t();else if(typeof e==\"object\"&&e){fu.default.subscribeToMasterMessages(r=>{SX(r)&&r.method&&MX(r.uid,e[r.method],r.args.map(zm.deserialize))});let t=Object.keys(e).filter(r=>typeof e[r]==\"function\");y1t(t)}else throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);fu.default.subscribeToMasterMessages(t=>{if(m1t(t)){let r=t.uid,i=HS.get(r);i&&(i.unsubscribe(),HS.delete(r))}})}Lc.expose=x1t;typeof self<\"u\"&&typeof self.addEventListener==\"function\"&&fu.default.isWorkerRuntime()&&(self.addEventListener(\"error\",e=>{setTimeout(()=>JI(e.error||e),250)}),self.addEventListener(\"unhandledrejection\",e=>{let t=e.reason;t&&typeof t.message==\"string\"&&setTimeout(()=>JI(t),250)}));typeof process<\"u\"&&typeof process.on==\"function\"&&fu.default.isWorkerRuntime()&&(process.on(\"uncaughtException\",e=>{setTimeout(()=>JI(e),250)}),process.on(\"unhandledRejection\",e=>{e&&typeof e.message==\"string\"&&setTimeout(()=>JI(e),250)}))});var CX=Br(Fl=>{\"use strict\";var b1t=Fl&&Fl.__createBinding||(Object.create?function(e,t,r,i){i===void 0&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]}),w1t=Fl&&Fl.__exportStar||function(e,t){for(var r in e)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r)&&b1t(t,e,r)};Object.defineProperty(Fl,\"__esModule\",{value:!0});Fl.Transfer=Fl.DefaultSerializer=Fl.expose=Fl.registerSerializer=void 0;var S1t=Mx();Object.defineProperty(Fl,\"registerSerializer\",{enumerable:!0,get:function(){return S1t.registerSerializer}});w1t(yX(),Fl);var T1t=IX();Object.defineProperty(Fl,\"expose\",{enumerable:!0,get:function(){return T1t.expose}});var M1t=nF();Object.defineProperty(Fl,\"DefaultSerializer\",{enumerable:!0,get:function(){return M1t.DefaultSerializer}});var E1t=jS();Object.defineProperty(Fl,\"Transfer\",{enumerable:!0,get:function(){return E1t.Transfer}})});var hC=Ri(Yi(),1),a_=Ri(Yi(),1);var ec=Ri(Yi(),1),U8=Ri(N8(),1),V8=ec.createContext(null);function Ket(){let e=ec.useContext(V8);if(!e)throw new Error(\"RenderContext not found\");return e}function Y1(){return Ket().model}function zA(e){let t=Y1(),[r,i]=ec.useState(t.get(e));return ec.useEffect(()=>{let s=()=>i(t.get(e));return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),t.save_changes()}]}function j8(e){return({el:t,model:r,experimental:i})=>{let s=U8.createRoot(t);return s.render(ec.createElement(ec.StrictMode,null,ec.createElement(V8.Provider,{value:{model:r,experimental:i}},ec.createElement(e)))),()=>s.unmount()}}var rU=Ri(Yi());var cy=Ri(Yi()),Yc=Ri(Yi());var m4=Ri(Yi()),zM=Ri(Yi());var G8=m4.createContext(null);function W8(e,t){let r=Array.isArray(e)?e[0]:e?e.x:0,i=Array.isArray(e)?e[1]:e?e.y:0,s=Array.isArray(t)?t[0]:t?t.x:0,n=Array.isArray(t)?t[1]:t?t.y:0;return r===s&&i===n}function rc(e,t){if(e===t)return!0;if(!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r{let s=null;\"interactive\"in i&&(s=Object.assign({},i),delete s.interactive);let n=t[i.ref];if(n){s=s||Object.assign({},i),delete s.ref;for(let o of Jet)o in n&&(s[o]=n[o])}return s||i});return{...e,layers:r}}var q8={version:8,sources:{},layers:[]},Z8={mousedown:\"onMouseDown\",mouseup:\"onMouseUp\",mouseover:\"onMouseOver\",mousemove:\"onMouseMove\",click:\"onClick\",dblclick:\"onDblClick\",mouseenter:\"onMouseEnter\",mouseleave:\"onMouseLeave\",mouseout:\"onMouseOut\",contextmenu:\"onContextMenu\",touchstart:\"onTouchStart\",touchend:\"onTouchEnd\",touchmove:\"onTouchMove\",touchcancel:\"onTouchCancel\"},x4={movestart:\"onMoveStart\",move:\"onMove\",moveend:\"onMoveEnd\",dragstart:\"onDragStart\",drag:\"onDrag\",dragend:\"onDragEnd\",zoomstart:\"onZoomStart\",zoom:\"onZoom\",zoomend:\"onZoomEnd\",rotatestart:\"onRotateStart\",rotate:\"onRotate\",rotateend:\"onRotateEnd\",pitchstart:\"onPitchStart\",pitch:\"onPitch\",pitchend:\"onPitchEnd\"},Y8={wheel:\"onWheel\",boxzoomstart:\"onBoxZoomStart\",boxzoomend:\"onBoxZoomEnd\",boxzoomcancel:\"onBoxZoomCancel\",resize:\"onResize\",load:\"onLoad\",render:\"onRender\",idle:\"onIdle\",remove:\"onRemove\",data:\"onData\",styledata:\"onStyleData\",sourcedata:\"onSourceData\",error:\"onError\"},trt=[\"minZoom\",\"maxZoom\",\"minPitch\",\"maxPitch\",\"maxBounds\",\"projection\",\"renderWorldCopies\"],ert=[\"scrollZoom\",\"boxZoom\",\"dragRotate\",\"dragPan\",\"keyboard\",\"doubleClickZoom\",\"touchZoomRotate\",\"touchPitch\"],R0=class e{constructor(t,r,i){this._map=null,this._internalUpdate=!1,this._inRender=!1,this._hoveredFeatures=null,this._deferredEvents={move:!1,zoom:!1,pitch:!1,rotate:!1},this._onEvent=s=>{let n=this.props[Y8[s.type]];n?n(s):s.type===\"error\"&&console.error(s.error)},this._onPointerEvent=s=>{(s.type===\"mousemove\"||s.type===\"mouseout\")&&this._updateHover(s);let n=this.props[Z8[s.type]];n&&(this.props.interactiveLayerIds&&s.type!==\"mouseover\"&&s.type!==\"mouseout\"&&(s.features=this._hoveredFeatures||this._queryRenderedFeatures(s.point)),n(s),delete s.features)},this._onCameraEvent=s=>{if(!this._internalUpdate){let n=this.props[x4[s.type]];n&&n(s)}s.type in this._deferredEvents&&(this._deferredEvents[s.type]=!1)},this._MapClass=t,this.props=r,this._initialize(i)}get map(){return this._map}get transform(){return this._renderTransform}setProps(t){let r=this.props;this.props=t;let i=this._updateSettings(t,r);i&&this._createShadowTransform(this._map);let s=this._updateSize(t),n=this._updateViewState(t,!0);this._updateStyle(t,r),this._updateStyleComponents(t,r),this._updateHandlers(t,r),(i||s||n&&!this._map.isMoving())&&this.redraw()}static reuse(t,r){let i=e.savedMaps.pop();if(!i)return null;let s=i.map,n=s.getContainer();for(r.className=n.className;n.childNodes.length>0;)r.appendChild(n.childNodes[0]);s._container=r;let o=s._resizeObserver;o&&(o.disconnect(),o.observe(r)),i.setProps({...t,styleDiffing:!1}),s.resize();let{initialViewState:c}=t;return c&&(c.bounds?s.fitBounds(c.bounds,{...c.fitBoundsOptions,duration:0}):i._updateViewState(c,!1)),s.isStyleLoaded()?s.fire(\"load\"):s.once(\"styledata\",()=>s.fire(\"load\")),s._update(),i}_initialize(t){let{props:r}=this,{mapStyle:i=q8}=r,s={...r,...r.initialViewState,accessToken:r.mapboxAccessToken||rrt()||null,container:t,style:v4(i)},n=s.initialViewState||s.viewState||s;if(Object.assign(s,{center:[n.longitude||0,n.latitude||0],zoom:n.zoom||0,pitch:n.pitch||0,bearing:n.bearing||0}),r.gl){let w=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=()=>(HTMLCanvasElement.prototype.getContext=w,r.gl)}let o=new this._MapClass(s);n.padding&&o.setPadding(n.padding),r.cursor&&(o.getCanvas().style.cursor=r.cursor),this._createShadowTransform(o);let c=o._render;o._render=w=>{this._inRender=!0,c.call(o,w),this._inRender=!1};let f=o._renderTaskQueue.run;o._renderTaskQueue.run=w=>{f.call(o._renderTaskQueue,w),this._onBeforeRepaint()},o.on(\"render\",()=>this._onAfterRepaint());let _=o.fire;o.fire=this._fireEvent.bind(this,_),o.on(\"resize\",()=>{this._renderTransform.resize(o.transform.width,o.transform.height)}),o.on(\"styledata\",()=>{this._updateStyleComponents(this.props,{}),g4(o.transform,this._renderTransform)}),o.on(\"sourcedata\",()=>this._updateStyleComponents(this.props,{}));for(let w in Z8)o.on(w,this._onPointerEvent);for(let w in x4)o.on(w,this._onCameraEvent);for(let w in Y8)o.on(w,this._onEvent);this._map=o}recycle(){let r=this.map.getContainer().querySelector(\"[mapboxgl-children]\");r?.remove(),e.savedMaps.push(this)}destroy(){this._map.remove()}redraw(){let t=this._map;!this._inRender&&t.style&&(t._frame&&(t._frame.cancel(),t._frame=null),t._render())}_createShadowTransform(t){let r=H8(t.transform);t.painter.transform=r,this._renderTransform=r}_updateSize(t){let{viewState:r}=t;if(r){let i=this._map;if(r.width!==i.transform.width||r.height!==i.transform.height)return i.resize(),!0}return!1}_updateViewState(t,r){if(this._internalUpdate)return!1;let i=this._map,s=this._renderTransform,{zoom:n,pitch:o,bearing:c}=s,f=i.isMoving();f&&(s.cameraElevationReference=\"sea\");let _=y4(s,{..._4(i.transform),...t});if(f&&(s.cameraElevationReference=\"ground\"),_&&r){let w=this._deferredEvents;w.move=!0,w.zoom||(w.zoom=n!==s.zoom),w.rotate||(w.rotate=c!==s.bearing),w.pitch||(w.pitch=o!==s.pitch)}return f||y4(i.transform,t),_}_updateSettings(t,r){let i=this._map,s=!1;for(let n of trt)if(n in t&&!rc(t[n],r[n])){s=!0;let o=i[`set${n[0].toUpperCase()}${n.slice(1)}`];o?.call(i,t[n])}return s}_updateStyle(t,r){if(t.cursor!==r.cursor&&(this._map.getCanvas().style.cursor=t.cursor||\"\"),t.mapStyle!==r.mapStyle){let{mapStyle:i=q8,styleDiffing:s=!0}=t,n={diff:s};return\"localIdeographFontFamily\"in t&&(n.localIdeographFontFamily=t.localIdeographFontFamily),this._map.setStyle(v4(i),n),!0}return!1}_updateStyleComponents(t,r){let i=this._map,s=!1;return i.isStyleLoaded()&&(\"light\"in t&&i.setLight&&!rc(t.light,r.light)&&(s=!0,i.setLight(t.light)),\"fog\"in t&&i.setFog&&!rc(t.fog,r.fog)&&(s=!0,i.setFog(t.fog)),\"terrain\"in t&&i.setTerrain&&!rc(t.terrain,r.terrain)&&(!t.terrain||i.getSource(t.terrain.source))&&(s=!0,i.setTerrain(t.terrain))),s}_updateHandlers(t,r){var i,s;let n=this._map,o=!1;for(let c of ert){let f=(i=t[c])!==null&&i!==void 0?i:!0,_=(s=r[c])!==null&&s!==void 0?s:!0;rc(f,_)||(o=!0,f?n[c].enable(f):n[c].disable())}return o}_queryRenderedFeatures(t){let r=this._map,i=r.transform,{interactiveLayerIds:s=[]}=this.props;try{return r.transform=this._renderTransform,r.queryRenderedFeatures(t,{layers:s.filter(r.getLayer.bind(r))})}catch{return[]}finally{r.transform=i}}_updateHover(t){var r;let{props:i}=this;if(i.interactiveLayerIds&&(i.onMouseMove||i.onMouseEnter||i.onMouseLeave)){let n=t.type,o=((r=this._hoveredFeatures)===null||r===void 0?void 0:r.length)>0,c=this._queryRenderedFeatures(t.point),f=c.length>0;!f&&o&&(t.type=\"mouseleave\",this._onPointerEvent(t)),this._hoveredFeatures=c,f&&!o&&(t.type=\"mouseenter\",this._onPointerEvent(t)),t.type=n}else this._hoveredFeatures=null}_fireEvent(t,r,i){let s=this._map,n=s.transform,o=typeof r==\"string\"?r:r.type;return o===\"move\"&&this._updateViewState(this.props,!1),o in x4&&(typeof r==\"object\"&&(r.viewState=_4(n)),this._map.isMoving())?(s.transform=this._renderTransform,t.call(s,r,i),s.transform=n,s):(t.call(s,r,i),s)}_onBeforeRepaint(){let t=this._map;this._internalUpdate=!0;for(let i in this._deferredEvents)this._deferredEvents[i]&&t.fire(i);this._internalUpdate=!1;let r=this._map.transform;t.transform=this._renderTransform,this._onAfterRepaint=()=>{g4(this._renderTransform,r),t.transform=r}}};R0.savedMaps=[];function rrt(){let e=null;if(typeof location<\"u\"){let t=/access_token=([^&\\/]*)/.exec(location.search);e=t&&t[1]}try{e=e||process.env.MapboxAccessToken}catch{}try{e=e||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN}catch{}return e}var irt=[\"setMaxBounds\",\"setMinZoom\",\"setMaxZoom\",\"setMinPitch\",\"setMaxPitch\",\"setRenderWorldCopies\",\"setProjection\",\"setStyle\",\"addSource\",\"removeSource\",\"addLayer\",\"removeLayer\",\"setLayerZoomRange\",\"setFilter\",\"setPaintProperty\",\"setLayoutProperty\",\"setLight\",\"setTerrain\",\"setFog\",\"remove\"];function b4(e){if(!e)return null;let t=e.map,r={getMap:()=>t,getCenter:()=>e.transform.center,getZoom:()=>e.transform.zoom,getBearing:()=>e.transform.bearing,getPitch:()=>e.transform.pitch,getPadding:()=>e.transform.padding,getBounds:()=>e.transform.getBounds(),project:i=>{let s=t.transform;t.transform=e.transform;let n=t.project(i);return t.transform=s,n},unproject:i=>{let s=t.transform;t.transform=e.transform;let n=t.unproject(i);return t.transform=s,n},queryTerrainElevation:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryTerrainElevation(i,s);return t.transform=n,o},queryRenderedFeatures:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryRenderedFeatures(i,s);return t.transform=n,o}};for(let i of nrt(t))!(i in r)&&!irt.includes(i)&&(r[i]=t[i].bind(t));return r}function nrt(e){let t=new Set,r=e;for(;r;){for(let i of Object.getOwnPropertyNames(r))i[0]!==\"_\"&&typeof e[i]==\"function\"&&i!==\"fire\"&&i!==\"setEventedParent\"&&t.add(i);r=Object.getPrototypeOf(r)}return Array.from(t)}var NM=Ri(Yi()),srt=typeof document<\"u\"?NM.useLayoutEffect:NM.useEffect,Q8=srt;var ort=[\"baseApiUrl\",\"maxParallelImageRequests\",\"workerClass\",\"workerCount\",\"workerUrl\"];function w4(e,t){for(let i of ort)i in t&&(e[i]=t[i]);let{RTLTextPlugin:r=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js\"}=t;r&&e.getRTLTextPluginStatus&&e.getRTLTextPluginStatus()===\"unavailable\"&&e.setRTLTextPlugin(r,i=>{i&&console.error(i)},!0)}var Of=cy.createContext(null);function S4(e,t,r){let i=(0,Yc.useContext)(G8),[s,n]=(0,Yc.useState)(null),o=(0,Yc.useRef)(),{current:c}=(0,Yc.useRef)({mapLib:null,map:null});(0,Yc.useEffect)(()=>{let w=e.mapLib,I=!0,R;return Promise.resolve(w||r).then(N=>{if(!I)return;if(!N)throw new Error(\"Invalid mapLib\");let j=\"Map\"in N?N:N.default;if(!j.Map)throw new Error(\"Invalid mapLib\");if(w4(j,e),!j.supported||j.supported(e))e.reuseMaps&&(R=R0.reuse(e,o.current)),R||(R=new R0(j.Map,e,o.current)),c.map=b4(R),c.mapLib=j,n(R),i?.onMapMount(c.map,e.id);else throw new Error(\"Map is not supported by this browser\")}).catch(N=>{let{onError:j}=e;j?j({type:\"error\",target:null,originalEvent:null,error:N}):console.error(N)}),()=>{I=!1,R&&(i?.onMapUnmount(e.id),e.reuseMaps?R.recycle():R.destroy())}},[]),Q8(()=>{s&&s.setProps(e)}),(0,Yc.useImperativeHandle)(t,()=>c.map,[s]);let f=(0,Yc.useMemo)(()=>({position:\"relative\",width:\"100%\",height:\"100%\",...e.style}),[e.style]),_={height:\"100%\"};return cy.createElement(\"div\",{id:e.id,ref:o,style:f},s&&cy.createElement(Of.Provider,{value:c},cy.createElement(\"div\",{\"mapboxgl-children\":\"\",style:_},e.children)))}var $8=Ri(Yi()),X8=Ri(FM()),Tl=Ri(Yi());var art=/box|flex|grid|column|lineHeight|fontWeight|opacity|order|tabSize|zIndex/;function ic(e,t){if(!e||!t)return;let r=e.style;for(let i in t){let s=t[i];Number.isFinite(s)&&!art.test(i)?r[i]=`${s}px`:r[i]=s}}function lrt(e,t){let{map:r,mapLib:i}=(0,Tl.useContext)(Of),s=(0,Tl.useRef)({props:e});s.current.props=e;let n=(0,Tl.useMemo)(()=>{let Q=!1;$8.Children.forEach(e.children,K=>{K&&(Q=!0)});let et={...e,element:Q?document.createElement(\"div\"):null},Y=new i.Marker(et);return Y.setLngLat([e.longitude,e.latitude]),Y.getElement().addEventListener(\"click\",K=>{var J,ut;(ut=(J=s.current.props).onClick)===null||ut===void 0||ut.call(J,{type:\"click\",target:Y,originalEvent:K})}),Y.on(\"dragstart\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragStart)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"drag\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDrag)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"dragend\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragEnd)===null||ut===void 0||ut.call(J,Et)}),Y},[]);(0,Tl.useEffect)(()=>(n.addTo(r.getMap()),()=>{n.remove()}),[]);let{longitude:o,latitude:c,offset:f,style:_,draggable:w=!1,popup:I=null,rotation:R=0,rotationAlignment:N=\"auto\",pitchAlignment:j=\"auto\"}=e;return(0,Tl.useEffect)(()=>{ic(n.getElement(),_)},[_]),(0,Tl.useImperativeHandle)(t,()=>n,[]),(n.getLngLat().lng!==o||n.getLngLat().lat!==c)&&n.setLngLat([o,c]),f&&!W8(n.getOffset(),f)&&n.setOffset(f),n.isDraggable()!==w&&n.setDraggable(w),n.getRotation()!==R&&n.setRotation(R),n.getRotationAlignment()!==N&&n.setRotationAlignment(N),n.getPitchAlignment()!==j&&n.setPitchAlignment(j),n.getPopup()!==I&&n.setPopup(I),(0,X8.createPortal)(e.children,n.getElement())}var crt=(0,Tl.memo)((0,Tl.forwardRef)(lrt));var J8=Ri(FM()),Xa=Ri(Yi());function K8(e){return new Set(e?e.trim().split(/\\s+/):[])}function urt(e,t){let{map:r,mapLib:i}=(0,Xa.useContext)(Of),s=(0,Xa.useMemo)(()=>document.createElement(\"div\"),[]),n=(0,Xa.useRef)({props:e});n.current.props=e;let o=(0,Xa.useMemo)(()=>{let c={...e},f=new i.Popup(c);return f.setLngLat([e.longitude,e.latitude]),f.once(\"open\",_=>{var w,I;(I=(w=n.current.props).onOpen)===null||I===void 0||I.call(w,_)}),f},[]);if((0,Xa.useEffect)(()=>{let c=f=>{var _,w;(w=(_=n.current.props).onClose)===null||w===void 0||w.call(_,f)};return o.on(\"close\",c),o.setDOMContent(s).addTo(r.getMap()),()=>{o.off(\"close\",c),o.isOpen()&&o.remove()}},[]),(0,Xa.useEffect)(()=>{ic(o.getElement(),e.style)},[e.style]),(0,Xa.useImperativeHandle)(t,()=>o,[]),o.isOpen()&&((o.getLngLat().lng!==e.longitude||o.getLngLat().lat!==e.latitude)&&o.setLngLat([e.longitude,e.latitude]),e.offset&&!rc(o.options.offset,e.offset)&&o.setOffset(e.offset),(o.options.anchor!==e.anchor||o.options.maxWidth!==e.maxWidth)&&(o.options.anchor=e.anchor,o.setMaxWidth(e.maxWidth)),o.options.className!==e.className)){let c=K8(o.options.className),f=K8(e.className);for(let _ of c)f.has(_)||o.removeClassName(_);for(let _ of f)c.has(_)||o.addClassName(_);o.options.className=e.className}return(0,J8.createPortal)(e.children,s)}var hrt=(0,Xa.memo)((0,Xa.forwardRef)(urt));var UM=Ri(Yi());var uy=Ri(Yi());function frt(e,t,r,i){let s=(0,uy.useContext)(Of),n=(0,uy.useMemo)(()=>e(s),[]);return(0,uy.useEffect)(()=>{let o=i||r||t,c=typeof t==\"function\"&&typeof r==\"function\"?t:null,f=typeof r==\"function\"?r:typeof t==\"function\"?t:null,{map:_}=s;return _.hasControl(n)||(_.addControl(n,o?.position),c&&c(s)),()=>{f&&f(s),_.hasControl(n)&&_.removeControl(n)}},[]),n}var kh=frt;function drt(e){let t=kh(({mapLib:r})=>new r.AttributionControl(e),{position:e.position});return(0,UM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var prt=(0,UM.memo)(drt);var VM=Ri(Yi());function Art(e){let t=kh(({mapLib:r})=>new r.FullscreenControl({container:e.containerId&&document.getElementById(e.containerId)}),{position:e.position});return(0,VM.useEffect)(()=>{ic(t._controlContainer,e.style)},[e.style]),null}var mrt=(0,VM.memo)(Art);var Bf=Ri(Yi());function grt(e,t){let r=(0,Bf.useRef)({props:e}),i=kh(({mapLib:s})=>{let n=new s.GeolocateControl(e),o=n._setupUI;return n._setupUI=c=>{n._container.hasChildNodes()||o(c)},n.on(\"geolocate\",c=>{var f,_;(_=(f=r.current.props).onGeolocate)===null||_===void 0||_.call(f,c)}),n.on(\"error\",c=>{var f,_;(_=(f=r.current.props).onError)===null||_===void 0||_.call(f,c)}),n.on(\"outofmaxbounds\",c=>{var f,_;(_=(f=r.current.props).onOutOfMaxBounds)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationstart\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationStart)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationend\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationEnd)===null||_===void 0||_.call(f,c)}),n},{position:e.position});return r.current.props=e,(0,Bf.useImperativeHandle)(t,()=>i,[]),(0,Bf.useEffect)(()=>{ic(i._container,e.style)},[e.style]),null}var _rt=(0,Bf.memo)((0,Bf.forwardRef)(grt));var jM=Ri(Yi());function yrt(e){let t=kh(({mapLib:r})=>new r.NavigationControl(e),{position:e.position});return(0,jM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var vrt=(0,jM.memo)(yrt);var hy=Ri(Yi());function xrt(e){let t=kh(({mapLib:n})=>new n.ScaleControl(e),{position:e.position}),r=(0,hy.useRef)(e),i=r.current;r.current=e;let{style:s}=e;return e.maxWidth!==void 0&&e.maxWidth!==i.maxWidth&&(t.options.maxWidth=e.maxWidth),e.unit!==void 0&&e.unit!==i.unit&&t.setUnit(e.unit),(0,hy.useEffect)(()=>{ic(t._container,s)},[s]),null}var brt=(0,hy.memo)(xrt);var Q1=Ri(Yi());var Srt=Ri(Yi()),$1=Ri(Yi()),Trt=Ri(Yi());var Mrt=Promise.resolve().then(()=>Ri(eU())),Ert=rU.forwardRef(function(t,r){return S4(t,r,Mrt)});var iU=Ert;var Do=Ri(Yi());function NA(e,t){if(!e)throw new Error(t||\"loader assertion failed.\")}var Ff={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Prt=Ff.self||Ff.window||Ff.global||{},Irt=Ff.window||Ff.self||Ff.global||{},Crt=Ff.global||Ff.self||Ff.window||{},Lrt=Ff.document||{};var D0=!!(typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser);var nU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),krt=nU&&parseFloat(nU[1])||0;var sU=\"3.4.14\";function Ka(e,t){if(!e)throw new Error(t||\"loaders.gl assertion failed.\")}var zf={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Xwt=zf.self||zf.window||zf.global||{},Kwt=zf.window||zf.self||zf.global||{},Jwt=zf.global||zf.self||zf.window||{},t2t=zf.document||{};var O0=typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser;var aU=typeof window<\"u\"&&typeof window.orientation<\"u\",oU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),e2t=oU&&parseFloat(oU[1])||0;function B0(e){\"@babel/helpers - typeof\";return B0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B0(e)}function lU(e,t){if(B0(e)!=\"object\"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||\"default\");if(B0(i)!=\"object\")return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function cU(e){var t=lU(e,\"string\");return B0(t)==\"symbol\"?t:t+\"\"}function G(e,t,r){return(t=cU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var X1=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"workerThread\",void 0),G(this,\"isRunning\",!0),G(this,\"result\",void 0),G(this,\"_resolve\",()=>{}),G(this,\"_reject\",()=>{}),this.name=t,this.workerThread=r,this.result=new Promise((i,s)=>{this._resolve=i,this._reject=s})}postMessage(t,r){this.workerThread.postMessage({source:\"loaders.gl\",type:t,payload:r})}done(t){Ka(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ka(this.isRunning),this.isRunning=!1,this._reject(t)}};var fy=class{terminate(){}};var E4=new Map;function uU(e){Ka(e.source&&!e.url||!e.source&&e.url);let t=E4.get(e.source||e.url);return t||(e.url&&(t=Rrt(e.url),E4.set(e.url,t)),e.source&&(t=hU(e.source),E4.set(e.source,t))),Ka(t),t}function Rrt(e){if(!e.startsWith(\"http\"))return e;let t=Drt(e);return hU(t)}function hU(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Drt(e){return`try {\n importScripts('`.concat(e,`');\n} catch (error) {\n console.error(error);\n throw error;\n}`)}function P4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(e){if(fU(e))i.add(e);else if(fU(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e==\"object\")for(let s in e)P4(e[s],t,i)}}return r===void 0?Array.from(i):[]}function fU(e){return e?e instanceof ArrayBuffer||typeof MessagePort<\"u\"&&e instanceof MessagePort||typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap||typeof OffscreenCanvas<\"u\"&&e instanceof OffscreenCanvas:!1}var I4=()=>{},UA=class{static isSupported(){return typeof Worker<\"u\"&&O0||typeof fy<\"u\"&&!O0}constructor(t){G(this,\"name\",void 0),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"terminated\",!1),G(this,\"worker\",void 0),G(this,\"onMessage\",void 0),G(this,\"onError\",void 0),G(this,\"_loadableURL\",\"\");let{name:r,source:i,url:s}=t;Ka(i||s),this.name=r,this.source=i,this.url=s,this.onMessage=I4,this.onError=n=>console.log(n),this.worker=O0?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=I4,this.onError=I4,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(t,r){r=r||P4(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r=\"Failed to load \";return r+=\"worker \".concat(this.name,\" from \").concat(this.url,\". \"),t.message&&(r+=\"\".concat(t.message,\" in \")),t.lineno&&(r+=\":\".concat(t.lineno,\":\").concat(t.colno)),new Error(r)}_createBrowserWorker(){this._loadableURL=uU({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error(\"No data received\"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let i=this.url.includes(\":/\")||this.url.startsWith(\"/\")?this.url:\"./\".concat(this.url);t=new fy(i,{eval:!1})}else if(this.source)t=new fy(this.source,{eval:!0});else throw new Error(\"no worker\");return t.on(\"message\",r=>{this.onMessage(r)}),t.on(\"error\",r=>{this.onError(r)}),t.on(\"exit\",r=>{}),t}};var K1=class{static isSupported(){return UA.isSupported()}constructor(t){G(this,\"name\",\"unnamed\"),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"maxConcurrency\",1),G(this,\"maxMobileConcurrency\",1),G(this,\"onDebug\",()=>{}),G(this,\"reuseWorkers\",!0),G(this,\"props\",{}),G(this,\"jobQueue\",[]),G(this,\"idleQueue\",[]),G(this,\"count\",0),G(this,\"isDestroyed\",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(n,o,c)=>n.done(c),i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(n,o)=>n.error(o),s=new Promise(n=>(this.jobQueue.push({name:t,onMessage:r,onError:i,onStart:n}),this));return this._startQueuedJob(),await s}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:\"Starting job\",name:r.name,workerThread:t,backlog:this.jobQueue.length});let i=new X1(r.name,t);t.onMessage=s=>r.onMessage(i,s.type,s.payload),t.onError=s=>r.onError(i,s),r.onStart(i);try{await i.result}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}},VA=class e{static isSupported(){return UA.isSupported()}static getWorkerFarm(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}constructor(t){G(this,\"props\",void 0),G(this,\"workerPools\",new Map),this.props={...Ort},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:i,url:s}=t,n=this.workerPools.get(r);return n||(n=new K1({name:r,source:i,url:s}),n.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,n)),n}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};G(VA,\"_workerFarm\",void 0);var Brt=\"latest\";function C4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t[e.id]||{},i=\"\".concat(e.id,\"-worker.js\"),s=r.workerUrl;if(!s&&e.id===\"compression\"&&(s=t.workerUrl),t._workerType===\"test\"&&(s=\"modules/\".concat(e.module,\"/dist/\").concat(i)),!s){let n=e.version;n===\"latest\"&&(n=Brt);let o=n?\"@\".concat(n):\"\";s=\"https://unpkg.com/@loaders.gl/\".concat(e.module).concat(o,\"/dist/\").concat(i)}return Ka(s),s}function L4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sU;Ka(e,\"no worker provided\");let r=e.version;return!(!t||!r)}function k4(e,t){return!VA.isSupported()||!O0&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&t?.worker}async function R4(e,t,r,i,s){let n=e.id,o=C4(e,r),f=VA.getWorkerFarm(r).getWorkerPool({name:n,url:o});r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{}));let _=await f.startJob(\"process-on-worker\",Frt.bind(null,s));return _.postMessage(\"process\",{input:t,options:r,context:i}),await(await _.result).result}async function Frt(e,t,r,i){switch(r){case\"done\":t.done(i);break;case\"error\":t.error(new Error(i.error));break;case\"process\":let{id:s,input:n,options:o}=i;try{let c=await e(n,o);t.postMessage(\"done\",{id:s,result:c})}catch(c){let f=c instanceof Error?c.message:\"unknown error\";t.postMessage(\"error\",{id:s,error:f})}break;default:console.warn(\"parse-with-worker unknown message \".concat(r))}}function D4(e,t,r){if(r=r||e.byteLength,e.byteLengthc instanceof ArrayBuffer?new Uint8Array(c):c),s=i.reduce((c,f)=>c+f.byteLength,0),n=new Uint8Array(s),o=0;for(let c of i)n.set(c,o),o+=c.byteLength;return n.buffer}async function B4(e){let t=[];for await(let r of e)t.push(r);return O4(...t)}function J1(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var F0=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=J1(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(J1()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var dy=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:i}=t,s=this.stats[r];return s||(t instanceof F0?s=t:s=new F0(r,i),this.stats[r]=s),s}};var zrt=\"Queued Requests\",Nrt=\"Active Requests\",Urt=\"Cancelled Requests\",Vrt=\"Queued Requests Ever\",jrt=\"Active Requests Ever\",Grt={id:\"request-scheduler\",throttleRequests:!0,maxRequests:6},py=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};G(this,\"props\",void 0),G(this,\"stats\",void 0),G(this,\"activeRequestCount\",0),G(this,\"requestQueue\",[]),G(this,\"requestMap\",new Map),G(this,\"deferredUpdate\",null),this.props={...Grt,...t},this.stats=new dy({id:this.props.id}),this.stats.get(zrt),this.stats.get(Nrt),this.stats.get(Urt),this.stats.get(Vrt),this.stats.get(jrt)}scheduleRequest(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(t))return this.requestMap.get(t);let i={handle:t,priority:0,getPriority:r},s=new Promise(n=>(i.resolve=n,i));return this.requestQueue.push(i),this.requestMap.set(t,s),this._issueNewRequests(),s}_issueRequest(t){let{handle:r,resolve:i}=t,s=!1,n=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,i?i({done:n}):Promise.resolve({done:n})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let t=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(t!==0){this._updateAllRequests();for(let r=0;rr.priority-i.priority)}_updateRequest(t){return t.priority=t.getPriority(t.handle),t.priority<0?(t.resolve(null),!1):!0}};var Wrt=\"\",dU={};function F4(e){for(let t in dU)if(e.startsWith(t)){let r=dU[t];e=e.replace(t,r)}return!e.startsWith(\"http://\")&&!e.startsWith(\"https://\")&&(e=\"\".concat(Wrt).concat(e)),e}function pU(e){return e&&typeof e==\"object\"&&e.isBuffer}function GM(e){if(pU(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e==\"string\"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e==\"object\"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(\"toArrayBuffer\")}var z0={};mA(z0,{dirname:()=>qrt,filename:()=>Hrt,join:()=>Zrt,resolve:()=>Yrt});function AU(){var e;if(typeof process<\"u\"&&typeof process.cwd<\"u\")return process.cwd();let t=(e=window.location)===null||e===void 0?void 0:e.pathname;return t?.slice(0,t.lastIndexOf(\"/\")+1)||\"\"}function Hrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(t+1):\"\"}function qrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(0,t):\"\"}function Zrt(){for(var e=arguments.length,t=new Array(e),r=0;r(n&&(s=s.replace(new RegExp(\"^\".concat(i)),\"\")),n!==t.length-1&&(s=s.replace(new RegExp(\"\".concat(i,\"$\")),\"\")),s)),t.join(i)}function Yrt(){let e=[];for(let s=0;s=-1&&!r;s--){let n;s>=0?n=e[s]:(i===void 0&&(i=AU()),n=i),n.length!==0&&(t=\"\".concat(n,\"/\").concat(t),r=n.charCodeAt(0)===tb)}return t=Qrt(t,!r),r?\"/\".concat(t):t.length>0?t:\".\"}var tb=47,z4=46;function Qrt(e,t){let r=\"\",i=-1,s=0,n,o=!1;for(let c=0;c<=e.length;++c){if(c2){let f=r.length-1,_=f;for(;_>=0&&r.charCodeAt(_)!==tb;--_);if(_!==f){r=_===-1?\"\":r.slice(0,_),i=c,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r=\"\",i=c,s=0,o=!1;continue}}t&&(r.length>0?r+=\"/..\":r=\"..\",o=!0)}else{let f=e.slice(i+1,c);r.length>0?r+=\"/\".concat(f):r=f,o=!1}i=c,s=0}else n===z4&&s!==-1?++s:s=-1}return r}var $rt=e=>typeof e==\"boolean\",eb=e=>typeof e==\"function\",N0=e=>e!==null&&typeof e==\"object\",N4=e=>N0(e)&&e.constructor==={}.constructor;var mU=e=>e&&typeof e[Symbol.iterator]==\"function\",gU=e=>e&&typeof e[Symbol.asyncIterator]==\"function\";var Cu=e=>typeof Response<\"u\"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Lu=e=>typeof Blob<\"u\"&&e instanceof Blob,_U=e=>e&&typeof e==\"object\"&&e.isBuffer;var Xrt=e=>typeof ReadableStream<\"u\"&&e instanceof ReadableStream||N0(e)&&eb(e.tee)&&eb(e.cancel)&&eb(e.getReader);var Krt=e=>N0(e)&&eb(e.read)&&eb(e.pipe)&&$rt(e.readable),WM=e=>Xrt(e)||Krt(e);var Jrt=/^data:([-\\w.]+\\/[-\\w.+]+)(;|,)/,tit=/^([-\\w.]+\\/[-\\w.+]+)/;function yU(e){let t=tit.exec(e);return t?t[1]:e}function U4(e){let t=Jrt.exec(e);return t?t[1]:\"\"}var vU=/\\?.*/;function xU(e){let t=e.match(vU);return t&&t[0]}function Ay(e){return e.replace(vU,\"\")}function U0(e){return Cu(e)?e.url:Lu(e)?e.name||\"\":typeof e==\"string\"?e:\"\"}function rb(e){if(Cu(e)){let t=e,r=t.headers.get(\"content-type\")||\"\",i=Ay(t.url);return yU(r)||U4(i)}return Lu(e)?e.type||\"\":typeof e==\"string\"?U4(e):\"\"}function bU(e){return Cu(e)?e.headers[\"content-length\"]||-1:Lu(e)?e.size:typeof e==\"string\"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function HM(e){if(Cu(e))return e;let t={},r=bU(e);r>=0&&(t[\"content-length\"]=String(r));let i=U0(e),s=rb(e);s&&(t[\"content-type\"]=s);let n=await rit(e);n&&(t[\"x-first-bytes\"]=n),typeof e==\"string\"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,\"url\",{value:i}),o}async function wU(e){if(!e.ok){let t=await eit(e);throw new Error(t)}}async function eit(e){let t=\"Failed to fetch resource \".concat(e.url,\" (\").concat(e.status,\"): \");try{let r=e.headers.get(\"Content-Type\"),i=e.statusText;r.includes(\"application/json\")&&(i+=\" \".concat(await e.text())),t+=i,t=t.length>60?\"\".concat(t.slice(0,60),\"...\"):t}catch{}return t}async function rit(e){if(typeof e==\"string\")return\"data:,\".concat(e.slice(0,5));if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(i=>{let s=new FileReader;s.onload=n=>{var o;return i(n==null||(o=n.target)===null||o===void 0?void 0:o.result)},s.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5),i=iit(r);return\"data:base64,\".concat(i)}return null}function iit(e){let t=\"\",r=new Uint8Array(e);for(let i=0;i=0)}function Rh(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||j4()}var nit=globalThis.self||globalThis.window||globalThis.global,my=globalThis.window||globalThis.self||globalThis.global,sit=globalThis.document||{},V0=globalThis.process||{},oit=globalThis.console,qSt=globalThis.navigator||{};var qM=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",QSt=Rh();function ait(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var ZM=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=ait(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function SU(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function TU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function YM(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var QM;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(QM||(QM={}));var lit=10;function MU(e){return typeof e!=\"string\"?e:(e=e.toUpperCase(),QM[e]||QM.WHITE)}function EU(e,t,r){if(!Rh&&typeof e==\"string\"){if(t){let i=MU(t);e=\"\\x1B[\".concat(i,\"m\").concat(e,\"\\x1B[39m\")}if(r){let i=MU(r);e=\"\\x1B[\".concat(i+lit,\"m\").concat(e,\"\\x1B[49m\")}}return e}function PU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),s=e;for(let n of i){let o=s[n];typeof o==\"function\"&&(t.find(c=>n===c)||(s[n]=o.bind(e)))}}function gy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function j0(){let e;if(Rh()&&my.performance){var t,r;e=my===null||my===void 0||(t=my.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in V0){var i;let s=V0===null||V0===void 0||(i=V0.hrtime)===null||i===void 0?void 0:i.call(V0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var _y={debug:Rh()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cit={enabled:!0,level:0};function ku(){}var IU={},CU={once:!0},Nf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};this.id=void 0,this.VERSION=qM,this._startTs=j0(),this._deltaTs=j0(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new ZM(\"__probe-\".concat(this.id,\"__\"),cit),this.timeStamp(\"\".concat(this.id,\" started\")),PU(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){gy(t,r)}warn(t){return this._getLogFunction(0,t,_y.warn,arguments,CU)}error(t){return this._getLogFunction(0,t,_y.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,_y.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,_y.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,_y.debug||_y.info,arguments,CU)}table(t,r,i){return r?this._getLogFunction(t,r,console.table||ku,i&&[i],{tag:dit(r)}):ku}image(t){let{logLevel:r,priority:i,image:s,message:n=\"\",scale:o=1}=t;return this._shouldLog(r||i)?Rh()?fit({image:s,message:n,scale:o}):hit({image:s,message:n,scale:o}):ku}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||ku)}group(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=LU({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||ku)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kU(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=LU({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,gy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=j0();let o=n.tag||n.message;if(n.once&&o)if(!IU[o])IU[o]=j0();else return ku;return r=uit(this.id,n.message,n),i.bind(console,r,...n.args)}return ku}};Nf.VERSION=qM;function kU(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return gy(Number.isFinite(t)&&t>=0),t}function LU(e){let{logLevel:t,message:r}=e;e.logLevel=kU(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return gy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function uit(e,t,r){if(typeof t==\"string\"){let i=r.time?TU(SU(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=EU(t,r.color,r.background)}return t}function hit(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),ku}function fit(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=YM(n,r,i);console.log(...o)},n.src=t,ku}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...YM(t,r,i)),ku;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...YM(n,r,i)),n.src=t.toDataURL(),ku}return ku}function dit(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var vTt=new Nf({id:\"@probe.gl/log\"});var G4=new Nf({id:\"loaders.gl\"}),$M=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XM=class{constructor(){G(this,\"console\",void 0),this.console=console}log(){for(var t=arguments.length,r=new Array(t),i=0;i{let e=H4();return e.globalOptions=e.globalOptions||{...W4},e.globalOptions};function BU(e,t,r,i){return r=r||[],r=Array.isArray(r)?r:[r],pit(e,r),mit(t,e,i)}function pit(e,t){DU(e,null,W4,RU,t);for(let r of t){let i=e&&e[r.id]||{},s=r.options&&r.options[r.id]||{},n=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};DU(i,r.id,s,n,t)}}function DU(e,t,r,i,s){let n=t||\"Top level\",o=t?\"\".concat(t,\".\"):\"\";for(let c in e){let f=!t&&N0(e[c]),_=c===\"baseUri\"&&!t,w=c===\"workerUrl\"&&t;if(!(c in r)&&!_&&!w){if(c in i)G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' no longer supported, use '\").concat(i[c],\"'\"))();else if(!f){let I=Ait(c,s);G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' not recognized. \").concat(I))()}}}}function Ait(e,t){let r=e.toLowerCase(),i=\"\";for(let s of t)for(let n in s.options){if(e===n)return\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\");let o=n.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(i=i||\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\"))}return i}function mit(e,t,r){let s={...e.options||{}};return git(s,r),s.log===null&&(s.log=new $M),OU(s,q4()),OU(s,t),s}function OU(e,t){for(let r in t)if(r in t){let i=t[r];N4(i)&&N4(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function git(e,t){t&&!(\"baseUri\"in e)&&(e.baseUri=t)}function ib(e){var t;return e?(Array.isArray(e)&&(e=e[0]),Array.isArray((t=e)===null||t===void 0?void 0:t.extensions)):!1}function nb(e){var t,r;NA(e,\"null loader\"),NA(ib(e),\"invalid loader\");let i;return Array.isArray(e)&&(i=e[1],e=e[0],e={...e,options:{...e.options,...i}}),((t=e)!==null&&t!==void 0&&t.parseTextSync||(r=e)!==null&&r!==void 0&&r.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var FU=()=>{let e=H4();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Z4(e){let t=FU();e=Array.isArray(e)?e:[e];for(let r of e){let i=nb(r);t.find(s=>i===s)||t.unshift(i)}}function zU(){return FU()}var NU=new Nf({id:\"loaders.gl\"});var _it=/\\.([^.]+)$/;async function jU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;let s=UU(e,t,{...r,nothrow:!0},i);if(s)return s;if(Lu(e)&&(e=await e.slice(0,10).arrayBuffer(),s=UU(e,t,r,i)),!s&&!(r!=null&&r.nothrow))throw new Error(WU(e));return s}function UU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;if(t&&!Array.isArray(t))return nb(t);let s=[];t&&(s=s.concat(t)),r!=null&&r.ignoreRegisteredLoaders||s.push(...zU()),vit(s);let n=yit(e,s,r,i);if(!n&&!(r!=null&&r.nothrow))throw new Error(WU(e));return n}function yit(e,t,r,i){let s=U0(e),n=rb(e),o=Ay(s)||i?.url,c=null,f=\"\";if(r!=null&&r.mimeType&&(c=Y4(t,r?.mimeType),f=\"match forced by supplied MIME type \".concat(r?.mimeType)),c=c||xit(t,o),f=f||(c?\"matched url \".concat(o):\"\"),c=c||Y4(t,n),f=f||(c?\"matched MIME type \".concat(n):\"\"),c=c||wit(t,e),f=f||(c?\"matched initial data \".concat(HU(e)):\"\"),c=c||Y4(t,r?.fallbackMimeType),f=f||(c?\"matched fallback MIME type \".concat(n):\"\"),f){var _;NU.log(1,\"selectLoader selected \".concat((_=c)===null||_===void 0?void 0:_.name,\": \").concat(f,\".\"))}return c}function GU(e){return!(e instanceof Response&&e.status===204)}function WU(e){let t=U0(e),r=rb(e),i=\"No valid loader found (\";i+=t?\"\".concat(z0.filename(t),\", \"):\"no url provided, \",i+=\"MIME type: \".concat(r?'\"'.concat(r,'\"'):\"not provided\",\", \");let s=e?HU(e):\"\";return i+=s?' first bytes: \"'.concat(s,'\"'):\"first bytes: not available\",i+=\")\",i}function vit(e){for(let t of e)nb(t)}function xit(e,t){let r=t&&_it.exec(t),i=r&&r[1];return i?bit(e,i):null}function bit(e,t){t=t.toLowerCase();for(let r of e)for(let i of r.extensions)if(i.toLowerCase()===t)return r;return null}function Y4(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===\"application/x.\".concat(r.id))return r;return null}function wit(e,t){if(!t)return null;for(let r of e)if(typeof t==\"string\"){if(Sit(t,r))return r}else if(ArrayBuffer.isView(t)){if(VU(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&VU(t,0,r))return r;return null}function Sit(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>e.startsWith(i))}function VU(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(s=>Tit(e,t,r,s))}function Tit(e,t,r,i){if(i instanceof ArrayBuffer)return D4(i,e,i.byteLength);switch(typeof i){case\"function\":return i(e,r);case\"string\":let s=Q4(e,t,i.length);return i===s;default:return!1}}function HU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof e==\"string\"?e.slice(0,t):ArrayBuffer.isView(e)?Q4(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Q4(e,0,t):\"\"}function Q4(e,t,r){if(e.byteLength1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let{chunkSize:r=262144}=t,i=0;for(;iV4(s,i):t!=null&&t.fetch?t?.fetch:V4}function KU(e,t,r){if(r)return r;let i={fetch:KM(t,e),...e};if(i.url){let s=Ay(i.url);i.baseUrl=s,i.queryString=xU(i.url),i.filename=z0.filename(s),i.baseUrl=z0.dirname(s)}return Array.isArray(i.loaders)||(i.loaders=null),i}function JU(e,t){if(!t&&e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let i=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...i]:i}return r&&r.length?r:null}async function JM(e,t,r,i){Ka(!i||typeof i==\"object\"),t&&!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0),e=await e,r=r||{};let s=U0(e),o=JU(t,i),c=await jU(e,o,r);return c?(r=BU(r,c,o,s),i=KU({url:s,parse:JM,loaders:o},r,i||null),await Iit(c,e,r,i)):null}async function Iit(e,t,r,i){if(L4(e),Cu(t)){let s=t,{ok:n,redirected:o,status:c,statusText:f,type:_,url:w}=s,I=Object.fromEntries(s.headers.entries());i.response={headers:I,ok:n,redirected:o,status:c,statusText:f,type:_,url:w}}if(t=await XU(t,e,r),e.parseTextSync&&typeof t==\"string\")return r.dataType=\"text\",e.parseTextSync(t,r,i,e);if(k4(e,r))return await R4(e,t,r,i,JM);if(e.parseText&&typeof t==\"string\")return await e.parseText(t,r,i,e);if(e.parse)return await e.parse(t,r,i,e);throw Ka(!e.parseSync),new Error(\"\".concat(e.id,\" loader - no parser found and worker is disabled\"))}async function jA(e,t,r,i){!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0);let s=KM(r),n=e;return typeof e==\"string\"&&(n=await s(e)),Lu(e)&&(n=await s(e)),await JM(n,t,r)}var tV=\"3.4.14\";var{_parseImageNode:Cit}=globalThis,X4=typeof Image<\"u\",K4=typeof ImageBitmap<\"u\",Lit=!!Cit,J4=D0?!0:Lit;function eV(e){switch(e){case\"auto\":return K4||X4||J4;case\"imagebitmap\":return K4;case\"image\":return X4;case\"data\":return J4;default:throw new Error(\"@loaders.gl/images: image \".concat(e,\" not supported in this environment\"))}}function rV(){if(K4)return\"imagebitmap\";if(X4)return\"image\";if(J4)return\"data\";throw new Error(\"Install '@loaders.gl/polyfills' to parse images under Node.js\")}function kit(e){let t=Rit(e);if(!t)throw new Error(\"Not an image\");return t}function iV(e){switch(kit(e)){case\"data\":return e;case\"image\":case\"imagebitmap\":let t=document.createElement(\"canvas\"),r=t.getContext(\"2d\");if(!r)throw new Error(\"getImageData\");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error(\"getImageData\")}}function Rit(e){return typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap?\"imagebitmap\":typeof Image<\"u\"&&e instanceof Image?\"image\":e&&typeof e==\"object\"&&e.data&&e.width&&e.height?\"data\":null}var Dit=/^data:image\\/svg\\+xml/,Oit=/\\.svg((\\?|#).*)?$/;function tE(e){return e&&(Dit.test(e)||Oit.test(e))}function nV(e,t){if(tE(t)){let i=new TextDecoder().decode(e);try{typeof unescape==\"function\"&&typeof encodeURIComponent==\"function\"&&(i=unescape(encodeURIComponent(i)))}catch(n){throw new Error(n.message)}return\"data:image/svg+xml;base64,\".concat(btoa(i))}return tR(e,t)}function tR(e,t){if(tE(t))throw new Error(\"SVG cannot be parsed directly to imagebitmap\");return new Blob([new Uint8Array(e)])}async function eE(e,t,r){let i=nV(e,r),s=self.URL||self.webkitURL,n=typeof i!=\"string\"&&s.createObjectURL(i);try{return await Bit(n||i,t)}finally{n&&s.revokeObjectURL(n)}}async function Bit(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((i,s)=>{try{r.onload=()=>i(r),r.onerror=n=>s(new Error(\"Could not load image \".concat(e,\": \").concat(n)))}catch(n){s(n)}})}var Fit={},sV=!0;async function oV(e,t,r){let i;tE(r)?i=await eE(e,t,r):i=tR(e,r);let s=t&&t.imagebitmap;return await zit(i,s)}async function zit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Nit(t)||!sV)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),sV=!1}return await createImageBitmap(e)}function Nit(e){for(let t in e||Fit)return!1;return!0}function aV(e){return!Git(e,\"ftyp\",4)||!(e[8]&96)?null:Uit(e)}function Uit(e){switch(Vit(e,8,12).replace(\"\\0\",\" \").trim()){case\"avif\":case\"avis\":return{extension:\"avif\",mimeType:\"image/avif\"};default:return null}}function Vit(e,t,r){return String.fromCharCode(...e.slice(t,r))}function jit(e){return[...e].map(t=>t.charCodeAt(0))}function Git(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=jit(t);for(let s=0;s=24&&t.getUint32(0,Uf)===2303741511?{mimeType:\"image/png\",width:t.getUint32(16,Uf),height:t.getUint32(20,Uf)}:null}function qit(e){let t=ob(e);return t.byteLength>=10&&t.getUint32(0,Uf)===1195984440?{mimeType:\"image/gif\",width:t.getUint16(6,sb),height:t.getUint16(8,sb)}:null}function Zit(e){let t=ob(e);return t.byteLength>=14&&t.getUint16(0,Uf)===16973&&t.getUint32(2,sb)===t.byteLength?{mimeType:\"image/bmp\",width:t.getUint32(18,sb),height:t.getUint32(22,sb)}:null}function Yit(e){let t=ob(e);if(!(t.byteLength>=3&&t.getUint16(0,Uf)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:s}=Qit(),n=2;for(;n+9!!rE(new DataView(e))],options:Jit};function ab(e){if(typeof window<\"u\"&&typeof window.process==\"object\"&&window.process.type===\"renderer\"||typeof process<\"u\"&&typeof process.versions==\"object\"&&process.versions.electron)return!0;let t=typeof navigator==\"object\"&&typeof navigator.userAgent==\"string\"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf(\"Electron\")>=0)}function Lo(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||ab()}var GA={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document,process:typeof process==\"object\"&&process};var tnt=GA.self||GA.window||GA.global,yy=GA.window||GA.self||GA.global,ent=GA.document||{},G0=GA.process||{};var iE=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",gEt=Lo();var rR=globalThis;function vy(e){if(!e&&!Lo())return\"Node\";if(ab(e))return\"Electron\";let r=e||(typeof navigator<\"u\"?navigator:{}).userAgent||\"\";if(r.indexOf(\"Edge\")>-1)return\"Edge\";let i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s?\"IE\":rR.chrome?\"Chrome\":rR.safari?\"Safari\":rR.mozInnerScreenX?\"Firefox\":\"Unknown\"}function rnt(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var nE=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";G(this,\"storage\",void 0),G(this,\"id\",void 0),G(this,\"config\",void 0),this.storage=rnt(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function uV(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function hV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function sE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var oE;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(oE||(oE={}));function fV(e){return typeof e==\"string\"?oE[e.toUpperCase()]||oE.WHITE:e}function dV(e,t,r){return!Lo&&typeof e==\"string\"&&(t&&(t=fV(t),e=\"\\x1B[\".concat(t,\"m\").concat(e,\"\\x1B[39m\")),r&&(t=fV(r),e=\"\\x1B[\".concat(r+10,\"m\").concat(e,\"\\x1B[49m\"))),e}function pV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r);for(let s of i)typeof e[s]==\"function\"&&(t.find(n=>s===n)||(e[s]=e[s].bind(e)))}function xy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function W0(){let e;if(Lo&&\"performance\"in yy){var t,r;e=yy===null||yy===void 0||(t=yy.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in G0){var i;let s=G0===null||G0===void 0||(i=G0.hrtime)===null||i===void 0?void 0:i.call(G0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var by={debug:Lo&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},int={enabled:!0,level:0};function Ru(){}var AV={},mV={once:!0},Vf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};G(this,\"id\",void 0),G(this,\"VERSION\",iE),G(this,\"_startTs\",W0()),G(this,\"_deltaTs\",W0()),G(this,\"_storage\",void 0),G(this,\"userData\",{}),G(this,\"LOG_THROTTLE_TIMEOUT\",0),this.id=t,this.userData={},this._storage=new nE(\"__probe-\".concat(this.id,\"__\"),int),this.timeStamp(\"\".concat(this.id,\" started\")),pV(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((W0()-this._startTs).toPrecision(10))}getDelta(){return Number((W0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){xy(t,r)}warn(t){return this._getLogFunction(0,t,by.warn,arguments,mV)}error(t){return this._getLogFunction(0,t,by.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,by.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,by.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){for(var i=arguments.length,s=new Array(i>2?i-2:0),n=2;n2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=gV({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||Ru)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_V(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=gV({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,xy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=W0();let o=n.tag||n.message;if(n.once)if(!AV[o])AV[o]=W0();else return Ru;return r=nnt(this.id,n.message,n),i.bind(console,r,...n.args)}return Ru}};G(Vf,\"VERSION\",iE);function _V(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return xy(Number.isFinite(t)&&t>=0),t}function gV(e){let{logLevel:t,message:r}=e;e.logLevel=_V(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return xy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function nnt(e,t,r){if(typeof t==\"string\"){let i=r.time?hV(uV(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=dV(t,r.color,r.background)}return t}function snt(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),Ru}function ont(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=sE(n,r,i);console.log(...o)},n.src=t,Ru}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...sE(t,r,i)),Ru;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...sE(n,r,i)),n.src=t.toDataURL(),Ru}return Ru}function ant(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var $Et=new Vf({id:\"@probe.gl/log\"});var or=new Vf({id:\"deck\"});var iR={};function yV(e){iR=e}function Ls(e,t,r,i){or.level>0&&iR[e]&&iR[e].call(null,t,r,i)}function lnt(e){let t=e[0],r=e[e.length-1];return t===\"{\"&&r===\"}\"||t===\"[\"&&r===\"]\"}var vV={id:\"JSON\",name:\"JSON\",module:\"\",version:\"\",options:{},extensions:[\"json\",\"geojson\"],mimeTypes:[\"application/json\",\"application/geo+json\"],testText:lnt,parseTextSync:JSON.parse};function cnt(){let e=\"8.9.35\",t=globalThis.deck&&globalThis.deck.VERSION;if(t&&t!==e)throw new Error(\"deck.gl - multiple versions detected: \".concat(t,\" vs \").concat(e));return t||(or.log(1,\"deck.gl \".concat(e))(),globalThis.deck={...globalThis.deck,VERSION:e,version:e,log:or,_registerLoggers:yV},Z4([vV,[eR,{imagebitmap:{premultiplyAlpha:\"none\"}}]])),e}var xV=cnt();var Yr={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Yr,\"IDENTITY\",{get:()=>(or.deprecated(\"COORDINATE_SYSTEM.IDENTITY\",\"COORDINATE_SYSTEM.CARTESIAN\")(),0)});var Ja={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},po={common:0,meters:1,pixels:2},nR={click:{handler:\"onClick\"},panstart:{handler:\"onDragStart\"},panmove:{handler:\"onDrag\"},panend:{handler:\"onDragEnd\"}};var He=new Vf({id:\"luma.gl\"});function Ks(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}var unt=\"Invalid WebGLRenderingContext\";var hnt=\"Requires WebGL2\";function Jd(e){return typeof WebGLRenderingContext<\"u\"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&Number.isFinite(e._version))}function fr(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function sR(e){return fr(e)?e:null}function tp(e){return Ks(Jd(e),unt),e}function Yn(e){return Ks(fr(e),hnt),e}var lb={};function fnt(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function dnt(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function pnt(e,t){lb[e]=!0,t!==void 0&&fnt(t)}function Ant(e){let t=e.getError;e.getError=function(){let i;do i=t.apply(e),i!==0&&(lb[i]=!0);while(i!==0);for(i in lb)if(lb[i])return delete lb[i],parseInt(i,10);return 0}}var cb=function e(t){let r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(let i=0;i{dnt(\"OESVertexArrayObject emulation library context restored\"),r.reset_()},!0),this.reset_()};H0.prototype.VERTEX_ARRAY_BINDING_OES=34229;H0.prototype.reset_=function(){if(this.vertexArrayObjects!==void 0)for(let i=0;ifr(e)?void 0:0,Tnt={3074:e=>fr(e)?void 0:36064,[ynt]:e=>fr(e)?void 0:vnt,35977:Un,32937:Un,[xnt]:(e,t)=>{let r=fr(e)?e.getExtension(gnt):e.getExtension(mnt);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0},[wnt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)},[Snt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)},[bnt]:(e,t)=>{let r=e.luma.extensions[_nt];return r?t(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Un,35071:Un,37447:Un,36063:(e,t)=>{if(!fr(e)){let r=e.getExtension(SV);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Un,35374:Un,35377:Un,34852:e=>{if(!fr(e)){let t=e.getExtension(SV);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}},36203:e=>e.getExtension(wV)?2147483647:65535,33001:e=>e.getExtension(wV)?16777216:65535,33e3:e=>16777216,37157:Un,35373:Un,35657:Un,36183:Un,37137:Un,34045:Un,35978:Un,35979:Un,35968:Un,35376:Un,35375:Un,35659:Un,37154:Un,35371:Un,35658:Un,35076:Un,35077:Un,35380:Un};function MV(e,t,r){let i=Tnt[r],s=typeof i==\"function\"?i(e,t,r):i;return s!==void 0?s:t(r)}var Mnt=\"OES_vertex_array_object\",EV=\"ANGLE_instanced_arrays\",Ent=\"WEBGL_draw_buffers\",Pnt=\"EXT_disjoint_timer_query\",Int=\"EXT_texture_filter_anisotropic\",Cnt=\"VertexArray requires WebGL2 or OES_vertex_array_object extension\";function Lnt(e,t){return{webgl2:fr(e),ext:e.getExtension(t)}}var oR={[Mnt]:{meta:{suffix:\"OES\"},createVertexArray:()=>{Ks(!1,Cnt)},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[EV]:{meta:{suffix:\"ANGLE\"},vertexAttribDivisor(e,t){Ks(t===0,\"WebGL instanced rendering not supported\")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},[Ent]:{meta:{suffix:\"WEBGL\"},drawBuffers:()=>{Ks(!1)}},[Pnt]:{meta:{suffix:\"EXT\"},createQuery:()=>{Ks(!1)},deleteQuery:()=>{Ks(!1)},beginQuery:()=>{Ks(!1)},endQuery:()=>{},getQuery(e,t){return this.getQueryObject(e,t)},getQueryParameter(e,t){return this.getQueryObject(e,t)},getQueryObject:()=>{}}},aE={readBuffer:(e,t,r)=>{fr(e)&&t(r)},getVertexAttrib:(e,t,r,i)=>{let{webgl2:s,ext:n}=Lnt(e,EV),o;switch(i){case 35069:o=s?void 0:!1;break;case 35070:o=!s&&!n?0:void 0;break;default:}return o!==void 0?o:t(r,i)},getProgramParameter:(e,t,r,i)=>{if(!fr(e))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(r,i)},getInternalformatParameter:(e,t,r,i,s)=>{if(!fr(e))switch(s){case 32937:return new Int32Array([0]);default:}return e.getInternalformatParameter(r,i,s)},getTexParameter(e,t,r,i){switch(i){case 34046:let{extensions:s}=e.luma,n=s[Int];i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(r,i)},getParameter:MV,hint(e,t,r,i){return t(r,i)}};function PV(e){e.luma=e.luma||{};let{luma:t}=e;return t.polyfilled||(bV(e),knt(e),Dnt(e,oR),Rnt(e,{target:t,target2:e}),t.polyfilled=!0),e}globalThis.polyfillContext=PV;function knt(e){e.luma.extensions={};let t=e.getSupportedExtensions()||[];for(let r of t)e.luma[r]=e.getExtension(r)}function Rnt(e,t){let{target:r,target2:i}=t;Object.keys(aE).forEach(s=>{if(typeof aE[s]==\"function\"){let n=e[s]?e[s].bind(e):()=>{},o=aE[s].bind(null,e,n);r[s]=o,i[s]=o}})}function Dnt(e,t){for(let r of Object.getOwnPropertyNames(t))r!==\"overrides\"&&Ont(e,{extension:r,target:e.luma,target2:e})}function Ont(e,t){let{extension:r,target:i,target2:s}=t,n=oR[r];Ks(n);let{meta:o={}}=n,{suffix:c=\"\"}=o,f=e.getExtension(r);for(let _ of Object.keys(n)){let w=\"\".concat(_).concat(c),I=null;_===\"meta\"||typeof e[_]==\"function\"||(f&&typeof f[w]==\"function\"?I=function(){return f[w](...arguments)}:typeof n[_]==\"function\"&&(I=n[_].bind(i))),I&&(i[_]=I,s[_]=I)}}var hb={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},WA=(e,t,r)=>t?e.enable(r):e.disable(r),IV=(e,t,r)=>e.hint(r,t),Qc=(e,t,r)=>e.pixelStorei(r,t),Bnt=(e,t)=>{let r=fr(e)?36009:36160;return e.bindFramebuffer(r,t)},Fnt=(e,t)=>e.bindFramebuffer(36008,t);function ub(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var CV={3042:WA,32773:(e,t)=>e.blendColor(...t),32777:\"blendEquation\",34877:\"blendEquation\",32969:\"blendFunc\",32968:\"blendFunc\",32971:\"blendFunc\",32970:\"blendFunc\",3106:(e,t)=>e.clearColor(...t),3107:(e,t)=>e.colorMask(...t),2884:WA,2885:(e,t)=>e.cullFace(t),2929:WA,2931:(e,t)=>e.clearDepth(t),2932:(e,t)=>e.depthFunc(t),2928:(e,t)=>e.depthRange(...t),2930:(e,t)=>e.depthMask(t),3024:WA,35723:IV,36006:Bnt,2886:(e,t)=>e.frontFace(t),33170:IV,2849:(e,t)=>e.lineWidth(t),32823:WA,32824:\"polygonOffset\",10752:\"polygonOffset\",35977:WA,32938:\"sampleCoverage\",32939:\"sampleCoverage\",3089:WA,3088:(e,t)=>e.scissor(...t),2960:WA,2961:(e,t)=>e.clearStencil(t),2968:(e,t)=>e.stencilMaskSeparate(1028,t),36005:(e,t)=>e.stencilMaskSeparate(1029,t),2962:\"stencilFuncFront\",2967:\"stencilFuncFront\",2963:\"stencilFuncFront\",34816:\"stencilFuncBack\",36003:\"stencilFuncBack\",36004:\"stencilFuncBack\",2964:\"stencilOpFront\",2965:\"stencilOpFront\",2966:\"stencilOpFront\",34817:\"stencilOpBack\",34818:\"stencilOpBack\",34819:\"stencilOpBack\",2978:(e,t)=>e.viewport(...t),3333:Qc,3317:Qc,37440:Qc,37441:Qc,37443:Qc,3330:Qc,3332:Qc,3331:Qc,36010:Fnt,3314:Qc,32878:Qc,3316:Qc,3315:Qc,32877:Qc,framebuffer:(e,t)=>{let r=t&&\"handle\"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{t=ub(t)?t:[t,t],e.blendEquationSeparate(...t)},blendFunc:(e,t)=>{t=ub(t)&&t.length===2?[...t,...t]:t,e.blendFuncSeparate(...t)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(...t),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=ub(t)?t:[t,t];let[r,i]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,i)},stencilFunc:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilFuncSeparate(1028,r,i,s),e.stencilFuncSeparate(1029,n,o,c)},stencilOp:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilOpSeparate(1028,r,i,s),e.stencilOpSeparate(1029,n,o,c)},viewport:(e,t)=>e.viewport(...t)};function ks(e,t,r){return t[e]!==void 0?t[e]:r[e]}var LV={blendEquation:(e,t,r)=>e.blendEquationSeparate(ks(32777,t,r),ks(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(ks(32969,t,r),ks(32968,t,r),ks(32971,t,r),ks(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(ks(32824,t,r),ks(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(ks(32938,t,r),ks(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,ks(2962,t,r),ks(2967,t,r),ks(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,ks(34816,t,r),ks(36003,t,r),ks(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,ks(2964,t,r),ks(2965,t,r),ks(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,ks(34817,t,r),ks(34818,t,r),ks(34819,t,r))},aR={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({36006:r,36010:r});case 36009:return e({36006:r});case 36008:return e({36010:r});default:return null}},blendColor:(e,t,r,i,s)=>e({32773:new Float32Array([t,r,i,s])}),blendEquation:(e,t)=>e({32777:t,34877:t}),blendEquationSeparate:(e,t,r)=>e({32777:t,34877:r}),blendFunc:(e,t,r)=>e({32969:t,32968:r,32971:t,32970:r}),blendFuncSeparate:(e,t,r,i,s)=>e({32969:t,32968:r,32971:i,32970:s}),clearColor:(e,t,r,i,s)=>e({3106:new Float32Array([t,r,i,s])}),clearDepth:(e,t)=>e({2931:t}),clearStencil:(e,t)=>e({2961:t}),colorMask:(e,t,r,i,s)=>e({3107:[t,r,i,s]}),cullFace:(e,t)=>e({2885:t}),depthFunc:(e,t)=>e({2932:t}),depthRange:(e,t,r)=>e({2928:new Float32Array([t,r])}),depthMask:(e,t)=>e({2930:t}),frontFace:(e,t)=>e({2886:t}),lineWidth:(e,t)=>e({2849:t}),polygonOffset:(e,t,r)=>e({32824:t,10752:r}),sampleCoverage:(e,t,r)=>e({32938:t,32939:r}),scissor:(e,t,r,i,s)=>e({3088:new Int32Array([t,r,i,s])}),stencilMask:(e,t)=>e({2968:t,36005:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,i)=>e({2962:t,2967:r,2963:i,34816:t,36003:r,36004:i}),stencilFuncSeparate:(e,t,r,i,s)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:i,[t===1028?2963:36004]:s}),stencilOp:(e,t,r,i)=>e({2964:t,2965:r,2966:i,34817:t,34818:r,34819:i}),stencilOpSeparate:(e,t,r,i,s)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:i,[t===1028?2966:34819]:s}),viewport:(e,t,r,i,s)=>e({2978:[t,r,i,s]})},jf=(e,t)=>e.isEnabled(t),lR={3042:jf,2884:jf,2929:jf,3024:jf,32823:jf,32926:jf,32928:jf,3089:jf,2960:jf,35977:jf};function cR(e){for(let t in e)return!1;return!0}function kV(e,t){if(e===t)return!0;let r=Array.isArray(e)||ArrayBuffer.isView(e),i=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&i&&e.length===t.length){for(let s=0;s{}}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?wy(t):Object.assign({},hb),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}pop(){Ks(this.stateStack.length>0);let t=this.stateStack[this.stateStack.length-1];Ml(this.gl,t),this.stateStack.pop()}_updateCache(t){let r=!1,i,s=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(let n in t){Ks(n!==void 0);let o=t[n],c=this.cache[n];kV(o,c)||(r=!0,i=c,s&&!(n in s)&&(s[n]=c),this.cache[n]=o)}return{valueChanged:r,oldValue:i}}};function lE(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{enable:r=!0,copyState:i}=t;if(Ks(i!==void 0),!e.state){let{polyfillContext:s}=globalThis;s&&s(e),e.state=new uR(e,{copyState:i}),Nnt(e);for(let n in aR){let o=aR[n];znt(e,n,o)}RV(e,\"getParameter\"),RV(e,\"isEnabled\")}return e.state.enable=r,e}function hR(e){e.state||lE(e,{copyState:!1}),e.state.push()}function cE(e){Ks(e.state),e.state.pop()}function Ml(e,t){if(Ks(Jd(e),\"setParameters requires a WebGL context\"),cR(t))return;let r={};for(let s in t){let n=Number(s),o=CV[s];o&&(typeof o==\"string\"?r[o]=!0:o(e,t[s],n))}let i=e.state&&e.state.cache;if(i)for(let s in r){let n=LV[s];n(e,t,i)}}function wy(e,t){if(t=t||hb,typeof t==\"number\"){let s=t,n=lR[s];return n?n(e,s):e.getParameter(s)}let r=Array.isArray(t)?t:Object.keys(t),i={};for(let s of r){let n=lR[s];i[s]=n?n(e,Number(s)):e.getParameter(Number(s))}return i}function uE(e){Ml(e,hb)}function Mn(e,t,r){if(cR(t))return r(e);let{nocatch:i=!0}=t;hR(e),Ml(e,t);let s;if(i)s=r(e),cE(e);else try{s=r(e)}finally{cE(e)}return s}function El(e){let{luma:t}=e;if(e.canvas&&t){let r=t.canvasSizeInfo,i=\"clientWidth\"in r?r.clientWidth:e.canvas.clientWidth;return i?e.drawingBufferWidth/i:1}return 1}function Sy(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=El(e),s=e.drawingBufferWidth,n=e.drawingBufferHeight;return Unt(t,i,s,n,r)}function BV(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function Unt(e,t,r,i,s){let n=DV(e[0],t,r),o=OV(e[1],t,i,s),c=DV(e[0]+1,t,r),f=c===r-1?c:c-1;c=OV(e[1]+1,t,i,s);let _;return s?(c=c===0?c:c+1,_=o,o=c):_=c===i-1?c:c-1,{x:n,y:o,width:Math.max(f-n+1,1),height:Math.max(_-o+1,1)}}function DV(e,t,r){return Math.min(Math.round(e*t),r-1)}function OV(e,t,r,i){return i?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var fR=Lo(),Vnt=fR&&typeof document<\"u\",FV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Ty(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ks(fR,`createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils`),e=Object.assign({},FV,e);let{width:t,height:r}=e;function i(c){if(e.throwOnError)throw new Error(c);return console.error(c),null}e.onError=i;let s,{canvas:n}=e,o=Gnt({canvas:n,width:t,height:r,onError:i});return s=jnt(o,e),s?(s=q0(s,e),Wnt(s),s):null}function q0(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||Hnt(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{},t=Object.assign({},FV,t);let{manageState:r,debug:i}=t;return r&&lE(e,{copyState:!1,log:function(){for(var s=arguments.length,n=new Array(s),o=0;o1&&arguments[1]!==void 0?arguments[1]:{};if(e.canvas){let i=BV(t.useDevicePixels);qnt(e,i,t);return}let r=e.getExtension(\"STACKGL_resize_drawingbuffer\");r&&\"width\"in t&&\"height\"in t&&r.resize(t.width,t.height)}function jnt(e,t){let{onError:r}=t,i=null,s=f=>i=f.statusMessage||i;e.addEventListener(\"webglcontextcreationerror\",s,!1);let{webgl1:n=!0,webgl2:o=!0}=t,c=null;return o&&(c=c||e.getContext(\"webgl2\",t),c=c||e.getContext(\"experimental-webgl2\",t)),n&&(c=c||e.getContext(\"webgl\",t),c=c||e.getContext(\"experimental-webgl\",t)),e.removeEventListener(\"webglcontextcreationerror\",s,!1),c?(t.onContextLost&&e.addEventListener(\"webglcontextlost\",t.onContextLost,!1),t.onContextRestored&&e.addEventListener(\"webglcontextrestored\",t.onContextRestored,!1),c):r(\"Failed to create \".concat(o&&!n?\"WebGL2\":\"WebGL\",\" context: \").concat(i||\"Unknown error\"))}function Gnt(e){let{canvas:t,width:r=800,height:i=600,onError:s}=e,n;return typeof t==\"string\"?(Vnt&&document.readyState===\"complete\"||s(\"createGLContext called on canvas '\".concat(t,\"' before page was loaded\")),n=document.getElementById(t)):t?n=t:(n=document.createElement(\"canvas\"),n.id=\"lumagl-canvas\",n.style.width=Number.isFinite(r)?\"\".concat(r,\"px\"):\"100%\",n.style.height=Number.isFinite(i)?\"\".concat(i,\"px\"):\"100%\",document.body.insertBefore(n,document.body.firstChild)),n}function Wnt(e){let t=fr(e)?\"WebGL2\":\"WebGL1\",r=zV(e),i=r?\"(\".concat(r.vendor,\",\").concat(r.renderer,\")\"):\"\",s=e.debug?\" debug\":\"\";He.info(1,\"\".concat(t).concat(s,\" context \").concat(i))()}function Hnt(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?2:1}function qnt(e,t,r){let i=\"width\"in r?r.width:e.canvas.clientWidth,s=\"height\"in r?r.height:e.canvas.clientHeight;(!i||!s)&&(He.log(1,\"Canvas clientWidth/clientHeight is 0\")(),t=1,i=e.canvas.width||1,s=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};let n=e.luma.canvasSizeInfo;if(n.clientWidth!==i||n.clientHeight!==s||n.devicePixelRatio!==t){let o=t,c=Math.floor(i*o),f=Math.floor(s*o);e.canvas.width=c,e.canvas.height=f,(e.drawingBufferWidth!==c||e.drawingBufferHeight!==f)&&(He.warn(\"Device pixel ratio clamped\")(),o=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/s),e.canvas.width=Math.floor(i*o),e.canvas.height=Math.floor(s*o)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:s,devicePixelRatio:t})}}function fb(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Z0=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"type\",void 0),G(this,\"sampleSize\",1),G(this,\"time\",void 0),G(this,\"count\",void 0),G(this,\"samples\",void 0),G(this,\"lastTiming\",void 0),G(this,\"lastSampleTime\",void 0),G(this,\"lastSampleCount\",void 0),G(this,\"_count\",0),G(this,\"_time\",0),G(this,\"_samples\",0),G(this,\"_startTime\",0),G(this,\"_timerPending\",!1),this.name=t,this.type=r,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=fb(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(fb()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Gf=class{constructor(t){G(this,\"id\",void 0),G(this,\"stats\",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t in this.stats)this.stats[t].reset();return this}forEach(t){for(let r in this.stats)t(this.stats[r])}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){if(!t||!t.name)return null;let{name:r,type:i}=t;return this.stats[r]||(t instanceof Z0?this.stats[r]=t:this.stats[r]=new Z0(r,i)),this.stats[r]}};var db=\"8.5.21\",Znt=\"set luma.log.level=1 (or higher) to trace rendering\",pR=class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gf({id:t})),this.stats.get(t)}},Du=new pR;if(globalThis.luma&&globalThis.luma.VERSION!==db)throw new Error(\"luma.gl - multiple VERSIONs detected: \".concat(globalThis.luma.VERSION,\" vs \").concat(db));globalThis.luma||(Lo()&&He.log(1,\"luma.gl \".concat(db,\" - \").concat(Znt))(),globalThis.luma=globalThis.luma||{VERSION:db,version:db,log:He,stats:Du,globals:{modules:{},nodeIO:{}}});var _3t=globalThis.luma;function AR(e){return typeof window<\"u\"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function mR(e){return typeof window<\"u\"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}function ye(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}function hE(e,t){if(typeof t!=\"string\")return t;let r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\\./,\"\");let i=e[t];return ye(i!==void 0,\"Accessing undefined constant GL.\".concat(t)),i}function Ou(e,t){t=Number(t);for(let r in e)if(e[r]===t)return\"GL.\".concat(r);return String(t)}var gR={};function ta(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:\"id\";gR[e]=gR[e]||1;let t=gR[e]++;return\"\".concat(e,\"-\").concat(t)}function _R(e){return ye(typeof e==\"number\",\"Input must be a number\"),e&&(e&e-1)===0}function Wf(e){let t=!0;for(let r in e){t=!1;break}return t}function fE(e,t,r,i){let s=\"See luma.gl \".concat(r,\" Upgrade Guide at https://luma.gl/docs/upgrade-guide\"),n=Object.getPrototypeOf(e);i.forEach(o=>{n.methodName||(n[o]=()=>{throw He.removed(\"Calling removed method \".concat(t,\".\").concat(o,\": \"),s)(),new Error(o)})})}var My=\"Resource subclass must define virtual methods\",Js=class{get[Symbol.toStringTag](){return\"Resource\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t);let{id:i,userData:s={}}=r;this.gl=t,this.gl2=t,this.id=i||ta(this[Symbol.toStringTag]),this.userData=s,this._bound=!1,this._handle=r.handle,this._handle===void 0&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return\"\".concat(this[Symbol.toStringTag]||this.constructor.name,\"(\").concat(this.id,\")\")}get handle(){return this._handle}delete(){let{deleteChildren:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&t&&r.filter(Boolean).forEach(i=>i.delete()),this}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof t!=\"function\")return this._bindHandle(t),this;let r;return this._bound?r=t():(this._bindHandle(this.handle),this._bound=!0,r=t(),this._bound=!1,this._bindHandle(null)),r}unbind(){this.bind(null)}getParameter(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension)))){let c=s.webgl1,f=\"webgl2\"in s?s.webgl2:s.webgl1;return n?f:c}}return this._getParameter(t,r)}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{parameters:r,keys:i}=t,s=this.constructor.PARAMETERS||{},n=fr(this.gl),o={},c=r||Object.keys(s);for(let f of c){let _=s[f];if(_&&(!(\"webgl2\"in _)||n)&&(!(\"extension\"in _)||this.gl.getExtension(_.extension))){let I=i?Ou(this.gl,f):f;o[I]=this.getParameter(f,t),i&&_.type===\"GLenum\"&&(o[I]=Ou(this.gl,o[I]))}}return o}setParameter(t,r){t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension))))throw new Error(\"Parameter not available on this platform\");s.type===\"GLenum\"&&(r=hE(r))}return this._setParameter(t,r),this}setParameters(t){for(let r in t)this.setParameter(r,t[r]);return this}stubRemovedMethods(t,r,i){return fE(this,t,r,i)}initialize(t){}_createHandle(){throw new Error(My)}_deleteHandle(){throw new Error(My)}_bindHandle(t){throw new Error(My)}_getOptsFromHandle(){throw new Error(My)}_getParameter(t,r){throw new Error(My)}_setParameter(t,r){throw new Error(My)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){let t=this[Symbol.toStringTag],r=Du.get(\"Resource Counts\");r.get(\"Resources Created\").incrementCount(),r.get(\"\".concat(t,\"s Created\")).incrementCount(),r.get(\"\".concat(t,\"s Active\")).incrementCount()}_removeStats(){let t=this[Symbol.toStringTag];Du.get(\"Resource Counts\").get(\"\".concat(t,\"s Active\")).decrementCount()}_trackAllocatedMemory(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag];this._trackAllocatedMemoryForContext(t,r),this._trackAllocatedMemoryForContext(t,r,this.gl.canvas&&this.gl.canvas.id),this.byteLength=t}_trackAllocatedMemoryForContext(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"\",s=Du.get(\"Memory Usage\".concat(i));s.get(\"GPU Memory\").addCount(t),s.get(\"\".concat(r,\" Memory\")).addCount(t)}_trackDeallocatedMemory(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag];this._trackDeallocatedMemoryForContext(t),this._trackDeallocatedMemoryForContext(t,this.gl.canvas&&this.gl.canvas.id),this.byteLength=0}_trackDeallocatedMemoryForContext(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\",i=Du.get(\"Memory Usage\".concat(r));i.get(\"GPU Memory\").subtractCount(this.byteLength),i.get(\"\".concat(t,\" Memory\")).subtractCount(this.byteLength)}};var Ynt=\"Failed to deduce GL constant from typed array\";function pb(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Ynt)}}function HA(e){let{clamped:t=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return t?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error(\"Failed to deduce typed array type from GL constant\")}}function NV(e){let{data:t,width:r,height:i,bytesPerPixel:s=4,temp:n}=e,o=r*s;n=n||new Uint8Array(o);for(let c=0;cthis._assign(s)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return e.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return e.getBytesPerVertex(this)}_assign(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=Ab(\"Accessor\",t,$nt),t.type!==void 0&&(this.type=t.type,(t.type===5124||t.type===5125)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index==\"boolean\"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.isInstanced?1:0),this}};var VV=10,jV={offset:\"accessor.offset\",stride:\"accessor.stride\",type:\"accessor.type\",size:\"accessor.size\",divisor:\"accessor.divisor\",normalized:\"accessor.normalized\",integer:\"accessor.integer\",instanced:\"accessor.divisor\",isInstanced:\"accessor.divisor\"},Xnt={removedProps:{},replacedProps:{bytes:\"byteLength\"},deprecatedProps:jV},Knt={removedProps:jV},Fr=class extends Js{get[Symbol.toStringTag](){return\"Buffer\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Buffer\",\"v6.0\",[\"layout\",\"setLayout\",\"getIndexedParameter\"]),this.target=r.target||(this.gl.webgl2?36662:34962),this.initialize(r),Object.seal(this)}getElementCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerElement(t))}getVertexCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerVertex(t))}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=Ab(\"Buffer\",t,Xnt),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return t=Ab(\"Buffer\",t,Knt),\"accessor\"in t&&this.setAccessor(t.accessor),this}setAccessor(t){return t=Object.assign({},t),delete t.buffer,this.accessor=new Pl(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});let{data:r,offset:i=0,srcOffset:s=0}=t,n=t.byteLength||t.length;ye(r);let o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),s!==0||n!==void 0?(Yn(this.gl),this.gl.bufferSubData(this.target,i,r,s,n)):this.gl.bufferSubData(o,i,r),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(r),this}copyData(t){let{sourceBuffer:r,readOffset:i=0,writeOffset:s=0,size:n}=t,{gl:o}=this;return Yn(o),o.bindBuffer(36662,r.handle),o.bindBuffer(36663,this.handle),o.copyBufferSubData(36662,36663,i,s,n),o.bindBuffer(36662,null),o.bindBuffer(36663,null),this.debugData=null,this}getData(){let{dstData:t=null,srcByteOffset:r=0,dstOffset:i=0,length:s=0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yn(this.gl);let n=HA(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(r),c=i,f,_;t?(_=t.length,f=_-c):(f=Math.min(o,s||o),_=c+f);let w=Math.min(o,f);return s=s||w,ye(s<=w),t=t||new n(_),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,t,i,s),this.gl.bindBuffer(36662,null),t}bind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index,offset:i=0,size:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?s!==void 0?this.gl.bindBufferRange(t,r,this.handle,i,s):(ye(i===0),this.gl.bindBufferBase(t,r,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?this.gl.bindBufferBase(t,r,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(VV,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t.byteLength+r;ye(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();let s=this._getTarget();this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,this.usage),this.gl.bufferSubData(s,r,t),this.gl.bindBuffer(s,null),this.debugData=t.slice(0,VV),this.bytesUsed=i,this._trackAllocatedMemory(i);let n=pb(t);return ye(n),this.setAccessor(new Pl(this.accessor,{type:n})),this}_setByteLength(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.usage;ye(t>=0),this._trackDeallocatedMemory();let i=t;t===0&&(i=new Float32Array(0));let s=this._getTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,r),this.gl.bindBuffer(s,null),this.usage=r,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){let r=HA(this.accessor.type||5126,{clamped:!1}),i=t/r.BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(t){this.accessor.type||this.setAccessor(new Pl(this.accessor,{type:pb(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);let r=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),r}get type(){return He.deprecated(\"Buffer.type\",\"Buffer.accessor.type\")(),this.accessor.type}get bytes(){return He.deprecated(\"Buffer.bytes\",\"Buffer.byteLength\")(),this.byteLength}setByteLength(t){return He.deprecated(\"setByteLength\",\"reallocate\")(),this.reallocate(t)}updateAccessor(t){return He.deprecated(\"updateAccessor(...)\",\"setAccessor(new Accessor(buffer.accessor, ...)\")(),this.accessor=new Pl(this.accessor,t),this}};var dE={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},pE={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},AE={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1};function GV(e,t){let r=dE[t];if(!r)return!1;if(r.gl1===void 0&&r.gl2===void 0)return!0;let i=fr(e)&&r.gl2||r.gl1;return typeof i==\"string\"?e.getExtension(i):i}function WV(e,t){let r=dE[t];switch(r&&r.types[0]){case 5126:return e.getExtension(\"OES_texture_float_linear\");case 5131:return e.getExtension(\"OES_texture_half_float_linear\");default:return!0}}var Jnt=[9729,9728],HV=globalThis.WebGLBuffer||function(){},tl=class extends Js{get[Symbol.toStringTag](){return\"Texture\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{format:i,linearFiltering:s}=r,n=!0;return i&&(n=n&&GV(t,i),n=n&&(!s||WV(t,i))),n}constructor(t,r){let{id:i=ta(\"texture\"),handle:s,target:n}=r;super(t,{id:i,handle:s}),this.target=n,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return\"Texture(\".concat(this.id,\",\").concat(this.width,\"x\").concat(this.height,\")\")}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.data;if(r instanceof Promise)return r.then(K=>this.initialize(Object.assign({},t,{pixels:K,data:K}))),this;let i=typeof HTMLVideoElement<\"u\"&&r instanceof HTMLVideoElement;if(i&&r.readyStatethis.initialize(t)),this;let{pixels:s=null,format:n=6408,border:o=0,recreate:c=!1,parameters:f={},pixelStore:_={},textureUnit:w=void 0}=t;r||(r=s);let{width:I,height:R,dataFormat:N,type:j,compressed:Q=!1,mipmaps:et=!0}=t,{depth:Y=0}=t;return{width:I,height:R,compressed:Q,dataFormat:N,type:j}=this._deduceParameters({format:n,type:j,dataFormat:N,compressed:Q,data:r,width:I,height:R}),this.width=I,this.height=R,this.depth=Y,this.format=n,this.type=j,this.dataFormat=N,this.border=o,this.textureUnit=w,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),et&&this._isNPOT()&&(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),et=!1,this._updateForNPOT(f)),this.mipmaps=et,this.setImageData({data:r,width:I,height:R,depth:Y,format:n,type:j,dataFormat:N,border:o,mipmaps:et,parameters:_,compressed:Q}),et&&this.generateMipmap(),this.setParameters(f),c&&(this.data=r),i&&(this._video={video:r,parameters:f,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}update(){if(this._video){let{video:t,parameters:r,lastTime:i}=this._video;if(i===t.currentTime||t.readyState0&&arguments[0]!==void 0?arguments[0]:{};return this._isNPOT()?(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Mn(this.gl,t,()=>{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory(\"Texture\");let{target:r=this.target,pixels:i=null,level:s=0,format:n=this.format,border:o=this.border,offset:c=0,parameters:f={}}=t,{data:_=null,type:w=this.type,width:I=this.width,height:R=this.height,dataFormat:N=this.dataFormat,compressed:j=!1}=t;_||(_=i),{type:w,dataFormat:N,compressed:j,width:I,height:R}=this._deduceParameters({format:n,type:w,dataFormat:N,compressed:j,data:_,width:I,height:R});let{gl:Q}=this;Q.bindTexture(this.target,this.handle);let et=null;({data:_,dataType:et}=this._getDataType({data:_,compressed:j}));let Y,K=0;if(Mn(this.gl,f,()=>{switch(et){case\"null\":Q.texImage2D(r,s,n,I,R,o,N,w,_);break;case\"typed-array\":Q.texImage2D(r,s,n,I,R,o,N,w,_,c);break;case\"buffer\":Y=Yn(Q),Y.bindBuffer(35052,_.handle||_),Y.texImage2D(r,s,n,I,R,o,N,w,c),Y.bindBuffer(35052,null);break;case\"browser-object\":fr(Q)?Q.texImage2D(r,s,n,I,R,o,N,w,_):Q.texImage2D(r,s,n,N,w,_);break;case\"compressed\":for(let[J,ut]of _.entries())Q.compressedTexImage2D(r,J,ut.format,ut.width,ut.height,o,ut.data),K+=ut.levelSize;break;default:ye(!1,\"Unknown image data type\")}}),et===\"compressed\")this._trackAllocatedMemory(K,\"Texture\");else if(_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,\"Texture\");else{let J=pE[this.dataFormat]||4,ut=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*J*ut,\"Texture\")}return this.loaded=!0,this}setSubImageData(t){let{target:r=this.target,pixels:i=null,data:s=null,x:n=0,y:o=0,width:c=this.width,height:f=this.height,level:_=0,format:w=this.format,type:I=this.type,dataFormat:R=this.dataFormat,compressed:N=!1,offset:j=0,border:Q=this.border,parameters:et={}}=t;if({type:I,dataFormat:R,compressed:N,width:c,height:f}=this._deduceParameters({format:w,type:I,dataFormat:R,compressed:N,data:s,width:c,height:f}),ye(this.depth===0,\"texSubImage not supported for 3D textures\"),s||(s=i),s&&s.data){let Y=s;s=Y.data,c=Y.shape[0],f=Y.shape[1]}s instanceof Fr&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,et,()=>{if(N)this.gl.compressedTexSubImage2D(r,_,n,o,c,f,w,s);else if(s===null)this.gl.texSubImage2D(r,_,n,o,c,f,R,I,null);else if(ArrayBuffer.isView(s))this.gl.texSubImage2D(r,_,n,o,c,f,R,I,s,j);else if(s instanceof HV){let Y=Yn(this.gl);Y.bindBuffer(35052,s),Y.texSubImage2D(r,_,n,o,c,f,R,I,j),Y.bindBuffer(35052,null)}else fr(this.gl)?Yn(this.gl).texSubImage2D(r,_,n,o,c,f,R,I,s):this.gl.texSubImage2D(r,_,n,o,R,I,s)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,this.handle),t}unbind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,null),t}_getDataType(t){let{data:r,compressed:i=!1}=t;return i?{data:r,dataType:\"compressed\"}:r===null?{data:r,dataType:\"null\"}:ArrayBuffer.isView(r)?{data:r,dataType:\"typed-array\"}:r instanceof Fr?{data:r.handle,dataType:\"buffer\"}:r instanceof HV?{data:r,dataType:\"buffer\"}:{data:r,dataType:\"browser-object\"}}_deduceParameters(t){let{format:r,data:i}=t,{width:s,height:n,dataFormat:o,type:c,compressed:f}=t,_=dE[r];return o=o||_&&_.dataFormat,c=c||_&&_.types[0],f=f||_&&_.compressed,{width:s,height:n}=this._deduceImageSize(i,s,n),{dataFormat:o,type:c,compressed:f,width:s,height:n,format:r,data:i}}_deduceImageSize(t,r,i){let s;return typeof ImageData<\"u\"&&t instanceof ImageData?s={width:t.width,height:t.height}:typeof HTMLImageElement<\"u\"&&t instanceof HTMLImageElement?s={width:t.naturalWidth,height:t.naturalHeight}:typeof HTMLCanvasElement<\"u\"&&t instanceof HTMLCanvasElement?s={width:t.width,height:t.height}:typeof ImageBitmap<\"u\"&&t instanceof ImageBitmap?s={width:t.width,height:t.height}:typeof HTMLVideoElement<\"u\"&&t instanceof HTMLVideoElement?s={width:t.videoWidth,height:t.videoHeight}:t?s={width:r,height:i}:s={width:r>=0?r:1,height:i>=0?i:1},ye(s,\"Could not deduced texture size\"),ye(r===void 0||s.width===r,\"Deduced texture width does not match supplied width\"),ye(i===void 0||s.height===i,\"Deduced texture height does not match supplied height\"),s}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory(\"Texture\")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);let r=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),r}}_setParameter(t,r){switch(this.gl.bindTexture(this.target,this.handle),r=this._getNPOTParam(t,r),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,r);break;case 4096:case 4097:ye(!1);break;default:this.gl.texParameteri(this.target,t,r);break}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return fr(this.gl)||!this.width||!this.height?!1:!_R(this.width)||!_R(this.height)}_updateForNPOT(t){t[this.gl.TEXTURE_MIN_FILTER]===void 0&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),t[this.gl.TEXTURE_WRAP_S]===void 0&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),t[this.gl.TEXTURE_WRAP_T]===void 0&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,r){if(this._isNPOT())switch(t){case 10241:Jnt.indexOf(r)===-1&&(r=9729);break;case 10242:case 10243:r!==33071&&(r=33071);break;default:break}return r}};var tst=\"\";function qV(e,t){return ye(typeof e==\"string\"),e=tst+e,new Promise((r,i)=>{try{let s=new Image;s.onload=()=>r(s),s.onerror=()=>i(new Error(\"Could not load image \".concat(e,\".\"))),s.crossOrigin=t&&t.crossOrigin||\"anonymous\",s.src=e}catch(s){i(s)}})}var pi=class extends tl{get[Symbol.toStringTag](){return\"Texture2D\"}static isSupported(t,r){return tl.isSupported(t,r)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),(r instanceof Promise||typeof r==\"string\")&&(r={data:r}),typeof r.data==\"string\"&&(r=Object.assign({},r,{data:qV(r.data)})),super(t,Object.assign({},r,{target:3553})),this.initialize(r),Object.seal(this)}};var yR=[34069,34070,34071,34072,34073,34074],Y0=class extends tl{get[Symbol.toStringTag](){return\"TextureCube\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),super(t,Object.assign({},r,{target:34067})),this.initialize(r),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{mipmaps:r=!0,parameters:i={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,r&&this.generateMipmap(t),this.setParameters(i)}),this}subImage(t){let{face:r,data:i,x:s=0,y:n=0,mipmapLevel:o=0}=t;return this._subImage({target:r,data:i,x:s,y:n,mipmapLevel:o})}async setCubeMapImageData(t){let{width:r,height:i,pixels:s,data:n,border:o=0,format:c=6408,type:f=5121}=t,{gl:_}=this,w=s||n,I=await Promise.all(yR.map(R=>{let N=w[R];return Promise.all(Array.isArray(N)?N:[N])}));this.bind(),yR.forEach((R,N)=>{I[N].length>1&&this.opts.mipmaps!==!1&&He.warn(\"\".concat(this.id,\" has mipmap and multiple LODs.\"))(),I[N].forEach((j,Q)=>{r&&i?_.texImage2D(R,Q,c,r,i,o,c,f,j):_.texImage2D(R,Q,c,c,f,j)})}),this.unbind()}setImageDataForFace(t){let{face:r,width:i,height:s,pixels:n,data:o,border:c=0,format:f=6408,type:_=5121}=t,{gl:w}=this,I=n||o;return this.bind(),I instanceof Promise?I.then(R=>this.setImageDataForFace(Object.assign({},t,{face:r,data:R,pixels:R}))):this.width||this.height?w.texImage2D(r,0,f,i,s,c,f,_,I):w.texImage2D(r,0,f,f,_,I),this}};Y0.FACES=yR;var Ey=class extends tl{get[Symbol.toStringTag](){return\"Texture3D\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}),super(t,r),this.initialize(r),Object.seal(this)}setImageData(t){let{level:r=0,dataFormat:i=6408,width:s,height:n,depth:o=1,border:c=0,format:f,type:_=5121,offset:w=0,data:I,parameters:R={}}=t;if(this._trackDeallocatedMemory(\"Texture\"),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,R,()=>{ArrayBuffer.isView(I)&&this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,I),I instanceof Fr&&(this.gl.bindBuffer(35052,I.handle),this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,w))}),I&&I.byteLength)this._trackAllocatedMemory(I.byteLength,\"Texture\");else{let N=pE[this.dataFormat]||4,j=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*N*j,\"Texture\")}return this.loaded=!0,this}};var Q0=\"EXT_color_buffer_float\",vR={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Q0,bpp:2},33327:{gl2:Q0,bpp:4},34842:{gl2:Q0,bpp:8},33326:{gl2:Q0,bpp:4},33328:{gl2:Q0,bpp:8},34836:{gl2:Q0,bpp:16},35898:{gl2:Q0,bpp:4}};function est(e,t,r){let i=r[t];if(!i)return!1;let s=fr(e)&&i.gl2||i.gl1;return typeof s==\"string\"?e.getExtension(s):s}var el=class extends Js{get[Symbol.toStringTag](){return\"Renderbuffer\"}static isSupported(t){let{format:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:null};return!r||est(t,r,vR)}static getSamplesForFormat(t,r){let{format:i}=r;return t.getInternalformatParameter(36161,i,32937)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.initialize(r),Object.seal(this)}initialize(t){let{format:r,width:i=1,height:s=1,samples:n=0}=t;return ye(r,\"Needs format\"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),n!==0&&fr(this.gl)?this.gl.renderbufferStorageMultisample(36161,n,r,i,s):this.gl.renderbufferStorage(36161,r,i,s),this.format=r,this.width=i,this.height=s,this.samples=n,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*vR[this.format].bpp),this}resize(t){let{width:r,height:i}=t;return r!==this.width||i!==this.height?this.initialize({width:r,height:i,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}};var rst=256,ist=1024,nst=16384,ZV=6144,YV=6145,QV=6146,$V=34041,XV=\"clear: bad arguments\";function Hf(e){let{framebuffer:t=null,color:r=null,depth:i=null,stencil:s=null}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={};t&&(n.framebuffer=t);let o=0;r&&(o|=nst,r!==!0&&(n.clearColor=r)),i&&(o|=rst,i!==!0&&(n.clearDepth=i)),s&&(o|=ist,i!==!0&&(n.clearStencil=i)),ye(o!==0,XV),Mn(e,n,()=>{e.clear(o)})}function xR(e){let{framebuffer:t=null,buffer:r=ZV,drawBuffer:i=0,value:s=[0,0,0,0]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(e),Mn(e,{framebuffer:t},()=>{switch(r){case ZV:switch(s.constructor){case Int32Array:e.clearBufferiv(r,i,s);break;case Uint32Array:e.clearBufferuiv(r,i,s);break;case Float32Array:default:e.clearBufferfv(r,i,s)}break;case YV:e.clearBufferfv(YV,0,[s]);break;case QV:e.clearBufferiv(QV,0,[s]);break;case $V:let[n,o]=s;e.clearBufferfi($V,0,n,o);break;default:ye(!1,XV)}})}function KV(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ye(!1),0}}function Dh(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{sourceX:r=0,sourceY:i=0,sourceFormat:s=6408}=t,{sourceAttachment:n=36064,target:o=null,sourceWidth:c,sourceHeight:f,sourceType:_}=t,{framebuffer:w,deleteFramebuffer:I}=JV(e);ye(w);let{gl:R,handle:N,attachments:j}=w;c=c||w.width,f=f||w.height,n===36064&&N===null&&(n=1028),ye(j[n]),_=_||j[n].type,o=sst(o,_,s,c,f),_=_||pb(o);let Q=R.bindFramebuffer(36160,N);return R.readPixels(r,i,c,f,s,_,o),R.bindFramebuffer(36160,Q||null),I&&w.delete(),o}function mE(e){let{sourceAttachment:t=36064,targetMaxHeight:r=Number.MAX_SAFE_INTEGER}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=Dh(e,{sourceAttachment:t}),{width:s,height:n}=e;for(;n>r;)({data:i,width:s,height:n}=UV({data:i,width:s,height:n}));NV({data:i,width:s,height:n});let o=document.createElement(\"canvas\");o.width=s,o.height=n;let c=o.getContext(\"2d\"),f=c.createImageData(s,n);return f.data.set(i),c.putImageData(f,0,0),o.toDataURL()}function gE(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{sourceX:i=0,sourceY:s=0,targetMipmaplevel:n=0,targetInternalFormat:o=6408}=r,{targetX:c,targetY:f,targetZ:_,width:w,height:I}=r,{framebuffer:R,deleteFramebuffer:N}=JV(e);ye(R);let{gl:j,handle:Q}=R,et=typeof c<\"u\"||typeof f<\"u\"||typeof _<\"u\";c=c||0,f=f||0,_=_||0;let Y=j.bindFramebuffer(36160,Q);ye(t);let K=null;if(t instanceof tl&&(K=t,w=Number.isFinite(w)?w:K.width,I=Number.isFinite(I)?I:K.height,K.bind(0),t=K.target),!et)j.copyTexImage2D(t,n,o,i,s,w,I,0);else switch(t){case 3553:case 34067:j.copyTexSubImage2D(t,n,c,f,i,s,w,I);break;case 35866:case 32879:Yn(j).copyTexSubImage3D(t,n,c,f,_,i,s,w,I);break;default:}return K&&K.unbind(),j.bindFramebuffer(36160,Y||null),N&&R.delete(),K}function JV(e){return e instanceof yi?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:tj(e),deleteFramebuffer:!0}}function sst(e,t,r,i,s){if(e)return e;t=t||5121;let n=HA(t,{clamped:!1}),o=KV(r);return new n(i*s*o)}var Ii={WEBGL2:\"WEBGL2\",VERTEX_ARRAY_OBJECT:\"VERTEX_ARRAY_OBJECT\",TIMER_QUERY:\"TIMER_QUERY\",INSTANCED_RENDERING:\"INSTANCED_RENDERING\",MULTIPLE_RENDER_TARGETS:\"MULTIPLE_RENDER_TARGETS\",ELEMENT_INDEX_UINT32:\"ELEMENT_INDEX_UINT32\",BLEND_EQUATION_MINMAX:\"BLEND_EQUATION_MINMAX\",FLOAT_BLEND:\"FLOAT_BLEND\",COLOR_ENCODING_SRGB:\"COLOR_ENCODING_SRGB\",TEXTURE_DEPTH:\"TEXTURE_DEPTH\",TEXTURE_FLOAT:\"TEXTURE_FLOAT\",TEXTURE_HALF_FLOAT:\"TEXTURE_HALF_FLOAT\",TEXTURE_FILTER_LINEAR_FLOAT:\"TEXTURE_FILTER_LINEAR_FLOAT\",TEXTURE_FILTER_LINEAR_HALF_FLOAT:\"TEXTURE_FILTER_LINEAR_HALF_FLOAT\",TEXTURE_FILTER_ANISOTROPIC:\"TEXTURE_FILTER_ANISOTROPIC\",COLOR_ATTACHMENT_RGBA32F:\"COLOR_ATTACHMENT_RGBA32F\",COLOR_ATTACHMENT_FLOAT:\"COLOR_ATTACHMENT_FLOAT\",COLOR_ATTACHMENT_HALF_FLOAT:\"COLOR_ATTACHMENT_HALF_FLOAT\",GLSL_FRAG_DATA:\"GLSL_FRAG_DATA\",GLSL_FRAG_DEPTH:\"GLSL_FRAG_DEPTH\",GLSL_DERIVATIVES:\"GLSL_DERIVATIVES\",GLSL_TEXTURE_LOD:\"GLSL_TEXTURE_LOD\"};function ost(e){let t=new pi(e,{format:6408,type:5126,dataFormat:6408}),r=new yi(e,{id:\"test-framebuffer\",check:!1,attachments:{36064:t}}),i=r.getStatus();return t.delete(),r.delete(),i===36053}var bR={[Ii.WEBGL2]:[!1,!0],[Ii.VERTEX_ARRAY_OBJECT]:[\"OES_vertex_array_object\",!0],[Ii.TIMER_QUERY]:[\"EXT_disjoint_timer_query\",\"EXT_disjoint_timer_query_webgl2\"],[Ii.INSTANCED_RENDERING]:[\"ANGLE_instanced_arrays\",!0],[Ii.MULTIPLE_RENDER_TARGETS]:[\"WEBGL_draw_buffers\",!0],[Ii.ELEMENT_INDEX_UINT32]:[\"OES_element_index_uint\",!0],[Ii.BLEND_EQUATION_MINMAX]:[\"EXT_blend_minmax\",!0],[Ii.FLOAT_BLEND]:[\"EXT_float_blend\"],[Ii.COLOR_ENCODING_SRGB]:[\"EXT_sRGB\",!0],[Ii.TEXTURE_DEPTH]:[\"WEBGL_depth_texture\",!0],[Ii.TEXTURE_FLOAT]:[\"OES_texture_float\",!0],[Ii.TEXTURE_HALF_FLOAT]:[\"OES_texture_half_float\",!0],[Ii.TEXTURE_FILTER_LINEAR_FLOAT]:[\"OES_texture_float_linear\"],[Ii.TEXTURE_FILTER_LINEAR_HALF_FLOAT]:[\"OES_texture_half_float_linear\"],[Ii.TEXTURE_FILTER_ANISOTROPIC]:[\"EXT_texture_filter_anisotropic\"],[Ii.COLOR_ATTACHMENT_RGBA32F]:[ost,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_FLOAT]:[!1,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_HALF_FLOAT]:[\"EXT_color_buffer_half_float\"],[Ii.GLSL_FRAG_DATA]:[\"WEBGL_draw_buffers\",!0],[Ii.GLSL_FRAG_DEPTH]:[\"EXT_frag_depth\",!0],[Ii.GLSL_DERIVATIVES]:[\"OES_standard_derivatives\",!0],[Ii.GLSL_TEXTURE_LOD]:[\"EXT_shader_texture_lod\",!0]};var ast=2;function $0(e,t){return Oh(e,t)}function Oh(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>ej(e,r))}function _E(e){e.luma=e.luma||{},e.luma.caps=e.luma.caps||{};for(let t in bR)e.luma.caps[t]===void 0&&(e.luma.caps[t]=ej(e,t));return e.luma.caps}function ej(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},e.luma.caps[t]===void 0&&(e.luma.caps[t]=lst(e,t)),e.luma.caps[t]||He.log(ast,\"Feature: \".concat(t,\" not supported\"))(),e.luma.caps[t]}function lst(e,t){let r=bR[t];ye(r,t);let i,s=fr(e)&&r[1]||r[0];if(typeof s==\"function\")i=s(e);else if(Array.isArray(s)){i=!0;for(let n of s)i=i&&!!e.getExtension(n)}else typeof s==\"string\"?i=!!e.getExtension(s):typeof s==\"boolean\"?i=s:ye(!1);return i}var rj=\"Multiple render targets not supported\",yi=class e extends Js{get[Symbol.toStringTag](){return\"Framebuffer\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{colorBufferFloat:i,colorBufferHalfFloat:s}=r,n=!0;return i&&(n=!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"WEBGL_color_buffer_float\")||t.getExtension(\"OES_texture_float\"))),s&&(n=n&&!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"EXT_color_buffer_half_float\"))),n}static getDefaultFramebuffer(t){return t.luma=t.luma||{},t.luma.defaultFramebuffer=t.luma.defaultFramebuffer||new e(t,{id:\"default-framebuffer\",handle:null,attachments:{}}),t.luma.defaultFramebuffer}get MAX_COLOR_ATTACHMENTS(){let t=Yn(this.gl);return t.getParameter(t.MAX_COLOR_ATTACHMENTS)}get MAX_DRAW_BUFFERS(){let t=Yn(this.gl);return t.getParameter(t.MAX_DRAW_BUFFERS)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.width=null,this.height=null,this.attachments={},this.readBuffer=36064,this.drawBuffers=[36064],this.ownResources=[],this.initialize(r),Object.seal(this)}get color(){return this.attachments[36064]||null}get texture(){return this.attachments[36064]||null}get depth(){return this.attachments[36096]||this.attachments[33306]||null}get stencil(){return this.attachments[36128]||this.attachments[33306]||null}initialize(t){let{width:r=1,height:i=1,attachments:s=null,color:n=!0,depth:o=!0,stencil:c=!1,check:f=!0,readBuffer:_=void 0,drawBuffers:w=void 0}=t;if(ye(r>=0&&i>=0,\"Width and height need to be integers\"),this.width=r,this.height=i,s)for(let I in s){let R=s[I];(Array.isArray(R)?R[0]:R).resize({width:r,height:i})}else s=this._createDefaultAttachments(n,o,c,r,i);this.update({clearAttachments:!0,attachments:s,readBuffer:_,drawBuffers:w}),s&&f&&this.checkStatus()}delete(){for(let t of this.ownResources)t.delete();return super.delete(),this}update(t){let{attachments:r={},readBuffer:i,drawBuffers:s,clearAttachments:n=!1,resizeAttachments:o=!0}=t;this.attach(r,{clearAttachments:n,resizeAttachments:o});let{gl:c}=this,f=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),s&&this._setDrawBuffers(s),c.bindFramebuffer(36160,f||null),this}resize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{width:r,height:i}=t;if(this.handle===null)return ye(r===void 0&&i===void 0),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;r===void 0&&(r=this.gl.drawingBufferWidth),i===void 0&&(i=this.gl.drawingBufferHeight),r!==this.width&&i!==this.height&&He.log(2,\"Resizing framebuffer \".concat(this.id,\" to \").concat(r,\"x\").concat(i))();for(let s in this.attachments)this.attachments[s].resize({width:r,height:i});return this.width=r,this.height=i,this}attach(t){let{clearAttachments:r=!1,resizeAttachments:i=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s={};r&&Object.keys(this.attachments).forEach(o=>{s[o]=null}),Object.assign(s,t);let n=this.gl.bindFramebuffer(36160,this.handle);for(let o in s){ye(o!==void 0,\"Misspelled framebuffer binding point?\");let c=Number(o),f=s[c],_=f;if(!_)this._unattach(c);else if(_ instanceof el)this._attachRenderbuffer({attachment:c,renderbuffer:_});else if(Array.isArray(f)){let[w,I=0,R=0]=f;_=w,this._attachTexture({attachment:c,texture:w,layer:I,level:R})}else this._attachTexture({attachment:c,texture:_,layer:0,level:0});i&&_&&_.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,n||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){let{gl:t}=this,r=this.getStatus();if(r!==36053)throw new Error(ust(r));return this}getStatus(){let{gl:t}=this,r=t.bindFramebuffer(36160,this.handle),i=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,r||null),i}clear(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:r,depth:i,stencil:s,drawBuffers:n=[]}=t,o=this.gl.bindFramebuffer(36160,this.handle);return(r||i||s)&&Hf(this.gl,{color:r,depth:i,stencil:s}),n.forEach((c,f)=>{xR(this.gl,{drawBuffer:f,value:c})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)\")(),null}readPixelsToBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)\")(),null}copyToDataUrl(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)\")(),null}copyToImage(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)\")(),null}copyToTexture(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}blit(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)\")(),null}invalidate(t){let{attachments:r=[],x:i=0,y:s=0,width:n,height:o}=t,c=Yn(this.gl),f=c.bindFramebuffer(36008,this.handle);return i===0&&s===0&&n===void 0&&o===void 0?c.invalidateFramebuffer(36008,r):c.invalidateFramebuffer(36008,r,i,s,n,o),c.bindFramebuffer(36008,f),this}getAttachmentParameter(t,r,i){let s=this._getAttachmentParameterFallback(r);return s===null&&(this.gl.bindFramebuffer(36160,this.handle),s=this.gl.getFramebufferAttachmentParameter(36160,t,r),this.gl.bindFramebuffer(36160,null)),i&&s>1e3&&(s=Ou(this.gl,s)),s}getAttachmentParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:36064,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],s={};for(let n of i){let o=r?Ou(this.gl,n):n;s[o]=this.getAttachmentParameter(t,n,r)}return s}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=Object.keys(this.attachments),i={};for(let s of r){let n=Number(s),o=t?Ou(this.gl,n):n;i[o]=this.getAttachmentParameters(n,t)}return i}show(){return typeof window<\"u\"&&window.open(mE(this),\"luma-debug-texture\"),this}log(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\";if(t>He.level||typeof window>\"u\")return this;r=r||\"Framebuffer \".concat(this.id);let i=mE(this,{targetMaxHeight:100});return He.image({logLevel:t,message:r,image:i},r)(),this}bind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,this.handle),this}unbind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,r,i,s,n){let o=null;return t&&(o=o||{},o[36064]=new pi(this.gl,{id:\"\".concat(this.id,\"-color0\"),pixels:null,format:6408,type:5121,width:s,height:n,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),r&&i?(o=o||{},o[33306]=new el(this.gl,{id:\"\".concat(this.id,\"-depth-stencil\"),format:35056,width:s,height:111}),this.ownResources.push(o[33306])):r?(o=o||{},o[36096]=new el(this.gl,{id:\"\".concat(this.id,\"-depth\"),format:33189,width:s,height:n}),this.ownResources.push(o[36096])):i&&ye(!1),o}_unattach(t){let r=this.attachments[t];r&&(r instanceof el?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer(t){let{attachment:r=36064,renderbuffer:i}=t,{gl:s}=this;s.framebufferRenderbuffer(36160,r,36161,i.handle),this.attachments[r]=i}_attachTexture(t){let{attachment:r=36064,texture:i,layer:s,level:n}=t,{gl:o}=this;switch(o.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:Yn(o).framebufferTextureLayer(36160,r,i.target,n,s);break;case 34067:let f=cst(s);o.framebufferTexture2D(36160,r,f,i.handle,n);break;case 3553:o.framebufferTexture2D(36160,r,3553,i.handle,n);break;default:ye(!1,\"Illegal texture type\")}o.bindTexture(i.target,null),this.attachments[r]=i}_setReadBuffer(t){let r=sR(this.gl);r?r.readBuffer(t):ye(t===36064||t===1029,rj),this.readBuffer=t}_setDrawBuffers(t){let{gl:r}=this,i=Yn(r);if(i)i.drawBuffers(t);else{let s=r.getExtension(\"WEBGL_draw_buffers\");s?s.drawBuffersWEBGL(t):ye(t.length===1&&(t[0]===36064||t[0]===1029),rj)}this.drawBuffers=t}_getAttachmentParameterFallback(t){let r=_E(this.gl);switch(t){case 36052:return r.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return r.WEBGL2?null:8;case 33297:return r.WEBGL2?null:5125;case 33296:return!r.WEBGL2&&!r.EXT_sRGB?9729:null;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}};function cst(e){return e<34069?e+34069:e}function ust(e){return(yi.STATUS||{})[e]||\"Framebuffer error \".concat(e)}var hst=[36049,36048,33296,33298,33299,33300,33301,33302,33303];yi.ATTACHMENT_PARAMETERS=hst;function yE(e,t){ye(e instanceof pi||e instanceof Y0||e instanceof Ey);let r=e.constructor,{gl:i,width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w}=e,I=Object.assign({width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w},t);return new r(i,I)}function tj(e,t){let{gl:r,width:i,height:s,id:n}=e;return new yi(r,Object.assign({},t,{id:\"framebuffer-for-\".concat(n),width:i,height:s,attachments:{36064:e}}))}function qA(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"unnamed\",r=/#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/,i=e.match(r);return i?i[1]:t}function wR(e){switch(e){case 35632:return\"fragment\";case 35633:return\"vertex\";default:return\"unknown type\"}}function SR(e,t,r,i){let s=e.split(/\\r?\\n/),n={},o={},c=i||qA(t)||\"(unnamed)\",f=\"\".concat(wR(r),\" shader \").concat(c);for(let w=0;w1&&arguments[1]!==void 0?arguments[1]:1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\": \",i=e.split(/\\r?\\n/),s=String(i.length+t-1).length;return i.map((n,o)=>{let c=String(o+t),f=c.length;return nj(c,s-f)+r+n})}function nj(e,t){let r=\"\";for(let i=0;i=2&&r[0]===\"#version\"){let i=parseInt(r[1],10);Number.isFinite(i)&&(t=i)}return t}var dst=\"Shader: GLSL source code must be a JavaScript string\",vE=class e extends Js{get[Symbol.toStringTag](){return\"Shader\"}static getTypeName(t){switch(t){case 35633:return\"vertex-shader\";case 35632:return\"fragment-shader\";default:return ye(!1),\"unknown\"}}constructor(t,r){tp(t),ye(typeof r.source==\"string\",dst);let i=qA(r.source,null)||r.id||ta(\"unnamed \".concat(e.getTypeName(r.shaderType)));super(t,{id:i}),this.shaderType=r.shaderType,this.source=r.source,this.initialize(r)}initialize(t){let{source:r}=t,i=qA(r,null);i&&(this.id=ta(i)),this._compile(r)}getParameter(t){return this.gl.getShaderParameter(this.handle,t)}toString(){return\"\".concat(e.getTypeName(this.shaderType),\":\").concat(this.id)}getName(){return qA(this.source)||\"unnamed-shader\"}getSource(){return this.gl.getShaderSource(this.handle)}getTranslatedSource(){let t=this.gl.getExtension(\"WEBGL_debug_shaders\");return t?t.getTranslatedShaderSource(this.handle):\"No translated source available. WEBGL_debug_shaders not implemented\"}_compile(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.source;if(t.startsWith(\"#version \")||(t=`#version 100\n`.concat(t)),this.source=t,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){let i=this.gl.getShaderInfoLog(this.handle),{shaderName:s,errors:n,warnings:o}=SR(i,this.source,this.shaderType,this.id);throw He.error(\"GLSL compilation errors in \".concat(s,`\n`).concat(n))(),He.warn(\"GLSL compilation warnings in \".concat(s,`\n`).concat(o))(),new Error(\"GLSL compilation errors in \".concat(s))}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}},X0=class extends vE{get[Symbol.toStringTag](){return\"VertexShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}},K0=class extends vE{get[Symbol.toStringTag](){return\"FragmentShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}};var pst={5126:Qn.bind(null,\"uniform1fv\",$c,1,rl),35664:Qn.bind(null,\"uniform2fv\",$c,2,rl),35665:Qn.bind(null,\"uniform3fv\",$c,3,rl),35666:Qn.bind(null,\"uniform4fv\",$c,4,rl),5124:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35667:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35668:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35669:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35670:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35671:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35672:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35673:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35674:Qn.bind(null,\"uniformMatrix2fv\",$c,4,ep),35675:Qn.bind(null,\"uniformMatrix3fv\",$c,9,ep),35676:Qn.bind(null,\"uniformMatrix4fv\",$c,16,ep),35678:_a,35680:_a,5125:Qn.bind(null,\"uniform1uiv\",xE,1,rl),36294:Qn.bind(null,\"uniform2uiv\",xE,2,rl),36295:Qn.bind(null,\"uniform3uiv\",xE,3,rl),36296:Qn.bind(null,\"uniform4uiv\",xE,4,rl),35685:Qn.bind(null,\"uniformMatrix2x3fv\",$c,6,ep),35686:Qn.bind(null,\"uniformMatrix2x4fv\",$c,8,ep),35687:Qn.bind(null,\"uniformMatrix3x2fv\",$c,6,ep),35688:Qn.bind(null,\"uniformMatrix3x4fv\",$c,12,ep),35689:Qn.bind(null,\"uniformMatrix4x2fv\",$c,8,ep),35690:Qn.bind(null,\"uniformMatrix4x3fv\",$c,12,ep),35678:_a,35680:_a,35679:_a,35682:_a,36289:_a,36292:_a,36293:_a,36298:_a,36299:_a,36300:_a,36303:_a,36306:_a,36307:_a,36308:_a,36311:_a},Ast={},mst={},gst={},sj=[0];function TR(e,t,r,i){t===1&&typeof e==\"boolean\"&&(e=e?1:0),Number.isFinite(e)&&(sj[0]=e,e=sj);let s=e.length;if(s%t&&He.warn(\"Uniform size should be multiples of \".concat(t),e)(),e instanceof r)return e;let n=i[s];n||(n=new r(s),i[s]=n);for(let o=0;o{let s=e!==i;return s&&(t.uniform1i(r,i),e=i),s}}function Qn(e,t,r,i){let s=null,n=null;return(o,c,f)=>{let _=t(f,r),w=_.length,I=!1;if(s===null)s=new Float32Array(w),n=w,I=!0;else{ye(n===w,\"Uniform length cannot change.\");for(let R=0;R=0&&this._addAttribute(f,n,o,c)}this.attributeInfos.sort((s,n)=>s.location-n.location)}_readVaryingsFromProgram(t){let{gl:r}=t;if(!fr(r))return;let i=r.getProgramParameter(t.handle,35971);for(let s=0;ss.location-n.location)}_addAttribute(t,r,i,s){let{type:n,components:o}=PR(i),c={type:n,size:s*o};this._inferProperties(t,r,c);let f={location:t,name:r,accessor:new Pl(c)};this.attributeInfos.push(f),this.attributeInfosByLocation[t]=f,this.attributeInfosByName[f.name]=f}_inferProperties(t,r,i){/instance/i.test(r)&&(i.divisor=1)}_addVarying(t,r,i,s){let{type:n,components:o}=PR(i),c=new Pl({type:n,size:s*o}),f={location:t,name:r,accessor:c};this.varyingInfos.push(f),this.varyingInfosByName[f.name]=f}};var hj=4,$st=35981,Xst=[\"setVertexArray\",\"setAttributes\",\"setBuffers\",\"unsetBuffers\",\"use\",\"getUniformCount\",\"getUniformInfo\",\"getUniformLocation\",\"getUniformValue\",\"getVarying\",\"getFragDataLocation\",\"getAttachedShaders\",\"getAttributeCount\",\"getAttributeLocation\",\"getAttributeInfo\"],rp=class extends Js{get[Symbol.toStringTag](){return\"Program\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Program\",\"v6.0\",Xst),this._isCached=!1,this.initialize(r),Object.seal(this),this._setId(r.id)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{hash:r,vs:i,fs:s,varyings:n,bufferMode:o=$st}=t;return this.hash=r||\"\",this.vs=typeof i==\"string\"?new X0(this.gl,{id:\"\".concat(t.id,\"-vs\"),source:i}):i,this.fs=typeof s==\"string\"?new K0(this.gl,{id:\"\".concat(t.id,\"-fs\"),source:s}):s,ye(this.vs instanceof X0),ye(this.fs instanceof K0),this.uniforms={},this._textureUniforms={},n&&n.length>0&&(Yn(this.gl),this.varyings=n,this.gl2.transformFeedbackVaryings(this.handle,n,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new _b(this),this.setProps(t)}delete(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this._isCached?this:super.delete(t)}setProps(t){return\"uniforms\"in t&&this.setUniforms(t.uniforms),this}draw(t){let{logPriority:r,drawMode:i=4,vertexCount:s,offset:n=0,start:o,end:c,isIndexed:f=!1,indexType:_=5123,instanceCount:w=0,isInstanced:I=w>0,vertexArray:R=null,transformFeedback:N,framebuffer:j,parameters:Q={},uniforms:et,samplers:Y}=t;if((et||Y)&&(He.deprecated(\"Program.draw({uniforms})\",\"Program.setUniforms(uniforms)\")(),this.setUniforms(et||{})),He.priority>=r){let K=j?j.id:\"default\",J=\"mode=\".concat(Ou(this.gl,i),\" verts=\").concat(s,\" \")+\"instances=\".concat(w,\" indexType=\").concat(Ou(this.gl,_),\" \")+\"isInstanced=\".concat(I,\" isIndexed=\").concat(f,\" \")+\"Framebuffer=\".concat(K);He.log(r,J)()}return ye(R),this.gl.useProgram(this.handle),!this._areTexturesRenderable()||s===0||I&&w===0?!1:(R.bindForDraw(s,w,()=>{if(j!==void 0&&(Q=Object.assign({},Q,{framebuffer:j})),N){let K=uj(i);N.begin(K)}this._bindTextures(),Mn(this.gl,Q,()=>{f&&I?this.gl2.drawElementsInstanced(i,s,_,n,w):f&&fr(this.gl)&&!isNaN(o)&&!isNaN(c)?this.gl2.drawRangeElements(i,o,c,s,_,n):f?this.gl.drawElements(i,s,_,n):I?this.gl2.drawArraysInstanced(i,n,s,w):this.gl.drawArrays(i,n,s)}),N&&N.end()}),!0)}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};He.priority>=2&&aj(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(let r in t){let i=t[r],s=this._uniformSetters[r];if(s){let n=i,o=!1;if(n instanceof yi&&(n=n.texture),n instanceof tl)if(o=this.uniforms[r]!==i,o){s.textureIndex===void 0&&(s.textureIndex=this._textureIndexCounter++);let c=n,{textureIndex:f}=s;c.bind(f),n=f,this._textureUniforms[r]=c}else n=s.textureIndex;else this._textureUniforms[r]&&delete this._textureUniforms[r];(s(n)||o)&&lj(this.uniforms,r,i)}}return this}_areTexturesRenderable(){let t=!0;for(let r in this._textureUniforms){let i=this._textureUniforms[r];i.update(),t=t&&i.loaded}return t}_bindTextures(){for(let t in this._textureUniforms){let r=this._uniformSetters[t].textureIndex;this._textureUniforms[t].bind(r)}}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){let r=this.gl.getAttachedShaders(t),i={};for(let s of r)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new X0({handle:s});break;case 35632:i.fs=new K0({handle:s});break;default:}return i}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){let r=this._getName();this.id=ta(r)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,\"\"),t=t?\"\".concat(t,\"-program\"):\"program\",t}_compileAndLink(){let{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),He.time(hj,\"linkProgram for \".concat(this._getName()))(),t.linkProgram(this.handle),He.timeEnd(hj,\"linkProgram for \".concat(this._getName()))(),t.debug||He.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(\"Error linking: \".concat(t.getProgramInfoLog(this.handle)));if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(\"Error validating: \".concat(t.getProgramInfoLog(this.handle)))}}_readUniformLocationsFromLinkedProgram(){let{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let r=0;r1)for(let o=0;o1&&arguments[1]!==void 0?arguments[1]:[],i=fr(t),s=Oh(t,Ii.TIMER_QUERY),n=i||s;for(let o of r)switch(o){case\"queries\":n=n&&i;break;case\"timers\":n=n&&s;break;default:ye(!1)}return n}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(tot)}beginOcclusionQuery(){let{conservative:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.begin(t?not:iot)}beginTransformFeedbackQuery(){return this.begin(rot)}begin(t){return this._queryPending?this:(this.target=t,this.gl2.beginQuery(this.target,this.handle),this)}end(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}isResultAvailable(){if(!this._queryPending)return!1;let t=this.gl2.getQueryParameter(this.handle,Jst);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(eot)}getResult(){return this.gl2.getQueryParameter(this.handle,Kst)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;let r=0;return this._pollingPromise=new Promise((i,s)=>{let n=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):r++>t?(s(\"Timed out\"),this._pollingPromise=null):requestAnimationFrame(n)};requestAnimationFrame(n)}),this._pollingPromise}_createHandle(){return e.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}};var ip=class extends Js{get[Symbol.toStringTag](){return\"TransformFeedback\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),super(t,r),this.initialize(r),this.stubRemovedMethods(\"TransformFeedback\",\"v6.0\",[\"pause\",\"resume\"]),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Wf(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"bindOnUse\"in t&&(t=t.bindOnUse),\"buffers\"in t&&this.setBuffers(t.buffers)}setBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.bind(()=>{for(let r in t)this.setBuffer(r,t[r])}),this}setBuffer(t,r){let i=this._getVaryingIndex(t),{buffer:s,byteSize:n,byteOffset:o}=this._getBufferParams(r);return i<0?(this.unused[t]=s,He.warn(\"\".concat(this.id,\" unused varying buffer \").concat(t))(),this):(this.buffers[i]=r,this.bindOnUse||this._bindBuffer(i,s,o,n),this)}begin(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let r,i,s;return t instanceof Fr?s=t:(s=t.buffer,i=t.byteSize,r=t.byteOffset),(r!==void 0||i!==void 0)&&(r=r||0,i=i||s.byteLength-r),{buffer:s,byteOffset:r,byteSize:i}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;let r=Number(t);return Number.isFinite(r)?r:-1}_bindBuffers(){if(this.bindOnUse)for(let t in this.buffers){let{buffer:r,byteSize:i,byteOffset:s}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,r,s,i)}}_unbindBuffers(){if(this.bindOnUse)for(let t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,n=r&&r.handle;return!n||s===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,i,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}};var TE=null;function sot(e){return(!TE||TE.byteLength1&&arguments[1]!==void 0?arguments[1]:{}).constantAttributeZero?fr(t)||vy()===\"Chrome\":!0}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new e(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return e.MAX_ATTRIBUTES=e.MAX_ATTRIBUTES||t.getParameter(34921),e.MAX_ATTRIBUTES}static setConstant(t,r,i){switch(i.constructor){case Float32Array:e._setConstantFloatArray(t,r,i);break;case Int32Array:e._setConstantIntArray(t,r,i);break;case Uint32Array:e._setConstantUintArray(t,r,i);break;default:ye(!1)}}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;super(t,Object.assign({},r,{id:i})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=r.isDefaultArray||!1,this.gl2=t,this.initialize(r),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return e.getMaxAttributes(this.gl)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.setProps(t)}setProps(t){return this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ye(!t||t.target===34963,oot),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,r,i){if(r.target===34963)return this.setElementBuffer(r,i);let{size:s,type:n,stride:o,offset:c,normalized:f,integer:_,divisor:w}=i,{gl:I,gl2:R}=this;return t=Number(t),this.bind(()=>{I.bindBuffer(34962,r.handle),_?(ye(fr(I)),R.vertexAttribIPointer(t,s,n,o,c)):I.vertexAttribPointer(t,s,n,f,o,c),I.enableVertexAttribArray(t),R.vertexAttribDivisor(t,w||0)}),this}enable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return!r&&t===0&&!e.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>r?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,r){let i=this._normalizeConstantArrayValue(r),s=i.byteLength*t,n=i.length*t,o=!this.buffer;if(this.buffer=this.buffer||new Fr(this.gl,s),o=o||this.buffer.reallocate(s),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){let c=fj(r.constructor,n);dj({target:c,source:i,start:0,count:n}),this.buffer.subData(c),this.bufferValue=r}return this.buffer}_normalizeConstantArrayValue(t){return Array.isArray(t)?new Float32Array(t):t}_compareConstantArrayValues(t,r){if(!t||!r||t.length!==r.length||t.constructor!==r.constructor)return!1;for(let i=0;i{switch(t){case 34373:return this.gl.getVertexAttribOffset(i,t);default:return this.gl.getVertexAttrib(i,t)}})}};var aot=\"VertexArray: attributes must be Buffers or constants (i.e. typed array)\",lot=/^(.+)__LOCATION_([0-9]+)$/,cot=[\"setBuffers\",\"setGeneric\",\"clearBindings\",\"setLocations\",\"setGenericValues\",\"setDivisor\",\"enable\",\"disable\"],Iy=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;this.id=i,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new tg(t),fE(this,\"VertexArray\",\"v6.0\",cot),this.initialize(r),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;let{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"attributes\"in t&&this.setAttributes(t.attributes),\"elements\"in t&&this.setElementBuffer(t.elements),\"bindOnUse\"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(let r in t){let i=t[r];this._setAttribute(r,i)}this.gl.bindBuffer(34962,null)}),this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.elements=t,this.elementsAccessor=r,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,r),this}setBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(r.target===34963)return this.setElementBuffer(r,i);let{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,r.accessor,i);return s>=0&&(this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.setBuffer(s,r,n)),this}setConstant(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,Object.assign({size:r.length},i));return s>=0&&(r=this.vertexArrayObject._normalizeConstantArrayValue(r),this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.enable(s,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Fr(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,r),s=i()}),s}_resolveLocationAndAccessor(t,r,i,s){let n={location:-1,accessor:null},{location:o,name:c}=this._getAttributeIndex(t);if(!Number.isFinite(o)||o<0)return this.unused[t]=r,He.once(3,()=>\"unused value \".concat(t,\" in \").concat(this.id))(),n;let f=this._getAttributeInfo(c||o);if(!f)return n;let _=this.accessors[o]||{},w=Pl.resolve(f.accessor,_,i,s),{size:I,type:R}=w;return ye(Number.isFinite(I)&&Number.isFinite(R)),{location:o,accessor:w}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){let r=Number(t);if(Number.isFinite(r))return{location:r};let i=lot.exec(t),s=i?i[1]:t,n=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(s)+n,name:s}:{location:-1}}_setAttribute(t,r){if(r instanceof Fr)this.setBuffer(t,r);else if(Array.isArray(r)&&r.length&&r[0]instanceof Fr){let i=r[0],s=r[1];this.setBuffer(t,i,s)}else if(ArrayBuffer.isView(r)||Array.isArray(r)){let i=r;this.setConstant(t,i)}else if(r.buffer instanceof Fr){let i=r;this.setBuffer(t,i.buffer,i)}else throw new Error(aot)}_setConstantAttributes(t,r){let i=Math.max(t|0,r|0),s=this.values[0];ArrayBuffer.isView(s)&&this._setConstantAttributeZero(s,i);for(let n=1;n0;if(t.isInstanced=t.isInstanced||o,i instanceof Fr){let c=i;if(o){let f=c.getVertexCount(s);t.instanceCount=Math.min(t.instanceCount,f)}else{let f=c.getVertexCount(s);t.vertexCount=Math.min(t.vertexCount,f)}}}setElements(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return He.deprecated(\"setElements\",\"setElementBuffer\")(),this.setElementBuffer(t,r)}};function uot(e,t){let{maxElts:r=16,size:i=1}=t,s=\"[\";for(let o=0;o0&&(s+=\",\".concat(o%i===0?\" \":\"\")),s+=eg(e[o],t);let n=e.length>r?\"...\":\"]\";return\"\".concat(s).concat(n)}function eg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=1e-16,{isInteger:i=!1}=t;if(Array.isArray(e)||ArrayBuffer.isView(e))return uot(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);let s=e.toPrecision(2);return s.indexOf(\".0\")===s.length-2?s.slice(0,-1):s}function ME(e){let{header:t=\"Uniforms\",program:r,uniforms:i,undefinedOnly:s=!1}=e;ye(r);let n=\".*_.*\",o=\".*Matrix\",c=r._uniformSetters,f={},_=Object.keys(c).sort(),w=0;for(let N of _)!N.match(n)&&!N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)f[N]||IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;let I=0,R={};if(!s)for(let N in i){let j=i[N];f[N]||(I++,R[N]={Type:\"NOT USED: \".concat(j),[t]:eg(j)})}return{table:f,count:w,unusedTable:R,unusedCount:I}}function IR(e){let{table:t,header:r,uniforms:i,uniformName:s,undefinedOnly:n}=e,o=i[s],c=hot(o);return!n||!c?(t[s]={[r]:c?eg(o):\"N/A\",\"Uniform Type\":c?o:\"NOT PROVIDED\"},!0):!1}function hot(e){return e!=null}function CR(e){let{vertexArray:t,header:r=\"Attributes\"}=e;if(!t.configuration)return{};let i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=pj(t,t.elements,null,r));let s=t.values;for(let n in s){let o=t._getAttributeInfo(n);if(o){let c=\"\".concat(n,\": \").concat(o.name),f=t.accessors[o.location];f&&(c=\"\".concat(n,\": \").concat(fot(o.name,f))),i[c]=pj(t,s[n],f,r)}}return i}function pj(e,t,r,i){let{gl:s}=e;if(!t)return{[i]:\"null\",\"Format \":\"N/A\"};let n=\"NOT PROVIDED\",o=1,c=0,f=0,_,w,I;if(r&&(n=r.type,o=r.size,n=String(n).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1),t instanceof Fr){let R=t,{data:N,changed:j}=R.getDebugData();w=j?\"*\":\"\",I=N,f=R.byteLength,c=f/N.BYTES_PER_ELEMENT/o;let Q;if(r){let et=r.divisor>0;Q=\"\".concat(et?\"I \":\"P \",\" \").concat(c,\" (x\").concat(o,\"=\").concat(f,\" bytes \").concat(Ou(s,n),\")\")}else _=!0,Q=\"\".concat(f,\" bytes\");return{[i]:\"\".concat(w).concat(eg(I,{size:o,isInteger:_})),\"Format \":Q}}return I=t,o=t.length,n=String(t.constructor.name).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1,{[i]:\"\".concat(eg(I,{size:o,isInteger:_}),\" (constant)\"),\"Format \":\"\".concat(o,\"x\").concat(n,\" (constant)\")}}function fot(e,t){let{type:r,size:i}=t,s=SE(r,i);return s?\"\".concat(e,\" (\").concat(s.name,\")\"):e}function LR(e){let t={},r=\"Accessors for \".concat(e.id);for(let i of e.attributeInfos)if(i){let s=Aj(i);t[\"in \".concat(s)]={[r]:JSON.stringify(i.accessor)}}for(let i of e.varyingInfos)if(i){let s=Aj(i);t[\"out \".concat(s)]={[r]:JSON.stringify(i.accessor)}}return t}function Aj(e){let{type:t,size:r}=e.accessor,i=SE(t,r);return i?\"\".concat(i.name,\" \").concat(e.name):e.name}var mj=Lo()&&typeof document<\"u\",pot=0,rg=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{onCreateContext:r=et=>Ty(et),onAddHTML:i=null,onInitialize:s=()=>{},onRender:n=()=>{},onFinalize:o=()=>{},onError:c,gl:f=null,glOptions:_={},debug:w=!1,createFramebuffer:I=!1,autoResizeViewport:R=!0,autoResizeDrawingBuffer:N=!0,stats:j=Du.get(\"animation-loop-\".concat(pot++))}=t,{useDevicePixels:Q=!0}=t;\"useDevicePixelRatio\"in t&&(He.deprecated(\"useDevicePixelRatio\",\"useDevicePixels\")(),Q=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:i,onInitialize:s,onRender:n,onFinalize:o,onError:c,gl:f,glOptions:_,debug:w,createFramebuffer:I},this.gl=f,this.needsRedraw=null,this.timeline=null,this.stats=j,this.cpuTime=this.stats.get(\"CPU Time\"),this.gpuTime=this.stats.get(\"GPU Time\"),this.frameRate=this.stats.get(\"Frame Rate\"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:R,autoResizeDrawingBuffer:N,useDevicePixels:Q}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return ye(typeof t==\"string\"),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return\"autoResizeViewport\"in t&&(this.autoResizeViewport=t.autoResizeViewport),\"autoResizeDrawingBuffer\"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),\"useDevicePixels\"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this._running)return this;this._running=!0;let r=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=J0.isSupported(this.gl,[\"timers\"])?new J0(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),i!==!1&&this._startLoop())});return this.props.onError&&r.catch(this.props.onError),this}redraw(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw(\"waitForRender\"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}async toDataURL(){return this.setNeedsRedraw(\"toDataURL\"),await this.waitForRender(),this.gl.canvas.toDataURL()}isContextLost(){return this.gl.isContextLost()}onCreateContext(){return this.props.onCreateContext(...arguments)}onInitialize(){return this.props.onInitialize(...arguments)}onRender(){return this.props.onRender(...arguments)}onFinalize(){return this.props.onFinalize(...arguments)}getHTMLControlValue(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=document.getElementById(t);return i?Number(i.value):r}setViewParameters(){return He.removed(\"AnimationLoop.setViewParameters\",\"AnimationLoop.setProps\")(),this}_startLoop(){let t=()=>{this._running&&(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=mj?new Promise((t,r)=>{if(mj&&document.readyState===\"complete\"){t(document);return}window.addEventListener(\"load\",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):mR(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):AR(t)}_renderFrame(){if(this.display){this.display._renderFrame(...arguments);return}this.onRender(...arguments)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){let{width:t,height:r,aspect:i}=this._getSizeAndAspect();(t!==this.animationProps.width||r!==this.animationProps.height)&&this.setNeedsRedraw(\"drawing buffer resized\"),i!==this.animationProps.aspect&&this.setNeedsRedraw(\"drawing buffer aspect changed\"),this.animationProps.width=t,this.animationProps.height=r,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){typeof t==\"object\"&&t!==null&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&typeof OffscreenCanvas<\"u\"&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?q0(this.props.gl,t):this.onCreateContext(t),!Jd(this.gl))throw new Error(\"AnimationLoop.onCreateContext - illegal context returned\");uE(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){let t=document.createElement(\"div\");document.body.appendChild(t),t.style.position=\"relative\";let r=document.createElement(\"div\");r.style.position=\"absolute\",r.style.left=\"10px\",r.style.bottom=\"10px\",r.style.width=\"300px\",r.style.background=\"white\",t.appendChild(this.gl.canvas),t.appendChild(r);let i=this.props.onAddHTML(r);i&&(r.innerHTML=i)}}_getSizeAndAspect(){let t=this.gl.drawingBufferWidth,r=this.gl.drawingBufferHeight,i=1,{canvas:s}=this.gl;return s&&s.clientHeight?i=s.clientWidth/s.clientHeight:t>0&&r>0&&(i=t/r),{width:t,height:r,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&dR(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new yi(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get(\"GPU Time\").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){let{canvas:t}=this.gl;t&&(t.addEventListener(\"mousemove\",this._onMousemove),t.addEventListener(\"mouseleave\",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}};var ig=\"vs\",yb=\"fs\";function to(e,t){if(!e)throw new Error(t||\"shadertools: assertion failed.\")}var kR={number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},array:{validate(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function _j(e){let t={};for(let r in e){let i=e[r],s=Aot(i);t[r]=s}return t}function Aot(e){let t=gj(e);return t===\"object\"?e?\"type\"in e?Object.assign({},e,kR[e.type]):\"value\"in e?(t=gj(e.value),Object.assign({type:t},e,kR[t])):{type:\"object\",value:e}:{type:\"object\",value:null}:Object.assign({type:t,value:e},kR[t])}function gj(e){return Array.isArray(e)||ArrayBuffer.isView(e)?\"array\":typeof e}var mot=\"vs\",got=\"fs\",Cy=class{constructor(t){let{name:r,vs:i,fs:s,dependencies:n=[],uniforms:o,getUniforms:c,deprecations:f=[],defines:_={},inject:w={},vertexShader:I,fragmentShader:R}=t;to(typeof r==\"string\"),this.name=r,this.vs=i||I,this.fs=s||R,this.getModuleUniforms=c,this.dependencies=n,this.deprecations=this._parseDeprecationDefinitions(f),this.defines=_,this.injections=_ot(w),o&&(this.uniforms=_j(o))}getModuleSource(t){let r;switch(t){case mot:r=this.vs||\"\";break;case got:r=this.fs||\"\";break;default:to(!1)}return\"#define MODULE_\".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,\"_\"),`\n`).concat(r,\"// END MODULE_\").concat(this.name,`\n\n`)}getUniforms(t,r){return this.getModuleUniforms?this.getModuleUniforms(t,r):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,r){this.deprecations.forEach(i=>{i.regex.test(t)&&(i.deprecated?r.deprecated(i.old,i.new)():r.removed(i.old,i.new)())})}_parseDeprecationDefinitions(t){return t.forEach(r=>{switch(r.type){case\"function\":r.regex=new RegExp(\"\\\\b\".concat(r.old,\"\\\\(\"));break;default:r.regex=new RegExp(\"\".concat(r.type,\" \").concat(r.old,\";\"))}}),t}_defaultGetUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},i=this.uniforms;for(let s in i){let n=i[s];s in t&&!n.private?(n.validate&&to(n.validate(t[s],n),\"\".concat(this.name,\": invalid \").concat(s)),r[s]=t[s]):r[s]=n.value}return r}};function _ot(e){let t={vs:{},fs:{}};for(let r in e){let i=e[r],s=r.slice(0,2);typeof i==\"string\"&&(i={order:0,injection:i}),t[s][r]=i}return t}function yj(e){return yot(xj(e))}function yot(e){let t={},r={};return vj({modules:e,level:0,moduleMap:t,moduleDepth:r}),Object.keys(r).sort((i,s)=>r[s]-r[i]).map(i=>t[i])}function vj(e){let{modules:t,level:r,moduleMap:i,moduleDepth:s}=e;if(r>=5)throw new Error(\"Possible loop in shader dependency graph\");for(let n of t)i[n.name]=n,(s[n.name]===void 0||s[n.name](r instanceof Cy||(to(typeof r!=\"string\",\"Shader module use by name is deprecated. Import shader module '\".concat(r,\"' and use it directly.\")),to(r.name,\"shader module has no name\"),r=new Cy(r),r.dependencies=xj(r.dependencies)),r))}function RR(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<\"u\"?window.navigator||{}:{},r=e.userAgent||t.userAgent||\"\",i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s}var vot=7936,xot=7937,bot=7938,wot=35724,OR={GLSL_FRAG_DATA:[\"WEBGL_draw_buffers\",!0],GLSL_FRAG_DEPTH:[\"EXT_frag_depth\",!0],GLSL_DERIVATIVES:[\"OES_standard_derivatives\",!0],GLSL_TEXTURE_LOD:[\"EXT_shader_texture_lod\",!0]},YA={};Object.keys(OR).forEach(e=>{YA[e]=e});function Sot(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function bj(e){let t=e.getExtension(\"WEBGL_debug_renderer_info\"),r=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||vot),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||xot);return{gpuVendor:Tot(r,i),vendor:r,renderer:i,version:e.getParameter(bot),shadingLanguageVersion:e.getParameter(wot)}}function Tot(e,t){return e.match(/NVIDIA/i)||t.match(/NVIDIA/i)?\"NVIDIA\":e.match(/INTEL/i)||t.match(/INTEL/i)?\"INTEL\":e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i)?\"AMD\":\"UNKNOWN GPU\"}var DR={};function BR(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=OR[t];if(to(i,t),!RR(r))return!0;if(t in DR)return DR[t];let s=i[0],n=r.behavior||\"enable\",o=\"#extension GL_\".concat(s,\" : \").concat(n,`\nvoid main(void) {}`),c=e.createShader(35633);e.shaderSource(c,o),e.compileShader(c);let f=e.getShaderParameter(c,35713);return e.deleteShader(c),DR[t]=f,f}function Mot(e,t){let r=OR[t];to(r,t);let i=Sot(e)&&r[1]||r[0],s=typeof i==\"string\"?!!e.getExtension(i):i;return to(s===!1||s===!0),s}function vb(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>Mot(e,r))}function wj(e){switch(bj(e).gpuVendor.toLowerCase()){case\"nvidia\":return`#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n`;case\"intel\":return`#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`;case\"amd\":return`#define AMD_GPU\n`;default:return`#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`}}function Sj(e,t,r){let i=`#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n`;return vb(e,YA.GLSL_FRAG_DEPTH)&&(i+=`\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n`),vb(e,YA.GLSL_DERIVATIVES)&&BR(e,YA.GLSL_DERIVATIVES)&&(i+=`\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n`),vb(e,YA.GLSL_FRAG_DATA)&&BR(e,YA.GLSL_FRAG_DATA,{behavior:\"require\"})&&(i+=`\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n`),vb(e,YA.GLSL_TEXTURE_LOD)&&(i+=`// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n`),i}var Tj=`#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n`,Mj=`#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n`;var Eot={[ig]:Tj,[yb]:Mj},xb=\"__LUMA_INJECT_DECLARATIONS__\",Ej=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/,Pj=/}\\n?[^{}]*$/,FR=[];function EE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=t===ig;for(let n in r){let o=r[n];o.sort((f,_)=>f.order-_.order),FR.length=o.length;for(let f=0,_=o.length;f<_;++f)FR[f]=o[f].injection;let c=\"\".concat(FR.join(`\n`),`\n`);switch(n){case\"vs:#decl\":s&&(e=e.replace(xb,c));break;case\"vs:#main-start\":s&&(e=e.replace(Ej,f=>f+c));break;case\"vs:#main-end\":s&&(e=e.replace(Pj,f=>c+f));break;case\"fs:#decl\":s||(e=e.replace(xb,c));break;case\"fs:#main-start\":s||(e=e.replace(Ej,f=>f+c));break;case\"fs:#main-end\":s||(e=e.replace(Pj,f=>c+f));break;default:e=e.replace(n,f=>f+c)}}return e=e.replace(xb,\"\"),i&&(e=e.replace(/\\}\\s*$/,n=>n+Eot[t])),e}function Ly(e){let t={};return to(Array.isArray(e)&&e.length>1),e.forEach(r=>{for(let i in r)t[i]=t[i]?\"\".concat(t[i],`\n`).concat(r[i]):r[i]}),t}function ky(e){return new RegExp(\"\\\\b\".concat(e,\"[ \\\\t]+(\\\\w+[ \\\\t]+\\\\w+(\\\\[\\\\w+\\\\])?;)\"),\"g\")}var Ij=[[/^(#version[ \\t]+(100|300[ \\t]+es))?[ \\t]*\\n/,`#version 300 es\n`],[/\\btexture(2D|2DProj|Cube)Lod(EXT)?\\(/g,\"textureLod(\"],[/\\btexture(2D|2DProj|Cube)(EXT)?\\(/g,\"texture(\"]],Pot=[...Ij,[ky(\"attribute\"),\"in $1\"],[ky(\"varying\"),\"out $1\"]],Iot=[...Ij,[ky(\"varying\"),\"in $1\"]],Cj=[[/^#version[ \\t]+300[ \\t]+es/,\"#version 100\"],[/\\btexture(2D|2DProj|Cube)Lod\\(/g,\"texture$1LodEXT(\"],[/\\btexture\\(/g,\"texture2D(\"],[/\\btextureLod\\(/g,\"texture2DLodEXT(\"]],Cot=[...Cj,[ky(\"in\"),\"attribute $1\"],[ky(\"out\"),\"varying $1\"]],Lot=[...Cj,[ky(\"in\"),\"varying $1\"]],zR=\"gl_FragColor\",NR=/\\bout[ \\t]+vec4[ \\t]+(\\w+)[ \\t]*;\\n?/,kot=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/;function UR(e,t,r){switch(t){case 300:return r?PE(e,Pot):Rot(e);case 100:return r?PE(e,Cot):Dot(e);default:throw new Error(\"unknown GLSL version \".concat(t))}}function PE(e,t){for(let[r,i]of t)e=e.replace(r,i);return e}function Rot(e){e=PE(e,Iot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}else{let r=\"fragmentColor\";e=e.replace(kot,i=>\"out vec4 \".concat(r,`;\n`).concat(i)).replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}return e}function Dot(e){e=PE(e,Lot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(NR,\"\").replace(new RegExp(\"\\\\b\".concat(r,\"\\\\b\"),\"g\"),zR)}return e}var Oot=`\n\n`.concat(xb,`\n\n`),kj={[ig]:\"vertex\",[yb]:\"fragment\"},Bot=`precision highp float;\n\n`;function VR(e,t){let{vs:r,fs:i}=t,s=yj(t.modules||[]);return{gl:e,vs:Lj(e,Object.assign({},t,{source:r,type:ig,modules:s})),fs:Lj(e,Object.assign({},t,{source:i,type:yb,modules:s})),getUniforms:Fot(s)}}function Lj(e,t){let{id:r,source:i,type:s,modules:n,defines:o={},hookFunctions:c=[],inject:f={},transpileToGLSL100:_=!1,prologue:w=!0,log:I}=t;to(typeof i==\"string\",\"shader source must be a string\");let R=s===ig,N=i.split(`\n`),j=100,Q=\"\",et=i;N[0].indexOf(\"#version \")===0?(j=300,Q=N[0],et=N.slice(1).join(`\n`)):Q=\"#version \".concat(j);let Y={};n.forEach(Xt=>{Object.assign(Y,Xt.getDefines())}),Object.assign(Y,o);let K=w?\"\".concat(Q,`\n`).concat(Not({id:r,source:i,type:s}),`\n`).concat(zot({type:s}),`\n`).concat(wj(e),`\n`).concat(Sj(e,j,!R),`\n`).concat(Uot(Y),`\n`).concat(R?\"\":Bot,`\n`):\"\".concat(Q,`\n`),J=jot(c),ut={},Et={},kt={};for(let Xt in f){let qt=typeof f[Xt]==\"string\"?{injection:f[Xt],order:0}:f[Xt],le=Xt.match(/^(v|f)s:(#)?([\\w-]+)$/);if(le){let ue=le[2],De=le[3];ue?De===\"decl\"?Et[Xt]=[qt]:kt[Xt]=[qt]:ut[Xt]=[qt]}else kt[Xt]=[qt]}for(let Xt of n){I&&Xt.checkDeprecations(et,I);let qt=Xt.getModuleSource(s,j);K+=qt;let le=Xt.injections[s];for(let ue in le){let De=ue.match(/^(v|f)s:#([\\w-]+)$/);if(De){let rr=De[2]===\"decl\"?Et:kt;rr[ue]=rr[ue]||[],rr[ue].push(le[ue])}else ut[ue]=ut[ue]||[],ut[ue].push(le[ue])}}return K+=Oot,K=EE(K,s,Et),K+=Vot(J[s],ut),K+=et,K=EE(K,s,kt),K=UR(K,_?100:j,R),K}function Fot(e){return function(r){let i={};for(let s of e){let n=s.getUniforms(r,i);Object.assign(i,n)}return i}}function zot(e){let{type:t}=e;return`\n#define SHADER_TYPE_`.concat(kj[t].toUpperCase(),`\n`)}function Not(e){let{id:t,source:r,type:i}=e;return t&&typeof t==\"string\"&&r.indexOf(\"SHADER_NAME\")===-1?`\n#define SHADER_NAME `.concat(t,\"_\").concat(kj[i],`\n\n`):\"\"}function Uot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=0,r=\"\";for(let i in e){t===0&&(r+=`\n// APPLICATION DEFINES\n`),t++;let s=e[i];(s||Number.isFinite(s))&&(r+=\"#define \".concat(i.toUpperCase(),\" \").concat(e[i],`\n`))}return t===0&&(r+=`\n`),r}function Vot(e,t){let r=\"\";for(let i in e){let s=e[i];if(r+=\"void \".concat(s.signature,` {\n`),s.header&&(r+=\" \".concat(s.header)),t[i]){let n=t[i];n.sort((o,c)=>o.order-c.order);for(let o of n)r+=\" \".concat(o.injection,`\n`)}s.footer&&(r+=\" \".concat(s.footer)),r+=`}\n`}return r}function jot(e){let t={vs:{},fs:{}};return e.forEach(r=>{let i;typeof r!=\"string\"?(i=r,r=i.hook):i={},r=r.trim();let[s,n]=r.split(\":\"),o=r.replace(/\\(.+/,\"\");t[s][o]=Object.assign(i,{signature:n})}),t}var Got=\"void main() {gl_FragColor = vec4(0);}\",Rj=`out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}`,Wot=`#version 300 es\n`.concat(Rj);function IE(e,t){t=Array.isArray(t)?t:[t];let r=e.replace(/^\\s+/,\"\").split(/\\s+/),[i,s,n]=r;if(!t.includes(i)||!s||!n)return null;let o=n.split(\";\")[0];return{qualifier:i,type:s,name:o}}function bb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{version:t=100,input:r,inputType:i,output:s}=e;if(!r)return t===300?Wot:t>300?\"#version \".concat(t,`\n`).concat(Rj):Got;let n=Dj(r,i);return t>=300?\"#version \".concat(t,\" \").concat(t===300?\"es\":\"\",`\nin `).concat(i,\" \").concat(r,`;\nout vec4 `).concat(s,`;\nvoid main() {\n `).concat(s,\" = \").concat(n,`;\n}`):\"varying \".concat(i,\" \").concat(r,`;\nvoid main() {\n gl_FragColor = `).concat(n,`;\n}`)}function jR(e){switch(e){case\"float\":return\"x\";case\"vec2\":return\"xy\";case\"vec3\":return\"xyz\";case\"vec4\":return\"xyzw\";default:return to(!1),null}}function GR(e){switch(e){case\"float\":return 1;case\"vec2\":return 2;case\"vec3\":return 3;case\"vec4\":return 4;default:return to(!1),null}}function Dj(e,t){switch(t){case\"float\":return\"vec4(\".concat(e,\", 0.0, 0.0, 1.0)\");case\"vec2\":return\"vec4(\".concat(e,\", 0.0, 1.0)\");case\"vec3\":return\"vec4(\".concat(e,\", 1.0)\");case\"vec4\":return e;default:return to(!1),null}}var Hot=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n`,CE={name:\"fp32\",vs:Hot,fs:null};function Bh(e,t){if(!e)throw new Error(\"math.gl assertion \".concat(t))}var Gkt=1/Math.PI*180,Wkt=1/180*Math.PI,eo={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function WR(e,{precision:t=eo.precision}={}){return e=qot(e),\"\".concat(parseFloat(e.toPrecision(t)))}function Fh(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Il(e,t,r){return Yot(e,i=>Math.max(t,Math.min(r,i)))}function il(e,t,r){return Fh(e)?e.map((i,s)=>il(i,t[s],r)):r*t+(1-r)*e}function Ro(e,t,r){let i=eo.EPSILON;r&&(eo.EPSILON=r);try{if(e===t)return!0;if(Fh(e)&&Fh(t)){if(e.length!==t.length)return!1;for(let s=0;s0?\", \":\"\")+WR(this[i],t);return\"\".concat(t.printTypes?this.constructor.name:\"\",\"[\").concat(r,\"]\")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r=0&&t=0&&t0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function YR(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Dy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2];return e[0]=s*f-n*c,e[1]=n*o-i*f,e[2]=i*c-s*o,e}function Hj(e,t,r,i){var s=t[0],n=t[1],o=t[2];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e}function Oy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[3]*i+r[7]*s+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*i+r[4]*s+r[8]*n+r[12])/o,e[1]=(r[1]*i+r[5]*s+r[9]*n+r[13])/o,e[2]=(r[2]*i+r[6]*s+r[10]*n+r[14])/o,e}function OE(e,t,r){var i=t[0],s=t[1],n=t[2];return e[0]=i*r[0]+s*r[3]+n*r[6],e[1]=i*r[1]+s*r[4]+n*r[7],e[2]=i*r[2]+s*r[5]+n*r[8],e}function BE(e,t,r){var i=r[0],s=r[1],n=r[2],o=r[3],c=t[0],f=t[1],_=t[2],w=s*_-n*f,I=n*c-i*_,R=i*f-s*c,N=s*R-n*I,j=n*w-i*R,Q=i*I-s*w,et=o*2;return w*=et,I*=et,R*=et,N*=2,j*=2,Q*=2,e[0]=c+w+N,e[1]=f+I+j,e[2]=_+R+Q,e}function qj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0],n[1]=s[1]*Math.cos(i)-s[2]*Math.sin(i),n[2]=s[1]*Math.sin(i)+s[2]*Math.cos(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Zj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[2]*Math.sin(i)+s[0]*Math.cos(i),n[1]=s[1],n[2]=s[2]*Math.cos(i)-s[0]*Math.sin(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Yj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0]*Math.cos(i)-s[1]*Math.sin(i),n[1]=s[0]*Math.sin(i)+s[1]*Math.cos(i),n[2]=s[2],e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Qj(e,t){var r=e[0],i=e[1],s=e[2],n=t[0],o=t[1],c=t[2],f=Math.sqrt(r*r+i*i+s*s),_=Math.sqrt(n*n+o*o+c*c),w=f*_,I=w&&YR(e,t)/w;return Math.acos(Math.min(Math.max(I,-1),1))}var FE=tat;var $j=eat;var zE=Jot,NE=rat,i4t=function(){var e=qR();return function(t,r,i,s,n,o){var c,f;for(r||(r=3),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;c0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(iat)}fromObject(t){return this.check()}fromQuaternion(t){return i7(this,t),this.check()}set(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this[4]=n,this[5]=o,this[6]=c,this[7]=f,this[8]=_,this.check()}setRowMajor(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=s,this[2]=c,this[3]=r,this[4]=n,this[5]=f,this[6]=i,this[7]=o,this[8]=_,this.check()}determinant(){return t7(this)}transpose(){return Kj(this,this),this.check()}invert(){return Jj(this,this),this.check()}multiplyLeft(t){return $R(this,t,this),this.check()}multiplyRight(t){return $R(this,this,t),this.check()}rotate(t){return r7(this,this,t),this.check()}scale(t){return Array.isArray(t)?XR(this,this,t):XR(this,this,[t,t]),this.check()}translate(t){return e7(this,this,t),this.check()}transform(t,r){let i;switch(t.length){case 2:i=Fj(r||[-0,-0],t,this);break;case 3:i=OE(r||[-0,-0,-0],t,this);break;case 4:i=DE(r||[-0,-0,-0,-0],t,this);break;default:throw new Error(\"Illegal vector\")}return QA(i,t.length),i}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},jE,GE;function nat(){return jE||(jE=new ss([0,0,0,0,0,0,0,0,0]),Object.freeze(jE)),jE}function sat(){return GE||(GE=new ss,Object.freeze(GE)),GE}function oat(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function s7(e,t){if(e===t){var r=t[1],i=t[2],s=t[3],n=t[6],o=t[7],c=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=n,e[11]=t[14],e[12]=s,e[13]=o,e[14]=c}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Sb(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=t[4],c=t[5],f=t[6],_=t[7],w=t[8],I=t[9],R=t[10],N=t[11],j=t[12],Q=t[13],et=t[14],Y=t[15],K=r*c-i*o,J=r*f-s*o,ut=r*_-n*o,Et=i*f-s*c,kt=i*_-n*c,Xt=s*_-n*f,qt=w*Q-I*j,le=w*et-R*j,ue=w*Y-N*j,De=I*et-R*Q,Ke=I*Y-N*Q,rr=R*Y-N*et,Sr=K*rr-J*Ke+ut*De+Et*ue-kt*le+Xt*qt;return Sr?(Sr=1/Sr,e[0]=(c*rr-f*Ke+_*De)*Sr,e[1]=(s*Ke-i*rr-n*De)*Sr,e[2]=(Q*Xt-et*kt+Y*Et)*Sr,e[3]=(R*kt-I*Xt-N*Et)*Sr,e[4]=(f*ue-o*rr-_*le)*Sr,e[5]=(r*rr-s*ue+n*le)*Sr,e[6]=(et*ut-j*Xt-Y*J)*Sr,e[7]=(w*Xt-R*ut+N*J)*Sr,e[8]=(o*Ke-c*ue+_*qt)*Sr,e[9]=(i*ue-r*Ke-n*qt)*Sr,e[10]=(j*kt-Q*ut+Y*K)*Sr,e[11]=(I*ut-w*kt-N*K)*Sr,e[12]=(c*le-o*De-f*qt)*Sr,e[13]=(r*De-i*le+s*qt)*Sr,e[14]=(Q*J-j*Et-et*K)*Sr,e[15]=(w*Et-I*J+R*K)*Sr,e):null}function o7(e){var t=e[0],r=e[1],i=e[2],s=e[3],n=e[4],o=e[5],c=e[6],f=e[7],_=e[8],w=e[9],I=e[10],R=e[11],N=e[12],j=e[13],Q=e[14],et=e[15],Y=t*o-r*n,K=t*c-i*n,J=t*f-s*n,ut=r*c-i*o,Et=r*f-s*o,kt=i*f-s*c,Xt=_*j-w*N,qt=_*Q-I*N,le=_*et-R*N,ue=w*Q-I*j,De=w*et-R*j,Ke=I*et-R*Q;return Y*Ke-K*De+J*ue+ut*le-Et*qt+kt*Xt}function qf(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=t[4],f=t[5],_=t[6],w=t[7],I=t[8],R=t[9],N=t[10],j=t[11],Q=t[12],et=t[13],Y=t[14],K=t[15],J=r[0],ut=r[1],Et=r[2],kt=r[3];return e[0]=J*i+ut*c+Et*I+kt*Q,e[1]=J*s+ut*f+Et*R+kt*et,e[2]=J*n+ut*_+Et*N+kt*Y,e[3]=J*o+ut*w+Et*j+kt*K,J=r[4],ut=r[5],Et=r[6],kt=r[7],e[4]=J*i+ut*c+Et*I+kt*Q,e[5]=J*s+ut*f+Et*R+kt*et,e[6]=J*n+ut*_+Et*N+kt*Y,e[7]=J*o+ut*w+Et*j+kt*K,J=r[8],ut=r[9],Et=r[10],kt=r[11],e[8]=J*i+ut*c+Et*I+kt*Q,e[9]=J*s+ut*f+Et*R+kt*et,e[10]=J*n+ut*_+Et*N+kt*Y,e[11]=J*o+ut*w+Et*j+kt*K,J=r[12],ut=r[13],Et=r[14],kt=r[15],e[12]=J*i+ut*c+Et*I+kt*Q,e[13]=J*s+ut*f+Et*R+kt*et,e[14]=J*n+ut*_+Et*N+kt*Y,e[15]=J*o+ut*w+Et*j+kt*K,e}function ag(e,t,r){var i=r[0],s=r[1],n=r[2],o,c,f,_,w,I,R,N,j,Q,et,Y;return t===e?(e[12]=t[0]*i+t[4]*s+t[8]*n+t[12],e[13]=t[1]*i+t[5]*s+t[9]*n+t[13],e[14]=t[2]*i+t[6]*s+t[10]*n+t[14],e[15]=t[3]*i+t[7]*s+t[11]*n+t[15]):(o=t[0],c=t[1],f=t[2],_=t[3],w=t[4],I=t[5],R=t[6],N=t[7],j=t[8],Q=t[9],et=t[10],Y=t[11],e[0]=o,e[1]=c,e[2]=f,e[3]=_,e[4]=w,e[5]=I,e[6]=R,e[7]=N,e[8]=j,e[9]=Q,e[10]=et,e[11]=Y,e[12]=o*i+w*s+j*n+t[12],e[13]=c*i+I*s+Q*n+t[13],e[14]=f*i+R*s+et*n+t[14],e[15]=_*i+N*s+Y*n+t[15]),e}function By(e,t,r){var i=r[0],s=r[1],n=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a7(e,t,r,i){var s=i[0],n=i[1],o=i[2],c=Math.hypot(s,n,o),f,_,w,I,R,N,j,Q,et,Y,K,J,ut,Et,kt,Xt,qt,le,ue,De,Ke,rr,Sr,Li;return c0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=i*o,e[2]=s*o,e[3]=n*o,e}function _7(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function y7(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e[3]=c+i*(r[3]-c),e}function Nh(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3];return e[0]=r[0]*i+r[4]*s+r[8]*n+r[12]*o,e[1]=r[1]*i+r[5]*s+r[9]*n+r[13]*o,e[2]=r[2]*i+r[6]*s+r[10]*n+r[14]*o,e[3]=r[3]*i+r[7]*s+r[11]*n+r[15]*o,e}function v7(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2],_=r[3],w=_*i+c*n-f*s,I=_*s+f*i-o*n,R=_*n+o*s-c*i,N=-o*i-c*s-f*n;return e[0]=w*_+N*-o+I*-f-R*-c,e[1]=I*_+N*-c+R*-o-w*-f,e[2]=R*_+N*-f+w*-c-I*-o,e[3]=t[3],e}var b4t=function(){var e=cat();return function(t,r,i,s,n,o){var c,f;for(r||(r=4),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;cMath.PI*2)throw Error(\"expected radians\")}function Aat(e,t,r,i,s,n){let o=2*n/(r-t),c=2*n/(s-i),f=(r+t)/(r-t),_=(s+i)/(s-i),w=-1,I=-1,R=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=_,e[10]=w,e[11]=I,e[12]=0,e[13]=0,e[14]=R,e[15]=0,e}function b7(){var e=new ya(4);return ya!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function w7(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function iD(e,t,r){r=r*.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function nD(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=r[0],f=r[1],_=r[2],w=r[3];return e[0]=i*w+o*c+s*_-n*f,e[1]=s*w+o*f+n*c-i*_,e[2]=n*w+o*_+i*f-s*c,e[3]=o*w-i*c-s*f-n*_,e}function S7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+o*c,e[1]=s*f+n*c,e[2]=n*f-s*c,e[3]=o*f-i*c,e}function T7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f-n*c,e[1]=s*f+o*c,e[2]=n*f+i*c,e[3]=o*f-s*c,e}function M7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+s*c,e[1]=s*f-i*c,e[2]=n*f+o*c,e[3]=o*f-n*c,e}function E7(e,t){var r=t[0],i=t[1],s=t[2];return e[0]=r,e[1]=i,e[2]=s,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-s*s)),e}function Mb(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3],f=r[0],_=r[1],w=r[2],I=r[3],R,N,j,Q,et;return N=s*f+n*_+o*w+c*I,N<0&&(N=-N,f=-f,_=-_,w=-w,I=-I),1-N>zh?(R=Math.acos(N),j=Math.sin(R),Q=Math.sin((1-i)*R)/j,et=Math.sin(i*R)/j):(Q=1-i,et=i),e[0]=Q*s+et*f,e[1]=Q*n+et*_,e[2]=Q*o+et*w,e[3]=Q*c+et*I,e}function P7(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=r*r+i*i+s*s+n*n,c=o?1/o:0;return e[0]=-r*c,e[1]=-i*c,e[2]=-s*c,e[3]=n*c,e}function I7(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function sD(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);var n=(s+1)%3,o=(s+2)%3;i=Math.sqrt(t[s*3+s]-t[n*3+n]-t[o*3+o]+1),e[s]=.5*i,i=.5/i,e[3]=(t[n*3+o]-t[o*3+n])*i,e[n]=(t[n*3+s]+t[s*3+n])*i,e[o]=(t[o*3+s]+t[s*3+o])*i}return e}var C7=p7;var L7=Fy,k7=_7,R7=y7,D7=A7;var O7=m7;var B7=g7;var F7=function(){var e=qR(),t=ZR(1,0,0),r=ZR(0,1,0);return function(i,s,n){var o=YR(s,n);return o<-.999999?(Dy(e,t,s),zE(e)<1e-6&&Dy(e,r,s),Wj(e,e),iD(i,e,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(Dy(e,s,n),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+o,B7(i,i))}}(),R4t=function(){var e=b7(),t=b7();return function(r,i,s,n,o,c){return Mb(e,i,o,c),Mb(t,s,n,c),Mb(r,e,t,2*c*(1-c)),r}}(),D4t=function(){var e=Xj();return function(t,r,i,s){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],B7(t,sD(t,e))}}();var gat=[0,0,0,1],lg=class extends np{constructor(t=0,r=0,i=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,i,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,i,s){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return sD(this,t),this.check()}fromAxisRotation(t,r){return iD(this,t,r),this.check()}identity(){return w7(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Qi(t)}get y(){return this[1]}set y(t){this[1]=Qi(t)}get z(){return this[2]}set z(t){this[2]=Qi(t)}get w(){return this[3]}set w(t){this[3]=Qi(t)}len(){return D7(this)}lengthSquared(){return O7(this)}dot(t){return k7(this,t)}rotationTo(t,r){return F7(this,t,r),this.check()}add(t){return C7(this,this,t),this.check()}calculateW(){return E7(this,this),this.check()}conjugate(){return I7(this,this),this.check()}invert(){return P7(this,this),this.check()}lerp(t,r,i){return i===void 0?this.lerp(this,t,r):(R7(this,t,r,i),this.check())}multiplyRight(t){return nD(this,this,t),this.check()}multiplyLeft(t){return nD(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return S7(this,this,t),this.check()}rotateY(t){return T7(this,this,t),this.check()}rotateZ(t){return M7(this,this,t),this.check()}scale(t){return L7(this,this,t),this.check()}slerp(t,r,i){let s,n,o;switch(arguments.length){case 1:({start:s=gat,target:n,ratio:o}=t);break;case 2:s=this,n=t,o=r;break;default:s=t,n=r,o=i}return Mb(this,s,n,o),this.check()}transformVector4(t,r=new wb){return v7(r,t,this),QA(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var YE={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,PI_OVER_TWO:Math.PI/2,PI_OVER_FOUR:Math.PI/4,PI_OVER_SIX:Math.PI/6,TWO_PI:Math.PI*2};var oD=`#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))\n\nstruct AmbientLight {\n vec3 color;\n};\n\nstruct PointLight {\n vec3 color;\n vec3 position;\n vec3 attenuation;\n};\n\nstruct DirectionalLight {\n vec3 color;\n vec3 direction;\n};\n\nuniform AmbientLight lighting_uAmbientLight;\nuniform PointLight lighting_uPointLight[MAX_LIGHTS];\nuniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];\nuniform int lighting_uPointLightCount;\nuniform int lighting_uDirectionalLightCount;\n\nuniform bool lighting_uEnabled;\n\nfloat getPointLightAttenuation(PointLight pointLight, float distance) {\n return pointLight.attenuation.x\n + pointLight.attenuation.y * distance\n + pointLight.attenuation.z * distance * distance;\n}\n\n#endif\n`;var _at={lightSources:{}};function aD(){let{color:e=[0,0,0],intensity:t=1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.map(r=>r*t/255)}function yat(e){let{ambientLight:t,pointLights:r=[],directionalLights:i=[]}=e,s={};return t?s[\"lighting_uAmbientLight.color\"]=aD(t):s[\"lighting_uAmbientLight.color\"]=[0,0,0],r.forEach((n,o)=>{s[\"lighting_uPointLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uPointLight[\".concat(o,\"].position\")]=n.position,s[\"lighting_uPointLight[\".concat(o,\"].attenuation\")]=n.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,i.forEach((n,o)=>{s[\"lighting_uDirectionalLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uDirectionalLight[\".concat(o,\"].direction\")]=n.direction}),s.lighting_uDirectionalLightCount=i.length,s}function z7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_at;if(\"lightSources\"in e){let{ambientLight:t,pointLights:r,directionalLights:i}=e.lightSources||{};return t||r&&r.length>0||i&&i.length>0?Object.assign({},yat({ambientLight:t,pointLights:r,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if(\"lights\"in e){let t={pointLights:[],directionalLights:[]};for(let r of e.lights||[])switch(r.type){case\"ambient\":t.ambientLight=r;break;case\"directional\":t.directionalLights.push(r);break;case\"point\":t.pointLights.push(r);break;default:}return z7({lightSources:t})}return{}}var lD={name:\"lights\",vs:oD,fs:oD,getUniforms:z7,defines:{MAX_LIGHTS:3}};var vat=new Uint8Array([0,255,255,255]),xat={pickingSelectedColor:null,pickingHighlightColor:vat,pickingActive:!1,pickingAttribute:!1};function bat(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xat,t={};if(e.pickingSelectedColor!==void 0)if(!e.pickingSelectedColor)t.picking_uSelectedColorValid=0;else{let r=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=r}if(e.pickingHighlightColor){let r=Array.from(e.pickingHighlightColor,i=>i/255);Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return e.pickingActive!==void 0&&(t.picking_uActive=!!e.pickingActive,t.picking_uAttribute=!!e.pickingAttribute),t}var wat=`uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n`,Sat=`uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n`,QE={name:\"picking\",vs:wat,fs:Sat,getUniforms:bat};var cD=`\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n`;var Tat={};function Mat(e){let{ambient:t=.35,diffuse:r=.6,shininess:i=32,specularColor:s=[30,30,30]}=e;return{lighting_uAmbient:t,lighting_uDiffuse:r,lighting_uShininess:i,lighting_uSpecularColor:s.map(n=>n/255)}}function N7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tat;if(!(\"material\"in e))return{};let{material:t}=e;return t?Mat(t):{lighting_uEnabled:!1}}var Zf={name:\"gouraud-lighting\",dependencies:[lD],vs:cD,defines:{LIGHTING_VERTEX:1},getUniforms:N7},Ny={name:\"phong-lighting\",dependencies:[lD],fs:cD,defines:{LIGHTING_FRAGMENT:1},getUniforms:N7};var Eat=`attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n`,uD={name:\"transform\",vs:Eat,fs:null};var Uh=class e{static getDefaultProgramManager(t){return t.luma=t.luma||{},t.luma.defaultProgramManager=t.luma.defaultProgramManager||new e(t),t.luma.defaultProgramManager}constructor(t){this.gl=t,this._programCache={},this._getUniforms={},this._registeredModules={},this._hookFunctions=[],this._defaultModules=[],this._hashes={},this._hashCounter=0,this.stateHash=0,this._useCounts={}}addDefaultModule(t){this._defaultModules.find(r=>r.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){let r=typeof t==\"string\"?t:t.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==r),this.stateHash++}addShaderHook(t,r){r&&(t=Object.assign(r,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{vs:r=\"\",fs:i=\"\",defines:s={},inject:n={},varyings:o=[],bufferMode:c=35981,transpileToGLSL100:f=!1}=t,_=this._getModuleList(t.modules),w=this._getHash(r),I=this._getHash(i),R=_.map(J=>this._getHash(J.name)).sort(),N=o.map(J=>this._getHash(J)),j=Object.keys(s).sort(),Q=Object.keys(n).sort(),et=[],Y=[];for(let J of j)et.push(this._getHash(J)),et.push(this._getHash(s[J]));for(let J of Q)Y.push(this._getHash(J)),Y.push(this._getHash(n[J]));let K=\"\".concat(w,\"/\").concat(I,\"D\").concat(et.join(\"/\"),\"M\").concat(R.join(\"/\"),\"I\").concat(Y.join(\"/\"),\"V\").concat(N.join(\"/\"),\"H\").concat(this.stateHash,\"B\").concat(c).concat(f?\"T\":\"\");if(!this._programCache[K]){let J=VR(this.gl,{vs:r,fs:i,modules:_,inject:n,defines:s,hookFunctions:this._hookFunctions,transpileToGLSL100:f});this._programCache[K]=new rp(this.gl,{hash:K,vs:J.vs,fs:J.fs,varyings:o,bufferMode:c}),this._getUniforms[K]=J.getUniforms||(ut=>{}),this._useCounts[K]=0}return this._useCounts[K]++,this._programCache[K]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){let r=t.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._programCache[r].delete(),delete this._programCache[r],delete this._getUniforms[r],delete this._useCounts[r])}_getHash(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+t.length),i={},s=0;for(let n=0,o=this._defaultModules.length;n{},Rat={},fn=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{id:i=ta(\"model\")}=r;ye(Jd(t)),this.id=i,this.gl=t,this.id=r.id||ta(\"Model\"),this.lastLogTime=0,this.animated=!1,this.initialize(r)}initialize(t){this.props={},this.programManager=t.programManager||Uh.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;let{program:r=null,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=t.drawMode!==void 0?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},ye(this.drawMode!==void 0&&Number.isFinite(this.vertexCount),kat)}setProps(t){this._setModelProps(t)}delete(){for(let t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){let{program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return ye(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return ye(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=U7(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let r={};for(let i in t){let s=t[i];r[i]=s.getValue?s.getValue():s}return this.vertexArray.setAttributes(r),this}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();let r=this.programManager.getUniforms(this.program);return r?r(t):{}}updateModuleSettings(t){let r=this.getModuleUniforms(t||{});return this.setUniforms(r)}clear(t){return Hf(this.program.gl,t),this}draw(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._checkProgram();let{moduleSettings:r=null,framebuffer:i,uniforms:s={},attributes:n={},transformFeedback:o=this.transformFeedback,parameters:c={},vertexArray:f=this.vertexArray}=t;this.setAttributes(n),this.updateModuleSettings(r),this.setUniforms(s);let _;He.priority>=Uy&&(_=this._logDrawCallStart(Uy));let w=this.vertexArray.getDrawParams(),{isIndexed:I=w.isIndexed,indexType:R=w.indexType,indexOffset:N=w.indexOffset,vertexArrayInstanced:j=w.isInstanced}=this.props;j&&!this.isInstanced&&He.warn(\"Found instanced attributes on non-instanced model\",this.id)();let{isInstanced:Q,instanceCount:et}=this,{onBeforeRender:Y=V7,onAfterRender:K=V7}=this.props;Y(),this.program.setUniforms(this.uniforms);let J=this.program.draw(Object.assign(Rat,t,{logPriority:_,uniforms:null,framebuffer:i,parameters:c,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:f,transformFeedback:o,isIndexed:I,indexType:R,isInstanced:Q,instanceCount:et,offset:I?N:0}));return K(),He.priority>=Uy&&this._logDrawCallEnd(_,f,i),J}transform(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{discard:r=!0,feedbackBuffers:i,unbindModels:s=[]}=t,{parameters:n}=t;i&&this._setFeedbackBuffers(i),r&&(n=Object.assign({},n,{35977:r})),s.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:n}))}finally{s.forEach(o=>o.vertexArray.bindBuffers())}return this}render(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.warn(\"Model.render() is deprecated. Use Model.setUniforms() and Model.draw()\")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),\"uniforms\"in t&&this.setUniforms(t.uniforms),\"pickable\"in t&&(this.pickable=t.pickable),\"instanceCount\"in t&&(this.instanceCount=t.instanceCount),\"geometry\"in t&&this.setGeometry(t.geometry),\"attributes\"in t&&this.setAttributes(t.attributes),\"_feedbackBuffers\"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!(this._programDirty||this.programManager.stateHash!==this._programManagerState))return;let{program:r}=this.programProps;if(r)this._managedProgram=!1;else{let{vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=this.programProps;r=this.programManager.get({vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ye(r instanceof rp,\"Model needs a program\"),this._programDirty=!1,r!==this.program&&(this.program=r,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Iy(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(let t in this.geometryBuffers){let r=this.geometryBuffers[t][0]||this.geometryBuffers[t];r instanceof Fr&&r.delete()}}_setAnimationProps(t){this.animated&&ye(t,\"Model.draw(): animated uniforms but no animationProps\")}_setFeedbackBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let{gl:r}=this.program;return this.transformFeedback=this.transformFeedback||new ip(r,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){let r=t>3?0:Lat;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL \".concat(this.id),{collapsed:He.level<=2})(),t}_logDrawCallEnd(t,r,i,s){if(t===void 0)return;let n=CR({vertexArray:r,header:\"\".concat(this.id,\" attributes\"),attributes:this._attributes}),{table:o,unusedTable:c,unusedCount:f}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:_,count:w}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});w>0&&He.log(\"MISSING UNIFORMS\",Object.keys(_))(),f>0&&He.log(\"UNUSED UNIFORMS\",Object.keys(c))();let I=LR(this.vertexArray.configuration);He.table(t,n)(),He.table(t,o)(),He.table(t+1,I)(),s&&s.log({logLevel:Uy,message:\"Rendered to \".concat(s.id)}),He.groupEnd(Uy)()}};var Eb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}setupResources(t){for(let r of this.bindings)this._setupTransformFeedback(r,t)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyings:r}=this;return r.length>0&&(t=Object.assign({},t,{varyings:r})),t}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:s}=r;return{attributes:Object.assign({},i,t.attributes),transformFeedback:s}}swap(){return this.feedbackMap?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t)}getBuffer(t){let{feedbackBuffers:r}=this.bindings[this.currentIndex],i=t?r[t]:null;return i?i instanceof Fr?i:i.buffer:null}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyingName:r}=t,i=this.getBuffer(r);return i?i.getData():null}delete(){for(let t in this.resources)this.resources[t].delete()}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ye(fr(this.gl))}_getFeedbackBuffers(t){let{sourceBuffers:r={}}=t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(let s in this.feedbackMap){let n=this.feedbackMap[s];s in r&&(i[n]=s)}Object.assign(i,t.feedbackBuffers);for(let s in i){let n=i[s];if(typeof n==\"string\"){let o=r[n],{byteLength:c,usage:f,accessor:_}=o;i[s]=this._createNewBuffer(s,{byteLength:c,usage:f,accessor:_})}}return i}_setupBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);let i=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:r,feedbackBuffers:i})}_setupTransformFeedback(t,r){let{model:i}=r,{program:s}=i;t.transformFeedback=new ip(this.gl,{program:s,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){let{sourceBuffers:r,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceBuffers:r,feedbackBuffers:i})}}_updateBinding(t,r){return t?(Object.assign(t.sourceBuffers,r.sourceBuffers),Object.assign(t.feedbackBuffers,r.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},r.sourceBuffers),feedbackBuffers:Object.assign({},r.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;let r=Object.assign({},t.sourceBuffers),i=Object.assign({},t.feedbackBuffers);for(let s in this.feedbackMap){let n=this.feedbackMap[s];r[s]=t.feedbackBuffers[n],i[n]=t.sourceBuffers[s],ye(i[n]instanceof Fr)}return{sourceBuffers:r,feedbackBuffers:i}}_createNewBuffer(t,r){let i=new Fr(this.gl,r);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}};var Dat=\"transform_uSampler_\",$E=\"transform_uSize_\",j7=\"transform_position\";function G7(e){let{vs:t,sourceTextureMap:r,targetTextureVarying:i,targetTexture:s}=e,o=Object.keys(r).length,c=null,f={},_=t,w={};if(o>0||i){let I=_.split(`\n`),R=I.slice();if(I.forEach((N,j,Q)=>{if(o>0){let et=zat(N,r);if(et){let{updatedLine:Y,inject:K}=et;R[j]=Y,w=Ly([w,K]),Object.assign(f,et.samplerTextureMap),o--}}i&&!c&&(c=Fat(N,i))}),i){ye(s);let N=\"\".concat($E).concat(i),j=\"uniform vec2 \".concat(N,`;\n`),Q=\" vec2 \".concat(j7,\" = transform_getPos(\").concat(N,`);\n gl_Position = vec4(`).concat(j7,`, 0, 1.);\n`);w=Ly([w,{\"vs:#decl\":j,\"vs:#main-start\":Q}])}_=R.join(`\n`)}return{vs:_,targetTextureType:c,inject:w,samplerTextureMap:f}}function W7(e){let{sourceTextureMap:t,targetTextureVarying:r,targetTexture:i}=e,s={},n,o;r&&({width:n,height:o}=i,s[\"\".concat($E).concat(r)]=[n,o]);for(let c in t)({width:n,height:o}=t[c]),s[\"\".concat($E).concat(c)]=[n,o];return s}function Oat(e){return IE(e,[\"attribute\",\"in\"])}function Bat(e){let t=\"\".concat(Dat).concat(e),r=\"\".concat($E).concat(e),i=\" uniform sampler2D \".concat(t,`;\n uniform vec2 `).concat(r,\";\");return{samplerName:t,sizeName:r,uniformDeclerations:i}}function Fat(e,t){let r=IE(e,[\"varying\",\"out\"]);return r&&r.name===t?r.type:null}function zat(e,t){let r={},i=Oat(e);if(!i)return null;let{type:s,name:n}=i;if(n&&t[n]){let o=\"// \".concat(e,\" => Replaced by Transform with a sampler\"),{samplerName:c,sizeName:f,uniformDeclerations:_}=Bat(n),w=jR(s),I=\" \".concat(s,\" \").concat(n,\" = transform_getInput(\").concat(c,\", \").concat(f,\").\").concat(w,`;\n`);return r[c]=n,{updatedLine:o,inject:{\"vs:#decl\":_,\"vs:#main-start\":I},samplerTextureMap:r}}return null}var Nat={10241:9728,10240:9728,10242:33071,10243:33071},Uat=\"transform_output\",Pb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._processVertexShader(t);return Object.assign({},t,r)}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,sourceTextures:i,framebuffer:s,targetTexture:n}=this.bindings[this.currentIndex],o=Object.assign({},r,t.attributes),c=Object.assign({},t.uniforms),f=Object.assign({},t.parameters),_=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(let I in this.samplerTextureMap){let R=this.samplerTextureMap[I];c[I]=i[R]}this._setSourceTextureParameters();let w=W7({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:n});Object.assign(c,w)}return this.hasTargetTexture&&(_=!1,f.viewport=[0,0,s.width,s.height]),{attributes:o,framebuffer:s,uniforms:c,discard:_,parameters:f}}swap(){return this._swapTexture?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupTextures(t)}getTargetTexture(){let{targetTexture:t}=this.bindings[this.currentIndex];return t}getData(){let{packed:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{framebuffer:r}=this.bindings[this.currentIndex],i=Dh(r);if(!t)return i;let s=i.constructor,n=GR(this.targetTextureType),o=new s(i.length*n/4),c=0;for(let f=0;f0&&arguments[0]!==void 0?arguments[0]:{},{_targetTextureVarying:r,_swapTexture:i}=t;this._swapTexture=i,this.targetTextureVarying=r,this.hasTargetTexture=r,this._setupTextures(t)}_createTargetTexture(t){let{sourceTextures:r,textureOrReference:i}=t;if(i instanceof pi)return i;let s=r[i];return s?(this._targetRefTexName=i,this._createNewTexture(s)):null}_setupTextures(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,_sourceTextures:i={},_targetTexture:s}=t,n=this._createTargetTexture({sourceTextures:i,textureOrReference:s});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:r,sourceTextures:i,targetTexture:n}),\"elementCount\"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if(typeof t!=\"number\"||this.elementCount>=t)return;let r=new Float32Array(t);r.forEach((i,s,n)=>{n[s]=s}),this.elementIDBuffer?this.elementIDBuffer.setData({data:r}):this.elementIDBuffer=new Fr(this.gl,{data:r,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){let{sourceTextures:r,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceTextures:r,targetTexture:i})}}_updateBinding(t,r){let{sourceBuffers:i,sourceTextures:s,targetTexture:n}=r;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,s),Object.assign(t.sourceBuffers,i),n){t.targetTexture=n;let{width:o,height:c}=n,{framebuffer:f}=t;f?(f.update({attachments:{36064:n},resizeAttachments:!1}),f.resize({width:o,height:c})):t.framebuffer=new yi(this.gl,{id:\"transform-framebuffer\",width:o,height:c,attachments:{36064:n}})}return t}_setSourceTextureParameters(){let t=this.currentIndex,{sourceTextures:r}=this.bindings[t];for(let i in r)r[i].setParameters(Nat)}_swapTextures(t){if(!this._swapTexture)return null;let r=Object.assign({},t.sourceTextures);r[this._swapTexture]=t.targetTexture;let i=t.sourceTextures[this._swapTexture];return{sourceTextures:r,targetTexture:i}}_createNewTexture(t){let r=yE(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=r,r}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceTextures:r,targetTexture:i}=this.bindings[this.currentIndex],{vs:s,uniforms:n,targetTextureType:o,inject:c,samplerTextureMap:f}=G7({vs:t.vs,sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),_=Ly([t.inject||{},c]);this.targetTextureType=o,this.samplerTextureMap=f;let w=t._fs||bb({version:Py(s),input:this.targetTextureVarying,inputType:o,output:Uat}),I=this.hasSourceTextures||this.targetTextureVarying?[uD].concat(t.modules||[]):t.modules;return{vs:s,fs:w,modules:I,uniforms:n,inject:_}}};var nc=class{static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(r),Object.seal(this)}delete(){let{model:t,bufferTransform:r,textureTransform:i}=this;t&&t.delete(),r&&r.delete(),i&&i.delete()}run(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{clearRenderTarget:r=!0}=t,i=this._updateDrawOptions(t);r&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let t=!1,r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)t=t||i.swap();ye(t,\"Nothing to swap\")}getBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r){let s=i.getData(t);if(s)return s}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};\"elementCount\"in t&&this.model.setVertexCount(t.elementCount);let r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)i.update(t)}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{gl:r}=this;this._buildResourceTransforms(r,t),t=this._updateModelProps(t),this.model=new fn(r,Object.assign({},t,{fs:t.fs||bb({version:Py(t.vs)}),id:t.id||\"transform-model\",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=s.updateModelProps(r);return r}_buildResourceTransforms(t,r){Vat(r)&&(this.bufferTransform=new Eb(t,r)),jat(r)&&(this.textureTransform=new Pb(t,r)),ye(this.bufferTransform||this.textureTransform,\"must provide source/feedback buffers or source/target textures\")}_updateDrawOptions(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=Object.assign(r,s.getDrawOptions(r));return r}};function Vat(e){return!!(!Wf(e.feedbackBuffers)||!Wf(e.feedbackMap)||e.varyings&&e.varyings.length>0)}function jat(e){return!!(!Wf(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)}var H7={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},$n=class{static get DRAW_MODE(){return H7}constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{id:r=ta(\"geometry\"),drawMode:i=H7.TRIANGLES,attributes:s={},indices:n=null,vertexCount:o=null}=t;this.id=r,this.drawMode=i|0,this.attributes={},this.userData={},this._setAttributes(s,n),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(t){return\"Geometry \".concat(this.id,\" attribute \").concat(t)}_setAttributes(t,r){r&&(this.indices=ArrayBuffer.isView(r)?{value:r,size:1}:r);for(let i in t){let s=t[i];s=ArrayBuffer.isView(s)?{value:s}:s,ye(ArrayBuffer.isView(s.value),\"\".concat(this._print(i),\": must be typed array or object with value as typed array\")),(i===\"POSITION\"||i===\"positions\")&&!s.size&&(s.size=3),i===\"indices\"?(ye(!this.indices),this.indices=s):this.attributes[i]=s}return this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,r){if(r)return r.value.length;let i=1/0;for(let s in t){let n=t[s],{value:o,size:c,constant:f}=n;!f&&o&&c>=1&&(i=Math.min(i,o.length/c))}return ye(Number.isFinite(i)),i}};var Gat=1,Wat=1,KA=class{constructor(){this.time=0,this.channels=new Map,this.animations=new Map,this.playing=!1,this.lastEngineTime=-1}addChannel(t){let{delay:r=0,duration:i=Number.POSITIVE_INFINITY,rate:s=1,repeat:n=1}=t,o=Gat++,c={time:0,delay:r,duration:i,rate:s,repeat:n};return this._setChannelTime(c,this.time),this.channels.set(o,c),o}removeChannel(t){this.channels.delete(t);for(let[r,i]of this.animations)i.channel===t&&this.detachAnimation(r)}isFinished(t){let r=this.channels.get(t);return r===void 0?!1:this.time>=r.delay+r.duration*r.repeat}getTime(t){if(t===void 0)return this.time;let r=this.channels.get(t);return r===void 0?-1:r.time}setTime(t){this.time=Math.max(0,t);let r=this.channels.values();for(let s of r)this._setChannelTime(s,this.time);let i=this.animations.values();for(let s of i){let{animation:n,channel:o}=s;n.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,r){let i=Wat++;return this.animations.set(i,{animation:t,channel:r}),t.setTime(this.getTime(r)),i}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,r){let i=r-t.delay,s=t.duration*t.repeat;i>=s?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}};var Hat=[255,255,255],qat=1,Zat=0,XE=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"ambient\");let{color:r=Hat}=t,{intensity:i=qat}=t;this.id=t.id||\"ambient-\".concat(Zat++),this.color=r,this.intensity=i}};var Yat=[255,255,255],Qat=1,$at=[0,0,-1],Xat=0,Ib=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"directional\"),G(this,\"direction\",void 0),G(this,\"shadow\",void 0);let{color:r=Yat}=t,{intensity:i=Qat}=t,{direction:s=$at}=t,{_shadow:n=!1}=t;this.id=t.id||\"directional-\".concat(Xat++),this.color=r,this.intensity=i,this.type=\"directional\",this.direction=new Ve(s).normalize().toArray(),this.shadow=n}getProjectedLight(t){return this}};var Cb=class{constructor(t,r={id:\"pass\"}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"props\",void 0);let{id:i}=r;this.id=i,this.gl=t,this.props={...r}}setProps(t){Object.assign(this.props,t)}render(t){}cleanup(){}};var sc=class extends Cb{constructor(...t){super(...t),G(this,\"_lastRenderIndex\",-1)}render(t){let r=this.gl;return Ml(r,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){let{target:r,moduleParameters:i,viewports:s,views:n,onViewportActive:o,clearStack:c=!0,clearCanvas:f=!0}=t;t.pass=t.pass||\"unknown\";let _=this.gl;f&&Jat(_,r),c&&(this._lastRenderIndex=-1);let w=[];for(let I of s){let R=n&&n[I.id];o?.(I);let N=this._getDrawLayerParams(I,t),j=I.subViewports||[I];for(let Q of j){let et=this._drawLayersInViewport(_,{target:r,moduleParameters:i,viewport:Q,view:R,pass:t.pass,layers:t.layers},N);w.push(et)}}return w}_getDrawLayerParams(t,{layers:r,pass:i,isPicking:s=!1,layerFilter:n,cullRect:o,effects:c,moduleParameters:f},_=!1){let w=[],I=q7(this._lastRenderIndex+1),R={layer:r[0],viewport:t,isPicking:s,renderPass:i,cullRect:o},N={};for(let j=0;jHf(t,I))}let w={totalCount:r.length,visibleCount:0,compositeCount:0,pickableCount:0};Ml(t,{viewport:_});for(let I=0;I{let o=s.props._offset,c=s.id,f=s.parent&&s.parent.id,_;if(f&&!(f in t)&&i(s.parent,!1),f in r){let w=r[f]=r[f]||q7(t[f],t);_=w(s,n),r[c]=w}else Number.isFinite(o)?(_=o+(t[f]||0),r[c]=null):_=e;return n&&_>=e&&(e=_+1),t[c]=_,_};return i}function Kat(e,{moduleParameters:t,target:r,viewport:i}){let s=r&&r.id!==\"default-framebuffer\",n=t&&t.devicePixelRatio||El(e),o=s?r.height:e.drawingBufferHeight,c=i;return[c.x*n,o-(c.y+c.height)*n,c.width*n,c.height*n]}function Jat(e,t){let r=t?t.width:e.drawingBufferWidth,i=t?t.height:e.drawingBufferHeight;Ml(e,{viewport:[0,0,r,i]}),e.clear(16640)}var Lb=class extends sc{constructor(t,r){super(t,r),G(this,\"shadowMap\",void 0),G(this,\"depthBuffer\",void 0),G(this,\"fbo\",void 0),this.shadowMap=new pi(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new el(t,{format:33189,width:1,height:1}),this.fbo=new yi(t,{id:\"shadowmap\",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){let r=this.fbo;Mn(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{let i=t.viewports[0],s=El(this.gl),n=i.width*s,o=i.height*s;(n!==r.width||o!==r.height)&&r.resize({width:n,height:o}),super.render({...t,target:r,pass:\"shadow\"})})}shouldDrawLayer(t){return t.props.shadowEnabled!==!1}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}};var Z7=\"#define SMOOTH_EDGE_RADIUS 0.5\",tlt=`\n`.concat(Z7,`\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n`),elt=`\n`.concat(Z7,`\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n`),Y7={name:\"geometry\",vs:tlt,fs:elt};var rlt=Object.keys(Yr).map(e=>\"const int COORDINATE_SYSTEM_\".concat(e,\" = \").concat(Yr[e],\";\")).join(\"\"),ilt=Object.keys(Ja).map(e=>\"const int PROJECTION_MODE_\".concat(e,\" = \").concat(Ja[e],\";\")).join(\"\"),nlt=Object.keys(po).map(e=>\"const int UNIT_\".concat(e.toUpperCase(),\" = \").concat(po[e],\";\")).join(\"\"),Q7=\"\".concat(rlt,`\n`).concat(ilt,`\n`).concat(nlt,`\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size_at_latitude(float lat) {\n float y = clamp(lat, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n}\n\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n return project_size_at_latitude(geometry.worldPosition.y);\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\n\nfloat project_size_at_latitude(float meters, float lat) {\n return meters * project_uCommonUnitsPerMeter.z * project_size_at_latitude(lat);\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size_at_latitude(position_world.z, position_world.y),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world) + project_offset_(project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n`);function slt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{for(let s in i)if(!slt(i[s],t[s])){r=e(i),t=i;break}return r}}var $7=[0,0,0,0],olt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],X7=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],alt=[0,0,0],K7=[0,0,0],llt=Yf(ult);function hD(e,t,r=K7){r.length<3&&(r=[r[0],r[1],0]);let i=r,s,n=!0;switch(t===Yr.LNGLAT_OFFSETS||t===Yr.METER_OFFSETS?s=r:s=e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case Ja.WEB_MERCATOR:(t===Yr.LNGLAT||t===Yr.CARTESIAN)&&(s=[0,0,0],n=!1);break;case Ja.WEB_MERCATOR_AUTO_OFFSET:t===Yr.LNGLAT?i=s:t===Yr.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],s=e.unprojectPosition(i),i[0]-=r[0],i[1]-=r[1],i[2]-=r[2]);break;case Ja.IDENTITY:i=e.position.map(Math.fround),i[2]=i[2]||0;break;case Ja.GLOBE:n=!1,s=null;break;default:n=!1}return{geospatialOrigin:s,shaderCoordinateOrigin:i,offsetMode:n}}function clt(e,t,r){let{viewMatrixUncentered:i,projectionMatrix:s}=e,{viewMatrix:n,viewProjectionMatrix:o}=e,c=$7,f=$7,_=e.cameraPosition,{geospatialOrigin:w,shaderCoordinateOrigin:I,offsetMode:R}=hD(e,t,r);return R&&(f=e.projectPosition(w||I),_=[_[0]-f[0],_[1]-f[1],_[2]-f[2]],f[3]=1,c=Nh([],f,o),n=i||n,o=qf([],s,n),o=qf([],o,olt)),{viewMatrix:n,viewProjectionMatrix:o,projectionCenter:c,originCommon:f,cameraPosCommon:_,shaderCoordinateOrigin:I,geospatialOrigin:w}}function J7({viewport:e,devicePixelRatio:t=1,modelMatrix:r=null,coordinateSystem:i=Yr.DEFAULT,coordinateOrigin:s=K7,autoWrapLongitude:n=!1}){i===Yr.DEFAULT&&(i=e.isGeospatial?Yr.LNGLAT:Yr.CARTESIAN);let o=llt({viewport:e,devicePixelRatio:t,coordinateSystem:i,coordinateOrigin:s});return o.project_uWrapLongitude=n,o.project_uModelMatrix=r||X7,o}function ult({viewport:e,devicePixelRatio:t,coordinateSystem:r,coordinateOrigin:i}){let{projectionCenter:s,viewProjectionMatrix:n,originCommon:o,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:_}=clt(e,r,i),w=e.getDistanceScales(),I=[e.width*t,e.height*t],R=Nh([],[0,0,-e.focalDistance,1],e.projectionMatrix)[3]||1,N={project_uCoordinateSystem:r,project_uProjectionMode:e.projectionMode,project_uCoordinateOrigin:f,project_uCommonOrigin:o.slice(0,3),project_uCenter:s,project_uPseudoMeters:!!e._pseudoMeters,project_uViewportSize:I,project_uDevicePixelRatio:t,project_uFocalDistance:R,project_uCommonUnitsPerMeter:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:alt,project_uScale:e.scale,project_uWrapLongitude:!1,project_uViewProjectionMatrix:n,project_uModelMatrix:X7,project_uCameraPosition:c};if(_){let j=e.getDistanceScales(_);switch(r){case Yr.METER_OFFSETS:N.project_uCommonUnitsPerWorldUnit=j.unitsPerMeter,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerMeter2;break;case Yr.LNGLAT:case Yr.LNGLAT_OFFSETS:e._pseudoMeters||(N.project_uCommonUnitsPerMeter=j.unitsPerMeter),N.project_uCommonUnitsPerWorldUnit=j.unitsPerDegree,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerDegree2;break;case Yr.CARTESIAN:N.project_uCommonUnitsPerWorldUnit=[1,1,j.unitsPerMeter[2]],N.project_uCommonUnitsPerWorldUnit2=[0,0,j.unitsPerMeter2[2]];break;default:break}}return N}var hlt={};function flt(e=hlt){return\"viewport\"in e?J7(e):{}}var Vh={name:\"project\",dependencies:[CE,Y7],vs:Q7,getUniforms:flt};function fD(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function JA(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}function dD(e,t){let r=e%t;return r<0?t+r:r}function tG(e,t,r){return r*t+(1-r)*e}function kb(e,t,r){return er?r:e}function dlt(e){return Math.log(e)*Math.LOG2E}var Vy=Math.log2||dlt;function Bu(e,t){if(!e)throw new Error(t||\"@math.gl/web-mercator: assertion failed.\")}var jh=Math.PI,eG=jh/4,Fu=jh/180,pD=180/jh,jy=512,KE=4003e4,Gy=85.051129,rG=1.5;function Rb(e){return Math.pow(2,e)}function JE(e){return Vy(e)}function va(e){let[t,r]=e;Bu(Number.isFinite(t)),Bu(Number.isFinite(r)&&r>=-90&&r<=90,\"invalid latitude\");let i=t*Fu,s=r*Fu,n=jy*(i+jh)/(2*jh),o=jy*(jh+Math.log(Math.tan(eG+s*.5)))/(2*jh);return[n,o]}function oc(e){let[t,r]=e,i=t/jy*(2*jh)-jh,s=2*(Math.atan(Math.exp(r/jy*(2*jh)-jh))-eG);return[i*pD,s*pD]}function AD(e){let{latitude:t}=e;Bu(Number.isFinite(t));let r=Math.cos(t*Fu);return JE(KE*r)-9}function Db(e){let t=Math.cos(e*Fu);return jy/KE/t}function Wy(e){let{latitude:t,longitude:r,highPrecision:i=!1}=e;Bu(Number.isFinite(t)&&Number.isFinite(r));let s=jy,n=Math.cos(t*Fu),o=s/360,c=o/n,f=s/KE/n,_={unitsPerMeter:[f,f,f],metersPerUnit:[1/f,1/f,1/f],unitsPerDegree:[o,c,f],degreesPerUnit:[1/o,1/c,1/f]};if(i){let w=Fu*Math.tan(t*Fu)/n,I=o*w/2,R=s/KE*w,N=R/c*f;_.unitsPerDegree2=[0,I,R],_.unitsPerMeter2=[N,0,N]}return _}function Ob(e,t){let[r,i,s]=e,[n,o,c]=t,{unitsPerMeter:f,unitsPerMeter2:_}=Wy({longitude:r,latitude:i,highPrecision:!0}),w=va(e);w[0]+=n*(f[0]+_[0]*o),w[1]+=o*(f[1]+_[1]*o);let I=oc(w),R=(s||0)+(c||0);return Number.isFinite(s)||Number.isFinite(c)?[I[0],I[1],R]:I}function tP(e){let{height:t,pitch:r,bearing:i,altitude:s,scale:n,center:o}=e,c=fD();ag(c,c,[0,0,-s]),WE(c,c,-r*Fu),HE(c,c,i*Fu);let f=n/t;return By(c,c,[f,f,f]),o&&ag(c,c,Gj([],o)),c}function mD(e){let{width:t,height:r,altitude:i,pitch:s=0,offset:n,center:o,scale:c,nearZMultiplier:f=1,farZMultiplier:_=1}=e,{fovy:w=cg(rG)}=e;i!==void 0&&(w=cg(i));let I=w*Fu,R=s*Fu,N=Bb(w),j=N;o&&(j+=o[2]*c/Math.cos(R)/r);let Q=I*(.5+(n?n[1]:0)/r),et=Math.sin(Q)*j/Math.sin(kb(Math.PI/2-R-Q,.01,Math.PI-.01)),Y=Math.sin(R)*et+j,K=j*10,J=Math.min(Y*_,K);return{fov:I,aspect:t/r,focalDistance:N,near:f,far:J}}function cg(e){return 2*Math.atan(.5/e)*pD}function Bb(e){return .5/Math.tan(.5*e*Fu)}function Hy(e,t){let[r,i,s=0]=e;return Bu(Number.isFinite(r)&&Number.isFinite(i)&&Number.isFinite(s)),JA(t,[r,i,s,1])}function Qf(e,t,r=0){let[i,s,n]=e;if(Bu(Number.isFinite(i)&&Number.isFinite(s),\"invalid pixel coordinate\"),Number.isFinite(n))return JA(t,[i,s,n,1]);let o=JA(t,[i,s,0,1]),c=JA(t,[i,s,1,1]),f=o[2],_=c[2],w=f===_?0:((r||0)-f)/(_-f);return kE([],o,c,w)}function Fb(e){let{width:t,height:r,bounds:i,minExtent:s=0,maxZoom:n=24,offset:o=[0,0]}=e,[[c,f],[_,w]]=i,I=plt(e.padding),R=va([c,kb(w,-Gy,Gy)]),N=va([_,kb(f,-Gy,Gy)]),j=[Math.max(Math.abs(N[0]-R[0]),s),Math.max(Math.abs(N[1]-R[1]),s)],Q=[t-I.left-I.right-Math.abs(o[0])*2,r-I.top-I.bottom-Math.abs(o[1])*2];Bu(Q[0]>0&&Q[1]>0);let et=Q[0]/j[0],Y=Q[1]/j[1],K=(I.right-I.left)/2/et,J=(I.top-I.bottom)/2/Y,ut=[(N[0]+R[0])/2+K,(N[1]+R[1])/2+J],Et=oc(ut),kt=Math.min(n,Vy(Math.abs(Math.min(et,Y))));return Bu(Number.isFinite(kt)),{longitude:Et[0],latitude:Et[1],zoom:kt}}function plt(e=0){return typeof e==\"number\"?{top:e,bottom:e,left:e,right:e}:(Bu(Number.isFinite(e.top)&&Number.isFinite(e.bottom)&&Number.isFinite(e.left)&&Number.isFinite(e.right)),e)}var iG=Math.PI/180;function zb(e,t=0){let{width:r,height:i,unproject:s}=e,n={targetZ:t},o=s([0,i],n),c=s([r,i],n),f,_,w=e.fovy?.5*e.fovy*iG:Math.atan(.5/e.altitude),I=(90-e.pitch)*iG;return w>I-.01?(f=nG(e,0,t),_=nG(e,r,t)):(f=s([0,0],n),_=s([r,0],n)),[o,c,_,f]}function nG(e,t,r){let{pixelUnprojectionMatrix:i}=e,s=JA(i,[t,0,1,1]),n=JA(i,[t,e.height,1,1]),c=(r*e.distanceScales.unitsPerMeter[2]-s[2])/(n[2]-s[2]),f=kE([],s,n,c),_=oc(f);return _.push(r),_}var sG=512;function eP(e){let{width:t,height:r,pitch:i=0}=e,{longitude:s,latitude:n,zoom:o,bearing:c=0}=e;(s<-180||s>180)&&(s=dD(s+180,360)-180),(c<-180||c>180)&&(c=dD(c+180,360)-180);let f=Vy(r/sG);if(o<=f)o=f,n=0;else{let _=r/2/Math.pow(2,o),w=oc([0,_])[1];if(nI&&(n=I)}}return{width:t,height:r,longitude:s,latitude:n,zoom:o,pitch:i,bearing:c}}var oG=.01,mlt=[\"longitude\",\"latitude\",\"zoom\"],aG={curve:1.414,speed:1.2};function rP(e,t,r,i){let{startZoom:s,startCenterXY:n,uDelta:o,w0:c,u1:f,S:_,rho:w,rho2:I,r0:R}=lG(e,t,i);if(fo?0:w}function lG(e,t,r){r=Object.assign({},aG,r);let i=r.curve,s=e.zoom,n=[e.longitude,e.latitude],o=Rb(s),c=t.zoom,f=[t.longitude,t.latitude],_=Rb(c-s),w=va(n),I=va(f),R=Nj([],I,w),N=Math.max(e.width,e.height),j=N/_,Q=Bj(R)*o,et=Math.max(Q,oG),Y=i*i,K=(j*j-N*N+Y*Y*et*et)/(2*N*Y*et),J=(j*j-N*N-Y*Y*et*et)/(2*j*Y*et),ut=Math.log(Math.sqrt(K*K+1)-K),Et=Math.log(Math.sqrt(J*J+1)-J),kt=(Et-ut)/i;return{startZoom:s,startCenterXY:w,uDelta:R,w0:N,u1:Q,S:kt,rho:i,rho2:Y,r0:ut,r1:Et}}var _lt=`\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n`,ylt=`\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n`,vlt=Yf(Tlt),xlt=Yf(Mlt),blt=[0,0,0,1],wlt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];function Slt(e,t){let[r,i,s]=e,n=Qf([r,i,s],t);return Number.isFinite(s)?n:[n[0],n[1],0]}function Tlt({viewport:e,center:t}){return new En(e.viewProjectionMatrix).invert().transform(t)}function Mlt({viewport:e,shadowMatrices:t}){let r=[],i=e.pixelUnprojectionMatrix,s=e.isGeospatial?void 0:1,n=[[0,0,s],[e.width,0,s],[0,e.height,s],[e.width,e.height,s],[0,0,-1],[e.width,0,-1],[0,e.height,-1],[e.width,e.height,-1]].map(o=>Slt(o,i));for(let o of t){let c=o.clone().translate(new Ve(e.center).negate()),f=n.map(w=>c.transform(w)),_=new En().ortho({left:Math.min(...f.map(w=>w[0])),right:Math.max(...f.map(w=>w[0])),bottom:Math.min(...f.map(w=>w[1])),top:Math.max(...f.map(w=>w[1])),near:Math.min(...f.map(w=>-w[2])),far:Math.max(...f.map(w=>-w[2]))});r.push(_.multiplyRight(o))}return r}function Elt(e,t){let{shadowEnabled:r=!0}=e;if(!r||!e.shadowMatrices||!e.shadowMatrices.length)return{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1};let i={shadow_uDrawShadowMap:!!e.drawToShadowMap,shadow_uUseShadowMap:e.shadowMaps?e.shadowMaps.length>0:!1,shadow_uColor:e.shadowColor||blt,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},s=vlt({viewport:e.viewport,center:t.project_uCenter}),n=[],o=xlt({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice();for(let c=0;c0?i[\"shadow_uShadowMap\".concat(c)]=e.shadowMaps[c]:i[\"shadow_uShadowMap\".concat(c)]=e.dummyShadowMap;return i}var Nb={name:\"shadow\",dependencies:[Vh],vs:_lt,fs:ylt,inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n position = shadow_setVertexPosition(geometry.position);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n color = shadow_filterShadowColor(color);\n `},getUniforms:(e={},t={})=>\"viewport\"in e&&(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0)?Elt(e,t):{}};var Plt={color:[255,255,255],intensity:1},cG=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ilt=[0,0,0,200/255],qy=class{constructor(t={}){G(this,\"id\",\"lighting-effect\"),G(this,\"props\",void 0),G(this,\"shadowColor\",Ilt),G(this,\"shadow\",void 0),G(this,\"ambientLight\",void 0),G(this,\"directionalLights\",void 0),G(this,\"pointLights\",void 0),G(this,\"shadowPasses\",[]),G(this,\"shadowMaps\",[]),G(this,\"dummyShadowMap\",null),G(this,\"programManager\",void 0),G(this,\"shadowMatrices\",void 0),this.setProps(t)}setProps(t){this.ambientLight=null,this.directionalLights=[],this.pointLights=[];for(let r in t){let i=t[r];switch(i.type){case\"ambient\":this.ambientLight=i;break;case\"directional\":this.directionalLights.push(i);break;case\"point\":this.pointLights.push(i);break;default:}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(r=>r.shadow),this.props=t}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o}){if(this.shadow){this.shadowMatrices=this._calculateMatrices(),this.shadowPasses.length===0&&this._createShadowPasses(t),this.programManager||(this.programManager=Uh.getDefaultProgramManager(t),Nb&&this.programManager.addDefaultModule(Nb)),this.dummyShadowMap||(this.dummyShadowMap=new pi(t,{width:1,height:1}));for(let c=0;ci.getProjectedLight({layer:t})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:t}))},r}cleanup(){for(let t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(Nb),this.programManager=null)}_calculateMatrices(){let t=[];for(let r of this.directionalLights){let i=new En().lookAt({eye:new Ve(r.direction).negate()});t.push(i)}return t}_createShadowPasses(t){for(let r=0;rs&&(n=s);let o=this._pool,c=t.BYTES_PER_ELEMENT*n,f=o.findIndex(_=>_.byteLength>=c);if(f>=0){let _=new t(o.splice(f,1)[0],0,n);return i&&_.fill(0),_}return new t(n)}_release(t){if(!ArrayBuffer.isView(t))return;let r=this._pool,{buffer:i}=t,{byteLength:s}=i,n=r.findIndex(o=>o.byteLength>=s);n<0?r.push(i):(n>0||r.lengththis.opts.poolSize&&r.shift()}},Gh=new _D;function Yy(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function hG(e){return[e[12],e[13],e[14]]}function fG(e){return{left:Zy(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:Zy(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:Zy(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:Zy(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:Zy(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:Zy(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}var uG=new Ve;function Zy(e,t,r,i){uG.set(e,t,r);let s=uG.len();return{distance:i/s,normal:new Ve(-e/s,-t/s,-r/s)}}function Clt(e){return e-Math.fround(e)}var Ub;function iP(e,t){let{size:r=1,startIndex:i=0}=t,s=t.endIndex!==void 0?t.endIndex:e.length,n=(s-i)/r;Ub=Gh.allocate(Ub,n,{type:Float32Array,size:r*2});let o=i,c=0;for(;osuper.render({target:o,layers:t,layerFilter:r,views:i,viewports:s,onViewportActive:n,cullRect:I,effects:R?.filter(ut=>ut.useInPicking),pass:N,isPicking:!0,moduleParameters:Q}));return this._colorEncoderState=null,{decodePickingColor:Y&&Flt.bind(null,Y),stats:K}}shouldDrawLayer(t){let{pickable:r,operation:i}=t.props;return r&&i.includes(\"draw\")||i.includes(\"terrain\")||i.includes(\"mask\")}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,r,i){let s={...t.props.parameters},{pickable:n,operation:o}=t.props;return this._colorEncoderState?n&&o.includes(\"draw\")&&(Object.assign(s,gG),s.blend=!0,s.blendColor=Blt(this._colorEncoderState,t,i)):s.blend=!1,o.includes(\"terrain\")&&(s.blend=!1),s}_resetColorEncoder(t){return this._colorEncoderState=t?null:{byLayer:new Map,byAlpha:[]},this._colorEncoderState}};function Blt(e,t,r){let{byLayer:i,byAlpha:s}=e,n,o=i.get(t);return o?(o.viewports.push(r),n=o.a):(n=i.size+1,n<=255?(o={a:n,layer:t,viewports:[r]},i.set(t,o),s[n]=o):(or.warn(\"Too many pickable layers, only picking the first 255\")(),n=0)),[0,0,0,n/255]}function Flt(e,t){let r=e.byAlpha[t[3]];return r&&{pickedLayer:r.layer,pickedViewports:r.viewports,pickedObjectIndex:r.layer.decodePickingColor(t)}}var tm={NO_STATE:\"Awaiting state\",MATCHED:\"Matched. State transferred from previous layer\",INITIALIZED:\"Initialized\",AWAITING_GC:\"Discarded. Awaiting garbage collection\",AWAITING_FINALIZATION:\"No longer matched. Awaiting garbage collection\",FINALIZED:\"Finalized! Awaiting garbage collection\"},Qy=Symbol.for(\"component\"),zu=Symbol.for(\"propTypes\"),nP=Symbol.for(\"deprecatedProps\"),sp=Symbol.for(\"asyncPropDefaults\"),$f=Symbol.for(\"asyncPropOriginal\"),Wh=Symbol.for(\"asyncPropResolved\");function op(e,t=()=>!0){return Array.isArray(e)?_G(e,t,[]):t(e)?[e]:[]}function _G(e,t,r){let i=-1;for(;++i0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,r){if(t===this._data&&!r)return;this._data=t;let i=++this._loadCount,s=t;typeof t==\"string\"&&(s=jA(t)),s instanceof Promise?(this.isLoaded=!1,this._loader=s.then(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=void 0,this._content=n)}).catch(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=n||!0)})):(this.isLoaded=!0,this._error=void 0,this._content=t);for(let n of this._subscribers)n.onChange(this.getData())}};var jb=class{constructor({gl:t,protocol:r}){G(this,\"protocol\",void 0),G(this,\"_context\",void 0),G(this,\"_resources\",void 0),G(this,\"_consumers\",void 0),G(this,\"_pruneRequest\",void 0),this.protocol=r||\"resource://\",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return t.startsWith(this.protocol)?!0:t in this._resources}add({resourceId:t,data:r,forceUpdate:i=!1,persistent:s=!0}){let n=this._resources[t];n?n.setData(r,i):(n=new Vb(t,r,this._context),this._resources[t]=n),n.persistent=s}remove(t){let r=this._resources[t];r&&(r.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){let r=this._consumers[t];if(r){for(let i in r){let s=r[i],n=this._resources[s.resourceId];n&&n.unsubscribe(s)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:r,consumerId:i,requestId:s=\"default\"}){let{_resources:n,protocol:o}=this;t.startsWith(o)&&(t=t.replace(o,\"\"),n[t]||this.add({resourceId:t,data:null,persistent:!1}));let c=n[t];if(this._track(i,s,c,r),c)return c.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(let t in this._resources)this._resources[t].delete()}_track(t,r,i,s){let n=this._consumers,o=n[t]=n[t]||{},c=o[r]||{},f=c.resourceId&&this._resources[c.resourceId];f&&(f.unsubscribe(c),this.prune()),i&&(o[r]=c,c.onChange=s,c.resourceId=i.id,i.subscribe(c))}_prune(){this._pruneRequest=null;for(let t of Object.keys(this._resources)){let r=this._resources[t];!r.persistent&&!r.inUse()&&(r.delete(),delete this._resources[t])}}};var zlt=`\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n mat3 rotation;\n if (project_needs_rotation(projectedPosition, rotation)) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n`,Rs={name:\"project32\",dependencies:[Vh],vs:zlt};var Ao={inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n // for picking depth values\n picking_setPickingAttribute(position.z / position.w);\n `,\"vs:DECKGL_FILTER_COLOR\":`\n picking_setPickingColor(geometry.pickingColor);\n `,\"fs:#decl\":`\nuniform bool picking_uAttribute;\n `,\"fs:DECKGL_FILTER_COLOR\":{order:99,injection:`\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n `}},...QE};var Nlt=[Vh],Ult=[\"vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)\",\"fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)\"];function yG(e){let t=Uh.getDefaultProgramManager(e);for(let r of Nlt)t.addDefaultModule(r);for(let r of Ult)t.addShaderHook(r);return t}var Vlt=\"layerManager.setLayers\",jlt=\"layerManager.activateViewport\",Gb=class{constructor(t,{deck:r,stats:i,viewport:s,timeline:n}={}){G(this,\"layers\",void 0),G(this,\"context\",void 0),G(this,\"resourceManager\",void 0),G(this,\"_lastRenderedLayers\",[]),G(this,\"_needsRedraw\",!1),G(this,\"_needsUpdate\",!1),G(this,\"_nextLayers\",null),G(this,\"_debug\",!1),G(this,\"activateViewport\",o=>{Ls(jlt,this,o),o&&(this.context.viewport=o)}),this.layers=[],this.resourceManager=new jb({gl:t,protocol:\"deck://\"}),this.context={mousePosition:null,userData:{},layerManager:this,gl:t,deck:r,programManager:t&&yG(t),stats:i||new Gf({id:\"deck.gl\"}),viewport:s||new ac({id:\"DEFAULT-INITIAL-VIEWPORT\"}),timeline:n||new KA,resourceManager:this.resourceManager,onError:void 0},Object.seal(this)}finalize(){this.resourceManager.finalize();for(let t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(let i of this.layers){let s=i.getNeedsRedraw(t);r=r||s}return r}needsUpdate(){return this._nextLayers&&this._nextLayers!==this._lastRenderedLayers?\"layers changed\":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t}={}){return t?this.layers.filter(r=>t.find(i=>r.id.indexOf(i)===0)):this.layers}setProps(t){\"debug\"in t&&(this._debug=t.debug),\"userData\"in t&&(this.context.userData=t.userData),\"layers\"in t&&(this._nextLayers=t.layers),\"onError\"in t&&(this.context.onError=t.onError)}setLayers(t,r){Ls(Vlt,this,r,t),this._lastRenderedLayers=t;let i=op(t,Boolean);for(let s of i)s.context=this.context;this._updateLayers(this.layers,i)}updateLayers(){let t=this.needsUpdate();t&&(this.setNeedsRedraw(\"updating layers: \".concat(t)),this.setLayers(this._nextLayers||this._lastRenderedLayers,t)),this._nextLayers=null}_handleError(t,r,i){i.raiseError(r,\"\".concat(t,\" of \").concat(i))}_updateLayers(t,r){let i={};for(let o of t)i[o.id]?or.warn(\"Multiple old layers with same id \".concat(o.id))():i[o.id]=o;let s=[];this._updateSublayersRecursively(r,i,s),this._finalizeOldLayers(i);let n=!1;for(let o of s)if(o.hasUniformTransition()){n=\"Uniform transition in \".concat(o);break}this._needsUpdate=n,this.layers=s}_updateSublayersRecursively(t,r,i){for(let s of t){s.context=this.context;let n=r[s.id];n===null&&or.warn(\"Multiple new layers with same id \".concat(s.id))(),r[s.id]=null;let o=null;try{this._debug&&n!==s&&s.validateProps(),n?(this._transferLayerState(n,s),this._updateLayer(s)):this._initializeLayer(s),i.push(s),o=s.isComposite?s.getSubLayers():null}catch(c){this._handleError(\"matching\",c,s)}o&&this._updateSublayersRecursively(o,r,i)}}_finalizeOldLayers(t){for(let r in t){let i=t[r];i&&this._finalizeLayer(i)}}_initializeLayer(t){try{t._initialize(),t.lifecycle=tm.INITIALIZED}catch(r){this._handleError(\"initialization\",r,t)}}_transferLayerState(t,r){r._transferState(t),r.lifecycle=tm.MATCHED,r!==t&&(t.lifecycle=tm.AWAITING_GC)}_updateLayer(t){try{t._update()}catch(r){this._handleError(\"update\",r,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||\"finalized \".concat(t),t.lifecycle=tm.AWAITING_FINALIZATION;try{t._finalize(),t.lifecycle=tm.FINALIZED}catch(r){this._handleError(\"finalization\",r,t)}}};function mo(e,t,r){if(e===t)return!0;if(!r||!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let i=0;ir.containsPixel(t)):this._viewports}getViews(){let t={};return this.views.forEach(r=>{t[r.id]=r}),t}getView(t){return this.views.find(r=>r.id===t)}getViewState(t){let r=typeof t==\"string\"?this.getView(t):t,i=r&&this.viewState[r.getViewStateId()]||this.viewState;return r?r.filterViewState(i):i}getViewport(t){return this._viewportMap[t]}unproject(t,r){let i=this.getViewports(),s={x:t[0],y:t[1]};for(let n=i.length-1;n>=0;--n){let o=i[n];if(o.containsPixel(s)){let c=t.slice();return c[0]-=o.x,c[1]-=o.y,o.unproject(c,r)}}return null}setProps(t){t.views&&this._setViews(t.views),t.viewState&&this._setViewState(t.viewState),(\"width\"in t||\"height\"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,r){(t!==this.width||r!==this.height)&&(this.width=t,this.height=r,this.setNeedsUpdate(\"Size changed\"))}_setViews(t){t=op(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate(\"views changed\"),this.views=t}_setViewState(t){t?(!mo(t,this.viewState,3)&&this.setNeedsUpdate(\"viewState changed\"),this.viewState=t):or.warn(\"missing `viewState` or `initialViewState`\")()}_onViewStateChange(t,r){this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange({...r,viewId:t})}_createController(t,r){let i=r.type;return new i({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,r.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:n=>{var o;return(o=this.getView(t.id))===null||o===void 0?void 0:o.makeViewport({viewState:n,width:this.width,height:this.height})}})}_updateController(t,r,i,s){let n=t.controller;if(n&&i){let o={...r,...n,id:t.id,x:i.x,y:i.y,width:i.width,height:i.height};return(!s||s.constructor!==n.type)&&(s=this._createController(t,o)),s&&s.setProps(o),s}return null}_rebuildViewports(){let{views:t}=this,r=this.controllers;this._viewports=[],this.controllers={};let i=!1;for(let s=t.length;s--;){let n=t[s],o=this.getViewState(n),c=n.makeViewport({viewState:o,width:this.width,height:this.height}),f=r[n.id],_=!!n.controller;_&&!f&&(i=!0),(i||!_)&&f&&(f.finalize(),f=null),this.controllers[n.id]=this._updateController(n,o,c,f),c&&this._viewports.unshift(c)}for(let s in r){let n=r[s];n&&!this.controllers[s]&&n.finalize()}this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,r){return t.length!==r.length?!0:t.some((i,s)=>!t[s].equals(r[s]))}};var Glt=/([0-9]+\\.?[0-9]*)(%|px)/;function ap(e){switch(typeof e){case\"number\":return{position:e,relative:!1};case\"string\":let t=Glt.exec(e);if(t&&t.length>=3){let r=t[2]===\"%\",i=parseFloat(t[1]);return{position:r?i/100:i,relative:r}}default:throw new Error(\"Could not parse position string \".concat(e))}}function lp(e,t){return e.relative?Math.round(e.position*t):e.position}function _r(e,t){if(!e)throw new Error(t||\"deck.gl: assertion failed.\")}var Xc=class{constructor(t){G(this,\"id\",void 0),G(this,\"viewportInstance\",void 0),G(this,\"_x\",void 0),G(this,\"_y\",void 0),G(this,\"_width\",void 0),G(this,\"_height\",void 0),G(this,\"_padding\",void 0),G(this,\"props\",void 0);let{id:r,x:i=0,y:s=0,width:n=\"100%\",height:o=\"100%\",padding:c=null,viewportInstance:f}=t||{};_r(!f||f instanceof ac),this.viewportInstance=f,this.id=r||this.constructor.displayName||\"view\",this.props={...t,id:this.id},this._x=ap(i),this._y=ap(s),this._width=ap(n),this._height=ap(o),this._padding=c&&{left:ap(c.left||0),right:ap(c.right||0),top:ap(c.top||0),bottom:ap(c.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t?!0:this.viewportInstance?t.viewportInstance?this.viewportInstance.equals(t.viewportInstance):!1:this.ViewportType===t.ViewportType&&mo(this.props,t.props,2)}makeViewport({width:t,height:r,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);let s=this.getDimensions({width:t,height:r});return!s.height||!s.width?null:new this.ViewportType({...i,...this.props,...s})}getViewStateId(){let{viewState:t}=this.props;return typeof t==\"string\"?t:t?.id||this.id}filterViewState(t){if(this.props.viewState&&typeof this.props.viewState==\"object\"){if(!this.props.viewState.id)return this.props.viewState;let r={...t};for(let i in this.props.viewState)i!==\"id\"&&(r[i]=this.props.viewState[i]);return r}return t}getDimensions({width:t,height:r}){let i={x:lp(this._x,t),y:lp(this._y,r),width:lp(this._width,t),height:lp(this._height,r)};return this._padding&&(i.padding={left:lp(this._padding.left,t),top:lp(this._padding.top,r),right:lp(this._padding.right,t),bottom:lp(this._padding.bottom,r)}),i}get controller(){let t=this.props.controller;return t?t===!0?{type:this.ControllerType}:typeof t==\"function\"?{type:t}:{type:this.ControllerType,...t}:null}};var Kc=class{constructor(t){G(this,\"_inProgress\",void 0),G(this,\"_handle\",void 0),G(this,\"_timeline\",void 0),G(this,\"time\",void 0),G(this,\"settings\",void 0),this._inProgress=!1,this._handle=null,this._timeline=t,this.time=0,this.settings={duration:0}}get inProgress(){return this._inProgress}start(t){var r,i;this.cancel(),this.settings=t,this._inProgress=!0,(r=(i=this.settings).onStart)===null||r===void 0||r.call(i,this)}end(){if(this._inProgress){var t,r;this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,(t=(r=this.settings).onEnd)===null||t===void 0||t.call(r,this)}}cancel(){if(this._inProgress){var t,r;(t=(r=this.settings).onInterrupt)===null||t===void 0||t.call(r,this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1}}update(){var t,r;if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:i,settings:s}=this;this._handle=i.addChannel({delay:i.getTime(),duration:s.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),(t=(r=this.settings).onUpdate)===null||t===void 0||t.call(r,this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var vG=()=>{},bD={BREAK:1,SNAP_TO_END:2,IGNORE:3},Wlt=e=>e,Hlt=bD.BREAK,Hb=class{constructor(t){G(this,\"getControllerState\",void 0),G(this,\"props\",void 0),G(this,\"propsInTransition\",void 0),G(this,\"transition\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"_onTransitionUpdate\",r=>{let{time:i,settings:{interpolator:s,startProps:n,endProps:o,duration:c,easing:f}}=r,_=f(i/c),w=s.interpolateProps(n,o,_);this.propsInTransition=this.getControllerState({...this.props,...w}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}),this.getControllerState=t.getControllerState,this.propsInTransition=null,this.transition=new Kc(t.timeline),this.onViewStateChange=t.onViewStateChange||vG,this.onStateChange=t.onStateChange||vG}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let r=!1,i=this.props;if(this.props=t,!i||this._shouldIgnoreViewportChange(i,t))return!1;if(this._isTransitionEnabled(t)){let s=i;if(this.transition.inProgress){let{interruption:n,endProps:o}=this.transition.settings;s={...i,...n===bD.SNAP_TO_END?o:this.propsInTransition||i}}this._triggerTransition(s,t),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(t){let{transitionDuration:r,transitionInterpolator:i}=t;return(r>0||r===\"auto\")&&!!i}_isUpdateDueToCurrentTransition(t){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition):!1}_shouldIgnoreViewportChange(t,r){return this.transition.inProgress?this.transition.settings.interruption===bD.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(t,r):!0}_triggerTransition(t,r){let i=this.getControllerState(t),s=this.getControllerState(r).shortestPathFrom(i),n=r.transitionInterpolator,o=n.getDuration?n.getDuration(t,r):r.transitionDuration;if(o===0)return;let c=n.initializeProps(t,s);this.propsInTransition={};let f={duration:o,easing:r.transitionEasing||Wlt,interpolator:n,interruption:r.transitionInterruption||Hlt,startProps:c.start,endProps:c.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(f),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t?.(r)}}};var hg=class{constructor(t){G(this,\"_propsToCompare\",void 0),G(this,\"_propsToExtract\",void 0),G(this,\"_requiredProps\",void 0);let{compare:r,extract:i,required:s}=t;this._propsToCompare=r,this._propsToExtract=i||r,this._requiredProps=s}arePropsEqual(t,r){for(let i of this._propsToCompare)if(!(i in t)||!(i in r)||!Ro(t[i],r[i]))return!1;return!0}initializeProps(t,r){let i={},s={};for(let n of this._propsToExtract)(n in t||n in r)&&(i[n]=t[n],s[n]=r[n]);return this._checkRequiredProps(i),this._checkRequiredProps(s),{start:i,end:s}}getDuration(t,r){return r.transitionDuration}_checkRequiredProps(t){this._requiredProps&&this._requiredProps.forEach(r=>{let i=t[r];_r(Number.isFinite(i)||Array.isArray(i),\"\".concat(r,\" is required for transition\"))})}};var qlt=[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\"],Zlt=[\"longitude\",\"latitude\",\"zoom\"],fg=class extends hg{constructor(t={}){let r=Array.isArray(t)?t:t.transitionProps,i=Array.isArray(t)?{}:t;i.transitionProps=Array.isArray(r)?{compare:r,required:r}:r||{compare:qlt,required:Zlt},super(i.transitionProps),G(this,\"opts\",void 0),this.opts=i}initializeProps(t,r){let i=super.initializeProps(t,r),{makeViewport:s,around:n}=this.opts;if(s&&n){let o=s(t),c=s(r),f=o.unproject(n);i.start.around=n,Object.assign(i.end,{around:c.project(f),aroundPosition:f,width:r.width,height:r.height})}return i}interpolateProps(t,r,i){let s={};for(let n of this._propsToExtract)s[n]=il(t[n]||0,r[n]||0,i);if(r.aroundPosition&&this.opts.makeViewport){let n=this.opts.makeViewport({...r,...s});Object.assign(s,n.panByPosition(r.aroundPosition,il(t.around,r.around,i)))}return s}};var em={transitionDuration:0},Ylt=300,sP=e=>1-(1-e)*(1-e),$y={WHEEL:[\"wheel\"],PAN:[\"panstart\",\"panmove\",\"panend\"],PINCH:[\"pinchstart\",\"pinchmove\",\"pinchend\"],TRIPLE_PAN:[\"tripanstart\",\"tripanmove\",\"tripanend\"],DOUBLE_TAP:[\"doubletap\"],KEYBOARD:[\"keydown\"]},dg={},qb=class{constructor(t){G(this,\"props\",void 0),G(this,\"state\",{}),G(this,\"transitionManager\",void 0),G(this,\"eventManager\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"makeViewport\",void 0),G(this,\"_controllerState\",void 0),G(this,\"_events\",{}),G(this,\"_interactionState\",{isDragging:!1}),G(this,\"_customEvents\",[]),G(this,\"_eventStartBlocked\",null),G(this,\"_panMove\",!1),G(this,\"invertPan\",!1),G(this,\"dragMode\",\"rotate\"),G(this,\"inertia\",0),G(this,\"scrollZoom\",!0),G(this,\"dragPan\",!0),G(this,\"dragRotate\",!0),G(this,\"doubleClickZoom\",!0),G(this,\"touchZoom\",!0),G(this,\"touchRotate\",!1),G(this,\"keyboard\",!0),this.transitionManager=new Hb({...t,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=t.eventManager,this.onViewStateChange=t.onViewStateChange||(()=>{}),this.onStateChange=t.onStateChange||(()=>{}),this.makeViewport=t.makeViewport}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.props&&this.setProps(this.props)}finalize(){for(let r in this._events)if(this._events[r]){var t;(t=this.eventManager)===null||t===void 0||t.off(r,this.handleEvent)}this.transitionManager.finalize()}handleEvent(t){this._controllerState=void 0;let r=this._eventStartBlocked;switch(t.type){case\"panstart\":return r?!1:this._onPanStart(t);case\"panmove\":return this._onPan(t);case\"panend\":return this._onPanEnd(t);case\"pinchstart\":return r?!1:this._onPinchStart(t);case\"pinchmove\":return this._onPinch(t);case\"pinchend\":return this._onPinchEnd(t);case\"tripanstart\":return r?!1:this._onTriplePanStart(t);case\"tripanmove\":return this._onTriplePan(t);case\"tripanend\":return this._onTriplePanEnd(t);case\"doubletap\":return this._onDoubleTap(t);case\"wheel\":return this._onWheel(t);case\"keydown\":return this._onKeyDown(t);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(t){let{x:r,y:i}=this.props,{offsetCenter:s}=t;return[s.x-r,s.y-i]}isPointInBounds(t,r){let{width:i,height:s}=this.props;if(r&&r.handled)return!1;let n=t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=s;return n&&r&&r.stopPropagation(),n}isFunctionKeyPressed(t){let{srcEvent:r}=t;return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(t){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=r}setProps(t){t.dragMode&&(this.dragMode=t.dragMode),this.props=t,\"transitionInterpolator\"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:r}=t;this.inertia=Number.isFinite(r)?r:r===!0?Ylt:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:n=!0,doubleClickZoom:o=!0,touchZoom:c=!0,touchRotate:f=!1,keyboard:_=!0}=t,w=!!this.onViewStateChange;this.toggleEvents($y.WHEEL,w&&i),this.toggleEvents($y.PAN,w),this.toggleEvents($y.PINCH,w&&(c||f)),this.toggleEvents($y.TRIPLE_PAN,w&&f),this.toggleEvents($y.DOUBLE_TAP,w&&o),this.toggleEvents($y.KEYBOARD,w&&_),this.scrollZoom=i,this.dragPan=s,this.dragRotate=n,this.doubleClickZoom=o,this.touchZoom=c,this.touchRotate=f,this.keyboard=_}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,r){this.eventManager&&t.forEach(i=>{this._events[i]!==r&&(this._events[i]=r,r?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(t,r=null,i={}){let s={...t.getViewportProps(),...r},n=this.controllerState!==t;if(this.state=t.getState(),this._setInteractionState(i),n){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:s,interactionState:this._interactionState,oldViewState:o})}}_onTransition(t){this.onViewStateChange({...t,interactionState:this._interactionState})}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange(this._interactionState)}_onPanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t)||t.rightButton||!1;(this.invertPan||this.dragMode===\"pan\")&&(i=!i);let s=this.controllerState[i?\"panStart\":\"rotateStart\"]({pos:r});return this._panMove=i,this.updateViewport(s,em,{isDragging:!0}),!0}_onPan(t){return this.isDragging()?this._panMove?this._onPanMove(t):this._onPanRotate(t):!1}_onPanEnd(t){return this.isDragging()?this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t):!1}_onPanMove(t){if(!this.dragPan)return!1;let r=this.getCenter(t),i=this.controllerState.pan({pos:r});return this.updateViewport(i,em,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){let{inertia:r}=this;if(this.dragPan&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.pan({pos:s}).panEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:!0})}else{let i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;let r=this.getCenter(t),i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){let{inertia:r}=this;if(this.dragRotate&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.rotate({pos:s}).rotateEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0})}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;t.srcEvent.preventDefault();let{speed:i=.01,smooth:s=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:n}=t,o=2/(1+Math.exp(-Math.abs(n*i)));n<0&&o!==0&&(o=1/o);let c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,{...this._getTransitionProps({around:r}),transitionDuration:s?250:1},{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.rotateStart({pos:r});return this.updateViewport(i,em,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(t);r[0]-=t.deltaX;let i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&t.velocityY){let i=this.getCenter(t),s=[i[0],i[1]+=t.velocityY*r/2],n=this.controllerState.rotate({pos:s});this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return dg._startPinchRotation=t.rotation,dg._lastPinchEvent=t,this.updateViewport(i,em,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:i}=t,s=this.getCenter(t);r=r.zoom({pos:s,scale:i})}if(this.touchRotate){let{rotation:i}=t;r=r.rotate({deltaAngleX:dg._startPinchRotation-i})}return this.updateViewport(r,em,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),dg._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:i}=dg;if(this.touchZoom&&r&&i&&t.scale!==i.scale){let s=this.getCenter(t),n=this.controllerState.rotateEnd(),o=Math.log2(t.scale),c=(o-Math.log2(i.scale))/(t.deltaTime-i.deltaTime),f=Math.pow(2,o+c*r/2);n=n.zoom({pos:s,scale:f}).zoomEnd(),this.updateViewport(n,{...this._getTransitionProps({around:s}),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let s=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(s,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return dg._startPinchRotation=null,dg._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t),s=this.controllerState.zoom({pos:r,scale:i?.5:2});return this.updateViewport(s,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(t),{zoomSpeed:i,moveSpeed:s,rotateSpeedX:n,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:c}=this,f,_={};switch(t.srcEvent.code){case\"Minus\":f=r?c.zoomOut(i).zoomOut(i):c.zoomOut(i),_.isZooming=!0;break;case\"Equal\":f=r?c.zoomIn(i).zoomIn(i):c.zoomIn(i),_.isZooming=!0;break;case\"ArrowLeft\":r?(f=c.rotateLeft(n),_.isRotating=!0):(f=c.moveLeft(s),_.isPanning=!0);break;case\"ArrowRight\":r?(f=c.rotateRight(n),_.isRotating=!0):(f=c.moveRight(s),_.isPanning=!0);break;case\"ArrowUp\":r?(f=c.rotateUp(o),_.isRotating=!0):(f=c.moveUp(s),_.isPanning=!0);break;case\"ArrowDown\":r?(f=c.rotateDown(o),_.isRotating=!0):(f=c.moveDown(s),_.isPanning=!0);break;default:return!1}return this.updateViewport(f,this._getTransitionProps(),_),!0}_getTransitionProps(t){let{transition:r}=this;return!r||!r.transitionInterpolator?em:t?{...r,transitionInterpolator:new fg({...t,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var Zb=class{constructor(t,r){G(this,\"_viewportProps\",void 0),G(this,\"_state\",void 0),this._viewportProps=this.applyConstraints(t),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var xG=5,Qlt=1.2,wD=class extends Zb{constructor(t){let{width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c=0,pitch:f=0,altitude:_=1.5,position:w=[0,0,0],maxZoom:I=20,minZoom:R=0,maxPitch:N=60,minPitch:j=0,startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut,normalize:Et=!0}=t;_r(Number.isFinite(n)),_r(Number.isFinite(s)),_r(Number.isFinite(o)),super({width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c,pitch:f,altitude:_,maxZoom:I,minZoom:R,maxPitch:N,minPitch:j,normalize:Et,position:w},{startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut}),G(this,\"makeViewport\",void 0),this.makeViewport=t.makeViewport}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:r}){let i=this.getState().startPanLngLat||this._unproject(r);if(!i)return this;let n=this.makeViewport(this.getViewportProps()).panByPosition(i,t);return this._getUpdatedState(n)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:t,deltaAngleX:r=0,deltaAngleY:i=0}){let{startRotatePos:s,startBearing:n,startPitch:o}=this.getState();if(!s||n===void 0||o===void 0)return this;let c;return t?c=this._getNewRotation(t,s,o,n):c={bearing:n+r,pitch:o+i},this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this.getViewportProps().zoom})}zoom({pos:t,startPos:r,scale:i}){let{startZoom:s,startZoomLngLat:n}=this.getState();if(n||(s=this.getViewportProps().zoom,n=this._unproject(r)||this._unproject(t)),!n)return this;let{maxZoom:o,minZoom:c}=this.getViewportProps(),f=s+Math.log2(i);f=Il(f,c,o);let _=this.makeViewport({...this.getViewportProps(),zoom:f});return this._getUpdatedState({zoom:f,..._.panByPosition(n,t)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-t})}shortestPathFrom(t){let r=t.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:n}=i;return Math.abs(s-r.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(n-r.longitude)>180&&(i.longitude=n<0?n+360:n-360),i}applyConstraints(t){let{maxZoom:r,minZoom:i,zoom:s}=t;t.zoom=Il(s,i,r);let{maxPitch:n,minPitch:o,pitch:c}=t;t.pitch=Il(c,o,n);let{normalize:f=!0}=t;return f&&Object.assign(t,eP(t)),t}_zoomFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.zoom({pos:[r/2,i/2],scale:t})}_panFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.pan({startPos:[r/2,i/2],pos:[r/2+t[0],i/2+t[1]]})}_getUpdatedState(t){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...t})}_unproject(t){let r=this.makeViewport(this.getViewportProps());return t&&r.unproject(t)}_getNewRotation(t,r,i,s){let n=t[0]-r[0],o=t[1]-r[1],c=t[1],f=r[1],{width:_,height:w}=this.getViewportProps(),I=n/_,R=0;o>0?Math.abs(w-f)>xG&&(R=o/(f-w)*Qlt):o<0&&f>xG&&(R=1-c/f),R=Il(R,-1,1);let{minPitch:N,maxPitch:j}=this.getViewportProps(),Q=s+180*I,et=i;return R>0?et=i+R*(j-i):R<0&&(et=i-R*(N-i)),{pitch:et,bearing:Q}}},Yb=class extends qb{constructor(...t){super(...t),G(this,\"ControllerState\",wD),G(this,\"transition\",{transitionDuration:300,transitionInterpolator:new fg({transitionProps:{compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"longitude\",\"latitude\",\"zoom\"]}})}),G(this,\"dragMode\",\"pan\")}setProps(t){t.position=t.position||[0,0,0];let r=this.props;super.setProps(t),(!r||r.height!==t.height)&&this.updateViewport(new this.ControllerState({makeViewport:this.makeViewport,...t,...this.state}))}};var Xy=class extends Xc{get ViewportType(){return lc}get ControllerType(){return Yb}};G(Xy,\"displayName\",\"MapView\");var $lt=new qy;function Xlt(e,t){var r,i;let s=(r=e.order)!==null&&r!==void 0?r:1/0,n=(i=t.order)!==null&&i!==void 0?i:1/0;return s-n}var Qb=class{constructor(){G(this,\"effects\",void 0),G(this,\"_resolvedEffects\",[]),G(this,\"_defaultEffects\",[]),G(this,\"_needsRedraw\",void 0),this.effects=[],this._needsRedraw=\"Initial render\",this._setEffects([])}addDefaultEffect(t){let r=this._defaultEffects;if(!r.find(i=>i.id===t.id)){let i=r.findIndex(s=>Xlt(s,t)>0);i<0?r.push(t):r.splice(i,0,t),this._setEffects(this.effects)}}setProps(t){\"effects\"in t&&(mo(t.effects,this.effects,1)||this._setEffects(t.effects))}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}getEffects(){return this._resolvedEffects}_setEffects(t){let r={};for(let s of this.effects)r[s.id]=s;let i=[];for(let s of t){let n=r[s.id];n&&n!==s?n.setProps?(n.setProps(s.props),i.push(n)):(n.cleanup(),i.push(s)):i.push(s),delete r[s.id]}for(let s in r)r[s].cleanup();this.effects=i,this._resolvedEffects=i.concat(this._defaultEffects),t.some(s=>s instanceof qy)||this._resolvedEffects.push($lt),this._needsRedraw=\"effects changed\"}finalize(){for(let t of this._resolvedEffects)t.cleanup();this.effects.length=0,this._resolvedEffects.length=0,this._defaultEffects.length=0}};var $b=class extends sc{shouldDrawLayer(t){let{operation:r}=t.props;return r.includes(\"draw\")||r.includes(\"terrain\")}};var Klt=\"deckRenderer.renderLayers\",Xb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"layerFilter\",void 0),G(this,\"drawPickingColors\",void 0),G(this,\"drawLayersPass\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"renderCount\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"renderBuffers\",void 0),G(this,\"lastPostProcessEffect\",void 0),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $b(t),this.pickLayersPass=new ug(t),this.renderCount=0,this._needsRedraw=\"Initial render\",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw=\"layerFilter changed\"),this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw=\"drawPickingColors changed\")}renderLayers(t){if(!t.viewports.length)return;let r=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass,i={layerFilter:this.layerFilter,isPicking:this.drawPickingColors,...t,target:t.target||yi.getDefaultFramebuffer(this.gl)};i.effects&&this._preRender(i.effects,i);let s=this.lastPostProcessEffect?this.renderBuffers[0]:i.target,n=r.render({...i,target:s});i.effects&&this._postRender(i.effects,i),this.renderCount++,Ls(Klt,this,n,t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}finalize(){let{renderBuffers:t}=this;for(let r of t)r.delete();t.length=0}_preRender(t,r){this.lastPostProcessEffect=null,r.preRenderStats=r.preRenderStats||{};for(let i of t)r.preRenderStats[i.id]=i.preRender(this.gl,r),i.postRender&&(this.lastPostProcessEffect=i.id);this.lastPostProcessEffect&&this._resizeRenderBuffers()}_resizeRenderBuffers(){let{renderBuffers:t}=this;t.length===0&&t.push(new yi(this.gl),new yi(this.gl));for(let r of t)r.resize()}_postRender(t,r){let{renderBuffers:i}=this,s={...r,inputBuffer:i[0],swapBuffer:i[1],target:null};for(let n of t)if(n.postRender){if(n.id===this.lastPostProcessEffect){s.target=r.target,n.postRender(this.gl,s);break}let o=n.postRender(this.gl,s);s.inputBuffer=o,s.swapBuffer=o===i[0]?i[1]:i[0]}}};var Jlt={pickedColor:null,pickedObjectIndex:-1};function bG({pickedColors:e,decodePickingColor:t,deviceX:r,deviceY:i,deviceRadius:s,deviceRect:n}){let{x:o,y:c,width:f,height:_}=n,w=s*s,I=-1,R=0;for(let N=0;N<_;N++){let j=N+c-i,Q=j*j;if(Q>w)R+=4*f;else for(let et=0;et=0){let K=et+o-r,J=K*K+Q;J<=w&&(w=J,I=R)}R+=4}}if(I>=0){let N=e.slice(I,I+4),j=t(N);if(j){let Q=Math.floor(I/4/f),et=I/4-Q*f;return{...j,pickedColor:N,pickedX:o+et,pickedY:c+Q}}or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}return Jlt}function wG({pickedColors:e,decodePickingColor:t}){let r=new Map;if(e){for(let i=0;i=0){let n=e.slice(i,i+4),o=n.join(\",\");if(!r.has(o)){let c=t(n);c?r.set(o,{...c,color:n}):or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}}}return Array.from(r.values())}function SD({pickInfo:e,viewports:t,pixelRatio:r,x:i,y:s,z:n}){let o=t[0];t.length>1&&(o=tct(e?.pickedViewports||t,{x:i,y:s}));let c;if(o){let f=[i-o.x,s-o.y];n!==void 0&&(f[2]=n),c=o.unproject(f)}return{color:null,layer:null,viewport:o,index:-1,picked:!1,x:i,y:s,pixel:[i,s],coordinate:c,devicePixel:e&&\"pickedX\"in e?[e.pickedX,e.pickedY]:void 0,pixelRatio:r}}function SG(e){let{pickInfo:t,lastPickedInfo:r,mode:i,layers:s}=e,{pickedColor:n,pickedLayer:o,pickedObjectIndex:c}=t,f=o?[o]:[];if(i===\"hover\"){let I=r.index,R=r.layerId,N=o?o.props.id:null;if(N!==R||c!==I){if(N!==R){let j=s.find(Q=>Q.props.id===R);j&&f.unshift(j)}r.layerId=N,r.index=c,r.info=null}}let _=SD(e),w=new Map;return w.set(null,_),f.forEach(I=>{let R={..._};I===o&&(R.color=n,R.index=c,R.picked=!0),R=TD({layer:I,info:R,mode:i});let N=R.layer;I===o&&i===\"hover\"&&(r.info=R),w.set(N.id,R),i===\"hover\"&&N.updateAutoHighlight(R)}),w}function TD({layer:e,info:t,mode:r}){for(;e&&t;){let i=t.layer||null;t.sourceLayer=i,t.layer=e,t=e.getPickingInfo({info:t,mode:r,sourceLayer:i}),e=e.parent}return t}function tct(e,t){for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.containsPixel(t))return i}return e[0]}var Kb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"pickingFBO\",void 0),G(this,\"depthFBO\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"layerFilter\",void 0),G(this,\"lastPickedInfo\",void 0),G(this,\"_pickable\",!0),this.gl=t,this.pickLayersPass=new ug(t),this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){\"layerFilter\"in t&&(this.layerFilter=t.layerFilter),\"_pickable\"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:r,layers:i,viewports:s},n=this.lastPickedInfo.info){let o=n&&n.layer&&n.layer.id,c=n&&n.viewport&&n.viewport.id,f=o?i.find(R=>R.id===o):null,_=c&&s.find(R=>R.id===c)||s[0],w=_&&_.unproject([t-_.x,r-_.y]);return{...n,...{x:t,y:r,viewport:_,coordinate:w,layer:f}}}_resizeBuffer(){var t,r;let{gl:i}=this;if(!this.pickingFBO&&(this.pickingFBO=new yi(i),yi.isSupported(i,{colorBufferFloat:!0}))){let s=new yi(i);s.attach({36064:new pi(i,{format:fr(i)?34836:6408,type:5126})}),this.depthFBO=s}(t=this.pickingFBO)===null||t===void 0||t.resize({width:i.canvas.width,height:i.canvas.height}),(r=this.depthFBO)===null||r===void 0||r.resize({width:i.canvas.width,height:i.canvas.height})}_getPickable(t){if(this._pickable===!1)return null;let r=t.filter(i=>this.pickLayersPass.shouldDrawLayer(i)&&!i.isComposite);return r.length?r:null}_pickClosestObject({layers:t,views:r,viewports:i,x:s,y:n,radius:o=0,depth:c=1,mode:f=\"query\",unproject3D:_,onViewportActive:w,effects:I}){let R=this._getPickable(t),N=El(this.gl);if(!R)return{result:[],emptyInfo:SD({viewports:i,x:s,y:n,pixelRatio:N})};this._resizeBuffer();let j=Sy(this.gl,[s,n],!0),Q=[j.x+Math.floor(j.width/2),j.y+Math.floor(j.height/2)],et=Math.round(o*N),{width:Y,height:K}=this.pickingFBO,J=this._getPickingRect({deviceX:Q[0],deviceY:Q[1],deviceRadius:et,deviceWidth:Y,deviceHeight:K}),ut={x:s-o,y:n-o,width:o*2+1,height:o*2+1},Et,kt=[],Xt=new Set;for(let qt=0;qt=_)break;let De=kt[ue],Ke={color:De.pickedColor,layer:null,index:De.pickedObjectIndex,picked:!0,x:s,y:n,pixelRatio:N};Ke=TD({layer:De.pickedLayer,info:Ke,mode:f});let rr=(le=Ke.object)!==null&&le!==void 0?le:\"\".concat(Ke.layer.id,\"[\").concat(Ke.index,\"]\");Xt.has(rr)||Xt.set(rr,Ke)}return Array.from(Xt.values())}_drawAndSample({layers:t,views:r,viewports:i,onViewportActive:s,deviceRect:n,cullRect:o,effects:c,pass:f},_=!1){let w=_?this.depthFBO:this.pickingFBO,I={layers:t,layerFilter:this.layerFilter,views:r,viewports:i,onViewportActive:s,pickingFBO:w,deviceRect:n,cullRect:o,effects:c,pass:f,pickZ:_,preRenderStats:{}};for(let K of c)K.useInPicking&&(I.preRenderStats[K.id]=K.preRender(this.gl,I));let{decodePickingColor:R}=this.pickLayersPass.render(I),{x:N,y:j,width:Q,height:et}=n,Y=new(_?Float32Array:Uint8Array)(Q*et*4);return Dh(w,{sourceX:N,sourceY:j,sourceWidth:Q,sourceHeight:et,target:Y}),{pickedColors:Y,decodePickingColor:R}}_getPickingRect({deviceX:t,deviceY:r,deviceRadius:i,deviceWidth:s,deviceHeight:n}){let o=Math.max(0,t-i),c=Math.max(0,r-i),f=Math.min(s,t+i+1)-o,_=Math.min(n,r+i+1)-c;return f<=0||_<=0?null:{x:o,y:c,width:f,height:_}}};var ect={zIndex:\"1\",position:\"absolute\",pointerEvents:\"none\",color:\"#a0a7b4\",backgroundColor:\"#29323c\",padding:\"10px\",top:\"0\",left:\"0\",display:\"none\"},Jb=class{constructor(t){G(this,\"el\",null),G(this,\"isVisible\",!1);let r=t.parentElement;r&&(this.el=document.createElement(\"div\"),this.el.className=\"deck-tooltip\",Object.assign(this.el.style,ect),r.appendChild(this.el))}setTooltip(t,r,i){let s=this.el;if(s){if(typeof t==\"string\")s.innerText=t;else if(t)t.text&&(s.innerText=t.text),t.html&&(s.innerHTML=t.html),t.className&&(s.className=t.className);else{this.isVisible=!1,s.style.display=\"none\";return}this.isVisible=!0,s.style.display=\"block\",s.style.transform=\"translate(\".concat(r,\"px, \").concat(i,\"px)\"),t&&typeof t==\"object\"&&\"style\"in t&&Object.assign(s.style,t.style)}}remove(){this.el&&(this.el.remove(),this.el=null)}};var pg=Ri(TG());var rct={mousedown:1,mousemove:2,mouseup:4};function ict(e,t){for(let r=0;r0&&i.type===\"pointerdown\"&&(ict(s,n=>n.pointerId===i.pointerId)||s.push(i)),t.call(this,i)}}function EG(e){e.prototype.handler=function(r){let i=rct[r.type];i&1&&r.button>=0&&(this.pressed=!0),i&2&&r.which===0&&(i=4),this.pressed&&(i&4&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[r],changedPointers:[r],pointerType:\"mouse\",srcEvent:r}))}}MG(pg.PointerEventInput);EG(pg.MouseInput);var PG=pg.Manager,Hh=pg;var qh=class{constructor(t,r,i){this.element=t,this.callback=r,this.options={enable:!0,...i}}};var IG=Hh?[[Hh.Pan,{event:\"tripan\",pointers:3,threshold:0,enable:!1}],[Hh.Rotate,{enable:!1}],[Hh.Pinch,{enable:!1}],[Hh.Swipe,{enable:!1}],[Hh.Pan,{threshold:0,enable:!1}],[Hh.Press,{enable:!1}],[Hh.Tap,{event:\"doubletap\",taps:2,enable:!1}],[Hh.Tap,{event:\"anytap\",enable:!1}],[Hh.Tap,{enable:!1}]]:null,MD={tripan:[\"rotate\",\"pinch\",\"pan\"],rotate:[\"pinch\"],pinch:[\"pan\"],pan:[\"press\",\"doubletap\",\"anytap\",\"tap\"],doubletap:[\"anytap\"],anytap:[\"tap\"]},CG={doubletap:[\"tap\"]},LG={pointerdown:\"pointerdown\",pointermove:\"pointermove\",pointerup:\"pointerup\",touchstart:\"pointerdown\",touchmove:\"pointermove\",touchend:\"pointerup\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\"},Ky={KEY_EVENTS:[\"keydown\",\"keyup\"],MOUSE_EVENTS:[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseover\",\"mouseout\",\"mouseleave\"],WHEEL_EVENTS:[\"wheel\",\"mousewheel\"]},kG={tap:\"tap\",anytap:\"anytap\",doubletap:\"doubletap\",press:\"press\",pinch:\"pinch\",pinchin:\"pinch\",pinchout:\"pinch\",pinchstart:\"pinch\",pinchmove:\"pinch\",pinchend:\"pinch\",pinchcancel:\"pinch\",rotate:\"rotate\",rotatestart:\"rotate\",rotatemove:\"rotate\",rotateend:\"rotate\",rotatecancel:\"rotate\",tripan:\"tripan\",tripanstart:\"tripan\",tripanmove:\"tripan\",tripanup:\"tripan\",tripandown:\"tripan\",tripanleft:\"tripan\",tripanright:\"tripan\",tripanend:\"tripan\",tripancancel:\"tripan\",pan:\"pan\",panstart:\"pan\",panmove:\"pan\",panup:\"pan\",pandown:\"pan\",panleft:\"pan\",panright:\"pan\",panend:\"pan\",pancancel:\"pan\",swipe:\"swipe\",swipeleft:\"swipe\",swiperight:\"swipe\",swipeup:\"swipe\",swipedown:\"swipe\"},ED={click:\"tap\",anyclick:\"anytap\",dblclick:\"doubletap\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\",mouseover:\"pointerover\",mouseout:\"pointerout\",mouseleave:\"pointerleave\"};var RG=typeof navigator<\"u\"&&navigator.userAgent?navigator.userAgent.toLowerCase():\"\",Ag=typeof window<\"u\"?window:global;var aP=!1;try{let e={get passive(){return aP=!0,!0}};Ag.addEventListener(\"test\",null,e),Ag.removeEventListener(\"test\",null)}catch{aP=!1}var nct=RG.indexOf(\"firefox\")!==-1,{WHEEL_EVENTS:sct}=Ky,DG=\"wheel\",OG=4.000244140625,oct=40,act=.25,tw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{if(!this.options.enable)return;let n=s.deltaY;Ag.WheelEvent&&(nct&&s.deltaMode===Ag.WheelEvent.DOM_DELTA_PIXEL&&(n/=Ag.devicePixelRatio),s.deltaMode===Ag.WheelEvent.DOM_DELTA_LINE&&(n*=oct)),n!==0&&n%OG===0&&(n=Math.floor(n/OG)),s.shiftKey&&n&&(n=n*act),this.callback({type:DG,center:{x:s.clientX,y:s.clientY},delta:-n,srcEvent:s,pointerType:\"mouse\",target:s.target})},this.events=(this.options.events||[]).concat(sct),this.events.forEach(s=>t.addEventListener(s,this.handleEvent,aP?{passive:!1}:!1))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===DG&&(this.options.enable=r)}};var{MOUSE_EVENTS:lct}=Ky,BG=\"pointermove\",FG=\"pointerover\",zG=\"pointerout\",NG=\"pointerenter\",UG=\"pointerleave\",ew=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=n=>{this.handleOverEvent(n),this.handleOutEvent(n),this.handleEnterEvent(n),this.handleLeaveEvent(n),this.handleMoveEvent(n)},this.pressed=!1;let{enable:s}=this.options;this.enableMoveEvent=s,this.enableLeaveEvent=s,this.enableEnterEvent=s,this.enableOutEvent=s,this.enableOverEvent=s,this.events=(this.options.events||[]).concat(lct),this.events.forEach(n=>t.addEventListener(n,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===BG&&(this.enableMoveEvent=r),t===FG&&(this.enableOverEvent=r),t===zG&&(this.enableOutEvent=r),t===NG&&(this.enableEnterEvent=r),t===UG&&(this.enableLeaveEvent=r)}handleOverEvent(t){this.enableOverEvent&&t.type===\"mouseover\"&&this._emit(FG,t)}handleOutEvent(t){this.enableOutEvent&&t.type===\"mouseout\"&&this._emit(zG,t)}handleEnterEvent(t){this.enableEnterEvent&&t.type===\"mouseenter\"&&this._emit(NG,t)}handleLeaveEvent(t){this.enableLeaveEvent&&t.type===\"mouseleave\"&&this._emit(UG,t)}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case\"mousedown\":t.button>=0&&(this.pressed=!0);break;case\"mousemove\":t.which===0&&(this.pressed=!1),this.pressed||this._emit(BG,t);break;case\"mouseup\":this.pressed=!1;break;default:}}_emit(t,r){this.callback({type:t,center:{x:r.clientX,y:r.clientY},srcEvent:r,pointerType:\"mouse\",target:r.target})}};var{KEY_EVENTS:cct}=Ky,VG=\"keydown\",jG=\"keyup\",rw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{let n=s.target||s.srcElement;n.tagName===\"INPUT\"&&n.type===\"text\"||n.tagName===\"TEXTAREA\"||(this.enableDownEvent&&s.type===\"keydown\"&&this.callback({type:VG,srcEvent:s,key:s.key,target:s.target}),this.enableUpEvent&&s.type===\"keyup\"&&this.callback({type:jG,srcEvent:s,key:s.key,target:s.target}))},this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=(this.options.events||[]).concat(cct),t.tabIndex=this.options.tabIndex||0,t.style.outline=\"none\",this.events.forEach(s=>t.addEventListener(s,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===VG&&(this.enableDownEvent=r),t===jG&&(this.enableUpEvent=r)}};var GG=\"contextmenu\",iw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{this.options.enable&&this.callback({type:GG,center:{x:s.clientX,y:s.clientY},srcEvent:s,pointerType:\"mouse\",target:s.target})},t.addEventListener(\"contextmenu\",this.handleEvent)}destroy(){this.element.removeEventListener(\"contextmenu\",this.handleEvent)}enableEventType(t,r){t===GG&&(this.options.enable=r)}};var uct={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},hct=1,fct=2,dct=3,pct=0,Act=1,mct=2,gct=1,_ct=2,yct=4;function WG(e){let t=uct[e.srcEvent.type];if(!t)return null;let{buttons:r,button:i,which:s}=e.srcEvent,n=!1,o=!1,c=!1;return t===4||t===2&&!Number.isFinite(r)?(n=s===hct,o=s===fct,c=s===dct):t===2?(n=!!(r&gct),o=!!(r&yct),c=!!(r&_ct)):t===1&&(n=i===pct,o=i===Act,c=i===mct),{leftButton:n,middleButton:o,rightButton:c}}function HG(e,t){let r=e.center;if(!r)return null;let i=t.getBoundingClientRect(),s=i.width/t.offsetWidth||1,n=i.height/t.offsetHeight||1,o={x:(r.x-i.left-t.clientLeft)/s,y:(r.y-i.top-t.clientTop)/n};return{center:r,offsetCenter:o}}var PD={srcElement:\"root\",priority:0},nw=class{constructor(t){this.handleEvent=r=>{if(this.isEmpty())return;let i=this._normalizeEvent(r),s=r.srcEvent.target;for(;s&&s!==i.rootElement;){if(this._emit(i,s),i.handled)return;s=s.parentNode}this._emit(i,\"root\")},this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this._active=!1}isEmpty(){return!this._active}add(t,r,i,s=!1,n=!1){let{handlers:o,handlersByElement:c}=this,f=PD;typeof i==\"string\"||i&&i.addEventListener?f={...PD,srcElement:i}:i&&(f={...PD,...i});let _=c.get(f.srcElement);_||(_=[],c.set(f.srcElement,_));let w={type:t,handler:r,srcElement:f.srcElement,priority:f.priority};s&&(w.once=!0),n&&(w.passive=!0),o.push(w),this._active=this._active||!w.passive;let I=_.length-1;for(;I>=0&&!(_[I].priority>=w.priority);)I--;_.splice(I+1,0,w)}remove(t,r){let{handlers:i,handlersByElement:s}=this;for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.type===t&&o.handler===r){i.splice(n,1);let c=s.get(o.srcElement);c.splice(c.indexOf(o),1),c.length===0&&s.delete(o.srcElement)}}this._active=i.some(n=>!n.passive)}_emit(t,r){let i=this.handlersByElement.get(r);if(i){let s=!1,n=()=>{t.handled=!0},o=()=>{t.handled=!0,s=!0},c=[];for(let f=0;f{t.srcEvent.preventDefault()},stopImmediatePropagation:null,stopPropagation:null,handled:!1,rootElement:r}}};var vct={events:null,recognizers:null,recognizerOptions:{},Manager:PG,touchAction:\"none\",tabIndex:0},Jy=class{constructor(t=null,r){this._onBasicInput=s=>{let{srcEvent:n}=s,o=LG[n.type];o&&this.manager.emit(o,s)},this._onOtherEvent=s=>{this.manager.emit(s.type,s)},this.options={...vct,...r},this.events=new Map,this.setElement(t);let{events:i}=this.options;i&&this.on(i)}getElement(){return this.element}setElement(t){if(this.element&&this.destroy(),this.element=t,!t)return;let{options:r}=this,i=r.Manager;this.manager=new i(t,{touchAction:r.touchAction,recognizers:r.recognizers||IG}).on(\"hammer.input\",this._onBasicInput),r.recognizers||Object.keys(MD).forEach(s=>{let n=this.manager.get(s);n&&MD[s].forEach(o=>{n.recognizeWith(o)})});for(let s in r.recognizerOptions){let n=this.manager.get(s);if(n){let o=r.recognizerOptions[s];delete o.enable,n.set(o)}}this.wheelInput=new tw(t,this._onOtherEvent,{enable:!1}),this.moveInput=new ew(t,this._onOtherEvent,{enable:!1}),this.keyInput=new rw(t,this._onOtherEvent,{enable:!1,tabIndex:r.tabIndex}),this.contextmenuInput=new iw(t,this._onOtherEvent,{enable:!1});for(let[s,n]of this.events)n.isEmpty()||(this._toggleRecognizer(n.recognizerName,!0),this.manager.on(s,n.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,r,i){this._addEventHandler(t,r,i,!1)}once(t,r,i){this._addEventHandler(t,r,i,!0)}watch(t,r,i){this._addEventHandler(t,r,i,!1,!0)}off(t,r){this._removeEventHandler(t,r)}_toggleRecognizer(t,r){let{manager:i}=this;if(!i)return;let s=i.get(t);if(s&&s.options.enable!==r){s.set({enable:r});let n=CG[t];n&&!this.options.recognizers&&n.forEach(o=>{let c=i.get(o);r?(c.requireFailure(t),s.dropRequireFailure(o)):c.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,r),this.moveInput.enableEventType(t,r),this.keyInput.enableEventType(t,r),this.contextmenuInput.enableEventType(t,r)}_addEventHandler(t,r,i,s,n){if(typeof t!=\"string\"){i=r;for(let w in t)this._addEventHandler(w,t[w],i,s,n);return}let{manager:o,events:c}=this,f=ED[t]||t,_=c.get(f);_||(_=new nw(this),c.set(f,_),_.recognizerName=kG[f]||f,o&&o.on(f,_.handleEvent)),_.add(t,r,i,s,n),_.isEmpty()||this._toggleRecognizer(_.recognizerName,!0)}_removeEventHandler(t,r){if(typeof t!=\"string\"){for(let o in t)this._removeEventHandler(o,t[o]);return}let{events:i}=this,s=ED[t]||t,n=i.get(s);if(n&&(n.remove(t,r),n.isEmpty())){let{recognizerName:o}=n,c=!1;for(let f of i.values())if(f.recognizerName===o&&!f.isEmpty()){c=!0;break}c||this._toggleRecognizer(o,!1)}}};function mg(){}var xct=({isDragging:e})=>e?\"grabbing\":\"grab\",qG={id:\"\",width:\"100%\",height:\"100%\",style:null,viewState:null,initialViewState:null,pickingRadius:0,layerFilter:null,glOptions:{},parameters:{},parent:null,gl:null,canvas:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:\"none\",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},_customRender:null,onWebGLInitialized:mg,onResize:mg,onViewStateChange:mg,onInteractionStateChange:mg,onBeforeRender:mg,onAfterRender:mg,onLoad:mg,onError:e=>or.error(e.message,e.cause)(),onHover:null,onClick:null,onDragStart:null,onDrag:null,onDragEnd:null,_onMetrics:null,getCursor:xct,getTooltip:null,debug:!1,drawPickingColors:!1},cp=class{constructor(t){G(this,\"props\",void 0),G(this,\"width\",0),G(this,\"height\",0),G(this,\"userData\",{}),G(this,\"canvas\",null),G(this,\"viewManager\",null),G(this,\"layerManager\",null),G(this,\"effectManager\",null),G(this,\"deckRenderer\",null),G(this,\"deckPicker\",null),G(this,\"eventManager\",null),G(this,\"tooltip\",null),G(this,\"metrics\",void 0),G(this,\"animationLoop\",void 0),G(this,\"stats\",void 0),G(this,\"viewState\",void 0),G(this,\"cursorState\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"_pickRequest\",void 0),G(this,\"_lastPointerDownInfo\",null),G(this,\"_metricsCounter\",void 0),G(this,\"_onPointerMove\",r=>{let{_pickRequest:i}=this;if(r.type===\"pointerleave\")i.x=-1,i.y=-1,i.radius=0;else{if(r.leftButton||r.rightButton)return;{let s=r.offsetCenter;if(!s)return;i.x=s.x,i.y=s.y,i.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:i.x,y:i.y}),i.event=r}),G(this,\"_onEvent\",r=>{let i=nR[r.type],s=r.offsetCenter;if(!i||!s||!this.layerManager)return;let n=this.layerManager.getLayers(),o=this.deckPicker.getLastPickedObject({x:s.x,y:s.y,layers:n,viewports:this.getViewports(s)},this._lastPointerDownInfo),{layer:c}=o,f=c&&(c[i.handler]||c.props[i.handler]),_=this.props[i.handler],w=!1;f&&(w=f.call(c,o,r)),!w&&_&&_(o,r)}),G(this,\"_onPointerDown\",r=>{let i=r.offsetCenter,s=this._pick(\"pickObject\",\"pickObject Time\",{x:i.x,y:i.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=s.result[0]||s.emptyInfo}),this.props={...qG,...t},t=this.props,this._needsRedraw=\"Initial render\",this._pickRequest={mode:\"hover\",x:-1,y:-1,radius:0,event:null},this.cursorState={isHovering:!1,isDragging:!1},t.viewState&&t.initialViewState&&or.warn(\"View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.\")(),vy()===\"IE\"&&or.warn(\"IE 11 is not supported\")(),this.viewState=t.initialViewState,t.gl||typeof document<\"u\"&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gf({id:\"deck.gl\"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&Gh.setOptions(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){var t,r,i,s,n,o,c,f;if((t=this.animationLoop)===null||t===void 0||t.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,(r=this.layerManager)===null||r===void 0||r.finalize(),this.layerManager=null,(i=this.viewManager)===null||i===void 0||i.finalize(),this.viewManager=null,(s=this.effectManager)===null||s===void 0||s.finalize(),this.effectManager=null,(n=this.deckRenderer)===null||n===void 0||n.finalize(),this.deckRenderer=null,(o=this.deckPicker)===null||o===void 0||o.finalize(),this.deckPicker=null,(c=this.eventManager)===null||c===void 0||c.destroy(),this.eventManager=null,(f=this.tooltip)===null||f===void 0||f.remove(),this.tooltip=null,!this.props.canvas&&!this.props.gl&&this.canvas){var _;(_=this.canvas.parentElement)===null||_===void 0||_.removeChild(this.canvas),this.canvas=null}}setProps(t){this.stats.get(\"setProps Time\").timeStart(),\"onLayerHover\"in t&&or.removed(\"onLayerHover\",\"onHover\")(),\"onLayerClick\"in t&&or.removed(\"onLayerClick\",\"onClick\")(),t.initialViewState&&!mo(this.props.initialViewState,t.initialViewState,3)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);let r=Object.create(this.props);Object.assign(r,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(r),this.layerManager&&(this.viewManager.setProps(r),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(r),this.effectManager.setProps(r),this.deckRenderer.setProps(r),this.deckPicker.setProps(r)),this.stats.get(\"setProps Time\").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(!this.layerManager)return!1;if(this.props._animate)return\"Deck._animate\";let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);let i=this.viewManager.needsRedraw(t),s=this.layerManager.needsRedraw(t),n=this.effectManager.needsRedraw(t),o=this.deckRenderer.needsRedraw(t);return r=r||i||s||n||o,r}redraw(t){if(!this.layerManager)return;let r=this.needsRedraw({clearRedrawFlags:!0});r=t||r,r&&(this.stats.get(\"Redraw Count\").incrementCount(),this.props._customRender?this.props._customRender(r):this._drawLayers(r))}get isInitialized(){return this.viewManager!==null}getViews(){return _r(this.viewManager),this.viewManager.views}getViewports(t){return _r(this.viewManager),this.viewManager.getViewports(t)}getCanvas(){return this.canvas}pickObject(t){let r=this._pick(\"pickObject\",\"pickObject Time\",t).result;return r.length?r[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick(\"pickObject\",\"pickMultipleObjects Time\",t).result}pickObjects(t){return this._pick(\"pickObjects\",\"pickObjects Time\",t)}_addResources(t,r=!1){for(let i in t)this.layerManager.resourceManager.add({resourceId:i,data:t[i],forceUpdate:r})}_removeResources(t){for(let r of t)this.layerManager.resourceManager.remove(r)}_addDefaultEffect(t){this.effectManager.addDefaultEffect(t)}_pick(t,r,i){_r(this.deckPicker);let{stats:s}=this;s.get(\"Pick Count\").incrementCount(),s.get(r).timeStart();let n=this.deckPicker[t]({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects(),...i});return s.get(r).timeEnd(),n}_createCanvas(t){let r=t.canvas;return typeof r==\"string\"&&(r=document.getElementById(r),_r(r)),r||(r=document.createElement(\"canvas\"),r.id=t.id||\"deckgl-overlay\",(t.parent||document.body).appendChild(r)),Object.assign(r.style,t.style),r}_setCanvasSize(t){if(!this.canvas)return;let{width:r,height:i}=t;if(r||r===0){let n=Number.isFinite(r)?\"\".concat(r,\"px\"):r;this.canvas.style.width=n}if(i||i===0){var s;let n=Number.isFinite(i)?\"\".concat(i,\"px\"):i;this.canvas.style.position=((s=t.style)===null||s===void 0?void 0:s.position)||\"absolute\",this.canvas.style.height=n}}_updateCanvasSize(){var t,r;let{canvas:i}=this;if(!i)return;let s=(t=i.clientWidth)!==null&&t!==void 0?t:i.width,n=(r=i.clientHeight)!==null&&r!==void 0?r:i.height;if(s!==this.width||n!==this.height){var o,c;this.width=s,this.height=n,(o=this.viewManager)===null||o===void 0||o.setProps({width:s,height:n}),(c=this.layerManager)===null||c===void 0||c.activateViewport(this.getViewports()[0]),this.props.onResize({width:s,height:n})}}_createAnimationLoop(t){let{width:r,height:i,gl:s,glOptions:n,debug:o,onError:c,onBeforeRender:f,onAfterRender:_,useDevicePixels:w}=t;return new rg({width:r,height:i,useDevicePixels:w,autoResizeDrawingBuffer:!s,autoResizeViewport:!1,gl:s,onCreateContext:I=>Ty({...n,...I,canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()}),onInitialize:I=>this._setGLContext(I.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:f,onAfterRender:_,onError:c})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new Xy({id:\"default-view\"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){let{onError:t}=this.props;this.animationLoop&&t&&t(new Error(\"WebGL context is lost\"))}_pickAndCallback(){let{_pickRequest:t}=this;if(t.event){let{result:i,emptyInfo:s}=this._pick(\"pickObject\",\"pickObject Time\",t);this.cursorState.isHovering=i.length>0;let n=s,o=!1;for(let c of i){var r;n=c,o=((r=c.layer)===null||r===void 0?void 0:r.onHover(c,t.event))||o}if(!o&&this.props.onHover&&this.props.onHover(n,t.event),this.props.getTooltip&&this.tooltip){let c=this.props.getTooltip(n);this.tooltip.setTooltip(c,n.x,n.y)}t.event=null}}_updateCursor(){let t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.cursorState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,q0(t,{enable:!0,copyState:!0})),this.tooltip=new Jb(this.canvas),Ml(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);let r=new KA;r.play(),this.animationLoop.attachTimeline(r),this.eventManager=new Jy(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(let s in nR)this.eventManager.on(s,this._onEvent);this.viewManager=new Wb({timeline:r,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});let i=this.viewManager.getViewports()[0];this.layerManager=new Gb(t,{deck:this,stats:this.stats,viewport:i,timeline:r}),this.effectManager=new Qb,this.deckRenderer=new Xb(t),this.deckPicker=new Kb(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,r){let{gl:i}=this.layerManager.context;Ml(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:\"screen\",effects:this.effectManager.getEffects(),...r}),this.props.onAfterRender({gl:i})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60===0&&(this._getMetrics(),this.stats.reset(),or.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){let r=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState={...this.viewState,[t.viewId]:r},this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.cursorState.isDragging=t.isDragging||!1,this.props.onInteractionStateChange(t)}_getFrameStats(){let{stats:t}=this;t.get(\"frameRate\").timeEnd(),t.get(\"frameRate\").timeStart();let r=this.animationLoop.stats;t.get(\"GPU Time\").addTime(r.get(\"GPU Time\").lastTiming),t.get(\"CPU Time\").addTime(r.get(\"CPU Time\").lastTiming)}_getMetrics(){let{metrics:t,stats:r}=this;t.fps=r.get(\"frameRate\").getHz(),t.setPropsTime=r.get(\"setProps Time\").time,t.updateAttributesTime=r.get(\"Update Attributes\").time,t.framesRedrawn=r.get(\"Redraw Count\").count,t.pickTime=r.get(\"pickObject Time\").time+r.get(\"pickMultipleObjects Time\").time+r.get(\"pickObjects Time\").time,t.pickCount=r.get(\"Pick Count\").count,t.gpuTime=r.get(\"GPU Time\").time,t.cpuTime=r.get(\"CPU Time\").time,t.gpuTimePerFrame=r.get(\"GPU Time\").getAverageTime(),t.cpuTimePerFrame=r.get(\"CPU Time\").getAverageTime();let i=Du.get(\"Memory Usage\");t.bufferMemory=i.get(\"Buffer Memory\").count,t.textureMemory=i.get(\"Texture Memory\").count,t.renderbufferMemory=i.get(\"Renderbuffer Memory\").count,t.gpuMemory=i.get(\"GPU Memory\").count}};G(cp,\"defaultProps\",qG);G(cp,\"VERSION\",xV);var gg=class{constructor(t,r){G(this,\"opts\",void 0),G(this,\"source\",void 0),this.opts=r,this.source=t}get value(){return this.source.value}getValue(){let t=this.source.getBuffer(),r=this.getAccessor();if(t)return[t,r];let{value:i}=this.source,{size:s}=r,n=i;if(i&&i.length!==s){n=new Float32Array(s);let o=r.elementOffset||0;for(let c=0;c=n){let o=new Array(s).fill(1/0),c=new Array(s).fill(-1/0);for(let f=0;fc[_]&&(c[_]=w)}t=[o,c]}}return this.state.bounds=t,t}setData(t){let{state:r}=this,i;ArrayBuffer.isView(t)?i={value:t}:t instanceof Fr?i={buffer:t}:i=t;let s={...this.settings,...i};if(r.bufferAccessor=s,r.bounds=null,i.constant){let n=i.value;if(n=this._normalizeValue(n,[],0),this.settings.normalized&&(n=this.normalizeConstant(n)),!(!r.constant||!this._areValuesEqual(n,this.value)))return!1;r.externalBuffer=null,r.constant=!0,this.value=n}else if(i.buffer){let n=i.buffer;r.externalBuffer=n,r.constant=!1,this.value=i.value||null;let o=i.value instanceof Float64Array;s.type=i.type||n.accessor.type,s.bytesPerElement=n.accessor.BYTES_PER_ELEMENT*(o?2:1),s.stride=lP(s)}else if(i.value){this._checkExternalBuffer(i);let n=i.value;r.externalBuffer=null,r.constant=!1,this.value=n,s.bytesPerElement=n.BYTES_PER_ELEMENT,s.stride=lP(s);let{buffer:o,byteOffset:c}=this;this.doublePrecision&&n instanceof Float64Array&&(n=iP(n,s));let f=n.byteLength+c+s.stride*2;o.byteLength(r+128)/255*2-1);case 5122:return new Float32Array(t).map(r=>(r+32768)/65535*2-1);case 5121:return new Float32Array(t).map(r=>r/255);case 5123:return new Float32Array(t).map(r=>r/65535);default:return t}}_normalizeValue(t,r,i){let{defaultValue:s,size:n}=this.settings;if(Number.isFinite(t))return r[i]=t,r;if(!t){let o=n;for(;--o>=0;)r[i+o]=s[o];return r}switch(n){case 4:r[i+3]=Number.isFinite(t[3])?t[3]:s[3];case 3:r[i+2]=Number.isFinite(t[2])?t[2]:s[2];case 2:r[i+1]=Number.isFinite(t[1])?t[1]:s[1];case 1:r[i+0]=Number.isFinite(t[0])?t[0]:s[0];break;default:let o=n;for(;--o>=0;)r[i+o]=Number.isFinite(t[o])?t[o]:s[o]}return r}_areValuesEqual(t,r){if(!t||!r)return!1;let{size:i}=this;for(let s=0;s0&&($G.length=e.length,i=$G):i=QG,(t>0||Number.isFinite(r))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,r),s.index=t-1),{iterable:i,objectInfo:s}}function cP(e){return e&&e[Symbol.asyncIterator]}function uP(e,t){let{size:r,stride:i,offset:s,startIndices:n,nested:o}=t,c=e.BYTES_PER_ELEMENT,f=i?i/c:r,_=s?s/c:0,w=Math.floor((e.length-_)/f);return(I,{index:R,target:N})=>{if(!n){let Y=R*f+_;for(let K=0;K=t[1]))return e;let r=[],i=e.length,s=0;for(let n=0;nt[1]?r.push(o):t=[Math.min(o[0],t[0]),Math.max(o[1],t[1])]}return r.splice(s,0,t),r}function ID(e){let{source:t,target:r,start:i=0,size:s,getData:n}=e,o=e.end||r.length,c=t.length,f=o-i;if(c>f){r.set(t.subarray(0,f),i);return}if(r.set(t,i),!n)return;let _=c;for(;_i(w+c,I)),_=Math.min(s.length,n.length);for(let w=1;w<_;w++){let I=s[w]*r,R=n[w]*r;ID({source:e.subarray(o,I),target:t,start:c,end:R,size:r,getData:f}),o=I,c=R}return ce},spring:{stiffness:.05,damping:.5}};function hP(e,t){if(!e)return null;Number.isFinite(e)&&(e={type:\"interpolation\",duration:e});let r=e.type||\"interpolation\";return{...Sct[r],...t,...e,type:r}}function fP(e,t){let r=t.getBuffer();return r?[r,{divisor:0,size:t.size,normalized:t.settings.normalized}]:t.value}function dP(e){switch(e){case 1:return\"float\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error('No defined attribute type for size \"'.concat(e,'\"'))}}function pP(e){e.push(e.shift())}function aw(e,t){let{doublePrecision:r,settings:i,value:s,size:n}=e,o=r&&s instanceof Float64Array?2:1;return(i.noAlloc?s.length:t*n)*o}function AP({buffer:e,numInstances:t,attribute:r,fromLength:i,fromStartIndices:s,getData:n=o=>o}){let o=r.doublePrecision&&r.value instanceof Float64Array?2:1,c=r.size*o,f=r.byteOffset,_=r.startIndices,w=s&&_,I=aw(r,t),R=r.isConstant;if(!w&&i>=I)return;let N=R?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!R){let Y=n;n=(K,J)=>r.normalizeConstant(Y(K,J))}let j=R?(Y,K)=>n(N,K):(Y,K)=>n(N.subarray(Y,Y+c),K),Q=e.getData({length:i}),et=new Float32Array(I);JG({source:Q,target:et,sourceStartIndices:s,targetStartIndices:_,size:c,getData:j}),e.byteLengtht[n])]:t[r];return hP(s,i)}setNeedsUpdate(t=this.id,r){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),r){let{startRow:i=0,endRow:s=1/0}=r;this.state.updateRanges=KG(this.state.updateRanges,[i,s])}else this.state.updateRanges=ow}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=XG}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}allocate(t){let{state:r,settings:i}=this;return i.noAlloc?!1:i.update?(super.allocate(t,r.updateRanges!==ow),!0):!1}updateBuffer({numInstances:t,data:r,props:i,context:s}){if(!this.needsUpdate())return!1;let{state:{updateRanges:n},settings:{update:o,noAlloc:c}}=this,f=!0;if(o){for(let[_,w]of n)o.call(s,this,{data:r,startRow:_,endRow:w,props:i,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLengthw?_.set(J,Q):(t._normalizeValue(J,Y.target,0),xD({target:_,source:Y.target,start:Q,count:ut}));Q+=ut*w}else t._normalizeValue(J,_,Q),Q+=w}}_validateAttributeUpdaters(){let{settings:t}=this;if(!(t.noAlloc||typeof t.update==\"function\"))throw new Error(\"Attribute \".concat(this.id,\" missing update or accessor\"))}_checkAttributeArray(){let{value:t}=this,r=Math.min(4,this.size);if(t&&t.length>=r){let i=!0;switch(r){case 4:i=i&&Number.isFinite(t[3]);case 3:i=i&&Number.isFinite(t[2]);case 2:i=i&&Number.isFinite(t[1]);case 1:i=i&&Number.isFinite(t[0]);break;default:i=!1}if(!i)throw new Error(\"Illegal attribute generated for \".concat(this.id))}}};var lw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"interpolation\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,r.settings),this.currentStartIndices=r.startIndices,this.currentLength=0,this.transform=Mct(t,r);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){if(t.duration<=0){this.transition.cancel();return}this.settings=t;let{gl:i,buffers:s,attribute:n}=this;pP(s);let o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aFrom:s[0],aTo:fP(i,n)},feedbackBuffers:{vCurrent:s[1]}})}update(){let t=this.transition.update();if(t){let{duration:r,easing:i}=this.settings,{time:s}=this.transition,n=s/r;i&&(n=i(n)),this.transform.run({uniforms:{time:n}})}return t}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0}},Tct=`\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n`;function Mct(e,t){let r=dP(t.size);return new nc(e,{vs:Tct,defines:{ATTRIBUTE_TYPE:r},varyings:[\"vCurrent\"]})}var cw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"spring\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"texture\",void 0),G(this,\"framebuffer\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.type=\"spring\",this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,{...r.settings,normalized:!1}),this.currentStartIndices=r.startIndices,this.currentLength=0,this.texture=Pct(t),this.framebuffer=Ict(t,this.texture),this.transform=Ect(t,r,this.framebuffer);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){let{gl:i,buffers:s,attribute:n}=this,o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.settings=t,this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start({...t,duration:1/0}),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aTo:fP(i,n)}})}update(){let{buffers:t,transform:r,framebuffer:i,transition:s}=this;if(!s.update())return!1;let o=this.settings;return r.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),r.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:o.stiffness,damping:o.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),pP(t),this.attributeInTransition.setData({buffer:t[1],value:this.attribute.value}),Dh(i)[0]>0||s.end(),!0}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0,this.texture.delete(),this.framebuffer.delete()}};function Ect(e,t,r){let i=dP(t.size);return new nc(e,{framebuffer:r,vs:`\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n`,fs:`\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}`,defines:{ATTRIBUTE_TYPE:i},varyings:[\"vNext\"]})}function Pct(e){return new pi(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}function Ict(e,t){return new yi(e,{id:\"spring-transition-is-transitioning-framebuffer\",width:1,height:1,attachments:{36064:t}})}var Cct={interpolation:lw,spring:cw},uw=class{constructor(t,{id:r,timeline:i}){G(this,\"id\",void 0),G(this,\"isSupported\",void 0),G(this,\"gl\",void 0),G(this,\"timeline\",void 0),G(this,\"transitions\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"numInstances\",void 0),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=nc.isSupported(t)}finalize(){for(let t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:r,numInstances:i}){this.numInstances=i||1;for(let s in t){let n=t[s],o=n.getTransitionSetting(r);o&&this._updateAttribute(s,n,o)}for(let s in this.transitions){let n=t[s];(!n||!n.getTransitionSetting(r))&&this._removeTransition(s)}}hasAttribute(t){let r=this.transitions[t];return r&&r.inProgress}getAttributes(){let t={};for(let r in this.transitions){let i=this.transitions[r];i.inProgress&&(t[r]=i.attributeInTransition)}return t}run(){if(!this.isSupported||this.numInstances===0)return!1;for(let r in this.transitions)this.transitions[r].update()&&(this.needsRedraw=!0);let t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,r,i){let s=this.transitions[t],n=!s||s.type!==i.type;if(n){if(!this.isSupported){or.warn(\"WebGL2 not supported by this browser. Transition for \".concat(t,\" is disabled.\"))();return}s&&this._removeTransition(t);let o=Cct[i.type];o?this.transitions[t]=new o({attribute:r,timeline:this.timeline,gl:this.gl}):(or.error(\"unsupported transition type '\".concat(i.type,\"'\"))(),n=!1)}(n||r.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(i,this.numInstances))}};var t9=\"attributeManager.invalidate\",Lct=\"attributeManager.updateStart\",kct=\"attributeManager.updateEnd\",Rct=\"attribute.updateStart\",Dct=\"attribute.allocate\",Oct=\"attribute.updateEnd\",Xf=class{constructor(t,{id:r=\"attribute-manager\",stats:i,timeline:s}={}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"attributes\",void 0),G(this,\"updateTriggers\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"userData\",void 0),G(this,\"stats\",void 0),G(this,\"attributeTransitionManager\",void 0),G(this,\"mergeBoundsMemoized\",Yf(dG)),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new uw(t,{id:\"\".concat(r,\"-transitions\"),timeline:s}),Object.seal(this)}finalize(){for(let t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){let r=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,r&&this.id}setNeedsRedraw(){this.needsRedraw=!0}add(t){this._add(t)}addInstanced(t){this._add(t,{instanced:1})}remove(t){for(let r of t)this.attributes[r]!==void 0&&(this.attributes[r].delete(),delete this.attributes[r])}invalidate(t,r){let i=this._invalidateTrigger(t,r);Ls(t9,this,t,i)}invalidateAll(t){for(let r in this.attributes)this.attributes[r].setNeedsUpdate(r,t);Ls(t9,this,\"all\")}update({data:t,numInstances:r,startIndices:i=null,transitions:s,props:n={},buffers:o={},context:c={}}){let f=!1;Ls(Lct,this),this.stats&&this.stats.get(\"Update Attributes\").timeStart();for(let _ in this.attributes){let w=this.attributes[_],I=w.settings.accessor;w.startIndices=i,w.numInstances=r,n[_]&&or.removed(\"props.\".concat(_),\"data.attributes.\".concat(_))(),w.setExternalBuffer(o[_])||w.setBinaryValue(typeof I==\"string\"?o[I]:void 0,t.startIndices)||typeof I==\"string\"&&!o[I]&&w.setConstantValue(n[I])||w.needsUpdate()&&(f=!0,this._updateAttribute({attribute:w,numInstances:r,data:t,props:n,context:c})),this.needsRedraw=this.needsRedraw||w.needsRedraw()}f&&Ls(kct,this,r),this.stats&&this.stats.get(\"Update Attributes\").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:r,transitions:s})}updateTransition(){let{attributeTransitionManager:t}=this,r=t.run();return this.needsRedraw=this.needsRedraw||r,r}getAttributes(){return this.attributes}getBounds(t){let r=t.map(i=>{var s;return(s=this.attributes[i])===null||s===void 0?void 0:s.getBounds()});return this.mergeBoundsMemoized(r)}getChangedAttributes(t={clearChangedFlags:!1}){let{attributes:r,attributeTransitionManager:i}=this,s={...i.getAttributes()};for(let n in r){let o=r[n];o.needsRedraw(t)&&!i.hasAttribute(n)&&(s[n]=o)}return s}getShaderAttributes(t,r={}){t||(t=this.getAttributes());let i={};for(let s in t)r[s]||Object.assign(i,t[s].getShaderAttributes());return i}_add(t,r={}){for(let i in t){let s=t[i];this.attributes[i]=this._createAttribute(i,s,r)}this._mapUpdateTriggersToAttributes()}_createAttribute(t,r,i){let s={...r,id:t,size:r.isIndexed&&1||r.size||1,divisor:i.instanced?1:r.divisor||0};return new up(this.gl,s)}_mapUpdateTriggersToAttributes(){let t={};for(let r in this.attributes)this.attributes[r].getUpdateTriggers().forEach(s=>{t[s]||(t[s]=[]),t[s].push(r)});this.updateTriggers=t}_invalidateTrigger(t,r){let{attributes:i,updateTriggers:s}=this,n=s[t];return n&&n.forEach(o=>{let c=i[o];c&&c.setNeedsUpdate(c.id,r)}),n}_updateAttribute(t){let{attribute:r,numInstances:i}=t;if(Ls(Rct,r),r.constant){r.setConstantValue(r.value);return}r.allocate(i)&&Ls(Dct,r,i),r.updateBuffer(t)&&(this.needsRedraw=!0,Ls(Oct,r,i))}};var hw=class extends Kc{get value(){return this._value}_onUpdate(){let{time:t,settings:{fromValue:r,toValue:i,duration:s,easing:n}}=this,o=n(t/s);this._value=il(r,i,o)}};var e9=1e-5;function r9(e,t,r,i,s){let n=t-e,c=(r-t)*s,f=-n*i;return c+f+n+t}function Bct(e,t,r,i,s){if(Array.isArray(r)){let n=[];for(let o=0;o0}add(t,r,i,s){let{transitions:n}=this;if(n.has(t)){let f=n.get(t),{value:_=f.settings.fromValue}=f;r=_,this.remove(t)}if(s=hP(s),!s)return;let o=Fct[s.type];if(!o){or.error(\"unsupported transition type '\".concat(s.type,\"'\"))();return}let c=new o(this.timeline);c.start({...s,fromValue:r,toValue:i}),n.set(t,c)}remove(t){let{transitions:r}=this;r.has(t)&&(r.get(t).cancel(),r.delete(t))}update(){let t={};for(let[r,i]of this.transitions)i.update(),t[r]=i.value,i.inProgress||this.remove(r);return t}clear(){for(let t of this.transitions.keys())this.remove(t)}};function s9(e){let t=e[zu];for(let r in t){let i=t[r],{validate:s}=i;if(s&&!s(e[r],i))throw new Error(\"Invalid prop \".concat(r,\": \").concat(e[r]))}}function o9(e,t){let r=pw({newProps:e,oldProps:t,propTypes:e[zu],ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=Nct(e,t),s=!1;return i||(s=Uct(e,t)),{dataChanged:i,propsChanged:r,updateTriggersChanged:s,extensionsChanged:Vct(e,t),transitionsChanged:zct(e,t)}}function zct(e,t){if(!e.transitions)return!1;let r={},i=e[zu],s=!1;for(let n in e.transitions){let o=i[n],c=o&&o.type;(c===\"number\"||c===\"color\"||c===\"array\")&&CD(e[n],t[n],o)&&(r[n]=!0,s=!0)}return s?r:!1}function pw({newProps:e,oldProps:t,ignoreProps:r={},propTypes:i={},triggerName:s=\"props\"}){if(t===e)return!1;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return\"\".concat(s,\" changed shallowly\");for(let n of Object.keys(e))if(!(n in r)){if(!(n in t))return\"\".concat(s,\".\").concat(n,\" added\");let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}for(let n of Object.keys(t))if(!(n in r)){if(!(n in e))return\"\".concat(s,\".\").concat(n,\" dropped\");if(!Object.hasOwnProperty.call(e,n)){let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}}return!1}function CD(e,t,r){let i=r&&r.equal;return i&&!i(e,t,r)||!i&&(i=e&&t&&e.equals,i&&!i.call(e,t))?\"changed deeply\":!i&&t!==e?\"changed shallowly\":null}function Nct(e,t){if(t===null)return\"oldProps is null, initial diff\";let r=!1,{dataComparator:i,_dataDiff:s}=e;return i?i(e.data,t.data)||(r=\"Data comparator detected a change\"):e.data!==t.data&&(r=\"A new data container was supplied\"),r&&s&&(r=s(e.data,t.data)||r),r}function Uct(e,t){if(t===null)return{all:!0};if(\"all\"in e.updateTriggers&&n9(e,t,\"all\"))return{all:!0};let r={},i=!1;for(let s in e.updateTriggers)s!==\"all\"&&n9(e,t,s)&&(r[s]=!0,i=!0);return i?r:!1}function Vct(e,t){if(t===null)return!0;let r=t.extensions,{extensions:i}=e;if(i===r)return!1;if(!r||!i||i.length!==r.length)return!0;for(let s=0;si.name===\"project64\"))){let i=r.modules.findIndex(s=>s.name===\"project32\");i>=0&&r.modules.splice(i,1)}if(\"inject\"in t)if(!e.inject)r.inject=t.inject;else{let i={...e.inject};for(let s in t.inject)i[s]=(i[s]||\"\")+t.inject[s];r.inject=i}return r}var qct={10241:9987,10240:9729,10242:33071,10243:33071},LD={};function l9(e,t,r,i){if(r instanceof pi)return r;r.constructor&&r.constructor.name!==\"Object\"&&(r={data:r});let s=null;r.compressed&&(s={10241:r.data.length>1?9985:9729});let n=new pi(t,{...r,parameters:{...qct,...s,...i}});return LD[n.id]=e,n}function c9(e,t){!t||!(t instanceof pi)||LD[t.id]===e&&(t.delete(),delete LD[t.id])}var Zct={boolean:{validate(e,t){return!0},equal(e,t,r){return!!e==!!t}},number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},color:{validate(e,t){return t.optional&&!e||kD(e)&&(e.length===3||e.length===4)},equal(e,t,r){return mo(e,t,1)}},accessor:{validate(e,t){let r=mP(e);return r===\"function\"||r===mP(t.value)},equal(e,t,r){return typeof t==\"function\"?!0:mo(e,t,1)}},array:{validate(e,t){return t.optional&&!e||kD(e)},equal(e,t,r){let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},object:{equal(e,t,r){if(r.ignore)return!0;let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},function:{validate(e,t){return t.optional&&!e||typeof e==\"function\"},equal(e,t,r){return!r.compare&&r.ignore!==!1||e===t}},data:{transform:(e,t,r)=>{let{dataTransform:i}=r.props;return i&&e?i(e):e}},image:{transform:(e,t,r)=>{let i=r.context;return!i||!i.gl?null:l9(r.id,i.gl,e,{...t.parameters,...r.props.textureParameters})},release:(e,t,r)=>{c9(r.id,e)}}};function u9(e){let t={},r={},i={};for(let[s,n]of Object.entries(e)){let o=n?.deprecatedFor;if(o)i[s]=Array.isArray(o)?o:[o];else{let c=Yct(s,n);t[s]=c,r[s]=c.value}}return{propTypes:t,defaultProps:r,deprecatedProps:i}}function Yct(e,t){switch(mP(t)){case\"object\":return Aw(e,t);case\"array\":return Aw(e,{type:\"array\",value:t,compare:!1});case\"boolean\":return Aw(e,{type:\"boolean\",value:t});case\"number\":return Aw(e,{type:\"number\",value:t});case\"function\":return Aw(e,{type:\"function\",value:t,compare:!0});default:return{name:e,type:\"unknown\",value:t}}}function Aw(e,t){return\"type\"in t?{name:e,...Zct[t.type],...t}:\"value\"in t?{name:e,type:mP(t.value),...t}:{name:e,type:\"object\",value:t}}function kD(e){return Array.isArray(e)||ArrayBuffer.isView(e)}function mP(e){return kD(e)?\"array\":e===null?\"null\":typeof e}function h9(e,t){let r;for(let n=t.length-1;n>=0;n--){let o=t[n];\"extensions\"in o&&(r=o.extensions)}let i=RD(e.constructor,r),s=Object.create(i);s[Qy]=e,s[$f]={},s[Wh]={};for(let n=0;n{},this.oldProps=null,this.oldAsyncProps=null}finalize(){for(let t in this.asyncProps){let r=this.asyncProps[t];r&&r.type&&r.type.release&&r.type.release(r.resolvedValue,r.type,this.component)}this.asyncProps={},this.component=null,this.resetOldProps()}getOldProps(){return this.oldAsyncProps||this.oldProps||iut}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component?this.component.props:null}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){let r=this.asyncProps[t];return r&&r.resolvedValue}isAsyncPropLoading(t){if(t){let r=this.asyncProps[t];return!!(r&&r.pendingLoadCount>0&&r.pendingLoadCount!==r.resolvedLoadCount)}for(let r in this.asyncProps)if(this.isAsyncPropLoading(r))return!0;return!1}reloadAsyncProp(t,r){this._watchPromise(t,Promise.resolve(r))}setAsyncProps(t){this.component=t[Qy]||this.component;let r=t[Wh]||{},i=t[$f]||t,s=t[sp]||{};for(let n in r){let o=r[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o),r[n]=this.getAsyncProp(n)}for(let n in i){let o=i[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o)}}_fetch(t,r){return null}_onResolve(t,r){}_onError(t,r){}_updateAsyncProp(t,r){if(this._didAsyncInputValueChange(t,r)){if(typeof r==\"string\"&&(r=this._fetch(t,r)),r instanceof Promise){this._watchPromise(t,r);return}if(cP(r)){this._resolveAsyncIterable(t,r);return}this._setPropValue(t,r)}}_freezeAsyncOldProps(){if(!this.oldAsyncProps&&this.oldProps){this.oldAsyncProps=Object.create(this.oldProps);for(let t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}_didAsyncInputValueChange(t,r){let i=this.asyncProps[t];return r===i.resolvedValue||r===i.lastValue?!1:(i.lastValue=r,!0)}_setPropValue(t,r){this._freezeAsyncOldProps();let i=this.asyncProps[t];i&&(r=this._postProcessValue(i,r),i.resolvedValue=r,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount)}_setAsyncPropValue(t,r,i){let s=this.asyncProps[t];s&&i>=s.resolvedLoadCount&&r!==void 0&&(this._freezeAsyncOldProps(),s.resolvedValue=r,s.resolvedLoadCount=i,this.onAsyncPropUpdated(t,r))}_watchPromise(t,r){let i=this.asyncProps[t];if(i){i.pendingLoadCount++;let s=i.pendingLoadCount;r.then(n=>{this.component&&(n=this._postProcessValue(i,n),this._setAsyncPropValue(t,n,s),this._onResolve(t,n))}).catch(n=>{this._onError(t,n)})}}async _resolveAsyncIterable(t,r){if(t!==\"data\"){this._setPropValue(t,r);return}let i=this.asyncProps[t];if(!i)return;i.pendingLoadCount++;let s=i.pendingLoadCount,n=[],o=0;for await(let c of r){if(!this.component)return;let{dataTransform:f}=this.component.props;f?n=f(c,n):n=n.concat(c),Object.defineProperty(n,\"__diff\",{enumerable:!1,value:[{startRow:o,endRow:n.length}]}),o=n.length,this._setAsyncPropValue(t,n,s)}this._onResolve(t,n)}_postProcessValue(t,r){let i=t.type;return i&&this.component&&(i.release&&i.release(t.resolvedValue,i,this.component),i.transform)?i.transform(r,i,this.component):r}_createAsyncPropData(t,r){if(!this.asyncProps[t]){let s=this.component&&this.component.props[zu];this.asyncProps[t]={type:s&&s[t],lastValue:null,resolvedValue:r,pendingLoadCount:0,resolvedLoadCount:0}}}};var gw=class extends mw{constructor({attributeManager:t,layer:r}){super(r),G(this,\"attributeManager\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"needsUpdate\",void 0),G(this,\"subLayers\",void 0),G(this,\"usesPickingColorCache\",void 0),G(this,\"hasPickingBuffer\",void 0),G(this,\"changeFlags\",void 0),G(this,\"viewport\",void 0),G(this,\"uniformTransitions\",void 0),G(this,\"propsInTransition\",void 0),this.attributeManager=t,this.needsRedraw=!0,this.needsUpdate=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}_fetch(t,r){let i=this.layer,s=i?.props.fetch;return s?s(r,{propName:t,layer:i}):super._fetch(t,r)}_onResolve(t,r){let i=this.layer;if(i){let s=i.props.onDataLoad;t===\"data\"&&s&&s(r,{propName:t,layer:i})}}_onError(t,r){let i=this.layer;i&&i.raiseError(r,\"loading \".concat(t,\" of \").concat(this.layer))}};var nut=\"layer.changeFlag\",sut=\"layer.initialize\",out=\"layer.update\",aut=\"layer.finalize\",lut=\"layer.matched\",d9=2**24-1,cut=Object.freeze([]),uut=Yf(({oldViewport:e,viewport:t})=>e.equals(t)),Kf=new Uint8ClampedArray(0),hut={data:{type:\"data\",value:cut,async:!0},dataComparator:{type:\"function\",value:null,optional:!0},_dataDiff:{type:\"function\",value:e=>e&&e.__diff,optional:!0},dataTransform:{type:\"function\",value:null,optional:!0},onDataLoad:{type:\"function\",value:null,optional:!0},onError:{type:\"function\",value:null,optional:!0},fetch:{type:\"function\",value:(e,{propName:t,layer:r,loaders:i,loadOptions:s,signal:n})=>{let{resourceManager:o}=r.context;if(s=s||r.getLoadOptions(),i=i||r.props.loaders,n){var c;s={...s,fetch:{...(c=s)===null||c===void 0?void 0:c.fetch,signal:n}}}let f=o.contains(e);return!f&&!s&&(o.add({resourceId:e,data:jA(e,i),persistent:!1}),f=!0),f?o.subscribe({resourceId:e,onChange:_=>{var w;return(w=r.internalState)===null||w===void 0?void 0:w.reloadAsyncProp(t,_)},consumerId:r.id,requestId:t}):jA(e,i,s)}},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:\"number\",min:0,max:1,value:1},operation:\"draw\",onHover:{type:\"function\",value:null,optional:!0},onClick:{type:\"function\",value:null,optional:!0},onDragStart:{type:\"function\",value:null,optional:!0},onDrag:{type:\"function\",value:null,optional:!0},onDragEnd:{type:\"function\",value:null,optional:!0},coordinateSystem:Yr.DEFAULT,coordinateOrigin:{type:\"array\",value:[0,0,0],compare:!0},modelMatrix:{type:\"array\",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:\"XYZ\",colorFormat:\"RGBA\",parameters:{type:\"object\",value:{},optional:!0,compare:2},loadOptions:{type:\"object\",value:null,optional:!0,ignore:!0},transitions:null,extensions:[],loaders:{type:\"array\",value:[],optional:!0,ignore:!0},getPolygonOffset:{type:\"function\",value:({layerIndex:e})=>[0,-e*100]},highlightedObjectIndex:null,autoHighlight:!1,highlightColor:{type:\"accessor\",value:[0,0,128,128]}},dn=class extends _g{constructor(...t){super(...t),G(this,\"internalState\",null),G(this,\"lifecycle\",tm.NO_STATE),G(this,\"context\",void 0),G(this,\"state\",void 0),G(this,\"parent\",null)}static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"layerName\")?this.layerName:\"\"}get root(){let t=this;for(;t.parent;)t=t.parent;return t}toString(){let t=this.constructor.layerName||this.constructor.name;return\"\".concat(t,\"({id: '\").concat(this.props.id,\"'})\")}project(t){_r(this.internalState);let r=this.internalState.viewport||this.context.viewport,i=vD(t,{viewport:r,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,n,o]=Hy(i,r.pixelProjectionMatrix);return t.length===2?[s,n]:[s,n,o]}unproject(t){return _r(this.internalState),(this.internalState.viewport||this.context.viewport).unproject(t)}projectPosition(t,r){_r(this.internalState);let i=this.internalState.viewport||this.context.viewport;return mG(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem,...r})}get isComposite(){return!1}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(){this.internalState&&(this.internalState.needsRedraw=!0)}setNeedsUpdate(){this.internalState&&(this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0)}get isLoaded(){return this.internalState?!this.internalState.isAsyncPropLoading():!1}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||this.state.model&&[this.state.model])||[]}setModuleParameters(t){for(let r of this.getModels())r.updateModuleSettings(t)}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}use64bitPositions(){let{coordinateSystem:t}=this.props;return t===Yr.DEFAULT||t===Yr.LNGLAT||t===Yr.CARTESIAN}onHover(t,r){return this.props.onHover&&this.props.onHover(t,r)||!1}onClick(t,r){return this.props.onClick&&this.props.onClick(t,r)||!1}nullPickingColor(){return[0,0,0]}encodePickingColor(t,r=[]){return r[0]=t+1&255,r[1]=t+1>>8&255,r[2]=t+1>>8>>8&255,r}decodePickingColor(t){_r(t instanceof Uint8Array);let[r,i,s]=t;return r+i*256+s*65536-1}getNumInstances(){return Number.isFinite(this.props.numInstances)?this.props.numInstances:this.state&&this.state.numInstances!==void 0?this.state.numInstances:a9(this.props.data)}getStartIndices(){return this.props.startIndices?this.props.startIndices:this.state&&this.state.startIndices?this.state.startIndices:null}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"positions\",\"instancePositions\"])}getShaders(t){for(let r of this.props.extensions)t=tv(t,r.getShaders.call(this,r));return t}shouldUpdateState(t){return t.changeFlags.propsOrDataChanged}updateState(t){let r=this.getAttributeManager(),{dataChanged:i}=t.changeFlags;if(i&&r)if(Array.isArray(i))for(let s of i)r.invalidateAll(s);else r.invalidateAll();if(r){let{props:s}=t,n=this.internalState.hasPickingBuffer,o=Number.isInteger(s.highlightedObjectIndex)||s.pickable||s.extensions.some(c=>c.getNeedsPickingBuffer.call(this,c));if(n!==o){this.internalState.hasPickingBuffer=o;let{pickingColors:c,instancePickingColors:f}=r.attributes,_=c||f;_&&(o&&_.constant&&(_.constant=!1,r.invalidate(_.id)),!_.value&&!o&&(_.constant=!0,_.value=[0,0,0]))}}}finalizeState(t){for(let i of this.getModels())i.delete();let r=this.getAttributeManager();r&&r.finalize(),this.context&&this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState&&(this.internalState.uniformTransitions.clear(),this.internalState.finalize())}draw(t){for(let r of this.getModels())r.draw(t)}getPickingInfo({info:t,mode:r,sourceLayer:i}){let{index:s}=t;return s>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[s]),t}raiseError(t,r){var i,s;if(r&&(t=new Error(\"\".concat(r,\": \").concat(t.message),{cause:t})),!((i=(s=this.props).onError)!==null&&i!==void 0&&i.call(s,t))){var n,o;(n=this.context)===null||n===void 0||(o=n.onError)===null||o===void 0||o.call(n,t,this)}}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState?this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams()):!1}hasUniformTransition(){var t;return((t=this.internalState)===null||t===void 0?void 0:t.uniformTransitions.active)||!1}activateViewport(t){if(!this.internalState)return;let r=this.internalState.viewport;this.internalState.viewport=t,(!r||!uut({oldViewport:r,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t=\"all\"){let r=this.getAttributeManager();r&&(t===\"all\"?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(let r of this.getModels())this._setModelAttributes(r,t)}_updateAttributes(){let t=this.getAttributeManager();if(!t)return;let r=this.props,i=this.getNumInstances(),s=this.getStartIndices();t.update({data:r.data,numInstances:i,startIndices:s,props:r,transitions:r.transitions,buffers:r.data.attributes,context:this});let n=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(n)}_updateAttributeTransition(){let t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){let{uniformTransitions:t}=this.internalState;if(t.active){let r=t.update(),i=Object.create(this.props);for(let s in r)Object.defineProperty(i,s,{value:r[s]});return i}return this.props}calculateInstancePickingColors(t,{numInstances:r}){if(t.constant)return;let i=Math.floor(Kf.length/3);if(this.internalState.usesPickingColorCache=!0,id9&&or.warn(\"Layer has too many data objects. Picking might not be able to distinguish all objects.\")(),Kf=Gh.allocate(Kf,r,{size:3,copy:!0,maxCount:Math.max(r,d9)});let s=Math.floor(Kf.length/3),n=[];for(let o=i;o(or.deprecated(\"layer.state.attributeManager\",\"layer.getAttributeManager()\")(),t)}),this.internalState.uniformTransitions=new dw(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props),this.initializeState(this.context);for(let r of this.props.extensions)r.initializeState.call(this,this.context,r);this.setChangeFlags({dataChanged:\"init\",propsChanged:\"init\",viewportChanged:!0,extensionsChanged:!0}),this._update()}_transferState(t){Ls(lut,this,this===t);let{state:r,internalState:i}=t;this!==t&&(this.internalState=i,this.state=r,this.internalState.setAsyncProps(this.props),this._diffProps(this.props,this.internalState.getOldProps()))}_update(){let t=this.needsUpdate();if(Ls(out,this,t),!t)return;let r=this.props,i=this.context,s=this.internalState,n=i.viewport,o=this._updateUniformTransition();s.propsInTransition=o,i.viewport=s.viewport||n,this.props=o;try{let c=this._getUpdateParams(),f=this.getModels();if(i.gl)this.updateState(c);else try{this.updateState(c)}catch{}for(let w of this.props.extensions)w.updateState.call(this,c,w);let _=this.getModels()[0]!==f[0];this._postUpdate(c,_)}finally{i.viewport=n,this.props=r,this._clearChangeFlags(),s.needsUpdate=!1,s.resetOldProps()}}_finalize(){Ls(aut,this),this.finalizeState(this.context);for(let t of this.props.extensions)t.finalizeState.call(this,this.context,t)}_drawLayer({moduleParameters:t=null,uniforms:r={},parameters:i={}}){this._updateAttributeTransition();let s=this.props,n=this.context;this.props=this.internalState.propsInTransition||s;let o=this.props.opacity;r.opacity=Math.pow(o,1/2.2);try{t&&this.setModuleParameters(t);let{getPolygonOffset:c}=this.props,f=c&&c(r)||[0,0];Ml(n.gl,{polygonOffset:f}),Mn(n.gl,i,()=>{let _={moduleParameters:t,uniforms:r,parameters:i,context:n};for(let w of this.props.extensions)w.draw.call(this,_,w);this.draw(_)})}finally{this.props=s}}getChangeFlags(){var t;return(t=this.internalState)===null||t===void 0?void 0:t.changeFlags}setChangeFlags(t){if(!this.internalState)return;let{changeFlags:r}=this.internalState;for(let s in t)if(t[s]){let n=!1;switch(s){case\"dataChanged\":let o=t[s],c=r[s];o&&Array.isArray(c)&&(r.dataChanged=Array.isArray(o)?c.concat(o):o,n=!0);default:r[s]||(r[s]=t[s],n=!0)}n&&Ls(nut,this,s,t)}let i=!!(r.dataChanged||r.updateTriggersChanged||r.propsChanged||r.extensionsChanged);r.propsOrDataChanged=i,r.somethingChanged=i||r.viewportChanged||r.stateChanged}_clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}_diffProps(t,r){let i=o9(t,r);if(i.updateTriggersChanged)for(let n in i.updateTriggersChanged)i.updateTriggersChanged[n]&&this.invalidateAttribute(n);if(i.transitionsChanged)for(let n in i.transitionsChanged){var s;this.internalState.uniformTransitions.add(n,r[n],t[n],(s=t.transitions)===null||s===void 0?void 0:s[n])}return this.setChangeFlags(i)}validateProps(){s9(this.props)}updateAutoHighlight(t){this.props.autoHighlight&&!Number.isInteger(this.props.highlightedObjectIndex)&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){let r={pickingSelectedColor:t.picked?t.color:null},{highlightColor:i}=this.props;t.picked&&typeof i==\"function\"&&(r.pickingHighlightColor=i(t)),this.setModuleParameters(r),this.setNeedsRedraw()}_getAttributeManager(){let t=this.context;return new Xf(t.gl,{id:this.props.id,stats:t.stats,timeline:t.timeline})}_postUpdate(t,r){let{props:i,oldProps:s}=t;this.setNeedsRedraw(),this._updateAttributes();let{model:n}=this.state;n?.setInstanceCount(this.getNumInstances());let{autoHighlight:o,highlightedObjectIndex:c,highlightColor:f}=i;if(r||s.autoHighlight!==o||s.highlightedObjectIndex!==c||s.highlightColor!==f){let _={};o||(_.pickingSelectedColor=null),Array.isArray(f)&&(_.pickingHighlightColor=f),(r||c!==s.highlightedObjectIndex)&&(_.pickingSelectedColor=Number.isFinite(c)&&c>=0?this.encodePickingColor(c):null),this.setModuleParameters(_)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let r=!1;r=r||this.internalState.needsRedraw&&this.id;let i=this.getAttributeManager(),s=i?i.getNeedsRedraw(t):!1;if(r=r||s,r)for(let n of this.props.extensions)n.onNeedsRedraw.call(this,n);return this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags,r}_onAsyncPropUpdated(){this._diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}};G(dn,\"defaultProps\",hut);G(dn,\"layerName\",\"Layer\");var fut=\"compositeLayer.renderLayers\",Ni=class extends dn{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(t){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){let{object:r}=t;return r&&r.__source&&r.__source.parent&&r.__source.parent.id===this.id&&(t.object=r.__source.object,t.index=r.__source.index),t}filterSubLayer(t){return!0}shouldRenderSubLayer(t,r){return r&&r.length}getSubLayerClass(t,r){let{_subLayerProps:i}=this.props;return i&&i[t]&&i[t].type||r}getSubLayerRow(t,r,i){return t.__source={parent:this,object:r,index:i},t}getSubLayerAccessor(t){if(typeof t==\"function\"){let r={index:-1,data:this.props.data,target:[]};return(i,s)=>i&&i.__source?(r.index=i.__source.index,t(i.__source.object,r)):t(i,s)}return t}getSubLayerProps(t={}){var r;let{opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K,_subLayerProps:J}=this.props,ut={id:\"\",updateTriggers:{},opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K},Et=J&&t.id&&J[t.id],kt=Et&&Et.updateTriggers,Xt=t.id||\"sublayer\";if(Et){let qt=this.props[zu],le=t.type?t.type._propTypes:{};for(let ue in Et){let De=le[ue]||qt[ue];De&&De.type===\"accessor\"&&(Et[ue]=this.getSubLayerAccessor(Et[ue]))}}Object.assign(ut,t,Et),ut.id=\"\".concat(this.props.id,\"-\").concat(Xt),ut.updateTriggers={all:(r=this.props.updateTriggers)===null||r===void 0?void 0:r.all,...t.updateTriggers,...kt};for(let qt of et){let le=qt.getSubLayerProps.call(this,qt);le&&Object.assign(ut,le,{updateTriggers:Object.assign(ut.updateTriggers,le.updateTriggers)})}return ut}_updateAutoHighlight(t){for(let r of this.getSubLayers())r.updateAutoHighlight(t)}_getAttributeManager(){return null}_postUpdate(t,r){let i=this.internalState.subLayers,s=!i||this.needsUpdate();if(s){let n=this.renderLayers();i=op(n,Boolean),this.internalState.subLayers=i}Ls(fut,this,s,i);for(let n of i)n.parent=this}};G(Ni,\"layerName\",\"CompositeLayer\");var gP=Math.PI/180,p9=180/Math.PI,_P=6370972,ev=256;function dut(){let e=ev/_P,t=Math.PI/180*ev;return{unitsPerMeter:[e,e,e],unitsPerMeter2:[0,0,0],metersPerUnit:[1/e,1/e,1/e],unitsPerDegree:[t,t,e],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/t,1/t,1/e]}}var rv=class extends ac{constructor(t={}){let{latitude:r=0,longitude:i=0,zoom:s=0,nearZMultiplier:n=.1,farZMultiplier:o=2,resolution:c=10}=t,{height:f,altitude:_=1.5}=t;f=f||1,_=Math.max(.75,_);let w=new En().lookAt({eye:[0,-_,0],up:[0,0,1]}),I=Math.pow(2,s);w.rotateX(r*gP),w.rotateZ(-i*gP),w.scale(I/f);let R=Math.atan(.5/_),N=ev*2*I/f;super({...t,height:f,viewMatrix:w,longitude:i,latitude:r,zoom:s,distanceScales:dut(),fovyRadians:R*2,focalDistance:_,near:n,far:Math.min(2,1/N+1)*_*o}),G(this,\"longitude\",void 0),G(this,\"latitude\",void 0),G(this,\"resolution\",void 0),this.latitude=r,this.longitude=i,this.resolution=c}get projectionMode(){return Ja.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){let r={targetZ:t.z||0},i=this.unproject([0,this.height/2],r),s=this.unproject([this.width/2,0],r),n=this.unproject([this.width,this.height/2],r),o=this.unproject([this.width/2,this.height],r);return n[0]this.longitude&&(i[0]-=360),[Math.min(i[0],n[0],s[0],o[0]),Math.min(i[1],n[1],s[1],o[1]),Math.max(i[0],n[0],s[0],o[0]),Math.max(i[1],n[1],s[1],o[1])]}unproject(t,{topLeft:r=!0,targetZ:i}={}){let[s,n,o]=t,c=r?n:this.height-n,{pixelUnprojectionMatrix:f}=this,_;if(Number.isFinite(o))_=OD(f,[s,c,o,1]);else{let N=OD(f,[s,c,-1,1]),j=OD(f,[s,c,1,1]),Q=((i||0)/_P+1)*ev,et=NE(FE([],N,j)),Y=NE(N),K=NE(j),ut=4*((4*Y*K-(et-Y-K)**2)/16)/et,Et=Math.sqrt(Y-ut),kt=Math.sqrt(Math.max(0,Q*Q-ut)),Xt=(Et-kt)/Math.sqrt(et);_=Hj([],N,j,Xt)}let[w,I,R]=this.unprojectPosition(_);return Number.isFinite(o)?[w,I,R]:Number.isFinite(i)?[w,I,i]:[w,I]}projectPosition(t){let[r,i,s=0]=t,n=r*gP,o=i*gP,c=Math.cos(o),f=(s/_P+1)*ev;return[Math.sin(n)*c*f,-Math.cos(n)*c*f,Math.sin(o)*f]}unprojectPosition(t){let[r,i,s]=t,n=zE(t),o=Math.asin(s/n),f=Math.atan2(r,-i)*p9,_=o*p9,w=(n/ev-1)*_P;return[f,_,w]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,r){let i=this.unproject(r);return{longitude:t[0]-i[0]+this.longitude,latitude:t[1]-i[1]+this.latitude}}};function OD(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}var put=new En().lookAt({eye:[0,0,1]});function Aut({width:e,height:t,near:r,far:i,padding:s}){let n=-e/2,o=e/2,c=-t/2,f=t/2;if(s){let{left:_=0,right:w=0,top:I=0,bottom:R=0}=s,N=Il((_+e-w)/2,0,e)-e/2,j=Il((I+t-R)/2,0,t)-t/2;n-=N,o-=N,c+=j,f+=j}return new En().ortho({left:n,right:o,bottom:c,top:f,near:r,far:i})}var iv=class extends ac{constructor(t){let{width:r,height:i,near:s=.1,far:n=1e3,zoom:o=0,target:c=[0,0,0],padding:f=null,flipY:_=!0}=t,w=Array.isArray(o)?o[0]:o,I=Array.isArray(o)?o[1]:o,R=Math.min(w,I),N=Math.pow(2,R),j;if(w!==I){let Q=Math.pow(2,w),et=Math.pow(2,I);j={unitsPerMeter:[Q/N,et/N,1],metersPerUnit:[N/Q,N/et,1]}}super({...t,longitude:void 0,position:c,viewMatrix:put.clone().scale([N,N*(_?-1:1),N]),projectionMatrix:Aut({width:r||1,height:i||1,padding:f,near:s,far:n}),zoom:R,distanceScales:j})}projectFlat([t,r]){let{unitsPerMeter:i}=this.distanceScales;return[t*i[0],r*i[1]]}unprojectFlat([t,r]){let{metersPerUnit:i}=this.distanceScales;return[t*i[0],r*i[1]]}panByPosition(t,r){let i=Qf(r,this.pixelUnprojectionMatrix),s=this.projectFlat(t),n=$A([],s,LE([],i)),o=$A([],this.center,n);return{target:this.unprojectFlat(o)}}};var cc=class{static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"extensionName\")?this.extensionName:\"\"}constructor(t){G(this,\"opts\",void 0),t&&(this.opts=t)}equals(t){return this===t?!0:this.constructor===t.constructor&&mo(this.opts,t.opts,1)}getShaders(t){return null}getSubLayerProps(t){let{defaultProps:r}=t.constructor,i={updateTriggers:{}};for(let s in r)if(s in this.props){let n=r[s],o=this.props[s];i[s]=o,n&&n.type===\"accessor\"&&(i.updateTriggers[s]=this.props.updateTriggers[s],typeof o==\"function\"&&(i[s]=this.getSubLayerAccessor(o)))}return i}initializeState(t,r){}updateState(t,r){}onNeedsRedraw(t){}getNeedsPickingBuffer(t){return!1}draw(t,r){}finalizeState(t,r){}};G(cc,\"defaultProps\",{});G(cc,\"extensionName\",\"LayerExtension\");var BD={bearing:0,pitch:0,position:[0,0,0]},mut={speed:1.2,curve:1.414},nv=class extends hg{constructor(t={}){super({compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],extract:[\"width\",\"height\",\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"width\",\"height\",\"latitude\",\"longitude\",\"zoom\"]}),G(this,\"opts\",void 0),this.opts={...mut,...t}}interpolateProps(t,r,i){let s=rP(t,r,i,this.opts);for(let n in BD)s[n]=il(t[n]||BD[n],r[n]||BD[n],i);return s}getDuration(t,r){let{transitionDuration:i}=r;return i===\"auto\"&&(i=gD(t,r,this.opts)),i}};var rm=class{constructor(t){G(this,\"opts\",void 0),G(this,\"typedArrayManager\",void 0),G(this,\"indexStarts\",[0]),G(this,\"vertexStarts\",[0]),G(this,\"vertexCount\",0),G(this,\"instanceCount\",0),G(this,\"attributes\",void 0),G(this,\"_attributeDefs\",void 0),G(this,\"data\",void 0),G(this,\"getGeometry\",void 0),G(this,\"geometryBuffer\",void 0),G(this,\"buffers\",void 0),G(this,\"positionSize\",void 0),G(this,\"normalize\",void 0);let{attributes:r={}}=t;this.typedArrayManager=Gh,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t)}updateGeometry(t){Object.assign(this.opts,t);let{data:r,buffers:i={},getGeometry:s,geometryBuffer:n,positionFormat:o,dataChanged:c,normalize:f=!0}=this.opts;if(this.data=r,this.getGeometry=s,this.positionSize=n&&n.size||(o===\"XY\"?2:3),this.buffers=i,this.normalize=f,n&&(_r(r.startIndices),this.getGeometry=this.getGeometryFromBuffer(n),f||(i.positions=n)),this.geometryBuffer=i.positions,Array.isArray(c))for(let _ of c)this._rebuildGeometry(_);else this._rebuildGeometry()}updatePartialGeometry({startRow:t,endRow:r}){this._rebuildGeometry({startRow:t,endRow:r})}getGeometryFromBuffer(t){let r=t.value||t;return ArrayBuffer.isView(r)?uP(r,{size:this.positionSize,offset:t.offset,stride:t.stride,startIndices:this.data.startIndices}):null}_allocate(t,r){let{attributes:i,buffers:s,_attributeDefs:n,typedArrayManager:o}=this;for(let c in n)if(c in s)o.release(i[c]),i[c]=null;else{let f=n[c];f.copy=r,i[c]=o.allocate(i[c],t,f)}}_forEachGeometry(t,r,i){let{data:s,getGeometry:n}=this,{iterable:o,objectInfo:c}=Jc(s,r,i);for(let f of o){c.index++;let _=n?n(f,c):null;t(_,c.index)}}_rebuildGeometry(t){if(!this.data)return;let{indexStarts:r,vertexStarts:i,instanceCount:s}=this,{data:n,geometryBuffer:o}=this,{startRow:c=0,endRow:f=1/0}=t||{},_={};if(t||(r=[0],i=[0]),this.normalize||!o)this._forEachGeometry((I,R)=>{let N=I&&this.normalizeGeometry(I);_[R]=N,i[R+1]=i[R]+(N?this.getGeometrySize(N):0)},c,f),s=i[i.length-1];else if(i=n.startIndices,s=i[n.length]||0,ArrayBuffer.isView(o))s=s||o.length/this.positionSize;else if(o instanceof Fr){let I=o.accessor.stride||this.positionSize*4;s=s||o.byteLength/I}else if(o.buffer){let I=o.stride||this.positionSize*4;s=s||o.buffer.byteLength/I}else if(o.value){let I=o.value,R=o.stride/I.BYTES_PER_ELEMENT||this.positionSize;s=s||I.length/R}this._allocate(s,!!t),this.indexStarts=r,this.vertexStarts=i,this.instanceCount=s;let w={};this._forEachGeometry((I,R)=>{let N=_[R]||I;w.vertexStart=i[R],w.indexStart=r[R];let j=RvP(r,t));if(ov(e)){if(yut(e))return t.style=_ut,(0,FD.cloneElement)(e,t);if(vut(e))return(0,FD.cloneElement)(e,t)}return e}function ov(e){return e&&typeof e==\"object\"&&\"type\"in e||!1}function yut(e){var t;return(t=e.props)===null||t===void 0?void 0:t.mapStyle}function vut(e){let t=e.type;return t&&t.deckGLViewProps}function zD(e){if(typeof e==\"function\")return(0,m9.createElement)(Xc,{},e);if(Array.isArray(e))return e.map(zD);if(ov(e)){if(e.type===xP.Fragment)return zD(e.props.children);if(sv(e.type,Xc))return e}return e}function ND({children:e,layers:t=[],views:r=null}){let i=[],s=[],n={};return xP.Children.forEach(zD(e),o=>{if(ov(o)){let c=o.type;if(sv(c,dn)){let f=xut(c,o.props);s.push(f)}else i.push(o);if(sv(c,Xc)&&c!==Xc&&o.props.id){let f=new c(o.props);n[f.id]=f}}else o&&i.push(o)}),Object.keys(n).length>0&&(Array.isArray(r)?r.forEach(o=>{n[o.id]=o}):r&&(n[r.id]=r),r=Object.values(n)),t=s.length>0?[...s,...t]:t,{layers:t,children:i,views:r}}function xut(e,t){let r={},i=e.defaultProps||{};for(let s in t)i[s]!==t[s]&&(r[s]=t[s]);return new e(r)}var UD=Ri(Yi());function VD({children:e,deck:t,ContextProvider:r}){let{viewManager:i}=t||{};if(!i||!i.views.length)return[];let s={},n=i.views[0].id;for(let o of e){let c=n,f=o;ov(o)&&sv(o.type,Xc)&&(c=o.props.id||n,f=o.props.children);let _=i.getViewport(c),w=i.getViewState(c);if(_){w.padding=_.padding;let{x:I,y:R,width:N,height:j}=_;f=vP(f,{x:I,y:R,width:N,height:j,viewport:_,viewState:w}),s[c]||(s[c]={viewport:_,children:[]}),s[c].children.push(f)}}return Object.keys(s).map(o=>{let{viewport:c,children:f}=s[o],{x:_,y:w,width:I,height:R}=c,N={position:\"absolute\",left:_,top:w,width:I,height:R},j=\"view-\".concat(o),Q=(0,UD.createElement)(\"div\",{key:j,id:j,style:N},...f);if(r){let et={viewport:c,container:t.canvas.offsetParent,eventManager:t.eventManager,onViewStateChange:Y=>{Y.viewId=o,t._onViewStateChange(Y)}};return(0,UD.createElement)(r,{key:j,value:et},Q)}return Q})}var but={mixBlendMode:null};function jD({width:e,height:t,style:r}){let i={position:\"absolute\",zIndex:0,left:0,top:0,width:e,height:t},s={left:0,top:0};if(r)for(let n in r)n in but?s[n]=r[n]:i[n]=r[n];return{containerStyle:i,canvasStyle:s}}function wut(e){return{get deck(){return e.deck},pickObject:t=>e.deck.pickObject(t),pickMultipleObjects:t=>e.deck.pickMultipleObjects(t),pickObjects:t=>e.deck.pickObjects(t)}}function g9(e){e.redrawReason&&(e.deck._drawLayers(e.redrawReason),e.redrawReason=null)}function Sut(e,t,r){let i=new t({...r,_customRender:s=>{e.redrawReason=s;let n=i.getViewports();e.lastRenderedViewports!==n?e.forceUpdate():g9(e)}});return i}var _9=(0,Do.forwardRef)((e,t)=>{let[r,i]=(0,Do.useState)(0),n=(0,Do.useRef)({control:null,version:r,forceUpdate:()=>i(Et=>Et+1)}).current,o=(0,Do.useRef)(null),c=(0,Do.useRef)(null),f=(0,Do.useMemo)(()=>ND(e),[e.layers,e.views,e.children]),_=!0,w=Et=>{var kt;return _&&e.viewState?(n.viewStateUpdateRequested=Et,null):(n.viewStateUpdateRequested=null,(kt=e.onViewStateChange)===null||kt===void 0?void 0:kt.call(e,Et))},I=Et=>{if(_)n.interactionStateUpdateRequested=Et;else{var kt;n.interactionStateUpdateRequested=null,(kt=e.onInteractionStateChange)===null||kt===void 0||kt.call(e,Et)}},R=(0,Do.useMemo)(()=>{let Et={...e,style:null,width:\"100%\",height:\"100%\",parent:o.current,canvas:c.current,layers:f.layers,views:f.views,onViewStateChange:w,onInteractionStateChange:I};return delete Et._customRender,n.deck&&n.deck.setProps(Et),Et},[e]);(0,Do.useEffect)(()=>{let Et=e.Deck||cp;return n.deck=Sut(n,Et,{...R,parent:o.current,canvas:c.current}),()=>{var kt;return(kt=n.deck)===null||kt===void 0?void 0:kt.finalize()}},[]),A9(()=>{g9(n);let{viewStateUpdateRequested:Et,interactionStateUpdateRequested:kt}=n;Et&&w(Et),kt&&I(kt)}),(0,Do.useImperativeHandle)(t,()=>wut(n),[]);let N=n.deck&&n.deck.isInitialized?n.deck.getViewports():void 0,{ContextProvider:j,width:Q,height:et,id:Y,style:K}=e,{containerStyle:J,canvasStyle:ut}=(0,Do.useMemo)(()=>jD({width:Q,height:et,style:K}),[Q,et,K]);if(!n.viewStateUpdateRequested&&n.lastRenderedViewports===N||n.version!==r){n.lastRenderedViewports=N,n.version=r;let Et=VD({children:f.children,deck:n.deck,ContextProvider:j}),kt=(0,Do.createElement)(\"canvas\",{key:\"canvas\",id:Y||\"deckgl-overlay\",ref:c,style:ut});n.control=(0,Do.createElement)(\"div\",{id:\"\".concat(Y||\"deckgl\",\"-wrapper\"),ref:o,style:J},[kt,Et])}return _=!1,n.control});_9.defaultProps=cp.defaultProps;var GD=_9;var zt,hp=new Array(128).fill(void 0);hp.push(void 0,null,!0,!1);var ww=hp.length;function qe(e){ww===hp.length&&hp.push(hp.length+1);let t=ww;return ww=hp[t],hp[t]=e,t}function xe(e){return hp[e]}function Tut(e){e<132||(hp[e]=ww,ww=e)}function nn(e){let t=xe(e);return Tut(e),t}var R9=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};typeof TextDecoder<\"u\"&&R9.decode();var _w=null;function av(){return(_w===null||_w.byteLength===0)&&(_w=new Uint8Array(zt.memory.buffer)),_w}function tu(e,t){return e=e>>>0,R9.decode(av().subarray(e,e+t))}function uc(e){return e==null}var yw=null;function Mut(){return(yw===null||yw.byteLength===0)&&(yw=new Float64Array(zt.memory.buffer)),yw}var vw=null;function Ue(){return(vw===null||vw.byteLength===0)&&(vw=new Int32Array(zt.memory.buffer)),vw}var hc=0,bP=typeof TextEncoder<\"u\"?new TextEncoder(\"utf-8\"):{encode:()=>{throw Error(\"TextEncoder not available\")}},Eut=typeof bP.encodeInto==\"function\"?function(e,t){return bP.encodeInto(e,t)}:function(e,t){let r=bP.encode(e);return t.set(r),{read:e.length,written:r.length}};function fp(e,t,r){if(r===void 0){let c=bP.encode(e),f=t(c.length,1)>>>0;return av().subarray(f,f+c.length).set(c),hc=c.length,f}let i=e.length,s=t(i,1)>>>0,n=av(),o=0;for(;o127)break;n[s+o]=c}if(o!==i){o!==0&&(e=e.slice(o)),s=r(s,i,i=o+e.length*3,1)>>>0;let c=av().subarray(s+o,s+i),f=Eut(e,c);o+=f.written,s=r(s,i,o,1)>>>0}return hc=o,s}var xw=null;function Put(){return(xw===null||xw.byteLength===0)&&(xw=new BigInt64Array(zt.memory.buffer)),xw}function WD(e){let t=typeof e;if(t==\"number\"||t==\"boolean\"||e==null)return`${e}`;if(t==\"string\")return`\"${e}\"`;if(t==\"symbol\"){let s=e.description;return s==null?\"Symbol\":`Symbol(${s})`}if(t==\"function\"){let s=e.name;return typeof s==\"string\"&&s.length>0?`Function(${s})`:\"Function\"}if(Array.isArray(e)){let s=e.length,n=\"[\";s>0&&(n+=WD(e[0]));for(let o=1;o1)i=r[1];else return toString.call(e);if(i==\"Object\")try{return\"Object(\"+JSON.stringify(e)+\")\"}catch{return\"Object\"}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:i}var y9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{zt.__wbindgen_export_2.get(e.dtor)(e.a,e.b)});function Iut(e,t,r,i){let s={a:e,b:t,cnt:1,dtor:r},n=(...o)=>{s.cnt++;let c=s.a;s.a=0;try{return i(c,s.b,...o)}finally{--s.cnt===0?(zt.__wbindgen_export_2.get(s.dtor)(c,s.b),y9.unregister(s)):s.a=c}};return n.original=s,y9.register(n,s,s),n}function Cut(e,t,r){zt._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h1de40baa0df51db0(e,t,qe(r))}function D9(e,t){let r=t(e.length*1,1)>>>0;return av().set(e,r/1),hc=e.length,r}function O9(e,t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(e,zt.__wbindgen_malloc),c=hc;zt.readParquet(n,o,c,uc(t)?0:qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return IP.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}function Lut(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function XD(e,t){return e=e>>>0,av().subarray(e/1,e/1+t)}var bw=null;function B9(){return(bw===null||bw.byteLength===0)&&(bw=new Uint32Array(zt.memory.buffer)),bw}function wP(e,t){e=e>>>0;let i=B9().subarray(e/4,e/4+t),s=[];for(let n=0;n>>0,B9().subarray(e/4,e/4+t)}function Rut(e,t,r,i){zt.wasm_bindgen__convert__closures__invoke2_mut__h26b6dc7d05b06fdf(e,t,qe(r),qe(i))}var E8t=Object.freeze({V1:0,0:\"V1\",V2:1,1:\"V2\"}),P8t=Object.freeze({None:0,0:\"None\",Chunk:1,1:\"Chunk\",Page:2,2:\"Page\"}),I8t=Object.freeze({PLAIN:0,0:\"PLAIN\",PLAIN_DICTIONARY:1,1:\"PLAIN_DICTIONARY\",RLE:2,2:\"RLE\",BIT_PACKED:3,3:\"BIT_PACKED\",DELTA_BINARY_PACKED:4,4:\"DELTA_BINARY_PACKED\",DELTA_LENGTH_BYTE_ARRAY:5,5:\"DELTA_LENGTH_BYTE_ARRAY\",DELTA_BYTE_ARRAY:6,6:\"DELTA_BYTE_ARRAY\",RLE_DICTIONARY:7,7:\"RLE_DICTIONARY\",BYTE_STREAM_SPLIT:8,8:\"BYTE_STREAM_SPLIT\"}),C8t=Object.freeze({UNCOMPRESSED:0,0:\"UNCOMPRESSED\",SNAPPY:1,1:\"SNAPPY\",GZIP:2,2:\"GZIP\",BROTLI:3,3:\"BROTLI\",LZ4:4,4:\"LZ4\",ZSTD:5,5:\"ZSTD\",LZ4_RAW:6,6:\"LZ4_RAW\",LZO:7,7:\"LZO\"}),v9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_columnchunkmetadata_free(e>>>0)),SP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,v9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,v9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_columnchunkmetadata_free(t)}filePath(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_filePath(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}fileOffset(){return zt.columnchunkmetadata_fileOffset(this.__wbg_ptr)}columnPath(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_columnPath(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}encodings(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_encodings(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numValues(){return zt.columnchunkmetadata_numValues(this.__wbg_ptr)}compression(){return zt.columnchunkmetadata_compression(this.__wbg_ptr)}compressedSize(){return zt.columnchunkmetadata_compressedSize(this.__wbg_ptr)}uncompressedSize(){return zt.columnchunkmetadata_uncompressedSize(this.__wbg_ptr)}},L8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowarray_free(e>>>0));var x9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowschema_free(e>>>0)),TP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,x9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,x9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffiarrowschema_free(t)}addr(){return zt.ffiarrowschema_addr(this.__wbg_ptr)>>>0}},k8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffidata_free(e>>>0));var b9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffirecordbatch_free(e>>>0)),MP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,b9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,b9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffirecordbatch_free(t)}arrayAddr(){return zt.ffirecordbatch_arrayAddr(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffirecordbatch_schemaAddr(this.__wbg_ptr)>>>0}},w9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffitable_free(e>>>0)),EP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,w9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,w9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffitable_free(t)}numBatches(){return zt.ffitable_numBatches(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffitable_schemaAddr(this.__wbg_ptr)>>>0}arrayAddr(t){return zt.ffitable_arrayAddr(this.__wbg_ptr,t)>>>0}arrayAddrs(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.ffitable_arrayAddrs(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=kut(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}drop(){let t=this.__destroy_into_raw();zt.ffitable_drop(t)}},R8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffivector_free(e>>>0));var S9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_filemetadata_free(e>>>0)),HD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,S9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,S9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_filemetadata_free(t)}version(){return zt.filemetadata_version(this.__wbg_ptr)}numRows(){return zt.filemetadata_numRows(this.__wbg_ptr)}createdBy(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_createdBy(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}keyValueMetadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_keyValueMetadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},D8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingbytesource_free(e>>>0));var O8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsink_free(e>>>0));var T9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsource_free(e>>>0)),qD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,T9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,T9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_intounderlyingsource_free(t)}pull(t){let r=zt.intounderlyingsource_pull(this.__wbg_ptr,qe(t));return nn(r)}cancel(){let t=this.__destroy_into_raw();zt.intounderlyingsource_cancel(t)}},M9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetfile_free(e>>>0)),ZD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,M9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,M9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetfile_free(t)}static fromUrl(t,r){let i=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),s=hc,n=zt.parquetfile_fromUrl(i,s,uc(r)?0:qe(r));return nn(n)}static fromFile(t){let r=zt.parquetfile_fromFile(qe(t));return nn(r)}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetfile_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return YD.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}read(t){let r=zt.parquetfile_read(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}stream(t){let r=zt.parquetfile_stream(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}},E9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetmetadata_free(e>>>0)),YD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,E9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,E9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetmetadata_free(t)}fileMetadata(){let t=zt.parquetmetadata_fileMetadata(this.__wbg_ptr);return HD.__wrap(t)}numRowGroups(){return zt.parquetmetadata_numRowGroups(this.__wbg_ptr)>>>0}rowGroup(t){let r=zt.parquetmetadata_rowGroup(this.__wbg_ptr,t);return PP.__wrap(r)}rowGroups(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetmetadata_rowGroups(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},P9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_recordbatch_free(e>>>0)),QD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,P9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,P9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_recordbatch_free(t)}get numRows(){return zt.recordbatch_numRows(this.__wbg_ptr)>>>0}get numColumns(){return zt.recordbatch_numColumns(this.__wbg_ptr)>>>0}get schema(){let t=zt.recordbatch_schema(this.__wbg_ptr);return Sw.__wrap(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withSchema(t){try{let o=zt.__wbindgen_add_to_stack_pointer(-16);Lut(t,Sw);var r=t.__destroy_into_raw();zt.recordbatch_withSchema(o,this.__wbg_ptr,r);var i=Ue()[o/4+0],s=Ue()[o/4+1],n=Ue()[o/4+2];if(n)throw nn(s);return e.__wrap(i)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}slice(t,r){let i=zt.recordbatch_slice(this.__wbg_ptr,t,r);return e.__wrap(i)}getArrayMemorySize(){return zt.recordbatch_getArrayMemorySize(this.__wbg_ptr)>>>0}},I9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_rowgroupmetadata_free(e>>>0)),PP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,I9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,I9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_rowgroupmetadata_free(t)}numColumns(){return zt.rowgroupmetadata_numColumns(this.__wbg_ptr)>>>0}column(t){let r=zt.rowgroupmetadata_column(this.__wbg_ptr,t);return SP.__wrap(r)}columns(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.rowgroupmetadata_columns(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numRows(){return zt.rowgroupmetadata_numRows(this.__wbg_ptr)}totalByteSize(){return zt.rowgroupmetadata_totalByteSize(this.__wbg_ptr)}compressedSize(){return zt.rowgroupmetadata_compressedSize(this.__wbg_ptr)}},C9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_schema_free(e>>>0)),Sw=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,C9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,C9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_schema_free(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withMetadata(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_withMetadata(n,this.__wbg_ptr,qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}indexOf(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),c=hc;zt.schema_indexOf(n,this.__wbg_ptr,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return r>>>0}finally{zt.__wbindgen_add_to_stack_pointer(16)}}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},L9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_table_free(e>>>0)),IP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,L9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,L9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_table_free(t)}get schema(){let t=zt.table_schema(this.__wbg_ptr);return Sw.__wrap(t)}get numBatches(){return zt.table_numBatches(this.__wbg_ptr)>>>0}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}static fromIPCStream(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(t,zt.__wbindgen_malloc),c=hc;zt.table_fromIPCStream(n,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}getArrayMemorySize(){return zt.table_getArrayMemorySize(this.__wbg_ptr)>>>0}},B8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmgetoptions_free(e>>>0));var k9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectmeta_free(e>>>0)),$D=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,k9.register(r,r.__wbg_ptr,r),r}toJSON(){return{location:this.location,last_modified:this.last_modified,size:this.size,e_tag:this.e_tag,version:this.version}}toString(){return JSON.stringify(this)}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,k9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_wasmobjectmeta_free(t)}get location(){let t,r;try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_location(n,this.__wbg_ptr);var i=Ue()[n/4+0],s=Ue()[n/4+1];return t=i,r=s,tu(i,s)}finally{zt.__wbindgen_add_to_stack_pointer(16),zt.__wbindgen_free(t,r,1)}}set location(t){let r=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_location(this.__wbg_ptr,r,i)}get last_modified(){let t=zt.__wbg_get_wasmobjectmeta_last_modified(this.__wbg_ptr);return nn(t)}set last_modified(t){zt.__wbg_set_wasmobjectmeta_last_modified(this.__wbg_ptr,qe(t))}get size(){return zt.__wbg_get_wasmobjectmeta_size(this.__wbg_ptr)>>>0}set size(t){zt.__wbg_set_wasmobjectmeta_size(this.__wbg_ptr,t)}get e_tag(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_e_tag(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set e_tag(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_e_tag(this.__wbg_ptr,r,i)}get version(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_version(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set version(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_version(this.__wbg_ptr,r,i)}},F8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectstore_free(e>>>0));var z8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerproperties_free(e>>>0));var N8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerpropertiesbuilder_free(e>>>0));async function Dut(e,t){if(typeof Response==\"function\"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==\"function\")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get(\"Content-Type\")!=\"application/wasm\")console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",i);else throw i}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function Out(){let e={};return e.wbg={},e.wbg.__wbindgen_number_new=function(t){return qe(t)},e.wbg.__wbg_columnchunkmetadata_new=function(t){let r=SP.__wrap(t);return qe(r)},e.wbg.__wbg_rowgroupmetadata_new=function(t){let r=PP.__wrap(t);return qe(r)},e.wbg.__wbg_parquetfile_new=function(t){let r=ZD.__wrap(t);return qe(r)},e.wbg.__wbindgen_object_drop_ref=function(t){nn(t)},e.wbg.__wbindgen_object_clone_ref=function(t){let r=xe(t);return qe(r)},e.wbg.__wbindgen_error_new=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbindgen_is_undefined=function(t){return xe(t)===void 0},e.wbg.__wbindgen_in=function(t,r){return xe(t)in xe(r)},e.wbg.__wbindgen_is_bigint=function(t){return typeof xe(t)==\"bigint\"},e.wbg.__wbindgen_bigint_from_u64=function(t){let r=BigInt.asUintN(64,t);return qe(r)},e.wbg.__wbindgen_jsval_eq=function(t,r){return xe(t)===xe(r)},e.wbg.__wbindgen_is_object=function(t){let r=xe(t);return typeof r==\"object\"&&r!==null},e.wbg.__wbindgen_string_new=function(t,r){let i=tu(t,r);return qe(i)},e.wbg.__wbindgen_number_get=function(t,r){let i=xe(r),s=typeof i==\"number\"?i:void 0;Mut()[t/8+1]=uc(s)?0:s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbg_fetch_1db5b0ae726d68b5=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_wasmobjectmeta_new=function(t){let r=$D.__wrap(t);return qe(r)},e.wbg.__wbindgen_string_get=function(t,r){let i=xe(r),s=typeof i==\"string\"?i:void 0;var n=uc(s)?0:fp(s,zt.__wbindgen_malloc,zt.__wbindgen_realloc),o=hc;Ue()[t/4+1]=o,Ue()[t/4+0]=n},e.wbg.__wbg_fetch_bc7c8e27076a5c84=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_done_2ffa852272310e47=function(t){return xe(t).done},e.wbg.__wbg_value_9f6eeb1e2aab8d96=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_newwithintounderlyingsource_a03a82aa1bbbb292=function(t,r){let i=new ReadableStream(qD.__wrap(t),nn(r));return qe(i)},e.wbg.__wbg_getReader_ab94afcb5cb7689a=function(){return Ds(function(t){let r=xe(t).getReader();return qe(r)},arguments)},e.wbg.__wbg_sethighWaterMark_ea50ed3ec2143088=function(t,r){xe(t).highWaterMark=r},e.wbg.__wbg_recordbatch_new=function(t){let r=QD.__wrap(t);return qe(r)},e.wbg.__wbg_table_new=function(t){let r=IP.__wrap(t);return qe(r)},e.wbg.__wbindgen_jsval_loose_eq=function(t,r){return xe(t)==xe(r)},e.wbg.__wbindgen_boolean_get=function(t){let r=xe(t);return typeof r==\"boolean\"?r?1:0:2},e.wbg.__wbindgen_as_number=function(t){return+xe(t)},e.wbg.__wbg_String_b9412f8799faab3e=function(t,r){let i=String(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=function(t,r){let i=xe(t)[xe(r)];return qe(i)},e.wbg.__wbg_set_f975102236d3c502=function(t,r,i){xe(t)[nn(r)]=nn(i)},e.wbg.__wbindgen_cb_drop=function(t){let r=nn(t).original;return r.cnt--==1?(r.a=0,!0):!1},e.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=function(t){queueMicrotask(xe(t))},e.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=function(t){let r=xe(t).queueMicrotask;return qe(r)},e.wbg.__wbindgen_is_function=function(t){return typeof xe(t)==\"function\"},e.wbg.__wbg_fetch_921fad6ef9e883dd=function(t,r){let i=xe(t).fetch(xe(r));return qe(i)},e.wbg.__wbg_new_ab6fd82b10560829=function(){return Ds(function(){let t=new Headers;return qe(t)},arguments)},e.wbg.__wbg_append_7bfcb4937d1d5e29=function(){return Ds(function(t,r,i,s,n){xe(t).append(tu(r,i),tu(s,n))},arguments)},e.wbg.__wbg_close_a994f9425dab445c=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_enqueue_ea194723156c0cc2=function(){return Ds(function(t,r){xe(t).enqueue(xe(r))},arguments)},e.wbg.__wbg_size_9c7e57fbd4f0f4b5=function(t){return xe(t).size},e.wbg.__wbg_arrayBuffer_307ddd1bd1d04e23=function(t){let r=xe(t).arrayBuffer();return qe(r)},e.wbg.__wbg_slice_1991e6e71a6587f3=function(){return Ds(function(t,r,i){let s=xe(t).slice(r,i);return qe(s)},arguments)},e.wbg.__wbg_read_e7d0f8a49be01d86=function(t){let r=xe(t).read();return qe(r)},e.wbg.__wbg_releaseLock_5c49db976c08b864=function(t){xe(t).releaseLock()},e.wbg.__wbg_cancel_6ee33d4006737aef=function(t){let r=xe(t).cancel();return qe(r)},e.wbg.__wbg_byobRequest_72fca99f9c32c193=function(t){let r=xe(t).byobRequest;return uc(r)?0:qe(r)},e.wbg.__wbg_close_184931724d961ccc=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_instanceof_Response_849eb93e75734b6e=function(t){let r;try{r=xe(t)instanceof Response}catch{r=!1}return r},e.wbg.__wbg_url_5f6dc4009ac5f99d=function(t,r){let i=xe(r).url,s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_status_61a01141acd3cf74=function(t){return xe(t).status},e.wbg.__wbg_headers_9620bfada380764a=function(t){let r=xe(t).headers;return qe(r)},e.wbg.__wbg_body_9545a94f397829db=function(t){let r=xe(t).body;return uc(r)?0:qe(r)},e.wbg.__wbg_arrayBuffer_29931d52c7206b02=function(){return Ds(function(t){let r=xe(t).arrayBuffer();return qe(r)},arguments)},e.wbg.__wbg_signal_a61f78a3478fd9bc=function(t){let r=xe(t).signal;return qe(r)},e.wbg.__wbg_new_0d76b0581eca6298=function(){return Ds(function(){let t=new AbortController;return qe(t)},arguments)},e.wbg.__wbg_abort_2aa7521d5690750e=function(t){xe(t).abort()},e.wbg.__wbg_view_7f0ce470793a340f=function(t){let r=xe(t).view;return uc(r)?0:qe(r)},e.wbg.__wbg_respond_b1a43b2e3a06d525=function(){return Ds(function(t,r){xe(t).respond(r>>>0)},arguments)},e.wbg.__wbg_newwithstrandinit_3fd6fba4083ff2d0=function(){return Ds(function(t,r,i){let s=new Request(tu(t,r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_get_bd8e338fbd5f5cc8=function(t,r){let i=xe(t)[r>>>0];return qe(i)},e.wbg.__wbg_length_cd7af8117672b8b8=function(t){return xe(t).length},e.wbg.__wbg_newnoargs_e258087cd0daa0ea=function(t,r){let i=new Function(tu(t,r));return qe(i)},e.wbg.__wbg_new_d9bc3a0147634640=function(){return qe(new Map)},e.wbg.__wbg_next_40fc327bfc8770e6=function(t){let r=xe(t).next;return qe(r)},e.wbg.__wbg_next_196c84450b364254=function(){return Ds(function(t){let r=xe(t).next();return qe(r)},arguments)},e.wbg.__wbg_done_298b57d23c0fc80c=function(t){return xe(t).done},e.wbg.__wbg_value_d93c65011f51a456=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_iterator_2cee6dadfd956dfa=function(){return qe(Symbol.iterator)},e.wbg.__wbg_get_e3c254076557e348=function(){return Ds(function(t,r){let i=Reflect.get(xe(t),xe(r));return qe(i)},arguments)},e.wbg.__wbg_call_27c0f87801dedf93=function(){return Ds(function(t,r){let i=xe(t).call(xe(r));return qe(i)},arguments)},e.wbg.__wbg_new_72fb9a18b5ae2624=function(){let t=new Object;return qe(t)},e.wbg.__wbindgen_is_string=function(t){return typeof xe(t)==\"string\"},e.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return Ds(function(){let t=self.self;return qe(t)},arguments)},e.wbg.__wbg_window_c6fb939a7f436783=function(){return Ds(function(){let t=window.window;return qe(t)},arguments)},e.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return Ds(function(){let t=globalThis.globalThis;return qe(t)},arguments)},e.wbg.__wbg_global_207b558942527489=function(){return Ds(function(){let t=global.global;return qe(t)},arguments)},e.wbg.__wbg_isArray_2ab64d95e09ea0ae=function(t){return Array.isArray(xe(t))},e.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=function(t){let r;try{r=xe(t)instanceof ArrayBuffer}catch{r=!1}return r},e.wbg.__wbg_new_28c511d9baebfa89=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return Ds(function(t,r,i){let s=xe(t).call(xe(r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_set_8417257aaedc936b=function(t,r,i){let s=xe(t).set(xe(r),xe(i));return qe(s)},e.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=function(t){return Number.isSafeInteger(xe(t))},e.wbg.__wbg_new_cf3ec55744a78578=function(t){let r=new Date(xe(t));return qe(r)},e.wbg.__wbg_entries_95cc2c823b285a09=function(t){let r=Object.entries(xe(t));return qe(r)},e.wbg.__wbg_new_81740750da40724f=function(t,r){try{var i={a:t,b:r},s=(o,c)=>{let f=i.a;i.a=0;try{return Rut(f,i.b,o,c)}finally{i.a=f}};let n=new Promise(s);return qe(n)}finally{i.a=i.b=0}},e.wbg.__wbg_resolve_b0083a7967828ec8=function(t){let r=Promise.resolve(xe(t));return qe(r)},e.wbg.__wbg_catch_0260e338d10f79ae=function(t,r){let i=xe(t).catch(xe(r));return qe(i)},e.wbg.__wbg_then_0c86a60e8fcfe9f6=function(t,r){let i=xe(t).then(xe(r));return qe(i)},e.wbg.__wbg_then_a73caa9a87991566=function(t,r,i){let s=xe(t).then(xe(r),xe(i));return qe(s)},e.wbg.__wbg_buffer_12d079cc21e14bdb=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb=function(t,r,i){let s=new Uint8Array(xe(t),r>>>0,i>>>0);return qe(s)},e.wbg.__wbg_new_63b92bc8671ed464=function(t){let r=new Uint8Array(xe(t));return qe(r)},e.wbg.__wbg_set_a47bac70306a19a7=function(t,r,i){xe(t).set(xe(r),i>>>0)},e.wbg.__wbg_length_c20a40f15020d68a=function(t){return xe(t).length},e.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=function(t){let r;try{r=xe(t)instanceof Uint8Array}catch{r=!1}return r},e.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(t){let r=new Uint8Array(t>>>0);return qe(r)},e.wbg.__wbg_newwithbyteoffset_27c6424791adc775=function(t,r){let i=new Uint8Array(xe(t),r>>>0);return qe(i)},e.wbg.__wbg_buffer_dd7f74bc60f1faab=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_byteLength_58f7b4fab1919d44=function(t){return xe(t).byteLength},e.wbg.__wbg_byteOffset_81d60f7392524f62=function(t){return xe(t).byteOffset},e.wbg.__wbg_stringify_8887fe74e1c50d81=function(){return Ds(function(t){let r=JSON.stringify(xe(t));return qe(r)},arguments)},e.wbg.__wbg_has_0af94d20077affa2=function(){return Ds(function(t,r){return Reflect.has(xe(t),xe(r))},arguments)},e.wbg.__wbg_set_1f9b04f170055d33=function(){return Ds(function(t,r,i){return Reflect.set(xe(t),xe(r),xe(i))},arguments)},e.wbg.__wbindgen_bigint_get_as_i64=function(t,r){let i=xe(r),s=typeof i==\"bigint\"?i:void 0;Put()[t/8+1]=uc(s)?BigInt(0):s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbindgen_debug_string=function(t,r){let i=WD(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbindgen_throw=function(t,r){throw new Error(tu(t,r))},e.wbg.__wbindgen_memory=function(){let t=zt.memory;return qe(t)},e.wbg.__wbindgen_function_table=function(){let t=zt.__wbindgen_export_2;return qe(t)},e.wbg.__wbindgen_closure_wrapper13295=function(t,r,i){let s=Iut(t,r,3248,Cut);return qe(s)},e}function But(e,t){return zt=e.exports,F9.__wbindgen_wasm_module=t,xw=null,yw=null,vw=null,bw=null,_w=null,zt}async function F9(e){if(zt!==void 0)return zt;typeof e>\"u\"&&(e=new URL(\"parquet_wasm_bg.wasm\",import.meta.url));let t=Out();(typeof e==\"string\"||typeof Request==\"function\"&&e instanceof Request||typeof URL==\"function\"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await Dut(await e,t);return But(r,i)}var z9=F9;function U9(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var s=0,i=Object.getOwnPropertySymbols(e);s=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ii(e){return this instanceof ii?(this.v=e,this):new ii(e)}function eu(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i=r.apply(e,t||[]),s,n=[];return s={},o(\"next\"),o(\"throw\"),o(\"return\"),s[Symbol.asyncIterator]=function(){return this},s;function o(R){i[R]&&(s[R]=function(N){return new Promise(function(j,Q){n.push([R,N,j,Q])>1||c(R,N)})})}function c(R,N){try{f(i[R](N))}catch(j){I(n[0][3],j)}}function f(R){R.value instanceof ii?Promise.resolve(R.value.v).then(_,w):I(n[0][2],R)}function _(R){c(\"next\",R)}function w(R){c(\"throw\",R)}function I(R,N){R(N),n.shift(),n.length&&c(n[0][0],n[0][1])}}function lv(e){var t,r;return t={},i(\"next\"),i(\"throw\",function(s){throw s}),i(\"return\"),t[Symbol.iterator]=function(){return this},t;function i(s,n){t[s]=e[s]?function(o){return(r=!r)?{value:ii(e[s](o)),done:!1}:n?n(o):o}:n}}function Zh(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof N9==\"function\"?N9(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}}var iO={};mA(iO,{compareArrayLike:()=>rO,joinUint8Arrays:()=>iu,memcpy:()=>Ew,rebaseValueOffsets:()=>FP,toArrayBufferView:()=>Ai,toArrayBufferViewAsyncIterator:()=>Qh,toArrayBufferViewIterator:()=>td,toBigInt64Array:()=>BP,toBigUint64Array:()=>Hut,toFloat32Array:()=>qut,toFloat32ArrayAsyncIterator:()=>lht,toFloat32ArrayIterator:()=>tht,toFloat64Array:()=>Zut,toFloat64ArrayAsyncIterator:()=>cht,toFloat64ArrayIterator:()=>eht,toInt16Array:()=>jut,toInt16ArrayAsyncIterator:()=>nht,toInt16ArrayIterator:()=>$ut,toInt32Array:()=>yg,toInt32ArrayAsyncIterator:()=>sht,toInt32ArrayIterator:()=>Xut,toInt8Array:()=>Vut,toInt8ArrayAsyncIterator:()=>iht,toInt8ArrayIterator:()=>Qut,toUint16Array:()=>Gut,toUint16ArrayAsyncIterator:()=>oht,toUint16ArrayIterator:()=>Kut,toUint32Array:()=>Wut,toUint32ArrayAsyncIterator:()=>aht,toUint32ArrayIterator:()=>Jut,toUint8Array:()=>Rr,toUint8ArrayAsyncIterator:()=>eO,toUint8ArrayIterator:()=>tO,toUint8ClampedArray:()=>Yut,toUint8ClampedArrayAsyncIterator:()=>uht,toUint8ClampedArrayIterator:()=>rht});var Fut=new TextDecoder(\"utf-8\"),Tw=e=>Fut.decode(e),zut=new TextEncoder,Jf=e=>zut.encode(e);var Nut=e=>typeof e==\"number\",V9=e=>typeof e==\"boolean\",Oo=e=>typeof e==\"function\",Cl=e=>e!=null&&Object(e)===e,ru=e=>Cl(e)&&Oo(e.then);var Yh=e=>Cl(e)&&Oo(e[Symbol.iterator]),Nu=e=>Cl(e)&&Oo(e[Symbol.asyncIterator]),CP=e=>Cl(e)&&Cl(e.schema);var LP=e=>Cl(e)&&\"done\"in e&&\"value\"in e;var kP=e=>Cl(e)&&Oo(e.stat)&&Nut(e.fd);var RP=e=>Cl(e)&&Mw(e.body),DP=e=>\"_getDOMStream\"in e&&\"_getNodeStream\"in e,j9=e=>Cl(e)&&Oo(e.abort)&&Oo(e.getWriter)&&!DP(e),Mw=e=>Cl(e)&&Oo(e.cancel)&&Oo(e.getReader)&&!DP(e),G9=e=>Cl(e)&&Oo(e.end)&&Oo(e.write)&&V9(e.writable)&&!DP(e),OP=e=>Cl(e)&&Oo(e.read)&&Oo(e.pipe)&&V9(e.readable)&&!DP(e),W9=e=>Cl(e)&&Oo(e.clear)&&Oo(e.bytes)&&Oo(e.position)&&Oo(e.setPosition)&&Oo(e.capacity)&&Oo(e.getBufferIdentifier)&&Oo(e.createLong);var JD=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:ArrayBuffer;function Uut(e){let t=e[0]?[e[0]]:[],r,i,s,n;for(let o,c,f=0,_=0,w=e.length;++fw+I.byteLength,0),s,n,o,c=0,f=-1,_=Math.min(t||Number.POSITIVE_INFINITY,i);for(let w=r.length;++fAi(Int8Array,e),jut=e=>Ai(Int16Array,e),yg=e=>Ai(Int32Array,e),BP=e=>Ai(BigInt64Array,e),Rr=e=>Ai(Uint8Array,e),Gut=e=>Ai(Uint16Array,e),Wut=e=>Ai(Uint32Array,e),Hut=e=>Ai(BigUint64Array,e),qut=e=>Ai(Float32Array,e),Zut=e=>Ai(Float64Array,e),Yut=e=>Ai(Uint8ClampedArray,e),KD=e=>(e.next(),e);function*td(e,t){let r=function*(s){yield s},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?r(t):Yh(t)?t:r(t);return yield*KD(function*(s){let n=null;do n=s.next(yield Ai(e,n));while(!n.done)}(i[Symbol.iterator]())),new e}var Qut=e=>td(Int8Array,e),$ut=e=>td(Int16Array,e),Xut=e=>td(Int32Array,e),tO=e=>td(Uint8Array,e),Kut=e=>td(Uint16Array,e),Jut=e=>td(Uint32Array,e),tht=e=>td(Float32Array,e),eht=e=>td(Float64Array,e),rht=e=>td(Uint8ClampedArray,e);function Qh(e,t){return eu(this,arguments,function*(){if(ru(t))return yield ii(yield ii(yield*lv(Zh(Qh(e,yield ii(t))))));let i=function(o){return eu(this,arguments,function*(){yield yield ii(yield ii(o))})},s=function(o){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(KD(function*(c){let f=null;do f=c.next(yield f?.value);while(!f.done)}(o[Symbol.iterator]())))))})},n=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?i(t):Yh(t)?s(t):Nu(t)?t:i(t);return yield ii(yield*lv(Zh(KD(function(o){return eu(this,arguments,function*(){let c=null;do c=yield ii(o.next(yield yield ii(Ai(e,c))));while(!c.done)})}(n[Symbol.asyncIterator]()))))),yield ii(new e)})}var iht=e=>Qh(Int8Array,e),nht=e=>Qh(Int16Array,e),sht=e=>Qh(Int32Array,e),eO=e=>Qh(Uint8Array,e),oht=e=>Qh(Uint16Array,e),aht=e=>Qh(Uint32Array,e),lht=e=>Qh(Float32Array,e),cht=e=>Qh(Float64Array,e),uht=e=>Qh(Uint8ClampedArray,e);function FP(e,t,r){if(e!==0){r=r.slice(0,t);for(let i=-1,s=r.length;++i0)do if(e[r]!==t[r])return!1;while(++r(e.next(),e);function*hht(e){let t,r=!1,i=[],s,n,o,c=0;function f(){return n===\"peek\"?iu(i,o)[0]:([s,i,c]=iu(i,o),s)}({cmd:n,size:o}=(yield null)||{cmd:\"read\",size:0});let _=tO(e)[Symbol.iterator]();try{do if({done:t,value:s}=Number.isNaN(o-c)?_.next():_.next(o-c),!t&&s.byteLength>0&&(i.push(s),c+=s.byteLength),t||o<=c)do({cmd:n,size:o}=yield f());while(o0&&(s.push(n),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c0&&(s.push(Rr(n)),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return ar(this,void 0,void 0,function*(){let{reader:r,source:i}=this;r&&(yield r.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return ar(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let r=yield this.reader.read();return!r.done&&(r.value=Rr(r)),r})}},nO=(e,t)=>{let r=s=>i([t,s]),i;return[t,r,new Promise(s=>(i=s)&&e.once(t,r))]};function pht(e){return eu(this,arguments,function*(){let r=[],i=\"error\",s=!1,n=null,o,c,f=0,_=[],w;function I(){return o===\"peek\"?iu(_,c)[0]:([w,_,f]=iu(_,c),w)}if({cmd:o,size:c}=(yield yield ii(null))||{cmd:\"read\",size:0},e.isTTY)return yield yield ii(new Uint8Array(0)),yield ii(null);try{r[0]=nO(e,\"end\"),r[1]=nO(e,\"error\");do{if(r[2]=nO(e,\"readable\"),[i,n]=yield ii(Promise.race(r.map(N=>N[2]))),i===\"error\")break;if((s=i===\"end\")||(Number.isFinite(c-f)?(w=Rr(e.read(c-f)),w.byteLength0&&(_.push(w),f+=w.byteLength)),s||c<=f)do({cmd:o,size:c}=yield yield ii(I()));while(c{for(let[Y,K]of N)e.off(Y,K);try{let Y=e.destroy;Y&&Y.call(e,j),j=void 0}catch(Y){j=Y||j}finally{j!=null?et(j):Q()}})}})}var sn;(function(e){e[e.V1=0]=\"V1\",e[e.V2=1]=\"V2\",e[e.V3=2]=\"V3\",e[e.V4=3]=\"V4\",e[e.V5=4]=\"V5\"})(sn||(sn={}));var Pn;(function(e){e[e.Sparse=0]=\"Sparse\",e[e.Dense=1]=\"Dense\"})(Pn||(Pn={}));var $i;(function(e){e[e.HALF=0]=\"HALF\",e[e.SINGLE=1]=\"SINGLE\",e[e.DOUBLE=2]=\"DOUBLE\"})($i||($i={}));var Os;(function(e){e[e.DAY=0]=\"DAY\",e[e.MILLISECOND=1]=\"MILLISECOND\"})(Os||(Os={}));var Ar;(function(e){e[e.SECOND=0]=\"SECOND\",e[e.MILLISECOND=1]=\"MILLISECOND\",e[e.MICROSECOND=2]=\"MICROSECOND\",e[e.NANOSECOND=3]=\"NANOSECOND\"})(Ar||(Ar={}));var Bo;(function(e){e[e.YEAR_MONTH=0]=\"YEAR_MONTH\",e[e.DAY_TIME=1]=\"DAY_TIME\",e[e.MONTH_DAY_NANO=2]=\"MONTH_DAY_NANO\"})(Bo||(Bo={}));var ed=new Int32Array(2),NP=new Float32Array(ed.buffer),UP=new Float64Array(ed.buffer),cv=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Pw;(function(e){e[e.UTF8_BYTES=1]=\"UTF8_BYTES\",e[e.UTF16_STRING=2]=\"UTF16_STRING\"})(Pw||(Pw={}));var nu=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8}writeInt32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeUint32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeInt64(t,r){this.writeInt32(t,Number(BigInt.asIntN(32,r))),this.writeInt32(t+4,Number(BigInt.asIntN(32,r>>BigInt(32))))}writeUint64(t,r){this.writeUint32(t,Number(BigInt.asUintN(32,r))),this.writeUint32(t+4,Number(BigInt.asUintN(32,r>>BigInt(32))))}writeFloat32(t,r){NP[0]=r,this.writeInt32(t,ed[0])}writeFloat64(t,r){UP[0]=r,this.writeInt32(t,ed[cv?0:1]),this.writeInt32(t+4,ed[cv?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+r)+1&t-1;for(;this.space=0&&this.vtable[r]==0;r--);let i=r+1;for(;r>=0;r--)this.addInt16(this.vtable[r]!=0?t-this.vtable[r]:0);let s=2;this.addInt16(t-this.object_start);let n=(i+s)*2;this.addInt16(n);let o=0,c=this.space;t:for(r=0;r=0;o--)this.writeInt8(n.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(t),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,r){this.finish(t,r,!0)}requiredField(t,r){let i=this.bb.capacity()-t,s=i-this.bb.readInt32(i);if(!(r=0;i--)t.addInt32(r[i]);return t.endVector()}static startTypeIdsVector(t,r){t.startVector(4,r,4)}static endUnion(t){return t.endObject()}static createUnion(t,r,i){return e.startUnion(t),e.addMode(t,r),e.addTypeIds(t,i),e.endUnion(t)}};var Nw=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsUtf8(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var In;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.FloatingPoint=3]=\"FloatingPoint\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct_=13]=\"Struct_\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.LargeList=21]=\"LargeList\",e[e.RunEndEncoded=22]=\"RunEndEncoded\"})(In||(In={}));var nl=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsField(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):In.NONE}type(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(t,this.bb_pos+r):null}dictionary(t){let r=this.bb.__offset(this.bb_pos,12);return r?(t||new rd).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}children(t,r){let i=this.bb.__offset(this.bb_pos,14);return i?(r||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,16);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,r){t.addFieldOffset(0,r,0)}static addNullable(t,r){t.addFieldInt8(1,+r,0)}static addTypeType(t,r){t.addFieldInt8(2,r,In.NONE)}static addType(t,r){t.addFieldOffset(3,r,0)}static addDictionary(t,r){t.addFieldOffset(4,r,0)}static addChildren(t,r){t.addFieldOffset(5,r,0)}static createChildrenVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startChildrenVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(6,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endField(t){return t.endObject()}};var fc=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSchema(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):im.Little}fields(t,r){let i=this.bb.__offset(this.bb_pos,6);return i?(r||new nl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,r){t.addFieldInt16(0,r,im.Little)}static addFields(t,r){t.addFieldOffset(1,r,0)}static createFieldsVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startFieldsVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(2,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static addFeatures(t,r){t.addFieldOffset(3,r,0)}static createFeaturesVector(t,r){t.startVector(8,r.length,8);for(let i=r.length-1;i>=0;i--)t.addInt64(r[i]);return t.endVector()}static startFeaturesVector(t,r){t.startVector(8,r,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,r){t.finish(r)}static finishSizePrefixedSchemaBuffer(t,r){t.finish(r,void 0,!0)}static createSchema(t,r,i,s,n){return e.startSchema(t),e.addEndianness(t,r),e.addFields(t,i),e.addCustomMetadata(t,s),e.addFeatures(t,n),e.endSchema(t)}};var wi;(function(e){e[e.NONE=0]=\"NONE\",e[e.Schema=1]=\"Schema\",e[e.DictionaryBatch=2]=\"DictionaryBatch\",e[e.RecordBatch=3]=\"RecordBatch\",e[e.Tensor=4]=\"Tensor\",e[e.SparseTensor=5]=\"SparseTensor\"})(wi||(wi={}));var Ot;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\",e[e.DurationSecond=-27]=\"DurationSecond\",e[e.DurationMillisecond=-28]=\"DurationMillisecond\",e[e.DurationMicrosecond=-29]=\"DurationMicrosecond\",e[e.DurationNanosecond=-30]=\"DurationNanosecond\"})(Ot||(Ot={}));var Oi;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(Oi||(Oi={}));var TO={};mA(TO,{clampRange:()=>Kw,createElementComparator:()=>pm,wrapIndex:()=>xg});var oO={};mA(oO,{valueToString:()=>Jh});function Jh(e){if(e===null)return\"null\";if(e===void 0)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Jh(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,r)=>typeof r==\"bigint\"?`${r}`:r)}var uO={};mA(uO,{BN:()=>Vw,bigNumToBigInt:()=>q9,bigNumToNumber:()=>cO,bigNumToString:()=>pv,isArrowBigNumSymbol:()=>H9});function Wi(e){if(typeof e==\"bigint\"&&(eNumber.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function aO(e,t){return Wi(e/t)+Wi(e%t)/Wi(t)}var H9=Symbol.for(\"isArrowBigNum\");function tf(e,...t){return t.length===0?Object.setPrototypeOf(Ai(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}tf.prototype[H9]=!0;tf.prototype.toJSON=function(){return`\"${pv(this)}\"`};tf.prototype.valueOf=function(e){return cO(this,e)};tf.prototype.toString=function(){return pv(this)};tf.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return cO(this);case\"string\":return pv(this);case\"default\":return q9(this)}return pv(this)};function fv(...e){return tf.apply(this,e)}function dv(...e){return tf.apply(this,e)}function Uw(...e){return tf.apply(this,e)}Object.setPrototypeOf(fv.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(dv.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Uw.prototype,Object.create(Uint32Array.prototype));Object.assign(fv.prototype,tf.prototype,{constructor:fv,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(dv.prototype,tf.prototype,{constructor:dv,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Uw.prototype,tf.prototype,{constructor:Uw,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Aht=BigInt(4294967296)*BigInt(4294967296),mht=Aht-BigInt(1);function cO(e,t){let{buffer:r,byteOffset:i,byteLength:s,signed:n}=e,o=new BigUint64Array(r,i,s/8),c=n&&o.at(-1)&BigInt(1)<=0)return lO(e);t=t.slice();let i=1;for(let n=0;n(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=\"DataType\"))(ze.prototype);var ea=class extends ze{constructor(){super(Ot.Null)}toString(){return\"Null\"}};Y9=Symbol.toStringTag;ea[Y9]=(e=>e[Symbol.toStringTag]=\"Null\")(ea.prototype);var Bs=class extends ze{constructor(t,r){super(Ot.Int),this.isSigned=t,this.bitWidth=r}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}};Q9=Symbol.toStringTag;Bs[Q9]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(Bs.prototype);var jw=class extends Bs{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},Gw=class extends Bs{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},ef=class extends Bs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},Ww=class extends Bs{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},Hw=class extends Bs{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},qw=class extends Bs{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Zw=class extends Bs{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Yw=class extends Bs{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(jw.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(Gw.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(ef.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(Ww.prototype,\"ArrayType\",{value:BigInt64Array});Object.defineProperty(Hw.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(Zw.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(Yw.prototype,\"ArrayType\",{value:BigUint64Array});var ra=class extends ze{constructor(t){super(Ot.Float),this.precision=t}get ArrayType(){switch(this.precision){case $i.HALF:return Uint16Array;case $i.SINGLE:return Float32Array;case $i.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};$9=Symbol.toStringTag;ra[$9]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(ra.prototype);var Qw=class extends ra{constructor(){super($i.HALF)}},$w=class extends ra{constructor(){super($i.SINGLE)}},Av=class extends ra{constructor(){super($i.DOUBLE)}};Object.defineProperty(Qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty($w.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(Av.prototype,\"ArrayType\",{value:Float64Array});var Vu=class extends ze{constructor(){super(Ot.Binary)}toString(){return\"Binary\"}};X9=Symbol.toStringTag;Vu[X9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Vu.prototype);var nd=class extends ze{constructor(){super(Ot.LargeBinary)}toString(){return\"LargeBinary\"}};K9=Symbol.toStringTag;nd[K9]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeBinary\"))(nd.prototype);var ju=class extends ze{constructor(){super(Ot.Utf8)}toString(){return\"Utf8\"}};J9=Symbol.toStringTag;ju[J9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ju.prototype);var sd=class extends ze{constructor(){super(Ot.LargeUtf8)}toString(){return\"LargeUtf8\"}};tW=Symbol.toStringTag;sd[tW]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeUtf8\"))(sd.prototype);var dc=class extends ze{constructor(){super(Ot.Bool)}toString(){return\"Bool\"}};eW=Symbol.toStringTag;dc[eW]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(dc.prototype);var Gu=class extends ze{constructor(t,r,i=128){super(Ot.Decimal),this.scale=t,this.precision=r,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}};rW=Symbol.toStringTag;Gu[rW]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(Gu.prototype);var Wu=class extends ze{constructor(t){super(Ot.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Os[this.unit]}>`}get ArrayType(){return this.unit===Os.DAY?Int32Array:BigInt64Array}};iW=Symbol.toStringTag;Wu[iW]=(e=>(e.unit=null,e[Symbol.toStringTag]=\"Date\"))(Wu.prototype);var Hu=class extends ze{constructor(t,r){super(Ot.Time),this.unit=t,this.bitWidth=r}toString(){return`Time${this.bitWidth}<${Ar[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};nW=Symbol.toStringTag;Hu[nW]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Time\"))(Hu.prototype);var qu=class extends ze{constructor(t,r){super(Ot.Timestamp),this.unit=t,this.timezone=r}toString(){return`Timestamp<${Ar[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}};sW=Symbol.toStringTag;qu[sW]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Timestamp\"))(qu.prototype);var Zu=class extends ze{constructor(t){super(Ot.Interval),this.unit=t}toString(){return`Interval<${Bo[this.unit]}>`}};oW=Symbol.toStringTag;Zu[oW]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(Zu.prototype);var Yu=class extends ze{constructor(t){super(Ot.Duration),this.unit=t}toString(){return`Duration<${Ar[this.unit]}>`}};aW=Symbol.toStringTag;Yu[aW]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Duration\"))(Yu.prototype);var sl=class extends ze{constructor(t){super(Ot.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};lW=Symbol.toStringTag;sl[lW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(sl.prototype);var pn=class extends ze{constructor(t){super(Ot.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};cW=Symbol.toStringTag;pn[cW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(pn.prototype);var pc=class extends ze{constructor(t,r,i){super(Ot.Union),this.mode=t,this.children=i,this.typeIds=r=Int32Array.from(r),this.typeIdToChildIndex=r.reduce((s,n,o)=>(s[n]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}};uW=Symbol.toStringTag;pc[uW]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(pc.prototype);var Qu=class extends ze{constructor(t){super(Ot.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};hW=Symbol.toStringTag;Qu[hW]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(Qu.prototype);var Ll=class extends ze{constructor(t,r){super(Ot.FixedSizeList),this.listSize=t,this.children=[r]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};fW=Symbol.toStringTag;Ll[fW]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Ll.prototype);var Ac=class extends ze{constructor(t,r=!1){var i,s,n;if(super(Ot.Map),this.children=[t],this.keysSorted=r,t&&(t.name=\"entries\",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(s=t?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name=\"key\");let c=(n=t?.type)===null||n===void 0?void 0:n.children[1];c&&(c.name=\"value\")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};dW=Symbol.toStringTag;Ac[dW]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Ac.prototype);var ght=(e=>()=>++e)(-1),mc=class extends ze{constructor(t,r,i,s){super(Ot.Dictionary),this.indices=r,this.dictionary=t,this.isOrdered=s||!1,this.id=i==null?ght():Wi(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};pW=Symbol.toStringTag;mc[pW]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(mc.prototype);function ou(e){let t=e;switch(e.typeId){case Ot.Decimal:return e.bitWidth/32;case Ot.Interval:return 1+t.unit;case Ot.FixedSizeList:return t.listSize;case Ot.FixedSizeBinary:return t.byteWidth;default:return 1}}var Er=class{visitMany(t,...r){return t.map((i,s)=>this.visit(i,...r.map(n=>n[s])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,r=!0){return _ht(this,t,r)}getVisitFnByTypeId(t,r=!0){return mv(this,t,r)}visitNull(t,...r){return null}visitBool(t,...r){return null}visitInt(t,...r){return null}visitFloat(t,...r){return null}visitUtf8(t,...r){return null}visitLargeUtf8(t,...r){return null}visitBinary(t,...r){return null}visitLargeBinary(t,...r){return null}visitFixedSizeBinary(t,...r){return null}visitDate(t,...r){return null}visitTimestamp(t,...r){return null}visitTime(t,...r){return null}visitDecimal(t,...r){return null}visitList(t,...r){return null}visitStruct(t,...r){return null}visitUnion(t,...r){return null}visitDictionary(t,...r){return null}visitInterval(t,...r){return null}visitDuration(t,...r){return null}visitFixedSizeList(t,...r){return null}visitMap(t,...r){return null}};function _ht(e,t,r=!0){return typeof t==\"number\"?mv(e,t,r):typeof t==\"string\"&&t in Ot?mv(e,Ot[t],r):t&&t instanceof ze?mv(e,AW(t),r):t?.type&&t.type instanceof ze?mv(e,AW(t.type),r):mv(e,Ot.NONE,r)}function mv(e,t,r=!0){let i=null;switch(t){case Ot.Null:i=e.visitNull;break;case Ot.Bool:i=e.visitBool;break;case Ot.Int:i=e.visitInt;break;case Ot.Int8:i=e.visitInt8||e.visitInt;break;case Ot.Int16:i=e.visitInt16||e.visitInt;break;case Ot.Int32:i=e.visitInt32||e.visitInt;break;case Ot.Int64:i=e.visitInt64||e.visitInt;break;case Ot.Uint8:i=e.visitUint8||e.visitInt;break;case Ot.Uint16:i=e.visitUint16||e.visitInt;break;case Ot.Uint32:i=e.visitUint32||e.visitInt;break;case Ot.Uint64:i=e.visitUint64||e.visitInt;break;case Ot.Float:i=e.visitFloat;break;case Ot.Float16:i=e.visitFloat16||e.visitFloat;break;case Ot.Float32:i=e.visitFloat32||e.visitFloat;break;case Ot.Float64:i=e.visitFloat64||e.visitFloat;break;case Ot.Utf8:i=e.visitUtf8;break;case Ot.LargeUtf8:i=e.visitLargeUtf8;break;case Ot.Binary:i=e.visitBinary;break;case Ot.LargeBinary:i=e.visitLargeBinary;break;case Ot.FixedSizeBinary:i=e.visitFixedSizeBinary;break;case Ot.Date:i=e.visitDate;break;case Ot.DateDay:i=e.visitDateDay||e.visitDate;break;case Ot.DateMillisecond:i=e.visitDateMillisecond||e.visitDate;break;case Ot.Timestamp:i=e.visitTimestamp;break;case Ot.TimestampSecond:i=e.visitTimestampSecond||e.visitTimestamp;break;case Ot.TimestampMillisecond:i=e.visitTimestampMillisecond||e.visitTimestamp;break;case Ot.TimestampMicrosecond:i=e.visitTimestampMicrosecond||e.visitTimestamp;break;case Ot.TimestampNanosecond:i=e.visitTimestampNanosecond||e.visitTimestamp;break;case Ot.Time:i=e.visitTime;break;case Ot.TimeSecond:i=e.visitTimeSecond||e.visitTime;break;case Ot.TimeMillisecond:i=e.visitTimeMillisecond||e.visitTime;break;case Ot.TimeMicrosecond:i=e.visitTimeMicrosecond||e.visitTime;break;case Ot.TimeNanosecond:i=e.visitTimeNanosecond||e.visitTime;break;case Ot.Decimal:i=e.visitDecimal;break;case Ot.List:i=e.visitList;break;case Ot.Struct:i=e.visitStruct;break;case Ot.Union:i=e.visitUnion;break;case Ot.DenseUnion:i=e.visitDenseUnion||e.visitUnion;break;case Ot.SparseUnion:i=e.visitSparseUnion||e.visitUnion;break;case Ot.Dictionary:i=e.visitDictionary;break;case Ot.Interval:i=e.visitInterval;break;case Ot.IntervalDayTime:i=e.visitIntervalDayTime||e.visitInterval;break;case Ot.IntervalYearMonth:i=e.visitIntervalYearMonth||e.visitInterval;break;case Ot.Duration:i=e.visitDuration;break;case Ot.DurationSecond:i=e.visitDurationSecond||e.visitDuration;break;case Ot.DurationMillisecond:i=e.visitDurationMillisecond||e.visitDuration;break;case Ot.DurationMicrosecond:i=e.visitDurationMicrosecond||e.visitDuration;break;case Ot.DurationNanosecond:i=e.visitDurationNanosecond||e.visitDuration;break;case Ot.FixedSizeList:i=e.visitFixedSizeList;break;case Ot.Map:i=e.visitMap;break}if(typeof i==\"function\")return i;if(!r)return()=>null;throw new Error(`Unrecognized type '${Ot[t]}'`)}function AW(e){switch(e.typeId){case Ot.Null:return Ot.Null;case Ot.Int:{let{bitWidth:t,isSigned:r}=e;switch(t){case 8:return r?Ot.Int8:Ot.Uint8;case 16:return r?Ot.Int16:Ot.Uint16;case 32:return r?Ot.Int32:Ot.Uint32;case 64:return r?Ot.Int64:Ot.Uint64}return Ot.Int}case Ot.Float:switch(e.precision){case $i.HALF:return Ot.Float16;case $i.SINGLE:return Ot.Float32;case $i.DOUBLE:return Ot.Float64}return Ot.Float;case Ot.Binary:return Ot.Binary;case Ot.LargeBinary:return Ot.LargeBinary;case Ot.Utf8:return Ot.Utf8;case Ot.LargeUtf8:return Ot.LargeUtf8;case Ot.Bool:return Ot.Bool;case Ot.Decimal:return Ot.Decimal;case Ot.Time:switch(e.unit){case Ar.SECOND:return Ot.TimeSecond;case Ar.MILLISECOND:return Ot.TimeMillisecond;case Ar.MICROSECOND:return Ot.TimeMicrosecond;case Ar.NANOSECOND:return Ot.TimeNanosecond}return Ot.Time;case Ot.Timestamp:switch(e.unit){case Ar.SECOND:return Ot.TimestampSecond;case Ar.MILLISECOND:return Ot.TimestampMillisecond;case Ar.MICROSECOND:return Ot.TimestampMicrosecond;case Ar.NANOSECOND:return Ot.TimestampNanosecond}return Ot.Timestamp;case Ot.Date:switch(e.unit){case Os.DAY:return Ot.DateDay;case Os.MILLISECOND:return Ot.DateMillisecond}return Ot.Date;case Ot.Interval:switch(e.unit){case Bo.DAY_TIME:return Ot.IntervalDayTime;case Bo.YEAR_MONTH:return Ot.IntervalYearMonth}return Ot.Interval;case Ot.Duration:switch(e.unit){case Ar.SECOND:return Ot.DurationSecond;case Ar.MILLISECOND:return Ot.DurationMillisecond;case Ar.MICROSECOND:return Ot.DurationMicrosecond;case Ar.NANOSECOND:return Ot.DurationNanosecond}return Ot.Duration;case Ot.Map:return Ot.Map;case Ot.List:return Ot.List;case Ot.Struct:return Ot.Struct;case Ot.Union:switch(e.mode){case Pn.Dense:return Ot.DenseUnion;case Pn.Sparse:return Ot.SparseUnion}return Ot.Union;case Ot.FixedSizeBinary:return Ot.FixedSizeBinary;case Ot.FixedSizeList:return Ot.FixedSizeList;case Ot.Dictionary:return Ot.Dictionary}throw new Error(`Unrecognized type '${Ot[e.typeId]}'`)}Er.prototype.visitInt8=null;Er.prototype.visitInt16=null;Er.prototype.visitInt32=null;Er.prototype.visitInt64=null;Er.prototype.visitUint8=null;Er.prototype.visitUint16=null;Er.prototype.visitUint32=null;Er.prototype.visitUint64=null;Er.prototype.visitFloat16=null;Er.prototype.visitFloat32=null;Er.prototype.visitFloat64=null;Er.prototype.visitDateDay=null;Er.prototype.visitDateMillisecond=null;Er.prototype.visitTimestampSecond=null;Er.prototype.visitTimestampMillisecond=null;Er.prototype.visitTimestampMicrosecond=null;Er.prototype.visitTimestampNanosecond=null;Er.prototype.visitTimeSecond=null;Er.prototype.visitTimeMillisecond=null;Er.prototype.visitTimeMicrosecond=null;Er.prototype.visitTimeNanosecond=null;Er.prototype.visitDenseUnion=null;Er.prototype.visitSparseUnion=null;Er.prototype.visitIntervalDayTime=null;Er.prototype.visitIntervalYearMonth=null;Er.prototype.visitDuration=null;Er.prototype.visitDurationSecond=null;Er.prototype.visitDurationMillisecond=null;Er.prototype.visitDurationMicrosecond=null;Er.prototype.visitDurationNanosecond=null;var hO={};mA(hO,{float64ToUint16:()=>Xw,uint16ToFloat64:()=>GP});var mW=new Float64Array(1),gv=new Uint32Array(mW.buffer);function GP(e){let t=(e&31744)>>10,r=(e&1023)/1024,i=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return i*(r?Number.NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*Math.pow(2,t-15)*(1+r)}function Xw(e){if(e!==e)return 32256;mW[0]=e;let t=(gv[1]&2147483648)>>16&65535,r=gv[1]&2146435072,i=0;return r>=1089470464?gv[0]>0?r=31744:(r=(r&2080374784)>>16,i=(gv[1]&1048575)>>10):r<=1056964608?(i=1048576+(gv[1]&1048575),i=1048576+(i<<(r>>20)-998)>>21,r=0):(r=r-1056964608>>10,i=(gv[1]&1048575)+512>>10),t|r|i&65535}var kr=class extends Er{};function Wr(e){return(t,r,i)=>{if(t.setValid(r,i!=null))return e(t,r,i)}}var yht=(e,t,r)=>{e[t]=Math.floor(r/864e5)},gW=(e,t,r,i)=>{if(r+1{let s=e+r;i?t[s>>3]|=1<>3]&=~(1<{e[t]=r},fO=({values:e},t,r)=>{e[t]=r},_W=({values:e},t,r)=>{e[t]=Xw(r)},xht=(e,t,r)=>{switch(e.type.precision){case $i.HALF:return _W(e,t,r);case $i.SINGLE:case $i.DOUBLE:return fO(e,t,r)}},WP=({values:e},t,r)=>{yht(e,t,r.valueOf())},HP=({values:e},t,r)=>{e[t]=BigInt(r)},dO=({stride:e,values:t},r,i)=>{t.set(i.subarray(0,e),e*r)},yW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,i),vW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,Jf(i)),pO=(e,t,r)=>{e.type.unit===Os.DAY?WP(e,t,r):HP(e,t,r)},qP=({values:e},t,r)=>{e[t]=BigInt(r/1e3)},ZP=({values:e},t,r)=>{e[t]=BigInt(r)},YP=({values:e},t,r)=>{e[t]=BigInt(r*1e3)},QP=({values:e},t,r)=>{e[t]=BigInt(r*1e6)},AO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return qP(e,t,r);case Ar.MILLISECOND:return ZP(e,t,r);case Ar.MICROSECOND:return YP(e,t,r);case Ar.NANOSECOND:return QP(e,t,r)}},$P=({values:e},t,r)=>{e[t]=r},XP=({values:e},t,r)=>{e[t]=r},KP=({values:e},t,r)=>{e[t]=r},JP=({values:e},t,r)=>{e[t]=r},mO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return $P(e,t,r);case Ar.MILLISECOND:return XP(e,t,r);case Ar.MICROSECOND:return KP(e,t,r);case Ar.NANOSECOND:return JP(e,t,r)}},gO=({values:e,stride:t},r,i)=>{e.set(i.subarray(0,t),t*r)},bht=(e,t,r)=>{let i=e.children[0],s=e.valueOffsets,n=ba.getVisitFn(i);if(Array.isArray(r))for(let o=-1,c=s[t],f=s[t+1];c{let i=e.children[0],{valueOffsets:s}=e,n=ba.getVisitFn(i),{[t]:o,[t+1]:c}=s,f=r instanceof Map?r.entries():Object.entries(r);for(let _ of f)if(n(i,o,_),++o>=c)break},Sht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[n]),Tht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(n)),Mht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(s.name)),Eht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[s.name]),Pht=(e,t,r)=>{let i=e.type.children.map(n=>ba.getVisitFn(n.type)),s=r instanceof Map?Mht(t,r):r instanceof xr?Tht(t,r):Array.isArray(r)?Sht(t,r):Eht(t,r);e.type.children.forEach((n,o)=>s(i[o],e.children[o],n,o))},Iht=(e,t,r)=>{e.type.mode===Pn.Dense?xW(e,t,r):bW(e,t,r)},xW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,e.valueOffsets[t],r)},bW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,t,r)},Cht=(e,t,r)=>{var i;(i=e.dictionary)===null||i===void 0||i.set(e.values[t],r)},_O=(e,t,r)=>{e.type.unit===Bo.DAY_TIME?t3(e,t,r):e3(e,t,r)},t3=({values:e},t,r)=>{e.set(r.subarray(0,2),2*t)},e3=({values:e},t,r)=>{e[t]=r[0]*12+r[1]%12},r3=({values:e},t,r)=>{e[t]=r},i3=({values:e},t,r)=>{e[t]=r},n3=({values:e},t,r)=>{e[t]=r},s3=({values:e},t,r)=>{e[t]=r},yO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return r3(e,t,r);case Ar.MILLISECOND:return i3(e,t,r);case Ar.MICROSECOND:return n3(e,t,r);case Ar.NANOSECOND:return s3(e,t,r)}},Lht=(e,t,r)=>{let{stride:i}=e,s=e.children[0],n=ba.getVisitFn(s);if(Array.isArray(r))for(let o=-1,c=t*i;++o`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}[Symbol.iterator](){return new vO(this[rf],this[_v])}},vO=class{constructor(t,r){this.childIndex=0,this.children=t.children,this.rowIndex=r,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return tr.name)}has(t,r){return t[rf].type.children.findIndex(i=>i.name===r)!==-1}getOwnPropertyDescriptor(t,r){if(t[rf].type.children.findIndex(i=>i.name===r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[rf].type.children.findIndex(s=>s.name===r);if(i!==-1){let s=go.visit(t[rf].children[i],t[_v]);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[rf].type.children.findIndex(n=>n.name===r);return s!==-1?(ba.visit(t[rf].children[s],t[_v],i),Reflect.set(t,r,i)):Reflect.has(t,r)||typeof r==\"symbol\"?Reflect.set(t,r,i):!1}};var Pr=class extends Er{};function zr(e){return(t,r)=>t.getValid(r)?e(t,r):null}var kht=(e,t)=>864e5*e[t],Rht=(e,t)=>null,wW=(e,t,r)=>{if(r+1>=t.length)return null;let i=Wi(t[r]),s=Wi(t[r+1]);return e.subarray(i,s)},Dht=({offset:e,values:t},r)=>{let i=e+r;return(t[i>>3]&1<kht(e,t),TW=({values:e},t)=>Wi(e[t]),fm=({stride:e,values:t},r)=>t[e*r],Oht=({stride:e,values:t},r)=>GP(t[e*r]),MW=({values:e},t)=>e[t],Bht=({stride:e,values:t},r)=>t.subarray(e*r,e*(r+1)),EW=({values:e,valueOffsets:t},r)=>wW(e,t,r),PW=({values:e,valueOffsets:t},r)=>{let i=wW(e,t,r);return i!==null?Tw(i):null},Fht=({values:e},t)=>e[t],zht=({type:e,values:t},r)=>e.precision!==$i.HALF?t[r]:GP(t[r]),Nht=(e,t)=>e.type.unit===Os.DAY?SW(e,t):TW(e,t),IW=({values:e},t)=>1e3*Wi(e[t]),CW=({values:e},t)=>Wi(e[t]),LW=({values:e},t)=>aO(e[t],BigInt(1e3)),kW=({values:e},t)=>aO(e[t],BigInt(1e6)),Uht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return IW(e,t);case Ar.MILLISECOND:return CW(e,t);case Ar.MICROSECOND:return LW(e,t);case Ar.NANOSECOND:return kW(e,t)}},RW=({values:e},t)=>e[t],DW=({values:e},t)=>e[t],OW=({values:e},t)=>e[t],BW=({values:e},t)=>e[t],Vht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return RW(e,t);case Ar.MILLISECOND:return DW(e,t);case Ar.MICROSECOND:return OW(e,t);case Ar.NANOSECOND:return BW(e,t)}},jht=({values:e,stride:t},r)=>Vw.decimal(e.subarray(t*r,t*(r+1))),Ght=(e,t)=>{let{valueOffsets:r,stride:i,children:s}=e,{[t*i]:n,[t*i+1]:o}=r,f=s[0].slice(n,o-n);return new xr([f])},Wht=(e,t)=>{let{valueOffsets:r,children:i}=e,{[t]:s,[t+1]:n}=r,o=i[0];return new od(o.slice(s,n-s))},Hht=(e,t)=>new hm(e,t),qht=(e,t)=>e.type.mode===Pn.Dense?FW(e,t):zW(e,t),FW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,e.valueOffsets[t])},zW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,t)},Zht=(e,t)=>{var r;return(r=e.dictionary)===null||r===void 0?void 0:r.get(e.values[t])},Yht=(e,t)=>e.type.unit===Bo.DAY_TIME?NW(e,t):UW(e,t),NW=({values:e},t)=>e.subarray(2*t,2*(t+1)),UW=({values:e},t)=>{let r=e[t],i=new Int32Array(2);return i[0]=Math.trunc(r/12),i[1]=Math.trunc(r%12),i},VW=({values:e},t)=>e[t],jW=({values:e},t)=>e[t],GW=({values:e},t)=>e[t],WW=({values:e},t)=>e[t],Qht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return VW(e,t);case Ar.MILLISECOND:return jW(e,t);case Ar.MICROSECOND:return GW(e,t);case Ar.NANOSECOND:return WW(e,t)}},$ht=(e,t)=>{let{stride:r,children:i}=e,n=i[0].slice(t*r,r);return new xr([n])};Pr.prototype.visitNull=zr(Rht);Pr.prototype.visitBool=zr(Dht);Pr.prototype.visitInt=zr(Fht);Pr.prototype.visitInt8=zr(fm);Pr.prototype.visitInt16=zr(fm);Pr.prototype.visitInt32=zr(fm);Pr.prototype.visitInt64=zr(MW);Pr.prototype.visitUint8=zr(fm);Pr.prototype.visitUint16=zr(fm);Pr.prototype.visitUint32=zr(fm);Pr.prototype.visitUint64=zr(MW);Pr.prototype.visitFloat=zr(zht);Pr.prototype.visitFloat16=zr(Oht);Pr.prototype.visitFloat32=zr(fm);Pr.prototype.visitFloat64=zr(fm);Pr.prototype.visitUtf8=zr(PW);Pr.prototype.visitLargeUtf8=zr(PW);Pr.prototype.visitBinary=zr(EW);Pr.prototype.visitLargeBinary=zr(EW);Pr.prototype.visitFixedSizeBinary=zr(Bht);Pr.prototype.visitDate=zr(Nht);Pr.prototype.visitDateDay=zr(SW);Pr.prototype.visitDateMillisecond=zr(TW);Pr.prototype.visitTimestamp=zr(Uht);Pr.prototype.visitTimestampSecond=zr(IW);Pr.prototype.visitTimestampMillisecond=zr(CW);Pr.prototype.visitTimestampMicrosecond=zr(LW);Pr.prototype.visitTimestampNanosecond=zr(kW);Pr.prototype.visitTime=zr(Vht);Pr.prototype.visitTimeSecond=zr(RW);Pr.prototype.visitTimeMillisecond=zr(DW);Pr.prototype.visitTimeMicrosecond=zr(OW);Pr.prototype.visitTimeNanosecond=zr(BW);Pr.prototype.visitDecimal=zr(jht);Pr.prototype.visitList=zr(Ght);Pr.prototype.visitStruct=zr(Hht);Pr.prototype.visitUnion=zr(qht);Pr.prototype.visitDenseUnion=zr(FW);Pr.prototype.visitSparseUnion=zr(zW);Pr.prototype.visitDictionary=zr(Zht);Pr.prototype.visitInterval=zr(Yht);Pr.prototype.visitIntervalDayTime=zr(NW);Pr.prototype.visitIntervalYearMonth=zr(UW);Pr.prototype.visitDuration=zr(Qht);Pr.prototype.visitDurationSecond=zr(VW);Pr.prototype.visitDurationMillisecond=zr(jW);Pr.prototype.visitDurationMicrosecond=zr(GW);Pr.prototype.visitDurationNanosecond=zr(WW);Pr.prototype.visitFixedSizeList=zr($ht);Pr.prototype.visitMap=zr(Wht);var go=new Pr;var dm=Symbol.for(\"keys\"),vv=Symbol.for(\"vals\"),yv=Symbol.for(\"kKeysAsStrings\"),bO=Symbol.for(\"_kKeysAsStrings\"),od=class{constructor(t){return this[dm]=new xr([t.children[0]]).memoize(),this[vv]=t.children[1],new Proxy(this,new SO)}get[yv](){return this[bO]||(this[bO]=Array.from(this[dm].toArray(),String))}[Symbol.iterator](){return new wO(this[dm],this[vv])}get size(){return this[dm].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[dm],r=this[vv],i={};for(let s=-1,n=t.length;++s`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}},wO=class{constructor(t,r){this.keys=t,this.vals=r,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),go.visit(this.vals,t)]})}},SO=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[yv]}has(t,r){return t[yv].includes(r)}getOwnPropertyDescriptor(t,r){if(t[yv].indexOf(r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[yv].indexOf(r);if(i!==-1){let s=go.visit(Reflect.get(t,vv),i);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[yv].indexOf(r);return s!==-1?(ba.visit(Reflect.get(t,vv),s,i),Reflect.set(t,r,i)):Reflect.has(t,r)?Reflect.set(t,r,i):!1}};Object.defineProperties(od.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:\"Row\"},[dm]:{writable:!0,enumerable:!1,configurable:!1,value:null},[vv]:{writable:!0,enumerable:!1,configurable:!1,value:null},[bO]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var HW;function Kw(e,t,r,i){let{length:s=0}=e,n=typeof t!=\"number\"?0:t,o=typeof r!=\"number\"?s:r;return n<0&&(n=(n%s+s)%s),o<0&&(o=(o%s+s)%s),os&&(o=s),i?i(e,n,o):[n,o]}var xg=(e,t)=>e<0?t+e:e,qW=e=>e!==e;function pm(e){if(typeof e!==\"object\"||e===null)return qW(e)?qW:r=>r===e;if(e instanceof Date){let r=e.valueOf();return i=>i instanceof Date?i.valueOf()===r:!1}return ArrayBuffer.isView(e)?r=>r?rO(e,r):!1:e instanceof Map?Kht(e):Array.isArray(e)?Xht(e):e instanceof xr?Jht(e):tft(e,!0)}function Xht(e){let t=[];for(let r=-1,i=e.length;++r!1;let i=[];for(let s=-1,n=r.length;++s{if(!r||typeof r!=\"object\")return!1;switch(r.constructor){case Array:return eft(e,r);case Map:return ZW(e,r,r.keys());case od:case hm:case Object:case void 0:return ZW(e,r,t||Object.keys(r))}return r instanceof xr?rft(e,r):!1}}function eft(e,t){let r=e.length;if(t.length!==r)return!1;for(let i=-1;++ibg,getBit:()=>YW,getBool:()=>l3,packBools:()=>Sg,popcnt_array:()=>QW,popcnt_bit_range:()=>Jw,popcnt_uint32:()=>a3,setBool:()=>ift,truncateBitmap:()=>wg});function l3(e,t,r,i){return(r&1<>i}function ift(e,t,r){return r?!!(e[t>>3]|=1<>3]&=~(1<0||r.byteLength>3):Sg(new bg(r,e,t,null,l3)).subarray(0,i)),s}return r}function Sg(e){let t=[],r=0,i=0,s=0;for(let o of e)o&&(s|=1<0)&&(t[r++]=s);let n=new Uint8Array(t.length+7&-8);return n.set(t),n}var bg=class{constructor(t,r,i,s,n){this.bytes=t,this.length=i,this.context=s,this.get=n,this.bit=r%8,this.byteIndex=r>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index>3<<3,s=t+(t%8===0?0:8-t%8);return Jw(e,t,s)+Jw(e,i,r)+QW(e,s>>3,i-s>>3)}function QW(e,t,r){let i=0,s=Math.trunc(t),n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=r===void 0?e.byteLength:s+r;for(;o-s>=4;)i+=a3(n.getUint32(s)),s+=4;for(;o-s>=2;)i+=a3(n.getUint16(s)),s+=2;for(;o-s>=1;)i+=a3(n.getUint8(s)),s+=1;return i}function a3(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var nft=-1,Fi=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return ze.isSparseUnion(t)?this.children.some(r=>r.nullable):ze.isDenseUnion(t)?this.children.some(r=>r.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:r,values:i,nullBitmap:s,typeIds:n}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),this.children.reduce((o,c)=>o+c.byteLength,t)}get nullCount(){if(ze.isUnion(this.type))return this.children.reduce((i,s)=>i+s.nullCount,0);let t=this._nullCount,r;return t<=nft&&(r=this.nullBitmap)&&(this._nullCount=t=r.length===0?0:this.length-Jw(r,this.offset,this.offset+this.length)),t}constructor(t,r,i,s,n,o=[],c){this.type=t,this.children=o,this.dictionary=c,this.offset=Math.floor(Math.max(r||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let f;n instanceof e?(this.stride=n.stride,this.values=n.values,this.typeIds=n.typeIds,this.nullBitmap=n.nullBitmap,this.valueOffsets=n.valueOffsets):(this.stride=ou(t),n&&((f=n[0])&&(this.valueOffsets=f),(f=n[1])&&(this.values=f),(f=n[2])&&(this.nullBitmap=f),(f=n[3])&&(this.typeIds=f)))}getValid(t){let{type:r}=this;if(ze.isUnion(r)){let i=r,s=this.children[i.typeIdToChildIndex[this.typeIds[t]]],n=i.mode===Pn.Dense?this.valueOffsets[t]:t;return s.getValid(n)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<>3;(!n||n.byteLength<=w)&&(n=new Uint8Array((o+c+63&-64)>>3).fill(255),this.nullCount>0?(n.set(wg(o,c,this.nullBitmap),0),Object.assign(this,{nullBitmap:n})):Object.assign(this,{nullBitmap:n,_nullCount:0}));let I=n[w];i=(I&_)!==0,n[w]=r?I|_:I&~_}return i!==!!r&&(this._nullCount=this.nullCount+(r?-1:1)),r}clone(t=this.type,r=this.offset,i=this.length,s=this._nullCount,n=this,o=this.children){return new e(t,r,i,s,n,o,this.dictionary)}slice(t,r){let{stride:i,typeId:s,children:n}=this,o=+(this._nullCount===0)-1,c=s===16?i:1,f=this._sliceBuffers(t,r,i,s);return this.clone(this.type,this.offset+t,r,o,f,n.length===0||this.valueOffsets?n:this._sliceChildren(n,c*t,c*r))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Ot.Null)return this.clone(this.type,0,t,0);let{length:r,nullCount:i}=this,s=new Uint8Array((t+63&-64)>>3).fill(255,0,r>>3);s[r>>3]=(1<0&&s.set(wg(this.offset,r,this.nullBitmap),0);let n=this.buffers;return n[Oi.VALIDITY]=s,this.clone(this.type,0,t,i+(t-r),n)}_sliceBuffers(t,r,i,s){let n,{buffers:o}=this;return(n=o[Oi.TYPE])&&(o[Oi.TYPE]=n.subarray(t,t+r)),(n=o[Oi.OFFSET])&&(o[Oi.OFFSET]=n.subarray(t,t+r+1))||(n=o[Oi.DATA])&&(o[Oi.DATA]=s===6?n:n.subarray(i*t,i*(t+r))),o}_sliceChildren(t,r,i){return t.map(s=>s.slice(r,i))}};Fi.prototype.children=Object.freeze([]);var EO=class e extends Er{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"length\"]:s=0}=t;return new Fi(r,i,s,s)}visitBool(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length>>3,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitInt(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFloat(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitFixedSizeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDate(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTimestamp(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTime(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDecimal(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}visitStruct(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Rr(t.nullBitmap),{length:o=s.reduce((f,{length:_})=>Math.max(f,_),0),nullCount:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],s)}visitUnion(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Ai(r.ArrayType,t.typeIds),{[\"length\"]:o=n.length,[\"nullCount\"]:c=-1}=t;if(ze.isSparseUnion(r))return new Fi(r,i,o,c,[void 0,void 0,void 0,n],s);let f=yg(t.valueOffsets);return new Fi(r,i,o,c,[f,void 0,void 0,n],s)}visitDictionary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.indices.ArrayType,t.data),{[\"dictionary\"]:o=new xr([new e().visit({type:r.dictionary})])}=t,{[\"length\"]:c=n.length,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[void 0,n,s],[],o)}visitInterval(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDuration(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFixedSizeList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.valueType})}=t,n=Rr(t.nullBitmap),{[\"length\"]:o=s.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],[s])}visitMap(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.childType})}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}},sft=new EO;function yr(e){return sft.visit(e)}var t2=class{constructor(t=0,r){this.numChunks=t,this.getChunkIterator=r,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndext.nullable)}function c3(e){return e.reduce((t,r)=>t+r.nullCount,0)}function u3(e){return e.reduce((t,r,i)=>(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function h3(e,t,r,i){let s=[];for(let n=-1,o=e.length;++n=i)break;if(r>=f+_)continue;if(f>=r&&f+_<=i){s.push(c);continue}let w=Math.max(0,r-f),I=Math.min(i-f,_);s.push(c.slice(w,I-w))}return s.length===0&&s.push(e[0].slice(0,0)),s}function PO(e,t,r,i){let s=0,n=0,o=t.length-1;do{if(s>=o-1)return r0?0:-1}function aft(e,t){let{nullBitmap:r}=e;if(!r||e.nullCount<=0)return-1;let i=0;for(let s of new bg(r,e.offset+(t||0),e.length,r,l3)){if(!s)return i;++i}return-1}function Qr(e,t,r){if(t===void 0)return-1;if(t===null)switch(e.typeId){case Ot.Union:break;case Ot.Dictionary:break;default:return aft(e,r)}let i=go.getVisitFn(e),s=pm(t);for(let n=(r||0)-1,o=e.length;++n{let s=e.data[i];return s.values.subarray(0,s.length)[Symbol.iterator]()});let r=0;return new t2(e.data.length,i=>{let n=e.data[i].length,o=e.slice(r,r+n);return r+=n,new IO(o)})}var IO=class{constructor(t){this.vector=t,this.index=0}next(){return this.indexc.data):t;if(n.length===0||n.some(c=>!(c instanceof Fi)))throw new TypeError(\"Vector constructor expects an Array of Data instances.\");let o=(r=n[0])===null||r===void 0?void 0:r.type;switch(n.length){case 0:this._offsets=[0];break;case 1:{let{get:c,set:f,indexOf:_}=JW[o.typeId],w=n[0];this.isValid=I=>e2(w,I),this.get=I=>c(w,I),this.set=(I,R)=>f(w,I,R),this.indexOf=I=>_(w,I),this._offsets=[0,w.length];break}default:Object.setPrototypeOf(this,tH[o.typeId]),this._offsets=u3(n);break}this.data=n,this.type=o,this.stride=ou(o),this.numChildren=(s=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,r)=>t+r.byteLength,0)}get nullable(){return $W(this.data)}get nullCount(){return c3(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${Ot[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.length))}set(t,r){}indexOf(t,r){return-1}includes(t,r){return this.indexOf(t,r)>-1}[Symbol.iterator](){return bv.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(r=>r.data).flat(Number.POSITIVE_INFINITY)))}slice(t,r){return new e(Kw(this,t,r,({data:i,_offsets:s},n,o)=>h3(i,s,n,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:r,length:i,stride:s,ArrayType:n}=this;switch(t.typeId){case Ot.Int:case Ot.Float:case Ot.Decimal:case Ot.Time:case Ot.Timestamp:switch(r.length){case 0:return new n;case 1:return r[0].values.subarray(0,i*s);default:return r.reduce((o,{values:c,length:f})=>(o.array.set(c.subarray(0,f*s),o.offset),o.offset+=f*s,o),{array:new n(i*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(\",\")}]`}getChild(t){var r;return this.getChildAt((r=this.type.children)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&tr[t])):null}get isMemoized(){return ze.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(ze.isDictionary(this.type)){let t=new p3(this.data[0].dictionary),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return new p3(this)}unmemoize(){if(ze.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return this}};KW=Symbol.toStringTag;xr[KW]=(e=>{e.type=ze.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(Ot).map(r=>Ot[r]).filter(r=>typeof r==\"number\"&&r!==Ot.NONE);for(let r of t){let i=go.getVisitFnByTypeId(r),s=ba.getVisitFnByTypeId(r),n=Tg.getVisitFnByTypeId(r);JW[r]={get:i,set:s,indexOf:n},tH[r]=Object.create(e,{isValid:{value:xv(e2)},get:{value:xv(go.getVisitFnByTypeId(r))},set:{value:f3(ba.getVisitFnByTypeId(r))},indexOf:{value:d3(Tg.getVisitFnByTypeId(r))}})}return\"Vector\"})(xr.prototype);var p3=class e extends xr{constructor(t){super(t.data);let r=this.get,i=this.set,s=this.slice,n=new Array(this.length);Object.defineProperty(this,\"get\",{value(o){let c=n[o];if(c!==void 0)return c;let f=r.call(this,o);return n[o]=f,f}}),Object.defineProperty(this,\"set\",{value(o,c){i.call(this,o,c),n[o]=c}}),Object.defineProperty(this,\"slice\",{value:(o,c)=>new e(s.call(this,o,c))}),Object.defineProperty(this,\"isMemoized\",{value:!0}),Object.defineProperty(this,\"unmemoize\",{value:()=>new xr(this.data)}),Object.defineProperty(this,\"memoize\",{value:()=>this})}};function eH(e){if(!e||e.length<=0)return function(s){return!0};let t=\"\",r=e.filter(i=>i===i);return r.length>0&&(t=`\n switch (x) {${r.map(i=>`\n case ${lft(i)}:`).join(\"\")}\n return false;\n }`),e.length!==r.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function lft(e){return typeof e!=\"bigint\"?Jh(e):`${Jh(e)}n`}function CO(e,t){let r=Math.ceil(e)*t-1;return(r-r%64+64||64)/t}function rH(e,t=0){return e.length>=t?e.subarray(0,t):Ew(new e.constructor(t),e,0)}var nf=class{constructor(t,r=0,i=1){this.length=Math.ceil(r/i),this.buffer=new t(this.length),this.stride=i,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,r){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let r=this.stride,i=this.length*r,s=this.buffer.length;i>=s&&this._resize(s===0?CO(i*1,this.BYTES_PER_ELEMENT):CO(i*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=CO(t*this.stride,this.BYTES_PER_ELEMENT);let r=rH(this.buffer,t);return this.clear(),r}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=rH(this.buffer,t)}},gp=class extends nf{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,r){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=r,this}},wv=class extends gp{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,r){let{buffer:i}=this.reserve(t-this.length+1),s=t>>3,n=t%8,o=i[s]>>n&1;return r?o===0&&(i[s]|=1<=0&&s.fill(s[i],i,t),s[t]=s[t-1]+r,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var Xn=class{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}constructor({type:t,nullValues:r}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=r,this.stride=ou(t),this._nulls=new wv,r&&r.length>0&&(this._isValid=eH(r))}toVector(){return new xr([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:r,_values:i,_nulls:s,_typeIds:n,children:o}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),o.reduce((c,f)=>c+f.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((r,i)=>r+i.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,r){return this.setValid(t,this.isValid(r))&&this.setValue(t,r),this}setValue(t,r){this._setValue(this,t,r)}setValid(t,r){return this.length=this._nulls.set(t,+r).length,r}addChild(t,r=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){let t,r,i,s,{type:n,length:o,nullCount:c,_typeIds:f,_offsets:_,_values:w,_nulls:I}=this;(r=f?.flush(o))?s=_?.flush(o):(s=_?.flush(o))?t=w?.flush(_.last()):t=w?.flush(o),c>0&&(i=I?.flush(o));let R=this.children.map(N=>N.flush());return this.clear(),yr({type:n,length:o,nullCount:c,children:R,child:R[0],data:t,typeIds:r,nullBitmap:i,valueOffsets:s})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,r,i,s;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(r=this._values)===null||r===void 0||r.clear(),(i=this._offsets)===null||i===void 0||i.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let n of this.children)n.clear();return this}};Xn.prototype.length=1;Xn.prototype.stride=1;Xn.prototype.children=null;Xn.prototype.finished=!1;Xn.prototype.nullValues=null;Xn.prototype._isValid=()=>!0;var _o=class extends Xn{constructor(t){super(t),this._values=new gp(this.ArrayType,0,this.stride)}setValue(t,r){let i=this._values;return i.reserve(t-i.length+1),super.setValue(t,r)}},gc=class extends Xn{constructor(t){super(t),this._pendingLength=0,this._offsets=new Sv(t.type)}setValue(t,r){let i=this._pending||(this._pending=new Map),s=i.get(t);s&&(this._pendingLength-=s.length),this._pendingLength+=r instanceof od?r[dm].length:r.length,i.set(t,r)}setValid(t,r){return super.setValid(t,r)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,r=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,r),this}};var Mg=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,r,i,s){return t.prep(8,24),t.writeInt64(BigInt(s??0)),t.pad(4),t.writeInt32(i),t.writeInt64(BigInt(r??0)),t.offset()}};var au=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsFooter(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}schema(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new fc).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}dictionaries(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,r){let i=this.bb.__offset(this.bb_pos,10);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addSchema(t,r){t.addFieldOffset(1,r,0)}static addDictionaries(t,r){t.addFieldOffset(2,r,0)}static startDictionariesVector(t,r){t.startVector(24,r,8)}static addRecordBatches(t,r){t.addFieldOffset(3,r,0)}static startRecordBatchesVector(t,r){t.startVector(24,r,8)}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,r){t.finish(r)}static finishSizePrefixedFooterBuffer(t,r){t.finish(r,void 0,!0)}};var an=class e{constructor(t=[],r,i,s=sn.V5){this.fields=t||[],this.metadata=r||new Map,i||(i=LO(t)),this.dictionaries=i,this.metadataVersion=s}get[Symbol.toStringTag](){return\"Schema\"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,r)=>`${r}: ${t}`).join(\", \")} }>`}select(t){let r=new Set(t),i=this.fields.filter(s=>r.has(s.name));return new e(i,this.metadata)}selectAt(t){let r=t.map(i=>this.fields[i]).filter(Boolean);return new e(r,this.metadata)}assign(...t){let r=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),i=[...this.fields],s=A3(A3(new Map,this.metadata),r.metadata),n=r.fields.filter(c=>{let f=i.findIndex(_=>_.name===c.name);return~f?(i[f]=c.clone({metadata:A3(A3(new Map,i[f].metadata),c.metadata)}))&&!1:!0}),o=LO(n,new Map);return new e([...i,...n],s,new Map([...this.dictionaries,...o]))}};an.prototype.fields=null;an.prototype.metadata=null;an.prototype.dictionaries=null;var si=class e{static new(...t){let[r,i,s,n]=t;return t[0]&&typeof t[0]==\"object\"&&({name:r}=t[0],i===void 0&&(i=t[0].type),s===void 0&&(s=t[0].nullable),n===void 0&&(n=t[0].metadata)),new e(`${r}`,i,s,n)}constructor(t,r,i=!1,s){this.name=t,this.type=r,this.nullable=i,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[r,i,s,n]=t;return!t[0]||typeof t[0]!=\"object\"?[r=this.name,i=this.type,s=this.nullable,n=this.metadata]=t:{name:r=this.name,type:i=this.type,nullable:s=this.nullable,metadata:n=this.metadata}=t[0],e.new(r,i,s,n)}};si.prototype.type=null;si.prototype.name=null;si.prototype.nullable=null;si.prototype.metadata=null;function A3(e,t){return new Map([...e||new Map,...t||new Map])}function LO(e,t=new Map){for(let r=-1,i=e.length;++r0&&LO(n.children,t)}return t}var cft=vg,uft=nu,_p=class{static decode(t){t=new uft(Rr(t));let r=au.getRootAsFooter(t),i=an.decode(r.schema(),new Map,r.version());return new kO(i,r)}static encode(t){let r=new cft,i=an.encode(r,t.schema);au.startRecordBatchesVector(r,t.numRecordBatches);for(let o of[...t.recordBatches()].slice().reverse())yp.encode(r,o);let s=r.endVector();au.startDictionariesVector(r,t.numDictionaries);for(let o of[...t.dictionaryBatches()].slice().reverse())yp.encode(r,o);let n=r.endVector();return au.startFooter(r),au.addSchema(r,i),au.addVersion(r,sn.V5),au.addRecordBatches(r,s),au.addDictionaries(r,n),au.finishFooterBuffer(r,au.endFooter(r)),r.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,r=sn.V5,i,s){this.schema=t,this.version=r,i&&(this._recordBatches=i),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let t,r=-1,i=this.numRecordBatches;++r=0&&t=0&&t=0&&t=0&&tthis._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Vn);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return xa.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return xa.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return ar(this,void 0,void 0,function*(){return yield this.abort(t),Vn})}return(t){return ar(this,void 0,void 0,function*(){return yield this.close(),Vn})}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((r,i)=>{this.resolvers.push({resolve:r,reject:i})}):Promise.resolve(Vn)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(\"AsyncQueue is closed\")}};var ad=class extends m3{write(t){if((t=Rr(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Tw(this.toUint8Array(!0)):this.toUint8Array(!1).then(Tw)}toUint8Array(t=!1){return t?iu(this._values)[0]:ar(this,void 0,void 0,function*(){var r,i,s,n;let o=[],c=0;try{for(var f=!0,_=Zh(this),w;w=yield _.next(),r=w.done,!r;f=!0){n=w.value,f=!1;let I=n;o.push(I),c+=I.byteLength}}catch(I){i={error:I}}finally{try{!f&&!r&&(s=_.return)&&(yield s.call(_))}finally{if(i)throw i.error}}return iu(o,c)[0]})}},ld=class{constructor(t){t&&(this.source=new RO(xa.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},$u=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof ad?this.source=new vp(xa.fromAsyncIterable(t)):OP(t)?this.source=new vp(xa.fromNodeStream(t)):Mw(t)?this.source=new vp(xa.fromDOMStream(t)):RP(t)?this.source=new vp(xa.fromDOMStream(t.body)):Yh(t)?this.source=new vp(xa.fromIterable(t)):ru(t)?this.source=new vp(xa.fromAsyncIterable(t)):Nu(t)&&(this.source=new vp(xa.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},RO=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,r=\"read\"){return this.source.next({cmd:r,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Vn)}return(t){return Object.create(this.source.return&&this.source.return(t)||Vn)}},vp=class{constructor(t){this.source=t,this._closedPromise=new Promise(r=>this._closedPromiseResolve=r)}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(t){return ar(this,arguments,void 0,function*(r,i=\"read\"){return yield this.source.next({cmd:i,size:r})})}throw(t){return ar(this,void 0,void 0,function*(){let r=this.source.throw&&(yield this.source.throw(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}return(t){return ar(this,void 0,void 0,function*(){let r=this.source.return&&(yield this.source.return(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}};var i2=class extends ld{constructor(t,r){super(),this.position=0,this.buffer=Rr(t),this.size=r===void 0?this.buffer.byteLength:r}readInt32(t){let{buffer:r,byteOffset:i}=this.readAt(t,4);return new DataView(r,i).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),tn2,Int128:()=>s2,Int64:()=>xp,Uint64:()=>gs});function Tv(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var Mv=8,DO=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],n2=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let r=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),s=r[3]*i[3];this.buffer[0]=s&65535;let n=s>>>16;return s=r[2]*i[3],n+=s,s=r[3]*i[2]>>>0,n+=s,this.buffer[0]+=n<<16,this.buffer[1]=n>>>0>>16,this.buffer[1]+=r[1]*i[3]+r[2]*i[2]+r[3]*i[1],this.buffer[1]+=r[0]*i[3]+r[1]*i[2]+r[2]*i[1]+r[3]*i[0]<<16,this}_plus(t){let r=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],r>>0&&++this.buffer[1],this.buffer[0]=r}lessThan(t){return this.buffer[1]>>0,r[2]=this.buffer[2]+t.buffer[2]>>>0,r[1]=this.buffer[1]+t.buffer[1]>>>0,r[0]=this.buffer[0]+t.buffer[0]>>>0,r[0]>>0&&++r[1],r[1]>>0&&++r[2],r[2]>>0&&++r[3],this.buffer[3]=r[3],this.buffer[2]=r[2],this.buffer[1]=r[1],this.buffer[0]=r[0],this}hex(){return`${Tv(this.buffer[3])} ${Tv(this.buffer[2])} ${Tv(this.buffer[1])} ${Tv(this.buffer[0])}`}static multiply(t,r){return new e(new Uint32Array(t.buffer)).times(r)}static add(t,r){return new e(new Uint32Array(t.buffer)).plus(r)}static from(t,r=new Uint32Array(4)){return e.fromString(typeof t==\"string\"?t:t.toString(),r)}static fromNumber(t,r=new Uint32Array(4)){return e.fromString(t.toString(),r)}static fromString(t,r=new Uint32Array(4)){let i=t.startsWith(\"-\"),s=t.length,n=new e(r);for(let o=i?1:0;o0&&this.readData(t,i)||new Uint8Array(0)}readOffsets(t,r){return this.readData(t,r)}readTypeIds(t,r){return this.readData(t,r)}readData(t,{length:r,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+r)}readDictionary(t){return this.dictionaries.get(t.id)}},g3=class extends o2{constructor(t,r,i,s,n){super(new Uint8Array(0),r,i,s,n),this.sources=t}readNullBitmap(t,r,{offset:i}=this.nextBufferRange()){return r<=0?new Uint8Array(0):Sg(this.sources[i])}readOffsets(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.OffsetArrayType,this.sources[r]))}readTypeIds(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.ArrayType,this.sources[r]))}readData(t,{offset:r}=this.nextBufferRange()){let{sources:i}=this;return ze.isTimestamp(t)?Ai(Uint8Array,xp.convertArray(i[r])):(ze.isInt(t)||ze.isTime(t))&&t.bitWidth===64||ze.isDuration(t)?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDate(t)&&t.unit===Os.MILLISECOND?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDecimal(t)?Ai(Uint8Array,s2.convertArray(i[r])):ze.isBinary(t)||ze.isLargeBinary(t)||ze.isFixedSizeBinary(t)?hft(i[r]):ze.isBool(t)?Sg(i[r]):ze.isUtf8(t)||ze.isLargeUtf8(t)?Jf(i[r].join(\"\")):Ai(Uint8Array,Ai(t.ArrayType,i[r].map(s=>+s)))}};function hft(e){let t=e.join(\"\"),r=new Uint8Array(t.length/2);for(let i=0;i>1]=Number.parseInt(t.slice(i,i+2),16);return r}var Pg=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,0);else{let f=c.length;s.set(c,n),i.set(o,f),n+=f}}};var Ig=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,BigInt(0));else{let f=c.length;s.set(c,n),i.set(o,BigInt(f)),n+=f}}};var mm=class extends Xn{constructor(t){super(t),this._values=new wv}setValue(t,r){this._values.set(t,+r)}};var gm=class extends _o{};gm.prototype._setValue=pO;var Ev=class extends gm{};Ev.prototype._setValue=WP;var Pv=class extends gm{};Pv.prototype._setValue=HP;var Iv=class extends _o{};Iv.prototype._setValue=gO;var a2=class extends Xn{constructor({type:t,nullValues:r,dictionaryHashFunction:i}){super({type:new mc(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Cg({type:this.type.indices,nullValues:r}),this.dictionary=Cg({type:this.type.dictionary,nullValues:null}),typeof i==\"function\"&&(this.valueToKey=i)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,r){let i=this.indices;return r=i.setValid(t,r),this.length=i.length,r}setValue(t,r){let i=this._keysToIndices,s=this.valueToKey(r),n=i[s];return n===void 0&&(i[s]=n=this._dictionaryOffset+this.dictionary.append(r).length-1),this.indices.setValue(t,n)}flush(){let t=this.type,r=this._dictionary,i=this.dictionary.toVector(),s=this.indices.flush().clone(t);return s.dictionary=r?r.concat(i):i,this.finished||(this._dictionaryOffset+=i.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}};var Cv=class extends _o{};Cv.prototype._setValue=dO;var l2=class extends Xn{setValue(t,r){let[i]=this.children,s=t*this.stride;for(let n=-1,o=r.length;++n0)throw new Error(\"FixedSizeListBuilder can only have one child.\");let i=this.children.push(t);return this.type=new Ll(this.type.listSize,new si(r,t.type,!0)),i}};var _m=class extends _o{setValue(t,r){this._values.set(t,r)}},c2=class extends _m{setValue(t,r){super.setValue(t,Xw(r))}},u2=class extends _m{},h2=class extends _m{};var ym=class extends _o{};ym.prototype._setValue=_O;var Lv=class extends ym{};Lv.prototype._setValue=t3;var kv=class extends ym{};kv.prototype._setValue=e3;var cd=class extends _o{};cd.prototype._setValue=yO;var Rv=class extends cd{};Rv.prototype._setValue=r3;var Dv=class extends cd{};Dv.prototype._setValue=i3;var Ov=class extends cd{};Ov.prototype._setValue=n3;var Bv=class extends cd{};Bv.prototype._setValue=s3;var lu=class extends _o{setValue(t,r){this._values.set(t,r)}},f2=class extends lu{},d2=class extends lu{},p2=class extends lu{},A2=class extends lu{},m2=class extends lu{},g2=class extends lu{},_2=class extends lu{},y2=class extends lu{};var v2=class extends gc{constructor(t){super(t),this._offsets=new Sv(t.type)}addChild(t,r=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new sl(new si(r,t.type,!0)),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(typeof n>\"u\")r.set(s,0);else{let o=n,c=o.length,f=r.set(s,c).buffer[s];for(let _=-1;++_0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Ac(new si(r,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(n===void 0)r.set(s,0);else{let{[s]:o,[s+1]:c}=r.set(s,n.size).buffer;for(let f of n.entries())if(i.set(o,f),++o>=c)break}}};var b2=class extends Xn{setValue(t,r){}setValid(t,r){return this.length=Math.max(t+1,this.length),r}};var w2=class extends Xn{setValue(t,r){let{children:i,type:s}=this;switch(Array.isArray(r)||r.constructor){case!0:return s.children.forEach((n,o)=>i[o].set(t,r[o]));case Map:return s.children.forEach((n,o)=>i[o].set(t,r.get(n.name)));default:return s.children.forEach((n,o)=>i[o].set(t,r[n.name]))}}setValid(t,r){return super.setValid(t,r)||this.children.forEach(i=>i.setValid(t,r)),r}addChild(t,r=`${this.numChildren}`){let i=this.children.push(t);return this.type=new pn([...this.type.children,new si(r,t.type,!0)]),i}};var ud=class extends _o{};ud.prototype._setValue=AO;var Fv=class extends ud{};Fv.prototype._setValue=qP;var zv=class extends ud{};zv.prototype._setValue=ZP;var Nv=class extends ud{};Nv.prototype._setValue=YP;var Uv=class extends ud{};Uv.prototype._setValue=QP;var hd=class extends _o{};hd.prototype._setValue=mO;var Vv=class extends hd{};Vv.prototype._setValue=$P;var jv=class extends hd{};jv.prototype._setValue=XP;var Gv=class extends hd{};Gv.prototype._setValue=KP;var Wv=class extends hd{};Wv.prototype._setValue=JP;var Lg=class extends Xn{constructor(t){super(t),this._typeIds=new gp(Int8Array,0,1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,r){return this.set(this.length,t,r)}set(t,r,i){return i===void 0&&(i=this._valueToChildTypeId(this,r,t)),this.setValue(t,r,i),this}setValue(t,r,i){this._typeIds.set(t,i);let s=this.type.typeIdToChildIndex[i],n=this.children[s];n?.set(t,r)}addChild(t,r=`${this.children.length}`){let i=this.children.push(t),{type:{children:s,mode:n,typeIds:o}}=this,c=[...s,new si(r,t.type)];return this.type=new pc(n,[...o,i],c),i}_valueToChildTypeId(t,r,i){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}},S2=class extends Lg{},T2=class extends Lg{constructor(t){super(t),this._offsets=new gp(Int32Array)}setValue(t,r,i){let s=this._typeIds.set(t,i).buffer[t],n=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(t,n.length).buffer[t];n?.set(o,r)}};var Hv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};Hv.prototype._flushPending=Pg.prototype._flushPending;var qv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};qv.prototype._flushPending=Ig.prototype._flushPending;var BO=class extends Er{visitNull(){return b2}visitBool(){return mm}visitInt(){return lu}visitInt8(){return f2}visitInt16(){return d2}visitInt32(){return p2}visitInt64(){return A2}visitUint8(){return m2}visitUint16(){return g2}visitUint32(){return _2}visitUint64(){return y2}visitFloat(){return _m}visitFloat16(){return c2}visitFloat32(){return u2}visitFloat64(){return h2}visitUtf8(){return Hv}visitLargeUtf8(){return qv}visitBinary(){return Pg}visitLargeBinary(){return Ig}visitFixedSizeBinary(){return Cv}visitDate(){return gm}visitDateDay(){return Ev}visitDateMillisecond(){return Pv}visitTimestamp(){return ud}visitTimestampSecond(){return Fv}visitTimestampMillisecond(){return zv}visitTimestampMicrosecond(){return Nv}visitTimestampNanosecond(){return Uv}visitTime(){return hd}visitTimeSecond(){return Vv}visitTimeMillisecond(){return jv}visitTimeMicrosecond(){return Gv}visitTimeNanosecond(){return Wv}visitDecimal(){return Iv}visitList(){return v2}visitStruct(){return w2}visitUnion(){return Lg}visitDenseUnion(){return T2}visitSparseUnion(){return S2}visitDictionary(){return a2}visitInterval(){return ym}visitIntervalDayTime(){return Lv}visitIntervalYearMonth(){return kv}visitDuration(){return cd}visitDurationSecond(){return Rv}visitDurationMillisecond(){return Dv}visitDurationMicrosecond(){return Ov}visitDurationNanosecond(){return Bv}visitFixedSizeList(){return l2}visitMap(){return x2}},iH=new BO;var Lr=class extends Er{compareSchemas(t,r){return t===r||r instanceof t.constructor&&this.compareManyFields(t.fields,r.fields)}compareManyFields(t,r){return t===r||Array.isArray(t)&&Array.isArray(r)&&t.length===r.length&&t.every((i,s)=>this.compareFields(i,r[s]))}compareFields(t,r){return t===r||r instanceof t.constructor&&t.name===r.name&&t.nullable===r.nullable&&this.visit(t.type,r.type)}};function kl(e,t){return t instanceof e.constructor}function kg(e,t){return e===t||kl(e,t)}function bp(e,t){return e===t||kl(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function _3(e,t){return e===t||kl(e,t)&&e.precision===t.precision}function fft(e,t){return e===t||kl(e,t)&&e.byteWidth===t.byteWidth}function FO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function M2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function E2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function dft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function pft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function zO(e,t){return e===t||kl(e,t)&&e.mode===t.mode&&e.typeIds.every((r,i)=>r===t.typeIds[i])&&fd.compareManyFields(e.children,t.children)}function Aft(e,t){return e===t||kl(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&fd.visit(e.indices,t.indices)&&fd.visit(e.dictionary,t.dictionary)}function NO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function P2(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function mft(e,t){return e===t||kl(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function gft(e,t){return e===t||kl(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}Lr.prototype.visitNull=kg;Lr.prototype.visitBool=kg;Lr.prototype.visitInt=bp;Lr.prototype.visitInt8=bp;Lr.prototype.visitInt16=bp;Lr.prototype.visitInt32=bp;Lr.prototype.visitInt64=bp;Lr.prototype.visitUint8=bp;Lr.prototype.visitUint16=bp;Lr.prototype.visitUint32=bp;Lr.prototype.visitUint64=bp;Lr.prototype.visitFloat=_3;Lr.prototype.visitFloat16=_3;Lr.prototype.visitFloat32=_3;Lr.prototype.visitFloat64=_3;Lr.prototype.visitUtf8=kg;Lr.prototype.visitLargeUtf8=kg;Lr.prototype.visitBinary=kg;Lr.prototype.visitLargeBinary=kg;Lr.prototype.visitFixedSizeBinary=fft;Lr.prototype.visitDate=FO;Lr.prototype.visitDateDay=FO;Lr.prototype.visitDateMillisecond=FO;Lr.prototype.visitTimestamp=M2;Lr.prototype.visitTimestampSecond=M2;Lr.prototype.visitTimestampMillisecond=M2;Lr.prototype.visitTimestampMicrosecond=M2;Lr.prototype.visitTimestampNanosecond=M2;Lr.prototype.visitTime=E2;Lr.prototype.visitTimeSecond=E2;Lr.prototype.visitTimeMillisecond=E2;Lr.prototype.visitTimeMicrosecond=E2;Lr.prototype.visitTimeNanosecond=E2;Lr.prototype.visitDecimal=kg;Lr.prototype.visitList=dft;Lr.prototype.visitStruct=pft;Lr.prototype.visitUnion=zO;Lr.prototype.visitDenseUnion=zO;Lr.prototype.visitSparseUnion=zO;Lr.prototype.visitDictionary=Aft;Lr.prototype.visitInterval=NO;Lr.prototype.visitIntervalDayTime=NO;Lr.prototype.visitIntervalYearMonth=NO;Lr.prototype.visitDuration=P2;Lr.prototype.visitDurationSecond=P2;Lr.prototype.visitDurationMillisecond=P2;Lr.prototype.visitDurationMicrosecond=P2;Lr.prototype.visitDurationNanosecond=P2;Lr.prototype.visitFixedSizeList=mft;Lr.prototype.visitMap=gft;var fd=new Lr;function Rg(e,t){return fd.compareSchemas(e,t)}function nH(e,t){return fd.compareFields(e,t)}function sH(e,t){return fd.visit(e,t)}function Cg(e){let t=e.type,r=new(iH.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let i=e.children||[],s={nullValues:e.nullValues},n=Array.isArray(i)?(o,c)=>i[c]||s:({name:o})=>i[o]||s;for(let[o,c]of t.children.entries()){let{type:f}=c,_=n(c,o);r.children.push(Cg(Object.assign(Object.assign({},_),{type:f})))}}return r}function y3(e,t){return _ft(e,t.map(r=>r.data.concat()))}function _ft(e,t){let r=[...e.fields],i=[],s={numBatches:t.reduce((I,R)=>Math.max(I,R.length),0)},n=0,o=0,c=-1,f=t.length,_,w=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,c=-1;++c0&&(i[n++]=yr({type:new pn(r),length:o,nullCount:0,children:w.slice()})))}return[e=e.assign(r),i.map(I=>new Fs(e,I))]}function yft(e,t,r,i,s){var n;let o=(t+63&-64)>>3;for(let c=-1,f=i.length;++c=t)w===t?r[c]=_:(r[c]=_.slice(0,t),s.numBatches=Math.max(s.numBatches,i[c].unshift(_.slice(t,w-t))));else{let I=e[c];e[c]=I.clone({nullable:!0}),r[c]=(n=_?._changeLengthAndBackfillNullBitmap(t))!==null&&n!==void 0?n:yr({type:I.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return r}var aH,wa=class e{constructor(...t){var r,i;if(t.length===0)return this.batches=[],this.schema=new an([]),this._offsets=[0],this;let s,n;t[0]instanceof an&&(s=t.shift()),t.at(-1)instanceof Uint32Array&&(n=t.pop());let o=f=>{if(f){if(f instanceof Fs)return[f];if(f instanceof e)return f.batches;if(f instanceof Fi){if(f.type instanceof pn)return[new Fs(new an(f.type.children),f)]}else{if(Array.isArray(f))return f.flatMap(_=>o(_));if(typeof f[Symbol.iterator]==\"function\")return[...f].flatMap(_=>o(_));if(typeof f==\"object\"){let _=Object.keys(f),w=_.map(N=>new xr([f[N]])),I=s??new an(_.map((N,j)=>new si(String(N),w[j].type,w[j].nullable))),[,R]=y3(I,w);return R.length===0?[new Fs(f)]:R}}}return[]},c=t.flatMap(f=>o(f));if(s=(i=s??((r=c[0])===null||r===void 0?void 0:r.schema))!==null&&i!==void 0?i:new an([]),!(s instanceof an))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");for(let f of c){if(!(f instanceof Fs))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");if(!Rg(s,f.schema))throw new TypeError(\"Table and inner RecordBatch schemas must be equivalent.\")}this.schema=s,this.batches=c,this._offsets=n??u3(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,r)=>t+r.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=c3(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.numRows))}set(t,r){}indexOf(t,r){return-1}[Symbol.iterator](){return this.batches.length>0?bv.visit(new xr(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(`,\n `)}\n]`}concat(...t){let r=this.schema,i=this.data.concat(t.flatMap(({data:s})=>s));return new e(r,i.map(s=>new Fs(r,s)))}slice(t,r){let i=this.schema;[t,r]=Kw({length:this.numRows},t,r);let s=h3(this.data,this._offsets,t,r);return new e(i,s.map(n=>new Fs(i,n)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(r=>r.name===t))}getChildAt(t){if(t>-1&&ti.children[t]);if(r.length===0){let{type:i}=this.schema.fields[t],s=yr({type:i,length:0,nullCount:0});r.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new xr(r)}return null}setChild(t,r){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(s=>s.name===t),r)}setChildAt(t,r){let i=this.schema,s=[...this.batches];if(t>-1&&tthis.getChildAt(_));[n[t],c[t]]=[o,r],[i,s]=y3(i,c)}return new e(i,s)}select(t){let r=this.schema.fields.reduce((i,s,n)=>i.set(s.name,n),new Map);return this.selectAt(t.map(i=>r.get(i)).filter(i=>i>-1))}selectAt(t){let r=this.schema.selectAt(t),i=this.batches.map(s=>s.selectAt(t));return new e(r,i)}assign(t){let r=this.schema.fields,[i,s]=t.schema.fields.reduce((c,f,_)=>{let[w,I]=c,R=r.findIndex(N=>N.name===f.name);return~R?I[R]=_:w.push(_),c},[[],[]]),n=this.schema.assign(t.schema),o=[...r.map((c,f)=>[f,s[f]]).map(([c,f])=>f===void 0?this.getChildAt(c):t.getChildAt(f)),...i.map(c=>t.getChildAt(c))].filter(Boolean);return new e(...y3(n,o))}};aH=Symbol.toStringTag;wa[aH]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=xv(e2),e.get=xv(go.getVisitFn(Ot.Struct)),e.set=f3(ba.getVisitFn(Ot.Struct)),e.indexOf=d3(Tg.getVisitFn(Ot.Struct)),\"Table\"))(wa.prototype);var cH,Fs=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof an))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");if([,this.data=yr({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(r=>yr({type:r.type,nullCount:0}))})]=t,!(this.data instanceof Fi))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");[this.schema,this.data]=lH(this.schema,this.data.children);break}case 1:{let[r]=t,{fields:i,children:s,length:n}=Object.keys(r).reduce((f,_,w)=>(f.children[w]=r[_],f.length=Math.max(f.length,r[_].length),f.fields[w]=si.new({name:_,type:r[_].type,nullable:!0}),f),{length:0,fields:new Array,children:new Array}),o=new an(i),c=yr({type:new pn(i),length:n,children:s,nullCount:0});[this.schema,this.data]=lH(o,c.children,n);break}default:throw new TypeError(\"RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.\")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uH(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return go.visit(this.data,t)}at(t){return this.get(xg(t,this.numRows))}set(t,r){return ba.visit(this.data,t,r)}indexOf(t,r){return Tg.visit(this.data,t,r)}[Symbol.iterator](){return bv.visit(new xr([this.data]))}toArray(){return[...this]}concat(...t){return new wa(this.schema,[this,...t])}slice(t,r){let[i]=new xr([this.data]).slice(t,r).data;return new e(this.schema,i)}getChild(t){var r;return this.getChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&ts.name===t),r)}setChildAt(t,r){let i=this.schema,s=this.data;if(t>-1&&tc.name===n);~o&&(s[o]=this.data.children[o])}return new e(r,yr({type:i,length:this.numRows,children:s}))}selectAt(t){let r=this.schema.selectAt(t),i=t.map(n=>this.data.children[n]).filter(Boolean),s=yr({type:new pn(r.fields),length:this.numRows,children:i});return new e(r,s)}};cH=Symbol.toStringTag;Fs[cH]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,\"RecordBatch\"))(Fs.prototype);function lH(e,t,r=t.reduce((i,s)=>Math.max(i,s.length),0)){var i;let s=[...e.fields],n=[...t],o=(r+63&-64)>>3;for(let[c,f]of e.fields.entries()){let _=t[c];(!_||_.length!==r)&&(s[c]=f.clone({nullable:!0}),n[c]=(i=_?._changeLengthAndBackfillNullBitmap(r))!==null&&i!==void 0?i:yr({type:f.type,length:r,nullCount:r,nullBitmap:new Uint8Array(o)}))}return[e.assign(s),yr({type:new pn(s),length:r,children:n})]}function uH(e,t,r=new Map){var i,s;if(((i=e?.length)!==null&&i!==void 0?i:0)>0&&e?.length===t?.length)for(let n=-1,o=e.length;++nyr({type:s.type})),i=yr({type:new pn(t.fields),nullCount:0,children:r});super(t,i)}};var sf=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsMessage(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):wi.NONE}header(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__union(t,this.bb_pos+r):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt(\"0\")}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addHeaderType(t,r){t.addFieldInt8(1,r,wi.NONE)}static addHeader(t,r){t.addFieldOffset(2,r,0)}static addBodyLength(t,r){t.addFieldInt64(3,r,BigInt(\"0\"))}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,r){t.finish(r)}static finishSizePrefixedMessageBuffer(t,r){t.finish(r,void 0,!0)}static createMessage(t,r,i,s,n,o){return e.startMessage(t),e.addVersion(t,r),e.addHeaderType(t,i),e.addHeader(t,s),e.addBodyLength(t,n),e.addCustomMetadata(t,o),e.endMessage(t)}};var UO=class extends Er{visit(t,r){return t==null||r==null?void 0:super.visit(t,r)}visitNull(t,r){return Fw.startNull(r),Fw.endNull(r)}visitInt(t,r){return Xh.startInt(r),Xh.addBitWidth(r,t.bitWidth),Xh.addIsSigned(r,t.isSigned),Xh.endInt(r)}visitFloat(t,r){return lm.startFloatingPoint(r),lm.addPrecision(r,t.precision),lm.endFloatingPoint(r)}visitBinary(t,r){return kw.startBinary(r),kw.endBinary(r)}visitLargeBinary(t,r){return Dw.startLargeBinary(r),Dw.endLargeBinary(r)}visitBool(t,r){return Rw.startBool(r),Rw.endBool(r)}visitUtf8(t,r){return Nw.startUtf8(r),Nw.endUtf8(r)}visitLargeUtf8(t,r){return Ow.startLargeUtf8(r),Ow.endLargeUtf8(r)}visitDecimal(t,r){return id.startDecimal(r),id.addScale(r,t.scale),id.addPrecision(r,t.precision),id.addBitWidth(r,t.bitWidth),id.endDecimal(r)}visitDate(t,r){return nm.startDate(r),nm.addUnit(r,t.unit),nm.endDate(r)}visitTime(t,r){return pp.startTime(r),pp.addUnit(r,t.unit),pp.addBitWidth(r,t.bitWidth),pp.endTime(r)}visitTimestamp(t,r){let i=t.timezone&&r.createString(t.timezone)||void 0;return Ap.startTimestamp(r),Ap.addUnit(r,t.unit),i!==void 0&&Ap.addTimezone(r,i),Ap.endTimestamp(r)}visitInterval(t,r){return cm.startInterval(r),cm.addUnit(r,t.unit),cm.endInterval(r)}visitDuration(t,r){return sm.startDuration(r),sm.addUnit(r,t.unit),sm.endDuration(r)}visitList(t,r){return Bw.startList(r),Bw.endList(r)}visitStruct(t,r){return zw.startStruct_(r),zw.endStruct_(r)}visitUnion(t,r){Kh.startTypeIdsVector(r,t.typeIds.length);let i=Kh.createTypeIdsVector(r,t.typeIds);return Kh.startUnion(r),Kh.addMode(r,t.mode),Kh.addTypeIds(r,i),Kh.endUnion(r)}visitDictionary(t,r){let i=this.visit(t.indices,r);return rd.startDictionaryEncoding(r),rd.addId(r,BigInt(t.id)),rd.addIsOrdered(r,t.isOrdered),i!==void 0&&rd.addIndexType(r,i),rd.endDictionaryEncoding(r)}visitFixedSizeBinary(t,r){return om.startFixedSizeBinary(r),om.addByteWidth(r,t.byteWidth),om.endFixedSizeBinary(r)}visitFixedSizeList(t,r){return am.startFixedSizeList(r),am.addListSize(r,t.listSize),am.endFixedSizeList(r)}visitMap(t,r){return um.startMap(r),um.addKeysSorted(r,t.keysSorted),um.endMap(r)}},v3=new UO;function pH(e,t=new Map){return new an(vft(e,t),x3(e.metadata),t)}function VO(e){return new Sa(e.count,mH(e.columns),gH(e.columns))}function AH(e){return new yc(VO(e.data),e.id,e.isDelta)}function vft(e,t){return(e.fields||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function hH(e,t){return(e.children||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function mH(e){return(e||[]).reduce((t,r)=>[...t,new Xu(r.count,xft(r.VALIDITY)),...mH(r.children)],[])}function gH(e,t=[]){for(let r=-1,i=(e||[]).length;++rt+ +(r===0),0)}function _H(e,t){let r,i,s,n,o,c;return!t||!(n=e.dictionary)?(o=dH(e,hH(e,t)),s=new si(e.name,o,e.nullable,x3(e.metadata))):t.has(r=n.id)?(i=(i=n.indexType)?fH(i):new ef,c=new mc(t.get(r),i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))):(i=(i=n.indexType)?fH(i):new ef,t.set(r,o=dH(e,hH(e,t))),c=new mc(o,i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))),s||null}function x3(e=[]){return new Map(e.map(({key:t,value:r})=>[t,r]))}function fH(e){return new Bs(e.isSigned,e.bitWidth)}function dH(e,t){let r=e.type.name;switch(r){case\"NONE\":return new ea;case\"null\":return new ea;case\"binary\":return new Vu;case\"largebinary\":return new nd;case\"utf8\":return new ju;case\"largeutf8\":return new sd;case\"bool\":return new dc;case\"list\":return new sl((t||[])[0]);case\"struct\":return new pn(t||[]);case\"struct_\":return new pn(t||[])}switch(r){case\"int\":{let i=e.type;return new Bs(i.isSigned,i.bitWidth)}case\"floatingpoint\":{let i=e.type;return new ra($i[i.precision])}case\"decimal\":{let i=e.type;return new Gu(i.scale,i.precision,i.bitWidth)}case\"date\":{let i=e.type;return new Wu(Os[i.unit])}case\"time\":{let i=e.type;return new Hu(Ar[i.unit],i.bitWidth)}case\"timestamp\":{let i=e.type;return new qu(Ar[i.unit],i.timezone)}case\"interval\":{let i=e.type;return new Zu(Bo[i.unit])}case\"duration\":{let i=e.type;return new Yu(Ar[i.unit])}case\"union\":{let i=e.type,[s,...n]=(i.mode+\"\").toLowerCase(),o=s.toUpperCase()+n.join(\"\");return new pc(Pn[o],i.typeIds||[],t||[])}case\"fixedsizebinary\":{let i=e.type;return new Qu(i.byteWidth)}case\"fixedsizelist\":{let i=e.type;return new Ll(i.listSize,(t||[])[0])}case\"map\":{let i=e.type;return new Ac((t||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: \"${r}\"`)}var bft=vg,wft=nu,vc=class e{static fromJSON(t,r){let i=new e(0,sn.V5,r);return i._createHeader=Sft(t,r),i}static decode(t){t=new wft(Rr(t));let r=sf.getRootAsMessage(t),i=r.bodyLength(),s=r.version(),n=r.headerType(),o=new e(i,s,n);return o._createHeader=Tft(r,n),o}static encode(t){let r=new bft,i=-1;return t.isSchema()?i=an.encode(r,t.header()):t.isRecordBatch()?i=Sa.encode(r,t.header()):t.isDictionaryBatch()&&(i=yc.encode(r,t.header())),sf.startMessage(r),sf.addVersion(r,sn.V5),sf.addHeader(r,i),sf.addHeaderType(r,t.headerType),sf.addBodyLength(r,BigInt(t.bodyLength)),sf.finishMessageBuffer(r,sf.endMessage(r)),r.asUint8Array()}static from(t,r=0){if(t instanceof an)return new e(0,sn.V5,wi.Schema,t);if(t instanceof Sa)return new e(r,sn.V5,wi.RecordBatch,t);if(t instanceof yc)return new e(r,sn.V5,wi.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===wi.Schema}isRecordBatch(){return this.headerType===wi.RecordBatch}isDictionaryBatch(){return this.headerType===wi.DictionaryBatch}constructor(t,r,i,s){this._version=r,this._headerType=i,this.body=new Uint8Array(0),s&&(this._createHeader=()=>s),this._bodyLength=Wi(t)}},Sa=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,r,i){this._nodes=r,this._buffers=i,this._length=Wi(t)}},yc=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,r,i=!1){this._data=t,this._isDelta=i,this._id=Wi(r)}},_c=class{constructor(t,r){this.offset=Wi(t),this.length=Wi(r)}},Xu=class{constructor(t,r){this.length=Wi(t),this.nullCount=Wi(r)}};function Sft(e,t){return()=>{switch(t){case wi.Schema:return an.fromJSON(e);case wi.RecordBatch:return Sa.fromJSON(e);case wi.DictionaryBatch:return yc.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}function Tft(e,t){return()=>{switch(t){case wi.Schema:return an.decode(e.header(new fc),new Map,e.version());case wi.RecordBatch:return Sa.decode(e.header(new su),e.version());case wi.DictionaryBatch:return yc.decode(e.header(new dp),e.version())}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}si.encode=Bft;si.decode=Dft;si.fromJSON=_H;an.encode=Oft;an.decode=Mft;an.fromJSON=pH;Sa.encode=Fft;Sa.decode=Eft;Sa.fromJSON=VO;yc.encode=zft;yc.decode=Pft;yc.fromJSON=AH;Xu.encode=Nft;Xu.decode=Cft;_c.encode=Uft;_c.decode=Ift;function Mft(e,t=new Map,r=sn.V5){let i=Rft(e,t);return new an(i,b3(e),t,r)}function Eft(e,t=sn.V5){if(e.compression()!==null)throw new Error(\"Record batch compression not implemented\");return new Sa(e.length(),Lft(e),kft(e,t))}function Pft(e,t=sn.V5){return new yc(Sa.decode(e.data(),t),e.id(),e.isDelta())}function Ift(e){return new _c(e.offset(),e.length())}function Cft(e){return new Xu(e.length(),e.nullCount())}function Lft(e){let t=[];for(let r,i=-1,s=-1,n=e.nodesLength();++isi.encode(e,n));fc.startFieldsVector(e,r.length);let i=fc.createFieldsVector(e,r),s=t.metadata&&t.metadata.size>0?fc.createCustomMetadataVector(e,[...t.metadata].map(([n,o])=>{let c=e.createString(`${n}`),f=e.createString(`${o}`);return Fo.startKeyValue(e),Fo.addKey(e,c),Fo.addValue(e,f),Fo.endKeyValue(e)})):-1;return fc.startSchema(e),fc.addFields(e,i),fc.addEndianness(e,Vft?im.Little:im.Big),s!==-1&&fc.addCustomMetadata(e,s),fc.endSchema(e)}function Bft(e,t){let r=-1,i=-1,s=-1,n=t.type,o=t.typeId;ze.isDictionary(n)?(o=n.dictionary.typeId,s=v3.visit(n,e),i=v3.visit(n.dictionary,e)):i=v3.visit(n,e);let c=(n.children||[]).map(w=>si.encode(e,w)),f=nl.createChildrenVector(e,c),_=t.metadata&&t.metadata.size>0?nl.createCustomMetadataVector(e,[...t.metadata].map(([w,I])=>{let R=e.createString(`${w}`),N=e.createString(`${I}`);return Fo.startKeyValue(e),Fo.addKey(e,R),Fo.addValue(e,N),Fo.endKeyValue(e)})):-1;return t.name&&(r=e.createString(t.name)),nl.startField(e),nl.addType(e,i),nl.addTypeType(e,o),nl.addChildren(e,f),nl.addNullable(e,!!t.nullable),r!==-1&&nl.addName(e,r),s!==-1&&nl.addDictionary(e,s),_!==-1&&nl.addCustomMetadata(e,_),nl.endField(e)}function Fft(e,t){let r=t.nodes||[],i=t.buffers||[];su.startNodesVector(e,r.length);for(let o of r.slice().reverse())Xu.encode(e,o);let s=e.endVector();su.startBuffersVector(e,i.length);for(let o of i.slice().reverse())_c.encode(e,o);let n=e.endVector();return su.startRecordBatch(e),su.addLength(e,BigInt(t.length)),su.addNodes(e,s),su.addBuffers(e,n),su.endRecordBatch(e)}function zft(e,t){let r=Sa.encode(e,t.data);return dp.startDictionaryBatch(e),dp.addId(e,BigInt(t.id)),dp.addIsDelta(e,t.isDelta),dp.addData(e,r),dp.endDictionaryBatch(e)}function Nft(e,t){return hv.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function Uft(e,t){return uv.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var Vft=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var GO=e=>`Expected ${wi[e]} Message in stream, but was null or length 0.`,WO=e=>`Header pointer of flatbuffer-encoded ${wi[e]} Message is null or length 0.`,bH=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,wH=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Zv=class{constructor(t){this.source=t instanceof ld?t:new ld(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?Vn:t.value===-1&&(t=this.readMetadataLength()).done?Vn:(t=this.readMetadata(t.value)).done?Vn:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let r=Rr(this.source.read(t));if(r.byteLength[...s,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE_ID&&[n.TYPE_ID]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...r(n.children)],[])}}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readSchema(){let t=wi.Schema,r=this.readMessage(t),i=r?.header();if(!r||!i)throw new Error(WO(t));return i}},w3=4,jO=\"ARROW1\",Yv=new Uint8Array(jO.length);for(let e=0;ethis):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return xa.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return xa.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof e?t:CP(t)?Gft(t):kP(t)?qft(t):ru(t)?ar(this,void 0,void 0,function*(){return yield e.from(yield t)}):RP(t)||Mw(t)||OP(t)||Nu(t)?Hft(new $u(t)):Wft(new ld(t))}static readAll(t){return t instanceof e?t.isSync()?TH(t):MH(t):CP(t)||ArrayBuffer.isView(t)||Yh(t)||LP(t)?TH(t):MH(t)}},wp=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(this[Symbol.iterator]())))})}},Og=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return ar(this,void 0,void 0,function*(){var t,r,i,s;let n=new Array;try{for(var o=!0,c=Zh(this),f;f=yield c.next(),t=f.done,!t;o=!0){s=f.value,o=!1;let _=s;n.push(_)}}catch(_){r={error:_}}finally{try{!o&&!t&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}return n})}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Bg=class extends wp{constructor(t){super(t),this._impl=t}},T3=class extends Og{constructor(t){super(t),this._impl=t}},M3=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,r){let i=this._loadVectors(t,r,this.schema.fields),s=yr({type:new pn(this.schema.fields),length:t.length,children:i});return new Fs(this.schema,s)}_loadDictionaryBatch(t,r){let{id:i,isDelta:s}=t,{dictionaries:n,schema:o}=this,c=n.get(i);if(s||!c){let f=o.dictionaries.get(i),_=this._loadVectors(t.data,r,[f]);return(c&&s?c.concat(new xr(_)):new xr(_)).memoize()}return c.memoize()}_loadVectors(t,r,i){return new o2(r,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}},$v=class extends M3{constructor(t,r){super(r),this._reader=CP(t)?new C2(this._handle=t):new Zv(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Vn}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Vn}next(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Xv=class extends M3{constructor(t,r){super(r),this._reader=new I2(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ar(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return ar(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):Vn})}return(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):Vn})}next(){return ar(this,void 0,void 0,function*(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},E3=class extends $v{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,r){super(t instanceof i2?t:new i2(t),r)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var r;if(this.closed)return null;this._footer||this.open();let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null}_readDictionaryBatch(t){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}}_readFooter(){let{_handle:t}=this,r=t.size-HO,i=t.readInt32(r),s=t.readAt(r-i,i);return _p.decode(s)}_readNextMessageAndValidate(t){var r;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ar(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield r.open.call(this,t)})}readRecordBatch(t){return ar(this,void 0,void 0,function*(){var r;if(this.closed)return null;this._footer||(yield this.open());let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null})}_readDictionaryBatch(t){return ar(this,void 0,void 0,function*(){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}})}_readFooter(){return ar(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let r=t.size-HO,i=yield t.readInt32(r),s=yield t.readAt(r-i,i);return _p.decode(s)})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?S3(t)?new Bg(new E3(e.read())):new wp(new $v(e)):new wp(new $v(function*(){}()))}function Hft(e){return ar(this,void 0,void 0,function*(){let t=yield e.peek(Qv+7&-8);return t&&t.byteLength>=4?S3(t)?new Bg(new E3(yield e.read())):new Og(new Xv(e)):new Og(new Xv(function(){return eu(this,arguments,function*(){})}()))})}function qft(e){return ar(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),r=new Am(e,t);return t>=SH&&S3(yield r.readAt(0,Qv+7&-8))?new T3(new qO(r)):new Og(new Xv(r))})}var os=class e extends Er{static assemble(...t){let r=s=>s.flatMap(n=>Array.isArray(n)?r(n):n instanceof Fs?n.data.children:n.data),i=new e;return i.visitMany(r(t)),i}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof xr)return this.visitMany(t.data),this;let{type:r}=t;if(!ze.isDictionary(r)){let{length:i}=t;if(i>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");if(ze.isUnion(r))this.nodes.push(new Xu(i,0));else{let{nullCount:s}=t;ze.isNull(r)||of.call(this,s<=0?new Uint8Array(0):wg(t.offset,i,t.nullBitmap)),this.nodes.push(new Xu(i,s))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function of(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new _c(this._byteLength,t)),this._byteLength+=t,this}function Zft(e){var t;let{type:r,length:i,typeIds:s,valueOffsets:n}=e;if(of.call(this,s),r.mode===Pn.Sparse)return YO.call(this,e);if(r.mode===Pn.Dense){if(e.offset<=0)return of.call(this,n),YO.call(this,e);{let o=new Int32Array(i),c=Object.create(null),f=Object.create(null);for(let _,w,I=-1;++I{let I=r.typeIds[w],R=c[I],N=f[I];return _.slice(R,Math.min(i,N))}))}}return this}function Yft(e){let t;return e.nullCount>=e.length?of.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?of.call(this,wg(e.offset,e.length,t)):of.call(this,Sg(e.values))}function Sp(e){return of.call(this,e.values.subarray(0,e.length*e.stride))}function P3(e){let{length:t,values:r,valueOffsets:i}=e,s=Wi(i[0]),n=Wi(i[t]),o=Math.min(n-s,r.byteLength-s);return of.call(this,FP(-s,t+1,i)),of.call(this,r.subarray(s,s+o)),this}function QO(e){let{length:t,valueOffsets:r}=e;if(r){let{[0]:i,[t]:s}=r;return of.call(this,FP(-i,t+1,r)),this.visit(e.children[0].slice(i,s-i))}return this.visit(e.children[0])}function YO(e){return this.visitMany(e.type.children.map((t,r)=>e.children[r]).filter(Boolean))[0]}os.prototype.visitBool=Yft;os.prototype.visitInt=Sp;os.prototype.visitFloat=Sp;os.prototype.visitUtf8=P3;os.prototype.visitLargeUtf8=P3;os.prototype.visitBinary=P3;os.prototype.visitLargeBinary=P3;os.prototype.visitFixedSizeBinary=Sp;os.prototype.visitDate=Sp;os.prototype.visitTimestamp=Sp;os.prototype.visitTime=Sp;os.prototype.visitDecimal=Sp;os.prototype.visitList=QO;os.prototype.visitStruct=YO;os.prototype.visitUnion=Zft;os.prototype.visitInterval=Sp;os.prototype.visitDuration=Sp;os.prototype.visitFixedSizeList=QO;os.prototype.visitMap=QO;var Fg=class extends Eg{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new ad,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Cl(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return ru(t)?t.then(r=>this.writeAll(r)):Nu(t)?XO(this,t):$O(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,r=null){return t===this._sink||t instanceof ad?this._sink=t:(this._sink=new ad,t&&j9(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&G9(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!r||!Rg(r,this._schema))&&(r==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=r,this._writeSchema(r))),this}write(t){let r=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof wa&&!(r=t.schema))return this.finish()&&void 0;if(t instanceof Fs&&!(r=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(r&&!Rg(r,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,r)}t instanceof Fs?t instanceof Dg||this._writeRecordBatch(t):t instanceof wa?this.writeAll(t.batches):Yh(t)&&this.writeAll(t)}_writeMessage(t,r=8){let i=r-1,s=vc.encode(t),n=s.byteLength,o=this._writeLegacyIpcFormat?4:8,c=n+o+i&~i,f=c-n-o;return t.headerType===wi.RecordBatch?this._recordBatchBlocks.push(new yp(c,t.bodyLength,this._position)):t.headerType===wi.DictionaryBatch&&this._dictionaryBlocks.push(new yp(c,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(c-o)),n>0&&this._write(s),this._writePadding(f)}_write(t){if(this._started){let r=Rr(t);r&&r.byteLength>0&&(this._sink.write(r),this._position+=r.byteLength)}return this}_writeSchema(t){return this._writeMessage(vc.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Yv)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:r,nodes:i,bufferRegions:s,buffers:n}=os.assemble(t),o=new Sa(t.numRows,i,s),c=vc.from(o,r);return this._writeDictionaries(t)._writeMessage(c)._writeBodyBuffers(n)}_writeDictionaryBatch(t,r,i=!1){this._dictionaryDeltaOffsets.set(r,t.length+(this._dictionaryDeltaOffsets.get(r)||0));let{byteLength:s,nodes:n,bufferRegions:o,buffers:c}=os.assemble(new xr([t])),f=new Sa(t.length,n,o),_=new yc(f,r,i),w=vc.from(_,s);return this._writeMessage(w)._writeBodyBuffers(c)}_writeBodyBuffers(t){let r,i,s;for(let n=-1,o=t.length;++n0&&(this._write(r),(s=(i+7&-8)-i)>0&&this._writePadding(s));return this}_writeDictionaries(t){for(let[r,i]of t.dictionaries){let s=this._dictionaryDeltaOffsets.get(r)||0;if(s===0||(i=i?.slice(s)).length>0)for(let n of i.data)this._writeDictionaryBatch(n,r,s>0),s+=n.length}return this}},L2=class e extends Fg{static writeAll(t,r){let i=new e(r);return ru(t)?t.then(s=>i.writeAll(s)):Nu(t)?XO(i,t):$O(i,t)}},k2=class e extends Fg{static writeAll(t){let r=new e;return ru(t)?t.then(i=>r.writeAll(i)):Nu(t)?XO(r,t):$O(r,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let r=_p.encode(new _p(t,sn.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(r)._write(Int32Array.of(r.byteLength))._writeMagic()}};function $O(e,t){let r=t;t instanceof wa&&(r=t.batches,e.reset(void 0,t.schema));for(let i of r)e.write(i);return e.finish()}function XO(e,t){return ar(this,void 0,void 0,function*(){var r,i,s,n,o,c,f;try{for(r=!0,i=Zh(t);s=yield i.next(),n=s.done,!n;r=!0){f=s.value,r=!1;let _=f;e.write(_)}}catch(_){o={error:_}}finally{try{!r&&!n&&(c=i.return)&&(yield c.call(i))}finally{if(o)throw o.error}}return e.finish()})}function PH(e,t){if(Nu(e))return $ft(e,t);if(Yh(e))return Qft(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function Qft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){n(o,r||(r=e[Symbol.iterator]()))},pull(o){r?n(o,r):o.close()},cancel(){(r?.return&&r.return()||!0)&&(r=null)}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){let f,_=null,w=o.desiredSize||null;for(;!(_=c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()}}function $ft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){return ar(this,void 0,void 0,function*(){yield n(o,r||(r=e[Symbol.asyncIterator]()))})},pull(o){return ar(this,void 0,void 0,function*(){r?yield n(o,r):o.close()})},cancel(){return ar(this,void 0,void 0,function*(){(r?.return&&(yield r.return())||!0)&&(r=null)})}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){return ar(this,void 0,void 0,function*(){let f,_=null,w=o.desiredSize||null;for(;!(_=yield c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()})}}function LH(e){return new KO(e)}var KO=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{[\"readableStrategy\"]:r,[\"writableStrategy\"]:i,[\"queueingStrategy\"]:s=\"count\"}=t,n=U9(t,[\"readableStrategy\",\"writableStrategy\",\"queueingStrategy\"]);this._controller=null,this._builder=Cg(n),this._getSize=s!==\"bytes\"?IH:CH;let{[\"highWaterMark\"]:o=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},r),{[\"highWaterMark\"]:c=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},i);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:f=>{this._maybeFlush(this._builder,this._controller=f)},start:f=>{this._maybeFlush(this._builder,this._controller=f)}},{highWaterMark:o,size:s!==\"bytes\"?IH:CH}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:c,size:f=>this._writeValueAndReturnChunkSize(f)})}_writeValueAndReturnChunkSize(t){let r=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-r}_maybeFlush(t,r){r!=null&&(this._bufferedSize>=r.desiredSize&&++this._numChunks&&this._enqueue(r,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(r,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(r,null)))}_enqueue(t,r){this._bufferedSize=0,this._controller=null,r==null?t.close():t.enqueue(r)}},IH=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},CH=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function I3(e,t){let r=new ad,i=null,s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield r.close()})},start(c){return ar(this,void 0,void 0,function*(){yield o(c,i||(i=yield n()))})},pull(c){return ar(this,void 0,void 0,function*(){i?yield o(c,i):c.close()})}});return{writable:new WritableStream(r,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:s};function n(){return ar(this,void 0,void 0,function*(){return yield(yield cu.from(r)).open(t)})}function o(c,f){return ar(this,void 0,void 0,function*(){let _=c.desiredSize,w=null;for(;!(w=yield f.next()).done;)if(c.enqueue(w.value),_!=null&&--_<=0)return;c.close()})}}function C3(e,t){let r=new this(e),i=new $u(r),s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield i.cancel()})},pull(o){return ar(this,void 0,void 0,function*(){yield n(o)})},start(o){return ar(this,void 0,void 0,function*(){yield n(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(r,e),readable:s};function n(o){return ar(this,void 0,void 0,function*(){let c=null,f=o.desiredSize;for(;c=yield i.read(f||null);)if(o.enqueue(c),f!=null&&(f-=c.byteLength)<=0)return;o.close()})}}function R2(e){let t=cu.from(e);return ru(t)?t.then(r=>R2(r)):t.isAsync()?t.readAll().then(r=>new wa(r)):new wa(t.readAll())}var _dt=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uO),OO),MO),hO),iO),TO),oO),{compareSchemas:Rg,compareFields:nH,compareTypes:sH});xa.toDOMStream=PH;Xn.throughDOM=LH;cu.throughDOM=I3;Bg.throughDOM=I3;wp.throughDOM=I3;Fg.throughDOM=C3;k2.throughDOM=C3;L2.throughDOM=C3;var ydt=\"0.6.1\",vdt=`https://cdn.jsdelivr.net/npm/parquet-wasm@${ydt}/esm/parquet_wasm_bg.wasm`,JO=!1;async function kH(){JO||(await z9(vdt),JO=!0)}function xdt(e){if(!JO)throw new Error(\"wasm not ready\");console.time(\"readParquet\");let t=O9(new Uint8Array(e.buffer),{batchSize:Math.pow(2,31)}).intoIPCStream(),r=R2(t);return console.timeEnd(\"readParquet\"),r}function O2(e){let t=[];for(let r of e){let i=xdt(r);i.batches.length!==1&&console.warn(\"Expected one batch\"),t.push(...i.batches)}return new wa(t)}var RH=Ri(Yi(),1);function tB(e){return e instanceof Array&&e?.[0]instanceof DataView?e?.[0].byteLength>0?O2(e).getChildAt(0):null:e}var zg=class{model;callbacks;updateStateCallback;constructor(t,r){this.model=t,this.model.on(\"change\",r),this.updateStateCallback=r,this.callbacks=new Map,this.callbacks.set(\"change\",r)}async loadSubModels(){}initRegularAttribute(t,r){this[r]=this.model.get(t),this.model.off(`change:${t}`);let i=()=>{this[r]=this.model.get(t)};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}initVectorizedAccessor(t,r){this[r]=tB(this.model.get(t)),this.model.off(`change:${t}`);let i=()=>{this[r]=tB(this.model.get(t))};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}finalize(){for(let[t,r]of Object.entries(this.callbacks))this.model.off(t,r)}};async function L3(e,t){let r=[];for(let i of t)r.push(e.get_model(i.slice(10)));return await Promise.all(r)}function Jt(e){return e!=null}function DH(e,t=20){let r;return(...s)=>{clearTimeout(r),r=setTimeout(()=>e(...s),t)}}var bdt=`\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n`,wdt=`\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n`,Sdt={source:0,target:1,custom:2,source_target:3},Tdt={\"vs:DECKGL_FILTER_GL_POSITION\":`\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n `},OH={name:\"brushing\",dependencies:[Vh],vs:bdt,fs:wdt,inject:Tdt,getUniforms:e=>{if(!e||!(\"viewport\"in e))return{};let{brushingEnabled:t=!0,brushingRadius:r=1e4,brushingTarget:i=\"source\",mousePosition:s,viewport:n}=e;return{brushing_enabled:!!(t&&s&&n.containsPixel(s)),brushing_radius:r,brushing_target:Sdt[i]||0,brushing_mousePos:s?n.unproject([s.x-n.x,s.y-n.y]):[0,0]}}};var Mdt={getBrushingTarget:{type:\"accessor\",value:[0,0]},brushingTarget:\"source\",brushingEnabled:!0,brushingRadius:1e4},vm=class extends cc{getShaders(){return{modules:[OH]}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({brushingTargets:{size:2,accessor:\"getBrushingTarget\",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=()=>{var s;(s=this.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},t.deck&&t.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}finalizeState(t,r){t.deck&&t.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}};G(vm,\"defaultProps\",Mdt);G(vm,\"extensionName\",\"BrushingExtension\");var BH=`\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`,FH=`\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;function zH(e){if(!e||!(\"extensions\"in e))return{};let{filterRange:t=[-1,1],filterEnabled:r=!0,filterTransformSize:i=!0,filterTransformColor:s=!0}=e,n=e.filterSoftRange||t;return{...Number.isFinite(t[0])?{filter_min:t[0],filter_softMin:n[0],filter_softMax:n[1],filter_max:t[1]}:{filter_min:t.map(o=>o[0]),filter_softMin:n.map(o=>o[0]),filter_softMax:n.map(o=>o[1]),filter_max:t.map(o=>o[1])},filter_enabled:r,filter_useSoftMargin:!!e.filterSoftRange,filter_transformSize:r&&i,filter_transformColor:r&&s}}function Edt(e){if(!e||!(\"extensions\"in e))return{};let t=zH(e);if(Number.isFinite(t.filter_min)){let r=Math.fround(t.filter_min);t.filter_min-=r,t.filter_softMin-=r,t.filter_min64High=r;let i=Math.fround(t.filter_max);t.filter_max-=i,t.filter_softMax-=i,t.filter_max64High=i}else{let r=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((s,n)=>s-r[n]),t.filter_softMin=t.filter_softMin.map((s,n)=>s-r[n]),t.filter_min64High=r;let i=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((s,n)=>s-i[n]),t.filter_softMax=t.filter_softMax.map((s,n)=>s-i[n]),t.filter_max64High=i}return t}var NH={\"vs:#main-start\":`\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\"vs:#main-end\":`\n if (dataFilter_value == 0.0) {\n gl_Position = vec4(0.);\n }\n `,\"vs:DECKGL_FILTER_SIZE\":`\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `},UH={name:\"data-filter\",vs:BH,fs:FH,inject:NH,getUniforms:zH},VH={name:\"data-filter-fp64\",vs:BH,fs:FH,inject:NH,getUniforms:Edt};var Pdt=`#define SHADER_NAME data-filter-vertex-shader\n\n#ifdef FLOAT_TARGET\n attribute float filterIndices;\n attribute float filterPrevIndices;\n#else\n attribute vec2 filterIndices;\n attribute vec2 filterPrevIndices;\n#endif\n\nvarying vec4 vColor;\nconst float component = 1.0 / 255.0;\n\nvoid main() {\n #ifdef FLOAT_TARGET\n dataFilter_value *= float(filterIndices != filterPrevIndices);\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n vColor = vec4(0.0, 0.0, 0.0, 1.0);\n #else\n // Float texture is not supported: pack result into 4 channels x 256 px x 64px\n dataFilter_value *= float(filterIndices.x != filterPrevIndices.x);\n float col = filterIndices.x;\n float row = filterIndices.y * 4.0;\n float channel = floor(row);\n row = fract(row);\n vColor = component * vec4(bvec4(channel == 0.0, channel == 1.0, channel == 2.0, channel == 3.0));\n gl_Position = vec4(col * 2.0 - 1.0, row * 2.0 - 1.0, 0.0, 1.0);\n #endif\n gl_PointSize = 1.0;\n}\n`,Idt=`#define SHADER_NAME data-filter-fragment-shader\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n if (dataFilter_value < 0.5) {\n discard;\n }\n gl_FragColor = vColor;\n}\n`;function jH(e){return!!(e.getExtension(\"EXT_float_blend\")&&(e.getExtension(\"EXT_color_buffer_float\")||e.getExtension(\"WEBGL_color_buffer_float\")))}function GH(e,t){return t?new yi(e,{width:1,height:1,attachments:{36064:new pi(e,{format:fr(e)?34836:6408,type:5126,mipmaps:!1})}}):new yi(e,{width:256,height:64,depth:!1})}function WH(e,t,r){return t.defines.NON_INSTANCED_MODEL=1,r&&(t.defines.FLOAT_TARGET=1),new fn(e,{id:\"data-filter-aggregation-model\",vertexCount:1,isInstanced:!1,drawMode:0,vs:Pdt,fs:Idt,...t})}var HH={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var Ldt={getFilterValue:{type:\"accessor\",value:0},onFilteredItemsChange:{type:\"function\",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},qH={1:\"float\",2:\"vec2\",3:\"vec3\",4:\"vec4\"},xm=class extends cc{constructor({filterSize:t=1,fp64:r=!1,countItems:i=!1}={}){if(!qH[t])throw new Error(\"filterSize out of range\");super({filterSize:t,fp64:r,countItems:i})}getShaders(t){let{filterSize:r,fp64:i}=t.opts;return{modules:[i?VH:UH],defines:{DATAFILTER_TYPE:qH[r],DATAFILTER_DOUBLE:!!i}}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({filterValues:{size:r.opts.filterSize,type:r.opts.fp64?5130:5126,accessor:\"getFilterValue\",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});let{gl:s}=this.context;if(i&&r.opts.countItems){let n=jH(s);i.add({filterIndices:{size:n?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:(f,{index:_})=>{let w=f&&f.__source?f.__source.index:_;return n?(w+1)%255:[(w+1)%255,Math.floor(w/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});let o=GH(s,n),c=WH(s,r.getShaders.call(this,r),n);this.setState({filterFBO:o,filterModel:c})}}updateState({props:t,oldProps:r}){if(this.state.filterModel){let s=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==r.filterEnabled||t.filterRange!==r.filterRange||t.filterSoftRange!==r.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}draw(t,r){let{filterFBO:i,filterModel:s,filterNeedsUpdate:n}=this.state,{onFilteredItemsChange:o}=this.props;if(n&&o&&s){let{attributes:{filterValues:c,filterIndices:f}}=this.getAttributeManager();s.setVertexCount(this.getNumInstances());let{gl:_}=this.context;Hf(_,{framebuffer:i,color:[0,0,0,0]}),s.updateModuleSettings(t.moduleParameters).setAttributes({...c.getShaderAttributes(),...f&&f.getShaderAttributes()}).draw({framebuffer:i,parameters:{...HH,viewport:[0,0,i.width,i.height]}});let w=Dh(i),I=0;for(let R=0;R 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`}},YH={inject:{\"vs:#decl\":`\nattribute float instanceOffsets;\n`,\"vs:DECKGL_FILTER_SIZE\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\"vs:#main-end\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\"fs:#main-start\":`\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`}};var kdt={getDashArray:{type:\"accessor\",value:[0,0]},getOffset:{type:\"accessor\",value:0},dashJustified:!1,dashGapPickable:!1},bm=class extends cc{constructor({dash:t=!1,offset:r=!1,highPrecisionDash:i=!1}={}){super({dash:t||i,offset:r,highPrecisionDash:i})}isEnabled(t){return\"pathTesselator\"in t.state}getShaders(t){if(!t.isEnabled(this))return null;let r={};return t.opts.dash&&(r=tv(r,ZH)),t.opts.offset&&(r=tv(r,YH)),r}initializeState(t,r){let i=this.getAttributeManager();!i||!r.isEnabled(this)||(r.opts.dash&&i.addInstanced({instanceDashArrays:{size:2,accessor:\"getDashArray\"}}),r.opts.highPrecisionDash&&i.addInstanced({instanceDashOffsets:{size:1,accessor:\"getPath\",transform:r.getDashOffsets.bind(this)}}),r.opts.offset&&i.addInstanced({instanceOffsets:{size:1,accessor:\"getOffset\"}}))}updateState(t,r){if(!r.isEnabled(this))return;let i={};r.opts.dash&&(i.dashAlignMode=this.props.dashJustified?1:0,i.dashGapPickable=!!this.props.dashGapPickable),this.state.model.setUniforms(i)}getDashOffsets(t){let r=[0],i=this.props.positionFormat===\"XY\"?2:3,s=Array.isArray(t[0]),n=s?t.length:t.length/i,o,c;for(let f=0;f0&&(r[f]=r[f-1]+$j(c,o)),c=o;return r}};G(bm,\"defaultProps\",kdt);G(bm,\"extensionName\",\"PathStyleExtension\");var Rdt=`\n#ifdef NON_INSTANCED_MODEL\nattribute float collisionPriorities;\n#else\nattribute float instanceCollisionPriorities;\n#endif\n\nuniform sampler2D collision_texture;\nuniform bool collision_sort;\nuniform bool collision_enabled;\n\nvec2 collision_getCoords(vec4 position) {\n vec4 collision_clipspace = project_common_position_to_clipspace(position);\n return (1.0 + collision_clipspace.xy / collision_clipspace.w) / 2.0;\n}\n\nfloat collision_match(vec2 tex, vec3 pickingColor) {\n vec4 collision_pickingColor = texture2D(collision_texture, tex);\n float delta = dot(abs(collision_pickingColor.rgb - pickingColor), vec3(1.0));\n float e = 0.001;\n return step(delta, e);\n}\n\nfloat collision_isVisible(vec2 texCoords, vec3 pickingColor) {\n if (!collision_enabled) {\n return 1.0;\n }\n\n // Visibility test, sample area of 5x5 pixels in order to fade in/out.\n // Due to the locality, the lookups will be cached\n // This reduces the flicker present when objects are shown/hidden\n const int N = 2;\n float accumulator = 0.0;\n vec2 step = vec2(1.0 / project_uViewportSize);\n\n const float floatN = float(N);\n vec2 delta = -floatN * step;\n for(int i = -N; i <= N; i++) {\n delta.x = -step.x * floatN;\n for(int j = -N; j <= N; j++) {\n accumulator += collision_match(texCoords + delta, pickingColor);\n delta.x += step.x;\n }\n delta.y += step.y;\n }\n\n float W = 2.0 * floatN + 1.0;\n return pow(accumulator / (W * W), 2.2);\n}\n`,Ddt={\"vs:#decl\":`\n float collision_fade = 1.0;\n`,\"vs:DECKGL_FILTER_GL_POSITION\":`\n if (collision_sort) {\n #ifdef NON_INSTANCED_MODEL\n float collisionPriority = collisionPriorities;\n #else\n float collisionPriority = instanceCollisionPriorities;\n #endif\n position.z = -0.001 * collisionPriority * position.w; // Support range -1000 -> 1000\n }\n\n if (collision_enabled) {\n vec4 collision_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n vec2 collision_texCoords = collision_getCoords(collision_common_position);\n collision_fade = collision_isVisible(collision_texCoords, geometry.pickingColor / 255.0);\n if (collision_fade < 0.0001) {\n // Position outside clip space bounds to discard\n position = vec4(0.0, 0.0, 2.0, 1.0);\n }\n }\n `,\"vs:DECKGL_FILTER_COLOR\":`\n color.a *= collision_fade;\n `},Odt=(e,t)=>{if(!e||!(\"dummyCollisionMap\"in e))return{};let{collisionFBO:r,drawToCollisionMap:i,dummyCollisionMap:s}=e;return{collision_sort:!!i,collision_texture:!i&&r?r:s}},QH={name:\"collision\",dependencies:[Vh],vs:Rdt,inject:Ddt,getUniforms:Odt};var B2=class extends sc{renderCollisionMap(t,r){let i=this.gl,s=1;return Mn(i,{scissorTest:!0,scissor:[s,s,t.width-2*s,t.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},()=>this.render({...r,target:t,pass:\"collision\"}))}getModuleParameters(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}};var F2=class extends sc{constructor(t,r){super(t,r),G(this,\"maskMap\",void 0),G(this,\"fbo\",void 0);let{mapSize:i=2048}=r;this.maskMap=new pi(t,{width:i,height:i,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.fbo=new yi(t,{id:\"maskmap\",width:i,height:i,attachments:{36064:this.maskMap}})}render(t){let r=this.gl,i=[!1,!1,!1,!1];return i[t.channel]=!0,Mn(r,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:i,depthTest:!1},()=>super.render({...t,target:this.fbo,pass:\"mask\"}))}shouldDrawLayer(t){return t.props.operation.includes(\"mask\")}delete(){this.fbo.delete(),this.maskMap.delete()}};function $H(e,t){let r=[1/0,1/0,-1/0,-1/0];for(let i of e){let s=i.getBounds();if(s){let n=i.projectPosition(s[0],{viewport:t,autoOffset:!1}),o=i.projectPosition(s[1],{viewport:t,autoOffset:!1});r[0]=Math.min(r[0],n[0]),r[1]=Math.min(r[1],n[1]),r[2]=Math.max(r[2],o[0]),r[3]=Math.max(r[3],o[1])}}return Number.isFinite(r[0])?r:null}var Bdt=2048;function XH(e){let{bounds:t,viewport:r,border:i=0}=e,{isGeospatial:s}=r;if(t[2]<=t[0]||t[3]<=t[1])return null;let n=r.unprojectPosition([(t[0]+t[2])/2,(t[1]+t[3])/2,0]),{width:o,height:c,zoom:f}=e;if(f===void 0){o=o-i*2,c=c-i*2;let _=Math.min(o/(t[2]-t[0]),c/(t[3]-t[1]));f=Math.min(Math.log2(_),20)}else if(!o||!c){let _=2**f;o=Math.round(Math.abs(t[2]-t[0])*_),c=Math.round(Math.abs(t[3]-t[1])*_);let w=Bdt-i*2;if(o>w||c>w){let I=w/Math.max(o,c);o=Math.round(o*I),c=Math.round(c*I),f+=Math.log2(I)}}return s?new lc({id:r.id,x:i,y:i,width:o,height:c,longitude:n[0],latitude:n[1],zoom:f,orthographic:!0}):new iv({id:r.id,x:i,y:i,width:o,height:c,target:n,zoom:f,flipY:!1})}function Fdt(e,t){let r;if(t&&t.length===2){let[n,o]=t,c=e.getBounds({z:n}),f=e.getBounds({z:o});r=[Math.min(c[0],f[0]),Math.min(c[1],f[1]),Math.max(c[2],f[2]),Math.max(c[3],f[3])]}else r=e.getBounds();let i=e.projectPosition(r.slice(0,2)),s=e.projectPosition(r.slice(2,4));return[i[0],i[1],s[0],s[1]]}function KH(e,t,r){if(!e)return[0,0,1,1];let i=Fdt(t,r),s=zdt(i);return e[2]-e[0]<=s[2]-s[0]&&e[3]-e[1]<=s[3]-s[1]?e:[Math.max(e[0],s[0]),Math.max(e[1],s[1]),Math.min(e[2],s[2]),Math.min(e[3],s[3])]}function zdt(e){let t=e[2]-e[0],r=e[3]-e[1],i=(e[0]+e[2])/2,s=(e[1]+e[3])/2;return[i-t,s-r,i+t,s+r]}var z2=class{constructor(){G(this,\"id\",\"mask-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",0),G(this,\"dummyMaskMap\",void 0),G(this,\"channels\",[]),G(this,\"masks\",null),G(this,\"maskPass\",void 0),G(this,\"maskMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o,isPicking:c}){let f=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new pi(t,{width:1,height:1})),c)return{didRender:f};let _=r.filter(N=>N.props.visible&&N.props.operation.includes(\"mask\"));if(_.length===0)return this.masks=null,this.channels.length=0,{didRender:f};this.masks={},this.maskPass||(this.maskPass=new F2(t,{id:\"default-mask\"}),this.maskMap=this.maskPass.maskMap);let w=this._sortMaskChannels(_),I=s[0],R=!this.lastViewport||!this.lastViewport.equals(I);if(I.resolution!==void 0)return or.warn(\"MaskExtension is not supported in GlobeView\")(),{didRender:f};for(let N in w){let j=this._renderChannel(w[N],{layerFilter:i,onViewportActive:n,views:o,viewport:I,viewportChanged:R});f||(f=j)}return{didRender:f}}_renderChannel(t,{layerFilter:r,onViewportActive:i,views:s,viewport:n,viewportChanged:o}){let c=!1,f=this.channels[t.index];if(!f)return c;let _=t===f||t.layers.length!==f.layers.length||t.layers.some((w,I)=>w!==f.layers[I]||w.props.transitions)||t.layerBounds.some((w,I)=>w!==f.layerBounds[I]);if(t.bounds=f.bounds,t.maskBounds=f.maskBounds,this.channels[t.index]=t,_||o){this.lastViewport=n;let w=$H(t.layers,n);if(t.bounds=w&&KH(w,n),_||!Ro(t.bounds,f.bounds)){let{maskPass:I,maskMap:R}=this,N=w&&XH({bounds:t.bounds,viewport:n,width:R.width,height:R.height,border:1});t.maskBounds=N?N.getBounds():[0,0,1,1],I.render({pass:\"mask\",channel:t.index,layers:t.layers,layerFilter:r,viewports:N?[N]:[],onViewportActive:i,views:s,moduleParameters:{devicePixelRatio:1}}),c=!0}}return this.masks[t.id]={index:t.index,bounds:t.maskBounds,coordinateOrigin:t.coordinateOrigin,coordinateSystem:t.coordinateSystem},c}_sortMaskChannels(t){let r={},i=0;for(let s of t){let{id:n}=s.root,o=r[n];if(!o){if(++i>4){or.warn(\"Too many mask layers. The max supported is 4\")();continue}o={id:n,index:this.channels.findIndex(c=>c?.id===n),layers:[],layerBounds:[],coordinateOrigin:s.root.props.coordinateOrigin,coordinateSystem:s.root.props.coordinateSystem},r[n]=o}o.layers.push(s),o.layerBounds.push(s.getBounds())}for(let s=0;s<4;s++){let n=this.channels[s];(!n||!(n.id in r))&&(this.channels[s]=null)}for(let s in r){let n=r[s];n.index<0&&(n.index=this.channels.findIndex(o=>!o),this.channels[n.index]=n)}return r}getModuleParameters(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}cleanup(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}};var eB=2,N2=class{constructor(){G(this,\"id\",\"collision-filter-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",1),G(this,\"channels\",{}),G(this,\"collisionFilterPass\",void 0),G(this,\"collisionFBOs\",{}),G(this,\"dummyCollisionMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{effects:r,layers:i,layerFilter:s,viewports:n,onViewportActive:o,views:c,isPicking:f,preRenderStats:_={}}){var w;if(this.dummyCollisionMap||(this.dummyCollisionMap=new pi(t,{width:1,height:1})),f)return;let I=i.filter(({props:{visible:Y,collisionEnabled:K}})=>Y&&K);if(I.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new B2(t,{id:\"default-collision-filter\"}));let R=r?.filter(Y=>Y.constructor===z2),N=(w=_[\"mask-effect\"])===null||w===void 0?void 0:w.didRender,j=this._groupByCollisionGroup(t,I),Q=n[0],et=!this.lastViewport||!this.lastViewport.equals(Q)||N;for(let Y in j){let K=this.collisionFBOs[Y],J=j[Y];K.resize({width:t.canvas.width/eB,height:t.canvas.height/eB}),this._render(J,{effects:R,layerFilter:s,onViewportActive:o,views:c,viewport:Q,viewportChanged:et})}}_render(t,{effects:r,layerFilter:i,onViewportActive:s,views:n,viewport:o,viewportChanged:c}){let{collisionGroup:f}=t,_=this.channels[f];if(!_)return;let w=c||t===_||!mo(_.layers,t.layers,1)||t.layerBounds.some((I,R)=>!Ro(I,_.layerBounds[R]))||t.allLayersLoaded!==_.allLayersLoaded||t.layers.some(I=>I.props.transitions);if(this.channels[f]=t,w){this.lastViewport=o;let I=this.collisionFBOs[f];this.collisionFilterPass.renderCollisionMap(I,{pass:\"collision-filter\",isPicking:!0,layers:t.layers,effects:r,layerFilter:i,viewports:o?[o]:[],onViewportActive:s,views:n,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:El(I.gl)/eB}})}}_groupByCollisionGroup(t,r){let i={};for(let s of r){let{collisionGroup:n}=s.props,o=i[n];o||(o={collisionGroup:n,layers:[],layerBounds:[],allLayersLoaded:!0},i[n]=o),o.layers.push(s),o.layerBounds.push(s.getBounds()),s.isLoaded||(o.allLayersLoaded=!1)}for(let s of Object.keys(i))this.collisionFBOs[s]||this.createFBO(t,s),this.channels[s]||(this.channels[s]=i[s]);for(let s of Object.keys(this.collisionFBOs))i[s]||this.destroyFBO(s);return i}getModuleParameters(t){let{collisionGroup:r}=t.props,{collisionFBOs:i,dummyCollisionMap:s}=this;return{collisionFBO:i[r],dummyCollisionMap:s}}cleanup(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(let t of Object.keys(this.collisionFBOs))this.destroyFBO(t);this.collisionFBOs={},this.lastViewport=void 0}createFBO(t,r){let{width:i,height:s}=t.canvas,n=new pi(t,{width:i,height:s,parameters:{10241:9728,10240:9728,10242:33071,10243:33071}}),o=new el(t,{format:33189,width:i,height:s});this.collisionFBOs[r]=new yi(t,{id:\"Collision-\".concat(r),width:i,height:s,attachments:{36064:n,36096:o}})}destroyFBO(t){let r=this.collisionFBOs[t];for(let i of Object.values(r.attachments))i.delete();r.delete(),delete this.collisionFBOs[t]}};var Ndt={getCollisionPriority:{type:\"accessor\",value:0},collisionEnabled:!0,collisionGroup:{type:\"string\",value:\"default\"},collisionTestProps:{}},wm=class extends cc{getShaders(){return{modules:[QH]}}draw({uniforms:t,context:r,moduleParameters:i}){let{collisionEnabled:s}=this.props,{collisionFBO:n,drawToCollisionMap:o}=i,c=s&&!!n;t.collision_enabled=c,o&&(this.props=this.clone(this.props.collisionTestProps).props)}initializeState(t,r){var i;if(this.getAttributeManager()===null)return;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new N2),this.getAttributeManager().add({collisionPriorities:{size:1,accessor:\"getCollisionPriority\",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}getNeedsPickingBuffer(){return this.props.collisionEnabled}};G(wm,\"defaultProps\",Ndt);G(wm,\"extensionName\",\"CollisionFilterExtension\");var Ng=class extends zg{static extensionType;constructor(t,r){super(t,r)}},U2=class extends Ng{static extensionType=\"brushing\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new vm,r.initRegularAttribute(\"brushing_enabled\",\"brushingEnabled\"),r.initRegularAttribute(\"brushing_target\",\"brushingTarget\"),r.initRegularAttribute(\"brushing_radius\",\"brushingRadius\"),r.initVectorizedAccessor(\"get_brushing_target\",\"getBrushingTarget\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"brushingEnabled\",\"brushingTarget\",\"brushingRadius\",\"getBrushingTarget\"]}},V2=class extends Ng{static extensionType=\"collision-filter\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new wm,r.initRegularAttribute(\"collision_enabled\",\"collisionEnabled\"),r.initRegularAttribute(\"collision_group\",\"collisionGroup\"),r.initRegularAttribute(\"collision_test_props\",\"collisionTestProps\"),r.initVectorizedAccessor(\"get_collision_priority\",\"getCollisionPriority\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"collisionEnabled\",\"collisionGroup\",\"collisionTestProps\",\"getCollisionPriority\"]}},k3=class extends Ng{static extensionType=\"data-filter\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"filter_size\");this.extensionInstance=new xm({filterSize:s}),r.initRegularAttribute(\"filter_enabled\",\"filterEnabled\"),r.initRegularAttribute(\"filter_range\",\"filterRange\"),r.initRegularAttribute(\"filter_soft_range\",\"filterSoftRange\"),r.initRegularAttribute(\"filter_transform_size\",\"filterTransformSize\"),r.initRegularAttribute(\"filter_transform_color\",\"filterTransformColor\"),r.initVectorizedAccessor(\"get_filter_value\",\"getFilterValue\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"filterEnabled\",\"filterRange\",\"filterSoftRange\",\"filterTransformSize\",\"filterTransformColor\",\"getFilterValue\"]}},j2=class extends Ng{static extensionType=\"path-style\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"dash\"),n=this.model.get(\"high_precision_dash\"),o=this.model.get(\"offset\");this.extensionInstance=new bm({...Jt(s)?{dash:s}:{},...Jt(n)?{highPrecisionDash:n}:{},...Jt(o)?{offset:o}:{}}),r.initRegularAttribute(\"dash_gap_pickable\",\"dashGapPickable\"),r.initRegularAttribute(\"dash_justified\",\"dashJustified\"),r.initVectorizedAccessor(\"get_dash_array\",\"getDashArray\"),r.initVectorizedAccessor(\"get_offset\",\"getOffset\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"dashGapPickable\",\"dashJustified\",\"getDashArray\",\"getOffset\"]}};async function rB(e,t,r){let i=e.get(\"_extension_type\"),s;switch(i){case U2.extensionType:s=new U2(e,t,r);break;case V2.extensionType:s=new V2(e,t,r);break;case k3.extensionType:s=new k3(e,t,r);break;case j2.extensionType:s=new j2(e,t,r);break;default:throw new Error(`no known model for extension type ${i}`)}return await s.loadSubModels(),s}var Ug=class extends zg{pickable;visible;opacity;autoHighlight;extensions;extensionLayerPropertyNames=[];constructor(t,r){super(t,r),this.initRegularAttribute(\"pickable\",\"pickable\"),this.initRegularAttribute(\"visible\",\"visible\"),this.initRegularAttribute(\"opacity\",\"opacity\"),this.initRegularAttribute(\"auto_highlight\",\"autoHighlight\"),this.extensions=[]}async loadSubModels(){await this.initLayerExtensions()}extensionInstances(){return this.extensions.map(t=>t.extensionInstance)}extensionProps(){let t={};for(let r of this.extensionLayerPropertyNames)Jt(this[r])&&(t[r]=this[r]);return t}onClick(t){t.index&&(this.model.set(\"selected_index\",t.index),this.model.save_changes())}baseLayerProps(){return{extensions:this.extensionInstances(),...this.extensionProps(),id:this.model.model_id,pickable:this.pickable,visible:this.visible,opacity:this.opacity,autoHighlight:this.autoHighlight,onClick:this.onClick.bind(this)}}async initLayerExtensions(){let t=async()=>{let r=this.model.get(\"extensions\");if(!r){this.extensions=[];return}let i=await L3(this.model.widget_manager,r),s=[];for(let n of i){let o=await rB(n,this,this.updateStateCallback);s.push(o)}this.extensions=s};await t(),this.model.off(\"change:extensions\"),this.model.on(\"change:extensions\",t),this.callbacks.set(\"change:extensions\",t)}};var JH=`#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var tq=`#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var R3=[0,0,0,255],Udt={getSourcePosition:{type:\"accessor\",value:e=>e.sourcePosition},getTargetPosition:{type:\"accessor\",value:e=>e.targetPosition},getSourceColor:{type:\"accessor\",value:R3},getTargetColor:{type:\"accessor\",value:R3},getWidth:{type:\"accessor\",value:1},getHeight:{type:\"accessor\",value:1},getTilt:{type:\"accessor\",value:0},greatCircle:!1,numSegments:{type:\"number\",value:50,min:1},widthUnits:\"pixels\",widthScale:{type:\"number\",value:1,min:0},widthMinPixels:{type:\"number\",value:0,min:0},widthMaxPixels:{type:\"number\",value:Number.MAX_SAFE_INTEGER,min:0}},Tp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"instanceSourcePositions\",\"instanceTargetPositions\"])}getShaders(){return super.getShaders({vs:JH,fs:tq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getSourcePosition\"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getTargetPosition\"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getSourceColor\",defaultValue:R3},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getTargetColor\",defaultValue:R3},instanceWidths:{size:1,transition:!0,accessor:\"getWidth\",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:\"getHeight\",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:\"getTilt\",defaultValue:0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t;if(s.extensionsChanged||s.propsChanged&&r.numSegments!==i.numSegments){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{widthUnits:r,widthScale:i,widthMinPixels:s,widthMaxPixels:n,greatCircle:o,wrapLongitude:c}=this.props;this.state.model.setUniforms(t).setUniforms({greatCircle:o,widthUnits:po[r],widthScale:i,widthMinPixels:s,widthMaxPixels:n,useShortestPath:c}).draw()}_getModel(t){let{id:r,numSegments:i}=this.props,s=[];for(let o=0;o0&&j>0&&(c[I++]=w-n,c[I++]=w-n-1,c[I++]=w-1,c[I++]=w-n,c[I++]=w-1,c[I++]=w),w++}}return{vertexCount:o,positions:_,indices:c,texCoords:f}}function Gdt(e){let t=new Float64Array(12);for(let r=0;r 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n`;var Hdt=`\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n`,rq=`\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n`.concat(Hdt,`\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n`);var qdt={image:{type:\"image\",value:null,async:!0},bounds:{type:\"array\",value:[1,0,0,1],compare:!0},_imageCoordinateSystem:Yr.DEFAULT,desaturate:{type:\"number\",min:0,max:1,value:0},transparentColor:{type:\"color\",value:[0,0,0,0]},tintColor:{type:\"color\",value:[255,255,255]},textureParameters:{type:\"object\",ignore:!0}},Mp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:eq,fs:rq,modules:[Rs,Ao]})}initializeState(){let t=this.getAttributeManager();t.remove([\"instancePickingColors\"]);let r=!0;t.add({indices:{size:1,isIndexed:!0,update:i=>i.value=this.state.mesh.indices,noAlloc:r},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:i=>i.value=this.state.mesh.positions,noAlloc:r},texCoords:{size:2,update:i=>i.value=this.state.mesh.texCoords,noAlloc:r}})}updateState({props:t,oldProps:r,changeFlags:i}){let s=this.getAttributeManager();if(i.extensionsChanged){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),s.invalidateAll()}if(t.bounds!==r.bounds){let o=this.state.mesh,c=this._createMesh();this.state.model.setVertexCount(c.vertexCount);for(let f in c)o&&o[f]!==c[f]&&s.invalidate(f);this.setState({mesh:c,...this._getCoordinateUniforms()})}else t._imageCoordinateSystem!==r._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}getPickingInfo(t){let{image:r}=this.props,i=t.info;if(!i.color||!r)return i.bitmap=null,i;let{width:s,height:n}=r;i.index=0;let o=Zdt(i.color),c=[Math.floor(o[0]*s),Math.floor(o[1]*n)];return i.bitmap={size:{width:s,height:n},uv:o,pixel:c},i}disablePickingIndex(){this.setState({disablePicking:!0})}restorePickingColors(){this.setState({disablePicking:!1})}_updateAutoHighlight(t){super._updateAutoHighlight({...t,color:this.encodePickingColor(0)})}_createMesh(){let{bounds:t}=this.props,r=t;return iq(t)&&(r=[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]]]),iB(r,this.context.viewport.resolution)}_getModel(t){return t?new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,vertexCount:6}),isInstanced:!1}):null}draw(t){let{uniforms:r,moduleParameters:i}=t,{model:s,coordinateConversion:n,bounds:o,disablePicking:c}=this.state,{image:f,desaturate:_,transparentColor:w,tintColor:I}=this.props;i.pickingActive&&c||f&&s&&s.setUniforms(r).setUniforms({bitmapTexture:f,desaturate:_,transparentColor:w.map(R=>R/255),tintColor:I.slice(0,3).map(R=>R/255),coordinateConversion:n,bounds:o}).draw()}_getCoordinateUniforms(){let{LNGLAT:t,CARTESIAN:r,DEFAULT:i}=Yr,{_imageCoordinateSystem:s}=this.props;if(s!==i){let{bounds:n}=this.props;if(!iq(n))throw new Error(\"_imageCoordinateSystem only supports rectangular bounds\");let o=this.context.viewport.resolution?t:r;if(s=s===t?t:r,s===t&&o===r)return{coordinateConversion:-1,bounds:n};if(s===r&&o===t){let c=va([n[0],n[1]]),f=va([n[2],n[3]]);return{coordinateConversion:1,bounds:[c[0],c[1],f[0],f[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}};G(Mp,\"layerName\",\"BitmapLayer\");G(Mp,\"defaultProps\",qdt);function Zdt(e){let[t,r,i]=e,s=(i&240)/256,n=(i&15)/16;return[(t+n)/256,(r+s)/256]}function iq(e){return Number.isFinite(e[0])}var nq=`#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n`;var sq=`#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Ydt=1024,Qdt=4,oq=()=>{},aq={10241:9987,10240:9729,10242:33071,10243:33071};function $dt(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function Xdt(e,t,r,i){let s=Math.min(r/t.width,i/t.height),n=Math.floor(t.width*s),o=Math.floor(t.height*s);return s===1?{data:t,width:n,height:o}:(e.canvas.height=o,e.canvas.width=n,e.clearRect(0,0,n,o),e.drawImage(t,0,0,t.width,t.height,0,0,n,o),{data:e.canvas,width:n,height:o})}function G2(e){return e&&(e.id||e.url)}function Kdt(e,t,r,i){let s=e.width,n=e.height,o=new pi(e.gl,{width:t,height:r,parameters:i});return gE(e,o,{targetY:0,width:s,height:n}),e.delete(),o}function lq(e,t,r){for(let i=0;io&&(lq(r,c,s),i=0,s=n+s+t,n=0,c=[]),c.push({icon:_,xOffset:i}),i=i+R+t,n=Math.max(n,I)}}return c.length>0&&lq(r,c,s),{mapping:r,rowHeight:n,xOffset:i,yOffset:s,canvasWidth:o,canvasHeight:$dt(n+s+t)}}function tpt(e,t,r){if(!e||!t)return null;r=r||{};let i={},{iterable:s,objectInfo:n}=Jc(e);for(let o of s){n.index++;let c=t(o,n),f=G2(c);if(!c)throw new Error(\"Icon is missing.\");if(!c.url)throw new Error(\"Icon url is missing.\");!i[f]&&(!r[f]||c.url!==r[f].url)&&(i[f]={...c,source:o,sourceIndex:n.index})}return i}var W2=class{constructor(t,{onUpdate:r=oq,onError:i=oq}){G(this,\"gl\",void 0),G(this,\"onUpdate\",void 0),G(this,\"onError\",void 0),G(this,\"_loadOptions\",null),G(this,\"_texture\",null),G(this,\"_externalTexture\",null),G(this,\"_mapping\",{}),G(this,\"_textureParameters\",null),G(this,\"_pendingCount\",0),G(this,\"_autoPacking\",!1),G(this,\"_xOffset\",0),G(this,\"_yOffset\",0),G(this,\"_rowHeight\",0),G(this,\"_buffer\",Qdt),G(this,\"_canvasWidth\",Ydt),G(this,\"_canvasHeight\",0),G(this,\"_canvas\",null),this.gl=t,this.onUpdate=r,this.onError=i}finalize(){var t;(t=this._texture)===null||t===void 0||t.delete()}getTexture(){return this._texture||this._externalTexture}getIconMapping(t){let r=this._autoPacking?G2(t):t;return this._mapping[r]||{}}setProps({loadOptions:t,autoPacking:r,iconAtlas:i,iconMapping:s,textureParameters:n}){if(t&&(this._loadOptions=t),r!==void 0&&(this._autoPacking=r),s&&(this._mapping=s),i){var o;(o=this._texture)===null||o===void 0||o.delete(),this._texture=null,this._externalTexture=i}n&&(this._textureParameters=n)}get isLoaded(){return this._pendingCount===0}packIcons(t,r){if(!this._autoPacking||typeof document>\"u\")return;let i=Object.values(tpt(t,r,this._mapping)||{});if(i.length>0){let{mapping:s,xOffset:n,yOffset:o,rowHeight:c,canvasHeight:f}=Jdt({icons:i,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=c,this._mapping=s,this._xOffset=n,this._yOffset=o,this._canvasHeight=f,this._texture||(this._texture=new pi(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:this._textureParameters||aq})),this._texture.height!==this._canvasHeight&&(this._texture=Kdt(this._texture,this._canvasWidth,this._canvasHeight,this._textureParameters||aq)),this.onUpdate(),this._canvas=this._canvas||document.createElement(\"canvas\"),this._loadIcons(i)}}_loadIcons(t){let r=this._canvas.getContext(\"2d\",{willReadFrequently:!0});for(let i of t)this._pendingCount++,jA(i.url,this._loadOptions).then(s=>{let n=G2(i),o=this._mapping[n],{x:c,y:f,width:_,height:w}=o,{data:I,width:R,height:N}=Xdt(r,s,_,w);this._texture.setSubImageData({data:I,x:c+(_-R)/2,y:f+(w-N)/2,width:R,height:N}),o.width=R,o.height=N,this._texture.generateMipmap(),this.onUpdate()}).catch(s=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:s})}).finally(()=>{this._pendingCount--})}};var cq=[0,0,0,255],ept={iconAtlas:{type:\"image\",value:null,async:!0},iconMapping:{type:\"object\",value:{},async:!0},sizeScale:{type:\"number\",value:1,min:0},billboard:!0,sizeUnits:\"pixels\",sizeMinPixels:{type:\"number\",min:0,value:0},sizeMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:\"number\",value:.05,min:0,max:1},getPosition:{type:\"accessor\",value:e=>e.position},getIcon:{type:\"accessor\",value:e=>e.icon},getColor:{type:\"accessor\",value:cq},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},onIconError:{type:\"function\",value:null,optional:!0},textureParameters:{type:\"object\",ignore:!0}},Ep=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:nq,fs:sq,modules:[Rs,Ao]})}initializeState(){this.state={iconManager:new W2(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceOffsets:{size:2,accessor:\"getIcon\",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:\"getIcon\",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:\"getIcon\",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:cq},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instancePixelOffset:{size:2,transition:!0,accessor:\"getPixelOffset\"}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=this.getAttributeManager(),{iconAtlas:o,iconMapping:c,data:f,getIcon:_,textureParameters:w}=r,{iconManager:I}=this.state,R=o||this.internalState.isAsyncPropLoading(\"iconAtlas\");if(I.setProps({loadOptions:r.loadOptions,autoPacking:!R,iconAtlas:o,iconMapping:R?c:null,textureParameters:w}),R?i.iconMapping!==r.iconMapping&&n.invalidate(\"getIcon\"):(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getIcon))&&I.packIcons(f,_),s.extensionsChanged){var N;let{gl:j}=this.context;(N=this.state.model)===null||N===void 0||N.delete(),this.state.model=this._getModel(j),n.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(t){super.finalizeState(t),this.state.iconManager.finalize()}draw({uniforms:t}){let{sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,sizeUnits:n,billboard:o,alphaCutoff:c}=this.props,{iconManager:f}=this.state,_=f.getTexture();_&&this.state.model.setUniforms(t).setUniforms({iconsTexture:_,iconsTextureDim:[_.width,_.height],sizeUnits:po[n],sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,billboard:o,alphaCutoff:c}).draw()}_getModel(t){let r=[-1,-1,-1,1,1,1,1,-1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}_onUpdate(){this.setNeedsRedraw()}_onError(t){var r;let i=(r=this.getCurrentLayer())===null||r===void 0?void 0:r.props.onIconError;i?i(t):or.error(t.error.message)()}getInstanceOffset(t){let{width:r,height:i,anchorX:s=r/2,anchorY:n=i/2}=this.state.iconManager.getIconMapping(t);return[r/2-s,i/2-n]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){let{x:r,y:i,width:s,height:n}=this.state.iconManager.getIconMapping(t);return[r,i,s,n]}};G(Ep,\"defaultProps\",ept);G(Ep,\"layerName\",\"IconLayer\");var uq=`#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var hq=`#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var fq=[0,0,0,255],dq=[0,0,1],rpt={sizeUnits:\"pixels\",pointSize:{type:\"number\",min:0,value:10},getPosition:{type:\"accessor\",value:e=>e.position},getNormal:{type:\"accessor\",value:dq},getColor:{type:\"accessor\",value:fq},material:!0,radiusPixels:{deprecatedFor:\"pointSize\"}};function ipt(e){let{header:t,attributes:r}=e;!t||!r||(e.length=t.vertexCount,r.POSITION&&(r.instancePositions=r.POSITION),r.NORMAL&&(r.instanceNormals=r.NORMAL),r.COLOR_0&&(r.instanceColors=r.COLOR_0))}var Pp=class extends dn{getShaders(){return super.getShaders({vs:uq,fs:hq,modules:[Rs,Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceNormals:{size:3,transition:!0,accessor:\"getNormal\",defaultValue:dq},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:fq}})}updateState(t){let{changeFlags:r,props:i}=t;if(super.updateState(t),r.extensionsChanged){var s;let{gl:n}=this.context;(s=this.state.model)===null||s===void 0||s.delete(),this.state.model=this._getModel(n),this.getAttributeManager().invalidateAll()}r.dataChanged&&ipt(i.data)}draw({uniforms:t}){let{pointSize:r,sizeUnits:i}=this.props;this.state.model.setUniforms(t).setUniforms({sizeUnits:po[i],radiusPixels:r}).draw()}_getModel(t){let r=[];for(let i=0;i<3;i++){let s=i/3*Math.PI*2;r.push(Math.cos(s)*2,Math.sin(s)*2,0)}return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,attributes:{positions:new Float32Array(r)}}),isInstanced:!0})}};G(Pp,\"layerName\",\"PointCloudLayer\");G(Pp,\"defaultProps\",rpt);var pq=`#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var Aq=`#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var mq=[0,0,0,255],npt={radiusUnits:\"meters\",radiusScale:{type:\"number\",min:0,value:1},radiusMinPixels:{type:\"number\",min:0,value:0},radiusMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},lineWidthUnits:\"meters\",lineWidthScale:{type:\"number\",min:0,value:1},lineWidthMinPixels:{type:\"number\",min:0,value:0},lineWidthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},stroked:!1,filled:!0,billboard:!1,antialiasing:!0,getPosition:{type:\"accessor\",value:e=>e.position},getRadius:{type:\"accessor\",value:1},getFillColor:{type:\"accessor\",value:mq},getLineColor:{type:\"accessor\",value:mq},getLineWidth:{type:\"accessor\",value:1},strokeWidth:{deprecatedFor:\"getLineWidth\"},outline:{deprecatedFor:\"stroked\"},getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},Ku=class extends dn{getShaders(){return super.getShaders({vs:pq,fs:Aq,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceRadius:{size:1,transition:!0,accessor:\"getRadius\",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){if(super.updateState(t),t.changeFlags.extensionsChanged){var r;let{gl:i}=this.context;(r=this.state.model)===null||r===void 0||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{radiusUnits:r,radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,stroked:o,filled:c,billboard:f,antialiasing:_,lineWidthUnits:w,lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}=this.props;this.state.model.setUniforms(t).setUniforms({stroked:o?1:0,filled:c,billboard:f,antialiasing:_,radiusUnits:po[r],radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,lineWidthUnits:po[w],lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}).draw()}_getModel(t){let r=[-1,-1,0,1,-1,0,1,1,0,-1,1,0];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Ku,\"defaultProps\",npt);G(Ku,\"layerName\",\"ScatterplotLayer\");var Kv={CLOCKWISE:1,COUNTER_CLOCKWISE:-1};function Vg(e,t,r={}){return gq(e,r)!==t?(spt(e,r),!0):!1}function gq(e,t={}){return Math.sign(D3(e,t))}function D3(e,t={}){let{start:r=0,end:i=e.length}=t,s=t.size||2,n=0;for(let o=r,c=i-s;o0){let s=!0;for(let n=0;nt[2]&&(r|=2),e[1]t[3]&&(r|=8),r}function Z2(e,t){let{size:r=2,broken:i=!1,gridResolution:s=10,gridOffset:n=[0,0],startIndex:o=0,endIndex:c=e.length}=t||{},f=(c-o)/r,_=[],w=[_],I=Sm(e,0,r,o),R,N,j=vq(I,s,n,[]),Q=[];xc(_,I);for(let et=1;etr&&(_=[],w.push(_),xc(_,I)),N=q2(R,j)}xc(_,R),H2(I,R)}return i?w:w[0]}var _q=0,apt=1;function B3(e,t){for(let r=0;r=0?(xc(_,N)&&I.push(Q),ut+=j):I.length&&(I[I.length-1]=_q),H2(et,N),Y=j,K=Q;return[J?{pos:f,types:t&&w}:null,ut?{pos:_,types:t&&I}:null]}function vq(e,t,r,i){let s=Math.floor((e[0]-r[0])/t)*t+r[0],n=Math.floor((e[1]-r[1])/t)*t+r[1];return i[0]=s,i[1]=n,i[2]=s+t,i[3]=n+t,i}function lpt(e,t,r){r&8?(e[1]+=t,e[3]+=t):r&4?(e[1]-=t,e[3]-=t):r&2?(e[0]+=t,e[2]+=t):r&1&&(e[0]-=t,e[2]-=t)}function cpt(e,t,r,i){let s=1/0,n=-1/0,o=1/0,c=-1/0;for(let f=0;fn?_:n,o=wc?w:c}return i[0][0]=s,i[0][1]=o,i[1][0]=n,i[1][1]=c,i}var upt=85.051129;function nB(e,t){let{size:r=2,startIndex:i=0,endIndex:s=e.length,normalize:n=!0}=t||{},o=e.slice(i,s);xq(o,r,0,s-i);let c=Z2(o,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(n)for(let f of c)bq(f,r);return c}function sB(e,t=null,r){let{size:i=2,normalize:s=!0,edgeTypes:n=!1}=r||{};t=t||[];let o=[],c=[],f=0,_=0;for(let I=0;I<=t.length;I++){let R=t[I]||e.length,N=_,j=hpt(e,i,f,R);for(let Q=j;Qs&&(s=c,n=o-1)}return n}function fpt(e,t,r,i,s=upt){let n=e[r],o=e[i-t];if(Math.abs(n-o)>180){let c=Sm(e,0,t,r);c[0]+=Math.round((o-n)/360)*360,xc(e,c),c[1]=Math.sign(c[1])*s,xc(e,c),c[0]=n,xc(e,c)}}function xq(e,t,r,i){let s=e[0],n;for(let o=r;o180||c<-180)&&(n-=Math.round(c/360)*360),e[o]=s=n}}function bq(e,t){let r,i=e.length/t;for(let n=0;n=i),s=s.flatMap(N=>[N[0],N[1]]),Vg(s,Kv.COUNTER_CLOCKWISE));let n=r>0,o=i+1,c=n?o*3+1:i,f=Math.PI*2/i,_=new Uint16Array(n?i*3*2:0),w=new Float32Array(c*3),I=new Float32Array(c*3),R=0;if(n){for(let N=0;N 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Sq=`#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n`;var F3=[0,0,0,255],Apt={diskResolution:{type:\"number\",min:4,value:20},vertices:null,radius:{type:\"number\",min:0,value:1e3},angle:{type:\"number\",value:0},offset:{type:\"array\",value:[0,0]},coverage:{type:\"number\",min:0,max:1,value:1},elevationScale:{type:\"number\",min:0,value:1},radiusUnits:\"meters\",lineWidthUnits:\"meters\",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,extruded:!0,wireframe:!1,filled:!0,stroked:!1,getPosition:{type:\"accessor\",value:e=>e.position},getFillColor:{type:\"accessor\",value:F3},getLineColor:{type:\"accessor\",value:F3},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0,getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},af=class extends dn{getShaders(){let{gl:t}=this.context,r=!fr(t),i={},s=this.props.flatShading&&$0(t,Ii.GLSL_DERIVATIVES);return s&&(i.FLAT_SHADING=1),super.getShaders({vs:wq,fs:Sq,defines:i,transpileToGLSL100:r,modules:[Rs,s?Ny:Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceElevations:{size:1,transition:!0,accessor:\"getElevation\"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getFillColor\",defaultValue:F3},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getLineColor\",defaultValue:F3},instanceStrokeWidths:{size:1,accessor:\"getLineWidth\",transition:!0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=s.extensionsChanged||r.flatShading!==i.flatShading;if(n){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}(n||r.diskResolution!==i.diskResolution||r.vertices!==i.vertices||(r.extruded||r.stroked)!==(i.extruded||i.stroked))&&this._updateGeometry(r)}getGeometry(t,r,i){let s=new Q2({radius:1,height:i?2:0,vertices:r,nradial:t}),n=0;if(r)for(let o=0;o=t.length&&(r+=1-t.length/s);let n=r*s;return i[0]=t[n],i[1]=t[n+1],i[2]=s===3&&t[n+2]||0,i}isClosed(t){if(!this.normalize)return!!this.opts.loop;let{positionSize:r}=this,i=t.length-r;return t[0]===t[i]&&t[1]===t[i+1]&&(r===2||t[2]===t[i+2])}};function Mq(e){return Array.isArray(e[0])}var Eq=`#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Pq=`#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Iq=[0,0,0,255],_pt={widthUnits:\"meters\",widthScale:{type:\"number\",min:0,value:1},widthMinPixels:{type:\"number\",min:0,value:0},widthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},jointRounded:!1,capRounded:!1,miterLimit:{type:\"number\",min:0,value:4},billboard:!1,_pathType:null,getPath:{type:\"accessor\",value:e=>e.path},getColor:{type:\"accessor\",value:Iq},getWidth:{type:\"accessor\",value:1},rounded:{deprecatedFor:[\"jointRounded\",\"capRounded\"]}},aB={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},bc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:Eq,fs:Pq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:aB,accessor:\"getPath\",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:\"getWidth\",transition:aB,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:\"getColor\",transition:aB,defaultValue:Iq},instancePickingColors:{size:3,type:5121,accessor:(i,{index:s,target:n})=>this.encodePickingColor(i&&i.__source?i.__source.index:s,n)}}),this.setState({pathTesselator:new $2({fp64:this.use64bitPositions()})})}updateState(t){super.updateState(t);let{props:r,changeFlags:i}=t,s=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){let{pathTesselator:c}=this.state,f=r.data.attributes||{};c.updateGeometry({data:r.data,geometryBuffer:f.getPath,buffers:f,normalize:!r._pathType,loop:r._pathType===\"loop\",getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:c.instanceCount,startIndices:c.vertexStarts}),i.dataChanged||s.invalidateAll()}if(i.extensionsChanged){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),s.invalidateAll()}}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;i=1&&e[0].length>=2&&Number.isFinite(e[0][0])}function Fpt(e){let t=e[0],r=e[e.length-1];return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]}function zpt(e,t,r,i){for(let s=0;sc/t));let n=tx(e),o=i&&t===3;if(r){let c=n.length;n=n.slice();let f=[];for(let _=0;_f&&c>_||(f>_?(r||(n=n.slice()),zq(n,0,2,1)):(r||(n=n.slice()),zq(n,2,0,1)))}return(0,Nq.default)(n,s,t)}var eS=class extends rm{constructor(t){let{fp64:r,IndexType:i=Uint32Array}=t;super({...t,attributes:{positions:{size:3,type:r?Float64Array:Float32Array},vertexValid:{type:Uint8ClampedArray,size:1},indices:{type:i,size:1}}})}get(t){let{attributes:r}=this;return t===\"indices\"?r.indices&&r.indices.subarray(0,this.vertexCount):r[t]}updateGeometry(t){super.updateGeometry(t);let r=this.buffers.indices;if(r)this.vertexCount=(r.value||r).length;else if(this.data&&!this.getGeometry)throw new Error(\"missing indices buffer\")}normalizeGeometry(t){if(this.normalize){let r=G3(t,this.positionSize);return this.opts.resolution?Y2(tx(r),tS(r),{size:this.positionSize,gridResolution:this.opts.resolution,edgeTypes:!0}):this.opts.wrapLongitude?sB(tx(r),tS(r),{size:this.positionSize,maxLatitude:86,edgeTypes:!0}):r}return t}getGeometrySize(t){if(jq(t)){let r=0;for(let i of t)r+=this.getGeometrySize(i);return r}return tx(t).length/this.positionSize}getGeometryFromBuffer(t){return this.normalize||!this.buffers.indices?super.getGeometryFromBuffer(t):null}updateGeometryAttributes(t,r){if(t&&jq(t))for(let i of t){let s=this.getGeometrySize(i);r.geometrySize=s,this.updateGeometryAttributes(i,r),r.vertexStart+=s,r.indexStart=this.indexStarts[r.geometryIndex+1]}else this._updateIndices(t,r),this._updatePositions(t,r),this._updateVertexValid(t,r)}_updateIndices(t,{geometryIndex:r,vertexStart:i,indexStart:s}){let{attributes:n,indexStarts:o,typedArrayManager:c}=this,f=n.indices;if(!f||!t)return;let _=s,w=Uq(t,this.positionSize,this.opts.preproject,this.opts.full3d);f=c.allocate(f,s+w.length,{copy:!0});for(let I=0;I2?o[f*n+2]:0;s[c*3]=_,s[c*3+1]=w,s[c*3+2]=I}}_updateVertexValid(t,{vertexStart:r,geometrySize:i}){let{positionSize:s}=this,n=this.attributes.vertexValid,o=t&&tS(t);if(t&&t.edgeTypes?n.set(t.edgeTypes,r):n.fill(1,r,r+i),o)for(let c=0;c0&&!Number.isFinite(e[0])}var W3=`\nattribute vec2 vertexPositions;\nattribute float vertexValid;\n\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 nextPositions;\n vec3 pickingColors;\n vec3 positions64Low;\n vec3 nextPositions64Low;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n#ifdef IS_SIDE_VERTEX\n if(vertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n#endif\n\n vec3 pos;\n vec3 pos64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.worldPositionAlt = props.nextPositions;\n geometry.pickingColor = props.pickingColors;\n\n#ifdef IS_SIDE_VERTEX\n pos = mix(props.positions, props.nextPositions, vertexPositions.x);\n pos64Low = mix(props.positions64Low, props.nextPositions64Low, vertexPositions.x);\n#else\n pos = props.positions;\n pos64Low = props.positions64Low;\n#endif\n\n if (extruded) {\n pos.z += props.elevations * vertexPositions.y * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n #ifdef IS_SIDE_VERTEX\n normal = vec3(\n props.positions.y - props.nextPositions.y + (props.positions64Low.y - props.nextPositions64Low.y),\n props.nextPositions.x - props.positions.x + (props.nextPositions64Low.x - props.positions64Low.x),\n 0.0);\n normal = project_offset_normal(normal);\n #else\n normal = project_normal(vec3(0.0, 0.0, 1.0));\n #endif\n geometry.normal = normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Gq=`#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = positions;\n props.positions64Low = positions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n\n calculatePosition(props);\n}\n`);var Wq=`#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n#define IS_SIDE_VERTEX\n\n\nattribute vec3 instancePositions;\nattribute vec3 nextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 nextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n #if RING_WINDING_ORDER_CW == 1\n props.positions = instancePositions;\n props.positions64Low = instancePositions64Low;\n props.nextPositions = nextPositions;\n props.nextPositions64Low = nextPositions64Low;\n #else\n props.positions = nextPositions;\n props.positions64Low = nextPositions64Low;\n props.nextPositions = instancePositions;\n props.nextPositions64Low = instancePositions64Low;\n #endif\n props.elevations = instanceElevations;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n`);var Hq=`#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var q3=[0,0,0,255],Npt={filled:!0,extruded:!1,wireframe:!1,_normalize:!0,_windingOrder:\"CW\",_full3d:!1,elevationScale:{type:\"number\",min:0,value:1},getPolygon:{type:\"accessor\",value:e=>e.polygon},getElevation:{type:\"accessor\",value:1e3},getFillColor:{type:\"accessor\",value:q3},getLineColor:{type:\"accessor\",value:q3},material:!0},H3={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},wc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(t){return super.getShaders({vs:t===\"top\"?Gq:Wq,fs:Hq,defines:{RING_WINDING_ORDER_CW:!this.props._normalize&&this.props._windingOrder===\"CCW\"?0:1},modules:[Rs,Zf,Ao]})}get wrapLongitude(){return!1}initializeState(){let{gl:t,viewport:r}=this.context,{coordinateSystem:i}=this.props,{_full3d:s}=this.props;r.isGeospatial&&i===Yr.DEFAULT&&(i=Yr.LNGLAT);let n;i===Yr.LNGLAT&&(s?n=r.projectPosition.bind(r):n=r.projectFlat.bind(r)),this.setState({numInstances:0,polygonTesselator:new eS({preproject:n,fp64:this.use64bitPositions(),IndexType:!t||Oh(t,Ii.ELEMENT_INDEX_UINT32)?Uint32Array:Uint16Array})});let o=this.getAttributeManager(),c=!0;o.remove([\"instancePickingColors\"]),o.add({indices:{size:1,isIndexed:!0,update:this.calculateIndices,noAlloc:c},positions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:H3,accessor:\"getPolygon\",update:this.calculatePositions,noAlloc:c,shaderAttributes:{positions:{vertexOffset:0,divisor:0},instancePositions:{vertexOffset:0,divisor:1},nextPositions:{vertexOffset:1,divisor:1}}},vertexValid:{size:1,divisor:1,type:5121,update:this.calculateVertexValid,noAlloc:c},elevations:{size:1,transition:H3,accessor:\"getElevation\",shaderAttributes:{elevations:{divisor:0},instanceElevations:{divisor:1}}},fillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getFillColor\",defaultValue:q3,shaderAttributes:{fillColors:{divisor:0},instanceFillColors:{divisor:1}}},lineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getLineColor\",defaultValue:q3,shaderAttributes:{lineColors:{divisor:0},instanceLineColors:{divisor:1}}},pickingColors:{size:3,type:5121,accessor:(f,{index:_,target:w})=>this.encodePickingColor(f&&f.__source?f.__source.index:_,w),shaderAttributes:{pickingColors:{divisor:0},instancePickingColors:{divisor:1}}}})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;if.delete()),this.setState(this._getModels(this.context.gl)),n.invalidateAll()}}updateGeometry({props:t,oldProps:r,changeFlags:i}){if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPolygon)){let{polygonTesselator:n}=this.state,o=t.data.attributes||{};n.updateGeometry({data:t.data,normalize:t._normalize,geometryBuffer:o.getPolygon,buffers:o,getGeometry:t.getPolygon,positionFormat:t.positionFormat,wrapLongitude:t.wrapLongitude,resolution:this.context.viewport.resolution,fp64:this.use64bitPositions(),dataChanged:i.dataChanged,full3d:t._full3d}),this.setState({numInstances:n.instanceCount,startIndices:n.vertexStarts}),i.dataChanged||this.getAttributeManager().invalidateAll()}}_getModels(t){let{id:r,filled:i,extruded:s}=this.props,n,o;if(i){let c=this.getShaders(\"top\");c.defines.NON_INSTANCED_MODEL=1,n=new fn(t,{...c,id:\"\".concat(r,\"-top\"),drawMode:4,attributes:{vertexPositions:new Float32Array([0,1])},uniforms:{isWireframe:!1,isSideVertex:!1},vertexCount:0,isIndexed:!0})}return s&&(o=new fn(t,{...this.getShaders(\"side\"),id:\"\".concat(r,\"-side\"),geometry:new $n({drawMode:1,vertexCount:4,attributes:{vertexPositions:{size:2,value:new Float32Array([1,0,0,0,0,1,1,1])}}}),instanceCount:0,isInstanced:1}),o.userData.excludeAttributes={indices:!0}),{models:[o,n].filter(Boolean),topModel:n,sideModel:o}}calculateIndices(t){let{polygonTesselator:r}=this.state;t.startIndices=r.indexStarts,t.value=r.get(\"indices\")}calculatePositions(t){let{polygonTesselator:r}=this.state;t.startIndices=r.vertexStarts,t.value=r.get(\"positions\")}calculateVertexValid(t){t.value=this.state.polygonTesselator.get(\"vertexValid\")}};G(wc,\"defaultProps\",Npt);G(wc,\"layerName\",\"SolidPolygonLayer\");function Z3({data:e,getIndex:t,dataRange:r,replace:i}){let{startRow:s=0,endRow:n=1/0}=r,o=e.length,c=o,f=o;for(let R=0;RR&&N>=s&&(c=R),N>=n){f=R;break}}let _=c,I=f-c!==i.length?e.slice(f):void 0;for(let R=0;Re.polygon},getFillColor:{type:\"accessor\",value:Upt},getLineColor:{type:\"accessor\",value:qq},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0},lf=class extends Ni{initializeState(){this.state={paths:[]},this.props.getLineDashArray&&or.removed(\"getLineDashArray\",\"PathStyleExtension\")()}updateState({changeFlags:t}){let r=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getPolygon);if(r&&Array.isArray(t.dataChanged)){let i=this.state.paths.slice(),s=t.dataChanged.map(n=>Z3({data:i,getIndex:o=>o.__source.index,dataRange:n,replace:this._getPaths(n)}));this.setState({paths:i,pathsDiff:s})}else r&&this.setState({paths:this._getPaths(),pathsDiff:null})}_getPaths(t={}){let{data:r,getPolygon:i,positionFormat:s,_normalize:n}=this.props,o=[],c=s===\"XY\"?2:3,{startRow:f,endRow:_}=t,{iterable:w,objectInfo:I}=Jc(r,f,_);for(let R of w){I.index++;let N=i(R,I);n&&(N=G3(N,c));let{holeIndices:j}=N,Q=N.positions||N;if(j)for(let et=0;et<=j.length;et++){let Y=Q.slice(j[et-1]||0,j[et]||Q.length);o.push(this.getSubLayerRow({path:Y},R,I.index))}else o.push(this.getSubLayerRow({path:Q},R,I.index))}return o}renderLayers(){let{data:t,_dataDiff:r,stroked:i,filled:s,extruded:n,wireframe:o,_normalize:c,_windingOrder:f,elevationScale:_,transitions:w,positionFormat:I}=this.props,{lineWidthUnits:R,lineWidthScale:N,lineWidthMinPixels:j,lineWidthMaxPixels:Q,lineJointRounded:et,lineMiterLimit:Y,lineDashJustified:K}=this.props,{getFillColor:J,getLineColor:ut,getLineWidth:Et,getLineDashArray:kt,getElevation:Xt,getPolygon:qt,updateTriggers:le,material:ue}=this.props,{paths:De,pathsDiff:Ke}=this.state,rr=this.getSubLayerClass(\"fill\",wc),Sr=this.getSubLayerClass(\"stroke\",bc),Li=this.shouldRenderSubLayer(\"fill\",De)&&new rr({_dataDiff:r,extruded:n,elevationScale:_,filled:s,wireframe:o,_normalize:c,_windingOrder:f,getElevation:Xt,getFillColor:J,getLineColor:n&&o?ut:qq,material:ue,transitions:w},this.getSubLayerProps({id:\"fill\",updateTriggers:le&&{getPolygon:le.getPolygon,getElevation:le.getElevation,getFillColor:le.getFillColor,lineColors:n&&o,getLineColor:le.getLineColor}}),{data:t,positionFormat:I,getPolygon:qt}),oo=!n&&i&&this.shouldRenderSubLayer(\"stroke\",De)&&new Sr({_dataDiff:Ke&&(()=>Ke),widthUnits:R,widthScale:N,widthMinPixels:j,widthMaxPixels:Q,jointRounded:et,miterLimit:Y,dashJustified:K,_pathType:\"loop\",transitions:w&&{getWidth:w.getLineWidth,getColor:w.getLineColor,getPath:w.getPolygon},getColor:this.getSubLayerAccessor(ut),getWidth:this.getSubLayerAccessor(Et),getDashArray:this.getSubLayerAccessor(kt)},this.getSubLayerProps({id:\"stroke\",updateTriggers:le&&{getWidth:le.getLineWidth,getColor:le.getLineColor,getDashArray:le.getLineDashArray}}),{data:De,positionFormat:I,getPath:zl=>zl.path});return[!n&&Li,oo,n&&Li]}};G(lf,\"layerName\",\"PolygonLayer\");G(lf,\"defaultProps\",Vpt);function Zq(e,t){if(!e)return null;let r=\"startIndices\"in e?e.startIndices[t]:t,i=e.featureIds.value[r];return r!==-1?jpt(e,i,r):null}function jpt(e,t,r){let i={properties:{...e.properties[t]}};for(let s in e.numericProps)i.properties[s]=e.numericProps[s].value[r];return i}function Yq(e,t){let r={points:null,lines:null,polygons:null};for(let i in r){let s=e[i].globalFeatureIds.value;r[i]=new Uint8ClampedArray(s.length*3);let n=[];for(let o=0;o 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var dB=192/256,$q=[],Gpt={getIconOffsets:{type:\"accessor\",value:e=>e.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:\"color\",value:[0,0,0,255]}},Gg=class extends Ep{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return{...super.getShaders(),fs:Qq}}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:\"getIconOffsets\"},instancePickingColors:{type:5121,size:3,accessor:(r,{index:i,target:s})=>this.encodePickingColor(i,s)}})}updateState(t){super.updateState(t);let{props:r,oldProps:i}=t,{outlineColor:s}=r;s!==i.outlineColor&&(s=s.map(n=>n/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!r.sdf&&r.outlineWidth&&or.warn(\"\".concat(this.id,\": fontSettings.sdf is required to render outline\"))()}draw(t){let{sdf:r,smoothing:i,outlineWidth:s}=this.props,{outlineColor:n}=this.state,o=s?Math.max(i,dB*(1-s)):-1;if(t.uniforms={...t.uniforms,sdfBuffer:dB,outlineBuffer:o,gamma:i,sdf:!!r,outlineColor:n},super.draw(t),r&&s){let{iconManager:c}=this.state;c.getTexture()&&this.state.model.draw({uniforms:{outlineBuffer:dB}})}}getInstanceOffset(t){return t?Array.from(t).flatMap(r=>super.getInstanceOffset(r)):$q}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).flatMap(r=>super.getInstanceIconFrame(r)):$q}};G(Gg,\"defaultProps\",Gpt);G(Gg,\"layerName\",\"MultiIconLayer\");var rS=class{constructor({fontSize:t=24,buffer:r=3,radius:i=8,cutoff:s=.25,fontFamily:n=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:c=\"normal\"}={}){this.buffer=r,this.cutoff=s,this.radius=i;let f=this.size=t+r*4,_=this._createCanvas(f),w=this.ctx=_.getContext(\"2d\",{willReadFrequently:!0});w.font=`${c} ${o} ${t}px ${n}`,w.textBaseline=\"alphabetic\",w.textAlign=\"left\",w.fillStyle=\"black\",this.gridOuter=new Float64Array(f*f),this.gridInner=new Float64Array(f*f),this.f=new Float64Array(f),this.z=new Float64Array(f+1),this.v=new Uint16Array(f)}_createCanvas(t){let r=document.createElement(\"canvas\");return r.width=r.height=t,r}draw(t){let{width:r,actualBoundingBoxAscent:i,actualBoundingBoxDescent:s,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(t),c=Math.ceil(i),f=0,_=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),w=Math.min(this.size-this.buffer,c+Math.ceil(s)),I=_+2*this.buffer,R=w+2*this.buffer,N=Math.max(I*R,0),j=new Uint8ClampedArray(N),Q={data:j,width:I,height:R,glyphWidth:_,glyphHeight:w,glyphTop:c,glyphLeft:f,glyphAdvance:r};if(_===0||w===0)return Q;let{ctx:et,buffer:Y,gridInner:K,gridOuter:J}=this;et.clearRect(Y,Y,_,w),et.fillText(t,Y,Y+c);let ut=et.getImageData(Y,Y,_,w);J.fill(1e20,0,N),K.fill(0,0,N);for(let Et=0;Et0?le*le:0,K[qt]=le<0?le*le:0}}Xq(J,0,0,I,R,I,this.f,this.v,this.z),Xq(K,Y,Y,_,w,I,this.f,this.v,this.z);for(let Et=0;Et-1);f++,n[f]=c,o[f]=_,o[f+1]=1e20}for(let c=0,f=0;cs&&(_=0,f++),n[I]={x:_+i,y:c+f*w+i,width:R,height:w,layoutWidth:R,layoutHeight:r},_+=R+i*2}return{mapping:n,xOffset:_,yOffset:c+f*w,canvasHeight:qpt(c+(f+1)*w)}}function tZ(e,t,r,i){let s=0;for(let o=t;oi&&(oc){let I=tZ(e,c,f,s);_+I>i&&(oi&&(I=eZ(e,c,f,i,s,n),o=n[n.length-1])),c=f,_+=I}return _}function Ypt(e,t,r,i,s=0,n){n===void 0&&(n=e.length);let o=[];return t===\"break-all\"?eZ(e,s,n,r,i,o):Zpt(e,s,n,r,i,o),o}function Qpt(e,t,r,i,s,n){let o=0,c=0;for(let f=t;f0,I=[0,0],R=[0,0],N=0,j=0,Q=0;for(let Y=0;Y<=o;Y++){let K=n[Y];if((K===`\n`||Y===o)&&(Q=Y),Q>j){let J=w?Ypt(n,r,i,s,j,Q):Hpt;for(let ut=0;ut<=J.length;ut++){let Et=ut===0?j:J[ut-1],kt=ut1||f>0){let N=e.constructor;R=new N(_);for(let j=0;j<_;j++)R[j]=e[j*c+f]}for(let N=0;N=0&&this._order.splice(r,1)}_appendOrder(t){this._order.push(t)}};function $pt(){let e=[];for(let t=32;t<128;t++)e.push(String.fromCharCode(t));return e}var Wg={fontFamily:\"Monaco, monospace\",fontWeight:\"normal\",characterSet:$pt(),fontSize:64,buffer:4,sdf:!1,cutoff:.25,radius:12,smoothing:.1},nZ=1024,sZ=.9,oZ=1.2,lZ=3,Y3=new ex(lZ);function Xpt(e,t){let r;typeof t==\"string\"?r=new Set(Array.from(t)):r=new Set(t);let i=Y3.get(e);if(!i)return r;for(let s in i.mapping)r.has(s)&&r.delete(s);return r}function Kpt(e,t){for(let r=0;r=lZ,\"Invalid cache limit\"),Y3=new ex(e)}var iS=class{constructor(){G(this,\"props\",{...Wg}),G(this,\"_key\",void 0),G(this,\"_atlas\",void 0)}get texture(){return this._atlas}get mapping(){return this._atlas&&this._atlas.mapping}get scale(){let{fontSize:t,buffer:r}=this.props;return(t*oZ+r*2)/t}setProps(t={}){Object.assign(this.props,t),this._key=this._getKey();let r=Xpt(this._key,this.props.characterSet),i=Y3.get(this._key);if(i&&r.size===0){this._atlas!==i&&(this._atlas=i);return}let s=this._generateFontAtlas(r,i);this._atlas=s,Y3.set(this._key,s)}_generateFontAtlas(t,r){let{fontFamily:i,fontWeight:s,fontSize:n,buffer:o,sdf:c,radius:f,cutoff:_}=this.props,w=r&&r.data;w||(w=document.createElement(\"canvas\"),w.width=nZ);let I=w.getContext(\"2d\",{willReadFrequently:!0});aZ(I,i,n,s);let{mapping:R,canvasHeight:N,xOffset:j,yOffset:Q}=Jq({getFontWidth:et=>I.measureText(et).width,fontHeight:n*oZ,buffer:o,characterSet:t,maxCanvasWidth:nZ,...r&&{mapping:r.mapping,xOffset:r.xOffset,yOffset:r.yOffset}});if(w.height!==N){let et=I.getImageData(0,0,w.width,w.height);w.height=N,I.putImageData(et,0,0)}if(aZ(I,i,n,s),c){let et=new rS({fontSize:n,buffer:o,radius:f,cutoff:_,fontFamily:i,fontWeight:\"\".concat(s)});for(let Y of t){let{data:K,width:J,height:ut,glyphTop:Et}=et.draw(Y);R[Y].width=J,R[Y].layoutOffsetY=n*sZ-Et;let kt=I.createImageData(J,ut);Kpt(K,kt),I.putImageData(kt,R[Y].x,R[Y].y)}}else for(let et of t)I.fillText(et,R[et].x,R[et].y+o+n*sZ);return{xOffset:j,yOffset:Q,mapping:R,data:w,width:w.width,height:w.height}}_getKey(){let{fontFamily:t,fontWeight:r,fontSize:i,buffer:s,sdf:n,radius:o,cutoff:c}=this.props;return n?\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s,\" \").concat(o,\" \").concat(c):\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s)}};var uZ=`#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var hZ=`#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Jpt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:\"array\",value:[0,0,0,0]},getPosition:{type:\"accessor\",value:e=>e.position},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},getBoundingRect:{type:\"accessor\",value:[0,0,0,0]},getFillColor:{type:\"accessor\",value:[0,0,0,255]},getLineColor:{type:\"accessor\",value:[0,0,0,255]},getLineWidth:{type:\"accessor\",value:1}},Hg=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:uZ,fs:hZ,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instanceRects:{size:4,accessor:\"getBoundingRect\"},instancePixelOffsets:{size:2,transition:!0,accessor:\"getPixelOffset\"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){super.updateState(t);let{changeFlags:r}=t;if(r.extensionsChanged){var i;let{gl:s}=this.context;(i=this.state.model)===null||i===void 0||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{billboard:r,sizeScale:i,sizeUnits:s,sizeMinPixels:n,sizeMaxPixels:o,getLineWidth:c}=this.props,{padding:f}=this.props;f.length<4&&(f=[f[0],f[1],f[0],f[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:!!c,padding:f,sizeUnits:po[s],sizeScale:i,sizeMinPixels:n,sizeMaxPixels:o}).draw()}_getModel(t){let r=[0,0,1,0,1,1,0,1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Hg,\"defaultProps\",Jpt);G(Hg,\"layerName\",\"TextBackgroundLayer\");var fZ={start:1,middle:0,end:-1},dZ={top:1,center:0,bottom:-1},pB=[0,0,0,255],tAt=1,eAt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:\"accessor\",value:[255,255,255,255]},getBorderColor:{type:\"accessor\",value:pB},getBorderWidth:{type:\"accessor\",value:0},backgroundPadding:{type:\"array\",value:[0,0,0,0]},characterSet:{type:\"object\",value:Wg.characterSet},fontFamily:Wg.fontFamily,fontWeight:Wg.fontWeight,lineHeight:tAt,outlineWidth:{type:\"number\",value:0,min:0},outlineColor:{type:\"color\",value:pB},fontSettings:{type:\"object\",value:{},compare:1},wordBreak:\"break-word\",maxWidth:{type:\"number\",value:-1},getText:{type:\"accessor\",value:e=>e.text},getPosition:{type:\"accessor\",value:e=>e.position},getColor:{type:\"accessor\",value:pB},getSize:{type:\"accessor\",value:32},getAngle:{type:\"accessor\",value:0},getTextAnchor:{type:\"accessor\",value:\"middle\"},getAlignmentBaseline:{type:\"accessor\",value:\"center\"},getPixelOffset:{type:\"accessor\",value:[0,0]},backgroundColor:{deprecatedFor:[\"background\",\"getBackgroundColor\"]}},cf=class extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0),G(this,\"getBoundingRect\",(r,i)=>{let{size:[s,n]}=this.transformParagraph(r,i),{fontSize:o}=this.state.fontAtlasManager.props;s/=o,n/=o;let{getTextAnchor:c,getAlignmentBaseline:f}=this.props,_=fZ[typeof c==\"function\"?c(r,i):c],w=dZ[typeof f==\"function\"?f(r,i):f];return[(_-1)*s/2,(w-1)*n/2,s,n]}),G(this,\"getIconOffsets\",(r,i)=>{let{getTextAnchor:s,getAlignmentBaseline:n}=this.props,{x:o,y:c,rowWidth:f,size:[_,w]}=this.transformParagraph(r,i),I=fZ[typeof s==\"function\"?s(r,i):s],R=dZ[typeof n==\"function\"?n(r,i):n],N=o.length,j=new Array(N*2),Q=0;for(let et=0;et0&&or.warn(\"v8.9 breaking change: TextLayer maxWidth is now relative to text size\")()}updateState(t){let{props:r,oldProps:i,changeFlags:s}=t;(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||r.lineHeight!==i.lineHeight||r.wordBreak!==i.wordBreak||r.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(){let{fontSettings:t,fontFamily:r,fontWeight:i}=this.props,{fontAtlasManager:s,characterSet:n}=this.state,o={...t,characterSet:n,fontFamily:r,fontWeight:i};if(!s.mapping)return s.setProps(o),!0;for(let c in o)if(o[c]!==s.props[c])return s.setProps(o),!0;return!1}_updateText(){var t;let{data:r,characterSet:i}=this.props,s=(t=r.attributes)===null||t===void 0?void 0:t.getText,{getText:n}=this.props,o=r.startIndices,c,f=i===\"auto\"&&new Set;if(s&&o){let{texts:_,characterCount:w}=iZ({...ArrayBuffer.isView(s)?{value:s}:s,length:r.length,startIndices:o,characterSet:f});c=w,n=(I,{index:R})=>_[R]}else{let{iterable:_,objectInfo:w}=Jc(r);o=[0],c=0;for(let I of _){w.index++;let R=Array.from(n(I,w)||\"\");f&&R.forEach(f.add,f),c+=R.length,o.push(c)}}this.setState({getText:n,startIndices:o,numInstances:c,characterSet:f||i})}transformParagraph(t,r){let{fontAtlasManager:i}=this.state,s=i.mapping,n=this.state.getText,{wordBreak:o,lineHeight:c,maxWidth:f}=this.props,_=n(t,r)||\"\";return rZ(_,c,o,f*i.props.fontSize,s)}renderLayers(){let{startIndices:t,numInstances:r,getText:i,fontAtlasManager:{scale:s,texture:n,mapping:o},styleVersion:c}=this.state,{data:f,_dataDiff:_,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,getBackgroundColor:Q,getBorderColor:et,getBorderWidth:Y,backgroundPadding:K,background:J,billboard:ut,fontSettings:Et,outlineWidth:kt,outlineColor:Xt,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke,updateTriggers:rr}=this.props,Sr=this.getSubLayerClass(\"characters\",Gg),Li=this.getSubLayerClass(\"background\",Hg);return[J&&new Li({getFillColor:Q,getLineColor:et,getLineWidth:Y,padding:K,getPosition:w,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getSize:Ke.getSize,getFillColor:Ke.getBackgroundColor,getLineColor:Ke.getBorderColor,getLineWidth:Ke.getBorderWidth,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"background\",updateTriggers:{getPosition:rr.getPosition,getAngle:rr.getAngle,getSize:rr.getSize,getFillColor:rr.getBackgroundColor,getLineColor:rr.getBorderColor,getLineWidth:rr.getBorderWidth,getPixelOffset:rr.getPixelOffset,getBoundingRect:{getText:rr.getText,getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f.attributes&&f.attributes.background?{length:f.length,attributes:f.attributes.background}:f,_dataDiff:_,autoHighlight:!1,getBoundingRect:this.getBoundingRect}),new Sr({sdf:Et.sdf,smoothing:Number.isFinite(Et.smoothing)?Et.smoothing:Wg.smoothing,outlineWidth:kt/(Et.radius||Wg.radius),outlineColor:Xt,iconAtlas:n,iconMapping:o,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt*s,sizeUnits:le,sizeMinPixels:ue*s,sizeMaxPixels:De*s,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getColor:Ke.getColor,getSize:Ke.getSize,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"characters\",updateTriggers:{all:rr.getText,getPosition:rr.getPosition,getAngle:rr.getAngle,getColor:rr.getColor,getSize:rr.getSize,getPixelOffset:rr.getPixelOffset,getIconOffsets:{getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f,_dataDiff:_,startIndices:t,numInstances:r,getIconOffsets:this.getIconOffsets,getIcon:i})]}static set fontAtlasCacheLimit(t){cZ(t)}};G(cf,\"defaultProps\",eAt);G(cf,\"layerName\",\"TextLayer\");var nS={circle:{type:Ku,props:{filled:\"filled\",stroked:\"stroked\",lineWidthMaxPixels:\"lineWidthMaxPixels\",lineWidthMinPixels:\"lineWidthMinPixels\",lineWidthScale:\"lineWidthScale\",lineWidthUnits:\"lineWidthUnits\",pointRadiusMaxPixels:\"radiusMaxPixels\",pointRadiusMinPixels:\"radiusMinPixels\",pointRadiusScale:\"radiusScale\",pointRadiusUnits:\"radiusUnits\",pointAntialiasing:\"antialiasing\",pointBillboard:\"billboard\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\",getLineWidth:\"getLineWidth\",getPointRadius:\"getRadius\"}},icon:{type:Ep,props:{iconAtlas:\"iconAtlas\",iconMapping:\"iconMapping\",iconSizeMaxPixels:\"sizeMaxPixels\",iconSizeMinPixels:\"sizeMinPixels\",iconSizeScale:\"sizeScale\",iconSizeUnits:\"sizeUnits\",iconAlphaCutoff:\"alphaCutoff\",iconBillboard:\"billboard\",getIcon:\"getIcon\",getIconAngle:\"getAngle\",getIconColor:\"getColor\",getIconPixelOffset:\"getPixelOffset\",getIconSize:\"getSize\"}},text:{type:cf,props:{textSizeMaxPixels:\"sizeMaxPixels\",textSizeMinPixels:\"sizeMinPixels\",textSizeScale:\"sizeScale\",textSizeUnits:\"sizeUnits\",textBackground:\"background\",textBackgroundPadding:\"backgroundPadding\",textFontFamily:\"fontFamily\",textFontWeight:\"fontWeight\",textLineHeight:\"lineHeight\",textMaxWidth:\"maxWidth\",textOutlineColor:\"outlineColor\",textOutlineWidth:\"outlineWidth\",textWordBreak:\"wordBreak\",textCharacterSet:\"characterSet\",textBillboard:\"billboard\",textFontSettings:\"fontSettings\",getText:\"getText\",getTextAngle:\"getAngle\",getTextColor:\"getColor\",getTextPixelOffset:\"getPixelOffset\",getTextSize:\"getSize\",getTextAnchor:\"getTextAnchor\",getTextAlignmentBaseline:\"getAlignmentBaseline\",getTextBackgroundColor:\"getBackgroundColor\",getTextBorderColor:\"getBorderColor\",getTextBorderWidth:\"getBorderWidth\"}}},sS={type:bc,props:{lineWidthUnits:\"widthUnits\",lineWidthScale:\"widthScale\",lineWidthMinPixels:\"widthMinPixels\",lineWidthMaxPixels:\"widthMaxPixels\",lineJointRounded:\"jointRounded\",lineCapRounded:\"capRounded\",lineMiterLimit:\"miterLimit\",lineBillboard:\"billboard\",getLineColor:\"getColor\",getLineWidth:\"getWidth\"}},Q3={type:wc,props:{extruded:\"extruded\",filled:\"filled\",wireframe:\"wireframe\",elevationScale:\"elevationScale\",material:\"material\",_full3d:\"_full3d\",getElevation:\"getElevation\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\"}};function rx({type:e,props:t}){let r={};for(let i in t)r[i]=e.defaultProps[t[i]];return r}function $3(e,t){let{transitions:r,updateTriggers:i}=e.props,s={updateTriggers:{},transitions:r&&{getPosition:r.geometry}};for(let n in t){let o=t[n],c=e.props[n];n.startsWith(\"get\")&&(c=e.getSubLayerAccessor(c),s.updateTriggers[o]=i[n],r&&(s.transitions[o]=r[n])),s[o]=c}return s}function AZ(e){if(Array.isArray(e))return e;switch(or.assert(e.type,\"GeoJSON does not have type\"),e.type){case\"Feature\":return[e];case\"FeatureCollection\":return or.assert(Array.isArray(e.features),\"GeoJSON does not have features array\"),e.features;default:return[{geometry:e}]}}function AB(e,t,r={}){let i={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},{startRow:s=0,endRow:n=e.length}=r;for(let o=s;o{c.push(r({geometry:{type:\"Point\",coordinates:I}},i,s))});break;case\"LineString\":f.push(r({geometry:e},i,s));break;case\"MultiLineString\":o.forEach(I=>{f.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"Polygon\":_.push(r({geometry:e},i,s)),o.forEach(I=>{w.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"MultiPolygon\":o.forEach(I=>{_.push(r({geometry:{type:\"Polygon\",coordinates:I}},i,s)),I.forEach(R=>{w.push(r({geometry:{type:\"LineString\",coordinates:R}},i,s))})});break;default:}}var rAt={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function iAt(e,t){let r=rAt[e];for(or.assert(r,\"Unknown GeoJSON type \".concat(e));t&&--r>0;)t=t[0];return t&&Number.isFinite(t[0])}function mZ(){return{points:{},lines:{},polygons:{},polygonsOutline:{}}}function X3(e){return e.geometry.coordinates}function gZ(e,t){let r=mZ(),{pointFeatures:i,lineFeatures:s,polygonFeatures:n,polygonOutlineFeatures:o}=e;return r.points.data=i,r.points._dataDiff=t.pointFeatures&&(()=>t.pointFeatures),r.points.getPosition=X3,r.lines.data=s,r.lines._dataDiff=t.lineFeatures&&(()=>t.lineFeatures),r.lines.getPath=X3,r.polygons.data=n,r.polygons._dataDiff=t.polygonFeatures&&(()=>t.polygonFeatures),r.polygons.getPolygon=X3,r.polygonsOutline.data=o,r.polygonsOutline._dataDiff=t.polygonOutlineFeatures&&(()=>t.polygonOutlineFeatures),r.polygonsOutline.getPath=X3,r}function _Z(e,t){let r=mZ(),{points:i,lines:s,polygons:n}=e,o=Yq(e,t);return r.points.data={length:i.positions.value.length/i.positions.size,attributes:{...i.attributes,getPosition:i.positions,instancePickingColors:{size:3,value:o.points}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},r.lines.data={length:s.pathIndices.value.length-1,startIndices:s.pathIndices.value,attributes:{...s.attributes,getPath:s.positions,instancePickingColors:{size:3,value:o.lines}},properties:s.properties,numericProps:s.numericProps,featureIds:s.featureIds},r.lines._pathType=\"open\",r.polygons.data={length:n.polygonIndices.value.length-1,startIndices:n.polygonIndices.value,attributes:{...n.attributes,getPolygon:n.positions,pickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygons._normalize=!1,n.triangles&&(r.polygons.data.attributes.indices=n.triangles.value),r.polygonsOutline.data={length:n.primitivePolygonIndices.value.length-1,startIndices:n.primitivePolygonIndices.value,attributes:{...n.attributes,getPath:n.positions,instancePickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygonsOutline._pathType=\"open\",r}var nAt=[\"points\",\"linestrings\",\"polygons\"],sAt={...rx(nS.circle),...rx(nS.icon),...rx(nS.text),...rx(sS),...rx(Q3),stroked:!0,filled:!0,extruded:!1,wireframe:!1,_full3d:!1,iconAtlas:{type:\"object\",value:null},iconMapping:{type:\"object\",value:{}},getIcon:{type:\"accessor\",value:e=>e.properties.icon},getText:{type:\"accessor\",value:e=>e.properties.text},pointType:\"circle\",getRadius:{deprecatedFor:\"getPointRadius\"}},Mm=class extends Ni{initializeState(){this.state={layerProps:{},features:{}}}updateState({props:t,changeFlags:r}){if(!r.dataChanged)return;let{data:i}=this.props,s=i&&\"points\"in i&&\"polygons\"in i&&\"lines\"in i;this.setState({binary:s}),s?this._updateStateBinary({props:t,changeFlags:r}):this._updateStateJSON({props:t,changeFlags:r})}_updateStateBinary({props:t,changeFlags:r}){let i=_Z(t.data,this.encodePickingColor);this.setState({layerProps:i})}_updateStateJSON({props:t,changeFlags:r}){let i=AZ(t.data),s=this.getSubLayerRow.bind(this),n={},o={};if(Array.isArray(r.dataChanged)){let f=this.state.features;for(let _ in f)n[_]=f[_].slice(),o[_]=[];for(let _ of r.dataChanged){let w=AB(i,s,_);for(let I in f)o[I].push(Z3({data:n[I],getIndex:R=>R.__source.index,dataRange:_,replace:w[I]}))}}else n=AB(i,s);let c=gZ(n,o);this.setState({features:n,featuresDiff:o,layerProps:c})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i,sourceLayer:s}=r;return r.featureType=nAt.find(n=>s.id.startsWith(\"\".concat(this.id,\"-\").concat(n,\"-\"))),i>=0&&s.id.startsWith(\"\".concat(this.id,\"-points-text\"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}_updateAutoHighlight(t){let r=\"\".concat(this.id,\"-points-\"),i=t.featureType===\"points\";for(let s of this.getSubLayers())s.id.startsWith(r)===i&&s.updateAutoHighlight(t)}_renderPolygonLayer(){let{extruded:t,wireframe:r}=this.props,{layerProps:i}=this.state,s=\"polygons-fill\",n=this.shouldRenderSubLayer(s,i.polygons.data)&&this.getSubLayerClass(s,Q3.type);if(n){let o=$3(this,Q3.props),c=t&&r;return c||delete o.getLineColor,o.updateTriggers.lineColors=c,new n(o,this.getSubLayerProps({id:s,updateTriggers:o.updateTriggers}),i.polygons)}return null}_renderLineLayers(){let{extruded:t,stroked:r}=this.props,{layerProps:i}=this.state,s=\"polygons-stroke\",n=\"linestrings\",o=!t&&r&&this.shouldRenderSubLayer(s,i.polygonsOutline.data)&&this.getSubLayerClass(s,sS.type),c=this.shouldRenderSubLayer(n,i.lines.data)&&this.getSubLayerClass(n,sS.type);if(o||c){let f=$3(this,sS.props);return[o&&new o(f,this.getSubLayerProps({id:s,updateTriggers:f.updateTriggers}),i.polygonsOutline),c&&new c(f,this.getSubLayerProps({id:n,updateTriggers:f.updateTriggers}),i.lines)]}return null}_renderPointLayers(){let{pointType:t}=this.props,{layerProps:r,binary:i}=this.state,{highlightedObjectIndex:s}=this.props;!i&&Number.isFinite(s)&&(s=r.points.data.findIndex(c=>c.__source.index===s));let n=new Set(t.split(\"+\")),o=[];for(let c of n){let f=\"points-\".concat(c),_=nS[c],w=_&&this.shouldRenderSubLayer(f,r.points.data)&&this.getSubLayerClass(f,_.type);if(w){let I=$3(this,_.props),R=r.points;if(c===\"text\"&&i){let{instancePickingColors:N,...j}=R.data.attributes;R={...R,data:{...R.data,attributes:j}}}o.push(new w(I,this.getSubLayerProps({id:f,updateTriggers:I.updateTriggers,highlightedObjectIndex:s}),R))}}return o}renderLayers(){let{extruded:t}=this.props,r=this._renderPolygonLayer(),i=this._renderLineLayers(),s=this._renderPointLayers();return[!t&&r,i,s,t&&r]}getSubLayerAccessor(t){let{binary:r}=this.state;return!r||typeof t!=\"function\"?super.getSubLayerAccessor(t):(i,s)=>{let{data:n,index:o}=s,c=Zq(n,o);return t(c,s)}}};G(Mm,\"layerName\",\"GeoJsonLayer\");G(Mm,\"defaultProps\",sAt);var QXt=1/Math.PI*180,$Xt=1/180*Math.PI,oAt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...oAt}};var oS=globalThis.mathgl.config;function aS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ix(e,t,r){let i=oS.EPSILON;r&&(oS.EPSILON=r);try{if(e===t)return!0;if(aS(e)&&aS(t)){if(e.length!==t.length)return!1;for(let s=0;s{t([r,i],[s,n],o,c)},this.options):xZ(this.points,t,this.options)}modifyWindingDirection(t){return this.isFlatArray?mB(this.points,t,this.options):vZ(this.points,t,this.options)}};function vB(e,t,r=2,i,s=\"xy\"){let n=t&&t.length,o=n?t[0]*r:e.length,c=wZ(e,0,o,r,!0,i&&i[0],s),f=[];if(!c||c.next===c.prev)return f;let _,w,I,R,N,j,Q;if(n&&(c=dAt(e,t,c,r,i,s)),e.length>80*r){R=w=e[0],N=I=e[1];for(let et=r;etw&&(w=j),Q>I&&(I=Q);_=Math.max(w-R,I-N),_=_!==0?32767/_:0}return lS(c,f,r,R,N,_,0),f}function wZ(e,t,r,i,s,n,o){let c,f;n===void 0&&(n=nx(e,{start:t,end:r,size:i,plane:o}));let _=qg[o[0]],w=qg[o[1]];if(s===n<0)for(c=t;c=t;c-=i)f=bZ(c,e[c+_],e[c+w],f);return f&&eI(f,f.next)&&(uS(f),f=f.next),f}function Zg(e,t){if(!e)return e;t||(t=e);let r=e,i;do if(i=!1,!r.steiner&&(eI(r,r.next)||ys(r.prev,r,r.next)===0)){if(uS(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function lS(e,t,r,i,s,n,o){if(!e)return;!o&&n&&_At(e,i,s,n);let c=e,f,_;for(;e.prev!==e.next;){if(f=e.prev,_=e.next,n?uAt(e,i,s,n):cAt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),uS(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=hAt(Zg(e),t,r),lS(e,t,r,i,s,n,2)):o===2&&fAt(e,t,r,i,s,n):lS(Zg(e),t,r,i,s,n,1);break}}}function cAt(e){let t=e.prev,r=e,i=e.next;if(ys(t,r,i)>=0)return!1;let s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;for(;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&ox(s,c,n,f,o,_,j.x,j.y)&&ys(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function uAt(e,t,r,i){let s=e.prev,n=e,o=e.next;if(ys(s,n,o)>=0)return!1;let c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=yB(N,j,t,r,i),K=yB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;for(;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function hAt(e,t,r){let i=e;do{let s=i.prev,n=i.next.next;!eI(s,n)&&SZ(s,i,i.next,n)&&cS(s,n)&&cS(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),uS(i),uS(i.next),i=e=n),i=i.next}while(i!==e);return Zg(i)}function fAt(e,t,r,i,s,n){let o=e;do{let c=o.next.next;for(;c!==o.prev;){if(o.i!==c.i&&xAt(o,c)){let f=TZ(o,c);o=Zg(o,o.next),f=Zg(f,f.next),lS(o,t,r,i,s,n,0),lS(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function dAt(e,t,r,i,s,n){let o=[],c,f,_,w,I;for(c=0,f=t.length;c=r.next.y&&r.next.y!==r.y){let R=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(R<=i&&R>n&&(n=R,o=r.x=r.x&&r.x>=f&&i!==r.x&&ox(s<_?i:n,s,f,_,s<_?n:i,s,r.x,r.y)&&(I=Math.abs(s-r.y)/(i-r.x),cS(r,e)&&(Io.x||r.x===o.x&&gAt(o,r)))&&(o=r,w=I)),r=r.next;while(r!==c);return o}function gAt(e,t){return ys(e.prev,e,t.prev)<0&&ys(t.next,e,e.next)<0}function _At(e,t,r,i){let s=e;do s.z===0&&(s.z=yB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,yAt(s)}function yAt(e){let t,r,i=1,s,n,o,c,f,_;do{for(n=e,e=null,_=null,s=0;n;){for(s++,c=n,o=0,r=0;r0||f>0&&c;)o!==0&&(f===0||!c||n.z<=c.z)?(t=n,n=n.nextZ,o--):(t=c,c=c.nextZ,f--),_?_.nextZ=t:e=t,t.prevZ=_,_=t;n=c}_.nextZ=null,i*=2}while(s>1);return e}function yB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function vAt(e){let t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function xAt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!bAt(e,t)&&(cS(e,t)&&cS(t,e)&&wAt(e,t)&&(ys(e.prev,e,t.prev)||ys(e,t.prev,t))||eI(e,t)&&ys(e.prev,e,e.next)>0&&ys(t.prev,t,t.next)>0)}function ys(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eI(e,t){return e.x===t.x&&e.y===t.y}function SZ(e,t,r,i){let s=tI(ys(e,t,r)),n=tI(ys(e,t,i)),o=tI(ys(r,i,e)),c=tI(ys(r,i,t));return!!(s!==n&&o!==c||s===0&&J3(e,r,t)||n===0&&J3(e,i,t)||o===0&&J3(r,e,i)||c===0&&J3(r,t,i))}function J3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function tI(e){return e>0?1:e<0?-1:0}function bAt(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&SZ(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function cS(e,t){return ys(e.prev,e,e.next)<0?ys(e,t,e.next)>=0&&ys(e,e.prev,t)>=0:ys(e,t,e.prev)<0||ys(e,e.next,t)<0}function wAt(e,t){let r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function TZ(e,t){let r=new hS(e.i,e.x,e.y),i=new hS(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function bZ(e,t,r,i){let s=new hS(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function uS(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}var hS=class{constructor(t,r,i){G(this,\"i\",void 0),G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"prev\",null),G(this,\"next\",null),G(this,\"z\",0),G(this,\"prevZ\",null),G(this,\"nextZ\",null),G(this,\"steiner\",!1),this.i=t,this.x=r,this.y=i}};function PZ(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"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\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}var uf=1,hf=2,Ip=3,IZ=4,fS=5,xB=6378137,CZ=6356752314e-3,bB=.0066943799901413165,Yg=484813681109536e-20,de=Math.PI/2,LZ=.16666666666666666,kZ=.04722222222222222,RZ=.022156084656084655,Se=1e-10,vs=.017453292519943295,Sc=57.29577951308232,Ui=Math.PI/4,Em=Math.PI*2,xs=3.14159265359;var Rl={};Rl.greenwich=0;Rl.lisbon=-9.131906111111;Rl.paris=2.337229166667;Rl.bogota=-74.080916666667;Rl.madrid=-3.687938888889;Rl.rome=12.452333333333;Rl.bern=7.439583333333;Rl.jakarta=106.807719444444;Rl.ferro=-17.666666666667;Rl.brussels=4.367975;Rl.stockholm=18.058277777778;Rl.athens=23.7163375;Rl.oslo=10.722916666667;var DZ={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}};var OZ=/[\\s_\\-\\/\\(\\)]/g;function uu(e,t){if(e[t])return e[t];for(var r=Object.keys(e),i=t.toLowerCase().replace(OZ,\"\"),s=-1,n,o;++s=this.text.length)return;e=this.text[this.place++]}switch(this.state){case pS:return this.neutral(e);case FZ:return this.keyword(e);case rI:return this.quoted(e);case NZ:return this.afterquote(e);case zZ:return this.number(e);case wB:return}};Cp.prototype.afterquote=function(e){if(e==='\"'){this.word+='\"',this.state=rI;return}if(iI.test(e)){this.word=this.word.trim(),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in afterquote yet, index '+this.place)};Cp.prototype.afterItem=function(e){if(e===\",\"){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=pS;return}if(e===\"]\"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=pS,this.currentObject=this.stack.pop(),this.currentObject||(this.state=wB);return}};Cp.prototype.number=function(e){if(UZ.test(e)){this.word+=e;return}if(iI.test(e)){this.word=parseFloat(this.word),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in number yet, index '+this.place)};Cp.prototype.quoted=function(e){if(e==='\"'){this.state=NZ;return}this.word+=e};Cp.prototype.keyword=function(e){if(IAt.test(e)){this.word+=e;return}if(e===\"[\"){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=pS;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in keyword yet, index '+this.place)};Cp.prototype.neutral=function(e){if(PAt.test(e)){this.word=e,this.state=FZ;return}if(e==='\"'){this.word=\"\",this.state=rI;return}if(UZ.test(e)){this.word=e,this.state=zZ;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in neutral yet, index '+this.place)};Cp.prototype.output=function(){for(;this.place0?90:-90),e.lat_ts=e.lat1):!e.lat_ts&&e.lat0&&e.projName===\"Polar_Stereographic\"&&(e.lat_ts=e.lat0,e.lat0=dd(e.lat0>0?90:-90))}function nI(e){var t=BZ(e),r=t.shift(),i=t.shift();t.unshift([\"name\",i]),t.unshift([\"type\",r]);var s={};return Qg(t,s),RAt(s),s}function Ju(e){var t=this;if(arguments.length===2){var r=arguments[1];typeof r==\"string\"?r.charAt(0)===\"+\"?Ju[e]=dS(arguments[1]):Ju[e]=nI(arguments[1]):Ju[e]=r}else if(arguments.length===1){if(Array.isArray(e))return e.map(function(i){Array.isArray(i)?Ju.apply(t,i):Ju(i)});if(typeof e==\"string\"){if(e in Ju)return Ju[e]}else\"EPSG\"in e?Ju[\"EPSG:\"+e.EPSG]=e:\"ESRI\"in e?Ju[\"ESRI:\"+e.ESRI]=e:\"IAU2000\"in e?Ju[\"IAU2000:\"+e.IAU2000]=e:console.log(e);return}}PZ(Ju);var ax=Ju;function DAt(e){return typeof e==\"string\"}function OAt(e){return e in ax}var BAt=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];function FAt(e){return BAt.some(function(t){return e.indexOf(t)>-1})}var zAt=[\"3857\",\"900913\",\"3785\",\"102113\"];function NAt(e){var t=uu(e,\"authority\");if(t){var r=uu(t,\"epsg\");return r&&zAt.indexOf(r)>-1}}function UAt(e){var t=uu(e,\"extension\");if(t)return uu(t,\"proj4\")}function VAt(e){return e[0]===\"+\"}function jAt(e){if(DAt(e)){if(OAt(e))return ax[e];if(FAt(e)){var t=nI(e);if(NAt(t))return ax[\"EPSG:3857\"];var r=UAt(t);return r?dS(r):t}if(VAt(e))return dS(e)}else return e}var jZ=jAt;function SB(e,t){e=e||{};var r,i;if(!t)return e;for(i in t)r=t[i],r!==void 0&&(e[i]=r);return e}function ol(e,t,r){var i=e*t;return r/Math.sqrt(1-i*i)}function pd(e){return e<0?-1:1}function Ce(e){return Math.abs(e)<=xs?e:e-pd(e)*Em}function Dl(e,t,r){var i=e*r,s=.5*e;return i=Math.pow((1-i)/(1+i),s),Math.tan(.5*(de-t))/i}function Lp(e,t){for(var r=.5*e,i,s,n=de-2*Math.atan(t),o=0;o<=15;o++)if(i=e*Math.sin(n),s=de-2*Math.atan(t*Math.pow((1-i)/(1+i),r))-n,n+=s,Math.abs(s)<=1e-10)return n;return-9999}function GAt(){var e=this.b/this.a;this.es=1-e*e,\"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=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function WAt(e){var t=e.x,r=e.y;if(r*Sc>90&&r*Sc<-90&&t*Sc>180&&t*Sc<-180)return null;var i,s;if(Math.abs(Math.abs(r)-de)<=Se)return null;if(this.sphere)i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(Ui+.5*r));else{var n=Math.sin(r),o=Dl(this.e,r,n);i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0-this.a*this.k0*Math.log(o)}return e.x=i,e.y=s,e}function HAt(e){var t=e.x-this.x0,r=e.y-this.y0,i,s;if(this.sphere)s=de-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else{var n=Math.exp(-r/(this.a*this.k0));if(s=Lp(this.e,n),s===-9999)return null}return i=Ce(this.long0+t/(this.a*this.k0)),e.x=i,e.y=s,e}var qAt=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],GZ={init:GAt,forward:WAt,inverse:HAt,names:qAt};function ZAt(){}function WZ(e){return e}var YAt=[\"longlat\",\"identity\"],HZ={init:ZAt,forward:WZ,inverse:WZ,names:YAt};var QAt=[GZ,HZ],sI={},oI=[];function qZ(e,t){var r=oI.length;return e.names?(oI[r]=e,e.names.forEach(function(i){sI[i.toLowerCase()]=r}),this):(console.log(t),!0)}function $At(e){if(!e)return!1;var t=e.toLowerCase();if(typeof sI[t]<\"u\"&&oI[sI[t]])return oI[sI[t]]}function XAt(){QAt.forEach(qZ)}var ZZ={start:XAt,add:qZ,get:$At};var Xr={};Xr.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"};Xr.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"};Xr.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"};Xr.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"};Xr.airy={a:6377563396e-3,b:635625691e-2,ellipseName:\"Airy 1830\"};Xr.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"};Xr.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"};Xr.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:\"Modified Airy\"};Xr.andrae={a:637710443e-2,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"};Xr.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"};Xr.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"};Xr.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:\"Bessel 1841\"};Xr.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"};Xr.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:\"Clarke 1866\"};Xr.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"};Xr.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:\"Clarke 1880 (IGN)\"};Xr.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:\"Clarke 1858\"};Xr.CPM={a:63757387e-1,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"};Xr.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"};Xr.engelis={a:637813605e-2,rf:298.2566,ellipseName:\"Engelis 1985\"};Xr.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:\"Everest 1830\"};Xr.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:\"Everest 1948\"};Xr.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:\"Everest 1956\"};Xr.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:\"Everest 1969\"};Xr.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"};Xr.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"};Xr.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"};Xr.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"};Xr.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"};Xr.hough={a:6378270,rf:297,ellipseName:\"Hough\"};Xr.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"};Xr.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"};Xr.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"};Xr.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"};Xr.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:\"New International 1967\"};Xr.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"};Xr.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"};Xr.SEasia={a:6378155,b:63567733205e-4,ellipseName:\"Southeast Asia\"};Xr.walbeck={a:6376896,b:63558348467e-4,ellipseName:\"Walbeck\"};Xr.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"};Xr.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"};Xr.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"};var YZ=Xr.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"};Xr.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"};function QZ(e,t,r,i){var s=e*e,n=t*t,o=(s-n)/s,c=0;i?(e*=1-o*(LZ+o*(kZ+o*RZ)),s=e*e,o=0):c=Math.sqrt(o);var f=(s-n)/n;return{es:o,e:c,ep2:f}}function $Z(e,t,r,i,s){if(!e){var n=uu(Xr,i);n||(n=YZ),e=n.a,t=n.b,r=n.rf}return r&&!t&&(t=(1-1/r)*e),(r===0||Math.abs(e-t)3&&(c.datum_params[3]!==0||c.datum_params[4]!==0||c.datum_params[5]!==0||c.datum_params[6]!==0)&&(c.datum_type=hf,c.datum_params[3]*=Yg,c.datum_params[4]*=Yg,c.datum_params[5]*=Yg,c.datum_params[6]=c.datum_params[6]/1e6+1)),o&&(c.datum_type=Ip,c.grids=o),c.a=r,c.b=i,c.es=s,c.ep2=n,c}var XZ=KAt;var KZ={};function MB(e,t){var r=new DataView(t),i=tmt(r),s=emt(r,i),n=rmt(r,s,i),o={header:s,subgrids:n};return KZ[e]=o,o}function JZ(e){if(e===void 0)return null;var t=e.split(\",\");return t.map(JAt)}function JAt(e){if(e.length===0)return null;var t=e[0]===\"@\";return t&&(e=e.slice(1)),e===\"null\"?{name:\"null\",mandatory:!t,grid:null,isNull:!0}:{name:e,mandatory:!t,grid:KZ[e]||null,isNull:!1}}function lx(e){return e/3600*Math.PI/180}function tmt(e){var t=e.getInt32(8,!1);return t===11?!1:(t=e.getInt32(8,!0),t!==11&&console.warn(\"Failed to detect nadgrid endian-ness, defaulting to little-endian\"),!0)}function emt(e,t){return{nFields:e.getInt32(8,t),nSubgridFields:e.getInt32(24,t),nSubgrids:e.getInt32(40,t),shiftType:TB(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,t),fromSemiMinorAxis:e.getFloat64(136,t),toSemiMajorAxis:e.getFloat64(152,t),toSemiMinorAxis:e.getFloat64(168,t)}}function TB(e,t,r){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(t,r)))}function rmt(e,t,r){for(var i=176,s=[],n=0;n5e-11?!1:e.datum_type===uf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]:e.datum_type===hf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]:!0}function aI(e,t,r){var i=e.x,s=e.y,n=e.z?e.z:0,o,c,f,_;if(s<-de&&s>-1.001*de)s=-de;else if(s>de&&s<1.001*de)s=de;else{if(s<-de)return{x:-1/0,y:-1/0,z:e.z};if(s>de)return{x:1/0,y:1/0,z:e.z}}return i>Math.PI&&(i-=2*Math.PI),c=Math.sin(s),_=Math.cos(s),f=c*c,o=r/Math.sqrt(1-t*f),{x:(o+n)*_*Math.cos(i),y:(o+n)*_*Math.sin(i),z:(o*(1-t)+n)*c}}function lI(e,t,r,i){var s=1e-12,n=s*s,o=30,c,f,_,w,I,R,N,j,Q,et,Y,K,J,ut=e.x,Et=e.y,kt=e.z?e.z:0,Xt,qt,le;if(c=Math.sqrt(ut*ut+Et*Et),f=Math.sqrt(ut*ut+Et*Et+kt*kt),c/rn&&Ji.y||j>i.x||Yc&&Math.abs(f.y)>c);if(o<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),i;i.x=Ce(n.x+r.ll[0]),i.y=n.y+r.ll[1]}else isNaN(n.x)||(i.x=e.x+n.x,i.y=e.y+n.y);return i}function nY(e,t){var r={x:e.x/t.del[0],y:e.y/t.del[1]},i={x:Math.floor(r.x),y:Math.floor(r.y)},s={x:r.x-1*i.x,y:r.y-1*i.y},n={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=t.lim[0]||i.y<0||i.y>=t.lim[1])return n;o=i.y*t.lim[0]+i.x;var c={x:t.cvs[o][0],y:t.cvs[o][1]};o++;var f={x:t.cvs[o][0],y:t.cvs[o][1]};o+=t.lim[0];var _={x:t.cvs[o][0],y:t.cvs[o][1]};o--;var w={x:t.cvs[o][0],y:t.cvs[o][1]},I=s.x*s.y,R=s.x*(1-s.y),N=(1-s.x)*(1-s.y),j=(1-s.x)*s.y;return n.x=N*c.x+R*f.x+j*w.x+I*_.x,n.y=N*c.y+R*f.y+j*w.y+I*_.y,n}function EB(e,t,r){var i=r.x,s=r.y,n=r.z||0,o,c,f,_={};for(f=0;f<3;f++)if(!(t&&f===2&&r.z===void 0))switch(f===0?(o=i,\"ew\".indexOf(e.axis[f])!==-1?c=\"x\":c=\"y\"):f===1?(o=s,\"ns\".indexOf(e.axis[f])!==-1?c=\"y\":c=\"x\"):(o=n,c=\"z\"),e.axis[f]){case\"e\":_[c]=o;break;case\"w\":_[c]=-o;break;case\"n\":_[c]=o;break;case\"s\":_[c]=-o;break;case\"u\":r[c]!==void 0&&(_.z=o);break;case\"d\":r[c]!==void 0&&(_.z=-o);break;default:return null}return _}function uI(e){var t={x:e[0],y:e[1]};return e.length>2&&(t.z=e[2]),e.length>3&&(t.m=e[3]),t}function aY(e){oY(e.x),oY(e.y)}function oY(e){if(typeof Number.isFinite==\"function\"){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(typeof e!=\"number\"||e!==e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}function amt(e,t){return(e.datum.datum_type===uf||e.datum.datum_type===hf||e.datum.datum_type===Ip)&&t.datumCode!==\"WGS84\"||(t.datum.datum_type===uf||t.datum.datum_type===hf||t.datum.datum_type===Ip)&&e.datumCode!==\"WGS84\"}function $g(e,t,r,i){var s;Array.isArray(r)?r=uI(r):r={x:r.x,y:r.y,z:r.z,m:r.m};var n=r.z!==void 0;if(aY(r),e.datum&&t.datum&&amt(e,t)&&(s=new Pm(\"WGS84\"),r=$g(e,s,r,i),e=s),i&&e.axis!==\"enu\"&&(r=EB(e,!1,r)),e.projName===\"longlat\")r={x:r.x*vs,y:r.y*vs,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),r=e.inverse(r),!r)return;if(e.from_greenwich&&(r.x+=e.from_greenwich),r=sY(e.datum,t.datum,r),!!r)return t.from_greenwich&&(r={x:r.x-t.from_greenwich,y:r.y,z:r.z||0}),t.projName===\"longlat\"?r={x:r.x*Sc,y:r.y*Sc,z:r.z||0}:(r=t.forward(r),t.to_meter&&(r={x:r.x/t.to_meter,y:r.y/t.to_meter,z:r.z||0})),i&&t.axis!==\"enu\"?EB(t,!0,r):(r&&!n&&delete r.z,r)}var lY=Pm(\"WGS84\");function PB(e,t,r,i){var s,n,o;return Array.isArray(r)?(s=$g(e,t,r,i)||{x:NaN,y:NaN},r.length>2?typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"?typeof s.z==\"number\"?[s.x,s.y,s.z].concat(r.splice(3)):[s.x,s.y,r[2]].concat(r.splice(3)):[s.x,s.y].concat(r.splice(2)):[s.x,s.y]):(n=$g(e,t,r,i),o=Object.keys(r),o.length===2||o.forEach(function(c){if(typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"){if(c===\"x\"||c===\"y\"||c===\"z\")return}else if(c===\"x\"||c===\"y\")return;n[c]=r[c]}),n)}function cY(e){return e instanceof Pm?e:e.oProj?e.oProj:Pm(e)}function lmt(e,t,r){e=cY(e);var i=!1,s;return typeof t>\"u\"?(t=e,e=lY,i=!0):(typeof t.x<\"u\"||Array.isArray(t))&&(r=t,t=e,e=lY,i=!0),t=cY(t),r?PB(e,t,r):(s={forward:function(n,o){return PB(e,t,n,o)},inverse:function(n,o){return PB(t,e,n,o)}},i&&(s.oProj=t),s)}var Tc=lmt;var uY=6,fY=\"AJSAJS\",dY=\"AFAFAF\",ux=65,Mc=73,th=79,AS=86,mS=90,pY={forward:CB,inverse:cmt,toPoint:LB};function CB(e,t){return t=t||5,fmt(umt({lat:e[1],lon:e[0]}),t)}function cmt(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function LB(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function IB(e){return e*(Math.PI/180)}function hY(e){return 180*(e/Math.PI)}function umt(e){var t=e.lat,r=e.lon,i=6378137,s=.00669438,n=.9996,o,c,f,_,w,I,R,N=IB(t),j=IB(r),Q,et;et=Math.floor((r+180)/6)+1,r===180&&(et=60),t>=56&&t<64&&r>=3&&r<12&&(et=32),t>=72&&t<84&&(r>=0&&r<9?et=31:r>=9&&r<21?et=33:r>=21&&r<33?et=35:r>=33&&r<42&&(et=37)),o=(et-1)*6-180+3,Q=IB(o),c=s/(1-s),f=i/Math.sqrt(1-s*Math.sin(N)*Math.sin(N)),_=Math.tan(N)*Math.tan(N),w=c*Math.cos(N)*Math.cos(N),I=Math.cos(N)*(j-Q),R=i*((1-s/4-3*s*s/64-5*s*s*s/256)*N-(3*s/8+3*s*s/32+45*s*s*s/1024)*Math.sin(2*N)+(15*s*s/256+45*s*s*s/1024)*Math.sin(4*N)-35*s*s*s/3072*Math.sin(6*N));var Y=n*f*(I+(1-_+w)*I*I*I/6+(5-18*_+_*_+72*w-58*c)*I*I*I*I*I/120)+5e5,K=n*(R+f*Math.tan(N)*(I*I/2+(5-_+9*w+4*w*w)*I*I*I*I/24+(61-58*_+_*_+600*w-330*c)*I*I*I*I*I*I/720));return t<0&&(K+=1e7),{northing:Math.round(K),easting:Math.round(Y),zoneNumber:et,zoneLetter:hmt(t)}}function kB(e){var t=e.northing,r=e.easting,i=e.zoneLetter,s=e.zoneNumber;if(s<0||s>60)return null;var n=.9996,o=6378137,c=.00669438,f,_=(1-Math.sqrt(1-c))/(1+Math.sqrt(1-c)),w,I,R,N,j,Q,et,Y,K,J=r-5e5,ut=t;i<\"N\"&&(ut-=1e7),et=(s-1)*6-180+3,f=c/(1-c),Q=ut/n,Y=Q/(o*(1-c/4-3*c*c/64-5*c*c*c/256)),K=Y+(3*_/2-27*_*_*_/32)*Math.sin(2*Y)+(21*_*_/16-55*_*_*_*_/32)*Math.sin(4*Y)+151*_*_*_/96*Math.sin(6*Y),w=o/Math.sqrt(1-c*Math.sin(K)*Math.sin(K)),I=Math.tan(K)*Math.tan(K),R=f*Math.cos(K)*Math.cos(K),N=o*(1-c)/Math.pow(1-c*Math.sin(K)*Math.sin(K),1.5),j=J/(w*n);var Et=K-w*Math.tan(K)/N*(j*j/2-(5+3*I+10*R-4*R*R-9*f)*j*j*j*j/24+(61+90*I+298*R+45*I*I-252*f-3*R*R)*j*j*j*j*j*j/720);Et=hY(Et);var kt=(j-(1+2*I+R)*j*j*j/6+(5-2*R+28*I-3*R*R+8*f+24*I*I)*j*j*j*j*j/120)/Math.cos(K);kt=et+hY(kt);var Xt;if(e.accuracy){var qt=kB({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});Xt={top:qt.lat,right:qt.lon,bottom:Et,left:kt}}else Xt={lat:Et,lon:kt};return Xt}function hmt(e){var t=\"Z\";return 84>=e&&e>=72?t=\"X\":72>e&&e>=64?t=\"W\":64>e&&e>=56?t=\"V\":56>e&&e>=48?t=\"U\":48>e&&e>=40?t=\"T\":40>e&&e>=32?t=\"S\":32>e&&e>=24?t=\"R\":24>e&&e>=16?t=\"Q\":16>e&&e>=8?t=\"P\":8>e&&e>=0?t=\"N\":0>e&&e>=-8?t=\"M\":-8>e&&e>=-16?t=\"L\":-16>e&&e>=-24?t=\"K\":-24>e&&e>=-32?t=\"J\":-32>e&&e>=-40?t=\"H\":-40>e&&e>=-48?t=\"G\":-48>e&&e>=-56?t=\"F\":-56>e&&e>=-64?t=\"E\":-64>e&&e>=-72?t=\"D\":-72>e&&e>=-80&&(t=\"C\"),t}function fmt(e,t){var r=\"00000\"+e.easting,i=\"00000\"+e.northing;return e.zoneNumber+e.zoneLetter+dmt(e.easting,e.northing,e.zoneNumber)+r.substr(r.length-5,t)+i.substr(i.length-5,t)}function dmt(e,t,r){var i=AY(r),s=Math.floor(e/1e5),n=Math.floor(t/1e5)%20;return pmt(s,n,i)}function AY(e){var t=e%uY;return t===0&&(t=uY),t}function pmt(e,t,r){var i=r-1,s=fY.charCodeAt(i),n=dY.charCodeAt(i),o=s+e-1,c=n+t,f=!1;o>mS&&(o=o-mS+ux-1,f=!0),(o===Mc||sMc||(o>Mc||sth||(o>th||smS&&(o=o-mS+ux-1),c>AS?(c=c-AS+ux-1,f=!0):f=!1,(c===Mc||nMc||(c>Mc||nth||(c>th||nAS&&(c=c-AS+ux-1);var _=String.fromCharCode(o)+String.fromCharCode(c);return _}function mY(e){if(e&&e.length===0)throw\"MGRSPoint coverting from nothing\";for(var t=e.length,r=null,i=\"\",s,n=0;!/[A-Z]/.test(s=e.charAt(n));){if(n>=2)throw\"MGRSPoint bad conversion from: \"+e;i+=s,n++}var o=parseInt(i,10);if(n===0||n+3>t)throw\"MGRSPoint bad conversion from: \"+e;var c=e.charAt(n++);if(c<=\"A\"||c===\"B\"||c===\"Y\"||c>=\"Z\"||c===\"I\"||c===\"O\")throw\"MGRSPoint zone letter \"+c+\" not handled: \"+e;r=e.substring(n,n+=2);for(var f=AY(o),_=Amt(r.charAt(0),f),w=mmt(r.charAt(1),f);w0&&(Q=1e5/Math.pow(10,R),et=e.substring(n,n+R),N=parseFloat(et)*Q,Y=e.substring(n+R),j=parseFloat(Y)*Q),K=N+_,J=j+w,{easting:K,northing:J,zoneLetter:c,zoneNumber:o,accuracy:Q}}function Amt(e,t){for(var r=fY.charCodeAt(t-1),i=1e5,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>mS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function mmt(e,t){if(e>\"V\")throw\"MGRSPoint given invalid Northing \"+e;for(var r=dY.charCodeAt(t-1),i=0,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>AS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function gmt(e){var t;switch(e){case\"C\":t=11e5;break;case\"D\":t=2e6;break;case\"E\":t=28e5;break;case\"F\":t=37e5;break;case\"G\":t=46e5;break;case\"H\":t=55e5;break;case\"J\":t=64e5;break;case\"K\":t=73e5;break;case\"L\":t=82e5;break;case\"M\":t=91e5;break;case\"N\":t=0;break;case\"P\":t=8e5;break;case\"Q\":t=17e5;break;case\"R\":t=26e5;break;case\"S\":t=35e5;break;case\"T\":t=44e5;break;case\"U\":t=53e5;break;case\"V\":t=62e5;break;case\"W\":t=7e6;break;case\"X\":t=79e5;break;default:t=-1}if(t>=0)return t;throw\"Invalid zone letter: \"+e}function hx(e,t,r){if(!(this instanceof hx))return new hx(e,t,r);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if(typeof e==\"object\")this.x=e.x,this.y=e.y,this.z=e.z||0;else if(typeof e==\"string\"&&typeof t>\"u\"){var i=e.split(\",\");this.x=parseFloat(i[0],10),this.y=parseFloat(i[1],10),this.z=parseFloat(i[2],10)||0}else this.x=e,this.y=t,this.z=r||0;console.warn(\"proj4.Point will be removed in version 3, use proj4.toPoint\")}hx.fromMGRS=function(e){return new hx(LB(e))};hx.prototype.toMGRS=function(e){return CB([this.x,this.y],e)};var gY=hx;var _mt=1,ymt=.25,_Y=.046875,yY=.01953125,vY=.01068115234375,vmt=.75,xmt=.46875,bmt=.013020833333333334,wmt=.007120768229166667,Smt=.3645833333333333,Tmt=.005696614583333333,Mmt=.3076171875;function hI(e){var t=[];t[0]=_mt-e*(ymt+e*(_Y+e*(yY+e*vY))),t[1]=e*(vmt-e*(_Y+e*(yY+e*vY)));var r=e*e;return t[2]=r*(xmt-e*(bmt+e*wmt)),r*=e,t[3]=r*(Smt-e*Tmt),t[4]=r*e*Mmt,t}function Xg(e,t,r,i){return r*=t,t*=t,i[0]*e-r*(i[1]+t*(i[2]+t*(i[3]+t*i[4])))}var Emt=20;function fI(e,t,r){for(var i=1/(1-t),s=e,n=Emt;n;--n){var o=Math.sin(s),c=1-t*o*o;if(c=(Xg(s,o,Math.cos(s),r)-e)*(c*Math.sqrt(c))*i,s-=c,Math.abs(c)Se?Math.tan(r):0,Q=Math.pow(j,2),et=Math.pow(Q,2);s=1-this.es*Math.pow(c,2),w=w/Math.sqrt(s);var Y=Xg(r,c,f,this.en);n=this.a*(this.k0*w*(1+I/6*(1-Q+R+I/20*(5-18*Q+et+14*R-58*Q*R+I/42*(61+179*et-et*Q-479*Q)))))+this.x0,o=this.a*(this.k0*(Y-this.ml0+c*i*w/2*(1+I/12*(5-Q+9*R+4*N+I/30*(61+et-58*Q+270*R-330*Q*R+I/56*(1385+543*et-et*Q-3111*Q))))))+this.y0}else{var _=f*Math.sin(i);if(Math.abs(Math.abs(_)-1)=1){if(_-1>Se)return 93;o=0}else o=Math.acos(o);r<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return e.x=n,e.y=o,e}function Cmt(e){var t,r,i,s,n=(e.x-this.x0)*(1/this.a),o=(e.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+o/this.k0,r=fI(t,this.es,this.en),Math.abs(r)Se?Math.tan(r):0,j=this.ep2*Math.pow(R,2),Q=Math.pow(j,2),et=Math.pow(N,2),Y=Math.pow(et,2);t=1-this.es*Math.pow(I,2);var K=n*Math.sqrt(t)/this.k0,J=Math.pow(K,2);t=t*N,i=r-t*J/(1-this.es)*.5*(1-J/12*(5+3*et-9*j*et+j-4*Q-J/30*(61+90*et-252*j*et+45*Y+46*j-J/56*(1385+3633*et+4095*Y+1574*Y*et)))),s=Ce(this.long0+K*(1-J/6*(1+2*et+j-J/20*(5+28*et+24*Y+8*j*et+6*j-J/42*(61+662*et+1320*Y+720*Y*et))))/R)}else i=de*pd(o),s=0;else{var c=Math.exp(n/this.k0),f=.5*(c-1/c),_=this.lat0+o/this.k0,w=Math.cos(_);t=Math.sqrt((1-Math.pow(w,2))/(1+Math.pow(f,2))),i=Math.asin(t),o<0&&(i=-i),f===0&&w===0?s=0:s=Ce(Math.atan2(f,w)+this.long0)}return e.x=s,e.y=i,e}var Lmt=[\"Fast_Transverse_Mercator\",\"Fast Transverse Mercator\"],fx={init:Pmt,forward:Imt,inverse:Cmt,names:Lmt};function dI(e){var t=Math.exp(e);return t=(t-1/t)/2,t}function Ta(e,t){e=Math.abs(e),t=Math.abs(t);var r=Math.max(e,t),i=Math.min(e,t)/(r||1);return r*Math.sqrt(1+Math.pow(i,2))}function xY(e){var t=1+e,r=t-1;return r===0?e:e*Math.log(t)/r}function bY(e){var t=Math.abs(e);return t=xY(t*(1+t/(Ta(1,t)+1))),e<0?-t:t}function pI(e,t){for(var r=2*Math.cos(2*t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return t+o*Math.sin(2*t)}function wY(e,t){for(var r=2*Math.cos(t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return Math.sin(t)*o}function SY(e){var t=Math.exp(e);return t=(t+1/t)/2,t}function RB(e,t,r){for(var i=Math.sin(t),s=Math.cos(t),n=dI(r),o=SY(r),c=2*s*o,f=-2*i*n,_=e.length-1,w=e[_],I=0,R=0,N=0,j,Q;--_>=0;)j=R,Q=I,R=w,I=N,w=-j+c*R-f*I+e[_],N=-Q+f*R+c*I;return c=i*o,f=s*n,[c*w-f*N,c*N+f*w]}function kmt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION[\"Fast_Transverse_Mercator\"] in the WKT.');this.approx&&(fx.init.apply(this),this.forward=fx.forward,this.inverse=fx.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),t=e/(2-e),r=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),r=r*t,this.cgb[1]=r*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=r*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),r=r*t,this.cgb[2]=r*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=r*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),r=r*t,this.cgb[3]=r*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=r*(1237/630+t*(-12/5+t*(-24832/14175))),r=r*t,this.cgb[4]=r*(4174/315+t*(-144838/6237)),this.cbg[4]=r*(-734/315+t*(109598/31185)),r=r*t,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=r*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=r*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),r=r*t,this.utg[2]=r*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=r*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),r=r*t,this.utg[3]=r*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=r*(49561/161280+t*(-179/168+t*(6601661/7257600))),r=r*t,this.utg[4]=r*(-4583/161280+t*(108847/3991680)),this.gtu[4]=r*(34729/80640+t*(-3418889/1995840)),r=r*t,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=r*(212378941/319334400);var i=pI(this.cbg,this.lat0);this.Zb=-this.Qn*(i+wY(this.gtu,2*i))}function Rmt(e){var t=Ce(e.x-this.long0),r=e.y;r=pI(this.cbg,r);var i=Math.sin(r),s=Math.cos(r),n=Math.sin(t),o=Math.cos(t);r=Math.atan2(i,o*s),t=Math.atan2(n*s,Ta(i,s*o)),t=bY(Math.tan(t));var c=RB(this.gtu,2*r,2*t);r=r+c[0],t=t+c[1];var f,_;return Math.abs(t)<=2.623395162778?(f=this.a*(this.Qn*t)+this.x0,_=this.a*(this.Qn*r+this.Zb)+this.y0):(f=1/0,_=1/0),e.x=f,e.y=_,e}function Dmt(e){var t=(e.x-this.x0)*(1/this.a),r=(e.y-this.y0)*(1/this.a);r=(r-this.Zb)/this.Qn,t=t/this.Qn;var i,s;if(Math.abs(t)<=2.623395162778){var n=RB(this.utg,2*r,2*t);r=r+n[0],t=t+n[1],t=Math.atan(dI(t));var o=Math.sin(r),c=Math.cos(r),f=Math.sin(t),_=Math.cos(t);r=Math.atan2(o*_,Ta(f,_*c)),t=Math.atan2(f,_*c),i=Ce(t+this.long0),s=pI(this.cgb,r)}else i=1/0,s=1/0;return e.x=i,e.y=s,e}var Omt=[\"Extended_Transverse_Mercator\",\"Extended Transverse Mercator\",\"etmerc\",\"Transverse_Mercator\",\"Transverse Mercator\",\"Gauss Kruger\",\"Gauss_Kruger\",\"tmerc\"],dx={init:kmt,forward:Rmt,inverse:Dmt,names:Omt};function TY(e,t){if(e===void 0){if(e=Math.floor((Ce(t)+Math.PI)*30/Math.PI)+1,e<0)return 0;if(e>60)return 60}return e}var Bmt=\"etmerc\";function Fmt(){var e=TY(this.zone,this.long0);if(e===void 0)throw new Error(\"unknown utm zone\");this.lat0=0,this.long0=(6*Math.abs(e)-183)*vs,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,dx.init.apply(this),this.forward=dx.forward,this.inverse=dx.inverse}var zmt=[\"Universal Transverse Mercator System\",\"utm\"],MY={init:Fmt,names:zmt,dependsOn:Bmt};function AI(e,t){return Math.pow((1-e)/(1+e),t)}var Nmt=20;function Umt(){var e=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Ui)/(Math.pow(Math.tan(.5*this.lat0+Ui),this.C)*AI(this.e*e,this.ratexp))}function Vmt(e){var t=e.x,r=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Ui),this.C)*AI(this.e*Math.sin(r),this.ratexp))-de,e.x=this.C*t,e}function jmt(e){for(var t=1e-14,r=e.x/this.C,i=e.y,s=Math.pow(Math.tan(.5*i+Ui)/this.K,1/this.C),n=Nmt;n>0&&(i=2*Math.atan(s*AI(this.e*Math.sin(e.y),-.5*this.e))-de,!(Math.abs(i-e.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Se&&Math.abs(Math.cos(this.lat_ts))>Se&&(this.k0=.5*this.cons*ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Dl(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ol(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-de,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function $mt(e){var t=e.x,r=e.y,i=Math.sin(r),s=Math.cos(r),n,o,c,f,_,w,I=Ce(t-this.long0);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=Se&&Math.abs(r+this.lat0)<=Se?(e.x=NaN,e.y=NaN,e):this.sphere?(n=2*this.k0/(1+this.sinlat0*i+this.coslat0*s*Math.cos(I)),e.x=this.a*n*s*Math.sin(I)+this.x0,e.y=this.a*n*(this.coslat0*i-this.sinlat0*s*Math.cos(I))+this.y0,e):(o=2*Math.atan(this.ssfn_(r,i,this.e))-de,f=Math.cos(o),c=Math.sin(o),Math.abs(this.coslat0)<=Se?(_=Dl(this.e,r*this.con,this.con*i),w=2*this.a*this.k0*_/this.cons,e.x=this.x0+w*Math.sin(t-this.long0),e.y=this.y0-this.con*w*Math.cos(t-this.long0),e):(Math.abs(this.sinlat0)0?t=Ce(this.long0+Math.atan2(e.x,-1*e.y)):t=Ce(this.long0+Math.atan2(e.x,e.y)):t=Ce(this.long0+Math.atan2(e.x*Math.sin(c),o*this.coslat0*Math.cos(c)-e.y*this.sinlat0*Math.sin(c))),e.x=t,e.y=r,e)}else if(Math.abs(this.coslat0)<=Se){if(o<=Se)return r=this.lat0,t=this.long0,e.x=t,e.y=r,e;e.x*=this.con,e.y*=this.con,i=o*this.cons/(2*this.a*this.k0),r=this.con*Lp(this.e,i),t=this.con*Ce(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else s=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,o<=Se?n=this.X0:(n=Math.asin(Math.cos(s)*this.sinX0+e.y*Math.sin(s)*this.cosX0/o),t=Ce(this.long0+Math.atan2(e.x*Math.sin(s),o*this.cosX0*Math.cos(s)-e.y*this.sinX0*Math.sin(s)))),r=-1*Lp(this.e,Math.tan(.5*(de+n)));return e.x=t,e.y=r,e}var Kmt=[\"stere\",\"Stereographic_South_Pole\",\"Polar Stereographic (variant B)\",\"Polar_Stereographic\"],PY={init:Qmt,forward:$mt,inverse:Xmt,names:Kmt,ssfn_:Ymt};function Jmt(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e),r=this.a,i=this.rf,s=1/i,n=2*s-Math.pow(s,2),o=this.e=Math.sqrt(n);this.R=this.k0*r*Math.sqrt(1-n)/(1-n*Math.pow(t,2)),this.alpha=Math.sqrt(1+n/(1-n)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(t/this.alpha);var c=Math.log(Math.tan(Math.PI/4+this.b0/2)),f=Math.log(Math.tan(Math.PI/4+e/2)),_=Math.log((1+o*t)/(1-o*t));this.K=c-this.alpha*f+this.alpha*o/2*_}function t0t(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),i=-this.alpha*(t+r)+this.K,s=2*(Math.atan(Math.exp(i))-Math.PI/4),n=this.alpha*(e.x-this.lambda0),o=Math.atan(Math.sin(n)/(Math.sin(this.b0)*Math.tan(s)+Math.cos(this.b0)*Math.cos(n))),c=Math.asin(Math.cos(this.b0)*Math.sin(s)-Math.sin(this.b0)*Math.cos(s)*Math.cos(n));return e.y=this.R/2*Math.log((1+Math.sin(c))/(1-Math.sin(c)))+this.y0,e.x=this.R*o+this.x0,e}function e0t(e){for(var t=e.x-this.x0,r=e.y-this.y0,i=t/this.R,s=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),n=Math.asin(Math.cos(this.b0)*Math.sin(s)+Math.sin(this.b0)*Math.cos(s)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(s))),c=this.lambda0+o/this.alpha,f=0,_=n,w=-1e3,I=0;Math.abs(_-w)>1e-7;){if(++I>20)return;f=1/this.alpha*(Math.log(Math.tan(Math.PI/4+n/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(_))/2)),w=_,_=2*Math.atan(Math.exp(f))-Math.PI/2}return e.x=c,e.y=_,e}var r0t=[\"somerc\"],IY={init:Jmt,forward:t0t,inverse:e0t,names:r0t};var px=1e-7;function i0t(e){var t=[\"Hotine_Oblique_Mercator\",\"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\"],r=typeof e.PROJECTION==\"object\"?Object.keys(e.PROJECTION)[0]:e.PROJECTION;return\"no_uoff\"in e||\"no_off\"in e||t.indexOf(r)!==-1}function n0t(){var e,t,r,i,s,n,o,c,f,_,w=0,I,R=0,N=0,j=0,Q=0,et=0,Y=0,K;this.no_off=i0t(this),this.no_rot=\"no_rot\"in this;var J=!1;\"alpha\"in this&&(J=!0);var ut=!1;if(\"rectified_grid_angle\"in this&&(ut=!0),J&&(Y=this.alpha),ut&&(w=this.rectified_grid_angle*vs),J||ut)R=this.longc;else if(N=this.long1,Q=this.lat1,j=this.long2,et=this.lat2,Math.abs(Q-et)<=px||(e=Math.abs(Q))<=px||Math.abs(e-de)<=px||Math.abs(Math.abs(this.lat0)-de)<=px||Math.abs(Math.abs(et)-de)<=px)throw new Error;var Et=1-this.es;t=Math.sqrt(Et),Math.abs(this.lat0)>Se?(c=Math.sin(this.lat0),r=Math.cos(this.lat0),e=1-this.es*c*c,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/Et),this.A=this.B*this.k0*t/e,i=this.B*t/(r*Math.sqrt(e)),s=i*i-1,s<=0?s=0:(s=Math.sqrt(s),this.lat0<0&&(s=-s)),this.E=s+=i,this.E*=Math.pow(Dl(this.e,this.lat0,c),this.B)):(this.B=1/t,this.A=this.k0,this.E=i=s=1),J||ut?(J?(I=Math.asin(Math.sin(Y)/i),ut||(w=Y)):(I=w,Y=Math.asin(i*Math.sin(I))),this.lam0=R-Math.asin(.5*(s-1/s)*Math.tan(I))/this.B):(n=Math.pow(Dl(this.e,Q,Math.sin(Q)),this.B),o=Math.pow(Dl(this.e,et,Math.sin(et)),this.B),s=this.E/n,f=(o-n)/(o+n),_=this.E*this.E,_=(_-o*n)/(_+o*n),e=N-j,e<-Math.pi?j-=Em:e>Math.pi&&(j+=Em),this.lam0=Ce(.5*(N+j)-Math.atan(_*Math.tan(.5*this.B*(N-j))/f)/this.B),I=Math.atan(2*Math.sin(this.B*Ce(N-this.lam0))/(s-1/s)),w=Y=Math.asin(i*Math.sin(I))),this.singam=Math.sin(I),this.cosgam=Math.cos(I),this.sinrot=Math.sin(w),this.cosrot=Math.cos(w),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,K=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(Y))),this.lat0<0&&(this.u_0=-this.u_0)),s=.5*I,this.v_pole_n=this.ArB*Math.log(Math.tan(Ui-s)),this.v_pole_s=this.ArB*Math.log(Math.tan(Ui+s))}function s0t(e){var t={},r,i,s,n,o,c,f,_;if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-de)>Se){if(o=this.E/Math.pow(Dl(this.e,e.y,Math.sin(e.y)),this.B),c=1/o,r=.5*(o-c),i=.5*(o+c),n=Math.sin(this.B*e.x),s=(r*this.singam-n*this.cosgam)/i,Math.abs(Math.abs(s)-1)0?this.v_pole_n:this.v_pole_s,f=this.ArB*e.y;return this.no_rot?(t.x=f,t.y=_):(f-=this.u_0,t.x=_*this.cosrot+f*this.sinrot,t.y=f*this.cosrot-_*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function o0t(e){var t,r,i,s,n,o,c,f={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(r=e.y,t=e.x):(r=e.x*this.cosrot-e.y*this.sinrot,t=e.y*this.cosrot+e.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*r),s=.5*(i-1/i),n=.5*(i+1/i),o=Math.sin(this.BrA*t),c=(o*this.cosgam+s*this.singam)/n,Math.abs(Math.abs(c)-1)Se?this.ns=Math.log(i/c)/Math.log(s/f):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=i/(this.ns*Math.pow(s,this.ns)),this.rh=this.a*this.f0*Math.pow(_,this.ns),this.title||(this.title=\"Lambert Conformal Conic\")}}function c0t(e){var t=e.x,r=e.y;Math.abs(2*Math.abs(r)-Math.PI)<=Se&&(r=pd(r)*(de-2*Se));var i=Math.abs(Math.abs(r)-de),s,n;if(i>Se)s=Dl(this.e,r,Math.sin(r)),n=this.a*this.f0*Math.pow(s,this.ns);else{if(i=r*this.ns,i<=0)return null;n=0}var o=this.ns*Ce(t-this.long0);return e.x=this.k0*(n*Math.sin(o))+this.x0,e.y=this.k0*(this.rh-n*Math.cos(o))+this.y0,e}function u0t(e){var t,r,i,s,n,o=(e.x-this.x0)/this.k0,c=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(o*o+c*c),r=1):(t=-Math.sqrt(o*o+c*c),r=-1);var f=0;if(t!==0&&(f=Math.atan2(r*o,r*c)),t!==0||this.ns>0){if(r=1/this.ns,i=Math.pow(t/(this.a*this.f0),r),s=Lp(this.e,i),s===-9999)return null}else s=-de;return n=Ce(f/this.ns+this.long0),e.x=n,e.y=s,e}var h0t=[\"Lambert Tangential Conformal Conic Projection\",\"Lambert_Conformal_Conic\",\"Lambert_Conformal_Conic_1SP\",\"Lambert_Conformal_Conic_2SP\",\"lcc\",\"Lambert Conic Conformal (1SP)\",\"Lambert Conic Conformal (2SP)\"],LY={init:l0t,forward:c0t,inverse:u0t,names:h0t};function f0t(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function d0t(e){var t,r,i,s,n,o,c,f=e.x,_=e.y,w=Ce(f-this.long0);return t=Math.pow((1+this.e*Math.sin(_))/(1-this.e*Math.sin(_)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(_/2+this.s45),this.alfa)/t)-this.s45),i=-w*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(s)),o=this.n*n,c=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(s/2+this.s45),this.n),e.y=c*Math.cos(o)/1,e.x=c*Math.sin(o)/1,this.czech||(e.y*=-1,e.x*=-1),e}function p0t(e){var t,r,i,s,n,o,c,f,_=e.x;e.x=e.y,e.y=_,this.czech||(e.y*=-1,e.x*=-1),o=Math.sqrt(e.x*e.x+e.y*e.y),n=Math.atan2(e.y,e.x),s=n/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(s)),r=Math.asin(Math.cos(i)*Math.sin(s)/Math.cos(t)),e.x=this.long0-r/this.alfa,c=t,f=0;var w=0;do e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(c))/(1-this.e*Math.sin(c)),this.e/2))-this.s45),Math.abs(c-e.y)<1e-10&&(f=1),c=e.y,w+=1;while(f===0&&w<15);return w>=15?null:e}var A0t=[\"Krovak\",\"krovak\"],kY={init:f0t,forward:d0t,inverse:p0t,names:A0t};function zo(e,t,r,i,s){return e*s-t*Math.sin(2*s)+r*Math.sin(4*s)-i*Math.sin(6*s)}function kp(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function Rp(e){return .375*e*(1+.25*e*(1+.46875*e))}function Dp(e){return .05859375*e*e*(1+.75*e)}function Op(e){return e*e*e*(35/3072)}function Bp(e,t,r){var i=t*r;return e/Math.sqrt(1-i*i)}function ff(e){return Math.abs(e)1e-7?(r=e*t,(1-e*e)*(t/(1-r*r)-.5/e*Math.log((1-r)/(1+r)))):2*t}var v0t=1,x0t=2,b0t=3,w0t=4;function S0t(){var e=Math.abs(this.lat0);if(Math.abs(e-de)0){var t;switch(this.qp=df(this.e,1),this.mmf=.5/(1-this.es),this.apa=R0t(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=df(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function T0t(e){var t,r,i,s,n,o,c,f,_,w,I=e.x,R=e.y;if(I=Ce(I-this.long0),this.sphere){if(n=Math.sin(R),w=Math.cos(R),i=Math.cos(I),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(r=this.mode===this.EQUIT?1+w*i:1+this.sinph0*n+this.cosph0*w*i,r<=Se)return null;r=Math.sqrt(2/r),t=r*w*Math.sin(I),r*=this.mode===this.EQUIT?n:this.cosph0*n-this.sinph0*w*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(R+this.lat0)=0?(t=(_=Math.sqrt(o))*s,r=i*(this.mode===this.S_POLE?_:-_)):t=r=0;break}}return e.x=this.a*t+this.x0,e.y=this.a*r+this.y0,e}function M0t(e){e.x-=this.x0,e.y-=this.y0;var t=e.x/this.a,r=e.y/this.a,i,s,n,o,c,f,_;if(this.sphere){var w=0,I,R=0;if(I=Math.sqrt(t*t+r*r),s=I*.5,s>1)return null;switch(s=2*Math.asin(s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(R=Math.sin(s),w=Math.cos(s)),this.mode){case this.EQUIT:s=Math.abs(I)<=Se?0:Math.asin(r*R/I),t*=R,r=w*I;break;case this.OBLIQ:s=Math.abs(I)<=Se?this.lat0:Math.asin(w*this.sinph0+r*R*this.cosph0/I),t*=R*this.cosph0,r=(w-Math.sin(s)*this.sinph0)*I;break;case this.N_POLE:r=-r,s=de-s;break;case this.S_POLE:s-=de;break}i=r===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,r)}else{if(_=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,r*=this.dd,f=Math.sqrt(t*t+r*r),f1&&(e=e>1?1:-1),Math.asin(e)}function B0t(){Math.abs(this.lat1+this.lat2)Se?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function F0t(e){var t=e.x,r=e.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var i=df(this.e3,this.sin_phi),s=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,n=this.ns0*Ce(t-this.long0),o=s*Math.sin(n)+this.x0,c=this.rh-s*Math.cos(n)+this.y0;return e.x=o,e.y=c,e}function z0t(e){var t,r,i,s,n,o;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),i=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),i=-1),s=0,t!==0&&(s=Math.atan2(i*e.x,i*e.y)),i=t*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(r=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,r)),n=Ce(s/this.ns0+this.long0),e.x=n,e.y=o,e}function N0t(e,t){var r,i,s,n,o,c=Ec(.5*t);if(e0||Math.abs(o)<=Se?(c=this.x0+this.a*n*r*Math.sin(i)/o,f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)/o):(c=this.x0+this.infinity_dist*r*Math.sin(i),f=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function G0t(e){var t,r,i,s,n,o;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(t=Math.sqrt(e.x*e.x+e.y*e.y))?(s=Math.atan2(t,this.rc),r=Math.sin(s),i=Math.cos(s),o=Ec(i*this.sin_p14+e.y*r*this.cos_p14/t),n=Math.atan2(e.x*r,t*this.cos_p14*i-e.y*this.sin_p14*r),n=Ce(this.long0+n)):(o=this.phic0,n=0),e.x=n,e.y=o,e}var W0t=[\"gnom\"],BY={init:V0t,forward:j0t,inverse:G0t,names:W0t};function FY(e,t){var r=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-r)<1e-6)return t<0?-1*de:de;for(var i=Math.asin(.5*t),s,n,o,c,f=0;f<30;f++)if(n=Math.sin(i),o=Math.cos(i),c=e*n,s=Math.pow(1-c*c,2)/(2*o)*(t/(1-e*e)-n/(1-c*c)+.5/e*Math.log((1-c)/(1+c))),i+=s,Math.abs(s)<=1e-10)return i;return NaN}function H0t(){this.sphere||(this.k0=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function q0t(e){var t=e.x,r=e.y,i,s,n=Ce(t-this.long0);if(this.sphere)i=this.x0+this.a*n*Math.cos(this.lat_ts),s=this.y0+this.a*Math.sin(r)/Math.cos(this.lat_ts);else{var o=df(this.e,Math.sin(r));i=this.x0+this.a*this.k0*n,s=this.y0+this.a*o*.5/this.k0}return e.x=i,e.y=s,e}function Z0t(e){e.x-=this.x0,e.y-=this.y0;var t,r;return this.sphere?(t=Ce(this.long0+e.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(r=FY(this.e,2*e.y*this.k0/this.a),t=Ce(this.long0+e.x/(this.a*this.k0))),e.x=t,e.y=r,e}var Y0t=[\"cea\"],zY={init:H0t,forward:q0t,inverse:Z0t,names:Y0t};function Q0t(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Equidistant Cylindrical (Plate Carre)\",this.rc=Math.cos(this.lat_ts)}function $0t(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s=ff(r-this.lat0);return e.x=this.x0+this.a*i*this.rc,e.y=this.y0+this.a*s,e}function X0t(e){var t=e.x,r=e.y;return e.x=Ce(this.long0+(t-this.x0)/(this.a*this.rc)),e.y=ff(this.lat0+(r-this.y0)/this.a),e}var K0t=[\"Equirectangular\",\"Equidistant_Cylindrical\",\"eqc\"],NY={init:Q0t,forward:$0t,inverse:X0t,names:K0t};var UY=20;function J0t(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=kp(this.es),this.e1=Rp(this.es),this.e2=Dp(this.es),this.e3=Op(this.es),this.ml0=this.a*zo(this.e0,this.e1,this.e2,this.e3,this.lat0)}function tgt(e){var t=e.x,r=e.y,i,s,n,o=Ce(t-this.long0);if(n=o*Math.sin(r),this.sphere)Math.abs(r)<=Se?(i=this.a*o,s=-1*this.a*this.lat0):(i=this.a*Math.sin(n)/Math.tan(r),s=this.a*(ff(r-this.lat0)+(1-Math.cos(n))/Math.tan(r)));else if(Math.abs(r)<=Se)i=this.a*o,s=-1*this.ml0;else{var c=Bp(this.a,this.e,Math.sin(r))/Math.tan(r);i=c*Math.sin(n),s=this.a*zo(this.e0,this.e1,this.e2,this.e3,r)-this.ml0+c*(1-Math.cos(n))}return e.x=i+this.x0,e.y=s+this.y0,e}function egt(e){var t,r,i,s,n,o,c,f,_;if(i=e.x-this.x0,s=e.y-this.y0,this.sphere)if(Math.abs(s+this.a*this.lat0)<=Se)t=Ce(i/this.a+this.long0),r=0;else{o=this.lat0+s/this.a,c=i*i/this.a/this.a+o*o,f=o;var w;for(n=UY;n;--n)if(w=Math.tan(f),_=-1*(o*(f*w+1)-f-.5*(f*f+c)*w)/((f-o)/w-1),f+=_,Math.abs(_)<=Se){r=f;break}t=Ce(this.long0+Math.asin(i*Math.tan(f)/this.a)/Math.sin(r))}else if(Math.abs(s+this.ml0)<=Se)r=0,t=Ce(this.long0+i/this.a);else{o=(this.ml0+s)/this.a,c=i*i/this.a/this.a+o*o,f=o;var I,R,N,j,Q;for(n=UY;n;--n)if(Q=this.e*Math.sin(f),I=Math.sqrt(1-Q*Q)*Math.tan(f),R=this.a*zo(this.e0,this.e1,this.e2,this.e3,f),N=this.e0-2*this.e1*Math.cos(2*f)+4*this.e2*Math.cos(4*f)-6*this.e3*Math.cos(6*f),j=R/this.a,_=(o*(I*j+1)-j-.5*I*(j*j+c))/(this.es*Math.sin(2*f)*(j*j+c-2*o*j)/(4*I)+(o-j)*(I*N-2/Math.sin(2*f))-N),f-=_,Math.abs(_)<=Se){r=f;break}I=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),t=Ce(this.long0+Math.asin(i*I/this.a)/Math.sin(r))}return e.x=t,e.y=r,e}var rgt=[\"Polyconic\",\"poly\"],VY={init:J0t,forward:tgt,inverse:egt,names:rgt};function igt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function ngt(e){var t,r=e.x,i=e.y,s=i-this.lat0,n=r-this.long0,o=s/Yg*1e-5,c=n,f=1,_=0;for(t=1;t<=10;t++)f=f*o,_=_+this.A[t]*f;var w=_,I=c,R=1,N=0,j,Q,et=0,Y=0;for(t=1;t<=6;t++)j=R*w-N*I,Q=N*w+R*I,R=j,N=Q,et=et+this.B_re[t]*R-this.B_im[t]*N,Y=Y+this.B_im[t]*R+this.B_re[t]*N;return e.x=Y*this.a+this.x0,e.y=et*this.a+this.y0,e}function sgt(e){var t,r=e.x,i=e.y,s=r-this.x0,n=i-this.y0,o=n/this.a,c=s/this.a,f=1,_=0,w,I,R=0,N=0;for(t=1;t<=6;t++)w=f*o-_*c,I=_*o+f*c,f=w,_=I,R=R+this.C_re[t]*f-this.C_im[t]*_,N=N+this.C_im[t]*f+this.C_re[t]*_;for(var j=0;j.999999999999&&(r=.999999999999),t=Math.asin(r);var i=Ce(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),r=(2*t+Math.sin(2*t))/Math.PI,Math.abs(r)>1&&(r=1);var s=Math.asin(r);return e.x=i,e.y=s,e}var ygt=[\"Mollweide\",\"moll\"],HY={init:mgt,forward:ggt,inverse:_gt,names:ygt};function vgt(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(e.x*e.x+e.y*e.y),t=1):(r=-Math.sqrt(e.x*e.x+e.y*e.y),t=-1);var n=0;if(r!==0&&(n=Math.atan2(t*e.x,t*e.y)),this.sphere)return s=Ce(this.long0+n/this.ns),i=ff(this.g-r/this.a),e.x=s,e.y=i,e;var o=this.g-r/this.a;return i=Kg(o,this.e0,this.e1,this.e2,this.e3),s=Ce(this.long0+n/this.ns),e.x=s,e.y=i,e}var wgt=[\"Equidistant_Conic\",\"eqdc\"],qY={init:vgt,forward:xgt,inverse:bgt,names:wgt};function Sgt(){this.R=this.a}function Tgt(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s,n;Math.abs(r)<=Se&&(s=this.x0+this.R*i,n=this.y0);var o=Ec(2*Math.abs(r/Math.PI));(Math.abs(i)<=Se||Math.abs(Math.abs(r)-de)<=Se)&&(s=this.x0,r>=0?n=this.y0+Math.PI*this.R*Math.tan(.5*o):n=this.y0+Math.PI*this.R*-Math.tan(.5*o));var c=.5*Math.abs(Math.PI/i-i/Math.PI),f=c*c,_=Math.sin(o),w=Math.cos(o),I=w/(_+w-1),R=I*I,N=I*(2/_-1),j=N*N,Q=Math.PI*this.R*(c*(I-j)+Math.sqrt(f*(I-j)*(I-j)-(j+f)*(R-j)))/(j+f);i<0&&(Q=-Q),s=this.x0+Q;var et=f+I;return Q=Math.PI*this.R*(N*et-c*Math.sqrt((j+f)*(f+1)-et*et))/(j+f),r>=0?n=this.y0+Q:n=this.y0-Q,e.x=s,e.y=n,e}function Mgt(e){var t,r,i,s,n,o,c,f,_,w,I,R,N;return e.x-=this.x0,e.y-=this.y0,I=Math.PI*this.R,i=e.x/I,s=e.y/I,n=i*i+s*s,o=-Math.abs(s)*(1+n),c=o-2*s*s+i*i,f=-2*o+1+2*s*s+n*n,N=s*s/f+(2*c*c*c/f/f/f-9*o*c/f/f)/27,_=(o-c*c/3/f)/f,w=2*Math.sqrt(-_/3),I=3*N/_/w,Math.abs(I)>1&&(I>=0?I=1:I=-1),R=Math.acos(I)/3,e.y>=0?r=(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI:r=-(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI,Math.abs(i)2*de*this.a?void 0:(r=t/this.a,i=Math.sin(r),s=Math.cos(r),n=this.long0,Math.abs(t)<=Se?o=this.lat0:(o=Ec(s*this.sin_p12+e.y*i*this.cos_p12/t),c=Math.abs(this.lat0)-de,Math.abs(c)<=Se?this.lat0>=0?n=Ce(this.long0+Math.atan2(e.x,-e.y)):n=Ce(this.long0-Math.atan2(-e.x,e.y)):n=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p12*s-e.y*this.sin_p12*i))),e.x=n,e.y=o,e)):(f=kp(this.es),_=Rp(this.es),w=Dp(this.es),I=Op(this.es),Math.abs(this.sin_p12-1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=R-t,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,-1*e.y)),e.x=n,e.y=o,e):Math.abs(this.sin_p12+1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=t-R,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,e.y)),e.x=n,e.y=o,e):(t=Math.sqrt(e.x*e.x+e.y*e.y),et=Math.atan2(e.x,e.y),j=Bp(this.a,this.e,this.sin_p12),Y=Math.cos(et),K=this.e*this.cos_p12*Y,J=-K*K/(1-this.es),ut=3*this.es*(1-J)*this.sin_p12*this.cos_p12*Y/(1-this.es),Et=t/j,kt=Et-J*(1+J)*Math.pow(Et,3)/6-ut*(1+3*J)*Math.pow(Et,4)/24,Xt=1-J*kt*kt/2-Et*kt*kt*kt/6,Q=Math.asin(this.sin_p12*Math.cos(kt)+this.cos_p12*Math.sin(kt)*Y),n=Ce(this.long0+Math.asin(Math.sin(et)*Math.sin(kt)/Math.cos(Q))),qt=Math.sin(Q),o=Math.atan2((qt-this.es*Xt*this.sin_p12)*Math.tan(Q),qt*(1-this.es)),e.x=n,e.y=o,e))}var Lgt=[\"Azimuthal_Equidistant\",\"aeqd\"],YY={init:Pgt,forward:Igt,inverse:Cgt,names:Lgt};function kgt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function Rgt(e){var t,r,i,s,n,o,c,f,_=e.x,w=e.y;return i=Ce(_-this.long0),t=Math.sin(w),r=Math.cos(w),s=Math.cos(i),o=this.sin_p14*t+this.cos_p14*r*s,n=1,(o>0||Math.abs(o)<=Se)&&(c=this.a*n*r*Math.sin(i),f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function Dgt(e){var t,r,i,s,n,o,c;return e.x-=this.x0,e.y-=this.y0,t=Math.sqrt(e.x*e.x+e.y*e.y),r=Ec(t/this.a),i=Math.sin(r),s=Math.cos(r),o=this.long0,Math.abs(t)<=Se?(c=this.lat0,e.x=o,e.y=c,e):(c=Ec(s*this.sin_p14+e.y*i*this.cos_p14/t),n=Math.abs(this.lat0)-de,Math.abs(n)<=Se?(this.lat0>=0?o=Ce(this.long0+Math.atan2(e.x,-e.y)):o=Ce(this.long0-Math.atan2(-e.x,e.y)),e.x=o,e.y=c,e):(o=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p14*s-e.y*this.sin_p14*i)),e.x=o,e.y=c,e))}var Ogt=[\"ortho\"],QY={init:kgt,forward:Rgt,inverse:Dgt,names:Ogt};var bs={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},An={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Bgt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Quadrilateralized Spherical Cube\",this.lat0>=de-Ui/2?this.face=bs.TOP:this.lat0<=-(de-Ui/2)?this.face=bs.BOTTOM:Math.abs(this.long0)<=Ui?this.face=bs.FRONT:Math.abs(this.long0)<=de+Ui?this.face=this.long0>0?bs.RIGHT:bs.LEFT:this.face=bs.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Fgt(e){var t={x:0,y:0},r,i,s,n,o,c,f={value:0};if(e.x-=this.long0,this.es!==0?r=Math.atan(this.one_minus_f_squared*Math.tan(e.y)):r=e.y,i=e.x,this.face===bs.TOP)n=de-r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=i-de):i>de+Ui||i<=-(de+Ui)?(f.value=An.AREA_1,s=i>0?i-xs:i+xs):i>-(de+Ui)&&i<=-Ui?(f.value=An.AREA_2,s=i+de):(f.value=An.AREA_3,s=i);else if(this.face===bs.BOTTOM)n=de+r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=-i+de):i=-Ui?(f.value=An.AREA_1,s=-i):i<-Ui&&i>=-(de+Ui)?(f.value=An.AREA_2,s=-i-de):(f.value=An.AREA_3,s=i>0?-i+xs:-i-xs);else{var _,w,I,R,N,j,Q;this.face===bs.RIGHT?i=Ax(i,+de):this.face===bs.BACK?i=Ax(i,+xs):this.face===bs.LEFT&&(i=Ax(i,-de)),R=Math.sin(r),N=Math.cos(r),j=Math.sin(i),Q=Math.cos(i),_=N*Q,w=N*j,I=R,this.face===bs.FRONT?(n=Math.acos(_),s=gI(n,I,w,f)):this.face===bs.RIGHT?(n=Math.acos(w),s=gI(n,I,-_,f)):this.face===bs.BACK?(n=Math.acos(-_),s=gI(n,I,-w,f)):this.face===bs.LEFT?(n=Math.acos(-w),s=gI(n,I,_,f)):(n=s=0,f.value=An.AREA_0)}return c=Math.atan(12/xs*(s+Math.acos(Math.sin(s)*Math.cos(Ui))-de)),o=Math.sqrt((1-Math.cos(n))/(Math.cos(c)*Math.cos(c))/(1-Math.cos(Math.atan(1/Math.cos(s))))),f.value===An.AREA_1?c+=de:f.value===An.AREA_2?c+=xs:f.value===An.AREA_3&&(c+=1.5*xs),t.x=o*Math.cos(c),t.y=o*Math.sin(c),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,e.x=t.x,e.y=t.y,e}function zgt(e){var t={lam:0,phi:0},r,i,s,n,o,c,f,_,w,I={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,i=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),r=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?I.value=An.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(I.value=An.AREA_1,r-=de):e.x<0&&-e.x>=Math.abs(e.y)?(I.value=An.AREA_2,r=r<0?r+xs:r-xs):(I.value=An.AREA_3,r+=de),w=xs/12*Math.tan(r),o=Math.sin(w)/(Math.cos(w)-1/Math.sqrt(2)),c=Math.atan(o),s=Math.cos(r),n=Math.tan(i),f=1-s*s*n*n*(1-Math.cos(Math.atan(1/Math.cos(c)))),f<-1?f=-1:f>1&&(f=1),this.face===bs.TOP)_=Math.acos(f),t.phi=de-_,I.value===An.AREA_0?t.lam=c+de:I.value===An.AREA_1?t.lam=c<0?c+xs:c-xs:I.value===An.AREA_2?t.lam=c-de:t.lam=c;else if(this.face===bs.BOTTOM)_=Math.acos(f),t.phi=_-de,I.value===An.AREA_0?t.lam=-c+de:I.value===An.AREA_1?t.lam=-c:I.value===An.AREA_2?t.lam=-c-de:t.lam=c<0?-c-xs:-c+xs;else{var R,N,j;R=f,w=R*R,w>=1?j=0:j=Math.sqrt(1-w)*Math.sin(c),w+=j*j,w>=1?N=0:N=Math.sqrt(1-w),I.value===An.AREA_1?(w=N,N=-j,j=w):I.value===An.AREA_2?(N=-N,j=-j):I.value===An.AREA_3&&(w=N,N=j,j=-w),this.face===bs.RIGHT?(w=R,R=-N,N=w):this.face===bs.BACK?(R=-R,N=-N):this.face===bs.LEFT&&(w=R,R=N,N=-w),t.phi=Math.acos(-j)-de,t.lam=Math.atan2(N,R),this.face===bs.RIGHT?t.lam=Ax(t.lam,-de):this.face===bs.BACK?t.lam=Ax(t.lam,-xs):this.face===bs.LEFT&&(t.lam=Ax(t.lam,+de))}if(this.es!==0){var Q,et,Y;Q=t.phi<0?1:0,et=Math.tan(t.phi),Y=this.b/Math.sqrt(et*et+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-Y*Y)/(this.one_minus_f*Y)),Q&&(t.phi=-t.phi)}return t.lam+=this.long0,e.x=t.lam,e.y=t.phi,e}function gI(e,t,r,i){var s;return eUi&&s<=de+Ui?(i.value=An.AREA_1,s-=de):s>de+Ui||s<=-(de+Ui)?(i.value=An.AREA_2,s=s>=0?s-xs:s+xs):(i.value=An.AREA_3,s+=de)),s}function Ax(e,t){var r=e+t;return r<-xs?r+=Em:r>+xs&&(r-=Em),r}var Ngt=[\"Quadrilateralized Spherical Cube\",\"Quadrilateralized_Spherical_Cube\",\"qsc\"],$Y={init:Bgt,forward:Fgt,inverse:zgt,names:Ngt};var DB=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],gS=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],XY=.8487,KY=1.3523,JY=Sc/5,Ugt=1/JY,mx=18,_I=function(e,t){return e[0]+t*(e[1]+t*(e[2]+t*e[3]))},Vgt=function(e,t){return e[1]+t*(2*e[2]+t*3*e[3])};function jgt(e,t,r,i){for(var s=t;i;--i){var n=e(s);if(s-=n,Math.abs(n)=mx&&(i=mx-1),r=Sc*(r-Ugt*i);var s={x:_I(DB[i],r)*t,y:_I(gS[i],r)};return e.y<0&&(s.y=-s.y),s.x=s.x*this.a*XY+this.x0,s.y=s.y*this.a*KY+this.y0,s}function Hgt(e){var t={x:(e.x-this.x0)/(this.a*XY),y:Math.abs(e.y-this.y0)/(this.a*KY)};if(t.y>=1)t.x/=DB[mx][0],t.y=e.y<0?-de:de;else{var r=Math.floor(t.y*mx);for(r<0?r=0:r>=mx&&(r=mx-1);;)if(gS[r][0]>t.y)--r;else if(gS[r+1][0]<=t.y)++r;else break;var i=gS[r],s=5*(t.y-i[0])/(gS[r+1][0]-i[0]);s=jgt(function(n){return(_I(i,n)-t.y)/Vgt(i,n)},s,Se,100),t.x/=_I(DB[r],s),t.y=(5*r+s)*vs,e.y<0&&(t.y=-t.y)}return t.x=Ce(t.x+this.long0),t}var qgt=[\"Robinson\",\"robin\"],tQ={init:Ggt,forward:Wgt,inverse:Hgt,names:qgt};function Zgt(){this.name=\"geocent\"}function Ygt(e){var t=aI(e,this.es,this.a);return t}function Qgt(e){var t=lI(e,this.es,this.a,this.b);return t}var $gt=[\"Geocentric\",\"geocentric\",\"geocent\",\"Geocent\"],eQ={init:Zgt,forward:Ygt,inverse:Qgt,names:$gt};var al={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},_S={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function Xgt(){if(Object.keys(_S).forEach(function(r){if(typeof this[r]>\"u\")this[r]=_S[r].def;else{if(_S[r].num&&isNaN(this[r]))throw new Error(\"Invalid parameter value, must be numeric \"+r+\" = \"+this[r]);_S[r].num&&(this[r]=parseFloat(this[r]))}_S[r].degrees&&(this[r]=this[r]*vs)}.bind(this)),Math.abs(Math.abs(this.lat0)-de)1e10)throw new Error(\"Invalid height\");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(e),this.sw=Math.sin(e)}function Kgt(e){e.x-=this.long0;var t=Math.sin(e.y),r=Math.cos(e.y),i=Math.cos(e.x),s,n;switch(this.mode){case al.OBLIQ:n=this.sinph0*t+this.cosph0*r*i;break;case al.EQUIT:n=r*i;break;case al.S_POLE:n=-t;break;case al.N_POLE:n=t;break}switch(n=this.pn1/(this.p-n),s=n*r*Math.sin(e.x),this.mode){case al.OBLIQ:n*=this.cosph0*t-this.sinph0*r*i;break;case al.EQUIT:n*=t;break;case al.N_POLE:n*=-(r*i);break;case al.S_POLE:n*=r*i;break}var o,c;return o=n*this.cg+s*this.sg,c=1/(o*this.sw*this.h1+this.cw),s=(s*this.cg-n*this.sg)*this.cw*c,n=o*c,e.x=s*this.a,e.y=n*this.a,e}function Jgt(e){e.x/=this.a,e.y/=this.a;var t={x:e.x,y:e.y},r,i,s;s=1/(this.pn1-e.y*this.sw),r=this.pn1*e.x*s,i=this.pn1*e.y*this.cw*s,e.x=r*this.cg+i*this.sg,e.y=i*this.cg-r*this.sg;var n=Ta(e.x,e.y);if(Math.abs(n)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var e=1-this.es,t=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=t,this.shape=\"ellipse\"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape=\"sphere\";this.title||(this.title=\"Geostationary Satellite View\")}function r_t(e){var t=e.x,r=e.y,i,s,n,o;if(t=t-this.long0,this.shape===\"ellipse\"){r=Math.atan(this.radius_p2*Math.tan(r));var c=this.radius_p/Ta(this.radius_p*Math.cos(r),Math.sin(r));if(s=c*Math.cos(t)*Math.cos(r),n=c*Math.sin(t)*Math.cos(r),o=c*Math.sin(r),(this.radius_g-s)*s-n*n-o*o*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i)))}else this.shape===\"sphere\"&&(i=Math.cos(r),s=Math.cos(t)*i,n=Math.sin(t)*i,o=Math.sin(r),i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i))));return e.x=e.x*this.a,e.y=e.y*this.a,e}function i_t(e){var t=-1,r=0,i=0,s,n,o,c;if(e.x=e.x/this.a,e.y=e.y/this.a,this.shape===\"ellipse\"){this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Ta(1,i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Ta(1,r));var f=i/this.radius_p;if(s=r*r+f*f+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if(this.shape===\"sphere\"){if(this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+i*i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+r*r)),s=r*r+i*i+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t)}return e.x=e.x+this.long0,e}var n_t=[\"Geostationary Satellite View\",\"Geostationary_Satellite\",\"geos\"],iQ={init:e_t,forward:r_t,inverse:i_t,names:n_t};function nQ(e){e.Proj.projections.add(fx),e.Proj.projections.add(dx),e.Proj.projections.add(MY),e.Proj.projections.add(EY),e.Proj.projections.add(PY),e.Proj.projections.add(IY),e.Proj.projections.add(CY),e.Proj.projections.add(LY),e.Proj.projections.add(kY),e.Proj.projections.add(RY),e.Proj.projections.add(DY),e.Proj.projections.add(OY),e.Proj.projections.add(BY),e.Proj.projections.add(zY),e.Proj.projections.add(NY),e.Proj.projections.add(VY),e.Proj.projections.add(jY),e.Proj.projections.add(GY),e.Proj.projections.add(WY),e.Proj.projections.add(HY),e.Proj.projections.add(qY),e.Proj.projections.add(ZY),e.Proj.projections.add(YY),e.Proj.projections.add(QY),e.Proj.projections.add($Y),e.Proj.projections.add(tQ),e.Proj.projections.add(eQ),e.Proj.projections.add(rQ),e.Proj.projections.add(iQ)}Tc.defaultDatum=\"WGS84\";Tc.Proj=Pm;Tc.WGS84=new Tc.Proj(\"WGS84\");Tc.Point=gY;Tc.toPoint=uI;Tc.defs=ax;Tc.nadgrid=MB;Tc.transform=$g;Tc.mgrs=pY;Tc.version=\"__VERSION__\";nQ(Tc);var sQ=Tc;function xS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function bS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function gx(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function s_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function o_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function wI(e){return\"data\"in e?e.getChildAt(0):e.children[0]}var vi=Object.freeze({__proto__:null,getLineStringChild:bS,getMultiLineStringChild:o_t,getMultiPointChild:s_t,getMultiPolygonChild:wI,getPointChild:xS,getPolygonChild:gx});function SI(e,t){let r=e.valueOffsets,i=gx(e),s=i.valueOffsets,n=bS(i),o=n.type.listSize,c=xS(n),f=r[t],_=r[t+1],w=s[f],I=s[_],R=c.values.subarray(w*o,I*o);return new sx(R,{size:o,isClosed:!0})}function aQ(e){if(\"data\"in e)return new xr(e.data.map(r=>aQ(r)));let t=new Float64Array(e.length);for(let r=0;rlQ(r)));let t=new Float64Array(e.length);for(let r=0;rcQ(n));let t=[],r=0;for(let n=0;nuQ(t))):gx(e)}function hQ(e){return\"data\"in e?new xr(e.data.map(t=>hQ(t))):wI(e)}function TI(e){return ze.isFixedSizeList(e)?!(![2,3,4].includes(e.listSize)||!ze.isFloat(e.children[0])):ze.isStruct(e)?!(![2,3,4].includes(e.children.length)||!e.children.every(t=>[\"x\",\"y\",\"z\",\"m\"].includes(t.name))||!e.children.every(t=>ze.isFloat(t))):!1}function MI(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function zB(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function fQ(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function dQ(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function pQ(e){return!(!ze.isList(e)||!zB(e.children[0].type))}function l_t(e){return TI(e.type)}function c_t(e){return MI(e.type)}function u_t(e){return zB(e.type)}function h_t(e){return fQ(e.type)}function f_t(e){return dQ(e.type)}function d_t(e){return pQ(e.type)}function p_t(e,t){if(!e)throw new Error(`assertion failed ${t}`)}function A_t(){throw new Error(\"assertion failed\")}function AQ(e,t){if(l_t(e))return mQ(e,t);if(c_t(e))return OB(e,t);if(u_t(e))return BB(e,t);if(h_t(e))return OB(e,t);if(f_t(e))return BB(e,t);if(d_t(e))return m_t(e,t);A_t()}function mQ(e,t){p_t(e.type.listSize===2,\"expected 2D\");let r=xS(e),i=r.values,s=new Float64Array(i.length);for(let o=0;ooQ(s,i))):oQ(e,i)}function oQ(e,t){let r=[0,0];return AQ(e,(s,n)=>(r[0]=s,r[1]=n,t.forward(r)))}var Im;(function(e){e.POINT=\"geoarrow.point\",e.LINESTRING=\"geoarrow.linestring\",e.POLYGON=\"geoarrow.polygon\",e.MULTIPOINT=\"geoarrow.multipoint\",e.MULTILINESTRING=\"geoarrow.multilinestring\",e.MULTIPOLYGON=\"geoarrow.multipolygon\"})(Im||(Im={}));var bI=class{minX;minY;maxX;maxY;constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}updateBbox(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.maxY>this.maxY&&(this.maxY=t.maxY)}updateCoord(t,r){tthis.maxX&&(this.maxX=t),r>this.maxY&&(this.maxY=r)}};function __t(e,t){switch(t.metadata.get(\"ARROW:extension:name\")){case Im.POINT:return gQ(e);case Im.LINESTRING:case Im.MULTIPOINT:return _Q(e);case Im.POLYGON:case Im.MULTILINESTRING:return yQ(e);case Im.MULTIPOLYGON:return v_t(e);default:throw new Error(\"Unknown ext type name\")}}function y_t(e){let r=xS(e).values,i=new bI;for(let s=0;svQ(r)));let t=new mm({type:new dc,nullValues:[null]});t.set(e.length-1,null);for(let r=0;rxQ(r,t));return}for(let r=0;rvS(n,t)));let r=[];for(let n of e.children)r.push(vS(n,t));let i;e.dictionary!==void 0&&(i=vS(e.dictionary,t));let s={[Oi.OFFSET]:yI(e.buffers[Oi.OFFSET],t),[Oi.DATA]:yI(e.buffers[Oi.DATA],t),[Oi.VALIDITY]:yI(e.buffers[Oi.VALIDITY],t),[Oi.TYPE]:yI(e.buffers[Oi.TYPE],t)};return new Fi(e.type,e.offset,e.length,e._nullCount,s,r,i)}function vI(e){if(\"data\"in e)return e.data.some(r=>vI(r));for(let r of e.children)if(vI(r))return!0;if(e.dictionary!==void 0&&vI(e.dictionary))return!0;let t=[Oi.OFFSET,Oi.DATA,Oi.VALIDITY,Oi.TYPE];for(let r of t)if(e.buffers[r]!==void 0&&bQ(e.buffers[r]))return!0;return!1}function bQ(e){return!(e.byteOffset===0&&e.byteLength===e.buffer.byteLength)}function yI(e,t){return e===void 0||!t&&!bQ(e)?e:e.slice()}function xI(e,t=!1){if(\"data\"in e){let i=[],s=[];for(let o of e.data){let[c,f]=xI(o);i.push(c),s.push(...f)}return[new xr(i),s]}e=vS(e,t);let r=[];for(let i=0;i1)throw new Error(\"expected 1 field\");return new sl(t[0])}case Ot.Struct:{let t=e.children.map(yS);return new pn(t)}case Ot.Union:{let t=e.children.map(yS);return new pc(e.mode,e.typeIds,t)}case Ot.FixedSizeBinary:return new Qu(e.byteWidth);case Ot.FixedSizeList:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");return new Ll(e.listSize,t[0])}case Ot.Map:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");let r=t[0];return new Ac(r,e.keysSorted)}case Ot.Duration:return new Yu(e.unit);default:throw new Error(`unknown type ${e}`)}}function yS(e){let t=wQ(e.type);return new si(e.name,t,e.nullable,e.metadata)}function UB(e){let t=e.children.map(s=>UB(s)),r=e.dictionary?SQ(e.dictionary):void 0,i={[Oi.OFFSET]:e.valueOffsets,[Oi.DATA]:e.values,[Oi.VALIDITY]:e.nullBitmap,[Oi.TYPE]:e.typeIds};return new Fi(wQ(e.type),e.offset,e.length,e._nullCount,i,t,r)}function SQ(e){return new xr(e.data.map(t=>UB(t)))}var VB=Object.freeze({__proto__:null,hardClone:vS,isShared:vI,preparePostMessage:xI,rehydrateData:UB,rehydrateVector:SQ});function E_t(e,t,r){let i=e.fields.findIndex(s=>s.name===r||s.metadata.get(\"ARROW:extension:name\")===t);return i!==-1?i:null}function P_t(e,t){let{index:r,data:i}=e,s=r;i.invertedGeomOffsets!==void 0&&(s=i.invertedGeomOffsets[r]);let n={data:i.data,length:i.length,attributes:i.attributes},o={index:s,data:n,target:e.target};return t(o)}function ro(e){let{props:t,propName:r,propInput:i,chunkIdx:s,geomCoordOffsets:n}=e;if(i!==void 0)if(i instanceof xr){let o=i.data[s];if(ze.isFixedSizeList(o)){_r(o.children.length===1);let c=o.children[0].values;n&&(c=EI(c,o.type.listSize,n)),t.data.attributes[r]={value:c,size:o.type.listSize,normalized:!0}}else if(ze.isFloat(o)){let c=o.values;n&&(c=EI(c,1,n)),t.data.attributes[r]={value:c,size:1}}}else typeof i==\"function\"?t[r]=(o,c)=>r===\"getPolygonOffset\"?i(o,c):P_t(c,i):t[r]=i}function EI(e,t,r){let i=r[r.length-1],s=new e.constructor(i*t);for(let n=0;n(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function no(e,t){let r=[],i=[];for(let[s,n]of Object.entries(e))s.startsWith(\"get\")&&n instanceof xr&&(r.push(n),s.endsWith(\"Color\")&&i.push(n));I_t(t,r);for(let s of i)C_t(s)}function I_t(e,t){for(let r of t)_r(e.batches.length===r.data.length);for(let r of t)for(let i=0;ithis.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){let t=this.content?this.content.byteLength:0;return Number.isFinite(t)||console.error(\"byteLength not defined in tile data\"),t}async _loadData({getData:t,requestScheduler:r,onLoad:i,onError:s}){let{index:n,id:o,bbox:c,userData:f,zoom:_}=this,w=this._loaderId;this._abortController=new AbortController;let{signal:I}=this._abortController,R=await r.scheduleRequest(this,Q=>Q.isSelected?1:-1);if(!R){this._isCancelled=!0;return}if(this._isCancelled){R.done();return}let N=null,j;try{N=await t({index:n,id:o,bbox:c,userData:f,zoom:_,signal:I})}catch(Q){j=Q||!0}finally{R.done()}if(w===this._loaderId){if(this._loader=void 0,this.content=N,this._isCancelled&&!N){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,j?s(j,this):i(this)}}loadData(t){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(t),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var t;this.isLoaded||(this._isCancelled=!0,(t=this._abortController)===null||t===void 0||t.abort())}};var so={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var IQ=new Ve,O_t=new Ve,Jg=class e{constructor(t=[0,0,0],r=[0,0,0],i){G(this,\"center\",void 0),G(this,\"halfDiagonal\",void 0),G(this,\"minimum\",void 0),G(this,\"maximum\",void 0),i=i||IQ.copy(t).add(r).scale(.5),this.center=new Ve(i),this.halfDiagonal=new Ve(r).subtract(this.center),this.minimum=new Ve(t),this.maximum=new Ve(r)}clone(){return new e(this.minimum,this.maximum,this.center)}equals(t){return this===t||!!t&&this.minimum.equals(t.minimum)&&this.maximum.equals(t.maximum)}transform(t){return this.center.transformAsPoint(t),this.halfDiagonal.transform(t),this.minimum.transform(t),this.maximum.transform(t),this}intersectPlane(t){let{halfDiagonal:r}=this,i=O_t.from(t.normal),s=r.x*Math.abs(i.x)+r.y*Math.abs(i.y)+r.z*Math.abs(i.z),n=this.center.dot(i)+t.distance;return n-s>0?so.INSIDE:n+s<0?so.OUTSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=IQ.from(t).subtract(this.center),{halfDiagonal:i}=this,s=0,n;return n=Math.abs(r.x)-i.x,n>0&&(s+=n*n),n=Math.abs(r.y)-i.y,n>0&&(s+=n*n),n=Math.abs(r.z)-i.z,n>0&&(s+=n*n),s}};var TS=new Ve,CQ=new Ve,t_=class e{constructor(t=[0,0,0],r=0){G(this,\"center\",void 0),G(this,\"radius\",void 0),this.radius=-0,this.center=new Ve,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=TS.from(r),this.center=new Ve().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||!!t&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new e(this.center,this.radius)}union(t){let r=this.center,i=this.radius,s=t.center,n=t.radius,o=TS.copy(s).subtract(r),c=o.magnitude();if(i>=c+n)return this.clone();if(n>=c+i)return t.clone();let f=(i+c+n)*.5;return CQ.copy(o).scale((-i+f)/c).add(r),this.center.copy(CQ),this.radius=f,this}expand(t){let i=TS.from(t).subtract(this.center).magnitude();return i>this.radius&&(this.radius=i),this}transform(t){this.center.transform(t);let r=c7(TS,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let i=TS.from(t).subtract(this.center);return Math.max(0,i.len()-this.radius)}intersectPlane(t){let r=this.center,i=this.radius,n=t.normal.dot(r)+t.distance;return n<-i?so.OUTSIDE:n=f?so.INSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=F_t.from(t).subtract(this.center),i=this.halfAxes,s=i.getColumn(0,II),n=i.getColumn(1,CI),o=i.getColumn(2,LI),c=s.magnitude(),f=n.magnitude(),_=o.magnitude();s.normalize(),n.normalize(),o.normalize();let w=0,I;return I=Math.abs(r.dot(s))-c,I>0&&(w+=I*I),I=Math.abs(r.dot(n))-f,I>0&&(w+=I*I),I=Math.abs(r.dot(o))-_,I>0&&(w+=I*I),w}computePlaneDistances(t,r,i=[-0,-0]){let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,o=this.center,c=this.halfAxes,f=c.getColumn(0,II),_=c.getColumn(1,CI),w=c.getColumn(2,LI),I=z_t.copy(f).add(_).add(w).add(o),R=N_t.copy(I).subtract(t),N=r.dot(R);return s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),i[0]=s,i[1]=n,i}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,II);r.transformAsPoint(t);let i=this.halfAxes.getColumn(1,CI);i.transformAsPoint(t);let s=this.halfAxes.getColumn(2,LI);return s.transformAsPoint(t),this.halfAxes=new ss([...r,...i,...s]),this}getTransform(){throw new Error(\"not implemented\")}};var LQ=new Ve,kQ=new Ve,Af=class e{constructor(t=[0,0,1],r=0){G(this,\"normal\",void 0),G(this,\"distance\",void 0),this.normal=new Ve,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Bh(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=LQ.from(t),this.normal.from(r).normalize();let i=-this.normal.dot(t);return this.distance=i,this}fromCoefficients(t,r,i,s){return this.normal.set(t,r,i),Bh(Ro(this.normal.len(),1)),this.distance=s,this}clone(){return new e(this.normal,this.distance)}equals(t){return Ro(this.distance,t.distance)&&Ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=kQ.copy(this.normal).transformAsVector(t).normalize(),i=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(i,r)}projectPointOntoPlane(t,r=[0,0,0]){t=LQ.from(t);let i=this.getPointDistance(t),s=kQ.copy(this.normal).scale(i);return t.subtract(s).to(r)}};var RQ=[new Ve([1,0,0]),new Ve([0,1,0]),new Ve([0,0,1])],DQ=new Ve,U_t=new Ve,Rse=new Af(new Ve(1,0,0),0),Ad=class e{constructor(t=[]){G(this,\"planes\",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*RQ.length;let r=t.center,i=t.radius,s=0;for(let n of RQ){let o=this.planes[s],c=this.planes[s+1];o||(o=this.planes[s]=new Af),c||(c=this.planes[s+1]=new Af);let f=DQ.copy(n).scale(-i).add(r),_=-n.dot(f);o.fromPointNormal(f,n);let w=DQ.copy(n).scale(i).add(r),I=U_t.copy(n).negate(),R=-I.dot(w);c.fromPointNormal(w,I),s+=2}return this}computeVisibility(t){let r=so.INSIDE;for(let i of this.planes)switch(t.intersectPlane(i)){case so.OUTSIDE:return so.OUTSIDE;case so.INTERSECTING:r=so.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Bh(Number.isFinite(r),\"parentPlaneMask is required.\"),r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;let i=e.MASK_INSIDE,s=this.planes;for(let n=0;nf;)q_t(c,kI),OQ.copy(kI).transpose(),c.multiplyRight(kI),c.multiplyLeft(OQ),o.multiplyRight(kI),++s>2&&(++n,s=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=c.toTarget(t.diagonal),t}function W_t(e){let t=0;for(let r=0;r<9;++r){let i=e[r];t+=i*i}return Math.sqrt(t)}var GB=[1,0,0],WB=[2,2,1];function H_t(e){let t=0;for(let r=0;r<3;++r){let i=e[md.getElementIndex(WB[r],GB[r])];t+=2*i*i}return Math.sqrt(t)}function q_t(e,t){let r=YE.EPSILON15,i=0,s=1;for(let _=0;_<3;++_){let w=Math.abs(e[md.getElementIndex(WB[_],GB[_])]);w>i&&(s=_,i=w)}let n=GB[s],o=WB[s],c=1,f=0;if(Math.abs(e[md.getElementIndex(o,n)])>r){let _=e[md.getElementIndex(o,o)],w=e[md.getElementIndex(n,n)],I=e[md.getElementIndex(o,n)],R=(_-w)/2/I,N;R<0?N=-1/(-R+Math.sqrt(1+R*R)):N=1/(R+Math.sqrt(1+R*R)),c=1/Math.sqrt(1+N*N),f=N*c}return ss.IDENTITY.to(t),t[md.getElementIndex(n,n)]=t[md.getElementIndex(o,o)]=c,t[md.getElementIndex(o,n)]=f,t[md.getElementIndex(n,o)]=-f,t}var Cm=new Ve,Z_t=new Ve,Y_t=new Ve,Q_t=new Ve,$_t=new Ve,X_t=new ss,K_t={diagonal:new ss,unitary:new ss};function HB(e,t=new yx){if(!e||e.length===0)return t.halfAxes=new ss([0,0,0,0,0,0,0,0,0]),t.center=new Ve,t;let r=e.length,i=new Ve(0,0,0);for(let le of e)i.add(le);let s=1/r;i.multiplyByScalar(s);let n=0,o=0,c=0,f=0,_=0,w=0;for(let le of e){let ue=Cm.copy(le).subtract(i);n+=ue.x*ue.x,o+=ue.x*ue.y,c+=ue.x*ue.z,f+=ue.y*ue.y,_+=ue.y*ue.z,w+=ue.z*ue.z}n*=s,o*=s,c*=s,f*=s,_*=s,w*=s;let I=X_t;I[0]=n,I[1]=o,I[2]=c,I[3]=o,I[4]=f,I[5]=_,I[6]=c,I[7]=_,I[8]=w;let{unitary:R}=RI(I,K_t),N=t.halfAxes.copy(R),j=N.getColumn(0,Y_t),Q=N.getColumn(1,Q_t),et=N.getColumn(2,$_t),Y=-Number.MAX_VALUE,K=-Number.MAX_VALUE,J=-Number.MAX_VALUE,ut=Number.MAX_VALUE,Et=Number.MAX_VALUE,kt=Number.MAX_VALUE;for(let le of e)Cm.copy(le),Y=Math.max(Cm.dot(j),Y),K=Math.max(Cm.dot(Q),K),J=Math.max(Cm.dot(et),J),ut=Math.min(Cm.dot(j),ut),Et=Math.min(Cm.dot(Q),Et),kt=Math.min(Cm.dot(et),kt);j=j.multiplyByScalar(.5*(ut+Y)),Q=Q.multiplyByScalar(.5*(Et+K)),et=et.multiplyByScalar(.5*(kt+J)),t.center.copy(j).add(Q).add(et);let Xt=Z_t.set(Y-ut,K-Et,J-kt).multiplyByScalar(.5),qt=new ss([Xt[0],0,0,0,Xt[1],0,0,0,Xt[2]]);return t.halfAxes.multiplyRight(qt),t}var vx=512,BQ=3,FQ=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],zQ=FQ.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),J_t=zQ.concat([[.25,.5],[.75,.5]]),qB=class e{constructor(t,r,i){G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"z\",void 0),G(this,\"childVisible\",void 0),G(this,\"selected\",void 0),G(this,\"_children\",void 0),this.x=t,this.y=r,this.z=i}get children(){if(!this._children){let t=this.x*2,r=this.y*2,i=this.z+1;this._children=[new e(t,r,i),new e(t,r+1,i),new e(t+1,r,i),new e(t+1,r+1,i)]}return this._children}update(t){let{viewport:r,cullingVolume:i,elevationBounds:s,minZ:n,maxZ:o,bounds:c,offset:f,project:_}=t,w=this.getBoundingVolume(s,f,_);if(c&&!this.insideBounds(c)||i.computeVisibility(w)<0)return!1;if(!this.childVisible){let{z:R}=this;if(R=n){let N=w.distanceTo(r.cameraPosition)*r.scale/r.height;R+=Math.floor(Math.log2(N))}if(R>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(let R of this.children)R.update(t);return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let r of this._children)r.getSelected(t);return t}insideBounds([t,r,i,s]){let n=Math.pow(2,this.z),o=vx/n;return this.x*ot&&(this.y+1)*o>r}getBoundingVolume(t,r,i){if(i){let f=this.z<1?J_t:this.z<2?zQ:FQ,_=[];for(let w of f){let I=DI(this.x+w[0],this.y+w[1],this.z);I[2]=t[0],_.push(i(I)),t[0]!==t[1]&&(I[2]=t[1],_.push(i(I)))}return HB(_)}let s=Math.pow(2,this.z),n=vx/s,o=this.x*n+r*vx,c=vx-(this.y+1)*n;return new Jg([o,c,t[0]],[o+n,c+n,t[1]])}};function NQ(e,t,r,i){let s=e instanceof rv&&e.resolution?e.projectPosition:null,n=Object.values(e.getFrustumPlanes()).map(({normal:N,distance:j})=>new Af(N.clone().negate(),j)),o=new Ad(n),c=e.distanceScales.unitsPerMeter[2],f=r&&r[0]*c||0,_=r&&r[1]*c||0,w=e instanceof lc&&e.pitch<=60?t:0;if(i){let[N,j,Q,et]=i,Y=va([N,et]),K=va([Q,j]);i=[Y[0],vx-Y[1],K[0],vx-K[1]]}let I=new qB(0,0,0),R={viewport:e,project:s,cullingVolume:o,elevationBounds:[f,_],minZ:w,maxZ:t,bounds:i,offset:0};if(I.update(R),e instanceof lc&&e.subViewports&&e.subViewports.length>1){for(R.offset=-1;I.update(R)&&!(--R.offset<-BQ););for(R.offset=1;I.update(R)&&!(++R.offset>BQ););}return I.getSelected()}var zp=512,tyt=[-1/0,-1/0,1/0,1/0],YB={type:\"object\",value:null,validate:(e,t)=>t.optional&&e===null||typeof e==\"string\"||Array.isArray(e)&&e.every(r=>typeof r==\"string\"),equal:(e,t)=>{if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let i=0;is[0])),Math.min(...r.map(s=>s[1])),Math.max(...r.map(s=>s[0])),Math.max(...r.map(s=>s[1]))]}function eyt(e){return Math.abs(e.split(\"\").reduce((t,r)=>(t<<5)-t+r.charCodeAt(0)|0,0))}function QB(e,t){if(!e||!e.length)return null;let{index:r,id:i}=t;if(Array.isArray(e)){let n=eyt(i)%e.length;e=e[n]}let s=e;for(let n of Object.keys(r)){let o=new RegExp(\"{\".concat(n,\"}\"),\"g\");s=s.replace(o,String(r[n]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(s=s.replace(/\\{-y\\}/g,String(Math.pow(2,r.z)-r.y-1))),s}function ryt(e,t,r){let i;if(t&&t.length===2){let[s,n]=t,o=e.getBounds({z:s}),c=e.getBounds({z:n});i=[Math.min(o[0],c[0]),Math.min(o[1],c[1]),Math.max(o[2],c[2]),Math.max(o[3],c[3])]}else i=e.getBounds();return e.isGeospatial?[Math.max(i[0],r[0]),Math.max(i[1],r[1]),Math.min(i[2],r[2]),Math.min(i[3],r[3])]:[Math.max(Math.min(i[0],r[2]),r[0]),Math.max(Math.min(i[1],r[3]),r[1]),Math.min(Math.max(i[2],r[0]),r[2]),Math.min(Math.max(i[3],r[1]),r[3])]}function jQ({viewport:e,z:t=0,cullRect:r}){return(e.subViewports||[e]).map(s=>ZB(s,t,r))}function ZB(e,t,r){if(!Array.isArray(t)){let n=r.x-e.x,o=r.y-e.y,{width:c,height:f}=r,_={targetZ:t},w=e.unproject([n,o],_),I=e.unproject([n+c,o],_),R=e.unproject([n,o+f],_),N=e.unproject([n+c,o+f],_);return[Math.min(w[0],I[0],R[0],N[0]),Math.min(w[1],I[1],R[1],N[1]),Math.max(w[0],I[0],R[0],N[0]),Math.max(w[1],I[1],R[1],N[1])]}let i=ZB(e,t[0],r),s=ZB(e,t[1],r);return[Math.min(i[0],s[0]),Math.min(i[1],s[1]),Math.max(i[2],s[2]),Math.max(i[3],s[3])]}function iyt(e,t,r){return r?VQ(e,r).map(s=>s*t/zp):e.map(i=>i*t/zp)}function $B(e,t){return Math.pow(2,e)*zp/t}function DI(e,t,r){let i=$B(r,zp),s=e/i*360-180,n=Math.PI-2*Math.PI*t/i,o=180/Math.PI*Math.atan(.5*(Math.exp(n)-Math.exp(-n)));return[s,o]}function UQ(e,t,r,i){let s=$B(r,i);return[e/s*zp,t/s*zp]}function XB(e,t,r,i,s=zp){if(e.isGeospatial){let[_,w]=DI(t,r,i),[I,R]=DI(t+1,r+1,i);return{west:_,north:w,east:I,south:R}}let[n,o]=UQ(t,r,i,s),[c,f]=UQ(t+1,r+1,i,s);return{left:n,top:o,right:c,bottom:f}}function nyt(e,t,r,i,s){let n=ryt(e,null,i),o=$B(t,r),[c,f,_,w]=iyt(n,o,s),I=[];for(let R=Math.floor(c);R<_;R++)for(let N=Math.floor(f);Nt&&(_=t);let w=s;return o&&c&&s&&!e.isGeospatial&&(w=VQ(s,o)),e.isGeospatial?NQ(e,_,i,s):nyt(e,_,n,w||tyt,c)}function GQ(e){let t={},r;return i=>{for(let s in i)if(!syt(i[s],t[s])){r=e(i),t=i;break}return r}}function syt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{}},uyt={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:\"best-available\",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}},MS=class{constructor(t){G(this,\"opts\",void 0),G(this,\"_requestScheduler\",void 0),G(this,\"_cache\",void 0),G(this,\"_dirty\",void 0),G(this,\"_tiles\",void 0),G(this,\"_cacheByteSize\",void 0),G(this,\"_viewport\",void 0),G(this,\"_zRange\",void 0),G(this,\"_selectedTiles\",void 0),G(this,\"_frameNumber\",void 0),G(this,\"_modelMatrix\",void 0),G(this,\"_modelMatrixInverse\",void 0),G(this,\"_maxZoom\",void 0),G(this,\"_minZoom\",void 0),G(this,\"onTileLoad\",void 0),G(this,\"_getCullBounds\",GQ(jQ)),this.opts={...uyt,...t},this.onTileLoad=r=>{var i,s;(i=(s=this.opts).onTileLoad)===null||i===void 0||i.call(s,r),this.opts.maxCacheByteSize&&(this._cacheByteSize+=r.byteLength,this._resizeCache())},this._requestScheduler=new py({maxRequests:t.maxRequests,throttleRequests:!!(t.maxRequests&&t.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new En,this._modelMatrixInverse=new En,this.setOptions(t)}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(t=>t.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(t=>t.needsReload)}setOptions(t){Object.assign(this.opts,t),Number.isFinite(t.maxZoom)&&(this._maxZoom=Math.floor(t.maxZoom)),Number.isFinite(t.minZoom)&&(this._minZoom=Math.ceil(t.minZoom))}finalize(){for(let t of this._cache.values())t.isLoading&&t.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(let t of this._cache.keys()){let r=this._cache.get(t);!this._selectedTiles||!this._selectedTiles.includes(r)?this._cache.delete(t):r.setNeedsReload()}}update(t,{zRange:r,modelMatrix:i}={}){let s=new En(i),n=!s.equals(this._modelMatrix);if(!this._viewport||!t.equals(this._viewport)||!Ro(this._zRange,r)||n){n&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=t,this._zRange=r;let c=this.getTileIndices({viewport:t,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));let o=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),o&&this._frameNumber++,this._frameNumber}isTileVisible(t,r){if(!t.isVisible)return!1;if(r&&this._viewport){let i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:r}),{bbox:s}=t;for(let[n,o,c,f]of i){let _;if(\"west\"in s)_=s.westn&&s.southo;else{let w=Math.min(s.top,s.bottom),I=Math.max(s.top,s.bottom);_=s.leftn&&wo}if(_)return!0}return!1}return!0}getTileIndices({viewport:t,maxZoom:r,minZoom:i,zRange:s,modelMatrix:n,modelMatrixInverse:o}){let{tileSize:c,extent:f,zoomOffset:_}=this.opts;return KB({viewport:t,maxZoom:r,minZoom:i,zRange:s,tileSize:c,extent:f,modelMatrix:n,modelMatrixInverse:o,zoomOffset:_})}getTileId(t){return\"\".concat(t.x,\"-\").concat(t.y,\"-\").concat(t.z)}getTileZoom(t){return t.z}getTileMetadata(t){let{tileSize:r}=this.opts;return{bbox:XB(this._viewport,t.x,t.y,t.z,r)}}getParentIndex(t){let r=Math.floor(t.x/2),i=Math.floor(t.y/2),s=t.z-1;return{x:r,y:i,z:s}}updateTileStates(){let t=this.opts.refinementStrategy||ES,r=new Array(this._cache.size),i=0;for(let s of this._cache.values())r[i++]=s.isVisible,s.isSelected=!1,s.isVisible=!1;for(let s of this._selectedTiles)s.isSelected=!0,s.isVisible=!0;(typeof t==\"function\"?t:cyt[t])(Array.from(this._cache.values())),i=0;for(let s of this._cache.values())if(r[i++]!==s.isVisible)return!0;return!1}_pruneRequests(){let{maxRequests:t=0}=this.opts,r=[],i=0;for(let s of this._cache.values())s.isLoading&&(i++,!s.isSelected&&!s.isVisible&&r.push(s));for(;t>0&&i>t&&r.length>0;)r.shift().abort(),i--}_rebuildTree(){let{_cache:t}=this;for(let r of t.values())r.parent=null,r.children&&(r.children.length=0);for(let r of t.values()){let i=this._getNearestAncestor(r);r.parent=i,i!=null&&i.children&&i.children.push(r)}}_resizeCache(){let{_cache:t,opts:r}=this,i=r.maxCacheSize||(r.maxCacheByteSize?1/0:lyt*this.selectedTiles.length),s=r.maxCacheByteSize||1/0;if(t.size>i||this._cacheByteSize>s){for(let[f,_]of t){if(!_.isVisible&&!_.isSelected){var o,c;this._cacheByteSize-=r.maxCacheByteSize?_.byteLength:0,t.delete(f),(o=(c=this.opts).onTileUnload)===null||o===void 0||o.call(c,_)}if(t.size<=i&&this._cacheByteSize<=s)break}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,_)=>f.zoom-_.zoom),this._dirty=!1)}_getTile(t,r){let i=this.getTileId(t),s=this._cache.get(i),n=!1;return!s&&r?(s=new PI(t),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:i,zoom:this.getTileZoom(s.index)}),n=!0,this._cache.set(i,s),this._dirty=!0):s&&s.needsReload&&(n=!0),s&&n&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s}_getNearestAncestor(t){let{_minZoom:r=0}=this,i=t.index;for(;this.getTileZoom(i)>r;){i=this.getParentIndex(i);let s=this._getTile(i);if(s)return s}return null}};function hyt(e){for(let t of e)t.state=0;for(let t of e)t.isSelected&&!HQ(t)&&JB(t);for(let t of e)t.isVisible=!!(t.state&OI)}function fyt(e){for(let r of e)r.state=0;for(let r of e)r.isSelected&&HQ(r);let t=Array.from(e).sort((r,i)=>r.zoom-i.zoom);for(let r of t)if(r.isVisible=!!(r.state&OI),r.children&&(r.isVisible||r.state&WQ))for(let i of r.children)i.state=WQ;else r.isSelected&&JB(r)}function HQ(e){let t=e;for(;t;){if(t.isLoaded||t.content)return t.state|=OI,!0;t=t.parent}return!1}function JB(e){for(let t of e.children)t.isLoaded||t.content?t.state|=OI:JB(t)}var dyt={TilesetClass:MS,data:{type:\"data\",value:[]},dataComparator:YB.equal,renderSubLayers:{type:\"function\",value:e=>new Mm(e)},getTileData:{type:\"function\",optional:!0,value:null},onViewportLoad:{type:\"function\",optional:!0,value:null},onTileLoad:{type:\"function\",value:e=>{}},onTileUnload:{type:\"function\",value:e=>{}},onTileError:{type:\"function\",value:e=>console.error(e)},extent:{type:\"array\",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ES,zRange:null,maxRequests:6,zoomOffset:0},Lm=class extends Ni{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var t,r;(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||r.finalize()}get isLoaded(){var t,r,i;return(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||(i=r.selectedTiles)===null||i===void 0?void 0:i.every(s=>s.isLoaded&&s.layers&&s.layers.every(n=>n.isLoaded))}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState({changeFlags:t}){let{tileset:r}=this.state,i=t.propsOrDataChanged||t.updateTriggersChanged,s=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getTileData);r?i&&(r.setOptions(this._getTilesetOptions()),s?r.reloadAll():this.state.tileset.tiles.forEach(n=>{n.layers=null})):(r=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:r})),this._updateTileset()}_getTilesetOptions(){let{tileSize:t,maxCacheSize:r,maxCacheByteSize:i,refinementStrategy:s,extent:n,maxZoom:o,minZoom:c,maxRequests:f,zoomOffset:_}=this.props;return{maxCacheSize:r,maxCacheByteSize:i,maxZoom:o,minZoom:c,tileSize:t,refinementStrategy:s,extent:n,maxRequests:f,zoomOffset:_,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){let{tileset:t}=this.state,{zRange:r,modelMatrix:i}=this.props,s=t.update(this.context.viewport,{zRange:r,modelMatrix:i}),{isLoaded:n}=t,o=this.state.isLoaded!==n,c=this.state.frameNumber!==s;n&&(o||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:s}),this.state.isLoaded=n}_onViewportLoad(){let{tileset:t}=this.state,{onViewportLoad:r}=this.props;r&&r(t.selectedTiles)}_onTileLoad(t){this.props.onTileLoad(t),t.layers=null,this.setNeedsUpdate()}_onTileError(t,r){this.props.onTileError(t),r.layers=null,this.setNeedsUpdate()}_onTileUnload(t){this.props.onTileUnload(t)}getTileData(t){let{data:r,getTileData:i,fetch:s}=this.props,{signal:n}=t;return t.url=typeof r==\"string\"||Array.isArray(r)?QB(r,t):null,i?i(t):s&&t.url?s(t.url,{propName:\"data\",layer:this,signal:n}):null}renderSubLayers(t){return this.props.renderSubLayers(t)}getSubLayerPropsByTile(t){return null}getPickingInfo({info:t,sourceLayer:r}){let i=r.props.tile;return t.picked&&(t.tile=i),t.sourceTile=i,t}_updateAutoHighlight(t){let r=t.sourceTile;if(r&&r.layers)for(let i of r.layers)i.updateAutoHighlight(t)}renderLayers(){return this.state.tileset.tiles.map(t=>{let r=this.getSubLayerPropsByTile(t);if(!(!t.isLoaded&&!t.content))if(t.layers)r&&t.layers[0]&&Object.keys(r).some(i=>t.layers[0].props[i]!==r[i])&&(t.layers=t.layers.map(i=>i.clone(r)));else{let i=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:t.id,updateTriggers:this.props.updateTriggers}),data:t.content,_offset:0,tile:t});t.layers=op(i,Boolean).map(s=>s.clone({tile:t,...r}))}return t.layers})}filterSubLayer({layer:t,cullRect:r}){let{tile:i}=t.props;return this.state.tileset.isTileVisible(i,r)}};G(Lm,\"defaultProps\",dyt);G(Lm,\"layerName\",\"TileLayer\");var Ic=function(e){e=e||{};var t=typeof e<\"u\"?e:{},r={},i;for(i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);var s=[],n=\"\";function o(Zt){return t.locateFile?t.locateFile(Zt,n):n+Zt}var c;document.currentScript&&(n=document.currentScript.src),n.indexOf(\"blob:\")!==0?n=n.substr(0,n.lastIndexOf(\"/\")+1):n=\"\",c=function(fe,Be,br){var g=new XMLHttpRequest;g.open(\"GET\",fe,!0),g.responseType=\"arraybuffer\",g.onload=function(){if(g.status==200||g.status==0&&g.response){Be(g.response);return}var Ti=ht(fe);if(Ti){Be(Ti.buffer);return}br()},g.onerror=br,g.send(null)};var f=t.print||console.log.bind(console),_=t.printErr||console.warn.bind(console);for(i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);r=null,t.arguments&&(s=t.arguments);var w=0,I=function(Zt){w=Zt},R=function(){return w},N=8;function j(Zt,fe,Be,br){switch(Be=Be||\"i8\",Be.charAt(Be.length-1)===\"*\"&&(Be=\"i32\"),Be){case\"i1\":Sr[Zt>>0]=fe;break;case\"i8\":Sr[Zt>>0]=fe;break;case\"i16\":oo[Zt>>1]=fe;break;case\"i32\":No[Zt>>2]=fe;break;case\"i64\":ve=[fe>>>0,(wo=fe,+Nl(wo)>=1?wo>0?(mn(+ls(wo/4294967296),4294967295)|0)>>>0:~~+ee((wo-+(~~wo>>>0))/4294967296)>>>0:0)],No[Zt>>2]=ve[0],No[Zt+4>>2]=ve[1];break;case\"float\":Uo[Zt>>2]=fe;break;case\"double\":Si[Zt>>3]=fe;break;default:oh(\"invalid type for setValue: \"+Be)}}function Q(Zt,fe,Be){switch(fe=fe||\"i8\",fe.charAt(fe.length-1)===\"*\"&&(fe=\"i32\"),fe){case\"i1\":return Sr[Zt>>0];case\"i8\":return Sr[Zt>>0];case\"i16\":return oo[Zt>>1];case\"i32\":return No[Zt>>2];case\"i64\":return No[Zt>>2];case\"float\":return Uo[Zt>>2];case\"double\":return Si[Zt>>3];default:oh(\"invalid type for getValue: \"+fe)}return null}var et=!1;function Y(Zt,fe){Zt||oh(\"Assertion failed: \"+fe)}function K(Zt){var fe=t[\"_\"+Zt];return Y(fe,\"Cannot call unknown function \"+Zt+\", make sure it is exported\"),fe}function J(Zt,fe,Be,br,g){var Vi={string:function(Ur){var hi=0;if(Ur!=null&&Ur!==0){var To=(Ur.length<<2)+1;hi=Hp(To),le(Ur,hi,To)}return hi},array:function(Ur){var hi=Hp(Ur.length);return De(Ur,hi),hi}};function Ti(Ur){return fe===\"string\"?Xt(Ur):fe===\"boolean\"?!!Ur:Ur}var Tt=K(Zt),Ms=[],cs=0;if(br)for(var li=0;li=br);)++g;if(g-fe>16&&Zt.subarray&&Et)return Et.decode(Zt.subarray(fe,g));for(var Vi=\"\";fe>10,56320|cs&1023)}}return Vi}function Xt(Zt,fe){return Zt?kt(Li,Zt,fe):\"\"}function qt(Zt,fe,Be,br){if(!(br>0))return 0;for(var g=Be,Vi=Be+br-1,Ti=0;Ti=55296&&Tt<=57343){var Ms=Zt.charCodeAt(++Ti);Tt=65536+((Tt&1023)<<10)|Ms&1023}if(Tt<=127){if(Be>=Vi)break;fe[Be++]=Tt}else if(Tt<=2047){if(Be+1>=Vi)break;fe[Be++]=192|Tt>>6,fe[Be++]=128|Tt&63}else if(Tt<=65535){if(Be+2>=Vi)break;fe[Be++]=224|Tt>>12,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}else{if(Be+3>=Vi)break;fe[Be++]=240|Tt>>18,fe[Be++]=128|Tt>>12&63,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}}return fe[Be]=0,Be-g}function le(Zt,fe,Be){return qt(Zt,Li,fe,Be)}var ue=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0;function De(Zt,fe){Sr.set(Zt,fe)}function Ke(Zt,fe){return Zt%fe>0&&(Zt+=fe-Zt%fe),Zt}var rr,Sr,Li,oo,zl,No,ih,Uo,Si;function Ns(Zt){rr=Zt,t.HEAP8=Sr=new Int8Array(Zt),t.HEAP16=oo=new Int16Array(Zt),t.HEAP32=No=new Int32Array(Zt),t.HEAPU8=Li=new Uint8Array(Zt),t.HEAPU16=zl=new Uint16Array(Zt),t.HEAPU32=ih=new Uint32Array(Zt),t.HEAPF32=Uo=new Float32Array(Zt),t.HEAPF64=Si=new Float64Array(Zt)}var ll=5266928,kc=24016,Rc=t.TOTAL_MEMORY||33554432;t.buffer?rr=t.buffer:rr=new ArrayBuffer(Rc),Rc=rr.byteLength,Ns(rr),No[kc>>2]=ll;function Xi(Zt){for(;Zt.length>0;){var fe=Zt.shift();if(typeof fe==\"function\"){fe();continue}var Be=fe.func;typeof Be==\"number\"?fe.arg===void 0?t.dynCall_v(Be):t.dynCall_vi(Be,fe.arg):Be(fe.arg===void 0?null:fe.arg)}}var Jn=[],ki=[],ts=[],Vo=[];function cl(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)as(t.preRun.shift());Xi(Jn)}function xo(){Xi(ki)}function Pa(){Xi(ts)}function na(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)ao(t.postRun.shift());Xi(Vo)}function as(Zt){Jn.unshift(Zt)}function ao(Zt){Vo.unshift(Zt)}var Nl=Math.abs,ee=Math.ceil,ls=Math.floor,mn=Math.min,gi=0,oi=null,lo=null;function du(Zt){gi++,t.monitorRunDependencies&&t.monitorRunDependencies(gi)}function ul(Zt){if(gi--,t.monitorRunDependencies&&t.monitorRunDependencies(gi),gi==0&&(oi!==null&&(clearInterval(oi),oi=null),lo)){var fe=lo;lo=null,fe()}}t.preloadedImages={},t.preloadedAudios={};var bo=null,hl=\"data:application/octet-stream;base64,\";function Ia(Zt){return String.prototype.startsWith?Zt.startsWith(hl):Zt.indexOf(hl)===0}var wo,ve;bo=\"data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAgAAAAAAAAACAAAAAQAAABMAAAACAAAAAgAAAAAAAAAFAAAACgAAAAAAAAACAAAAAgAAAAMAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABEAAAACAAAAAAAAAAIAAAABAAAADwAAAAIAAAACAAAAAAAAAAUAAAALAAAAAAAAAAIAAAACAAAAAwAAABEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAIAAAAAAAAAAgAAAAEAAAAQAAAAAgAAAAIAAAAAAAAABQAAAAwAAAAAAAAAAgAAAAIAAAADAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAgAAAAAAAAACAAAAAQAAABEAAAACAAAAAgAAAAAAAAAFAAAADQAAAAAAAAACAAAAAgAAAAMAAAATAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAACAAAAAAAAAAIAAAABAAAAEgAAAAIAAAACAAAAAAAAAAUAAAAOAAAAAAAAAAIAAAACAAAAAwAAAAIAAAABAAAAAAAAAAEAAAACAAAAAAAAAAAAAAACAAAAAQAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAgAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAUAAAAEAAAAAAAAAAUAAAAAAAAAAgAAAAEAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAACAAAAAQAAAAAAAAACAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAFAAAABAAAAAAAAAABAAAABQAAAAAAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAUAAAAEAAAAAAAAAAUAAAAFAAAAAAAAAAEAAAAAAAAAAAAAAMuhRbbsNlBBYqHW9OmHIkF9XBuqnS31QAK37uYhNMhAOSo3UUupm0DC+6pc6JxvQHV9eseEEEJAzURsCyqlFEB8BQ4NMJjnPyy3tBoS97o/xawXQznRjj89J2K2CZxhP6vX43RIIDQ/S8isgygEBz+LvFHQkmzaPjFFFO7wMq4+AADMLkTtjkIAAOgkJqxhQgAAU7B0MjRCAADwpBcVB0IAAACYP2HaQQAAAIn/Ja5BzczM4Eg6gUHNzMxMU7BTQTMzMzNfgCZBAAAAAEi3+UAAAAAAwGPNQDMzMzMzy6BAmpmZmZkxc0AzMzMzM/NFQDMzMzMzMxlAzczMzMzM7D+ygXSx2U6RQKimJOvQKnpA23hmONTHY0A/AGcxyudNQNb3K647mzZA+S56rrwWIUAm4kUQ+9UJQKre9hGzh/M/BLvoy9WG3T+LmqMf8VHGP2m3nYNV37A/gbFHcyeCmT+cBPWBckiDP61tZACjKW0/q2RbYVUYVj8uDypVyLNAP6jGS5cA5zBBwcqhBdCNGUEGEhQ/JVEDQT6WPnRbNO1AB/AWSJgT1kDfUWNCNLDAQNk+5C33OqlAchWL34QSk0DKvtDIrNV8QNF0G3kFzGVASSeWhBl6UED+/0mNGuk4QGjA/dm/1CJALPLPMql6DEDSHoDrwpP1P2jouzWST+A/egAAAAAAAABKAwAAAAAAAPoWAAAAAAAAyqAAAAAAAAB6ZQQAAAAAAErGHgAAAAAA+mvXAAAAAADK8+MFAAAAAHqqOykAAAAASqmhIAEAAAD6oGvkBwAAAMpm8T43AAAAes+ZuIIBAABKrDQMkwoAAPq1cFUFSgAAyvkUViUGAgAAAAAAAwAAAAYAAAACAAAABQAAAAEAAAAEAAAAAAAAAAAAAAAFAAAAAwAAAAEAAAAGAAAABAAAAAIAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAA/////wAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAP////8AAAAAAAAAAAEAAAABAAAAAAAAAAAAAAD/////AAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAA/////wUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAHAAAABwAAAAEAAAACAAAABAAAAAMAAAAAAAAAAAAAAAcAAAADAAAAAQAAAAIAAAAFAAAABAAAAAAAAAAAAAAAYWxnb3MuYwBfcG9seWZpbGxJbnRlcm5hbABhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0dlb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9HZW9Cb3VuZGFyeQBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGgzVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAcGVudGFnb25Sb3RhdGlvbnMgPj0gMABkaXJlY3Rpb25Sb3RhdGlvbnMgPj0gMABiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvSDMAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAd2l0aGluUGVudGFnb25Sb3RhdGlvbnMgPj0gMABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl\";var jo=24032;function gn(Zt){return Zt}function Ul(Zt){var fe=/\\b__Z[\\w\\d_]+/g;return Zt.replace(fe,function(Be){var br=Be;return Be===br?Be:br+\" [\"+Be+\"]\"})}function Ca(){var Zt=new Error;if(!Zt.stack){try{throw new Error(0)}catch(fe){Zt=fe}if(!Zt.stack)return\"(no stack trace available)\"}return Zt.stack.toString()}function Te(){var Zt=Ca();return t.extraStackTrace&&(Zt+=`\n`+t.extraStackTrace()),Ul(Zt)}function Dr(Zt,fe,Be,br){oh(\"Assertion failed: \"+Xt(Zt)+\", at: \"+[fe?Xt(fe):\"unknown filename\",Be,br?Xt(br):\"unknown function\"])}function gr(){return Sr.length}function Us(Zt,fe,Be){Li.set(Li.subarray(fe,fe+Be),Zt)}function La(Zt){return t.___errno_location&&(No[t.___errno_location()>>2]=Zt),Zt}function Mr(Zt){oh(\"OOM\")}function sa(Zt){try{var fe=new ArrayBuffer(Zt);return fe.byteLength!=Zt?void 0:(new Int8Array(fe).set(Sr),xi(fe),Ns(fe),1)}catch{}}function gt(Zt){var fe=gr(),Be=16777216,br=2147483648-Be;if(Zt>br)return!1;for(var g=16777216,Vi=Math.max(fe,g);Vi>4,g=(Tt&15)<<4|Ms>>2,Vi=(Ms&3)<<6|cs,Be=Be+String.fromCharCode(br),Ms!==64&&(Be=Be+String.fromCharCode(g)),cs!==64&&(Be=Be+String.fromCharCode(Vi));while(li>2]=p,g[k+4>>2]=m,k=(C|0)!=0,k&&(g[C>>2]=0),ji(p,m)|0)return Nt=1,wt=Wt,Nt|0;g[Nt>>2]=0;t:do if((y|0)>=1)if(k)for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,g[C+(Ct<<2)>>2]=ot,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else k=0;while(!1);return Nt=k,wt=Wt,Nt|0}function Ba(p,m,y,S,C,k,L){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0,L=L|0;var z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if(Ct=wt,wt=wt+16|0,ot=Ct,(p|0)==0&(m|0)==0){wt=Ct;return}if(z=Yo(p|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0,It()|0,H=S+(z<<3)|0,Nt=H,Wt=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,it=(Wt|0)==(p|0)&(Nt|0)==(m|0),!((Wt|0)==0&(Nt|0)==0|it))do z=(z+1|0)%(k|0)|0,H=S+(z<<3)|0,Wt=H,Nt=g[Wt>>2]|0,Wt=g[Wt+4>>2]|0,it=(Nt|0)==(p|0)&(Wt|0)==(m|0);while(!((Nt|0)==0&(Wt|0)==0|it));if(z=C+(z<<2)|0,it&&(g[z>>2]|0)<=(L|0)){wt=Ct;return}if(Wt=H,g[Wt>>2]=p,g[Wt+4>>2]=m,g[z>>2]=L,(L|0)>=(y|0)){wt=Ct;return}Wt=L+1|0,g[ot>>2]=0,Nt=Wn(p,m,2,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,3,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,1,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,5,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,4,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,6,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),wt=Ct}function Wn(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if((g[S>>2]|0)>0){C=0;do y=Na(y)|0,C=C+1|0;while((C|0)<(g[S>>2]|0))}z=me(p|0,m|0,45)|0,It()|0,H=z&127,k=Es(p,m)|0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)L=6;else for(;;){if(Ct=(15-C|0)*3|0,Nt=me(p|0,m|0,Ct|0)|0,It()|0,Nt=Nt&7,Wt=(Ho(C)|0)==0,C=C+-1|0,ot=ke(7,0,Ct|0)|0,m=m&~(It()|0),Ct=ke(g[(Wt?464:48)+(Nt*28|0)+(y<<2)>>2]|0,0,Ct|0)|0,it=It()|0,y=g[(Wt?672:256)+(Nt*28|0)+(y<<2)>>2]|0,p=Ct|p&~ot,m=it|m,!y){y=0;break t}if(!C){L=6;break}}while(!1);(L|0)==6&&(Wt=g[880+(H*28|0)+(y<<2)>>2]|0,Nt=ke(Wt|0,0,45)|0,p=Nt|p,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+(y<<2)>>2]|0,(Wt&127|0)==127&&(Wt=ke(g[880+(H*28|0)+20>>2]|0,0,45)|0,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+20>>2]|0,p=Wo(Wt|p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1)),L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){e:do if((Es(p,m)|0)==1){if((H|0)!=(L|0))if(ch(L,g[7728+(H*28|0)>>2]|0)|0){p=Fd(p,m)|0,k=1,m=It()|0;break}else{p=Wo(p,m)|0,k=1,m=It()|0;break}switch(k|0){case 5:{p=Fd(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+5,k=0;break e}case 3:{p=Wo(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1,k=0;break e}default:return Nt=0,Wt=0,Je(Nt|0),Wt|0}}else k=0;while(!1);if((y|0)>0){C=0;do p=gh(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}if((H|0)!=(L|0)){if(!(mu(L)|0)){if((k|0)!=0|(Es(p,m)|0)!=5)break;g[S>>2]=(g[S>>2]|0)+1;break}switch(z&127){case 8:case 118:break t;default:}(Es(p,m)|0)!=3&&(g[S>>2]=(g[S>>2]|0)+1)}}else if((y|0)>0){C=0;do p=Wo(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}while(!1);return g[S>>2]=((g[S>>2]|0)+y|0)%6|0,Nt=m,Wt=p,Je(Nt|0),Wt|0}function p_(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;if(Ct=wt,wt=wt+16|0,ot=Ct,!y)return ot=S,g[ot>>2]=p,g[ot+4>>2]=m,ot=0,wt=Ct,ot|0;g[ot>>2]=0;t:do if(ji(p,m)|0)p=1;else{if(k=(y|0)>0,k){C=0,it=p;do{if(it=Wn(it,m,4,ot)|0,m=It()|0,(it|0)==0&(m|0)==0){p=2;break t}if(C=C+1|0,ji(it,m)|0){p=1;break t}}while((C|0)<(y|0));if(H=S,g[H>>2]=it,g[H+4>>2]=m,H=y+-1|0,k){k=0,L=1,C=it,p=m;do{if(C=Wn(C,p,2,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(L<<3)|0,g[z>>2]=C,g[z+4>>2]=p,L=L+1|0,ji(C,p)|0){p=1;break t}k=k+1|0}while((k|0)<(y|0));z=0,k=L;do{if(C=Wn(C,p,3,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(L=S+(k<<3)|0,g[L>>2]=C,g[L+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}z=z+1|0}while((z|0)<(y|0));L=0;do{if(C=Wn(C,p,1,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,5,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,4,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));for(L=0;;){if(C=Wn(C,p,6,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if((L|0)!=(H|0))if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,!(ji(C,p)|0))k=k+1|0;else{p=1;break t}if(L=L+1|0,(L|0)>=(y|0)){L=it,k=m;break}}}else L=it,C=it,k=m,p=m}else L=S,g[L>>2]=p,g[L+4>>2]=m,L=p,C=p,k=m,p=m;p=((L|0)!=(C|0)|(k|0)!=(p|0))&1}while(!1);return ot=p,wt=Ct,ot|0}function Cd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(k=wt,wt=wt+48|0,C=k+8|0,S=k,z=p,L=g[z+4>>2]|0,y=S,g[y>>2]=g[z>>2],g[y+4>>2]=L,Ee(S,C),C=uh(C,m)|0,m=g[S>>2]|0,S=g[p+8>>2]|0,(S|0)<=0)return z=m,L=(C|0)<(z|0),z=L?z:C,z=z+12|0,wt=k,z|0;y=g[p+12>>2]|0,p=0;do m=(g[y+(p<<3)>>2]|0)+m|0,p=p+1|0;while((p|0)<(S|0));return z=(C|0)<(m|0),z=z?m:C,z=z+12|0,wt=k,z|0}function $p(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;if(z=wt,wt=wt+48|0,S=z+8|0,C=z,!(Xp(p,m,y)|0)){wt=z;return}if(H=p,k=g[H+4>>2]|0,L=C,g[L>>2]=g[H>>2],g[L+4>>2]=k,Ee(C,S),L=uh(S,m)|0,m=g[C>>2]|0,k=g[p+8>>2]|0,(k|0)>0){C=g[p+12>>2]|0,S=0;do m=(g[C+(S<<3)>>2]|0)+m|0,S=S+1|0;while((S|0)!=(k|0))}if(m=(L|0)<(m|0)?m:L,(m|0)<=-12){wt=z;return}H=m+11|0,Fc(y|0,0,(((H|0)>0?H:0)<<3)+8|0)|0,wt=z}function Xp(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Or=wt,wt=wt+112|0,hn=Or+80|0,H=Or+72|0,Pi=Or,Sn=Or+56|0,it=p+8|0,yn=ho((g[it>>2]<<5)+32|0)|0,yn||Mi(22848,22448,800,22456),pr(p,yn),k=p,S=g[k+4>>2]|0,z=H,g[z>>2]=g[k>>2],g[z+4>>2]=S,Ee(H,hn),z=uh(hn,m)|0,S=g[H>>2]|0,k=g[it>>2]|0,(k|0)>0){L=g[p+12>>2]|0,C=0;do S=(g[L+(C<<3)>>2]|0)+S|0,C=C+1|0;while((C|0)!=(k|0))}if(z=(z|0)<(S|0)?S:z,Ei=z+12|0,C=Ua(Ei,8)|0,ot=Ua(Ei,8)|0,g[hn>>2]=0,Zr=p,qi=g[Zr+4>>2]|0,S=H,g[S>>2]=g[Zr>>2],g[S+4>>2]=qi,S=i0(H,Ei,m,hn,C,ot)|0,S|0)return Gr(C),Gr(ot),Gr(yn),yn=S,wt=Or,yn|0;t:do if((g[it>>2]|0)>0){for(k=p+12|0,S=0;L=i0((g[k>>2]|0)+(S<<3)|0,Ei,m,hn,C,ot)|0,S=S+1|0,!(L|0);)if((S|0)>=(g[it>>2]|0))break t;return Gr(C),Gr(ot),Gr(yn),yn=L,wt=Or,yn|0}while(!1);(z|0)>-12&&Fc(ot|0,0,((Ei|0)>1?Ei:1)<<3|0)|0;t:do if((g[hn>>2]|0)>0){qi=((Ei|0)<0)<<31>>31,Ut=C,$e=ot,er=C,we=C,je=ot,Zr=C,S=C,Le=C,We=ot,te=ot,_e=ot,C=ot;e:for(;;){for(ne=g[hn>>2]|0,Wt=0,re=0,k=0;;){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));if(m=Ut+(Wt<<3)|0,H=g[m>>2]|0,m=g[m+4>>2]|0,yf(H,m,1,Pi,0)|0){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));L=Ua(7,4)|0,L|0&&(Ba(H,m,1,Pi,L,7,0),Gr(L))}Nt=0;do{Ct=Pi+(Nt<<3)|0,ot=g[Ct>>2]|0,Ct=g[Ct+4>>2]|0;r:do if(!((ot|0)==0&(Ct|0)==0)){if(H=Yo(ot|0,Ct|0,Ei|0,qi|0)|0,It()|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,!((m|0)==0&(z|0)==0))for(it=0;;){if((it|0)>(Ei|0))break e;if((m|0)==(ot|0)&(z|0)==(Ct|0))break r;if(H=(H+1|0)%(Ei|0)|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,(m|0)==0&(z|0)==0)break;it=it+1|0}(ot|0)==0&(Ct|0)==0||(l(ot,Ct,Sn),tr(p,yn,Sn)|0&&(it=L,g[it>>2]=ot,g[it+4>>2]=Ct,it=$e+(k<<3)|0,g[it>>2]=ot,g[it+4>>2]=Ct,k=k+1|0))}while(!1);Nt=Nt+1|0}while(Nt>>>0<7);if(re=re+1|0,(re|0)>=(ne|0))break;Wt=Wt+1|0}if((ne|0)>0&&Fc(er|0,0,ne<<3|0)|0,g[hn>>2]=k,(k|0)>0)ot=C,Ct=_e,Nt=Zr,Wt=te,re=We,ne=$e,C=Le,_e=S,te=we,We=er,Le=ot,S=Ct,Zr=je,je=Nt,we=Wt,er=re,$e=Ut,Ut=ne;else break t}return Gr(we),Gr(je),Gr(yn),yn=-1,wt=Or,yn|0}else S=ot;while(!1);return Gr(yn),Gr(C),Gr(S),yn=0,wt=Or,yn|0}function i0(p,m,y,S,C,k){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0;var L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0;if(qi=wt,wt=wt+48|0,er=qi+32|0,we=qi+16|0,je=qi,L=g[p>>2]|0,(L|0)<=0)return Zr=0,wt=qi,Zr|0;We=p+4|0,te=er+8|0,_e=we+8|0,Ut=je+8|0,$e=((m|0)<0)<<31>>31,Le=0;t:for(;;){z=g[We>>2]|0,re=z+(Le<<4)|0,g[er>>2]=g[re>>2],g[er+4>>2]=g[re+4>>2],g[er+8>>2]=g[re+8>>2],g[er+12>>2]=g[re+12>>2],(Le|0)==(L+-1|0)?(g[we>>2]=g[z>>2],g[we+4>>2]=g[z+4>>2],g[we+8>>2]=g[z+8>>2],g[we+12>>2]=g[z+12>>2]):(re=z+(Le+1<<4)|0,g[we>>2]=g[re>>2],g[we+4>>2]=g[re+4>>2],g[we+8>>2]=g[re+8>>2],g[we+12>>2]=g[re+12>>2]),re=la(er,we,y)|0;e:do if((re|0)>0){ne=+(re|0),Wt=0;r:for(;;){hn=+(re-Wt|0),Ei=+(Wt|0),Tt[je>>3]=+Tt[er>>3]*hn/ne+ +Tt[we>>3]*Ei/ne,Tt[Ut>>3]=+Tt[te>>3]*hn/ne+ +Tt[_e>>3]*Ei/ne,Ct=lA(je,y)|0,Nt=It()|0,z=Yo(Ct|0,Nt|0,m|0,$e|0)|0,It()|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0;i:do if((it|0)==0&(H|0)==0)Zr=14;else for(ot=0;;){if((ot|0)>(m|0)){L=1;break i}if((it|0)==(Ct|0)&(H|0)==(Nt|0)){L=7;break i}if(z=(z+1|0)%(m|0)|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0){Zr=14;break}else ot=ot+1|0}while(!1);switch((Zr|0)==14&&(Zr=0,(Ct|0)==0&(Nt|0)==0?L=7:(g[L>>2]=Ct,g[L+4>>2]=Nt,L=g[S>>2]|0,ot=C+(L<<3)|0,g[ot>>2]=Ct,g[ot+4>>2]=Nt,g[S>>2]=L+1,L=0)),L&7){case 7:case 0:break;default:break r}if(Wt=Wt+1|0,(re|0)<=(Wt|0)){Zr=8;break e}}if(L|0){L=-1,Zr=20;break t}}else Zr=8;while(!1);if((Zr|0)==8&&(Zr=0),Le=Le+1|0,L=g[p>>2]|0,(Le|0)>=(L|0)){L=0,Zr=20;break}}return(Zr|0)==20?(wt=qi,L|0):0}function Cn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+176|0,H=it,(m|0)<1){vu(y,0,0),wt=it;return}L=p,L=me(g[L>>2]|0,g[L+4>>2]|0,52)|0,It()|0,vu(y,(m|0)>6?m:6,L&15),L=0;do{if(S=p+(L<<3)|0,d(g[S>>2]|0,g[S+4>>2]|0,H),S=g[H>>2]|0,(S|0)>0){z=0;do k=H+8+(z<<4)|0,z=z+1|0,S=H+8+(((z|0)%(S|0)|0)<<4)|0,C=yh(y,S,k)|0,C?Ps(y,C)|0:Eo(y,k,S)|0,S=g[H>>2]|0;while((z|0)<(S|0))}L=L+1|0}while((L|0)!=(m|0));wt=it}function ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=wt,wt=wt+32|0,S=k,C=k+16|0,Cn(p,m,C),g[y>>2]=0,g[y+4>>2]=0,g[y+8>>2]=0,p=Ws(C)|0,!p){Ht(y)|0,_h(C),wt=k;return}do{m=yt(y)|0;do dt(m,p)|0,L=p+16|0,g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],g[S+12>>2]=g[L+12>>2],Ps(C,p)|0,p=Fn(C,S)|0;while(p|0);p=Ws(C)|0}while(p|0);Ht(y)|0,_h(C),wt=k}function fi(p){return p=p|0,g[7728+(p*28|0)+16>>2]|0}function mu(p){return p=p|0,(p|0)==4|(p|0)==117|0}function vf(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)>>2]|0}function Kp(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)+4>>2]|0}function lh(p,m){p=p|0,m=m|0,p=7728+(p*28|0)|0,g[m>>2]=g[p>>2],g[m+4>>2]=g[p+4>>2],g[m+8>>2]=g[p+8>>2],g[m+12>>2]=g[p+12>>2]}function Ld(p,m){p=p|0,m=m|0;var y=0,S=0;if(m>>>0>20)return m=-1,m|0;do if((g[11152+(m*216|0)>>2]|0)!=(p|0))if((g[11152+(m*216|0)+8>>2]|0)!=(p|0))if((g[11152+(m*216|0)+16>>2]|0)!=(p|0))if((g[11152+(m*216|0)+24>>2]|0)!=(p|0))if((g[11152+(m*216|0)+32>>2]|0)!=(p|0))if((g[11152+(m*216|0)+40>>2]|0)!=(p|0))if((g[11152+(m*216|0)+48>>2]|0)!=(p|0))if((g[11152+(m*216|0)+56>>2]|0)!=(p|0))if((g[11152+(m*216|0)+64>>2]|0)!=(p|0))if((g[11152+(m*216|0)+72>>2]|0)!=(p|0))if((g[11152+(m*216|0)+80>>2]|0)!=(p|0))if((g[11152+(m*216|0)+88>>2]|0)!=(p|0))if((g[11152+(m*216|0)+96>>2]|0)!=(p|0))if((g[11152+(m*216|0)+104>>2]|0)!=(p|0))if((g[11152+(m*216|0)+112>>2]|0)!=(p|0))if((g[11152+(m*216|0)+120>>2]|0)!=(p|0))if((g[11152+(m*216|0)+128>>2]|0)!=(p|0))if((g[11152+(m*216|0)+136>>2]|0)==(p|0))p=2,y=1,S=2;else{if((g[11152+(m*216|0)+144>>2]|0)==(p|0)){p=0,y=2,S=0;break}if((g[11152+(m*216|0)+152>>2]|0)==(p|0)){p=0,y=2,S=1;break}if((g[11152+(m*216|0)+160>>2]|0)==(p|0)){p=0,y=2,S=2;break}if((g[11152+(m*216|0)+168>>2]|0)==(p|0)){p=1,y=2,S=0;break}if((g[11152+(m*216|0)+176>>2]|0)==(p|0)){p=1,y=2,S=1;break}if((g[11152+(m*216|0)+184>>2]|0)==(p|0)){p=1,y=2,S=2;break}if((g[11152+(m*216|0)+192>>2]|0)==(p|0)){p=2,y=2,S=0;break}if((g[11152+(m*216|0)+200>>2]|0)==(p|0)){p=2,y=2,S=1;break}if((g[11152+(m*216|0)+208>>2]|0)==(p|0)){p=2,y=2,S=2;break}else p=-1;return p|0}else p=2,y=1,S=1;else p=2,y=1,S=0;else p=1,y=1,S=2;else p=1,y=1,S=1;else p=1,y=1,S=0;else p=0,y=1,S=2;else p=0,y=1,S=1;else p=0,y=1,S=0;else p=2,y=0,S=2;else p=2,y=0,S=1;else p=2,y=0,S=0;else p=1,y=0,S=2;else p=1,y=0,S=1;else p=1,y=0,S=0;else p=0,y=0,S=2;else p=0,y=0,S=1;else p=0,y=0,S=0;while(!1);return m=g[11152+(m*216|0)+(y*72|0)+(p*24|0)+(S<<3)+4>>2]|0,m|0}function ch(p,m){return p=p|0,m=m|0,(g[7728+(p*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(g[7728+(p*28|0)+24>>2]|0)==(m|0),m|0)}function Jp(p,m){return p=p|0,m=m|0,g[880+(p*28|0)+(m<<2)>>2]|0}function tA(p,m){return p=p|0,m=m|0,(g[880+(p*28|0)>>2]|0)==(m|0)?(m=0,m|0):(g[880+(p*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(g[880+(p*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(g[880+(p*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(g[880+(p*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(g[880+(p*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((g[880+(p*28|0)+24>>2]|0)==(m|0)?6:7)|0}function A_(){return 122}function m_(p){p=p|0;var m=0,y=0,S=0;m=0;do ke(m|0,0,45)|0,S=It()|0|134225919,y=p+(m<<3)|0,g[y>>2]=-1,g[y+4>>2]=S,m=m+1|0;while((m|0)!=122)}function n0(p){return p=p|0,+Tt[p+16>>3]<+Tt[p+24>>3]|0}function pl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return y=+Tt[m>>3],!(y>=+Tt[p+8>>3])||!(y<=+Tt[p>>3])?(m=0,m|0):(S=+Tt[p+16>>3],y=+Tt[p+24>>3],C=+Tt[m+8>>3],m=C>=y,p=C<=S&1,S>2]=0,k=k+4|0;while((k|0)<(z|0));return O(m,C),k=C,z=g[k>>2]|0,k=g[k+4>>2]|0,l(z,k,y),d(z,k,S),H=+Bc(y,S+8|0),Tt[y>>3]=+Tt[p>>3],k=y+8|0,Tt[k>>3]=+Tt[p+16>>3],Tt[S>>3]=+Tt[p+8>>3],z=S+8|0,Tt[z>>3]=+Tt[p+24>>3],it=+Bc(y,S),z=~~+Ji(+(it*it/+ml(+ +li(+((+Tt[k>>3]-+Tt[z>>3])/(+Tt[y>>3]-+Tt[S>>3]))),3)/(H*(H*2.59807621135)*.8))),wt=L,(z|0?z:1)|0}function la(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;z=wt,wt=wt+288|0,S=z+264|0,C=z+96|0,k=z,L=k,H=L+96|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(H|0));return O(y,k),H=k,L=g[H>>2]|0,H=g[H+4>>2]|0,l(L,H,S),d(L,H,C),it=+Bc(S,C+8|0),H=~~+Ji(+(+Bc(p,m)/(it*2))),wt=z,(H|0?H:1)|0}function kd(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0,g[p>>2]=m,g[p+4>>2]=y,g[p+8>>2]=S}function g_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;Ct=m+8|0,g[Ct>>2]=0,H=+Tt[p>>3],L=+li(+H),it=+Tt[p+8>>3],z=+li(+it)/.8660254037844386,L=L+z*.5,y=~~L,p=~~z,L=L-+(y|0),z=z-+(p|0);do if(L<.5)if(L<.3333333333333333)if(g[m>>2]=y,z<(L+1)*.5){g[m+4>>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}else if(Nt=1-L,p=(!(z>2]=p,Nt<=z&z>2]=y;break}else{g[m>>2]=y;break}else{if(!(L<.6666666666666666))if(y=y+1|0,g[m>>2]=y,z>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}if(z<1-L){if(g[m+4>>2]=p,L*2+-1>2]=y;break}}else p=p+1|0,g[m+4>>2]=p;y=y+1|0,g[m>>2]=y}while(!1);do if(H<0)if(p&1){ot=(p+1|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-((+(ot>>>0)+4294967296*+(It()|0))*2+1)),g[m>>2]=y;break}else{ot=(p|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-(+(ot>>>0)+4294967296*+(It()|0))*2),g[m>>2]=y;break}while(!1);ot=m+4|0,it<0&&(y=y-((p<<1|1|0)/2|0)|0,g[m>>2]=y,p=0-p|0,g[ot>>2]=p),S=p-y|0,(y|0)<0?(C=0-y|0,g[ot>>2]=S,g[Ct>>2]=C,g[m>>2]=0,p=S,y=0):C=0,(p|0)<0&&(y=y-p|0,g[m>>2]=y,C=C-p|0,g[Ct>>2]=C,g[ot>>2]=0,p=0),k=y-C|0,S=p-C|0,(C|0)<0&&(g[m>>2]=k,g[ot>>2]=S,g[Ct>>2]=0,p=S,y=k,C=0),S=(p|0)<(y|0)?p:y,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[m>>2]=y-S,g[ot>>2]=p-S,g[Ct>>2]=C-S)}function js(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,(m|0)<0&&(y=y-m|0,g[L>>2]=y,k=p+8|0,g[k>>2]=(g[k>>2]|0)-m,g[p>>2]=0,m=0),(y|0)<0?(m=m-y|0,g[p>>2]=m,k=p+8|0,C=(g[k>>2]|0)-y|0,g[k>>2]=C,g[L>>2]=0,y=0):(C=p+8|0,k=C,C=g[C>>2]|0),(C|0)<0&&(m=m-C|0,g[p>>2]=m,y=y-C|0,g[L>>2]=y,g[k>>2]=0,C=0),S=(y|0)<(m|0)?y:m,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[p>>2]=m-S,g[L>>2]=y-S,g[k>>2]=C-S)}function gu(p,m){p=p|0,m=m|0;var y=0,S=0;S=g[p+8>>2]|0,y=+((g[p+4>>2]|0)-S|0),Tt[m>>3]=+((g[p>>2]|0)-S|0)-y*.5,Tt[m+8>>3]=y*.8660254037844386}function Ln(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[m>>2]|0)+(g[p>>2]|0),g[y+4>>2]=(g[m+4>>2]|0)+(g[p+4>>2]|0),g[y+8>>2]=(g[m+8>>2]|0)+(g[p+8>>2]|0)}function eA(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[p>>2]|0)-(g[m>>2]|0),g[y+4>>2]=(g[p+4>>2]|0)-(g[m+4>>2]|0),g[y+8>>2]=(g[p+8>>2]|0)-(g[m+8>>2]|0)}function ca(p,m){p=p|0,m=m|0;var y=0,S=0;y=Oc(g[p>>2]|0,m)|0,g[p>>2]=y,y=p+4|0,S=Oc(g[y>>2]|0,m)|0,g[y>>2]=S,p=p+8|0,m=Oc(g[p>>2]|0,m)|0,g[p>>2]=m}function Fa(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=g[p>>2]|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(k?0-S|0:0)+((g[p+8>>2]|0)-(z?L:0))|0,y=(C|0)<0,p=y?0:C,m=(k?0:S)-(y?C:0)|0,C=(z?0:L)-(k?S:0)-(y?C:0)|0,y=(m|0)<(C|0)?m:C,y=(p|0)<(y|0)?p:y,S=(y|0)>0,p=p-(S?y:0)|0,m=m-(S?y:0)|0;t:do switch(C-(S?y:0)|0){case 0:switch(m|0){case 0:return z=p|0?(p|0)==1?1:7:0,z|0;case 1:return z=p|0?(p|0)==1?3:7:2,z|0;default:break t}case 1:switch(m|0){case 0:return z=p|0?(p|0)==1?5:7:4,z|0;case 1:{if(!p)p=6;else break t;return p|0}default:break t}default:}while(!1);return z=7,z|0}function Rd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m*3|0)-y|0)/7)|0,g[p>>2]=S,m=_n(+((y<<1)+m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function Al(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m<<1)+y|0)/7)|0,g[p>>2]=S,m=_n(+((y*3|0)-m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function za(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m*3|0)|0,g[p>>2]=C,y=S+(y*3|0)|0,g[L>>2]=y,m=(S*3|0)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function hh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m*3|0)+C|0,C=y+(C*3|0)|0,g[p>>2]=C,g[L>>2]=S,m=(y*3|0)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function rA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;(m+-1|0)>>>0>=6||(C=(g[15472+(m*12|0)>>2]|0)+(g[p>>2]|0)|0,g[p>>2]=C,z=p+4|0,S=(g[15472+(m*12|0)+4>>2]|0)+(g[z>>2]|0)|0,g[z>>2]=S,L=p+8|0,m=(g[15472+(m*12|0)+8>>2]|0)+(g[L>>2]|0)|0,g[L>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[z>>2]=y,g[L>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[L>>2]=m,g[z>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[z>>2]=C-y,g[L>>2]=m-y))}function s0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=m+C|0,C=y+C|0,g[p>>2]=C,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function fh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,S=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,C=S+m|0,g[p>>2]=C,S=y+S|0,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Na(p){switch(p=p|0,p|0){case 1:{p=5;break}case 5:{p=4;break}case 4:{p=6;break}case 6:{p=2;break}case 2:{p=3;break}case 3:{p=1;break}default:}return p|0}function co(p){switch(p=p|0,p|0){case 1:{p=3;break}case 3:{p=2;break}case 2:{p=6;break}case 6:{p=4;break}case 4:{p=5;break}case 5:{p=1;break}default:}return p|0}function Ge(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m<<1)|0,g[p>>2]=C,y=S+(y<<1)|0,g[L>>2]=y,m=(S<<1)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Dd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m<<1)+C|0,C=y+(C<<1)|0,g[p>>2]=C,g[L>>2]=S,m=(y<<1)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function Hl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;return L=(g[p>>2]|0)-(g[m>>2]|0)|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(g[m+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(z?0-L|0:0)+(g[p+8>>2]|0)-(g[m+8>>2]|0)+(k?0-S|0:0)|0,p=(C|0)<0,m=p?0:C,y=(k?0:S)-(p?C:0)|0,C=(z?0:L)-(k?S:0)-(p?C:0)|0,p=(y|0)<(C|0)?y:C,p=(m|0)<(p|0)?m:p,S=(p|0)>0,m=m-(S?p:0)|0,y=y-(S?p:0)|0,p=C-(S?p:0)|0,p=(p|0)>-1?p:0-p|0,y=(y|0)>-1?y:0-y|0,m=(m|0)>-1?m:0-m|0,m=(y|0)>(m|0)?y:m,((p|0)>(m|0)?p:m)|0}function xf(p,m){p=p|0,m=m|0;var y=0;y=g[p+8>>2]|0,g[m>>2]=(g[p>>2]|0)-y,g[m+4>>2]=(g[p+4>>2]|0)-y}function __(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;S=g[p>>2]|0,g[m>>2]=S,p=g[p+4>>2]|0,L=m+4|0,g[L>>2]=p,z=m+8|0,g[z>>2]=0,y=p-S|0,(S|0)<0?(p=0-S|0,g[L>>2]=y,g[z>>2]=p,g[m>>2]=0,S=0):(y=p,p=0),(y|0)<0&&(S=S-y|0,g[m>>2]=S,p=p-y|0,g[z>>2]=p,g[L>>2]=0,y=0),k=S-p|0,C=y-p|0,(p|0)<0?(g[m>>2]=k,g[L>>2]=C,g[z>>2]=0,y=C,C=k,p=0):C=S,S=(y|0)<(C|0)?y:C,S=(p|0)<(S|0)?p:S,!((S|0)<=0)&&(g[m>>2]=C-S,g[L>>2]=y-S,g[z>>2]=p-S)}function Oe(p){p=p|0;var m=0,y=0,S=0,C=0;m=p+8|0,C=g[m>>2]|0,y=C-(g[p>>2]|0)|0,g[p>>2]=y,S=p+4|0,p=(g[S>>2]|0)-C|0,g[S>>2]=p,g[m>>2]=0-(p+y)}function o0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;y=g[p>>2]|0,m=0-y|0,g[p>>2]=m,L=p+8|0,g[L>>2]=0,z=p+4|0,S=g[z>>2]|0,C=S+y|0,(y|0)>0?(g[z>>2]=C,g[L>>2]=y,g[p>>2]=0,m=0,S=C):y=0,(S|0)<0?(k=m-S|0,g[p>>2]=k,y=y-S|0,g[L>>2]=y,g[z>>2]=0,C=k-y|0,m=0-y|0,(y|0)<0?(g[p>>2]=C,g[z>>2]=m,g[L>>2]=0,S=m,y=0):(S=0,C=k)):C=m,m=(S|0)<(C|0)?S:C,m=(y|0)<(m|0)?y:m,!((m|0)<=0)&&(g[p>>2]=C-m,g[z>>2]=S-m,g[L>>2]=y-m)}function a0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,zx(p,m,y,C),g_(C,y+4|0),wt=S}function zx(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0;if(H=wt,wt=wt+32|0,k=H,ql(p,k),g[y>>2]=0,C=+jr(15888,k),L=+jr(15912,k),L>2]=1,C=L),L=+jr(15936,k),L>2]=2,C=L),L=+jr(15960,k),L>2]=3,C=L),L=+jr(15984,k),L>2]=4,C=L),L=+jr(16008,k),L>2]=5,C=L),L=+jr(16032,k),L>2]=6,C=L),L=+jr(16056,k),L>2]=7,C=L),L=+jr(16080,k),L>2]=8,C=L),L=+jr(16104,k),L>2]=9,C=L),L=+jr(16128,k),L>2]=10,C=L),L=+jr(16152,k),L>2]=11,C=L),L=+jr(16176,k),L>2]=12,C=L),L=+jr(16200,k),L>2]=13,C=L),L=+jr(16224,k),L>2]=14,C=L),L=+jr(16248,k),L>2]=15,C=L),L=+jr(16272,k),L>2]=16,C=L),L=+jr(16296,k),L>2]=17,C=L),L=+jr(16320,k),L>2]=18,C=L),L=+jr(16344,k),L>2]=19,C=L),L=+_f(+(1-C*.5)),L<1e-16){g[S>>2]=0,g[S+4>>2]=0,g[S+8>>2]=0,g[S+12>>2]=0,wt=H;return}if(y=g[y>>2]|0,C=+Tt[16368+(y*24|0)>>3],C=+ph(C-+ph(+Od(15568+(y<<4)|0,p))),Ho(m)|0?z=+ph(C+-.3334731722518321):z=C,C=+To(+L)/.381966011250105,(m|0)>0){k=0;do C=C*2.6457513110645907,k=k+1|0;while((k|0)!=(m|0))}L=+Ur(+z)*C,Tt[S>>3]=L,z=+hi(+z)*C,Tt[S+8>>3]=z,wt=H}function dh(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;if(k=+hs(p),k<1e-16){m=15568+(m<<4)|0,g[C>>2]=g[m>>2],g[C+4>>2]=g[m+4>>2],g[C+8>>2]=g[m+8>>2],g[C+12>>2]=g[m+12>>2];return}if(L=+qr(+ +Tt[p+8>>3],+ +Tt[p>>3]),(y|0)>0){p=0;do k=k/2.6457513110645907,p=p+1|0;while((p|0)!=(y|0))}S?(k=k/3,y=(Ho(y)|0)==0,k=+Md(+((y?k:k/2.6457513110645907)*.381966011250105))):(k=+Md(+(k*.381966011250105)),Ho(y)|0&&(L=+ph(L+.3334731722518321))),f0(15568+(m<<4)|0,+ph(+Tt[16368+(m*24|0)>>3]-L),k,C)}function y_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,gu(p+4|0,C),dh(C,g[p>>2]|0,m,0,y),wt=S}function l0(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Sn=wt,wt=wt+272|0,k=Sn+256|0,te=Sn+240|0,Ei=Sn,hn=Sn+224|0,Pi=Sn+208|0,_e=Sn+176|0,Ut=Sn+160|0,$e=Sn+192|0,er=Sn+144|0,we=Sn+128|0,je=Sn+112|0,Zr=Sn+96|0,qi=Sn+80|0,g[k>>2]=m,g[te>>2]=g[p>>2],g[te+4>>2]=g[p+4>>2],g[te+8>>2]=g[p+8>>2],g[te+12>>2]=g[p+12>>2],c0(te,k,Ei),g[C>>2]=0,te=S+y+((S|0)==5&1)|0,(te|0)<=(y|0)){wt=Sn;return}H=g[k>>2]|0,it=hn+4|0,ot=_e+4|0,Ct=y+5|0,Nt=16848+(H<<2)|0,Wt=16928+(H<<2)|0,re=we+8|0,ne=je+8|0,Le=Zr+8|0,We=Pi+4|0,z=y;t:for(;;){L=Ei+(((z|0)%5|0)<<4)|0,g[Pi>>2]=g[L>>2],g[Pi+4>>2]=g[L+4>>2],g[Pi+8>>2]=g[L+8>>2],g[Pi+12>>2]=g[L+12>>2];do;while((bf(Pi,H,0,1)|0)==2);if((z|0)>(y|0)&(Ho(m)|0)!=0){if(g[_e>>2]=g[Pi>>2],g[_e+4>>2]=g[Pi+4>>2],g[_e+8>>2]=g[Pi+8>>2],g[_e+12>>2]=g[Pi+12>>2],gu(it,Ut),S=g[_e>>2]|0,k=g[17008+(S*80|0)+(g[hn>>2]<<2)>>2]|0,g[_e>>2]=g[18608+(S*80|0)+(k*20|0)>>2],L=g[18608+(S*80|0)+(k*20|0)+16>>2]|0,(L|0)>0){p=0;do s0(ot),p=p+1|0;while((p|0)<(L|0))}switch(L=18608+(S*80|0)+(k*20|0)+4|0,g[$e>>2]=g[L>>2],g[$e+4>>2]=g[L+4>>2],g[$e+8>>2]=g[L+8>>2],ca($e,(g[Nt>>2]|0)*3|0),Ln(ot,$e,ot),js(ot),gu(ot,er),yn=+(g[Wt>>2]|0),Tt[we>>3]=yn*3,Tt[re>>3]=0,Or=yn*-1.5,Tt[je>>3]=Or,Tt[ne>>3]=yn*2.598076211353316,Tt[Zr>>3]=Or,Tt[Le>>3]=yn*-2.598076211353316,g[17008+((g[_e>>2]|0)*80|0)+(g[Pi>>2]<<2)>>2]|0){case 1:{p=je,S=we;break}case 3:{p=Zr,S=je;break}case 2:{p=we,S=Zr;break}default:{p=12;break t}}Bn(Ut,er,S,p,qi),dh(qi,g[_e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1}if((z|0)<(Ct|0)&&(gu(We,_e),dh(_e,g[Pi>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),g[hn>>2]=g[Pi>>2],g[hn+4>>2]=g[Pi+4>>2],g[hn+8>>2]=g[Pi+8>>2],g[hn+12>>2]=g[Pi+12>>2],z=z+1|0,(z|0)>=(te|0)){p=3;break}}if((p|0)==3){wt=Sn;return}else(p|0)==12&&Mi(22474,22521,581,22531)}function c0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+128|0,S=H+64|0,C=H,k=S,L=20208,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20272,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],y=y+68|0,Ln(C,S+48|0,y),js(y),wt=H}function bf(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(re=wt,wt=wt+32|0,Nt=re+12|0,z=re,Wt=p+4|0,Ct=g[16928+(m<<2)>>2]|0,ot=(S|0)!=0,Ct=ot?Ct*3|0:Ct,C=g[Wt>>2]|0,it=p+8|0,L=g[it>>2]|0,ot){if(k=p+12|0,S=g[k>>2]|0,C=L+C+S|0,(C|0)==(Ct|0))return Wt=1,wt=re,Wt|0;H=k}else H=p+12|0,S=g[H>>2]|0,C=L+C+S|0;if((C|0)<=(Ct|0))return Wt=0,wt=re,Wt|0;do if((S|0)>0){if(S=g[p>>2]|0,(L|0)>0){k=18608+(S*80|0)+60|0,S=p;break}S=18608+(S*80|0)+40|0,y?(kd(Nt,Ct,0,0),eA(Wt,Nt,z),fh(z),Ln(z,Nt,Wt),k=S,S=p):(k=S,S=p)}else k=18608+((g[p>>2]|0)*80|0)+20|0,S=p;while(!1);if(g[S>>2]=g[k>>2],C=k+16|0,(g[C>>2]|0)>0){S=0;do s0(Wt),S=S+1|0;while((S|0)<(g[C>>2]|0))}return p=k+4|0,g[Nt>>2]=g[p>>2],g[Nt+4>>2]=g[p+4>>2],g[Nt+8>>2]=g[p+8>>2],m=g[16848+(m<<2)>>2]|0,ca(Nt,ot?m*3|0:m),Ln(Wt,Nt,Wt),js(Wt),ot?S=((g[it>>2]|0)+(g[Wt>>2]|0)+(g[H>>2]|0)|0)==(Ct|0)?1:2:S=2,Wt=S,wt=re,Wt|0}function u0(p,m){p=p|0,m=m|0;var y=0;do y=bf(p,m,0,1)|0;while((y|0)==2);return y|0}function iA(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0;if(Zr=wt,wt=wt+240|0,k=Zr+224|0,$e=Zr+208|0,er=Zr,we=Zr+192|0,je=Zr+176|0,Le=Zr+160|0,We=Zr+144|0,te=Zr+128|0,_e=Zr+112|0,Ut=Zr+96|0,g[k>>2]=m,g[$e>>2]=g[p>>2],g[$e+4>>2]=g[p+4>>2],g[$e+8>>2]=g[p+8>>2],g[$e+12>>2]=g[p+12>>2],nA($e,k,er),g[C>>2]=0,ne=S+y+((S|0)==6&1)|0,(ne|0)<=(y|0)){wt=Zr;return}H=g[k>>2]|0,it=y+6|0,ot=16928+(H<<2)|0,Ct=We+8|0,Nt=te+8|0,Wt=_e+8|0,re=we+4|0,L=0,z=y,S=-1;t:for(;;){if(k=(z|0)%6|0,p=er+(k<<4)|0,g[we>>2]=g[p>>2],g[we+4>>2]=g[p+4>>2],g[we+8>>2]=g[p+8>>2],g[we+12>>2]=g[p+12>>2],p=L,L=bf(we,H,0,1)|0,(z|0)>(y|0)&(Ho(m)|0)!=0&&(p|0)!=1&&(g[we>>2]|0)!=(S|0)){switch(gu(er+(((k+5|0)%6|0)<<4)+4|0,je),gu(er+(k<<4)+4|0,Le),qi=+(g[ot>>2]|0),Tt[We>>3]=qi*3,Tt[Ct>>3]=0,Ei=qi*-1.5,Tt[te>>3]=Ei,Tt[Nt>>3]=qi*2.598076211353316,Tt[_e>>3]=Ei,Tt[Wt>>3]=qi*-2.598076211353316,k=g[$e>>2]|0,g[17008+(k*80|0)+(((S|0)==(k|0)?g[we>>2]|0:S)<<2)>>2]|0){case 1:{p=te,S=We;break}case 3:{p=_e,S=te;break}case 2:{p=We,S=_e;break}default:{p=8;break t}}Bn(je,Le,S,p,Ut),!(qo(je,Ut)|0)&&!(qo(Le,Ut)|0)&&(dh(Ut,g[$e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1)}if((z|0)<(it|0)&&(gu(re,je),dh(je,g[we>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),z=z+1|0,(z|0)>=(ne|0)){p=3;break}else S=g[we>>2]|0}if((p|0)==3){wt=Zr;return}else(p|0)==8&&Mi(22557,22521,746,22602)}function nA(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+160|0,S=H+80|0,C=H,k=S,L=20336,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20416,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],m=y+68|0,Ln(C,S+48|0,m),js(m),g[y+80>>2]=g[p>>2],y=y+84|0,Ln(C,S+60|0,y),js(y),wt=H}function ph(p){p=+p;var m=0;return m=p<0?p+6.283185307179586:p,+(p>=6.283185307179586?m+-6.283185307179586:m)}function us(p,m){return p=p|0,m=m|0,+li(+(+Tt[p>>3]-+Tt[m>>3]))<17453292519943298e-27?(m=+li(+(+Tt[p+8>>3]-+Tt[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function _u(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2)}function Bc(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475)}function h0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475*1e3)}function Od(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;return k=+Tt[m>>3],S=+Ur(+k),C=+Tt[m+8>>3]-+Tt[p+8>>3],L=S*+hi(+C),y=+Tt[p>>3],+ +qr(+L,+(+hi(+k)*+Ur(+y)-+Ur(+C)*(S*+hi(+y))))}function f0(p,m,y,S){p=p|0,m=+m,y=+y,S=S|0;var C=0,k=0,L=0,z=0;if(y<1e-16){g[S>>2]=g[p>>2],g[S+4>>2]=g[p+4>>2],g[S+8>>2]=g[p+8>>2],g[S+12>>2]=g[p+12>>2];return}k=m<0?m+6.283185307179586:m,k=m>=6.283185307179586?k+-6.283185307179586:k;do if(k<1e-16)m=+Tt[p>>3]+y,Tt[S>>3]=m,C=S;else{if(C=+li(+(k+-3.141592653589793))<1e-16,m=+Tt[p>>3],C){m=m-y,Tt[S>>3]=m,C=S;break}if(L=+Ur(+y),y=+hi(+y),m=L*+hi(+m)+ +Ur(+k)*(y*+Ur(+m)),m=m>1?1:m,m=+h_(+(m<-1?-1:m)),Tt[S>>3]=m,+li(+(m+-1.5707963267948966))<1e-16){Tt[S>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[S>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(z=+Ur(+m),k=y*+hi(+k)/z,y=+Tt[p>>3],m=(L-+hi(+m)*+hi(+y))/+Ur(+y)/z,L=k>1?1:k,m=m>1?1:m,m=+Tt[p+8>>3]+ +qr(+(L<-1?-1:L),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m;return}while(!1);if(+li(+(m+-1.5707963267948966))<1e-16){Tt[C>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[C>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(m=+Tt[p+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m}function v_(p){return p=p|0,+ +Tt[20496+(p<<3)>>3]}function ua(p){return p=p|0,+ +Tt[20624+(p<<3)>>3]}function un(p){return p=p|0,+ +Tt[20752+(p<<3)>>3]}function sA(p){return p=p|0,+ +Tt[20880+(p<<3)>>3]}function d0(p){p=p|0;var m=0;return m=21008+(p<<3)|0,p=g[m>>2]|0,Je(g[m+4>>2]|0),p|0}function Ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;return Nt=+Tt[m>>3],ot=+Tt[p>>3],H=+hi(+((Nt-ot)*.5)),k=+Tt[m+8>>3],it=+Tt[p+8>>3],L=+hi(+((k-it)*.5)),z=+Ur(+ot),Ct=+Ur(+Nt),L=H*H+L*(Ct*z*L),L=+qr(+ +bn(+L),+ +bn(+(1-L)))*2,H=+Tt[y>>3],Nt=+hi(+((H-Nt)*.5)),S=+Tt[y+8>>3],k=+hi(+((S-k)*.5)),C=+Ur(+H),k=Nt*Nt+k*(Ct*C*k),k=+qr(+ +bn(+k),+ +bn(+(1-k)))*2,H=+hi(+((ot-H)*.5)),S=+hi(+((it-S)*.5)),S=H*H+S*(z*C*S),S=+qr(+ +bn(+S),+ +bn(+(1-S)))*2,C=(L+k+S)*.5,+(+Md(+ +bn(+(+To(+(C*.5))*+To(+((C-L)*.5))*+To(+((C-k)*.5))*+To(+((C-S)*.5)))))*4)}function x_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)<=0)return y=0,wt=k,+y;if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)==1)return wt=k,+y;p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0));return wt=k,+y}function b_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475)}function Nx(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475*1e3*1e3)}function Mo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+S)*+Ur(+H)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)<(m|0));return wt=L,+y}function oA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475,wt=L,+it}function nr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475*1e3,wt=L,+it}function dr(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&15|0}function wf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,45)|0,It()|0,m&127|0}function aA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(!(!0&(m&-16777216|0)==134217728)||(L=me(p|0,m|0,45)|0,It()|0,L=L&127,L>>>0>121))return m=0,m|0;y=me(p|0,m|0,52)|0,It()|0,y=y&15;do if(y|0){for(C=1,S=0;;){if(k=me(p|0,m|0,(15-C|0)*3|0)|0,It()|0,k=k&7,(k|0)!=0&(S^1))if((k|0)==1&(fi(L)|0)!=0){z=0,S=13;break}else S=1;if((k|0)==7){z=0,S=13;break}if(C>>>0>>0)C=C+1|0;else{S=9;break}}if((S|0)==9){if((y|0)==15)z=1;else break;return z|0}else if((S|0)==13)return z|0}while(!1);for(;;){if(z=me(p|0,m|0,(14-y|0)*3|0)|0,It()|0,!((z&7|0)==7&!0)){z=0,S=13;break}if(y>>>0<14)y=y+1|0;else{z=1,S=13;break}}return(S|0)==13?z|0:0}function Bd(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(S|0)>=(y|0)){if((S|0)!=(y|0))if(y>>>0<=15){if(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)>(y|0))do C=ke(7,0,(14-y|0)*3|0)|0,y=y+1|0,p=C|p,m=It()|0|m;while((y|0)<(S|0))}else m=0,p=0}else m=0,p=0;return Je(m|0),p|0}function Hn(p,m,y){return p=p|0,m=m|0,y=y|0,p=me(p|0,m|0,52)|0,It()|0,p=p&15,(y|0)<16&(p|0)<=(y|0)?(y=Ze(7,y-p|0)|0,y|0):(y=0,y|0)}function uo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(L=me(p|0,m|0,52)|0,It()|0,L=L&15,!!((y|0)<16&(L|0)<=(y|0))){if((L|0)==(y|0)){y=S,g[y>>2]=p,g[y+4>>2]=m;return}if(H=Ze(7,y-L|0)|0,it=(H|0)/7|0,z=me(p|0,m|0,45)|0,It()|0,!(fi(z&127)|0))k=0;else{t:do if(!L)C=0;else for(k=1;;){if(C=me(p|0,m|0,(15-k|0)*3|0)|0,It()|0,C=C&7,C|0)break t;if(k>>>0>>0)k=k+1|0;else{C=0;break}}while(!1);k=(C|0)==0}if(ot=ke(L+1|0,0,52)|0,C=It()|0|m&-15728641,z=(14-L|0)*3|0,m=ke(7,0,z|0)|0,m=(ot|p)&~m,L=C&~(It()|0),uo(m,L,y,S),C=S+(it<<3)|0,!k){ot=ke(1,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(2,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0);return}k=C+(it<<3)|0,(H|0)>6&&(H=C+8|0,ot=(k>>>0>H>>>0?k:H)+-1+(0-C)|0,Fc(C|0,0,ot+8&-8|0)|0,C=H+(ot>>>3<<3)|0),ot=ke(2,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0)}}function ji(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,45)|0,It()|0,!(fi(C&127)|0))return C=0,C|0;C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)y=0;else for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0)break t;if(S>>>0>>0)S=S+1|0;else{y=0;break}}while(!1);return C=(y|0)==0&1,C|0}function w_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(y|0)<16&(S|0)<=(y|0)){if((S|0)!=(y|0)&&(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)<(y|0)))do C=ke(7,0,(14-S|0)*3|0)|0,S=S+1|0,p=p&~C,m=m&~(It()|0);while((S|0)<(y|0))}else m=0,p=0;return Je(m|0),p|0}function mh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0;if(!y)return we=0,we|0;if(C=p,S=g[C>>2]|0,C=g[C+4>>2]|0,!0&(C&15728640|0)==0){if((y|0)<=0||(we=m,g[we>>2]=S,g[we+4>>2]=C,(y|0)==1))return we=0,we|0;S=1;do $e=p+(S<<3)|0,er=g[$e+4>>2]|0,we=m+(S<<3)|0,g[we>>2]=g[$e>>2],g[we+4>>2]=er,S=S+1|0;while((S|0)!=(y|0));return S=0,S|0}if($e=y<<3,er=ho($e)|0,!er)return we=-3,we|0;if(Va(er|0,p|0,$e|0)|0,Ut=Ua(y,8)|0,!Ut)return Gr(er),we=-3,we|0;S=y;t:for(;;){L=er,ot=g[L>>2]|0,L=g[L+4>>2]|0,te=me(ot|0,L|0,52)|0,It()|0,te=te&15,_e=te+-1|0,We=(S|0)>0;e:do if(We){if(Le=((S|0)<0)<<31>>31,re=ke(_e|0,0,52)|0,ne=It()|0,_e>>>0>15)for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(k=me(p|0,y|0,52)|0,It()|0,k=k&15,z=(k|0)<(_e|0),k=(k|0)==(_e|0),it=z?0:k?p:0,p=z?0:k?y:0,y=Yo(it|0,p|0,S|0,Le|0)|0,It()|0,k=Ut+(y<<3)|0,z=k,H=g[z>>2]|0,z=g[z+4>>2]|0,(H|0)==0&(z|0)==0)y=it;else for(re=0,Wt=y,Nt=z,y=it;;){if((re|0)>(S|0)){we=41;break t}if((H|0)==(y|0)&(Nt&-117440513|0)==(p|0)){it=me(H|0,Nt|0,56)|0,It()|0,it=it&7,Ct=it+1|0,ne=me(H|0,Nt|0,45)|0,It()|0;r:do if(!(fi(ne&127)|0))z=7;else{if(H=me(H|0,Nt|0,52)|0,It()|0,H=H&15,!H){z=6;break}for(z=1;;){if(ne=ke(7,0,(15-z|0)*3|0)|0,!((ne&y|0)==0&((It()|0)&p|0)==0)){z=7;break r}if(z>>>0>>0)z=z+1|0;else{z=6;break}}}while(!1);if((it+2|0)>>>0>z>>>0){we=51;break t}ne=ke(Ct|0,0,56)|0,p=It()|0|p&-117440513,z=k,g[z>>2]=0,g[z+4>>2]=0,z=Wt,y=ne|y}else z=(Wt+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,Nt=k,H=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,(H|0)==0&(Nt|0)==0)break;re=re+1|0,Wt=z}ne=k,g[ne>>2]=y,g[ne+4>>2]=p}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(z=me(p|0,y|0,52)|0,It()|0,z=z&15,(z|0)>=(_e|0)){if((z|0)!=(_e|0)&&(p=p|re,y=y&-15728641|ne,z>>>0>=te>>>0)){k=_e;do Wt=ke(7,0,(14-k|0)*3|0)|0,k=k+1|0,p=Wt|p,y=It()|0|y;while(k>>>0>>0)}}else p=0,y=0;if(z=Yo(p|0,y|0,S|0,Le|0)|0,It()|0,k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,!((it|0)==0&(H|0)==0))for(Wt=0;;){if((Wt|0)>(S|0)){we=41;break t}if((it|0)==(p|0)&(H&-117440513|0)==(y|0)){Ct=me(it|0,H|0,56)|0,It()|0,Ct=Ct&7,Nt=Ct+1|0,je=me(it|0,H|0,45)|0,It()|0;r:do if(!(fi(je&127)|0))H=7;else{if(it=me(it|0,H|0,52)|0,It()|0,it=it&15,!it){H=6;break}for(H=1;;){if(je=ke(7,0,(15-H|0)*3|0)|0,!((je&p|0)==0&((It()|0)&y|0)==0)){H=7;break r}if(H>>>0>>0)H=H+1|0;else{H=6;break}}}while(!1);if((Ct+2|0)>>>0>H>>>0){we=51;break t}je=ke(Nt|0,0,56)|0,y=It()|0|y&-117440513,Nt=k,g[Nt>>2]=0,g[Nt+4>>2]=0,p=je|p}else z=(z+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0)break;Wt=Wt+1|0}je=k,g[je>>2]=p,g[je+4>>2]=y}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}}while(!1);if((S+5|0)>>>0<11){we=99;break}if(ne=Ua((S|0)/6|0,8)|0,!ne){we=58;break}e:do if(We){Wt=0,Nt=0;do{if(z=Ut+(Wt<<3)|0,p=z,C=g[p>>2]|0,p=g[p+4>>2]|0,!((C|0)==0&(p|0)==0)){H=me(C|0,p|0,56)|0,It()|0,H=H&7,y=H+1|0,it=p&-117440513,je=me(C|0,p|0,45)|0,It()|0;r:do if(fi(je&127)|0){if(Ct=me(C|0,p|0,52)|0,It()|0,Ct=Ct&15,Ct|0)for(k=1;;){if(je=ke(7,0,(15-k|0)*3|0)|0,!((C&je|0)==0&(it&(It()|0)|0)==0))break r;if(k>>>0>>0)k=k+1|0;else break}p=ke(y|0,0,56)|0,C=p|C,p=It()|0|it,y=z,g[y>>2]=C,g[y+4>>2]=p,y=H+2|0}while(!1);(y|0)==7&&(je=ne+(Nt<<3)|0,g[je>>2]=C,g[je+4>>2]=p&-117440513,Nt=Nt+1|0)}Wt=Wt+1|0}while((Wt|0)!=(S|0));if(We){if(re=((S|0)<0)<<31>>31,Ct=ke(_e|0,0,52)|0,Wt=It()|0,_e>>>0>15)for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){for(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,k=(H|0)<(_e|0),H=(H|0)==(_e|0),z=k?0:H?ot:0,H=k?0:H?L:0,k=Yo(z|0,H|0,S|0,re|0)|0,It()|0,y=0;;){if((y|0)>(S|0)){we=98;break t}if(je=Ut+(k<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(z|0)){we=70;break}if(k=(k+1|0)%(S|0)|0,je=Ut+(k<<3)|0,(g[je>>2]|0)==(z|0)&&(g[je+4>>2]|0)==(H|0))break;y=y+1|0}if((we|0)==70&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){if(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,(H|0)>=(_e|0))if((H|0)!=(_e|0))if(y=ot|Ct,k=L&-15728641|Wt,H>>>0>>0)H=k;else{z=_e;do je=ke(7,0,(14-z|0)*3|0)|0,z=z+1|0,y=je|y,k=It()|0|k;while(z>>>0>>0);H=k}else y=ot,H=L;else y=0,H=0;for(z=Yo(y|0,H|0,S|0,re|0)|0,It()|0,k=0;;){if((k|0)>(S|0)){we=98;break t}if(je=Ut+(z<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(y|0)){we=93;break}if(z=(z+1|0)%(S|0)|0,je=Ut+(z<<3)|0,(g[je>>2]|0)==(y|0)&&(g[je+4>>2]|0)==(H|0))break;k=k+1|0}if((we|0)==93&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}}else C=0,S=Nt}else C=0,S=0;while(!1);if(Fc(Ut|0,0,$e|0)|0,Va(er|0,ne|0,S<<3|0)|0,Gr(ne),S)m=m+(C<<3)|0;else break}return(we|0)==41?(Gr(er),Gr(Ut),je=-1,je|0):(we|0)==51?(Gr(er),Gr(Ut),je=-2,je|0):(we|0)==58?(Gr(er),Gr(Ut),je=-3,je|0):(we|0)==98?(Gr(ne),Gr(er),Gr(Ut),je=-1,je|0):((we|0)==99&&Va(m|0,er|0,S<<3|0)|0,Gr(er),Gr(Ut),je=0,je|0)}function kn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0;if((m|0)<=0)return C=0,C|0;if((C|0)>=16){for(k=0;;){if(ot=p+(k<<3)|0,!((g[ot>>2]|0)==0&(g[ot+4>>2]|0)==0)){k=14;break}if(k=k+1|0,(k|0)>=(m|0)){L=0,k=16;break}}if((k|0)==14)return((S|0)>0?-2:-1)|0;if((k|0)==16)return L|0}k=0,ot=0;t:for(;;){it=p+(ot<<3)|0,z=it,L=g[z>>2]|0,z=g[z+4>>2]|0;do if(!((L|0)==0&(z|0)==0)){if((k|0)>=(S|0)){L=-1,k=16;break t}if(H=me(L|0,z|0,52)|0,It()|0,H=H&15,(H|0)>(C|0)){L=-2,k=16;break t}if((H|0)==(C|0)){it=y+(k<<3)|0,g[it>>2]=L,g[it+4>>2]=z,k=k+1|0;break}if(L=(Ze(7,C-H|0)|0)+k|0,(L|0)>(S|0)){L=-1,k=16;break t}uo(g[it>>2]|0,g[it+4>>2]|0,C,y+(k<<3)|0),k=L}while(!1);if(ot=ot+1|0,(ot|0)>=(m|0)){L=0,k=16;break}}return(k|0)==16?L|0:0}function wn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if((m|0)<=0)return y=0,y|0;if((y|0)>=16){for(S=0;;){if(L=p+(S<<3)|0,!((g[L>>2]|0)==0&(g[L+4>>2]|0)==0)){S=-1,C=13;break}if(S=S+1|0,(S|0)>=(m|0)){S=0,C=13;break}}if((C|0)==13)return S|0}S=0,L=0;t:for(;;){C=p+(L<<3)|0,k=g[C>>2]|0,C=g[C+4>>2]|0;do if(!((k|0)==0&(C|0)==0)){if(C=me(k|0,C|0,52)|0,It()|0,C=C&15,(C|0)>(y|0)){S=-1,C=13;break t}if((C|0)==(y|0)){S=S+1|0;break}else{S=(Ze(7,y-C|0)|0)+S|0;break}}while(!1);if(L=L+1|0,(L|0)>=(m|0)){C=13;break}}return(C|0)==13?S|0:0}function Sf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&1|0}function Es(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,52)|0,It()|0,C=C&15,!C)return C=0,C|0;for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0){S=5;break}if(S>>>0>>0)S=S+1|0;else{y=0,S=5;break}}return(S|0)==5?y|0:0}function gh(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(Na(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(L=(15-y|0)*3|0,C=me(p|0,m|0,L|0)|0,It()|0,k=ke(7,0,L|0)|0,m=m&~(It()|0),L=ke(Na(C&7)|0,0,L|0)|0,p=p&~k|L,m=m|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Wo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;k=(15-y|0)*3|0,L=me(p|0,m|0,k|0)|0,It()|0,C=ke(7,0,k|0)|0,m=m&~(It()|0),k=ke(Na(L&7)|0,0,k|0)|0,p=k|p&~C,m=It()|0|m,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function p0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(co(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(C=(15-y|0)*3|0,k=ke(7,0,C|0)|0,L=m&~(It()|0),m=me(p|0,m|0,C|0)|0,It()|0,m=ke(co(m&7)|0,0,C|0)|0,p=p&~k|m,m=L|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Fd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;L=(15-y|0)*3|0,k=ke(7,0,L|0)|0,C=m&~(It()|0),m=me(p|0,m|0,L|0)|0,It()|0,m=ke(co(m&7)|0,0,L|0)|0,p=m|p&~k,m=It()|0|C,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function Tf(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(H=wt,wt=wt+64|0,z=H+40|0,S=H+24|0,C=H+12|0,k=H,ke(m|0,0,52)|0,y=It()|0|134225919,!m)return(g[p+4>>2]|0)>2||(g[p+8>>2]|0)>2||(g[p+12>>2]|0)>2?(L=0,z=0,Je(L|0),wt=H,z|0):(ke(vf(p)|0,0,45)|0,L=It()|0|y,z=-1,Je(L|0),wt=H,z|0);if(g[z>>2]=g[p>>2],g[z+4>>2]=g[p+4>>2],g[z+8>>2]=g[p+8>>2],g[z+12>>2]=g[p+12>>2],L=z+4|0,(m|0)>0)for(p=-1;g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],m&1?(Rd(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],za(C)):(Al(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],hh(C)),eA(S,C,k),js(k),ot=(15-m|0)*3|0,it=ke(7,0,ot|0)|0,y=y&~(It()|0),ot=ke(Fa(k)|0,0,ot|0)|0,p=ot|p&~it,y=It()|0|y,(m|0)>1;)m=m+-1|0;else p=-1;t:do if((g[L>>2]|0)<=2&&(g[z+8>>2]|0)<=2&&(g[z+12>>2]|0)<=2){if(S=vf(z)|0,m=ke(S|0,0,45)|0,m=m|p,p=It()|0|y&-1040385,k=Kp(z)|0,!(fi(S)|0)){if((k|0)<=0)break;for(C=0;;){if(S=me(m|0,p|0,52)|0,It()|0,S=S&15,S)for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0;if(C=C+1|0,(C|0)==(k|0))break t}}C=me(m|0,p|0,52)|0,It()|0,C=C&15;e:do if(C){y=1;r:for(;;){switch(ot=me(m|0,p|0,(15-y|0)*3|0)|0,It()|0,ot&7){case 1:break r;case 0:break;default:break e}if(y>>>0>>0)y=y+1|0;else break e}if(ch(S,g[z>>2]|0)|0)for(y=1;z=(15-y|0)*3|0,it=ke(7,0,z|0)|0,ot=p&~(It()|0),p=me(m|0,p|0,z|0)|0,It()|0,p=ke(co(p&7)|0,0,z|0)|0,m=m&~it|p,p=ot|(It()|0),y>>>0>>0;)y=y+1|0;else for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0}while(!1);if((k|0)>0){y=0;do m=gh(m,p)|0,p=It()|0,y=y+1|0;while((y|0)!=(k|0))}}else m=0,p=0;while(!1);return it=p,ot=m,Je(it|0),wt=H,ot|0}function Ho(p){return p=p|0,(p|0)%2|0|0}function lA(p,m){p=p|0,m=m|0;var y=0,S=0;return S=wt,wt=wt+16|0,y=S,m>>>0<=15&&(g[p+4>>2]&2146435072|0)!=2146435072&&(g[p+8+4>>2]&2146435072|0)!=2146435072?(a0(p,m,y),m=Tf(y,m)|0,p=It()|0):(p=0,m=0),Je(p|0),wt=S,m|0}function bi(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(C=y+4|0,k=me(p|0,m|0,52)|0,It()|0,k=k&15,L=me(p|0,m|0,45)|0,It()|0,S=(k|0)==0,fi(L&127)|0){if(S)return L=1,L|0;S=1}else{if(S)return L=0,L|0;!(g[C>>2]|0)&&!(g[y+8>>2]|0)?S=(g[y+12>>2]|0)!=0&1:S=1}for(y=1;y&1?za(C):hh(C),L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,rA(C,L&7),y>>>0>>0;)y=y+1|0;return S|0}function T(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;ot=wt,wt=wt+16|0,H=ot,it=me(p|0,m|0,45)|0,It()|0,it=it&127;t:do if(fi(it)|0&&(k=me(p|0,m|0,52)|0,It()|0,k=k&15,(k|0)!=0)){S=1;e:for(;;){switch(z=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,z&7){case 5:break e;case 0:break;default:{S=m;break t}}if(S>>>0>>0)S=S+1|0;else{S=m;break t}}for(C=1,S=m;m=(15-C|0)*3|0,L=ke(7,0,m|0)|0,z=S&~(It()|0),S=me(p|0,S|0,m|0)|0,It()|0,S=ke(co(S&7)|0,0,m|0)|0,p=p&~L|S,S=z|(It()|0),C>>>0>>0;)C=C+1|0}else S=m;while(!1);if(z=7728+(it*28|0)|0,g[y>>2]=g[z>>2],g[y+4>>2]=g[z+4>>2],g[y+8>>2]=g[z+8>>2],g[y+12>>2]=g[z+12>>2],!(bi(p,S,y)|0)){wt=ot;return}if(L=y+4|0,g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],k=me(p|0,S|0,52)|0,It()|0,z=k&15,k&1?(hh(L),k=z+1|0):k=z,!(fi(it)|0))S=0;else{t:do if(!z)S=0;else for(m=1;;){if(C=me(p|0,S|0,(15-m|0)*3|0)|0,It()|0,C=C&7,C|0){S=C;break t}if(m>>>0>>0)m=m+1|0;else{S=0;break}}while(!1);S=(S|0)==4&1}if(!(bf(y,k,S,0)|0))(k|0)!=(z|0)&&(g[L>>2]=g[H>>2],g[L+4>>2]=g[H+4>>2],g[L+8>>2]=g[H+8>>2]);else{if(fi(it)|0)do;while(bf(y,k,0,0)|0);(k|0)!=(z|0)&&Al(L)}wt=ot}function l(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,T(p,m,C),m=me(p|0,m|0,52)|0,It()|0,y_(C,m&15,y),wt=S}function d(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;L=wt,wt=wt+16|0,k=L,T(p,m,k),S=me(p|0,m|0,45)|0,It()|0,S=(fi(S&127)|0)==0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!S){if(C|0)for(S=1;;){if(z=ke(7,0,(15-S|0)*3|0)|0,!((z&p|0)==0&((It()|0)&m|0)==0))break t;if(S>>>0>>0)S=S+1|0;else break}l0(k,C,0,5,y),wt=L;return}while(!1);iA(k,C,0,6,y),wt=L}function v(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(S=me(p|0,m|0,45)|0,It()|0,!(fi(S&127)|0))return S=2,S|0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return S=5,S|0;for(y=1;;){if(C=ke(7,0,(15-y|0)*3|0)|0,!((C&p|0)==0&((It()|0)&m|0)==0)){y=2,p=6;break}if(y>>>0>>0)y=y+1|0;else{y=5,p=6;break}}return(p|0)==6?y|0:0}function b(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;Ct=wt,wt=wt+128|0,it=Ct+112|0,k=Ct+96|0,ot=Ct,C=me(p|0,m|0,52)|0,It()|0,z=C&15,g[it>>2]=z,L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){if(z|0)for(S=1;;){if(H=ke(7,0,(15-S|0)*3|0)|0,!((H&p|0)==0&((It()|0)&m|0)==0)){C=0;break t}if(S>>>0>>0)S=S+1|0;else break}if(C&1)C=1;else{H=ke(z+1|0,0,52)|0,ot=It()|0|m&-15728641,it=ke(7,0,(14-z|0)*3|0)|0,b((H|p)&~it,ot&~(It()|0),y),wt=Ct;return}}else C=0;while(!1);T(p,m,k),C?(c0(k,it,ot),H=5):(nA(k,it,ot),H=6);t:do if(fi(L)|0)if(!z)S=20;else for(S=1;;){if(L=ke(7,0,(15-S|0)*3|0)|0,!((L&p|0)==0&((It()|0)&m|0)==0)){S=8;break t}if(S>>>0>>0)S=S+1|0;else{S=20;break}}else S=8;while(!1);if(Fc(y|0,-1,S|0)|0,C){C=0;do{for(k=ot+(C<<4)|0,u0(k,g[it>>2]|0)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}else{C=0;do{for(k=ot+(C<<4)|0,bf(k,g[it>>2]|0,0,1)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}wt=Ct}function M(){return 12}function O(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(ke(p|0,0,52)|0,z=It()|0|134225919,(p|0)<1){S=0,y=0;do fi(S)|0&&(ke(S|0,0,45)|0,L=z|(It()|0),p=m+(y<<3)|0,g[p>>2]=-1,g[p+4>>2]=L,y=y+1|0),S=S+1|0;while((S|0)!=122);return}L=0,y=0;do{if(fi(L)|0){for(ke(L|0,0,45)|0,S=1,C=-1,k=z|(It()|0);H=ke(7,0,(15-S|0)*3|0)|0,C=C&~H,k=k&~(It()|0),(S|0)!=(p|0);)S=S+1|0;H=m+(y<<3)|0,g[H>>2]=C,g[H+4>>2]=k,y=y+1|0}L=L+1|0}while((L|0)!=122)}function B(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0;if(z=wt,wt=wt+64|0,L=z,(p|0)==(y|0)&(m|0)==(S|0)|(!1|(m&2013265920|0)!=134217728|(!1|(S&2013265920|0)!=134217728))||(C=me(p|0,m|0,52)|0,It()|0,C=C&15,k=me(y|0,S|0,52)|0,It()|0,(C|0)!=(k&15|0)))return L=0,wt=z,L|0;if(k=C+-1|0,C>>>0>1&&(it=Bd(p,m,k)|0,H=It()|0,k=Bd(y,S,k)|0,(it|0)==(k|0)&(H|0)==(It()|0))&&(k=(C^15)*3|0,C=me(p|0,m|0,k|0)|0,It()|0,C=C&7,k=me(y|0,S|0,k|0)|0,It()|0,k=k&7,(C|0)==0|(k|0)==0||(g[21136+(C<<2)>>2]|0)==(k|0)||(g[21168+(C<<2)>>2]|0)==(k|0)))return it=1,wt=z,it|0;C=L,k=C+56|0;do g[C>>2]=0,C=C+4|0;while((C|0)<(k|0));return f_(p,m,1,L),it=L,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0))&&(it=L+8|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+16|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+24|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+32|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+40|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))?(C=L+48|0,C=((g[C>>2]|0)==(y|0)?(g[C+4>>2]|0)==(S|0):0)&1):C=1,it=C,wt=z,it|0}function U(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(it=wt,wt=wt+16|0,L=it,!(B(p,m,y,S)|0))return z=0,H=0,Je(z|0),wt=it,H|0;for(z=m&-2130706433,C=(ji(p,m)|0)==0,C=C?1:2;g[L>>2]=0,ot=Wn(p,m,C,L)|0,k=C+1|0,!((ot|0)==(y|0)&(It()|0)==(S|0));)if(k>>>0<7)C=k;else{C=0,p=0,H=6;break}return(H|0)==6?(Je(C|0),wt=it,p|0):(ot=ke(C|0,0,56)|0,H=z|(It()|0)|268435456,ot=p|ot,Je(H|0),wt=it,ot|0)}function W(p,m){p=p|0,m=m|0;var y=0;return y=!0&(m&2013265920|0)==268435456,Je((y?m&-2130706433|134217728:0)|0),(y?p:0)|0}function Z(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return S=wt,wt=wt+16|0,y=S,!0&(m&2013265920|0)==268435456?(C=me(p|0,m|0,56)|0,It()|0,g[y>>2]=0,y=Wn(p,m&-2130706433|134217728,C&7,y)|0,m=It()|0,Je(m|0),wt=S,y|0):(m=0,y=0,Je(m|0),wt=S,y|0)}function $(p,m){p=p|0,m=m|0;var y=0;if(!(!0&(m&2013265920|0)==268435456))return y=0,y|0;switch(y=me(p|0,m|0,56)|0,It()|0,y&7){case 0:case 7:return y=0,y|0;default:}return y=m&-2130706433|134217728,!0&(m&117440512|0)==16777216&(ji(p,y)|0)!=0?(y=0,y|0):(y=aA(p,y)|0,y|0)}function st(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;k=wt,wt=wt+16|0,S=k,L=!0&(m&2013265920|0)==268435456,C=m&-2130706433|134217728,z=y,g[z>>2]=L?p:0,g[z+4>>2]=L?C:0,L?(m=me(p|0,m|0,56)|0,It()|0,g[S>>2]=0,p=Wn(p,C,m&7,S)|0,m=It()|0):(p=0,m=0),z=y+8|0,g[z>>2]=p,g[z+4>>2]=m,wt=k}function At(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;C=(ji(p,m)|0)==0,m=m&-2130706433,S=y,g[S>>2]=C?p:0,g[S+4>>2]=C?m|285212672:0,S=y+8|0,g[S>>2]=p,g[S+4>>2]=m|301989888,S=y+16|0,g[S>>2]=p,g[S+4>>2]=m|318767104,S=y+24|0,g[S>>2]=p,g[S+4>>2]=m|335544320,S=y+32|0,g[S>>2]=p,g[S+4>>2]=m|352321536,y=y+40|0,g[y>>2]=p,g[y+4>>2]=m|369098752}function pt(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;if(L=wt,wt=wt+16|0,k=L,S=me(p|0,m|0,56)|0,It()|0,z=!0&(m&2013265920|0)==268435456,C=z?p:0,p=z?m&-2130706433|134217728:0,m=yu(C,p,S&7)|0,(m|0)==-1){g[y>>2]=0,wt=L;return}T(C,p,k),S=me(C|0,p|0,52)|0,It()|0,S=S&15,ji(C,p)|0?l0(k,S,m,2,y):iA(k,S,m,2,y),wt=L}function yt(p){p=p|0;var m=0,y=0,S=0;return m=Ua(1,12)|0,m||Mi(22691,22646,49,22704),y=p+4|0,S=g[y>>2]|0,S|0?(S=S+8|0,g[S>>2]=m,g[y>>2]=m,m|0):(g[p>>2]|0&&Mi(22721,22646,61,22744),S=p,g[S>>2]=m,g[y>>2]=m,m|0)}function dt(p,m){p=p|0,m=m|0;var y=0,S=0;return S=ho(24)|0,S||Mi(22758,22646,78,22772),g[S>>2]=g[m>>2],g[S+4>>2]=g[m+4>>2],g[S+8>>2]=g[m+8>>2],g[S+12>>2]=g[m+12>>2],g[S+16>>2]=0,m=p+4|0,y=g[m>>2]|0,y|0?(g[y+16>>2]=S,g[m>>2]=S,S|0):(g[p>>2]|0&&Mi(22787,22646,82,22772),g[p>>2]=S,g[m>>2]=S,S|0)}function Ft(p){p=p|0;var m=0,y=0,S=0,C=0;if(p)for(S=1;;){if(m=g[p>>2]|0,m|0)do{if(y=g[m>>2]|0,y|0)do C=y,y=g[y+16>>2]|0,Gr(C);while(y|0);C=m,m=g[m+8>>2]|0,Gr(C)}while(m|0);if(m=p,p=g[p+8>>2]|0,S||Gr(m),p)S=0;else break}}function Ht(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(C=p+8|0,g[C>>2]|0)return Or=1,Or|0;if(S=g[p>>2]|0,!S)return Or=0,Or|0;m=S,y=0;do y=y+1|0,m=g[m+8>>2]|0;while(m|0);if(y>>>0<2)return Or=0,Or|0;Sn=ho(y<<2)|0,Sn||Mi(22807,22646,317,22826),Pi=ho(y<<5)|0,Pi||Mi(22848,22646,321,22826),g[p>>2]=0,er=p+4|0,g[er>>2]=0,g[C>>2]=0,y=0,hn=0,$e=0,Ct=0;t:for(;;){if(ot=g[S>>2]|0,ot){k=0,L=ot;do{if(H=+Tt[L+8>>3],m=L,L=g[L+16>>2]|0,it=(L|0)==0,C=it?ot:L,z=+Tt[C+8>>3],+li(+(H-z))>3.141592653589793){Or=14;break}k=k+(z-H)*(+Tt[m>>3]+ +Tt[C>>3])}while(!it);if((Or|0)==14){Or=0,k=0,m=ot;do Ut=+Tt[m+8>>3],Ei=m+16|0,qi=g[Ei>>2]|0,qi=qi|0?qi:ot,_e=+Tt[qi+8>>3],k=k+(+Tt[m>>3]+ +Tt[qi>>3])*((_e<0?_e+6.283185307179586:_e)-(Ut<0?Ut+6.283185307179586:Ut)),m=g[(m|0?Ei:S)>>2]|0;while(m|0)}k>0?(g[Sn+(hn<<2)>>2]=S,hn=hn+1|0,C=$e,m=Ct):Or=19}else Or=19;if((Or|0)==19){Or=0;do if(y){if(m=y+8|0,g[m>>2]|0){Or=21;break t}if(y=Ua(1,12)|0,!y){Or=23;break t}g[m>>2]=y,C=y+4|0,L=y,m=Ct}else if(Ct){C=er,L=Ct+8|0,m=S,y=p;break}else if(g[p>>2]|0){Or=27;break t}else{C=er,L=p,m=S,y=p;break}while(!1);if(g[L>>2]=S,g[C>>2]=S,L=Pi+($e<<5)|0,it=g[S>>2]|0,it){for(ot=Pi+($e<<5)+8|0,Tt[ot>>3]=17976931348623157e292,Ct=Pi+($e<<5)+24|0,Tt[Ct>>3]=17976931348623157e292,Tt[L>>3]=-17976931348623157e292,Nt=Pi+($e<<5)+16|0,Tt[Nt>>3]=-17976931348623157e292,We=17976931348623157e292,te=-17976931348623157e292,C=0,Wt=it,H=17976931348623157e292,ne=17976931348623157e292,Le=-17976931348623157e292,z=-17976931348623157e292;k=+Tt[Wt>>3],Ut=+Tt[Wt+8>>3],Wt=g[Wt+16>>2]|0,re=(Wt|0)==0,_e=+Tt[(re?it:Wt)+8>>3],k>3]=k,H=k),Ut>3]=Ut,ne=Ut),k>Le?Tt[L>>3]=k:k=Le,Ut>z&&(Tt[Nt>>3]=Ut,z=Ut),We=Ut>0&Utte?Ut:te,C=C|+li(+(Ut-_e))>3.141592653589793,!re;)Le=k;C&&(Tt[Nt>>3]=te,Tt[Ct>>3]=We)}else g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,g[L+12>>2]=0,g[L+16>>2]=0,g[L+20>>2]=0,g[L+24>>2]=0,g[L+28>>2]=0;C=$e+1|0}if(Ei=S+8|0,S=g[Ei>>2]|0,g[Ei>>2]=0,S)$e=C,Ct=m;else{Or=45;break}}if((Or|0)==21)Mi(22624,22646,35,22658);else if((Or|0)==23)Mi(22678,22646,37,22658);else if((Or|0)==27)Mi(22721,22646,61,22744);else if((Or|0)==45){t:do if((hn|0)>0){for(Ei=(C|0)==0,Zr=C<<2,qi=(p|0)==0,je=0,m=0;;){if(we=g[Sn+(je<<2)>>2]|0,Ei)Or=73;else{if($e=ho(Zr)|0,!$e){Or=50;break}if(er=ho(Zr)|0,!er){Or=52;break}e:do if(qi)y=0;else{for(C=0,y=0,L=p;S=Pi+(C<<5)|0,St(g[L>>2]|0,S,g[we>>2]|0)|0?(g[$e+(y<<2)>>2]=L,g[er+(y<<2)>>2]=S,re=y+1|0):re=y,L=g[L+8>>2]|0,L;)C=C+1|0,y=re;if((re|0)>0)if(S=g[$e>>2]|0,(re|0)==1)y=S;else for(Nt=0,Wt=-1,y=S,Ct=S;;){for(it=g[Ct>>2]|0,S=0,L=0;C=g[g[$e+(L<<2)>>2]>>2]|0,(C|0)==(it|0)?ot=S:ot=S+((St(C,g[er+(L<<2)>>2]|0,g[it>>2]|0)|0)&1)|0,L=L+1|0,(L|0)!=(re|0);)S=ot;if(C=(ot|0)>(Wt|0),y=C?Ct:y,S=Nt+1|0,(S|0)==(re|0))break e;Nt=S,Wt=C?ot:Wt,Ct=g[$e+(S<<2)>>2]|0}else y=0}while(!1);if(Gr($e),Gr(er),y){if(C=y+4|0,S=g[C>>2]|0,S)y=S+8|0;else if(g[y>>2]|0){Or=70;break}g[y>>2]=we,g[C>>2]=we}else Or=73}if((Or|0)==73){if(Or=0,m=g[we>>2]|0,m|0)do er=m,m=g[m+16>>2]|0,Gr(er);while(m|0);Gr(we),m=2}if(je=je+1|0,(je|0)>=(hn|0)){yn=m;break t}}(Or|0)==50?Mi(22863,22646,249,22882):(Or|0)==52?Mi(22901,22646,252,22882):(Or|0)==70&&Mi(22721,22646,61,22744)}else yn=0;while(!1);return Gr(Sn),Gr(Pi),Or=yn,Or|0}return 0}function St(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(!(pl(m,y)|0)||(m=n0(m)|0,it=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,p=g[p>>2]|0,!p))return p=0,p|0;if(m){m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(it-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}else{m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(it-k)/(z-k)*(L-C)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}return 0}function Bt(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(te=wt,wt=wt+32|0,We=te+16|0,Le=te,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Wt=me(y|0,S|0,52)|0,It()|0,(k|0)!=(Wt&15|0))return We=1,wt=te,We|0;if(it=me(p|0,m|0,45)|0,It()|0,it=it&127,ot=me(y|0,S|0,45)|0,It()|0,ot=ot&127,Wt=(it|0)!=(ot|0),Wt){if(z=tA(it,ot)|0,(z|0)==7)return We=2,wt=te,We|0;H=tA(ot,it)|0,(H|0)==7?Mi(22925,22949,151,22959):(re=z,L=H)}else re=0,L=0;Ct=fi(it)|0,Nt=fi(ot)|0,g[We>>2]=0,g[We+4>>2]=0,g[We+8>>2]=0,g[We+12>>2]=0;do if(re){if(ot=g[4304+(it*28|0)+(re<<2)>>2]|0,z=(ot|0)>0,Nt)if(z){it=0,H=y,z=S;do H=p0(H,z)|0,z=It()|0,L=co(L)|0,(L|0)==1&&(L=co(1)|0),it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;else if(z){it=0,H=y,z=S;do H=Fd(H,z)|0,z=It()|0,L=co(L)|0,it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;if(bi(it,H,We)|0,Wt||Mi(22972,22949,181,22959),z=(Ct|0)!=0,L=(Nt|0)!=0,z&L&&Mi(22999,22949,182,22959),z){if(L=Es(p,m)|0,br[22032+(L*7|0)+re>>0]|0){k=3;break}H=g[21200+(L*28|0)+(re<<2)>>2]|0,it=H,ne=26}else if(L){if(L=Es(it,H)|0,br[22032+(L*7|0)+ot>>0]|0){k=4;break}it=0,H=g[21200+(ot*28|0)+(L<<2)>>2]|0,ne=26}else L=0;if((ne|0)==26)if((H|0)<=-1&&Mi(23030,22949,212,22959),(it|0)<=-1&&Mi(23053,22949,213,22959),(H|0)>0){z=We+4|0,L=0;do fh(z),L=L+1|0;while((L|0)!=(H|0));L=it}else L=it;if(g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,rA(Le,re),k|0)for(;Ho(k)|0?za(Le):hh(Le),(k|0)>1;)k=k+-1|0;if((L|0)>0){k=0;do fh(Le),k=k+1|0;while((k|0)!=(L|0))}ne=We+4|0,Ln(ne,Le,ne),js(ne),ne=50}else if(bi(y,S,We)|0,(Ct|0)!=0&(Nt|0)!=0)if((ot|0)!=(it|0)&&Mi(23077,22949,243,22959),L=Es(p,m)|0,k=Es(y,S)|0,br[22032+(L*7|0)+k>>0]|0)k=5;else if(L=g[21200+(L*28|0)+(k<<2)>>2]|0,(L|0)>0){z=We+4|0,k=0;do fh(z),k=k+1|0;while((k|0)!=(L|0));ne=50}else ne=50;else ne=50;while(!1);return(ne|0)==50&&(k=We+4|0,g[C>>2]=g[k>>2],g[C+4>>2]=g[k+4>>2],g[C+8>>2]=g[k+8>>2],k=0),We=k,wt=te,We|0}function Qt(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=wt,wt=wt+48|0,L=re+36|0,z=re+24|0,H=re+12|0,it=re,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Nt=me(p|0,m|0,45)|0,It()|0,Nt=Nt&127,ot=fi(Nt)|0,ke(k|0,0,52)|0,Le=It()|0|134225919,ne=S,g[ne>>2]=-1,g[ne+4>>2]=Le,!k)return(g[y>>2]|0)>1||(g[y+4>>2]|0)>1||(g[y+8>>2]|0)>1||(C=Jp(Nt,Fa(y)|0)|0,(C|0)==127)?(Le=1,wt=re,Le|0):(Wt=ke(C|0,0,45)|0,ne=It()|0,Nt=S,ne=g[Nt+4>>2]&-1040385|ne,Le=S,g[Le>>2]=g[Nt>>2]|Wt,g[Le+4>>2]=ne,Le=0,wt=re,Le|0);for(g[L>>2]=g[y>>2],g[L+4>>2]=g[y+4>>2],g[L+8>>2]=g[y+8>>2];g[z>>2]=g[L>>2],g[z+4>>2]=g[L+4>>2],g[z+8>>2]=g[L+8>>2],Ho(k)|0?(Rd(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],za(H)):(Al(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],hh(H)),eA(z,H,it),js(it),ne=S,We=g[ne>>2]|0,ne=g[ne+4>>2]|0,te=(15-k|0)*3|0,y=ke(7,0,te|0)|0,ne=ne&~(It()|0),te=ke(Fa(it)|0,0,te|0)|0,ne=It()|0|ne,Le=S,g[Le>>2]=te|We&~y,g[Le+4>>2]=ne,(k|0)>1;)k=k+-1|0;t:do if((g[L>>2]|0)<=1&&(g[L+4>>2]|0)<=1&&(g[L+8>>2]|0)<=1){k=Fa(L)|0,z=Jp(Nt,k)|0,(z|0)==127?it=0:it=fi(z)|0;e:do if(k){if(ot){if(L=21408+((Es(p,m)|0)*28|0)+(k<<2)|0,L=g[L>>2]|0,(L|0)>0){y=0;do k=Na(k)|0,y=y+1|0;while((y|0)!=(L|0))}if((k|0)==1){C=3;break t}y=Jp(Nt,k)|0,(y|0)==127&&Mi(23104,22949,376,23134),fi(y)|0?Mi(23147,22949,377,23134):(Wt=L,Ct=k,C=y)}else Wt=0,Ct=k,C=z;if(H=g[4304+(Nt*28|0)+(Ct<<2)>>2]|0,(H|0)<=-1&&Mi(23178,22949,384,23134),!it){if((Wt|0)<=-1&&Mi(23030,22949,417,23134),Wt|0){L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0;while((k|0)<(Wt|0))}if((H|0)<=0){k=54;break}for(L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;;)if(y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0,(k|0)==(H|0)){k=54;break e}}if(z=tA(C,Nt)|0,(z|0)==7&&Mi(22925,22949,393,23134),k=S,y=g[k>>2]|0,k=g[k+4>>2]|0,(H|0)>0){L=0;do y=Wo(y,k)|0,k=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=k,L=L+1|0;while((L|0)!=(H|0))}if(y=Es(y,k)|0,te=mu(C)|0,y=g[(te?21824:21616)+(z*28|0)+(y<<2)>>2]|0,(y|0)<=-1&&Mi(23030,22949,412,23134),!y)k=54;else{z=S,k=0,L=g[z>>2]|0,z=g[z+4>>2]|0;do L=gh(L,z)|0,z=It()|0,te=S,g[te>>2]=L,g[te+4>>2]=z,k=k+1|0;while((k|0)<(y|0));k=54}}else if((ot|0)!=0&(it|0)!=0)if(te=Es(p,m)|0,k=S,k=21408+(te*28|0)+((Es(g[k>>2]|0,g[k+4>>2]|0)|0)<<2)|0,k=g[k>>2]|0,(k|0)<=-1&&Mi(23201,22949,433,23134),!k)C=z,k=55;else{L=S,C=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,C=C+1|0;while((C|0)<(k|0));C=z,k=54}else C=z,k=54;while(!1);if((k|0)==54&&it&&(k=55),(k|0)==55&&(te=S,(Es(g[te>>2]|0,g[te+4>>2]|0)|0)==1)){C=4;break}te=S,Le=g[te>>2]|0,te=g[te+4>>2]&-1040385,We=ke(C|0,0,45)|0,te=te|(It()|0),C=S,g[C>>2]=Le|We,g[C+4>>2]=te,C=0}else C=2;while(!1);return te=C,wt=re,te|0}function $t(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;return L=wt,wt=wt+16|0,k=L,p=Bt(p,m,y,S,k)|0,p||(xf(k,C),p=0),wt=L,p|0}function oe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return C=wt,wt=wt+16|0,k=C,__(y,k),S=Qt(p,m,k,S)|0,wt=C,S|0}function pe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,p|0}function he(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,(p>>>31^1)+p|0}function be(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0;if($e=wt,wt=wt+48|0,k=$e+24|0,L=$e+12|0,Ut=$e,!(Bt(p,m,p,m,k)|0)&&!(Bt(p,m,y,S,L)|0)){if(_e=Hl(k,L)|0,(_e|0)<0)return Ut=_e,wt=$e,Ut|0;for(g[k>>2]=0,g[k+4>>2]=0,g[k+8>>2]=0,g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,Bt(p,m,p,m,k)|0,Bt(p,m,y,S,L)|0,Oe(k),Oe(L),_e?(ot=g[k>>2]|0,Wt=+(_e|0),Le=k+4|0,Ct=g[Le>>2]|0,We=k+8|0,Nt=g[We>>2]|0,te=k,y=ot,S=Ct,k=Nt,re=+((g[L>>2]|0)-ot|0)/Wt,ne=+((g[L+4>>2]|0)-Ct|0)/Wt,Wt=+((g[L+8>>2]|0)-Nt|0)/Wt):(S=k+4|0,Nt=k+8|0,Le=S,We=Nt,te=k,y=g[k>>2]|0,S=g[S>>2]|0,k=g[Nt>>2]|0,re=0,ne=0,Wt=0),g[Ut>>2]=y,Nt=Ut+4|0,g[Nt>>2]=S,Ct=Ut+8|0,g[Ct>>2]=k,ot=0;;){H=+(ot|0),er=re*H+ +(y|0),z=ne*H+ +(g[Le>>2]|0),H=Wt*H+ +(g[We>>2]|0),S=~~+Mf(+er),L=~~+Mf(+z),y=~~+Mf(+H),er=+li(+(+(S|0)-er)),z=+li(+(+(L|0)-z)),H=+li(+(+(y|0)-H));do if(er>z&er>H)S=0-(L+y)|0,k=L;else if(it=0-S|0,z>H){k=it-y|0;break}else{k=L,y=it-L|0;break}while(!1);if(g[Ut>>2]=S,g[Nt>>2]=k,g[Ct>>2]=y,o0(Ut),Qt(p,m,Ut,C+(ot<<3)|0)|0,(ot|0)==(_e|0))break;ot=ot+1|0,y=g[te>>2]|0}return Ut=0,wt=$e,Ut|0}return Ut=-1,wt=$e,Ut|0}function Ze(p,m){p=p|0,m=m|0;var y=0;if(!m)return y=1,y|0;y=p,p=1;do p=Oc(m&1|0?y:1,p)|0,m=m>>1,y=Oc(y,y)|0;while(m|0);return p|0}function Kr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;if(!(pl(m,y)|0)||(m=n0(m)|0,Nt=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,Ct=g[p>>2]|0,(Ct|0)<=0))return Ct=0,Ct|0;if(ot=g[p+4>>2]|0,m){m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(Nt-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}else{m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(Nt-k)/(z-k)*(L-C)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}return 0}function Ee(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=g[p>>2]|0,!re){g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;return}if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,!((re|0)<=0)){for(Nt=g[p+4>>2]|0,it=17976931348623157e292,ot=-17976931348623157e292,Ct=0,p=-1,k=17976931348623157e292,L=17976931348623157e292,H=-17976931348623157e292,S=-17976931348623157e292,Wt=0;y=+Tt[Nt+(Wt<<4)>>3],z=+Tt[Nt+(Wt<<4)+8>>3],p=p+2|0,C=+Tt[Nt+(((p|0)==(re|0)?0:p)<<4)+8>>3],y>3]=y,k=y),z>3]=z,L=z),y>H?Tt[m>>3]=y:y=H,z>S&&(Tt[We>>3]=z,S=z),it=z>0&zot?z:ot,Ct=Ct|+li(+(z-C))>3.141592653589793,p=Wt+1|0,(p|0)!=(re|0);)te=Wt,H=y,Wt=p,p=te;Ct&&(Tt[We>>3]=ot,Tt[Le>>3]=it)}}function pr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0;if(re=g[p>>2]|0,re){if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,(re|0)>0){for(C=g[p+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,S=0,y=-1,H=17976931348623157e292,it=17976931348623157e292,Ct=-17976931348623157e292,L=-17976931348623157e292,te=0;k=+Tt[C+(te<<4)>>3],ot=+Tt[C+(te<<4)+8>>3],er=y+2|0,z=+Tt[C+(((er|0)==(re|0)?0:er)<<4)+8>>3],k>3]=k,H=k),ot>3]=ot,it=ot),k>Ct?Tt[m>>3]=k:k=Ct,ot>L&&(Tt[We>>3]=ot,L=ot),Nt=ot>0&otWt?ot:Wt,S=S|+li(+(ot-z))>3.141592653589793,y=te+1|0,(y|0)!=(re|0);)er=te,Ct=k,te=y,y=er;S&&(Tt[We>>3]=Wt,Tt[Le>>3]=Nt)}}else g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;if(er=p+8|0,y=g[er>>2]|0,!((y|0)<=0)){$e=p+12|0,Ut=0;do if(C=g[$e>>2]|0,S=Ut,Ut=Ut+1|0,Le=m+(Ut<<5)|0,We=g[C+(S<<3)>>2]|0,We){if(te=m+(Ut<<5)+8|0,Tt[te>>3]=17976931348623157e292,p=m+(Ut<<5)+24|0,Tt[p>>3]=17976931348623157e292,Tt[Le>>3]=-17976931348623157e292,_e=m+(Ut<<5)+16|0,Tt[_e>>3]=-17976931348623157e292,(We|0)>0){for(re=g[C+(S<<3)+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,C=0,S=-1,ne=0,H=17976931348623157e292,it=17976931348623157e292,ot=-17976931348623157e292,L=-17976931348623157e292;k=+Tt[re+(ne<<4)>>3],Ct=+Tt[re+(ne<<4)+8>>3],S=S+2|0,z=+Tt[re+(((S|0)==(We|0)?0:S)<<4)+8>>3],k>3]=k,H=k),Ct>3]=Ct,it=Ct),k>ot?Tt[Le>>3]=k:k=ot,Ct>L&&(Tt[_e>>3]=Ct,L=Ct),Nt=Ct>0&CtWt?Ct:Wt,C=C|+li(+(Ct-z))>3.141592653589793,S=ne+1|0,(S|0)!=(We|0);)we=ne,ne=S,ot=k,S=we;C&&(Tt[_e>>3]=Wt,Tt[p>>3]=Nt)}}else g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,g[Le+12>>2]=0,g[Le+16>>2]=0,g[Le+20>>2]=0,g[Le+24>>2]=0,g[Le+28>>2]=0,y=g[er>>2]|0;while((Ut|0)<(y|0))}}function tr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if(!(Kr(p,m,y)|0))return C=0,C|0;if(C=p+8|0,(g[C>>2]|0)<=0)return C=1,C|0;for(S=p+12|0,p=0;;){if(k=p,p=p+1|0,Kr((g[S>>2]|0)+(k<<3)|0,m+(p<<5)|0,y)|0){p=0,S=6;break}if((p|0)>=(g[C>>2]|0)){p=1,S=6;break}}return(S|0)==6?p|0:0}function Gi(){return 8}function Jr(){return 16}function Vr(){return 168}function ei(){return 8}function On(){return 16}function tn(){return 12}function Gs(){return 8}function hs(p){p=p|0;var m=0,y=0;return y=+Tt[p>>3],m=+Tt[p+8>>3],+ +bn(+(y*y+m*m))}function Bn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;it=+Tt[p>>3],H=+Tt[m>>3]-it,z=+Tt[p+8>>3],L=+Tt[m+8>>3]-z,Ct=+Tt[y>>3],k=+Tt[S>>3]-Ct,Nt=+Tt[y+8>>3],ot=+Tt[S+8>>3]-Nt,k=(k*(z-Nt)-(it-Ct)*ot)/(H*ot-L*k),Tt[C>>3]=it+H*k,Tt[C+8>>3]=z+L*k}function qo(p,m){return p=p|0,m=m|0,+Tt[p>>3]!=+Tt[m>>3]?(m=0,m|0):(m=+Tt[p+8>>3]==+Tt[m+8>>3],m|0)}function jr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return C=+Tt[p>>3]-+Tt[m>>3],S=+Tt[p+8>>3]-+Tt[m+8>>3],y=+Tt[p+16>>3]-+Tt[m+16>>3],+(C*C+S*S+y*y)}function ql(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;y=+Tt[p>>3],S=+Ur(+y),y=+hi(+y),Tt[m+16>>3]=y,y=+Tt[p+8>>3],C=S*+Ur(+y),Tt[m>>3]=C,y=S*+hi(+y),Tt[m+8>>3]=y}function Zl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+32|0,C=it+16|0,k=it,T(p,m,C),L=wf(p,m)|0,H=Es(p,m)|0,lh(L,k),m=Ld(L,g[C>>2]|0)|0,!(fi(L)|0))return H=m,wt=it,H|0;do switch(L|0){case 4:{p=0,y=14;break}case 14:{p=1,y=14;break}case 24:{p=2,y=14;break}case 38:{p=3,y=14;break}case 49:{p=4,y=14;break}case 58:{p=5,y=14;break}case 63:{p=6,y=14;break}case 72:{p=7,y=14;break}case 83:{p=8,y=14;break}case 97:{p=9,y=14;break}case 107:{p=10,y=14;break}case 117:{p=11,y=14;break}default:z=0,S=0}while(!1);return(y|0)==14&&(z=g[22096+(p*24|0)+8>>2]|0,S=g[22096+(p*24|0)+16>>2]|0),p=g[C>>2]|0,(p|0)!=(g[k>>2]|0)&&(L=mu(L)|0,p=g[C>>2]|0,L|(p|0)==(S|0)&&(m=(m+1|0)%6|0)),(H|0)==3&(p|0)==(S|0)?(H=(m+5|0)%6|0,wt=it,H|0):(H|0)==5&(p|0)==(z|0)?(H=(m+1|0)%6|0,wt=it,H|0):(H=m,wt=it,H|0)}function yu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;return S=ji(p,m)|0,(y+-1|0)>>>0>5||(C=(S|0)!=0,(y|0)==1&C)?(y=-1,y|0):(S=Zl(p,m)|0,C?(y=(5-S+(g[22384+(y<<2)>>2]|0)|0)%5|0,y|0):(y=(6-S+(g[22416+(y<<2)>>2]|0)|0)%6|0,y|0))}function vu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0;(m|0)>0?(S=Ua(m,4)|0,g[p>>2]=S,S||Mi(23230,23253,40,23267)):g[p>>2]=0,g[p+4>>2]=m,g[p+8>>2]=0,g[p+12>>2]=y}function _h(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=p+4|0,k=p+12|0,L=p+8|0;t:for(;;){for(y=g[C>>2]|0,m=0;;){if((m|0)>=(y|0))break t;if(S=g[p>>2]|0,z=g[S+(m<<2)>>2]|0,!z)m=m+1|0;else break}m=S+(~~(+li(+(+dl(10,+ +(15-(g[k>>2]|0)|0))*(+Tt[z>>3]+ +Tt[z+8>>3])))%+(y|0))>>>0<<2)|0,y=g[m>>2]|0;e:do if(y|0){if(S=z+32|0,(y|0)==(z|0))g[m>>2]=g[S>>2];else{if(y=y+32|0,m=g[y>>2]|0,!m)break;for(;(m|0)!=(z|0);)if(y=m+32|0,m=g[y>>2]|0,!m)break e;g[y>>2]=g[S>>2]}Gr(z),g[L>>2]=(g[L>>2]|0)+-1}while(!1)}Gr(g[p>>2]|0)}function Ws(p){p=p|0;var m=0,y=0,S=0;for(S=g[p+4>>2]|0,y=0;;){if((y|0)>=(S|0)){m=0,y=4;break}if(m=g[(g[p>>2]|0)+(y<<2)>>2]|0,!m)y=y+1|0;else{y=4;break}}return(y|0)==4?m|0:0}function Ps(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,y=(g[p>>2]|0)+(y<<2)|0,S=g[y>>2]|0,!S)return k=1,k|0;k=m+32|0;do if((S|0)!=(m|0)){if(y=g[S+32>>2]|0,!y)return k=1,k|0;for(C=y;;){if((C|0)==(m|0)){C=8;break}if(y=g[C+32>>2]|0,y)S=C,C=y;else{y=1,C=10;break}}if((C|0)==8){g[S+32>>2]=g[k>>2];break}else if((C|0)==10)return y|0}else g[y>>2]=g[k>>2];while(!1);return Gr(m),k=p+8|0,g[k>>2]=(g[k>>2]|0)+-1,k=0,k|0}function Eo(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;k=ho(40)|0,k||Mi(23283,23253,98,23296),g[k>>2]=g[m>>2],g[k+4>>2]=g[m+4>>2],g[k+8>>2]=g[m+8>>2],g[k+12>>2]=g[m+12>>2],C=k+16|0,g[C>>2]=g[y>>2],g[C+4>>2]=g[y+4>>2],g[C+8>>2]=g[y+8>>2],g[C+12>>2]=g[y+12>>2],g[k+32>>2]=0,C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=(g[p>>2]|0)+(C<<2)|0,S=g[C>>2]|0;do if(!S)g[C>>2]=k;else{for(;!(us(S,m)|0&&us(S+16|0,y)|0);)if(C=g[S+32>>2]|0,S=C|0?C:S,!(g[S+32>>2]|0)){L=10;break}if((L|0)==10){g[S+32>>2]=k;break}return Gr(k),L=S,L|0}while(!1);return L=p+8|0,g[L>>2]=(g[L>>2]|0)+1,L=k,L|0}function yh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=g[(g[p>>2]|0)+(C<<2)>>2]|0,!C)return y=0,y|0;if(!y){for(p=C;;){if(us(p,m)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}if((S|0)==10)return p|0}for(p=C;;){if(us(p,m)|0&&us(p+16|0,y)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}return(S|0)==10?p|0:0}function Fn(p,m){p=p|0,m=m|0;var y=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,p=g[(g[p>>2]|0)+(y<<2)>>2]|0,!p)return y=0,y|0;for(;;){if(us(p,m)|0){m=5;break}if(p=g[p+32>>2]|0,!p){p=0,m=5;break}}return(m|0)==5?p|0:0}function fs(){return 23312}function Zo(p){return p=+p,+ +Ux(+p)}function _n(p){return p=+p,~~+Zo(p)|0}function ho(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0;$e=wt,wt=wt+16|0,Nt=$e;do if(p>>>0<245){if(it=p>>>0<11?16:p+11&-8,p=it>>>3,Ct=g[5829]|0,y=Ct>>>p,y&3|0)return m=(y&1^1)+p|0,p=23356+(m<<1<<2)|0,y=p+8|0,S=g[y>>2]|0,C=S+8|0,k=g[C>>2]|0,(k|0)==(p|0)?g[5829]=Ct&~(1<>2]=p,g[y>>2]=k),Ut=m<<3,g[S+4>>2]=Ut|3,Ut=S+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1,Ut=C,wt=$e,Ut|0;if(ot=g[5831]|0,it>>>0>ot>>>0){if(y|0)return m=2<>>12&16,m=m>>>z,y=m>>>5&8,m=m>>>y,k=m>>>2&4,m=m>>>k,p=m>>>1&2,m=m>>>p,S=m>>>1&1,S=(y|z|k|p|S)+(m>>>S)|0,m=23356+(S<<1<<2)|0,p=m+8|0,k=g[p>>2]|0,z=k+8|0,y=g[z>>2]|0,(y|0)==(m|0)?(p=Ct&~(1<>2]=m,g[p>>2]=y,p=Ct),Ut=S<<3,L=Ut-it|0,g[k+4>>2]=it|3,C=k+it|0,g[C+4>>2]=L|1,g[k+Ut>>2]=L,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=L,g[5834]=C,Ut=z,wt=$e,Ut|0;if(k=g[5830]|0,k){for(y=(k&0-k)+-1|0,C=y>>>12&16,y=y>>>C,S=y>>>5&8,y=y>>>S,L=y>>>2&4,y=y>>>L,z=y>>>1&2,y=y>>>z,H=y>>>1&1,H=g[23620+((S|C|L|z|H)+(y>>>H)<<2)>>2]|0,y=H,z=H,H=(g[H+4>>2]&-8)-it|0;p=g[y+16>>2]|0,!(!p&&(p=g[y+20>>2]|0,!p));)L=(g[p+4>>2]&-8)-it|0,C=L>>>0>>0,y=p,z=C?p:z,H=C?L:H;if(L=z+it|0,L>>>0>z>>>0){C=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){y=0;break}for(;;)if(S=m+20|0,y=g[S>>2]|0,y)m=y,p=S;else if(S=m+16|0,y=g[S>>2]|0,y)m=y,p=S;else break;g[p>>2]=0,y=m}else y=g[z+8>>2]|0,g[y+12>>2]=m,g[m+8>>2]=y,y=m;while(!1);do if(C|0){if(m=g[z+28>>2]|0,p=23620+(m<<2)|0,(z|0)==(g[p>>2]|0)){if(g[p>>2]=y,!y){g[5830]=k&~(1<>2]|0)==(z|0)?Ut:C+20|0)>>2]=y,!y)break;g[y+24>>2]=C,m=g[z+16>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),m=g[z+20>>2]|0,m|0&&(g[y+20>>2]=m,g[m+24>>2]=y)}while(!1);return H>>>0<16?(Ut=H+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1):(g[z+4>>2]=it|3,g[L+4>>2]=H|1,g[L+H>>2]=H,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=m|Ct,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=H,g[5834]=L),Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it}else Ct=it}else if(p>>>0<=4294967231)if(p=p+11|0,it=p&-8,S=g[5830]|0,S){C=0-it|0,p=p>>>8,p?it>>>0>16777215?H=31:(Ct=(p+1048320|0)>>>16&8,ne=p<>>16&4,ne=ne<>>16&2,H=14-(z|Ct|H)+(ne<>>15)|0,H=it>>>(H+7|0)&1|H<<1):H=0,y=g[23620+(H<<2)>>2]|0;t:do if(!y)y=0,p=0,ne=61;else for(p=0,z=it<<((H|0)==31?0:25-(H>>>1)|0),k=0;;){if(L=(g[y+4>>2]&-8)-it|0,L>>>0>>0)if(L)p=y,C=L;else{p=y,C=0,ne=65;break t}if(ne=g[y+20>>2]|0,y=g[y+16+(z>>>31<<2)>>2]|0,k=(ne|0)==0|(ne|0)==(y|0)?k:ne,y)z=z<<1;else{y=k,ne=61;break}}while(!1);if((ne|0)==61){if((y|0)==0&(p|0)==0){if(p=2<>>12&16,Ct=Ct>>>L,k=Ct>>>5&8,Ct=Ct>>>k,z=Ct>>>2&4,Ct=Ct>>>z,H=Ct>>>1&2,Ct=Ct>>>H,y=Ct>>>1&1,p=0,y=g[23620+((k|L|z|H|y)+(Ct>>>y)<<2)>>2]|0}y?ne=65:(z=p,L=C)}if((ne|0)==65)for(k=y;;)if(Ct=(g[k+4>>2]&-8)-it|0,y=Ct>>>0>>0,C=y?Ct:C,p=y?k:p,y=g[k+16>>2]|0,y||(y=g[k+20>>2]|0),y)k=y;else{z=p,L=C;break}if(z|0&&L>>>0<((g[5831]|0)-it|0)>>>0&&(ot=z+it|0,ot>>>0>z>>>0)){k=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){m=0;break}for(;;)if(C=m+20|0,y=g[C>>2]|0,y)m=y,p=C;else if(C=m+16|0,y=g[C>>2]|0,y)m=y,p=C;else break;g[p>>2]=0}else Ut=g[z+8>>2]|0,g[Ut+12>>2]=m,g[m+8>>2]=Ut;while(!1);do if(k){if(p=g[z+28>>2]|0,y=23620+(p<<2)|0,(z|0)==(g[y>>2]|0)){if(g[y>>2]=m,!m){S=S&~(1<>2]|0)==(z|0)?Ut:k+20|0)>>2]=m,!m)break;g[m+24>>2]=k,p=g[z+16>>2]|0,p|0&&(g[m+16>>2]=p,g[p+24>>2]=m),p=g[z+20>>2]|0,p&&(g[m+20>>2]=p,g[p+24>>2]=m)}while(!1);t:do if(L>>>0<16)Ut=L+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1;else{if(g[z+4>>2]=it|3,g[ot+4>>2]=L|1,g[ot+L>>2]=L,m=L>>>3,L>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=ot,g[m+12>>2]=ot,g[ot+8>>2]=m,g[ot+12>>2]=y;break}if(m=L>>>8,m?L>>>0>16777215?y=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,y=14-(te|_e|y)+(Ut<>>15)|0,y=L>>>(y+7|0)&1|y<<1):y=0,m=23620+(y<<2)|0,g[ot+28>>2]=y,p=ot+16|0,g[p+4>>2]=0,g[p>>2]=0,p=1<>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break}m=g[m>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(L|0)){for(S=L<<((y|0)==31?0:25-(y>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(L|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=ot,g[_e>>2]=ot,g[ot+8>>2]=Ut,g[ot+12>>2]=m,g[ot+24>>2]=0}while(!1);return Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it;else Ct=-1;while(!1);if(y=g[5831]|0,y>>>0>=Ct>>>0)return m=y-Ct|0,p=g[5834]|0,m>>>0>15?(Ut=p+Ct|0,g[5834]=Ut,g[5831]=m,g[Ut+4>>2]=m|1,g[p+y>>2]=m,g[p+4>>2]=Ct|3):(g[5831]=0,g[5834]=0,g[p+4>>2]=y|3,Ut=p+y+4|0,g[Ut>>2]=g[Ut>>2]|1),Ut=p+8|0,wt=$e,Ut|0;if(L=g[5832]|0,L>>>0>Ct>>>0)return te=L-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0;if(g[5947]|0?p=g[5949]|0:(g[5949]=4096,g[5948]=4096,g[5950]=-1,g[5951]=-1,g[5952]=0,g[5940]=0,g[5947]=Nt&-16^1431655768,p=4096),z=Ct+48|0,H=Ct+47|0,k=p+H|0,C=0-p|0,it=k&C,it>>>0<=Ct>>>0||(p=g[5939]|0,p|0&&(ot=g[5937]|0,Nt=ot+it|0,Nt>>>0<=ot>>>0|Nt>>>0>p>>>0)))return Ut=0,wt=$e,Ut|0;t:do if(g[5940]&4)m=0,ne=143;else{y=g[5835]|0;e:do if(y){for(S=23764;Nt=g[S>>2]|0,!(Nt>>>0<=y>>>0&&(Nt+(g[S+4>>2]|0)|0)>>>0>y>>>0);)if(p=g[S+8>>2]|0,p)S=p;else{ne=128;break e}if(m=k-L&C,m>>>0<2147483647)if(p=en(m|0)|0,(p|0)==((g[S>>2]|0)+(g[S+4>>2]|0)|0)){if((p|0)!=-1){L=m,k=p,ne=145;break t}}else S=p,ne=136;else m=0}else ne=128;while(!1);do if((ne|0)==128)if(y=en(0)|0,(y|0)!=-1&&(m=y,Wt=g[5948]|0,re=Wt+-1|0,m=(re&m|0?(re+m&0-Wt)-m|0:0)+it|0,Wt=g[5937]|0,re=m+Wt|0,m>>>0>Ct>>>0&m>>>0<2147483647)){if(Nt=g[5939]|0,Nt|0&&re>>>0<=Wt>>>0|re>>>0>Nt>>>0){m=0;break}if(p=en(m|0)|0,(p|0)==(y|0)){L=m,k=y,ne=145;break t}else S=p,ne=136}else m=0;while(!1);do if((ne|0)==136){if(y=0-m|0,!(z>>>0>m>>>0&(m>>>0<2147483647&(S|0)!=-1)))if((S|0)==-1){m=0;break}else{L=m,k=S,ne=145;break t}if(p=g[5949]|0,p=H-m+p&0-p,p>>>0>=2147483647){L=m,k=S,ne=145;break t}if((en(p|0)|0)==-1){en(y|0)|0,m=0;break}else{L=p+m|0,k=S,ne=145;break t}}while(!1);g[5940]=g[5940]|4,ne=143}while(!1);if((ne|0)==143&&it>>>0<2147483647&&(te=en(it|0)|0,re=en(0)|0,Le=re-te|0,We=Le>>>0>(Ct+40|0)>>>0,!((te|0)==-1|We^1|te>>>0>>0&((te|0)!=-1&(re|0)!=-1)^1))&&(L=We?Le:m,k=te,ne=145),(ne|0)==145){m=(g[5937]|0)+L|0,g[5937]=m,m>>>0>(g[5938]|0)>>>0&&(g[5938]=m),H=g[5835]|0;t:do if(H){for(m=23764;;){if(p=g[m>>2]|0,y=g[m+4>>2]|0,(k|0)==(p+y|0)){ne=154;break}if(S=g[m+8>>2]|0,S)m=S;else break}if((ne|0)==154&&(_e=m+4|0,(g[m+12>>2]&8|0)==0)&&k>>>0>H>>>0&p>>>0<=H>>>0){g[_e>>2]=y+L,Ut=(g[5832]|0)+L|0,te=H+8|0,te=te&7|0?0-te&7:0,_e=H+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[H+Ut+4>>2]=40,g[5836]=g[5951];break}for(k>>>0<(g[5833]|0)>>>0&&(g[5833]=k),y=k+L|0,m=23764;;){if((g[m>>2]|0)==(y|0)){ne=162;break}if(p=g[m+8>>2]|0,p)m=p;else break}if((ne|0)==162&&!(g[m+12>>2]&8|0)){g[m>>2]=k,ot=m+4|0,g[ot>>2]=(g[ot>>2]|0)+L,ot=k+8|0,ot=k+(ot&7|0?0-ot&7:0)|0,m=y+8|0,m=y+(m&7|0?0-m&7:0)|0,it=ot+Ct|0,z=m-ot-Ct|0,g[ot+4>>2]=Ct|3;e:do if((H|0)==(m|0))Ut=(g[5832]|0)+z|0,g[5832]=Ut,g[5835]=it,g[it+4>>2]=Ut|1;else{if((g[5834]|0)==(m|0)){Ut=(g[5831]|0)+z|0,g[5831]=Ut,g[5834]=it,g[it+4>>2]=Ut|1,g[it+Ut>>2]=Ut;break}if(p=g[m+4>>2]|0,(p&3|0)==1){L=p&-8,S=p>>>3;r:do if(p>>>0<256)if(p=g[m+8>>2]|0,y=g[m+12>>2]|0,(y|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=y,g[y+8>>2]=p;break}else{k=g[m+24>>2]|0,p=g[m+12>>2]|0;do if((p|0)==(m|0)){if(y=m+16|0,S=y+4|0,p=g[S>>2]|0,p)y=S;else if(p=g[y>>2]|0,!p){p=0;break}for(;;)if(C=p+20|0,S=g[C>>2]|0,S)p=S,y=C;else if(C=p+16|0,S=g[C>>2]|0,S)p=S,y=C;else break;g[y>>2]=0}else Ut=g[m+8>>2]|0,g[Ut+12>>2]=p,g[p+8>>2]=Ut;while(!1);if(!k)break;y=g[m+28>>2]|0,S=23620+(y<<2)|0;do if((g[S>>2]|0)!=(m|0)){if(Ut=k+16|0,g[((g[Ut>>2]|0)==(m|0)?Ut:k+20|0)>>2]=p,!p)break r}else{if(g[S>>2]=p,p|0)break;g[5830]=g[5830]&~(1<>2]=k,y=m+16|0,S=g[y>>2]|0,S|0&&(g[p+16>>2]=S,g[S+24>>2]=p),y=g[y+4>>2]|0,!y)break;g[p+20>>2]=y,g[y+24>>2]=p}while(!1);m=m+L|0,C=L+z|0}else C=z;if(m=m+4|0,g[m>>2]=g[m>>2]&-2,g[it+4>>2]=C|1,g[it+C>>2]=C,m=C>>>3,C>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=it,g[m+12>>2]=it,g[it+8>>2]=m,g[it+12>>2]=y;break}m=C>>>8;do if(!m)S=0;else{if(C>>>0>16777215){S=31;break}_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=C>>>(S+7|0)&1|S<<1}while(!1);if(m=23620+(S<<2)|0,g[it+28>>2]=S,p=it+16|0,g[p+4>>2]=0,g[p>>2]=0,p=g[5830]|0,y=1<>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break}m=g[m>>2]|0;r:do if((g[m+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(C|0)){m=p;break r}else S=S<<1,m=p;g[y>>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break e}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=it,g[_e>>2]=it,g[it+8>>2]=Ut,g[it+12>>2]=m,g[it+24>>2]=0}while(!1);return Ut=ot+8|0,wt=$e,Ut|0}for(m=23764;p=g[m>>2]|0,!(p>>>0<=H>>>0&&(Ut=p+(g[m+4>>2]|0)|0,Ut>>>0>H>>>0));)m=g[m+8>>2]|0;C=Ut+-47|0,p=C+8|0,p=C+(p&7|0?0-p&7:0)|0,C=H+16|0,p=p>>>0>>0?H:p,m=p+8|0,y=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=y-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+y+4>>2]=40,g[5836]=g[5951],y=p+4|0,g[y>>2]=27,g[m>>2]=g[5941],g[m+4>>2]=g[5942],g[m+8>>2]=g[5943],g[m+12>>2]=g[5944],g[5941]=k,g[5942]=L,g[5944]=0,g[5943]=m,m=p+24|0;do _e=m,m=m+4|0,g[m>>2]=7;while((_e+8|0)>>>0>>0);if((p|0)!=(H|0)){if(k=p-H|0,g[y>>2]=g[y>>2]&-2,g[H+4>>2]=k|1,g[p>>2]=k,m=k>>>3,k>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=H,g[m+12>>2]=H,g[H+8>>2]=m,g[H+12>>2]=y;break}if(m=k>>>8,m?k>>>0>16777215?S=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=k>>>(S+7|0)&1|S<<1):S=0,y=23620+(S<<2)|0,g[H+28>>2]=S,g[H+20>>2]=0,g[C>>2]=0,m=g[5830]|0,p=1<>2]=H,g[H+24>>2]=y,g[H+12>>2]=H,g[H+8>>2]=H;break}m=g[y>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(k|0)){for(S=k<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(k|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=H,g[H+24>>2]=m,g[H+12>>2]=H,g[H+8>>2]=H;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=H,g[_e>>2]=H,g[H+8>>2]=Ut,g[H+12>>2]=m,g[H+24>>2]=0}}else Ut=g[5833]|0,(Ut|0)==0|k>>>0>>0&&(g[5833]=k),g[5941]=k,g[5942]=L,g[5944]=0,g[5838]=g[5947],g[5837]=-1,g[5842]=23356,g[5841]=23356,g[5844]=23364,g[5843]=23364,g[5846]=23372,g[5845]=23372,g[5848]=23380,g[5847]=23380,g[5850]=23388,g[5849]=23388,g[5852]=23396,g[5851]=23396,g[5854]=23404,g[5853]=23404,g[5856]=23412,g[5855]=23412,g[5858]=23420,g[5857]=23420,g[5860]=23428,g[5859]=23428,g[5862]=23436,g[5861]=23436,g[5864]=23444,g[5863]=23444,g[5866]=23452,g[5865]=23452,g[5868]=23460,g[5867]=23460,g[5870]=23468,g[5869]=23468,g[5872]=23476,g[5871]=23476,g[5874]=23484,g[5873]=23484,g[5876]=23492,g[5875]=23492,g[5878]=23500,g[5877]=23500,g[5880]=23508,g[5879]=23508,g[5882]=23516,g[5881]=23516,g[5884]=23524,g[5883]=23524,g[5886]=23532,g[5885]=23532,g[5888]=23540,g[5887]=23540,g[5890]=23548,g[5889]=23548,g[5892]=23556,g[5891]=23556,g[5894]=23564,g[5893]=23564,g[5896]=23572,g[5895]=23572,g[5898]=23580,g[5897]=23580,g[5900]=23588,g[5899]=23588,g[5902]=23596,g[5901]=23596,g[5904]=23604,g[5903]=23604,Ut=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+Ut+4>>2]=40,g[5836]=g[5951];while(!1);if(m=g[5832]|0,m>>>0>Ct>>>0)return te=m-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0}return Ut=fs()|0,g[Ut>>2]=12,Ut=0,wt=$e,Ut|0}function Gr(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(p){y=p+-8|0,C=g[5833]|0,p=g[p+-4>>2]|0,m=p&-8,H=y+m|0;do if(p&1)z=y,L=y;else{if(S=g[y>>2]|0,!(p&3)||(L=y+(0-S)|0,k=S+m|0,L>>>0>>0))return;if((g[5834]|0)==(L|0)){if(p=H+4|0,m=g[p>>2]|0,(m&3|0)!=3){z=L,m=k;break}g[5831]=k,g[p>>2]=m&-2,g[L+4>>2]=k|1,g[L+k>>2]=k;return}if(y=S>>>3,S>>>0<256)if(p=g[L+8>>2]|0,m=g[L+12>>2]|0,(m|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=m,g[m+8>>2]=p,z=L,m=k;break}C=g[L+24>>2]|0,p=g[L+12>>2]|0;do if((p|0)==(L|0)){if(m=L+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){p=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0}else z=g[L+8>>2]|0,g[z+12>>2]=p,g[p+8>>2]=z;while(!1);if(C){if(m=g[L+28>>2]|0,y=23620+(m<<2)|0,(g[y>>2]|0)==(L|0)){if(g[y>>2]=p,!p){g[5830]=g[5830]&~(1<>2]|0)==(L|0)?z:C+20|0)>>2]=p,!p){z=L,m=k;break}g[p+24>>2]=C,m=L+16|0,y=g[m>>2]|0,y|0&&(g[p+16>>2]=y,g[y+24>>2]=p),m=g[m+4>>2]|0,m?(g[p+20>>2]=m,g[m+24>>2]=p,z=L,m=k):(z=L,m=k)}else z=L,m=k}while(!1);if(!(L>>>0>=H>>>0)&&(p=H+4|0,S=g[p>>2]|0,!!(S&1))){if(S&2)g[p>>2]=S&-2,g[z+4>>2]=m|1,g[L+m>>2]=m,C=m;else{if((g[5835]|0)==(H|0)){if(H=(g[5832]|0)+m|0,g[5832]=H,g[5835]=z,g[z+4>>2]=H|1,(z|0)!=(g[5834]|0))return;g[5834]=0,g[5831]=0;return}if((g[5834]|0)==(H|0)){H=(g[5831]|0)+m|0,g[5831]=H,g[5834]=L,g[z+4>>2]=H|1,g[L+H>>2]=H;return}C=(S&-8)+m|0,y=S>>>3;do if(S>>>0<256)if(m=g[H+8>>2]|0,p=g[H+12>>2]|0,(p|0)==(m|0)){g[5829]=g[5829]&~(1<>2]=p,g[p+8>>2]=m;break}else{k=g[H+24>>2]|0,p=g[H+12>>2]|0;do if((p|0)==(H|0)){if(m=H+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){y=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0,y=p}else y=g[H+8>>2]|0,g[y+12>>2]=p,g[p+8>>2]=y,y=p;while(!1);if(k|0){if(p=g[H+28>>2]|0,m=23620+(p<<2)|0,(g[m>>2]|0)==(H|0)){if(g[m>>2]=y,!y){g[5830]=g[5830]&~(1<>2]|0)==(H|0)?S:k+20|0)>>2]=y,!y)break;g[y+24>>2]=k,p=H+16|0,m=g[p>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),p=g[p+4>>2]|0,p|0&&(g[y+20>>2]=p,g[p+24>>2]=y)}}while(!1);if(g[z+4>>2]=C|1,g[L+C>>2]=C,(z|0)==(g[5834]|0)){g[5831]=C;return}}if(p=C>>>3,C>>>0<256){y=23356+(p<<1<<2)|0,m=g[5829]|0,p=1<>2]|0):(g[5829]=m|p,p=y,m=y+8|0),g[m>>2]=z,g[p+12>>2]=z,g[z+8>>2]=p,g[z+12>>2]=y;return}p=C>>>8,p?C>>>0>16777215?S=31:(L=(p+1048320|0)>>>16&8,H=p<>>16&4,H=H<>>16&2,S=14-(k|L|S)+(H<>>15)|0,S=C>>>(S+7|0)&1|S<<1):S=0,p=23620+(S<<2)|0,g[z+28>>2]=S,g[z+20>>2]=0,g[z+16>>2]=0,m=g[5830]|0,y=1<>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;else{p=g[p>>2]|0;e:do if((g[p+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=p+16+(S>>>31<<2)|0,m=g[y>>2]|0,!!m;)if((g[m+4>>2]&-8|0)==(C|0)){p=m;break e}else S=S<<1,p=m;g[y>>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;break t}while(!1);L=p+8|0,H=g[L>>2]|0,g[H+12>>2]=z,g[L>>2]=z,g[z+8>>2]=H,g[z+12>>2]=p,g[z+24>>2]=0}while(!1);if(H=(g[5837]|0)+-1|0,g[5837]=H,!(H|0)){for(p=23772;p=g[p>>2]|0,p;)p=p+8|0;g[5837]=-1}}}}function Ua(p,m){p=p|0,m=m|0;var y=0;return p?(y=Oc(m,p)|0,(m|p)>>>0>65535&&(y=((y>>>0)/(p>>>0)|0|0)==(m|0)?y:-1)):y=0,p=ho(y)|0,!p||!(g[p+-4>>2]&3)||Fc(p|0,0,y|0)|0,p|0}function S_(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,y=p+y>>>0,Je(m+S+(y>>>0

>>0|0)>>>0|0),y|0|0}function zd(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,S=m-S-(y>>>0>p>>>0|0)>>>0,Je(S|0),p-y>>>0|0|0}function cA(p){return p=p|0,(p?31-(aa(p^p-1)|0)|0:32)|0}function Yl(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(ot=p,H=m,it=H,L=y,Nt=S,z=Nt,!it)return k=(C|0)!=0,z?k?(g[C>>2]=p|0,g[C+4>>2]=m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0):(k&&(g[C>>2]=(ot>>>0)%(L>>>0),g[C+4>>2]=0),Nt=0,C=(ot>>>0)/(L>>>0)>>>0,Je(Nt|0),C|0);k=(z|0)==0;do if(L){if(!k){if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=31){Ct=k+1|0,z=31-k|0,m=k-31>>31,L=Ct,p=ot>>>(Ct>>>0)&m|it<>>(Ct>>>0)&m,k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0)}if(k=L-1|0,k&L|0){z=(aa(L|0)|0)+33-(aa(it|0)|0)|0,re=64-z|0,Ct=32-z|0,H=Ct>>31,Wt=z-32|0,m=Wt>>31,L=z,p=Ct-1>>31&it>>>(Wt>>>0)|(it<>>(z>>>0))&m,m=m&it>>>(z>>>0),k=ot<>>(Wt>>>0))&H|ot<>31;break}return C|0&&(g[C>>2]=k&ot,g[C+4>>2]=0),(L|0)==1?(Wt=H|m&0,re=p|0|0,Je(Wt|0),re|0):(re=cA(L|0)|0,Wt=it>>>(re>>>0)|0,re=it<<32-re|ot>>>(re>>>0)|0,Je(Wt|0),re|0)}else{if(k)return C|0&&(g[C>>2]=(it>>>0)%(L>>>0),g[C+4>>2]=0),Wt=0,re=(it>>>0)/(L>>>0)>>>0,Je(Wt|0),re|0;if(!ot)return C|0&&(g[C>>2]=0,g[C+4>>2]=(it>>>0)%(z>>>0)),Wt=0,re=(it>>>0)/(z>>>0)>>>0,Je(Wt|0),re|0;if(k=z-1|0,!(k&z))return C|0&&(g[C>>2]=p|0,g[C+4>>2]=k&it|m&0),Wt=0,re=it>>>((cA(z|0)|0)>>>0),Je(Wt|0),re|0;if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=30){m=k+1|0,z=31-k|0,L=m,p=it<>>(m>>>0),m=it>>>(m>>>0),k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Wt=0,re=0,Je(Wt|0),re|0):(Wt=0,re=0,Je(Wt|0),re|0)}while(!1);if(!L)it=z,H=0,z=0;else{Ct=y|0|0,ot=Nt|S&0,it=S_(Ct|0,ot|0,-1,-1)|0,y=It()|0,H=z,z=0;do S=H,H=k>>>31|H<<1,k=z|k<<1,S=p<<1|S>>>31|0,Nt=p>>>31|m<<1|0,zd(it|0,y|0,S|0,Nt|0)|0,re=It()|0,Wt=re>>31|((re|0)<0?-1:0)<<1,z=Wt&1,p=zd(S|0,Nt|0,Wt&Ct|0,(((re|0)<0?-1:0)>>31|((re|0)<0?-1:0)<<1)&ot|0)|0,m=It()|0,L=L-1|0;while(L|0);it=H,H=0}return L=0,C|0&&(g[C>>2]=p,g[C+4>>2]=m),Wt=(k|0)>>>31|(it|L)<<1|(L<<1|k>>>31)&0|H,re=(k<<1|0)&-2|z,Je(Wt|0),re|0}function Yo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return k=wt,wt=wt+16|0,C=k|0,Yl(p,m,y,S,C)|0,wt=k,Je(g[C+4>>2]|0),g[C>>2]|0|0}function me(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m>>>y|0),p>>>y|(m&(1<>>y-32|0)}function ke(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m<>>32-y|0),p<=0?+cs(p+.5):+Ji(p-.5)}function Va(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if((y|0)>=8192)return Yp(p|0,m|0,y|0)|0,p|0;if(k=p|0,C=p+y|0,(p&3)==(m&3)){for(;p&3;){if(!y)return k|0;br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0,y=y-1|0}for(y=C&-4|0,S=y-64|0;(p|0)<=(S|0);)g[p>>2]=g[m>>2],g[p+4>>2]=g[m+4>>2],g[p+8>>2]=g[m+8>>2],g[p+12>>2]=g[m+12>>2],g[p+16>>2]=g[m+16>>2],g[p+20>>2]=g[m+20>>2],g[p+24>>2]=g[m+24>>2],g[p+28>>2]=g[m+28>>2],g[p+32>>2]=g[m+32>>2],g[p+36>>2]=g[m+36>>2],g[p+40>>2]=g[m+40>>2],g[p+44>>2]=g[m+44>>2],g[p+48>>2]=g[m+48>>2],g[p+52>>2]=g[m+52>>2],g[p+56>>2]=g[m+56>>2],g[p+60>>2]=g[m+60>>2],p=p+64|0,m=m+64|0;for(;(p|0)<(y|0);)g[p>>2]=g[m>>2],p=p+4|0,m=m+4|0}else for(y=C-4|0;(p|0)<(y|0);)br[p>>0]=br[m>>0]|0,br[p+1>>0]=br[m+1>>0]|0,br[p+2>>0]=br[m+2>>0]|0,br[p+3>>0]=br[m+3>>0]|0,p=p+4|0,m=m+4|0;for(;(p|0)<(C|0);)br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0;return k|0}function Fc(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=p+y|0,m=m&255,(y|0)>=67){for(;p&3;)br[p>>0]=m,p=p+1|0;for(S=k&-4|0,L=m|m<<8|m<<16|m<<24,C=S-64|0;(p|0)<=(C|0);)g[p>>2]=L,g[p+4>>2]=L,g[p+8>>2]=L,g[p+12>>2]=L,g[p+16>>2]=L,g[p+20>>2]=L,g[p+24>>2]=L,g[p+28>>2]=L,g[p+32>>2]=L,g[p+36>>2]=L,g[p+40>>2]=L,g[p+44>>2]=L,g[p+48>>2]=L,g[p+52>>2]=L,g[p+56>>2]=L,g[p+60>>2]=L,p=p+64|0;for(;(p|0)<(S|0);)g[p>>2]=L,p=p+4|0}for(;(p|0)<(k|0);)br[p>>0]=m,p=p+1|0;return k-y|0}function Ux(p){return p=+p,p>=0?+cs(p+.5):+Ji(p-.5)}function en(p){p=p|0;var m=0,y=0,S=0;return S=Jm()|0,y=g[Ms>>2]|0,m=y+p|0,(p|0)>0&(m|0)<(y|0)|(m|0)<0?(t0(m|0)|0,Km(12),-1):(m|0)>(S|0)&&!(Qp(m|0)|0)?(Km(12),-1):(g[Ms>>2]=m,y|0)}return{___uremdi3:Yo,_bitshift64Lshr:me,_bitshift64Shl:ke,_calloc:Ua,_cellAreaKm2:b_,_cellAreaM2:Nx,_cellAreaRads2:x_,_compact:mh,_destroyLinkedPolygon:Ft,_edgeLengthKm:un,_edgeLengthM:sA,_emscripten_replace_memory:e0,_exactEdgeLengthKm:oA,_exactEdgeLengthM:nr,_exactEdgeLengthRads:Mo,_experimentalH3ToLocalIj:$t,_experimentalLocalIjToH3:oe,_free:Gr,_geoToH3:lA,_getDestinationH3IndexFromUnidirectionalEdge:Z,_getH3IndexesFromUnidirectionalEdge:st,_getH3UnidirectionalEdge:U,_getH3UnidirectionalEdgeBoundary:pt,_getH3UnidirectionalEdgesFromHexagon:At,_getOriginH3IndexFromUnidirectionalEdge:W,_getPentagonIndexes:O,_getRes0Indexes:m_,_h3Distance:pe,_h3GetBaseCell:wf,_h3GetFaces:b,_h3GetResolution:dr,_h3IndexesAreNeighbors:B,_h3IsPentagon:ji,_h3IsResClassIII:Sf,_h3IsValid:aA,_h3Line:be,_h3LineSize:he,_h3SetToLinkedGeo:ah,_h3ToCenterChild:w_,_h3ToChildren:uo,_h3ToGeo:l,_h3ToGeoBoundary:d,_h3ToParent:Bd,_h3UnidirectionalEdgeIsValid:$,_hexAreaKm2:v_,_hexAreaM2:ua,_hexRing:p_,_i64Subtract:zd,_kRing:f_,_kRingDistances:d_,_llvm_minnum_f64:ml,_llvm_round_f64:Mf,_malloc:ho,_maxFaceCount:v,_maxH3ToChildrenSize:Hn,_maxKringSize:r0,_maxPolyfillSize:Cd,_maxUncompactSize:wn,_memcpy:Va,_memset:Fc,_numHexagons:d0,_pentagonIndexCount:M,_pointDistKm:Bc,_pointDistM:h0,_pointDistRads:_u,_polyfill:$p,_res0IndexCount:A_,_round:Ux,_sbrk:en,_sizeOfCoordIJ:Gs,_sizeOfGeoBoundary:Vr,_sizeOfGeoCoord:Jr,_sizeOfGeoPolygon:On,_sizeOfGeofence:ei,_sizeOfH3Index:Gi,_sizeOfLinkedGeoPolygon:tn,_uncompact:kn,establishStackSpace:Fx,stackAlloc:Ed,stackRestore:Id,stackSave:Pd}}(vt,xt,rr),Dt=t.___uremdi3=_t.___uremdi3,Mt=t._bitshift64Lshr=_t._bitshift64Lshr,Vt=t._bitshift64Shl=_t._bitshift64Shl,ie=t._calloc=_t._calloc,se=t._cellAreaKm2=_t._cellAreaKm2,ae=t._cellAreaM2=_t._cellAreaM2,lr=t._cellAreaRads2=_t._cellAreaRads2,vr=t._compact=_t._compact,Xe=t._destroyLinkedPolygon=_t._destroyLinkedPolygon,cr=t._edgeLengthKm=_t._edgeLengthKm,wr=t._edgeLengthM=_t._edgeLengthM,xi=t._emscripten_replace_memory=_t._emscripten_replace_memory,zi=t._exactEdgeLengthKm=_t._exactEdgeLengthKm,ni=t._exactEdgeLengthM=_t._exactEdgeLengthM,Hr=t._exactEdgeLengthRads=_t._exactEdgeLengthRads,jn=t._experimentalH3ToLocalIj=_t._experimentalH3ToLocalIj,Bi=t._experimentalLocalIjToH3=_t._experimentalLocalIjToH3,xn=t._free=_t._free,es=t._geoToH3=_t._geoToH3,oa=t._getDestinationH3IndexFromUnidirectionalEdge=_t._getDestinationH3IndexFromUnidirectionalEdge,Um=t._getH3IndexesFromUnidirectionalEdge=_t._getH3IndexesFromUnidirectionalEdge,Vl=t._getH3UnidirectionalEdge=_t._getH3UnidirectionalEdge,Ss=t._getH3UnidirectionalEdgeBoundary=_t._getH3UnidirectionalEdgeBoundary,nh=t._getH3UnidirectionalEdgesFromHexagon=_t._getH3UnidirectionalEdgesFromHexagon,ai=t._getOriginH3IndexFromUnidirectionalEdge=_t._getOriginH3IndexFromUnidirectionalEdge,ka=t._getPentagonIndexes=_t._getPentagonIndexes,Dc=t._getRes0Indexes=_t._getRes0Indexes,ln=t._h3Distance=_t._h3Distance,Dn=t._h3GetBaseCell=_t._h3GetBaseCell,Vm=t._h3GetFaces=_t._h3GetFaces,Go=t._h3GetResolution=_t._h3GetResolution,Gn=t._h3IndexesAreNeighbors=_t._h3IndexesAreNeighbors,So=t._h3IsPentagon=_t._h3IsPentagon,jl=t._h3IsResClassIII=_t._h3IsResClassIII,Ki=t._h3IsValid=_t._h3IsValid,_i=t._h3Line=_t._h3Line,Gl=t._h3LineSize=_t._h3LineSize,cn=t._h3SetToLinkedGeo=_t._h3SetToLinkedGeo,pu=t._h3ToCenterChild=_t._h3ToCenterChild,rs=t._h3ToChildren=_t._h3ToChildren,Gp=t._h3ToGeo=_t._h3ToGeo,Wl=t._h3ToGeoBoundary=_t._h3ToGeoBoundary,_d=t._h3ToParent=_t._h3ToParent,yd=t._h3UnidirectionalEdgeIsValid=_t._h3UnidirectionalEdgeIsValid,vd=t._hexAreaKm2=_t._hexAreaKm2,xd=t._hexAreaM2=_t._hexAreaM2,lt=t._hexRing=_t._hexRing,ft=t._i64Subtract=_t._i64Subtract,Lt=t._kRing=_t._kRing,Kt=t._kRingDistances=_t._kRingDistances,ge=t._llvm_minnum_f64=_t._llvm_minnum_f64,Qe=t._llvm_round_f64=_t._llvm_round_f64,ti=t._malloc=_t._malloc,is=t._maxFaceCount=_t._maxFaceCount,Ts=t._maxH3ToChildrenSize=_t._maxH3ToChildrenSize,Vs=t._maxKringSize=_t._maxKringSize,Ra=t._maxPolyfillSize=_t._maxPolyfillSize,jm=t._maxUncompactSize=_t._maxUncompactSize,Ox=t._memcpy=_t._memcpy,Bx=t._memset=_t._memset,l_=t._numHexagons=_t._numHexagons,c_=t._pentagonIndexCount=_t._pentagonIndexCount,gf=t._pointDistKm=_t._pointDistKm,Gm=t._pointDistM=_t._pointDistM,fl=t._pointDistRads=_t._pointDistRads,Wm=t._polyfill=_t._polyfill,Hm=t._res0IndexCount=_t._res0IndexCount,Wp=t._round=_t._round,qm=t._sbrk=_t._sbrk,bd=t._sizeOfCoordIJ=_t._sizeOfCoordIJ,sh=t._sizeOfGeoBoundary=_t._sizeOfGeoBoundary,ui=t._sizeOfGeoCoord=_t._sizeOfGeoCoord,Zm=t._sizeOfGeoPolygon=_t._sizeOfGeoPolygon,Da=t._sizeOfGeofence=_t._sizeOfGeofence,Oa=t._sizeOfH3Index=_t._sizeOfH3Index,u_=t._sizeOfLinkedGeoPolygon=_t._sizeOfLinkedGeoPolygon,Ym=t._uncompact=_t._uncompact,Qm=t.establishStackSpace=_t.establishStackSpace,Hp=t.stackAlloc=_t.stackAlloc,$m=t.stackRestore=_t.stackRestore,qp=t.stackSave=_t.stackSave;if(t.asm=_t,t.cwrap=ut,t.setValue=j,t.getValue=Q,t.getTempRet0=R,bo){Ia(bo)||(bo=o(bo));{du(\"memory initializer\");var wd=function(Zt){Zt.byteLength&&(Zt=new Uint8Array(Zt)),Li.set(Zt,N),t.memoryInitializerRequest&&delete t.memoryInitializerRequest.response,ul(\"memory initializer\")},Zp=function(){c(bo,wd,function(){throw\"could not load memory initializer \"+bo})},Sd=ht(bo);if(Sd)wd(Sd.buffer);else if(t.memoryInitializerRequest){var Xm=function(){var Zt=t.memoryInitializerRequest,fe=Zt.response;if(Zt.status!==200&&Zt.status!==0){var Be=ht(t.memoryInitializerRequestURL);if(Be)fe=Be.buffer;else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+Zt.status+\", retrying \"+bo),Zp();return}}wd(fe)};t.memoryInitializerRequest.response?setTimeout(Xm,0):t.memoryInitializerRequest.addEventListener(\"load\",Xm)}else Zp()}}var Td;lo=function Zt(){Td||Au(),Td||(lo=Zt)};function Au(Zt){if(Zt=Zt||s,gi>0||(cl(),gi>0))return;function fe(){Td||(Td=!0,!et&&(xo(),Pa(),t.onRuntimeInitialized&&t.onRuntimeInitialized(),na()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),fe()},1)):fe()}t.run=Au;function oh(Zt){throw t.onAbort&&t.onAbort(Zt),Zt+=\"\",f(Zt),_(Zt),et=!0,\"abort(\"+Zt+\"). Build with -s ASSERTIONS=1 for more info.\"}if(t.abort=oh,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return Au(),e}(typeof Ic==\"object\"?Ic:{}),Tr=\"number\",PS=Tr,$r=Tr,mi=Tr,Pc=Tr,Hi=Tr,pyt=[[\"sizeOfH3Index\",Tr],[\"sizeOfGeoCoord\",Tr],[\"sizeOfGeoBoundary\",Tr],[\"sizeOfGeoPolygon\",Tr],[\"sizeOfGeofence\",Tr],[\"sizeOfLinkedGeoPolygon\",Tr],[\"sizeOfCoordIJ\",Tr],[\"h3IsValid\",PS,[$r,mi]],[\"geoToH3\",$r,[Tr,Tr,Pc]],[\"h3ToGeo\",null,[$r,mi,Hi]],[\"h3ToGeoBoundary\",null,[$r,mi,Hi]],[\"maxKringSize\",Tr,[Tr]],[\"kRing\",null,[$r,mi,Tr,Hi]],[\"kRingDistances\",null,[$r,mi,Tr,Hi,Hi]],[\"hexRing\",null,[$r,mi,Tr,Hi]],[\"maxPolyfillSize\",Tr,[Hi,Pc]],[\"polyfill\",null,[Hi,Pc,Hi]],[\"h3SetToLinkedGeo\",null,[Hi,Tr,Hi]],[\"destroyLinkedPolygon\",null,[Hi]],[\"compact\",Tr,[Hi,Hi,Tr]],[\"uncompact\",Tr,[Hi,Tr,Hi,Tr,Pc]],[\"maxUncompactSize\",Tr,[Hi,Tr,Pc]],[\"h3IsPentagon\",PS,[$r,mi]],[\"h3IsResClassIII\",PS,[$r,mi]],[\"h3GetBaseCell\",Tr,[$r,mi]],[\"h3GetResolution\",Tr,[$r,mi]],[\"maxFaceCount\",Tr,[$r,mi]],[\"h3GetFaces\",null,[$r,mi,Hi]],[\"h3ToParent\",$r,[$r,mi,Pc]],[\"h3ToChildren\",null,[$r,mi,Pc,Hi]],[\"h3ToCenterChild\",$r,[$r,mi,Pc]],[\"maxH3ToChildrenSize\",Tr,[$r,mi,Pc]],[\"h3IndexesAreNeighbors\",PS,[$r,mi,$r,mi]],[\"getH3UnidirectionalEdge\",$r,[$r,mi,$r,mi]],[\"getOriginH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"getDestinationH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"h3UnidirectionalEdgeIsValid\",PS,[$r,mi]],[\"getH3IndexesFromUnidirectionalEdge\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgesFromHexagon\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgeBoundary\",null,[$r,mi,Hi]],[\"h3Distance\",Tr,[$r,mi,$r,mi]],[\"h3Line\",Tr,[$r,mi,$r,mi,Hi]],[\"h3LineSize\",Tr,[$r,mi,$r,mi]],[\"experimentalH3ToLocalIj\",Tr,[$r,mi,$r,mi,Hi]],[\"experimentalLocalIjToH3\",Tr,[$r,mi,Hi,Hi]],[\"hexAreaM2\",Tr,[Pc]],[\"hexAreaKm2\",Tr,[Pc]],[\"edgeLengthM\",Tr,[Pc]],[\"edgeLengthKm\",Tr,[Pc]],[\"pointDistM\",Tr,[Hi,Hi]],[\"pointDistKm\",Tr,[Hi,Hi]],[\"pointDistRads\",Tr,[Hi,Hi]],[\"cellAreaM2\",Tr,[$r,mi]],[\"cellAreaKm2\",Tr,[$r,mi]],[\"cellAreaRads2\",Tr,[$r,mi]],[\"exactEdgeLengthM\",Tr,[$r,mi]],[\"exactEdgeLengthKm\",Tr,[$r,mi]],[\"exactEdgeLengthRads\",Tr,[$r,mi]],[\"numHexagons\",Tr,[Pc]],[\"getRes0Indexes\",null,[Hi]],[\"res0IndexCount\",Tr],[\"getPentagonIndexes\",null,[Tr,Hi]],[\"pentagonIndexCount\",Tr]],Ma={};pyt.forEach(function(t){Ma[t[0]]=Ic.cwrap.apply(Ic,t)});var xx=16;var IS=8,sae=Ma.sizeOfH3Index(),YQ=Ma.sizeOfGeoCoord(),Ayt=Ma.sizeOfGeoBoundary(),oae=Ma.sizeOfGeoPolygon(),aae=Ma.sizeOfGeofence(),lae=Ma.sizeOfLinkedGeoPolygon(),cae=Ma.sizeOfCoordIJ(),qQ={m:\"m\",m2:\"m2\",km:\"km\",km2:\"km2\",rads:\"rads\",rads2:\"rads2\"};function myt(e){if(typeof e!=\"number\"||e<0||e>15||Math.floor(e)!==e)throw new Error(\"Invalid resolution: \"+e)}var gyt=/[^0-9a-fA-F]/;function bx(e){if(Array.isArray(e)&&e.length===2&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if(typeof e!=\"string\"||gyt.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),xx),r=parseInt(e.substring(e.length-8),xx);return[r,t]}function ZQ(e){if(e>=0)return e.toString(xx);e=e&2147483647;var t=QQ(8,e.toString(xx)),r=(parseInt(t[0],xx)+8).toString(xx);return t=r+t.substring(1),t}function _yt(e,t){return ZQ(t)+QQ(8,ZQ(e))}function QQ(e,t){for(var r=e-t.length,i=\"\",s=0;s180?r[0]-=360:i<-180&&(r[0]+=360)}}function Myt(e,t,r){let[i,s]=FI(e),n=t.length;n$(t,s);let o=t[0]===t[n-1]?n-1:n;for(let c=0;ce.hexagon},extruded:!0},Np=class e extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){e._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:t}){return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}updateState({props:t,changeFlags:r}){if(t.highPrecision!==!0&&(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagon)){let i=this._calculateH3DataProps();this.setState(i)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let t=-1,r=!1,i=!1,{iterable:s,objectInfo:n}=Jc(this.props.data);for(let o of s){n.index++;let c=this.props.getHexagon(o,n),f=KQ(c);if(t<0){if(t=f,!this.props.highPrecision)break}else if(t!==f){i=!0;break}if(XQ(c)){r=!0;break}}return{resolution:t,edgeLengthKM:t>=0?r$(t,\"km\"):0,hasMultipleRes:i,hasPentagon:r}}_shouldUseHighPrecision(){if(this.props.highPrecision===\"auto\"){let{resolution:t,hasPentagon:r,hasMultipleRes:i}=this.state,{viewport:s}=this.context;return!!s?.resolution||i||r||t>=0&&t<=5}return this.props.highPrecision}_updateVertices(t){if(this._shouldUseHighPrecision())return;let{resolution:r,edgeLengthKM:i,centerHex:s}=this.state;if(r<0)return;let n=this.props.centerHexagon||JQ(t.latitude,t.longitude,r);if(s===n)return;if(s){let R=e$(s,n);if(R>=0&&R*i{let N=t.projectFlat(R);return[(N[0]-w)/o[0],(N[1]-I)/o[1]]}),this.setState({centerHex:n,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){let{elevationScale:t,material:r,coverage:i,extruded:s,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,getFillColor:R,getElevation:N,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:Y}=this.props;return{elevationScale:t,extruded:s,coverage:i,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,material:r,getElevation:N,getFillColor:R,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:{getFillColor:Y.getFillColor,getElevation:Y.getElevation,getLineColor:Y.getLineColor,getLineWidth:Y.getLineWidth}}}_renderPolygonLayer(){let{data:t,getHexagon:r,updateTriggers:i,coverage:s}=this.props,n=this.getSubLayerClass(\"hexagon-cell-hifi\",lf),o=this._getForwardProps();return o.updateTriggers.getPolygon=Iyt(i.getHexagon,s),new n(o,this.getSubLayerProps({id:\"hexagon-cell-hifi\",updateTriggers:o.updateTriggers}),{data:t,_normalize:!1,_windingOrder:\"CCW\",positionFormat:\"XY\",getPolygon:(c,f)=>{let _=r(c,f);return Pyt(i$(_,s))}})}_renderColumnLayer(){let{data:t,getHexagon:r,updateTriggers:i}=this.props,s=this.getSubLayerClass(\"hexagon-cell\",af),n=this._getForwardProps();return n.updateTriggers.getPosition=i.getHexagon,new s(n,this.getSubLayerProps({id:\"hexagon-cell\",flatShading:!0,updateTriggers:n.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Eyt.bind(null,r)})}};G(Np,\"defaultProps\",Cyt);G(Np,\"layerName\",\"H3HexagonLayer\");G(Np,\"_checkH3Lib\",()=>{});var{data:Sae,getHexagon:Tae,...Lyt}=Np.defaultProps,kyt={_validate:!0},Mae={...Lyt,...kyt};var s$=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function o$(e,t=!1,r=Float32Array){let i;if(Number.isFinite(e[0]))i=new r(e);else{i=new r(e.length*4);let s=0;for(let n=0;nc[0]),r=e.map(c=>c[1]),i=Math.min.apply(null,t),s=Math.max.apply(null,t),n=Math.min.apply(null,r),o=Math.max.apply(null,r);return[i,n,s,o]}function u$(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}var l$=new Float32Array(12);function tF(e,t=2){let r=0;for(let i of e)for(let s=0;s 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n`;var A$=`#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n`;var Sx=class extends dn{getShaders(){return{vs:p$,fs:A$,modules:[Rs]}}initializeState({gl:t}){this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}_getModel(t){let{vertexCount:r}=this.props;return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:r})})}draw({uniforms:t}){let{model:r}=this.state,{texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}=this.props;r.setUniforms({...t,texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}).draw()}};G(Sx,\"layerName\",\"TriangleLayer\");var m$=`attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n`;var g$=`varying vec4 weightsTexture;\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var _$=`attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\ngl_PointSize = 1.0;\n}\n`;var y$=`varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n`;var Dyt=2,eF={mipmaps:!1,parameters:{10240:9729,10241:9729,10242:33071,10243:33071},dataFormat:6408},v$=[0,0],Oyt={SUM:0,MEAN:1},Byt={getPosition:{type:\"accessor\",value:e=>e.position},getWeight:{type:\"accessor\",value:1},intensity:{type:\"number\",min:0,value:1},radiusPixels:{type:\"number\",min:1,max:100,value:50},colorRange:s$,threshold:{type:\"number\",min:0,max:1,value:.05},colorDomain:{type:\"array\",value:null,optional:!0},aggregation:\"SUM\",weightsTextureSize:{type:\"number\",min:128,max:2048,value:2048},debounceTimeout:{type:\"number\",min:0,max:1e3,value:500}},Fyt=[Ii.BLEND_EQUATION_MINMAX,Ii.TEXTURE_FLOAT],zyt=[Ii.COLOR_ATTACHMENT_RGBA32F,Ii.FLOAT_BLEND],Nyt={data:{props:[\"radiusPixels\"]}},Up=class extends wx{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){let{gl:t}=this.context;if(!Oh(t,Fyt)){this.setState({supported:!1}),or.error(\"HeatmapLayer: \".concat(this.id,\" is not supported on this browser\"))();return}super.initializeAggregationLayer(Nyt),this.setState({supported:!0,colorDomain:v$}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState(t){this.state.supported&&(super.updateState(t),this._updateHeatmapState(t))}_updateHeatmapState(t){let{props:r,oldProps:i}=t,s=this._getChangeFlags(t);(s.dataChanged||s.viewportChanged)&&(s.boundsChanged=this._updateBounds(s.dataChanged),this._updateTextureRenderingBounds()),s.dataChanged||s.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):s.viewportZoomChanged&&this._debouncedUpdateWeightmap(),r.colorRange!==i.colorRange&&this._updateColorTexture(t),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:t.context.viewport.zoom})}renderLayers(){if(!this.state.supported)return[];let{weightsTexture:t,triPositionBuffer:r,triTexCoordBuffer:i,maxWeightsTexture:s,colorTexture:n,colorDomain:o}=this.state,{updateTriggers:c,intensity:f,threshold:_,aggregation:w}=this.props,I=this.getSubLayerClass(\"triangle\",Sx);return new I(this.getSubLayerProps({id:\"triangle-layer\",updateTriggers:c}),{coordinateSystem:Yr.DEFAULT,data:{attributes:{positions:r,texCoords:i}},vertexCount:4,maxTexture:s,colorTexture:n,aggregationMode:Oyt[w]||0,texture:t,intensity:f,threshold:_,colorDomain:o})}finalizeState(t){super.finalizeState(t);let{weightsTransform:r,weightsTexture:i,maxWeightTransform:s,maxWeightsTexture:n,triPositionBuffer:o,triTexCoordBuffer:c,colorTexture:f,updateTimer:_}=this.state;r?.delete(),i?.delete(),s?.delete(),n?.delete(),o?.delete(),c?.delete(),f?.delete(),_&&clearTimeout(_)}_getAttributeManager(){return new Xf(this.context.gl,{id:this.props.id,stats:this.context.stats})}_getChangeFlags(t){let r={},{dimensions:i}=this.state;r.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(t,{compareAll:!0,dimension:i.data}),r.viewportChanged=t.changeFlags.viewportChanged;let{zoom:s}=this.state;return(!t.context.viewport||t.context.viewport.zoom!==s)&&(r.viewportZoomChanged=!0),r}_createTextures(){let{gl:t}=this.context,{textureSize:r,format:i,type:s}=this.state;this.setState({weightsTexture:new pi(t,{width:r,height:r,format:i,type:s,...eF}),maxWeightsTexture:new pi(t,{format:i,type:s,...eF})})}_setupAttributes(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:\"getPosition\"},weights:{size:1,accessor:\"getWeight\"}}),this.setState({positionAttributeName:\"positions\"})}_setupTextureParams(){let{gl:t}=this.context,{weightsTextureSize:r}=this.props,i=Math.min(r,wy(t,3379)),s=Oh(t,zyt),{format:n,type:o}=d$({gl:t,floatTargetSupport:s}),c=s?1:1/255;this.setState({textureSize:i,format:n,type:o,weightsScale:c}),s||or.warn(\"HeatmapLayer: \".concat(this.id,\" rendering to float texture not supported, fallingback to low precession format\"))()}getShaders(t){return super.getShaders(t===\"max-weights-transform\"?{vs:_$,_fs:y$}:{vs:m$,_fs:g$})}_createWeightsTransform(t={}){var r;let{gl:i}=this.context,{weightsTransform:s}=this.state,{weightsTexture:n}=this.state;(r=s)===null||r===void 0||r.delete(),s=new nc(i,{id:\"\".concat(this.id,\"-weights-transform\"),elementCount:1,_targetTexture:n,_targetTextureVarying:\"weightsTexture\",...t}),this.setState({weightsTransform:s})}_setupResources(){let{gl:t}=this.context;this._createTextures();let{textureSize:r,weightsTexture:i,maxWeightsTexture:s}=this.state,n=this.getShaders(\"weights-transform\");this._createWeightsTransform(n);let o=this.getShaders(\"max-weights-transform\"),c=new nc(t,{id:\"\".concat(this.id,\"-max-weights-transform\"),_sourceTextures:{inTexture:i},_targetTexture:s,_targetTextureVarying:\"outTexture\",...o,elementCount:r*r});this.setState({weightsTexture:i,maxWeightsTexture:s,maxWeightTransform:c,zoom:null,triPositionBuffer:new Fr(t,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Fr(t,{byteLength:48,accessor:{size:2}})})}updateShaders(t){this._createWeightsTransform(t)}_updateMaxWeightValue(){let{maxWeightTransform:t}=this.state;t.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}_updateBounds(t=!1){let{viewport:r}=this.context,i=[r.unproject([0,0]),r.unproject([r.width,0]),r.unproject([r.width,r.height]),r.unproject([0,r.height])].map(c=>c.map(Math.fround)),s=c$(i),n={visibleWorldBounds:s,viewportCorners:i},o=!1;if(t||!this.state.worldBounds||!u$(this.state.worldBounds,s)){let c=this._worldToCommonBounds(s),f=this._commonToWorldBounds(c);this.props.coordinateSystem===Yr.LNGLAT&&(f[1]=Math.max(f[1],-85.051129),f[3]=Math.min(f[3],85.051129),f[0]=Math.max(f[0],-360),f[2]=Math.min(f[2],360));let _=this._worldToCommonBounds(f);n.worldBounds=f,n.normalizedCommonBounds=_,o=!0}return this.setState(n),o}_updateTextureRenderingBounds(){let{triPositionBuffer:t,triTexCoordBuffer:r,normalizedCommonBounds:i,viewportCorners:s}=this.state,{viewport:n}=this.context;t.subData(tF(s,3));let o=s.map(c=>f$(n.projectPosition(c),i));r.subData(tF(o,2))}_updateColorTexture(t){let{colorRange:r}=t.props,{colorTexture:i}=this.state,s=o$(r,!1,Uint8Array);i?i.setImageData({data:s,width:r.length}):i=new pi(this.context.gl,{data:s,width:r.length,height:1,...eF}),this.setState({colorTexture:i})}_updateWeightmap(){let{radiusPixels:t,colorDomain:r,aggregation:i}=this.props,{weightsTransform:s,worldBounds:n,textureSize:o,weightsTexture:c,weightsScale:f}=this.state;this.state.isWeightMapDirty=!1;let _=this._worldToCommonBounds(n,{useLayerCoordinateSystem:!0});if(r&&i===\"SUM\"){let{viewport:I}=this.context,R=I.distanceScales.metersPerUnit[2]*(_[2]-_[0])/o;this.state.colorDomain=r.map(N=>N*R*f)}else this.state.colorDomain=r||v$;let w={radiusPixels:t,commonBounds:_,textureWidth:o,weightsScale:f};s.update({elementCount:this.getNumInstances()}),Mn(this.context.gl,{clearColor:[0,0,0,0]},()=>{s.run({uniforms:w,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()})}),this._updateMaxWeightValue(),c.setParameters({10240:9729,10241:9729})}_debouncedUpdateWeightmap(t=!1){let{updateTimer:r}=this.state,{debounceTimeout:i}=this.props;t?(r=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(r),r=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),i)),this.setState({updateTimer:r})}_worldToCommonBounds(t,r={}){let{useLayerCoordinateSystem:i=!1}=r,[s,n,o,c]=t,{viewport:f}=this.context,{textureSize:_}=this.state,{coordinateSystem:w}=this.props,I=i&&(w===Yr.LNGLAT_OFFSETS||w===Yr.METER_OFFSETS),R=I?f.projectPosition(this.props.coordinateOrigin):[0,0],N=_*Dyt/f.scale,j,Q;return i&&!I?(j=this.projectPosition([s,n,0]),Q=this.projectPosition([o,c,0])):(j=f.projectPosition([s,n,0]),Q=f.projectPosition([o,c,0])),h$([j[0]-R[0],j[1]-R[1],Q[0]-R[0],Q[1]-R[1]],N,N)}_commonToWorldBounds(t){let[r,i,s,n]=t,{viewport:o}=this.context,c=o.unprojectPosition([r,i]),f=o.unprojectPosition([s,n]);return c.slice(0,2).concat(f.slice(0,2))}};G(Up,\"layerName\",\"HeatmapLayer\");G(Up,\"defaultProps\",Byt);var{data:Ale,getPosition:mle,...Uyt}=Up.defaultProps,x$={_validate:!0},Vyt={...Uyt,...x$},CS=class extends Ni{static defaultProps=Vyt;static layerName=\"GeoArrowHeatmapLayer\";renderLayers(){let{data:t}=this.props,r=ws(t,Kn.POINT);if(r!==null)return this._renderLayersPoint(r);let i=this.props.getPosition;if(i!==void 0&&Ci.isPointVector(i))return this._renderLayersPoint(i);throw new Error(\"getPosition not GeoArrow point\")}_renderLayersPoint(t){let{data:r}=this.props;this.props._validate&&(_r(Ci.isPointVector(t)),no(this.props,r));let[i,s]=io(this.props,[\"getPosition\"]),n=vo(r.data),o=[];for(let c=0;cr.text()),earcutWorkerPool:null}}async initEarcutPool(){if(this.state.earcutWorkerPool)return this.state.earcutWorkerPool;let t=await this.state.earcutWorkerRequest;if(!t||window?.location?.href.startsWith(\"file://\"))return null;try{let r=RX(()=>LX(kX.fromText(t)),8);return this.state.earcutWorkerPool=r,this.state.earcutWorkerPool}catch{return null}}async finalizeState(t){await this.state?.earcutWorkerPool?.terminate(),console.log(\"terminated\")}async updateData(){let{data:t}=this.props,r=await this._updateEarcut(t),i=vo(t.data);this.setState({table:this.props.data,triangles:r,tableOffsets:i})}async _updateEarcut(t){let r=ws(t,Kn.POLYGON);if(r!==null)return this._earcutPolygonVector(r);let i=ws(t,Kn.MULTIPOLYGON);if(i!==null)return this._earcutMultiPolygonVector(i);let s=this.props.getPolygon;if(s!==void 0&&Ci.isPolygonVector(s))return this._earcutPolygonVector(s);if(s!==void 0&&Ci.isMultiPolygonVector(s))return this._earcutMultiPolygonVector(s);throw new Error(\"geometryColumn not Polygon or MultiPolygon\")}async _earcutPolygonVector(t){let r=await this.initEarcutPool();if(!r)return this._earcutPolygonVectorMainThread(t);let i=new Array(t.data.length);console.time(\"earcut\");for(let s=0;s{let _=await f(LF(o,c));i[s]=_})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;i{let w=await _(LF(c,f));i[s]=w})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutMultiPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;iDX(t))):e}function OX(e){if(\"data\"in e)return new xr(e.data.map(o=>OX(o)));let t=e.valueOffsets,r=vi.getMultiPolygonChild(e),i=r.valueOffsets,s=vi.getPolygonChild(r),n=new Int32Array(t.length);for(let o=0;o{this.table=O2(this.model.get(t))};this.model.on(`change:${t}`,r),this.callbacks.set(`change:${t}`,r)}},tC=class extends mf{static layerType=\"arc\";greatCircle;numSegments;widthUnits;widthScale;widthMinPixels;widthMaxPixels;getSourcePosition;getTargetPosition;getSourceColor;getTargetColor;getWidth;getHeight;getTilt;constructor(t,r){super(t,r),this.initRegularAttribute(\"great_circle\",\"greatCircle\"),this.initRegularAttribute(\"num_segments\",\"numSegments\"),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initVectorizedAccessor(\"get_source_position\",\"getSourcePosition\"),this.initVectorizedAccessor(\"get_target_position\",\"getTargetPosition\"),this.initVectorizedAccessor(\"get_source_color\",\"getSourceColor\"),this.initVectorizedAccessor(\"get_target_color\",\"getTargetColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\"),this.initVectorizedAccessor(\"get_height\",\"getHeight\"),this.initVectorizedAccessor(\"get_tilt\",\"getTilt\")}layerProps(){return{data:this.table,getSourcePosition:this.getSourcePosition,getTargetPosition:this.getTargetPosition,...Jt(this.greatCircle)&&{greatCircle:this.greatCircle},...Jt(this.numSegments)&&{numSegments:this.numSegments},...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.getSourceColor)&&{getSourceColor:this.getSourceColor},...Jt(this.getTargetColor)&&{getTargetColor:this.getTargetColor},...Jt(this.getWidth)&&{getWidth:this.getWidth},...Jt(this.getHeight)&&{getHeight:this.getHeight},...Jt(this.getTilt)&&{getTilt:this.getTilt}}}render(){return new wS({...this.baseLayerProps(),...this.layerProps()})}},eC=class extends Ug{static layerType=\"bitmap\";image;bounds;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"image\",\"image\"),this.initRegularAttribute(\"bounds\",\"bounds\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}layerProps(){return{...Jt(this.image)&&{image:this.image},...Jt(this.bounds)&&{bounds:this.bounds},...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}render(){return new Mp({...this.baseLayerProps(),...this.layerProps(),data:void 0,pickable:!1})}},rC=class extends Ug{static layerType=\"bitmap-tile\";data;tileSize;zoomOffset;maxZoom;minZoom;extent;maxCacheSize;maxCacheByteSize;refinementStrategy;maxRequests;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"data\",\"data\"),this.initRegularAttribute(\"tile_size\",\"tileSize\"),this.initRegularAttribute(\"zoom_offset\",\"zoomOffset\"),this.initRegularAttribute(\"max_zoom\",\"maxZoom\"),this.initRegularAttribute(\"min_zoom\",\"minZoom\"),this.initRegularAttribute(\"extent\",\"extent\"),this.initRegularAttribute(\"max_cache_size\",\"maxCacheSize\"),this.initRegularAttribute(\"max_cache_byte_size\",\"maxCacheByteSize\"),this.initRegularAttribute(\"refinement_strategy\",\"refinementStrategy\"),this.initRegularAttribute(\"max_requests\",\"maxRequests\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}bitmapLayerProps(){return{...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}layerProps(){return{data:this.data,...Jt(this.tileSize)&&{tileSize:this.tileSize},...Jt(this.zoomOffset)&&{zoomOffset:this.zoomOffset},...Jt(this.maxZoom)&&{maxZoom:this.maxZoom},...Jt(this.minZoom)&&{minZoom:this.minZoom},...Jt(this.extent)&&{extent:this.extent},...Jt(this.maxCacheSize)&&{maxCacheSize:this.maxCacheSize},...Jt(this.maxCacheByteSize)&&{maxCacheByteSize:this.maxCacheByteSize},...Jt(this.refinementStrategy)&&{refinementStrategy:this.refinementStrategy},...Jt(this.maxRequests)&&{maxRequests:this.maxRequests}}}render(){return new Lm({...this.baseLayerProps(),...this.layerProps(),renderSubLayers:t=>{let[r,i]=t.tile.boundingBox;return new Mp(t,{...this.bitmapLayerProps(),data:void 0,image:t.data,bounds:[r[0],r[1],i[0],i[1]]})}})}},iC=class extends mf{static layerType=\"column\";diskResolution;radius;angle;vertices;offset;coverage;elevationScale;filled;stroked;extruded;wireframe;flatShading;radiusUnits;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;material;getPosition;getFillColor;getLineColor;getElevation;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"disk_resolution\",\"diskResolution\"),this.initRegularAttribute(\"radius\",\"radius\"),this.initRegularAttribute(\"angle\",\"angle\"),this.initRegularAttribute(\"vertices\",\"vertices\"),this.initRegularAttribute(\"offset\",\"offset\"),this.initRegularAttribute(\"coverage\",\"coverage\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"flat_shading\",\"flatShading\"),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"material\",\"material\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.diskResolution)&&{diskResolution:this.diskResolution},...Jt(this.radius)&&{radius:this.radius},...Jt(this.angle)&&{angle:this.angle},...Jt(this.vertices)&&this.vertices!==void 0&&{vertices:this.vertices},...Jt(this.offset)&&{offset:this.offset},...Jt(this.coverage)&&{coverage:this.coverage},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.filled)&&{filled:this.filled},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.flatShading)&&{flatShading:this.flatShading},...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.material)&&{material:this.material},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new SS({...this.baseLayerProps(),...this.layerProps()})}},nC=class extends mf{static layerType=\"heatmap\";radiusPixels;colorRange;intensity;threshold;colorDomain;aggregation;weightsTextureSize;debounceTimeout;getPosition;getWeight;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_pixels\",\"radiusPixels\"),this.initRegularAttribute(\"color_range\",\"colorRange\"),this.initRegularAttribute(\"intensity\",\"intensity\"),this.initRegularAttribute(\"threshold\",\"threshold\"),this.initRegularAttribute(\"color_domain\",\"colorDomain\"),this.initRegularAttribute(\"aggregation\",\"aggregation\"),this.initRegularAttribute(\"weights_texture_size\",\"weightsTextureSize\"),this.initRegularAttribute(\"debounce_timeout\",\"debounceTimeout\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_weight\",\"getWeight\")}layerProps(){return{data:this.table,...Jt(this.radiusPixels)&&{radiusPixels:this.radiusPixels},...Jt(this.colorRange)&&{colorRange:this.colorRange},...Jt(this.intensity)&&{intensity:this.intensity},...Jt(this.threshold)&&{threshold:this.threshold},...Jt(this.colorDomain)&&{colorDomain:this.colorDomain},...Jt(this.aggregation)&&{aggregation:this.aggregation},...Jt(this.weightsTextureSize)&&{weightsTextureSize:this.weightsTextureSize},...Jt(this.debounceTimeout)&&{debounceTimeout:this.debounceTimeout},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getWeight)&&{getWeight:this.getWeight}}}render(){return new CS({...this.baseLayerProps(),...this.layerProps()})}},QS=class extends mf{static layerType=\"path\";widthUnits;widthScale;widthMinPixels;widthMaxPixels;jointRounded;capRounded;miterLimit;billboard;getColor;getWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initRegularAttribute(\"joint_rounded\",\"jointRounded\"),this.initRegularAttribute(\"cap_rounded\",\"capRounded\"),this.initRegularAttribute(\"miter_limit\",\"miterLimit\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\")}layerProps(){return{data:this.table,...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.jointRounded)&&{jointRounded:this.jointRounded},...Jt(this.capRounded)&&{capRounded:this.capRounded},...Jt(this.miterLimit)&&{miterLimit:this.miterLimit},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getWidth)&&{getWidth:this.getWidth}}}render(){return new e_({...this.baseLayerProps(),...this.layerProps()})}},sC=class extends mf{static layerType=\"point-cloud\";sizeUnits;pointSize;getColor;getNormal;constructor(t,r){super(t,r),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"point_size\",\"pointSize\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_normal\",\"getNormal\")}layerProps(){return{data:this.table,...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.pointSize)&&{pointSize:this.pointSize},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getNormal)&&{getNormal:this.getNormal}}}render(){return new LS({...this.baseLayerProps(),...this.layerProps()})}},oC=class extends mf{static layerType=\"polygon\";stroked;filled;extruded;wireframe;elevationScale;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;lineJointRounded;lineMiterLimit;getFillColor;getLineColor;getLineWidth;getElevation;constructor(t,r){super(t,r),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"line_joint_rounded\",\"lineJointRounded\"),this.initRegularAttribute(\"line_miter_limit\",\"lineMiterLimit\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\")}layerProps(){return{data:this.table,...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.lineJointRounded)&&{lineJointRounded:this.lineJointRounded},...Jt(this.lineMiterLimit)&&{lineMiterLimit:this.lineMiterLimit},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth},...Jt(this.getElevation)&&{getElevation:this.getElevation}}}render(){return new qS({...this.baseLayerProps(),...this.layerProps()})}},$S=class extends mf{static layerType=\"scatterplot\";radiusUnits;radiusScale;radiusMinPixels;radiusMaxPixels;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;stroked;filled;billboard;antialiasing;getRadius;getFillColor;getLineColor;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"radius_scale\",\"radiusScale\"),this.initRegularAttribute(\"radius_min_pixels\",\"radiusMinPixels\"),this.initRegularAttribute(\"radius_max_pixels\",\"radiusMaxPixels\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"antialiasing\",\"antialiasing\"),this.initVectorizedAccessor(\"get_radius\",\"getRadius\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.radiusScale)&&{radiusScale:this.radiusScale},...Jt(this.radiusMinPixels)&&{radiusMinPixels:this.radiusMinPixels},...Jt(this.radiusMaxPixels)&&{radiusMaxPixels:this.radiusMaxPixels},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.antialiasing)&&{antialiasing:this.antialiasing},...Jt(this.getRadius)&&{getRadius:this.getRadius},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new ZS({...this.baseLayerProps(),...this.layerProps()})}},XS=class extends mf{static layerType=\"solid-polygon\";filled;extruded;wireframe;elevationScale;getElevation;getFillColor;getLineColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\")}layerProps(){return{data:this.table,...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor}}}render(){return new o_({...this.baseLayerProps(),...this.layerProps()})}},aC=class extends mf{static layerType=\"text\";billboard;sizeScale;sizeUnits;sizeMinPixels;sizeMaxPixels;getBackgroundColor;getBorderColor;getBorderWidth;backgroundPadding;characterSet;fontFamily;fontWeight;lineHeight;outlineWidth;outlineColor;fontSettings;wordBreak;maxWidth;getText;getPosition;getColor;getSize;getAngle;getTextAnchor;getAlignmentBaseline;getPixelOffset;constructor(t,r){super(t,r),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"size_scale\",\"sizeScale\"),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"size_min_pixels\",\"sizeMinPixels\"),this.initRegularAttribute(\"size_max_pixels\",\"sizeMaxPixels\"),this.initRegularAttribute(\"background_padding\",\"backgroundPadding\"),this.initRegularAttribute(\"character_set\",\"characterSet\"),this.initRegularAttribute(\"font_family\",\"fontFamily\"),this.initRegularAttribute(\"font_weight\",\"fontWeight\"),this.initRegularAttribute(\"line_height\",\"lineHeight\"),this.initRegularAttribute(\"outline_width\",\"outlineWidth\"),this.initRegularAttribute(\"outline_color\",\"outlineColor\"),this.initRegularAttribute(\"font_settings\",\"fontSettings\"),this.initRegularAttribute(\"word_break\",\"wordBreak\"),this.initRegularAttribute(\"max_width\",\"maxWidth\"),this.initVectorizedAccessor(\"get_background_color\",\"getBackgroundColor\"),this.initVectorizedAccessor(\"get_border_color\",\"getBorderColor\"),this.initVectorizedAccessor(\"get_border_width\",\"getBorderWidth\"),this.initVectorizedAccessor(\"get_text\",\"getText\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_size\",\"getSize\"),this.initVectorizedAccessor(\"get_angle\",\"getAngle\"),this.initVectorizedAccessor(\"get_text_anchor\",\"getTextAnchor\"),this.initVectorizedAccessor(\"get_alignment_baseline\",\"getAlignmentBaseline\"),this.initVectorizedAccessor(\"get_pixel_offset\",\"getPixelOffset\")}layerProps(){return{data:this.table,getText:this.getText,...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.sizeScale)&&{sizeScale:this.sizeScale},...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.sizeMinPixels)&&{sizeMinPixels:this.sizeMinPixels},...Jt(this.sizeMaxPixels)&&{sizeMaxPixels:this.sizeMaxPixels},...Jt(this.backgroundPadding)&&{backgroundPadding:this.backgroundPadding},...Jt(this.characterSet)&&{characterSet:this.characterSet},...Jt(this.fontFamily)&&{fontFamily:this.fontFamily},...Jt(this.fontWeight)&&{fontWeight:this.fontWeight},...Jt(this.lineHeight)&&{lineHeight:this.lineHeight},...Jt(this.outlineWidth)&&{outlineWidth:this.outlineWidth},...Jt(this.outlineColor)&&{outlineColor:this.outlineColor},...Jt(this.fontSettings)&&{fontSettings:this.fontSettings},...Jt(this.wordBreak)&&{wordBreak:this.wordBreak},...Jt(this.maxWidth)&&{maxWidth:this.maxWidth},...Jt(this.getBackgroundColor)&&{getBackgroundColor:this.getBackgroundColor},...Jt(this.getBorderColor)&&{getBorderColor:this.getBorderColor},...Jt(this.getBorderWidth)&&{getBorderWidth:this.getBorderWidth},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getSize)&&{getSize:this.getSize},...Jt(this.getAngle)&&{getAngle:this.getAngle},...Jt(this.getTextAnchor)&&{getTextAnchor:this.getTextAnchor},...Jt(this.getAlignmentBaseline)&&{getAlignmentBaseline:this.getAlignmentBaseline},...Jt(this.getPixelOffset)&&{getPixelOffset:this.getPixelOffset}}}render(){return new YS({...this.baseLayerProps(),...this.layerProps()})}};async function DF(e,t){let r=e.get(\"_layer_type\"),i;switch(r){case tC.layerType:i=new tC(e,t);break;case eC.layerType:i=new eC(e,t);break;case rC.layerType:i=new rC(e,t);break;case iC.layerType:i=new iC(e,t);break;case nC.layerType:i=new nC(e,t);break;case QS.layerType:i=new QS(e,t);break;case sC.layerType:i=new sC(e,t);break;case oC.layerType:i=new oC(e,t);break;case $S.layerType:i=new $S(e,t);break;case XS.layerType:i=new XS(e,t);break;case aC.layerType:i=new aC(e,t);break;default:throw new Error(`no layer supported for ${r}`)}return await i.loadSubModels(),i}var lC=Symbol.for(\"rowIndex\");function U1t(e){return`\n \n ${Object.keys(e).map(t=>{let r=e[t];return`\n \n \n `}).join(\"\")}\n \n
${t}${r}
`}function FX({object:e}){if(e){if(e[lC]===null||e[lC]===void 0||e[lC]&&e[lC]<0)return null;let t=e.toJSON();return!t||(delete t.geometry,Object.keys(t).length===0)?null:{className:\"lonboard-tooltip\",html:U1t(t),style:{backgroundColor:\"#fff\",boxShadow:\"0 0 15px rgba(0, 0, 0, 0.1)\",color:\"#000\",padding:\"6px\"}}}return null}var cC,V1t=new Uint8Array(16);function OF(){if(!cC&&(cC=typeof crypto<\"u\"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!cC))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return cC(V1t)}var Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));function zX(e,t=0){return Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]}var j1t=typeof crypto<\"u\"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),BF={randomUUID:j1t};function G1t(e,t,r){if(BF.randomUUID&&!t&&!e)return BF.randomUUID();e=e||{};let i=e.random||(e.rng||OF)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let s=0;s<16;++s)t[r+s]=i[s];return t}return zX(i)}var FF=G1t;function NX(e,t){let{longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,curve:f,speed:_,screenSpeed:w}=e,I=new nv({...Jt(f)&&{curve:f},...Jt(_)&&{speed:_},...Jt(w)&&{screenSpeed:w}});t({longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,transitionInterpolator:I})}var uC=Ri(Yi(),1);var W1t=DH(e=>{let t=e.get(\"view_state\");\"transitionInterpolator\"in t&&(console.debug(\"Deleting transitionInterpolator!\"),delete t.transitionInterpolator,e.set(\"view_state\",t)),e.save_changes()},300);function UX(e){let t=Y1(),[r,i]=uC.useState(t.get(e));return uC.useEffect(()=>{let s=()=>{i(t.get(e))};return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),W1t(t)}]}await kH();var H1t={latitude:10,longitude:0,zoom:.5,bearing:0,pitch:0},q1t=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\";async function Z1t(e,t,r,i){let s={},n=()=>i(new Date);for(let o=0;o{switch(et.type){case\"fly-to\":NX(et,f);break;default:break}});let[_]=(0,a_.useState)(FF()),[w,I]=(0,a_.useState)({}),[R]=zA(\"layers\"),[N,j]=(0,a_.useState)(new Date);(0,a_.useEffect)(()=>{(async()=>{let Y=await L3(e.widget_manager,R),K=await Z1t(Y,R,w,j);I(K)})().catch(console.error)},[R]);let Q=[];for(let et of Object.values(w))Q.push(et.render());return(0,a_.useEffect)(()=>{if(r)return;let Y=document.getElementById(`map-${_}`)?.parentElement;if(Y){let K=window.getComputedStyle(Y);(!K.height||K.height===\"0px\")&&(Y.style.height=\"100%\",Y.style.minHeight=\"500px\")}},[]),hC.createElement(\"div\",{id:`map-${_}`,style:{height:r||\"100%\"}},hC.createElement(GD,{initialViewState:[\"longitude\",\"latitude\",\"zoom\"].every(et=>Object.keys(c).includes(et))?c:H1t,controller:!0,layers:Q,getTooltip:i&&FX,pickingRadius:s,useDevicePixels:Jt(n)?n:!0,_typedArrayManagerProps:{overAlloc:1,poolSize:0},onViewStateChange:et=>{let{viewState:Y}=et,{longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt}=Y;f({longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt})},parameters:o||{}},hC.createElement(iU,{mapStyle:t||q1t})))}var Q1t={render:j8(Y1t)},Che=Q1t;export{Che as default};\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nhammerjs/hammer.js:\n (*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license *)\n*/\n", - "_height": 800, - "_model_module": "anywidget", - "_model_module_version": "~0.9.*", - "_model_name": "AnyModel", - "_view_module": "anywidget", - "_view_module_version": "~0.9.*", - "_view_name": "AnyView", - "basemap_style": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json", - "layers": [ - "IPY_MODEL_a3c889ab8ec84265903724a103a2364c" + "_layer_type": "polygon", + "_view_module": null, + "_view_module_version": "", + "auto_highlight": false, + "elevation_scale": null, + "extensions": [], + "extruded": null, + "filled": null, + "get_elevation": null, + "get_fill_color": [ + {} ], - "layout": "IPY_MODEL_0a27325539de4de7bb91db85f4ec5423", - "parameters": null, - "picking_radius": 5, - "show_tooltip": true, - "use_device_pixels": null, - "view_state": { - "bearing": 0, - "latitude": 39.12945538939195, - "longitude": -84.49807886250348, - "pitch": 0, - "zoom": 12 - } + "get_line_color": null, + "get_line_width": null, + "line_joint_rounded": null, + "line_miter_limit": null, + "line_width_max_pixels": null, + "line_width_min_pixels": null, + "line_width_scale": null, + "line_width_units": null, + "opacity": 1, + "pickable": true, + "selected_index": null, + "stroked": null, + "table": [ + {} + ], + "visible": true, + "wireframe": null } }, - "128708f5f0844728ab497d5fb9bed108": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "12e39e92226d490b894852a07a8831a9": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "24673984bbbb4cb38b6d73a7f1a0b30b": { + "2da804b722d04b40b3d1ed28b6315fd6": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42753,28 +42955,22 @@ "_model_module": "@deck.gl/jupyter-widget", "_model_name": "JupyterTransportModel", "_view_name": "ErrorWidgetView", - "carto_key": "", + "carto_key": null, "configuration": null, - "custom_libraries": null, + "custom_libraries": [], "data_buffer": null, "error": {}, - "google_maps_key": "", + "google_maps_key": null, "height": 500, "json_input": "", - "layout": "IPY_MODEL_279f58bfb9af4349951bbb12a4f10204", - "mapbox_key": "", + "layout": "IPY_MODEL_f49ff5edc12e40d2925533efe1ac4fb2", + "mapbox_key": null, "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "279f58bfb9af4349951bbb12a4f10204": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "46a3e993f7eb4dc580327f06e2cb56c8": { + "5bac9707a21145909c61aa6fca34074f": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42790,26 +42986,14 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_520eecf9c79849f1947ab252f5c61070", + "layout": "IPY_MODEL_7dac48de52a74d1b9a741706ae66c945", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "4f4f515354c34373b3ea9910637608c6": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "520eecf9c79849f1947ab252f5c61070": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "7f6f46a979d44c298f14df8ed6133340": { + "6e50767a937146c78902fc92dc7a3cc7": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42825,50 +43009,20 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_128708f5f0844728ab497d5fb9bed108", + "layout": "IPY_MODEL_0b1aed76adae44d2975c40f81eb67bc3", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "a3c889ab8ec84265903724a103a2364c": { + "7dac48de52a74d1b9a741706ae66c945": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", - "model_name": "WidgetModel", - "state": { - "_layer_type": "polygon", - "_view_module": null, - "_view_module_version": "", - "auto_highlight": false, - "elevation_scale": null, - "extensions": [], - "extruded": null, - "filled": null, - "get_elevation": null, - "get_fill_color": [ - {} - ], - "get_line_color": null, - "get_line_width": null, - "line_joint_rounded": null, - "line_miter_limit": null, - "line_width_max_pixels": null, - "line_width_min_pixels": null, - "line_width_scale": null, - "line_width_units": null, - "opacity": 1, - "pickable": true, - "selected_index": null, - "stroked": null, - "table": [ - {} - ], - "visible": true, - "wireframe": null - } + "model_name": "LayoutModel", + "state": {} }, - "ccea26a19c9e46a383aaa5c2bd26c0c0": { + "88717fce31514483a965737973c3be75": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42884,12 +43038,63 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_4f4f515354c34373b3ea9910637608c6", + "layout": "IPY_MODEL_dcb9c0d18cf044c88ed7aef4d7e29c97", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } + }, + "cb66855af1114d3a96c4a79ccd6e09a3": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "d8571bbdcb16415fa6ea105f2b72677f": { + "model_module": "anywidget", + "model_module_version": "~0.9.*", + "model_name": "AnyModel", + "state": { + "_anywidget_id": "lonboard._map.Map", + "_css": ".lonboard-tooltip{font-family:var(--jp-ui-font-family);font-size:var(--jp-ui-font-size1)}.lonboard-tooltip table{border-collapse:collapse}.lonboard-tooltip table tr:nth-child(odd){background-color:#fff}.lonboard-tooltip table tr:nth-child(2n){background-color:#f1f1f1}.lonboard-tooltip td{border:1px solid rgb(204,204,204);padding:5px}.lonboard-tooltip td:first-child{font-weight:450}\n", + "_esm": "var EJ=Object.create;var $C=Object.defineProperty;var PJ=Object.getOwnPropertyDescriptor;var IJ=Object.getOwnPropertyNames;var CJ=Object.getPrototypeOf,LJ=Object.prototype.hasOwnProperty;var Br=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mA=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},kJ=(e,t,r,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let s of IJ(t))!LJ.call(e,s)&&s!==r&&$C(e,s,{get:()=>t[s],enumerable:!(i=PJ(t,s))||i.enumerable});return e};var Ri=(e,t,r)=>(r=e!=null?EJ(CJ(e)):{},kJ(t||!e||!e.__esModule?$C(r,\"default\",{value:e,enumerable:!0}):r,e));var _z=Br(Di=>{\"use strict\";var r1=Symbol.for(\"react.element\"),RJ=Symbol.for(\"react.portal\"),DJ=Symbol.for(\"react.fragment\"),OJ=Symbol.for(\"react.strict_mode\"),BJ=Symbol.for(\"react.profiler\"),FJ=Symbol.for(\"react.provider\"),zJ=Symbol.for(\"react.context\"),NJ=Symbol.for(\"react.forward_ref\"),UJ=Symbol.for(\"react.suspense\"),VJ=Symbol.for(\"react.memo\"),jJ=Symbol.for(\"react.lazy\"),az=Symbol.iterator;function GJ(e){return e===null||typeof e!=\"object\"?null:(e=az&&e[az]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var uz={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},hz=Object.assign,fz={};function R_(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}R_.prototype.isReactComponent={};R_.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};R_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function dz(){}dz.prototype=R_.prototype;function KC(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}var JC=KC.prototype=new dz;JC.constructor=KC;hz(JC,R_.prototype);JC.isPureReactComponent=!0;var lz=Array.isArray,pz=Object.prototype.hasOwnProperty,tL={current:null},Az={key:!0,ref:!0,__self:!0,__source:!0};function mz(e,t,r){var i,s={},n=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(n=\"\"+t.key),t)pz.call(t,i)&&!Az.hasOwnProperty(i)&&(s[i]=t[i]);var c=arguments.length-2;if(c===1)s.children=r;else if(1{\"use strict\";yz.exports=_z()});var Iz=Br(zn=>{\"use strict\";function sL(e,t){var r=e.length;e.push(t);t:for(;0>>1,s=e[i];if(0<_T(s,t))e[i]=t,e[r]=s,r=i;else break t}}function Sh(e){return e.length===0?null:e[0]}function vT(e){if(e.length===0)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;t:for(var i=0,s=e.length,n=s>>>1;i_T(c,r))f_T(_,c)?(e[i]=_,e[f]=r,i=f):(e[i]=c,e[o]=r,i=o);else if(f_T(_,r))e[i]=_,e[f]=r,i=f;else break t}}return t}function _T(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance==\"object\"&&typeof performance.now==\"function\"?(vz=performance,zn.unstable_now=function(){return vz.now()}):(rL=Date,xz=rL.now(),zn.unstable_now=function(){return rL.now()-xz});var vz,rL,xz,If=[],gA=[],YJ=1,wu=null,qa=3,xT=!1,_0=!1,n1=!1,Sz=typeof setTimeout==\"function\"?setTimeout:null,Tz=typeof clearTimeout==\"function\"?clearTimeout:null,bz=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function oL(e){for(var t=Sh(gA);t!==null;){if(t.callback===null)vT(gA);else if(t.startTime<=e)vT(gA),t.sortIndex=t.expirationTime,sL(If,t);else break;t=Sh(gA)}}function aL(e){if(n1=!1,oL(e),!_0)if(Sh(If)!==null)_0=!0,cL(lL);else{var t=Sh(gA);t!==null&&uL(aL,t.startTime-e)}}function lL(e,t){_0=!1,n1&&(n1=!1,Tz(s1),s1=-1),xT=!0;var r=qa;try{for(oL(t),wu=Sh(If);wu!==null&&(!(wu.expirationTime>t)||e&&!Pz());){var i=wu.callback;if(typeof i==\"function\"){wu.callback=null,qa=wu.priorityLevel;var s=i(wu.expirationTime<=t);t=zn.unstable_now(),typeof s==\"function\"?wu.callback=s:wu===Sh(If)&&vT(If),oL(t)}else vT(If);wu=Sh(If)}if(wu!==null)var n=!0;else{var o=Sh(gA);o!==null&&uL(aL,o.startTime-t),n=!1}return n}finally{wu=null,qa=r,xT=!1}}var bT=!1,yT=null,s1=-1,Mz=5,Ez=-1;function Pz(){return!(zn.unstable_now()-Eze||125i?(e.sortIndex=r,sL(gA,e),Sh(If)===null&&e===Sh(gA)&&(n1?(Tz(s1),s1=-1):n1=!0,uL(aL,r-i))):(e.sortIndex=s,sL(If,e),_0||xT||(_0=!0,cL(lL))),e};zn.unstable_shouldYield=Pz;zn.unstable_wrapCallback=function(e){var t=qa;return function(){var r=qa;qa=t;try{return e.apply(this,arguments)}finally{qa=r}}}});var Lz=Br((tbt,Cz)=>{\"use strict\";Cz.exports=Iz()});var O8=Br(Zc=>{\"use strict\";var QJ=Yi(),Hc=Lz();function Pe(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),RL=Object.prototype.hasOwnProperty,$J=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,kz={},Rz={};function XJ(e){return RL.call(Rz,e)?!0:RL.call(kz,e)?!1:$J.test(e)?Rz[e]=!0:(kz[e]=!0,!1)}function KJ(e,t,r,i){if(r!==null&&r.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return i?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function JJ(e,t,r,i){if(t===null||typeof t>\"u\"||KJ(e,t,r,i))return!0;if(i)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Sl(e,t,r,i,s,n,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=o}var ga={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ga[e]=new Sl(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ga[t]=new Sl(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ga[e]=new Sl(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ga[e]=new Sl(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ga[e]=new Sl(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ga[e]=new Sl(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ga[e]=new Sl(e,5,!1,e.toLowerCase(),null,!1,!1)});var Tk=/[\\-:]([a-z])/g;function Mk(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!1,!1)});ga.xlinkHref=new Sl(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ek(e,t,r,i){var s=ga.hasOwnProperty(t)?ga[t]:null;(s!==null?s.type!==0:i||!(2c||s[o]!==n[c]){var f=`\n`+s[o].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),f}while(1<=o&&0<=c);break}}}finally{fL=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?p1(e):\"\"}function ttt(e){switch(e.tag){case 5:return p1(e.type);case 16:return p1(\"Lazy\");case 13:return p1(\"Suspense\");case 19:return p1(\"SuspenseList\");case 0:case 2:case 15:return e=dL(e.type,!1),e;case 11:return e=dL(e.type.render,!1),e;case 1:return e=dL(e.type,!0),e;default:return\"\"}}function FL(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case F_:return\"Fragment\";case B_:return\"Portal\";case DL:return\"Profiler\";case Pk:return\"StrictMode\";case OL:return\"Suspense\";case BL:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case U5:return(e.displayName||\"Context\")+\".Consumer\";case N5:return(e._context.displayName||\"Context\")+\".Provider\";case Ik:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Ck:return t=e.displayName||null,t!==null?t:FL(e.type)||\"Memo\";case yA:t=e._payload,e=e._init;try{return FL(e(t))}catch{}}return null}function ett(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return FL(t);case 8:return t===Pk?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==\"function\")return t.displayName||t.name||null;if(typeof t==\"string\")return t}return null}function RA(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function j5(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function rtt(e){var t=j5(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof r<\"u\"&&typeof r.get==\"function\"&&typeof r.set==\"function\"){var s=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=\"\"+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(o){i=\"\"+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ST(e){e._valueTracker||(e._valueTracker=rtt(e))}function G5(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),i=\"\";return e&&(i=j5(e)?e.checked?\"true\":\"false\":e.value),e=i,e!==r?(t.setValue(e),!0):!1}function KT(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function zL(e,t){var r=t.checked;return ms({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Oz(e,t){var r=t.defaultValue==null?\"\":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;r=RA(t.value!=null?t.value:r),e._wrapperState={initialChecked:i,initialValue:r,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function W5(e,t){t=t.checked,t!=null&&Ek(e,\"checked\",t,!1)}function NL(e,t){W5(e,t);var r=RA(t.value),i=t.type;if(r!=null)i===\"number\"?(r===0&&e.value===\"\"||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(i===\"submit\"||i===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?UL(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&UL(e,t.type,RA(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Bz(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var i=t.type;if(!(i!==\"submit\"&&i!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,r!==\"\"&&(e.name=r)}function UL(e,t,r){(t!==\"number\"||KT(e.ownerDocument)!==e)&&(r==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}var A1=Array.isArray;function Y_(e,t,r,i){if(e=e.options,t){t={};for(var s=0;s\"+t.valueOf().toString()+\"\",t=TT.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function P1(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var _1={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},itt=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(_1).forEach(function(e){itt.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_1[t]=_1[e]})});function Y5(e,t,r){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":r||typeof t!=\"number\"||t===0||_1.hasOwnProperty(e)&&_1[e]?(\"\"+t).trim():t+\"px\"}function Q5(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var i=r.indexOf(\"--\")===0,s=Y5(r,t[r],i);r===\"float\"&&(r=\"cssFloat\"),i?e.setProperty(r,s):e[r]=s}}var ntt=ms({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function GL(e,t){if(t){if(ntt[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Pe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Pe(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(Pe(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(Pe(62))}}function WL(e,t){if(e.indexOf(\"-\")===-1)return typeof t.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var HL=null;function Lk(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var qL=null,Q_=null,$_=null;function Nz(e){if(e=q1(e)){if(typeof qL!=\"function\")throw Error(Pe(280));var t=e.stateNode;t&&(t=MM(t),qL(e.stateNode,e.type,t))}}function $5(e){Q_?$_?$_.push(e):$_=[e]:Q_=e}function X5(){if(Q_){var e=Q_,t=$_;if($_=Q_=null,Nz(e),t)for(e=0;e>>=0,e===0?32:31-(Att(e)/mtt|0)|0}var MT=64,ET=4194304;function m1(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rM(e,t){var r=e.pendingLanes;if(r===0)return 0;var i=0,s=e.suspendedLanes,n=e.pingedLanes,o=r&268435455;if(o!==0){var c=o&~s;c!==0?i=m1(c):(n&=o,n!==0&&(i=m1(n)))}else o=r&~s,o!==0?i=m1(o):n!==0&&(i=m1(n));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,n=t&-t,s>=n||s===16&&(n&4194240)!==0))return t;if(i&4&&(i|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0r;r++)t.push(e);return t}function W1(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ih(t),e[t]=r}function vtt(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=v1),Yz=\" \",Qz=!1;function gN(e,t){switch(e){case\"keyup\":return Ytt.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function _N(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var z_=!1;function $tt(e,t){switch(e){case\"compositionend\":return _N(t);case\"keypress\":return t.which!==32?null:(Qz=!0,Yz);case\"textInput\":return e=t.data,e===Yz&&Qz?null:e;default:return null}}function Xtt(e,t){if(z_)return e===\"compositionend\"||!Nk&&gN(e,t)?(e=AN(),GT=Bk=wA=null,z_=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=i}t:{for(;r;){if(r.nextSibling){r=r.nextSibling;break t}r=r.parentNode}r=void 0}r=Kz(r)}}function bN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?bN(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wN(){for(var e=window,t=KT();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href==\"string\"}catch{r=!1}if(r)e=t.contentWindow;else break;t=KT(e.document)}return t}function Uk(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}function oet(e){var t=wN(),r=e.focusedElem,i=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&bN(r.ownerDocument.documentElement,r)){if(i!==null&&Uk(r)){if(t=i.start,e=i.end,e===void 0&&(e=t),\"selectionStart\"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,n=Math.min(i.start,s);i=i.end===void 0?n:Math.min(i.end,s),!e.extend&&n>i&&(s=i,i=n,n=s),s=Jz(r,n);var o=Jz(r,i);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),n>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus==\"function\"&&r.focus(),r=0;r=document.documentMode,N_=null,KL=null,b1=null,JL=!1;function t5(e,t,r){var i=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;JL||N_==null||N_!==KT(i)||(i=N_,\"selectionStart\"in i&&Uk(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),b1&&D1(b1,i)||(b1=i,i=sM(KL,\"onSelect\"),0j_||(e.current=sk[j_],sk[j_]=null,j_--)}function Nn(e,t){j_++,sk[j_]=e.current,e.current=t}var DA={},$a=BA(DA),Kl=BA(!1),M0=DA;function ey(e,t){var r=e.type.contextTypes;if(!r)return DA;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in r)s[n]=t[n];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function Jl(e){return e=e.childContextTypes,e!=null}function aM(){Zn(Kl),Zn($a)}function c5(e,t,r){if($a.current!==DA)throw Error(Pe(168));Nn($a,t),Nn(Kl,r)}function kN(e,t,r){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=\"function\")return r;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(Pe(108,ett(e)||\"Unknown\",s));return ms({},r,i)}function lM(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||DA,M0=$a.current,Nn($a,e),Nn(Kl,Kl.current),!0}function u5(e,t,r){var i=e.stateNode;if(!i)throw Error(Pe(169));r?(e=kN(e,t,M0),i.__reactInternalMemoizedMergedChildContext=e,Zn(Kl),Zn($a),Nn($a,e)):Zn(Kl),Nn(Kl,r)}var Wd=null,EM=!1,SL=!1;function RN(e){Wd===null?Wd=[e]:Wd.push(e)}function get(e){EM=!0,RN(e)}function FA(){if(!SL&&Wd!==null){SL=!0;var e=0,t=vn;try{var r=Wd;for(vn=1;e>=o,s-=o,Hd=1<<32-Ih(t)+s|r<qt?(le=Xt,Xt=null):le=Xt.sibling;var ue=R(Y,Xt,J[qt],ut);if(ue===null){Xt===null&&(Xt=le);break}e&&Xt&&ue.alternate===null&&t(Y,Xt),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue,Xt=le}if(qt===J.length)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;qtqt?(le=Xt,Xt=null):le=Xt.sibling;var De=R(Y,Xt,ue.value,ut);if(De===null){Xt===null&&(Xt=le);break}e&&Xt&&De.alternate===null&&t(Y,Xt),K=n(De,K,qt),kt===null?Et=De:kt.sibling=De,kt=De,Xt=le}if(ue.done)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;!ue.done;qt++,ue=J.next())ue=I(Y,ue.value,ut),ue!==null&&(K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return ns&&y0(Y,qt),Et}for(Xt=i(Y,Xt);!ue.done;qt++,ue=J.next())ue=N(Xt,Y,qt,ue.value,ut),ue!==null&&(e&&ue.alternate!==null&&Xt.delete(ue.key===null?qt:ue.key),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return e&&Xt.forEach(function(Ke){return t(Y,Ke)}),ns&&y0(Y,qt),Et}function et(Y,K,J,ut){if(typeof J==\"object\"&&J!==null&&J.type===F_&&J.key===null&&(J=J.props.children),typeof J==\"object\"&&J!==null){switch(J.$$typeof){case wT:t:{for(var Et=J.key,kt=K;kt!==null;){if(kt.key===Et){if(Et=J.type,Et===F_){if(kt.tag===7){r(Y,kt.sibling),K=s(kt,J.props.children),K.return=Y,Y=K;break t}}else if(kt.elementType===Et||typeof Et==\"object\"&&Et!==null&&Et.$$typeof===yA&&d5(Et)===kt.type){r(Y,kt.sibling),K=s(kt,J.props),K.ref=u1(Y,kt,J),K.return=Y,Y=K;break t}r(Y,kt);break}else t(Y,kt);kt=kt.sibling}J.type===F_?(K=T0(J.props.children,Y.mode,ut,J.key),K.return=Y,Y=K):(ut=XT(J.type,J.key,J.props,null,Y.mode,ut),ut.ref=u1(Y,K,J),ut.return=Y,Y=ut)}return o(Y);case B_:t:{for(kt=J.key;K!==null;){if(K.key===kt)if(K.tag===4&&K.stateNode.containerInfo===J.containerInfo&&K.stateNode.implementation===J.implementation){r(Y,K.sibling),K=s(K,J.children||[]),K.return=Y,Y=K;break t}else{r(Y,K);break}else t(Y,K);K=K.sibling}K=kL(J,Y.mode,ut),K.return=Y,Y=K}return o(Y);case yA:return kt=J._init,et(Y,K,kt(J._payload),ut)}if(A1(J))return j(Y,K,J,ut);if(o1(J))return Q(Y,K,J,ut);zT(Y,J)}return typeof J==\"string\"&&J!==\"\"||typeof J==\"number\"?(J=\"\"+J,K!==null&&K.tag===6?(r(Y,K.sibling),K=s(K,J),K.return=Y,Y=K):(r(Y,K),K=LL(J,Y.mode,ut),K.return=Y,Y=K),o(Y)):r(Y,K)}return et}var iy=FN(!0),zN=FN(!1),hM=BA(null),fM=null,H_=null,Wk=null;function Hk(){Wk=H_=fM=null}function qk(e){var t=hM.current;Zn(hM),e._currentValue=t}function lk(e,t,r){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===r)break;e=e.return}}function K_(e,t){fM=e,Wk=H_=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Xl=!0),e.firstContext=null)}function Pu(e){var t=e._currentValue;if(Wk!==e)if(e={context:e,memoizedValue:t,next:null},H_===null){if(fM===null)throw Error(Pe(308));H_=e,fM.dependencies={lanes:0,firstContext:e}}else H_=H_.next=e;return t}var b0=null;function Zk(e){b0===null?b0=[e]:b0.push(e)}function NN(e,t,r,i){var s=t.interleaved;return s===null?(r.next=r,Zk(t)):(r.next=s.next,s.next=r),t.interleaved=r,$d(e,i)}function $d(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var vA=!1;function Yk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function UN(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zd(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function IA(e,t,r){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,Zi&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,$d(e,r)}return s=i.interleaved,s===null?(t.next=t,Zk(i)):(t.next=s.next,s.next=t),i.interleaved=t,$d(e,r)}function HT(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}function p5(e,t){var r=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,r===i)){var s=null,n=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};n===null?s=n=o:n=n.next=o,r=r.next}while(r!==null);n===null?s=n=t:n=n.next=t}else s=n=t;r={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:i.shared,effects:i.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function dM(e,t,r,i){var s=e.updateQueue;vA=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,c=s.shared.pending;if(c!==null){s.shared.pending=null;var f=c,_=f.next;f.next=null,o===null?n=_:o.next=_,o=f;var w=e.alternate;w!==null&&(w=w.updateQueue,c=w.lastBaseUpdate,c!==o&&(c===null?w.firstBaseUpdate=_:c.next=_,w.lastBaseUpdate=f))}if(n!==null){var I=s.baseState;o=0,w=_=f=null,c=n;do{var R=c.lane,N=c.eventTime;if((i&R)===R){w!==null&&(w=w.next={eventTime:N,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});t:{var j=e,Q=c;switch(R=t,N=r,Q.tag){case 1:if(j=Q.payload,typeof j==\"function\"){I=j.call(N,I,R);break t}I=j;break t;case 3:j.flags=j.flags&-65537|128;case 0:if(j=Q.payload,R=typeof j==\"function\"?j.call(N,I,R):j,R==null)break t;I=ms({},I,R);break t;case 2:vA=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,R=s.effects,R===null?s.effects=[c]:R.push(c))}else N={eventTime:N,lane:R,tag:c.tag,payload:c.payload,callback:c.callback,next:null},w===null?(_=w=N,f=I):w=w.next=N,o|=R;if(c=c.next,c===null){if(c=s.shared.pending,c===null)break;R=c,c=R.next,R.next=null,s.lastBaseUpdate=R,s.shared.pending=null}}while(!0);if(w===null&&(f=I),s.baseState=f,s.firstBaseUpdate=_,s.lastBaseUpdate=w,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else n===null&&(s.shared.lanes=0);I0|=o,e.lanes=o,e.memoizedState=I}}function A5(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var i=ML.transition;ML.transition={};try{e(!1),t()}finally{vn=r,ML.transition=i}}function i8(){return Iu().memoizedState}function xet(e,t,r){var i=LA(e);if(r={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null},n8(e))s8(t,r);else if(r=NN(e,t,r,i),r!==null){var s=wl();Ch(r,e,i,s),o8(r,t,i)}}function bet(e,t,r){var i=LA(e),s={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null};if(n8(e))s8(t,s);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,c=n(o,r);if(s.hasEagerState=!0,s.eagerState=c,Lh(c,o)){var f=t.interleaved;f===null?(s.next=s,Zk(t)):(s.next=f.next,f.next=s),t.interleaved=s;return}}catch{}finally{}r=NN(e,t,s,i),r!==null&&(s=wl(),Ch(r,e,i,s),o8(r,t,i))}}function n8(e){var t=e.alternate;return e===As||t!==null&&t===As}function s8(e,t){w1=AM=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function o8(e,t,r){if(r&4194240){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}var mM={readContext:Pu,useCallback:Za,useContext:Za,useEffect:Za,useImperativeHandle:Za,useInsertionEffect:Za,useLayoutEffect:Za,useMemo:Za,useReducer:Za,useRef:Za,useState:Za,useDebugValue:Za,useDeferredValue:Za,useTransition:Za,useMutableSource:Za,useSyncExternalStore:Za,useId:Za,unstable_isNewReconciler:!1},wet={readContext:Pu,useCallback:function(e,t){return Lf().memoizedState=[e,t===void 0?null:t],e},useContext:Pu,useEffect:g5,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ZT(4194308,4,KN.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ZT(4194308,4,e,t)},useInsertionEffect:function(e,t){return ZT(4,2,e,t)},useMemo:function(e,t){var r=Lf();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var i=Lf();return t=r!==void 0?r(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=xet.bind(null,As,e),[i.memoizedState,e]},useRef:function(e){var t=Lf();return e={current:e},t.memoizedState=e},useState:m5,useDebugValue:r4,useDeferredValue:function(e){return Lf().memoizedState=e},useTransition:function(){var e=m5(!1),t=e[0];return e=vet.bind(null,e[1]),Lf().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var i=As,s=Lf();if(ns){if(r===void 0)throw Error(Pe(407));r=r()}else{if(r=t(),Jo===null)throw Error(Pe(349));P0&30||WN(i,t,r)}s.memoizedState=r;var n={value:r,getSnapshot:t};return s.queue=n,g5(qN.bind(null,i,n,e),[e]),i.flags|=2048,j1(9,HN.bind(null,i,n,r,t),void 0,null),r},useId:function(){var e=Lf(),t=Jo.identifierPrefix;if(ns){var r=qd,i=Hd;r=(i&~(1<<32-Ih(i)-1)).toString(32)+r,t=\":\"+t+\"R\"+r,r=U1++,0<\\/script>\",e=e.removeChild(e.firstChild)):typeof i.is==\"string\"?e=o.createElement(r,{is:i.is}):(e=o.createElement(r),r===\"select\"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,r),e[kf]=t,e[F1]=i,m8(e,t,!1,!1),t.stateNode=e;t:{switch(o=WL(r,i),r){case\"dialog\":qn(\"cancel\",e),qn(\"close\",e),s=i;break;case\"iframe\":case\"object\":case\"embed\":qn(\"load\",e),s=i;break;case\"video\":case\"audio\":for(s=0;soy&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304)}else{if(!i)if(e=pM(o),e!==null){if(t.flags|=128,i=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),h1(n,!0),n.tail===null&&n.tailMode===\"hidden\"&&!o.alternate&&!ns)return Ya(t),null}else 2*Xs()-n.renderingStartTime>oy&&r!==1073741824&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(r=n.last,r!==null?r.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Xs(),t.sibling=null,r=ps.current,Nn(ps,i?r&1|2:r&1),t):(Ya(t),null);case 22:case 23:return l4(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?jc&1073741824&&(Ya(t),t.subtreeFlags&6&&(t.flags|=8192)):Ya(t),null;case 24:return null;case 25:return null}throw Error(Pe(156,t.tag))}function ket(e,t){switch(jk(t),t.tag){case 1:return Jl(t.type)&&aM(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ny(),Zn(Kl),Zn($a),Xk(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $k(t),null;case 13:if(Zn(ps),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Pe(340));ry()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Zn(ps),null;case 4:return ny(),null;case 10:return qk(t.type._context),null;case 22:case 23:return l4(),null;case 24:return null;default:return null}}var UT=!1,Qa=!1,Ret=typeof WeakSet==\"function\"?WeakSet:Set,ur=null;function q_(e,t){var r=e.ref;if(r!==null)if(typeof r==\"function\")try{r(null)}catch(i){Cs(e,t,i)}else r.current=null}function gk(e,t,r){try{r()}catch(i){Cs(e,t,i)}}var P5=!1;function Det(e,t){if(tk=iM,e=wN(),Uk(e)){if(\"selectionStart\"in e)var r={start:e.selectionStart,end:e.selectionEnd};else t:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var s=i.anchorOffset,n=i.focusNode;i=i.focusOffset;try{r.nodeType,n.nodeType}catch{r=null;break t}var o=0,c=-1,f=-1,_=0,w=0,I=e,R=null;e:for(;;){for(var N;I!==r||s!==0&&I.nodeType!==3||(c=o+s),I!==n||i!==0&&I.nodeType!==3||(f=o+i),I.nodeType===3&&(o+=I.nodeValue.length),(N=I.firstChild)!==null;)R=I,I=N;for(;;){if(I===e)break e;if(R===r&&++_===s&&(c=o),R===n&&++w===i&&(f=o),(N=I.nextSibling)!==null)break;I=R,R=I.parentNode}I=N}r=c===-1||f===-1?null:{start:c,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(ek={focusedElem:e,selectionRange:r},iM=!1,ur=t;ur!==null;)if(t=ur,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ur=e;else for(;ur!==null;){t=ur;try{var j=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(j!==null){var Q=j.memoizedProps,et=j.memoizedState,Y=t.stateNode,K=Y.getSnapshotBeforeUpdate(t.elementType===t.type?Q:Mh(t.type,Q),et);Y.__reactInternalSnapshotBeforeUpdate=K}break;case 3:var J=t.stateNode.containerInfo;J.nodeType===1?J.textContent=\"\":J.nodeType===9&&J.documentElement&&J.removeChild(J.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Pe(163))}}catch(ut){Cs(t,t.return,ut)}if(e=t.sibling,e!==null){e.return=t.return,ur=e;break}ur=t.return}return j=P5,P5=!1,j}function S1(e,t,r){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&e)===e){var n=s.destroy;s.destroy=void 0,n!==void 0&&gk(t,r,n)}s=s.next}while(s!==i)}}function CM(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var i=r.create;r.destroy=i()}r=r.next}while(r!==t)}}function _k(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t==\"function\"?t(e):t.current=e}}function y8(e){var t=e.alternate;t!==null&&(e.alternate=null,y8(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[kf],delete t[F1],delete t[nk],delete t[Aet],delete t[met])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function v8(e){return e.tag===5||e.tag===3||e.tag===4}function I5(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||v8(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=oM));else if(i!==4&&(e=e.child,e!==null))for(yk(e,t,r),e=e.sibling;e!==null;)yk(e,t,r),e=e.sibling}function vk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(vk(e,t,r),e=e.sibling;e!==null;)vk(e,t,r),e=e.sibling}var Aa=null,Eh=!1;function _A(e,t,r){for(r=r.child;r!==null;)x8(e,t,r),r=r.sibling}function x8(e,t,r){if(Rf&&typeof Rf.onCommitFiberUnmount==\"function\")try{Rf.onCommitFiberUnmount(bM,r)}catch{}switch(r.tag){case 5:Qa||q_(r,t);case 6:var i=Aa,s=Eh;Aa=null,_A(e,t,r),Aa=i,Eh=s,Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Aa.removeChild(r.stateNode));break;case 18:Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?wL(e.parentNode,r):e.nodeType===1&&wL(e,r),k1(e)):wL(Aa,r.stateNode));break;case 4:i=Aa,s=Eh,Aa=r.stateNode.containerInfo,Eh=!0,_A(e,t,r),Aa=i,Eh=s;break;case 0:case 11:case 14:case 15:if(!Qa&&(i=r.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var n=s,o=n.destroy;n=n.tag,o!==void 0&&(n&2||n&4)&&gk(r,t,o),s=s.next}while(s!==i)}_A(e,t,r);break;case 1:if(!Qa&&(q_(r,t),i=r.stateNode,typeof i.componentWillUnmount==\"function\"))try{i.props=r.memoizedProps,i.state=r.memoizedState,i.componentWillUnmount()}catch(c){Cs(r,t,c)}_A(e,t,r);break;case 21:_A(e,t,r);break;case 22:r.mode&1?(Qa=(i=Qa)||r.memoizedState!==null,_A(e,t,r),Qa=i):_A(e,t,r);break;default:_A(e,t,r)}}function C5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Ret),t.forEach(function(i){var s=Get.bind(null,e,i);r.has(i)||(r.add(i),i.then(s,s))})}}function Th(e,t){var r=t.deletions;if(r!==null)for(var i=0;is&&(s=o),i&=~n}if(i=s,i=Xs()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Bet(i/1960))-i,10e?16:e,SA===null)var i=!1;else{if(e=SA,SA=null,yM=0,Zi&6)throw Error(Pe(331));var s=Zi;for(Zi|=4,ur=e.current;ur!==null;){var n=ur,o=n.child;if(ur.flags&16){var c=n.deletions;if(c!==null){for(var f=0;fXs()-o4?S0(e,0):s4|=r),tc(e,t)}function I8(e,t){t===0&&(e.mode&1?(t=ET,ET<<=1,!(ET&130023424)&&(ET=4194304)):t=1);var r=wl();e=$d(e,t),e!==null&&(W1(e,t,r),tc(e,r))}function jet(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),I8(e,r)}function Get(e,t){var r=0;switch(e.tag){case 13:var i=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(Pe(314))}i!==null&&i.delete(t),I8(e,r)}var C8;C8=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Kl.current)Xl=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Xl=!1,Cet(e,t,r);Xl=!!(e.flags&131072)}else Xl=!1,ns&&t.flags&1048576&&DN(t,uM,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;YT(e,t),e=t.pendingProps;var s=ey(t,$a.current);K_(t,r),s=Jk(null,t,i,e,s,r);var n=t4();return t.flags|=1,typeof s==\"object\"&&s!==null&&typeof s.render==\"function\"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jl(i)?(n=!0,lM(t)):n=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Yk(t),s.updater=IM,t.stateNode=s,s._reactInternals=t,uk(t,i,e,r),t=dk(null,t,i,!0,n,r)):(t.tag=0,ns&&n&&Vk(t),bl(null,t,s,r),t=t.child),t;case 16:i=t.elementType;t:{switch(YT(e,t),e=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=Het(i),e=Mh(i,e),s){case 0:t=fk(null,t,i,e,r);break t;case 1:t=T5(null,t,i,e,r);break t;case 11:t=w5(null,t,i,e,r);break t;case 14:t=S5(null,t,i,Mh(i.type,e),r);break t}throw Error(Pe(306,i,\"\"))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),fk(e,t,i,s,r);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),T5(e,t,i,s,r);case 3:t:{if(d8(t),e===null)throw Error(Pe(387));i=t.pendingProps,n=t.memoizedState,s=n.element,UN(e,t),dM(t,i,null,r);var o=t.memoizedState;if(i=o.element,n.isDehydrated)if(n={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){s=sy(Error(Pe(423)),t),t=M5(e,t,i,r,s);break t}else if(i!==s){s=sy(Error(Pe(424)),t),t=M5(e,t,i,r,s);break t}else for(Gc=PA(t.stateNode.containerInfo.firstChild),Wc=t,ns=!0,Ph=null,r=zN(t,null,i,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ry(),i===s){t=Xd(e,t,r);break t}bl(e,t,i,r)}t=t.child}return t;case 5:return VN(t),e===null&&ak(t),i=t.type,s=t.pendingProps,n=e!==null?e.memoizedProps:null,o=s.children,rk(i,s)?o=null:n!==null&&rk(i,n)&&(t.flags|=32),f8(e,t),bl(e,t,o,r),t.child;case 6:return e===null&&ak(t),null;case 13:return p8(e,t,r);case 4:return Qk(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=iy(t,null,i,r):bl(e,t,i,r),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),w5(e,t,i,s,r);case 7:return bl(e,t,t.pendingProps,r),t.child;case 8:return bl(e,t,t.pendingProps.children,r),t.child;case 12:return bl(e,t,t.pendingProps.children,r),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,n=t.memoizedProps,o=s.value,Nn(hM,i._currentValue),i._currentValue=o,n!==null)if(Lh(n.value,o)){if(n.children===s.children&&!Kl.current){t=Xd(e,t,r);break t}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var c=n.dependencies;if(c!==null){o=n.child;for(var f=c.firstContext;f!==null;){if(f.context===i){if(n.tag===1){f=Zd(-1,r&-r),f.tag=2;var _=n.updateQueue;if(_!==null){_=_.shared;var w=_.pending;w===null?f.next=f:(f.next=w.next,w.next=f),_.pending=f}}n.lanes|=r,f=n.alternate,f!==null&&(f.lanes|=r),lk(n.return,r,t),c.lanes|=r;break}f=f.next}}else if(n.tag===10)o=n.type===t.type?null:n.child;else if(n.tag===18){if(o=n.return,o===null)throw Error(Pe(341));o.lanes|=r,c=o.alternate,c!==null&&(c.lanes|=r),lk(o,r,t),o=n.sibling}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===t){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}bl(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,K_(t,r),s=Pu(s),i=i(s),t.flags|=1,bl(e,t,i,r),t.child;case 14:return i=t.type,s=Mh(i,t.pendingProps),s=Mh(i.type,s),S5(e,t,i,s,r);case 15:return u8(e,t,t.type,t.pendingProps,r);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),YT(e,t),t.tag=1,Jl(i)?(e=!0,lM(t)):e=!1,K_(t,r),a8(t,i,s),uk(t,i,s,r),dk(null,t,i,!0,e,r);case 19:return A8(e,t,r);case 22:return h8(e,t,r)}throw Error(Pe(156,t.tag))};function L8(e,t){return nN(e,t)}function Wet(e,t,r,i){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mu(e,t,r,i){return new Wet(e,t,r,i)}function u4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Het(e){if(typeof e==\"function\")return u4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ik)return 11;if(e===Ck)return 14}return 2}function kA(e,t){var r=e.alternate;return r===null?(r=Mu(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function XT(e,t,r,i,s,n){var o=2;if(i=e,typeof e==\"function\")u4(e)&&(o=1);else if(typeof e==\"string\")o=5;else t:switch(e){case F_:return T0(r.children,s,n,t);case Pk:o=8,s|=8;break;case DL:return e=Mu(12,r,t,s|2),e.elementType=DL,e.lanes=n,e;case OL:return e=Mu(13,r,t,s),e.elementType=OL,e.lanes=n,e;case BL:return e=Mu(19,r,t,s),e.elementType=BL,e.lanes=n,e;case V5:return kM(r,s,n,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case N5:o=10;break t;case U5:o=9;break t;case Ik:o=11;break t;case Ck:o=14;break t;case yA:o=16,i=null;break t}throw Error(Pe(130,e==null?e:typeof e,\"\"))}return t=Mu(o,r,t,s),t.elementType=e,t.type=i,t.lanes=n,t}function T0(e,t,r,i){return e=Mu(7,e,i,t),e.lanes=r,e}function kM(e,t,r,i){return e=Mu(22,e,i,t),e.elementType=V5,e.lanes=r,e.stateNode={isHidden:!1},e}function LL(e,t,r){return e=Mu(6,e,null,t),e.lanes=r,e}function kL(e,t,r){return t=Mu(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qet(e,t,r,i,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=AL(0),this.expirationTimes=AL(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=AL(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function h4(e,t,r,i,s,n,o,c,f){return e=new qet(e,t,r,c,f),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Mu(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:i,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yk(n),e}function Zet(e,t,r){var i=3{\"use strict\";function B8(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(B8)}catch(e){console.error(e)}}B8(),F8.exports=O8()});var N8=Br(A4=>{\"use strict\";var z8=FM();A4.createRoot=z8.createRoot,A4.hydrateRoot=z8.hydrateRoot;var ibt});var eU=Br((T4,M4)=>{(function(e,t){typeof T4==\"object\"&&typeof M4<\"u\"?M4.exports=t():(e=typeof globalThis<\"u\"?globalThis:e||self,e.maplibregl=t())})(T4,function(){\"use strict\";var e,t,r;function i(n,o){if(!e)e=o;else if(!t)t=o;else{var c=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",f={};e(f),r=o(f),typeof window<\"u\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([c],{type:\"text/javascript\"})))}}i([\"exports\"],function(n){\"use strict\";function o(u,a,h,A){return new(h||(h=Promise))(function(x,E){function P(V){try{F(A.next(V))}catch(q){E(q)}}function D(V){try{F(A.throw(V))}catch(q){E(q)}}function F(V){var q;V.done?x(V.value):(q=V.value,q instanceof h?q:new h(function(X){X(q)})).then(P,D)}F((A=A.apply(u,a||[])).next())})}function c(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,\"default\")?u.default:u}typeof SuppressedError==\"function\"&&SuppressedError;var f=_;function _(u,a){this.x=u,this.y=a}_.prototype={clone:function(){return new _(this.x,this.y)},add:function(u){return this.clone()._add(u)},sub:function(u){return this.clone()._sub(u)},multByPoint:function(u){return this.clone()._multByPoint(u)},divByPoint:function(u){return this.clone()._divByPoint(u)},mult:function(u){return this.clone()._mult(u)},div:function(u){return this.clone()._div(u)},rotate:function(u){return this.clone()._rotate(u)},rotateAround:function(u,a){return this.clone()._rotateAround(u,a)},matMult:function(u){return this.clone()._matMult(u)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(u){return this.x===u.x&&this.y===u.y},dist:function(u){return Math.sqrt(this.distSqr(u))},distSqr:function(u){var a=u.x-this.x,h=u.y-this.y;return a*a+h*h},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(u){return Math.atan2(this.y-u.y,this.x-u.x)},angleWith:function(u){return this.angleWithSep(u.x,u.y)},angleWithSep:function(u,a){return Math.atan2(this.x*a-this.y*u,this.x*u+this.y*a)},_matMult:function(u){var a=u[2]*this.x+u[3]*this.y;return this.x=u[0]*this.x+u[1]*this.y,this.y=a,this},_add:function(u){return this.x+=u.x,this.y+=u.y,this},_sub:function(u){return this.x-=u.x,this.y-=u.y,this},_mult:function(u){return this.x*=u,this.y*=u,this},_div:function(u){return this.x/=u,this.y/=u,this},_multByPoint:function(u){return this.x*=u.x,this.y*=u.y,this},_divByPoint:function(u){return this.x/=u.x,this.y/=u.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var u=this.y;return this.y=this.x,this.x=-u,this},_rotate:function(u){var a=Math.cos(u),h=Math.sin(u),A=h*this.x+a*this.y;return this.x=a*this.x-h*this.y,this.y=A,this},_rotateAround:function(u,a){var h=Math.cos(u),A=Math.sin(u),x=a.y+A*(this.x-a.x)+h*(this.y-a.y);return this.x=a.x+h*(this.x-a.x)-A*(this.y-a.y),this.y=x,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},_.convert=function(u){return u instanceof _?u:Array.isArray(u)?new _(u[0],u[1]):u};var w=c(f),I=R;function R(u,a,h,A){this.cx=3*u,this.bx=3*(h-u)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*a,this.by=3*(A-a)-this.cy,this.ay=1-this.cy-this.by,this.p1x=u,this.p1y=a,this.p2x=h,this.p2y=A}R.prototype={sampleCurveX:function(u){return((this.ax*u+this.bx)*u+this.cx)*u},sampleCurveY:function(u){return((this.ay*u+this.by)*u+this.cy)*u},sampleCurveDerivativeX:function(u){return(3*this.ax*u+2*this.bx)*u+this.cx},solveCurveX:function(u,a){if(a===void 0&&(a=1e-6),u<0)return 0;if(u>1)return 1;for(var h=u,A=0;A<8;A++){var x=this.sampleCurveX(h)-u;if(Math.abs(x)x?P=h:D=h,h=.5*(D-P)+P;return h},solve:function(u,a){return this.sampleCurveY(this.solveCurveX(u,a))}};var N=c(I);let j,Q;function et(){return j==null&&(j=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),j}function Y(){if(Q==null&&(Q=!1,et())){let a=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(a){for(let A=0;A<5*5;A++){let x=4*A;a.fillStyle=`rgb(${x},${x+1},${x+2})`,a.fillRect(A%5,Math.floor(A/5),1,1)}let h=a.getImageData(0,0,5,5).data;for(let A=0;A<5*5*4;A++)if(A%4!=3&&h[A]!==A){Q=!0;break}}}return Q||!1}function K(u,a,h,A){let x=new N(u,a,h,A);return function(E){return x.solve(E)}}let J=K(.25,.1,.25,1);function ut(u,a,h){return Math.min(h,Math.max(a,u))}function Et(u,a,h){let A=h-a,x=((u-a)%A+A)%A+a;return x===a?h:x}function kt(u,...a){for(let h of a)for(let A in h)u[A]=h[A];return u}let Xt=1;function qt(u,a,h){let A={};for(let x in u)A[x]=a.call(h||this,u[x],x,u);return A}function le(u,a,h){let A={};for(let x in u)a.call(h||this,u[x],x,u)&&(A[x]=u[x]);return A}function ue(u){return Array.isArray(u)?u.map(ue):typeof u==\"object\"&&u?qt(u,ue):u}let De={};function Ke(u){De[u]||(typeof console<\"u\"&&console.warn(u),De[u]=!0)}function rr(u,a,h){return(h.y-u.y)*(a.x-u.x)>(a.y-u.y)*(h.x-u.x)}function Sr(u){let a=0;for(let h,A,x=0,E=u.length,P=E-1;x\"u\")throw new Error(\"VideoFrame not supported\");let E=new VideoFrame(u,{timestamp:0});try{let P=E?.format;if(!P||!P.startsWith(\"BGR\")&&!P.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${P}`);let D=P.startsWith(\"BGR\"),F=new Uint8ClampedArray(A*x*4);if(yield E.copyTo(F,function(V,q,X,rt,at){let ct=4*Math.max(-q,0),mt=(Math.max(0,X)-X)*rt*4+ct,bt=4*rt,Pt=Math.max(0,q),jt=Math.max(0,X);return{rect:{x:Pt,y:jt,width:Math.min(V.width,q+rt)-Pt,height:Math.min(V.height,X+at)-jt},layout:[{offset:mt,stride:bt}]}}(u,a,h,A,x)),D)for(let V=0;VcancelAnimationFrame(a)}},getImageData(u,a=0){return this.getImageCanvasContext(u).getImageData(-a,-a,u.width+2*a,u.height+2*a)},getImageCanvasContext(u){let a=window.document.createElement(\"canvas\"),h=a.getContext(\"2d\",{willReadFrequently:!0});if(!h)throw new Error(\"failed to create canvas 2d context\");return a.width=u.width,a.height=u.height,h.drawImage(u,0,0,u.width,u.height),h},resolveURL:u=>(Ns||(Ns=document.createElement(\"a\")),Ns.href=u,Ns.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(ll==null&&(ll=matchMedia(\"(prefers-reduced-motion: reduce)\")),ll.matches)}},Rc={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};class Xi extends Error{constructor(a,h,A,x){super(`AJAXError: ${h} (${a}): ${A}`),this.status=a,this.statusText=h,this.url=A,this.body=x}}let Jn=Li()?()=>self.worker&&self.worker.referrer:()=>(window.location.protocol===\"blob:\"?window.parent:window).location.href,ki=u=>Rc.REGISTERED_PROTOCOLS[u.substring(0,u.indexOf(\"://\"))];function ts(u,a){let h=new AbortController,A=new Request(u.url,{method:u.method||\"GET\",body:u.body,credentials:u.credentials,headers:u.headers,cache:u.cache,referrer:Jn(),signal:h.signal}),x=!1,E=!1;return u.type===\"json\"&&A.headers.set(\"Accept\",\"application/json\"),E||fetch(A).then(P=>P.ok?(D=>{(u.type===\"arrayBuffer\"||u.type===\"image\"?D.arrayBuffer():u.type===\"json\"?D.json():D.text()).then(F=>{E||(x=!0,a(null,F,D.headers.get(\"Cache-Control\"),D.headers.get(\"Expires\")))}).catch(F=>{E||a(new Error(F.message))})})(P):P.blob().then(D=>a(new Xi(P.status,P.statusText,u.url,D)))).catch(P=>{P.code!==20&&a(new Error(P.message))}),{cancel:()=>{E=!0,x||h.abort()}}}let Vo=function(u,a){if(/:\\/\\//.test(u.url)&&!/^https?:|^file:/.test(u.url)){if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a);if(!Li())return(ki(u.url)||ts)(u,a)}if(!(/^file:/.test(h=u.url)||/^file:/.test(Jn())&&!/^\\w+:/.test(h))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return ts(u,a);if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a,void 0,!0)}var h;return function(A,x){let E=new XMLHttpRequest;E.open(A.method||\"GET\",A.url,!0),A.type!==\"arrayBuffer\"&&A.type!==\"image\"||(E.responseType=\"arraybuffer\");for(let P in A.headers)E.setRequestHeader(P,A.headers[P]);return A.type===\"json\"&&(E.responseType=\"text\",E.setRequestHeader(\"Accept\",\"application/json\")),E.withCredentials=A.credentials===\"include\",E.onerror=()=>{x(new Error(E.statusText))},E.onload=()=>{if((E.status>=200&&E.status<300||E.status===0)&&E.response!==null){let P=E.response;if(A.type===\"json\")try{P=JSON.parse(E.response)}catch(D){return x(D)}x(null,P,E.getResponseHeader(\"Cache-Control\"),E.getResponseHeader(\"Expires\"))}else{let P=new Blob([E.response],{type:E.getResponseHeader(\"Content-Type\")});x(new Xi(E.status,E.statusText,A.url,P))}},E.send(A.body),{cancel:()=>E.abort()}}(u,a)},cl=function(u,a){return Vo(kt(u,{type:\"arrayBuffer\"}),a)};function xo(u){if(!u||u.indexOf(\"://\")<=0||u.indexOf(\"data:image/\")===0||u.indexOf(\"blob:\")===0)return!0;let a=new URL(u),h=window.location;return a.protocol===h.protocol&&a.host===h.host}function Pa(u,a,h){h[u]&&h[u].indexOf(a)!==-1||(h[u]=h[u]||[],h[u].push(a))}function na(u,a,h){if(h&&h[u]){let A=h[u].indexOf(a);A!==-1&&h[u].splice(A,1)}}class as{constructor(a,h={}){kt(this,h),this.type=a}}class ao extends as{constructor(a,h={}){super(\"error\",kt({error:a},h))}}class Nl{on(a,h){return this._listeners=this._listeners||{},Pa(a,h,this._listeners),this}off(a,h){return na(a,h,this._listeners),na(a,h,this._oneTimeListeners),this}once(a,h){return h?(this._oneTimeListeners=this._oneTimeListeners||{},Pa(a,h,this._oneTimeListeners),this):new Promise(A=>this.once(a,A))}fire(a,h){typeof a==\"string\"&&(a=new as(a,h||{}));let A=a.type;if(this.listens(A)){a.target=this;let x=this._listeners&&this._listeners[A]?this._listeners[A].slice():[];for(let D of x)D.call(this,a);let E=this._oneTimeListeners&&this._oneTimeListeners[A]?this._oneTimeListeners[A].slice():[];for(let D of E)na(A,D,this._oneTimeListeners),D.call(this,a);let P=this._eventedParent;P&&(kt(a,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),P.fire(a))}else a instanceof ao&&console.error(a.error);return this}listens(a){return this._listeners&&this._listeners[a]&&this._listeners[a].length>0||this._oneTimeListeners&&this._oneTimeListeners[a]&&this._oneTimeListeners[a].length>0||this._eventedParent&&this._eventedParent.listens(a)}setEventedParent(a,h){return this._eventedParent=a,this._eventedParentData=h,this}}var ee={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let ls=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function mn(u,a){let h={};for(let A in u)A!==\"ref\"&&(h[A]=u[A]);return ls.forEach(A=>{A in a&&(h[A]=a[A])}),h}function gi(u,a){if(Array.isArray(u)){if(!Array.isArray(a)||u.length!==a.length)return!1;for(let h=0;h`:u.itemType.kind===\"value\"?\"array\":`array<${a}>`}return u.kind}let _t=[Ca,Te,Dr,gr,Us,gt,La,vt(Mr),tt,nt,ht];function Dt(u,a){if(a.kind===\"error\")return null;if(u.kind===\"array\"){if(a.kind===\"array\"&&(a.N===0&&a.itemType.kind===\"value\"||!Dt(u.itemType,a.itemType))&&(typeof u.N!=\"number\"||u.N===a.N))return null}else{if(u.kind===a.kind)return null;if(u.kind===\"value\"){for(let h of _t)if(!Dt(h,a))return null}}return`Expected ${xt(u)} but found ${xt(a)} instead.`}function Mt(u,a){return a.some(h=>h.kind===u.kind)}function Vt(u,a){return a.some(h=>h===\"null\"?u===null:h===\"array\"?Array.isArray(u):h===\"object\"?u&&!Array.isArray(u)&&typeof u==\"object\":h===typeof u)}function ie(u,a){return u.kind===\"array\"&&a.kind===\"array\"?u.itemType.kind===a.itemType.kind&&typeof u.N==\"number\":u.kind===a.kind}let se=.96422,ae=.82521,lr=4/29,vr=6/29,Xe=3*vr*vr,cr=vr*vr*vr,wr=Math.PI/180,xi=180/Math.PI;function zi(u){return(u%=360)<0&&(u+=360),u}function ni([u,a,h,A]){let x,E,P=jn((.2225045*(u=Hr(u))+.7168786*(a=Hr(a))+.0606169*(h=Hr(h)))/1);u===a&&a===h?x=E=P:(x=jn((.4360747*u+.3850649*a+.1430804*h)/se),E=jn((.0139322*u+.0971045*a+.7141733*h)/ae));let D=116*P-16;return[D<0?0:D,500*(x-P),200*(P-E),A]}function Hr(u){return u<=.04045?u/12.92:Math.pow((u+.055)/1.055,2.4)}function jn(u){return u>cr?Math.pow(u,1/3):u/Xe+lr}function Bi([u,a,h,A]){let x=(u+16)/116,E=isNaN(a)?x:x+a/500,P=isNaN(h)?x:x-h/200;return x=1*es(x),E=se*es(E),P=ae*es(P),[xn(3.1338561*E-1.6168667*x-.4906146*P),xn(-.9787684*E+1.9161415*x+.033454*P),xn(.0719453*E-.2289914*x+1.4052427*P),A]}function xn(u){return(u=u<=.00304?12.92*u:1.055*Math.pow(u,1/2.4)-.055)<0?0:u>1?1:u}function es(u){return u>vr?u*u*u:Xe*(u-lr)}function oa(u){return parseInt(u.padEnd(2,u),16)/255}function Um(u,a){return Vl(a?u/100:u,0,1)}function Vl(u,a,h){return Math.min(Math.max(a,u),h)}function Ss(u){return!u.some(Number.isNaN)}let nh={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class ai{constructor(a,h,A,x=1,E=!0){this.r=a,this.g=h,this.b=A,this.a=x,E||(this.r*=x,this.g*=x,this.b*=x,x||this.overwriteGetter(\"rgb\",[a,h,A,x]))}static parse(a){if(a instanceof ai)return a;if(typeof a!=\"string\")return;let h=function(A){if((A=A.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let x=nh[A];if(x){let[P,D,F]=x;return[P/255,D/255,F/255,1]}if(A.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(A)){let P=A.length<6?1:2,D=1;return[oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+P)||\"ff\")]}if(A.startsWith(\"rgb\")){let P=A.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(P){let[D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt]=P,Rt=[q||\" \",at||\" \",bt].join(\"\");if(Rt===\" \"||Rt===\" /\"||Rt===\",,\"||Rt===\",,,\"){let Gt=[V,rt,mt].join(\"\"),Yt=Gt===\"%%%\"?100:Gt===\"\"?255:0;if(Yt){let ce=[Vl(+F/Yt,0,1),Vl(+X/Yt,0,1),Vl(+ct/Yt,0,1),Pt?Um(+Pt,jt):1];if(Ss(ce))return ce}}return}}let E=A.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(E){let[P,D,F,V,q,X,rt,at,ct]=E,mt=[F||\" \",q||\" \",rt].join(\"\");if(mt===\" \"||mt===\" /\"||mt===\",,\"||mt===\",,,\"){let bt=[+D,Vl(+V,0,100),Vl(+X,0,100),at?Um(+at,ct):1];if(Ss(bt))return function([Pt,jt,Rt,Gt]){function Yt(ce){let Ne=(ce+Pt/30)%12,ir=jt*Math.min(Rt,1-Rt);return Rt-ir*Math.max(-1,Math.min(Ne-3,9-Ne,1))}return Pt=zi(Pt),jt/=100,Rt/=100,[Yt(0),Yt(8),Yt(4),Gt]}(bt)}}}(a);return h?new ai(...h,!1):void 0}get rgb(){let{r:a,g:h,b:A,a:x}=this,E=x||1/0;return this.overwriteGetter(\"rgb\",[a/E,h/E,A/E,x])}get hcl(){return this.overwriteGetter(\"hcl\",function(a){let[h,A,x,E]=ni(a),P=Math.sqrt(A*A+x*x);return[Math.round(1e4*P)?zi(Math.atan2(x,A)*xi):NaN,P,h,E]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",ni(this.rgb))}overwriteGetter(a,h){return Object.defineProperty(this,a,{value:h}),h}toString(){let[a,h,A,x]=this.rgb;return`rgba(${[a,h,A].map(E=>Math.round(255*E)).join(\",\")},${x})`}}ai.black=new ai(0,0,0,1),ai.white=new ai(1,1,1,1),ai.transparent=new ai(0,0,0,0),ai.red=new ai(1,0,0,1);class ka{constructor(a,h,A){this.sensitivity=a?h?\"variant\":\"case\":h?\"accent\":\"base\",this.locale=A,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(a,h){return this.collator.compare(a,h)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Dc{constructor(a,h,A,x,E){this.text=a,this.image=h,this.scale=A,this.fontStack=x,this.textColor=E}}class ln{constructor(a){this.sections=a}static fromString(a){return new ln([new Dc(a,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(a=>a.text.length!==0||a.image&&a.image.name.length!==0)}static factory(a){return a instanceof ln?a:ln.fromString(a)}toString(){return this.sections.length===0?\"\":this.sections.map(a=>a.text).join(\"\")}}class Dn{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Dn)return a;if(typeof a==\"number\")return new Dn([a,a,a,a]);if(Array.isArray(a)&&!(a.length<1||a.length>4)){for(let h of a)if(typeof h!=\"number\")return;switch(a.length){case 1:a=[a[0],a[0],a[0],a[0]];break;case 2:a=[a[0],a[1],a[0],a[1]];break;case 3:a=[a[0],a[1],a[2],a[1]]}return new Dn(a)}}toString(){return JSON.stringify(this.values)}}let Vm=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Go{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Go)return a;if(Array.isArray(a)&&!(a.length<1)&&a.length%2==0){for(let h=0;h=0&&u<=255&&typeof a==\"number\"&&a>=0&&a<=255&&typeof h==\"number\"&&h>=0&&h<=255?A===void 0||typeof A==\"number\"&&A>=0&&A<=1?null:`Invalid rgba value [${[u,a,h,A].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof A==\"number\"?[u,a,h,A]:[u,a,h]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function jl(u){if(u===null||typeof u==\"string\"||typeof u==\"boolean\"||typeof u==\"number\"||u instanceof ai||u instanceof ka||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn)return!0;if(Array.isArray(u)){for(let a of u)if(!jl(a))return!1;return!0}if(typeof u==\"object\"){for(let a in u)if(!jl(u[a]))return!1;return!0}return!1}function Ki(u){if(u===null)return Ca;if(typeof u==\"string\")return Dr;if(typeof u==\"boolean\")return gr;if(typeof u==\"number\")return Te;if(u instanceof ai)return Us;if(u instanceof ka)return sa;if(u instanceof ln)return gt;if(u instanceof Dn)return tt;if(u instanceof Go)return ht;if(u instanceof Gn)return nt;if(Array.isArray(u)){let a=u.length,h;for(let A of u){let x=Ki(A);if(h){if(h===x)continue;h=Mr;break}h=x}return vt(h||Mr,a)}return La}function _i(u){let a=typeof u;return u===null?\"\":a===\"string\"||a===\"number\"||a===\"boolean\"?String(u):u instanceof ai||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn?u.toString():JSON.stringify(u)}class Gl{constructor(a,h){this.type=a,this.value=h}static parse(a,h){if(a.length!==2)return h.error(`'literal' expression requires exactly one argument, but found ${a.length-1} instead.`);if(!jl(a[1]))return h.error(\"invalid value\");let A=a[1],x=Ki(A),E=h.expectedType;return x.kind!==\"array\"||x.N!==0||!E||E.kind!==\"array\"||typeof E.N==\"number\"&&E.N!==0||(x=E),new Gl(x,A)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class cn{constructor(a){this.name=\"ExpressionEvaluationError\",this.message=a}toJSON(){return this.message}}let pu={string:Dr,number:Te,boolean:gr,object:La};class rs{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A,x=1,E=a[0];if(E===\"array\"){let D,F;if(a.length>2){let V=a[1];if(typeof V!=\"string\"||!(V in pu)||V===\"object\")return h.error('The item type argument of \"array\" must be one of string, number, boolean',1);D=pu[V],x++}else D=Mr;if(a.length>3){if(a[2]!==null&&(typeof a[2]!=\"number\"||a[2]<0||a[2]!==Math.floor(a[2])))return h.error('The length argument to \"array\" must be a positive integer literal',2);F=a[2],x++}A=vt(D,F)}else{if(!pu[E])throw new Error(`Types doesn't contain name = ${E}`);A=pu[E]}let P=[];for(;xa.outputDefined())}}let Gp={\"to-boolean\":gr,\"to-color\":Us,\"to-number\":Te,\"to-string\":Dr};class Wl{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[0];if(!Gp[A])throw new Error(`Can't parse ${A} as it is not part of the known types`);if((A===\"to-boolean\"||A===\"to-string\")&&a.length!==2)return h.error(\"Expected one argument.\");let x=Gp[A],E=[];for(let P=1;P4?`Invalid rbga value ${JSON.stringify(h)}: expected an array containing either three or four numeric values.`:So(h[0],h[1],h[2],h[3]),!A))return new ai(h[0]/255,h[1]/255,h[2]/255,h[3])}throw new cn(A||`Could not parse color from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"padding\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Dn.parse(h);if(x)return x}throw new cn(`Could not parse padding from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"variableAnchorOffsetCollection\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Go.parse(h);if(x)return x}throw new cn(`Could not parse variableAnchorOffsetCollection from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"number\":{let h=null;for(let A of this.args){if(h=A.evaluate(a),h===null)return 0;let x=Number(h);if(!isNaN(x))return x}throw new cn(`Could not convert ${JSON.stringify(h)} to number.`)}case\"formatted\":return ln.fromString(_i(this.args[0].evaluate(a)));case\"resolvedImage\":return Gn.fromString(_i(this.args[0].evaluate(a)));default:return _i(this.args[0].evaluate(a))}}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}let _d=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class yd{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?_d[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(a){let h=this._parseColorCache[a];return h||(h=this._parseColorCache[a]=ai.parse(a)),h}}class vd{constructor(a,h,A=[],x,E=new Ul,P=[]){this.registry=a,this.path=A,this.key=A.map(D=>`[${D}]`).join(\"\"),this.scope=E,this.errors=P,this.expectedType=x,this._isConstant=h}parse(a,h,A,x,E={}){return h?this.concat(h,A,x)._parse(a,E):this._parse(a,E)}_parse(a,h){function A(x,E,P){return P===\"assert\"?new rs(E,[x]):P===\"coerce\"?new Wl(E,[x]):x}if(a!==null&&typeof a!=\"string\"&&typeof a!=\"boolean\"&&typeof a!=\"number\"||(a=[\"literal\",a]),Array.isArray(a)){if(a.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let x=a[0];if(typeof x!=\"string\")return this.error(`Expression name must be a string, but found ${typeof x} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let E=this.registry[x];if(E){let P=E.parse(a,this);if(!P)return null;if(this.expectedType){let D=this.expectedType,F=P.type;if(D.kind!==\"string\"&&D.kind!==\"number\"&&D.kind!==\"boolean\"&&D.kind!==\"object\"&&D.kind!==\"array\"||F.kind!==\"value\")if(D.kind!==\"color\"&&D.kind!==\"formatted\"&&D.kind!==\"resolvedImage\"||F.kind!==\"value\"&&F.kind!==\"string\")if(D.kind!==\"padding\"||F.kind!==\"value\"&&F.kind!==\"number\"&&F.kind!==\"array\")if(D.kind!==\"variableAnchorOffsetCollection\"||F.kind!==\"value\"&&F.kind!==\"array\"){if(this.checkSubtype(D,F))return null}else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"assert\")}if(!(P instanceof Gl)&&P.type.kind!==\"resolvedImage\"&&this._isConstant(P)){let D=new yd;try{P=new Gl(P.type,P.evaluate(D))}catch(F){return this.error(F.message),null}}return P}return this.error(`Unknown expression \"${x}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(a===void 0?\"'undefined' value invalid. Use null instead.\":typeof a==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof a} instead.`)}concat(a,h,A){let x=typeof a==\"number\"?this.path.concat(a):this.path,E=A?this.scope.concat(A):this.scope;return new vd(this.registry,this._isConstant,x,h||null,E,this.errors)}error(a,...h){let A=`${this.key}${h.map(x=>`[${x}]`).join(\"\")}`;this.errors.push(new gn(A,a))}checkSubtype(a,h){let A=Dt(a,h);return A&&this.error(A),A}}class xd{constructor(a,h,A){this.type=sa,this.locale=A,this.caseSensitive=a,this.diacriticSensitive=h}static parse(a,h){if(a.length!==2)return h.error(\"Expected one argument.\");let A=a[1];if(typeof A!=\"object\"||Array.isArray(A))return h.error(\"Collator options argument must be an object.\");let x=h.parse(A[\"case-sensitive\"]!==void 0&&A[\"case-sensitive\"],1,gr);if(!x)return null;let E=h.parse(A[\"diacritic-sensitive\"]!==void 0&&A[\"diacritic-sensitive\"],1,gr);if(!E)return null;let P=null;return A.locale&&(P=h.parse(A.locale,1,Dr),!P)?null:new xd(x,E,P)}evaluate(a){return new ka(this.caseSensitive.evaluate(a),this.diacriticSensitive.evaluate(a),this.locale?this.locale.evaluate(a):null)}eachChild(a){a(this.caseSensitive),a(this.diacriticSensitive),this.locale&&a(this.locale)}outputDefined(){return!1}}let lt=8192;function ft(u,a){u[0]=Math.min(u[0],a[0]),u[1]=Math.min(u[1],a[1]),u[2]=Math.max(u[2],a[0]),u[3]=Math.max(u[3],a[1])}function Lt(u,a){return!(u[0]<=a[0]||u[2]>=a[2]||u[1]<=a[1]||u[3]>=a[3])}function Kt(u,a){let h=(180+u[0])/360,A=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,x=Math.pow(2,a.z);return[Math.round(h*x*lt),Math.round(A*x*lt)]}function ge(u,a,h){let A=u[0]-a[0],x=u[1]-a[1],E=u[0]-h[0],P=u[1]-h[1];return A*P-E*x==0&&A*E<=0&&x*P<=0}function Qe(u,a){let h=!1;for(let P=0,D=a.length;P(A=u)[1]!=(E=F[V+1])[1]>A[1]&&A[0]<(E[0]-x[0])*(A[1]-x[1])/(E[1]-x[1])+x[0]&&(h=!h)}}var A,x,E;return h}function ti(u,a){for(let h=0;h0&&D<0||P<0&&D>0}function Ts(u,a,h){for(let V of h)for(let q=0;qh[2]){let x=.5*A,E=u[0]-h[0]>x?-A:h[0]-u[0]>x?A:0;E===0&&(E=u[0]-h[2]>x?-A:h[2]-u[0]>x?A:0),u[0]+=E}ft(a,u)}function l_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let D of u)for(let F of D){let V=[F.x+E[0],F.y+E[1]];Bx(V,a,h,x),P.push(V)}return P}function c_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let F of u){let V=[];for(let q of F){let X=[q.x+E[0],q.y+E[1]];ft(a,X),V.push(X)}P.push(V)}if(a[2]-a[0]<=x/2){(D=a)[0]=D[1]=1/0,D[2]=D[3]=-1/0;for(let F of P)for(let V of F)Bx(V,a,h,x)}var D;return P}class gf{constructor(a,h){this.type=gr,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'within' expression requires exactly one argument, but found ${a.length-1} instead.`);if(jl(a[1])){let A=a[1];if(A.type===\"FeatureCollection\")for(let x=0;x!Array.isArray(V)||V.length===a.length-1),F=null;for(let[V,q]of D){F=new vd(h.registry,Wm,h.path,null,h.scope);let X=[],rt=!1;for(let at=1;at{return rt=X,Array.isArray(rt)?`(${rt.map(xt).join(\", \")})`:`(${xt(rt.type)}...)`;var rt}).join(\" | \"),q=[];for(let X=1;X{h=a?h&&Wm(A):h&&A instanceof Gl}),!!h&&Hm(u)&&qm(u,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Hm(u){if(u instanceof fl&&(u.name===\"get\"&&u.args.length===1||u.name===\"feature-state\"||u.name===\"has\"&&u.args.length===1||u.name===\"properties\"||u.name===\"geometry-type\"||u.name===\"id\"||/^filter-/.test(u.name))||u instanceof gf)return!1;let a=!0;return u.eachChild(h=>{a&&!Hm(h)&&(a=!1)}),a}function Wp(u){if(u instanceof fl&&u.name===\"feature-state\")return!1;let a=!0;return u.eachChild(h=>{a&&!Wp(h)&&(a=!1)}),a}function qm(u,a){if(u instanceof fl&&a.indexOf(u.name)>=0)return!1;let h=!0;return u.eachChild(A=>{h&&!qm(A,a)&&(h=!1)}),h}function bd(u,a){let h=u.length-1,A,x,E=0,P=h,D=0;for(;E<=P;)if(D=Math.floor((E+P)/2),A=u[D],x=u[D+1],A<=a){if(D===h||aa))throw new cn(\"Input is not a number.\");P=D-1}return 0}class sh{constructor(a,h,A){this.type=a,this.input=h,this.labels=[],this.outputs=[];for(let[x,E]of A)this.labels.push(x),this.outputs.push(E)}static parse(a,h){if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=[],E=null;h.expectedType&&h.expectedType.kind!==\"value\"&&(E=h.expectedType);for(let P=1;P=D)return h.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',V);let X=h.parse(F,q,E);if(!X)return null;E=E||X.type,x.push([D,X])}return new sh(E,A,x)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;return x>=h[E-1]?A[E-1].evaluate(a):A[bd(h,x)].evaluate(a)}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function ui(u,a,h){return u+h*(a-u)}function Zm(u,a,h){return u.map((A,x)=>ui(A,a[x],h))}let Da={number:ui,color:function(u,a,h,A=\"rgb\"){switch(A){case\"rgb\":{let[x,E,P,D]=Zm(u.rgb,a.rgb,h);return new ai(x,E,P,D,!1)}case\"hcl\":{let[x,E,P,D]=u.hcl,[F,V,q,X]=a.hcl,rt,at;if(isNaN(x)||isNaN(F))isNaN(x)?isNaN(F)?rt=NaN:(rt=F,P!==1&&P!==0||(at=V)):(rt=x,q!==1&&q!==0||(at=E));else{let jt=F-x;F>x&&jt>180?jt-=360:F180&&(jt+=360),rt=x+h*jt}let[ct,mt,bt,Pt]=function([jt,Rt,Gt,Yt]){return jt=isNaN(jt)?0:jt*wr,Bi([Gt,Math.cos(jt)*Rt,Math.sin(jt)*Rt,Yt])}([rt,at??ui(E,V,h),ui(P,q,h),ui(D,X,h)]);return new ai(ct,mt,bt,Pt,!1)}case\"lab\":{let[x,E,P,D]=Bi(Zm(u.lab,a.lab,h));return new ai(x,E,P,D,!1)}}},array:Zm,padding:function(u,a,h){return new Dn(Zm(u.values,a.values,h))},variableAnchorOffsetCollection:function(u,a,h){let A=u.values,x=a.values;if(A.length!==x.length)throw new cn(`Cannot interpolate values of different length. from: ${u.toString()}, to: ${a.toString()}`);let E=[];for(let P=0;Ptypeof q!=\"number\"||q<0||q>1))return h.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);x={name:\"cubic-bezier\",controlPoints:V}}}if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");if(E=h.parse(E,2,Te),!E)return null;let D=[],F=null;A===\"interpolate-hcl\"||A===\"interpolate-lab\"?F=Us:h.expectedType&&h.expectedType.kind!==\"value\"&&(F=h.expectedType);for(let V=0;V=q)return h.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',rt);let ct=h.parse(X,at,F);if(!ct)return null;F=F||ct.type,D.push([q,ct])}return ie(F,Te)||ie(F,Us)||ie(F,tt)||ie(F,ht)||ie(F,vt(Te))?new Oa(F,A,x,E,D):h.error(`Type ${xt(F)} is not interpolatable.`)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;if(x>=h[E-1])return A[E-1].evaluate(a);let P=bd(h,x),D=Oa.interpolationFactor(this.interpolation,x,h[P],h[P+1]),F=A[P].evaluate(a),V=A[P+1].evaluate(a);switch(this.operator){case\"interpolate\":return Da[this.type.kind](F,V,D);case\"interpolate-hcl\":return Da.color(F,V,D,\"hcl\");case\"interpolate-lab\":return Da.color(F,V,D,\"lab\")}}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function u_(u,a,h,A){let x=A-h,E=u-h;return x===0?0:a===1?E/x:(Math.pow(a,E)-1)/(Math.pow(a,x)-1)}class Ym{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expectected at least one argument.\");let A=null,x=h.expectedType;x&&x.kind!==\"value\"&&(A=x);let E=[];for(let D of a.slice(1)){let F=h.parse(D,1+E.length,A,void 0,{typeAnnotation:\"omit\"});if(!F)return null;A=A||F.type,E.push(F)}if(!A)throw new Error(\"No output type\");let P=x&&E.some(D=>Dt(x,D.type));return new Ym(P?Mr:A,E)}evaluate(a){let h,A=null,x=0;for(let E of this.args)if(x++,A=E.evaluate(a),A&&A instanceof Gn&&!A.available&&(h||(h=A.name),A=null,x===this.args.length&&(A=h)),A!==null)break;return A}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}class Qm{constructor(a,h){this.type=h.type,this.bindings=[].concat(a),this.result=h}evaluate(a){return this.result.evaluate(a)}eachChild(a){for(let h of this.bindings)a(h[1]);a(this.result)}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found ${a.length-1} instead.`);let A=[];for(let E=1;E=A.length)throw new cn(`Array index out of bounds: ${h} > ${A.length-1}.`);if(h!==Math.floor(h))throw new cn(`Array index must be an integer, but found ${h} instead.`);return A[h]}eachChild(a){a(this.index),a(this.input)}outputDefined(){return!1}}class $m{constructor(a,h){this.type=gr,this.needle=a,this.haystack=h}static parse(a,h){if(a.length!==3)return h.error(`Expected 2 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);return A&&x?Mt(A.type,[gr,Dr,Te,Ca,Mr])?new $m(A,x):h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`):null}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!A)return!1;if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);return A.indexOf(h)>=0}eachChild(a){a(this.needle),a(this.haystack)}outputDefined(){return!0}}class qp{constructor(a,h,A){this.type=Te,this.needle=a,this.haystack=h,this.fromIndex=A}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);if(!A||!x)return null;if(!Mt(A.type,[gr,Dr,Te,Ca,Mr]))return h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new qp(A,x,E):null}return new qp(A,x)}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);if(this.fromIndex){let x=this.fromIndex.evaluate(a);return A.indexOf(h,x)}return A.indexOf(h)}eachChild(a){a(this.needle),a(this.haystack),this.fromIndex&&a(this.fromIndex)}outputDefined(){return!1}}class wd{constructor(a,h,A,x,E,P){this.inputType=a,this.type=h,this.input=A,this.cases=x,this.outputs=E,this.otherwise=P}static parse(a,h){if(a.length<5)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if(a.length%2!=1)return h.error(\"Expected an even number of arguments.\");let A,x;h.expectedType&&h.expectedType.kind!==\"value\"&&(x=h.expectedType);let E={},P=[];for(let V=2;VNumber.MAX_SAFE_INTEGER)return rt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ct==\"number\"&&Math.floor(ct)!==ct)return rt.error(\"Numeric branch labels must be integer values.\");if(A){if(rt.checkSubtype(A,Ki(ct)))return null}else A=Ki(ct);if(E[String(ct)]!==void 0)return rt.error(\"Branch labels must be unique.\");E[String(ct)]=P.length}let at=h.parse(X,V,x);if(!at)return null;x=x||at.type,P.push(at)}let D=h.parse(a[1],1,Mr);if(!D)return null;let F=h.parse(a[a.length-1],a.length-1,x);return F?D.type.kind!==\"value\"&&h.concat(1).checkSubtype(A,D.type)?null:new wd(A,x,D,E,P,F):null}evaluate(a){let h=this.input.evaluate(a);return(Ki(h)===this.inputType&&this.outputs[this.cases[h]]||this.otherwise).evaluate(a)}eachChild(a){a(this.input),this.outputs.forEach(a),a(this.otherwise)}outputDefined(){return this.outputs.every(a=>a.outputDefined())&&this.otherwise.outputDefined()}}class Zp{constructor(a,h,A){this.type=a,this.branches=h,this.otherwise=A}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found only ${a.length-1}.`);if(a.length%2!=0)return h.error(\"Expected an odd number of arguments.\");let A;h.expectedType&&h.expectedType.kind!==\"value\"&&(A=h.expectedType);let x=[];for(let P=1;Ph.outputDefined())&&this.otherwise.outputDefined()}}class Sd{constructor(a,h,A,x){this.type=a,this.input=h,this.beginIndex=A,this.endIndex=x}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Te);if(!A||!x)return null;if(!Mt(A.type,[vt(Mr),Dr,Mr]))return h.error(`Expected first argument to be of type array or string, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new Sd(A.type,A,x,E):null}return new Sd(A.type,A,x)}evaluate(a){let h=this.input.evaluate(a),A=this.beginIndex.evaluate(a);if(!Vt(h,[\"string\",\"array\"]))throw new cn(`Expected first argument to be of type array or string, but found ${xt(Ki(h))} instead.`);if(this.endIndex){let x=this.endIndex.evaluate(a);return h.slice(A,x)}return h.slice(A)}eachChild(a){a(this.input),a(this.beginIndex),this.endIndex&&a(this.endIndex)}outputDefined(){return!1}}function Xm(u,a){return u===\"==\"||u===\"!=\"?a.kind===\"boolean\"||a.kind===\"string\"||a.kind===\"number\"||a.kind===\"null\"||a.kind===\"value\":a.kind===\"string\"||a.kind===\"number\"||a.kind===\"value\"}function Td(u,a,h,A){return A.compare(a,h)===0}function Au(u,a,h){let A=u!==\"==\"&&u!==\"!=\";return class tU{constructor(E,P,D){this.type=gr,this.lhs=E,this.rhs=P,this.collator=D,this.hasUntypedArgument=E.type.kind===\"value\"||P.type.kind===\"value\"}static parse(E,P){if(E.length!==3&&E.length!==4)return P.error(\"Expected two or three arguments.\");let D=E[0],F=P.parse(E[1],1,Mr);if(!F)return null;if(!Xm(D,F.type))return P.concat(1).error(`\"${D}\" comparisons are not supported for type '${xt(F.type)}'.`);let V=P.parse(E[2],2,Mr);if(!V)return null;if(!Xm(D,V.type))return P.concat(2).error(`\"${D}\" comparisons are not supported for type '${xt(V.type)}'.`);if(F.type.kind!==V.type.kind&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(`Cannot compare types '${xt(F.type)}' and '${xt(V.type)}'.`);A&&(F.type.kind===\"value\"&&V.type.kind!==\"value\"?F=new rs(V.type,[F]):F.type.kind!==\"value\"&&V.type.kind===\"value\"&&(V=new rs(F.type,[V])));let q=null;if(E.length===4){if(F.type.kind!==\"string\"&&V.type.kind!==\"string\"&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(\"Cannot use collator to compare non-string types.\");if(q=P.parse(E[3],3,sa),!q)return null}return new tU(F,V,q)}evaluate(E){let P=this.lhs.evaluate(E),D=this.rhs.evaluate(E);if(A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==V.kind||F.kind!==\"string\"&&F.kind!==\"number\")throw new cn(`Expected arguments for \"${u}\" to be (string, string) or (number, number), but found (${F.kind}, ${V.kind}) instead.`)}if(this.collator&&!A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==\"string\"||V.kind!==\"string\")return a(E,P,D)}return this.collator?h(E,P,D,this.collator.evaluate(E)):a(E,P,D)}eachChild(E){E(this.lhs),E(this.rhs),this.collator&&E(this.collator)}outputDefined(){return!0}}}let oh=Au(\"==\",function(u,a,h){return a===h},Td),Zt=Au(\"!=\",function(u,a,h){return a!==h},function(u,a,h,A){return!Td(0,a,h,A)}),fe=Au(\"<\",function(u,a,h){return a\",function(u,a,h){return a>h},function(u,a,h,A){return A.compare(a,h)>0}),br=Au(\"<=\",function(u,a,h){return a<=h},function(u,a,h,A){return A.compare(a,h)<=0}),g=Au(\">=\",function(u,a,h){return a>=h},function(u,a,h,A){return A.compare(a,h)>=0});class Vi{constructor(a,h,A,x,E){this.type=Dr,this.number=a,this.locale=h,this.currency=A,this.minFractionDigits=x,this.maxFractionDigits=E}static parse(a,h){if(a.length!==3)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=a[2];if(typeof x!=\"object\"||Array.isArray(x))return h.error(\"NumberFormat options argument must be an object.\");let E=null;if(x.locale&&(E=h.parse(x.locale,1,Dr),!E))return null;let P=null;if(x.currency&&(P=h.parse(x.currency,1,Dr),!P))return null;let D=null;if(x[\"min-fraction-digits\"]&&(D=h.parse(x[\"min-fraction-digits\"],1,Te),!D))return null;let F=null;return x[\"max-fraction-digits\"]&&(F=h.parse(x[\"max-fraction-digits\"],1,Te),!F)?null:new Vi(A,E,P,D,F)}evaluate(a){return new Intl.NumberFormat(this.locale?this.locale.evaluate(a):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(a):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(a):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(a):void 0}).format(this.number.evaluate(a))}eachChild(a){a(this.number),this.locale&&a(this.locale),this.currency&&a(this.currency),this.minFractionDigits&&a(this.minFractionDigits),this.maxFractionDigits&&a(this.maxFractionDigits)}outputDefined(){return!1}}class Ti{constructor(a){this.type=gt,this.sections=a}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[1];if(!Array.isArray(A)&&typeof A==\"object\")return h.error(\"First argument must be an image or text section.\");let x=[],E=!1;for(let P=1;P<=a.length-1;++P){let D=a[P];if(E&&typeof D==\"object\"&&!Array.isArray(D)){E=!1;let F=null;if(D[\"font-scale\"]&&(F=h.parse(D[\"font-scale\"],1,Te),!F))return null;let V=null;if(D[\"text-font\"]&&(V=h.parse(D[\"text-font\"],1,vt(Dr)),!V))return null;let q=null;if(D[\"text-color\"]&&(q=h.parse(D[\"text-color\"],1,Us),!q))return null;let X=x[x.length-1];X.scale=F,X.font=V,X.textColor=q}else{let F=h.parse(a[P],1,Mr);if(!F)return null;let V=F.type.kind;if(V!==\"string\"&&V!==\"value\"&&V!==\"null\"&&V!==\"resolvedImage\")return h.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");E=!0,x.push({content:F,scale:null,font:null,textColor:null})}}return new Ti(x)}evaluate(a){return new ln(this.sections.map(h=>{let A=h.content.evaluate(a);return Ki(A)===nt?new Dc(\"\",A,null,null,null):new Dc(_i(A),null,h.scale?h.scale.evaluate(a):null,h.font?h.font.evaluate(a).join(\",\"):null,h.textColor?h.textColor.evaluate(a):null)}))}eachChild(a){for(let h of this.sections)a(h.content),h.scale&&a(h.scale),h.font&&a(h.font),h.textColor&&a(h.textColor)}outputDefined(){return!1}}class Tt{constructor(a){this.type=nt,this.input=a}static parse(a,h){if(a.length!==2)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Dr);return A?new Tt(A):h.error(\"No image name provided.\")}evaluate(a){let h=this.input.evaluate(a),A=Gn.fromString(h);return A&&a.availableImages&&(A.available=a.availableImages.indexOf(h)>-1),A}eachChild(a){a(this.input)}outputDefined(){return!1}}class Ms{constructor(a){this.type=Te,this.input=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=h.parse(a[1],1);return A?A.type.kind!==\"array\"&&A.type.kind!==\"string\"&&A.type.kind!==\"value\"?h.error(`Expected argument of type string or array, but found ${xt(A.type)} instead.`):new Ms(A):null}evaluate(a){let h=this.input.evaluate(a);if(typeof h==\"string\"||Array.isArray(h))return h.length;throw new cn(`Expected value to be of type string or array, but found ${xt(Ki(h))} instead.`)}eachChild(a){a(this.input)}outputDefined(){return!1}}let cs={\"==\":oh,\"!=\":Zt,\">\":Be,\"<\":fe,\">=\":g,\"<=\":br,array:rs,at:Hp,boolean:rs,case:Zp,coalesce:Ym,collator:xd,format:Ti,image:Tt,in:$m,\"index-of\":qp,interpolate:Oa,\"interpolate-hcl\":Oa,\"interpolate-lab\":Oa,length:Ms,let:Qm,literal:Gl,match:wd,number:rs,\"number-format\":Vi,object:rs,slice:Sd,step:sh,string:rs,\"to-boolean\":Wl,\"to-color\":Wl,\"to-number\":Wl,\"to-string\":Wl,var:Gm,within:gf};function li(u,[a,h,A,x]){a=a.evaluate(u),h=h.evaluate(u),A=A.evaluate(u);let E=x?x.evaluate(u):1,P=So(a,h,A,E);if(P)throw new cn(P);return new ai(a/255,h/255,A/255,E,!1)}function bn(u,a){return u in a}function dl(u,a){let h=a[u];return h===void 0?null:h}function Ur(u){return{type:u}}function hi(u){return{result:\"success\",value:u}}function To(u){return{result:\"error\",value:u}}function _f(u){return u[\"property-type\"]===\"data-driven\"||u[\"property-type\"]===\"cross-faded-data-driven\"}function h_(u){return!!u.expression&&u.expression.parameters.indexOf(\"zoom\")>-1}function Md(u){return!!u.expression&&u.expression.interpolated}function qr(u){return u instanceof Number?\"number\":u instanceof String?\"string\":u instanceof Boolean?\"boolean\":Array.isArray(u)?\"array\":u===null?\"null\":typeof u}function Ji(u){return typeof u==\"object\"&&u!==null&&!Array.isArray(u)}function Oc(u){return u}function ci(u,a){let h=a.type===\"color\",A=u.stops&&typeof u.stops[0][0]==\"object\",x=A||!(A||u.property!==void 0),E=u.type||(Md(a)?\"exponential\":\"interval\");if(h||a.type===\"padding\"){let q=h?ai.parse:Dn.parse;(u=jo({},u)).stops&&(u.stops=u.stops.map(X=>[X[0],q(X[1])])),u.default=q(u.default?u.default:a.default)}if(u.colorSpace&&(P=u.colorSpace)!==\"rgb\"&&P!==\"hcl\"&&P!==\"lab\")throw new Error(`Unknown color space: \"${u.colorSpace}\"`);var P;let D,F,V;if(E===\"exponential\")D=Mi;else if(E===\"interval\")D=It;else if(E===\"categorical\"){D=Je,F=Object.create(null);for(let q of u.stops)F[q[0]]=q[1];V=typeof u.stops[0][0]}else{if(E!==\"identity\")throw new Error(`Unknown function type \"${E}\"`);D=Km}if(A){let q={},X=[];for(let ct=0;ctct[0]),evaluate:({zoom:ct},mt)=>Mi({stops:rt,base:u.base},a,ct).evaluate(ct,mt)}}if(x){let q=E===\"exponential\"?{name:\"exponential\",base:u.base!==void 0?u.base:1}:null;return{kind:\"camera\",interpolationType:q,interpolationFactor:Oa.interpolationFactor.bind(void 0,q),zoomStops:u.stops.map(X=>X[0]),evaluate:({zoom:X})=>D(u,a,X,F,V)}}return{kind:\"source\",evaluate(q,X){let rt=X&&X.properties?X.properties[u.property]:void 0;return rt===void 0?aa(u.default,a.default):D(u,a,rt,F,V)}}}function aa(u,a,h){return u!==void 0?u:a!==void 0?a:h!==void 0?h:void 0}function Je(u,a,h,A,x){return aa(typeof h===x?A[h]:void 0,u.default,a.default)}function It(u,a,h){if(qr(h)!==\"number\")return aa(u.default,a.default);let A=u.stops.length;if(A===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[A-1][0])return u.stops[A-1][1];let x=bd(u.stops.map(E=>E[0]),h);return u.stops[x][1]}function Mi(u,a,h){let A=u.base!==void 0?u.base:1;if(qr(h)!==\"number\")return aa(u.default,a.default);let x=u.stops.length;if(x===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[x-1][0])return u.stops[x-1][1];let E=bd(u.stops.map(q=>q[0]),h),P=function(q,X,rt,at){let ct=at-rt,mt=q-rt;return ct===0?0:X===1?mt/ct:(Math.pow(X,mt)-1)/(Math.pow(X,ct)-1)}(h,A,u.stops[E][0],u.stops[E+1][0]),D=u.stops[E][1],F=u.stops[E+1][1],V=Da[a.type]||Oc;return typeof D.evaluate==\"function\"?{evaluate(...q){let X=D.evaluate.apply(void 0,q),rt=F.evaluate.apply(void 0,q);if(X!==void 0&&rt!==void 0)return V(X,rt,P,u.colorSpace)}}:V(D,F,P,u.colorSpace)}function Km(u,a,h){switch(a.type){case\"color\":h=ai.parse(h);break;case\"formatted\":h=ln.fromString(h.toString());break;case\"resolvedImage\":h=Gn.fromString(h.toString());break;case\"padding\":h=Dn.parse(h);break;default:qr(h)===a.type||a.type===\"enum\"&&a.values[h]||(h=void 0)}return aa(h,u.default,a.default)}fl.register(cs,{error:[{kind:\"error\"},[Dr],(u,[a])=>{throw new cn(a.evaluate(u))}],typeof:[Dr,[Mr],(u,[a])=>xt(Ki(a.evaluate(u)))],\"to-rgba\":[vt(Te,4),[Us],(u,[a])=>{let[h,A,x,E]=a.evaluate(u).rgb;return[255*h,255*A,255*x,E]}],rgb:[Us,[Te,Te,Te],li],rgba:[Us,[Te,Te,Te,Te],li],has:{type:gr,overloads:[[[Dr],(u,[a])=>bn(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>bn(a.evaluate(u),h.evaluate(u))]]},get:{type:Mr,overloads:[[[Dr],(u,[a])=>dl(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>dl(a.evaluate(u),h.evaluate(u))]]},\"feature-state\":[Mr,[Dr],(u,[a])=>dl(a.evaluate(u),u.featureState||{})],properties:[La,[],u=>u.properties()],\"geometry-type\":[Dr,[],u=>u.geometryType()],id:[Mr,[],u=>u.id()],zoom:[Te,[],u=>u.globals.zoom],\"heatmap-density\":[Te,[],u=>u.globals.heatmapDensity||0],\"line-progress\":[Te,[],u=>u.globals.lineProgress||0],accumulated:[Mr,[],u=>u.globals.accumulated===void 0?null:u.globals.accumulated],\"+\":[Te,Ur(Te),(u,a)=>{let h=0;for(let A of a)h+=A.evaluate(u);return h}],\"*\":[Te,Ur(Te),(u,a)=>{let h=1;for(let A of a)h*=A.evaluate(u);return h}],\"-\":{type:Te,overloads:[[[Te,Te],(u,[a,h])=>a.evaluate(u)-h.evaluate(u)],[[Te],(u,[a])=>-a.evaluate(u)]]},\"/\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)/h.evaluate(u)],\"%\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)%h.evaluate(u)],ln2:[Te,[],()=>Math.LN2],pi:[Te,[],()=>Math.PI],e:[Te,[],()=>Math.E],\"^\":[Te,[Te,Te],(u,[a,h])=>Math.pow(a.evaluate(u),h.evaluate(u))],sqrt:[Te,[Te],(u,[a])=>Math.sqrt(a.evaluate(u))],log10:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN10],ln:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))],log2:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN2],sin:[Te,[Te],(u,[a])=>Math.sin(a.evaluate(u))],cos:[Te,[Te],(u,[a])=>Math.cos(a.evaluate(u))],tan:[Te,[Te],(u,[a])=>Math.tan(a.evaluate(u))],asin:[Te,[Te],(u,[a])=>Math.asin(a.evaluate(u))],acos:[Te,[Te],(u,[a])=>Math.acos(a.evaluate(u))],atan:[Te,[Te],(u,[a])=>Math.atan(a.evaluate(u))],min:[Te,Ur(Te),(u,a)=>Math.min(...a.map(h=>h.evaluate(u)))],max:[Te,Ur(Te),(u,a)=>Math.max(...a.map(h=>h.evaluate(u)))],abs:[Te,[Te],(u,[a])=>Math.abs(a.evaluate(u))],round:[Te,[Te],(u,[a])=>{let h=a.evaluate(u);return h<0?-Math.round(-h):Math.round(h)}],floor:[Te,[Te],(u,[a])=>Math.floor(a.evaluate(u))],ceil:[Te,[Te],(u,[a])=>Math.ceil(a.evaluate(u))],\"filter-==\":[gr,[Dr,Mr],(u,[a,h])=>u.properties()[a.value]===h.value],\"filter-id-==\":[gr,[Mr],(u,[a])=>u.id()===a.value],\"filter-type-==\":[gr,[Dr],(u,[a])=>u.geometryType()===a.value],\"filter-<\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A{let h=u.id(),A=a.value;return typeof h==typeof A&&h\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>x}],\"filter-id->\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>A}],\"filter-<=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A<=x}],\"filter-id-<=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h<=A}],\"filter->=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>=x}],\"filter-id->=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>=A}],\"filter-has\":[gr,[Mr],(u,[a])=>a.value in u.properties()],\"filter-has-id\":[gr,[],u=>u.id()!==null&&u.id()!==void 0],\"filter-type-in\":[gr,[vt(Dr)],(u,[a])=>a.value.indexOf(u.geometryType())>=0],\"filter-id-in\":[gr,[vt(Mr)],(u,[a])=>a.value.indexOf(u.id())>=0],\"filter-in-small\":[gr,[Dr,vt(Mr)],(u,[a,h])=>h.value.indexOf(u.properties()[a.value])>=0],\"filter-in-large\":[gr,[Dr,vt(Mr)],(u,[a,h])=>function(A,x,E,P){for(;E<=P;){let D=E+P>>1;if(x[D]===A)return!0;x[D]>A?P=D-1:E=D+1}return!1}(u.properties()[a.value],h.value,0,h.value.length-1)],all:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)&&h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(!h.evaluate(u))return!1;return!0}]]},any:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)||h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(h.evaluate(u))return!0;return!1}]]},\"!\":[gr,[gr],(u,[a])=>!a.evaluate(u)],\"is-supported-script\":[gr,[Dr],(u,[a])=>{let h=u.globals&&u.globals.isSupportedScript;return!h||h(a.evaluate(u))}],upcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toUpperCase()],downcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toLowerCase()],concat:[Dr,Ur(Mr),(u,a)=>a.map(h=>_i(h.evaluate(u))).join(\"\")],\"resolved-locale\":[Dr,[sa],(u,[a])=>a.evaluate(u).resolvedLocale()]});class Jm{constructor(a,h){var A;this.expression=a,this._warningHistory={},this._evaluator=new yd,this._defaultValue=h?(A=h).type===\"color\"&&Ji(A.default)?new ai(0,0,0,0):A.type===\"color\"?ai.parse(A.default)||null:A.type===\"padding\"?Dn.parse(A.default)||null:A.type===\"variableAnchorOffsetCollection\"?Go.parse(A.default)||null:A.default===void 0?null:A.default:null,this._enumValues=h&&h.type===\"enum\"?h.values:null}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._evaluator.globals=a,this._evaluator.feature=h,this._evaluator.featureState=A,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P,this.expression.evaluate(this._evaluator)}evaluate(a,h,A,x,E,P){this._evaluator.globals=a,this._evaluator.feature=h||null,this._evaluator.featureState=A||null,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P||null;try{let D=this.expression.evaluate(this._evaluator);if(D==null||typeof D==\"number\"&&D!=D)return this._defaultValue;if(this._enumValues&&!(D in this._enumValues))throw new cn(`Expected value to be one of ${Object.keys(this._enumValues).map(F=>JSON.stringify(F)).join(\", \")}, but found ${JSON.stringify(D)} instead.`);return D}catch(D){return this._warningHistory[D.message]||(this._warningHistory[D.message]=!0,typeof console<\"u\"&&console.warn(D.message)),this._defaultValue}}}function Yp(u){return Array.isArray(u)&&u.length>0&&typeof u[0]==\"string\"&&u[0]in cs}function Qp(u,a){let h=new vd(cs,Wm,[],a?function(x){let E={color:Us,string:Dr,number:Te,enum:Dr,boolean:gr,formatted:gt,padding:tt,resolvedImage:nt,variableAnchorOffsetCollection:ht};return x.type===\"array\"?vt(E[x.value]||Mr,x.length):E[x.type]}(a):void 0),A=h.parse(u,void 0,void 0,void 0,a&&a.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return A?hi(new Jm(A,a)):To(h.errors)}class t0{constructor(a,h){this.kind=a,this._styleExpression=h,this.isStateDependent=a!==\"constant\"&&!Wp(h.expression)}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}}class wt{constructor(a,h,A,x){this.kind=a,this.zoomStops=A,this._styleExpression=h,this.isStateDependent=a!==\"camera\"&&!Wp(h.expression),this.interpolationType=x}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}interpolationFactor(a,h,A){return this.interpolationType?Oa.interpolationFactor(this.interpolationType,a,h,A):0}}function e0(u,a){let h=Qp(u,a);if(h.result===\"error\")return h;let A=h.value.expression,x=Hm(A);if(!x&&!_f(a))return To([new gn(\"\",\"data expressions not supported\")]);let E=qm(A,[\"zoom\"]);if(!E&&!h_(a))return To([new gn(\"\",\"zoom expressions not supported\")]);let P=Pd(A);return P||E?P instanceof gn?To([P]):P instanceof Oa&&!Md(a)?To([new gn(\"\",'\"interpolate\" expressions cannot be used with this property')]):hi(P?new wt(x?\"camera\":\"composite\",h.value,P.labels,P instanceof Oa?P.interpolation:void 0):new t0(x?\"constant\":\"source\",h.value)):To([new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Ed{constructor(a,h){this._parameters=a,this._specification=h,jo(this,ci(this._parameters,this._specification))}static deserialize(a){return new Ed(a._parameters,a._specification)}static serialize(a){return{_parameters:a._parameters,_specification:a._specification}}}function Pd(u){let a=null;if(u instanceof Qm)a=Pd(u.result);else if(u instanceof Ym){for(let h of u.args)if(a=Pd(h),a)break}else(u instanceof sh||u instanceof Oa)&&u.input instanceof fl&&u.input.name===\"zoom\"&&(a=u);return a instanceof gn||u.eachChild(h=>{let A=Pd(h);A instanceof gn?a=A:!a&&A?a=new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):a&&A&&a!==A&&(a=new gn(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),a}function Id(u){if(u===!0||u===!1)return!0;if(!Array.isArray(u)||u.length===0)return!1;switch(u[0]){case\"has\":return u.length>=2&&u[1]!==\"$id\"&&u[1]!==\"$type\";case\"in\":return u.length>=3&&(typeof u[1]!=\"string\"||Array.isArray(u[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return u.length!==3||Array.isArray(u[1])||Array.isArray(u[2]);case\"any\":case\"all\":for(let a of u.slice(1))if(!Id(a)&&typeof a!=\"boolean\")return!1;return!0;default:return!0}}let Fx={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function r0(u){if(u==null)return{filter:()=>!0,needGeometry:!1};Id(u)||(u=yf(u));let a=Qp(u,Fx);if(a.result===\"error\")throw new Error(a.value.map(h=>`${h.key}: ${h.message}`).join(\", \"));return{filter:(h,A,x)=>a.value.evaluate(h,A,{},x),needGeometry:d_(u)}}function f_(u,a){return ua?1:0}function d_(u){if(!Array.isArray(u))return!1;if(u[0]===\"within\")return!0;for(let a=1;a\"||a===\"<=\"||a===\">=\"?Ba(u[1],u[2],a):a===\"any\"?(h=u.slice(1),[\"any\"].concat(h.map(yf))):a===\"all\"?[\"all\"].concat(u.slice(1).map(yf)):a===\"none\"?[\"all\"].concat(u.slice(1).map(yf).map(Cd)):a===\"in\"?Wn(u[1],u.slice(2)):a===\"!in\"?Cd(Wn(u[1],u.slice(2))):a===\"has\"?p_(u[1]):a===\"!has\"?Cd(p_(u[1])):a!==\"within\"||u;var h}function Ba(u,a,h){switch(u){case\"$type\":return[`filter-type-${h}`,a];case\"$id\":return[`filter-id-${h}`,a];default:return[`filter-${h}`,u,a]}}function Wn(u,a){if(a.length===0)return!1;switch(u){case\"$type\":return[\"filter-type-in\",[\"literal\",a]];case\"$id\":return[\"filter-id-in\",[\"literal\",a]];default:return a.length>200&&!a.some(h=>typeof h!=typeof a[0])?[\"filter-in-large\",u,[\"literal\",a.sort(f_)]]:[\"filter-in-small\",u,[\"literal\",a]]}}function p_(u){switch(u){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",u]}}function Cd(u){return[\"!\",u]}function $p(u){let a=typeof u;if(a===\"number\"||a===\"boolean\"||a===\"string\"||u==null)return JSON.stringify(u);if(Array.isArray(u)){let x=\"[\";for(let E of u)x+=`${$p(E)},`;return`${x}]`}let h=Object.keys(u).sort(),A=\"{\";for(let x=0;xA.maximum?[new ve(a,h,`${h} is greater than the maximum value ${A.maximum}`)]:[]}function Kp(u){let a=u.valueSpec,h=Cn(u.value.type),A,x,E,P={},D=h!==\"categorical\"&&u.value.property===void 0,F=!D,V=qr(u.value.stops)===\"array\"&&qr(u.value.stops[0])===\"array\"&&qr(u.value.stops[0][0])===\"object\",q=fi({key:u.key,value:u.value,valueSpec:u.styleSpec.function,validateSpec:u.validateSpec,style:u.style,styleSpec:u.styleSpec,objectElementValidators:{stops:function(at){if(h===\"identity\")return[new ve(at.key,at.value,'identity function may not have a \"stops\" property')];let ct=[],mt=at.value;return ct=ct.concat(mu({key:at.key,value:mt,valueSpec:at.valueSpec,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,arrayElementValidator:X})),qr(mt)===\"array\"&&mt.length===0&&ct.push(new ve(at.key,mt,\"array must have at least one stop\")),ct},default:function(at){return at.validateSpec({key:at.key,value:at.value,valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec})}}});return h===\"identity\"&&D&&q.push(new ve(u.key,u.value,'missing required property \"property\"')),h===\"identity\"||u.value.stops||q.push(new ve(u.key,u.value,'missing required property \"stops\"')),h===\"exponential\"&&u.valueSpec.expression&&!Md(u.valueSpec)&&q.push(new ve(u.key,u.value,\"exponential functions not supported\")),u.styleSpec.$version>=8&&(F&&!_f(u.valueSpec)?q.push(new ve(u.key,u.value,\"property functions not supported\")):D&&!h_(u.valueSpec)&&q.push(new ve(u.key,u.value,\"zoom functions not supported\"))),h!==\"categorical\"&&!V||u.value.property!==void 0||q.push(new ve(u.key,u.value,'\"property\" property is required')),q;function X(at){let ct=[],mt=at.value,bt=at.key;if(qr(mt)!==\"array\")return[new ve(bt,mt,`array expected, ${qr(mt)} found`)];if(mt.length!==2)return[new ve(bt,mt,`array length 2 expected, length ${mt.length} found`)];if(V){if(qr(mt[0])!==\"object\")return[new ve(bt,mt,`object expected, ${qr(mt[0])} found`)];if(mt[0].zoom===void 0)return[new ve(bt,mt,\"object stop key must have zoom\")];if(mt[0].value===void 0)return[new ve(bt,mt,\"object stop key must have value\")];if(E&&E>Cn(mt[0].zoom))return[new ve(bt,mt[0].zoom,\"stop zoom values must appear in ascending order\")];Cn(mt[0].zoom)!==E&&(E=Cn(mt[0].zoom),x=void 0,P={}),ct=ct.concat(fi({key:`${bt}[0]`,value:mt[0],valueSpec:{zoom:{}},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,objectElementValidators:{zoom:vf,value:rt}}))}else ct=ct.concat(rt({key:`${bt}[0]`,value:mt[0],valueSpec:{},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec},mt));return Yp(ah(mt[1]))?ct.concat([new ve(`${bt}[1]`,mt[1],\"expressions are not allowed in function stops.\")]):ct.concat(at.validateSpec({key:`${bt}[1]`,value:mt[1],valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec}))}function rt(at,ct){let mt=qr(at.value),bt=Cn(at.value),Pt=at.value!==null?at.value:ct;if(A){if(mt!==A)return[new ve(at.key,Pt,`${mt} stop domain type must match previous stop domain type ${A}`)]}else A=mt;if(mt!==\"number\"&&mt!==\"string\"&&mt!==\"boolean\")return[new ve(at.key,Pt,\"stop domain value must be a number, string, or boolean\")];if(mt!==\"number\"&&h!==\"categorical\"){let jt=`number expected, ${mt} found`;return _f(a)&&h===void 0&&(jt+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ve(at.key,Pt,jt)]}return h!==\"categorical\"||mt!==\"number\"||isFinite(bt)&&Math.floor(bt)===bt?h!==\"categorical\"&&mt===\"number\"&&x!==void 0&&btnew ve(`${u.key}${A.key}`,u.value,A.message));let h=a.value.expression||a.value._styleExpression.expression;if(u.expressionContext===\"property\"&&u.propertyKey===\"text-font\"&&!h.outputDefined())return[new ve(u.key,u.value,`Invalid data expression for \"${u.propertyKey}\". Output values must be contained as literals within the expression.`)];if(u.expressionContext===\"property\"&&u.propertyType===\"layout\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(u.expressionContext===\"filter\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with filters.')];if(u.expressionContext&&u.expressionContext.indexOf(\"cluster\")===0){if(!qm(h,[\"zoom\",\"feature-state\"]))return[new ve(u.key,u.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(u.expressionContext===\"cluster-initial\"&&!Hm(h))return[new ve(u.key,u.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ld(u){let a=u.key,h=u.value,A=u.valueSpec,x=[];return Array.isArray(A.values)?A.values.indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${A.values.join(\", \")}], ${JSON.stringify(h)} found`)):Object.keys(A.values).indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${Object.keys(A.values).join(\", \")}], ${JSON.stringify(h)} found`)),x}function ch(u){return Id(ah(u.value))?lh(jo({},u,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Jp(u)}function Jp(u){let a=u.value,h=u.key;if(qr(a)!==\"array\")return[new ve(h,a,`array expected, ${qr(a)} found`)];let A=u.styleSpec,x,E=[];if(a.length<1)return[new ve(h,a,\"filter array must have at least 1 element\")];switch(E=E.concat(Ld({key:`${h}[0]`,value:a[0],valueSpec:A.filter_operator,style:u.style,styleSpec:u.styleSpec})),Cn(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&Cn(a[1])===\"$type\"&&E.push(new ve(h,a,`\"$type\" cannot be use with operator \"${a[0]}\"`));case\"==\":case\"!=\":a.length!==3&&E.push(new ve(h,a,`filter array for operator \"${a[0]}\" must have 3 elements`));case\"in\":case\"!in\":a.length>=2&&(x=qr(a[1]),x!==\"string\"&&E.push(new ve(`${h}[1]`,a[1],`string expected, ${x} found`)));for(let P=2;P{V in h&&a.push(new ve(A,h[V],`\"${V}\" is prohibited for ref layers`))}),x.layers.forEach(V=>{Cn(V.id)===D&&(F=V)}),F?F.ref?a.push(new ve(A,h.ref,\"ref cannot reference another ref layer\")):P=Cn(F.type):a.push(new ve(A,h.ref,`ref layer \"${D}\" not found`))}else if(P!==\"background\")if(h.source){let F=x.sources&&x.sources[h.source],V=F&&Cn(F.type);F?V===\"vector\"&&P===\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster source`)):V!==\"raster-dem\"&&P===\"hillshade\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster-dem source`)):V===\"raster\"&&P!==\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a vector source`)):V!==\"vector\"||h[\"source-layer\"]?V===\"raster-dem\"&&P!==\"hillshade\"?a.push(new ve(A,h.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):P!==\"line\"||!h.paint||!h.paint[\"line-gradient\"]||V===\"geojson\"&&F.lineMetrics||a.push(new ve(A,h,`layer \"${h.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):a.push(new ve(A,h,`layer \"${h.id}\" must specify a \"source-layer\"`)):a.push(new ve(A,h.source,`source \"${h.source}\" not found`))}else a.push(new ve(A,h,'missing required property \"source\"'));return a=a.concat(fi({key:A,value:h,valueSpec:E.layer,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>u.validateSpec({key:`${A}.type`,value:h.type,valueSpec:E.layer.type,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,object:h,objectKey:\"type\"}),filter:ch,layout:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>m_(jo({layerType:P},V))}}),paint:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>A_(jo({layerType:P},V))}})}})),a}function pl(u){let a=u.value,h=u.key,A=qr(a);return A!==\"string\"?[new ve(h,a,`string expected, ${A} found`)]:[]}let uh={promoteId:function({key:u,value:a}){if(qr(a)===\"string\")return pl({key:u,value:a});{let h=[];for(let A in a)h.push(...pl({key:`${u}.${A}`,value:a[A]}));return h}}};function la(u){let a=u.value,h=u.key,A=u.styleSpec,x=u.style,E=u.validateSpec;if(!a.type)return[new ve(h,a,'\"type\" is required')];let P=Cn(a.type),D;switch(P){case\"vector\":case\"raster\":return D=fi({key:h,value:a,valueSpec:A[`source_${P.replace(\"-\",\"_\")}`],style:u.style,styleSpec:A,objectElementValidators:uh,validateSpec:E}),D;case\"raster-dem\":return D=function(F){var V;let q=(V=F.sourceName)!==null&&V!==void 0?V:\"\",X=F.value,rt=F.styleSpec,at=rt.source_raster_dem,ct=F.style,mt=[],bt=qr(X);if(X===void 0)return mt;if(bt!==\"object\")return mt.push(new ve(\"source_raster_dem\",X,`object expected, ${bt} found`)),mt;let Pt=Cn(X.encoding)===\"custom\",jt=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],Rt=F.value.encoding?`\"${F.value.encoding}\"`:\"Default\";for(let Gt in X)!Pt&&jt.includes(Gt)?mt.push(new ve(Gt,X[Gt],`In \"${q}\": \"${Gt}\" is only valid when \"encoding\" is set to \"custom\". ${Rt} encoding found`)):at[Gt]?mt=mt.concat(F.validateSpec({key:Gt,value:X[Gt],valueSpec:at[Gt],validateSpec:F.validateSpec,style:ct,styleSpec:rt})):mt.push(new ve(Gt,X[Gt],`unknown property \"${Gt}\"`));return mt}({sourceName:h,value:a,style:u.style,styleSpec:A,validateSpec:E}),D;case\"geojson\":if(D=fi({key:h,value:a,valueSpec:A.source_geojson,style:x,styleSpec:A,validateSpec:E,objectElementValidators:uh}),a.cluster)for(let F in a.clusterProperties){let[V,q]=a.clusterProperties[F],X=typeof V==\"string\"?[V,[\"accumulated\"],[\"get\",F]]:V;D.push(...lh({key:`${h}.${F}.map`,value:q,validateSpec:E,expressionContext:\"cluster-map\"})),D.push(...lh({key:`${h}.${F}.reduce`,value:X,validateSpec:E,expressionContext:\"cluster-reduce\"}))}return D;case\"video\":return fi({key:h,value:a,valueSpec:A.source_video,style:x,validateSpec:E,styleSpec:A});case\"image\":return fi({key:h,value:a,valueSpec:A.source_image,style:x,validateSpec:E,styleSpec:A});case\"canvas\":return[new ve(h,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Ld({key:`${h}.type`,value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:x,validateSpec:E,styleSpec:A})}}function kd(u){let a=u.value,h=u.styleSpec,A=h.light,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"light\",a,`object expected, ${P} found`)]),E;for(let D in a){let F=D.match(/^(.*)-transition$/);E=E.concat(F&&A[F[1]]&&A[F[1]].transition?u.validateSpec({key:D,value:a[D],valueSpec:h.transition,validateSpec:u.validateSpec,style:x,styleSpec:h}):A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)])}return E}function g_(u){let a=u.value,h=u.styleSpec,A=h.terrain,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"terrain\",a,`object expected, ${P} found`)]),E;for(let D in a)E=E.concat(A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)]);return E}function js(u){let a=[],h=u.value,A=u.key;if(Array.isArray(h)){let x=[],E=[];for(let P in h)h[P].id&&x.includes(h[P].id)&&a.push(new ve(A,h,`all the sprites' ids must be unique, but ${h[P].id} is duplicated`)),x.push(h[P].id),h[P].url&&E.includes(h[P].url)&&a.push(new ve(A,h,`all the sprites' URLs must be unique, but ${h[P].url} is duplicated`)),E.push(h[P].url),a=a.concat(fi({key:`${A}[${P}]`,value:h[P],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:u.validateSpec}));return a}return pl({key:A,value:h})}let gu={\"*\":()=>[],array:mu,boolean:function(u){let a=u.value,h=u.key,A=qr(a);return A!==\"boolean\"?[new ve(h,a,`boolean expected, ${A} found`)]:[]},number:vf,color:function(u){let a=u.key,h=u.value,A=qr(h);return A!==\"string\"?[new ve(a,h,`color expected, ${A} found`)]:ai.parse(String(h))?[]:[new ve(a,h,`color expected, \"${h}\" found`)]},constants:i0,enum:Ld,filter:ch,function:Kp,layer:n0,object:fi,source:la,light:kd,terrain:g_,string:pl,formatted:function(u){return pl(u).length===0?[]:lh(u)},resolvedImage:function(u){return pl(u).length===0?[]:lh(u)},padding:function(u){let a=u.key,h=u.value;if(qr(h)===\"array\"){if(h.length<1||h.length>4)return[new ve(a,h,`padding requires 1 to 4 values; ${h.length} values found`)];let A={type:\"number\"},x=[];for(let E=0;E[]}})),u.constants&&(h=h.concat(i0({key:\"constants\",value:u.constants,style:u,styleSpec:a,validateSpec:Ln}))),Rd(h)}function Fa(u){return function(a){return u({...a,validateSpec:Ln})}}function Rd(u){return[].concat(u).sort((a,h)=>a.line-h.line)}function Al(u){return function(...a){return Rd(u.apply(this,a))}}ca.source=Al(Fa(la)),ca.sprite=Al(Fa(js)),ca.glyphs=Al(Fa(eA)),ca.light=Al(Fa(kd)),ca.terrain=Al(Fa(g_)),ca.layer=Al(Fa(n0)),ca.filter=Al(Fa(ch)),ca.paintProperty=Al(Fa(A_)),ca.layoutProperty=Al(Fa(m_));let za=ca,hh=za.light,rA=za.paintProperty,s0=za.layoutProperty;function fh(u,a){let h=!1;if(a&&a.length)for(let A of a)u.fire(new ao(new Error(A.message))),h=!0;return h}class Na{constructor(a,h,A){let x=this.cells=[];if(a instanceof ArrayBuffer){this.arrayBuffer=a;let P=new Int32Array(this.arrayBuffer);a=P[0],this.d=(h=P[1])+2*(A=P[2]);for(let F=0;F=X[ct+0]&&x>=X[ct+1])?(D[at]=!0,P.push(q[at])):D[at]=!1}}}}_forEachCell(a,h,A,x,E,P,D,F){let V=this._convertToCellCoord(a),q=this._convertToCellCoord(h),X=this._convertToCellCoord(A),rt=this._convertToCellCoord(x);for(let at=V;at<=X;at++)for(let ct=q;ct<=rt;ct++){let mt=this.d*ct+at;if((!F||F(this._convertFromCellCoord(at),this._convertFromCellCoord(ct),this._convertFromCellCoord(at+1),this._convertFromCellCoord(ct+1)))&&E.call(this,a,h,A,x,mt,P,D,F))return}}_convertFromCellCoord(a){return(a-this.padding)/this.scale}_convertToCellCoord(a){return Math.max(0,Math.min(this.d-1,Math.floor(a*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let a=this.cells,h=3+this.cells.length+1+1,A=0;for(let P=0;P=0)continue;let P=u[E];x[E]=co[A].shallow.indexOf(E)>=0?P:Hl(P,a)}u instanceof Error&&(x.message=u.message)}if(x.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return A!==\"Object\"&&(x.$name=A),x}throw new Error(\"can't serialize object of type \"+typeof u)}function xf(u){if(u==null||typeof u==\"boolean\"||typeof u==\"number\"||typeof u==\"string\"||u instanceof Boolean||u instanceof Number||u instanceof String||u instanceof Date||u instanceof RegExp||u instanceof Blob||Dd(u)||zl(u)||ArrayBuffer.isView(u)||u instanceof ImageData)return u;if(Array.isArray(u))return u.map(xf);if(typeof u==\"object\"){let a=u.$name||\"Object\";if(!co[a])throw new Error(`can't deserialize unregistered class ${a}`);let{klass:h}=co[a];if(!h)throw new Error(`can't deserialize unregistered class ${a}`);if(h.deserialize)return h.deserialize(u);let A=Object.create(h.prototype);for(let x of Object.keys(u)){if(x===\"$name\")continue;let E=u[x];A[x]=co[a].shallow.indexOf(x)>=0?E:xf(E)}return A}throw new Error(\"can't deserialize object of type \"+typeof u)}class __{constructor(){this.first=!0}update(a,h){let A=Math.floor(a);return this.first?(this.first=!1,this.lastIntegerZoom=A,this.lastIntegerZoomTime=0,this.lastZoom=a,this.lastFloorZoom=A,!0):(this.lastFloorZoom>A?(this.lastIntegerZoom=A+1,this.lastIntegerZoomTime=h):this.lastFloorZoomu>=128&&u<=255,Arabic:u=>u>=1536&&u<=1791,\"Arabic Supplement\":u=>u>=1872&&u<=1919,\"Arabic Extended-A\":u=>u>=2208&&u<=2303,\"Hangul Jamo\":u=>u>=4352&&u<=4607,\"Unified Canadian Aboriginal Syllabics\":u=>u>=5120&&u<=5759,Khmer:u=>u>=6016&&u<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":u=>u>=6320&&u<=6399,\"General Punctuation\":u=>u>=8192&&u<=8303,\"Letterlike Symbols\":u=>u>=8448&&u<=8527,\"Number Forms\":u=>u>=8528&&u<=8591,\"Miscellaneous Technical\":u=>u>=8960&&u<=9215,\"Control Pictures\":u=>u>=9216&&u<=9279,\"Optical Character Recognition\":u=>u>=9280&&u<=9311,\"Enclosed Alphanumerics\":u=>u>=9312&&u<=9471,\"Geometric Shapes\":u=>u>=9632&&u<=9727,\"Miscellaneous Symbols\":u=>u>=9728&&u<=9983,\"Miscellaneous Symbols and Arrows\":u=>u>=11008&&u<=11263,\"CJK Radicals Supplement\":u=>u>=11904&&u<=12031,\"Kangxi Radicals\":u=>u>=12032&&u<=12255,\"Ideographic Description Characters\":u=>u>=12272&&u<=12287,\"CJK Symbols and Punctuation\":u=>u>=12288&&u<=12351,Hiragana:u=>u>=12352&&u<=12447,Katakana:u=>u>=12448&&u<=12543,Bopomofo:u=>u>=12544&&u<=12591,\"Hangul Compatibility Jamo\":u=>u>=12592&&u<=12687,Kanbun:u=>u>=12688&&u<=12703,\"Bopomofo Extended\":u=>u>=12704&&u<=12735,\"CJK Strokes\":u=>u>=12736&&u<=12783,\"Katakana Phonetic Extensions\":u=>u>=12784&&u<=12799,\"Enclosed CJK Letters and Months\":u=>u>=12800&&u<=13055,\"CJK Compatibility\":u=>u>=13056&&u<=13311,\"CJK Unified Ideographs Extension A\":u=>u>=13312&&u<=19903,\"Yijing Hexagram Symbols\":u=>u>=19904&&u<=19967,\"CJK Unified Ideographs\":u=>u>=19968&&u<=40959,\"Yi Syllables\":u=>u>=40960&&u<=42127,\"Yi Radicals\":u=>u>=42128&&u<=42191,\"Hangul Jamo Extended-A\":u=>u>=43360&&u<=43391,\"Hangul Syllables\":u=>u>=44032&&u<=55215,\"Hangul Jamo Extended-B\":u=>u>=55216&&u<=55295,\"Private Use Area\":u=>u>=57344&&u<=63743,\"CJK Compatibility Ideographs\":u=>u>=63744&&u<=64255,\"Arabic Presentation Forms-A\":u=>u>=64336&&u<=65023,\"Vertical Forms\":u=>u>=65040&&u<=65055,\"CJK Compatibility Forms\":u=>u>=65072&&u<=65103,\"Small Form Variants\":u=>u>=65104&&u<=65135,\"Arabic Presentation Forms-B\":u=>u>=65136&&u<=65279,\"Halfwidth and Fullwidth Forms\":u=>u>=65280&&u<=65519};function o0(u){for(let a of u)if(dh(a.charCodeAt(0)))return!0;return!1}function a0(u){for(let a of u)if(!zx(a.charCodeAt(0)))return!1;return!0}function zx(u){return!(Oe.Arabic(u)||Oe[\"Arabic Supplement\"](u)||Oe[\"Arabic Extended-A\"](u)||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u))}function dh(u){return!(u!==746&&u!==747&&(u<4352||!(Oe[\"Bopomofo Extended\"](u)||Oe.Bopomofo(u)||Oe[\"CJK Compatibility Forms\"](u)&&!(u>=65097&&u<=65103)||Oe[\"CJK Compatibility Ideographs\"](u)||Oe[\"CJK Compatibility\"](u)||Oe[\"CJK Radicals Supplement\"](u)||Oe[\"CJK Strokes\"](u)||!(!Oe[\"CJK Symbols and Punctuation\"](u)||u>=12296&&u<=12305||u>=12308&&u<=12319||u===12336)||Oe[\"CJK Unified Ideographs Extension A\"](u)||Oe[\"CJK Unified Ideographs\"](u)||Oe[\"Enclosed CJK Letters and Months\"](u)||Oe[\"Hangul Compatibility Jamo\"](u)||Oe[\"Hangul Jamo Extended-A\"](u)||Oe[\"Hangul Jamo Extended-B\"](u)||Oe[\"Hangul Jamo\"](u)||Oe[\"Hangul Syllables\"](u)||Oe.Hiragana(u)||Oe[\"Ideographic Description Characters\"](u)||Oe.Kanbun(u)||Oe[\"Kangxi Radicals\"](u)||Oe[\"Katakana Phonetic Extensions\"](u)||Oe.Katakana(u)&&u!==12540||!(!Oe[\"Halfwidth and Fullwidth Forms\"](u)||u===65288||u===65289||u===65293||u>=65306&&u<=65310||u===65339||u===65341||u===65343||u>=65371&&u<=65503||u===65507||u>=65512&&u<=65519)||!(!Oe[\"Small Form Variants\"](u)||u>=65112&&u<=65118||u>=65123&&u<=65126)||Oe[\"Unified Canadian Aboriginal Syllabics\"](u)||Oe[\"Unified Canadian Aboriginal Syllabics Extended\"](u)||Oe[\"Vertical Forms\"](u)||Oe[\"Yijing Hexagram Symbols\"](u)||Oe[\"Yi Syllables\"](u)||Oe[\"Yi Radicals\"](u))))}function y_(u){return!(dh(u)||function(a){return!!(Oe[\"Latin-1 Supplement\"](a)&&(a===167||a===169||a===174||a===177||a===188||a===189||a===190||a===215||a===247)||Oe[\"General Punctuation\"](a)&&(a===8214||a===8224||a===8225||a===8240||a===8241||a===8251||a===8252||a===8258||a===8263||a===8264||a===8265||a===8273)||Oe[\"Letterlike Symbols\"](a)||Oe[\"Number Forms\"](a)||Oe[\"Miscellaneous Technical\"](a)&&(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||a===9003||a>=9085&&a<=9114||a>=9150&&a<=9165||a===9167||a>=9169&&a<=9179||a>=9186&&a<=9215)||Oe[\"Control Pictures\"](a)&&a!==9251||Oe[\"Optical Character Recognition\"](a)||Oe[\"Enclosed Alphanumerics\"](a)||Oe[\"Geometric Shapes\"](a)||Oe[\"Miscellaneous Symbols\"](a)&&!(a>=9754&&a<=9759)||Oe[\"Miscellaneous Symbols and Arrows\"](a)&&(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243)||Oe[\"CJK Symbols and Punctuation\"](a)||Oe.Katakana(a)||Oe[\"Private Use Area\"](a)||Oe[\"CJK Compatibility Forms\"](a)||Oe[\"Small Form Variants\"](a)||Oe[\"Halfwidth and Fullwidth Forms\"](a)||a===8734||a===8756||a===8757||a>=9984&&a<=10087||a>=10102&&a<=10131||a===65532||a===65533)}(u))}function l0(u){return u>=1424&&u<=2303||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u)}function c0(u,a){return!(!a&&l0(u)||u>=2304&&u<=3583||u>=3840&&u<=4255||Oe.Khmer(u))}function bf(u){for(let a of u)if(l0(a.charCodeAt(0)))return!0;return!1}let u0=\"deferred\",iA=\"loading\",nA=\"loaded\",ph=null,us=\"unavailable\",_u=null,Bc=function(u){u&&typeof u==\"string\"&&u.indexOf(\"NetworkError\")>-1&&(us=\"error\"),ph&&ph(u)};function h0(){Od.fire(new as(\"pluginStateChange\",{pluginStatus:us,pluginURL:_u}))}let Od=new Nl,f0=function(){return us},v_=function(){if(us!==u0||!_u)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");us=iA,h0(),_u&&cl({url:_u},u=>{u?Bc(u):(us=nA,h0())})},ua={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>us===nA||ua.applyArabicShaping!=null,isLoading:()=>us===iA,setState(u){if(!Li())throw new Error(\"Cannot set the state of the rtl-text-plugin when not in the web-worker context\");us=u.pluginStatus,_u=u.pluginURL},isParsed(){if(!Li())throw new Error(\"rtl-text-plugin is only parsed on the worker-threads\");return ua.applyArabicShaping!=null&&ua.processBidirectionalText!=null&&ua.processStyledBidirectionalText!=null},getPluginURL(){if(!Li())throw new Error(\"rtl-text-plugin url can only be queried from the worker threads\");return _u}};class un{constructor(a,h){this.zoom=a,h?(this.now=h.now,this.fadeDuration=h.fadeDuration,this.zoomHistory=h.zoomHistory,this.transition=h.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new __,this.transition={})}isSupportedScript(a){return function(h,A){for(let x of h)if(!c0(x.charCodeAt(0),A))return!1;return!0}(a,ua.isLoaded())}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let a=this.zoom,h=a-Math.floor(a),A=this.crossFadingFactor();return a>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:h+(1-h)*A}:{fromScale:.5,toScale:1,t:1-(1-A)*h}}}class sA{constructor(a,h){this.property=a,this.value=h,this.expression=function(A,x){if(Ji(A))return new Ed(A,x);if(Yp(A)){let E=e0(A,x);if(E.result===\"error\")throw new Error(E.value.map(P=>`${P.key}: ${P.message}`).join(\", \"));return E.value}{let E=A;return x.type===\"color\"&&typeof A==\"string\"?E=ai.parse(A):x.type!==\"padding\"||typeof A!=\"number\"&&!Array.isArray(A)?x.type===\"variableAnchorOffsetCollection\"&&Array.isArray(A)&&(E=Go.parse(A)):E=Dn.parse(A),{kind:\"constant\",evaluate:()=>E}}}(h===void 0?a.specification.default:h,a.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(a,h,A){return this.property.possiblyEvaluate(this,a,h,A)}}class d0{constructor(a){this.property=a,this.value=new sA(a,void 0)}transitioned(a,h){return new x_(this.property,this.value,h,kt({},a.transition,this.transition),a.now)}untransitioned(){return new x_(this.property,this.value,null,{},0)}}class Ah{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitionablePropertyValues)}getValue(a){return ue(this._values[a].value.value)}setValue(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].value=new sA(this._values[a].property,h===null?void 0:ue(h))}getTransition(a){return ue(this._values[a].transition)}setTransition(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].transition=ue(h)||void 0}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A);let x=this.getTransition(h);x!==void 0&&(a[`${h}-transition`]=x)}return a}transitioned(a,h){let A=new b_(this._properties);for(let x of Object.keys(this._values))A._values[x]=this._values[x].transitioned(a,h._values[x]);return A}untransitioned(){let a=new b_(this._properties);for(let h of Object.keys(this._values))a._values[h]=this._values[h].untransitioned();return a}}class x_{constructor(a,h,A,x,E){this.property=a,this.value=h,this.begin=E+x.delay||0,this.end=this.begin+x.duration||0,a.specification.transition&&(x.delay||x.duration)&&(this.prior=A)}possiblyEvaluate(a,h,A){let x=a.now||0,E=this.value.possiblyEvaluate(a,h,A),P=this.prior;if(P){if(x>this.end)return this.prior=null,E;if(this.value.isDataDriven())return this.prior=null,E;if(x=1)return 1;let V=F*F,q=V*F;return 4*(F<.5?q:3*(F-V)+q-.75)}(D))}}return E}}class b_{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitioningPropertyValues)}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}hasTransition(){for(let a of Object.keys(this._values))if(this._values[a].prior)return!0;return!1}}class Nx{constructor(a){this._properties=a,this._values=Object.create(a.defaultPropertyValues)}hasValue(a){return this._values[a].value!==void 0}getValue(a){return ue(this._values[a].value)}setValue(a,h){this._values[a]=new sA(this._values[a].property,h===null?void 0:ue(h))}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A)}return a}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}}class Mo{constructor(a,h,A){this.property=a,this.value=h,this.parameters=A}isConstant(){return this.value.kind===\"constant\"}constantOr(a){return this.value.kind===\"constant\"?this.value.value:a}evaluate(a,h,A,x){return this.property.evaluate(this.value,this.parameters,a,h,A,x)}}class oA{constructor(a){this._properties=a,this._values=Object.create(a.defaultPossiblyEvaluatedValues)}get(a){return this._values[a]}}class nr{constructor(a){this.specification=a}possiblyEvaluate(a,h){if(a.isDataDriven())throw new Error(\"Value should not be data driven\");return a.expression.evaluate(h)}interpolate(a,h,A){let x=Da[this.specification.type];return x?x(a,h,A):a}}class dr{constructor(a,h){this.specification=a,this.overrides=h}possiblyEvaluate(a,h,A,x){return new Mo(this,a.expression.kind===\"constant\"||a.expression.kind===\"camera\"?{kind:\"constant\",value:a.expression.evaluate(h,null,{},A,x)}:a.expression,h)}interpolate(a,h,A){if(a.value.kind!==\"constant\"||h.value.kind!==\"constant\")return a;if(a.value.value===void 0||h.value.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},a.parameters);let x=Da[this.specification.type];if(x){let E=x(a.value.value,h.value.value,A);return new Mo(this,{kind:\"constant\",value:E},a.parameters)}return a}evaluate(a,h,A,x,E,P){return a.kind===\"constant\"?a.value:a.evaluate(h,A,x,E,P)}}class wf extends dr{possiblyEvaluate(a,h,A,x){if(a.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},h);if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x),P=a.property.specification.type===\"resolvedImage\"&&typeof E!=\"string\"?E.name:E,D=this._calculate(P,P,P,h);return new Mo(this,{kind:\"constant\",value:D},h)}if(a.expression.kind===\"camera\"){let E=this._calculate(a.expression.evaluate({zoom:h.zoom-1}),a.expression.evaluate({zoom:h.zoom}),a.expression.evaluate({zoom:h.zoom+1}),h);return new Mo(this,{kind:\"constant\",value:E},h)}return new Mo(this,a.expression,h)}evaluate(a,h,A,x,E,P){if(a.kind===\"source\"){let D=a.evaluate(h,A,x,E,P);return this._calculate(D,D,D,h)}return a.kind===\"composite\"?this._calculate(a.evaluate({zoom:Math.floor(h.zoom)-1},A,x),a.evaluate({zoom:Math.floor(h.zoom)},A,x),a.evaluate({zoom:Math.floor(h.zoom)+1},A,x),h):a.value}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class aA{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){if(a.value!==void 0){if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x);return this._calculate(E,E,E,h)}return this._calculate(a.expression.evaluate(new un(Math.floor(h.zoom-1),h)),a.expression.evaluate(new un(Math.floor(h.zoom),h)),a.expression.evaluate(new un(Math.floor(h.zoom+1),h)),h)}}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class Bd{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){return!!a.expression.evaluate(h,null,{},A,x)}interpolate(){return!1}}class Hn{constructor(a){this.properties=a,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let h in a){let A=a[h];A.specification.overridable&&this.overridableProperties.push(h);let x=this.defaultPropertyValues[h]=new sA(A,void 0),E=this.defaultTransitionablePropertyValues[h]=new d0(A);this.defaultTransitioningPropertyValues[h]=E.untransitioned(),this.defaultPossiblyEvaluatedValues[h]=x.possiblyEvaluate({})}}}Ge(\"DataDrivenProperty\",dr),Ge(\"DataConstantProperty\",nr),Ge(\"CrossFadedDataDrivenProperty\",wf),Ge(\"CrossFadedProperty\",aA),Ge(\"ColorRampProperty\",Bd);let uo=\"-transition\";class ji extends Nl{constructor(a,h){if(super(),this.id=a.id,this.type=a.type,this._featureFilter={filter:()=>!0,needGeometry:!1},a.type!==\"custom\"&&(this.metadata=a.metadata,this.minzoom=a.minzoom,this.maxzoom=a.maxzoom,a.type!==\"background\"&&(this.source=a.source,this.sourceLayer=a[\"source-layer\"],this.filter=a.filter),h.layout&&(this._unevaluatedLayout=new Nx(h.layout)),h.paint)){this._transitionablePaint=new Ah(h.paint);for(let A in a.paint)this.setPaintProperty(A,a.paint[A],{validate:!1});for(let A in a.layout)this.setLayoutProperty(A,a.layout[A],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oA(h.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(a){return a===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(a)}setLayoutProperty(a,h,A={}){h!=null&&this._validate(s0,`layers.${this.id}.layout.${a}`,a,h,A)||(a!==\"visibility\"?this._unevaluatedLayout.setValue(a,h):this.visibility=h)}getPaintProperty(a){return a.endsWith(uo)?this._transitionablePaint.getTransition(a.slice(0,-11)):this._transitionablePaint.getValue(a)}setPaintProperty(a,h,A={}){if(h!=null&&this._validate(rA,`layers.${this.id}.paint.${a}`,a,h,A))return!1;if(a.endsWith(uo))return this._transitionablePaint.setTransition(a.slice(0,-11),h||void 0),!1;{let x=this._transitionablePaint._values[a],E=x.property.specification[\"property-type\"]===\"cross-faded-data-driven\",P=x.value.isDataDriven(),D=x.value;this._transitionablePaint.setValue(a,h),this._handleSpecialPaintPropertyUpdate(a);let F=this._transitionablePaint._values[a].value;return F.isDataDriven()||P||E||this._handleOverridablePaintPropertyUpdate(a,D,F)}}_handleSpecialPaintPropertyUpdate(a){}_handleOverridablePaintPropertyUpdate(a,h,A){return!1}isHidden(a){return!!(this.minzoom&&a=this.maxzoom)||this.visibility===\"none\"}updateTransitions(a){this._transitioningPaint=this._transitionablePaint.transitioned(a,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(a,h){a.getCrossfadeParameters&&(this._crossfadeParameters=a.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(a,void 0,h)),this.paint=this._transitioningPaint.possiblyEvaluate(a,void 0,h)}serialize(){let a={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(a.layout=a.layout||{},a.layout.visibility=this.visibility),le(a,(h,A)=>!(h===void 0||A===\"layout\"&&!Object.keys(h).length||A===\"paint\"&&!Object.keys(h).length))}_validate(a,h,A,x,E={}){return(!E||E.validate!==!1)&&fh(this,a.call(za,{key:h,layerType:this.type,objectKey:A,value:x,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let a in this.paint._values){let h=this.paint.get(a);if(h instanceof Mo&&_f(h.property.specification)&&(h.value.kind===\"source\"||h.value.kind===\"composite\")&&h.value.isStateDependent)return!0}return!1}}let w_={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class mh{constructor(a,h){this._structArray=a,this._pos1=h*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class kn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(a,h){return a._trim(),h&&(a.isTransferred=!0,h.push(a.arrayBuffer)),{length:a.length,arrayBuffer:a.arrayBuffer}}static deserialize(a){let h=Object.create(this.prototype);return h.arrayBuffer=a.arrayBuffer,h.length=a.length,h.capacity=a.arrayBuffer.byteLength/h.bytesPerElement,h._refreshViews(),h}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(a){this.reserve(a),this.length=a}reserve(a){if(a>this.capacity){this.capacity=Math.max(a,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let h=this.uint8;this._refreshViews(),h&&this.uint8.set(h)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function wn(u,a=1){let h=0,A=0;return{members:u.map(x=>{let E=w_[x.type].BYTES_PER_ELEMENT,P=h=Sf(h,Math.max(a,E)),D=x.components||1;return A=Math.max(A,E),h+=E*D,{name:x.name,type:x.type,components:D,offset:P}}),size:Sf(h,Math.max(A,a)),alignment:a}}function Sf(u,a){return Math.ceil(u/a)*a}class Es extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.int16[x+0]=h,this.int16[x+1]=A,a}}Es.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2i4\",Es);class gh extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.int16[E+0]=h,this.int16[E+1]=A,this.int16[E+2]=x,a}}gh.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3i6\",gh);class Wo extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.int16[P+0]=h,this.int16[P+1]=A,this.int16[P+2]=x,this.int16[P+3]=E,a}}Wo.prototype.bytesPerElement=8,Ge(\"StructArrayLayout4i8\",Wo);class p0 extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}p0.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i4i12\",p0);class Fd extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=4*a,V=8*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.uint8[V+4]=x,this.uint8[V+5]=E,this.uint8[V+6]=P,this.uint8[V+7]=D,a}}Fd.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2i4ub8\",Fd);class Tf extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.float32[x+0]=h,this.float32[x+1]=A,a}}Tf.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2f8\",Tf);class Ho extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q){let X=this.length;return this.resize(X+1),this.emplace(X,a,h,A,x,E,P,D,F,V,q)}emplace(a,h,A,x,E,P,D,F,V,q,X){let rt=10*a;return this.uint16[rt+0]=h,this.uint16[rt+1]=A,this.uint16[rt+2]=x,this.uint16[rt+3]=E,this.uint16[rt+4]=P,this.uint16[rt+5]=D,this.uint16[rt+6]=F,this.uint16[rt+7]=V,this.uint16[rt+8]=q,this.uint16[rt+9]=X,a}}Ho.prototype.bytesPerElement=20,Ge(\"StructArrayLayout10ui20\",Ho);class lA extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt){let at=this.length;return this.resize(at+1),this.emplace(at,a,h,A,x,E,P,D,F,V,q,X,rt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at){let ct=12*a;return this.int16[ct+0]=h,this.int16[ct+1]=A,this.int16[ct+2]=x,this.int16[ct+3]=E,this.uint16[ct+4]=P,this.uint16[ct+5]=D,this.uint16[ct+6]=F,this.uint16[ct+7]=V,this.int16[ct+8]=q,this.int16[ct+9]=X,this.int16[ct+10]=rt,this.int16[ct+11]=at,a}}lA.prototype.bytesPerElement=24,Ge(\"StructArrayLayout4i4ui4i24\",lA);class bi extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.float32[E+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}bi.prototype.bytesPerElement=12,Ge(\"StructArrayLayout3f12\",bi);class T extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint32[1*a+0]=h,a}}T.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1ul4\",T);class l extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V){let q=this.length;return this.resize(q+1),this.emplace(q,a,h,A,x,E,P,D,F,V)}emplace(a,h,A,x,E,P,D,F,V,q){let X=10*a,rt=5*a;return this.int16[X+0]=h,this.int16[X+1]=A,this.int16[X+2]=x,this.int16[X+3]=E,this.int16[X+4]=P,this.int16[X+5]=D,this.uint32[rt+3]=F,this.uint16[X+8]=V,this.uint16[X+9]=q,a}}l.prototype.bytesPerElement=20,Ge(\"StructArrayLayout6i1ul2ui20\",l);class d extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}d.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i2i2i12\",d);class v extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E){let P=this.length;return this.resize(P+1),this.emplace(P,a,h,A,x,E)}emplace(a,h,A,x,E,P){let D=4*a,F=8*a;return this.float32[D+0]=h,this.float32[D+1]=A,this.float32[D+2]=x,this.int16[F+6]=E,this.int16[F+7]=P,a}}v.prototype.bytesPerElement=16,Ge(\"StructArrayLayout2f1f2i16\",v);class b extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=12*a,D=3*a;return this.uint8[P+0]=h,this.uint8[P+1]=A,this.float32[D+1]=x,this.float32[D+2]=E,a}}b.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2ub2f12\",b);class M extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[E+0]=h,this.uint16[E+1]=A,this.uint16[E+2]=x,a}}M.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3ui6\",M);class O extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt){let jt=this.length;return this.resize(jt+1),this.emplace(jt,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt){let Rt=24*a,Gt=12*a,Yt=48*a;return this.int16[Rt+0]=h,this.int16[Rt+1]=A,this.uint16[Rt+2]=x,this.uint16[Rt+3]=E,this.uint32[Gt+2]=P,this.uint32[Gt+3]=D,this.uint32[Gt+4]=F,this.uint16[Rt+10]=V,this.uint16[Rt+11]=q,this.uint16[Rt+12]=X,this.float32[Gt+7]=rt,this.float32[Gt+8]=at,this.uint8[Yt+36]=ct,this.uint8[Yt+37]=mt,this.uint8[Yt+38]=bt,this.uint32[Gt+10]=Pt,this.int16[Rt+22]=jt,a}}O.prototype.bytesPerElement=48,Ge(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",O);class B extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye){let Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye,Ie){let Ae=32*a,hr=16*a;return this.int16[Ae+0]=h,this.int16[Ae+1]=A,this.int16[Ae+2]=x,this.int16[Ae+3]=E,this.int16[Ae+4]=P,this.int16[Ae+5]=D,this.int16[Ae+6]=F,this.int16[Ae+7]=V,this.uint16[Ae+8]=q,this.uint16[Ae+9]=X,this.uint16[Ae+10]=rt,this.uint16[Ae+11]=at,this.uint16[Ae+12]=ct,this.uint16[Ae+13]=mt,this.uint16[Ae+14]=bt,this.uint16[Ae+15]=Pt,this.uint16[Ae+16]=jt,this.uint16[Ae+17]=Rt,this.uint16[Ae+18]=Gt,this.uint16[Ae+19]=Yt,this.uint16[Ae+20]=ce,this.uint16[Ae+21]=Ne,this.uint16[Ae+22]=ir,this.uint32[hr+12]=Fe,this.float32[hr+13]=Re,this.float32[hr+14]=Me,this.uint16[Ae+30]=Ye,this.uint16[Ae+31]=Ie,a}}B.prototype.bytesPerElement=64,Ge(\"StructArrayLayout8i15ui1ul2f2ui64\",B);class U extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.float32[1*a+0]=h,a}}U.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1f4\",U);class W extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[6*a+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}W.prototype.bytesPerElement=12,Ge(\"StructArrayLayout1ui2f12\",W);class Z extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=4*a;return this.uint32[2*a+0]=h,this.uint16[E+2]=A,this.uint16[E+3]=x,a}}Z.prototype.bytesPerElement=8,Ge(\"StructArrayLayout1ul2ui8\",Z);class $ extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.uint16[x+0]=h,this.uint16[x+1]=A,a}}$.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2ui4\",$);class st extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint16[1*a+0]=h,a}}st.prototype.bytesPerElement=2,Ge(\"StructArrayLayout1ui2\",st);class At extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.float32[P+0]=h,this.float32[P+1]=A,this.float32[P+2]=x,this.float32[P+3]=E,a}}At.prototype.bytesPerElement=16,Ge(\"StructArrayLayout4f16\",At);class pt extends mh{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new w(this.anchorPointX,this.anchorPointY)}}pt.prototype.size=20;class yt extends l{get(a){return new pt(this,a)}}Ge(\"CollisionBoxArray\",yt);class dt extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(a){this._structArray.uint8[this._pos1+37]=a}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(a){this._structArray.uint8[this._pos1+38]=a}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(a){this._structArray.uint32[this._pos4+10]=a}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}dt.prototype.size=48;class Ft extends O{get(a){return new dt(this,a)}}Ge(\"PlacedSymbolArray\",Ft);class Ht extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(a){this._structArray.uint32[this._pos4+12]=a}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ht.prototype.size=64;class St extends B{get(a){return new Ht(this,a)}}Ge(\"SymbolInstanceArray\",St);class Bt extends U{getoffsetX(a){return this.float32[1*a+0]}}Ge(\"GlyphOffsetArray\",Bt);class Qt extends gh{getx(a){return this.int16[3*a+0]}gety(a){return this.int16[3*a+1]}gettileUnitDistanceFromAnchor(a){return this.int16[3*a+2]}}Ge(\"SymbolLineVertexArray\",Qt);class $t extends mh{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}$t.prototype.size=12;class oe extends W{get(a){return new $t(this,a)}}Ge(\"TextAnchorOffsetArray\",oe);class pe extends mh{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}pe.prototype.size=8;class he extends Z{get(a){return new pe(this,a)}}Ge(\"FeatureIndexArray\",he);class be extends Es{}class Ze extends Es{}class Kr extends Es{}class Ee extends p0{}class pr extends Fd{}class tr extends Tf{}class Gi extends Ho{}class Jr extends lA{}class Vr extends bi{}class ei extends T{}class On extends d{}class tn extends b{}class Gs extends M{}class hs extends ${}let Bn=wn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:qo}=Bn;class jr{constructor(a=[]){this.segments=a}prepareSegment(a,h,A,x){let E=this.segments[this.segments.length-1];return a>jr.MAX_VERTEX_ARRAY_LENGTH&&Ke(`Max vertices per segment is ${jr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${a}`),(!E||E.vertexLength+a>jr.MAX_VERTEX_ARRAY_LENGTH||E.sortKey!==x)&&(E={vertexOffset:h.length,primitiveOffset:A.length,vertexLength:0,primitiveLength:0},x!==void 0&&(E.sortKey=x),this.segments.push(E)),E}get(){return this.segments}destroy(){for(let a of this.segments)for(let h in a.vaos)a.vaos[h].destroy()}static simpleSegment(a,h,A,x){return new jr([{vertexOffset:a,primitiveOffset:h,vertexLength:A,primitiveLength:x,vaos:{},sortKey:0}])}}function ql(u,a){return 256*(u=ut(Math.floor(u),0,255))+ut(Math.floor(a),0,255)}jr.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ge(\"SegmentVector\",jr);let Zl=wn([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var yu={exports:{}},vu={exports:{}};vu.exports=function(u,a){var h,A,x,E,P,D,F,V;for(A=u.length-(h=3&u.length),x=a,P=3432918353,D=461845907,V=0;V>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295)<<13|x>>>19))+((5*(x>>>16)&65535)<<16)&4294967295))+((58964+(E>>>16)&65535)<<16);switch(F=0,h){case 3:F^=(255&u.charCodeAt(V+2))<<16;case 2:F^=(255&u.charCodeAt(V+1))<<8;case 1:x^=F=(65535&(F=(F=(65535&(F^=255&u.charCodeAt(V)))*P+(((F>>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295}return x^=u.length,x=2246822507*(65535&(x^=x>>>16))+((2246822507*(x>>>16)&65535)<<16)&4294967295,x=3266489909*(65535&(x^=x>>>13))+((3266489909*(x>>>16)&65535)<<16)&4294967295,(x^=x>>>16)>>>0};var _h=vu.exports,Ws={exports:{}};Ws.exports=function(u,a){for(var h,A=u.length,x=a^A,E=0;A>=4;)h=1540483477*(65535&(h=255&u.charCodeAt(E)|(255&u.charCodeAt(++E))<<8|(255&u.charCodeAt(++E))<<16|(255&u.charCodeAt(++E))<<24))+((1540483477*(h>>>16)&65535)<<16),x=1540483477*(65535&x)+((1540483477*(x>>>16)&65535)<<16)^(h=1540483477*(65535&(h^=h>>>24))+((1540483477*(h>>>16)&65535)<<16)),A-=4,++E;switch(A){case 3:x^=(255&u.charCodeAt(E+2))<<16;case 2:x^=(255&u.charCodeAt(E+1))<<8;case 1:x=1540483477*(65535&(x^=255&u.charCodeAt(E)))+((1540483477*(x>>>16)&65535)<<16)}return x=1540483477*(65535&(x^=x>>>13))+((1540483477*(x>>>16)&65535)<<16),(x^=x>>>15)>>>0};var Ps=_h,Eo=Ws.exports;yu.exports=Ps,yu.exports.murmur3=Ps,yu.exports.murmur2=Eo;var yh=c(yu.exports);class Fn{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(a,h,A,x){this.ids.push(fs(a)),this.positions.push(h,A,x)}getPositions(a){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let h=fs(a),A=0,x=this.ids.length-1;for(;A>1;this.ids[P]>=h?x=P:A=P+1}let E=[];for(;this.ids[A]===h;)E.push({index:this.positions[3*A],start:this.positions[3*A+1],end:this.positions[3*A+2]}),A++;return E}static serialize(a,h){let A=new Float64Array(a.ids),x=new Uint32Array(a.positions);return Zo(A,x,0,A.length-1),h&&h.push(A.buffer,x.buffer),{ids:A,positions:x}}static deserialize(a){let h=new Fn;return h.ids=a.ids,h.positions=a.positions,h.indexed=!0,h}}function fs(u){let a=+u;return!isNaN(a)&&a<=Number.MAX_SAFE_INTEGER?a:yh(String(u))}function Zo(u,a,h,A){for(;h>1],E=h-1,P=A+1;for(;;){do E++;while(u[E]x);if(E>=P)break;_n(u,E,P),_n(a,3*E,3*P),_n(a,3*E+1,3*P+1),_n(a,3*E+2,3*P+2)}P-h`u_${x}`),this.type=A}setUniform(a,h,A){a.set(A.constantOr(this.value))}getBinding(a,h,A){return this.type===\"color\"?new S_(a,h):new Gr(a,h)}}class Yo{constructor(a,h){this.uniformNames=h.map(A=>`u_${A}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(a,h){this.pixelRatioFrom=h.pixelRatio,this.pixelRatioTo=a.pixelRatio,this.patternFrom=h.tlbr,this.patternTo=a.tlbr}setUniform(a,h,A,x){let E=x===\"u_pattern_to\"?this.patternTo:x===\"u_pattern_from\"?this.patternFrom:x===\"u_pixel_ratio_to\"?this.pixelRatioTo:x===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;E&&a.set(E)}getBinding(a,h,A){return A.substr(0,9)===\"u_pattern\"?new Ua(a,h):new Gr(a,h)}}class me{constructor(a,h,A,x){this.expression=a,this.type=A,this.maxValue=0,this.paintVertexAttributes=h.map(E=>({name:`a_${E}`,type:\"Float32\",components:A===\"color\"?2:1,offset:0})),this.paintVertexArray=new x}populatePaintArray(a,h,A,x,E){let P=this.paintVertexArray.length,D=this.expression.evaluate(new un(0),h,{},x,[],E);this.paintVertexArray.resize(a),this._setPaintValue(P,a,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:0},A,x);this._setPaintValue(a,h,E)}_setPaintValue(a,h,A){if(this.type===\"color\"){let x=cA(A);for(let E=a;E`u_${D}_t`),this.type=A,this.useIntegerZoom=x,this.zoom=E,this.maxValue=0,this.paintVertexAttributes=h.map(D=>({name:`a_${D}`,type:\"Float32\",components:A===\"color\"?4:2,offset:0})),this.paintVertexArray=new P}populatePaintArray(a,h,A,x,E){let P=this.expression.evaluate(new un(this.zoom),h,{},x,[],E),D=this.expression.evaluate(new un(this.zoom+1),h,{},x,[],E),F=this.paintVertexArray.length;this.paintVertexArray.resize(a),this._setPaintValue(F,a,P,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:this.zoom},A,x),P=this.expression.evaluate({zoom:this.zoom+1},A,x);this._setPaintValue(a,h,E,P)}_setPaintValue(a,h,A,x){if(this.type===\"color\"){let E=cA(A),P=cA(x);for(let D=a;D`#define HAS_UNIFORM_${x}`))}return a}getBinderAttributes(){let a=[];for(let h in this.binders){let A=this.binders[h];if(A instanceof me||A instanceof ke)for(let x=0;x!0){this.programConfigurations={};for(let x of a)this.programConfigurations[x.id]=new Mf(x,h,A);this.needsUpload=!1,this._featureMap=new Fn,this._bufferOffset=0}populatePaintArrays(a,h,A,x,E,P){for(let D in this.programConfigurations)this.programConfigurations[D].populatePaintArrays(a,h,x,E,P);h.id!==void 0&&this._featureMap.add(h.id,A,this._bufferOffset,a),this._bufferOffset=a,this.needsUpload=!0}updatePaintArrays(a,h,A,x){for(let E of A)this.needsUpload=this.programConfigurations[E.id].updatePaintArrays(a,this._featureMap,h,E,x)||this.needsUpload}get(a){return this.programConfigurations[a]}upload(a){if(this.needsUpload){for(let h in this.programConfigurations)this.programConfigurations[h].upload(a);this.needsUpload=!1}}destroy(){for(let a in this.programConfigurations)this.programConfigurations[a].destroy()}}function Fc(u,a){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[u]||[u.replace(`${a}-`,\"\").replace(/-/g,\"_\")]}function Ux(u,a,h){let A={color:{source:Tf,composite:At},number:{source:U,composite:Tf}},x=function(E){return{\"line-pattern\":{source:Gi,composite:Gi},\"fill-pattern\":{source:Gi,composite:Gi},\"fill-extrusion-pattern\":{source:Gi,composite:Gi}}[E]}(u);return x&&x[h]||A[a][h]}Ge(\"ConstantBinder\",Yl),Ge(\"CrossFadedConstantBinder\",Yo),Ge(\"SourceExpressionBinder\",me),Ge(\"CrossFadedCompositeBinder\",ml),Ge(\"CompositeExpressionBinder\",ke),Ge(\"ProgramConfiguration\",Mf,{omit:[\"_buffers\"]}),Ge(\"ProgramConfigurationSet\",Va);let en=8192,p=Math.pow(2,14)-1,m=-p-1;function y(u){let a=en/u.extent,h=u.loadGeometry();for(let A=0;AP.x+1||FP.y+1)&&Ke(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return h}function S(u,a){return{type:u.type,id:u.id,properties:u.properties,geometry:a?y(u):[]}}function C(u,a,h,A,x){u.emplaceBack(2*a+(A+1)/2,2*h+(x+1)/2)}class k{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ze,this.indexArray=new Gs,this.segments=new jr,this.programConfigurations=new Va(a.layers,a.zoom),this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){let x=this.layers[0],E=[],P=null,D=!1;x.type===\"circle\"&&(P=x.layout.get(\"circle-sort-key\"),D=!P.isConstant());for(let{feature:F,id:V,index:q,sourceLayerIndex:X}of a){let rt=this.layers[0]._featureFilter.needGeometry,at=S(F,rt);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),at,A))continue;let ct=D?P.evaluate(at,{},A):void 0,mt={id:V,properties:F.properties,type:F.type,sourceLayerIndex:X,index:q,geometry:rt?at.geometry:y(F),patterns:{},sortKey:ct};E.push(mt)}D&&E.sort((F,V)=>F.sortKey-V.sortKey);for(let F of E){let{geometry:V,index:q,sourceLayerIndex:X}=F,rt=a[q].feature;this.addFeature(F,V,q,A),h.featureIndex.insert(rt,V,q,X,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qo),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(a,h,A,x){for(let E of h)for(let P of E){let D=P.x,F=P.y;if(D<0||D>=en||F<0||F>=en)continue;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,a.sortKey),q=V.vertexLength;C(this.layoutVertexArray,D,F,-1,-1),C(this.layoutVertexArray,D,F,1,-1),C(this.layoutVertexArray,D,F,1,1),C(this.layoutVertexArray,D,F,-1,1),this.indexArray.emplaceBack(q,q+1,q+2),this.indexArray.emplaceBack(q,q+3,q+2),V.vertexLength+=4,V.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{},x)}}function L(u,a){for(let h=0;h1){if(ot(u,a))return!0;for(let A=0;A1?h:h.sub(a)._mult(x)._add(a))}function re(u,a){let h,A,x,E=!1;for(let P=0;Pa.y!=x.y>a.y&&a.x<(x.x-A.x)*(a.y-A.y)/(x.y-A.y)+A.x&&(E=!E)}return E}function ne(u,a){let h=!1;for(let A=0,x=u.length-1;Aa.y!=P.y>a.y&&a.x<(P.x-E.x)*(a.y-E.y)/(P.y-E.y)+E.x&&(h=!h)}return h}function Le(u,a,h){let A=h[0],x=h[2];if(u.xx.x&&a.x>x.x||u.yx.y&&a.y>x.y)return!1;let E=rr(u,a,h[0]);return E!==rr(u,a,h[1])||E!==rr(u,a,h[2])||E!==rr(u,a,h[3])}function We(u,a,h){let A=a.paint.get(u).value;return A.kind===\"constant\"?A.value:h.programConfigurations.get(a.id).getMaxValue(u)}function te(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function _e(u,a,h,A,x){if(!a[0]&&!a[1])return u;let E=w.convert(a)._mult(x);h===\"viewport\"&&E._rotate(-A);let P=[];for(let D=0;Dyn(bt,mt))}(V,F),at=X?q*D:q;for(let ct of x)for(let mt of ct){let bt=X?mt:yn(mt,F),Pt=at,jt=Pi([],[mt.x,mt.y,0,1],F);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Pt*=jt[3]/P.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Pt*=P.cameraToCenterDistance/jt[3]),z(rt,bt,Pt))return!0}return!1}}function yn(u,a){let h=Pi([],[u.x,u.y,0,1],a);return new w(h[0]/h[3],h[1]/h[3])}class Or extends k{}let zF;Ge(\"HeatmapBucket\",Or,{omit:[\"layers\"]});var VX={get paint(){return zF=zF||new Hn({\"heatmap-radius\":new dr(ee.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new dr(ee.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new nr(ee.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Bd(ee.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new nr(ee.paint_heatmap[\"heatmap-opacity\"])})}};function fC(u,{width:a,height:h},A,x){if(x){if(x instanceof Uint8ClampedArray)x=new Uint8Array(x.buffer);else if(x.length!==a*h*A)throw new RangeError(`mismatched image size. expected: ${x.length} but got: ${a*h*A}`)}else x=new Uint8Array(a*h*A);return u.width=a,u.height=h,u.data=x,u}function NF(u,{width:a,height:h},A){if(a===u.width&&h===u.height)return;let x=fC({},{width:a,height:h},A);dC(u,x,{x:0,y:0},{x:0,y:0},{width:Math.min(u.width,a),height:Math.min(u.height,h)},A),u.width=a,u.height=h,u.data=x.data}function dC(u,a,h,A,x,E){if(x.width===0||x.height===0)return a;if(x.width>u.width||x.height>u.height||h.x>u.width-x.width||h.y>u.height-x.height)throw new RangeError(\"out of range source coordinates for image copy\");if(x.width>a.width||x.height>a.height||A.x>a.width-x.width||A.y>a.height-x.height)throw new RangeError(\"out of range destination coordinates for image copy\");let P=u.data,D=a.data;if(P===D)throw new Error(\"srcData equals dstData, so image is already copied\");for(let F=0;F{a[u.evaluationKey]=F;let V=u.expression.evaluate(a);x.data[P+D+0]=Math.floor(255*V.r/V.a),x.data[P+D+1]=Math.floor(255*V.g/V.a),x.data[P+D+2]=Math.floor(255*V.b/V.a),x.data[P+D+3]=Math.floor(255*V.a)};if(u.clips)for(let P=0,D=0;P80*h){A=E=u[0],x=P=u[1];for(var ct=h;ctE&&(E=D),F>P&&(P=F);V=(V=Math.max(E-A,P-x))!==0?32767/V:0}return jx(rt,at,h,A,x,V,0),at}function jF(u,a,h,A,x){var E,P;if(x===gC(u,a,h,A)>0)for(E=a;E=a;E-=A)P=HF(E,u[E],u[E+1],P);return P&&JS(P,P.next)&&(Wx(P),P=P.next),P}function A0(u,a){if(!u)return u;a||(a=u);var h,A=u;do if(h=!1,A.steiner||!JS(A,A.next)&&ds(A.prev,A,A.next)!==0)A=A.next;else{if(Wx(A),(A=a=A.prev)===A.next)break;h=!0}while(h||A!==a);return a}function jx(u,a,h,A,x,E,P){if(u){!P&&E&&function(q,X,rt,at){var ct=q;do ct.z===0&&(ct.z=AC(ct.x,ct.y,X,rt,at)),ct.prevZ=ct.prev,ct.nextZ=ct.next,ct=ct.next;while(ct!==q);ct.prevZ.nextZ=null,ct.prevZ=null,function(mt){var bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir=1;do{for(Pt=mt,mt=null,Gt=null,Yt=0;Pt;){for(Yt++,jt=Pt,ce=0,bt=0;bt0||Ne>0&&jt;)ce!==0&&(Ne===0||!jt||Pt.z<=jt.z)?(Rt=Pt,Pt=Pt.nextZ,ce--):(Rt=jt,jt=jt.nextZ,Ne--),Gt?Gt.nextZ=Rt:mt=Rt,Rt.prevZ=Gt,Gt=Rt;Pt=jt}Gt.nextZ=null,ir*=2}while(Yt>1)}(ct)}(u,A,x,E);for(var D,F,V=u;u.prev!==u.next;)if(D=u.prev,F=u.next,E?YX(u,A,x,E):ZX(u))a.push(D.i/h|0),a.push(u.i/h|0),a.push(F.i/h|0),Wx(u),u=F.next,V=F.next;else if((u=F)===V){P?P===1?jx(u=QX(A0(u),a,h),a,h,A,x,E,2):P===2&&$X(u,a,h,A,x,E):jx(A0(u),a,h,A,x,E,1);break}}}function ZX(u){var a=u.prev,h=u,A=u.next;if(ds(a,h,A)>=0)return!1;for(var x=a.x,E=h.x,P=A.x,D=a.y,F=h.y,V=A.y,q=xE?x>P?x:P:E>P?E:P,at=D>F?D>V?D:V:F>V?F:V,ct=A.next;ct!==a;){if(ct.x>=q&&ct.x<=rt&&ct.y>=X&&ct.y<=at&&T_(x,D,E,F,P,V,ct.x,ct.y)&&ds(ct.prev,ct,ct.next)>=0)return!1;ct=ct.next}return!0}function YX(u,a,h,A){var x=u.prev,E=u,P=u.next;if(ds(x,E,P)>=0)return!1;for(var D=x.x,F=E.x,V=P.x,q=x.y,X=E.y,rt=P.y,at=DF?D>V?D:V:F>V?F:V,bt=q>X?q>rt?q:rt:X>rt?X:rt,Pt=AC(at,ct,a,h,A),jt=AC(mt,bt,a,h,A),Rt=u.prevZ,Gt=u.nextZ;Rt&&Rt.z>=Pt&&Gt&&Gt.z<=jt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0||(Rt=Rt.prevZ,Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0))return!1;Gt=Gt.nextZ}for(;Rt&&Rt.z>=Pt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0)return!1;Rt=Rt.prevZ}for(;Gt&&Gt.z<=jt;){if(Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0)return!1;Gt=Gt.nextZ}return!0}function QX(u,a,h){var A=u;do{var x=A.prev,E=A.next.next;!JS(x,E)&&GF(x,A,A.next,E)&&Gx(x,E)&&Gx(E,x)&&(a.push(x.i/h|0),a.push(A.i/h|0),a.push(E.i/h|0),Wx(A),Wx(A.next),A=u=E),A=A.next}while(A!==u);return A0(A)}function $X(u,a,h,A,x,E){var P=u;do{for(var D=P.next.next;D!==P.prev;){if(P.i!==D.i&&eK(P,D)){var F=WF(P,D);return P=A0(P,P.next),F=A0(F,F.next),jx(P,a,h,A,x,E,0),void jx(F,a,h,A,x,E,0)}D=D.next}P=P.next}while(P!==u)}function XX(u,a){return u.x-a.x}function KX(u,a){var h=function(x,E){var P,D=E,F=x.x,V=x.y,q=-1/0;do{if(V<=D.y&&V>=D.next.y&&D.next.y!==D.y){var X=D.x+(V-D.y)*(D.next.x-D.x)/(D.next.y-D.y);if(X<=F&&X>q&&(q=X,P=D.x=D.x&&D.x>=ct&&F!==D.x&&T_(VP.x||D.x===P.x&&JX(P,D)))&&(P=D,bt=rt)),D=D.next;while(D!==at);return P}(u,a);if(!h)return a;var A=WF(h,u);return A0(A,A.next),A0(h,h.next)}function JX(u,a){return ds(u.prev,u,a.prev)<0&&ds(a.next,u,u.next)<0}function AC(u,a,h,A,x){return(u=1431655765&((u=858993459&((u=252645135&((u=16711935&((u=(u-h)*x|0)|u<<8))|u<<4))|u<<2))|u<<1))|(a=1431655765&((a=858993459&((a=252645135&((a=16711935&((a=(a-A)*x|0)|a<<8))|a<<4))|a<<2))|a<<1))<<1}function tK(u){var a=u,h=u;do(a.x=(u-P)*(E-D)&&(u-P)*(A-D)>=(h-P)*(a-D)&&(h-P)*(E-D)>=(x-P)*(A-D)}function eK(u,a){return u.next.i!==a.i&&u.prev.i!==a.i&&!function(h,A){var x=h;do{if(x.i!==h.i&&x.next.i!==h.i&&x.i!==A.i&&x.next.i!==A.i&&GF(x,x.next,h,A))return!0;x=x.next}while(x!==h);return!1}(u,a)&&(Gx(u,a)&&Gx(a,u)&&function(h,A){var x=h,E=!1,P=(h.x+A.x)/2,D=(h.y+A.y)/2;do x.y>D!=x.next.y>D&&x.next.y!==x.y&&P<(x.next.x-x.x)*(D-x.y)/(x.next.y-x.y)+x.x&&(E=!E),x=x.next;while(x!==h);return E}(u,a)&&(ds(u.prev,u,a.prev)||ds(u,a.prev,a))||JS(u,a)&&ds(u.prev,u,u.next)>0&&ds(a.prev,a,a.next)>0)}function ds(u,a,h){return(a.y-u.y)*(h.x-a.x)-(a.x-u.x)*(h.y-a.y)}function JS(u,a){return u.x===a.x&&u.y===a.y}function GF(u,a,h,A){var x=eT(ds(u,a,h)),E=eT(ds(u,a,A)),P=eT(ds(h,A,u)),D=eT(ds(h,A,a));return x!==E&&P!==D||!(x!==0||!tT(u,h,a))||!(E!==0||!tT(u,A,a))||!(P!==0||!tT(h,u,A))||!(D!==0||!tT(h,a,A))}function tT(u,a,h){return a.x<=Math.max(u.x,h.x)&&a.x>=Math.min(u.x,h.x)&&a.y<=Math.max(u.y,h.y)&&a.y>=Math.min(u.y,h.y)}function eT(u){return u>0?1:u<0?-1:0}function Gx(u,a){return ds(u.prev,u,u.next)<0?ds(u,a,u.next)>=0&&ds(u,u.prev,a)>=0:ds(u,a,u.prev)<0||ds(u,u.next,a)<0}function WF(u,a){var h=new mC(u.i,u.x,u.y),A=new mC(a.i,a.x,a.y),x=u.next,E=a.prev;return u.next=a,a.prev=u,h.next=x,x.prev=h,A.next=h,h.prev=A,E.next=A,A.prev=E,A}function HF(u,a,h,A){var x=new mC(u,a,h);return A?(x.next=A.next,x.prev=A,A.next.prev=x,A.next=x):(x.prev=x,x.next=x),x}function Wx(u){u.next.prev=u.prev,u.prev.next=u.next,u.prevZ&&(u.prevZ.nextZ=u.nextZ),u.nextZ&&(u.nextZ.prevZ=u.prevZ)}function mC(u,a,h){this.i=u,this.x=a,this.y=h,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function gC(u,a,h,A){for(var x=0,E=a,P=h-A;E0&&h.holes.push(A+=u[x-1].length)}return h};var qF=c(pC.exports);function rK(u,a,h,A,x){ZF(u,a,h||0,A||u.length-1,x||iK)}function ZF(u,a,h,A,x){for(;A>h;){if(A-h>600){var E=A-h+1,P=a-h+1,D=Math.log(E),F=.5*Math.exp(2*D/3),V=.5*Math.sqrt(D*F*(E-F)/E)*(P-E/2<0?-1:1);ZF(u,a,Math.max(h,Math.floor(a-P*F/E+V)),Math.min(A,Math.floor(a+(E-P)*F/E+V)),x)}var q=u[a],X=h,rt=A;for(Hx(u,h,a),x(u[A],q)>0&&Hx(u,h,A);X0;)rt--}x(u[h],q)===0?Hx(u,h,rt):Hx(u,++rt,A),rt<=a&&(h=rt+1),a<=rt&&(A=rt-1)}}function Hx(u,a,h){var A=u[a];u[a]=u[h],u[h]=A}function iK(u,a){return ua?1:0}function _C(u,a){let h=u.length;if(h<=1)return[u];let A=[],x,E;for(let P=0;P1)for(let P=0;Ph.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kr,this.indexArray=new Gs,this.indexArray2=new hs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.segments2=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"fill\",this.layers,h);let x=this.layers[0].layout.get(\"fill-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A,h.availableImages):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"fill\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qX),this.indexBuffer=a.createIndexBuffer(this.indexArray),this.indexBuffer2=a.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(a,h,A,x,E){for(let P of _C(h,500)){let D=0;for(let at of P)D+=at.length;let F=this.segments.prepareSegment(D,this.layoutVertexArray,this.indexArray),V=F.vertexLength,q=[],X=[];for(let at of P){if(at.length===0)continue;at!==P[0]&&X.push(q.length/2);let ct=this.segments2.prepareSegment(at.length,this.layoutVertexArray,this.indexArray2),mt=ct.vertexLength;this.layoutVertexArray.emplaceBack(at[0].x,at[0].y),this.indexArray2.emplaceBack(mt+at.length-1,mt),q.push(at[0].x),q.push(at[0].y);for(let bt=1;bt>3}if(x--,A===1||A===2)E+=u.readSVarint(),P+=u.readSVarint(),A===1&&(a&&D.push(a),a=[]),a.push(new uK(E,P));else{if(A!==7)throw new Error(\"unknown command \"+A);a&&a.push(a[0].clone())}}return a&&D.push(a),D},M_.prototype.bbox=function(){var u=this._pbf;u.pos=this._geometry;for(var a=u.readVarint()+u.pos,h=1,A=0,x=0,E=0,P=1/0,D=-1/0,F=1/0,V=-1/0;u.pos>3}if(A--,h===1||h===2)(x+=u.readSVarint())D&&(D=x),(E+=u.readSVarint())V&&(V=E);else if(h!==7)throw new Error(\"unknown command \"+h)}return[P,F,D,V]},M_.prototype.toGeoJSON=function(u,a,h){var A,x,E=this.extent*Math.pow(2,h),P=this.extent*u,D=this.extent*a,F=this.loadGeometry(),V=M_.types[this.type];function q(at){for(var ct=0;ct>3;x=P===1?A.readString():P===2?A.readFloat():P===3?A.readDouble():P===4?A.readVarint64():P===5?A.readVarint():P===6?A.readSVarint():P===7?A.readBoolean():null}return x}(h))}KF.prototype.feature=function(u){if(u<0||u>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[u];var a=this._pbf.readVarint()+this._pbf.pos;return new dK(this._pbf,a,this.extent,this._keys,this._values)};var AK=XF;function mK(u,a,h){if(u===3){var A=new AK(h,h.readVarint()+h.pos);A.length&&(a[A.name]=A)}}uA.VectorTile=function(u,a){this.layers=u.readFields(mK,{},a)},uA.VectorTileFeature=$F,uA.VectorTileLayer=XF;let gK=uA.VectorTileFeature.types,bC=Math.pow(2,13);function qx(u,a,h,A,x,E,P,D){u.emplaceBack(a,h,2*Math.floor(A*bC)+P,x*bC*2,E*bC*2,Math.round(D))}class wC{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ee,this.centroidVertexArray=new be,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.features=[],this.hasPattern=yC(\"fill-extrusion\",this.layers,h);for(let{feature:x,id:E,index:P,sourceLayerIndex:D}of a){let F=this.layers[0]._featureFilter.needGeometry,V=S(x,F);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),V,A))continue;let q={id:E,sourceLayerIndex:D,index:P,geometry:F?V.geometry:y(x),properties:x.properties,type:x.type,patterns:{}};this.hasPattern?this.features.push(vC(\"fill-extrusion\",this.layers,q,this.zoom,h)):this.addFeature(q,q.geometry,P,A,{}),h.featureIndex.insert(x,q.geometry,P,D,this.index,!0)}}addFeatures(a,h,A){for(let x of this.features){let{geometry:E}=x;this.addFeature(x,E,x.index,h,A)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,cK),this.centroidVertexBuffer=a.createVertexBuffer(this.centroidVertexArray,lK.members,!0),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(a,h,A,x,E){let P={x:0,y:0,vertexCount:0};for(let D of _C(h,500)){let F=0;for(let ct of D)F+=ct.length;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ct of D){if(ct.length===0||yK(ct))continue;let mt=0;for(let bt=0;bt=1){let jt=ct[bt-1];if(!_K(Pt,jt)){V.vertexLength+4>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Rt=Pt.sub(jt)._perp()._unit(),Gt=jt.dist(Pt);mt+Gt>32768&&(mt=0),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*Pt.x,P.y+=2*Pt.y,P.vertexCount+=2,mt+=Gt,qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*jt.x,P.y+=2*jt.y,P.vertexCount+=2;let Yt=V.vertexLength;this.indexArray.emplaceBack(Yt,Yt+2,Yt+1),this.indexArray.emplaceBack(Yt+1,Yt+2,Yt+3),V.vertexLength+=4,V.primitiveLength+=2}}}}if(V.vertexLength+F>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(F,this.layoutVertexArray,this.indexArray)),gK[a.type]!==\"Polygon\")continue;let q=[],X=[],rt=V.vertexLength;for(let ct of D)if(ct.length!==0){ct!==D[0]&&X.push(q.length/2);for(let mt=0;mten)||u.y===a.y&&(u.y<0||u.y>en)}function yK(u){return u.every(a=>a.x<0)||u.every(a=>a.x>en)||u.every(a=>a.y<0)||u.every(a=>a.y>en)}let JF;Ge(\"FillExtrusionBucket\",wC,{omit:[\"layers\",\"features\"]});var vK={get paint(){return JF=JF||new Hn({\"fill-extrusion-opacity\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new wf(ee[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class xK extends ji{constructor(a){super(a,vK)}createBucket(a){return new wC(a)}queryRadius(){return te(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(a,h,A,x,E,P,D,F){let V=_e(a,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),P.angle,D),q=this.paint.get(\"fill-extrusion-height\").evaluate(h,A),X=this.paint.get(\"fill-extrusion-base\").evaluate(h,A),rt=function(ct,mt,bt,Pt){let jt=[];for(let Rt of ct){let Gt=[Rt.x,Rt.y,0,1];Pi(Gt,Gt,mt),jt.push(new w(Gt[0]/Gt[3],Gt[1]/Gt[3]))}return jt}(V,F),at=function(ct,mt,bt,Pt){let jt=[],Rt=[],Gt=Pt[8]*mt,Yt=Pt[9]*mt,ce=Pt[10]*mt,Ne=Pt[11]*mt,ir=Pt[8]*bt,Fe=Pt[9]*bt,Re=Pt[10]*bt,Me=Pt[11]*bt;for(let Ye of ct){let Ie=[],Ae=[];for(let hr of Ye){let sr=hr.x,ri=hr.y,Tn=Pt[0]*sr+Pt[4]*ri+Pt[12],Rn=Pt[1]*sr+Pt[5]*ri+Pt[13],qs=Pt[2]*sr+Pt[6]*ri+Pt[14],Ql=Pt[3]*sr+Pt[7]*ri+Pt[15],ja=qs+ce,Is=Ql+Ne,Po=Tn+ir,$o=Rn+Fe,Ga=qs+Re,Wa=Ql+Me,Zs=new w((Tn+Gt)/Is,(Rn+Yt)/Is);Zs.z=ja/Is,Ie.push(Zs);let Ys=new w(Po/Wa,$o/Wa);Ys.z=Ga/Wa,Ae.push(Ys)}jt.push(Ie),Rt.push(Ae)}return[jt,Rt]}(x,X,q,F);return function(ct,mt,bt){let Pt=1/0;H(bt,mt)&&(Pt=t6(bt,mt[0]));for(let jt=0;jth.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(h=>{this.gradients[h.id]={}}),this.layoutVertexArray=new pr,this.layoutVertexArray2=new tr,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"line\",this.layers,h);let x=this.layers[0].layout.get(\"line-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"line\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=a.createVertexBuffer(this.layoutVertexArray2,TK)),this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,wK),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(a){if(a.properties&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_end\"))return{start:+a.properties.mapbox_clip_start,end:+a.properties.mapbox_clip_end}}addFeature(a,h,A,x,E){let P=this.layers[0].layout,D=P.get(\"line-join\").evaluate(a,{}),F=P.get(\"line-cap\"),V=P.get(\"line-miter-limit\"),q=P.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(a);for(let X of h)this.addLine(X,a,D,F,V,q);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,E,x)}addLine(a,h,A,x,E,P){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Pt=0;Pt=2&&a[F-1].equals(a[F-2]);)F--;let V=0;for(;V0;if(Ne&&Pt>V){let Me=rt.dist(at);if(Me>2*q){let Ye=rt.sub(rt.sub(at)._mult(q/Me)._round());this.updateDistance(at,Ye),this.addCurrentVertex(Ye,mt,0,0,X),at=Ye}}let Fe=at&&ct,Re=Fe?A:D?\"butt\":x;if(Fe&&Re===\"round\"&&(YtE&&(Re=\"bevel\"),Re===\"bevel\"&&(Yt>2&&(Re=\"flipbevel\"),Yt100)jt=bt.mult(-1);else{let Me=Yt*mt.add(bt).mag()/mt.sub(bt).mag();jt._perp()._mult(Me*(ir?-1:1))}this.addCurrentVertex(rt,jt,0,0,X),this.addCurrentVertex(rt,jt.mult(-1),0,0,X)}else if(Re===\"bevel\"||Re===\"fakeround\"){let Me=-Math.sqrt(Yt*Yt-1),Ye=ir?Me:0,Ie=ir?0:Me;if(at&&this.addCurrentVertex(rt,mt,Ye,Ie,X),Re===\"fakeround\"){let Ae=Math.round(180*ce/Math.PI/20);for(let hr=1;hr2*q){let Ye=rt.add(ct.sub(rt)._mult(q/Me)._round());this.updateDistance(rt,Ye),this.addCurrentVertex(Ye,bt,0,0,X),rt=Ye}}}}addCurrentVertex(a,h,A,x,E,P=!1){let D=h.y*x-h.x,F=-h.y-h.x*x;this.addHalfVertex(a,h.x+h.y*A,h.y-h.x*A,P,!1,A,E),this.addHalfVertex(a,D,F,P,!0,-x,E),this.distance>e6/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(a,h,A,x,E,P))}addHalfVertex({x:a,y:h},A,x,E,P,D,F){let V=.5*(this.lineClips?this.scaledDistance*(e6-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((a<<1)+(E?1:0),(h<<1)+(P?1:0),Math.round(63*A)+128,Math.round(63*x)+128,1+(D===0?0:D<0?-1:1)|(63&V)<<2,V>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let q=F.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,q),F.primitiveLength++),P?this.e2=q:this.e1=q}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(a,h){this.distance+=a.dist(h),this.updateScaledDistance()}}let r6,i6;Ge(\"LineBucket\",SC,{omit:[\"layers\",\"patternFeatures\"]});var n6={get paint(){return i6=i6||new Hn({\"line-opacity\":new dr(ee.paint_line[\"line-opacity\"]),\"line-color\":new dr(ee.paint_line[\"line-color\"]),\"line-translate\":new nr(ee.paint_line[\"line-translate\"]),\"line-translate-anchor\":new nr(ee.paint_line[\"line-translate-anchor\"]),\"line-width\":new dr(ee.paint_line[\"line-width\"]),\"line-gap-width\":new dr(ee.paint_line[\"line-gap-width\"]),\"line-offset\":new dr(ee.paint_line[\"line-offset\"]),\"line-blur\":new dr(ee.paint_line[\"line-blur\"]),\"line-dasharray\":new aA(ee.paint_line[\"line-dasharray\"]),\"line-pattern\":new wf(ee.paint_line[\"line-pattern\"]),\"line-gradient\":new Bd(ee.paint_line[\"line-gradient\"])})},get layout(){return r6=r6||new Hn({\"line-cap\":new nr(ee.layout_line[\"line-cap\"]),\"line-join\":new dr(ee.layout_line[\"line-join\"]),\"line-miter-limit\":new nr(ee.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new nr(ee.layout_line[\"line-round-limit\"]),\"line-sort-key\":new dr(ee.layout_line[\"line-sort-key\"])})}};class PK extends dr{possiblyEvaluate(a,h){return h=new un(Math.floor(h.zoom),{now:h.now,fadeDuration:h.fadeDuration,zoomHistory:h.zoomHistory,transition:h.transition}),super.possiblyEvaluate(a,h)}evaluate(a,h,A,x){return h=kt({},h,{zoom:Math.floor(h.zoom)}),super.evaluate(a,h,A,x)}}let rT;class IK extends ji{constructor(a){super(a,n6),this.gradientVersion=0,rT||(rT=new PK(n6.paint.properties[\"line-width\"].specification),rT.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(a){if(a===\"line-gradient\"){let h=this.gradientExpression();this.stepInterpolant=!!function(A){return A._styleExpression!==void 0}(h)&&h._styleExpression.expression instanceof sh,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(a,h){super.recalculate(a,h),this.paint._values[\"line-floorwidth\"]=rT.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,a)}createBucket(a){return new SC(a)}queryRadius(a){let h=a,A=s6(We(\"line-width\",this,h),We(\"line-gap-width\",this,h)),x=We(\"line-offset\",this,h);return A/2+Math.abs(x)+te(this.paint.get(\"line-translate\"))}queryIntersectsFeature(a,h,A,x,E,P,D){let F=_e(a,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),P.angle,D),V=D/2*s6(this.paint.get(\"line-width\").evaluate(h,A),this.paint.get(\"line-gap-width\").evaluate(h,A)),q=this.paint.get(\"line-offset\").evaluate(h,A);return q&&(x=function(X,rt){let at=[];for(let ct=0;ct=3){for(let bt=0;bt0?a+2*u:u}let CK=wn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),LK=wn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);wn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let kK=wn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);wn([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let o6=wn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),RK=wn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function DK(u,a,h){return u.sections.forEach(A=>{A.text=function(x,E,P){let D=E.layout.get(\"text-transform\").evaluate(P,{});return D===\"uppercase\"?x=x.toLocaleUpperCase():D===\"lowercase\"&&(x=x.toLocaleLowerCase()),ua.applyArabicShaping&&(x=ua.applyArabicShaping(x)),x}(A.text,a,h)}),u}wn([{name:\"triangle\",components:3,type:\"Uint16\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),wn([{type:\"Float32\",name:\"offsetX\"}]),wn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),wn([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Yx={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var Hs=24,a6=rn,l6=function(u,a,h,A,x){var E,P,D=8*x-A-1,F=(1<>1,q=-7,X=h?x-1:0,rt=h?-1:1,at=u[a+X];for(X+=rt,E=at&(1<<-q)-1,at>>=-q,q+=D;q>0;E=256*E+u[a+X],X+=rt,q-=8);for(P=E&(1<<-q)-1,E>>=-q,q+=A;q>0;P=256*P+u[a+X],X+=rt,q-=8);if(E===0)E=1-V;else{if(E===F)return P?NaN:1/0*(at?-1:1);P+=Math.pow(2,A),E-=V}return(at?-1:1)*P*Math.pow(2,E-A)},c6=function(u,a,h,A,x,E){var P,D,F,V=8*E-x-1,q=(1<>1,rt=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,at=A?0:E-1,ct=A?1:-1,mt=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(D=isNaN(a)?1:0,P=q):(P=Math.floor(Math.log(a)/Math.LN2),a*(F=Math.pow(2,-P))<1&&(P--,F*=2),(a+=P+X>=1?rt/F:rt*Math.pow(2,1-X))*F>=2&&(P++,F/=2),P+X>=q?(D=0,P=q):P+X>=1?(D=(a*F-1)*Math.pow(2,x),P+=X):(D=a*Math.pow(2,X-1)*Math.pow(2,x),P=0));x>=8;u[h+at]=255&D,at+=ct,D/=256,x-=8);for(P=P<0;u[h+at]=255&P,at+=ct,P/=256,V-=8);u[h+at-ct]|=128*mt};function rn(u){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(u)?u:new Uint8Array(u||0),this.pos=0,this.type=0,this.length=this.buf.length}rn.Varint=0,rn.Fixed64=1,rn.Bytes=2,rn.Fixed32=5;var TC=4294967296,u6=1/TC,h6=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");function Nd(u){return u.type===rn.Bytes?u.readVarint()+u.pos:u.pos+1}function E_(u,a,h){return h?4294967296*a+(u>>>0):4294967296*(a>>>0)+(u>>>0)}function f6(u,a,h){var A=a<=16383?1:a<=2097151?2:a<=268435455?3:Math.floor(Math.log(a)/(7*Math.LN2));h.realloc(A);for(var x=h.pos-1;x>=u;x--)h.buf[x+A]=h.buf[x]}function OK(u,a){for(var h=0;h>>8,u[h+2]=a>>>16,u[h+3]=a>>>24}function d6(u,a){return(u[a]|u[a+1]<<8|u[a+2]<<16)+(u[a+3]<<24)}rn.prototype={destroy:function(){this.buf=null},readFields:function(u,a,h){for(h=h||this.length;this.pos>3,E=this.pos;this.type=7&A,u(x,a,this),this.pos===E&&this.skip(A)}return a},readMessage:function(u,a){return this.readFields(u,a,this.readVarint()+this.pos)},readFixed32:function(){var u=iT(this.buf,this.pos);return this.pos+=4,u},readSFixed32:function(){var u=d6(this.buf,this.pos);return this.pos+=4,u},readFixed64:function(){var u=iT(this.buf,this.pos)+iT(this.buf,this.pos+4)*TC;return this.pos+=8,u},readSFixed64:function(){var u=iT(this.buf,this.pos)+d6(this.buf,this.pos+4)*TC;return this.pos+=8,u},readFloat:function(){var u=l6(this.buf,this.pos,!0,23,4);return this.pos+=4,u},readDouble:function(){var u=l6(this.buf,this.pos,!0,52,8);return this.pos+=8,u},readVarint:function(u){var a,h,A=this.buf;return a=127&(h=A[this.pos++]),h<128?a:(a|=(127&(h=A[this.pos++]))<<7,h<128?a:(a|=(127&(h=A[this.pos++]))<<14,h<128?a:(a|=(127&(h=A[this.pos++]))<<21,h<128?a:function(x,E,P){var D,F,V=P.buf;if(D=(112&(F=V[P.pos++]))>>4,F<128||(D|=(127&(F=V[P.pos++]))<<3,F<128)||(D|=(127&(F=V[P.pos++]))<<10,F<128)||(D|=(127&(F=V[P.pos++]))<<17,F<128)||(D|=(127&(F=V[P.pos++]))<<24,F<128)||(D|=(1&(F=V[P.pos++]))<<31,F<128))return E_(x,D,E);throw new Error(\"Expected varint not more than 10 bytes\")}(a|=(15&(h=A[this.pos]))<<28,u,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var u=this.readVarint();return u%2==1?(u+1)/-2:u/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var u=this.readVarint()+this.pos,a=this.pos;return this.pos=u,u-a>=12&&h6?function(h,A,x){return h6.decode(h.subarray(A,x))}(this.buf,a,u):function(h,A,x){for(var E=\"\",P=A;P239?4:q>223?3:q>191?2:1;if(P+rt>x)break;rt===1?q<128&&(X=q):rt===2?(192&(D=h[P+1]))==128&&(X=(31&q)<<6|63&D)<=127&&(X=null):rt===3?(F=h[P+2],(192&(D=h[P+1]))==128&&(192&F)==128&&((X=(15&q)<<12|(63&D)<<6|63&F)<=2047||X>=55296&&X<=57343)&&(X=null)):rt===4&&(F=h[P+2],V=h[P+3],(192&(D=h[P+1]))==128&&(192&F)==128&&(192&V)==128&&((X=(15&q)<<18|(63&D)<<12|(63&F)<<6|63&V)<=65535||X>=1114112)&&(X=null)),X===null?(X=65533,rt=1):X>65535&&(X-=65536,E+=String.fromCharCode(X>>>10&1023|55296),X=56320|1023&X),E+=String.fromCharCode(X),P+=rt}return E}(this.buf,a,u)},readBytes:function(){var u=this.readVarint()+this.pos,a=this.buf.subarray(this.pos,u);return this.pos=u,a},readPackedVarint:function(u,a){if(this.type!==rn.Bytes)return u.push(this.readVarint(a));var h=Nd(this);for(u=u||[];this.pos127;);else if(a===rn.Bytes)this.pos=this.readVarint()+this.pos;else if(a===rn.Fixed32)this.pos+=4;else{if(a!==rn.Fixed64)throw new Error(\"Unimplemented type: \"+a);this.pos+=8}},writeTag:function(u,a){this.writeVarint(u<<3|a)},realloc:function(u){for(var a=this.length||16;a268435455||u<0?function(a,h){var A,x;if(a>=0?(A=a%4294967296|0,x=a/4294967296|0):(x=~(-a/4294967296),4294967295^(A=~(-a%4294967296))?A=A+1|0:(A=0,x=x+1|0)),a>=18446744073709552e3||a<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");h.realloc(10),function(E,P,D){D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,D.buf[D.pos]=127&(E>>>=7)}(A,0,h),function(E,P){var D=(7&E)<<4;P.buf[P.pos++]|=D|((E>>>=3)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E)))))}(x,h)}(u,this):(this.realloc(4),this.buf[this.pos++]=127&u|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=u>>>7&127))))},writeSVarint:function(u){this.writeVarint(u<0?2*-u-1:2*u)},writeBoolean:function(u){this.writeVarint(!!u)},writeString:function(u){u=String(u),this.realloc(4*u.length),this.pos++;var a=this.pos;this.pos=function(A,x,E){for(var P,D,F=0;F55295&&P<57344){if(!D){P>56319||F+1===x.length?(A[E++]=239,A[E++]=191,A[E++]=189):D=P;continue}if(P<56320){A[E++]=239,A[E++]=191,A[E++]=189,D=P;continue}P=D-55296<<10|P-56320|65536,D=null}else D&&(A[E++]=239,A[E++]=191,A[E++]=189,D=null);P<128?A[E++]=P:(P<2048?A[E++]=P>>6|192:(P<65536?A[E++]=P>>12|224:(A[E++]=P>>18|240,A[E++]=P>>12&63|128),A[E++]=P>>6&63|128),A[E++]=63&P|128)}return E}(this.buf,u,this.pos);var h=this.pos-a;h>=128&&f6(a,h,this),this.pos=a-1,this.writeVarint(h),this.pos+=h},writeFloat:function(u){this.realloc(4),c6(this.buf,u,this.pos,!0,23,4),this.pos+=4},writeDouble:function(u){this.realloc(8),c6(this.buf,u,this.pos,!0,52,8),this.pos+=8},writeBytes:function(u){var a=u.length;this.writeVarint(a),this.realloc(a);for(var h=0;h=128&&f6(h,A,this),this.pos=h-1,this.writeVarint(A),this.pos+=A},writeMessage:function(u,a,h){this.writeTag(u,rn.Bytes),this.writeRawMessage(a,h)},writePackedVarint:function(u,a){a.length&&this.writeMessage(u,OK,a)},writePackedSVarint:function(u,a){a.length&&this.writeMessage(u,BK,a)},writePackedBoolean:function(u,a){a.length&&this.writeMessage(u,NK,a)},writePackedFloat:function(u,a){a.length&&this.writeMessage(u,FK,a)},writePackedDouble:function(u,a){a.length&&this.writeMessage(u,zK,a)},writePackedFixed32:function(u,a){a.length&&this.writeMessage(u,UK,a)},writePackedSFixed32:function(u,a){a.length&&this.writeMessage(u,VK,a)},writePackedFixed64:function(u,a){a.length&&this.writeMessage(u,jK,a)},writePackedSFixed64:function(u,a){a.length&&this.writeMessage(u,GK,a)},writeBytesField:function(u,a){this.writeTag(u,rn.Bytes),this.writeBytes(a)},writeFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFixed32(a)},writeSFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeSFixed32(a)},writeFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeFixed64(a)},writeSFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeSFixed64(a)},writeVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeVarint(a)},writeSVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeSVarint(a)},writeStringField:function(u,a){this.writeTag(u,rn.Bytes),this.writeString(a)},writeFloatField:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFloat(a)},writeDoubleField:function(u,a){this.writeTag(u,rn.Fixed64),this.writeDouble(a)},writeBooleanField:function(u,a){this.writeVarintField(u,!!a)}};var MC=c(a6);let EC=3;function WK(u,a,h){u===1&&h.readMessage(HK,a)}function HK(u,a,h){if(u===3){let{id:A,bitmap:x,width:E,height:P,left:D,top:F,advance:V}=h.readMessage(qK,{});a.push({id:A,bitmap:new Vx({width:E+2*EC,height:P+2*EC},x),metrics:{width:E,height:P,left:D,top:F,advance:V}})}}function qK(u,a,h){u===1?a.id=h.readVarint():u===2?a.bitmap=h.readBytes():u===3?a.width=h.readVarint():u===4?a.height=h.readVarint():u===5?a.left=h.readSVarint():u===6?a.top=h.readSVarint():u===7&&(a.advance=h.readVarint())}let p6=EC;function A6(u){let a=0,h=0;for(let P of u)a+=P.w*P.h,h=Math.max(h,P.w);u.sort((P,D)=>D.h-P.h);let A=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(a/.95)),h),h:1/0}],x=0,E=0;for(let P of u)for(let D=A.length-1;D>=0;D--){let F=A[D];if(!(P.w>F.w||P.h>F.h)){if(P.x=F.x,P.y=F.y,E=Math.max(E,P.y+P.h),x=Math.max(x,P.x+P.w),P.w===F.w&&P.h===F.h){let V=A.pop();D=0&&A>=a&&sT[this.text.charCodeAt(A)];A--)h--;this.text=this.text.substring(a,h),this.sectionIndex=this.sectionIndex.slice(a,h)}substring(a,h){let A=new I_;return A.text=this.text.substring(a,h),A.sectionIndex=this.sectionIndex.slice(a,h),A.sections=this.sections,A}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((a,h)=>Math.max(a,this.sections[h].scale),0)}addTextSection(a,h){this.text+=a.text,this.sections.push($x.forText(a.scale,a.fontStack||h));let A=this.sections.length-1;for(let x=0;x=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function nT(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt){let bt=I_.fromFeature(u,x),Pt;X===n.ai.vertical&&bt.verticalizePunctuation();let{processBidirectionalText:jt,processStyledBidirectionalText:Rt}=ua;if(jt&&bt.sections.length===1){Pt=[];let ce=jt(bt.toString(),IC(bt,V,E,a,A,at,ct));for(let Ne of ce){let ir=new I_;ir.text=Ne,ir.sections=bt.sections;for(let Fe=0;Fe0&&Vd>_l&&(_l=Vd)}else{let Uc=ir[di.fontStack],vl=Uc&&Uc[Xo];if(vl&&vl.rect)vh=vl.rect,xu=vl.metrics;else{let Vd=Ne[di.fontStack],e1=Vd&&Vd[Xo];if(!e1)continue;xu=e1.metrics}$s=(Ys-di.scale)*Hs}bu?(ce.verticalizable=!0,fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=Ud*di.scale+hr):(fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=xu.advance*di.scale+hr)}fa.length!==0&&(qs=Math.max(Tn-hr,qs),QK(fa,0,fa.length-1,ja,_l)),Tn=0;let yl=Me*Ys+_l;Ha.lineOffset=Math.max(_l,ha),Rn+=yl,Ql=Math.max(yl,Ql),++Is}var Po;let $o=Rn-Qx,{horizontalAlign:Ga,verticalAlign:Wa}=CC(Ye);(function(Zs,Ys,ha,Ha,fa,_l,yl,Qs,di){let da=(Ys-ha)*fa,Xo=0;Xo=_l!==yl?-Qs*Ha-Qx:(-Ha*di+.5)*yl;for(let $s of Zs)for(let xu of $s.positionedGlyphs)xu.x+=da,xu.y+=Xo})(ce.positionedLines,ja,Ga,Wa,qs,Ql,Me,$o,Re.length),ce.top+=-Wa*$o,ce.bottom=ce.top+$o,ce.left+=-Ga*qs,ce.right=ce.left+qs}(Yt,a,h,A,Pt,P,D,F,X,V,rt,mt),!function(ce){for(let Ne of ce)if(Ne.positionedGlyphs.length!==0)return!1;return!0}(Gt)&&Yt}let sT={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZK={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function g6(u,a,h,A,x,E){if(a.imageName){let P=A[a.imageName];return P?P.displaySize[0]*a.scale*Hs/E+x:0}{let P=h[a.fontStack],D=P&&P[u];return D?D.metrics.advance*a.scale+x:0}}function _6(u,a,h,A){let x=Math.pow(u-a,2);return A?u=0,q=0;for(let rt=0;rtP.id),this.index=a.index,this.pixelRatio=a.pixelRatio,this.sourceLayerIndex=a.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Zr([]),this.placementViewportMatrix=Zr([]);let h=this.layers[0]._unevaluatedLayout._values;this.textSizeData=b6(this.zoom,h[\"text-size\"]),this.iconSizeData=b6(this.zoom,h[\"icon-size\"]);let A=this.layers[0].layout,x=A.get(\"symbol-sort-key\"),E=A.get(\"symbol-z-order\");this.canOverlap=LC(A,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||LC(A,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||A.get(\"text-ignore-placement\")||A.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=E!==\"viewport-y\"&&!x.isConstant(),this.sortFeaturesByY=(E===\"viewport-y\"||E===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,A.get(\"symbol-placement\")===\"point\"&&(this.writingModes=A.get(\"text-writing-mode\").map(P=>n.ai[P])),this.stateDependentLayerIds=this.layers.filter(P=>P.isStateDependent()).map(P=>P.id),this.sourceID=a.sourceID}createArrays(){this.text=new RC(new Va(this.layers,this.zoom,a=>/^text/.test(a))),this.icon=new RC(new Va(this.layers,this.zoom,a=>/^icon/.test(a))),this.glyphOffsetArray=new Bt,this.lineVertexArray=new Qt,this.symbolInstances=new St,this.textAnchorOffsets=new oe}calculateGlyphDependencies(a,h,A,x,E){for(let P=0;P0)&&(P.value.kind!==\"constant\"||P.value.value.length>0),q=F.value.kind!==\"constant\"||!!F.value.value||Object.keys(F.parameters).length>0,X=E.get(\"symbol-sort-key\");if(this.features=[],!V&&!q)return;let rt=h.iconDependencies,at=h.glyphDependencies,ct=h.availableImages,mt=new un(this.zoom);for(let{feature:bt,id:Pt,index:jt,sourceLayerIndex:Rt}of a){let Gt=x._featureFilter.needGeometry,Yt=S(bt,Gt);if(!x._featureFilter.filter(mt,Yt,A))continue;let ce,Ne;if(Gt||(Yt.geometry=y(bt)),V){let Fe=x.getValueAndResolveTokens(\"text-field\",Yt,A,ct),Re=ln.factory(Fe);JK(Re)&&(this.hasRTLText=!0),(!this.hasRTLText||f0()===\"unavailable\"||this.hasRTLText&&ua.isParsed())&&(ce=DK(Re,x,Yt))}if(q){let Fe=x.getValueAndResolveTokens(\"icon-image\",Yt,A,ct);Ne=Fe instanceof Gn?Fe:Gn.fromString(Fe)}if(!ce&&!Ne)continue;let ir=this.sortFeaturesByKey?X.evaluate(Yt,{},A):void 0;if(this.features.push({id:Pt,text:ce,icon:Ne,index:jt,sourceLayerIndex:Rt,geometry:Yt.geometry,properties:bt.properties,type:XK[bt.type],sortKey:ir}),Ne&&(rt[Ne.name]=!0),ce){let Fe=P.evaluate(Yt,{},A).join(\",\"),Re=E.get(\"text-rotation-alignment\")!==\"viewport\"&&E.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(n.ai.vertical)>=0;for(let Me of ce.sections)if(Me.image)rt[Me.image.name]=!0;else{let Ye=o0(ce.toString()),Ie=Me.fontStack||Fe,Ae=at[Ie]=at[Ie]||{};this.calculateGlyphDependencies(Me.text,Ae,Re,this.allowVerticalPlacement,Ye)}}}E.get(\"symbol-placement\")===\"line\"&&(this.features=function(bt){let Pt={},jt={},Rt=[],Gt=0;function Yt(Fe){Rt.push(bt[Fe]),Gt++}function ce(Fe,Re,Me){let Ye=jt[Fe];return delete jt[Fe],jt[Re]=Ye,Rt[Ye].geometry[0].pop(),Rt[Ye].geometry[0]=Rt[Ye].geometry[0].concat(Me[0]),Ye}function Ne(Fe,Re,Me){let Ye=Pt[Re];return delete Pt[Re],Pt[Fe]=Ye,Rt[Ye].geometry[0].shift(),Rt[Ye].geometry[0]=Me[0].concat(Rt[Ye].geometry[0]),Ye}function ir(Fe,Re,Me){let Ye=Me?Re[0][Re[0].length-1]:Re[0][0];return`${Fe}:${Ye.x}:${Ye.y}`}for(let Fe=0;FeFe.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((bt,Pt)=>bt.sortKey-Pt.sortKey)}update(a,h,A){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(a,h,this.layers,A),this.icon.programConfigurations.updatePaintArrays(a,h,this.layers,A))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(a){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(a),this.iconCollisionBox.upload(a)),this.text.upload(a,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(a,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(a,h){let A=this.lineVertexArray.length;if(a.segment!==void 0){let x=a.dist(h[a.segment+1]),E=a.dist(h[a.segment]),P={};for(let D=a.segment+1;D=0;D--)P[D]={x:h[D].x,y:h[D].y,tileUnitDistanceFromAnchor:E},D>0&&(E+=h[D-1].dist(h[D]));for(let D=0;D0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(a,h){let A=a.placedSymbolArray.get(h),x=A.vertexStartIndex+4*A.numGlyphs;for(let E=A.vertexStartIndex;Ex[D]-x[F]||E[F]-E[D]),P}addToSortKeyRanges(a,h){let A=this.sortKeyRanges[this.sortKeyRanges.length-1];A&&A.sortKey===h?A.symbolInstanceEnd=a+1:this.sortKeyRanges.push({sortKey:h,symbolInstanceStart:a,symbolInstanceEnd:a+1})}sortFeatures(a){if(this.sortFeaturesByY&&this.sortedAngle!==a&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(a),this.sortedAngle=a,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let h of this.symbolInstanceIndexes){let A=this.symbolInstances.get(h);this.featureSortOrder.push(A.featureIndex),[A.rightJustifiedTextSymbolIndex,A.centerJustifiedTextSymbolIndex,A.leftJustifiedTextSymbolIndex].forEach((x,E,P)=>{x>=0&&P.indexOf(x)===E&&this.addIndicesForPlacedSymbol(this.text,x)}),A.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,A.verticalPlacedTextSymbolIndex),A.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.placedIconSymbolIndex),A.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let w6,S6;Ge(\"SymbolBucket\",C_,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),C_.MAX_GLYPHS=65535,C_.addDynamicAttributes=kC;var OC={get paint(){return S6=S6||new Hn({\"icon-opacity\":new dr(ee.paint_symbol[\"icon-opacity\"]),\"icon-color\":new dr(ee.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new dr(ee.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new dr(ee.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new dr(ee.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new nr(ee.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new nr(ee.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new dr(ee.paint_symbol[\"text-opacity\"]),\"text-color\":new dr(ee.paint_symbol[\"text-color\"],{runtimeType:Us,getOverride:u=>u.textColor,hasOverride:u=>!!u.textColor}),\"text-halo-color\":new dr(ee.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new dr(ee.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new dr(ee.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new nr(ee.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new nr(ee.paint_symbol[\"text-translate-anchor\"])})},get layout(){return w6=w6||new Hn({\"symbol-placement\":new nr(ee.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new nr(ee.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new nr(ee.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new dr(ee.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new nr(ee.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new nr(ee.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new nr(ee.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new nr(ee.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new nr(ee.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new nr(ee.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new dr(ee.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new nr(ee.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new nr(ee.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new dr(ee.layout_symbol[\"icon-image\"]),\"icon-rotate\":new dr(ee.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new dr(ee.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new nr(ee.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new dr(ee.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new dr(ee.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new nr(ee.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new nr(ee.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new nr(ee.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new dr(ee.layout_symbol[\"text-field\"]),\"text-font\":new dr(ee.layout_symbol[\"text-font\"]),\"text-size\":new dr(ee.layout_symbol[\"text-size\"]),\"text-max-width\":new dr(ee.layout_symbol[\"text-max-width\"]),\"text-line-height\":new nr(ee.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new dr(ee.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new dr(ee.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new dr(ee.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new nr(ee.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new dr(ee.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new dr(ee.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new nr(ee.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new nr(ee.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new dr(ee.layout_symbol[\"text-rotate\"]),\"text-padding\":new nr(ee.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new nr(ee.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new dr(ee.layout_symbol[\"text-transform\"]),\"text-offset\":new dr(ee.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new nr(ee.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new nr(ee.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new nr(ee.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new nr(ee.layout_symbol[\"text-optional\"])})}};class T6{constructor(a){if(a.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=a.property.overrides?a.property.overrides.runtimeType:Ca,this.defaultValue=a}evaluate(a){if(a.formattedSection){let h=this.defaultValue.property.overrides;if(h&&h.hasOverride(a.formattedSection))return h.getOverride(a.formattedSection)}return a.feature&&a.featureState?this.defaultValue.evaluate(a.feature,a.featureState):this.defaultValue.property.specification.default}eachChild(a){this.defaultValue.isConstant()||a(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ge(\"FormatSectionOverride\",T6,{omit:[\"defaultValue\"]});class aT extends ji{constructor(a){super(a,OC)}recalculate(a,h){if(super.recalculate(a,h),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let A=this.layout.get(\"text-writing-mode\");if(A){let x=[];for(let E of A)x.indexOf(E)<0&&x.push(E);this.layout._values[\"text-writing-mode\"]=x}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(a,h,A,x){let E=this.layout.get(a).evaluate(h,{},A,x),P=this._unevaluatedLayout._values[a];return P.isDataDriven()||Yp(P.value)||!E?E:function(D,F){return F.replace(/{([^{}]+)}/g,(V,q)=>D&&q in D?String(D[q]):\"\")}(h.properties,E)}createBucket(a){return new C_(a)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let a of OC.paint.overridableProperties){if(!aT.hasPaintOverride(this.layout,a))continue;let h=this.paint.get(a),A=new T6(h),x=new Jm(A,h.property.specification),E=null;E=h.value.kind===\"constant\"||h.value.kind===\"source\"?new t0(\"source\",x):new wt(\"composite\",x,h.value.zoomStops),this.paint._values[a]=new Mo(h.property,E,h.parameters)}}_handleOverridablePaintPropertyUpdate(a,h,A){return!(!this.layout||h.isDataDriven()||A.isDataDriven())&&aT.hasPaintOverride(this.layout,a)}static hasPaintOverride(a,h){let A=a.get(\"text-field\"),x=OC.paint.properties[h],E=!1,P=D=>{for(let F of D)if(x.overrides&&x.overrides.hasOverride(F))return void(E=!0)};if(A.value.kind===\"constant\"&&A.value.value instanceof ln)P(A.value.value.sections);else if(A.value.kind===\"source\"){let D=V=>{E||(V instanceof Gl&&Ki(V.value)===gt?P(V.value.sections):V instanceof Ti?P(V.sections):V.eachChild(D))},F=A.value;F._styleExpression&&D(F._styleExpression.expression)}return E}}let M6;var tJ={get paint(){return M6=M6||new Hn({\"background-color\":new nr(ee.paint_background[\"background-color\"]),\"background-pattern\":new aA(ee.paint_background[\"background-pattern\"]),\"background-opacity\":new nr(ee.paint_background[\"background-opacity\"])})}};class eJ extends ji{constructor(a){super(a,tJ)}}let E6;var rJ={get paint(){return E6=E6||new Hn({\"raster-opacity\":new nr(ee.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new nr(ee.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new nr(ee.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new nr(ee.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new nr(ee.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new nr(ee.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new nr(ee.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new nr(ee.paint_raster[\"raster-fade-duration\"])})}};class iJ extends ji{constructor(a){super(a,rJ)}}class nJ extends ji{constructor(a){super(a,{}),this.onAdd=h=>{this.implementation.onAdd&&this.implementation.onAdd(h,h.painter.context.gl)},this.onRemove=h=>{this.implementation.onRemove&&this.implementation.onRemove(h,h.painter.context.gl)},this.implementation=a}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class sJ{constructor(a){this._callback=a,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._callback()},0))}remove(){delete this._channel,this._callback=()=>{}}}let BC=63710088e-1;class dA{constructor(a,h){if(isNaN(a)||isNaN(h))throw new Error(`Invalid LngLat object: (${a}, ${h})`);if(this.lng=+a,this.lat=+h,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dA(Et(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(a){let h=Math.PI/180,A=this.lat*h,x=a.lat*h,E=Math.sin(A)*Math.sin(x)+Math.cos(A)*Math.cos(x)*Math.cos((a.lng-this.lng)*h);return BC*Math.acos(Math.min(E,1))}static convert(a){if(a instanceof dA)return a;if(Array.isArray(a)&&(a.length===2||a.length===3))return new dA(Number(a[0]),Number(a[1]));if(!Array.isArray(a)&&typeof a==\"object\"&&a!==null)return new dA(Number(\"lng\"in a?a.lng:a.lon),Number(a.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let P6=2*Math.PI*BC;function I6(u){return P6*Math.cos(u*Math.PI/180)}function C6(u){return(180+u)/360}function L6(u){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u*Math.PI/360)))/360}function k6(u,a){return u/I6(a)}function R6(u){return 360*u-180}function FC(u){return 360/Math.PI*Math.atan(Math.exp((180-360*u)*Math.PI/180))-90}class lT{constructor(a,h,A=0){this.x=+a,this.y=+h,this.z=+A}static fromLngLat(a,h=0){let A=dA.convert(a);return new lT(C6(A.lng),L6(A.lat),k6(h,A.lat))}toLngLat(){return new dA(R6(this.x),FC(this.y))}toAltitude(){return this.z*I6(FC(this.y))}meterInMercatorCoordinateUnits(){return 1/P6*(a=FC(this.y),1/Math.cos(a*Math.PI/180));var a}}function D6(u,a,h){var A=2*Math.PI*6378137/256/Math.pow(2,h);return[u*A-2*Math.PI*6378137/2,a*A-2*Math.PI*6378137/2]}class zC{constructor(a,h,A){if(a<0||a>25||A<0||A>=Math.pow(2,a)||h<0||h>=Math.pow(2,a))throw new Error(`x=${h}, y=${A}, z=${a} outside of bounds. 0<=x<${Math.pow(2,a)}, 0<=y<${Math.pow(2,a)} 0<=z<=25 `);this.z=a,this.x=h,this.y=A,this.key=Kx(0,a,a,h,A)}equals(a){return this.z===a.z&&this.x===a.x&&this.y===a.y}url(a,h,A){let x=(P=this.y,D=this.z,F=D6(256*(E=this.x),256*(P=Math.pow(2,D)-P-1),D),V=D6(256*(E+1),256*(P+1),D),F[0]+\",\"+F[1]+\",\"+V[0]+\",\"+V[1]);var E,P,D,F,V;let q=function(X,rt,at){let ct,mt=\"\";for(let bt=X;bt>0;bt--)ct=1<1?\"@2x\":\"\").replace(/{quadkey}/g,q).replace(/{bbox-epsg-3857}/g,x)}isChildOf(a){let h=this.z-a.z;return h>0&&a.x===this.x>>h&&a.y===this.y>>h}getTilePoint(a){let h=Math.pow(2,this.z);return new w((a.x*h-this.x)*en,(a.y*h-this.y)*en)}toString(){return`${this.z}/${this.x}/${this.y}`}}class O6{constructor(a,h){this.wrap=a,this.canonical=h,this.key=Kx(a,h.z,h.z,h.x,h.y)}}class Nc{constructor(a,h,A,x,E){if(a= z; overscaledZ = ${a}; z = ${A}`);this.overscaledZ=a,this.wrap=h,this.canonical=new zC(A,+x,+E),this.key=Kx(h,a,A,x,E)}clone(){return new Nc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(a){return this.overscaledZ===a.overscaledZ&&this.wrap===a.wrap&&this.canonical.equals(a.canonical)}scaledTo(a){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let h=this.canonical.z-a;return a>this.canonical.z?new Nc(a,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Nc(a,this.wrap,a,this.canonical.x>>h,this.canonical.y>>h)}calculateScaledKey(a,h){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let A=this.canonical.z-a;return a>this.canonical.z?Kx(this.wrap*+h,a,this.canonical.z,this.canonical.x,this.canonical.y):Kx(this.wrap*+h,a,a,this.canonical.x>>A,this.canonical.y>>A)}isChildOf(a){if(a.wrap!==this.wrap)return!1;let h=this.canonical.z-a.canonical.z;return a.overscaledZ===0||a.overscaledZ>h&&a.canonical.y===this.canonical.y>>h}children(a){if(this.overscaledZ>=a)return[new Nc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let h=this.canonical.z+1,A=2*this.canonical.x,x=2*this.canonical.y;return[new Nc(h,this.wrap,h,A,x),new Nc(h,this.wrap,h,A+1,x),new Nc(h,this.wrap,h,A,x+1),new Nc(h,this.wrap,h,A+1,x+1)]}isLessThan(a){return this.wrapa.wrap)&&(this.overscaledZa.overscaledZ)&&(this.canonical.xa.canonical.x)&&this.canonical.ythis.max&&(this.max=X),X=this.dim+1||h<-1||h>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(h+1)*this.stride+(a+1)}unpack(a,h,A){return a*this.redFactor+h*this.greenFactor+A*this.blueFactor-this.baseShift}getPixels(){return new zc({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(a,h,A){if(this.dim!==a.dim)throw new Error(\"dem dimension mismatch\");let x=h*this.dim,E=h*this.dim+this.dim,P=A*this.dim,D=A*this.dim+this.dim;switch(h){case-1:x=E-1;break;case 1:E=x+1}switch(A){case-1:P=D-1;break;case 1:D=P+1}let F=-h*this.dim,V=-A*this.dim;for(let q=P;q=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${a} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[a]}}class z6{constructor(a,h,A,x,E){this.type=\"Feature\",this._vectorTileFeature=a,a._z=h,a._x=A,a._y=x,this.properties=a.properties,this.id=E}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(a){this._geometry=a}toJSON(){let a={geometry:this.geometry};for(let h in this)h!==\"_geometry\"&&h!==\"_vectorTileFeature\"&&(a[h]=this[h]);return a}}class N6{constructor(a,h){this.tileID=a,this.x=a.canonical.x,this.y=a.canonical.y,this.z=a.canonical.z,this.grid=new Na(en,16,0),this.grid3D=new Na(en,16,0),this.featureIndexArray=new he,this.promoteId=h}insert(a,h,A,x,E,P){let D=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(A,x,E);let F=P?this.grid3D:this.grid;for(let V=0;V=0&&X[3]>=0&&F.insert(D,X[0],X[1],X[2],X[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new uA.VectorTile(new MC(this.rawTileData)).layers,this.sourceLayerCoder=new F6(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(a,h,A,x){this.loadVTLayers();let E=a.params||{},P=en/a.tileSize/a.scale,D=r0(E.filter),F=a.queryGeometry,V=a.queryPadding*P,q=V6(F),X=this.grid.query(q.minX-V,q.minY-V,q.maxX+V,q.maxY+V),rt=V6(a.cameraQueryGeometry),at=this.grid3D.query(rt.minX-V,rt.minY-V,rt.maxX+V,rt.maxY+V,(bt,Pt,jt,Rt)=>function(Gt,Yt,ce,Ne,ir){for(let Re of Gt)if(Yt<=Re.x&&ce<=Re.y&&Ne>=Re.x&&ir>=Re.y)return!0;let Fe=[new w(Yt,ce),new w(Yt,ir),new w(Ne,ir),new w(Ne,ce)];if(Gt.length>2){for(let Re of Fe)if(ne(Gt,Re))return!0}for(let Re=0;Re(Rt||(Rt=y(Gt)),Yt.queryIntersectsFeature(F,Gt,ce,Rt,this.z,a.transform,P,a.pixelPosMatrix)))}return ct}loadMatchingFeature(a,h,A,x,E,P,D,F,V,q,X){let rt=this.bucketLayerIDs[h];if(P&&!function(bt,Pt){for(let jt=0;jt=0)return!0;return!1}(P,rt))return;let at=this.sourceLayerCoder.decode(A),ct=this.vtLayers[at].feature(x);if(E.needGeometry){let bt=S(ct,!0);if(!E.filter(new un(this.tileID.overscaledZ),bt,this.tileID.canonical))return}else if(!E.filter(new un(this.tileID.overscaledZ),ct))return;let mt=this.getId(ct,at);for(let bt=0;bt{let D=a instanceof oA?a.get(P):null;return D&&D.evaluate?D.evaluate(h,A,x):D})}function V6(u){let a=1/0,h=1/0,A=-1/0,x=-1/0;for(let E of u)a=Math.min(a,E.x),h=Math.min(h,E.y),A=Math.max(A,E.x),x=Math.max(x,E.y);return{minX:a,minY:h,maxX:A,maxY:x}}function oJ(u,a){return a-u}function j6(u,a,h,A,x){let E=[];for(let P=0;P=A&&X.x>=A||(q.x>=A?q=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round():X.x>=A&&(X=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round()),q.y>=x&&X.y>=x||(q.y>=x?q=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round():X.y>=x&&(X=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round()),F&&q.equals(F[F.length-1])||(F=[q],E.push(F)),F.push(X)))))}}return E}Ge(\"FeatureIndex\",N6,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class pA extends w{constructor(a,h,A,x){super(a,h),this.angle=A,x!==void 0&&(this.segment=x)}clone(){return new pA(this.x,this.y,this.angle,this.segment)}}function G6(u,a,h,A,x){if(a.segment===void 0||h===0)return!0;let E=a,P=a.segment+1,D=0;for(;D>-h/2;){if(P--,P<0)return!1;D-=u[P].dist(E),E=u[P]}D+=u[P].dist(u[P+1]),P++;let F=[],V=0;for(;DA;)V-=F.shift().angleDelta;if(V>x)return!1;P++,D+=q.dist(X)}return!0}function W6(u){let a=0;for(let h=0;hV){let ct=(V-F)/at,mt=Da.number(X.x,rt.x,ct),bt=Da.number(X.y,rt.y,ct),Pt=new pA(mt,bt,rt.angleTo(X),q);return Pt._round(),!P||G6(u,Pt,D,P,a)?Pt:void 0}F+=at}}function lJ(u,a,h,A,x,E,P,D,F){let V=H6(A,E,P),q=q6(A,x),X=q*P,rt=u[0].x===0||u[0].x===F||u[0].y===0||u[0].y===F;return a-X
=0&&Gt=0&&Yt=0&&rt+V<=q){let ce=new pA(Gt,Yt,jt,ct);ce._round(),A&&!G6(u,ce,E,A,x)||at.push(ce)}}X+=Pt}return D||at.length||P||(at=Z6(u,X/2,h,A,x,E,P,!0,F)),at}Ge(\"Anchor\",pA);let L_=gl;function Y6(u,a,h,A){let x=[],E=u.image,P=E.pixelRatio,D=E.paddedRect.w-2*L_,F=E.paddedRect.h-2*L_,V=u.right-u.left,q=u.bottom-u.top,X=E.stretchX||[[0,D]],rt=E.stretchY||[[0,F]],at=(Me,Ye)=>Me+Ye[1]-Ye[0],ct=X.reduce(at,0),mt=rt.reduce(at,0),bt=D-ct,Pt=F-mt,jt=0,Rt=ct,Gt=0,Yt=mt,ce=0,Ne=bt,ir=0,Fe=Pt;if(E.content&&A){let Me=E.content;jt=cT(X,0,Me[0]),Gt=cT(rt,0,Me[1]),Rt=cT(X,Me[0],Me[2]),Yt=cT(rt,Me[1],Me[3]),ce=Me[0]-jt,ir=Me[1]-Gt,Ne=Me[2]-Me[0]-Rt,Fe=Me[3]-Me[1]-Yt}let Re=(Me,Ye,Ie,Ae)=>{let hr=uT(Me.stretch-jt,Rt,V,u.left),sr=hT(Me.fixed-ce,Ne,Me.stretch,ct),ri=uT(Ye.stretch-Gt,Yt,q,u.top),Tn=hT(Ye.fixed-ir,Fe,Ye.stretch,mt),Rn=uT(Ie.stretch-jt,Rt,V,u.left),qs=hT(Ie.fixed-ce,Ne,Ie.stretch,ct),Ql=uT(Ae.stretch-Gt,Yt,q,u.top),ja=hT(Ae.fixed-ir,Fe,Ae.stretch,mt),Is=new w(hr,ri),Po=new w(Rn,ri),$o=new w(Rn,Ql),Ga=new w(hr,Ql),Wa=new w(sr/P,Tn/P),Zs=new w(qs/P,ja/P),Ys=a*Math.PI/180;if(Ys){let fa=Math.sin(Ys),_l=Math.cos(Ys),yl=[_l,-fa,fa,_l];Is._matMult(yl),Po._matMult(yl),Ga._matMult(yl),$o._matMult(yl)}let ha=Me.stretch+Me.fixed,Ha=Ye.stretch+Ye.fixed;return{tl:Is,tr:Po,bl:Ga,br:$o,tex:{x:E.paddedRect.x+L_+ha,y:E.paddedRect.y+L_+Ha,w:Ie.stretch+Ie.fixed-ha,h:Ae.stretch+Ae.fixed-Ha},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Wa,pixelOffsetBR:Zs,minFontScaleX:Ne/P/V,minFontScaleY:Fe/P/q,isSDF:h}};if(A&&(E.stretchX||E.stretchY)){let Me=Q6(X,bt,ct),Ye=Q6(rt,Pt,mt);for(let Ie=0;Ie0&&(ct=Math.max(10,ct),this.circleDiameter=ct)}else{let X=P.top*D-F[0],rt=P.bottom*D+F[2],at=P.left*D-F[3],ct=P.right*D+F[1],mt=P.collisionPadding;if(mt&&(at-=mt[0]*D,X-=mt[1]*D,ct+=mt[2]*D,rt+=mt[3]*D),q){let bt=new w(at,X),Pt=new w(ct,X),jt=new w(at,rt),Rt=new w(ct,rt),Gt=q*Math.PI/180;bt._rotate(Gt),Pt._rotate(Gt),jt._rotate(Gt),Rt._rotate(Gt),at=Math.min(bt.x,Pt.x,jt.x,Rt.x),ct=Math.max(bt.x,Pt.x,jt.x,Rt.x),X=Math.min(bt.y,Pt.y,jt.y,Rt.y),rt=Math.max(bt.y,Pt.y,jt.y,Rt.y)}a.emplaceBack(h.x,h.y,at,X,ct,rt,A,x,E)}this.boxEndIndex=a.length}}class cJ{constructor(a=[],h=uJ){if(this.data=a,this.length=this.data.length,this.compare=h,this.length>0)for(let A=(this.length>>1)-1;A>=0;A--)this._down(A)}push(a){this.data.push(a),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;let a=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),a}peek(){return this.data[0]}_up(a){let{data:h,compare:A}=this,x=h[a];for(;a>0;){let E=a-1>>1,P=h[E];if(A(x,P)>=0)break;h[a]=P,a=E}h[a]=x}_down(a){let{data:h,compare:A}=this,x=this.length>>1,E=h[a];for(;a=0)break;h[a]=D,a=P}h[a]=E}}function uJ(u,a){return ua?1:0}function hJ(u,a=1,h=!1){let A=1/0,x=1/0,E=-1/0,P=-1/0,D=u[0];for(let at=0;atE)&&(E=ct.x),(!at||ct.y>P)&&(P=ct.y)}let F=Math.min(E-A,P-x),V=F/2,q=new cJ([],fJ);if(F===0)return new w(A,x);for(let at=A;atX.d||!X.d)&&(X=at,h&&console.log(\"found best %d after %d probes\",Math.round(1e4*at.d)/1e4,rt)),at.max-X.d<=a||(V=at.h/2,q.push(new k_(at.p.x-V,at.p.y-V,V,u)),q.push(new k_(at.p.x+V,at.p.y-V,V,u)),q.push(new k_(at.p.x-V,at.p.y+V,V,u)),q.push(new k_(at.p.x+V,at.p.y+V,V,u)),rt+=4)}return h&&(console.log(`num probes: ${rt}`),console.log(`best distance: ${X.d}`)),X.p}function fJ(u,a){return a.max-u.max}function k_(u,a,h,A){this.p=new w(u,a),this.h=h,this.d=function(x,E){let P=!1,D=1/0;for(let F=0;Fx.y!=ct.y>x.y&&x.x<(ct.x-at.x)*(x.y-at.y)/(ct.y-at.y)+at.x&&(P=!P),D=Math.min(D,Wt(x,at,ct))}}return(P?1:-1)*Math.sqrt(D)}(this.p,A),this.max=this.d+this.h*Math.SQRT2}var Qo;n.aq=void 0,(Qo=n.aq||(n.aq={}))[Qo.center=1]=\"center\",Qo[Qo.left=2]=\"left\",Qo[Qo.right=3]=\"right\",Qo[Qo.top=4]=\"top\",Qo[Qo.bottom=5]=\"bottom\",Qo[Qo[\"top-left\"]=6]=\"top-left\",Qo[Qo[\"top-right\"]=7]=\"top-right\",Qo[Qo[\"bottom-left\"]=8]=\"bottom-left\",Qo[Qo[\"bottom-right\"]=9]=\"bottom-right\";let AA=7,NC=Number.POSITIVE_INFINITY;function $6(u,a){return a[1]!==NC?function(h,A,x){let E=0,P=0;switch(A=Math.abs(A),x=Math.abs(x),h){case\"top-right\":case\"top-left\":case\"top\":P=x-AA;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":P=-x+AA}switch(h){case\"top-right\":case\"bottom-right\":case\"right\":E=-A;break;case\"top-left\":case\"bottom-left\":case\"left\":E=A}return[E,P]}(u,a[0],a[1]):function(h,A){let x=0,E=0;A<0&&(A=0);let P=A/Math.SQRT2;switch(h){case\"top-right\":case\"top-left\":E=P-AA;break;case\"bottom-right\":case\"bottom-left\":E=-P+AA;break;case\"bottom\":E=-A+AA;break;case\"top\":E=A-AA}switch(h){case\"top-right\":case\"bottom-right\":x=-P;break;case\"top-left\":case\"bottom-left\":x=P;break;case\"left\":x=A;break;case\"right\":x=-A}return[x,E]}(u,a[0])}function X6(u,a,h){var A;let x=u.layout,E=(A=x.get(\"text-variable-anchor-offset\"))===null||A===void 0?void 0:A.evaluate(a,{},h);if(E){let D=E.values,F=[];for(let V=0;Vrt*Hs);q.startsWith(\"top\")?X[1]-=AA:q.startsWith(\"bottom\")&&(X[1]+=AA),F[V+1]=X}return new Go(F)}let P=x.get(\"text-variable-anchor\");if(P){let D;D=u._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[x.get(\"text-radial-offset\").evaluate(a,{},h)*Hs,NC]:x.get(\"text-offset\").evaluate(a,{},h).map(V=>V*Hs);let F=[];for(let V of P)F.push(V,$6(V,D));return new Go(F)}return null}function UC(u){switch(u){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dJ(u,a,h,A,x,E,P,D,F,V,q){let X=E.textMaxSize.evaluate(a,{});X===void 0&&(X=P);let rt=u.layers[0].layout,at=rt.get(\"icon-offset\").evaluate(a,{},q),ct=J6(h.horizontal),mt=P/24,bt=u.tilePixelRatio*mt,Pt=u.tilePixelRatio*X/24,jt=u.tilePixelRatio*D,Rt=u.tilePixelRatio*rt.get(\"symbol-spacing\"),Gt=rt.get(\"text-padding\")*u.tilePixelRatio,Yt=function(Ae,hr,sr,ri=1){let Tn=Ae.get(\"icon-padding\").evaluate(hr,{},sr),Rn=Tn&&Tn.values;return[Rn[0]*ri,Rn[1]*ri,Rn[2]*ri,Rn[3]*ri]}(rt,a,q,u.tilePixelRatio),ce=rt.get(\"text-max-angle\")/180*Math.PI,Ne=rt.get(\"text-rotation-alignment\")!==\"viewport\"&&rt.get(\"symbol-placement\")!==\"point\",ir=rt.get(\"icon-rotation-alignment\")===\"map\"&&rt.get(\"symbol-placement\")!==\"point\",Fe=rt.get(\"symbol-placement\"),Re=Rt/2,Me=rt.get(\"icon-text-fit\"),Ye;A&&Me!==\"none\"&&(u.allowVerticalPlacement&&h.vertical&&(Ye=x6(A,h.vertical,Me,rt.get(\"icon-text-fit-padding\"),at,mt)),ct&&(A=x6(A,ct,Me,rt.get(\"icon-text-fit-padding\"),at,mt)));let Ie=(Ae,hr)=>{hr.x<0||hr.x>=en||hr.y<0||hr.y>=en||function(sr,ri,Tn,Rn,qs,Ql,ja,Is,Po,$o,Ga,Wa,Zs,Ys,ha,Ha,fa,_l,yl,Qs,di,da,Xo,$s,xu){let vh=sr.addToLineVertexArray(ri,Tn),xh,Ud,bu,Uc,vl=0,Vd=0,e1=0,iz=0,YC=-1,QC=-1,jd={},nz=yh(\"\");if(sr.allowVerticalPlacement&&Rn.vertical){let pa=Is.layout.get(\"text-rotate\").evaluate(di,{},$s)+90;bu=new fT(Po,ri,$o,Ga,Wa,Rn.vertical,Zs,Ys,ha,pa),ja&&(Uc=new fT(Po,ri,$o,Ga,Wa,ja,fa,_l,ha,pa))}if(qs){let pa=Is.layout.get(\"icon-rotate\").evaluate(di,{}),Vc=Is.layout.get(\"icon-text-fit\")!==\"none\",m0=Y6(qs,pa,Xo,Vc),wh=ja?Y6(ja,pa,Xo,Vc):void 0;Ud=new fT(Po,ri,$o,Ga,Wa,qs,fa,_l,!1,pa),vl=4*m0.length;let g0=sr.iconSizeData,Pf=null;g0.kind===\"source\"?(Pf=[Ef*Is.layout.get(\"icon-size\").evaluate(di,{})],Pf[0]>fA&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)):g0.kind===\"composite\"&&(Pf=[Ef*da.compositeIconSizes[0].evaluate(di,{},$s),Ef*da.compositeIconSizes[1].evaluate(di,{},$s)],(Pf[0]>fA||Pf[1]>fA)&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)),sr.addSymbols(sr.icon,m0,Pf,Qs,yl,di,n.ai.none,ri,vh.lineStartIndex,vh.lineLength,-1,$s),YC=sr.icon.placedSymbolArray.length-1,wh&&(Vd=4*wh.length,sr.addSymbols(sr.icon,wh,Pf,Qs,yl,di,n.ai.vertical,ri,vh.lineStartIndex,vh.lineLength,-1,$s),QC=sr.icon.placedSymbolArray.length-1)}let sz=Object.keys(Rn.horizontal);for(let pa of sz){let Vc=Rn.horizontal[pa];if(!xh){nz=yh(Vc.text);let wh=Is.layout.get(\"text-rotate\").evaluate(di,{},$s);xh=new fT(Po,ri,$o,Ga,Wa,Vc,Zs,Ys,ha,wh)}let m0=Vc.positionedLines.length===1;if(e1+=K6(sr,ri,Vc,Ql,Is,ha,di,Ha,vh,Rn.vertical?n.ai.horizontal:n.ai.horizontalOnly,m0?sz:[pa],jd,YC,da,$s),m0)break}Rn.vertical&&(iz+=K6(sr,ri,Rn.vertical,Ql,Is,ha,di,Ha,vh,n.ai.vertical,[\"vertical\"],jd,QC,da,$s));let mJ=xh?xh.boxStartIndex:sr.collisionBoxArray.length,gJ=xh?xh.boxEndIndex:sr.collisionBoxArray.length,_J=bu?bu.boxStartIndex:sr.collisionBoxArray.length,yJ=bu?bu.boxEndIndex:sr.collisionBoxArray.length,vJ=Ud?Ud.boxStartIndex:sr.collisionBoxArray.length,xJ=Ud?Ud.boxEndIndex:sr.collisionBoxArray.length,bJ=Uc?Uc.boxStartIndex:sr.collisionBoxArray.length,wJ=Uc?Uc.boxEndIndex:sr.collisionBoxArray.length,bh=-1,pT=(pa,Vc)=>pa&&pa.circleDiameter?Math.max(pa.circleDiameter,Vc):Vc;bh=pT(xh,bh),bh=pT(bu,bh),bh=pT(Ud,bh),bh=pT(Uc,bh);let oz=bh>-1?1:0;oz&&(bh*=xu/Hs),sr.glyphOffsetArray.length>=C_.MAX_GLYPHS&&Ke(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),di.sortKey!==void 0&&sr.addToSortKeyRanges(sr.symbolInstances.length,di.sortKey);let SJ=X6(Is,di,$s),[TJ,MJ]=function(pa,Vc){let m0=pa.length,wh=Vc?.values;if(wh?.length>0)for(let g0=0;g0=0?jd.right:-1,jd.center>=0?jd.center:-1,jd.left>=0?jd.left:-1,jd.vertical||-1,YC,QC,nz,mJ,gJ,_J,yJ,vJ,xJ,bJ,wJ,$o,e1,iz,vl,Vd,oz,0,Zs,bh,TJ,MJ)}(u,hr,Ae,h,A,x,Ye,u.layers[0],u.collisionBoxArray,a.index,a.sourceLayerIndex,u.index,bt,[Gt,Gt,Gt,Gt],Ne,F,jt,Yt,ir,at,a,E,V,q,P)};if(Fe===\"line\")for(let Ae of j6(a.geometry,0,0,en,en)){let hr=lJ(Ae,Rt,ce,h.vertical||ct,A,24,Pt,u.overscaling,en);for(let sr of hr)ct&&pJ(u,ct.text,Re,sr)||Ie(Ae,sr)}else if(Fe===\"line-center\"){for(let Ae of a.geometry)if(Ae.length>1){let hr=aJ(Ae,ce,h.vertical||ct,A,24,Pt);hr&&Ie(Ae,hr)}}else if(a.type===\"Polygon\")for(let Ae of _C(a.geometry,0)){let hr=hJ(Ae,16);Ie(Ae[0],new pA(hr.x,hr.y,0))}else if(a.type===\"LineString\")for(let Ae of a.geometry)Ie(Ae,new pA(Ae[0].x,Ae[0].y,0));else if(a.type===\"Point\")for(let Ae of a.geometry)for(let hr of Ae)Ie([hr],new pA(hr.x,hr.y,0))}function K6(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct){let mt=function(jt,Rt,Gt,Yt,ce,Ne,ir,Fe){let Re=Yt.layout.get(\"text-rotate\").evaluate(Ne,{})*Math.PI/180,Me=[];for(let Ye of Rt.positionedLines)for(let Ie of Ye.positionedGlyphs){if(!Ie.rect)continue;let Ae=Ie.rect||{},hr=p6+1,sr=!0,ri=1,Tn=0,Rn=(ce||Fe)&&Ie.vertical,qs=Ie.metrics.advance*Ie.scale/2;if(Fe&&Rt.verticalizable&&(Tn=Ye.lineOffset/2-(Ie.imageName?-(Hs-Ie.metrics.width*Ie.scale)/2:(Ie.scale-1)*Hs)),Ie.imageName){let Qs=ir[Ie.imageName];sr=Qs.sdf,ri=Qs.pixelRatio,hr=gl/ri}let Ql=ce?[Ie.x+qs,Ie.y]:[0,0],ja=ce?[0,0]:[Ie.x+qs+Gt[0],Ie.y+Gt[1]-Tn],Is=[0,0];Rn&&(Is=ja,ja=[0,0]);let Po=Ie.metrics.isDoubleResolution?2:1,$o=(Ie.metrics.left-hr)*Ie.scale-qs+ja[0],Ga=(-Ie.metrics.top-hr)*Ie.scale+ja[1],Wa=$o+Ae.w/Po*Ie.scale/ri,Zs=Ga+Ae.h/Po*Ie.scale/ri,Ys=new w($o,Ga),ha=new w(Wa,Ga),Ha=new w($o,Zs),fa=new w(Wa,Zs);if(Rn){let Qs=new w(-qs,qs-Qx),di=-Math.PI/2,da=Hs/2-qs,Xo=new w(5-Qx-da,-(Ie.imageName?da:0)),$s=new w(...Is);Ys._rotateAround(di,Qs)._add(Xo)._add($s),ha._rotateAround(di,Qs)._add(Xo)._add($s),Ha._rotateAround(di,Qs)._add(Xo)._add($s),fa._rotateAround(di,Qs)._add(Xo)._add($s)}if(Re){let Qs=Math.sin(Re),di=Math.cos(Re),da=[di,-Qs,Qs,di];Ys._matMult(da),ha._matMult(da),Ha._matMult(da),fa._matMult(da)}let _l=new w(0,0),yl=new w(0,0);Me.push({tl:Ys,tr:ha,bl:Ha,br:fa,tex:Ae,writingMode:Rt.writingMode,glyphOffset:Ql,sectionIndex:Ie.sectionIndex,isSDF:sr,pixelOffsetTL:_l,pixelOffsetBR:yl,minFontScaleX:0,minFontScaleY:0})}return Me}(0,h,D,x,E,P,A,u.allowVerticalPlacement),bt=u.textSizeData,Pt=null;bt.kind===\"source\"?(Pt=[Ef*x.layout.get(\"text-size\").evaluate(P,{})],Pt[0]>fA&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)):bt.kind===\"composite\"&&(Pt=[Ef*at.compositeTextSizes[0].evaluate(P,{},ct),Ef*at.compositeTextSizes[1].evaluate(P,{},ct)],(Pt[0]>fA||Pt[1]>fA)&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)),u.addSymbols(u.text,mt,Pt,D,E,P,V,a,F.lineStartIndex,F.lineLength,rt,ct);for(let jt of q)X[jt]=u.text.placedSymbolArray.length-1;return 4*mt.length}function J6(u){for(let a in u)return u[a];return null}function pJ(u,a,h,A){let x=u.compareText;if(a in x){let E=x[a];for(let P=E.length-1;P>=0;P--)if(A.dist(E[P])>4;if(x!==1)throw new Error(`Got v${x} data when expected v1.`);let E=tz[15&A];if(!E)throw new Error(\"Unrecognized array type.\");let[P]=new Uint16Array(a,2,1),[D]=new Uint32Array(a,4,1);return new VC(D,P,E,a)}constructor(a,h=64,A=Float64Array,x){if(isNaN(a)||a<0)throw new Error(`Unpexpected numItems value: ${a}.`);this.numItems=+a,this.nodeSize=Math.min(Math.max(+h,2),65535),this.ArrayType=A,this.IndexArrayType=a<65536?Uint16Array:Uint32Array;let E=tz.indexOf(this.ArrayType),P=2*a*this.ArrayType.BYTES_PER_ELEMENT,D=a*this.IndexArrayType.BYTES_PER_ELEMENT,F=(8-D%8)%8;if(E<0)throw new Error(`Unexpected typed array class: ${A}.`);x&&x instanceof ArrayBuffer?(this.data=x,this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=2*a,this._finished=!0):(this.data=new ArrayBuffer(8+P+D+F),this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+E]),new Uint16Array(this.data,2,1)[0]=h,new Uint32Array(this.data,4,1)[0]=a)}add(a,h){let A=this._pos>>1;return this.ids[A]=A,this.coords[this._pos++]=a,this.coords[this._pos++]=h,A}finish(){let a=this._pos>>1;if(a!==this.numItems)throw new Error(`Added ${a} items when expected ${this.numItems}.`);return jC(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(a,h,A,x){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:E,coords:P,nodeSize:D}=this,F=[0,E.length-1,0],V=[];for(;F.length;){let q=F.pop()||0,X=F.pop()||0,rt=F.pop()||0;if(X-rt<=D){for(let bt=rt;bt<=X;bt++){let Pt=P[2*bt],jt=P[2*bt+1];Pt>=a&&Pt<=A&&jt>=h&&jt<=x&&V.push(E[bt])}continue}let at=rt+X>>1,ct=P[2*at],mt=P[2*at+1];ct>=a&&ct<=A&&mt>=h&&mt<=x&&V.push(E[at]),(q===0?a<=ct:h<=mt)&&(F.push(rt),F.push(at-1),F.push(1-q)),(q===0?A>=ct:x>=mt)&&(F.push(at+1),F.push(X),F.push(1-q))}return V}within(a,h,A){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:x,coords:E,nodeSize:P}=this,D=[0,x.length-1,0],F=[],V=A*A;for(;D.length;){let q=D.pop()||0,X=D.pop()||0,rt=D.pop()||0;if(X-rt<=P){for(let bt=rt;bt<=X;bt++)rz(E[2*bt],E[2*bt+1],a,h)<=V&&F.push(x[bt]);continue}let at=rt+X>>1,ct=E[2*at],mt=E[2*at+1];rz(ct,mt,a,h)<=V&&F.push(x[at]),(q===0?a-A<=ct:h-A<=mt)&&(D.push(rt),D.push(at-1),D.push(1-q)),(q===0?a+A>=ct:h+A>=mt)&&(D.push(at+1),D.push(X),D.push(1-q))}return F}}function jC(u,a,h,A,x,E){if(x-A<=h)return;let P=A+x>>1;ez(u,a,P,A,x,E),jC(u,a,h,A,P-1,1-E),jC(u,a,h,P+1,x,1-E)}function ez(u,a,h,A,x,E){for(;x>A;){if(x-A>600){let V=x-A+1,q=h-A+1,X=Math.log(V),rt=.5*Math.exp(2*X/3),at=.5*Math.sqrt(X*rt*(V-rt)/V)*(q-V/2<0?-1:1);ez(u,a,h,Math.max(A,Math.floor(h-q*rt/V+at)),Math.min(x,Math.floor(h+(V-q)*rt/V+at)),E)}let P=a[2*h+E],D=A,F=x;for(Jx(u,a,A,h),a[2*x+E]>P&&Jx(u,a,A,x);DP;)F--}a[2*A+E]===P?Jx(u,a,A,F):(F++,Jx(u,a,F,x)),F<=h&&(A=F+1),h<=F&&(x=F-1)}}function Jx(u,a,h,A){GC(u,h,A),GC(a,2*h,2*A),GC(a,2*h+1,2*A+1)}function GC(u,a,h){let A=u[a];u[a]=u[h],u[h]=A}function rz(u,a,h,A){let x=u-h,E=a-A;return x*x+E*E}var WC;n.bh=void 0,(WC=n.bh||(n.bh={})).create=\"create\",WC.load=\"load\",WC.fullLoad=\"fullLoad\";let dT=null,t1=[],HC=1e3/60,qC=\"loadTime\",ZC=\"fullLoadTime\",AJ={mark(u){performance.mark(u)},frame(u){let a=u;dT!=null&&t1.push(a-dT),dT=a},clearMetrics(){dT=null,t1=[],performance.clearMeasures(qC),performance.clearMeasures(ZC);for(let u in n.bh)performance.clearMarks(n.bh[u])},getPerformanceMetrics(){performance.measure(qC,n.bh.create,n.bh.load),performance.measure(ZC,n.bh.create,n.bh.fullLoad);let u=performance.getEntriesByName(qC)[0].duration,a=performance.getEntriesByName(ZC)[0].duration,h=t1.length,A=1/(t1.reduce((E,P)=>E+P,0)/h/1e3),x=t1.filter(E=>E>HC).reduce((E,P)=>E+(P-HC)/HC,0);return{loadTime:u,fullLoadTime:a,fps:A,percentDroppedFrames:x/(h+x)*100,totalFrames:h}}};n.$=function(u,a,h){var A,x,E,P,D,F,V,q,X,rt,at,ct,mt=h[0],bt=h[1],Pt=h[2];return a===u?(u[12]=a[0]*mt+a[4]*bt+a[8]*Pt+a[12],u[13]=a[1]*mt+a[5]*bt+a[9]*Pt+a[13],u[14]=a[2]*mt+a[6]*bt+a[10]*Pt+a[14],u[15]=a[3]*mt+a[7]*bt+a[11]*Pt+a[15]):(x=a[1],E=a[2],P=a[3],D=a[4],F=a[5],V=a[6],q=a[7],X=a[8],rt=a[9],at=a[10],ct=a[11],u[0]=A=a[0],u[1]=x,u[2]=E,u[3]=P,u[4]=D,u[5]=F,u[6]=V,u[7]=q,u[8]=X,u[9]=rt,u[10]=at,u[11]=ct,u[12]=A*mt+D*bt+X*Pt+a[12],u[13]=x*mt+F*bt+rt*Pt+a[13],u[14]=E*mt+V*bt+at*Pt+a[14],u[15]=P*mt+q*bt+ct*Pt+a[15]),u},n.A=je,n.B=Da,n.C=class{constructor(u,a,h){this.receive=A=>{let x=A.data,E=x.id;if(E&&(!x.targetMapId||this.mapId===x.targetMapId))if(x.type===\"\"){delete this.tasks[E];let P=this.cancelCallbacks[E];delete this.cancelCallbacks[E],P&&P()}else Li()||x.mustQueue?(this.tasks[E]=x,this.taskQueue.push(E),this.invoker.trigger()):this.processTask(E,x)},this.process=()=>{if(!this.taskQueue.length)return;let A=this.taskQueue.shift(),x=this.tasks[A];delete this.tasks[A],this.taskQueue.length&&this.invoker.trigger(),x&&this.processTask(A,x)},this.target=u,this.parent=a,this.mapId=h,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new sJ(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=Li()?u:window}send(u,a,h,A,x=!1){let E=Math.round(1e18*Math.random()).toString(36).substring(0,10);h&&(this.callbacks[E]=h);let P=[],D={id:E,type:u,hasCallback:!!h,targetMapId:A,mustQueue:x,sourceMapId:this.mapId,data:Hl(a,P)};return this.target.postMessage(D,{transfer:P}),{cancel:()=>{h&&delete this.callbacks[E],this.target.postMessage({id:E,type:\"\",targetMapId:A,sourceMapId:this.mapId})}}}processTask(u,a){if(a.type===\"\"){let h=this.callbacks[u];delete this.callbacks[u],h&&(a.error?h(xf(a.error)):h(null,xf(a.data)))}else{let h=!1,A=[],x=a.hasCallback?(D,F)=>{h=!0,delete this.cancelCallbacks[u];let V={id:u,type:\"\",sourceMapId:this.mapId,error:D?Hl(D):null,data:Hl(F,A)};this.target.postMessage(V,{transfer:A})}:D=>{h=!0},E=null,P=xf(a.data);if(this.parent[a.type])E=this.parent[a.type](a.sourceMapId,P,x);else if(\"getWorkerSource\"in this.parent){let D=a.type.split(\".\");E=this.parent.getWorkerSource(a.sourceMapId,D[0],P.source)[D[1]](P,x)}else x(new Error(`Could not find function ${a.type}`));!h&&E&&E.cancel&&(this.cancelCallbacks[u]=E.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)}},n.D=nr,n.E=Nl,n.F=function(u,a){let h={};for(let A=0;A{}}},n.Y=ve,n.Z=function(){var u=new je(16);return je!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=0,u[12]=0,u[13]=0,u[14]=0),u[0]=1,u[5]=1,u[10]=1,u[15]=1,u},n._=o,n.a=zl,n.a$=class extends st{},n.a0=function(u,a,h){var A=h[0],x=h[1],E=h[2];return u[0]=a[0]*A,u[1]=a[1]*A,u[2]=a[2]*A,u[3]=a[3]*A,u[4]=a[4]*x,u[5]=a[5]*x,u[6]=a[6]*x,u[7]=a[7]*x,u[8]=a[8]*E,u[9]=a[9]*E,u[10]=a[10]*E,u[11]=a[11]*E,u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.a1=qi,n.a2=function(){return Xt++},n.a3=yt,n.a4=C_,n.a5=function(){ua.isLoading()||ua.isLoaded()||f0()!==\"deferred\"||v_()},n.a6=r0,n.a7=S,n.a8=un,n.a9=z6,n.aA=Bc,n.aB=function(u){u=u.slice();let a=Object.create(null);for(let h=0;h{A[P.source]?h.push({command:oi.removeLayer,args:[P.id]}):E.push(P)}),h=h.concat(x),function(P,D,F){D=D||[];let V=(P=P||[]).map(Ia),q=D.map(Ia),X=P.reduce(wo,{}),rt=D.reduce(wo,{}),at=V.slice(),ct=Object.create(null),mt,bt,Pt,jt,Rt,Gt,Yt;for(mt=0,bt=0;mt@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(h,A,x,E)=>{let P=x||E;return a[A]=!P||P.toLowerCase(),\"\"}),a[\"max-age\"]){let h=parseInt(a[\"max-age\"],10);isNaN(h)?delete a[\"max-age\"]:a[\"max-age\"]=h}return a},n.ab=function(u,a){let h=[];for(let A in u)A in a||h.push(A);return h},n.ac=function(u){if(oo==null){let a=u.navigator?u.navigator.userAgent:null;oo=!!u.safari||!(!a||!(/\\b(iPad|iPhone|iPod)\\b/.test(a)||a.match(\"Safari\")&&!a.match(\"Chrome\")))}return oo},n.ad=ut,n.ae=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[0],P=a[1],D=a[2],F=a[3],V=a[4],q=a[5],X=a[6],rt=a[7];return a!==u&&(u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[0]=E*x+V*A,u[1]=P*x+q*A,u[2]=D*x+X*A,u[3]=F*x+rt*A,u[4]=V*x-E*A,u[5]=q*x-P*A,u[6]=X*x-D*A,u[7]=rt*x-F*A,u},n.af=function(u){var a=new je(16);return a[0]=u[0],a[1]=u[1],a[2]=u[2],a[3]=u[3],a[4]=u[4],a[5]=u[5],a[6]=u[6],a[7]=u[7],a[8]=u[8],a[9]=u[9],a[10]=u[10],a[11]=u[11],a[12]=u[12],a[13]=u[13],a[14]=u[14],a[15]=u[15],a},n.ag=Pi,n.ah=function(u,a){let h=0,A=0;if(u.kind===\"constant\")A=u.layoutSize;else if(u.kind!==\"source\"){let{interpolationType:x,minZoom:E,maxZoom:P}=u,D=x?ut(Oa.interpolationFactor(x,a,E,P),0,1):0;u.kind===\"camera\"?A=Da.number(u.minSize,u.maxSize,D):h=D}return{uSizeT:h,uSize:A}},n.aj=function(u,{uSize:a,uSizeT:h},{lowerSize:A,upperSize:x}){return u.kind===\"source\"?A/Ef:u.kind===\"composite\"?Da.number(A/Ef,x/Ef,h):a},n.ak=kC,n.al=function(u,a,h,A){let x=a.y-u.y,E=a.x-u.x,P=A.y-h.y,D=A.x-h.x,F=P*E-D*x;if(F===0)return null;let V=(D*(u.y-h.y)-P*(u.x-h.x))/F;return new w(u.x+V*E,u.y+V*x)},n.am=j6,n.an=L,n.ao=Zr,n.ap=Hs,n.ar=LC,n.as=function(u,a){var h=a[0],A=a[1],x=a[2],E=a[3],P=a[4],D=a[5],F=a[6],V=a[7],q=a[8],X=a[9],rt=a[10],at=a[11],ct=a[12],mt=a[13],bt=a[14],Pt=a[15],jt=h*D-A*P,Rt=h*F-x*P,Gt=h*V-E*P,Yt=A*F-x*D,ce=A*V-E*D,Ne=x*V-E*F,ir=q*mt-X*ct,Fe=q*bt-rt*ct,Re=q*Pt-at*ct,Me=X*bt-rt*mt,Ye=X*Pt-at*mt,Ie=rt*Pt-at*bt,Ae=jt*Ie-Rt*Ye+Gt*Me+Yt*Re-ce*Fe+Ne*ir;return Ae?(u[0]=(D*Ie-F*Ye+V*Me)*(Ae=1/Ae),u[1]=(x*Ye-A*Ie-E*Me)*Ae,u[2]=(mt*Ne-bt*ce+Pt*Yt)*Ae,u[3]=(rt*ce-X*Ne-at*Yt)*Ae,u[4]=(F*Re-P*Ie-V*Fe)*Ae,u[5]=(h*Ie-x*Re+E*Fe)*Ae,u[6]=(bt*Gt-ct*Ne-Pt*Rt)*Ae,u[7]=(q*Ne-rt*Gt+at*Rt)*Ae,u[8]=(P*Ye-D*Re+V*ir)*Ae,u[9]=(A*Re-h*Ye-E*ir)*Ae,u[10]=(ct*ce-mt*Gt+Pt*jt)*Ae,u[11]=(X*Gt-q*ce-at*jt)*Ae,u[12]=(D*Fe-P*Me-F*ir)*Ae,u[13]=(h*Me-A*Fe+x*ir)*Ae,u[14]=(mt*Rt-ct*Yt-bt*jt)*Ae,u[15]=(q*Yt-X*Rt+rt*jt)*Ae,u):null},n.at=UC,n.au=CC,n.av=VC,n.aw=function(){let u={},a=ee.$version;for(let h in ee.$root){let A=ee.$root[h];if(A.required){let x=null;x=h===\"version\"?a:A.type===\"array\"?[]:{},x!=null&&(u[h]=x)}}return u},n.ax=oi,n.ay=__,n.az=Jn,n.b=function(u,a){let h=new Blob([new Uint8Array(u)],{type:\"image/png\"});createImageBitmap(h).then(A=>{a(null,A)}).catch(A=>{a(new Error(`Could not load image because of ${A.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})},n.b0=Gs,n.b1=function(u,a){var h=u[0],A=u[1],x=u[2],E=u[3],P=u[4],D=u[5],F=u[6],V=u[7],q=u[8],X=u[9],rt=u[10],at=u[11],ct=u[12],mt=u[13],bt=u[14],Pt=u[15],jt=a[0],Rt=a[1],Gt=a[2],Yt=a[3],ce=a[4],Ne=a[5],ir=a[6],Fe=a[7],Re=a[8],Me=a[9],Ye=a[10],Ie=a[11],Ae=a[12],hr=a[13],sr=a[14],ri=a[15];return Math.abs(h-jt)<=we*Math.max(1,Math.abs(h),Math.abs(jt))&&Math.abs(A-Rt)<=we*Math.max(1,Math.abs(A),Math.abs(Rt))&&Math.abs(x-Gt)<=we*Math.max(1,Math.abs(x),Math.abs(Gt))&&Math.abs(E-Yt)<=we*Math.max(1,Math.abs(E),Math.abs(Yt))&&Math.abs(P-ce)<=we*Math.max(1,Math.abs(P),Math.abs(ce))&&Math.abs(D-Ne)<=we*Math.max(1,Math.abs(D),Math.abs(Ne))&&Math.abs(F-ir)<=we*Math.max(1,Math.abs(F),Math.abs(ir))&&Math.abs(V-Fe)<=we*Math.max(1,Math.abs(V),Math.abs(Fe))&&Math.abs(q-Re)<=we*Math.max(1,Math.abs(q),Math.abs(Re))&&Math.abs(X-Me)<=we*Math.max(1,Math.abs(X),Math.abs(Me))&&Math.abs(rt-Ye)<=we*Math.max(1,Math.abs(rt),Math.abs(Ye))&&Math.abs(at-Ie)<=we*Math.max(1,Math.abs(at),Math.abs(Ie))&&Math.abs(ct-Ae)<=we*Math.max(1,Math.abs(ct),Math.abs(Ae))&&Math.abs(mt-hr)<=we*Math.max(1,Math.abs(mt),Math.abs(hr))&&Math.abs(bt-sr)<=we*Math.max(1,Math.abs(bt),Math.abs(sr))&&Math.abs(Pt-ri)<=we*Math.max(1,Math.abs(Pt),Math.abs(ri))},n.b2=function(u,a){return u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[4]=a[4],u[5]=a[5],u[6]=a[6],u[7]=a[7],u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.b3=function(u,a,h){return u[0]=a[0]*h[0],u[1]=a[1]*h[1],u[2]=a[2]*h[2],u[3]=a[3]*h[3],u},n.b4=function(u,a){return u[0]*a[0]+u[1]*a[1]+u[2]*a[2]+u[3]*a[3]},n.b5=Et,n.b6=O6,n.b7=k6,n.b8=function(u,a,h,A,x){var E,P=1/Math.tan(a/2);return u[0]=P/h,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=P,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=-1,u[12]=0,u[13]=0,u[15]=0,x!=null&&x!==1/0?(u[10]=(x+A)*(E=1/(A-x)),u[14]=2*x*A*E):(u[10]=-1,u[14]=-2*A),u},n.b9=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[4],P=a[5],D=a[6],F=a[7],V=a[8],q=a[9],X=a[10],rt=a[11];return a!==u&&(u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[4]=E*x+V*A,u[5]=P*x+q*A,u[6]=D*x+X*A,u[7]=F*x+rt*A,u[8]=V*x-E*A,u[9]=q*x-P*A,u[10]=X*x-D*A,u[11]=rt*x-F*A,u},n.bA=f,n.bB=a6,n.bC=Qp,n.bD=ua,n.ba=K,n.bb=J,n.bc=function(u,a){return u[0]=a[0],u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=a[1],u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=a[2],u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},n.bd=class extends gh{},n.be=BC,n.bf=R6,n.bg=AJ,n.bi=Xi,n.bj=function(u,a,h=!1){if(us===u0||us===iA||us===nA)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");_u=kc.resolveURL(u),us=u0,ph=a,h0(),h||v_()},n.bk=f0,n.bl=function(u,a){let h={};for(let x=0;xAe*Hs)}let Fe=P?\"center\":h.get(\"text-justify\").evaluate(V,{},u.canonical),Re=h.get(\"symbol-placement\"),Me=Re===\"point\"?h.get(\"text-max-width\").evaluate(V,{},u.canonical)*Hs:0,Ye=()=>{u.bucket.allowVerticalPlacement&&o0(Gt)&&(ct.vertical=nT(mt,u.glyphMap,u.glyphPositions,u.imagePositions,q,Me,E,Ne,\"left\",ce,Pt,n.ai.vertical,!0,Re,rt,X))};if(!P&&ir){let Ie=new Set;if(Fe===\"auto\")for(let hr=0;hr{a(null,h),URL.revokeObjectURL(h.src),h.onload=null,window.requestAnimationFrame(()=>{h.src=No})},h.onerror=()=>a(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let A=new Blob([new Uint8Array(u)],{type:\"image/png\"});h.src=u.byteLength?URL.createObjectURL(A):No},n.e=kt,n.f=function(u,a){return Vo(kt(u,{type:\"json\"}),a)},n.g=ki,n.h=kc,n.i=Li,n.j=ao,n.k=as,n.l=cl,n.m=Vo,n.n=function(u){return new MC(u).readFields(WK,[])},n.o=function(u,a,h){if(!u.length)return h(null,[]);let A=u.length,x=new Array(u.length),E=null;u.forEach((P,D)=>{a(P,(F,V)=>{F&&(E=F),x[D]=V,--A==0&&h(E,x)})})},n.p=A6,n.q=Vx,n.r=Hn,n.s=xo,n.t=hh,n.u=Oe,n.v=ee,n.w=Ke,n.x=fh,n.y=za,n.z=function([u,a,h]){return a+=90,a*=Math.PI/180,h*=Math.PI/180,{x:u*Math.cos(a)*Math.sin(h),y:u*Math.sin(a)*Math.sin(h),z:u*Math.cos(h)}}}),i([\"./shared\"],function(n){\"use strict\";class o{constructor(tt){this.keyCache={},tt&&this.replace(tt)}replace(tt){this._layerConfigs={},this._layers={},this.update(tt,[])}update(tt,nt){for(let vt of tt){this._layerConfigs[vt.id]=vt;let xt=this._layers[vt.id]=n.aC(vt);xt._featureFilter=n.a6(xt.filter),this.keyCache[vt.id]&&delete this.keyCache[vt.id]}for(let vt of nt)delete this.keyCache[vt],delete this._layerConfigs[vt],delete this._layers[vt];this.familiesBySource={};let ht=n.bl(Object.values(this._layerConfigs),this.keyCache);for(let vt of ht){let xt=vt.map(se=>this._layers[se.id]),_t=xt[0];if(_t.visibility===\"none\")continue;let Dt=_t.source||\"\",Mt=this.familiesBySource[Dt];Mt||(Mt=this.familiesBySource[Dt]={});let Vt=_t.sourceLayer||\"_geojsonTileLayer\",ie=Mt[Vt];ie||(ie=Mt[Vt]=[]),ie.push(xt)}}}class c{constructor(tt){let nt={},ht=[];for(let Dt in tt){let Mt=tt[Dt],Vt=nt[Dt]={};for(let ie in Mt){let se=Mt[+ie];if(!se||se.bitmap.width===0||se.bitmap.height===0)continue;let ae={x:0,y:0,w:se.bitmap.width+2,h:se.bitmap.height+2};ht.push(ae),Vt[ie]={rect:ae,metrics:se.metrics}}}let{w:vt,h:xt}=n.p(ht),_t=new n.q({width:vt||1,height:xt||1});for(let Dt in tt){let Mt=tt[Dt];for(let Vt in Mt){let ie=Mt[+Vt];if(!ie||ie.bitmap.width===0||ie.bitmap.height===0)continue;let se=nt[Dt][Vt].rect;n.q.copy(ie.bitmap,_t,{x:0,y:0},{x:se.x+1,y:se.y+1},ie.bitmap)}}this.image=_t,this.positions=nt}}n.bm(\"GlyphAtlas\",c);class f{constructor(tt){this.tileID=new n.O(tt.tileID.overscaledZ,tt.tileID.wrap,tt.tileID.canonical.z,tt.tileID.canonical.x,tt.tileID.canonical.y),this.uid=tt.uid,this.zoom=tt.zoom,this.pixelRatio=tt.pixelRatio,this.tileSize=tt.tileSize,this.source=tt.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=tt.showCollisionBoxes,this.collectResourceTiming=!!tt.collectResourceTiming,this.returnDependencies=!!tt.returnDependencies,this.promoteId=tt.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(tt,nt,ht,vt,xt){this.status=\"parsing\",this.data=tt,this.collisionBoxArray=new n.a3;let _t=new n.bn(Object.keys(tt.layers).sort()),Dt=new n.bo(this.tileID,this.promoteId);Dt.bucketLayerIDs=[];let Mt={},Vt={featureIndex:Dt,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ht},ie=nt.familiesBySource[this.source];for(let ni in ie){let Hr=tt.layers[ni];if(!Hr)continue;Hr.version===1&&n.w(`Vector tile source \"${this.source}\" layer \"${ni}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let jn=_t.encode(ni),Bi=[];for(let xn=0;xn=es.maxzoom||es.visibility!==\"none\"&&(_(xn,this.zoom,ht),(Mt[es.id]=es.createBucket({index:Dt.bucketLayerIDs.length,layers:xn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:jn,sourceID:this.source})).populate(Bi,Vt,this.tileID.canonical),Dt.bucketLayerIDs.push(xn.map(oa=>oa.id)))}}let se,ae,lr,vr,Xe=n.aH(Vt.glyphDependencies,ni=>Object.keys(ni).map(Number));this.inFlightDependencies.forEach(ni=>ni?.cancel()),this.inFlightDependencies=[];let cr=++this.dependencySentinel;Object.keys(Xe).length?this.inFlightDependencies.push(vt.send(\"getGlyphs\",{uid:this.uid,stacks:Xe,source:this.source,tileID:this.tileID,type:\"glyphs\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,ae=Hr,zi.call(this)))})):ae={};let wr=Object.keys(Vt.iconDependencies);wr.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:wr,source:this.source,tileID:this.tileID,type:\"icons\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,lr=Hr,zi.call(this)))})):lr={};let xi=Object.keys(Vt.patternDependencies);function zi(){if(se)return xt(se);if(ae&&lr&&vr){let ni=new c(ae),Hr=new n.bp(lr,vr);for(let jn in Mt){let Bi=Mt[jn];Bi instanceof n.a4?(_(Bi.layers,this.zoom,ht),n.bq({bucket:Bi,glyphMap:ae,glyphPositions:ni.positions,imageMap:lr,imagePositions:Hr.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Bi.hasPattern&&(Bi instanceof n.br||Bi instanceof n.bs||Bi instanceof n.bt)&&(_(Bi.layers,this.zoom,ht),Bi.addFeatures(Vt,this.tileID.canonical,Hr.patternPositions))}this.status=\"done\",xt(null,{buckets:Object.values(Mt).filter(jn=>!jn.isEmpty()),featureIndex:Dt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ni.image,imageAtlas:Hr,glyphMap:this.returnDependencies?ae:null,iconMap:this.returnDependencies?lr:null,glyphPositions:this.returnDependencies?ni.positions:null})}}xi.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:xi,source:this.source,tileID:this.tileID,type:\"patterns\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,vr=Hr,zi.call(this)))})):vr={},zi.call(this)}}function _(gt,tt,nt){let ht=new n.a8(tt);for(let vt of gt)vt.recalculate(ht,nt)}function w(gt,tt){let nt=n.l(gt.request,(ht,vt,xt,_t)=>{if(ht)tt(ht);else if(vt)try{let Dt=new n.bw.VectorTile(new n.bv(vt));tt(null,{vectorTile:Dt,rawData:vt,cacheControl:xt,expires:_t})}catch(Dt){let Mt=new Uint8Array(vt),Vt=`Unable to parse the tile at ${gt.request.url}, `;Vt+=Mt[0]===31&&Mt[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Dt.messge}`,tt(new Error(Vt))}});return()=>{nt.cancel(),tt()}}class I{constructor(tt,nt,ht,vt){this.actor=tt,this.layerIndex=nt,this.availableImages=ht,this.loadVectorData=vt||w,this.fetching={},this.loading={},this.loaded={}}loadTile(tt,nt){let ht=tt.uid;this.loading||(this.loading={});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request),xt=this.loading[ht]=new f(tt);xt.abort=this.loadVectorData(tt,(_t,Dt)=>{if(delete this.loading[ht],_t||!Dt)return xt.status=\"done\",this.loaded[ht]=xt,nt(_t);let Mt=Dt.rawData,Vt={};Dt.expires&&(Vt.expires=Dt.expires),Dt.cacheControl&&(Vt.cacheControl=Dt.cacheControl);let ie={};if(vt){let se=vt.finish();se&&(ie.resourceTiming=JSON.parse(JSON.stringify(se)))}xt.vectorTile=Dt.vectorTile,xt.parse(Dt.vectorTile,this.layerIndex,this.availableImages,this.actor,(se,ae)=>{if(delete this.fetching[ht],se||!ae)return nt(se);nt(null,n.e({rawTileData:Mt.slice(0)},ae,Vt,ie))}),this.loaded=this.loaded||{},this.loaded[ht]=xt,this.fetching[ht]={rawTileData:Mt,cacheControl:Vt,resourceTiming:ie}})}reloadTile(tt,nt){let ht=this.loaded,vt=tt.uid;if(ht&&ht[vt]){let xt=ht[vt];xt.showCollisionBoxes=tt.showCollisionBoxes,xt.status===\"parsing\"?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,(_t,Dt)=>{if(_t||!Dt)return nt(_t,Dt);let Mt;if(this.fetching[vt]){let{rawTileData:Vt,cacheControl:ie,resourceTiming:se}=this.fetching[vt];delete this.fetching[vt],Mt=n.e({rawTileData:Vt.slice(0)},Dt,ie,se)}else Mt=Dt;nt(null,Mt)}):xt.status===\"done\"&&(xt.vectorTile?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,nt):nt())}}abortTile(tt,nt){let ht=this.loading,vt=tt.uid;ht&&ht[vt]&&ht[vt].abort&&(ht[vt].abort(),delete ht[vt]),nt()}removeTile(tt,nt){let ht=this.loaded,vt=tt.uid;ht&&ht[vt]&&delete ht[vt],nt()}}class R{constructor(){this.loaded={}}loadTile(tt,nt){return n._(this,void 0,void 0,function*(){let{uid:ht,encoding:vt,rawImageData:xt,redFactor:_t,greenFactor:Dt,blueFactor:Mt,baseShift:Vt}=tt,ie=xt.width+2,se=xt.height+2,ae=n.a(xt)?new n.R({width:ie,height:se},yield n.bx(xt,-1,-1,ie,se)):xt,lr=new n.by(ht,ae,vt,_t,Dt,Mt,Vt);this.loaded=this.loaded||{},this.loaded[ht]=lr,nt(null,lr)})}removeTile(tt){let nt=this.loaded,ht=tt.uid;nt&&nt[ht]&&delete nt[ht]}}function N(gt,tt){if(gt.length!==0){j(gt[0],tt);for(var nt=1;nt=Math.abs(Dt)?nt-Mt+Dt:Dt-Mt+nt,nt=Mt}nt+ht>=0!=!!tt&>.reverse()}var Q=n.bz(function gt(tt,nt){var ht,vt=tt&&tt.type;if(vt===\"FeatureCollection\")for(ht=0;ht>31}function Li(gt,tt){for(var nt=gt.loadGeometry(),ht=gt.type,vt=0,xt=0,_t=nt.length,Dt=0;Dt<_t;Dt++){var Mt=nt[Dt],Vt=1;ht===1&&(Vt=Mt.length),tt.writeVarint(rr(1,Vt));for(var ie=ht===3?Mt.length-1:Mt.length,se=0;segt},ih=Math.fround||(Uo=new Float32Array(1),gt=>(Uo[0]=+gt,Uo[0]));var Uo;let Si=3,Ns=5,ll=6;class kc{constructor(tt){this.options=Object.assign(Object.create(No),tt),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(tt){let{log:nt,minZoom:ht,maxZoom:vt}=this.options;nt&&console.time(\"total time\");let xt=`prepare ${tt.length} points`;nt&&console.time(xt),this.points=tt;let _t=[];for(let Mt=0;Mt=ht;Mt--){let Vt=+Date.now();Dt=this.trees[Mt]=this._createTree(this._cluster(Dt,Mt)),nt&&console.log(\"z%d: %d clusters in %dms\",Mt,Dt.numItems,+Date.now()-Vt)}return nt&&console.timeEnd(\"total time\"),this}getClusters(tt,nt){let ht=((tt[0]+180)%360+360)%360-180,vt=Math.max(-90,Math.min(90,tt[1])),xt=tt[2]===180?180:((tt[2]+180)%360+360)%360-180,_t=Math.max(-90,Math.min(90,tt[3]));if(tt[2]-tt[0]>=360)ht=-180,xt=180;else if(ht>xt){let se=this.getClusters([ht,vt,180,_t],nt),ae=this.getClusters([-180,vt,xt,_t],nt);return se.concat(ae)}let Dt=this.trees[this._limitZoom(nt)],Mt=Dt.range(Jn(ht),ki(_t),Jn(xt),ki(vt)),Vt=Dt.data,ie=[];for(let se of Mt){let ae=this.stride*se;ie.push(Vt[ae+Ns]>1?Rc(Vt,ae,this.clusterProps):this.points[Vt[ae+Si]])}return ie}getChildren(tt){let nt=this._getOriginId(tt),ht=this._getOriginZoom(tt),vt=\"No cluster with the specified id.\",xt=this.trees[ht];if(!xt)throw new Error(vt);let _t=xt.data;if(nt*this.stride>=_t.length)throw new Error(vt);let Dt=this.options.radius/(this.options.extent*Math.pow(2,ht-1)),Mt=xt.within(_t[nt*this.stride],_t[nt*this.stride+1],Dt),Vt=[];for(let ie of Mt){let se=ie*this.stride;_t[se+4]===tt&&Vt.push(_t[se+Ns]>1?Rc(_t,se,this.clusterProps):this.points[_t[se+Si]])}if(Vt.length===0)throw new Error(vt);return Vt}getLeaves(tt,nt,ht){let vt=[];return this._appendLeaves(vt,tt,nt=nt||10,ht=ht||0,0),vt}getTile(tt,nt,ht){let vt=this.trees[this._limitZoom(tt)],xt=Math.pow(2,tt),{extent:_t,radius:Dt}=this.options,Mt=Dt/_t,Vt=(ht-Mt)/xt,ie=(ht+1+Mt)/xt,se={features:[]};return this._addTileFeatures(vt.range((nt-Mt)/xt,Vt,(nt+1+Mt)/xt,ie),vt.data,nt,ht,xt,se),nt===0&&this._addTileFeatures(vt.range(1-Mt/xt,Vt,1,ie),vt.data,xt,ht,xt,se),nt===xt-1&&this._addTileFeatures(vt.range(0,Vt,Mt/xt,ie),vt.data,-1,ht,xt,se),se.features.length?se:null}getClusterExpansionZoom(tt){let nt=this._getOriginZoom(tt)-1;for(;nt<=this.options.maxZoom;){let ht=this.getChildren(tt);if(nt++,ht.length!==1)break;tt=ht[0].properties.cluster_id}return nt}_appendLeaves(tt,nt,ht,vt,xt){let _t=this.getChildren(nt);for(let Dt of _t){let Mt=Dt.properties;if(Mt&&Mt.cluster?xt+Mt.point_count<=vt?xt+=Mt.point_count:xt=this._appendLeaves(tt,Mt.cluster_id,ht,vt,xt):xt1,ie,se,ae;if(Vt)ie=Xi(nt,Mt,this.clusterProps),se=nt[Mt],ae=nt[Mt+1];else{let Xe=this.points[nt[Mt+Si]];ie=Xe.properties;let[cr,wr]=Xe.geometry.coordinates;se=Jn(cr),ae=ki(wr)}let lr={type:1,geometry:[[Math.round(this.options.extent*(se*xt-ht)),Math.round(this.options.extent*(ae*xt-vt))]],tags:ie},vr;vr=Vt||this.options.generateId?nt[Mt+Si]:this.points[nt[Mt+Si]].id,vr!==void 0&&(lr.id=vr),_t.features.push(lr)}}_limitZoom(tt){return Math.max(this.options.minZoom,Math.min(Math.floor(+tt),this.options.maxZoom+1))}_cluster(tt,nt){let{radius:ht,extent:vt,reduce:xt,minPoints:_t}=this.options,Dt=ht/(vt*Math.pow(2,nt)),Mt=tt.data,Vt=[],ie=this.stride;for(let se=0;sent&&(cr+=Mt[xi+Ns])}if(cr>Xe&&cr>=_t){let wr,xi=ae*Xe,zi=lr*Xe,ni=-1,Hr=((se/ie|0)<<5)+(nt+1)+this.points.length;for(let jn of vr){let Bi=jn*ie;if(Mt[Bi+2]<=nt)continue;Mt[Bi+2]=nt;let xn=Mt[Bi+Ns];xi+=Mt[Bi]*xn,zi+=Mt[Bi+1]*xn,Mt[Bi+4]=Hr,xt&&(wr||(wr=this._map(Mt,se,!0),ni=this.clusterProps.length,this.clusterProps.push(wr)),xt(wr,this._map(Mt,Bi)))}Mt[se+4]=Hr,Vt.push(xi/cr,zi/cr,1/0,Hr,-1,cr),xt&&Vt.push(ni)}else{for(let wr=0;wr1)for(let wr of vr){let xi=wr*ie;if(!(Mt[xi+2]<=nt)){Mt[xi+2]=nt;for(let zi=0;zi>5}_getOriginZoom(tt){return(tt-this.points.length)%32}_map(tt,nt,ht){if(tt[nt+Ns]>1){let _t=this.clusterProps[tt[nt+ll]];return ht?Object.assign({},_t):_t}let vt=this.points[tt[nt+Si]].properties,xt=this.options.map(vt);return ht&&xt===vt?Object.assign({},xt):xt}}function Rc(gt,tt,nt){return{type:\"Feature\",id:gt[tt+Si],properties:Xi(gt,tt,nt),geometry:{type:\"Point\",coordinates:[(ht=gt[tt],360*(ht-.5)),ts(gt[tt+1])]}};var ht}function Xi(gt,tt,nt){let ht=gt[tt+Ns],vt=ht>=1e4?`${Math.round(ht/1e3)}k`:ht>=1e3?Math.round(ht/100)/10+\"k\":ht,xt=gt[tt+ll],_t=xt===-1?{}:Object.assign({},nt[xt]);return Object.assign(_t,{cluster:!0,cluster_id:gt[tt+Si],point_count:ht,point_count_abbreviated:vt})}function Jn(gt){return gt/360+.5}function ki(gt){let tt=Math.sin(gt*Math.PI/180),nt=.5-.25*Math.log((1+tt)/(1-tt))/Math.PI;return nt<0?0:nt>1?1:nt}function ts(gt){let tt=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(tt))/Math.PI-90}function Vo(gt,tt,nt,ht){for(var vt,xt=ht,_t=nt-tt>>1,Dt=nt-tt,Mt=gt[tt],Vt=gt[tt+1],ie=gt[nt],se=gt[nt+1],ae=tt+3;aext)vt=ae,xt=lr;else if(lr===xt){var vr=Math.abs(ae-_t);vrht&&(vt-tt>3&&Vo(gt,tt,vt,ht),gt[vt+2]=xt,nt-vt>3&&Vo(gt,vt,nt,ht))}function cl(gt,tt,nt,ht,vt,xt){var _t=vt-nt,Dt=xt-ht;if(_t!==0||Dt!==0){var Mt=((gt-nt)*_t+(tt-ht)*Dt)/(_t*_t+Dt*Dt);Mt>1?(nt=vt,ht=xt):Mt>0&&(nt+=_t*Mt,ht+=Dt*Mt)}return(_t=gt-nt)*_t+(Dt=tt-ht)*Dt}function xo(gt,tt,nt,ht){var vt={id:gt===void 0?null:gt,type:tt,geometry:nt,tags:ht,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(xt){var _t=xt.geometry,Dt=xt.type;if(Dt===\"Point\"||Dt===\"MultiPoint\"||Dt===\"LineString\")Pa(xt,_t);else if(Dt===\"Polygon\"||Dt===\"MultiLineString\")for(var Mt=0;Mt<_t.length;Mt++)Pa(xt,_t[Mt]);else if(Dt===\"MultiPolygon\")for(Mt=0;Mt<_t.length;Mt++)for(var Vt=0;Vt<_t[Mt].length;Vt++)Pa(xt,_t[Mt][Vt])}(vt),vt}function Pa(gt,tt){for(var nt=0;nt0&&(_t+=ht?(vt*Vt-Mt*xt)/2:Math.sqrt(Math.pow(Mt-vt,2)+Math.pow(Vt-xt,2))),vt=Mt,xt=Vt}var ie=tt.length-3;tt[2]=1,Vo(tt,0,ie,nt),tt[ie+2]=1,tt.size=Math.abs(_t),tt.start=0,tt.end=tt.size}function Nl(gt,tt,nt,ht){for(var vt=0;vt1?1:nt}function mn(gt,tt,nt,ht,vt,xt,_t,Dt){if(ht/=tt,xt>=(nt/=tt)&&_t=ht)return null;for(var Mt=[],Vt=0;Vt=nt&&vr=ht)){var Xe=[];if(ae===\"Point\"||ae===\"MultiPoint\")gi(se,Xe,nt,ht,vt);else if(ae===\"LineString\")oi(se,Xe,nt,ht,vt,!1,Dt.lineMetrics);else if(ae===\"MultiLineString\")du(se,Xe,nt,ht,vt,!1);else if(ae===\"Polygon\")du(se,Xe,nt,ht,vt,!0);else if(ae===\"MultiPolygon\")for(var cr=0;cr=nt&&_t<=ht&&(tt.push(gt[xt]),tt.push(gt[xt+1]),tt.push(gt[xt+2]))}}function oi(gt,tt,nt,ht,vt,xt,_t){for(var Dt,Mt,Vt=lo(gt),ie=vt===0?bo:hl,se=gt.start,ae=0;aent&&(Mt=ie(Vt,lr,vr,cr,wr,nt),_t&&(Vt.start=se+Dt*Mt)):xi>ht?zi=nt&&(Mt=ie(Vt,lr,vr,cr,wr,nt),ni=!0),zi>ht&&xi<=ht&&(Mt=ie(Vt,lr,vr,cr,wr,ht),ni=!0),!xt&&ni&&(_t&&(Vt.end=se+Dt*Mt),tt.push(Vt),Vt=lo(gt)),_t&&(se+=Dt)}var Hr=gt.length-3;lr=gt[Hr],vr=gt[Hr+1],Xe=gt[Hr+2],(xi=vt===0?lr:vr)>=nt&&xi<=ht&&ul(Vt,lr,vr,Xe),Hr=Vt.length-3,xt&&Hr>=3&&(Vt[Hr]!==Vt[0]||Vt[Hr+1]!==Vt[1])&&ul(Vt,Vt[0],Vt[1],Vt[2]),Vt.length&&tt.push(Vt)}function lo(gt){var tt=[];return tt.size=gt.size,tt.start=gt.start,tt.end=gt.end,tt}function du(gt,tt,nt,ht,vt,xt){for(var _t=0;_t_t.maxX&&(_t.maxX=ie),se>_t.maxY&&(_t.maxY=se)}return _t}function Ul(gt,tt,nt,ht){var vt=tt.geometry,xt=tt.type,_t=[];if(xt===\"Point\"||xt===\"MultiPoint\")for(var Dt=0;Dt0&&tt.size<(vt?_t:ht))nt.numPoints+=tt.length/3;else{for(var Dt=[],Mt=0;Mt_t)&&(nt.numSimplified++,Dt.push(tt[Mt]),Dt.push(tt[Mt+1])),nt.numPoints++;vt&&function(Vt,ie){for(var se=0,ae=0,lr=Vt.length,vr=lr-2;ae0===ie)for(ae=0,lr=Vt.length;ae24)throw new Error(\"maxZoom should be in the 0-24 range\");if(tt.promoteId&&tt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var ht=function(vt,xt){var _t=[];if(vt.type===\"FeatureCollection\")for(var Dt=0;Dt1&&console.time(\"creation\"),ae=this.tiles[se]=gn(gt,tt,nt,ht,Mt),this.tileCoords.push({z:tt,x:nt,y:ht}),Vt)){Vt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",tt,nt,ht,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd(\"creation\"));var lr=\"z\"+tt;this.stats[lr]=(this.stats[lr]||0)+1,this.total++}if(ae.source=gt,vt){if(tt===Mt.maxZoom||tt===vt)continue;var vr=1<1&&console.time(\"clipping\");var Xe,cr,wr,xi,zi,ni,Hr=.5*Mt.buffer/Mt.extent,jn=.5-Hr,Bi=.5+Hr,xn=1+Hr;Xe=cr=wr=xi=null,zi=mn(gt,ie,nt-Hr,nt+Bi,0,ae.minX,ae.maxX,Mt),ni=mn(gt,ie,nt+jn,nt+xn,0,ae.minX,ae.maxX,Mt),gt=null,zi&&(Xe=mn(zi,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),cr=mn(zi,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),zi=null),ni&&(wr=mn(ni,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),xi=mn(ni,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),ni=null),Vt>1&&console.timeEnd(\"clipping\"),Dt.push(Xe||[],tt+1,2*nt,2*ht),Dt.push(cr||[],tt+1,2*nt,2*ht+1),Dt.push(wr||[],tt+1,2*nt+1,2*ht),Dt.push(xi||[],tt+1,2*nt+1,2*ht+1)}}},Te.prototype.getTile=function(gt,tt,nt){var ht=this.options,vt=ht.extent,xt=ht.debug;if(gt<0||gt>24)return null;var _t=1<1&&console.log(\"drilling down to z%d-%d-%d\",gt,tt,nt);for(var Mt,Vt=gt,ie=tt,se=nt;!Mt&&Vt>0;)Vt--,ie=Math.floor(ie/2),se=Math.floor(se/2),Mt=this.tiles[Dr(Vt,ie,se)];return Mt&&Mt.source?(xt>1&&console.log(\"found parent tile z%d-%d-%d\",Vt,ie,se),xt>1&&console.time(\"drilling down\"),this.splitTile(Mt.source,Vt,ie,se,gt,tt,nt),xt>1&&console.timeEnd(\"drilling down\"),this.tiles[Dt]?ve(this.tiles[Dt],vt):null):null};class Mr extends I{constructor(tt,nt,ht,vt){super(tt,nt,ht),this._dataUpdateable=new Map,this.loadGeoJSON=(xt,_t)=>{let{promoteId:Dt}=xt;if(xt.request)return n.f(xt.request,(Mt,Vt,ie,se)=>{this._dataUpdateable=Us(Vt,Dt)?La(Vt,Dt):void 0,_t(Mt,Vt,ie,se)});if(typeof xt.data==\"string\")try{let Mt=JSON.parse(xt.data);this._dataUpdateable=Us(Mt,Dt)?La(Mt,Dt):void 0,_t(null,Mt)}catch{_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`))}else xt.dataDiff?this._dataUpdateable?(function(Mt,Vt,ie){var se,ae,lr,vr;if(Vt.removeAll&&Mt.clear(),Vt.remove)for(let Xe of Vt.remove)Mt.delete(Xe);if(Vt.add)for(let Xe of Vt.add){let cr=gr(Xe,ie);cr!=null&&Mt.set(cr,Xe)}if(Vt.update)for(let Xe of Vt.update){let cr=Mt.get(Xe.id);if(cr==null)continue;let wr=!Xe.removeAllProperties&&(((se=Xe.removeProperties)===null||se===void 0?void 0:se.length)>0||((ae=Xe.addOrUpdateProperties)===null||ae===void 0?void 0:ae.length)>0);if((Xe.newGeometry||Xe.removeAllProperties||wr)&&(cr=Object.assign({},cr),Mt.set(Xe.id,cr),wr&&(cr.properties=Object.assign({},cr.properties))),Xe.newGeometry&&(cr.geometry=Xe.newGeometry),Xe.removeAllProperties)cr.properties={};else if(((lr=Xe.removeProperties)===null||lr===void 0?void 0:lr.length)>0)for(let xi of Xe.removeProperties)Object.prototype.hasOwnProperty.call(cr.properties,xi)&&delete cr.properties[xi];if(((vr=Xe.addOrUpdateProperties)===null||vr===void 0?void 0:vr.length)>0)for(let{key:xi,value:zi}of Xe.addOrUpdateProperties)cr.properties[xi]=zi}}(this._dataUpdateable,xt.dataDiff,Dt),_t(null,{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())})):_t(new Error(`Cannot update existing geojson data in ${xt.source}`)):_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},this.loadVectorData=this.loadGeoJSONTile,vt&&(this.loadGeoJSON=vt)}loadGeoJSONTile(tt,nt){let ht=tt.tileID.canonical;if(!this._geoJSONIndex)return nt(null,null);let vt=this._geoJSONIndex.getTile(ht.z,ht.x,ht.y);if(!vt)return nt(null,null);let xt=new class{constructor(Dt){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=n.N,this.length=Dt.length,this._features=Dt}feature(Dt){return new class{constructor(Mt){this._feature=Mt,this.extent=n.N,this.type=Mt.type,this.properties=Mt.tags,\"id\"in Mt&&!isNaN(Mt.id)&&(this.id=parseInt(Mt.id,10))}loadGeometry(){if(this._feature.type===1){let Mt=[];for(let Vt of this._feature.geometry)Mt.push([new n.P(Vt[0],Vt[1])]);return Mt}{let Mt=[];for(let Vt of this._feature.geometry){let ie=[];for(let se of Vt)ie.push(new n.P(se[0],se[1]));Mt.push(ie)}return Mt}}toGeoJSON(Mt,Vt,ie){return et.call(this,Mt,Vt,ie)}}(this._features[Dt])}}(vt.features),_t=zl(xt);_t.byteOffset===0&&_t.byteLength===_t.buffer.byteLength||(_t=new Uint8Array(_t)),nt(null,{vectorTile:xt,rawData:_t.buffer})}loadData(tt,nt){var ht;(ht=this._pendingRequest)===null||ht===void 0||ht.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request);this._pendingCallback=nt,this._pendingRequest=this.loadGeoJSON(tt,(xt,_t)=>{if(delete this._pendingCallback,delete this._pendingRequest,xt||!_t)return nt(xt);if(typeof _t!=\"object\")return nt(new Error(`Input data given to '${tt.source}' is not a valid GeoJSON object.`));{Q(_t,!0);try{if(tt.filter){let Mt=n.bC(tt.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Mt.result===\"error\")throw new Error(Mt.value.map(ie=>`${ie.key}: ${ie.message}`).join(\", \"));_t={type:\"FeatureCollection\",features:_t.features.filter(ie=>Mt.value.evaluate({zoom:0},ie))}}this._geoJSONIndex=tt.cluster?new kc(function({superclusterOptions:Mt,clusterProperties:Vt}){if(!Vt||!Mt)return Mt;let ie={},se={},ae={accumulated:null,zoom:0},lr={properties:null},vr=Object.keys(Vt);for(let Xe of vr){let[cr,wr]=Vt[Xe],xi=n.bC(wr),zi=n.bC(typeof cr==\"string\"?[cr,[\"accumulated\"],[\"get\",Xe]]:cr);ie[Xe]=xi.value,se[Xe]=zi.value}return Mt.map=Xe=>{lr.properties=Xe;let cr={};for(let wr of vr)cr[wr]=ie[wr].evaluate(ae,lr);return cr},Mt.reduce=(Xe,cr)=>{lr.properties=cr;for(let wr of vr)ae.accumulated=Xe[wr],Xe[wr]=se[wr].evaluate(ae,lr)},Mt}(tt)).load(_t.features):function(Mt,Vt){return new Te(Mt,Vt)}(_t,tt.geojsonVtOptions)}catch(Mt){return nt(Mt)}this.loaded={};let Dt={};if(vt){let Mt=vt.finish();Mt&&(Dt.resourceTiming={},Dt.resourceTiming[tt.source]=JSON.parse(JSON.stringify(Mt)))}nt(null,Dt)}})}reloadTile(tt,nt){let ht=this.loaded;return ht&&ht[tt.uid]?super.reloadTile(tt,nt):this.loadTile(tt,nt)}removeSource(tt,nt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),nt()}getClusterExpansionZoom(tt,nt){try{nt(null,this._geoJSONIndex.getClusterExpansionZoom(tt.clusterId))}catch(ht){nt(ht)}}getClusterChildren(tt,nt){try{nt(null,this._geoJSONIndex.getChildren(tt.clusterId))}catch(ht){nt(ht)}}getClusterLeaves(tt,nt){try{nt(null,this._geoJSONIndex.getLeaves(tt.clusterId,tt.limit,tt.offset))}catch(ht){nt(ht)}}}class sa{constructor(tt){this.self=tt,this.actor=new n.C(tt,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:I,geojson:Mr},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(nt,ht)=>{if(this.workerSourceTypes[nt])throw new Error(`Worker source with name \"${nt}\" already registered.`);this.workerSourceTypes[nt]=ht},this.self.registerRTLTextPlugin=nt=>{if(n.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");n.bD.applyArabicShaping=nt.applyArabicShaping,n.bD.processBidirectionalText=nt.processBidirectionalText,n.bD.processStyledBidirectionalText=nt.processStyledBidirectionalText}}setReferrer(tt,nt){this.referrer=nt}setImages(tt,nt,ht){this.availableImages[tt]=nt;for(let vt in this.workerSources[tt]){let xt=this.workerSources[tt][vt];for(let _t in xt)xt[_t].availableImages=nt}ht()}setLayers(tt,nt,ht){this.getLayerIndex(tt).replace(nt),ht()}updateLayers(tt,nt,ht){this.getLayerIndex(tt).update(nt.layers,nt.removedIds),ht()}loadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).loadTile(nt,ht)}loadDEMTile(tt,nt,ht){this.getDEMWorkerSource(tt,nt.source).loadTile(nt,ht)}reloadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).reloadTile(nt,ht)}abortTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).abortTile(nt,ht)}removeTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).removeTile(nt,ht)}removeDEMTile(tt,nt){this.getDEMWorkerSource(tt,nt.source).removeTile(nt)}removeSource(tt,nt,ht){if(!this.workerSources[tt]||!this.workerSources[tt][nt.type]||!this.workerSources[tt][nt.type][nt.source])return;let vt=this.workerSources[tt][nt.type][nt.source];delete this.workerSources[tt][nt.type][nt.source],vt.removeSource!==void 0?vt.removeSource(nt,ht):ht()}loadWorkerSource(tt,nt,ht){try{this.self.importScripts(nt.url),ht()}catch(vt){ht(vt.toString())}}syncRTLPluginState(tt,nt,ht){try{n.bD.setState(nt);let vt=n.bD.getPluginURL();if(n.bD.isLoaded()&&!n.bD.isParsed()&&vt!=null){this.self.importScripts(vt);let xt=n.bD.isParsed();ht(xt?void 0:new Error(`RTL Text Plugin failed to import scripts from ${vt}`),xt)}}catch(vt){ht(vt.toString())}}getAvailableImages(tt){let nt=this.availableImages[tt];return nt||(nt=[]),nt}getLayerIndex(tt){let nt=this.layerIndexes[tt];return nt||(nt=this.layerIndexes[tt]=new o),nt}getWorkerSource(tt,nt,ht){return this.workerSources[tt]||(this.workerSources[tt]={}),this.workerSources[tt][nt]||(this.workerSources[tt][nt]={}),this.workerSources[tt][nt][ht]||(this.workerSources[tt][nt][ht]=new this.workerSourceTypes[nt]({send:(vt,xt,_t)=>{this.actor.send(vt,xt,_t,tt)}},this.getLayerIndex(tt),this.getAvailableImages(tt))),this.workerSources[tt][nt][ht]}getDEMWorkerSource(tt,nt){return this.demWorkerSources[tt]||(this.demWorkerSources[tt]={}),this.demWorkerSources[tt][nt]||(this.demWorkerSources[tt][nt]=new R),this.demWorkerSources[tt][nt]}}return n.i()&&(self.worker=new sa(self)),sa}),i([\"./shared\"],function(n){\"use strict\";var o=\"3.6.2\";class c{static testProp(l){if(!c.docStyle)return l[0];for(let d=0;d{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static mousePos(l,d){let v=l.getBoundingClientRect();return new n.P(d.clientX-v.left-l.clientLeft,d.clientY-v.top-l.clientTop)}static touchPos(l,d){let v=l.getBoundingClientRect(),b=[];for(let M=0;M{l=[],d=0,v=0,b={}},T.addThrottleControl=W=>{let Z=v++;return b[Z]=W,Z},T.removeThrottleControl=W=>{delete b[W],B()},T.getImage=(W,Z,$=!0)=>{f.supported&&(W.headers||(W.headers={}),W.headers.accept=\"image/webp,*/*\");let st={requestParameters:W,supportImageRefresh:$,callback:Z,cancelled:!1,completed:!1,cancel:()=>{st.completed||st.cancelled||(st.cancelled=!0,st.innerRequest&&(st.innerRequest.cancel(),d--),B())}};return l.push(st),B(),st};let M=W=>{let{requestParameters:Z,supportImageRefresh:$,callback:st}=W;return n.e(Z,{type:\"image\"}),($!==!1||n.i()||n.g(Z.url)||Z.headers&&!Object.keys(Z.headers).reduce((At,pt)=>At&&pt===\"accept\",!0)?n.m:U)(Z,(At,pt,yt,dt)=>{O(W,st,At,pt,yt,dt)})},O=(W,Z,$,st,At,pt)=>{$?Z($):st instanceof HTMLImageElement||n.a(st)?Z(null,st):st&&((yt,dt)=>{typeof createImageBitmap==\"function\"?n.b(yt,dt):n.d(yt,dt)})(st,(yt,dt)=>{yt!=null?Z(yt):dt!=null&&Z(null,dt,{cacheControl:At,expires:pt})}),W.cancelled||(W.completed=!0,d--,B())},B=()=>{let W=(()=>{let Z=Object.keys(b),$=!1;if(Z.length>0){for(let st of Z)if($=b[st](),$)break}return $})()?n.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:n.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let Z=d;Z0;Z++){let $=l.shift();if($.cancelled){Z--;continue}let st=M($);d++,$.innerRequest=st}},U=(W,Z)=>{let $=new Image,st=W.url,At=!1,pt=W.credentials;return pt&&pt===\"include\"?$.crossOrigin=\"use-credentials\":(pt&&pt===\"same-origin\"||!n.s(st))&&($.crossOrigin=\"anonymous\"),$.fetchPriority=\"high\",$.onload=()=>{Z(null,$),$.onerror=$.onload=null},$.onerror=()=>{At||Z(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\")),$.onerror=$.onload=null},$.src=st,{cancel:()=>{At=!0,$.src=\"\"}}}}(j||(j={})),j.resetRequestQueue(),function(T){T.Glyphs=\"Glyphs\",T.Image=\"Image\",T.Source=\"Source\",T.SpriteImage=\"SpriteImage\",T.SpriteJSON=\"SpriteJSON\",T.Style=\"Style\",T.Tile=\"Tile\",T.Unknown=\"Unknown\"}(Q||(Q={}));class et{constructor(l){this._transformRequestFn=l}transformRequest(l,d){return this._transformRequestFn&&this._transformRequestFn(l,d)||{url:l}}normalizeSpriteURL(l,d,v){let b=function(M){let O=M.match(Y);if(!O)throw new Error(`Unable to parse URL \"${M}\"`);return{protocol:O[1],authority:O[2],path:O[3]||\"/\",params:O[4]?O[4].split(\"&\"):[]}}(l);return b.path+=`${d}${v}`,function(M){let O=M.params.length?`?${M.params.join(\"&\")}`:\"\";return`${M.protocol}://${M.authority}${M.path}${O}`}(b)}setTransformRequest(l){this._transformRequestFn=l}}let Y=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function K(T){var l=new n.A(3);return l[0]=T[0],l[1]=T[1],l[2]=T[2],l}var J,ut=function(T,l,d){return T[0]=l[0]-d[0],T[1]=l[1]-d[1],T[2]=l[2]-d[2],T};J=new n.A(3),n.A!=Float32Array&&(J[0]=0,J[1]=0,J[2]=0);var Et=function(T){var l=T[0],d=T[1];return l*l+d*d};function kt(T){let l=[];if(typeof T==\"string\")l.push({id:\"default\",url:T});else if(T&&T.length>0){let d=[];for(let{id:v,url:b}of T){let M=`${v}${b}`;d.indexOf(M)===-1&&(d.push(M),l.push({id:v,url:b}))}}return l}function Xt(T,l,d,v,b){if(v)return void T(v);if(b!==Object.values(l).length||b!==Object.values(d).length)return;let M={};for(let O in l){M[O]={};let B=n.h.getImageCanvasContext(d[O]),U=l[O];for(let W in U){let{width:Z,height:$,x:st,y:At,sdf:pt,pixelRatio:yt,stretchX:dt,stretchY:Ft,content:Ht}=U[W];M[O][W]={data:null,pixelRatio:yt,sdf:pt,stretchX:dt,stretchY:Ft,content:Ht,spriteData:{width:Z,height:$,x:st,y:At,context:B}}}}T(null,M)}(function(){var T=new n.A(2);n.A!=Float32Array&&(T[0]=0,T[1]=0)})();class qt{constructor(l,d,v,b){this.context=l,this.format=v,this.texture=l.gl.createTexture(),this.update(d,b)}update(l,d,v){let{width:b,height:M}=l,O=!(this.size&&this.size[0]===b&&this.size[1]===M||v),{context:B}=this,{gl:U}=B;if(this.useMipmap=!!(d&&d.useMipmap),U.bindTexture(U.TEXTURE_2D,this.texture),B.pixelStoreUnpackFlipY.set(!1),B.pixelStoreUnpack.set(1),B.pixelStoreUnpackPremultiplyAlpha.set(this.format===U.RGBA&&(!d||d.premultiply!==!1)),O)this.size=[b,M],l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texImage2D(U.TEXTURE_2D,0,this.format,this.format,U.UNSIGNED_BYTE,l):U.texImage2D(U.TEXTURE_2D,0,this.format,b,M,0,this.format,U.UNSIGNED_BYTE,l.data);else{let{x:W,y:Z}=v||{x:0,y:0};l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texSubImage2D(U.TEXTURE_2D,0,W,Z,U.RGBA,U.UNSIGNED_BYTE,l):U.texSubImage2D(U.TEXTURE_2D,0,W,Z,b,M,U.RGBA,U.UNSIGNED_BYTE,l.data)}this.useMipmap&&this.isSizePowerOfTwo()&&U.generateMipmap(U.TEXTURE_2D)}bind(l,d,v){let{context:b}=this,{gl:M}=b;M.bindTexture(M.TEXTURE_2D,this.texture),v!==M.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(v=M.LINEAR),l!==this.filter&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MAG_FILTER,l),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MIN_FILTER,v||l),this.filter=l),d!==this.wrap&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_S,d),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_T,d),this.wrap=d)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:l}=this.context;l.deleteTexture(this.texture),this.texture=null}}function le(T){let{userImage:l}=T;return!!(l&&l.render&&l.render())&&(T.data.replace(new Uint8Array(l.data.buffer)),!0)}class ue extends n.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new n.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(l){if(this.loaded!==l&&(this.loaded=l,l)){for(let{ids:d,callback:v}of this.requestors)this._notify(d,v);this.requestors=[]}}getImage(l){let d=this.images[l];if(d&&!d.data&&d.spriteData){let v=d.spriteData;d.data=new n.R({width:v.width,height:v.height},v.context.getImageData(v.x,v.y,v.width,v.height).data),d.spriteData=null}return d}addImage(l,d){if(this.images[l])throw new Error(`Image id ${l} already exist, use updateImage instead`);this._validate(l,d)&&(this.images[l]=d)}_validate(l,d){let v=!0,b=d.data||d.spriteData;return this._validateStretch(d.stretchX,b&&b.width)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchX\" value`))),v=!1),this._validateStretch(d.stretchY,b&&b.height)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchY\" value`))),v=!1),this._validateContent(d.content,d)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"content\" value`))),v=!1),v}_validateStretch(l,d){if(!l)return!0;let v=0;for(let b of l){if(b[0]-1);U++,M[U]=B,O[U]=W,O[U+1]=De}for(let B=0,U=0;B{let B=this.entries[b];B||(B=this.entries[b]={glyphs:{},requests:{},ranges:{}});let U=B.glyphs[M];if(U!==void 0)return void O(null,{stack:b,id:M,glyph:U});if(U=this._tinySDF(B,b,M),U)return B.glyphs[M]=U,void O(null,{stack:b,id:M,glyph:U});let W=Math.floor(M/256);if(256*W>65535)return void O(new Error(\"glyphs > 65535 not supported\"));if(B.ranges[W])return void O(null,{stack:b,id:M,glyph:U});if(!this.url)return void O(new Error(\"glyphsUrl is not set\"));let Z=B.requests[W];Z||(Z=B.requests[W]=[],Sr.loadGlyphRange(b,W,this.url,this.requestManager,($,st)=>{if(st){for(let At in st)this._doesCharSupportLocalGlyph(+At)||(B.glyphs[+At]=st[+At]);B.ranges[W]=!0}for(let At of Z)At($,st);delete B.requests[W]})),Z.push(($,st)=>{$?O($):st&&O(null,{stack:b,id:M,glyph:st[M]||null})})},(b,M)=>{if(b)d(b);else if(M){let O={};for(let{stack:B,id:U,glyph:W}of M)(O[B]||(O[B]={}))[U]=W&&{id:W.id,bitmap:W.bitmap.clone(),metrics:W.metrics};d(null,O)}})}_doesCharSupportLocalGlyph(l){return!!this.localIdeographFontFamily&&(n.u[\"CJK Unified Ideographs\"](l)||n.u[\"Hangul Syllables\"](l)||n.u.Hiragana(l)||n.u.Katakana(l))}_tinySDF(l,d,v){let b=this.localIdeographFontFamily;if(!b||!this._doesCharSupportLocalGlyph(v))return;let M=l.tinySDF;if(!M){let B=\"400\";/bold/i.test(d)?B=\"900\":/medium/i.test(d)?B=\"500\":/light/i.test(d)&&(B=\"200\"),M=l.tinySDF=new Sr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:b,fontWeight:B})}let O=M.draw(String.fromCharCode(v));return{id:v,bitmap:new n.q({width:O.width||60,height:O.height||60},O.data),metrics:{width:O.glyphWidth/2||24,height:O.glyphHeight/2||24,left:O.glyphLeft/2+.5||0,top:O.glyphTop/2-27.5||-8,advance:O.glyphAdvance/2||24,isDoubleResolution:!0}}}}Sr.loadGlyphRange=function(T,l,d,v,b){let M=256*l,O=M+255,B=v.transformRequest(d.replace(\"{fontstack}\",T).replace(\"{range}\",`${M}-${O}`),Q.Glyphs);n.l(B,(U,W)=>{if(U)b(U);else if(W){let Z={};for(let $ of n.n(W))Z[$.id]=$;b(null,Z)}})},Sr.TinySDF=class{constructor({fontSize:T=24,buffer:l=3,radius:d=8,cutoff:v=.25,fontFamily:b=\"sans-serif\",fontWeight:M=\"normal\",fontStyle:O=\"normal\"}={}){this.buffer=l,this.cutoff=v,this.radius=d;let B=this.size=T+4*l,U=this._createCanvas(B),W=this.ctx=U.getContext(\"2d\",{willReadFrequently:!0});W.font=`${O} ${M} ${T}px ${b}`,W.textBaseline=\"alphabetic\",W.textAlign=\"left\",W.fillStyle=\"black\",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B)}_createCanvas(T){let l=document.createElement(\"canvas\");return l.width=l.height=T,l}draw(T){let{width:l,actualBoundingBoxAscent:d,actualBoundingBoxDescent:v,actualBoundingBoxLeft:b,actualBoundingBoxRight:M}=this.ctx.measureText(T),O=Math.ceil(d),B=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(M-b))),U=Math.min(this.size-this.buffer,O+Math.ceil(v)),W=B+2*this.buffer,Z=U+2*this.buffer,$=Math.max(W*Z,0),st=new Uint8ClampedArray($),At={data:st,width:W,height:Z,glyphWidth:B,glyphHeight:U,glyphTop:O,glyphLeft:0,glyphAdvance:l};if(B===0||U===0)return At;let{ctx:pt,buffer:yt,gridInner:dt,gridOuter:Ft}=this;pt.clearRect(yt,yt,B,U),pt.fillText(T,yt,yt+O);let Ht=pt.getImageData(yt,yt,B,U);Ft.fill(De,0,$),dt.fill(0,0,$);for(let St=0;St0?oe*oe:0,dt[$t]=oe<0?oe*oe:0}}Ke(Ft,0,0,W,Z,W,this.f,this.v,this.z),Ke(dt,yt,yt,B,U,W,this.f,this.v,this.z);for(let St=0;St<$;St++){let Bt=Math.sqrt(Ft[St])-Math.sqrt(dt[St]);st[St]=Math.round(255-255*(Bt/this.radius+this.cutoff))}return At}};class Li{constructor(){this.specification=n.v.light.position}possiblyEvaluate(l,d){return n.z(l.expression.evaluate(d))}interpolate(l,d,v){return{x:n.B.number(l.x,d.x,v),y:n.B.number(l.y,d.y,v),z:n.B.number(l.z,d.z,v)}}}let oo;class zl extends n.E{constructor(l){super(),oo=oo||new n.r({anchor:new n.D(n.v.light.anchor),position:new Li,color:new n.D(n.v.light.color),intensity:new n.D(n.v.light.intensity)}),this._transitionable=new n.T(oo),this.setLight(l),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(l,d={}){if(!this._validate(n.t,l,d))for(let v in l){let b=l[v];v.endsWith(\"-transition\")?this._transitionable.setTransition(v.slice(0,-11),b):this._transitionable.setValue(v,b)}}updateTransitions(l){this._transitioning=this._transitionable.transitioned(l,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(l){this.properties=this._transitioning.possiblyEvaluate(l)}_validate(l,d,v){return(!v||v.validate!==!1)&&n.x(this,l.call(n.y,n.e({value:d,style:{glyphs:!0,sprite:!0},styleSpec:n.v})))}}class No{constructor(l,d){this.width=l,this.height=d,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(l,d){let v=l.join(\",\")+String(d);return this.dashEntry[v]||(this.dashEntry[v]=this.addDash(l,d)),this.dashEntry[v]}getDashRanges(l,d,v){let b=[],M=l.length%2==1?-l[l.length-1]*v:0,O=l[0]*v,B=!0;b.push({left:M,right:O,isDash:B,zeroLength:l[0]===0});let U=l[0];for(let W=1;W1&&(U=l[++B]);let Z=Math.abs(W-U.left),$=Math.abs(W-U.right),st=Math.min(Z,$),At,pt=M/v*(b+1);if(U.isDash){let yt=b-Math.abs(pt);At=Math.sqrt(st*st+yt*yt)}else At=b-Math.sqrt(st*st+pt*pt);this.data[O+W]=Math.max(0,Math.min(255,At+128))}}}addRegularDash(l){for(let B=l.length-1;B>=0;--B){let U=l[B],W=l[B+1];U.zeroLength?l.splice(B,1):W&&W.isDash===U.isDash&&(W.left=U.left,l.splice(B,1))}let d=l[0],v=l[l.length-1];d.isDash===v.isDash&&(d.left=v.left-this.width,v.right=d.right+this.width);let b=this.width*this.nextRow,M=0,O=l[M];for(let B=0;B1&&(O=l[++M]);let U=Math.abs(B-O.left),W=Math.abs(B-O.right),Z=Math.min(U,W);this.data[b+B]=Math.max(0,Math.min(255,(O.isDash?Z:-Z)+128))}}addDash(l,d){let v=d?7:0,b=2*v+1;if(this.nextRow+b>this.height)return n.w(\"LineAtlas out of space\"),null;let M=0;for(let B=0;B{b.send(l,d,M)},v=v||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(l=!0){this.actors.forEach(d=>{d.remove()}),this.actors=[],l&&this.workerPool.release(this.id)}}function Uo(T,l,d){let v=function(b,M){if(b)return d(b);if(M){let O=n.F(n.e(M,T),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);M.vector_layers&&(O.vectorLayers=M.vector_layers,O.vectorLayerIds=O.vectorLayers.map(B=>B.id)),d(null,O)}};return T.url?n.f(l.transformRequest(T.url,Q.Source),v):n.h.frame(()=>v(null,T))}class Si{constructor(l,d){l&&(d?this.setSouthWest(l).setNorthEast(d):Array.isArray(l)&&(l.length===4?this.setSouthWest([l[0],l[1]]).setNorthEast([l[2],l[3]]):this.setSouthWest(l[0]).setNorthEast(l[1])))}setNorthEast(l){return this._ne=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}setSouthWest(l){return this._sw=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}extend(l){let d=this._sw,v=this._ne,b,M;if(l instanceof n.L)b=l,M=l;else{if(!(l instanceof Si))return Array.isArray(l)?l.length===4||l.every(Array.isArray)?this.extend(Si.convert(l)):this.extend(n.L.convert(l)):l&&(\"lng\"in l||\"lon\"in l)&&\"lat\"in l?this.extend(n.L.convert(l)):this;if(b=l._sw,M=l._ne,!b||!M)return this}return d||v?(d.lng=Math.min(b.lng,d.lng),d.lat=Math.min(b.lat,d.lat),v.lng=Math.max(M.lng,v.lng),v.lat=Math.max(M.lat,v.lat)):(this._sw=new n.L(b.lng,b.lat),this._ne=new n.L(M.lng,M.lat)),this}getCenter(){return new n.L((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new n.L(this.getWest(),this.getNorth())}getSouthEast(){return new n.L(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(l){let{lng:d,lat:v}=n.L.convert(l),b=this._sw.lng<=d&&d<=this._ne.lng;return this._sw.lng>this._ne.lng&&(b=this._sw.lng>=d&&d>=this._ne.lng),this._sw.lat<=v&&v<=this._ne.lat&&b}static convert(l){return l instanceof Si?l:l&&new Si(l)}static fromLngLat(l,d=0){let v=360*d/40075017,b=v/Math.cos(Math.PI/180*l.lat);return new Si(new n.L(l.lng-b,l.lat-v),new n.L(l.lng+b,l.lat+v))}}class Ns{constructor(l,d,v){this.bounds=Si.convert(this.validateBounds(l)),this.minzoom=d||0,this.maxzoom=v||24}validateBounds(l){return Array.isArray(l)&&l.length===4?[Math.max(-180,l[0]),Math.max(-90,l[1]),Math.min(180,l[2]),Math.min(90,l[3])]:[-180,-90,180,90]}contains(l){let d=Math.pow(2,l.z),v=Math.floor(n.G(this.bounds.getWest())*d),b=Math.floor(n.H(this.bounds.getNorth())*d),M=Math.ceil(n.G(this.bounds.getEast())*d),O=Math.ceil(n.H(this.bounds.getSouth())*d);return l.x>=v&&l.x=b&&l.y{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(M,O)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),M?this.fire(new n.j(M)):O&&(n.e(this,O),O.bounds&&(this.tileBounds=new Ns(O.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},this.serialize=()=>n.e({},this._options),this.id=l,this.dispatcher=v,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=n.e({type:\"vector\"},d),this._collectResourceTiming=d.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(b)}loaded(){return this._loaded}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}onAdd(l){this.map=l,this.load()}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b={request:this.map._requestManager.transformRequest(v,Q.Tile),uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,tileSize:this.tileSize*l.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function M(O,B){return delete l.request,l.aborted?d(null):O&&O.status!==404?d(O):(B&&B.resourceTiming&&(l.resourceTiming=B.resourceTiming),this.map._refreshExpiredTiles&&B&&l.setExpiryData(B),l.loadVectorData(B,this.map.painter),d(null),void(l.reloadCallback&&(this.loadTile(l,l.reloadCallback),l.reloadCallback=null)))}b.request.collectResourceTiming=this._collectResourceTiming,l.actor&&l.state!==\"expired\"?l.state===\"loading\"?l.reloadCallback=d:l.request=l.actor.send(\"reloadTile\",b,M.bind(this)):(l.actor=this.dispatcher.getActor(),l.request=l.actor.send(\"loadTile\",b,M.bind(this)))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.actor&&l.actor.send(\"abortTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}unloadTile(l){l.unloadVectorData(),l.actor&&l.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class kc extends n.E{constructor(l,d,v,b){super(),this.id=l,this.dispatcher=v,this.setEventedParent(b),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.e({type:\"raster\"},d),n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\"]))}load(){this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(l,d)=>{this._tileJSONRequest=null,this._loaded=!0,l?this.fire(new n.j(l)):d&&(n.e(this,d),d.bounds&&(this.tileBounds=new Ns(d.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})}loaded(){return this._loaded}onAdd(l){this.map=l,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}serialize(){return n.e({},this._options)}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);l.request=j.getImage(this.map._requestManager.transformRequest(v,Q.Tile),(b,M,O)=>{if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(b)l.state=\"errored\",d(b);else if(M){this.map._refreshExpiredTiles&&O&&l.setExpiryData(O);let B=this.map.painter.context,U=B.gl;l.texture=this.map.painter.getTileTexture(M.width),l.texture?l.texture.update(M,{useMipmap:!0}):(l.texture=new qt(B,M,U.RGBA,{useMipmap:!0}),l.texture.bind(U.LINEAR,U.CLAMP_TO_EDGE,U.LINEAR_MIPMAP_NEAREST),B.extTextureFilterAnisotropic&&U.texParameterf(U.TEXTURE_2D,B.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,B.extTextureFilterAnisotropicMax)),l.state=\"loaded\",d(null)}},this.map._refreshExpiredTiles)}abortTile(l,d){l.request&&(l.request.cancel(),delete l.request),d()}unloadTile(l,d){l.texture&&this.map.painter.saveTileTexture(l.texture),d()}hasTransition(){return!1}}class Rc extends kc{constructor(l,d,v,b){super(l,d,v,b),this.type=\"raster-dem\",this.maxzoom=22,this._options=n.e({type:\"raster-dem\"},d),this.encoding=d.encoding||\"mapbox\",this.redFactor=d.redFactor,this.greenFactor=d.greenFactor,this.blueFactor=d.blueFactor,this.baseShift=d.baseShift}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b=this.map._requestManager.transformRequest(v,Q.Tile);function M(O,B){O&&(l.state=\"errored\",d(O)),B&&(l.dem=B,l.needsHillshadePrepare=!0,l.needsTerrainPrepare=!0,l.state=\"loaded\",d(null))}l.neighboringTiles=this._getNeighboringTiles(l.tileID),l.request=j.getImage(b,(O,B,U)=>n._(this,void 0,void 0,function*(){if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(O)l.state=\"errored\",d(O);else if(B){this.map._refreshExpiredTiles&&l.setExpiryData(U);let W=n.a(B)&&n.J()?B:yield function($){return n._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&n.K()){let st=$.width+2,At=$.height+2;try{return new n.R({width:st,height:At},yield n.M($,-1,-1,st,At))}catch{}}return n.h.getImageData($,1)})}(B),Z={uid:l.uid,coord:l.tileID,source:this.id,rawImageData:W,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};l.actor&&l.state!==\"expired\"||(l.actor=this.dispatcher.getActor(),l.actor.send(\"loadDEMTile\",Z,M))}}),this.map._refreshExpiredTiles)}_getNeighboringTiles(l){let d=l.canonical,v=Math.pow(2,d.z),b=(d.x-1+v)%v,M=d.x===0?l.wrap-1:l.wrap,O=(d.x+1+v)%v,B=d.x+1===v?l.wrap+1:l.wrap,U={};return U[new n.O(l.overscaledZ,M,d.z,b,d.y).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y).key]={backfilled:!1},d.y>0&&(U[new n.O(l.overscaledZ,M,d.z,b,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,l.wrap,d.z,d.x,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y-1).key]={backfilled:!1}),d.y+1{this._updateWorkerData()},this.serialize=()=>n.e({},this._options,{type:this.type,data:this._data}),this.id=l,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=v.getActor(),this.setEventedParent(b),this._data=d.data,this._options=n.e({},d),this._collectResourceTiming=d.collectResourceTiming,d.maxzoom!==void 0&&(this.maxzoom=d.maxzoom),d.type&&(this.type=d.type),d.attribution&&(this.attribution=d.attribution),this.promoteId=d.promoteId;let M=n.N/this.tileSize;this.workerOptions=n.e({source:this.id,cluster:d.cluster||!1,geojsonVtOptions:{buffer:(d.buffer!==void 0?d.buffer:128)*M,tolerance:(d.tolerance!==void 0?d.tolerance:.375)*M,extent:n.N,maxZoom:this.maxzoom,lineMetrics:d.lineMetrics||!1,generateId:d.generateId||!1},superclusterOptions:{maxZoom:d.clusterMaxZoom!==void 0?d.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,d.clusterMinPoints||2),extent:n.N,radius:(d.clusterRadius||50)*M,log:!1,generateId:d.generateId||!1},clusterProperties:d.clusterProperties,filter:d.filter},d.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}onAdd(l){this.map=l,this.load()}setData(l){return this._data=l,this._updateWorkerData(),this}updateData(l){return this._updateWorkerData(l),this}setClusterOptions(l){return this.workerOptions.cluster=l.cluster,l&&(l.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=l.clusterRadius),l.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=l.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(l,d){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:l,source:this.id},d),this}getClusterChildren(l,d){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:l,source:this.id},d),this}getClusterLeaves(l,d,v,b){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:l,limit:d,offset:v},b),this}_updateWorkerData(l){let d=n.e({},this.workerOptions);l?d.dataDiff=l:typeof this._data==\"string\"?(d.request=this.map._requestManager.transformRequest(n.h.resolveURL(this._data),Q.Source),d.request.collectResourceTiming=this._collectResourceTiming):d.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.actor.send(`${this.type}.loadData`,d,(v,b)=>{if(this._pendingLoads--,this._removed||b&&b.abandoned)return void this.fire(new n.k(\"dataabort\",{dataType:\"source\"}));let M=null;if(b&&b.resourceTiming&&b.resourceTiming[this.id]&&(M=b.resourceTiming[this.id].slice(0)),v)return void this.fire(new n.j(v));let O={dataType:\"source\"};this._collectResourceTiming&&M&&M.length>0&&n.e(O,{resourceTiming:M}),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"metadata\"}))),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"content\"})))})}loaded(){return this._pendingLoads===0}loadTile(l,d){let v=l.actor?\"reloadTile\":\"loadTile\";l.actor=this.actor;let b={type:this.type,uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};l.request=this.actor.send(v,b,(M,O)=>(delete l.request,l.unloadVectorData(),l.aborted?d(null):M?d(M):(l.loadVectorData(O,this.map.painter,v===\"reloadTile\"),d(null))))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.aborted=!0}unloadTile(l){l.unloadVectorData(),this.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})}hasTransition(){return!1}}var Jn=n.Q([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class ki extends n.E{constructor(l,d,v,b){super(),this.load=(M,O)=>{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=j.getImage(this.map._requestManager.transformRequest(this.url,Q.Image),(B,U)=>{this._request=null,this._loaded=!0,B?this.fire(new n.j(B)):U&&(this.image=U,M&&(this.coordinates=M),O&&O(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||!this.image)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture||(this.texture=new qt(M,this.image,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"image\",url:this.options.url,coordinates:this.coordinates}),this.id=l,this.dispatcher=v,this.coordinates=d.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(b),this.options=d}loaded(){return this._loaded}updateImage(l){return l.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=l.url,this.load(l.coordinates,()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(l){this.map=l,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(l){this.coordinates=l;let d=l.map(n.U.fromLngLat);this.tileID=function(b){let M=1/0,O=1/0,B=-1/0,U=-1/0;for(let st of b)M=Math.min(M,st.x),O=Math.min(O,st.y),B=Math.max(B,st.x),U=Math.max(U,st.y);let W=Math.max(B-M,U-O),Z=Math.max(0,Math.floor(-Math.log(W)/Math.LN2)),$=Math.pow(2,Z);return new n.W(Z,Math.floor((M+B)/2*$),Math.floor((O+U)/2*$))}(d),this.minzoom=this.maxzoom=this.tileID.z;let v=d.map(b=>this.tileID.getTilePoint(b)._round());return this._boundsArray=new n.V,this._boundsArray.emplaceBack(v[0].x,v[0].y,0,0),this._boundsArray.emplaceBack(v[1].x,v[1].y,n.N,0),this._boundsArray.emplaceBack(v[3].x,v[3].y,0,n.N),this._boundsArray.emplaceBack(v[2].x,v[2].y,n.N,n.N),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}loadTile(l,d){this.tileID&&this.tileID.equals(l.tileID.canonical)?(this.tiles[String(l.tileID.wrap)]=l,l.buckets={},d(null)):(l.state=\"errored\",d(null))}hasTransition(){return!1}}class ts extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!1;let M=this.options;this.urls=[];for(let O of M.urls)this.urls.push(this.map._requestManager.transformRequest(O,Q.Source).url);n.X(this.urls,(O,B)=>{this._loaded=!0,O?this.fire(new n.j(O)):B&&(this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE),O.texSubImage2D(O.TEXTURE_2D,0,0,0,O.RGBA,O.UNSIGNED_BYTE,this.video)):(this.texture=new qt(M,this.video,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"video\",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type=\"video\",this.options=d}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(l){if(this.video){let d=this.video.seekable;ld.end(0)?this.fire(new n.j(new n.Y(`sources.${this.id}`,null,`Playback for this video can be set only between the ${d.start(0)} and ${d.end(0)}-second mark.`))):this.video.currentTime=l}}getVideo(){return this.video}onAdd(l){this.map||(this.map=l,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class Vo extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new n.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let M=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,M=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,M=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let O=this.map.painter.context,B=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?(M||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new qt(O,this.canvas,B.RGBA,{premultiply:!0});let U=!1;for(let W in this.tiles){let Z=this.tiles[W];Z.state!==\"loaded\"&&(Z.state=\"loaded\",Z.texture=this.texture,U=!0)}U&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"canvas\",coordinates:this.coordinates}),d.coordinates?Array.isArray(d.coordinates)&&d.coordinates.length===4&&!d.coordinates.some(M=>!Array.isArray(M)||M.length!==2||M.some(O=>typeof O!=\"number\"))||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"coordinates\"'))),d.animate&&typeof d.animate!=\"boolean\"&&this.fire(new n.j(new n.Y(`sources.${l}`,null,'optional \"animate\" property must be a boolean value'))),d.canvas?typeof d.canvas==\"string\"||d.canvas instanceof HTMLCanvasElement||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"canvas\"'))),this.options=d,this.animate=d.animate===void 0||d.animate}getCanvas(){return this.canvas}onAdd(l){this.map=l,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let l of[this.canvas.width,this.canvas.height])if(isNaN(l)||l<=0)return!0;return!1}}let cl={},xo=T=>{switch(T){case\"geojson\":return Xi;case\"image\":return ki;case\"raster\":return kc;case\"raster-dem\":return Rc;case\"vector\":return ll;case\"video\":return ts;case\"canvas\":return Vo}return cl[T]};function Pa(T,l){let d=n.Z();return n.$(d,d,[1,1,0]),n.a0(d,d,[.5*T.width,.5*T.height,1]),n.a1(d,d,T.calculatePosMatrix(l.toUnwrapped()))}function na(T,l,d,v,b,M){let O=function($,st,At){if($)for(let pt of $){let yt=st[pt];if(yt&&yt.source===At&&yt.type===\"fill-extrusion\")return!0}else for(let pt in st){let yt=st[pt];if(yt.source===At&&yt.type===\"fill-extrusion\")return!0}return!1}(b&&b.layers,l,T.id),B=M.maxPitchScaleFactor(),U=T.tilesIn(v,B,O);U.sort(as);let W=[];for(let $ of U)W.push({wrappedTileID:$.tileID.wrapped().key,queryResults:$.tile.queryRenderedFeatures(l,d,T._state,$.queryGeometry,$.cameraQueryGeometry,$.scale,b,M,B,Pa(T.transform,$.tileID))});let Z=function($){let st={},At={};for(let pt of $){let yt=pt.queryResults,dt=pt.wrappedTileID,Ft=At[dt]=At[dt]||{};for(let Ht in yt){let St=yt[Ht],Bt=Ft[Ht]=Ft[Ht]||{},Qt=st[Ht]=st[Ht]||[];for(let $t of St)Bt[$t.featureIndex]||(Bt[$t.featureIndex]=!0,Qt.push($t))}}return st}(W);for(let $ in Z)Z[$].forEach(st=>{let At=st.feature,pt=T.getFeatureState(At.layer[\"source-layer\"],At.id);At.source=At.layer.source,At.layer[\"source-layer\"]&&(At.sourceLayer=At.layer[\"source-layer\"]),At.state=pt});return Z}function as(T,l){let d=T.tileID,v=l.tileID;return d.overscaledZ-v.overscaledZ||d.canonical.y-v.canonical.y||d.wrap-v.wrap||d.canonical.x-v.canonical.x}class ao{constructor(l,d){this.timeAdded=0,this.fadeEndTime=0,this.tileID=l,this.uid=n.a2(),this.uses=0,this.tileSize=d,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(l){let d=l+this.timeAdded;dM.getLayer(W)).filter(Boolean);if(U.length!==0){B.layers=U,B.stateDependentLayerIds&&(B.stateDependentLayers=B.stateDependentLayerIds.map(W=>U.filter(Z=>Z.id===W)[0]));for(let W of U)O[W.id]=B}}return O}(l.buckets,d.style),this.hasSymbolBuckets=!1;for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4){if(this.hasSymbolBuckets=!0,!v)break;M.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4&&M.hasRTLText){this.hasRTLText=!0,n.a5();break}}this.queryPadding=0;for(let b in this.buckets){let M=this.buckets[b];this.queryPadding=Math.max(this.queryPadding,d.style.getLayer(b).queryRadius(M))}l.imageAtlas&&(this.imageAtlas=l.imageAtlas),l.glyphAtlasImage&&(this.glyphAtlasImage=l.glyphAtlasImage)}else this.collisionBoxArray=new n.a3}unloadVectorData(){for(let l in this.buckets)this.buckets[l].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(l){return this.buckets[l.id]}upload(l){for(let v in this.buckets){let b=this.buckets[v];b.uploadPending()&&b.upload(l)}let d=l.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new qt(l,this.imageAtlas.image,d.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new qt(l,this.glyphAtlasImage,d.ALPHA),this.glyphAtlasImage=null)}prepare(l){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(l,this.imageAtlasTexture)}queryRenderedFeatures(l,d,v,b,M,O,B,U,W,Z){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:b,cameraQueryGeometry:M,scale:O,tileSize:this.tileSize,pixelPosMatrix:Z,transform:U,params:B,queryPadding:this.queryPadding*W},l,d,v):{}}querySourceFeatures(l,d){let v=this.latestFeatureIndex;if(!v||!v.rawTileData)return;let b=v.loadVTLayers(),M=d&&d.sourceLayer?d.sourceLayer:\"\",O=b._geojsonTileLayer||b[M];if(!O)return;let B=n.a6(d&&d.filter),{z:U,x:W,y:Z}=this.tileID.canonical,$={z:U,x:W,y:Z};for(let st=0;stv)b=!1;else if(d)if(this.expirationTime{this.remove(l,M)},v)),this.data[b].push(M),this.order.push(b),this.order.length>this.max){let O=this._getAndRemoveByKey(this.order[0]);O&&this.onRemove(O)}return this}has(l){return l.wrapped().key in this.data}getAndRemove(l){return this.has(l)?this._getAndRemoveByKey(l.wrapped().key):null}_getAndRemoveByKey(l){let d=this.data[l].shift();return d.timeout&&clearTimeout(d.timeout),this.data[l].length===0&&delete this.data[l],this.order.splice(this.order.indexOf(l),1),d.value}getByKey(l){let d=this.data[l];return d?d[0].value:null}get(l){return this.has(l)?this.data[l.wrapped().key][0].value:null}remove(l,d){if(!this.has(l))return this;let v=l.wrapped().key,b=d===void 0?0:this.data[v].indexOf(d),M=this.data[v][b];return this.data[v].splice(b,1),M.timeout&&clearTimeout(M.timeout),this.data[v].length===0&&delete this.data[v],this.onRemove(M.value),this.order.splice(this.order.indexOf(v),1),this}setMaxSize(l){for(this.max=l;this.order.length>this.max;){let d=this._getAndRemoveByKey(this.order[0]);d&&this.onRemove(d)}return this}filter(l){let d=[];for(let v in this.data)for(let b of this.data[v])l(b.value)||d.push(b);for(let v of d)this.remove(v.value.tileID,v)}}class ee{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(l,d,v){let b=String(d);if(this.stateChanges[l]=this.stateChanges[l]||{},this.stateChanges[l][b]=this.stateChanges[l][b]||{},n.e(this.stateChanges[l][b],v),this.deletedStates[l]===null){this.deletedStates[l]={};for(let M in this.state[l])M!==b&&(this.deletedStates[l][M]=null)}else if(this.deletedStates[l]&&this.deletedStates[l][b]===null){this.deletedStates[l][b]={};for(let M in this.state[l][b])v[M]||(this.deletedStates[l][b][M]=null)}else for(let M in v)this.deletedStates[l]&&this.deletedStates[l][b]&&this.deletedStates[l][b][M]===null&&delete this.deletedStates[l][b][M]}removeFeatureState(l,d,v){if(this.deletedStates[l]===null)return;let b=String(d);if(this.deletedStates[l]=this.deletedStates[l]||{},v&&d!==void 0)this.deletedStates[l][b]!==null&&(this.deletedStates[l][b]=this.deletedStates[l][b]||{},this.deletedStates[l][b][v]=null);else if(d!==void 0)if(this.stateChanges[l]&&this.stateChanges[l][b])for(v in this.deletedStates[l][b]={},this.stateChanges[l][b])this.deletedStates[l][b][v]=null;else this.deletedStates[l][b]=null;else this.deletedStates[l]=null}getState(l,d){let v=String(d),b=n.e({},(this.state[l]||{})[v],(this.stateChanges[l]||{})[v]);if(this.deletedStates[l]===null)return{};if(this.deletedStates[l]){let M=this.deletedStates[l][d];if(M===null)return{};for(let O in M)delete b[O]}return b}initializeTileState(l,d){l.setFeatureState(this.state,d)}coalesceChanges(l,d){let v={};for(let b in this.stateChanges){this.state[b]=this.state[b]||{};let M={};for(let O in this.stateChanges[b])this.state[b][O]||(this.state[b][O]={}),n.e(this.state[b][O],this.stateChanges[b][O]),M[O]=this.state[b][O];v[b]=M}for(let b in this.deletedStates){this.state[b]=this.state[b]||{};let M={};if(this.deletedStates[b]===null)for(let O in this.state[b])M[O]={},this.state[b][O]={};else for(let O in this.deletedStates[b]){if(this.deletedStates[b][O]===null)this.state[b][O]={};else for(let B of Object.keys(this.deletedStates[b][O]))delete this.state[b][O][B];M[O]=this.state[b][O]}v[b]=v[b]||{},n.e(v[b],M)}if(this.stateChanges={},this.deletedStates={},Object.keys(v).length!==0)for(let b in l)l[b].setFeatureState(v,d)}}class ls extends n.E{constructor(l,d,v){super(),this.id=l,this.dispatcher=v,this.on(\"data\",b=>{b.dataType===\"source\"&&b.sourceDataType===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&b.dataType===\"source\"&&b.sourceDataType===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((b,M,O,B)=>{let U=new(xo(M.type))(b,M,O,B);if(U.id!==b)throw new Error(`Expected Source id to be ${b} instead of ${U.id}`);return U})(l,d,v,this),this._tiles={},this._cache=new Nl(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ee,this._didEmitContent=!1,this._updated=!1}onAdd(l){this.map=l,this._maxTileCacheSize=l?l._maxTileCacheSize:null,this._maxTileCacheZoomLevels=l?l._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(l)}onRemove(l){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(l)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let l in this._tiles){let d=this._tiles[l];if(d.state!==\"loaded\"&&d.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let l=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,l&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(l,d){return this._source.loadTile(l,d)}_unloadTile(l){if(this._source.unloadTile)return this._source.unloadTile(l,()=>{})}_abortTile(l){this._source.abortTile&&this._source.abortTile(l,()=>{}),this._source.fire(new n.k(\"dataabort\",{tile:l,coord:l.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(l){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let d in this._tiles){let v=this._tiles[d];v.upload(l),v.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(l=>l.tileID).sort(mn).map(l=>l.key)}getRenderableIds(l){let d=[];for(let v in this._tiles)this._isIdRenderable(v,l)&&d.push(this._tiles[v]);return l?d.sort((v,b)=>{let M=v.tileID,O=b.tileID,B=new n.P(M.canonical.x,M.canonical.y)._rotate(this.transform.angle),U=new n.P(O.canonical.x,O.canonical.y)._rotate(this.transform.angle);return M.overscaledZ-O.overscaledZ||U.y-B.y||U.x-B.x}).map(v=>v.tileID.key):d.map(v=>v.tileID).sort(mn).map(v=>v.key)}hasRenderableParent(l){let d=this.findLoadedParent(l,0);return!!d&&this._isIdRenderable(d.tileID.key)}_isIdRenderable(l,d){return this._tiles[l]&&this._tiles[l].hasData()&&!this._coveredTiles[l]&&(d||!this._tiles[l].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let l in this._tiles)this._tiles[l].state!==\"errored\"&&this._reloadTile(l,\"reloading\")}}_reloadTile(l,d){let v=this._tiles[l];v&&(v.state!==\"loading\"&&(v.state=d),this._loadTile(v,this._tileLoaded.bind(this,v,l,d)))}_tileLoaded(l,d,v,b){if(b)return l.state=\"errored\",void(b.status!==404?this._source.fire(new n.j(b,{tile:l})):this.update(this.transform,this.terrain));l.timeAdded=n.h.now(),v===\"expired\"&&(l.refreshedUponExpiration=!0),this._setTileReloadTimer(d,l),this.getSource().type===\"raster-dem\"&&l.dem&&this._backfillDEM(l),this._state.initializeTileState(l,this.map?this.map.painter:null),l.aborted||this._source.fire(new n.k(\"data\",{dataType:\"source\",tile:l,coord:l.tileID}))}_backfillDEM(l){let d=this.getRenderableIds();for(let b=0;b1||(Math.abs(O)>1&&(Math.abs(O+U)===1?O+=U:Math.abs(O-U)===1&&(O-=U)),M.dem&&b.dem&&(b.dem.backfillBorder(M.dem,O,B),b.neighboringTiles&&b.neighboringTiles[W]&&(b.neighboringTiles[W].backfilled=!0)))}}getTile(l){return this.getTileByID(l.key)}getTileByID(l){return this._tiles[l]}_retainLoadedChildren(l,d,v,b){for(let M in this._tiles){let O=this._tiles[M];if(b[M]||!O.hasData()||O.tileID.overscaledZ<=d||O.tileID.overscaledZ>v)continue;let B=O.tileID;for(;O&&O.tileID.overscaledZ>d+1;){let W=O.tileID.scaledTo(O.tileID.overscaledZ-1);O=this._tiles[W.key],O&&O.hasData()&&(B=W)}let U=B;for(;U.overscaledZ>d;)if(U=U.scaledTo(U.overscaledZ-1),l[U.key]){b[B.key]=B;break}}}findLoadedParent(l,d){if(l.key in this._loadedParentTiles){let v=this._loadedParentTiles[l.key];return v&&v.tileID.overscaledZ>=d?v:null}for(let v=l.overscaledZ-1;v>=d;v--){let b=l.scaledTo(v),M=this._getLoadedTile(b);if(M)return M}}_getLoadedTile(l){let d=this._tiles[l.key];return d&&d.hasData()?d:this._cache.getByKey(l.wrapped().key)}updateCacheSize(l){let d=Math.ceil(l.width/this._source.tileSize)+1,v=Math.ceil(l.height/this._source.tileSize)+1,b=Math.floor(d*v*(this._maxTileCacheZoomLevels===null?n.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),M=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,b):b;this._cache.setMaxSize(M)}handleWrapJump(l){let d=Math.round((l-(this._prevLng===void 0?l:this._prevLng))/360);if(this._prevLng=l,d){let v={};for(let b in this._tiles){let M=this._tiles[b];M.tileID=M.tileID.unwrapTo(M.tileID.wrap+d),v[M.tileID.key]=M}this._tiles=v;for(let b in this._timers)clearTimeout(this._timers[b]),delete this._timers[b];for(let b in this._tiles)this._setTileReloadTimer(b,this._tiles[b])}}update(l,d){if(this.transform=l,this.terrain=d,!this._sourceLoaded||this._paused)return;let v;this.updateCacheSize(l),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?v=l.getVisibleUnwrappedCoordinates(this._source.tileID).map(Z=>new n.O(Z.canonical.z,Z.wrap,Z.canonical.z,Z.canonical.x,Z.canonical.y)):(v=l.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:d}),this._source.hasTile&&(v=v.filter(Z=>this._source.hasTile(Z)))):v=[];let b=l.coveringZoomLevel(this._source),M=Math.max(b-ls.maxOverzooming,this._source.minzoom),O=Math.max(b+ls.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Z={};for(let $ of v)if($.canonical.z>this._source.minzoom){let st=$.scaledTo($.canonical.z-1);Z[st.key]=st;let At=$.scaledTo(Math.max(this._source.minzoom,Math.min($.canonical.z,5)));Z[At.key]=At}v=v.concat(Object.values(Z))}let B=v.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,B&&this.fire(new n.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let U=this._updateRetainedTiles(v,b);if(gi(this._source.type)){let Z={},$={},st=Object.keys(U),At=n.h.now();for(let pt of st){let yt=U[pt],dt=this._tiles[pt];if(!dt||dt.fadeEndTime!==0&&dt.fadeEndTime<=At)continue;let Ft=this.findLoadedParent(yt,M);Ft&&(this._addTile(Ft.tileID),Z[Ft.tileID.key]=Ft.tileID),$[pt]=yt}this._retainLoadedChildren($,b,O,U);for(let pt in Z)U[pt]||(this._coveredTiles[pt]=!0,U[pt]=Z[pt]);if(d){let pt={},yt={};for(let dt of v)this._tiles[dt.key].hasData()?pt[dt.key]=dt:yt[dt.key]=dt;for(let dt in yt){let Ft=yt[dt].children(this._source.maxzoom);this._tiles[Ft[0].key]&&this._tiles[Ft[1].key]&&this._tiles[Ft[2].key]&&this._tiles[Ft[3].key]&&(pt[Ft[0].key]=U[Ft[0].key]=Ft[0],pt[Ft[1].key]=U[Ft[1].key]=Ft[1],pt[Ft[2].key]=U[Ft[2].key]=Ft[2],pt[Ft[3].key]=U[Ft[3].key]=Ft[3],delete yt[dt])}for(let dt in yt){let Ft=this.findLoadedParent(yt[dt],this._source.minzoom);if(Ft){pt[Ft.tileID.key]=U[Ft.tileID.key]=Ft.tileID;for(let Ht in pt)pt[Ht].isChildOf(Ft.tileID)&&delete pt[Ht]}}for(let dt in this._tiles)pt[dt]||(this._coveredTiles[dt]=!0)}}for(let Z in U)this._tiles[Z].clearFadeHold();let W=n.ab(this._tiles,U);for(let Z of W){let $=this._tiles[Z];$.hasSymbolBuckets&&!$.holdingForFade()?$.setHoldDuration(this.map._fadeDuration):$.hasSymbolBuckets&&!$.symbolFadeFinished()||this._removeTile(Z)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(let l in this._tiles)this._tiles[l].holdingForFade()&&this._removeTile(l)}_updateRetainedTiles(l,d){let v={},b={},M=Math.max(d-ls.maxOverzooming,this._source.minzoom),O=Math.max(d+ls.maxUnderzooming,this._source.minzoom),B={};for(let U of l){let W=this._addTile(U);v[U.key]=U,W.hasData()||dthis._source.maxzoom){let $=U.children(this._source.maxzoom)[0],st=this.getTile($);if(st&&st.hasData()){v[$.key]=$;continue}}else{let $=U.children(this._source.maxzoom);if(v[$[0].key]&&v[$[1].key]&&v[$[2].key]&&v[$[3].key])continue}let Z=W.wasRequested();for(let $=U.overscaledZ-1;$>=M;--$){let st=U.scaledTo($);if(b[st.key])break;if(b[st.key]=!0,W=this.getTile(st),!W&&Z&&(W=this._addTile(st)),W){let At=W.hasData();if((Z||At)&&(v[st.key]=st),Z=W.wasRequested(),At)break}}}return v}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let l in this._tiles){let d=[],v,b=this._tiles[l].tileID;for(;b.overscaledZ>0;){if(b.key in this._loadedParentTiles){v=this._loadedParentTiles[b.key];break}d.push(b.key);let M=b.scaledTo(b.overscaledZ-1);if(v=this._getLoadedTile(M),v)break;b=M}for(let M of d)this._loadedParentTiles[M]=v}}_addTile(l){let d=this._tiles[l.key];if(d)return d;d=this._cache.getAndRemove(l),d&&(this._setTileReloadTimer(l.key,d),d.tileID=l,this._state.initializeTileState(d,this.map?this.map.painter:null),this._cacheTimers[l.key]&&(clearTimeout(this._cacheTimers[l.key]),delete this._cacheTimers[l.key],this._setTileReloadTimer(l.key,d)));let v=d;return d||(d=new ao(l,this._source.tileSize*l.overscaleFactor()),this._loadTile(d,this._tileLoaded.bind(this,d,l.key,d.state))),d.uses++,this._tiles[l.key]=d,v||this._source.fire(new n.k(\"dataloading\",{tile:d,coord:d.tileID,dataType:\"source\"})),d}_setTileReloadTimer(l,d){l in this._timers&&(clearTimeout(this._timers[l]),delete this._timers[l]);let v=d.getExpiryTimeout();v&&(this._timers[l]=setTimeout(()=>{this._reloadTile(l,\"expired\"),delete this._timers[l]},v))}_removeTile(l){let d=this._tiles[l];d&&(d.uses--,delete this._tiles[l],this._timers[l]&&(clearTimeout(this._timers[l]),delete this._timers[l]),d.uses>0||(d.hasData()&&d.state!==\"reloading\"?this._cache.add(d.tileID,d,d.getExpiryTimeout()):(d.aborted=!0,this._abortTile(d),this._unloadTile(d))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let l in this._tiles)this._removeTile(l);this._cache.reset()}tilesIn(l,d,v){let b=[],M=this.transform;if(!M)return b;let O=v?M.getCameraQueryGeometry(l):l,B=l.map(pt=>M.pointCoordinate(pt,this.terrain)),U=O.map(pt=>M.pointCoordinate(pt,this.terrain)),W=this.getIds(),Z=1/0,$=1/0,st=-1/0,At=-1/0;for(let pt of U)Z=Math.min(Z,pt.x),$=Math.min($,pt.y),st=Math.max(st,pt.x),At=Math.max(At,pt.y);for(let pt=0;pt=0&&St[1].y+Ht>=0){let Bt=B.map($t=>dt.getTilePoint($t)),Qt=U.map($t=>dt.getTilePoint($t));b.push({tile:yt,tileID:dt,queryGeometry:Bt,cameraQueryGeometry:Qt,scale:Ft})}}return b}getVisibleCoordinates(l){let d=this.getRenderableIds(l).map(v=>this._tiles[v].tileID);for(let v of d)v.posMatrix=this.transform.calculatePosMatrix(v.toUnwrapped());return d}hasTransition(){if(this._source.hasTransition())return!0;if(gi(this._source.type)){let l=n.h.now();for(let d in this._tiles)if(this._tiles[d].fadeEndTime>=l)return!0}return!1}setFeatureState(l,d,v){this._state.updateState(l=l||\"_geojsonTileLayer\",d,v)}removeFeatureState(l,d,v){this._state.removeFeatureState(l=l||\"_geojsonTileLayer\",d,v)}getFeatureState(l,d){return this._state.getState(l=l||\"_geojsonTileLayer\",d)}setDependencies(l,d,v){let b=this._tiles[l];b&&b.setDependencies(d,v)}reloadTilesForDependencies(l,d){for(let v in this._tiles)this._tiles[v].hasDependency(l,d)&&this._reloadTile(v,\"reloading\");this._cache.filter(v=>!v.hasDependency(l,d))}}function mn(T,l){let d=Math.abs(2*T.wrap)-+(T.wrap<0),v=Math.abs(2*l.wrap)-+(l.wrap<0);return T.overscaledZ-l.overscaledZ||v-d||l.canonical.y-T.canonical.y||l.canonical.x-T.canonical.x}function gi(T){return T===\"raster\"||T===\"image\"||T===\"video\"}ls.maxOverzooming=10,ls.maxUnderzooming=3;let oi=\"mapboxgl_preloaded_worker_pool\";class lo{constructor(){this.active={}}acquire(l){if(!this.workers)for(this.workers=[];this.workers.length{d.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[oi]}numActive(){return Object.keys(this.active).length}}let du=Math.floor(n.h.hardwareConcurrency/2),ul;function bo(){return ul||(ul=new lo),ul}lo.workerCount=n.ac(globalThis)?Math.max(Math.min(du,3),1):1;class hl{constructor(l,d){this.reset(l,d)}reset(l,d){this.points=l||[],this._distances=[0];for(let v=1;v0?(b-O)/B:0;return this.points[M].mult(1-U).add(this.points[d].mult(U))}}function Ia(T,l){let d=!0;return T===\"always\"||T!==\"never\"&&l!==\"never\"||(d=!1),d}class wo{constructor(l,d,v){let b=this.boxCells=[],M=this.circleCells=[];this.xCellCount=Math.ceil(l/v),this.yCellCount=Math.ceil(d/v);for(let O=0;Othis.width||b<0||d>this.height)return[];let U=[];if(l<=0&&d<=0&&this.width<=v&&this.height<=b){if(M)return[{key:null,x1:l,y1:d,x2:v,y2:b}];for(let W=0;W0}hitTestCircle(l,d,v,b,M){let O=l-v,B=l+v,U=d-v,W=d+v;if(B<0||O>this.width||W<0||U>this.height)return!1;let Z=[];return this._forEachCell(O,U,B,W,this._queryCellCircle,Z,{hitTest:!0,overlapMode:b,circle:{x:l,y:d,radius:v},seenUids:{box:{},circle:{}}},M),Z.length>0}_queryCell(l,d,v,b,M,O,B,U){let{seenUids:W,hitTest:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!W.box[yt]){W.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(l<=pt[dt+2]&&d<=pt[dt+3]&&v>=pt[dt+0]&&b>=pt[dt+1]&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))&&(O.push({key:Ft,x1:pt[dt],y1:pt[dt+1],x2:pt[dt+2],y2:pt[dt+3]}),Z))return!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!W.circle[yt]){W.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circleAndRectCollide(pt[dt],pt[dt+1],pt[dt+2],l,d,v,b)&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))){let Ht=pt[dt],St=pt[dt+1],Bt=pt[dt+2];if(O.push({key:Ft,x1:Ht-Bt,y1:St-Bt,x2:Ht+Bt,y2:St+Bt}),Z)return!0}}}return!1}_queryCellCircle(l,d,v,b,M,O,B,U){let{circle:W,seenUids:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!Z.box[yt]){Z.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(this._circleAndRectCollide(W.x,W.y,W.radius,pt[dt+0],pt[dt+1],pt[dt+2],pt[dt+3])&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!Z.circle[yt]){Z.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circlesCollide(pt[dt],pt[dt+1],pt[dt+2],W.x,W.y,W.radius)&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}}_forEachCell(l,d,v,b,M,O,B,U){let W=this._convertToXCellCoord(l),Z=this._convertToYCellCoord(d),$=this._convertToXCellCoord(v),st=this._convertToYCellCoord(b);for(let At=W;At<=$;At++)for(let pt=Z;pt<=st;pt++)if(M.call(this,l,d,v,b,this.xCellCount*pt+At,O,B,U))return}_convertToXCellCoord(l){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(l*this.xScale)))}_convertToYCellCoord(l){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(l*this.yScale)))}_circlesCollide(l,d,v,b,M,O){let B=b-l,U=M-d,W=v+O;return W*W>B*B+U*U}_circleAndRectCollide(l,d,v,b,M,O,B){let U=(O-b)/2,W=Math.abs(l-(b+U));if(W>U+v)return!1;let Z=(B-M)/2,$=Math.abs(d-(M+Z));if($>Z+v)return!1;if(W<=U||$<=Z)return!0;let st=W-U,At=$-Z;return st*st+At*At<=v*v}}function ve(T,l,d,v,b){let M=n.Z();return l?(n.a0(M,M,[1/b,1/b,1]),d||n.ae(M,M,v.angle)):n.a1(M,v.labelPlaneMatrix,T),M}function jo(T,l,d,v,b){if(l){let M=n.af(T);return n.a0(M,M,[b,b,1]),d||n.ae(M,M,-v.angle),M}return v.glCoordMatrix}function gn(T,l,d){let v;d?(v=[T.x,T.y,d(T.x,T.y),1],n.ag(v,v,l)):(v=[T.x,T.y,0,1],vt(v,v,l));let b=v[3];return{point:new n.P(v[0]/b,v[1]/b),signedDistanceFromCamera:b}}function Ul(T,l){return .5+T/l*.5}function Ca(T,l){let d=T[0]/T[3],v=T[1]/T[3];return d>=-l[0]&&d<=l[0]&&v>=-l[1]&&v<=l[1]}function Te(T,l,d,v,b,M,O,B,U,W){let Z=v?T.textSizeData:T.iconSizeData,$=n.ah(Z,d.transform.zoom),st=[256/d.width*2+1,256/d.height*2+1],At=v?T.text.dynamicLayoutVertexArray:T.icon.dynamicLayoutVertexArray;At.clear();let pt=T.lineVertexArray,yt=v?T.text.placedSymbolArray:T.icon.placedSymbolArray,dt=d.transform.width/d.transform.height,Ft=!1;for(let Ht=0;HtMath.abs(d.x-l.x)*v?{useVertical:!0}:(T===n.ai.vertical?l.yd.x)?{needsFlipping:!0}:null}function Us(T,l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt){let dt=l/24,Ft=T.lineOffsetX*dt,Ht=T.lineOffsetY*dt,St;if(T.numGlyphs>1){let Bt=T.glyphStartIndex+T.numGlyphs,Qt=T.lineStartIndex,$t=T.lineStartIndex+T.lineLength,oe=Dr(dt,B,Ft,Ht,d,Z,$,T,U,M,st,pt,yt);if(!oe)return{notEnoughRoom:!0};let pe=gn(oe.first.point,O,yt).point,he=gn(oe.last.point,O,yt).point;if(v&&!d){let be=gr(T.writingMode,pe,he,At);if(be)return be}St=[oe.first];for(let be=T.glyphStartIndex+1;be0?pe.point:La($,oe,Qt,1,b,yt),be=gr(T.writingMode,Qt,he,At);if(be)return be}let Bt=tt(dt*B.getoffsetX(T.glyphStartIndex),Ft,Ht,d,Z,$,T.segment,T.lineStartIndex,T.lineStartIndex+T.lineLength,U,M,st,pt,yt);if(!Bt)return{notEnoughRoom:!0};St=[Bt]}for(let Bt of St)n.ak(W,Bt.point,Bt.angle);return{}}function La(T,l,d,v,b,M){let O=gn(T.add(T.sub(l)._unit()),b,M).point,B=d.sub(O);return d.add(B._mult(v/B.mag()))}function Mr(T,l){let{projectionCache:d,lineVertexArray:v,labelPlaneMatrix:b,tileAnchorPoint:M,distanceFromAnchor:O,getElevation:B,previousVertex:U,direction:W,absOffsetX:Z}=l;if(d.projections[T])return d.projections[T];let $=new n.P(v.getx(T),v.gety(T)),st=gn($,b,B);if(st.signedDistanceFromCamera>0)return d.projections[T]=st.point,st.point;let At=T-W;return La(O===0?M:new n.P(v.getx(At),v.gety(At)),$,U,Z-O+1,b,B)}function sa(T,l,d){return T._unit()._perp()._mult(l*d)}function gt(T,l,d,v,b,M,O,B){let{projectionCache:U,direction:W}=B;if(U.offsets[T])return U.offsets[T];let Z=d.add(l);if(T+W=b)return U.offsets[T]=Z,Z;let $=Mr(T+W,B),st=sa($.sub(d),O,W),At=d.add(st),pt=$.add(st);return U.offsets[T]=n.al(M,Z,At,pt)||Z,U.offsets[T]}function tt(T,l,d,v,b,M,O,B,U,W,Z,$,st,At){let pt=v?T-l:T+l,yt=pt>0?1:-1,dt=0;v&&(yt*=-1,dt=Math.PI),yt<0&&(dt+=Math.PI);let Ft,Ht,St=yt>0?B+O:B+O+1,Bt=b,Qt=b,$t=0,oe=0,pe=Math.abs(pt),he=[],be;for(;$t+oe<=pe;){if(St+=yt,St=U)return null;$t+=oe,Qt=Bt,Ht=Ft;let Ee={projectionCache:$,lineVertexArray:W,labelPlaneMatrix:Z,tileAnchorPoint:M,distanceFromAnchor:$t,getElevation:At,previousVertex:Qt,direction:yt,absOffsetX:pe};if(Bt=Mr(St,Ee),d===0)he.push(Qt),be=Bt.sub(Qt);else{let pr,tr=Bt.sub(Qt);pr=tr.mag()===0?sa(Mr(St+yt,Ee).sub(Bt),d,yt):sa(tr,d,yt),Ht||(Ht=Qt.add(pr)),Ft=gt(St,pr,Bt,B,U,Ht,d,Ee),he.push(Ht),be=Ft.sub(Ht)}oe=be.mag()}let Ze=be._mult((pe-$t)/oe)._add(Ht||Qt),Kr=dt+Math.atan2(Bt.y-Qt.y,Bt.x-Qt.x);return he.push(Ze),{point:Ze,angle:st?Kr:0,path:he}}let nt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ht(T,l){for(let d=0;d=1;Vr--)tr.push(Ee.path[Vr]);for(let Vr=1;Vrgn(ei,U,pt));tr=Vr.some(ei=>ei.signedDistanceFromCamera<=0)?[]:Vr.map(ei=>ei.point)}let Jr=[];if(tr.length>0){let Vr=tr[0].clone(),ei=tr[0].clone();for(let On=1;On=be.x&&ei.x<=Ze.x&&Vr.y>=be.y&&ei.y<=Ze.y?[tr]:ei.xZe.x||ei.yZe.y?[]:n.am([tr],be.x,be.y,Ze.x,Ze.y)}for(let Vr of Jr){Kr.reset(Vr,.25*he);let ei=0;ei=Kr.length<=.5*he?1:Math.ceil(Kr.paddedLength/Gi)+1;for(let On=0;On=this.screenRightBoundary||bthis.screenBottomBoundary}isInsideGrid(l,d,v,b){return v>=0&&l=0&&dv.collisionGroupID===d}}return this.collisionGroups[l]}}function vr(T,l,d,v,b){let{horizontalAlign:M,verticalAlign:O}=n.au(T);return new n.P(-(M-.5)*l+v[0]*b,-(O-.5)*d+v[1]*b)}function Xe(T,l,d,v,b,M){let{x1:O,x2:B,y1:U,y2:W,anchorPointX:Z,anchorPointY:$}=T,st=new n.P(l,d);return v&&st._rotate(b?M:-M),{x1:O+st.x,y1:U+st.y,x2:B+st.x,y2:W+st.y,anchorPointX:Z,anchorPointY:$}}class cr{constructor(l,d,v,b,M){this.transform=l.clone(),this.terrain=d,this.collisionIndex=new _t(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=v,this.retainedQueryData={},this.collisionGroups=new lr(b),this.collisionCircleArrays={},this.prevPlacement=M,M&&(M.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(l,d,v,b){let M=v.getBucket(d),O=v.latestFeatureIndex;if(!M||!O||d.id!==M.layerIds[0])return;let B=v.collisionBoxArray,U=M.layers[0].layout,W=Math.pow(2,this.transform.zoom-v.tileID.overscaledZ),Z=v.tileSize/n.N,$=this.transform.calculatePosMatrix(v.tileID.toUnwrapped()),st=U.get(\"text-pitch-alignment\")===\"map\",At=U.get(\"text-rotation-alignment\")===\"map\",pt=Dt(v,1,this.transform.zoom),yt=ve($,st,At,this.transform,pt),dt=null;if(st){let Ht=jo($,st,At,this.transform,pt);dt=n.a1([],this.transform.labelPlaneMatrix,Ht)}this.retainedQueryData[M.bucketInstanceId]=new ae(M.bucketInstanceId,O,M.sourceLayerIndex,M.index,v.tileID);let Ft={bucket:M,layout:U,posMatrix:$,textLabelPlaneMatrix:yt,labelToScreenMatrix:dt,scale:W,textPixelRatio:Z,holdingForFade:v.holdingForFade(),collisionBoxArray:B,partiallyEvaluatedTextSize:n.ah(M.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(M.sourceID)};if(b)for(let Ht of M.sortKeyRanges){let{sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt}=Ht;l.push({sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt,parameters:Ft})}else l.push({symbolInstanceStart:0,symbolInstanceEnd:M.symbolInstances.length,parameters:Ft})}attemptAnchorPlacement(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt){let Ft=n.aq[l.textAnchor],Ht=[l.textOffset0,l.textOffset1],St=vr(Ft,v,b,Ht,M),Bt=this.collisionIndex.placeCollisionBox(Xe(d,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt);if((!yt||this.collisionIndex.placeCollisionBox(Xe(yt,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt).box.length!==0)&&Bt.box.length>0){let Qt;if(this.prevPlacement&&this.prevPlacement.variableOffsets[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID].text&&(Qt=this.prevPlacement.variableOffsets[st.crossTileID].anchor),st.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[st.crossTileID]={textOffset:Ht,width:v,height:b,anchor:Ft,textBoxScale:M,prevAnchor:Qt},this.markUsedJustification(At,Ft,st,pt),At.allowVerticalPlacement&&(this.markUsedOrientation(At,pt,st),this.placedOrientations[st.crossTileID]=pt),{shift:St,placedGlyphBoxes:Bt}}}placeLayerBucketPart(l,d,v){let{bucket:b,layout:M,posMatrix:O,textLabelPlaneMatrix:B,labelToScreenMatrix:U,textPixelRatio:W,holdingForFade:Z,collisionBoxArray:$,partiallyEvaluatedTextSize:st,collisionGroup:At}=l.parameters,pt=M.get(\"text-optional\"),yt=M.get(\"icon-optional\"),dt=n.ar(M,\"text-overlap\",\"text-allow-overlap\"),Ft=dt===\"always\",Ht=n.ar(M,\"icon-overlap\",\"icon-allow-overlap\"),St=Ht===\"always\",Bt=M.get(\"text-rotation-alignment\")===\"map\",Qt=M.get(\"text-pitch-alignment\")===\"map\",$t=M.get(\"icon-text-fit\")!==\"none\",oe=M.get(\"symbol-z-order\")===\"viewport-y\",pe=Ft&&(St||!b.hasIconData()||yt),he=St&&(Ft||!b.hasTextData()||pt);!b.collisionArrays&&$&&b.deserializeCollisionBoxes($);let be=this.retainedQueryData[b.bucketInstanceId].tileID,Ze=this.terrain?(Ee,pr)=>this.terrain.getElevation(be,Ee,pr):null,Kr=(Ee,pr)=>{var tr,Gi;if(d[Ee.crossTileID])return;if(Z)return void(this.placements[Ee.crossTileID]=new ie(!1,!1,!1));let Jr=!1,Vr=!1,ei=!0,On=null,tn={box:null,offscreen:null},Gs={box:null,offscreen:null},hs=null,Bn=null,qo=null,jr=0,ql=0,Zl=0;pr.textFeatureIndex?jr=pr.textFeatureIndex:Ee.useRuntimeCollisionCircles&&(jr=Ee.featureIndex),pr.verticalTextFeatureIndex&&(ql=pr.verticalTextFeatureIndex);let yu=pr.textBox;if(yu){let Ws=Fn=>{let fs=n.ai.horizontal;if(b.allowVerticalPlacement&&!Fn&&this.prevPlacement){let Zo=this.prevPlacement.placedOrientations[Ee.crossTileID];Zo&&(this.placedOrientations[Ee.crossTileID]=Zo,fs=Zo,this.markUsedOrientation(b,fs,Ee))}return fs},Ps=(Fn,fs)=>{if(b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&pr.verticalTextBox){for(let Zo of b.writingModes)if(Zo===n.ai.vertical?(tn=fs(),Gs=tn):tn=Fn(),tn&&tn.box&&tn.box.length)break}else tn=Fn()},Eo=Ee.textAnchorOffsetStartIndex,yh=Ee.textAnchorOffsetEndIndex;if(yh===Eo){let Fn=(fs,Zo)=>{let _n=this.collisionIndex.placeCollisionBox(fs,dt,W,O,At.predicate,Ze);return _n&&_n.box&&_n.box.length&&(this.markUsedOrientation(b,Zo,Ee),this.placedOrientations[Ee.crossTileID]=Zo),_n};Ps(()=>Fn(yu,n.ai.horizontal),()=>{let fs=pr.verticalTextBox;return b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&fs?Fn(fs,n.ai.vertical):{box:null,offscreen:null}}),Ws(tn&&tn.box&&tn.box.length)}else{let Fn=n.aq[(Gi=(tr=this.prevPlacement)===null||tr===void 0?void 0:tr.variableOffsets[Ee.crossTileID])===null||Gi===void 0?void 0:Gi.anchor],fs=(_n,ho,Gr)=>{let Ua=_n.x2-_n.x1,S_=_n.y2-_n.y1,zd=Ee.textBoxScale,cA=$t&&Ht===\"never\"?ho:null,Yl={box:[],offscreen:!1},Yo=dt===\"never\"?1:2,me=\"never\";Fn&&Yo++;for(let ke=0;kefs(yu,pr.iconBox,n.ai.horizontal),()=>{let _n=pr.verticalTextBox;return b.allowVerticalPlacement&&!(tn&&tn.box&&tn.box.length)&&Ee.numVerticalGlyphVertices>0&&_n?fs(_n,pr.verticalIconBox,n.ai.vertical):{box:null,offscreen:null}}),tn&&(Jr=tn.box,ei=tn.offscreen);let Zo=Ws(tn&&tn.box);if(!Jr&&this.prevPlacement){let _n=this.prevPlacement.variableOffsets[Ee.crossTileID];_n&&(this.variableOffsets[Ee.crossTileID]=_n,this.markUsedJustification(b,_n.anchor,Ee,Zo))}}}if(hs=tn,Jr=hs&&hs.box&&hs.box.length>0,ei=hs&&hs.offscreen,Ee.useRuntimeCollisionCircles){let Ws=b.text.placedSymbolArray.get(Ee.centerJustifiedTextSymbolIndex),Ps=n.aj(b.textSizeData,st,Ws),Eo=M.get(\"text-padding\");Bn=this.collisionIndex.placeCollisionCircles(dt,Ws,b.lineVertexArray,b.glyphOffsetArray,Ps,O,B,U,v,Qt,At.predicate,Ee.collisionCircleDiameter,Eo,Ze),Bn.circles.length&&Bn.collisionDetected&&!v&&n.w(\"Collisions detected, but collision boxes are not shown\"),Jr=Ft||Bn.circles.length>0&&!Bn.collisionDetected,ei=ei&&Bn.offscreen}if(pr.iconFeatureIndex&&(Zl=pr.iconFeatureIndex),pr.iconBox){let Ws=Ps=>{let Eo=$t&&On?Xe(Ps,On.x,On.y,Bt,Qt,this.transform.angle):Ps;return this.collisionIndex.placeCollisionBox(Eo,Ht,W,O,At.predicate,Ze)};Gs&&Gs.box&&Gs.box.length&&pr.verticalIconBox?(qo=Ws(pr.verticalIconBox),Vr=qo.box.length>0):(qo=Ws(pr.iconBox),Vr=qo.box.length>0),ei=ei&&qo.offscreen}let vu=pt||Ee.numHorizontalGlyphVertices===0&&Ee.numVerticalGlyphVertices===0,_h=yt||Ee.numIconVertices===0;if(vu||_h?_h?vu||(Vr=Vr&&Jr):Jr=Vr&&Jr:Vr=Jr=Vr&&Jr,Jr&&hs&&hs.box&&this.collisionIndex.insertCollisionBox(hs.box,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,Gs&&Gs.box&&ql?ql:jr,At.ID),Vr&&qo&&this.collisionIndex.insertCollisionBox(qo.box,Ht,M.get(\"icon-ignore-placement\"),b.bucketInstanceId,Zl,At.ID),Bn&&(Jr&&this.collisionIndex.insertCollisionCircles(Bn.circles,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,jr,At.ID),v)){let Ws=b.bucketInstanceId,Ps=this.collisionCircleArrays[Ws];Ps===void 0&&(Ps=this.collisionCircleArrays[Ws]=new se);for(let Eo=0;Eo=0;--pr){let tr=Ee[pr];Kr(b.symbolInstances.get(tr),b.collisionArrays[tr])}}else for(let Ee=l.symbolInstanceStart;Ee=0&&(l.text.placedSymbolArray.get(B).crossTileID=M>=0&&B!==M?0:v.crossTileID)}markUsedOrientation(l,d,v){let b=d===n.ai.horizontal||d===n.ai.horizontalOnly?d:0,M=d===n.ai.vertical?d:0,O=[v.leftJustifiedTextSymbolIndex,v.centerJustifiedTextSymbolIndex,v.rightJustifiedTextSymbolIndex];for(let B of O)l.text.placedSymbolArray.get(B).placedOrientation=b;v.verticalPlacedTextSymbolIndex&&(l.text.placedSymbolArray.get(v.verticalPlacedTextSymbolIndex).placedOrientation=M)}commit(l){this.commitTime=l,this.zoomAtLastRecencyCheck=this.transform.zoom;let d=this.prevPlacement,v=!1;this.prevZoomAdjustment=d?d.zoomAdjustment(this.transform.zoom):0;let b=d?d.symbolFadeChange(l):1,M=d?d.opacities:{},O=d?d.variableOffsets:{},B=d?d.placedOrientations:{};for(let U in this.placements){let W=this.placements[U],Z=M[U];Z?(this.opacities[U]=new Vt(Z,b,W.text,W.icon),v=v||W.text!==Z.text.placed||W.icon!==Z.icon.placed):(this.opacities[U]=new Vt(null,b,W.text,W.icon,W.skipFade),v=v||W.text||W.icon)}for(let U in M){let W=M[U];if(!this.opacities[U]){let Z=new Vt(W,b,!1,!1);Z.isHidden()||(this.opacities[U]=Z,v=v||W.text.placed||W.icon.placed)}}for(let U in O)this.variableOffsets[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.variableOffsets[U]=O[U]);for(let U in B)this.placedOrientations[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.placedOrientations[U]=B[U]);if(d&&d.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");v?this.lastPlacementChangeTime=l:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=d?d.lastPlacementChangeTime:l)}updateLayerOpacities(l,d){let v={};for(let b of d){let M=b.getBucket(l);M&&b.latestFeatureIndex&&l.id===M.layerIds[0]&&this.updateBucketOpacities(M,v,b.collisionBoxArray)}}updateBucketOpacities(l,d,v){l.hasTextData()&&(l.text.opacityVertexArray.clear(),l.text.hasVisibleVertices=!1),l.hasIconData()&&(l.icon.opacityVertexArray.clear(),l.icon.hasVisibleVertices=!1),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexArray.clear(),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexArray.clear();let b=l.layers[0],M=b.layout,O=new Vt(null,0,!1,!1,!0),B=M.get(\"text-allow-overlap\"),U=M.get(\"icon-allow-overlap\"),W=b._unevaluatedLayout.hasValue(\"text-variable-anchor\")||b._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Z=M.get(\"text-rotation-alignment\")===\"map\",$=M.get(\"text-pitch-alignment\")===\"map\",st=M.get(\"icon-text-fit\")!==\"none\",At=new Vt(null,0,B&&(U||!l.hasIconData()||M.get(\"icon-optional\")),U&&(B||!l.hasTextData()||M.get(\"text-optional\")),!0);!l.collisionArrays&&v&&(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData())&&l.deserializeCollisionBoxes(v);let pt=(yt,dt,Ft)=>{for(let Ht=0;Ht

0,$t=this.placedOrientations[dt.crossTileID],oe=$t===n.ai.vertical,pe=$t===n.ai.horizontal||$t===n.ai.horizontalOnly;if(Ft>0||Ht>0){let he=es(Bt.text);pt(l.text,Ft,oe?oa:he),pt(l.text,Ht,pe?oa:he);let be=Bt.text.isHidden();[dt.rightJustifiedTextSymbolIndex,dt.centerJustifiedTextSymbolIndex,dt.leftJustifiedTextSymbolIndex].forEach(Ee=>{Ee>=0&&(l.text.placedSymbolArray.get(Ee).hidden=be||oe?1:0)}),dt.verticalPlacedTextSymbolIndex>=0&&(l.text.placedSymbolArray.get(dt.verticalPlacedTextSymbolIndex).hidden=be||pe?1:0);let Ze=this.variableOffsets[dt.crossTileID];Ze&&this.markUsedJustification(l,Ze.anchor,dt,$t);let Kr=this.placedOrientations[dt.crossTileID];Kr&&(this.markUsedJustification(l,\"left\",dt,Kr),this.markUsedOrientation(l,Kr,dt))}if(Qt){let he=es(Bt.icon),be=!(st&&dt.verticalPlacedIconSymbolIndex&&oe);dt.placedIconSymbolIndex>=0&&(pt(l.icon,dt.numIconVertices,be?he:oa),l.icon.placedSymbolArray.get(dt.placedIconSymbolIndex).hidden=Bt.icon.isHidden()),dt.verticalPlacedIconSymbolIndex>=0&&(pt(l.icon,dt.numVerticalIconVertices,be?oa:he),l.icon.placedSymbolArray.get(dt.verticalPlacedIconSymbolIndex).hidden=Bt.icon.isHidden())}if(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData()){let he=l.collisionArrays[yt];if(he){let be=new n.P(0,0);if(he.textBox||he.verticalTextBox){let Kr=!0;if(W){let Ee=this.variableOffsets[St];Ee?(be=vr(Ee.anchor,Ee.width,Ee.height,Ee.textOffset,Ee.textBoxScale),Z&&be._rotate($?this.transform.angle:-this.transform.angle)):Kr=!1}he.textBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||oe,be.x,be.y),he.verticalTextBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||pe,be.x,be.y)}let Ze=!!(!pe&&he.verticalIconBox);he.iconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,Ze,st?be.x:0,st?be.y:0),he.verticalIconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,!Ze,st?be.x:0,st?be.y:0)}}}if(l.sortFeatures(this.transform.angle),this.retainedQueryData[l.bucketInstanceId]&&(this.retainedQueryData[l.bucketInstanceId].featureSortOrder=l.featureSortOrder),l.hasTextData()&&l.text.opacityVertexBuffer&&l.text.opacityVertexBuffer.updateData(l.text.opacityVertexArray),l.hasIconData()&&l.icon.opacityVertexBuffer&&l.icon.opacityVertexBuffer.updateData(l.icon.opacityVertexArray),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexBuffer&&l.iconCollisionBox.collisionVertexBuffer.updateData(l.iconCollisionBox.collisionVertexArray),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexBuffer&&l.textCollisionBox.collisionVertexBuffer.updateData(l.textCollisionBox.collisionVertexArray),l.text.opacityVertexArray.length!==l.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${l.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${l.text.layoutVertexArray.length}) / 4`);if(l.icon.opacityVertexArray.length!==l.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${l.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${l.icon.layoutVertexArray.length}) / 4`);if(l.bucketInstanceId in this.collisionCircleArrays){let yt=this.collisionCircleArrays[l.bucketInstanceId];l.placementInvProjMatrix=yt.invProjMatrix,l.placementViewportMatrix=yt.viewportMatrix,l.collisionCircleArray=yt.circles,delete this.collisionCircleArrays[l.bucketInstanceId]}}symbolFadeChange(l){return this.fadeDuration===0?1:(l-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(l){return Math.max(0,(this.transform.zoom-l)/1.5)}hasTransitions(l){return this.stale||l-this.lastPlacementChangeTimel}setStale(){this.stale=!0}}function wr(T,l,d,v,b){T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0)}let xi=Math.pow(2,25),zi=Math.pow(2,24),ni=Math.pow(2,17),Hr=Math.pow(2,16),jn=Math.pow(2,9),Bi=Math.pow(2,8),xn=Math.pow(2,1);function es(T){if(T.opacity===0&&!T.placed)return 0;if(T.opacity===1&&T.placed)return 4294967295;let l=T.placed?1:0,d=Math.floor(127*T.opacity);return d*xi+l*zi+d*ni+l*Hr+d*jn+l*Bi+d*xn+l}let oa=0;class Um{constructor(l){this._sortAcrossTiles=l.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!l.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(l,d,v,b,M){let O=this._bucketParts;for(;this._currentTileIndexB.sortKey-U.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.h.now()-b>2;for(;this._currentPlacementIndex>=0;){let O=d[l[this._currentPlacementIndex]],B=this.placement.collisionIndex.transform.zoom;if(O.type===\"symbol\"&&(!O.minzoom||O.minzoom<=B)&&(!O.maxzoom||O.maxzoom>B)){if(this._inProgressLayer||(this._inProgressLayer=new Um(O)),this._inProgressLayer.continuePlacement(v[O.source],this.placement,this._showCollisionBoxes,O,M))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(l){return this.placement.commit(l),this.placement}}let Ss=512/n.N/2;class nh{constructor(l,d,v){this.tileID=l,this.bucketInstanceId=v,this._symbolsByKey={};let b=new Map;for(let M=0;M({x:Math.floor(U.anchorX*Ss),y:Math.floor(U.anchorY*Ss)})),crossTileIDs:O.map(U=>U.crossTileID)};if(B.positions.length>128){let U=new n.av(B.positions.length,16,Uint16Array);for(let{x:W,y:Z}of B.positions)U.add(W,Z);U.finish(),delete B.positions,B.index=U}this._symbolsByKey[M]=B}}getScaledCoordinates(l,d){let{x:v,y:b,z:M}=this.tileID.canonical,{x:O,y:B,z:U}=d.canonical,W=Ss/Math.pow(2,U-M),Z=(B*n.N+l.anchorY)*W,$=b*n.N*Ss;return{x:Math.floor((O*n.N+l.anchorX)*W-v*n.N*Ss),y:Math.floor(Z-$)}}findMatches(l,d,v){let b=this.tileID.canonical.zl)}}class ai{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ka{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(l){let d=Math.round((l-this.lng)/360);if(d!==0)for(let v in this.indexes){let b=this.indexes[v],M={};for(let O in b){let B=b[O];B.tileID=B.tileID.unwrapTo(B.tileID.wrap+d),M[B.tileID.key]=B}this.indexes[v]=M}this.lng=l}addBucket(l,d,v){if(this.indexes[l.overscaledZ]&&this.indexes[l.overscaledZ][l.key]){if(this.indexes[l.overscaledZ][l.key].bucketInstanceId===d.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(l.overscaledZ,this.indexes[l.overscaledZ][l.key])}for(let M=0;Ml.overscaledZ)for(let B in O){let U=O[B];U.tileID.isChildOf(l)&&U.findMatches(d.symbolInstances,l,b)}else{let B=O[l.scaledTo(Number(M)).key];B&&B.findMatches(d.symbolInstances,l,b)}}for(let M=0;M{d[v]=!0});for(let v in this.layerIndexes)d[v]||delete this.layerIndexes[v]}}let ln=(T,l)=>n.x(T,l&&l.filter(d=>d.identifier!==\"source.canvas\")),Dn=n.F(n.ax,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setGlyphs\",\"setSprite\"]),Vm=n.F(n.ax,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Go=n.aw();class Gn extends n.E{constructor(l,d={}){super(),this.map=l,this.dispatcher=new ih(bo(),this,l._getMapId()),this.imageManager=new ue,this.imageManager.setEventedParent(this),this.glyphManager=new Sr(l._requestManager,d.localIdeographFontFamily),this.lineAtlas=new No(256,512),this.crossTileSymbolIndex=new Dc,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new n.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",n.az());let v=this;this._rtlTextPluginCallback=Gn.registerForPluginStateChange(b=>{v.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:b.pluginStatus,pluginURL:b.pluginURL},(M,O)=>{if(n.aA(M),O&&O.every(B=>B))for(let B in v.sourceCaches){let U=v.sourceCaches[B].getSource().type;U!==\"vector\"&&U!==\"geojson\"||v.sourceCaches[B].reload()}})}),this.on(\"data\",b=>{if(b.dataType!==\"source\"||b.sourceDataType!==\"metadata\")return;let M=this.sourceCaches[b.sourceId];if(!M)return;let O=M.getSource();if(O&&O.vectorLayerIds)for(let B in this._layers){let U=this._layers[B];U.source===O.id&&this._validateLayer(U)}})}loadURL(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),d.validate=typeof d.validate!=\"boolean\"||d.validate;let b=this.map._requestManager.transformRequest(l,Q.Style);this._request=n.f(b,(M,O)=>{this._request=null,M?this.fire(new n.j(M)):O&&this._load(O,d,v)})}loadJSON(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._request=n.h.frame(()=>{this._request=null,d.validate=d.validate!==!1,this._load(l,d,v)})}loadEmpty(){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._load(Go,{validate:!1})}_load(l,d,v){var b;let M=d.transformStyle?d.transformStyle(v,l):l;if(!d.validate||!ln(this,n.y(M))){this._loaded=!0,this.stylesheet=M;for(let O in M.sources)this.addSource(O,M.sources[O],{validate:!1});M.sprite?this._loadSprite(M.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(M.glyphs),this._createLayers(),this.light=new zl(this.stylesheet.light),this.map.setTerrain((b=this.stylesheet.terrain)!==null&&b!==void 0?b:null),this.fire(new n.k(\"data\",{dataType:\"style\"})),this.fire(new n.k(\"style.load\"))}}_createLayers(){let l=n.aB(this.stylesheet.layers);this.dispatcher.broadcast(\"setLayers\",l),this._order=l.map(d=>d.id),this._layers={},this._serializedLayers=null;for(let d of l){let v=n.aC(d);v.setEventedParent(this,{layer:{id:d.id}}),this._layers[d.id]=v}}_loadSprite(l,d=!1,v=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(b,M,O,B){let U=kt(b),W=U.length,Z=O>1?\"@2x\":\"\",$={},st={},At={};for(let{id:pt,url:yt}of U){let dt=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".json\"),Q.SpriteJSON),Ft=`${pt}_${dt.url}`;$[Ft]=n.f(dt,(Bt,Qt)=>{delete $[Ft],st[pt]=Qt,Xt(B,st,At,Bt,W)});let Ht=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".png\"),Q.SpriteImage),St=`${pt}_${Ht.url}`;$[St]=j.getImage(Ht,(Bt,Qt)=>{delete $[St],At[pt]=Qt,Xt(B,st,At,Bt,W)})}return{cancel(){for(let pt of Object.values($))pt.cancel()}}}(l,this.map._requestManager,this.map.getPixelRatio(),(b,M)=>{if(this._spriteRequest=null,b)this.fire(new n.j(b));else if(M)for(let O in M){this._spritesImagesIds[O]=[];let B=this._spritesImagesIds[O]?this._spritesImagesIds[O].filter(U=>!(U in M)):[];for(let U of B)this.imageManager.removeImage(U),this._changedImages[U]=!0;for(let U in M[O]){let W=O===\"default\"?U:`${O}:${U}`;this._spritesImagesIds[O].push(W),W in this.imageManager.images?this.imageManager.updateImage(W,M[O][U],!1):this.imageManager.addImage(W,M[O][U]),d&&(this._changedImages[W]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),d&&(this._changed=!0),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"})),v&&v(b)})}_unloadSprite(){for(let l of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(l),this._changedImages[l]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}_validateLayer(l){let d=this.sourceCaches[l.source];if(!d)return;let v=l.sourceLayer;if(!v)return;let b=d.getSource();(b.type===\"geojson\"||b.vectorLayerIds&&b.vectorLayerIds.indexOf(v)===-1)&&this.fire(new n.j(new Error(`Source layer \"${v}\" does not exist on source \"${b.id}\" as specified by style layer \"${l.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let l in this.sourceCaches)if(!this.sourceCaches[l].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(l){let d=this._serializedAllLayers();if(!l||l.length===0)return Object.values(d);let v=[];for(let b of l)d[b]&&v.push(d[b]);return v}_serializedAllLayers(){let l=this._serializedLayers;if(l)return l;l=this._serializedLayers={};let d=Object.keys(this._layers);for(let v of d){let b=this._layers[v];b.type!==\"custom\"&&(l[v]=b.serialize())}return l}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(let l in this.sourceCaches)if(this.sourceCaches[l].hasTransition())return!0;for(let l in this._layers)if(this._layers[l].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(l){if(!this._loaded)return;let d=this._changed;if(this._changed){let b=Object.keys(this._updatedLayers),M=Object.keys(this._removedLayers);(b.length||M.length)&&this._updateWorkerLayers(b,M);for(let O in this._updatedSources){let B=this._updatedSources[O];if(B===\"reload\")this._reloadSource(O);else{if(B!==\"clear\")throw new Error(`Invalid action ${B}`);this._clearSource(O)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let O in this._updatedPaintProps)this._layers[O].updateTransitions(l);this.light.updateTransitions(l),this._resetUpdates()}let v={};for(let b in this.sourceCaches){let M=this.sourceCaches[b];v[b]=M.used,M.used=!1}for(let b of this._order){let M=this._layers[b];M.recalculate(l,this._availableImages),!M.isHidden(l.zoom)&&M.source&&(this.sourceCaches[M.source].used=!0)}for(let b in v){let M=this.sourceCaches[b];v[b]!==M.used&&M.fire(new n.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:b}))}this.light.recalculate(l),this.z=l.zoom,d&&this.fire(new n.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let l=Object.keys(this._changedImages);if(l.length){for(let d in this.sourceCaches)this.sourceCaches[d].reloadTilesForDependencies([\"icons\",\"patterns\"],l);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let l in this.sourceCaches)this.sourceCaches[l].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(l,d){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeByIds(l),removedIds:d})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(l,d={}){this._checkLoaded();let v=this.serialize();if(l=d.transformStyle?d.transformStyle(v,l):l,ln(this,n.y(l)))return!1;(l=n.aD(l)).layers=n.aB(l.layers);let b=n.aE(v,l).filter(O=>!(O.command in Vm));if(b.length===0)return!1;let M=b.filter(O=>!(O.command in Dn));if(M.length>0)throw new Error(`Unimplemented: ${M.map(O=>O.command).join(\", \")}.`);for(let O of b)O.command!==\"setTransition\"&&this[O.command].apply(this,O.args);return this.stylesheet=l,this._serializedLayers=null,!0}addImage(l,d){if(this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" already exists.`)));this.imageManager.addImage(l,d),this._afterImageUpdated(l)}updateImage(l,d){this.imageManager.updateImage(l,d)}getImage(l){return this.imageManager.getImage(l)}removeImage(l){if(!this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" does not exist.`)));this.imageManager.removeImage(l),this._afterImageUpdated(l)}_afterImageUpdated(l){this._availableImages=this.imageManager.listImages(),this._changedImages[l]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(l,d,v={}){if(this._checkLoaded(),this.sourceCaches[l]!==void 0)throw new Error(`Source \"${l}\" already exists.`);if(!d.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(d).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(d.type)>=0&&this._validate(n.y.source,`sources.${l}`,d,null,v))return;this.map&&this.map._collectResourceTiming&&(d.collectResourceTiming=!0);let b=this.sourceCaches[l]=new ls(l,d,this.dispatcher);b.style=this,b.setEventedParent(this,()=>({isSourceLoaded:b.loaded(),source:b.serialize(),sourceId:l})),b.onAdd(this.map),this._changed=!0}removeSource(l){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(\"There is no source with this ID\");for(let v in this._layers)if(this._layers[v].source===l)return this.fire(new n.j(new Error(`Source \"${l}\" cannot be removed while layer \"${v}\" is using it.`)));let d=this.sourceCaches[l];delete this.sourceCaches[l],delete this._updatedSources[l],d.fire(new n.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:l})),d.setEventedParent(null),d.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(l,d){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(`There is no source with this ID=${l}`);let v=this.sourceCaches[l].getSource();if(v.type!==\"geojson\")throw new Error(`geojsonSource.type is ${v.type}, which is !== 'geojson`);v.setData(d),this._changed=!0}getSource(l){return this.sourceCaches[l]&&this.sourceCaches[l].getSource()}addLayer(l,d,v={}){this._checkLoaded();let b=l.id;if(this.getLayer(b))return void this.fire(new n.j(new Error(`Layer \"${b}\" already exists on this map.`)));let M;if(l.type===\"custom\"){if(ln(this,n.aF(l)))return;M=n.aC(l)}else{if(\"source\"in l&&typeof l.source==\"object\"&&(this.addSource(b,l.source),l=n.aD(l),l=n.e(l,{source:b})),this._validate(n.y.layer,`layers.${b}`,l,{arrayIndex:-1},v))return;M=n.aC(l),this._validateLayer(M),M.setEventedParent(this,{layer:{id:b}})}let O=d?this._order.indexOf(d):this._order.length;if(d&&O===-1)this.fire(new n.j(new Error(`Cannot add layer \"${b}\" before non-existing layer \"${d}\".`)));else{if(this._order.splice(O,0,b),this._layerOrderChanged=!0,this._layers[b]=M,this._removedLayers[b]&&M.source&&M.type!==\"custom\"){let B=this._removedLayers[b];delete this._removedLayers[b],B.type!==M.type?this._updatedSources[M.source]=\"clear\":(this._updatedSources[M.source]=\"reload\",this.sourceCaches[M.source].pause())}this._updateLayer(M),M.onAdd&&M.onAdd(this.map)}}moveLayer(l,d){if(this._checkLoaded(),this._changed=!0,!this._layers[l])return void this.fire(new n.j(new Error(`The layer '${l}' does not exist in the map's style and cannot be moved.`)));if(l===d)return;let v=this._order.indexOf(l);this._order.splice(v,1);let b=d?this._order.indexOf(d):this._order.length;d&&b===-1?this.fire(new n.j(new Error(`Cannot move layer \"${l}\" before non-existing layer \"${d}\".`))):(this._order.splice(b,0,l),this._layerOrderChanged=!0)}removeLayer(l){this._checkLoaded();let d=this._layers[l];if(!d)return void this.fire(new n.j(new Error(`Cannot remove non-existing layer \"${l}\".`)));d.setEventedParent(null);let v=this._order.indexOf(l);this._order.splice(v,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[l]=d,delete this._layers[l],this._serializedLayers&&delete this._serializedLayers[l],delete this._updatedLayers[l],delete this._updatedPaintProps[l],d.onRemove&&d.onRemove(this.map)}getLayer(l){return this._layers[l]}getLayersOrder(){return[...this._order]}hasLayer(l){return l in this._layers}setLayerZoomRange(l,d,v){this._checkLoaded();let b=this.getLayer(l);b?b.minzoom===d&&b.maxzoom===v||(d!=null&&(b.minzoom=d),v!=null&&(b.maxzoom=v),this._updateLayer(b)):this.fire(new n.j(new Error(`Cannot set the zoom range of non-existing layer \"${l}\".`)))}setFilter(l,d,v={}){this._checkLoaded();let b=this.getLayer(l);if(b){if(!n.aG(b.filter,d))return d==null?(b.filter=void 0,void this._updateLayer(b)):void(this._validate(n.y.filter,`layers.${b.id}.filter`,d,null,v)||(b.filter=n.aD(d),this._updateLayer(b)))}else this.fire(new n.j(new Error(`Cannot filter non-existing layer \"${l}\".`)))}getFilter(l){return n.aD(this.getLayer(l).filter)}setLayoutProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getLayoutProperty(d),v)||(M.setLayoutProperty(d,v,b),this._updateLayer(M)):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getLayoutProperty(l,d){let v=this.getLayer(l);if(v)return v.getLayoutProperty(d);this.fire(new n.j(new Error(`Cannot get style of non-existing layer \"${l}\".`)))}setPaintProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getPaintProperty(d),v)||(M.setPaintProperty(d,v,b)&&this._updateLayer(M),this._changed=!0,this._updatedPaintProps[l]=!0):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getPaintProperty(l,d){return this.getLayer(l).getPaintProperty(d)}setFeatureState(l,d){this._checkLoaded();let v=l.source,b=l.sourceLayer,M=this.sourceCaches[v];if(M===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let O=M.getSource().type;O===\"geojson\"&&b?this.fire(new n.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):O!==\"vector\"||b?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),M.setFeatureState(b,l.id,d)):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(l,d){this._checkLoaded();let v=l.source,b=this.sourceCaches[v];if(b===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let M=b.getSource().type,O=M===\"vector\"?l.sourceLayer:void 0;M!==\"vector\"||O?d&&typeof l.id!=\"string\"&&typeof l.id!=\"number\"?this.fire(new n.j(new Error(\"A feature id is required to remove its specific state property.\"))):b.removeFeatureState(O,l.id,d):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(l){this._checkLoaded();let d=l.source,v=l.sourceLayer,b=this.sourceCaches[d];if(b!==void 0)return b.getSource().type!==\"vector\"||v?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),b.getFeatureState(v,l.id)):void this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new n.j(new Error(`The source '${d}' does not exist in the map's style.`)))}getTransition(){return n.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let l=n.aH(this.sourceCaches,M=>M.serialize()),d=this._serializeByIds(this._order),v=this.map.getTerrain()||void 0,b=this.stylesheet;return n.aI({version:b.version,name:b.name,metadata:b.metadata,light:b.light,center:b.center,zoom:b.zoom,bearing:b.bearing,pitch:b.pitch,sprite:b.sprite,glyphs:b.glyphs,transition:b.transition,sources:l,layers:d,terrain:v},M=>M!==void 0)}_updateLayer(l){this._updatedLayers[l.id]=!0,l.source&&!this._updatedSources[l.source]&&this.sourceCaches[l.source].getSource().type!==\"raster\"&&(this._updatedSources[l.source]=\"reload\",this.sourceCaches[l.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(l){let d=O=>this._layers[O].type===\"fill-extrusion\",v={},b=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B)){v[B]=O;for(let U of l){let W=U[B];if(W)for(let Z of W)b.push(Z)}}}b.sort((O,B)=>B.intersectionZ-O.intersectionZ);let M=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B))for(let U=b.length-1;U>=0;U--){let W=b[U].feature;if(v[W.layer.id]{let pe=Ft.featureSortOrder;if(pe){let he=pe.indexOf($t.featureIndex);return pe.indexOf(oe.featureIndex)-he}return oe.featureIndex-$t.featureIndex});for(let $t of Qt)Bt.push($t)}}for(let Ft in pt)pt[Ft].forEach(Ht=>{let St=Ht.feature,Bt=W[B[Ft].source].getFeatureState(St.layer[\"source-layer\"],St.id);St.source=St.layer.source,St.layer[\"source-layer\"]&&(St.sourceLayer=St.layer[\"source-layer\"]),St.state=Bt});return pt}(this._layers,O,this.sourceCaches,l,d,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(M)}querySourceFeatures(l,d){d&&d.filter&&this._validate(n.y.filter,\"querySourceFeatures.filter\",d.filter,null,d);let v=this.sourceCaches[l];return v?function(b,M){let O=b.getRenderableIds().map(W=>b.getTileByID(W)),B=[],U={};for(let W=0;W{cl[b]=M})(l,d),d.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:l,url:d.workerSourceURL},v):v(null,null))}getLight(){return this.light.getLight()}setLight(l,d={}){this._checkLoaded();let v=this.light.getLight(),b=!1;for(let O in l)if(!n.aG(l[O],v[O])){b=!0;break}if(!b)return;let M={now:n.h.now(),transition:n.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(l,d),this.light.updateTransitions(M)}_validate(l,d,v,b,M={}){return(!M||M.validate!==!1)&&ln(this,l.call(n.y,n.e({key:d,style:this.serialize(),value:v,styleSpec:n.v},b)))}_remove(l=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.aJ.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(let d in this._layers)this._layers[d].setEventedParent(null);for(let d in this.sourceCaches){let v=this.sourceCaches[d];v.setEventedParent(null),v.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(l)}_clearSource(l){this.sourceCaches[l].clearTiles()}_reloadSource(l){this.sourceCaches[l].resume(),this.sourceCaches[l].reload()}_updateSources(l){for(let d in this.sourceCaches)this.sourceCaches[d].update(l,this.map.terrain)}_generateCollisionBoxes(){for(let l in this.sourceCaches)this._reloadSource(l)}_updatePlacement(l,d,v,b,M=!1){let O=!1,B=!1,U={};for(let W of this._order){let Z=this._layers[W];if(Z.type!==\"symbol\")continue;if(!U[Z.source]){let st=this.sourceCaches[Z.source];U[Z.source]=st.getRenderableIds(!0).map(At=>st.getTileByID(At)).sort((At,pt)=>pt.tileID.overscaledZ-At.tileID.overscaledZ||(At.tileID.isLessThan(pt.tileID)?-1:1))}let $=this.crossTileSymbolIndex.addLayer(Z,U[Z.source],l.center.lng);O=O||$}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((M=M||this._layerOrderChanged||v===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.h.now(),l.zoom))&&(this.pauseablePlacement=new Vl(l,this.map.terrain,this._order,M,d,v,b,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,U),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.h.now()),B=!0),O&&this.pauseablePlacement.placement.setStale()),B||O)for(let W of this._order){let Z=this._layers[W];Z.type===\"symbol\"&&this.placement.updateLayerOpacities(Z,U[Z.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.h.now())}_releaseSymbolFadeTiles(){for(let l in this.sourceCaches)this.sourceCaches[l].releaseSymbolFadeTiles()}getImages(l,d,v){this.imageManager.getImages(d.icons,v),this._updateTilesForChangedImages();let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,d.icons)}getGlyphs(l,d,v){this.glyphManager.getGlyphs(d.stacks,v);let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,[\"\"])}getResource(l,d,v){return n.m(d,v)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(l,d={}){this._checkLoaded(),l&&this._validate(n.y.glyphs,\"glyphs\",l,null,d)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=l,this.glyphManager.entries={},this.glyphManager.setURL(l))}addSprite(l,d,v={},b){this._checkLoaded();let M=[{id:l,url:d}],O=[...kt(this.stylesheet.sprite),...M];this._validate(n.y.sprite,\"sprite\",O,null,v)||(this.stylesheet.sprite=O,this._loadSprite(M,!0,b))}removeSprite(l){this._checkLoaded();let d=kt(this.stylesheet.sprite);if(d.find(v=>v.id===l)){if(this._spritesImagesIds[l])for(let v of this._spritesImagesIds[l])this.imageManager.removeImage(v),this._changedImages[v]=!0;d.splice(d.findIndex(v=>v.id===l),1),this.stylesheet.sprite=d.length>0?d:void 0,delete this._spritesImagesIds[l],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}else this.fire(new n.j(new Error(`Sprite \"${l}\" doesn't exists on this map.`)))}getSprite(){return kt(this.stylesheet.sprite)}setSprite(l,d={},v){this._checkLoaded(),l&&this._validate(n.y.sprite,\"sprite\",l,null,d)||(this.stylesheet.sprite=l,l?this._loadSprite(l,!0,v):(this._unloadSprite(),v&&v(null)))}}Gn.registerForPluginStateChange=n.aK;var So=n.Q([{name:\"a_pos\",type:\"Int16\",components:2}]),jl=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";let Ki={prelude:_i(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:_i(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_i(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_i(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_i(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_i(`uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:_i(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_i(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_i(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_i(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_i(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_i(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_i(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_i(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_i(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_i(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_i(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_i(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_i(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_i(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_i(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_i(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",jl),terrainDepth:_i(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",jl),terrainCoords:_i(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",jl)};function _i(T,l){let d=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,v=l.match(/attribute ([\\w]+) ([\\w]+)/g),b=T.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),M=l.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),O=M?M.concat(b):b,B={};return{fragmentSource:T=T.replace(d,(U,W,Z,$,st)=>(B[st]=!0,W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = u_${st};\n#endif\n`)),vertexSource:l=l.replace(d,(U,W,Z,$,st)=>{let At=$===\"float\"?\"vec2\":\"vec4\",pt=st.match(/color/)?\"color\":At;return B[st]?W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`}),staticAttributes:v,staticUniforms:O}}class Gl{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(l,d,v,b,M,O,B,U,W){this.context=l;let Z=this.boundPaintVertexBuffers.length!==b.length;for(let $=0;!Z&&$({u_depth:new n.aL($t,oe.u_depth),u_terrain:new n.aL($t,oe.u_terrain),u_terrain_dim:new n.aM($t,oe.u_terrain_dim),u_terrain_matrix:new n.aN($t,oe.u_terrain_matrix),u_terrain_unpack:new n.aO($t,oe.u_terrain_unpack),u_terrain_exaggeration:new n.aM($t,oe.u_terrain_exaggeration)}))(l,Qt),this.binderUniforms=v?v.getUniforms(l,Qt):[]}draw(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt,Ft,Ht){let St=l.gl;if(this.failedToCreate)return;if(l.program.set(this.program),l.setDepthMode(v),l.setStencilMode(b),l.setColorMode(M),l.setCullFace(O),U){l.activeTexture.set(St.TEXTURE2),St.bindTexture(St.TEXTURE_2D,U.depthTexture),l.activeTexture.set(St.TEXTURE3),St.bindTexture(St.TEXTURE_2D,U.texture);for(let Qt in this.terrainUniforms)this.terrainUniforms[Qt].set(U[Qt])}for(let Qt in this.fixedUniforms)this.fixedUniforms[Qt].set(B[Qt]);yt&&yt.setUniforms(l,this.binderUniforms,At,{zoom:pt});let Bt=0;switch(d){case St.LINES:Bt=2;break;case St.TRIANGLES:Bt=3;break;case St.LINE_STRIP:Bt=1}for(let Qt of st.get()){let $t=Qt.vaos||(Qt.vaos={});($t[W]||($t[W]=new Gl)).bind(l,this,Z,yt?yt.getPaintVertexBuffers():[],$,Qt.vertexOffset,dt,Ft,Ht),St.drawElements(d,Qt.primitiveLength*Bt,St.UNSIGNED_SHORT,Qt.primitiveOffset*Bt*2)}}}function rs(T,l,d){let v=1/Dt(d,1,l.transform.tileZoom),b=Math.pow(2,d.tileID.overscaledZ),M=d.tileSize*Math.pow(2,l.transform.tileZoom)/b,O=M*(d.tileID.canonical.x+d.tileID.wrap*b),B=M*d.tileID.canonical.y;return{u_image:0,u_texsize:d.imageAtlasTexture.size,u_scale:[v,T.fromScale,T.toScale],u_fade:T.t,u_pixel_coord_upper:[O>>16,B>>16],u_pixel_coord_lower:[65535&O,65535&B]}}let Gp=(T,l,d,v)=>{let b=l.style.light,M=b.properties.get(\"position\"),O=[M.x,M.y,M.z],B=function(){var W=new n.A(9);return n.A!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[5]=0,W[6]=0,W[7]=0),W[0]=1,W[4]=1,W[8]=1,W}();b.properties.get(\"anchor\")===\"viewport\"&&function(W,Z){var $=Math.sin(Z),st=Math.cos(Z);W[0]=st,W[1]=$,W[2]=0,W[3]=-$,W[4]=st,W[5]=0,W[6]=0,W[7]=0,W[8]=1}(B,-l.transform.angle),function(W,Z,$){var st=Z[0],At=Z[1],pt=Z[2];W[0]=st*$[0]+At*$[3]+pt*$[6],W[1]=st*$[1]+At*$[4]+pt*$[7],W[2]=st*$[2]+At*$[5]+pt*$[8]}(O,O,B);let U=b.properties.get(\"color\");return{u_matrix:T,u_lightpos:O,u_lightintensity:b.properties.get(\"intensity\"),u_lightcolor:[U.r,U.g,U.b],u_vertical_gradient:+d,u_opacity:v}},Wl=(T,l,d,v,b,M,O)=>n.e(Gp(T,l,d,v),rs(M,l,O),{u_height_factor:-Math.pow(2,b.overscaledZ)/O.tileSize/8}),_d=T=>({u_matrix:T}),yd=(T,l,d,v)=>n.e(_d(T),rs(d,l,v)),vd=(T,l)=>({u_matrix:T,u_world:l}),xd=(T,l,d,v,b)=>n.e(yd(T,l,d,v),{u_world:b}),lt=(T,l,d,v)=>{let b=T.transform,M,O;if(v.paint.get(\"circle-pitch-alignment\")===\"map\"){let B=Dt(d,1,b.zoom);M=!0,O=[B,B]}else M=!1,O=b.pixelsToGLUnits;return{u_camera_to_center_distance:b.cameraToCenterDistance,u_scale_with_map:+(v.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:T.translatePosMatrix(l.posMatrix,d,v.paint.get(\"circle-translate\"),v.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+M,u_device_pixel_ratio:T.pixelRatio,u_extrude_scale:O}},ft=(T,l,d)=>{let v=Dt(d,1,l.zoom),b=Math.pow(2,l.zoom-d.tileID.overscaledZ),M=d.tileID.overscaleFactor();return{u_matrix:T,u_camera_to_center_distance:l.cameraToCenterDistance,u_pixels_to_tile_units:v,u_extrude_scale:[l.pixelsToGLUnits[0]/(v*b),l.pixelsToGLUnits[1]/(v*b)],u_overscale_factor:M}},Lt=(T,l,d=1)=>({u_matrix:T,u_color:l,u_overlay:0,u_overlay_scale:d}),Kt=T=>({u_matrix:T}),ge=(T,l,d,v)=>({u_matrix:T,u_extrude_scale:Dt(l,1,d),u_intensity:v});function Qe(T,l){let d=Math.pow(2,l.canonical.z),v=l.canonical.y;return[new n.U(0,v/d).toLngLat().lat,new n.U(0,(v+1)/d).toLngLat().lat]}let ti=(T,l,d,v)=>{let b=T.transform;return{u_matrix:jm(T,l,d,v),u_ratio:1/Dt(l,1,b.zoom),u_device_pixel_ratio:T.pixelRatio,u_units_to_pixels:[1/b.pixelsToGLUnits[0],1/b.pixelsToGLUnits[1]]}},is=(T,l,d,v,b)=>n.e(ti(T,l,d,b),{u_image:0,u_image_height:v}),Ts=(T,l,d,v,b)=>{let M=T.transform,O=Ra(l,M);return{u_matrix:jm(T,l,d,b),u_texsize:l.imageAtlasTexture.size,u_ratio:1/Dt(l,1,M.zoom),u_device_pixel_ratio:T.pixelRatio,u_image:0,u_scale:[O,v.fromScale,v.toScale],u_fade:v.t,u_units_to_pixels:[1/M.pixelsToGLUnits[0],1/M.pixelsToGLUnits[1]]}},Vs=(T,l,d,v,b,M)=>{let O=T.lineAtlas,B=Ra(l,T.transform),U=d.layout.get(\"line-cap\")===\"round\",W=O.getDash(v.from,U),Z=O.getDash(v.to,U),$=W.width*b.fromScale,st=Z.width*b.toScale;return n.e(ti(T,l,d,M),{u_patternscale_a:[B/$,-W.height/2],u_patternscale_b:[B/st,-Z.height/2],u_sdfgamma:O.width/(256*Math.min($,st)*T.pixelRatio)/2,u_image:0,u_tex_y_a:W.y,u_tex_y_b:Z.y,u_mix:b.t})};function Ra(T,l){return 1/Dt(T,1,l.tileZoom)}function jm(T,l,d,v){return T.translatePosMatrix(v?v.posMatrix:l.tileID.posMatrix,l,d.paint.get(\"line-translate\"),d.paint.get(\"line-translate-anchor\"))}let Ox=(T,l,d,v,b)=>{return{u_matrix:T,u_tl_parent:l,u_scale_parent:d,u_buffer_scale:1,u_fade_t:v.mix,u_opacity:v.opacity*b.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:b.paint.get(\"raster-brightness-min\"),u_brightness_high:b.paint.get(\"raster-brightness-max\"),u_saturation_factor:(O=b.paint.get(\"raster-saturation\"),O>0?1-1/(1.001-O):-O),u_contrast_factor:(M=b.paint.get(\"raster-contrast\"),M>0?1/(1-M):1+M),u_spin_weights:Bx(b.paint.get(\"raster-hue-rotate\"))};var M,O};function Bx(T){T*=Math.PI/180;let l=Math.sin(T),d=Math.cos(T);return[(2*d+1)/3,(-Math.sqrt(3)*l-d+1)/3,(Math.sqrt(3)*l-d+1)/3]}let l_=(T,l,d,v,b,M,O,B,U,W)=>{let Z=b.transform;return{u_is_size_zoom_constant:+(T===\"constant\"||T===\"source\"),u_is_size_feature_constant:+(T===\"constant\"||T===\"camera\"),u_size_t:l?l.uSizeT:0,u_size:l?l.uSize:0,u_camera_to_center_distance:Z.cameraToCenterDistance,u_pitch:Z.pitch/360*2*Math.PI,u_rotate_symbol:+d,u_aspect_ratio:Z.width/Z.height,u_fade_change:b.options.fadeDuration?b.symbolFadeChange:1,u_matrix:M,u_label_plane_matrix:O,u_coord_matrix:B,u_is_text:+U,u_pitch_with_map:+v,u_texsize:W,u_texture:0}},c_=(T,l,d,v,b,M,O,B,U,W,Z)=>{let $=b.transform;return n.e(l_(T,l,d,v,b,M,O,B,U,W),{u_gamma_scale:v?Math.cos($._pitch)*$.cameraToCenterDistance:1,u_device_pixel_ratio:b.pixelRatio,u_is_halo:+Z})},gf=(T,l,d,v,b,M,O,B,U,W)=>n.e(c_(T,l,d,v,b,M,O,B,!0,U,!0),{u_texsize_icon:W,u_texture_icon:1}),Gm=(T,l,d)=>({u_matrix:T,u_opacity:l,u_color:d}),fl=(T,l,d,v,b,M)=>n.e(function(O,B,U,W){let Z=U.imageManager.getPattern(O.from.toString()),$=U.imageManager.getPattern(O.to.toString()),{width:st,height:At}=U.imageManager.getPixelSize(),pt=Math.pow(2,W.tileID.overscaledZ),yt=W.tileSize*Math.pow(2,U.transform.tileZoom)/pt,dt=yt*(W.tileID.canonical.x+W.tileID.wrap*pt),Ft=yt*W.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Z.tl,u_pattern_br_a:Z.br,u_pattern_tl_b:$.tl,u_pattern_br_b:$.br,u_texsize:[st,At],u_mix:B.t,u_pattern_size_a:Z.displaySize,u_pattern_size_b:$.displaySize,u_scale_a:B.fromScale,u_scale_b:B.toScale,u_tile_units_to_pixels:1/Dt(W,1,U.transform.tileZoom),u_pixel_coord_upper:[dt>>16,Ft>>16],u_pixel_coord_lower:[65535&dt,65535&Ft]}}(v,M,d,b),{u_matrix:T,u_opacity:l}),Wm={fillExtrusion:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_opacity:new n.aM(T,l.u_opacity)}),fillExtrusionPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_height_factor:new n.aM(T,l.u_height_factor),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade),u_opacity:new n.aM(T,l.u_opacity)}),fill:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),fillPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),fillOutline:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world)}),fillOutlinePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),circle:(T,l)=>({u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_scale_with_map:new n.aL(T,l.u_scale_with_map),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_matrix:new n.aN(T,l.u_matrix)}),collisionBox:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pixels_to_tile_units:new n.aM(T,l.u_pixels_to_tile_units),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_overscale_factor:new n.aM(T,l.u_overscale_factor)}),collisionCircle:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_inv_matrix:new n.aN(T,l.u_inv_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_viewport_size:new n.aQ(T,l.u_viewport_size)}),debug:(T,l)=>({u_color:new n.aR(T,l.u_color),u_matrix:new n.aN(T,l.u_matrix),u_overlay:new n.aL(T,l.u_overlay),u_overlay_scale:new n.aM(T,l.u_overlay_scale)}),clippingMask:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),heatmap:(T,l)=>({u_extrude_scale:new n.aM(T,l.u_extrude_scale),u_intensity:new n.aM(T,l.u_intensity),u_matrix:new n.aN(T,l.u_matrix)}),heatmapTexture:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_color_ramp:new n.aL(T,l.u_color_ramp),u_opacity:new n.aM(T,l.u_opacity)}),hillshade:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_latrange:new n.aQ(T,l.u_latrange),u_light:new n.aQ(T,l.u_light),u_shadow:new n.aR(T,l.u_shadow),u_highlight:new n.aR(T,l.u_highlight),u_accent:new n.aR(T,l.u_accent)}),hillshadePrepare:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_dimension:new n.aQ(T,l.u_dimension),u_zoom:new n.aM(T,l.u_zoom),u_unpack:new n.aO(T,l.u_unpack)}),line:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels)}),lineGradient:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_image:new n.aL(T,l.u_image),u_image_height:new n.aM(T,l.u_image_height)}),linePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texsize:new n.aQ(T,l.u_texsize),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_image:new n.aL(T,l.u_image),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),lineSDF:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_patternscale_a:new n.aQ(T,l.u_patternscale_a),u_patternscale_b:new n.aQ(T,l.u_patternscale_b),u_sdfgamma:new n.aM(T,l.u_sdfgamma),u_image:new n.aL(T,l.u_image),u_tex_y_a:new n.aM(T,l.u_tex_y_a),u_tex_y_b:new n.aM(T,l.u_tex_y_b),u_mix:new n.aM(T,l.u_mix)}),raster:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_tl_parent:new n.aQ(T,l.u_tl_parent),u_scale_parent:new n.aM(T,l.u_scale_parent),u_buffer_scale:new n.aM(T,l.u_buffer_scale),u_fade_t:new n.aM(T,l.u_fade_t),u_opacity:new n.aM(T,l.u_opacity),u_image0:new n.aL(T,l.u_image0),u_image1:new n.aL(T,l.u_image1),u_brightness_low:new n.aM(T,l.u_brightness_low),u_brightness_high:new n.aM(T,l.u_brightness_high),u_saturation_factor:new n.aM(T,l.u_saturation_factor),u_contrast_factor:new n.aM(T,l.u_contrast_factor),u_spin_weights:new n.aP(T,l.u_spin_weights)}),symbolIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture)}),symbolSDF:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),symbolTextAndIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texsize_icon:new n.aQ(T,l.u_texsize_icon),u_texture:new n.aL(T,l.u_texture),u_texture_icon:new n.aL(T,l.u_texture_icon),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),background:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_color:new n.aR(T,l.u_color)}),backgroundPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_image:new n.aL(T,l.u_image),u_pattern_tl_a:new n.aQ(T,l.u_pattern_tl_a),u_pattern_br_a:new n.aQ(T,l.u_pattern_br_a),u_pattern_tl_b:new n.aQ(T,l.u_pattern_tl_b),u_pattern_br_b:new n.aQ(T,l.u_pattern_br_b),u_texsize:new n.aQ(T,l.u_texsize),u_mix:new n.aM(T,l.u_mix),u_pattern_size_a:new n.aQ(T,l.u_pattern_size_a),u_pattern_size_b:new n.aQ(T,l.u_pattern_size_b),u_scale_a:new n.aM(T,l.u_scale_a),u_scale_b:new n.aM(T,l.u_scale_b),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_tile_units_to_pixels:new n.aM(T,l.u_tile_units_to_pixels)}),terrain:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainDepth:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainCoords:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_terrain_coords_id:new n.aM(T,l.u_terrain_coords_id),u_ele_delta:new n.aM(T,l.u_ele_delta)})};class Hm{constructor(l,d,v){this.context=l;let b=l.gl;this.buffer=b.createBuffer(),this.dynamicDraw=!!v,this.context.unbindVAO(),l.bindElementBuffer.set(this.buffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?b.DYNAMIC_DRAW:b.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(l){let d=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),d.bufferSubData(d.ELEMENT_ARRAY_BUFFER,0,l.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Wp={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class qm{constructor(l,d,v,b){this.length=d.length,this.attributes=v,this.itemSize=d.bytesPerElement,this.dynamicDraw=b,this.context=l;let M=l.gl;this.buffer=M.createBuffer(),l.bindVertexBuffer.set(this.buffer),M.bufferData(M.ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?M.DYNAMIC_DRAW:M.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(l){if(l.length!==this.length)throw new Error(`Length of new data is ${l.length}, which doesn't match current length of ${this.length}`);let d=this.context.gl;this.bind(),d.bufferSubData(d.ARRAY_BUFFER,0,l.arrayBuffer)}enableAttributes(l,d){for(let v=0;v0){let be=n.Z(),Ze=oe;n.aU(be,$t.placementInvProjMatrix,T.transform.glCoordMatrix),n.aU(be,be,$t.placementViewportMatrix),Z.push({circleArray:he,circleOffset:st,transform:Ze,invTransform:be,coord:Bt}),$+=he.length/4,st=$}pe&&W.draw(B,U.LINES,ci.disabled,Je.disabled,T.colorModeForRenderPass(),It.disabled,ft(oe,T.transform,Qt),T.style.map.terrain&&T.style.map.terrain.getTerrainData(Bt),d.id,pe.layoutVertexBuffer,pe.indexBuffer,pe.segments,null,T.transform.zoom,null,null,pe.collisionVertexBuffer)}if(!O||!Z.length)return;let At=T.useProgram(\"collisionCircle\"),pt=new n.aV;pt.resize(4*$),pt._trim();let yt=0;for(let St of Z)for(let Bt=0;Bt=0&&(pt[dt.associatedIconIndex]={shiftedAnchor:Kr,angle:Ee})}else ht(dt.numGlyphs,st)}if(W){At.clear();let yt=T.icon.placedSymbolArray;for(let dt=0;dtT.style.map.terrain.getElevation(pe,Zo,_n):null,fs=d.layout.get(\"text-rotation-alignment\")===\"map\";Te(be,pe.posMatrix,T,b,jr,ql,dt,W,fs,Fn)}let vu=T.translatePosMatrix(pe.posMatrix,he,M,O),_h=Ft||b&&$t||yu?Jm:jr,Ws=T.translatePosMatrix(ql,he,M,O,!0),Ps=Ee&&d.paint.get(b?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Eo;Eo=Ee?be.iconsInText?gf(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,ei,hs):c_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei,!0):l_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei);let yh={program:Gi,buffers:Ze,uniformValues:Eo,atlasTexture:On,atlasTextureIcon:Bn,atlasInterpolation:tn,atlasInterpolationIcon:Gs,isSDF:Ee,hasHalo:Ps};if(St&&be.canOverlap){Bt=!0;let Fn=Ze.segments.get();for(let fs of Fn)oe.push({segments:new n.S([fs]),sortKey:fs.sortKey,state:yh,terrainData:Vr})}else oe.push({segments:Ze.segments,sortKey:0,state:yh,terrainData:Vr})}Bt&&oe.sort((pe,he)=>pe.sortKey-he.sortKey);for(let pe of oe){let he=pe.state;if(st.activeTexture.set(At.TEXTURE0),he.atlasTexture.bind(he.atlasInterpolation,At.CLAMP_TO_EDGE),he.atlasTextureIcon&&(st.activeTexture.set(At.TEXTURE1),he.atlasTextureIcon&&he.atlasTextureIcon.bind(he.atlasInterpolationIcon,At.CLAMP_TO_EDGE)),he.isSDF){let be=he.uniformValues;he.hasHalo&&(be.u_is_halo=1,e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,be,pe.terrainData)),be.u_is_halo=0}e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,he.uniformValues,pe.terrainData)}}function e0(T,l,d,v,b,M,O,B,U,W){let Z=v.context;b.draw(Z,Z.gl.TRIANGLES,M,O,B,It.disabled,U,W,d.id,T.layoutVertexBuffer,T.indexBuffer,l,d.paint,v.transform.zoom,T.programConfigurations.get(d.id),T.dynamicLayoutVertexBuffer,T.opacityVertexBuffer)}function Ed(T,l,d,v,b){if(!d||!v||!v.imageAtlas)return;let M=v.imageAtlas.patternPositions,O=M[d.to.toString()],B=M[d.from.toString()];if(!O&&B&&(O=B),!B&&O&&(B=O),!O||!B){let U=b.getPaintProperty(l);O=M[U],B=M[U]}O&&B&&T.setConstantPatternPositions(O,B)}function Pd(T,l,d,v,b,M,O){let B=T.context.gl,U=\"fill-pattern\",W=d.paint.get(U),Z=W&&W.constantOr(1),$=d.getCrossfadeParameters(),st,At,pt,yt,dt;O?(At=Z&&!d.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",st=B.LINES):(At=Z?\"fillPattern\":\"fill\",st=B.TRIANGLES);let Ft=W.constantOr(null);for(let Ht of v){let St=l.getTile(Ht);if(Z&&!St.patternsLoaded())continue;let Bt=St.getBucket(d);if(!Bt)continue;let Qt=Bt.programConfigurations.get(d.id),$t=T.useProgram(At,Qt),oe=T.style.map.terrain&&T.style.map.terrain.getTerrainData(Ht);Z&&(T.context.activeTexture.set(B.TEXTURE0),St.imageAtlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE),Qt.updatePaintBuffers($)),Ed(Qt,U,Ft,St,d);let pe=oe?Ht:null,he=T.translatePosMatrix(pe?pe.posMatrix:Ht.posMatrix,St,d.paint.get(\"fill-translate\"),d.paint.get(\"fill-translate-anchor\"));if(O){yt=Bt.indexBuffer2,dt=Bt.segments2;let be=[B.drawingBufferWidth,B.drawingBufferHeight];pt=At===\"fillOutlinePattern\"&&Z?xd(he,T,$,St,be):vd(he,be)}else yt=Bt.indexBuffer,dt=Bt.segments,pt=Z?yd(he,T,$,St):_d(he);$t.draw(T.context,st,b,T.stencilModeForClipping(Ht),M,It.disabled,pt,oe,d.id,Bt.layoutVertexBuffer,yt,dt,d.paint,T.transform.zoom,Qt)}}function Id(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=\"fill-extrusion-pattern\",Z=d.paint.get(W),$=Z.constantOr(1),st=d.getCrossfadeParameters(),At=d.paint.get(\"fill-extrusion-opacity\"),pt=Z.constantOr(null);for(let yt of v){let dt=l.getTile(yt),Ft=dt.getBucket(d);if(!Ft)continue;let Ht=T.style.map.terrain&&T.style.map.terrain.getTerrainData(yt),St=Ft.programConfigurations.get(d.id),Bt=T.useProgram($?\"fillExtrusionPattern\":\"fillExtrusion\",St);$&&(T.context.activeTexture.set(U.TEXTURE0),dt.imageAtlasTexture.bind(U.LINEAR,U.CLAMP_TO_EDGE),St.updatePaintBuffers(st)),Ed(St,W,pt,dt,d);let Qt=T.translatePosMatrix(yt.posMatrix,dt,d.paint.get(\"fill-extrusion-translate\"),d.paint.get(\"fill-extrusion-translate-anchor\")),$t=d.paint.get(\"fill-extrusion-vertical-gradient\"),oe=$?Wl(Qt,T,$t,At,yt,st,dt):Gp(Qt,T,$t,At);Bt.draw(B,B.gl.TRIANGLES,b,M,O,It.backCCW,oe,Ht,d.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,d.paint,T.transform.zoom,St,T.style.map.terrain&&Ft.centroidVertexBuffer)}}function Fx(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=d.fbo;if(!W)return;let Z=T.useProgram(\"hillshade\"),$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(l);B.activeTexture.set(U.TEXTURE0),U.bindTexture(U.TEXTURE_2D,W.colorAttachment.get()),Z.draw(B,U.TRIANGLES,b,M,O,It.disabled,((st,At,pt,yt)=>{let dt=pt.paint.get(\"hillshade-shadow-color\"),Ft=pt.paint.get(\"hillshade-highlight-color\"),Ht=pt.paint.get(\"hillshade-accent-color\"),St=pt.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);pt.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(St-=st.transform.angle);let Bt=!st.options.moving;return{u_matrix:yt?yt.posMatrix:st.transform.calculatePosMatrix(At.tileID.toUnwrapped(),Bt),u_image:0,u_latrange:Qe(0,At.tileID),u_light:[pt.paint.get(\"hillshade-exaggeration\"),St],u_shadow:dt,u_highlight:Ft,u_accent:Ht}})(T,d,v,$?l:null),$,v.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments)}function r0(T,l,d,v,b,M){let O=T.context,B=O.gl,U=l.dem;if(U&&U.data){let W=U.dim,Z=U.stride,$=U.getPixels();if(O.activeTexture.set(B.TEXTURE1),O.pixelStoreUnpackPremultiplyAlpha.set(!1),l.demTexture=l.demTexture||T.getTileTexture(Z),l.demTexture){let At=l.demTexture;At.update($,{premultiply:!1}),At.bind(B.NEAREST,B.CLAMP_TO_EDGE)}else l.demTexture=new qt(O,$,B.RGBA,{premultiply:!1}),l.demTexture.bind(B.NEAREST,B.CLAMP_TO_EDGE);O.activeTexture.set(B.TEXTURE0);let st=l.fbo;if(!st){let At=new qt(O,{width:W,height:W,data:null},B.RGBA);At.bind(B.LINEAR,B.CLAMP_TO_EDGE),st=l.fbo=O.createFramebuffer(W,W,!0,!1),st.colorAttachment.set(At.texture)}O.bindFramebuffer.set(st.framebuffer),O.viewport.set([0,0,W,W]),T.useProgram(\"hillshadePrepare\").draw(O,B.TRIANGLES,v,b,M,It.disabled,((At,pt)=>{let yt=pt.stride,dt=n.Z();return n.aS(dt,0,n.N,-n.N,0,0,1),n.$(dt,dt,[0,-n.N,0]),{u_matrix:dt,u_image:1,u_dimension:[yt,yt],u_zoom:At.overscaledZ,u_unpack:pt.getUnpackVector()}})(l.tileID,U),null,d.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments),l.needsHillshadePrepare=!1}}function f_(T,l,d,v,b,M){let O=v.paint.get(\"raster-fade-duration\");if(!M&&O>0){let B=n.h.now(),U=(B-T.timeAdded)/O,W=l?(B-l.timeAdded)/O:-1,Z=d.getSource(),$=b.coveringZoomLevel({tileSize:Z.tileSize,roundZoom:Z.roundZoom}),st=!l||Math.abs(l.tileID.overscaledZ-$)>Math.abs(T.tileID.overscaledZ-$),At=st&&T.refreshedUponExpiration?1:n.ad(st?U:1-W,0,1);return T.refreshedUponExpiration&&U>=1&&(T.refreshedUponExpiration=!1),l?{opacity:1,mix:1-At}:{opacity:At,mix:0}}return{opacity:1,mix:0}}let d_=new n.aT(1,0,0,1),yf=new n.aT(0,1,0,1),Ba=new n.aT(0,0,1,1),Wn=new n.aT(1,0,1,1),p_=new n.aT(0,1,1,1);function Cd(T,l,d,v){Xp(T,0,l+d/2,T.transform.width,d,v)}function $p(T,l,d,v){Xp(T,l-d/2,0,d,T.transform.height,v)}function Xp(T,l,d,v,b,M){let O=T.context,B=O.gl;B.enable(B.SCISSOR_TEST),B.scissor(l*T.pixelRatio,d*T.pixelRatio,v*T.pixelRatio,b*T.pixelRatio),O.clear({color:M}),B.disable(B.SCISSOR_TEST)}function i0(T,l,d){let v=T.context,b=v.gl,M=d.posMatrix,O=T.useProgram(\"debug\"),B=ci.disabled,U=Je.disabled,W=T.colorModeForRenderPass(),Z=\"$debug\",$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(d);v.activeTexture.set(b.TEXTURE0);let st=l.getTileByID(d.key).latestRawTileData,At=Math.floor((st&&st.byteLength||0)/1024),pt=l.getTile(d).tileSize,yt=512/Math.min(pt,512)*(d.overscaledZ/T.transform.zoom)*.5,dt=d.canonical.toString();d.overscaledZ!==d.canonical.z&&(dt+=` => ${d.overscaledZ}`),function(Ft,Ht){Ft.initDebugOverlayCanvas();let St=Ft.debugOverlayCanvas,Bt=Ft.context.gl,Qt=Ft.debugOverlayCanvas.getContext(\"2d\");Qt.clearRect(0,0,St.width,St.height),Qt.shadowColor=\"white\",Qt.shadowBlur=2,Qt.lineWidth=1.5,Qt.strokeStyle=\"white\",Qt.textBaseline=\"top\",Qt.font=\"bold 36px Open Sans, sans-serif\",Qt.fillText(Ht,5,5),Qt.strokeText(Ht,5,5),Ft.debugOverlayTexture.update(St),Ft.debugOverlayTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE)}(T,`${dt} ${At}kB`),O.draw(v,b.TRIANGLES,B,U,Ji.alphaBlended,It.disabled,Lt(M,n.aT.transparent,yt),null,Z,T.debugBuffer,T.quadTriangleIndexBuffer,T.debugSegments),O.draw(v,b.LINE_STRIP,B,U,W,It.disabled,Lt(M,n.aT.red),$,Z,T.debugBuffer,T.tileBorderIndexBuffer,T.debugSegments)}function Cn(T,l,d){let v=T.context,b=v.gl,M=T.colorModeForRenderPass(),O=new ci(b.LEQUAL,ci.ReadWrite,T.depthRangeFor3D),B=T.useProgram(\"terrain\"),U=l.getTerrainMesh();v.bindFramebuffer.set(null),v.viewport.set([0,0,T.width,T.height]);for(let W of d){let Z=T.renderToTexture.getTexture(W),$=l.getTerrainData(W.tileID);v.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,Z.texture);let st={u_matrix:T.transform.calculatePosMatrix(W.tileID.toUnwrapped()),u_texture:0,u_ele_delta:l.getMeshFrameDelta(T.transform.zoom)};B.draw(v,b.TRIANGLES,O,Je.disabled,M,It.backCCW,st,$,\"terrain\",U.vertexBuffer,U.indexBuffer,U.segments)}}class ah{constructor(l,d){this.context=new Oc(l),this.transform=d,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:n.Z(),renderTime:0},this.setup(),this.numSublayers=ls.maxUnderzooming+ls.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Dc}resize(l,d,v){if(this.width=Math.floor(l*v),this.height=Math.floor(d*v),this.pixelRatio=v,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let b of this.style._order)this.style._layers[b].resize()}setup(){let l=this.context,d=new n.a_;d.emplaceBack(0,0),d.emplaceBack(n.N,0),d.emplaceBack(0,n.N),d.emplaceBack(n.N,n.N),this.tileExtentBuffer=l.createVertexBuffer(d,So.members),this.tileExtentSegments=n.S.simpleSegment(0,0,4,2);let v=new n.a_;v.emplaceBack(0,0),v.emplaceBack(n.N,0),v.emplaceBack(0,n.N),v.emplaceBack(n.N,n.N),this.debugBuffer=l.createVertexBuffer(v,So.members),this.debugSegments=n.S.simpleSegment(0,0,4,5);let b=new n.V;b.emplaceBack(0,0,0,0),b.emplaceBack(n.N,0,n.N,0),b.emplaceBack(0,n.N,0,n.N),b.emplaceBack(n.N,n.N,n.N,n.N),this.rasterBoundsBuffer=l.createVertexBuffer(b,Jn.members),this.rasterBoundsSegments=n.S.simpleSegment(0,0,4,2);let M=new n.a_;M.emplaceBack(0,0),M.emplaceBack(1,0),M.emplaceBack(0,1),M.emplaceBack(1,1),this.viewportBuffer=l.createVertexBuffer(M,So.members),this.viewportSegments=n.S.simpleSegment(0,0,4,2);let O=new n.a$;O.emplaceBack(0),O.emplaceBack(1),O.emplaceBack(3),O.emplaceBack(2),O.emplaceBack(0),this.tileBorderIndexBuffer=l.createIndexBuffer(O);let B=new n.b0;B.emplaceBack(0,1,2),B.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=l.createIndexBuffer(B);let U=this.context.gl;this.stencilClearMode=new Je({func:U.ALWAYS,mask:0},0,255,U.ZERO,U.ZERO,U.ZERO)}clearStencil(){let l=this.context,d=l.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let v=n.Z();n.aS(v,0,this.width,this.height,0,0,1),n.a0(v,v,[d.drawingBufferWidth,d.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(l,d.TRIANGLES,ci.disabled,this.stencilClearMode,Ji.disabled,It.disabled,Kt(v),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(l,d){if(this.currentStencilSource===l.source||!l.isTileClipped()||!d||!d.length)return;this.currentStencilSource=l.source;let v=this.context,b=v.gl;this.nextStencilID+d.length>256&&this.clearStencil(),v.setColorMode(Ji.disabled),v.setDepthMode(ci.disabled);let M=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let O of d){let B=this._tileClippingMaskIDs[O.key]=this.nextStencilID++,U=this.style.map.terrain&&this.style.map.terrain.getTerrainData(O);M.draw(v,b.TRIANGLES,ci.disabled,new Je({func:b.ALWAYS,mask:0},B,255,b.KEEP,b.KEEP,b.REPLACE),Ji.disabled,It.disabled,Kt(O.posMatrix),U,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let l=this.nextStencilID++,d=this.context.gl;return new Je({func:d.NOTEQUAL,mask:255},l,255,d.KEEP,d.KEEP,d.REPLACE)}stencilModeForClipping(l){let d=this.context.gl;return new Je({func:d.EQUAL,mask:255},this._tileClippingMaskIDs[l.key],0,d.KEEP,d.KEEP,d.REPLACE)}stencilConfigForOverlap(l){let d=this.context.gl,v=l.sort((O,B)=>B.overscaledZ-O.overscaledZ),b=v[v.length-1].overscaledZ,M=v[0].overscaledZ-b+1;if(M>1){this.currentStencilSource=void 0,this.nextStencilID+M>256&&this.clearStencil();let O={};for(let B=0;B=0;this.currentLayer--){let U=this.style._layers[v[this.currentLayer]],W=b[U.source],Z=M[U.source];this._renderTileClippingMasks(U,Z),this.renderLayer(this,W,U,Z)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerdt.source&&!dt.isHidden(Z)?[W.sourceCaches[dt.source]]:[]),At=st.filter(dt=>dt.getSource().type===\"vector\"),pt=st.filter(dt=>dt.getSource().type!==\"vector\"),yt=dt=>{(!$||$.getSource().maxzoomyt(dt)),$||pt.forEach(dt=>yt(dt)),$}(this.style,this.transform.zoom);U&&function(W,Z,$){for(let st=0;st<$.length;st++)i0(W,Z,$[st])}(this,U,U.getVisibleCoordinates())}this.options.showPadding&&function(U){let W=U.transform.padding;Cd(U,U.transform.height-(W.top||0),3,d_),Cd(U,W.bottom||0,3,yf),$p(U,W.left||0,3,Ba),$p(U,U.transform.width-(W.right||0),3,Wn);let Z=U.transform.centerPoint;(function($,st,At,pt){Xp($,st-1,At-10,2,20,pt),Xp($,st-10,At-1,20,2,pt)})(U,Z.x,U.transform.height-Z.y,p_)}(this),this.context.setDefault()}renderLayer(l,d,v,b){if(!v.isHidden(this.transform.zoom)&&(v.type===\"background\"||v.type===\"custom\"||(b||[]).length))switch(this.id=v.id,v.type){case\"symbol\":(function(M,O,B,U,W){if(M.renderPass!==\"translucent\")return;let Z=Je.disabled,$=M.colorModeForRenderPass();(B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(st,At,pt,yt,dt,Ft,Ht){let St=At.transform,Bt=dt===\"map\",Qt=Ft===\"map\";for(let $t of st){let oe=yt.getTile($t),pe=oe.getBucket(pt);if(!pe||!pe.text||!pe.text.segments.get().length)continue;let he=n.ah(pe.textSizeData,St.zoom),be=Dt(oe,1,At.transform.zoom),Ze=ve($t.posMatrix,Qt,Bt,At.transform,be),Kr=pt.layout.get(\"icon-text-fit\")!==\"none\"&&pe.hasIconData();if(he){let Ee=Math.pow(2,St.zoom-oe.tileID.overscaledZ);Qp(pe,Bt,Qt,Ht,St,Ze,$t.posMatrix,Ee,he,Kr,At.style.map.terrain?(pr,tr)=>At.style.map.terrain.getElevation($t,pr,tr):null)}}}(U,M,B,O,B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),W),B.paint.get(\"icon-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!1,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),B.layout.get(\"icon-rotation-alignment\"),B.layout.get(\"icon-pitch-alignment\"),B.layout.get(\"icon-keep-upright\"),Z,$),B.paint.get(\"text-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!0,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),B.layout.get(\"text-keep-upright\"),Z,$),O.map.showCollisionBoxes&&(Km(M,O,B,U,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),!0),Km(M,O,B,U,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),!1))})(l,d,v,b,this.style.placement.variableOffsets);break;case\"circle\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"circle-opacity\"),Z=B.paint.get(\"circle-stroke-width\"),$=B.paint.get(\"circle-stroke-opacity\"),st=!B.layout.get(\"circle-sort-key\").isConstant();if(W.constantOr(1)===0&&(Z.constantOr(1)===0||$.constantOr(1)===0))return;let At=M.context,pt=At.gl,yt=M.depthModeForSublayer(0,ci.ReadOnly),dt=Je.disabled,Ft=M.colorModeForRenderPass(),Ht=[];for(let St=0;StSt.sortKey-Bt.sortKey);for(let St of Ht){let{programConfiguration:Bt,program:Qt,layoutVertexBuffer:$t,indexBuffer:oe,uniformValues:pe,terrainData:he}=St.state;Qt.draw(At,pt.TRIANGLES,yt,dt,Ft,It.disabled,pe,he,B.id,$t,oe,St.segments,B.paint,M.transform.zoom,Bt)}})(l,d,v,b);break;case\"heatmap\":(function(M,O,B,U){if(B.paint.get(\"heatmap-opacity\")!==0)if(M.renderPass===\"offscreen\"){let W=M.context,Z=W.gl,$=Je.disabled,st=new Ji([Z.ONE,Z.ONE],n.aT.transparent,[!0,!0,!0,!0]);(function(At,pt,yt){let dt=At.gl;At.activeTexture.set(dt.TEXTURE1),At.viewport.set([0,0,pt.width/4,pt.height/4]);let Ft=yt.heatmapFbo;if(Ft)dt.bindTexture(dt.TEXTURE_2D,Ft.colorAttachment.get()),At.bindFramebuffer.set(Ft.framebuffer);else{let Ht=dt.createTexture();dt.bindTexture(dt.TEXTURE_2D,Ht),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_S,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_T,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MIN_FILTER,dt.LINEAR),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MAG_FILTER,dt.LINEAR),Ft=yt.heatmapFbo=At.createFramebuffer(pt.width/4,pt.height/4,!1,!1),function(St,Bt,Qt,$t){var oe,pe;let he=St.gl,be=(oe=St.HALF_FLOAT)!==null&&oe!==void 0?oe:he.UNSIGNED_BYTE,Ze=(pe=St.RGBA16F)!==null&&pe!==void 0?pe:he.RGBA;he.texImage2D(he.TEXTURE_2D,0,Ze,Bt.width/4,Bt.height/4,0,he.RGBA,be,null),$t.colorAttachment.set(Qt)}(At,pt,Ht,Ft)}})(W,M,B),W.clear({color:n.aT.transparent});for(let At=0;At{let St=n.Z();n.aS(St,0,yt.width,yt.height,0,0,1);let Bt=yt.context.gl;return{u_matrix:St,u_world:[Bt.drawingBufferWidth,Bt.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:dt.paint.get(\"heatmap-opacity\")}})(W,Z),null,Z.id,W.viewportBuffer,W.quadTriangleIndexBuffer,W.viewportSegments,Z.paint,W.transform.zoom)}(M,B))})(l,d,v,b);break;case\"line\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"line-opacity\"),Z=B.paint.get(\"line-width\");if(W.constantOr(1)===0||Z.constantOr(1)===0)return;let $=M.depthModeForSublayer(0,ci.ReadOnly),st=M.colorModeForRenderPass(),At=B.paint.get(\"line-dasharray\"),pt=B.paint.get(\"line-pattern\"),yt=pt.constantOr(1),dt=B.paint.get(\"line-gradient\"),Ft=B.getCrossfadeParameters(),Ht=yt?\"linePattern\":At?\"lineSDF\":dt?\"lineGradient\":\"line\",St=M.context,Bt=St.gl,Qt=!0;for(let $t of U){let oe=O.getTile($t);if(yt&&!oe.patternsLoaded())continue;let pe=oe.getBucket(B);if(!pe)continue;let he=pe.programConfigurations.get(B.id),be=M.context.program.get(),Ze=M.useProgram(Ht,he),Kr=Qt||Ze.program!==be,Ee=M.style.map.terrain&&M.style.map.terrain.getTerrainData($t),pr=pt.constantOr(null);if(pr&&oe.imageAtlas){let Jr=oe.imageAtlas,Vr=Jr.patternPositions[pr.to.toString()],ei=Jr.patternPositions[pr.from.toString()];Vr&&ei&&he.setConstantPatternPositions(Vr,ei)}let tr=Ee?$t:null,Gi=yt?Ts(M,oe,B,Ft,tr):At?Vs(M,oe,B,At,Ft,tr):dt?is(M,oe,B,pe.lineClipsArray.length,tr):ti(M,oe,B,tr);if(yt)St.activeTexture.set(Bt.TEXTURE0),oe.imageAtlasTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE),he.updatePaintBuffers(Ft);else if(At&&(Kr||M.lineAtlas.dirty))St.activeTexture.set(Bt.TEXTURE0),M.lineAtlas.bind(St);else if(dt){let Jr=pe.gradients[B.id],Vr=Jr.texture;if(B.gradientVersion!==Jr.version){let ei=256;if(B.stepInterpolant){let On=O.getSource().maxzoom,tn=$t.canonical.z===On?Math.ceil(1<0?d.pop():null}isPatternMissing(l){if(!l)return!1;if(!l.from||!l.to)return!0;let d=this.imageManager.getPattern(l.from.toString()),v=this.imageManager.getPattern(l.to.toString());return!d||!v}useProgram(l,d){this.cache=this.cache||{};let v=l+(d?d.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[v]||(this.cache[v]=new pu(this.context,Ki[l],d,Wm[l],this._showOverdrawInspector,this.style.map.terrain)),this.cache[v]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let l=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(l.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new qt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:l,drawingBufferHeight:d}=this.context.gl;return this.width!==l||this.height!==d}}class fi{constructor(l,d){this.points=l,this.planes=d}static fromInvProjectionMatrix(l,d,v){let b=Math.pow(2,v),M=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(B=>{let U=1/(B=n.ag([],B,l))[3]/d*b;return n.b3(B,B,[U,U,1/B[3],U])}),O=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(B=>{let U=function(st,At){var pt=At[0],yt=At[1],dt=At[2],Ft=pt*pt+yt*yt+dt*dt;return Ft>0&&(Ft=1/Math.sqrt(Ft)),st[0]=At[0]*Ft,st[1]=At[1]*Ft,st[2]=At[2]*Ft,st}([],function(st,At,pt){var yt=At[0],dt=At[1],Ft=At[2],Ht=pt[0],St=pt[1],Bt=pt[2];return st[0]=dt*Bt-Ft*St,st[1]=Ft*Ht-yt*Bt,st[2]=yt*St-dt*Ht,st}([],ut([],M[B[0]],M[B[1]]),ut([],M[B[2]],M[B[1]]))),W=-((Z=U)[0]*($=M[B[1]])[0]+Z[1]*$[1]+Z[2]*$[2]);var Z,$;return U.concat(W)});return new fi(M,O)}}class mu{constructor(l,d){this.min=l,this.max=d,this.center=function(v,b,M){return v[0]=.5*b[0],v[1]=.5*b[1],v[2]=.5*b[2],v}([],function(v,b,M){return v[0]=b[0]+M[0],v[1]=b[1]+M[1],v[2]=b[2]+M[2],v}([],this.min,this.max))}quadrant(l){let d=[l%2==0,l<2],v=K(this.min),b=K(this.max);for(let M=0;M=0&&O++;if(O===0)return 0;O!==d.length&&(v=!1)}if(v)return 2;for(let b=0;b<3;b++){let M=Number.MAX_VALUE,O=-Number.MAX_VALUE;for(let B=0;Bthis.max[b]-this.min[b])return 0}return 1}}class vf{constructor(l=0,d=0,v=0,b=0){if(isNaN(l)||l<0||isNaN(d)||d<0||isNaN(v)||v<0||isNaN(b)||b<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=l,this.bottom=d,this.left=v,this.right=b}interpolate(l,d,v){return d.top!=null&&l.top!=null&&(this.top=n.B.number(l.top,d.top,v)),d.bottom!=null&&l.bottom!=null&&(this.bottom=n.B.number(l.bottom,d.bottom,v)),d.left!=null&&l.left!=null&&(this.left=n.B.number(l.left,d.left,v)),d.right!=null&&l.right!=null&&(this.right=n.B.number(l.right,d.right,v)),this}getCenter(l,d){let v=n.ad((this.left+l-this.right)/2,0,l),b=n.ad((this.top+d-this.bottom)/2,0,d);return new n.P(v,b)}equals(l){return this.top===l.top&&this.bottom===l.bottom&&this.left===l.left&&this.right===l.right}clone(){return new vf(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class Kp{constructor(l,d,v,b,M){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=M===void 0||!!M,this._minZoom=l||0,this._maxZoom=d||22,this._minPitch=v??0,this._maxPitch=b??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new n.L(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new vf,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){let l=new Kp(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return l.apply(this),l}apply(l){this.tileSize=l.tileSize,this.latRange=l.latRange,this.width=l.width,this.height=l.height,this._center=l._center,this._elevation=l._elevation,this._minEleveationForCurrentTile=l._minEleveationForCurrentTile,this.zoom=l.zoom,this.angle=l.angle,this._fov=l._fov,this._pitch=l._pitch,this._unmodified=l._unmodified,this._edgeInsets=l._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(l){this._minZoom!==l&&(this._minZoom=l,this.zoom=Math.max(this.zoom,l))}get maxZoom(){return this._maxZoom}set maxZoom(l){this._maxZoom!==l&&(this._maxZoom=l,this.zoom=Math.min(this.zoom,l))}get minPitch(){return this._minPitch}set minPitch(l){this._minPitch!==l&&(this._minPitch=l,this.pitch=Math.max(this.pitch,l))}get maxPitch(){return this._maxPitch}set maxPitch(l){this._maxPitch!==l&&(this._maxPitch=l,this.pitch=Math.min(this.pitch,l))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(l){l===void 0?l=!0:l===null&&(l=!1),this._renderWorldCopies=l}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new n.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(l){let d=-n.b5(l,-180,180)*Math.PI/180;this.angle!==d&&(this._unmodified=!1,this.angle=d,this._calcMatrices(),this.rotationMatrix=function(){var v=new n.A(4);return n.A!=Float32Array&&(v[1]=0,v[2]=0),v[0]=1,v[3]=1,v}(),function(v,b,M){var O=b[0],B=b[1],U=b[2],W=b[3],Z=Math.sin(M),$=Math.cos(M);v[0]=O*$+U*Z,v[1]=B*$+W*Z,v[2]=O*-Z+U*$,v[3]=B*-Z+W*$}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(l){let d=n.ad(l,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==d&&(this._unmodified=!1,this._pitch=d,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(l){l=Math.max(.01,Math.min(60,l)),this._fov!==l&&(this._unmodified=!1,this._fov=l/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(l){let d=Math.min(Math.max(l,this.minZoom),this.maxZoom);this._zoom!==d&&(this._unmodified=!1,this._zoom=d,this.tileZoom=Math.max(0,Math.floor(d)),this.scale=this.zoomScale(d),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(l){l.lat===this._center.lat&&l.lng===this._center.lng||(this._unmodified=!1,this._center=l,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(l){l!==this._elevation&&(this._elevation=l,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(l){this._edgeInsets.equals(l)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,l,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(l){return this._edgeInsets.equals(l)}interpolatePadding(l,d,v){this._unmodified=!1,this._edgeInsets.interpolate(l,d,v),this._constrain(),this._calcMatrices()}coveringZoomLevel(l){let d=(l.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/l.tileSize));return Math.max(0,d)}getVisibleUnwrappedCoordinates(l){let d=[new n.b6(0,l)];if(this._renderWorldCopies){let v=this.pointCoordinate(new n.P(0,0)),b=this.pointCoordinate(new n.P(this.width,0)),M=this.pointCoordinate(new n.P(this.width,this.height)),O=this.pointCoordinate(new n.P(0,this.height)),B=Math.floor(Math.min(v.x,b.x,M.x,O.x)),U=Math.floor(Math.max(v.x,b.x,M.x,O.x)),W=1;for(let Z=B-W;Z<=U+W;Z++)Z!==0&&d.push(new n.b6(Z,l))}return d}coveringTiles(l){var d,v;let b=this.coveringZoomLevel(l),M=b;if(l.minzoom!==void 0&&bl.maxzoom&&(b=l.maxzoom);let O=this.pointCoordinate(this.getCameraPoint()),B=n.U.fromLngLat(this.center),U=Math.pow(2,b),W=[U*O.x,U*O.y,0],Z=[U*B.x,U*B.y,0],$=fi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,b),st=l.minzoom||0;!l.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(st=b);let At=l.terrain?2/Math.min(this.tileSize,l.tileSize)*this.tileSize:3,pt=St=>({aabb:new mu([St*U,0,0],[(St+1)*U,U,0]),zoom:0,x:0,y:0,wrap:St,fullyVisible:!1}),yt=[],dt=[],Ft=b,Ht=l.reparseOverscaled?M:b;if(this._renderWorldCopies)for(let St=1;St<=3;St++)yt.push(pt(-St)),yt.push(pt(St));for(yt.push(pt(0));yt.length>0;){let St=yt.pop(),Bt=St.x,Qt=St.y,$t=St.fullyVisible;if(!$t){let Ze=St.aabb.intersects($);if(Ze===0)continue;$t=Ze===2}let oe=l.terrain?W:Z,pe=St.aabb.distanceX(oe),he=St.aabb.distanceY(oe),be=Math.max(Math.abs(pe),Math.abs(he));if(St.zoom===Ft||be>At+(1<=st){let Ze=Ft-St.zoom,Kr=W[0]-.5-(Bt<>1),pr=St.zoom+1,tr=St.aabb.quadrant(Ze);if(l.terrain){let Gi=new n.O(pr,St.wrap,pr,Kr,Ee),Jr=l.terrain.getMinMaxElevation(Gi),Vr=(d=Jr.minElevation)!==null&&d!==void 0?d:this.elevation,ei=(v=Jr.maxElevation)!==null&&v!==void 0?v:this.elevation;tr=new mu([tr.min[0],tr.min[1],Vr],[tr.max[0],tr.max[1],ei])}yt.push({aabb:tr,zoom:pr,x:Kr,y:Ee,wrap:St.wrap,fullyVisible:$t})}}return dt.sort((St,Bt)=>St.distanceSq-Bt.distanceSq).map(St=>St.tileID)}resize(l,d){this.width=l,this.height=d,this.pixelsToGLUnits=[2/l,-2/d],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(l){return Math.pow(2,l)}scaleZoom(l){return Math.log(l)/Math.LN2}project(l){let d=n.ad(l.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.P(n.G(l.lng)*this.worldSize,n.H(d)*this.worldSize)}unproject(l){return new n.U(l.x/this.worldSize,l.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(l){let d=this.pointLocation(this.centerPoint,l),v=l.getElevationForLngLatZoom(d,this.tileZoom);if(!(this.elevation-v))return;let b=this.getCameraPosition(),M=n.U.fromLngLat(b.lngLat,b.altitude),O=n.U.fromLngLat(d,v),B=M.x-O.x,U=M.y-O.y,W=M.z-O.z,Z=Math.sqrt(B*B+U*U+W*W),$=this.scaleZoom(this.cameraToCenterDistance/Z/this.tileSize);this._elevation=v,this._center=d,this.zoom=$}setLocationAtPoint(l,d){let v=this.pointCoordinate(d),b=this.pointCoordinate(this.centerPoint),M=this.locationCoordinate(l),O=new n.U(M.x-(v.x-b.x),M.y-(v.y-b.y));this.center=this.coordinateLocation(O),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(l,d){return d?this.coordinatePoint(this.locationCoordinate(l),d.getElevationForLngLatZoom(l,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(l))}pointLocation(l,d){return this.coordinateLocation(this.pointCoordinate(l,d))}locationCoordinate(l){return n.U.fromLngLat(l)}coordinateLocation(l){return l&&l.toLngLat()}pointCoordinate(l,d){if(d){let st=d.pointCoordinate(l);if(st!=null)return st}let v=[l.x,l.y,0,1],b=[l.x,l.y,1,1];n.ag(v,v,this.pixelMatrixInverse),n.ag(b,b,this.pixelMatrixInverse);let M=v[3],O=b[3],B=v[1]/M,U=b[1]/O,W=v[2]/M,Z=b[2]/O,$=W===Z?0:(0-W)/(Z-W);return new n.U(n.B.number(v[0]/M,b[0]/O,$)/this.worldSize,n.B.number(B,U,$)/this.worldSize)}coordinatePoint(l,d=0,v=this.pixelMatrix){let b=[l.x*this.worldSize,l.y*this.worldSize,d,1];return n.ag(b,b,v),new n.P(b[0]/b[3],b[1]/b[3])}getBounds(){let l=Math.max(0,this.height/2-this.getHorizon());return new Si().extend(this.pointLocation(new n.P(0,l))).extend(this.pointLocation(new n.P(this.width,l))).extend(this.pointLocation(new n.P(this.width,this.height))).extend(this.pointLocation(new n.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new Si([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(l){l?(this.lngRange=[l.getWest(),l.getEast()],this.latRange=[l.getSouth(),l.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(l,d=!1){let v=l.key,b=d?this._alignedPosMatrixCache:this._posMatrixCache;if(b[v])return b[v];let M=l.canonical,O=this.worldSize/this.zoomScale(M.z),B=M.x+Math.pow(2,M.z)*l.wrap,U=n.ao(new Float64Array(16));return n.$(U,U,[B*O,M.y*O,0]),n.a0(U,U,[O/n.N,O/n.N,1]),n.a1(U,d?this.alignedProjMatrix:this.projMatrix,U),b[v]=new Float32Array(U),b[v]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let l,d,v,b,M=-90,O=90,B=-180,U=180,W=this.size,Z=this._unmodified;if(this.latRange){let At=this.latRange;M=n.H(At[1])*this.worldSize,O=n.H(At[0])*this.worldSize,l=O-MO&&(b=O-pt)}if(this.lngRange){let At=(B+U)/2,pt=n.b5($.x,At-this.worldSize/2,At+this.worldSize/2),yt=W.x/2;pt-ytU&&(v=U-yt)}v===void 0&&b===void 0||(this.center=this.unproject(new n.P(v!==void 0?v:$.x,b!==void 0?b:$.y)).wrap()),this._unmodified=Z,this._constraining=!1}_calcMatrices(){if(!this.height)return;let l=this.centerOffset,d=this.point.x,v=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=n.b7(1,this.center.lat)*this.worldSize;let b=n.ao(new Float64Array(16));n.a0(b,b,[this.width/2,-this.height/2,1]),n.$(b,b,[1,-1,0]),this.labelPlaneMatrix=b,b=n.ao(new Float64Array(16)),n.a0(b,b,[1,-1,1]),n.$(b,b,[-1,-1,0]),n.a0(b,b,[2/this.width,2/this.height,1]),this.glCoordMatrix=b;let M=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),O=Math.min(this.elevation,this._minEleveationForCurrentTile),B=M-O*this._pixelPerMeter/Math.cos(this._pitch),U=O<0?B:M,W=Math.PI/2+this._pitch,Z=this._fov*(.5+l.y/this.height),$=Math.sin(Z)*U/Math.sin(n.ad(Math.PI-W-Z,.01,Math.PI-.01)),st=this.getHorizon(),At=2*Math.atan(st/this.cameraToCenterDistance)*(.5+l.y/(2*st)),pt=Math.sin(At)*U/Math.sin(n.ad(Math.PI-W-At,.01,Math.PI-.01)),yt=Math.min($,pt),dt=1.01*(Math.cos(Math.PI/2-this._pitch)*yt+U),Ft=this.height/50;b=new Float64Array(16),n.b8(b,this._fov,this.width/this.height,Ft,dt),b[8]=2*-l.x/this.width,b[9]=2*l.y/this.height,n.a0(b,b,[1,-1,1]),n.$(b,b,[0,0,-this.cameraToCenterDistance]),n.b9(b,b,this._pitch),n.ae(b,b,this.angle),n.$(b,b,[-d,-v,0]),this.mercatorMatrix=n.a0([],b,[this.worldSize,this.worldSize,this.worldSize]),n.a0(b,b,[1,1,this._pixelPerMeter]),this.pixelMatrix=n.a1(new Float64Array(16),this.labelPlaneMatrix,b),n.$(b,b,[0,0,-this.elevation]),this.projMatrix=b,this.invProjMatrix=n.as([],b),this.pixelMatrix3D=n.a1(new Float64Array(16),this.labelPlaneMatrix,b);let Ht=this.width%2/2,St=this.height%2/2,Bt=Math.cos(this.angle),Qt=Math.sin(this.angle),$t=d-Math.round(d)+Bt*Ht+Qt*St,oe=v-Math.round(v)+Bt*St+Qt*Ht,pe=new Float64Array(b);if(n.$(pe,pe,[$t>.5?$t-1:$t,oe>.5?oe-1:oe,0]),this.alignedProjMatrix=pe,b=n.as(new Float64Array(16),this.pixelMatrix),!b)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=b,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let l=this.pointCoordinate(new n.P(0,0)),d=[l.x*this.worldSize,l.y*this.worldSize,0,1];return n.ag(d,d,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let l=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.P(0,l))}getCameraQueryGeometry(l){let d=this.getCameraPoint();if(l.length===1)return[l[0],d];{let v=d.x,b=d.y,M=d.x,O=d.y;for(let B of l)v=Math.min(v,B.x),b=Math.min(b,B.y),M=Math.max(M,B.x),O=Math.max(O,B.y);return[new n.P(v,b),new n.P(M,b),new n.P(M,O),new n.P(v,O),new n.P(v,b)]}}}function lh(T,l){let d,v=!1,b=null,M=null,O=()=>{b=null,v&&(T.apply(M,d),b=setTimeout(O,l),v=!1)};return(...B)=>(v=!0,M=this,d=B,b||O(),b)}class Ld{constructor(l){this._getCurrentHash=()=>{let d=window.location.hash.replace(\"#\",\"\");if(this._hashName){let v;return d.split(\"&\").map(b=>b.split(\"=\")).forEach(b=>{b[0]===this._hashName&&(v=b)}),(v&&v[1]||\"\").split(\"/\")}return d.split(\"/\")},this._onHashChange=()=>{let d=this._getCurrentHash();if(d.length>=3&&!d.some(v=>isNaN(v))){let v=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(d[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+d[2],+d[1]],zoom:+d[0],bearing:v,pitch:+(d[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let d=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,d)}catch{}},this._updateHash=lh(this._updateHashUnthrottled,300),this._hashName=l&&encodeURIComponent(l)}addTo(l){return this._map=l,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(l){let d=this._map.getCenter(),v=Math.round(100*this._map.getZoom())/100,b=Math.ceil((v*Math.LN2+Math.log(512/360/.5))/Math.LN10),M=Math.pow(10,b),O=Math.round(d.lng*M)/M,B=Math.round(d.lat*M)/M,U=this._map.getBearing(),W=this._map.getPitch(),Z=\"\";if(Z+=l?`/${O}/${B}/${v}`:`${v}/${B}/${O}`,(U||W)&&(Z+=\"/\"+Math.round(10*U)/10),W&&(Z+=`/${Math.round(W)}`),this._hashName){let $=this._hashName,st=!1,At=window.location.hash.slice(1).split(\"&\").map(pt=>{let yt=pt.split(\"=\")[0];return yt===$?(st=!0,`${yt}=${Z}`):pt}).filter(pt=>pt);return st||At.push(`${$}=${Z}`),`#${At.join(\"&\")}`}return`#${Z}`}}let ch={linearity:.3,easing:n.ba(0,0,.3,1)},Jp=n.e({deceleration:2500,maxSpeed:1400},ch),tA=n.e({deceleration:20,maxSpeed:1400},ch),A_=n.e({deceleration:1e3,maxSpeed:360},ch),m_=n.e({deceleration:1e3,maxSpeed:90},ch);class n0{constructor(l){this._map=l,this.clear()}clear(){this._inertiaBuffer=[]}record(l){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.h.now(),settings:l})}_drainInertiaBuffer(){let l=this._inertiaBuffer,d=n.h.now();for(;l.length>0&&d-l[0].time>160;)l.shift()}_onMoveEnd(l){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let d={zoom:0,bearing:0,pitch:0,pan:new n.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:M}of this._inertiaBuffer)d.zoom+=M.zoomDelta||0,d.bearing+=M.bearingDelta||0,d.pitch+=M.pitchDelta||0,M.panDelta&&d.pan._add(M.panDelta),M.around&&(d.around=M.around),M.pinchAround&&(d.pinchAround=M.pinchAround);let v=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,b={};if(d.pan.mag()){let M=uh(d.pan.mag(),v,n.e({},Jp,l||{}));b.offset=d.pan.mult(M.amount/d.pan.mag()),b.center=this._map.transform.center,pl(b,M)}if(d.zoom){let M=uh(d.zoom,v,tA);b.zoom=this._map.transform.zoom+M.amount,pl(b,M)}if(d.bearing){let M=uh(d.bearing,v,A_);b.bearing=this._map.transform.bearing+n.ad(M.amount,-179,179),pl(b,M)}if(d.pitch){let M=uh(d.pitch,v,m_);b.pitch=this._map.transform.pitch+M.amount,pl(b,M)}if(b.zoom||b.bearing){let M=d.pinchAround===void 0?d.around:d.pinchAround;b.around=M?this._map.unproject(M):this._map.getCenter()}return this.clear(),n.e(b,{noMoveStart:!0})}}function pl(T,l){(!T.duration||T.durationd.unproject(U)),B=M.reduce((U,W,Z,$)=>U.add(W.div($.length)),new n.P(0,0));super(l,{points:M,point:B,lngLats:O,lngLat:d.unproject(B),originalEvent:v}),this._defaultPrevented=!1}}class g_ extends n.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(l,d,v){super(l,{originalEvent:v}),this._defaultPrevented=!1}}class js{constructor(l,d){this._map=l,this._clickTolerance=d.clickTolerance}reset(){delete this._mousedownPos}wheel(l){return this._firePreventable(new g_(l.type,this._map,l))}mousedown(l,d){return this._mousedownPos=d,this._firePreventable(new la(l.type,this._map,l))}mouseup(l){this._map.fire(new la(l.type,this._map,l))}click(l,d){this._mousedownPos&&this._mousedownPos.dist(d)>=this._clickTolerance||this._map.fire(new la(l.type,this._map,l))}dblclick(l){return this._firePreventable(new la(l.type,this._map,l))}mouseover(l){this._map.fire(new la(l.type,this._map,l))}mouseout(l){this._map.fire(new la(l.type,this._map,l))}touchstart(l){return this._firePreventable(new kd(l.type,this._map,l))}touchmove(l){this._map.fire(new kd(l.type,this._map,l))}touchend(l){this._map.fire(new kd(l.type,this._map,l))}touchcancel(l){this._map.fire(new kd(l.type,this._map,l))}_firePreventable(l){if(this._map.fire(l),l.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gu{constructor(l){this._map=l}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(l){this._map.fire(new la(l.type,this._map,l))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new la(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(l){this._delayContextMenu?this._contextMenuEvent=l:this._ignoreContextMenu||this._map.fire(new la(l.type,this._map,l)),this._map.listens(\"contextmenu\")&&l.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Ln{constructor(l){this._map=l}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(l){return this.transform.pointLocation(n.P.convert(l),this._map.terrain)}}class eA{constructor(l,d){this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._container=l.getContainer(),this._clickTolerance=d.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(l,d){this.isEnabled()&&l.shiftKey&&l.button===0&&(c.disableDrag(),this._startPos=this._lastPos=d,this._active=!0)}mousemoveWindow(l,d){if(!this._active)return;let v=d;if(this._lastPos.equals(v)||!this._box&&v.dist(this._startPos)M.fitScreenCoordinates(v,b,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",l)}keydown(l){this._active&&l.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",l))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(l,d){return this._map.fire(new n.k(l,{originalEvent:d}))}}function ca(T,l){if(T.length!==l.length)throw new Error(`The number of touches and points are not equal - touches ${T.length}, points ${l.length}`);let d={};for(let v=0;vthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=l.timeStamp),v.length===this.numTouches&&(this.centroid=function(b){let M=new n.P(0,0);for(let O of b)M._add(O);return M.div(b.length)}(d),this.touches=ca(v,d)))}touchmove(l,d,v){if(this.aborted||!this.centroid)return;let b=ca(v,d);for(let M in this.touches){let O=b[M];(!O||O.dist(this.touches[M])>30)&&(this.aborted=!0)}}touchend(l,d,v){if((!this.centroid||l.timeStamp-this.startTime>500)&&(this.aborted=!0),v.length===0){let b=!this.aborted&&this.centroid;if(this.reset(),b)return b}}}class Rd{constructor(l){this.singleTap=new Fa(l),this.numTaps=l.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(l,d,v){this.singleTap.touchstart(l,d,v)}touchmove(l,d,v){this.singleTap.touchmove(l,d,v)}touchend(l,d,v){let b=this.singleTap.touchend(l,d,v);if(b){let M=l.timeStamp-this.lastTime<500,O=!this.lastTap||this.lastTap.dist(b)<30;if(M&&O||this.reset(),this.count++,this.lastTime=l.timeStamp,this.lastTap=b,this.count===this.numTaps)return this.reset(),b}}}class Al{constructor(l){this._tr=new Ln(l),this._zoomIn=new Rd({numTouches:1,numTaps:2}),this._zoomOut=new Rd({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(l,d,v){this._zoomIn.touchstart(l,d,v),this._zoomOut.touchstart(l,d,v)}touchmove(l,d,v){this._zoomIn.touchmove(l,d,v),this._zoomOut.touchmove(l,d,v)}touchend(l,d,v){let b=this._zoomIn.touchend(l,d,v),M=this._zoomOut.touchend(l,d,v),O=this._tr;return b?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom+1,around:O.unproject(b)},{originalEvent:l})}):M?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom-1,around:O.unproject(M)},{originalEvent:l})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class za{constructor(l){this._enabled=!!l.enable,this._moveStateManager=l.moveStateManager,this._clickTolerance=l.clickTolerance||1,this._moveFunction=l.move,this._activateOnStart=!!l.activateOnStart,l.assignEvents(this),this.reset()}reset(l){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(l)}_move(...l){let d=this._moveFunction(...l);if(d.bearingDelta||d.pitchDelta||d.around||d.panDelta)return this._active=!0,d}dragStart(l,d){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(l)&&(this._moveStateManager.startMove(l),this._lastPoint=d.length?d[0]:d,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(l,d){if(!this.isEnabled())return;let v=this._lastPoint;if(!v)return;if(l.preventDefault(),!this._moveStateManager.isValidMoveEvent(l))return void this.reset(l);let b=d.length?d[0]:d;return!this._moved&&b.dist(v){T.mousedown=T.dragStart,T.mousemoveWindow=T.dragMove,T.mouseup=T.dragEnd,T.contextmenu=function(l){l.preventDefault()}},Na=({enable:T,clickTolerance:l,bearingDegreesPerPixelMoved:d=.8})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({bearingDelta:(M.x-b.x)*d}),moveStateManager:v,enable:T,assignEvents:fh})},co=({enable:T,clickTolerance:l,pitchDegreesPerPixelMoved:d=-.5})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({pitchDelta:(M.y-b.y)*d}),moveStateManager:v,enable:T,assignEvents:fh})};class Ge{constructor(l,d){this._minTouches=l.cooperativeGestures?2:1,this._clickTolerance=l.clickTolerance||1,this._map=d,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new n.P(0,0),setTimeout(()=>{this._cancelCooperativeMessage=!1},200)}touchstart(l,d,v){return this._calculateTransform(l,d,v)}touchmove(l,d,v){if(this._map._cooperativeGestures&&(this._minTouches===2&&v.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(l,!1,v.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(v.length0&&(this._active=!0);let b=ca(v,d),M=new n.P(0,0),O=new n.P(0,0),B=0;for(let W in b){let Z=b[W],$=this._touches[W];$&&(M._add(Z),O._add(Z.sub($)),B++,b[W]=Z)}if(this._touches=b,BMath.abs(T.x)}class zx extends Dd{constructor(l){super(),this._map=l}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(l,d,v){super.touchstart(l,d,v),this._currentTouchCount=v.length}_start(l){this._lastPoints=l,a0(l[0].sub(l[1]))&&(this._valid=!1)}_move(l,d,v){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;let b=l[0].sub(this._lastPoints[0]),M=l[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(b,M,v.timeStamp),this._valid?(this._lastPoints=l,this._active=!0,{pitchDelta:(b.y+M.y)/2*-.5}):void 0}gestureBeginsVertically(l,d,v){if(this._valid!==void 0)return this._valid;let b=l.mag()>=2,M=d.mag()>=2;if(!b&&!M)return;if(!b||!M)return this._firstMove===void 0&&(this._firstMove=v),v-this._firstMove<100&&void 0;let O=l.y>0==d.y>0;return a0(l)&&a0(d)&&O}}let dh={panStep:100,bearingStep:15,pitchStep:10};class y_{constructor(l){this._tr=new Ln(l);let d=dh;this._panStep=d.panStep,this._bearingStep=d.bearingStep,this._pitchStep=d.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(l){if(l.altKey||l.ctrlKey||l.metaKey)return;let d=0,v=0,b=0,M=0,O=0;switch(l.keyCode){case 61:case 107:case 171:case 187:d=1;break;case 189:case 109:case 173:d=-1;break;case 37:l.shiftKey?v=-1:(l.preventDefault(),M=-1);break;case 39:l.shiftKey?v=1:(l.preventDefault(),M=1);break;case 38:l.shiftKey?b=1:(l.preventDefault(),O=-1);break;case 40:l.shiftKey?b=-1:(l.preventDefault(),O=1);break;default:return}return this._rotationDisabled&&(v=0,b=0),{cameraAnimation:B=>{let U=this._tr;B.easeTo({duration:300,easeId:\"keyboardHandler\",easing:l0,zoom:d?Math.round(U.zoom)+d*(l.shiftKey?2:1):U.zoom,bearing:U.bearing+v*this._bearingStep,pitch:U.pitch+b*this._pitchStep,offset:[-M*this._panStep,-O*this._panStep],center:U.center},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function l0(T){return T*(2-T)}let c0=4.000244140625;class bf{constructor(l,d){this._onTimeout=v=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(v)},this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._triggerRenderFrame=d,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(l){this._defaultZoomRate=l}setWheelZoomRate(l){this._wheelZoomRate=l}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(l){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!l&&l.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(l){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!l[this._map._metaKey])return;l.preventDefault()}let d=l.deltaMode===WheelEvent.DOM_DELTA_LINE?40*l.deltaY:l.deltaY,v=n.h.now(),b=v-(this._lastWheelEventTime||0);this._lastWheelEventTime=v,d!==0&&d%c0==0?this._type=\"wheel\":d!==0&&Math.abs(d)<4?this._type=\"trackpad\":b>400?(this._type=null,this._lastValue=d,this._timeout=setTimeout(this._onTimeout,40,l)):this._type||(this._type=Math.abs(b*d)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,d+=this._lastValue)),l.shiftKey&&d&&(d/=4),this._type&&(this._lastWheelEvent=l,this._delta-=d,this._active||this._start(l)),l.preventDefault()}_start(l){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let d=c.mousePos(this._el,l),v=this._tr;this._around=n.L.convert(this._aroundCenter?v.center:v.unproject(d)),this._aroundPoint=v.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let l=this._tr.transform;if(this._delta!==0){let B=this._type===\"wheel\"&&Math.abs(this._delta)>c0?this._wheelZoomRate:this._defaultZoomRate,U=2/(1+Math.exp(-Math.abs(this._delta*B)));this._delta<0&&U!==0&&(U=1/U);let W=typeof this._targetZoom==\"number\"?l.zoomScale(this._targetZoom):l.scale;this._targetZoom=Math.min(l.maxZoom,Math.max(l.minZoom,l.scaleZoom(W*U))),this._type===\"wheel\"&&(this._startZoom=l.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let d=typeof this._targetZoom==\"number\"?this._targetZoom:l.zoom,v=this._startZoom,b=this._easing,M,O=!1;if(this._type===\"wheel\"&&v&&b){let B=Math.min((n.h.now()-this._lastWheelEventTime)/200,1),U=b(B);M=n.B.number(v,d,U),B<1?this._frameId||(this._frameId=!0):O=!0}else M=d,O=!0;return this._active=!0,O&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!O,zoomDelta:M-l.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(l){let d=n.bb;if(this._prevEase){let v=this._prevEase,b=(n.h.now()-v.start)/v.duration,M=v.easing(b+.01)-v.easing(b),O=.27/Math.sqrt(M*M+1e-4)*.01,B=Math.sqrt(.0729-O*O);d=n.ba(O,B,.25,1)}return this._prevEase={start:n.h.now(),duration:l,easing:d},d}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class u0{constructor(l,d){this._clickZoom=l,this._tapZoom=d}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class iA{constructor(l){this._tr=new Ln(l),this.reset()}reset(){this._active=!1}dblclick(l,d){return l.preventDefault(),{cameraAnimation:v=>{v.easeTo({duration:300,zoom:this._tr.zoom+(l.shiftKey?-1:1),around:this._tr.unproject(d)},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nA{constructor(){this._tap=new Rd({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(l,d,v){if(!this._swipePoint)if(this._tapTime){let b=d[0],M=l.timeStamp-this._tapTime<500,O=this._tapPoint.dist(b)<30;M&&O?v.length>0&&(this._swipePoint=b,this._swipeTouch=v[0].identifier):this.reset()}else this._tap.touchstart(l,d,v)}touchmove(l,d,v){if(this._tapTime){if(this._swipePoint){if(v[0].identifier!==this._swipeTouch)return;let b=d[0],M=b.y-this._swipePoint.y;return this._swipePoint=b,l.preventDefault(),this._active=!0,{zoomDelta:M/128}}}else this._tap.touchmove(l,d,v)}touchend(l,d,v){if(this._tapTime)this._swipePoint&&v.length===0&&this.reset();else{let b=this._tap.touchend(l,d,v);b&&(this._tapTime=l.timeStamp,this._tapPoint=b)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ph{constructor(l,d,v){this._el=l,this._mousePan=d,this._touchPan=v}enable(l){this._inertiaOptions=l||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class us{constructor(l,d,v){this._pitchWithRotate=l.pitchWithRotate,this._mouseRotate=d,this._mousePitch=v}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class _u{constructor(l,d,v,b){this._el=l,this._touchZoom=d,this._touchRotate=v,this._tapDragZoom=b,this._rotationDisabled=!1,this._enabled=!0}enable(l){this._touchZoom.enable(l),this._rotationDisabled||this._touchRotate.enable(l),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}let Bc=T=>T.zoom||T.drag||T.pitch||T.rotate;class h0 extends n.k{}function Od(T){return T.panDelta&&T.panDelta.mag()||T.zoomDelta||T.bearingDelta||T.pitchDelta}class f0{constructor(l,d){this.handleWindowEvent=b=>{this.handleEvent(b,`${b.type}Window`)},this.handleEvent=(b,M)=>{if(b.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let O=b.type===\"renderFrame\"?void 0:b,B={needsRenderFrame:!1},U={},W={},Z=b.touches,$=Z?this._getMapTouches(Z):void 0,st=$?c.touchPos(this._el,$):c.mousePos(this._el,b);for(let{handlerName:yt,handler:dt,allowed:Ft}of this._handlers){if(!dt.isEnabled())continue;let Ht;this._blockedByActive(W,Ft,yt)?dt.reset():dt[M||b.type]&&(Ht=dt[M||b.type](b,st,$),this.mergeHandlerResult(B,U,Ht,yt,O),Ht&&Ht.needsRenderFrame&&this._triggerRenderFrame()),(Ht||dt.isActive())&&(W[yt]=dt)}let At={};for(let yt in this._previousActiveHandlers)W[yt]||(At[yt]=O);this._previousActiveHandlers=W,(Object.keys(At).length||Od(B))&&(this._changes.push([B,U,At]),this._triggerRenderFrame()),(Object.keys(W).length||Od(B))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:pt}=B;pt&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pt(this._map))},this._map=l,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new n0(l),this._bearingSnap=d.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(d);let v=this._el;this._listeners=[[v,\"touchstart\",{passive:!0}],[v,\"touchmove\",{passive:!1}],[v,\"touchend\",void 0],[v,\"touchcancel\",void 0],[v,\"mousedown\",void 0],[v,\"mousemove\",void 0],[v,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[v,\"mouseover\",void 0],[v,\"mouseout\",void 0],[v,\"dblclick\",void 0],[v,\"click\",void 0],[v,\"keydown\",{capture:!1}],[v,\"keyup\",void 0],[v,\"wheel\",{passive:!1}],[v,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[b,M,O]of this._listeners)c.addEventListener(b,M,b===document?this.handleWindowEvent:this.handleEvent,O)}destroy(){for(let[l,d,v]of this._listeners)c.removeEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,v)}_addDefaultHandlers(l){let d=this._map,v=d.getCanvasContainer();this._add(\"mapEvent\",new js(d,l));let b=d.boxZoom=new eA(d,l);this._add(\"boxZoom\",b),l.interactive&&l.boxZoom&&b.enable();let M=new Al(d),O=new iA(d);d.doubleClickZoom=new u0(O,M),this._add(\"tapZoom\",M),this._add(\"clickZoom\",O),l.interactive&&l.doubleClickZoom&&d.doubleClickZoom.enable();let B=new nA;this._add(\"tapDragZoom\",B);let U=d.touchPitch=new zx(d);this._add(\"touchPitch\",U),l.interactive&&l.touchPitch&&d.touchPitch.enable(l.touchPitch);let W=Na(l),Z=co(l);d.dragRotate=new us(l,W,Z),this._add(\"mouseRotate\",W,[\"mousePitch\"]),this._add(\"mousePitch\",Z,[\"mouseRotate\"]),l.interactive&&l.dragRotate&&d.dragRotate.enable();let $=(({enable:Ft,clickTolerance:Ht})=>{let St=new rA({checkCorrectEvent:Bt=>c.mouseButton(Bt)===0&&!Bt.ctrlKey});return new za({clickTolerance:Ht,move:(Bt,Qt)=>({around:Qt,panDelta:Qt.sub(Bt)}),activateOnStart:!0,moveStateManager:St,enable:Ft,assignEvents:fh})})(l),st=new Ge(l,d);d.dragPan=new ph(v,$,st),this._add(\"mousePan\",$),this._add(\"touchPan\",st,[\"touchZoom\",\"touchRotate\"]),l.interactive&&l.dragPan&&d.dragPan.enable(l.dragPan);let At=new o0,pt=new __;d.touchZoomRotate=new _u(v,pt,At,B),this._add(\"touchRotate\",At,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",pt,[\"touchPan\",\"touchRotate\"]),l.interactive&&l.touchZoomRotate&&d.touchZoomRotate.enable(l.touchZoomRotate);let yt=d.scrollZoom=new bf(d,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",yt,[\"mousePan\"]),l.interactive&&l.scrollZoom&&d.scrollZoom.enable(l.scrollZoom);let dt=d.keyboard=new y_(d);this._add(\"keyboard\",dt),l.interactive&&l.keyboard&&d.keyboard.enable(),this._add(\"blockableMapEvent\",new gu(d))}_add(l,d,v){this._handlers.push({handlerName:l,handler:d,allowed:v}),this._handlersById[l]=d}stop(l){if(!this._updatingCamera){for(let{handler:d}of this._handlers)d.reset();this._inertia.clear(),this._fireEvents({},{},l),this._changes=[]}}isActive(){for(let{handler:l}of this._handlers)if(l.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Bc(this._eventsInProgress)||this.isZooming()}_blockedByActive(l,d,v){for(let b in l)if(b!==v&&(!d||d.indexOf(b)<0))return!0;return!1}_getMapTouches(l){let d=[];for(let v of l)this._el.contains(v.target)&&d.push(v);return d}mergeHandlerResult(l,d,v,b,M){if(!v)return;n.e(l,v);let O={handlerName:b,originalEvent:v.originalEvent||M};v.zoomDelta!==void 0&&(d.zoom=O),v.panDelta!==void 0&&(d.drag=O),v.pitchDelta!==void 0&&(d.pitch=O),v.bearingDelta!==void 0&&(d.rotate=O)}_applyChanges(){let l={},d={},v={};for(let[b,M,O]of this._changes)b.panDelta&&(l.panDelta=(l.panDelta||new n.P(0,0))._add(b.panDelta)),b.zoomDelta&&(l.zoomDelta=(l.zoomDelta||0)+b.zoomDelta),b.bearingDelta&&(l.bearingDelta=(l.bearingDelta||0)+b.bearingDelta),b.pitchDelta&&(l.pitchDelta=(l.pitchDelta||0)+b.pitchDelta),b.around!==void 0&&(l.around=b.around),b.pinchAround!==void 0&&(l.pinchAround=b.pinchAround),b.noInertia&&(l.noInertia=b.noInertia),n.e(d,M),n.e(v,O);this._updateMapTransform(l,d,v),this._changes=[]}_updateMapTransform(l,d,v){let b=this._map,M=b._getTransformForUpdate(),O=b.terrain;if(!(Od(l)||O&&this._terrainMovement))return this._fireEvents(d,v,!0);let{panDelta:B,zoomDelta:U,bearingDelta:W,pitchDelta:Z,around:$,pinchAround:st}=l;st!==void 0&&($=st),b._stop(!0),$=$||b.transform.centerPoint;let At=M.pointLocation(B?$.sub(B):$);W&&(M.bearing+=W),Z&&(M.pitch+=Z),U&&(M.zoom+=U),O?this._terrainMovement||!d.drag&&!d.zoom?d.drag&&this._terrainMovement?M.center=M.pointLocation(M.centerPoint.sub(B)):M.setLocationAtPoint(At,$):(this._terrainMovement=!0,this._map._elevationFreeze=!0,M.setLocationAtPoint(At,$),this._map.once(\"moveend\",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,M.recalculateZoom(b.terrain)})):M.setLocationAtPoint(At,$),b._applyUpdatedTransform(M),this._map._update(),l.noInertia||this._inertia.record(l),this._fireEvents(d,v,!0)}_fireEvents(l,d,v){let b=Bc(this._eventsInProgress),M=Bc(l),O={};for(let Z in l){let{originalEvent:$}=l[Z];this._eventsInProgress[Z]||(O[`${Z}start`]=$),this._eventsInProgress[Z]=l[Z]}!b&&M&&this._fireEvent(\"movestart\",M.originalEvent);for(let Z in O)this._fireEvent(Z,O[Z]);M&&this._fireEvent(\"move\",M.originalEvent);for(let Z in l){let{originalEvent:$}=l[Z];this._fireEvent(Z,$)}let B={},U;for(let Z in this._eventsInProgress){let{handlerName:$,originalEvent:st}=this._eventsInProgress[Z];this._handlersById[$].isActive()||(delete this._eventsInProgress[Z],U=d[$]||st,B[`${Z}end`]=U)}for(let Z in B)this._fireEvent(Z,B[Z]);let W=Bc(this._eventsInProgress);if(v&&(b||M)&&!W){this._updatingCamera=!0;let Z=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),$=st=>st!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new h0(\"renderFrame\",{timeStamp:l})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class v_ extends n.E{constructor(l,d){super(),this._renderFrameCallback=()=>{let v=Math.min((n.h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(v)),v<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=l,this._bearingSnap=d.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new n.L(this.transform.center.lng,this.transform.center.lat)}setCenter(l,d){return this.jumpTo({center:l},d)}panBy(l,d,v){return l=n.P.convert(l).mult(-1),this.panTo(this.transform.center,n.e({offset:l},d),v)}panTo(l,d,v){return this.easeTo(n.e({center:l},d),v)}getZoom(){return this.transform.zoom}setZoom(l,d){return this.jumpTo({zoom:l},d),this}zoomTo(l,d,v){return this.easeTo(n.e({zoom:l},d),v)}zoomIn(l,d){return this.zoomTo(this.getZoom()+1,l,d),this}zoomOut(l,d){return this.zoomTo(this.getZoom()-1,l,d),this}getBearing(){return this.transform.bearing}setBearing(l,d){return this.jumpTo({bearing:l},d),this}getPadding(){return this.transform.padding}setPadding(l,d){return this.jumpTo({padding:l},d),this}rotateTo(l,d,v){return this.easeTo(n.e({bearing:l},d),v)}resetNorth(l,d){return this.rotateTo(0,n.e({duration:1e3},l),d),this}resetNorthPitch(l,d){return this.easeTo(n.e({bearing:0,pitch:0,duration:1e3},l),d),this}snapToNorth(l,d){return Math.abs(this.getBearing()){if(this._zooming&&(v.zoom=n.B.number(b,U,$t)),this._rotating&&(v.bearing=n.B.number(M,W,$t)),this._pitching&&(v.pitch=n.B.number(O,Z,$t)),this._padding&&(v.interpolatePadding(B,$,$t),At=v.centerPoint.add(st)),this.terrain&&!l.freezeElevation&&this._updateElevation($t),St)v.setLocationAtPoint(St,Bt);else{let oe=v.zoomScale(v.zoom-b),pe=U>b?Math.min(2,Ht):Math.max(.5,Ht),he=Math.pow(pe,1-$t),be=v.unproject(dt.add(Ft.mult($t*he)).mult(oe));v.setLocationAtPoint(v.renderWorldCopies?be.wrap():be,At)}this._applyUpdatedTransform(v),this._fireMoveEvents(d)},$t=>{this.terrain&&this._finalizeElevation(),this._afterEase(d,$t)},l),this}_prepareEase(l,d,v={}){this._moving=!0,d||v.moving||this.fire(new n.k(\"movestart\",l)),this._zooming&&!v.zooming&&this.fire(new n.k(\"zoomstart\",l)),this._rotating&&!v.rotating&&this.fire(new n.k(\"rotatestart\",l)),this._pitching&&!v.pitching&&this.fire(new n.k(\"pitchstart\",l))}_prepareElevation(l){this._elevationCenter=l,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(l,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(l){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let d=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(l<1&&d!==this._elevationTarget){let v=this._elevationTarget-this._elevationStart;this._elevationStart+=l*(v-(d-(v*l+this._elevationStart))/(1-l)),this._elevationTarget=d}this.transform.elevation=n.B.number(this._elevationStart,this._elevationTarget,l)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(l){if(!this.transformCameraUpdate)return;let d=l.clone(),{center:v,zoom:b,pitch:M,bearing:O,elevation:B}=this.transformCameraUpdate(d);v&&(d.center=v),b!==void 0&&(d.zoom=b),M!==void 0&&(d.pitch=M),O!==void 0&&(d.bearing=O),B!==void 0&&(d.elevation=B),this.transform.apply(d)}_fireMoveEvents(l){this.fire(new n.k(\"move\",l)),this._zooming&&this.fire(new n.k(\"zoom\",l)),this._rotating&&this.fire(new n.k(\"rotate\",l)),this._pitching&&this.fire(new n.k(\"pitch\",l))}_afterEase(l,d){if(this._easeId&&d&&this._easeId===d)return;delete this._easeId;let v=this._zooming,b=this._rotating,M=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,v&&this.fire(new n.k(\"zoomend\",l)),b&&this.fire(new n.k(\"rotateend\",l)),M&&this.fire(new n.k(\"pitchend\",l)),this.fire(new n.k(\"moveend\",l))}flyTo(l,d){if(!l.essential&&n.h.prefersReducedMotion){let tr=n.F(l,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(tr,d)}this.stop(),l=n.e({offset:[0,0],speed:1.2,curve:1.42,easing:n.bb},l);let v=this._getTransformForUpdate(),b=this.getZoom(),M=this.getBearing(),O=this.getPitch(),B=this.getPadding(),U=\"zoom\"in l?n.ad(+l.zoom,v.minZoom,v.maxZoom):b,W=\"bearing\"in l?this._normalizeBearing(l.bearing,M):M,Z=\"pitch\"in l?+l.pitch:O,$=\"padding\"in l?l.padding:v.padding,st=v.zoomScale(U-b),At=n.P.convert(l.offset),pt=v.centerPoint.add(At),yt=v.pointLocation(pt),dt=n.L.convert(l.center||yt);this._normalizeCenter(dt);let Ft=v.project(yt),Ht=v.project(dt).sub(Ft),St=l.curve,Bt=Math.max(v.width,v.height),Qt=Bt/st,$t=Ht.mag();if(\"minZoom\"in l){let tr=n.ad(Math.min(l.minZoom,b,U),v.minZoom,v.maxZoom),Gi=Bt/v.zoomScale(tr-b);St=Math.sqrt(Gi/$t*2)}let oe=St*St;function pe(tr){let Gi=(Qt*Qt-Bt*Bt+(tr?-1:1)*oe*oe*$t*$t)/(2*(tr?Qt:Bt)*oe*$t);return Math.log(Math.sqrt(Gi*Gi+1)-Gi)}function he(tr){return(Math.exp(tr)-Math.exp(-tr))/2}function be(tr){return(Math.exp(tr)+Math.exp(-tr))/2}let Ze=pe(!1),Kr=function(tr){return be(Ze)/be(Ze+St*tr)},Ee=function(tr){return Bt*((be(Ze)*(he(Gi=Ze+St*tr)/be(Gi))-he(Ze))/oe)/$t;var Gi},pr=(pe(!0)-Ze)/St;if(Math.abs($t)<1e-6||!isFinite(pr)){if(Math.abs(Bt-Qt)<1e-6)return this.easeTo(l,d);let tr=Qtl.maxDuration&&(l.duration=0),this._zooming=!0,this._rotating=M!==W,this._pitching=Z!==O,this._padding=!v.isPaddingEqual($),this._prepareEase(d,!1),this.terrain&&this._prepareElevation(dt),this._ease(tr=>{let Gi=tr*pr,Jr=1/Kr(Gi);v.zoom=tr===1?U:b+v.scaleZoom(Jr),this._rotating&&(v.bearing=n.B.number(M,W,tr)),this._pitching&&(v.pitch=n.B.number(O,Z,tr)),this._padding&&(v.interpolatePadding(B,$,tr),pt=v.centerPoint.add(At)),this.terrain&&!l.freezeElevation&&this._updateElevation(tr);let Vr=tr===1?dt:v.unproject(Ft.add(Ht.mult(Ee(Gi))).mult(Jr));v.setLocationAtPoint(v.renderWorldCopies?Vr.wrap():Vr,pt),this._applyUpdatedTransform(v),this._fireMoveEvents(d)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(d)},l),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(l,d){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let v=this._onEaseEnd;delete this._onEaseEnd,v.call(this,d)}if(!l){let v=this.handlers;v&&v.stop(!1)}return this}_ease(l,d,v){v.animate===!1||v.duration===0?(l(1),d()):(this._easeStart=n.h.now(),this._easeOptions=v,this._onEaseFrame=l,this._onEaseEnd=d,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(l,d){l=n.b5(l,-180,180);let v=Math.abs(l-d);return Math.abs(l-360-d)180?-360:v<-180?360:0}queryTerrainElevation(l){return this.terrain?this.terrain.getElevationForLngLatZoom(n.L.convert(l),this.transform.tileZoom)-this.transform.elevation:null}}class ua{constructor(l={}){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=d=>{!d||d.sourceDataType!==\"metadata\"&&d.sourceDataType!==\"visibility\"&&d.dataType!==\"style\"&&d.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=l}getDefaultPosition(){return\"bottom-right\"}onAdd(l){return this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(l,d){let v=this._map._getUIString(`AttributionControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)}_updateAttributions(){if(!this._map.style)return;let l=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?l=l.concat(this.options.customAttribution.map(b=>typeof b!=\"string\"?\"\":b)):typeof this.options.customAttribution==\"string\"&&l.push(this.options.customAttribution)),this._map.style.stylesheet){let b=this._map.style.stylesheet;this.styleOwner=b.owner,this.styleId=b.id}let d=this._map.style.sourceCaches;for(let b in d){let M=d[b];if(M.used||M.usedForTerrain){let O=M.getSource();O.attribution&&l.indexOf(O.attribution)<0&&l.push(O.attribution)}}l=l.filter(b=>String(b).trim()),l.sort((b,M)=>b.length-M.length),l=l.filter((b,M)=>{for(let O=M+1;O=0)return!1;return!0});let v=l.join(\" | \");v!==this._attribHTML&&(this._attribHTML=v,l.length?(this._innerContainer.innerHTML=v,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class un{constructor(l={}){this._updateCompact=()=>{let d=this._container.children;if(d.length){let v=d[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&v.classList.add(\"maplibregl-compact\"):v.classList.remove(\"maplibregl-compact\")}},this.options=l}getDefaultPosition(){return\"bottom-left\"}onAdd(l){this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let d=c.create(\"a\",\"maplibregl-ctrl-logo\");return d.target=\"_blank\",d.rel=\"noopener nofollow\",d.href=\"https://maplibre.org/\",d.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),d.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(d),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sA{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(l){let d=++this._id;return this._queue.push({callback:l,id:d,cancelled:!1}),d}remove(l){let d=this._currentlyRunning,v=d?this._queue.concat(d):this._queue;for(let b of v)if(b.id===l)return void(b.cancelled=!0)}run(l=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let d=this._currentlyRunning=this._queue;this._queue=[];for(let v of d)if(!v.cancelled&&(v.callback(l),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}let d0={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"};var Ah=n.Q([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class x_ extends n.E{constructor(l){super(),this.sourceCache=l,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,l.usedForTerrain=!0,l.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(l,d){this.sourceCache.update(l,d),this._renderableTilesKeys=[];let v={};for(let b of l.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:d}))v[b.key]=!0,this._renderableTilesKeys.push(b.key),this._tiles[b.key]||(b.posMatrix=new Float64Array(16),n.aS(b.posMatrix,0,n.N,0,n.N,0,1),this._tiles[b.key]=new ao(b,this.tileSize));for(let b in this._tiles)v[b]||delete this._tiles[b]}freeRtt(l){for(let d in this._tiles){let v=this._tiles[d];(!l||v.tileID.equals(l)||v.tileID.isChildOf(l)||l.isChildOf(v.tileID))&&(v.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(l=>this.getTileByID(l))}getTileByID(l){return this._tiles[l]}getTerrainCoords(l){let d={};for(let v of this._renderableTilesKeys){let b=this._tiles[v].tileID;if(b.canonical.equals(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16),n.aS(M.posMatrix,0,n.N,0,n.N,0,1),d[v]=M}else if(b.canonical.isChildOf(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=b.canonical.z-l.canonical.z,B=b.canonical.x-(b.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,W,0,W,0,1),n.$(M.posMatrix,M.posMatrix,[-B*W,-U*W,0]),d[v]=M}else if(l.canonical.isChildOf(b.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=l.canonical.z-b.canonical.z,B=l.canonical.x-(l.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,n.N,0,n.N,0,1),n.$(M.posMatrix,M.posMatrix,[B*W,U*W,0]),n.a0(M.posMatrix,M.posMatrix,[1/2**O,1/2**O,0]),d[v]=M}}return d}getSourceTile(l,d){let v=this.sourceCache._source,b=l.overscaledZ-this.deltaZoom;if(b>v.maxzoom&&(b=v.maxzoom),b=v.minzoom&&(!M||!M.dem);)M=this.sourceCache.getTileByID(l.scaledTo(b--).key);return M}tilesAfterTime(l=Date.now()){return Object.values(this._tiles).filter(d=>d.timeAdded>=l)}}class b_{constructor(l,d,v){this.painter=l,this.sourceCache=new x_(d),this.options=v,this.exaggeration=typeof v.exaggeration==\"number\"?v.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(l,d,v,b=n.N){var M;if(!(d>=0&&d=0&&vl.canonical.z&&(l.canonical.z>=b?M=l.canonical.z-b:n.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let O=l.canonical.x-(l.canonical.x>>M<>M<>8<<4|M>>8,d[O+3]=0;let v=new n.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(d.buffer)),b=new qt(l,v,l.gl.RGBA,{premultiply:!1});return b.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._coordsTexture=b,b}pointCoordinate(l){let d=new Uint8Array(4),v=this.painter.context,b=v.gl;v.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),b.readPixels(l.x,this.painter.height/devicePixelRatio-l.y-1,1,1,b.RGBA,b.UNSIGNED_BYTE,d),v.bindFramebuffer.set(null);let M=d[0]+(d[2]>>4<<8),O=d[1]+((15&d[2])<<8),B=this.coordsIndex[255-d[3]],U=B&&this.sourceCache.getTileByID(B);if(!U)return null;let W=this._coordsTextureSize,Z=(1<0&&Math.sign(M)<0||!v&&Math.sign(b)<0&&Math.sign(M)>0?(b=360*Math.sign(M)+b,n.G(b)):d}}class Nx{constructor(l,d,v){this._context=l,this._size=d,this._tileSize=v,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let l of this._objects)l.texture.destroy(),l.fbo.destroy()}_createObject(l){let d=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),v=new qt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return v.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),d.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),d.colorAttachment.set(v.texture),{id:l,fbo:d,texture:v,stamp:-1,inUse:!1}}getObjectForId(l){return this._objects[l]}useObject(l){l.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(d=>l.id!==d),this._recentlyUsed.push(l.id)}stampObject(l){l.stamp=++this._stamp}getOrCreateFreeObject(){for(let d of this._recentlyUsed)if(!this._objects[d].inUse)return this._objects[d];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let l=this._createObject(this._objects.length);return this._objects.push(l),l}freeObject(l){l.inUse=!1}freeAllObjects(){for(let l of this._objects)this.freeObject(l)}isFull(){return!(this._objects.length!l.inUse)===!1}}let Mo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class oA{constructor(l,d){this.painter=l,this.terrain=d,this.pool=new Nx(l.context,30,d.sourceCache.tileSize*d.qualityFactor)}destruct(){this.pool.destruct()}getTexture(l){return this.pool.getObjectForId(l.rtt[this._stacks.length-1].id).texture}prepareForRender(l,d){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=l._order.filter(v=>!l._layers[v].isHidden(d)),this._coordsDescendingInv={};for(let v in l.sourceCaches){this._coordsDescendingInv[v]={};let b=l.sourceCaches[v].getVisibleCoordinates();for(let M of b){let O=this.terrain.sourceCache.getTerrainCoords(M);for(let B in O)this._coordsDescendingInv[v][B]||(this._coordsDescendingInv[v][B]=[]),this._coordsDescendingInv[v][B].push(O[B])}}this._coordsDescendingInvStr={};for(let v of l._order){let b=l._layers[v],M=b.source;if(Mo[b.type]&&!this._coordsDescendingInvStr[M]){this._coordsDescendingInvStr[M]={};for(let O in this._coordsDescendingInv[M])this._coordsDescendingInvStr[M][O]=this._coordsDescendingInv[M][O].map(B=>B.key).sort().join()}}for(let v of this._renderableTiles)for(let b in this._coordsDescendingInvStr){let M=this._coordsDescendingInvStr[b][v.tileID.key];M&&M!==v.rttCoords[b]&&(v.rtt=[])}}renderLayer(l){if(l.isHidden(this.painter.transform.zoom))return!1;let d=l.type,v=this.painter,b=this._renderableLayerIds[this._renderableLayerIds.length-1]===l.id;if(Mo[d]&&(this._prevType&&Mo[this._prevType]||this._stacks.push([]),this._prevType=d,this._stacks[this._stacks.length-1].push(l.id),!b))return!0;if(Mo[this._prevType]||Mo[d]&&b){this._prevType=d;let M=this._stacks.length-1,O=this._stacks[M]||[];for(let B of this._renderableTiles){if(this.pool.isFull()&&(Cn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(B),B.rtt[M]){let W=this.pool.getObjectForId(B.rtt[M].id);if(W.stamp===B.rtt[M].stamp){this.pool.useObject(W);continue}}let U=this.pool.getOrCreateFreeObject();this.pool.useObject(U),this.pool.stampObject(U),B.rtt[M]={id:U.id,stamp:U.stamp},v.context.bindFramebuffer.set(U.fbo.framebuffer),v.context.clear({color:n.aT.transparent,stencil:0}),v.currentStencilSource=void 0;for(let W=0;W{T.touchstart=T.dragStart,T.touchmoveWindow=T.dragMove,T.touchend=T.dragEnd},aA={showCompass:!0,showZoom:!0,visualizePitch:!1};class Bd{constructor(l,d,v=!1){this.mousedown=O=>{this.startMouse(n.e({},O,{ctrlKey:!0,preventDefault:()=>O.preventDefault()}),c.mousePos(this.element,O)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=O=>{this.moveMouse(O,c.mousePos(this.element,O))},this.mouseup=O=>{this.mouseRotate.dragEnd(O),this.mousePitch&&this.mousePitch.dragEnd(O),this.offTemp()},this.touchstart=O=>{O.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.startTouch(O,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=O=>{O.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.moveTouch(O,this._lastPos))},this.touchend=O=>{O.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let b=l.dragRotate._mouseRotate.getClickTolerance(),M=l.dragRotate._mousePitch.getClickTolerance();this.element=d,this.mouseRotate=Na({clickTolerance:b,enable:!0}),this.touchRotate=(({enable:O,clickTolerance:B,bearingDegreesPerPixelMoved:U=.8})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({bearingDelta:($.x-Z.x)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:b,enable:!0}),this.map=l,v&&(this.mousePitch=co({clickTolerance:M,enable:!0}),this.touchPitch=(({enable:O,clickTolerance:B,pitchDegreesPerPixelMoved:U=-.5})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({pitchDelta:($.y-Z.y)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:M,enable:!0})),c.addEventListener(d,\"mousedown\",this.mousedown),c.addEventListener(d,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(d,\"touchcancel\",this.reset)}startMouse(l,d){this.mouseRotate.dragStart(l,d),this.mousePitch&&this.mousePitch.dragStart(l,d),c.disableDrag()}startTouch(l,d){this.touchRotate.dragStart(l,d),this.touchPitch&&this.touchPitch.dragStart(l,d),c.disableDrag()}moveMouse(l,d){let v=this.map,{bearingDelta:b}=this.mouseRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.mousePitch){let{pitchDelta:M}=this.mousePitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}moveTouch(l,d){let v=this.map,{bearingDelta:b}=this.touchRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.touchPitch){let{pitchDelta:M}=this.touchPitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}off(){let l=this.element;c.removeEventListener(l,\"mousedown\",this.mousedown),c.removeEventListener(l,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(l,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let Hn;function uo(T,l,d){if(T=new n.L(T.lng,T.lat),l){let v=new n.L(T.lng-360,T.lat),b=new n.L(T.lng+360,T.lat),M=d.locationPoint(T).distSqr(l);d.locationPoint(v).distSqr(l)180;){let v=d.locationPoint(T);if(v.x>=0&&v.y>=0&&v.x<=d.width&&v.y<=d.height)break;T.lng>d.center.lng?T.lng-=360:T.lng+=360}return T}let ji={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function w_(T,l,d){let v=T.classList;for(let b in ji)v.remove(`maplibregl-${d}-anchor-${b}`);v.add(`maplibregl-${d}-anchor-${l}`)}class mh extends n.E{constructor(l){if(super(),this._onKeyPress=d=>{let v=d.code,b=d.charCode||d.keyCode;v!==\"Space\"&&v!==\"Enter\"&&b!==32&&b!==13||this.togglePopup()},this._onMapClick=d=>{let v=d.originalEvent.target,b=this._element;this._popup&&(v===b||b.contains(v))&&this.togglePopup()},this._update=d=>{if(!this._map)return;let v=this._map.loaded()&&!this._map.isMoving();(d?.type===\"terrain\"||d?.type===\"render\"&&!v)&&this._map.once(\"render\",this._update),this._map.transform.renderWorldCopies&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let b=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?b=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(b=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let M=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?M=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(M=`rotateX(${this._map.getPitch()}deg)`),d&&d.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${ji[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${M} ${b}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout(()=>{let O=this._map.unproject(this._pos),B=40075016686e-3*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=O.distanceTo(this._lngLat)>20*B?\"0.2\":\"1.0\",this._opacityTimeout=null},100))},this._onMove=d=>{if(!this._isDragging){let v=this._clickTolerance||this._map._clickTolerance;this._isDragging=d.point.dist(this._pointerdownPos)>=v}this._isDragging&&(this._pos=d.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new n.k(\"dragstart\"))),this.fire(new n.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new n.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=d=>{this._element.contains(d.originalEvent.target)&&(d.preventDefault(),this._positionDelta=d.point.sub(this._pos).add(this._offset),this._pointerdownPos=d.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=l&&l.anchor||\"center\",this._color=l&&l.color||\"#3FB1CE\",this._scale=l&&l.scale||1,this._draggable=l&&l.draggable||!1,this._clickTolerance=l&&l.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=l&&l.rotation||0,this._rotationAlignment=l&&l.rotationAlignment||\"auto\",this._pitchAlignment=l&&l.pitchAlignment&&l.pitchAlignment!==\"auto\"?l.pitchAlignment:this._rotationAlignment,l&&l.element)this._element=l.element,this._offset=n.P.convert(l&&l.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");let d=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),v=41,b=27;d.setAttributeNS(null,\"display\",\"block\"),d.setAttributeNS(null,\"height\",`${v}px`),d.setAttributeNS(null,\"width\",`${b}px`),d.setAttributeNS(null,\"viewBox\",`0 0 ${b} ${v}`);let M=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");M.setAttributeNS(null,\"stroke\",\"none\"),M.setAttributeNS(null,\"stroke-width\",\"1\"),M.setAttributeNS(null,\"fill\",\"none\"),M.setAttributeNS(null,\"fill-rule\",\"evenodd\");let O=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");O.setAttributeNS(null,\"fill-rule\",\"nonzero\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");B.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),B.setAttributeNS(null,\"fill\",\"#000000\");let U=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let Ft of U){let Ht=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Ht.setAttributeNS(null,\"opacity\",\"0.04\"),Ht.setAttributeNS(null,\"cx\",\"10.5\"),Ht.setAttributeNS(null,\"cy\",\"5.80029008\"),Ht.setAttributeNS(null,\"rx\",Ft.rx),Ht.setAttributeNS(null,\"ry\",Ft.ry),B.appendChild(Ht)}let W=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");W.setAttributeNS(null,\"fill\",this._color);let Z=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Z.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),W.appendChild(Z);let $=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");$.setAttributeNS(null,\"opacity\",\"0.25\"),$.setAttributeNS(null,\"fill\",\"#000000\");let st=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");st.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),$.appendChild(st);let At=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");At.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),At.setAttributeNS(null,\"fill\",\"#FFFFFF\");let pt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");yt.setAttributeNS(null,\"fill\",\"#000000\"),yt.setAttributeNS(null,\"opacity\",\"0.25\"),yt.setAttributeNS(null,\"cx\",\"5.5\"),yt.setAttributeNS(null,\"cy\",\"5.5\"),yt.setAttributeNS(null,\"r\",\"5.4999962\");let dt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");dt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),dt.setAttributeNS(null,\"cx\",\"5.5\"),dt.setAttributeNS(null,\"cy\",\"5.5\"),dt.setAttributeNS(null,\"r\",\"5.4999962\"),pt.appendChild(yt),pt.appendChild(dt),O.appendChild(B),O.appendChild(W),O.appendChild($),O.appendChild(At),O.appendChild(pt),d.appendChild(O),d.setAttributeNS(null,\"height\",v*this._scale+\"px\"),d.setAttributeNS(null,\"width\",b*this._scale+\"px\"),this._element.appendChild(d),this._offset=n.P.convert(l&&l.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",d=>{d.preventDefault()}),this._element.addEventListener(\"mousedown\",d=>{d.preventDefault()}),w_(this._element,this._anchor,\"marker\"),l&&l.className)for(let d of l.className.split(\" \"))this._element.classList.add(d);this._popup=null}addTo(l){return this.remove(),this._map=l,l.getCanvasContainer().appendChild(this._element),l.on(\"move\",this._update),l.on(\"moveend\",this._update),l.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(l){return this._lngLat=n.L.convert(l),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(l){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),l){if(!(\"offset\"in l.options)){let b=Math.abs(13.5)/Math.SQRT2;l.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[b,-1*(38.1-13.5+b)],\"bottom-right\":[-b,-1*(38.1-13.5+b)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=l,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let l=this._popup;return l?(l.isOpen()?l.remove():l.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(l){return this._offset=n.P.convert(l),this._update(),this}addClassName(l){this._element.classList.add(l)}removeClassName(l){this._element.classList.remove(l)}toggleClassName(l){return this._element.classList.toggle(l)}setDraggable(l){return this._draggable=!!l,this._map&&(l?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(l){return this._rotation=l||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(l){return this._rotationAlignment=l||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(l){return this._pitchAlignment=l&&l!==\"auto\"?l:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}let kn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},wn=0,Sf=!1,Es={maxWidth:100,unit:\"metric\"};function gh(T,l,d){let v=d&&d.maxWidth||100,b=T._container.clientHeight/2,M=T.unproject([0,b]),O=T.unproject([v,b]),B=M.distanceTo(O);if(d&&d.unit===\"imperial\"){let U=3.2808*B;U>5280?Wo(l,v,U/5280,T._getUIString(\"ScaleControl.Miles\")):Wo(l,v,U,T._getUIString(\"ScaleControl.Feet\"))}else d&&d.unit===\"nautical\"?Wo(l,v,B/1852,T._getUIString(\"ScaleControl.NauticalMiles\")):B>=1e3?Wo(l,v,B/1e3,T._getUIString(\"ScaleControl.Kilometers\")):Wo(l,v,B,T._getUIString(\"ScaleControl.Meters\"))}function Wo(T,l,d,v){let b=function(M){let O=Math.pow(10,`${Math.floor(M)}`.length-1),B=M/O;return B=B>=10?10:B>=5?5:B>=3?3:B>=2?2:B>=1?1:function(U){let W=Math.pow(10,Math.ceil(-Math.log(U)/Math.LN10));return Math.round(U*W)/W}(B),O*B}(d);T.style.width=l*(b/d)+\"px\",T.innerHTML=`${b} ${v}`}let p0={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Fd=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Tf(T){if(T){if(typeof T==\"number\"){let l=Math.round(Math.abs(T)/Math.SQRT2);return{center:new n.P(0,0),top:new n.P(0,T),\"top-left\":new n.P(l,l),\"top-right\":new n.P(-l,l),bottom:new n.P(0,-T),\"bottom-left\":new n.P(l,-l),\"bottom-right\":new n.P(-l,-l),left:new n.P(T,0),right:new n.P(-T,0)}}if(T instanceof n.P||Array.isArray(T)){let l=n.P.convert(T);return{center:l,top:l,\"top-left\":l,\"top-right\":l,bottom:l,\"bottom-left\":l,\"bottom-right\":l,left:l,right:l}}return{center:n.P.convert(T.center||[0,0]),top:n.P.convert(T.top||[0,0]),\"top-left\":n.P.convert(T[\"top-left\"]||[0,0]),\"top-right\":n.P.convert(T[\"top-right\"]||[0,0]),bottom:n.P.convert(T.bottom||[0,0]),\"bottom-left\":n.P.convert(T[\"bottom-left\"]||[0,0]),\"bottom-right\":n.P.convert(T[\"bottom-right\"]||[0,0]),left:n.P.convert(T.left||[0,0]),right:n.P.convert(T.right||[0,0])}}return Tf(new n.P(0,0))}let Ho={extend:(T,...l)=>n.e(T,...l),run(T){T()},logToElement(T,l=!1,d=\"log\"){let v=window.document.getElementById(d);v&&(l&&(v.innerHTML=\"\"),v.innerHTML+=`
${T}`)}},lA=o;class bi{static get version(){return lA}static get workerCount(){return lo.workerCount}static set workerCount(l){lo.workerCount=l}static get maxParallelImageRequests(){return n.c.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(l){n.c.MAX_PARALLEL_IMAGE_REQUESTS=l}static get workerUrl(){return n.c.WORKER_URL}static set workerUrl(l){n.c.WORKER_URL=l}static addProtocol(l,d){n.c.REGISTERED_PROTOCOLS[l]=d}static removeProtocol(l){delete n.c.REGISTERED_PROTOCOLS[l]}}return bi.Map=class extends v_{constructor(T){if(n.bg.mark(n.bh.create),(T=n.e({},dr,T)).minZoom!=null&&T.maxZoom!=null&&T.minZoom>T.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(T.minPitch!=null&&T.maxPitch!=null&&T.minPitch>T.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(T.minPitch!=null&&T.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T.maxPitch!=null&&T.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Kp(T.minZoom,T.maxZoom,T.minPitch,T.maxPitch,T.renderWorldCopies),{bearingSnap:T.bearingSnap}),this._cooperativeGesturesOnWheel=l=>{this._onCooperativeGesture(l,l[this._metaKey],1)},this._contextLost=l=>{l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new n.k(\"webglcontextlost\",{originalEvent:l}))},this._contextRestored=l=>{this._setupPainter(),this.resize(),this._update(),this.fire(new n.k(\"webglcontextrestored\",{originalEvent:l}))},this._onMapScroll=l=>{if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=T.interactive,this._cooperativeGestures=T.cooperativeGestures,this._metaKey=navigator.platform.indexOf(\"Mac\")===0?\"metaKey\":\"ctrlKey\",this._maxTileCacheSize=T.maxTileCacheSize,this._maxTileCacheZoomLevels=T.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=T.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=T.preserveDrawingBuffer,this._antialias=T.antialias,this._trackResize=T.trackResize,this._bearingSnap=T.bearingSnap,this._refreshExpiredTiles=T.refreshExpiredTiles,this._fadeDuration=T.fadeDuration,this._crossSourceCollisions=T.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=T.collectResourceTiming,this._renderTaskQueue=new sA,this._controls=[],this._mapId=n.a2(),this._locale=n.e({},d0,T.locale),this._clickTolerance=T.clickTolerance,this._overridePixelRatio=T.pixelRatio,this._maxCanvasSize=T.maxCanvasSize,this.transformCameraUpdate=T.transformCameraUpdate,this._imageQueueHandle=j.addThrottleControl(()=>this.isMoving()),this._requestManager=new et(T.transformRequest),typeof T.container==\"string\"){if(this._container=document.getElementById(T.container),!this._container)throw new Error(`Container '${T.container}' not found.`)}else{if(!(T.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=T.container}if(T.maxBounds&&this.setMaxBounds(T.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)),this.on(\"moveend\",()=>this._update(!1)),this.on(\"zoom\",()=>this._update(!0)),this.on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let l=!1,d=lh(v=>{this._trackResize&&!this._removed&&this.resize(v)._update()},50);this._resizeObserver=new ResizeObserver(v=>{l?d(v):l=!0}),this._resizeObserver.observe(this._container)}this.handlers=new f0(this,T),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=T.hash&&new Ld(typeof T.hash==\"string\"&&T.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:T.center,zoom:T.zoom,bearing:T.bearing,pitch:T.pitch}),T.bounds&&(this.resize(),this.fitBounds(T.bounds,n.e({},T.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=T.localIdeographFontFamily,this._validateStyle=T.validateStyle,T.style&&this.setStyle(T.style,{localIdeographFontFamily:T.localIdeographFontFamily}),T.attributionControl&&this.addControl(new ua({customAttribution:T.customAttribution})),T.maplibreLogo&&this.addControl(new un,T.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",l=>{this._update(l.dataType===\"style\"),this.fire(new n.k(`${l.dataType}data`,l))}),this.on(\"dataloading\",l=>{this.fire(new n.k(`${l.dataType}dataloading`,l))}),this.on(\"dataabort\",l=>{this.fire(new n.k(\"sourcedataabort\",l))})}_getMapId(){return this._mapId}addControl(T,l){if(l===void 0&&(l=T.getDefaultPosition?T.getDefaultPosition():\"top-right\"),!T||!T.onAdd)return this.fire(new n.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let d=T.onAdd(this);this._controls.push(T);let v=this._controlPositions[l];return l.indexOf(\"bottom\")!==-1?v.insertBefore(d,v.firstChild):v.appendChild(d),this}removeControl(T){if(!T||!T.onRemove)return this.fire(new n.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let l=this._controls.indexOf(T);return l>-1&&this._controls.splice(l,1),T.onRemove(this),this}hasControl(T){return this._controls.indexOf(T)>-1}calculateCameraOptionsFromTo(T,l,d,v){return v==null&&this.terrain&&(v=this.terrain.getElevationForLngLatZoom(d,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(T,l,d,v)}resize(T){var l;let d=this._containerDimensions(),v=d[0],b=d[1],M=this._getClampedPixelRatio(v,b);if(this._resizeCanvas(v,b,M),this.painter.resize(v,b,M),this.painter.overLimit()){let B=this.painter.context.gl;this._maxCanvasSize=[B.drawingBufferWidth,B.drawingBufferHeight];let U=this._getClampedPixelRatio(v,b);this._resizeCanvas(v,b,U),this.painter.resize(v,b,U)}this.transform.resize(v,b),(l=this._requestedCameraState)===null||l===void 0||l.resize(v,b);let O=!this._moving;return O&&(this.stop(),this.fire(new n.k(\"movestart\",T)).fire(new n.k(\"move\",T))),this.fire(new n.k(\"resize\",T)),O&&this.fire(new n.k(\"moveend\",T)),this}_getClampedPixelRatio(T,l){let{0:d,1:v}=this._maxCanvasSize,b=this.getPixelRatio(),M=T*b,O=l*b;return Math.min(M>d?d/M:1,O>v?v/O:1)*b}getPixelRatio(){var T;return(T=this._overridePixelRatio)!==null&&T!==void 0?T:devicePixelRatio}setPixelRatio(T){this._overridePixelRatio=T,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(T){return this.transform.setMaxBounds(Si.convert(T)),this._update()}setMinZoom(T){if((T=T??-2)>=-2&&T<=this.transform.maxZoom)return this.transform.minZoom=T,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=T,this._update(),this.getZoom()>T&&this.setZoom(T),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(T){if((T=T??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T>=0&&T<=this.transform.maxPitch)return this.transform.minPitch=T,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(T>=this.transform.minPitch)return this.transform.maxPitch=T,this._update(),this.getPitch()>T&&this.setPitch(T),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(T){return this.transform.renderWorldCopies=T,this._update()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(T){return this._cooperativeGestures=T,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(T){return this.transform.locationPoint(n.L.convert(T),this.style&&this.terrain)}unproject(T){return this.transform.pointLocation(n.P.convert(T),this.terrain)}isMoving(){var T;return this._moving||((T=this.handlers)===null||T===void 0?void 0:T.isMoving())}isZooming(){var T;return this._zooming||((T=this.handlers)===null||T===void 0?void 0:T.isZooming())}isRotating(){var T;return this._rotating||((T=this.handlers)===null||T===void 0?void 0:T.isRotating())}_createDelegatedListener(T,l,d){if(T===\"mouseenter\"||T===\"mouseover\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:M=>{let O=this.getLayer(l)?this.queryRenderedFeatures(M.point,{layers:[l]}):[];O.length?v||(v=!0,d.call(this,new la(T,this,M.originalEvent,{features:O}))):v=!1},mouseout:()=>{v=!1}}}}if(T===\"mouseleave\"||T===\"mouseout\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:O=>{(this.getLayer(l)?this.queryRenderedFeatures(O.point,{layers:[l]}):[]).length?v=!0:v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))},mouseout:O=>{v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))}}}}{let v=b=>{let M=this.getLayer(l)?this.queryRenderedFeatures(b.point,{layers:[l]}):[];M.length&&(b.features=M,d.call(this,b),delete b.features)};return{layer:l,listener:d,delegates:{[T]:v}}}}on(T,l,d){if(d===void 0)return super.on(T,l);let v=this._createDelegatedListener(T,l,d);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[T]=this._delegatedListeners[T]||[],this._delegatedListeners[T].push(v);for(let b in v.delegates)this.on(b,v.delegates[b]);return this}once(T,l,d){if(d===void 0)return super.once(T,l);let v=this._createDelegatedListener(T,l,d);for(let b in v.delegates)this.once(b,v.delegates[b]);return this}off(T,l,d){return d===void 0?super.off(T,l):(this._delegatedListeners&&this._delegatedListeners[T]&&(v=>{let b=this._delegatedListeners[T];for(let M=0;Mthis._updateStyle(T,l));let d=this.style&&l.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!T)),T?(this.style=new Gn(this,l||{}),this.style.setEventedParent(this,{style:this.style}),typeof T==\"string\"?this.style.loadURL(T,l,d):this.style.loadJSON(T,l,d),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Gn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(T,l){if(typeof T==\"string\"){let d=this._requestManager.transformRequest(T,Q.Style);n.f(d,(v,b)=>{v?this.fire(new n.j(v)):b&&this._updateDiff(b,l)})}else typeof T==\"object\"&&this._updateDiff(T,l)}_updateDiff(T,l){try{this.style.setState(T,l)&&this._update(!0)}catch(d){n.w(`Unable to perform style diff: ${d.message||d.error||d}. Rebuilding the style from scratch.`),this._updateStyle(T,l)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():n.w(\"There is no style added to the map.\")}addSource(T,l){return this._lazyInitEmptyStyle(),this.style.addSource(T,l),this._update(!0)}isSourceLoaded(T){let l=this.style&&this.style.sourceCaches[T];if(l!==void 0)return l.loaded();this.fire(new n.j(new Error(`There is no source with ID '${T}'`)))}setTerrain(T){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),T){let l=this.style.sourceCaches[T.source];if(!l)throw new Error(`cannot load terrain, because there exists no source with ID: ${T.source}`);for(let d in this.style._layers){let v=this.style._layers[d];v.type===\"hillshade\"&&v.source===T.source&&n.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new b_(this.painter,l,T),this.painter.renderToTexture=new oA(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=d=>{d.dataType===\"style\"?this.terrain.sourceCache.freeRtt():d.dataType===\"source\"&&d.tile&&(d.sourceId!==T.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(d.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new n.k(\"terrain\",{terrain:T})),this}getTerrain(){var T,l;return(l=(T=this.terrain)===null||T===void 0?void 0:T.options)!==null&&l!==void 0?l:null}areTilesLoaded(){let T=this.style&&this.style.sourceCaches;for(let l in T){let d=T[l]._tiles;for(let v in d){let b=d[v];if(b.state!==\"loaded\"&&b.state!==\"errored\")return!1}}return!0}addSourceType(T,l,d){return this._lazyInitEmptyStyle(),this.style.addSourceType(T,l,d)}removeSource(T){return this.style.removeSource(T),this._update(!0)}getSource(T){return this.style.getSource(T)}addImage(T,l,d={}){let{pixelRatio:v=1,sdf:b=!1,stretchX:M,stretchY:O,content:B}=d;if(this._lazyInitEmptyStyle(),!(l instanceof HTMLImageElement||n.a(l))){if(l.width===void 0||l.height===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:U,height:W,data:Z}=l,$=l;return this.style.addImage(T,{data:new n.R({width:U,height:W},new Uint8Array(Z)),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0,userImage:$}),$.onAdd&&$.onAdd(this,T),this}}{let{width:U,height:W,data:Z}=n.h.getImageData(l);this.style.addImage(T,{data:new n.R({width:U,height:W},Z),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0})}}updateImage(T,l){let d=this.style.getImage(T);if(!d)return this.fire(new n.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let v=l instanceof HTMLImageElement||n.a(l)?n.h.getImageData(l):l,{width:b,height:M,data:O}=v;if(b===void 0||M===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(b!==d.data.width||M!==d.data.height)return this.fire(new n.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let B=!(l instanceof HTMLImageElement||n.a(l));return d.data.replace(O,B),this.style.updateImage(T,d),this}getImage(T){return this.style.getImage(T)}hasImage(T){return T?!!this.style.getImage(T):(this.fire(new n.j(new Error(\"Missing required image id\"))),!1)}removeImage(T){this.style.removeImage(T)}loadImage(T,l){j.getImage(this._requestManager.transformRequest(T,Q.Image),l)}listImages(){return this.style.listImages()}addLayer(T,l){return this._lazyInitEmptyStyle(),this.style.addLayer(T,l),this._update(!0)}moveLayer(T,l){return this.style.moveLayer(T,l),this._update(!0)}removeLayer(T){return this.style.removeLayer(T),this._update(!0)}getLayer(T){return this.style.getLayer(T)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(T,l,d){return this.style.setLayerZoomRange(T,l,d),this._update(!0)}setFilter(T,l,d={}){return this.style.setFilter(T,l,d),this._update(!0)}getFilter(T){return this.style.getFilter(T)}setPaintProperty(T,l,d,v={}){return this.style.setPaintProperty(T,l,d,v),this._update(!0)}getPaintProperty(T,l){return this.style.getPaintProperty(T,l)}setLayoutProperty(T,l,d,v={}){return this.style.setLayoutProperty(T,l,d,v),this._update(!0)}getLayoutProperty(T,l){return this.style.getLayoutProperty(T,l)}setGlyphs(T,l={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(T,l),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(T,l,d={}){return this._lazyInitEmptyStyle(),this.style.addSprite(T,l,d,v=>{v||this._update(!0)}),this}removeSprite(T){return this._lazyInitEmptyStyle(),this.style.removeSprite(T),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(T,l={}){return this._lazyInitEmptyStyle(),this.style.setSprite(T,l,d=>{d||this._update(!0)}),this}setLight(T,l={}){return this._lazyInitEmptyStyle(),this.style.setLight(T,l),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(T,l){return this.style.setFeatureState(T,l),this._update()}removeFeatureState(T,l){return this.style.removeFeatureState(T,l),this._update()}getFeatureState(T){return this.style.getFeatureState(T)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let T=0,l=0;return this._container&&(T=this._container.clientWidth||400,l=this._container.clientHeight||300),[T,l]}_setupContainer(){let T=this._container;T.classList.add(\"maplibregl-map\");let l=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",T);this._interactive&&l.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",l),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");let d=this._containerDimensions(),v=this._getClampedPixelRatio(d[0],d[1]);this._resizeCanvas(d[0],d[1],v);let b=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",T),M=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(O=>{M[O]=c.create(\"div\",`maplibregl-ctrl-${O} `,b)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",this._container);let T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";navigator.platform.indexOf(\"Mac\")===0&&(T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use \\u2318 + scroll to zoom the map\"),this._cooperativeGesturesScreen.innerHTML=`\n
${T}
\n
${typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\n `,this._cooperativeGesturesScreen.setAttribute(\"aria-hidden\",\"true\"),this._canvasContainer.addEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add(\"maplibregl-cooperative-gestures\")}_destroyCooperativeGestures(){c.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove(\"maplibregl-cooperative-gestures\")}_resizeCanvas(T,l,d){this._canvas.width=Math.floor(d*T),this._canvas.height=Math.floor(d*l),this._canvas.style.width=`${T}px`,this._canvas.style.height=`${l}px`}_setupPainter(){let T={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},l=null;this._canvas.addEventListener(\"webglcontextcreationerror\",v=>{l={requestedAttributes:T},v&&(l.statusMessage=v.statusMessage,l.type=v.type)},{once:!0});let d=this._canvas.getContext(\"webgl2\",T)||this._canvas.getContext(\"webgl\",T);if(!d){let v=\"Failed to initialize WebGL\";throw l?(l.message=v,new Error(JSON.stringify(l))):new Error(v)}this.painter=new ah(d,this.transform),f.testSupport(d)}_onCooperativeGesture(T,l,d){return!l&&d<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\")},100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(T){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||T,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(T){return this._update(),this._renderTaskQueue.add(T)}_cancelRenderFrame(T){this._renderTaskQueue.remove(T)}_render(T){let l=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(T),this._removed)return;let d=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let b=this.transform.zoom,M=n.h.now();this.style.zoomHistory.update(b,M);let O=new n.a8(b,{now:M,fadeDuration:l,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),B=O.crossFadingFactor();B===1&&B===this._crossFadingFactor||(d=!0,this._crossFadingFactor=B),this.style.update(O)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,l,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:l,showPadding:this.showPadding}),this.fire(new n.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,n.bg.mark(n.bh.load),this.fire(new n.k(\"load\"))),this.style&&(this.style.hasTransitions()||d)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let v=this._sourcesDirty||this._styleDirty||this._placementDirty;return v||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.k(\"idle\")),!this._loaded||this._fullyLoaded||v||(this._fullyLoaded=!0,n.bg.mark(n.bh.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var T;this._hash&&this._hash.remove();for(let d of this._controls)d.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),j.removeThrottleControl(this._imageQueueHandle),(T=this._resizeObserver)===null||T===void 0||T.disconnect();let l=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");l&&l.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove(\"maplibregl-map\"),n.bg.clearMetrics(),this._removed=!0,this.fire(new n.k(\"remove\"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=n.h.frame(T=>{n.bg.frame(T),this._frame=null,this._render(T)}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(T){this._showTileBoundaries!==T&&(this._showTileBoundaries=T,this._update())}get showPadding(){return!!this._showPadding}set showPadding(T){this._showPadding!==T&&(this._showPadding=T,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(T){this._showCollisionBoxes!==T&&(this._showCollisionBoxes=T,T?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(T){this._showOverdrawInspector!==T&&(this._showOverdrawInspector=T,this._update())}get repaint(){return!!this._repaint}set repaint(T){this._repaint!==T&&(this._repaint=T,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(T){this._vertices=T,this._update()}get version(){return nr}getCameraTargetElevation(){return this.transform.elevation}},bi.NavigationControl=class{constructor(T){this._updateZoomButtons=()=>{let l=this._map.getZoom(),d=l===this._map.getMaxZoom(),v=l===this._map.getMinZoom();this._zoomInButton.disabled=d,this._zoomOutButton.disabled=v,this._zoomInButton.setAttribute(\"aria-disabled\",d.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",v.toString())},this._rotateCompassArrow=()=>{let l=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=l},this._setButtonTitle=(l,d)=>{let v=this._map._getUIString(`NavigationControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)},this.options=n.e({},aA,T),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",l=>l.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",l=>this._map.zoomIn({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",l=>this._map.zoomOut({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",l=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:l}):this._map.resetNorth({},{originalEvent:l})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(T){return this._map=T,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Bd(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(T,l){let d=c.create(\"button\",T,this._container);return d.type=\"button\",d.addEventListener(\"click\",l),d}},bi.GeolocateControl=class extends n.E{constructor(T){super(),this._onSuccess=l=>{if(this._map){if(this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new n.k(\"outofmaxbounds\",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(l),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(l),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"geolocate\",l)),this._finish()}},this._updateCamera=l=>{let d=new n.L(l.coords.longitude,l.coords.latitude),v=l.coords.accuracy,b=this._map.getBearing(),M=n.e({bearing:b},this.options.fitBoundsOptions),O=Si.fromLngLat(d,v);this._map.fitBounds(O,M,{geolocateSource:!0})},this._updateMarker=l=>{if(l){let d=new n.L(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(d).addTo(this._map),this._userLocationDotMarker.setLngLat(d).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=l=>{if(this._map){if(this.options.trackUserLocation)if(l.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&Sf)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"error\",l)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=l=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",d=>d.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",l===!1){n.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}else{let d=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new mh({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new mh({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",d=>{d.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||d.originalEvent&&d.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new n.k(\"trackuserlocationend\")))})}},this.options=n.e({},kn,T)}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(l,d=!1){Hn===void 0||d?window.navigator.permissions!==void 0?window.navigator.permissions.query({name:\"geolocation\"}).then(v=>{Hn=v.state!==\"denied\",l(Hn)}).catch(()=>{Hn=!!window.navigator.geolocation,l(Hn)}):(Hn=!!window.navigator.geolocation,l(Hn)):l(Hn)}(this._setupUI),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,wn=0,Sf=!1}_isOutOfMapMaxBounds(T){let l=this._map.getMaxBounds(),d=T.coords;return l&&(d.longitudel.getEast()||d.latitudel.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let T=this._map.getBounds(),l=T.getSouthEast(),d=T.getNorthEast(),v=l.distanceTo(d),b=Math.ceil(this._accuracy/(v/this._map._container.clientHeight)*2);this._circleElement.style.width=`${b}px`,this._circleElement.style.height=`${b}px`}trigger(){if(!this._setup)return n.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new n.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":wn--,Sf=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new n.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new n.k(\"trackuserlocationstart\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let T;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),wn++,wn>1?(T={maximumAge:6e5,timeout:0},Sf=!0):(T=this.options.positionOptions,Sf=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,T)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},bi.AttributionControl=ua,bi.LogoControl=un,bi.ScaleControl=class{constructor(T){this._onMove=()=>{gh(this._map,this._container,this.options)},this.setUnit=l=>{this.options.unit=l,gh(this._map,this._container,this.options)},this.options=n.e({},Es,T)}getDefaultPosition(){return\"bottom-left\"}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",T.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},bi.FullscreenControl=class extends n.E{constructor(T={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,T&&T.container&&(T.container instanceof HTMLElement?this._container=T.container:n.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(T){return this._map=T,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let T=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",T).setAttribute(\"aria-hidden\",\"true\"),T.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let T=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",T),this._fullscreenButton.title=T}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new n.k(\"fullscreenstart\")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new n.k(\"fullscreenend\")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},bi.TerrainControl=class{constructor(T){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"))},this.options=T}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},bi.Popup=class extends n.E{constructor(T){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new n.k(\"close\")),this),this._onMouseUp=l=>{this._update(l.point)},this._onMouseMove=l=>{this._update(l.point)},this._onDrag=l=>{this._update(l.point)},this._update=l=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let O of this.options.className.split(\" \"))this._container.classList.add(O);this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!l)return;let d=this._pos=this._trackPointer&&l?l:this._map.project(this._lngLat),v=this.options.anchor,b=Tf(this.options.offset);if(!v){let O=this._container.offsetWidth,B=this._container.offsetHeight,U;U=d.y+b.bottom.ythis._map.transform.height-B?[\"bottom\"]:[],d.xthis._map.transform.width-O/2&&U.push(\"right\"),v=U.length===0?\"bottom\":U.join(\"-\")}let M=d.add(b[v]).round();c.setTransform(this._container,`${ji[v]} translate(${M.x}px,${M.y}px)`),w_(this._container,v,\"popup\")},this._onClose=()=>{this.remove()},this.options=n.e(Object.create(p0),T)}addTo(T){return this._map&&this.remove(),this._map=T,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new n.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(T){return this._lngLat=n.L.convert(T),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(T){return this.setDOMContent(document.createTextNode(T))}setHTML(T){let l=document.createDocumentFragment(),d=document.createElement(\"body\"),v;for(d.innerHTML=T;v=d.firstChild,v;)l.appendChild(v);return this.setDOMContent(l)}getMaxWidth(){var T;return(T=this._container)===null||T===void 0?void 0:T.style.maxWidth}setMaxWidth(T){return this.options.maxWidth=T,this._update(),this}setDOMContent(T){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(T),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(T){this._container&&this._container.classList.add(T)}removeClassName(T){this._container&&this._container.classList.remove(T)}setOffset(T){return this.options.offset=T,this._update(),this}toggleClassName(T){if(this._container)return this._container.classList.toggle(T)}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let T=this._container.querySelector(Fd);T&&T.focus()}},bi.Marker=mh,bi.Style=Gn,bi.LngLat=n.L,bi.LngLatBounds=Si,bi.Point=n.P,bi.MercatorCoordinate=n.U,bi.Evented=n.E,bi.AJAXError=n.bi,bi.config=n.c,bi.CanvasSource=Vo,bi.GeoJSONSource=Xi,bi.ImageSource=ki,bi.RasterDEMTileSource=Rc,bi.RasterTileSource=kc,bi.VectorTileSource=ll,bi.VideoSource=ts,bi.setRTLTextPlugin=n.bj,bi.getRTLTextPluginStatus=n.bk,bi.prewarm=function(){bo().acquire(oi)},bi.clearPrewarmedResources=function(){let T=ul;T&&(T.isPreloaded()&&T.numActive()===1?(T.release(oi),ul=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},Ho.extend(bi,{isSafari:n.ac,getPerformanceMetrics:n.bg.getPerformanceMetrics}),bi});var s=r;return s})});var TG=Br((p6t,oP)=>{(function(e,t,r,i){\"use strict\";var s=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],n=t.createElement(\"div\"),o=\"function\",c=Math.round,f=Math.abs,_=Date.now;function w(lt,ft,Lt){return setTimeout(K(lt,Lt),ft)}function I(lt,ft,Lt){return Array.isArray(lt)?(R(lt,Lt[ft],Lt),!0):!1}function R(lt,ft,Lt){var Kt;if(lt)if(lt.forEach)lt.forEach(ft,Lt);else if(lt.length!==i)for(Kt=0;Kt\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",ti=e.console&&(e.console.warn||e.console.log);return ti&&ti.call(e.console,Kt,Qe),lt.apply(this,arguments)}}var j;typeof Object.assign!=\"function\"?j=function(ft){if(ft===i||ft===null)throw new TypeError(\"Cannot convert undefined or null to object\");for(var Lt=Object(ft),Kt=1;Kt-1}function le(lt){return lt.trim().split(/\\s+/g)}function ue(lt,ft,Lt){if(lt.indexOf&&!Lt)return lt.indexOf(ft);for(var Kt=0;KtVs[ft]}):Kt=Kt.sort()),Kt}function rr(lt,ft){for(var Lt,Kt,ge=ft[0].toUpperCase()+ft.slice(1),Qe=0;Qe1&&!Lt.firstMultiple?Lt.firstMultiple=bo(ft):ge===1&&(Lt.firstMultiple=!1);var Qe=Lt.firstInput,ti=Lt.firstMultiple,is=ti?ti.center:Qe.center,Ts=ft.center=hl(Kt);ft.timeStamp=_(),ft.deltaTime=ft.timeStamp-Qe.timeStamp,ft.angle=jo(is,Ts),ft.distance=ve(is,Ts),du(Lt,ft),ft.offsetDirection=wo(ft.deltaX,ft.deltaY);var Vs=Ia(ft.deltaTime,ft.deltaX,ft.deltaY);ft.overallVelocityX=Vs.x,ft.overallVelocityY=Vs.y,ft.overallVelocity=f(Vs.x)>f(Vs.y)?Vs.x:Vs.y,ft.scale=ti?Ul(ti.pointers,Kt):1,ft.rotation=ti?gn(ti.pointers,Kt):0,ft.maxPointers=Lt.prevInput?ft.pointers.length>Lt.prevInput.maxPointers?ft.pointers.length:Lt.prevInput.maxPointers:ft.pointers.length,ul(Lt,ft);var Ra=lt.element;Xt(ft.srcEvent.target,Ra)&&(Ra=ft.srcEvent.target),ft.target=Ra}function du(lt,ft){var Lt=ft.center,Kt=lt.offsetDelta||{},ge=lt.prevDelta||{},Qe=lt.prevInput||{};(ft.eventType===Xi||Qe.eventType===ki)&&(ge=lt.prevDelta={x:Qe.deltaX||0,y:Qe.deltaY||0},Kt=lt.offsetDelta={x:Lt.x,y:Lt.y}),ft.deltaX=ge.x+(Lt.x-Kt.x),ft.deltaY=ge.y+(Lt.y-Kt.y)}function ul(lt,ft){var Lt=lt.lastInterval||ft,Kt=ft.timeStamp-Lt.timeStamp,ge,Qe,ti,is;if(ft.eventType!=ts&&(Kt>Rc||Lt.velocity===i)){var Ts=ft.deltaX-Lt.deltaX,Vs=ft.deltaY-Lt.deltaY,Ra=Ia(Kt,Ts,Vs);Qe=Ra.x,ti=Ra.y,ge=f(Ra.x)>f(Ra.y)?Ra.x:Ra.y,is=wo(Ts,Vs),lt.lastInterval=ft}else ge=Lt.velocity,Qe=Lt.velocityX,ti=Lt.velocityY,is=Lt.direction;ft.velocity=ge,ft.velocityX=Qe,ft.velocityY=ti,ft.direction=is}function bo(lt){for(var ft=[],Lt=0;Lt=f(ft)?lt<0?cl:xo:ft<0?Pa:na}function ve(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.sqrt(Kt*Kt+ge*ge)}function jo(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.atan2(ge,Kt)*180/Math.PI}function gn(lt,ft){return jo(ft[1],ft[0],ls)+jo(lt[1],lt[0],ls)}function Ul(lt,ft){return ve(ft[0],ft[1],ls)/ve(lt[0],lt[1],ls)}var Ca={mousedown:Xi,mousemove:Jn,mouseup:ki},Te=\"mousedown\",Dr=\"mousemove mouseup\";function gr(){this.evEl=Te,this.evWin=Dr,this.pressed=!1,mn.apply(this,arguments)}Y(gr,mn,{handler:function(ft){var Lt=Ca[ft.type];Lt&Xi&&ft.button===0&&(this.pressed=!0),Lt&Jn&&ft.which!==1&&(Lt=ki),this.pressed&&(Lt&ki&&(this.pressed=!1),this.callback(this.manager,Lt,{pointers:[ft],changedPointers:[ft],pointerType:ll,srcEvent:ft}))}});var Us={pointerdown:Xi,pointermove:Jn,pointerup:ki,pointercancel:ts,pointerout:ts},La={2:Si,3:Ns,4:ll,5:kc},Mr=\"pointerdown\",sa=\"pointermove pointerup pointercancel\";e.MSPointerEvent&&!e.PointerEvent&&(Mr=\"MSPointerDown\",sa=\"MSPointerMove MSPointerUp MSPointerCancel\");function gt(){this.evEl=Mr,this.evWin=sa,mn.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}Y(gt,mn,{handler:function(ft){var Lt=this.store,Kt=!1,ge=ft.type.toLowerCase().replace(\"ms\",\"\"),Qe=Us[ge],ti=La[ft.pointerType]||ft.pointerType,is=ti==Si,Ts=ue(Lt,ft.pointerId,\"pointerId\");Qe&Xi&&(ft.button===0||is)?Ts<0&&(Lt.push(ft),Ts=Lt.length-1):Qe&(ki|ts)&&(Kt=!0),!(Ts<0)&&(Lt[Ts]=ft,this.callback(this.manager,Qe,{pointers:Lt,changedPointers:[ft],pointerType:ti,srcEvent:ft}),Kt&&Lt.splice(Ts,1))}});var tt={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},nt=\"touchstart\",ht=\"touchstart touchmove touchend touchcancel\";function vt(){this.evTarget=nt,this.evWin=ht,this.started=!1,mn.apply(this,arguments)}Y(vt,mn,{handler:function(ft){var Lt=tt[ft.type];if(Lt===Xi&&(this.started=!0),!!this.started){var Kt=xt.call(this,ft,Lt);Lt&(ki|ts)&&Kt[0].length-Kt[1].length===0&&(this.started=!1),this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}}});function xt(lt,ft){var Lt=De(lt.touches),Kt=De(lt.changedTouches);return ft&(ki|ts)&&(Lt=Ke(Lt.concat(Kt),\"identifier\",!0)),[Lt,Kt]}var _t={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},Dt=\"touchstart touchmove touchend touchcancel\";function Mt(){this.evTarget=Dt,this.targetIds={},mn.apply(this,arguments)}Y(Mt,mn,{handler:function(ft){var Lt=_t[ft.type],Kt=Vt.call(this,ft,Lt);Kt&&this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}});function Vt(lt,ft){var Lt=De(lt.touches),Kt=this.targetIds;if(ft&(Xi|Jn)&&Lt.length===1)return Kt[Lt[0].identifier]=!0,[Lt,Lt];var ge,Qe,ti=De(lt.changedTouches),is=[],Ts=this.target;if(Qe=Lt.filter(function(Vs){return Xt(Vs.target,Ts)}),ft===Xi)for(ge=0;ge-1&&Kt.splice(Qe,1)};setTimeout(ge,ie)}}function Xe(lt){for(var ft=lt.srcEvent.clientX,Lt=lt.srcEvent.clientY,Kt=0;Kt-1&&this.requireFail.splice(ft,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(lt){return!!this.simultaneous[lt.id]},emit:function(lt){var ft=this,Lt=this.state;function Kt(ge){ft.manager.emit(ge,lt)}Lt=ai&&Kt(ft.options.event+Vm(Lt))},tryEmit:function(lt){if(this.canEmit())return this.emit(lt);this.state=ln},canEmit:function(){for(var lt=0;ltft.threshold&&ge&ft.direction},attrTest:function(lt){return So.prototype.attrTest.call(this,lt)&&(this.state&Ss||!(this.state&Ss)&&this.directionTest(lt))},emit:function(lt){this.pX=lt.deltaX,this.pY=lt.deltaY;var ft=Go(lt.direction);ft&&(lt.additionalEvent=this.options.event+ft),this._super.emit.call(this,lt)}});function Ki(){So.apply(this,arguments)}Y(Ki,So,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.scale-1)>this.options.threshold||this.state&Ss)},emit:function(lt){if(lt.scale!==1){var ft=lt.scale<1?\"in\":\"out\";lt.additionalEvent=this.options.event+ft}this._super.emit.call(this,lt)}});function _i(){Dn.apply(this,arguments),this._timer=null,this._input=null}Y(_i,Dn,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[zi]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distanceft.time;if(this._input=lt,!Kt||!Lt||lt.eventType&(ki|ts)&&!ge)this.reset();else if(lt.eventType&Xi)this.reset(),this._timer=w(function(){this.state=ka,this.tryEmit()},ft.time,this);else if(lt.eventType&ki)return ka;return ln},reset:function(){clearTimeout(this._timer)},emit:function(lt){this.state===ka&&(lt&<.eventType&ki?this.manager.emit(this.options.event+\"up\",lt):(this._input.timeStamp=_(),this.manager.emit(this.options.event,this._input)))}});function Gl(){So.apply(this,arguments)}Y(Gl,So,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.rotation)>this.options.threshold||this.state&Ss)}});function cn(){So.apply(this,arguments)}Y(cn,So,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:as|ao,pointers:1},getTouchAction:function(){return jl.prototype.getTouchAction.call(this)},attrTest:function(lt){var ft=this.options.direction,Lt;return ft&(as|ao)?Lt=lt.overallVelocity:ft&as?Lt=lt.overallVelocityX:ft&ao&&(Lt=lt.overallVelocityY),this._super.attrTest.call(this,lt)&&ft<.offsetDirection&<.distance>this.options.threshold&<.maxPointers==this.options.pointers&&f(Lt)>this.options.velocity&<.eventType&ki},emit:function(lt){var ft=Go(lt.offsetDirection);ft&&this.manager.emit(this.options.event+ft,lt),this.manager.emit(this.options.event,lt)}});function pu(){Dn.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}Y(pu,Dn,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ni]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distance{\"use strict\";hB.exports=U3;hB.exports.default=U3;function U3(e,t,r){r=r||2;var i=t&&t.length,s=i?t[0]*r:e.length,n=Lq(e,0,s,r,!0),o=[];if(!n||n.next===n.prev)return o;var c,f,_,w,I,R,N;if(i&&(n=wpt(e,t,n,r)),e.length>80*r){c=_=e[0],f=w=e[1];for(var j=r;j_&&(_=I),R>w&&(w=R);N=Math.max(_-c,w-f),N=N!==0?32767/N:0}return X2(n,o,r,c,f,N,0),o}function Lq(e,t,r,i,s){var n,o;if(s===uB(e,t,r,i)>0)for(n=t;n=t;n-=i)o=Cq(n,e[n],e[n+1],o);return o&&V3(o,o.next)&&(J2(o),o=o.next),o}function jg(e,t){if(!e)return e;t||(t=e);var r=e,i;do if(i=!1,!r.steiner&&(V3(r,r.next)||_s(r.prev,r,r.next)===0)){if(J2(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function X2(e,t,r,i,s,n,o){if(e){!o&&n&&Ppt(e,i,s,n);for(var c=e,f,_;e.prev!==e.next;){if(f=e.prev,_=e.next,n?vpt(e,i,s,n):ypt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),J2(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=xpt(jg(e),t,r),X2(e,t,r,i,s,n,2)):o===2&&bpt(e,t,r,i,s,n):X2(jg(e),t,r,i,s,n,1);break}}}}function ypt(e){var t=e.prev,r=e,i=e.next;if(_s(t,r,i)>=0)return!1;for(var s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&Jv(s,c,n,f,o,_,j.x,j.y)&&_s(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function vpt(e,t,r,i){var s=e.prev,n=e,o=e.next;if(_s(s,n,o)>=0)return!1;for(var c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=lB(N,j,t,r,i),K=lB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function xpt(e,t,r){var i=e;do{var s=i.prev,n=i.next.next;!V3(s,n)&&kq(s,i,i.next,n)&&K2(s,n)&&K2(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),J2(i),J2(i.next),i=e=n),i=i.next}while(i!==e);return jg(i)}function bpt(e,t,r,i,s,n){var o=e;do{for(var c=o.next.next;c!==o.prev;){if(o.i!==c.i&&Lpt(o,c)){var f=Rq(o,c);o=jg(o,o.next),f=jg(f,f.next),X2(o,t,r,i,s,n,0),X2(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function wpt(e,t,r,i){var s=[],n,o,c,f,_;for(n=0,o=t.length;n=r.next.y&&r.next.y!==r.y){var c=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(c<=i&&c>n&&(n=c,o=r.x=r.x&&r.x>=_&&i!==r.x&&Jv(so.x||r.x===o.x&&Ept(o,r)))&&(o=r,I=R)),r=r.next;while(r!==f);return o}function Ept(e,t){return _s(e.prev,e,t.prev)<0&&_s(t.next,e,e.next)<0}function Ppt(e,t,r,i){var s=e;do s.z===0&&(s.z=lB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,Ipt(s)}function Ipt(e){var t,r,i,s,n,o,c,f,_=1;do{for(r=e,e=null,n=null,o=0;r;){for(o++,i=r,c=0,t=0;t<_&&(c++,i=i.nextZ,!!i);t++);for(f=_;c>0||f>0&&i;)c!==0&&(f===0||!i||r.z<=i.z)?(s=r,r=r.nextZ,c--):(s=i,i=i.nextZ,f--),n?n.nextZ=s:e=s,s.prevZ=n,n=s;r=i}n.nextZ=null,_*=2}while(o>1);return e}function lB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Cpt(e){var t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function Lpt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!kpt(e,t)&&(K2(e,t)&&K2(t,e)&&Rpt(e,t)&&(_s(e.prev,e,t.prev)||_s(e,t.prev,t))||V3(e,t)&&_s(e.prev,e,e.next)>0&&_s(t.prev,t,t.next)>0)}function _s(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function V3(e,t){return e.x===t.x&&e.y===t.y}function kq(e,t,r,i){var s=N3(_s(e,t,r)),n=N3(_s(e,t,i)),o=N3(_s(r,i,e)),c=N3(_s(r,i,t));return!!(s!==n&&o!==c||s===0&&z3(e,r,t)||n===0&&z3(e,i,t)||o===0&&z3(r,e,i)||c===0&&z3(r,t,i))}function z3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function N3(e){return e>0?1:e<0?-1:0}function kpt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&kq(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function K2(e,t){return _s(e.prev,e,e.next)<0?_s(e,t,e.next)>=0&&_s(e,e.prev,t)>=0:_s(e,t,e.prev)<0||_s(e,e.next,t)<0}function Rpt(e,t){var r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function Rq(e,t){var r=new cB(e.i,e.x,e.y),i=new cB(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function Cq(e,t,r,i){var s=new cB(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function J2(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function cB(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}U3.deviation=function(e,t,r,i){var s=t&&t.length,n=s?t[0]*r:e.length,o=Math.abs(uB(e,0,n,r));if(s)for(var c=0,f=t.length;c0&&(i+=e[s-1].length,r.holes.push(i))}return r}});var nF=Br(Tx=>{\"use strict\";Object.defineProperty(Tx,\"__esModule\",{value:!0});Tx.DefaultSerializer=Tx.extendSerializer=void 0;function Hyt(e,t){let r=e.deserialize.bind(e),i=e.serialize.bind(e);return{deserialize(s){return t.deserialize(s,r)},serialize(s){return t.serialize(s,i)}}}Tx.extendSerializer=Hyt;var w$={deserialize(e){return Object.assign(Error(e.message),{name:e.name,stack:e.stack})},serialize(e){return{__error_marker:\"$$error\",message:e.message,name:e.name,stack:e.stack}}},qyt=e=>e&&typeof e==\"object\"&&\"__error_marker\"in e&&e.__error_marker===\"$$error\";Tx.DefaultSerializer={deserialize(e){return qyt(e)?w$.deserialize(e):e},serialize(e){return e instanceof Error?w$.serialize(e):e}}});var Mx=Br(km=>{\"use strict\";Object.defineProperty(km,\"__esModule\",{value:!0});km.serialize=km.deserialize=km.registerSerializer=void 0;var S$=nF(),zI=S$.DefaultSerializer;function Zyt(e){zI=S$.extendSerializer(zI,e)}km.registerSerializer=Zyt;function Yyt(e){return zI.deserialize(e)}km.deserialize=Yyt;function Qyt(e){return zI.serialize(e)}km.serialize=Qyt});var M$=Br(Ex=>{\"use strict\";Object.defineProperty(Ex,\"__esModule\",{value:!0});Ex.getBundleURL=Ex.getBaseURL=void 0;var sF;function $yt(){return sF||(sF=Xyt()),sF}Ex.getBundleURL=$yt;function Xyt(){try{throw new Error}catch(e){let t=(\"\"+e.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);if(t)return T$(t[0])}return\"/\"}function T$(e){return(\"\"+e).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/,\"$1\")+\"/\"}Ex.getBaseURL=T$});var aF=Br(Rm=>{\"use strict\";Object.defineProperty(Rm,\"__esModule\",{value:!0});Rm.isWorkerRuntime=Rm.getWorkerImplementation=Rm.defaultPoolSize=void 0;var E$=M$();Rm.defaultPoolSize=typeof navigator<\"u\"&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:4;var P$=e=>/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(e);function I$(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Kyt(){if(typeof Worker>\"u\")return class{constructor(){throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\")}};class e extends Worker{constructor(i,s){var n,o;typeof i==\"string\"&&s&&s._baseURL?i=new URL(i,s._baseURL):typeof i==\"string\"&&!P$(i)&&E$.getBundleURL().match(/^file:\\/\\//i)&&(i=new URL(i,E$.getBundleURL().replace(/\\/[^\\/]+$/,\"/\")),(!((n=s?.CORSWorkaround)!==null&&n!==void 0)||n)&&(i=I$(`importScripts(${JSON.stringify(i)});`))),typeof i==\"string\"&&P$(i)&&(!((o=s?.CORSWorkaround)!==null&&o!==void 0)||o)&&(i=I$(`importScripts(${JSON.stringify(i)});`)),super(i,s)}}class t extends e{constructor(i,s){let n=window.URL.createObjectURL(i);super(n,s)}static fromText(i,s){let n=new window.Blob([i],{type:\"text/javascript\"});return new t(n,s)}}return{blob:t,default:e}}var oF;function Jyt(){return oF||(oF=Kyt()),oF}Rm.getWorkerImplementation=Jyt;function tvt(){let e=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!e)}Rm.isWorkerRuntime=tvt});var L$=Br((Vle,C$)=>{var Px=1e3,Ix=Px*60,Cx=Ix*60,r_=Cx*24,evt=r_*7,rvt=r_*365.25;C$.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return ivt(e);if(r===\"number\"&&isFinite(e))return t.long?svt(e):nvt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function ivt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),i=(t[2]||\"ms\").toLowerCase();switch(i){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*rvt;case\"weeks\":case\"week\":case\"w\":return r*evt;case\"days\":case\"day\":case\"d\":return r*r_;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Cx;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Ix;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Px;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function nvt(e){var t=Math.abs(e);return t>=r_?Math.round(e/r_)+\"d\":t>=Cx?Math.round(e/Cx)+\"h\":t>=Ix?Math.round(e/Ix)+\"m\":t>=Px?Math.round(e/Px)+\"s\":e+\"ms\"}function svt(e){var t=Math.abs(e);return t>=r_?NI(e,t,r_,\"day\"):t>=Cx?NI(e,t,Cx,\"hour\"):t>=Ix?NI(e,t,Ix,\"minute\"):t>=Px?NI(e,t,Px,\"second\"):e+\" ms\"}function NI(e,t,r,i){var s=t>=r*1.5;return Math.round(e/r)+\" \"+i+(s?\"s\":\"\")}});var R$=Br((jle,k$)=>{function ovt(e){r.debug=r,r.default=r,r.coerce=f,r.disable=n,r.enable=s,r.enabled=o,r.humanize=L$(),r.destroy=_,Object.keys(e).forEach(w=>{r[w]=e[w]}),r.names=[],r.skips=[],r.formatters={};function t(w){let I=0;for(let R=0;R{if(kt===\"%%\")return\"%\";ut++;let qt=r.formatters[Xt];if(typeof qt==\"function\"){let le=et[ut];kt=qt.call(Y,le),et.splice(ut,1),ut--}return kt}),r.formatArgs.call(Y,et),(Y.log||r.log).apply(Y,et)}return Q.namespace=w,Q.useColors=r.useColors(),Q.color=r.selectColor(w),Q.extend=i,Q.destroy=r.destroy,Object.defineProperty(Q,\"enabled\",{enumerable:!0,configurable:!1,get:()=>R!==null?R:(N!==r.namespaces&&(N=r.namespaces,j=r.enabled(w)),j),set:et=>{R=et}}),typeof r.init==\"function\"&&r.init(Q),Q}function i(w,I){let R=r(this.namespace+(typeof I>\"u\"?\":\":I)+w);return R.log=this.log,R}function s(w){r.save(w),r.namespaces=w,r.names=[],r.skips=[];let I,R=(typeof w==\"string\"?w:\"\").split(/[\\s,]+/),N=R.length;for(I=0;I\"-\"+I)].join(\",\");return r.enable(\"\"),w}function o(w){if(w[w.length-1]===\"*\")return!0;let I,R;for(I=0,R=r.skips.length;I{hu.formatArgs=lvt;hu.save=cvt;hu.load=uvt;hu.useColors=avt;hu.storage=hvt();hu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})();hu.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"];function avt(){return typeof window<\"u\"&&window.process&&(window.process.type===\"renderer\"||window.process.__nwjs)?!0:typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)?!1:typeof document<\"u\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<\"u\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}function lvt(e){if(e[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+e[0]+(this.useColors?\"%c \":\" \")+\"+\"+UI.exports.humanize(this.diff),!this.useColors)return;let t=\"color: \"+this.color;e.splice(1,0,t,\"color: inherit\");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!==\"%%\"&&(r++,s===\"%c\"&&(i=r))}),e.splice(i,0,t)}hu.log=console.debug||console.log||(()=>{});function cvt(e){try{e?hu.storage.setItem(\"debug\",e):hu.storage.removeItem(\"debug\")}catch{}}function uvt(){let e;try{e=hu.storage.getItem(\"debug\")}catch{}return!e&&typeof process<\"u\"&&\"env\"in process&&(e=process.env.DEBUG),e}function hvt(){try{return localStorage}catch{}}UI.exports=R$()(hu);var{formatters:fvt}=UI.exports;fvt.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}}});var kS=Br(Lx=>{\"use strict\";var dvt=Lx&&Lx.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(Lx,\"__esModule\",{value:!0});Lx.AsyncSerialScheduler=void 0;var lF=class{constructor(t){this._baseObserver=t,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch(t=>this._baseObserver.error(t))}error(t){this._baseObserver.error(t)}schedule(t){let r=Promise.all(this._pendingPromises),i=[],s=o=>i.push(o),n=Promise.resolve().then(()=>dvt(this,void 0,void 0,function*(){yield r,yield t(s),this._pendingPromises.delete(n);for(let o of i)this._baseObserver.next(o)})).catch(o=>{this._pendingPromises.delete(n),this._baseObserver.error(o)});this._pendingPromises.add(n)}};Lx.AsyncSerialScheduler=lF});var O$=Br(D$=>{\"use strict\";Object.defineProperty(D$,\"__esModule\",{value:!0})});var cF=Br(Bl=>{\"use strict\";Object.defineProperty(Bl,\"__esModule\",{value:!0});Bl.registerObservableSymbol=Bl.getSymbol=Bl.hasSymbol=Bl.hasSymbols=void 0;var pvt=()=>typeof Symbol==\"function\";Bl.hasSymbols=pvt;var Avt=e=>Bl.hasSymbols()&&!!Symbol[e];Bl.hasSymbol=Avt;var mvt=e=>Bl.hasSymbol(e)?Symbol[e]:\"@@\"+e;Bl.getSymbol=mvt;function gvt(){Bl.hasSymbols()&&!Bl.hasSymbol(\"observable\")&&(Symbol.observable=Symbol(\"observable\"))}Bl.registerObservableSymbol=gvt;Bl.hasSymbol(\"asyncIterator\")||(Symbol.asyncIterator=Symbol.asyncIterator||Symbol.for(\"Symbol.asyncIterator\"))});var gd=Br(Vp=>{\"use strict\";Object.defineProperty(Vp,\"__esModule\",{value:!0});Vp.Observable=Vp.SubscriptionObserver=Vp.Subscription=void 0;O$();var DS=cF(),_vt=DS.getSymbol(\"iterator\"),hF=DS.getSymbol(\"observable\"),B$=DS.getSymbol(\"species\");function GI(e,t){let r=e[t];if(r!=null){if(typeof r!=\"function\")throw new TypeError(r+\" is not a function\");return r}}function RS(e){let t=e.constructor;return t!==void 0&&(t=t[B$],t===null&&(t=void 0)),t!==void 0?t:i_}function yvt(e){return e instanceof i_}function kx(e){kx.log?kx.log(e):setTimeout(()=>{throw e},0)}function jI(e){Promise.resolve().then(()=>{try{e()}catch(t){kx(t)}})}function F$(e){let t=e._cleanup;if(t!==void 0&&(e._cleanup=void 0,!!t))try{if(typeof t==\"function\")t();else{let r=GI(t,\"unsubscribe\");r&&r.call(t)}}catch(r){kx(r)}}function fF(e){e._observer=void 0,e._queue=void 0,e._state=\"closed\"}function vvt(e){let t=e._queue;if(t){e._queue=void 0,e._state=\"ready\";for(let r of t)if(z$(e,r.type,r.value),e._state===\"closed\")break}}function z$(e,t,r){e._state=\"running\";let i=e._observer;try{let s=i?GI(i,t):void 0;switch(t){case\"next\":s&&s.call(i,r);break;case\"error\":if(fF(e),s)s.call(i,r);else throw r;break;case\"complete\":fF(e),s&&s.call(i);break}}catch(s){kx(s)}e._state===\"closed\"?F$(e):e._state===\"running\"&&(e._state=\"ready\")}function uF(e,t,r){if(e._state!==\"closed\"){if(e._state===\"buffering\"){e._queue=e._queue||[],e._queue.push({type:t,value:r});return}if(e._state!==\"ready\"){e._state=\"buffering\",e._queue=[{type:t,value:r}],jI(()=>vvt(e));return}z$(e,t,r)}}var WI=class{constructor(t,r){this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state=\"initializing\";let i=new HI(this);try{this._cleanup=r.call(void 0,i)}catch(s){i.error(s)}this._state===\"initializing\"&&(this._state=\"ready\")}get closed(){return this._state===\"closed\"}unsubscribe(){this._state!==\"closed\"&&(fF(this),F$(this))}};Vp.Subscription=WI;var HI=class{constructor(t){this._subscription=t}get closed(){return this._subscription._state===\"closed\"}next(t){uF(this._subscription,\"next\",t)}error(t){uF(this._subscription,\"error\",t)}complete(){uF(this._subscription,\"complete\")}};Vp.SubscriptionObserver=HI;var i_=class e{constructor(t){if(!(this instanceof e))throw new TypeError(\"Observable cannot be called as a function\");if(typeof t!=\"function\")throw new TypeError(\"Observable initializer must be a function\");this._subscriber=t}subscribe(t,r,i){return(typeof t!=\"object\"||t===null)&&(t={next:t,error:r,complete:i}),new WI(t,this._subscriber)}pipe(t,...r){let i=this;for(let s of[t,...r])i=s(i);return i}tap(t,r,i){let s=typeof t!=\"object\"||t===null?{next:t,error:r,complete:i}:t;return new e(n=>this.subscribe({next(o){s.next&&s.next(o),n.next(o)},error(o){s.error&&s.error(o),n.error(o)},complete(){s.complete&&s.complete(),n.complete()},start(o){s.start&&s.start(o)}}))}forEach(t){return new Promise((r,i)=>{if(typeof t!=\"function\"){i(new TypeError(t+\" is not a function\"));return}function s(){n.unsubscribe(),r(void 0)}let n=this.subscribe({next(o){try{t(o,s)}catch(c){i(c),n.unsubscribe()}},error(o){i(o)},complete(){r(void 0)}})})}map(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){let n=s;try{n=t(s)}catch(o){return i.error(o)}i.next(n)},error(s){i.error(s)},complete(){i.complete()}}))}filter(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){try{if(!t(s))return}catch(n){return i.error(n)}i.next(s)},error(s){i.error(s)},complete(){i.complete()}}))}reduce(t,r){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let i=RS(this),s=arguments.length>1,n=!1,o=r;return new i(c=>this.subscribe({next(f){let _=!n;if(n=!0,!_||s)try{o=t(o,f)}catch(w){return c.error(w)}else o=f},error(f){c.error(f)},complete(){if(!n&&!s)return c.error(new TypeError(\"Cannot reduce an empty sequence\"));c.next(o),c.complete()}}))}concat(...t){let r=RS(this);return new r(i=>{let s,n=0;function o(c){s=c.subscribe({next(f){i.next(f)},error(f){i.error(f)},complete(){n===t.length?(s=void 0,i.complete()):o(r.from(t[n++]))}})}return o(this),()=>{s&&(s.unsubscribe(),s=void 0)}})}flatMap(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>{let s=[],n=this.subscribe({next(c){let f;if(t)try{f=t(c)}catch(w){return i.error(w)}else f=c;let _=r.from(f).subscribe({next(w){i.next(w)},error(w){i.error(w)},complete(){let w=s.indexOf(_);w>=0&&s.splice(w,1),o()}});s.push(_)},error(c){i.error(c)},complete(){o()}});function o(){n.closed&&s.length===0&&i.complete()}return()=>{s.forEach(c=>c.unsubscribe()),n.unsubscribe()}})}[(Symbol.observable,hF)](){return this}static from(t){let r=typeof this==\"function\"?this:e;if(t==null)throw new TypeError(t+\" is not an object\");let i=GI(t,hF);if(i){let s=i.call(t);if(Object(s)!==s)throw new TypeError(s+\" is not an object\");return yvt(s)&&s.constructor===r?s:new r(n=>s.subscribe(n))}if(DS.hasSymbol(\"iterator\")){let s=GI(t,_vt);if(s)return new r(n=>{jI(()=>{if(!n.closed){for(let o of s.call(t))if(n.next(o),n.closed)return;n.complete()}})})}if(Array.isArray(t))return new r(s=>{jI(()=>{if(!s.closed){for(let n of t)if(s.next(n),s.closed)return;s.complete()}})});throw new TypeError(t+\" is not observable\")}static of(...t){let r=typeof this==\"function\"?this:e;return new r(i=>{jI(()=>{if(!i.closed){for(let s of t)if(i.next(s),i.closed)return;i.complete()}})})}static get[B$](){return this}};Vp.Observable=i_;DS.hasSymbols()&&Object.defineProperty(i_,Symbol(\"extensions\"),{value:{symbol:hF,hostReportError:kx},configurable:!0});Vp.default=i_});var Dm=Br(dF=>{\"use strict\";Object.defineProperty(dF,\"__esModule\",{value:!0});function xvt(e){typeof e==\"function\"?e():e&&typeof e.unsubscribe==\"function\"&&e.unsubscribe()}dF.default=xvt});var N$=Br(OS=>{\"use strict\";var bvt=OS&&OS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(OS,\"__esModule\",{value:!0});var wvt=kS(),Svt=gd(),Tvt=Dm();function Mvt(e){return t=>new Svt.default(r=>{let i=new wvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>bvt(this,void 0,void 0,function*(){(yield e(n))&&o(n)}))}});return()=>Tvt.default(s)})}OS.default=Mvt});var V$=Br(Rx=>{\"use strict\";Object.defineProperty(Rx,\"__esModule\",{value:!0});Rx.isIterator=Rx.isAsyncIterator=void 0;var U$=cF();function Evt(e){return e&&U$.hasSymbol(\"asyncIterator\")&&e[Symbol.asyncIterator]}Rx.isAsyncIterator=Evt;function Pvt(e){return e&&U$.hasSymbol(\"iterator\")&&e[Symbol.iterator]}Rx.isIterator=Pvt});var G$=Br(n_=>{\"use strict\";var Ivt=n_&&n_.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Cvt=n_&&n_.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof __values==\"function\"?__values(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}};Object.defineProperty(n_,\"__esModule\",{value:!0});var Lvt=kS(),j$=V$(),kvt=gd(),Rvt=Dm();function Dvt(e){return t=>new kvt.default(r=>{let i=new Lvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Ivt(this,void 0,void 0,function*(){var c,f;let _=yield e(n);if(j$.isIterator(_)||j$.isAsyncIterator(_))try{for(var w=Cvt(_),I;I=yield w.next(),!I.done;){let R=I.value;o(R)}}catch(R){c={error:R}}finally{try{I&&!I.done&&(f=w.return)&&(yield f.call(w))}finally{if(c)throw c.error}}else _.map(R=>o(R))}))}});return()=>Rvt.default(s)})}n_.default=Dvt});var W$=Br(pF=>{\"use strict\";Object.defineProperty(pF,\"__esModule\",{value:!0});var Ovt=gd();function Bvt(e){return new Ovt.Observable(t=>{let r=0,i=setInterval(()=>{t.next(r++)},e);return()=>clearInterval(i)})}pF.default=Bvt});var H$=Br(BS=>{\"use strict\";var Fvt=BS&&BS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(BS,\"__esModule\",{value:!0});var zvt=kS(),Nvt=gd(),Uvt=Dm();function Vvt(e){return t=>new Nvt.default(r=>{let i=new zvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Fvt(this,void 0,void 0,function*(){let c=yield e(n);o(c)}))}});return()=>Uvt.default(s)})}BS.default=Vvt});var Z$=Br(AF=>{\"use strict\";Object.defineProperty(AF,\"__esModule\",{value:!0});var q$=gd(),jvt=Dm();function Gvt(...e){return e.length===0?q$.Observable.from([]):new q$.Observable(t=>{let r=0,i=e.map(n=>n.subscribe({error(o){t.error(o),s()},next(o){t.next(o)},complete(){++r===e.length&&(t.complete(),s())}})),s=()=>{i.forEach(n=>jvt.default(n))};return s})}AF.default=Gvt});var _F=Br(gF=>{\"use strict\";Object.defineProperty(gF,\"__esModule\",{value:!0});var Wvt=gd(),mF=class extends Wvt.default{constructor(){super(t=>(this._observers.add(t),()=>this._observers.delete(t))),this._observers=new Set}next(t){for(let r of this._observers)r.next(t)}error(t){for(let r of this._observers)r.error(t)}complete(){for(let t of this._observers)t.complete()}};gF.default=mF});var Y$=Br(yF=>{\"use strict\";Object.defineProperty(yF,\"__esModule\",{value:!0});var Hvt=gd(),qvt=_F(),Zvt=Dm();function Yvt(e){let t=new qvt.default,r,i=0;return new Hvt.default(s=>{r||(r=e.subscribe(t));let n=t.subscribe(s);return i++,()=>{i--,n.unsubscribe(),i===0&&(Zvt.default(r),r=void 0)}})}yF.default=Yvt});var Q$=Br(FS=>{\"use strict\";var Qvt=FS&&FS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(FS,\"__esModule\",{value:!0});var $vt=kS(),Xvt=gd(),Kvt=Dm();function Jvt(e,t){return r=>new Xvt.default(i=>{let s,n=0,o=new $vt.AsyncSerialScheduler(i),c=r.subscribe({complete(){o.complete()},error(f){o.error(f)},next(f){o.schedule(_=>Qvt(this,void 0,void 0,function*(){s=yield e(n===0?typeof t>\"u\"?f:t:s,f,n++),_(s)}))}});return()=>Kvt.default(c)})}FS.default=Jvt});var $$=Br(zs=>{\"use strict\";Object.defineProperty(zs,\"__esModule\",{value:!0});zs.unsubscribe=zs.Subject=zs.scan=zs.Observable=zs.multicast=zs.merge=zs.map=zs.interval=zs.flatMap=zs.filter=void 0;var txt=N$();Object.defineProperty(zs,\"filter\",{enumerable:!0,get:function(){return txt.default}});var ext=G$();Object.defineProperty(zs,\"flatMap\",{enumerable:!0,get:function(){return ext.default}});var rxt=W$();Object.defineProperty(zs,\"interval\",{enumerable:!0,get:function(){return rxt.default}});var ixt=H$();Object.defineProperty(zs,\"map\",{enumerable:!0,get:function(){return ixt.default}});var nxt=Z$();Object.defineProperty(zs,\"merge\",{enumerable:!0,get:function(){return nxt.default}});var sxt=Y$();Object.defineProperty(zs,\"multicast\",{enumerable:!0,get:function(){return sxt.default}});var oxt=gd();Object.defineProperty(zs,\"Observable\",{enumerable:!0,get:function(){return oxt.default}});var axt=Q$();Object.defineProperty(zs,\"scan\",{enumerable:!0,get:function(){return axt.default}});var lxt=_F();Object.defineProperty(zs,\"Subject\",{enumerable:!0,get:function(){return lxt.default}});var cxt=Dm();Object.defineProperty(zs,\"unsubscribe\",{enumerable:!0,get:function(){return cxt.default}})});var zS=Br((nce,X$)=>{X$.exports=$$()});var K$=Br(qI=>{\"use strict\";Object.defineProperty(qI,\"__esModule\",{value:!0});qI.allSettled=void 0;function uxt(e){return Promise.all(e.map(t=>{let r=n=>({status:\"fulfilled\",value:n}),i=n=>({status:\"rejected\",reason:n}),s=Promise.resolve(t);try{return s.then(r,i)}catch(n){return Promise.reject(n)}}))}qI.allSettled=uxt});var J$=Br(NS=>{\"use strict\";Object.defineProperty(NS,\"__esModule\",{value:!0});NS.PoolEventType=void 0;var hxt;(function(e){e.initialized=\"initialized\",e.taskCanceled=\"taskCanceled\",e.taskCompleted=\"taskCompleted\",e.taskFailed=\"taskFailed\",e.taskQueued=\"taskQueued\",e.taskQueueDrained=\"taskQueueDrained\",e.taskStart=\"taskStart\",e.terminated=\"terminated\"})(hxt=NS.PoolEventType||(NS.PoolEventType={}))});var US=Br(eh=>{\"use strict\";Object.defineProperty(eh,\"__esModule\",{value:!0});eh.$worker=eh.$transferable=eh.$terminate=eh.$events=eh.$errors=void 0;eh.$errors=Symbol(\"thread.errors\");eh.$events=Symbol(\"thread.events\");eh.$terminate=Symbol(\"thread.terminate\");eh.$transferable=Symbol(\"thread.transferable\");eh.$worker=Symbol(\"thread.worker\")});var xF=Br(ZI=>{\"use strict\";Object.defineProperty(ZI,\"__esModule\",{value:!0});ZI.Thread=void 0;var vF=US();function tX(e){throw Error(e)}ZI.Thread={errors(e){return e[vF.$errors]||tX(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},events(e){return e[vF.$events]||tX(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},terminate(e){return e[vF.$terminate]()}}});var nX=Br(rh=>{\"use strict\";var s_=rh&&rh.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},fxt=rh&&rh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rh,\"__esModule\",{value:!0});rh.Pool=rh.Thread=rh.PoolEventType=void 0;var dxt=fxt(VI()),bF=zS(),eX=K$(),pxt=aF(),ia=J$();Object.defineProperty(rh,\"PoolEventType\",{enumerable:!0,get:function(){return ia.PoolEventType}});var rX=xF();Object.defineProperty(rh,\"Thread\",{enumerable:!0,get:function(){return rX.Thread}});var Axt=1;function mxt(e){let t=[];for(let r=0;rsetTimeout(t,e))}function _xt(e,t){return e.reduce((r,i)=>[...r,...t(i)],[])}function yxt(e){return e.replace(/\\W/g,\" \").trim().replace(/\\s+/g,\"-\")}function vxt(e,t){return mxt(t).map(()=>({init:e(),runningTasks:[]}))}var YI=class{constructor(t,r){this.eventSubject=new bF.Subject,this.initErrors=[],this.isClosing=!1,this.nextTaskID=1,this.taskQueue=[];let i=typeof r==\"number\"?{size:r}:r||{},{size:s=pxt.defaultPoolSize}=i;this.debug=dxt.default(`threads:pool:${yxt(i.name||String(Axt++))}`),this.options=i,this.workers=vxt(t,s),this.eventObservable=bF.multicast(bF.Observable.from(this.eventSubject)),Promise.all(this.workers.map(n=>n.init)).then(()=>this.eventSubject.next({type:ia.PoolEventType.initialized,size:this.workers.length}),n=>{this.debug(\"Error while initializing pool worker:\",n),this.eventSubject.error(n),this.initErrors.push(n)})}findIdlingWorker(){let{concurrency:t=1}=this.options;return this.workers.find(r=>r.runningTasks.length{t.runningTasks=t.runningTasks.filter(n=>n!==i)};yield gxt(0);try{yield this.runPoolTask(t,r)}finally{s(),this.isClosing||this.scheduleWork()}});t.runningTasks.push(i)})}scheduleWork(){this.debug(\"Attempt de-queueing a task in order to run it...\");let t=this.findIdlingWorker();if(!t)return;let r=this.taskQueue.shift();if(!r){this.debug(\"Task queue is empty\"),this.eventSubject.next({type:ia.PoolEventType.taskQueueDrained});return}this.run(t,r)}taskCompletion(t){return new Promise((r,i)=>{let s=this.events().subscribe(n=>{n.type===ia.PoolEventType.taskCompleted&&n.taskID===t?(s.unsubscribe(),r(n.returnValue)):n.type===ia.PoolEventType.taskFailed&&n.taskID===t?(s.unsubscribe(),i(n.error)):n.type===ia.PoolEventType.terminated&&(s.unsubscribe(),i(Error(\"Pool has been terminated before task was run.\")))})})}settled(t=!1){return s_(this,void 0,void 0,function*(){let r=()=>_xt(this.workers,n=>n.runningTasks),i=[],s=this.eventObservable.subscribe(n=>{n.type===ia.PoolEventType.taskFailed&&i.push(n.error)});return this.initErrors.length>0?Promise.reject(this.initErrors[0]):t&&this.taskQueue.length===0?(yield eX.allSettled(r()),i):(yield new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained&&(c.unsubscribe(),n(void 0))},error:o})}),yield eX.allSettled(r()),s.unsubscribe(),i)})}completed(t=!1){return s_(this,void 0,void 0,function*(){let r=this.settled(t),i=new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained?(c.unsubscribe(),n(r)):f.type===ia.PoolEventType.taskFailed&&(c.unsubscribe(),o(f.error))},error:o})}),s=yield Promise.race([r,i]);if(s.length>0)throw s[0]})}events(){return this.eventObservable}queue(t){let{maxQueuedJobs:r=1/0}=this.options;if(this.isClosing)throw Error(\"Cannot schedule pool tasks after terminate() has been called.\");if(this.initErrors.length>0)throw this.initErrors[0];let i=this.nextTaskID++,s=this.taskCompletion(i);s.catch(o=>{this.debug(`Task #${i} errored:`,o)});let n={id:i,run:t,cancel:()=>{this.taskQueue.indexOf(n)!==-1&&(this.taskQueue=this.taskQueue.filter(o=>o!==n),this.eventSubject.next({type:ia.PoolEventType.taskCanceled,taskID:n.id}))},then:s.then.bind(s)};if(this.taskQueue.length>=r)throw Error(`Maximum number of pool tasks queued. Refusing to queue another one.\nThis usually happens for one of two reasons: We are either at peak workload right now or some tasks just won't finish, thus blocking the pool.`);return this.debug(`Queueing task #${n.id}...`),this.taskQueue.push(n),this.eventSubject.next({type:ia.PoolEventType.taskQueued,taskID:n.id}),this.scheduleWork(),n}terminate(t){return s_(this,void 0,void 0,function*(){this.isClosing=!0,t||(yield this.completed(!0)),this.eventSubject.next({type:ia.PoolEventType.terminated,remainingQueue:[...this.taskQueue]}),this.eventSubject.complete(),yield Promise.all(this.workers.map(r=>s_(this,void 0,void 0,function*(){return rX.Thread.terminate(yield r.init)})))})}};YI.EventType=ia.PoolEventType;function iX(e,t){return new YI(e,t)}iX.EventType=ia.PoolEventType;rh.Pool=iX});var sX=Br(QI=>{\"use strict\";Object.defineProperty(QI,\"__esModule\",{value:!0});QI.createPromiseWithResolver=void 0;var xxt=()=>{};function bxt(){let e=!1,t,r=xxt;return[new Promise(n=>{e?n(t):r=n}),n=>{e=!0,t=n,r(t)}]}QI.createPromiseWithResolver=bxt});var oX=Br(VS=>{\"use strict\";Object.defineProperty(VS,\"__esModule\",{value:!0});VS.WorkerEventType=void 0;var hce=US(),wxt;(function(e){e.internalError=\"internalError\",e.message=\"message\",e.termination=\"termination\"})(wxt=VS.WorkerEventType||(VS.WorkerEventType={}))});var lX=Br($I=>{\"use strict\";Object.defineProperty($I,\"__esModule\",{value:!0});$I.ObservablePromise=void 0;var Sxt=zS(),Txt=()=>{},Mxt=e=>e,aX=e=>Promise.resolve().then(e);function Ext(e){throw e}function Pxt(e){return e&&typeof e.then==\"function\"}var wF=class e extends Sxt.Observable{constructor(t){super(r=>{let i=this,s=Object.assign(Object.assign({},r),{complete(){r.complete(),i.onCompletion()},error(n){r.error(n),i.onError(n)},next(n){r.next(n),i.onNext(n)}});try{return this.initHasRun=!0,t(s)}catch(n){s.error(n)}}),this.initHasRun=!1,this.fulfillmentCallbacks=[],this.rejectionCallbacks=[],this.firstValueSet=!1,this.state=\"pending\"}onNext(t){this.firstValueSet||(this.firstValue=t,this.firstValueSet=!0)}onError(t){this.state=\"rejected\",this.rejection=t;for(let r of this.rejectionCallbacks)aX(()=>r(t))}onCompletion(){this.state=\"fulfilled\";for(let t of this.fulfillmentCallbacks)aX(()=>t(this.firstValue))}then(t,r){let i=t||Mxt,s=r||Ext,n=!1;return new Promise((o,c)=>{let f=w=>{if(!n){n=!0;try{o(s(w))}catch(I){c(I)}}},_=w=>{try{o(i(w))}catch(I){f(I)}};if(this.initHasRun||this.subscribe({error:f}),this.state===\"fulfilled\")return o(i(this.firstValue));if(this.state===\"rejected\")return n=!0,o(s(this.rejection));this.fulfillmentCallbacks.push(_),this.rejectionCallbacks.push(f)})}catch(t){return this.then(void 0,t)}finally(t){let r=t||Txt;return this.then(i=>(r(),i),()=>r())}static from(t){return Pxt(t)?new e(r=>{let i=n=>{r.next(n),r.complete()},s=n=>{r.error(n)};t.then(i,s)}):super.from(t)}};$I.ObservablePromise=wF});var jS=Br(Dx=>{\"use strict\";Object.defineProperty(Dx,\"__esModule\",{value:!0});Dx.Transfer=Dx.isTransferDescriptor=void 0;var cX=US();function Ixt(e){return!(!e||typeof e!=\"object\")}function Cxt(e){return e&&typeof e==\"object\"&&e[cX.$transferable]}Dx.isTransferDescriptor=Cxt;function Lxt(e,t){if(!t){if(!Ixt(e))throw Error();t=[e]}return{[cX.$transferable]:!0,send:e,transferables:t}}Dx.Transfer=Lxt});var SF=Br(Om=>{\"use strict\";Object.defineProperty(Om,\"__esModule\",{value:!0});Om.WorkerMessageType=Om.MasterMessageType=void 0;var kxt;(function(e){e.cancel=\"cancel\",e.run=\"run\"})(kxt=Om.MasterMessageType||(Om.MasterMessageType={}));var Rxt;(function(e){e.error=\"error\",e.init=\"init\",e.result=\"result\",e.running=\"running\",e.uncaughtError=\"uncaughtError\"})(Rxt=Om.WorkerMessageType||(Om.WorkerMessageType={}))});var pX=Br(Bm=>{\"use strict\";var Dxt=Bm&&Bm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bm,\"__esModule\",{value:!0});Bm.createProxyModule=Bm.createProxyFunction=void 0;var Oxt=Dxt(VI()),hX=zS(),GS=Mx(),uX=lX(),Bxt=jS(),WS=SF(),fX=Oxt.default(\"threads:master:messages\"),Fxt=1,zxt=e=>Array.from(new Set(e)),Nxt=e=>e&&e.type===WS.WorkerMessageType.error,Uxt=e=>e&&e.type===WS.WorkerMessageType.result,Vxt=e=>e&&e.type===WS.WorkerMessageType.running;function jxt(e,t){return new hX.Observable(r=>{let i,s=n=>{if(fX(\"Message from worker:\",n.data),!(!n.data||n.data.uid!==t)){if(Vxt(n.data))i=n.data.resultType;else if(Uxt(n.data))i===\"promise\"?(typeof n.data.payload<\"u\"&&r.next(GS.deserialize(n.data.payload)),r.complete(),e.removeEventListener(\"message\",s)):(n.data.payload&&r.next(GS.deserialize(n.data.payload)),n.data.complete&&(r.complete(),e.removeEventListener(\"message\",s)));else if(Nxt(n.data)){let o=GS.deserialize(n.data.error);r.error(o),e.removeEventListener(\"message\",s)}}};return e.addEventListener(\"message\",s),()=>{if(i===\"observable\"||!i){let n={type:WS.MasterMessageType.cancel,uid:t};e.postMessage(n)}e.removeEventListener(\"message\",s)}})}function Gxt(e){if(e.length===0)return{args:[],transferables:[]};let t=[],r=[];for(let i of e)Bxt.isTransferDescriptor(i)?(t.push(GS.serialize(i.send)),r.push(...i.transferables)):t.push(GS.serialize(i));return{args:t,transferables:r.length===0?r:zxt(r)}}function dX(e,t){return(...r)=>{let i=Fxt++,{args:s,transferables:n}=Gxt(r),o={type:WS.MasterMessageType.run,uid:i,method:t,args:s};fX(\"Sending command to run function to worker:\",o);try{e.postMessage(o,n)}catch(c){return uX.ObservablePromise.from(Promise.reject(c))}return uX.ObservablePromise.from(hX.multicast(jxt(e,i)))}}Bm.createProxyFunction=dX;function Wxt(e,t){let r={};for(let i of t)r[i]=dX(e,i);return r}Bm.createProxyModule=Wxt});var _X=Br(Fm=>{\"use strict\";var TF=Fm&&Fm.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Hxt=Fm&&Fm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fm,\"__esModule\",{value:!0});Fm.spawn=void 0;var MF=Hxt(VI()),qxt=zS(),Zxt=Mx(),Yxt=sX(),XI=US(),KI=oX(),AX=pX(),Qxt=MF.default(\"threads:master:messages\"),$xt=MF.default(\"threads:master:spawn\"),gX=MF.default(\"threads:master:thread-utils\"),Xxt=e=>e&&e.type===\"init\",Kxt=e=>e&&e.type===\"uncaughtError\",Jxt=typeof process<\"u\"&&process.env.THREADS_WORKER_INIT_TIMEOUT?Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT,10):1e4;function t1t(e,t,r){return TF(this,void 0,void 0,function*(){let i,s=new Promise((o,c)=>{i=setTimeout(()=>c(Error(r)),t)}),n=yield Promise.race([e,s]);return clearTimeout(i),n})}function e1t(e){return new Promise((t,r)=>{let i=s=>{Qxt(\"Message from worker before finishing initialization:\",s.data),Xxt(s.data)?(e.removeEventListener(\"message\",i),t(s.data)):Kxt(s.data)&&(e.removeEventListener(\"message\",i),r(Zxt.deserialize(s.data.error)))};e.addEventListener(\"message\",i)})}function r1t(e,t){return new qxt.Observable(r=>{let i=n=>{let o={type:KI.WorkerEventType.message,data:n.data};r.next(o)},s=n=>{gX(\"Unhandled promise rejection event in thread:\",n);let o={type:KI.WorkerEventType.internalError,error:Error(n.reason)};r.next(o)};e.addEventListener(\"message\",i),e.addEventListener(\"unhandledrejection\",s),t.then(()=>{let n={type:KI.WorkerEventType.termination};e.removeEventListener(\"message\",i),e.removeEventListener(\"unhandledrejection\",s),r.next(n),r.complete()})})}function i1t(e){let[t,r]=Yxt.createPromiseWithResolver();return{terminate:()=>TF(this,void 0,void 0,function*(){gX(\"Terminating worker\"),yield e.terminate(),r()}),termination:t}}function mX(e,t,r,i){let s=r.filter(n=>n.type===KI.WorkerEventType.internalError).map(n=>n.error);return Object.assign(e,{[XI.$errors]:s,[XI.$events]:r,[XI.$terminate]:i,[XI.$worker]:t})}function n1t(e,t){return TF(this,void 0,void 0,function*(){$xt(\"Initializing new thread\");let r=t&&t.timeout?t.timeout:Jxt,s=(yield t1t(e1t(e),r,`Timeout: Did not receive an init message from worker after ${r}ms. Make sure the worker calls expose().`)).exposed,{termination:n,terminate:o}=i1t(e),c=r1t(e,n);if(s.type===\"function\"){let f=AX.createProxyFunction(e);return mX(f,e,c,o)}else if(s.type===\"module\"){let f=AX.createProxyModule(e,s.methods);return mX(f,e,c,o)}else{let f=s.type;throw Error(`Worker init message states unexpected type of expose(): ${f}`)}})}Fm.spawn=n1t});var yX=Br(Cc=>{\"use strict\";Object.defineProperty(Cc,\"__esModule\",{value:!0});Cc.Worker=Cc.BlobWorker=Cc.isWorkerRuntime=Cc.Thread=Cc.spawn=Cc.Pool=void 0;var EF=aF();Object.defineProperty(Cc,\"isWorkerRuntime\",{enumerable:!0,get:function(){return EF.isWorkerRuntime}});var s1t=nX();Object.defineProperty(Cc,\"Pool\",{enumerable:!0,get:function(){return s1t.Pool}});var o1t=_X();Object.defineProperty(Cc,\"spawn\",{enumerable:!0,get:function(){return o1t.spawn}});var a1t=xF();Object.defineProperty(Cc,\"Thread\",{enumerable:!0,get:function(){return a1t.Thread}});Cc.BlobWorker=EF.getWorkerImplementation().blob;Cc.Worker=EF.getWorkerImplementation().default});var xX=Br((yce,vX)=>{\"use strict\";vX.exports=e=>e?typeof Symbol.observable==\"symbol\"&&typeof e[Symbol.observable]==\"function\"?e===e[Symbol.observable]():typeof e[\"@@observable\"]==\"function\"?e===e[\"@@observable\"]():!1:!1});var bX=Br(PF=>{\"use strict\";Object.defineProperty(PF,\"__esModule\",{value:!0});var l1t=function(){let t=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!t)},c1t=function(t,r){self.postMessage(t,r)},u1t=function(t){let r=s=>{t(s.data)},i=()=>{self.removeEventListener(\"message\",r)};return self.addEventListener(\"message\",r),i};PF.default={isWorkerRuntime:l1t,postMessageToMaster:c1t,subscribeToMasterMessages:u1t}});var IX=Br(Lc=>{\"use strict\";var h1t=Lc&&Lc.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},EX=Lc&&Lc.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lc,\"__esModule\",{value:!0});Lc.expose=Lc.isWorkerRuntime=Lc.Transfer=Lc.registerSerializer=void 0;var f1t=EX(xX()),zm=Mx(),d1t=jS(),Nm=SF(),fu=EX(bX()),p1t=Mx();Object.defineProperty(Lc,\"registerSerializer\",{enumerable:!0,get:function(){return p1t.registerSerializer}});var A1t=jS();Object.defineProperty(Lc,\"Transfer\",{enumerable:!0,get:function(){return A1t.Transfer}});Lc.isWorkerRuntime=fu.default.isWorkerRuntime;var wX=!1,HS=new Map,m1t=e=>e&&e.type===Nm.MasterMessageType.cancel,SX=e=>e&&e.type===Nm.MasterMessageType.run,TX=e=>f1t.default(e)||g1t(e);function g1t(e){return e&&typeof e==\"object\"&&typeof e.subscribe==\"function\"}function PX(e){return d1t.isTransferDescriptor(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function _1t(){let e={type:Nm.WorkerMessageType.init,exposed:{type:\"function\"}};fu.default.postMessageToMaster(e)}function y1t(e){let t={type:Nm.WorkerMessageType.init,exposed:{type:\"module\",methods:e}};fu.default.postMessageToMaster(t)}function IF(e,t){let{payload:r,transferables:i}=PX(t),s={type:Nm.WorkerMessageType.error,uid:e,error:zm.serialize(r)};fu.default.postMessageToMaster(s,i)}function CF(e,t,r){let{payload:i,transferables:s}=PX(r),n={type:Nm.WorkerMessageType.result,uid:e,complete:t?!0:void 0,payload:i};fu.default.postMessageToMaster(n,s)}function v1t(e,t){let r={type:Nm.WorkerMessageType.running,uid:e,resultType:t};fu.default.postMessageToMaster(r)}function JI(e){try{let t={type:Nm.WorkerMessageType.uncaughtError,error:zm.serialize(e)};fu.default.postMessageToMaster(t)}catch(t){console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:`,t,`\nOriginal error:`,e)}}function MX(e,t,r){return h1t(this,void 0,void 0,function*(){let i;try{i=t(...r)}catch(n){return IF(e,n)}let s=TX(i)?\"observable\":\"promise\";if(v1t(e,s),TX(i)){let n=i.subscribe(o=>CF(e,!1,zm.serialize(o)),o=>{IF(e,zm.serialize(o)),HS.delete(e)},()=>{CF(e,!0),HS.delete(e)});HS.set(e,n)}else try{let n=yield i;CF(e,!0,zm.serialize(n))}catch(n){IF(e,zm.serialize(n))}})}function x1t(e){if(!fu.default.isWorkerRuntime())throw Error(\"expose() called in the master thread.\");if(wX)throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");if(wX=!0,typeof e==\"function\")fu.default.subscribeToMasterMessages(t=>{SX(t)&&!t.method&&MX(t.uid,e,t.args.map(zm.deserialize))}),_1t();else if(typeof e==\"object\"&&e){fu.default.subscribeToMasterMessages(r=>{SX(r)&&r.method&&MX(r.uid,e[r.method],r.args.map(zm.deserialize))});let t=Object.keys(e).filter(r=>typeof e[r]==\"function\");y1t(t)}else throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);fu.default.subscribeToMasterMessages(t=>{if(m1t(t)){let r=t.uid,i=HS.get(r);i&&(i.unsubscribe(),HS.delete(r))}})}Lc.expose=x1t;typeof self<\"u\"&&typeof self.addEventListener==\"function\"&&fu.default.isWorkerRuntime()&&(self.addEventListener(\"error\",e=>{setTimeout(()=>JI(e.error||e),250)}),self.addEventListener(\"unhandledrejection\",e=>{let t=e.reason;t&&typeof t.message==\"string\"&&setTimeout(()=>JI(t),250)}));typeof process<\"u\"&&typeof process.on==\"function\"&&fu.default.isWorkerRuntime()&&(process.on(\"uncaughtException\",e=>{setTimeout(()=>JI(e),250)}),process.on(\"unhandledRejection\",e=>{e&&typeof e.message==\"string\"&&setTimeout(()=>JI(e),250)}))});var CX=Br(Fl=>{\"use strict\";var b1t=Fl&&Fl.__createBinding||(Object.create?function(e,t,r,i){i===void 0&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]}),w1t=Fl&&Fl.__exportStar||function(e,t){for(var r in e)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r)&&b1t(t,e,r)};Object.defineProperty(Fl,\"__esModule\",{value:!0});Fl.Transfer=Fl.DefaultSerializer=Fl.expose=Fl.registerSerializer=void 0;var S1t=Mx();Object.defineProperty(Fl,\"registerSerializer\",{enumerable:!0,get:function(){return S1t.registerSerializer}});w1t(yX(),Fl);var T1t=IX();Object.defineProperty(Fl,\"expose\",{enumerable:!0,get:function(){return T1t.expose}});var M1t=nF();Object.defineProperty(Fl,\"DefaultSerializer\",{enumerable:!0,get:function(){return M1t.DefaultSerializer}});var E1t=jS();Object.defineProperty(Fl,\"Transfer\",{enumerable:!0,get:function(){return E1t.Transfer}})});var hC=Ri(Yi(),1),a_=Ri(Yi(),1);var ec=Ri(Yi(),1),U8=Ri(N8(),1),V8=ec.createContext(null);function Ket(){let e=ec.useContext(V8);if(!e)throw new Error(\"RenderContext not found\");return e}function Y1(){return Ket().model}function zA(e){let t=Y1(),[r,i]=ec.useState(t.get(e));return ec.useEffect(()=>{let s=()=>i(t.get(e));return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),t.save_changes()}]}function j8(e){return({el:t,model:r,experimental:i})=>{let s=U8.createRoot(t);return s.render(ec.createElement(ec.StrictMode,null,ec.createElement(V8.Provider,{value:{model:r,experimental:i}},ec.createElement(e)))),()=>s.unmount()}}var rU=Ri(Yi());var cy=Ri(Yi()),Yc=Ri(Yi());var m4=Ri(Yi()),zM=Ri(Yi());var G8=m4.createContext(null);function W8(e,t){let r=Array.isArray(e)?e[0]:e?e.x:0,i=Array.isArray(e)?e[1]:e?e.y:0,s=Array.isArray(t)?t[0]:t?t.x:0,n=Array.isArray(t)?t[1]:t?t.y:0;return r===s&&i===n}function rc(e,t){if(e===t)return!0;if(!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r{let s=null;\"interactive\"in i&&(s=Object.assign({},i),delete s.interactive);let n=t[i.ref];if(n){s=s||Object.assign({},i),delete s.ref;for(let o of Jet)o in n&&(s[o]=n[o])}return s||i});return{...e,layers:r}}var q8={version:8,sources:{},layers:[]},Z8={mousedown:\"onMouseDown\",mouseup:\"onMouseUp\",mouseover:\"onMouseOver\",mousemove:\"onMouseMove\",click:\"onClick\",dblclick:\"onDblClick\",mouseenter:\"onMouseEnter\",mouseleave:\"onMouseLeave\",mouseout:\"onMouseOut\",contextmenu:\"onContextMenu\",touchstart:\"onTouchStart\",touchend:\"onTouchEnd\",touchmove:\"onTouchMove\",touchcancel:\"onTouchCancel\"},x4={movestart:\"onMoveStart\",move:\"onMove\",moveend:\"onMoveEnd\",dragstart:\"onDragStart\",drag:\"onDrag\",dragend:\"onDragEnd\",zoomstart:\"onZoomStart\",zoom:\"onZoom\",zoomend:\"onZoomEnd\",rotatestart:\"onRotateStart\",rotate:\"onRotate\",rotateend:\"onRotateEnd\",pitchstart:\"onPitchStart\",pitch:\"onPitch\",pitchend:\"onPitchEnd\"},Y8={wheel:\"onWheel\",boxzoomstart:\"onBoxZoomStart\",boxzoomend:\"onBoxZoomEnd\",boxzoomcancel:\"onBoxZoomCancel\",resize:\"onResize\",load:\"onLoad\",render:\"onRender\",idle:\"onIdle\",remove:\"onRemove\",data:\"onData\",styledata:\"onStyleData\",sourcedata:\"onSourceData\",error:\"onError\"},trt=[\"minZoom\",\"maxZoom\",\"minPitch\",\"maxPitch\",\"maxBounds\",\"projection\",\"renderWorldCopies\"],ert=[\"scrollZoom\",\"boxZoom\",\"dragRotate\",\"dragPan\",\"keyboard\",\"doubleClickZoom\",\"touchZoomRotate\",\"touchPitch\"],R0=class e{constructor(t,r,i){this._map=null,this._internalUpdate=!1,this._inRender=!1,this._hoveredFeatures=null,this._deferredEvents={move:!1,zoom:!1,pitch:!1,rotate:!1},this._onEvent=s=>{let n=this.props[Y8[s.type]];n?n(s):s.type===\"error\"&&console.error(s.error)},this._onPointerEvent=s=>{(s.type===\"mousemove\"||s.type===\"mouseout\")&&this._updateHover(s);let n=this.props[Z8[s.type]];n&&(this.props.interactiveLayerIds&&s.type!==\"mouseover\"&&s.type!==\"mouseout\"&&(s.features=this._hoveredFeatures||this._queryRenderedFeatures(s.point)),n(s),delete s.features)},this._onCameraEvent=s=>{if(!this._internalUpdate){let n=this.props[x4[s.type]];n&&n(s)}s.type in this._deferredEvents&&(this._deferredEvents[s.type]=!1)},this._MapClass=t,this.props=r,this._initialize(i)}get map(){return this._map}get transform(){return this._renderTransform}setProps(t){let r=this.props;this.props=t;let i=this._updateSettings(t,r);i&&this._createShadowTransform(this._map);let s=this._updateSize(t),n=this._updateViewState(t,!0);this._updateStyle(t,r),this._updateStyleComponents(t,r),this._updateHandlers(t,r),(i||s||n&&!this._map.isMoving())&&this.redraw()}static reuse(t,r){let i=e.savedMaps.pop();if(!i)return null;let s=i.map,n=s.getContainer();for(r.className=n.className;n.childNodes.length>0;)r.appendChild(n.childNodes[0]);s._container=r;let o=s._resizeObserver;o&&(o.disconnect(),o.observe(r)),i.setProps({...t,styleDiffing:!1}),s.resize();let{initialViewState:c}=t;return c&&(c.bounds?s.fitBounds(c.bounds,{...c.fitBoundsOptions,duration:0}):i._updateViewState(c,!1)),s.isStyleLoaded()?s.fire(\"load\"):s.once(\"styledata\",()=>s.fire(\"load\")),s._update(),i}_initialize(t){let{props:r}=this,{mapStyle:i=q8}=r,s={...r,...r.initialViewState,accessToken:r.mapboxAccessToken||rrt()||null,container:t,style:v4(i)},n=s.initialViewState||s.viewState||s;if(Object.assign(s,{center:[n.longitude||0,n.latitude||0],zoom:n.zoom||0,pitch:n.pitch||0,bearing:n.bearing||0}),r.gl){let w=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=()=>(HTMLCanvasElement.prototype.getContext=w,r.gl)}let o=new this._MapClass(s);n.padding&&o.setPadding(n.padding),r.cursor&&(o.getCanvas().style.cursor=r.cursor),this._createShadowTransform(o);let c=o._render;o._render=w=>{this._inRender=!0,c.call(o,w),this._inRender=!1};let f=o._renderTaskQueue.run;o._renderTaskQueue.run=w=>{f.call(o._renderTaskQueue,w),this._onBeforeRepaint()},o.on(\"render\",()=>this._onAfterRepaint());let _=o.fire;o.fire=this._fireEvent.bind(this,_),o.on(\"resize\",()=>{this._renderTransform.resize(o.transform.width,o.transform.height)}),o.on(\"styledata\",()=>{this._updateStyleComponents(this.props,{}),g4(o.transform,this._renderTransform)}),o.on(\"sourcedata\",()=>this._updateStyleComponents(this.props,{}));for(let w in Z8)o.on(w,this._onPointerEvent);for(let w in x4)o.on(w,this._onCameraEvent);for(let w in Y8)o.on(w,this._onEvent);this._map=o}recycle(){let r=this.map.getContainer().querySelector(\"[mapboxgl-children]\");r?.remove(),e.savedMaps.push(this)}destroy(){this._map.remove()}redraw(){let t=this._map;!this._inRender&&t.style&&(t._frame&&(t._frame.cancel(),t._frame=null),t._render())}_createShadowTransform(t){let r=H8(t.transform);t.painter.transform=r,this._renderTransform=r}_updateSize(t){let{viewState:r}=t;if(r){let i=this._map;if(r.width!==i.transform.width||r.height!==i.transform.height)return i.resize(),!0}return!1}_updateViewState(t,r){if(this._internalUpdate)return!1;let i=this._map,s=this._renderTransform,{zoom:n,pitch:o,bearing:c}=s,f=i.isMoving();f&&(s.cameraElevationReference=\"sea\");let _=y4(s,{..._4(i.transform),...t});if(f&&(s.cameraElevationReference=\"ground\"),_&&r){let w=this._deferredEvents;w.move=!0,w.zoom||(w.zoom=n!==s.zoom),w.rotate||(w.rotate=c!==s.bearing),w.pitch||(w.pitch=o!==s.pitch)}return f||y4(i.transform,t),_}_updateSettings(t,r){let i=this._map,s=!1;for(let n of trt)if(n in t&&!rc(t[n],r[n])){s=!0;let o=i[`set${n[0].toUpperCase()}${n.slice(1)}`];o?.call(i,t[n])}return s}_updateStyle(t,r){if(t.cursor!==r.cursor&&(this._map.getCanvas().style.cursor=t.cursor||\"\"),t.mapStyle!==r.mapStyle){let{mapStyle:i=q8,styleDiffing:s=!0}=t,n={diff:s};return\"localIdeographFontFamily\"in t&&(n.localIdeographFontFamily=t.localIdeographFontFamily),this._map.setStyle(v4(i),n),!0}return!1}_updateStyleComponents(t,r){let i=this._map,s=!1;return i.isStyleLoaded()&&(\"light\"in t&&i.setLight&&!rc(t.light,r.light)&&(s=!0,i.setLight(t.light)),\"fog\"in t&&i.setFog&&!rc(t.fog,r.fog)&&(s=!0,i.setFog(t.fog)),\"terrain\"in t&&i.setTerrain&&!rc(t.terrain,r.terrain)&&(!t.terrain||i.getSource(t.terrain.source))&&(s=!0,i.setTerrain(t.terrain))),s}_updateHandlers(t,r){var i,s;let n=this._map,o=!1;for(let c of ert){let f=(i=t[c])!==null&&i!==void 0?i:!0,_=(s=r[c])!==null&&s!==void 0?s:!0;rc(f,_)||(o=!0,f?n[c].enable(f):n[c].disable())}return o}_queryRenderedFeatures(t){let r=this._map,i=r.transform,{interactiveLayerIds:s=[]}=this.props;try{return r.transform=this._renderTransform,r.queryRenderedFeatures(t,{layers:s.filter(r.getLayer.bind(r))})}catch{return[]}finally{r.transform=i}}_updateHover(t){var r;let{props:i}=this;if(i.interactiveLayerIds&&(i.onMouseMove||i.onMouseEnter||i.onMouseLeave)){let n=t.type,o=((r=this._hoveredFeatures)===null||r===void 0?void 0:r.length)>0,c=this._queryRenderedFeatures(t.point),f=c.length>0;!f&&o&&(t.type=\"mouseleave\",this._onPointerEvent(t)),this._hoveredFeatures=c,f&&!o&&(t.type=\"mouseenter\",this._onPointerEvent(t)),t.type=n}else this._hoveredFeatures=null}_fireEvent(t,r,i){let s=this._map,n=s.transform,o=typeof r==\"string\"?r:r.type;return o===\"move\"&&this._updateViewState(this.props,!1),o in x4&&(typeof r==\"object\"&&(r.viewState=_4(n)),this._map.isMoving())?(s.transform=this._renderTransform,t.call(s,r,i),s.transform=n,s):(t.call(s,r,i),s)}_onBeforeRepaint(){let t=this._map;this._internalUpdate=!0;for(let i in this._deferredEvents)this._deferredEvents[i]&&t.fire(i);this._internalUpdate=!1;let r=this._map.transform;t.transform=this._renderTransform,this._onAfterRepaint=()=>{g4(this._renderTransform,r),t.transform=r}}};R0.savedMaps=[];function rrt(){let e=null;if(typeof location<\"u\"){let t=/access_token=([^&\\/]*)/.exec(location.search);e=t&&t[1]}try{e=e||process.env.MapboxAccessToken}catch{}try{e=e||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN}catch{}return e}var irt=[\"setMaxBounds\",\"setMinZoom\",\"setMaxZoom\",\"setMinPitch\",\"setMaxPitch\",\"setRenderWorldCopies\",\"setProjection\",\"setStyle\",\"addSource\",\"removeSource\",\"addLayer\",\"removeLayer\",\"setLayerZoomRange\",\"setFilter\",\"setPaintProperty\",\"setLayoutProperty\",\"setLight\",\"setTerrain\",\"setFog\",\"remove\"];function b4(e){if(!e)return null;let t=e.map,r={getMap:()=>t,getCenter:()=>e.transform.center,getZoom:()=>e.transform.zoom,getBearing:()=>e.transform.bearing,getPitch:()=>e.transform.pitch,getPadding:()=>e.transform.padding,getBounds:()=>e.transform.getBounds(),project:i=>{let s=t.transform;t.transform=e.transform;let n=t.project(i);return t.transform=s,n},unproject:i=>{let s=t.transform;t.transform=e.transform;let n=t.unproject(i);return t.transform=s,n},queryTerrainElevation:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryTerrainElevation(i,s);return t.transform=n,o},queryRenderedFeatures:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryRenderedFeatures(i,s);return t.transform=n,o}};for(let i of nrt(t))!(i in r)&&!irt.includes(i)&&(r[i]=t[i].bind(t));return r}function nrt(e){let t=new Set,r=e;for(;r;){for(let i of Object.getOwnPropertyNames(r))i[0]!==\"_\"&&typeof e[i]==\"function\"&&i!==\"fire\"&&i!==\"setEventedParent\"&&t.add(i);r=Object.getPrototypeOf(r)}return Array.from(t)}var NM=Ri(Yi()),srt=typeof document<\"u\"?NM.useLayoutEffect:NM.useEffect,Q8=srt;var ort=[\"baseApiUrl\",\"maxParallelImageRequests\",\"workerClass\",\"workerCount\",\"workerUrl\"];function w4(e,t){for(let i of ort)i in t&&(e[i]=t[i]);let{RTLTextPlugin:r=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js\"}=t;r&&e.getRTLTextPluginStatus&&e.getRTLTextPluginStatus()===\"unavailable\"&&e.setRTLTextPlugin(r,i=>{i&&console.error(i)},!0)}var Of=cy.createContext(null);function S4(e,t,r){let i=(0,Yc.useContext)(G8),[s,n]=(0,Yc.useState)(null),o=(0,Yc.useRef)(),{current:c}=(0,Yc.useRef)({mapLib:null,map:null});(0,Yc.useEffect)(()=>{let w=e.mapLib,I=!0,R;return Promise.resolve(w||r).then(N=>{if(!I)return;if(!N)throw new Error(\"Invalid mapLib\");let j=\"Map\"in N?N:N.default;if(!j.Map)throw new Error(\"Invalid mapLib\");if(w4(j,e),!j.supported||j.supported(e))e.reuseMaps&&(R=R0.reuse(e,o.current)),R||(R=new R0(j.Map,e,o.current)),c.map=b4(R),c.mapLib=j,n(R),i?.onMapMount(c.map,e.id);else throw new Error(\"Map is not supported by this browser\")}).catch(N=>{let{onError:j}=e;j?j({type:\"error\",target:null,originalEvent:null,error:N}):console.error(N)}),()=>{I=!1,R&&(i?.onMapUnmount(e.id),e.reuseMaps?R.recycle():R.destroy())}},[]),Q8(()=>{s&&s.setProps(e)}),(0,Yc.useImperativeHandle)(t,()=>c.map,[s]);let f=(0,Yc.useMemo)(()=>({position:\"relative\",width:\"100%\",height:\"100%\",...e.style}),[e.style]),_={height:\"100%\"};return cy.createElement(\"div\",{id:e.id,ref:o,style:f},s&&cy.createElement(Of.Provider,{value:c},cy.createElement(\"div\",{\"mapboxgl-children\":\"\",style:_},e.children)))}var $8=Ri(Yi()),X8=Ri(FM()),Tl=Ri(Yi());var art=/box|flex|grid|column|lineHeight|fontWeight|opacity|order|tabSize|zIndex/;function ic(e,t){if(!e||!t)return;let r=e.style;for(let i in t){let s=t[i];Number.isFinite(s)&&!art.test(i)?r[i]=`${s}px`:r[i]=s}}function lrt(e,t){let{map:r,mapLib:i}=(0,Tl.useContext)(Of),s=(0,Tl.useRef)({props:e});s.current.props=e;let n=(0,Tl.useMemo)(()=>{let Q=!1;$8.Children.forEach(e.children,K=>{K&&(Q=!0)});let et={...e,element:Q?document.createElement(\"div\"):null},Y=new i.Marker(et);return Y.setLngLat([e.longitude,e.latitude]),Y.getElement().addEventListener(\"click\",K=>{var J,ut;(ut=(J=s.current.props).onClick)===null||ut===void 0||ut.call(J,{type:\"click\",target:Y,originalEvent:K})}),Y.on(\"dragstart\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragStart)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"drag\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDrag)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"dragend\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragEnd)===null||ut===void 0||ut.call(J,Et)}),Y},[]);(0,Tl.useEffect)(()=>(n.addTo(r.getMap()),()=>{n.remove()}),[]);let{longitude:o,latitude:c,offset:f,style:_,draggable:w=!1,popup:I=null,rotation:R=0,rotationAlignment:N=\"auto\",pitchAlignment:j=\"auto\"}=e;return(0,Tl.useEffect)(()=>{ic(n.getElement(),_)},[_]),(0,Tl.useImperativeHandle)(t,()=>n,[]),(n.getLngLat().lng!==o||n.getLngLat().lat!==c)&&n.setLngLat([o,c]),f&&!W8(n.getOffset(),f)&&n.setOffset(f),n.isDraggable()!==w&&n.setDraggable(w),n.getRotation()!==R&&n.setRotation(R),n.getRotationAlignment()!==N&&n.setRotationAlignment(N),n.getPitchAlignment()!==j&&n.setPitchAlignment(j),n.getPopup()!==I&&n.setPopup(I),(0,X8.createPortal)(e.children,n.getElement())}var crt=(0,Tl.memo)((0,Tl.forwardRef)(lrt));var J8=Ri(FM()),Xa=Ri(Yi());function K8(e){return new Set(e?e.trim().split(/\\s+/):[])}function urt(e,t){let{map:r,mapLib:i}=(0,Xa.useContext)(Of),s=(0,Xa.useMemo)(()=>document.createElement(\"div\"),[]),n=(0,Xa.useRef)({props:e});n.current.props=e;let o=(0,Xa.useMemo)(()=>{let c={...e},f=new i.Popup(c);return f.setLngLat([e.longitude,e.latitude]),f.once(\"open\",_=>{var w,I;(I=(w=n.current.props).onOpen)===null||I===void 0||I.call(w,_)}),f},[]);if((0,Xa.useEffect)(()=>{let c=f=>{var _,w;(w=(_=n.current.props).onClose)===null||w===void 0||w.call(_,f)};return o.on(\"close\",c),o.setDOMContent(s).addTo(r.getMap()),()=>{o.off(\"close\",c),o.isOpen()&&o.remove()}},[]),(0,Xa.useEffect)(()=>{ic(o.getElement(),e.style)},[e.style]),(0,Xa.useImperativeHandle)(t,()=>o,[]),o.isOpen()&&((o.getLngLat().lng!==e.longitude||o.getLngLat().lat!==e.latitude)&&o.setLngLat([e.longitude,e.latitude]),e.offset&&!rc(o.options.offset,e.offset)&&o.setOffset(e.offset),(o.options.anchor!==e.anchor||o.options.maxWidth!==e.maxWidth)&&(o.options.anchor=e.anchor,o.setMaxWidth(e.maxWidth)),o.options.className!==e.className)){let c=K8(o.options.className),f=K8(e.className);for(let _ of c)f.has(_)||o.removeClassName(_);for(let _ of f)c.has(_)||o.addClassName(_);o.options.className=e.className}return(0,J8.createPortal)(e.children,s)}var hrt=(0,Xa.memo)((0,Xa.forwardRef)(urt));var UM=Ri(Yi());var uy=Ri(Yi());function frt(e,t,r,i){let s=(0,uy.useContext)(Of),n=(0,uy.useMemo)(()=>e(s),[]);return(0,uy.useEffect)(()=>{let o=i||r||t,c=typeof t==\"function\"&&typeof r==\"function\"?t:null,f=typeof r==\"function\"?r:typeof t==\"function\"?t:null,{map:_}=s;return _.hasControl(n)||(_.addControl(n,o?.position),c&&c(s)),()=>{f&&f(s),_.hasControl(n)&&_.removeControl(n)}},[]),n}var kh=frt;function drt(e){let t=kh(({mapLib:r})=>new r.AttributionControl(e),{position:e.position});return(0,UM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var prt=(0,UM.memo)(drt);var VM=Ri(Yi());function Art(e){let t=kh(({mapLib:r})=>new r.FullscreenControl({container:e.containerId&&document.getElementById(e.containerId)}),{position:e.position});return(0,VM.useEffect)(()=>{ic(t._controlContainer,e.style)},[e.style]),null}var mrt=(0,VM.memo)(Art);var Bf=Ri(Yi());function grt(e,t){let r=(0,Bf.useRef)({props:e}),i=kh(({mapLib:s})=>{let n=new s.GeolocateControl(e),o=n._setupUI;return n._setupUI=c=>{n._container.hasChildNodes()||o(c)},n.on(\"geolocate\",c=>{var f,_;(_=(f=r.current.props).onGeolocate)===null||_===void 0||_.call(f,c)}),n.on(\"error\",c=>{var f,_;(_=(f=r.current.props).onError)===null||_===void 0||_.call(f,c)}),n.on(\"outofmaxbounds\",c=>{var f,_;(_=(f=r.current.props).onOutOfMaxBounds)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationstart\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationStart)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationend\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationEnd)===null||_===void 0||_.call(f,c)}),n},{position:e.position});return r.current.props=e,(0,Bf.useImperativeHandle)(t,()=>i,[]),(0,Bf.useEffect)(()=>{ic(i._container,e.style)},[e.style]),null}var _rt=(0,Bf.memo)((0,Bf.forwardRef)(grt));var jM=Ri(Yi());function yrt(e){let t=kh(({mapLib:r})=>new r.NavigationControl(e),{position:e.position});return(0,jM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var vrt=(0,jM.memo)(yrt);var hy=Ri(Yi());function xrt(e){let t=kh(({mapLib:n})=>new n.ScaleControl(e),{position:e.position}),r=(0,hy.useRef)(e),i=r.current;r.current=e;let{style:s}=e;return e.maxWidth!==void 0&&e.maxWidth!==i.maxWidth&&(t.options.maxWidth=e.maxWidth),e.unit!==void 0&&e.unit!==i.unit&&t.setUnit(e.unit),(0,hy.useEffect)(()=>{ic(t._container,s)},[s]),null}var brt=(0,hy.memo)(xrt);var Q1=Ri(Yi());var Srt=Ri(Yi()),$1=Ri(Yi()),Trt=Ri(Yi());var Mrt=Promise.resolve().then(()=>Ri(eU())),Ert=rU.forwardRef(function(t,r){return S4(t,r,Mrt)});var iU=Ert;var Do=Ri(Yi());function NA(e,t){if(!e)throw new Error(t||\"loader assertion failed.\")}var Ff={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Prt=Ff.self||Ff.window||Ff.global||{},Irt=Ff.window||Ff.self||Ff.global||{},Crt=Ff.global||Ff.self||Ff.window||{},Lrt=Ff.document||{};var D0=!!(typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser);var nU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),krt=nU&&parseFloat(nU[1])||0;var sU=\"3.4.14\";function Ka(e,t){if(!e)throw new Error(t||\"loaders.gl assertion failed.\")}var zf={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Xwt=zf.self||zf.window||zf.global||{},Kwt=zf.window||zf.self||zf.global||{},Jwt=zf.global||zf.self||zf.window||{},t2t=zf.document||{};var O0=typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser;var aU=typeof window<\"u\"&&typeof window.orientation<\"u\",oU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),e2t=oU&&parseFloat(oU[1])||0;function B0(e){\"@babel/helpers - typeof\";return B0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B0(e)}function lU(e,t){if(B0(e)!=\"object\"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||\"default\");if(B0(i)!=\"object\")return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function cU(e){var t=lU(e,\"string\");return B0(t)==\"symbol\"?t:t+\"\"}function G(e,t,r){return(t=cU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var X1=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"workerThread\",void 0),G(this,\"isRunning\",!0),G(this,\"result\",void 0),G(this,\"_resolve\",()=>{}),G(this,\"_reject\",()=>{}),this.name=t,this.workerThread=r,this.result=new Promise((i,s)=>{this._resolve=i,this._reject=s})}postMessage(t,r){this.workerThread.postMessage({source:\"loaders.gl\",type:t,payload:r})}done(t){Ka(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ka(this.isRunning),this.isRunning=!1,this._reject(t)}};var fy=class{terminate(){}};var E4=new Map;function uU(e){Ka(e.source&&!e.url||!e.source&&e.url);let t=E4.get(e.source||e.url);return t||(e.url&&(t=Rrt(e.url),E4.set(e.url,t)),e.source&&(t=hU(e.source),E4.set(e.source,t))),Ka(t),t}function Rrt(e){if(!e.startsWith(\"http\"))return e;let t=Drt(e);return hU(t)}function hU(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Drt(e){return`try {\n importScripts('`.concat(e,`');\n} catch (error) {\n console.error(error);\n throw error;\n}`)}function P4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(e){if(fU(e))i.add(e);else if(fU(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e==\"object\")for(let s in e)P4(e[s],t,i)}}return r===void 0?Array.from(i):[]}function fU(e){return e?e instanceof ArrayBuffer||typeof MessagePort<\"u\"&&e instanceof MessagePort||typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap||typeof OffscreenCanvas<\"u\"&&e instanceof OffscreenCanvas:!1}var I4=()=>{},UA=class{static isSupported(){return typeof Worker<\"u\"&&O0||typeof fy<\"u\"&&!O0}constructor(t){G(this,\"name\",void 0),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"terminated\",!1),G(this,\"worker\",void 0),G(this,\"onMessage\",void 0),G(this,\"onError\",void 0),G(this,\"_loadableURL\",\"\");let{name:r,source:i,url:s}=t;Ka(i||s),this.name=r,this.source=i,this.url=s,this.onMessage=I4,this.onError=n=>console.log(n),this.worker=O0?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=I4,this.onError=I4,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(t,r){r=r||P4(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r=\"Failed to load \";return r+=\"worker \".concat(this.name,\" from \").concat(this.url,\". \"),t.message&&(r+=\"\".concat(t.message,\" in \")),t.lineno&&(r+=\":\".concat(t.lineno,\":\").concat(t.colno)),new Error(r)}_createBrowserWorker(){this._loadableURL=uU({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error(\"No data received\"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let i=this.url.includes(\":/\")||this.url.startsWith(\"/\")?this.url:\"./\".concat(this.url);t=new fy(i,{eval:!1})}else if(this.source)t=new fy(this.source,{eval:!0});else throw new Error(\"no worker\");return t.on(\"message\",r=>{this.onMessage(r)}),t.on(\"error\",r=>{this.onError(r)}),t.on(\"exit\",r=>{}),t}};var K1=class{static isSupported(){return UA.isSupported()}constructor(t){G(this,\"name\",\"unnamed\"),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"maxConcurrency\",1),G(this,\"maxMobileConcurrency\",1),G(this,\"onDebug\",()=>{}),G(this,\"reuseWorkers\",!0),G(this,\"props\",{}),G(this,\"jobQueue\",[]),G(this,\"idleQueue\",[]),G(this,\"count\",0),G(this,\"isDestroyed\",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(n,o,c)=>n.done(c),i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(n,o)=>n.error(o),s=new Promise(n=>(this.jobQueue.push({name:t,onMessage:r,onError:i,onStart:n}),this));return this._startQueuedJob(),await s}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:\"Starting job\",name:r.name,workerThread:t,backlog:this.jobQueue.length});let i=new X1(r.name,t);t.onMessage=s=>r.onMessage(i,s.type,s.payload),t.onError=s=>r.onError(i,s),r.onStart(i);try{await i.result}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}},VA=class e{static isSupported(){return UA.isSupported()}static getWorkerFarm(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}constructor(t){G(this,\"props\",void 0),G(this,\"workerPools\",new Map),this.props={...Ort},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:i,url:s}=t,n=this.workerPools.get(r);return n||(n=new K1({name:r,source:i,url:s}),n.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,n)),n}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};G(VA,\"_workerFarm\",void 0);var Brt=\"latest\";function C4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t[e.id]||{},i=\"\".concat(e.id,\"-worker.js\"),s=r.workerUrl;if(!s&&e.id===\"compression\"&&(s=t.workerUrl),t._workerType===\"test\"&&(s=\"modules/\".concat(e.module,\"/dist/\").concat(i)),!s){let n=e.version;n===\"latest\"&&(n=Brt);let o=n?\"@\".concat(n):\"\";s=\"https://unpkg.com/@loaders.gl/\".concat(e.module).concat(o,\"/dist/\").concat(i)}return Ka(s),s}function L4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sU;Ka(e,\"no worker provided\");let r=e.version;return!(!t||!r)}function k4(e,t){return!VA.isSupported()||!O0&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&t?.worker}async function R4(e,t,r,i,s){let n=e.id,o=C4(e,r),f=VA.getWorkerFarm(r).getWorkerPool({name:n,url:o});r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{}));let _=await f.startJob(\"process-on-worker\",Frt.bind(null,s));return _.postMessage(\"process\",{input:t,options:r,context:i}),await(await _.result).result}async function Frt(e,t,r,i){switch(r){case\"done\":t.done(i);break;case\"error\":t.error(new Error(i.error));break;case\"process\":let{id:s,input:n,options:o}=i;try{let c=await e(n,o);t.postMessage(\"done\",{id:s,result:c})}catch(c){let f=c instanceof Error?c.message:\"unknown error\";t.postMessage(\"error\",{id:s,error:f})}break;default:console.warn(\"parse-with-worker unknown message \".concat(r))}}function D4(e,t,r){if(r=r||e.byteLength,e.byteLengthc instanceof ArrayBuffer?new Uint8Array(c):c),s=i.reduce((c,f)=>c+f.byteLength,0),n=new Uint8Array(s),o=0;for(let c of i)n.set(c,o),o+=c.byteLength;return n.buffer}async function B4(e){let t=[];for await(let r of e)t.push(r);return O4(...t)}function J1(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var F0=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=J1(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(J1()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var dy=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:i}=t,s=this.stats[r];return s||(t instanceof F0?s=t:s=new F0(r,i),this.stats[r]=s),s}};var zrt=\"Queued Requests\",Nrt=\"Active Requests\",Urt=\"Cancelled Requests\",Vrt=\"Queued Requests Ever\",jrt=\"Active Requests Ever\",Grt={id:\"request-scheduler\",throttleRequests:!0,maxRequests:6},py=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};G(this,\"props\",void 0),G(this,\"stats\",void 0),G(this,\"activeRequestCount\",0),G(this,\"requestQueue\",[]),G(this,\"requestMap\",new Map),G(this,\"deferredUpdate\",null),this.props={...Grt,...t},this.stats=new dy({id:this.props.id}),this.stats.get(zrt),this.stats.get(Nrt),this.stats.get(Urt),this.stats.get(Vrt),this.stats.get(jrt)}scheduleRequest(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(t))return this.requestMap.get(t);let i={handle:t,priority:0,getPriority:r},s=new Promise(n=>(i.resolve=n,i));return this.requestQueue.push(i),this.requestMap.set(t,s),this._issueNewRequests(),s}_issueRequest(t){let{handle:r,resolve:i}=t,s=!1,n=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,i?i({done:n}):Promise.resolve({done:n})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let t=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(t!==0){this._updateAllRequests();for(let r=0;rr.priority-i.priority)}_updateRequest(t){return t.priority=t.getPriority(t.handle),t.priority<0?(t.resolve(null),!1):!0}};var Wrt=\"\",dU={};function F4(e){for(let t in dU)if(e.startsWith(t)){let r=dU[t];e=e.replace(t,r)}return!e.startsWith(\"http://\")&&!e.startsWith(\"https://\")&&(e=\"\".concat(Wrt).concat(e)),e}function pU(e){return e&&typeof e==\"object\"&&e.isBuffer}function GM(e){if(pU(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e==\"string\"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e==\"object\"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(\"toArrayBuffer\")}var z0={};mA(z0,{dirname:()=>qrt,filename:()=>Hrt,join:()=>Zrt,resolve:()=>Yrt});function AU(){var e;if(typeof process<\"u\"&&typeof process.cwd<\"u\")return process.cwd();let t=(e=window.location)===null||e===void 0?void 0:e.pathname;return t?.slice(0,t.lastIndexOf(\"/\")+1)||\"\"}function Hrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(t+1):\"\"}function qrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(0,t):\"\"}function Zrt(){for(var e=arguments.length,t=new Array(e),r=0;r(n&&(s=s.replace(new RegExp(\"^\".concat(i)),\"\")),n!==t.length-1&&(s=s.replace(new RegExp(\"\".concat(i,\"$\")),\"\")),s)),t.join(i)}function Yrt(){let e=[];for(let s=0;s=-1&&!r;s--){let n;s>=0?n=e[s]:(i===void 0&&(i=AU()),n=i),n.length!==0&&(t=\"\".concat(n,\"/\").concat(t),r=n.charCodeAt(0)===tb)}return t=Qrt(t,!r),r?\"/\".concat(t):t.length>0?t:\".\"}var tb=47,z4=46;function Qrt(e,t){let r=\"\",i=-1,s=0,n,o=!1;for(let c=0;c<=e.length;++c){if(c2){let f=r.length-1,_=f;for(;_>=0&&r.charCodeAt(_)!==tb;--_);if(_!==f){r=_===-1?\"\":r.slice(0,_),i=c,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r=\"\",i=c,s=0,o=!1;continue}}t&&(r.length>0?r+=\"/..\":r=\"..\",o=!0)}else{let f=e.slice(i+1,c);r.length>0?r+=\"/\".concat(f):r=f,o=!1}i=c,s=0}else n===z4&&s!==-1?++s:s=-1}return r}var $rt=e=>typeof e==\"boolean\",eb=e=>typeof e==\"function\",N0=e=>e!==null&&typeof e==\"object\",N4=e=>N0(e)&&e.constructor==={}.constructor;var mU=e=>e&&typeof e[Symbol.iterator]==\"function\",gU=e=>e&&typeof e[Symbol.asyncIterator]==\"function\";var Cu=e=>typeof Response<\"u\"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Lu=e=>typeof Blob<\"u\"&&e instanceof Blob,_U=e=>e&&typeof e==\"object\"&&e.isBuffer;var Xrt=e=>typeof ReadableStream<\"u\"&&e instanceof ReadableStream||N0(e)&&eb(e.tee)&&eb(e.cancel)&&eb(e.getReader);var Krt=e=>N0(e)&&eb(e.read)&&eb(e.pipe)&&$rt(e.readable),WM=e=>Xrt(e)||Krt(e);var Jrt=/^data:([-\\w.]+\\/[-\\w.+]+)(;|,)/,tit=/^([-\\w.]+\\/[-\\w.+]+)/;function yU(e){let t=tit.exec(e);return t?t[1]:e}function U4(e){let t=Jrt.exec(e);return t?t[1]:\"\"}var vU=/\\?.*/;function xU(e){let t=e.match(vU);return t&&t[0]}function Ay(e){return e.replace(vU,\"\")}function U0(e){return Cu(e)?e.url:Lu(e)?e.name||\"\":typeof e==\"string\"?e:\"\"}function rb(e){if(Cu(e)){let t=e,r=t.headers.get(\"content-type\")||\"\",i=Ay(t.url);return yU(r)||U4(i)}return Lu(e)?e.type||\"\":typeof e==\"string\"?U4(e):\"\"}function bU(e){return Cu(e)?e.headers[\"content-length\"]||-1:Lu(e)?e.size:typeof e==\"string\"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function HM(e){if(Cu(e))return e;let t={},r=bU(e);r>=0&&(t[\"content-length\"]=String(r));let i=U0(e),s=rb(e);s&&(t[\"content-type\"]=s);let n=await rit(e);n&&(t[\"x-first-bytes\"]=n),typeof e==\"string\"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,\"url\",{value:i}),o}async function wU(e){if(!e.ok){let t=await eit(e);throw new Error(t)}}async function eit(e){let t=\"Failed to fetch resource \".concat(e.url,\" (\").concat(e.status,\"): \");try{let r=e.headers.get(\"Content-Type\"),i=e.statusText;r.includes(\"application/json\")&&(i+=\" \".concat(await e.text())),t+=i,t=t.length>60?\"\".concat(t.slice(0,60),\"...\"):t}catch{}return t}async function rit(e){if(typeof e==\"string\")return\"data:,\".concat(e.slice(0,5));if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(i=>{let s=new FileReader;s.onload=n=>{var o;return i(n==null||(o=n.target)===null||o===void 0?void 0:o.result)},s.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5),i=iit(r);return\"data:base64,\".concat(i)}return null}function iit(e){let t=\"\",r=new Uint8Array(e);for(let i=0;i=0)}function Rh(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||j4()}var nit=globalThis.self||globalThis.window||globalThis.global,my=globalThis.window||globalThis.self||globalThis.global,sit=globalThis.document||{},V0=globalThis.process||{},oit=globalThis.console,qSt=globalThis.navigator||{};var qM=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",QSt=Rh();function ait(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var ZM=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=ait(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function SU(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function TU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function YM(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var QM;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(QM||(QM={}));var lit=10;function MU(e){return typeof e!=\"string\"?e:(e=e.toUpperCase(),QM[e]||QM.WHITE)}function EU(e,t,r){if(!Rh&&typeof e==\"string\"){if(t){let i=MU(t);e=\"\\x1B[\".concat(i,\"m\").concat(e,\"\\x1B[39m\")}if(r){let i=MU(r);e=\"\\x1B[\".concat(i+lit,\"m\").concat(e,\"\\x1B[49m\")}}return e}function PU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),s=e;for(let n of i){let o=s[n];typeof o==\"function\"&&(t.find(c=>n===c)||(s[n]=o.bind(e)))}}function gy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function j0(){let e;if(Rh()&&my.performance){var t,r;e=my===null||my===void 0||(t=my.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in V0){var i;let s=V0===null||V0===void 0||(i=V0.hrtime)===null||i===void 0?void 0:i.call(V0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var _y={debug:Rh()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cit={enabled:!0,level:0};function ku(){}var IU={},CU={once:!0},Nf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};this.id=void 0,this.VERSION=qM,this._startTs=j0(),this._deltaTs=j0(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new ZM(\"__probe-\".concat(this.id,\"__\"),cit),this.timeStamp(\"\".concat(this.id,\" started\")),PU(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){gy(t,r)}warn(t){return this._getLogFunction(0,t,_y.warn,arguments,CU)}error(t){return this._getLogFunction(0,t,_y.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,_y.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,_y.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,_y.debug||_y.info,arguments,CU)}table(t,r,i){return r?this._getLogFunction(t,r,console.table||ku,i&&[i],{tag:dit(r)}):ku}image(t){let{logLevel:r,priority:i,image:s,message:n=\"\",scale:o=1}=t;return this._shouldLog(r||i)?Rh()?fit({image:s,message:n,scale:o}):hit({image:s,message:n,scale:o}):ku}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||ku)}group(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=LU({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||ku)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kU(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=LU({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,gy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=j0();let o=n.tag||n.message;if(n.once&&o)if(!IU[o])IU[o]=j0();else return ku;return r=uit(this.id,n.message,n),i.bind(console,r,...n.args)}return ku}};Nf.VERSION=qM;function kU(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return gy(Number.isFinite(t)&&t>=0),t}function LU(e){let{logLevel:t,message:r}=e;e.logLevel=kU(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return gy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function uit(e,t,r){if(typeof t==\"string\"){let i=r.time?TU(SU(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=EU(t,r.color,r.background)}return t}function hit(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),ku}function fit(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=YM(n,r,i);console.log(...o)},n.src=t,ku}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...YM(t,r,i)),ku;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...YM(n,r,i)),n.src=t.toDataURL(),ku}return ku}function dit(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var vTt=new Nf({id:\"@probe.gl/log\"});var G4=new Nf({id:\"loaders.gl\"}),$M=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XM=class{constructor(){G(this,\"console\",void 0),this.console=console}log(){for(var t=arguments.length,r=new Array(t),i=0;i{let e=H4();return e.globalOptions=e.globalOptions||{...W4},e.globalOptions};function BU(e,t,r,i){return r=r||[],r=Array.isArray(r)?r:[r],pit(e,r),mit(t,e,i)}function pit(e,t){DU(e,null,W4,RU,t);for(let r of t){let i=e&&e[r.id]||{},s=r.options&&r.options[r.id]||{},n=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};DU(i,r.id,s,n,t)}}function DU(e,t,r,i,s){let n=t||\"Top level\",o=t?\"\".concat(t,\".\"):\"\";for(let c in e){let f=!t&&N0(e[c]),_=c===\"baseUri\"&&!t,w=c===\"workerUrl\"&&t;if(!(c in r)&&!_&&!w){if(c in i)G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' no longer supported, use '\").concat(i[c],\"'\"))();else if(!f){let I=Ait(c,s);G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' not recognized. \").concat(I))()}}}}function Ait(e,t){let r=e.toLowerCase(),i=\"\";for(let s of t)for(let n in s.options){if(e===n)return\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\");let o=n.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(i=i||\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\"))}return i}function mit(e,t,r){let s={...e.options||{}};return git(s,r),s.log===null&&(s.log=new $M),OU(s,q4()),OU(s,t),s}function OU(e,t){for(let r in t)if(r in t){let i=t[r];N4(i)&&N4(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function git(e,t){t&&!(\"baseUri\"in e)&&(e.baseUri=t)}function ib(e){var t;return e?(Array.isArray(e)&&(e=e[0]),Array.isArray((t=e)===null||t===void 0?void 0:t.extensions)):!1}function nb(e){var t,r;NA(e,\"null loader\"),NA(ib(e),\"invalid loader\");let i;return Array.isArray(e)&&(i=e[1],e=e[0],e={...e,options:{...e.options,...i}}),((t=e)!==null&&t!==void 0&&t.parseTextSync||(r=e)!==null&&r!==void 0&&r.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var FU=()=>{let e=H4();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Z4(e){let t=FU();e=Array.isArray(e)?e:[e];for(let r of e){let i=nb(r);t.find(s=>i===s)||t.unshift(i)}}function zU(){return FU()}var NU=new Nf({id:\"loaders.gl\"});var _it=/\\.([^.]+)$/;async function jU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;let s=UU(e,t,{...r,nothrow:!0},i);if(s)return s;if(Lu(e)&&(e=await e.slice(0,10).arrayBuffer(),s=UU(e,t,r,i)),!s&&!(r!=null&&r.nothrow))throw new Error(WU(e));return s}function UU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;if(t&&!Array.isArray(t))return nb(t);let s=[];t&&(s=s.concat(t)),r!=null&&r.ignoreRegisteredLoaders||s.push(...zU()),vit(s);let n=yit(e,s,r,i);if(!n&&!(r!=null&&r.nothrow))throw new Error(WU(e));return n}function yit(e,t,r,i){let s=U0(e),n=rb(e),o=Ay(s)||i?.url,c=null,f=\"\";if(r!=null&&r.mimeType&&(c=Y4(t,r?.mimeType),f=\"match forced by supplied MIME type \".concat(r?.mimeType)),c=c||xit(t,o),f=f||(c?\"matched url \".concat(o):\"\"),c=c||Y4(t,n),f=f||(c?\"matched MIME type \".concat(n):\"\"),c=c||wit(t,e),f=f||(c?\"matched initial data \".concat(HU(e)):\"\"),c=c||Y4(t,r?.fallbackMimeType),f=f||(c?\"matched fallback MIME type \".concat(n):\"\"),f){var _;NU.log(1,\"selectLoader selected \".concat((_=c)===null||_===void 0?void 0:_.name,\": \").concat(f,\".\"))}return c}function GU(e){return!(e instanceof Response&&e.status===204)}function WU(e){let t=U0(e),r=rb(e),i=\"No valid loader found (\";i+=t?\"\".concat(z0.filename(t),\", \"):\"no url provided, \",i+=\"MIME type: \".concat(r?'\"'.concat(r,'\"'):\"not provided\",\", \");let s=e?HU(e):\"\";return i+=s?' first bytes: \"'.concat(s,'\"'):\"first bytes: not available\",i+=\")\",i}function vit(e){for(let t of e)nb(t)}function xit(e,t){let r=t&&_it.exec(t),i=r&&r[1];return i?bit(e,i):null}function bit(e,t){t=t.toLowerCase();for(let r of e)for(let i of r.extensions)if(i.toLowerCase()===t)return r;return null}function Y4(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===\"application/x.\".concat(r.id))return r;return null}function wit(e,t){if(!t)return null;for(let r of e)if(typeof t==\"string\"){if(Sit(t,r))return r}else if(ArrayBuffer.isView(t)){if(VU(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&VU(t,0,r))return r;return null}function Sit(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>e.startsWith(i))}function VU(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(s=>Tit(e,t,r,s))}function Tit(e,t,r,i){if(i instanceof ArrayBuffer)return D4(i,e,i.byteLength);switch(typeof i){case\"function\":return i(e,r);case\"string\":let s=Q4(e,t,i.length);return i===s;default:return!1}}function HU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof e==\"string\"?e.slice(0,t):ArrayBuffer.isView(e)?Q4(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Q4(e,0,t):\"\"}function Q4(e,t,r){if(e.byteLength1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let{chunkSize:r=262144}=t,i=0;for(;iV4(s,i):t!=null&&t.fetch?t?.fetch:V4}function KU(e,t,r){if(r)return r;let i={fetch:KM(t,e),...e};if(i.url){let s=Ay(i.url);i.baseUrl=s,i.queryString=xU(i.url),i.filename=z0.filename(s),i.baseUrl=z0.dirname(s)}return Array.isArray(i.loaders)||(i.loaders=null),i}function JU(e,t){if(!t&&e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let i=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...i]:i}return r&&r.length?r:null}async function JM(e,t,r,i){Ka(!i||typeof i==\"object\"),t&&!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0),e=await e,r=r||{};let s=U0(e),o=JU(t,i),c=await jU(e,o,r);return c?(r=BU(r,c,o,s),i=KU({url:s,parse:JM,loaders:o},r,i||null),await Iit(c,e,r,i)):null}async function Iit(e,t,r,i){if(L4(e),Cu(t)){let s=t,{ok:n,redirected:o,status:c,statusText:f,type:_,url:w}=s,I=Object.fromEntries(s.headers.entries());i.response={headers:I,ok:n,redirected:o,status:c,statusText:f,type:_,url:w}}if(t=await XU(t,e,r),e.parseTextSync&&typeof t==\"string\")return r.dataType=\"text\",e.parseTextSync(t,r,i,e);if(k4(e,r))return await R4(e,t,r,i,JM);if(e.parseText&&typeof t==\"string\")return await e.parseText(t,r,i,e);if(e.parse)return await e.parse(t,r,i,e);throw Ka(!e.parseSync),new Error(\"\".concat(e.id,\" loader - no parser found and worker is disabled\"))}async function jA(e,t,r,i){!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0);let s=KM(r),n=e;return typeof e==\"string\"&&(n=await s(e)),Lu(e)&&(n=await s(e)),await JM(n,t,r)}var tV=\"3.4.14\";var{_parseImageNode:Cit}=globalThis,X4=typeof Image<\"u\",K4=typeof ImageBitmap<\"u\",Lit=!!Cit,J4=D0?!0:Lit;function eV(e){switch(e){case\"auto\":return K4||X4||J4;case\"imagebitmap\":return K4;case\"image\":return X4;case\"data\":return J4;default:throw new Error(\"@loaders.gl/images: image \".concat(e,\" not supported in this environment\"))}}function rV(){if(K4)return\"imagebitmap\";if(X4)return\"image\";if(J4)return\"data\";throw new Error(\"Install '@loaders.gl/polyfills' to parse images under Node.js\")}function kit(e){let t=Rit(e);if(!t)throw new Error(\"Not an image\");return t}function iV(e){switch(kit(e)){case\"data\":return e;case\"image\":case\"imagebitmap\":let t=document.createElement(\"canvas\"),r=t.getContext(\"2d\");if(!r)throw new Error(\"getImageData\");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error(\"getImageData\")}}function Rit(e){return typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap?\"imagebitmap\":typeof Image<\"u\"&&e instanceof Image?\"image\":e&&typeof e==\"object\"&&e.data&&e.width&&e.height?\"data\":null}var Dit=/^data:image\\/svg\\+xml/,Oit=/\\.svg((\\?|#).*)?$/;function tE(e){return e&&(Dit.test(e)||Oit.test(e))}function nV(e,t){if(tE(t)){let i=new TextDecoder().decode(e);try{typeof unescape==\"function\"&&typeof encodeURIComponent==\"function\"&&(i=unescape(encodeURIComponent(i)))}catch(n){throw new Error(n.message)}return\"data:image/svg+xml;base64,\".concat(btoa(i))}return tR(e,t)}function tR(e,t){if(tE(t))throw new Error(\"SVG cannot be parsed directly to imagebitmap\");return new Blob([new Uint8Array(e)])}async function eE(e,t,r){let i=nV(e,r),s=self.URL||self.webkitURL,n=typeof i!=\"string\"&&s.createObjectURL(i);try{return await Bit(n||i,t)}finally{n&&s.revokeObjectURL(n)}}async function Bit(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((i,s)=>{try{r.onload=()=>i(r),r.onerror=n=>s(new Error(\"Could not load image \".concat(e,\": \").concat(n)))}catch(n){s(n)}})}var Fit={},sV=!0;async function oV(e,t,r){let i;tE(r)?i=await eE(e,t,r):i=tR(e,r);let s=t&&t.imagebitmap;return await zit(i,s)}async function zit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Nit(t)||!sV)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),sV=!1}return await createImageBitmap(e)}function Nit(e){for(let t in e||Fit)return!1;return!0}function aV(e){return!Git(e,\"ftyp\",4)||!(e[8]&96)?null:Uit(e)}function Uit(e){switch(Vit(e,8,12).replace(\"\\0\",\" \").trim()){case\"avif\":case\"avis\":return{extension:\"avif\",mimeType:\"image/avif\"};default:return null}}function Vit(e,t,r){return String.fromCharCode(...e.slice(t,r))}function jit(e){return[...e].map(t=>t.charCodeAt(0))}function Git(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=jit(t);for(let s=0;s=24&&t.getUint32(0,Uf)===2303741511?{mimeType:\"image/png\",width:t.getUint32(16,Uf),height:t.getUint32(20,Uf)}:null}function qit(e){let t=ob(e);return t.byteLength>=10&&t.getUint32(0,Uf)===1195984440?{mimeType:\"image/gif\",width:t.getUint16(6,sb),height:t.getUint16(8,sb)}:null}function Zit(e){let t=ob(e);return t.byteLength>=14&&t.getUint16(0,Uf)===16973&&t.getUint32(2,sb)===t.byteLength?{mimeType:\"image/bmp\",width:t.getUint32(18,sb),height:t.getUint32(22,sb)}:null}function Yit(e){let t=ob(e);if(!(t.byteLength>=3&&t.getUint16(0,Uf)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:s}=Qit(),n=2;for(;n+9!!rE(new DataView(e))],options:Jit};function ab(e){if(typeof window<\"u\"&&typeof window.process==\"object\"&&window.process.type===\"renderer\"||typeof process<\"u\"&&typeof process.versions==\"object\"&&process.versions.electron)return!0;let t=typeof navigator==\"object\"&&typeof navigator.userAgent==\"string\"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf(\"Electron\")>=0)}function Lo(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||ab()}var GA={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document,process:typeof process==\"object\"&&process};var tnt=GA.self||GA.window||GA.global,yy=GA.window||GA.self||GA.global,ent=GA.document||{},G0=GA.process||{};var iE=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",gEt=Lo();var rR=globalThis;function vy(e){if(!e&&!Lo())return\"Node\";if(ab(e))return\"Electron\";let r=e||(typeof navigator<\"u\"?navigator:{}).userAgent||\"\";if(r.indexOf(\"Edge\")>-1)return\"Edge\";let i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s?\"IE\":rR.chrome?\"Chrome\":rR.safari?\"Safari\":rR.mozInnerScreenX?\"Firefox\":\"Unknown\"}function rnt(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var nE=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";G(this,\"storage\",void 0),G(this,\"id\",void 0),G(this,\"config\",void 0),this.storage=rnt(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function uV(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function hV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function sE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var oE;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(oE||(oE={}));function fV(e){return typeof e==\"string\"?oE[e.toUpperCase()]||oE.WHITE:e}function dV(e,t,r){return!Lo&&typeof e==\"string\"&&(t&&(t=fV(t),e=\"\\x1B[\".concat(t,\"m\").concat(e,\"\\x1B[39m\")),r&&(t=fV(r),e=\"\\x1B[\".concat(r+10,\"m\").concat(e,\"\\x1B[49m\"))),e}function pV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r);for(let s of i)typeof e[s]==\"function\"&&(t.find(n=>s===n)||(e[s]=e[s].bind(e)))}function xy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function W0(){let e;if(Lo&&\"performance\"in yy){var t,r;e=yy===null||yy===void 0||(t=yy.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in G0){var i;let s=G0===null||G0===void 0||(i=G0.hrtime)===null||i===void 0?void 0:i.call(G0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var by={debug:Lo&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},int={enabled:!0,level:0};function Ru(){}var AV={},mV={once:!0},Vf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};G(this,\"id\",void 0),G(this,\"VERSION\",iE),G(this,\"_startTs\",W0()),G(this,\"_deltaTs\",W0()),G(this,\"_storage\",void 0),G(this,\"userData\",{}),G(this,\"LOG_THROTTLE_TIMEOUT\",0),this.id=t,this.userData={},this._storage=new nE(\"__probe-\".concat(this.id,\"__\"),int),this.timeStamp(\"\".concat(this.id,\" started\")),pV(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((W0()-this._startTs).toPrecision(10))}getDelta(){return Number((W0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){xy(t,r)}warn(t){return this._getLogFunction(0,t,by.warn,arguments,mV)}error(t){return this._getLogFunction(0,t,by.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,by.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,by.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){for(var i=arguments.length,s=new Array(i>2?i-2:0),n=2;n2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=gV({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||Ru)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_V(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=gV({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,xy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=W0();let o=n.tag||n.message;if(n.once)if(!AV[o])AV[o]=W0();else return Ru;return r=nnt(this.id,n.message,n),i.bind(console,r,...n.args)}return Ru}};G(Vf,\"VERSION\",iE);function _V(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return xy(Number.isFinite(t)&&t>=0),t}function gV(e){let{logLevel:t,message:r}=e;e.logLevel=_V(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return xy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function nnt(e,t,r){if(typeof t==\"string\"){let i=r.time?hV(uV(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=dV(t,r.color,r.background)}return t}function snt(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),Ru}function ont(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=sE(n,r,i);console.log(...o)},n.src=t,Ru}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...sE(t,r,i)),Ru;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...sE(n,r,i)),n.src=t.toDataURL(),Ru}return Ru}function ant(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var $Et=new Vf({id:\"@probe.gl/log\"});var or=new Vf({id:\"deck\"});var iR={};function yV(e){iR=e}function Ls(e,t,r,i){or.level>0&&iR[e]&&iR[e].call(null,t,r,i)}function lnt(e){let t=e[0],r=e[e.length-1];return t===\"{\"&&r===\"}\"||t===\"[\"&&r===\"]\"}var vV={id:\"JSON\",name:\"JSON\",module:\"\",version:\"\",options:{},extensions:[\"json\",\"geojson\"],mimeTypes:[\"application/json\",\"application/geo+json\"],testText:lnt,parseTextSync:JSON.parse};function cnt(){let e=\"8.9.35\",t=globalThis.deck&&globalThis.deck.VERSION;if(t&&t!==e)throw new Error(\"deck.gl - multiple versions detected: \".concat(t,\" vs \").concat(e));return t||(or.log(1,\"deck.gl \".concat(e))(),globalThis.deck={...globalThis.deck,VERSION:e,version:e,log:or,_registerLoggers:yV},Z4([vV,[eR,{imagebitmap:{premultiplyAlpha:\"none\"}}]])),e}var xV=cnt();var Yr={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Yr,\"IDENTITY\",{get:()=>(or.deprecated(\"COORDINATE_SYSTEM.IDENTITY\",\"COORDINATE_SYSTEM.CARTESIAN\")(),0)});var Ja={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},po={common:0,meters:1,pixels:2},nR={click:{handler:\"onClick\"},panstart:{handler:\"onDragStart\"},panmove:{handler:\"onDrag\"},panend:{handler:\"onDragEnd\"}};var He=new Vf({id:\"luma.gl\"});function Ks(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}var unt=\"Invalid WebGLRenderingContext\";var hnt=\"Requires WebGL2\";function Jd(e){return typeof WebGLRenderingContext<\"u\"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&Number.isFinite(e._version))}function fr(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function sR(e){return fr(e)?e:null}function tp(e){return Ks(Jd(e),unt),e}function Yn(e){return Ks(fr(e),hnt),e}var lb={};function fnt(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function dnt(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function pnt(e,t){lb[e]=!0,t!==void 0&&fnt(t)}function Ant(e){let t=e.getError;e.getError=function(){let i;do i=t.apply(e),i!==0&&(lb[i]=!0);while(i!==0);for(i in lb)if(lb[i])return delete lb[i],parseInt(i,10);return 0}}var cb=function e(t){let r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(let i=0;i{dnt(\"OESVertexArrayObject emulation library context restored\"),r.reset_()},!0),this.reset_()};H0.prototype.VERTEX_ARRAY_BINDING_OES=34229;H0.prototype.reset_=function(){if(this.vertexArrayObjects!==void 0)for(let i=0;ifr(e)?void 0:0,Tnt={3074:e=>fr(e)?void 0:36064,[ynt]:e=>fr(e)?void 0:vnt,35977:Un,32937:Un,[xnt]:(e,t)=>{let r=fr(e)?e.getExtension(gnt):e.getExtension(mnt);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0},[wnt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)},[Snt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)},[bnt]:(e,t)=>{let r=e.luma.extensions[_nt];return r?t(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Un,35071:Un,37447:Un,36063:(e,t)=>{if(!fr(e)){let r=e.getExtension(SV);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Un,35374:Un,35377:Un,34852:e=>{if(!fr(e)){let t=e.getExtension(SV);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}},36203:e=>e.getExtension(wV)?2147483647:65535,33001:e=>e.getExtension(wV)?16777216:65535,33e3:e=>16777216,37157:Un,35373:Un,35657:Un,36183:Un,37137:Un,34045:Un,35978:Un,35979:Un,35968:Un,35376:Un,35375:Un,35659:Un,37154:Un,35371:Un,35658:Un,35076:Un,35077:Un,35380:Un};function MV(e,t,r){let i=Tnt[r],s=typeof i==\"function\"?i(e,t,r):i;return s!==void 0?s:t(r)}var Mnt=\"OES_vertex_array_object\",EV=\"ANGLE_instanced_arrays\",Ent=\"WEBGL_draw_buffers\",Pnt=\"EXT_disjoint_timer_query\",Int=\"EXT_texture_filter_anisotropic\",Cnt=\"VertexArray requires WebGL2 or OES_vertex_array_object extension\";function Lnt(e,t){return{webgl2:fr(e),ext:e.getExtension(t)}}var oR={[Mnt]:{meta:{suffix:\"OES\"},createVertexArray:()=>{Ks(!1,Cnt)},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[EV]:{meta:{suffix:\"ANGLE\"},vertexAttribDivisor(e,t){Ks(t===0,\"WebGL instanced rendering not supported\")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},[Ent]:{meta:{suffix:\"WEBGL\"},drawBuffers:()=>{Ks(!1)}},[Pnt]:{meta:{suffix:\"EXT\"},createQuery:()=>{Ks(!1)},deleteQuery:()=>{Ks(!1)},beginQuery:()=>{Ks(!1)},endQuery:()=>{},getQuery(e,t){return this.getQueryObject(e,t)},getQueryParameter(e,t){return this.getQueryObject(e,t)},getQueryObject:()=>{}}},aE={readBuffer:(e,t,r)=>{fr(e)&&t(r)},getVertexAttrib:(e,t,r,i)=>{let{webgl2:s,ext:n}=Lnt(e,EV),o;switch(i){case 35069:o=s?void 0:!1;break;case 35070:o=!s&&!n?0:void 0;break;default:}return o!==void 0?o:t(r,i)},getProgramParameter:(e,t,r,i)=>{if(!fr(e))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(r,i)},getInternalformatParameter:(e,t,r,i,s)=>{if(!fr(e))switch(s){case 32937:return new Int32Array([0]);default:}return e.getInternalformatParameter(r,i,s)},getTexParameter(e,t,r,i){switch(i){case 34046:let{extensions:s}=e.luma,n=s[Int];i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(r,i)},getParameter:MV,hint(e,t,r,i){return t(r,i)}};function PV(e){e.luma=e.luma||{};let{luma:t}=e;return t.polyfilled||(bV(e),knt(e),Dnt(e,oR),Rnt(e,{target:t,target2:e}),t.polyfilled=!0),e}globalThis.polyfillContext=PV;function knt(e){e.luma.extensions={};let t=e.getSupportedExtensions()||[];for(let r of t)e.luma[r]=e.getExtension(r)}function Rnt(e,t){let{target:r,target2:i}=t;Object.keys(aE).forEach(s=>{if(typeof aE[s]==\"function\"){let n=e[s]?e[s].bind(e):()=>{},o=aE[s].bind(null,e,n);r[s]=o,i[s]=o}})}function Dnt(e,t){for(let r of Object.getOwnPropertyNames(t))r!==\"overrides\"&&Ont(e,{extension:r,target:e.luma,target2:e})}function Ont(e,t){let{extension:r,target:i,target2:s}=t,n=oR[r];Ks(n);let{meta:o={}}=n,{suffix:c=\"\"}=o,f=e.getExtension(r);for(let _ of Object.keys(n)){let w=\"\".concat(_).concat(c),I=null;_===\"meta\"||typeof e[_]==\"function\"||(f&&typeof f[w]==\"function\"?I=function(){return f[w](...arguments)}:typeof n[_]==\"function\"&&(I=n[_].bind(i))),I&&(i[_]=I,s[_]=I)}}var hb={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},WA=(e,t,r)=>t?e.enable(r):e.disable(r),IV=(e,t,r)=>e.hint(r,t),Qc=(e,t,r)=>e.pixelStorei(r,t),Bnt=(e,t)=>{let r=fr(e)?36009:36160;return e.bindFramebuffer(r,t)},Fnt=(e,t)=>e.bindFramebuffer(36008,t);function ub(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var CV={3042:WA,32773:(e,t)=>e.blendColor(...t),32777:\"blendEquation\",34877:\"blendEquation\",32969:\"blendFunc\",32968:\"blendFunc\",32971:\"blendFunc\",32970:\"blendFunc\",3106:(e,t)=>e.clearColor(...t),3107:(e,t)=>e.colorMask(...t),2884:WA,2885:(e,t)=>e.cullFace(t),2929:WA,2931:(e,t)=>e.clearDepth(t),2932:(e,t)=>e.depthFunc(t),2928:(e,t)=>e.depthRange(...t),2930:(e,t)=>e.depthMask(t),3024:WA,35723:IV,36006:Bnt,2886:(e,t)=>e.frontFace(t),33170:IV,2849:(e,t)=>e.lineWidth(t),32823:WA,32824:\"polygonOffset\",10752:\"polygonOffset\",35977:WA,32938:\"sampleCoverage\",32939:\"sampleCoverage\",3089:WA,3088:(e,t)=>e.scissor(...t),2960:WA,2961:(e,t)=>e.clearStencil(t),2968:(e,t)=>e.stencilMaskSeparate(1028,t),36005:(e,t)=>e.stencilMaskSeparate(1029,t),2962:\"stencilFuncFront\",2967:\"stencilFuncFront\",2963:\"stencilFuncFront\",34816:\"stencilFuncBack\",36003:\"stencilFuncBack\",36004:\"stencilFuncBack\",2964:\"stencilOpFront\",2965:\"stencilOpFront\",2966:\"stencilOpFront\",34817:\"stencilOpBack\",34818:\"stencilOpBack\",34819:\"stencilOpBack\",2978:(e,t)=>e.viewport(...t),3333:Qc,3317:Qc,37440:Qc,37441:Qc,37443:Qc,3330:Qc,3332:Qc,3331:Qc,36010:Fnt,3314:Qc,32878:Qc,3316:Qc,3315:Qc,32877:Qc,framebuffer:(e,t)=>{let r=t&&\"handle\"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{t=ub(t)?t:[t,t],e.blendEquationSeparate(...t)},blendFunc:(e,t)=>{t=ub(t)&&t.length===2?[...t,...t]:t,e.blendFuncSeparate(...t)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(...t),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=ub(t)?t:[t,t];let[r,i]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,i)},stencilFunc:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilFuncSeparate(1028,r,i,s),e.stencilFuncSeparate(1029,n,o,c)},stencilOp:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilOpSeparate(1028,r,i,s),e.stencilOpSeparate(1029,n,o,c)},viewport:(e,t)=>e.viewport(...t)};function ks(e,t,r){return t[e]!==void 0?t[e]:r[e]}var LV={blendEquation:(e,t,r)=>e.blendEquationSeparate(ks(32777,t,r),ks(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(ks(32969,t,r),ks(32968,t,r),ks(32971,t,r),ks(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(ks(32824,t,r),ks(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(ks(32938,t,r),ks(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,ks(2962,t,r),ks(2967,t,r),ks(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,ks(34816,t,r),ks(36003,t,r),ks(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,ks(2964,t,r),ks(2965,t,r),ks(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,ks(34817,t,r),ks(34818,t,r),ks(34819,t,r))},aR={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({36006:r,36010:r});case 36009:return e({36006:r});case 36008:return e({36010:r});default:return null}},blendColor:(e,t,r,i,s)=>e({32773:new Float32Array([t,r,i,s])}),blendEquation:(e,t)=>e({32777:t,34877:t}),blendEquationSeparate:(e,t,r)=>e({32777:t,34877:r}),blendFunc:(e,t,r)=>e({32969:t,32968:r,32971:t,32970:r}),blendFuncSeparate:(e,t,r,i,s)=>e({32969:t,32968:r,32971:i,32970:s}),clearColor:(e,t,r,i,s)=>e({3106:new Float32Array([t,r,i,s])}),clearDepth:(e,t)=>e({2931:t}),clearStencil:(e,t)=>e({2961:t}),colorMask:(e,t,r,i,s)=>e({3107:[t,r,i,s]}),cullFace:(e,t)=>e({2885:t}),depthFunc:(e,t)=>e({2932:t}),depthRange:(e,t,r)=>e({2928:new Float32Array([t,r])}),depthMask:(e,t)=>e({2930:t}),frontFace:(e,t)=>e({2886:t}),lineWidth:(e,t)=>e({2849:t}),polygonOffset:(e,t,r)=>e({32824:t,10752:r}),sampleCoverage:(e,t,r)=>e({32938:t,32939:r}),scissor:(e,t,r,i,s)=>e({3088:new Int32Array([t,r,i,s])}),stencilMask:(e,t)=>e({2968:t,36005:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,i)=>e({2962:t,2967:r,2963:i,34816:t,36003:r,36004:i}),stencilFuncSeparate:(e,t,r,i,s)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:i,[t===1028?2963:36004]:s}),stencilOp:(e,t,r,i)=>e({2964:t,2965:r,2966:i,34817:t,34818:r,34819:i}),stencilOpSeparate:(e,t,r,i,s)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:i,[t===1028?2966:34819]:s}),viewport:(e,t,r,i,s)=>e({2978:[t,r,i,s]})},jf=(e,t)=>e.isEnabled(t),lR={3042:jf,2884:jf,2929:jf,3024:jf,32823:jf,32926:jf,32928:jf,3089:jf,2960:jf,35977:jf};function cR(e){for(let t in e)return!1;return!0}function kV(e,t){if(e===t)return!0;let r=Array.isArray(e)||ArrayBuffer.isView(e),i=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&i&&e.length===t.length){for(let s=0;s{}}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?wy(t):Object.assign({},hb),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}pop(){Ks(this.stateStack.length>0);let t=this.stateStack[this.stateStack.length-1];Ml(this.gl,t),this.stateStack.pop()}_updateCache(t){let r=!1,i,s=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(let n in t){Ks(n!==void 0);let o=t[n],c=this.cache[n];kV(o,c)||(r=!0,i=c,s&&!(n in s)&&(s[n]=c),this.cache[n]=o)}return{valueChanged:r,oldValue:i}}};function lE(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{enable:r=!0,copyState:i}=t;if(Ks(i!==void 0),!e.state){let{polyfillContext:s}=globalThis;s&&s(e),e.state=new uR(e,{copyState:i}),Nnt(e);for(let n in aR){let o=aR[n];znt(e,n,o)}RV(e,\"getParameter\"),RV(e,\"isEnabled\")}return e.state.enable=r,e}function hR(e){e.state||lE(e,{copyState:!1}),e.state.push()}function cE(e){Ks(e.state),e.state.pop()}function Ml(e,t){if(Ks(Jd(e),\"setParameters requires a WebGL context\"),cR(t))return;let r={};for(let s in t){let n=Number(s),o=CV[s];o&&(typeof o==\"string\"?r[o]=!0:o(e,t[s],n))}let i=e.state&&e.state.cache;if(i)for(let s in r){let n=LV[s];n(e,t,i)}}function wy(e,t){if(t=t||hb,typeof t==\"number\"){let s=t,n=lR[s];return n?n(e,s):e.getParameter(s)}let r=Array.isArray(t)?t:Object.keys(t),i={};for(let s of r){let n=lR[s];i[s]=n?n(e,Number(s)):e.getParameter(Number(s))}return i}function uE(e){Ml(e,hb)}function Mn(e,t,r){if(cR(t))return r(e);let{nocatch:i=!0}=t;hR(e),Ml(e,t);let s;if(i)s=r(e),cE(e);else try{s=r(e)}finally{cE(e)}return s}function El(e){let{luma:t}=e;if(e.canvas&&t){let r=t.canvasSizeInfo,i=\"clientWidth\"in r?r.clientWidth:e.canvas.clientWidth;return i?e.drawingBufferWidth/i:1}return 1}function Sy(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=El(e),s=e.drawingBufferWidth,n=e.drawingBufferHeight;return Unt(t,i,s,n,r)}function BV(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function Unt(e,t,r,i,s){let n=DV(e[0],t,r),o=OV(e[1],t,i,s),c=DV(e[0]+1,t,r),f=c===r-1?c:c-1;c=OV(e[1]+1,t,i,s);let _;return s?(c=c===0?c:c+1,_=o,o=c):_=c===i-1?c:c-1,{x:n,y:o,width:Math.max(f-n+1,1),height:Math.max(_-o+1,1)}}function DV(e,t,r){return Math.min(Math.round(e*t),r-1)}function OV(e,t,r,i){return i?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var fR=Lo(),Vnt=fR&&typeof document<\"u\",FV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Ty(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ks(fR,`createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils`),e=Object.assign({},FV,e);let{width:t,height:r}=e;function i(c){if(e.throwOnError)throw new Error(c);return console.error(c),null}e.onError=i;let s,{canvas:n}=e,o=Gnt({canvas:n,width:t,height:r,onError:i});return s=jnt(o,e),s?(s=q0(s,e),Wnt(s),s):null}function q0(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||Hnt(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{},t=Object.assign({},FV,t);let{manageState:r,debug:i}=t;return r&&lE(e,{copyState:!1,log:function(){for(var s=arguments.length,n=new Array(s),o=0;o1&&arguments[1]!==void 0?arguments[1]:{};if(e.canvas){let i=BV(t.useDevicePixels);qnt(e,i,t);return}let r=e.getExtension(\"STACKGL_resize_drawingbuffer\");r&&\"width\"in t&&\"height\"in t&&r.resize(t.width,t.height)}function jnt(e,t){let{onError:r}=t,i=null,s=f=>i=f.statusMessage||i;e.addEventListener(\"webglcontextcreationerror\",s,!1);let{webgl1:n=!0,webgl2:o=!0}=t,c=null;return o&&(c=c||e.getContext(\"webgl2\",t),c=c||e.getContext(\"experimental-webgl2\",t)),n&&(c=c||e.getContext(\"webgl\",t),c=c||e.getContext(\"experimental-webgl\",t)),e.removeEventListener(\"webglcontextcreationerror\",s,!1),c?(t.onContextLost&&e.addEventListener(\"webglcontextlost\",t.onContextLost,!1),t.onContextRestored&&e.addEventListener(\"webglcontextrestored\",t.onContextRestored,!1),c):r(\"Failed to create \".concat(o&&!n?\"WebGL2\":\"WebGL\",\" context: \").concat(i||\"Unknown error\"))}function Gnt(e){let{canvas:t,width:r=800,height:i=600,onError:s}=e,n;return typeof t==\"string\"?(Vnt&&document.readyState===\"complete\"||s(\"createGLContext called on canvas '\".concat(t,\"' before page was loaded\")),n=document.getElementById(t)):t?n=t:(n=document.createElement(\"canvas\"),n.id=\"lumagl-canvas\",n.style.width=Number.isFinite(r)?\"\".concat(r,\"px\"):\"100%\",n.style.height=Number.isFinite(i)?\"\".concat(i,\"px\"):\"100%\",document.body.insertBefore(n,document.body.firstChild)),n}function Wnt(e){let t=fr(e)?\"WebGL2\":\"WebGL1\",r=zV(e),i=r?\"(\".concat(r.vendor,\",\").concat(r.renderer,\")\"):\"\",s=e.debug?\" debug\":\"\";He.info(1,\"\".concat(t).concat(s,\" context \").concat(i))()}function Hnt(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?2:1}function qnt(e,t,r){let i=\"width\"in r?r.width:e.canvas.clientWidth,s=\"height\"in r?r.height:e.canvas.clientHeight;(!i||!s)&&(He.log(1,\"Canvas clientWidth/clientHeight is 0\")(),t=1,i=e.canvas.width||1,s=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};let n=e.luma.canvasSizeInfo;if(n.clientWidth!==i||n.clientHeight!==s||n.devicePixelRatio!==t){let o=t,c=Math.floor(i*o),f=Math.floor(s*o);e.canvas.width=c,e.canvas.height=f,(e.drawingBufferWidth!==c||e.drawingBufferHeight!==f)&&(He.warn(\"Device pixel ratio clamped\")(),o=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/s),e.canvas.width=Math.floor(i*o),e.canvas.height=Math.floor(s*o)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:s,devicePixelRatio:t})}}function fb(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Z0=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"type\",void 0),G(this,\"sampleSize\",1),G(this,\"time\",void 0),G(this,\"count\",void 0),G(this,\"samples\",void 0),G(this,\"lastTiming\",void 0),G(this,\"lastSampleTime\",void 0),G(this,\"lastSampleCount\",void 0),G(this,\"_count\",0),G(this,\"_time\",0),G(this,\"_samples\",0),G(this,\"_startTime\",0),G(this,\"_timerPending\",!1),this.name=t,this.type=r,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=fb(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(fb()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Gf=class{constructor(t){G(this,\"id\",void 0),G(this,\"stats\",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t in this.stats)this.stats[t].reset();return this}forEach(t){for(let r in this.stats)t(this.stats[r])}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){if(!t||!t.name)return null;let{name:r,type:i}=t;return this.stats[r]||(t instanceof Z0?this.stats[r]=t:this.stats[r]=new Z0(r,i)),this.stats[r]}};var db=\"8.5.21\",Znt=\"set luma.log.level=1 (or higher) to trace rendering\",pR=class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gf({id:t})),this.stats.get(t)}},Du=new pR;if(globalThis.luma&&globalThis.luma.VERSION!==db)throw new Error(\"luma.gl - multiple VERSIONs detected: \".concat(globalThis.luma.VERSION,\" vs \").concat(db));globalThis.luma||(Lo()&&He.log(1,\"luma.gl \".concat(db,\" - \").concat(Znt))(),globalThis.luma=globalThis.luma||{VERSION:db,version:db,log:He,stats:Du,globals:{modules:{},nodeIO:{}}});var _3t=globalThis.luma;function AR(e){return typeof window<\"u\"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function mR(e){return typeof window<\"u\"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}function ye(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}function hE(e,t){if(typeof t!=\"string\")return t;let r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\\./,\"\");let i=e[t];return ye(i!==void 0,\"Accessing undefined constant GL.\".concat(t)),i}function Ou(e,t){t=Number(t);for(let r in e)if(e[r]===t)return\"GL.\".concat(r);return String(t)}var gR={};function ta(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:\"id\";gR[e]=gR[e]||1;let t=gR[e]++;return\"\".concat(e,\"-\").concat(t)}function _R(e){return ye(typeof e==\"number\",\"Input must be a number\"),e&&(e&e-1)===0}function Wf(e){let t=!0;for(let r in e){t=!1;break}return t}function fE(e,t,r,i){let s=\"See luma.gl \".concat(r,\" Upgrade Guide at https://luma.gl/docs/upgrade-guide\"),n=Object.getPrototypeOf(e);i.forEach(o=>{n.methodName||(n[o]=()=>{throw He.removed(\"Calling removed method \".concat(t,\".\").concat(o,\": \"),s)(),new Error(o)})})}var My=\"Resource subclass must define virtual methods\",Js=class{get[Symbol.toStringTag](){return\"Resource\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t);let{id:i,userData:s={}}=r;this.gl=t,this.gl2=t,this.id=i||ta(this[Symbol.toStringTag]),this.userData=s,this._bound=!1,this._handle=r.handle,this._handle===void 0&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return\"\".concat(this[Symbol.toStringTag]||this.constructor.name,\"(\").concat(this.id,\")\")}get handle(){return this._handle}delete(){let{deleteChildren:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&t&&r.filter(Boolean).forEach(i=>i.delete()),this}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof t!=\"function\")return this._bindHandle(t),this;let r;return this._bound?r=t():(this._bindHandle(this.handle),this._bound=!0,r=t(),this._bound=!1,this._bindHandle(null)),r}unbind(){this.bind(null)}getParameter(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension)))){let c=s.webgl1,f=\"webgl2\"in s?s.webgl2:s.webgl1;return n?f:c}}return this._getParameter(t,r)}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{parameters:r,keys:i}=t,s=this.constructor.PARAMETERS||{},n=fr(this.gl),o={},c=r||Object.keys(s);for(let f of c){let _=s[f];if(_&&(!(\"webgl2\"in _)||n)&&(!(\"extension\"in _)||this.gl.getExtension(_.extension))){let I=i?Ou(this.gl,f):f;o[I]=this.getParameter(f,t),i&&_.type===\"GLenum\"&&(o[I]=Ou(this.gl,o[I]))}}return o}setParameter(t,r){t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension))))throw new Error(\"Parameter not available on this platform\");s.type===\"GLenum\"&&(r=hE(r))}return this._setParameter(t,r),this}setParameters(t){for(let r in t)this.setParameter(r,t[r]);return this}stubRemovedMethods(t,r,i){return fE(this,t,r,i)}initialize(t){}_createHandle(){throw new Error(My)}_deleteHandle(){throw new Error(My)}_bindHandle(t){throw new Error(My)}_getOptsFromHandle(){throw new Error(My)}_getParameter(t,r){throw new Error(My)}_setParameter(t,r){throw new Error(My)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){let t=this[Symbol.toStringTag],r=Du.get(\"Resource Counts\");r.get(\"Resources Created\").incrementCount(),r.get(\"\".concat(t,\"s Created\")).incrementCount(),r.get(\"\".concat(t,\"s Active\")).incrementCount()}_removeStats(){let t=this[Symbol.toStringTag];Du.get(\"Resource Counts\").get(\"\".concat(t,\"s Active\")).decrementCount()}_trackAllocatedMemory(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag];this._trackAllocatedMemoryForContext(t,r),this._trackAllocatedMemoryForContext(t,r,this.gl.canvas&&this.gl.canvas.id),this.byteLength=t}_trackAllocatedMemoryForContext(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"\",s=Du.get(\"Memory Usage\".concat(i));s.get(\"GPU Memory\").addCount(t),s.get(\"\".concat(r,\" Memory\")).addCount(t)}_trackDeallocatedMemory(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag];this._trackDeallocatedMemoryForContext(t),this._trackDeallocatedMemoryForContext(t,this.gl.canvas&&this.gl.canvas.id),this.byteLength=0}_trackDeallocatedMemoryForContext(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\",i=Du.get(\"Memory Usage\".concat(r));i.get(\"GPU Memory\").subtractCount(this.byteLength),i.get(\"\".concat(t,\" Memory\")).subtractCount(this.byteLength)}};var Ynt=\"Failed to deduce GL constant from typed array\";function pb(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Ynt)}}function HA(e){let{clamped:t=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return t?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error(\"Failed to deduce typed array type from GL constant\")}}function NV(e){let{data:t,width:r,height:i,bytesPerPixel:s=4,temp:n}=e,o=r*s;n=n||new Uint8Array(o);for(let c=0;cthis._assign(s)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return e.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return e.getBytesPerVertex(this)}_assign(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=Ab(\"Accessor\",t,$nt),t.type!==void 0&&(this.type=t.type,(t.type===5124||t.type===5125)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index==\"boolean\"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.isInstanced?1:0),this}};var VV=10,jV={offset:\"accessor.offset\",stride:\"accessor.stride\",type:\"accessor.type\",size:\"accessor.size\",divisor:\"accessor.divisor\",normalized:\"accessor.normalized\",integer:\"accessor.integer\",instanced:\"accessor.divisor\",isInstanced:\"accessor.divisor\"},Xnt={removedProps:{},replacedProps:{bytes:\"byteLength\"},deprecatedProps:jV},Knt={removedProps:jV},Fr=class extends Js{get[Symbol.toStringTag](){return\"Buffer\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Buffer\",\"v6.0\",[\"layout\",\"setLayout\",\"getIndexedParameter\"]),this.target=r.target||(this.gl.webgl2?36662:34962),this.initialize(r),Object.seal(this)}getElementCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerElement(t))}getVertexCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerVertex(t))}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=Ab(\"Buffer\",t,Xnt),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return t=Ab(\"Buffer\",t,Knt),\"accessor\"in t&&this.setAccessor(t.accessor),this}setAccessor(t){return t=Object.assign({},t),delete t.buffer,this.accessor=new Pl(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});let{data:r,offset:i=0,srcOffset:s=0}=t,n=t.byteLength||t.length;ye(r);let o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),s!==0||n!==void 0?(Yn(this.gl),this.gl.bufferSubData(this.target,i,r,s,n)):this.gl.bufferSubData(o,i,r),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(r),this}copyData(t){let{sourceBuffer:r,readOffset:i=0,writeOffset:s=0,size:n}=t,{gl:o}=this;return Yn(o),o.bindBuffer(36662,r.handle),o.bindBuffer(36663,this.handle),o.copyBufferSubData(36662,36663,i,s,n),o.bindBuffer(36662,null),o.bindBuffer(36663,null),this.debugData=null,this}getData(){let{dstData:t=null,srcByteOffset:r=0,dstOffset:i=0,length:s=0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yn(this.gl);let n=HA(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(r),c=i,f,_;t?(_=t.length,f=_-c):(f=Math.min(o,s||o),_=c+f);let w=Math.min(o,f);return s=s||w,ye(s<=w),t=t||new n(_),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,t,i,s),this.gl.bindBuffer(36662,null),t}bind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index,offset:i=0,size:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?s!==void 0?this.gl.bindBufferRange(t,r,this.handle,i,s):(ye(i===0),this.gl.bindBufferBase(t,r,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?this.gl.bindBufferBase(t,r,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(VV,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t.byteLength+r;ye(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();let s=this._getTarget();this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,this.usage),this.gl.bufferSubData(s,r,t),this.gl.bindBuffer(s,null),this.debugData=t.slice(0,VV),this.bytesUsed=i,this._trackAllocatedMemory(i);let n=pb(t);return ye(n),this.setAccessor(new Pl(this.accessor,{type:n})),this}_setByteLength(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.usage;ye(t>=0),this._trackDeallocatedMemory();let i=t;t===0&&(i=new Float32Array(0));let s=this._getTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,r),this.gl.bindBuffer(s,null),this.usage=r,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){let r=HA(this.accessor.type||5126,{clamped:!1}),i=t/r.BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(t){this.accessor.type||this.setAccessor(new Pl(this.accessor,{type:pb(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);let r=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),r}get type(){return He.deprecated(\"Buffer.type\",\"Buffer.accessor.type\")(),this.accessor.type}get bytes(){return He.deprecated(\"Buffer.bytes\",\"Buffer.byteLength\")(),this.byteLength}setByteLength(t){return He.deprecated(\"setByteLength\",\"reallocate\")(),this.reallocate(t)}updateAccessor(t){return He.deprecated(\"updateAccessor(...)\",\"setAccessor(new Accessor(buffer.accessor, ...)\")(),this.accessor=new Pl(this.accessor,t),this}};var dE={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},pE={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},AE={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1};function GV(e,t){let r=dE[t];if(!r)return!1;if(r.gl1===void 0&&r.gl2===void 0)return!0;let i=fr(e)&&r.gl2||r.gl1;return typeof i==\"string\"?e.getExtension(i):i}function WV(e,t){let r=dE[t];switch(r&&r.types[0]){case 5126:return e.getExtension(\"OES_texture_float_linear\");case 5131:return e.getExtension(\"OES_texture_half_float_linear\");default:return!0}}var Jnt=[9729,9728],HV=globalThis.WebGLBuffer||function(){},tl=class extends Js{get[Symbol.toStringTag](){return\"Texture\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{format:i,linearFiltering:s}=r,n=!0;return i&&(n=n&&GV(t,i),n=n&&(!s||WV(t,i))),n}constructor(t,r){let{id:i=ta(\"texture\"),handle:s,target:n}=r;super(t,{id:i,handle:s}),this.target=n,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return\"Texture(\".concat(this.id,\",\").concat(this.width,\"x\").concat(this.height,\")\")}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.data;if(r instanceof Promise)return r.then(K=>this.initialize(Object.assign({},t,{pixels:K,data:K}))),this;let i=typeof HTMLVideoElement<\"u\"&&r instanceof HTMLVideoElement;if(i&&r.readyStatethis.initialize(t)),this;let{pixels:s=null,format:n=6408,border:o=0,recreate:c=!1,parameters:f={},pixelStore:_={},textureUnit:w=void 0}=t;r||(r=s);let{width:I,height:R,dataFormat:N,type:j,compressed:Q=!1,mipmaps:et=!0}=t,{depth:Y=0}=t;return{width:I,height:R,compressed:Q,dataFormat:N,type:j}=this._deduceParameters({format:n,type:j,dataFormat:N,compressed:Q,data:r,width:I,height:R}),this.width=I,this.height=R,this.depth=Y,this.format=n,this.type=j,this.dataFormat=N,this.border=o,this.textureUnit=w,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),et&&this._isNPOT()&&(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),et=!1,this._updateForNPOT(f)),this.mipmaps=et,this.setImageData({data:r,width:I,height:R,depth:Y,format:n,type:j,dataFormat:N,border:o,mipmaps:et,parameters:_,compressed:Q}),et&&this.generateMipmap(),this.setParameters(f),c&&(this.data=r),i&&(this._video={video:r,parameters:f,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}update(){if(this._video){let{video:t,parameters:r,lastTime:i}=this._video;if(i===t.currentTime||t.readyState0&&arguments[0]!==void 0?arguments[0]:{};return this._isNPOT()?(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Mn(this.gl,t,()=>{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory(\"Texture\");let{target:r=this.target,pixels:i=null,level:s=0,format:n=this.format,border:o=this.border,offset:c=0,parameters:f={}}=t,{data:_=null,type:w=this.type,width:I=this.width,height:R=this.height,dataFormat:N=this.dataFormat,compressed:j=!1}=t;_||(_=i),{type:w,dataFormat:N,compressed:j,width:I,height:R}=this._deduceParameters({format:n,type:w,dataFormat:N,compressed:j,data:_,width:I,height:R});let{gl:Q}=this;Q.bindTexture(this.target,this.handle);let et=null;({data:_,dataType:et}=this._getDataType({data:_,compressed:j}));let Y,K=0;if(Mn(this.gl,f,()=>{switch(et){case\"null\":Q.texImage2D(r,s,n,I,R,o,N,w,_);break;case\"typed-array\":Q.texImage2D(r,s,n,I,R,o,N,w,_,c);break;case\"buffer\":Y=Yn(Q),Y.bindBuffer(35052,_.handle||_),Y.texImage2D(r,s,n,I,R,o,N,w,c),Y.bindBuffer(35052,null);break;case\"browser-object\":fr(Q)?Q.texImage2D(r,s,n,I,R,o,N,w,_):Q.texImage2D(r,s,n,N,w,_);break;case\"compressed\":for(let[J,ut]of _.entries())Q.compressedTexImage2D(r,J,ut.format,ut.width,ut.height,o,ut.data),K+=ut.levelSize;break;default:ye(!1,\"Unknown image data type\")}}),et===\"compressed\")this._trackAllocatedMemory(K,\"Texture\");else if(_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,\"Texture\");else{let J=pE[this.dataFormat]||4,ut=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*J*ut,\"Texture\")}return this.loaded=!0,this}setSubImageData(t){let{target:r=this.target,pixels:i=null,data:s=null,x:n=0,y:o=0,width:c=this.width,height:f=this.height,level:_=0,format:w=this.format,type:I=this.type,dataFormat:R=this.dataFormat,compressed:N=!1,offset:j=0,border:Q=this.border,parameters:et={}}=t;if({type:I,dataFormat:R,compressed:N,width:c,height:f}=this._deduceParameters({format:w,type:I,dataFormat:R,compressed:N,data:s,width:c,height:f}),ye(this.depth===0,\"texSubImage not supported for 3D textures\"),s||(s=i),s&&s.data){let Y=s;s=Y.data,c=Y.shape[0],f=Y.shape[1]}s instanceof Fr&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,et,()=>{if(N)this.gl.compressedTexSubImage2D(r,_,n,o,c,f,w,s);else if(s===null)this.gl.texSubImage2D(r,_,n,o,c,f,R,I,null);else if(ArrayBuffer.isView(s))this.gl.texSubImage2D(r,_,n,o,c,f,R,I,s,j);else if(s instanceof HV){let Y=Yn(this.gl);Y.bindBuffer(35052,s),Y.texSubImage2D(r,_,n,o,c,f,R,I,j),Y.bindBuffer(35052,null)}else fr(this.gl)?Yn(this.gl).texSubImage2D(r,_,n,o,c,f,R,I,s):this.gl.texSubImage2D(r,_,n,o,R,I,s)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,this.handle),t}unbind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,null),t}_getDataType(t){let{data:r,compressed:i=!1}=t;return i?{data:r,dataType:\"compressed\"}:r===null?{data:r,dataType:\"null\"}:ArrayBuffer.isView(r)?{data:r,dataType:\"typed-array\"}:r instanceof Fr?{data:r.handle,dataType:\"buffer\"}:r instanceof HV?{data:r,dataType:\"buffer\"}:{data:r,dataType:\"browser-object\"}}_deduceParameters(t){let{format:r,data:i}=t,{width:s,height:n,dataFormat:o,type:c,compressed:f}=t,_=dE[r];return o=o||_&&_.dataFormat,c=c||_&&_.types[0],f=f||_&&_.compressed,{width:s,height:n}=this._deduceImageSize(i,s,n),{dataFormat:o,type:c,compressed:f,width:s,height:n,format:r,data:i}}_deduceImageSize(t,r,i){let s;return typeof ImageData<\"u\"&&t instanceof ImageData?s={width:t.width,height:t.height}:typeof HTMLImageElement<\"u\"&&t instanceof HTMLImageElement?s={width:t.naturalWidth,height:t.naturalHeight}:typeof HTMLCanvasElement<\"u\"&&t instanceof HTMLCanvasElement?s={width:t.width,height:t.height}:typeof ImageBitmap<\"u\"&&t instanceof ImageBitmap?s={width:t.width,height:t.height}:typeof HTMLVideoElement<\"u\"&&t instanceof HTMLVideoElement?s={width:t.videoWidth,height:t.videoHeight}:t?s={width:r,height:i}:s={width:r>=0?r:1,height:i>=0?i:1},ye(s,\"Could not deduced texture size\"),ye(r===void 0||s.width===r,\"Deduced texture width does not match supplied width\"),ye(i===void 0||s.height===i,\"Deduced texture height does not match supplied height\"),s}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory(\"Texture\")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);let r=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),r}}_setParameter(t,r){switch(this.gl.bindTexture(this.target,this.handle),r=this._getNPOTParam(t,r),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,r);break;case 4096:case 4097:ye(!1);break;default:this.gl.texParameteri(this.target,t,r);break}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return fr(this.gl)||!this.width||!this.height?!1:!_R(this.width)||!_R(this.height)}_updateForNPOT(t){t[this.gl.TEXTURE_MIN_FILTER]===void 0&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),t[this.gl.TEXTURE_WRAP_S]===void 0&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),t[this.gl.TEXTURE_WRAP_T]===void 0&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,r){if(this._isNPOT())switch(t){case 10241:Jnt.indexOf(r)===-1&&(r=9729);break;case 10242:case 10243:r!==33071&&(r=33071);break;default:break}return r}};var tst=\"\";function qV(e,t){return ye(typeof e==\"string\"),e=tst+e,new Promise((r,i)=>{try{let s=new Image;s.onload=()=>r(s),s.onerror=()=>i(new Error(\"Could not load image \".concat(e,\".\"))),s.crossOrigin=t&&t.crossOrigin||\"anonymous\",s.src=e}catch(s){i(s)}})}var pi=class extends tl{get[Symbol.toStringTag](){return\"Texture2D\"}static isSupported(t,r){return tl.isSupported(t,r)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),(r instanceof Promise||typeof r==\"string\")&&(r={data:r}),typeof r.data==\"string\"&&(r=Object.assign({},r,{data:qV(r.data)})),super(t,Object.assign({},r,{target:3553})),this.initialize(r),Object.seal(this)}};var yR=[34069,34070,34071,34072,34073,34074],Y0=class extends tl{get[Symbol.toStringTag](){return\"TextureCube\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),super(t,Object.assign({},r,{target:34067})),this.initialize(r),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{mipmaps:r=!0,parameters:i={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,r&&this.generateMipmap(t),this.setParameters(i)}),this}subImage(t){let{face:r,data:i,x:s=0,y:n=0,mipmapLevel:o=0}=t;return this._subImage({target:r,data:i,x:s,y:n,mipmapLevel:o})}async setCubeMapImageData(t){let{width:r,height:i,pixels:s,data:n,border:o=0,format:c=6408,type:f=5121}=t,{gl:_}=this,w=s||n,I=await Promise.all(yR.map(R=>{let N=w[R];return Promise.all(Array.isArray(N)?N:[N])}));this.bind(),yR.forEach((R,N)=>{I[N].length>1&&this.opts.mipmaps!==!1&&He.warn(\"\".concat(this.id,\" has mipmap and multiple LODs.\"))(),I[N].forEach((j,Q)=>{r&&i?_.texImage2D(R,Q,c,r,i,o,c,f,j):_.texImage2D(R,Q,c,c,f,j)})}),this.unbind()}setImageDataForFace(t){let{face:r,width:i,height:s,pixels:n,data:o,border:c=0,format:f=6408,type:_=5121}=t,{gl:w}=this,I=n||o;return this.bind(),I instanceof Promise?I.then(R=>this.setImageDataForFace(Object.assign({},t,{face:r,data:R,pixels:R}))):this.width||this.height?w.texImage2D(r,0,f,i,s,c,f,_,I):w.texImage2D(r,0,f,f,_,I),this}};Y0.FACES=yR;var Ey=class extends tl{get[Symbol.toStringTag](){return\"Texture3D\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}),super(t,r),this.initialize(r),Object.seal(this)}setImageData(t){let{level:r=0,dataFormat:i=6408,width:s,height:n,depth:o=1,border:c=0,format:f,type:_=5121,offset:w=0,data:I,parameters:R={}}=t;if(this._trackDeallocatedMemory(\"Texture\"),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,R,()=>{ArrayBuffer.isView(I)&&this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,I),I instanceof Fr&&(this.gl.bindBuffer(35052,I.handle),this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,w))}),I&&I.byteLength)this._trackAllocatedMemory(I.byteLength,\"Texture\");else{let N=pE[this.dataFormat]||4,j=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*N*j,\"Texture\")}return this.loaded=!0,this}};var Q0=\"EXT_color_buffer_float\",vR={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Q0,bpp:2},33327:{gl2:Q0,bpp:4},34842:{gl2:Q0,bpp:8},33326:{gl2:Q0,bpp:4},33328:{gl2:Q0,bpp:8},34836:{gl2:Q0,bpp:16},35898:{gl2:Q0,bpp:4}};function est(e,t,r){let i=r[t];if(!i)return!1;let s=fr(e)&&i.gl2||i.gl1;return typeof s==\"string\"?e.getExtension(s):s}var el=class extends Js{get[Symbol.toStringTag](){return\"Renderbuffer\"}static isSupported(t){let{format:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:null};return!r||est(t,r,vR)}static getSamplesForFormat(t,r){let{format:i}=r;return t.getInternalformatParameter(36161,i,32937)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.initialize(r),Object.seal(this)}initialize(t){let{format:r,width:i=1,height:s=1,samples:n=0}=t;return ye(r,\"Needs format\"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),n!==0&&fr(this.gl)?this.gl.renderbufferStorageMultisample(36161,n,r,i,s):this.gl.renderbufferStorage(36161,r,i,s),this.format=r,this.width=i,this.height=s,this.samples=n,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*vR[this.format].bpp),this}resize(t){let{width:r,height:i}=t;return r!==this.width||i!==this.height?this.initialize({width:r,height:i,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}};var rst=256,ist=1024,nst=16384,ZV=6144,YV=6145,QV=6146,$V=34041,XV=\"clear: bad arguments\";function Hf(e){let{framebuffer:t=null,color:r=null,depth:i=null,stencil:s=null}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={};t&&(n.framebuffer=t);let o=0;r&&(o|=nst,r!==!0&&(n.clearColor=r)),i&&(o|=rst,i!==!0&&(n.clearDepth=i)),s&&(o|=ist,i!==!0&&(n.clearStencil=i)),ye(o!==0,XV),Mn(e,n,()=>{e.clear(o)})}function xR(e){let{framebuffer:t=null,buffer:r=ZV,drawBuffer:i=0,value:s=[0,0,0,0]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(e),Mn(e,{framebuffer:t},()=>{switch(r){case ZV:switch(s.constructor){case Int32Array:e.clearBufferiv(r,i,s);break;case Uint32Array:e.clearBufferuiv(r,i,s);break;case Float32Array:default:e.clearBufferfv(r,i,s)}break;case YV:e.clearBufferfv(YV,0,[s]);break;case QV:e.clearBufferiv(QV,0,[s]);break;case $V:let[n,o]=s;e.clearBufferfi($V,0,n,o);break;default:ye(!1,XV)}})}function KV(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ye(!1),0}}function Dh(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{sourceX:r=0,sourceY:i=0,sourceFormat:s=6408}=t,{sourceAttachment:n=36064,target:o=null,sourceWidth:c,sourceHeight:f,sourceType:_}=t,{framebuffer:w,deleteFramebuffer:I}=JV(e);ye(w);let{gl:R,handle:N,attachments:j}=w;c=c||w.width,f=f||w.height,n===36064&&N===null&&(n=1028),ye(j[n]),_=_||j[n].type,o=sst(o,_,s,c,f),_=_||pb(o);let Q=R.bindFramebuffer(36160,N);return R.readPixels(r,i,c,f,s,_,o),R.bindFramebuffer(36160,Q||null),I&&w.delete(),o}function mE(e){let{sourceAttachment:t=36064,targetMaxHeight:r=Number.MAX_SAFE_INTEGER}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=Dh(e,{sourceAttachment:t}),{width:s,height:n}=e;for(;n>r;)({data:i,width:s,height:n}=UV({data:i,width:s,height:n}));NV({data:i,width:s,height:n});let o=document.createElement(\"canvas\");o.width=s,o.height=n;let c=o.getContext(\"2d\"),f=c.createImageData(s,n);return f.data.set(i),c.putImageData(f,0,0),o.toDataURL()}function gE(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{sourceX:i=0,sourceY:s=0,targetMipmaplevel:n=0,targetInternalFormat:o=6408}=r,{targetX:c,targetY:f,targetZ:_,width:w,height:I}=r,{framebuffer:R,deleteFramebuffer:N}=JV(e);ye(R);let{gl:j,handle:Q}=R,et=typeof c<\"u\"||typeof f<\"u\"||typeof _<\"u\";c=c||0,f=f||0,_=_||0;let Y=j.bindFramebuffer(36160,Q);ye(t);let K=null;if(t instanceof tl&&(K=t,w=Number.isFinite(w)?w:K.width,I=Number.isFinite(I)?I:K.height,K.bind(0),t=K.target),!et)j.copyTexImage2D(t,n,o,i,s,w,I,0);else switch(t){case 3553:case 34067:j.copyTexSubImage2D(t,n,c,f,i,s,w,I);break;case 35866:case 32879:Yn(j).copyTexSubImage3D(t,n,c,f,_,i,s,w,I);break;default:}return K&&K.unbind(),j.bindFramebuffer(36160,Y||null),N&&R.delete(),K}function JV(e){return e instanceof yi?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:tj(e),deleteFramebuffer:!0}}function sst(e,t,r,i,s){if(e)return e;t=t||5121;let n=HA(t,{clamped:!1}),o=KV(r);return new n(i*s*o)}var Ii={WEBGL2:\"WEBGL2\",VERTEX_ARRAY_OBJECT:\"VERTEX_ARRAY_OBJECT\",TIMER_QUERY:\"TIMER_QUERY\",INSTANCED_RENDERING:\"INSTANCED_RENDERING\",MULTIPLE_RENDER_TARGETS:\"MULTIPLE_RENDER_TARGETS\",ELEMENT_INDEX_UINT32:\"ELEMENT_INDEX_UINT32\",BLEND_EQUATION_MINMAX:\"BLEND_EQUATION_MINMAX\",FLOAT_BLEND:\"FLOAT_BLEND\",COLOR_ENCODING_SRGB:\"COLOR_ENCODING_SRGB\",TEXTURE_DEPTH:\"TEXTURE_DEPTH\",TEXTURE_FLOAT:\"TEXTURE_FLOAT\",TEXTURE_HALF_FLOAT:\"TEXTURE_HALF_FLOAT\",TEXTURE_FILTER_LINEAR_FLOAT:\"TEXTURE_FILTER_LINEAR_FLOAT\",TEXTURE_FILTER_LINEAR_HALF_FLOAT:\"TEXTURE_FILTER_LINEAR_HALF_FLOAT\",TEXTURE_FILTER_ANISOTROPIC:\"TEXTURE_FILTER_ANISOTROPIC\",COLOR_ATTACHMENT_RGBA32F:\"COLOR_ATTACHMENT_RGBA32F\",COLOR_ATTACHMENT_FLOAT:\"COLOR_ATTACHMENT_FLOAT\",COLOR_ATTACHMENT_HALF_FLOAT:\"COLOR_ATTACHMENT_HALF_FLOAT\",GLSL_FRAG_DATA:\"GLSL_FRAG_DATA\",GLSL_FRAG_DEPTH:\"GLSL_FRAG_DEPTH\",GLSL_DERIVATIVES:\"GLSL_DERIVATIVES\",GLSL_TEXTURE_LOD:\"GLSL_TEXTURE_LOD\"};function ost(e){let t=new pi(e,{format:6408,type:5126,dataFormat:6408}),r=new yi(e,{id:\"test-framebuffer\",check:!1,attachments:{36064:t}}),i=r.getStatus();return t.delete(),r.delete(),i===36053}var bR={[Ii.WEBGL2]:[!1,!0],[Ii.VERTEX_ARRAY_OBJECT]:[\"OES_vertex_array_object\",!0],[Ii.TIMER_QUERY]:[\"EXT_disjoint_timer_query\",\"EXT_disjoint_timer_query_webgl2\"],[Ii.INSTANCED_RENDERING]:[\"ANGLE_instanced_arrays\",!0],[Ii.MULTIPLE_RENDER_TARGETS]:[\"WEBGL_draw_buffers\",!0],[Ii.ELEMENT_INDEX_UINT32]:[\"OES_element_index_uint\",!0],[Ii.BLEND_EQUATION_MINMAX]:[\"EXT_blend_minmax\",!0],[Ii.FLOAT_BLEND]:[\"EXT_float_blend\"],[Ii.COLOR_ENCODING_SRGB]:[\"EXT_sRGB\",!0],[Ii.TEXTURE_DEPTH]:[\"WEBGL_depth_texture\",!0],[Ii.TEXTURE_FLOAT]:[\"OES_texture_float\",!0],[Ii.TEXTURE_HALF_FLOAT]:[\"OES_texture_half_float\",!0],[Ii.TEXTURE_FILTER_LINEAR_FLOAT]:[\"OES_texture_float_linear\"],[Ii.TEXTURE_FILTER_LINEAR_HALF_FLOAT]:[\"OES_texture_half_float_linear\"],[Ii.TEXTURE_FILTER_ANISOTROPIC]:[\"EXT_texture_filter_anisotropic\"],[Ii.COLOR_ATTACHMENT_RGBA32F]:[ost,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_FLOAT]:[!1,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_HALF_FLOAT]:[\"EXT_color_buffer_half_float\"],[Ii.GLSL_FRAG_DATA]:[\"WEBGL_draw_buffers\",!0],[Ii.GLSL_FRAG_DEPTH]:[\"EXT_frag_depth\",!0],[Ii.GLSL_DERIVATIVES]:[\"OES_standard_derivatives\",!0],[Ii.GLSL_TEXTURE_LOD]:[\"EXT_shader_texture_lod\",!0]};var ast=2;function $0(e,t){return Oh(e,t)}function Oh(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>ej(e,r))}function _E(e){e.luma=e.luma||{},e.luma.caps=e.luma.caps||{};for(let t in bR)e.luma.caps[t]===void 0&&(e.luma.caps[t]=ej(e,t));return e.luma.caps}function ej(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},e.luma.caps[t]===void 0&&(e.luma.caps[t]=lst(e,t)),e.luma.caps[t]||He.log(ast,\"Feature: \".concat(t,\" not supported\"))(),e.luma.caps[t]}function lst(e,t){let r=bR[t];ye(r,t);let i,s=fr(e)&&r[1]||r[0];if(typeof s==\"function\")i=s(e);else if(Array.isArray(s)){i=!0;for(let n of s)i=i&&!!e.getExtension(n)}else typeof s==\"string\"?i=!!e.getExtension(s):typeof s==\"boolean\"?i=s:ye(!1);return i}var rj=\"Multiple render targets not supported\",yi=class e extends Js{get[Symbol.toStringTag](){return\"Framebuffer\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{colorBufferFloat:i,colorBufferHalfFloat:s}=r,n=!0;return i&&(n=!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"WEBGL_color_buffer_float\")||t.getExtension(\"OES_texture_float\"))),s&&(n=n&&!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"EXT_color_buffer_half_float\"))),n}static getDefaultFramebuffer(t){return t.luma=t.luma||{},t.luma.defaultFramebuffer=t.luma.defaultFramebuffer||new e(t,{id:\"default-framebuffer\",handle:null,attachments:{}}),t.luma.defaultFramebuffer}get MAX_COLOR_ATTACHMENTS(){let t=Yn(this.gl);return t.getParameter(t.MAX_COLOR_ATTACHMENTS)}get MAX_DRAW_BUFFERS(){let t=Yn(this.gl);return t.getParameter(t.MAX_DRAW_BUFFERS)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.width=null,this.height=null,this.attachments={},this.readBuffer=36064,this.drawBuffers=[36064],this.ownResources=[],this.initialize(r),Object.seal(this)}get color(){return this.attachments[36064]||null}get texture(){return this.attachments[36064]||null}get depth(){return this.attachments[36096]||this.attachments[33306]||null}get stencil(){return this.attachments[36128]||this.attachments[33306]||null}initialize(t){let{width:r=1,height:i=1,attachments:s=null,color:n=!0,depth:o=!0,stencil:c=!1,check:f=!0,readBuffer:_=void 0,drawBuffers:w=void 0}=t;if(ye(r>=0&&i>=0,\"Width and height need to be integers\"),this.width=r,this.height=i,s)for(let I in s){let R=s[I];(Array.isArray(R)?R[0]:R).resize({width:r,height:i})}else s=this._createDefaultAttachments(n,o,c,r,i);this.update({clearAttachments:!0,attachments:s,readBuffer:_,drawBuffers:w}),s&&f&&this.checkStatus()}delete(){for(let t of this.ownResources)t.delete();return super.delete(),this}update(t){let{attachments:r={},readBuffer:i,drawBuffers:s,clearAttachments:n=!1,resizeAttachments:o=!0}=t;this.attach(r,{clearAttachments:n,resizeAttachments:o});let{gl:c}=this,f=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),s&&this._setDrawBuffers(s),c.bindFramebuffer(36160,f||null),this}resize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{width:r,height:i}=t;if(this.handle===null)return ye(r===void 0&&i===void 0),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;r===void 0&&(r=this.gl.drawingBufferWidth),i===void 0&&(i=this.gl.drawingBufferHeight),r!==this.width&&i!==this.height&&He.log(2,\"Resizing framebuffer \".concat(this.id,\" to \").concat(r,\"x\").concat(i))();for(let s in this.attachments)this.attachments[s].resize({width:r,height:i});return this.width=r,this.height=i,this}attach(t){let{clearAttachments:r=!1,resizeAttachments:i=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s={};r&&Object.keys(this.attachments).forEach(o=>{s[o]=null}),Object.assign(s,t);let n=this.gl.bindFramebuffer(36160,this.handle);for(let o in s){ye(o!==void 0,\"Misspelled framebuffer binding point?\");let c=Number(o),f=s[c],_=f;if(!_)this._unattach(c);else if(_ instanceof el)this._attachRenderbuffer({attachment:c,renderbuffer:_});else if(Array.isArray(f)){let[w,I=0,R=0]=f;_=w,this._attachTexture({attachment:c,texture:w,layer:I,level:R})}else this._attachTexture({attachment:c,texture:_,layer:0,level:0});i&&_&&_.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,n||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){let{gl:t}=this,r=this.getStatus();if(r!==36053)throw new Error(ust(r));return this}getStatus(){let{gl:t}=this,r=t.bindFramebuffer(36160,this.handle),i=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,r||null),i}clear(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:r,depth:i,stencil:s,drawBuffers:n=[]}=t,o=this.gl.bindFramebuffer(36160,this.handle);return(r||i||s)&&Hf(this.gl,{color:r,depth:i,stencil:s}),n.forEach((c,f)=>{xR(this.gl,{drawBuffer:f,value:c})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)\")(),null}readPixelsToBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)\")(),null}copyToDataUrl(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)\")(),null}copyToImage(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)\")(),null}copyToTexture(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}blit(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)\")(),null}invalidate(t){let{attachments:r=[],x:i=0,y:s=0,width:n,height:o}=t,c=Yn(this.gl),f=c.bindFramebuffer(36008,this.handle);return i===0&&s===0&&n===void 0&&o===void 0?c.invalidateFramebuffer(36008,r):c.invalidateFramebuffer(36008,r,i,s,n,o),c.bindFramebuffer(36008,f),this}getAttachmentParameter(t,r,i){let s=this._getAttachmentParameterFallback(r);return s===null&&(this.gl.bindFramebuffer(36160,this.handle),s=this.gl.getFramebufferAttachmentParameter(36160,t,r),this.gl.bindFramebuffer(36160,null)),i&&s>1e3&&(s=Ou(this.gl,s)),s}getAttachmentParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:36064,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],s={};for(let n of i){let o=r?Ou(this.gl,n):n;s[o]=this.getAttachmentParameter(t,n,r)}return s}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=Object.keys(this.attachments),i={};for(let s of r){let n=Number(s),o=t?Ou(this.gl,n):n;i[o]=this.getAttachmentParameters(n,t)}return i}show(){return typeof window<\"u\"&&window.open(mE(this),\"luma-debug-texture\"),this}log(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\";if(t>He.level||typeof window>\"u\")return this;r=r||\"Framebuffer \".concat(this.id);let i=mE(this,{targetMaxHeight:100});return He.image({logLevel:t,message:r,image:i},r)(),this}bind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,this.handle),this}unbind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,r,i,s,n){let o=null;return t&&(o=o||{},o[36064]=new pi(this.gl,{id:\"\".concat(this.id,\"-color0\"),pixels:null,format:6408,type:5121,width:s,height:n,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),r&&i?(o=o||{},o[33306]=new el(this.gl,{id:\"\".concat(this.id,\"-depth-stencil\"),format:35056,width:s,height:111}),this.ownResources.push(o[33306])):r?(o=o||{},o[36096]=new el(this.gl,{id:\"\".concat(this.id,\"-depth\"),format:33189,width:s,height:n}),this.ownResources.push(o[36096])):i&&ye(!1),o}_unattach(t){let r=this.attachments[t];r&&(r instanceof el?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer(t){let{attachment:r=36064,renderbuffer:i}=t,{gl:s}=this;s.framebufferRenderbuffer(36160,r,36161,i.handle),this.attachments[r]=i}_attachTexture(t){let{attachment:r=36064,texture:i,layer:s,level:n}=t,{gl:o}=this;switch(o.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:Yn(o).framebufferTextureLayer(36160,r,i.target,n,s);break;case 34067:let f=cst(s);o.framebufferTexture2D(36160,r,f,i.handle,n);break;case 3553:o.framebufferTexture2D(36160,r,3553,i.handle,n);break;default:ye(!1,\"Illegal texture type\")}o.bindTexture(i.target,null),this.attachments[r]=i}_setReadBuffer(t){let r=sR(this.gl);r?r.readBuffer(t):ye(t===36064||t===1029,rj),this.readBuffer=t}_setDrawBuffers(t){let{gl:r}=this,i=Yn(r);if(i)i.drawBuffers(t);else{let s=r.getExtension(\"WEBGL_draw_buffers\");s?s.drawBuffersWEBGL(t):ye(t.length===1&&(t[0]===36064||t[0]===1029),rj)}this.drawBuffers=t}_getAttachmentParameterFallback(t){let r=_E(this.gl);switch(t){case 36052:return r.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return r.WEBGL2?null:8;case 33297:return r.WEBGL2?null:5125;case 33296:return!r.WEBGL2&&!r.EXT_sRGB?9729:null;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}};function cst(e){return e<34069?e+34069:e}function ust(e){return(yi.STATUS||{})[e]||\"Framebuffer error \".concat(e)}var hst=[36049,36048,33296,33298,33299,33300,33301,33302,33303];yi.ATTACHMENT_PARAMETERS=hst;function yE(e,t){ye(e instanceof pi||e instanceof Y0||e instanceof Ey);let r=e.constructor,{gl:i,width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w}=e,I=Object.assign({width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w},t);return new r(i,I)}function tj(e,t){let{gl:r,width:i,height:s,id:n}=e;return new yi(r,Object.assign({},t,{id:\"framebuffer-for-\".concat(n),width:i,height:s,attachments:{36064:e}}))}function qA(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"unnamed\",r=/#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/,i=e.match(r);return i?i[1]:t}function wR(e){switch(e){case 35632:return\"fragment\";case 35633:return\"vertex\";default:return\"unknown type\"}}function SR(e,t,r,i){let s=e.split(/\\r?\\n/),n={},o={},c=i||qA(t)||\"(unnamed)\",f=\"\".concat(wR(r),\" shader \").concat(c);for(let w=0;w1&&arguments[1]!==void 0?arguments[1]:1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\": \",i=e.split(/\\r?\\n/),s=String(i.length+t-1).length;return i.map((n,o)=>{let c=String(o+t),f=c.length;return nj(c,s-f)+r+n})}function nj(e,t){let r=\"\";for(let i=0;i=2&&r[0]===\"#version\"){let i=parseInt(r[1],10);Number.isFinite(i)&&(t=i)}return t}var dst=\"Shader: GLSL source code must be a JavaScript string\",vE=class e extends Js{get[Symbol.toStringTag](){return\"Shader\"}static getTypeName(t){switch(t){case 35633:return\"vertex-shader\";case 35632:return\"fragment-shader\";default:return ye(!1),\"unknown\"}}constructor(t,r){tp(t),ye(typeof r.source==\"string\",dst);let i=qA(r.source,null)||r.id||ta(\"unnamed \".concat(e.getTypeName(r.shaderType)));super(t,{id:i}),this.shaderType=r.shaderType,this.source=r.source,this.initialize(r)}initialize(t){let{source:r}=t,i=qA(r,null);i&&(this.id=ta(i)),this._compile(r)}getParameter(t){return this.gl.getShaderParameter(this.handle,t)}toString(){return\"\".concat(e.getTypeName(this.shaderType),\":\").concat(this.id)}getName(){return qA(this.source)||\"unnamed-shader\"}getSource(){return this.gl.getShaderSource(this.handle)}getTranslatedSource(){let t=this.gl.getExtension(\"WEBGL_debug_shaders\");return t?t.getTranslatedShaderSource(this.handle):\"No translated source available. WEBGL_debug_shaders not implemented\"}_compile(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.source;if(t.startsWith(\"#version \")||(t=`#version 100\n`.concat(t)),this.source=t,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){let i=this.gl.getShaderInfoLog(this.handle),{shaderName:s,errors:n,warnings:o}=SR(i,this.source,this.shaderType,this.id);throw He.error(\"GLSL compilation errors in \".concat(s,`\n`).concat(n))(),He.warn(\"GLSL compilation warnings in \".concat(s,`\n`).concat(o))(),new Error(\"GLSL compilation errors in \".concat(s))}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}},X0=class extends vE{get[Symbol.toStringTag](){return\"VertexShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}},K0=class extends vE{get[Symbol.toStringTag](){return\"FragmentShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}};var pst={5126:Qn.bind(null,\"uniform1fv\",$c,1,rl),35664:Qn.bind(null,\"uniform2fv\",$c,2,rl),35665:Qn.bind(null,\"uniform3fv\",$c,3,rl),35666:Qn.bind(null,\"uniform4fv\",$c,4,rl),5124:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35667:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35668:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35669:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35670:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35671:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35672:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35673:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35674:Qn.bind(null,\"uniformMatrix2fv\",$c,4,ep),35675:Qn.bind(null,\"uniformMatrix3fv\",$c,9,ep),35676:Qn.bind(null,\"uniformMatrix4fv\",$c,16,ep),35678:_a,35680:_a,5125:Qn.bind(null,\"uniform1uiv\",xE,1,rl),36294:Qn.bind(null,\"uniform2uiv\",xE,2,rl),36295:Qn.bind(null,\"uniform3uiv\",xE,3,rl),36296:Qn.bind(null,\"uniform4uiv\",xE,4,rl),35685:Qn.bind(null,\"uniformMatrix2x3fv\",$c,6,ep),35686:Qn.bind(null,\"uniformMatrix2x4fv\",$c,8,ep),35687:Qn.bind(null,\"uniformMatrix3x2fv\",$c,6,ep),35688:Qn.bind(null,\"uniformMatrix3x4fv\",$c,12,ep),35689:Qn.bind(null,\"uniformMatrix4x2fv\",$c,8,ep),35690:Qn.bind(null,\"uniformMatrix4x3fv\",$c,12,ep),35678:_a,35680:_a,35679:_a,35682:_a,36289:_a,36292:_a,36293:_a,36298:_a,36299:_a,36300:_a,36303:_a,36306:_a,36307:_a,36308:_a,36311:_a},Ast={},mst={},gst={},sj=[0];function TR(e,t,r,i){t===1&&typeof e==\"boolean\"&&(e=e?1:0),Number.isFinite(e)&&(sj[0]=e,e=sj);let s=e.length;if(s%t&&He.warn(\"Uniform size should be multiples of \".concat(t),e)(),e instanceof r)return e;let n=i[s];n||(n=new r(s),i[s]=n);for(let o=0;o{let s=e!==i;return s&&(t.uniform1i(r,i),e=i),s}}function Qn(e,t,r,i){let s=null,n=null;return(o,c,f)=>{let _=t(f,r),w=_.length,I=!1;if(s===null)s=new Float32Array(w),n=w,I=!0;else{ye(n===w,\"Uniform length cannot change.\");for(let R=0;R=0&&this._addAttribute(f,n,o,c)}this.attributeInfos.sort((s,n)=>s.location-n.location)}_readVaryingsFromProgram(t){let{gl:r}=t;if(!fr(r))return;let i=r.getProgramParameter(t.handle,35971);for(let s=0;ss.location-n.location)}_addAttribute(t,r,i,s){let{type:n,components:o}=PR(i),c={type:n,size:s*o};this._inferProperties(t,r,c);let f={location:t,name:r,accessor:new Pl(c)};this.attributeInfos.push(f),this.attributeInfosByLocation[t]=f,this.attributeInfosByName[f.name]=f}_inferProperties(t,r,i){/instance/i.test(r)&&(i.divisor=1)}_addVarying(t,r,i,s){let{type:n,components:o}=PR(i),c=new Pl({type:n,size:s*o}),f={location:t,name:r,accessor:c};this.varyingInfos.push(f),this.varyingInfosByName[f.name]=f}};var hj=4,$st=35981,Xst=[\"setVertexArray\",\"setAttributes\",\"setBuffers\",\"unsetBuffers\",\"use\",\"getUniformCount\",\"getUniformInfo\",\"getUniformLocation\",\"getUniformValue\",\"getVarying\",\"getFragDataLocation\",\"getAttachedShaders\",\"getAttributeCount\",\"getAttributeLocation\",\"getAttributeInfo\"],rp=class extends Js{get[Symbol.toStringTag](){return\"Program\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Program\",\"v6.0\",Xst),this._isCached=!1,this.initialize(r),Object.seal(this),this._setId(r.id)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{hash:r,vs:i,fs:s,varyings:n,bufferMode:o=$st}=t;return this.hash=r||\"\",this.vs=typeof i==\"string\"?new X0(this.gl,{id:\"\".concat(t.id,\"-vs\"),source:i}):i,this.fs=typeof s==\"string\"?new K0(this.gl,{id:\"\".concat(t.id,\"-fs\"),source:s}):s,ye(this.vs instanceof X0),ye(this.fs instanceof K0),this.uniforms={},this._textureUniforms={},n&&n.length>0&&(Yn(this.gl),this.varyings=n,this.gl2.transformFeedbackVaryings(this.handle,n,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new _b(this),this.setProps(t)}delete(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this._isCached?this:super.delete(t)}setProps(t){return\"uniforms\"in t&&this.setUniforms(t.uniforms),this}draw(t){let{logPriority:r,drawMode:i=4,vertexCount:s,offset:n=0,start:o,end:c,isIndexed:f=!1,indexType:_=5123,instanceCount:w=0,isInstanced:I=w>0,vertexArray:R=null,transformFeedback:N,framebuffer:j,parameters:Q={},uniforms:et,samplers:Y}=t;if((et||Y)&&(He.deprecated(\"Program.draw({uniforms})\",\"Program.setUniforms(uniforms)\")(),this.setUniforms(et||{})),He.priority>=r){let K=j?j.id:\"default\",J=\"mode=\".concat(Ou(this.gl,i),\" verts=\").concat(s,\" \")+\"instances=\".concat(w,\" indexType=\").concat(Ou(this.gl,_),\" \")+\"isInstanced=\".concat(I,\" isIndexed=\").concat(f,\" \")+\"Framebuffer=\".concat(K);He.log(r,J)()}return ye(R),this.gl.useProgram(this.handle),!this._areTexturesRenderable()||s===0||I&&w===0?!1:(R.bindForDraw(s,w,()=>{if(j!==void 0&&(Q=Object.assign({},Q,{framebuffer:j})),N){let K=uj(i);N.begin(K)}this._bindTextures(),Mn(this.gl,Q,()=>{f&&I?this.gl2.drawElementsInstanced(i,s,_,n,w):f&&fr(this.gl)&&!isNaN(o)&&!isNaN(c)?this.gl2.drawRangeElements(i,o,c,s,_,n):f?this.gl.drawElements(i,s,_,n):I?this.gl2.drawArraysInstanced(i,n,s,w):this.gl.drawArrays(i,n,s)}),N&&N.end()}),!0)}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};He.priority>=2&&aj(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(let r in t){let i=t[r],s=this._uniformSetters[r];if(s){let n=i,o=!1;if(n instanceof yi&&(n=n.texture),n instanceof tl)if(o=this.uniforms[r]!==i,o){s.textureIndex===void 0&&(s.textureIndex=this._textureIndexCounter++);let c=n,{textureIndex:f}=s;c.bind(f),n=f,this._textureUniforms[r]=c}else n=s.textureIndex;else this._textureUniforms[r]&&delete this._textureUniforms[r];(s(n)||o)&&lj(this.uniforms,r,i)}}return this}_areTexturesRenderable(){let t=!0;for(let r in this._textureUniforms){let i=this._textureUniforms[r];i.update(),t=t&&i.loaded}return t}_bindTextures(){for(let t in this._textureUniforms){let r=this._uniformSetters[t].textureIndex;this._textureUniforms[t].bind(r)}}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){let r=this.gl.getAttachedShaders(t),i={};for(let s of r)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new X0({handle:s});break;case 35632:i.fs=new K0({handle:s});break;default:}return i}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){let r=this._getName();this.id=ta(r)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,\"\"),t=t?\"\".concat(t,\"-program\"):\"program\",t}_compileAndLink(){let{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),He.time(hj,\"linkProgram for \".concat(this._getName()))(),t.linkProgram(this.handle),He.timeEnd(hj,\"linkProgram for \".concat(this._getName()))(),t.debug||He.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(\"Error linking: \".concat(t.getProgramInfoLog(this.handle)));if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(\"Error validating: \".concat(t.getProgramInfoLog(this.handle)))}}_readUniformLocationsFromLinkedProgram(){let{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let r=0;r1)for(let o=0;o1&&arguments[1]!==void 0?arguments[1]:[],i=fr(t),s=Oh(t,Ii.TIMER_QUERY),n=i||s;for(let o of r)switch(o){case\"queries\":n=n&&i;break;case\"timers\":n=n&&s;break;default:ye(!1)}return n}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(tot)}beginOcclusionQuery(){let{conservative:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.begin(t?not:iot)}beginTransformFeedbackQuery(){return this.begin(rot)}begin(t){return this._queryPending?this:(this.target=t,this.gl2.beginQuery(this.target,this.handle),this)}end(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}isResultAvailable(){if(!this._queryPending)return!1;let t=this.gl2.getQueryParameter(this.handle,Jst);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(eot)}getResult(){return this.gl2.getQueryParameter(this.handle,Kst)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;let r=0;return this._pollingPromise=new Promise((i,s)=>{let n=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):r++>t?(s(\"Timed out\"),this._pollingPromise=null):requestAnimationFrame(n)};requestAnimationFrame(n)}),this._pollingPromise}_createHandle(){return e.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}};var ip=class extends Js{get[Symbol.toStringTag](){return\"TransformFeedback\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),super(t,r),this.initialize(r),this.stubRemovedMethods(\"TransformFeedback\",\"v6.0\",[\"pause\",\"resume\"]),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Wf(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"bindOnUse\"in t&&(t=t.bindOnUse),\"buffers\"in t&&this.setBuffers(t.buffers)}setBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.bind(()=>{for(let r in t)this.setBuffer(r,t[r])}),this}setBuffer(t,r){let i=this._getVaryingIndex(t),{buffer:s,byteSize:n,byteOffset:o}=this._getBufferParams(r);return i<0?(this.unused[t]=s,He.warn(\"\".concat(this.id,\" unused varying buffer \").concat(t))(),this):(this.buffers[i]=r,this.bindOnUse||this._bindBuffer(i,s,o,n),this)}begin(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let r,i,s;return t instanceof Fr?s=t:(s=t.buffer,i=t.byteSize,r=t.byteOffset),(r!==void 0||i!==void 0)&&(r=r||0,i=i||s.byteLength-r),{buffer:s,byteOffset:r,byteSize:i}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;let r=Number(t);return Number.isFinite(r)?r:-1}_bindBuffers(){if(this.bindOnUse)for(let t in this.buffers){let{buffer:r,byteSize:i,byteOffset:s}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,r,s,i)}}_unbindBuffers(){if(this.bindOnUse)for(let t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,n=r&&r.handle;return!n||s===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,i,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}};var TE=null;function sot(e){return(!TE||TE.byteLength1&&arguments[1]!==void 0?arguments[1]:{}).constantAttributeZero?fr(t)||vy()===\"Chrome\":!0}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new e(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return e.MAX_ATTRIBUTES=e.MAX_ATTRIBUTES||t.getParameter(34921),e.MAX_ATTRIBUTES}static setConstant(t,r,i){switch(i.constructor){case Float32Array:e._setConstantFloatArray(t,r,i);break;case Int32Array:e._setConstantIntArray(t,r,i);break;case Uint32Array:e._setConstantUintArray(t,r,i);break;default:ye(!1)}}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;super(t,Object.assign({},r,{id:i})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=r.isDefaultArray||!1,this.gl2=t,this.initialize(r),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return e.getMaxAttributes(this.gl)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.setProps(t)}setProps(t){return this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ye(!t||t.target===34963,oot),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,r,i){if(r.target===34963)return this.setElementBuffer(r,i);let{size:s,type:n,stride:o,offset:c,normalized:f,integer:_,divisor:w}=i,{gl:I,gl2:R}=this;return t=Number(t),this.bind(()=>{I.bindBuffer(34962,r.handle),_?(ye(fr(I)),R.vertexAttribIPointer(t,s,n,o,c)):I.vertexAttribPointer(t,s,n,f,o,c),I.enableVertexAttribArray(t),R.vertexAttribDivisor(t,w||0)}),this}enable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return!r&&t===0&&!e.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>r?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,r){let i=this._normalizeConstantArrayValue(r),s=i.byteLength*t,n=i.length*t,o=!this.buffer;if(this.buffer=this.buffer||new Fr(this.gl,s),o=o||this.buffer.reallocate(s),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){let c=fj(r.constructor,n);dj({target:c,source:i,start:0,count:n}),this.buffer.subData(c),this.bufferValue=r}return this.buffer}_normalizeConstantArrayValue(t){return Array.isArray(t)?new Float32Array(t):t}_compareConstantArrayValues(t,r){if(!t||!r||t.length!==r.length||t.constructor!==r.constructor)return!1;for(let i=0;i{switch(t){case 34373:return this.gl.getVertexAttribOffset(i,t);default:return this.gl.getVertexAttrib(i,t)}})}};var aot=\"VertexArray: attributes must be Buffers or constants (i.e. typed array)\",lot=/^(.+)__LOCATION_([0-9]+)$/,cot=[\"setBuffers\",\"setGeneric\",\"clearBindings\",\"setLocations\",\"setGenericValues\",\"setDivisor\",\"enable\",\"disable\"],Iy=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;this.id=i,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new tg(t),fE(this,\"VertexArray\",\"v6.0\",cot),this.initialize(r),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;let{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"attributes\"in t&&this.setAttributes(t.attributes),\"elements\"in t&&this.setElementBuffer(t.elements),\"bindOnUse\"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(let r in t){let i=t[r];this._setAttribute(r,i)}this.gl.bindBuffer(34962,null)}),this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.elements=t,this.elementsAccessor=r,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,r),this}setBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(r.target===34963)return this.setElementBuffer(r,i);let{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,r.accessor,i);return s>=0&&(this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.setBuffer(s,r,n)),this}setConstant(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,Object.assign({size:r.length},i));return s>=0&&(r=this.vertexArrayObject._normalizeConstantArrayValue(r),this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.enable(s,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Fr(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,r),s=i()}),s}_resolveLocationAndAccessor(t,r,i,s){let n={location:-1,accessor:null},{location:o,name:c}=this._getAttributeIndex(t);if(!Number.isFinite(o)||o<0)return this.unused[t]=r,He.once(3,()=>\"unused value \".concat(t,\" in \").concat(this.id))(),n;let f=this._getAttributeInfo(c||o);if(!f)return n;let _=this.accessors[o]||{},w=Pl.resolve(f.accessor,_,i,s),{size:I,type:R}=w;return ye(Number.isFinite(I)&&Number.isFinite(R)),{location:o,accessor:w}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){let r=Number(t);if(Number.isFinite(r))return{location:r};let i=lot.exec(t),s=i?i[1]:t,n=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(s)+n,name:s}:{location:-1}}_setAttribute(t,r){if(r instanceof Fr)this.setBuffer(t,r);else if(Array.isArray(r)&&r.length&&r[0]instanceof Fr){let i=r[0],s=r[1];this.setBuffer(t,i,s)}else if(ArrayBuffer.isView(r)||Array.isArray(r)){let i=r;this.setConstant(t,i)}else if(r.buffer instanceof Fr){let i=r;this.setBuffer(t,i.buffer,i)}else throw new Error(aot)}_setConstantAttributes(t,r){let i=Math.max(t|0,r|0),s=this.values[0];ArrayBuffer.isView(s)&&this._setConstantAttributeZero(s,i);for(let n=1;n0;if(t.isInstanced=t.isInstanced||o,i instanceof Fr){let c=i;if(o){let f=c.getVertexCount(s);t.instanceCount=Math.min(t.instanceCount,f)}else{let f=c.getVertexCount(s);t.vertexCount=Math.min(t.vertexCount,f)}}}setElements(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return He.deprecated(\"setElements\",\"setElementBuffer\")(),this.setElementBuffer(t,r)}};function uot(e,t){let{maxElts:r=16,size:i=1}=t,s=\"[\";for(let o=0;o0&&(s+=\",\".concat(o%i===0?\" \":\"\")),s+=eg(e[o],t);let n=e.length>r?\"...\":\"]\";return\"\".concat(s).concat(n)}function eg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=1e-16,{isInteger:i=!1}=t;if(Array.isArray(e)||ArrayBuffer.isView(e))return uot(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);let s=e.toPrecision(2);return s.indexOf(\".0\")===s.length-2?s.slice(0,-1):s}function ME(e){let{header:t=\"Uniforms\",program:r,uniforms:i,undefinedOnly:s=!1}=e;ye(r);let n=\".*_.*\",o=\".*Matrix\",c=r._uniformSetters,f={},_=Object.keys(c).sort(),w=0;for(let N of _)!N.match(n)&&!N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)f[N]||IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;let I=0,R={};if(!s)for(let N in i){let j=i[N];f[N]||(I++,R[N]={Type:\"NOT USED: \".concat(j),[t]:eg(j)})}return{table:f,count:w,unusedTable:R,unusedCount:I}}function IR(e){let{table:t,header:r,uniforms:i,uniformName:s,undefinedOnly:n}=e,o=i[s],c=hot(o);return!n||!c?(t[s]={[r]:c?eg(o):\"N/A\",\"Uniform Type\":c?o:\"NOT PROVIDED\"},!0):!1}function hot(e){return e!=null}function CR(e){let{vertexArray:t,header:r=\"Attributes\"}=e;if(!t.configuration)return{};let i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=pj(t,t.elements,null,r));let s=t.values;for(let n in s){let o=t._getAttributeInfo(n);if(o){let c=\"\".concat(n,\": \").concat(o.name),f=t.accessors[o.location];f&&(c=\"\".concat(n,\": \").concat(fot(o.name,f))),i[c]=pj(t,s[n],f,r)}}return i}function pj(e,t,r,i){let{gl:s}=e;if(!t)return{[i]:\"null\",\"Format \":\"N/A\"};let n=\"NOT PROVIDED\",o=1,c=0,f=0,_,w,I;if(r&&(n=r.type,o=r.size,n=String(n).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1),t instanceof Fr){let R=t,{data:N,changed:j}=R.getDebugData();w=j?\"*\":\"\",I=N,f=R.byteLength,c=f/N.BYTES_PER_ELEMENT/o;let Q;if(r){let et=r.divisor>0;Q=\"\".concat(et?\"I \":\"P \",\" \").concat(c,\" (x\").concat(o,\"=\").concat(f,\" bytes \").concat(Ou(s,n),\")\")}else _=!0,Q=\"\".concat(f,\" bytes\");return{[i]:\"\".concat(w).concat(eg(I,{size:o,isInteger:_})),\"Format \":Q}}return I=t,o=t.length,n=String(t.constructor.name).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1,{[i]:\"\".concat(eg(I,{size:o,isInteger:_}),\" (constant)\"),\"Format \":\"\".concat(o,\"x\").concat(n,\" (constant)\")}}function fot(e,t){let{type:r,size:i}=t,s=SE(r,i);return s?\"\".concat(e,\" (\").concat(s.name,\")\"):e}function LR(e){let t={},r=\"Accessors for \".concat(e.id);for(let i of e.attributeInfos)if(i){let s=Aj(i);t[\"in \".concat(s)]={[r]:JSON.stringify(i.accessor)}}for(let i of e.varyingInfos)if(i){let s=Aj(i);t[\"out \".concat(s)]={[r]:JSON.stringify(i.accessor)}}return t}function Aj(e){let{type:t,size:r}=e.accessor,i=SE(t,r);return i?\"\".concat(i.name,\" \").concat(e.name):e.name}var mj=Lo()&&typeof document<\"u\",pot=0,rg=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{onCreateContext:r=et=>Ty(et),onAddHTML:i=null,onInitialize:s=()=>{},onRender:n=()=>{},onFinalize:o=()=>{},onError:c,gl:f=null,glOptions:_={},debug:w=!1,createFramebuffer:I=!1,autoResizeViewport:R=!0,autoResizeDrawingBuffer:N=!0,stats:j=Du.get(\"animation-loop-\".concat(pot++))}=t,{useDevicePixels:Q=!0}=t;\"useDevicePixelRatio\"in t&&(He.deprecated(\"useDevicePixelRatio\",\"useDevicePixels\")(),Q=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:i,onInitialize:s,onRender:n,onFinalize:o,onError:c,gl:f,glOptions:_,debug:w,createFramebuffer:I},this.gl=f,this.needsRedraw=null,this.timeline=null,this.stats=j,this.cpuTime=this.stats.get(\"CPU Time\"),this.gpuTime=this.stats.get(\"GPU Time\"),this.frameRate=this.stats.get(\"Frame Rate\"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:R,autoResizeDrawingBuffer:N,useDevicePixels:Q}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return ye(typeof t==\"string\"),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return\"autoResizeViewport\"in t&&(this.autoResizeViewport=t.autoResizeViewport),\"autoResizeDrawingBuffer\"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),\"useDevicePixels\"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this._running)return this;this._running=!0;let r=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=J0.isSupported(this.gl,[\"timers\"])?new J0(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),i!==!1&&this._startLoop())});return this.props.onError&&r.catch(this.props.onError),this}redraw(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw(\"waitForRender\"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}async toDataURL(){return this.setNeedsRedraw(\"toDataURL\"),await this.waitForRender(),this.gl.canvas.toDataURL()}isContextLost(){return this.gl.isContextLost()}onCreateContext(){return this.props.onCreateContext(...arguments)}onInitialize(){return this.props.onInitialize(...arguments)}onRender(){return this.props.onRender(...arguments)}onFinalize(){return this.props.onFinalize(...arguments)}getHTMLControlValue(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=document.getElementById(t);return i?Number(i.value):r}setViewParameters(){return He.removed(\"AnimationLoop.setViewParameters\",\"AnimationLoop.setProps\")(),this}_startLoop(){let t=()=>{this._running&&(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=mj?new Promise((t,r)=>{if(mj&&document.readyState===\"complete\"){t(document);return}window.addEventListener(\"load\",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):mR(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):AR(t)}_renderFrame(){if(this.display){this.display._renderFrame(...arguments);return}this.onRender(...arguments)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){let{width:t,height:r,aspect:i}=this._getSizeAndAspect();(t!==this.animationProps.width||r!==this.animationProps.height)&&this.setNeedsRedraw(\"drawing buffer resized\"),i!==this.animationProps.aspect&&this.setNeedsRedraw(\"drawing buffer aspect changed\"),this.animationProps.width=t,this.animationProps.height=r,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){typeof t==\"object\"&&t!==null&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&typeof OffscreenCanvas<\"u\"&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?q0(this.props.gl,t):this.onCreateContext(t),!Jd(this.gl))throw new Error(\"AnimationLoop.onCreateContext - illegal context returned\");uE(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){let t=document.createElement(\"div\");document.body.appendChild(t),t.style.position=\"relative\";let r=document.createElement(\"div\");r.style.position=\"absolute\",r.style.left=\"10px\",r.style.bottom=\"10px\",r.style.width=\"300px\",r.style.background=\"white\",t.appendChild(this.gl.canvas),t.appendChild(r);let i=this.props.onAddHTML(r);i&&(r.innerHTML=i)}}_getSizeAndAspect(){let t=this.gl.drawingBufferWidth,r=this.gl.drawingBufferHeight,i=1,{canvas:s}=this.gl;return s&&s.clientHeight?i=s.clientWidth/s.clientHeight:t>0&&r>0&&(i=t/r),{width:t,height:r,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&dR(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new yi(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get(\"GPU Time\").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){let{canvas:t}=this.gl;t&&(t.addEventListener(\"mousemove\",this._onMousemove),t.addEventListener(\"mouseleave\",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}};var ig=\"vs\",yb=\"fs\";function to(e,t){if(!e)throw new Error(t||\"shadertools: assertion failed.\")}var kR={number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},array:{validate(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function _j(e){let t={};for(let r in e){let i=e[r],s=Aot(i);t[r]=s}return t}function Aot(e){let t=gj(e);return t===\"object\"?e?\"type\"in e?Object.assign({},e,kR[e.type]):\"value\"in e?(t=gj(e.value),Object.assign({type:t},e,kR[t])):{type:\"object\",value:e}:{type:\"object\",value:null}:Object.assign({type:t,value:e},kR[t])}function gj(e){return Array.isArray(e)||ArrayBuffer.isView(e)?\"array\":typeof e}var mot=\"vs\",got=\"fs\",Cy=class{constructor(t){let{name:r,vs:i,fs:s,dependencies:n=[],uniforms:o,getUniforms:c,deprecations:f=[],defines:_={},inject:w={},vertexShader:I,fragmentShader:R}=t;to(typeof r==\"string\"),this.name=r,this.vs=i||I,this.fs=s||R,this.getModuleUniforms=c,this.dependencies=n,this.deprecations=this._parseDeprecationDefinitions(f),this.defines=_,this.injections=_ot(w),o&&(this.uniforms=_j(o))}getModuleSource(t){let r;switch(t){case mot:r=this.vs||\"\";break;case got:r=this.fs||\"\";break;default:to(!1)}return\"#define MODULE_\".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,\"_\"),`\n`).concat(r,\"// END MODULE_\").concat(this.name,`\n\n`)}getUniforms(t,r){return this.getModuleUniforms?this.getModuleUniforms(t,r):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,r){this.deprecations.forEach(i=>{i.regex.test(t)&&(i.deprecated?r.deprecated(i.old,i.new)():r.removed(i.old,i.new)())})}_parseDeprecationDefinitions(t){return t.forEach(r=>{switch(r.type){case\"function\":r.regex=new RegExp(\"\\\\b\".concat(r.old,\"\\\\(\"));break;default:r.regex=new RegExp(\"\".concat(r.type,\" \").concat(r.old,\";\"))}}),t}_defaultGetUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},i=this.uniforms;for(let s in i){let n=i[s];s in t&&!n.private?(n.validate&&to(n.validate(t[s],n),\"\".concat(this.name,\": invalid \").concat(s)),r[s]=t[s]):r[s]=n.value}return r}};function _ot(e){let t={vs:{},fs:{}};for(let r in e){let i=e[r],s=r.slice(0,2);typeof i==\"string\"&&(i={order:0,injection:i}),t[s][r]=i}return t}function yj(e){return yot(xj(e))}function yot(e){let t={},r={};return vj({modules:e,level:0,moduleMap:t,moduleDepth:r}),Object.keys(r).sort((i,s)=>r[s]-r[i]).map(i=>t[i])}function vj(e){let{modules:t,level:r,moduleMap:i,moduleDepth:s}=e;if(r>=5)throw new Error(\"Possible loop in shader dependency graph\");for(let n of t)i[n.name]=n,(s[n.name]===void 0||s[n.name](r instanceof Cy||(to(typeof r!=\"string\",\"Shader module use by name is deprecated. Import shader module '\".concat(r,\"' and use it directly.\")),to(r.name,\"shader module has no name\"),r=new Cy(r),r.dependencies=xj(r.dependencies)),r))}function RR(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<\"u\"?window.navigator||{}:{},r=e.userAgent||t.userAgent||\"\",i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s}var vot=7936,xot=7937,bot=7938,wot=35724,OR={GLSL_FRAG_DATA:[\"WEBGL_draw_buffers\",!0],GLSL_FRAG_DEPTH:[\"EXT_frag_depth\",!0],GLSL_DERIVATIVES:[\"OES_standard_derivatives\",!0],GLSL_TEXTURE_LOD:[\"EXT_shader_texture_lod\",!0]},YA={};Object.keys(OR).forEach(e=>{YA[e]=e});function Sot(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function bj(e){let t=e.getExtension(\"WEBGL_debug_renderer_info\"),r=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||vot),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||xot);return{gpuVendor:Tot(r,i),vendor:r,renderer:i,version:e.getParameter(bot),shadingLanguageVersion:e.getParameter(wot)}}function Tot(e,t){return e.match(/NVIDIA/i)||t.match(/NVIDIA/i)?\"NVIDIA\":e.match(/INTEL/i)||t.match(/INTEL/i)?\"INTEL\":e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i)?\"AMD\":\"UNKNOWN GPU\"}var DR={};function BR(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=OR[t];if(to(i,t),!RR(r))return!0;if(t in DR)return DR[t];let s=i[0],n=r.behavior||\"enable\",o=\"#extension GL_\".concat(s,\" : \").concat(n,`\nvoid main(void) {}`),c=e.createShader(35633);e.shaderSource(c,o),e.compileShader(c);let f=e.getShaderParameter(c,35713);return e.deleteShader(c),DR[t]=f,f}function Mot(e,t){let r=OR[t];to(r,t);let i=Sot(e)&&r[1]||r[0],s=typeof i==\"string\"?!!e.getExtension(i):i;return to(s===!1||s===!0),s}function vb(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>Mot(e,r))}function wj(e){switch(bj(e).gpuVendor.toLowerCase()){case\"nvidia\":return`#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n`;case\"intel\":return`#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`;case\"amd\":return`#define AMD_GPU\n`;default:return`#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`}}function Sj(e,t,r){let i=`#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n`;return vb(e,YA.GLSL_FRAG_DEPTH)&&(i+=`\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n`),vb(e,YA.GLSL_DERIVATIVES)&&BR(e,YA.GLSL_DERIVATIVES)&&(i+=`\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n`),vb(e,YA.GLSL_FRAG_DATA)&&BR(e,YA.GLSL_FRAG_DATA,{behavior:\"require\"})&&(i+=`\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n`),vb(e,YA.GLSL_TEXTURE_LOD)&&(i+=`// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n`),i}var Tj=`#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n`,Mj=`#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n`;var Eot={[ig]:Tj,[yb]:Mj},xb=\"__LUMA_INJECT_DECLARATIONS__\",Ej=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/,Pj=/}\\n?[^{}]*$/,FR=[];function EE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=t===ig;for(let n in r){let o=r[n];o.sort((f,_)=>f.order-_.order),FR.length=o.length;for(let f=0,_=o.length;f<_;++f)FR[f]=o[f].injection;let c=\"\".concat(FR.join(`\n`),`\n`);switch(n){case\"vs:#decl\":s&&(e=e.replace(xb,c));break;case\"vs:#main-start\":s&&(e=e.replace(Ej,f=>f+c));break;case\"vs:#main-end\":s&&(e=e.replace(Pj,f=>c+f));break;case\"fs:#decl\":s||(e=e.replace(xb,c));break;case\"fs:#main-start\":s||(e=e.replace(Ej,f=>f+c));break;case\"fs:#main-end\":s||(e=e.replace(Pj,f=>c+f));break;default:e=e.replace(n,f=>f+c)}}return e=e.replace(xb,\"\"),i&&(e=e.replace(/\\}\\s*$/,n=>n+Eot[t])),e}function Ly(e){let t={};return to(Array.isArray(e)&&e.length>1),e.forEach(r=>{for(let i in r)t[i]=t[i]?\"\".concat(t[i],`\n`).concat(r[i]):r[i]}),t}function ky(e){return new RegExp(\"\\\\b\".concat(e,\"[ \\\\t]+(\\\\w+[ \\\\t]+\\\\w+(\\\\[\\\\w+\\\\])?;)\"),\"g\")}var Ij=[[/^(#version[ \\t]+(100|300[ \\t]+es))?[ \\t]*\\n/,`#version 300 es\n`],[/\\btexture(2D|2DProj|Cube)Lod(EXT)?\\(/g,\"textureLod(\"],[/\\btexture(2D|2DProj|Cube)(EXT)?\\(/g,\"texture(\"]],Pot=[...Ij,[ky(\"attribute\"),\"in $1\"],[ky(\"varying\"),\"out $1\"]],Iot=[...Ij,[ky(\"varying\"),\"in $1\"]],Cj=[[/^#version[ \\t]+300[ \\t]+es/,\"#version 100\"],[/\\btexture(2D|2DProj|Cube)Lod\\(/g,\"texture$1LodEXT(\"],[/\\btexture\\(/g,\"texture2D(\"],[/\\btextureLod\\(/g,\"texture2DLodEXT(\"]],Cot=[...Cj,[ky(\"in\"),\"attribute $1\"],[ky(\"out\"),\"varying $1\"]],Lot=[...Cj,[ky(\"in\"),\"varying $1\"]],zR=\"gl_FragColor\",NR=/\\bout[ \\t]+vec4[ \\t]+(\\w+)[ \\t]*;\\n?/,kot=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/;function UR(e,t,r){switch(t){case 300:return r?PE(e,Pot):Rot(e);case 100:return r?PE(e,Cot):Dot(e);default:throw new Error(\"unknown GLSL version \".concat(t))}}function PE(e,t){for(let[r,i]of t)e=e.replace(r,i);return e}function Rot(e){e=PE(e,Iot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}else{let r=\"fragmentColor\";e=e.replace(kot,i=>\"out vec4 \".concat(r,`;\n`).concat(i)).replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}return e}function Dot(e){e=PE(e,Lot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(NR,\"\").replace(new RegExp(\"\\\\b\".concat(r,\"\\\\b\"),\"g\"),zR)}return e}var Oot=`\n\n`.concat(xb,`\n\n`),kj={[ig]:\"vertex\",[yb]:\"fragment\"},Bot=`precision highp float;\n\n`;function VR(e,t){let{vs:r,fs:i}=t,s=yj(t.modules||[]);return{gl:e,vs:Lj(e,Object.assign({},t,{source:r,type:ig,modules:s})),fs:Lj(e,Object.assign({},t,{source:i,type:yb,modules:s})),getUniforms:Fot(s)}}function Lj(e,t){let{id:r,source:i,type:s,modules:n,defines:o={},hookFunctions:c=[],inject:f={},transpileToGLSL100:_=!1,prologue:w=!0,log:I}=t;to(typeof i==\"string\",\"shader source must be a string\");let R=s===ig,N=i.split(`\n`),j=100,Q=\"\",et=i;N[0].indexOf(\"#version \")===0?(j=300,Q=N[0],et=N.slice(1).join(`\n`)):Q=\"#version \".concat(j);let Y={};n.forEach(Xt=>{Object.assign(Y,Xt.getDefines())}),Object.assign(Y,o);let K=w?\"\".concat(Q,`\n`).concat(Not({id:r,source:i,type:s}),`\n`).concat(zot({type:s}),`\n`).concat(wj(e),`\n`).concat(Sj(e,j,!R),`\n`).concat(Uot(Y),`\n`).concat(R?\"\":Bot,`\n`):\"\".concat(Q,`\n`),J=jot(c),ut={},Et={},kt={};for(let Xt in f){let qt=typeof f[Xt]==\"string\"?{injection:f[Xt],order:0}:f[Xt],le=Xt.match(/^(v|f)s:(#)?([\\w-]+)$/);if(le){let ue=le[2],De=le[3];ue?De===\"decl\"?Et[Xt]=[qt]:kt[Xt]=[qt]:ut[Xt]=[qt]}else kt[Xt]=[qt]}for(let Xt of n){I&&Xt.checkDeprecations(et,I);let qt=Xt.getModuleSource(s,j);K+=qt;let le=Xt.injections[s];for(let ue in le){let De=ue.match(/^(v|f)s:#([\\w-]+)$/);if(De){let rr=De[2]===\"decl\"?Et:kt;rr[ue]=rr[ue]||[],rr[ue].push(le[ue])}else ut[ue]=ut[ue]||[],ut[ue].push(le[ue])}}return K+=Oot,K=EE(K,s,Et),K+=Vot(J[s],ut),K+=et,K=EE(K,s,kt),K=UR(K,_?100:j,R),K}function Fot(e){return function(r){let i={};for(let s of e){let n=s.getUniforms(r,i);Object.assign(i,n)}return i}}function zot(e){let{type:t}=e;return`\n#define SHADER_TYPE_`.concat(kj[t].toUpperCase(),`\n`)}function Not(e){let{id:t,source:r,type:i}=e;return t&&typeof t==\"string\"&&r.indexOf(\"SHADER_NAME\")===-1?`\n#define SHADER_NAME `.concat(t,\"_\").concat(kj[i],`\n\n`):\"\"}function Uot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=0,r=\"\";for(let i in e){t===0&&(r+=`\n// APPLICATION DEFINES\n`),t++;let s=e[i];(s||Number.isFinite(s))&&(r+=\"#define \".concat(i.toUpperCase(),\" \").concat(e[i],`\n`))}return t===0&&(r+=`\n`),r}function Vot(e,t){let r=\"\";for(let i in e){let s=e[i];if(r+=\"void \".concat(s.signature,` {\n`),s.header&&(r+=\" \".concat(s.header)),t[i]){let n=t[i];n.sort((o,c)=>o.order-c.order);for(let o of n)r+=\" \".concat(o.injection,`\n`)}s.footer&&(r+=\" \".concat(s.footer)),r+=`}\n`}return r}function jot(e){let t={vs:{},fs:{}};return e.forEach(r=>{let i;typeof r!=\"string\"?(i=r,r=i.hook):i={},r=r.trim();let[s,n]=r.split(\":\"),o=r.replace(/\\(.+/,\"\");t[s][o]=Object.assign(i,{signature:n})}),t}var Got=\"void main() {gl_FragColor = vec4(0);}\",Rj=`out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}`,Wot=`#version 300 es\n`.concat(Rj);function IE(e,t){t=Array.isArray(t)?t:[t];let r=e.replace(/^\\s+/,\"\").split(/\\s+/),[i,s,n]=r;if(!t.includes(i)||!s||!n)return null;let o=n.split(\";\")[0];return{qualifier:i,type:s,name:o}}function bb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{version:t=100,input:r,inputType:i,output:s}=e;if(!r)return t===300?Wot:t>300?\"#version \".concat(t,`\n`).concat(Rj):Got;let n=Dj(r,i);return t>=300?\"#version \".concat(t,\" \").concat(t===300?\"es\":\"\",`\nin `).concat(i,\" \").concat(r,`;\nout vec4 `).concat(s,`;\nvoid main() {\n `).concat(s,\" = \").concat(n,`;\n}`):\"varying \".concat(i,\" \").concat(r,`;\nvoid main() {\n gl_FragColor = `).concat(n,`;\n}`)}function jR(e){switch(e){case\"float\":return\"x\";case\"vec2\":return\"xy\";case\"vec3\":return\"xyz\";case\"vec4\":return\"xyzw\";default:return to(!1),null}}function GR(e){switch(e){case\"float\":return 1;case\"vec2\":return 2;case\"vec3\":return 3;case\"vec4\":return 4;default:return to(!1),null}}function Dj(e,t){switch(t){case\"float\":return\"vec4(\".concat(e,\", 0.0, 0.0, 1.0)\");case\"vec2\":return\"vec4(\".concat(e,\", 0.0, 1.0)\");case\"vec3\":return\"vec4(\".concat(e,\", 1.0)\");case\"vec4\":return e;default:return to(!1),null}}var Hot=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n`,CE={name:\"fp32\",vs:Hot,fs:null};function Bh(e,t){if(!e)throw new Error(\"math.gl assertion \".concat(t))}var Gkt=1/Math.PI*180,Wkt=1/180*Math.PI,eo={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function WR(e,{precision:t=eo.precision}={}){return e=qot(e),\"\".concat(parseFloat(e.toPrecision(t)))}function Fh(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Il(e,t,r){return Yot(e,i=>Math.max(t,Math.min(r,i)))}function il(e,t,r){return Fh(e)?e.map((i,s)=>il(i,t[s],r)):r*t+(1-r)*e}function Ro(e,t,r){let i=eo.EPSILON;r&&(eo.EPSILON=r);try{if(e===t)return!0;if(Fh(e)&&Fh(t)){if(e.length!==t.length)return!1;for(let s=0;s0?\", \":\"\")+WR(this[i],t);return\"\".concat(t.printTypes?this.constructor.name:\"\",\"[\").concat(r,\"]\")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r=0&&t=0&&t0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function YR(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Dy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2];return e[0]=s*f-n*c,e[1]=n*o-i*f,e[2]=i*c-s*o,e}function Hj(e,t,r,i){var s=t[0],n=t[1],o=t[2];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e}function Oy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[3]*i+r[7]*s+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*i+r[4]*s+r[8]*n+r[12])/o,e[1]=(r[1]*i+r[5]*s+r[9]*n+r[13])/o,e[2]=(r[2]*i+r[6]*s+r[10]*n+r[14])/o,e}function OE(e,t,r){var i=t[0],s=t[1],n=t[2];return e[0]=i*r[0]+s*r[3]+n*r[6],e[1]=i*r[1]+s*r[4]+n*r[7],e[2]=i*r[2]+s*r[5]+n*r[8],e}function BE(e,t,r){var i=r[0],s=r[1],n=r[2],o=r[3],c=t[0],f=t[1],_=t[2],w=s*_-n*f,I=n*c-i*_,R=i*f-s*c,N=s*R-n*I,j=n*w-i*R,Q=i*I-s*w,et=o*2;return w*=et,I*=et,R*=et,N*=2,j*=2,Q*=2,e[0]=c+w+N,e[1]=f+I+j,e[2]=_+R+Q,e}function qj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0],n[1]=s[1]*Math.cos(i)-s[2]*Math.sin(i),n[2]=s[1]*Math.sin(i)+s[2]*Math.cos(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Zj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[2]*Math.sin(i)+s[0]*Math.cos(i),n[1]=s[1],n[2]=s[2]*Math.cos(i)-s[0]*Math.sin(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Yj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0]*Math.cos(i)-s[1]*Math.sin(i),n[1]=s[0]*Math.sin(i)+s[1]*Math.cos(i),n[2]=s[2],e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Qj(e,t){var r=e[0],i=e[1],s=e[2],n=t[0],o=t[1],c=t[2],f=Math.sqrt(r*r+i*i+s*s),_=Math.sqrt(n*n+o*o+c*c),w=f*_,I=w&&YR(e,t)/w;return Math.acos(Math.min(Math.max(I,-1),1))}var FE=tat;var $j=eat;var zE=Jot,NE=rat,i4t=function(){var e=qR();return function(t,r,i,s,n,o){var c,f;for(r||(r=3),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;c0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(iat)}fromObject(t){return this.check()}fromQuaternion(t){return i7(this,t),this.check()}set(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this[4]=n,this[5]=o,this[6]=c,this[7]=f,this[8]=_,this.check()}setRowMajor(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=s,this[2]=c,this[3]=r,this[4]=n,this[5]=f,this[6]=i,this[7]=o,this[8]=_,this.check()}determinant(){return t7(this)}transpose(){return Kj(this,this),this.check()}invert(){return Jj(this,this),this.check()}multiplyLeft(t){return $R(this,t,this),this.check()}multiplyRight(t){return $R(this,this,t),this.check()}rotate(t){return r7(this,this,t),this.check()}scale(t){return Array.isArray(t)?XR(this,this,t):XR(this,this,[t,t]),this.check()}translate(t){return e7(this,this,t),this.check()}transform(t,r){let i;switch(t.length){case 2:i=Fj(r||[-0,-0],t,this);break;case 3:i=OE(r||[-0,-0,-0],t,this);break;case 4:i=DE(r||[-0,-0,-0,-0],t,this);break;default:throw new Error(\"Illegal vector\")}return QA(i,t.length),i}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},jE,GE;function nat(){return jE||(jE=new ss([0,0,0,0,0,0,0,0,0]),Object.freeze(jE)),jE}function sat(){return GE||(GE=new ss,Object.freeze(GE)),GE}function oat(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function s7(e,t){if(e===t){var r=t[1],i=t[2],s=t[3],n=t[6],o=t[7],c=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=n,e[11]=t[14],e[12]=s,e[13]=o,e[14]=c}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Sb(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=t[4],c=t[5],f=t[6],_=t[7],w=t[8],I=t[9],R=t[10],N=t[11],j=t[12],Q=t[13],et=t[14],Y=t[15],K=r*c-i*o,J=r*f-s*o,ut=r*_-n*o,Et=i*f-s*c,kt=i*_-n*c,Xt=s*_-n*f,qt=w*Q-I*j,le=w*et-R*j,ue=w*Y-N*j,De=I*et-R*Q,Ke=I*Y-N*Q,rr=R*Y-N*et,Sr=K*rr-J*Ke+ut*De+Et*ue-kt*le+Xt*qt;return Sr?(Sr=1/Sr,e[0]=(c*rr-f*Ke+_*De)*Sr,e[1]=(s*Ke-i*rr-n*De)*Sr,e[2]=(Q*Xt-et*kt+Y*Et)*Sr,e[3]=(R*kt-I*Xt-N*Et)*Sr,e[4]=(f*ue-o*rr-_*le)*Sr,e[5]=(r*rr-s*ue+n*le)*Sr,e[6]=(et*ut-j*Xt-Y*J)*Sr,e[7]=(w*Xt-R*ut+N*J)*Sr,e[8]=(o*Ke-c*ue+_*qt)*Sr,e[9]=(i*ue-r*Ke-n*qt)*Sr,e[10]=(j*kt-Q*ut+Y*K)*Sr,e[11]=(I*ut-w*kt-N*K)*Sr,e[12]=(c*le-o*De-f*qt)*Sr,e[13]=(r*De-i*le+s*qt)*Sr,e[14]=(Q*J-j*Et-et*K)*Sr,e[15]=(w*Et-I*J+R*K)*Sr,e):null}function o7(e){var t=e[0],r=e[1],i=e[2],s=e[3],n=e[4],o=e[5],c=e[6],f=e[7],_=e[8],w=e[9],I=e[10],R=e[11],N=e[12],j=e[13],Q=e[14],et=e[15],Y=t*o-r*n,K=t*c-i*n,J=t*f-s*n,ut=r*c-i*o,Et=r*f-s*o,kt=i*f-s*c,Xt=_*j-w*N,qt=_*Q-I*N,le=_*et-R*N,ue=w*Q-I*j,De=w*et-R*j,Ke=I*et-R*Q;return Y*Ke-K*De+J*ue+ut*le-Et*qt+kt*Xt}function qf(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=t[4],f=t[5],_=t[6],w=t[7],I=t[8],R=t[9],N=t[10],j=t[11],Q=t[12],et=t[13],Y=t[14],K=t[15],J=r[0],ut=r[1],Et=r[2],kt=r[3];return e[0]=J*i+ut*c+Et*I+kt*Q,e[1]=J*s+ut*f+Et*R+kt*et,e[2]=J*n+ut*_+Et*N+kt*Y,e[3]=J*o+ut*w+Et*j+kt*K,J=r[4],ut=r[5],Et=r[6],kt=r[7],e[4]=J*i+ut*c+Et*I+kt*Q,e[5]=J*s+ut*f+Et*R+kt*et,e[6]=J*n+ut*_+Et*N+kt*Y,e[7]=J*o+ut*w+Et*j+kt*K,J=r[8],ut=r[9],Et=r[10],kt=r[11],e[8]=J*i+ut*c+Et*I+kt*Q,e[9]=J*s+ut*f+Et*R+kt*et,e[10]=J*n+ut*_+Et*N+kt*Y,e[11]=J*o+ut*w+Et*j+kt*K,J=r[12],ut=r[13],Et=r[14],kt=r[15],e[12]=J*i+ut*c+Et*I+kt*Q,e[13]=J*s+ut*f+Et*R+kt*et,e[14]=J*n+ut*_+Et*N+kt*Y,e[15]=J*o+ut*w+Et*j+kt*K,e}function ag(e,t,r){var i=r[0],s=r[1],n=r[2],o,c,f,_,w,I,R,N,j,Q,et,Y;return t===e?(e[12]=t[0]*i+t[4]*s+t[8]*n+t[12],e[13]=t[1]*i+t[5]*s+t[9]*n+t[13],e[14]=t[2]*i+t[6]*s+t[10]*n+t[14],e[15]=t[3]*i+t[7]*s+t[11]*n+t[15]):(o=t[0],c=t[1],f=t[2],_=t[3],w=t[4],I=t[5],R=t[6],N=t[7],j=t[8],Q=t[9],et=t[10],Y=t[11],e[0]=o,e[1]=c,e[2]=f,e[3]=_,e[4]=w,e[5]=I,e[6]=R,e[7]=N,e[8]=j,e[9]=Q,e[10]=et,e[11]=Y,e[12]=o*i+w*s+j*n+t[12],e[13]=c*i+I*s+Q*n+t[13],e[14]=f*i+R*s+et*n+t[14],e[15]=_*i+N*s+Y*n+t[15]),e}function By(e,t,r){var i=r[0],s=r[1],n=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a7(e,t,r,i){var s=i[0],n=i[1],o=i[2],c=Math.hypot(s,n,o),f,_,w,I,R,N,j,Q,et,Y,K,J,ut,Et,kt,Xt,qt,le,ue,De,Ke,rr,Sr,Li;return c0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=i*o,e[2]=s*o,e[3]=n*o,e}function _7(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function y7(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e[3]=c+i*(r[3]-c),e}function Nh(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3];return e[0]=r[0]*i+r[4]*s+r[8]*n+r[12]*o,e[1]=r[1]*i+r[5]*s+r[9]*n+r[13]*o,e[2]=r[2]*i+r[6]*s+r[10]*n+r[14]*o,e[3]=r[3]*i+r[7]*s+r[11]*n+r[15]*o,e}function v7(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2],_=r[3],w=_*i+c*n-f*s,I=_*s+f*i-o*n,R=_*n+o*s-c*i,N=-o*i-c*s-f*n;return e[0]=w*_+N*-o+I*-f-R*-c,e[1]=I*_+N*-c+R*-o-w*-f,e[2]=R*_+N*-f+w*-c-I*-o,e[3]=t[3],e}var b4t=function(){var e=cat();return function(t,r,i,s,n,o){var c,f;for(r||(r=4),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;cMath.PI*2)throw Error(\"expected radians\")}function Aat(e,t,r,i,s,n){let o=2*n/(r-t),c=2*n/(s-i),f=(r+t)/(r-t),_=(s+i)/(s-i),w=-1,I=-1,R=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=_,e[10]=w,e[11]=I,e[12]=0,e[13]=0,e[14]=R,e[15]=0,e}function b7(){var e=new ya(4);return ya!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function w7(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function iD(e,t,r){r=r*.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function nD(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=r[0],f=r[1],_=r[2],w=r[3];return e[0]=i*w+o*c+s*_-n*f,e[1]=s*w+o*f+n*c-i*_,e[2]=n*w+o*_+i*f-s*c,e[3]=o*w-i*c-s*f-n*_,e}function S7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+o*c,e[1]=s*f+n*c,e[2]=n*f-s*c,e[3]=o*f-i*c,e}function T7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f-n*c,e[1]=s*f+o*c,e[2]=n*f+i*c,e[3]=o*f-s*c,e}function M7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+s*c,e[1]=s*f-i*c,e[2]=n*f+o*c,e[3]=o*f-n*c,e}function E7(e,t){var r=t[0],i=t[1],s=t[2];return e[0]=r,e[1]=i,e[2]=s,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-s*s)),e}function Mb(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3],f=r[0],_=r[1],w=r[2],I=r[3],R,N,j,Q,et;return N=s*f+n*_+o*w+c*I,N<0&&(N=-N,f=-f,_=-_,w=-w,I=-I),1-N>zh?(R=Math.acos(N),j=Math.sin(R),Q=Math.sin((1-i)*R)/j,et=Math.sin(i*R)/j):(Q=1-i,et=i),e[0]=Q*s+et*f,e[1]=Q*n+et*_,e[2]=Q*o+et*w,e[3]=Q*c+et*I,e}function P7(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=r*r+i*i+s*s+n*n,c=o?1/o:0;return e[0]=-r*c,e[1]=-i*c,e[2]=-s*c,e[3]=n*c,e}function I7(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function sD(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);var n=(s+1)%3,o=(s+2)%3;i=Math.sqrt(t[s*3+s]-t[n*3+n]-t[o*3+o]+1),e[s]=.5*i,i=.5/i,e[3]=(t[n*3+o]-t[o*3+n])*i,e[n]=(t[n*3+s]+t[s*3+n])*i,e[o]=(t[o*3+s]+t[s*3+o])*i}return e}var C7=p7;var L7=Fy,k7=_7,R7=y7,D7=A7;var O7=m7;var B7=g7;var F7=function(){var e=qR(),t=ZR(1,0,0),r=ZR(0,1,0);return function(i,s,n){var o=YR(s,n);return o<-.999999?(Dy(e,t,s),zE(e)<1e-6&&Dy(e,r,s),Wj(e,e),iD(i,e,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(Dy(e,s,n),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+o,B7(i,i))}}(),R4t=function(){var e=b7(),t=b7();return function(r,i,s,n,o,c){return Mb(e,i,o,c),Mb(t,s,n,c),Mb(r,e,t,2*c*(1-c)),r}}(),D4t=function(){var e=Xj();return function(t,r,i,s){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],B7(t,sD(t,e))}}();var gat=[0,0,0,1],lg=class extends np{constructor(t=0,r=0,i=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,i,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,i,s){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return sD(this,t),this.check()}fromAxisRotation(t,r){return iD(this,t,r),this.check()}identity(){return w7(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Qi(t)}get y(){return this[1]}set y(t){this[1]=Qi(t)}get z(){return this[2]}set z(t){this[2]=Qi(t)}get w(){return this[3]}set w(t){this[3]=Qi(t)}len(){return D7(this)}lengthSquared(){return O7(this)}dot(t){return k7(this,t)}rotationTo(t,r){return F7(this,t,r),this.check()}add(t){return C7(this,this,t),this.check()}calculateW(){return E7(this,this),this.check()}conjugate(){return I7(this,this),this.check()}invert(){return P7(this,this),this.check()}lerp(t,r,i){return i===void 0?this.lerp(this,t,r):(R7(this,t,r,i),this.check())}multiplyRight(t){return nD(this,this,t),this.check()}multiplyLeft(t){return nD(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return S7(this,this,t),this.check()}rotateY(t){return T7(this,this,t),this.check()}rotateZ(t){return M7(this,this,t),this.check()}scale(t){return L7(this,this,t),this.check()}slerp(t,r,i){let s,n,o;switch(arguments.length){case 1:({start:s=gat,target:n,ratio:o}=t);break;case 2:s=this,n=t,o=r;break;default:s=t,n=r,o=i}return Mb(this,s,n,o),this.check()}transformVector4(t,r=new wb){return v7(r,t,this),QA(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var YE={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,PI_OVER_TWO:Math.PI/2,PI_OVER_FOUR:Math.PI/4,PI_OVER_SIX:Math.PI/6,TWO_PI:Math.PI*2};var oD=`#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))\n\nstruct AmbientLight {\n vec3 color;\n};\n\nstruct PointLight {\n vec3 color;\n vec3 position;\n vec3 attenuation;\n};\n\nstruct DirectionalLight {\n vec3 color;\n vec3 direction;\n};\n\nuniform AmbientLight lighting_uAmbientLight;\nuniform PointLight lighting_uPointLight[MAX_LIGHTS];\nuniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];\nuniform int lighting_uPointLightCount;\nuniform int lighting_uDirectionalLightCount;\n\nuniform bool lighting_uEnabled;\n\nfloat getPointLightAttenuation(PointLight pointLight, float distance) {\n return pointLight.attenuation.x\n + pointLight.attenuation.y * distance\n + pointLight.attenuation.z * distance * distance;\n}\n\n#endif\n`;var _at={lightSources:{}};function aD(){let{color:e=[0,0,0],intensity:t=1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.map(r=>r*t/255)}function yat(e){let{ambientLight:t,pointLights:r=[],directionalLights:i=[]}=e,s={};return t?s[\"lighting_uAmbientLight.color\"]=aD(t):s[\"lighting_uAmbientLight.color\"]=[0,0,0],r.forEach((n,o)=>{s[\"lighting_uPointLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uPointLight[\".concat(o,\"].position\")]=n.position,s[\"lighting_uPointLight[\".concat(o,\"].attenuation\")]=n.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,i.forEach((n,o)=>{s[\"lighting_uDirectionalLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uDirectionalLight[\".concat(o,\"].direction\")]=n.direction}),s.lighting_uDirectionalLightCount=i.length,s}function z7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_at;if(\"lightSources\"in e){let{ambientLight:t,pointLights:r,directionalLights:i}=e.lightSources||{};return t||r&&r.length>0||i&&i.length>0?Object.assign({},yat({ambientLight:t,pointLights:r,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if(\"lights\"in e){let t={pointLights:[],directionalLights:[]};for(let r of e.lights||[])switch(r.type){case\"ambient\":t.ambientLight=r;break;case\"directional\":t.directionalLights.push(r);break;case\"point\":t.pointLights.push(r);break;default:}return z7({lightSources:t})}return{}}var lD={name:\"lights\",vs:oD,fs:oD,getUniforms:z7,defines:{MAX_LIGHTS:3}};var vat=new Uint8Array([0,255,255,255]),xat={pickingSelectedColor:null,pickingHighlightColor:vat,pickingActive:!1,pickingAttribute:!1};function bat(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xat,t={};if(e.pickingSelectedColor!==void 0)if(!e.pickingSelectedColor)t.picking_uSelectedColorValid=0;else{let r=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=r}if(e.pickingHighlightColor){let r=Array.from(e.pickingHighlightColor,i=>i/255);Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return e.pickingActive!==void 0&&(t.picking_uActive=!!e.pickingActive,t.picking_uAttribute=!!e.pickingAttribute),t}var wat=`uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n`,Sat=`uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n`,QE={name:\"picking\",vs:wat,fs:Sat,getUniforms:bat};var cD=`\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n`;var Tat={};function Mat(e){let{ambient:t=.35,diffuse:r=.6,shininess:i=32,specularColor:s=[30,30,30]}=e;return{lighting_uAmbient:t,lighting_uDiffuse:r,lighting_uShininess:i,lighting_uSpecularColor:s.map(n=>n/255)}}function N7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tat;if(!(\"material\"in e))return{};let{material:t}=e;return t?Mat(t):{lighting_uEnabled:!1}}var Zf={name:\"gouraud-lighting\",dependencies:[lD],vs:cD,defines:{LIGHTING_VERTEX:1},getUniforms:N7},Ny={name:\"phong-lighting\",dependencies:[lD],fs:cD,defines:{LIGHTING_FRAGMENT:1},getUniforms:N7};var Eat=`attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n`,uD={name:\"transform\",vs:Eat,fs:null};var Uh=class e{static getDefaultProgramManager(t){return t.luma=t.luma||{},t.luma.defaultProgramManager=t.luma.defaultProgramManager||new e(t),t.luma.defaultProgramManager}constructor(t){this.gl=t,this._programCache={},this._getUniforms={},this._registeredModules={},this._hookFunctions=[],this._defaultModules=[],this._hashes={},this._hashCounter=0,this.stateHash=0,this._useCounts={}}addDefaultModule(t){this._defaultModules.find(r=>r.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){let r=typeof t==\"string\"?t:t.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==r),this.stateHash++}addShaderHook(t,r){r&&(t=Object.assign(r,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{vs:r=\"\",fs:i=\"\",defines:s={},inject:n={},varyings:o=[],bufferMode:c=35981,transpileToGLSL100:f=!1}=t,_=this._getModuleList(t.modules),w=this._getHash(r),I=this._getHash(i),R=_.map(J=>this._getHash(J.name)).sort(),N=o.map(J=>this._getHash(J)),j=Object.keys(s).sort(),Q=Object.keys(n).sort(),et=[],Y=[];for(let J of j)et.push(this._getHash(J)),et.push(this._getHash(s[J]));for(let J of Q)Y.push(this._getHash(J)),Y.push(this._getHash(n[J]));let K=\"\".concat(w,\"/\").concat(I,\"D\").concat(et.join(\"/\"),\"M\").concat(R.join(\"/\"),\"I\").concat(Y.join(\"/\"),\"V\").concat(N.join(\"/\"),\"H\").concat(this.stateHash,\"B\").concat(c).concat(f?\"T\":\"\");if(!this._programCache[K]){let J=VR(this.gl,{vs:r,fs:i,modules:_,inject:n,defines:s,hookFunctions:this._hookFunctions,transpileToGLSL100:f});this._programCache[K]=new rp(this.gl,{hash:K,vs:J.vs,fs:J.fs,varyings:o,bufferMode:c}),this._getUniforms[K]=J.getUniforms||(ut=>{}),this._useCounts[K]=0}return this._useCounts[K]++,this._programCache[K]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){let r=t.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._programCache[r].delete(),delete this._programCache[r],delete this._getUniforms[r],delete this._useCounts[r])}_getHash(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+t.length),i={},s=0;for(let n=0,o=this._defaultModules.length;n{},Rat={},fn=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{id:i=ta(\"model\")}=r;ye(Jd(t)),this.id=i,this.gl=t,this.id=r.id||ta(\"Model\"),this.lastLogTime=0,this.animated=!1,this.initialize(r)}initialize(t){this.props={},this.programManager=t.programManager||Uh.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;let{program:r=null,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=t.drawMode!==void 0?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},ye(this.drawMode!==void 0&&Number.isFinite(this.vertexCount),kat)}setProps(t){this._setModelProps(t)}delete(){for(let t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){let{program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return ye(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return ye(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=U7(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let r={};for(let i in t){let s=t[i];r[i]=s.getValue?s.getValue():s}return this.vertexArray.setAttributes(r),this}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();let r=this.programManager.getUniforms(this.program);return r?r(t):{}}updateModuleSettings(t){let r=this.getModuleUniforms(t||{});return this.setUniforms(r)}clear(t){return Hf(this.program.gl,t),this}draw(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._checkProgram();let{moduleSettings:r=null,framebuffer:i,uniforms:s={},attributes:n={},transformFeedback:o=this.transformFeedback,parameters:c={},vertexArray:f=this.vertexArray}=t;this.setAttributes(n),this.updateModuleSettings(r),this.setUniforms(s);let _;He.priority>=Uy&&(_=this._logDrawCallStart(Uy));let w=this.vertexArray.getDrawParams(),{isIndexed:I=w.isIndexed,indexType:R=w.indexType,indexOffset:N=w.indexOffset,vertexArrayInstanced:j=w.isInstanced}=this.props;j&&!this.isInstanced&&He.warn(\"Found instanced attributes on non-instanced model\",this.id)();let{isInstanced:Q,instanceCount:et}=this,{onBeforeRender:Y=V7,onAfterRender:K=V7}=this.props;Y(),this.program.setUniforms(this.uniforms);let J=this.program.draw(Object.assign(Rat,t,{logPriority:_,uniforms:null,framebuffer:i,parameters:c,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:f,transformFeedback:o,isIndexed:I,indexType:R,isInstanced:Q,instanceCount:et,offset:I?N:0}));return K(),He.priority>=Uy&&this._logDrawCallEnd(_,f,i),J}transform(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{discard:r=!0,feedbackBuffers:i,unbindModels:s=[]}=t,{parameters:n}=t;i&&this._setFeedbackBuffers(i),r&&(n=Object.assign({},n,{35977:r})),s.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:n}))}finally{s.forEach(o=>o.vertexArray.bindBuffers())}return this}render(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.warn(\"Model.render() is deprecated. Use Model.setUniforms() and Model.draw()\")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),\"uniforms\"in t&&this.setUniforms(t.uniforms),\"pickable\"in t&&(this.pickable=t.pickable),\"instanceCount\"in t&&(this.instanceCount=t.instanceCount),\"geometry\"in t&&this.setGeometry(t.geometry),\"attributes\"in t&&this.setAttributes(t.attributes),\"_feedbackBuffers\"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!(this._programDirty||this.programManager.stateHash!==this._programManagerState))return;let{program:r}=this.programProps;if(r)this._managedProgram=!1;else{let{vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=this.programProps;r=this.programManager.get({vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ye(r instanceof rp,\"Model needs a program\"),this._programDirty=!1,r!==this.program&&(this.program=r,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Iy(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(let t in this.geometryBuffers){let r=this.geometryBuffers[t][0]||this.geometryBuffers[t];r instanceof Fr&&r.delete()}}_setAnimationProps(t){this.animated&&ye(t,\"Model.draw(): animated uniforms but no animationProps\")}_setFeedbackBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let{gl:r}=this.program;return this.transformFeedback=this.transformFeedback||new ip(r,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){let r=t>3?0:Lat;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL \".concat(this.id),{collapsed:He.level<=2})(),t}_logDrawCallEnd(t,r,i,s){if(t===void 0)return;let n=CR({vertexArray:r,header:\"\".concat(this.id,\" attributes\"),attributes:this._attributes}),{table:o,unusedTable:c,unusedCount:f}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:_,count:w}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});w>0&&He.log(\"MISSING UNIFORMS\",Object.keys(_))(),f>0&&He.log(\"UNUSED UNIFORMS\",Object.keys(c))();let I=LR(this.vertexArray.configuration);He.table(t,n)(),He.table(t,o)(),He.table(t+1,I)(),s&&s.log({logLevel:Uy,message:\"Rendered to \".concat(s.id)}),He.groupEnd(Uy)()}};var Eb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}setupResources(t){for(let r of this.bindings)this._setupTransformFeedback(r,t)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyings:r}=this;return r.length>0&&(t=Object.assign({},t,{varyings:r})),t}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:s}=r;return{attributes:Object.assign({},i,t.attributes),transformFeedback:s}}swap(){return this.feedbackMap?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t)}getBuffer(t){let{feedbackBuffers:r}=this.bindings[this.currentIndex],i=t?r[t]:null;return i?i instanceof Fr?i:i.buffer:null}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyingName:r}=t,i=this.getBuffer(r);return i?i.getData():null}delete(){for(let t in this.resources)this.resources[t].delete()}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ye(fr(this.gl))}_getFeedbackBuffers(t){let{sourceBuffers:r={}}=t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(let s in this.feedbackMap){let n=this.feedbackMap[s];s in r&&(i[n]=s)}Object.assign(i,t.feedbackBuffers);for(let s in i){let n=i[s];if(typeof n==\"string\"){let o=r[n],{byteLength:c,usage:f,accessor:_}=o;i[s]=this._createNewBuffer(s,{byteLength:c,usage:f,accessor:_})}}return i}_setupBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);let i=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:r,feedbackBuffers:i})}_setupTransformFeedback(t,r){let{model:i}=r,{program:s}=i;t.transformFeedback=new ip(this.gl,{program:s,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){let{sourceBuffers:r,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceBuffers:r,feedbackBuffers:i})}}_updateBinding(t,r){return t?(Object.assign(t.sourceBuffers,r.sourceBuffers),Object.assign(t.feedbackBuffers,r.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},r.sourceBuffers),feedbackBuffers:Object.assign({},r.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;let r=Object.assign({},t.sourceBuffers),i=Object.assign({},t.feedbackBuffers);for(let s in this.feedbackMap){let n=this.feedbackMap[s];r[s]=t.feedbackBuffers[n],i[n]=t.sourceBuffers[s],ye(i[n]instanceof Fr)}return{sourceBuffers:r,feedbackBuffers:i}}_createNewBuffer(t,r){let i=new Fr(this.gl,r);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}};var Dat=\"transform_uSampler_\",$E=\"transform_uSize_\",j7=\"transform_position\";function G7(e){let{vs:t,sourceTextureMap:r,targetTextureVarying:i,targetTexture:s}=e,o=Object.keys(r).length,c=null,f={},_=t,w={};if(o>0||i){let I=_.split(`\n`),R=I.slice();if(I.forEach((N,j,Q)=>{if(o>0){let et=zat(N,r);if(et){let{updatedLine:Y,inject:K}=et;R[j]=Y,w=Ly([w,K]),Object.assign(f,et.samplerTextureMap),o--}}i&&!c&&(c=Fat(N,i))}),i){ye(s);let N=\"\".concat($E).concat(i),j=\"uniform vec2 \".concat(N,`;\n`),Q=\" vec2 \".concat(j7,\" = transform_getPos(\").concat(N,`);\n gl_Position = vec4(`).concat(j7,`, 0, 1.);\n`);w=Ly([w,{\"vs:#decl\":j,\"vs:#main-start\":Q}])}_=R.join(`\n`)}return{vs:_,targetTextureType:c,inject:w,samplerTextureMap:f}}function W7(e){let{sourceTextureMap:t,targetTextureVarying:r,targetTexture:i}=e,s={},n,o;r&&({width:n,height:o}=i,s[\"\".concat($E).concat(r)]=[n,o]);for(let c in t)({width:n,height:o}=t[c]),s[\"\".concat($E).concat(c)]=[n,o];return s}function Oat(e){return IE(e,[\"attribute\",\"in\"])}function Bat(e){let t=\"\".concat(Dat).concat(e),r=\"\".concat($E).concat(e),i=\" uniform sampler2D \".concat(t,`;\n uniform vec2 `).concat(r,\";\");return{samplerName:t,sizeName:r,uniformDeclerations:i}}function Fat(e,t){let r=IE(e,[\"varying\",\"out\"]);return r&&r.name===t?r.type:null}function zat(e,t){let r={},i=Oat(e);if(!i)return null;let{type:s,name:n}=i;if(n&&t[n]){let o=\"// \".concat(e,\" => Replaced by Transform with a sampler\"),{samplerName:c,sizeName:f,uniformDeclerations:_}=Bat(n),w=jR(s),I=\" \".concat(s,\" \").concat(n,\" = transform_getInput(\").concat(c,\", \").concat(f,\").\").concat(w,`;\n`);return r[c]=n,{updatedLine:o,inject:{\"vs:#decl\":_,\"vs:#main-start\":I},samplerTextureMap:r}}return null}var Nat={10241:9728,10240:9728,10242:33071,10243:33071},Uat=\"transform_output\",Pb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._processVertexShader(t);return Object.assign({},t,r)}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,sourceTextures:i,framebuffer:s,targetTexture:n}=this.bindings[this.currentIndex],o=Object.assign({},r,t.attributes),c=Object.assign({},t.uniforms),f=Object.assign({},t.parameters),_=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(let I in this.samplerTextureMap){let R=this.samplerTextureMap[I];c[I]=i[R]}this._setSourceTextureParameters();let w=W7({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:n});Object.assign(c,w)}return this.hasTargetTexture&&(_=!1,f.viewport=[0,0,s.width,s.height]),{attributes:o,framebuffer:s,uniforms:c,discard:_,parameters:f}}swap(){return this._swapTexture?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupTextures(t)}getTargetTexture(){let{targetTexture:t}=this.bindings[this.currentIndex];return t}getData(){let{packed:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{framebuffer:r}=this.bindings[this.currentIndex],i=Dh(r);if(!t)return i;let s=i.constructor,n=GR(this.targetTextureType),o=new s(i.length*n/4),c=0;for(let f=0;f0&&arguments[0]!==void 0?arguments[0]:{},{_targetTextureVarying:r,_swapTexture:i}=t;this._swapTexture=i,this.targetTextureVarying=r,this.hasTargetTexture=r,this._setupTextures(t)}_createTargetTexture(t){let{sourceTextures:r,textureOrReference:i}=t;if(i instanceof pi)return i;let s=r[i];return s?(this._targetRefTexName=i,this._createNewTexture(s)):null}_setupTextures(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,_sourceTextures:i={},_targetTexture:s}=t,n=this._createTargetTexture({sourceTextures:i,textureOrReference:s});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:r,sourceTextures:i,targetTexture:n}),\"elementCount\"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if(typeof t!=\"number\"||this.elementCount>=t)return;let r=new Float32Array(t);r.forEach((i,s,n)=>{n[s]=s}),this.elementIDBuffer?this.elementIDBuffer.setData({data:r}):this.elementIDBuffer=new Fr(this.gl,{data:r,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){let{sourceTextures:r,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceTextures:r,targetTexture:i})}}_updateBinding(t,r){let{sourceBuffers:i,sourceTextures:s,targetTexture:n}=r;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,s),Object.assign(t.sourceBuffers,i),n){t.targetTexture=n;let{width:o,height:c}=n,{framebuffer:f}=t;f?(f.update({attachments:{36064:n},resizeAttachments:!1}),f.resize({width:o,height:c})):t.framebuffer=new yi(this.gl,{id:\"transform-framebuffer\",width:o,height:c,attachments:{36064:n}})}return t}_setSourceTextureParameters(){let t=this.currentIndex,{sourceTextures:r}=this.bindings[t];for(let i in r)r[i].setParameters(Nat)}_swapTextures(t){if(!this._swapTexture)return null;let r=Object.assign({},t.sourceTextures);r[this._swapTexture]=t.targetTexture;let i=t.sourceTextures[this._swapTexture];return{sourceTextures:r,targetTexture:i}}_createNewTexture(t){let r=yE(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=r,r}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceTextures:r,targetTexture:i}=this.bindings[this.currentIndex],{vs:s,uniforms:n,targetTextureType:o,inject:c,samplerTextureMap:f}=G7({vs:t.vs,sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),_=Ly([t.inject||{},c]);this.targetTextureType=o,this.samplerTextureMap=f;let w=t._fs||bb({version:Py(s),input:this.targetTextureVarying,inputType:o,output:Uat}),I=this.hasSourceTextures||this.targetTextureVarying?[uD].concat(t.modules||[]):t.modules;return{vs:s,fs:w,modules:I,uniforms:n,inject:_}}};var nc=class{static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(r),Object.seal(this)}delete(){let{model:t,bufferTransform:r,textureTransform:i}=this;t&&t.delete(),r&&r.delete(),i&&i.delete()}run(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{clearRenderTarget:r=!0}=t,i=this._updateDrawOptions(t);r&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let t=!1,r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)t=t||i.swap();ye(t,\"Nothing to swap\")}getBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r){let s=i.getData(t);if(s)return s}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};\"elementCount\"in t&&this.model.setVertexCount(t.elementCount);let r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)i.update(t)}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{gl:r}=this;this._buildResourceTransforms(r,t),t=this._updateModelProps(t),this.model=new fn(r,Object.assign({},t,{fs:t.fs||bb({version:Py(t.vs)}),id:t.id||\"transform-model\",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=s.updateModelProps(r);return r}_buildResourceTransforms(t,r){Vat(r)&&(this.bufferTransform=new Eb(t,r)),jat(r)&&(this.textureTransform=new Pb(t,r)),ye(this.bufferTransform||this.textureTransform,\"must provide source/feedback buffers or source/target textures\")}_updateDrawOptions(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=Object.assign(r,s.getDrawOptions(r));return r}};function Vat(e){return!!(!Wf(e.feedbackBuffers)||!Wf(e.feedbackMap)||e.varyings&&e.varyings.length>0)}function jat(e){return!!(!Wf(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)}var H7={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},$n=class{static get DRAW_MODE(){return H7}constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{id:r=ta(\"geometry\"),drawMode:i=H7.TRIANGLES,attributes:s={},indices:n=null,vertexCount:o=null}=t;this.id=r,this.drawMode=i|0,this.attributes={},this.userData={},this._setAttributes(s,n),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(t){return\"Geometry \".concat(this.id,\" attribute \").concat(t)}_setAttributes(t,r){r&&(this.indices=ArrayBuffer.isView(r)?{value:r,size:1}:r);for(let i in t){let s=t[i];s=ArrayBuffer.isView(s)?{value:s}:s,ye(ArrayBuffer.isView(s.value),\"\".concat(this._print(i),\": must be typed array or object with value as typed array\")),(i===\"POSITION\"||i===\"positions\")&&!s.size&&(s.size=3),i===\"indices\"?(ye(!this.indices),this.indices=s):this.attributes[i]=s}return this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,r){if(r)return r.value.length;let i=1/0;for(let s in t){let n=t[s],{value:o,size:c,constant:f}=n;!f&&o&&c>=1&&(i=Math.min(i,o.length/c))}return ye(Number.isFinite(i)),i}};var Gat=1,Wat=1,KA=class{constructor(){this.time=0,this.channels=new Map,this.animations=new Map,this.playing=!1,this.lastEngineTime=-1}addChannel(t){let{delay:r=0,duration:i=Number.POSITIVE_INFINITY,rate:s=1,repeat:n=1}=t,o=Gat++,c={time:0,delay:r,duration:i,rate:s,repeat:n};return this._setChannelTime(c,this.time),this.channels.set(o,c),o}removeChannel(t){this.channels.delete(t);for(let[r,i]of this.animations)i.channel===t&&this.detachAnimation(r)}isFinished(t){let r=this.channels.get(t);return r===void 0?!1:this.time>=r.delay+r.duration*r.repeat}getTime(t){if(t===void 0)return this.time;let r=this.channels.get(t);return r===void 0?-1:r.time}setTime(t){this.time=Math.max(0,t);let r=this.channels.values();for(let s of r)this._setChannelTime(s,this.time);let i=this.animations.values();for(let s of i){let{animation:n,channel:o}=s;n.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,r){let i=Wat++;return this.animations.set(i,{animation:t,channel:r}),t.setTime(this.getTime(r)),i}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,r){let i=r-t.delay,s=t.duration*t.repeat;i>=s?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}};var Hat=[255,255,255],qat=1,Zat=0,XE=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"ambient\");let{color:r=Hat}=t,{intensity:i=qat}=t;this.id=t.id||\"ambient-\".concat(Zat++),this.color=r,this.intensity=i}};var Yat=[255,255,255],Qat=1,$at=[0,0,-1],Xat=0,Ib=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"directional\"),G(this,\"direction\",void 0),G(this,\"shadow\",void 0);let{color:r=Yat}=t,{intensity:i=Qat}=t,{direction:s=$at}=t,{_shadow:n=!1}=t;this.id=t.id||\"directional-\".concat(Xat++),this.color=r,this.intensity=i,this.type=\"directional\",this.direction=new Ve(s).normalize().toArray(),this.shadow=n}getProjectedLight(t){return this}};var Cb=class{constructor(t,r={id:\"pass\"}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"props\",void 0);let{id:i}=r;this.id=i,this.gl=t,this.props={...r}}setProps(t){Object.assign(this.props,t)}render(t){}cleanup(){}};var sc=class extends Cb{constructor(...t){super(...t),G(this,\"_lastRenderIndex\",-1)}render(t){let r=this.gl;return Ml(r,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){let{target:r,moduleParameters:i,viewports:s,views:n,onViewportActive:o,clearStack:c=!0,clearCanvas:f=!0}=t;t.pass=t.pass||\"unknown\";let _=this.gl;f&&Jat(_,r),c&&(this._lastRenderIndex=-1);let w=[];for(let I of s){let R=n&&n[I.id];o?.(I);let N=this._getDrawLayerParams(I,t),j=I.subViewports||[I];for(let Q of j){let et=this._drawLayersInViewport(_,{target:r,moduleParameters:i,viewport:Q,view:R,pass:t.pass,layers:t.layers},N);w.push(et)}}return w}_getDrawLayerParams(t,{layers:r,pass:i,isPicking:s=!1,layerFilter:n,cullRect:o,effects:c,moduleParameters:f},_=!1){let w=[],I=q7(this._lastRenderIndex+1),R={layer:r[0],viewport:t,isPicking:s,renderPass:i,cullRect:o},N={};for(let j=0;jHf(t,I))}let w={totalCount:r.length,visibleCount:0,compositeCount:0,pickableCount:0};Ml(t,{viewport:_});for(let I=0;I{let o=s.props._offset,c=s.id,f=s.parent&&s.parent.id,_;if(f&&!(f in t)&&i(s.parent,!1),f in r){let w=r[f]=r[f]||q7(t[f],t);_=w(s,n),r[c]=w}else Number.isFinite(o)?(_=o+(t[f]||0),r[c]=null):_=e;return n&&_>=e&&(e=_+1),t[c]=_,_};return i}function Kat(e,{moduleParameters:t,target:r,viewport:i}){let s=r&&r.id!==\"default-framebuffer\",n=t&&t.devicePixelRatio||El(e),o=s?r.height:e.drawingBufferHeight,c=i;return[c.x*n,o-(c.y+c.height)*n,c.width*n,c.height*n]}function Jat(e,t){let r=t?t.width:e.drawingBufferWidth,i=t?t.height:e.drawingBufferHeight;Ml(e,{viewport:[0,0,r,i]}),e.clear(16640)}var Lb=class extends sc{constructor(t,r){super(t,r),G(this,\"shadowMap\",void 0),G(this,\"depthBuffer\",void 0),G(this,\"fbo\",void 0),this.shadowMap=new pi(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new el(t,{format:33189,width:1,height:1}),this.fbo=new yi(t,{id:\"shadowmap\",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){let r=this.fbo;Mn(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{let i=t.viewports[0],s=El(this.gl),n=i.width*s,o=i.height*s;(n!==r.width||o!==r.height)&&r.resize({width:n,height:o}),super.render({...t,target:r,pass:\"shadow\"})})}shouldDrawLayer(t){return t.props.shadowEnabled!==!1}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}};var Z7=\"#define SMOOTH_EDGE_RADIUS 0.5\",tlt=`\n`.concat(Z7,`\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n`),elt=`\n`.concat(Z7,`\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n`),Y7={name:\"geometry\",vs:tlt,fs:elt};var rlt=Object.keys(Yr).map(e=>\"const int COORDINATE_SYSTEM_\".concat(e,\" = \").concat(Yr[e],\";\")).join(\"\"),ilt=Object.keys(Ja).map(e=>\"const int PROJECTION_MODE_\".concat(e,\" = \").concat(Ja[e],\";\")).join(\"\"),nlt=Object.keys(po).map(e=>\"const int UNIT_\".concat(e.toUpperCase(),\" = \").concat(po[e],\";\")).join(\"\"),Q7=\"\".concat(rlt,`\n`).concat(ilt,`\n`).concat(nlt,`\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size_at_latitude(float lat) {\n float y = clamp(lat, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n}\n\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n return project_size_at_latitude(geometry.worldPosition.y);\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\n\nfloat project_size_at_latitude(float meters, float lat) {\n return meters * project_uCommonUnitsPerMeter.z * project_size_at_latitude(lat);\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size_at_latitude(position_world.z, position_world.y),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world) + project_offset_(project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n`);function slt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{for(let s in i)if(!slt(i[s],t[s])){r=e(i),t=i;break}return r}}var $7=[0,0,0,0],olt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],X7=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],alt=[0,0,0],K7=[0,0,0],llt=Yf(ult);function hD(e,t,r=K7){r.length<3&&(r=[r[0],r[1],0]);let i=r,s,n=!0;switch(t===Yr.LNGLAT_OFFSETS||t===Yr.METER_OFFSETS?s=r:s=e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case Ja.WEB_MERCATOR:(t===Yr.LNGLAT||t===Yr.CARTESIAN)&&(s=[0,0,0],n=!1);break;case Ja.WEB_MERCATOR_AUTO_OFFSET:t===Yr.LNGLAT?i=s:t===Yr.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],s=e.unprojectPosition(i),i[0]-=r[0],i[1]-=r[1],i[2]-=r[2]);break;case Ja.IDENTITY:i=e.position.map(Math.fround),i[2]=i[2]||0;break;case Ja.GLOBE:n=!1,s=null;break;default:n=!1}return{geospatialOrigin:s,shaderCoordinateOrigin:i,offsetMode:n}}function clt(e,t,r){let{viewMatrixUncentered:i,projectionMatrix:s}=e,{viewMatrix:n,viewProjectionMatrix:o}=e,c=$7,f=$7,_=e.cameraPosition,{geospatialOrigin:w,shaderCoordinateOrigin:I,offsetMode:R}=hD(e,t,r);return R&&(f=e.projectPosition(w||I),_=[_[0]-f[0],_[1]-f[1],_[2]-f[2]],f[3]=1,c=Nh([],f,o),n=i||n,o=qf([],s,n),o=qf([],o,olt)),{viewMatrix:n,viewProjectionMatrix:o,projectionCenter:c,originCommon:f,cameraPosCommon:_,shaderCoordinateOrigin:I,geospatialOrigin:w}}function J7({viewport:e,devicePixelRatio:t=1,modelMatrix:r=null,coordinateSystem:i=Yr.DEFAULT,coordinateOrigin:s=K7,autoWrapLongitude:n=!1}){i===Yr.DEFAULT&&(i=e.isGeospatial?Yr.LNGLAT:Yr.CARTESIAN);let o=llt({viewport:e,devicePixelRatio:t,coordinateSystem:i,coordinateOrigin:s});return o.project_uWrapLongitude=n,o.project_uModelMatrix=r||X7,o}function ult({viewport:e,devicePixelRatio:t,coordinateSystem:r,coordinateOrigin:i}){let{projectionCenter:s,viewProjectionMatrix:n,originCommon:o,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:_}=clt(e,r,i),w=e.getDistanceScales(),I=[e.width*t,e.height*t],R=Nh([],[0,0,-e.focalDistance,1],e.projectionMatrix)[3]||1,N={project_uCoordinateSystem:r,project_uProjectionMode:e.projectionMode,project_uCoordinateOrigin:f,project_uCommonOrigin:o.slice(0,3),project_uCenter:s,project_uPseudoMeters:!!e._pseudoMeters,project_uViewportSize:I,project_uDevicePixelRatio:t,project_uFocalDistance:R,project_uCommonUnitsPerMeter:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:alt,project_uScale:e.scale,project_uWrapLongitude:!1,project_uViewProjectionMatrix:n,project_uModelMatrix:X7,project_uCameraPosition:c};if(_){let j=e.getDistanceScales(_);switch(r){case Yr.METER_OFFSETS:N.project_uCommonUnitsPerWorldUnit=j.unitsPerMeter,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerMeter2;break;case Yr.LNGLAT:case Yr.LNGLAT_OFFSETS:e._pseudoMeters||(N.project_uCommonUnitsPerMeter=j.unitsPerMeter),N.project_uCommonUnitsPerWorldUnit=j.unitsPerDegree,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerDegree2;break;case Yr.CARTESIAN:N.project_uCommonUnitsPerWorldUnit=[1,1,j.unitsPerMeter[2]],N.project_uCommonUnitsPerWorldUnit2=[0,0,j.unitsPerMeter2[2]];break;default:break}}return N}var hlt={};function flt(e=hlt){return\"viewport\"in e?J7(e):{}}var Vh={name:\"project\",dependencies:[CE,Y7],vs:Q7,getUniforms:flt};function fD(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function JA(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}function dD(e,t){let r=e%t;return r<0?t+r:r}function tG(e,t,r){return r*t+(1-r)*e}function kb(e,t,r){return er?r:e}function dlt(e){return Math.log(e)*Math.LOG2E}var Vy=Math.log2||dlt;function Bu(e,t){if(!e)throw new Error(t||\"@math.gl/web-mercator: assertion failed.\")}var jh=Math.PI,eG=jh/4,Fu=jh/180,pD=180/jh,jy=512,KE=4003e4,Gy=85.051129,rG=1.5;function Rb(e){return Math.pow(2,e)}function JE(e){return Vy(e)}function va(e){let[t,r]=e;Bu(Number.isFinite(t)),Bu(Number.isFinite(r)&&r>=-90&&r<=90,\"invalid latitude\");let i=t*Fu,s=r*Fu,n=jy*(i+jh)/(2*jh),o=jy*(jh+Math.log(Math.tan(eG+s*.5)))/(2*jh);return[n,o]}function oc(e){let[t,r]=e,i=t/jy*(2*jh)-jh,s=2*(Math.atan(Math.exp(r/jy*(2*jh)-jh))-eG);return[i*pD,s*pD]}function AD(e){let{latitude:t}=e;Bu(Number.isFinite(t));let r=Math.cos(t*Fu);return JE(KE*r)-9}function Db(e){let t=Math.cos(e*Fu);return jy/KE/t}function Wy(e){let{latitude:t,longitude:r,highPrecision:i=!1}=e;Bu(Number.isFinite(t)&&Number.isFinite(r));let s=jy,n=Math.cos(t*Fu),o=s/360,c=o/n,f=s/KE/n,_={unitsPerMeter:[f,f,f],metersPerUnit:[1/f,1/f,1/f],unitsPerDegree:[o,c,f],degreesPerUnit:[1/o,1/c,1/f]};if(i){let w=Fu*Math.tan(t*Fu)/n,I=o*w/2,R=s/KE*w,N=R/c*f;_.unitsPerDegree2=[0,I,R],_.unitsPerMeter2=[N,0,N]}return _}function Ob(e,t){let[r,i,s]=e,[n,o,c]=t,{unitsPerMeter:f,unitsPerMeter2:_}=Wy({longitude:r,latitude:i,highPrecision:!0}),w=va(e);w[0]+=n*(f[0]+_[0]*o),w[1]+=o*(f[1]+_[1]*o);let I=oc(w),R=(s||0)+(c||0);return Number.isFinite(s)||Number.isFinite(c)?[I[0],I[1],R]:I}function tP(e){let{height:t,pitch:r,bearing:i,altitude:s,scale:n,center:o}=e,c=fD();ag(c,c,[0,0,-s]),WE(c,c,-r*Fu),HE(c,c,i*Fu);let f=n/t;return By(c,c,[f,f,f]),o&&ag(c,c,Gj([],o)),c}function mD(e){let{width:t,height:r,altitude:i,pitch:s=0,offset:n,center:o,scale:c,nearZMultiplier:f=1,farZMultiplier:_=1}=e,{fovy:w=cg(rG)}=e;i!==void 0&&(w=cg(i));let I=w*Fu,R=s*Fu,N=Bb(w),j=N;o&&(j+=o[2]*c/Math.cos(R)/r);let Q=I*(.5+(n?n[1]:0)/r),et=Math.sin(Q)*j/Math.sin(kb(Math.PI/2-R-Q,.01,Math.PI-.01)),Y=Math.sin(R)*et+j,K=j*10,J=Math.min(Y*_,K);return{fov:I,aspect:t/r,focalDistance:N,near:f,far:J}}function cg(e){return 2*Math.atan(.5/e)*pD}function Bb(e){return .5/Math.tan(.5*e*Fu)}function Hy(e,t){let[r,i,s=0]=e;return Bu(Number.isFinite(r)&&Number.isFinite(i)&&Number.isFinite(s)),JA(t,[r,i,s,1])}function Qf(e,t,r=0){let[i,s,n]=e;if(Bu(Number.isFinite(i)&&Number.isFinite(s),\"invalid pixel coordinate\"),Number.isFinite(n))return JA(t,[i,s,n,1]);let o=JA(t,[i,s,0,1]),c=JA(t,[i,s,1,1]),f=o[2],_=c[2],w=f===_?0:((r||0)-f)/(_-f);return kE([],o,c,w)}function Fb(e){let{width:t,height:r,bounds:i,minExtent:s=0,maxZoom:n=24,offset:o=[0,0]}=e,[[c,f],[_,w]]=i,I=plt(e.padding),R=va([c,kb(w,-Gy,Gy)]),N=va([_,kb(f,-Gy,Gy)]),j=[Math.max(Math.abs(N[0]-R[0]),s),Math.max(Math.abs(N[1]-R[1]),s)],Q=[t-I.left-I.right-Math.abs(o[0])*2,r-I.top-I.bottom-Math.abs(o[1])*2];Bu(Q[0]>0&&Q[1]>0);let et=Q[0]/j[0],Y=Q[1]/j[1],K=(I.right-I.left)/2/et,J=(I.top-I.bottom)/2/Y,ut=[(N[0]+R[0])/2+K,(N[1]+R[1])/2+J],Et=oc(ut),kt=Math.min(n,Vy(Math.abs(Math.min(et,Y))));return Bu(Number.isFinite(kt)),{longitude:Et[0],latitude:Et[1],zoom:kt}}function plt(e=0){return typeof e==\"number\"?{top:e,bottom:e,left:e,right:e}:(Bu(Number.isFinite(e.top)&&Number.isFinite(e.bottom)&&Number.isFinite(e.left)&&Number.isFinite(e.right)),e)}var iG=Math.PI/180;function zb(e,t=0){let{width:r,height:i,unproject:s}=e,n={targetZ:t},o=s([0,i],n),c=s([r,i],n),f,_,w=e.fovy?.5*e.fovy*iG:Math.atan(.5/e.altitude),I=(90-e.pitch)*iG;return w>I-.01?(f=nG(e,0,t),_=nG(e,r,t)):(f=s([0,0],n),_=s([r,0],n)),[o,c,_,f]}function nG(e,t,r){let{pixelUnprojectionMatrix:i}=e,s=JA(i,[t,0,1,1]),n=JA(i,[t,e.height,1,1]),c=(r*e.distanceScales.unitsPerMeter[2]-s[2])/(n[2]-s[2]),f=kE([],s,n,c),_=oc(f);return _.push(r),_}var sG=512;function eP(e){let{width:t,height:r,pitch:i=0}=e,{longitude:s,latitude:n,zoom:o,bearing:c=0}=e;(s<-180||s>180)&&(s=dD(s+180,360)-180),(c<-180||c>180)&&(c=dD(c+180,360)-180);let f=Vy(r/sG);if(o<=f)o=f,n=0;else{let _=r/2/Math.pow(2,o),w=oc([0,_])[1];if(nI&&(n=I)}}return{width:t,height:r,longitude:s,latitude:n,zoom:o,pitch:i,bearing:c}}var oG=.01,mlt=[\"longitude\",\"latitude\",\"zoom\"],aG={curve:1.414,speed:1.2};function rP(e,t,r,i){let{startZoom:s,startCenterXY:n,uDelta:o,w0:c,u1:f,S:_,rho:w,rho2:I,r0:R}=lG(e,t,i);if(fo?0:w}function lG(e,t,r){r=Object.assign({},aG,r);let i=r.curve,s=e.zoom,n=[e.longitude,e.latitude],o=Rb(s),c=t.zoom,f=[t.longitude,t.latitude],_=Rb(c-s),w=va(n),I=va(f),R=Nj([],I,w),N=Math.max(e.width,e.height),j=N/_,Q=Bj(R)*o,et=Math.max(Q,oG),Y=i*i,K=(j*j-N*N+Y*Y*et*et)/(2*N*Y*et),J=(j*j-N*N-Y*Y*et*et)/(2*j*Y*et),ut=Math.log(Math.sqrt(K*K+1)-K),Et=Math.log(Math.sqrt(J*J+1)-J),kt=(Et-ut)/i;return{startZoom:s,startCenterXY:w,uDelta:R,w0:N,u1:Q,S:kt,rho:i,rho2:Y,r0:ut,r1:Et}}var _lt=`\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n`,ylt=`\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n`,vlt=Yf(Tlt),xlt=Yf(Mlt),blt=[0,0,0,1],wlt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];function Slt(e,t){let[r,i,s]=e,n=Qf([r,i,s],t);return Number.isFinite(s)?n:[n[0],n[1],0]}function Tlt({viewport:e,center:t}){return new En(e.viewProjectionMatrix).invert().transform(t)}function Mlt({viewport:e,shadowMatrices:t}){let r=[],i=e.pixelUnprojectionMatrix,s=e.isGeospatial?void 0:1,n=[[0,0,s],[e.width,0,s],[0,e.height,s],[e.width,e.height,s],[0,0,-1],[e.width,0,-1],[0,e.height,-1],[e.width,e.height,-1]].map(o=>Slt(o,i));for(let o of t){let c=o.clone().translate(new Ve(e.center).negate()),f=n.map(w=>c.transform(w)),_=new En().ortho({left:Math.min(...f.map(w=>w[0])),right:Math.max(...f.map(w=>w[0])),bottom:Math.min(...f.map(w=>w[1])),top:Math.max(...f.map(w=>w[1])),near:Math.min(...f.map(w=>-w[2])),far:Math.max(...f.map(w=>-w[2]))});r.push(_.multiplyRight(o))}return r}function Elt(e,t){let{shadowEnabled:r=!0}=e;if(!r||!e.shadowMatrices||!e.shadowMatrices.length)return{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1};let i={shadow_uDrawShadowMap:!!e.drawToShadowMap,shadow_uUseShadowMap:e.shadowMaps?e.shadowMaps.length>0:!1,shadow_uColor:e.shadowColor||blt,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},s=vlt({viewport:e.viewport,center:t.project_uCenter}),n=[],o=xlt({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice();for(let c=0;c0?i[\"shadow_uShadowMap\".concat(c)]=e.shadowMaps[c]:i[\"shadow_uShadowMap\".concat(c)]=e.dummyShadowMap;return i}var Nb={name:\"shadow\",dependencies:[Vh],vs:_lt,fs:ylt,inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n position = shadow_setVertexPosition(geometry.position);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n color = shadow_filterShadowColor(color);\n `},getUniforms:(e={},t={})=>\"viewport\"in e&&(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0)?Elt(e,t):{}};var Plt={color:[255,255,255],intensity:1},cG=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ilt=[0,0,0,200/255],qy=class{constructor(t={}){G(this,\"id\",\"lighting-effect\"),G(this,\"props\",void 0),G(this,\"shadowColor\",Ilt),G(this,\"shadow\",void 0),G(this,\"ambientLight\",void 0),G(this,\"directionalLights\",void 0),G(this,\"pointLights\",void 0),G(this,\"shadowPasses\",[]),G(this,\"shadowMaps\",[]),G(this,\"dummyShadowMap\",null),G(this,\"programManager\",void 0),G(this,\"shadowMatrices\",void 0),this.setProps(t)}setProps(t){this.ambientLight=null,this.directionalLights=[],this.pointLights=[];for(let r in t){let i=t[r];switch(i.type){case\"ambient\":this.ambientLight=i;break;case\"directional\":this.directionalLights.push(i);break;case\"point\":this.pointLights.push(i);break;default:}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(r=>r.shadow),this.props=t}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o}){if(this.shadow){this.shadowMatrices=this._calculateMatrices(),this.shadowPasses.length===0&&this._createShadowPasses(t),this.programManager||(this.programManager=Uh.getDefaultProgramManager(t),Nb&&this.programManager.addDefaultModule(Nb)),this.dummyShadowMap||(this.dummyShadowMap=new pi(t,{width:1,height:1}));for(let c=0;ci.getProjectedLight({layer:t})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:t}))},r}cleanup(){for(let t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(Nb),this.programManager=null)}_calculateMatrices(){let t=[];for(let r of this.directionalLights){let i=new En().lookAt({eye:new Ve(r.direction).negate()});t.push(i)}return t}_createShadowPasses(t){for(let r=0;rs&&(n=s);let o=this._pool,c=t.BYTES_PER_ELEMENT*n,f=o.findIndex(_=>_.byteLength>=c);if(f>=0){let _=new t(o.splice(f,1)[0],0,n);return i&&_.fill(0),_}return new t(n)}_release(t){if(!ArrayBuffer.isView(t))return;let r=this._pool,{buffer:i}=t,{byteLength:s}=i,n=r.findIndex(o=>o.byteLength>=s);n<0?r.push(i):(n>0||r.lengththis.opts.poolSize&&r.shift()}},Gh=new _D;function Yy(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function hG(e){return[e[12],e[13],e[14]]}function fG(e){return{left:Zy(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:Zy(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:Zy(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:Zy(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:Zy(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:Zy(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}var uG=new Ve;function Zy(e,t,r,i){uG.set(e,t,r);let s=uG.len();return{distance:i/s,normal:new Ve(-e/s,-t/s,-r/s)}}function Clt(e){return e-Math.fround(e)}var Ub;function iP(e,t){let{size:r=1,startIndex:i=0}=t,s=t.endIndex!==void 0?t.endIndex:e.length,n=(s-i)/r;Ub=Gh.allocate(Ub,n,{type:Float32Array,size:r*2});let o=i,c=0;for(;osuper.render({target:o,layers:t,layerFilter:r,views:i,viewports:s,onViewportActive:n,cullRect:I,effects:R?.filter(ut=>ut.useInPicking),pass:N,isPicking:!0,moduleParameters:Q}));return this._colorEncoderState=null,{decodePickingColor:Y&&Flt.bind(null,Y),stats:K}}shouldDrawLayer(t){let{pickable:r,operation:i}=t.props;return r&&i.includes(\"draw\")||i.includes(\"terrain\")||i.includes(\"mask\")}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,r,i){let s={...t.props.parameters},{pickable:n,operation:o}=t.props;return this._colorEncoderState?n&&o.includes(\"draw\")&&(Object.assign(s,gG),s.blend=!0,s.blendColor=Blt(this._colorEncoderState,t,i)):s.blend=!1,o.includes(\"terrain\")&&(s.blend=!1),s}_resetColorEncoder(t){return this._colorEncoderState=t?null:{byLayer:new Map,byAlpha:[]},this._colorEncoderState}};function Blt(e,t,r){let{byLayer:i,byAlpha:s}=e,n,o=i.get(t);return o?(o.viewports.push(r),n=o.a):(n=i.size+1,n<=255?(o={a:n,layer:t,viewports:[r]},i.set(t,o),s[n]=o):(or.warn(\"Too many pickable layers, only picking the first 255\")(),n=0)),[0,0,0,n/255]}function Flt(e,t){let r=e.byAlpha[t[3]];return r&&{pickedLayer:r.layer,pickedViewports:r.viewports,pickedObjectIndex:r.layer.decodePickingColor(t)}}var tm={NO_STATE:\"Awaiting state\",MATCHED:\"Matched. State transferred from previous layer\",INITIALIZED:\"Initialized\",AWAITING_GC:\"Discarded. Awaiting garbage collection\",AWAITING_FINALIZATION:\"No longer matched. Awaiting garbage collection\",FINALIZED:\"Finalized! Awaiting garbage collection\"},Qy=Symbol.for(\"component\"),zu=Symbol.for(\"propTypes\"),nP=Symbol.for(\"deprecatedProps\"),sp=Symbol.for(\"asyncPropDefaults\"),$f=Symbol.for(\"asyncPropOriginal\"),Wh=Symbol.for(\"asyncPropResolved\");function op(e,t=()=>!0){return Array.isArray(e)?_G(e,t,[]):t(e)?[e]:[]}function _G(e,t,r){let i=-1;for(;++i0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,r){if(t===this._data&&!r)return;this._data=t;let i=++this._loadCount,s=t;typeof t==\"string\"&&(s=jA(t)),s instanceof Promise?(this.isLoaded=!1,this._loader=s.then(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=void 0,this._content=n)}).catch(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=n||!0)})):(this.isLoaded=!0,this._error=void 0,this._content=t);for(let n of this._subscribers)n.onChange(this.getData())}};var jb=class{constructor({gl:t,protocol:r}){G(this,\"protocol\",void 0),G(this,\"_context\",void 0),G(this,\"_resources\",void 0),G(this,\"_consumers\",void 0),G(this,\"_pruneRequest\",void 0),this.protocol=r||\"resource://\",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return t.startsWith(this.protocol)?!0:t in this._resources}add({resourceId:t,data:r,forceUpdate:i=!1,persistent:s=!0}){let n=this._resources[t];n?n.setData(r,i):(n=new Vb(t,r,this._context),this._resources[t]=n),n.persistent=s}remove(t){let r=this._resources[t];r&&(r.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){let r=this._consumers[t];if(r){for(let i in r){let s=r[i],n=this._resources[s.resourceId];n&&n.unsubscribe(s)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:r,consumerId:i,requestId:s=\"default\"}){let{_resources:n,protocol:o}=this;t.startsWith(o)&&(t=t.replace(o,\"\"),n[t]||this.add({resourceId:t,data:null,persistent:!1}));let c=n[t];if(this._track(i,s,c,r),c)return c.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(let t in this._resources)this._resources[t].delete()}_track(t,r,i,s){let n=this._consumers,o=n[t]=n[t]||{},c=o[r]||{},f=c.resourceId&&this._resources[c.resourceId];f&&(f.unsubscribe(c),this.prune()),i&&(o[r]=c,c.onChange=s,c.resourceId=i.id,i.subscribe(c))}_prune(){this._pruneRequest=null;for(let t of Object.keys(this._resources)){let r=this._resources[t];!r.persistent&&!r.inUse()&&(r.delete(),delete this._resources[t])}}};var zlt=`\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n mat3 rotation;\n if (project_needs_rotation(projectedPosition, rotation)) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n`,Rs={name:\"project32\",dependencies:[Vh],vs:zlt};var Ao={inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n // for picking depth values\n picking_setPickingAttribute(position.z / position.w);\n `,\"vs:DECKGL_FILTER_COLOR\":`\n picking_setPickingColor(geometry.pickingColor);\n `,\"fs:#decl\":`\nuniform bool picking_uAttribute;\n `,\"fs:DECKGL_FILTER_COLOR\":{order:99,injection:`\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n `}},...QE};var Nlt=[Vh],Ult=[\"vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)\",\"fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)\"];function yG(e){let t=Uh.getDefaultProgramManager(e);for(let r of Nlt)t.addDefaultModule(r);for(let r of Ult)t.addShaderHook(r);return t}var Vlt=\"layerManager.setLayers\",jlt=\"layerManager.activateViewport\",Gb=class{constructor(t,{deck:r,stats:i,viewport:s,timeline:n}={}){G(this,\"layers\",void 0),G(this,\"context\",void 0),G(this,\"resourceManager\",void 0),G(this,\"_lastRenderedLayers\",[]),G(this,\"_needsRedraw\",!1),G(this,\"_needsUpdate\",!1),G(this,\"_nextLayers\",null),G(this,\"_debug\",!1),G(this,\"activateViewport\",o=>{Ls(jlt,this,o),o&&(this.context.viewport=o)}),this.layers=[],this.resourceManager=new jb({gl:t,protocol:\"deck://\"}),this.context={mousePosition:null,userData:{},layerManager:this,gl:t,deck:r,programManager:t&&yG(t),stats:i||new Gf({id:\"deck.gl\"}),viewport:s||new ac({id:\"DEFAULT-INITIAL-VIEWPORT\"}),timeline:n||new KA,resourceManager:this.resourceManager,onError:void 0},Object.seal(this)}finalize(){this.resourceManager.finalize();for(let t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(let i of this.layers){let s=i.getNeedsRedraw(t);r=r||s}return r}needsUpdate(){return this._nextLayers&&this._nextLayers!==this._lastRenderedLayers?\"layers changed\":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t}={}){return t?this.layers.filter(r=>t.find(i=>r.id.indexOf(i)===0)):this.layers}setProps(t){\"debug\"in t&&(this._debug=t.debug),\"userData\"in t&&(this.context.userData=t.userData),\"layers\"in t&&(this._nextLayers=t.layers),\"onError\"in t&&(this.context.onError=t.onError)}setLayers(t,r){Ls(Vlt,this,r,t),this._lastRenderedLayers=t;let i=op(t,Boolean);for(let s of i)s.context=this.context;this._updateLayers(this.layers,i)}updateLayers(){let t=this.needsUpdate();t&&(this.setNeedsRedraw(\"updating layers: \".concat(t)),this.setLayers(this._nextLayers||this._lastRenderedLayers,t)),this._nextLayers=null}_handleError(t,r,i){i.raiseError(r,\"\".concat(t,\" of \").concat(i))}_updateLayers(t,r){let i={};for(let o of t)i[o.id]?or.warn(\"Multiple old layers with same id \".concat(o.id))():i[o.id]=o;let s=[];this._updateSublayersRecursively(r,i,s),this._finalizeOldLayers(i);let n=!1;for(let o of s)if(o.hasUniformTransition()){n=\"Uniform transition in \".concat(o);break}this._needsUpdate=n,this.layers=s}_updateSublayersRecursively(t,r,i){for(let s of t){s.context=this.context;let n=r[s.id];n===null&&or.warn(\"Multiple new layers with same id \".concat(s.id))(),r[s.id]=null;let o=null;try{this._debug&&n!==s&&s.validateProps(),n?(this._transferLayerState(n,s),this._updateLayer(s)):this._initializeLayer(s),i.push(s),o=s.isComposite?s.getSubLayers():null}catch(c){this._handleError(\"matching\",c,s)}o&&this._updateSublayersRecursively(o,r,i)}}_finalizeOldLayers(t){for(let r in t){let i=t[r];i&&this._finalizeLayer(i)}}_initializeLayer(t){try{t._initialize(),t.lifecycle=tm.INITIALIZED}catch(r){this._handleError(\"initialization\",r,t)}}_transferLayerState(t,r){r._transferState(t),r.lifecycle=tm.MATCHED,r!==t&&(t.lifecycle=tm.AWAITING_GC)}_updateLayer(t){try{t._update()}catch(r){this._handleError(\"update\",r,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||\"finalized \".concat(t),t.lifecycle=tm.AWAITING_FINALIZATION;try{t._finalize(),t.lifecycle=tm.FINALIZED}catch(r){this._handleError(\"finalization\",r,t)}}};function mo(e,t,r){if(e===t)return!0;if(!r||!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let i=0;ir.containsPixel(t)):this._viewports}getViews(){let t={};return this.views.forEach(r=>{t[r.id]=r}),t}getView(t){return this.views.find(r=>r.id===t)}getViewState(t){let r=typeof t==\"string\"?this.getView(t):t,i=r&&this.viewState[r.getViewStateId()]||this.viewState;return r?r.filterViewState(i):i}getViewport(t){return this._viewportMap[t]}unproject(t,r){let i=this.getViewports(),s={x:t[0],y:t[1]};for(let n=i.length-1;n>=0;--n){let o=i[n];if(o.containsPixel(s)){let c=t.slice();return c[0]-=o.x,c[1]-=o.y,o.unproject(c,r)}}return null}setProps(t){t.views&&this._setViews(t.views),t.viewState&&this._setViewState(t.viewState),(\"width\"in t||\"height\"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,r){(t!==this.width||r!==this.height)&&(this.width=t,this.height=r,this.setNeedsUpdate(\"Size changed\"))}_setViews(t){t=op(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate(\"views changed\"),this.views=t}_setViewState(t){t?(!mo(t,this.viewState,3)&&this.setNeedsUpdate(\"viewState changed\"),this.viewState=t):or.warn(\"missing `viewState` or `initialViewState`\")()}_onViewStateChange(t,r){this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange({...r,viewId:t})}_createController(t,r){let i=r.type;return new i({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,r.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:n=>{var o;return(o=this.getView(t.id))===null||o===void 0?void 0:o.makeViewport({viewState:n,width:this.width,height:this.height})}})}_updateController(t,r,i,s){let n=t.controller;if(n&&i){let o={...r,...n,id:t.id,x:i.x,y:i.y,width:i.width,height:i.height};return(!s||s.constructor!==n.type)&&(s=this._createController(t,o)),s&&s.setProps(o),s}return null}_rebuildViewports(){let{views:t}=this,r=this.controllers;this._viewports=[],this.controllers={};let i=!1;for(let s=t.length;s--;){let n=t[s],o=this.getViewState(n),c=n.makeViewport({viewState:o,width:this.width,height:this.height}),f=r[n.id],_=!!n.controller;_&&!f&&(i=!0),(i||!_)&&f&&(f.finalize(),f=null),this.controllers[n.id]=this._updateController(n,o,c,f),c&&this._viewports.unshift(c)}for(let s in r){let n=r[s];n&&!this.controllers[s]&&n.finalize()}this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,r){return t.length!==r.length?!0:t.some((i,s)=>!t[s].equals(r[s]))}};var Glt=/([0-9]+\\.?[0-9]*)(%|px)/;function ap(e){switch(typeof e){case\"number\":return{position:e,relative:!1};case\"string\":let t=Glt.exec(e);if(t&&t.length>=3){let r=t[2]===\"%\",i=parseFloat(t[1]);return{position:r?i/100:i,relative:r}}default:throw new Error(\"Could not parse position string \".concat(e))}}function lp(e,t){return e.relative?Math.round(e.position*t):e.position}function _r(e,t){if(!e)throw new Error(t||\"deck.gl: assertion failed.\")}var Xc=class{constructor(t){G(this,\"id\",void 0),G(this,\"viewportInstance\",void 0),G(this,\"_x\",void 0),G(this,\"_y\",void 0),G(this,\"_width\",void 0),G(this,\"_height\",void 0),G(this,\"_padding\",void 0),G(this,\"props\",void 0);let{id:r,x:i=0,y:s=0,width:n=\"100%\",height:o=\"100%\",padding:c=null,viewportInstance:f}=t||{};_r(!f||f instanceof ac),this.viewportInstance=f,this.id=r||this.constructor.displayName||\"view\",this.props={...t,id:this.id},this._x=ap(i),this._y=ap(s),this._width=ap(n),this._height=ap(o),this._padding=c&&{left:ap(c.left||0),right:ap(c.right||0),top:ap(c.top||0),bottom:ap(c.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t?!0:this.viewportInstance?t.viewportInstance?this.viewportInstance.equals(t.viewportInstance):!1:this.ViewportType===t.ViewportType&&mo(this.props,t.props,2)}makeViewport({width:t,height:r,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);let s=this.getDimensions({width:t,height:r});return!s.height||!s.width?null:new this.ViewportType({...i,...this.props,...s})}getViewStateId(){let{viewState:t}=this.props;return typeof t==\"string\"?t:t?.id||this.id}filterViewState(t){if(this.props.viewState&&typeof this.props.viewState==\"object\"){if(!this.props.viewState.id)return this.props.viewState;let r={...t};for(let i in this.props.viewState)i!==\"id\"&&(r[i]=this.props.viewState[i]);return r}return t}getDimensions({width:t,height:r}){let i={x:lp(this._x,t),y:lp(this._y,r),width:lp(this._width,t),height:lp(this._height,r)};return this._padding&&(i.padding={left:lp(this._padding.left,t),top:lp(this._padding.top,r),right:lp(this._padding.right,t),bottom:lp(this._padding.bottom,r)}),i}get controller(){let t=this.props.controller;return t?t===!0?{type:this.ControllerType}:typeof t==\"function\"?{type:t}:{type:this.ControllerType,...t}:null}};var Kc=class{constructor(t){G(this,\"_inProgress\",void 0),G(this,\"_handle\",void 0),G(this,\"_timeline\",void 0),G(this,\"time\",void 0),G(this,\"settings\",void 0),this._inProgress=!1,this._handle=null,this._timeline=t,this.time=0,this.settings={duration:0}}get inProgress(){return this._inProgress}start(t){var r,i;this.cancel(),this.settings=t,this._inProgress=!0,(r=(i=this.settings).onStart)===null||r===void 0||r.call(i,this)}end(){if(this._inProgress){var t,r;this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,(t=(r=this.settings).onEnd)===null||t===void 0||t.call(r,this)}}cancel(){if(this._inProgress){var t,r;(t=(r=this.settings).onInterrupt)===null||t===void 0||t.call(r,this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1}}update(){var t,r;if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:i,settings:s}=this;this._handle=i.addChannel({delay:i.getTime(),duration:s.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),(t=(r=this.settings).onUpdate)===null||t===void 0||t.call(r,this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var vG=()=>{},bD={BREAK:1,SNAP_TO_END:2,IGNORE:3},Wlt=e=>e,Hlt=bD.BREAK,Hb=class{constructor(t){G(this,\"getControllerState\",void 0),G(this,\"props\",void 0),G(this,\"propsInTransition\",void 0),G(this,\"transition\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"_onTransitionUpdate\",r=>{let{time:i,settings:{interpolator:s,startProps:n,endProps:o,duration:c,easing:f}}=r,_=f(i/c),w=s.interpolateProps(n,o,_);this.propsInTransition=this.getControllerState({...this.props,...w}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}),this.getControllerState=t.getControllerState,this.propsInTransition=null,this.transition=new Kc(t.timeline),this.onViewStateChange=t.onViewStateChange||vG,this.onStateChange=t.onStateChange||vG}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let r=!1,i=this.props;if(this.props=t,!i||this._shouldIgnoreViewportChange(i,t))return!1;if(this._isTransitionEnabled(t)){let s=i;if(this.transition.inProgress){let{interruption:n,endProps:o}=this.transition.settings;s={...i,...n===bD.SNAP_TO_END?o:this.propsInTransition||i}}this._triggerTransition(s,t),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(t){let{transitionDuration:r,transitionInterpolator:i}=t;return(r>0||r===\"auto\")&&!!i}_isUpdateDueToCurrentTransition(t){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition):!1}_shouldIgnoreViewportChange(t,r){return this.transition.inProgress?this.transition.settings.interruption===bD.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(t,r):!0}_triggerTransition(t,r){let i=this.getControllerState(t),s=this.getControllerState(r).shortestPathFrom(i),n=r.transitionInterpolator,o=n.getDuration?n.getDuration(t,r):r.transitionDuration;if(o===0)return;let c=n.initializeProps(t,s);this.propsInTransition={};let f={duration:o,easing:r.transitionEasing||Wlt,interpolator:n,interruption:r.transitionInterruption||Hlt,startProps:c.start,endProps:c.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(f),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t?.(r)}}};var hg=class{constructor(t){G(this,\"_propsToCompare\",void 0),G(this,\"_propsToExtract\",void 0),G(this,\"_requiredProps\",void 0);let{compare:r,extract:i,required:s}=t;this._propsToCompare=r,this._propsToExtract=i||r,this._requiredProps=s}arePropsEqual(t,r){for(let i of this._propsToCompare)if(!(i in t)||!(i in r)||!Ro(t[i],r[i]))return!1;return!0}initializeProps(t,r){let i={},s={};for(let n of this._propsToExtract)(n in t||n in r)&&(i[n]=t[n],s[n]=r[n]);return this._checkRequiredProps(i),this._checkRequiredProps(s),{start:i,end:s}}getDuration(t,r){return r.transitionDuration}_checkRequiredProps(t){this._requiredProps&&this._requiredProps.forEach(r=>{let i=t[r];_r(Number.isFinite(i)||Array.isArray(i),\"\".concat(r,\" is required for transition\"))})}};var qlt=[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\"],Zlt=[\"longitude\",\"latitude\",\"zoom\"],fg=class extends hg{constructor(t={}){let r=Array.isArray(t)?t:t.transitionProps,i=Array.isArray(t)?{}:t;i.transitionProps=Array.isArray(r)?{compare:r,required:r}:r||{compare:qlt,required:Zlt},super(i.transitionProps),G(this,\"opts\",void 0),this.opts=i}initializeProps(t,r){let i=super.initializeProps(t,r),{makeViewport:s,around:n}=this.opts;if(s&&n){let o=s(t),c=s(r),f=o.unproject(n);i.start.around=n,Object.assign(i.end,{around:c.project(f),aroundPosition:f,width:r.width,height:r.height})}return i}interpolateProps(t,r,i){let s={};for(let n of this._propsToExtract)s[n]=il(t[n]||0,r[n]||0,i);if(r.aroundPosition&&this.opts.makeViewport){let n=this.opts.makeViewport({...r,...s});Object.assign(s,n.panByPosition(r.aroundPosition,il(t.around,r.around,i)))}return s}};var em={transitionDuration:0},Ylt=300,sP=e=>1-(1-e)*(1-e),$y={WHEEL:[\"wheel\"],PAN:[\"panstart\",\"panmove\",\"panend\"],PINCH:[\"pinchstart\",\"pinchmove\",\"pinchend\"],TRIPLE_PAN:[\"tripanstart\",\"tripanmove\",\"tripanend\"],DOUBLE_TAP:[\"doubletap\"],KEYBOARD:[\"keydown\"]},dg={},qb=class{constructor(t){G(this,\"props\",void 0),G(this,\"state\",{}),G(this,\"transitionManager\",void 0),G(this,\"eventManager\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"makeViewport\",void 0),G(this,\"_controllerState\",void 0),G(this,\"_events\",{}),G(this,\"_interactionState\",{isDragging:!1}),G(this,\"_customEvents\",[]),G(this,\"_eventStartBlocked\",null),G(this,\"_panMove\",!1),G(this,\"invertPan\",!1),G(this,\"dragMode\",\"rotate\"),G(this,\"inertia\",0),G(this,\"scrollZoom\",!0),G(this,\"dragPan\",!0),G(this,\"dragRotate\",!0),G(this,\"doubleClickZoom\",!0),G(this,\"touchZoom\",!0),G(this,\"touchRotate\",!1),G(this,\"keyboard\",!0),this.transitionManager=new Hb({...t,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=t.eventManager,this.onViewStateChange=t.onViewStateChange||(()=>{}),this.onStateChange=t.onStateChange||(()=>{}),this.makeViewport=t.makeViewport}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.props&&this.setProps(this.props)}finalize(){for(let r in this._events)if(this._events[r]){var t;(t=this.eventManager)===null||t===void 0||t.off(r,this.handleEvent)}this.transitionManager.finalize()}handleEvent(t){this._controllerState=void 0;let r=this._eventStartBlocked;switch(t.type){case\"panstart\":return r?!1:this._onPanStart(t);case\"panmove\":return this._onPan(t);case\"panend\":return this._onPanEnd(t);case\"pinchstart\":return r?!1:this._onPinchStart(t);case\"pinchmove\":return this._onPinch(t);case\"pinchend\":return this._onPinchEnd(t);case\"tripanstart\":return r?!1:this._onTriplePanStart(t);case\"tripanmove\":return this._onTriplePan(t);case\"tripanend\":return this._onTriplePanEnd(t);case\"doubletap\":return this._onDoubleTap(t);case\"wheel\":return this._onWheel(t);case\"keydown\":return this._onKeyDown(t);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(t){let{x:r,y:i}=this.props,{offsetCenter:s}=t;return[s.x-r,s.y-i]}isPointInBounds(t,r){let{width:i,height:s}=this.props;if(r&&r.handled)return!1;let n=t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=s;return n&&r&&r.stopPropagation(),n}isFunctionKeyPressed(t){let{srcEvent:r}=t;return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(t){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=r}setProps(t){t.dragMode&&(this.dragMode=t.dragMode),this.props=t,\"transitionInterpolator\"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:r}=t;this.inertia=Number.isFinite(r)?r:r===!0?Ylt:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:n=!0,doubleClickZoom:o=!0,touchZoom:c=!0,touchRotate:f=!1,keyboard:_=!0}=t,w=!!this.onViewStateChange;this.toggleEvents($y.WHEEL,w&&i),this.toggleEvents($y.PAN,w),this.toggleEvents($y.PINCH,w&&(c||f)),this.toggleEvents($y.TRIPLE_PAN,w&&f),this.toggleEvents($y.DOUBLE_TAP,w&&o),this.toggleEvents($y.KEYBOARD,w&&_),this.scrollZoom=i,this.dragPan=s,this.dragRotate=n,this.doubleClickZoom=o,this.touchZoom=c,this.touchRotate=f,this.keyboard=_}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,r){this.eventManager&&t.forEach(i=>{this._events[i]!==r&&(this._events[i]=r,r?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(t,r=null,i={}){let s={...t.getViewportProps(),...r},n=this.controllerState!==t;if(this.state=t.getState(),this._setInteractionState(i),n){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:s,interactionState:this._interactionState,oldViewState:o})}}_onTransition(t){this.onViewStateChange({...t,interactionState:this._interactionState})}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange(this._interactionState)}_onPanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t)||t.rightButton||!1;(this.invertPan||this.dragMode===\"pan\")&&(i=!i);let s=this.controllerState[i?\"panStart\":\"rotateStart\"]({pos:r});return this._panMove=i,this.updateViewport(s,em,{isDragging:!0}),!0}_onPan(t){return this.isDragging()?this._panMove?this._onPanMove(t):this._onPanRotate(t):!1}_onPanEnd(t){return this.isDragging()?this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t):!1}_onPanMove(t){if(!this.dragPan)return!1;let r=this.getCenter(t),i=this.controllerState.pan({pos:r});return this.updateViewport(i,em,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){let{inertia:r}=this;if(this.dragPan&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.pan({pos:s}).panEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:!0})}else{let i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;let r=this.getCenter(t),i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){let{inertia:r}=this;if(this.dragRotate&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.rotate({pos:s}).rotateEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0})}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;t.srcEvent.preventDefault();let{speed:i=.01,smooth:s=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:n}=t,o=2/(1+Math.exp(-Math.abs(n*i)));n<0&&o!==0&&(o=1/o);let c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,{...this._getTransitionProps({around:r}),transitionDuration:s?250:1},{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.rotateStart({pos:r});return this.updateViewport(i,em,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(t);r[0]-=t.deltaX;let i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&t.velocityY){let i=this.getCenter(t),s=[i[0],i[1]+=t.velocityY*r/2],n=this.controllerState.rotate({pos:s});this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return dg._startPinchRotation=t.rotation,dg._lastPinchEvent=t,this.updateViewport(i,em,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:i}=t,s=this.getCenter(t);r=r.zoom({pos:s,scale:i})}if(this.touchRotate){let{rotation:i}=t;r=r.rotate({deltaAngleX:dg._startPinchRotation-i})}return this.updateViewport(r,em,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),dg._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:i}=dg;if(this.touchZoom&&r&&i&&t.scale!==i.scale){let s=this.getCenter(t),n=this.controllerState.rotateEnd(),o=Math.log2(t.scale),c=(o-Math.log2(i.scale))/(t.deltaTime-i.deltaTime),f=Math.pow(2,o+c*r/2);n=n.zoom({pos:s,scale:f}).zoomEnd(),this.updateViewport(n,{...this._getTransitionProps({around:s}),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let s=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(s,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return dg._startPinchRotation=null,dg._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t),s=this.controllerState.zoom({pos:r,scale:i?.5:2});return this.updateViewport(s,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(t),{zoomSpeed:i,moveSpeed:s,rotateSpeedX:n,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:c}=this,f,_={};switch(t.srcEvent.code){case\"Minus\":f=r?c.zoomOut(i).zoomOut(i):c.zoomOut(i),_.isZooming=!0;break;case\"Equal\":f=r?c.zoomIn(i).zoomIn(i):c.zoomIn(i),_.isZooming=!0;break;case\"ArrowLeft\":r?(f=c.rotateLeft(n),_.isRotating=!0):(f=c.moveLeft(s),_.isPanning=!0);break;case\"ArrowRight\":r?(f=c.rotateRight(n),_.isRotating=!0):(f=c.moveRight(s),_.isPanning=!0);break;case\"ArrowUp\":r?(f=c.rotateUp(o),_.isRotating=!0):(f=c.moveUp(s),_.isPanning=!0);break;case\"ArrowDown\":r?(f=c.rotateDown(o),_.isRotating=!0):(f=c.moveDown(s),_.isPanning=!0);break;default:return!1}return this.updateViewport(f,this._getTransitionProps(),_),!0}_getTransitionProps(t){let{transition:r}=this;return!r||!r.transitionInterpolator?em:t?{...r,transitionInterpolator:new fg({...t,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var Zb=class{constructor(t,r){G(this,\"_viewportProps\",void 0),G(this,\"_state\",void 0),this._viewportProps=this.applyConstraints(t),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var xG=5,Qlt=1.2,wD=class extends Zb{constructor(t){let{width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c=0,pitch:f=0,altitude:_=1.5,position:w=[0,0,0],maxZoom:I=20,minZoom:R=0,maxPitch:N=60,minPitch:j=0,startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut,normalize:Et=!0}=t;_r(Number.isFinite(n)),_r(Number.isFinite(s)),_r(Number.isFinite(o)),super({width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c,pitch:f,altitude:_,maxZoom:I,minZoom:R,maxPitch:N,minPitch:j,normalize:Et,position:w},{startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut}),G(this,\"makeViewport\",void 0),this.makeViewport=t.makeViewport}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:r}){let i=this.getState().startPanLngLat||this._unproject(r);if(!i)return this;let n=this.makeViewport(this.getViewportProps()).panByPosition(i,t);return this._getUpdatedState(n)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:t,deltaAngleX:r=0,deltaAngleY:i=0}){let{startRotatePos:s,startBearing:n,startPitch:o}=this.getState();if(!s||n===void 0||o===void 0)return this;let c;return t?c=this._getNewRotation(t,s,o,n):c={bearing:n+r,pitch:o+i},this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this.getViewportProps().zoom})}zoom({pos:t,startPos:r,scale:i}){let{startZoom:s,startZoomLngLat:n}=this.getState();if(n||(s=this.getViewportProps().zoom,n=this._unproject(r)||this._unproject(t)),!n)return this;let{maxZoom:o,minZoom:c}=this.getViewportProps(),f=s+Math.log2(i);f=Il(f,c,o);let _=this.makeViewport({...this.getViewportProps(),zoom:f});return this._getUpdatedState({zoom:f,..._.panByPosition(n,t)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-t})}shortestPathFrom(t){let r=t.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:n}=i;return Math.abs(s-r.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(n-r.longitude)>180&&(i.longitude=n<0?n+360:n-360),i}applyConstraints(t){let{maxZoom:r,minZoom:i,zoom:s}=t;t.zoom=Il(s,i,r);let{maxPitch:n,minPitch:o,pitch:c}=t;t.pitch=Il(c,o,n);let{normalize:f=!0}=t;return f&&Object.assign(t,eP(t)),t}_zoomFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.zoom({pos:[r/2,i/2],scale:t})}_panFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.pan({startPos:[r/2,i/2],pos:[r/2+t[0],i/2+t[1]]})}_getUpdatedState(t){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...t})}_unproject(t){let r=this.makeViewport(this.getViewportProps());return t&&r.unproject(t)}_getNewRotation(t,r,i,s){let n=t[0]-r[0],o=t[1]-r[1],c=t[1],f=r[1],{width:_,height:w}=this.getViewportProps(),I=n/_,R=0;o>0?Math.abs(w-f)>xG&&(R=o/(f-w)*Qlt):o<0&&f>xG&&(R=1-c/f),R=Il(R,-1,1);let{minPitch:N,maxPitch:j}=this.getViewportProps(),Q=s+180*I,et=i;return R>0?et=i+R*(j-i):R<0&&(et=i-R*(N-i)),{pitch:et,bearing:Q}}},Yb=class extends qb{constructor(...t){super(...t),G(this,\"ControllerState\",wD),G(this,\"transition\",{transitionDuration:300,transitionInterpolator:new fg({transitionProps:{compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"longitude\",\"latitude\",\"zoom\"]}})}),G(this,\"dragMode\",\"pan\")}setProps(t){t.position=t.position||[0,0,0];let r=this.props;super.setProps(t),(!r||r.height!==t.height)&&this.updateViewport(new this.ControllerState({makeViewport:this.makeViewport,...t,...this.state}))}};var Xy=class extends Xc{get ViewportType(){return lc}get ControllerType(){return Yb}};G(Xy,\"displayName\",\"MapView\");var $lt=new qy;function Xlt(e,t){var r,i;let s=(r=e.order)!==null&&r!==void 0?r:1/0,n=(i=t.order)!==null&&i!==void 0?i:1/0;return s-n}var Qb=class{constructor(){G(this,\"effects\",void 0),G(this,\"_resolvedEffects\",[]),G(this,\"_defaultEffects\",[]),G(this,\"_needsRedraw\",void 0),this.effects=[],this._needsRedraw=\"Initial render\",this._setEffects([])}addDefaultEffect(t){let r=this._defaultEffects;if(!r.find(i=>i.id===t.id)){let i=r.findIndex(s=>Xlt(s,t)>0);i<0?r.push(t):r.splice(i,0,t),this._setEffects(this.effects)}}setProps(t){\"effects\"in t&&(mo(t.effects,this.effects,1)||this._setEffects(t.effects))}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}getEffects(){return this._resolvedEffects}_setEffects(t){let r={};for(let s of this.effects)r[s.id]=s;let i=[];for(let s of t){let n=r[s.id];n&&n!==s?n.setProps?(n.setProps(s.props),i.push(n)):(n.cleanup(),i.push(s)):i.push(s),delete r[s.id]}for(let s in r)r[s].cleanup();this.effects=i,this._resolvedEffects=i.concat(this._defaultEffects),t.some(s=>s instanceof qy)||this._resolvedEffects.push($lt),this._needsRedraw=\"effects changed\"}finalize(){for(let t of this._resolvedEffects)t.cleanup();this.effects.length=0,this._resolvedEffects.length=0,this._defaultEffects.length=0}};var $b=class extends sc{shouldDrawLayer(t){let{operation:r}=t.props;return r.includes(\"draw\")||r.includes(\"terrain\")}};var Klt=\"deckRenderer.renderLayers\",Xb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"layerFilter\",void 0),G(this,\"drawPickingColors\",void 0),G(this,\"drawLayersPass\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"renderCount\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"renderBuffers\",void 0),G(this,\"lastPostProcessEffect\",void 0),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $b(t),this.pickLayersPass=new ug(t),this.renderCount=0,this._needsRedraw=\"Initial render\",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw=\"layerFilter changed\"),this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw=\"drawPickingColors changed\")}renderLayers(t){if(!t.viewports.length)return;let r=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass,i={layerFilter:this.layerFilter,isPicking:this.drawPickingColors,...t,target:t.target||yi.getDefaultFramebuffer(this.gl)};i.effects&&this._preRender(i.effects,i);let s=this.lastPostProcessEffect?this.renderBuffers[0]:i.target,n=r.render({...i,target:s});i.effects&&this._postRender(i.effects,i),this.renderCount++,Ls(Klt,this,n,t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}finalize(){let{renderBuffers:t}=this;for(let r of t)r.delete();t.length=0}_preRender(t,r){this.lastPostProcessEffect=null,r.preRenderStats=r.preRenderStats||{};for(let i of t)r.preRenderStats[i.id]=i.preRender(this.gl,r),i.postRender&&(this.lastPostProcessEffect=i.id);this.lastPostProcessEffect&&this._resizeRenderBuffers()}_resizeRenderBuffers(){let{renderBuffers:t}=this;t.length===0&&t.push(new yi(this.gl),new yi(this.gl));for(let r of t)r.resize()}_postRender(t,r){let{renderBuffers:i}=this,s={...r,inputBuffer:i[0],swapBuffer:i[1],target:null};for(let n of t)if(n.postRender){if(n.id===this.lastPostProcessEffect){s.target=r.target,n.postRender(this.gl,s);break}let o=n.postRender(this.gl,s);s.inputBuffer=o,s.swapBuffer=o===i[0]?i[1]:i[0]}}};var Jlt={pickedColor:null,pickedObjectIndex:-1};function bG({pickedColors:e,decodePickingColor:t,deviceX:r,deviceY:i,deviceRadius:s,deviceRect:n}){let{x:o,y:c,width:f,height:_}=n,w=s*s,I=-1,R=0;for(let N=0;N<_;N++){let j=N+c-i,Q=j*j;if(Q>w)R+=4*f;else for(let et=0;et=0){let K=et+o-r,J=K*K+Q;J<=w&&(w=J,I=R)}R+=4}}if(I>=0){let N=e.slice(I,I+4),j=t(N);if(j){let Q=Math.floor(I/4/f),et=I/4-Q*f;return{...j,pickedColor:N,pickedX:o+et,pickedY:c+Q}}or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}return Jlt}function wG({pickedColors:e,decodePickingColor:t}){let r=new Map;if(e){for(let i=0;i=0){let n=e.slice(i,i+4),o=n.join(\",\");if(!r.has(o)){let c=t(n);c?r.set(o,{...c,color:n}):or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}}}return Array.from(r.values())}function SD({pickInfo:e,viewports:t,pixelRatio:r,x:i,y:s,z:n}){let o=t[0];t.length>1&&(o=tct(e?.pickedViewports||t,{x:i,y:s}));let c;if(o){let f=[i-o.x,s-o.y];n!==void 0&&(f[2]=n),c=o.unproject(f)}return{color:null,layer:null,viewport:o,index:-1,picked:!1,x:i,y:s,pixel:[i,s],coordinate:c,devicePixel:e&&\"pickedX\"in e?[e.pickedX,e.pickedY]:void 0,pixelRatio:r}}function SG(e){let{pickInfo:t,lastPickedInfo:r,mode:i,layers:s}=e,{pickedColor:n,pickedLayer:o,pickedObjectIndex:c}=t,f=o?[o]:[];if(i===\"hover\"){let I=r.index,R=r.layerId,N=o?o.props.id:null;if(N!==R||c!==I){if(N!==R){let j=s.find(Q=>Q.props.id===R);j&&f.unshift(j)}r.layerId=N,r.index=c,r.info=null}}let _=SD(e),w=new Map;return w.set(null,_),f.forEach(I=>{let R={..._};I===o&&(R.color=n,R.index=c,R.picked=!0),R=TD({layer:I,info:R,mode:i});let N=R.layer;I===o&&i===\"hover\"&&(r.info=R),w.set(N.id,R),i===\"hover\"&&N.updateAutoHighlight(R)}),w}function TD({layer:e,info:t,mode:r}){for(;e&&t;){let i=t.layer||null;t.sourceLayer=i,t.layer=e,t=e.getPickingInfo({info:t,mode:r,sourceLayer:i}),e=e.parent}return t}function tct(e,t){for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.containsPixel(t))return i}return e[0]}var Kb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"pickingFBO\",void 0),G(this,\"depthFBO\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"layerFilter\",void 0),G(this,\"lastPickedInfo\",void 0),G(this,\"_pickable\",!0),this.gl=t,this.pickLayersPass=new ug(t),this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){\"layerFilter\"in t&&(this.layerFilter=t.layerFilter),\"_pickable\"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:r,layers:i,viewports:s},n=this.lastPickedInfo.info){let o=n&&n.layer&&n.layer.id,c=n&&n.viewport&&n.viewport.id,f=o?i.find(R=>R.id===o):null,_=c&&s.find(R=>R.id===c)||s[0],w=_&&_.unproject([t-_.x,r-_.y]);return{...n,...{x:t,y:r,viewport:_,coordinate:w,layer:f}}}_resizeBuffer(){var t,r;let{gl:i}=this;if(!this.pickingFBO&&(this.pickingFBO=new yi(i),yi.isSupported(i,{colorBufferFloat:!0}))){let s=new yi(i);s.attach({36064:new pi(i,{format:fr(i)?34836:6408,type:5126})}),this.depthFBO=s}(t=this.pickingFBO)===null||t===void 0||t.resize({width:i.canvas.width,height:i.canvas.height}),(r=this.depthFBO)===null||r===void 0||r.resize({width:i.canvas.width,height:i.canvas.height})}_getPickable(t){if(this._pickable===!1)return null;let r=t.filter(i=>this.pickLayersPass.shouldDrawLayer(i)&&!i.isComposite);return r.length?r:null}_pickClosestObject({layers:t,views:r,viewports:i,x:s,y:n,radius:o=0,depth:c=1,mode:f=\"query\",unproject3D:_,onViewportActive:w,effects:I}){let R=this._getPickable(t),N=El(this.gl);if(!R)return{result:[],emptyInfo:SD({viewports:i,x:s,y:n,pixelRatio:N})};this._resizeBuffer();let j=Sy(this.gl,[s,n],!0),Q=[j.x+Math.floor(j.width/2),j.y+Math.floor(j.height/2)],et=Math.round(o*N),{width:Y,height:K}=this.pickingFBO,J=this._getPickingRect({deviceX:Q[0],deviceY:Q[1],deviceRadius:et,deviceWidth:Y,deviceHeight:K}),ut={x:s-o,y:n-o,width:o*2+1,height:o*2+1},Et,kt=[],Xt=new Set;for(let qt=0;qt=_)break;let De=kt[ue],Ke={color:De.pickedColor,layer:null,index:De.pickedObjectIndex,picked:!0,x:s,y:n,pixelRatio:N};Ke=TD({layer:De.pickedLayer,info:Ke,mode:f});let rr=(le=Ke.object)!==null&&le!==void 0?le:\"\".concat(Ke.layer.id,\"[\").concat(Ke.index,\"]\");Xt.has(rr)||Xt.set(rr,Ke)}return Array.from(Xt.values())}_drawAndSample({layers:t,views:r,viewports:i,onViewportActive:s,deviceRect:n,cullRect:o,effects:c,pass:f},_=!1){let w=_?this.depthFBO:this.pickingFBO,I={layers:t,layerFilter:this.layerFilter,views:r,viewports:i,onViewportActive:s,pickingFBO:w,deviceRect:n,cullRect:o,effects:c,pass:f,pickZ:_,preRenderStats:{}};for(let K of c)K.useInPicking&&(I.preRenderStats[K.id]=K.preRender(this.gl,I));let{decodePickingColor:R}=this.pickLayersPass.render(I),{x:N,y:j,width:Q,height:et}=n,Y=new(_?Float32Array:Uint8Array)(Q*et*4);return Dh(w,{sourceX:N,sourceY:j,sourceWidth:Q,sourceHeight:et,target:Y}),{pickedColors:Y,decodePickingColor:R}}_getPickingRect({deviceX:t,deviceY:r,deviceRadius:i,deviceWidth:s,deviceHeight:n}){let o=Math.max(0,t-i),c=Math.max(0,r-i),f=Math.min(s,t+i+1)-o,_=Math.min(n,r+i+1)-c;return f<=0||_<=0?null:{x:o,y:c,width:f,height:_}}};var ect={zIndex:\"1\",position:\"absolute\",pointerEvents:\"none\",color:\"#a0a7b4\",backgroundColor:\"#29323c\",padding:\"10px\",top:\"0\",left:\"0\",display:\"none\"},Jb=class{constructor(t){G(this,\"el\",null),G(this,\"isVisible\",!1);let r=t.parentElement;r&&(this.el=document.createElement(\"div\"),this.el.className=\"deck-tooltip\",Object.assign(this.el.style,ect),r.appendChild(this.el))}setTooltip(t,r,i){let s=this.el;if(s){if(typeof t==\"string\")s.innerText=t;else if(t)t.text&&(s.innerText=t.text),t.html&&(s.innerHTML=t.html),t.className&&(s.className=t.className);else{this.isVisible=!1,s.style.display=\"none\";return}this.isVisible=!0,s.style.display=\"block\",s.style.transform=\"translate(\".concat(r,\"px, \").concat(i,\"px)\"),t&&typeof t==\"object\"&&\"style\"in t&&Object.assign(s.style,t.style)}}remove(){this.el&&(this.el.remove(),this.el=null)}};var pg=Ri(TG());var rct={mousedown:1,mousemove:2,mouseup:4};function ict(e,t){for(let r=0;r0&&i.type===\"pointerdown\"&&(ict(s,n=>n.pointerId===i.pointerId)||s.push(i)),t.call(this,i)}}function EG(e){e.prototype.handler=function(r){let i=rct[r.type];i&1&&r.button>=0&&(this.pressed=!0),i&2&&r.which===0&&(i=4),this.pressed&&(i&4&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[r],changedPointers:[r],pointerType:\"mouse\",srcEvent:r}))}}MG(pg.PointerEventInput);EG(pg.MouseInput);var PG=pg.Manager,Hh=pg;var qh=class{constructor(t,r,i){this.element=t,this.callback=r,this.options={enable:!0,...i}}};var IG=Hh?[[Hh.Pan,{event:\"tripan\",pointers:3,threshold:0,enable:!1}],[Hh.Rotate,{enable:!1}],[Hh.Pinch,{enable:!1}],[Hh.Swipe,{enable:!1}],[Hh.Pan,{threshold:0,enable:!1}],[Hh.Press,{enable:!1}],[Hh.Tap,{event:\"doubletap\",taps:2,enable:!1}],[Hh.Tap,{event:\"anytap\",enable:!1}],[Hh.Tap,{enable:!1}]]:null,MD={tripan:[\"rotate\",\"pinch\",\"pan\"],rotate:[\"pinch\"],pinch:[\"pan\"],pan:[\"press\",\"doubletap\",\"anytap\",\"tap\"],doubletap:[\"anytap\"],anytap:[\"tap\"]},CG={doubletap:[\"tap\"]},LG={pointerdown:\"pointerdown\",pointermove:\"pointermove\",pointerup:\"pointerup\",touchstart:\"pointerdown\",touchmove:\"pointermove\",touchend:\"pointerup\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\"},Ky={KEY_EVENTS:[\"keydown\",\"keyup\"],MOUSE_EVENTS:[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseover\",\"mouseout\",\"mouseleave\"],WHEEL_EVENTS:[\"wheel\",\"mousewheel\"]},kG={tap:\"tap\",anytap:\"anytap\",doubletap:\"doubletap\",press:\"press\",pinch:\"pinch\",pinchin:\"pinch\",pinchout:\"pinch\",pinchstart:\"pinch\",pinchmove:\"pinch\",pinchend:\"pinch\",pinchcancel:\"pinch\",rotate:\"rotate\",rotatestart:\"rotate\",rotatemove:\"rotate\",rotateend:\"rotate\",rotatecancel:\"rotate\",tripan:\"tripan\",tripanstart:\"tripan\",tripanmove:\"tripan\",tripanup:\"tripan\",tripandown:\"tripan\",tripanleft:\"tripan\",tripanright:\"tripan\",tripanend:\"tripan\",tripancancel:\"tripan\",pan:\"pan\",panstart:\"pan\",panmove:\"pan\",panup:\"pan\",pandown:\"pan\",panleft:\"pan\",panright:\"pan\",panend:\"pan\",pancancel:\"pan\",swipe:\"swipe\",swipeleft:\"swipe\",swiperight:\"swipe\",swipeup:\"swipe\",swipedown:\"swipe\"},ED={click:\"tap\",anyclick:\"anytap\",dblclick:\"doubletap\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\",mouseover:\"pointerover\",mouseout:\"pointerout\",mouseleave:\"pointerleave\"};var RG=typeof navigator<\"u\"&&navigator.userAgent?navigator.userAgent.toLowerCase():\"\",Ag=typeof window<\"u\"?window:global;var aP=!1;try{let e={get passive(){return aP=!0,!0}};Ag.addEventListener(\"test\",null,e),Ag.removeEventListener(\"test\",null)}catch{aP=!1}var nct=RG.indexOf(\"firefox\")!==-1,{WHEEL_EVENTS:sct}=Ky,DG=\"wheel\",OG=4.000244140625,oct=40,act=.25,tw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{if(!this.options.enable)return;let n=s.deltaY;Ag.WheelEvent&&(nct&&s.deltaMode===Ag.WheelEvent.DOM_DELTA_PIXEL&&(n/=Ag.devicePixelRatio),s.deltaMode===Ag.WheelEvent.DOM_DELTA_LINE&&(n*=oct)),n!==0&&n%OG===0&&(n=Math.floor(n/OG)),s.shiftKey&&n&&(n=n*act),this.callback({type:DG,center:{x:s.clientX,y:s.clientY},delta:-n,srcEvent:s,pointerType:\"mouse\",target:s.target})},this.events=(this.options.events||[]).concat(sct),this.events.forEach(s=>t.addEventListener(s,this.handleEvent,aP?{passive:!1}:!1))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===DG&&(this.options.enable=r)}};var{MOUSE_EVENTS:lct}=Ky,BG=\"pointermove\",FG=\"pointerover\",zG=\"pointerout\",NG=\"pointerenter\",UG=\"pointerleave\",ew=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=n=>{this.handleOverEvent(n),this.handleOutEvent(n),this.handleEnterEvent(n),this.handleLeaveEvent(n),this.handleMoveEvent(n)},this.pressed=!1;let{enable:s}=this.options;this.enableMoveEvent=s,this.enableLeaveEvent=s,this.enableEnterEvent=s,this.enableOutEvent=s,this.enableOverEvent=s,this.events=(this.options.events||[]).concat(lct),this.events.forEach(n=>t.addEventListener(n,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===BG&&(this.enableMoveEvent=r),t===FG&&(this.enableOverEvent=r),t===zG&&(this.enableOutEvent=r),t===NG&&(this.enableEnterEvent=r),t===UG&&(this.enableLeaveEvent=r)}handleOverEvent(t){this.enableOverEvent&&t.type===\"mouseover\"&&this._emit(FG,t)}handleOutEvent(t){this.enableOutEvent&&t.type===\"mouseout\"&&this._emit(zG,t)}handleEnterEvent(t){this.enableEnterEvent&&t.type===\"mouseenter\"&&this._emit(NG,t)}handleLeaveEvent(t){this.enableLeaveEvent&&t.type===\"mouseleave\"&&this._emit(UG,t)}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case\"mousedown\":t.button>=0&&(this.pressed=!0);break;case\"mousemove\":t.which===0&&(this.pressed=!1),this.pressed||this._emit(BG,t);break;case\"mouseup\":this.pressed=!1;break;default:}}_emit(t,r){this.callback({type:t,center:{x:r.clientX,y:r.clientY},srcEvent:r,pointerType:\"mouse\",target:r.target})}};var{KEY_EVENTS:cct}=Ky,VG=\"keydown\",jG=\"keyup\",rw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{let n=s.target||s.srcElement;n.tagName===\"INPUT\"&&n.type===\"text\"||n.tagName===\"TEXTAREA\"||(this.enableDownEvent&&s.type===\"keydown\"&&this.callback({type:VG,srcEvent:s,key:s.key,target:s.target}),this.enableUpEvent&&s.type===\"keyup\"&&this.callback({type:jG,srcEvent:s,key:s.key,target:s.target}))},this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=(this.options.events||[]).concat(cct),t.tabIndex=this.options.tabIndex||0,t.style.outline=\"none\",this.events.forEach(s=>t.addEventListener(s,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===VG&&(this.enableDownEvent=r),t===jG&&(this.enableUpEvent=r)}};var GG=\"contextmenu\",iw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{this.options.enable&&this.callback({type:GG,center:{x:s.clientX,y:s.clientY},srcEvent:s,pointerType:\"mouse\",target:s.target})},t.addEventListener(\"contextmenu\",this.handleEvent)}destroy(){this.element.removeEventListener(\"contextmenu\",this.handleEvent)}enableEventType(t,r){t===GG&&(this.options.enable=r)}};var uct={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},hct=1,fct=2,dct=3,pct=0,Act=1,mct=2,gct=1,_ct=2,yct=4;function WG(e){let t=uct[e.srcEvent.type];if(!t)return null;let{buttons:r,button:i,which:s}=e.srcEvent,n=!1,o=!1,c=!1;return t===4||t===2&&!Number.isFinite(r)?(n=s===hct,o=s===fct,c=s===dct):t===2?(n=!!(r&gct),o=!!(r&yct),c=!!(r&_ct)):t===1&&(n=i===pct,o=i===Act,c=i===mct),{leftButton:n,middleButton:o,rightButton:c}}function HG(e,t){let r=e.center;if(!r)return null;let i=t.getBoundingClientRect(),s=i.width/t.offsetWidth||1,n=i.height/t.offsetHeight||1,o={x:(r.x-i.left-t.clientLeft)/s,y:(r.y-i.top-t.clientTop)/n};return{center:r,offsetCenter:o}}var PD={srcElement:\"root\",priority:0},nw=class{constructor(t){this.handleEvent=r=>{if(this.isEmpty())return;let i=this._normalizeEvent(r),s=r.srcEvent.target;for(;s&&s!==i.rootElement;){if(this._emit(i,s),i.handled)return;s=s.parentNode}this._emit(i,\"root\")},this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this._active=!1}isEmpty(){return!this._active}add(t,r,i,s=!1,n=!1){let{handlers:o,handlersByElement:c}=this,f=PD;typeof i==\"string\"||i&&i.addEventListener?f={...PD,srcElement:i}:i&&(f={...PD,...i});let _=c.get(f.srcElement);_||(_=[],c.set(f.srcElement,_));let w={type:t,handler:r,srcElement:f.srcElement,priority:f.priority};s&&(w.once=!0),n&&(w.passive=!0),o.push(w),this._active=this._active||!w.passive;let I=_.length-1;for(;I>=0&&!(_[I].priority>=w.priority);)I--;_.splice(I+1,0,w)}remove(t,r){let{handlers:i,handlersByElement:s}=this;for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.type===t&&o.handler===r){i.splice(n,1);let c=s.get(o.srcElement);c.splice(c.indexOf(o),1),c.length===0&&s.delete(o.srcElement)}}this._active=i.some(n=>!n.passive)}_emit(t,r){let i=this.handlersByElement.get(r);if(i){let s=!1,n=()=>{t.handled=!0},o=()=>{t.handled=!0,s=!0},c=[];for(let f=0;f{t.srcEvent.preventDefault()},stopImmediatePropagation:null,stopPropagation:null,handled:!1,rootElement:r}}};var vct={events:null,recognizers:null,recognizerOptions:{},Manager:PG,touchAction:\"none\",tabIndex:0},Jy=class{constructor(t=null,r){this._onBasicInput=s=>{let{srcEvent:n}=s,o=LG[n.type];o&&this.manager.emit(o,s)},this._onOtherEvent=s=>{this.manager.emit(s.type,s)},this.options={...vct,...r},this.events=new Map,this.setElement(t);let{events:i}=this.options;i&&this.on(i)}getElement(){return this.element}setElement(t){if(this.element&&this.destroy(),this.element=t,!t)return;let{options:r}=this,i=r.Manager;this.manager=new i(t,{touchAction:r.touchAction,recognizers:r.recognizers||IG}).on(\"hammer.input\",this._onBasicInput),r.recognizers||Object.keys(MD).forEach(s=>{let n=this.manager.get(s);n&&MD[s].forEach(o=>{n.recognizeWith(o)})});for(let s in r.recognizerOptions){let n=this.manager.get(s);if(n){let o=r.recognizerOptions[s];delete o.enable,n.set(o)}}this.wheelInput=new tw(t,this._onOtherEvent,{enable:!1}),this.moveInput=new ew(t,this._onOtherEvent,{enable:!1}),this.keyInput=new rw(t,this._onOtherEvent,{enable:!1,tabIndex:r.tabIndex}),this.contextmenuInput=new iw(t,this._onOtherEvent,{enable:!1});for(let[s,n]of this.events)n.isEmpty()||(this._toggleRecognizer(n.recognizerName,!0),this.manager.on(s,n.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,r,i){this._addEventHandler(t,r,i,!1)}once(t,r,i){this._addEventHandler(t,r,i,!0)}watch(t,r,i){this._addEventHandler(t,r,i,!1,!0)}off(t,r){this._removeEventHandler(t,r)}_toggleRecognizer(t,r){let{manager:i}=this;if(!i)return;let s=i.get(t);if(s&&s.options.enable!==r){s.set({enable:r});let n=CG[t];n&&!this.options.recognizers&&n.forEach(o=>{let c=i.get(o);r?(c.requireFailure(t),s.dropRequireFailure(o)):c.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,r),this.moveInput.enableEventType(t,r),this.keyInput.enableEventType(t,r),this.contextmenuInput.enableEventType(t,r)}_addEventHandler(t,r,i,s,n){if(typeof t!=\"string\"){i=r;for(let w in t)this._addEventHandler(w,t[w],i,s,n);return}let{manager:o,events:c}=this,f=ED[t]||t,_=c.get(f);_||(_=new nw(this),c.set(f,_),_.recognizerName=kG[f]||f,o&&o.on(f,_.handleEvent)),_.add(t,r,i,s,n),_.isEmpty()||this._toggleRecognizer(_.recognizerName,!0)}_removeEventHandler(t,r){if(typeof t!=\"string\"){for(let o in t)this._removeEventHandler(o,t[o]);return}let{events:i}=this,s=ED[t]||t,n=i.get(s);if(n&&(n.remove(t,r),n.isEmpty())){let{recognizerName:o}=n,c=!1;for(let f of i.values())if(f.recognizerName===o&&!f.isEmpty()){c=!0;break}c||this._toggleRecognizer(o,!1)}}};function mg(){}var xct=({isDragging:e})=>e?\"grabbing\":\"grab\",qG={id:\"\",width:\"100%\",height:\"100%\",style:null,viewState:null,initialViewState:null,pickingRadius:0,layerFilter:null,glOptions:{},parameters:{},parent:null,gl:null,canvas:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:\"none\",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},_customRender:null,onWebGLInitialized:mg,onResize:mg,onViewStateChange:mg,onInteractionStateChange:mg,onBeforeRender:mg,onAfterRender:mg,onLoad:mg,onError:e=>or.error(e.message,e.cause)(),onHover:null,onClick:null,onDragStart:null,onDrag:null,onDragEnd:null,_onMetrics:null,getCursor:xct,getTooltip:null,debug:!1,drawPickingColors:!1},cp=class{constructor(t){G(this,\"props\",void 0),G(this,\"width\",0),G(this,\"height\",0),G(this,\"userData\",{}),G(this,\"canvas\",null),G(this,\"viewManager\",null),G(this,\"layerManager\",null),G(this,\"effectManager\",null),G(this,\"deckRenderer\",null),G(this,\"deckPicker\",null),G(this,\"eventManager\",null),G(this,\"tooltip\",null),G(this,\"metrics\",void 0),G(this,\"animationLoop\",void 0),G(this,\"stats\",void 0),G(this,\"viewState\",void 0),G(this,\"cursorState\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"_pickRequest\",void 0),G(this,\"_lastPointerDownInfo\",null),G(this,\"_metricsCounter\",void 0),G(this,\"_onPointerMove\",r=>{let{_pickRequest:i}=this;if(r.type===\"pointerleave\")i.x=-1,i.y=-1,i.radius=0;else{if(r.leftButton||r.rightButton)return;{let s=r.offsetCenter;if(!s)return;i.x=s.x,i.y=s.y,i.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:i.x,y:i.y}),i.event=r}),G(this,\"_onEvent\",r=>{let i=nR[r.type],s=r.offsetCenter;if(!i||!s||!this.layerManager)return;let n=this.layerManager.getLayers(),o=this.deckPicker.getLastPickedObject({x:s.x,y:s.y,layers:n,viewports:this.getViewports(s)},this._lastPointerDownInfo),{layer:c}=o,f=c&&(c[i.handler]||c.props[i.handler]),_=this.props[i.handler],w=!1;f&&(w=f.call(c,o,r)),!w&&_&&_(o,r)}),G(this,\"_onPointerDown\",r=>{let i=r.offsetCenter,s=this._pick(\"pickObject\",\"pickObject Time\",{x:i.x,y:i.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=s.result[0]||s.emptyInfo}),this.props={...qG,...t},t=this.props,this._needsRedraw=\"Initial render\",this._pickRequest={mode:\"hover\",x:-1,y:-1,radius:0,event:null},this.cursorState={isHovering:!1,isDragging:!1},t.viewState&&t.initialViewState&&or.warn(\"View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.\")(),vy()===\"IE\"&&or.warn(\"IE 11 is not supported\")(),this.viewState=t.initialViewState,t.gl||typeof document<\"u\"&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gf({id:\"deck.gl\"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&Gh.setOptions(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){var t,r,i,s,n,o,c,f;if((t=this.animationLoop)===null||t===void 0||t.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,(r=this.layerManager)===null||r===void 0||r.finalize(),this.layerManager=null,(i=this.viewManager)===null||i===void 0||i.finalize(),this.viewManager=null,(s=this.effectManager)===null||s===void 0||s.finalize(),this.effectManager=null,(n=this.deckRenderer)===null||n===void 0||n.finalize(),this.deckRenderer=null,(o=this.deckPicker)===null||o===void 0||o.finalize(),this.deckPicker=null,(c=this.eventManager)===null||c===void 0||c.destroy(),this.eventManager=null,(f=this.tooltip)===null||f===void 0||f.remove(),this.tooltip=null,!this.props.canvas&&!this.props.gl&&this.canvas){var _;(_=this.canvas.parentElement)===null||_===void 0||_.removeChild(this.canvas),this.canvas=null}}setProps(t){this.stats.get(\"setProps Time\").timeStart(),\"onLayerHover\"in t&&or.removed(\"onLayerHover\",\"onHover\")(),\"onLayerClick\"in t&&or.removed(\"onLayerClick\",\"onClick\")(),t.initialViewState&&!mo(this.props.initialViewState,t.initialViewState,3)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);let r=Object.create(this.props);Object.assign(r,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(r),this.layerManager&&(this.viewManager.setProps(r),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(r),this.effectManager.setProps(r),this.deckRenderer.setProps(r),this.deckPicker.setProps(r)),this.stats.get(\"setProps Time\").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(!this.layerManager)return!1;if(this.props._animate)return\"Deck._animate\";let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);let i=this.viewManager.needsRedraw(t),s=this.layerManager.needsRedraw(t),n=this.effectManager.needsRedraw(t),o=this.deckRenderer.needsRedraw(t);return r=r||i||s||n||o,r}redraw(t){if(!this.layerManager)return;let r=this.needsRedraw({clearRedrawFlags:!0});r=t||r,r&&(this.stats.get(\"Redraw Count\").incrementCount(),this.props._customRender?this.props._customRender(r):this._drawLayers(r))}get isInitialized(){return this.viewManager!==null}getViews(){return _r(this.viewManager),this.viewManager.views}getViewports(t){return _r(this.viewManager),this.viewManager.getViewports(t)}getCanvas(){return this.canvas}pickObject(t){let r=this._pick(\"pickObject\",\"pickObject Time\",t).result;return r.length?r[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick(\"pickObject\",\"pickMultipleObjects Time\",t).result}pickObjects(t){return this._pick(\"pickObjects\",\"pickObjects Time\",t)}_addResources(t,r=!1){for(let i in t)this.layerManager.resourceManager.add({resourceId:i,data:t[i],forceUpdate:r})}_removeResources(t){for(let r of t)this.layerManager.resourceManager.remove(r)}_addDefaultEffect(t){this.effectManager.addDefaultEffect(t)}_pick(t,r,i){_r(this.deckPicker);let{stats:s}=this;s.get(\"Pick Count\").incrementCount(),s.get(r).timeStart();let n=this.deckPicker[t]({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects(),...i});return s.get(r).timeEnd(),n}_createCanvas(t){let r=t.canvas;return typeof r==\"string\"&&(r=document.getElementById(r),_r(r)),r||(r=document.createElement(\"canvas\"),r.id=t.id||\"deckgl-overlay\",(t.parent||document.body).appendChild(r)),Object.assign(r.style,t.style),r}_setCanvasSize(t){if(!this.canvas)return;let{width:r,height:i}=t;if(r||r===0){let n=Number.isFinite(r)?\"\".concat(r,\"px\"):r;this.canvas.style.width=n}if(i||i===0){var s;let n=Number.isFinite(i)?\"\".concat(i,\"px\"):i;this.canvas.style.position=((s=t.style)===null||s===void 0?void 0:s.position)||\"absolute\",this.canvas.style.height=n}}_updateCanvasSize(){var t,r;let{canvas:i}=this;if(!i)return;let s=(t=i.clientWidth)!==null&&t!==void 0?t:i.width,n=(r=i.clientHeight)!==null&&r!==void 0?r:i.height;if(s!==this.width||n!==this.height){var o,c;this.width=s,this.height=n,(o=this.viewManager)===null||o===void 0||o.setProps({width:s,height:n}),(c=this.layerManager)===null||c===void 0||c.activateViewport(this.getViewports()[0]),this.props.onResize({width:s,height:n})}}_createAnimationLoop(t){let{width:r,height:i,gl:s,glOptions:n,debug:o,onError:c,onBeforeRender:f,onAfterRender:_,useDevicePixels:w}=t;return new rg({width:r,height:i,useDevicePixels:w,autoResizeDrawingBuffer:!s,autoResizeViewport:!1,gl:s,onCreateContext:I=>Ty({...n,...I,canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()}),onInitialize:I=>this._setGLContext(I.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:f,onAfterRender:_,onError:c})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new Xy({id:\"default-view\"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){let{onError:t}=this.props;this.animationLoop&&t&&t(new Error(\"WebGL context is lost\"))}_pickAndCallback(){let{_pickRequest:t}=this;if(t.event){let{result:i,emptyInfo:s}=this._pick(\"pickObject\",\"pickObject Time\",t);this.cursorState.isHovering=i.length>0;let n=s,o=!1;for(let c of i){var r;n=c,o=((r=c.layer)===null||r===void 0?void 0:r.onHover(c,t.event))||o}if(!o&&this.props.onHover&&this.props.onHover(n,t.event),this.props.getTooltip&&this.tooltip){let c=this.props.getTooltip(n);this.tooltip.setTooltip(c,n.x,n.y)}t.event=null}}_updateCursor(){let t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.cursorState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,q0(t,{enable:!0,copyState:!0})),this.tooltip=new Jb(this.canvas),Ml(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);let r=new KA;r.play(),this.animationLoop.attachTimeline(r),this.eventManager=new Jy(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(let s in nR)this.eventManager.on(s,this._onEvent);this.viewManager=new Wb({timeline:r,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});let i=this.viewManager.getViewports()[0];this.layerManager=new Gb(t,{deck:this,stats:this.stats,viewport:i,timeline:r}),this.effectManager=new Qb,this.deckRenderer=new Xb(t),this.deckPicker=new Kb(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,r){let{gl:i}=this.layerManager.context;Ml(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:\"screen\",effects:this.effectManager.getEffects(),...r}),this.props.onAfterRender({gl:i})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60===0&&(this._getMetrics(),this.stats.reset(),or.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){let r=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState={...this.viewState,[t.viewId]:r},this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.cursorState.isDragging=t.isDragging||!1,this.props.onInteractionStateChange(t)}_getFrameStats(){let{stats:t}=this;t.get(\"frameRate\").timeEnd(),t.get(\"frameRate\").timeStart();let r=this.animationLoop.stats;t.get(\"GPU Time\").addTime(r.get(\"GPU Time\").lastTiming),t.get(\"CPU Time\").addTime(r.get(\"CPU Time\").lastTiming)}_getMetrics(){let{metrics:t,stats:r}=this;t.fps=r.get(\"frameRate\").getHz(),t.setPropsTime=r.get(\"setProps Time\").time,t.updateAttributesTime=r.get(\"Update Attributes\").time,t.framesRedrawn=r.get(\"Redraw Count\").count,t.pickTime=r.get(\"pickObject Time\").time+r.get(\"pickMultipleObjects Time\").time+r.get(\"pickObjects Time\").time,t.pickCount=r.get(\"Pick Count\").count,t.gpuTime=r.get(\"GPU Time\").time,t.cpuTime=r.get(\"CPU Time\").time,t.gpuTimePerFrame=r.get(\"GPU Time\").getAverageTime(),t.cpuTimePerFrame=r.get(\"CPU Time\").getAverageTime();let i=Du.get(\"Memory Usage\");t.bufferMemory=i.get(\"Buffer Memory\").count,t.textureMemory=i.get(\"Texture Memory\").count,t.renderbufferMemory=i.get(\"Renderbuffer Memory\").count,t.gpuMemory=i.get(\"GPU Memory\").count}};G(cp,\"defaultProps\",qG);G(cp,\"VERSION\",xV);var gg=class{constructor(t,r){G(this,\"opts\",void 0),G(this,\"source\",void 0),this.opts=r,this.source=t}get value(){return this.source.value}getValue(){let t=this.source.getBuffer(),r=this.getAccessor();if(t)return[t,r];let{value:i}=this.source,{size:s}=r,n=i;if(i&&i.length!==s){n=new Float32Array(s);let o=r.elementOffset||0;for(let c=0;c=n){let o=new Array(s).fill(1/0),c=new Array(s).fill(-1/0);for(let f=0;fc[_]&&(c[_]=w)}t=[o,c]}}return this.state.bounds=t,t}setData(t){let{state:r}=this,i;ArrayBuffer.isView(t)?i={value:t}:t instanceof Fr?i={buffer:t}:i=t;let s={...this.settings,...i};if(r.bufferAccessor=s,r.bounds=null,i.constant){let n=i.value;if(n=this._normalizeValue(n,[],0),this.settings.normalized&&(n=this.normalizeConstant(n)),!(!r.constant||!this._areValuesEqual(n,this.value)))return!1;r.externalBuffer=null,r.constant=!0,this.value=n}else if(i.buffer){let n=i.buffer;r.externalBuffer=n,r.constant=!1,this.value=i.value||null;let o=i.value instanceof Float64Array;s.type=i.type||n.accessor.type,s.bytesPerElement=n.accessor.BYTES_PER_ELEMENT*(o?2:1),s.stride=lP(s)}else if(i.value){this._checkExternalBuffer(i);let n=i.value;r.externalBuffer=null,r.constant=!1,this.value=n,s.bytesPerElement=n.BYTES_PER_ELEMENT,s.stride=lP(s);let{buffer:o,byteOffset:c}=this;this.doublePrecision&&n instanceof Float64Array&&(n=iP(n,s));let f=n.byteLength+c+s.stride*2;o.byteLength(r+128)/255*2-1);case 5122:return new Float32Array(t).map(r=>(r+32768)/65535*2-1);case 5121:return new Float32Array(t).map(r=>r/255);case 5123:return new Float32Array(t).map(r=>r/65535);default:return t}}_normalizeValue(t,r,i){let{defaultValue:s,size:n}=this.settings;if(Number.isFinite(t))return r[i]=t,r;if(!t){let o=n;for(;--o>=0;)r[i+o]=s[o];return r}switch(n){case 4:r[i+3]=Number.isFinite(t[3])?t[3]:s[3];case 3:r[i+2]=Number.isFinite(t[2])?t[2]:s[2];case 2:r[i+1]=Number.isFinite(t[1])?t[1]:s[1];case 1:r[i+0]=Number.isFinite(t[0])?t[0]:s[0];break;default:let o=n;for(;--o>=0;)r[i+o]=Number.isFinite(t[o])?t[o]:s[o]}return r}_areValuesEqual(t,r){if(!t||!r)return!1;let{size:i}=this;for(let s=0;s0&&($G.length=e.length,i=$G):i=QG,(t>0||Number.isFinite(r))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,r),s.index=t-1),{iterable:i,objectInfo:s}}function cP(e){return e&&e[Symbol.asyncIterator]}function uP(e,t){let{size:r,stride:i,offset:s,startIndices:n,nested:o}=t,c=e.BYTES_PER_ELEMENT,f=i?i/c:r,_=s?s/c:0,w=Math.floor((e.length-_)/f);return(I,{index:R,target:N})=>{if(!n){let Y=R*f+_;for(let K=0;K=t[1]))return e;let r=[],i=e.length,s=0;for(let n=0;nt[1]?r.push(o):t=[Math.min(o[0],t[0]),Math.max(o[1],t[1])]}return r.splice(s,0,t),r}function ID(e){let{source:t,target:r,start:i=0,size:s,getData:n}=e,o=e.end||r.length,c=t.length,f=o-i;if(c>f){r.set(t.subarray(0,f),i);return}if(r.set(t,i),!n)return;let _=c;for(;_i(w+c,I)),_=Math.min(s.length,n.length);for(let w=1;w<_;w++){let I=s[w]*r,R=n[w]*r;ID({source:e.subarray(o,I),target:t,start:c,end:R,size:r,getData:f}),o=I,c=R}return ce},spring:{stiffness:.05,damping:.5}};function hP(e,t){if(!e)return null;Number.isFinite(e)&&(e={type:\"interpolation\",duration:e});let r=e.type||\"interpolation\";return{...Sct[r],...t,...e,type:r}}function fP(e,t){let r=t.getBuffer();return r?[r,{divisor:0,size:t.size,normalized:t.settings.normalized}]:t.value}function dP(e){switch(e){case 1:return\"float\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error('No defined attribute type for size \"'.concat(e,'\"'))}}function pP(e){e.push(e.shift())}function aw(e,t){let{doublePrecision:r,settings:i,value:s,size:n}=e,o=r&&s instanceof Float64Array?2:1;return(i.noAlloc?s.length:t*n)*o}function AP({buffer:e,numInstances:t,attribute:r,fromLength:i,fromStartIndices:s,getData:n=o=>o}){let o=r.doublePrecision&&r.value instanceof Float64Array?2:1,c=r.size*o,f=r.byteOffset,_=r.startIndices,w=s&&_,I=aw(r,t),R=r.isConstant;if(!w&&i>=I)return;let N=R?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!R){let Y=n;n=(K,J)=>r.normalizeConstant(Y(K,J))}let j=R?(Y,K)=>n(N,K):(Y,K)=>n(N.subarray(Y,Y+c),K),Q=e.getData({length:i}),et=new Float32Array(I);JG({source:Q,target:et,sourceStartIndices:s,targetStartIndices:_,size:c,getData:j}),e.byteLengtht[n])]:t[r];return hP(s,i)}setNeedsUpdate(t=this.id,r){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),r){let{startRow:i=0,endRow:s=1/0}=r;this.state.updateRanges=KG(this.state.updateRanges,[i,s])}else this.state.updateRanges=ow}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=XG}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}allocate(t){let{state:r,settings:i}=this;return i.noAlloc?!1:i.update?(super.allocate(t,r.updateRanges!==ow),!0):!1}updateBuffer({numInstances:t,data:r,props:i,context:s}){if(!this.needsUpdate())return!1;let{state:{updateRanges:n},settings:{update:o,noAlloc:c}}=this,f=!0;if(o){for(let[_,w]of n)o.call(s,this,{data:r,startRow:_,endRow:w,props:i,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLengthw?_.set(J,Q):(t._normalizeValue(J,Y.target,0),xD({target:_,source:Y.target,start:Q,count:ut}));Q+=ut*w}else t._normalizeValue(J,_,Q),Q+=w}}_validateAttributeUpdaters(){let{settings:t}=this;if(!(t.noAlloc||typeof t.update==\"function\"))throw new Error(\"Attribute \".concat(this.id,\" missing update or accessor\"))}_checkAttributeArray(){let{value:t}=this,r=Math.min(4,this.size);if(t&&t.length>=r){let i=!0;switch(r){case 4:i=i&&Number.isFinite(t[3]);case 3:i=i&&Number.isFinite(t[2]);case 2:i=i&&Number.isFinite(t[1]);case 1:i=i&&Number.isFinite(t[0]);break;default:i=!1}if(!i)throw new Error(\"Illegal attribute generated for \".concat(this.id))}}};var lw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"interpolation\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,r.settings),this.currentStartIndices=r.startIndices,this.currentLength=0,this.transform=Mct(t,r);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){if(t.duration<=0){this.transition.cancel();return}this.settings=t;let{gl:i,buffers:s,attribute:n}=this;pP(s);let o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aFrom:s[0],aTo:fP(i,n)},feedbackBuffers:{vCurrent:s[1]}})}update(){let t=this.transition.update();if(t){let{duration:r,easing:i}=this.settings,{time:s}=this.transition,n=s/r;i&&(n=i(n)),this.transform.run({uniforms:{time:n}})}return t}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0}},Tct=`\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n`;function Mct(e,t){let r=dP(t.size);return new nc(e,{vs:Tct,defines:{ATTRIBUTE_TYPE:r},varyings:[\"vCurrent\"]})}var cw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"spring\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"texture\",void 0),G(this,\"framebuffer\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.type=\"spring\",this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,{...r.settings,normalized:!1}),this.currentStartIndices=r.startIndices,this.currentLength=0,this.texture=Pct(t),this.framebuffer=Ict(t,this.texture),this.transform=Ect(t,r,this.framebuffer);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){let{gl:i,buffers:s,attribute:n}=this,o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.settings=t,this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start({...t,duration:1/0}),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aTo:fP(i,n)}})}update(){let{buffers:t,transform:r,framebuffer:i,transition:s}=this;if(!s.update())return!1;let o=this.settings;return r.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),r.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:o.stiffness,damping:o.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),pP(t),this.attributeInTransition.setData({buffer:t[1],value:this.attribute.value}),Dh(i)[0]>0||s.end(),!0}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0,this.texture.delete(),this.framebuffer.delete()}};function Ect(e,t,r){let i=dP(t.size);return new nc(e,{framebuffer:r,vs:`\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n`,fs:`\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}`,defines:{ATTRIBUTE_TYPE:i},varyings:[\"vNext\"]})}function Pct(e){return new pi(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}function Ict(e,t){return new yi(e,{id:\"spring-transition-is-transitioning-framebuffer\",width:1,height:1,attachments:{36064:t}})}var Cct={interpolation:lw,spring:cw},uw=class{constructor(t,{id:r,timeline:i}){G(this,\"id\",void 0),G(this,\"isSupported\",void 0),G(this,\"gl\",void 0),G(this,\"timeline\",void 0),G(this,\"transitions\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"numInstances\",void 0),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=nc.isSupported(t)}finalize(){for(let t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:r,numInstances:i}){this.numInstances=i||1;for(let s in t){let n=t[s],o=n.getTransitionSetting(r);o&&this._updateAttribute(s,n,o)}for(let s in this.transitions){let n=t[s];(!n||!n.getTransitionSetting(r))&&this._removeTransition(s)}}hasAttribute(t){let r=this.transitions[t];return r&&r.inProgress}getAttributes(){let t={};for(let r in this.transitions){let i=this.transitions[r];i.inProgress&&(t[r]=i.attributeInTransition)}return t}run(){if(!this.isSupported||this.numInstances===0)return!1;for(let r in this.transitions)this.transitions[r].update()&&(this.needsRedraw=!0);let t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,r,i){let s=this.transitions[t],n=!s||s.type!==i.type;if(n){if(!this.isSupported){or.warn(\"WebGL2 not supported by this browser. Transition for \".concat(t,\" is disabled.\"))();return}s&&this._removeTransition(t);let o=Cct[i.type];o?this.transitions[t]=new o({attribute:r,timeline:this.timeline,gl:this.gl}):(or.error(\"unsupported transition type '\".concat(i.type,\"'\"))(),n=!1)}(n||r.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(i,this.numInstances))}};var t9=\"attributeManager.invalidate\",Lct=\"attributeManager.updateStart\",kct=\"attributeManager.updateEnd\",Rct=\"attribute.updateStart\",Dct=\"attribute.allocate\",Oct=\"attribute.updateEnd\",Xf=class{constructor(t,{id:r=\"attribute-manager\",stats:i,timeline:s}={}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"attributes\",void 0),G(this,\"updateTriggers\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"userData\",void 0),G(this,\"stats\",void 0),G(this,\"attributeTransitionManager\",void 0),G(this,\"mergeBoundsMemoized\",Yf(dG)),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new uw(t,{id:\"\".concat(r,\"-transitions\"),timeline:s}),Object.seal(this)}finalize(){for(let t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){let r=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,r&&this.id}setNeedsRedraw(){this.needsRedraw=!0}add(t){this._add(t)}addInstanced(t){this._add(t,{instanced:1})}remove(t){for(let r of t)this.attributes[r]!==void 0&&(this.attributes[r].delete(),delete this.attributes[r])}invalidate(t,r){let i=this._invalidateTrigger(t,r);Ls(t9,this,t,i)}invalidateAll(t){for(let r in this.attributes)this.attributes[r].setNeedsUpdate(r,t);Ls(t9,this,\"all\")}update({data:t,numInstances:r,startIndices:i=null,transitions:s,props:n={},buffers:o={},context:c={}}){let f=!1;Ls(Lct,this),this.stats&&this.stats.get(\"Update Attributes\").timeStart();for(let _ in this.attributes){let w=this.attributes[_],I=w.settings.accessor;w.startIndices=i,w.numInstances=r,n[_]&&or.removed(\"props.\".concat(_),\"data.attributes.\".concat(_))(),w.setExternalBuffer(o[_])||w.setBinaryValue(typeof I==\"string\"?o[I]:void 0,t.startIndices)||typeof I==\"string\"&&!o[I]&&w.setConstantValue(n[I])||w.needsUpdate()&&(f=!0,this._updateAttribute({attribute:w,numInstances:r,data:t,props:n,context:c})),this.needsRedraw=this.needsRedraw||w.needsRedraw()}f&&Ls(kct,this,r),this.stats&&this.stats.get(\"Update Attributes\").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:r,transitions:s})}updateTransition(){let{attributeTransitionManager:t}=this,r=t.run();return this.needsRedraw=this.needsRedraw||r,r}getAttributes(){return this.attributes}getBounds(t){let r=t.map(i=>{var s;return(s=this.attributes[i])===null||s===void 0?void 0:s.getBounds()});return this.mergeBoundsMemoized(r)}getChangedAttributes(t={clearChangedFlags:!1}){let{attributes:r,attributeTransitionManager:i}=this,s={...i.getAttributes()};for(let n in r){let o=r[n];o.needsRedraw(t)&&!i.hasAttribute(n)&&(s[n]=o)}return s}getShaderAttributes(t,r={}){t||(t=this.getAttributes());let i={};for(let s in t)r[s]||Object.assign(i,t[s].getShaderAttributes());return i}_add(t,r={}){for(let i in t){let s=t[i];this.attributes[i]=this._createAttribute(i,s,r)}this._mapUpdateTriggersToAttributes()}_createAttribute(t,r,i){let s={...r,id:t,size:r.isIndexed&&1||r.size||1,divisor:i.instanced?1:r.divisor||0};return new up(this.gl,s)}_mapUpdateTriggersToAttributes(){let t={};for(let r in this.attributes)this.attributes[r].getUpdateTriggers().forEach(s=>{t[s]||(t[s]=[]),t[s].push(r)});this.updateTriggers=t}_invalidateTrigger(t,r){let{attributes:i,updateTriggers:s}=this,n=s[t];return n&&n.forEach(o=>{let c=i[o];c&&c.setNeedsUpdate(c.id,r)}),n}_updateAttribute(t){let{attribute:r,numInstances:i}=t;if(Ls(Rct,r),r.constant){r.setConstantValue(r.value);return}r.allocate(i)&&Ls(Dct,r,i),r.updateBuffer(t)&&(this.needsRedraw=!0,Ls(Oct,r,i))}};var hw=class extends Kc{get value(){return this._value}_onUpdate(){let{time:t,settings:{fromValue:r,toValue:i,duration:s,easing:n}}=this,o=n(t/s);this._value=il(r,i,o)}};var e9=1e-5;function r9(e,t,r,i,s){let n=t-e,c=(r-t)*s,f=-n*i;return c+f+n+t}function Bct(e,t,r,i,s){if(Array.isArray(r)){let n=[];for(let o=0;o0}add(t,r,i,s){let{transitions:n}=this;if(n.has(t)){let f=n.get(t),{value:_=f.settings.fromValue}=f;r=_,this.remove(t)}if(s=hP(s),!s)return;let o=Fct[s.type];if(!o){or.error(\"unsupported transition type '\".concat(s.type,\"'\"))();return}let c=new o(this.timeline);c.start({...s,fromValue:r,toValue:i}),n.set(t,c)}remove(t){let{transitions:r}=this;r.has(t)&&(r.get(t).cancel(),r.delete(t))}update(){let t={};for(let[r,i]of this.transitions)i.update(),t[r]=i.value,i.inProgress||this.remove(r);return t}clear(){for(let t of this.transitions.keys())this.remove(t)}};function s9(e){let t=e[zu];for(let r in t){let i=t[r],{validate:s}=i;if(s&&!s(e[r],i))throw new Error(\"Invalid prop \".concat(r,\": \").concat(e[r]))}}function o9(e,t){let r=pw({newProps:e,oldProps:t,propTypes:e[zu],ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=Nct(e,t),s=!1;return i||(s=Uct(e,t)),{dataChanged:i,propsChanged:r,updateTriggersChanged:s,extensionsChanged:Vct(e,t),transitionsChanged:zct(e,t)}}function zct(e,t){if(!e.transitions)return!1;let r={},i=e[zu],s=!1;for(let n in e.transitions){let o=i[n],c=o&&o.type;(c===\"number\"||c===\"color\"||c===\"array\")&&CD(e[n],t[n],o)&&(r[n]=!0,s=!0)}return s?r:!1}function pw({newProps:e,oldProps:t,ignoreProps:r={},propTypes:i={},triggerName:s=\"props\"}){if(t===e)return!1;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return\"\".concat(s,\" changed shallowly\");for(let n of Object.keys(e))if(!(n in r)){if(!(n in t))return\"\".concat(s,\".\").concat(n,\" added\");let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}for(let n of Object.keys(t))if(!(n in r)){if(!(n in e))return\"\".concat(s,\".\").concat(n,\" dropped\");if(!Object.hasOwnProperty.call(e,n)){let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}}return!1}function CD(e,t,r){let i=r&&r.equal;return i&&!i(e,t,r)||!i&&(i=e&&t&&e.equals,i&&!i.call(e,t))?\"changed deeply\":!i&&t!==e?\"changed shallowly\":null}function Nct(e,t){if(t===null)return\"oldProps is null, initial diff\";let r=!1,{dataComparator:i,_dataDiff:s}=e;return i?i(e.data,t.data)||(r=\"Data comparator detected a change\"):e.data!==t.data&&(r=\"A new data container was supplied\"),r&&s&&(r=s(e.data,t.data)||r),r}function Uct(e,t){if(t===null)return{all:!0};if(\"all\"in e.updateTriggers&&n9(e,t,\"all\"))return{all:!0};let r={},i=!1;for(let s in e.updateTriggers)s!==\"all\"&&n9(e,t,s)&&(r[s]=!0,i=!0);return i?r:!1}function Vct(e,t){if(t===null)return!0;let r=t.extensions,{extensions:i}=e;if(i===r)return!1;if(!r||!i||i.length!==r.length)return!0;for(let s=0;si.name===\"project64\"))){let i=r.modules.findIndex(s=>s.name===\"project32\");i>=0&&r.modules.splice(i,1)}if(\"inject\"in t)if(!e.inject)r.inject=t.inject;else{let i={...e.inject};for(let s in t.inject)i[s]=(i[s]||\"\")+t.inject[s];r.inject=i}return r}var qct={10241:9987,10240:9729,10242:33071,10243:33071},LD={};function l9(e,t,r,i){if(r instanceof pi)return r;r.constructor&&r.constructor.name!==\"Object\"&&(r={data:r});let s=null;r.compressed&&(s={10241:r.data.length>1?9985:9729});let n=new pi(t,{...r,parameters:{...qct,...s,...i}});return LD[n.id]=e,n}function c9(e,t){!t||!(t instanceof pi)||LD[t.id]===e&&(t.delete(),delete LD[t.id])}var Zct={boolean:{validate(e,t){return!0},equal(e,t,r){return!!e==!!t}},number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},color:{validate(e,t){return t.optional&&!e||kD(e)&&(e.length===3||e.length===4)},equal(e,t,r){return mo(e,t,1)}},accessor:{validate(e,t){let r=mP(e);return r===\"function\"||r===mP(t.value)},equal(e,t,r){return typeof t==\"function\"?!0:mo(e,t,1)}},array:{validate(e,t){return t.optional&&!e||kD(e)},equal(e,t,r){let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},object:{equal(e,t,r){if(r.ignore)return!0;let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},function:{validate(e,t){return t.optional&&!e||typeof e==\"function\"},equal(e,t,r){return!r.compare&&r.ignore!==!1||e===t}},data:{transform:(e,t,r)=>{let{dataTransform:i}=r.props;return i&&e?i(e):e}},image:{transform:(e,t,r)=>{let i=r.context;return!i||!i.gl?null:l9(r.id,i.gl,e,{...t.parameters,...r.props.textureParameters})},release:(e,t,r)=>{c9(r.id,e)}}};function u9(e){let t={},r={},i={};for(let[s,n]of Object.entries(e)){let o=n?.deprecatedFor;if(o)i[s]=Array.isArray(o)?o:[o];else{let c=Yct(s,n);t[s]=c,r[s]=c.value}}return{propTypes:t,defaultProps:r,deprecatedProps:i}}function Yct(e,t){switch(mP(t)){case\"object\":return Aw(e,t);case\"array\":return Aw(e,{type:\"array\",value:t,compare:!1});case\"boolean\":return Aw(e,{type:\"boolean\",value:t});case\"number\":return Aw(e,{type:\"number\",value:t});case\"function\":return Aw(e,{type:\"function\",value:t,compare:!0});default:return{name:e,type:\"unknown\",value:t}}}function Aw(e,t){return\"type\"in t?{name:e,...Zct[t.type],...t}:\"value\"in t?{name:e,type:mP(t.value),...t}:{name:e,type:\"object\",value:t}}function kD(e){return Array.isArray(e)||ArrayBuffer.isView(e)}function mP(e){return kD(e)?\"array\":e===null?\"null\":typeof e}function h9(e,t){let r;for(let n=t.length-1;n>=0;n--){let o=t[n];\"extensions\"in o&&(r=o.extensions)}let i=RD(e.constructor,r),s=Object.create(i);s[Qy]=e,s[$f]={},s[Wh]={};for(let n=0;n{},this.oldProps=null,this.oldAsyncProps=null}finalize(){for(let t in this.asyncProps){let r=this.asyncProps[t];r&&r.type&&r.type.release&&r.type.release(r.resolvedValue,r.type,this.component)}this.asyncProps={},this.component=null,this.resetOldProps()}getOldProps(){return this.oldAsyncProps||this.oldProps||iut}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component?this.component.props:null}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){let r=this.asyncProps[t];return r&&r.resolvedValue}isAsyncPropLoading(t){if(t){let r=this.asyncProps[t];return!!(r&&r.pendingLoadCount>0&&r.pendingLoadCount!==r.resolvedLoadCount)}for(let r in this.asyncProps)if(this.isAsyncPropLoading(r))return!0;return!1}reloadAsyncProp(t,r){this._watchPromise(t,Promise.resolve(r))}setAsyncProps(t){this.component=t[Qy]||this.component;let r=t[Wh]||{},i=t[$f]||t,s=t[sp]||{};for(let n in r){let o=r[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o),r[n]=this.getAsyncProp(n)}for(let n in i){let o=i[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o)}}_fetch(t,r){return null}_onResolve(t,r){}_onError(t,r){}_updateAsyncProp(t,r){if(this._didAsyncInputValueChange(t,r)){if(typeof r==\"string\"&&(r=this._fetch(t,r)),r instanceof Promise){this._watchPromise(t,r);return}if(cP(r)){this._resolveAsyncIterable(t,r);return}this._setPropValue(t,r)}}_freezeAsyncOldProps(){if(!this.oldAsyncProps&&this.oldProps){this.oldAsyncProps=Object.create(this.oldProps);for(let t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}_didAsyncInputValueChange(t,r){let i=this.asyncProps[t];return r===i.resolvedValue||r===i.lastValue?!1:(i.lastValue=r,!0)}_setPropValue(t,r){this._freezeAsyncOldProps();let i=this.asyncProps[t];i&&(r=this._postProcessValue(i,r),i.resolvedValue=r,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount)}_setAsyncPropValue(t,r,i){let s=this.asyncProps[t];s&&i>=s.resolvedLoadCount&&r!==void 0&&(this._freezeAsyncOldProps(),s.resolvedValue=r,s.resolvedLoadCount=i,this.onAsyncPropUpdated(t,r))}_watchPromise(t,r){let i=this.asyncProps[t];if(i){i.pendingLoadCount++;let s=i.pendingLoadCount;r.then(n=>{this.component&&(n=this._postProcessValue(i,n),this._setAsyncPropValue(t,n,s),this._onResolve(t,n))}).catch(n=>{this._onError(t,n)})}}async _resolveAsyncIterable(t,r){if(t!==\"data\"){this._setPropValue(t,r);return}let i=this.asyncProps[t];if(!i)return;i.pendingLoadCount++;let s=i.pendingLoadCount,n=[],o=0;for await(let c of r){if(!this.component)return;let{dataTransform:f}=this.component.props;f?n=f(c,n):n=n.concat(c),Object.defineProperty(n,\"__diff\",{enumerable:!1,value:[{startRow:o,endRow:n.length}]}),o=n.length,this._setAsyncPropValue(t,n,s)}this._onResolve(t,n)}_postProcessValue(t,r){let i=t.type;return i&&this.component&&(i.release&&i.release(t.resolvedValue,i,this.component),i.transform)?i.transform(r,i,this.component):r}_createAsyncPropData(t,r){if(!this.asyncProps[t]){let s=this.component&&this.component.props[zu];this.asyncProps[t]={type:s&&s[t],lastValue:null,resolvedValue:r,pendingLoadCount:0,resolvedLoadCount:0}}}};var gw=class extends mw{constructor({attributeManager:t,layer:r}){super(r),G(this,\"attributeManager\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"needsUpdate\",void 0),G(this,\"subLayers\",void 0),G(this,\"usesPickingColorCache\",void 0),G(this,\"hasPickingBuffer\",void 0),G(this,\"changeFlags\",void 0),G(this,\"viewport\",void 0),G(this,\"uniformTransitions\",void 0),G(this,\"propsInTransition\",void 0),this.attributeManager=t,this.needsRedraw=!0,this.needsUpdate=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}_fetch(t,r){let i=this.layer,s=i?.props.fetch;return s?s(r,{propName:t,layer:i}):super._fetch(t,r)}_onResolve(t,r){let i=this.layer;if(i){let s=i.props.onDataLoad;t===\"data\"&&s&&s(r,{propName:t,layer:i})}}_onError(t,r){let i=this.layer;i&&i.raiseError(r,\"loading \".concat(t,\" of \").concat(this.layer))}};var nut=\"layer.changeFlag\",sut=\"layer.initialize\",out=\"layer.update\",aut=\"layer.finalize\",lut=\"layer.matched\",d9=2**24-1,cut=Object.freeze([]),uut=Yf(({oldViewport:e,viewport:t})=>e.equals(t)),Kf=new Uint8ClampedArray(0),hut={data:{type:\"data\",value:cut,async:!0},dataComparator:{type:\"function\",value:null,optional:!0},_dataDiff:{type:\"function\",value:e=>e&&e.__diff,optional:!0},dataTransform:{type:\"function\",value:null,optional:!0},onDataLoad:{type:\"function\",value:null,optional:!0},onError:{type:\"function\",value:null,optional:!0},fetch:{type:\"function\",value:(e,{propName:t,layer:r,loaders:i,loadOptions:s,signal:n})=>{let{resourceManager:o}=r.context;if(s=s||r.getLoadOptions(),i=i||r.props.loaders,n){var c;s={...s,fetch:{...(c=s)===null||c===void 0?void 0:c.fetch,signal:n}}}let f=o.contains(e);return!f&&!s&&(o.add({resourceId:e,data:jA(e,i),persistent:!1}),f=!0),f?o.subscribe({resourceId:e,onChange:_=>{var w;return(w=r.internalState)===null||w===void 0?void 0:w.reloadAsyncProp(t,_)},consumerId:r.id,requestId:t}):jA(e,i,s)}},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:\"number\",min:0,max:1,value:1},operation:\"draw\",onHover:{type:\"function\",value:null,optional:!0},onClick:{type:\"function\",value:null,optional:!0},onDragStart:{type:\"function\",value:null,optional:!0},onDrag:{type:\"function\",value:null,optional:!0},onDragEnd:{type:\"function\",value:null,optional:!0},coordinateSystem:Yr.DEFAULT,coordinateOrigin:{type:\"array\",value:[0,0,0],compare:!0},modelMatrix:{type:\"array\",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:\"XYZ\",colorFormat:\"RGBA\",parameters:{type:\"object\",value:{},optional:!0,compare:2},loadOptions:{type:\"object\",value:null,optional:!0,ignore:!0},transitions:null,extensions:[],loaders:{type:\"array\",value:[],optional:!0,ignore:!0},getPolygonOffset:{type:\"function\",value:({layerIndex:e})=>[0,-e*100]},highlightedObjectIndex:null,autoHighlight:!1,highlightColor:{type:\"accessor\",value:[0,0,128,128]}},dn=class extends _g{constructor(...t){super(...t),G(this,\"internalState\",null),G(this,\"lifecycle\",tm.NO_STATE),G(this,\"context\",void 0),G(this,\"state\",void 0),G(this,\"parent\",null)}static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"layerName\")?this.layerName:\"\"}get root(){let t=this;for(;t.parent;)t=t.parent;return t}toString(){let t=this.constructor.layerName||this.constructor.name;return\"\".concat(t,\"({id: '\").concat(this.props.id,\"'})\")}project(t){_r(this.internalState);let r=this.internalState.viewport||this.context.viewport,i=vD(t,{viewport:r,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,n,o]=Hy(i,r.pixelProjectionMatrix);return t.length===2?[s,n]:[s,n,o]}unproject(t){return _r(this.internalState),(this.internalState.viewport||this.context.viewport).unproject(t)}projectPosition(t,r){_r(this.internalState);let i=this.internalState.viewport||this.context.viewport;return mG(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem,...r})}get isComposite(){return!1}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(){this.internalState&&(this.internalState.needsRedraw=!0)}setNeedsUpdate(){this.internalState&&(this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0)}get isLoaded(){return this.internalState?!this.internalState.isAsyncPropLoading():!1}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||this.state.model&&[this.state.model])||[]}setModuleParameters(t){for(let r of this.getModels())r.updateModuleSettings(t)}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}use64bitPositions(){let{coordinateSystem:t}=this.props;return t===Yr.DEFAULT||t===Yr.LNGLAT||t===Yr.CARTESIAN}onHover(t,r){return this.props.onHover&&this.props.onHover(t,r)||!1}onClick(t,r){return this.props.onClick&&this.props.onClick(t,r)||!1}nullPickingColor(){return[0,0,0]}encodePickingColor(t,r=[]){return r[0]=t+1&255,r[1]=t+1>>8&255,r[2]=t+1>>8>>8&255,r}decodePickingColor(t){_r(t instanceof Uint8Array);let[r,i,s]=t;return r+i*256+s*65536-1}getNumInstances(){return Number.isFinite(this.props.numInstances)?this.props.numInstances:this.state&&this.state.numInstances!==void 0?this.state.numInstances:a9(this.props.data)}getStartIndices(){return this.props.startIndices?this.props.startIndices:this.state&&this.state.startIndices?this.state.startIndices:null}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"positions\",\"instancePositions\"])}getShaders(t){for(let r of this.props.extensions)t=tv(t,r.getShaders.call(this,r));return t}shouldUpdateState(t){return t.changeFlags.propsOrDataChanged}updateState(t){let r=this.getAttributeManager(),{dataChanged:i}=t.changeFlags;if(i&&r)if(Array.isArray(i))for(let s of i)r.invalidateAll(s);else r.invalidateAll();if(r){let{props:s}=t,n=this.internalState.hasPickingBuffer,o=Number.isInteger(s.highlightedObjectIndex)||s.pickable||s.extensions.some(c=>c.getNeedsPickingBuffer.call(this,c));if(n!==o){this.internalState.hasPickingBuffer=o;let{pickingColors:c,instancePickingColors:f}=r.attributes,_=c||f;_&&(o&&_.constant&&(_.constant=!1,r.invalidate(_.id)),!_.value&&!o&&(_.constant=!0,_.value=[0,0,0]))}}}finalizeState(t){for(let i of this.getModels())i.delete();let r=this.getAttributeManager();r&&r.finalize(),this.context&&this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState&&(this.internalState.uniformTransitions.clear(),this.internalState.finalize())}draw(t){for(let r of this.getModels())r.draw(t)}getPickingInfo({info:t,mode:r,sourceLayer:i}){let{index:s}=t;return s>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[s]),t}raiseError(t,r){var i,s;if(r&&(t=new Error(\"\".concat(r,\": \").concat(t.message),{cause:t})),!((i=(s=this.props).onError)!==null&&i!==void 0&&i.call(s,t))){var n,o;(n=this.context)===null||n===void 0||(o=n.onError)===null||o===void 0||o.call(n,t,this)}}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState?this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams()):!1}hasUniformTransition(){var t;return((t=this.internalState)===null||t===void 0?void 0:t.uniformTransitions.active)||!1}activateViewport(t){if(!this.internalState)return;let r=this.internalState.viewport;this.internalState.viewport=t,(!r||!uut({oldViewport:r,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t=\"all\"){let r=this.getAttributeManager();r&&(t===\"all\"?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(let r of this.getModels())this._setModelAttributes(r,t)}_updateAttributes(){let t=this.getAttributeManager();if(!t)return;let r=this.props,i=this.getNumInstances(),s=this.getStartIndices();t.update({data:r.data,numInstances:i,startIndices:s,props:r,transitions:r.transitions,buffers:r.data.attributes,context:this});let n=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(n)}_updateAttributeTransition(){let t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){let{uniformTransitions:t}=this.internalState;if(t.active){let r=t.update(),i=Object.create(this.props);for(let s in r)Object.defineProperty(i,s,{value:r[s]});return i}return this.props}calculateInstancePickingColors(t,{numInstances:r}){if(t.constant)return;let i=Math.floor(Kf.length/3);if(this.internalState.usesPickingColorCache=!0,id9&&or.warn(\"Layer has too many data objects. Picking might not be able to distinguish all objects.\")(),Kf=Gh.allocate(Kf,r,{size:3,copy:!0,maxCount:Math.max(r,d9)});let s=Math.floor(Kf.length/3),n=[];for(let o=i;o(or.deprecated(\"layer.state.attributeManager\",\"layer.getAttributeManager()\")(),t)}),this.internalState.uniformTransitions=new dw(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props),this.initializeState(this.context);for(let r of this.props.extensions)r.initializeState.call(this,this.context,r);this.setChangeFlags({dataChanged:\"init\",propsChanged:\"init\",viewportChanged:!0,extensionsChanged:!0}),this._update()}_transferState(t){Ls(lut,this,this===t);let{state:r,internalState:i}=t;this!==t&&(this.internalState=i,this.state=r,this.internalState.setAsyncProps(this.props),this._diffProps(this.props,this.internalState.getOldProps()))}_update(){let t=this.needsUpdate();if(Ls(out,this,t),!t)return;let r=this.props,i=this.context,s=this.internalState,n=i.viewport,o=this._updateUniformTransition();s.propsInTransition=o,i.viewport=s.viewport||n,this.props=o;try{let c=this._getUpdateParams(),f=this.getModels();if(i.gl)this.updateState(c);else try{this.updateState(c)}catch{}for(let w of this.props.extensions)w.updateState.call(this,c,w);let _=this.getModels()[0]!==f[0];this._postUpdate(c,_)}finally{i.viewport=n,this.props=r,this._clearChangeFlags(),s.needsUpdate=!1,s.resetOldProps()}}_finalize(){Ls(aut,this),this.finalizeState(this.context);for(let t of this.props.extensions)t.finalizeState.call(this,this.context,t)}_drawLayer({moduleParameters:t=null,uniforms:r={},parameters:i={}}){this._updateAttributeTransition();let s=this.props,n=this.context;this.props=this.internalState.propsInTransition||s;let o=this.props.opacity;r.opacity=Math.pow(o,1/2.2);try{t&&this.setModuleParameters(t);let{getPolygonOffset:c}=this.props,f=c&&c(r)||[0,0];Ml(n.gl,{polygonOffset:f}),Mn(n.gl,i,()=>{let _={moduleParameters:t,uniforms:r,parameters:i,context:n};for(let w of this.props.extensions)w.draw.call(this,_,w);this.draw(_)})}finally{this.props=s}}getChangeFlags(){var t;return(t=this.internalState)===null||t===void 0?void 0:t.changeFlags}setChangeFlags(t){if(!this.internalState)return;let{changeFlags:r}=this.internalState;for(let s in t)if(t[s]){let n=!1;switch(s){case\"dataChanged\":let o=t[s],c=r[s];o&&Array.isArray(c)&&(r.dataChanged=Array.isArray(o)?c.concat(o):o,n=!0);default:r[s]||(r[s]=t[s],n=!0)}n&&Ls(nut,this,s,t)}let i=!!(r.dataChanged||r.updateTriggersChanged||r.propsChanged||r.extensionsChanged);r.propsOrDataChanged=i,r.somethingChanged=i||r.viewportChanged||r.stateChanged}_clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}_diffProps(t,r){let i=o9(t,r);if(i.updateTriggersChanged)for(let n in i.updateTriggersChanged)i.updateTriggersChanged[n]&&this.invalidateAttribute(n);if(i.transitionsChanged)for(let n in i.transitionsChanged){var s;this.internalState.uniformTransitions.add(n,r[n],t[n],(s=t.transitions)===null||s===void 0?void 0:s[n])}return this.setChangeFlags(i)}validateProps(){s9(this.props)}updateAutoHighlight(t){this.props.autoHighlight&&!Number.isInteger(this.props.highlightedObjectIndex)&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){let r={pickingSelectedColor:t.picked?t.color:null},{highlightColor:i}=this.props;t.picked&&typeof i==\"function\"&&(r.pickingHighlightColor=i(t)),this.setModuleParameters(r),this.setNeedsRedraw()}_getAttributeManager(){let t=this.context;return new Xf(t.gl,{id:this.props.id,stats:t.stats,timeline:t.timeline})}_postUpdate(t,r){let{props:i,oldProps:s}=t;this.setNeedsRedraw(),this._updateAttributes();let{model:n}=this.state;n?.setInstanceCount(this.getNumInstances());let{autoHighlight:o,highlightedObjectIndex:c,highlightColor:f}=i;if(r||s.autoHighlight!==o||s.highlightedObjectIndex!==c||s.highlightColor!==f){let _={};o||(_.pickingSelectedColor=null),Array.isArray(f)&&(_.pickingHighlightColor=f),(r||c!==s.highlightedObjectIndex)&&(_.pickingSelectedColor=Number.isFinite(c)&&c>=0?this.encodePickingColor(c):null),this.setModuleParameters(_)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let r=!1;r=r||this.internalState.needsRedraw&&this.id;let i=this.getAttributeManager(),s=i?i.getNeedsRedraw(t):!1;if(r=r||s,r)for(let n of this.props.extensions)n.onNeedsRedraw.call(this,n);return this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags,r}_onAsyncPropUpdated(){this._diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}};G(dn,\"defaultProps\",hut);G(dn,\"layerName\",\"Layer\");var fut=\"compositeLayer.renderLayers\",Ni=class extends dn{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(t){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){let{object:r}=t;return r&&r.__source&&r.__source.parent&&r.__source.parent.id===this.id&&(t.object=r.__source.object,t.index=r.__source.index),t}filterSubLayer(t){return!0}shouldRenderSubLayer(t,r){return r&&r.length}getSubLayerClass(t,r){let{_subLayerProps:i}=this.props;return i&&i[t]&&i[t].type||r}getSubLayerRow(t,r,i){return t.__source={parent:this,object:r,index:i},t}getSubLayerAccessor(t){if(typeof t==\"function\"){let r={index:-1,data:this.props.data,target:[]};return(i,s)=>i&&i.__source?(r.index=i.__source.index,t(i.__source.object,r)):t(i,s)}return t}getSubLayerProps(t={}){var r;let{opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K,_subLayerProps:J}=this.props,ut={id:\"\",updateTriggers:{},opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K},Et=J&&t.id&&J[t.id],kt=Et&&Et.updateTriggers,Xt=t.id||\"sublayer\";if(Et){let qt=this.props[zu],le=t.type?t.type._propTypes:{};for(let ue in Et){let De=le[ue]||qt[ue];De&&De.type===\"accessor\"&&(Et[ue]=this.getSubLayerAccessor(Et[ue]))}}Object.assign(ut,t,Et),ut.id=\"\".concat(this.props.id,\"-\").concat(Xt),ut.updateTriggers={all:(r=this.props.updateTriggers)===null||r===void 0?void 0:r.all,...t.updateTriggers,...kt};for(let qt of et){let le=qt.getSubLayerProps.call(this,qt);le&&Object.assign(ut,le,{updateTriggers:Object.assign(ut.updateTriggers,le.updateTriggers)})}return ut}_updateAutoHighlight(t){for(let r of this.getSubLayers())r.updateAutoHighlight(t)}_getAttributeManager(){return null}_postUpdate(t,r){let i=this.internalState.subLayers,s=!i||this.needsUpdate();if(s){let n=this.renderLayers();i=op(n,Boolean),this.internalState.subLayers=i}Ls(fut,this,s,i);for(let n of i)n.parent=this}};G(Ni,\"layerName\",\"CompositeLayer\");var gP=Math.PI/180,p9=180/Math.PI,_P=6370972,ev=256;function dut(){let e=ev/_P,t=Math.PI/180*ev;return{unitsPerMeter:[e,e,e],unitsPerMeter2:[0,0,0],metersPerUnit:[1/e,1/e,1/e],unitsPerDegree:[t,t,e],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/t,1/t,1/e]}}var rv=class extends ac{constructor(t={}){let{latitude:r=0,longitude:i=0,zoom:s=0,nearZMultiplier:n=.1,farZMultiplier:o=2,resolution:c=10}=t,{height:f,altitude:_=1.5}=t;f=f||1,_=Math.max(.75,_);let w=new En().lookAt({eye:[0,-_,0],up:[0,0,1]}),I=Math.pow(2,s);w.rotateX(r*gP),w.rotateZ(-i*gP),w.scale(I/f);let R=Math.atan(.5/_),N=ev*2*I/f;super({...t,height:f,viewMatrix:w,longitude:i,latitude:r,zoom:s,distanceScales:dut(),fovyRadians:R*2,focalDistance:_,near:n,far:Math.min(2,1/N+1)*_*o}),G(this,\"longitude\",void 0),G(this,\"latitude\",void 0),G(this,\"resolution\",void 0),this.latitude=r,this.longitude=i,this.resolution=c}get projectionMode(){return Ja.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){let r={targetZ:t.z||0},i=this.unproject([0,this.height/2],r),s=this.unproject([this.width/2,0],r),n=this.unproject([this.width,this.height/2],r),o=this.unproject([this.width/2,this.height],r);return n[0]this.longitude&&(i[0]-=360),[Math.min(i[0],n[0],s[0],o[0]),Math.min(i[1],n[1],s[1],o[1]),Math.max(i[0],n[0],s[0],o[0]),Math.max(i[1],n[1],s[1],o[1])]}unproject(t,{topLeft:r=!0,targetZ:i}={}){let[s,n,o]=t,c=r?n:this.height-n,{pixelUnprojectionMatrix:f}=this,_;if(Number.isFinite(o))_=OD(f,[s,c,o,1]);else{let N=OD(f,[s,c,-1,1]),j=OD(f,[s,c,1,1]),Q=((i||0)/_P+1)*ev,et=NE(FE([],N,j)),Y=NE(N),K=NE(j),ut=4*((4*Y*K-(et-Y-K)**2)/16)/et,Et=Math.sqrt(Y-ut),kt=Math.sqrt(Math.max(0,Q*Q-ut)),Xt=(Et-kt)/Math.sqrt(et);_=Hj([],N,j,Xt)}let[w,I,R]=this.unprojectPosition(_);return Number.isFinite(o)?[w,I,R]:Number.isFinite(i)?[w,I,i]:[w,I]}projectPosition(t){let[r,i,s=0]=t,n=r*gP,o=i*gP,c=Math.cos(o),f=(s/_P+1)*ev;return[Math.sin(n)*c*f,-Math.cos(n)*c*f,Math.sin(o)*f]}unprojectPosition(t){let[r,i,s]=t,n=zE(t),o=Math.asin(s/n),f=Math.atan2(r,-i)*p9,_=o*p9,w=(n/ev-1)*_P;return[f,_,w]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,r){let i=this.unproject(r);return{longitude:t[0]-i[0]+this.longitude,latitude:t[1]-i[1]+this.latitude}}};function OD(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}var put=new En().lookAt({eye:[0,0,1]});function Aut({width:e,height:t,near:r,far:i,padding:s}){let n=-e/2,o=e/2,c=-t/2,f=t/2;if(s){let{left:_=0,right:w=0,top:I=0,bottom:R=0}=s,N=Il((_+e-w)/2,0,e)-e/2,j=Il((I+t-R)/2,0,t)-t/2;n-=N,o-=N,c+=j,f+=j}return new En().ortho({left:n,right:o,bottom:c,top:f,near:r,far:i})}var iv=class extends ac{constructor(t){let{width:r,height:i,near:s=.1,far:n=1e3,zoom:o=0,target:c=[0,0,0],padding:f=null,flipY:_=!0}=t,w=Array.isArray(o)?o[0]:o,I=Array.isArray(o)?o[1]:o,R=Math.min(w,I),N=Math.pow(2,R),j;if(w!==I){let Q=Math.pow(2,w),et=Math.pow(2,I);j={unitsPerMeter:[Q/N,et/N,1],metersPerUnit:[N/Q,N/et,1]}}super({...t,longitude:void 0,position:c,viewMatrix:put.clone().scale([N,N*(_?-1:1),N]),projectionMatrix:Aut({width:r||1,height:i||1,padding:f,near:s,far:n}),zoom:R,distanceScales:j})}projectFlat([t,r]){let{unitsPerMeter:i}=this.distanceScales;return[t*i[0],r*i[1]]}unprojectFlat([t,r]){let{metersPerUnit:i}=this.distanceScales;return[t*i[0],r*i[1]]}panByPosition(t,r){let i=Qf(r,this.pixelUnprojectionMatrix),s=this.projectFlat(t),n=$A([],s,LE([],i)),o=$A([],this.center,n);return{target:this.unprojectFlat(o)}}};var cc=class{static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"extensionName\")?this.extensionName:\"\"}constructor(t){G(this,\"opts\",void 0),t&&(this.opts=t)}equals(t){return this===t?!0:this.constructor===t.constructor&&mo(this.opts,t.opts,1)}getShaders(t){return null}getSubLayerProps(t){let{defaultProps:r}=t.constructor,i={updateTriggers:{}};for(let s in r)if(s in this.props){let n=r[s],o=this.props[s];i[s]=o,n&&n.type===\"accessor\"&&(i.updateTriggers[s]=this.props.updateTriggers[s],typeof o==\"function\"&&(i[s]=this.getSubLayerAccessor(o)))}return i}initializeState(t,r){}updateState(t,r){}onNeedsRedraw(t){}getNeedsPickingBuffer(t){return!1}draw(t,r){}finalizeState(t,r){}};G(cc,\"defaultProps\",{});G(cc,\"extensionName\",\"LayerExtension\");var BD={bearing:0,pitch:0,position:[0,0,0]},mut={speed:1.2,curve:1.414},nv=class extends hg{constructor(t={}){super({compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],extract:[\"width\",\"height\",\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"width\",\"height\",\"latitude\",\"longitude\",\"zoom\"]}),G(this,\"opts\",void 0),this.opts={...mut,...t}}interpolateProps(t,r,i){let s=rP(t,r,i,this.opts);for(let n in BD)s[n]=il(t[n]||BD[n],r[n]||BD[n],i);return s}getDuration(t,r){let{transitionDuration:i}=r;return i===\"auto\"&&(i=gD(t,r,this.opts)),i}};var rm=class{constructor(t){G(this,\"opts\",void 0),G(this,\"typedArrayManager\",void 0),G(this,\"indexStarts\",[0]),G(this,\"vertexStarts\",[0]),G(this,\"vertexCount\",0),G(this,\"instanceCount\",0),G(this,\"attributes\",void 0),G(this,\"_attributeDefs\",void 0),G(this,\"data\",void 0),G(this,\"getGeometry\",void 0),G(this,\"geometryBuffer\",void 0),G(this,\"buffers\",void 0),G(this,\"positionSize\",void 0),G(this,\"normalize\",void 0);let{attributes:r={}}=t;this.typedArrayManager=Gh,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t)}updateGeometry(t){Object.assign(this.opts,t);let{data:r,buffers:i={},getGeometry:s,geometryBuffer:n,positionFormat:o,dataChanged:c,normalize:f=!0}=this.opts;if(this.data=r,this.getGeometry=s,this.positionSize=n&&n.size||(o===\"XY\"?2:3),this.buffers=i,this.normalize=f,n&&(_r(r.startIndices),this.getGeometry=this.getGeometryFromBuffer(n),f||(i.positions=n)),this.geometryBuffer=i.positions,Array.isArray(c))for(let _ of c)this._rebuildGeometry(_);else this._rebuildGeometry()}updatePartialGeometry({startRow:t,endRow:r}){this._rebuildGeometry({startRow:t,endRow:r})}getGeometryFromBuffer(t){let r=t.value||t;return ArrayBuffer.isView(r)?uP(r,{size:this.positionSize,offset:t.offset,stride:t.stride,startIndices:this.data.startIndices}):null}_allocate(t,r){let{attributes:i,buffers:s,_attributeDefs:n,typedArrayManager:o}=this;for(let c in n)if(c in s)o.release(i[c]),i[c]=null;else{let f=n[c];f.copy=r,i[c]=o.allocate(i[c],t,f)}}_forEachGeometry(t,r,i){let{data:s,getGeometry:n}=this,{iterable:o,objectInfo:c}=Jc(s,r,i);for(let f of o){c.index++;let _=n?n(f,c):null;t(_,c.index)}}_rebuildGeometry(t){if(!this.data)return;let{indexStarts:r,vertexStarts:i,instanceCount:s}=this,{data:n,geometryBuffer:o}=this,{startRow:c=0,endRow:f=1/0}=t||{},_={};if(t||(r=[0],i=[0]),this.normalize||!o)this._forEachGeometry((I,R)=>{let N=I&&this.normalizeGeometry(I);_[R]=N,i[R+1]=i[R]+(N?this.getGeometrySize(N):0)},c,f),s=i[i.length-1];else if(i=n.startIndices,s=i[n.length]||0,ArrayBuffer.isView(o))s=s||o.length/this.positionSize;else if(o instanceof Fr){let I=o.accessor.stride||this.positionSize*4;s=s||o.byteLength/I}else if(o.buffer){let I=o.stride||this.positionSize*4;s=s||o.buffer.byteLength/I}else if(o.value){let I=o.value,R=o.stride/I.BYTES_PER_ELEMENT||this.positionSize;s=s||I.length/R}this._allocate(s,!!t),this.indexStarts=r,this.vertexStarts=i,this.instanceCount=s;let w={};this._forEachGeometry((I,R)=>{let N=_[R]||I;w.vertexStart=i[R],w.indexStart=r[R];let j=RvP(r,t));if(ov(e)){if(yut(e))return t.style=_ut,(0,FD.cloneElement)(e,t);if(vut(e))return(0,FD.cloneElement)(e,t)}return e}function ov(e){return e&&typeof e==\"object\"&&\"type\"in e||!1}function yut(e){var t;return(t=e.props)===null||t===void 0?void 0:t.mapStyle}function vut(e){let t=e.type;return t&&t.deckGLViewProps}function zD(e){if(typeof e==\"function\")return(0,m9.createElement)(Xc,{},e);if(Array.isArray(e))return e.map(zD);if(ov(e)){if(e.type===xP.Fragment)return zD(e.props.children);if(sv(e.type,Xc))return e}return e}function ND({children:e,layers:t=[],views:r=null}){let i=[],s=[],n={};return xP.Children.forEach(zD(e),o=>{if(ov(o)){let c=o.type;if(sv(c,dn)){let f=xut(c,o.props);s.push(f)}else i.push(o);if(sv(c,Xc)&&c!==Xc&&o.props.id){let f=new c(o.props);n[f.id]=f}}else o&&i.push(o)}),Object.keys(n).length>0&&(Array.isArray(r)?r.forEach(o=>{n[o.id]=o}):r&&(n[r.id]=r),r=Object.values(n)),t=s.length>0?[...s,...t]:t,{layers:t,children:i,views:r}}function xut(e,t){let r={},i=e.defaultProps||{};for(let s in t)i[s]!==t[s]&&(r[s]=t[s]);return new e(r)}var UD=Ri(Yi());function VD({children:e,deck:t,ContextProvider:r}){let{viewManager:i}=t||{};if(!i||!i.views.length)return[];let s={},n=i.views[0].id;for(let o of e){let c=n,f=o;ov(o)&&sv(o.type,Xc)&&(c=o.props.id||n,f=o.props.children);let _=i.getViewport(c),w=i.getViewState(c);if(_){w.padding=_.padding;let{x:I,y:R,width:N,height:j}=_;f=vP(f,{x:I,y:R,width:N,height:j,viewport:_,viewState:w}),s[c]||(s[c]={viewport:_,children:[]}),s[c].children.push(f)}}return Object.keys(s).map(o=>{let{viewport:c,children:f}=s[o],{x:_,y:w,width:I,height:R}=c,N={position:\"absolute\",left:_,top:w,width:I,height:R},j=\"view-\".concat(o),Q=(0,UD.createElement)(\"div\",{key:j,id:j,style:N},...f);if(r){let et={viewport:c,container:t.canvas.offsetParent,eventManager:t.eventManager,onViewStateChange:Y=>{Y.viewId=o,t._onViewStateChange(Y)}};return(0,UD.createElement)(r,{key:j,value:et},Q)}return Q})}var but={mixBlendMode:null};function jD({width:e,height:t,style:r}){let i={position:\"absolute\",zIndex:0,left:0,top:0,width:e,height:t},s={left:0,top:0};if(r)for(let n in r)n in but?s[n]=r[n]:i[n]=r[n];return{containerStyle:i,canvasStyle:s}}function wut(e){return{get deck(){return e.deck},pickObject:t=>e.deck.pickObject(t),pickMultipleObjects:t=>e.deck.pickMultipleObjects(t),pickObjects:t=>e.deck.pickObjects(t)}}function g9(e){e.redrawReason&&(e.deck._drawLayers(e.redrawReason),e.redrawReason=null)}function Sut(e,t,r){let i=new t({...r,_customRender:s=>{e.redrawReason=s;let n=i.getViewports();e.lastRenderedViewports!==n?e.forceUpdate():g9(e)}});return i}var _9=(0,Do.forwardRef)((e,t)=>{let[r,i]=(0,Do.useState)(0),n=(0,Do.useRef)({control:null,version:r,forceUpdate:()=>i(Et=>Et+1)}).current,o=(0,Do.useRef)(null),c=(0,Do.useRef)(null),f=(0,Do.useMemo)(()=>ND(e),[e.layers,e.views,e.children]),_=!0,w=Et=>{var kt;return _&&e.viewState?(n.viewStateUpdateRequested=Et,null):(n.viewStateUpdateRequested=null,(kt=e.onViewStateChange)===null||kt===void 0?void 0:kt.call(e,Et))},I=Et=>{if(_)n.interactionStateUpdateRequested=Et;else{var kt;n.interactionStateUpdateRequested=null,(kt=e.onInteractionStateChange)===null||kt===void 0||kt.call(e,Et)}},R=(0,Do.useMemo)(()=>{let Et={...e,style:null,width:\"100%\",height:\"100%\",parent:o.current,canvas:c.current,layers:f.layers,views:f.views,onViewStateChange:w,onInteractionStateChange:I};return delete Et._customRender,n.deck&&n.deck.setProps(Et),Et},[e]);(0,Do.useEffect)(()=>{let Et=e.Deck||cp;return n.deck=Sut(n,Et,{...R,parent:o.current,canvas:c.current}),()=>{var kt;return(kt=n.deck)===null||kt===void 0?void 0:kt.finalize()}},[]),A9(()=>{g9(n);let{viewStateUpdateRequested:Et,interactionStateUpdateRequested:kt}=n;Et&&w(Et),kt&&I(kt)}),(0,Do.useImperativeHandle)(t,()=>wut(n),[]);let N=n.deck&&n.deck.isInitialized?n.deck.getViewports():void 0,{ContextProvider:j,width:Q,height:et,id:Y,style:K}=e,{containerStyle:J,canvasStyle:ut}=(0,Do.useMemo)(()=>jD({width:Q,height:et,style:K}),[Q,et,K]);if(!n.viewStateUpdateRequested&&n.lastRenderedViewports===N||n.version!==r){n.lastRenderedViewports=N,n.version=r;let Et=VD({children:f.children,deck:n.deck,ContextProvider:j}),kt=(0,Do.createElement)(\"canvas\",{key:\"canvas\",id:Y||\"deckgl-overlay\",ref:c,style:ut});n.control=(0,Do.createElement)(\"div\",{id:\"\".concat(Y||\"deckgl\",\"-wrapper\"),ref:o,style:J},[kt,Et])}return _=!1,n.control});_9.defaultProps=cp.defaultProps;var GD=_9;var zt,hp=new Array(128).fill(void 0);hp.push(void 0,null,!0,!1);var ww=hp.length;function qe(e){ww===hp.length&&hp.push(hp.length+1);let t=ww;return ww=hp[t],hp[t]=e,t}function xe(e){return hp[e]}function Tut(e){e<132||(hp[e]=ww,ww=e)}function nn(e){let t=xe(e);return Tut(e),t}var R9=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};typeof TextDecoder<\"u\"&&R9.decode();var _w=null;function av(){return(_w===null||_w.byteLength===0)&&(_w=new Uint8Array(zt.memory.buffer)),_w}function tu(e,t){return e=e>>>0,R9.decode(av().subarray(e,e+t))}function uc(e){return e==null}var yw=null;function Mut(){return(yw===null||yw.byteLength===0)&&(yw=new Float64Array(zt.memory.buffer)),yw}var vw=null;function Ue(){return(vw===null||vw.byteLength===0)&&(vw=new Int32Array(zt.memory.buffer)),vw}var hc=0,bP=typeof TextEncoder<\"u\"?new TextEncoder(\"utf-8\"):{encode:()=>{throw Error(\"TextEncoder not available\")}},Eut=typeof bP.encodeInto==\"function\"?function(e,t){return bP.encodeInto(e,t)}:function(e,t){let r=bP.encode(e);return t.set(r),{read:e.length,written:r.length}};function fp(e,t,r){if(r===void 0){let c=bP.encode(e),f=t(c.length,1)>>>0;return av().subarray(f,f+c.length).set(c),hc=c.length,f}let i=e.length,s=t(i,1)>>>0,n=av(),o=0;for(;o127)break;n[s+o]=c}if(o!==i){o!==0&&(e=e.slice(o)),s=r(s,i,i=o+e.length*3,1)>>>0;let c=av().subarray(s+o,s+i),f=Eut(e,c);o+=f.written,s=r(s,i,o,1)>>>0}return hc=o,s}var xw=null;function Put(){return(xw===null||xw.byteLength===0)&&(xw=new BigInt64Array(zt.memory.buffer)),xw}function WD(e){let t=typeof e;if(t==\"number\"||t==\"boolean\"||e==null)return`${e}`;if(t==\"string\")return`\"${e}\"`;if(t==\"symbol\"){let s=e.description;return s==null?\"Symbol\":`Symbol(${s})`}if(t==\"function\"){let s=e.name;return typeof s==\"string\"&&s.length>0?`Function(${s})`:\"Function\"}if(Array.isArray(e)){let s=e.length,n=\"[\";s>0&&(n+=WD(e[0]));for(let o=1;o1)i=r[1];else return toString.call(e);if(i==\"Object\")try{return\"Object(\"+JSON.stringify(e)+\")\"}catch{return\"Object\"}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:i}var y9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{zt.__wbindgen_export_2.get(e.dtor)(e.a,e.b)});function Iut(e,t,r,i){let s={a:e,b:t,cnt:1,dtor:r},n=(...o)=>{s.cnt++;let c=s.a;s.a=0;try{return i(c,s.b,...o)}finally{--s.cnt===0?(zt.__wbindgen_export_2.get(s.dtor)(c,s.b),y9.unregister(s)):s.a=c}};return n.original=s,y9.register(n,s,s),n}function Cut(e,t,r){zt._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h1de40baa0df51db0(e,t,qe(r))}function D9(e,t){let r=t(e.length*1,1)>>>0;return av().set(e,r/1),hc=e.length,r}function O9(e,t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(e,zt.__wbindgen_malloc),c=hc;zt.readParquet(n,o,c,uc(t)?0:qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return IP.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}function Lut(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function XD(e,t){return e=e>>>0,av().subarray(e/1,e/1+t)}var bw=null;function B9(){return(bw===null||bw.byteLength===0)&&(bw=new Uint32Array(zt.memory.buffer)),bw}function wP(e,t){e=e>>>0;let i=B9().subarray(e/4,e/4+t),s=[];for(let n=0;n>>0,B9().subarray(e/4,e/4+t)}function Rut(e,t,r,i){zt.wasm_bindgen__convert__closures__invoke2_mut__h26b6dc7d05b06fdf(e,t,qe(r),qe(i))}var E8t=Object.freeze({V1:0,0:\"V1\",V2:1,1:\"V2\"}),P8t=Object.freeze({None:0,0:\"None\",Chunk:1,1:\"Chunk\",Page:2,2:\"Page\"}),I8t=Object.freeze({PLAIN:0,0:\"PLAIN\",PLAIN_DICTIONARY:1,1:\"PLAIN_DICTIONARY\",RLE:2,2:\"RLE\",BIT_PACKED:3,3:\"BIT_PACKED\",DELTA_BINARY_PACKED:4,4:\"DELTA_BINARY_PACKED\",DELTA_LENGTH_BYTE_ARRAY:5,5:\"DELTA_LENGTH_BYTE_ARRAY\",DELTA_BYTE_ARRAY:6,6:\"DELTA_BYTE_ARRAY\",RLE_DICTIONARY:7,7:\"RLE_DICTIONARY\",BYTE_STREAM_SPLIT:8,8:\"BYTE_STREAM_SPLIT\"}),C8t=Object.freeze({UNCOMPRESSED:0,0:\"UNCOMPRESSED\",SNAPPY:1,1:\"SNAPPY\",GZIP:2,2:\"GZIP\",BROTLI:3,3:\"BROTLI\",LZ4:4,4:\"LZ4\",ZSTD:5,5:\"ZSTD\",LZ4_RAW:6,6:\"LZ4_RAW\",LZO:7,7:\"LZO\"}),v9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_columnchunkmetadata_free(e>>>0)),SP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,v9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,v9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_columnchunkmetadata_free(t)}filePath(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_filePath(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}fileOffset(){return zt.columnchunkmetadata_fileOffset(this.__wbg_ptr)}columnPath(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_columnPath(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}encodings(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_encodings(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numValues(){return zt.columnchunkmetadata_numValues(this.__wbg_ptr)}compression(){return zt.columnchunkmetadata_compression(this.__wbg_ptr)}compressedSize(){return zt.columnchunkmetadata_compressedSize(this.__wbg_ptr)}uncompressedSize(){return zt.columnchunkmetadata_uncompressedSize(this.__wbg_ptr)}},L8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowarray_free(e>>>0));var x9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowschema_free(e>>>0)),TP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,x9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,x9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffiarrowschema_free(t)}addr(){return zt.ffiarrowschema_addr(this.__wbg_ptr)>>>0}},k8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffidata_free(e>>>0));var b9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffirecordbatch_free(e>>>0)),MP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,b9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,b9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffirecordbatch_free(t)}arrayAddr(){return zt.ffirecordbatch_arrayAddr(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffirecordbatch_schemaAddr(this.__wbg_ptr)>>>0}},w9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffitable_free(e>>>0)),EP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,w9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,w9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffitable_free(t)}numBatches(){return zt.ffitable_numBatches(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffitable_schemaAddr(this.__wbg_ptr)>>>0}arrayAddr(t){return zt.ffitable_arrayAddr(this.__wbg_ptr,t)>>>0}arrayAddrs(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.ffitable_arrayAddrs(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=kut(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}drop(){let t=this.__destroy_into_raw();zt.ffitable_drop(t)}},R8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffivector_free(e>>>0));var S9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_filemetadata_free(e>>>0)),HD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,S9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,S9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_filemetadata_free(t)}version(){return zt.filemetadata_version(this.__wbg_ptr)}numRows(){return zt.filemetadata_numRows(this.__wbg_ptr)}createdBy(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_createdBy(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}keyValueMetadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_keyValueMetadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},D8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingbytesource_free(e>>>0));var O8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsink_free(e>>>0));var T9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsource_free(e>>>0)),qD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,T9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,T9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_intounderlyingsource_free(t)}pull(t){let r=zt.intounderlyingsource_pull(this.__wbg_ptr,qe(t));return nn(r)}cancel(){let t=this.__destroy_into_raw();zt.intounderlyingsource_cancel(t)}},M9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetfile_free(e>>>0)),ZD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,M9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,M9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetfile_free(t)}static fromUrl(t,r){let i=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),s=hc,n=zt.parquetfile_fromUrl(i,s,uc(r)?0:qe(r));return nn(n)}static fromFile(t){let r=zt.parquetfile_fromFile(qe(t));return nn(r)}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetfile_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return YD.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}read(t){let r=zt.parquetfile_read(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}stream(t){let r=zt.parquetfile_stream(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}},E9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetmetadata_free(e>>>0)),YD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,E9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,E9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetmetadata_free(t)}fileMetadata(){let t=zt.parquetmetadata_fileMetadata(this.__wbg_ptr);return HD.__wrap(t)}numRowGroups(){return zt.parquetmetadata_numRowGroups(this.__wbg_ptr)>>>0}rowGroup(t){let r=zt.parquetmetadata_rowGroup(this.__wbg_ptr,t);return PP.__wrap(r)}rowGroups(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetmetadata_rowGroups(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},P9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_recordbatch_free(e>>>0)),QD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,P9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,P9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_recordbatch_free(t)}get numRows(){return zt.recordbatch_numRows(this.__wbg_ptr)>>>0}get numColumns(){return zt.recordbatch_numColumns(this.__wbg_ptr)>>>0}get schema(){let t=zt.recordbatch_schema(this.__wbg_ptr);return Sw.__wrap(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withSchema(t){try{let o=zt.__wbindgen_add_to_stack_pointer(-16);Lut(t,Sw);var r=t.__destroy_into_raw();zt.recordbatch_withSchema(o,this.__wbg_ptr,r);var i=Ue()[o/4+0],s=Ue()[o/4+1],n=Ue()[o/4+2];if(n)throw nn(s);return e.__wrap(i)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}slice(t,r){let i=zt.recordbatch_slice(this.__wbg_ptr,t,r);return e.__wrap(i)}getArrayMemorySize(){return zt.recordbatch_getArrayMemorySize(this.__wbg_ptr)>>>0}},I9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_rowgroupmetadata_free(e>>>0)),PP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,I9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,I9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_rowgroupmetadata_free(t)}numColumns(){return zt.rowgroupmetadata_numColumns(this.__wbg_ptr)>>>0}column(t){let r=zt.rowgroupmetadata_column(this.__wbg_ptr,t);return SP.__wrap(r)}columns(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.rowgroupmetadata_columns(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numRows(){return zt.rowgroupmetadata_numRows(this.__wbg_ptr)}totalByteSize(){return zt.rowgroupmetadata_totalByteSize(this.__wbg_ptr)}compressedSize(){return zt.rowgroupmetadata_compressedSize(this.__wbg_ptr)}},C9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_schema_free(e>>>0)),Sw=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,C9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,C9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_schema_free(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withMetadata(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_withMetadata(n,this.__wbg_ptr,qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}indexOf(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),c=hc;zt.schema_indexOf(n,this.__wbg_ptr,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return r>>>0}finally{zt.__wbindgen_add_to_stack_pointer(16)}}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},L9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_table_free(e>>>0)),IP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,L9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,L9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_table_free(t)}get schema(){let t=zt.table_schema(this.__wbg_ptr);return Sw.__wrap(t)}get numBatches(){return zt.table_numBatches(this.__wbg_ptr)>>>0}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}static fromIPCStream(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(t,zt.__wbindgen_malloc),c=hc;zt.table_fromIPCStream(n,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}getArrayMemorySize(){return zt.table_getArrayMemorySize(this.__wbg_ptr)>>>0}},B8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmgetoptions_free(e>>>0));var k9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectmeta_free(e>>>0)),$D=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,k9.register(r,r.__wbg_ptr,r),r}toJSON(){return{location:this.location,last_modified:this.last_modified,size:this.size,e_tag:this.e_tag,version:this.version}}toString(){return JSON.stringify(this)}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,k9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_wasmobjectmeta_free(t)}get location(){let t,r;try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_location(n,this.__wbg_ptr);var i=Ue()[n/4+0],s=Ue()[n/4+1];return t=i,r=s,tu(i,s)}finally{zt.__wbindgen_add_to_stack_pointer(16),zt.__wbindgen_free(t,r,1)}}set location(t){let r=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_location(this.__wbg_ptr,r,i)}get last_modified(){let t=zt.__wbg_get_wasmobjectmeta_last_modified(this.__wbg_ptr);return nn(t)}set last_modified(t){zt.__wbg_set_wasmobjectmeta_last_modified(this.__wbg_ptr,qe(t))}get size(){return zt.__wbg_get_wasmobjectmeta_size(this.__wbg_ptr)>>>0}set size(t){zt.__wbg_set_wasmobjectmeta_size(this.__wbg_ptr,t)}get e_tag(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_e_tag(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set e_tag(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_e_tag(this.__wbg_ptr,r,i)}get version(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_version(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set version(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_version(this.__wbg_ptr,r,i)}},F8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectstore_free(e>>>0));var z8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerproperties_free(e>>>0));var N8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerpropertiesbuilder_free(e>>>0));async function Dut(e,t){if(typeof Response==\"function\"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==\"function\")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get(\"Content-Type\")!=\"application/wasm\")console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",i);else throw i}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function Out(){let e={};return e.wbg={},e.wbg.__wbindgen_number_new=function(t){return qe(t)},e.wbg.__wbg_columnchunkmetadata_new=function(t){let r=SP.__wrap(t);return qe(r)},e.wbg.__wbg_rowgroupmetadata_new=function(t){let r=PP.__wrap(t);return qe(r)},e.wbg.__wbg_parquetfile_new=function(t){let r=ZD.__wrap(t);return qe(r)},e.wbg.__wbindgen_object_drop_ref=function(t){nn(t)},e.wbg.__wbindgen_object_clone_ref=function(t){let r=xe(t);return qe(r)},e.wbg.__wbindgen_error_new=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbindgen_is_undefined=function(t){return xe(t)===void 0},e.wbg.__wbindgen_in=function(t,r){return xe(t)in xe(r)},e.wbg.__wbindgen_is_bigint=function(t){return typeof xe(t)==\"bigint\"},e.wbg.__wbindgen_bigint_from_u64=function(t){let r=BigInt.asUintN(64,t);return qe(r)},e.wbg.__wbindgen_jsval_eq=function(t,r){return xe(t)===xe(r)},e.wbg.__wbindgen_is_object=function(t){let r=xe(t);return typeof r==\"object\"&&r!==null},e.wbg.__wbindgen_string_new=function(t,r){let i=tu(t,r);return qe(i)},e.wbg.__wbindgen_number_get=function(t,r){let i=xe(r),s=typeof i==\"number\"?i:void 0;Mut()[t/8+1]=uc(s)?0:s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbg_fetch_1db5b0ae726d68b5=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_wasmobjectmeta_new=function(t){let r=$D.__wrap(t);return qe(r)},e.wbg.__wbindgen_string_get=function(t,r){let i=xe(r),s=typeof i==\"string\"?i:void 0;var n=uc(s)?0:fp(s,zt.__wbindgen_malloc,zt.__wbindgen_realloc),o=hc;Ue()[t/4+1]=o,Ue()[t/4+0]=n},e.wbg.__wbg_fetch_bc7c8e27076a5c84=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_done_2ffa852272310e47=function(t){return xe(t).done},e.wbg.__wbg_value_9f6eeb1e2aab8d96=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_newwithintounderlyingsource_a03a82aa1bbbb292=function(t,r){let i=new ReadableStream(qD.__wrap(t),nn(r));return qe(i)},e.wbg.__wbg_getReader_ab94afcb5cb7689a=function(){return Ds(function(t){let r=xe(t).getReader();return qe(r)},arguments)},e.wbg.__wbg_sethighWaterMark_ea50ed3ec2143088=function(t,r){xe(t).highWaterMark=r},e.wbg.__wbg_recordbatch_new=function(t){let r=QD.__wrap(t);return qe(r)},e.wbg.__wbg_table_new=function(t){let r=IP.__wrap(t);return qe(r)},e.wbg.__wbindgen_jsval_loose_eq=function(t,r){return xe(t)==xe(r)},e.wbg.__wbindgen_boolean_get=function(t){let r=xe(t);return typeof r==\"boolean\"?r?1:0:2},e.wbg.__wbindgen_as_number=function(t){return+xe(t)},e.wbg.__wbg_String_b9412f8799faab3e=function(t,r){let i=String(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=function(t,r){let i=xe(t)[xe(r)];return qe(i)},e.wbg.__wbg_set_f975102236d3c502=function(t,r,i){xe(t)[nn(r)]=nn(i)},e.wbg.__wbindgen_cb_drop=function(t){let r=nn(t).original;return r.cnt--==1?(r.a=0,!0):!1},e.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=function(t){queueMicrotask(xe(t))},e.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=function(t){let r=xe(t).queueMicrotask;return qe(r)},e.wbg.__wbindgen_is_function=function(t){return typeof xe(t)==\"function\"},e.wbg.__wbg_fetch_921fad6ef9e883dd=function(t,r){let i=xe(t).fetch(xe(r));return qe(i)},e.wbg.__wbg_new_ab6fd82b10560829=function(){return Ds(function(){let t=new Headers;return qe(t)},arguments)},e.wbg.__wbg_append_7bfcb4937d1d5e29=function(){return Ds(function(t,r,i,s,n){xe(t).append(tu(r,i),tu(s,n))},arguments)},e.wbg.__wbg_close_a994f9425dab445c=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_enqueue_ea194723156c0cc2=function(){return Ds(function(t,r){xe(t).enqueue(xe(r))},arguments)},e.wbg.__wbg_size_9c7e57fbd4f0f4b5=function(t){return xe(t).size},e.wbg.__wbg_arrayBuffer_307ddd1bd1d04e23=function(t){let r=xe(t).arrayBuffer();return qe(r)},e.wbg.__wbg_slice_1991e6e71a6587f3=function(){return Ds(function(t,r,i){let s=xe(t).slice(r,i);return qe(s)},arguments)},e.wbg.__wbg_read_e7d0f8a49be01d86=function(t){let r=xe(t).read();return qe(r)},e.wbg.__wbg_releaseLock_5c49db976c08b864=function(t){xe(t).releaseLock()},e.wbg.__wbg_cancel_6ee33d4006737aef=function(t){let r=xe(t).cancel();return qe(r)},e.wbg.__wbg_byobRequest_72fca99f9c32c193=function(t){let r=xe(t).byobRequest;return uc(r)?0:qe(r)},e.wbg.__wbg_close_184931724d961ccc=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_instanceof_Response_849eb93e75734b6e=function(t){let r;try{r=xe(t)instanceof Response}catch{r=!1}return r},e.wbg.__wbg_url_5f6dc4009ac5f99d=function(t,r){let i=xe(r).url,s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_status_61a01141acd3cf74=function(t){return xe(t).status},e.wbg.__wbg_headers_9620bfada380764a=function(t){let r=xe(t).headers;return qe(r)},e.wbg.__wbg_body_9545a94f397829db=function(t){let r=xe(t).body;return uc(r)?0:qe(r)},e.wbg.__wbg_arrayBuffer_29931d52c7206b02=function(){return Ds(function(t){let r=xe(t).arrayBuffer();return qe(r)},arguments)},e.wbg.__wbg_signal_a61f78a3478fd9bc=function(t){let r=xe(t).signal;return qe(r)},e.wbg.__wbg_new_0d76b0581eca6298=function(){return Ds(function(){let t=new AbortController;return qe(t)},arguments)},e.wbg.__wbg_abort_2aa7521d5690750e=function(t){xe(t).abort()},e.wbg.__wbg_view_7f0ce470793a340f=function(t){let r=xe(t).view;return uc(r)?0:qe(r)},e.wbg.__wbg_respond_b1a43b2e3a06d525=function(){return Ds(function(t,r){xe(t).respond(r>>>0)},arguments)},e.wbg.__wbg_newwithstrandinit_3fd6fba4083ff2d0=function(){return Ds(function(t,r,i){let s=new Request(tu(t,r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_get_bd8e338fbd5f5cc8=function(t,r){let i=xe(t)[r>>>0];return qe(i)},e.wbg.__wbg_length_cd7af8117672b8b8=function(t){return xe(t).length},e.wbg.__wbg_newnoargs_e258087cd0daa0ea=function(t,r){let i=new Function(tu(t,r));return qe(i)},e.wbg.__wbg_new_d9bc3a0147634640=function(){return qe(new Map)},e.wbg.__wbg_next_40fc327bfc8770e6=function(t){let r=xe(t).next;return qe(r)},e.wbg.__wbg_next_196c84450b364254=function(){return Ds(function(t){let r=xe(t).next();return qe(r)},arguments)},e.wbg.__wbg_done_298b57d23c0fc80c=function(t){return xe(t).done},e.wbg.__wbg_value_d93c65011f51a456=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_iterator_2cee6dadfd956dfa=function(){return qe(Symbol.iterator)},e.wbg.__wbg_get_e3c254076557e348=function(){return Ds(function(t,r){let i=Reflect.get(xe(t),xe(r));return qe(i)},arguments)},e.wbg.__wbg_call_27c0f87801dedf93=function(){return Ds(function(t,r){let i=xe(t).call(xe(r));return qe(i)},arguments)},e.wbg.__wbg_new_72fb9a18b5ae2624=function(){let t=new Object;return qe(t)},e.wbg.__wbindgen_is_string=function(t){return typeof xe(t)==\"string\"},e.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return Ds(function(){let t=self.self;return qe(t)},arguments)},e.wbg.__wbg_window_c6fb939a7f436783=function(){return Ds(function(){let t=window.window;return qe(t)},arguments)},e.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return Ds(function(){let t=globalThis.globalThis;return qe(t)},arguments)},e.wbg.__wbg_global_207b558942527489=function(){return Ds(function(){let t=global.global;return qe(t)},arguments)},e.wbg.__wbg_isArray_2ab64d95e09ea0ae=function(t){return Array.isArray(xe(t))},e.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=function(t){let r;try{r=xe(t)instanceof ArrayBuffer}catch{r=!1}return r},e.wbg.__wbg_new_28c511d9baebfa89=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return Ds(function(t,r,i){let s=xe(t).call(xe(r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_set_8417257aaedc936b=function(t,r,i){let s=xe(t).set(xe(r),xe(i));return qe(s)},e.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=function(t){return Number.isSafeInteger(xe(t))},e.wbg.__wbg_new_cf3ec55744a78578=function(t){let r=new Date(xe(t));return qe(r)},e.wbg.__wbg_entries_95cc2c823b285a09=function(t){let r=Object.entries(xe(t));return qe(r)},e.wbg.__wbg_new_81740750da40724f=function(t,r){try{var i={a:t,b:r},s=(o,c)=>{let f=i.a;i.a=0;try{return Rut(f,i.b,o,c)}finally{i.a=f}};let n=new Promise(s);return qe(n)}finally{i.a=i.b=0}},e.wbg.__wbg_resolve_b0083a7967828ec8=function(t){let r=Promise.resolve(xe(t));return qe(r)},e.wbg.__wbg_catch_0260e338d10f79ae=function(t,r){let i=xe(t).catch(xe(r));return qe(i)},e.wbg.__wbg_then_0c86a60e8fcfe9f6=function(t,r){let i=xe(t).then(xe(r));return qe(i)},e.wbg.__wbg_then_a73caa9a87991566=function(t,r,i){let s=xe(t).then(xe(r),xe(i));return qe(s)},e.wbg.__wbg_buffer_12d079cc21e14bdb=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb=function(t,r,i){let s=new Uint8Array(xe(t),r>>>0,i>>>0);return qe(s)},e.wbg.__wbg_new_63b92bc8671ed464=function(t){let r=new Uint8Array(xe(t));return qe(r)},e.wbg.__wbg_set_a47bac70306a19a7=function(t,r,i){xe(t).set(xe(r),i>>>0)},e.wbg.__wbg_length_c20a40f15020d68a=function(t){return xe(t).length},e.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=function(t){let r;try{r=xe(t)instanceof Uint8Array}catch{r=!1}return r},e.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(t){let r=new Uint8Array(t>>>0);return qe(r)},e.wbg.__wbg_newwithbyteoffset_27c6424791adc775=function(t,r){let i=new Uint8Array(xe(t),r>>>0);return qe(i)},e.wbg.__wbg_buffer_dd7f74bc60f1faab=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_byteLength_58f7b4fab1919d44=function(t){return xe(t).byteLength},e.wbg.__wbg_byteOffset_81d60f7392524f62=function(t){return xe(t).byteOffset},e.wbg.__wbg_stringify_8887fe74e1c50d81=function(){return Ds(function(t){let r=JSON.stringify(xe(t));return qe(r)},arguments)},e.wbg.__wbg_has_0af94d20077affa2=function(){return Ds(function(t,r){return Reflect.has(xe(t),xe(r))},arguments)},e.wbg.__wbg_set_1f9b04f170055d33=function(){return Ds(function(t,r,i){return Reflect.set(xe(t),xe(r),xe(i))},arguments)},e.wbg.__wbindgen_bigint_get_as_i64=function(t,r){let i=xe(r),s=typeof i==\"bigint\"?i:void 0;Put()[t/8+1]=uc(s)?BigInt(0):s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbindgen_debug_string=function(t,r){let i=WD(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbindgen_throw=function(t,r){throw new Error(tu(t,r))},e.wbg.__wbindgen_memory=function(){let t=zt.memory;return qe(t)},e.wbg.__wbindgen_function_table=function(){let t=zt.__wbindgen_export_2;return qe(t)},e.wbg.__wbindgen_closure_wrapper13295=function(t,r,i){let s=Iut(t,r,3248,Cut);return qe(s)},e}function But(e,t){return zt=e.exports,F9.__wbindgen_wasm_module=t,xw=null,yw=null,vw=null,bw=null,_w=null,zt}async function F9(e){if(zt!==void 0)return zt;typeof e>\"u\"&&(e=new URL(\"parquet_wasm_bg.wasm\",import.meta.url));let t=Out();(typeof e==\"string\"||typeof Request==\"function\"&&e instanceof Request||typeof URL==\"function\"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await Dut(await e,t);return But(r,i)}var z9=F9;function U9(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var s=0,i=Object.getOwnPropertySymbols(e);s=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ii(e){return this instanceof ii?(this.v=e,this):new ii(e)}function eu(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i=r.apply(e,t||[]),s,n=[];return s={},o(\"next\"),o(\"throw\"),o(\"return\"),s[Symbol.asyncIterator]=function(){return this},s;function o(R){i[R]&&(s[R]=function(N){return new Promise(function(j,Q){n.push([R,N,j,Q])>1||c(R,N)})})}function c(R,N){try{f(i[R](N))}catch(j){I(n[0][3],j)}}function f(R){R.value instanceof ii?Promise.resolve(R.value.v).then(_,w):I(n[0][2],R)}function _(R){c(\"next\",R)}function w(R){c(\"throw\",R)}function I(R,N){R(N),n.shift(),n.length&&c(n[0][0],n[0][1])}}function lv(e){var t,r;return t={},i(\"next\"),i(\"throw\",function(s){throw s}),i(\"return\"),t[Symbol.iterator]=function(){return this},t;function i(s,n){t[s]=e[s]?function(o){return(r=!r)?{value:ii(e[s](o)),done:!1}:n?n(o):o}:n}}function Zh(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof N9==\"function\"?N9(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}}var iO={};mA(iO,{compareArrayLike:()=>rO,joinUint8Arrays:()=>iu,memcpy:()=>Ew,rebaseValueOffsets:()=>FP,toArrayBufferView:()=>Ai,toArrayBufferViewAsyncIterator:()=>Qh,toArrayBufferViewIterator:()=>td,toBigInt64Array:()=>BP,toBigUint64Array:()=>Hut,toFloat32Array:()=>qut,toFloat32ArrayAsyncIterator:()=>lht,toFloat32ArrayIterator:()=>tht,toFloat64Array:()=>Zut,toFloat64ArrayAsyncIterator:()=>cht,toFloat64ArrayIterator:()=>eht,toInt16Array:()=>jut,toInt16ArrayAsyncIterator:()=>nht,toInt16ArrayIterator:()=>$ut,toInt32Array:()=>yg,toInt32ArrayAsyncIterator:()=>sht,toInt32ArrayIterator:()=>Xut,toInt8Array:()=>Vut,toInt8ArrayAsyncIterator:()=>iht,toInt8ArrayIterator:()=>Qut,toUint16Array:()=>Gut,toUint16ArrayAsyncIterator:()=>oht,toUint16ArrayIterator:()=>Kut,toUint32Array:()=>Wut,toUint32ArrayAsyncIterator:()=>aht,toUint32ArrayIterator:()=>Jut,toUint8Array:()=>Rr,toUint8ArrayAsyncIterator:()=>eO,toUint8ArrayIterator:()=>tO,toUint8ClampedArray:()=>Yut,toUint8ClampedArrayAsyncIterator:()=>uht,toUint8ClampedArrayIterator:()=>rht});var Fut=new TextDecoder(\"utf-8\"),Tw=e=>Fut.decode(e),zut=new TextEncoder,Jf=e=>zut.encode(e);var Nut=e=>typeof e==\"number\",V9=e=>typeof e==\"boolean\",Oo=e=>typeof e==\"function\",Cl=e=>e!=null&&Object(e)===e,ru=e=>Cl(e)&&Oo(e.then);var Yh=e=>Cl(e)&&Oo(e[Symbol.iterator]),Nu=e=>Cl(e)&&Oo(e[Symbol.asyncIterator]),CP=e=>Cl(e)&&Cl(e.schema);var LP=e=>Cl(e)&&\"done\"in e&&\"value\"in e;var kP=e=>Cl(e)&&Oo(e.stat)&&Nut(e.fd);var RP=e=>Cl(e)&&Mw(e.body),DP=e=>\"_getDOMStream\"in e&&\"_getNodeStream\"in e,j9=e=>Cl(e)&&Oo(e.abort)&&Oo(e.getWriter)&&!DP(e),Mw=e=>Cl(e)&&Oo(e.cancel)&&Oo(e.getReader)&&!DP(e),G9=e=>Cl(e)&&Oo(e.end)&&Oo(e.write)&&V9(e.writable)&&!DP(e),OP=e=>Cl(e)&&Oo(e.read)&&Oo(e.pipe)&&V9(e.readable)&&!DP(e),W9=e=>Cl(e)&&Oo(e.clear)&&Oo(e.bytes)&&Oo(e.position)&&Oo(e.setPosition)&&Oo(e.capacity)&&Oo(e.getBufferIdentifier)&&Oo(e.createLong);var JD=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:ArrayBuffer;function Uut(e){let t=e[0]?[e[0]]:[],r,i,s,n;for(let o,c,f=0,_=0,w=e.length;++fw+I.byteLength,0),s,n,o,c=0,f=-1,_=Math.min(t||Number.POSITIVE_INFINITY,i);for(let w=r.length;++fAi(Int8Array,e),jut=e=>Ai(Int16Array,e),yg=e=>Ai(Int32Array,e),BP=e=>Ai(BigInt64Array,e),Rr=e=>Ai(Uint8Array,e),Gut=e=>Ai(Uint16Array,e),Wut=e=>Ai(Uint32Array,e),Hut=e=>Ai(BigUint64Array,e),qut=e=>Ai(Float32Array,e),Zut=e=>Ai(Float64Array,e),Yut=e=>Ai(Uint8ClampedArray,e),KD=e=>(e.next(),e);function*td(e,t){let r=function*(s){yield s},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?r(t):Yh(t)?t:r(t);return yield*KD(function*(s){let n=null;do n=s.next(yield Ai(e,n));while(!n.done)}(i[Symbol.iterator]())),new e}var Qut=e=>td(Int8Array,e),$ut=e=>td(Int16Array,e),Xut=e=>td(Int32Array,e),tO=e=>td(Uint8Array,e),Kut=e=>td(Uint16Array,e),Jut=e=>td(Uint32Array,e),tht=e=>td(Float32Array,e),eht=e=>td(Float64Array,e),rht=e=>td(Uint8ClampedArray,e);function Qh(e,t){return eu(this,arguments,function*(){if(ru(t))return yield ii(yield ii(yield*lv(Zh(Qh(e,yield ii(t))))));let i=function(o){return eu(this,arguments,function*(){yield yield ii(yield ii(o))})},s=function(o){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(KD(function*(c){let f=null;do f=c.next(yield f?.value);while(!f.done)}(o[Symbol.iterator]())))))})},n=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?i(t):Yh(t)?s(t):Nu(t)?t:i(t);return yield ii(yield*lv(Zh(KD(function(o){return eu(this,arguments,function*(){let c=null;do c=yield ii(o.next(yield yield ii(Ai(e,c))));while(!c.done)})}(n[Symbol.asyncIterator]()))))),yield ii(new e)})}var iht=e=>Qh(Int8Array,e),nht=e=>Qh(Int16Array,e),sht=e=>Qh(Int32Array,e),eO=e=>Qh(Uint8Array,e),oht=e=>Qh(Uint16Array,e),aht=e=>Qh(Uint32Array,e),lht=e=>Qh(Float32Array,e),cht=e=>Qh(Float64Array,e),uht=e=>Qh(Uint8ClampedArray,e);function FP(e,t,r){if(e!==0){r=r.slice(0,t);for(let i=-1,s=r.length;++i0)do if(e[r]!==t[r])return!1;while(++r(e.next(),e);function*hht(e){let t,r=!1,i=[],s,n,o,c=0;function f(){return n===\"peek\"?iu(i,o)[0]:([s,i,c]=iu(i,o),s)}({cmd:n,size:o}=(yield null)||{cmd:\"read\",size:0});let _=tO(e)[Symbol.iterator]();try{do if({done:t,value:s}=Number.isNaN(o-c)?_.next():_.next(o-c),!t&&s.byteLength>0&&(i.push(s),c+=s.byteLength),t||o<=c)do({cmd:n,size:o}=yield f());while(o0&&(s.push(n),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c0&&(s.push(Rr(n)),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return ar(this,void 0,void 0,function*(){let{reader:r,source:i}=this;r&&(yield r.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return ar(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let r=yield this.reader.read();return!r.done&&(r.value=Rr(r)),r})}},nO=(e,t)=>{let r=s=>i([t,s]),i;return[t,r,new Promise(s=>(i=s)&&e.once(t,r))]};function pht(e){return eu(this,arguments,function*(){let r=[],i=\"error\",s=!1,n=null,o,c,f=0,_=[],w;function I(){return o===\"peek\"?iu(_,c)[0]:([w,_,f]=iu(_,c),w)}if({cmd:o,size:c}=(yield yield ii(null))||{cmd:\"read\",size:0},e.isTTY)return yield yield ii(new Uint8Array(0)),yield ii(null);try{r[0]=nO(e,\"end\"),r[1]=nO(e,\"error\");do{if(r[2]=nO(e,\"readable\"),[i,n]=yield ii(Promise.race(r.map(N=>N[2]))),i===\"error\")break;if((s=i===\"end\")||(Number.isFinite(c-f)?(w=Rr(e.read(c-f)),w.byteLength0&&(_.push(w),f+=w.byteLength)),s||c<=f)do({cmd:o,size:c}=yield yield ii(I()));while(c{for(let[Y,K]of N)e.off(Y,K);try{let Y=e.destroy;Y&&Y.call(e,j),j=void 0}catch(Y){j=Y||j}finally{j!=null?et(j):Q()}})}})}var sn;(function(e){e[e.V1=0]=\"V1\",e[e.V2=1]=\"V2\",e[e.V3=2]=\"V3\",e[e.V4=3]=\"V4\",e[e.V5=4]=\"V5\"})(sn||(sn={}));var Pn;(function(e){e[e.Sparse=0]=\"Sparse\",e[e.Dense=1]=\"Dense\"})(Pn||(Pn={}));var $i;(function(e){e[e.HALF=0]=\"HALF\",e[e.SINGLE=1]=\"SINGLE\",e[e.DOUBLE=2]=\"DOUBLE\"})($i||($i={}));var Os;(function(e){e[e.DAY=0]=\"DAY\",e[e.MILLISECOND=1]=\"MILLISECOND\"})(Os||(Os={}));var Ar;(function(e){e[e.SECOND=0]=\"SECOND\",e[e.MILLISECOND=1]=\"MILLISECOND\",e[e.MICROSECOND=2]=\"MICROSECOND\",e[e.NANOSECOND=3]=\"NANOSECOND\"})(Ar||(Ar={}));var Bo;(function(e){e[e.YEAR_MONTH=0]=\"YEAR_MONTH\",e[e.DAY_TIME=1]=\"DAY_TIME\",e[e.MONTH_DAY_NANO=2]=\"MONTH_DAY_NANO\"})(Bo||(Bo={}));var ed=new Int32Array(2),NP=new Float32Array(ed.buffer),UP=new Float64Array(ed.buffer),cv=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Pw;(function(e){e[e.UTF8_BYTES=1]=\"UTF8_BYTES\",e[e.UTF16_STRING=2]=\"UTF16_STRING\"})(Pw||(Pw={}));var nu=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8}writeInt32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeUint32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeInt64(t,r){this.writeInt32(t,Number(BigInt.asIntN(32,r))),this.writeInt32(t+4,Number(BigInt.asIntN(32,r>>BigInt(32))))}writeUint64(t,r){this.writeUint32(t,Number(BigInt.asUintN(32,r))),this.writeUint32(t+4,Number(BigInt.asUintN(32,r>>BigInt(32))))}writeFloat32(t,r){NP[0]=r,this.writeInt32(t,ed[0])}writeFloat64(t,r){UP[0]=r,this.writeInt32(t,ed[cv?0:1]),this.writeInt32(t+4,ed[cv?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+r)+1&t-1;for(;this.space=0&&this.vtable[r]==0;r--);let i=r+1;for(;r>=0;r--)this.addInt16(this.vtable[r]!=0?t-this.vtable[r]:0);let s=2;this.addInt16(t-this.object_start);let n=(i+s)*2;this.addInt16(n);let o=0,c=this.space;t:for(r=0;r=0;o--)this.writeInt8(n.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(t),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,r){this.finish(t,r,!0)}requiredField(t,r){let i=this.bb.capacity()-t,s=i-this.bb.readInt32(i);if(!(r=0;i--)t.addInt32(r[i]);return t.endVector()}static startTypeIdsVector(t,r){t.startVector(4,r,4)}static endUnion(t){return t.endObject()}static createUnion(t,r,i){return e.startUnion(t),e.addMode(t,r),e.addTypeIds(t,i),e.endUnion(t)}};var Nw=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsUtf8(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var In;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.FloatingPoint=3]=\"FloatingPoint\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct_=13]=\"Struct_\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.LargeList=21]=\"LargeList\",e[e.RunEndEncoded=22]=\"RunEndEncoded\"})(In||(In={}));var nl=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsField(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):In.NONE}type(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(t,this.bb_pos+r):null}dictionary(t){let r=this.bb.__offset(this.bb_pos,12);return r?(t||new rd).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}children(t,r){let i=this.bb.__offset(this.bb_pos,14);return i?(r||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,16);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,r){t.addFieldOffset(0,r,0)}static addNullable(t,r){t.addFieldInt8(1,+r,0)}static addTypeType(t,r){t.addFieldInt8(2,r,In.NONE)}static addType(t,r){t.addFieldOffset(3,r,0)}static addDictionary(t,r){t.addFieldOffset(4,r,0)}static addChildren(t,r){t.addFieldOffset(5,r,0)}static createChildrenVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startChildrenVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(6,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endField(t){return t.endObject()}};var fc=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSchema(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):im.Little}fields(t,r){let i=this.bb.__offset(this.bb_pos,6);return i?(r||new nl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,r){t.addFieldInt16(0,r,im.Little)}static addFields(t,r){t.addFieldOffset(1,r,0)}static createFieldsVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startFieldsVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(2,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static addFeatures(t,r){t.addFieldOffset(3,r,0)}static createFeaturesVector(t,r){t.startVector(8,r.length,8);for(let i=r.length-1;i>=0;i--)t.addInt64(r[i]);return t.endVector()}static startFeaturesVector(t,r){t.startVector(8,r,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,r){t.finish(r)}static finishSizePrefixedSchemaBuffer(t,r){t.finish(r,void 0,!0)}static createSchema(t,r,i,s,n){return e.startSchema(t),e.addEndianness(t,r),e.addFields(t,i),e.addCustomMetadata(t,s),e.addFeatures(t,n),e.endSchema(t)}};var wi;(function(e){e[e.NONE=0]=\"NONE\",e[e.Schema=1]=\"Schema\",e[e.DictionaryBatch=2]=\"DictionaryBatch\",e[e.RecordBatch=3]=\"RecordBatch\",e[e.Tensor=4]=\"Tensor\",e[e.SparseTensor=5]=\"SparseTensor\"})(wi||(wi={}));var Ot;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\",e[e.DurationSecond=-27]=\"DurationSecond\",e[e.DurationMillisecond=-28]=\"DurationMillisecond\",e[e.DurationMicrosecond=-29]=\"DurationMicrosecond\",e[e.DurationNanosecond=-30]=\"DurationNanosecond\"})(Ot||(Ot={}));var Oi;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(Oi||(Oi={}));var TO={};mA(TO,{clampRange:()=>Kw,createElementComparator:()=>pm,wrapIndex:()=>xg});var oO={};mA(oO,{valueToString:()=>Jh});function Jh(e){if(e===null)return\"null\";if(e===void 0)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Jh(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,r)=>typeof r==\"bigint\"?`${r}`:r)}var uO={};mA(uO,{BN:()=>Vw,bigNumToBigInt:()=>q9,bigNumToNumber:()=>cO,bigNumToString:()=>pv,isArrowBigNumSymbol:()=>H9});function Wi(e){if(typeof e==\"bigint\"&&(eNumber.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function aO(e,t){return Wi(e/t)+Wi(e%t)/Wi(t)}var H9=Symbol.for(\"isArrowBigNum\");function tf(e,...t){return t.length===0?Object.setPrototypeOf(Ai(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}tf.prototype[H9]=!0;tf.prototype.toJSON=function(){return`\"${pv(this)}\"`};tf.prototype.valueOf=function(e){return cO(this,e)};tf.prototype.toString=function(){return pv(this)};tf.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return cO(this);case\"string\":return pv(this);case\"default\":return q9(this)}return pv(this)};function fv(...e){return tf.apply(this,e)}function dv(...e){return tf.apply(this,e)}function Uw(...e){return tf.apply(this,e)}Object.setPrototypeOf(fv.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(dv.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Uw.prototype,Object.create(Uint32Array.prototype));Object.assign(fv.prototype,tf.prototype,{constructor:fv,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(dv.prototype,tf.prototype,{constructor:dv,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Uw.prototype,tf.prototype,{constructor:Uw,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Aht=BigInt(4294967296)*BigInt(4294967296),mht=Aht-BigInt(1);function cO(e,t){let{buffer:r,byteOffset:i,byteLength:s,signed:n}=e,o=new BigUint64Array(r,i,s/8),c=n&&o.at(-1)&BigInt(1)<=0)return lO(e);t=t.slice();let i=1;for(let n=0;n(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=\"DataType\"))(ze.prototype);var ea=class extends ze{constructor(){super(Ot.Null)}toString(){return\"Null\"}};Y9=Symbol.toStringTag;ea[Y9]=(e=>e[Symbol.toStringTag]=\"Null\")(ea.prototype);var Bs=class extends ze{constructor(t,r){super(Ot.Int),this.isSigned=t,this.bitWidth=r}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}};Q9=Symbol.toStringTag;Bs[Q9]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(Bs.prototype);var jw=class extends Bs{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},Gw=class extends Bs{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},ef=class extends Bs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},Ww=class extends Bs{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},Hw=class extends Bs{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},qw=class extends Bs{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Zw=class extends Bs{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Yw=class extends Bs{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(jw.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(Gw.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(ef.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(Ww.prototype,\"ArrayType\",{value:BigInt64Array});Object.defineProperty(Hw.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(Zw.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(Yw.prototype,\"ArrayType\",{value:BigUint64Array});var ra=class extends ze{constructor(t){super(Ot.Float),this.precision=t}get ArrayType(){switch(this.precision){case $i.HALF:return Uint16Array;case $i.SINGLE:return Float32Array;case $i.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};$9=Symbol.toStringTag;ra[$9]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(ra.prototype);var Qw=class extends ra{constructor(){super($i.HALF)}},$w=class extends ra{constructor(){super($i.SINGLE)}},Av=class extends ra{constructor(){super($i.DOUBLE)}};Object.defineProperty(Qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty($w.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(Av.prototype,\"ArrayType\",{value:Float64Array});var Vu=class extends ze{constructor(){super(Ot.Binary)}toString(){return\"Binary\"}};X9=Symbol.toStringTag;Vu[X9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Vu.prototype);var nd=class extends ze{constructor(){super(Ot.LargeBinary)}toString(){return\"LargeBinary\"}};K9=Symbol.toStringTag;nd[K9]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeBinary\"))(nd.prototype);var ju=class extends ze{constructor(){super(Ot.Utf8)}toString(){return\"Utf8\"}};J9=Symbol.toStringTag;ju[J9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ju.prototype);var sd=class extends ze{constructor(){super(Ot.LargeUtf8)}toString(){return\"LargeUtf8\"}};tW=Symbol.toStringTag;sd[tW]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeUtf8\"))(sd.prototype);var dc=class extends ze{constructor(){super(Ot.Bool)}toString(){return\"Bool\"}};eW=Symbol.toStringTag;dc[eW]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(dc.prototype);var Gu=class extends ze{constructor(t,r,i=128){super(Ot.Decimal),this.scale=t,this.precision=r,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}};rW=Symbol.toStringTag;Gu[rW]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(Gu.prototype);var Wu=class extends ze{constructor(t){super(Ot.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Os[this.unit]}>`}get ArrayType(){return this.unit===Os.DAY?Int32Array:BigInt64Array}};iW=Symbol.toStringTag;Wu[iW]=(e=>(e.unit=null,e[Symbol.toStringTag]=\"Date\"))(Wu.prototype);var Hu=class extends ze{constructor(t,r){super(Ot.Time),this.unit=t,this.bitWidth=r}toString(){return`Time${this.bitWidth}<${Ar[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};nW=Symbol.toStringTag;Hu[nW]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Time\"))(Hu.prototype);var qu=class extends ze{constructor(t,r){super(Ot.Timestamp),this.unit=t,this.timezone=r}toString(){return`Timestamp<${Ar[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}};sW=Symbol.toStringTag;qu[sW]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Timestamp\"))(qu.prototype);var Zu=class extends ze{constructor(t){super(Ot.Interval),this.unit=t}toString(){return`Interval<${Bo[this.unit]}>`}};oW=Symbol.toStringTag;Zu[oW]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(Zu.prototype);var Yu=class extends ze{constructor(t){super(Ot.Duration),this.unit=t}toString(){return`Duration<${Ar[this.unit]}>`}};aW=Symbol.toStringTag;Yu[aW]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Duration\"))(Yu.prototype);var sl=class extends ze{constructor(t){super(Ot.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};lW=Symbol.toStringTag;sl[lW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(sl.prototype);var pn=class extends ze{constructor(t){super(Ot.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};cW=Symbol.toStringTag;pn[cW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(pn.prototype);var pc=class extends ze{constructor(t,r,i){super(Ot.Union),this.mode=t,this.children=i,this.typeIds=r=Int32Array.from(r),this.typeIdToChildIndex=r.reduce((s,n,o)=>(s[n]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}};uW=Symbol.toStringTag;pc[uW]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(pc.prototype);var Qu=class extends ze{constructor(t){super(Ot.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};hW=Symbol.toStringTag;Qu[hW]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(Qu.prototype);var Ll=class extends ze{constructor(t,r){super(Ot.FixedSizeList),this.listSize=t,this.children=[r]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};fW=Symbol.toStringTag;Ll[fW]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Ll.prototype);var Ac=class extends ze{constructor(t,r=!1){var i,s,n;if(super(Ot.Map),this.children=[t],this.keysSorted=r,t&&(t.name=\"entries\",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(s=t?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name=\"key\");let c=(n=t?.type)===null||n===void 0?void 0:n.children[1];c&&(c.name=\"value\")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};dW=Symbol.toStringTag;Ac[dW]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Ac.prototype);var ght=(e=>()=>++e)(-1),mc=class extends ze{constructor(t,r,i,s){super(Ot.Dictionary),this.indices=r,this.dictionary=t,this.isOrdered=s||!1,this.id=i==null?ght():Wi(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};pW=Symbol.toStringTag;mc[pW]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(mc.prototype);function ou(e){let t=e;switch(e.typeId){case Ot.Decimal:return e.bitWidth/32;case Ot.Interval:return 1+t.unit;case Ot.FixedSizeList:return t.listSize;case Ot.FixedSizeBinary:return t.byteWidth;default:return 1}}var Er=class{visitMany(t,...r){return t.map((i,s)=>this.visit(i,...r.map(n=>n[s])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,r=!0){return _ht(this,t,r)}getVisitFnByTypeId(t,r=!0){return mv(this,t,r)}visitNull(t,...r){return null}visitBool(t,...r){return null}visitInt(t,...r){return null}visitFloat(t,...r){return null}visitUtf8(t,...r){return null}visitLargeUtf8(t,...r){return null}visitBinary(t,...r){return null}visitLargeBinary(t,...r){return null}visitFixedSizeBinary(t,...r){return null}visitDate(t,...r){return null}visitTimestamp(t,...r){return null}visitTime(t,...r){return null}visitDecimal(t,...r){return null}visitList(t,...r){return null}visitStruct(t,...r){return null}visitUnion(t,...r){return null}visitDictionary(t,...r){return null}visitInterval(t,...r){return null}visitDuration(t,...r){return null}visitFixedSizeList(t,...r){return null}visitMap(t,...r){return null}};function _ht(e,t,r=!0){return typeof t==\"number\"?mv(e,t,r):typeof t==\"string\"&&t in Ot?mv(e,Ot[t],r):t&&t instanceof ze?mv(e,AW(t),r):t?.type&&t.type instanceof ze?mv(e,AW(t.type),r):mv(e,Ot.NONE,r)}function mv(e,t,r=!0){let i=null;switch(t){case Ot.Null:i=e.visitNull;break;case Ot.Bool:i=e.visitBool;break;case Ot.Int:i=e.visitInt;break;case Ot.Int8:i=e.visitInt8||e.visitInt;break;case Ot.Int16:i=e.visitInt16||e.visitInt;break;case Ot.Int32:i=e.visitInt32||e.visitInt;break;case Ot.Int64:i=e.visitInt64||e.visitInt;break;case Ot.Uint8:i=e.visitUint8||e.visitInt;break;case Ot.Uint16:i=e.visitUint16||e.visitInt;break;case Ot.Uint32:i=e.visitUint32||e.visitInt;break;case Ot.Uint64:i=e.visitUint64||e.visitInt;break;case Ot.Float:i=e.visitFloat;break;case Ot.Float16:i=e.visitFloat16||e.visitFloat;break;case Ot.Float32:i=e.visitFloat32||e.visitFloat;break;case Ot.Float64:i=e.visitFloat64||e.visitFloat;break;case Ot.Utf8:i=e.visitUtf8;break;case Ot.LargeUtf8:i=e.visitLargeUtf8;break;case Ot.Binary:i=e.visitBinary;break;case Ot.LargeBinary:i=e.visitLargeBinary;break;case Ot.FixedSizeBinary:i=e.visitFixedSizeBinary;break;case Ot.Date:i=e.visitDate;break;case Ot.DateDay:i=e.visitDateDay||e.visitDate;break;case Ot.DateMillisecond:i=e.visitDateMillisecond||e.visitDate;break;case Ot.Timestamp:i=e.visitTimestamp;break;case Ot.TimestampSecond:i=e.visitTimestampSecond||e.visitTimestamp;break;case Ot.TimestampMillisecond:i=e.visitTimestampMillisecond||e.visitTimestamp;break;case Ot.TimestampMicrosecond:i=e.visitTimestampMicrosecond||e.visitTimestamp;break;case Ot.TimestampNanosecond:i=e.visitTimestampNanosecond||e.visitTimestamp;break;case Ot.Time:i=e.visitTime;break;case Ot.TimeSecond:i=e.visitTimeSecond||e.visitTime;break;case Ot.TimeMillisecond:i=e.visitTimeMillisecond||e.visitTime;break;case Ot.TimeMicrosecond:i=e.visitTimeMicrosecond||e.visitTime;break;case Ot.TimeNanosecond:i=e.visitTimeNanosecond||e.visitTime;break;case Ot.Decimal:i=e.visitDecimal;break;case Ot.List:i=e.visitList;break;case Ot.Struct:i=e.visitStruct;break;case Ot.Union:i=e.visitUnion;break;case Ot.DenseUnion:i=e.visitDenseUnion||e.visitUnion;break;case Ot.SparseUnion:i=e.visitSparseUnion||e.visitUnion;break;case Ot.Dictionary:i=e.visitDictionary;break;case Ot.Interval:i=e.visitInterval;break;case Ot.IntervalDayTime:i=e.visitIntervalDayTime||e.visitInterval;break;case Ot.IntervalYearMonth:i=e.visitIntervalYearMonth||e.visitInterval;break;case Ot.Duration:i=e.visitDuration;break;case Ot.DurationSecond:i=e.visitDurationSecond||e.visitDuration;break;case Ot.DurationMillisecond:i=e.visitDurationMillisecond||e.visitDuration;break;case Ot.DurationMicrosecond:i=e.visitDurationMicrosecond||e.visitDuration;break;case Ot.DurationNanosecond:i=e.visitDurationNanosecond||e.visitDuration;break;case Ot.FixedSizeList:i=e.visitFixedSizeList;break;case Ot.Map:i=e.visitMap;break}if(typeof i==\"function\")return i;if(!r)return()=>null;throw new Error(`Unrecognized type '${Ot[t]}'`)}function AW(e){switch(e.typeId){case Ot.Null:return Ot.Null;case Ot.Int:{let{bitWidth:t,isSigned:r}=e;switch(t){case 8:return r?Ot.Int8:Ot.Uint8;case 16:return r?Ot.Int16:Ot.Uint16;case 32:return r?Ot.Int32:Ot.Uint32;case 64:return r?Ot.Int64:Ot.Uint64}return Ot.Int}case Ot.Float:switch(e.precision){case $i.HALF:return Ot.Float16;case $i.SINGLE:return Ot.Float32;case $i.DOUBLE:return Ot.Float64}return Ot.Float;case Ot.Binary:return Ot.Binary;case Ot.LargeBinary:return Ot.LargeBinary;case Ot.Utf8:return Ot.Utf8;case Ot.LargeUtf8:return Ot.LargeUtf8;case Ot.Bool:return Ot.Bool;case Ot.Decimal:return Ot.Decimal;case Ot.Time:switch(e.unit){case Ar.SECOND:return Ot.TimeSecond;case Ar.MILLISECOND:return Ot.TimeMillisecond;case Ar.MICROSECOND:return Ot.TimeMicrosecond;case Ar.NANOSECOND:return Ot.TimeNanosecond}return Ot.Time;case Ot.Timestamp:switch(e.unit){case Ar.SECOND:return Ot.TimestampSecond;case Ar.MILLISECOND:return Ot.TimestampMillisecond;case Ar.MICROSECOND:return Ot.TimestampMicrosecond;case Ar.NANOSECOND:return Ot.TimestampNanosecond}return Ot.Timestamp;case Ot.Date:switch(e.unit){case Os.DAY:return Ot.DateDay;case Os.MILLISECOND:return Ot.DateMillisecond}return Ot.Date;case Ot.Interval:switch(e.unit){case Bo.DAY_TIME:return Ot.IntervalDayTime;case Bo.YEAR_MONTH:return Ot.IntervalYearMonth}return Ot.Interval;case Ot.Duration:switch(e.unit){case Ar.SECOND:return Ot.DurationSecond;case Ar.MILLISECOND:return Ot.DurationMillisecond;case Ar.MICROSECOND:return Ot.DurationMicrosecond;case Ar.NANOSECOND:return Ot.DurationNanosecond}return Ot.Duration;case Ot.Map:return Ot.Map;case Ot.List:return Ot.List;case Ot.Struct:return Ot.Struct;case Ot.Union:switch(e.mode){case Pn.Dense:return Ot.DenseUnion;case Pn.Sparse:return Ot.SparseUnion}return Ot.Union;case Ot.FixedSizeBinary:return Ot.FixedSizeBinary;case Ot.FixedSizeList:return Ot.FixedSizeList;case Ot.Dictionary:return Ot.Dictionary}throw new Error(`Unrecognized type '${Ot[e.typeId]}'`)}Er.prototype.visitInt8=null;Er.prototype.visitInt16=null;Er.prototype.visitInt32=null;Er.prototype.visitInt64=null;Er.prototype.visitUint8=null;Er.prototype.visitUint16=null;Er.prototype.visitUint32=null;Er.prototype.visitUint64=null;Er.prototype.visitFloat16=null;Er.prototype.visitFloat32=null;Er.prototype.visitFloat64=null;Er.prototype.visitDateDay=null;Er.prototype.visitDateMillisecond=null;Er.prototype.visitTimestampSecond=null;Er.prototype.visitTimestampMillisecond=null;Er.prototype.visitTimestampMicrosecond=null;Er.prototype.visitTimestampNanosecond=null;Er.prototype.visitTimeSecond=null;Er.prototype.visitTimeMillisecond=null;Er.prototype.visitTimeMicrosecond=null;Er.prototype.visitTimeNanosecond=null;Er.prototype.visitDenseUnion=null;Er.prototype.visitSparseUnion=null;Er.prototype.visitIntervalDayTime=null;Er.prototype.visitIntervalYearMonth=null;Er.prototype.visitDuration=null;Er.prototype.visitDurationSecond=null;Er.prototype.visitDurationMillisecond=null;Er.prototype.visitDurationMicrosecond=null;Er.prototype.visitDurationNanosecond=null;var hO={};mA(hO,{float64ToUint16:()=>Xw,uint16ToFloat64:()=>GP});var mW=new Float64Array(1),gv=new Uint32Array(mW.buffer);function GP(e){let t=(e&31744)>>10,r=(e&1023)/1024,i=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return i*(r?Number.NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*Math.pow(2,t-15)*(1+r)}function Xw(e){if(e!==e)return 32256;mW[0]=e;let t=(gv[1]&2147483648)>>16&65535,r=gv[1]&2146435072,i=0;return r>=1089470464?gv[0]>0?r=31744:(r=(r&2080374784)>>16,i=(gv[1]&1048575)>>10):r<=1056964608?(i=1048576+(gv[1]&1048575),i=1048576+(i<<(r>>20)-998)>>21,r=0):(r=r-1056964608>>10,i=(gv[1]&1048575)+512>>10),t|r|i&65535}var kr=class extends Er{};function Wr(e){return(t,r,i)=>{if(t.setValid(r,i!=null))return e(t,r,i)}}var yht=(e,t,r)=>{e[t]=Math.floor(r/864e5)},gW=(e,t,r,i)=>{if(r+1{let s=e+r;i?t[s>>3]|=1<>3]&=~(1<{e[t]=r},fO=({values:e},t,r)=>{e[t]=r},_W=({values:e},t,r)=>{e[t]=Xw(r)},xht=(e,t,r)=>{switch(e.type.precision){case $i.HALF:return _W(e,t,r);case $i.SINGLE:case $i.DOUBLE:return fO(e,t,r)}},WP=({values:e},t,r)=>{yht(e,t,r.valueOf())},HP=({values:e},t,r)=>{e[t]=BigInt(r)},dO=({stride:e,values:t},r,i)=>{t.set(i.subarray(0,e),e*r)},yW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,i),vW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,Jf(i)),pO=(e,t,r)=>{e.type.unit===Os.DAY?WP(e,t,r):HP(e,t,r)},qP=({values:e},t,r)=>{e[t]=BigInt(r/1e3)},ZP=({values:e},t,r)=>{e[t]=BigInt(r)},YP=({values:e},t,r)=>{e[t]=BigInt(r*1e3)},QP=({values:e},t,r)=>{e[t]=BigInt(r*1e6)},AO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return qP(e,t,r);case Ar.MILLISECOND:return ZP(e,t,r);case Ar.MICROSECOND:return YP(e,t,r);case Ar.NANOSECOND:return QP(e,t,r)}},$P=({values:e},t,r)=>{e[t]=r},XP=({values:e},t,r)=>{e[t]=r},KP=({values:e},t,r)=>{e[t]=r},JP=({values:e},t,r)=>{e[t]=r},mO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return $P(e,t,r);case Ar.MILLISECOND:return XP(e,t,r);case Ar.MICROSECOND:return KP(e,t,r);case Ar.NANOSECOND:return JP(e,t,r)}},gO=({values:e,stride:t},r,i)=>{e.set(i.subarray(0,t),t*r)},bht=(e,t,r)=>{let i=e.children[0],s=e.valueOffsets,n=ba.getVisitFn(i);if(Array.isArray(r))for(let o=-1,c=s[t],f=s[t+1];c{let i=e.children[0],{valueOffsets:s}=e,n=ba.getVisitFn(i),{[t]:o,[t+1]:c}=s,f=r instanceof Map?r.entries():Object.entries(r);for(let _ of f)if(n(i,o,_),++o>=c)break},Sht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[n]),Tht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(n)),Mht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(s.name)),Eht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[s.name]),Pht=(e,t,r)=>{let i=e.type.children.map(n=>ba.getVisitFn(n.type)),s=r instanceof Map?Mht(t,r):r instanceof xr?Tht(t,r):Array.isArray(r)?Sht(t,r):Eht(t,r);e.type.children.forEach((n,o)=>s(i[o],e.children[o],n,o))},Iht=(e,t,r)=>{e.type.mode===Pn.Dense?xW(e,t,r):bW(e,t,r)},xW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,e.valueOffsets[t],r)},bW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,t,r)},Cht=(e,t,r)=>{var i;(i=e.dictionary)===null||i===void 0||i.set(e.values[t],r)},_O=(e,t,r)=>{e.type.unit===Bo.DAY_TIME?t3(e,t,r):e3(e,t,r)},t3=({values:e},t,r)=>{e.set(r.subarray(0,2),2*t)},e3=({values:e},t,r)=>{e[t]=r[0]*12+r[1]%12},r3=({values:e},t,r)=>{e[t]=r},i3=({values:e},t,r)=>{e[t]=r},n3=({values:e},t,r)=>{e[t]=r},s3=({values:e},t,r)=>{e[t]=r},yO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return r3(e,t,r);case Ar.MILLISECOND:return i3(e,t,r);case Ar.MICROSECOND:return n3(e,t,r);case Ar.NANOSECOND:return s3(e,t,r)}},Lht=(e,t,r)=>{let{stride:i}=e,s=e.children[0],n=ba.getVisitFn(s);if(Array.isArray(r))for(let o=-1,c=t*i;++o`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}[Symbol.iterator](){return new vO(this[rf],this[_v])}},vO=class{constructor(t,r){this.childIndex=0,this.children=t.children,this.rowIndex=r,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return tr.name)}has(t,r){return t[rf].type.children.findIndex(i=>i.name===r)!==-1}getOwnPropertyDescriptor(t,r){if(t[rf].type.children.findIndex(i=>i.name===r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[rf].type.children.findIndex(s=>s.name===r);if(i!==-1){let s=go.visit(t[rf].children[i],t[_v]);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[rf].type.children.findIndex(n=>n.name===r);return s!==-1?(ba.visit(t[rf].children[s],t[_v],i),Reflect.set(t,r,i)):Reflect.has(t,r)||typeof r==\"symbol\"?Reflect.set(t,r,i):!1}};var Pr=class extends Er{};function zr(e){return(t,r)=>t.getValid(r)?e(t,r):null}var kht=(e,t)=>864e5*e[t],Rht=(e,t)=>null,wW=(e,t,r)=>{if(r+1>=t.length)return null;let i=Wi(t[r]),s=Wi(t[r+1]);return e.subarray(i,s)},Dht=({offset:e,values:t},r)=>{let i=e+r;return(t[i>>3]&1<kht(e,t),TW=({values:e},t)=>Wi(e[t]),fm=({stride:e,values:t},r)=>t[e*r],Oht=({stride:e,values:t},r)=>GP(t[e*r]),MW=({values:e},t)=>e[t],Bht=({stride:e,values:t},r)=>t.subarray(e*r,e*(r+1)),EW=({values:e,valueOffsets:t},r)=>wW(e,t,r),PW=({values:e,valueOffsets:t},r)=>{let i=wW(e,t,r);return i!==null?Tw(i):null},Fht=({values:e},t)=>e[t],zht=({type:e,values:t},r)=>e.precision!==$i.HALF?t[r]:GP(t[r]),Nht=(e,t)=>e.type.unit===Os.DAY?SW(e,t):TW(e,t),IW=({values:e},t)=>1e3*Wi(e[t]),CW=({values:e},t)=>Wi(e[t]),LW=({values:e},t)=>aO(e[t],BigInt(1e3)),kW=({values:e},t)=>aO(e[t],BigInt(1e6)),Uht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return IW(e,t);case Ar.MILLISECOND:return CW(e,t);case Ar.MICROSECOND:return LW(e,t);case Ar.NANOSECOND:return kW(e,t)}},RW=({values:e},t)=>e[t],DW=({values:e},t)=>e[t],OW=({values:e},t)=>e[t],BW=({values:e},t)=>e[t],Vht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return RW(e,t);case Ar.MILLISECOND:return DW(e,t);case Ar.MICROSECOND:return OW(e,t);case Ar.NANOSECOND:return BW(e,t)}},jht=({values:e,stride:t},r)=>Vw.decimal(e.subarray(t*r,t*(r+1))),Ght=(e,t)=>{let{valueOffsets:r,stride:i,children:s}=e,{[t*i]:n,[t*i+1]:o}=r,f=s[0].slice(n,o-n);return new xr([f])},Wht=(e,t)=>{let{valueOffsets:r,children:i}=e,{[t]:s,[t+1]:n}=r,o=i[0];return new od(o.slice(s,n-s))},Hht=(e,t)=>new hm(e,t),qht=(e,t)=>e.type.mode===Pn.Dense?FW(e,t):zW(e,t),FW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,e.valueOffsets[t])},zW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,t)},Zht=(e,t)=>{var r;return(r=e.dictionary)===null||r===void 0?void 0:r.get(e.values[t])},Yht=(e,t)=>e.type.unit===Bo.DAY_TIME?NW(e,t):UW(e,t),NW=({values:e},t)=>e.subarray(2*t,2*(t+1)),UW=({values:e},t)=>{let r=e[t],i=new Int32Array(2);return i[0]=Math.trunc(r/12),i[1]=Math.trunc(r%12),i},VW=({values:e},t)=>e[t],jW=({values:e},t)=>e[t],GW=({values:e},t)=>e[t],WW=({values:e},t)=>e[t],Qht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return VW(e,t);case Ar.MILLISECOND:return jW(e,t);case Ar.MICROSECOND:return GW(e,t);case Ar.NANOSECOND:return WW(e,t)}},$ht=(e,t)=>{let{stride:r,children:i}=e,n=i[0].slice(t*r,r);return new xr([n])};Pr.prototype.visitNull=zr(Rht);Pr.prototype.visitBool=zr(Dht);Pr.prototype.visitInt=zr(Fht);Pr.prototype.visitInt8=zr(fm);Pr.prototype.visitInt16=zr(fm);Pr.prototype.visitInt32=zr(fm);Pr.prototype.visitInt64=zr(MW);Pr.prototype.visitUint8=zr(fm);Pr.prototype.visitUint16=zr(fm);Pr.prototype.visitUint32=zr(fm);Pr.prototype.visitUint64=zr(MW);Pr.prototype.visitFloat=zr(zht);Pr.prototype.visitFloat16=zr(Oht);Pr.prototype.visitFloat32=zr(fm);Pr.prototype.visitFloat64=zr(fm);Pr.prototype.visitUtf8=zr(PW);Pr.prototype.visitLargeUtf8=zr(PW);Pr.prototype.visitBinary=zr(EW);Pr.prototype.visitLargeBinary=zr(EW);Pr.prototype.visitFixedSizeBinary=zr(Bht);Pr.prototype.visitDate=zr(Nht);Pr.prototype.visitDateDay=zr(SW);Pr.prototype.visitDateMillisecond=zr(TW);Pr.prototype.visitTimestamp=zr(Uht);Pr.prototype.visitTimestampSecond=zr(IW);Pr.prototype.visitTimestampMillisecond=zr(CW);Pr.prototype.visitTimestampMicrosecond=zr(LW);Pr.prototype.visitTimestampNanosecond=zr(kW);Pr.prototype.visitTime=zr(Vht);Pr.prototype.visitTimeSecond=zr(RW);Pr.prototype.visitTimeMillisecond=zr(DW);Pr.prototype.visitTimeMicrosecond=zr(OW);Pr.prototype.visitTimeNanosecond=zr(BW);Pr.prototype.visitDecimal=zr(jht);Pr.prototype.visitList=zr(Ght);Pr.prototype.visitStruct=zr(Hht);Pr.prototype.visitUnion=zr(qht);Pr.prototype.visitDenseUnion=zr(FW);Pr.prototype.visitSparseUnion=zr(zW);Pr.prototype.visitDictionary=zr(Zht);Pr.prototype.visitInterval=zr(Yht);Pr.prototype.visitIntervalDayTime=zr(NW);Pr.prototype.visitIntervalYearMonth=zr(UW);Pr.prototype.visitDuration=zr(Qht);Pr.prototype.visitDurationSecond=zr(VW);Pr.prototype.visitDurationMillisecond=zr(jW);Pr.prototype.visitDurationMicrosecond=zr(GW);Pr.prototype.visitDurationNanosecond=zr(WW);Pr.prototype.visitFixedSizeList=zr($ht);Pr.prototype.visitMap=zr(Wht);var go=new Pr;var dm=Symbol.for(\"keys\"),vv=Symbol.for(\"vals\"),yv=Symbol.for(\"kKeysAsStrings\"),bO=Symbol.for(\"_kKeysAsStrings\"),od=class{constructor(t){return this[dm]=new xr([t.children[0]]).memoize(),this[vv]=t.children[1],new Proxy(this,new SO)}get[yv](){return this[bO]||(this[bO]=Array.from(this[dm].toArray(),String))}[Symbol.iterator](){return new wO(this[dm],this[vv])}get size(){return this[dm].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[dm],r=this[vv],i={};for(let s=-1,n=t.length;++s`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}},wO=class{constructor(t,r){this.keys=t,this.vals=r,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),go.visit(this.vals,t)]})}},SO=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[yv]}has(t,r){return t[yv].includes(r)}getOwnPropertyDescriptor(t,r){if(t[yv].indexOf(r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[yv].indexOf(r);if(i!==-1){let s=go.visit(Reflect.get(t,vv),i);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[yv].indexOf(r);return s!==-1?(ba.visit(Reflect.get(t,vv),s,i),Reflect.set(t,r,i)):Reflect.has(t,r)?Reflect.set(t,r,i):!1}};Object.defineProperties(od.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:\"Row\"},[dm]:{writable:!0,enumerable:!1,configurable:!1,value:null},[vv]:{writable:!0,enumerable:!1,configurable:!1,value:null},[bO]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var HW;function Kw(e,t,r,i){let{length:s=0}=e,n=typeof t!=\"number\"?0:t,o=typeof r!=\"number\"?s:r;return n<0&&(n=(n%s+s)%s),o<0&&(o=(o%s+s)%s),os&&(o=s),i?i(e,n,o):[n,o]}var xg=(e,t)=>e<0?t+e:e,qW=e=>e!==e;function pm(e){if(typeof e!==\"object\"||e===null)return qW(e)?qW:r=>r===e;if(e instanceof Date){let r=e.valueOf();return i=>i instanceof Date?i.valueOf()===r:!1}return ArrayBuffer.isView(e)?r=>r?rO(e,r):!1:e instanceof Map?Kht(e):Array.isArray(e)?Xht(e):e instanceof xr?Jht(e):tft(e,!0)}function Xht(e){let t=[];for(let r=-1,i=e.length;++r!1;let i=[];for(let s=-1,n=r.length;++s{if(!r||typeof r!=\"object\")return!1;switch(r.constructor){case Array:return eft(e,r);case Map:return ZW(e,r,r.keys());case od:case hm:case Object:case void 0:return ZW(e,r,t||Object.keys(r))}return r instanceof xr?rft(e,r):!1}}function eft(e,t){let r=e.length;if(t.length!==r)return!1;for(let i=-1;++ibg,getBit:()=>YW,getBool:()=>l3,packBools:()=>Sg,popcnt_array:()=>QW,popcnt_bit_range:()=>Jw,popcnt_uint32:()=>a3,setBool:()=>ift,truncateBitmap:()=>wg});function l3(e,t,r,i){return(r&1<>i}function ift(e,t,r){return r?!!(e[t>>3]|=1<>3]&=~(1<0||r.byteLength>3):Sg(new bg(r,e,t,null,l3)).subarray(0,i)),s}return r}function Sg(e){let t=[],r=0,i=0,s=0;for(let o of e)o&&(s|=1<0)&&(t[r++]=s);let n=new Uint8Array(t.length+7&-8);return n.set(t),n}var bg=class{constructor(t,r,i,s,n){this.bytes=t,this.length=i,this.context=s,this.get=n,this.bit=r%8,this.byteIndex=r>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index>3<<3,s=t+(t%8===0?0:8-t%8);return Jw(e,t,s)+Jw(e,i,r)+QW(e,s>>3,i-s>>3)}function QW(e,t,r){let i=0,s=Math.trunc(t),n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=r===void 0?e.byteLength:s+r;for(;o-s>=4;)i+=a3(n.getUint32(s)),s+=4;for(;o-s>=2;)i+=a3(n.getUint16(s)),s+=2;for(;o-s>=1;)i+=a3(n.getUint8(s)),s+=1;return i}function a3(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var nft=-1,Fi=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return ze.isSparseUnion(t)?this.children.some(r=>r.nullable):ze.isDenseUnion(t)?this.children.some(r=>r.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:r,values:i,nullBitmap:s,typeIds:n}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),this.children.reduce((o,c)=>o+c.byteLength,t)}get nullCount(){if(ze.isUnion(this.type))return this.children.reduce((i,s)=>i+s.nullCount,0);let t=this._nullCount,r;return t<=nft&&(r=this.nullBitmap)&&(this._nullCount=t=r.length===0?0:this.length-Jw(r,this.offset,this.offset+this.length)),t}constructor(t,r,i,s,n,o=[],c){this.type=t,this.children=o,this.dictionary=c,this.offset=Math.floor(Math.max(r||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let f;n instanceof e?(this.stride=n.stride,this.values=n.values,this.typeIds=n.typeIds,this.nullBitmap=n.nullBitmap,this.valueOffsets=n.valueOffsets):(this.stride=ou(t),n&&((f=n[0])&&(this.valueOffsets=f),(f=n[1])&&(this.values=f),(f=n[2])&&(this.nullBitmap=f),(f=n[3])&&(this.typeIds=f)))}getValid(t){let{type:r}=this;if(ze.isUnion(r)){let i=r,s=this.children[i.typeIdToChildIndex[this.typeIds[t]]],n=i.mode===Pn.Dense?this.valueOffsets[t]:t;return s.getValid(n)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<>3;(!n||n.byteLength<=w)&&(n=new Uint8Array((o+c+63&-64)>>3).fill(255),this.nullCount>0?(n.set(wg(o,c,this.nullBitmap),0),Object.assign(this,{nullBitmap:n})):Object.assign(this,{nullBitmap:n,_nullCount:0}));let I=n[w];i=(I&_)!==0,n[w]=r?I|_:I&~_}return i!==!!r&&(this._nullCount=this.nullCount+(r?-1:1)),r}clone(t=this.type,r=this.offset,i=this.length,s=this._nullCount,n=this,o=this.children){return new e(t,r,i,s,n,o,this.dictionary)}slice(t,r){let{stride:i,typeId:s,children:n}=this,o=+(this._nullCount===0)-1,c=s===16?i:1,f=this._sliceBuffers(t,r,i,s);return this.clone(this.type,this.offset+t,r,o,f,n.length===0||this.valueOffsets?n:this._sliceChildren(n,c*t,c*r))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Ot.Null)return this.clone(this.type,0,t,0);let{length:r,nullCount:i}=this,s=new Uint8Array((t+63&-64)>>3).fill(255,0,r>>3);s[r>>3]=(1<0&&s.set(wg(this.offset,r,this.nullBitmap),0);let n=this.buffers;return n[Oi.VALIDITY]=s,this.clone(this.type,0,t,i+(t-r),n)}_sliceBuffers(t,r,i,s){let n,{buffers:o}=this;return(n=o[Oi.TYPE])&&(o[Oi.TYPE]=n.subarray(t,t+r)),(n=o[Oi.OFFSET])&&(o[Oi.OFFSET]=n.subarray(t,t+r+1))||(n=o[Oi.DATA])&&(o[Oi.DATA]=s===6?n:n.subarray(i*t,i*(t+r))),o}_sliceChildren(t,r,i){return t.map(s=>s.slice(r,i))}};Fi.prototype.children=Object.freeze([]);var EO=class e extends Er{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"length\"]:s=0}=t;return new Fi(r,i,s,s)}visitBool(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length>>3,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitInt(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFloat(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitFixedSizeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDate(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTimestamp(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTime(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDecimal(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}visitStruct(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Rr(t.nullBitmap),{length:o=s.reduce((f,{length:_})=>Math.max(f,_),0),nullCount:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],s)}visitUnion(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Ai(r.ArrayType,t.typeIds),{[\"length\"]:o=n.length,[\"nullCount\"]:c=-1}=t;if(ze.isSparseUnion(r))return new Fi(r,i,o,c,[void 0,void 0,void 0,n],s);let f=yg(t.valueOffsets);return new Fi(r,i,o,c,[f,void 0,void 0,n],s)}visitDictionary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.indices.ArrayType,t.data),{[\"dictionary\"]:o=new xr([new e().visit({type:r.dictionary})])}=t,{[\"length\"]:c=n.length,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[void 0,n,s],[],o)}visitInterval(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDuration(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFixedSizeList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.valueType})}=t,n=Rr(t.nullBitmap),{[\"length\"]:o=s.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],[s])}visitMap(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.childType})}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}},sft=new EO;function yr(e){return sft.visit(e)}var t2=class{constructor(t=0,r){this.numChunks=t,this.getChunkIterator=r,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndext.nullable)}function c3(e){return e.reduce((t,r)=>t+r.nullCount,0)}function u3(e){return e.reduce((t,r,i)=>(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function h3(e,t,r,i){let s=[];for(let n=-1,o=e.length;++n=i)break;if(r>=f+_)continue;if(f>=r&&f+_<=i){s.push(c);continue}let w=Math.max(0,r-f),I=Math.min(i-f,_);s.push(c.slice(w,I-w))}return s.length===0&&s.push(e[0].slice(0,0)),s}function PO(e,t,r,i){let s=0,n=0,o=t.length-1;do{if(s>=o-1)return r0?0:-1}function aft(e,t){let{nullBitmap:r}=e;if(!r||e.nullCount<=0)return-1;let i=0;for(let s of new bg(r,e.offset+(t||0),e.length,r,l3)){if(!s)return i;++i}return-1}function Qr(e,t,r){if(t===void 0)return-1;if(t===null)switch(e.typeId){case Ot.Union:break;case Ot.Dictionary:break;default:return aft(e,r)}let i=go.getVisitFn(e),s=pm(t);for(let n=(r||0)-1,o=e.length;++n{let s=e.data[i];return s.values.subarray(0,s.length)[Symbol.iterator]()});let r=0;return new t2(e.data.length,i=>{let n=e.data[i].length,o=e.slice(r,r+n);return r+=n,new IO(o)})}var IO=class{constructor(t){this.vector=t,this.index=0}next(){return this.indexc.data):t;if(n.length===0||n.some(c=>!(c instanceof Fi)))throw new TypeError(\"Vector constructor expects an Array of Data instances.\");let o=(r=n[0])===null||r===void 0?void 0:r.type;switch(n.length){case 0:this._offsets=[0];break;case 1:{let{get:c,set:f,indexOf:_}=JW[o.typeId],w=n[0];this.isValid=I=>e2(w,I),this.get=I=>c(w,I),this.set=(I,R)=>f(w,I,R),this.indexOf=I=>_(w,I),this._offsets=[0,w.length];break}default:Object.setPrototypeOf(this,tH[o.typeId]),this._offsets=u3(n);break}this.data=n,this.type=o,this.stride=ou(o),this.numChildren=(s=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,r)=>t+r.byteLength,0)}get nullable(){return $W(this.data)}get nullCount(){return c3(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${Ot[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.length))}set(t,r){}indexOf(t,r){return-1}includes(t,r){return this.indexOf(t,r)>-1}[Symbol.iterator](){return bv.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(r=>r.data).flat(Number.POSITIVE_INFINITY)))}slice(t,r){return new e(Kw(this,t,r,({data:i,_offsets:s},n,o)=>h3(i,s,n,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:r,length:i,stride:s,ArrayType:n}=this;switch(t.typeId){case Ot.Int:case Ot.Float:case Ot.Decimal:case Ot.Time:case Ot.Timestamp:switch(r.length){case 0:return new n;case 1:return r[0].values.subarray(0,i*s);default:return r.reduce((o,{values:c,length:f})=>(o.array.set(c.subarray(0,f*s),o.offset),o.offset+=f*s,o),{array:new n(i*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(\",\")}]`}getChild(t){var r;return this.getChildAt((r=this.type.children)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&tr[t])):null}get isMemoized(){return ze.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(ze.isDictionary(this.type)){let t=new p3(this.data[0].dictionary),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return new p3(this)}unmemoize(){if(ze.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return this}};KW=Symbol.toStringTag;xr[KW]=(e=>{e.type=ze.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(Ot).map(r=>Ot[r]).filter(r=>typeof r==\"number\"&&r!==Ot.NONE);for(let r of t){let i=go.getVisitFnByTypeId(r),s=ba.getVisitFnByTypeId(r),n=Tg.getVisitFnByTypeId(r);JW[r]={get:i,set:s,indexOf:n},tH[r]=Object.create(e,{isValid:{value:xv(e2)},get:{value:xv(go.getVisitFnByTypeId(r))},set:{value:f3(ba.getVisitFnByTypeId(r))},indexOf:{value:d3(Tg.getVisitFnByTypeId(r))}})}return\"Vector\"})(xr.prototype);var p3=class e extends xr{constructor(t){super(t.data);let r=this.get,i=this.set,s=this.slice,n=new Array(this.length);Object.defineProperty(this,\"get\",{value(o){let c=n[o];if(c!==void 0)return c;let f=r.call(this,o);return n[o]=f,f}}),Object.defineProperty(this,\"set\",{value(o,c){i.call(this,o,c),n[o]=c}}),Object.defineProperty(this,\"slice\",{value:(o,c)=>new e(s.call(this,o,c))}),Object.defineProperty(this,\"isMemoized\",{value:!0}),Object.defineProperty(this,\"unmemoize\",{value:()=>new xr(this.data)}),Object.defineProperty(this,\"memoize\",{value:()=>this})}};function eH(e){if(!e||e.length<=0)return function(s){return!0};let t=\"\",r=e.filter(i=>i===i);return r.length>0&&(t=`\n switch (x) {${r.map(i=>`\n case ${lft(i)}:`).join(\"\")}\n return false;\n }`),e.length!==r.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function lft(e){return typeof e!=\"bigint\"?Jh(e):`${Jh(e)}n`}function CO(e,t){let r=Math.ceil(e)*t-1;return(r-r%64+64||64)/t}function rH(e,t=0){return e.length>=t?e.subarray(0,t):Ew(new e.constructor(t),e,0)}var nf=class{constructor(t,r=0,i=1){this.length=Math.ceil(r/i),this.buffer=new t(this.length),this.stride=i,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,r){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let r=this.stride,i=this.length*r,s=this.buffer.length;i>=s&&this._resize(s===0?CO(i*1,this.BYTES_PER_ELEMENT):CO(i*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=CO(t*this.stride,this.BYTES_PER_ELEMENT);let r=rH(this.buffer,t);return this.clear(),r}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=rH(this.buffer,t)}},gp=class extends nf{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,r){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=r,this}},wv=class extends gp{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,r){let{buffer:i}=this.reserve(t-this.length+1),s=t>>3,n=t%8,o=i[s]>>n&1;return r?o===0&&(i[s]|=1<=0&&s.fill(s[i],i,t),s[t]=s[t-1]+r,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var Xn=class{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}constructor({type:t,nullValues:r}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=r,this.stride=ou(t),this._nulls=new wv,r&&r.length>0&&(this._isValid=eH(r))}toVector(){return new xr([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:r,_values:i,_nulls:s,_typeIds:n,children:o}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),o.reduce((c,f)=>c+f.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((r,i)=>r+i.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,r){return this.setValid(t,this.isValid(r))&&this.setValue(t,r),this}setValue(t,r){this._setValue(this,t,r)}setValid(t,r){return this.length=this._nulls.set(t,+r).length,r}addChild(t,r=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){let t,r,i,s,{type:n,length:o,nullCount:c,_typeIds:f,_offsets:_,_values:w,_nulls:I}=this;(r=f?.flush(o))?s=_?.flush(o):(s=_?.flush(o))?t=w?.flush(_.last()):t=w?.flush(o),c>0&&(i=I?.flush(o));let R=this.children.map(N=>N.flush());return this.clear(),yr({type:n,length:o,nullCount:c,children:R,child:R[0],data:t,typeIds:r,nullBitmap:i,valueOffsets:s})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,r,i,s;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(r=this._values)===null||r===void 0||r.clear(),(i=this._offsets)===null||i===void 0||i.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let n of this.children)n.clear();return this}};Xn.prototype.length=1;Xn.prototype.stride=1;Xn.prototype.children=null;Xn.prototype.finished=!1;Xn.prototype.nullValues=null;Xn.prototype._isValid=()=>!0;var _o=class extends Xn{constructor(t){super(t),this._values=new gp(this.ArrayType,0,this.stride)}setValue(t,r){let i=this._values;return i.reserve(t-i.length+1),super.setValue(t,r)}},gc=class extends Xn{constructor(t){super(t),this._pendingLength=0,this._offsets=new Sv(t.type)}setValue(t,r){let i=this._pending||(this._pending=new Map),s=i.get(t);s&&(this._pendingLength-=s.length),this._pendingLength+=r instanceof od?r[dm].length:r.length,i.set(t,r)}setValid(t,r){return super.setValid(t,r)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,r=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,r),this}};var Mg=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,r,i,s){return t.prep(8,24),t.writeInt64(BigInt(s??0)),t.pad(4),t.writeInt32(i),t.writeInt64(BigInt(r??0)),t.offset()}};var au=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsFooter(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}schema(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new fc).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}dictionaries(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,r){let i=this.bb.__offset(this.bb_pos,10);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addSchema(t,r){t.addFieldOffset(1,r,0)}static addDictionaries(t,r){t.addFieldOffset(2,r,0)}static startDictionariesVector(t,r){t.startVector(24,r,8)}static addRecordBatches(t,r){t.addFieldOffset(3,r,0)}static startRecordBatchesVector(t,r){t.startVector(24,r,8)}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,r){t.finish(r)}static finishSizePrefixedFooterBuffer(t,r){t.finish(r,void 0,!0)}};var an=class e{constructor(t=[],r,i,s=sn.V5){this.fields=t||[],this.metadata=r||new Map,i||(i=LO(t)),this.dictionaries=i,this.metadataVersion=s}get[Symbol.toStringTag](){return\"Schema\"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,r)=>`${r}: ${t}`).join(\", \")} }>`}select(t){let r=new Set(t),i=this.fields.filter(s=>r.has(s.name));return new e(i,this.metadata)}selectAt(t){let r=t.map(i=>this.fields[i]).filter(Boolean);return new e(r,this.metadata)}assign(...t){let r=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),i=[...this.fields],s=A3(A3(new Map,this.metadata),r.metadata),n=r.fields.filter(c=>{let f=i.findIndex(_=>_.name===c.name);return~f?(i[f]=c.clone({metadata:A3(A3(new Map,i[f].metadata),c.metadata)}))&&!1:!0}),o=LO(n,new Map);return new e([...i,...n],s,new Map([...this.dictionaries,...o]))}};an.prototype.fields=null;an.prototype.metadata=null;an.prototype.dictionaries=null;var si=class e{static new(...t){let[r,i,s,n]=t;return t[0]&&typeof t[0]==\"object\"&&({name:r}=t[0],i===void 0&&(i=t[0].type),s===void 0&&(s=t[0].nullable),n===void 0&&(n=t[0].metadata)),new e(`${r}`,i,s,n)}constructor(t,r,i=!1,s){this.name=t,this.type=r,this.nullable=i,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[r,i,s,n]=t;return!t[0]||typeof t[0]!=\"object\"?[r=this.name,i=this.type,s=this.nullable,n=this.metadata]=t:{name:r=this.name,type:i=this.type,nullable:s=this.nullable,metadata:n=this.metadata}=t[0],e.new(r,i,s,n)}};si.prototype.type=null;si.prototype.name=null;si.prototype.nullable=null;si.prototype.metadata=null;function A3(e,t){return new Map([...e||new Map,...t||new Map])}function LO(e,t=new Map){for(let r=-1,i=e.length;++r0&&LO(n.children,t)}return t}var cft=vg,uft=nu,_p=class{static decode(t){t=new uft(Rr(t));let r=au.getRootAsFooter(t),i=an.decode(r.schema(),new Map,r.version());return new kO(i,r)}static encode(t){let r=new cft,i=an.encode(r,t.schema);au.startRecordBatchesVector(r,t.numRecordBatches);for(let o of[...t.recordBatches()].slice().reverse())yp.encode(r,o);let s=r.endVector();au.startDictionariesVector(r,t.numDictionaries);for(let o of[...t.dictionaryBatches()].slice().reverse())yp.encode(r,o);let n=r.endVector();return au.startFooter(r),au.addSchema(r,i),au.addVersion(r,sn.V5),au.addRecordBatches(r,s),au.addDictionaries(r,n),au.finishFooterBuffer(r,au.endFooter(r)),r.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,r=sn.V5,i,s){this.schema=t,this.version=r,i&&(this._recordBatches=i),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let t,r=-1,i=this.numRecordBatches;++r=0&&t=0&&t=0&&t=0&&tthis._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Vn);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return xa.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return xa.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return ar(this,void 0,void 0,function*(){return yield this.abort(t),Vn})}return(t){return ar(this,void 0,void 0,function*(){return yield this.close(),Vn})}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((r,i)=>{this.resolvers.push({resolve:r,reject:i})}):Promise.resolve(Vn)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(\"AsyncQueue is closed\")}};var ad=class extends m3{write(t){if((t=Rr(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Tw(this.toUint8Array(!0)):this.toUint8Array(!1).then(Tw)}toUint8Array(t=!1){return t?iu(this._values)[0]:ar(this,void 0,void 0,function*(){var r,i,s,n;let o=[],c=0;try{for(var f=!0,_=Zh(this),w;w=yield _.next(),r=w.done,!r;f=!0){n=w.value,f=!1;let I=n;o.push(I),c+=I.byteLength}}catch(I){i={error:I}}finally{try{!f&&!r&&(s=_.return)&&(yield s.call(_))}finally{if(i)throw i.error}}return iu(o,c)[0]})}},ld=class{constructor(t){t&&(this.source=new RO(xa.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},$u=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof ad?this.source=new vp(xa.fromAsyncIterable(t)):OP(t)?this.source=new vp(xa.fromNodeStream(t)):Mw(t)?this.source=new vp(xa.fromDOMStream(t)):RP(t)?this.source=new vp(xa.fromDOMStream(t.body)):Yh(t)?this.source=new vp(xa.fromIterable(t)):ru(t)?this.source=new vp(xa.fromAsyncIterable(t)):Nu(t)&&(this.source=new vp(xa.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},RO=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,r=\"read\"){return this.source.next({cmd:r,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Vn)}return(t){return Object.create(this.source.return&&this.source.return(t)||Vn)}},vp=class{constructor(t){this.source=t,this._closedPromise=new Promise(r=>this._closedPromiseResolve=r)}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(t){return ar(this,arguments,void 0,function*(r,i=\"read\"){return yield this.source.next({cmd:i,size:r})})}throw(t){return ar(this,void 0,void 0,function*(){let r=this.source.throw&&(yield this.source.throw(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}return(t){return ar(this,void 0,void 0,function*(){let r=this.source.return&&(yield this.source.return(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}};var i2=class extends ld{constructor(t,r){super(),this.position=0,this.buffer=Rr(t),this.size=r===void 0?this.buffer.byteLength:r}readInt32(t){let{buffer:r,byteOffset:i}=this.readAt(t,4);return new DataView(r,i).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),tn2,Int128:()=>s2,Int64:()=>xp,Uint64:()=>gs});function Tv(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var Mv=8,DO=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],n2=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let r=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),s=r[3]*i[3];this.buffer[0]=s&65535;let n=s>>>16;return s=r[2]*i[3],n+=s,s=r[3]*i[2]>>>0,n+=s,this.buffer[0]+=n<<16,this.buffer[1]=n>>>0>>16,this.buffer[1]+=r[1]*i[3]+r[2]*i[2]+r[3]*i[1],this.buffer[1]+=r[0]*i[3]+r[1]*i[2]+r[2]*i[1]+r[3]*i[0]<<16,this}_plus(t){let r=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],r>>0&&++this.buffer[1],this.buffer[0]=r}lessThan(t){return this.buffer[1]>>0,r[2]=this.buffer[2]+t.buffer[2]>>>0,r[1]=this.buffer[1]+t.buffer[1]>>>0,r[0]=this.buffer[0]+t.buffer[0]>>>0,r[0]>>0&&++r[1],r[1]>>0&&++r[2],r[2]>>0&&++r[3],this.buffer[3]=r[3],this.buffer[2]=r[2],this.buffer[1]=r[1],this.buffer[0]=r[0],this}hex(){return`${Tv(this.buffer[3])} ${Tv(this.buffer[2])} ${Tv(this.buffer[1])} ${Tv(this.buffer[0])}`}static multiply(t,r){return new e(new Uint32Array(t.buffer)).times(r)}static add(t,r){return new e(new Uint32Array(t.buffer)).plus(r)}static from(t,r=new Uint32Array(4)){return e.fromString(typeof t==\"string\"?t:t.toString(),r)}static fromNumber(t,r=new Uint32Array(4)){return e.fromString(t.toString(),r)}static fromString(t,r=new Uint32Array(4)){let i=t.startsWith(\"-\"),s=t.length,n=new e(r);for(let o=i?1:0;o0&&this.readData(t,i)||new Uint8Array(0)}readOffsets(t,r){return this.readData(t,r)}readTypeIds(t,r){return this.readData(t,r)}readData(t,{length:r,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+r)}readDictionary(t){return this.dictionaries.get(t.id)}},g3=class extends o2{constructor(t,r,i,s,n){super(new Uint8Array(0),r,i,s,n),this.sources=t}readNullBitmap(t,r,{offset:i}=this.nextBufferRange()){return r<=0?new Uint8Array(0):Sg(this.sources[i])}readOffsets(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.OffsetArrayType,this.sources[r]))}readTypeIds(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.ArrayType,this.sources[r]))}readData(t,{offset:r}=this.nextBufferRange()){let{sources:i}=this;return ze.isTimestamp(t)?Ai(Uint8Array,xp.convertArray(i[r])):(ze.isInt(t)||ze.isTime(t))&&t.bitWidth===64||ze.isDuration(t)?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDate(t)&&t.unit===Os.MILLISECOND?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDecimal(t)?Ai(Uint8Array,s2.convertArray(i[r])):ze.isBinary(t)||ze.isLargeBinary(t)||ze.isFixedSizeBinary(t)?hft(i[r]):ze.isBool(t)?Sg(i[r]):ze.isUtf8(t)||ze.isLargeUtf8(t)?Jf(i[r].join(\"\")):Ai(Uint8Array,Ai(t.ArrayType,i[r].map(s=>+s)))}};function hft(e){let t=e.join(\"\"),r=new Uint8Array(t.length/2);for(let i=0;i>1]=Number.parseInt(t.slice(i,i+2),16);return r}var Pg=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,0);else{let f=c.length;s.set(c,n),i.set(o,f),n+=f}}};var Ig=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,BigInt(0));else{let f=c.length;s.set(c,n),i.set(o,BigInt(f)),n+=f}}};var mm=class extends Xn{constructor(t){super(t),this._values=new wv}setValue(t,r){this._values.set(t,+r)}};var gm=class extends _o{};gm.prototype._setValue=pO;var Ev=class extends gm{};Ev.prototype._setValue=WP;var Pv=class extends gm{};Pv.prototype._setValue=HP;var Iv=class extends _o{};Iv.prototype._setValue=gO;var a2=class extends Xn{constructor({type:t,nullValues:r,dictionaryHashFunction:i}){super({type:new mc(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Cg({type:this.type.indices,nullValues:r}),this.dictionary=Cg({type:this.type.dictionary,nullValues:null}),typeof i==\"function\"&&(this.valueToKey=i)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,r){let i=this.indices;return r=i.setValid(t,r),this.length=i.length,r}setValue(t,r){let i=this._keysToIndices,s=this.valueToKey(r),n=i[s];return n===void 0&&(i[s]=n=this._dictionaryOffset+this.dictionary.append(r).length-1),this.indices.setValue(t,n)}flush(){let t=this.type,r=this._dictionary,i=this.dictionary.toVector(),s=this.indices.flush().clone(t);return s.dictionary=r?r.concat(i):i,this.finished||(this._dictionaryOffset+=i.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}};var Cv=class extends _o{};Cv.prototype._setValue=dO;var l2=class extends Xn{setValue(t,r){let[i]=this.children,s=t*this.stride;for(let n=-1,o=r.length;++n0)throw new Error(\"FixedSizeListBuilder can only have one child.\");let i=this.children.push(t);return this.type=new Ll(this.type.listSize,new si(r,t.type,!0)),i}};var _m=class extends _o{setValue(t,r){this._values.set(t,r)}},c2=class extends _m{setValue(t,r){super.setValue(t,Xw(r))}},u2=class extends _m{},h2=class extends _m{};var ym=class extends _o{};ym.prototype._setValue=_O;var Lv=class extends ym{};Lv.prototype._setValue=t3;var kv=class extends ym{};kv.prototype._setValue=e3;var cd=class extends _o{};cd.prototype._setValue=yO;var Rv=class extends cd{};Rv.prototype._setValue=r3;var Dv=class extends cd{};Dv.prototype._setValue=i3;var Ov=class extends cd{};Ov.prototype._setValue=n3;var Bv=class extends cd{};Bv.prototype._setValue=s3;var lu=class extends _o{setValue(t,r){this._values.set(t,r)}},f2=class extends lu{},d2=class extends lu{},p2=class extends lu{},A2=class extends lu{},m2=class extends lu{},g2=class extends lu{},_2=class extends lu{},y2=class extends lu{};var v2=class extends gc{constructor(t){super(t),this._offsets=new Sv(t.type)}addChild(t,r=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new sl(new si(r,t.type,!0)),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(typeof n>\"u\")r.set(s,0);else{let o=n,c=o.length,f=r.set(s,c).buffer[s];for(let _=-1;++_0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Ac(new si(r,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(n===void 0)r.set(s,0);else{let{[s]:o,[s+1]:c}=r.set(s,n.size).buffer;for(let f of n.entries())if(i.set(o,f),++o>=c)break}}};var b2=class extends Xn{setValue(t,r){}setValid(t,r){return this.length=Math.max(t+1,this.length),r}};var w2=class extends Xn{setValue(t,r){let{children:i,type:s}=this;switch(Array.isArray(r)||r.constructor){case!0:return s.children.forEach((n,o)=>i[o].set(t,r[o]));case Map:return s.children.forEach((n,o)=>i[o].set(t,r.get(n.name)));default:return s.children.forEach((n,o)=>i[o].set(t,r[n.name]))}}setValid(t,r){return super.setValid(t,r)||this.children.forEach(i=>i.setValid(t,r)),r}addChild(t,r=`${this.numChildren}`){let i=this.children.push(t);return this.type=new pn([...this.type.children,new si(r,t.type,!0)]),i}};var ud=class extends _o{};ud.prototype._setValue=AO;var Fv=class extends ud{};Fv.prototype._setValue=qP;var zv=class extends ud{};zv.prototype._setValue=ZP;var Nv=class extends ud{};Nv.prototype._setValue=YP;var Uv=class extends ud{};Uv.prototype._setValue=QP;var hd=class extends _o{};hd.prototype._setValue=mO;var Vv=class extends hd{};Vv.prototype._setValue=$P;var jv=class extends hd{};jv.prototype._setValue=XP;var Gv=class extends hd{};Gv.prototype._setValue=KP;var Wv=class extends hd{};Wv.prototype._setValue=JP;var Lg=class extends Xn{constructor(t){super(t),this._typeIds=new gp(Int8Array,0,1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,r){return this.set(this.length,t,r)}set(t,r,i){return i===void 0&&(i=this._valueToChildTypeId(this,r,t)),this.setValue(t,r,i),this}setValue(t,r,i){this._typeIds.set(t,i);let s=this.type.typeIdToChildIndex[i],n=this.children[s];n?.set(t,r)}addChild(t,r=`${this.children.length}`){let i=this.children.push(t),{type:{children:s,mode:n,typeIds:o}}=this,c=[...s,new si(r,t.type)];return this.type=new pc(n,[...o,i],c),i}_valueToChildTypeId(t,r,i){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}},S2=class extends Lg{},T2=class extends Lg{constructor(t){super(t),this._offsets=new gp(Int32Array)}setValue(t,r,i){let s=this._typeIds.set(t,i).buffer[t],n=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(t,n.length).buffer[t];n?.set(o,r)}};var Hv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};Hv.prototype._flushPending=Pg.prototype._flushPending;var qv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};qv.prototype._flushPending=Ig.prototype._flushPending;var BO=class extends Er{visitNull(){return b2}visitBool(){return mm}visitInt(){return lu}visitInt8(){return f2}visitInt16(){return d2}visitInt32(){return p2}visitInt64(){return A2}visitUint8(){return m2}visitUint16(){return g2}visitUint32(){return _2}visitUint64(){return y2}visitFloat(){return _m}visitFloat16(){return c2}visitFloat32(){return u2}visitFloat64(){return h2}visitUtf8(){return Hv}visitLargeUtf8(){return qv}visitBinary(){return Pg}visitLargeBinary(){return Ig}visitFixedSizeBinary(){return Cv}visitDate(){return gm}visitDateDay(){return Ev}visitDateMillisecond(){return Pv}visitTimestamp(){return ud}visitTimestampSecond(){return Fv}visitTimestampMillisecond(){return zv}visitTimestampMicrosecond(){return Nv}visitTimestampNanosecond(){return Uv}visitTime(){return hd}visitTimeSecond(){return Vv}visitTimeMillisecond(){return jv}visitTimeMicrosecond(){return Gv}visitTimeNanosecond(){return Wv}visitDecimal(){return Iv}visitList(){return v2}visitStruct(){return w2}visitUnion(){return Lg}visitDenseUnion(){return T2}visitSparseUnion(){return S2}visitDictionary(){return a2}visitInterval(){return ym}visitIntervalDayTime(){return Lv}visitIntervalYearMonth(){return kv}visitDuration(){return cd}visitDurationSecond(){return Rv}visitDurationMillisecond(){return Dv}visitDurationMicrosecond(){return Ov}visitDurationNanosecond(){return Bv}visitFixedSizeList(){return l2}visitMap(){return x2}},iH=new BO;var Lr=class extends Er{compareSchemas(t,r){return t===r||r instanceof t.constructor&&this.compareManyFields(t.fields,r.fields)}compareManyFields(t,r){return t===r||Array.isArray(t)&&Array.isArray(r)&&t.length===r.length&&t.every((i,s)=>this.compareFields(i,r[s]))}compareFields(t,r){return t===r||r instanceof t.constructor&&t.name===r.name&&t.nullable===r.nullable&&this.visit(t.type,r.type)}};function kl(e,t){return t instanceof e.constructor}function kg(e,t){return e===t||kl(e,t)}function bp(e,t){return e===t||kl(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function _3(e,t){return e===t||kl(e,t)&&e.precision===t.precision}function fft(e,t){return e===t||kl(e,t)&&e.byteWidth===t.byteWidth}function FO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function M2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function E2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function dft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function pft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function zO(e,t){return e===t||kl(e,t)&&e.mode===t.mode&&e.typeIds.every((r,i)=>r===t.typeIds[i])&&fd.compareManyFields(e.children,t.children)}function Aft(e,t){return e===t||kl(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&fd.visit(e.indices,t.indices)&&fd.visit(e.dictionary,t.dictionary)}function NO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function P2(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function mft(e,t){return e===t||kl(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function gft(e,t){return e===t||kl(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}Lr.prototype.visitNull=kg;Lr.prototype.visitBool=kg;Lr.prototype.visitInt=bp;Lr.prototype.visitInt8=bp;Lr.prototype.visitInt16=bp;Lr.prototype.visitInt32=bp;Lr.prototype.visitInt64=bp;Lr.prototype.visitUint8=bp;Lr.prototype.visitUint16=bp;Lr.prototype.visitUint32=bp;Lr.prototype.visitUint64=bp;Lr.prototype.visitFloat=_3;Lr.prototype.visitFloat16=_3;Lr.prototype.visitFloat32=_3;Lr.prototype.visitFloat64=_3;Lr.prototype.visitUtf8=kg;Lr.prototype.visitLargeUtf8=kg;Lr.prototype.visitBinary=kg;Lr.prototype.visitLargeBinary=kg;Lr.prototype.visitFixedSizeBinary=fft;Lr.prototype.visitDate=FO;Lr.prototype.visitDateDay=FO;Lr.prototype.visitDateMillisecond=FO;Lr.prototype.visitTimestamp=M2;Lr.prototype.visitTimestampSecond=M2;Lr.prototype.visitTimestampMillisecond=M2;Lr.prototype.visitTimestampMicrosecond=M2;Lr.prototype.visitTimestampNanosecond=M2;Lr.prototype.visitTime=E2;Lr.prototype.visitTimeSecond=E2;Lr.prototype.visitTimeMillisecond=E2;Lr.prototype.visitTimeMicrosecond=E2;Lr.prototype.visitTimeNanosecond=E2;Lr.prototype.visitDecimal=kg;Lr.prototype.visitList=dft;Lr.prototype.visitStruct=pft;Lr.prototype.visitUnion=zO;Lr.prototype.visitDenseUnion=zO;Lr.prototype.visitSparseUnion=zO;Lr.prototype.visitDictionary=Aft;Lr.prototype.visitInterval=NO;Lr.prototype.visitIntervalDayTime=NO;Lr.prototype.visitIntervalYearMonth=NO;Lr.prototype.visitDuration=P2;Lr.prototype.visitDurationSecond=P2;Lr.prototype.visitDurationMillisecond=P2;Lr.prototype.visitDurationMicrosecond=P2;Lr.prototype.visitDurationNanosecond=P2;Lr.prototype.visitFixedSizeList=mft;Lr.prototype.visitMap=gft;var fd=new Lr;function Rg(e,t){return fd.compareSchemas(e,t)}function nH(e,t){return fd.compareFields(e,t)}function sH(e,t){return fd.visit(e,t)}function Cg(e){let t=e.type,r=new(iH.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let i=e.children||[],s={nullValues:e.nullValues},n=Array.isArray(i)?(o,c)=>i[c]||s:({name:o})=>i[o]||s;for(let[o,c]of t.children.entries()){let{type:f}=c,_=n(c,o);r.children.push(Cg(Object.assign(Object.assign({},_),{type:f})))}}return r}function y3(e,t){return _ft(e,t.map(r=>r.data.concat()))}function _ft(e,t){let r=[...e.fields],i=[],s={numBatches:t.reduce((I,R)=>Math.max(I,R.length),0)},n=0,o=0,c=-1,f=t.length,_,w=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,c=-1;++c0&&(i[n++]=yr({type:new pn(r),length:o,nullCount:0,children:w.slice()})))}return[e=e.assign(r),i.map(I=>new Fs(e,I))]}function yft(e,t,r,i,s){var n;let o=(t+63&-64)>>3;for(let c=-1,f=i.length;++c=t)w===t?r[c]=_:(r[c]=_.slice(0,t),s.numBatches=Math.max(s.numBatches,i[c].unshift(_.slice(t,w-t))));else{let I=e[c];e[c]=I.clone({nullable:!0}),r[c]=(n=_?._changeLengthAndBackfillNullBitmap(t))!==null&&n!==void 0?n:yr({type:I.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return r}var aH,wa=class e{constructor(...t){var r,i;if(t.length===0)return this.batches=[],this.schema=new an([]),this._offsets=[0],this;let s,n;t[0]instanceof an&&(s=t.shift()),t.at(-1)instanceof Uint32Array&&(n=t.pop());let o=f=>{if(f){if(f instanceof Fs)return[f];if(f instanceof e)return f.batches;if(f instanceof Fi){if(f.type instanceof pn)return[new Fs(new an(f.type.children),f)]}else{if(Array.isArray(f))return f.flatMap(_=>o(_));if(typeof f[Symbol.iterator]==\"function\")return[...f].flatMap(_=>o(_));if(typeof f==\"object\"){let _=Object.keys(f),w=_.map(N=>new xr([f[N]])),I=s??new an(_.map((N,j)=>new si(String(N),w[j].type,w[j].nullable))),[,R]=y3(I,w);return R.length===0?[new Fs(f)]:R}}}return[]},c=t.flatMap(f=>o(f));if(s=(i=s??((r=c[0])===null||r===void 0?void 0:r.schema))!==null&&i!==void 0?i:new an([]),!(s instanceof an))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");for(let f of c){if(!(f instanceof Fs))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");if(!Rg(s,f.schema))throw new TypeError(\"Table and inner RecordBatch schemas must be equivalent.\")}this.schema=s,this.batches=c,this._offsets=n??u3(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,r)=>t+r.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=c3(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.numRows))}set(t,r){}indexOf(t,r){return-1}[Symbol.iterator](){return this.batches.length>0?bv.visit(new xr(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(`,\n `)}\n]`}concat(...t){let r=this.schema,i=this.data.concat(t.flatMap(({data:s})=>s));return new e(r,i.map(s=>new Fs(r,s)))}slice(t,r){let i=this.schema;[t,r]=Kw({length:this.numRows},t,r);let s=h3(this.data,this._offsets,t,r);return new e(i,s.map(n=>new Fs(i,n)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(r=>r.name===t))}getChildAt(t){if(t>-1&&ti.children[t]);if(r.length===0){let{type:i}=this.schema.fields[t],s=yr({type:i,length:0,nullCount:0});r.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new xr(r)}return null}setChild(t,r){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(s=>s.name===t),r)}setChildAt(t,r){let i=this.schema,s=[...this.batches];if(t>-1&&tthis.getChildAt(_));[n[t],c[t]]=[o,r],[i,s]=y3(i,c)}return new e(i,s)}select(t){let r=this.schema.fields.reduce((i,s,n)=>i.set(s.name,n),new Map);return this.selectAt(t.map(i=>r.get(i)).filter(i=>i>-1))}selectAt(t){let r=this.schema.selectAt(t),i=this.batches.map(s=>s.selectAt(t));return new e(r,i)}assign(t){let r=this.schema.fields,[i,s]=t.schema.fields.reduce((c,f,_)=>{let[w,I]=c,R=r.findIndex(N=>N.name===f.name);return~R?I[R]=_:w.push(_),c},[[],[]]),n=this.schema.assign(t.schema),o=[...r.map((c,f)=>[f,s[f]]).map(([c,f])=>f===void 0?this.getChildAt(c):t.getChildAt(f)),...i.map(c=>t.getChildAt(c))].filter(Boolean);return new e(...y3(n,o))}};aH=Symbol.toStringTag;wa[aH]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=xv(e2),e.get=xv(go.getVisitFn(Ot.Struct)),e.set=f3(ba.getVisitFn(Ot.Struct)),e.indexOf=d3(Tg.getVisitFn(Ot.Struct)),\"Table\"))(wa.prototype);var cH,Fs=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof an))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");if([,this.data=yr({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(r=>yr({type:r.type,nullCount:0}))})]=t,!(this.data instanceof Fi))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");[this.schema,this.data]=lH(this.schema,this.data.children);break}case 1:{let[r]=t,{fields:i,children:s,length:n}=Object.keys(r).reduce((f,_,w)=>(f.children[w]=r[_],f.length=Math.max(f.length,r[_].length),f.fields[w]=si.new({name:_,type:r[_].type,nullable:!0}),f),{length:0,fields:new Array,children:new Array}),o=new an(i),c=yr({type:new pn(i),length:n,children:s,nullCount:0});[this.schema,this.data]=lH(o,c.children,n);break}default:throw new TypeError(\"RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.\")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uH(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return go.visit(this.data,t)}at(t){return this.get(xg(t,this.numRows))}set(t,r){return ba.visit(this.data,t,r)}indexOf(t,r){return Tg.visit(this.data,t,r)}[Symbol.iterator](){return bv.visit(new xr([this.data]))}toArray(){return[...this]}concat(...t){return new wa(this.schema,[this,...t])}slice(t,r){let[i]=new xr([this.data]).slice(t,r).data;return new e(this.schema,i)}getChild(t){var r;return this.getChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&ts.name===t),r)}setChildAt(t,r){let i=this.schema,s=this.data;if(t>-1&&tc.name===n);~o&&(s[o]=this.data.children[o])}return new e(r,yr({type:i,length:this.numRows,children:s}))}selectAt(t){let r=this.schema.selectAt(t),i=t.map(n=>this.data.children[n]).filter(Boolean),s=yr({type:new pn(r.fields),length:this.numRows,children:i});return new e(r,s)}};cH=Symbol.toStringTag;Fs[cH]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,\"RecordBatch\"))(Fs.prototype);function lH(e,t,r=t.reduce((i,s)=>Math.max(i,s.length),0)){var i;let s=[...e.fields],n=[...t],o=(r+63&-64)>>3;for(let[c,f]of e.fields.entries()){let _=t[c];(!_||_.length!==r)&&(s[c]=f.clone({nullable:!0}),n[c]=(i=_?._changeLengthAndBackfillNullBitmap(r))!==null&&i!==void 0?i:yr({type:f.type,length:r,nullCount:r,nullBitmap:new Uint8Array(o)}))}return[e.assign(s),yr({type:new pn(s),length:r,children:n})]}function uH(e,t,r=new Map){var i,s;if(((i=e?.length)!==null&&i!==void 0?i:0)>0&&e?.length===t?.length)for(let n=-1,o=e.length;++nyr({type:s.type})),i=yr({type:new pn(t.fields),nullCount:0,children:r});super(t,i)}};var sf=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsMessage(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):wi.NONE}header(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__union(t,this.bb_pos+r):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt(\"0\")}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addHeaderType(t,r){t.addFieldInt8(1,r,wi.NONE)}static addHeader(t,r){t.addFieldOffset(2,r,0)}static addBodyLength(t,r){t.addFieldInt64(3,r,BigInt(\"0\"))}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,r){t.finish(r)}static finishSizePrefixedMessageBuffer(t,r){t.finish(r,void 0,!0)}static createMessage(t,r,i,s,n,o){return e.startMessage(t),e.addVersion(t,r),e.addHeaderType(t,i),e.addHeader(t,s),e.addBodyLength(t,n),e.addCustomMetadata(t,o),e.endMessage(t)}};var UO=class extends Er{visit(t,r){return t==null||r==null?void 0:super.visit(t,r)}visitNull(t,r){return Fw.startNull(r),Fw.endNull(r)}visitInt(t,r){return Xh.startInt(r),Xh.addBitWidth(r,t.bitWidth),Xh.addIsSigned(r,t.isSigned),Xh.endInt(r)}visitFloat(t,r){return lm.startFloatingPoint(r),lm.addPrecision(r,t.precision),lm.endFloatingPoint(r)}visitBinary(t,r){return kw.startBinary(r),kw.endBinary(r)}visitLargeBinary(t,r){return Dw.startLargeBinary(r),Dw.endLargeBinary(r)}visitBool(t,r){return Rw.startBool(r),Rw.endBool(r)}visitUtf8(t,r){return Nw.startUtf8(r),Nw.endUtf8(r)}visitLargeUtf8(t,r){return Ow.startLargeUtf8(r),Ow.endLargeUtf8(r)}visitDecimal(t,r){return id.startDecimal(r),id.addScale(r,t.scale),id.addPrecision(r,t.precision),id.addBitWidth(r,t.bitWidth),id.endDecimal(r)}visitDate(t,r){return nm.startDate(r),nm.addUnit(r,t.unit),nm.endDate(r)}visitTime(t,r){return pp.startTime(r),pp.addUnit(r,t.unit),pp.addBitWidth(r,t.bitWidth),pp.endTime(r)}visitTimestamp(t,r){let i=t.timezone&&r.createString(t.timezone)||void 0;return Ap.startTimestamp(r),Ap.addUnit(r,t.unit),i!==void 0&&Ap.addTimezone(r,i),Ap.endTimestamp(r)}visitInterval(t,r){return cm.startInterval(r),cm.addUnit(r,t.unit),cm.endInterval(r)}visitDuration(t,r){return sm.startDuration(r),sm.addUnit(r,t.unit),sm.endDuration(r)}visitList(t,r){return Bw.startList(r),Bw.endList(r)}visitStruct(t,r){return zw.startStruct_(r),zw.endStruct_(r)}visitUnion(t,r){Kh.startTypeIdsVector(r,t.typeIds.length);let i=Kh.createTypeIdsVector(r,t.typeIds);return Kh.startUnion(r),Kh.addMode(r,t.mode),Kh.addTypeIds(r,i),Kh.endUnion(r)}visitDictionary(t,r){let i=this.visit(t.indices,r);return rd.startDictionaryEncoding(r),rd.addId(r,BigInt(t.id)),rd.addIsOrdered(r,t.isOrdered),i!==void 0&&rd.addIndexType(r,i),rd.endDictionaryEncoding(r)}visitFixedSizeBinary(t,r){return om.startFixedSizeBinary(r),om.addByteWidth(r,t.byteWidth),om.endFixedSizeBinary(r)}visitFixedSizeList(t,r){return am.startFixedSizeList(r),am.addListSize(r,t.listSize),am.endFixedSizeList(r)}visitMap(t,r){return um.startMap(r),um.addKeysSorted(r,t.keysSorted),um.endMap(r)}},v3=new UO;function pH(e,t=new Map){return new an(vft(e,t),x3(e.metadata),t)}function VO(e){return new Sa(e.count,mH(e.columns),gH(e.columns))}function AH(e){return new yc(VO(e.data),e.id,e.isDelta)}function vft(e,t){return(e.fields||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function hH(e,t){return(e.children||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function mH(e){return(e||[]).reduce((t,r)=>[...t,new Xu(r.count,xft(r.VALIDITY)),...mH(r.children)],[])}function gH(e,t=[]){for(let r=-1,i=(e||[]).length;++rt+ +(r===0),0)}function _H(e,t){let r,i,s,n,o,c;return!t||!(n=e.dictionary)?(o=dH(e,hH(e,t)),s=new si(e.name,o,e.nullable,x3(e.metadata))):t.has(r=n.id)?(i=(i=n.indexType)?fH(i):new ef,c=new mc(t.get(r),i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))):(i=(i=n.indexType)?fH(i):new ef,t.set(r,o=dH(e,hH(e,t))),c=new mc(o,i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))),s||null}function x3(e=[]){return new Map(e.map(({key:t,value:r})=>[t,r]))}function fH(e){return new Bs(e.isSigned,e.bitWidth)}function dH(e,t){let r=e.type.name;switch(r){case\"NONE\":return new ea;case\"null\":return new ea;case\"binary\":return new Vu;case\"largebinary\":return new nd;case\"utf8\":return new ju;case\"largeutf8\":return new sd;case\"bool\":return new dc;case\"list\":return new sl((t||[])[0]);case\"struct\":return new pn(t||[]);case\"struct_\":return new pn(t||[])}switch(r){case\"int\":{let i=e.type;return new Bs(i.isSigned,i.bitWidth)}case\"floatingpoint\":{let i=e.type;return new ra($i[i.precision])}case\"decimal\":{let i=e.type;return new Gu(i.scale,i.precision,i.bitWidth)}case\"date\":{let i=e.type;return new Wu(Os[i.unit])}case\"time\":{let i=e.type;return new Hu(Ar[i.unit],i.bitWidth)}case\"timestamp\":{let i=e.type;return new qu(Ar[i.unit],i.timezone)}case\"interval\":{let i=e.type;return new Zu(Bo[i.unit])}case\"duration\":{let i=e.type;return new Yu(Ar[i.unit])}case\"union\":{let i=e.type,[s,...n]=(i.mode+\"\").toLowerCase(),o=s.toUpperCase()+n.join(\"\");return new pc(Pn[o],i.typeIds||[],t||[])}case\"fixedsizebinary\":{let i=e.type;return new Qu(i.byteWidth)}case\"fixedsizelist\":{let i=e.type;return new Ll(i.listSize,(t||[])[0])}case\"map\":{let i=e.type;return new Ac((t||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: \"${r}\"`)}var bft=vg,wft=nu,vc=class e{static fromJSON(t,r){let i=new e(0,sn.V5,r);return i._createHeader=Sft(t,r),i}static decode(t){t=new wft(Rr(t));let r=sf.getRootAsMessage(t),i=r.bodyLength(),s=r.version(),n=r.headerType(),o=new e(i,s,n);return o._createHeader=Tft(r,n),o}static encode(t){let r=new bft,i=-1;return t.isSchema()?i=an.encode(r,t.header()):t.isRecordBatch()?i=Sa.encode(r,t.header()):t.isDictionaryBatch()&&(i=yc.encode(r,t.header())),sf.startMessage(r),sf.addVersion(r,sn.V5),sf.addHeader(r,i),sf.addHeaderType(r,t.headerType),sf.addBodyLength(r,BigInt(t.bodyLength)),sf.finishMessageBuffer(r,sf.endMessage(r)),r.asUint8Array()}static from(t,r=0){if(t instanceof an)return new e(0,sn.V5,wi.Schema,t);if(t instanceof Sa)return new e(r,sn.V5,wi.RecordBatch,t);if(t instanceof yc)return new e(r,sn.V5,wi.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===wi.Schema}isRecordBatch(){return this.headerType===wi.RecordBatch}isDictionaryBatch(){return this.headerType===wi.DictionaryBatch}constructor(t,r,i,s){this._version=r,this._headerType=i,this.body=new Uint8Array(0),s&&(this._createHeader=()=>s),this._bodyLength=Wi(t)}},Sa=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,r,i){this._nodes=r,this._buffers=i,this._length=Wi(t)}},yc=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,r,i=!1){this._data=t,this._isDelta=i,this._id=Wi(r)}},_c=class{constructor(t,r){this.offset=Wi(t),this.length=Wi(r)}},Xu=class{constructor(t,r){this.length=Wi(t),this.nullCount=Wi(r)}};function Sft(e,t){return()=>{switch(t){case wi.Schema:return an.fromJSON(e);case wi.RecordBatch:return Sa.fromJSON(e);case wi.DictionaryBatch:return yc.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}function Tft(e,t){return()=>{switch(t){case wi.Schema:return an.decode(e.header(new fc),new Map,e.version());case wi.RecordBatch:return Sa.decode(e.header(new su),e.version());case wi.DictionaryBatch:return yc.decode(e.header(new dp),e.version())}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}si.encode=Bft;si.decode=Dft;si.fromJSON=_H;an.encode=Oft;an.decode=Mft;an.fromJSON=pH;Sa.encode=Fft;Sa.decode=Eft;Sa.fromJSON=VO;yc.encode=zft;yc.decode=Pft;yc.fromJSON=AH;Xu.encode=Nft;Xu.decode=Cft;_c.encode=Uft;_c.decode=Ift;function Mft(e,t=new Map,r=sn.V5){let i=Rft(e,t);return new an(i,b3(e),t,r)}function Eft(e,t=sn.V5){if(e.compression()!==null)throw new Error(\"Record batch compression not implemented\");return new Sa(e.length(),Lft(e),kft(e,t))}function Pft(e,t=sn.V5){return new yc(Sa.decode(e.data(),t),e.id(),e.isDelta())}function Ift(e){return new _c(e.offset(),e.length())}function Cft(e){return new Xu(e.length(),e.nullCount())}function Lft(e){let t=[];for(let r,i=-1,s=-1,n=e.nodesLength();++isi.encode(e,n));fc.startFieldsVector(e,r.length);let i=fc.createFieldsVector(e,r),s=t.metadata&&t.metadata.size>0?fc.createCustomMetadataVector(e,[...t.metadata].map(([n,o])=>{let c=e.createString(`${n}`),f=e.createString(`${o}`);return Fo.startKeyValue(e),Fo.addKey(e,c),Fo.addValue(e,f),Fo.endKeyValue(e)})):-1;return fc.startSchema(e),fc.addFields(e,i),fc.addEndianness(e,Vft?im.Little:im.Big),s!==-1&&fc.addCustomMetadata(e,s),fc.endSchema(e)}function Bft(e,t){let r=-1,i=-1,s=-1,n=t.type,o=t.typeId;ze.isDictionary(n)?(o=n.dictionary.typeId,s=v3.visit(n,e),i=v3.visit(n.dictionary,e)):i=v3.visit(n,e);let c=(n.children||[]).map(w=>si.encode(e,w)),f=nl.createChildrenVector(e,c),_=t.metadata&&t.metadata.size>0?nl.createCustomMetadataVector(e,[...t.metadata].map(([w,I])=>{let R=e.createString(`${w}`),N=e.createString(`${I}`);return Fo.startKeyValue(e),Fo.addKey(e,R),Fo.addValue(e,N),Fo.endKeyValue(e)})):-1;return t.name&&(r=e.createString(t.name)),nl.startField(e),nl.addType(e,i),nl.addTypeType(e,o),nl.addChildren(e,f),nl.addNullable(e,!!t.nullable),r!==-1&&nl.addName(e,r),s!==-1&&nl.addDictionary(e,s),_!==-1&&nl.addCustomMetadata(e,_),nl.endField(e)}function Fft(e,t){let r=t.nodes||[],i=t.buffers||[];su.startNodesVector(e,r.length);for(let o of r.slice().reverse())Xu.encode(e,o);let s=e.endVector();su.startBuffersVector(e,i.length);for(let o of i.slice().reverse())_c.encode(e,o);let n=e.endVector();return su.startRecordBatch(e),su.addLength(e,BigInt(t.length)),su.addNodes(e,s),su.addBuffers(e,n),su.endRecordBatch(e)}function zft(e,t){let r=Sa.encode(e,t.data);return dp.startDictionaryBatch(e),dp.addId(e,BigInt(t.id)),dp.addIsDelta(e,t.isDelta),dp.addData(e,r),dp.endDictionaryBatch(e)}function Nft(e,t){return hv.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function Uft(e,t){return uv.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var Vft=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var GO=e=>`Expected ${wi[e]} Message in stream, but was null or length 0.`,WO=e=>`Header pointer of flatbuffer-encoded ${wi[e]} Message is null or length 0.`,bH=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,wH=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Zv=class{constructor(t){this.source=t instanceof ld?t:new ld(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?Vn:t.value===-1&&(t=this.readMetadataLength()).done?Vn:(t=this.readMetadata(t.value)).done?Vn:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let r=Rr(this.source.read(t));if(r.byteLength[...s,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE_ID&&[n.TYPE_ID]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...r(n.children)],[])}}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readSchema(){let t=wi.Schema,r=this.readMessage(t),i=r?.header();if(!r||!i)throw new Error(WO(t));return i}},w3=4,jO=\"ARROW1\",Yv=new Uint8Array(jO.length);for(let e=0;ethis):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return xa.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return xa.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof e?t:CP(t)?Gft(t):kP(t)?qft(t):ru(t)?ar(this,void 0,void 0,function*(){return yield e.from(yield t)}):RP(t)||Mw(t)||OP(t)||Nu(t)?Hft(new $u(t)):Wft(new ld(t))}static readAll(t){return t instanceof e?t.isSync()?TH(t):MH(t):CP(t)||ArrayBuffer.isView(t)||Yh(t)||LP(t)?TH(t):MH(t)}},wp=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(this[Symbol.iterator]())))})}},Og=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return ar(this,void 0,void 0,function*(){var t,r,i,s;let n=new Array;try{for(var o=!0,c=Zh(this),f;f=yield c.next(),t=f.done,!t;o=!0){s=f.value,o=!1;let _=s;n.push(_)}}catch(_){r={error:_}}finally{try{!o&&!t&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}return n})}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Bg=class extends wp{constructor(t){super(t),this._impl=t}},T3=class extends Og{constructor(t){super(t),this._impl=t}},M3=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,r){let i=this._loadVectors(t,r,this.schema.fields),s=yr({type:new pn(this.schema.fields),length:t.length,children:i});return new Fs(this.schema,s)}_loadDictionaryBatch(t,r){let{id:i,isDelta:s}=t,{dictionaries:n,schema:o}=this,c=n.get(i);if(s||!c){let f=o.dictionaries.get(i),_=this._loadVectors(t.data,r,[f]);return(c&&s?c.concat(new xr(_)):new xr(_)).memoize()}return c.memoize()}_loadVectors(t,r,i){return new o2(r,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}},$v=class extends M3{constructor(t,r){super(r),this._reader=CP(t)?new C2(this._handle=t):new Zv(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Vn}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Vn}next(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Xv=class extends M3{constructor(t,r){super(r),this._reader=new I2(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ar(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return ar(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):Vn})}return(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):Vn})}next(){return ar(this,void 0,void 0,function*(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},E3=class extends $v{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,r){super(t instanceof i2?t:new i2(t),r)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var r;if(this.closed)return null;this._footer||this.open();let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null}_readDictionaryBatch(t){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}}_readFooter(){let{_handle:t}=this,r=t.size-HO,i=t.readInt32(r),s=t.readAt(r-i,i);return _p.decode(s)}_readNextMessageAndValidate(t){var r;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ar(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield r.open.call(this,t)})}readRecordBatch(t){return ar(this,void 0,void 0,function*(){var r;if(this.closed)return null;this._footer||(yield this.open());let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null})}_readDictionaryBatch(t){return ar(this,void 0,void 0,function*(){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}})}_readFooter(){return ar(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let r=t.size-HO,i=yield t.readInt32(r),s=yield t.readAt(r-i,i);return _p.decode(s)})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?S3(t)?new Bg(new E3(e.read())):new wp(new $v(e)):new wp(new $v(function*(){}()))}function Hft(e){return ar(this,void 0,void 0,function*(){let t=yield e.peek(Qv+7&-8);return t&&t.byteLength>=4?S3(t)?new Bg(new E3(yield e.read())):new Og(new Xv(e)):new Og(new Xv(function(){return eu(this,arguments,function*(){})}()))})}function qft(e){return ar(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),r=new Am(e,t);return t>=SH&&S3(yield r.readAt(0,Qv+7&-8))?new T3(new qO(r)):new Og(new Xv(r))})}var os=class e extends Er{static assemble(...t){let r=s=>s.flatMap(n=>Array.isArray(n)?r(n):n instanceof Fs?n.data.children:n.data),i=new e;return i.visitMany(r(t)),i}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof xr)return this.visitMany(t.data),this;let{type:r}=t;if(!ze.isDictionary(r)){let{length:i}=t;if(i>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");if(ze.isUnion(r))this.nodes.push(new Xu(i,0));else{let{nullCount:s}=t;ze.isNull(r)||of.call(this,s<=0?new Uint8Array(0):wg(t.offset,i,t.nullBitmap)),this.nodes.push(new Xu(i,s))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function of(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new _c(this._byteLength,t)),this._byteLength+=t,this}function Zft(e){var t;let{type:r,length:i,typeIds:s,valueOffsets:n}=e;if(of.call(this,s),r.mode===Pn.Sparse)return YO.call(this,e);if(r.mode===Pn.Dense){if(e.offset<=0)return of.call(this,n),YO.call(this,e);{let o=new Int32Array(i),c=Object.create(null),f=Object.create(null);for(let _,w,I=-1;++I{let I=r.typeIds[w],R=c[I],N=f[I];return _.slice(R,Math.min(i,N))}))}}return this}function Yft(e){let t;return e.nullCount>=e.length?of.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?of.call(this,wg(e.offset,e.length,t)):of.call(this,Sg(e.values))}function Sp(e){return of.call(this,e.values.subarray(0,e.length*e.stride))}function P3(e){let{length:t,values:r,valueOffsets:i}=e,s=Wi(i[0]),n=Wi(i[t]),o=Math.min(n-s,r.byteLength-s);return of.call(this,FP(-s,t+1,i)),of.call(this,r.subarray(s,s+o)),this}function QO(e){let{length:t,valueOffsets:r}=e;if(r){let{[0]:i,[t]:s}=r;return of.call(this,FP(-i,t+1,r)),this.visit(e.children[0].slice(i,s-i))}return this.visit(e.children[0])}function YO(e){return this.visitMany(e.type.children.map((t,r)=>e.children[r]).filter(Boolean))[0]}os.prototype.visitBool=Yft;os.prototype.visitInt=Sp;os.prototype.visitFloat=Sp;os.prototype.visitUtf8=P3;os.prototype.visitLargeUtf8=P3;os.prototype.visitBinary=P3;os.prototype.visitLargeBinary=P3;os.prototype.visitFixedSizeBinary=Sp;os.prototype.visitDate=Sp;os.prototype.visitTimestamp=Sp;os.prototype.visitTime=Sp;os.prototype.visitDecimal=Sp;os.prototype.visitList=QO;os.prototype.visitStruct=YO;os.prototype.visitUnion=Zft;os.prototype.visitInterval=Sp;os.prototype.visitDuration=Sp;os.prototype.visitFixedSizeList=QO;os.prototype.visitMap=QO;var Fg=class extends Eg{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new ad,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Cl(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return ru(t)?t.then(r=>this.writeAll(r)):Nu(t)?XO(this,t):$O(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,r=null){return t===this._sink||t instanceof ad?this._sink=t:(this._sink=new ad,t&&j9(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&G9(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!r||!Rg(r,this._schema))&&(r==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=r,this._writeSchema(r))),this}write(t){let r=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof wa&&!(r=t.schema))return this.finish()&&void 0;if(t instanceof Fs&&!(r=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(r&&!Rg(r,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,r)}t instanceof Fs?t instanceof Dg||this._writeRecordBatch(t):t instanceof wa?this.writeAll(t.batches):Yh(t)&&this.writeAll(t)}_writeMessage(t,r=8){let i=r-1,s=vc.encode(t),n=s.byteLength,o=this._writeLegacyIpcFormat?4:8,c=n+o+i&~i,f=c-n-o;return t.headerType===wi.RecordBatch?this._recordBatchBlocks.push(new yp(c,t.bodyLength,this._position)):t.headerType===wi.DictionaryBatch&&this._dictionaryBlocks.push(new yp(c,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(c-o)),n>0&&this._write(s),this._writePadding(f)}_write(t){if(this._started){let r=Rr(t);r&&r.byteLength>0&&(this._sink.write(r),this._position+=r.byteLength)}return this}_writeSchema(t){return this._writeMessage(vc.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Yv)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:r,nodes:i,bufferRegions:s,buffers:n}=os.assemble(t),o=new Sa(t.numRows,i,s),c=vc.from(o,r);return this._writeDictionaries(t)._writeMessage(c)._writeBodyBuffers(n)}_writeDictionaryBatch(t,r,i=!1){this._dictionaryDeltaOffsets.set(r,t.length+(this._dictionaryDeltaOffsets.get(r)||0));let{byteLength:s,nodes:n,bufferRegions:o,buffers:c}=os.assemble(new xr([t])),f=new Sa(t.length,n,o),_=new yc(f,r,i),w=vc.from(_,s);return this._writeMessage(w)._writeBodyBuffers(c)}_writeBodyBuffers(t){let r,i,s;for(let n=-1,o=t.length;++n0&&(this._write(r),(s=(i+7&-8)-i)>0&&this._writePadding(s));return this}_writeDictionaries(t){for(let[r,i]of t.dictionaries){let s=this._dictionaryDeltaOffsets.get(r)||0;if(s===0||(i=i?.slice(s)).length>0)for(let n of i.data)this._writeDictionaryBatch(n,r,s>0),s+=n.length}return this}},L2=class e extends Fg{static writeAll(t,r){let i=new e(r);return ru(t)?t.then(s=>i.writeAll(s)):Nu(t)?XO(i,t):$O(i,t)}},k2=class e extends Fg{static writeAll(t){let r=new e;return ru(t)?t.then(i=>r.writeAll(i)):Nu(t)?XO(r,t):$O(r,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let r=_p.encode(new _p(t,sn.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(r)._write(Int32Array.of(r.byteLength))._writeMagic()}};function $O(e,t){let r=t;t instanceof wa&&(r=t.batches,e.reset(void 0,t.schema));for(let i of r)e.write(i);return e.finish()}function XO(e,t){return ar(this,void 0,void 0,function*(){var r,i,s,n,o,c,f;try{for(r=!0,i=Zh(t);s=yield i.next(),n=s.done,!n;r=!0){f=s.value,r=!1;let _=f;e.write(_)}}catch(_){o={error:_}}finally{try{!r&&!n&&(c=i.return)&&(yield c.call(i))}finally{if(o)throw o.error}}return e.finish()})}function PH(e,t){if(Nu(e))return $ft(e,t);if(Yh(e))return Qft(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function Qft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){n(o,r||(r=e[Symbol.iterator]()))},pull(o){r?n(o,r):o.close()},cancel(){(r?.return&&r.return()||!0)&&(r=null)}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){let f,_=null,w=o.desiredSize||null;for(;!(_=c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()}}function $ft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){return ar(this,void 0,void 0,function*(){yield n(o,r||(r=e[Symbol.asyncIterator]()))})},pull(o){return ar(this,void 0,void 0,function*(){r?yield n(o,r):o.close()})},cancel(){return ar(this,void 0,void 0,function*(){(r?.return&&(yield r.return())||!0)&&(r=null)})}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){return ar(this,void 0,void 0,function*(){let f,_=null,w=o.desiredSize||null;for(;!(_=yield c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()})}}function LH(e){return new KO(e)}var KO=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{[\"readableStrategy\"]:r,[\"writableStrategy\"]:i,[\"queueingStrategy\"]:s=\"count\"}=t,n=U9(t,[\"readableStrategy\",\"writableStrategy\",\"queueingStrategy\"]);this._controller=null,this._builder=Cg(n),this._getSize=s!==\"bytes\"?IH:CH;let{[\"highWaterMark\"]:o=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},r),{[\"highWaterMark\"]:c=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},i);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:f=>{this._maybeFlush(this._builder,this._controller=f)},start:f=>{this._maybeFlush(this._builder,this._controller=f)}},{highWaterMark:o,size:s!==\"bytes\"?IH:CH}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:c,size:f=>this._writeValueAndReturnChunkSize(f)})}_writeValueAndReturnChunkSize(t){let r=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-r}_maybeFlush(t,r){r!=null&&(this._bufferedSize>=r.desiredSize&&++this._numChunks&&this._enqueue(r,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(r,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(r,null)))}_enqueue(t,r){this._bufferedSize=0,this._controller=null,r==null?t.close():t.enqueue(r)}},IH=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},CH=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function I3(e,t){let r=new ad,i=null,s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield r.close()})},start(c){return ar(this,void 0,void 0,function*(){yield o(c,i||(i=yield n()))})},pull(c){return ar(this,void 0,void 0,function*(){i?yield o(c,i):c.close()})}});return{writable:new WritableStream(r,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:s};function n(){return ar(this,void 0,void 0,function*(){return yield(yield cu.from(r)).open(t)})}function o(c,f){return ar(this,void 0,void 0,function*(){let _=c.desiredSize,w=null;for(;!(w=yield f.next()).done;)if(c.enqueue(w.value),_!=null&&--_<=0)return;c.close()})}}function C3(e,t){let r=new this(e),i=new $u(r),s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield i.cancel()})},pull(o){return ar(this,void 0,void 0,function*(){yield n(o)})},start(o){return ar(this,void 0,void 0,function*(){yield n(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(r,e),readable:s};function n(o){return ar(this,void 0,void 0,function*(){let c=null,f=o.desiredSize;for(;c=yield i.read(f||null);)if(o.enqueue(c),f!=null&&(f-=c.byteLength)<=0)return;o.close()})}}function R2(e){let t=cu.from(e);return ru(t)?t.then(r=>R2(r)):t.isAsync()?t.readAll().then(r=>new wa(r)):new wa(t.readAll())}var _dt=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uO),OO),MO),hO),iO),TO),oO),{compareSchemas:Rg,compareFields:nH,compareTypes:sH});xa.toDOMStream=PH;Xn.throughDOM=LH;cu.throughDOM=I3;Bg.throughDOM=I3;wp.throughDOM=I3;Fg.throughDOM=C3;k2.throughDOM=C3;L2.throughDOM=C3;var ydt=\"0.6.1\",vdt=`https://cdn.jsdelivr.net/npm/parquet-wasm@${ydt}/esm/parquet_wasm_bg.wasm`,JO=!1;async function kH(){JO||(await z9(vdt),JO=!0)}function xdt(e){if(!JO)throw new Error(\"wasm not ready\");console.time(\"readParquet\");let t=O9(new Uint8Array(e.buffer),{batchSize:Math.pow(2,31)}).intoIPCStream(),r=R2(t);return console.timeEnd(\"readParquet\"),r}function O2(e){let t=[];for(let r of e){let i=xdt(r);i.batches.length!==1&&console.warn(\"Expected one batch\"),t.push(...i.batches)}return new wa(t)}var RH=Ri(Yi(),1);function tB(e){return e instanceof Array&&e?.[0]instanceof DataView?e?.[0].byteLength>0?O2(e).getChildAt(0):null:e}var zg=class{model;callbacks;updateStateCallback;constructor(t,r){this.model=t,this.model.on(\"change\",r),this.updateStateCallback=r,this.callbacks=new Map,this.callbacks.set(\"change\",r)}async loadSubModels(){}initRegularAttribute(t,r){this[r]=this.model.get(t),this.model.off(`change:${t}`);let i=()=>{this[r]=this.model.get(t)};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}initVectorizedAccessor(t,r){this[r]=tB(this.model.get(t)),this.model.off(`change:${t}`);let i=()=>{this[r]=tB(this.model.get(t))};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}finalize(){for(let[t,r]of Object.entries(this.callbacks))this.model.off(t,r)}};async function L3(e,t){let r=[];for(let i of t)r.push(e.get_model(i.slice(10)));return await Promise.all(r)}function Jt(e){return e!=null}function DH(e,t=20){let r;return(...s)=>{clearTimeout(r),r=setTimeout(()=>e(...s),t)}}var bdt=`\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n`,wdt=`\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n`,Sdt={source:0,target:1,custom:2,source_target:3},Tdt={\"vs:DECKGL_FILTER_GL_POSITION\":`\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n `},OH={name:\"brushing\",dependencies:[Vh],vs:bdt,fs:wdt,inject:Tdt,getUniforms:e=>{if(!e||!(\"viewport\"in e))return{};let{brushingEnabled:t=!0,brushingRadius:r=1e4,brushingTarget:i=\"source\",mousePosition:s,viewport:n}=e;return{brushing_enabled:!!(t&&s&&n.containsPixel(s)),brushing_radius:r,brushing_target:Sdt[i]||0,brushing_mousePos:s?n.unproject([s.x-n.x,s.y-n.y]):[0,0]}}};var Mdt={getBrushingTarget:{type:\"accessor\",value:[0,0]},brushingTarget:\"source\",brushingEnabled:!0,brushingRadius:1e4},vm=class extends cc{getShaders(){return{modules:[OH]}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({brushingTargets:{size:2,accessor:\"getBrushingTarget\",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=()=>{var s;(s=this.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},t.deck&&t.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}finalizeState(t,r){t.deck&&t.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}};G(vm,\"defaultProps\",Mdt);G(vm,\"extensionName\",\"BrushingExtension\");var BH=`\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`,FH=`\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;function zH(e){if(!e||!(\"extensions\"in e))return{};let{filterRange:t=[-1,1],filterEnabled:r=!0,filterTransformSize:i=!0,filterTransformColor:s=!0}=e,n=e.filterSoftRange||t;return{...Number.isFinite(t[0])?{filter_min:t[0],filter_softMin:n[0],filter_softMax:n[1],filter_max:t[1]}:{filter_min:t.map(o=>o[0]),filter_softMin:n.map(o=>o[0]),filter_softMax:n.map(o=>o[1]),filter_max:t.map(o=>o[1])},filter_enabled:r,filter_useSoftMargin:!!e.filterSoftRange,filter_transformSize:r&&i,filter_transformColor:r&&s}}function Edt(e){if(!e||!(\"extensions\"in e))return{};let t=zH(e);if(Number.isFinite(t.filter_min)){let r=Math.fround(t.filter_min);t.filter_min-=r,t.filter_softMin-=r,t.filter_min64High=r;let i=Math.fround(t.filter_max);t.filter_max-=i,t.filter_softMax-=i,t.filter_max64High=i}else{let r=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((s,n)=>s-r[n]),t.filter_softMin=t.filter_softMin.map((s,n)=>s-r[n]),t.filter_min64High=r;let i=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((s,n)=>s-i[n]),t.filter_softMax=t.filter_softMax.map((s,n)=>s-i[n]),t.filter_max64High=i}return t}var NH={\"vs:#main-start\":`\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\"vs:#main-end\":`\n if (dataFilter_value == 0.0) {\n gl_Position = vec4(0.);\n }\n `,\"vs:DECKGL_FILTER_SIZE\":`\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `},UH={name:\"data-filter\",vs:BH,fs:FH,inject:NH,getUniforms:zH},VH={name:\"data-filter-fp64\",vs:BH,fs:FH,inject:NH,getUniforms:Edt};var Pdt=`#define SHADER_NAME data-filter-vertex-shader\n\n#ifdef FLOAT_TARGET\n attribute float filterIndices;\n attribute float filterPrevIndices;\n#else\n attribute vec2 filterIndices;\n attribute vec2 filterPrevIndices;\n#endif\n\nvarying vec4 vColor;\nconst float component = 1.0 / 255.0;\n\nvoid main() {\n #ifdef FLOAT_TARGET\n dataFilter_value *= float(filterIndices != filterPrevIndices);\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n vColor = vec4(0.0, 0.0, 0.0, 1.0);\n #else\n // Float texture is not supported: pack result into 4 channels x 256 px x 64px\n dataFilter_value *= float(filterIndices.x != filterPrevIndices.x);\n float col = filterIndices.x;\n float row = filterIndices.y * 4.0;\n float channel = floor(row);\n row = fract(row);\n vColor = component * vec4(bvec4(channel == 0.0, channel == 1.0, channel == 2.0, channel == 3.0));\n gl_Position = vec4(col * 2.0 - 1.0, row * 2.0 - 1.0, 0.0, 1.0);\n #endif\n gl_PointSize = 1.0;\n}\n`,Idt=`#define SHADER_NAME data-filter-fragment-shader\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n if (dataFilter_value < 0.5) {\n discard;\n }\n gl_FragColor = vColor;\n}\n`;function jH(e){return!!(e.getExtension(\"EXT_float_blend\")&&(e.getExtension(\"EXT_color_buffer_float\")||e.getExtension(\"WEBGL_color_buffer_float\")))}function GH(e,t){return t?new yi(e,{width:1,height:1,attachments:{36064:new pi(e,{format:fr(e)?34836:6408,type:5126,mipmaps:!1})}}):new yi(e,{width:256,height:64,depth:!1})}function WH(e,t,r){return t.defines.NON_INSTANCED_MODEL=1,r&&(t.defines.FLOAT_TARGET=1),new fn(e,{id:\"data-filter-aggregation-model\",vertexCount:1,isInstanced:!1,drawMode:0,vs:Pdt,fs:Idt,...t})}var HH={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var Ldt={getFilterValue:{type:\"accessor\",value:0},onFilteredItemsChange:{type:\"function\",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},qH={1:\"float\",2:\"vec2\",3:\"vec3\",4:\"vec4\"},xm=class extends cc{constructor({filterSize:t=1,fp64:r=!1,countItems:i=!1}={}){if(!qH[t])throw new Error(\"filterSize out of range\");super({filterSize:t,fp64:r,countItems:i})}getShaders(t){let{filterSize:r,fp64:i}=t.opts;return{modules:[i?VH:UH],defines:{DATAFILTER_TYPE:qH[r],DATAFILTER_DOUBLE:!!i}}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({filterValues:{size:r.opts.filterSize,type:r.opts.fp64?5130:5126,accessor:\"getFilterValue\",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});let{gl:s}=this.context;if(i&&r.opts.countItems){let n=jH(s);i.add({filterIndices:{size:n?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:(f,{index:_})=>{let w=f&&f.__source?f.__source.index:_;return n?(w+1)%255:[(w+1)%255,Math.floor(w/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});let o=GH(s,n),c=WH(s,r.getShaders.call(this,r),n);this.setState({filterFBO:o,filterModel:c})}}updateState({props:t,oldProps:r}){if(this.state.filterModel){let s=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==r.filterEnabled||t.filterRange!==r.filterRange||t.filterSoftRange!==r.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}draw(t,r){let{filterFBO:i,filterModel:s,filterNeedsUpdate:n}=this.state,{onFilteredItemsChange:o}=this.props;if(n&&o&&s){let{attributes:{filterValues:c,filterIndices:f}}=this.getAttributeManager();s.setVertexCount(this.getNumInstances());let{gl:_}=this.context;Hf(_,{framebuffer:i,color:[0,0,0,0]}),s.updateModuleSettings(t.moduleParameters).setAttributes({...c.getShaderAttributes(),...f&&f.getShaderAttributes()}).draw({framebuffer:i,parameters:{...HH,viewport:[0,0,i.width,i.height]}});let w=Dh(i),I=0;for(let R=0;R 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`}},YH={inject:{\"vs:#decl\":`\nattribute float instanceOffsets;\n`,\"vs:DECKGL_FILTER_SIZE\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\"vs:#main-end\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\"fs:#main-start\":`\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`}};var kdt={getDashArray:{type:\"accessor\",value:[0,0]},getOffset:{type:\"accessor\",value:0},dashJustified:!1,dashGapPickable:!1},bm=class extends cc{constructor({dash:t=!1,offset:r=!1,highPrecisionDash:i=!1}={}){super({dash:t||i,offset:r,highPrecisionDash:i})}isEnabled(t){return\"pathTesselator\"in t.state}getShaders(t){if(!t.isEnabled(this))return null;let r={};return t.opts.dash&&(r=tv(r,ZH)),t.opts.offset&&(r=tv(r,YH)),r}initializeState(t,r){let i=this.getAttributeManager();!i||!r.isEnabled(this)||(r.opts.dash&&i.addInstanced({instanceDashArrays:{size:2,accessor:\"getDashArray\"}}),r.opts.highPrecisionDash&&i.addInstanced({instanceDashOffsets:{size:1,accessor:\"getPath\",transform:r.getDashOffsets.bind(this)}}),r.opts.offset&&i.addInstanced({instanceOffsets:{size:1,accessor:\"getOffset\"}}))}updateState(t,r){if(!r.isEnabled(this))return;let i={};r.opts.dash&&(i.dashAlignMode=this.props.dashJustified?1:0,i.dashGapPickable=!!this.props.dashGapPickable),this.state.model.setUniforms(i)}getDashOffsets(t){let r=[0],i=this.props.positionFormat===\"XY\"?2:3,s=Array.isArray(t[0]),n=s?t.length:t.length/i,o,c;for(let f=0;f0&&(r[f]=r[f-1]+$j(c,o)),c=o;return r}};G(bm,\"defaultProps\",kdt);G(bm,\"extensionName\",\"PathStyleExtension\");var Rdt=`\n#ifdef NON_INSTANCED_MODEL\nattribute float collisionPriorities;\n#else\nattribute float instanceCollisionPriorities;\n#endif\n\nuniform sampler2D collision_texture;\nuniform bool collision_sort;\nuniform bool collision_enabled;\n\nvec2 collision_getCoords(vec4 position) {\n vec4 collision_clipspace = project_common_position_to_clipspace(position);\n return (1.0 + collision_clipspace.xy / collision_clipspace.w) / 2.0;\n}\n\nfloat collision_match(vec2 tex, vec3 pickingColor) {\n vec4 collision_pickingColor = texture2D(collision_texture, tex);\n float delta = dot(abs(collision_pickingColor.rgb - pickingColor), vec3(1.0));\n float e = 0.001;\n return step(delta, e);\n}\n\nfloat collision_isVisible(vec2 texCoords, vec3 pickingColor) {\n if (!collision_enabled) {\n return 1.0;\n }\n\n // Visibility test, sample area of 5x5 pixels in order to fade in/out.\n // Due to the locality, the lookups will be cached\n // This reduces the flicker present when objects are shown/hidden\n const int N = 2;\n float accumulator = 0.0;\n vec2 step = vec2(1.0 / project_uViewportSize);\n\n const float floatN = float(N);\n vec2 delta = -floatN * step;\n for(int i = -N; i <= N; i++) {\n delta.x = -step.x * floatN;\n for(int j = -N; j <= N; j++) {\n accumulator += collision_match(texCoords + delta, pickingColor);\n delta.x += step.x;\n }\n delta.y += step.y;\n }\n\n float W = 2.0 * floatN + 1.0;\n return pow(accumulator / (W * W), 2.2);\n}\n`,Ddt={\"vs:#decl\":`\n float collision_fade = 1.0;\n`,\"vs:DECKGL_FILTER_GL_POSITION\":`\n if (collision_sort) {\n #ifdef NON_INSTANCED_MODEL\n float collisionPriority = collisionPriorities;\n #else\n float collisionPriority = instanceCollisionPriorities;\n #endif\n position.z = -0.001 * collisionPriority * position.w; // Support range -1000 -> 1000\n }\n\n if (collision_enabled) {\n vec4 collision_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n vec2 collision_texCoords = collision_getCoords(collision_common_position);\n collision_fade = collision_isVisible(collision_texCoords, geometry.pickingColor / 255.0);\n if (collision_fade < 0.0001) {\n // Position outside clip space bounds to discard\n position = vec4(0.0, 0.0, 2.0, 1.0);\n }\n }\n `,\"vs:DECKGL_FILTER_COLOR\":`\n color.a *= collision_fade;\n `},Odt=(e,t)=>{if(!e||!(\"dummyCollisionMap\"in e))return{};let{collisionFBO:r,drawToCollisionMap:i,dummyCollisionMap:s}=e;return{collision_sort:!!i,collision_texture:!i&&r?r:s}},QH={name:\"collision\",dependencies:[Vh],vs:Rdt,inject:Ddt,getUniforms:Odt};var B2=class extends sc{renderCollisionMap(t,r){let i=this.gl,s=1;return Mn(i,{scissorTest:!0,scissor:[s,s,t.width-2*s,t.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},()=>this.render({...r,target:t,pass:\"collision\"}))}getModuleParameters(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}};var F2=class extends sc{constructor(t,r){super(t,r),G(this,\"maskMap\",void 0),G(this,\"fbo\",void 0);let{mapSize:i=2048}=r;this.maskMap=new pi(t,{width:i,height:i,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.fbo=new yi(t,{id:\"maskmap\",width:i,height:i,attachments:{36064:this.maskMap}})}render(t){let r=this.gl,i=[!1,!1,!1,!1];return i[t.channel]=!0,Mn(r,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:i,depthTest:!1},()=>super.render({...t,target:this.fbo,pass:\"mask\"}))}shouldDrawLayer(t){return t.props.operation.includes(\"mask\")}delete(){this.fbo.delete(),this.maskMap.delete()}};function $H(e,t){let r=[1/0,1/0,-1/0,-1/0];for(let i of e){let s=i.getBounds();if(s){let n=i.projectPosition(s[0],{viewport:t,autoOffset:!1}),o=i.projectPosition(s[1],{viewport:t,autoOffset:!1});r[0]=Math.min(r[0],n[0]),r[1]=Math.min(r[1],n[1]),r[2]=Math.max(r[2],o[0]),r[3]=Math.max(r[3],o[1])}}return Number.isFinite(r[0])?r:null}var Bdt=2048;function XH(e){let{bounds:t,viewport:r,border:i=0}=e,{isGeospatial:s}=r;if(t[2]<=t[0]||t[3]<=t[1])return null;let n=r.unprojectPosition([(t[0]+t[2])/2,(t[1]+t[3])/2,0]),{width:o,height:c,zoom:f}=e;if(f===void 0){o=o-i*2,c=c-i*2;let _=Math.min(o/(t[2]-t[0]),c/(t[3]-t[1]));f=Math.min(Math.log2(_),20)}else if(!o||!c){let _=2**f;o=Math.round(Math.abs(t[2]-t[0])*_),c=Math.round(Math.abs(t[3]-t[1])*_);let w=Bdt-i*2;if(o>w||c>w){let I=w/Math.max(o,c);o=Math.round(o*I),c=Math.round(c*I),f+=Math.log2(I)}}return s?new lc({id:r.id,x:i,y:i,width:o,height:c,longitude:n[0],latitude:n[1],zoom:f,orthographic:!0}):new iv({id:r.id,x:i,y:i,width:o,height:c,target:n,zoom:f,flipY:!1})}function Fdt(e,t){let r;if(t&&t.length===2){let[n,o]=t,c=e.getBounds({z:n}),f=e.getBounds({z:o});r=[Math.min(c[0],f[0]),Math.min(c[1],f[1]),Math.max(c[2],f[2]),Math.max(c[3],f[3])]}else r=e.getBounds();let i=e.projectPosition(r.slice(0,2)),s=e.projectPosition(r.slice(2,4));return[i[0],i[1],s[0],s[1]]}function KH(e,t,r){if(!e)return[0,0,1,1];let i=Fdt(t,r),s=zdt(i);return e[2]-e[0]<=s[2]-s[0]&&e[3]-e[1]<=s[3]-s[1]?e:[Math.max(e[0],s[0]),Math.max(e[1],s[1]),Math.min(e[2],s[2]),Math.min(e[3],s[3])]}function zdt(e){let t=e[2]-e[0],r=e[3]-e[1],i=(e[0]+e[2])/2,s=(e[1]+e[3])/2;return[i-t,s-r,i+t,s+r]}var z2=class{constructor(){G(this,\"id\",\"mask-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",0),G(this,\"dummyMaskMap\",void 0),G(this,\"channels\",[]),G(this,\"masks\",null),G(this,\"maskPass\",void 0),G(this,\"maskMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o,isPicking:c}){let f=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new pi(t,{width:1,height:1})),c)return{didRender:f};let _=r.filter(N=>N.props.visible&&N.props.operation.includes(\"mask\"));if(_.length===0)return this.masks=null,this.channels.length=0,{didRender:f};this.masks={},this.maskPass||(this.maskPass=new F2(t,{id:\"default-mask\"}),this.maskMap=this.maskPass.maskMap);let w=this._sortMaskChannels(_),I=s[0],R=!this.lastViewport||!this.lastViewport.equals(I);if(I.resolution!==void 0)return or.warn(\"MaskExtension is not supported in GlobeView\")(),{didRender:f};for(let N in w){let j=this._renderChannel(w[N],{layerFilter:i,onViewportActive:n,views:o,viewport:I,viewportChanged:R});f||(f=j)}return{didRender:f}}_renderChannel(t,{layerFilter:r,onViewportActive:i,views:s,viewport:n,viewportChanged:o}){let c=!1,f=this.channels[t.index];if(!f)return c;let _=t===f||t.layers.length!==f.layers.length||t.layers.some((w,I)=>w!==f.layers[I]||w.props.transitions)||t.layerBounds.some((w,I)=>w!==f.layerBounds[I]);if(t.bounds=f.bounds,t.maskBounds=f.maskBounds,this.channels[t.index]=t,_||o){this.lastViewport=n;let w=$H(t.layers,n);if(t.bounds=w&&KH(w,n),_||!Ro(t.bounds,f.bounds)){let{maskPass:I,maskMap:R}=this,N=w&&XH({bounds:t.bounds,viewport:n,width:R.width,height:R.height,border:1});t.maskBounds=N?N.getBounds():[0,0,1,1],I.render({pass:\"mask\",channel:t.index,layers:t.layers,layerFilter:r,viewports:N?[N]:[],onViewportActive:i,views:s,moduleParameters:{devicePixelRatio:1}}),c=!0}}return this.masks[t.id]={index:t.index,bounds:t.maskBounds,coordinateOrigin:t.coordinateOrigin,coordinateSystem:t.coordinateSystem},c}_sortMaskChannels(t){let r={},i=0;for(let s of t){let{id:n}=s.root,o=r[n];if(!o){if(++i>4){or.warn(\"Too many mask layers. The max supported is 4\")();continue}o={id:n,index:this.channels.findIndex(c=>c?.id===n),layers:[],layerBounds:[],coordinateOrigin:s.root.props.coordinateOrigin,coordinateSystem:s.root.props.coordinateSystem},r[n]=o}o.layers.push(s),o.layerBounds.push(s.getBounds())}for(let s=0;s<4;s++){let n=this.channels[s];(!n||!(n.id in r))&&(this.channels[s]=null)}for(let s in r){let n=r[s];n.index<0&&(n.index=this.channels.findIndex(o=>!o),this.channels[n.index]=n)}return r}getModuleParameters(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}cleanup(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}};var eB=2,N2=class{constructor(){G(this,\"id\",\"collision-filter-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",1),G(this,\"channels\",{}),G(this,\"collisionFilterPass\",void 0),G(this,\"collisionFBOs\",{}),G(this,\"dummyCollisionMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{effects:r,layers:i,layerFilter:s,viewports:n,onViewportActive:o,views:c,isPicking:f,preRenderStats:_={}}){var w;if(this.dummyCollisionMap||(this.dummyCollisionMap=new pi(t,{width:1,height:1})),f)return;let I=i.filter(({props:{visible:Y,collisionEnabled:K}})=>Y&&K);if(I.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new B2(t,{id:\"default-collision-filter\"}));let R=r?.filter(Y=>Y.constructor===z2),N=(w=_[\"mask-effect\"])===null||w===void 0?void 0:w.didRender,j=this._groupByCollisionGroup(t,I),Q=n[0],et=!this.lastViewport||!this.lastViewport.equals(Q)||N;for(let Y in j){let K=this.collisionFBOs[Y],J=j[Y];K.resize({width:t.canvas.width/eB,height:t.canvas.height/eB}),this._render(J,{effects:R,layerFilter:s,onViewportActive:o,views:c,viewport:Q,viewportChanged:et})}}_render(t,{effects:r,layerFilter:i,onViewportActive:s,views:n,viewport:o,viewportChanged:c}){let{collisionGroup:f}=t,_=this.channels[f];if(!_)return;let w=c||t===_||!mo(_.layers,t.layers,1)||t.layerBounds.some((I,R)=>!Ro(I,_.layerBounds[R]))||t.allLayersLoaded!==_.allLayersLoaded||t.layers.some(I=>I.props.transitions);if(this.channels[f]=t,w){this.lastViewport=o;let I=this.collisionFBOs[f];this.collisionFilterPass.renderCollisionMap(I,{pass:\"collision-filter\",isPicking:!0,layers:t.layers,effects:r,layerFilter:i,viewports:o?[o]:[],onViewportActive:s,views:n,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:El(I.gl)/eB}})}}_groupByCollisionGroup(t,r){let i={};for(let s of r){let{collisionGroup:n}=s.props,o=i[n];o||(o={collisionGroup:n,layers:[],layerBounds:[],allLayersLoaded:!0},i[n]=o),o.layers.push(s),o.layerBounds.push(s.getBounds()),s.isLoaded||(o.allLayersLoaded=!1)}for(let s of Object.keys(i))this.collisionFBOs[s]||this.createFBO(t,s),this.channels[s]||(this.channels[s]=i[s]);for(let s of Object.keys(this.collisionFBOs))i[s]||this.destroyFBO(s);return i}getModuleParameters(t){let{collisionGroup:r}=t.props,{collisionFBOs:i,dummyCollisionMap:s}=this;return{collisionFBO:i[r],dummyCollisionMap:s}}cleanup(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(let t of Object.keys(this.collisionFBOs))this.destroyFBO(t);this.collisionFBOs={},this.lastViewport=void 0}createFBO(t,r){let{width:i,height:s}=t.canvas,n=new pi(t,{width:i,height:s,parameters:{10241:9728,10240:9728,10242:33071,10243:33071}}),o=new el(t,{format:33189,width:i,height:s});this.collisionFBOs[r]=new yi(t,{id:\"Collision-\".concat(r),width:i,height:s,attachments:{36064:n,36096:o}})}destroyFBO(t){let r=this.collisionFBOs[t];for(let i of Object.values(r.attachments))i.delete();r.delete(),delete this.collisionFBOs[t]}};var Ndt={getCollisionPriority:{type:\"accessor\",value:0},collisionEnabled:!0,collisionGroup:{type:\"string\",value:\"default\"},collisionTestProps:{}},wm=class extends cc{getShaders(){return{modules:[QH]}}draw({uniforms:t,context:r,moduleParameters:i}){let{collisionEnabled:s}=this.props,{collisionFBO:n,drawToCollisionMap:o}=i,c=s&&!!n;t.collision_enabled=c,o&&(this.props=this.clone(this.props.collisionTestProps).props)}initializeState(t,r){var i;if(this.getAttributeManager()===null)return;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new N2),this.getAttributeManager().add({collisionPriorities:{size:1,accessor:\"getCollisionPriority\",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}getNeedsPickingBuffer(){return this.props.collisionEnabled}};G(wm,\"defaultProps\",Ndt);G(wm,\"extensionName\",\"CollisionFilterExtension\");var Ng=class extends zg{static extensionType;constructor(t,r){super(t,r)}},U2=class extends Ng{static extensionType=\"brushing\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new vm,r.initRegularAttribute(\"brushing_enabled\",\"brushingEnabled\"),r.initRegularAttribute(\"brushing_target\",\"brushingTarget\"),r.initRegularAttribute(\"brushing_radius\",\"brushingRadius\"),r.initVectorizedAccessor(\"get_brushing_target\",\"getBrushingTarget\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"brushingEnabled\",\"brushingTarget\",\"brushingRadius\",\"getBrushingTarget\"]}},V2=class extends Ng{static extensionType=\"collision-filter\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new wm,r.initRegularAttribute(\"collision_enabled\",\"collisionEnabled\"),r.initRegularAttribute(\"collision_group\",\"collisionGroup\"),r.initRegularAttribute(\"collision_test_props\",\"collisionTestProps\"),r.initVectorizedAccessor(\"get_collision_priority\",\"getCollisionPriority\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"collisionEnabled\",\"collisionGroup\",\"collisionTestProps\",\"getCollisionPriority\"]}},k3=class extends Ng{static extensionType=\"data-filter\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"filter_size\");this.extensionInstance=new xm({filterSize:s}),r.initRegularAttribute(\"filter_enabled\",\"filterEnabled\"),r.initRegularAttribute(\"filter_range\",\"filterRange\"),r.initRegularAttribute(\"filter_soft_range\",\"filterSoftRange\"),r.initRegularAttribute(\"filter_transform_size\",\"filterTransformSize\"),r.initRegularAttribute(\"filter_transform_color\",\"filterTransformColor\"),r.initVectorizedAccessor(\"get_filter_value\",\"getFilterValue\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"filterEnabled\",\"filterRange\",\"filterSoftRange\",\"filterTransformSize\",\"filterTransformColor\",\"getFilterValue\"]}},j2=class extends Ng{static extensionType=\"path-style\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"dash\"),n=this.model.get(\"high_precision_dash\"),o=this.model.get(\"offset\");this.extensionInstance=new bm({...Jt(s)?{dash:s}:{},...Jt(n)?{highPrecisionDash:n}:{},...Jt(o)?{offset:o}:{}}),r.initRegularAttribute(\"dash_gap_pickable\",\"dashGapPickable\"),r.initRegularAttribute(\"dash_justified\",\"dashJustified\"),r.initVectorizedAccessor(\"get_dash_array\",\"getDashArray\"),r.initVectorizedAccessor(\"get_offset\",\"getOffset\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"dashGapPickable\",\"dashJustified\",\"getDashArray\",\"getOffset\"]}};async function rB(e,t,r){let i=e.get(\"_extension_type\"),s;switch(i){case U2.extensionType:s=new U2(e,t,r);break;case V2.extensionType:s=new V2(e,t,r);break;case k3.extensionType:s=new k3(e,t,r);break;case j2.extensionType:s=new j2(e,t,r);break;default:throw new Error(`no known model for extension type ${i}`)}return await s.loadSubModels(),s}var Ug=class extends zg{pickable;visible;opacity;autoHighlight;extensions;extensionLayerPropertyNames=[];constructor(t,r){super(t,r),this.initRegularAttribute(\"pickable\",\"pickable\"),this.initRegularAttribute(\"visible\",\"visible\"),this.initRegularAttribute(\"opacity\",\"opacity\"),this.initRegularAttribute(\"auto_highlight\",\"autoHighlight\"),this.extensions=[]}async loadSubModels(){await this.initLayerExtensions()}extensionInstances(){return this.extensions.map(t=>t.extensionInstance)}extensionProps(){let t={};for(let r of this.extensionLayerPropertyNames)Jt(this[r])&&(t[r]=this[r]);return t}onClick(t){t.index&&(this.model.set(\"selected_index\",t.index),this.model.save_changes())}baseLayerProps(){return{extensions:this.extensionInstances(),...this.extensionProps(),id:this.model.model_id,pickable:this.pickable,visible:this.visible,opacity:this.opacity,autoHighlight:this.autoHighlight,onClick:this.onClick.bind(this)}}async initLayerExtensions(){let t=async()=>{let r=this.model.get(\"extensions\");if(!r){this.extensions=[];return}let i=await L3(this.model.widget_manager,r),s=[];for(let n of i){let o=await rB(n,this,this.updateStateCallback);s.push(o)}this.extensions=s};await t(),this.model.off(\"change:extensions\"),this.model.on(\"change:extensions\",t),this.callbacks.set(\"change:extensions\",t)}};var JH=`#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var tq=`#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var R3=[0,0,0,255],Udt={getSourcePosition:{type:\"accessor\",value:e=>e.sourcePosition},getTargetPosition:{type:\"accessor\",value:e=>e.targetPosition},getSourceColor:{type:\"accessor\",value:R3},getTargetColor:{type:\"accessor\",value:R3},getWidth:{type:\"accessor\",value:1},getHeight:{type:\"accessor\",value:1},getTilt:{type:\"accessor\",value:0},greatCircle:!1,numSegments:{type:\"number\",value:50,min:1},widthUnits:\"pixels\",widthScale:{type:\"number\",value:1,min:0},widthMinPixels:{type:\"number\",value:0,min:0},widthMaxPixels:{type:\"number\",value:Number.MAX_SAFE_INTEGER,min:0}},Tp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"instanceSourcePositions\",\"instanceTargetPositions\"])}getShaders(){return super.getShaders({vs:JH,fs:tq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getSourcePosition\"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getTargetPosition\"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getSourceColor\",defaultValue:R3},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getTargetColor\",defaultValue:R3},instanceWidths:{size:1,transition:!0,accessor:\"getWidth\",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:\"getHeight\",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:\"getTilt\",defaultValue:0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t;if(s.extensionsChanged||s.propsChanged&&r.numSegments!==i.numSegments){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{widthUnits:r,widthScale:i,widthMinPixels:s,widthMaxPixels:n,greatCircle:o,wrapLongitude:c}=this.props;this.state.model.setUniforms(t).setUniforms({greatCircle:o,widthUnits:po[r],widthScale:i,widthMinPixels:s,widthMaxPixels:n,useShortestPath:c}).draw()}_getModel(t){let{id:r,numSegments:i}=this.props,s=[];for(let o=0;o0&&j>0&&(c[I++]=w-n,c[I++]=w-n-1,c[I++]=w-1,c[I++]=w-n,c[I++]=w-1,c[I++]=w),w++}}return{vertexCount:o,positions:_,indices:c,texCoords:f}}function Gdt(e){let t=new Float64Array(12);for(let r=0;r 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n`;var Hdt=`\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n`,rq=`\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n`.concat(Hdt,`\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n`);var qdt={image:{type:\"image\",value:null,async:!0},bounds:{type:\"array\",value:[1,0,0,1],compare:!0},_imageCoordinateSystem:Yr.DEFAULT,desaturate:{type:\"number\",min:0,max:1,value:0},transparentColor:{type:\"color\",value:[0,0,0,0]},tintColor:{type:\"color\",value:[255,255,255]},textureParameters:{type:\"object\",ignore:!0}},Mp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:eq,fs:rq,modules:[Rs,Ao]})}initializeState(){let t=this.getAttributeManager();t.remove([\"instancePickingColors\"]);let r=!0;t.add({indices:{size:1,isIndexed:!0,update:i=>i.value=this.state.mesh.indices,noAlloc:r},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:i=>i.value=this.state.mesh.positions,noAlloc:r},texCoords:{size:2,update:i=>i.value=this.state.mesh.texCoords,noAlloc:r}})}updateState({props:t,oldProps:r,changeFlags:i}){let s=this.getAttributeManager();if(i.extensionsChanged){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),s.invalidateAll()}if(t.bounds!==r.bounds){let o=this.state.mesh,c=this._createMesh();this.state.model.setVertexCount(c.vertexCount);for(let f in c)o&&o[f]!==c[f]&&s.invalidate(f);this.setState({mesh:c,...this._getCoordinateUniforms()})}else t._imageCoordinateSystem!==r._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}getPickingInfo(t){let{image:r}=this.props,i=t.info;if(!i.color||!r)return i.bitmap=null,i;let{width:s,height:n}=r;i.index=0;let o=Zdt(i.color),c=[Math.floor(o[0]*s),Math.floor(o[1]*n)];return i.bitmap={size:{width:s,height:n},uv:o,pixel:c},i}disablePickingIndex(){this.setState({disablePicking:!0})}restorePickingColors(){this.setState({disablePicking:!1})}_updateAutoHighlight(t){super._updateAutoHighlight({...t,color:this.encodePickingColor(0)})}_createMesh(){let{bounds:t}=this.props,r=t;return iq(t)&&(r=[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]]]),iB(r,this.context.viewport.resolution)}_getModel(t){return t?new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,vertexCount:6}),isInstanced:!1}):null}draw(t){let{uniforms:r,moduleParameters:i}=t,{model:s,coordinateConversion:n,bounds:o,disablePicking:c}=this.state,{image:f,desaturate:_,transparentColor:w,tintColor:I}=this.props;i.pickingActive&&c||f&&s&&s.setUniforms(r).setUniforms({bitmapTexture:f,desaturate:_,transparentColor:w.map(R=>R/255),tintColor:I.slice(0,3).map(R=>R/255),coordinateConversion:n,bounds:o}).draw()}_getCoordinateUniforms(){let{LNGLAT:t,CARTESIAN:r,DEFAULT:i}=Yr,{_imageCoordinateSystem:s}=this.props;if(s!==i){let{bounds:n}=this.props;if(!iq(n))throw new Error(\"_imageCoordinateSystem only supports rectangular bounds\");let o=this.context.viewport.resolution?t:r;if(s=s===t?t:r,s===t&&o===r)return{coordinateConversion:-1,bounds:n};if(s===r&&o===t){let c=va([n[0],n[1]]),f=va([n[2],n[3]]);return{coordinateConversion:1,bounds:[c[0],c[1],f[0],f[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}};G(Mp,\"layerName\",\"BitmapLayer\");G(Mp,\"defaultProps\",qdt);function Zdt(e){let[t,r,i]=e,s=(i&240)/256,n=(i&15)/16;return[(t+n)/256,(r+s)/256]}function iq(e){return Number.isFinite(e[0])}var nq=`#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n`;var sq=`#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Ydt=1024,Qdt=4,oq=()=>{},aq={10241:9987,10240:9729,10242:33071,10243:33071};function $dt(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function Xdt(e,t,r,i){let s=Math.min(r/t.width,i/t.height),n=Math.floor(t.width*s),o=Math.floor(t.height*s);return s===1?{data:t,width:n,height:o}:(e.canvas.height=o,e.canvas.width=n,e.clearRect(0,0,n,o),e.drawImage(t,0,0,t.width,t.height,0,0,n,o),{data:e.canvas,width:n,height:o})}function G2(e){return e&&(e.id||e.url)}function Kdt(e,t,r,i){let s=e.width,n=e.height,o=new pi(e.gl,{width:t,height:r,parameters:i});return gE(e,o,{targetY:0,width:s,height:n}),e.delete(),o}function lq(e,t,r){for(let i=0;io&&(lq(r,c,s),i=0,s=n+s+t,n=0,c=[]),c.push({icon:_,xOffset:i}),i=i+R+t,n=Math.max(n,I)}}return c.length>0&&lq(r,c,s),{mapping:r,rowHeight:n,xOffset:i,yOffset:s,canvasWidth:o,canvasHeight:$dt(n+s+t)}}function tpt(e,t,r){if(!e||!t)return null;r=r||{};let i={},{iterable:s,objectInfo:n}=Jc(e);for(let o of s){n.index++;let c=t(o,n),f=G2(c);if(!c)throw new Error(\"Icon is missing.\");if(!c.url)throw new Error(\"Icon url is missing.\");!i[f]&&(!r[f]||c.url!==r[f].url)&&(i[f]={...c,source:o,sourceIndex:n.index})}return i}var W2=class{constructor(t,{onUpdate:r=oq,onError:i=oq}){G(this,\"gl\",void 0),G(this,\"onUpdate\",void 0),G(this,\"onError\",void 0),G(this,\"_loadOptions\",null),G(this,\"_texture\",null),G(this,\"_externalTexture\",null),G(this,\"_mapping\",{}),G(this,\"_textureParameters\",null),G(this,\"_pendingCount\",0),G(this,\"_autoPacking\",!1),G(this,\"_xOffset\",0),G(this,\"_yOffset\",0),G(this,\"_rowHeight\",0),G(this,\"_buffer\",Qdt),G(this,\"_canvasWidth\",Ydt),G(this,\"_canvasHeight\",0),G(this,\"_canvas\",null),this.gl=t,this.onUpdate=r,this.onError=i}finalize(){var t;(t=this._texture)===null||t===void 0||t.delete()}getTexture(){return this._texture||this._externalTexture}getIconMapping(t){let r=this._autoPacking?G2(t):t;return this._mapping[r]||{}}setProps({loadOptions:t,autoPacking:r,iconAtlas:i,iconMapping:s,textureParameters:n}){if(t&&(this._loadOptions=t),r!==void 0&&(this._autoPacking=r),s&&(this._mapping=s),i){var o;(o=this._texture)===null||o===void 0||o.delete(),this._texture=null,this._externalTexture=i}n&&(this._textureParameters=n)}get isLoaded(){return this._pendingCount===0}packIcons(t,r){if(!this._autoPacking||typeof document>\"u\")return;let i=Object.values(tpt(t,r,this._mapping)||{});if(i.length>0){let{mapping:s,xOffset:n,yOffset:o,rowHeight:c,canvasHeight:f}=Jdt({icons:i,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=c,this._mapping=s,this._xOffset=n,this._yOffset=o,this._canvasHeight=f,this._texture||(this._texture=new pi(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:this._textureParameters||aq})),this._texture.height!==this._canvasHeight&&(this._texture=Kdt(this._texture,this._canvasWidth,this._canvasHeight,this._textureParameters||aq)),this.onUpdate(),this._canvas=this._canvas||document.createElement(\"canvas\"),this._loadIcons(i)}}_loadIcons(t){let r=this._canvas.getContext(\"2d\",{willReadFrequently:!0});for(let i of t)this._pendingCount++,jA(i.url,this._loadOptions).then(s=>{let n=G2(i),o=this._mapping[n],{x:c,y:f,width:_,height:w}=o,{data:I,width:R,height:N}=Xdt(r,s,_,w);this._texture.setSubImageData({data:I,x:c+(_-R)/2,y:f+(w-N)/2,width:R,height:N}),o.width=R,o.height=N,this._texture.generateMipmap(),this.onUpdate()}).catch(s=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:s})}).finally(()=>{this._pendingCount--})}};var cq=[0,0,0,255],ept={iconAtlas:{type:\"image\",value:null,async:!0},iconMapping:{type:\"object\",value:{},async:!0},sizeScale:{type:\"number\",value:1,min:0},billboard:!0,sizeUnits:\"pixels\",sizeMinPixels:{type:\"number\",min:0,value:0},sizeMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:\"number\",value:.05,min:0,max:1},getPosition:{type:\"accessor\",value:e=>e.position},getIcon:{type:\"accessor\",value:e=>e.icon},getColor:{type:\"accessor\",value:cq},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},onIconError:{type:\"function\",value:null,optional:!0},textureParameters:{type:\"object\",ignore:!0}},Ep=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:nq,fs:sq,modules:[Rs,Ao]})}initializeState(){this.state={iconManager:new W2(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceOffsets:{size:2,accessor:\"getIcon\",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:\"getIcon\",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:\"getIcon\",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:cq},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instancePixelOffset:{size:2,transition:!0,accessor:\"getPixelOffset\"}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=this.getAttributeManager(),{iconAtlas:o,iconMapping:c,data:f,getIcon:_,textureParameters:w}=r,{iconManager:I}=this.state,R=o||this.internalState.isAsyncPropLoading(\"iconAtlas\");if(I.setProps({loadOptions:r.loadOptions,autoPacking:!R,iconAtlas:o,iconMapping:R?c:null,textureParameters:w}),R?i.iconMapping!==r.iconMapping&&n.invalidate(\"getIcon\"):(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getIcon))&&I.packIcons(f,_),s.extensionsChanged){var N;let{gl:j}=this.context;(N=this.state.model)===null||N===void 0||N.delete(),this.state.model=this._getModel(j),n.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(t){super.finalizeState(t),this.state.iconManager.finalize()}draw({uniforms:t}){let{sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,sizeUnits:n,billboard:o,alphaCutoff:c}=this.props,{iconManager:f}=this.state,_=f.getTexture();_&&this.state.model.setUniforms(t).setUniforms({iconsTexture:_,iconsTextureDim:[_.width,_.height],sizeUnits:po[n],sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,billboard:o,alphaCutoff:c}).draw()}_getModel(t){let r=[-1,-1,-1,1,1,1,1,-1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}_onUpdate(){this.setNeedsRedraw()}_onError(t){var r;let i=(r=this.getCurrentLayer())===null||r===void 0?void 0:r.props.onIconError;i?i(t):or.error(t.error.message)()}getInstanceOffset(t){let{width:r,height:i,anchorX:s=r/2,anchorY:n=i/2}=this.state.iconManager.getIconMapping(t);return[r/2-s,i/2-n]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){let{x:r,y:i,width:s,height:n}=this.state.iconManager.getIconMapping(t);return[r,i,s,n]}};G(Ep,\"defaultProps\",ept);G(Ep,\"layerName\",\"IconLayer\");var uq=`#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var hq=`#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var fq=[0,0,0,255],dq=[0,0,1],rpt={sizeUnits:\"pixels\",pointSize:{type:\"number\",min:0,value:10},getPosition:{type:\"accessor\",value:e=>e.position},getNormal:{type:\"accessor\",value:dq},getColor:{type:\"accessor\",value:fq},material:!0,radiusPixels:{deprecatedFor:\"pointSize\"}};function ipt(e){let{header:t,attributes:r}=e;!t||!r||(e.length=t.vertexCount,r.POSITION&&(r.instancePositions=r.POSITION),r.NORMAL&&(r.instanceNormals=r.NORMAL),r.COLOR_0&&(r.instanceColors=r.COLOR_0))}var Pp=class extends dn{getShaders(){return super.getShaders({vs:uq,fs:hq,modules:[Rs,Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceNormals:{size:3,transition:!0,accessor:\"getNormal\",defaultValue:dq},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:fq}})}updateState(t){let{changeFlags:r,props:i}=t;if(super.updateState(t),r.extensionsChanged){var s;let{gl:n}=this.context;(s=this.state.model)===null||s===void 0||s.delete(),this.state.model=this._getModel(n),this.getAttributeManager().invalidateAll()}r.dataChanged&&ipt(i.data)}draw({uniforms:t}){let{pointSize:r,sizeUnits:i}=this.props;this.state.model.setUniforms(t).setUniforms({sizeUnits:po[i],radiusPixels:r}).draw()}_getModel(t){let r=[];for(let i=0;i<3;i++){let s=i/3*Math.PI*2;r.push(Math.cos(s)*2,Math.sin(s)*2,0)}return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,attributes:{positions:new Float32Array(r)}}),isInstanced:!0})}};G(Pp,\"layerName\",\"PointCloudLayer\");G(Pp,\"defaultProps\",rpt);var pq=`#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var Aq=`#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var mq=[0,0,0,255],npt={radiusUnits:\"meters\",radiusScale:{type:\"number\",min:0,value:1},radiusMinPixels:{type:\"number\",min:0,value:0},radiusMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},lineWidthUnits:\"meters\",lineWidthScale:{type:\"number\",min:0,value:1},lineWidthMinPixels:{type:\"number\",min:0,value:0},lineWidthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},stroked:!1,filled:!0,billboard:!1,antialiasing:!0,getPosition:{type:\"accessor\",value:e=>e.position},getRadius:{type:\"accessor\",value:1},getFillColor:{type:\"accessor\",value:mq},getLineColor:{type:\"accessor\",value:mq},getLineWidth:{type:\"accessor\",value:1},strokeWidth:{deprecatedFor:\"getLineWidth\"},outline:{deprecatedFor:\"stroked\"},getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},Ku=class extends dn{getShaders(){return super.getShaders({vs:pq,fs:Aq,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceRadius:{size:1,transition:!0,accessor:\"getRadius\",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){if(super.updateState(t),t.changeFlags.extensionsChanged){var r;let{gl:i}=this.context;(r=this.state.model)===null||r===void 0||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{radiusUnits:r,radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,stroked:o,filled:c,billboard:f,antialiasing:_,lineWidthUnits:w,lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}=this.props;this.state.model.setUniforms(t).setUniforms({stroked:o?1:0,filled:c,billboard:f,antialiasing:_,radiusUnits:po[r],radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,lineWidthUnits:po[w],lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}).draw()}_getModel(t){let r=[-1,-1,0,1,-1,0,1,1,0,-1,1,0];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Ku,\"defaultProps\",npt);G(Ku,\"layerName\",\"ScatterplotLayer\");var Kv={CLOCKWISE:1,COUNTER_CLOCKWISE:-1};function Vg(e,t,r={}){return gq(e,r)!==t?(spt(e,r),!0):!1}function gq(e,t={}){return Math.sign(D3(e,t))}function D3(e,t={}){let{start:r=0,end:i=e.length}=t,s=t.size||2,n=0;for(let o=r,c=i-s;o0){let s=!0;for(let n=0;nt[2]&&(r|=2),e[1]t[3]&&(r|=8),r}function Z2(e,t){let{size:r=2,broken:i=!1,gridResolution:s=10,gridOffset:n=[0,0],startIndex:o=0,endIndex:c=e.length}=t||{},f=(c-o)/r,_=[],w=[_],I=Sm(e,0,r,o),R,N,j=vq(I,s,n,[]),Q=[];xc(_,I);for(let et=1;etr&&(_=[],w.push(_),xc(_,I)),N=q2(R,j)}xc(_,R),H2(I,R)}return i?w:w[0]}var _q=0,apt=1;function B3(e,t){for(let r=0;r=0?(xc(_,N)&&I.push(Q),ut+=j):I.length&&(I[I.length-1]=_q),H2(et,N),Y=j,K=Q;return[J?{pos:f,types:t&&w}:null,ut?{pos:_,types:t&&I}:null]}function vq(e,t,r,i){let s=Math.floor((e[0]-r[0])/t)*t+r[0],n=Math.floor((e[1]-r[1])/t)*t+r[1];return i[0]=s,i[1]=n,i[2]=s+t,i[3]=n+t,i}function lpt(e,t,r){r&8?(e[1]+=t,e[3]+=t):r&4?(e[1]-=t,e[3]-=t):r&2?(e[0]+=t,e[2]+=t):r&1&&(e[0]-=t,e[2]-=t)}function cpt(e,t,r,i){let s=1/0,n=-1/0,o=1/0,c=-1/0;for(let f=0;fn?_:n,o=wc?w:c}return i[0][0]=s,i[0][1]=o,i[1][0]=n,i[1][1]=c,i}var upt=85.051129;function nB(e,t){let{size:r=2,startIndex:i=0,endIndex:s=e.length,normalize:n=!0}=t||{},o=e.slice(i,s);xq(o,r,0,s-i);let c=Z2(o,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(n)for(let f of c)bq(f,r);return c}function sB(e,t=null,r){let{size:i=2,normalize:s=!0,edgeTypes:n=!1}=r||{};t=t||[];let o=[],c=[],f=0,_=0;for(let I=0;I<=t.length;I++){let R=t[I]||e.length,N=_,j=hpt(e,i,f,R);for(let Q=j;Qs&&(s=c,n=o-1)}return n}function fpt(e,t,r,i,s=upt){let n=e[r],o=e[i-t];if(Math.abs(n-o)>180){let c=Sm(e,0,t,r);c[0]+=Math.round((o-n)/360)*360,xc(e,c),c[1]=Math.sign(c[1])*s,xc(e,c),c[0]=n,xc(e,c)}}function xq(e,t,r,i){let s=e[0],n;for(let o=r;o180||c<-180)&&(n-=Math.round(c/360)*360),e[o]=s=n}}function bq(e,t){let r,i=e.length/t;for(let n=0;n=i),s=s.flatMap(N=>[N[0],N[1]]),Vg(s,Kv.COUNTER_CLOCKWISE));let n=r>0,o=i+1,c=n?o*3+1:i,f=Math.PI*2/i,_=new Uint16Array(n?i*3*2:0),w=new Float32Array(c*3),I=new Float32Array(c*3),R=0;if(n){for(let N=0;N 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Sq=`#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n`;var F3=[0,0,0,255],Apt={diskResolution:{type:\"number\",min:4,value:20},vertices:null,radius:{type:\"number\",min:0,value:1e3},angle:{type:\"number\",value:0},offset:{type:\"array\",value:[0,0]},coverage:{type:\"number\",min:0,max:1,value:1},elevationScale:{type:\"number\",min:0,value:1},radiusUnits:\"meters\",lineWidthUnits:\"meters\",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,extruded:!0,wireframe:!1,filled:!0,stroked:!1,getPosition:{type:\"accessor\",value:e=>e.position},getFillColor:{type:\"accessor\",value:F3},getLineColor:{type:\"accessor\",value:F3},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0,getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},af=class extends dn{getShaders(){let{gl:t}=this.context,r=!fr(t),i={},s=this.props.flatShading&&$0(t,Ii.GLSL_DERIVATIVES);return s&&(i.FLAT_SHADING=1),super.getShaders({vs:wq,fs:Sq,defines:i,transpileToGLSL100:r,modules:[Rs,s?Ny:Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceElevations:{size:1,transition:!0,accessor:\"getElevation\"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getFillColor\",defaultValue:F3},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getLineColor\",defaultValue:F3},instanceStrokeWidths:{size:1,accessor:\"getLineWidth\",transition:!0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=s.extensionsChanged||r.flatShading!==i.flatShading;if(n){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}(n||r.diskResolution!==i.diskResolution||r.vertices!==i.vertices||(r.extruded||r.stroked)!==(i.extruded||i.stroked))&&this._updateGeometry(r)}getGeometry(t,r,i){let s=new Q2({radius:1,height:i?2:0,vertices:r,nradial:t}),n=0;if(r)for(let o=0;o=t.length&&(r+=1-t.length/s);let n=r*s;return i[0]=t[n],i[1]=t[n+1],i[2]=s===3&&t[n+2]||0,i}isClosed(t){if(!this.normalize)return!!this.opts.loop;let{positionSize:r}=this,i=t.length-r;return t[0]===t[i]&&t[1]===t[i+1]&&(r===2||t[2]===t[i+2])}};function Mq(e){return Array.isArray(e[0])}var Eq=`#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Pq=`#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Iq=[0,0,0,255],_pt={widthUnits:\"meters\",widthScale:{type:\"number\",min:0,value:1},widthMinPixels:{type:\"number\",min:0,value:0},widthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},jointRounded:!1,capRounded:!1,miterLimit:{type:\"number\",min:0,value:4},billboard:!1,_pathType:null,getPath:{type:\"accessor\",value:e=>e.path},getColor:{type:\"accessor\",value:Iq},getWidth:{type:\"accessor\",value:1},rounded:{deprecatedFor:[\"jointRounded\",\"capRounded\"]}},aB={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},bc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:Eq,fs:Pq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:aB,accessor:\"getPath\",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:\"getWidth\",transition:aB,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:\"getColor\",transition:aB,defaultValue:Iq},instancePickingColors:{size:3,type:5121,accessor:(i,{index:s,target:n})=>this.encodePickingColor(i&&i.__source?i.__source.index:s,n)}}),this.setState({pathTesselator:new $2({fp64:this.use64bitPositions()})})}updateState(t){super.updateState(t);let{props:r,changeFlags:i}=t,s=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){let{pathTesselator:c}=this.state,f=r.data.attributes||{};c.updateGeometry({data:r.data,geometryBuffer:f.getPath,buffers:f,normalize:!r._pathType,loop:r._pathType===\"loop\",getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:c.instanceCount,startIndices:c.vertexStarts}),i.dataChanged||s.invalidateAll()}if(i.extensionsChanged){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),s.invalidateAll()}}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;i=1&&e[0].length>=2&&Number.isFinite(e[0][0])}function Fpt(e){let t=e[0],r=e[e.length-1];return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]}function zpt(e,t,r,i){for(let s=0;sc/t));let n=tx(e),o=i&&t===3;if(r){let c=n.length;n=n.slice();let f=[];for(let _=0;_f&&c>_||(f>_?(r||(n=n.slice()),zq(n,0,2,1)):(r||(n=n.slice()),zq(n,2,0,1)))}return(0,Nq.default)(n,s,t)}var eS=class extends rm{constructor(t){let{fp64:r,IndexType:i=Uint32Array}=t;super({...t,attributes:{positions:{size:3,type:r?Float64Array:Float32Array},vertexValid:{type:Uint8ClampedArray,size:1},indices:{type:i,size:1}}})}get(t){let{attributes:r}=this;return t===\"indices\"?r.indices&&r.indices.subarray(0,this.vertexCount):r[t]}updateGeometry(t){super.updateGeometry(t);let r=this.buffers.indices;if(r)this.vertexCount=(r.value||r).length;else if(this.data&&!this.getGeometry)throw new Error(\"missing indices buffer\")}normalizeGeometry(t){if(this.normalize){let r=G3(t,this.positionSize);return this.opts.resolution?Y2(tx(r),tS(r),{size:this.positionSize,gridResolution:this.opts.resolution,edgeTypes:!0}):this.opts.wrapLongitude?sB(tx(r),tS(r),{size:this.positionSize,maxLatitude:86,edgeTypes:!0}):r}return t}getGeometrySize(t){if(jq(t)){let r=0;for(let i of t)r+=this.getGeometrySize(i);return r}return tx(t).length/this.positionSize}getGeometryFromBuffer(t){return this.normalize||!this.buffers.indices?super.getGeometryFromBuffer(t):null}updateGeometryAttributes(t,r){if(t&&jq(t))for(let i of t){let s=this.getGeometrySize(i);r.geometrySize=s,this.updateGeometryAttributes(i,r),r.vertexStart+=s,r.indexStart=this.indexStarts[r.geometryIndex+1]}else this._updateIndices(t,r),this._updatePositions(t,r),this._updateVertexValid(t,r)}_updateIndices(t,{geometryIndex:r,vertexStart:i,indexStart:s}){let{attributes:n,indexStarts:o,typedArrayManager:c}=this,f=n.indices;if(!f||!t)return;let _=s,w=Uq(t,this.positionSize,this.opts.preproject,this.opts.full3d);f=c.allocate(f,s+w.length,{copy:!0});for(let I=0;I2?o[f*n+2]:0;s[c*3]=_,s[c*3+1]=w,s[c*3+2]=I}}_updateVertexValid(t,{vertexStart:r,geometrySize:i}){let{positionSize:s}=this,n=this.attributes.vertexValid,o=t&&tS(t);if(t&&t.edgeTypes?n.set(t.edgeTypes,r):n.fill(1,r,r+i),o)for(let c=0;c0&&!Number.isFinite(e[0])}var W3=`\nattribute vec2 vertexPositions;\nattribute float vertexValid;\n\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 nextPositions;\n vec3 pickingColors;\n vec3 positions64Low;\n vec3 nextPositions64Low;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n#ifdef IS_SIDE_VERTEX\n if(vertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n#endif\n\n vec3 pos;\n vec3 pos64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.worldPositionAlt = props.nextPositions;\n geometry.pickingColor = props.pickingColors;\n\n#ifdef IS_SIDE_VERTEX\n pos = mix(props.positions, props.nextPositions, vertexPositions.x);\n pos64Low = mix(props.positions64Low, props.nextPositions64Low, vertexPositions.x);\n#else\n pos = props.positions;\n pos64Low = props.positions64Low;\n#endif\n\n if (extruded) {\n pos.z += props.elevations * vertexPositions.y * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n #ifdef IS_SIDE_VERTEX\n normal = vec3(\n props.positions.y - props.nextPositions.y + (props.positions64Low.y - props.nextPositions64Low.y),\n props.nextPositions.x - props.positions.x + (props.nextPositions64Low.x - props.positions64Low.x),\n 0.0);\n normal = project_offset_normal(normal);\n #else\n normal = project_normal(vec3(0.0, 0.0, 1.0));\n #endif\n geometry.normal = normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Gq=`#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = positions;\n props.positions64Low = positions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n\n calculatePosition(props);\n}\n`);var Wq=`#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n#define IS_SIDE_VERTEX\n\n\nattribute vec3 instancePositions;\nattribute vec3 nextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 nextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n #if RING_WINDING_ORDER_CW == 1\n props.positions = instancePositions;\n props.positions64Low = instancePositions64Low;\n props.nextPositions = nextPositions;\n props.nextPositions64Low = nextPositions64Low;\n #else\n props.positions = nextPositions;\n props.positions64Low = nextPositions64Low;\n props.nextPositions = instancePositions;\n props.nextPositions64Low = instancePositions64Low;\n #endif\n props.elevations = instanceElevations;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n`);var Hq=`#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var q3=[0,0,0,255],Npt={filled:!0,extruded:!1,wireframe:!1,_normalize:!0,_windingOrder:\"CW\",_full3d:!1,elevationScale:{type:\"number\",min:0,value:1},getPolygon:{type:\"accessor\",value:e=>e.polygon},getElevation:{type:\"accessor\",value:1e3},getFillColor:{type:\"accessor\",value:q3},getLineColor:{type:\"accessor\",value:q3},material:!0},H3={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},wc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(t){return super.getShaders({vs:t===\"top\"?Gq:Wq,fs:Hq,defines:{RING_WINDING_ORDER_CW:!this.props._normalize&&this.props._windingOrder===\"CCW\"?0:1},modules:[Rs,Zf,Ao]})}get wrapLongitude(){return!1}initializeState(){let{gl:t,viewport:r}=this.context,{coordinateSystem:i}=this.props,{_full3d:s}=this.props;r.isGeospatial&&i===Yr.DEFAULT&&(i=Yr.LNGLAT);let n;i===Yr.LNGLAT&&(s?n=r.projectPosition.bind(r):n=r.projectFlat.bind(r)),this.setState({numInstances:0,polygonTesselator:new eS({preproject:n,fp64:this.use64bitPositions(),IndexType:!t||Oh(t,Ii.ELEMENT_INDEX_UINT32)?Uint32Array:Uint16Array})});let o=this.getAttributeManager(),c=!0;o.remove([\"instancePickingColors\"]),o.add({indices:{size:1,isIndexed:!0,update:this.calculateIndices,noAlloc:c},positions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:H3,accessor:\"getPolygon\",update:this.calculatePositions,noAlloc:c,shaderAttributes:{positions:{vertexOffset:0,divisor:0},instancePositions:{vertexOffset:0,divisor:1},nextPositions:{vertexOffset:1,divisor:1}}},vertexValid:{size:1,divisor:1,type:5121,update:this.calculateVertexValid,noAlloc:c},elevations:{size:1,transition:H3,accessor:\"getElevation\",shaderAttributes:{elevations:{divisor:0},instanceElevations:{divisor:1}}},fillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getFillColor\",defaultValue:q3,shaderAttributes:{fillColors:{divisor:0},instanceFillColors:{divisor:1}}},lineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getLineColor\",defaultValue:q3,shaderAttributes:{lineColors:{divisor:0},instanceLineColors:{divisor:1}}},pickingColors:{size:3,type:5121,accessor:(f,{index:_,target:w})=>this.encodePickingColor(f&&f.__source?f.__source.index:_,w),shaderAttributes:{pickingColors:{divisor:0},instancePickingColors:{divisor:1}}}})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;if.delete()),this.setState(this._getModels(this.context.gl)),n.invalidateAll()}}updateGeometry({props:t,oldProps:r,changeFlags:i}){if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPolygon)){let{polygonTesselator:n}=this.state,o=t.data.attributes||{};n.updateGeometry({data:t.data,normalize:t._normalize,geometryBuffer:o.getPolygon,buffers:o,getGeometry:t.getPolygon,positionFormat:t.positionFormat,wrapLongitude:t.wrapLongitude,resolution:this.context.viewport.resolution,fp64:this.use64bitPositions(),dataChanged:i.dataChanged,full3d:t._full3d}),this.setState({numInstances:n.instanceCount,startIndices:n.vertexStarts}),i.dataChanged||this.getAttributeManager().invalidateAll()}}_getModels(t){let{id:r,filled:i,extruded:s}=this.props,n,o;if(i){let c=this.getShaders(\"top\");c.defines.NON_INSTANCED_MODEL=1,n=new fn(t,{...c,id:\"\".concat(r,\"-top\"),drawMode:4,attributes:{vertexPositions:new Float32Array([0,1])},uniforms:{isWireframe:!1,isSideVertex:!1},vertexCount:0,isIndexed:!0})}return s&&(o=new fn(t,{...this.getShaders(\"side\"),id:\"\".concat(r,\"-side\"),geometry:new $n({drawMode:1,vertexCount:4,attributes:{vertexPositions:{size:2,value:new Float32Array([1,0,0,0,0,1,1,1])}}}),instanceCount:0,isInstanced:1}),o.userData.excludeAttributes={indices:!0}),{models:[o,n].filter(Boolean),topModel:n,sideModel:o}}calculateIndices(t){let{polygonTesselator:r}=this.state;t.startIndices=r.indexStarts,t.value=r.get(\"indices\")}calculatePositions(t){let{polygonTesselator:r}=this.state;t.startIndices=r.vertexStarts,t.value=r.get(\"positions\")}calculateVertexValid(t){t.value=this.state.polygonTesselator.get(\"vertexValid\")}};G(wc,\"defaultProps\",Npt);G(wc,\"layerName\",\"SolidPolygonLayer\");function Z3({data:e,getIndex:t,dataRange:r,replace:i}){let{startRow:s=0,endRow:n=1/0}=r,o=e.length,c=o,f=o;for(let R=0;RR&&N>=s&&(c=R),N>=n){f=R;break}}let _=c,I=f-c!==i.length?e.slice(f):void 0;for(let R=0;Re.polygon},getFillColor:{type:\"accessor\",value:Upt},getLineColor:{type:\"accessor\",value:qq},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0},lf=class extends Ni{initializeState(){this.state={paths:[]},this.props.getLineDashArray&&or.removed(\"getLineDashArray\",\"PathStyleExtension\")()}updateState({changeFlags:t}){let r=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getPolygon);if(r&&Array.isArray(t.dataChanged)){let i=this.state.paths.slice(),s=t.dataChanged.map(n=>Z3({data:i,getIndex:o=>o.__source.index,dataRange:n,replace:this._getPaths(n)}));this.setState({paths:i,pathsDiff:s})}else r&&this.setState({paths:this._getPaths(),pathsDiff:null})}_getPaths(t={}){let{data:r,getPolygon:i,positionFormat:s,_normalize:n}=this.props,o=[],c=s===\"XY\"?2:3,{startRow:f,endRow:_}=t,{iterable:w,objectInfo:I}=Jc(r,f,_);for(let R of w){I.index++;let N=i(R,I);n&&(N=G3(N,c));let{holeIndices:j}=N,Q=N.positions||N;if(j)for(let et=0;et<=j.length;et++){let Y=Q.slice(j[et-1]||0,j[et]||Q.length);o.push(this.getSubLayerRow({path:Y},R,I.index))}else o.push(this.getSubLayerRow({path:Q},R,I.index))}return o}renderLayers(){let{data:t,_dataDiff:r,stroked:i,filled:s,extruded:n,wireframe:o,_normalize:c,_windingOrder:f,elevationScale:_,transitions:w,positionFormat:I}=this.props,{lineWidthUnits:R,lineWidthScale:N,lineWidthMinPixels:j,lineWidthMaxPixels:Q,lineJointRounded:et,lineMiterLimit:Y,lineDashJustified:K}=this.props,{getFillColor:J,getLineColor:ut,getLineWidth:Et,getLineDashArray:kt,getElevation:Xt,getPolygon:qt,updateTriggers:le,material:ue}=this.props,{paths:De,pathsDiff:Ke}=this.state,rr=this.getSubLayerClass(\"fill\",wc),Sr=this.getSubLayerClass(\"stroke\",bc),Li=this.shouldRenderSubLayer(\"fill\",De)&&new rr({_dataDiff:r,extruded:n,elevationScale:_,filled:s,wireframe:o,_normalize:c,_windingOrder:f,getElevation:Xt,getFillColor:J,getLineColor:n&&o?ut:qq,material:ue,transitions:w},this.getSubLayerProps({id:\"fill\",updateTriggers:le&&{getPolygon:le.getPolygon,getElevation:le.getElevation,getFillColor:le.getFillColor,lineColors:n&&o,getLineColor:le.getLineColor}}),{data:t,positionFormat:I,getPolygon:qt}),oo=!n&&i&&this.shouldRenderSubLayer(\"stroke\",De)&&new Sr({_dataDiff:Ke&&(()=>Ke),widthUnits:R,widthScale:N,widthMinPixels:j,widthMaxPixels:Q,jointRounded:et,miterLimit:Y,dashJustified:K,_pathType:\"loop\",transitions:w&&{getWidth:w.getLineWidth,getColor:w.getLineColor,getPath:w.getPolygon},getColor:this.getSubLayerAccessor(ut),getWidth:this.getSubLayerAccessor(Et),getDashArray:this.getSubLayerAccessor(kt)},this.getSubLayerProps({id:\"stroke\",updateTriggers:le&&{getWidth:le.getLineWidth,getColor:le.getLineColor,getDashArray:le.getLineDashArray}}),{data:De,positionFormat:I,getPath:zl=>zl.path});return[!n&&Li,oo,n&&Li]}};G(lf,\"layerName\",\"PolygonLayer\");G(lf,\"defaultProps\",Vpt);function Zq(e,t){if(!e)return null;let r=\"startIndices\"in e?e.startIndices[t]:t,i=e.featureIds.value[r];return r!==-1?jpt(e,i,r):null}function jpt(e,t,r){let i={properties:{...e.properties[t]}};for(let s in e.numericProps)i.properties[s]=e.numericProps[s].value[r];return i}function Yq(e,t){let r={points:null,lines:null,polygons:null};for(let i in r){let s=e[i].globalFeatureIds.value;r[i]=new Uint8ClampedArray(s.length*3);let n=[];for(let o=0;o 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var dB=192/256,$q=[],Gpt={getIconOffsets:{type:\"accessor\",value:e=>e.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:\"color\",value:[0,0,0,255]}},Gg=class extends Ep{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return{...super.getShaders(),fs:Qq}}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:\"getIconOffsets\"},instancePickingColors:{type:5121,size:3,accessor:(r,{index:i,target:s})=>this.encodePickingColor(i,s)}})}updateState(t){super.updateState(t);let{props:r,oldProps:i}=t,{outlineColor:s}=r;s!==i.outlineColor&&(s=s.map(n=>n/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!r.sdf&&r.outlineWidth&&or.warn(\"\".concat(this.id,\": fontSettings.sdf is required to render outline\"))()}draw(t){let{sdf:r,smoothing:i,outlineWidth:s}=this.props,{outlineColor:n}=this.state,o=s?Math.max(i,dB*(1-s)):-1;if(t.uniforms={...t.uniforms,sdfBuffer:dB,outlineBuffer:o,gamma:i,sdf:!!r,outlineColor:n},super.draw(t),r&&s){let{iconManager:c}=this.state;c.getTexture()&&this.state.model.draw({uniforms:{outlineBuffer:dB}})}}getInstanceOffset(t){return t?Array.from(t).flatMap(r=>super.getInstanceOffset(r)):$q}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).flatMap(r=>super.getInstanceIconFrame(r)):$q}};G(Gg,\"defaultProps\",Gpt);G(Gg,\"layerName\",\"MultiIconLayer\");var rS=class{constructor({fontSize:t=24,buffer:r=3,radius:i=8,cutoff:s=.25,fontFamily:n=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:c=\"normal\"}={}){this.buffer=r,this.cutoff=s,this.radius=i;let f=this.size=t+r*4,_=this._createCanvas(f),w=this.ctx=_.getContext(\"2d\",{willReadFrequently:!0});w.font=`${c} ${o} ${t}px ${n}`,w.textBaseline=\"alphabetic\",w.textAlign=\"left\",w.fillStyle=\"black\",this.gridOuter=new Float64Array(f*f),this.gridInner=new Float64Array(f*f),this.f=new Float64Array(f),this.z=new Float64Array(f+1),this.v=new Uint16Array(f)}_createCanvas(t){let r=document.createElement(\"canvas\");return r.width=r.height=t,r}draw(t){let{width:r,actualBoundingBoxAscent:i,actualBoundingBoxDescent:s,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(t),c=Math.ceil(i),f=0,_=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),w=Math.min(this.size-this.buffer,c+Math.ceil(s)),I=_+2*this.buffer,R=w+2*this.buffer,N=Math.max(I*R,0),j=new Uint8ClampedArray(N),Q={data:j,width:I,height:R,glyphWidth:_,glyphHeight:w,glyphTop:c,glyphLeft:f,glyphAdvance:r};if(_===0||w===0)return Q;let{ctx:et,buffer:Y,gridInner:K,gridOuter:J}=this;et.clearRect(Y,Y,_,w),et.fillText(t,Y,Y+c);let ut=et.getImageData(Y,Y,_,w);J.fill(1e20,0,N),K.fill(0,0,N);for(let Et=0;Et0?le*le:0,K[qt]=le<0?le*le:0}}Xq(J,0,0,I,R,I,this.f,this.v,this.z),Xq(K,Y,Y,_,w,I,this.f,this.v,this.z);for(let Et=0;Et-1);f++,n[f]=c,o[f]=_,o[f+1]=1e20}for(let c=0,f=0;cs&&(_=0,f++),n[I]={x:_+i,y:c+f*w+i,width:R,height:w,layoutWidth:R,layoutHeight:r},_+=R+i*2}return{mapping:n,xOffset:_,yOffset:c+f*w,canvasHeight:qpt(c+(f+1)*w)}}function tZ(e,t,r,i){let s=0;for(let o=t;oi&&(oc){let I=tZ(e,c,f,s);_+I>i&&(oi&&(I=eZ(e,c,f,i,s,n),o=n[n.length-1])),c=f,_+=I}return _}function Ypt(e,t,r,i,s=0,n){n===void 0&&(n=e.length);let o=[];return t===\"break-all\"?eZ(e,s,n,r,i,o):Zpt(e,s,n,r,i,o),o}function Qpt(e,t,r,i,s,n){let o=0,c=0;for(let f=t;f0,I=[0,0],R=[0,0],N=0,j=0,Q=0;for(let Y=0;Y<=o;Y++){let K=n[Y];if((K===`\n`||Y===o)&&(Q=Y),Q>j){let J=w?Ypt(n,r,i,s,j,Q):Hpt;for(let ut=0;ut<=J.length;ut++){let Et=ut===0?j:J[ut-1],kt=ut1||f>0){let N=e.constructor;R=new N(_);for(let j=0;j<_;j++)R[j]=e[j*c+f]}for(let N=0;N=0&&this._order.splice(r,1)}_appendOrder(t){this._order.push(t)}};function $pt(){let e=[];for(let t=32;t<128;t++)e.push(String.fromCharCode(t));return e}var Wg={fontFamily:\"Monaco, monospace\",fontWeight:\"normal\",characterSet:$pt(),fontSize:64,buffer:4,sdf:!1,cutoff:.25,radius:12,smoothing:.1},nZ=1024,sZ=.9,oZ=1.2,lZ=3,Y3=new ex(lZ);function Xpt(e,t){let r;typeof t==\"string\"?r=new Set(Array.from(t)):r=new Set(t);let i=Y3.get(e);if(!i)return r;for(let s in i.mapping)r.has(s)&&r.delete(s);return r}function Kpt(e,t){for(let r=0;r=lZ,\"Invalid cache limit\"),Y3=new ex(e)}var iS=class{constructor(){G(this,\"props\",{...Wg}),G(this,\"_key\",void 0),G(this,\"_atlas\",void 0)}get texture(){return this._atlas}get mapping(){return this._atlas&&this._atlas.mapping}get scale(){let{fontSize:t,buffer:r}=this.props;return(t*oZ+r*2)/t}setProps(t={}){Object.assign(this.props,t),this._key=this._getKey();let r=Xpt(this._key,this.props.characterSet),i=Y3.get(this._key);if(i&&r.size===0){this._atlas!==i&&(this._atlas=i);return}let s=this._generateFontAtlas(r,i);this._atlas=s,Y3.set(this._key,s)}_generateFontAtlas(t,r){let{fontFamily:i,fontWeight:s,fontSize:n,buffer:o,sdf:c,radius:f,cutoff:_}=this.props,w=r&&r.data;w||(w=document.createElement(\"canvas\"),w.width=nZ);let I=w.getContext(\"2d\",{willReadFrequently:!0});aZ(I,i,n,s);let{mapping:R,canvasHeight:N,xOffset:j,yOffset:Q}=Jq({getFontWidth:et=>I.measureText(et).width,fontHeight:n*oZ,buffer:o,characterSet:t,maxCanvasWidth:nZ,...r&&{mapping:r.mapping,xOffset:r.xOffset,yOffset:r.yOffset}});if(w.height!==N){let et=I.getImageData(0,0,w.width,w.height);w.height=N,I.putImageData(et,0,0)}if(aZ(I,i,n,s),c){let et=new rS({fontSize:n,buffer:o,radius:f,cutoff:_,fontFamily:i,fontWeight:\"\".concat(s)});for(let Y of t){let{data:K,width:J,height:ut,glyphTop:Et}=et.draw(Y);R[Y].width=J,R[Y].layoutOffsetY=n*sZ-Et;let kt=I.createImageData(J,ut);Kpt(K,kt),I.putImageData(kt,R[Y].x,R[Y].y)}}else for(let et of t)I.fillText(et,R[et].x,R[et].y+o+n*sZ);return{xOffset:j,yOffset:Q,mapping:R,data:w,width:w.width,height:w.height}}_getKey(){let{fontFamily:t,fontWeight:r,fontSize:i,buffer:s,sdf:n,radius:o,cutoff:c}=this.props;return n?\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s,\" \").concat(o,\" \").concat(c):\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s)}};var uZ=`#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var hZ=`#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Jpt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:\"array\",value:[0,0,0,0]},getPosition:{type:\"accessor\",value:e=>e.position},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},getBoundingRect:{type:\"accessor\",value:[0,0,0,0]},getFillColor:{type:\"accessor\",value:[0,0,0,255]},getLineColor:{type:\"accessor\",value:[0,0,0,255]},getLineWidth:{type:\"accessor\",value:1}},Hg=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:uZ,fs:hZ,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instanceRects:{size:4,accessor:\"getBoundingRect\"},instancePixelOffsets:{size:2,transition:!0,accessor:\"getPixelOffset\"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){super.updateState(t);let{changeFlags:r}=t;if(r.extensionsChanged){var i;let{gl:s}=this.context;(i=this.state.model)===null||i===void 0||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{billboard:r,sizeScale:i,sizeUnits:s,sizeMinPixels:n,sizeMaxPixels:o,getLineWidth:c}=this.props,{padding:f}=this.props;f.length<4&&(f=[f[0],f[1],f[0],f[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:!!c,padding:f,sizeUnits:po[s],sizeScale:i,sizeMinPixels:n,sizeMaxPixels:o}).draw()}_getModel(t){let r=[0,0,1,0,1,1,0,1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Hg,\"defaultProps\",Jpt);G(Hg,\"layerName\",\"TextBackgroundLayer\");var fZ={start:1,middle:0,end:-1},dZ={top:1,center:0,bottom:-1},pB=[0,0,0,255],tAt=1,eAt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:\"accessor\",value:[255,255,255,255]},getBorderColor:{type:\"accessor\",value:pB},getBorderWidth:{type:\"accessor\",value:0},backgroundPadding:{type:\"array\",value:[0,0,0,0]},characterSet:{type:\"object\",value:Wg.characterSet},fontFamily:Wg.fontFamily,fontWeight:Wg.fontWeight,lineHeight:tAt,outlineWidth:{type:\"number\",value:0,min:0},outlineColor:{type:\"color\",value:pB},fontSettings:{type:\"object\",value:{},compare:1},wordBreak:\"break-word\",maxWidth:{type:\"number\",value:-1},getText:{type:\"accessor\",value:e=>e.text},getPosition:{type:\"accessor\",value:e=>e.position},getColor:{type:\"accessor\",value:pB},getSize:{type:\"accessor\",value:32},getAngle:{type:\"accessor\",value:0},getTextAnchor:{type:\"accessor\",value:\"middle\"},getAlignmentBaseline:{type:\"accessor\",value:\"center\"},getPixelOffset:{type:\"accessor\",value:[0,0]},backgroundColor:{deprecatedFor:[\"background\",\"getBackgroundColor\"]}},cf=class extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0),G(this,\"getBoundingRect\",(r,i)=>{let{size:[s,n]}=this.transformParagraph(r,i),{fontSize:o}=this.state.fontAtlasManager.props;s/=o,n/=o;let{getTextAnchor:c,getAlignmentBaseline:f}=this.props,_=fZ[typeof c==\"function\"?c(r,i):c],w=dZ[typeof f==\"function\"?f(r,i):f];return[(_-1)*s/2,(w-1)*n/2,s,n]}),G(this,\"getIconOffsets\",(r,i)=>{let{getTextAnchor:s,getAlignmentBaseline:n}=this.props,{x:o,y:c,rowWidth:f,size:[_,w]}=this.transformParagraph(r,i),I=fZ[typeof s==\"function\"?s(r,i):s],R=dZ[typeof n==\"function\"?n(r,i):n],N=o.length,j=new Array(N*2),Q=0;for(let et=0;et0&&or.warn(\"v8.9 breaking change: TextLayer maxWidth is now relative to text size\")()}updateState(t){let{props:r,oldProps:i,changeFlags:s}=t;(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||r.lineHeight!==i.lineHeight||r.wordBreak!==i.wordBreak||r.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(){let{fontSettings:t,fontFamily:r,fontWeight:i}=this.props,{fontAtlasManager:s,characterSet:n}=this.state,o={...t,characterSet:n,fontFamily:r,fontWeight:i};if(!s.mapping)return s.setProps(o),!0;for(let c in o)if(o[c]!==s.props[c])return s.setProps(o),!0;return!1}_updateText(){var t;let{data:r,characterSet:i}=this.props,s=(t=r.attributes)===null||t===void 0?void 0:t.getText,{getText:n}=this.props,o=r.startIndices,c,f=i===\"auto\"&&new Set;if(s&&o){let{texts:_,characterCount:w}=iZ({...ArrayBuffer.isView(s)?{value:s}:s,length:r.length,startIndices:o,characterSet:f});c=w,n=(I,{index:R})=>_[R]}else{let{iterable:_,objectInfo:w}=Jc(r);o=[0],c=0;for(let I of _){w.index++;let R=Array.from(n(I,w)||\"\");f&&R.forEach(f.add,f),c+=R.length,o.push(c)}}this.setState({getText:n,startIndices:o,numInstances:c,characterSet:f||i})}transformParagraph(t,r){let{fontAtlasManager:i}=this.state,s=i.mapping,n=this.state.getText,{wordBreak:o,lineHeight:c,maxWidth:f}=this.props,_=n(t,r)||\"\";return rZ(_,c,o,f*i.props.fontSize,s)}renderLayers(){let{startIndices:t,numInstances:r,getText:i,fontAtlasManager:{scale:s,texture:n,mapping:o},styleVersion:c}=this.state,{data:f,_dataDiff:_,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,getBackgroundColor:Q,getBorderColor:et,getBorderWidth:Y,backgroundPadding:K,background:J,billboard:ut,fontSettings:Et,outlineWidth:kt,outlineColor:Xt,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke,updateTriggers:rr}=this.props,Sr=this.getSubLayerClass(\"characters\",Gg),Li=this.getSubLayerClass(\"background\",Hg);return[J&&new Li({getFillColor:Q,getLineColor:et,getLineWidth:Y,padding:K,getPosition:w,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getSize:Ke.getSize,getFillColor:Ke.getBackgroundColor,getLineColor:Ke.getBorderColor,getLineWidth:Ke.getBorderWidth,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"background\",updateTriggers:{getPosition:rr.getPosition,getAngle:rr.getAngle,getSize:rr.getSize,getFillColor:rr.getBackgroundColor,getLineColor:rr.getBorderColor,getLineWidth:rr.getBorderWidth,getPixelOffset:rr.getPixelOffset,getBoundingRect:{getText:rr.getText,getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f.attributes&&f.attributes.background?{length:f.length,attributes:f.attributes.background}:f,_dataDiff:_,autoHighlight:!1,getBoundingRect:this.getBoundingRect}),new Sr({sdf:Et.sdf,smoothing:Number.isFinite(Et.smoothing)?Et.smoothing:Wg.smoothing,outlineWidth:kt/(Et.radius||Wg.radius),outlineColor:Xt,iconAtlas:n,iconMapping:o,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt*s,sizeUnits:le,sizeMinPixels:ue*s,sizeMaxPixels:De*s,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getColor:Ke.getColor,getSize:Ke.getSize,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"characters\",updateTriggers:{all:rr.getText,getPosition:rr.getPosition,getAngle:rr.getAngle,getColor:rr.getColor,getSize:rr.getSize,getPixelOffset:rr.getPixelOffset,getIconOffsets:{getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f,_dataDiff:_,startIndices:t,numInstances:r,getIconOffsets:this.getIconOffsets,getIcon:i})]}static set fontAtlasCacheLimit(t){cZ(t)}};G(cf,\"defaultProps\",eAt);G(cf,\"layerName\",\"TextLayer\");var nS={circle:{type:Ku,props:{filled:\"filled\",stroked:\"stroked\",lineWidthMaxPixels:\"lineWidthMaxPixels\",lineWidthMinPixels:\"lineWidthMinPixels\",lineWidthScale:\"lineWidthScale\",lineWidthUnits:\"lineWidthUnits\",pointRadiusMaxPixels:\"radiusMaxPixels\",pointRadiusMinPixels:\"radiusMinPixels\",pointRadiusScale:\"radiusScale\",pointRadiusUnits:\"radiusUnits\",pointAntialiasing:\"antialiasing\",pointBillboard:\"billboard\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\",getLineWidth:\"getLineWidth\",getPointRadius:\"getRadius\"}},icon:{type:Ep,props:{iconAtlas:\"iconAtlas\",iconMapping:\"iconMapping\",iconSizeMaxPixels:\"sizeMaxPixels\",iconSizeMinPixels:\"sizeMinPixels\",iconSizeScale:\"sizeScale\",iconSizeUnits:\"sizeUnits\",iconAlphaCutoff:\"alphaCutoff\",iconBillboard:\"billboard\",getIcon:\"getIcon\",getIconAngle:\"getAngle\",getIconColor:\"getColor\",getIconPixelOffset:\"getPixelOffset\",getIconSize:\"getSize\"}},text:{type:cf,props:{textSizeMaxPixels:\"sizeMaxPixels\",textSizeMinPixels:\"sizeMinPixels\",textSizeScale:\"sizeScale\",textSizeUnits:\"sizeUnits\",textBackground:\"background\",textBackgroundPadding:\"backgroundPadding\",textFontFamily:\"fontFamily\",textFontWeight:\"fontWeight\",textLineHeight:\"lineHeight\",textMaxWidth:\"maxWidth\",textOutlineColor:\"outlineColor\",textOutlineWidth:\"outlineWidth\",textWordBreak:\"wordBreak\",textCharacterSet:\"characterSet\",textBillboard:\"billboard\",textFontSettings:\"fontSettings\",getText:\"getText\",getTextAngle:\"getAngle\",getTextColor:\"getColor\",getTextPixelOffset:\"getPixelOffset\",getTextSize:\"getSize\",getTextAnchor:\"getTextAnchor\",getTextAlignmentBaseline:\"getAlignmentBaseline\",getTextBackgroundColor:\"getBackgroundColor\",getTextBorderColor:\"getBorderColor\",getTextBorderWidth:\"getBorderWidth\"}}},sS={type:bc,props:{lineWidthUnits:\"widthUnits\",lineWidthScale:\"widthScale\",lineWidthMinPixels:\"widthMinPixels\",lineWidthMaxPixels:\"widthMaxPixels\",lineJointRounded:\"jointRounded\",lineCapRounded:\"capRounded\",lineMiterLimit:\"miterLimit\",lineBillboard:\"billboard\",getLineColor:\"getColor\",getLineWidth:\"getWidth\"}},Q3={type:wc,props:{extruded:\"extruded\",filled:\"filled\",wireframe:\"wireframe\",elevationScale:\"elevationScale\",material:\"material\",_full3d:\"_full3d\",getElevation:\"getElevation\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\"}};function rx({type:e,props:t}){let r={};for(let i in t)r[i]=e.defaultProps[t[i]];return r}function $3(e,t){let{transitions:r,updateTriggers:i}=e.props,s={updateTriggers:{},transitions:r&&{getPosition:r.geometry}};for(let n in t){let o=t[n],c=e.props[n];n.startsWith(\"get\")&&(c=e.getSubLayerAccessor(c),s.updateTriggers[o]=i[n],r&&(s.transitions[o]=r[n])),s[o]=c}return s}function AZ(e){if(Array.isArray(e))return e;switch(or.assert(e.type,\"GeoJSON does not have type\"),e.type){case\"Feature\":return[e];case\"FeatureCollection\":return or.assert(Array.isArray(e.features),\"GeoJSON does not have features array\"),e.features;default:return[{geometry:e}]}}function AB(e,t,r={}){let i={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},{startRow:s=0,endRow:n=e.length}=r;for(let o=s;o{c.push(r({geometry:{type:\"Point\",coordinates:I}},i,s))});break;case\"LineString\":f.push(r({geometry:e},i,s));break;case\"MultiLineString\":o.forEach(I=>{f.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"Polygon\":_.push(r({geometry:e},i,s)),o.forEach(I=>{w.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"MultiPolygon\":o.forEach(I=>{_.push(r({geometry:{type:\"Polygon\",coordinates:I}},i,s)),I.forEach(R=>{w.push(r({geometry:{type:\"LineString\",coordinates:R}},i,s))})});break;default:}}var rAt={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function iAt(e,t){let r=rAt[e];for(or.assert(r,\"Unknown GeoJSON type \".concat(e));t&&--r>0;)t=t[0];return t&&Number.isFinite(t[0])}function mZ(){return{points:{},lines:{},polygons:{},polygonsOutline:{}}}function X3(e){return e.geometry.coordinates}function gZ(e,t){let r=mZ(),{pointFeatures:i,lineFeatures:s,polygonFeatures:n,polygonOutlineFeatures:o}=e;return r.points.data=i,r.points._dataDiff=t.pointFeatures&&(()=>t.pointFeatures),r.points.getPosition=X3,r.lines.data=s,r.lines._dataDiff=t.lineFeatures&&(()=>t.lineFeatures),r.lines.getPath=X3,r.polygons.data=n,r.polygons._dataDiff=t.polygonFeatures&&(()=>t.polygonFeatures),r.polygons.getPolygon=X3,r.polygonsOutline.data=o,r.polygonsOutline._dataDiff=t.polygonOutlineFeatures&&(()=>t.polygonOutlineFeatures),r.polygonsOutline.getPath=X3,r}function _Z(e,t){let r=mZ(),{points:i,lines:s,polygons:n}=e,o=Yq(e,t);return r.points.data={length:i.positions.value.length/i.positions.size,attributes:{...i.attributes,getPosition:i.positions,instancePickingColors:{size:3,value:o.points}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},r.lines.data={length:s.pathIndices.value.length-1,startIndices:s.pathIndices.value,attributes:{...s.attributes,getPath:s.positions,instancePickingColors:{size:3,value:o.lines}},properties:s.properties,numericProps:s.numericProps,featureIds:s.featureIds},r.lines._pathType=\"open\",r.polygons.data={length:n.polygonIndices.value.length-1,startIndices:n.polygonIndices.value,attributes:{...n.attributes,getPolygon:n.positions,pickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygons._normalize=!1,n.triangles&&(r.polygons.data.attributes.indices=n.triangles.value),r.polygonsOutline.data={length:n.primitivePolygonIndices.value.length-1,startIndices:n.primitivePolygonIndices.value,attributes:{...n.attributes,getPath:n.positions,instancePickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygonsOutline._pathType=\"open\",r}var nAt=[\"points\",\"linestrings\",\"polygons\"],sAt={...rx(nS.circle),...rx(nS.icon),...rx(nS.text),...rx(sS),...rx(Q3),stroked:!0,filled:!0,extruded:!1,wireframe:!1,_full3d:!1,iconAtlas:{type:\"object\",value:null},iconMapping:{type:\"object\",value:{}},getIcon:{type:\"accessor\",value:e=>e.properties.icon},getText:{type:\"accessor\",value:e=>e.properties.text},pointType:\"circle\",getRadius:{deprecatedFor:\"getPointRadius\"}},Mm=class extends Ni{initializeState(){this.state={layerProps:{},features:{}}}updateState({props:t,changeFlags:r}){if(!r.dataChanged)return;let{data:i}=this.props,s=i&&\"points\"in i&&\"polygons\"in i&&\"lines\"in i;this.setState({binary:s}),s?this._updateStateBinary({props:t,changeFlags:r}):this._updateStateJSON({props:t,changeFlags:r})}_updateStateBinary({props:t,changeFlags:r}){let i=_Z(t.data,this.encodePickingColor);this.setState({layerProps:i})}_updateStateJSON({props:t,changeFlags:r}){let i=AZ(t.data),s=this.getSubLayerRow.bind(this),n={},o={};if(Array.isArray(r.dataChanged)){let f=this.state.features;for(let _ in f)n[_]=f[_].slice(),o[_]=[];for(let _ of r.dataChanged){let w=AB(i,s,_);for(let I in f)o[I].push(Z3({data:n[I],getIndex:R=>R.__source.index,dataRange:_,replace:w[I]}))}}else n=AB(i,s);let c=gZ(n,o);this.setState({features:n,featuresDiff:o,layerProps:c})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i,sourceLayer:s}=r;return r.featureType=nAt.find(n=>s.id.startsWith(\"\".concat(this.id,\"-\").concat(n,\"-\"))),i>=0&&s.id.startsWith(\"\".concat(this.id,\"-points-text\"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}_updateAutoHighlight(t){let r=\"\".concat(this.id,\"-points-\"),i=t.featureType===\"points\";for(let s of this.getSubLayers())s.id.startsWith(r)===i&&s.updateAutoHighlight(t)}_renderPolygonLayer(){let{extruded:t,wireframe:r}=this.props,{layerProps:i}=this.state,s=\"polygons-fill\",n=this.shouldRenderSubLayer(s,i.polygons.data)&&this.getSubLayerClass(s,Q3.type);if(n){let o=$3(this,Q3.props),c=t&&r;return c||delete o.getLineColor,o.updateTriggers.lineColors=c,new n(o,this.getSubLayerProps({id:s,updateTriggers:o.updateTriggers}),i.polygons)}return null}_renderLineLayers(){let{extruded:t,stroked:r}=this.props,{layerProps:i}=this.state,s=\"polygons-stroke\",n=\"linestrings\",o=!t&&r&&this.shouldRenderSubLayer(s,i.polygonsOutline.data)&&this.getSubLayerClass(s,sS.type),c=this.shouldRenderSubLayer(n,i.lines.data)&&this.getSubLayerClass(n,sS.type);if(o||c){let f=$3(this,sS.props);return[o&&new o(f,this.getSubLayerProps({id:s,updateTriggers:f.updateTriggers}),i.polygonsOutline),c&&new c(f,this.getSubLayerProps({id:n,updateTriggers:f.updateTriggers}),i.lines)]}return null}_renderPointLayers(){let{pointType:t}=this.props,{layerProps:r,binary:i}=this.state,{highlightedObjectIndex:s}=this.props;!i&&Number.isFinite(s)&&(s=r.points.data.findIndex(c=>c.__source.index===s));let n=new Set(t.split(\"+\")),o=[];for(let c of n){let f=\"points-\".concat(c),_=nS[c],w=_&&this.shouldRenderSubLayer(f,r.points.data)&&this.getSubLayerClass(f,_.type);if(w){let I=$3(this,_.props),R=r.points;if(c===\"text\"&&i){let{instancePickingColors:N,...j}=R.data.attributes;R={...R,data:{...R.data,attributes:j}}}o.push(new w(I,this.getSubLayerProps({id:f,updateTriggers:I.updateTriggers,highlightedObjectIndex:s}),R))}}return o}renderLayers(){let{extruded:t}=this.props,r=this._renderPolygonLayer(),i=this._renderLineLayers(),s=this._renderPointLayers();return[!t&&r,i,s,t&&r]}getSubLayerAccessor(t){let{binary:r}=this.state;return!r||typeof t!=\"function\"?super.getSubLayerAccessor(t):(i,s)=>{let{data:n,index:o}=s,c=Zq(n,o);return t(c,s)}}};G(Mm,\"layerName\",\"GeoJsonLayer\");G(Mm,\"defaultProps\",sAt);var QXt=1/Math.PI*180,$Xt=1/180*Math.PI,oAt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...oAt}};var oS=globalThis.mathgl.config;function aS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ix(e,t,r){let i=oS.EPSILON;r&&(oS.EPSILON=r);try{if(e===t)return!0;if(aS(e)&&aS(t)){if(e.length!==t.length)return!1;for(let s=0;s{t([r,i],[s,n],o,c)},this.options):xZ(this.points,t,this.options)}modifyWindingDirection(t){return this.isFlatArray?mB(this.points,t,this.options):vZ(this.points,t,this.options)}};function vB(e,t,r=2,i,s=\"xy\"){let n=t&&t.length,o=n?t[0]*r:e.length,c=wZ(e,0,o,r,!0,i&&i[0],s),f=[];if(!c||c.next===c.prev)return f;let _,w,I,R,N,j,Q;if(n&&(c=dAt(e,t,c,r,i,s)),e.length>80*r){R=w=e[0],N=I=e[1];for(let et=r;etw&&(w=j),Q>I&&(I=Q);_=Math.max(w-R,I-N),_=_!==0?32767/_:0}return lS(c,f,r,R,N,_,0),f}function wZ(e,t,r,i,s,n,o){let c,f;n===void 0&&(n=nx(e,{start:t,end:r,size:i,plane:o}));let _=qg[o[0]],w=qg[o[1]];if(s===n<0)for(c=t;c=t;c-=i)f=bZ(c,e[c+_],e[c+w],f);return f&&eI(f,f.next)&&(uS(f),f=f.next),f}function Zg(e,t){if(!e)return e;t||(t=e);let r=e,i;do if(i=!1,!r.steiner&&(eI(r,r.next)||ys(r.prev,r,r.next)===0)){if(uS(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function lS(e,t,r,i,s,n,o){if(!e)return;!o&&n&&_At(e,i,s,n);let c=e,f,_;for(;e.prev!==e.next;){if(f=e.prev,_=e.next,n?uAt(e,i,s,n):cAt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),uS(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=hAt(Zg(e),t,r),lS(e,t,r,i,s,n,2)):o===2&&fAt(e,t,r,i,s,n):lS(Zg(e),t,r,i,s,n,1);break}}}function cAt(e){let t=e.prev,r=e,i=e.next;if(ys(t,r,i)>=0)return!1;let s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;for(;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&ox(s,c,n,f,o,_,j.x,j.y)&&ys(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function uAt(e,t,r,i){let s=e.prev,n=e,o=e.next;if(ys(s,n,o)>=0)return!1;let c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=yB(N,j,t,r,i),K=yB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;for(;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function hAt(e,t,r){let i=e;do{let s=i.prev,n=i.next.next;!eI(s,n)&&SZ(s,i,i.next,n)&&cS(s,n)&&cS(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),uS(i),uS(i.next),i=e=n),i=i.next}while(i!==e);return Zg(i)}function fAt(e,t,r,i,s,n){let o=e;do{let c=o.next.next;for(;c!==o.prev;){if(o.i!==c.i&&xAt(o,c)){let f=TZ(o,c);o=Zg(o,o.next),f=Zg(f,f.next),lS(o,t,r,i,s,n,0),lS(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function dAt(e,t,r,i,s,n){let o=[],c,f,_,w,I;for(c=0,f=t.length;c=r.next.y&&r.next.y!==r.y){let R=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(R<=i&&R>n&&(n=R,o=r.x=r.x&&r.x>=f&&i!==r.x&&ox(s<_?i:n,s,f,_,s<_?n:i,s,r.x,r.y)&&(I=Math.abs(s-r.y)/(i-r.x),cS(r,e)&&(Io.x||r.x===o.x&&gAt(o,r)))&&(o=r,w=I)),r=r.next;while(r!==c);return o}function gAt(e,t){return ys(e.prev,e,t.prev)<0&&ys(t.next,e,e.next)<0}function _At(e,t,r,i){let s=e;do s.z===0&&(s.z=yB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,yAt(s)}function yAt(e){let t,r,i=1,s,n,o,c,f,_;do{for(n=e,e=null,_=null,s=0;n;){for(s++,c=n,o=0,r=0;r0||f>0&&c;)o!==0&&(f===0||!c||n.z<=c.z)?(t=n,n=n.nextZ,o--):(t=c,c=c.nextZ,f--),_?_.nextZ=t:e=t,t.prevZ=_,_=t;n=c}_.nextZ=null,i*=2}while(s>1);return e}function yB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function vAt(e){let t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function xAt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!bAt(e,t)&&(cS(e,t)&&cS(t,e)&&wAt(e,t)&&(ys(e.prev,e,t.prev)||ys(e,t.prev,t))||eI(e,t)&&ys(e.prev,e,e.next)>0&&ys(t.prev,t,t.next)>0)}function ys(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eI(e,t){return e.x===t.x&&e.y===t.y}function SZ(e,t,r,i){let s=tI(ys(e,t,r)),n=tI(ys(e,t,i)),o=tI(ys(r,i,e)),c=tI(ys(r,i,t));return!!(s!==n&&o!==c||s===0&&J3(e,r,t)||n===0&&J3(e,i,t)||o===0&&J3(r,e,i)||c===0&&J3(r,t,i))}function J3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function tI(e){return e>0?1:e<0?-1:0}function bAt(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&SZ(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function cS(e,t){return ys(e.prev,e,e.next)<0?ys(e,t,e.next)>=0&&ys(e,e.prev,t)>=0:ys(e,t,e.prev)<0||ys(e,e.next,t)<0}function wAt(e,t){let r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function TZ(e,t){let r=new hS(e.i,e.x,e.y),i=new hS(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function bZ(e,t,r,i){let s=new hS(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function uS(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}var hS=class{constructor(t,r,i){G(this,\"i\",void 0),G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"prev\",null),G(this,\"next\",null),G(this,\"z\",0),G(this,\"prevZ\",null),G(this,\"nextZ\",null),G(this,\"steiner\",!1),this.i=t,this.x=r,this.y=i}};function PZ(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"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\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}var uf=1,hf=2,Ip=3,IZ=4,fS=5,xB=6378137,CZ=6356752314e-3,bB=.0066943799901413165,Yg=484813681109536e-20,de=Math.PI/2,LZ=.16666666666666666,kZ=.04722222222222222,RZ=.022156084656084655,Se=1e-10,vs=.017453292519943295,Sc=57.29577951308232,Ui=Math.PI/4,Em=Math.PI*2,xs=3.14159265359;var Rl={};Rl.greenwich=0;Rl.lisbon=-9.131906111111;Rl.paris=2.337229166667;Rl.bogota=-74.080916666667;Rl.madrid=-3.687938888889;Rl.rome=12.452333333333;Rl.bern=7.439583333333;Rl.jakarta=106.807719444444;Rl.ferro=-17.666666666667;Rl.brussels=4.367975;Rl.stockholm=18.058277777778;Rl.athens=23.7163375;Rl.oslo=10.722916666667;var DZ={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}};var OZ=/[\\s_\\-\\/\\(\\)]/g;function uu(e,t){if(e[t])return e[t];for(var r=Object.keys(e),i=t.toLowerCase().replace(OZ,\"\"),s=-1,n,o;++s=this.text.length)return;e=this.text[this.place++]}switch(this.state){case pS:return this.neutral(e);case FZ:return this.keyword(e);case rI:return this.quoted(e);case NZ:return this.afterquote(e);case zZ:return this.number(e);case wB:return}};Cp.prototype.afterquote=function(e){if(e==='\"'){this.word+='\"',this.state=rI;return}if(iI.test(e)){this.word=this.word.trim(),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in afterquote yet, index '+this.place)};Cp.prototype.afterItem=function(e){if(e===\",\"){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=pS;return}if(e===\"]\"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=pS,this.currentObject=this.stack.pop(),this.currentObject||(this.state=wB);return}};Cp.prototype.number=function(e){if(UZ.test(e)){this.word+=e;return}if(iI.test(e)){this.word=parseFloat(this.word),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in number yet, index '+this.place)};Cp.prototype.quoted=function(e){if(e==='\"'){this.state=NZ;return}this.word+=e};Cp.prototype.keyword=function(e){if(IAt.test(e)){this.word+=e;return}if(e===\"[\"){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=pS;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in keyword yet, index '+this.place)};Cp.prototype.neutral=function(e){if(PAt.test(e)){this.word=e,this.state=FZ;return}if(e==='\"'){this.word=\"\",this.state=rI;return}if(UZ.test(e)){this.word=e,this.state=zZ;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in neutral yet, index '+this.place)};Cp.prototype.output=function(){for(;this.place0?90:-90),e.lat_ts=e.lat1):!e.lat_ts&&e.lat0&&e.projName===\"Polar_Stereographic\"&&(e.lat_ts=e.lat0,e.lat0=dd(e.lat0>0?90:-90))}function nI(e){var t=BZ(e),r=t.shift(),i=t.shift();t.unshift([\"name\",i]),t.unshift([\"type\",r]);var s={};return Qg(t,s),RAt(s),s}function Ju(e){var t=this;if(arguments.length===2){var r=arguments[1];typeof r==\"string\"?r.charAt(0)===\"+\"?Ju[e]=dS(arguments[1]):Ju[e]=nI(arguments[1]):Ju[e]=r}else if(arguments.length===1){if(Array.isArray(e))return e.map(function(i){Array.isArray(i)?Ju.apply(t,i):Ju(i)});if(typeof e==\"string\"){if(e in Ju)return Ju[e]}else\"EPSG\"in e?Ju[\"EPSG:\"+e.EPSG]=e:\"ESRI\"in e?Ju[\"ESRI:\"+e.ESRI]=e:\"IAU2000\"in e?Ju[\"IAU2000:\"+e.IAU2000]=e:console.log(e);return}}PZ(Ju);var ax=Ju;function DAt(e){return typeof e==\"string\"}function OAt(e){return e in ax}var BAt=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];function FAt(e){return BAt.some(function(t){return e.indexOf(t)>-1})}var zAt=[\"3857\",\"900913\",\"3785\",\"102113\"];function NAt(e){var t=uu(e,\"authority\");if(t){var r=uu(t,\"epsg\");return r&&zAt.indexOf(r)>-1}}function UAt(e){var t=uu(e,\"extension\");if(t)return uu(t,\"proj4\")}function VAt(e){return e[0]===\"+\"}function jAt(e){if(DAt(e)){if(OAt(e))return ax[e];if(FAt(e)){var t=nI(e);if(NAt(t))return ax[\"EPSG:3857\"];var r=UAt(t);return r?dS(r):t}if(VAt(e))return dS(e)}else return e}var jZ=jAt;function SB(e,t){e=e||{};var r,i;if(!t)return e;for(i in t)r=t[i],r!==void 0&&(e[i]=r);return e}function ol(e,t,r){var i=e*t;return r/Math.sqrt(1-i*i)}function pd(e){return e<0?-1:1}function Ce(e){return Math.abs(e)<=xs?e:e-pd(e)*Em}function Dl(e,t,r){var i=e*r,s=.5*e;return i=Math.pow((1-i)/(1+i),s),Math.tan(.5*(de-t))/i}function Lp(e,t){for(var r=.5*e,i,s,n=de-2*Math.atan(t),o=0;o<=15;o++)if(i=e*Math.sin(n),s=de-2*Math.atan(t*Math.pow((1-i)/(1+i),r))-n,n+=s,Math.abs(s)<=1e-10)return n;return-9999}function GAt(){var e=this.b/this.a;this.es=1-e*e,\"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=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function WAt(e){var t=e.x,r=e.y;if(r*Sc>90&&r*Sc<-90&&t*Sc>180&&t*Sc<-180)return null;var i,s;if(Math.abs(Math.abs(r)-de)<=Se)return null;if(this.sphere)i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(Ui+.5*r));else{var n=Math.sin(r),o=Dl(this.e,r,n);i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0-this.a*this.k0*Math.log(o)}return e.x=i,e.y=s,e}function HAt(e){var t=e.x-this.x0,r=e.y-this.y0,i,s;if(this.sphere)s=de-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else{var n=Math.exp(-r/(this.a*this.k0));if(s=Lp(this.e,n),s===-9999)return null}return i=Ce(this.long0+t/(this.a*this.k0)),e.x=i,e.y=s,e}var qAt=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],GZ={init:GAt,forward:WAt,inverse:HAt,names:qAt};function ZAt(){}function WZ(e){return e}var YAt=[\"longlat\",\"identity\"],HZ={init:ZAt,forward:WZ,inverse:WZ,names:YAt};var QAt=[GZ,HZ],sI={},oI=[];function qZ(e,t){var r=oI.length;return e.names?(oI[r]=e,e.names.forEach(function(i){sI[i.toLowerCase()]=r}),this):(console.log(t),!0)}function $At(e){if(!e)return!1;var t=e.toLowerCase();if(typeof sI[t]<\"u\"&&oI[sI[t]])return oI[sI[t]]}function XAt(){QAt.forEach(qZ)}var ZZ={start:XAt,add:qZ,get:$At};var Xr={};Xr.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"};Xr.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"};Xr.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"};Xr.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"};Xr.airy={a:6377563396e-3,b:635625691e-2,ellipseName:\"Airy 1830\"};Xr.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"};Xr.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"};Xr.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:\"Modified Airy\"};Xr.andrae={a:637710443e-2,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"};Xr.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"};Xr.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"};Xr.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:\"Bessel 1841\"};Xr.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"};Xr.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:\"Clarke 1866\"};Xr.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"};Xr.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:\"Clarke 1880 (IGN)\"};Xr.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:\"Clarke 1858\"};Xr.CPM={a:63757387e-1,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"};Xr.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"};Xr.engelis={a:637813605e-2,rf:298.2566,ellipseName:\"Engelis 1985\"};Xr.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:\"Everest 1830\"};Xr.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:\"Everest 1948\"};Xr.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:\"Everest 1956\"};Xr.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:\"Everest 1969\"};Xr.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"};Xr.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"};Xr.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"};Xr.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"};Xr.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"};Xr.hough={a:6378270,rf:297,ellipseName:\"Hough\"};Xr.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"};Xr.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"};Xr.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"};Xr.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"};Xr.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:\"New International 1967\"};Xr.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"};Xr.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"};Xr.SEasia={a:6378155,b:63567733205e-4,ellipseName:\"Southeast Asia\"};Xr.walbeck={a:6376896,b:63558348467e-4,ellipseName:\"Walbeck\"};Xr.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"};Xr.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"};Xr.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"};var YZ=Xr.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"};Xr.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"};function QZ(e,t,r,i){var s=e*e,n=t*t,o=(s-n)/s,c=0;i?(e*=1-o*(LZ+o*(kZ+o*RZ)),s=e*e,o=0):c=Math.sqrt(o);var f=(s-n)/n;return{es:o,e:c,ep2:f}}function $Z(e,t,r,i,s){if(!e){var n=uu(Xr,i);n||(n=YZ),e=n.a,t=n.b,r=n.rf}return r&&!t&&(t=(1-1/r)*e),(r===0||Math.abs(e-t)3&&(c.datum_params[3]!==0||c.datum_params[4]!==0||c.datum_params[5]!==0||c.datum_params[6]!==0)&&(c.datum_type=hf,c.datum_params[3]*=Yg,c.datum_params[4]*=Yg,c.datum_params[5]*=Yg,c.datum_params[6]=c.datum_params[6]/1e6+1)),o&&(c.datum_type=Ip,c.grids=o),c.a=r,c.b=i,c.es=s,c.ep2=n,c}var XZ=KAt;var KZ={};function MB(e,t){var r=new DataView(t),i=tmt(r),s=emt(r,i),n=rmt(r,s,i),o={header:s,subgrids:n};return KZ[e]=o,o}function JZ(e){if(e===void 0)return null;var t=e.split(\",\");return t.map(JAt)}function JAt(e){if(e.length===0)return null;var t=e[0]===\"@\";return t&&(e=e.slice(1)),e===\"null\"?{name:\"null\",mandatory:!t,grid:null,isNull:!0}:{name:e,mandatory:!t,grid:KZ[e]||null,isNull:!1}}function lx(e){return e/3600*Math.PI/180}function tmt(e){var t=e.getInt32(8,!1);return t===11?!1:(t=e.getInt32(8,!0),t!==11&&console.warn(\"Failed to detect nadgrid endian-ness, defaulting to little-endian\"),!0)}function emt(e,t){return{nFields:e.getInt32(8,t),nSubgridFields:e.getInt32(24,t),nSubgrids:e.getInt32(40,t),shiftType:TB(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,t),fromSemiMinorAxis:e.getFloat64(136,t),toSemiMajorAxis:e.getFloat64(152,t),toSemiMinorAxis:e.getFloat64(168,t)}}function TB(e,t,r){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(t,r)))}function rmt(e,t,r){for(var i=176,s=[],n=0;n5e-11?!1:e.datum_type===uf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]:e.datum_type===hf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]:!0}function aI(e,t,r){var i=e.x,s=e.y,n=e.z?e.z:0,o,c,f,_;if(s<-de&&s>-1.001*de)s=-de;else if(s>de&&s<1.001*de)s=de;else{if(s<-de)return{x:-1/0,y:-1/0,z:e.z};if(s>de)return{x:1/0,y:1/0,z:e.z}}return i>Math.PI&&(i-=2*Math.PI),c=Math.sin(s),_=Math.cos(s),f=c*c,o=r/Math.sqrt(1-t*f),{x:(o+n)*_*Math.cos(i),y:(o+n)*_*Math.sin(i),z:(o*(1-t)+n)*c}}function lI(e,t,r,i){var s=1e-12,n=s*s,o=30,c,f,_,w,I,R,N,j,Q,et,Y,K,J,ut=e.x,Et=e.y,kt=e.z?e.z:0,Xt,qt,le;if(c=Math.sqrt(ut*ut+Et*Et),f=Math.sqrt(ut*ut+Et*Et+kt*kt),c/rn&&Ji.y||j>i.x||Yc&&Math.abs(f.y)>c);if(o<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),i;i.x=Ce(n.x+r.ll[0]),i.y=n.y+r.ll[1]}else isNaN(n.x)||(i.x=e.x+n.x,i.y=e.y+n.y);return i}function nY(e,t){var r={x:e.x/t.del[0],y:e.y/t.del[1]},i={x:Math.floor(r.x),y:Math.floor(r.y)},s={x:r.x-1*i.x,y:r.y-1*i.y},n={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=t.lim[0]||i.y<0||i.y>=t.lim[1])return n;o=i.y*t.lim[0]+i.x;var c={x:t.cvs[o][0],y:t.cvs[o][1]};o++;var f={x:t.cvs[o][0],y:t.cvs[o][1]};o+=t.lim[0];var _={x:t.cvs[o][0],y:t.cvs[o][1]};o--;var w={x:t.cvs[o][0],y:t.cvs[o][1]},I=s.x*s.y,R=s.x*(1-s.y),N=(1-s.x)*(1-s.y),j=(1-s.x)*s.y;return n.x=N*c.x+R*f.x+j*w.x+I*_.x,n.y=N*c.y+R*f.y+j*w.y+I*_.y,n}function EB(e,t,r){var i=r.x,s=r.y,n=r.z||0,o,c,f,_={};for(f=0;f<3;f++)if(!(t&&f===2&&r.z===void 0))switch(f===0?(o=i,\"ew\".indexOf(e.axis[f])!==-1?c=\"x\":c=\"y\"):f===1?(o=s,\"ns\".indexOf(e.axis[f])!==-1?c=\"y\":c=\"x\"):(o=n,c=\"z\"),e.axis[f]){case\"e\":_[c]=o;break;case\"w\":_[c]=-o;break;case\"n\":_[c]=o;break;case\"s\":_[c]=-o;break;case\"u\":r[c]!==void 0&&(_.z=o);break;case\"d\":r[c]!==void 0&&(_.z=-o);break;default:return null}return _}function uI(e){var t={x:e[0],y:e[1]};return e.length>2&&(t.z=e[2]),e.length>3&&(t.m=e[3]),t}function aY(e){oY(e.x),oY(e.y)}function oY(e){if(typeof Number.isFinite==\"function\"){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(typeof e!=\"number\"||e!==e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}function amt(e,t){return(e.datum.datum_type===uf||e.datum.datum_type===hf||e.datum.datum_type===Ip)&&t.datumCode!==\"WGS84\"||(t.datum.datum_type===uf||t.datum.datum_type===hf||t.datum.datum_type===Ip)&&e.datumCode!==\"WGS84\"}function $g(e,t,r,i){var s;Array.isArray(r)?r=uI(r):r={x:r.x,y:r.y,z:r.z,m:r.m};var n=r.z!==void 0;if(aY(r),e.datum&&t.datum&&amt(e,t)&&(s=new Pm(\"WGS84\"),r=$g(e,s,r,i),e=s),i&&e.axis!==\"enu\"&&(r=EB(e,!1,r)),e.projName===\"longlat\")r={x:r.x*vs,y:r.y*vs,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),r=e.inverse(r),!r)return;if(e.from_greenwich&&(r.x+=e.from_greenwich),r=sY(e.datum,t.datum,r),!!r)return t.from_greenwich&&(r={x:r.x-t.from_greenwich,y:r.y,z:r.z||0}),t.projName===\"longlat\"?r={x:r.x*Sc,y:r.y*Sc,z:r.z||0}:(r=t.forward(r),t.to_meter&&(r={x:r.x/t.to_meter,y:r.y/t.to_meter,z:r.z||0})),i&&t.axis!==\"enu\"?EB(t,!0,r):(r&&!n&&delete r.z,r)}var lY=Pm(\"WGS84\");function PB(e,t,r,i){var s,n,o;return Array.isArray(r)?(s=$g(e,t,r,i)||{x:NaN,y:NaN},r.length>2?typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"?typeof s.z==\"number\"?[s.x,s.y,s.z].concat(r.splice(3)):[s.x,s.y,r[2]].concat(r.splice(3)):[s.x,s.y].concat(r.splice(2)):[s.x,s.y]):(n=$g(e,t,r,i),o=Object.keys(r),o.length===2||o.forEach(function(c){if(typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"){if(c===\"x\"||c===\"y\"||c===\"z\")return}else if(c===\"x\"||c===\"y\")return;n[c]=r[c]}),n)}function cY(e){return e instanceof Pm?e:e.oProj?e.oProj:Pm(e)}function lmt(e,t,r){e=cY(e);var i=!1,s;return typeof t>\"u\"?(t=e,e=lY,i=!0):(typeof t.x<\"u\"||Array.isArray(t))&&(r=t,t=e,e=lY,i=!0),t=cY(t),r?PB(e,t,r):(s={forward:function(n,o){return PB(e,t,n,o)},inverse:function(n,o){return PB(t,e,n,o)}},i&&(s.oProj=t),s)}var Tc=lmt;var uY=6,fY=\"AJSAJS\",dY=\"AFAFAF\",ux=65,Mc=73,th=79,AS=86,mS=90,pY={forward:CB,inverse:cmt,toPoint:LB};function CB(e,t){return t=t||5,fmt(umt({lat:e[1],lon:e[0]}),t)}function cmt(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function LB(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function IB(e){return e*(Math.PI/180)}function hY(e){return 180*(e/Math.PI)}function umt(e){var t=e.lat,r=e.lon,i=6378137,s=.00669438,n=.9996,o,c,f,_,w,I,R,N=IB(t),j=IB(r),Q,et;et=Math.floor((r+180)/6)+1,r===180&&(et=60),t>=56&&t<64&&r>=3&&r<12&&(et=32),t>=72&&t<84&&(r>=0&&r<9?et=31:r>=9&&r<21?et=33:r>=21&&r<33?et=35:r>=33&&r<42&&(et=37)),o=(et-1)*6-180+3,Q=IB(o),c=s/(1-s),f=i/Math.sqrt(1-s*Math.sin(N)*Math.sin(N)),_=Math.tan(N)*Math.tan(N),w=c*Math.cos(N)*Math.cos(N),I=Math.cos(N)*(j-Q),R=i*((1-s/4-3*s*s/64-5*s*s*s/256)*N-(3*s/8+3*s*s/32+45*s*s*s/1024)*Math.sin(2*N)+(15*s*s/256+45*s*s*s/1024)*Math.sin(4*N)-35*s*s*s/3072*Math.sin(6*N));var Y=n*f*(I+(1-_+w)*I*I*I/6+(5-18*_+_*_+72*w-58*c)*I*I*I*I*I/120)+5e5,K=n*(R+f*Math.tan(N)*(I*I/2+(5-_+9*w+4*w*w)*I*I*I*I/24+(61-58*_+_*_+600*w-330*c)*I*I*I*I*I*I/720));return t<0&&(K+=1e7),{northing:Math.round(K),easting:Math.round(Y),zoneNumber:et,zoneLetter:hmt(t)}}function kB(e){var t=e.northing,r=e.easting,i=e.zoneLetter,s=e.zoneNumber;if(s<0||s>60)return null;var n=.9996,o=6378137,c=.00669438,f,_=(1-Math.sqrt(1-c))/(1+Math.sqrt(1-c)),w,I,R,N,j,Q,et,Y,K,J=r-5e5,ut=t;i<\"N\"&&(ut-=1e7),et=(s-1)*6-180+3,f=c/(1-c),Q=ut/n,Y=Q/(o*(1-c/4-3*c*c/64-5*c*c*c/256)),K=Y+(3*_/2-27*_*_*_/32)*Math.sin(2*Y)+(21*_*_/16-55*_*_*_*_/32)*Math.sin(4*Y)+151*_*_*_/96*Math.sin(6*Y),w=o/Math.sqrt(1-c*Math.sin(K)*Math.sin(K)),I=Math.tan(K)*Math.tan(K),R=f*Math.cos(K)*Math.cos(K),N=o*(1-c)/Math.pow(1-c*Math.sin(K)*Math.sin(K),1.5),j=J/(w*n);var Et=K-w*Math.tan(K)/N*(j*j/2-(5+3*I+10*R-4*R*R-9*f)*j*j*j*j/24+(61+90*I+298*R+45*I*I-252*f-3*R*R)*j*j*j*j*j*j/720);Et=hY(Et);var kt=(j-(1+2*I+R)*j*j*j/6+(5-2*R+28*I-3*R*R+8*f+24*I*I)*j*j*j*j*j/120)/Math.cos(K);kt=et+hY(kt);var Xt;if(e.accuracy){var qt=kB({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});Xt={top:qt.lat,right:qt.lon,bottom:Et,left:kt}}else Xt={lat:Et,lon:kt};return Xt}function hmt(e){var t=\"Z\";return 84>=e&&e>=72?t=\"X\":72>e&&e>=64?t=\"W\":64>e&&e>=56?t=\"V\":56>e&&e>=48?t=\"U\":48>e&&e>=40?t=\"T\":40>e&&e>=32?t=\"S\":32>e&&e>=24?t=\"R\":24>e&&e>=16?t=\"Q\":16>e&&e>=8?t=\"P\":8>e&&e>=0?t=\"N\":0>e&&e>=-8?t=\"M\":-8>e&&e>=-16?t=\"L\":-16>e&&e>=-24?t=\"K\":-24>e&&e>=-32?t=\"J\":-32>e&&e>=-40?t=\"H\":-40>e&&e>=-48?t=\"G\":-48>e&&e>=-56?t=\"F\":-56>e&&e>=-64?t=\"E\":-64>e&&e>=-72?t=\"D\":-72>e&&e>=-80&&(t=\"C\"),t}function fmt(e,t){var r=\"00000\"+e.easting,i=\"00000\"+e.northing;return e.zoneNumber+e.zoneLetter+dmt(e.easting,e.northing,e.zoneNumber)+r.substr(r.length-5,t)+i.substr(i.length-5,t)}function dmt(e,t,r){var i=AY(r),s=Math.floor(e/1e5),n=Math.floor(t/1e5)%20;return pmt(s,n,i)}function AY(e){var t=e%uY;return t===0&&(t=uY),t}function pmt(e,t,r){var i=r-1,s=fY.charCodeAt(i),n=dY.charCodeAt(i),o=s+e-1,c=n+t,f=!1;o>mS&&(o=o-mS+ux-1,f=!0),(o===Mc||sMc||(o>Mc||sth||(o>th||smS&&(o=o-mS+ux-1),c>AS?(c=c-AS+ux-1,f=!0):f=!1,(c===Mc||nMc||(c>Mc||nth||(c>th||nAS&&(c=c-AS+ux-1);var _=String.fromCharCode(o)+String.fromCharCode(c);return _}function mY(e){if(e&&e.length===0)throw\"MGRSPoint coverting from nothing\";for(var t=e.length,r=null,i=\"\",s,n=0;!/[A-Z]/.test(s=e.charAt(n));){if(n>=2)throw\"MGRSPoint bad conversion from: \"+e;i+=s,n++}var o=parseInt(i,10);if(n===0||n+3>t)throw\"MGRSPoint bad conversion from: \"+e;var c=e.charAt(n++);if(c<=\"A\"||c===\"B\"||c===\"Y\"||c>=\"Z\"||c===\"I\"||c===\"O\")throw\"MGRSPoint zone letter \"+c+\" not handled: \"+e;r=e.substring(n,n+=2);for(var f=AY(o),_=Amt(r.charAt(0),f),w=mmt(r.charAt(1),f);w0&&(Q=1e5/Math.pow(10,R),et=e.substring(n,n+R),N=parseFloat(et)*Q,Y=e.substring(n+R),j=parseFloat(Y)*Q),K=N+_,J=j+w,{easting:K,northing:J,zoneLetter:c,zoneNumber:o,accuracy:Q}}function Amt(e,t){for(var r=fY.charCodeAt(t-1),i=1e5,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>mS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function mmt(e,t){if(e>\"V\")throw\"MGRSPoint given invalid Northing \"+e;for(var r=dY.charCodeAt(t-1),i=0,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>AS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function gmt(e){var t;switch(e){case\"C\":t=11e5;break;case\"D\":t=2e6;break;case\"E\":t=28e5;break;case\"F\":t=37e5;break;case\"G\":t=46e5;break;case\"H\":t=55e5;break;case\"J\":t=64e5;break;case\"K\":t=73e5;break;case\"L\":t=82e5;break;case\"M\":t=91e5;break;case\"N\":t=0;break;case\"P\":t=8e5;break;case\"Q\":t=17e5;break;case\"R\":t=26e5;break;case\"S\":t=35e5;break;case\"T\":t=44e5;break;case\"U\":t=53e5;break;case\"V\":t=62e5;break;case\"W\":t=7e6;break;case\"X\":t=79e5;break;default:t=-1}if(t>=0)return t;throw\"Invalid zone letter: \"+e}function hx(e,t,r){if(!(this instanceof hx))return new hx(e,t,r);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if(typeof e==\"object\")this.x=e.x,this.y=e.y,this.z=e.z||0;else if(typeof e==\"string\"&&typeof t>\"u\"){var i=e.split(\",\");this.x=parseFloat(i[0],10),this.y=parseFloat(i[1],10),this.z=parseFloat(i[2],10)||0}else this.x=e,this.y=t,this.z=r||0;console.warn(\"proj4.Point will be removed in version 3, use proj4.toPoint\")}hx.fromMGRS=function(e){return new hx(LB(e))};hx.prototype.toMGRS=function(e){return CB([this.x,this.y],e)};var gY=hx;var _mt=1,ymt=.25,_Y=.046875,yY=.01953125,vY=.01068115234375,vmt=.75,xmt=.46875,bmt=.013020833333333334,wmt=.007120768229166667,Smt=.3645833333333333,Tmt=.005696614583333333,Mmt=.3076171875;function hI(e){var t=[];t[0]=_mt-e*(ymt+e*(_Y+e*(yY+e*vY))),t[1]=e*(vmt-e*(_Y+e*(yY+e*vY)));var r=e*e;return t[2]=r*(xmt-e*(bmt+e*wmt)),r*=e,t[3]=r*(Smt-e*Tmt),t[4]=r*e*Mmt,t}function Xg(e,t,r,i){return r*=t,t*=t,i[0]*e-r*(i[1]+t*(i[2]+t*(i[3]+t*i[4])))}var Emt=20;function fI(e,t,r){for(var i=1/(1-t),s=e,n=Emt;n;--n){var o=Math.sin(s),c=1-t*o*o;if(c=(Xg(s,o,Math.cos(s),r)-e)*(c*Math.sqrt(c))*i,s-=c,Math.abs(c)Se?Math.tan(r):0,Q=Math.pow(j,2),et=Math.pow(Q,2);s=1-this.es*Math.pow(c,2),w=w/Math.sqrt(s);var Y=Xg(r,c,f,this.en);n=this.a*(this.k0*w*(1+I/6*(1-Q+R+I/20*(5-18*Q+et+14*R-58*Q*R+I/42*(61+179*et-et*Q-479*Q)))))+this.x0,o=this.a*(this.k0*(Y-this.ml0+c*i*w/2*(1+I/12*(5-Q+9*R+4*N+I/30*(61+et-58*Q+270*R-330*Q*R+I/56*(1385+543*et-et*Q-3111*Q))))))+this.y0}else{var _=f*Math.sin(i);if(Math.abs(Math.abs(_)-1)=1){if(_-1>Se)return 93;o=0}else o=Math.acos(o);r<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return e.x=n,e.y=o,e}function Cmt(e){var t,r,i,s,n=(e.x-this.x0)*(1/this.a),o=(e.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+o/this.k0,r=fI(t,this.es,this.en),Math.abs(r)Se?Math.tan(r):0,j=this.ep2*Math.pow(R,2),Q=Math.pow(j,2),et=Math.pow(N,2),Y=Math.pow(et,2);t=1-this.es*Math.pow(I,2);var K=n*Math.sqrt(t)/this.k0,J=Math.pow(K,2);t=t*N,i=r-t*J/(1-this.es)*.5*(1-J/12*(5+3*et-9*j*et+j-4*Q-J/30*(61+90*et-252*j*et+45*Y+46*j-J/56*(1385+3633*et+4095*Y+1574*Y*et)))),s=Ce(this.long0+K*(1-J/6*(1+2*et+j-J/20*(5+28*et+24*Y+8*j*et+6*j-J/42*(61+662*et+1320*Y+720*Y*et))))/R)}else i=de*pd(o),s=0;else{var c=Math.exp(n/this.k0),f=.5*(c-1/c),_=this.lat0+o/this.k0,w=Math.cos(_);t=Math.sqrt((1-Math.pow(w,2))/(1+Math.pow(f,2))),i=Math.asin(t),o<0&&(i=-i),f===0&&w===0?s=0:s=Ce(Math.atan2(f,w)+this.long0)}return e.x=s,e.y=i,e}var Lmt=[\"Fast_Transverse_Mercator\",\"Fast Transverse Mercator\"],fx={init:Pmt,forward:Imt,inverse:Cmt,names:Lmt};function dI(e){var t=Math.exp(e);return t=(t-1/t)/2,t}function Ta(e,t){e=Math.abs(e),t=Math.abs(t);var r=Math.max(e,t),i=Math.min(e,t)/(r||1);return r*Math.sqrt(1+Math.pow(i,2))}function xY(e){var t=1+e,r=t-1;return r===0?e:e*Math.log(t)/r}function bY(e){var t=Math.abs(e);return t=xY(t*(1+t/(Ta(1,t)+1))),e<0?-t:t}function pI(e,t){for(var r=2*Math.cos(2*t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return t+o*Math.sin(2*t)}function wY(e,t){for(var r=2*Math.cos(t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return Math.sin(t)*o}function SY(e){var t=Math.exp(e);return t=(t+1/t)/2,t}function RB(e,t,r){for(var i=Math.sin(t),s=Math.cos(t),n=dI(r),o=SY(r),c=2*s*o,f=-2*i*n,_=e.length-1,w=e[_],I=0,R=0,N=0,j,Q;--_>=0;)j=R,Q=I,R=w,I=N,w=-j+c*R-f*I+e[_],N=-Q+f*R+c*I;return c=i*o,f=s*n,[c*w-f*N,c*N+f*w]}function kmt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION[\"Fast_Transverse_Mercator\"] in the WKT.');this.approx&&(fx.init.apply(this),this.forward=fx.forward,this.inverse=fx.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),t=e/(2-e),r=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),r=r*t,this.cgb[1]=r*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=r*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),r=r*t,this.cgb[2]=r*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=r*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),r=r*t,this.cgb[3]=r*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=r*(1237/630+t*(-12/5+t*(-24832/14175))),r=r*t,this.cgb[4]=r*(4174/315+t*(-144838/6237)),this.cbg[4]=r*(-734/315+t*(109598/31185)),r=r*t,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=r*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=r*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),r=r*t,this.utg[2]=r*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=r*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),r=r*t,this.utg[3]=r*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=r*(49561/161280+t*(-179/168+t*(6601661/7257600))),r=r*t,this.utg[4]=r*(-4583/161280+t*(108847/3991680)),this.gtu[4]=r*(34729/80640+t*(-3418889/1995840)),r=r*t,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=r*(212378941/319334400);var i=pI(this.cbg,this.lat0);this.Zb=-this.Qn*(i+wY(this.gtu,2*i))}function Rmt(e){var t=Ce(e.x-this.long0),r=e.y;r=pI(this.cbg,r);var i=Math.sin(r),s=Math.cos(r),n=Math.sin(t),o=Math.cos(t);r=Math.atan2(i,o*s),t=Math.atan2(n*s,Ta(i,s*o)),t=bY(Math.tan(t));var c=RB(this.gtu,2*r,2*t);r=r+c[0],t=t+c[1];var f,_;return Math.abs(t)<=2.623395162778?(f=this.a*(this.Qn*t)+this.x0,_=this.a*(this.Qn*r+this.Zb)+this.y0):(f=1/0,_=1/0),e.x=f,e.y=_,e}function Dmt(e){var t=(e.x-this.x0)*(1/this.a),r=(e.y-this.y0)*(1/this.a);r=(r-this.Zb)/this.Qn,t=t/this.Qn;var i,s;if(Math.abs(t)<=2.623395162778){var n=RB(this.utg,2*r,2*t);r=r+n[0],t=t+n[1],t=Math.atan(dI(t));var o=Math.sin(r),c=Math.cos(r),f=Math.sin(t),_=Math.cos(t);r=Math.atan2(o*_,Ta(f,_*c)),t=Math.atan2(f,_*c),i=Ce(t+this.long0),s=pI(this.cgb,r)}else i=1/0,s=1/0;return e.x=i,e.y=s,e}var Omt=[\"Extended_Transverse_Mercator\",\"Extended Transverse Mercator\",\"etmerc\",\"Transverse_Mercator\",\"Transverse Mercator\",\"Gauss Kruger\",\"Gauss_Kruger\",\"tmerc\"],dx={init:kmt,forward:Rmt,inverse:Dmt,names:Omt};function TY(e,t){if(e===void 0){if(e=Math.floor((Ce(t)+Math.PI)*30/Math.PI)+1,e<0)return 0;if(e>60)return 60}return e}var Bmt=\"etmerc\";function Fmt(){var e=TY(this.zone,this.long0);if(e===void 0)throw new Error(\"unknown utm zone\");this.lat0=0,this.long0=(6*Math.abs(e)-183)*vs,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,dx.init.apply(this),this.forward=dx.forward,this.inverse=dx.inverse}var zmt=[\"Universal Transverse Mercator System\",\"utm\"],MY={init:Fmt,names:zmt,dependsOn:Bmt};function AI(e,t){return Math.pow((1-e)/(1+e),t)}var Nmt=20;function Umt(){var e=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Ui)/(Math.pow(Math.tan(.5*this.lat0+Ui),this.C)*AI(this.e*e,this.ratexp))}function Vmt(e){var t=e.x,r=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Ui),this.C)*AI(this.e*Math.sin(r),this.ratexp))-de,e.x=this.C*t,e}function jmt(e){for(var t=1e-14,r=e.x/this.C,i=e.y,s=Math.pow(Math.tan(.5*i+Ui)/this.K,1/this.C),n=Nmt;n>0&&(i=2*Math.atan(s*AI(this.e*Math.sin(e.y),-.5*this.e))-de,!(Math.abs(i-e.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Se&&Math.abs(Math.cos(this.lat_ts))>Se&&(this.k0=.5*this.cons*ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Dl(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ol(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-de,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function $mt(e){var t=e.x,r=e.y,i=Math.sin(r),s=Math.cos(r),n,o,c,f,_,w,I=Ce(t-this.long0);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=Se&&Math.abs(r+this.lat0)<=Se?(e.x=NaN,e.y=NaN,e):this.sphere?(n=2*this.k0/(1+this.sinlat0*i+this.coslat0*s*Math.cos(I)),e.x=this.a*n*s*Math.sin(I)+this.x0,e.y=this.a*n*(this.coslat0*i-this.sinlat0*s*Math.cos(I))+this.y0,e):(o=2*Math.atan(this.ssfn_(r,i,this.e))-de,f=Math.cos(o),c=Math.sin(o),Math.abs(this.coslat0)<=Se?(_=Dl(this.e,r*this.con,this.con*i),w=2*this.a*this.k0*_/this.cons,e.x=this.x0+w*Math.sin(t-this.long0),e.y=this.y0-this.con*w*Math.cos(t-this.long0),e):(Math.abs(this.sinlat0)0?t=Ce(this.long0+Math.atan2(e.x,-1*e.y)):t=Ce(this.long0+Math.atan2(e.x,e.y)):t=Ce(this.long0+Math.atan2(e.x*Math.sin(c),o*this.coslat0*Math.cos(c)-e.y*this.sinlat0*Math.sin(c))),e.x=t,e.y=r,e)}else if(Math.abs(this.coslat0)<=Se){if(o<=Se)return r=this.lat0,t=this.long0,e.x=t,e.y=r,e;e.x*=this.con,e.y*=this.con,i=o*this.cons/(2*this.a*this.k0),r=this.con*Lp(this.e,i),t=this.con*Ce(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else s=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,o<=Se?n=this.X0:(n=Math.asin(Math.cos(s)*this.sinX0+e.y*Math.sin(s)*this.cosX0/o),t=Ce(this.long0+Math.atan2(e.x*Math.sin(s),o*this.cosX0*Math.cos(s)-e.y*this.sinX0*Math.sin(s)))),r=-1*Lp(this.e,Math.tan(.5*(de+n)));return e.x=t,e.y=r,e}var Kmt=[\"stere\",\"Stereographic_South_Pole\",\"Polar Stereographic (variant B)\",\"Polar_Stereographic\"],PY={init:Qmt,forward:$mt,inverse:Xmt,names:Kmt,ssfn_:Ymt};function Jmt(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e),r=this.a,i=this.rf,s=1/i,n=2*s-Math.pow(s,2),o=this.e=Math.sqrt(n);this.R=this.k0*r*Math.sqrt(1-n)/(1-n*Math.pow(t,2)),this.alpha=Math.sqrt(1+n/(1-n)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(t/this.alpha);var c=Math.log(Math.tan(Math.PI/4+this.b0/2)),f=Math.log(Math.tan(Math.PI/4+e/2)),_=Math.log((1+o*t)/(1-o*t));this.K=c-this.alpha*f+this.alpha*o/2*_}function t0t(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),i=-this.alpha*(t+r)+this.K,s=2*(Math.atan(Math.exp(i))-Math.PI/4),n=this.alpha*(e.x-this.lambda0),o=Math.atan(Math.sin(n)/(Math.sin(this.b0)*Math.tan(s)+Math.cos(this.b0)*Math.cos(n))),c=Math.asin(Math.cos(this.b0)*Math.sin(s)-Math.sin(this.b0)*Math.cos(s)*Math.cos(n));return e.y=this.R/2*Math.log((1+Math.sin(c))/(1-Math.sin(c)))+this.y0,e.x=this.R*o+this.x0,e}function e0t(e){for(var t=e.x-this.x0,r=e.y-this.y0,i=t/this.R,s=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),n=Math.asin(Math.cos(this.b0)*Math.sin(s)+Math.sin(this.b0)*Math.cos(s)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(s))),c=this.lambda0+o/this.alpha,f=0,_=n,w=-1e3,I=0;Math.abs(_-w)>1e-7;){if(++I>20)return;f=1/this.alpha*(Math.log(Math.tan(Math.PI/4+n/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(_))/2)),w=_,_=2*Math.atan(Math.exp(f))-Math.PI/2}return e.x=c,e.y=_,e}var r0t=[\"somerc\"],IY={init:Jmt,forward:t0t,inverse:e0t,names:r0t};var px=1e-7;function i0t(e){var t=[\"Hotine_Oblique_Mercator\",\"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\"],r=typeof e.PROJECTION==\"object\"?Object.keys(e.PROJECTION)[0]:e.PROJECTION;return\"no_uoff\"in e||\"no_off\"in e||t.indexOf(r)!==-1}function n0t(){var e,t,r,i,s,n,o,c,f,_,w=0,I,R=0,N=0,j=0,Q=0,et=0,Y=0,K;this.no_off=i0t(this),this.no_rot=\"no_rot\"in this;var J=!1;\"alpha\"in this&&(J=!0);var ut=!1;if(\"rectified_grid_angle\"in this&&(ut=!0),J&&(Y=this.alpha),ut&&(w=this.rectified_grid_angle*vs),J||ut)R=this.longc;else if(N=this.long1,Q=this.lat1,j=this.long2,et=this.lat2,Math.abs(Q-et)<=px||(e=Math.abs(Q))<=px||Math.abs(e-de)<=px||Math.abs(Math.abs(this.lat0)-de)<=px||Math.abs(Math.abs(et)-de)<=px)throw new Error;var Et=1-this.es;t=Math.sqrt(Et),Math.abs(this.lat0)>Se?(c=Math.sin(this.lat0),r=Math.cos(this.lat0),e=1-this.es*c*c,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/Et),this.A=this.B*this.k0*t/e,i=this.B*t/(r*Math.sqrt(e)),s=i*i-1,s<=0?s=0:(s=Math.sqrt(s),this.lat0<0&&(s=-s)),this.E=s+=i,this.E*=Math.pow(Dl(this.e,this.lat0,c),this.B)):(this.B=1/t,this.A=this.k0,this.E=i=s=1),J||ut?(J?(I=Math.asin(Math.sin(Y)/i),ut||(w=Y)):(I=w,Y=Math.asin(i*Math.sin(I))),this.lam0=R-Math.asin(.5*(s-1/s)*Math.tan(I))/this.B):(n=Math.pow(Dl(this.e,Q,Math.sin(Q)),this.B),o=Math.pow(Dl(this.e,et,Math.sin(et)),this.B),s=this.E/n,f=(o-n)/(o+n),_=this.E*this.E,_=(_-o*n)/(_+o*n),e=N-j,e<-Math.pi?j-=Em:e>Math.pi&&(j+=Em),this.lam0=Ce(.5*(N+j)-Math.atan(_*Math.tan(.5*this.B*(N-j))/f)/this.B),I=Math.atan(2*Math.sin(this.B*Ce(N-this.lam0))/(s-1/s)),w=Y=Math.asin(i*Math.sin(I))),this.singam=Math.sin(I),this.cosgam=Math.cos(I),this.sinrot=Math.sin(w),this.cosrot=Math.cos(w),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,K=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(Y))),this.lat0<0&&(this.u_0=-this.u_0)),s=.5*I,this.v_pole_n=this.ArB*Math.log(Math.tan(Ui-s)),this.v_pole_s=this.ArB*Math.log(Math.tan(Ui+s))}function s0t(e){var t={},r,i,s,n,o,c,f,_;if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-de)>Se){if(o=this.E/Math.pow(Dl(this.e,e.y,Math.sin(e.y)),this.B),c=1/o,r=.5*(o-c),i=.5*(o+c),n=Math.sin(this.B*e.x),s=(r*this.singam-n*this.cosgam)/i,Math.abs(Math.abs(s)-1)0?this.v_pole_n:this.v_pole_s,f=this.ArB*e.y;return this.no_rot?(t.x=f,t.y=_):(f-=this.u_0,t.x=_*this.cosrot+f*this.sinrot,t.y=f*this.cosrot-_*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function o0t(e){var t,r,i,s,n,o,c,f={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(r=e.y,t=e.x):(r=e.x*this.cosrot-e.y*this.sinrot,t=e.y*this.cosrot+e.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*r),s=.5*(i-1/i),n=.5*(i+1/i),o=Math.sin(this.BrA*t),c=(o*this.cosgam+s*this.singam)/n,Math.abs(Math.abs(c)-1)Se?this.ns=Math.log(i/c)/Math.log(s/f):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=i/(this.ns*Math.pow(s,this.ns)),this.rh=this.a*this.f0*Math.pow(_,this.ns),this.title||(this.title=\"Lambert Conformal Conic\")}}function c0t(e){var t=e.x,r=e.y;Math.abs(2*Math.abs(r)-Math.PI)<=Se&&(r=pd(r)*(de-2*Se));var i=Math.abs(Math.abs(r)-de),s,n;if(i>Se)s=Dl(this.e,r,Math.sin(r)),n=this.a*this.f0*Math.pow(s,this.ns);else{if(i=r*this.ns,i<=0)return null;n=0}var o=this.ns*Ce(t-this.long0);return e.x=this.k0*(n*Math.sin(o))+this.x0,e.y=this.k0*(this.rh-n*Math.cos(o))+this.y0,e}function u0t(e){var t,r,i,s,n,o=(e.x-this.x0)/this.k0,c=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(o*o+c*c),r=1):(t=-Math.sqrt(o*o+c*c),r=-1);var f=0;if(t!==0&&(f=Math.atan2(r*o,r*c)),t!==0||this.ns>0){if(r=1/this.ns,i=Math.pow(t/(this.a*this.f0),r),s=Lp(this.e,i),s===-9999)return null}else s=-de;return n=Ce(f/this.ns+this.long0),e.x=n,e.y=s,e}var h0t=[\"Lambert Tangential Conformal Conic Projection\",\"Lambert_Conformal_Conic\",\"Lambert_Conformal_Conic_1SP\",\"Lambert_Conformal_Conic_2SP\",\"lcc\",\"Lambert Conic Conformal (1SP)\",\"Lambert Conic Conformal (2SP)\"],LY={init:l0t,forward:c0t,inverse:u0t,names:h0t};function f0t(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function d0t(e){var t,r,i,s,n,o,c,f=e.x,_=e.y,w=Ce(f-this.long0);return t=Math.pow((1+this.e*Math.sin(_))/(1-this.e*Math.sin(_)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(_/2+this.s45),this.alfa)/t)-this.s45),i=-w*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(s)),o=this.n*n,c=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(s/2+this.s45),this.n),e.y=c*Math.cos(o)/1,e.x=c*Math.sin(o)/1,this.czech||(e.y*=-1,e.x*=-1),e}function p0t(e){var t,r,i,s,n,o,c,f,_=e.x;e.x=e.y,e.y=_,this.czech||(e.y*=-1,e.x*=-1),o=Math.sqrt(e.x*e.x+e.y*e.y),n=Math.atan2(e.y,e.x),s=n/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(s)),r=Math.asin(Math.cos(i)*Math.sin(s)/Math.cos(t)),e.x=this.long0-r/this.alfa,c=t,f=0;var w=0;do e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(c))/(1-this.e*Math.sin(c)),this.e/2))-this.s45),Math.abs(c-e.y)<1e-10&&(f=1),c=e.y,w+=1;while(f===0&&w<15);return w>=15?null:e}var A0t=[\"Krovak\",\"krovak\"],kY={init:f0t,forward:d0t,inverse:p0t,names:A0t};function zo(e,t,r,i,s){return e*s-t*Math.sin(2*s)+r*Math.sin(4*s)-i*Math.sin(6*s)}function kp(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function Rp(e){return .375*e*(1+.25*e*(1+.46875*e))}function Dp(e){return .05859375*e*e*(1+.75*e)}function Op(e){return e*e*e*(35/3072)}function Bp(e,t,r){var i=t*r;return e/Math.sqrt(1-i*i)}function ff(e){return Math.abs(e)1e-7?(r=e*t,(1-e*e)*(t/(1-r*r)-.5/e*Math.log((1-r)/(1+r)))):2*t}var v0t=1,x0t=2,b0t=3,w0t=4;function S0t(){var e=Math.abs(this.lat0);if(Math.abs(e-de)0){var t;switch(this.qp=df(this.e,1),this.mmf=.5/(1-this.es),this.apa=R0t(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=df(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function T0t(e){var t,r,i,s,n,o,c,f,_,w,I=e.x,R=e.y;if(I=Ce(I-this.long0),this.sphere){if(n=Math.sin(R),w=Math.cos(R),i=Math.cos(I),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(r=this.mode===this.EQUIT?1+w*i:1+this.sinph0*n+this.cosph0*w*i,r<=Se)return null;r=Math.sqrt(2/r),t=r*w*Math.sin(I),r*=this.mode===this.EQUIT?n:this.cosph0*n-this.sinph0*w*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(R+this.lat0)=0?(t=(_=Math.sqrt(o))*s,r=i*(this.mode===this.S_POLE?_:-_)):t=r=0;break}}return e.x=this.a*t+this.x0,e.y=this.a*r+this.y0,e}function M0t(e){e.x-=this.x0,e.y-=this.y0;var t=e.x/this.a,r=e.y/this.a,i,s,n,o,c,f,_;if(this.sphere){var w=0,I,R=0;if(I=Math.sqrt(t*t+r*r),s=I*.5,s>1)return null;switch(s=2*Math.asin(s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(R=Math.sin(s),w=Math.cos(s)),this.mode){case this.EQUIT:s=Math.abs(I)<=Se?0:Math.asin(r*R/I),t*=R,r=w*I;break;case this.OBLIQ:s=Math.abs(I)<=Se?this.lat0:Math.asin(w*this.sinph0+r*R*this.cosph0/I),t*=R*this.cosph0,r=(w-Math.sin(s)*this.sinph0)*I;break;case this.N_POLE:r=-r,s=de-s;break;case this.S_POLE:s-=de;break}i=r===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,r)}else{if(_=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,r*=this.dd,f=Math.sqrt(t*t+r*r),f1&&(e=e>1?1:-1),Math.asin(e)}function B0t(){Math.abs(this.lat1+this.lat2)Se?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function F0t(e){var t=e.x,r=e.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var i=df(this.e3,this.sin_phi),s=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,n=this.ns0*Ce(t-this.long0),o=s*Math.sin(n)+this.x0,c=this.rh-s*Math.cos(n)+this.y0;return e.x=o,e.y=c,e}function z0t(e){var t,r,i,s,n,o;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),i=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),i=-1),s=0,t!==0&&(s=Math.atan2(i*e.x,i*e.y)),i=t*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(r=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,r)),n=Ce(s/this.ns0+this.long0),e.x=n,e.y=o,e}function N0t(e,t){var r,i,s,n,o,c=Ec(.5*t);if(e0||Math.abs(o)<=Se?(c=this.x0+this.a*n*r*Math.sin(i)/o,f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)/o):(c=this.x0+this.infinity_dist*r*Math.sin(i),f=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function G0t(e){var t,r,i,s,n,o;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(t=Math.sqrt(e.x*e.x+e.y*e.y))?(s=Math.atan2(t,this.rc),r=Math.sin(s),i=Math.cos(s),o=Ec(i*this.sin_p14+e.y*r*this.cos_p14/t),n=Math.atan2(e.x*r,t*this.cos_p14*i-e.y*this.sin_p14*r),n=Ce(this.long0+n)):(o=this.phic0,n=0),e.x=n,e.y=o,e}var W0t=[\"gnom\"],BY={init:V0t,forward:j0t,inverse:G0t,names:W0t};function FY(e,t){var r=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-r)<1e-6)return t<0?-1*de:de;for(var i=Math.asin(.5*t),s,n,o,c,f=0;f<30;f++)if(n=Math.sin(i),o=Math.cos(i),c=e*n,s=Math.pow(1-c*c,2)/(2*o)*(t/(1-e*e)-n/(1-c*c)+.5/e*Math.log((1-c)/(1+c))),i+=s,Math.abs(s)<=1e-10)return i;return NaN}function H0t(){this.sphere||(this.k0=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function q0t(e){var t=e.x,r=e.y,i,s,n=Ce(t-this.long0);if(this.sphere)i=this.x0+this.a*n*Math.cos(this.lat_ts),s=this.y0+this.a*Math.sin(r)/Math.cos(this.lat_ts);else{var o=df(this.e,Math.sin(r));i=this.x0+this.a*this.k0*n,s=this.y0+this.a*o*.5/this.k0}return e.x=i,e.y=s,e}function Z0t(e){e.x-=this.x0,e.y-=this.y0;var t,r;return this.sphere?(t=Ce(this.long0+e.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(r=FY(this.e,2*e.y*this.k0/this.a),t=Ce(this.long0+e.x/(this.a*this.k0))),e.x=t,e.y=r,e}var Y0t=[\"cea\"],zY={init:H0t,forward:q0t,inverse:Z0t,names:Y0t};function Q0t(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Equidistant Cylindrical (Plate Carre)\",this.rc=Math.cos(this.lat_ts)}function $0t(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s=ff(r-this.lat0);return e.x=this.x0+this.a*i*this.rc,e.y=this.y0+this.a*s,e}function X0t(e){var t=e.x,r=e.y;return e.x=Ce(this.long0+(t-this.x0)/(this.a*this.rc)),e.y=ff(this.lat0+(r-this.y0)/this.a),e}var K0t=[\"Equirectangular\",\"Equidistant_Cylindrical\",\"eqc\"],NY={init:Q0t,forward:$0t,inverse:X0t,names:K0t};var UY=20;function J0t(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=kp(this.es),this.e1=Rp(this.es),this.e2=Dp(this.es),this.e3=Op(this.es),this.ml0=this.a*zo(this.e0,this.e1,this.e2,this.e3,this.lat0)}function tgt(e){var t=e.x,r=e.y,i,s,n,o=Ce(t-this.long0);if(n=o*Math.sin(r),this.sphere)Math.abs(r)<=Se?(i=this.a*o,s=-1*this.a*this.lat0):(i=this.a*Math.sin(n)/Math.tan(r),s=this.a*(ff(r-this.lat0)+(1-Math.cos(n))/Math.tan(r)));else if(Math.abs(r)<=Se)i=this.a*o,s=-1*this.ml0;else{var c=Bp(this.a,this.e,Math.sin(r))/Math.tan(r);i=c*Math.sin(n),s=this.a*zo(this.e0,this.e1,this.e2,this.e3,r)-this.ml0+c*(1-Math.cos(n))}return e.x=i+this.x0,e.y=s+this.y0,e}function egt(e){var t,r,i,s,n,o,c,f,_;if(i=e.x-this.x0,s=e.y-this.y0,this.sphere)if(Math.abs(s+this.a*this.lat0)<=Se)t=Ce(i/this.a+this.long0),r=0;else{o=this.lat0+s/this.a,c=i*i/this.a/this.a+o*o,f=o;var w;for(n=UY;n;--n)if(w=Math.tan(f),_=-1*(o*(f*w+1)-f-.5*(f*f+c)*w)/((f-o)/w-1),f+=_,Math.abs(_)<=Se){r=f;break}t=Ce(this.long0+Math.asin(i*Math.tan(f)/this.a)/Math.sin(r))}else if(Math.abs(s+this.ml0)<=Se)r=0,t=Ce(this.long0+i/this.a);else{o=(this.ml0+s)/this.a,c=i*i/this.a/this.a+o*o,f=o;var I,R,N,j,Q;for(n=UY;n;--n)if(Q=this.e*Math.sin(f),I=Math.sqrt(1-Q*Q)*Math.tan(f),R=this.a*zo(this.e0,this.e1,this.e2,this.e3,f),N=this.e0-2*this.e1*Math.cos(2*f)+4*this.e2*Math.cos(4*f)-6*this.e3*Math.cos(6*f),j=R/this.a,_=(o*(I*j+1)-j-.5*I*(j*j+c))/(this.es*Math.sin(2*f)*(j*j+c-2*o*j)/(4*I)+(o-j)*(I*N-2/Math.sin(2*f))-N),f-=_,Math.abs(_)<=Se){r=f;break}I=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),t=Ce(this.long0+Math.asin(i*I/this.a)/Math.sin(r))}return e.x=t,e.y=r,e}var rgt=[\"Polyconic\",\"poly\"],VY={init:J0t,forward:tgt,inverse:egt,names:rgt};function igt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function ngt(e){var t,r=e.x,i=e.y,s=i-this.lat0,n=r-this.long0,o=s/Yg*1e-5,c=n,f=1,_=0;for(t=1;t<=10;t++)f=f*o,_=_+this.A[t]*f;var w=_,I=c,R=1,N=0,j,Q,et=0,Y=0;for(t=1;t<=6;t++)j=R*w-N*I,Q=N*w+R*I,R=j,N=Q,et=et+this.B_re[t]*R-this.B_im[t]*N,Y=Y+this.B_im[t]*R+this.B_re[t]*N;return e.x=Y*this.a+this.x0,e.y=et*this.a+this.y0,e}function sgt(e){var t,r=e.x,i=e.y,s=r-this.x0,n=i-this.y0,o=n/this.a,c=s/this.a,f=1,_=0,w,I,R=0,N=0;for(t=1;t<=6;t++)w=f*o-_*c,I=_*o+f*c,f=w,_=I,R=R+this.C_re[t]*f-this.C_im[t]*_,N=N+this.C_im[t]*f+this.C_re[t]*_;for(var j=0;j.999999999999&&(r=.999999999999),t=Math.asin(r);var i=Ce(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),r=(2*t+Math.sin(2*t))/Math.PI,Math.abs(r)>1&&(r=1);var s=Math.asin(r);return e.x=i,e.y=s,e}var ygt=[\"Mollweide\",\"moll\"],HY={init:mgt,forward:ggt,inverse:_gt,names:ygt};function vgt(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(e.x*e.x+e.y*e.y),t=1):(r=-Math.sqrt(e.x*e.x+e.y*e.y),t=-1);var n=0;if(r!==0&&(n=Math.atan2(t*e.x,t*e.y)),this.sphere)return s=Ce(this.long0+n/this.ns),i=ff(this.g-r/this.a),e.x=s,e.y=i,e;var o=this.g-r/this.a;return i=Kg(o,this.e0,this.e1,this.e2,this.e3),s=Ce(this.long0+n/this.ns),e.x=s,e.y=i,e}var wgt=[\"Equidistant_Conic\",\"eqdc\"],qY={init:vgt,forward:xgt,inverse:bgt,names:wgt};function Sgt(){this.R=this.a}function Tgt(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s,n;Math.abs(r)<=Se&&(s=this.x0+this.R*i,n=this.y0);var o=Ec(2*Math.abs(r/Math.PI));(Math.abs(i)<=Se||Math.abs(Math.abs(r)-de)<=Se)&&(s=this.x0,r>=0?n=this.y0+Math.PI*this.R*Math.tan(.5*o):n=this.y0+Math.PI*this.R*-Math.tan(.5*o));var c=.5*Math.abs(Math.PI/i-i/Math.PI),f=c*c,_=Math.sin(o),w=Math.cos(o),I=w/(_+w-1),R=I*I,N=I*(2/_-1),j=N*N,Q=Math.PI*this.R*(c*(I-j)+Math.sqrt(f*(I-j)*(I-j)-(j+f)*(R-j)))/(j+f);i<0&&(Q=-Q),s=this.x0+Q;var et=f+I;return Q=Math.PI*this.R*(N*et-c*Math.sqrt((j+f)*(f+1)-et*et))/(j+f),r>=0?n=this.y0+Q:n=this.y0-Q,e.x=s,e.y=n,e}function Mgt(e){var t,r,i,s,n,o,c,f,_,w,I,R,N;return e.x-=this.x0,e.y-=this.y0,I=Math.PI*this.R,i=e.x/I,s=e.y/I,n=i*i+s*s,o=-Math.abs(s)*(1+n),c=o-2*s*s+i*i,f=-2*o+1+2*s*s+n*n,N=s*s/f+(2*c*c*c/f/f/f-9*o*c/f/f)/27,_=(o-c*c/3/f)/f,w=2*Math.sqrt(-_/3),I=3*N/_/w,Math.abs(I)>1&&(I>=0?I=1:I=-1),R=Math.acos(I)/3,e.y>=0?r=(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI:r=-(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI,Math.abs(i)2*de*this.a?void 0:(r=t/this.a,i=Math.sin(r),s=Math.cos(r),n=this.long0,Math.abs(t)<=Se?o=this.lat0:(o=Ec(s*this.sin_p12+e.y*i*this.cos_p12/t),c=Math.abs(this.lat0)-de,Math.abs(c)<=Se?this.lat0>=0?n=Ce(this.long0+Math.atan2(e.x,-e.y)):n=Ce(this.long0-Math.atan2(-e.x,e.y)):n=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p12*s-e.y*this.sin_p12*i))),e.x=n,e.y=o,e)):(f=kp(this.es),_=Rp(this.es),w=Dp(this.es),I=Op(this.es),Math.abs(this.sin_p12-1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=R-t,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,-1*e.y)),e.x=n,e.y=o,e):Math.abs(this.sin_p12+1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=t-R,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,e.y)),e.x=n,e.y=o,e):(t=Math.sqrt(e.x*e.x+e.y*e.y),et=Math.atan2(e.x,e.y),j=Bp(this.a,this.e,this.sin_p12),Y=Math.cos(et),K=this.e*this.cos_p12*Y,J=-K*K/(1-this.es),ut=3*this.es*(1-J)*this.sin_p12*this.cos_p12*Y/(1-this.es),Et=t/j,kt=Et-J*(1+J)*Math.pow(Et,3)/6-ut*(1+3*J)*Math.pow(Et,4)/24,Xt=1-J*kt*kt/2-Et*kt*kt*kt/6,Q=Math.asin(this.sin_p12*Math.cos(kt)+this.cos_p12*Math.sin(kt)*Y),n=Ce(this.long0+Math.asin(Math.sin(et)*Math.sin(kt)/Math.cos(Q))),qt=Math.sin(Q),o=Math.atan2((qt-this.es*Xt*this.sin_p12)*Math.tan(Q),qt*(1-this.es)),e.x=n,e.y=o,e))}var Lgt=[\"Azimuthal_Equidistant\",\"aeqd\"],YY={init:Pgt,forward:Igt,inverse:Cgt,names:Lgt};function kgt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function Rgt(e){var t,r,i,s,n,o,c,f,_=e.x,w=e.y;return i=Ce(_-this.long0),t=Math.sin(w),r=Math.cos(w),s=Math.cos(i),o=this.sin_p14*t+this.cos_p14*r*s,n=1,(o>0||Math.abs(o)<=Se)&&(c=this.a*n*r*Math.sin(i),f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function Dgt(e){var t,r,i,s,n,o,c;return e.x-=this.x0,e.y-=this.y0,t=Math.sqrt(e.x*e.x+e.y*e.y),r=Ec(t/this.a),i=Math.sin(r),s=Math.cos(r),o=this.long0,Math.abs(t)<=Se?(c=this.lat0,e.x=o,e.y=c,e):(c=Ec(s*this.sin_p14+e.y*i*this.cos_p14/t),n=Math.abs(this.lat0)-de,Math.abs(n)<=Se?(this.lat0>=0?o=Ce(this.long0+Math.atan2(e.x,-e.y)):o=Ce(this.long0-Math.atan2(-e.x,e.y)),e.x=o,e.y=c,e):(o=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p14*s-e.y*this.sin_p14*i)),e.x=o,e.y=c,e))}var Ogt=[\"ortho\"],QY={init:kgt,forward:Rgt,inverse:Dgt,names:Ogt};var bs={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},An={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Bgt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Quadrilateralized Spherical Cube\",this.lat0>=de-Ui/2?this.face=bs.TOP:this.lat0<=-(de-Ui/2)?this.face=bs.BOTTOM:Math.abs(this.long0)<=Ui?this.face=bs.FRONT:Math.abs(this.long0)<=de+Ui?this.face=this.long0>0?bs.RIGHT:bs.LEFT:this.face=bs.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Fgt(e){var t={x:0,y:0},r,i,s,n,o,c,f={value:0};if(e.x-=this.long0,this.es!==0?r=Math.atan(this.one_minus_f_squared*Math.tan(e.y)):r=e.y,i=e.x,this.face===bs.TOP)n=de-r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=i-de):i>de+Ui||i<=-(de+Ui)?(f.value=An.AREA_1,s=i>0?i-xs:i+xs):i>-(de+Ui)&&i<=-Ui?(f.value=An.AREA_2,s=i+de):(f.value=An.AREA_3,s=i);else if(this.face===bs.BOTTOM)n=de+r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=-i+de):i=-Ui?(f.value=An.AREA_1,s=-i):i<-Ui&&i>=-(de+Ui)?(f.value=An.AREA_2,s=-i-de):(f.value=An.AREA_3,s=i>0?-i+xs:-i-xs);else{var _,w,I,R,N,j,Q;this.face===bs.RIGHT?i=Ax(i,+de):this.face===bs.BACK?i=Ax(i,+xs):this.face===bs.LEFT&&(i=Ax(i,-de)),R=Math.sin(r),N=Math.cos(r),j=Math.sin(i),Q=Math.cos(i),_=N*Q,w=N*j,I=R,this.face===bs.FRONT?(n=Math.acos(_),s=gI(n,I,w,f)):this.face===bs.RIGHT?(n=Math.acos(w),s=gI(n,I,-_,f)):this.face===bs.BACK?(n=Math.acos(-_),s=gI(n,I,-w,f)):this.face===bs.LEFT?(n=Math.acos(-w),s=gI(n,I,_,f)):(n=s=0,f.value=An.AREA_0)}return c=Math.atan(12/xs*(s+Math.acos(Math.sin(s)*Math.cos(Ui))-de)),o=Math.sqrt((1-Math.cos(n))/(Math.cos(c)*Math.cos(c))/(1-Math.cos(Math.atan(1/Math.cos(s))))),f.value===An.AREA_1?c+=de:f.value===An.AREA_2?c+=xs:f.value===An.AREA_3&&(c+=1.5*xs),t.x=o*Math.cos(c),t.y=o*Math.sin(c),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,e.x=t.x,e.y=t.y,e}function zgt(e){var t={lam:0,phi:0},r,i,s,n,o,c,f,_,w,I={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,i=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),r=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?I.value=An.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(I.value=An.AREA_1,r-=de):e.x<0&&-e.x>=Math.abs(e.y)?(I.value=An.AREA_2,r=r<0?r+xs:r-xs):(I.value=An.AREA_3,r+=de),w=xs/12*Math.tan(r),o=Math.sin(w)/(Math.cos(w)-1/Math.sqrt(2)),c=Math.atan(o),s=Math.cos(r),n=Math.tan(i),f=1-s*s*n*n*(1-Math.cos(Math.atan(1/Math.cos(c)))),f<-1?f=-1:f>1&&(f=1),this.face===bs.TOP)_=Math.acos(f),t.phi=de-_,I.value===An.AREA_0?t.lam=c+de:I.value===An.AREA_1?t.lam=c<0?c+xs:c-xs:I.value===An.AREA_2?t.lam=c-de:t.lam=c;else if(this.face===bs.BOTTOM)_=Math.acos(f),t.phi=_-de,I.value===An.AREA_0?t.lam=-c+de:I.value===An.AREA_1?t.lam=-c:I.value===An.AREA_2?t.lam=-c-de:t.lam=c<0?-c-xs:-c+xs;else{var R,N,j;R=f,w=R*R,w>=1?j=0:j=Math.sqrt(1-w)*Math.sin(c),w+=j*j,w>=1?N=0:N=Math.sqrt(1-w),I.value===An.AREA_1?(w=N,N=-j,j=w):I.value===An.AREA_2?(N=-N,j=-j):I.value===An.AREA_3&&(w=N,N=j,j=-w),this.face===bs.RIGHT?(w=R,R=-N,N=w):this.face===bs.BACK?(R=-R,N=-N):this.face===bs.LEFT&&(w=R,R=N,N=-w),t.phi=Math.acos(-j)-de,t.lam=Math.atan2(N,R),this.face===bs.RIGHT?t.lam=Ax(t.lam,-de):this.face===bs.BACK?t.lam=Ax(t.lam,-xs):this.face===bs.LEFT&&(t.lam=Ax(t.lam,+de))}if(this.es!==0){var Q,et,Y;Q=t.phi<0?1:0,et=Math.tan(t.phi),Y=this.b/Math.sqrt(et*et+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-Y*Y)/(this.one_minus_f*Y)),Q&&(t.phi=-t.phi)}return t.lam+=this.long0,e.x=t.lam,e.y=t.phi,e}function gI(e,t,r,i){var s;return eUi&&s<=de+Ui?(i.value=An.AREA_1,s-=de):s>de+Ui||s<=-(de+Ui)?(i.value=An.AREA_2,s=s>=0?s-xs:s+xs):(i.value=An.AREA_3,s+=de)),s}function Ax(e,t){var r=e+t;return r<-xs?r+=Em:r>+xs&&(r-=Em),r}var Ngt=[\"Quadrilateralized Spherical Cube\",\"Quadrilateralized_Spherical_Cube\",\"qsc\"],$Y={init:Bgt,forward:Fgt,inverse:zgt,names:Ngt};var DB=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],gS=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],XY=.8487,KY=1.3523,JY=Sc/5,Ugt=1/JY,mx=18,_I=function(e,t){return e[0]+t*(e[1]+t*(e[2]+t*e[3]))},Vgt=function(e,t){return e[1]+t*(2*e[2]+t*3*e[3])};function jgt(e,t,r,i){for(var s=t;i;--i){var n=e(s);if(s-=n,Math.abs(n)=mx&&(i=mx-1),r=Sc*(r-Ugt*i);var s={x:_I(DB[i],r)*t,y:_I(gS[i],r)};return e.y<0&&(s.y=-s.y),s.x=s.x*this.a*XY+this.x0,s.y=s.y*this.a*KY+this.y0,s}function Hgt(e){var t={x:(e.x-this.x0)/(this.a*XY),y:Math.abs(e.y-this.y0)/(this.a*KY)};if(t.y>=1)t.x/=DB[mx][0],t.y=e.y<0?-de:de;else{var r=Math.floor(t.y*mx);for(r<0?r=0:r>=mx&&(r=mx-1);;)if(gS[r][0]>t.y)--r;else if(gS[r+1][0]<=t.y)++r;else break;var i=gS[r],s=5*(t.y-i[0])/(gS[r+1][0]-i[0]);s=jgt(function(n){return(_I(i,n)-t.y)/Vgt(i,n)},s,Se,100),t.x/=_I(DB[r],s),t.y=(5*r+s)*vs,e.y<0&&(t.y=-t.y)}return t.x=Ce(t.x+this.long0),t}var qgt=[\"Robinson\",\"robin\"],tQ={init:Ggt,forward:Wgt,inverse:Hgt,names:qgt};function Zgt(){this.name=\"geocent\"}function Ygt(e){var t=aI(e,this.es,this.a);return t}function Qgt(e){var t=lI(e,this.es,this.a,this.b);return t}var $gt=[\"Geocentric\",\"geocentric\",\"geocent\",\"Geocent\"],eQ={init:Zgt,forward:Ygt,inverse:Qgt,names:$gt};var al={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},_S={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function Xgt(){if(Object.keys(_S).forEach(function(r){if(typeof this[r]>\"u\")this[r]=_S[r].def;else{if(_S[r].num&&isNaN(this[r]))throw new Error(\"Invalid parameter value, must be numeric \"+r+\" = \"+this[r]);_S[r].num&&(this[r]=parseFloat(this[r]))}_S[r].degrees&&(this[r]=this[r]*vs)}.bind(this)),Math.abs(Math.abs(this.lat0)-de)1e10)throw new Error(\"Invalid height\");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(e),this.sw=Math.sin(e)}function Kgt(e){e.x-=this.long0;var t=Math.sin(e.y),r=Math.cos(e.y),i=Math.cos(e.x),s,n;switch(this.mode){case al.OBLIQ:n=this.sinph0*t+this.cosph0*r*i;break;case al.EQUIT:n=r*i;break;case al.S_POLE:n=-t;break;case al.N_POLE:n=t;break}switch(n=this.pn1/(this.p-n),s=n*r*Math.sin(e.x),this.mode){case al.OBLIQ:n*=this.cosph0*t-this.sinph0*r*i;break;case al.EQUIT:n*=t;break;case al.N_POLE:n*=-(r*i);break;case al.S_POLE:n*=r*i;break}var o,c;return o=n*this.cg+s*this.sg,c=1/(o*this.sw*this.h1+this.cw),s=(s*this.cg-n*this.sg)*this.cw*c,n=o*c,e.x=s*this.a,e.y=n*this.a,e}function Jgt(e){e.x/=this.a,e.y/=this.a;var t={x:e.x,y:e.y},r,i,s;s=1/(this.pn1-e.y*this.sw),r=this.pn1*e.x*s,i=this.pn1*e.y*this.cw*s,e.x=r*this.cg+i*this.sg,e.y=i*this.cg-r*this.sg;var n=Ta(e.x,e.y);if(Math.abs(n)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var e=1-this.es,t=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=t,this.shape=\"ellipse\"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape=\"sphere\";this.title||(this.title=\"Geostationary Satellite View\")}function r_t(e){var t=e.x,r=e.y,i,s,n,o;if(t=t-this.long0,this.shape===\"ellipse\"){r=Math.atan(this.radius_p2*Math.tan(r));var c=this.radius_p/Ta(this.radius_p*Math.cos(r),Math.sin(r));if(s=c*Math.cos(t)*Math.cos(r),n=c*Math.sin(t)*Math.cos(r),o=c*Math.sin(r),(this.radius_g-s)*s-n*n-o*o*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i)))}else this.shape===\"sphere\"&&(i=Math.cos(r),s=Math.cos(t)*i,n=Math.sin(t)*i,o=Math.sin(r),i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i))));return e.x=e.x*this.a,e.y=e.y*this.a,e}function i_t(e){var t=-1,r=0,i=0,s,n,o,c;if(e.x=e.x/this.a,e.y=e.y/this.a,this.shape===\"ellipse\"){this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Ta(1,i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Ta(1,r));var f=i/this.radius_p;if(s=r*r+f*f+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if(this.shape===\"sphere\"){if(this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+i*i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+r*r)),s=r*r+i*i+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t)}return e.x=e.x+this.long0,e}var n_t=[\"Geostationary Satellite View\",\"Geostationary_Satellite\",\"geos\"],iQ={init:e_t,forward:r_t,inverse:i_t,names:n_t};function nQ(e){e.Proj.projections.add(fx),e.Proj.projections.add(dx),e.Proj.projections.add(MY),e.Proj.projections.add(EY),e.Proj.projections.add(PY),e.Proj.projections.add(IY),e.Proj.projections.add(CY),e.Proj.projections.add(LY),e.Proj.projections.add(kY),e.Proj.projections.add(RY),e.Proj.projections.add(DY),e.Proj.projections.add(OY),e.Proj.projections.add(BY),e.Proj.projections.add(zY),e.Proj.projections.add(NY),e.Proj.projections.add(VY),e.Proj.projections.add(jY),e.Proj.projections.add(GY),e.Proj.projections.add(WY),e.Proj.projections.add(HY),e.Proj.projections.add(qY),e.Proj.projections.add(ZY),e.Proj.projections.add(YY),e.Proj.projections.add(QY),e.Proj.projections.add($Y),e.Proj.projections.add(tQ),e.Proj.projections.add(eQ),e.Proj.projections.add(rQ),e.Proj.projections.add(iQ)}Tc.defaultDatum=\"WGS84\";Tc.Proj=Pm;Tc.WGS84=new Tc.Proj(\"WGS84\");Tc.Point=gY;Tc.toPoint=uI;Tc.defs=ax;Tc.nadgrid=MB;Tc.transform=$g;Tc.mgrs=pY;Tc.version=\"__VERSION__\";nQ(Tc);var sQ=Tc;function xS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function bS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function gx(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function s_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function o_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function wI(e){return\"data\"in e?e.getChildAt(0):e.children[0]}var vi=Object.freeze({__proto__:null,getLineStringChild:bS,getMultiLineStringChild:o_t,getMultiPointChild:s_t,getMultiPolygonChild:wI,getPointChild:xS,getPolygonChild:gx});function SI(e,t){let r=e.valueOffsets,i=gx(e),s=i.valueOffsets,n=bS(i),o=n.type.listSize,c=xS(n),f=r[t],_=r[t+1],w=s[f],I=s[_],R=c.values.subarray(w*o,I*o);return new sx(R,{size:o,isClosed:!0})}function aQ(e){if(\"data\"in e)return new xr(e.data.map(r=>aQ(r)));let t=new Float64Array(e.length);for(let r=0;rlQ(r)));let t=new Float64Array(e.length);for(let r=0;rcQ(n));let t=[],r=0;for(let n=0;nuQ(t))):gx(e)}function hQ(e){return\"data\"in e?new xr(e.data.map(t=>hQ(t))):wI(e)}function TI(e){return ze.isFixedSizeList(e)?!(![2,3,4].includes(e.listSize)||!ze.isFloat(e.children[0])):ze.isStruct(e)?!(![2,3,4].includes(e.children.length)||!e.children.every(t=>[\"x\",\"y\",\"z\",\"m\"].includes(t.name))||!e.children.every(t=>ze.isFloat(t))):!1}function MI(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function zB(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function fQ(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function dQ(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function pQ(e){return!(!ze.isList(e)||!zB(e.children[0].type))}function l_t(e){return TI(e.type)}function c_t(e){return MI(e.type)}function u_t(e){return zB(e.type)}function h_t(e){return fQ(e.type)}function f_t(e){return dQ(e.type)}function d_t(e){return pQ(e.type)}function p_t(e,t){if(!e)throw new Error(`assertion failed ${t}`)}function A_t(){throw new Error(\"assertion failed\")}function AQ(e,t){if(l_t(e))return mQ(e,t);if(c_t(e))return OB(e,t);if(u_t(e))return BB(e,t);if(h_t(e))return OB(e,t);if(f_t(e))return BB(e,t);if(d_t(e))return m_t(e,t);A_t()}function mQ(e,t){p_t(e.type.listSize===2,\"expected 2D\");let r=xS(e),i=r.values,s=new Float64Array(i.length);for(let o=0;ooQ(s,i))):oQ(e,i)}function oQ(e,t){let r=[0,0];return AQ(e,(s,n)=>(r[0]=s,r[1]=n,t.forward(r)))}var Im;(function(e){e.POINT=\"geoarrow.point\",e.LINESTRING=\"geoarrow.linestring\",e.POLYGON=\"geoarrow.polygon\",e.MULTIPOINT=\"geoarrow.multipoint\",e.MULTILINESTRING=\"geoarrow.multilinestring\",e.MULTIPOLYGON=\"geoarrow.multipolygon\"})(Im||(Im={}));var bI=class{minX;minY;maxX;maxY;constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}updateBbox(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.maxY>this.maxY&&(this.maxY=t.maxY)}updateCoord(t,r){tthis.maxX&&(this.maxX=t),r>this.maxY&&(this.maxY=r)}};function __t(e,t){switch(t.metadata.get(\"ARROW:extension:name\")){case Im.POINT:return gQ(e);case Im.LINESTRING:case Im.MULTIPOINT:return _Q(e);case Im.POLYGON:case Im.MULTILINESTRING:return yQ(e);case Im.MULTIPOLYGON:return v_t(e);default:throw new Error(\"Unknown ext type name\")}}function y_t(e){let r=xS(e).values,i=new bI;for(let s=0;svQ(r)));let t=new mm({type:new dc,nullValues:[null]});t.set(e.length-1,null);for(let r=0;rxQ(r,t));return}for(let r=0;rvS(n,t)));let r=[];for(let n of e.children)r.push(vS(n,t));let i;e.dictionary!==void 0&&(i=vS(e.dictionary,t));let s={[Oi.OFFSET]:yI(e.buffers[Oi.OFFSET],t),[Oi.DATA]:yI(e.buffers[Oi.DATA],t),[Oi.VALIDITY]:yI(e.buffers[Oi.VALIDITY],t),[Oi.TYPE]:yI(e.buffers[Oi.TYPE],t)};return new Fi(e.type,e.offset,e.length,e._nullCount,s,r,i)}function vI(e){if(\"data\"in e)return e.data.some(r=>vI(r));for(let r of e.children)if(vI(r))return!0;if(e.dictionary!==void 0&&vI(e.dictionary))return!0;let t=[Oi.OFFSET,Oi.DATA,Oi.VALIDITY,Oi.TYPE];for(let r of t)if(e.buffers[r]!==void 0&&bQ(e.buffers[r]))return!0;return!1}function bQ(e){return!(e.byteOffset===0&&e.byteLength===e.buffer.byteLength)}function yI(e,t){return e===void 0||!t&&!bQ(e)?e:e.slice()}function xI(e,t=!1){if(\"data\"in e){let i=[],s=[];for(let o of e.data){let[c,f]=xI(o);i.push(c),s.push(...f)}return[new xr(i),s]}e=vS(e,t);let r=[];for(let i=0;i1)throw new Error(\"expected 1 field\");return new sl(t[0])}case Ot.Struct:{let t=e.children.map(yS);return new pn(t)}case Ot.Union:{let t=e.children.map(yS);return new pc(e.mode,e.typeIds,t)}case Ot.FixedSizeBinary:return new Qu(e.byteWidth);case Ot.FixedSizeList:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");return new Ll(e.listSize,t[0])}case Ot.Map:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");let r=t[0];return new Ac(r,e.keysSorted)}case Ot.Duration:return new Yu(e.unit);default:throw new Error(`unknown type ${e}`)}}function yS(e){let t=wQ(e.type);return new si(e.name,t,e.nullable,e.metadata)}function UB(e){let t=e.children.map(s=>UB(s)),r=e.dictionary?SQ(e.dictionary):void 0,i={[Oi.OFFSET]:e.valueOffsets,[Oi.DATA]:e.values,[Oi.VALIDITY]:e.nullBitmap,[Oi.TYPE]:e.typeIds};return new Fi(wQ(e.type),e.offset,e.length,e._nullCount,i,t,r)}function SQ(e){return new xr(e.data.map(t=>UB(t)))}var VB=Object.freeze({__proto__:null,hardClone:vS,isShared:vI,preparePostMessage:xI,rehydrateData:UB,rehydrateVector:SQ});function E_t(e,t,r){let i=e.fields.findIndex(s=>s.name===r||s.metadata.get(\"ARROW:extension:name\")===t);return i!==-1?i:null}function P_t(e,t){let{index:r,data:i}=e,s=r;i.invertedGeomOffsets!==void 0&&(s=i.invertedGeomOffsets[r]);let n={data:i.data,length:i.length,attributes:i.attributes},o={index:s,data:n,target:e.target};return t(o)}function ro(e){let{props:t,propName:r,propInput:i,chunkIdx:s,geomCoordOffsets:n}=e;if(i!==void 0)if(i instanceof xr){let o=i.data[s];if(ze.isFixedSizeList(o)){_r(o.children.length===1);let c=o.children[0].values;n&&(c=EI(c,o.type.listSize,n)),t.data.attributes[r]={value:c,size:o.type.listSize,normalized:!0}}else if(ze.isFloat(o)){let c=o.values;n&&(c=EI(c,1,n)),t.data.attributes[r]={value:c,size:1}}}else typeof i==\"function\"?t[r]=(o,c)=>r===\"getPolygonOffset\"?i(o,c):P_t(c,i):t[r]=i}function EI(e,t,r){let i=r[r.length-1],s=new e.constructor(i*t);for(let n=0;n(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function no(e,t){let r=[],i=[];for(let[s,n]of Object.entries(e))s.startsWith(\"get\")&&n instanceof xr&&(r.push(n),s.endsWith(\"Color\")&&i.push(n));I_t(t,r);for(let s of i)C_t(s)}function I_t(e,t){for(let r of t)_r(e.batches.length===r.data.length);for(let r of t)for(let i=0;ithis.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){let t=this.content?this.content.byteLength:0;return Number.isFinite(t)||console.error(\"byteLength not defined in tile data\"),t}async _loadData({getData:t,requestScheduler:r,onLoad:i,onError:s}){let{index:n,id:o,bbox:c,userData:f,zoom:_}=this,w=this._loaderId;this._abortController=new AbortController;let{signal:I}=this._abortController,R=await r.scheduleRequest(this,Q=>Q.isSelected?1:-1);if(!R){this._isCancelled=!0;return}if(this._isCancelled){R.done();return}let N=null,j;try{N=await t({index:n,id:o,bbox:c,userData:f,zoom:_,signal:I})}catch(Q){j=Q||!0}finally{R.done()}if(w===this._loaderId){if(this._loader=void 0,this.content=N,this._isCancelled&&!N){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,j?s(j,this):i(this)}}loadData(t){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(t),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var t;this.isLoaded||(this._isCancelled=!0,(t=this._abortController)===null||t===void 0||t.abort())}};var so={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var IQ=new Ve,O_t=new Ve,Jg=class e{constructor(t=[0,0,0],r=[0,0,0],i){G(this,\"center\",void 0),G(this,\"halfDiagonal\",void 0),G(this,\"minimum\",void 0),G(this,\"maximum\",void 0),i=i||IQ.copy(t).add(r).scale(.5),this.center=new Ve(i),this.halfDiagonal=new Ve(r).subtract(this.center),this.minimum=new Ve(t),this.maximum=new Ve(r)}clone(){return new e(this.minimum,this.maximum,this.center)}equals(t){return this===t||!!t&&this.minimum.equals(t.minimum)&&this.maximum.equals(t.maximum)}transform(t){return this.center.transformAsPoint(t),this.halfDiagonal.transform(t),this.minimum.transform(t),this.maximum.transform(t),this}intersectPlane(t){let{halfDiagonal:r}=this,i=O_t.from(t.normal),s=r.x*Math.abs(i.x)+r.y*Math.abs(i.y)+r.z*Math.abs(i.z),n=this.center.dot(i)+t.distance;return n-s>0?so.INSIDE:n+s<0?so.OUTSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=IQ.from(t).subtract(this.center),{halfDiagonal:i}=this,s=0,n;return n=Math.abs(r.x)-i.x,n>0&&(s+=n*n),n=Math.abs(r.y)-i.y,n>0&&(s+=n*n),n=Math.abs(r.z)-i.z,n>0&&(s+=n*n),s}};var TS=new Ve,CQ=new Ve,t_=class e{constructor(t=[0,0,0],r=0){G(this,\"center\",void 0),G(this,\"radius\",void 0),this.radius=-0,this.center=new Ve,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=TS.from(r),this.center=new Ve().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||!!t&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new e(this.center,this.radius)}union(t){let r=this.center,i=this.radius,s=t.center,n=t.radius,o=TS.copy(s).subtract(r),c=o.magnitude();if(i>=c+n)return this.clone();if(n>=c+i)return t.clone();let f=(i+c+n)*.5;return CQ.copy(o).scale((-i+f)/c).add(r),this.center.copy(CQ),this.radius=f,this}expand(t){let i=TS.from(t).subtract(this.center).magnitude();return i>this.radius&&(this.radius=i),this}transform(t){this.center.transform(t);let r=c7(TS,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let i=TS.from(t).subtract(this.center);return Math.max(0,i.len()-this.radius)}intersectPlane(t){let r=this.center,i=this.radius,n=t.normal.dot(r)+t.distance;return n<-i?so.OUTSIDE:n=f?so.INSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=F_t.from(t).subtract(this.center),i=this.halfAxes,s=i.getColumn(0,II),n=i.getColumn(1,CI),o=i.getColumn(2,LI),c=s.magnitude(),f=n.magnitude(),_=o.magnitude();s.normalize(),n.normalize(),o.normalize();let w=0,I;return I=Math.abs(r.dot(s))-c,I>0&&(w+=I*I),I=Math.abs(r.dot(n))-f,I>0&&(w+=I*I),I=Math.abs(r.dot(o))-_,I>0&&(w+=I*I),w}computePlaneDistances(t,r,i=[-0,-0]){let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,o=this.center,c=this.halfAxes,f=c.getColumn(0,II),_=c.getColumn(1,CI),w=c.getColumn(2,LI),I=z_t.copy(f).add(_).add(w).add(o),R=N_t.copy(I).subtract(t),N=r.dot(R);return s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),i[0]=s,i[1]=n,i}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,II);r.transformAsPoint(t);let i=this.halfAxes.getColumn(1,CI);i.transformAsPoint(t);let s=this.halfAxes.getColumn(2,LI);return s.transformAsPoint(t),this.halfAxes=new ss([...r,...i,...s]),this}getTransform(){throw new Error(\"not implemented\")}};var LQ=new Ve,kQ=new Ve,Af=class e{constructor(t=[0,0,1],r=0){G(this,\"normal\",void 0),G(this,\"distance\",void 0),this.normal=new Ve,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Bh(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=LQ.from(t),this.normal.from(r).normalize();let i=-this.normal.dot(t);return this.distance=i,this}fromCoefficients(t,r,i,s){return this.normal.set(t,r,i),Bh(Ro(this.normal.len(),1)),this.distance=s,this}clone(){return new e(this.normal,this.distance)}equals(t){return Ro(this.distance,t.distance)&&Ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=kQ.copy(this.normal).transformAsVector(t).normalize(),i=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(i,r)}projectPointOntoPlane(t,r=[0,0,0]){t=LQ.from(t);let i=this.getPointDistance(t),s=kQ.copy(this.normal).scale(i);return t.subtract(s).to(r)}};var RQ=[new Ve([1,0,0]),new Ve([0,1,0]),new Ve([0,0,1])],DQ=new Ve,U_t=new Ve,Rse=new Af(new Ve(1,0,0),0),Ad=class e{constructor(t=[]){G(this,\"planes\",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*RQ.length;let r=t.center,i=t.radius,s=0;for(let n of RQ){let o=this.planes[s],c=this.planes[s+1];o||(o=this.planes[s]=new Af),c||(c=this.planes[s+1]=new Af);let f=DQ.copy(n).scale(-i).add(r),_=-n.dot(f);o.fromPointNormal(f,n);let w=DQ.copy(n).scale(i).add(r),I=U_t.copy(n).negate(),R=-I.dot(w);c.fromPointNormal(w,I),s+=2}return this}computeVisibility(t){let r=so.INSIDE;for(let i of this.planes)switch(t.intersectPlane(i)){case so.OUTSIDE:return so.OUTSIDE;case so.INTERSECTING:r=so.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Bh(Number.isFinite(r),\"parentPlaneMask is required.\"),r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;let i=e.MASK_INSIDE,s=this.planes;for(let n=0;nf;)q_t(c,kI),OQ.copy(kI).transpose(),c.multiplyRight(kI),c.multiplyLeft(OQ),o.multiplyRight(kI),++s>2&&(++n,s=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=c.toTarget(t.diagonal),t}function W_t(e){let t=0;for(let r=0;r<9;++r){let i=e[r];t+=i*i}return Math.sqrt(t)}var GB=[1,0,0],WB=[2,2,1];function H_t(e){let t=0;for(let r=0;r<3;++r){let i=e[md.getElementIndex(WB[r],GB[r])];t+=2*i*i}return Math.sqrt(t)}function q_t(e,t){let r=YE.EPSILON15,i=0,s=1;for(let _=0;_<3;++_){let w=Math.abs(e[md.getElementIndex(WB[_],GB[_])]);w>i&&(s=_,i=w)}let n=GB[s],o=WB[s],c=1,f=0;if(Math.abs(e[md.getElementIndex(o,n)])>r){let _=e[md.getElementIndex(o,o)],w=e[md.getElementIndex(n,n)],I=e[md.getElementIndex(o,n)],R=(_-w)/2/I,N;R<0?N=-1/(-R+Math.sqrt(1+R*R)):N=1/(R+Math.sqrt(1+R*R)),c=1/Math.sqrt(1+N*N),f=N*c}return ss.IDENTITY.to(t),t[md.getElementIndex(n,n)]=t[md.getElementIndex(o,o)]=c,t[md.getElementIndex(o,n)]=f,t[md.getElementIndex(n,o)]=-f,t}var Cm=new Ve,Z_t=new Ve,Y_t=new Ve,Q_t=new Ve,$_t=new Ve,X_t=new ss,K_t={diagonal:new ss,unitary:new ss};function HB(e,t=new yx){if(!e||e.length===0)return t.halfAxes=new ss([0,0,0,0,0,0,0,0,0]),t.center=new Ve,t;let r=e.length,i=new Ve(0,0,0);for(let le of e)i.add(le);let s=1/r;i.multiplyByScalar(s);let n=0,o=0,c=0,f=0,_=0,w=0;for(let le of e){let ue=Cm.copy(le).subtract(i);n+=ue.x*ue.x,o+=ue.x*ue.y,c+=ue.x*ue.z,f+=ue.y*ue.y,_+=ue.y*ue.z,w+=ue.z*ue.z}n*=s,o*=s,c*=s,f*=s,_*=s,w*=s;let I=X_t;I[0]=n,I[1]=o,I[2]=c,I[3]=o,I[4]=f,I[5]=_,I[6]=c,I[7]=_,I[8]=w;let{unitary:R}=RI(I,K_t),N=t.halfAxes.copy(R),j=N.getColumn(0,Y_t),Q=N.getColumn(1,Q_t),et=N.getColumn(2,$_t),Y=-Number.MAX_VALUE,K=-Number.MAX_VALUE,J=-Number.MAX_VALUE,ut=Number.MAX_VALUE,Et=Number.MAX_VALUE,kt=Number.MAX_VALUE;for(let le of e)Cm.copy(le),Y=Math.max(Cm.dot(j),Y),K=Math.max(Cm.dot(Q),K),J=Math.max(Cm.dot(et),J),ut=Math.min(Cm.dot(j),ut),Et=Math.min(Cm.dot(Q),Et),kt=Math.min(Cm.dot(et),kt);j=j.multiplyByScalar(.5*(ut+Y)),Q=Q.multiplyByScalar(.5*(Et+K)),et=et.multiplyByScalar(.5*(kt+J)),t.center.copy(j).add(Q).add(et);let Xt=Z_t.set(Y-ut,K-Et,J-kt).multiplyByScalar(.5),qt=new ss([Xt[0],0,0,0,Xt[1],0,0,0,Xt[2]]);return t.halfAxes.multiplyRight(qt),t}var vx=512,BQ=3,FQ=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],zQ=FQ.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),J_t=zQ.concat([[.25,.5],[.75,.5]]),qB=class e{constructor(t,r,i){G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"z\",void 0),G(this,\"childVisible\",void 0),G(this,\"selected\",void 0),G(this,\"_children\",void 0),this.x=t,this.y=r,this.z=i}get children(){if(!this._children){let t=this.x*2,r=this.y*2,i=this.z+1;this._children=[new e(t,r,i),new e(t,r+1,i),new e(t+1,r,i),new e(t+1,r+1,i)]}return this._children}update(t){let{viewport:r,cullingVolume:i,elevationBounds:s,minZ:n,maxZ:o,bounds:c,offset:f,project:_}=t,w=this.getBoundingVolume(s,f,_);if(c&&!this.insideBounds(c)||i.computeVisibility(w)<0)return!1;if(!this.childVisible){let{z:R}=this;if(R=n){let N=w.distanceTo(r.cameraPosition)*r.scale/r.height;R+=Math.floor(Math.log2(N))}if(R>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(let R of this.children)R.update(t);return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let r of this._children)r.getSelected(t);return t}insideBounds([t,r,i,s]){let n=Math.pow(2,this.z),o=vx/n;return this.x*ot&&(this.y+1)*o>r}getBoundingVolume(t,r,i){if(i){let f=this.z<1?J_t:this.z<2?zQ:FQ,_=[];for(let w of f){let I=DI(this.x+w[0],this.y+w[1],this.z);I[2]=t[0],_.push(i(I)),t[0]!==t[1]&&(I[2]=t[1],_.push(i(I)))}return HB(_)}let s=Math.pow(2,this.z),n=vx/s,o=this.x*n+r*vx,c=vx-(this.y+1)*n;return new Jg([o,c,t[0]],[o+n,c+n,t[1]])}};function NQ(e,t,r,i){let s=e instanceof rv&&e.resolution?e.projectPosition:null,n=Object.values(e.getFrustumPlanes()).map(({normal:N,distance:j})=>new Af(N.clone().negate(),j)),o=new Ad(n),c=e.distanceScales.unitsPerMeter[2],f=r&&r[0]*c||0,_=r&&r[1]*c||0,w=e instanceof lc&&e.pitch<=60?t:0;if(i){let[N,j,Q,et]=i,Y=va([N,et]),K=va([Q,j]);i=[Y[0],vx-Y[1],K[0],vx-K[1]]}let I=new qB(0,0,0),R={viewport:e,project:s,cullingVolume:o,elevationBounds:[f,_],minZ:w,maxZ:t,bounds:i,offset:0};if(I.update(R),e instanceof lc&&e.subViewports&&e.subViewports.length>1){for(R.offset=-1;I.update(R)&&!(--R.offset<-BQ););for(R.offset=1;I.update(R)&&!(++R.offset>BQ););}return I.getSelected()}var zp=512,tyt=[-1/0,-1/0,1/0,1/0],YB={type:\"object\",value:null,validate:(e,t)=>t.optional&&e===null||typeof e==\"string\"||Array.isArray(e)&&e.every(r=>typeof r==\"string\"),equal:(e,t)=>{if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let i=0;is[0])),Math.min(...r.map(s=>s[1])),Math.max(...r.map(s=>s[0])),Math.max(...r.map(s=>s[1]))]}function eyt(e){return Math.abs(e.split(\"\").reduce((t,r)=>(t<<5)-t+r.charCodeAt(0)|0,0))}function QB(e,t){if(!e||!e.length)return null;let{index:r,id:i}=t;if(Array.isArray(e)){let n=eyt(i)%e.length;e=e[n]}let s=e;for(let n of Object.keys(r)){let o=new RegExp(\"{\".concat(n,\"}\"),\"g\");s=s.replace(o,String(r[n]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(s=s.replace(/\\{-y\\}/g,String(Math.pow(2,r.z)-r.y-1))),s}function ryt(e,t,r){let i;if(t&&t.length===2){let[s,n]=t,o=e.getBounds({z:s}),c=e.getBounds({z:n});i=[Math.min(o[0],c[0]),Math.min(o[1],c[1]),Math.max(o[2],c[2]),Math.max(o[3],c[3])]}else i=e.getBounds();return e.isGeospatial?[Math.max(i[0],r[0]),Math.max(i[1],r[1]),Math.min(i[2],r[2]),Math.min(i[3],r[3])]:[Math.max(Math.min(i[0],r[2]),r[0]),Math.max(Math.min(i[1],r[3]),r[1]),Math.min(Math.max(i[2],r[0]),r[2]),Math.min(Math.max(i[3],r[1]),r[3])]}function jQ({viewport:e,z:t=0,cullRect:r}){return(e.subViewports||[e]).map(s=>ZB(s,t,r))}function ZB(e,t,r){if(!Array.isArray(t)){let n=r.x-e.x,o=r.y-e.y,{width:c,height:f}=r,_={targetZ:t},w=e.unproject([n,o],_),I=e.unproject([n+c,o],_),R=e.unproject([n,o+f],_),N=e.unproject([n+c,o+f],_);return[Math.min(w[0],I[0],R[0],N[0]),Math.min(w[1],I[1],R[1],N[1]),Math.max(w[0],I[0],R[0],N[0]),Math.max(w[1],I[1],R[1],N[1])]}let i=ZB(e,t[0],r),s=ZB(e,t[1],r);return[Math.min(i[0],s[0]),Math.min(i[1],s[1]),Math.max(i[2],s[2]),Math.max(i[3],s[3])]}function iyt(e,t,r){return r?VQ(e,r).map(s=>s*t/zp):e.map(i=>i*t/zp)}function $B(e,t){return Math.pow(2,e)*zp/t}function DI(e,t,r){let i=$B(r,zp),s=e/i*360-180,n=Math.PI-2*Math.PI*t/i,o=180/Math.PI*Math.atan(.5*(Math.exp(n)-Math.exp(-n)));return[s,o]}function UQ(e,t,r,i){let s=$B(r,i);return[e/s*zp,t/s*zp]}function XB(e,t,r,i,s=zp){if(e.isGeospatial){let[_,w]=DI(t,r,i),[I,R]=DI(t+1,r+1,i);return{west:_,north:w,east:I,south:R}}let[n,o]=UQ(t,r,i,s),[c,f]=UQ(t+1,r+1,i,s);return{left:n,top:o,right:c,bottom:f}}function nyt(e,t,r,i,s){let n=ryt(e,null,i),o=$B(t,r),[c,f,_,w]=iyt(n,o,s),I=[];for(let R=Math.floor(c);R<_;R++)for(let N=Math.floor(f);Nt&&(_=t);let w=s;return o&&c&&s&&!e.isGeospatial&&(w=VQ(s,o)),e.isGeospatial?NQ(e,_,i,s):nyt(e,_,n,w||tyt,c)}function GQ(e){let t={},r;return i=>{for(let s in i)if(!syt(i[s],t[s])){r=e(i),t=i;break}return r}}function syt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{}},uyt={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:\"best-available\",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}},MS=class{constructor(t){G(this,\"opts\",void 0),G(this,\"_requestScheduler\",void 0),G(this,\"_cache\",void 0),G(this,\"_dirty\",void 0),G(this,\"_tiles\",void 0),G(this,\"_cacheByteSize\",void 0),G(this,\"_viewport\",void 0),G(this,\"_zRange\",void 0),G(this,\"_selectedTiles\",void 0),G(this,\"_frameNumber\",void 0),G(this,\"_modelMatrix\",void 0),G(this,\"_modelMatrixInverse\",void 0),G(this,\"_maxZoom\",void 0),G(this,\"_minZoom\",void 0),G(this,\"onTileLoad\",void 0),G(this,\"_getCullBounds\",GQ(jQ)),this.opts={...uyt,...t},this.onTileLoad=r=>{var i,s;(i=(s=this.opts).onTileLoad)===null||i===void 0||i.call(s,r),this.opts.maxCacheByteSize&&(this._cacheByteSize+=r.byteLength,this._resizeCache())},this._requestScheduler=new py({maxRequests:t.maxRequests,throttleRequests:!!(t.maxRequests&&t.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new En,this._modelMatrixInverse=new En,this.setOptions(t)}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(t=>t.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(t=>t.needsReload)}setOptions(t){Object.assign(this.opts,t),Number.isFinite(t.maxZoom)&&(this._maxZoom=Math.floor(t.maxZoom)),Number.isFinite(t.minZoom)&&(this._minZoom=Math.ceil(t.minZoom))}finalize(){for(let t of this._cache.values())t.isLoading&&t.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(let t of this._cache.keys()){let r=this._cache.get(t);!this._selectedTiles||!this._selectedTiles.includes(r)?this._cache.delete(t):r.setNeedsReload()}}update(t,{zRange:r,modelMatrix:i}={}){let s=new En(i),n=!s.equals(this._modelMatrix);if(!this._viewport||!t.equals(this._viewport)||!Ro(this._zRange,r)||n){n&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=t,this._zRange=r;let c=this.getTileIndices({viewport:t,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));let o=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),o&&this._frameNumber++,this._frameNumber}isTileVisible(t,r){if(!t.isVisible)return!1;if(r&&this._viewport){let i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:r}),{bbox:s}=t;for(let[n,o,c,f]of i){let _;if(\"west\"in s)_=s.westn&&s.southo;else{let w=Math.min(s.top,s.bottom),I=Math.max(s.top,s.bottom);_=s.leftn&&wo}if(_)return!0}return!1}return!0}getTileIndices({viewport:t,maxZoom:r,minZoom:i,zRange:s,modelMatrix:n,modelMatrixInverse:o}){let{tileSize:c,extent:f,zoomOffset:_}=this.opts;return KB({viewport:t,maxZoom:r,minZoom:i,zRange:s,tileSize:c,extent:f,modelMatrix:n,modelMatrixInverse:o,zoomOffset:_})}getTileId(t){return\"\".concat(t.x,\"-\").concat(t.y,\"-\").concat(t.z)}getTileZoom(t){return t.z}getTileMetadata(t){let{tileSize:r}=this.opts;return{bbox:XB(this._viewport,t.x,t.y,t.z,r)}}getParentIndex(t){let r=Math.floor(t.x/2),i=Math.floor(t.y/2),s=t.z-1;return{x:r,y:i,z:s}}updateTileStates(){let t=this.opts.refinementStrategy||ES,r=new Array(this._cache.size),i=0;for(let s of this._cache.values())r[i++]=s.isVisible,s.isSelected=!1,s.isVisible=!1;for(let s of this._selectedTiles)s.isSelected=!0,s.isVisible=!0;(typeof t==\"function\"?t:cyt[t])(Array.from(this._cache.values())),i=0;for(let s of this._cache.values())if(r[i++]!==s.isVisible)return!0;return!1}_pruneRequests(){let{maxRequests:t=0}=this.opts,r=[],i=0;for(let s of this._cache.values())s.isLoading&&(i++,!s.isSelected&&!s.isVisible&&r.push(s));for(;t>0&&i>t&&r.length>0;)r.shift().abort(),i--}_rebuildTree(){let{_cache:t}=this;for(let r of t.values())r.parent=null,r.children&&(r.children.length=0);for(let r of t.values()){let i=this._getNearestAncestor(r);r.parent=i,i!=null&&i.children&&i.children.push(r)}}_resizeCache(){let{_cache:t,opts:r}=this,i=r.maxCacheSize||(r.maxCacheByteSize?1/0:lyt*this.selectedTiles.length),s=r.maxCacheByteSize||1/0;if(t.size>i||this._cacheByteSize>s){for(let[f,_]of t){if(!_.isVisible&&!_.isSelected){var o,c;this._cacheByteSize-=r.maxCacheByteSize?_.byteLength:0,t.delete(f),(o=(c=this.opts).onTileUnload)===null||o===void 0||o.call(c,_)}if(t.size<=i&&this._cacheByteSize<=s)break}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,_)=>f.zoom-_.zoom),this._dirty=!1)}_getTile(t,r){let i=this.getTileId(t),s=this._cache.get(i),n=!1;return!s&&r?(s=new PI(t),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:i,zoom:this.getTileZoom(s.index)}),n=!0,this._cache.set(i,s),this._dirty=!0):s&&s.needsReload&&(n=!0),s&&n&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s}_getNearestAncestor(t){let{_minZoom:r=0}=this,i=t.index;for(;this.getTileZoom(i)>r;){i=this.getParentIndex(i);let s=this._getTile(i);if(s)return s}return null}};function hyt(e){for(let t of e)t.state=0;for(let t of e)t.isSelected&&!HQ(t)&&JB(t);for(let t of e)t.isVisible=!!(t.state&OI)}function fyt(e){for(let r of e)r.state=0;for(let r of e)r.isSelected&&HQ(r);let t=Array.from(e).sort((r,i)=>r.zoom-i.zoom);for(let r of t)if(r.isVisible=!!(r.state&OI),r.children&&(r.isVisible||r.state&WQ))for(let i of r.children)i.state=WQ;else r.isSelected&&JB(r)}function HQ(e){let t=e;for(;t;){if(t.isLoaded||t.content)return t.state|=OI,!0;t=t.parent}return!1}function JB(e){for(let t of e.children)t.isLoaded||t.content?t.state|=OI:JB(t)}var dyt={TilesetClass:MS,data:{type:\"data\",value:[]},dataComparator:YB.equal,renderSubLayers:{type:\"function\",value:e=>new Mm(e)},getTileData:{type:\"function\",optional:!0,value:null},onViewportLoad:{type:\"function\",optional:!0,value:null},onTileLoad:{type:\"function\",value:e=>{}},onTileUnload:{type:\"function\",value:e=>{}},onTileError:{type:\"function\",value:e=>console.error(e)},extent:{type:\"array\",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ES,zRange:null,maxRequests:6,zoomOffset:0},Lm=class extends Ni{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var t,r;(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||r.finalize()}get isLoaded(){var t,r,i;return(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||(i=r.selectedTiles)===null||i===void 0?void 0:i.every(s=>s.isLoaded&&s.layers&&s.layers.every(n=>n.isLoaded))}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState({changeFlags:t}){let{tileset:r}=this.state,i=t.propsOrDataChanged||t.updateTriggersChanged,s=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getTileData);r?i&&(r.setOptions(this._getTilesetOptions()),s?r.reloadAll():this.state.tileset.tiles.forEach(n=>{n.layers=null})):(r=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:r})),this._updateTileset()}_getTilesetOptions(){let{tileSize:t,maxCacheSize:r,maxCacheByteSize:i,refinementStrategy:s,extent:n,maxZoom:o,minZoom:c,maxRequests:f,zoomOffset:_}=this.props;return{maxCacheSize:r,maxCacheByteSize:i,maxZoom:o,minZoom:c,tileSize:t,refinementStrategy:s,extent:n,maxRequests:f,zoomOffset:_,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){let{tileset:t}=this.state,{zRange:r,modelMatrix:i}=this.props,s=t.update(this.context.viewport,{zRange:r,modelMatrix:i}),{isLoaded:n}=t,o=this.state.isLoaded!==n,c=this.state.frameNumber!==s;n&&(o||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:s}),this.state.isLoaded=n}_onViewportLoad(){let{tileset:t}=this.state,{onViewportLoad:r}=this.props;r&&r(t.selectedTiles)}_onTileLoad(t){this.props.onTileLoad(t),t.layers=null,this.setNeedsUpdate()}_onTileError(t,r){this.props.onTileError(t),r.layers=null,this.setNeedsUpdate()}_onTileUnload(t){this.props.onTileUnload(t)}getTileData(t){let{data:r,getTileData:i,fetch:s}=this.props,{signal:n}=t;return t.url=typeof r==\"string\"||Array.isArray(r)?QB(r,t):null,i?i(t):s&&t.url?s(t.url,{propName:\"data\",layer:this,signal:n}):null}renderSubLayers(t){return this.props.renderSubLayers(t)}getSubLayerPropsByTile(t){return null}getPickingInfo({info:t,sourceLayer:r}){let i=r.props.tile;return t.picked&&(t.tile=i),t.sourceTile=i,t}_updateAutoHighlight(t){let r=t.sourceTile;if(r&&r.layers)for(let i of r.layers)i.updateAutoHighlight(t)}renderLayers(){return this.state.tileset.tiles.map(t=>{let r=this.getSubLayerPropsByTile(t);if(!(!t.isLoaded&&!t.content))if(t.layers)r&&t.layers[0]&&Object.keys(r).some(i=>t.layers[0].props[i]!==r[i])&&(t.layers=t.layers.map(i=>i.clone(r)));else{let i=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:t.id,updateTriggers:this.props.updateTriggers}),data:t.content,_offset:0,tile:t});t.layers=op(i,Boolean).map(s=>s.clone({tile:t,...r}))}return t.layers})}filterSubLayer({layer:t,cullRect:r}){let{tile:i}=t.props;return this.state.tileset.isTileVisible(i,r)}};G(Lm,\"defaultProps\",dyt);G(Lm,\"layerName\",\"TileLayer\");var Ic=function(e){e=e||{};var t=typeof e<\"u\"?e:{},r={},i;for(i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);var s=[],n=\"\";function o(Zt){return t.locateFile?t.locateFile(Zt,n):n+Zt}var c;document.currentScript&&(n=document.currentScript.src),n.indexOf(\"blob:\")!==0?n=n.substr(0,n.lastIndexOf(\"/\")+1):n=\"\",c=function(fe,Be,br){var g=new XMLHttpRequest;g.open(\"GET\",fe,!0),g.responseType=\"arraybuffer\",g.onload=function(){if(g.status==200||g.status==0&&g.response){Be(g.response);return}var Ti=ht(fe);if(Ti){Be(Ti.buffer);return}br()},g.onerror=br,g.send(null)};var f=t.print||console.log.bind(console),_=t.printErr||console.warn.bind(console);for(i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);r=null,t.arguments&&(s=t.arguments);var w=0,I=function(Zt){w=Zt},R=function(){return w},N=8;function j(Zt,fe,Be,br){switch(Be=Be||\"i8\",Be.charAt(Be.length-1)===\"*\"&&(Be=\"i32\"),Be){case\"i1\":Sr[Zt>>0]=fe;break;case\"i8\":Sr[Zt>>0]=fe;break;case\"i16\":oo[Zt>>1]=fe;break;case\"i32\":No[Zt>>2]=fe;break;case\"i64\":ve=[fe>>>0,(wo=fe,+Nl(wo)>=1?wo>0?(mn(+ls(wo/4294967296),4294967295)|0)>>>0:~~+ee((wo-+(~~wo>>>0))/4294967296)>>>0:0)],No[Zt>>2]=ve[0],No[Zt+4>>2]=ve[1];break;case\"float\":Uo[Zt>>2]=fe;break;case\"double\":Si[Zt>>3]=fe;break;default:oh(\"invalid type for setValue: \"+Be)}}function Q(Zt,fe,Be){switch(fe=fe||\"i8\",fe.charAt(fe.length-1)===\"*\"&&(fe=\"i32\"),fe){case\"i1\":return Sr[Zt>>0];case\"i8\":return Sr[Zt>>0];case\"i16\":return oo[Zt>>1];case\"i32\":return No[Zt>>2];case\"i64\":return No[Zt>>2];case\"float\":return Uo[Zt>>2];case\"double\":return Si[Zt>>3];default:oh(\"invalid type for getValue: \"+fe)}return null}var et=!1;function Y(Zt,fe){Zt||oh(\"Assertion failed: \"+fe)}function K(Zt){var fe=t[\"_\"+Zt];return Y(fe,\"Cannot call unknown function \"+Zt+\", make sure it is exported\"),fe}function J(Zt,fe,Be,br,g){var Vi={string:function(Ur){var hi=0;if(Ur!=null&&Ur!==0){var To=(Ur.length<<2)+1;hi=Hp(To),le(Ur,hi,To)}return hi},array:function(Ur){var hi=Hp(Ur.length);return De(Ur,hi),hi}};function Ti(Ur){return fe===\"string\"?Xt(Ur):fe===\"boolean\"?!!Ur:Ur}var Tt=K(Zt),Ms=[],cs=0;if(br)for(var li=0;li=br);)++g;if(g-fe>16&&Zt.subarray&&Et)return Et.decode(Zt.subarray(fe,g));for(var Vi=\"\";fe>10,56320|cs&1023)}}return Vi}function Xt(Zt,fe){return Zt?kt(Li,Zt,fe):\"\"}function qt(Zt,fe,Be,br){if(!(br>0))return 0;for(var g=Be,Vi=Be+br-1,Ti=0;Ti=55296&&Tt<=57343){var Ms=Zt.charCodeAt(++Ti);Tt=65536+((Tt&1023)<<10)|Ms&1023}if(Tt<=127){if(Be>=Vi)break;fe[Be++]=Tt}else if(Tt<=2047){if(Be+1>=Vi)break;fe[Be++]=192|Tt>>6,fe[Be++]=128|Tt&63}else if(Tt<=65535){if(Be+2>=Vi)break;fe[Be++]=224|Tt>>12,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}else{if(Be+3>=Vi)break;fe[Be++]=240|Tt>>18,fe[Be++]=128|Tt>>12&63,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}}return fe[Be]=0,Be-g}function le(Zt,fe,Be){return qt(Zt,Li,fe,Be)}var ue=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0;function De(Zt,fe){Sr.set(Zt,fe)}function Ke(Zt,fe){return Zt%fe>0&&(Zt+=fe-Zt%fe),Zt}var rr,Sr,Li,oo,zl,No,ih,Uo,Si;function Ns(Zt){rr=Zt,t.HEAP8=Sr=new Int8Array(Zt),t.HEAP16=oo=new Int16Array(Zt),t.HEAP32=No=new Int32Array(Zt),t.HEAPU8=Li=new Uint8Array(Zt),t.HEAPU16=zl=new Uint16Array(Zt),t.HEAPU32=ih=new Uint32Array(Zt),t.HEAPF32=Uo=new Float32Array(Zt),t.HEAPF64=Si=new Float64Array(Zt)}var ll=5266928,kc=24016,Rc=t.TOTAL_MEMORY||33554432;t.buffer?rr=t.buffer:rr=new ArrayBuffer(Rc),Rc=rr.byteLength,Ns(rr),No[kc>>2]=ll;function Xi(Zt){for(;Zt.length>0;){var fe=Zt.shift();if(typeof fe==\"function\"){fe();continue}var Be=fe.func;typeof Be==\"number\"?fe.arg===void 0?t.dynCall_v(Be):t.dynCall_vi(Be,fe.arg):Be(fe.arg===void 0?null:fe.arg)}}var Jn=[],ki=[],ts=[],Vo=[];function cl(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)as(t.preRun.shift());Xi(Jn)}function xo(){Xi(ki)}function Pa(){Xi(ts)}function na(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)ao(t.postRun.shift());Xi(Vo)}function as(Zt){Jn.unshift(Zt)}function ao(Zt){Vo.unshift(Zt)}var Nl=Math.abs,ee=Math.ceil,ls=Math.floor,mn=Math.min,gi=0,oi=null,lo=null;function du(Zt){gi++,t.monitorRunDependencies&&t.monitorRunDependencies(gi)}function ul(Zt){if(gi--,t.monitorRunDependencies&&t.monitorRunDependencies(gi),gi==0&&(oi!==null&&(clearInterval(oi),oi=null),lo)){var fe=lo;lo=null,fe()}}t.preloadedImages={},t.preloadedAudios={};var bo=null,hl=\"data:application/octet-stream;base64,\";function Ia(Zt){return String.prototype.startsWith?Zt.startsWith(hl):Zt.indexOf(hl)===0}var wo,ve;bo=\"data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAHAAAABwAAAAEAAAACAAAABAAAAAMAAAAAAAAAAAAAAAcAAAADAAAAAQAAAAIAAAAFAAAABAAAAAAAAAAAAAAAYWxnb3MuYwBfcG9seWZpbGxJbnRlcm5hbABhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0dlb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9HZW9Cb3VuZGFyeQBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGgzVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAcGVudGFnb25Sb3RhdGlvbnMgPj0gMABkaXJlY3Rpb25Sb3RhdGlvbnMgPj0gMABiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvSDMAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAd2l0aGluUGVudGFnb25Sb3RhdGlvbnMgPj0gMABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl\";var jo=24032;function gn(Zt){return Zt}function Ul(Zt){var fe=/\\b__Z[\\w\\d_]+/g;return Zt.replace(fe,function(Be){var br=Be;return Be===br?Be:br+\" [\"+Be+\"]\"})}function Ca(){var Zt=new Error;if(!Zt.stack){try{throw new Error(0)}catch(fe){Zt=fe}if(!Zt.stack)return\"(no stack trace available)\"}return Zt.stack.toString()}function Te(){var Zt=Ca();return t.extraStackTrace&&(Zt+=`\n`+t.extraStackTrace()),Ul(Zt)}function Dr(Zt,fe,Be,br){oh(\"Assertion failed: \"+Xt(Zt)+\", at: \"+[fe?Xt(fe):\"unknown filename\",Be,br?Xt(br):\"unknown function\"])}function gr(){return Sr.length}function Us(Zt,fe,Be){Li.set(Li.subarray(fe,fe+Be),Zt)}function La(Zt){return t.___errno_location&&(No[t.___errno_location()>>2]=Zt),Zt}function Mr(Zt){oh(\"OOM\")}function sa(Zt){try{var fe=new ArrayBuffer(Zt);return fe.byteLength!=Zt?void 0:(new Int8Array(fe).set(Sr),xi(fe),Ns(fe),1)}catch{}}function gt(Zt){var fe=gr(),Be=16777216,br=2147483648-Be;if(Zt>br)return!1;for(var g=16777216,Vi=Math.max(fe,g);Vi>4,g=(Tt&15)<<4|Ms>>2,Vi=(Ms&3)<<6|cs,Be=Be+String.fromCharCode(br),Ms!==64&&(Be=Be+String.fromCharCode(g)),cs!==64&&(Be=Be+String.fromCharCode(Vi));while(li>2]=p,g[k+4>>2]=m,k=(C|0)!=0,k&&(g[C>>2]=0),ji(p,m)|0)return Nt=1,wt=Wt,Nt|0;g[Nt>>2]=0;t:do if((y|0)>=1)if(k)for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,g[C+(Ct<<2)>>2]=ot,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else k=0;while(!1);return Nt=k,wt=Wt,Nt|0}function Ba(p,m,y,S,C,k,L){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0,L=L|0;var z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if(Ct=wt,wt=wt+16|0,ot=Ct,(p|0)==0&(m|0)==0){wt=Ct;return}if(z=Yo(p|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0,It()|0,H=S+(z<<3)|0,Nt=H,Wt=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,it=(Wt|0)==(p|0)&(Nt|0)==(m|0),!((Wt|0)==0&(Nt|0)==0|it))do z=(z+1|0)%(k|0)|0,H=S+(z<<3)|0,Wt=H,Nt=g[Wt>>2]|0,Wt=g[Wt+4>>2]|0,it=(Nt|0)==(p|0)&(Wt|0)==(m|0);while(!((Nt|0)==0&(Wt|0)==0|it));if(z=C+(z<<2)|0,it&&(g[z>>2]|0)<=(L|0)){wt=Ct;return}if(Wt=H,g[Wt>>2]=p,g[Wt+4>>2]=m,g[z>>2]=L,(L|0)>=(y|0)){wt=Ct;return}Wt=L+1|0,g[ot>>2]=0,Nt=Wn(p,m,2,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,3,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,1,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,5,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,4,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,6,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),wt=Ct}function Wn(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if((g[S>>2]|0)>0){C=0;do y=Na(y)|0,C=C+1|0;while((C|0)<(g[S>>2]|0))}z=me(p|0,m|0,45)|0,It()|0,H=z&127,k=Es(p,m)|0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)L=6;else for(;;){if(Ct=(15-C|0)*3|0,Nt=me(p|0,m|0,Ct|0)|0,It()|0,Nt=Nt&7,Wt=(Ho(C)|0)==0,C=C+-1|0,ot=ke(7,0,Ct|0)|0,m=m&~(It()|0),Ct=ke(g[(Wt?464:48)+(Nt*28|0)+(y<<2)>>2]|0,0,Ct|0)|0,it=It()|0,y=g[(Wt?672:256)+(Nt*28|0)+(y<<2)>>2]|0,p=Ct|p&~ot,m=it|m,!y){y=0;break t}if(!C){L=6;break}}while(!1);(L|0)==6&&(Wt=g[880+(H*28|0)+(y<<2)>>2]|0,Nt=ke(Wt|0,0,45)|0,p=Nt|p,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+(y<<2)>>2]|0,(Wt&127|0)==127&&(Wt=ke(g[880+(H*28|0)+20>>2]|0,0,45)|0,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+20>>2]|0,p=Wo(Wt|p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1)),L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){e:do if((Es(p,m)|0)==1){if((H|0)!=(L|0))if(ch(L,g[7728+(H*28|0)>>2]|0)|0){p=Fd(p,m)|0,k=1,m=It()|0;break}else{p=Wo(p,m)|0,k=1,m=It()|0;break}switch(k|0){case 5:{p=Fd(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+5,k=0;break e}case 3:{p=Wo(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1,k=0;break e}default:return Nt=0,Wt=0,Je(Nt|0),Wt|0}}else k=0;while(!1);if((y|0)>0){C=0;do p=gh(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}if((H|0)!=(L|0)){if(!(mu(L)|0)){if((k|0)!=0|(Es(p,m)|0)!=5)break;g[S>>2]=(g[S>>2]|0)+1;break}switch(z&127){case 8:case 118:break t;default:}(Es(p,m)|0)!=3&&(g[S>>2]=(g[S>>2]|0)+1)}}else if((y|0)>0){C=0;do p=Wo(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}while(!1);return g[S>>2]=((g[S>>2]|0)+y|0)%6|0,Nt=m,Wt=p,Je(Nt|0),Wt|0}function p_(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;if(Ct=wt,wt=wt+16|0,ot=Ct,!y)return ot=S,g[ot>>2]=p,g[ot+4>>2]=m,ot=0,wt=Ct,ot|0;g[ot>>2]=0;t:do if(ji(p,m)|0)p=1;else{if(k=(y|0)>0,k){C=0,it=p;do{if(it=Wn(it,m,4,ot)|0,m=It()|0,(it|0)==0&(m|0)==0){p=2;break t}if(C=C+1|0,ji(it,m)|0){p=1;break t}}while((C|0)<(y|0));if(H=S,g[H>>2]=it,g[H+4>>2]=m,H=y+-1|0,k){k=0,L=1,C=it,p=m;do{if(C=Wn(C,p,2,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(L<<3)|0,g[z>>2]=C,g[z+4>>2]=p,L=L+1|0,ji(C,p)|0){p=1;break t}k=k+1|0}while((k|0)<(y|0));z=0,k=L;do{if(C=Wn(C,p,3,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(L=S+(k<<3)|0,g[L>>2]=C,g[L+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}z=z+1|0}while((z|0)<(y|0));L=0;do{if(C=Wn(C,p,1,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,5,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,4,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));for(L=0;;){if(C=Wn(C,p,6,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if((L|0)!=(H|0))if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,!(ji(C,p)|0))k=k+1|0;else{p=1;break t}if(L=L+1|0,(L|0)>=(y|0)){L=it,k=m;break}}}else L=it,C=it,k=m,p=m}else L=S,g[L>>2]=p,g[L+4>>2]=m,L=p,C=p,k=m,p=m;p=((L|0)!=(C|0)|(k|0)!=(p|0))&1}while(!1);return ot=p,wt=Ct,ot|0}function Cd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(k=wt,wt=wt+48|0,C=k+8|0,S=k,z=p,L=g[z+4>>2]|0,y=S,g[y>>2]=g[z>>2],g[y+4>>2]=L,Ee(S,C),C=uh(C,m)|0,m=g[S>>2]|0,S=g[p+8>>2]|0,(S|0)<=0)return z=m,L=(C|0)<(z|0),z=L?z:C,z=z+12|0,wt=k,z|0;y=g[p+12>>2]|0,p=0;do m=(g[y+(p<<3)>>2]|0)+m|0,p=p+1|0;while((p|0)<(S|0));return z=(C|0)<(m|0),z=z?m:C,z=z+12|0,wt=k,z|0}function $p(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;if(z=wt,wt=wt+48|0,S=z+8|0,C=z,!(Xp(p,m,y)|0)){wt=z;return}if(H=p,k=g[H+4>>2]|0,L=C,g[L>>2]=g[H>>2],g[L+4>>2]=k,Ee(C,S),L=uh(S,m)|0,m=g[C>>2]|0,k=g[p+8>>2]|0,(k|0)>0){C=g[p+12>>2]|0,S=0;do m=(g[C+(S<<3)>>2]|0)+m|0,S=S+1|0;while((S|0)!=(k|0))}if(m=(L|0)<(m|0)?m:L,(m|0)<=-12){wt=z;return}H=m+11|0,Fc(y|0,0,(((H|0)>0?H:0)<<3)+8|0)|0,wt=z}function Xp(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Or=wt,wt=wt+112|0,hn=Or+80|0,H=Or+72|0,Pi=Or,Sn=Or+56|0,it=p+8|0,yn=ho((g[it>>2]<<5)+32|0)|0,yn||Mi(22848,22448,800,22456),pr(p,yn),k=p,S=g[k+4>>2]|0,z=H,g[z>>2]=g[k>>2],g[z+4>>2]=S,Ee(H,hn),z=uh(hn,m)|0,S=g[H>>2]|0,k=g[it>>2]|0,(k|0)>0){L=g[p+12>>2]|0,C=0;do S=(g[L+(C<<3)>>2]|0)+S|0,C=C+1|0;while((C|0)!=(k|0))}if(z=(z|0)<(S|0)?S:z,Ei=z+12|0,C=Ua(Ei,8)|0,ot=Ua(Ei,8)|0,g[hn>>2]=0,Zr=p,qi=g[Zr+4>>2]|0,S=H,g[S>>2]=g[Zr>>2],g[S+4>>2]=qi,S=i0(H,Ei,m,hn,C,ot)|0,S|0)return Gr(C),Gr(ot),Gr(yn),yn=S,wt=Or,yn|0;t:do if((g[it>>2]|0)>0){for(k=p+12|0,S=0;L=i0((g[k>>2]|0)+(S<<3)|0,Ei,m,hn,C,ot)|0,S=S+1|0,!(L|0);)if((S|0)>=(g[it>>2]|0))break t;return Gr(C),Gr(ot),Gr(yn),yn=L,wt=Or,yn|0}while(!1);(z|0)>-12&&Fc(ot|0,0,((Ei|0)>1?Ei:1)<<3|0)|0;t:do if((g[hn>>2]|0)>0){qi=((Ei|0)<0)<<31>>31,Ut=C,$e=ot,er=C,we=C,je=ot,Zr=C,S=C,Le=C,We=ot,te=ot,_e=ot,C=ot;e:for(;;){for(ne=g[hn>>2]|0,Wt=0,re=0,k=0;;){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));if(m=Ut+(Wt<<3)|0,H=g[m>>2]|0,m=g[m+4>>2]|0,yf(H,m,1,Pi,0)|0){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));L=Ua(7,4)|0,L|0&&(Ba(H,m,1,Pi,L,7,0),Gr(L))}Nt=0;do{Ct=Pi+(Nt<<3)|0,ot=g[Ct>>2]|0,Ct=g[Ct+4>>2]|0;r:do if(!((ot|0)==0&(Ct|0)==0)){if(H=Yo(ot|0,Ct|0,Ei|0,qi|0)|0,It()|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,!((m|0)==0&(z|0)==0))for(it=0;;){if((it|0)>(Ei|0))break e;if((m|0)==(ot|0)&(z|0)==(Ct|0))break r;if(H=(H+1|0)%(Ei|0)|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,(m|0)==0&(z|0)==0)break;it=it+1|0}(ot|0)==0&(Ct|0)==0||(l(ot,Ct,Sn),tr(p,yn,Sn)|0&&(it=L,g[it>>2]=ot,g[it+4>>2]=Ct,it=$e+(k<<3)|0,g[it>>2]=ot,g[it+4>>2]=Ct,k=k+1|0))}while(!1);Nt=Nt+1|0}while(Nt>>>0<7);if(re=re+1|0,(re|0)>=(ne|0))break;Wt=Wt+1|0}if((ne|0)>0&&Fc(er|0,0,ne<<3|0)|0,g[hn>>2]=k,(k|0)>0)ot=C,Ct=_e,Nt=Zr,Wt=te,re=We,ne=$e,C=Le,_e=S,te=we,We=er,Le=ot,S=Ct,Zr=je,je=Nt,we=Wt,er=re,$e=Ut,Ut=ne;else break t}return Gr(we),Gr(je),Gr(yn),yn=-1,wt=Or,yn|0}else S=ot;while(!1);return Gr(yn),Gr(C),Gr(S),yn=0,wt=Or,yn|0}function i0(p,m,y,S,C,k){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0;var L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0;if(qi=wt,wt=wt+48|0,er=qi+32|0,we=qi+16|0,je=qi,L=g[p>>2]|0,(L|0)<=0)return Zr=0,wt=qi,Zr|0;We=p+4|0,te=er+8|0,_e=we+8|0,Ut=je+8|0,$e=((m|0)<0)<<31>>31,Le=0;t:for(;;){z=g[We>>2]|0,re=z+(Le<<4)|0,g[er>>2]=g[re>>2],g[er+4>>2]=g[re+4>>2],g[er+8>>2]=g[re+8>>2],g[er+12>>2]=g[re+12>>2],(Le|0)==(L+-1|0)?(g[we>>2]=g[z>>2],g[we+4>>2]=g[z+4>>2],g[we+8>>2]=g[z+8>>2],g[we+12>>2]=g[z+12>>2]):(re=z+(Le+1<<4)|0,g[we>>2]=g[re>>2],g[we+4>>2]=g[re+4>>2],g[we+8>>2]=g[re+8>>2],g[we+12>>2]=g[re+12>>2]),re=la(er,we,y)|0;e:do if((re|0)>0){ne=+(re|0),Wt=0;r:for(;;){hn=+(re-Wt|0),Ei=+(Wt|0),Tt[je>>3]=+Tt[er>>3]*hn/ne+ +Tt[we>>3]*Ei/ne,Tt[Ut>>3]=+Tt[te>>3]*hn/ne+ +Tt[_e>>3]*Ei/ne,Ct=lA(je,y)|0,Nt=It()|0,z=Yo(Ct|0,Nt|0,m|0,$e|0)|0,It()|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0;i:do if((it|0)==0&(H|0)==0)Zr=14;else for(ot=0;;){if((ot|0)>(m|0)){L=1;break i}if((it|0)==(Ct|0)&(H|0)==(Nt|0)){L=7;break i}if(z=(z+1|0)%(m|0)|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0){Zr=14;break}else ot=ot+1|0}while(!1);switch((Zr|0)==14&&(Zr=0,(Ct|0)==0&(Nt|0)==0?L=7:(g[L>>2]=Ct,g[L+4>>2]=Nt,L=g[S>>2]|0,ot=C+(L<<3)|0,g[ot>>2]=Ct,g[ot+4>>2]=Nt,g[S>>2]=L+1,L=0)),L&7){case 7:case 0:break;default:break r}if(Wt=Wt+1|0,(re|0)<=(Wt|0)){Zr=8;break e}}if(L|0){L=-1,Zr=20;break t}}else Zr=8;while(!1);if((Zr|0)==8&&(Zr=0),Le=Le+1|0,L=g[p>>2]|0,(Le|0)>=(L|0)){L=0,Zr=20;break}}return(Zr|0)==20?(wt=qi,L|0):0}function Cn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+176|0,H=it,(m|0)<1){vu(y,0,0),wt=it;return}L=p,L=me(g[L>>2]|0,g[L+4>>2]|0,52)|0,It()|0,vu(y,(m|0)>6?m:6,L&15),L=0;do{if(S=p+(L<<3)|0,d(g[S>>2]|0,g[S+4>>2]|0,H),S=g[H>>2]|0,(S|0)>0){z=0;do k=H+8+(z<<4)|0,z=z+1|0,S=H+8+(((z|0)%(S|0)|0)<<4)|0,C=yh(y,S,k)|0,C?Ps(y,C)|0:Eo(y,k,S)|0,S=g[H>>2]|0;while((z|0)<(S|0))}L=L+1|0}while((L|0)!=(m|0));wt=it}function ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=wt,wt=wt+32|0,S=k,C=k+16|0,Cn(p,m,C),g[y>>2]=0,g[y+4>>2]=0,g[y+8>>2]=0,p=Ws(C)|0,!p){Ht(y)|0,_h(C),wt=k;return}do{m=yt(y)|0;do dt(m,p)|0,L=p+16|0,g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],g[S+12>>2]=g[L+12>>2],Ps(C,p)|0,p=Fn(C,S)|0;while(p|0);p=Ws(C)|0}while(p|0);Ht(y)|0,_h(C),wt=k}function fi(p){return p=p|0,g[7728+(p*28|0)+16>>2]|0}function mu(p){return p=p|0,(p|0)==4|(p|0)==117|0}function vf(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)>>2]|0}function Kp(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)+4>>2]|0}function lh(p,m){p=p|0,m=m|0,p=7728+(p*28|0)|0,g[m>>2]=g[p>>2],g[m+4>>2]=g[p+4>>2],g[m+8>>2]=g[p+8>>2],g[m+12>>2]=g[p+12>>2]}function Ld(p,m){p=p|0,m=m|0;var y=0,S=0;if(m>>>0>20)return m=-1,m|0;do if((g[11152+(m*216|0)>>2]|0)!=(p|0))if((g[11152+(m*216|0)+8>>2]|0)!=(p|0))if((g[11152+(m*216|0)+16>>2]|0)!=(p|0))if((g[11152+(m*216|0)+24>>2]|0)!=(p|0))if((g[11152+(m*216|0)+32>>2]|0)!=(p|0))if((g[11152+(m*216|0)+40>>2]|0)!=(p|0))if((g[11152+(m*216|0)+48>>2]|0)!=(p|0))if((g[11152+(m*216|0)+56>>2]|0)!=(p|0))if((g[11152+(m*216|0)+64>>2]|0)!=(p|0))if((g[11152+(m*216|0)+72>>2]|0)!=(p|0))if((g[11152+(m*216|0)+80>>2]|0)!=(p|0))if((g[11152+(m*216|0)+88>>2]|0)!=(p|0))if((g[11152+(m*216|0)+96>>2]|0)!=(p|0))if((g[11152+(m*216|0)+104>>2]|0)!=(p|0))if((g[11152+(m*216|0)+112>>2]|0)!=(p|0))if((g[11152+(m*216|0)+120>>2]|0)!=(p|0))if((g[11152+(m*216|0)+128>>2]|0)!=(p|0))if((g[11152+(m*216|0)+136>>2]|0)==(p|0))p=2,y=1,S=2;else{if((g[11152+(m*216|0)+144>>2]|0)==(p|0)){p=0,y=2,S=0;break}if((g[11152+(m*216|0)+152>>2]|0)==(p|0)){p=0,y=2,S=1;break}if((g[11152+(m*216|0)+160>>2]|0)==(p|0)){p=0,y=2,S=2;break}if((g[11152+(m*216|0)+168>>2]|0)==(p|0)){p=1,y=2,S=0;break}if((g[11152+(m*216|0)+176>>2]|0)==(p|0)){p=1,y=2,S=1;break}if((g[11152+(m*216|0)+184>>2]|0)==(p|0)){p=1,y=2,S=2;break}if((g[11152+(m*216|0)+192>>2]|0)==(p|0)){p=2,y=2,S=0;break}if((g[11152+(m*216|0)+200>>2]|0)==(p|0)){p=2,y=2,S=1;break}if((g[11152+(m*216|0)+208>>2]|0)==(p|0)){p=2,y=2,S=2;break}else p=-1;return p|0}else p=2,y=1,S=1;else p=2,y=1,S=0;else p=1,y=1,S=2;else p=1,y=1,S=1;else p=1,y=1,S=0;else p=0,y=1,S=2;else p=0,y=1,S=1;else p=0,y=1,S=0;else p=2,y=0,S=2;else p=2,y=0,S=1;else p=2,y=0,S=0;else p=1,y=0,S=2;else p=1,y=0,S=1;else p=1,y=0,S=0;else p=0,y=0,S=2;else p=0,y=0,S=1;else p=0,y=0,S=0;while(!1);return m=g[11152+(m*216|0)+(y*72|0)+(p*24|0)+(S<<3)+4>>2]|0,m|0}function ch(p,m){return p=p|0,m=m|0,(g[7728+(p*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(g[7728+(p*28|0)+24>>2]|0)==(m|0),m|0)}function Jp(p,m){return p=p|0,m=m|0,g[880+(p*28|0)+(m<<2)>>2]|0}function tA(p,m){return p=p|0,m=m|0,(g[880+(p*28|0)>>2]|0)==(m|0)?(m=0,m|0):(g[880+(p*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(g[880+(p*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(g[880+(p*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(g[880+(p*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(g[880+(p*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((g[880+(p*28|0)+24>>2]|0)==(m|0)?6:7)|0}function A_(){return 122}function m_(p){p=p|0;var m=0,y=0,S=0;m=0;do ke(m|0,0,45)|0,S=It()|0|134225919,y=p+(m<<3)|0,g[y>>2]=-1,g[y+4>>2]=S,m=m+1|0;while((m|0)!=122)}function n0(p){return p=p|0,+Tt[p+16>>3]<+Tt[p+24>>3]|0}function pl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return y=+Tt[m>>3],!(y>=+Tt[p+8>>3])||!(y<=+Tt[p>>3])?(m=0,m|0):(S=+Tt[p+16>>3],y=+Tt[p+24>>3],C=+Tt[m+8>>3],m=C>=y,p=C<=S&1,S>2]=0,k=k+4|0;while((k|0)<(z|0));return O(m,C),k=C,z=g[k>>2]|0,k=g[k+4>>2]|0,l(z,k,y),d(z,k,S),H=+Bc(y,S+8|0),Tt[y>>3]=+Tt[p>>3],k=y+8|0,Tt[k>>3]=+Tt[p+16>>3],Tt[S>>3]=+Tt[p+8>>3],z=S+8|0,Tt[z>>3]=+Tt[p+24>>3],it=+Bc(y,S),z=~~+Ji(+(it*it/+ml(+ +li(+((+Tt[k>>3]-+Tt[z>>3])/(+Tt[y>>3]-+Tt[S>>3]))),3)/(H*(H*2.59807621135)*.8))),wt=L,(z|0?z:1)|0}function la(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;z=wt,wt=wt+288|0,S=z+264|0,C=z+96|0,k=z,L=k,H=L+96|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(H|0));return O(y,k),H=k,L=g[H>>2]|0,H=g[H+4>>2]|0,l(L,H,S),d(L,H,C),it=+Bc(S,C+8|0),H=~~+Ji(+(+Bc(p,m)/(it*2))),wt=z,(H|0?H:1)|0}function kd(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0,g[p>>2]=m,g[p+4>>2]=y,g[p+8>>2]=S}function g_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;Ct=m+8|0,g[Ct>>2]=0,H=+Tt[p>>3],L=+li(+H),it=+Tt[p+8>>3],z=+li(+it)/.8660254037844386,L=L+z*.5,y=~~L,p=~~z,L=L-+(y|0),z=z-+(p|0);do if(L<.5)if(L<.3333333333333333)if(g[m>>2]=y,z<(L+1)*.5){g[m+4>>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}else if(Nt=1-L,p=(!(z>2]=p,Nt<=z&z>2]=y;break}else{g[m>>2]=y;break}else{if(!(L<.6666666666666666))if(y=y+1|0,g[m>>2]=y,z>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}if(z<1-L){if(g[m+4>>2]=p,L*2+-1>2]=y;break}}else p=p+1|0,g[m+4>>2]=p;y=y+1|0,g[m>>2]=y}while(!1);do if(H<0)if(p&1){ot=(p+1|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-((+(ot>>>0)+4294967296*+(It()|0))*2+1)),g[m>>2]=y;break}else{ot=(p|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-(+(ot>>>0)+4294967296*+(It()|0))*2),g[m>>2]=y;break}while(!1);ot=m+4|0,it<0&&(y=y-((p<<1|1|0)/2|0)|0,g[m>>2]=y,p=0-p|0,g[ot>>2]=p),S=p-y|0,(y|0)<0?(C=0-y|0,g[ot>>2]=S,g[Ct>>2]=C,g[m>>2]=0,p=S,y=0):C=0,(p|0)<0&&(y=y-p|0,g[m>>2]=y,C=C-p|0,g[Ct>>2]=C,g[ot>>2]=0,p=0),k=y-C|0,S=p-C|0,(C|0)<0&&(g[m>>2]=k,g[ot>>2]=S,g[Ct>>2]=0,p=S,y=k,C=0),S=(p|0)<(y|0)?p:y,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[m>>2]=y-S,g[ot>>2]=p-S,g[Ct>>2]=C-S)}function js(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,(m|0)<0&&(y=y-m|0,g[L>>2]=y,k=p+8|0,g[k>>2]=(g[k>>2]|0)-m,g[p>>2]=0,m=0),(y|0)<0?(m=m-y|0,g[p>>2]=m,k=p+8|0,C=(g[k>>2]|0)-y|0,g[k>>2]=C,g[L>>2]=0,y=0):(C=p+8|0,k=C,C=g[C>>2]|0),(C|0)<0&&(m=m-C|0,g[p>>2]=m,y=y-C|0,g[L>>2]=y,g[k>>2]=0,C=0),S=(y|0)<(m|0)?y:m,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[p>>2]=m-S,g[L>>2]=y-S,g[k>>2]=C-S)}function gu(p,m){p=p|0,m=m|0;var y=0,S=0;S=g[p+8>>2]|0,y=+((g[p+4>>2]|0)-S|0),Tt[m>>3]=+((g[p>>2]|0)-S|0)-y*.5,Tt[m+8>>3]=y*.8660254037844386}function Ln(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[m>>2]|0)+(g[p>>2]|0),g[y+4>>2]=(g[m+4>>2]|0)+(g[p+4>>2]|0),g[y+8>>2]=(g[m+8>>2]|0)+(g[p+8>>2]|0)}function eA(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[p>>2]|0)-(g[m>>2]|0),g[y+4>>2]=(g[p+4>>2]|0)-(g[m+4>>2]|0),g[y+8>>2]=(g[p+8>>2]|0)-(g[m+8>>2]|0)}function ca(p,m){p=p|0,m=m|0;var y=0,S=0;y=Oc(g[p>>2]|0,m)|0,g[p>>2]=y,y=p+4|0,S=Oc(g[y>>2]|0,m)|0,g[y>>2]=S,p=p+8|0,m=Oc(g[p>>2]|0,m)|0,g[p>>2]=m}function Fa(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=g[p>>2]|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(k?0-S|0:0)+((g[p+8>>2]|0)-(z?L:0))|0,y=(C|0)<0,p=y?0:C,m=(k?0:S)-(y?C:0)|0,C=(z?0:L)-(k?S:0)-(y?C:0)|0,y=(m|0)<(C|0)?m:C,y=(p|0)<(y|0)?p:y,S=(y|0)>0,p=p-(S?y:0)|0,m=m-(S?y:0)|0;t:do switch(C-(S?y:0)|0){case 0:switch(m|0){case 0:return z=p|0?(p|0)==1?1:7:0,z|0;case 1:return z=p|0?(p|0)==1?3:7:2,z|0;default:break t}case 1:switch(m|0){case 0:return z=p|0?(p|0)==1?5:7:4,z|0;case 1:{if(!p)p=6;else break t;return p|0}default:break t}default:}while(!1);return z=7,z|0}function Rd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m*3|0)-y|0)/7)|0,g[p>>2]=S,m=_n(+((y<<1)+m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function Al(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m<<1)+y|0)/7)|0,g[p>>2]=S,m=_n(+((y*3|0)-m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function za(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m*3|0)|0,g[p>>2]=C,y=S+(y*3|0)|0,g[L>>2]=y,m=(S*3|0)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function hh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m*3|0)+C|0,C=y+(C*3|0)|0,g[p>>2]=C,g[L>>2]=S,m=(y*3|0)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function rA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;(m+-1|0)>>>0>=6||(C=(g[15472+(m*12|0)>>2]|0)+(g[p>>2]|0)|0,g[p>>2]=C,z=p+4|0,S=(g[15472+(m*12|0)+4>>2]|0)+(g[z>>2]|0)|0,g[z>>2]=S,L=p+8|0,m=(g[15472+(m*12|0)+8>>2]|0)+(g[L>>2]|0)|0,g[L>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[z>>2]=y,g[L>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[L>>2]=m,g[z>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[z>>2]=C-y,g[L>>2]=m-y))}function s0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=m+C|0,C=y+C|0,g[p>>2]=C,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function fh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,S=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,C=S+m|0,g[p>>2]=C,S=y+S|0,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Na(p){switch(p=p|0,p|0){case 1:{p=5;break}case 5:{p=4;break}case 4:{p=6;break}case 6:{p=2;break}case 2:{p=3;break}case 3:{p=1;break}default:}return p|0}function co(p){switch(p=p|0,p|0){case 1:{p=3;break}case 3:{p=2;break}case 2:{p=6;break}case 6:{p=4;break}case 4:{p=5;break}case 5:{p=1;break}default:}return p|0}function Ge(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m<<1)|0,g[p>>2]=C,y=S+(y<<1)|0,g[L>>2]=y,m=(S<<1)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Dd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m<<1)+C|0,C=y+(C<<1)|0,g[p>>2]=C,g[L>>2]=S,m=(y<<1)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function Hl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;return L=(g[p>>2]|0)-(g[m>>2]|0)|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(g[m+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(z?0-L|0:0)+(g[p+8>>2]|0)-(g[m+8>>2]|0)+(k?0-S|0:0)|0,p=(C|0)<0,m=p?0:C,y=(k?0:S)-(p?C:0)|0,C=(z?0:L)-(k?S:0)-(p?C:0)|0,p=(y|0)<(C|0)?y:C,p=(m|0)<(p|0)?m:p,S=(p|0)>0,m=m-(S?p:0)|0,y=y-(S?p:0)|0,p=C-(S?p:0)|0,p=(p|0)>-1?p:0-p|0,y=(y|0)>-1?y:0-y|0,m=(m|0)>-1?m:0-m|0,m=(y|0)>(m|0)?y:m,((p|0)>(m|0)?p:m)|0}function xf(p,m){p=p|0,m=m|0;var y=0;y=g[p+8>>2]|0,g[m>>2]=(g[p>>2]|0)-y,g[m+4>>2]=(g[p+4>>2]|0)-y}function __(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;S=g[p>>2]|0,g[m>>2]=S,p=g[p+4>>2]|0,L=m+4|0,g[L>>2]=p,z=m+8|0,g[z>>2]=0,y=p-S|0,(S|0)<0?(p=0-S|0,g[L>>2]=y,g[z>>2]=p,g[m>>2]=0,S=0):(y=p,p=0),(y|0)<0&&(S=S-y|0,g[m>>2]=S,p=p-y|0,g[z>>2]=p,g[L>>2]=0,y=0),k=S-p|0,C=y-p|0,(p|0)<0?(g[m>>2]=k,g[L>>2]=C,g[z>>2]=0,y=C,C=k,p=0):C=S,S=(y|0)<(C|0)?y:C,S=(p|0)<(S|0)?p:S,!((S|0)<=0)&&(g[m>>2]=C-S,g[L>>2]=y-S,g[z>>2]=p-S)}function Oe(p){p=p|0;var m=0,y=0,S=0,C=0;m=p+8|0,C=g[m>>2]|0,y=C-(g[p>>2]|0)|0,g[p>>2]=y,S=p+4|0,p=(g[S>>2]|0)-C|0,g[S>>2]=p,g[m>>2]=0-(p+y)}function o0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;y=g[p>>2]|0,m=0-y|0,g[p>>2]=m,L=p+8|0,g[L>>2]=0,z=p+4|0,S=g[z>>2]|0,C=S+y|0,(y|0)>0?(g[z>>2]=C,g[L>>2]=y,g[p>>2]=0,m=0,S=C):y=0,(S|0)<0?(k=m-S|0,g[p>>2]=k,y=y-S|0,g[L>>2]=y,g[z>>2]=0,C=k-y|0,m=0-y|0,(y|0)<0?(g[p>>2]=C,g[z>>2]=m,g[L>>2]=0,S=m,y=0):(S=0,C=k)):C=m,m=(S|0)<(C|0)?S:C,m=(y|0)<(m|0)?y:m,!((m|0)<=0)&&(g[p>>2]=C-m,g[z>>2]=S-m,g[L>>2]=y-m)}function a0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,zx(p,m,y,C),g_(C,y+4|0),wt=S}function zx(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0;if(H=wt,wt=wt+32|0,k=H,ql(p,k),g[y>>2]=0,C=+jr(15888,k),L=+jr(15912,k),L>2]=1,C=L),L=+jr(15936,k),L>2]=2,C=L),L=+jr(15960,k),L>2]=3,C=L),L=+jr(15984,k),L>2]=4,C=L),L=+jr(16008,k),L>2]=5,C=L),L=+jr(16032,k),L>2]=6,C=L),L=+jr(16056,k),L>2]=7,C=L),L=+jr(16080,k),L>2]=8,C=L),L=+jr(16104,k),L>2]=9,C=L),L=+jr(16128,k),L>2]=10,C=L),L=+jr(16152,k),L>2]=11,C=L),L=+jr(16176,k),L>2]=12,C=L),L=+jr(16200,k),L>2]=13,C=L),L=+jr(16224,k),L>2]=14,C=L),L=+jr(16248,k),L>2]=15,C=L),L=+jr(16272,k),L>2]=16,C=L),L=+jr(16296,k),L>2]=17,C=L),L=+jr(16320,k),L>2]=18,C=L),L=+jr(16344,k),L>2]=19,C=L),L=+_f(+(1-C*.5)),L<1e-16){g[S>>2]=0,g[S+4>>2]=0,g[S+8>>2]=0,g[S+12>>2]=0,wt=H;return}if(y=g[y>>2]|0,C=+Tt[16368+(y*24|0)>>3],C=+ph(C-+ph(+Od(15568+(y<<4)|0,p))),Ho(m)|0?z=+ph(C+-.3334731722518321):z=C,C=+To(+L)/.381966011250105,(m|0)>0){k=0;do C=C*2.6457513110645907,k=k+1|0;while((k|0)!=(m|0))}L=+Ur(+z)*C,Tt[S>>3]=L,z=+hi(+z)*C,Tt[S+8>>3]=z,wt=H}function dh(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;if(k=+hs(p),k<1e-16){m=15568+(m<<4)|0,g[C>>2]=g[m>>2],g[C+4>>2]=g[m+4>>2],g[C+8>>2]=g[m+8>>2],g[C+12>>2]=g[m+12>>2];return}if(L=+qr(+ +Tt[p+8>>3],+ +Tt[p>>3]),(y|0)>0){p=0;do k=k/2.6457513110645907,p=p+1|0;while((p|0)!=(y|0))}S?(k=k/3,y=(Ho(y)|0)==0,k=+Md(+((y?k:k/2.6457513110645907)*.381966011250105))):(k=+Md(+(k*.381966011250105)),Ho(y)|0&&(L=+ph(L+.3334731722518321))),f0(15568+(m<<4)|0,+ph(+Tt[16368+(m*24|0)>>3]-L),k,C)}function y_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,gu(p+4|0,C),dh(C,g[p>>2]|0,m,0,y),wt=S}function l0(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Sn=wt,wt=wt+272|0,k=Sn+256|0,te=Sn+240|0,Ei=Sn,hn=Sn+224|0,Pi=Sn+208|0,_e=Sn+176|0,Ut=Sn+160|0,$e=Sn+192|0,er=Sn+144|0,we=Sn+128|0,je=Sn+112|0,Zr=Sn+96|0,qi=Sn+80|0,g[k>>2]=m,g[te>>2]=g[p>>2],g[te+4>>2]=g[p+4>>2],g[te+8>>2]=g[p+8>>2],g[te+12>>2]=g[p+12>>2],c0(te,k,Ei),g[C>>2]=0,te=S+y+((S|0)==5&1)|0,(te|0)<=(y|0)){wt=Sn;return}H=g[k>>2]|0,it=hn+4|0,ot=_e+4|0,Ct=y+5|0,Nt=16848+(H<<2)|0,Wt=16928+(H<<2)|0,re=we+8|0,ne=je+8|0,Le=Zr+8|0,We=Pi+4|0,z=y;t:for(;;){L=Ei+(((z|0)%5|0)<<4)|0,g[Pi>>2]=g[L>>2],g[Pi+4>>2]=g[L+4>>2],g[Pi+8>>2]=g[L+8>>2],g[Pi+12>>2]=g[L+12>>2];do;while((bf(Pi,H,0,1)|0)==2);if((z|0)>(y|0)&(Ho(m)|0)!=0){if(g[_e>>2]=g[Pi>>2],g[_e+4>>2]=g[Pi+4>>2],g[_e+8>>2]=g[Pi+8>>2],g[_e+12>>2]=g[Pi+12>>2],gu(it,Ut),S=g[_e>>2]|0,k=g[17008+(S*80|0)+(g[hn>>2]<<2)>>2]|0,g[_e>>2]=g[18608+(S*80|0)+(k*20|0)>>2],L=g[18608+(S*80|0)+(k*20|0)+16>>2]|0,(L|0)>0){p=0;do s0(ot),p=p+1|0;while((p|0)<(L|0))}switch(L=18608+(S*80|0)+(k*20|0)+4|0,g[$e>>2]=g[L>>2],g[$e+4>>2]=g[L+4>>2],g[$e+8>>2]=g[L+8>>2],ca($e,(g[Nt>>2]|0)*3|0),Ln(ot,$e,ot),js(ot),gu(ot,er),yn=+(g[Wt>>2]|0),Tt[we>>3]=yn*3,Tt[re>>3]=0,Or=yn*-1.5,Tt[je>>3]=Or,Tt[ne>>3]=yn*2.598076211353316,Tt[Zr>>3]=Or,Tt[Le>>3]=yn*-2.598076211353316,g[17008+((g[_e>>2]|0)*80|0)+(g[Pi>>2]<<2)>>2]|0){case 1:{p=je,S=we;break}case 3:{p=Zr,S=je;break}case 2:{p=we,S=Zr;break}default:{p=12;break t}}Bn(Ut,er,S,p,qi),dh(qi,g[_e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1}if((z|0)<(Ct|0)&&(gu(We,_e),dh(_e,g[Pi>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),g[hn>>2]=g[Pi>>2],g[hn+4>>2]=g[Pi+4>>2],g[hn+8>>2]=g[Pi+8>>2],g[hn+12>>2]=g[Pi+12>>2],z=z+1|0,(z|0)>=(te|0)){p=3;break}}if((p|0)==3){wt=Sn;return}else(p|0)==12&&Mi(22474,22521,581,22531)}function c0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+128|0,S=H+64|0,C=H,k=S,L=20208,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20272,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],y=y+68|0,Ln(C,S+48|0,y),js(y),wt=H}function bf(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(re=wt,wt=wt+32|0,Nt=re+12|0,z=re,Wt=p+4|0,Ct=g[16928+(m<<2)>>2]|0,ot=(S|0)!=0,Ct=ot?Ct*3|0:Ct,C=g[Wt>>2]|0,it=p+8|0,L=g[it>>2]|0,ot){if(k=p+12|0,S=g[k>>2]|0,C=L+C+S|0,(C|0)==(Ct|0))return Wt=1,wt=re,Wt|0;H=k}else H=p+12|0,S=g[H>>2]|0,C=L+C+S|0;if((C|0)<=(Ct|0))return Wt=0,wt=re,Wt|0;do if((S|0)>0){if(S=g[p>>2]|0,(L|0)>0){k=18608+(S*80|0)+60|0,S=p;break}S=18608+(S*80|0)+40|0,y?(kd(Nt,Ct,0,0),eA(Wt,Nt,z),fh(z),Ln(z,Nt,Wt),k=S,S=p):(k=S,S=p)}else k=18608+((g[p>>2]|0)*80|0)+20|0,S=p;while(!1);if(g[S>>2]=g[k>>2],C=k+16|0,(g[C>>2]|0)>0){S=0;do s0(Wt),S=S+1|0;while((S|0)<(g[C>>2]|0))}return p=k+4|0,g[Nt>>2]=g[p>>2],g[Nt+4>>2]=g[p+4>>2],g[Nt+8>>2]=g[p+8>>2],m=g[16848+(m<<2)>>2]|0,ca(Nt,ot?m*3|0:m),Ln(Wt,Nt,Wt),js(Wt),ot?S=((g[it>>2]|0)+(g[Wt>>2]|0)+(g[H>>2]|0)|0)==(Ct|0)?1:2:S=2,Wt=S,wt=re,Wt|0}function u0(p,m){p=p|0,m=m|0;var y=0;do y=bf(p,m,0,1)|0;while((y|0)==2);return y|0}function iA(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0;if(Zr=wt,wt=wt+240|0,k=Zr+224|0,$e=Zr+208|0,er=Zr,we=Zr+192|0,je=Zr+176|0,Le=Zr+160|0,We=Zr+144|0,te=Zr+128|0,_e=Zr+112|0,Ut=Zr+96|0,g[k>>2]=m,g[$e>>2]=g[p>>2],g[$e+4>>2]=g[p+4>>2],g[$e+8>>2]=g[p+8>>2],g[$e+12>>2]=g[p+12>>2],nA($e,k,er),g[C>>2]=0,ne=S+y+((S|0)==6&1)|0,(ne|0)<=(y|0)){wt=Zr;return}H=g[k>>2]|0,it=y+6|0,ot=16928+(H<<2)|0,Ct=We+8|0,Nt=te+8|0,Wt=_e+8|0,re=we+4|0,L=0,z=y,S=-1;t:for(;;){if(k=(z|0)%6|0,p=er+(k<<4)|0,g[we>>2]=g[p>>2],g[we+4>>2]=g[p+4>>2],g[we+8>>2]=g[p+8>>2],g[we+12>>2]=g[p+12>>2],p=L,L=bf(we,H,0,1)|0,(z|0)>(y|0)&(Ho(m)|0)!=0&&(p|0)!=1&&(g[we>>2]|0)!=(S|0)){switch(gu(er+(((k+5|0)%6|0)<<4)+4|0,je),gu(er+(k<<4)+4|0,Le),qi=+(g[ot>>2]|0),Tt[We>>3]=qi*3,Tt[Ct>>3]=0,Ei=qi*-1.5,Tt[te>>3]=Ei,Tt[Nt>>3]=qi*2.598076211353316,Tt[_e>>3]=Ei,Tt[Wt>>3]=qi*-2.598076211353316,k=g[$e>>2]|0,g[17008+(k*80|0)+(((S|0)==(k|0)?g[we>>2]|0:S)<<2)>>2]|0){case 1:{p=te,S=We;break}case 3:{p=_e,S=te;break}case 2:{p=We,S=_e;break}default:{p=8;break t}}Bn(je,Le,S,p,Ut),!(qo(je,Ut)|0)&&!(qo(Le,Ut)|0)&&(dh(Ut,g[$e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1)}if((z|0)<(it|0)&&(gu(re,je),dh(je,g[we>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),z=z+1|0,(z|0)>=(ne|0)){p=3;break}else S=g[we>>2]|0}if((p|0)==3){wt=Zr;return}else(p|0)==8&&Mi(22557,22521,746,22602)}function nA(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+160|0,S=H+80|0,C=H,k=S,L=20336,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20416,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],m=y+68|0,Ln(C,S+48|0,m),js(m),g[y+80>>2]=g[p>>2],y=y+84|0,Ln(C,S+60|0,y),js(y),wt=H}function ph(p){p=+p;var m=0;return m=p<0?p+6.283185307179586:p,+(p>=6.283185307179586?m+-6.283185307179586:m)}function us(p,m){return p=p|0,m=m|0,+li(+(+Tt[p>>3]-+Tt[m>>3]))<17453292519943298e-27?(m=+li(+(+Tt[p+8>>3]-+Tt[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function _u(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2)}function Bc(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475)}function h0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475*1e3)}function Od(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;return k=+Tt[m>>3],S=+Ur(+k),C=+Tt[m+8>>3]-+Tt[p+8>>3],L=S*+hi(+C),y=+Tt[p>>3],+ +qr(+L,+(+hi(+k)*+Ur(+y)-+Ur(+C)*(S*+hi(+y))))}function f0(p,m,y,S){p=p|0,m=+m,y=+y,S=S|0;var C=0,k=0,L=0,z=0;if(y<1e-16){g[S>>2]=g[p>>2],g[S+4>>2]=g[p+4>>2],g[S+8>>2]=g[p+8>>2],g[S+12>>2]=g[p+12>>2];return}k=m<0?m+6.283185307179586:m,k=m>=6.283185307179586?k+-6.283185307179586:k;do if(k<1e-16)m=+Tt[p>>3]+y,Tt[S>>3]=m,C=S;else{if(C=+li(+(k+-3.141592653589793))<1e-16,m=+Tt[p>>3],C){m=m-y,Tt[S>>3]=m,C=S;break}if(L=+Ur(+y),y=+hi(+y),m=L*+hi(+m)+ +Ur(+k)*(y*+Ur(+m)),m=m>1?1:m,m=+h_(+(m<-1?-1:m)),Tt[S>>3]=m,+li(+(m+-1.5707963267948966))<1e-16){Tt[S>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[S>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(z=+Ur(+m),k=y*+hi(+k)/z,y=+Tt[p>>3],m=(L-+hi(+m)*+hi(+y))/+Ur(+y)/z,L=k>1?1:k,m=m>1?1:m,m=+Tt[p+8>>3]+ +qr(+(L<-1?-1:L),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m;return}while(!1);if(+li(+(m+-1.5707963267948966))<1e-16){Tt[C>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[C>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(m=+Tt[p+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m}function v_(p){return p=p|0,+ +Tt[20496+(p<<3)>>3]}function ua(p){return p=p|0,+ +Tt[20624+(p<<3)>>3]}function un(p){return p=p|0,+ +Tt[20752+(p<<3)>>3]}function sA(p){return p=p|0,+ +Tt[20880+(p<<3)>>3]}function d0(p){p=p|0;var m=0;return m=21008+(p<<3)|0,p=g[m>>2]|0,Je(g[m+4>>2]|0),p|0}function Ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;return Nt=+Tt[m>>3],ot=+Tt[p>>3],H=+hi(+((Nt-ot)*.5)),k=+Tt[m+8>>3],it=+Tt[p+8>>3],L=+hi(+((k-it)*.5)),z=+Ur(+ot),Ct=+Ur(+Nt),L=H*H+L*(Ct*z*L),L=+qr(+ +bn(+L),+ +bn(+(1-L)))*2,H=+Tt[y>>3],Nt=+hi(+((H-Nt)*.5)),S=+Tt[y+8>>3],k=+hi(+((S-k)*.5)),C=+Ur(+H),k=Nt*Nt+k*(Ct*C*k),k=+qr(+ +bn(+k),+ +bn(+(1-k)))*2,H=+hi(+((ot-H)*.5)),S=+hi(+((it-S)*.5)),S=H*H+S*(z*C*S),S=+qr(+ +bn(+S),+ +bn(+(1-S)))*2,C=(L+k+S)*.5,+(+Md(+ +bn(+(+To(+(C*.5))*+To(+((C-L)*.5))*+To(+((C-k)*.5))*+To(+((C-S)*.5)))))*4)}function x_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)<=0)return y=0,wt=k,+y;if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)==1)return wt=k,+y;p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0));return wt=k,+y}function b_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475)}function Nx(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475*1e3*1e3)}function Mo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+S)*+Ur(+H)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)<(m|0));return wt=L,+y}function oA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475,wt=L,+it}function nr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475*1e3,wt=L,+it}function dr(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&15|0}function wf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,45)|0,It()|0,m&127|0}function aA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(!(!0&(m&-16777216|0)==134217728)||(L=me(p|0,m|0,45)|0,It()|0,L=L&127,L>>>0>121))return m=0,m|0;y=me(p|0,m|0,52)|0,It()|0,y=y&15;do if(y|0){for(C=1,S=0;;){if(k=me(p|0,m|0,(15-C|0)*3|0)|0,It()|0,k=k&7,(k|0)!=0&(S^1))if((k|0)==1&(fi(L)|0)!=0){z=0,S=13;break}else S=1;if((k|0)==7){z=0,S=13;break}if(C>>>0>>0)C=C+1|0;else{S=9;break}}if((S|0)==9){if((y|0)==15)z=1;else break;return z|0}else if((S|0)==13)return z|0}while(!1);for(;;){if(z=me(p|0,m|0,(14-y|0)*3|0)|0,It()|0,!((z&7|0)==7&!0)){z=0,S=13;break}if(y>>>0<14)y=y+1|0;else{z=1,S=13;break}}return(S|0)==13?z|0:0}function Bd(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(S|0)>=(y|0)){if((S|0)!=(y|0))if(y>>>0<=15){if(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)>(y|0))do C=ke(7,0,(14-y|0)*3|0)|0,y=y+1|0,p=C|p,m=It()|0|m;while((y|0)<(S|0))}else m=0,p=0}else m=0,p=0;return Je(m|0),p|0}function Hn(p,m,y){return p=p|0,m=m|0,y=y|0,p=me(p|0,m|0,52)|0,It()|0,p=p&15,(y|0)<16&(p|0)<=(y|0)?(y=Ze(7,y-p|0)|0,y|0):(y=0,y|0)}function uo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(L=me(p|0,m|0,52)|0,It()|0,L=L&15,!!((y|0)<16&(L|0)<=(y|0))){if((L|0)==(y|0)){y=S,g[y>>2]=p,g[y+4>>2]=m;return}if(H=Ze(7,y-L|0)|0,it=(H|0)/7|0,z=me(p|0,m|0,45)|0,It()|0,!(fi(z&127)|0))k=0;else{t:do if(!L)C=0;else for(k=1;;){if(C=me(p|0,m|0,(15-k|0)*3|0)|0,It()|0,C=C&7,C|0)break t;if(k>>>0>>0)k=k+1|0;else{C=0;break}}while(!1);k=(C|0)==0}if(ot=ke(L+1|0,0,52)|0,C=It()|0|m&-15728641,z=(14-L|0)*3|0,m=ke(7,0,z|0)|0,m=(ot|p)&~m,L=C&~(It()|0),uo(m,L,y,S),C=S+(it<<3)|0,!k){ot=ke(1,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(2,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0);return}k=C+(it<<3)|0,(H|0)>6&&(H=C+8|0,ot=(k>>>0>H>>>0?k:H)+-1+(0-C)|0,Fc(C|0,0,ot+8&-8|0)|0,C=H+(ot>>>3<<3)|0),ot=ke(2,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0)}}function ji(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,45)|0,It()|0,!(fi(C&127)|0))return C=0,C|0;C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)y=0;else for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0)break t;if(S>>>0>>0)S=S+1|0;else{y=0;break}}while(!1);return C=(y|0)==0&1,C|0}function w_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(y|0)<16&(S|0)<=(y|0)){if((S|0)!=(y|0)&&(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)<(y|0)))do C=ke(7,0,(14-S|0)*3|0)|0,S=S+1|0,p=p&~C,m=m&~(It()|0);while((S|0)<(y|0))}else m=0,p=0;return Je(m|0),p|0}function mh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0;if(!y)return we=0,we|0;if(C=p,S=g[C>>2]|0,C=g[C+4>>2]|0,!0&(C&15728640|0)==0){if((y|0)<=0||(we=m,g[we>>2]=S,g[we+4>>2]=C,(y|0)==1))return we=0,we|0;S=1;do $e=p+(S<<3)|0,er=g[$e+4>>2]|0,we=m+(S<<3)|0,g[we>>2]=g[$e>>2],g[we+4>>2]=er,S=S+1|0;while((S|0)!=(y|0));return S=0,S|0}if($e=y<<3,er=ho($e)|0,!er)return we=-3,we|0;if(Va(er|0,p|0,$e|0)|0,Ut=Ua(y,8)|0,!Ut)return Gr(er),we=-3,we|0;S=y;t:for(;;){L=er,ot=g[L>>2]|0,L=g[L+4>>2]|0,te=me(ot|0,L|0,52)|0,It()|0,te=te&15,_e=te+-1|0,We=(S|0)>0;e:do if(We){if(Le=((S|0)<0)<<31>>31,re=ke(_e|0,0,52)|0,ne=It()|0,_e>>>0>15)for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(k=me(p|0,y|0,52)|0,It()|0,k=k&15,z=(k|0)<(_e|0),k=(k|0)==(_e|0),it=z?0:k?p:0,p=z?0:k?y:0,y=Yo(it|0,p|0,S|0,Le|0)|0,It()|0,k=Ut+(y<<3)|0,z=k,H=g[z>>2]|0,z=g[z+4>>2]|0,(H|0)==0&(z|0)==0)y=it;else for(re=0,Wt=y,Nt=z,y=it;;){if((re|0)>(S|0)){we=41;break t}if((H|0)==(y|0)&(Nt&-117440513|0)==(p|0)){it=me(H|0,Nt|0,56)|0,It()|0,it=it&7,Ct=it+1|0,ne=me(H|0,Nt|0,45)|0,It()|0;r:do if(!(fi(ne&127)|0))z=7;else{if(H=me(H|0,Nt|0,52)|0,It()|0,H=H&15,!H){z=6;break}for(z=1;;){if(ne=ke(7,0,(15-z|0)*3|0)|0,!((ne&y|0)==0&((It()|0)&p|0)==0)){z=7;break r}if(z>>>0>>0)z=z+1|0;else{z=6;break}}}while(!1);if((it+2|0)>>>0>z>>>0){we=51;break t}ne=ke(Ct|0,0,56)|0,p=It()|0|p&-117440513,z=k,g[z>>2]=0,g[z+4>>2]=0,z=Wt,y=ne|y}else z=(Wt+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,Nt=k,H=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,(H|0)==0&(Nt|0)==0)break;re=re+1|0,Wt=z}ne=k,g[ne>>2]=y,g[ne+4>>2]=p}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(z=me(p|0,y|0,52)|0,It()|0,z=z&15,(z|0)>=(_e|0)){if((z|0)!=(_e|0)&&(p=p|re,y=y&-15728641|ne,z>>>0>=te>>>0)){k=_e;do Wt=ke(7,0,(14-k|0)*3|0)|0,k=k+1|0,p=Wt|p,y=It()|0|y;while(k>>>0>>0)}}else p=0,y=0;if(z=Yo(p|0,y|0,S|0,Le|0)|0,It()|0,k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,!((it|0)==0&(H|0)==0))for(Wt=0;;){if((Wt|0)>(S|0)){we=41;break t}if((it|0)==(p|0)&(H&-117440513|0)==(y|0)){Ct=me(it|0,H|0,56)|0,It()|0,Ct=Ct&7,Nt=Ct+1|0,je=me(it|0,H|0,45)|0,It()|0;r:do if(!(fi(je&127)|0))H=7;else{if(it=me(it|0,H|0,52)|0,It()|0,it=it&15,!it){H=6;break}for(H=1;;){if(je=ke(7,0,(15-H|0)*3|0)|0,!((je&p|0)==0&((It()|0)&y|0)==0)){H=7;break r}if(H>>>0>>0)H=H+1|0;else{H=6;break}}}while(!1);if((Ct+2|0)>>>0>H>>>0){we=51;break t}je=ke(Nt|0,0,56)|0,y=It()|0|y&-117440513,Nt=k,g[Nt>>2]=0,g[Nt+4>>2]=0,p=je|p}else z=(z+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0)break;Wt=Wt+1|0}je=k,g[je>>2]=p,g[je+4>>2]=y}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}}while(!1);if((S+5|0)>>>0<11){we=99;break}if(ne=Ua((S|0)/6|0,8)|0,!ne){we=58;break}e:do if(We){Wt=0,Nt=0;do{if(z=Ut+(Wt<<3)|0,p=z,C=g[p>>2]|0,p=g[p+4>>2]|0,!((C|0)==0&(p|0)==0)){H=me(C|0,p|0,56)|0,It()|0,H=H&7,y=H+1|0,it=p&-117440513,je=me(C|0,p|0,45)|0,It()|0;r:do if(fi(je&127)|0){if(Ct=me(C|0,p|0,52)|0,It()|0,Ct=Ct&15,Ct|0)for(k=1;;){if(je=ke(7,0,(15-k|0)*3|0)|0,!((C&je|0)==0&(it&(It()|0)|0)==0))break r;if(k>>>0>>0)k=k+1|0;else break}p=ke(y|0,0,56)|0,C=p|C,p=It()|0|it,y=z,g[y>>2]=C,g[y+4>>2]=p,y=H+2|0}while(!1);(y|0)==7&&(je=ne+(Nt<<3)|0,g[je>>2]=C,g[je+4>>2]=p&-117440513,Nt=Nt+1|0)}Wt=Wt+1|0}while((Wt|0)!=(S|0));if(We){if(re=((S|0)<0)<<31>>31,Ct=ke(_e|0,0,52)|0,Wt=It()|0,_e>>>0>15)for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){for(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,k=(H|0)<(_e|0),H=(H|0)==(_e|0),z=k?0:H?ot:0,H=k?0:H?L:0,k=Yo(z|0,H|0,S|0,re|0)|0,It()|0,y=0;;){if((y|0)>(S|0)){we=98;break t}if(je=Ut+(k<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(z|0)){we=70;break}if(k=(k+1|0)%(S|0)|0,je=Ut+(k<<3)|0,(g[je>>2]|0)==(z|0)&&(g[je+4>>2]|0)==(H|0))break;y=y+1|0}if((we|0)==70&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){if(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,(H|0)>=(_e|0))if((H|0)!=(_e|0))if(y=ot|Ct,k=L&-15728641|Wt,H>>>0>>0)H=k;else{z=_e;do je=ke(7,0,(14-z|0)*3|0)|0,z=z+1|0,y=je|y,k=It()|0|k;while(z>>>0>>0);H=k}else y=ot,H=L;else y=0,H=0;for(z=Yo(y|0,H|0,S|0,re|0)|0,It()|0,k=0;;){if((k|0)>(S|0)){we=98;break t}if(je=Ut+(z<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(y|0)){we=93;break}if(z=(z+1|0)%(S|0)|0,je=Ut+(z<<3)|0,(g[je>>2]|0)==(y|0)&&(g[je+4>>2]|0)==(H|0))break;k=k+1|0}if((we|0)==93&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}}else C=0,S=Nt}else C=0,S=0;while(!1);if(Fc(Ut|0,0,$e|0)|0,Va(er|0,ne|0,S<<3|0)|0,Gr(ne),S)m=m+(C<<3)|0;else break}return(we|0)==41?(Gr(er),Gr(Ut),je=-1,je|0):(we|0)==51?(Gr(er),Gr(Ut),je=-2,je|0):(we|0)==58?(Gr(er),Gr(Ut),je=-3,je|0):(we|0)==98?(Gr(ne),Gr(er),Gr(Ut),je=-1,je|0):((we|0)==99&&Va(m|0,er|0,S<<3|0)|0,Gr(er),Gr(Ut),je=0,je|0)}function kn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0;if((m|0)<=0)return C=0,C|0;if((C|0)>=16){for(k=0;;){if(ot=p+(k<<3)|0,!((g[ot>>2]|0)==0&(g[ot+4>>2]|0)==0)){k=14;break}if(k=k+1|0,(k|0)>=(m|0)){L=0,k=16;break}}if((k|0)==14)return((S|0)>0?-2:-1)|0;if((k|0)==16)return L|0}k=0,ot=0;t:for(;;){it=p+(ot<<3)|0,z=it,L=g[z>>2]|0,z=g[z+4>>2]|0;do if(!((L|0)==0&(z|0)==0)){if((k|0)>=(S|0)){L=-1,k=16;break t}if(H=me(L|0,z|0,52)|0,It()|0,H=H&15,(H|0)>(C|0)){L=-2,k=16;break t}if((H|0)==(C|0)){it=y+(k<<3)|0,g[it>>2]=L,g[it+4>>2]=z,k=k+1|0;break}if(L=(Ze(7,C-H|0)|0)+k|0,(L|0)>(S|0)){L=-1,k=16;break t}uo(g[it>>2]|0,g[it+4>>2]|0,C,y+(k<<3)|0),k=L}while(!1);if(ot=ot+1|0,(ot|0)>=(m|0)){L=0,k=16;break}}return(k|0)==16?L|0:0}function wn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if((m|0)<=0)return y=0,y|0;if((y|0)>=16){for(S=0;;){if(L=p+(S<<3)|0,!((g[L>>2]|0)==0&(g[L+4>>2]|0)==0)){S=-1,C=13;break}if(S=S+1|0,(S|0)>=(m|0)){S=0,C=13;break}}if((C|0)==13)return S|0}S=0,L=0;t:for(;;){C=p+(L<<3)|0,k=g[C>>2]|0,C=g[C+4>>2]|0;do if(!((k|0)==0&(C|0)==0)){if(C=me(k|0,C|0,52)|0,It()|0,C=C&15,(C|0)>(y|0)){S=-1,C=13;break t}if((C|0)==(y|0)){S=S+1|0;break}else{S=(Ze(7,y-C|0)|0)+S|0;break}}while(!1);if(L=L+1|0,(L|0)>=(m|0)){C=13;break}}return(C|0)==13?S|0:0}function Sf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&1|0}function Es(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,52)|0,It()|0,C=C&15,!C)return C=0,C|0;for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0){S=5;break}if(S>>>0>>0)S=S+1|0;else{y=0,S=5;break}}return(S|0)==5?y|0:0}function gh(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(Na(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(L=(15-y|0)*3|0,C=me(p|0,m|0,L|0)|0,It()|0,k=ke(7,0,L|0)|0,m=m&~(It()|0),L=ke(Na(C&7)|0,0,L|0)|0,p=p&~k|L,m=m|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Wo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;k=(15-y|0)*3|0,L=me(p|0,m|0,k|0)|0,It()|0,C=ke(7,0,k|0)|0,m=m&~(It()|0),k=ke(Na(L&7)|0,0,k|0)|0,p=k|p&~C,m=It()|0|m,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function p0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(co(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(C=(15-y|0)*3|0,k=ke(7,0,C|0)|0,L=m&~(It()|0),m=me(p|0,m|0,C|0)|0,It()|0,m=ke(co(m&7)|0,0,C|0)|0,p=p&~k|m,m=L|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Fd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;L=(15-y|0)*3|0,k=ke(7,0,L|0)|0,C=m&~(It()|0),m=me(p|0,m|0,L|0)|0,It()|0,m=ke(co(m&7)|0,0,L|0)|0,p=m|p&~k,m=It()|0|C,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function Tf(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(H=wt,wt=wt+64|0,z=H+40|0,S=H+24|0,C=H+12|0,k=H,ke(m|0,0,52)|0,y=It()|0|134225919,!m)return(g[p+4>>2]|0)>2||(g[p+8>>2]|0)>2||(g[p+12>>2]|0)>2?(L=0,z=0,Je(L|0),wt=H,z|0):(ke(vf(p)|0,0,45)|0,L=It()|0|y,z=-1,Je(L|0),wt=H,z|0);if(g[z>>2]=g[p>>2],g[z+4>>2]=g[p+4>>2],g[z+8>>2]=g[p+8>>2],g[z+12>>2]=g[p+12>>2],L=z+4|0,(m|0)>0)for(p=-1;g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],m&1?(Rd(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],za(C)):(Al(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],hh(C)),eA(S,C,k),js(k),ot=(15-m|0)*3|0,it=ke(7,0,ot|0)|0,y=y&~(It()|0),ot=ke(Fa(k)|0,0,ot|0)|0,p=ot|p&~it,y=It()|0|y,(m|0)>1;)m=m+-1|0;else p=-1;t:do if((g[L>>2]|0)<=2&&(g[z+8>>2]|0)<=2&&(g[z+12>>2]|0)<=2){if(S=vf(z)|0,m=ke(S|0,0,45)|0,m=m|p,p=It()|0|y&-1040385,k=Kp(z)|0,!(fi(S)|0)){if((k|0)<=0)break;for(C=0;;){if(S=me(m|0,p|0,52)|0,It()|0,S=S&15,S)for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0;if(C=C+1|0,(C|0)==(k|0))break t}}C=me(m|0,p|0,52)|0,It()|0,C=C&15;e:do if(C){y=1;r:for(;;){switch(ot=me(m|0,p|0,(15-y|0)*3|0)|0,It()|0,ot&7){case 1:break r;case 0:break;default:break e}if(y>>>0>>0)y=y+1|0;else break e}if(ch(S,g[z>>2]|0)|0)for(y=1;z=(15-y|0)*3|0,it=ke(7,0,z|0)|0,ot=p&~(It()|0),p=me(m|0,p|0,z|0)|0,It()|0,p=ke(co(p&7)|0,0,z|0)|0,m=m&~it|p,p=ot|(It()|0),y>>>0>>0;)y=y+1|0;else for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0}while(!1);if((k|0)>0){y=0;do m=gh(m,p)|0,p=It()|0,y=y+1|0;while((y|0)!=(k|0))}}else m=0,p=0;while(!1);return it=p,ot=m,Je(it|0),wt=H,ot|0}function Ho(p){return p=p|0,(p|0)%2|0|0}function lA(p,m){p=p|0,m=m|0;var y=0,S=0;return S=wt,wt=wt+16|0,y=S,m>>>0<=15&&(g[p+4>>2]&2146435072|0)!=2146435072&&(g[p+8+4>>2]&2146435072|0)!=2146435072?(a0(p,m,y),m=Tf(y,m)|0,p=It()|0):(p=0,m=0),Je(p|0),wt=S,m|0}function bi(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(C=y+4|0,k=me(p|0,m|0,52)|0,It()|0,k=k&15,L=me(p|0,m|0,45)|0,It()|0,S=(k|0)==0,fi(L&127)|0){if(S)return L=1,L|0;S=1}else{if(S)return L=0,L|0;!(g[C>>2]|0)&&!(g[y+8>>2]|0)?S=(g[y+12>>2]|0)!=0&1:S=1}for(y=1;y&1?za(C):hh(C),L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,rA(C,L&7),y>>>0>>0;)y=y+1|0;return S|0}function T(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;ot=wt,wt=wt+16|0,H=ot,it=me(p|0,m|0,45)|0,It()|0,it=it&127;t:do if(fi(it)|0&&(k=me(p|0,m|0,52)|0,It()|0,k=k&15,(k|0)!=0)){S=1;e:for(;;){switch(z=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,z&7){case 5:break e;case 0:break;default:{S=m;break t}}if(S>>>0>>0)S=S+1|0;else{S=m;break t}}for(C=1,S=m;m=(15-C|0)*3|0,L=ke(7,0,m|0)|0,z=S&~(It()|0),S=me(p|0,S|0,m|0)|0,It()|0,S=ke(co(S&7)|0,0,m|0)|0,p=p&~L|S,S=z|(It()|0),C>>>0>>0;)C=C+1|0}else S=m;while(!1);if(z=7728+(it*28|0)|0,g[y>>2]=g[z>>2],g[y+4>>2]=g[z+4>>2],g[y+8>>2]=g[z+8>>2],g[y+12>>2]=g[z+12>>2],!(bi(p,S,y)|0)){wt=ot;return}if(L=y+4|0,g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],k=me(p|0,S|0,52)|0,It()|0,z=k&15,k&1?(hh(L),k=z+1|0):k=z,!(fi(it)|0))S=0;else{t:do if(!z)S=0;else for(m=1;;){if(C=me(p|0,S|0,(15-m|0)*3|0)|0,It()|0,C=C&7,C|0){S=C;break t}if(m>>>0>>0)m=m+1|0;else{S=0;break}}while(!1);S=(S|0)==4&1}if(!(bf(y,k,S,0)|0))(k|0)!=(z|0)&&(g[L>>2]=g[H>>2],g[L+4>>2]=g[H+4>>2],g[L+8>>2]=g[H+8>>2]);else{if(fi(it)|0)do;while(bf(y,k,0,0)|0);(k|0)!=(z|0)&&Al(L)}wt=ot}function l(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,T(p,m,C),m=me(p|0,m|0,52)|0,It()|0,y_(C,m&15,y),wt=S}function d(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;L=wt,wt=wt+16|0,k=L,T(p,m,k),S=me(p|0,m|0,45)|0,It()|0,S=(fi(S&127)|0)==0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!S){if(C|0)for(S=1;;){if(z=ke(7,0,(15-S|0)*3|0)|0,!((z&p|0)==0&((It()|0)&m|0)==0))break t;if(S>>>0>>0)S=S+1|0;else break}l0(k,C,0,5,y),wt=L;return}while(!1);iA(k,C,0,6,y),wt=L}function v(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(S=me(p|0,m|0,45)|0,It()|0,!(fi(S&127)|0))return S=2,S|0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return S=5,S|0;for(y=1;;){if(C=ke(7,0,(15-y|0)*3|0)|0,!((C&p|0)==0&((It()|0)&m|0)==0)){y=2,p=6;break}if(y>>>0>>0)y=y+1|0;else{y=5,p=6;break}}return(p|0)==6?y|0:0}function b(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;Ct=wt,wt=wt+128|0,it=Ct+112|0,k=Ct+96|0,ot=Ct,C=me(p|0,m|0,52)|0,It()|0,z=C&15,g[it>>2]=z,L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){if(z|0)for(S=1;;){if(H=ke(7,0,(15-S|0)*3|0)|0,!((H&p|0)==0&((It()|0)&m|0)==0)){C=0;break t}if(S>>>0>>0)S=S+1|0;else break}if(C&1)C=1;else{H=ke(z+1|0,0,52)|0,ot=It()|0|m&-15728641,it=ke(7,0,(14-z|0)*3|0)|0,b((H|p)&~it,ot&~(It()|0),y),wt=Ct;return}}else C=0;while(!1);T(p,m,k),C?(c0(k,it,ot),H=5):(nA(k,it,ot),H=6);t:do if(fi(L)|0)if(!z)S=20;else for(S=1;;){if(L=ke(7,0,(15-S|0)*3|0)|0,!((L&p|0)==0&((It()|0)&m|0)==0)){S=8;break t}if(S>>>0>>0)S=S+1|0;else{S=20;break}}else S=8;while(!1);if(Fc(y|0,-1,S|0)|0,C){C=0;do{for(k=ot+(C<<4)|0,u0(k,g[it>>2]|0)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}else{C=0;do{for(k=ot+(C<<4)|0,bf(k,g[it>>2]|0,0,1)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}wt=Ct}function M(){return 12}function O(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(ke(p|0,0,52)|0,z=It()|0|134225919,(p|0)<1){S=0,y=0;do fi(S)|0&&(ke(S|0,0,45)|0,L=z|(It()|0),p=m+(y<<3)|0,g[p>>2]=-1,g[p+4>>2]=L,y=y+1|0),S=S+1|0;while((S|0)!=122);return}L=0,y=0;do{if(fi(L)|0){for(ke(L|0,0,45)|0,S=1,C=-1,k=z|(It()|0);H=ke(7,0,(15-S|0)*3|0)|0,C=C&~H,k=k&~(It()|0),(S|0)!=(p|0);)S=S+1|0;H=m+(y<<3)|0,g[H>>2]=C,g[H+4>>2]=k,y=y+1|0}L=L+1|0}while((L|0)!=122)}function B(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0;if(z=wt,wt=wt+64|0,L=z,(p|0)==(y|0)&(m|0)==(S|0)|(!1|(m&2013265920|0)!=134217728|(!1|(S&2013265920|0)!=134217728))||(C=me(p|0,m|0,52)|0,It()|0,C=C&15,k=me(y|0,S|0,52)|0,It()|0,(C|0)!=(k&15|0)))return L=0,wt=z,L|0;if(k=C+-1|0,C>>>0>1&&(it=Bd(p,m,k)|0,H=It()|0,k=Bd(y,S,k)|0,(it|0)==(k|0)&(H|0)==(It()|0))&&(k=(C^15)*3|0,C=me(p|0,m|0,k|0)|0,It()|0,C=C&7,k=me(y|0,S|0,k|0)|0,It()|0,k=k&7,(C|0)==0|(k|0)==0||(g[21136+(C<<2)>>2]|0)==(k|0)||(g[21168+(C<<2)>>2]|0)==(k|0)))return it=1,wt=z,it|0;C=L,k=C+56|0;do g[C>>2]=0,C=C+4|0;while((C|0)<(k|0));return f_(p,m,1,L),it=L,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0))&&(it=L+8|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+16|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+24|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+32|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+40|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))?(C=L+48|0,C=((g[C>>2]|0)==(y|0)?(g[C+4>>2]|0)==(S|0):0)&1):C=1,it=C,wt=z,it|0}function U(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(it=wt,wt=wt+16|0,L=it,!(B(p,m,y,S)|0))return z=0,H=0,Je(z|0),wt=it,H|0;for(z=m&-2130706433,C=(ji(p,m)|0)==0,C=C?1:2;g[L>>2]=0,ot=Wn(p,m,C,L)|0,k=C+1|0,!((ot|0)==(y|0)&(It()|0)==(S|0));)if(k>>>0<7)C=k;else{C=0,p=0,H=6;break}return(H|0)==6?(Je(C|0),wt=it,p|0):(ot=ke(C|0,0,56)|0,H=z|(It()|0)|268435456,ot=p|ot,Je(H|0),wt=it,ot|0)}function W(p,m){p=p|0,m=m|0;var y=0;return y=!0&(m&2013265920|0)==268435456,Je((y?m&-2130706433|134217728:0)|0),(y?p:0)|0}function Z(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return S=wt,wt=wt+16|0,y=S,!0&(m&2013265920|0)==268435456?(C=me(p|0,m|0,56)|0,It()|0,g[y>>2]=0,y=Wn(p,m&-2130706433|134217728,C&7,y)|0,m=It()|0,Je(m|0),wt=S,y|0):(m=0,y=0,Je(m|0),wt=S,y|0)}function $(p,m){p=p|0,m=m|0;var y=0;if(!(!0&(m&2013265920|0)==268435456))return y=0,y|0;switch(y=me(p|0,m|0,56)|0,It()|0,y&7){case 0:case 7:return y=0,y|0;default:}return y=m&-2130706433|134217728,!0&(m&117440512|0)==16777216&(ji(p,y)|0)!=0?(y=0,y|0):(y=aA(p,y)|0,y|0)}function st(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;k=wt,wt=wt+16|0,S=k,L=!0&(m&2013265920|0)==268435456,C=m&-2130706433|134217728,z=y,g[z>>2]=L?p:0,g[z+4>>2]=L?C:0,L?(m=me(p|0,m|0,56)|0,It()|0,g[S>>2]=0,p=Wn(p,C,m&7,S)|0,m=It()|0):(p=0,m=0),z=y+8|0,g[z>>2]=p,g[z+4>>2]=m,wt=k}function At(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;C=(ji(p,m)|0)==0,m=m&-2130706433,S=y,g[S>>2]=C?p:0,g[S+4>>2]=C?m|285212672:0,S=y+8|0,g[S>>2]=p,g[S+4>>2]=m|301989888,S=y+16|0,g[S>>2]=p,g[S+4>>2]=m|318767104,S=y+24|0,g[S>>2]=p,g[S+4>>2]=m|335544320,S=y+32|0,g[S>>2]=p,g[S+4>>2]=m|352321536,y=y+40|0,g[y>>2]=p,g[y+4>>2]=m|369098752}function pt(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;if(L=wt,wt=wt+16|0,k=L,S=me(p|0,m|0,56)|0,It()|0,z=!0&(m&2013265920|0)==268435456,C=z?p:0,p=z?m&-2130706433|134217728:0,m=yu(C,p,S&7)|0,(m|0)==-1){g[y>>2]=0,wt=L;return}T(C,p,k),S=me(C|0,p|0,52)|0,It()|0,S=S&15,ji(C,p)|0?l0(k,S,m,2,y):iA(k,S,m,2,y),wt=L}function yt(p){p=p|0;var m=0,y=0,S=0;return m=Ua(1,12)|0,m||Mi(22691,22646,49,22704),y=p+4|0,S=g[y>>2]|0,S|0?(S=S+8|0,g[S>>2]=m,g[y>>2]=m,m|0):(g[p>>2]|0&&Mi(22721,22646,61,22744),S=p,g[S>>2]=m,g[y>>2]=m,m|0)}function dt(p,m){p=p|0,m=m|0;var y=0,S=0;return S=ho(24)|0,S||Mi(22758,22646,78,22772),g[S>>2]=g[m>>2],g[S+4>>2]=g[m+4>>2],g[S+8>>2]=g[m+8>>2],g[S+12>>2]=g[m+12>>2],g[S+16>>2]=0,m=p+4|0,y=g[m>>2]|0,y|0?(g[y+16>>2]=S,g[m>>2]=S,S|0):(g[p>>2]|0&&Mi(22787,22646,82,22772),g[p>>2]=S,g[m>>2]=S,S|0)}function Ft(p){p=p|0;var m=0,y=0,S=0,C=0;if(p)for(S=1;;){if(m=g[p>>2]|0,m|0)do{if(y=g[m>>2]|0,y|0)do C=y,y=g[y+16>>2]|0,Gr(C);while(y|0);C=m,m=g[m+8>>2]|0,Gr(C)}while(m|0);if(m=p,p=g[p+8>>2]|0,S||Gr(m),p)S=0;else break}}function Ht(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(C=p+8|0,g[C>>2]|0)return Or=1,Or|0;if(S=g[p>>2]|0,!S)return Or=0,Or|0;m=S,y=0;do y=y+1|0,m=g[m+8>>2]|0;while(m|0);if(y>>>0<2)return Or=0,Or|0;Sn=ho(y<<2)|0,Sn||Mi(22807,22646,317,22826),Pi=ho(y<<5)|0,Pi||Mi(22848,22646,321,22826),g[p>>2]=0,er=p+4|0,g[er>>2]=0,g[C>>2]=0,y=0,hn=0,$e=0,Ct=0;t:for(;;){if(ot=g[S>>2]|0,ot){k=0,L=ot;do{if(H=+Tt[L+8>>3],m=L,L=g[L+16>>2]|0,it=(L|0)==0,C=it?ot:L,z=+Tt[C+8>>3],+li(+(H-z))>3.141592653589793){Or=14;break}k=k+(z-H)*(+Tt[m>>3]+ +Tt[C>>3])}while(!it);if((Or|0)==14){Or=0,k=0,m=ot;do Ut=+Tt[m+8>>3],Ei=m+16|0,qi=g[Ei>>2]|0,qi=qi|0?qi:ot,_e=+Tt[qi+8>>3],k=k+(+Tt[m>>3]+ +Tt[qi>>3])*((_e<0?_e+6.283185307179586:_e)-(Ut<0?Ut+6.283185307179586:Ut)),m=g[(m|0?Ei:S)>>2]|0;while(m|0)}k>0?(g[Sn+(hn<<2)>>2]=S,hn=hn+1|0,C=$e,m=Ct):Or=19}else Or=19;if((Or|0)==19){Or=0;do if(y){if(m=y+8|0,g[m>>2]|0){Or=21;break t}if(y=Ua(1,12)|0,!y){Or=23;break t}g[m>>2]=y,C=y+4|0,L=y,m=Ct}else if(Ct){C=er,L=Ct+8|0,m=S,y=p;break}else if(g[p>>2]|0){Or=27;break t}else{C=er,L=p,m=S,y=p;break}while(!1);if(g[L>>2]=S,g[C>>2]=S,L=Pi+($e<<5)|0,it=g[S>>2]|0,it){for(ot=Pi+($e<<5)+8|0,Tt[ot>>3]=17976931348623157e292,Ct=Pi+($e<<5)+24|0,Tt[Ct>>3]=17976931348623157e292,Tt[L>>3]=-17976931348623157e292,Nt=Pi+($e<<5)+16|0,Tt[Nt>>3]=-17976931348623157e292,We=17976931348623157e292,te=-17976931348623157e292,C=0,Wt=it,H=17976931348623157e292,ne=17976931348623157e292,Le=-17976931348623157e292,z=-17976931348623157e292;k=+Tt[Wt>>3],Ut=+Tt[Wt+8>>3],Wt=g[Wt+16>>2]|0,re=(Wt|0)==0,_e=+Tt[(re?it:Wt)+8>>3],k>3]=k,H=k),Ut>3]=Ut,ne=Ut),k>Le?Tt[L>>3]=k:k=Le,Ut>z&&(Tt[Nt>>3]=Ut,z=Ut),We=Ut>0&Utte?Ut:te,C=C|+li(+(Ut-_e))>3.141592653589793,!re;)Le=k;C&&(Tt[Nt>>3]=te,Tt[Ct>>3]=We)}else g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,g[L+12>>2]=0,g[L+16>>2]=0,g[L+20>>2]=0,g[L+24>>2]=0,g[L+28>>2]=0;C=$e+1|0}if(Ei=S+8|0,S=g[Ei>>2]|0,g[Ei>>2]=0,S)$e=C,Ct=m;else{Or=45;break}}if((Or|0)==21)Mi(22624,22646,35,22658);else if((Or|0)==23)Mi(22678,22646,37,22658);else if((Or|0)==27)Mi(22721,22646,61,22744);else if((Or|0)==45){t:do if((hn|0)>0){for(Ei=(C|0)==0,Zr=C<<2,qi=(p|0)==0,je=0,m=0;;){if(we=g[Sn+(je<<2)>>2]|0,Ei)Or=73;else{if($e=ho(Zr)|0,!$e){Or=50;break}if(er=ho(Zr)|0,!er){Or=52;break}e:do if(qi)y=0;else{for(C=0,y=0,L=p;S=Pi+(C<<5)|0,St(g[L>>2]|0,S,g[we>>2]|0)|0?(g[$e+(y<<2)>>2]=L,g[er+(y<<2)>>2]=S,re=y+1|0):re=y,L=g[L+8>>2]|0,L;)C=C+1|0,y=re;if((re|0)>0)if(S=g[$e>>2]|0,(re|0)==1)y=S;else for(Nt=0,Wt=-1,y=S,Ct=S;;){for(it=g[Ct>>2]|0,S=0,L=0;C=g[g[$e+(L<<2)>>2]>>2]|0,(C|0)==(it|0)?ot=S:ot=S+((St(C,g[er+(L<<2)>>2]|0,g[it>>2]|0)|0)&1)|0,L=L+1|0,(L|0)!=(re|0);)S=ot;if(C=(ot|0)>(Wt|0),y=C?Ct:y,S=Nt+1|0,(S|0)==(re|0))break e;Nt=S,Wt=C?ot:Wt,Ct=g[$e+(S<<2)>>2]|0}else y=0}while(!1);if(Gr($e),Gr(er),y){if(C=y+4|0,S=g[C>>2]|0,S)y=S+8|0;else if(g[y>>2]|0){Or=70;break}g[y>>2]=we,g[C>>2]=we}else Or=73}if((Or|0)==73){if(Or=0,m=g[we>>2]|0,m|0)do er=m,m=g[m+16>>2]|0,Gr(er);while(m|0);Gr(we),m=2}if(je=je+1|0,(je|0)>=(hn|0)){yn=m;break t}}(Or|0)==50?Mi(22863,22646,249,22882):(Or|0)==52?Mi(22901,22646,252,22882):(Or|0)==70&&Mi(22721,22646,61,22744)}else yn=0;while(!1);return Gr(Sn),Gr(Pi),Or=yn,Or|0}return 0}function St(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(!(pl(m,y)|0)||(m=n0(m)|0,it=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,p=g[p>>2]|0,!p))return p=0,p|0;if(m){m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(it-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}else{m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(it-k)/(z-k)*(L-C)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}return 0}function Bt(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(te=wt,wt=wt+32|0,We=te+16|0,Le=te,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Wt=me(y|0,S|0,52)|0,It()|0,(k|0)!=(Wt&15|0))return We=1,wt=te,We|0;if(it=me(p|0,m|0,45)|0,It()|0,it=it&127,ot=me(y|0,S|0,45)|0,It()|0,ot=ot&127,Wt=(it|0)!=(ot|0),Wt){if(z=tA(it,ot)|0,(z|0)==7)return We=2,wt=te,We|0;H=tA(ot,it)|0,(H|0)==7?Mi(22925,22949,151,22959):(re=z,L=H)}else re=0,L=0;Ct=fi(it)|0,Nt=fi(ot)|0,g[We>>2]=0,g[We+4>>2]=0,g[We+8>>2]=0,g[We+12>>2]=0;do if(re){if(ot=g[4304+(it*28|0)+(re<<2)>>2]|0,z=(ot|0)>0,Nt)if(z){it=0,H=y,z=S;do H=p0(H,z)|0,z=It()|0,L=co(L)|0,(L|0)==1&&(L=co(1)|0),it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;else if(z){it=0,H=y,z=S;do H=Fd(H,z)|0,z=It()|0,L=co(L)|0,it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;if(bi(it,H,We)|0,Wt||Mi(22972,22949,181,22959),z=(Ct|0)!=0,L=(Nt|0)!=0,z&L&&Mi(22999,22949,182,22959),z){if(L=Es(p,m)|0,br[22032+(L*7|0)+re>>0]|0){k=3;break}H=g[21200+(L*28|0)+(re<<2)>>2]|0,it=H,ne=26}else if(L){if(L=Es(it,H)|0,br[22032+(L*7|0)+ot>>0]|0){k=4;break}it=0,H=g[21200+(ot*28|0)+(L<<2)>>2]|0,ne=26}else L=0;if((ne|0)==26)if((H|0)<=-1&&Mi(23030,22949,212,22959),(it|0)<=-1&&Mi(23053,22949,213,22959),(H|0)>0){z=We+4|0,L=0;do fh(z),L=L+1|0;while((L|0)!=(H|0));L=it}else L=it;if(g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,rA(Le,re),k|0)for(;Ho(k)|0?za(Le):hh(Le),(k|0)>1;)k=k+-1|0;if((L|0)>0){k=0;do fh(Le),k=k+1|0;while((k|0)!=(L|0))}ne=We+4|0,Ln(ne,Le,ne),js(ne),ne=50}else if(bi(y,S,We)|0,(Ct|0)!=0&(Nt|0)!=0)if((ot|0)!=(it|0)&&Mi(23077,22949,243,22959),L=Es(p,m)|0,k=Es(y,S)|0,br[22032+(L*7|0)+k>>0]|0)k=5;else if(L=g[21200+(L*28|0)+(k<<2)>>2]|0,(L|0)>0){z=We+4|0,k=0;do fh(z),k=k+1|0;while((k|0)!=(L|0));ne=50}else ne=50;else ne=50;while(!1);return(ne|0)==50&&(k=We+4|0,g[C>>2]=g[k>>2],g[C+4>>2]=g[k+4>>2],g[C+8>>2]=g[k+8>>2],k=0),We=k,wt=te,We|0}function Qt(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=wt,wt=wt+48|0,L=re+36|0,z=re+24|0,H=re+12|0,it=re,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Nt=me(p|0,m|0,45)|0,It()|0,Nt=Nt&127,ot=fi(Nt)|0,ke(k|0,0,52)|0,Le=It()|0|134225919,ne=S,g[ne>>2]=-1,g[ne+4>>2]=Le,!k)return(g[y>>2]|0)>1||(g[y+4>>2]|0)>1||(g[y+8>>2]|0)>1||(C=Jp(Nt,Fa(y)|0)|0,(C|0)==127)?(Le=1,wt=re,Le|0):(Wt=ke(C|0,0,45)|0,ne=It()|0,Nt=S,ne=g[Nt+4>>2]&-1040385|ne,Le=S,g[Le>>2]=g[Nt>>2]|Wt,g[Le+4>>2]=ne,Le=0,wt=re,Le|0);for(g[L>>2]=g[y>>2],g[L+4>>2]=g[y+4>>2],g[L+8>>2]=g[y+8>>2];g[z>>2]=g[L>>2],g[z+4>>2]=g[L+4>>2],g[z+8>>2]=g[L+8>>2],Ho(k)|0?(Rd(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],za(H)):(Al(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],hh(H)),eA(z,H,it),js(it),ne=S,We=g[ne>>2]|0,ne=g[ne+4>>2]|0,te=(15-k|0)*3|0,y=ke(7,0,te|0)|0,ne=ne&~(It()|0),te=ke(Fa(it)|0,0,te|0)|0,ne=It()|0|ne,Le=S,g[Le>>2]=te|We&~y,g[Le+4>>2]=ne,(k|0)>1;)k=k+-1|0;t:do if((g[L>>2]|0)<=1&&(g[L+4>>2]|0)<=1&&(g[L+8>>2]|0)<=1){k=Fa(L)|0,z=Jp(Nt,k)|0,(z|0)==127?it=0:it=fi(z)|0;e:do if(k){if(ot){if(L=21408+((Es(p,m)|0)*28|0)+(k<<2)|0,L=g[L>>2]|0,(L|0)>0){y=0;do k=Na(k)|0,y=y+1|0;while((y|0)!=(L|0))}if((k|0)==1){C=3;break t}y=Jp(Nt,k)|0,(y|0)==127&&Mi(23104,22949,376,23134),fi(y)|0?Mi(23147,22949,377,23134):(Wt=L,Ct=k,C=y)}else Wt=0,Ct=k,C=z;if(H=g[4304+(Nt*28|0)+(Ct<<2)>>2]|0,(H|0)<=-1&&Mi(23178,22949,384,23134),!it){if((Wt|0)<=-1&&Mi(23030,22949,417,23134),Wt|0){L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0;while((k|0)<(Wt|0))}if((H|0)<=0){k=54;break}for(L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;;)if(y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0,(k|0)==(H|0)){k=54;break e}}if(z=tA(C,Nt)|0,(z|0)==7&&Mi(22925,22949,393,23134),k=S,y=g[k>>2]|0,k=g[k+4>>2]|0,(H|0)>0){L=0;do y=Wo(y,k)|0,k=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=k,L=L+1|0;while((L|0)!=(H|0))}if(y=Es(y,k)|0,te=mu(C)|0,y=g[(te?21824:21616)+(z*28|0)+(y<<2)>>2]|0,(y|0)<=-1&&Mi(23030,22949,412,23134),!y)k=54;else{z=S,k=0,L=g[z>>2]|0,z=g[z+4>>2]|0;do L=gh(L,z)|0,z=It()|0,te=S,g[te>>2]=L,g[te+4>>2]=z,k=k+1|0;while((k|0)<(y|0));k=54}}else if((ot|0)!=0&(it|0)!=0)if(te=Es(p,m)|0,k=S,k=21408+(te*28|0)+((Es(g[k>>2]|0,g[k+4>>2]|0)|0)<<2)|0,k=g[k>>2]|0,(k|0)<=-1&&Mi(23201,22949,433,23134),!k)C=z,k=55;else{L=S,C=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,C=C+1|0;while((C|0)<(k|0));C=z,k=54}else C=z,k=54;while(!1);if((k|0)==54&&it&&(k=55),(k|0)==55&&(te=S,(Es(g[te>>2]|0,g[te+4>>2]|0)|0)==1)){C=4;break}te=S,Le=g[te>>2]|0,te=g[te+4>>2]&-1040385,We=ke(C|0,0,45)|0,te=te|(It()|0),C=S,g[C>>2]=Le|We,g[C+4>>2]=te,C=0}else C=2;while(!1);return te=C,wt=re,te|0}function $t(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;return L=wt,wt=wt+16|0,k=L,p=Bt(p,m,y,S,k)|0,p||(xf(k,C),p=0),wt=L,p|0}function oe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return C=wt,wt=wt+16|0,k=C,__(y,k),S=Qt(p,m,k,S)|0,wt=C,S|0}function pe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,p|0}function he(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,(p>>>31^1)+p|0}function be(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0;if($e=wt,wt=wt+48|0,k=$e+24|0,L=$e+12|0,Ut=$e,!(Bt(p,m,p,m,k)|0)&&!(Bt(p,m,y,S,L)|0)){if(_e=Hl(k,L)|0,(_e|0)<0)return Ut=_e,wt=$e,Ut|0;for(g[k>>2]=0,g[k+4>>2]=0,g[k+8>>2]=0,g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,Bt(p,m,p,m,k)|0,Bt(p,m,y,S,L)|0,Oe(k),Oe(L),_e?(ot=g[k>>2]|0,Wt=+(_e|0),Le=k+4|0,Ct=g[Le>>2]|0,We=k+8|0,Nt=g[We>>2]|0,te=k,y=ot,S=Ct,k=Nt,re=+((g[L>>2]|0)-ot|0)/Wt,ne=+((g[L+4>>2]|0)-Ct|0)/Wt,Wt=+((g[L+8>>2]|0)-Nt|0)/Wt):(S=k+4|0,Nt=k+8|0,Le=S,We=Nt,te=k,y=g[k>>2]|0,S=g[S>>2]|0,k=g[Nt>>2]|0,re=0,ne=0,Wt=0),g[Ut>>2]=y,Nt=Ut+4|0,g[Nt>>2]=S,Ct=Ut+8|0,g[Ct>>2]=k,ot=0;;){H=+(ot|0),er=re*H+ +(y|0),z=ne*H+ +(g[Le>>2]|0),H=Wt*H+ +(g[We>>2]|0),S=~~+Mf(+er),L=~~+Mf(+z),y=~~+Mf(+H),er=+li(+(+(S|0)-er)),z=+li(+(+(L|0)-z)),H=+li(+(+(y|0)-H));do if(er>z&er>H)S=0-(L+y)|0,k=L;else if(it=0-S|0,z>H){k=it-y|0;break}else{k=L,y=it-L|0;break}while(!1);if(g[Ut>>2]=S,g[Nt>>2]=k,g[Ct>>2]=y,o0(Ut),Qt(p,m,Ut,C+(ot<<3)|0)|0,(ot|0)==(_e|0))break;ot=ot+1|0,y=g[te>>2]|0}return Ut=0,wt=$e,Ut|0}return Ut=-1,wt=$e,Ut|0}function Ze(p,m){p=p|0,m=m|0;var y=0;if(!m)return y=1,y|0;y=p,p=1;do p=Oc(m&1|0?y:1,p)|0,m=m>>1,y=Oc(y,y)|0;while(m|0);return p|0}function Kr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;if(!(pl(m,y)|0)||(m=n0(m)|0,Nt=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,Ct=g[p>>2]|0,(Ct|0)<=0))return Ct=0,Ct|0;if(ot=g[p+4>>2]|0,m){m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(Nt-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}else{m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(Nt-k)/(z-k)*(L-C)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}return 0}function Ee(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=g[p>>2]|0,!re){g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;return}if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,!((re|0)<=0)){for(Nt=g[p+4>>2]|0,it=17976931348623157e292,ot=-17976931348623157e292,Ct=0,p=-1,k=17976931348623157e292,L=17976931348623157e292,H=-17976931348623157e292,S=-17976931348623157e292,Wt=0;y=+Tt[Nt+(Wt<<4)>>3],z=+Tt[Nt+(Wt<<4)+8>>3],p=p+2|0,C=+Tt[Nt+(((p|0)==(re|0)?0:p)<<4)+8>>3],y>3]=y,k=y),z>3]=z,L=z),y>H?Tt[m>>3]=y:y=H,z>S&&(Tt[We>>3]=z,S=z),it=z>0&zot?z:ot,Ct=Ct|+li(+(z-C))>3.141592653589793,p=Wt+1|0,(p|0)!=(re|0);)te=Wt,H=y,Wt=p,p=te;Ct&&(Tt[We>>3]=ot,Tt[Le>>3]=it)}}function pr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0;if(re=g[p>>2]|0,re){if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,(re|0)>0){for(C=g[p+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,S=0,y=-1,H=17976931348623157e292,it=17976931348623157e292,Ct=-17976931348623157e292,L=-17976931348623157e292,te=0;k=+Tt[C+(te<<4)>>3],ot=+Tt[C+(te<<4)+8>>3],er=y+2|0,z=+Tt[C+(((er|0)==(re|0)?0:er)<<4)+8>>3],k>3]=k,H=k),ot>3]=ot,it=ot),k>Ct?Tt[m>>3]=k:k=Ct,ot>L&&(Tt[We>>3]=ot,L=ot),Nt=ot>0&otWt?ot:Wt,S=S|+li(+(ot-z))>3.141592653589793,y=te+1|0,(y|0)!=(re|0);)er=te,Ct=k,te=y,y=er;S&&(Tt[We>>3]=Wt,Tt[Le>>3]=Nt)}}else g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;if(er=p+8|0,y=g[er>>2]|0,!((y|0)<=0)){$e=p+12|0,Ut=0;do if(C=g[$e>>2]|0,S=Ut,Ut=Ut+1|0,Le=m+(Ut<<5)|0,We=g[C+(S<<3)>>2]|0,We){if(te=m+(Ut<<5)+8|0,Tt[te>>3]=17976931348623157e292,p=m+(Ut<<5)+24|0,Tt[p>>3]=17976931348623157e292,Tt[Le>>3]=-17976931348623157e292,_e=m+(Ut<<5)+16|0,Tt[_e>>3]=-17976931348623157e292,(We|0)>0){for(re=g[C+(S<<3)+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,C=0,S=-1,ne=0,H=17976931348623157e292,it=17976931348623157e292,ot=-17976931348623157e292,L=-17976931348623157e292;k=+Tt[re+(ne<<4)>>3],Ct=+Tt[re+(ne<<4)+8>>3],S=S+2|0,z=+Tt[re+(((S|0)==(We|0)?0:S)<<4)+8>>3],k>3]=k,H=k),Ct>3]=Ct,it=Ct),k>ot?Tt[Le>>3]=k:k=ot,Ct>L&&(Tt[_e>>3]=Ct,L=Ct),Nt=Ct>0&CtWt?Ct:Wt,C=C|+li(+(Ct-z))>3.141592653589793,S=ne+1|0,(S|0)!=(We|0);)we=ne,ne=S,ot=k,S=we;C&&(Tt[_e>>3]=Wt,Tt[p>>3]=Nt)}}else g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,g[Le+12>>2]=0,g[Le+16>>2]=0,g[Le+20>>2]=0,g[Le+24>>2]=0,g[Le+28>>2]=0,y=g[er>>2]|0;while((Ut|0)<(y|0))}}function tr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if(!(Kr(p,m,y)|0))return C=0,C|0;if(C=p+8|0,(g[C>>2]|0)<=0)return C=1,C|0;for(S=p+12|0,p=0;;){if(k=p,p=p+1|0,Kr((g[S>>2]|0)+(k<<3)|0,m+(p<<5)|0,y)|0){p=0,S=6;break}if((p|0)>=(g[C>>2]|0)){p=1,S=6;break}}return(S|0)==6?p|0:0}function Gi(){return 8}function Jr(){return 16}function Vr(){return 168}function ei(){return 8}function On(){return 16}function tn(){return 12}function Gs(){return 8}function hs(p){p=p|0;var m=0,y=0;return y=+Tt[p>>3],m=+Tt[p+8>>3],+ +bn(+(y*y+m*m))}function Bn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;it=+Tt[p>>3],H=+Tt[m>>3]-it,z=+Tt[p+8>>3],L=+Tt[m+8>>3]-z,Ct=+Tt[y>>3],k=+Tt[S>>3]-Ct,Nt=+Tt[y+8>>3],ot=+Tt[S+8>>3]-Nt,k=(k*(z-Nt)-(it-Ct)*ot)/(H*ot-L*k),Tt[C>>3]=it+H*k,Tt[C+8>>3]=z+L*k}function qo(p,m){return p=p|0,m=m|0,+Tt[p>>3]!=+Tt[m>>3]?(m=0,m|0):(m=+Tt[p+8>>3]==+Tt[m+8>>3],m|0)}function jr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return C=+Tt[p>>3]-+Tt[m>>3],S=+Tt[p+8>>3]-+Tt[m+8>>3],y=+Tt[p+16>>3]-+Tt[m+16>>3],+(C*C+S*S+y*y)}function ql(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;y=+Tt[p>>3],S=+Ur(+y),y=+hi(+y),Tt[m+16>>3]=y,y=+Tt[p+8>>3],C=S*+Ur(+y),Tt[m>>3]=C,y=S*+hi(+y),Tt[m+8>>3]=y}function Zl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+32|0,C=it+16|0,k=it,T(p,m,C),L=wf(p,m)|0,H=Es(p,m)|0,lh(L,k),m=Ld(L,g[C>>2]|0)|0,!(fi(L)|0))return H=m,wt=it,H|0;do switch(L|0){case 4:{p=0,y=14;break}case 14:{p=1,y=14;break}case 24:{p=2,y=14;break}case 38:{p=3,y=14;break}case 49:{p=4,y=14;break}case 58:{p=5,y=14;break}case 63:{p=6,y=14;break}case 72:{p=7,y=14;break}case 83:{p=8,y=14;break}case 97:{p=9,y=14;break}case 107:{p=10,y=14;break}case 117:{p=11,y=14;break}default:z=0,S=0}while(!1);return(y|0)==14&&(z=g[22096+(p*24|0)+8>>2]|0,S=g[22096+(p*24|0)+16>>2]|0),p=g[C>>2]|0,(p|0)!=(g[k>>2]|0)&&(L=mu(L)|0,p=g[C>>2]|0,L|(p|0)==(S|0)&&(m=(m+1|0)%6|0)),(H|0)==3&(p|0)==(S|0)?(H=(m+5|0)%6|0,wt=it,H|0):(H|0)==5&(p|0)==(z|0)?(H=(m+1|0)%6|0,wt=it,H|0):(H=m,wt=it,H|0)}function yu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;return S=ji(p,m)|0,(y+-1|0)>>>0>5||(C=(S|0)!=0,(y|0)==1&C)?(y=-1,y|0):(S=Zl(p,m)|0,C?(y=(5-S+(g[22384+(y<<2)>>2]|0)|0)%5|0,y|0):(y=(6-S+(g[22416+(y<<2)>>2]|0)|0)%6|0,y|0))}function vu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0;(m|0)>0?(S=Ua(m,4)|0,g[p>>2]=S,S||Mi(23230,23253,40,23267)):g[p>>2]=0,g[p+4>>2]=m,g[p+8>>2]=0,g[p+12>>2]=y}function _h(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=p+4|0,k=p+12|0,L=p+8|0;t:for(;;){for(y=g[C>>2]|0,m=0;;){if((m|0)>=(y|0))break t;if(S=g[p>>2]|0,z=g[S+(m<<2)>>2]|0,!z)m=m+1|0;else break}m=S+(~~(+li(+(+dl(10,+ +(15-(g[k>>2]|0)|0))*(+Tt[z>>3]+ +Tt[z+8>>3])))%+(y|0))>>>0<<2)|0,y=g[m>>2]|0;e:do if(y|0){if(S=z+32|0,(y|0)==(z|0))g[m>>2]=g[S>>2];else{if(y=y+32|0,m=g[y>>2]|0,!m)break;for(;(m|0)!=(z|0);)if(y=m+32|0,m=g[y>>2]|0,!m)break e;g[y>>2]=g[S>>2]}Gr(z),g[L>>2]=(g[L>>2]|0)+-1}while(!1)}Gr(g[p>>2]|0)}function Ws(p){p=p|0;var m=0,y=0,S=0;for(S=g[p+4>>2]|0,y=0;;){if((y|0)>=(S|0)){m=0,y=4;break}if(m=g[(g[p>>2]|0)+(y<<2)>>2]|0,!m)y=y+1|0;else{y=4;break}}return(y|0)==4?m|0:0}function Ps(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,y=(g[p>>2]|0)+(y<<2)|0,S=g[y>>2]|0,!S)return k=1,k|0;k=m+32|0;do if((S|0)!=(m|0)){if(y=g[S+32>>2]|0,!y)return k=1,k|0;for(C=y;;){if((C|0)==(m|0)){C=8;break}if(y=g[C+32>>2]|0,y)S=C,C=y;else{y=1,C=10;break}}if((C|0)==8){g[S+32>>2]=g[k>>2];break}else if((C|0)==10)return y|0}else g[y>>2]=g[k>>2];while(!1);return Gr(m),k=p+8|0,g[k>>2]=(g[k>>2]|0)+-1,k=0,k|0}function Eo(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;k=ho(40)|0,k||Mi(23283,23253,98,23296),g[k>>2]=g[m>>2],g[k+4>>2]=g[m+4>>2],g[k+8>>2]=g[m+8>>2],g[k+12>>2]=g[m+12>>2],C=k+16|0,g[C>>2]=g[y>>2],g[C+4>>2]=g[y+4>>2],g[C+8>>2]=g[y+8>>2],g[C+12>>2]=g[y+12>>2],g[k+32>>2]=0,C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=(g[p>>2]|0)+(C<<2)|0,S=g[C>>2]|0;do if(!S)g[C>>2]=k;else{for(;!(us(S,m)|0&&us(S+16|0,y)|0);)if(C=g[S+32>>2]|0,S=C|0?C:S,!(g[S+32>>2]|0)){L=10;break}if((L|0)==10){g[S+32>>2]=k;break}return Gr(k),L=S,L|0}while(!1);return L=p+8|0,g[L>>2]=(g[L>>2]|0)+1,L=k,L|0}function yh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=g[(g[p>>2]|0)+(C<<2)>>2]|0,!C)return y=0,y|0;if(!y){for(p=C;;){if(us(p,m)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}if((S|0)==10)return p|0}for(p=C;;){if(us(p,m)|0&&us(p+16|0,y)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}return(S|0)==10?p|0:0}function Fn(p,m){p=p|0,m=m|0;var y=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,p=g[(g[p>>2]|0)+(y<<2)>>2]|0,!p)return y=0,y|0;for(;;){if(us(p,m)|0){m=5;break}if(p=g[p+32>>2]|0,!p){p=0,m=5;break}}return(m|0)==5?p|0:0}function fs(){return 23312}function Zo(p){return p=+p,+ +Ux(+p)}function _n(p){return p=+p,~~+Zo(p)|0}function ho(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0;$e=wt,wt=wt+16|0,Nt=$e;do if(p>>>0<245){if(it=p>>>0<11?16:p+11&-8,p=it>>>3,Ct=g[5829]|0,y=Ct>>>p,y&3|0)return m=(y&1^1)+p|0,p=23356+(m<<1<<2)|0,y=p+8|0,S=g[y>>2]|0,C=S+8|0,k=g[C>>2]|0,(k|0)==(p|0)?g[5829]=Ct&~(1<>2]=p,g[y>>2]=k),Ut=m<<3,g[S+4>>2]=Ut|3,Ut=S+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1,Ut=C,wt=$e,Ut|0;if(ot=g[5831]|0,it>>>0>ot>>>0){if(y|0)return m=2<>>12&16,m=m>>>z,y=m>>>5&8,m=m>>>y,k=m>>>2&4,m=m>>>k,p=m>>>1&2,m=m>>>p,S=m>>>1&1,S=(y|z|k|p|S)+(m>>>S)|0,m=23356+(S<<1<<2)|0,p=m+8|0,k=g[p>>2]|0,z=k+8|0,y=g[z>>2]|0,(y|0)==(m|0)?(p=Ct&~(1<>2]=m,g[p>>2]=y,p=Ct),Ut=S<<3,L=Ut-it|0,g[k+4>>2]=it|3,C=k+it|0,g[C+4>>2]=L|1,g[k+Ut>>2]=L,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=L,g[5834]=C,Ut=z,wt=$e,Ut|0;if(k=g[5830]|0,k){for(y=(k&0-k)+-1|0,C=y>>>12&16,y=y>>>C,S=y>>>5&8,y=y>>>S,L=y>>>2&4,y=y>>>L,z=y>>>1&2,y=y>>>z,H=y>>>1&1,H=g[23620+((S|C|L|z|H)+(y>>>H)<<2)>>2]|0,y=H,z=H,H=(g[H+4>>2]&-8)-it|0;p=g[y+16>>2]|0,!(!p&&(p=g[y+20>>2]|0,!p));)L=(g[p+4>>2]&-8)-it|0,C=L>>>0>>0,y=p,z=C?p:z,H=C?L:H;if(L=z+it|0,L>>>0>z>>>0){C=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){y=0;break}for(;;)if(S=m+20|0,y=g[S>>2]|0,y)m=y,p=S;else if(S=m+16|0,y=g[S>>2]|0,y)m=y,p=S;else break;g[p>>2]=0,y=m}else y=g[z+8>>2]|0,g[y+12>>2]=m,g[m+8>>2]=y,y=m;while(!1);do if(C|0){if(m=g[z+28>>2]|0,p=23620+(m<<2)|0,(z|0)==(g[p>>2]|0)){if(g[p>>2]=y,!y){g[5830]=k&~(1<>2]|0)==(z|0)?Ut:C+20|0)>>2]=y,!y)break;g[y+24>>2]=C,m=g[z+16>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),m=g[z+20>>2]|0,m|0&&(g[y+20>>2]=m,g[m+24>>2]=y)}while(!1);return H>>>0<16?(Ut=H+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1):(g[z+4>>2]=it|3,g[L+4>>2]=H|1,g[L+H>>2]=H,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=m|Ct,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=H,g[5834]=L),Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it}else Ct=it}else if(p>>>0<=4294967231)if(p=p+11|0,it=p&-8,S=g[5830]|0,S){C=0-it|0,p=p>>>8,p?it>>>0>16777215?H=31:(Ct=(p+1048320|0)>>>16&8,ne=p<>>16&4,ne=ne<>>16&2,H=14-(z|Ct|H)+(ne<>>15)|0,H=it>>>(H+7|0)&1|H<<1):H=0,y=g[23620+(H<<2)>>2]|0;t:do if(!y)y=0,p=0,ne=61;else for(p=0,z=it<<((H|0)==31?0:25-(H>>>1)|0),k=0;;){if(L=(g[y+4>>2]&-8)-it|0,L>>>0>>0)if(L)p=y,C=L;else{p=y,C=0,ne=65;break t}if(ne=g[y+20>>2]|0,y=g[y+16+(z>>>31<<2)>>2]|0,k=(ne|0)==0|(ne|0)==(y|0)?k:ne,y)z=z<<1;else{y=k,ne=61;break}}while(!1);if((ne|0)==61){if((y|0)==0&(p|0)==0){if(p=2<>>12&16,Ct=Ct>>>L,k=Ct>>>5&8,Ct=Ct>>>k,z=Ct>>>2&4,Ct=Ct>>>z,H=Ct>>>1&2,Ct=Ct>>>H,y=Ct>>>1&1,p=0,y=g[23620+((k|L|z|H|y)+(Ct>>>y)<<2)>>2]|0}y?ne=65:(z=p,L=C)}if((ne|0)==65)for(k=y;;)if(Ct=(g[k+4>>2]&-8)-it|0,y=Ct>>>0>>0,C=y?Ct:C,p=y?k:p,y=g[k+16>>2]|0,y||(y=g[k+20>>2]|0),y)k=y;else{z=p,L=C;break}if(z|0&&L>>>0<((g[5831]|0)-it|0)>>>0&&(ot=z+it|0,ot>>>0>z>>>0)){k=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){m=0;break}for(;;)if(C=m+20|0,y=g[C>>2]|0,y)m=y,p=C;else if(C=m+16|0,y=g[C>>2]|0,y)m=y,p=C;else break;g[p>>2]=0}else Ut=g[z+8>>2]|0,g[Ut+12>>2]=m,g[m+8>>2]=Ut;while(!1);do if(k){if(p=g[z+28>>2]|0,y=23620+(p<<2)|0,(z|0)==(g[y>>2]|0)){if(g[y>>2]=m,!m){S=S&~(1<>2]|0)==(z|0)?Ut:k+20|0)>>2]=m,!m)break;g[m+24>>2]=k,p=g[z+16>>2]|0,p|0&&(g[m+16>>2]=p,g[p+24>>2]=m),p=g[z+20>>2]|0,p&&(g[m+20>>2]=p,g[p+24>>2]=m)}while(!1);t:do if(L>>>0<16)Ut=L+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1;else{if(g[z+4>>2]=it|3,g[ot+4>>2]=L|1,g[ot+L>>2]=L,m=L>>>3,L>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=ot,g[m+12>>2]=ot,g[ot+8>>2]=m,g[ot+12>>2]=y;break}if(m=L>>>8,m?L>>>0>16777215?y=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,y=14-(te|_e|y)+(Ut<>>15)|0,y=L>>>(y+7|0)&1|y<<1):y=0,m=23620+(y<<2)|0,g[ot+28>>2]=y,p=ot+16|0,g[p+4>>2]=0,g[p>>2]=0,p=1<>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break}m=g[m>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(L|0)){for(S=L<<((y|0)==31?0:25-(y>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(L|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=ot,g[_e>>2]=ot,g[ot+8>>2]=Ut,g[ot+12>>2]=m,g[ot+24>>2]=0}while(!1);return Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it;else Ct=-1;while(!1);if(y=g[5831]|0,y>>>0>=Ct>>>0)return m=y-Ct|0,p=g[5834]|0,m>>>0>15?(Ut=p+Ct|0,g[5834]=Ut,g[5831]=m,g[Ut+4>>2]=m|1,g[p+y>>2]=m,g[p+4>>2]=Ct|3):(g[5831]=0,g[5834]=0,g[p+4>>2]=y|3,Ut=p+y+4|0,g[Ut>>2]=g[Ut>>2]|1),Ut=p+8|0,wt=$e,Ut|0;if(L=g[5832]|0,L>>>0>Ct>>>0)return te=L-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0;if(g[5947]|0?p=g[5949]|0:(g[5949]=4096,g[5948]=4096,g[5950]=-1,g[5951]=-1,g[5952]=0,g[5940]=0,g[5947]=Nt&-16^1431655768,p=4096),z=Ct+48|0,H=Ct+47|0,k=p+H|0,C=0-p|0,it=k&C,it>>>0<=Ct>>>0||(p=g[5939]|0,p|0&&(ot=g[5937]|0,Nt=ot+it|0,Nt>>>0<=ot>>>0|Nt>>>0>p>>>0)))return Ut=0,wt=$e,Ut|0;t:do if(g[5940]&4)m=0,ne=143;else{y=g[5835]|0;e:do if(y){for(S=23764;Nt=g[S>>2]|0,!(Nt>>>0<=y>>>0&&(Nt+(g[S+4>>2]|0)|0)>>>0>y>>>0);)if(p=g[S+8>>2]|0,p)S=p;else{ne=128;break e}if(m=k-L&C,m>>>0<2147483647)if(p=en(m|0)|0,(p|0)==((g[S>>2]|0)+(g[S+4>>2]|0)|0)){if((p|0)!=-1){L=m,k=p,ne=145;break t}}else S=p,ne=136;else m=0}else ne=128;while(!1);do if((ne|0)==128)if(y=en(0)|0,(y|0)!=-1&&(m=y,Wt=g[5948]|0,re=Wt+-1|0,m=(re&m|0?(re+m&0-Wt)-m|0:0)+it|0,Wt=g[5937]|0,re=m+Wt|0,m>>>0>Ct>>>0&m>>>0<2147483647)){if(Nt=g[5939]|0,Nt|0&&re>>>0<=Wt>>>0|re>>>0>Nt>>>0){m=0;break}if(p=en(m|0)|0,(p|0)==(y|0)){L=m,k=y,ne=145;break t}else S=p,ne=136}else m=0;while(!1);do if((ne|0)==136){if(y=0-m|0,!(z>>>0>m>>>0&(m>>>0<2147483647&(S|0)!=-1)))if((S|0)==-1){m=0;break}else{L=m,k=S,ne=145;break t}if(p=g[5949]|0,p=H-m+p&0-p,p>>>0>=2147483647){L=m,k=S,ne=145;break t}if((en(p|0)|0)==-1){en(y|0)|0,m=0;break}else{L=p+m|0,k=S,ne=145;break t}}while(!1);g[5940]=g[5940]|4,ne=143}while(!1);if((ne|0)==143&&it>>>0<2147483647&&(te=en(it|0)|0,re=en(0)|0,Le=re-te|0,We=Le>>>0>(Ct+40|0)>>>0,!((te|0)==-1|We^1|te>>>0>>0&((te|0)!=-1&(re|0)!=-1)^1))&&(L=We?Le:m,k=te,ne=145),(ne|0)==145){m=(g[5937]|0)+L|0,g[5937]=m,m>>>0>(g[5938]|0)>>>0&&(g[5938]=m),H=g[5835]|0;t:do if(H){for(m=23764;;){if(p=g[m>>2]|0,y=g[m+4>>2]|0,(k|0)==(p+y|0)){ne=154;break}if(S=g[m+8>>2]|0,S)m=S;else break}if((ne|0)==154&&(_e=m+4|0,(g[m+12>>2]&8|0)==0)&&k>>>0>H>>>0&p>>>0<=H>>>0){g[_e>>2]=y+L,Ut=(g[5832]|0)+L|0,te=H+8|0,te=te&7|0?0-te&7:0,_e=H+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[H+Ut+4>>2]=40,g[5836]=g[5951];break}for(k>>>0<(g[5833]|0)>>>0&&(g[5833]=k),y=k+L|0,m=23764;;){if((g[m>>2]|0)==(y|0)){ne=162;break}if(p=g[m+8>>2]|0,p)m=p;else break}if((ne|0)==162&&!(g[m+12>>2]&8|0)){g[m>>2]=k,ot=m+4|0,g[ot>>2]=(g[ot>>2]|0)+L,ot=k+8|0,ot=k+(ot&7|0?0-ot&7:0)|0,m=y+8|0,m=y+(m&7|0?0-m&7:0)|0,it=ot+Ct|0,z=m-ot-Ct|0,g[ot+4>>2]=Ct|3;e:do if((H|0)==(m|0))Ut=(g[5832]|0)+z|0,g[5832]=Ut,g[5835]=it,g[it+4>>2]=Ut|1;else{if((g[5834]|0)==(m|0)){Ut=(g[5831]|0)+z|0,g[5831]=Ut,g[5834]=it,g[it+4>>2]=Ut|1,g[it+Ut>>2]=Ut;break}if(p=g[m+4>>2]|0,(p&3|0)==1){L=p&-8,S=p>>>3;r:do if(p>>>0<256)if(p=g[m+8>>2]|0,y=g[m+12>>2]|0,(y|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=y,g[y+8>>2]=p;break}else{k=g[m+24>>2]|0,p=g[m+12>>2]|0;do if((p|0)==(m|0)){if(y=m+16|0,S=y+4|0,p=g[S>>2]|0,p)y=S;else if(p=g[y>>2]|0,!p){p=0;break}for(;;)if(C=p+20|0,S=g[C>>2]|0,S)p=S,y=C;else if(C=p+16|0,S=g[C>>2]|0,S)p=S,y=C;else break;g[y>>2]=0}else Ut=g[m+8>>2]|0,g[Ut+12>>2]=p,g[p+8>>2]=Ut;while(!1);if(!k)break;y=g[m+28>>2]|0,S=23620+(y<<2)|0;do if((g[S>>2]|0)!=(m|0)){if(Ut=k+16|0,g[((g[Ut>>2]|0)==(m|0)?Ut:k+20|0)>>2]=p,!p)break r}else{if(g[S>>2]=p,p|0)break;g[5830]=g[5830]&~(1<>2]=k,y=m+16|0,S=g[y>>2]|0,S|0&&(g[p+16>>2]=S,g[S+24>>2]=p),y=g[y+4>>2]|0,!y)break;g[p+20>>2]=y,g[y+24>>2]=p}while(!1);m=m+L|0,C=L+z|0}else C=z;if(m=m+4|0,g[m>>2]=g[m>>2]&-2,g[it+4>>2]=C|1,g[it+C>>2]=C,m=C>>>3,C>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=it,g[m+12>>2]=it,g[it+8>>2]=m,g[it+12>>2]=y;break}m=C>>>8;do if(!m)S=0;else{if(C>>>0>16777215){S=31;break}_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=C>>>(S+7|0)&1|S<<1}while(!1);if(m=23620+(S<<2)|0,g[it+28>>2]=S,p=it+16|0,g[p+4>>2]=0,g[p>>2]=0,p=g[5830]|0,y=1<>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break}m=g[m>>2]|0;r:do if((g[m+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(C|0)){m=p;break r}else S=S<<1,m=p;g[y>>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break e}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=it,g[_e>>2]=it,g[it+8>>2]=Ut,g[it+12>>2]=m,g[it+24>>2]=0}while(!1);return Ut=ot+8|0,wt=$e,Ut|0}for(m=23764;p=g[m>>2]|0,!(p>>>0<=H>>>0&&(Ut=p+(g[m+4>>2]|0)|0,Ut>>>0>H>>>0));)m=g[m+8>>2]|0;C=Ut+-47|0,p=C+8|0,p=C+(p&7|0?0-p&7:0)|0,C=H+16|0,p=p>>>0>>0?H:p,m=p+8|0,y=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=y-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+y+4>>2]=40,g[5836]=g[5951],y=p+4|0,g[y>>2]=27,g[m>>2]=g[5941],g[m+4>>2]=g[5942],g[m+8>>2]=g[5943],g[m+12>>2]=g[5944],g[5941]=k,g[5942]=L,g[5944]=0,g[5943]=m,m=p+24|0;do _e=m,m=m+4|0,g[m>>2]=7;while((_e+8|0)>>>0>>0);if((p|0)!=(H|0)){if(k=p-H|0,g[y>>2]=g[y>>2]&-2,g[H+4>>2]=k|1,g[p>>2]=k,m=k>>>3,k>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=H,g[m+12>>2]=H,g[H+8>>2]=m,g[H+12>>2]=y;break}if(m=k>>>8,m?k>>>0>16777215?S=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=k>>>(S+7|0)&1|S<<1):S=0,y=23620+(S<<2)|0,g[H+28>>2]=S,g[H+20>>2]=0,g[C>>2]=0,m=g[5830]|0,p=1<>2]=H,g[H+24>>2]=y,g[H+12>>2]=H,g[H+8>>2]=H;break}m=g[y>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(k|0)){for(S=k<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(k|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=H,g[H+24>>2]=m,g[H+12>>2]=H,g[H+8>>2]=H;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=H,g[_e>>2]=H,g[H+8>>2]=Ut,g[H+12>>2]=m,g[H+24>>2]=0}}else Ut=g[5833]|0,(Ut|0)==0|k>>>0>>0&&(g[5833]=k),g[5941]=k,g[5942]=L,g[5944]=0,g[5838]=g[5947],g[5837]=-1,g[5842]=23356,g[5841]=23356,g[5844]=23364,g[5843]=23364,g[5846]=23372,g[5845]=23372,g[5848]=23380,g[5847]=23380,g[5850]=23388,g[5849]=23388,g[5852]=23396,g[5851]=23396,g[5854]=23404,g[5853]=23404,g[5856]=23412,g[5855]=23412,g[5858]=23420,g[5857]=23420,g[5860]=23428,g[5859]=23428,g[5862]=23436,g[5861]=23436,g[5864]=23444,g[5863]=23444,g[5866]=23452,g[5865]=23452,g[5868]=23460,g[5867]=23460,g[5870]=23468,g[5869]=23468,g[5872]=23476,g[5871]=23476,g[5874]=23484,g[5873]=23484,g[5876]=23492,g[5875]=23492,g[5878]=23500,g[5877]=23500,g[5880]=23508,g[5879]=23508,g[5882]=23516,g[5881]=23516,g[5884]=23524,g[5883]=23524,g[5886]=23532,g[5885]=23532,g[5888]=23540,g[5887]=23540,g[5890]=23548,g[5889]=23548,g[5892]=23556,g[5891]=23556,g[5894]=23564,g[5893]=23564,g[5896]=23572,g[5895]=23572,g[5898]=23580,g[5897]=23580,g[5900]=23588,g[5899]=23588,g[5902]=23596,g[5901]=23596,g[5904]=23604,g[5903]=23604,Ut=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+Ut+4>>2]=40,g[5836]=g[5951];while(!1);if(m=g[5832]|0,m>>>0>Ct>>>0)return te=m-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0}return Ut=fs()|0,g[Ut>>2]=12,Ut=0,wt=$e,Ut|0}function Gr(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(p){y=p+-8|0,C=g[5833]|0,p=g[p+-4>>2]|0,m=p&-8,H=y+m|0;do if(p&1)z=y,L=y;else{if(S=g[y>>2]|0,!(p&3)||(L=y+(0-S)|0,k=S+m|0,L>>>0>>0))return;if((g[5834]|0)==(L|0)){if(p=H+4|0,m=g[p>>2]|0,(m&3|0)!=3){z=L,m=k;break}g[5831]=k,g[p>>2]=m&-2,g[L+4>>2]=k|1,g[L+k>>2]=k;return}if(y=S>>>3,S>>>0<256)if(p=g[L+8>>2]|0,m=g[L+12>>2]|0,(m|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=m,g[m+8>>2]=p,z=L,m=k;break}C=g[L+24>>2]|0,p=g[L+12>>2]|0;do if((p|0)==(L|0)){if(m=L+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){p=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0}else z=g[L+8>>2]|0,g[z+12>>2]=p,g[p+8>>2]=z;while(!1);if(C){if(m=g[L+28>>2]|0,y=23620+(m<<2)|0,(g[y>>2]|0)==(L|0)){if(g[y>>2]=p,!p){g[5830]=g[5830]&~(1<>2]|0)==(L|0)?z:C+20|0)>>2]=p,!p){z=L,m=k;break}g[p+24>>2]=C,m=L+16|0,y=g[m>>2]|0,y|0&&(g[p+16>>2]=y,g[y+24>>2]=p),m=g[m+4>>2]|0,m?(g[p+20>>2]=m,g[m+24>>2]=p,z=L,m=k):(z=L,m=k)}else z=L,m=k}while(!1);if(!(L>>>0>=H>>>0)&&(p=H+4|0,S=g[p>>2]|0,!!(S&1))){if(S&2)g[p>>2]=S&-2,g[z+4>>2]=m|1,g[L+m>>2]=m,C=m;else{if((g[5835]|0)==(H|0)){if(H=(g[5832]|0)+m|0,g[5832]=H,g[5835]=z,g[z+4>>2]=H|1,(z|0)!=(g[5834]|0))return;g[5834]=0,g[5831]=0;return}if((g[5834]|0)==(H|0)){H=(g[5831]|0)+m|0,g[5831]=H,g[5834]=L,g[z+4>>2]=H|1,g[L+H>>2]=H;return}C=(S&-8)+m|0,y=S>>>3;do if(S>>>0<256)if(m=g[H+8>>2]|0,p=g[H+12>>2]|0,(p|0)==(m|0)){g[5829]=g[5829]&~(1<>2]=p,g[p+8>>2]=m;break}else{k=g[H+24>>2]|0,p=g[H+12>>2]|0;do if((p|0)==(H|0)){if(m=H+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){y=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0,y=p}else y=g[H+8>>2]|0,g[y+12>>2]=p,g[p+8>>2]=y,y=p;while(!1);if(k|0){if(p=g[H+28>>2]|0,m=23620+(p<<2)|0,(g[m>>2]|0)==(H|0)){if(g[m>>2]=y,!y){g[5830]=g[5830]&~(1<>2]|0)==(H|0)?S:k+20|0)>>2]=y,!y)break;g[y+24>>2]=k,p=H+16|0,m=g[p>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),p=g[p+4>>2]|0,p|0&&(g[y+20>>2]=p,g[p+24>>2]=y)}}while(!1);if(g[z+4>>2]=C|1,g[L+C>>2]=C,(z|0)==(g[5834]|0)){g[5831]=C;return}}if(p=C>>>3,C>>>0<256){y=23356+(p<<1<<2)|0,m=g[5829]|0,p=1<>2]|0):(g[5829]=m|p,p=y,m=y+8|0),g[m>>2]=z,g[p+12>>2]=z,g[z+8>>2]=p,g[z+12>>2]=y;return}p=C>>>8,p?C>>>0>16777215?S=31:(L=(p+1048320|0)>>>16&8,H=p<>>16&4,H=H<>>16&2,S=14-(k|L|S)+(H<>>15)|0,S=C>>>(S+7|0)&1|S<<1):S=0,p=23620+(S<<2)|0,g[z+28>>2]=S,g[z+20>>2]=0,g[z+16>>2]=0,m=g[5830]|0,y=1<>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;else{p=g[p>>2]|0;e:do if((g[p+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=p+16+(S>>>31<<2)|0,m=g[y>>2]|0,!!m;)if((g[m+4>>2]&-8|0)==(C|0)){p=m;break e}else S=S<<1,p=m;g[y>>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;break t}while(!1);L=p+8|0,H=g[L>>2]|0,g[H+12>>2]=z,g[L>>2]=z,g[z+8>>2]=H,g[z+12>>2]=p,g[z+24>>2]=0}while(!1);if(H=(g[5837]|0)+-1|0,g[5837]=H,!(H|0)){for(p=23772;p=g[p>>2]|0,p;)p=p+8|0;g[5837]=-1}}}}function Ua(p,m){p=p|0,m=m|0;var y=0;return p?(y=Oc(m,p)|0,(m|p)>>>0>65535&&(y=((y>>>0)/(p>>>0)|0|0)==(m|0)?y:-1)):y=0,p=ho(y)|0,!p||!(g[p+-4>>2]&3)||Fc(p|0,0,y|0)|0,p|0}function S_(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,y=p+y>>>0,Je(m+S+(y>>>0

>>0|0)>>>0|0),y|0|0}function zd(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,S=m-S-(y>>>0>p>>>0|0)>>>0,Je(S|0),p-y>>>0|0|0}function cA(p){return p=p|0,(p?31-(aa(p^p-1)|0)|0:32)|0}function Yl(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(ot=p,H=m,it=H,L=y,Nt=S,z=Nt,!it)return k=(C|0)!=0,z?k?(g[C>>2]=p|0,g[C+4>>2]=m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0):(k&&(g[C>>2]=(ot>>>0)%(L>>>0),g[C+4>>2]=0),Nt=0,C=(ot>>>0)/(L>>>0)>>>0,Je(Nt|0),C|0);k=(z|0)==0;do if(L){if(!k){if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=31){Ct=k+1|0,z=31-k|0,m=k-31>>31,L=Ct,p=ot>>>(Ct>>>0)&m|it<>>(Ct>>>0)&m,k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0)}if(k=L-1|0,k&L|0){z=(aa(L|0)|0)+33-(aa(it|0)|0)|0,re=64-z|0,Ct=32-z|0,H=Ct>>31,Wt=z-32|0,m=Wt>>31,L=z,p=Ct-1>>31&it>>>(Wt>>>0)|(it<>>(z>>>0))&m,m=m&it>>>(z>>>0),k=ot<>>(Wt>>>0))&H|ot<>31;break}return C|0&&(g[C>>2]=k&ot,g[C+4>>2]=0),(L|0)==1?(Wt=H|m&0,re=p|0|0,Je(Wt|0),re|0):(re=cA(L|0)|0,Wt=it>>>(re>>>0)|0,re=it<<32-re|ot>>>(re>>>0)|0,Je(Wt|0),re|0)}else{if(k)return C|0&&(g[C>>2]=(it>>>0)%(L>>>0),g[C+4>>2]=0),Wt=0,re=(it>>>0)/(L>>>0)>>>0,Je(Wt|0),re|0;if(!ot)return C|0&&(g[C>>2]=0,g[C+4>>2]=(it>>>0)%(z>>>0)),Wt=0,re=(it>>>0)/(z>>>0)>>>0,Je(Wt|0),re|0;if(k=z-1|0,!(k&z))return C|0&&(g[C>>2]=p|0,g[C+4>>2]=k&it|m&0),Wt=0,re=it>>>((cA(z|0)|0)>>>0),Je(Wt|0),re|0;if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=30){m=k+1|0,z=31-k|0,L=m,p=it<>>(m>>>0),m=it>>>(m>>>0),k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Wt=0,re=0,Je(Wt|0),re|0):(Wt=0,re=0,Je(Wt|0),re|0)}while(!1);if(!L)it=z,H=0,z=0;else{Ct=y|0|0,ot=Nt|S&0,it=S_(Ct|0,ot|0,-1,-1)|0,y=It()|0,H=z,z=0;do S=H,H=k>>>31|H<<1,k=z|k<<1,S=p<<1|S>>>31|0,Nt=p>>>31|m<<1|0,zd(it|0,y|0,S|0,Nt|0)|0,re=It()|0,Wt=re>>31|((re|0)<0?-1:0)<<1,z=Wt&1,p=zd(S|0,Nt|0,Wt&Ct|0,(((re|0)<0?-1:0)>>31|((re|0)<0?-1:0)<<1)&ot|0)|0,m=It()|0,L=L-1|0;while(L|0);it=H,H=0}return L=0,C|0&&(g[C>>2]=p,g[C+4>>2]=m),Wt=(k|0)>>>31|(it|L)<<1|(L<<1|k>>>31)&0|H,re=(k<<1|0)&-2|z,Je(Wt|0),re|0}function Yo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return k=wt,wt=wt+16|0,C=k|0,Yl(p,m,y,S,C)|0,wt=k,Je(g[C+4>>2]|0),g[C>>2]|0|0}function me(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m>>>y|0),p>>>y|(m&(1<>>y-32|0)}function ke(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m<>>32-y|0),p<=0?+cs(p+.5):+Ji(p-.5)}function Va(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if((y|0)>=8192)return Yp(p|0,m|0,y|0)|0,p|0;if(k=p|0,C=p+y|0,(p&3)==(m&3)){for(;p&3;){if(!y)return k|0;br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0,y=y-1|0}for(y=C&-4|0,S=y-64|0;(p|0)<=(S|0);)g[p>>2]=g[m>>2],g[p+4>>2]=g[m+4>>2],g[p+8>>2]=g[m+8>>2],g[p+12>>2]=g[m+12>>2],g[p+16>>2]=g[m+16>>2],g[p+20>>2]=g[m+20>>2],g[p+24>>2]=g[m+24>>2],g[p+28>>2]=g[m+28>>2],g[p+32>>2]=g[m+32>>2],g[p+36>>2]=g[m+36>>2],g[p+40>>2]=g[m+40>>2],g[p+44>>2]=g[m+44>>2],g[p+48>>2]=g[m+48>>2],g[p+52>>2]=g[m+52>>2],g[p+56>>2]=g[m+56>>2],g[p+60>>2]=g[m+60>>2],p=p+64|0,m=m+64|0;for(;(p|0)<(y|0);)g[p>>2]=g[m>>2],p=p+4|0,m=m+4|0}else for(y=C-4|0;(p|0)<(y|0);)br[p>>0]=br[m>>0]|0,br[p+1>>0]=br[m+1>>0]|0,br[p+2>>0]=br[m+2>>0]|0,br[p+3>>0]=br[m+3>>0]|0,p=p+4|0,m=m+4|0;for(;(p|0)<(C|0);)br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0;return k|0}function Fc(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=p+y|0,m=m&255,(y|0)>=67){for(;p&3;)br[p>>0]=m,p=p+1|0;for(S=k&-4|0,L=m|m<<8|m<<16|m<<24,C=S-64|0;(p|0)<=(C|0);)g[p>>2]=L,g[p+4>>2]=L,g[p+8>>2]=L,g[p+12>>2]=L,g[p+16>>2]=L,g[p+20>>2]=L,g[p+24>>2]=L,g[p+28>>2]=L,g[p+32>>2]=L,g[p+36>>2]=L,g[p+40>>2]=L,g[p+44>>2]=L,g[p+48>>2]=L,g[p+52>>2]=L,g[p+56>>2]=L,g[p+60>>2]=L,p=p+64|0;for(;(p|0)<(S|0);)g[p>>2]=L,p=p+4|0}for(;(p|0)<(k|0);)br[p>>0]=m,p=p+1|0;return k-y|0}function Ux(p){return p=+p,p>=0?+cs(p+.5):+Ji(p-.5)}function en(p){p=p|0;var m=0,y=0,S=0;return S=Jm()|0,y=g[Ms>>2]|0,m=y+p|0,(p|0)>0&(m|0)<(y|0)|(m|0)<0?(t0(m|0)|0,Km(12),-1):(m|0)>(S|0)&&!(Qp(m|0)|0)?(Km(12),-1):(g[Ms>>2]=m,y|0)}return{___uremdi3:Yo,_bitshift64Lshr:me,_bitshift64Shl:ke,_calloc:Ua,_cellAreaKm2:b_,_cellAreaM2:Nx,_cellAreaRads2:x_,_compact:mh,_destroyLinkedPolygon:Ft,_edgeLengthKm:un,_edgeLengthM:sA,_emscripten_replace_memory:e0,_exactEdgeLengthKm:oA,_exactEdgeLengthM:nr,_exactEdgeLengthRads:Mo,_experimentalH3ToLocalIj:$t,_experimentalLocalIjToH3:oe,_free:Gr,_geoToH3:lA,_getDestinationH3IndexFromUnidirectionalEdge:Z,_getH3IndexesFromUnidirectionalEdge:st,_getH3UnidirectionalEdge:U,_getH3UnidirectionalEdgeBoundary:pt,_getH3UnidirectionalEdgesFromHexagon:At,_getOriginH3IndexFromUnidirectionalEdge:W,_getPentagonIndexes:O,_getRes0Indexes:m_,_h3Distance:pe,_h3GetBaseCell:wf,_h3GetFaces:b,_h3GetResolution:dr,_h3IndexesAreNeighbors:B,_h3IsPentagon:ji,_h3IsResClassIII:Sf,_h3IsValid:aA,_h3Line:be,_h3LineSize:he,_h3SetToLinkedGeo:ah,_h3ToCenterChild:w_,_h3ToChildren:uo,_h3ToGeo:l,_h3ToGeoBoundary:d,_h3ToParent:Bd,_h3UnidirectionalEdgeIsValid:$,_hexAreaKm2:v_,_hexAreaM2:ua,_hexRing:p_,_i64Subtract:zd,_kRing:f_,_kRingDistances:d_,_llvm_minnum_f64:ml,_llvm_round_f64:Mf,_malloc:ho,_maxFaceCount:v,_maxH3ToChildrenSize:Hn,_maxKringSize:r0,_maxPolyfillSize:Cd,_maxUncompactSize:wn,_memcpy:Va,_memset:Fc,_numHexagons:d0,_pentagonIndexCount:M,_pointDistKm:Bc,_pointDistM:h0,_pointDistRads:_u,_polyfill:$p,_res0IndexCount:A_,_round:Ux,_sbrk:en,_sizeOfCoordIJ:Gs,_sizeOfGeoBoundary:Vr,_sizeOfGeoCoord:Jr,_sizeOfGeoPolygon:On,_sizeOfGeofence:ei,_sizeOfH3Index:Gi,_sizeOfLinkedGeoPolygon:tn,_uncompact:kn,establishStackSpace:Fx,stackAlloc:Ed,stackRestore:Id,stackSave:Pd}}(vt,xt,rr),Dt=t.___uremdi3=_t.___uremdi3,Mt=t._bitshift64Lshr=_t._bitshift64Lshr,Vt=t._bitshift64Shl=_t._bitshift64Shl,ie=t._calloc=_t._calloc,se=t._cellAreaKm2=_t._cellAreaKm2,ae=t._cellAreaM2=_t._cellAreaM2,lr=t._cellAreaRads2=_t._cellAreaRads2,vr=t._compact=_t._compact,Xe=t._destroyLinkedPolygon=_t._destroyLinkedPolygon,cr=t._edgeLengthKm=_t._edgeLengthKm,wr=t._edgeLengthM=_t._edgeLengthM,xi=t._emscripten_replace_memory=_t._emscripten_replace_memory,zi=t._exactEdgeLengthKm=_t._exactEdgeLengthKm,ni=t._exactEdgeLengthM=_t._exactEdgeLengthM,Hr=t._exactEdgeLengthRads=_t._exactEdgeLengthRads,jn=t._experimentalH3ToLocalIj=_t._experimentalH3ToLocalIj,Bi=t._experimentalLocalIjToH3=_t._experimentalLocalIjToH3,xn=t._free=_t._free,es=t._geoToH3=_t._geoToH3,oa=t._getDestinationH3IndexFromUnidirectionalEdge=_t._getDestinationH3IndexFromUnidirectionalEdge,Um=t._getH3IndexesFromUnidirectionalEdge=_t._getH3IndexesFromUnidirectionalEdge,Vl=t._getH3UnidirectionalEdge=_t._getH3UnidirectionalEdge,Ss=t._getH3UnidirectionalEdgeBoundary=_t._getH3UnidirectionalEdgeBoundary,nh=t._getH3UnidirectionalEdgesFromHexagon=_t._getH3UnidirectionalEdgesFromHexagon,ai=t._getOriginH3IndexFromUnidirectionalEdge=_t._getOriginH3IndexFromUnidirectionalEdge,ka=t._getPentagonIndexes=_t._getPentagonIndexes,Dc=t._getRes0Indexes=_t._getRes0Indexes,ln=t._h3Distance=_t._h3Distance,Dn=t._h3GetBaseCell=_t._h3GetBaseCell,Vm=t._h3GetFaces=_t._h3GetFaces,Go=t._h3GetResolution=_t._h3GetResolution,Gn=t._h3IndexesAreNeighbors=_t._h3IndexesAreNeighbors,So=t._h3IsPentagon=_t._h3IsPentagon,jl=t._h3IsResClassIII=_t._h3IsResClassIII,Ki=t._h3IsValid=_t._h3IsValid,_i=t._h3Line=_t._h3Line,Gl=t._h3LineSize=_t._h3LineSize,cn=t._h3SetToLinkedGeo=_t._h3SetToLinkedGeo,pu=t._h3ToCenterChild=_t._h3ToCenterChild,rs=t._h3ToChildren=_t._h3ToChildren,Gp=t._h3ToGeo=_t._h3ToGeo,Wl=t._h3ToGeoBoundary=_t._h3ToGeoBoundary,_d=t._h3ToParent=_t._h3ToParent,yd=t._h3UnidirectionalEdgeIsValid=_t._h3UnidirectionalEdgeIsValid,vd=t._hexAreaKm2=_t._hexAreaKm2,xd=t._hexAreaM2=_t._hexAreaM2,lt=t._hexRing=_t._hexRing,ft=t._i64Subtract=_t._i64Subtract,Lt=t._kRing=_t._kRing,Kt=t._kRingDistances=_t._kRingDistances,ge=t._llvm_minnum_f64=_t._llvm_minnum_f64,Qe=t._llvm_round_f64=_t._llvm_round_f64,ti=t._malloc=_t._malloc,is=t._maxFaceCount=_t._maxFaceCount,Ts=t._maxH3ToChildrenSize=_t._maxH3ToChildrenSize,Vs=t._maxKringSize=_t._maxKringSize,Ra=t._maxPolyfillSize=_t._maxPolyfillSize,jm=t._maxUncompactSize=_t._maxUncompactSize,Ox=t._memcpy=_t._memcpy,Bx=t._memset=_t._memset,l_=t._numHexagons=_t._numHexagons,c_=t._pentagonIndexCount=_t._pentagonIndexCount,gf=t._pointDistKm=_t._pointDistKm,Gm=t._pointDistM=_t._pointDistM,fl=t._pointDistRads=_t._pointDistRads,Wm=t._polyfill=_t._polyfill,Hm=t._res0IndexCount=_t._res0IndexCount,Wp=t._round=_t._round,qm=t._sbrk=_t._sbrk,bd=t._sizeOfCoordIJ=_t._sizeOfCoordIJ,sh=t._sizeOfGeoBoundary=_t._sizeOfGeoBoundary,ui=t._sizeOfGeoCoord=_t._sizeOfGeoCoord,Zm=t._sizeOfGeoPolygon=_t._sizeOfGeoPolygon,Da=t._sizeOfGeofence=_t._sizeOfGeofence,Oa=t._sizeOfH3Index=_t._sizeOfH3Index,u_=t._sizeOfLinkedGeoPolygon=_t._sizeOfLinkedGeoPolygon,Ym=t._uncompact=_t._uncompact,Qm=t.establishStackSpace=_t.establishStackSpace,Hp=t.stackAlloc=_t.stackAlloc,$m=t.stackRestore=_t.stackRestore,qp=t.stackSave=_t.stackSave;if(t.asm=_t,t.cwrap=ut,t.setValue=j,t.getValue=Q,t.getTempRet0=R,bo){Ia(bo)||(bo=o(bo));{du(\"memory initializer\");var wd=function(Zt){Zt.byteLength&&(Zt=new Uint8Array(Zt)),Li.set(Zt,N),t.memoryInitializerRequest&&delete t.memoryInitializerRequest.response,ul(\"memory initializer\")},Zp=function(){c(bo,wd,function(){throw\"could not load memory initializer \"+bo})},Sd=ht(bo);if(Sd)wd(Sd.buffer);else if(t.memoryInitializerRequest){var Xm=function(){var Zt=t.memoryInitializerRequest,fe=Zt.response;if(Zt.status!==200&&Zt.status!==0){var Be=ht(t.memoryInitializerRequestURL);if(Be)fe=Be.buffer;else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+Zt.status+\", retrying \"+bo),Zp();return}}wd(fe)};t.memoryInitializerRequest.response?setTimeout(Xm,0):t.memoryInitializerRequest.addEventListener(\"load\",Xm)}else Zp()}}var Td;lo=function Zt(){Td||Au(),Td||(lo=Zt)};function Au(Zt){if(Zt=Zt||s,gi>0||(cl(),gi>0))return;function fe(){Td||(Td=!0,!et&&(xo(),Pa(),t.onRuntimeInitialized&&t.onRuntimeInitialized(),na()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),fe()},1)):fe()}t.run=Au;function oh(Zt){throw t.onAbort&&t.onAbort(Zt),Zt+=\"\",f(Zt),_(Zt),et=!0,\"abort(\"+Zt+\"). Build with -s ASSERTIONS=1 for more info.\"}if(t.abort=oh,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return Au(),e}(typeof Ic==\"object\"?Ic:{}),Tr=\"number\",PS=Tr,$r=Tr,mi=Tr,Pc=Tr,Hi=Tr,pyt=[[\"sizeOfH3Index\",Tr],[\"sizeOfGeoCoord\",Tr],[\"sizeOfGeoBoundary\",Tr],[\"sizeOfGeoPolygon\",Tr],[\"sizeOfGeofence\",Tr],[\"sizeOfLinkedGeoPolygon\",Tr],[\"sizeOfCoordIJ\",Tr],[\"h3IsValid\",PS,[$r,mi]],[\"geoToH3\",$r,[Tr,Tr,Pc]],[\"h3ToGeo\",null,[$r,mi,Hi]],[\"h3ToGeoBoundary\",null,[$r,mi,Hi]],[\"maxKringSize\",Tr,[Tr]],[\"kRing\",null,[$r,mi,Tr,Hi]],[\"kRingDistances\",null,[$r,mi,Tr,Hi,Hi]],[\"hexRing\",null,[$r,mi,Tr,Hi]],[\"maxPolyfillSize\",Tr,[Hi,Pc]],[\"polyfill\",null,[Hi,Pc,Hi]],[\"h3SetToLinkedGeo\",null,[Hi,Tr,Hi]],[\"destroyLinkedPolygon\",null,[Hi]],[\"compact\",Tr,[Hi,Hi,Tr]],[\"uncompact\",Tr,[Hi,Tr,Hi,Tr,Pc]],[\"maxUncompactSize\",Tr,[Hi,Tr,Pc]],[\"h3IsPentagon\",PS,[$r,mi]],[\"h3IsResClassIII\",PS,[$r,mi]],[\"h3GetBaseCell\",Tr,[$r,mi]],[\"h3GetResolution\",Tr,[$r,mi]],[\"maxFaceCount\",Tr,[$r,mi]],[\"h3GetFaces\",null,[$r,mi,Hi]],[\"h3ToParent\",$r,[$r,mi,Pc]],[\"h3ToChildren\",null,[$r,mi,Pc,Hi]],[\"h3ToCenterChild\",$r,[$r,mi,Pc]],[\"maxH3ToChildrenSize\",Tr,[$r,mi,Pc]],[\"h3IndexesAreNeighbors\",PS,[$r,mi,$r,mi]],[\"getH3UnidirectionalEdge\",$r,[$r,mi,$r,mi]],[\"getOriginH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"getDestinationH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"h3UnidirectionalEdgeIsValid\",PS,[$r,mi]],[\"getH3IndexesFromUnidirectionalEdge\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgesFromHexagon\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgeBoundary\",null,[$r,mi,Hi]],[\"h3Distance\",Tr,[$r,mi,$r,mi]],[\"h3Line\",Tr,[$r,mi,$r,mi,Hi]],[\"h3LineSize\",Tr,[$r,mi,$r,mi]],[\"experimentalH3ToLocalIj\",Tr,[$r,mi,$r,mi,Hi]],[\"experimentalLocalIjToH3\",Tr,[$r,mi,Hi,Hi]],[\"hexAreaM2\",Tr,[Pc]],[\"hexAreaKm2\",Tr,[Pc]],[\"edgeLengthM\",Tr,[Pc]],[\"edgeLengthKm\",Tr,[Pc]],[\"pointDistM\",Tr,[Hi,Hi]],[\"pointDistKm\",Tr,[Hi,Hi]],[\"pointDistRads\",Tr,[Hi,Hi]],[\"cellAreaM2\",Tr,[$r,mi]],[\"cellAreaKm2\",Tr,[$r,mi]],[\"cellAreaRads2\",Tr,[$r,mi]],[\"exactEdgeLengthM\",Tr,[$r,mi]],[\"exactEdgeLengthKm\",Tr,[$r,mi]],[\"exactEdgeLengthRads\",Tr,[$r,mi]],[\"numHexagons\",Tr,[Pc]],[\"getRes0Indexes\",null,[Hi]],[\"res0IndexCount\",Tr],[\"getPentagonIndexes\",null,[Tr,Hi]],[\"pentagonIndexCount\",Tr]],Ma={};pyt.forEach(function(t){Ma[t[0]]=Ic.cwrap.apply(Ic,t)});var xx=16;var IS=8,sae=Ma.sizeOfH3Index(),YQ=Ma.sizeOfGeoCoord(),Ayt=Ma.sizeOfGeoBoundary(),oae=Ma.sizeOfGeoPolygon(),aae=Ma.sizeOfGeofence(),lae=Ma.sizeOfLinkedGeoPolygon(),cae=Ma.sizeOfCoordIJ(),qQ={m:\"m\",m2:\"m2\",km:\"km\",km2:\"km2\",rads:\"rads\",rads2:\"rads2\"};function myt(e){if(typeof e!=\"number\"||e<0||e>15||Math.floor(e)!==e)throw new Error(\"Invalid resolution: \"+e)}var gyt=/[^0-9a-fA-F]/;function bx(e){if(Array.isArray(e)&&e.length===2&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if(typeof e!=\"string\"||gyt.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),xx),r=parseInt(e.substring(e.length-8),xx);return[r,t]}function ZQ(e){if(e>=0)return e.toString(xx);e=e&2147483647;var t=QQ(8,e.toString(xx)),r=(parseInt(t[0],xx)+8).toString(xx);return t=r+t.substring(1),t}function _yt(e,t){return ZQ(t)+QQ(8,ZQ(e))}function QQ(e,t){for(var r=e-t.length,i=\"\",s=0;s180?r[0]-=360:i<-180&&(r[0]+=360)}}function Myt(e,t,r){let[i,s]=FI(e),n=t.length;n$(t,s);let o=t[0]===t[n-1]?n-1:n;for(let c=0;ce.hexagon},extruded:!0},Np=class e extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){e._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:t}){return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}updateState({props:t,changeFlags:r}){if(t.highPrecision!==!0&&(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagon)){let i=this._calculateH3DataProps();this.setState(i)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let t=-1,r=!1,i=!1,{iterable:s,objectInfo:n}=Jc(this.props.data);for(let o of s){n.index++;let c=this.props.getHexagon(o,n),f=KQ(c);if(t<0){if(t=f,!this.props.highPrecision)break}else if(t!==f){i=!0;break}if(XQ(c)){r=!0;break}}return{resolution:t,edgeLengthKM:t>=0?r$(t,\"km\"):0,hasMultipleRes:i,hasPentagon:r}}_shouldUseHighPrecision(){if(this.props.highPrecision===\"auto\"){let{resolution:t,hasPentagon:r,hasMultipleRes:i}=this.state,{viewport:s}=this.context;return!!s?.resolution||i||r||t>=0&&t<=5}return this.props.highPrecision}_updateVertices(t){if(this._shouldUseHighPrecision())return;let{resolution:r,edgeLengthKM:i,centerHex:s}=this.state;if(r<0)return;let n=this.props.centerHexagon||JQ(t.latitude,t.longitude,r);if(s===n)return;if(s){let R=e$(s,n);if(R>=0&&R*i{let N=t.projectFlat(R);return[(N[0]-w)/o[0],(N[1]-I)/o[1]]}),this.setState({centerHex:n,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){let{elevationScale:t,material:r,coverage:i,extruded:s,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,getFillColor:R,getElevation:N,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:Y}=this.props;return{elevationScale:t,extruded:s,coverage:i,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,material:r,getElevation:N,getFillColor:R,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:{getFillColor:Y.getFillColor,getElevation:Y.getElevation,getLineColor:Y.getLineColor,getLineWidth:Y.getLineWidth}}}_renderPolygonLayer(){let{data:t,getHexagon:r,updateTriggers:i,coverage:s}=this.props,n=this.getSubLayerClass(\"hexagon-cell-hifi\",lf),o=this._getForwardProps();return o.updateTriggers.getPolygon=Iyt(i.getHexagon,s),new n(o,this.getSubLayerProps({id:\"hexagon-cell-hifi\",updateTriggers:o.updateTriggers}),{data:t,_normalize:!1,_windingOrder:\"CCW\",positionFormat:\"XY\",getPolygon:(c,f)=>{let _=r(c,f);return Pyt(i$(_,s))}})}_renderColumnLayer(){let{data:t,getHexagon:r,updateTriggers:i}=this.props,s=this.getSubLayerClass(\"hexagon-cell\",af),n=this._getForwardProps();return n.updateTriggers.getPosition=i.getHexagon,new s(n,this.getSubLayerProps({id:\"hexagon-cell\",flatShading:!0,updateTriggers:n.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Eyt.bind(null,r)})}};G(Np,\"defaultProps\",Cyt);G(Np,\"layerName\",\"H3HexagonLayer\");G(Np,\"_checkH3Lib\",()=>{});var{data:Sae,getHexagon:Tae,...Lyt}=Np.defaultProps,kyt={_validate:!0},Mae={...Lyt,...kyt};var s$=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function o$(e,t=!1,r=Float32Array){let i;if(Number.isFinite(e[0]))i=new r(e);else{i=new r(e.length*4);let s=0;for(let n=0;nc[0]),r=e.map(c=>c[1]),i=Math.min.apply(null,t),s=Math.max.apply(null,t),n=Math.min.apply(null,r),o=Math.max.apply(null,r);return[i,n,s,o]}function u$(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}var l$=new Float32Array(12);function tF(e,t=2){let r=0;for(let i of e)for(let s=0;s 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n`;var A$=`#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n`;var Sx=class extends dn{getShaders(){return{vs:p$,fs:A$,modules:[Rs]}}initializeState({gl:t}){this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}_getModel(t){let{vertexCount:r}=this.props;return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:r})})}draw({uniforms:t}){let{model:r}=this.state,{texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}=this.props;r.setUniforms({...t,texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}).draw()}};G(Sx,\"layerName\",\"TriangleLayer\");var m$=`attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n`;var g$=`varying vec4 weightsTexture;\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var _$=`attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\ngl_PointSize = 1.0;\n}\n`;var y$=`varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n`;var Dyt=2,eF={mipmaps:!1,parameters:{10240:9729,10241:9729,10242:33071,10243:33071},dataFormat:6408},v$=[0,0],Oyt={SUM:0,MEAN:1},Byt={getPosition:{type:\"accessor\",value:e=>e.position},getWeight:{type:\"accessor\",value:1},intensity:{type:\"number\",min:0,value:1},radiusPixels:{type:\"number\",min:1,max:100,value:50},colorRange:s$,threshold:{type:\"number\",min:0,max:1,value:.05},colorDomain:{type:\"array\",value:null,optional:!0},aggregation:\"SUM\",weightsTextureSize:{type:\"number\",min:128,max:2048,value:2048},debounceTimeout:{type:\"number\",min:0,max:1e3,value:500}},Fyt=[Ii.BLEND_EQUATION_MINMAX,Ii.TEXTURE_FLOAT],zyt=[Ii.COLOR_ATTACHMENT_RGBA32F,Ii.FLOAT_BLEND],Nyt={data:{props:[\"radiusPixels\"]}},Up=class extends wx{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){let{gl:t}=this.context;if(!Oh(t,Fyt)){this.setState({supported:!1}),or.error(\"HeatmapLayer: \".concat(this.id,\" is not supported on this browser\"))();return}super.initializeAggregationLayer(Nyt),this.setState({supported:!0,colorDomain:v$}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState(t){this.state.supported&&(super.updateState(t),this._updateHeatmapState(t))}_updateHeatmapState(t){let{props:r,oldProps:i}=t,s=this._getChangeFlags(t);(s.dataChanged||s.viewportChanged)&&(s.boundsChanged=this._updateBounds(s.dataChanged),this._updateTextureRenderingBounds()),s.dataChanged||s.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):s.viewportZoomChanged&&this._debouncedUpdateWeightmap(),r.colorRange!==i.colorRange&&this._updateColorTexture(t),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:t.context.viewport.zoom})}renderLayers(){if(!this.state.supported)return[];let{weightsTexture:t,triPositionBuffer:r,triTexCoordBuffer:i,maxWeightsTexture:s,colorTexture:n,colorDomain:o}=this.state,{updateTriggers:c,intensity:f,threshold:_,aggregation:w}=this.props,I=this.getSubLayerClass(\"triangle\",Sx);return new I(this.getSubLayerProps({id:\"triangle-layer\",updateTriggers:c}),{coordinateSystem:Yr.DEFAULT,data:{attributes:{positions:r,texCoords:i}},vertexCount:4,maxTexture:s,colorTexture:n,aggregationMode:Oyt[w]||0,texture:t,intensity:f,threshold:_,colorDomain:o})}finalizeState(t){super.finalizeState(t);let{weightsTransform:r,weightsTexture:i,maxWeightTransform:s,maxWeightsTexture:n,triPositionBuffer:o,triTexCoordBuffer:c,colorTexture:f,updateTimer:_}=this.state;r?.delete(),i?.delete(),s?.delete(),n?.delete(),o?.delete(),c?.delete(),f?.delete(),_&&clearTimeout(_)}_getAttributeManager(){return new Xf(this.context.gl,{id:this.props.id,stats:this.context.stats})}_getChangeFlags(t){let r={},{dimensions:i}=this.state;r.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(t,{compareAll:!0,dimension:i.data}),r.viewportChanged=t.changeFlags.viewportChanged;let{zoom:s}=this.state;return(!t.context.viewport||t.context.viewport.zoom!==s)&&(r.viewportZoomChanged=!0),r}_createTextures(){let{gl:t}=this.context,{textureSize:r,format:i,type:s}=this.state;this.setState({weightsTexture:new pi(t,{width:r,height:r,format:i,type:s,...eF}),maxWeightsTexture:new pi(t,{format:i,type:s,...eF})})}_setupAttributes(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:\"getPosition\"},weights:{size:1,accessor:\"getWeight\"}}),this.setState({positionAttributeName:\"positions\"})}_setupTextureParams(){let{gl:t}=this.context,{weightsTextureSize:r}=this.props,i=Math.min(r,wy(t,3379)),s=Oh(t,zyt),{format:n,type:o}=d$({gl:t,floatTargetSupport:s}),c=s?1:1/255;this.setState({textureSize:i,format:n,type:o,weightsScale:c}),s||or.warn(\"HeatmapLayer: \".concat(this.id,\" rendering to float texture not supported, fallingback to low precession format\"))()}getShaders(t){return super.getShaders(t===\"max-weights-transform\"?{vs:_$,_fs:y$}:{vs:m$,_fs:g$})}_createWeightsTransform(t={}){var r;let{gl:i}=this.context,{weightsTransform:s}=this.state,{weightsTexture:n}=this.state;(r=s)===null||r===void 0||r.delete(),s=new nc(i,{id:\"\".concat(this.id,\"-weights-transform\"),elementCount:1,_targetTexture:n,_targetTextureVarying:\"weightsTexture\",...t}),this.setState({weightsTransform:s})}_setupResources(){let{gl:t}=this.context;this._createTextures();let{textureSize:r,weightsTexture:i,maxWeightsTexture:s}=this.state,n=this.getShaders(\"weights-transform\");this._createWeightsTransform(n);let o=this.getShaders(\"max-weights-transform\"),c=new nc(t,{id:\"\".concat(this.id,\"-max-weights-transform\"),_sourceTextures:{inTexture:i},_targetTexture:s,_targetTextureVarying:\"outTexture\",...o,elementCount:r*r});this.setState({weightsTexture:i,maxWeightsTexture:s,maxWeightTransform:c,zoom:null,triPositionBuffer:new Fr(t,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Fr(t,{byteLength:48,accessor:{size:2}})})}updateShaders(t){this._createWeightsTransform(t)}_updateMaxWeightValue(){let{maxWeightTransform:t}=this.state;t.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}_updateBounds(t=!1){let{viewport:r}=this.context,i=[r.unproject([0,0]),r.unproject([r.width,0]),r.unproject([r.width,r.height]),r.unproject([0,r.height])].map(c=>c.map(Math.fround)),s=c$(i),n={visibleWorldBounds:s,viewportCorners:i},o=!1;if(t||!this.state.worldBounds||!u$(this.state.worldBounds,s)){let c=this._worldToCommonBounds(s),f=this._commonToWorldBounds(c);this.props.coordinateSystem===Yr.LNGLAT&&(f[1]=Math.max(f[1],-85.051129),f[3]=Math.min(f[3],85.051129),f[0]=Math.max(f[0],-360),f[2]=Math.min(f[2],360));let _=this._worldToCommonBounds(f);n.worldBounds=f,n.normalizedCommonBounds=_,o=!0}return this.setState(n),o}_updateTextureRenderingBounds(){let{triPositionBuffer:t,triTexCoordBuffer:r,normalizedCommonBounds:i,viewportCorners:s}=this.state,{viewport:n}=this.context;t.subData(tF(s,3));let o=s.map(c=>f$(n.projectPosition(c),i));r.subData(tF(o,2))}_updateColorTexture(t){let{colorRange:r}=t.props,{colorTexture:i}=this.state,s=o$(r,!1,Uint8Array);i?i.setImageData({data:s,width:r.length}):i=new pi(this.context.gl,{data:s,width:r.length,height:1,...eF}),this.setState({colorTexture:i})}_updateWeightmap(){let{radiusPixels:t,colorDomain:r,aggregation:i}=this.props,{weightsTransform:s,worldBounds:n,textureSize:o,weightsTexture:c,weightsScale:f}=this.state;this.state.isWeightMapDirty=!1;let _=this._worldToCommonBounds(n,{useLayerCoordinateSystem:!0});if(r&&i===\"SUM\"){let{viewport:I}=this.context,R=I.distanceScales.metersPerUnit[2]*(_[2]-_[0])/o;this.state.colorDomain=r.map(N=>N*R*f)}else this.state.colorDomain=r||v$;let w={radiusPixels:t,commonBounds:_,textureWidth:o,weightsScale:f};s.update({elementCount:this.getNumInstances()}),Mn(this.context.gl,{clearColor:[0,0,0,0]},()=>{s.run({uniforms:w,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()})}),this._updateMaxWeightValue(),c.setParameters({10240:9729,10241:9729})}_debouncedUpdateWeightmap(t=!1){let{updateTimer:r}=this.state,{debounceTimeout:i}=this.props;t?(r=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(r),r=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),i)),this.setState({updateTimer:r})}_worldToCommonBounds(t,r={}){let{useLayerCoordinateSystem:i=!1}=r,[s,n,o,c]=t,{viewport:f}=this.context,{textureSize:_}=this.state,{coordinateSystem:w}=this.props,I=i&&(w===Yr.LNGLAT_OFFSETS||w===Yr.METER_OFFSETS),R=I?f.projectPosition(this.props.coordinateOrigin):[0,0],N=_*Dyt/f.scale,j,Q;return i&&!I?(j=this.projectPosition([s,n,0]),Q=this.projectPosition([o,c,0])):(j=f.projectPosition([s,n,0]),Q=f.projectPosition([o,c,0])),h$([j[0]-R[0],j[1]-R[1],Q[0]-R[0],Q[1]-R[1]],N,N)}_commonToWorldBounds(t){let[r,i,s,n]=t,{viewport:o}=this.context,c=o.unprojectPosition([r,i]),f=o.unprojectPosition([s,n]);return c.slice(0,2).concat(f.slice(0,2))}};G(Up,\"layerName\",\"HeatmapLayer\");G(Up,\"defaultProps\",Byt);var{data:Ale,getPosition:mle,...Uyt}=Up.defaultProps,x$={_validate:!0},Vyt={...Uyt,...x$},CS=class extends Ni{static defaultProps=Vyt;static layerName=\"GeoArrowHeatmapLayer\";renderLayers(){let{data:t}=this.props,r=ws(t,Kn.POINT);if(r!==null)return this._renderLayersPoint(r);let i=this.props.getPosition;if(i!==void 0&&Ci.isPointVector(i))return this._renderLayersPoint(i);throw new Error(\"getPosition not GeoArrow point\")}_renderLayersPoint(t){let{data:r}=this.props;this.props._validate&&(_r(Ci.isPointVector(t)),no(this.props,r));let[i,s]=io(this.props,[\"getPosition\"]),n=vo(r.data),o=[];for(let c=0;cr.text()),earcutWorkerPool:null}}async initEarcutPool(){if(this.state.earcutWorkerPool)return this.state.earcutWorkerPool;let t=await this.state.earcutWorkerRequest;if(!t||window?.location?.href.startsWith(\"file://\"))return null;try{let r=RX(()=>LX(kX.fromText(t)),8);return this.state.earcutWorkerPool=r,this.state.earcutWorkerPool}catch{return null}}async finalizeState(t){await this.state?.earcutWorkerPool?.terminate(),console.log(\"terminated\")}async updateData(){let{data:t}=this.props,r=await this._updateEarcut(t),i=vo(t.data);this.setState({table:this.props.data,triangles:r,tableOffsets:i})}async _updateEarcut(t){let r=ws(t,Kn.POLYGON);if(r!==null)return this._earcutPolygonVector(r);let i=ws(t,Kn.MULTIPOLYGON);if(i!==null)return this._earcutMultiPolygonVector(i);let s=this.props.getPolygon;if(s!==void 0&&Ci.isPolygonVector(s))return this._earcutPolygonVector(s);if(s!==void 0&&Ci.isMultiPolygonVector(s))return this._earcutMultiPolygonVector(s);throw new Error(\"geometryColumn not Polygon or MultiPolygon\")}async _earcutPolygonVector(t){let r=await this.initEarcutPool();if(!r)return this._earcutPolygonVectorMainThread(t);let i=new Array(t.data.length);console.time(\"earcut\");for(let s=0;s{let _=await f(LF(o,c));i[s]=_})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;i{let w=await _(LF(c,f));i[s]=w})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutMultiPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;iDX(t))):e}function OX(e){if(\"data\"in e)return new xr(e.data.map(o=>OX(o)));let t=e.valueOffsets,r=vi.getMultiPolygonChild(e),i=r.valueOffsets,s=vi.getPolygonChild(r),n=new Int32Array(t.length);for(let o=0;o{this.table=O2(this.model.get(t))};this.model.on(`change:${t}`,r),this.callbacks.set(`change:${t}`,r)}},tC=class extends mf{static layerType=\"arc\";greatCircle;numSegments;widthUnits;widthScale;widthMinPixels;widthMaxPixels;getSourcePosition;getTargetPosition;getSourceColor;getTargetColor;getWidth;getHeight;getTilt;constructor(t,r){super(t,r),this.initRegularAttribute(\"great_circle\",\"greatCircle\"),this.initRegularAttribute(\"num_segments\",\"numSegments\"),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initVectorizedAccessor(\"get_source_position\",\"getSourcePosition\"),this.initVectorizedAccessor(\"get_target_position\",\"getTargetPosition\"),this.initVectorizedAccessor(\"get_source_color\",\"getSourceColor\"),this.initVectorizedAccessor(\"get_target_color\",\"getTargetColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\"),this.initVectorizedAccessor(\"get_height\",\"getHeight\"),this.initVectorizedAccessor(\"get_tilt\",\"getTilt\")}layerProps(){return{data:this.table,getSourcePosition:this.getSourcePosition,getTargetPosition:this.getTargetPosition,...Jt(this.greatCircle)&&{greatCircle:this.greatCircle},...Jt(this.numSegments)&&{numSegments:this.numSegments},...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.getSourceColor)&&{getSourceColor:this.getSourceColor},...Jt(this.getTargetColor)&&{getTargetColor:this.getTargetColor},...Jt(this.getWidth)&&{getWidth:this.getWidth},...Jt(this.getHeight)&&{getHeight:this.getHeight},...Jt(this.getTilt)&&{getTilt:this.getTilt}}}render(){return new wS({...this.baseLayerProps(),...this.layerProps()})}},eC=class extends Ug{static layerType=\"bitmap\";image;bounds;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"image\",\"image\"),this.initRegularAttribute(\"bounds\",\"bounds\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}layerProps(){return{...Jt(this.image)&&{image:this.image},...Jt(this.bounds)&&{bounds:this.bounds},...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}render(){return new Mp({...this.baseLayerProps(),...this.layerProps(),data:void 0,pickable:!1})}},rC=class extends Ug{static layerType=\"bitmap-tile\";data;tileSize;zoomOffset;maxZoom;minZoom;extent;maxCacheSize;maxCacheByteSize;refinementStrategy;maxRequests;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"data\",\"data\"),this.initRegularAttribute(\"tile_size\",\"tileSize\"),this.initRegularAttribute(\"zoom_offset\",\"zoomOffset\"),this.initRegularAttribute(\"max_zoom\",\"maxZoom\"),this.initRegularAttribute(\"min_zoom\",\"minZoom\"),this.initRegularAttribute(\"extent\",\"extent\"),this.initRegularAttribute(\"max_cache_size\",\"maxCacheSize\"),this.initRegularAttribute(\"max_cache_byte_size\",\"maxCacheByteSize\"),this.initRegularAttribute(\"refinement_strategy\",\"refinementStrategy\"),this.initRegularAttribute(\"max_requests\",\"maxRequests\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}bitmapLayerProps(){return{...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}layerProps(){return{data:this.data,...Jt(this.tileSize)&&{tileSize:this.tileSize},...Jt(this.zoomOffset)&&{zoomOffset:this.zoomOffset},...Jt(this.maxZoom)&&{maxZoom:this.maxZoom},...Jt(this.minZoom)&&{minZoom:this.minZoom},...Jt(this.extent)&&{extent:this.extent},...Jt(this.maxCacheSize)&&{maxCacheSize:this.maxCacheSize},...Jt(this.maxCacheByteSize)&&{maxCacheByteSize:this.maxCacheByteSize},...Jt(this.refinementStrategy)&&{refinementStrategy:this.refinementStrategy},...Jt(this.maxRequests)&&{maxRequests:this.maxRequests}}}render(){return new Lm({...this.baseLayerProps(),...this.layerProps(),renderSubLayers:t=>{let[r,i]=t.tile.boundingBox;return new Mp(t,{...this.bitmapLayerProps(),data:void 0,image:t.data,bounds:[r[0],r[1],i[0],i[1]]})}})}},iC=class extends mf{static layerType=\"column\";diskResolution;radius;angle;vertices;offset;coverage;elevationScale;filled;stroked;extruded;wireframe;flatShading;radiusUnits;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;material;getPosition;getFillColor;getLineColor;getElevation;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"disk_resolution\",\"diskResolution\"),this.initRegularAttribute(\"radius\",\"radius\"),this.initRegularAttribute(\"angle\",\"angle\"),this.initRegularAttribute(\"vertices\",\"vertices\"),this.initRegularAttribute(\"offset\",\"offset\"),this.initRegularAttribute(\"coverage\",\"coverage\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"flat_shading\",\"flatShading\"),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"material\",\"material\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.diskResolution)&&{diskResolution:this.diskResolution},...Jt(this.radius)&&{radius:this.radius},...Jt(this.angle)&&{angle:this.angle},...Jt(this.vertices)&&this.vertices!==void 0&&{vertices:this.vertices},...Jt(this.offset)&&{offset:this.offset},...Jt(this.coverage)&&{coverage:this.coverage},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.filled)&&{filled:this.filled},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.flatShading)&&{flatShading:this.flatShading},...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.material)&&{material:this.material},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new SS({...this.baseLayerProps(),...this.layerProps()})}},nC=class extends mf{static layerType=\"heatmap\";radiusPixels;colorRange;intensity;threshold;colorDomain;aggregation;weightsTextureSize;debounceTimeout;getPosition;getWeight;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_pixels\",\"radiusPixels\"),this.initRegularAttribute(\"color_range\",\"colorRange\"),this.initRegularAttribute(\"intensity\",\"intensity\"),this.initRegularAttribute(\"threshold\",\"threshold\"),this.initRegularAttribute(\"color_domain\",\"colorDomain\"),this.initRegularAttribute(\"aggregation\",\"aggregation\"),this.initRegularAttribute(\"weights_texture_size\",\"weightsTextureSize\"),this.initRegularAttribute(\"debounce_timeout\",\"debounceTimeout\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_weight\",\"getWeight\")}layerProps(){return{data:this.table,...Jt(this.radiusPixels)&&{radiusPixels:this.radiusPixels},...Jt(this.colorRange)&&{colorRange:this.colorRange},...Jt(this.intensity)&&{intensity:this.intensity},...Jt(this.threshold)&&{threshold:this.threshold},...Jt(this.colorDomain)&&{colorDomain:this.colorDomain},...Jt(this.aggregation)&&{aggregation:this.aggregation},...Jt(this.weightsTextureSize)&&{weightsTextureSize:this.weightsTextureSize},...Jt(this.debounceTimeout)&&{debounceTimeout:this.debounceTimeout},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getWeight)&&{getWeight:this.getWeight}}}render(){return new CS({...this.baseLayerProps(),...this.layerProps()})}},QS=class extends mf{static layerType=\"path\";widthUnits;widthScale;widthMinPixels;widthMaxPixels;jointRounded;capRounded;miterLimit;billboard;getColor;getWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initRegularAttribute(\"joint_rounded\",\"jointRounded\"),this.initRegularAttribute(\"cap_rounded\",\"capRounded\"),this.initRegularAttribute(\"miter_limit\",\"miterLimit\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\")}layerProps(){return{data:this.table,...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.jointRounded)&&{jointRounded:this.jointRounded},...Jt(this.capRounded)&&{capRounded:this.capRounded},...Jt(this.miterLimit)&&{miterLimit:this.miterLimit},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getWidth)&&{getWidth:this.getWidth}}}render(){return new e_({...this.baseLayerProps(),...this.layerProps()})}},sC=class extends mf{static layerType=\"point-cloud\";sizeUnits;pointSize;getColor;getNormal;constructor(t,r){super(t,r),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"point_size\",\"pointSize\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_normal\",\"getNormal\")}layerProps(){return{data:this.table,...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.pointSize)&&{pointSize:this.pointSize},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getNormal)&&{getNormal:this.getNormal}}}render(){return new LS({...this.baseLayerProps(),...this.layerProps()})}},oC=class extends mf{static layerType=\"polygon\";stroked;filled;extruded;wireframe;elevationScale;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;lineJointRounded;lineMiterLimit;getFillColor;getLineColor;getLineWidth;getElevation;constructor(t,r){super(t,r),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"line_joint_rounded\",\"lineJointRounded\"),this.initRegularAttribute(\"line_miter_limit\",\"lineMiterLimit\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\")}layerProps(){return{data:this.table,...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.lineJointRounded)&&{lineJointRounded:this.lineJointRounded},...Jt(this.lineMiterLimit)&&{lineMiterLimit:this.lineMiterLimit},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth},...Jt(this.getElevation)&&{getElevation:this.getElevation}}}render(){return new qS({...this.baseLayerProps(),...this.layerProps()})}},$S=class extends mf{static layerType=\"scatterplot\";radiusUnits;radiusScale;radiusMinPixels;radiusMaxPixels;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;stroked;filled;billboard;antialiasing;getRadius;getFillColor;getLineColor;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"radius_scale\",\"radiusScale\"),this.initRegularAttribute(\"radius_min_pixels\",\"radiusMinPixels\"),this.initRegularAttribute(\"radius_max_pixels\",\"radiusMaxPixels\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"antialiasing\",\"antialiasing\"),this.initVectorizedAccessor(\"get_radius\",\"getRadius\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.radiusScale)&&{radiusScale:this.radiusScale},...Jt(this.radiusMinPixels)&&{radiusMinPixels:this.radiusMinPixels},...Jt(this.radiusMaxPixels)&&{radiusMaxPixels:this.radiusMaxPixels},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.antialiasing)&&{antialiasing:this.antialiasing},...Jt(this.getRadius)&&{getRadius:this.getRadius},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new ZS({...this.baseLayerProps(),...this.layerProps()})}},XS=class extends mf{static layerType=\"solid-polygon\";filled;extruded;wireframe;elevationScale;getElevation;getFillColor;getLineColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\")}layerProps(){return{data:this.table,...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor}}}render(){return new o_({...this.baseLayerProps(),...this.layerProps()})}},aC=class extends mf{static layerType=\"text\";billboard;sizeScale;sizeUnits;sizeMinPixels;sizeMaxPixels;getBackgroundColor;getBorderColor;getBorderWidth;backgroundPadding;characterSet;fontFamily;fontWeight;lineHeight;outlineWidth;outlineColor;fontSettings;wordBreak;maxWidth;getText;getPosition;getColor;getSize;getAngle;getTextAnchor;getAlignmentBaseline;getPixelOffset;constructor(t,r){super(t,r),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"size_scale\",\"sizeScale\"),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"size_min_pixels\",\"sizeMinPixels\"),this.initRegularAttribute(\"size_max_pixels\",\"sizeMaxPixels\"),this.initRegularAttribute(\"background_padding\",\"backgroundPadding\"),this.initRegularAttribute(\"character_set\",\"characterSet\"),this.initRegularAttribute(\"font_family\",\"fontFamily\"),this.initRegularAttribute(\"font_weight\",\"fontWeight\"),this.initRegularAttribute(\"line_height\",\"lineHeight\"),this.initRegularAttribute(\"outline_width\",\"outlineWidth\"),this.initRegularAttribute(\"outline_color\",\"outlineColor\"),this.initRegularAttribute(\"font_settings\",\"fontSettings\"),this.initRegularAttribute(\"word_break\",\"wordBreak\"),this.initRegularAttribute(\"max_width\",\"maxWidth\"),this.initVectorizedAccessor(\"get_background_color\",\"getBackgroundColor\"),this.initVectorizedAccessor(\"get_border_color\",\"getBorderColor\"),this.initVectorizedAccessor(\"get_border_width\",\"getBorderWidth\"),this.initVectorizedAccessor(\"get_text\",\"getText\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_size\",\"getSize\"),this.initVectorizedAccessor(\"get_angle\",\"getAngle\"),this.initVectorizedAccessor(\"get_text_anchor\",\"getTextAnchor\"),this.initVectorizedAccessor(\"get_alignment_baseline\",\"getAlignmentBaseline\"),this.initVectorizedAccessor(\"get_pixel_offset\",\"getPixelOffset\")}layerProps(){return{data:this.table,getText:this.getText,...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.sizeScale)&&{sizeScale:this.sizeScale},...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.sizeMinPixels)&&{sizeMinPixels:this.sizeMinPixels},...Jt(this.sizeMaxPixels)&&{sizeMaxPixels:this.sizeMaxPixels},...Jt(this.backgroundPadding)&&{backgroundPadding:this.backgroundPadding},...Jt(this.characterSet)&&{characterSet:this.characterSet},...Jt(this.fontFamily)&&{fontFamily:this.fontFamily},...Jt(this.fontWeight)&&{fontWeight:this.fontWeight},...Jt(this.lineHeight)&&{lineHeight:this.lineHeight},...Jt(this.outlineWidth)&&{outlineWidth:this.outlineWidth},...Jt(this.outlineColor)&&{outlineColor:this.outlineColor},...Jt(this.fontSettings)&&{fontSettings:this.fontSettings},...Jt(this.wordBreak)&&{wordBreak:this.wordBreak},...Jt(this.maxWidth)&&{maxWidth:this.maxWidth},...Jt(this.getBackgroundColor)&&{getBackgroundColor:this.getBackgroundColor},...Jt(this.getBorderColor)&&{getBorderColor:this.getBorderColor},...Jt(this.getBorderWidth)&&{getBorderWidth:this.getBorderWidth},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getSize)&&{getSize:this.getSize},...Jt(this.getAngle)&&{getAngle:this.getAngle},...Jt(this.getTextAnchor)&&{getTextAnchor:this.getTextAnchor},...Jt(this.getAlignmentBaseline)&&{getAlignmentBaseline:this.getAlignmentBaseline},...Jt(this.getPixelOffset)&&{getPixelOffset:this.getPixelOffset}}}render(){return new YS({...this.baseLayerProps(),...this.layerProps()})}};async function DF(e,t){let r=e.get(\"_layer_type\"),i;switch(r){case tC.layerType:i=new tC(e,t);break;case eC.layerType:i=new eC(e,t);break;case rC.layerType:i=new rC(e,t);break;case iC.layerType:i=new iC(e,t);break;case nC.layerType:i=new nC(e,t);break;case QS.layerType:i=new QS(e,t);break;case sC.layerType:i=new sC(e,t);break;case oC.layerType:i=new oC(e,t);break;case $S.layerType:i=new $S(e,t);break;case XS.layerType:i=new XS(e,t);break;case aC.layerType:i=new aC(e,t);break;default:throw new Error(`no layer supported for ${r}`)}return await i.loadSubModels(),i}var lC=Symbol.for(\"rowIndex\");function U1t(e){return`\n \n ${Object.keys(e).map(t=>{let r=e[t];return`\n \n \n `}).join(\"\")}\n \n
${t}${r}
`}function FX({object:e}){if(e){if(e[lC]===null||e[lC]===void 0||e[lC]&&e[lC]<0)return null;let t=e.toJSON();return!t||(delete t.geometry,Object.keys(t).length===0)?null:{className:\"lonboard-tooltip\",html:U1t(t),style:{backgroundColor:\"#fff\",boxShadow:\"0 0 15px rgba(0, 0, 0, 0.1)\",color:\"#000\",padding:\"6px\"}}}return null}var cC,V1t=new Uint8Array(16);function OF(){if(!cC&&(cC=typeof crypto<\"u\"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!cC))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return cC(V1t)}var Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));function zX(e,t=0){return Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]}var j1t=typeof crypto<\"u\"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),BF={randomUUID:j1t};function G1t(e,t,r){if(BF.randomUUID&&!t&&!e)return BF.randomUUID();e=e||{};let i=e.random||(e.rng||OF)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let s=0;s<16;++s)t[r+s]=i[s];return t}return zX(i)}var FF=G1t;function NX(e,t){let{longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,curve:f,speed:_,screenSpeed:w}=e,I=new nv({...Jt(f)&&{curve:f},...Jt(_)&&{speed:_},...Jt(w)&&{screenSpeed:w}});t({longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,transitionInterpolator:I})}var uC=Ri(Yi(),1);var W1t=DH(e=>{let t=e.get(\"view_state\");\"transitionInterpolator\"in t&&(console.debug(\"Deleting transitionInterpolator!\"),delete t.transitionInterpolator,e.set(\"view_state\",t)),e.save_changes()},300);function UX(e){let t=Y1(),[r,i]=uC.useState(t.get(e));return uC.useEffect(()=>{let s=()=>{i(t.get(e))};return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),W1t(t)}]}await kH();var H1t={latitude:10,longitude:0,zoom:.5,bearing:0,pitch:0},q1t=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\";async function Z1t(e,t,r,i){let s={},n=()=>i(new Date);for(let o=0;o{switch(et.type){case\"fly-to\":NX(et,f);break;default:break}});let[_]=(0,a_.useState)(FF()),[w,I]=(0,a_.useState)({}),[R]=zA(\"layers\"),[N,j]=(0,a_.useState)(new Date);(0,a_.useEffect)(()=>{(async()=>{let Y=await L3(e.widget_manager,R),K=await Z1t(Y,R,w,j);I(K)})().catch(console.error)},[R]);let Q=[];for(let et of Object.values(w))Q.push(et.render());return(0,a_.useEffect)(()=>{if(r)return;let Y=document.getElementById(`map-${_}`)?.parentElement;if(Y){let K=window.getComputedStyle(Y);(!K.height||K.height===\"0px\")&&(Y.style.height=\"100%\",Y.style.minHeight=\"500px\")}},[]),hC.createElement(\"div\",{id:`map-${_}`,style:{height:r||\"100%\"}},hC.createElement(GD,{initialViewState:[\"longitude\",\"latitude\",\"zoom\"].every(et=>Object.keys(c).includes(et))?c:H1t,controller:!0,layers:Q,getTooltip:i&&FX,pickingRadius:s,useDevicePixels:Jt(n)?n:!0,_typedArrayManagerProps:{overAlloc:1,poolSize:0},onViewStateChange:et=>{let{viewState:Y}=et,{longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt}=Y;f({longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt})},parameters:o||{}},hC.createElement(iU,{mapStyle:t||q1t})))}var Q1t={render:j8(Y1t)},Che=Q1t;export{Che as default};\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nhammerjs/hammer.js:\n (*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license *)\n*/\n", + "_height": 800, + "_model_module": "anywidget", + "_model_module_version": "~0.9.*", + "_model_name": "AnyModel", + "_view_module": "anywidget", + "_view_module_version": "~0.9.*", + "_view_name": "AnyView", + "basemap_style": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json", + "layers": [ + "IPY_MODEL_2cecf8767bd84d1b9b124de996f3e738" + ], + "layout": "IPY_MODEL_2a268e7e985445b2b3d84555a6cd9bde", + "parameters": null, + "picking_radius": 5, + "show_tooltip": true, + "use_device_pixels": null, + "view_state": { + "bearing": 0, + "latitude": 39.12945538939195, + "longitude": -84.49807886250348, + "pitch": 0, + "zoom": 12 + } + } + }, + "dcb9c0d18cf044c88ed7aef4d7e29c97": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "f49ff5edc12e40d2925533efe1ac4fb2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} } }, "version_major": 2, From c88b3456c664ca5dae1024ca283298df6c67d1fc Mon Sep 17 00:00:00 2001 From: eli knaap Date: Wed, 24 Jul 2024 10:09:45 -0700 Subject: [PATCH 8/9] use a different color --- notebooks/08_manual_coloring.ipynb | 6155 ++++++++++++++-------------- 1 file changed, 3070 insertions(+), 3085 deletions(-) diff --git a/notebooks/08_manual_coloring.ipynb b/notebooks/08_manual_coloring.ipynb index 3459918c..99e963be 100644 --- a/notebooks/08_manual_coloring.ipynb +++ b/notebooks/08_manual_coloring.ipynb @@ -6,11 +6,11 @@ "id": "1d5cebc1-08a5-4f67-94b0-3bdb849b820d", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:28.345149Z", - "iopub.status.busy": "2024-07-24T16:41:28.344705Z", - "iopub.status.idle": "2024-07-24T16:41:30.348486Z", - "shell.execute_reply": "2024-07-24T16:41:30.348097Z", - "shell.execute_reply.started": "2024-07-24T16:41:28.345108Z" + "iopub.execute_input": "2024-07-24T17:03:35.627924Z", + "iopub.status.busy": "2024-07-24T17:03:35.626902Z", + "iopub.status.idle": "2024-07-24T17:03:37.564174Z", + "shell.execute_reply": "2024-07-24T17:03:37.563798Z", + "shell.execute_reply.started": "2024-07-24T17:03:35.627890Z" } }, "outputs": [ @@ -20,20 +20,21 @@ "text": [ "Author: eli knaap\n", "\n", - "geodatasets: 2024.7.0\n", "mapclassify: 2.7.1.dev0+gaf62513092fd.d20240723\n", "pandas : 2.1.4\n", "geopandas : 0.14.2\n", + "geodatasets: 2024.7.0\n", "\n" ] } ], "source": [ "import geodatasets\n", - "import pandas as pd\n", "import geopandas as gpd\n", "import mapclassify\n", + "import pandas as pd\n", "from mapclassify.util import get_color_array\n", + "\n", "%load_ext watermark\n", "%watermark -a 'eli knaap' -iv" ] @@ -44,11 +45,11 @@ "id": "8aa8876b-aafe-456b-895a-b34f7311746f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:30.349210Z", - "iopub.status.busy": "2024-07-24T16:41:30.349063Z", - "iopub.status.idle": "2024-07-24T16:41:31.144605Z", - "shell.execute_reply": "2024-07-24T16:41:31.144154Z", - "shell.execute_reply.started": "2024-07-24T16:41:30.349200Z" + "iopub.execute_input": "2024-07-24T17:03:37.565112Z", + "iopub.status.busy": "2024-07-24T17:03:37.564970Z", + "iopub.status.idle": "2024-07-24T17:03:38.397560Z", + "shell.execute_reply": "2024-07-24T17:03:38.397130Z", + "shell.execute_reply.started": "2024-07-24T17:03:37.565102Z" } }, "outputs": [], @@ -62,11 +63,11 @@ "id": "baa23e00-83ea-4962-90c5-695893d17f03", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:31.145250Z", - "iopub.status.busy": "2024-07-24T16:41:31.145149Z", - "iopub.status.idle": "2024-07-24T16:41:31.562224Z", - "shell.execute_reply": "2024-07-24T16:41:31.561906Z", - "shell.execute_reply.started": "2024-07-24T16:41:31.145240Z" + "iopub.execute_input": "2024-07-24T17:03:38.398040Z", + "iopub.status.busy": "2024-07-24T17:03:38.397952Z", + "iopub.status.idle": "2024-07-24T17:03:38.776513Z", + "shell.execute_reply": "2024-07-24T17:03:38.776170Z", + "shell.execute_reply.started": "2024-07-24T17:03:38.398031Z" } }, "outputs": [ @@ -82,7 +83,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAM6CAYAAAC7MYkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd5ydZZ028Ospp5fpNZNKIIUEAgmgEiAoFhDpAi6vLrqii4q+q9gXld21wYrltSBY2EWUXgTpISSElt7LpE+mt9PbU98/Jj1TTn/Ombm+n8/5JDnnKb8pmTnP9dz37xZM0zRBRERERERERFQkotUFEBEREREREdHEwjCCiIiIiIiIiIqKYQQRERERERERFRXDCCIiIiIiIiIqKoYRRERERERERFRUDCOIiIiIiIiIqKgYRhARERERERFRUTGMICIiIiIiIqKiYhhBREREREREREXFMIKIiIiIiIiIiophBBEREREREREVFcMIIiIiIiIiIioqhhFEREREREREVFQMI4iIiIiIiIioqBhGEBEREREREVFRMYwgIiIiIiIioqKSrS6A8i+ZTGLz5s0AgLq6Osgyv8xERERERER0lKZp6OvrAwDMnz8fTqezqOfnVeo4tHnzZpx77rlWl0FERERERERlYNWqVTjnnHOKek5O0yAiIiIiIiKiouLIiHGorq7uyN9XrVqFpqYmC6shIiIiIiKiUtPV1XVkRP2x15DFwjBiHDq2R0RTUxNaWlosrIaIiIiIiIhKmRV9BjlNg4iIiIiIiIiKimEEERERERERERUVwwgiIiIiIiIiKiqGEURERERERERUVAwjiIiIiIiIiKioGEYQERERERERUVExjCAiIiIiIiKiomIYQURERERERERFxTCCiIiIiIiIiIqKYQQRERERERERFRXDCCIiIiIiIiIqKoYRRERERERERFRUDCOIiIiIiIiIqKgYRhARERERERFRUTGMICIiIiIiIqKiYhhBREREREREREXFMIKIiIiIiIiIiophBBEREREREREVFcMIIiIiIiIiIioqhhFEREREREREVFQMI4iIiIiIiIioqBhGEBEREREREVFRMYwgIiIiIiIioqJiGEFERERERERERcUwgoiIiIiIiIiKimEEERERERERERUVwwgiIiIiIiIiKiqGEURERERERERUVAwjiIiIiIiIiKioGEYQERERERERUVExjCAiIgKgG4bVJRARERFNGLLVBRAREVnNNE3c9ORj2NbXi3qvBw0eHxo8HjR4vWjweFHv8aLx0N/rPB7YJcnqkomIiIjKGsMIIiKa8FYePIBVne0AgGhAwd5AYNTta1wu1Hu8R8KKhkN/r/d40Ojxot7rRY3LDVEQilE+ERERUdlhGEFERBOaaZq45+03M9pnIJHAQCKB7f19I24jiyLq3J4jQcVwIy3qPV74HY5cPwQiIiKissMwgoiIJrSl+/ZgY0933o+rGQa6ohF0RSNAz8jb3bzgbHzzfRfAIfNXMhEREU0cbGBJREQTlmGauOedtyyt4YEN6/Dxx/6GfcHRp4YQERERjScMI4iIaMJ6ftdO7BhlqkWxbOnrxRV/exBP79hudSlERERERcEwgoiIJiTNMPCLd60dFXGsmKriqy8/j6+/8iLiqmp1OUREREQFxTCCiIgmpGd2bh9z1QwrPLF9K654+EFs7+u1uhQiIiKigmEYQUREE46i6/hlCY2KONHeQABXP/pXPLhpA0zTtLocIiIiorxjGEFERBPOXzZtQHs4bHUZo1J0Hd9/fSke2rzR6lKIiIiI8o5hBBERTSgD8Th++e7bVpeRtrvefAOdkdIOToiIiIgyxTCCiIgmlJ+9vRIRJWV1GWmLqgruWLaU0zWIiIhoXGEYQUREE8aW3h48snWz1WVkbNn+vXi2dYfVZRARERHlDcMIIiKaEEzTxJ3LX0O5ji/4j+XLMJiIW10GERERUV4wjCAiognh2dYdWNvVaXUZWRtMJvCfK163ugwiIiKivGAYQURE415cVfGTlSusLiNnz+zcjtf27bW6DCIiIqKcMYwgIqJx7941q9Adi1pdRl7csexVRFLl04CTiIiIaDgMI4iIaFw7GArhvnWrrS4jb7qiEdz91htWl0FERESUE4YRREQ0rv1o5XIoum51GXn1l80bsaqj3eoyiIiIiLLGMIKIiMattw624aU9u6wuoyC+vfRlpDTN6jKIiIiIssIwgoiIxiXNMPAfK5ZZXUbB7AsG8P9WvWN1GURERERZYRhBRETj0l83b0TrQL/VZRTUfetWY1tfr9VlEBEREWWMYQQREY07gUQCP3/nLavLKDjNMPCtV1+CZhhWl0JERESUEYYRREQ07vz8nTcRSiWtLqMotvT14k/r11pdBhEREVFGGEYQEdG4sr2/D3/dssnqMorq5++8hX3BgNVlEBEREaWNYQQREY0bpmniP5cvg2GaVpdSVCldw3eWvjzhPm4iIiIqXwwjiIho3Hhh9y6803HQ6jIs8W5HOx7ZutnqMoiIiIjSwjCCiIjGhaSm4scrl1tdhqV+vHI5uqMRq8sgIiIiGhPDCCIiGhfuW7sGHZGw1WVYKqoo+N6ypTA5XYOIiIhKHMMIIiIqex2RMO5du8rqMkrCq/v24PldrVaXQURERDQqhhFERFT2frpyBZKaZnUZJeMHy5cikEhYXQYRERHRiBhGEBFRWVvV0Y7ndu20uoySMpBI4IdvvG51GUREREQjYhhBRERlSzcM3Ln8NavLKElP7tiG5fv3WV0GERER0bAYRhARUdl6ZOtmbO/vs7qMkvXdZa8gqihWl0FERER0EoYRRERUlkLJJH729kqryyhpnZEIP0dERERUkhhGEBFRWfrlu28hkExaXUbJ+9+N67G2q8PqMoiIiIiOwzCCiIjKTutAPx7ctMHqMsqCCeDbr76MFFcbISIiohLCMIKIiMqKaZr4zxXLoJum1aWUjd2BQfx2zbtWl0FERER0BMMIIiIqK6/s3Y03D7ZZXUbZ+d2aVWz2SURERCWDYQQREZWNlKbhR28st7qMsqQZBr716kvQDMPqUoiIiIgYRhARUfn44/q1aAuHrC6jbG3u7cEDG9ZZXQYRERERwwgiIioP3dEI+x7kwT3vvIkDwaDVZRAREdEExzCCiIjKwl1vvoG4qlpdRtlLahq+89orMNkAlIiIiCzEMIKIiEreuq5OPL1zu9VljBtvt7fh0W1brC6DiIiIJjCGEUREVNIM08Sdy1+zuoxx50dvLEdPNGp1GURERDRBMYwgIqKS9vi2Ldjc22N1GeNOREnhqy8/j6iiWF0KERERTUAMI4iIqGSFUync/dZKq8sYt95uP4gbHn8YXZGI1aUQERHRBMMwgoiIStavV72NgUTc6jLGte39fbjm0b9iK0efEBERURExjCAiopK0NzCIBzaut7qMCaEnFsUNTzyCpfv2WF0KERERTRAMI4iIqCT954rXoRmG1WVMGHFVxeefewb/ywCIiIiIioBhBBERlZzX9u3F8gP7rC5jwjFMEz9Y/hr+Y8Uy6AyCiIiIqIAYRhARUUnZGxjkUp4We2DDOvzrP55BjCttEBERUYEwjCAiopJgmib+smkDLv/bgzgYDlldzoS3dN9efOKJR9ATjVpdChEREY1DDCOIiMhyffEYPvvs0/je60uR1DSry6FDtvT14ppH/4rt/X1Wl0JERETjDMMIIiKy1NK9e3DZQ/+DZfv3Wl0KDaMrGsENjz2M5fvZw4OIiIjyh2EEERFZIq6q+O5rr+CW557GQCJhdTk0iqiq4LPPPoWHNm+0uhQiIiIaJ2SrCyAioolnY083/u2l57E/GLC6FEqTbpq4Y9mrOBAM4FuLL4IoCFaXRERERGWMYQQRERWNZhi4d80q/PLdt6CbptXlZMQhSTijoRGaYSCuqgilkhiIx6FOsCUw/7B+LTojEfzyIx+FJHKAJREREWWHYQQRERVFWyiIr738AtZ2dVpdSlZSug5BELC+u+u456ucTlQ6nfDZHbBLMiRRgGYYSGoawqkUBhJxxFXVoqoL4/ndrWh+04fvXLDE6lKIiIioTDGMICKigjJNE09s34o7l7+GWJlflK/qaMeZDY3Y2NN95LlAMolAMjniPj67vRilFd0f1q/FKdU1uOH0+VaXQkRERGWI4yuJiKhgVF3HD5a/hm+8+lLZBxGH7RocwCSfP+3tI4qCGpe7gBVZ545lr+Kd9oNWl0FERERliGEEEREVhGma+PbSl7F07x7YJcnqcvImrqqQRAHODD6mBo+ngBVZRzMMfOH5v7MRKREREWWMYQQRERXEPe+8iSd3bENnNIIFjU1Wl5NXbaEQ5tTVp729d5xO1QCAYDKJzz77FEKjTFUhIiIiOhHDCCIiyru/bt6I36x+98i/13V2oCWDqQ3lYH13FxY0pBeyjPf1NvYGAvjSC89C1XWrSyEiIqIywTCCiIjy6tW9u/G915ce95xmmvA6xt/ogHSnn4RT43/UwJsH2/AfK5bBLLMlW4mIiMgaDCOIiChvNnR34csv/gPGMBekO/r7cXZTswVVWa8rErW6hKJ4aPNG/O+m9VaXQURERGWAYQQREeXFvmAAn/37U0hq2ojb7B0chN/hKGJVpSGipFDtclldRlH854rX8fr+fVaXQURERCWOYQQREeWsPx7HZ555EoPJxKjbBVNJnFpdU6SqSkuj12t1CUVhmCa+/MJzaB3ot7oUIiIiKmEMI4iIKCdxVcVnn30KB0LBMbet9Ug47ZQOLGiaeIGExzb+emaMJKoquOXZpzEQj1tdChEREZUohhFERJQ1zTDwpReexaae7jG2NPHheW4sWrAX7dp21E7egkrnxJquMdHaOh4Mh/Cv/3gGqVGm7RAREdHExTCCiIiyYpom7lj26pj9ASZX2XDjhQri3jWI6TEAQEoM4Pw5E2sZyEgqZXUJRbe2qxPffe0VrrBBREREJ2EYQUREWXlw0wY8snXzmNudN78PHcqek54POzbholNqC1FaSeqMRKwuwRJP7tiGe9eusroMIiIiKjEMI4iIKGOtA/348coVaWxpIqANjPiqUPsuJlf48ldYCZtIK2qc6O63VuKlPbusLoOIiIhKSMHCiHA4jIcffhhf+9rXcNFFF2HmzJmoqKiA3W5HfX09lixZgrvuugsDAyO/ST1s3759+Ld/+zfMmzcPPp8PHo8Hp512Gr74xS9i69ateak3GAzilVdewQ9/+ENcddVVaG5uhiAIEAQBS5YsSesYr7/++pF9xnr84Ac/yEvdRETFltI0/N+XnkdKH7sXQEuFA4ox8vQEXUhh3qk9kMWJkY03eCbGihrD+epLz2Nrb4/VZRAREVGJkAt14FWrVuETn/jEsK/19fVh+fLlWL58Oe6++2785S9/wYc//OFht73vvvtw2223QVGU457ftWsXdu3ahT/84Q/4xS9+gVtvvTWnes866yzs378/p2MQEU0E//32Suzo70tr2yl1Y/+aicr7ccmc9+HFrcEcKyt9XvvEWVHjRAlNwy3PPo2nbrgJDRNkmVMiIiIaWcHCCACYPHkyLr74YixcuBCTJ09GU1MTDMNAe3s7Hn/8cTz55JPo7+/HFVdcgdWrV+OMM844bv+HH34Yn//85wEAFRUV+NrXvob3v//9cDgcWL9+Pe666y7s3r0bX/ziF1FXV4frrrsu61qPba7V0NCAc845B88991zWx/vTn/6Ec845Z8TX6+vrsz42EZFV3jiwH39cvzbt7Wt9JgJpbBfzvo35jedjc/dg9sWVgYnex7E7FsW/vfQP3Hv5lfA7nFaXQ0RERBYqWBhx8cUXo62tbcTXr7/+ejz99NO4+uqroSgK7rzzTjzxxBNHXo/H4/jKV74CAPB6vVi5ciXmzZt35PVFixbhhhtuwOLFi7F582bcdtttuPTSS+HxeLKq90tf+hKmT5+Oc845B1OmTAEACIKQ1bEAYPr06cfVS0RU7gYTcdz+yosZ7eNxKQgYaWwomGicsh37A5MRSSljb1+mosrEW1HjRBFFwccfexh/uuIaTPL7rS6HiIiILFKwSbqSJI25zVVXXYXZs2cDAFasOL4R2gsvvIDe3l4AwFe+8pVhL+z9fj/uueceAEB3dzceeOCBrOu9/fbbce211x4JIoiI6CjTNPHtpS+jLx7LaD9Djqa9bVIcwIVzMq2svHRGJ+aKGoed29yCrX292DU4gKsffQgbe7qtLomIiIgsYnnHsMMjGZLJ5HHPr169+sjfL7300hH3X7JkCZzOoaGejz/+eAEqJCKih7duxit7T16ecywxI51JGkeFnRuweHphl/usd3twel09pldWod7tgT2N8DxfwqkUqpwTc0WNeXUNWNXZfuTf/fE4PvHEI3ht314LqyIiIiKrFLRnxFi2b9+ODRs2AMCRERKHDQ4enTfc0NAw4jFkWUZ1dTU6Ozvx1ltvQdM0yLKlHxYR0biyZ3AA/7liWcb7eewCQlow4/3k+lWY1H8GOiLpj6rIxNTKSqzu7DjuOZcso8LphMdmh8tmg12SIAsCIAgwDAOqYSChqoipCsIpBZEcpls0eb0IJBO5fhhlpdHrxYFQ8KTnk5qGL7/4HJ66/iacWlNT/MKIiIjIMkW/ao/H4+jo6MCzzz6Lu+66C7quA8CR/hCHHdv7IRQKjXg80zQRDocBAIqiYPfu3ScFG1b4zne+g7a2NvT29sLj8WDatGlYsmQJbr31Vpx22mlWl0dElBZF1/FvLz2PpDb2Mp4nOqUuuwaFupDEmbP60b3WBb0AHR8FnNwPKKFpSETTDz9EAJUuFzojYUz1V2R0fqcswyXbkNDUjPYrVzZRhEu2oXuEz29cVfGF5/+Op264aUKvNkJERDTRFCWMeOCBB/DpT396xNdvv/123HTTTcc9N2fO0YnDy5cvx8KFC4fdd/369Yge8wanra2tJMKIt99++8jfg8EgNmzYgA0bNuBXv/oV7rjjDnz/+9/PukFme3v7qK93dXVldVwiohP9/J03saWvN6t9m6pExLM8b0Teiw/MPh8vb89smkc6TOQecBgABhMJDCLzEQ4HwiFMr6xERFHQH8/2M1Q+zmxowpqujlG32RMYxLdefQn/79LLc2oeTUREROXD0vkMCxYswL333ovzzjvvpNcuu+wy2Gw2qKqKe+65B5/61KdQW3v8PGLDMPDd7373uOciEWubgzU1NeGaa67B4sWLMWPGDMiyjLa2Njz77LN48MEHoaoq7rzzTiiKgh/96EdZnWPy5Ml5rpqI6GRvH2zDfWtXj73hCPweNeswAgAS/rcwt/592Nab30BCPTQiz0r7gkHUutyYXlmFfcH8By6lYmFT85hBxGHP727FWRvW4V/OGv7mAxEREY0vRWlgedVVV2Hz5s3YvHkzVq1ahb/97W+4+uqrsWHDBtx000147rnnTtqnpaUFt956KwCgo6MD559/Pp555hmEw2Ekk0m88847uOyyy/Diiy/CfsywzkTCunm455xzDg4cOIBf//rXuPHGG3Huuefi7LPPxlVXXYU//vGPWLlyJSoqhobz/uQnPznSL4OIqNQEkwl87eUXchpDINtz/HksmJg0rTXvQ/ezmXJSCP2JOLqjEcyrH7kvUjmbUVmFzb09Ge3zk5XLsapj9NF/REREND4UJYyorKzEvHnzMG/ePJxzzjm48cYb8eSTT+J///d/sXfvXlx55ZXDLst5991342Mf+xgAoLW1FVdddRUqKirgcrnw3ve+Fy+99BJmzJiBL3/5y0f28fl8xfiQhuXxeGCz2UZ8/dxzz8VvfvMbAEO9Lg7/PVMHDx4c9bFq1aqsjktEBAz9fPrua6+iO5ZbA8mUMHK/n3QlxT5cNDe/v6qiqpLX4+UioWnY2tuDRc2TrC4lr3x2O+KqCiXDUSi6aeK2F55DXyyzJWSJiIio/Fi6tOcnP/lJfPzjH4dhGPjSl76EQOD4oap2ux3PPPMM/vznP2PhwoUQxaPlVlZW4rbbbsO6detgHtPgrKqqqmj1Z+OGG244Mjpi+fLlWR2jpaVl1EdTU1M+SyaiCeaJ7Vvxwu7WnI4hwERQHchLPWHnOrxvav6W+wwls18JoxBMAGs6O3Bu86RhWmuWp6mVVVmHWX3xGG574bmSmE5DREREhWNpGAEAV155JQAgFovhhRdeOOl1QRBw8803Y82aNQiFQti9ezfa2trQ39+PX/3qV6ioqMCmTZuObD937tyi1Z4NWZaPrKbR0ZHePFoiomI5EAzizuWv5XycKdUOqGb+VotwNKzC+0+rgUOScjqOLIo5LctZSKs6O3DOOBghce6kFmzJcHrGiVZ1tuPut97IU0VERERUiixtYAkAdXV1R/5+4MCBUbf1er3wer3HPacoypFpCTNmzDipyWUpMguwVB0RUa7UQ8t4xtTcQ4QpNSNPWcuGJiaB6jdwQWUVtMH5eHPvIFTDyPg4lQ4n+hOlu4JFqfSzyNbc2jqszlPPhz+sX4vzJk3GB2ackpfjERERUWmxfGTEsaMDTgwa0vH8888jFBqal3z99dfnra5C0TQNra1Dw5+bm5stroaI6Khfr34HG3ryszRwjT/zoCAdKTEAvXYFlizqxgUzaiFluAykz+EoSF350hbKvc+GlRyynIeFU4/a1Nudx6MRERFRKbE8jHjssceO/H3+/PkZ7atpGr7//e8DAGw2G2655Za81lYIDz/8MMLhMADgoosusrgaIqIh67a04Z1do49Oy4TTWdipEEmxH6hfgQ8sGsD7ptWm3WvBPUqT4VIQTCXR5LWuEXOu9geDVpdAREREZaJgYcQDDzyAZDI56jY///nP8fzzzwMApk2bhsWLFx/3en9/P+Lx4YfTKoqCz3zmM0f6RXzzm9/EjBkzht12yZIlEAQBgiBg//79GX4k6QkEAnj99ddH3WbVqlW47bbbAAz1wvjXf/3XgtRCRJSJ/sEovn/Pc2h/uhMXOiZlPNpgOKaU20oc6UpI3ZAaV+DD54Rw3pSxp+k5ZMtnJ46pycJVoXIxxV+BQNK65bWJiIiovBTsXdkPfvADfO1rX8O1116LxYsX45RTToHX60UkEsHmzZvx0EMP4c033wQwtGrG/fffD/mEN4mvv/46brnlFtx000245JJLMGXKFMTjcaxfvx733nsvtm3bBgD40Ic+hDvuuCOnejds2IANGzYM+1p3d/dJS49ed911x00rCYVCuPjii3HGGWfgqquuwsKFC9HU1ARJktDW1oZnn30WDz74INRDc7Fvv/12LFq0KKeaiYhypWk67vjZswiE4hAA7H65HQvn12LvpEROvRUixmD+ikxDTOqAvbkDlzZMRW/nVKzt6B92OzkPQUuhSWW6pkaD14u2cHlPMyEiIqLiKegtosHBQdx///24//77R9ympaUFf/rTn3DJJZcM+3owGMRvfvMb/OY3vxn29Ztvvhm/+93vYLfbc6r16aefxp133jnsazt37sSnP/3p455bsmTJsD0uNm3adNzqHieSJAl33HEHvve97+VULxFRPvz2wRXYvOP4lX3aN/ejutOF+sV12Bbsy/iYFS4R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EfV31KhROH78eERtbNy4MaTABREREREREVFPFLVgBAAUFRVh1qxZGDNmDIqKipCXlwePx4PTp09j3bp1eOutt1BbW4uLLroI27dvx/Dhw9sd//rrr+OWW24BAKSkpGDVqlU477zzoFarsWvXLqxZswbl5eW4/fbbkZWVhcsuuyzsvoqi6P0+JycH48aNw7vvvht2GzKZDKWlpdDr9di2bVvY/SIiIiIiIiLqbqIWjJg1axZOnjzpd/uyZcvwn//8BxdffDEcDgceeeQR/Otf//Jut1qtuPPOOwEABoMBmzdvxtChQ73bx44di8svvxxTp05FWVkZVq5ciQULFkCv14fV3zvuuAN9+vTBuHHj0KtXLwCAIAghtVFQUIDHH38c48aNw5gxY2AwGLB27VoGI4iIiIiIiIjaiFrOCLlcHnCfJUuWYNCgQQCAzz//vN22Dz74ANXV1QCAO++8s10golVycjKeeuopAMCZM2ciysmwevVqXHrppd5ARDgGDBiA1atXY8aMGTAYDGG3Q0RERERERNSdxb2aRutMBpvN1u7x7du3e79fsGCB3+NnzpwJjUYDAFi3bl0UekhEREREREREUoprMGL//v3YvXs3AHhnSLSqr6/3fp+Tk+O3DYVCgfT0dADAF198AZfLJX1HiYiIiIiIiEgyUU1g6YvVakVFRQXWr1+PNWvWwO12A4A3P0Srtrkfmpqa/LYniiKMRiMAwOFwoLy8vENgo7s5ffp0p9urqqpi1BMiIiIiIiKi0MUkGLF27VqsWLHC7/bVq1fj6quvbvdYaWmp9/uNGzdizJgxPo/dtWsXzGaz998nT57s9sGIoqKieHeBiIiIiIiIKGxxXaYxcuRIbN26FY8//niHyhULFy6EUqkEADz11FOora3tcLzH48H999/f7jGTyRS9DhMRERERERFRxGISjFiyZAnKyspQVlaGbdu24R//+Acuvvhi7N69G1dffTXefffdDscUFhbi1ltvBQBUVFRgypQpePvtt2E0GmGz2bB161YsXLgQH374IVQqlfe45ubmWDyluDp16lSnXywlSkRERERERIksJss0UlNTkZqa6v33uHHjcMUVV+CVV17B9ddfj8WLF+OFF17A8uXL2x33+OOP49ixY1i/fj0OHTqEJUuWdGi7b9++uOSSS/DEE08AAJKSkqL4TBJDYWFhvLtAREREREREFLa4LtO49tprsXTpUng8Htxxxx1oaGhot12lUuHtt9/Giy++iDFjxkAm+767qampWLlyJXbu3AlRFL2Pp6Wlxaz/RERERERERBS6uAYjAGDx4sUAAIvFgg8++KDDdkEQsHz5cnz99ddoampCeXk5Tp48idraWvzf//0fUlJSsGfPHu/+gwcPjlnfiYiIiIiIiCh0MS/tea6srCzv9ydOnOh0X4PBAIPB0O4xh8PhzZHQt29fZGZmSt9JIiIiIiIiIpJM3GdGVFRUeL8/N9AQjPfffx9NTU0AgGXLlknWLyIiIiIiIiKKjrgHI958803v98OGDQvpWJfLhYceeggAoFQqcdNNN0naNyIiIiIiIiKSXtSCEWvXroXNZut0n6effhrvv/8+AKC4uBhTp05tt722thZWq9XnsQ6HAzfccIM3X8RPf/pT9O3b1+e+M2fOhCAIEAQBx48fD/GZEBEREREREZGUopYz4uGHH8aqVatw6aWXYurUqejXrx8MBgNMJhPKysrw6quvYsuWLQBaqmY8//zzUCjad2fDhg246aabcPXVV2POnDno1asXrFYrdu3aheeeew779u0DAMybNw8PPPBARP3dvXs3du/e7XPbmTNnsHbt2naPXXbZZT6Xlaxbtw5ms9n7782bN/v8HgByc3Mxf/788DtNRERERERE1AUJYtu6mBIqLi4OmJASAAoLC/G3v/0Nc+fO7bBt3bp1WLp0aafHL1++HM8++yw0Go3ffWbOnImNGzcCAI4dO4bi4uIO+zz88MN45JFHAva3lb92gn3eADBjxgxs2LAh6HMG6/Tp0ygqKgIAnDp1CoWFhZKfg4iIiIiIiLqueF83Rm1mxKeffor//ve/+Oyzz7B//36cPXsWdXV10Gg0yMnJwciRI7Fo0SIsW7YMOp3OZxvTpk3D448/jv/97384cOAAzp49C5lMhvz8fMyaNQvLly/HxIkTo/UUiIiIiIiIiCgKojYzguIn3hEuIiIiIiIiSmzxvm6MezUNIiIiIiIiIupZGIwgIiIiIiIiophiMIKIiIiIiIiIYipqCSwpflwul/f7qqqqOPaEiIiIiIiIElHba8W215CxwmBEN1RTU+P9fvz48XHsCRERERERESW6mpoaFBcXx/ScXKZBRERERERERDHF0p7dkM1mQ1lZGQAgKysLCkXXmgBTVVXlndGxbds25OXlxblHFCmOaffDMe2eOK7dD8e0e+K4dj8c0+6nK4ypy+XyzqofNmwYNBpNTM/fta5SKSgajQbjxo2LdzckkZeXF/N6txRdHNPuh2PaPXFcux+OaffEce1+OKbdTyKPaayXZrTFZRpEREREREREFFMMRhARERERERFRTDEYQUREREREREQxxWAEEREREREREcUUgxFEREREREREFFMMRhARERERERFRTDEYQUREREREREQxJYiiKMa7E0RERERERETUc3BmBBERERERERHFFIMRRERERERERBRTDEYQERERERERUUwxGEFEREREREREMcVgBBERERERERHFFIMRRERERERERBRTDEYQERERERERUUwxGEFEREREREREMcVgBBERERERERHFFIMRRERERERERBRTDEZQ2D7++GNceeWV6Nu3L3Q6HTQaDYqKirBkyRK88cYbEEUxrHaXLVsGQRC8X8ePH4+on8uXL2/XXmdf/s5lNBrx+uuvY9WqVZgxYwb69++PlJQUqFQqZGdnY+bMmVizZg3q6uoi6msi6EnjCgA7d+7Er371KyxYsABFRUVQq9UwGAwoKSnB8uXLsWnTpoj6mQh62phWV1fj3XffxYMPPogFCxYgMzPTe9zy5csj6mOi6Glj2urkyZNYvXo1SktLodfrkZ6ejvHjx+OJJ56A1WqNqK+JoKuMqz979uyBUqkM6fVms9nwpz/9CbNnz0ZWVhZUKhUKCgpwwQUX4J///GdU+hlLPXFMHQ4HXnjhBcyfPx95eXnev6sDBw7EDTfcgK1bt0alr7HUk8Z15syZQb+Pt35t2LAhKv2Opp40pueqra3FmjVrMGXKFOTm5kKtViM/Px8TJkzA3XffjS+//DIqfQYAiEQhstvt4rJly0QAnX7NnDlTbGxsDKntd999t0M7x44di6i/119/fcC+BjrXJ598EtTxmZmZ4ocffhhRf+OlJ47r9OnTgzr+2muvFe12e0T9jYeeOKaiKHZ63PXXXx9RH+Otp45pa/9SUlL8Hj9w4EDxyJEjEfU3XrrauPridrvFCRMmhPR6O3DggDhw4MBOn/P8+fNFs9kseX+jraeO6cmTJ8Vhw4YFfN533XWX6PF4JO9ztPXEcZ0xY0bQ7+MARJlMJp4+fVryfkdLTxzTtt544w0xIyOj0+e+ePFiyfvc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7LPeF2xGRoa4ZcuWTtuaN2+ezz9I0fgw3NlXQUFBwL62evHFFztta/Xq1V3yzbinj6svbrdbHD9+vLe97du3R9TnWOOYtuhOwYieNqbNzc3e/S644IKA52v9UDxx4sSI+h1rXW1cRVEUN2/eLAqCICqVSvHbb7/1Ph7M681sNnuTGA4fPrzT87QtE9mVLl572pi2euutt0StVisCEEeNGiW+9NJL4pdffil+8skn4sMPPywmJSWJAMSRI0eKVVVVEfc51nrquPqzdu1abxv3339/xH2Nh544pq0JOUeMGNEu4Ovra+jQoT6DNFJhMILCUlNTIz7yyCOiwWDo8EurVCrFVatWiSdOnOi0jVdeecUblTv3D5KUL9rly5eLEydOFB977DHxgw8+EHfu3Cl+8cUX4p///Od2F5p6vV7cuXNnwPb8BSNGjhwpbt26NaK+xltPHldfnnjiCW87F198cUT9jReOafcKRohizxrT6upq7z6XX355wPNlZ2d7Pzx1NV1pXO12uzh48GAR6DhbIdjX2/z58737vfbaaz73ee2119r9HBYtWhRRv2Otp41pq71794o33nijKAhCh+edk5MjPvXUU6LZbI6ov/HUU8fVl/POO8/bxsGDByPqazz1tDFtncHUWk0jNTVVfO6558Tq6mrRZrOJ27dvFxcsWOBta/LkyaLb7Y6o3/4wGEFheemll7wvBF9fvXv3Fp944gm/MwTq6urErKwsEYD4xz/+scN2KV+0DQ0Nfrd5PB7xvvvu855r9OjRAWc1NDQ0iGVlZWJZWZm4bds28R//+Id48cUXiwDEfv36ievXr4+ov/HUk8f1XBs2bBAVCoUIQMzOzvaWiexqOKbdLxjRk8b05MmT3u3XXnttwPMVFRV534u7mq40ro888oi3T+cuswn29fbVV19532OVSqX46KOPiidOnBAdDod44sQJ8dFHHxWVSqV3Sj/QUiKvK+lpYyqKouhwOMT777/fGxj09TVu3Djx3Xffjai/8dQTx9WXU6dOectidrXZaOfqaWMql8u9+8nlcvHLL7/ssI/b7W4XkHjzzTcj6rc/DEZ0U06n0+8LKpSvF198sUPbq1at8m5fsmSJuGXLFtFsNovNzc3izp07xRUrVni3L1261GckrfVFOW7cuE63S/GiDcacOXO859u8eXNYbbz88suiIAiiTCbz+XOTAsc1NOGO67fffiumpaWJQEvUeMOGDVHrI8c0NOGMaayDERzT0HQ2pok0M4Lj2uLAgQPeu2m+gu+hvN5eeumldsGGc7/kcrn4+9//vt3PRkoc0xZSjanZbBanT5/uHbt77rlH3L9/v2i328Wmpibx448/FqdOnSoCEAVBEJ955pmw+9wZjmsLKV+rvvz617/2Hv/ss8+G3c9gcExbSDWmrUsaAYhXXHGF3/2+/fZb736XXHJJ2P3uDIMR3VS0XrTr16/3blu+fLnf8z/wwAPe/f7whz+02/bpp596/1D5m2od6w/Db775pvd8jz32WNjtLFu2TARaphzX19dL2MMWHNfQhDOuR48eFfPz873P5a233opqHzmmoQlnTLtLMKInjmki5YzguLbMZpkxY4YI+F+6Furrbffu3eLSpUu9uQQAiDKZTJw9e7a4detWsayszPv4ihUrwuq3PxxTace07UXd2rVrfe7jdDrFWbNmecf5m2++CavfneG4Rue1eq7WmQRqtToqn3nb4phKO6a5ubne/V566aVOz1tQUCACEIuKisLqdyAKULekUCiwf//+iNvJy8tr9+8XXnjB+/0vf/lLv8fdd999ePrpp2E2m/HXv/4Vt99+u3fbb3/7WwDA2LFjcfDgQRw8eLDD8ceOHfN+v379emRlZQEArrjiivCeSACDBw/2ft9aKzkcixcvxhtvvAGLxYIPPvgAV111lRTd8+K4hibUca2srMScOXNQWVkJQRDwt7/9DRdffHFU+taKYxoaqV6r0cQxDU1nY6rRaJCZmYna2lqcPn2603YaGhpgsVgAAEVFRZL3k+MKbN26FRs3bgQATJ48Ga+//nqHfWpqatqds3WfoUOHYujQoR32HzFiBN544w243W5UVVXBZrMhPz8fOp0OAPDaa6959237uyIFjql0YyqKIl588UUALaUPr7/+ep/nUygUePTRRzF16lR4PB68+OKLePrpp4PubzA4rtF5rbb19ddfY9++fQCARYsWIS0tLei+hYNjKu2YFhUV4cyZMwCAwsLCTs9bVFSEiooKVFdXB93XkEQlxEHd1sCBA0WgJQFRIBMmTBABiBqNpt3jrVG9cL6ipe00pNtuuy3sdj7++GNvO7/61a8k7GF0cVxbkhe1XS94buS7q+GYfq+75IzoqWM6bdo0EWiZceZ0Ov2288UXX3jbefDBB6PWX6l1pXH97LPPwj7PQw89FNK5Wt16663eNj7//POw2oi1njimVVVV3scDLalqO+Np/vz5IfU3nnriuPqzcuVK7/7vvPNOSH1LJD11TJcvX+7d9vHHH3d63nHjxolAy9/gaJCBKAQKRctkGpfLFXBfp9PZ7phE1hrdBYD8/Pyw22l7V89gMETUp1jq6ePa1NSE888/37v/b37zm3ZR766op49pd9RTx3Tq1KkAAIvFgh07dvhtp/WOEQBMmTJFwh5GV3cdVyk4HA6sW7cOAFBQUIDJkyfHuUfB6Ylj2rb/gZ5363M+97hE1xPH1Ren0+m9456VlYUFCxbEuUfh66ljOn36dO/3R44c6XTfo0ePAmh5D46KqIQ4qNtatGiRN5K2b98+v/vV1dV5k1INGzYs5PPEes3y7NmzvefbtGlT2O0sXLjQ285nn30mXQejrCePq8ViEadMmeLdr6vWyT5XTx7Tc3WXmRE9dUy/+uor7/ZbbrnFZxtut1ssLS0VgZYSZQ6HI9rdlkx3G1cpX29r1qzxtvXoo49K08EY6Ilj6na7veUC8/PzO53F1Had/sqVK6PUa+n1xHH15e233/Yed+edd0atf7HQU8e0trZWVCqVIgBx7ty5fvfbsGGDt70bb7wxCj3mzAgK0YUXXuj9/sc//jEcDkeHfTweD+68807vtkWLFkWtPw8//DAEQYAgCFi7dm2H7Vu3bkVVVZXf40VRxM9//nN8+umnAFrWrvq6o7Z27VrYbLZO+/L000/j/fffBwAUFxd77+Z1BT11XB0OBy6++GJs2bIFAHDnnXd2umawK+mpY9qd9dQxHT9+PKZNmwagZX3vl19+2WGfJ5980rue+M4774RSqQznKcVFVxtXKZ08edLvtvXr1+P+++8HAAwYMACrV6+Oal+k1BPHVCaT4YILLgDQkn/pscce87lfQ0MDfvrTn3r/Hc3nLbWeOK6+vPzyy97vr7vuupidNxp66phmZGTgBz/4AQDgk08+8Zl/wmQy4cc//rH337fccktU+tL155lQTC1fvhxPP/00Dhw4gI8//hhjx47FypUrMWLECMjlcuzbtw/PPvus98NiTk4OfvKTn8Stvx9++CF+85vfYP78+Zg7dy4GDx6M1NRU2O127NmzBy+88AK2bdsGANDpdHj++echCEKHdh5++GGsWrUKl156KaZOnYp+/frBYDDAZDKhrKwMr776qveCVqVS4fnnn+9S07h66rheeeWV+PjjjwEA5513Hm688UZ8++23fs+rUqlQUlISnSclsZ46pgCwefNmlJeXe/9dW1vr/b68vLzDH/jly5dL/nyioSeP6e9+9ztMmTIFzc3NmDdvHu677z7MmjULzc3NeP311/GXv/wFQEvivFWrVsXsOUqhq42rlIYOHYpJkyZh6dKlGDJkCFQqFY4fP44333wT//znPwEAaWlp+Oc//wmNRhPn3gavp47pgw8+iLfffhtWqxUPP/wwduzYgeuvvx59+/aFzWbD1q1b8cwzz3iDULNnz8a8efPi3Ovg9dRxbauhoQHvvvsugJbX7+jRo+Pco8j05DF95JFH8N577+HkyZO49tprsWXLFlxyySVITk5GWVkZfvvb3+LAgQMAgFtvvRXjxo2LTkeiMt+CurXjx4+LI0aMCJgspU+fPuKuXbvCOkew05keeugh736+age33d7ZV69evTrUt2+rd+/eQbVTWFgYMBFMouqJ4xpMG22/evfuHdbzjpeeOKbn9imYr66kp46pKIriO++8450G7uurpKREPHz4cFjPOd660rgGEsrU77a17n19DR482G+pvETXU8f0k08+ETMzMwM+7/POOy/q5SCjoaeOa6tnn33We8yaNWtCPmci6sljum/fPrF///6dPu8bbrghqksfu86tW0oYvXv3xvbt2/H6669j3bp12LlzJ2pqaiCKItLT0zF8+HAsWbIE1113HfR6fVz7umLFCuTk5ODLL7/Enj17UF1djbq6OigUCmRmZmL06NG48MILcdVVV3V61+XTTz/Ff//7X3z22WfYv38/zp49i7q6Omg0GuTk5GDkyJFYtGgRli1b5i1H1tX0xHHt7jim3U9PHtMLL7wQe/bswe9+9zu89957OH36NFQqFfr374+lS5fijjvu4PtvF/PXv/4VH3/8MbZt24aqqiqYzWZkZWVh+PDhuOyyy3Dttdd2qSU3bfXUMZ0zZw4OHDiAF154AR988AH27t2LxsZGKBQK5ObmYty4cbjqqqtw0UUX+Z0Jlch66ri2euWVVwAAcrkcV199dZx7I42ePKalpaXYvXs3nn32Waxbtw6HDx+G2WxGdnY2pkyZgltuuQWzZs2Kah8EURTFqJ6BiIiIiIiIiKgNJrAkIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIwgIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIwgIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIwgIiIiIiIiophiMIKIiIiIiIiIYorBCCIiIiIiIiKKKQYjiIiIiIiIiCimGIz4/3bsWAAAAABgkL/1LHYVRgAAAMBKRgAAAAArGQEAAACsZAQAAACwkhEAAADASkYAAAAAKxkBAAAArGQEAAAAsAojg0znuJ5jBAAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAM6CAYAAAC7MYkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdeZxkVX3//9etW2vve88Ms7PDsC+KoIKiCKKC4hZjgonGGCEm0V9M4tctiUmERKORaESRRBN3BUVwB5RFh21kgAFmYPbpnt632pfz++N2z9pLLffWrep+Px+PesxM1b33fHq6p6fvu875HMsYYxARERERERERqZKA3wWIiIiIiIiIyNKiMEJEREREREREqkphhIiIiIiIiIhUlcIIEREREREREakqhREiIiIiIiIiUlUKI0RERERERESkqhRGiIiIiIiIiEhVKYwQERERERERkapSGCEiIiIiIiIiVaUwQkRERERERESqSmGEiIiIiIiIiFSVwggRERERERERqSqFESIiIiIiIiJSVQojRERERERERKSqFEaIiIiIiIiISFUpjBARERERERGRqgr6XYC4L5VKsXnzZgC6u7sJBvVpFhERERERkYNyuRyDg4MAnHbaaUSj0aqOr7vURWjz5s2cf/75fpchIiIiIiIidWDjxo2cd955VR1TyzREREREREREpKo0M2IR6u7uPvD7jRs3snz5ch+rERERERERkVrT19d3YEb9ofeQ1aIwYhE6tEfE8uXLWblypY/ViIiIiIiISC3zo8+glmmIiIiIiIiISFUpjBARERERERGRqlIYISIiIiIiIiJVpTBCRERERERERKpKYYSIiIiIiIiIVJXCCBERERERERGpKoURIiIiIiIiIlJVCiNEREREREREpKoURoiIiIiIiIhIVSmMEBEREREREZGqUhghIiIiIiIiIlWlMEJEREREREREqkphhIiIiIiIiIhUlcIIEREREREREakqhREiIiIiIiIiUlUKI0RERERERESkqhRGiIiIiIiIiEhVKYwQERERERERkapSGCEiIiIiIiIiVaUwQkRERERERESqSmGEiIiIiIiIiFSVwggRERERERERqSqFESIiIiIiIiJSVQojRERERERERKSqFEaIiIiIiIiISFUpjBARERERERGRqlIYISIiIiIiIiJVpTBCRERERERERKpK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8ILX2r59O3/5l3/Jhg0baG5uprGxkRNOOIH3vve9PPnkk67UOzY2xs9+9jM+8YlPcNVVV7FixQosy8KyLC6++OKirnHPPfccOGehx8c+9jFX6hYRqTaTz8Av/hry6QWPzQbaKaTic76eSyTYuXkEYwXdLLF2LZUdNWbzyw9ihp7yuwoRERGpEZ799Ldx40be+ta3zvra4OAg9957L/feey833ngjX/va17jssstmPfaLX/wi119/PZnM4Q2wtm7dytatW/nSl77Ev//7v/Oe97ynonrPOussduzYUdE1RESWhI2fhpFnijo0VWhZ8JiRJ39Hx/FX0ZrfUmlltS+8xPpkHCqXdHbYuPqbWEs5lBERERHAwzACYNWqVVxyySWcc845rFq1iuXLl1MoFNizZw/f+c53+N73vsfQ0BCvfe1reeihhzj99NMPO/8b3/gG7373uwFobW3l/e9/Py972cuIRCI89thj3HDDDWzbto33vve9dHd3c80115Rd66HNtXp7eznvvPO44447yr7eLbfcwnnnnTfn6z09+kFMROqP2X0/PP7fRR+fShX338y222/njN97NcGJreWWVh+WeiPH+H74xV9jLvssVmThoEpEREQWL8/CiEsuuYRdu3bN+fqb3vQmbrvtNq6++moymQwf//jH+e53v3vg9UQiwfve9z4AmpqauO+++9iw4WCjs3PPPZc3v/nNXHTRRWzevJnrr7+eyy+/nMbG8t51uu6661i3bh3nnXceq1evBsCyrLKuBbBu3brD6hURqXcmOQr3/G1J56Ti2SIvbtj6y02cdEEvVnaqjOrqRGYRf2zFyk7C7W/DXP4FrOZj/K5GREREfOJZzwjbthc85qqrruKkk04C4Fe/OnxruLvuuouBgQEA3ve+9816Y9/S0sKnPvUpAPr7+7n11lvLrvcDH/gAb3jDGw4EESIicpAxBn71YUgMlXReanSs6GMTfXsYGGkrrbB6s1R31Jix/FwY2gKjz8H334IZ2Ox3RSIiIuIT33fTmJnJkEqlDnv+oYceOvD7yy+/fM7zL774YqLRKADf+c7CW8yJiEgZtnwbdvyy5NNSA3tLOn7PPb8g5fV2nw3d0HUKtK51fm+HvR3vUJlJiLZXb7xa0nUq9D188M/JYfjhH2J23utfTSIiIuIbX9uXb9myhU2bNgEcmCExY2Rk5MDv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XA3jSta83nzzzdi8eTMA4IorrsBdd92Fr776qtfrGgwGjBo1Sp0npbBkzSkAbN++HUeOHAn8XFNTE7h/5MiRbn/gS0tLFX8+akjmnP7ud7/DtGnTYLfbMWfOHPziF7/AzJkzYbfbsW7dOvzpT38C4F84b/ny5RF7jkqIt7wqady4cZg6dSoWLVqE888/HwaDASdOnMBbb72FN954AwCQkZGBN954AyaTKcrRypesOX3kkUfw9ttvo62tDStXrsTnn3+OO+64A8OGDYPD4cCuXbvwzDPPBIpQs2bNwpw5c6IctXzJmteO6uvrsWnTJgD+1++FF14Y5Yj6J5lzumrVKvzjH//AqVOncNttt2HHjh24/vrrkZaWhrKyMvz2t7/FoUOHAAD33HMPiouL1QlElfEWlNBOnDghJk6cGHSxlKFDh4ovvvgirGvIHc706KOPBtr1tHdwx+N93QYNGtRtf/uOBg8eLKufwsLCoAvBxKpkzKucPjreBg8eHNbzjpZkzGnXmOTc4kmy5lQIId55553AMPCebqNGjRKHDx8O6zlHWzzlNZhQhn533Ou+p9vYsWN73Sov1iVrTt9//32RnZ0d9HlfccUVqm8HqYZkzWu75557LnDO6tWrQ75mLErmnB44cECMGDGiz+d95513qjr1MX6+uqWYMXjwYOzZswfr1q3D+vXrsXfvXlRXV0MIgczMTEyYMAELFy7E7bffDovFEtVYlyxZgry8POzcuRP79+9HVVUVamtrodPpkJ2djQsvvBBXX301brnllj6/ddmyZQs++OADfPjhhzh48CAqKytRW1sLk8mEvLw8TJo0CQsWLMDixYsD25HFm2TMa6JjThNPMuf06quvxv79+/G73/0O//jHP3DmzBkYDAaMGDECixYtwn333cf/f+PMn//8Z2zevBm7d+9GeXk5WlpakJOTgwkTJuDGG2/EbbfdFldTbjpK1pxeeeWVOHToEF544QW8++67+Prrr9HQ0ACdTocBAwaguLgYt9xyC6655ppeR0LFsmTNa7tXXnkFAKDVanHrrbdGORplJHNOx4wZg3379uG5557D+vXrcfjwYbS0tCA3NxfTpk3D3XffjZkzZ6oagySEEKpegYiIiIiIiIioAy5gSUREREREREQRxWIEEREREREREUUUixFEREREREREFFEsRhARERERERFRRLEYQUREREREREQRxWIEEREREREREUUUixFEREREREREFFEsRhARERERERFRRLEYQUREREREREQRxWIEEREREREREUUUixFEREREREREFFEsRhARERERERFRRLEYQUREREREREQRxWIEEREREREREUUUixFEREREREREFFEsRhARERERERFRRLEYQUREREREREQRxWIEEREREREREUUUixFEREREREREFFEsRhARERERERFRRLEYQUREREREREQRxWIEEREREREREUUUixFEREREREREFFEsRhARERERERFRRP3/2pa9v39ieaUAAAAASUVORK5CYII=", "text/plain": [ "

" ] @@ -98,7 +99,7 @@ ], "source": [ "# use mapclassify under the hood\n", - "df.plot('DENSITY', scheme='quantiles')" + "df.plot(\"DENSITY\", scheme=\"quantiles\", cmap=\"YlOrBr\")" ] }, { @@ -107,17 +108,19 @@ "id": "bb6b3e10-4053-4b54-845e-d1fdea1fdc95", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:31.562860Z", - "iopub.status.busy": "2024-07-24T16:41:31.562698Z", - "iopub.status.idle": "2024-07-24T16:41:31.575427Z", - "shell.execute_reply": "2024-07-24T16:41:31.574786Z", - "shell.execute_reply.started": "2024-07-24T16:41:31.562850Z" + "iopub.execute_input": "2024-07-24T17:03:39.444037Z", + "iopub.status.busy": "2024-07-24T17:03:39.442141Z", + "iopub.status.idle": "2024-07-24T17:03:39.476552Z", + "shell.execute_reply": "2024-07-24T17:03:39.476154Z", + "shell.execute_reply.started": "2024-07-24T17:03:39.443972Z" } }, "outputs": [], "source": [ "# get colors directly and pass them to geopandas\n", - "colors = get_color_array(df.DENSITY.values, scheme='quantiles', as_hex=True)" + "colors = get_color_array(\n", + " df.DENSITY.values, scheme=\"quantiles\", cmap=\"YlOrBr\", as_hex=True\n", + ")" ] }, { @@ -126,94 +129,94 @@ "id": "545ce6dd-2b2a-42ad-989f-4efae3f46277", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:31.576035Z", - "iopub.status.busy": "2024-07-24T16:41:31.575937Z", - "iopub.status.idle": "2024-07-24T16:41:31.579986Z", - "shell.execute_reply": "2024-07-24T16:41:31.579570Z", - "shell.execute_reply.started": "2024-07-24T16:41:31.576024Z" + "iopub.execute_input": "2024-07-24T17:03:40.392961Z", + "iopub.status.busy": "2024-07-24T17:03:40.391959Z", + "iopub.status.idle": "2024-07-24T17:03:40.407450Z", + "shell.execute_reply": "2024-07-24T17:03:40.406586Z", + "shell.execute_reply.started": "2024-07-24T17:03:40.392913Z" } }, "outputs": [ { "data": { "text/plain": [ - "array(['#3a528b', '#20908c', '#3a528b', '#fde724', '#3a528b', '#20908c',\n", - " '#fde724', '#20908c', '#20908c', '#5ec961', '#20908c', '#fde724',\n", - " '#fde724', '#20908c', '#440154', '#fde724', '#fde724', '#5ec961',\n", - " '#fde724', '#fde724', '#3a528b', '#fde724', '#5ec961', '#fde724',\n", - " '#440154', '#20908c', '#3a528b', '#5ec961', '#20908c', '#20908c',\n", - " '#440154', '#5ec961', '#20908c', '#5ec961', '#440154', '#fde724',\n", - " '#fde724', '#5ec961', '#20908c', '#5ec961', '#3a528b', '#5ec961',\n", - " '#fde724', '#440154', '#20908c', '#20908c', '#20908c', '#3a528b',\n", - " '#3a528b', '#3a528b', '#fde724', '#440154', '#440154', '#3a528b',\n", - " '#440154', '#5ec961', '#20908c', '#20908c', '#440154', '#5ec961',\n", - " '#20908c', '#3a528b', '#5ec961', '#5ec961', '#5ec961', '#5ec961',\n", - " '#fde724', '#20908c', '#3a528b', '#3a528b', '#3a528b', '#3a528b',\n", - " '#3a528b', '#440154', '#20908c', '#440154', '#440154', '#3a528b',\n", - " '#20908c', '#440154', '#440154', '#440154', '#440154', '#440154',\n", - " '#440154', '#3a528b', '#440154', '#3a528b', '#5ec961', '#440154',\n", - " '#440154', '#440154', '#5ec961', '#3a528b', '#440154', '#fde724',\n", - " '#fde724', '#3a528b', '#20908c', '#440154', '#5ec961', '#440154',\n", - " '#20908c', '#20908c', '#fde724', '#fde724', '#20908c', '#3a528b',\n", - " '#20908c', '#fde724', '#20908c', '#440154', '#5ec961', '#20908c',\n", - " '#fde724', '#5ec961', '#fde724', '#20908c', '#3a528b', '#5ec961',\n", - " '#3a528b', '#440154', '#440154', '#440154', '#20908c', '#fde724',\n", - " '#5ec961', '#440154', '#20908c', '#3a528b', '#440154', '#5ec961',\n", - " '#440154', '#3a528b', '#3a528b', '#440154', '#fde724', '#440154',\n", - " '#20908c', '#fde724', '#20908c', '#fde724', '#fde724', '#440154',\n", - " '#fde724', '#440154', '#fde724', '#440154', '#20908c', '#440154',\n", - " '#440154', '#5ec961', '#fde724', '#fde724', '#5ec961', '#fde724',\n", - " '#440154', '#fde724', '#5ec961', '#3a528b', '#20908c', '#5ec961',\n", - " '#fde724', '#440154', '#20908c', '#20908c', '#5ec961', '#5ec961',\n", - " '#fde724', '#440154', '#3a528b', '#3a528b', '#fde724', '#5ec961',\n", - " '#440154', '#fde724', '#20908c', '#20908c', '#440154', '#440154',\n", - " '#3a528b', '#3a528b', '#3a528b', '#440154', '#440154', '#3a528b',\n", - " '#440154', '#440154', '#440154', '#440154', '#5ec961', '#440154',\n", - " '#3a528b', '#440154', '#fde724', '#3a528b', '#3a528b', '#fde724',\n", - " '#20908c', '#20908c', '#5ec961', '#5ec961', '#440154', '#3a528b',\n", - " '#3a528b', '#fde724', '#440154', '#20908c', '#440154', '#440154',\n", - " '#3a528b', '#20908c', '#20908c', '#3a528b', '#5ec961', '#5ec961',\n", - " '#20908c', '#3a528b', '#3a528b', '#3a528b', '#3a528b', '#3a528b',\n", - " '#3a528b', '#5ec961', '#3a528b', '#fde724', '#3a528b', '#fde724',\n", - " '#5ec961', '#fde724', '#fde724', '#20908c', '#440154', '#440154',\n", - " '#440154', '#440154', '#5ec961', '#fde724', '#5ec961', '#fde724',\n", - " '#fde724', '#440154', '#440154', '#5ec961', '#5ec961', '#5ec961',\n", - " '#5ec961', '#5ec961', '#fde724', '#440154', '#3a528b', '#3a528b',\n", - " '#3a528b', '#440154', '#3a528b', '#440154', '#440154', '#3a528b',\n", - " '#3a528b', '#3a528b', '#5ec961', '#fde724', '#20908c', '#20908c',\n", - " '#fde724', '#20908c', '#5ec961', '#440154', '#fde724', '#20908c',\n", - " '#3a528b', '#440154', '#3a528b', '#5ec961', '#5ec961', '#5ec961',\n", - " '#5ec961', '#20908c', '#20908c', '#fde724', '#5ec961', '#5ec961',\n", - " '#5ec961', '#5ec961', '#5ec961', '#20908c', '#20908c', '#5ec961',\n", - " '#fde724', '#5ec961', '#fde724', '#5ec961', '#5ec961', '#5ec961',\n", - " '#3a528b', '#440154', '#440154', '#fde724', '#5ec961', '#3a528b',\n", - " '#3a528b', '#440154', '#20908c', '#5ec961', '#20908c', '#20908c',\n", - " '#3a528b', '#3a528b', '#fde724', '#20908c', '#5ec961', '#440154',\n", - " '#3a528b', '#3a528b', '#fde724', '#fde724', '#440154', '#fde724',\n", - " '#fde724', '#5ec961', '#3a528b', '#20908c', '#3a528b', '#fde724',\n", - " '#440154', '#fde724', '#440154', '#440154', '#440154', '#3a528b',\n", - " '#440154', '#440154', '#3a528b', '#440154', '#20908c', '#3a528b',\n", - " '#fde724', '#440154', '#3a528b', '#440154', '#fde724', '#440154',\n", - " '#440154', '#3a528b', '#5ec961', '#20908c', '#3a528b', '#20908c',\n", - " '#3a528b', '#fde724', '#3a528b', '#fde724', '#20908c', '#fde724',\n", - " '#fde724', '#20908c', '#3a528b', '#20908c', '#fde724', '#fde724',\n", - " '#3a528b', '#20908c', '#5ec961', '#20908c', '#440154', '#3a528b',\n", - " '#5ec961', '#5ec961', '#3a528b', '#440154', '#20908c', '#3a528b',\n", - " '#20908c', '#440154', '#fde724', '#3a528b', '#20908c', '#3a528b',\n", - " '#5ec961', '#440154', '#20908c', '#fde724', '#20908c', '#5ec961',\n", - " '#fde724', '#fde724', '#20908c', '#fde724', '#fde724', '#fde724',\n", - " '#5ec961', '#20908c', '#3a528b', '#3a528b', '#5ec961', '#440154',\n", - " '#fde724', '#20908c', '#5ec961', '#fde724', '#5ec961', '#440154',\n", - " '#5ec961', '#fde724', '#5ec961', '#fde724', '#fde724', '#5ec961',\n", - " '#5ec961', '#20908c', '#fde724', '#20908c', '#3a528b', '#fde724',\n", - " '#fde724', '#fde724', '#3a528b', '#20908c', '#5ec961', '#3a528b',\n", - " '#5ec961', '#fde724', '#20908c', '#20908c', '#5ec961', '#fde724',\n", - " '#20908c', '#20908c', '#3a528b', '#5ec961', '#20908c', '#5ec961',\n", - " '#5ec961', '#5ec961', '#20908c', '#5ec961', '#20908c', '#5ec961',\n", - " '#5ec961', '#5ec961', '#20908c', '#20908c', '#20908c', '#fde724',\n", - " '#3a528b', '#5ec961', '#20908c', '#3a528b', '#fde724', '#fde724',\n", - " '#20908c', '#fde724', '#20908c', '#20908c', '#440154', '#5ec961',\n", - " '#3a528b'], dtype=object)" + "array(['#fee290', '#fd9828', '#fee290', '#662505', '#fee290', '#fd9828',\n", + " '#662505', '#fd9828', '#fd9828', '#ca4b02', '#fd9828', '#662505',\n", + " '#662505', '#fd9828', '#ffffe5', '#662505', '#662505', '#ca4b02',\n", + " '#662505', '#662505', '#fee290', '#662505', '#ca4b02', '#662505',\n", + " '#ffffe5', '#fd9828', '#fee290', '#ca4b02', '#fd9828', '#fd9828',\n", + " '#ffffe5', '#ca4b02', '#fd9828', '#ca4b02', '#ffffe5', '#662505',\n", + " '#662505', '#ca4b02', '#fd9828', '#ca4b02', '#fee290', '#ca4b02',\n", + " '#662505', '#ffffe5', '#fd9828', '#fd9828', '#fd9828', '#fee290',\n", + " '#fee290', '#fee290', '#662505', '#ffffe5', '#ffffe5', '#fee290',\n", + " '#ffffe5', '#ca4b02', '#fd9828', '#fd9828', '#ffffe5', '#ca4b02',\n", + " '#fd9828', '#fee290', '#ca4b02', '#ca4b02', '#ca4b02', '#ca4b02',\n", + " '#662505', '#fd9828', '#fee290', '#fee290', '#fee290', '#fee290',\n", + " '#fee290', '#ffffe5', '#fd9828', '#ffffe5', '#ffffe5', '#fee290',\n", + " '#fd9828', '#ffffe5', '#ffffe5', '#ffffe5', '#ffffe5', '#ffffe5',\n", + " '#ffffe5', '#fee290', '#ffffe5', '#fee290', '#ca4b02', '#ffffe5',\n", + " '#ffffe5', '#ffffe5', '#ca4b02', '#fee290', '#ffffe5', '#662505',\n", + " '#662505', '#fee290', '#fd9828', '#ffffe5', '#ca4b02', '#ffffe5',\n", + " '#fd9828', '#fd9828', '#662505', '#662505', '#fd9828', '#fee290',\n", + " '#fd9828', '#662505', '#fd9828', '#ffffe5', '#ca4b02', '#fd9828',\n", + " '#662505', '#ca4b02', '#662505', '#fd9828', '#fee290', '#ca4b02',\n", + " '#fee290', '#ffffe5', '#ffffe5', '#ffffe5', '#fd9828', '#662505',\n", + " '#ca4b02', '#ffffe5', '#fd9828', '#fee290', '#ffffe5', '#ca4b02',\n", + " '#ffffe5', '#fee290', '#fee290', '#ffffe5', '#662505', '#ffffe5',\n", + " '#fd9828', '#662505', '#fd9828', '#662505', '#662505', '#ffffe5',\n", + " '#662505', '#ffffe5', '#662505', '#ffffe5', '#fd9828', '#ffffe5',\n", + " '#ffffe5', '#ca4b02', '#662505', '#662505', '#ca4b02', '#662505',\n", + " '#ffffe5', '#662505', '#ca4b02', '#fee290', '#fd9828', '#ca4b02',\n", + " '#662505', '#ffffe5', '#fd9828', '#fd9828', '#ca4b02', '#ca4b02',\n", + " '#662505', '#ffffe5', '#fee290', '#fee290', '#662505', '#ca4b02',\n", + " '#ffffe5', '#662505', '#fd9828', '#fd9828', '#ffffe5', '#ffffe5',\n", + " '#fee290', '#fee290', '#fee290', '#ffffe5', '#ffffe5', '#fee290',\n", + " '#ffffe5', '#ffffe5', '#ffffe5', '#ffffe5', '#ca4b02', '#ffffe5',\n", + " '#fee290', '#ffffe5', '#662505', '#fee290', '#fee290', '#662505',\n", + " '#fd9828', '#fd9828', '#ca4b02', '#ca4b02', '#ffffe5', '#fee290',\n", + " '#fee290', '#662505', '#ffffe5', '#fd9828', '#ffffe5', '#ffffe5',\n", + " '#fee290', '#fd9828', '#fd9828', '#fee290', '#ca4b02', '#ca4b02',\n", + " '#fd9828', '#fee290', '#fee290', '#fee290', '#fee290', '#fee290',\n", + " '#fee290', '#ca4b02', '#fee290', '#662505', '#fee290', '#662505',\n", + " '#ca4b02', '#662505', '#662505', '#fd9828', '#ffffe5', '#ffffe5',\n", + " '#ffffe5', '#ffffe5', '#ca4b02', '#662505', '#ca4b02', '#662505',\n", + " '#662505', '#ffffe5', '#ffffe5', '#ca4b02', '#ca4b02', '#ca4b02',\n", + " '#ca4b02', '#ca4b02', '#662505', '#ffffe5', '#fee290', '#fee290',\n", + " '#fee290', '#ffffe5', '#fee290', '#ffffe5', '#ffffe5', '#fee290',\n", + " '#fee290', '#fee290', '#ca4b02', '#662505', '#fd9828', '#fd9828',\n", + " '#662505', '#fd9828', '#ca4b02', '#ffffe5', '#662505', '#fd9828',\n", + " '#fee290', '#ffffe5', '#fee290', '#ca4b02', '#ca4b02', '#ca4b02',\n", + " '#ca4b02', '#fd9828', '#fd9828', '#662505', '#ca4b02', '#ca4b02',\n", + " '#ca4b02', '#ca4b02', '#ca4b02', '#fd9828', '#fd9828', '#ca4b02',\n", + " '#662505', '#ca4b02', '#662505', '#ca4b02', '#ca4b02', '#ca4b02',\n", + " '#fee290', '#ffffe5', '#ffffe5', '#662505', '#ca4b02', '#fee290',\n", + " '#fee290', '#ffffe5', '#fd9828', '#ca4b02', '#fd9828', '#fd9828',\n", + " '#fee290', '#fee290', '#662505', '#fd9828', '#ca4b02', '#ffffe5',\n", + " '#fee290', '#fee290', '#662505', '#662505', '#ffffe5', '#662505',\n", + " '#662505', '#ca4b02', '#fee290', '#fd9828', '#fee290', '#662505',\n", + " '#ffffe5', '#662505', '#ffffe5', '#ffffe5', '#ffffe5', '#fee290',\n", + " '#ffffe5', '#ffffe5', '#fee290', '#ffffe5', '#fd9828', '#fee290',\n", + " '#662505', '#ffffe5', '#fee290', '#ffffe5', '#662505', '#ffffe5',\n", + " '#ffffe5', '#fee290', '#ca4b02', '#fd9828', '#fee290', '#fd9828',\n", + " '#fee290', '#662505', '#fee290', '#662505', '#fd9828', '#662505',\n", + " '#662505', '#fd9828', '#fee290', '#fd9828', '#662505', '#662505',\n", + " '#fee290', '#fd9828', '#ca4b02', '#fd9828', '#ffffe5', '#fee290',\n", + " '#ca4b02', '#ca4b02', '#fee290', '#ffffe5', '#fd9828', '#fee290',\n", + " '#fd9828', '#ffffe5', '#662505', '#fee290', '#fd9828', '#fee290',\n", + " '#ca4b02', '#ffffe5', '#fd9828', '#662505', '#fd9828', '#ca4b02',\n", + " '#662505', '#662505', '#fd9828', '#662505', '#662505', '#662505',\n", + " '#ca4b02', '#fd9828', '#fee290', '#fee290', '#ca4b02', '#ffffe5',\n", + " '#662505', '#fd9828', '#ca4b02', '#662505', '#ca4b02', '#ffffe5',\n", + " '#ca4b02', '#662505', '#ca4b02', '#662505', '#662505', '#ca4b02',\n", + " '#ca4b02', '#fd9828', '#662505', '#fd9828', '#fee290', '#662505',\n", + " '#662505', '#662505', '#fee290', '#fd9828', '#ca4b02', '#fee290',\n", + " '#ca4b02', '#662505', '#fd9828', '#fd9828', '#ca4b02', '#662505',\n", + " '#fd9828', '#fd9828', '#fee290', '#ca4b02', '#fd9828', '#ca4b02',\n", + " '#ca4b02', '#ca4b02', '#fd9828', '#ca4b02', '#fd9828', '#ca4b02',\n", + " '#ca4b02', '#ca4b02', '#fd9828', '#fd9828', '#fd9828', '#662505',\n", + " '#fee290', '#ca4b02', '#fd9828', '#fee290', '#662505', '#662505',\n", + " '#fd9828', '#662505', '#fd9828', '#fd9828', '#ffffe5', '#ca4b02',\n", + " '#fee290'], dtype=object)" ] }, "execution_count": 5, @@ -231,11 +234,11 @@ "id": "e45fcd62-a96a-4601-a355-783cd0323d32", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:31.582848Z", - "iopub.status.busy": "2024-07-24T16:41:31.582564Z", - "iopub.status.idle": "2024-07-24T16:41:31.777748Z", - "shell.execute_reply": "2024-07-24T16:41:31.777305Z", - "shell.execute_reply.started": "2024-07-24T16:41:31.582830Z" + "iopub.execute_input": "2024-07-24T17:03:41.668562Z", + "iopub.status.busy": "2024-07-24T17:03:41.667846Z", + "iopub.status.idle": "2024-07-24T17:03:41.802834Z", + "shell.execute_reply": "2024-07-24T17:03:41.802455Z", + "shell.execute_reply.started": "2024-07-24T17:03:41.668531Z" } }, "outputs": [ @@ -251,7 +254,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAM6CAYAAAC7MYkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd5xddZ0//tc5557b751eM6mEkIQEAiGgEiAoKiBSRLHwk8WCLqssu4piWRTdtYFt/cpaUGQXURCl95rQAkkI6b1Oprfb26m/PyYJKVNuOfeee2dez8djHoRbznnPZDJzz+t+Pu+3YJqmCSIiIiIiIiKiEhHtLoCIiIiIiIiIJheGEURERERERERUUgwjiIiIiIiIiKikGEYQERERERERUUkxjCAiIiIiIiKikmIYQUREREREREQlxTCCiIiIiIiIiEqKYQQRERERERERlRTDCCIiIiIiIiIqKYYRRERERERERFRSDCOIiIiIiIiIqKQYRhARERERERFRSTGMICIiIiIiIqKSYhhBRERERERERCXFMIKIiIiIiIiISophBBERERERERGVlMPuAsh66XQaGzduBAA0NDTA4eBfMxEREREREb1D0zT09/cDABYuXAi3213S8/MqdQLauHEjzjzzTLvLICIiIiIiogqwatUqLFmypKTn5DYNIiIiIiIiIioproyYgBoaGg7/edWqVWhpabGxGiIiIiIiIio33d3dh1fUH3kNWSoMIyagI3tEtLS0oK2tzcZqiIiIiIiIqJzZ0WeQ2zSIiIiIiIiIqKQYRhARERERERFRSTGMICIiIiIiIqKSYhhBRERERERERCXFMIKIiIiIiIiISophBBERERERERGVFMMIIiIiIiIiIiophhFEREREREREVFIMI4iIiIiIiIiopBhGEBEREREREVFJMYwgIiIiIiIiopJiGEFEREREREREJcUwgoiIiIiIiIhKimEEEREREREREZUUwwgiIiIiIiIiKimGEURERERERERUUgwjiIiIiIiIiKikGEYQERERERERUUkxjCAiIiIiIiKikmIYQUREREREREQlxTCCiIiIiIiIiEqKYQQRERERERERlRTDCCIiIiIiIiIqKYYRRERERERERFRSDCOIiIiIiIiIqKQYRhARERERERFRSTGMICIiIiIiIqKSYhhBRERERERERCXFMIKI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pkCn03nbWbt2rSSxEhEREREREXVlimg1vHXrVlxxxRU+t9XU1ODzzz/H559/jkcffRT//Oc/ce655/rc929/+xtWrlwJh8PR7vGDBw/i4MGD+Pvf/46nnnoKt9xyS0Txjho1CkePHo2ojc8//zykxAURERERERFRTxS1ZAQAFBUVYdasWRgzZgyKioqQl5cHj8eDkydPYt26dXjjjTdQW1uLCy64ANu2bcPw4cPbHf/qq6/i5ptvBgCkpKRg1apVOOecc6BWq7Fjxw6sWbMG5eXluO2225CVlYVLL7007FhFUfR+n5OTg3HjxuGdd94Juw2ZTIbS0lLo9Xps3bo17LiIiIiIiIiIupuoJSNmzZqF48eP+92+dOlS/Pe//8VFF10Eh8OBhx9+GP/5z3+8261WK+644w4AgMFgwKZNmzB06FDv9rFjx+Kyyy7D1KlTUVZWhpUrV2LBggXQ6/VhxXv77bejb9++GDduHHr16gUAEAQhpDYKCgrw6KOPYty4cRgzZgwMBgPWrl3LZAQRERERERFRG1GrGSGXywPus3jxYgwaNAgAsHHjxnbb3n//fVRXVwMA7rjjjnaJiFbJycl44oknAACnTp2KqCbD6tWrcckll3gTEeEYMGAAVq9ejRkzZsBgMITdDhEREREREVF3FvfVNFpHMthstnaPb9u2zfv9ggUL/B4/c+ZMaDQaAMC6deuiECERERERERERSSmuyYi9e/di586dAOAdIdGqvr7e+31OTo7fNhQKBdLT0wEAX375JVwul/SBEhEREREREZFkolrA0her1YqKigqsX78ea9asgdvtBgBvfYhWbWs/NDU1+W1PFEUYjUYAgMPhQHl5eYfERndz8uTJTrdXVVXFKBIiIiIiIiKi0MUkGbF27VqsWLHC7/bVq1dj2bJl7R4rLS31fv/5559jzJgxPo/dsWMHzGaz99/Hjx/v9smIoqKieIdAREREREREFLa4TtMYOXIktmzZgkcffbTDyhULFy6EUqkEADzxxBOora3tcLzH48H999/f7jGTyRS9gImIiIiIiIgoYjFJRixevBhlZWUoKyvD1q1b8a9//QsXXXQRdu7ciWXLluGdd97pcExhYSFuueUWAEBFRQWmTJmCt956C0ajETabDVu2bMHChQvxwQcfQKVSeY9rbm6OxVOKqxMnTnT6xaVEiYiIiIiIKJHFZJpGamoqUlNTvf8eN24cLr/8crz00ku49tprceGFF+K5557D8uXL2x336KOP4siRI1i/fj0OHDiAxYsXd2i7X79+uPjii/HYY48BAJKSkqL4TBJDYWFhvEMgIiIiIiIiCltcp2lcffXVWLJkCTweD26//XY0NDS0265SqfDWW2/h+eefx5gxYyCT/RBuamoqVq5cie3bt0MURe/jaWlpMYufiIiIiIiIiEIX12QEAFx44YUAAIvFgvfff7/DdkEQsHz5cnzzzTdoampCeXk5jh8/jtraWvzxj39ESkoKdu3a5d1/8ODBMYudiIiIiIiIiEIX86U9z5aVleX9/tixY53uazAYYDAY2j3mcDi8NRL69euHzMxM6YMkIiIiIiIiIsnEfWRERUWF9/uzEw3BeO+999DU1AQAWLp0qWRxEREREREREVF0xD0Z8frrr3u/HzZsWEjHulwu/OIXvwAAKJVK3HjjjZLGRkRERERERETSi1oyYu3atbDZbJ3u8+STT+K9994DAPTp0wdTp05tt722thZWq9XnsQ6HA9ddd523XsS9996Lfv36+dx35syZEAQBgiDg6NGjIT4TIiIiIiIiIpJS1GpGPPTQQ1i1ahUuueQSTJ06FcXFxTAYDDCZTCgrK8PLL7+MzZs3A2hZNePZZ5+FQtE+nA0bNuDGG2/EsmXLMGfOHPTq1QtWqxU7duzAM888gz179gAA5s2bhwceeCCieHfu3ImdO3f63Hbq1CmsXbu23WOXXnqpz2kl69atg9ls9v5706ZNPr8HgNzcXMyfPz/8oImIiIiIiIi6IEFsuy6mhPr06ROwICUAFBYW4h//+Afmzp3bYdu6deuwZMmSTo9fvnw5nn76aWg0Gr/7zJw5E59//jkA4MiRI+jTp0+HfR566CE8/PDDAeNt5a+dYJ83AMyYMQMbNmwI+pzBOnnyJIqKigAAJ06cQGFhoeTnICIiIiIioq4r3teNURsZ8emnn+KTTz7BZ599hr179+L06dOoq6uDRqNBTk4ORo4ciUWLFmHp0qXQ6XQ+25g2bRoeffRR/O9//8O+fftw+vRpyGQy5OfnY9asWVi+fDkmTpwYradARERERERERFEQtZERFD/xznARERERERFRYov3dWPcV9MgIiIiIiIiop6FyQgiIiIiIiIiiikmI4iIiIiIiIgopqJWwJLix+Vyeb+vqqqKYyRERERERESUiNpeK7a9howVJiO6oZqaGu/348ePj2MkRERERERElOhqamrQp0+fmJ6T0zSIiIiIiIiIKKa4tGc3ZLPZUFZWBgDIysqCQtG1BsBUVVV5R3Rs3boVeXl5cY6IIsU+7X7Yp90T+7X7YZ92T+zX7od92v10hT51uVzeUfXDhg2DRqOJ6fm71lUqBUWj0WDcuHHxDkMSeXl5MV/vlqKLfdr9sE+7J/Zr98M+7Z7Yr90P+7T7SeQ+jfXUjLY4TYOIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimBFEUxXgHQUREREREREQ9B0dGEBEREREREVFMMRlBRERERERERDHFZAQRERERERERxRSTEUREREREREQUU0xGEBEREREREVFMMRlBRERERERERDHFZAQRERERERERxRSTEUREREREREQUU0xGEBEREREREVFMMRlBRERERERERDHFZASF7aOPPsIVV1yBfv36QafTQaPRoKioCIsXL8Zrr70GURTDanfp0qUQBMH7dfTo0YjiXL58ebv2Ovvydy6j0YhXX30Vq1atwowZM9C/f3+kpKRApVIhOzsbM2fOxJo1a1BXVxdRrImgJ/UrAGzfvh2/+c1vsGDBAhQVFUGtVsNgMKCkpATLly/HF198EVGciaCn9Wl1dTXeeecdPPjgg1iwYAEyMzO9xy1fvjyiGBNFT+vTVsePH8fq1atRWloKvV6P9PR0jB8/Ho899hisVmtEsSaCrtKv/uzatQtKpTKk15vNZsP//d//Yfbs2cjKyoJKpUJBQQHOO+88/Pvf/45KnLHUE/vU4XDgueeew/z585GXl+f9uzpw4EBcd9112LJlS1RijaWe1K8zZ84M+n289WvDhg1RiTuaelKfnq22thZr1qzBlClTkJubC7Vajfz8fEyYMAH33HMPvvrqq6jEDAAQiUJkt9vFpUuXigA6/Zo5c6bY2NgYUtvvvPNOh3aOHDkSUbzXXnttwFgDnevjjz8O6vjMzEzxgw8+iCjeeOmJ/Tp9+vSgjr/66qtFu90eUbzx0BP7VBTFTo+79tprI4ox3npqn7bGl5KS4vf4gQMHiocOHYoo3njpav3qi9vtFidMmBDS623fvn3iwIEDO33O8+fPF81ms+TxRltP7dPjx4+Lw4YNC/i877rrLtHj8Ugec7T1xH6dMWNG0O/jAESZTCaePHlS8rijpSf2aVuvvfaamJGR0elzv/DCCyWPuZUCRCG688478dprrwEAsrOz8ZOf/ASjR4+GUqlEWVkZfv/73+PYsWPYsGEDrrzySrz77rtBtWs2m3Hrrbd6262urpY07vz8fHz44Yed7lNQUOB3W1FREWbNmoUxY8agqKgIeXl58Hg8OHnyJNatW4c33ngDtbW1uOCCC7Bt2zYMHz5c0vijrSf2a0VFhbeNJUuWYNq0aejVqxfcbje++uorPP7446ioqMBLL70El8uFV155RdLYo60n9unZioqKUFpaio8++kiK0OKup/bpd999h6VLl8JqtcJgMOBnP/sZZs2ahebmZrz66qt49tlnsX//fpx33nnYtm0bDAaDpPFHW1ft17b+/Oc/4+uvvw76PDU1NZg7dy5OnDgBAFiyZAmuvfZa5Ofno7KyEi+88AJef/11fPDBB7jiiivw9ttvRy32aOiJfepyuXDeeeehrKwMADB8+HDcfffdGDhwIEwmEzZt2oTHH38cFosFTz75JPLy8nDPPfdELf5o6In9+vzzz8NisXS6z549e3DZZZcBAGbPnh303+hE0BP7tNWLL76IFStWwOPxIDs7G7fccgumTp2K9PR0nDp1CocOHcL69euhVCqjFjtHRlBITp8+LcpkMhGAmJaWJp44caLDPk1NTWKfPn282bRvv/02qLbvuOMOEYA4e/bsdnfTpLoz17t377DbcLlcAfd58803vTFffPHFYZ8rHnpqv5533nniv//9b7/9W1NTI5aUlHhj3rhxY9jnirWe2qeiKIoPPviguH79evHUqVOiKIrikSNHQr5TkIh6cp/OnDlTBCAqFArxyy+/7LB9zZo13pgffvjhiM4Va12xX8924sQJMSkpSRQEQXzhhReCer3ddttt3v1+8Ytf+NznwQcf9O7zn//8R9KYo6mn9um6deu8+02aNMnn39ZvvvlGVCqV3p+N0+mUNO5o6qn9Goyf/OQn3rZeeuklaYKNgZ7cp3v27BHVarUIQJw2bVqnoz6iOTqYNSMoJFu2bIHH4wEArFixAoWFhR32SU5Oxl133eX995dffhmw3W+++QZ//vOfoVar8X//93/SBSwRuVwecJ/Fixdj0KBBAICNGzdGOyRJ9dR+feedd7B06VK//ZuZmYnHH3/c++9169bFKrSI9dQ+BYCHH34YixYtQk5OTrxDkVRP7dNt27Z55x9ff/31mDRpUod9Vq1ahdLSUgDAU089BafTGcsQI9Id+vW2226DyWTC8uXLMX369ID7u91uvPzyywCA3r1744EHHvC534MPPohevXoBAH77299KF3CU9cQ+BYDNmzd7v//Zz37m82/rmDFjsGjRIgBAQ0MD9u3bJ03AMdBT+zUQj8fjfT0bDAZcfPHFkrQbCz25T1euXAm73Y7MzEy88cYbSElJ8buvSqWSIlSfmIygkDgcDu/3/fr187tfcXGx93u73d5pmy6XCzfeeCPcbjd++tOfoqSkJPJA40Sv1wNoKcjVlbBf/Zs5c6b3+0OHDsUvkBCxT7ufntqn//3vf73fr1ixwuc+MpkM11xzDYCWC5yuVDytq/frunXr8PbbbyMjIwNr1qwJ6piDBw+isbERADB37ly/CWG5XI65c+cCaPlwH63Cb1LriX0KROd5J5Ke2q+BfPrpp95pr5deeil0Op1kbUdbT+3Tffv24dNPPwUA3H777cjMzIxWiAExGUEhafuCOnz4sN/92l60BXoRPvHEE9i5cycGDBiAn/3sZ5EHGSd79+7Fzp07AcA7QqKrYL/61/YPlUzWdd4y2afdT0/t09YVbfR6PcaMGeN3vxkzZni/37RpU9TjkkpX7tempib8+Mc/BgCsWbMm6A+09fX13u8DjWBqu72rjDrsiX0KhP68BUHAgAEDwow09npqvwby4osver9vTQp3FT21T19//XXv90uWLPF+39DQgIMHD8Z2dcCoTQChbmvSpEkiADE9PV2sqKjosN1oNIp9+/YVAYh9+vQRbTab37YOHz4s6nQ6EYD48ccfex+Pxpxlg8EgTp06VUxJSRFVKpWYm5srzps3T/zTn/4kWiyWsNq2WCzigQMHxMcff1zMycnpkvPlWrFffXvjjTe8Md9zzz0RtxdL7NMW3aVmhCj2zD7NzMwUAYgjRozodL/6+npv3EuWLIko7ljrav3a6uabbxYBiFOnTvWujBDM623nzp3efW6//fZOz9G2tsS9994rSdyx0NP6VBRFsbq6WkxOThYBiFOmTPFZM2L79u2iSqUSAYhXXHGFJDHHUk/s186YTCZRr9eLAMRevXp1yRVSemKfLly4UAQgpqSkiB6PR/znP/8pDh8+3HssALFv377iQw89JJpMJkni9YfJCArZ3r17xd69e4sAxJycHPHxxx8XP/vsM/GLL74Qn376ae8LNiMjQ9y8eXOnbc2bN8/nH6RofBju7KugoCBgrK2ef/75TttavXp1l3wz7un96ovb7RbHjx/vbW/btm0RxRxr7NMW3SkZ0dP6tLm52bvfeeedF/B8rR+KJ06cGFHcsdbV+lUURXHTpk2iIAiiUqkUv//+e+/jwbzezGazt4jh8OHDOz1P22Uiu9LFa0/r01ZvvPGGqNVqRQDiqFGjxBdeeEH86quvxI8//lh86KGHxKSkJBGAOHLkSLGqqirimGOtp/arP2vXrvW2cf/990ccazz0xD5tLcg5YsSIdglfX19Dhw71maSRCpMRFJaamhrx4YcfFg0GQ4dfWqVSKa5atUo8duxYp2289NJL3qzc2X+QpHzRLl++XJw4caL4yCOPiO+//764fft28csvvxT/+te/trvQ1Ov14vbt2wO25y8ZMXLkSHHLli0RxRpvPblffXnssce87Vx00UURxRsv7NPulYwQxZ7Vp9XV1d59LrvssoDny87O9n546mq6Ur/a7XZx8ODBItBxtEKwr7f58+d793vllVd87vPKK6+0+zksWrQoorhjraf1aavdu3eL119/vSgIQofnnZOTIz7xxBOi2WyOKN546qn96ss555zjbWP//v0RxRpPPa1PW0cwta6mkZqaKj7zzDNidXW1aLPZxG3btokLFizwtjV58mTR7XZHFLc/TEZQWF544QXvC8HXV+/evcXHHnvM7wiBuro6MSsrSwQg/uUvf+mwXcoXbUNDg99tHo9HvO+++7znGj16dMBRDQ0NDWJZWZlYVlYmbt26VfzXv/4lXnTRRSIAsbi4WFy/fn1E8cZTT+7Xs23YsEFUKBQiADE7O9u7TGRXwz7tfsmIntSnx48f926/+uqrA56vqKjI+17c1XSlfn344Ye9MZ09zSbY19vXX3/tfY9VKpXir371K/HYsWOiw+EQjx07Jv7qV78SlUqld0g/0LJEXlfS0/pUFEXR4XCI999/vzcx6Otr3Lhx4jvvvBNRvPHUE/vVlxMnTniXxexqo9HO1tP6VC6Xe/eTy+XiV1991WEft9vdLiHx+uuvRxS3P0xGdFNOp9PvCyqUr+eff75D26tWrfJuX7x4sbh582bRbDaLzc3N4vbt28UVK1Z4ty9ZssRnJq31RTlu3LhOt0vxog3GnDlzvOfbtGlTWG28+OKLoiAIokwm8/lzkwL7NTTh9uv3338vpqWliUBL1njDhg1Ri5F9Gppw+jTWyQj2aWg669NEGhnBfm2xb98+7900X8n3UF5vL7zwQrtkw9lfcrlc/NOf/tTuZyMl9mkLqfrUbDaL06dP9/bdT37yE3Hv3r2i3W4Xm5qaxI8++kicOnWqCEAUBEF86qmnwo65M+zXFlK+Vn357W9/6z3+6aefDjvOYLBPW0jVp61TGgGIl19+ud/9vv/+e+9+F198cdhxd4bJiG4qWi/a9evXe7ctX77c7/kfeOAB735//vOf22379NNPvX+o/A21jvWH4ddff917vkceeSTsdpYuXSoCLUOO6+vrJYywBfs1NOH06+HDh8X8/Hzvc3njjTeiGiP7NDTh9Gl3SUb0xD5NpJoR7NeW0SwzZswQAf9T10J9ve3cuVNcsmSJt5YAAFEmk4mzZ88Wt2zZIpaVlXkfX7FiRVhx+8M+lbZP217UrV271uc+TqdTnDVrlrefv/vuu7Di7gz7NTqv1bO1jiRQq9VR+czbFvtU2j7Nzc317vfCCy90et6CggIRgFhUVBRW3IEoQN2SQqHA3r17I24nLy+v3b+fe+457/e//vWv/R5333334cknn4TZbMbf//533Hbbbd5tv//97wEAY8eOxf79+7F///4Oxx85csT7/fr165GVlQUAuPzyy8N7IgEMHjzY+33rWsnhuPDCC/Haa6/BYrHg/fffx5VXXilFeF7s19CE2q+VlZWYM2cOKisrIQgC/vGPf+Ciiy6KSmyt2Kehkeq1Gk3s09B01qcajQaZmZmora3FyZMnO22noaEBFosFAFBUVCR5nOxXYMuWLfj8888BAJMnT8arr77aYZ+ampp252zdZ+jQoRg6dGiH/UeMGIHXXnsNbrcbVVVVsNlsyM/Ph06nAwC88sor3n3b/q5IgX0qXZ+Koojnn38eQMvSh9dee63P8ykUCvzqV7/C1KlT4fF48Pzzz+PJJ58MOt5gsF+j81pt65tvvsGePXsAAIsWLUJaWlrQsYWDfSptnxYVFeHUqVMAgMLCwk7PW1RUhIqKClRXVwcda0iikuKgbmvgwIEi0FKAKJAJEyaIAESNRtPu8dasXjhf0dJ2GNKtt94adjsfffSRt53f/OY3EkYYXezXluJFbecLnp357mrYpz/oLjUjemqfTps2TQRaRpw5nU6/7Xz55Zfedh588MGoxSu1rtSvn332Wdjn+cUvfhHSuVrdcsst3jY2btwYVhux1hP7tKqqyvt4oClVbUc8zZ8/P6R446kn9qs/K1eu9O7/9ttvhxRbIumpfbp8+XLvto8++qjT844bN04EWv4GR4MMRCFQKFoG07hcroD7Op3OdsckstbsLgDk5+eH3U7bu3oGgyGimGKpp/drU1MTzj33XO/+v/vd79plvbuint6n3VFP7dOpU6cCACwWC7799lu/7bTeMQKAKVOmSBhhdHXXfpWCw+HAunXrAAAFBQWYPHlynCMKTk/s07bxB3rerc/57OMSXU/sV1+cTqf3jntWVhYWLFgQ54jC11P7dPr06d7vDx061Om+hw8fBtDyHhwVUUlxULe1aNEibyZtz549fverq6vzFqUaNmxYyOeJ9Zzl2bNne8/3xRdfhN3OwoULve189tln0gUYZT25Xy0WizhlyhTvfl11neyz9eQ+PVt3GRnRU/v066+/9m6/+eabfbbhdrvF0tJSEWhZoszhcEQ7bMl0t36V8vW2Zs0ab1u/+tWvpAkwBnpin7rdbu9ygfn5+Z2OYmo7T3/lypVRilp6PbFffXnrrbe8x91xxx1Riy8Wemqf1tbWikqlUgQgzp071+9+GzZs8LZ3/fXXRyFijoygEJ1//vne7++88044HI4O+3g8Htxxxx3ebYsWLYpaPA899BAEQYAgCFi7dm2H7Vu2bEFVVZXf40VRxM9//nN8+umnAFrmrvq6o7Z27VrYbLZOY3nyySfx3nvvAQD69OnjvZvXFfTUfnU4HLjooouwefNmAMAdd9zR6ZzBrqSn9ml31lP7dPz48Zg2bRqAlvm9X331VYd9Hn/8ce984jvuuANKpTKcpxQXXa1fpXT8+HG/29avX4/7778fADBgwACsXr06qrFIqSf2qUwmw3nnnQegpf7SI4884nO/hoYG3Hvvvd5/R/N5S60n9qsvL774ovf7a665JmbnjYae2qcZGRm44YYbAAAff/yxz/oTJpMJd955p/ffN998c1Ri6frjTCimli9fjieffBL79u3DRx99hLFjx2LlypUYMWIE5HI59uzZg6efftr7YTEnJwd333133OL94IMP8Lvf/Q7z58/H3LlzMXjwYKSmpsJut2PXrl147rnnsHXrVgCATqfDs88+C0EQOrTz0EMPYdWqVbjkkkswdepUFBcXw2AwwGQyoaysDC+//LL3glalUuHZZ5/tUsO4emq/XnHFFfjoo48AAOeccw6uv/56fP/9937Pq1KpUFJSEp0nJbGe2qcAsGnTJpSXl3v/XVtb6/2+vLy8wx/45cuXS/58oqEn9+kf/vAHTJkyBc3NzZg3bx7uu+8+zJo1C83NzXj11Vfxt7/9DUBL4bxVq1bF7DlKoav1q5SGDh2KSZMmYcmSJRgyZAhUKhWOHj2K119/Hf/+978BAGlpafj3v/8NjUYT52iD11P79MEHH8Rbb70Fq9WKhx56CN9++y2uvfZa9OvXDzabDVu2bMFTTz3lTULNnj0b8+bNi3PUweup/dpWQ0MD3nnnHQAtr9/Ro0fHOaLI9OQ+ffjhh/Huu+/i+PHjuPrqq7F582ZcfPHFSE5ORllZGX7/+99j3759AIBbbrkF48aNi04gURlvQd3a0aNHxREjRgQsltK3b19xx44dYZ0j2OFMv/jFL7z7+Vo7uO32zr569erVYX37tnr37h1UO4WFhQELwSSqntivwbTR9qt3795hPe946Yl9enZMwXx1JT21T0VRFN9++23vMHBfXyUlJeLBgwfDes7x1pX6NZBQhn63Xeve19fgwYP9LpWX6Hpqn3788cdiZmZmwOd9zjnnRH05yGjoqf3a6umnn/Yes2bNmpDPmYh6cp/u2bNH7N+/f6fP+7rrrovq1Meuc+uWEkbv3r2xbds2vPrqq1i3bh22b9+OmpoaiKKI9PR0DB8+HIsXL8Y111wDvV4f11hXrFiBnJwcfPXVV9i1axeqq6tRV1cHhUKBzMxMjB49Gueffz6uvPLKTu+6fPrpp/jkk0/w2WefYe/evTh9+jTq6uqg0WiQk5ODkSNHYtGiRVi6dKl3ObKupif2a3fHPu1+enKfnn/++di1axf+8Ic/4N1338XJkyehUqnQv39/LFmyBLfffjvff7uYv//97/joo4+wdetWVFVVwWw2IysrC8OHD8ell16Kq6++uktNuWmrp/bpnDlzsG/fPjz33HN4//33sXv3bjQ2NkKhUCA3Nxfjxo3DlVdeiQsuuMDvSKhE1lP7tdVLL70EAJDL5Vi2bFmco5FGT+7T0tJS7Ny5E08//TTWrVuHgwcPwmw2Izs7G1OmTMHNN9+MWbNmRTUGQRRFMapnICIiIiIiIiJqgwUsiYiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiIiIiIYorJCCIiIiIiIiKKKSYjiIiIiIiIiCimmIwgIiIiIiIiophiMoKIiIiI6P/bsWMBAAAAgEH+1rPYVRgBsJIRAAAAwEpGAAAAACsZAQAAAKxkBAAAALCSEQAAAMBKRgAAAAArGQEAAACsZAQAAACwkhEAAADAKhkKPyWWgGyWAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAM6CAYAAAC7MYkVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd5xcV33//9e502d7V5csd1vuFmAwYIMpNgZMiYHwJTFJCCHgkPwgIQlfWr4hBDshhODgxBQnQCBUG4xtqm1wAbkJy5aLZKtrV9vL7PSZ8/tjtKpbptyZO7P7fj4e87A8c+89ny1a7X3POZ9jrLUWEREREREREZEacbwuQERERERERESWFoURIiIiIiIiIlJTCiNEREREREREpKYURoiIiIiIiIhITSmMEBEREREREZGaUhghIiIiIiIiIjWlMEJEREREREREakphhIiIiIiIiIjUlMIIEREREREREakphREiIiIiIiIiUlMKI0RERERERESkphRGiIiIiIiIiEhNKYwQERERERERkZpSGCEiIiIiIiIiNaUwQkRERERERERqSmGEiIiIiIiIiNSU3+sCxH3JZJItW7YA0NPTg9+vL7OIiIiIiIgcls1mGRoaAuCss84iHA7XdHzdpS5CW7Zs4XnPe57XZYiIiIiIiEgD2LRpExs3bqzpmFqmISIiIiIiIiI1pZkRi1BPT8+hP2/atInly5d7WI2IiIiIiIjUm/7+/kMz6o+8h6wVhRGL0JE9IpYvX86qVas8rEZERERERETqmRd9BrVMQ0RERERERERqSmGEiIiIiIiIiNSUwggRERERERERqSmFESIiIiIiIiJSUwojRERERERERKSmFEaIiIiIiIiISE0pjBARERERERGRmlIYISIiIiIiIiI1pTBCRERERERERGpKYYSIiIiIiIiI1JTCCBERERERERGpKYURIiIiIiIiIlJTCiNEREREREREpKYURoiIiIiIiIhITSmMEBEREREREZGaUhghIiIiIiIiIjWlMEJEREREREREakphhIiIiIiIiIjUlMIIEREREREREakphREiIiIiIiIiUlMKI0RERERERESkphRGiIiIiIiIiEhNKYwQERERERERkZpSGCEiIiIiIiIiNaUwQkRERERERERqSmGEiIiIiIiIiNSUwggRERERERERqSmFESIiIiIiIiJSUwojRERERERERKSmFEaIiIiIiIiISE0pjBAREQFsPud1CSIiIiJLht/rAkRERLxmrcXedg12+Elo6oVoHzT1QFMfJtp78LmZ//ZgfEGvSxYRERFpaAojRERE9t0P/Q8V/jy+o/A4yM5yuA13FoKJQyHFTGhRCDCI9kKkE2M0AVFERERkNgojRERkSbPWYh/8XGknJUcLj5GnDl/n2GMcPzbaA9HDAYVpOjjj4mCAQbQXE2qp+GMQERERaTQKI0REZGnbdRcMPub+dfNZiPUXHgfNOstiwzswL/igln6IiIjIkqL5oyIismRZmy99VoTbHv8q9pa3YSd2eluHiIiISA0pjBARkaXr2Tth9Gmvq4Dhrdjvvgm77YdeVyIiIiJSEwojRERkSbL5LPbhz3tdxmGZOPYXf0X+rr/FZuJeVyMiIiJSVQojRERkadp221G7ZtSNZ76P/d6bsUc0xxQRERFZbBRGiIjIkmNz6fqaFXGs8R3Y778F+8T/YO1sbS9FREREGpvCCBERWXqe+AZM7fO6ivnl0th7/x9s/abXlYiIiIi4TmGEiIgsKTYxin34Bq/LKJr9zT9jj9geVERERGQxUBghIiJLit30WUhPeV1G8TLT2F99Qss1REREZFFRGCEiIkuGHXoCnvqO12WUbvc98OztXlchIiIi4hqFESIisiRYa7H3/wPQmDMM7H2fxCbGvC5DRERExBUKI0REZGl49nYYeMTrKsqXHMPe/ymvqxARERFxhcIIERFZ9Gwmjv319V6XUbntP8TuutvrKkREREQqpjBCREQWPbv5Jpg+4HUZrrD3/h02HfO6DBEREZGKKIwQEZFFzU7uhd9+2esy3BPrx/7mM15XISIiIlIRhREiIrKo2V9fB7m012W4a+s3sP0PeV2FiIiISNkURoiIyKJl9/0advzU6zKqwt7zEWw25XUZIiIiImVRGCEiIouSzWcPbuW5SE3sxD7yBa+rEBERESmLwggREVmctv4vjG7zuorq+u2XsMNPel2FiIiISMkURoiIyKJjk2PYh/7N6zKqL5/F3vN/sfms15WIiIiIlERhhIiILDr2wX+D1ITXZdTG8FZ47L+8rkJERESkJAojRERkUbEjT8OT/+t1GTVlH/o37MROr8sQERERKZrCCBERWTSstYWmlTbvdSm1lUth7/kodql93CIiItKwFEaIiMjiseMnsH+T11V4o/9BePI7XlchIiIiUhSFESIisijYbBL7wHVel+Ep+5vrsdMHvC5DREREZEEKI0REZHH47Zcgtt/rKryVjmF/9XdYa72uRERERGReCiNERKTh2an92M1f9LqM+rDrF/DcnV5XISIiIjIvhREiItLw7G/+CbJJr8uoG/bev8cmx7wuQ0RERGROCiNERKSh2f0PwrN3eF1GfUmOYh/4tNdViIiIiMxJYYSIiDQsm88VtvKU4z1zK3b3r7yuQkRERGRWCiNERKRxPfUdGHnK6yrqlv3Vx7Dpaa/LEBERETmOwggREWlINjWBffCzXpdR32L9+hyJiIhIXVIYISIiDck+dAMkx70uo/49/nXswKNeVyEiIiJyFIURIiLScOzoNnjif7wuo0FY7D0fwebSXhciIiIicojCCBERaSjWWuz9nwKb87qUxjH+LPaRG72uQkREROQQhREiItJYdv4c9j3gdRWNZ/NN2JGnva5CREREBFAYISIiDcRmU9hfX+d1GY0pn8Xe83+x+azXlYiIiIgojBARkQay5b9gco/XVTSuocdhy1e9rkJEREREYYSIiDQGO30A+8h/eF1Gw7MPfQ47sdvrMkRERGSJUxghIiINwf7mnyEb97qMxpdNYn/5May1XlciIiIiS5jCCBERqXt24FHY9kOvy1g89v8anv6u11WIiIjIEqYwQkRE6pq1eez9/+B1GYuOfeA67PSg12WIiIjIEqUwQkRE6tvT3y80XhR3paewv/grbHra60pERERkCVIYISIidcumprCb/sXrMhav/b/B/uD/YGMDXlciIiIiS4zCCBERqVv2kS9AYsTrMha3kaew338Ldnir15WIiIjIEqIwQkRE6pId3wGPf9XrMpaG+CD21ndgd93ldSUiIiKyRCiMEBGRumTv/xTks16XsXRk49gfvw/7+Ne9rkRERESWAIURIiJSd+yuu2HPr7wuY+mxeex9f0/+vn/A5nNeVyMiIiKLmMIIERGpK3Z8B/a+T3pdxtL2+FexP7kWm9FOGyIiIlIdCiNERKQuWGuxT3wD+903wtRer8uRXXdhf/B72OlBrysRERGRRUhhhIiIeM7Gh7F3vgd7799BNul1OTJjeCv2lrdiR572uhIRERFZZBRGiIiIp+zOu7Dffj3svsfrUmQ2sX7srW/H7lYPDxEREXGP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B2DdunVcfPHFR70+PDxMPD77dOF0Os0f/MEfHOoX8aEPfYj169fPeuwll1yCMQZjDDt37izxIynO2NgYd99997zHbNq0iWuvvRYo9ML4kz/5k6rUIiJSCpuLYUbvgDPOhHPeXPpsg1kkx8YrL6wIUzuf5fH/+R7bnzKkW4voGVRpz4laaF7mdQXlaV0NybGFjxMREREBylx0u7CPf/zjfOADH+BNb3oTF198MSeeeCLNzc1MTU2xZcsWvv71r3PfffcBhV0zbrrpJvz+o8u5++67ede73sXb3/52LrvsMtasWUM8HufRRx/lxhtvZOvWrQC88pWv5CMf+UhF9W7evJnNmzfP+trAwMBxW4+++c1vPmpZycTEBJdeeilnn302V111FRdccAHLly/H5/Oxe/dufvjDH/LVr36VTKbQHfyDH/wgF154YUU1i4hUytocDN8O+QTGGFjZjW35fXjkBxAfLvu6ycG9Lla5sIltT7Fl21N0nnE2q847gcDkk7Mf6FRn+YirjOeTFssT7Wv8ZSYiIiJSM1ULIwBGR0e56aabuOmmm+Y8ZtWqVXz5y1/msssum/X18fFxbrjhBm644YZZX7/mmmv4whe+QDAYrKjWW265hU984hOzvvb000/zzne+86jnLrnkkll7XDz22GNH7e5xLJ/Px0c+8hE++tGPVlSviIgrxu+FdP9RT5nWIPaFb4Qtv4YDpS/dyBImMz7oVoUlGd36GKNbH6P9tA2EO9qPP2BkH5H2kwk1hQgE8viI46RGMek62u4zOeJ1BeWxOa8rEBERkQZStTDi5z//OT/72c+46667ePLJJzlw4AAjIyOEw2H6+vo499xzufLKK7n66quJRmdfw/viF7+Y66+/nl/84hc89dRTHDhwAMdxWLFiBZdeeinXXHMNL3jBC6r1IZRkxYoVfPvb3+aBBx5g06ZN7Nu3j+HhYZLJJG1tbZx66qlccskl/NEf/RHr1q3zulwREWz8GYhtnvU1E3Sw510EO1fBU7eXdN2U7XKhusqMP/V4Scf7m1tpXrWaaE8PkfZWgtEAAX8WX34ak5nApCaqVOksxncXlpPkqtt3w3UKI0RERKQExmqfyUVn7969rF69GoA9e/awatUqjysSkXpjMyNw4H/BZhY+dnASHvkW5LNFXXskcyI777yj0hLrQnjlKST3PYPj9xPuXU6k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/sILL4TJZIrq+RPrKpVkMZlMKCkpiXUYiigsLIz6frekLuY0+TCnyYl5TT7MaXJiXpMPc5p84jmn0Z6a0RGnaRARERERERFRVLEYQURERERERERRxWIEEREREREREUUVixFEREREREREFFUsRhARERERERFRVLEYQURERERERERRxWIEEREREREREUWVJIQQsQ6CiIiIiIiIiFIHR0YQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBEVs8+bNuOWWWzBs2DCYzWaYTCYUFxdj4cKFePPNNyGEiKjfJUuWQJKk4O348eP9irOsrKxTf33dejtXU1MT1q9fjxUrVmD69OkYMWIEbDYbDAYD8vPzMWPGDKxZswZ1dXX9ijUepFJeAWDPnj345S9/iXnz5qG4uBhGoxFWqxWjRo1CWVkZPv30037FGQ9SLafV1dXYtGkTHnnkEcybNw+5ubnB48rKyvoVY7xItZy2O3nyJFauXIkxY8bAYrEgOzsbl1xyCZ588km0tbX1K9Z4kCh57c2+ffug1+vDer85nU78/ve/x6xZs5CXlweDwYCBAwdi/vz5eOONN1SJM5pSMadutxsvvPAC5s6di8LCwuDn6ujRo3HXXXdh586dqsQaTamU1xkzZsj+f7z9tnXrVlXiVlMq5bSr2tparFmzBtOmTcOAAQNgNBpRVFSEKVOm4KGHHsKOHTtUiRkAIIjC5HK5xJIlSwSAPm8zZswQjY2NYfW9adOmbv0cO3asX/HeeeedIWMNda4PPvhA1vG5ubni/fff71e8sZKKeb3iiitkHX/77bcLl8vVr3hjIRVzKoTo87g777yzXzHGWqrmtD0+m83W6/GjR48WR44c6Ve8sZJoee2Jz+cTU6ZMCev9dvDgQTF69Og+X/PcuXNFS0uL4vGqLVVzevLkSXHhhReGfN0PPvig8Pv9isestlTM6/Tp02X/Pw5AaDQacfr0acXjVksq5rSjN998U+Tk5PT52q+//nrFY26nA1GYHnjgAbz55psAgPz8fPzkJz/BpEmToNfrUV5ejt/85jc4ceIEtm7diltvvRV///vfZfXb0tKC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2G7+/Pkhz9f+R/Gll17ar7ijLdHyKoQQ27ZtE5IkCb1eL77++uvg43Leby0tLcFFDMePH9/neTpuE5lIF6+pltN2b7/9tkhLSxMAxEUXXSReeuklsWPHDvHBBx+IVatWifT0dAFATJw4UVRUVPQ75mhL1bz2Zt26dcE+Hn744X7HGgupmNP2BTknTJjQqeDb023cuHE9FmmUwmIERaSmpkasXr1aWK3Wbv9o9Xq9WLFihThx4kSffbzyyivBqlzXDyQl37RlZWXi0ksvFY8//rh47733xJ49e8Rnn30m/vu//7vThabFYhF79uwJ2V9vxYiJEyeKnTt39ivWWEvlvPbkySefDPazaNGifsUbK8xpchUjhEitnFZXVwfb/OAHPwh5vvz8/OAfT4kmkfLqcrnE2LFjBdB9tILc99vcuXOD7V577bUe27z22mudfg8LFizoV9zRlmo5bffNN9+Iu+++W0iS1O11FxQUiKefflq0tLT0K95YStW89uTKK68M9vHtt9/2K9ZYSrWcto9gat9NIzMzU/zhD38Q1dXVwul0it27d4t58+YF+7rsssuEz+frV9y9YTGCIvLSSy8F3wg93YYMGSKefPLJXkcI1NXViby8PAFA/Nd//Ve355V80zY0NPT6nN/vFz//+c+D55o0aVLIUQ0NDQ2ivLxclJeXi127donXX39dLFq0SAAQw4cPFxs3buxXvLGUynntauvWrUKn0wkAIj8/P7hNZKJhTpOvGJFKOT158mTw+dtvvz3k+YqLi4P/FyeaRMrr6tWrgzF1nWYj9/32+eefB/+P1ev14rHHHhMnTpwQbrdbnDhxQjz22GNCr9cHh/QDgS3yEkmq5VQIIdxut3j44YeDhcGebiUlJWLTpk39ijeWUjGvPTl16lRwW8xEG43WVarlVKvVBttptVqxY8eObm18Pl+ngsRbb73Vr7h7w2JEkvJ4PL2+ocK5vfjii936XrFiRfD5hQsXiu3bt4uWlhbhcDjEnj17xNKlS4PPL168uMdKWvubsqSkpM/nlXjTynHVVVcFz7dt27aI+nj55ZeFJElCo9H0+HtTAvMankjz+vXXX4usrCwBBKrGW7duVS1G5jQ8keQ02sUI5jQ8feU0nkZGMK8BBw8eDH6b1lPxPZz320svvdSp2ND1ptVqxe9+97tOvxslMacBSuW0paVFXHHF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TZsGh8OBOXPm4Oc//zlmzpwJh8OB9evX449//COAwMJ5K1asiNprVEKi5VVJ48aNw9SpU7F48WJccMEFMBgMOH78ON566y288cYbAICsrCy88cYbMJlMMY5WvlTN6SOPPIJ33nkHbW1tWLVqFb788kvceeedGDZsGJxOJ3bu3IlnnnkmWISaNWsW5syZE+Oo5UvVvHbU0NCATZs2AQi8fydNmhTjiPonlXO6evVq/P3vf8fJkydx++23Y/v27bjhhhuQkZGB8vJy/OY3v8HBgwcBAPfeey9KSkrUCUSV8RaU1I4fPy4mTJgQcrGU8847T3z11VcRnUPucKZHH3002K6nvYM7Pt/XbfDgwd32t+9oyJAhsvoZNGhQyIVg4lUq5lVOHx1vQ4YMieh1x0oq5rRrTHJuiSRVcyqEEO+++25wGHhPt1GjRolDhw5F9JpjLZHyGko4Q7877nXf023s2LG9bpUX71I1px988IHIzc0N+bqvvPJK1beDVEOq5rXdc889FzxmzZo1YZ8zHqVyTvfv3y9GjBjR5+u+6667VJ36mDhf3VLcGDJkCHbv3o3169djw4YN2LNnD2pqaiCEQHZ2NsaPH4+FCxfijjvugMViiWmsS5cuRUFBAXbs2IF9+/ahuroadXV10Ol0yM3NxaRJk3Dttdfi1ltv7fNbly1btuDDDz/ERx99hAMHDqCqqgp1dXUwmUwoKCjAxIkTsWDBAixZsiS4HVmiScW8JjvmNPmkck6vvfZa7Nu3D7/97W/x97//HadPn4bBYMCIESOwePFi3H///fz/N8H86U9/wubNm7Fr1y5UVFSgpaUFeXl5GD9+PG666SbcfvvtCTXlpqNUzelVV12FgwcP4oUXXsB7772Hb775Bo2NjdDpdBgwYABKSkpw66234rrrrut1JFQ8S9W8tnvllVcAAFqtFrfddluMo1FGKud0zJgx2Lt3L5577jls2LABhw4dQktLC/Lz8zFt2jTcc889mDlzpqoxSEIIoeoZiIiIiIiIiIg64AKWRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFFFYsRRERERERERBRVLEYQERERERERUVSxGEFEREREREREUcViBBERERERERFF1f8PcDsy8cGMBlcAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -283,11 +286,11 @@ "id": "adcc5cbd-fa95-40c9-9532-7ad9a4898ce4", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:31.778529Z", - "iopub.status.busy": "2024-07-24T16:41:31.778425Z", - "iopub.status.idle": "2024-07-24T16:41:32.028176Z", - "shell.execute_reply": "2024-07-24T16:41:32.027739Z", - "shell.execute_reply.started": "2024-07-24T16:41:31.778519Z" + "iopub.execute_input": "2024-07-24T17:03:43.542262Z", + "iopub.status.busy": "2024-07-24T17:03:43.541577Z", + "iopub.status.idle": "2024-07-24T17:03:44.262073Z", + "shell.execute_reply": "2024-07-24T17:03:44.261754Z", + "shell.execute_reply.started": "2024-07-24T17:03:43.542225Z" } }, "outputs": [ @@ -321,7 +324,7 @@ " <meta name="viewport" content="width=device-width,\n", " initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n", " <style>\n", - " #map_733292c25dab552b9eb7ac5e694d14dc {\n", + " #map_f848f7beda5e816bdaa94bf9951558e4 {\n", " position: relative;\n", " width: 100.0%;\n", " height: 100.0%;\n", @@ -351,14 +354,14 @@ "<body>\n", " \n", " \n", - " <div class="folium-map" id="map_733292c25dab552b9eb7ac5e694d14dc" ></div>\n", + " <div class="folium-map" id="map_f848f7beda5e816bdaa94bf9951558e4" ></div>\n", " \n", "</body>\n", "<script>\n", " \n", " \n", - " var map_733292c25dab552b9eb7ac5e694d14dc = L.map(\n", - " "map_733292c25dab552b9eb7ac5e694d14dc",\n", + " var map_f848f7beda5e816bdaa94bf9951558e4 = L.map(\n", + " "map_f848f7beda5e816bdaa94bf9951558e4",\n", " {\n", " center: [39.133259999873154, -84.49529300046413],\n", " crs: L.CRS.EPSG3857,\n", @@ -367,87 +370,87 @@ " preferCanvas: false,\n", " }\n", " );\n", - " L.control.scale().addTo(map_733292c25dab552b9eb7ac5e694d14dc);\n", + " L.control.scale().addTo(map_f848f7beda5e816bdaa94bf9951558e4);\n", "\n", " \n", "\n", " \n", " \n", - " var tile_layer_62b31cb7f6da9c231663deb7c08dd8d3 = L.tileLayer(\n", - " "https://tile.openstreetmap.org/{z}/{x}/{y}.png",\n", - " {"attribution": "\\u0026copy; \\u003ca href=\\"https://www.openstreetmap.org/copyright\\"\\u003eOpenStreetMap\\u003c/a\\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}\n", + " var tile_layer_e56e2c0f2ff0d51914c1feb773e75c46 = L.tileLayer(\n", + " "https://a.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",\n", + " {"attribution": "\\u0026copy; \\u003ca href=\\"https://www.openstreetmap.org/copyright\\"\\u003eOpenStreetMap\\u003c/a\\u003e contributors \\u0026copy; \\u003ca href=\\"https://carto.com/attributions\\"\\u003eCARTO\\u003c/a\\u003e", "detectRetina": false, "maxNativeZoom": 20, "maxZoom": 20, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}\n", " );\n", " \n", " \n", - " tile_layer_62b31cb7f6da9c231663deb7c08dd8d3.addTo(map_733292c25dab552b9eb7ac5e694d14dc);\n", + " tile_layer_e56e2c0f2ff0d51914c1feb773e75c46.addTo(map_f848f7beda5e816bdaa94bf9951558e4);\n", " \n", " \n", - " map_733292c25dab552b9eb7ac5e694d14dc.fitBounds(\n", + " map_f848f7beda5e816bdaa94bf9951558e4.fitBounds(\n", " [[39.111059999875216, -84.53054400046031], [39.15545999987109, -84.46004200046795]],\n", " {}\n", " );\n", " \n", " \n", - " function geo_json_fd903d47616b570050e85cb36a0bb1cf_styler(feature) {\n", + " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_styler(feature) {\n", " switch(feature.id) {\n", " case "0": case "2": case "4": case "20": case "26": case "40": case "47": case "48": case "49": case "53": case "61": case "68": case "69": case "70": case "71": case "72": case "77": case "85": case "87": case "93": case "97": case "107": case "118": case "120": case "129": case "133": case "134": case "159": case "170": case "171": case "180": case "181": case "182": case "185": case "192": case "195": case "196": case "203": case "204": case "210": case "213": case "217": case "218": case "219": case "220": case "221": case "222": case "224": case "226": case "250": case "251": case "252": case "254": case "257": case "258": case "259": case "270": case "272": case "294": case "299": case "300": case "306": case "307": case "312": case "313": case "320": case "322": case "329": case "332": case "335": case "338": case "343": case "346": case "348": case "350": case "356": case "360": case "365": case "368": case "371": case "375": case "377": case "392": case "393": case "412": case "416": case "419": case "428": case "444": case "447": case "456": \n", - " return {"color": "#3a528b", "fillColor": "#3a528b", "fillOpacity": 0.5, "weight": 2};\n", + " return {"color": "#fee290", "fillColor": "#fee290", "fillOpacity": 0.5, "weight": 2};\n", " case "1": case "5": case "7": case "8": case "10": case "13": case "25": case "28": case "29": case "32": case "38": case "44": case "45": case "46": case "56": case "57": case "60": case "67": case "74": case "78": case "98": case "102": case "103": case "106": case "108": case "110": case "113": case "117": case "124": case "128": case "138": case "140": case "148": case "160": case "164": case "165": case "176": case "177": case "198": case "199": case "207": case "211": case "212": case "216": case "231": case "262": case "263": case "265": case "269": case "277": case "278": case "285": case "286": case "302": case "304": case "305": case "309": case "321": case "334": case "345": case "347": case "352": case "355": case "357": case "361": case "363": case "370": case "372": case "376": case "380": case "382": case "386": case "391": case "397": case "409": case "411": case "417": case "422": case "423": case "426": case "427": case "430": case "434": case "436": case "440": case "441": case "442": case "446": case "450": case "452": case "453": \n", - " return {"color": "#20908c", "fillColor": "#20908c", "fillOpacity": 0.5, "weight": 2};\n", + " return {"color": "#fd9828", "fillColor": "#fd9828", "fillOpacity": 0.5, "weight": 2};\n", " case "3": case "6": case "11": case "12": case "15": case "16": case "18": case "19": case "21": case "23": case "35": case "36": case "42": case "50": case "66": case "95": case "96": case "104": case "105": case "109": case "114": case "116": case "125": case "136": case "139": case "141": case "142": case "144": case "146": case "152": case "153": case "155": case "157": case "162": case "168": case "172": case "175": case "194": case "197": case "205": case "225": case "227": case "229": case "230": case "237": case "239": case "240": case "248": case "261": case "264": case "268": case "279": case "288": case "290": case "297": case "308": case "314": case "315": case "317": case "318": case "323": case "325": case "336": case "340": case "349": case "351": case "353": case "354": case "358": case "359": case "374": case "381": case "384": case "385": case "387": case "388": case "389": case "396": case "399": case "403": case "405": case "406": case "410": case "413": case "414": case "415": case "421": case "425": case "443": case "448": case "449": case "451": \n", - " return {"color": "#fde724", "fillColor": "#fde724", "fillOpacity": 0.5, "weight": 2};\n", + " return {"color": "#662505", "fillColor": "#662505", "fillOpacity": 0.5, "weight": 2};\n", " case "14": case "24": case "30": case "34": case "43": case "51": case "52": case "54": case "58": case "73": case "75": case "76": case "79": case "80": case "81": case "82": case "83": case "84": case "86": case "89": case "90": case "91": case "94": case "99": case "101": case "111": case "121": case "122": case "123": case "127": case "130": case "132": case "135": case "137": case "143": case "145": case "147": case "149": case "150": case "156": case "163": case "169": case "174": case "178": case "179": case "183": case "184": case "186": case "187": case "188": case "189": case "191": case "193": case "202": case "206": case "208": case "209": case "232": case "233": case "234": case "235": case "241": case "242": case "249": case "253": case "255": case "256": case "267": case "271": case "295": case "296": case "301": case "311": case "316": case "324": case "326": case "327": case "328": case "330": case "331": case "333": case "337": case "339": case "341": case "342": case "364": case "369": case "373": case "379": case "395": case "401": case "454": \n", - " return {"color": "#440154", "fillColor": "#440154", "fillOpacity": 0.5, "weight": 2};\n", + " return {"color": "#ffffe5", "fillColor": "#ffffe5", "fillOpacity": 0.5, "weight": 2};\n", " default:\n", - " return {"color": "#5ec961", "fillColor": "#5ec961", "fillOpacity": 0.5, "weight": 2};\n", + " return {"color": "#ca4b02", "fillColor": "#ca4b02", "fillOpacity": 0.5, "weight": 2};\n", " }\n", " }\n", - " function geo_json_fd903d47616b570050e85cb36a0bb1cf_highlighter(feature) {\n", + " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_highlighter(feature) {\n", " switch(feature.id) {\n", " default:\n", " return {"fillOpacity": 0.75};\n", " }\n", " }\n", - " function geo_json_fd903d47616b570050e85cb36a0bb1cf_pointToLayer(feature, latlng) {\n", + " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_pointToLayer(feature, latlng) {\n", " var opts = {"bubblingMouseEvents": true, "color": "#3388ff", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "#3388ff", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 2, "stroke": true, "weight": 3};\n", " \n", - " let style = geo_json_fd903d47616b570050e85cb36a0bb1cf_styler(feature)\n", + " let style = geo_json_7afca762c2cfb2afbcb8b0f1c114494c_styler(feature)\n", " Object.assign(opts, style)\n", " \n", " return new L.CircleMarker(latlng, opts)\n", " }\n", "\n", - " function geo_json_fd903d47616b570050e85cb36a0bb1cf_onEachFeature(feature, layer) {\n", + " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_onEachFeature(feature, layer) {\n", " layer.on({\n", " mouseout: function(e) {\n", " if(typeof e.target.setStyle === "function"){\n", - " geo_json_fd903d47616b570050e85cb36a0bb1cf.resetStyle(e.target);\n", + " geo_json_7afca762c2cfb2afbcb8b0f1c114494c.resetStyle(e.target);\n", " }\n", " },\n", " mouseover: function(e) {\n", " if(typeof e.target.setStyle === "function"){\n", - " const highlightStyle = geo_json_fd903d47616b570050e85cb36a0bb1cf_highlighter(e.target.feature)\n", + " const highlightStyle = geo_json_7afca762c2cfb2afbcb8b0f1c114494c_highlighter(e.target.feature)\n", " e.target.setStyle(highlightStyle);\n", " }\n", " },\n", " });\n", " };\n", - " var geo_json_fd903d47616b570050e85cb36a0bb1cf = L.geoJson(null, {\n", - " onEachFeature: geo_json_fd903d47616b570050e85cb36a0bb1cf_onEachFeature,\n", + " var geo_json_7afca762c2cfb2afbcb8b0f1c114494c = L.geoJson(null, {\n", + " onEachFeature: geo_json_7afca762c2cfb2afbcb8b0f1c114494c_onEachFeature,\n", " \n", - " style: geo_json_fd903d47616b570050e85cb36a0bb1cf_styler,\n", - " pointToLayer: geo_json_fd903d47616b570050e85cb36a0bb1cf_pointToLayer,\n", + " style: geo_json_7afca762c2cfb2afbcb8b0f1c114494c_styler,\n", + " pointToLayer: geo_json_7afca762c2cfb2afbcb8b0f1c114494c_pointToLayer,\n", " });\n", "\n", - " function geo_json_fd903d47616b570050e85cb36a0bb1cf_add (data) {\n", - " geo_json_fd903d47616b570050e85cb36a0bb1cf\n", + " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_add (data) {\n", + " geo_json_7afca762c2cfb2afbcb8b0f1c114494c\n", " .addData(data);\n", " }\n", - " geo_json_fd903d47616b570050e85cb36a0bb1cf_add({"bbox": [-84.53054400046031, 39.111059999875216, -84.46004200046795, 39.15545999987109], "features": [{"bbox": [-84.47864300046585, 39.120659999874455, -84.46864200046697, 39.12675999987392], "geometry": {"coordinates": [[[-84.47834300046591, 39.12445999987407], [-84.47774300046596, 39.12445999987407], [-84.47744300046601, 39.1243599998741], [-84.4766430004661, 39.1243599998741], [-84.47524300046624, 39.12455999987408], [-84.47394300046638, 39.12455999987409], [-84.47224300046658, 39.12535999987403], [-84.47194300046661, 39.12645999987392], [-84.47064200046675, 39.12615999987395], [-84.4703420004668, 39.12625999987395], [-84.46884200046696, 39.12675999987392], [-84.46864200046697, 39.1248599998741], [-84.47188800046659, 39.1234969998742], [-84.47603700046615, 39.12175399987434], [-84.47864300046585, 39.120659999874455], [-84.47854300046589, 39.12185999987432], [-84.47834300046591, 39.12445999987407]]], "type": "Polygon"}, "id": "0", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 9.0, "AGE_18": 459.0, "AGE_20_24": 32.0, "AGE_21": 453.0, "AGE_25_34": 60.0, "AGE_35_44": 53.0, "AGE_45_54": 64.0, "AGE_55_59": 34.0, "AGE_5_9": 6.0, "AGE_60_64": 38.0, "AGE_62": 197.0, "AGE_65": 174.0, "AGE_65_74": 90.0, "AGE_75_84": 62.0, "AGE_85": 22.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 439.0, "AREA": 0.09, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.45, "BG": "390610042002", "BLACK": 32.0, "BLOCK": "390610042002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5384.7901, "F1_RACE": 472.0, "F2_RACES": 7.0, "FEMALE": 258.0, "FEMALE_18": 246.0, "FEMALE_65": 100.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 105.0, "HH_NONFAMI": 225.0, "HOUSEHOLDS": 330.0, "HSNG_UNITS": 361.0, "HU_OCCUPIE": 330.0, "HU_VACANT": 31.0, "ID": 726907.0, "IN_HOUSEHO": 479.0, "MALE": 221.0, "MALE_18": 213.0, "MALE_65": 74.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 430.0, "NOT_HISPAN": 474.0, "OCCHU_OWNE": 245.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.46, "POPULATION": 479.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 433.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5082430004627, 39.12495999987392, -84.50554300046298, 39.126759999873755], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50554300046298, 39.12655999987377], [-84.50564300046297, 39.12495999987392], [-84.50604300046291, 39.125059999873905], [-84.50674300046285, 39.125459999873875], [-84.50824300046268, 39.12555999987385], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "1", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 54.0, "AGE_25_34": 13.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 4.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.73, "AVG_HHSIZE": 2.43, "BG": "390610022004", "BLACK": 66.0, "BLOCK": "390610022004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6643.1423, "F1_RACE": 82.0, "F2_RACES": 3.0, "FEMALE": 46.0, "FEMALE_18": 34.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 0.0, "ID": 695744.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 27.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.22, "POPULATION": 85.0, "RENTER_SIZ": 2.15, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12745999987367, -84.50624300046294, 39.12875999987356], "geometry": {"coordinates": [[[-84.50864300046265, 39.12745999987367], [-84.50844300046269, 39.12795999987365], [-84.50794300046275, 39.12845999987357], [-84.50784300046276, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50624300046294, 39.12865999987357], [-84.50644300046291, 39.12775999987366], [-84.5073430004628, 39.127859999873635], [-84.50864300046265, 39.12745999987367]]], "type": "Polygon"}, "id": "2", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 29.0, "AGE_20_24": 13.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.32, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4326.5018, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 2.0, "ID": 695762.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 29.0, "RENTER_SIZ": 1.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 15.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50564300046297, 39.12495999987392, -84.5045430004631, 39.126559999873784], "geometry": {"coordinates": [[[-84.50564300046297, 39.12495999987392], [-84.50554300046298, 39.12655999987377], [-84.5045430004631, 39.126559999873784], [-84.50474300046305, 39.12495999987392], [-84.50564300046297, 39.12495999987392]]], "type": "Polygon"}, "id": "3", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 17.0, "AGE_18": 78.0, "AGE_20_24": 12.0, "AGE_21": 70.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 4.0, "AGE_62": 6.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610022004", "BLACK": 103.0, "BLOCK": "390610022004002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20784.6991, "F1_RACE": 117.0, "F2_RACES": 0.0, "FEMALE": 58.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 9.0, "ID": 695780.0, "IN_HOUSEHO": 117.0, "MALE": 59.0, "MALE_18": 43.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.8, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 115.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.57, "POPULATION": 117.0, "RENTER_SIZ": 2.25, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12645999987379, -84.50314300046327, 39.128259999873634], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50864300046265, 39.12745999987367], [-84.5073430004628, 39.127859999873635], [-84.50644300046291, 39.12775999987366], [-84.50524300046303, 39.12775999987366], [-84.50454300046312, 39.12795999987365], [-84.50334300046325, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50314300046327, 39.12815999987364], [-84.50324300046324, 39.12735999987369], [-84.50334300046323, 39.12645999987379], [-84.5045430004631, 39.126559999873784], [-84.50554300046298, 39.12655999987377], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "4", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 90.0, "AGE_20_24": 28.0, "AGE_21": 84.0, "AGE_25_34": 44.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.41, "BG": "390610033001", "BLACK": 39.0, "BLOCK": "390610033001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4019.0506, "F1_RACE": 92.0, "F2_RACES": 4.0, "FEMALE": 45.0, "FEMALE_18": 40.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 1.0, "ID": 695798.0, "IN_HOUSEHO": 96.0, "MALE": 51.0, "MALE_18": 50.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 96.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 52.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50944300046258, 39.12865999987357, -84.50774300046278, 39.13005999987343], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.50774300046278, 39.12995999987345], [-84.50784300046276, 39.12865999987357], [-84.50870500046265, 39.12876799987356], [-84.50944300046258, 39.128859999873555], [-84.50934300046261, 39.13005999987343], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "5", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 41.0, "AGE_20_24": 14.0, "AGE_21": 38.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.88, "BG": "390610033002", "BLACK": 18.0, "BLOCK": "390610033002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5913.7961, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 695823.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 45.0, "RENTER_SIZ": 1.62, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5085430004627, 39.12995999987345, -84.5076430004628, 39.13125999987332], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.5084430004627, 39.131259999873315], [-84.5076430004628, 39.13125999987332], [-84.50774300046278, 39.12995999987345], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "6", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 14.0, "AGE_18": 61.0, "AGE_20_24": 29.0, "AGE_21": 38.0, "AGE_25_34": 8.0, "AGE_35_44": 6.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.31, "BG": "390610033002", "BLACK": 52.0, "BLOCK": "390610033002009", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21764.4799, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 42.0, "FEMALE_18": 32.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 11.0, "ID": 695843.0, "IN_HOUSEHO": 81.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 2.0, "MEDIAN_AGE": 20.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.33, "POPULATION": 81.0, "RENTER_SIZ": 2.52, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 24.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50784300046276, 39.12865999987357, -84.50704300046286, 39.12995999987345], "geometry": {"coordinates": [[[-84.50784300046276, 39.12865999987357], [-84.50774300046278, 39.12995999987345], [-84.50704300046286, 39.12995999987345], [-84.50714300046283, 39.12875999987356], [-84.50784300046276, 39.12865999987357]]], "type": "Polygon"}, "id": "7", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 19.0, "AGE_21": 27.0, "AGE_25_34": 4.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.13, "BG": "390610033002", "BLACK": 4.0, "BLOCK": "390610033002012", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9932.4581, "F1_RACE": 31.0, "F2_RACES": 1.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 695860.0, "IN_HOUSEHO": 32.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.7, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 32.0, "RENTER_SIZ": 2.08, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50714300046283, 39.12865999987357, -84.50614300046294, 39.12995999987345], "geometry": {"coordinates": [[[-84.50704300046286, 39.12995999987345], [-84.50614300046294, 39.129859999873474], [-84.50624300046294, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50704300046286, 39.12995999987345]]], "type": "Polygon"}, "id": "8", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 41.0, "AGE_20_24": 11.0, "AGE_21": 31.0, "AGE_25_34": 9.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.05, "BG": "390610033002", "BLACK": 2.0, "BLOCK": "390610033002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10157.3434, "F1_RACE": 39.0, "F2_RACES": 2.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 5.0, "ID": 695878.0, "IN_HOUSEHO": 41.0, "MALE": 27.0, "MALE_18": 27.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 41.0, "RENTER_SIZ": 2.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 37.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50774300046278, 39.129859999873474, -84.50604300046297, 39.13125999987332], "geometry": {"coordinates": [[[-84.50774300046278, 39.12995999987345], [-84.5076430004628, 39.13125999987332], [-84.50684300046287, 39.13125999987332], [-84.50604300046297, 39.13115999987337], [-84.50604300046297, 39.130959999873355], [-84.50614300046294, 39.129859999873474], [-84.50704300046286, 39.12995999987345], [-84.50774300046278, 39.12995999987345]]], "type": "Polygon"}, "id": "9", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 12.0, "AGE_18": 72.0, "AGE_20_24": 26.0, "AGE_21": 58.0, "AGE_25_34": 12.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 1.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.07, "BG": "390610033002", "BLACK": 49.0, "BLOCK": "390610033002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11417.4899, "F1_RACE": 83.0, "F2_RACES": 6.0, "FEMALE": 56.0, "FEMALE_18": 43.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 1.0, "ID": 695895.0, "IN_HOUSEHO": 89.0, "MALE": 33.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.6, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 89.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 89.0, "RENTER_SIZ": 3.61, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.131259999873315, -84.50744300046281, 39.13255999987321], "geometry": {"coordinates": [[[-84.5084430004627, 39.131259999873315], [-84.50844300046272, 39.13255999987321], [-84.50744300046281, 39.13245999987321], [-84.5076430004628, 39.13125999987332], [-84.5084430004627, 39.131259999873315]]], "type": "Polygon"}, "id": "10", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 40.0, "AGE_20_24": 21.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.21, "BG": "390610033002", "BLACK": 20.0, "BLOCK": "390610033002002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10037.174, "F1_RACE": 41.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 6.0, "ID": 695916.0, "IN_HOUSEHO": 42.0, "MALE": 30.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 42.0, "RENTER_SIZ": 2.12, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 19.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5076430004628, 39.13125999987332, -84.5066430004629, 39.13245999987321], "geometry": {"coordinates": [[[-84.5076430004628, 39.13125999987332], [-84.50744300046281, 39.13245999987321], [-84.5066430004629, 39.13245999987321], [-84.50684300046287, 39.13125999987332], [-84.5076430004628, 39.13125999987332]]], "type": "Polygon"}, "id": "11", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 59.0, "AGE_20_24": 36.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 6.0, "AP_WHITE": 41.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.27, "BG": "390610033002", "BLACK": 19.0, "BLOCK": "390610033002001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19128.3583, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 23.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 695934.0, "IN_HOUSEHO": 68.0, "MALE": 45.0, "MALE_18": 41.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 65.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.5, "POPULATION": 68.0, "RENTER_SIZ": 2.32, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50744300046281, 39.13245999987321, -84.50654300046293, 39.133859999873096], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50654300046293, 39.13375999987311], [-84.5066430004629, 39.13245999987321], [-84.50744300046281, 39.13245999987321], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "12", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 80.0, "AGE_20_24": 46.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 49.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.91, "BG": "390610032002", "BLACK": 48.0, "BLOCK": "390610032002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24640.7769, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 28.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 8.0, "ID": 695951.0, "IN_HOUSEHO": 99.0, "MALE": 61.0, "MALE_18": 52.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 49.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 99.0, "RENTER_SIZ": 3.59, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 49.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50644300046291, 39.12775999987366, -84.50424300046318, 39.130959999873355], "geometry": {"coordinates": [[[-84.50614300046294, 39.129859999873474], [-84.50604300046297, 39.130959999873355], [-84.50514300046305, 39.130959999873355], [-84.50424300046318, 39.13085999987339], [-84.50454300046312, 39.12795999987365], [-84.50524300046303, 39.12775999987366], [-84.50644300046291, 39.12775999987366], [-84.50624300046294, 39.12865999987357], [-84.50614300046294, 39.129859999873474]]], "type": "Polygon"}, "id": "13", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 15.0, "AGE_15_19": 15.0, "AGE_18": 147.0, "AGE_20_24": 37.0, "AGE_21": 127.0, "AGE_25_34": 39.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 12.0, "AP_WHITE": 86.0, "AREA": 0.02, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.06, "AVG_HHSIZE": 2.29, "BG": "390610033001", "BLACK": 81.0, "BLOCK": "390610033001008", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8786.3934, "F1_RACE": 177.0, "F2_RACES": 7.0, "FEMALE": 80.0, "FEMALE_18": 61.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 18.0, "ID": 695969.0, "IN_HOUSEHO": 179.0, "MALE": 104.0, "MALE_18": 86.0, "MALE_65": 5.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 82.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 55.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 2.74, "POPULATION": 184.0, "RENTER_SIZ": 2.11, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 83.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50684300046287, 39.13115999987337, -84.505843000463, 39.13245999987322], "geometry": {"coordinates": [[[-84.50684300046287, 39.13125999987332], [-84.5066430004629, 39.13245999987321], [-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13175999987331], [-84.50604300046297, 39.13115999987337], [-84.50684300046287, 39.13125999987332]]], "type": "Polygon"}, "id": "14", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 695990.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5066430004629, 39.13245999987321, -84.50574300046303, 39.13375999987311], "geometry": {"coordinates": [[[-84.50654300046293, 39.13375999987311], [-84.50574300046303, 39.1336599998731], [-84.505843000463, 39.13315999987314], [-84.505843000463, 39.13245999987322], [-84.5066430004629, 39.13245999987321], [-84.50654300046293, 39.13375999987311]]], "type": "Polygon"}, "id": "15", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 30.0, "AGE_21": 49.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 33.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.3, "BG": "390610032002", "BLACK": 26.0, "BLOCK": "390610032002010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17261.0752, "F1_RACE": 62.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 696008.0, "IN_HOUSEHO": 62.0, "MALE": 38.0, "MALE_18": 30.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 62.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.86, "POPULATION": 62.0, "RENTER_SIZ": 2.45, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 33.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50604300046297, 39.130959999873355, -84.50504300046309, 39.13175999987331], "geometry": {"coordinates": [[[-84.50604300046297, 39.13115999987337], [-84.505843000463, 39.13175999987331], [-84.50504300046309, 39.131659999873285], [-84.50514300046305, 39.130959999873355], [-84.50604300046297, 39.130959999873355], [-84.50604300046297, 39.13115999987337]]], "type": "Polygon"}, "id": "16", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 27.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 7.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.82, "AVG_HHSIZE": 2.5, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16243.4072, "F1_RACE": 39.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 18.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 696027.0, "IN_HOUSEHO": 40.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 40.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.131659999873285, -84.50504300046309, 39.13245999987322], "geometry": {"coordinates": [[[-84.505843000463, 39.13175999987331], [-84.505843000463, 39.13245999987322], [-84.50504300046309, 39.13235999987324], [-84.50504300046309, 39.131659999873285], [-84.505843000463, 39.13175999987331]]], "type": "Polygon"}, "id": "17", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 11.0, "AGE_21": 19.0, "AGE_25_34": 11.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.53, "BG": "390610033001", "BLACK": 6.0, "BLOCK": "390610033001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11091.2573, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 696046.0, "IN_HOUSEHO": 23.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 23.0, "RENTER_SIZ": 1.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50514300046305, 39.13085999987339, -84.50424300046318, 39.131659999873285], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50424300046318, 39.13155999987331], [-84.50424300046318, 39.13085999987339], [-84.50514300046305, 39.130959999873355], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "18", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 36.0, "AGE_20_24": 10.0, "AGE_21": 33.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.96, "BG": "390610033001", "BLACK": 28.0, "BLOCK": "390610033001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20253.2817, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 20.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 5.0, "ID": 696063.0, "IN_HOUSEHO": 45.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.95, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13155999987331, -84.50414300046317, 39.13235999987324], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50504300046309, 39.13235999987324], [-84.50414300046317, 39.13225999987324], [-84.50424300046318, 39.13155999987331], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "19", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 54.0, "AGE_20_24": 22.0, "AGE_21": 43.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.22, "BG": "390610033001", "BLACK": 33.0, "BLOCK": "390610033001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 26104.6528, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 696081.0, "IN_HOUSEHO": 58.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 58.0, "RENTER_SIZ": 2.71, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13235999987324, -84.5049430004631, 39.13315999987314], "geometry": {"coordinates": [[[-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13315999987314], [-84.5049430004631, 39.13305999987318], [-84.50504300046309, 39.13235999987324], [-84.505843000463, 39.13245999987322]]], "type": "Polygon"}, "id": "20", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 3.0, "BG": "390610032002", "BLACK": 12.0, "BLOCK": "390610032002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5400.9967, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 696098.0, "IN_HOUSEHO": 12.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 12.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.12485999987395, -84.50334300046323, 39.126559999873784], "geometry": {"coordinates": [[[-84.5045430004631, 39.126559999873784], [-84.50334300046323, 39.12645999987379], [-84.5034430004632, 39.12485999987395], [-84.50474300046305, 39.12495999987392], [-84.5045430004631, 39.126559999873784]]], "type": "Polygon"}, "id": "21", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 112.0, "AGE_20_24": 33.0, "AGE_21": 96.0, "AGE_25_34": 27.0, "AGE_35_44": 18.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 57.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.39, "BG": "390610022004", "BLACK": 61.0, "BLOCK": "390610022004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16616.8953, "F1_RACE": 120.0, "F2_RACES": 4.0, "FEMALE": 44.0, "FEMALE_18": 35.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 16.0, "ID": 696116.0, "IN_HOUSEHO": 124.0, "MALE": 80.0, "MALE_18": 77.0, "MALE_65": 4.0, "MEDIAN_AGE": 26.3, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 80.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 124.0, "RENTER_SIZ": 1.33, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 54.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12485999987395, -84.5025430004633, 39.12645999987379], "geometry": {"coordinates": [[[-84.5034430004632, 39.12485999987395], [-84.50334300046323, 39.12645999987379], [-84.50254300046332, 39.126359999873785], [-84.5025430004633, 39.12485999987396], [-84.5034430004632, 39.12485999987395]]], "type": "Polygon"}, "id": "22", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 1.0, "AGE_35_44": 15.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 7.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.77, "AVG_HHSIZE": 2.04, "BG": "390610022004", "BLACK": 52.0, "BLOCK": "390610022004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10841.8176, "F1_RACE": 52.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 23.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 13.0, "ID": 696133.0, "IN_HOUSEHO": 53.0, "MALE": 23.0, "MALE_18": 17.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.88, "POPULATION": 53.0, "RENTER_SIZ": 1.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50334300046323, 39.126359999873785, -84.5017430004634, 39.12735999987369], "geometry": {"coordinates": [[[-84.50334300046323, 39.12645999987379], [-84.50324300046324, 39.12735999987369], [-84.5018430004634, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.50254300046332, 39.126359999873785], [-84.50334300046323, 39.12645999987379]]], "type": "Polygon"}, "id": "23", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 216.0, "AGE_20_24": 46.0, "AGE_21": 198.0, "AGE_25_34": 53.0, "AGE_35_44": 36.0, "AGE_45_54": 34.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 31.0, "AGE_65": 28.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 11.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 88.0, "AREA": 0.01, "ASIAN": 11.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.26, "BG": "390610033001", "BLACK": 124.0, "BLOCK": "390610033001013", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 43709.5862, "F1_RACE": 218.0, "F2_RACES": 7.0, "FEMALE": 118.0, "FEMALE_18": 112.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 158.0, "HOUSEHOLDS": 178.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 178.0, "HU_VACANT": 15.0, "ID": 696151.0, "IN_HOUSEHO": 225.0, "MALE": 107.0, "MALE_18": 104.0, "MALE_65": 14.0, "MEDIAN_AGE": 34.2, "MSA": "1640", "NH_WHITE": 81.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 178.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 225.0, "RENTER_SIZ": 1.26, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 82.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50254300046332, 39.12475999987396, -84.50174300046339, 39.126359999873806], "geometry": {"coordinates": [[[-84.5025430004633, 39.12485999987396], [-84.50254300046332, 39.126359999873785], [-84.5017430004634, 39.126359999873806], [-84.50194300046337, 39.125159999873944], [-84.50174300046339, 39.12475999987396], [-84.5025430004633, 39.12485999987396]]], "type": "Polygon"}, "id": "24", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610022001", "BLACK": 0.0, "BLOCK": "390610022001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 696169.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51354400046225, 39.14475999987204, -84.51184400046245, 39.14605999987192], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51184400046245, 39.14585999987196], [-84.51194400046242, 39.14475999987204], [-84.51224400046239, 39.14475999987204], [-84.5132440004623, 39.145059999872046], [-84.51354400046225, 39.145259999872], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "25", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 45.0, "AGE_25_34": 5.0, "AGE_35_44": 15.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.91, "AVG_HHSIZE": 1.93, "BG": "390610069003", "BLACK": 53.0, "BLOCK": "390610069003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9139.2801, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 2.0, "ID": 687545.0, "IN_HOUSEHO": 56.0, "MALE": 28.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 43.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.77, "POPULATION": 56.0, "RENTER_SIZ": 2.06, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51254400046238, 39.14205999987235, -84.50534300046313, 39.14955999987163], "geometry": {"coordinates": [[[-84.51254400046238, 39.1475599998718], [-84.51194400046245, 39.14875999987168], [-84.51114400046254, 39.14955999987163], [-84.5106440004626, 39.14925999987166], [-84.51034400046261, 39.14905999987166], [-84.5096440004627, 39.148759999871686], [-84.50884400046277, 39.14805999987176], [-84.50834400046283, 39.147259999871835], [-84.50714400046296, 39.14655999987191], [-84.50644400046303, 39.146459999871915], [-84.50544300046313, 39.14645999987191], [-84.50534300046313, 39.14555999987203], [-84.5055430004631, 39.143859999872156], [-84.50564300046308, 39.142959999872254], [-84.50574300046307, 39.14205999987235], [-84.5092440004627, 39.142259999872316], [-84.50984400046265, 39.14275999987224], [-84.5101440004626, 39.14305999987221], [-84.51194400046242, 39.14475999987204], [-84.51184400046245, 39.14585999987196], [-84.51164500046248, 39.14754799987178], [-84.51164400046247, 39.1475599998718], [-84.51254400046238, 39.1475599998718]]], "type": "Polygon"}, "id": "26", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 21.0, "AGE_18": 152.0, "AGE_20_24": 12.0, "AGE_21": 148.0, "AGE_25_34": 28.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 11.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 35.0, "AGE_65": 32.0, "AGE_65_74": 18.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 207.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.12, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.61, "BG": "390610069003", "BLACK": 207.0, "BLOCK": "390610069003000", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1820.1248, "F1_RACE": 222.0, "F2_RACES": 0.0, "FEMALE": 122.0, "FEMALE_18": 91.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 85.0, "HSNG_UNITS": 109.0, "HU_OCCUPIE": 85.0, "HU_VACANT": 24.0, "ID": 687585.0, "IN_HOUSEHO": 222.0, "MALE": 100.0, "MALE_18": 61.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 221.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.35, "POPULATION": 222.0, "RENTER_SIZ": 2.88, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51334400046228, 39.14585999987196, -84.51164400046247, 39.1475599998718], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51264400046237, 39.14735999987182], [-84.51254400046238, 39.1475599998718], [-84.51164400046247, 39.1475599998718], [-84.51164500046248, 39.14754799987178], [-84.51184400046245, 39.14585999987196], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "27", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 11.0, "AGE_15_19": 15.0, "AGE_18": 64.0, "AGE_20_24": 6.0, "AGE_21": 55.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 15.0, "AGE_55_59": 4.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.75, "BG": "390610069003", "BLACK": 94.0, "BLOCK": "390610069003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13605.8656, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 56.0, "FEMALE_18": 39.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 5.0, "ID": 687621.0, "IN_HOUSEHO": 99.0, "MALE": 43.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.04, "POPULATION": 99.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51114400046254, 39.148759999871686, -84.5088440004628, 39.151459999871456], "geometry": {"coordinates": [[[-84.5106440004626, 39.14925999987166], [-84.51114400046254, 39.14955999987163], [-84.51058400046261, 39.15017099987156], [-84.51004400046266, 39.150759999871525], [-84.50924400046277, 39.151459999871456], [-84.5088440004628, 39.15095999987151], [-84.50924400046276, 39.150759999871525], [-84.5096440004627, 39.148759999871686], [-84.51034400046261, 39.14905999987166], [-84.5106440004626, 39.14925999987166]]], "type": "Polygon"}, "id": "28", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 7.0, "AGE_55_59": 5.0, "AGE_5_9": 10.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.13, "BG": "390610069004", "BLACK": 70.0, "BLOCK": "390610069004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7451.3647, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 25.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 687678.0, "IN_HOUSEHO": 72.0, "MALE": 32.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 72.0, "RENTER_SIZ": 4.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.53054400046031, 39.129559999873415, -84.52194400046125, 39.13445999987294], "geometry": {"coordinates": [[[-84.52954400046043, 39.13215999987317], [-84.52784400046063, 39.13295999987308], [-84.52654400046077, 39.13375999987302], [-84.52644400046078, 39.133959999872985], [-84.5264440004608, 39.13445999987294], [-84.524462000461, 39.13436999987297], [-84.52424400046101, 39.13435999987296], [-84.52284400046116, 39.13435999987296], [-84.52294400046114, 39.13295999987311], [-84.52301200046112, 39.1321479998732], [-84.52304400046114, 39.131759999873225], [-84.52194400046125, 39.13165999987322], [-84.52234400046119, 39.129559999873415], [-84.52374400046105, 39.129659999873425], [-84.52444400046097, 39.129659999873425], [-84.52534400046086, 39.12975999987339], [-84.5259440004608, 39.12975999987339], [-84.52674400046072, 39.12985999987338], [-84.5269440004607, 39.12985999987338], [-84.5279120004606, 39.129940999873355], [-84.53054400046031, 39.130159999873335], [-84.53034400046035, 39.13085999987328], [-84.5279440004606, 39.1307599998733], [-84.52774400046063, 39.132059999873164], [-84.52794400046061, 39.13195999987317], [-84.52954400046043, 39.13215999987317]]], "type": "Polygon"}, "id": "29", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 61.0, "AGE_18": 624.0, "AGE_20_24": 272.0, "AGE_21": 520.0, "AGE_25_34": 128.0, "AGE_35_44": 59.0, "AGE_45_54": 58.0, "AGE_55_59": 12.0, "AGE_5_9": 14.0, "AGE_60_64": 11.0, "AGE_62": 52.0, "AGE_65": 44.0, "AGE_65_74": 23.0, "AGE_75_84": 14.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 25.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 590.0, "AREA": 0.1, "ASIAN": 23.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.76, "BG": "390610029003", "BLACK": 69.0, "BLOCK": "390610029003000", "BURGLARY": 10, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7170.8735, "F1_RACE": 666.0, "F2_RACES": 22.0, "FEMALE": 284.0, "FEMALE_18": 250.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 119.0, "GROUP_QUAR": 119.0, "HAWAIIAN": 0.0, "HH_FAMILY": 73.0, "HH_NONFAMI": 250.0, "HOUSEHOLDS": 323.0, "HSNG_UNITS": 358.0, "HU_OCCUPIE": 323.0, "HU_VACANT": 35.0, "ID": 677316.0, "IN_HOUSEHO": 569.0, "MALE": 404.0, "MALE_18": 374.0, "MALE_65": 16.0, "MEDIAN_AGE": 24.1, "MSA": "1640", "NH_WHITE": 570.0, "NOT_HISPAN": 684.0, "OCCHU_OWNE": 74.0, "OCCHU_RENT": 249.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.93, "POPULATION": 688.0, "RENTER_SIZ": 1.71, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 572.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12385999987407, -84.49054300046461, 39.12485999987399], "geometry": {"coordinates": [[[-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12485999987399], [-84.49054300046461, 39.12475999987402], [-84.49094300046455, 39.12395999987406], [-84.49114300046453, 39.12385999987407], [-84.49114300046453, 39.12445999987403]]], "type": "Polygon"}, "id": "30", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 750.053, "F1_RACE": 0.0, "F2_RACES": 1.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 673099.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48994300046463, 39.11995999987445, -84.48814300046483, 39.121959999874264], "geometry": {"coordinates": [[[-84.48984300046465, 39.12095999987435], [-84.48974300046466, 39.121959999874264], [-84.48814300046483, 39.121859999874275], [-84.48814300046483, 39.1216599998743], [-84.4883430004648, 39.119959999874474], [-84.48994300046463, 39.11995999987445], [-84.48984300046465, 39.12095999987435]]], "type": "Polygon"}, "id": "31", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 105.0, "AGE_20_24": 7.0, "AGE_21": 101.0, "AGE_25_34": 36.0, "AGE_35_44": 23.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 5.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 67.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 62.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.86, "BG": "390610019001", "BLACK": 67.0, "BLOCK": "390610019001005", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11143.0829, "F1_RACE": 128.0, "F2_RACES": 2.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 14.0, "ID": 673118.0, "IN_HOUSEHO": 130.0, "MALE": 67.0, "MALE_18": 57.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 60.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.88, "POPULATION": 130.0, "RENTER_SIZ": 1.85, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 60.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49134300046451, 39.12315999987414, -84.48914300046475, 39.12495999987399], "geometry": {"coordinates": [[[-84.48964300046468, 39.12315999987414], [-84.49134300046451, 39.12325999987412], [-84.49094300046455, 39.12395999987406], [-84.49054300046461, 39.12475999987402], [-84.49044300046461, 39.12495999987399], [-84.48914300046475, 39.124859999874], [-84.48914300046475, 39.123859999874085], [-84.48964300046468, 39.12315999987414]]], "type": "Polygon"}, "id": "32", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 63.0, "AGE_20_24": 2.0, "AGE_21": 63.0, "AGE_25_34": 6.0, "AGE_35_44": 15.0, "AGE_45_54": 20.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 61.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.33, "BG": "390610019001", "BLACK": 61.0, "BLOCK": "390610019001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6453.8469, "F1_RACE": 67.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 7.0, "ID": 673138.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 37.0, "MALE_65": 8.0, "MEDIAN_AGE": 48.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 68.0, "RENTER_SIZ": 1.17, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48974300046466, 39.121859999874275, -84.48784300046489, 39.124859999874026], "geometry": {"coordinates": [[[-84.48974300046466, 39.121959999874264], [-84.48964300046468, 39.12315999987414], [-84.48914300046475, 39.123859999874085], [-84.48914300046475, 39.124859999874], [-84.48784300046489, 39.124859999874026], [-84.48784300046489, 39.12445999987403], [-84.48814300046483, 39.121859999874275], [-84.48974300046466, 39.121959999874264]]], "type": "Polygon"}, "id": "33", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 13.0, "AGE_15_19": 0.0, "AGE_18": 166.0, "AGE_20_24": 13.0, "AGE_21": 162.0, "AGE_25_34": 39.0, "AGE_35_44": 39.0, "AGE_45_54": 37.0, "AGE_55_59": 10.0, "AGE_5_9": 5.0, "AGE_60_64": 11.0, "AGE_62": 24.0, "AGE_65": 17.0, "AGE_65_74": 11.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 124.0, "AP_HAWAIIA": 9.0, "AP_HISPANI": 1.0, "AP_OTHER": 8.0, "AP_WHITE": 57.0, "AREA": 0.02, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.52, "BG": "390610019001", "BLACK": 122.0, "BLOCK": "390610019001002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11986.7841, "F1_RACE": 182.0, "F2_RACES": 10.0, "FEMALE": 90.0, "FEMALE_18": 78.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 1.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 99.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 9.0, "ID": 673157.0, "IN_HOUSEHO": 186.0, "MALE": 102.0, "MALE_18": 88.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 99.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.04, "POPULATION": 192.0, "RENTER_SIZ": 1.4, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 55.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11755999987469, -84.48694300046495, 39.119959999874474], "geometry": {"coordinates": [[[-84.48804300046481, 39.11755999987469], [-84.48794300046484, 39.11825999987461], [-84.48784300046485, 39.118759999874584], [-84.4883430004648, 39.119959999874474], [-84.48694300046495, 39.11915999987453], [-84.48744300046488, 39.11825999987463], [-84.48804300046481, 39.11755999987469]]], "type": "Polygon"}, "id": "34", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 673193.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11915999987453, -84.48654300046502, 39.1216599998743], "geometry": {"coordinates": [[[-84.4883430004648, 39.119959999874474], [-84.48814300046483, 39.1216599998743], [-84.48654300046502, 39.1215599998743], [-84.486643000465, 39.11975999987448], [-84.48694300046495, 39.11915999987453], [-84.4883430004648, 39.119959999874474]]], "type": "Polygon"}, "id": "35", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 217.0, "AGE_20_24": 35.0, "AGE_21": 208.0, "AGE_25_34": 72.0, "AGE_35_44": 29.0, "AGE_45_54": 21.0, "AGE_55_59": 9.0, "AGE_5_9": 2.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 39.0, "AGE_65_74": 9.0, "AGE_75_84": 15.0, "AGE_85": 15.0, "AMINDIAN": 2.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 2.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 3.0, "AP_WHITE": 163.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.48, "BG": "390610020002", "BLACK": 59.0, "BLOCK": "390610020002006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18000.3183, "F1_RACE": 225.0, "F2_RACES": 5.0, "FEMALE": 119.0, "FEMALE_18": 111.0, "FEMALE_65": 24.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 29.0, "HH_NONFAMI": 101.0, "HOUSEHOLDS": 130.0, "HSNG_UNITS": 140.0, "HU_OCCUPIE": 130.0, "HU_VACANT": 10.0, "ID": 673212.0, "IN_HOUSEHO": 192.0, "MALE": 111.0, "MALE_18": 106.0, "MALE_65": 15.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 160.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 32.0, "OCCHU_RENT": 98.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.84, "POPULATION": 230.0, "RENTER_SIZ": 1.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 160.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48694300046495, 39.118459999874595, -84.48474300046519, 39.120659999874405], "geometry": {"coordinates": [[[-84.48694300046495, 39.11915999987453], [-84.486643000465, 39.11975999987448], [-84.48564300046509, 39.11975999987448], [-84.48544300046511, 39.11985999987447], [-84.48514300046514, 39.120659999874405], [-84.48474300046519, 39.11995999987449], [-84.48474300046519, 39.119159999874555], [-84.48534300046512, 39.11865999987457], [-84.48555500046508, 39.118617999874594], [-84.486343000465, 39.118459999874595], [-84.48694300046495, 39.11915999987453]]], "type": "Polygon"}, "id": "36", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 219.0, "AGE_20_24": 6.0, "AGE_21": 218.0, "AGE_25_34": 15.0, "AGE_35_44": 15.0, "AGE_45_54": 37.0, "AGE_55_59": 15.0, "AGE_5_9": 1.0, "AGE_60_64": 13.0, "AGE_62": 125.0, "AGE_65": 118.0, "AGE_65_74": 46.0, "AGE_75_84": 58.0, "AGE_85": 14.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 197.0, "AREA": 0.01, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.27, "BG": "390610020002", "BLACK": 18.0, "BLOCK": "390610020002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23114.5895, "F1_RACE": 220.0, "F2_RACES": 0.0, "FEMALE": 118.0, "FEMALE_18": 118.0, "FEMALE_65": 68.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 135.0, "HOUSEHOLDS": 173.0, "HSNG_UNITS": 188.0, "HU_OCCUPIE": 173.0, "HU_VACANT": 15.0, "ID": 673231.0, "IN_HOUSEHO": 220.0, "MALE": 102.0, "MALE_18": 101.0, "MALE_65": 50.0, "MEDIAN_AGE": 68.3, "MSA": "1640", "NH_WHITE": 197.0, "NOT_HISPAN": 220.0, "OCCHU_OWNE": 24.0, "OCCHU_RENT": 149.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.46, "POPULATION": 220.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 197.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.486643000465, 39.11975999987448, -84.48514300046514, 39.12225999987424], "geometry": {"coordinates": [[[-84.48654300046502, 39.1215599998743], [-84.48644300046502, 39.12225999987424], [-84.48614300046505, 39.12215999987426], [-84.48514300046514, 39.121059999874355], [-84.48514300046514, 39.120659999874405], [-84.48544300046511, 39.11985999987447], [-84.48564300046509, 39.11975999987448], [-84.486643000465, 39.11975999987448], [-84.48654300046502, 39.1215599998743]]], "type": "Polygon"}, "id": "37", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 99.0, "AGE_20_24": 16.0, "AGE_21": 93.0, "AGE_25_34": 43.0, "AGE_35_44": 13.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 68.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.5, "BG": "390610020002", "BLACK": 35.0, "BLOCK": "390610020002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10681.4877, "F1_RACE": 104.0, "F2_RACES": 4.0, "FEMALE": 52.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 86.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 14.0, "ID": 673252.0, "IN_HOUSEHO": 108.0, "MALE": 56.0, "MALE_18": 52.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 66.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 108.0, "RENTER_SIZ": 1.37, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 66.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48814300046483, 39.1215599998743, -84.48614300046508, 39.12445999987403], "geometry": {"coordinates": [[[-84.48814300046483, 39.121859999874275], [-84.48784300046489, 39.12445999987403], [-84.48614300046508, 39.12435999987406], [-84.48644300046502, 39.12225999987424], [-84.48654300046502, 39.1215599998743], [-84.48814300046483, 39.1216599998743], [-84.48814300046483, 39.121859999874275]]], "type": "Polygon"}, "id": "38", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 138.0, "AGE_20_24": 13.0, "AGE_21": 130.0, "AGE_25_34": 45.0, "AGE_35_44": 28.0, "AGE_45_54": 16.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 4.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 65.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 4.0, "AP_OTHER": 2.0, "AP_WHITE": 84.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.52, "BG": "390610020002", "BLACK": 58.0, "BLOCK": "390610020002002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8645.0376, "F1_RACE": 142.0, "F2_RACES": 8.0, "FEMALE": 68.0, "FEMALE_18": 63.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 30.0, "GROUP_QUAR": 30.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 85.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 6.0, "ID": 673272.0, "IN_HOUSEHO": 120.0, "MALE": 82.0, "MALE_18": 75.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 78.0, "NOT_HISPAN": 146.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.85, "POPULATION": 150.0, "RENTER_SIZ": 1.45, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 78.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48784300046489, 39.12435999987406, -84.48604300046509, 39.125459999873954], "geometry": {"coordinates": [[[-84.48784300046489, 39.12445999987403], [-84.48784300046489, 39.124859999874026], [-84.4877430004649, 39.125459999873954], [-84.48604300046509, 39.125359999873965], [-84.48614300046508, 39.12435999987406], [-84.48784300046489, 39.12445999987403]]], "type": "Polygon"}, "id": "39", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 60.0, "AGE_20_24": 6.0, "AGE_21": 56.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 8.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 6.0, "AP_BLACK": 49.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.57, "BG": "390610020002", "BLACK": 49.0, "BLOCK": "390610020002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11237.8312, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 13.0, "ID": 673292.0, "IN_HOUSEHO": 72.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 5.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 72.0, "RENTER_SIZ": 1.45, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 15.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48614300046505, 39.121059999874355, -84.48484300046519, 39.12215999987427], "geometry": {"coordinates": [[[-84.48514300046514, 39.121059999874355], [-84.48614300046505, 39.12215999987426], [-84.48534300046515, 39.12215999987427], [-84.48484300046519, 39.12205999987428], [-84.48514300046514, 39.121059999874355]]], "type": "Polygon"}, "id": "40", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 7.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 3.0, "BLOCK": "390610020002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5361.8973, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 673311.0, "IN_HOUSEHO": 14.0, "MALE": 8.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 14.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48644300046502, 39.12215999987426, -84.48504300046518, 39.12435999987406], "geometry": {"coordinates": [[[-84.48614300046505, 39.12215999987426], [-84.48644300046502, 39.12225999987424], [-84.48614300046508, 39.12435999987406], [-84.48504300046518, 39.12425999987408], [-84.48534300046515, 39.12215999987427], [-84.48614300046505, 39.12215999987426]]], "type": "Polygon"}, "id": "41", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 126.0, "AGE_20_24": 14.0, "AGE_21": 124.0, "AGE_25_34": 47.0, "AGE_35_44": 22.0, "AGE_45_54": 22.0, "AGE_55_59": 6.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 111.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 24.0, "BLOCK": "390610020002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15769.7309, "F1_RACE": 131.0, "F2_RACES": 8.0, "FEMALE": 75.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 7.0, "ID": 673328.0, "IN_HOUSEHO": 139.0, "MALE": 64.0, "MALE_18": 59.0, "MALE_65": 4.0, "MEDIAN_AGE": 32.6, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 138.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 89.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 139.0, "RENTER_SIZ": 1.56, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 105.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48614300046508, 39.12425999987408, -84.48504300046518, 39.125359999873965], "geometry": {"coordinates": [[[-84.48604300046509, 39.125359999873965], [-84.48504300046518, 39.12525999987396], [-84.48504300046518, 39.12425999987408], [-84.48614300046508, 39.12435999987406], [-84.48604300046509, 39.125359999873965]]], "type": "Polygon"}, "id": "42", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 65.0, "AGE_20_24": 6.0, "AGE_21": 63.0, "AGE_25_34": 27.0, "AGE_35_44": 16.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 1.81, "BG": "390610020002", "BLACK": 52.0, "BLOCK": "390610020002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21499.33, "F1_RACE": 83.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 44.0, "FEMALE_65": 0.0, "GQ_INSTITU": 19.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 28.0, "ID": 673347.0, "IN_HOUSEHO": 65.0, "MALE": 33.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 84.0, "RENTER_SIZ": 1.96, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 31.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48534300046515, 39.12205999987428, -84.48434300046526, 39.12525999987396], "geometry": {"coordinates": [[[-84.48504300046518, 39.12425999987408], [-84.48504300046518, 39.12525999987396], [-84.48434300046526, 39.125159999874], [-84.48484300046519, 39.12205999987428], [-84.48534300046515, 39.12215999987427], [-84.48504300046518, 39.12425999987408]]], "type": "Polygon"}, "id": "43", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610020001", "BLACK": 0.0, "BLOCK": "390610020001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 771.4783, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 673364.0, "IN_HOUSEHO": 5.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 5.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 5.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.12145999987434, -84.48254300046544, 39.12205999987428], "geometry": {"coordinates": [[[-84.48374300046531, 39.12175999987431], [-84.48384300046531, 39.12205999987428], [-84.48254300046544, 39.121959999874285], [-84.48264300046543, 39.12145999987434], [-84.48374300046531, 39.12175999987431]]], "type": "Polygon"}, "id": "44", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 4.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.38, "BG": "390610020001", "BLACK": 3.0, "BLOCK": "390610020001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6187.701, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 673383.0, "IN_HOUSEHO": 11.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 58.3, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 11.0, "RENTER_SIZ": 1.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 8.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.121959999874285, -84.48224300046549, 39.123859999874114], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48224300046549, 39.123659999874135], [-84.48254300046544, 39.121959999874285], [-84.48384300046531, 39.12205999987428], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "45", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 47.0, "AGE_20_24": 8.0, "AGE_21": 46.0, "AGE_25_34": 15.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.61, "BG": "390610020001", "BLACK": 14.0, "BLOCK": "390610020001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6509.2387, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 673399.0, "IN_HOUSEHO": 45.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 4.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 54.0, "RENTER_SIZ": 1.39, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 36.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48484300046519, 39.12205999987428, -84.48324300046541, 39.125159999874015], "geometry": {"coordinates": [[[-84.48484300046519, 39.12205999987428], [-84.48434300046526, 39.125159999874], [-84.48324300046541, 39.125159999874015], [-84.48344300046536, 39.123859999874114], [-84.48384300046531, 39.12205999987428], [-84.48484300046519, 39.12205999987428]]], "type": "Polygon"}, "id": "46", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 75.0, "AGE_20_24": 9.0, "AGE_21": 67.0, "AGE_25_34": 31.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 56.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.13, "AVG_HHSIZE": 1.26, "BG": "390610020001", "BLACK": 20.0, "BLOCK": "390610020001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6234.2304, "F1_RACE": 75.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 28.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 11.0, "ID": 673417.0, "IN_HOUSEHO": 77.0, "MALE": 47.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.4, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 76.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 77.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 54.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48344300046536, 39.123659999874135, -84.48194300046555, 39.12515999987403], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48324300046541, 39.125159999874015], [-84.48294300046541, 39.12515999987403], [-84.48194300046555, 39.12495999987402], [-84.48224300046549, 39.123659999874135], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "47", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 4.0, "AGE_21": 21.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610020001", "BLACK": 8.0, "BLOCK": "390610020001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4117.5953, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 14.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 673436.0, "IN_HOUSEHO": 26.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 26.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 18.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.486343000465, 39.11735999987473, -84.47834300046591, 39.124659999874055], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.47994300046574, 39.12345999987416], [-84.47964300046577, 39.124659999874055], [-84.47834300046591, 39.12445999987407], [-84.47854300046589, 39.12185999987432], [-84.47864300046585, 39.120659999874455], [-84.48484300046516, 39.11735999987473], [-84.48574300046508, 39.118159999874635], [-84.486343000465, 39.118459999874595], [-84.48555500046508, 39.118617999874594], [-84.48534300046512, 39.11865999987457], [-84.48474300046519, 39.119159999874555], [-84.48474300046519, 39.11995999987449], [-84.48514300046514, 39.120659999874405], [-84.48514300046514, 39.121059999874355], [-84.48484300046519, 39.12205999987428], [-84.48384300046531, 39.12205999987428], [-84.48374300046531, 39.12175999987431], [-84.48264300046543, 39.12145999987434], [-84.48254300046544, 39.121959999874285], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "48", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 10.0, "AGE_18": 378.0, "AGE_20_24": 31.0, "AGE_21": 369.0, "AGE_25_34": 110.0, "AGE_35_44": 53.0, "AGE_45_54": 59.0, "AGE_55_59": 30.0, "AGE_5_9": 5.0, "AGE_60_64": 18.0, "AGE_62": 86.0, "AGE_65": 75.0, "AGE_65_74": 52.0, "AGE_75_84": 21.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 7.0, "AP_WHITE": 316.0, "AREA": 0.1, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 73.0, "BLOCK": "390610020001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4075.5769, "F1_RACE": 400.0, "F2_RACES": 8.0, "FEMALE": 226.0, "FEMALE_18": 209.0, "FEMALE_65": 50.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 34.0, "GROUP_QUAR": 34.0, "HAWAIIAN": 0.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 155.0, "HOUSEHOLDS": 238.0, "HSNG_UNITS": 282.0, "HU_OCCUPIE": 238.0, "HU_VACANT": 44.0, "ID": 673454.0, "IN_HOUSEHO": 374.0, "MALE": 182.0, "MALE_18": 169.0, "MALE_65": 25.0, "MEDIAN_AGE": 41.7, "MSA": "1640", "NH_WHITE": 304.0, "NOT_HISPAN": 399.0, "OCCHU_OWNE": 90.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 1.76, "POPULATION": 408.0, "RENTER_SIZ": 1.46, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 310.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48224300046549, 39.12345999987416, -84.47964300046577, 39.12495999987402], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.48194300046555, 39.12495999987402], [-84.48154300046558, 39.12495999987402], [-84.4803430004657, 39.124859999874054], [-84.47964300046577, 39.124659999874055], [-84.47994300046574, 39.12345999987416], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "49", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 37.0, "AGE_20_24": 0.0, "AGE_21": 37.0, "AGE_25_34": 5.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 20.0, "AGE_65": 20.0, "AGE_65_74": 6.0, "AGE_75_84": 6.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 6.0, "BLOCK": "390610020001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3315.2547, "F1_RACE": 38.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 28.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 16.0, "GROUP_QUAR": 16.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 673484.0, "IN_HOUSEHO": 22.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 68.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 38.0, "RENTER_SIZ": 1.57, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 32.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.12675999987384, -84.48264300046547, 39.128859999873676], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48334300046541, 39.12855999987368], [-84.48264300046549, 39.128859999873676], [-84.48264300046547, 39.12805999987371], [-84.48284300046545, 39.12685999987385], [-84.48434300046527, 39.12675999987384], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "50", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 9.0, "AGE_18": 123.0, "AGE_20_24": 9.0, "AGE_21": 118.0, "AGE_25_34": 19.0, "AGE_35_44": 36.0, "AGE_45_54": 18.0, "AGE_55_59": 10.0, "AGE_5_9": 17.0, "AGE_60_64": 1.0, "AGE_62": 28.0, "AGE_65": 27.0, "AGE_65_74": 18.0, "AGE_75_84": 4.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 5.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 1.9, "BG": "390610037001", "BLACK": 154.0, "BLOCK": "390610037001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19383.9789, "F1_RACE": 167.0, "F2_RACES": 6.0, "FEMALE": 81.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 60.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 5.0, "ID": 709180.0, "IN_HOUSEHO": 173.0, "MALE": 92.0, "MALE_18": 63.0, "MALE_65": 15.0, "MEDIAN_AGE": 36.9, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 167.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.33, "POPULATION": 173.0, "RENTER_SIZ": 1.8, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4842430004653, 39.12765999987374, -84.48334300046541, 39.12855999987368], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48414300046532, 39.128459999873684], [-84.48334300046541, 39.12855999987368], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "51", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709200.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48414300046532, 39.128459999873684, -84.48334300046541, 39.129459999873596], "geometry": {"coordinates": [[[-84.48414300046532, 39.129259999873604], [-84.48404300046533, 39.129459999873596], [-84.48334300046541, 39.12935999987361], [-84.48334300046541, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.48414300046532, 39.129259999873604]]], "type": "Polygon"}, "id": "52", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 377.6733, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 709217.0, "IN_HOUSEHO": 1.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 51.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48334300046541, 39.12855999987368, -84.4825430004655, 39.12935999987361], "geometry": {"coordinates": [[[-84.48334300046541, 39.12855999987368], [-84.48334300046541, 39.12935999987361], [-84.48304300046544, 39.12935999987361], [-84.4825430004655, 39.12935999987361], [-84.48264300046549, 39.128859999873676], [-84.48334300046541, 39.12855999987368]]], "type": "Polygon"}, "id": "53", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 2.0, "BLOCK": "390610037003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1125.1529, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 709235.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 1.0, "MEDIAN_AGE": 83.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48154300046558, 39.124859999874054, -84.4786430004659, 39.12685999987386], "geometry": {"coordinates": [[[-84.48154300046558, 39.12495999987402], [-84.48134300046561, 39.12685999987385], [-84.47924300046583, 39.12675999987387], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.126059999873924], [-84.4803430004657, 39.124859999874054], [-84.48154300046558, 39.12495999987402]]], "type": "Polygon"}, "id": "54", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709254.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48284300046545, 39.12675999987387, -84.47804300046597, 39.12805999987371], "geometry": {"coordinates": [[[-84.48284300046545, 39.12685999987385], [-84.48264300046547, 39.12805999987371], [-84.47804300046597, 39.12745999987382], [-84.47824300046594, 39.12725999987383], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.12675999987387], [-84.48134300046561, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48284300046545, 39.12685999987385]]], "type": "Polygon"}, "id": "55", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 16.0, "AGE_15_19": 8.0, "AGE_18": 143.0, "AGE_20_24": 14.0, "AGE_21": 137.0, "AGE_25_34": 28.0, "AGE_35_44": 35.0, "AGE_45_54": 30.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 4.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 14.0, "AGE_75_84": 5.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 35.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.59, "AVG_HHSIZE": 2.35, "BG": "390610037001", "BLACK": 155.0, "BLOCK": "390610037001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12457.7064, "F1_RACE": 189.0, "F2_RACES": 2.0, "FEMALE": 88.0, "FEMALE_18": 60.0, "FEMALE_65": 16.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 65.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 65.0, "HU_VACANT": 18.0, "ID": 709272.0, "IN_HOUSEHO": 153.0, "MALE": 103.0, "MALE_18": 83.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.1, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.85, "POPULATION": 191.0, "RENTER_SIZ": 2.03, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 33.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48404300046533, 39.12935999987361, -84.48294300046545, 39.13065999987348], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48294300046545, 39.13055999987351], [-84.48304300046544, 39.12935999987361], [-84.48334300046541, 39.12935999987361], [-84.48404300046533, 39.129459999873596], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "56", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 1.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 1.8, "BG": "390610037003", "BLACK": 25.0, "BLOCK": "390610037003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5951.8877, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 709292.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 27.0, "RENTER_SIZ": 1.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48394300046536, 39.13055999987351, -84.48184300046557, 39.13178999987337], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48384300046537, 39.131359999873425], [-84.48384300046537, 39.131619999873394], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131759999873395], [-84.48375200046537, 39.13178999987337], [-84.48288500046546, 39.13137799987341], [-84.48274500046548, 39.13130799987342], [-84.48237000046552, 39.131118999873436], [-84.48216300046555, 39.130962999873454], [-84.48184300046557, 39.13065999987349], [-84.48214300046554, 39.13065999987349], [-84.48294300046545, 39.13055999987351], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "57", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 25.0, "AGE_20_24": 5.0, "AGE_21": 23.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.53, "BG": "390610037003", "BLACK": 47.0, "BLOCK": "390610037003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8862.921, "F1_RACE": 48.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 3.0, "ID": 709311.0, "IN_HOUSEHO": 48.0, "MALE": 24.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 48.0, "RENTER_SIZ": 2.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.128859999873676, -84.48174300046557, 39.12935999987361], "geometry": {"coordinates": [[[-84.48264300046549, 39.128859999873676], [-84.4825430004655, 39.12935999987361], [-84.48204300046554, 39.129259999873646], [-84.48174300046557, 39.129159999873636], [-84.48264300046549, 39.128859999873676]]], "type": "Polygon"}, "id": "58", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709334.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48375200046537, 39.13064399987349, -84.4816430004656, 39.13195999987335], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.48216300046555, 39.130962999873454], [-84.48237000046552, 39.131118999873436], [-84.48274500046548, 39.13130799987342], [-84.48288500046546, 39.13137799987341], [-84.48375200046537, 39.13178999987337], [-84.48324300046544, 39.13195999987335], [-84.4816430004656, 39.13185999987338], [-84.48174300046558, 39.13125999987342], [-84.48181600046559, 39.13082199987347], [-84.48174000046559, 39.130719999873506], [-84.4816930004656, 39.13064399987349], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "59", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 10.0, "AGE_18": 33.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 58.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.64, "BG": "390610037003", "BLACK": 58.0, "BLOCK": "390610037003000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12239.7822, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 19.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 9.0, "ID": 709351.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 58.0, "RENTER_SIZ": 2.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48304300046544, 39.129159999873636, -84.4797430004658, 39.13065999987349], "geometry": {"coordinates": [[[-84.48304300046544, 39.12935999987361], [-84.48294300046545, 39.13055999987351], [-84.48214300046554, 39.13065999987349], [-84.48184300046557, 39.13065999987349], [-84.48094600046568, 39.13011399987356], [-84.4806780004657, 39.12995299987357], [-84.48047200046572, 39.129839999873575], [-84.48026600046575, 39.129760999873604], [-84.48001800046576, 39.12971699987361], [-84.4797430004658, 39.129659999873596], [-84.4806430004657, 39.129559999873585], [-84.48174300046557, 39.129159999873636], [-84.48204300046554, 39.129259999873646], [-84.4825430004655, 39.12935999987361], [-84.48304300046544, 39.12935999987361]]], "type": "Polygon"}, "id": "60", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 5.0, "AGE_21": 54.0, "AGE_25_34": 10.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 7.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 1.88, "BG": "390610037003", "BLACK": 81.0, "BLOCK": "390610037003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7861.5423, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 32.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 5.0, "ID": 709372.0, "IN_HOUSEHO": 81.0, "MALE": 36.0, "MALE_18": 26.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 81.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48184300046557, 39.129659999873596, -84.4788430004659, 39.13185999987338], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.4816930004656, 39.13064399987349], [-84.48174000046559, 39.130719999873506], [-84.48181600046559, 39.13082199987347], [-84.48174300046558, 39.13125999987342], [-84.4816430004656, 39.13185999987338], [-84.4788430004659, 39.13155999987342], [-84.47904300046586, 39.130359999873534], [-84.4797430004658, 39.129659999873596], [-84.48001800046576, 39.12971699987361], [-84.48026600046575, 39.129760999873604], [-84.48047200046572, 39.129839999873575], [-84.4806780004657, 39.12995299987357], [-84.48094600046568, 39.13011399987356], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "61", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 76.0, "AGE_20_24": 7.0, "AGE_21": 72.0, "AGE_25_34": 11.0, "AGE_35_44": 23.0, "AGE_45_54": 14.0, "AGE_55_59": 7.0, "AGE_5_9": 0.0, "AGE_60_64": 5.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 80.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 80.0, "BLOCK": "390610037001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5072.4868, "F1_RACE": 88.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 38.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 56.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 56.0, "HU_VACANT": 3.0, "ID": 709393.0, "IN_HOUSEHO": 88.0, "MALE": 47.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 88.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 88.0, "RENTER_SIZ": 1.52, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 8.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4803430004657, 39.12445999987407, -84.477543000466, 39.126059999873924], "geometry": {"coordinates": [[[-84.47964300046577, 39.124659999874055], [-84.4803430004657, 39.124859999874054], [-84.47924300046583, 39.126059999873924], [-84.477543000466, 39.12595999987395], [-84.47774300046596, 39.12445999987407], [-84.47834300046591, 39.12445999987407], [-84.47964300046577, 39.124659999874055]]], "type": "Polygon"}, "id": "62", "properties": {"AGE_0_5": 31.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 109.0, "AGE_20_24": 20.0, "AGE_21": 99.0, "AGE_25_34": 42.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 2.17, "BG": "390610042002", "BLACK": 112.0, "BLOCK": "390610042002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14062.7526, "F1_RACE": 168.0, "F2_RACES": 1.0, "FEMALE": 109.0, "FEMALE_18": 74.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 5.0, "ID": 709415.0, "IN_HOUSEHO": 169.0, "MALE": 60.0, "MALE_18": 35.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 162.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 70.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 169.0, "RENTER_SIZ": 2.1, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 54.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47924300046583, 39.12595999987395, -84.477543000466, 39.12685999987387], "geometry": {"coordinates": [[[-84.47924300046583, 39.126059999873924], [-84.4786430004659, 39.12685999987386], [-84.47754300046601, 39.12685999987387], [-84.477543000466, 39.12595999987395], [-84.47924300046583, 39.126059999873924]]], "type": "Polygon"}, "id": "63", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 43.0, "AGE_25_34": 19.0, "AGE_35_44": 12.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.34, "BG": "390610042002", "BLACK": 23.0, "BLOCK": "390610042002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10532.1683, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 3.0, "ID": 709435.0, "IN_HOUSEHO": 47.0, "MALE": 16.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 47.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 24.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.12745999987382, -84.47704300046608, 39.129159999873636], "geometry": {"coordinates": [[[-84.48264300046547, 39.12805999987371], [-84.48264300046549, 39.128859999873676], [-84.48174300046557, 39.129159999873636], [-84.47704300046608, 39.12865999987371], [-84.47744300046602, 39.12815999987375], [-84.47804300046597, 39.12745999987382], [-84.48264300046547, 39.12805999987371]]], "type": "Polygon"}, "id": "64", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 203.0, "AGE_20_24": 20.0, "AGE_21": 198.0, "AGE_25_34": 43.0, "AGE_35_44": 63.0, "AGE_45_54": 32.0, "AGE_55_59": 14.0, "AGE_5_9": 11.0, "AGE_60_64": 6.0, "AGE_62": 25.0, "AGE_65": 22.0, "AGE_65_74": 15.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 0.0, "AP_BLACK": 193.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 50.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.97, "AVG_HHSIZE": 2.55, "BG": "390610037001", "BLACK": 190.0, "BLOCK": "390610037001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10515.7405, "F1_RACE": 238.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 62.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 49.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 22.0, "ID": 709452.0, "IN_HOUSEHO": 194.0, "MALE": 162.0, "MALE_18": 141.0, "MALE_65": 10.0, "MEDIAN_AGE": 38.3, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 49.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.48, "POPULATION": 243.0, "RENTER_SIZ": 2.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 48.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47774300046596, 39.1243599998741, -84.47644300046613, 39.12685999987387], "geometry": {"coordinates": [[[-84.477543000466, 39.12595999987395], [-84.47754300046601, 39.12685999987387], [-84.47644300046613, 39.12675999987388], [-84.4766430004661, 39.1243599998741], [-84.47744300046601, 39.1243599998741], [-84.47774300046596, 39.12445999987407], [-84.477543000466, 39.12595999987395]]], "type": "Polygon"}, "id": "65", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 98.0, "AGE_20_24": 14.0, "AGE_21": 97.0, "AGE_25_34": 31.0, "AGE_35_44": 24.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 75.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.91, "BG": "390610042002", "BLACK": 35.0, "BLOCK": "390610042002005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11483.761, "F1_RACE": 109.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 31.0, "HOUSEHOLDS": 58.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 58.0, "HU_VACANT": 11.0, "ID": 709472.0, "IN_HOUSEHO": 111.0, "MALE": 54.0, "MALE_18": 51.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 73.0, "NOT_HISPAN": 110.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.41, "POPULATION": 111.0, "RENTER_SIZ": 1.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 74.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4786430004659, 39.12675999987388, -84.47614300046617, 39.12815999987375], "geometry": {"coordinates": [[[-84.4786430004659, 39.12685999987386], [-84.47824300046594, 39.12725999987383], [-84.47804300046597, 39.12745999987382], [-84.47744300046602, 39.12815999987375], [-84.47614300046617, 39.12805999987374], [-84.47644300046613, 39.12675999987388], [-84.47754300046601, 39.12685999987387], [-84.4786430004659, 39.12685999987386]]], "type": "Polygon"}, "id": "66", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 19.0, "AGE_15_19": 26.0, "AGE_18": 121.0, "AGE_20_24": 11.0, "AGE_21": 115.0, "AGE_25_34": 27.0, "AGE_35_44": 33.0, "AGE_45_54": 20.0, "AGE_55_59": 8.0, "AGE_5_9": 26.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.57, "AVG_HHSIZE": 2.47, "BG": "390610042001", "BLACK": 185.0, "BLOCK": "390610042001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24439.8373, "F1_RACE": 201.0, "F2_RACES": 4.0, "FEMALE": 106.0, "FEMALE_18": 73.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 97.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 14.0, "ID": 709492.0, "IN_HOUSEHO": 205.0, "MALE": 99.0, "MALE_18": 48.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 205.0, "RENTER_SIZ": 2.34, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.47744300046602, 39.12805999987374, -84.47564300046623, 39.12945999987363], "geometry": {"coordinates": [[[-84.47674300046613, 39.12935999987364], [-84.47644300046615, 39.12925999987366], [-84.47564300046623, 39.12945999987363], [-84.47614300046617, 39.12805999987374], [-84.47744300046602, 39.12815999987375], [-84.47704300046608, 39.12865999987371], [-84.47674300046613, 39.12895999987367], [-84.47674300046613, 39.12935999987364]]], "type": "Polygon"}, "id": "67", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 47.0, "AGE_20_24": 1.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 17.0, "AGE_65": 15.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.21, "BG": "390610042001", "BLACK": 47.0, "BLOCK": "390610042001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10089.2509, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 1.0, "ID": 709513.0, "IN_HOUSEHO": 51.0, "MALE": 26.0, "MALE_18": 25.0, "MALE_65": 6.0, "MEDIAN_AGE": 53.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 51.0, "RENTER_SIZ": 1.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48174300046557, 39.12865999987371, -84.47674300046613, 39.129659999873596], "geometry": {"coordinates": [[[-84.48174300046557, 39.129159999873636], [-84.4806430004657, 39.129559999873585], [-84.4797430004658, 39.129659999873596], [-84.47864300046592, 39.12955999987361], [-84.47674300046613, 39.12935999987364], [-84.47674300046613, 39.12895999987367], [-84.47704300046608, 39.12865999987371], [-84.48174300046557, 39.129159999873636]]], "type": "Polygon"}, "id": "68", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 11.0, "BLOCK": "390610037001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1000.1608, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 15.0, "ID": 709531.0, "IN_HOUSEHO": 11.0, "MALE": 9.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 1.57, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4797430004658, 39.12935999987364, -84.47664300046614, 39.130359999873534], "geometry": {"coordinates": [[[-84.4797430004658, 39.129659999873596], [-84.47904300046586, 39.130359999873534], [-84.47664300046614, 39.13005999987358], [-84.47674300046613, 39.12935999987364], [-84.47864300046592, 39.12955999987361], [-84.4797430004658, 39.129659999873596]]], "type": "Polygon"}, "id": "69", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.75, "BG": "390610037001", "BLACK": 7.0, "BLOCK": "390610037001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 947.5052, "F1_RACE": 7.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 709550.0, "IN_HOUSEHO": 7.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 7.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 7.0, "RENTER_SIZ": 1.75, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47904300046586, 39.13005999987358, -84.47654300046615, 39.13155999987342], "geometry": {"coordinates": [[[-84.47904300046586, 39.130359999873534], [-84.4788430004659, 39.13155999987342], [-84.47654300046615, 39.13135999987346], [-84.47664300046614, 39.13005999987358], [-84.47904300046586, 39.130359999873534]]], "type": "Polygon"}, "id": "70", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.47, "BG": "390610041002", "BLACK": 37.0, "BLOCK": "390610041002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4266.2283, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 9.0, "ID": 709569.0, "IN_HOUSEHO": 47.0, "MALE": 15.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 47.0, "RENTER_SIZ": 2.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004100", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.487443000465, 39.13155999987342, -84.47854300046596, 39.137636999872846], "geometry": {"coordinates": [[[-84.48384300046537, 39.131759999873395], [-84.48383200046537, 39.13184799987338], [-84.48374300046537, 39.13255999987331], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.13276599987328], [-84.48504300046524, 39.13335999987322], [-84.48596700046515, 39.133397999873225], [-84.48613700046513, 39.133514999873206], [-84.487443000465, 39.133659999873196], [-84.48724300046503, 39.133859999873174], [-84.48714300046504, 39.13415999987315], [-84.48614300046513, 39.13435999987314], [-84.4839430004654, 39.136059999873005], [-84.48354300046543, 39.13635999987295], [-84.4829430004655, 39.137059999872875], [-84.4821430004656, 39.137559999872835], [-84.48183300046561, 39.137636999872846], [-84.47984300046583, 39.13475999987314], [-84.47864300046594, 39.134059999873195], [-84.47854300046596, 39.13375999987322], [-84.47864300046594, 39.13285999987331], [-84.4788430004659, 39.13155999987342], [-84.4816430004656, 39.13185999987338], [-84.48324300046544, 39.13195999987335], [-84.48375200046537, 39.13178999987337], [-84.48384300046537, 39.131759999873395]]], "type": "Polygon"}, "id": "71", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 289.0, "AGE_20_24": 9.0, "AGE_21": 285.0, "AGE_25_34": 38.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 9.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 143.0, "AGE_65": 135.0, "AGE_65_74": 40.0, "AGE_75_84": 49.0, "AGE_85": 46.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 340.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.1, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.1, "BG": "390610036001", "BLACK": 340.0, "BLOCK": "390610036001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3344.4579, "F1_RACE": 351.0, "F2_RACES": 0.0, "FEMALE": 203.0, "FEMALE_18": 170.0, "FEMALE_65": 83.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 137.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 18.0, "ID": 709605.0, "IN_HOUSEHO": 250.0, "MALE": 148.0, "MALE_18": 119.0, "MALE_65": 52.0, "MEDIAN_AGE": 48.2, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 31.0, "OCCHU_RENT": 88.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 351.0, "RENTER_SIZ": 1.83, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48644300046513, 39.136059999873005, -84.48183300046561, 39.14155999987249], "geometry": {"coordinates": [[[-84.48614300046516, 39.13805999987279], [-84.48644300046513, 39.13845999987274], [-84.48554300046524, 39.139159999872675], [-84.48454300046537, 39.14025999987261], [-84.48433500046538, 39.140559999872565], [-84.48364300046546, 39.14155999987249], [-84.48294300046551, 39.139859999872655], [-84.48214300046561, 39.13905999987272], [-84.48183300046561, 39.137636999872846], [-84.4821430004656, 39.137559999872835], [-84.4829430004655, 39.137059999872875], [-84.48354300046543, 39.13635999987295], [-84.4839430004654, 39.136059999873005], [-84.48534300046525, 39.13715999987289], [-84.48614300046516, 39.13805999987279]], [[-84.48604300046517, 39.13825999987277], [-84.48584300046521, 39.13805999987279], [-84.4849430004653, 39.13725999987287], [-84.48384300046541, 39.137559999872835], [-84.48404300046539, 39.138159999872784], [-84.48424300046537, 39.138959999872704], [-84.48504300046528, 39.13885999987272], [-84.48604300046517, 39.13825999987277]]], "type": "Polygon"}, "id": "72", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 70.0, "AGE_20_24": 10.0, "AGE_21": 64.0, "AGE_25_34": 8.0, "AGE_35_44": 13.0, "AGE_45_54": 18.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.78, "BG": "390610036001", "BLACK": 103.0, "BLOCK": "390610036001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2705.3799, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 55.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 9.0, "ID": 709637.0, "IN_HOUSEHO": 103.0, "MALE": 48.0, "MALE_18": 31.0, "MALE_65": 6.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 103.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13528099987297, -84.50234300046341, 39.13655999987285], "geometry": {"coordinates": [[[-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.135759999872924], [-84.50374300046326, 39.13655999987285], [-84.50234300046341, 39.136459999872876], [-84.5024430004634, 39.135759999872924], [-84.50244300046339, 39.13528099987297], [-84.50384300046323, 39.13536199987297]]], "type": "Polygon"}, "id": "73", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699143.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50264300046335, 39.13285999987319, -84.50094300046354, 39.13495999987302], "geometry": {"coordinates": [[[-84.50254300046338, 39.13425999987308], [-84.50244300046339, 39.13495999987302], [-84.50094300046354, 39.134859999873], [-84.5012430004635, 39.13285999987319], [-84.50264300046334, 39.13285999987319], [-84.50264300046335, 39.13345999987315], [-84.50254300046338, 39.13425999987308]]], "type": "Polygon"}, "id": "74", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 45.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 16.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 55.0, "BLOCK": "390610032002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8677.1914, "F1_RACE": 97.0, "F2_RACES": 1.0, "FEMALE": 40.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 77.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 98.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 699162.0, "IN_HOUSEHO": 0.0, "MALE": 58.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 98.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 42.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.134859999873, -84.50094300046354, 39.135759999872924], "geometry": {"coordinates": [[[-84.50244300046339, 39.13528099987297], [-84.5024430004634, 39.135759999872924], [-84.50094300046354, 39.135659999872956], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.134859999873], [-84.50244300046339, 39.13495999987302], [-84.50244300046339, 39.13528099987297]]], "type": "Polygon"}, "id": "75", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699182.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.135659999872956, -84.50084300046358, 39.136459999872876], "geometry": {"coordinates": [[[-84.50234300046341, 39.136459999872876], [-84.50084300046358, 39.13635999987288], [-84.50094300046354, 39.135659999872956], [-84.5024430004634, 39.135759999872924], [-84.50234300046341, 39.136459999872876]]], "type": "Polygon"}, "id": "76", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610032001", "BLACK": 1.0, "BLOCK": "390610032001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 254.7764, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 1.0, "ID": 699201.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 64.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50544300046307, 39.13635999987288, -84.5006430004636, 39.13955999987258], "geometry": {"coordinates": [[[-84.50544300046307, 39.13665999987285], [-84.50537800046308, 39.137129999872776], [-84.50504300046315, 39.13955999987258], [-84.50214300046343, 39.13935999987259], [-84.5015430004635, 39.13845999987268], [-84.5006430004636, 39.138359999872684], [-84.50084300046358, 39.13635999987288], [-84.50234300046341, 39.136459999872876], [-84.50374300046326, 39.13655999987285], [-84.50544300046307, 39.13665999987285]]], "type": "Polygon"}, "id": "77", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 6.0, "AGE_15_19": 2.0, "AGE_18": 48.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 6.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 42.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 25.0, "BLOCK": "390610032001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1555.3515, "F1_RACE": 68.0, "F2_RACES": 2.0, "FEMALE": 36.0, "FEMALE_18": 29.0, "FEMALE_65": 6.0, "GQ_INSTITU": 70.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 70.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699218.0, "IN_HOUSEHO": 0.0, "MALE": 34.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 39.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 70.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 40.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50014300046355, 39.12455999987399, -84.49904300046369, 39.12625999987383], "geometry": {"coordinates": [[[-84.4999430004636, 39.12625999987383], [-84.49904300046369, 39.12615999987382], [-84.49914300046366, 39.125359999873915], [-84.49914300046366, 39.12455999987399], [-84.50014300046355, 39.12465999987397], [-84.4999430004636, 39.12625999987383]]], "type": "Polygon"}, "id": "78", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 29.0, "BLOCK": "390610021002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7224.6969, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 3.0, "ID": 699239.0, "IN_HOUSEHO": 40.0, "MALE": 22.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 43.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 40.0, "RENTER_SIZ": 1.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5017430004634, 39.12605999987384, -84.4980430004638, 39.127759999873675], "geometry": {"coordinates": [[[-84.5017430004634, 39.126359999873806], [-84.50094300046348, 39.127259999873715], [-84.49984300046361, 39.127759999873675], [-84.4981430004638, 39.12745999987373], [-84.4980430004638, 39.127159999873754], [-84.49824300046377, 39.12605999987384], [-84.49904300046369, 39.12615999987382], [-84.4999430004636, 39.12625999987383], [-84.5017430004634, 39.126359999873806]]], "type": "Polygon"}, "id": "79", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610034002", "BLACK": 4.0, "BLOCK": "390610034002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 255.9509, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 699258.0, "IN_HOUSEHO": 4.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49914300046366, 39.125259999873926, -84.49784300046382, 39.12615999987382], "geometry": {"coordinates": [[[-84.49914300046366, 39.125359999873915], [-84.49904300046369, 39.12615999987382], [-84.49824300046377, 39.12605999987384], [-84.49784300046382, 39.126059999873846], [-84.49784300046382, 39.125259999873926], [-84.49914300046366, 39.125359999873915]]], "type": "Polygon"}, "id": "80", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49984300046361, 39.12745999987373, -84.49804300046381, 39.128259999873634], "geometry": {"coordinates": [[[-84.49984300046361, 39.127759999873675], [-84.49914300046369, 39.128259999873634], [-84.49804300046381, 39.1279599998737], [-84.4981430004638, 39.12745999987373], [-84.49984300046361, 39.127759999873675]]], "type": "Polygon"}, "id": "81", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699297.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49914300046369, 39.1279599998737, -84.49794300046382, 39.1286599998736], "geometry": {"coordinates": [[[-84.49804300046381, 39.1279599998737], [-84.49914300046369, 39.128259999873634], [-84.49864300046376, 39.1286599998736], [-84.49794300046382, 39.12855999987362], [-84.49804300046381, 39.1279599998737]]], "type": "Polygon"}, "id": "82", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699315.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49824300046377, 39.12605999987384, -84.49664300046395, 39.127159999873754], "geometry": {"coordinates": [[[-84.4980430004638, 39.127159999873754], [-84.49704300046392, 39.12705999987378], [-84.49664300046395, 39.12705999987378], [-84.49724300046388, 39.126059999873846], [-84.49784300046382, 39.126059999873846], [-84.49824300046377, 39.12605999987384], [-84.4980430004638, 39.127159999873754]]], "type": "Polygon"}, "id": "83", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 699332.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046388, 39.125959999873864, -84.49604300046401, 39.127059999873794], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49604300046401, 39.12705999987378], [-84.49674300046394, 39.125959999873864], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "84", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699352.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4981430004638, 39.12705999987378, -84.49634300046398, 39.1279599998737], "geometry": {"coordinates": [[[-84.4981430004638, 39.12745999987373], [-84.49804300046381, 39.1279599998737], [-84.49774300046384, 39.12785999987369], [-84.49634300046398, 39.12755999987371], [-84.49664300046395, 39.12705999987378], [-84.49704300046392, 39.12705999987378], [-84.4980430004638, 39.127159999873754], [-84.4981430004638, 39.12745999987373]]], "type": "Polygon"}, "id": "85", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 3.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610034002", "BLACK": 14.0, "BLOCK": "390610034002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3500.3926, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 2.0, "ID": 699371.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49864300046376, 39.12755999987371, -84.4953430004641, 39.130059999873474], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.496243000464, 39.129459999873546], [-84.49564300046407, 39.129359999873536], [-84.4953430004641, 39.12935999987355], [-84.49634300046398, 39.12755999987371], [-84.49774300046384, 39.12785999987369], [-84.49804300046381, 39.1279599998737], [-84.49794300046382, 39.12855999987362], [-84.49864300046376, 39.1286599998736], [-84.49854300046377, 39.12885999987358], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "86", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 15.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 8.0, "BLOCK": "390610034002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 843.8623, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 15.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 15.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699391.0, "IN_HOUSEHO": 0.0, "MALE": 15.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.1, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 7.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50164300046343, 39.128259999873634, -84.49804300046382, 39.13065999987342], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.49994300046363, 39.130459999873445], [-84.49804300046382, 39.130059999873474], [-84.49854300046377, 39.12885999987358], [-84.49864300046376, 39.1286599998736], [-84.49914300046369, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50154300046344, 39.12945999987352], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "87", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 11.0, "AGE_21": 47.0, "AGE_25_34": 10.0, "AGE_35_44": 11.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.11, "BG": "390610034002", "BLACK": 32.0, "BLOCK": "390610034002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2243.1294, "F1_RACE": 52.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 19.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 699415.0, "IN_HOUSEHO": 52.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 52.0, "RENTER_SIZ": 1.09, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 19.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49994300046363, 39.130059999873474, -84.49764300046387, 39.13155999987333], "geometry": {"coordinates": [[[-84.49994300046363, 39.130459999873445], [-84.49974300046365, 39.13155999987333], [-84.49864300046377, 39.13145999987336], [-84.49764300046387, 39.131359999873354], [-84.49774300046387, 39.130959999873404], [-84.49804300046382, 39.130059999873474], [-84.49994300046363, 39.130459999873445]]], "type": "Polygon"}, "id": "88", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 140.0, "AGE_20_24": 0.0, "AGE_21": 140.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 10.0, "AGE_62": 125.0, "AGE_65": 120.0, "AGE_65_74": 30.0, "AGE_75_84": 41.0, "AGE_85": 49.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 130.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 127.0, "BLOCK": "390610034002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15062.2033, "F1_RACE": 137.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 94.0, "FEMALE_65": 87.0, "GQ_INSTITU": 140.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 140.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699434.0, "IN_HOUSEHO": 0.0, "MALE": 46.0, "MALE_18": 46.0, "MALE_65": 33.0, "MEDIAN_AGE": 80.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 140.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 140.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49974300046365, 39.131359999873354, -84.49704300046395, 39.13265999987326], "geometry": {"coordinates": [[[-84.49974300046365, 39.13155999987333], [-84.49964300046366, 39.13265999987324], [-84.49794300046385, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49704300046395, 39.13265999987325], [-84.49764300046387, 39.131359999873354], [-84.49864300046377, 39.13145999987336], [-84.49974300046365, 39.13155999987333]]], "type": "Polygon"}, "id": "89", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699453.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49804300046382, 39.129459999873546, -84.49574300046409, 39.13265999987325], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.49774300046387, 39.130959999873404], [-84.49764300046387, 39.131359999873354], [-84.49704300046395, 39.13265999987325], [-84.49624300046402, 39.13255999987324], [-84.49574300046409, 39.13255999987324], [-84.49604300046406, 39.13185999987332], [-84.49614300046402, 39.13055999987345], [-84.496243000464, 39.129459999873546], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "90", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699472.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49680000046392, 39.125559999873886, -84.49594300046402, 39.125959999873864], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49594300046402, 39.125959999873864], [-84.49594300046402, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49680000046392, 39.125559999873886], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "91", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699494.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49595400046402, 39.12515999987395, -84.49504300046412, 39.125559999873886], "geometry": {"coordinates": [[[-84.49595400046402, 39.12521199987394], [-84.49594300046402, 39.125559999873886], [-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.12515999987397], [-84.49534300046408, 39.12515999987395], [-84.49595400046402, 39.12521199987394]]], "type": "Polygon"}, "id": "92", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10743.5154, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 4.0, "ID": 699512.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 3.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 12.0, "RENTER_SIZ": 3.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49594300046402, 39.125459999873925, -84.49504300046412, 39.12595999987388], "geometry": {"coordinates": [[[-84.49594300046402, 39.125559999873886], [-84.49594300046402, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49504300046412, 39.125959999873864], [-84.49504300046412, 39.125459999873925], [-84.49594300046402, 39.125559999873886]]], "type": "Polygon"}, "id": "93", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1333.4528, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 3.0, "ID": 699531.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49674300046394, 39.125959999873864, -84.49554300046407, 39.127059999873794], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49604300046401, 39.12705999987378], [-84.49554300046407, 39.127059999873794], [-84.49564300046406, 39.12595999987388], [-84.49594300046402, 39.125959999873864], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "94", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610035002", "BLACK": 2.0, "BLOCK": "390610035002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 613.698, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 7.0, "ID": 699549.0, "IN_HOUSEHO": 2.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 67.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12515999987397, -84.49404300046422, 39.125459999873925], "geometry": {"coordinates": [[[-84.49504300046412, 39.12515999987397], [-84.49504300046412, 39.125459999873925], [-84.49404300046422, 39.12535999987392], [-84.49404300046422, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49504300046412, 39.12515999987397]]], "type": "Polygon"}, "id": "95", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.67, "AVG_HHSIZE": 4.4, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23761.9038, "F1_RACE": 22.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 1.0, "ID": 699568.0, "IN_HOUSEHO": 22.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.5, "POPULATION": 22.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12535999987392, -84.49394300046424, 39.125959999873864], "geometry": {"coordinates": [[[-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.125959999873864], [-84.49394300046424, 39.12585999987388], [-84.49404300046422, 39.12535999987392], [-84.49504300046412, 39.125459999873925]]], "type": "Polygon"}, "id": "96", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 15.0, "AGE_25_34": 3.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 35.0, "BLOCK": "390610021001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18341.2616, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 3.0, "ID": 699587.0, "IN_HOUSEHO": 36.0, "MALE": 17.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 36.0, "RENTER_SIZ": 3.18, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49564300046406, 39.125959999873864, -84.49484300046414, 39.127059999873794], "geometry": {"coordinates": [[[-84.49554300046407, 39.127059999873794], [-84.49484300046414, 39.1269599998738], [-84.49504300046412, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49554300046407, 39.127059999873794]]], "type": "Polygon"}, "id": "97", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.4, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5478.7666, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 3.0, "ID": 699604.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.1257599998739, -84.49354300046429, 39.12745999987374], "geometry": {"coordinates": [[[-84.49484300046414, 39.1269599998738], [-84.49484300046416, 39.12745999987374], [-84.49424300046421, 39.12745999987374], [-84.4943430004642, 39.12635999987383], [-84.49354300046429, 39.12635999987383], [-84.49364300046426, 39.1257599998739], [-84.49394300046424, 39.12585999987388], [-84.49504300046412, 39.125959999873864], [-84.49484300046414, 39.1269599998738]]], "type": "Polygon"}, "id": "98", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 1.0, "AGE_18": 29.0, "AGE_20_24": 3.0, "AGE_21": 28.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 21.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 1.73, "BG": "390610035002", "BLACK": 16.0, "BLOCK": "390610035002011", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7803.0494, "F1_RACE": 36.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 12.0, "ID": 699622.0, "IN_HOUSEHO": 38.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.2, "POPULATION": 38.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 19.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49664300046395, 39.12705999987378, -84.49584300046403, 39.127559999873725], "geometry": {"coordinates": [[[-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.12755999987371], [-84.49584300046403, 39.127559999873725], [-84.49604300046401, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49664300046395, 39.12705999987378]]], "type": "Polygon"}, "id": "99", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699644.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49604300046401, 39.1269599998738, -84.49484300046414, 39.127559999873725], "geometry": {"coordinates": [[[-84.49604300046401, 39.12705999987378], [-84.49584300046403, 39.127559999873725], [-84.49484300046416, 39.12745999987374], [-84.49484300046414, 39.1269599998738], [-84.49554300046407, 39.127059999873794], [-84.49604300046401, 39.12705999987378]]], "type": "Polygon"}, "id": "100", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.91, "BG": "390610035002", "BLACK": 21.0, "BLOCK": "390610035002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10599.3148, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 699662.0, "IN_HOUSEHO": 21.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 45.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 21.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49634300046398, 39.12755999987371, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49584300046403, 39.127559999873725], [-84.49634300046398, 39.12755999987371], [-84.4953430004641, 39.12935999987355], [-84.49464300046418, 39.12935999987355], [-84.49524300046413, 39.12895999987361], [-84.49562900046406, 39.12805999987366], [-84.49584300046403, 39.127559999873725]]], "type": "Polygon"}, "id": "101", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699681.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49584300046403, 39.12745999987374, -84.49484300046416, 39.12805999987368], "geometry": {"coordinates": [[[-84.49484300046416, 39.12745999987374], [-84.49584300046403, 39.127559999873725], [-84.49562900046406, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49484300046416, 39.12805999987366], [-84.49484300046416, 39.12745999987374]]], "type": "Polygon"}, "id": "102", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.43, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9245.804, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 699700.0, "IN_HOUSEHO": 17.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49562900046406, 39.12805999987366, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49484300046416, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49562900046406, 39.12805999987366], [-84.49524300046413, 39.12895999987361], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "103", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.17, "BG": "390610035002", "BLACK": 24.0, "BLOCK": "390610035002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9977.1555, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 7.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 0.0, "ID": 699718.0, "IN_HOUSEHO": 26.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 26.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12505999987396, -84.49304300046434, 39.125359999873936], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49404300046422, 39.12535999987392], [-84.49304300046434, 39.125359999873936], [-84.49314300046431, 39.12505999987396], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "104", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 14.0, "AGE_20_24": 4.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 13.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.09, "AVG_HHSIZE": 4.09, "BG": "390610021001", "BLACK": 38.0, "BLOCK": "390610021001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 50628.9598, "F1_RACE": 41.0, "F2_RACES": 4.0, "FEMALE": 29.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 2.0, "ID": 699736.0, "IN_HOUSEHO": 45.0, "MALE": 16.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 9.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 45.0, "RENTER_SIZ": 4.09, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49294300046445, 39.140859999872504, -84.48964300046482, 39.14215999987238], "geometry": {"coordinates": [[[-84.49094300046467, 39.140859999872504], [-84.49294300046445, 39.140959999872514], [-84.49244300046452, 39.141659999872424], [-84.49224300046454, 39.14215999987238], [-84.48964300046482, 39.142059999872394], [-84.48974300046478, 39.140859999872504], [-84.49094300046467, 39.140859999872504]]], "type": "Polygon"}, "id": "105", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 13.0, "AGE_15_19": 20.0, "AGE_18": 213.0, "AGE_20_24": 14.0, "AGE_21": 203.0, "AGE_25_34": 27.0, "AGE_35_44": 31.0, "AGE_45_54": 19.0, "AGE_55_59": 9.0, "AGE_5_9": 27.0, "AGE_60_64": 16.0, "AGE_62": 102.0, "AGE_65": 89.0, "AGE_65_74": 47.0, "AGE_75_84": 31.0, "AGE_85": 11.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.7, "BG": "390610067004", "BLACK": 282.0, "BLOCK": "390610067004007", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21989.7915, "F1_RACE": 285.0, "F2_RACES": 2.0, "FEMALE": 176.0, "FEMALE_18": 136.0, "FEMALE_65": 67.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 124.0, "HOUSEHOLDS": 169.0, "HSNG_UNITS": 205.0, "HU_OCCUPIE": 169.0, "HU_VACANT": 36.0, "ID": 711584.0, "IN_HOUSEHO": 287.0, "MALE": 111.0, "MALE_18": 77.0, "MALE_65": 22.0, "MEDIAN_AGE": 41.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 155.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.43, "POPULATION": 287.0, "RENTER_SIZ": 1.63, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4915430004646, 39.14275999987236, -84.48564300046525, 39.14415999987221], "geometry": {"coordinates": [[[-84.4915430004646, 39.143159999872296], [-84.49104300046467, 39.14415999987221], [-84.48564300046525, 39.14365999987227], [-84.48594300046523, 39.14315999987232], [-84.48704300046509, 39.14275999987236], [-84.488043000465, 39.142859999872336], [-84.48864300046493, 39.14295999987232], [-84.4915430004646, 39.143159999872296]]], "type": "Polygon"}, "id": "106", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 90.0, "AGE_20_24": 14.0, "AGE_21": 83.0, "AGE_25_34": 18.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 9.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 129.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.73, "BG": "390610067004", "BLACK": 129.0, "BLOCK": "390610067004002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6913.3996, "F1_RACE": 134.0, "F2_RACES": 0.0, "FEMALE": 66.0, "FEMALE_18": 54.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 9.0, "ID": 711604.0, "IN_HOUSEHO": 134.0, "MALE": 68.0, "MALE_18": 36.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.6, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 134.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 134.0, "RENTER_SIZ": 2.54, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49224300046455, 39.145359999872106, -84.48904300046492, 39.14805999987183], "geometry": {"coordinates": [[[-84.49224300046455, 39.14545999987209], [-84.49213100046458, 39.14691599987195], [-84.4920430004646, 39.14805999987183], [-84.49040800046478, 39.14773299987189], [-84.48904300046492, 39.14745999987187], [-84.48944300046487, 39.146759999871975], [-84.4899430004648, 39.14605999987202], [-84.4900430004648, 39.14585999987206], [-84.49034300046476, 39.145359999872106], [-84.49224300046455, 39.14545999987209]]], "type": "Polygon"}, "id": "107", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 20.0, "AGE_15_19": 17.0, "AGE_18": 77.0, "AGE_20_24": 5.0, "AGE_21": 67.0, "AGE_25_34": 13.0, "AGE_35_44": 24.0, "AGE_45_54": 11.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 120.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.84, "AVG_HHSIZE": 2.67, "BG": "390610068002", "BLACK": 118.0, "BLOCK": "390610068002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5379.6715, "F1_RACE": 118.0, "F2_RACES": 2.0, "FEMALE": 56.0, "FEMALE_18": 38.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 15.0, "ID": 711620.0, "IN_HOUSEHO": 120.0, "MALE": 64.0, "MALE_18": 39.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 120.0, "RENTER_SIZ": 2.72, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49224300046454, 39.141859999872445, -84.48374300046545, 39.14365999987227], "geometry": {"coordinates": [[[-84.49224300046454, 39.14215999987238], [-84.49194300046456, 39.14255999987233], [-84.4915430004646, 39.143159999872296], [-84.48864300046493, 39.14295999987232], [-84.488043000465, 39.142859999872336], [-84.48704300046509, 39.14275999987236], [-84.48594300046523, 39.14315999987232], [-84.48564300046525, 39.14365999987227], [-84.48464300046537, 39.143559999872295], [-84.48404300046543, 39.143559999872295], [-84.48387800046544, 39.142776999872375], [-84.48374300046545, 39.142159999872405], [-84.48380000046545, 39.14209499987244], [-84.48474300046534, 39.14195999987244], [-84.48544300046525, 39.14185999987246], [-84.48654300046516, 39.141859999872445], [-84.48964300046482, 39.142059999872394], [-84.49224300046454, 39.14215999987238]]], "type": "Polygon"}, "id": "108", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 22.0, "AGE_15_19": 9.0, "AGE_18": 172.0, "AGE_20_24": 17.0, "AGE_21": 170.0, "AGE_25_34": 32.0, "AGE_35_44": 37.0, "AGE_45_54": 25.0, "AGE_55_59": 18.0, "AGE_5_9": 27.0, "AGE_60_64": 6.0, "AGE_62": 36.0, "AGE_65": 35.0, "AGE_65_74": 23.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 249.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.87, "AVG_HHSIZE": 2.37, "BG": "390610067004", "BLACK": 249.0, "BLOCK": "390610067004001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7469.0991, "F1_RACE": 254.0, "F2_RACES": 0.0, "FEMALE": 141.0, "FEMALE_18": 103.0, "FEMALE_65": 27.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 38.0, "HOUSEHOLDS": 107.0, "HSNG_UNITS": 129.0, "HU_OCCUPIE": 107.0, "HU_VACANT": 22.0, "ID": 711663.0, "IN_HOUSEHO": 254.0, "MALE": 113.0, "MALE_18": 69.0, "MALE_65": 8.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.23, "POPULATION": 254.0, "RENTER_SIZ": 2.47, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49054300046475, 39.144759999872164, -84.48424300046541, 39.14585999987206], "geometry": {"coordinates": [[[-84.49034300046476, 39.145359999872106], [-84.4900430004648, 39.14585999987206], [-84.48616500046522, 39.14572599987209], [-84.48424300046541, 39.14565999987211], [-84.48424300046541, 39.144759999872164], [-84.49054300046475, 39.14495999987214], [-84.49034300046476, 39.145359999872106]]], "type": "Polygon"}, "id": "109", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 43.0, "AGE_15_19": 29.0, "AGE_18": 221.0, "AGE_20_24": 27.0, "AGE_21": 211.0, "AGE_25_34": 49.0, "AGE_35_44": 44.0, "AGE_45_54": 31.0, "AGE_55_59": 23.0, "AGE_5_9": 60.0, "AGE_60_64": 7.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 373.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 2.86, "BG": "390610066002", "BLACK": 373.0, "BLOCK": "390610066002002", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18402.2275, "F1_RACE": 375.0, "F2_RACES": 0.0, "FEMALE": 213.0, "FEMALE_18": 134.0, "FEMALE_65": 20.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 90.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 131.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 131.0, "HU_VACANT": 19.0, "ID": 711690.0, "IN_HOUSEHO": 375.0, "MALE": 162.0, "MALE_18": 87.0, "MALE_65": 15.0, "MEDIAN_AGE": 25.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 374.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 106.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.8, "POPULATION": 375.0, "RENTER_SIZ": 2.88, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49104300046467, 39.143559999872295, -84.48124300046575, 39.146259999872036], "geometry": {"coordinates": [[[-84.48564300046525, 39.14365999987227], [-84.49104300046467, 39.14415999987221], [-84.49054300046475, 39.14495999987214], [-84.48424300046541, 39.144759999872164], [-84.48424300046541, 39.14565999987211], [-84.48294300046555, 39.1456599998721], [-84.48234300046563, 39.14585999987211], [-84.48124300046575, 39.146259999872036], [-84.48214300046564, 39.1456599998721], [-84.48394300046544, 39.14395999987227], [-84.48464300046537, 39.143559999872295], [-84.48564300046525, 39.14365999987227]]], "type": "Polygon"}, "id": "110", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 24.0, "AGE_15_19": 28.0, "AGE_18": 147.0, "AGE_20_24": 18.0, "AGE_21": 132.0, "AGE_25_34": 24.0, "AGE_35_44": 36.0, "AGE_45_54": 26.0, "AGE_55_59": 7.0, "AGE_5_9": 17.0, "AGE_60_64": 7.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 9.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 210.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 6.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.96, "BG": "390610066002", "BLACK": 205.0, "BLOCK": "390610066002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6572.2998, "F1_RACE": 214.0, "F2_RACES": 5.0, "FEMALE": 128.0, "FEMALE_18": 94.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 54.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 74.0, "HSNG_UNITS": 90.0, "HU_OCCUPIE": 74.0, "HU_VACANT": 16.0, "ID": 711710.0, "IN_HOUSEHO": 219.0, "MALE": 91.0, "MALE_18": 53.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 218.0, "OCCHU_OWNE": 37.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.38, "POPULATION": 219.0, "RENTER_SIZ": 2.54, "THEFT": 20, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48464300046537, 39.143559999872295, -84.48394300046544, 39.14395999987227], "geometry": {"coordinates": [[[-84.48464300046537, 39.143559999872295], [-84.48394300046544, 39.14395999987227], [-84.48404300046543, 39.143559999872295], [-84.48464300046537, 39.143559999872295]]], "type": "Polygon"}, "id": "111", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 711733.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4900430004648, 39.1456599998721, -84.48234300046563, 39.14745999987187], "geometry": {"coordinates": [[[-84.4899430004648, 39.14605999987202], [-84.48944300046487, 39.146759999871975], [-84.48904300046492, 39.14745999987187], [-84.48604300046524, 39.14725999987195], [-84.48534300046532, 39.147259999871956], [-84.48484300046536, 39.14705999987198], [-84.48424300046543, 39.146759999871996], [-84.48294300046557, 39.14735999987194], [-84.48244300046561, 39.146959999871996], [-84.48244300046561, 39.14655999987201], [-84.48234300046563, 39.14585999987211], [-84.48294300046555, 39.1456599998721], [-84.48424300046541, 39.14565999987211], [-84.48616500046522, 39.14572599987209], [-84.4900430004648, 39.14585999987206], [-84.4899430004648, 39.14605999987202]]], "type": "Polygon"}, "id": "112", "properties": {"AGE_0_5": 36.0, "AGE_10_14": 41.0, "AGE_15_19": 39.0, "AGE_18": 276.0, "AGE_20_24": 28.0, "AGE_21": 261.0, "AGE_25_34": 52.0, "AGE_35_44": 62.0, "AGE_45_54": 41.0, "AGE_55_59": 21.0, "AGE_5_9": 51.0, "AGE_60_64": 17.0, "AGE_62": 54.0, "AGE_65": 45.0, "AGE_65_74": 28.0, "AGE_75_84": 10.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 429.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 7.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.42, "BG": "390610066001", "BLACK": 424.0, "BLOCK": "390610066001004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10939.7842, "F1_RACE": 428.0, "F2_RACES": 5.0, "FEMALE": 220.0, "FEMALE_18": 153.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 107.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 179.0, "HSNG_UNITS": 215.0, "HU_OCCUPIE": 179.0, "HU_VACANT": 36.0, "ID": 711749.0, "IN_HOUSEHO": 433.0, "MALE": 213.0, "MALE_18": 123.0, "MALE_65": 17.0, "MEDIAN_AGE": 29.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 433.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 133.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 433.0, "RENTER_SIZ": 2.28, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51444400046199, 39.121859999874175, -84.50834300046267, 39.125559999873815], "geometry": {"coordinates": [[[-84.51444400046199, 39.12305999987405], [-84.514344000462, 39.12335999987403], [-84.51404400046205, 39.12425999987396], [-84.5128440004622, 39.125559999873815], [-84.50914400046258, 39.1251489998739], [-84.50834300046267, 39.12505999987389], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12265999987413], [-84.50904300046258, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.51064300046241, 39.1227599998741], [-84.51074300046238, 39.12235999987413], [-84.51114300046235, 39.122159999874164], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12225999987413], [-84.51304300046216, 39.12295999987407], [-84.5135430004621, 39.12295999987407], [-84.51384400046206, 39.123059999874044], [-84.51444400046199, 39.12305999987405]]], "type": "Polygon"}, "id": "113", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 38.0, "AGE_15_19": 27.0, "AGE_18": 210.0, "AGE_20_24": 42.0, "AGE_21": 192.0, "AGE_25_34": 62.0, "AGE_35_44": 39.0, "AGE_45_54": 34.0, "AGE_55_59": 5.0, "AGE_5_9": 31.0, "AGE_60_64": 4.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 12.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 308.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 30.0, "AREA": 0.06, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.08, "AVG_HHSIZE": 2.25, "BG": "390610023001", "BLACK": 308.0, "BLOCK": "390610023001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5813.2877, "F1_RACE": 340.0, "F2_RACES": 0.0, "FEMALE": 183.0, "FEMALE_18": 120.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 151.0, "HSNG_UNITS": 194.0, "HU_OCCUPIE": 151.0, "HU_VACANT": 43.0, "ID": 656719.0, "IN_HOUSEHO": 340.0, "MALE": 157.0, "MALE_18": 90.0, "MALE_65": 5.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 340.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 137.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.29, "POPULATION": 340.0, "RENTER_SIZ": 2.25, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51074300046238, 39.12235999987413, -84.50954300046251, 39.1227599998741], "geometry": {"coordinates": [[[-84.51074300046238, 39.12235999987413], [-84.51064300046241, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.50964300046252, 39.12235999987413], [-84.51074300046238, 39.12235999987413]]], "type": "Polygon"}, "id": "114", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 12.0, "AGE_18": 36.0, "AGE_20_24": 9.0, "AGE_21": 31.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 18.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 90.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.09, "BG": "390610023001", "BLACK": 90.0, "BLOCK": "390610023001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 55229.6771, "F1_RACE": 90.0, "F2_RACES": 0.0, "FEMALE": 51.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 11.0, "ID": 656750.0, "IN_HOUSEHO": 90.0, "MALE": 39.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 90.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 90.0, "RENTER_SIZ": 4.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4766430004661, 39.1243599998741, -84.47484300046631, 39.12695999987387], "geometry": {"coordinates": [[[-84.4766430004661, 39.1243599998741], [-84.47644300046613, 39.12675999987388], [-84.47484300046631, 39.12695999987387], [-84.47524300046624, 39.12455999987408], [-84.4766430004661, 39.1243599998741]]], "type": "Polygon"}, "id": "115", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 124.0, "AGE_20_24": 21.0, "AGE_21": 121.0, "AGE_25_34": 36.0, "AGE_35_44": 24.0, "AGE_45_54": 20.0, "AGE_55_59": 7.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 58.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.66, "BG": "390610042002", "BLACK": 86.0, "BLOCK": "390610042002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10984.0124, "F1_RACE": 144.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 65.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 9.0, "ID": 738259.0, "IN_HOUSEHO": 144.0, "MALE": 71.0, "MALE_18": 59.0, "MALE_65": 3.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 144.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 144.0, "RENTER_SIZ": 1.45, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 58.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47524300046624, 39.12455999987408, -84.47374300046643, 39.12695999987387], "geometry": {"coordinates": [[[-84.47484300046631, 39.12695999987387], [-84.47374300046643, 39.126759999873904], [-84.47394300046638, 39.12455999987409], [-84.47524300046624, 39.12455999987408], [-84.47484300046631, 39.12695999987387]]], "type": "Polygon"}, "id": "116", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 172.0, "AGE_20_24": 9.0, "AGE_21": 167.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 26.0, "AGE_55_59": 19.0, "AGE_5_9": 2.0, "AGE_60_64": 15.0, "AGE_62": 67.0, "AGE_65": 62.0, "AGE_65_74": 29.0, "AGE_75_84": 26.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 146.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.52, "AVG_HHSIZE": 1.28, "BG": "390610042002", "BLACK": 144.0, "BLOCK": "390610042002003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17808.0053, "F1_RACE": 182.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 97.0, "FEMALE_65": 41.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 123.0, "HOUSEHOLDS": 144.0, "HSNG_UNITS": 147.0, "HU_OCCUPIE": 144.0, "HU_VACANT": 3.0, "ID": 738277.0, "IN_HOUSEHO": 184.0, "MALE": 78.0, "MALE_18": 75.0, "MALE_65": 21.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 128.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 184.0, "RENTER_SIZ": 1.16, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.47644300046613, 39.12675999987388, -84.47454300046634, 39.12835999987374], "geometry": {"coordinates": [[[-84.47644300046613, 39.12675999987388], [-84.47614300046617, 39.12805999987374], [-84.47464300046634, 39.12835999987374], [-84.47454300046634, 39.128059999873756], [-84.47484300046631, 39.12695999987387], [-84.47644300046613, 39.12675999987388]]], "type": "Polygon"}, "id": "117", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 39.0, "AGE_20_24": 5.0, "AGE_21": 33.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.08, "BG": "390610042001", "BLACK": 29.0, "BLOCK": "390610042001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6338.7504, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 11.0, "ID": 738294.0, "IN_HOUSEHO": 50.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.0, "MSA": "1640", "NH_WHITE": 20.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 50.0, "RENTER_SIZ": 1.79, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 20.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47614300046617, 39.12805999987374, -84.47434300046636, 39.129559999873614], "geometry": {"coordinates": [[[-84.47564300046623, 39.12945999987363], [-84.47434300046636, 39.129559999873614], [-84.47464300046634, 39.12835999987374], [-84.47614300046617, 39.12805999987374], [-84.47564300046623, 39.12945999987363]]], "type": "Polygon"}, "id": "118", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 13.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.27, "BG": "390610042001", "BLACK": 19.0, "BLOCK": "390610042001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5276.5591, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 738313.0, "IN_HOUSEHO": 34.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 34.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47484300046631, 39.126759999873904, -84.47354300046645, 39.128059999873756], "geometry": {"coordinates": [[[-84.47454300046634, 39.128059999873756], [-84.47354300046645, 39.127959999873795], [-84.47374300046643, 39.126759999873904], [-84.47484300046631, 39.12695999987387], [-84.47454300046634, 39.128059999873756]]], "type": "Polygon"}, "id": "119", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 62.0, "AGE_20_24": 7.0, "AGE_21": 60.0, "AGE_25_34": 28.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.52, "BG": "390610042001", "BLACK": 24.0, "BLOCK": "390610042001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14531.7777, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 4.0, "ID": 738330.0, "IN_HOUSEHO": 67.0, "MALE": 27.0, "MALE_18": 25.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 43.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 67.0, "RENTER_SIZ": 1.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 43.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52004400046148, 39.134959999872954, -84.51574400046195, 39.140859999872404], "geometry": {"coordinates": [[[-84.52004400046148, 39.13505999987293], [-84.51954400046156, 39.14045999987243], [-84.5174440004618, 39.140859999872404], [-84.5183440004617, 39.13995999987247], [-84.51854400046167, 39.13955999987251], [-84.51804400046173, 39.138959999872554], [-84.51574400046195, 39.138259999872645], [-84.51764400046174, 39.136959999872786], [-84.51914400046158, 39.134959999872954], [-84.52004400046148, 39.13505999987293]], [[-84.5190440004616, 39.13855999987259], [-84.51854400046167, 39.13835999987263], [-84.51844400046168, 39.138559999872584], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "120", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 23.0, "AGE_18": 116.0, "AGE_20_24": 86.0, "AGE_21": 55.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 8.0, "AP_ASIAN": 7.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.04, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 50.0, "BLOCK": "390610030003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2745.6706, "F1_RACE": 107.0, "F2_RACES": 9.0, "FEMALE": 36.0, "FEMALE_18": 36.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 116.0, "GROUP_QUAR": 116.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683125.0, "IN_HOUSEHO": 0.0, "MALE": 80.0, "MALE_18": 80.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 50.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 116.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 52.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5190440004616, 39.13835999987263, -84.51844400046168, 39.13855999987259], "geometry": {"coordinates": [[[-84.5190440004616, 39.13855999987259], [-84.51844400046168, 39.138559999872584], [-84.51854400046167, 39.13835999987263], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "121", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683147.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5183440004617, 39.13995999987247, -84.51714400046184, 39.140859999872404], "geometry": {"coordinates": [[[-84.5183440004617, 39.13995999987247], [-84.5174440004618, 39.140859999872404], [-84.51714400046184, 39.140559999872444], [-84.51754400046178, 39.14005999987246], [-84.5183440004617, 39.13995999987247]]], "type": "Polygon"}, "id": "122", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683161.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51954400046156, 39.138259999872645, -84.51534400046202, 39.143259999872164], "geometry": {"coordinates": [[[-84.5193440004616, 39.14235999987225], [-84.51914400046164, 39.143259999872164], [-84.51664400046191, 39.14225999987227], [-84.51544400046203, 39.14215999987227], [-84.51544400046203, 39.14195999987231], [-84.51534400046202, 39.13945999987253], [-84.51574400046195, 39.138259999872645], [-84.51804400046173, 39.138959999872554], [-84.51854400046167, 39.13955999987251], [-84.5183440004617, 39.13995999987247], [-84.51754400046178, 39.14005999987246], [-84.51714400046184, 39.140559999872444], [-84.5174440004618, 39.140859999872404], [-84.51954400046156, 39.14045999987243], [-84.51944400046159, 39.14105999987236], [-84.51944400046159, 39.14155999987233], [-84.5193440004616, 39.14235999987225]]], "type": "Polygon"}, "id": "123", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683177.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51814400046163, 39.12725999987368, -84.51454400046204, 39.12815999987359], "geometry": {"coordinates": [[[-84.51814400046162, 39.12745999987365], [-84.51814400046163, 39.12815999987359], [-84.51454400046204, 39.12785999987363], [-84.51454400046204, 39.12725999987368], [-84.51704400046174, 39.12735999987365], [-84.51814400046162, 39.12745999987365]]], "type": "Polygon"}, "id": "124", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 14.0, "AGE_18": 71.0, "AGE_20_24": 47.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 65.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 5.0, "BLOCK": "390610025001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8291.3463, "F1_RACE": 71.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 25.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 2.0, "ID": 683241.0, "IN_HOUSEHO": 74.0, "MALE": 48.0, "MALE_18": 46.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 61.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 74.0, "RENTER_SIZ": 2.0, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 62.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51964400046147, 39.127859999873614, -84.51284400046222, 39.12965999987345], "geometry": {"coordinates": [[[-84.51964400046147, 39.12825999987355], [-84.5194440004615, 39.12855999987354], [-84.51904400046153, 39.12855999987355], [-84.51824400046162, 39.12865999987352], [-84.51754400046171, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51724400046174, 39.12945999987347], [-84.51362800046212, 39.12913099987351], [-84.51284400046222, 39.1290599998735], [-84.51284400046222, 39.12845999987356], [-84.51368300046212, 39.12852699987354], [-84.51374400046211, 39.127859999873614], [-84.51454400046204, 39.12785999987363], [-84.51814400046163, 39.12815999987359], [-84.51894400046154, 39.12825999987357], [-84.51964400046147, 39.12825999987355]]], "type": "Polygon"}, "id": "125", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 744.0, "AGE_18": 895.0, "AGE_20_24": 148.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 14.0, "AP_ASIAN": 32.0, "AP_BLACK": 228.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 657.0, "AREA": 0.03, "ASIAN": 26.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030003", "BLACK": 212.0, "BLOCK": "390610030003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35491.7198, "F1_RACE": 873.0, "F2_RACES": 27.0, "FEMALE": 495.0, "FEMALE_18": 492.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 896.0, "GROUP_QUAR": 896.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 683260.0, "IN_HOUSEHO": 4.0, "MALE": 405.0, "MALE_18": 403.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 632.0, "NOT_HISPAN": 895.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 900.0, "RENTER_SIZ": 1.0, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 634.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51454400046204, 39.12715999987369, -84.51294400046218, 39.12785999987363], "geometry": {"coordinates": [[[-84.51454400046204, 39.12725999987368], [-84.51454400046204, 39.12785999987363], [-84.51374400046211, 39.127859999873614], [-84.51294400046218, 39.127859999873614], [-84.51304400046217, 39.12715999987369], [-84.5137440004621, 39.12715999987369], [-84.51454400046204, 39.12725999987368]]], "type": "Polygon"}, "id": "126", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 45.0, "AGE_20_24": 32.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 40.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.59, "BG": "390610033002", "BLACK": 14.0, "BLOCK": "390610033002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14728.9774, "F1_RACE": 57.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 5.0, "ID": 683329.0, "IN_HOUSEHO": 57.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.6, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 57.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 57.0, "RENTER_SIZ": 2.7, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51374400046211, 39.127859999873614, -84.51284400046222, 39.12852699987354], "geometry": {"coordinates": [[[-84.51374400046211, 39.127859999873614], [-84.51368300046212, 39.12852699987354], [-84.51284400046222, 39.12845999987356], [-84.51294400046218, 39.127859999873614], [-84.51374400046211, 39.127859999873614]]], "type": "Polygon"}, "id": "127", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683349.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51744400046172, 39.12895999987351, -84.51094400046243, 39.13305999987313], "geometry": {"coordinates": [[[-84.51614400046188, 39.13235999987321], [-84.515044000462, 39.13305999987313], [-84.51244400046228, 39.132859999873176], [-84.51264400046226, 39.13165999987326], [-84.51094400046243, 39.1314599998733], [-84.51114400046241, 39.13025999987339], [-84.51124300046237, 39.12895999987351], [-84.51284400046222, 39.1290599998735], [-84.51362800046212, 39.12913099987351], [-84.51724400046174, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51734400046173, 39.12985999987343], [-84.51693200046178, 39.13071799987334], [-84.51614400046188, 39.13235999987321]]], "type": "Polygon"}, "id": "128", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 561.0, "AGE_18": 617.0, "AGE_20_24": 55.0, "AGE_21": 22.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 19.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 538.0, "AREA": 0.07, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 64.0, "BLOCK": "390610030002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8792.3227, "F1_RACE": 610.0, "F2_RACES": 8.0, "FEMALE": 238.0, "FEMALE_18": 238.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 617.0, "GROUP_QUAR": 617.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683367.0, "IN_HOUSEHO": 1.0, "MALE": 380.0, "MALE_18": 379.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 524.0, "NOT_HISPAN": 610.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 618.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 532.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5127080004622, 39.126106999873784, -84.5119480004623, 39.12685799987372], "geometry": {"coordinates": [[[-84.51234600046223, 39.126106999873784], [-84.51264400046222, 39.12655999987375], [-84.5127080004622, 39.12665699987375], [-84.51234400046225, 39.12675999987372], [-84.51214200046228, 39.12685799987372], [-84.5119480004623, 39.126554999873754], [-84.51204300046227, 39.12645999987375], [-84.51234600046223, 39.126106999873784]]], "type": "Polygon"}, "id": "129", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3777.4826, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 6.0, "ID": 683392.0, "IN_HOUSEHO": 4.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 4.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51214200046228, 39.126554999873754, -84.51144300046235, 39.127079999873686], "geometry": {"coordinates": [[[-84.51168300046233, 39.127079999873686], [-84.51144300046235, 39.127059999873715], [-84.5119480004623, 39.126554999873754], [-84.51214200046228, 39.12685799987372], [-84.51168300046233, 39.127079999873686]]], "type": "Polygon"}, "id": "130", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 3.0, "ID": 683432.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51304400046217, 39.127059999873715, -84.51074300046243, 39.127859999873614], "geometry": {"coordinates": [[[-84.51264400046223, 39.12715999987369], [-84.51304400046217, 39.12715999987369], [-84.51294400046218, 39.127859999873614], [-84.51074300046243, 39.12765999987362], [-84.51144300046235, 39.127059999873715], [-84.51168300046233, 39.127079999873686], [-84.51264400046223, 39.12715999987369]]], "type": "Polygon"}, "id": "131", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 8.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 28.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 3.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 34.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.6, "AVG_HHSIZE": 2.25, "BG": "390610033002", "BLACK": 24.0, "BLOCK": "390610033002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13335.9109, "F1_RACE": 61.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 683449.0, "IN_HOUSEHO": 54.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 2.25, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51294400046218, 39.12765999987362, -84.51074300046243, 39.1290599998735], "geometry": {"coordinates": [[[-84.51294400046218, 39.127859999873614], [-84.51284400046222, 39.12845999987356], [-84.51284400046222, 39.1290599998735], [-84.51124300046237, 39.12895999987351], [-84.51115700046239, 39.12844399987358], [-84.51114300046238, 39.12835999987357], [-84.51074300046243, 39.12765999987362], [-84.51294400046218, 39.127859999873614]]], "type": "Polygon"}, "id": "132", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 1.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.0239, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683469.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5128440004622, 39.12505999987389, -84.50824300046268, 39.127059999873715], "geometry": {"coordinates": [[[-84.51264400046222, 39.125759999873836], [-84.51234600046223, 39.126106999873784], [-84.51204300046227, 39.12645999987375], [-84.5119480004623, 39.126554999873754], [-84.51144300046235, 39.127059999873715], [-84.50878800046263, 39.126810999873726], [-84.5082430004627, 39.126759999873755], [-84.50824300046268, 39.12555999987385], [-84.50834300046267, 39.12505999987389], [-84.50914400046258, 39.1251489998739], [-84.5128440004622, 39.125559999873815], [-84.51264400046222, 39.125759999873836]]], "type": "Polygon"}, "id": "133", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 73.0, "AGE_20_24": 39.0, "AGE_21": 58.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.47, "BG": "390610023001", "BLACK": 36.0, "BLOCK": "390610023001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3467.9192, "F1_RACE": 84.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 19.0, "ID": 683489.0, "IN_HOUSEHO": 84.0, "MALE": 43.0, "MALE_18": 38.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 2.55, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 48.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51144300046235, 39.126759999873755, -84.5082430004627, 39.12765999987362], "geometry": {"coordinates": [[[-84.50878800046263, 39.126810999873726], [-84.51144300046235, 39.127059999873715], [-84.51074300046243, 39.12765999987362], [-84.50944300046257, 39.12745999987369], [-84.50864300046265, 39.12745999987367], [-84.5082430004627, 39.126759999873755], [-84.50878800046263, 39.126810999873726]]], "type": "Polygon"}, "id": "134", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 13.0, "AGE_21": 28.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.62, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5464.4265, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 683513.0, "IN_HOUSEHO": 34.0, "MALE": 16.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.72, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 31.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12745999987367, -84.50784300046276, 39.12895999987352], "geometry": {"coordinates": [[[-84.51124300046237, 39.12895999987351], [-84.51044300046247, 39.12895999987352], [-84.50944300046258, 39.128859999873555], [-84.50870500046265, 39.12876799987356], [-84.50784300046276, 39.12865999987357], [-84.50794300046275, 39.12845999987357], [-84.50844300046269, 39.12795999987365], [-84.50864300046265, 39.12745999987367], [-84.50944300046257, 39.12745999987369], [-84.51074300046243, 39.12765999987362], [-84.51114300046238, 39.12835999987357], [-84.51115700046239, 39.12844399987358], [-84.51124300046237, 39.12895999987351]]], "type": "Polygon"}, "id": "135", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683531.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 23, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12895999987351, -84.51024300046252, 39.13025999987339], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51024300046252, 39.13015999987343], [-84.51044300046247, 39.12895999987352], [-84.51124300046237, 39.12895999987351], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "136", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 14.0, "AGE_18": 58.0, "AGE_20_24": 27.0, "AGE_21": 38.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 47.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.48, "BG": "390610033002", "BLACK": 11.0, "BLOCK": "390610033002015", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16899.405, "F1_RACE": 62.0, "F2_RACES": 5.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 8.0, "ID": 683553.0, "IN_HOUSEHO": 67.0, "MALE": 35.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 44.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.4, "POPULATION": 67.0, "RENTER_SIZ": 2.73, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 45.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51264400046226, 39.1314599998733, -84.51084400046246, 39.132859999873176], "geometry": {"coordinates": [[[-84.51264400046226, 39.13165999987326], [-84.51244400046228, 39.132859999873176], [-84.51084400046246, 39.132759999873166], [-84.51094400046243, 39.1314599998733], [-84.51264400046226, 39.13165999987326]]], "type": "Polygon"}, "id": "137", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683571.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51044300046247, 39.128859999873555, -84.50934300046261, 39.13015999987343], "geometry": {"coordinates": [[[-84.51024300046252, 39.13015999987343], [-84.50934300046261, 39.13005999987343], [-84.50944300046258, 39.128859999873555], [-84.51044300046247, 39.12895999987352], [-84.51024300046252, 39.13015999987343]]], "type": "Polygon"}, "id": "138", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 8.0, "AGE_21": 21.0, "AGE_25_34": 11.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.69, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6312.6006, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 14.0, "ID": 683588.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 1.69, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51114400046241, 39.13015999987343, -84.51014300046252, 39.1314599998733], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51094400046243, 39.1314599998733], [-84.51014300046252, 39.1314599998733], [-84.51024300046252, 39.13015999987343], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "139", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 22.0, "AGE_18": 116.0, "AGE_20_24": 48.0, "AGE_21": 81.0, "AGE_25_34": 30.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 10.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 88.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 1.83, "BG": "390610033002", "BLACK": 27.0, "BLOCK": "390610033002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 31762.3412, "F1_RACE": 121.0, "F2_RACES": 5.0, "FEMALE": 44.0, "FEMALE_18": 42.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 69.0, "HSNG_UNITS": 77.0, "HU_OCCUPIE": 69.0, "HU_VACANT": 8.0, "ID": 683606.0, "IN_HOUSEHO": 126.0, "MALE": 82.0, "MALE_18": 74.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 86.0, "NOT_HISPAN": 125.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 62.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.14, "POPULATION": 126.0, "RENTER_SIZ": 1.79, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 86.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51024300046252, 39.13005999987343, -84.50924300046262, 39.1314599998733], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.51024300046252, 39.13015999987343], [-84.51014300046252, 39.1314599998733], [-84.50924300046262, 39.13135999987332], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "140", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 22.0, "AGE_21": 27.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 30.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.86, "BG": "390610033002", "BLACK": 9.0, "BLOCK": "390610033002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8925.1414, "F1_RACE": 39.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 0.0, "ID": 683623.0, "IN_HOUSEHO": 39.0, "MALE": 22.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.9, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 1.86, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50934300046261, 39.13005999987343, -84.5084430004627, 39.13135999987332], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.50924300046262, 39.13135999987332], [-84.5084430004627, 39.131259999873315], [-84.5085430004627, 39.13005999987343], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "141", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 14.0, "AGE_18": 66.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 58.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 2.03, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19615.1423, "F1_RACE": 70.0, "F2_RACES": 3.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 4.0, "ID": 683641.0, "IN_HOUSEHO": 73.0, "MALE": 45.0, "MALE_18": 40.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 4.0, "POPULATION": 73.0, "RENTER_SIZ": 1.97, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 55.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51094400046243, 39.1314599998733, -84.51004300046255, 39.132759999873166], "geometry": {"coordinates": [[[-84.51094400046243, 39.1314599998733], [-84.51084400046246, 39.132759999873166], [-84.51004300046255, 39.132659999873205], [-84.51014300046252, 39.1314599998733], [-84.51094400046243, 39.1314599998733]]], "type": "Polygon"}, "id": "142", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 95.0, "AGE_20_24": 55.0, "AGE_21": 77.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 6.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.1, "BG": "390610033002", "BLACK": 29.0, "BLOCK": "390610033002005", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 28178.8347, "F1_RACE": 102.0, "F2_RACES": 3.0, "FEMALE": 49.0, "FEMALE_18": 40.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 12.0, "ID": 683658.0, "IN_HOUSEHO": 105.0, "MALE": 56.0, "MALE_18": 55.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.5, "POPULATION": 105.0, "RENTER_SIZ": 2.08, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 58.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51014300046252, 39.13135999987332, -84.50914300046264, 39.132659999873205], "geometry": {"coordinates": [[[-84.51004300046255, 39.132659999873205], [-84.50984300046255, 39.132659999873205], [-84.50914300046264, 39.132659999873205], [-84.50924300046262, 39.13135999987332], [-84.51014300046252, 39.1314599998733], [-84.51004300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "143", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683676.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50924300046262, 39.131259999873315, -84.5084430004627, 39.132659999873205], "geometry": {"coordinates": [[[-84.50924300046262, 39.13135999987332], [-84.50914300046264, 39.132659999873205], [-84.50844300046272, 39.13255999987321], [-84.5084430004627, 39.131259999873315], [-84.50924300046262, 39.13135999987332]]], "type": "Polygon"}, "id": "144", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 64.0, "AGE_20_24": 31.0, "AGE_21": 51.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 42.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610033002", "BLACK": 25.0, "BLOCK": "390610033002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19013.5995, "F1_RACE": 65.0, "F2_RACES": 4.0, "FEMALE": 26.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 36.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 6.0, "ID": 683695.0, "IN_HOUSEHO": 69.0, "MALE": 43.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.9, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 69.0, "RENTER_SIZ": 1.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51914400046158, 39.134959999872954, -84.51474400046204, 39.138259999872645], "geometry": {"coordinates": [[[-84.51744400046175, 39.134959999872954], [-84.51914400046158, 39.134959999872954], [-84.51764400046174, 39.136959999872786], [-84.51574400046195, 39.138259999872645], [-84.51514400046202, 39.1377599998727], [-84.51494400046204, 39.1365599998728], [-84.515144000462, 39.13585999987289], [-84.51474400046204, 39.13565999987291], [-84.51644400046186, 39.13505999987293], [-84.51744400046175, 39.134959999872954]]], "type": "Polygon"}, "id": "145", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683712.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.515044000462, 39.132759999873166, -84.51054400046252, 39.13565999987291], "geometry": {"coordinates": [[[-84.51244400046228, 39.132859999873176], [-84.515044000462, 39.13305999987313], [-84.51484400046203, 39.13425999987301], [-84.51474400046204, 39.13565999987291], [-84.51384400046216, 39.13555999987291], [-84.51271800046229, 39.135491999872926], [-84.51212000046235, 39.13545599987292], [-84.51054400046252, 39.135359999872946], [-84.5106440004625, 39.13485999987298], [-84.51074400046248, 39.13405999987305], [-84.51084400046246, 39.132759999873166], [-84.51244400046228, 39.132859999873176]]], "type": "Polygon"}, "id": "146", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 10.0, "AGE_15_19": 249.0, "AGE_18": 1029.0, "AGE_20_24": 412.0, "AGE_21": 618.0, "AGE_25_34": 251.0, "AGE_35_44": 71.0, "AGE_45_54": 30.0, "AGE_55_59": 8.0, "AGE_5_9": 28.0, "AGE_60_64": 6.0, "AGE_62": 10.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 387.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 24.0, "AP_OTHER": 37.0, "AP_WHITE": 459.0, "AREA": 0.04, "ASIAN": 372.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.69, "AVG_HHSIZE": 1.92, "BG": "390610030002", "BLACK": 244.0, "BLOCK": "390610030002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27691.1011, "F1_RACE": 1072.0, "F2_RACES": 36.0, "FEMALE": 470.0, "FEMALE_18": 429.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 423.0, "GROUP_QUAR": 423.0, "HAWAIIAN": 5.0, "HH_FAMILY": 119.0, "HH_NONFAMI": 237.0, "HOUSEHOLDS": 356.0, "HSNG_UNITS": 362.0, "HU_OCCUPIE": 356.0, "HU_VACANT": 6.0, "ID": 683730.0, "IN_HOUSEHO": 685.0, "MALE": 638.0, "MALE_18": 600.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 422.0, "NOT_HISPAN": 1084.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 354.0, "OTHER_RACE": 15.0, "OWNER_SIZE": 1.5, "POPULATION": 1108.0, "RENTER_SIZ": 1.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 435.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50194300046337, 39.12465999987397, -84.4999430004636, 39.126359999873806], "geometry": {"coordinates": [[[-84.50174300046339, 39.12475999987396], [-84.50194300046337, 39.125159999873944], [-84.5017430004634, 39.126359999873806], [-84.4999430004636, 39.12625999987383], [-84.50014300046355, 39.12465999987397], [-84.50174300046339, 39.12475999987396]]], "type": "Polygon"}, "id": "147", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697320.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50324300046324, 39.127259999873715, -84.50164300046343, 39.12815999987364], "geometry": {"coordinates": [[[-84.50324300046324, 39.12735999987369], [-84.50314300046327, 39.12815999987364], [-84.50164300046343, 39.12805999987364], [-84.5018430004634, 39.127259999873715], [-84.50324300046324, 39.12735999987369]]], "type": "Polygon"}, "id": "148", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 3.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 13.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.13, "BG": "390610033001", "BLACK": 14.0, "BLOCK": "390610033001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6204.9883, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 8.0, "ID": 697337.0, "IN_HOUSEHO": 27.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 27.0, "RENTER_SIZ": 1.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 13.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.12805999987364, -84.50164300046343, 39.12865999987358], "geometry": {"coordinates": [[[-84.50314300046327, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50164300046343, 39.12805999987364], [-84.50314300046327, 39.12815999987364]]], "type": "Polygon"}, "id": "149", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 697355.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5018430004634, 39.126359999873806, -84.49914300046369, 39.12865999987358], "geometry": {"coordinates": [[[-84.50164300046343, 39.12805999987364], [-84.50164300046343, 39.12865999987358], [-84.49914300046369, 39.128259999873634], [-84.49984300046361, 39.127759999873675], [-84.50094300046348, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.5018430004634, 39.127259999873715], [-84.50164300046343, 39.12805999987364]]], "type": "Polygon"}, "id": "150", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697372.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50454300046312, 39.12795999987365, -84.50294300046332, 39.13085999987339], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50294300046332, 39.13075999987339], [-84.50324300046326, 39.128259999873634], [-84.50334300046325, 39.12815999987364], [-84.50454300046312, 39.12795999987365], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "151", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 119.0, "AGE_20_24": 35.0, "AGE_21": 109.0, "AGE_25_34": 26.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 8.0, "AGE_62": 13.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 2.0, "AP_WHITE": 52.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.66, "BG": "390610033001", "BLACK": 80.0, "BLOCK": "390610033001007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10556.7195, "F1_RACE": 137.0, "F2_RACES": 1.0, "FEMALE": 64.0, "FEMALE_18": 55.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 57.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 697392.0, "IN_HOUSEHO": 138.0, "MALE": 74.0, "MALE_18": 64.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 132.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 74.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.56, "POPULATION": 138.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 51.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13075999987339, -84.50284300046332, 39.13155999987331], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50424300046318, 39.13155999987331], [-84.50284300046332, 39.13145999987332], [-84.50294300046332, 39.13075999987339], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "152", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 8.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 10.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 71.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.52, "BG": "390610033001", "BLACK": 71.0, "BLOCK": "390610033001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23024.8535, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 7.0, "ID": 697411.0, "IN_HOUSEHO": 81.0, "MALE": 42.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.83, "POPULATION": 81.0, "RENTER_SIZ": 3.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 10.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13225999987324, -84.50414300046317, 39.13305999987318], "geometry": {"coordinates": [[[-84.50504300046309, 39.13235999987324], [-84.5049430004631, 39.13305999987318], [-84.50414300046319, 39.13305999987318], [-84.50414300046317, 39.13225999987324], [-84.50504300046309, 39.13235999987324]]], "type": "Polygon"}, "id": "153", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 15.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.82, "BG": "390610032002", "BLACK": 25.0, "BLOCK": "390610032002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16878.2214, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 0.0, "ID": 697428.0, "IN_HOUSEHO": 40.0, "MALE": 21.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 40.0, "RENTER_SIZ": 1.81, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13145999987332, -84.50274300046333, 39.13225999987324], "geometry": {"coordinates": [[[-84.50424300046318, 39.13155999987331], [-84.50414300046317, 39.13225999987324], [-84.50274300046333, 39.13215999987327], [-84.50284300046332, 39.13145999987332], [-84.50424300046318, 39.13155999987331]]], "type": "Polygon"}, "id": "154", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 35.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 5.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.59, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12002.0838, "F1_RACE": 43.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 697446.0, "IN_HOUSEHO": 44.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 4.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.5, "POPULATION": 44.0, "RENTER_SIZ": 2.31, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 5.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13215999987327, -84.50264300046334, 39.13305999987318], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.50264300046334, 39.13285999987319], [-84.50274300046333, 39.13215999987327], [-84.50414300046317, 39.13225999987324], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "155", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 10.0, "AGE_18": 79.0, "AGE_20_24": 33.0, "AGE_21": 66.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.17, "BG": "390610032002", "BLACK": 59.0, "BLOCK": "390610032002019", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24662.0841, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 50.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 4.0, "ID": 697463.0, "IN_HOUSEHO": 100.0, "MALE": 50.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 38.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 100.0, "RENTER_SIZ": 2.14, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 38.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.128259999873634, -84.50144300046345, 39.13075999987339], "geometry": {"coordinates": [[[-84.50294300046332, 39.13075999987339], [-84.50144300046345, 39.13065999987342], [-84.50154300046344, 39.12945999987352], [-84.50164300046343, 39.12865999987358], [-84.50324300046326, 39.128259999873634], [-84.50294300046332, 39.13075999987339]]], "type": "Polygon"}, "id": "156", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50294300046332, 39.13065999987342, -84.5012430004635, 39.132359999873266], "geometry": {"coordinates": [[[-84.50284300046332, 39.13145999987332], [-84.50274300046333, 39.13215999987327], [-84.50174300046343, 39.13225999987326], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13195999987329], [-84.50144300046345, 39.13065999987342], [-84.50294300046332, 39.13075999987339], [-84.50284300046332, 39.13145999987332]]], "type": "Polygon"}, "id": "157", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 150.0, "AGE_20_24": 13.0, "AGE_21": 144.0, "AGE_25_34": 30.0, "AGE_35_44": 27.0, "AGE_45_54": 27.0, "AGE_55_59": 14.0, "AGE_5_9": 18.0, "AGE_60_64": 8.0, "AGE_62": 33.0, "AGE_65": 28.0, "AGE_65_74": 17.0, "AGE_75_84": 8.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 179.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.79, "BG": "390610033001", "BLACK": 174.0, "BLOCK": "390610033001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 22368.6271, "F1_RACE": 188.0, "F2_RACES": 5.0, "FEMALE": 121.0, "FEMALE_18": 93.0, "FEMALE_65": 22.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 108.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 108.0, "HU_VACANT": 7.0, "ID": 697498.0, "IN_HOUSEHO": 193.0, "MALE": 72.0, "MALE_18": 57.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 189.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 103.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.0, "POPULATION": 193.0, "RENTER_SIZ": 1.73, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50274300046333, 39.13215999987327, -84.5012430004635, 39.13285999987319], "geometry": {"coordinates": [[[-84.50274300046333, 39.13215999987327], [-84.50264300046334, 39.13285999987319], [-84.5012430004635, 39.13285999987319], [-84.5012430004635, 39.132359999873266], [-84.50174300046343, 39.13225999987326], [-84.50274300046333, 39.13215999987327]]], "type": "Polygon"}, "id": "158", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 11.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 32.0, "BLOCK": "390610032002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15171.3464, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 1.0, "ID": 697517.0, "IN_HOUSEHO": 50.0, "MALE": 28.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 50.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 18.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50144300046345, 39.130459999873445, -84.49964300046366, 39.13265999987324], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.5012430004635, 39.13195999987329], [-84.5012430004635, 39.132359999873266], [-84.49964300046366, 39.13265999987324], [-84.49974300046365, 39.13155999987333], [-84.49994300046363, 39.130459999873445], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "159", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 6.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 23.0, "BLOCK": "390610034002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3035.2329, "F1_RACE": 33.0, "F2_RACES": 1.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 0.0, "ID": 697534.0, "IN_HOUSEHO": 34.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 34.0, "RENTER_SIZ": 1.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 9.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.13245999987321, -84.50734300046284, 39.13385999987311], "geometry": {"coordinates": [[[-84.50844300046272, 39.13255999987321], [-84.50834300046274, 39.13385999987311], [-84.50814300046274, 39.133859999873096], [-84.50734300046284, 39.133859999873096], [-84.50744300046281, 39.13245999987321], [-84.50844300046272, 39.13255999987321]]], "type": "Polygon"}, "id": "160", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 43.0, "AGE_20_24": 18.0, "AGE_21": 37.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 2.38, "BG": "390610032002", "BLACK": 36.0, "BLOCK": "390610032002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9965.0563, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 697553.0, "IN_HOUSEHO": 50.0, "MALE": 30.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.25, "POPULATION": 50.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 12.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50904300046265, 39.133859999873096, -84.50804300046278, 39.13515999987295], "geometry": {"coordinates": [[[-84.50904300046265, 39.133859999873096], [-84.50894300046268, 39.13515999987295], [-84.50804300046278, 39.13515999987295], [-84.50814300046274, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50904300046265, 39.133859999873096]]], "type": "Polygon"}, "id": "161", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 3.0, "AGE_18": 57.0, "AGE_20_24": 19.0, "AGE_21": 52.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.97, "BG": "390610032002", "BLACK": 45.0, "BLOCK": "390610032002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15926.4729, "F1_RACE": 68.0, "F2_RACES": 1.0, "FEMALE": 27.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 697572.0, "IN_HOUSEHO": 69.0, "MALE": 42.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.4, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 69.0, "RENTER_SIZ": 1.97, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50814300046274, 39.133859999873096, -84.50734300046284, 39.13515999987295], "geometry": {"coordinates": [[[-84.50804300046278, 39.13515999987295], [-84.50734300046285, 39.13505999987297], [-84.50734300046284, 39.133859999873096], [-84.50814300046274, 39.133859999873096], [-84.50804300046278, 39.13515999987295]]], "type": "Polygon"}, "id": "162", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 45.0, "AGE_20_24": 9.0, "AGE_21": 42.0, "AGE_25_34": 11.0, "AGE_35_44": 13.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.44, "BG": "390610032002", "BLACK": 44.0, "BLOCK": "390610032002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17524.9649, "F1_RACE": 59.0, "F2_RACES": 2.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 697590.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 61.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50944400046265, 39.13505999987297, -84.50544300046307, 39.137659999872724], "geometry": {"coordinates": [[[-84.50554300046306, 39.13585999987293], [-84.50554300046305, 39.13545999987295], [-84.50554300046305, 39.13515999987297], [-84.50714300046289, 39.13505999987297], [-84.50734300046285, 39.13505999987297], [-84.50804300046278, 39.13515999987295], [-84.50894300046268, 39.13515999987295], [-84.50904300046267, 39.13595999987288], [-84.50944400046265, 39.137659999872724], [-84.50826100046277, 39.137578999872744], [-84.50644300046295, 39.136759999872815], [-84.50544300046307, 39.13665999987285], [-84.50554300046306, 39.13585999987293]]], "type": "Polygon"}, "id": "163", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697608.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50734300046285, 39.1336599998731, -84.50554300046305, 39.13515999987297], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50734300046285, 39.13505999987297], [-84.50714300046289, 39.13505999987297], [-84.50554300046305, 39.13515999987297], [-84.50564300046304, 39.134459999873044], [-84.50574300046303, 39.1336599998731], [-84.50654300046293, 39.13375999987311], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "164", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 44.0, "AGE_20_24": 13.0, "AGE_21": 43.0, "AGE_25_34": 14.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.21, "BG": "390610032002", "BLACK": 34.0, "BLOCK": "390610032002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6263.9059, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 23.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 697632.0, "IN_HOUSEHO": 53.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 53.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 17.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13305999987318, -84.5049430004631, 39.133659999873124], "geometry": {"coordinates": [[[-84.505843000463, 39.13315999987314], [-84.50574300046303, 39.1336599998731], [-84.5049430004631, 39.133659999873124], [-84.5049430004631, 39.13305999987318], [-84.505843000463, 39.13315999987314]]], "type": "Polygon"}, "id": "165", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 1.0, "AGE_21": 9.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 3.0, "BLOCK": "390610032002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5745.7963, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 697652.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 10.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50574300046303, 39.1336599998731, -84.50484300046311, 39.134459999873044], "geometry": {"coordinates": [[[-84.50574300046303, 39.1336599998731], [-84.50564300046304, 39.134459999873044], [-84.50484300046311, 39.13435999987304], [-84.5049430004631, 39.133659999873124], [-84.50574300046303, 39.1336599998731]]], "type": "Polygon"}, "id": "166", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610032002", "BLACK": 24.0, "BLOCK": "390610032002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12498.4938, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 697669.0, "IN_HOUSEHO": 28.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 28.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50564300046304, 39.13435999987304, -84.50474300046312, 39.13515999987297], "geometry": {"coordinates": [[[-84.50564300046304, 39.134459999873044], [-84.50554300046305, 39.13515999987297], [-84.50474300046312, 39.135059999872986], [-84.50484300046311, 39.13435999987304], [-84.50564300046304, 39.134459999873044]]], "type": "Polygon"}, "id": "167", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 21.0, "AGE_20_24": 11.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.25, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12792.2919, "F1_RACE": 26.0, "F2_RACES": 1.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 4.0, "ID": 697687.0, "IN_HOUSEHO": 27.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 27.0, "RENTER_SIZ": 2.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50554300046305, 39.13505999987297, -84.50384300046323, 39.13545999987295], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.13505999987297], [-84.50474300046312, 39.135059999872986], [-84.50554300046305, 39.13515999987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "168", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 88.0, "AGE_20_24": 38.0, "AGE_21": 82.0, "AGE_25_34": 37.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 27.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 56.0, "AREA": 0.0, "ASIAN": 26.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.38, "BG": "390610032001", "BLACK": 12.0, "BLOCK": "390610032001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 45600.0576, "F1_RACE": 91.0, "F2_RACES": 3.0, "FEMALE": 55.0, "FEMALE_18": 50.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 0.0, "ID": 697704.0, "IN_HOUSEHO": 94.0, "MALE": 39.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 68.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 94.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 53.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50554300046306, 39.13536199987297, -84.50374300046326, 39.13665999987285], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50554300046306, 39.13585999987293], [-84.50544300046307, 39.13665999987285], [-84.50374300046326, 39.13655999987285], [-84.50384300046323, 39.135759999872924], [-84.50384300046323, 39.13536199987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "169", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697723.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50934400046268, 39.140259999872484, -84.50744400046288, 39.14125999987239], "geometry": {"coordinates": [[[-84.50934400046268, 39.140259999872484], [-84.50924400046269, 39.14125999987239], [-84.50744400046288, 39.141159999872414], [-84.50754300046286, 39.140259999872505], [-84.50934400046268, 39.140259999872484]]], "type": "Polygon"}, "id": "170", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 28.0, "AGE_20_24": 6.0, "AGE_21": 27.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.5, "BG": "390610032001", "BLACK": 21.0, "BLOCK": "390610032001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5510.4161, "F1_RACE": 30.0, "F2_RACES": 5.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 697743.0, "IN_HOUSEHO": 35.0, "MALE": 21.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 35.0, "RENTER_SIZ": 2.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 5.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50954400046263, 39.13665999987285, -84.50024300046367, 39.142259999872316], "geometry": {"coordinates": [[[-84.50924400046269, 39.14125999987239], [-84.5092440004627, 39.142259999872316], [-84.50574300046307, 39.14205999987235], [-84.50324300046334, 39.14185999987239], [-84.50304300046336, 39.141859999872366], [-84.50024300046367, 39.1416599998724], [-84.50034300046366, 39.1406599998725], [-84.50054300046362, 39.139659999872585], [-84.50054300046362, 39.13935999987259], [-84.5006430004636, 39.138359999872684], [-84.5015430004635, 39.13845999987268], [-84.50214300046343, 39.13935999987259], [-84.50504300046315, 39.13955999987258], [-84.50537800046308, 39.137129999872776], [-84.50544300046307, 39.13665999987285], [-84.50644300046295, 39.136759999872815], [-84.50826100046277, 39.137578999872744], [-84.50944400046265, 39.137659999872724], [-84.50954400046263, 39.138059999872695], [-84.50934400046268, 39.140259999872484], [-84.50754300046286, 39.140259999872505], [-84.50744400046288, 39.141159999872414], [-84.50924400046269, 39.14125999987239]]], "type": "Polygon"}, "id": "171", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 297.0, "AGE_20_24": 46.0, "AGE_21": 290.0, "AGE_25_34": 69.0, "AGE_35_44": 49.0, "AGE_45_54": 48.0, "AGE_55_59": 15.0, "AGE_5_9": 5.0, "AGE_60_64": 10.0, "AGE_62": 62.0, "AGE_65": 56.0, "AGE_65_74": 27.0, "AGE_75_84": 25.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 50.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 9.0, "AP_WHITE": 155.0, "AREA": 0.12, "ASIAN": 44.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.71, "BG": "390610032001", "BLACK": 122.0, "BLOCK": "390610032001000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2794.7365, "F1_RACE": 317.0, "F2_RACES": 12.0, "FEMALE": 109.0, "FEMALE_18": 95.0, "FEMALE_65": 13.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 90.0, "HOUSEHOLDS": 133.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 133.0, "HU_VACANT": 17.0, "ID": 697760.0, "IN_HOUSEHO": 228.0, "MALE": 220.0, "MALE_18": 202.0, "MALE_65": 43.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 148.0, "NOT_HISPAN": 327.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 107.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.27, "POPULATION": 329.0, "RENTER_SIZ": 1.58, "THEFT": 33, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 148.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13305999987318, -84.5040430004632, 39.133659999873124], "geometry": {"coordinates": [[[-84.5049430004631, 39.13305999987318], [-84.5049430004631, 39.133659999873124], [-84.5040430004632, 39.13355999987311], [-84.50414300046319, 39.13305999987318], [-84.5049430004631, 39.13305999987318]]], "type": "Polygon"}, "id": "172", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 13.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 28.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.23, "AVG_HHSIZE": 3.53, "BG": "390610032002", "BLACK": 53.0, "BLOCK": "390610032002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 34474.8115, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 21.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 4.0, "ID": 697792.0, "IN_HOUSEHO": 60.0, "MALE": 24.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 60.0, "RENTER_SIZ": 3.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13355999987311, -84.5040430004632, 39.13435999987306], "geometry": {"coordinates": [[[-84.5049430004631, 39.133659999873124], [-84.50484300046311, 39.13435999987304], [-84.5040430004632, 39.13435999987306], [-84.5040430004632, 39.13355999987311], [-84.5049430004631, 39.133659999873124]]], "type": "Polygon"}, "id": "173", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 24.0, "AGE_25_34": 8.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 31.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.31, "BG": "390610032002", "BLACK": 30.0, "BLOCK": "390610032002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15612.5144, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 697810.0, "IN_HOUSEHO": 37.0, "MALE": 17.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50484300046311, 39.13435999987304, -84.50384300046323, 39.135059999872986], "geometry": {"coordinates": [[[-84.50484300046311, 39.13435999987304], [-84.50474300046312, 39.135059999872986], [-84.50384300046323, 39.13505999987297], [-84.5040430004632, 39.13435999987306], [-84.50484300046311, 39.13435999987304]]], "type": "Polygon"}, "id": "174", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 0.0, "BLOCK": "390610032002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697827.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13285999987319, -84.50264300046334, 39.13355999987311], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.5040430004632, 39.13355999987311], [-84.50264300046335, 39.13345999987315], [-84.50264300046334, 39.13285999987319], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "175", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 4.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 14.0, "AGE_21": 71.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 16.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 98.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610032002", "BLACK": 96.0, "BLOCK": "390610032002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35895.2371, "F1_RACE": 105.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 2.0, "ID": 697845.0, "IN_HOUSEHO": 107.0, "MALE": 50.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.7, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 9.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13345999987315, -84.50254300046338, 39.13435999987306], "geometry": {"coordinates": [[[-84.5040430004632, 39.13355999987311], [-84.5040430004632, 39.13435999987306], [-84.50254300046338, 39.13425999987308], [-84.50264300046335, 39.13345999987315], [-84.5040430004632, 39.13355999987311]]], "type": "Polygon"}, "id": "176", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 33.0, "AGE_20_24": 12.0, "AGE_21": 33.0, "AGE_25_34": 18.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 9.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 9.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.22, "BG": "390610032002", "BLACK": 7.0, "BLOCK": "390610032002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7649.6439, "F1_RACE": 32.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 1.0, "ID": 697862.0, "IN_HOUSEHO": 33.0, "MALE": 15.0, "MALE_18": 15.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 33.0, "RENTER_SIZ": 1.22, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13425999987308, -84.50244300046339, 39.13505999987297], "geometry": {"coordinates": [[[-84.5040430004632, 39.13435999987306], [-84.50384300046323, 39.13505999987297], [-84.50244300046339, 39.13495999987302], [-84.50254300046338, 39.13425999987308], [-84.5040430004632, 39.13435999987306]]], "type": "Polygon"}, "id": "177", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 22.0, "AGE_20_24": 4.0, "AGE_21": 19.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.92, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6030.4194, "F1_RACE": 19.0, "F2_RACES": 4.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 2.0, "ID": 697880.0, "IN_HOUSEHO": 23.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.86, "POPULATION": 23.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13495999987302, -84.50244300046339, 39.13536199987297], "geometry": {"coordinates": [[[-84.50384300046323, 39.13505999987297], [-84.50384300046323, 39.13536199987297], [-84.50244300046339, 39.13528099987297], [-84.50244300046339, 39.13495999987302], [-84.50384300046323, 39.13505999987297]]], "type": "Polygon"}, "id": "178", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697897.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.129259999873604, -84.48394300046536, 39.13075999987347], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.48394300046536, 39.13065999987348], [-84.48404300046533, 39.129459999873596], [-84.48414300046532, 39.129259999873604], [-84.48574300046515, 39.129359999873586], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "179", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707099.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.131759999873395, -84.4854430004652, 39.132659999873304], "geometry": {"coordinates": [[[-84.48684300046504, 39.13185999987336], [-84.48684300046504, 39.132659999873304], [-84.4854430004652, 39.1325599998733], [-84.4854430004652, 39.131759999873395], [-84.48684300046504, 39.13185999987336]]], "type": "Polygon"}, "id": "180", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.0, "BG": "390610036001", "BLACK": 20.0, "BLOCK": "390610036001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4822.2972, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 7.0, "ID": 707117.0, "IN_HOUSEHO": 20.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 47.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 20.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48596700046515, 39.13276599987328, -84.48504300046523, 39.133397999873225], "geometry": {"coordinates": [[[-84.48596700046515, 39.133397999873225], [-84.48504300046524, 39.13335999987322], [-84.48504300046523, 39.13276599987328], [-84.48596700046515, 39.133397999873225]]], "type": "Polygon"}, "id": "181", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610036001", "BLACK": 5.0, "BLOCK": "390610036001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4920.2886, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 707135.0, "IN_HOUSEHO": 5.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 5.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48554300046517, 39.13065999987348, -84.48384300046537, 39.131759999873395], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.4854430004652, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131619999873394], [-84.48384300046537, 39.131359999873425], [-84.48394300046536, 39.13065999987348], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "182", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 21.0, "AGE_20_24": 0.0, "AGE_21": 20.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.36, "BG": "390610037003", "BLACK": 33.0, "BLOCK": "390610037003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5240.2265, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 16.0, "ID": 707151.0, "IN_HOUSEHO": 33.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 30.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 2.5, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4854430004652, 39.131759999873395, -84.48383200046537, 39.1325599998733], "geometry": {"coordinates": [[[-84.4854430004652, 39.131759999873395], [-84.4854430004652, 39.1325599998733], [-84.48504300046523, 39.1325599998733], [-84.48480700046527, 39.132559999873294], [-84.48383200046537, 39.13184799987338], [-84.48384300046537, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.4854430004652, 39.131759999873395]]], "type": "Polygon"}, "id": "183", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 707171.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48504300046523, 39.132559999873294, -84.48480700046527, 39.13276599987328], "geometry": {"coordinates": [[[-84.48504300046523, 39.1325599998733], [-84.48504300046523, 39.13276599987328], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.1325599998733]]], "type": "Polygon"}, "id": "184", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 707192.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48480700046527, 39.13184799987338, -84.48374300046537, 39.13255999987331], "geometry": {"coordinates": [[[-84.48480700046527, 39.132559999873294], [-84.48374300046537, 39.13255999987331], [-84.48383200046537, 39.13184799987338], [-84.48480700046527, 39.132559999873294]]], "type": "Polygon"}, "id": "185", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036001", "BLACK": 3.0, "BLOCK": "390610036001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2138.8145, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707208.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49294300046441, 39.13435999987311, -84.49154300046456, 39.13585999987298], "geometry": {"coordinates": [[[-84.49234300046446, 39.13435999987311], [-84.49294300046441, 39.134459999873094], [-84.49244300046446, 39.135159999873025], [-84.49221400046447, 39.135337999873], [-84.49154300046456, 39.13585999987298], [-84.49234300046446, 39.13435999987311]]], "type": "Polygon"}, "id": "186", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707224.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49234300046447, 39.135337999873, -84.49154300046456, 39.13675999987287], "geometry": {"coordinates": [[[-84.49234300046447, 39.13675999987287], [-84.49154300046457, 39.1366599998729], [-84.49154300046456, 39.13585999987298], [-84.49221400046447, 39.135337999873], [-84.49224300046448, 39.135659999872985], [-84.49234300046447, 39.13675999987287]]], "type": "Polygon"}, "id": "187", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610034001", "BLACK": 2.0, "BLOCK": "390610034001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 650.2932, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707242.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 69.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49234300046446, 39.13435999987311, -84.49014300046471, 39.13645999987293], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49014300046471, 39.13645999987293], [-84.49064300046464, 39.135159999873025], [-84.49164300046453, 39.13435999987311], [-84.49234300046446, 39.13435999987311], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "188", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707261.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.13585999987298, -84.49014300046471, 39.13675999987289], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49154300046457, 39.1366599998729], [-84.49014300046471, 39.13675999987289], [-84.49014300046471, 39.13645999987293], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "189", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49244300046446, 39.13315999987322, -84.487443000465, 39.13435999987311], "geometry": {"coordinates": [[[-84.49244300046446, 39.13415999987311], [-84.49234300046446, 39.13435999987311], [-84.49164300046453, 39.13435999987311], [-84.487443000465, 39.133659999873196], [-84.487443000465, 39.133459999873224], [-84.48764300046497, 39.13315999987322], [-84.48994300046472, 39.13325999987322], [-84.49174300046454, 39.13335999987318], [-84.49174300046455, 39.13415999987313], [-84.49244300046446, 39.13415999987311]]], "type": "Polygon"}, "id": "190", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 132.0, "AGE_20_24": 14.0, "AGE_21": 129.0, "AGE_25_34": 22.0, "AGE_35_44": 26.0, "AGE_45_54": 23.0, "AGE_55_59": 8.0, "AGE_5_9": 12.0, "AGE_60_64": 8.0, "AGE_62": 32.0, "AGE_65": 28.0, "AGE_65_74": 14.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.68, "BG": "390610036002", "BLACK": 153.0, "BLOCK": "390610036002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12689.6134, "F1_RACE": 157.0, "F2_RACES": 3.0, "FEMALE": 92.0, "FEMALE_18": 76.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 95.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 95.0, "HU_VACANT": 10.0, "ID": 707297.0, "IN_HOUSEHO": 160.0, "MALE": 68.0, "MALE_18": 56.0, "MALE_65": 12.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 91.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.25, "POPULATION": 160.0, "RENTER_SIZ": 1.66, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49164300046453, 39.133659999873196, -84.48724300046503, 39.135159999873025], "geometry": {"coordinates": [[[-84.487443000465, 39.133659999873196], [-84.49164300046453, 39.13435999987311], [-84.49064300046464, 39.135159999873025], [-84.48994300046473, 39.134959999873075], [-84.48924300046481, 39.13485999987306], [-84.48874300046486, 39.13445999987311], [-84.48724300046503, 39.133859999873174], [-84.487443000465, 39.133659999873196]]], "type": "Polygon"}, "id": "191", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036002", "BLACK": 3.0, "BLOCK": "390610036002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 298.4113, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707320.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49064300046464, 39.13445999987311, -84.48614300046516, 39.13845999987274], "geometry": {"coordinates": [[[-84.49064300046464, 39.135159999873025], [-84.49014300046471, 39.13645999987293], [-84.48808200046494, 39.137448999872845], [-84.48764300046498, 39.13765999987284], [-84.48644300046513, 39.13845999987274], [-84.48614300046516, 39.13805999987279], [-84.48622800046516, 39.13771799987283], [-84.48624300046515, 39.13765999987284], [-84.48724300046504, 39.13655999987293], [-84.48804300046494, 39.13555999987301], [-84.48844300046488, 39.134959999873075], [-84.48874300046486, 39.13445999987311], [-84.48924300046481, 39.13485999987306], [-84.48994300046473, 39.134959999873075], [-84.49064300046464, 39.135159999873025]]], "type": "Polygon"}, "id": "192", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 16.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 16.0, "AGE_35_44": 17.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 26.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 109.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 3.21, "BG": "390610036002", "BLACK": 109.0, "BLOCK": "390610036002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4125.8625, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 31.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 12.0, "ID": 707340.0, "IN_HOUSEHO": 109.0, "MALE": 49.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 109.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 109.0, "RENTER_SIZ": 3.32, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.1366599998729, -84.49014300046471, 39.13845999987273], "geometry": {"coordinates": [[[-84.49154300046457, 39.1366599998729], [-84.49124300046462, 39.13785999987278], [-84.4903430004647, 39.13845999987273], [-84.4903430004647, 39.138259999872766], [-84.49014300046471, 39.13675999987289], [-84.49154300046457, 39.1366599998729]]], "type": "Polygon"}, "id": "193", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707365.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49114300046465, 39.139459999872614, -84.48944300046483, 39.140859999872504], "geometry": {"coordinates": [[[-84.49114300046465, 39.139459999872614], [-84.49094300046467, 39.140859999872504], [-84.48974300046478, 39.140859999872504], [-84.48944300046483, 39.14075999987253], [-84.4896430004648, 39.13955999987264], [-84.49044300046471, 39.13945999987263], [-84.49114300046465, 39.139459999872614]]], "type": "Polygon"}, "id": "194", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 18.0, "AGE_15_19": 16.0, "AGE_18": 97.0, "AGE_20_24": 11.0, "AGE_21": 92.0, "AGE_25_34": 20.0, "AGE_35_44": 23.0, "AGE_45_54": 15.0, "AGE_55_59": 7.0, "AGE_5_9": 13.0, "AGE_60_64": 6.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610067001", "BLACK": 147.0, "BLOCK": "390610067001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19678.1357, "F1_RACE": 149.0, "F2_RACES": 0.0, "FEMALE": 71.0, "FEMALE_18": 53.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 62.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 62.0, "HU_VACANT": 12.0, "ID": 707382.0, "IN_HOUSEHO": 149.0, "MALE": 78.0, "MALE_18": 44.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 149.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 149.0, "RENTER_SIZ": 2.31, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4903430004647, 39.13645999987293, -84.48644300046513, 39.13965999987265], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48644300046513, 39.13845999987274], [-84.48764300046498, 39.13765999987284], [-84.48808200046494, 39.137448999872845], [-84.49014300046471, 39.13645999987293], [-84.49014300046471, 39.13675999987289], [-84.4903430004647, 39.138259999872766], [-84.4903430004647, 39.13845999987273], [-84.48724300046506, 39.13965999987265], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "195", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 15.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 6.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.7, "BG": "390610067001", "BLACK": 26.0, "BLOCK": "390610067001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1123.5003, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 707402.0, "IN_HOUSEHO": 27.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 18.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 2.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49044300046471, 39.13845999987273, -84.48724300046506, 39.13985999987262], "geometry": {"coordinates": [[[-84.4903430004647, 39.13845999987273], [-84.49044300046471, 39.13945999987263], [-84.4896430004648, 39.13955999987264], [-84.48834300046495, 39.13985999987262], [-84.48734300046505, 39.13985999987261], [-84.48724300046506, 39.13965999987265], [-84.4903430004647, 39.13845999987273]]], "type": "Polygon"}, "id": "196", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 18.0, "AGE_20_24": 1.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.87, "BG": "390610067001", "BLACK": 27.0, "BLOCK": "390610067001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3626.9663, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 5.0, "ID": 707424.0, "IN_HOUSEHO": 28.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 28.0, "RENTER_SIZ": 2.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4896430004648, 39.13955999987264, -84.48734300046505, 39.14075999987253], "geometry": {"coordinates": [[[-84.4896430004648, 39.13955999987264], [-84.48944300046483, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.487743000465, 39.14045999987258], [-84.48734300046505, 39.13985999987261], [-84.48834300046495, 39.13985999987262], [-84.4896430004648, 39.13955999987264]]], "type": "Polygon"}, "id": "197", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 13.0, "AGE_15_19": 12.0, "AGE_18": 66.0, "AGE_20_24": 5.0, "AGE_21": 59.0, "AGE_25_34": 17.0, "AGE_35_44": 14.0, "AGE_45_54": 12.0, "AGE_55_59": 4.0, "AGE_5_9": 17.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 3.26, "BG": "390610067001", "BLACK": 107.0, "BLOCK": "390610067001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16117.6625, "F1_RACE": 111.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 9.0, "ID": 707443.0, "IN_HOUSEHO": 111.0, "MALE": 59.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 111.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 111.0, "RENTER_SIZ": 3.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48874300046486, 39.133859999873174, -84.48704300046504, 39.134959999873075], "geometry": {"coordinates": [[[-84.48724300046503, 39.133859999873174], [-84.48874300046486, 39.13445999987311], [-84.48844300046488, 39.134959999873075], [-84.48704300046504, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48724300046503, 39.133859999873174]]], "type": "Polygon"}, "id": "198", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 2.0, "AGE_21": 25.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 3.0, "AGE_55_59": 6.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.04, "BG": "390610036002", "BLACK": 24.0, "BLOCK": "390610036002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7760.281, "F1_RACE": 25.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 15.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 707461.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 52.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48844300046488, 39.13435999987314, -84.48634300046511, 39.13555999987301], "geometry": {"coordinates": [[[-84.48844300046488, 39.134959999873075], [-84.48804300046494, 39.13555999987301], [-84.48704300046505, 39.13525999987304], [-84.48634300046511, 39.13505999987305], [-84.48704300046504, 39.13435999987314], [-84.48844300046488, 39.134959999873075]]], "type": "Polygon"}, "id": "199", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 20.0, "AGE_20_24": 5.0, "AGE_21": 19.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 2.33, "BG": "390610036002", "BLACK": 35.0, "BLOCK": "390610036002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7242.9872, "F1_RACE": 35.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 18.0, "ID": 707480.0, "IN_HOUSEHO": 35.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 35.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48804300046494, 39.13525999987304, -84.48534300046525, 39.13805999987279], "geometry": {"coordinates": [[[-84.48724300046504, 39.13655999987293], [-84.48624300046515, 39.13765999987284], [-84.48622800046516, 39.13771799987283], [-84.48614300046516, 39.13805999987279], [-84.48534300046525, 39.13715999987289], [-84.48554300046523, 39.137059999872875], [-84.48704300046505, 39.13525999987304], [-84.48804300046494, 39.13555999987301], [-84.48724300046504, 39.13655999987293]]], "type": "Polygon"}, "id": "200", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 99.0, "AGE_20_24": 22.0, "AGE_21": 89.0, "AGE_25_34": 10.0, "AGE_35_44": 20.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 6.0, "AGE_60_64": 7.0, "AGE_62": 16.0, "AGE_65": 12.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.06, "BG": "390610036002", "BLACK": 130.0, "BLOCK": "390610036002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12916.6618, "F1_RACE": 130.0, "F2_RACES": 2.0, "FEMALE": 80.0, "FEMALE_18": 65.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 8.0, "ID": 707499.0, "IN_HOUSEHO": 132.0, "MALE": 52.0, "MALE_18": 34.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 53.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.18, "POPULATION": 132.0, "RENTER_SIZ": 1.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48714300046504, 39.13415999987315, -84.4839430004654, 39.13715999987289], "geometry": {"coordinates": [[[-84.48634300046511, 39.13505999987305], [-84.48704300046505, 39.13525999987304], [-84.48554300046523, 39.137059999872875], [-84.48534300046525, 39.13715999987289], [-84.4839430004654, 39.136059999873005], [-84.48614300046513, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48704300046504, 39.13435999987314], [-84.48634300046511, 39.13505999987305]]], "type": "Polygon"}, "id": "201", "properties": {"AGE_0_5": 30.0, "AGE_10_14": 47.0, "AGE_15_19": 19.0, "AGE_18": 109.0, "AGE_20_24": 13.0, "AGE_21": 102.0, "AGE_25_34": 32.0, "AGE_35_44": 26.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 27.0, "AGE_60_64": 2.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 221.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.32, "AVG_HHSIZE": 2.69, "BG": "390610036002", "BLACK": 216.0, "BLOCK": "390610036002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14177.4841, "F1_RACE": 220.0, "F2_RACES": 6.0, "FEMALE": 142.0, "FEMALE_18": 79.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 84.0, "HSNG_UNITS": 102.0, "HU_OCCUPIE": 84.0, "HU_VACANT": 18.0, "ID": 707518.0, "IN_HOUSEHO": 226.0, "MALE": 84.0, "MALE_18": 30.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 225.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 78.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 226.0, "RENTER_SIZ": 2.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48974300046478, 39.14065999987254, -84.48654300046516, 39.142059999872394], "geometry": {"coordinates": [[[-84.48974300046478, 39.140859999872504], [-84.48964300046482, 39.142059999872394], [-84.48654300046516, 39.141859999872445], [-84.48664300046514, 39.14065999987254], [-84.48724300046506, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.48944300046483, 39.14075999987253], [-84.48974300046478, 39.140859999872504]]], "type": "Polygon"}, "id": "202", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707538.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48804300046498, 39.13985999987261, -84.48664300046514, 39.14075999987253], "geometry": {"coordinates": [[[-84.487743000465, 39.14045999987258], [-84.48804300046498, 39.14075999987253], [-84.48724300046506, 39.14075999987253], [-84.48664300046514, 39.14065999987254], [-84.48674300046511, 39.14015999987259], [-84.48734300046505, 39.13985999987261], [-84.487743000465, 39.14045999987258]]], "type": "Polygon"}, "id": "203", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 4.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.17, "BG": "390610067001", "BLACK": 13.0, "BLOCK": "390610067001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4744.6508, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 0.0, "ID": 707559.0, "IN_HOUSEHO": 13.0, "MALE": 6.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48734300046505, 39.13965999987265, -84.48514300046529, 39.14065999987254], "geometry": {"coordinates": [[[-84.48724300046506, 39.13965999987265], [-84.48734300046505, 39.13985999987261], [-84.48674300046511, 39.14015999987259], [-84.48664300046514, 39.14065999987254], [-84.48558100046525, 39.14058899987254], [-84.48514300046529, 39.140559999872565], [-84.48724300046506, 39.13965999987265]]], "type": "Polygon"}, "id": "204", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.25, "BG": "390610067001", "BLACK": 9.0, "BLOCK": "390610067001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3220.1738, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 707578.0, "IN_HOUSEHO": 9.0, "MALE": 5.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 9.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48604300046517, 39.13725999987287, -84.48384300046541, 39.138959999872704], "geometry": {"coordinates": [[[-84.48584300046521, 39.13805999987279], [-84.48604300046517, 39.13825999987277], [-84.48504300046528, 39.13885999987272], [-84.48424300046537, 39.138959999872704], [-84.48404300046539, 39.138159999872784], [-84.48384300046541, 39.137559999872835], [-84.4849430004653, 39.13725999987287], [-84.48584300046521, 39.13805999987279]]], "type": "Polygon"}, "id": "205", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 7.0, "AGE_15_19": 15.0, "AGE_18": 117.0, "AGE_20_24": 36.0, "AGE_21": 103.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 11.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 2.27, "BG": "390610036001", "BLACK": 181.0, "BLOCK": "390610036001001", "BURGLARY": 6, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21652.7875, "F1_RACE": 184.0, "F2_RACES": 0.0, "FEMALE": 96.0, "FEMALE_18": 67.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 81.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 81.0, "HU_VACANT": 17.0, "ID": 707596.0, "IN_HOUSEHO": 184.0, "MALE": 88.0, "MALE_18": 50.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 183.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.4, "POPULATION": 184.0, "RENTER_SIZ": 2.26, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48724300046506, 39.13845999987274, -84.48433500046538, 39.14055999987258], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48724300046506, 39.13965999987265], [-84.48514300046529, 39.140559999872565], [-84.48494300046532, 39.14055999987258], [-84.48433500046538, 39.140559999872565], [-84.48454300046537, 39.14025999987261], [-84.48554300046524, 39.139159999872675], [-84.48644300046513, 39.13845999987274], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "206", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707616.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48664300046514, 39.140559999872565, -84.48380000046545, 39.14209499987244], "geometry": {"coordinates": [[[-84.48544300046525, 39.14185999987246], [-84.48474300046534, 39.14195999987244], [-84.48380000046545, 39.14209499987244], [-84.48514300046529, 39.140559999872565], [-84.48558100046525, 39.14058899987254], [-84.48664300046514, 39.14065999987254], [-84.48654300046516, 39.141859999872445], [-84.48544300046525, 39.14185999987246]]], "type": "Polygon"}, "id": "207", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 4.0, "AGE_15_19": 4.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 68.0, "AGE_25_34": 11.0, "AGE_35_44": 16.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 92.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610067004", "BLACK": 90.0, "BLOCK": "390610067004009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9223.4933, "F1_RACE": 90.0, "F2_RACES": 3.0, "FEMALE": 43.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 9.0, "ID": 707636.0, "IN_HOUSEHO": 93.0, "MALE": 50.0, "MALE_18": 37.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 50.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 93.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48514300046529, 39.140559999872565, -84.48364300046546, 39.142159999872405], "geometry": {"coordinates": [[[-84.48494300046532, 39.14055999987258], [-84.48514300046529, 39.140559999872565], [-84.48380000046545, 39.14209499987244], [-84.48374300046545, 39.142159999872405], [-84.48364300046546, 39.14155999987249], [-84.48433500046538, 39.140559999872565], [-84.48494300046532, 39.14055999987258]]], "type": "Polygon"}, "id": "208", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707657.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.125159999874, -84.48284300046545, 39.12685999987385], "geometry": {"coordinates": [[[-84.48434300046526, 39.125159999874], [-84.48434300046527, 39.12675999987384], [-84.48284300046545, 39.12685999987385], [-84.48294300046541, 39.12515999987403], [-84.48324300046541, 39.125159999874015], [-84.48434300046526, 39.125159999874]]], "type": "Polygon"}, "id": "209", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 225.9619, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 2.0, "GROUP_QUAR": 2.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707676.0, "IN_HOUSEHO": 0.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48294300046541, 39.12495999987402, -84.48134300046561, 39.126959999873854], "geometry": {"coordinates": [[[-84.48294300046541, 39.12515999987403], [-84.48284300046545, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48134300046561, 39.12685999987385], [-84.48154300046558, 39.12495999987402], [-84.48194300046555, 39.12495999987402], [-84.48294300046541, 39.12515999987403]]], "type": "Polygon"}, "id": "210", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 40.0, "AGE_20_24": 5.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.5, "AVG_HHSIZE": 1.33, "BG": "390610037001", "BLACK": 29.0, "BLOCK": "390610037001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4237.6286, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 11.0, "GROUP_QUAR": 11.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 23.0, "ID": 707695.0, "IN_HOUSEHO": 32.0, "MALE": 25.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 14.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47464300046634, 39.127959999873795, -84.47344300046649, 39.12965999987362], "geometry": {"coordinates": [[[-84.47464300046634, 39.12835999987374], [-84.47434300046636, 39.129559999873614], [-84.47344300046649, 39.12965999987362], [-84.47354300046645, 39.127959999873795], [-84.47454300046634, 39.128059999873756], [-84.47464300046634, 39.12835999987374]]], "type": "Polygon"}, "id": "211", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 5.0, "AGE_21": 45.0, "AGE_25_34": 11.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.16, "BG": "390610042001", "BLACK": 13.0, "BLOCK": "390610042001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8973.4932, "F1_RACE": 52.0, "F2_RACES": 2.0, "FEMALE": 25.0, "FEMALE_18": 21.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 3.0, "ID": 739464.0, "IN_HOUSEHO": 54.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.73, "POPULATION": 54.0, "RENTER_SIZ": 1.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 36.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47394300046638, 39.12455999987409, -84.47194300046661, 39.126759999873904], "geometry": {"coordinates": [[[-84.47394300046638, 39.12455999987409], [-84.47374300046643, 39.126759999873904], [-84.47194300046661, 39.12645999987392], [-84.47224300046658, 39.12535999987403], [-84.47394300046638, 39.12455999987409]]], "type": "Polygon"}, "id": "212", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 61.0, "AGE_20_24": 2.0, "AGE_21": 57.0, "AGE_25_34": 24.0, "AGE_35_44": 16.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.71, "AVG_HHSIZE": 1.85, "BG": "390610042002", "BLACK": 21.0, "BLOCK": "390610042002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7073.2004, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 33.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 7.0, "ID": 739483.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.19, "POPULATION": 74.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 53.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47674300046613, 39.12925999987366, -84.4742430004664, 39.13165999987343], "geometry": {"coordinates": [[[-84.47654300046615, 39.13135999987346], [-84.47644300046618, 39.13165999987343], [-84.4742430004664, 39.13165999987343], [-84.47434300046638, 39.13055999987355], [-84.47434300046636, 39.129559999873614], [-84.47564300046623, 39.12945999987363], [-84.47644300046615, 39.12925999987366], [-84.47674300046613, 39.12935999987364], [-84.47664300046614, 39.13005999987358], [-84.47654300046615, 39.13135999987346]]], "type": "Polygon"}, "id": "213", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 3.0, "AGE_21": 31.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.81, "BG": "390610041002", "BLACK": 25.0, "BLOCK": "390610041002006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1909.9236, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 7.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 7.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 1.0, "ID": 739499.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 5.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.13, "POPULATION": 36.0, "RENTER_SIZ": 1.5, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 11.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.129559999873614, -84.4732430004665, 39.13055999987355], "geometry": {"coordinates": [[[-84.47434300046636, 39.129559999873614], [-84.47434300046638, 39.13055999987355], [-84.4732430004665, 39.130459999873565], [-84.47344300046649, 39.12965999987362], [-84.47434300046636, 39.129559999873614]]], "type": "Polygon"}, "id": "214", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 1.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 11.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610041002", "BLACK": 29.0, "BLOCK": "390610041002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13802.0582, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 739521.0, "IN_HOUSEHO": 46.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 46.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 16.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.130459999873565, -84.47314300046652, 39.13165999987343], "geometry": {"coordinates": [[[-84.47434300046638, 39.13055999987355], [-84.4742430004664, 39.13165999987343], [-84.47314300046652, 39.13155999987345], [-84.4732430004665, 39.130459999873565], [-84.47434300046638, 39.13055999987355]]], "type": "Polygon"}, "id": "215", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 51.0, "AGE_20_24": 11.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.43, "BG": "390610041002", "BLACK": 45.0, "BLOCK": "390610041002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15051.7324, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 22.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 6.0, "ID": 739558.0, "IN_HOUSEHO": 68.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 68.0, "RENTER_SIZ": 2.53, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 23.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.47344300046649, 39.12965999987362, -84.47194300046665, 39.13155999987345], "geometry": {"coordinates": [[[-84.4732430004665, 39.130459999873565], [-84.47314300046652, 39.13155999987345], [-84.47194300046665, 39.13155999987345], [-84.47214300046663, 39.12975999987361], [-84.47344300046649, 39.12965999987362], [-84.4732430004665, 39.130459999873565]]], "type": "Polygon"}, "id": "216", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 58.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.28, "BG": "390610041002", "BLACK": 10.0, "BLOCK": "390610041002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7992.2978, "F1_RACE": 66.0, "F2_RACES": 0.0, "FEMALE": 30.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 5.0, "ID": 739576.0, "IN_HOUSEHO": 66.0, "MALE": 36.0, "MALE_18": 34.0, "MALE_65": 2.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.56, "POPULATION": 66.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 53.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.47104300046674, 39.128759999873736, -84.46854200046702, 39.130059999873595], "geometry": {"coordinates": [[[-84.47094300046675, 39.12895999987369], [-84.47104300046674, 39.12985999987362], [-84.4706430004668, 39.12985999987362], [-84.46854200046702, 39.130059999873595], [-84.468642000467, 39.12905999987369], [-84.46974200046688, 39.128759999873736], [-84.47094300046675, 39.12895999987369]]], "type": "Polygon"}, "id": "217", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 7.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.2, "AVG_HHSIZE": 4.2, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2240.4421, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 739629.0, "IN_HOUSEHO": 21.0, "MALE": 13.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 12.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.2, "POPULATION": 21.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 21.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47214300046663, 39.12975999987361, -84.47024300046685, 39.13375999987323], "geometry": {"coordinates": [[[-84.47174300046669, 39.13375999987323], [-84.47024300046685, 39.13365999987327], [-84.4706430004668, 39.12985999987362], [-84.47104300046674, 39.12985999987362], [-84.47184300046665, 39.12975999987361], [-84.47214300046663, 39.12975999987361], [-84.47194300046665, 39.13155999987345], [-84.47174300046669, 39.13375999987323]]], "type": "Polygon"}, "id": "218", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 2.0, "AGE_21": 55.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 66.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.28, "AVG_HHSIZE": 2.64, "BG": "390610041001", "BLACK": 8.0, "BLOCK": "390610041001006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3442.461, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 739648.0, "IN_HOUSEHO": 74.0, "MALE": 43.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.95, "POPULATION": 74.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 66.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4706430004668, 39.12985999987362, -84.46814200046708, 39.13365999987327], "geometry": {"coordinates": [[[-84.4706430004668, 39.12985999987362], [-84.47024300046685, 39.13365999987327], [-84.46814200046708, 39.13355999987327], [-84.46854200046702, 39.130059999873595], [-84.4706430004668, 39.12985999987362]]], "type": "Polygon"}, "id": "219", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 39.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 11.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.03, "ASIAN": 11.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.53, "AVG_HHSIZE": 3.29, "BG": "390610041001", "BLACK": 2.0, "BLOCK": "390610041001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1977.1644, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 739669.0, "IN_HOUSEHO": 56.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.38, "POPULATION": 56.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 43.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46854200046702, 39.130059999873595, -84.4669420004672, 39.13355999987327], "geometry": {"coordinates": [[[-84.46854200046702, 39.130059999873595], [-84.46814200046708, 39.13355999987327], [-84.4669420004672, 39.133459999873295], [-84.46704200046719, 39.13175999987347], [-84.46724200046715, 39.13025999987357], [-84.46854200046702, 39.130059999873595]]], "type": "Polygon"}, "id": "220", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 0.0, "AGE_21": 28.0, "AGE_25_34": 2.0, "AGE_35_44": 10.0, "AGE_45_54": 14.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 45.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 3.0, "BG": "390610041001", "BLACK": 0.0, "BLOCK": "390610041001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2849.2641, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 739686.0, "IN_HOUSEHO": 45.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 45.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 45.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 45.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46884200046696, 39.1248599998741, -84.46344200046752, 39.12675999987392], "geometry": {"coordinates": [[[-84.468402000467, 39.12668199987393], [-84.46714200046715, 39.12645999987395], [-84.46594200046727, 39.12615999987398], [-84.46344200046752, 39.125059999874075], [-84.46634500046721, 39.12494799987409], [-84.46864200046697, 39.1248599998741], [-84.46884200046696, 39.12675999987392], [-84.468402000467, 39.12668199987393]]], "type": "Polygon"}, "id": "221", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 24.0, "AGE_20_24": 0.0, "AGE_21": 24.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 27.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.93, "BG": "390610042002", "BLACK": 2.0, "BLOCK": "390610042002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1331.6139, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 741823.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 12.0, "MALE_65": 1.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 27.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.09, "POPULATION": 29.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 27.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.47374300046643, 39.125059999874075, -84.46004200046795, 39.132459999873426], "geometry": {"coordinates": [[[-84.47354300046645, 39.127959999873795], [-84.47344300046649, 39.12965999987362], [-84.47214300046663, 39.12975999987361], [-84.47184300046665, 39.12975999987361], [-84.47104300046674, 39.12985999987362], [-84.47094300046675, 39.12895999987369], [-84.46974200046688, 39.128759999873736], [-84.468642000467, 39.12905999987369], [-84.46854200046702, 39.130059999873595], [-84.46724200046715, 39.13025999987357], [-84.46654200046723, 39.13035999987359], [-84.4659420004673, 39.130559999873554], [-84.46414200046749, 39.13135999987352], [-84.46254200046768, 39.13185999987346], [-84.46164200046776, 39.13205999987344], [-84.46074200046787, 39.13235999987343], [-84.46004200046795, 39.132459999873426], [-84.46034200046792, 39.13215999987345], [-84.4612420004678, 39.13155999987349], [-84.46304200046762, 39.13075999987355], [-84.46394200046753, 39.12955999987366], [-84.46294200046758, 39.12655999987394], [-84.46344200046752, 39.125059999874075], [-84.46594200046727, 39.12615999987398], [-84.46714200046715, 39.12645999987395], [-84.468402000467, 39.12668199987393], [-84.46884200046696, 39.12675999987392], [-84.4703420004668, 39.12625999987395], [-84.47064200046675, 39.12615999987395], [-84.47194300046661, 39.12645999987392], [-84.47374300046643, 39.126759999873904], [-84.47354300046645, 39.127959999873795]], [[-84.46544200046735, 39.1292599998737], [-84.46534200046734, 39.12835999987379], [-84.46484200046739, 39.12845999987376], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "222", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 17.0, "AGE_15_19": 17.0, "AGE_18": 211.0, "AGE_20_24": 12.0, "AGE_21": 205.0, "AGE_25_34": 49.0, "AGE_35_44": 38.0, "AGE_45_54": 48.0, "AGE_55_59": 19.0, "AGE_5_9": 12.0, "AGE_60_64": 14.0, "AGE_62": 36.0, "AGE_65": 29.0, "AGE_65_74": 18.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 8.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 0.0, "AP_WHITE": 248.0, "AREA": 0.15, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.09, "BG": "390610042001", "BLACK": 15.0, "BLOCK": "390610042001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1775.9725, "F1_RACE": 256.0, "F2_RACES": 9.0, "FEMALE": 123.0, "FEMALE_18": 101.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 127.0, "HSNG_UNITS": 132.0, "HU_OCCUPIE": 127.0, "HU_VACANT": 5.0, "ID": 741843.0, "IN_HOUSEHO": 265.0, "MALE": 142.0, "MALE_18": 110.0, "MALE_65": 18.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 229.0, "NOT_HISPAN": 255.0, "OCCHU_OWNE": 86.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 265.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 239.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.46544200046735, 39.12835999987379, -84.46484200046739, 39.1292599998737], "geometry": {"coordinates": [[[-84.46544200046735, 39.1292599998737], [-84.46484200046739, 39.12845999987376], [-84.46534200046734, 39.12835999987379], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "223", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.6935, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 741889.0, "IN_HOUSEHO": 10.0, "MALE": 8.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 56.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 10.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.46814200046708, 39.13025999987357, -84.4614420004678, 39.13515999987312], "geometry": {"coordinates": [[[-84.46814200046708, 39.13355999987327], [-84.46794200046712, 39.13515999987312], [-84.46384200046755, 39.1347599998732], [-84.4633420004676, 39.13465999987321], [-84.46144200046781, 39.13455999987323], [-84.4614420004678, 39.13415999987325], [-84.46244200046769, 39.133459999873324], [-84.46254200046768, 39.13185999987346], [-84.46414200046749, 39.13135999987352], [-84.4659420004673, 39.130559999873554], [-84.46654200046723, 39.13035999987359], [-84.46724200046715, 39.13025999987357], [-84.46704200046719, 39.13175999987347], [-84.4669420004672, 39.133459999873295], [-84.46814200046708, 39.13355999987327]]], "type": "Polygon"}, "id": "224", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 315.0, "AGE_20_24": 16.0, "AGE_21": 308.0, "AGE_25_34": 37.0, "AGE_35_44": 39.0, "AGE_45_54": 27.0, "AGE_55_59": 29.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 158.0, "AGE_65": 154.0, "AGE_65_74": 14.0, "AGE_75_84": 48.0, "AGE_85": 92.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 131.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 230.0, "AREA": 0.07, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.25, "BG": "390610041001", "BLACK": 130.0, "BLOCK": "390610041001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4934.9491, "F1_RACE": 357.0, "F2_RACES": 3.0, "FEMALE": 235.0, "FEMALE_18": 208.0, "FEMALE_65": 125.0, "GQ_INSTITU": 135.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 135.0, "HAWAIIAN": 0.0, "HH_FAMILY": 58.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 100.0, "HSNG_UNITS": 107.0, "HU_OCCUPIE": 100.0, "HU_VACANT": 7.0, "ID": 741903.0, "IN_HOUSEHO": 225.0, "MALE": 125.0, "MALE_18": 107.0, "MALE_65": 29.0, "MEDIAN_AGE": 56.6, "MSA": "1640", "NH_WHITE": 226.0, "NOT_HISPAN": 357.0, "OCCHU_OWNE": 64.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.36, "POPULATION": 360.0, "RENTER_SIZ": 2.06, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 227.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.12805999987356, -84.52444400046097, 39.12975999987339], "geometry": {"coordinates": [[[-84.52534400046086, 39.12975999987339], [-84.52444400046097, 39.129659999873425], [-84.52464400046094, 39.128459999873506], [-84.52544400046085, 39.12805999987356], [-84.52534400046086, 39.12975999987339]]], "type": "Polygon"}, "id": "225", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 48.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 71.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 3.0, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18746.3134, "F1_RACE": 77.0, "F2_RACES": 7.0, "FEMALE": 42.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 10.0, "ID": 681301.0, "IN_HOUSEHO": 84.0, "MALE": 42.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 3.4, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 68.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.127659999873586, -84.5205440004614, 39.129659999873425], "geometry": {"coordinates": [[[-84.52374400046105, 39.129659999873425], [-84.52234400046119, 39.129559999873415], [-84.5205440004614, 39.12945999987345], [-84.52064400046136, 39.12835999987354], [-84.52074400046135, 39.127659999873586], [-84.5211440004613, 39.12775999987357], [-84.52194400046122, 39.12775999987357], [-84.52274400046113, 39.12775999987357], [-84.52354400046106, 39.12785999987357], [-84.52424400046097, 39.12795999987355], [-84.52544400046085, 39.12805999987356], [-84.52464400046094, 39.128459999873506], [-84.52374400046104, 39.1287599998735], [-84.52374400046105, 39.129659999873425]]], "type": "Polygon"}, "id": "226", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 6.0, "AGE_21": 30.0, "AGE_25_34": 15.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.37, "BG": "390610026001", "BLACK": 5.0, "BLOCK": "390610026001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1320.3592, "F1_RACE": 29.0, "F2_RACES": 2.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 681354.0, "IN_HOUSEHO": 26.0, "MALE": 20.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 31.0, "RENTER_SIZ": 1.33, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 23.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.52464400046094, 39.128459999873506, -84.52374400046104, 39.129659999873425], "geometry": {"coordinates": [[[-84.52444400046097, 39.129659999873425], [-84.52374400046105, 39.129659999873425], [-84.52374400046104, 39.1287599998735], [-84.52464400046094, 39.128459999873506], [-84.52444400046097, 39.129659999873425]]], "type": "Polygon"}, "id": "227", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 16.0, "AGE_18": 53.0, "AGE_20_24": 28.0, "AGE_21": 29.0, "AGE_25_34": 7.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.9, "BG": "390610026001", "BLACK": 2.0, "BLOCK": "390610026001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18657.0486, "F1_RACE": 56.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 27.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 3.0, "ID": 681381.0, "IN_HOUSEHO": 57.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.2, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 57.0, "RENTER_SIZ": 1.88, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 47.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52234400046119, 39.12945999987345, -84.52034400046142, 39.13295999987311], "geometry": {"coordinates": [[[-84.52234400046119, 39.129559999873415], [-84.52194400046125, 39.13165999987322], [-84.52184400046129, 39.13295999987311], [-84.52098700046135, 39.13284599987314], [-84.52034400046142, 39.13275999987314], [-84.52034400046142, 39.13255999987314], [-84.5204120004614, 39.131505999873255], [-84.5205440004614, 39.12945999987345], [-84.52234400046119, 39.129559999873415]]], "type": "Polygon"}, "id": "228", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 34.0, "AGE_18": 242.0, "AGE_20_24": 165.0, "AGE_21": 167.0, "AGE_25_34": 36.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 20.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 217.0, "AREA": 0.02, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 5.0, "BLOCK": "390610029002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12051.1059, "F1_RACE": 241.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 105.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 104.0, "GROUP_QUAR": 104.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 681399.0, "IN_HOUSEHO": 139.0, "MALE": 137.0, "MALE_18": 137.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 215.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 81.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 243.0, "RENTER_SIZ": 1.64, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 215.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52304400046114, 39.13165999987322, -84.52184400046129, 39.13295999987311], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52184400046129, 39.13295999987311], [-84.52194400046125, 39.13165999987322], [-84.52304400046114, 39.131759999873225], [-84.52301200046112, 39.1321479998732], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "229", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 11.0, "AGE_18": 90.0, "AGE_20_24": 54.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 87.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.25, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18196.4629, "F1_RACE": 92.0, "F2_RACES": 1.0, "FEMALE": 29.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 21.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 32.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 32.0, "HU_VACANT": 2.0, "ID": 681421.0, "IN_HOUSEHO": 72.0, "MALE": 64.0, "MALE_18": 61.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 85.0, "NOT_HISPAN": 91.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 93.0, "RENTER_SIZ": 2.28, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 86.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52074400046135, 39.127559999873625, -84.51894400046154, 39.12835999987354], "geometry": {"coordinates": [[[-84.52074400046135, 39.127659999873586], [-84.52064400046136, 39.12835999987354], [-84.51964400046147, 39.12825999987355], [-84.51894400046154, 39.12825999987357], [-84.51904400046153, 39.127559999873625], [-84.52024400046139, 39.127659999873586], [-84.52074400046135, 39.127659999873586]]], "type": "Polygon"}, "id": "230", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 17.0, "AGE_18": 96.0, "AGE_20_24": 47.0, "AGE_21": 72.0, "AGE_25_34": 20.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 6.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 85.0, "AREA": 0.0, "ASIAN": 5.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.06, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23450.2351, "F1_RACE": 94.0, "F2_RACES": 5.0, "FEMALE": 51.0, "FEMALE_18": 49.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 48.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 48.0, "HU_VACANT": 6.0, "ID": 681479.0, "IN_HOUSEHO": 99.0, "MALE": 48.0, "MALE_18": 47.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 79.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 99.0, "RENTER_SIZ": 2.06, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 80.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51904400046153, 39.12745999987365, -84.51814400046162, 39.12825999987357], "geometry": {"coordinates": [[[-84.51904400046153, 39.127559999873625], [-84.51894400046154, 39.12825999987357], [-84.51814400046163, 39.12815999987359], [-84.51814400046162, 39.12745999987365], [-84.51904400046153, 39.127559999873625]]], "type": "Polygon"}, "id": "231", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 10.0, "AGE_21": 14.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.6, "BG": "390610025001", "BLACK": 1.0, "BLOCK": "390610025001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7200.8426, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 4.0, "ID": 681536.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 16.0, "RENTER_SIZ": 1.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 15.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5205440004614, 39.12945999987345, -84.5194440004615, 39.13255999987314], "geometry": {"coordinates": [[[-84.52034400046142, 39.13255999987314], [-84.5194440004615, 39.131059999873294], [-84.51964400046148, 39.13025999987335], [-84.5203440004614, 39.12945999987346], [-84.5205440004614, 39.12945999987345], [-84.5204120004614, 39.131505999873255], [-84.52034400046142, 39.13255999987314]]], "type": "Polygon"}, "id": "232", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681572.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.13255999987314, -84.51984400046149, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52024400046145, 39.13355999987304], [-84.51984400046149, 39.13305999987312], [-84.52034400046142, 39.13255999987314], [-84.52034400046142, 39.13275999987314], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "233", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681590.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51914400046155, 39.12855999987355, -84.51734400046173, 39.130159999873385], "geometry": {"coordinates": [[[-84.51904400046153, 39.12855999987355], [-84.51914400046155, 39.12975999987343], [-84.51844400046163, 39.130159999873385], [-84.51734400046173, 39.12985999987343], [-84.51744400046172, 39.12965999987345], [-84.51754400046171, 39.12945999987347], [-84.51824400046162, 39.12865999987352], [-84.51904400046153, 39.12855999987355]]], "type": "Polygon"}, "id": "234", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681607.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52064400046136, 39.12825999987355, -84.51614400046188, 39.13235999987321], "geometry": {"coordinates": [[[-84.5194440004615, 39.131059999873294], [-84.51914400046155, 39.13225999987319], [-84.51794400046168, 39.13195999987321], [-84.51614400046188, 39.13235999987321], [-84.51693200046178, 39.13071799987334], [-84.51734400046173, 39.12985999987343], [-84.51844400046163, 39.130159999873385], [-84.51914400046155, 39.12975999987343], [-84.51904400046153, 39.12855999987355], [-84.5194440004615, 39.12855999987354], [-84.51964400046147, 39.12825999987355], [-84.52064400046136, 39.12835999987354], [-84.5205440004614, 39.12945999987345], [-84.5203440004614, 39.12945999987346], [-84.51964400046148, 39.13025999987335], [-84.5194440004615, 39.131059999873294]]], "type": "Polygon"}, "id": "235", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681624.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5264440004608, 39.13425999987298, -84.52004400046148, 39.135759999872825], "geometry": {"coordinates": [[[-84.5264440004608, 39.13445999987294], [-84.5262440004608, 39.135759999872825], [-84.52504400046094, 39.13555999987286], [-84.52434400046101, 39.13545999987286], [-84.52004400046148, 39.13505999987293], [-84.52014400046147, 39.134259999873], [-84.52084500046139, 39.13425999987298], [-84.5217440004613, 39.13425999987298], [-84.52284400046116, 39.13435999987296], [-84.52424400046101, 39.13435999987296], [-84.524462000461, 39.13436999987297], [-84.5264440004608, 39.13445999987294]]], "type": "Polygon"}, "id": "236", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 25.0, "AGE_18": 349.0, "AGE_20_24": 144.0, "AGE_21": 299.0, "AGE_25_34": 114.0, "AGE_35_44": 22.0, "AGE_45_54": 19.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 18.0, "AGE_65": 16.0, "AGE_65_74": 10.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 87.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 9.0, "AP_WHITE": 266.0, "AREA": 0.02, "ASIAN": 85.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.87, "BG": "390610029001", "BLACK": 5.0, "BLOCK": "390610029001007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15091.6364, "F1_RACE": 353.0, "F2_RACES": 8.0, "FEMALE": 143.0, "FEMALE_18": 134.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 24.0, "GROUP_QUAR": 24.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 180.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 180.0, "HU_VACANT": 13.0, "ID": 681644.0, "IN_HOUSEHO": 337.0, "MALE": 218.0, "MALE_18": 215.0, "MALE_65": 9.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 258.0, "NOT_HISPAN": 358.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 151.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.17, "POPULATION": 361.0, "RENTER_SIZ": 1.81, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 259.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52294400046114, 39.13295999987311, -84.5217440004613, 39.13435999987296], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52284400046116, 39.13435999987296], [-84.5217440004613, 39.13425999987298], [-84.52184400046129, 39.13295999987311], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "237", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 10.0, "AGE_18": 143.0, "AGE_20_24": 106.0, "AGE_21": 104.0, "AGE_25_34": 21.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 19.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.3, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26099.3015, "F1_RACE": 143.0, "F2_RACES": 1.0, "FEMALE": 37.0, "FEMALE_18": 36.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 36.0, "GROUP_QUAR": 36.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 681670.0, "IN_HOUSEHO": 108.0, "MALE": 107.0, "MALE_18": 107.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 120.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 144.0, "RENTER_SIZ": 2.3, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 121.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52184400046129, 39.13284599987314, -84.52084500046139, 39.13425999987298], "geometry": {"coordinates": [[[-84.52184400046129, 39.13295999987311], [-84.5217440004613, 39.13425999987298], [-84.52084500046139, 39.13425999987298], [-84.52098700046135, 39.13284599987314], [-84.52184400046129, 39.13295999987311]]], "type": "Polygon"}, "id": "238", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 16.0, "AGE_18": 66.0, "AGE_20_24": 44.0, "AGE_21": 34.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 65.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.8, "BG": "390610029002", "BLACK": 2.0, "BLOCK": "390610029002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15098.8449, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 25.0, "GROUP_QUAR": 25.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 681687.0, "IN_HOUSEHO": 42.0, "MALE": 49.0, "MALE_18": 48.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 65.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 67.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 65.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.52098700046135, 39.13275999987314, -84.52014400046147, 39.134259999873], "geometry": {"coordinates": [[[-84.52084500046139, 39.13425999987298], [-84.52014400046147, 39.134259999873], [-84.52024400046145, 39.13375999987304], [-84.52024400046145, 39.13355999987304], [-84.52074400046138, 39.13325999987309], [-84.52024400046143, 39.13305999987312], [-84.52034400046142, 39.13275999987314], [-84.52098700046135, 39.13284599987314], [-84.52084500046139, 39.13425999987298]]], "type": "Polygon"}, "id": "239", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 66.0, "AGE_20_24": 55.0, "AGE_21": 30.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 64.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 0.0, "BLOCK": "390610029002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20452.4733, "F1_RACE": 65.0, "F2_RACES": 1.0, "FEMALE": 60.0, "FEMALE_18": 60.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 61.0, "GROUP_QUAR": 61.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 681742.0, "IN_HOUSEHO": 5.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 66.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 63.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52074400046138, 39.13305999987312, -84.52024400046143, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52074400046138, 39.13325999987309], [-84.52024400046145, 39.13355999987304], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "240", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 4.0, "AGE_18": 18.0, "AGE_20_24": 14.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 38887.7429, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 18.0, "GROUP_QUAR": 18.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681763.0, "IN_HOUSEHO": 0.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 17.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.52024400046145, 39.133659999873075, -84.51744400046175, 39.13505999987293], "geometry": {"coordinates": [[[-84.52014400046147, 39.134259999873], [-84.52004400046148, 39.13505999987293], [-84.51914400046158, 39.134959999872954], [-84.51744400046175, 39.134959999872954], [-84.5177440004617, 39.134159999873], [-84.51884400046161, 39.133659999873075], [-84.52024400046145, 39.13375999987304], [-84.52014400046147, 39.134259999873]]], "type": "Polygon"}, "id": "241", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681778.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.131059999873294, -84.51474400046204, 39.13565999987291], "geometry": {"coordinates": [[[-84.52024400046145, 39.13355999987304], [-84.52024400046145, 39.13375999987304], [-84.51884400046161, 39.133659999873075], [-84.5177440004617, 39.134159999873], [-84.51744400046175, 39.134959999872954], [-84.51644400046186, 39.13505999987293], [-84.51474400046204, 39.13565999987291], [-84.51484400046203, 39.13425999987301], [-84.515044000462, 39.13305999987313], [-84.51614400046188, 39.13235999987321], [-84.51794400046168, 39.13195999987321], [-84.51914400046155, 39.13225999987319], [-84.5194440004615, 39.131059999873294], [-84.52034400046142, 39.13255999987314], [-84.51984400046149, 39.13305999987312], [-84.52024400046145, 39.13355999987304]]], "type": "Polygon"}, "id": "242", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681797.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12535999987392, -84.49304300046434, 39.12585999987388], "geometry": {"coordinates": [[[-84.49394300046424, 39.12585999987388], [-84.49364300046426, 39.1257599998739], [-84.49304300046434, 39.1257599998739], [-84.49304300046434, 39.125359999873936], [-84.49404300046422, 39.12535999987392], [-84.49394300046424, 39.12585999987388]]], "type": "Polygon"}, "id": "243", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 10.0, "AGE_20_24": 2.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.83, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15526.3239, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 1.0, "ID": 701090.0, "IN_HOUSEHO": 23.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 23.0, "RENTER_SIZ": 3.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4943430004642, 39.12635999987383, -84.49354300046429, 39.12745999987376], "geometry": {"coordinates": [[[-84.4943430004642, 39.12635999987383], [-84.49424300046421, 39.12745999987374], [-84.4935430004643, 39.12745999987376], [-84.49354300046429, 39.12635999987383], [-84.4943430004642, 39.12635999987383]]], "type": "Polygon"}, "id": "244", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 23.0, "AGE_20_24": 1.0, "AGE_21": 20.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.86, "AVG_HHSIZE": 2.18, "BG": "390610035002", "BLACK": 37.0, "BLOCK": "390610035002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12110.4163, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 17.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 701109.0, "IN_HOUSEHO": 37.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12495999987399, -84.49154300046447, 39.125359999873936], "geometry": {"coordinates": [[[-84.49314300046431, 39.12505999987396], [-84.49304300046434, 39.125359999873936], [-84.49154300046447, 39.12525999987394], [-84.49164300046446, 39.12495999987399], [-84.49314300046431, 39.12505999987396]]], "type": "Polygon"}, "id": "245", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 7.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.0923, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 3.0, "ID": 701127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 20.0, "RENTER_SIZ": 6.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49364300046426, 39.1257599998739, -84.49224300046444, 39.12745999987376], "geometry": {"coordinates": [[[-84.49354300046429, 39.12635999987383], [-84.4935430004643, 39.12745999987376], [-84.49224300046444, 39.127359999873725], [-84.4924430004644, 39.125759999873914], [-84.49304300046434, 39.1257599998739], [-84.49364300046426, 39.1257599998739], [-84.49354300046429, 39.12635999987383]]], "type": "Polygon"}, "id": "246", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 6.0, "AGE_18": 46.0, "AGE_20_24": 1.0, "AGE_21": 45.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 6.0, "AGE_62": 11.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 3.14, "BG": "390610035002", "BLACK": 82.0, "BLOCK": "390610035002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11792.7438, "F1_RACE": 82.0, "F2_RACES": 6.0, "FEMALE": 49.0, "FEMALE_18": 26.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701144.0, "IN_HOUSEHO": 88.0, "MALE": 39.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 87.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 88.0, "RENTER_SIZ": 3.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49484300046416, 39.12745999987374, -84.49324300046433, 39.12935999987355], "geometry": {"coordinates": [[[-84.49484300046416, 39.12805999987366], [-84.49464300046418, 39.12935999987355], [-84.49324300046433, 39.12925999987357], [-84.4935430004643, 39.12745999987376], [-84.49424300046421, 39.12745999987374], [-84.49484300046416, 39.12745999987374], [-84.49484300046416, 39.12805999987366]]], "type": "Polygon"}, "id": "247", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 11.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 10.0, "AGE_45_54": 19.0, "AGE_55_59": 3.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 89.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.33, "BG": "390610035002", "BLACK": 89.0, "BLOCK": "390610035002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10507.1558, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 35.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 701164.0, "IN_HOUSEHO": 100.0, "MALE": 48.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 31.4, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 100.0, "RENTER_SIZ": 2.26, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 11.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4935430004643, 39.127359999873725, -84.49214300046445, 39.12925999987357], "geometry": {"coordinates": [[[-84.4935430004643, 39.12745999987376], [-84.49324300046433, 39.12925999987357], [-84.49214300046445, 39.12915999987361], [-84.49224300046444, 39.127359999873725], [-84.4935430004643, 39.12745999987376]]], "type": "Polygon"}, "id": "248", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 18.0, "AGE_15_19": 20.0, "AGE_18": 94.0, "AGE_20_24": 6.0, "AGE_21": 83.0, "AGE_25_34": 8.0, "AGE_35_44": 29.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 17.0, "AGE_60_64": 5.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 10.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 149.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.68, "BG": "390610035002", "BLACK": 146.0, "BLOCK": "390610035002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18951.907, "F1_RACE": 150.0, "F2_RACES": 3.0, "FEMALE": 82.0, "FEMALE_18": 55.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 61.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 4.0, "ID": 701184.0, "IN_HOUSEHO": 153.0, "MALE": 71.0, "MALE_18": 39.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 153.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.46, "POPULATION": 153.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4953430004641, 39.12935999987355, -84.4936430004643, 39.13235999987328], "geometry": {"coordinates": [[[-84.4953430004641, 39.12935999987355], [-84.4946430004642, 39.13085999987343], [-84.49394300046428, 39.13235999987328], [-84.4936430004643, 39.13235999987327], [-84.49394300046427, 39.13115999987341], [-84.49464300046418, 39.12935999987355], [-84.4953430004641, 39.12935999987355]]], "type": "Polygon"}, "id": "249", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701201.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.496243000464, 39.129359999873536, -84.49394300046428, 39.13255999987326], "geometry": {"coordinates": [[[-84.4946430004642, 39.13085999987343], [-84.4953430004641, 39.12935999987355], [-84.49564300046407, 39.129359999873536], [-84.496243000464, 39.129459999873546], [-84.49614300046402, 39.13055999987345], [-84.49604300046406, 39.13185999987332], [-84.49574300046409, 39.13255999987324], [-84.49484300046419, 39.13255999987326], [-84.49394300046428, 39.13235999987328], [-84.4946430004642, 39.13085999987343]]], "type": "Polygon"}, "id": "250", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 0.0, "AGE_21": 17.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.22, "BG": "390610034001", "BLACK": 18.0, "BLOCK": "390610034001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1162.7336, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 701221.0, "IN_HOUSEHO": 20.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.0, "POPULATION": 20.0, "RENTER_SIZ": 2.38, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12935999987355, -84.49294300046438, 39.13115999987341], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49394300046427, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49294300046438, 39.13115999987341], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "251", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610035002", "BLACK": 8.0, "BLOCK": "390610035002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2400.4034, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 701243.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 8.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12915999987361, -84.49184300046453, 39.1322599998733], "geometry": {"coordinates": [[[-84.49284300046439, 39.1322599998733], [-84.49184300046453, 39.13215999987331], [-84.49204300046448, 39.129759999873535], [-84.49214300046445, 39.12915999987361], [-84.49324300046433, 39.12925999987357], [-84.49464300046418, 39.12935999987355], [-84.49294300046438, 39.13115999987341], [-84.49284300046439, 39.1322599998733]]], "type": "Polygon"}, "id": "252", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 32.0, "AGE_20_24": 10.0, "AGE_21": 19.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.26, "AVG_HHSIZE": 2.16, "BG": "390610035002", "BLACK": 54.0, "BLOCK": "390610035002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3226.1536, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701260.0, "IN_HOUSEHO": 54.0, "MALE": 15.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 54.0, "RENTER_SIZ": 2.16, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49394300046427, 39.13115999987341, -84.49284300046439, 39.13235999987327], "geometry": {"coordinates": [[[-84.49394300046427, 39.13115999987341], [-84.4936430004643, 39.13235999987327], [-84.49284300046439, 39.1322599998733], [-84.49294300046438, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49394300046427, 39.13115999987341]]], "type": "Polygon"}, "id": "253", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701281.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.5012430004635, 39.132359999873266, -84.49894300046375, 39.13485999987302], "geometry": {"coordinates": [[[-84.5012430004635, 39.13285999987319], [-84.50094300046354, 39.134859999873], [-84.50054300046358, 39.13485999987302], [-84.49894300046375, 39.13475999987305], [-84.49913700046373, 39.13443699987308], [-84.49954300046369, 39.13375999987313], [-84.49954300046369, 39.133259999873175], [-84.49964300046366, 39.13265999987324], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13285999987319]]], "type": "Polygon"}, "id": "254", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 53.0, "AGE_20_24": 3.0, "AGE_21": 53.0, "AGE_25_34": 18.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 60.0, "BLOCK": "390610034002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4672.8118, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 5.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 6.0, "ID": 701300.0, "IN_HOUSEHO": 63.0, "MALE": 36.0, "MALE_18": 27.0, "MALE_65": 7.0, "MEDIAN_AGE": 33.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 68.0, "RENTER_SIZ": 1.7, "THEFT": 13, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 6.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50094300046354, 39.13465999987304, -84.49844300046382, 39.138359999872684], "geometry": {"coordinates": [[[-84.50084300046358, 39.13635999987288], [-84.5006430004636, 39.138359999872684], [-84.49844300046384, 39.13815999987272], [-84.49844300046382, 39.13735999987279], [-84.4986430004638, 39.135759999872946], [-84.49874300046378, 39.13465999987304], [-84.49894300046375, 39.13475999987305], [-84.50054300046358, 39.13485999987302], [-84.50094300046354, 39.134859999873], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.135659999872956], [-84.50084300046358, 39.13635999987288]]], "type": "Polygon"}, "id": "255", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701323.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49964300046366, 39.13265999987324, -84.496838000464, 39.13475999987305], "geometry": {"coordinates": [[[-84.49964300046366, 39.13265999987324], [-84.49954300046369, 39.133259999873175], [-84.49954300046369, 39.13375999987313], [-84.49913700046373, 39.13443699987308], [-84.49894300046375, 39.13475999987305], [-84.49874300046378, 39.13465999987304], [-84.4976430004639, 39.13455999987308], [-84.496838000464, 39.13456299987309], [-84.49684300046397, 39.13435999987308], [-84.49704300046395, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49794300046385, 39.13265999987325], [-84.49964300046366, 39.13265999987324]]], "type": "Polygon"}, "id": "256", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701347.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49704300046395, 39.13255999987324, -84.49604300046407, 39.13435999987308], "geometry": {"coordinates": [[[-84.49704300046395, 39.13265999987325], [-84.49684300046397, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49624300046402, 39.13255999987324], [-84.49704300046395, 39.13265999987325]]], "type": "Polygon"}, "id": "257", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.13, "BG": "390610034001", "BLACK": 17.0, "BLOCK": "390610034001009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3255.9625, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 701373.0, "IN_HOUSEHO": 17.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49874300046378, 39.13455999987308, -84.4960430004641, 39.13735999987279], "geometry": {"coordinates": [[[-84.49874300046378, 39.13465999987304], [-84.4986430004638, 39.135759999872946], [-84.49844300046382, 39.13735999987279], [-84.4960430004641, 39.137259999872825], [-84.4960430004641, 39.137059999872825], [-84.496743000464, 39.13565999987297], [-84.496743000464, 39.13475999987305], [-84.496838000464, 39.13456299987309], [-84.4976430004639, 39.13455999987308], [-84.49874300046378, 39.13465999987304]]], "type": "Polygon"}, "id": "258", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 2.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 36.0, "AGE_25_34": 3.0, "AGE_35_44": 14.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 50.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.38, "BG": "390610034002", "BLACK": 50.0, "BLOCK": "390610034002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2352.8122, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 5.0, "ID": 701390.0, "IN_HOUSEHO": 50.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.43, "POPULATION": 50.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5006430004636, 39.13815999987272, -84.49834300046383, 39.13945999987261], "geometry": {"coordinates": [[[-84.5006430004636, 39.138359999872684], [-84.50054300046362, 39.13935999987259], [-84.49834300046383, 39.13945999987261], [-84.49834300046383, 39.13885999987267], [-84.49844300046384, 39.13815999987272], [-84.5006430004636, 39.138359999872684]]], "type": "Polygon"}, "id": "259", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 6.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.44, "AVG_HHSIZE": 1.61, "BG": "390610067002", "BLACK": 24.0, "BLOCK": "390610067002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3895.8118, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 1.0, "ID": 701413.0, "IN_HOUSEHO": 37.0, "MALE": 18.0, "MALE_18": 17.0, "MALE_65": 1.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 37.0, "RENTER_SIZ": 1.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50054300046362, 39.13935999987259, -84.49824300046387, 39.1406599998725], "geometry": {"coordinates": [[[-84.50054300046362, 39.13935999987259], [-84.50054300046362, 39.139659999872585], [-84.50034300046366, 39.1406599998725], [-84.49824300046387, 39.1406599998725], [-84.49834300046385, 39.140159999872544], [-84.49834300046383, 39.13945999987261], [-84.50054300046362, 39.13935999987259]]], "type": "Polygon"}, "id": "260", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 17.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 28.0, "AGE_60_64": 1.0, "AGE_62": 16.0, "AGE_65": 15.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 121.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.77, "AVG_HHSIZE": 3.54, "BG": "390610067002", "BLACK": 120.0, "BLOCK": "390610067002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12519.5291, "F1_RACE": 123.0, "F2_RACES": 1.0, "FEMALE": 72.0, "FEMALE_18": 37.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 8.0, "ID": 701432.0, "IN_HOUSEHO": 124.0, "MALE": 52.0, "MALE_18": 23.0, "MALE_65": 5.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 124.0, "RENTER_SIZ": 3.91, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50034300046366, 39.1406599998725, -84.49814300046388, 39.1416599998724], "geometry": {"coordinates": [[[-84.50024300046367, 39.1416599998724], [-84.49974300046372, 39.141559999872406], [-84.49984300046371, 39.14125999987244], [-84.49884300046381, 39.14125999987244], [-84.49884300046381, 39.141559999872406], [-84.49814300046388, 39.14155999987243], [-84.49824300046387, 39.1406599998725], [-84.50034300046366, 39.1406599998725], [-84.50024300046367, 39.1416599998724]]], "type": "Polygon"}, "id": "261", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 15.0, "AGE_15_19": 3.0, "AGE_18": 67.0, "AGE_20_24": 6.0, "AGE_21": 64.0, "AGE_25_34": 15.0, "AGE_35_44": 19.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 11.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.2, "BG": "390610067003", "BLACK": 94.0, "BLOCK": "390610067003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16353.6988, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 17.0, "ID": 701450.0, "IN_HOUSEHO": 99.0, "MALE": 47.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 99.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.13805999987273, -84.49654300046404, 39.13885999987267], "geometry": {"coordinates": [[[-84.49844300046384, 39.13815999987272], [-84.49834300046383, 39.13885999987267], [-84.49654300046404, 39.13875999987268], [-84.49654300046404, 39.13805999987273], [-84.49844300046384, 39.13815999987272]]], "type": "Polygon"}, "id": "262", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 32.0, "AGE_20_24": 5.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 5.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.0, "BG": "390610067002", "BLACK": 46.0, "BLOCK": "390610067002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9971.922, "F1_RACE": 46.0, "F2_RACES": 2.0, "FEMALE": 28.0, "FEMALE_18": 19.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 14.0, "ID": 701470.0, "IN_HOUSEHO": 48.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 48.0, "RENTER_SIZ": 2.19, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.137259999872825, -84.49544300046415, 39.13815999987272], "geometry": {"coordinates": [[[-84.49844300046382, 39.13735999987279], [-84.49844300046384, 39.13815999987272], [-84.49654300046404, 39.13805999987273], [-84.49544300046415, 39.13795999987277], [-84.4960430004641, 39.137259999872825], [-84.49844300046382, 39.13735999987279]]], "type": "Polygon"}, "id": "263", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 9.0, "AGE_15_19": 4.0, "AGE_18": 42.0, "AGE_20_24": 4.0, "AGE_21": 38.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 12.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.11, "BG": "390610034002", "BLACK": 52.0, "BLOCK": "390610034002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7551.7359, "F1_RACE": 54.0, "F2_RACES": 5.0, "FEMALE": 28.0, "FEMALE_18": 23.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701488.0, "IN_HOUSEHO": 59.0, "MALE": 31.0, "MALE_18": 19.0, "MALE_65": 3.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 59.0, "RENTER_SIZ": 1.63, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.140159999872544, -84.49664300046405, 39.14235999987234], "geometry": {"coordinates": [[[-84.49814300046388, 39.14155999987243], [-84.4981430004639, 39.14235999987234], [-84.49664300046405, 39.14235999987234], [-84.49684300046403, 39.141159999872464], [-84.49674300046404, 39.140759999872486], [-84.49674300046402, 39.14015999987255], [-84.49834300046385, 39.140159999872544], [-84.49824300046387, 39.1406599998725], [-84.49814300046388, 39.14155999987243]]], "type": "Polygon"}, "id": "264", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 5.0, "AGE_15_19": 16.0, "AGE_18": 144.0, "AGE_20_24": 23.0, "AGE_21": 125.0, "AGE_25_34": 16.0, "AGE_35_44": 33.0, "AGE_45_54": 24.0, "AGE_55_59": 10.0, "AGE_5_9": 21.0, "AGE_60_64": 9.0, "AGE_62": 26.0, "AGE_65": 20.0, "AGE_65_74": 15.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 197.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.03, "BG": "390610067004", "BLACK": 197.0, "BLOCK": "390610067004006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17071.3195, "F1_RACE": 201.0, "F2_RACES": 0.0, "FEMALE": 112.0, "FEMALE_18": 76.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 55.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 14.0, "ID": 701506.0, "IN_HOUSEHO": 201.0, "MALE": 89.0, "MALE_18": 68.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 201.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 84.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 201.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49624300046402, 39.13255999987324, -84.49464300046422, 39.13435999987308], "geometry": {"coordinates": [[[-84.49624300046402, 39.13255999987324], [-84.49604300046407, 39.13435999987308], [-84.49464300046422, 39.13435999987308], [-84.49484300046419, 39.13255999987326], [-84.49574300046409, 39.13255999987324], [-84.49624300046402, 39.13255999987324]]], "type": "Polygon"}, "id": "265", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 1.0, "AGE_21": 49.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 5.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.92, "BG": "390610034001", "BLACK": 67.0, "BLOCK": "390610034001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7394.32, "F1_RACE": 67.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 19.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 10.0, "ID": 701526.0, "IN_HOUSEHO": 69.0, "MALE": 39.0, "MALE_18": 32.0, "MALE_65": 4.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 69.0, "RENTER_SIZ": 1.79, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.496838000464, 39.13456299987309, -84.49564300046411, 39.13565999987297], "geometry": {"coordinates": [[[-84.496743000464, 39.13565999987297], [-84.49564300046411, 39.13565999987297], [-84.49574600046411, 39.13456799987306], [-84.49603300046407, 39.13456699987308], [-84.496838000464, 39.13456299987309], [-84.496743000464, 39.13475999987305], [-84.496743000464, 39.13565999987297]]], "type": "Polygon"}, "id": "266", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.17, "AVG_HHSIZE": 3.22, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13544.9492, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 18.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 701545.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 58.0, "RENTER_SIZ": 3.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49684300046397, 39.134259999873116, -84.49354300046434, 39.13456799987306], "geometry": {"coordinates": [[[-84.49684300046397, 39.13435999987308], [-84.496838000464, 39.13456299987309], [-84.49603300046407, 39.13456699987308], [-84.49574600046411, 39.13456799987306], [-84.4949400004642, 39.13446999987309], [-84.49474300046421, 39.13445999987308], [-84.49354300046434, 39.134459999873094], [-84.49354300046434, 39.134259999873116], [-84.49464300046422, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49684300046397, 39.13435999987308]]], "type": "Polygon"}, "id": "267", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701563.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49574600046411, 39.13446999987309, -84.49474300046423, 39.13565999987297], "geometry": {"coordinates": [[[-84.49574600046411, 39.13456799987306], [-84.49564300046411, 39.13565999987297], [-84.49474300046423, 39.13555999987299], [-84.49494300046419, 39.134559999873105], [-84.4949400004642, 39.13446999987309], [-84.49574600046411, 39.13456799987306]]], "type": "Polygon"}, "id": "268", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610034001", "BLACK": 59.0, "BLOCK": "390610034001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17330.8057, "F1_RACE": 59.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701585.0, "IN_HOUSEHO": 60.0, "MALE": 29.0, "MALE_18": 15.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 60.0, "RENTER_SIZ": 2.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.496743000464, 39.13445999987308, -84.49354300046434, 39.137059999872825], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.49514300046418, 39.13685999987286], [-84.49374300046433, 39.136759999872865], [-84.49354300046434, 39.134459999873094], [-84.49474300046421, 39.13445999987308], [-84.4949400004642, 39.13446999987309], [-84.49494300046419, 39.134559999873105], [-84.49474300046423, 39.13555999987299], [-84.49564300046411, 39.13565999987297], [-84.496743000464, 39.13565999987297], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "269", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 12.0, "AGE_15_19": 13.0, "AGE_18": 93.0, "AGE_20_24": 11.0, "AGE_21": 87.0, "AGE_25_34": 14.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 5.0, "AGE_62": 21.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.07, "AVG_HHSIZE": 2.17, "BG": "390610034001", "BLACK": 123.0, "BLOCK": "390610034001001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7107.1126, "F1_RACE": 125.0, "F2_RACES": 3.0, "FEMALE": 80.0, "FEMALE_18": 59.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 15.0, "ID": 701604.0, "IN_HOUSEHO": 128.0, "MALE": 48.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 128.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 128.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49484300046419, 39.13235999987328, -84.49294300046441, 39.134459999873094], "geometry": {"coordinates": [[[-84.49464300046422, 39.13435999987308], [-84.49354300046434, 39.134259999873116], [-84.49354300046434, 39.134459999873094], [-84.49294300046441, 39.134459999873094], [-84.49394300046428, 39.13235999987328], [-84.49484300046419, 39.13255999987326], [-84.49464300046422, 39.13435999987308]]], "type": "Polygon"}, "id": "270", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.67, "BG": "390610034001", "BLACK": 16.0, "BLOCK": "390610034001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1738.7833, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 2.0, "ID": 701626.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 16.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49394300046428, 39.1322599998733, -84.49234300046446, 39.134459999873094], "geometry": {"coordinates": [[[-84.49394300046428, 39.13235999987328], [-84.49294300046441, 39.134459999873094], [-84.49234300046446, 39.13435999987311], [-84.49244300046446, 39.13415999987311], [-84.49284300046439, 39.1322599998733], [-84.4936430004643, 39.13235999987327], [-84.49394300046428, 39.13235999987328]]], "type": "Polygon"}, "id": "271", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701646.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49374300046433, 39.134459999873094, -84.49221400046447, 39.13675999987287], "geometry": {"coordinates": [[[-84.49354300046434, 39.134459999873094], [-84.49374300046433, 39.136759999872865], [-84.49234300046447, 39.13675999987287], [-84.49224300046448, 39.135659999872985], [-84.49221400046447, 39.135337999873], [-84.49244300046446, 39.135159999873025], [-84.49294300046441, 39.134459999873094], [-84.49354300046434, 39.134459999873094]]], "type": "Polygon"}, "id": "272", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 7.0, "AGE_18": 40.0, "AGE_20_24": 4.0, "AGE_21": 35.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.15, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5326.181, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 701665.0, "IN_HOUSEHO": 56.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 56.0, "RENTER_SIZ": 2.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49654300046404, 39.13795999987277, -84.4949430004642, 39.13875999987268], "geometry": {"coordinates": [[[-84.49654300046404, 39.13805999987273], [-84.49654300046404, 39.13875999987268], [-84.4949430004642, 39.13855999987269], [-84.49524300046419, 39.13825999987273], [-84.49544300046415, 39.13795999987277], [-84.49654300046404, 39.13805999987273]]], "type": "Polygon"}, "id": "273", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 3.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.29, "BG": "390610067002", "BLACK": 37.0, "BLOCK": "390610067002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11703.1123, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 5.0, "ID": 701685.0, "IN_HOUSEHO": 39.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.67, "POPULATION": 39.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.13855999987269, -84.49354300046437, 39.14015999987255], "geometry": {"coordinates": [[[-84.49834300046383, 39.13945999987261], [-84.49834300046385, 39.140159999872544], [-84.49674300046402, 39.14015999987255], [-84.49354300046437, 39.13995999987257], [-84.49444300046427, 39.139159999872646], [-84.4949430004642, 39.13855999987269], [-84.49654300046404, 39.13875999987268], [-84.49834300046383, 39.13885999987267], [-84.49834300046383, 39.13945999987261]]], "type": "Polygon"}, "id": "274", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 21.0, "AGE_15_19": 17.0, "AGE_18": 206.0, "AGE_20_24": 14.0, "AGE_21": 196.0, "AGE_25_34": 31.0, "AGE_35_44": 58.0, "AGE_45_54": 40.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 10.0, "AGE_62": 40.0, "AGE_65": 36.0, "AGE_65_74": 25.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 264.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.28, "BG": "390610067002", "BLACK": 264.0, "BLOCK": "390610067002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13219.4943, "F1_RACE": 279.0, "F2_RACES": 0.0, "FEMALE": 145.0, "FEMALE_18": 105.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 59.0, "HH_NONFAMI": 61.0, "HOUSEHOLDS": 120.0, "HSNG_UNITS": 139.0, "HU_OCCUPIE": 120.0, "HU_VACANT": 19.0, "ID": 701704.0, "IN_HOUSEHO": 274.0, "MALE": 134.0, "MALE_18": 101.0, "MALE_65": 15.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 277.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 90.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 279.0, "RENTER_SIZ": 2.11, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 14.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50714300046275, 39.11655999987471, -84.50604300046285, 39.117459999874605], "geometry": {"coordinates": [[[-84.50704300046277, 39.117459999874605], [-84.50604300046285, 39.11735999987464], [-84.50614300046284, 39.11655999987471], [-84.50714300046275, 39.11655999987471], [-84.50704300046277, 39.117459999874605]]], "type": "Polygon"}, "id": "275", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 26.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.95, "BG": "390610018002", "BLACK": 33.0, "BLOCK": "390610018002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11683.7506, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 13.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 666949.0, "IN_HOUSEHO": 37.0, "MALE": 19.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 37.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50604300046285, 39.11735999987464, -84.50464300046302, 39.118059999874546], "geometry": {"coordinates": [[[-84.50604300046285, 39.11735999987464], [-84.50594300046288, 39.118059999874546], [-84.50464300046302, 39.117959999874564], [-84.50464300046302, 39.11735999987464], [-84.50604300046285, 39.11735999987464]]], "type": "Polygon"}, "id": "276", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 34.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12886.0003, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 666966.0, "IN_HOUSEHO": 42.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 49.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50614300046284, 39.116359999874724, -84.50354300046313, 39.11735999987465], "geometry": {"coordinates": [[[-84.50614300046284, 39.11655999987471], [-84.50604300046285, 39.11735999987464], [-84.50464300046302, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50354300046313, 39.116359999874724], [-84.50614300046284, 39.11655999987471]]], "type": "Polygon"}, "id": "277", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 0.0, "AGE_21": 45.0, "AGE_25_34": 7.0, "AGE_35_44": 10.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.96, "BG": "390610018003", "BLACK": 52.0, "BLOCK": "390610018003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6504.3475, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 666984.0, "IN_HOUSEHO": 53.0, "MALE": 28.0, "MALE_18": 23.0, "MALE_65": 3.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 53.0, "RENTER_SIZ": 2.13, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50844300046265, 39.11735999987464, -84.50344300046316, 39.121459999874226], "geometry": {"coordinates": [[[-84.50444300046306, 39.120559999874324], [-84.50344300046316, 39.120459999874356], [-84.50374300046313, 39.11735999987465], [-84.50464300046302, 39.11735999987464], [-84.50464300046302, 39.117959999874564], [-84.50594300046288, 39.118059999874546], [-84.50574300046291, 39.11965999987443], [-84.50844300046263, 39.11985999987439], [-84.50844300046265, 39.120459999874335], [-84.50834300046266, 39.121459999874226], [-84.50564300046294, 39.121359999874265], [-84.50444300046307, 39.121259999874276], [-84.50444300046306, 39.120559999874324]]], "type": "Polygon"}, "id": "278", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 24.0, "AGE_15_19": 22.0, "AGE_18": 246.0, "AGE_20_24": 22.0, "AGE_21": 234.0, "AGE_25_34": 57.0, "AGE_35_44": 53.0, "AGE_45_54": 47.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 38.0, "AGE_65_74": 19.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 3.0, "AP_BLACK": 292.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 5.0, "AP_WHITE": 29.0, "AREA": 0.04, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.05, "AVG_HHSIZE": 2.2, "BG": "390610022002", "BLACK": 283.0, "BLOCK": "390610022002003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7480.1601, "F1_RACE": 313.0, "F2_RACES": 11.0, "FEMALE": 171.0, "FEMALE_18": 131.0, "FEMALE_65": 26.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 75.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 147.0, "HSNG_UNITS": 207.0, "HU_OCCUPIE": 147.0, "HU_VACANT": 60.0, "ID": 667002.0, "IN_HOUSEHO": 324.0, "MALE": 153.0, "MALE_18": 115.0, "MALE_65": 12.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 321.0, "OCCHU_OWNE": 47.0, "OCCHU_RENT": 100.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.77, "POPULATION": 324.0, "RENTER_SIZ": 1.94, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 25.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50834300046266, 39.121359999874265, -84.50564300046294, 39.12195999987419], "geometry": {"coordinates": [[[-84.50834300046266, 39.121459999874226], [-84.50834300046266, 39.12195999987419], [-84.50564300046294, 39.12175999987422], [-84.50564300046294, 39.121359999874265], [-84.50834300046266, 39.121459999874226]]], "type": "Polygon"}, "id": "279", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 61.0, "AGE_20_24": 8.0, "AGE_21": 60.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.31, "AVG_HHSIZE": 1.93, "BG": "390610022002", "BLACK": 61.0, "BLOCK": "390610022002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18000.5453, "F1_RACE": 78.0, "F2_RACES": 3.0, "FEMALE": 44.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 12.0, "ID": 667029.0, "IN_HOUSEHO": 81.0, "MALE": 37.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 31.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 81.0, "RENTER_SIZ": 1.81, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12265999987413, -84.5043430004631, 39.124259999874], "geometry": {"coordinates": [[[-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12425999987398], [-84.50474300046305, 39.124259999874], [-84.5043430004631, 39.124159999874], [-84.50444300046308, 39.12355999987404], [-84.50664300046284, 39.12355999987404], [-84.50664300046284, 39.12275999987412], [-84.50834300046267, 39.12265999987413], [-84.50834300046267, 39.123959999873996]]], "type": "Polygon"}, "id": "280", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 11.0, "AGE_18": 152.0, "AGE_20_24": 15.0, "AGE_21": 141.0, "AGE_25_34": 41.0, "AGE_35_44": 38.0, "AGE_45_54": 23.0, "AGE_55_59": 7.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 170.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 22.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.07, "BG": "390610022003", "BLACK": 167.0, "BLOCK": "390610022003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12551.3346, "F1_RACE": 192.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 80.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 41.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 94.0, "HSNG_UNITS": 111.0, "HU_OCCUPIE": 94.0, "HU_VACANT": 17.0, "ID": 667045.0, "IN_HOUSEHO": 195.0, "MALE": 101.0, "MALE_18": 72.0, "MALE_65": 5.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.97, "POPULATION": 195.0, "RENTER_SIZ": 1.68, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 21.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12425999987398, -84.50474300046305, 39.12555999987385], "geometry": {"coordinates": [[[-84.50834300046267, 39.12505999987389], [-84.50824300046268, 39.12555999987385], [-84.50674300046285, 39.125459999873875], [-84.50604300046291, 39.125059999873905], [-84.50564300046297, 39.12495999987392], [-84.50474300046305, 39.12495999987392], [-84.50474300046305, 39.124259999874], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.12505999987389]]], "type": "Polygon"}, "id": "281", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 18.0, "AGE_18": 145.0, "AGE_20_24": 32.0, "AGE_21": 126.0, "AGE_25_34": 39.0, "AGE_35_44": 30.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 49.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610022004", "BLACK": 128.0, "BLOCK": "390610022004004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13388.9258, "F1_RACE": 179.0, "F2_RACES": 0.0, "FEMALE": 101.0, "FEMALE_18": 80.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 62.0, "HOUSEHOLDS": 93.0, "HSNG_UNITS": 104.0, "HU_OCCUPIE": 93.0, "HU_VACANT": 11.0, "ID": 667067.0, "IN_HOUSEHO": 179.0, "MALE": 78.0, "MALE_18": 65.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.1, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 177.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.76, "POPULATION": 179.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 49.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.121259999874276, -84.5042430004631, 39.12275999987412], "geometry": {"coordinates": [[[-84.50834300046266, 39.12195999987419], [-84.50834300046267, 39.12265999987413], [-84.50664300046284, 39.12275999987412], [-84.5042430004631, 39.12255999987417], [-84.50444300046307, 39.121259999874276], [-84.50564300046294, 39.121359999874265], [-84.50564300046294, 39.12175999987422], [-84.50834300046266, 39.12195999987419]]], "type": "Polygon"}, "id": "282", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 23.0, "AGE_18": 141.0, "AGE_20_24": 13.0, "AGE_21": 128.0, "AGE_25_34": 32.0, "AGE_35_44": 36.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 22.0, "AGE_60_64": 10.0, "AGE_62": 17.0, "AGE_65": 12.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 1.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.41, "BG": "390610022002", "BLACK": 180.0, "BLOCK": "390610022002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13920.8235, "F1_RACE": 198.0, "F2_RACES": 9.0, "FEMALE": 108.0, "FEMALE_18": 75.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 27.0, "ID": 667087.0, "IN_HOUSEHO": 207.0, "MALE": 99.0, "MALE_18": 66.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 71.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 207.0, "RENTER_SIZ": 2.38, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50664300046284, 39.12255999987417, -84.50414300046312, 39.12355999987404], "geometry": {"coordinates": [[[-84.50664300046284, 39.12275999987412], [-84.50664300046284, 39.12355999987404], [-84.50444300046308, 39.12355999987404], [-84.50414300046312, 39.12345999987407], [-84.5042430004631, 39.12255999987417], [-84.50664300046284, 39.12275999987412]]], "type": "Polygon"}, "id": "283", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 87.0, "AGE_20_24": 9.0, "AGE_21": 80.0, "AGE_25_34": 14.0, "AGE_35_44": 19.0, "AGE_45_54": 24.0, "AGE_55_59": 3.0, "AGE_5_9": 12.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.38, "BG": "390610022003", "BLACK": 115.0, "BLOCK": "390610022003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7854, "F1_RACE": 121.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 54.0, "FEMALE_65": 9.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 7.0, "ID": 667107.0, "IN_HOUSEHO": 112.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 4.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.14, "POPULATION": 121.0, "RENTER_SIZ": 2.58, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50374300046313, 39.11735999987464, -84.50244300046329, 39.120459999874356], "geometry": {"coordinates": [[[-84.50344300046316, 39.120459999874356], [-84.50244300046329, 39.12035999987436], [-84.50274300046323, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50344300046316, 39.120459999874356]]], "type": "Polygon"}, "id": "284", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 10.0, "AGE_15_19": 6.0, "AGE_18": 133.0, "AGE_20_24": 15.0, "AGE_21": 128.0, "AGE_25_34": 22.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 9.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 16.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.29, "BG": "390610022001", "BLACK": 160.0, "BLOCK": "390610022001005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14534.9531, "F1_RACE": 165.0, "F2_RACES": 0.0, "FEMALE": 88.0, "FEMALE_18": 73.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 37.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 12.0, "ID": 667125.0, "IN_HOUSEHO": 165.0, "MALE": 77.0, "MALE_18": 60.0, "MALE_65": 10.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 32.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.55, "POPULATION": 165.0, "RENTER_SIZ": 1.97, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 5.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50274300046323, 39.11735999987464, -84.49994300046355, 39.12235999987418], "geometry": {"coordinates": [[[-84.50244300046329, 39.12035999987436], [-84.50224300046331, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50114300046343, 39.12235999987418], [-84.50081300046347, 39.121369999874275], [-84.50074300046347, 39.12115999987429], [-84.49994300046355, 39.11945999987446], [-84.5001430004635, 39.117559999874615], [-84.50174300046334, 39.117459999874605], [-84.50274300046323, 39.11735999987464], [-84.50244300046329, 39.12035999987436]]], "type": "Polygon"}, "id": "285", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 38.0, "AGE_15_19": 34.0, "AGE_18": 244.0, "AGE_20_24": 22.0, "AGE_21": 227.0, "AGE_25_34": 44.0, "AGE_35_44": 49.0, "AGE_45_54": 62.0, "AGE_55_59": 12.0, "AGE_5_9": 29.0, "AGE_60_64": 10.0, "AGE_62": 41.0, "AGE_65": 36.0, "AGE_65_74": 16.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 343.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 2.89, "BG": "390610022001", "BLACK": 343.0, "BLOCK": "390610022001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9208.6985, "F1_RACE": 353.0, "F2_RACES": 0.0, "FEMALE": 199.0, "FEMALE_18": 142.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 43.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 133.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 11.0, "ID": 667143.0, "IN_HOUSEHO": 353.0, "MALE": 154.0, "MALE_18": 102.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 63.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.51, "POPULATION": 353.0, "RENTER_SIZ": 2.24, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50444300046307, 39.120459999874356, -84.50324300046321, 39.12255999987417], "geometry": {"coordinates": [[[-84.50444300046307, 39.121259999874276], [-84.5042430004631, 39.12255999987417], [-84.50324300046321, 39.12245999987417], [-84.50344300046316, 39.120459999874356], [-84.50444300046306, 39.120559999874324], [-84.50444300046307, 39.121259999874276]]], "type": "Polygon"}, "id": "286", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 57.0, "AGE_20_24": 4.0, "AGE_21": 56.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 12.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.68, "AVG_HHSIZE": 2.16, "BG": "390610022002", "BLACK": 60.0, "BLOCK": "390610022002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8655.7543, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 10.0, "ID": 667166.0, "IN_HOUSEHO": 67.0, "MALE": 33.0, "MALE_18": 28.0, "MALE_65": 10.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.56, "POPULATION": 67.0, "RENTER_SIZ": 1.62, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50344300046316, 39.12035999987436, -84.50224300046331, 39.12245999987417], "geometry": {"coordinates": [[[-84.50324300046321, 39.12245999987417], [-84.50224300046331, 39.12235999987418], [-84.50244300046329, 39.12035999987436], [-84.50344300046316, 39.120459999874356], [-84.50324300046321, 39.12245999987417]]], "type": "Polygon"}, "id": "287", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 3.0, "AGE_18": 69.0, "AGE_20_24": 4.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 12.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 0.0, "AGE_62": 19.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.56, "BG": "390610022001", "BLACK": 87.0, "BLOCK": "390610022001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13366.7012, "F1_RACE": 99.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 35.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 45.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 6.0, "ID": 667185.0, "IN_HOUSEHO": 100.0, "MALE": 49.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.22, "POPULATION": 100.0, "RENTER_SIZ": 2.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 9.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50324300046321, 39.12235999987418, -84.50214300046333, 39.12345999987407], "geometry": {"coordinates": [[[-84.50314300046323, 39.12345999987407], [-84.50214300046333, 39.12335999987408], [-84.50224300046331, 39.12235999987418], [-84.50324300046321, 39.12245999987417], [-84.50314300046323, 39.12345999987407]]], "type": "Polygon"}, "id": "288", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 52.0, "AGE_20_24": 5.0, "AGE_21": 50.0, "AGE_25_34": 14.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.68, "BG": "390610022003", "BLACK": 63.0, "BLOCK": "390610022003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17911.7113, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 8.0, "ID": 667202.0, "IN_HOUSEHO": 67.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 67.0, "RENTER_SIZ": 1.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5042430004631, 39.12245999987417, -84.50314300046323, 39.12345999987407], "geometry": {"coordinates": [[[-84.5042430004631, 39.12255999987417], [-84.50414300046312, 39.12345999987407], [-84.50314300046323, 39.12345999987407], [-84.50324300046321, 39.12245999987417], [-84.5042430004631, 39.12255999987417]]], "type": "Polygon"}, "id": "289", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 0.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.0, "BG": "390610022003", "BLACK": 33.0, "BLOCK": "390610022003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12440.3687, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 8.0, "ID": 667220.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.7, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 44.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 11.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50444300046308, 39.12345999987407, -84.50314300046323, 39.124159999874], "geometry": {"coordinates": [[[-84.50444300046308, 39.12355999987404], [-84.5043430004631, 39.124159999874], [-84.50334300046322, 39.124159999873996], [-84.50314300046323, 39.12345999987407], [-84.50414300046312, 39.12345999987407], [-84.50444300046308, 39.12355999987404]]], "type": "Polygon"}, "id": "290", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 0.0, "AGE_18": 34.0, "AGE_20_24": 2.0, "AGE_21": 34.0, "AGE_25_34": 10.0, "AGE_35_44": 2.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 44.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.68, "BG": "390610022003", "BLACK": 44.0, "BLOCK": "390610022003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17321.771, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 21.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 667237.0, "IN_HOUSEHO": 51.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 51.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.124159999873996, -84.50334300046322, 39.12495999987392], "geometry": {"coordinates": [[[-84.50474300046305, 39.124259999874], [-84.50474300046305, 39.12495999987392], [-84.5034430004632, 39.12485999987395], [-84.50334300046322, 39.124159999873996], [-84.5043430004631, 39.124159999874], [-84.50474300046305, 39.124259999874]]], "type": "Polygon"}, "id": "291", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 3.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 18.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.75, "BG": "390610022004", "BLACK": 44.0, "BLOCK": "390610022004005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15001.0741, "F1_RACE": 51.0, "F2_RACES": 4.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 4.0, "ID": 667256.0, "IN_HOUSEHO": 55.0, "MALE": 22.0, "MALE_18": 13.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.9, "POPULATION": 55.0, "RENTER_SIZ": 2.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12335999987408, -84.50214300046333, 39.12485999987396], "geometry": {"coordinates": [[[-84.50334300046322, 39.124159999873996], [-84.5034430004632, 39.12485999987395], [-84.5025430004633, 39.12485999987396], [-84.5025430004633, 39.124259999874], [-84.50234300046331, 39.123959999874025], [-84.50214300046333, 39.12335999987408], [-84.50314300046323, 39.12345999987407], [-84.50334300046322, 39.124159999873996]]], "type": "Polygon"}, "id": "292", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 41.0, "AGE_20_24": 1.0, "AGE_21": 41.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 51.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.78, "AVG_HHSIZE": 1.65, "BG": "390610022003", "BLACK": 51.0, "BLOCK": "390610022003000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10552.4083, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 23.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 8.0, "ID": 667274.0, "IN_HOUSEHO": 51.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.64, "POPULATION": 51.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50224300046331, 39.12235999987418, -84.50114300046343, 39.12335999987408], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50114300046344, 39.12325999987408], [-84.50114300046343, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50224300046331, 39.12235999987418], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "293", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 9.0, "AGE_35_44": 21.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.67, "BG": "390610022001", "BLACK": 42.0, "BLOCK": "390610022001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7518, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 30.0, "FEMALE_65": 2.0, "GQ_INSTITU": 20.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 20.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 7.0, "ID": 667293.0, "IN_HOUSEHO": 35.0, "MALE": 23.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.75, "POPULATION": 55.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5025430004633, 39.12325999987408, -84.50114300046344, 39.12485999987396], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50234300046331, 39.123959999874025], [-84.5025430004633, 39.124259999874], [-84.5025430004633, 39.12485999987396], [-84.50174300046339, 39.12475999987396], [-84.50114300046344, 39.12325999987408], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "294", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 11.0, "AGE_20_24": 2.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.75, "BG": "390610022001", "BLACK": 13.0, "BLOCK": "390610022001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2913.8529, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 667312.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50174300046339, 39.12225999987419, -84.50014300046355, 39.12475999987396], "geometry": {"coordinates": [[[-84.50114300046344, 39.12325999987408], [-84.50174300046339, 39.12475999987396], [-84.50014300046355, 39.12465999987397], [-84.50034300046353, 39.12225999987419], [-84.50114300046343, 39.12235999987418], [-84.50114300046344, 39.12325999987408]]], "type": "Polygon"}, "id": "295", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667329.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50074300046342, 39.11275999987505, -84.49864300046367, 39.11755999987462], "geometry": {"coordinates": [[[-84.50074300046342, 39.11285999987504], [-84.50064300046343, 39.113159999875045], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.11375999987498], [-84.50044300046345, 39.114359999874935], [-84.49974300046355, 39.1169599998747], [-84.49964300046355, 39.11715999987465], [-84.49944300046359, 39.11755999987462], [-84.49884300046364, 39.11745999987464], [-84.49864300046367, 39.11715999987466], [-84.49895600046362, 39.11617399987476], [-84.49994300046352, 39.11355999987502], [-84.49994300046352, 39.11335999987502], [-84.50024300046346, 39.11275999987505], [-84.50074300046342, 39.11285999987504]]], "type": "Polygon"}, "id": "296", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002031", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667490.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49514300046425, 39.145659999872066, -84.49354300046444, 39.14845999987178], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.4948430004643, 39.14845999987178], [-84.49354300046444, 39.148259999871804], [-84.49384300046441, 39.14705999987192], [-84.49404300046436, 39.145659999872066], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "297", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 221.0, "AGE_20_24": 25.0, "AGE_21": 202.0, "AGE_25_34": 35.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 16.0, "AGE_5_9": 20.0, "AGE_60_64": 11.0, "AGE_62": 75.0, "AGE_65": 68.0, "AGE_65_74": 26.0, "AGE_75_84": 26.0, "AGE_85": 16.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 247.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 41.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 10, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.94, "BG": "390610068002", "BLACK": 243.0, "BLOCK": "390610068002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24438.1476, "F1_RACE": 280.0, "F2_RACES": 5.0, "FEMALE": 161.0, "FEMALE_18": 134.0, "FEMALE_65": 47.0, "GQ_INSTITU": 72.0, "GQ_NONINST": 23.0, "GROUP_QUAR": 95.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 98.0, "HSNG_UNITS": 117.0, "HU_OCCUPIE": 98.0, "HU_VACANT": 19.0, "ID": 705132.0, "IN_HOUSEHO": 190.0, "MALE": 124.0, "MALE_18": 87.0, "MALE_65": 21.0, "MEDIAN_AGE": 37.8, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 285.0, "RENTER_SIZ": 1.93, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49404300046436, 39.14545999987209, -84.4920430004646, 39.148259999871804], "geometry": {"coordinates": [[[-84.49404300046436, 39.145659999872066], [-84.49384300046441, 39.14705999987192], [-84.49354300046444, 39.148259999871804], [-84.4920430004646, 39.14805999987183], [-84.49213100046458, 39.14691599987195], [-84.49224300046455, 39.14545999987209], [-84.49404300046436, 39.145659999872066]]], "type": "Polygon"}, "id": "298", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 24.0, "AGE_15_19": 17.0, "AGE_18": 122.0, "AGE_20_24": 9.0, "AGE_21": 113.0, "AGE_25_34": 21.0, "AGE_35_44": 35.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 1.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 11.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 0.0, "AP_BLACK": 171.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.78, "BG": "390610068002", "BLACK": 167.0, "BLOCK": "390610068002001", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10804.1794, "F1_RACE": 172.0, "F2_RACES": 6.0, "FEMALE": 87.0, "FEMALE_18": 62.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 78.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 14.0, "ID": 705167.0, "IN_HOUSEHO": 178.0, "MALE": 91.0, "MALE_18": 60.0, "MALE_65": 11.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 178.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.61, "POPULATION": 178.0, "RENTER_SIZ": 2.88, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49304300046434, 39.12525999987394, -84.49154300046447, 39.125759999873914], "geometry": {"coordinates": [[[-84.49304300046434, 39.125359999873936], [-84.49304300046434, 39.1257599998739], [-84.4924430004644, 39.125759999873914], [-84.49184300046447, 39.1257599998739], [-84.49154300046449, 39.1256599998739], [-84.49154300046447, 39.12525999987394], [-84.49304300046434, 39.125359999873936]]], "type": "Polygon"}, "id": "299", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.25, "BG": "390610021001", "BLACK": 13.0, "BLOCK": "390610021001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5318.6525, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 8.0, "ID": 705258.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 13.0, "RENTER_SIZ": 3.25, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4924430004644, 39.1257599998739, -84.4917430004645, 39.127359999873725], "geometry": {"coordinates": [[[-84.4924430004644, 39.125759999873914], [-84.49224300046444, 39.127359999873725], [-84.4917430004645, 39.127359999873725], [-84.49184300046447, 39.1257599998739], [-84.4924430004644, 39.125759999873914]]], "type": "Polygon"}, "id": "300", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 5.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.25, "BG": "390610035002", "BLACK": 9.0, "BLOCK": "390610035002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2761.6482, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 705278.0, "IN_HOUSEHO": 9.0, "MALE": 4.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 9.0, "RENTER_SIZ": 1.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49154300046449, 39.12485999987399, -84.49044300046462, 39.1256599998739], "geometry": {"coordinates": [[[-84.49154300046447, 39.12525999987394], [-84.49154300046449, 39.1256599998739], [-84.49064300046459, 39.1256599998739], [-84.49044300046462, 39.125559999873914], [-84.49114300046453, 39.12485999987399], [-84.49104300046453, 39.12515999987397], [-84.49154300046447, 39.12525999987394]]], "type": "Polygon"}, "id": "301", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705295.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12475999987402, -84.49014300046463, 39.125559999873914], "geometry": {"coordinates": [[[-84.49114300046453, 39.12485999987399], [-84.49044300046462, 39.125559999873914], [-84.49014300046463, 39.125559999873914], [-84.49044300046461, 39.12495999987399], [-84.49054300046461, 39.12475999987402], [-84.49114300046453, 39.12485999987399]]], "type": "Polygon"}, "id": "302", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 4.67, "BG": "390610021001", "BLACK": 14.0, "BLOCK": "390610021001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10356.9954, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 705315.0, "IN_HOUSEHO": 14.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 11.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 4.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49184300046447, 39.1256599998739, -84.49044300046464, 39.127359999873725], "geometry": {"coordinates": [[[-84.4917430004645, 39.127359999873725], [-84.49044300046464, 39.12725999987379], [-84.49064300046459, 39.1256599998739], [-84.49154300046449, 39.1256599998739], [-84.49184300046447, 39.1257599998739], [-84.4917430004645, 39.127359999873725]]], "type": "Polygon"}, "id": "303", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 11.0, "AGE_15_19": 5.0, "AGE_18": 73.0, "AGE_20_24": 4.0, "AGE_21": 71.0, "AGE_25_34": 10.0, "AGE_35_44": 21.0, "AGE_45_54": 20.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 11.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 97.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.83, "BG": "390610035001", "BLACK": 97.0, "BLOCK": "390610035001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12976.9945, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 46.0, "FEMALE_18": 33.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 9.0, "ID": 705334.0, "IN_HOUSEHO": 99.0, "MALE": 53.0, "MALE_18": 40.0, "MALE_65": 8.0, "MEDIAN_AGE": 37.9, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 51.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 99.0, "RENTER_SIZ": 1.76, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 2.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49224300046444, 39.12725999987379, -84.49024300046466, 39.129759999873535], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49024300046466, 39.12965999987355], [-84.49044300046464, 39.12725999987379], [-84.4917430004645, 39.127359999873725], [-84.49224300046444, 39.127359999873725], [-84.49214300046445, 39.12915999987361], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "304", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 13.0, "AGE_18": 76.0, "AGE_20_24": 8.0, "AGE_21": 65.0, "AGE_25_34": 16.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 4.0, "AGE_75_84": 4.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 117.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.71, "BG": "390610035001", "BLACK": 117.0, "BLOCK": "390610035001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7530.1086, "F1_RACE": 122.0, "F2_RACES": 0.0, "FEMALE": 61.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 80.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 35.0, "ID": 705352.0, "IN_HOUSEHO": 122.0, "MALE": 61.0, "MALE_18": 39.0, "MALE_65": 8.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 122.0, "RENTER_SIZ": 2.7, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49064300046459, 39.125559999873914, -84.48934300046474, 39.12725999987379], "geometry": {"coordinates": [[[-84.49064300046459, 39.1256599998739], [-84.49044300046464, 39.12725999987379], [-84.48934300046474, 39.12715999987378], [-84.49014300046463, 39.125559999873914], [-84.49044300046462, 39.125559999873914], [-84.49064300046459, 39.1256599998739]]], "type": "Polygon"}, "id": "305", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 6.0, "AGE_35_44": 11.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 2.4, "BG": "390610035001", "BLACK": 42.0, "BLOCK": "390610035001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9636.6782, "F1_RACE": 47.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 705372.0, "IN_HOUSEHO": 48.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 48.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49044300046461, 39.124859999874, -84.4877430004649, 39.125559999873914], "geometry": {"coordinates": [[[-84.48914300046475, 39.124859999874], [-84.49044300046461, 39.12495999987399], [-84.49014300046463, 39.125559999873914], [-84.4877430004649, 39.125459999873954], [-84.48784300046489, 39.124859999874026], [-84.48914300046475, 39.124859999874]]], "type": "Polygon"}, "id": "306", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 16.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.64, "BG": "390610019001", "BLACK": 9.0, "BLOCK": "390610019001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3066.4806, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 36.0, "ID": 705391.0, "IN_HOUSEHO": 18.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 1.64, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 7.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49014300046463, 39.125459999873954, -84.48754300046494, 39.12715999987378], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.49014300046463, 39.125559999873914], [-84.48934300046474, 39.12715999987378], [-84.48754300046494, 39.126959999873826], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "307", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 59.0, "AGE_20_24": 1.0, "AGE_21": 59.0, "AGE_25_34": 11.0, "AGE_35_44": 11.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 62.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.17, "BG": "390610037002", "BLACK": 62.0, "BLOCK": "390610037002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5108.6014, "F1_RACE": 63.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 28.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 50.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 57.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 3.0, "ID": 705409.0, "IN_HOUSEHO": 63.0, "MALE": 34.0, "MALE_18": 31.0, "MALE_65": 5.0, "MEDIAN_AGE": 45.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 1.17, "THEFT": 14, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49044300046464, 39.12715999987378, -84.48844300046484, 39.12965999987355], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.48934300046476, 39.12955999987356], [-84.48844300046484, 39.12945999987358], [-84.48854300046484, 39.12865999987366], [-84.48934300046474, 39.12715999987378], [-84.49044300046464, 39.12725999987379], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "308", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 24.0, "AGE_15_19": 20.0, "AGE_18": 189.0, "AGE_20_24": 14.0, "AGE_21": 186.0, "AGE_25_34": 28.0, "AGE_35_44": 47.0, "AGE_45_54": 43.0, "AGE_55_59": 12.0, "AGE_5_9": 25.0, "AGE_60_64": 9.0, "AGE_62": 42.0, "AGE_65": 33.0, "AGE_65_74": 20.0, "AGE_75_84": 11.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.7, "BG": "390610035001", "BLACK": 246.0, "BLOCK": "390610035001003", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20388.1466, "F1_RACE": 274.0, "F2_RACES": 8.0, "FEMALE": 136.0, "FEMALE_18": 88.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 47.0, "GROUP_QUAR": 47.0, "HAWAIIAN": 0.0, "HH_FAMILY": 61.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 100.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 13.0, "ID": 705427.0, "IN_HOUSEHO": 235.0, "MALE": 146.0, "MALE_18": 101.0, "MALE_65": 17.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.92, "POPULATION": 282.0, "RENTER_SIZ": 2.67, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 23.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48934300046474, 39.126959999873826, -84.48744300046496, 39.12865999987366], "geometry": {"coordinates": [[[-84.48934300046474, 39.12715999987378], [-84.48854300046484, 39.12865999987366], [-84.48744300046496, 39.12865999987366], [-84.48754300046494, 39.126959999873826], [-84.48934300046474, 39.12715999987378]]], "type": "Polygon"}, "id": "309", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 49.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 12.0, "AGE_35_44": 16.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.11, "AVG_HHSIZE": 2.84, "BG": "390610037002", "BLACK": 70.0, "BLOCK": "390610037002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8106.6346, "F1_RACE": 71.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 27.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 705446.0, "IN_HOUSEHO": 71.0, "MALE": 34.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.8, "POPULATION": 71.0, "RENTER_SIZ": 2.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49204300046448, 39.12965999987355, -84.49004300046471, 39.13215999987331], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49184300046453, 39.13215999987331], [-84.49004300046471, 39.13195999987333], [-84.49024300046466, 39.12965999987355], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "310", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 24.0, "AGE_15_19": 23.0, "AGE_18": 114.0, "AGE_20_24": 12.0, "AGE_21": 105.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.34, "BG": "390610035001", "BLACK": 177.0, "BLOCK": "390610035001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12487.9501, "F1_RACE": 192.0, "F2_RACES": 5.0, "FEMALE": 103.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 12.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 12.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 31.0, "ID": 705464.0, "IN_HOUSEHO": 185.0, "MALE": 94.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 24.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 60.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.32, "POPULATION": 197.0, "RENTER_SIZ": 2.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 15.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49284300046439, 39.13215999987331, -84.49174300046454, 39.13415999987313], "geometry": {"coordinates": [[[-84.49184300046453, 39.13215999987331], [-84.49284300046439, 39.1322599998733], [-84.49244300046446, 39.13415999987311], [-84.49174300046455, 39.13415999987313], [-84.49174300046454, 39.13335999987318], [-84.49184300046453, 39.13215999987331]]], "type": "Polygon"}, "id": "311", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49184300046453, 39.13195999987333, -84.48994300046472, 39.13335999987318], "geometry": {"coordinates": [[[-84.49174300046454, 39.13335999987318], [-84.48994300046472, 39.13325999987322], [-84.49004300046471, 39.13195999987333], [-84.49184300046453, 39.13215999987331], [-84.49174300046454, 39.13335999987318]]], "type": "Polygon"}, "id": "312", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.9, "BG": "390610036002", "BLACK": 19.0, "BLOCK": "390610036002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2265.3295, "F1_RACE": 19.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 705500.0, "IN_HOUSEHO": 19.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 19.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49024300046466, 39.12945999987358, -84.48794300046492, 39.13195999987333], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.49004300046471, 39.13195999987333], [-84.48914300046481, 39.13195999987333], [-84.48794300046492, 39.13185999987335], [-84.48814300046489, 39.13085999987344], [-84.48844300046484, 39.12945999987358], [-84.48934300046476, 39.12955999987356], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "313", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 59.0, "AGE_20_24": 12.0, "AGE_21": 55.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 16.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.72, "BG": "390610035001", "BLACK": 74.0, "BLOCK": "390610035001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4260.8043, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 31.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 9.0, "ID": 705518.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 74.0, "RENTER_SIZ": 1.65, "THEFT": 11, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49004300046471, 39.13185999987335, -84.48764300046497, 39.13325999987322], "geometry": {"coordinates": [[[-84.49004300046471, 39.13195999987333], [-84.48994300046472, 39.13325999987322], [-84.48764300046497, 39.13315999987322], [-84.48784300046495, 39.13265999987328], [-84.48794300046492, 39.13185999987335], [-84.48914300046481, 39.13195999987333], [-84.49004300046471, 39.13195999987333]]], "type": "Polygon"}, "id": "314", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 229.0, "AGE_20_24": 2.0, "AGE_21": 228.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 10.0, "AGE_5_9": 1.0, "AGE_60_64": 16.0, "AGE_62": 187.0, "AGE_65": 177.0, "AGE_65_74": 79.0, "AGE_75_84": 73.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 2.0, "AP_BLACK": 239.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.53, "AVG_HHSIZE": 1.15, "BG": "390610036002", "BLACK": 236.0, "BLOCK": "390610036002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23313.5736, "F1_RACE": 237.0, "F2_RACES": 3.0, "FEMALE": 190.0, "FEMALE_18": 183.0, "FEMALE_65": 147.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 190.0, "HOUSEHOLDS": 209.0, "HSNG_UNITS": 212.0, "HU_OCCUPIE": 209.0, "HU_VACANT": 3.0, "ID": 705538.0, "IN_HOUSEHO": 240.0, "MALE": 50.0, "MALE_18": 46.0, "MALE_65": 30.0, "MEDIAN_AGE": 72.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 239.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 204.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 240.0, "RENTER_SIZ": 1.14, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4877430004649, 39.125359999873965, -84.48594300046511, 39.126959999873826], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.48754300046494, 39.126959999873826], [-84.48594300046511, 39.12685999987383], [-84.48604300046509, 39.125359999873965], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "315", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 141.0, "AGE_20_24": 7.0, "AGE_21": 139.0, "AGE_25_34": 8.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 9.0, "AGE_5_9": 7.0, "AGE_60_64": 16.0, "AGE_62": 77.0, "AGE_65": 68.0, "AGE_65_74": 32.0, "AGE_75_84": 24.0, "AGE_85": 12.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.76, "AVG_HHSIZE": 1.33, "BG": "390610037002", "BLACK": 146.0, "BLOCK": "390610037002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17459.4717, "F1_RACE": 158.0, "F2_RACES": 3.0, "FEMALE": 88.0, "FEMALE_18": 80.0, "FEMALE_65": 42.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 121.0, "HSNG_UNITS": 126.0, "HU_OCCUPIE": 121.0, "HU_VACANT": 5.0, "ID": 705558.0, "IN_HOUSEHO": 161.0, "MALE": 73.0, "MALE_18": 61.0, "MALE_65": 26.0, "MEDIAN_AGE": 61.1, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 161.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 113.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 161.0, "RENTER_SIZ": 1.25, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48754300046494, 39.12685999987383, -84.48574300046513, 39.12865999987366], "geometry": {"coordinates": [[[-84.48754300046494, 39.126959999873826], [-84.48744300046496, 39.12865999987366], [-84.4862430004651, 39.12855999987367], [-84.48574300046513, 39.12855999987368], [-84.48594300046511, 39.12685999987383], [-84.48754300046494, 39.126959999873826]]], "type": "Polygon"}, "id": "316", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610037002", "BLACK": 8.0, "BLOCK": "390610037002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 772.902, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 1.0, "ID": 705576.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.48604300046509, 39.125159999874, -84.48434300046526, 39.12685999987383], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48434300046527, 39.12675999987384], [-84.48434300046526, 39.125159999874], [-84.48504300046518, 39.12525999987396], [-84.48604300046509, 39.125359999873965], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "317", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 6.0, "AGE_15_19": 15.0, "AGE_18": 178.0, "AGE_20_24": 31.0, "AGE_21": 164.0, "AGE_25_34": 43.0, "AGE_35_44": 18.0, "AGE_45_54": 18.0, "AGE_55_59": 17.0, "AGE_5_9": 24.0, "AGE_60_64": 16.0, "AGE_62": 35.0, "AGE_65": 25.0, "AGE_65_74": 19.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 232.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 1.6, "BG": "390610037002", "BLACK": 230.0, "BLOCK": "390610037002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25096.418, "F1_RACE": 235.0, "F2_RACES": 2.0, "FEMALE": 132.0, "FEMALE_18": 99.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 50.0, "HH_NONFAMI": 98.0, "HOUSEHOLDS": 148.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 148.0, "HU_VACANT": 45.0, "ID": 705594.0, "IN_HOUSEHO": 237.0, "MALE": 105.0, "MALE_18": 79.0, "MALE_65": 9.0, "MEDIAN_AGE": 27.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 233.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 237.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48594300046511, 39.12675999987384, -84.48414300046532, 39.12855999987368], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48574300046513, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.4842430004653, 39.12765999987374], [-84.48434300046527, 39.12675999987384], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "318", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 9.0, "AGE_18": 229.0, "AGE_20_24": 9.0, "AGE_21": 226.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 33.0, "AGE_55_59": 11.0, "AGE_5_9": 6.0, "AGE_60_64": 24.0, "AGE_62": 123.0, "AGE_65": 110.0, "AGE_65_74": 44.0, "AGE_75_84": 46.0, "AGE_85": 20.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 235.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 5.0, "AP_WHITE": 19.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.29, "BG": "390610037002", "BLACK": 229.0, "BLOCK": "390610037002000", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25176.618, "F1_RACE": 248.0, "F2_RACES": 7.0, "FEMALE": 152.0, "FEMALE_18": 143.0, "FEMALE_65": 76.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 173.0, "HOUSEHOLDS": 197.0, "HSNG_UNITS": 199.0, "HU_OCCUPIE": 197.0, "HU_VACANT": 2.0, "ID": 705613.0, "IN_HOUSEHO": 255.0, "MALE": 103.0, "MALE_18": 86.0, "MALE_65": 34.0, "MEDIAN_AGE": 61.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 255.0, "RENTER_SIZ": 1.26, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 16.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.128459999873684, -84.48414300046532, 39.129359999873586], "geometry": {"coordinates": [[[-84.48574300046513, 39.12855999987368], [-84.48574300046515, 39.129359999873586], [-84.48414300046532, 39.129259999873604], [-84.48414300046532, 39.128459999873684], [-84.48574300046513, 39.12855999987368]]], "type": "Polygon"}, "id": "319", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 9.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.91, "BG": "390610037003", "BLACK": 57.0, "BLOCK": "390610037003012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13501.798, "F1_RACE": 64.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 6.0, "ID": 705632.0, "IN_HOUSEHO": 64.0, "MALE": 26.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 64.0, "RENTER_SIZ": 3.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 7.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.48854300046484, 39.12855999987367, -84.48554300046517, 39.130859999873465], "geometry": {"coordinates": [[[-84.48844300046484, 39.12945999987358], [-84.48814300046489, 39.13085999987344], [-84.48684300046503, 39.130859999873465], [-84.48604300046513, 39.13075999987347], [-84.48554300046517, 39.13075999987347], [-84.48574300046515, 39.129359999873586], [-84.48574300046513, 39.12855999987368], [-84.4862430004651, 39.12855999987367], [-84.48744300046496, 39.12865999987366], [-84.48854300046484, 39.12865999987366], [-84.48844300046484, 39.12945999987358]]], "type": "Polygon"}, "id": "320", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 2.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 46.0, "BLOCK": "390610037003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2087.6977, "F1_RACE": 46.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 20.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 705649.0, "IN_HOUSEHO": 46.0, "MALE": 19.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 46.0, "RENTER_SIZ": 2.36, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48814300046489, 39.13085999987344, -84.48684300046503, 39.13185999987336], "geometry": {"coordinates": [[[-84.48814300046489, 39.13085999987344], [-84.48794300046492, 39.13185999987335], [-84.48684300046504, 39.13185999987336], [-84.48684300046503, 39.130859999873465], [-84.48814300046489, 39.13085999987344]]], "type": "Polygon"}, "id": "321", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 25.0, "AGE_20_24": 11.0, "AGE_21": 17.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 39.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.17, "BG": "390610037003", "BLACK": 38.0, "BLOCK": "390610037003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8776.4684, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 705673.0, "IN_HOUSEHO": 39.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 2.17, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.48794300046492, 39.13185999987335, -84.48684300046504, 39.132659999873304], "geometry": {"coordinates": [[[-84.48794300046492, 39.13185999987335], [-84.48784300046495, 39.13265999987328], [-84.48684300046504, 39.132659999873304], [-84.48684300046504, 39.13185999987336], [-84.48794300046492, 39.13185999987335]]], "type": "Polygon"}, "id": "322", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610036001", "BLACK": 16.0, "BLOCK": "390610036001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5465.2861, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 7.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 6.0, "ID": 705691.0, "IN_HOUSEHO": 17.0, "MALE": 8.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 17.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.13075999987347, -84.4854430004652, 39.13185999987336], "geometry": {"coordinates": [[[-84.48684300046503, 39.130859999873465], [-84.48684300046504, 39.13185999987336], [-84.4854430004652, 39.131759999873395], [-84.48554300046517, 39.13075999987347], [-84.48604300046513, 39.13075999987347], [-84.48684300046503, 39.130859999873465]]], "type": "Polygon"}, "id": "323", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 74.0, "AGE_20_24": 15.0, "AGE_21": 65.0, "AGE_25_34": 8.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 10.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 104.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.81, "BG": "390610037003", "BLACK": 104.0, "BLOCK": "390610037003003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20938.2875, "F1_RACE": 107.0, "F2_RACES": 0.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 4.0, "ID": 705708.0, "IN_HOUSEHO": 107.0, "MALE": 44.0, "MALE_18": 26.0, "MALE_65": 6.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 57.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.81, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.48784300046495, 39.1325599998733, -84.48504300046523, 39.133659999873196], "geometry": {"coordinates": [[[-84.48784300046495, 39.13265999987328], [-84.48764300046497, 39.13315999987322], [-84.487443000465, 39.133459999873224], [-84.487443000465, 39.133659999873196], [-84.48613700046513, 39.133514999873206], [-84.48596700046515, 39.133397999873225], [-84.48504300046523, 39.13276599987328], [-84.48504300046523, 39.1325599998733], [-84.4854430004652, 39.1325599998733], [-84.48684300046504, 39.132659999873304], [-84.48784300046495, 39.13265999987328]]], "type": "Polygon"}, "id": "324", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 6.0, "AVG_HHSIZE": 6.0, "BG": "390610036001", "BLACK": 6.0, "BLOCK": "390610036001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 799.5032, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 705727.0, "IN_HOUSEHO": 6.0, "MALE": 4.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 6.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 6.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49364300046419, 39.11405999987497, -84.49304300046427, 39.1148599998749], "geometry": {"coordinates": [[[-84.49324300046423, 39.11405999987497], [-84.49364300046419, 39.114359999874964], [-84.49304300046427, 39.1148599998749], [-84.49324300046423, 39.11405999987497]]], "type": "Polygon"}, "id": "325", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 5.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.44, "BG": "390610019002", "BLACK": 5.0, "BLOCK": "390610019002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18472.2408, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 3.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 0.0, "ID": 669057.0, "IN_HOUSEHO": 13.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 13.0, "RENTER_SIZ": 1.43, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 8.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49884300046364, 39.11715999987466, -84.49854300046368, 39.11755999987462], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49854300046368, 39.11755999987462], [-84.49864300046367, 39.11715999987466], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "326", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669074.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49864300046367, 39.11715999987466, -84.4984430004637, 39.11755999987462], "geometry": {"coordinates": [[[-84.49864300046367, 39.11715999987466], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.117259999874676], [-84.49864300046367, 39.11715999987466]]], "type": "Polygon"}, "id": "327", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002029", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669090.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49944300046359, 39.11745999987464, -84.49804300046375, 39.12015999987439], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49944300046359, 39.11755999987462], [-84.49804300046375, 39.12015999987439], [-84.49814300046373, 39.11885999987453], [-84.4984430004637, 39.11815999987457], [-84.49854300046368, 39.11755999987462], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "328", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669106.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50114300046343, 39.117559999874615, -84.49784300046379, 39.12235999987418], "geometry": {"coordinates": [[[-84.50114300046343, 39.12235999987418], [-84.50034300046353, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.49874300046368, 39.121459999874276], [-84.49874300046368, 39.120759999874345], [-84.49824300046373, 39.120759999874345], [-84.49824300046373, 39.121459999874276], [-84.49824300046375, 39.12225999987419], [-84.49784300046379, 39.12225999987419], [-84.49794300046376, 39.120759999874345], [-84.49804300046375, 39.12015999987439], [-84.49944300046359, 39.11755999987462], [-84.5001430004635, 39.117559999874615], [-84.49994300046355, 39.11945999987446], [-84.50074300046347, 39.12115999987429], [-84.50081300046347, 39.121369999874275], [-84.50114300046343, 39.12235999987418]]], "type": "Polygon"}, "id": "329", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 7.0, "AGE_15_19": 7.0, "AGE_18": 71.0, "AGE_20_24": 3.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 2.0, "AGE_5_9": 21.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 110.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 2.5, "BG": "390610021002", "BLACK": 110.0, "BLOCK": "390610021002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3608.4247, "F1_RACE": 114.0, "F2_RACES": 1.0, "FEMALE": 63.0, "FEMALE_18": 41.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 7.0, "ID": 669124.0, "IN_HOUSEHO": 115.0, "MALE": 52.0, "MALE_18": 30.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 115.0, "RENTER_SIZ": 2.79, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 4.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49854300046368, 39.11645999987473, -84.4964230004639, 39.12225999987419], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49694300046386, 39.119459999874465], [-84.4974430004638, 39.1191599998745], [-84.49684300046387, 39.11855999987454], [-84.4964230004639, 39.11813999987458], [-84.49754300046378, 39.11645999987473], [-84.4984430004637, 39.117259999874676], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.11815999987457], [-84.49814300046373, 39.11885999987453], [-84.49804300046375, 39.12015999987439], [-84.49794300046376, 39.120759999874345], [-84.49784300046379, 39.12225999987419], [-84.49724300046385, 39.122159999874214], [-84.49744300046382, 39.12065999987436], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "330", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669153.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.4974430004638, 39.11813999987458, -84.49634300046392, 39.119459999874465], "geometry": {"coordinates": [[[-84.49684300046387, 39.11855999987454], [-84.4974430004638, 39.1191599998745], [-84.49694300046386, 39.119459999874465], [-84.49634300046392, 39.118259999874574], [-84.4964230004639, 39.11813999987458], [-84.49684300046387, 39.11855999987454]]], "type": "Polygon"}, "id": "331", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669178.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49744300046382, 39.119459999874465, -84.49634300046394, 39.12215999987422], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49744300046382, 39.12065999987436], [-84.49724300046385, 39.122159999874214], [-84.49634300046394, 39.12215999987422], [-84.49644300046394, 39.121359999874294], [-84.49694300046387, 39.121359999874294], [-84.49694300046387, 39.12075999987434], [-84.49654300046392, 39.12055999987439], [-84.49654300046392, 39.11965999987446], [-84.49694300046386, 39.119459999874465], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "332", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.14, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2225.3185, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669195.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 45.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 15.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49874300046368, 39.120759999874345, -84.49824300046373, 39.121459999874276], "geometry": {"coordinates": [[[-84.49874300046368, 39.120759999874345], [-84.49874300046368, 39.121459999874276], [-84.49824300046373, 39.121459999874276], [-84.49824300046373, 39.120759999874345], [-84.49874300046368, 39.120759999874345]]], "type": "Polygon"}, "id": "333", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669219.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49874300046369, 39.121459999874276, -84.49824300046373, 39.12225999987419], "geometry": {"coordinates": [[[-84.49874300046368, 39.121459999874276], [-84.49874300046369, 39.12225999987418], [-84.49824300046375, 39.12225999987419], [-84.49824300046373, 39.121459999874276], [-84.49874300046368, 39.121459999874276]]], "type": "Polygon"}, "id": "334", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 10.0, "BLOCK": "390610021002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6750.2171, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669236.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 60.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 10.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50034300046353, 39.12225999987418, -84.49784300046382, 39.125359999873915], "geometry": {"coordinates": [[[-84.49914300046366, 39.12455999987399], [-84.49914300046366, 39.125359999873915], [-84.49784300046382, 39.125259999873926], [-84.49804300046377, 39.12375999987406], [-84.49864800046372, 39.123760999874065], [-84.49864300046372, 39.1230599998741], [-84.49816800046375, 39.123062999874136], [-84.49824300046375, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.50034300046353, 39.12225999987419], [-84.50014300046355, 39.12465999987397], [-84.49914300046366, 39.12455999987399]]], "type": "Polygon"}, "id": "335", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 32.0, "AGE_25_34": 0.0, "AGE_35_44": 7.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.73, "AVG_HHSIZE": 1.91, "BG": "390610021002", "BLACK": 36.0, "BLOCK": "390610021002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2042.0725, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 669254.0, "IN_HOUSEHO": 42.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 4.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.71, "POPULATION": 42.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49864800046372, 39.1230599998741, -84.49804300046377, 39.123760999874065], "geometry": {"coordinates": [[[-84.49864300046372, 39.1230599998741], [-84.49864800046372, 39.123760999874065], [-84.49804300046377, 39.12375999987406], [-84.49816800046375, 39.123062999874136], [-84.49864300046372, 39.1230599998741]]], "type": "Polygon"}, "id": "336", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.94, "BG": "390610021002", "BLACK": 32.0, "BLOCK": "390610021002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23607.9351, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 669279.0, "IN_HOUSEHO": 33.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 33.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49824300046375, 39.12225999987419, -84.49724300046388, 39.126059999873846], "geometry": {"coordinates": [[[-84.49784300046382, 39.125259999873926], [-84.49784300046382, 39.126059999873846], [-84.49724300046388, 39.126059999873846], [-84.49764300046381, 39.12295999987414], [-84.49784300046379, 39.12225999987419], [-84.49824300046375, 39.12225999987419], [-84.49816800046375, 39.123062999874136], [-84.49804300046377, 39.12375999987406], [-84.49784300046382, 39.125259999873926]]], "type": "Polygon"}, "id": "337", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669296.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046385, 39.122159999874214, -84.49594300046402, 39.125559999873886], "geometry": {"coordinates": [[[-84.49724300046385, 39.122159999874214], [-84.49704300046389, 39.12375999987407], [-84.49684300046391, 39.125259999873926], [-84.49680000046392, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49594300046402, 39.125559999873886], [-84.49595400046402, 39.12521199987394], [-84.496043000464, 39.124359999874024], [-84.49614300046399, 39.123659999874064], [-84.49624300046396, 39.122859999874166], [-84.49634300046394, 39.12215999987422], [-84.49724300046385, 39.122159999874214]]], "type": "Polygon"}, "id": "338", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 14.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.8, "BG": "390610021002", "BLACK": 18.0, "BLOCK": "390610021002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1575.7931, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 669317.0, "IN_HOUSEHO": 18.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 18.0, "RENTER_SIZ": 1.86, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49784300046379, 39.122159999874214, -84.49674300046394, 39.126059999873846], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49674300046394, 39.125959999873864], [-84.49680000046392, 39.125559999873886], [-84.49684300046391, 39.125259999873926], [-84.49704300046389, 39.12375999987407], [-84.49724300046385, 39.122159999874214], [-84.49784300046379, 39.12225999987419], [-84.49764300046381, 39.12295999987414], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "339", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669342.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49584300046398, 39.1180599998746, -84.49434300046414, 39.11955999987449], "geometry": {"coordinates": [[[-84.49584300046398, 39.1180599998746], [-84.49464300046412, 39.11955999987449], [-84.49434300046414, 39.11925999987448], [-84.49444300046413, 39.11805999987461], [-84.49584300046398, 39.1180599998746]]], "type": "Polygon"}, "id": "340", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 89.0, "AGE_20_24": 17.0, "AGE_21": 85.0, "AGE_25_34": 27.0, "AGE_35_44": 25.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 5.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.26, "AVG_HHSIZE": 1.89, "BG": "390610019002", "BLACK": 55.0, "BLOCK": "390610019002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25806.7736, "F1_RACE": 110.0, "F2_RACES": 9.0, "FEMALE": 64.0, "FEMALE_18": 50.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 63.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 63.0, "HU_VACANT": 5.0, "ID": 669361.0, "IN_HOUSEHO": 119.0, "MALE": 55.0, "MALE_18": 39.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 117.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.94, "POPULATION": 119.0, "RENTER_SIZ": 1.87, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 53.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49754300046378, 39.116359999874746, -84.49404300046417, 39.12085999987434], "geometry": {"coordinates": [[[-84.49694300046386, 39.119459999874465], [-84.49654300046392, 39.11965999987446], [-84.49564300046401, 39.12015999987439], [-84.4948430004641, 39.12045999987439], [-84.49434300046416, 39.12085999987434], [-84.49404300046417, 39.120359999874395], [-84.49464300046412, 39.11955999987449], [-84.49584300046398, 39.1180599998746], [-84.49724300046381, 39.116359999874746], [-84.49754300046378, 39.11645999987473], [-84.4964230004639, 39.11813999987458], [-84.49634300046392, 39.118259999874574], [-84.49694300046386, 39.119459999874465]]], "type": "Polygon"}, "id": "341", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.2116, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 669378.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49694300046387, 39.11965999987446, -84.49434300046416, 39.121359999874294], "geometry": {"coordinates": [[[-84.49694300046387, 39.12075999987434], [-84.49694300046387, 39.121359999874294], [-84.49644300046394, 39.121359999874294], [-84.49598100046398, 39.12130899987431], [-84.49554300046402, 39.121259999874304], [-84.49504300046408, 39.12125999987431], [-84.49454300046415, 39.121259999874304], [-84.49434300046416, 39.12085999987434], [-84.4948430004641, 39.12045999987439], [-84.49564300046401, 39.12015999987439], [-84.49654300046392, 39.11965999987446], [-84.49654300046392, 39.12055999987439], [-84.49694300046387, 39.12075999987434]]], "type": "Polygon"}, "id": "342", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 8.0, "BLOCK": "390610021002023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 840.433, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669402.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49724300046381, 39.114159999874964, -84.49144300046446, 39.12015999987439], "geometry": {"coordinates": [[[-84.49724300046381, 39.116359999874746], [-84.49584300046398, 39.1180599998746], [-84.49444300046413, 39.11805999987461], [-84.49324300046426, 39.1179599998746], [-84.49318700046426, 39.118297999874606], [-84.4930430004643, 39.11915999987451], [-84.49294300046431, 39.12015999987439], [-84.49144300046446, 39.120059999874435], [-84.49184300046443, 39.11755999987466], [-84.49304300046427, 39.1148599998749], [-84.49364300046419, 39.114359999874964], [-84.4944430004641, 39.114159999874964], [-84.49514300046404, 39.11445999987495], [-84.49724300046381, 39.116359999874746]]], "type": "Polygon"}, "id": "343", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 18.0, "AGE_15_19": 11.0, "AGE_18": 178.0, "AGE_20_24": 26.0, "AGE_21": 169.0, "AGE_25_34": 66.0, "AGE_35_44": 41.0, "AGE_45_54": 15.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 9.0, "AP_WHITE": 80.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.05, "BG": "390610019002", "BLACK": 152.0, "BLOCK": "390610019002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3806.8143, "F1_RACE": 239.0, "F2_RACES": 5.0, "FEMALE": 116.0, "FEMALE_18": 90.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 49.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 12.0, "ID": 669426.0, "IN_HOUSEHO": 244.0, "MALE": 128.0, "MALE_18": 88.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 71.0, "NOT_HISPAN": 234.0, "OCCHU_OWNE": 36.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 1.61, "POPULATION": 244.0, "RENTER_SIZ": 2.24, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 77.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49464300046412, 39.1179599998746, -84.49294300046431, 39.120359999874395], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49294300046431, 39.12015999987439], [-84.4930430004643, 39.11915999987451], [-84.49318700046426, 39.118297999874606], [-84.49324300046426, 39.1179599998746], [-84.49444300046413, 39.11805999987461], [-84.49434300046414, 39.11925999987448], [-84.49464300046412, 39.11955999987449], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "344", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 9.0, "AGE_18": 147.0, "AGE_20_24": 36.0, "AGE_21": 132.0, "AGE_25_34": 66.0, "AGE_35_44": 19.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 8.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 4.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.78, "BG": "390610019002", "BLACK": 29.0, "BLOCK": "390610019002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14508.3466, "F1_RACE": 153.0, "F2_RACES": 9.0, "FEMALE": 87.0, "FEMALE_18": 75.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 7.0, "ID": 669452.0, "IN_HOUSEHO": 162.0, "MALE": 75.0, "MALE_18": 72.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 116.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 162.0, "RENTER_SIZ": 1.84, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 118.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49404300046417, 39.12015999987439, -84.49284300046432, 39.12155999987428], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49284300046432, 39.12155999987428], [-84.49294300046431, 39.12015999987439], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "345", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.04, "BG": "390610019002", "BLACK": 8.0, "BLOCK": "390610019002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8653.9404, "F1_RACE": 24.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 5.0, "ID": 669472.0, "IN_HOUSEHO": 25.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49644300046394, 39.121259999874304, -84.49544300046405, 39.12215999987422], "geometry": {"coordinates": [[[-84.49644300046394, 39.121359999874294], [-84.49634300046394, 39.12215999987422], [-84.49585900046401, 39.12210599987421], [-84.49544300046405, 39.12205999987423], [-84.49554300046402, 39.121259999874304], [-84.49598100046398, 39.12130899987431], [-84.49644300046394, 39.121359999874294]]], "type": "Polygon"}, "id": "346", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 9.0, "AGE_20_24": 1.0, "AGE_21": 8.0, "AGE_25_34": 1.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.25, "BG": "390610021002", "BLACK": 13.0, "BLOCK": "390610021002021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4810.0321, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669489.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 13.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49634300046394, 39.12205999987423, -84.49534300046406, 39.122859999874166], "geometry": {"coordinates": [[[-84.49634300046394, 39.12215999987422], [-84.49624300046396, 39.122859999874166], [-84.49564300046403, 39.122859999874166], [-84.49534300046406, 39.122859999874166], [-84.49544300046405, 39.12205999987423], [-84.49585900046401, 39.12210599987421], [-84.49634300046394, 39.12215999987422]]], "type": "Polygon"}, "id": "347", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.0, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002022", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8337.3804, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 7.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669506.0, "IN_HOUSEHO": 21.0, "MALE": 8.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 21.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49554300046402, 39.121259999874304, -84.49494300046409, 39.12205999987423], "geometry": {"coordinates": [[[-84.49554300046402, 39.121259999874304], [-84.49544300046405, 39.12205999987423], [-84.49494300046409, 39.12205999987423], [-84.49504300046408, 39.12125999987431], [-84.49554300046402, 39.121259999874304]]], "type": "Polygon"}, "id": "348", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1350.0419, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 669525.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49504300046408, 39.121259999874304, -84.49454300046415, 39.12205999987423], "geometry": {"coordinates": [[[-84.49504300046408, 39.12125999987431], [-84.49494300046409, 39.12205999987423], [-84.49454300046415, 39.12205999987423], [-84.49454300046415, 39.121259999874304], [-84.49504300046408, 39.12125999987431]]], "type": "Polygon"}, "id": "349", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 24.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.21, "BG": "390610021002", "BLACK": 19.0, "BLOCK": "390610021002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23250.7626, "F1_RACE": 30.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 2.0, "ID": 669542.0, "IN_HOUSEHO": 31.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 31.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49544300046405, 39.12205999987423, -84.49464300046414, 39.12365999987408], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.49464300046414, 39.123559999874075], [-84.49484300046412, 39.122759999874155], [-84.49494300046409, 39.12205999987423], [-84.49544300046405, 39.12205999987423], [-84.49534300046406, 39.122859999874166], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "350", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 0.0, "AGE_21": 3.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 4.0, "BLOCK": "390610021002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1293.472, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 669560.0, "IN_HOUSEHO": 4.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49494300046409, 39.12205999987423, -84.49434300046417, 39.122759999874155], "geometry": {"coordinates": [[[-84.49494300046409, 39.12205999987423], [-84.49484300046412, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.49454300046415, 39.12205999987423], [-84.49494300046409, 39.12205999987423]]], "type": "Polygon"}, "id": "351", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 16.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 7.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.18, "BG": "390610021002", "BLACK": 24.0, "BLOCK": "390610021002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20572.187, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 669580.0, "IN_HOUSEHO": 24.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 24.0, "RENTER_SIZ": 2.14, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49624300046396, 39.122859999874166, -84.49554300046405, 39.12365999987408], "geometry": {"coordinates": [[[-84.49624300046396, 39.122859999874166], [-84.49614300046399, 39.123659999874064], [-84.49554300046405, 39.12365999987408], [-84.49564300046403, 39.122859999874166], [-84.49624300046396, 39.122859999874166]]], "type": "Polygon"}, "id": "352", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.2, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4924, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669597.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 16.0, "RENTER_SIZ": 3.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49564300046403, 39.122859999874166, -84.49524300046409, 39.12365999987408], "geometry": {"coordinates": [[[-84.49564300046403, 39.122859999874166], [-84.49554300046405, 39.12365999987408], [-84.49524300046409, 39.12365999987408], [-84.49534300046406, 39.122859999874166], [-84.49564300046403, 39.122859999874166]]], "type": "Polygon"}, "id": "353", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 14.0, "AGE_20_24": 0.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.4, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27001.427, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 9.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 671022.0, "IN_HOUSEHO": 24.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 24.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 3.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49614300046399, 39.123659999874064, -84.49544300046406, 39.124359999874024], "geometry": {"coordinates": [[[-84.49614300046399, 39.123659999874064], [-84.496043000464, 39.124359999874024], [-84.49544300046406, 39.124359999874024], [-84.49554300046405, 39.12365999987408], [-84.49614300046399, 39.123659999874064]]], "type": "Polygon"}, "id": "354", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 40.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 40.0, "BLOCK": "390610021001017", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 27001.7246, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 6.0, "ID": 671040.0, "IN_HOUSEHO": 42.0, "MALE": 14.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 42.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.496043000464, 39.124359999874024, -84.49534300046408, 39.12521199987394], "geometry": {"coordinates": [[[-84.496043000464, 39.124359999874024], [-84.49595400046402, 39.12521199987394], [-84.49534300046408, 39.12515999987395], [-84.49544300046406, 39.124359999874024], [-84.496043000464, 39.124359999874024]]], "type": "Polygon"}, "id": "355", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.2, "BG": "390610021001", "BLACK": 16.0, "BLOCK": "390610021001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8595.9685, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 4.0, "ID": 671057.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 16.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49524300046409, 39.123559999874075, -84.49464300046414, 39.124359999874024], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.4951430004641, 39.124359999874024], [-84.49464300046415, 39.124259999874035], [-84.49464300046414, 39.123559999874075], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "356", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.5, "BG": "390610021001", "BLACK": 4.0, "BLOCK": "390610021001019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4154.1275, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 671075.0, "IN_HOUSEHO": 6.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 47.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 6.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49484300046412, 39.122759999874155, -84.4942430004642, 39.1235599998741], "geometry": {"coordinates": [[[-84.49484300046412, 39.122759999874155], [-84.49464300046414, 39.123559999874075], [-84.4942430004642, 39.1235599998741], [-84.49434300046417, 39.122759999874155], [-84.49484300046412, 39.122759999874155]]], "type": "Polygon"}, "id": "357", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.71, "BG": "390610021002", "BLACK": 11.0, "BLOCK": "390610021002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4822, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 671092.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.123559999874075, -84.4941430004642, 39.124259999874035], "geometry": {"coordinates": [[[-84.49464300046414, 39.123559999874075], [-84.49464300046415, 39.124259999874035], [-84.4941430004642, 39.124259999874035], [-84.4942430004642, 39.1235599998741], [-84.49464300046414, 39.123559999874075]]], "type": "Polygon"}, "id": "358", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 19.0, "AGE_20_24": 0.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610021001", "BLACK": 28.0, "BLOCK": "390610021001020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24001.518, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 671110.0, "IN_HOUSEHO": 28.0, "MALE": 16.0, "MALE_18": 10.0, "MALE_65": 4.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 28.0, "RENTER_SIZ": 2.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49554300046405, 39.12365999987408, -84.4951430004641, 39.124359999874024], "geometry": {"coordinates": [[[-84.49554300046405, 39.12365999987408], [-84.49544300046406, 39.124359999874024], [-84.4951430004641, 39.124359999874024], [-84.49524300046409, 39.12365999987408], [-84.49554300046405, 39.12365999987408]]], "type": "Polygon"}, "id": "359", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.33, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25715.9008, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 5.0, "ID": 671127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 3.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 3.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49544300046406, 39.124359999874024, -84.49504300046412, 39.12515999987397], "geometry": {"coordinates": [[[-84.49544300046406, 39.124359999874024], [-84.49534300046408, 39.12515999987395], [-84.49504300046412, 39.12515999987397], [-84.4951430004641, 39.124359999874024], [-84.49544300046406, 39.124359999874024]]], "type": "Polygon"}, "id": "360", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 1.0, "AGE_21": 3.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 3.0, "BLOCK": "390610021001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3375.2483, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671145.0, "IN_HOUSEHO": 3.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4951430004641, 39.124259999874035, -84.49454300046416, 39.12515999987397], "geometry": {"coordinates": [[[-84.4951430004641, 39.124359999874024], [-84.49504300046412, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49464300046415, 39.124259999874035], [-84.4951430004641, 39.124359999874024]]], "type": "Polygon"}, "id": "361", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 4.0, "AGE_21": 6.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.67, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6907.4625, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 671162.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.124259999874035, -84.49404300046422, 39.12515999987397], "geometry": {"coordinates": [[[-84.49464300046415, 39.124259999874035], [-84.49454300046416, 39.12515999987397], [-84.49404300046422, 39.12515999987397], [-84.4941430004642, 39.124259999874035], [-84.49464300046415, 39.124259999874035]]], "type": "Polygon"}, "id": "362", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 14.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 18.0, "BLOCK": "390610021001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10800.8025, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 7.0, "ID": 671180.0, "IN_HOUSEHO": 18.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 18.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49454300046415, 39.12085999987434, -84.49344300046427, 39.12275999987419], "geometry": {"coordinates": [[[-84.49454300046415, 39.12205999987423], [-84.49434300046417, 39.122759999874155], [-84.49394300046423, 39.122759999874155], [-84.49344300046427, 39.12275999987419], [-84.49354300046426, 39.121759999874264], [-84.49434300046416, 39.12085999987434], [-84.49454300046415, 39.121259999874304], [-84.49454300046415, 39.12205999987423]]], "type": "Polygon"}, "id": "363", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 1.0, "AGE_21": 29.0, "AGE_25_34": 10.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 41.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.47, "BG": "390610021001", "BLACK": 41.0, "BLOCK": "390610021001027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8574.633, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671197.0, "IN_HOUSEHO": 47.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 47.0, "RENTER_SIZ": 2.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49434300046416, 39.120359999874395, -84.49094300046455, 39.12395999987406], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49434300046416, 39.12085999987434], [-84.49354300046426, 39.121759999874264], [-84.49284300046433, 39.12305999987415], [-84.49174300046447, 39.1236599998741], [-84.49114300046453, 39.12385999987407], [-84.49094300046455, 39.12395999987406], [-84.49134300046451, 39.12325999987412], [-84.49234300046437, 39.122159999874235], [-84.49284300046432, 39.12155999987428], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "364", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671217.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49434300046417, 39.122759999874155, -84.49334300046428, 39.1235599998741], "geometry": {"coordinates": [[[-84.4942430004642, 39.1235599998741], [-84.49334300046428, 39.12345999987411], [-84.49344300046427, 39.12275999987419], [-84.49394300046423, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.4942430004642, 39.1235599998741]]], "type": "Polygon"}, "id": "365", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.71, "BG": "390610021001", "BLACK": 9.0, "BLOCK": "390610021001028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4764.9242, "F1_RACE": 10.0, "F2_RACES": 2.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 10.0, "ID": 671240.0, "IN_HOUSEHO": 12.0, "MALE": 7.0, "MALE_18": 6.0, "MALE_65": 3.0, "MEDIAN_AGE": 55.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4942430004642, 39.12345999987411, -84.49324300046429, 39.124259999874035], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.4942430004642, 39.1235599998741], [-84.4941430004642, 39.124259999874035], [-84.49324300046429, 39.12415999987405], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "366", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 18.0, "AGE_20_24": 2.0, "AGE_21": 14.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 3.71, "BG": "390610021001", "BLACK": 26.0, "BLOCK": "390610021001021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10969.3932, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 4.0, "ID": 671258.0, "IN_HOUSEHO": 26.0, "MALE": 15.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 26.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.4941430004642, 39.12415999987405, -84.4931430004643, 39.12515999987397], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49314300046431, 39.12505999987396], [-84.4931430004643, 39.12455999987401], [-84.49324300046429, 39.12415999987405], [-84.4941430004642, 39.124259999874035], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "367", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 30.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 3.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 8.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.57, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11503.7908, "F1_RACE": 34.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 671275.0, "IN_HOUSEHO": 36.0, "MALE": 12.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 57.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 36.0, "RENTER_SIZ": 1.47, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49354300046426, 39.121759999874264, -84.49174300046447, 39.12415999987405], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.49324300046429, 39.12415999987405], [-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.1236599998741], [-84.49284300046433, 39.12305999987415], [-84.49354300046426, 39.121759999874264], [-84.49344300046427, 39.12275999987419], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "368", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 1.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.54, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001022", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5241.5001, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 3.0, "ID": 671294.0, "IN_HOUSEHO": 33.0, "MALE": 16.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 33.0, "RENTER_SIZ": 3.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49324300046429, 39.12405999987406, -84.49174300046447, 39.12455999987401], "geometry": {"coordinates": [[[-84.49324300046429, 39.12415999987405], [-84.4931430004643, 39.12455999987401], [-84.49174300046447, 39.12445999987402], [-84.49174300046447, 39.12405999987406], [-84.49324300046429, 39.12415999987405]]], "type": "Polygon"}, "id": "369", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 1.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 923.1415, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671314.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12445999987402, -84.49164300046446, 39.12505999987396], "geometry": {"coordinates": [[[-84.4931430004643, 39.12455999987401], [-84.49314300046431, 39.12505999987396], [-84.49164300046446, 39.12495999987399], [-84.49174300046447, 39.12445999987402], [-84.4931430004643, 39.12455999987401]]], "type": "Polygon"}, "id": "370", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 21.0, "BLOCK": "390610021001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7767.719, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 671331.0, "IN_HOUSEHO": 21.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 21.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49324300046423, 39.112659999875135, -84.4890430004647, 39.120059999874435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.49034300046458, 39.120059999874435], [-84.49044300046458, 39.119859999874464], [-84.49064300046453, 39.11755999987468], [-84.49024300046457, 39.1172599998747], [-84.49044300046457, 39.116859999874734], [-84.4890430004647, 39.11665999987475], [-84.48954300046464, 39.11585999987483], [-84.49114300046446, 39.11445999987497], [-84.49144300046441, 39.11305999987509], [-84.49224300046434, 39.112659999875135], [-84.49314300046423, 39.11305999987508], [-84.49324300046423, 39.11405999987497], [-84.49304300046427, 39.1148599998749], [-84.49184300046443, 39.11755999987466], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "371", "properties": {"AGE_0_5": 34.0, "AGE_10_14": 17.0, "AGE_15_19": 20.0, "AGE_18": 116.0, "AGE_20_24": 19.0, "AGE_21": 105.0, "AGE_25_34": 36.0, "AGE_35_44": 18.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 26.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 161.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 40.0, "AREA": 0.05, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.27, "BG": "390610019001", "BLACK": 159.0, "BLOCK": "390610019001012", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4085.8467, "F1_RACE": 201.0, "F2_RACES": 3.0, "FEMALE": 121.0, "FEMALE_18": 74.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 90.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 90.0, "HU_VACANT": 25.0, "ID": 671366.0, "IN_HOUSEHO": 204.0, "MALE": 83.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 204.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.78, "POPULATION": 204.0, "RENTER_SIZ": 2.39, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 37.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49144300046446, 39.11995999987445, -84.48984300046465, 39.12105999987435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.4913430004645, 39.12105999987435], [-84.48984300046465, 39.12095999987435], [-84.48994300046463, 39.11995999987445], [-84.49034300046458, 39.120059999874435], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "372", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 35.0, "AGE_20_24": 4.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.79, "BG": "390610019001", "BLACK": 33.0, "BLOCK": "390610019001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7979.4739, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671465.0, "IN_HOUSEHO": 34.0, "MALE": 23.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 10.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49044300046457, 39.11665999987475, -84.48834300046478, 39.11745999987466], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.48964300046464, 39.117059999874705], [-84.48954300046465, 39.11745999987466], [-84.48834300046478, 39.11725999987471], [-84.4890430004647, 39.11665999987475], [-84.49044300046457, 39.116859999874734], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "373", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 671484.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49064300046453, 39.117059999874705, -84.48934300046469, 39.119859999874464], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.49064300046453, 39.11755999987468], [-84.49044300046458, 39.119859999874464], [-84.48934300046469, 39.1195599998745], [-84.48954300046465, 39.11745999987466], [-84.48964300046464, 39.117059999874705], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "374", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 181.0, "AGE_20_24": 15.0, "AGE_21": 177.0, "AGE_25_34": 60.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 20.0, "AGE_62": 57.0, "AGE_65": 43.0, "AGE_65_74": 31.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 160.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.12, "AVG_HHSIZE": 1.6, "BG": "390610019001", "BLACK": 24.0, "BLOCK": "390610019001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18460.4258, "F1_RACE": 182.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 80.0, "FEMALE_65": 19.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 71.0, "HOUSEHOLDS": 113.0, "HSNG_UNITS": 124.0, "HU_OCCUPIE": 113.0, "HU_VACANT": 11.0, "ID": 671502.0, "IN_HOUSEHO": 181.0, "MALE": 106.0, "MALE_18": 101.0, "MALE_65": 24.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 155.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 44.0, "OCCHU_RENT": 69.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 187.0, "RENTER_SIZ": 1.51, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 156.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49044300046458, 39.11725999987471, -84.48784300046485, 39.120059999874435], "geometry": {"coordinates": [[[-84.49034300046458, 39.120059999874435], [-84.48994300046463, 39.11995999987445], [-84.4883430004648, 39.119959999874474], [-84.48784300046485, 39.118759999874584], [-84.48794300046484, 39.11825999987461], [-84.48804300046481, 39.11755999987469], [-84.48834300046478, 39.11725999987471], [-84.48954300046465, 39.11745999987466], [-84.48934300046469, 39.1195599998745], [-84.49044300046458, 39.119859999874464], [-84.49034300046458, 39.120059999874435]]], "type": "Polygon"}, "id": "375", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 49.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 17.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 48.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.36, "BG": "390610019001", "BLACK": 2.0, "BLOCK": "390610019001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3631.9362, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 1.0, "ID": 671518.0, "IN_HOUSEHO": 53.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 40.8, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.47, "POPULATION": 53.0, "RENTER_SIZ": 1.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 48.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49294300046431, 39.120059999874435, -84.4913430004645, 39.122159999874235], "geometry": {"coordinates": [[[-84.49294300046431, 39.12015999987439], [-84.49284300046432, 39.12155999987428], [-84.49234300046437, 39.122159999874235], [-84.4913430004645, 39.12205999987426], [-84.4913430004645, 39.12105999987435], [-84.49144300046446, 39.120059999874435], [-84.49294300046431, 39.12015999987439]]], "type": "Polygon"}, "id": "376", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 13.0, "AGE_18": 63.0, "AGE_20_24": 10.0, "AGE_21": 56.0, "AGE_25_34": 18.0, "AGE_35_44": 23.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 27.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.62, "BG": "390610019002", "BLACK": 71.0, "BLOCK": "390610019002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9108.6552, "F1_RACE": 94.0, "F2_RACES": 4.0, "FEMALE": 58.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 22.0, "GROUP_QUAR": 22.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 4.0, "ID": 671540.0, "IN_HOUSEHO": 76.0, "MALE": 40.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 96.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 98.0, "RENTER_SIZ": 2.74, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 23.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.4913430004645, 39.12095999987435, -84.48974300046466, 39.12205999987426], "geometry": {"coordinates": [[[-84.4913430004645, 39.12105999987435], [-84.4913430004645, 39.12205999987426], [-84.48974300046466, 39.121959999874264], [-84.48984300046465, 39.12095999987435], [-84.4913430004645, 39.12105999987435]]], "type": "Polygon"}, "id": "377", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.4, "BG": "390610019001", "BLACK": 17.0, "BLOCK": "390610019001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2951.8509, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 671560.0, "IN_HOUSEHO": 17.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 17.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49234300046437, 39.121959999874264, -84.48964300046468, 39.12325999987412], "geometry": {"coordinates": [[[-84.49134300046451, 39.12325999987412], [-84.48964300046468, 39.12315999987414], [-84.48974300046466, 39.121959999874264], [-84.4913430004645, 39.12205999987426], [-84.49234300046437, 39.122159999874235], [-84.49134300046451, 39.12325999987412]]], "type": "Polygon"}, "id": "378", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 14.0, "AGE_15_19": 14.0, "AGE_18": 107.0, "AGE_20_24": 7.0, "AGE_21": 102.0, "AGE_25_34": 14.0, "AGE_35_44": 31.0, "AGE_45_54": 16.0, "AGE_55_59": 11.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 13.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.24, "BG": "390610019001", "BLACK": 130.0, "BLOCK": "390610019001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15459.0754, "F1_RACE": 146.0, "F2_RACES": 2.0, "FEMALE": 84.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 73.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 7.0, "ID": 671577.0, "IN_HOUSEHO": 148.0, "MALE": 64.0, "MALE_18": 47.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 145.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.2, "POPULATION": 148.0, "RENTER_SIZ": 2.07, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.1236599998741, -84.49114300046453, 39.12445999987403], "geometry": {"coordinates": [[[-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.12445999987402], [-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12385999987407], [-84.49174300046447, 39.1236599998741], [-84.49174300046447, 39.12405999987406]]], "type": "Polygon"}, "id": "379", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671596.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.12445999987402, -84.49104300046453, 39.12525999987394], "geometry": {"coordinates": [[[-84.49164300046446, 39.12495999987399], [-84.49154300046447, 39.12525999987394], [-84.49104300046453, 39.12515999987397], [-84.49114300046453, 39.12485999987399], [-84.49114300046453, 39.12445999987403], [-84.49174300046447, 39.12445999987402], [-84.49164300046446, 39.12495999987399]]], "type": "Polygon"}, "id": "380", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 8.0, "AGE_20_24": 2.0, "AGE_21": 6.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.2, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7244.4205, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 9.0, "ID": 671614.0, "IN_HOUSEHO": 11.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 11.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50684300046272, 39.11195999987513, -84.50584300046286, 39.112559999875074], "geometry": {"coordinates": [[[-84.50684300046272, 39.11205999987513], [-84.50674300046276, 39.112559999875074], [-84.50641300046279, 39.11252299987507], [-84.50584300046286, 39.112459999875085], [-84.50594300046285, 39.11195999987513], [-84.50651600046277, 39.11202399987514], [-84.50684300046272, 39.11205999987513]]], "type": "Polygon"}, "id": "381", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 41.0, "AGE_20_24": 3.0, "AGE_21": 41.0, "AGE_25_34": 15.0, "AGE_35_44": 8.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.73, "BG": "390610018001", "BLACK": 7.0, "BLOCK": "390610018001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26427.5833, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 0.0, "ID": 665138.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.61, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 37.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50594300046285, 39.11195999987513, -84.50394300046305, 39.112459999875085], "geometry": {"coordinates": [[[-84.50594300046285, 39.11195999987513], [-84.50584300046286, 39.112459999875085], [-84.50394300046305, 39.11235999987508], [-84.50424300046303, 39.11195999987513], [-84.50594300046285, 39.11195999987513]]], "type": "Polygon"}, "id": "382", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 4.0, "AGE_21": 17.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.23, "BG": "390610018001", "BLACK": 17.0, "BLOCK": "390610018001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9547.7662, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 0.0, "ID": 665158.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 29.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 12.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50584300046286, 39.11235999987508, -84.50394300046305, 39.112859999875035], "geometry": {"coordinates": [[[-84.50584300046286, 39.112459999875085], [-84.50584300046286, 39.112859999875035], [-84.50394300046305, 39.112759999875045], [-84.50394300046305, 39.11235999987508], [-84.50584300046286, 39.112459999875085]]], "type": "Polygon"}, "id": "383", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 27.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 13.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.48, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12077.766, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 665175.0, "IN_HOUSEHO": 34.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 34.0, "RENTER_SIZ": 1.56, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 19.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.112759999875045, -84.50384300046308, 39.11365999987494], "geometry": {"coordinates": [[[-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11365999987494], [-84.50967000046245, 39.11361299987495], [-84.50654300046278, 39.11345999987498], [-84.50484300046296, 39.113259999875005], [-84.50384300046308, 39.11325999987501], [-84.50394300046305, 39.112759999875045], [-84.50584300046286, 39.112859999875035], [-84.50664300046277, 39.112959999875024], [-84.50754300046268, 39.112959999875024], [-84.50872100046254, 39.113050999875014], [-84.50884300046253, 39.11305999987503], [-84.50889600046254, 39.113072999874994], [-84.5092430004625, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.51064300046235, 39.11315999987501], [-84.51064300046235, 39.113459999874955]]], "type": "Polygon"}, "id": "384", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 161.0, "AGE_20_24": 16.0, "AGE_21": 154.0, "AGE_25_34": 67.0, "AGE_35_44": 38.0, "AGE_45_54": 15.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 7.0, "AGE_62": 13.0, "AGE_65": 8.0, "AGE_65_74": 3.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 96.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 108.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.09, "AVG_HHSIZE": 1.9, "BG": "390610018001", "BLACK": 95.0, "BLOCK": "390610018001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16653.418, "F1_RACE": 206.0, "F2_RACES": 1.0, "FEMALE": 99.0, "FEMALE_18": 73.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 75.0, "HOUSEHOLDS": 109.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 109.0, "HU_VACANT": 19.0, "ID": 665193.0, "IN_HOUSEHO": 207.0, "MALE": 108.0, "MALE_18": 88.0, "MALE_65": 4.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 63.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 1.57, "POPULATION": 207.0, "RENTER_SIZ": 2.14, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 107.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50754300046268, 39.112459999875085, -84.50584300046286, 39.112959999875024], "geometry": {"coordinates": [[[-84.50754300046268, 39.11255999987504], [-84.50754300046268, 39.112959999875024], [-84.50664300046277, 39.112959999875024], [-84.50584300046286, 39.112859999875035], [-84.50584300046286, 39.112459999875085], [-84.50641300046279, 39.11252299987507], [-84.50674300046276, 39.112559999875074], [-84.50754300046268, 39.11255999987504]]], "type": "Polygon"}, "id": "385", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 74.0, "AGE_20_24": 7.0, "AGE_21": 74.0, "AGE_25_34": 31.0, "AGE_35_44": 13.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 68.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.59, "BG": "390610018001", "BLACK": 9.0, "BLOCK": "390610018001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 30734.8221, "F1_RACE": 78.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 32.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 0.0, "ID": 665219.0, "IN_HOUSEHO": 78.0, "MALE": 44.0, "MALE_18": 42.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.93, "POPULATION": 78.0, "RENTER_SIZ": 1.46, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 68.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.113259999875005, -84.50474300046298, 39.11755999987458], "geometry": {"coordinates": [[[-84.50914300046253, 39.11735999987462], [-84.50874300046257, 39.11755999987458], [-84.50804300046265, 39.1174599998746], [-84.50814300046262, 39.116659999874656], [-84.50714300046275, 39.11655999987471], [-84.50734300046271, 39.11495999987483], [-84.50634300046282, 39.114859999874874], [-84.5064430004628, 39.11435999987489], [-84.50474300046298, 39.11415999987494], [-84.50478100046298, 39.11381799987495], [-84.50484300046296, 39.113259999875005], [-84.50654300046278, 39.11345999987498], [-84.50967000046245, 39.11361299987495], [-84.51064300046235, 39.11365999987494], [-84.51054300046238, 39.11465999987484], [-84.51044300046239, 39.11525899987483], [-84.5103430004624, 39.11575999987474], [-84.5103430004624, 39.116059999874714], [-84.51014300046242, 39.117259999874626], [-84.50964300046249, 39.11725999987464], [-84.50914300046253, 39.11735999987462]]], "type": "Polygon"}, "id": "386", "properties": {"AGE_0_5": 29.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 211.0, "AGE_20_24": 31.0, "AGE_21": 195.0, "AGE_25_34": 58.0, "AGE_35_44": 42.0, "AGE_45_54": 30.0, "AGE_55_59": 6.0, "AGE_5_9": 33.0, "AGE_60_64": 12.0, "AGE_62": 36.0, "AGE_65": 25.0, "AGE_65_74": 11.0, "AGE_75_84": 10.0, "AGE_85": 4.0, "AMINDIAN": 6.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 189.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 10.0, "AP_WHITE": 96.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.9, "AVG_HHSIZE": 2.1, "BG": "390610018002", "BLACK": 186.0, "BLOCK": "390610018002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5712.5373, "F1_RACE": 294.0, "F2_RACES": 4.0, "FEMALE": 167.0, "FEMALE_18": 120.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 70.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 142.0, "HSNG_UNITS": 187.0, "HU_OCCUPIE": 142.0, "HU_VACANT": 45.0, "ID": 665239.0, "IN_HOUSEHO": 298.0, "MALE": 131.0, "MALE_18": 91.0, "MALE_65": 11.0, "MEDIAN_AGE": 28.6, "MSA": "1640", "NH_WHITE": 92.0, "NOT_HISPAN": 298.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 102.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 1.83, "POPULATION": 298.0, "RENTER_SIZ": 2.21, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 92.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50734300046271, 39.114859999874874, -84.50614300046284, 39.11655999987471], "geometry": {"coordinates": [[[-84.50734300046271, 39.11495999987483], [-84.50714300046275, 39.11655999987471], [-84.50614300046284, 39.11655999987471], [-84.50624300046285, 39.115859999874736], [-84.50634300046282, 39.114859999874874], [-84.50734300046271, 39.11495999987483]]], "type": "Polygon"}, "id": "387", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 4.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 8.0, "AGE_21": 55.0, "AGE_25_34": 23.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 14.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 94.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.27, "BG": "390610018002", "BLACK": 2.0, "BLOCK": "390610018002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16084.1922, "F1_RACE": 98.0, "F2_RACES": 0.0, "FEMALE": 57.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 665273.0, "IN_HOUSEHO": 98.0, "MALE": 41.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 94.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 98.0, "RENTER_SIZ": 2.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 94.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.5064430004628, 39.11415999987494, -84.504643000463, 39.114859999874874], "geometry": {"coordinates": [[[-84.5064430004628, 39.11435999987489], [-84.50634300046282, 39.114859999874874], [-84.504643000463, 39.11475999987486], [-84.50474300046298, 39.11415999987494], [-84.5064430004628, 39.11435999987489]]], "type": "Polygon"}, "id": "388", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 1.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 6.0, "AGE_21": 34.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.35, "BG": "390610018003", "BLACK": 45.0, "BLOCK": "390610018003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17335.6307, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 665292.0, "IN_HOUSEHO": 61.0, "MALE": 25.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.67, "POPULATION": 61.0, "RENTER_SIZ": 2.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 15.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50634300046282, 39.11475999987486, -84.50454300046302, 39.115859999874736], "geometry": {"coordinates": [[[-84.50634300046282, 39.114859999874874], [-84.50624300046285, 39.115859999874736], [-84.50454300046302, 39.11575999987477], [-84.504597000463, 39.11522299987483], [-84.504643000463, 39.11475999987486], [-84.50634300046282, 39.114859999874874]]], "type": "Polygon"}, "id": "389", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 8.0, "AGE_15_19": 69.0, "AGE_18": 189.0, "AGE_20_24": 95.0, "AGE_21": 96.0, "AGE_25_34": 15.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 7.0, "AP_OTHER": 4.0, "AP_WHITE": 157.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.7, "BG": "390610018003", "BLACK": 44.0, "BLOCK": "390610018003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 33790.5296, "F1_RACE": 210.0, "F2_RACES": 4.0, "FEMALE": 119.0, "FEMALE_18": 104.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 160.0, "GROUP_QUAR": 160.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 665309.0, "IN_HOUSEHO": 54.0, "MALE": 95.0, "MALE_18": 85.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.7, "MSA": "1640", "NH_WHITE": 150.0, "NOT_HISPAN": 207.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.8, "POPULATION": 214.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 156.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50624300046285, 39.11565999987479, -84.50354300046311, 39.11655999987471], "geometry": {"coordinates": [[[-84.50454300046302, 39.11575999987477], [-84.50624300046285, 39.115859999874736], [-84.50614300046284, 39.11655999987471], [-84.50354300046313, 39.116359999874724], [-84.50354300046311, 39.11565999987479], [-84.50454300046302, 39.11575999987477]]], "type": "Polygon"}, "id": "390", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 6.0, "AGE_15_19": 16.0, "AGE_18": 73.0, "AGE_20_24": 10.0, "AGE_21": 65.0, "AGE_25_34": 12.0, "AGE_35_44": 20.0, "AGE_45_54": 15.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 35.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.34, "BG": "390610018003", "BLACK": 68.0, "BLOCK": "390610018003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15195.927, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 51.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 7.0, "ID": 665327.0, "IN_HOUSEHO": 103.0, "MALE": 53.0, "MALE_18": 36.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.2, "MSA": "1640", "NH_WHITE": 35.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.95, "POPULATION": 103.0, "RENTER_SIZ": 2.64, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 35.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50484300046296, 39.113259999875005, -84.5037430004631, 39.11415999987494], "geometry": {"coordinates": [[[-84.50484300046296, 39.113259999875005], [-84.50478100046298, 39.11381799987495], [-84.50474300046298, 39.11415999987494], [-84.5037430004631, 39.11415999987494], [-84.50384300046308, 39.11325999987501], [-84.50484300046296, 39.113259999875005]]], "type": "Polygon"}, "id": "391", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 22.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.41, "BG": "390610018002", "BLACK": 6.0, "BLOCK": "390610018002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7199.4118, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 665508.0, "IN_HOUSEHO": 24.0, "MALE": 14.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.14, "POPULATION": 24.0, "RENTER_SIZ": 1.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 18.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50474300046298, 39.11415999987494, -84.5037430004631, 39.11475999987486], "geometry": {"coordinates": [[[-84.50474300046298, 39.11415999987494], [-84.504643000463, 39.11475999987486], [-84.5037430004631, 39.11465999987489], [-84.5037430004631, 39.11415999987494], [-84.50474300046298, 39.11415999987494]]], "type": "Polygon"}, "id": "392", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.2, "BG": "390610018003", "BLACK": 7.0, "BLOCK": "390610018003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5656.7291, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 665526.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 11.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50894300046254, 39.111059999875216, -84.5001430004635, 39.117559999874615], "geometry": {"coordinates": [[[-84.50354300046313, 39.116359999874724], [-84.50374300046313, 39.11735999987465], [-84.50274300046323, 39.11735999987464], [-84.50174300046334, 39.117459999874605], [-84.5001430004635, 39.117559999874615], [-84.50034300046349, 39.11595999987476], [-84.50034300046349, 39.115659999874794], [-84.5017430004633, 39.113559999875015], [-84.50204200046329, 39.11314099987504], [-84.50224300046324, 39.11285999987504], [-84.50339500046312, 39.11121399987522], [-84.5034840004631, 39.1112009998752], [-84.50424300046303, 39.111059999875216], [-84.50511600046293, 39.111270999875174], [-84.50714300046272, 39.11175999987512], [-84.50748200046267, 39.11186199987511], [-84.50811600046262, 39.11204699987508], [-84.50894300046254, 39.112259999875086], [-84.50764300046268, 39.112159999875075], [-84.50684300046272, 39.11205999987513], [-84.50651600046277, 39.11202399987514], [-84.50594300046285, 39.11195999987513], [-84.50424300046303, 39.11195999987513], [-84.50394300046305, 39.11235999987508], [-84.50394300046305, 39.112759999875045], [-84.50384300046308, 39.11325999987501], [-84.5037430004631, 39.11415999987494], [-84.5037430004631, 39.11465999987489], [-84.50354300046311, 39.11565999987479], [-84.50354300046313, 39.116359999874724]]], "type": "Polygon"}, "id": "393", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 5.0, "AGE_18": 249.0, "AGE_20_24": 31.0, "AGE_21": 240.0, "AGE_25_34": 78.0, "AGE_35_44": 69.0, "AGE_45_54": 39.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 3.0, "AP_BLACK": 152.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 107.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610018001", "BLACK": 146.0, "BLOCK": "390610018001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4187.3135, "F1_RACE": 256.0, "F2_RACES": 8.0, "FEMALE": 145.0, "FEMALE_18": 137.0, "FEMALE_65": 9.0, "GQ_INSTITU": 131.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 131.0, "HAWAIIAN": 2.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 7.0, "ID": 665544.0, "IN_HOUSEHO": 133.0, "MALE": 119.0, "MALE_18": 112.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.6, "MSA": "1640", "NH_WHITE": 100.0, "NOT_HISPAN": 263.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.07, "POPULATION": 264.0, "RENTER_SIZ": 1.55, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 100.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.504643000463, 39.11465999987489, -84.50354300046311, 39.11575999987477], "geometry": {"coordinates": [[[-84.504643000463, 39.11475999987486], [-84.504597000463, 39.11522299987483], [-84.50454300046302, 39.11575999987477], [-84.50354300046311, 39.11565999987479], [-84.5037430004631, 39.11465999987489], [-84.504643000463, 39.11475999987486]]], "type": "Polygon"}, "id": "394", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 2.0, "AGE_35_44": 11.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 1.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11748.7157, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 665585.0, "IN_HOUSEHO": 42.0, "MALE": 22.0, "MALE_18": 15.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 2.55, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50224300046324, 39.112759999875045, -84.49944300046359, 39.11755999987462], "geometry": {"coordinates": [[[-84.50184300046328, 39.11285999987504], [-84.50224300046324, 39.11285999987504], [-84.50204200046329, 39.11314099987504], [-84.5017430004633, 39.113559999875015], [-84.50034300046349, 39.115659999874794], [-84.50034300046349, 39.11595999987476], [-84.5001430004635, 39.117559999874615], [-84.49944300046359, 39.11755999987462], [-84.49964300046355, 39.11715999987465], [-84.49974300046355, 39.1169599998747], [-84.50044300046345, 39.114359999874935], [-84.50064300046343, 39.11375999987498], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.113159999875045], [-84.50074300046342, 39.11285999987504], [-84.5008430004634, 39.112759999875045], [-84.50104300046338, 39.11285999987504], [-84.50184300046328, 39.11285999987504]]], "type": "Polygon"}, "id": "395", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002032", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 665602.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.50814300046262, 39.11655999987471, -84.50704300046277, 39.117459999874605], "geometry": {"coordinates": [[[-84.50814300046262, 39.116659999874656], [-84.50804300046265, 39.1174599998746], [-84.50704300046277, 39.117459999874605], [-84.50714300046275, 39.11655999987471], [-84.50814300046262, 39.116659999874656]]], "type": "Polygon"}, "id": "396", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 44.0, "AGE_20_24": 7.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.35, "BG": "390610018002", "BLACK": 54.0, "BLOCK": "390610018002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19262.5134, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 2.0, "ID": 665632.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 61.0, "RENTER_SIZ": 2.33, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50874300046257, 39.11735999987464, -84.50594300046288, 39.118259999874546], "geometry": {"coordinates": [[[-84.50804300046265, 39.1174599998746], [-84.50874300046257, 39.11755999987458], [-84.5086430004626, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50594300046288, 39.118059999874546], [-84.50604300046285, 39.11735999987464], [-84.50704300046277, 39.117459999874605], [-84.50804300046265, 39.1174599998746]]], "type": "Polygon"}, "id": "397", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 53.0, "AGE_20_24": 6.0, "AGE_21": 53.0, "AGE_25_34": 15.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 33.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 2.0, "BG": "390610018002", "BLACK": 34.0, "BLOCK": "390610018002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9587.1918, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 5.0, "ID": 665650.0, "IN_HOUSEHO": 68.0, "MALE": 35.0, "MALE_18": 26.0, "MALE_65": 4.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 68.0, "RENTER_SIZ": 2.04, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 30.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50854300046262, 39.118059999874546, -84.50574300046291, 39.11985999987439], "geometry": {"coordinates": [[[-84.50854300046262, 39.11965999987441], [-84.50844300046263, 39.11985999987439], [-84.50574300046291, 39.11965999987443], [-84.50594300046288, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.11965999987441]]], "type": "Polygon"}, "id": "398", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 40.0, "AGE_15_19": 129.0, "AGE_18": 39.0, "AGE_20_24": 7.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 159.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.23, "BG": "390610022002", "BLACK": 145.0, "BLOCK": "390610022002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12815.5717, "F1_RACE": 188.0, "F2_RACES": 18.0, "FEMALE": 57.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 169.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 169.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 56.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 26.0, "ID": 665671.0, "IN_HOUSEHO": 37.0, "MALE": 149.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 16.3, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 203.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 206.0, "RENTER_SIZ": 1.23, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 42.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50984300046241, 39.112259999875086, -84.50889600046254, 39.11315999987501], "geometry": {"coordinates": [[[-84.50984300046241, 39.112259999875086], [-84.50964300046245, 39.113159999875], [-84.5092430004625, 39.11315999987501], [-84.50889600046254, 39.113072999874994], [-84.50902300046252, 39.112259999875086], [-84.50934300046248, 39.112259999875086], [-84.50974300046244, 39.112259999875086], [-84.50984300046241, 39.112259999875086]]], "type": "Polygon"}, "id": "399", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 63.0, "AGE_20_24": 9.0, "AGE_21": 60.0, "AGE_25_34": 30.0, "AGE_35_44": 16.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 39.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.51, "BG": "390610018001", "BLACK": 33.0, "BLOCK": "390610018001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 28721.4807, "F1_RACE": 69.0, "F2_RACES": 5.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 13.0, "ID": 654795.0, "IN_HOUSEHO": 74.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 74.0, "RENTER_SIZ": 1.51, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 36.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51244300046214, 39.11235999987505, -84.51144300046225, 39.11365999987494], "geometry": {"coordinates": [[[-84.51234300046217, 39.112759999874996], [-84.51224300046218, 39.11365999987494], [-84.51144300046225, 39.113559999874965], [-84.51154300046225, 39.11235999987505], [-84.5118430004622, 39.11235999987505], [-84.51244300046214, 39.11245999987508], [-84.51234300046217, 39.112759999874996]]], "type": "Polygon"}, "id": "400", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 3.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.08, "BG": "390610017002", "BLACK": 35.0, "BLOCK": "390610017002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13233.9894, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 654816.0, "IN_HOUSEHO": 50.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 50.0, "RENTER_SIZ": 2.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 13.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51234300046217, 39.11435999987488, -84.51194300046222, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51234300046217, 39.11465999987484], [-84.51194300046222, 39.114859999874845], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "401", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610017002", "BLACK": 0.0, "BLOCK": "390610017002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 654853.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.51154300046225, 39.112259999875086, -84.51064300046235, 39.113559999874965], "geometry": {"coordinates": [[[-84.51154300046225, 39.11235999987505], [-84.51144300046225, 39.113559999874965], [-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11315999987501], [-84.51074300046233, 39.112259999875086], [-84.51124300046226, 39.11235999987505], [-84.51154300046225, 39.11235999987505]]], "type": "Polygon"}, "id": "402", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 8.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.69, "BG": "390610017002", "BLACK": 36.0, "BLOCK": "390610017002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12246.3169, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 16.0, "ID": 654869.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 18.0, "MALE_65": 3.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 44.0, "RENTER_SIZ": 1.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51224300046218, 39.113459999874955, -84.51054300046238, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51194300046222, 39.114859999874845], [-84.51124300046229, 39.114759999874835], [-84.51054300046238, 39.11465999987484], [-84.51064300046235, 39.11365999987494], [-84.51064300046235, 39.113459999874955], [-84.51144300046225, 39.113559999874965], [-84.51224300046218, 39.11365999987494], [-84.51224300046218, 39.11385999987491], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "403", "properties": {"AGE_0_5": 25.0, "AGE_10_14": 15.0, "AGE_15_19": 17.0, "AGE_18": 67.0, "AGE_20_24": 20.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 22.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 133.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 8.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 3.02, "BG": "390610017002", "BLACK": 133.0, "BLOCK": "390610017002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20337.9547, "F1_RACE": 142.0, "F2_RACES": 0.0, "FEMALE": 93.0, "FEMALE_18": 47.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 5.0, "ID": 654889.0, "IN_HOUSEHO": 142.0, "MALE": 49.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 142.0, "RENTER_SIZ": 3.02, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 8.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51074300046233, 39.112259999875086, -84.50964300046245, 39.11315999987501], "geometry": {"coordinates": [[[-84.51074300046233, 39.112259999875086], [-84.51064300046235, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.50984300046241, 39.112259999875086], [-84.51074300046233, 39.112259999875086]]], "type": "Polygon"}, "id": "404", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 9.0, "AGE_21": 37.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 22.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.7, "AVG_HHSIZE": 1.84, "BG": "390610018001", "BLACK": 23.0, "BLOCK": "390610018001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14524.9091, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 6.0, "ID": 654930.0, "IN_HOUSEHO": 46.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 46.0, "RENTER_SIZ": 1.95, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 21.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51724400046167, 39.11885999987444, -84.51494400046192, 39.120659999874285], "geometry": {"coordinates": [[[-84.51724400046167, 39.11925999987439], [-84.5160440004618, 39.12025999987432], [-84.51574400046184, 39.120659999874285], [-84.5153440004619, 39.12035999987432], [-84.51494400046192, 39.12005999987433], [-84.51544400046188, 39.11965999987435], [-84.51664400046174, 39.11885999987444], [-84.51724400046167, 39.11925999987439]]], "type": "Polygon"}, "id": "405", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 13.0, "AGE_15_19": 4.0, "AGE_18": 78.0, "AGE_20_24": 8.0, "AGE_21": 76.0, "AGE_25_34": 27.0, "AGE_35_44": 21.0, "AGE_45_54": 8.0, "AGE_55_59": 8.0, "AGE_5_9": 11.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 75.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.85, "AVG_HHSIZE": 2.73, "BG": "390610023001", "BLACK": 75.0, "BLOCK": "390610023001017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17728.9634, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 35.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 49.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 654989.0, "IN_HOUSEHO": 60.0, "MALE": 74.0, "MALE_18": 60.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 108.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 109.0, "RENTER_SIZ": 2.81, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51664400046174, 39.11835999987448, -84.51434300046199, 39.12005999987433], "geometry": {"coordinates": [[[-84.51644400046175, 39.118559999874456], [-84.51664400046174, 39.11885999987444], [-84.51544400046188, 39.11965999987435], [-84.51494400046192, 39.12005999987433], [-84.51464300046196, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51484300046194, 39.11925999987439], [-84.51604400046179, 39.11835999987448], [-84.51644400046175, 39.118559999874456]]], "type": "Polygon"}, "id": "406", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 10.0, "AGE_15_19": 7.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 51.0, "AGE_25_34": 19.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.95, "AVG_HHSIZE": 2.69, "BG": "390610023001", "BLACK": 87.0, "BLOCK": "390610023001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16468.1683, "F1_RACE": 94.0, "F2_RACES": 0.0, "FEMALE": 49.0, "FEMALE_18": 28.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 655008.0, "IN_HOUSEHO": 94.0, "MALE": 45.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 94.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 94.0, "RENTER_SIZ": 2.94, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 7.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51404300046202, 39.118859999874445, -84.51264300046216, 39.12005999987433], "geometry": {"coordinates": [[[-84.51404300046202, 39.119859999874365], [-84.51374300046204, 39.12005999987433], [-84.51264300046216, 39.11905999987444], [-84.51294300046213, 39.118859999874445], [-84.51404300046202, 39.119859999874365]]], "type": "Polygon"}, "id": "407", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 18.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 21.0, "BLOCK": "390610023001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12980.7644, "F1_RACE": 21.0, "F2_RACES": 4.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 0.0, "ID": 655027.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 25.0, "RENTER_SIZ": 2.11, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51374300046204, 39.11905999987444, -84.51224300046222, 39.12025999987432], "geometry": {"coordinates": [[[-84.51264300046216, 39.11905999987444], [-84.51374300046204, 39.12005999987433], [-84.51344300046208, 39.12025999987432], [-84.51224300046222, 39.11925999987442], [-84.51264300046216, 39.11905999987444]]], "type": "Polygon"}, "id": "408", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 15.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.3, "BG": "390610023001", "BLACK": 20.0, "BLOCK": "390610023001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10706.9148, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655045.0, "IN_HOUSEHO": 23.0, "MALE": 11.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 23.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51574400046184, 39.12035999987432, -84.51384400046206, 39.12305999987405], "geometry": {"coordinates": [[[-84.5153440004619, 39.12035999987432], [-84.51574400046184, 39.120659999874285], [-84.51484400046195, 39.12165999987419], [-84.51444400046199, 39.12305999987405], [-84.51384400046206, 39.123059999874044], [-84.51454400046198, 39.121159999874216], [-84.5153440004619, 39.12035999987432]]], "type": "Polygon"}, "id": "409", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 0.0, "AGE_21": 27.0, "AGE_25_34": 3.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.7, "BG": "390610023001", "BLACK": 17.0, "BLOCK": "390610023001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5980.6488, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 9.0, "ID": 655093.0, "IN_HOUSEHO": 34.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 16.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5153440004619, 39.12005999987433, -84.5135430004621, 39.123059999874044], "geometry": {"coordinates": [[[-84.51494400046192, 39.12005999987433], [-84.5153440004619, 39.12035999987432], [-84.51454400046198, 39.121159999874216], [-84.51384400046206, 39.123059999874044], [-84.5135430004621, 39.12295999987407], [-84.51414300046201, 39.121059999874234], [-84.51494400046192, 39.12005999987433]]], "type": "Polygon"}, "id": "410", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 43.0, "AGE_20_24": 6.0, "AGE_21": 39.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 72.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.93, "AVG_HHSIZE": 2.96, "BG": "390610023001", "BLACK": 72.0, "BLOCK": "390610023001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15953.1883, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 655111.0, "IN_HOUSEHO": 74.0, "MALE": 34.0, "MALE_18": 17.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 74.0, "RENTER_SIZ": 3.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51494400046192, 39.11955999987439, -84.51294300046216, 39.12295999987407], "geometry": {"coordinates": [[[-84.51364300046208, 39.12075999987429], [-84.51344300046208, 39.12025999987432], [-84.51374300046204, 39.12005999987433], [-84.51404300046202, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51464300046196, 39.119859999874365], [-84.51494400046192, 39.12005999987433], [-84.51414300046201, 39.121059999874234], [-84.5135430004621, 39.12295999987407], [-84.51304300046216, 39.12295999987407], [-84.51314300046214, 39.12225999987413], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12125999987424], [-84.51364300046208, 39.12075999987429]]], "type": "Polygon"}, "id": "411", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 43.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 15.0, "AGE_60_64": 3.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.83, "BG": "390610023001", "BLACK": 78.0, "BLOCK": "390610023001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8435.8163, "F1_RACE": 81.0, "F2_RACES": 4.0, "FEMALE": 46.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 18.0, "ID": 655128.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.62, "POPULATION": 85.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51604400046179, 39.11465999987484, -84.50874300046257, 39.119859999874365], "geometry": {"coordinates": [[[-84.51194300046222, 39.114859999874845], [-84.51274300046212, 39.11555999987476], [-84.51354300046206, 39.11605999987469], [-84.51434300046198, 39.11685999987463], [-84.51604400046179, 39.11835999987448], [-84.51484300046194, 39.11925999987439], [-84.51434300046199, 39.11955999987439], [-84.51404300046202, 39.119859999874365], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11855999987446], [-84.51204300046221, 39.11905999987444], [-84.51199500046225, 39.119094999874434], [-84.51164300046227, 39.118859999874445], [-84.51152500046227, 39.11883199987446], [-84.5115430004623, 39.11875999987447], [-84.5114430004623, 39.11845999987449], [-84.51164300046227, 39.11775999987456], [-84.51114300046231, 39.11775999987456], [-84.51024300046244, 39.11765999987456], [-84.50874300046257, 39.11755999987458], [-84.50914300046253, 39.11735999987462], [-84.50964300046249, 39.11725999987464], [-84.51014300046242, 39.117259999874626], [-84.5103430004624, 39.116059999874714], [-84.5103430004624, 39.11575999987474], [-84.51044300046239, 39.11525899987483], [-84.51054300046238, 39.11465999987484], [-84.51124300046229, 39.114759999874835], [-84.51194300046222, 39.114859999874845]]], "type": "Polygon"}, "id": "412", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 12.0, "AGE_15_19": 24.0, "AGE_18": 208.0, "AGE_20_24": 35.0, "AGE_21": 191.0, "AGE_25_34": 65.0, "AGE_35_44": 28.0, "AGE_45_54": 41.0, "AGE_55_59": 12.0, "AGE_5_9": 26.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 2.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 2.0, "AP_BLACK": 169.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 108.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.96, "BG": "390610023001", "BLACK": 167.0, "BLOCK": "390610023001011", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4676.5279, "F1_RACE": 273.0, "F2_RACES": 6.0, "FEMALE": 158.0, "FEMALE_18": 117.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 28.0, "GROUP_QUAR": 28.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 80.0, "HOUSEHOLDS": 128.0, "HSNG_UNITS": 165.0, "HU_OCCUPIE": 128.0, "HU_VACANT": 37.0, "ID": 655154.0, "IN_HOUSEHO": 251.0, "MALE": 121.0, "MALE_18": 91.0, "MALE_65": 7.0, "MEDIAN_AGE": 28.9, "MSA": "1640", "NH_WHITE": 103.0, "NOT_HISPAN": 279.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.98, "POPULATION": 279.0, "RENTER_SIZ": 1.95, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 103.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5115430004623, 39.11835999987451, -84.51004300046245, 39.11915999987442], "geometry": {"coordinates": [[[-84.5114430004623, 39.11915999987442], [-84.51004300046245, 39.11905999987446], [-84.51024300046244, 39.11835999987451], [-84.5114430004623, 39.11845999987449], [-84.5115430004623, 39.11875999987447], [-84.51152500046227, 39.11883199987446], [-84.5114430004623, 39.11915999987442]]], "type": "Polygon"}, "id": "413", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 23.0, "AGE_15_19": 22.0, "AGE_18": 107.0, "AGE_20_24": 21.0, "AGE_21": 92.0, "AGE_25_34": 19.0, "AGE_35_44": 25.0, "AGE_45_54": 12.0, "AGE_55_59": 5.0, "AGE_5_9": 25.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 7.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.77, "BG": "390610023001", "BLACK": 180.0, "BLOCK": "390610023001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 54847.5451, "F1_RACE": 186.0, "F2_RACES": 8.0, "FEMALE": 108.0, "FEMALE_18": 65.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 87.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 17.0, "ID": 655191.0, "IN_HOUSEHO": 194.0, "MALE": 86.0, "MALE_18": 42.0, "MALE_65": 4.0, "MEDIAN_AGE": 20.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 192.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 194.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 4.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51294300046213, 39.11855999987446, -84.51199500046225, 39.11925999987442], "geometry": {"coordinates": [[[-84.51264300046216, 39.11855999987446], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11905999987444], [-84.51224300046222, 39.11925999987442], [-84.51199500046225, 39.119094999874434], [-84.51204300046221, 39.11905999987444], [-84.51264300046216, 39.11855999987446]]], "type": "Polygon"}, "id": "414", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 18.0, "BLOCK": "390610023001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18411.019, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 2.0, "ID": 655210.0, "IN_HOUSEHO": 20.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51164300046227, 39.11755999987458, -84.5086430004626, 39.11845999987449], "geometry": {"coordinates": [[[-84.51164300046227, 39.11775999987456], [-84.5114430004623, 39.11845999987449], [-84.51024300046244, 39.11835999987451], [-84.51014300046243, 39.11815999987453], [-84.5086430004626, 39.118059999874546], [-84.50874300046257, 39.11755999987458], [-84.51024300046244, 39.11765999987456], [-84.51114300046231, 39.11775999987456], [-84.51164300046227, 39.11775999987456]]], "type": "Polygon"}, "id": "415", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 11.0, "AGE_18": 67.0, "AGE_20_24": 5.0, "AGE_21": 62.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.76, "BG": "390610023001", "BLACK": 104.0, "BLOCK": "390610023001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18052.868, "F1_RACE": 110.0, "F2_RACES": 3.0, "FEMALE": 63.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 41.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 41.0, "HU_VACANT": 23.0, "ID": 655230.0, "IN_HOUSEHO": 113.0, "MALE": 50.0, "MALE_18": 21.0, "MALE_65": 3.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 112.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 113.0, "RENTER_SIZ": 2.49, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 6.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51024300046244, 39.118059999874546, -84.50854300046262, 39.11905999987446], "geometry": {"coordinates": [[[-84.51014300046243, 39.11815999987453], [-84.51024300046244, 39.11835999987451], [-84.51004300046245, 39.11905999987446], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.118259999874546], [-84.5086430004626, 39.118059999874546], [-84.51014300046243, 39.11815999987453]]], "type": "Polygon"}, "id": "416", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.63, "BG": "390610023001", "BLACK": 11.0, "BLOCK": "390610023001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2420.6561, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 655250.0, "IN_HOUSEHO": 13.0, "MALE": 3.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 1.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5114430004623, 39.11905999987446, -84.51004300046245, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.5114430004623, 39.11915999987442], [-84.51134300046232, 39.11975999987437], [-84.51004300046246, 39.11975999987439], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "417", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 1.0, "AGE_21": 16.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.89, "AVG_HHSIZE": 2.9, "BG": "390610023001", "BLACK": 25.0, "BLOCK": "390610023001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8897.7256, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 11.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655269.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.0, "POPULATION": 29.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51004300046246, 39.11895999987447, -84.50854300046262, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.51004300046246, 39.11975999987439], [-84.50854300046262, 39.11965999987441], [-84.50854300046262, 39.11895999987447], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "418", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 6.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 11.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.07, "BG": "390610023001", "BLACK": 57.0, "BLOCK": "390610023001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15428.5444, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 29.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 14.0, "ID": 655287.0, "IN_HOUSEHO": 60.0, "MALE": 27.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.0, "POPULATION": 60.0, "RENTER_SIZ": 1.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.51364300046208, 39.11883199987446, -84.50834300046266, 39.1227599998741], "geometry": {"coordinates": [[[-84.51344300046208, 39.12025999987432], [-84.51364300046208, 39.12075999987429], [-84.51314300046214, 39.12125999987424], [-84.51294300046216, 39.121859999874175], [-84.51114300046235, 39.122159999874164], [-84.51074300046238, 39.12235999987413], [-84.50964300046252, 39.12235999987413], [-84.50954300046251, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50904300046258, 39.1227599998741], [-84.50834300046267, 39.12265999987413], [-84.50834300046266, 39.12195999987419], [-84.50834300046266, 39.121459999874226], [-84.50844300046265, 39.120459999874335], [-84.50844300046263, 39.11985999987439], [-84.50854300046262, 39.11965999987441], [-84.51004300046246, 39.11975999987439], [-84.51134300046232, 39.11975999987437], [-84.5114430004623, 39.11915999987442], [-84.51152500046227, 39.11883199987446], [-84.51164300046227, 39.118859999874445], [-84.51199500046225, 39.119094999874434], [-84.51224300046222, 39.11925999987442], [-84.51344300046208, 39.12025999987432]]], "type": "Polygon"}, "id": "419", "properties": {"AGE_0_5": 21.0, "AGE_10_14": 18.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 10.0, "AGE_21": 89.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 26.0, "AGE_65": 24.0, "AGE_65_74": 10.0, "AGE_75_84": 14.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 118.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.81, "BG": "390610023001", "BLACK": 117.0, "BLOCK": "390610023001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3076.3077, "F1_RACE": 149.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 58.0, "FEMALE_65": 11.0, "GQ_INSTITU": 29.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 29.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 655304.0, "IN_HOUSEHO": 121.0, "MALE": 59.0, "MALE_18": 37.0, "MALE_65": 13.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 147.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 150.0, "RENTER_SIZ": 2.76, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.50902300046252, 39.112159999875075, -84.50754300046268, 39.113072999874994], "geometry": {"coordinates": [[[-84.50894300046254, 39.112259999875086], [-84.50902300046252, 39.112259999875086], [-84.50889600046254, 39.113072999874994], [-84.50884300046253, 39.11305999987503], [-84.50872100046254, 39.113050999875014], [-84.50754300046268, 39.112959999875024], [-84.50754300046268, 39.11255999987504], [-84.50764300046268, 39.112159999875075], [-84.50894300046254, 39.112259999875086]]], "type": "Polygon"}, "id": "420", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.4, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15123.6404, "F1_RACE": 60.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 3.0, "ID": 663324.0, "IN_HOUSEHO": 63.0, "MALE": 37.0, "MALE_18": 36.0, "MALE_65": 6.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.38, "POPULATION": 63.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 46.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50764300046268, 39.11205999987513, -84.50674300046276, 39.112559999875074], "geometry": {"coordinates": [[[-84.50764300046268, 39.112159999875075], [-84.50754300046268, 39.11255999987504], [-84.50674300046276, 39.112559999875074], [-84.50684300046272, 39.11205999987513], [-84.50764300046268, 39.112159999875075]]], "type": "Polygon"}, "id": "421", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 15.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.6, "BG": "390610018001", "BLACK": 6.0, "BLOCK": "390610018001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24408.4609, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 663344.0, "IN_HOUSEHO": 24.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 32.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 1.4, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 26.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.51574400046195, 39.13555999987291, -84.51334400046224, 39.14215999987227], "geometry": {"coordinates": [[[-84.51544400046203, 39.14215999987227], [-84.51514400046204, 39.14195999987231], [-84.51334400046224, 39.14045999987247], [-84.51347700046222, 39.13879699987262], [-84.5135440004622, 39.13795999987269], [-84.51364400046218, 39.13675999987281], [-84.51384400046216, 39.13555999987291], [-84.51474400046204, 39.13565999987291], [-84.515144000462, 39.13585999987289], [-84.51494400046204, 39.1365599998728], [-84.51514400046202, 39.1377599998727], [-84.51574400046195, 39.138259999872645], [-84.51534400046202, 39.13945999987253], [-84.51544400046203, 39.14195999987231], [-84.51544400046203, 39.14215999987227]]], "type": "Polygon"}, "id": "422", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 5.0, "AGE_15_19": 26.0, "AGE_18": 272.0, "AGE_20_24": 94.0, "AGE_21": 235.0, "AGE_25_34": 103.0, "AGE_35_44": 32.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 39.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 7.0, "AP_WHITE": 238.0, "AREA": 0.04, "ASIAN": 31.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.84, "AVG_HHSIZE": 1.64, "BG": "390610030001", "BLACK": 23.0, "BLOCK": "390610030001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8040.7282, "F1_RACE": 292.0, "F2_RACES": 9.0, "FEMALE": 133.0, "FEMALE_18": 115.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 26.0, "GROUP_QUAR": 26.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 136.0, "HOUSEHOLDS": 168.0, "HSNG_UNITS": 197.0, "HU_OCCUPIE": 168.0, "HU_VACANT": 29.0, "ID": 685133.0, "IN_HOUSEHO": 275.0, "MALE": 168.0, "MALE_18": 157.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 228.0, "NOT_HISPAN": 288.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 156.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 3.42, "POPULATION": 301.0, "RENTER_SIZ": 1.5, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 232.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.51084400046246, 39.132659999873205, -84.50894300046268, 39.135359999872946], "geometry": {"coordinates": [[[-84.50984300046255, 39.132659999873205], [-84.51004300046255, 39.132659999873205], [-84.51084400046246, 39.132759999873166], [-84.51074400046248, 39.13405999987305], [-84.5106440004625, 39.13485999987298], [-84.51054400046252, 39.135359999872946], [-84.50934300046264, 39.13525999987296], [-84.50894300046268, 39.13515999987295], [-84.50904300046265, 39.133859999873096], [-84.50914300046264, 39.132659999873205], [-84.50984300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "423", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 84.0, "AGE_20_24": 40.0, "AGE_21": 73.0, "AGE_25_34": 20.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 15.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 8.0, "AP_WHITE": 60.0, "AREA": 0.02, "ASIAN": 14.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 2.1, "BG": "390610030002", "BLACK": 20.0, "BLOCK": "390610030002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6418.8255, "F1_RACE": 97.0, "F2_RACES": 8.0, "FEMALE": 44.0, "FEMALE_18": 30.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 9.0, "ID": 685197.0, "IN_HOUSEHO": 105.0, "MALE": 61.0, "MALE_18": 54.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.3, "MSA": "1640", "NH_WHITE": 57.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 43.0, "OTHER_RACE": 6.0, "OWNER_SIZE": 1.14, "POPULATION": 105.0, "RENTER_SIZ": 2.26, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 57.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50914300046264, 39.13255999987321, -84.50834300046274, 39.13385999987311], "geometry": {"coordinates": [[[-84.50914300046264, 39.132659999873205], [-84.50904300046265, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50844300046272, 39.13255999987321], [-84.50914300046264, 39.132659999873205]]], "type": "Polygon"}, "id": "424", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 41.0, "AGE_20_24": 22.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.95, "BG": "390610032002", "BLACK": 11.0, "BLOCK": "390610032002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12581.9809, "F1_RACE": 40.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 4.0, "ID": 685220.0, "IN_HOUSEHO": 41.0, "MALE": 23.0, "MALE_18": 23.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 41.0, "RENTER_SIZ": 2.0, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 25.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49684300046403, 39.13995999987257, -84.49244300046452, 39.14235999987234], "geometry": {"coordinates": [[[-84.49664300046405, 39.14235999987234], [-84.49464300046427, 39.14225999987239], [-84.49464300046427, 39.14195999987242], [-84.49244300046452, 39.141659999872424], [-84.49294300046445, 39.140959999872514], [-84.49354300046437, 39.13995999987257], [-84.49674300046402, 39.14015999987255], [-84.49674300046404, 39.140759999872486], [-84.49684300046403, 39.141159999872464], [-84.49664300046405, 39.14235999987234]]], "type": "Polygon"}, "id": "425", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 42.0, "AGE_15_19": 34.0, "AGE_18": 291.0, "AGE_20_24": 17.0, "AGE_21": 276.0, "AGE_25_34": 58.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 19.0, "AGE_5_9": 59.0, "AGE_60_64": 14.0, "AGE_62": 97.0, "AGE_65": 88.0, "AGE_65_74": 51.0, "AGE_75_84": 27.0, "AGE_85": 10.0, "AMINDIAN": 2.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 440.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 9.0, "AP_WHITE": 18.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.12, "BG": "390610067004", "BLACK": 423.0, "BLOCK": "390610067004005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15992.0043, "F1_RACE": 440.0, "F2_RACES": 18.0, "FEMALE": 251.0, "FEMALE_18": 169.0, "FEMALE_65": 53.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 2.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 216.0, "HSNG_UNITS": 265.0, "HU_OCCUPIE": 216.0, "HU_VACANT": 49.0, "ID": 703088.0, "IN_HOUSEHO": 458.0, "MALE": 207.0, "MALE_18": 122.0, "MALE_65": 35.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 458.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 458.0, "RENTER_SIZ": 2.01, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 12.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.4960430004641, 39.1366599998729, -84.4903430004647, 39.13945999987263], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.4960430004641, 39.137259999872825], [-84.49544300046415, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.49454300046426, 39.13795999987277], [-84.49114300046465, 39.139459999872614], [-84.49044300046471, 39.13945999987263], [-84.4903430004647, 39.13845999987273], [-84.49124300046462, 39.13785999987278], [-84.49154300046457, 39.1366599998729], [-84.49234300046447, 39.13675999987287], [-84.49374300046433, 39.136759999872865], [-84.49514300046418, 39.13685999987286], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "426", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 10.0, "AGE_15_19": 8.0, "AGE_18": 135.0, "AGE_20_24": 18.0, "AGE_21": 127.0, "AGE_25_34": 30.0, "AGE_35_44": 43.0, "AGE_45_54": 28.0, "AGE_55_59": 2.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 182.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 8, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.05, "BG": "390610034001", "BLACK": 180.0, "BLOCK": "390610034001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5709.7727, "F1_RACE": 184.0, "F2_RACES": 3.0, "FEMALE": 99.0, "FEMALE_18": 68.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 19.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 46.0, "HOUSEHOLDS": 82.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 82.0, "HU_VACANT": 28.0, "ID": 703108.0, "IN_HOUSEHO": 168.0, "MALE": 88.0, "MALE_18": 67.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 187.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.3, "POPULATION": 187.0, "RENTER_SIZ": 2.01, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 4.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49524300046419, 39.13795999987277, -84.49094300046467, 39.140959999872514], "geometry": {"coordinates": [[[-84.4949430004642, 39.13855999987269], [-84.49444300046427, 39.139159999872646], [-84.49354300046437, 39.13995999987257], [-84.49294300046445, 39.140959999872514], [-84.49094300046467, 39.140859999872504], [-84.49114300046465, 39.139459999872614], [-84.49454300046426, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.4949430004642, 39.13855999987269]]], "type": "Polygon"}, "id": "427", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 22.0, "AGE_15_19": 26.0, "AGE_18": 139.0, "AGE_20_24": 23.0, "AGE_21": 122.0, "AGE_25_34": 24.0, "AGE_35_44": 34.0, "AGE_45_54": 24.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 2.0, "AGE_62": 20.0, "AGE_65": 19.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 7.0, "AP_BLACK": 219.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.58, "BG": "390610067001", "BLACK": 208.0, "BLOCK": "390610067001006", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9898.6106, "F1_RACE": 221.0, "F2_RACES": 11.0, "FEMALE": 127.0, "FEMALE_18": 88.0, "FEMALE_65": 15.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 10.0, "GROUP_QUAR": 10.0, "HAWAIIAN": 0.0, "HH_FAMILY": 63.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 130.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 44.0, "ID": 703132.0, "IN_HOUSEHO": 222.0, "MALE": 105.0, "MALE_18": 51.0, "MALE_65": 4.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 219.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.84, "POPULATION": 232.0, "RENTER_SIZ": 2.22, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 11.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.5055430004631, 39.143859999872156, -84.50414300046327, 39.14555999987203], "geometry": {"coordinates": [[[-84.5055430004631, 39.143859999872156], [-84.50534300046313, 39.14555999987203], [-84.50414300046327, 39.145459999872024], [-84.50422400046327, 39.14481199987206], [-84.50434300046324, 39.14385999987216], [-84.5055430004631, 39.143859999872156]]], "type": "Polygon"}, "id": "428", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 21.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 5.83, "AVG_HHSIZE": 4.75, "BG": "390610069002", "BLACK": 37.0, "BLOCK": "390610069002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5157.6308, "F1_RACE": 37.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 703153.0, "IN_HOUSEHO": 38.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 38.0, "RENTER_SIZ": 3.33, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.5096440004627, 39.146459999871915, -84.50524400046316, 39.15095999987151], "geometry": {"coordinates": [[[-84.5096440004627, 39.148759999871686], [-84.50924400046276, 39.150759999871525], [-84.5088440004628, 39.15095999987151], [-84.5077440004629, 39.149759999871605], [-84.50674400046303, 39.14935999987167], [-84.50624400046307, 39.14935999987166], [-84.50606600046308, 39.14934199987168], [-84.50524400046316, 39.14925999987169], [-84.50531600046315, 39.148107999871776], [-84.50534400046317, 39.147659999871806], [-84.50624400046306, 39.14775999987181], [-84.50644400046303, 39.146459999871915], [-84.50714400046296, 39.14655999987191], [-84.50834400046283, 39.147259999871835], [-84.50884400046277, 39.14805999987176], [-84.5096440004627, 39.148759999871686]]], "type": "Polygon"}, "id": "429", "properties": {"AGE_0_5": 40.0, "AGE_10_14": 71.0, "AGE_15_19": 50.0, "AGE_18": 285.0, "AGE_20_24": 25.0, "AGE_21": 258.0, "AGE_25_34": 66.0, "AGE_35_44": 61.0, "AGE_45_54": 48.0, "AGE_55_59": 14.0, "AGE_5_9": 61.0, "AGE_60_64": 6.0, "AGE_62": 53.0, "AGE_65": 49.0, "AGE_65_74": 21.0, "AGE_75_84": 20.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 483.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 10.0, "AREA": 0.04, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.77, "BG": "390610069004", "BLACK": 473.0, "BLOCK": "390610069004000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12535.53, "F1_RACE": 481.0, "F2_RACES": 10.0, "FEMALE": 293.0, "FEMALE_18": 191.0, "FEMALE_65": 34.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 128.0, "HH_NONFAMI": 49.0, "HOUSEHOLDS": 177.0, "HSNG_UNITS": 189.0, "HU_OCCUPIE": 177.0, "HU_VACANT": 12.0, "ID": 703170.0, "IN_HOUSEHO": 491.0, "MALE": 198.0, "MALE_18": 94.0, "MALE_65": 15.0, "MEDIAN_AGE": 24.6, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 488.0, "OCCHU_OWNE": 62.0, "OCCHU_RENT": 115.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.29, "POPULATION": 491.0, "RENTER_SIZ": 3.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50644400046303, 39.14645999987191, -84.50534400046317, 39.14775999987181], "geometry": {"coordinates": [[[-84.50644400046303, 39.146459999871915], [-84.50624400046306, 39.14775999987181], [-84.50534400046317, 39.147659999871806], [-84.50544300046313, 39.14645999987191], [-84.50644400046303, 39.146459999871915]]], "type": "Polygon"}, "id": "430", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 21.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.55, "BG": "390610069004", "BLACK": 32.0, "BLOCK": "390610069004002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8810.7256, "F1_RACE": 37.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 4.0, "ID": 703197.0, "IN_HOUSEHO": 39.0, "MALE": 21.0, "MALE_18": 10.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 39.0, "RENTER_SIZ": 4.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50574300046307, 39.141859999872366, -84.50294300046339, 39.142959999872254], "geometry": {"coordinates": [[[-84.50574300046307, 39.14205999987235], [-84.50564300046308, 39.142959999872254], [-84.50314300046337, 39.14285999987227], [-84.50294300046339, 39.14275999987228], [-84.50304300046336, 39.141859999872366], [-84.50324300046334, 39.14185999987239], [-84.50574300046307, 39.14205999987235]]], "type": "Polygon"}, "id": "431", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 14.0, "AGE_15_19": 11.0, "AGE_18": 93.0, "AGE_20_24": 10.0, "AGE_21": 86.0, "AGE_25_34": 15.0, "AGE_35_44": 31.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 5.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.15, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13478.2777, "F1_RACE": 125.0, "F2_RACES": 4.0, "FEMALE": 64.0, "FEMALE_18": 46.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 79.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 19.0, "ID": 703214.0, "IN_HOUSEHO": 129.0, "MALE": 65.0, "MALE_18": 47.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 129.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.26, "POPULATION": 129.0, "RENTER_SIZ": 2.1, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50564300046308, 39.14285999987227, -84.50304300046338, 39.14385999987216], "geometry": {"coordinates": [[[-84.50564300046308, 39.142959999872254], [-84.5055430004631, 39.143859999872156], [-84.50434300046324, 39.14385999987216], [-84.50340000046334, 39.14378699987218], [-84.50304300046338, 39.14375999987218], [-84.50314300046337, 39.14285999987227], [-84.50564300046308, 39.142959999872254]]], "type": "Polygon"}, "id": "432", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 16.0, "AGE_15_19": 10.0, "AGE_18": 89.0, "AGE_20_24": 9.0, "AGE_21": 84.0, "AGE_25_34": 13.0, "AGE_35_44": 21.0, "AGE_45_54": 13.0, "AGE_55_59": 8.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.47, "BG": "390610069002", "BLACK": 114.0, "BLOCK": "390610069002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14670.7028, "F1_RACE": 125.0, "F2_RACES": 1.0, "FEMALE": 59.0, "FEMALE_18": 44.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 11.0, "ID": 703234.0, "IN_HOUSEHO": 126.0, "MALE": 67.0, "MALE_18": 45.0, "MALE_65": 9.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 126.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 126.0, "RENTER_SIZ": 2.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50434300046324, 39.14375999987218, -84.50294300046342, 39.145459999872024], "geometry": {"coordinates": [[[-84.50434300046324, 39.14385999987216], [-84.50422400046327, 39.14481199987206], [-84.50414300046327, 39.145459999872024], [-84.50294300046342, 39.14535999987205], [-84.50294300046342, 39.145159999872064], [-84.50304300046338, 39.14375999987218], [-84.50340000046334, 39.14378699987218], [-84.50434300046324, 39.14385999987216]]], "type": "Polygon"}, "id": "433", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 12.0, "AGE_45_54": 12.0, "AGE_55_59": 0.0, "AGE_5_9": 17.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.22, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15069.8309, "F1_RACE": 113.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 43.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 8.0, "ID": 703253.0, "IN_HOUSEHO": 113.0, "MALE": 53.0, "MALE_18": 31.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.1, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 113.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 45.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 113.0, "RENTER_SIZ": 2.11, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50304300046336, 39.1416599998724, -84.50024300046367, 39.14275999987228], "geometry": {"coordinates": [[[-84.50294300046339, 39.14275999987228], [-84.50024300046367, 39.1425599998723], [-84.50024300046367, 39.1416599998724], [-84.50304300046336, 39.141859999872366], [-84.50294300046339, 39.14275999987228]]], "type": "Polygon"}, "id": "434", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 66.0, "AGE_20_24": 3.0, "AGE_21": 62.0, "AGE_25_34": 11.0, "AGE_35_44": 15.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 14.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.52, "BG": "390610069002", "BLACK": 64.0, "BLOCK": "390610069002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9021.0236, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 38.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 16.0, "ID": 703271.0, "IN_HOUSEHO": 83.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.1, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.92, "POPULATION": 83.0, "RENTER_SIZ": 2.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50314300046337, 39.1425599998723, -84.50014300046368, 39.14375999987218], "geometry": {"coordinates": [[[-84.50314300046337, 39.14285999987227], [-84.50304300046338, 39.14375999987218], [-84.50014300046368, 39.143559999872224], [-84.50024300046367, 39.1425599998723], [-84.50294300046339, 39.14275999987228], [-84.50314300046337, 39.14285999987227]]], "type": "Polygon"}, "id": "435", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 27.0, "AGE_15_19": 11.0, "AGE_18": 101.0, "AGE_20_24": 20.0, "AGE_21": 91.0, "AGE_25_34": 8.0, "AGE_35_44": 30.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 15.0, "AGE_60_64": 7.0, "AGE_62": 24.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 7.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 163.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.43, "BG": "390610069002", "BLACK": 162.0, "BLOCK": "390610069002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15673.642, "F1_RACE": 167.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 57.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 19.0, "ID": 703289.0, "IN_HOUSEHO": 168.0, "MALE": 77.0, "MALE_18": 44.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 168.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 168.0, "RENTER_SIZ": 3.64, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50304300046338, 39.143559999872224, -84.49994300046373, 39.145159999872064], "geometry": {"coordinates": [[[-84.50304300046338, 39.14375999987218], [-84.50294300046342, 39.145159999872064], [-84.49994300046373, 39.14485999987211], [-84.5000430004637, 39.143959999872195], [-84.50014300046368, 39.143559999872224], [-84.50304300046338, 39.14375999987218]]], "type": "Polygon"}, "id": "436", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 24.0, "AGE_15_19": 19.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 14.0, "AGE_55_59": 1.0, "AGE_5_9": 23.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 11, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.74, "BG": "390610069002", "BLACK": 128.0, "BLOCK": "390610069002004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8747.1976, "F1_RACE": 131.0, "F2_RACES": 0.0, "FEMALE": 68.0, "FEMALE_18": 39.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 703308.0, "IN_HOUSEHO": 131.0, "MALE": 63.0, "MALE_18": 22.0, "MALE_65": 4.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 131.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 131.0, "RENTER_SIZ": 3.93, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.14535999987205, -84.50284300046341, 39.14645999987191], "geometry": {"coordinates": [[[-84.50534300046313, 39.14555999987203], [-84.50544300046313, 39.14645999987191], [-84.5038430004633, 39.14635999987197], [-84.50284300046341, 39.146259999871944], [-84.50294300046342, 39.14535999987205], [-84.50414300046327, 39.145459999872024], [-84.50534300046313, 39.14555999987203]]], "type": "Polygon"}, "id": "437", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 76.0, "AGE_20_24": 6.0, "AGE_21": 71.0, "AGE_25_34": 13.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.3, "BG": "390610069002", "BLACK": 99.0, "BLOCK": "390610069002001", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12794.2932, "F1_RACE": 105.0, "F2_RACES": 3.0, "FEMALE": 53.0, "FEMALE_18": 39.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 703326.0, "IN_HOUSEHO": 108.0, "MALE": 55.0, "MALE_18": 37.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 104.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.17, "POPULATION": 108.0, "RENTER_SIZ": 2.34, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 6.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.146259999871944, -84.50264300046345, 39.14925999987169], "geometry": {"coordinates": [[[-84.5038430004633, 39.14635999987197], [-84.50544300046313, 39.14645999987191], [-84.50534400046317, 39.147659999871806], [-84.50531600046315, 39.148107999871776], [-84.50524400046316, 39.14925999987169], [-84.50360700046336, 39.14913399987168], [-84.50264300046345, 39.149059999871696], [-84.50284300046341, 39.146259999871944], [-84.5038430004633, 39.14635999987197]]], "type": "Polygon"}, "id": "438", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 40.0, "AGE_15_19": 22.0, "AGE_18": 189.0, "AGE_20_24": 13.0, "AGE_21": 178.0, "AGE_25_34": 32.0, "AGE_35_44": 50.0, "AGE_45_54": 33.0, "AGE_55_59": 10.0, "AGE_5_9": 28.0, "AGE_60_64": 9.0, "AGE_62": 40.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.53, "BG": "390610069001", "BLACK": 281.0, "BLOCK": "390610069001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10697.4731, "F1_RACE": 285.0, "F2_RACES": 3.0, "FEMALE": 162.0, "FEMALE_18": 110.0, "FEMALE_65": 24.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 114.0, "HSNG_UNITS": 127.0, "HU_OCCUPIE": 114.0, "HU_VACANT": 13.0, "ID": 703346.0, "IN_HOUSEHO": 288.0, "MALE": 126.0, "MALE_18": 79.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 39.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.31, "POPULATION": 288.0, "RENTER_SIZ": 2.64, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50294300046342, 39.14485999987211, -84.49984300046374, 39.146259999871944], "geometry": {"coordinates": [[[-84.50294300046342, 39.14535999987205], [-84.50284300046341, 39.146259999871944], [-84.49984300046374, 39.14605999987198], [-84.49994300046373, 39.14485999987211], [-84.50294300046342, 39.145159999872064], [-84.50294300046342, 39.14535999987205]]], "type": "Polygon"}, "id": "439", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 27.0, "AGE_15_19": 16.0, "AGE_18": 91.0, "AGE_20_24": 10.0, "AGE_21": 84.0, "AGE_25_34": 16.0, "AGE_35_44": 29.0, "AGE_45_54": 7.0, "AGE_55_59": 6.0, "AGE_5_9": 10.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 9.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 2.72, "BG": "390610069002", "BLACK": 155.0, "BLOCK": "390610069002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12013.0464, "F1_RACE": 155.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 47.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 17.0, "ID": 703368.0, "IN_HOUSEHO": 155.0, "MALE": 82.0, "MALE_18": 44.0, "MALE_65": 10.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 155.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.11, "POPULATION": 155.0, "RENTER_SIZ": 2.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.50624400046307, 39.149059999871696, -84.50264300046345, 39.150259999871565], "geometry": {"coordinates": [[[-84.50606600046308, 39.14934199987168], [-84.50624400046307, 39.14935999987166], [-84.50614400046308, 39.150259999871565], [-84.50454400046326, 39.15015999987159], [-84.50344300046336, 39.15015999987159], [-84.50284300046344, 39.14975999987163], [-84.50264300046345, 39.149059999871696], [-84.50360700046336, 39.14913399987168], [-84.50524400046316, 39.14925999987169], [-84.50606600046308, 39.14934199987168]]], "type": "Polygon"}, "id": "440", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 68.0, "AGE_20_24": 4.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 14.0, "AGE_45_54": 16.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.31, "BG": "390610069001", "BLACK": 82.0, "BLOCK": "390610069001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6949.0985, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 44.0, "FEMALE_18": 38.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 3.0, "ID": 703387.0, "IN_HOUSEHO": 83.0, "MALE": 39.0, "MALE_18": 30.0, "MALE_65": 7.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 83.0, "RENTER_SIZ": 2.5, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50494400046323, 39.15015999987159, -84.50344300046336, 39.15165999987144], "geometry": {"coordinates": [[[-84.50454400046326, 39.15015999987159], [-84.50454400046326, 39.15125999987151], [-84.50494400046323, 39.15165999987144], [-84.50374300046336, 39.15155999987148], [-84.50344300046336, 39.15015999987159], [-84.50454400046326, 39.15015999987159]]], "type": "Polygon"}, "id": "441", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 43.0, "AGE_20_24": 0.0, "AGE_21": 41.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 14.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610069001", "BLACK": 54.0, "BLOCK": "390610069001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10378.7052, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 25.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 0.0, "ID": 703410.0, "IN_HOUSEHO": 55.0, "MALE": 24.0, "MALE_18": 18.0, "MALE_65": 5.0, "MEDIAN_AGE": 48.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 55.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.50924400046277, 39.14605999987198, -84.49794300046398, 39.15545999987109], "geometry": {"coordinates": [[[-84.50604400046315, 39.15485999987118], [-84.50564400046316, 39.15545999987109], [-84.50314400046344, 39.15525999987111], [-84.50244300046353, 39.15485999987118], [-84.50044300046372, 39.15245999987139], [-84.49924300046385, 39.15165999987147], [-84.49794300046398, 39.15045999987158], [-84.49874300046388, 39.14965999987165], [-84.49884300046386, 39.149359999871685], [-84.49904300046383, 39.14605999987199], [-84.49984300046374, 39.14605999987198], [-84.50284300046341, 39.146259999871944], [-84.50264300046345, 39.149059999871696], [-84.50284300046344, 39.14975999987163], [-84.50344300046336, 39.15015999987159], [-84.50374300046336, 39.15155999987148], [-84.50494400046323, 39.15165999987144], [-84.50454400046326, 39.15125999987151], [-84.50454400046326, 39.15015999987159], [-84.50614400046308, 39.150259999871565], [-84.50624400046307, 39.14935999987166], [-84.50674400046303, 39.14935999987167], [-84.5077440004629, 39.149759999871605], [-84.5088440004628, 39.15095999987151], [-84.50924400046277, 39.151459999871456], [-84.50814400046289, 39.152059999871405], [-84.50604400046315, 39.15485999987118]]], "type": "Polygon"}, "id": "442", "properties": {"AGE_0_5": 86.0, "AGE_10_14": 107.0, "AGE_15_19": 69.0, "AGE_18": 1096.0, "AGE_20_24": 76.0, "AGE_21": 1064.0, "AGE_25_34": 181.0, "AGE_35_44": 219.0, "AGE_45_54": 202.0, "AGE_55_59": 77.0, "AGE_5_9": 113.0, "AGE_60_64": 69.0, "AGE_62": 301.0, "AGE_65": 252.0, "AGE_65_74": 150.0, "AGE_75_84": 82.0, "AGE_85": 20.0, "AMINDIAN": 3.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 6.0, "AP_BLACK": 1381.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 13.0, "AP_OTHER": 11.0, "AP_WHITE": 61.0, "AREA": 0.19, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 1.9, "BG": "390610069001", "BLACK": 1368.0, "BLOCK": "390610069001000", "BURGLARY": 7, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7516.6639, "F1_RACE": 1437.0, "F2_RACES": 14.0, "FEMALE": 792.0, "FEMALE_18": 623.0, "FEMALE_65": 158.0, "GQ_INSTITU": 32.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 32.0, "HAWAIIAN": 0.0, "HH_FAMILY": 320.0, "HH_NONFAMI": 425.0, "HOUSEHOLDS": 745.0, "HSNG_UNITS": 840.0, "HU_OCCUPIE": 745.0, "HU_VACANT": 95.0, "ID": 703426.0, "IN_HOUSEHO": 1419.0, "MALE": 659.0, "MALE_18": 473.0, "MALE_65": 94.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 1438.0, "OCCHU_OWNE": 202.0, "OCCHU_RENT": 543.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 2.27, "POPULATION": 1451.0, "RENTER_SIZ": 1.77, "THEFT": 17, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 55.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49984300046371, 39.14125999987244, -84.49884300046381, 39.141559999872406], "geometry": {"coordinates": [[[-84.49884300046381, 39.141559999872406], [-84.49884300046381, 39.14125999987244], [-84.49984300046371, 39.14125999987244], [-84.49974300046372, 39.141559999872406], [-84.49884300046381, 39.141559999872406]]], "type": "Polygon"}, "id": "443", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.29, "BG": "390610067003", "BLACK": 23.0, "BLOCK": "390610067003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21796.2254, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 3.0, "ID": 703460.0, "IN_HOUSEHO": 23.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 23.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.50024300046367, 39.141559999872406, -84.49814300046388, 39.143959999872195], "geometry": {"coordinates": [[[-84.50014300046368, 39.143559999872224], [-84.5000430004637, 39.143959999872195], [-84.49884300046384, 39.1438599998722], [-84.49894300046381, 39.14245999987232], [-84.4981430004639, 39.14235999987234], [-84.49814300046388, 39.14155999987243], [-84.49884300046381, 39.141559999872406], [-84.49974300046372, 39.141559999872406], [-84.50024300046367, 39.1416599998724], [-84.50024300046367, 39.1425599998723], [-84.50014300046368, 39.143559999872224]]], "type": "Polygon"}, "id": "444", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.64, "BG": "390610067003", "BLACK": 28.0, "BLOCK": "390610067003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2125.5272, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 32.0, "ID": 703476.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 29.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.49894300046381, 39.14235999987234, -84.49794300046392, 39.1438599998722], "geometry": {"coordinates": [[[-84.49894300046381, 39.14245999987232], [-84.49884300046384, 39.1438599998722], [-84.49794300046392, 39.1438599998722], [-84.49794300046392, 39.143159999872275], [-84.4981430004639, 39.14235999987234], [-84.49894300046381, 39.14245999987232]]], "type": "Polygon"}, "id": "445", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 8.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 11.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 66.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.29, "AVG_HHSIZE": 3.53, "BG": "390610067003", "BLACK": 65.0, "BLOCK": "390610067003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13813.8186, "F1_RACE": 66.0, "F2_RACES": 1.0, "FEMALE": 35.0, "FEMALE_18": 21.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 13.0, "ID": 703500.0, "IN_HOUSEHO": 67.0, "MALE": 32.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 67.0, "RENTER_SIZ": 4.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.5000430004637, 39.1438599998722, -84.49774300046396, 39.14485999987211], "geometry": {"coordinates": [[[-84.5000430004637, 39.143959999872195], [-84.49994300046373, 39.14485999987211], [-84.49774300046396, 39.144759999872115], [-84.49794300046392, 39.1438599998722], [-84.49884300046384, 39.1438599998722], [-84.5000430004637, 39.143959999872195]]], "type": "Polygon"}, "id": "446", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 41.0, "AGE_20_24": 6.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 4.0, "AGE_55_59": 5.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.83, "BG": "390610067003", "BLACK": 68.0, "BLOCK": "390610067003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9206.2354, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 10.0, "ID": 703519.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.4, "POPULATION": 68.0, "RENTER_SIZ": 2.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49994300046373, 39.144759999872115, -84.49774300046396, 39.14605999987199], "geometry": {"coordinates": [[[-84.49994300046373, 39.14485999987211], [-84.49984300046374, 39.14605999987198], [-84.49904300046383, 39.14605999987199], [-84.49774300046397, 39.145959999872], [-84.49774300046396, 39.144759999872115], [-84.49994300046373, 39.14485999987211]]], "type": "Polygon"}, "id": "447", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.43, "BG": "390610068002", "BLACK": 9.0, "BLOCK": "390610068002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1028.9523, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 2.0, "ID": 703537.0, "IN_HOUSEHO": 10.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 10.0, "RENTER_SIZ": 1.43, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#3a528b"}, "type": "Feature"}, {"bbox": [-84.4981430004639, 39.14225999987239, -84.49454300046429, 39.143159999872275], "geometry": {"coordinates": [[[-84.4981430004639, 39.14235999987234], [-84.49794300046392, 39.143159999872275], [-84.49454300046429, 39.142859999872286], [-84.49464300046427, 39.14225999987239], [-84.49664300046405, 39.14235999987234], [-84.4981430004639, 39.14235999987234]]], "type": "Polygon"}, "id": "448", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 25.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 7.0, "AGE_21": 90.0, "AGE_25_34": 22.0, "AGE_35_44": 33.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 29.0, "AGE_60_64": 3.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 1.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 166.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.13, "BG": "390610067003", "BLACK": 166.0, "BLOCK": "390610067003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18917.468, "F1_RACE": 166.0, "F2_RACES": 0.0, "FEMALE": 108.0, "FEMALE_18": 61.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 40.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 53.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 53.0, "HU_VACANT": 16.0, "ID": 703556.0, "IN_HOUSEHO": 166.0, "MALE": 58.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 166.0, "RENTER_SIZ": 3.33, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.144559999872136, -84.49514300046425, 39.145959999872], "geometry": {"coordinates": [[[-84.49774300046396, 39.144759999872115], [-84.49774300046397, 39.145959999872], [-84.49514300046425, 39.14575999987203], [-84.49534300046422, 39.144559999872136], [-84.49774300046396, 39.144759999872115]]], "type": "Polygon"}, "id": "449", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 10.0, "AGE_15_19": 11.0, "AGE_18": 166.0, "AGE_20_24": 16.0, "AGE_21": 152.0, "AGE_25_34": 23.0, "AGE_35_44": 34.0, "AGE_45_54": 37.0, "AGE_55_59": 11.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 32.0, "AGE_65": 29.0, "AGE_65_74": 16.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 203.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.94, "AVG_HHSIZE": 1.51, "BG": "390610068002", "BLACK": 195.0, "BLOCK": "390610068002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18334.4967, "F1_RACE": 197.0, "F2_RACES": 8.0, "FEMALE": 94.0, "FEMALE_18": 79.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 136.0, "HSNG_UNITS": 148.0, "HU_OCCUPIE": 136.0, "HU_VACANT": 12.0, "ID": 703574.0, "IN_HOUSEHO": 205.0, "MALE": 111.0, "MALE_18": 87.0, "MALE_65": 8.0, "MEDIAN_AGE": 40.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 135.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 9.0, "POPULATION": 205.0, "RENTER_SIZ": 1.45, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49904300046383, 39.145959999872, -84.49624300046413, 39.15045999987158], "geometry": {"coordinates": [[[-84.49774300046397, 39.145959999872], [-84.49904300046383, 39.14605999987199], [-84.49884300046386, 39.149359999871685], [-84.49874300046388, 39.14965999987165], [-84.49794300046398, 39.15045999987158], [-84.497643000464, 39.15025999987161], [-84.49704300046406, 39.14965999987167], [-84.49704300046406, 39.148759999871736], [-84.49624300046413, 39.148759999871736], [-84.49644300046413, 39.14835999987178], [-84.49734300046401, 39.147459999871856], [-84.49774300046397, 39.145959999872]]], "type": "Polygon"}, "id": "450", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 19.0, "AGE_15_19": 15.0, "AGE_18": 207.0, "AGE_20_24": 22.0, "AGE_21": 197.0, "AGE_25_34": 23.0, "AGE_35_44": 31.0, "AGE_45_54": 28.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 4.0, "AGE_62": 81.0, "AGE_65": 80.0, "AGE_65_74": 21.0, "AGE_75_84": 34.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 271.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.24, "BG": "390610068002", "BLACK": 268.0, "BLOCK": "390610068002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10353.2885, "F1_RACE": 277.0, "F2_RACES": 3.0, "FEMALE": 178.0, "FEMALE_18": 134.0, "FEMALE_65": 53.0, "GQ_INSTITU": 58.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 58.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 116.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 17.0, "ID": 703592.0, "IN_HOUSEHO": 222.0, "MALE": 102.0, "MALE_18": 73.0, "MALE_65": 27.0, "MEDIAN_AGE": 40.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 280.0, "OCCHU_OWNE": 33.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.45, "POPULATION": 280.0, "RENTER_SIZ": 2.14, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 9.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.142859999872286, -84.49454300046429, 39.1438599998722], "geometry": {"coordinates": [[[-84.49794300046392, 39.143159999872275], [-84.49794300046392, 39.1438599998722], [-84.49454300046429, 39.14355999987227], [-84.49454300046429, 39.142859999872286], [-84.49794300046392, 39.143159999872275]]], "type": "Polygon"}, "id": "451", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 21.0, "AGE_15_19": 16.0, "AGE_18": 96.0, "AGE_20_24": 7.0, "AGE_21": 91.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 14.0, "AGE_55_59": 4.0, "AGE_5_9": 36.0, "AGE_60_64": 7.0, "AGE_62": 12.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 186.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.82, "BG": "390610067003", "BLACK": 180.0, "BLOCK": "390610067003004", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21107.9915, "F1_RACE": 180.0, "F2_RACES": 6.0, "FEMALE": 110.0, "FEMALE_18": 63.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 18.0, "ID": 703612.0, "IN_HOUSEHO": 186.0, "MALE": 76.0, "MALE_18": 33.0, "MALE_65": 2.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 186.0, "RENTER_SIZ": 2.79, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fde724"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.14355999987227, -84.49434300046431, 39.144759999872115], "geometry": {"coordinates": [[[-84.49794300046392, 39.1438599998722], [-84.49774300046396, 39.144759999872115], [-84.49534300046422, 39.144559999872136], [-84.49434300046431, 39.14445999987216], [-84.49454300046429, 39.14355999987227], [-84.49794300046392, 39.1438599998722]]], "type": "Polygon"}, "id": "452", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 68.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 3.55, "BG": "390610067003", "BLACK": 102.0, "BLOCK": "390610067003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9461.9681, "F1_RACE": 110.0, "F2_RACES": 0.0, "FEMALE": 62.0, "FEMALE_18": 37.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 36.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 5.0, "ID": 703629.0, "IN_HOUSEHO": 110.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.55, "POPULATION": 110.0, "RENTER_SIZ": 3.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 5.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49464300046427, 39.141659999872424, -84.49194300046456, 39.142859999872286], "geometry": {"coordinates": [[[-84.49454300046429, 39.142859999872286], [-84.49194300046456, 39.14255999987233], [-84.49224300046454, 39.14215999987238], [-84.49244300046452, 39.141659999872424], [-84.49464300046427, 39.14195999987242], [-84.49464300046427, 39.14225999987239], [-84.49454300046429, 39.142859999872286]]], "type": "Polygon"}, "id": "453", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 85.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.37, "AVG_HHSIZE": 2.61, "BG": "390610067004", "BLACK": 85.0, "BLOCK": "390610067004004", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10415.8913, "F1_RACE": 86.0, "F2_RACES": 0.0, "FEMALE": 54.0, "FEMALE_18": 40.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 7.0, "ID": 703648.0, "IN_HOUSEHO": 86.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 86.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 86.0, "RENTER_SIZ": 3.07, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#20908c"}, "type": "Feature"}, {"bbox": [-84.49454300046429, 39.14255999987233, -84.49104300046467, 39.14445999987216], "geometry": {"coordinates": [[[-84.49454300046429, 39.14355999987227], [-84.49434300046431, 39.14445999987216], [-84.49104300046467, 39.14415999987221], [-84.4915430004646, 39.143159999872296], [-84.49194300046456, 39.14255999987233], [-84.49454300046429, 39.142859999872286], [-84.49454300046429, 39.14355999987227]]], "type": "Polygon"}, "id": "454", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 703666.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#440154"}, "type": "Feature"}, {"bbox": [-84.49534300046422, 39.14415999987221, -84.49034300046476, 39.14575999987203], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.49404300046436, 39.145659999872066], [-84.49224300046455, 39.14545999987209], [-84.49034300046476, 39.145359999872106], [-84.49054300046475, 39.14495999987214], [-84.49104300046467, 39.14415999987221], [-84.49434300046431, 39.14445999987216], [-84.49534300046422, 39.144559999872136], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "455", "properties": {"AGE_0_5": 35.0, "AGE_10_14": 32.0, "AGE_15_19": 25.0, "AGE_18": 156.0, "AGE_20_24": 23.0, "AGE_21": 139.0, "AGE_25_34": 35.0, "AGE_35_44": 41.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 40.0, "AGE_60_64": 5.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 3.0, "AP_BLACK": 275.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.62, "BG": "390610068002", "BLACK": 270.0, "BLOCK": "390610068002007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13517.0854, "F1_RACE": 271.0, "F2_RACES": 7.0, "FEMALE": 157.0, "FEMALE_18": 104.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 64.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 106.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 106.0, "HU_VACANT": 22.0, "ID": 703686.0, "IN_HOUSEHO": 278.0, "MALE": 121.0, "MALE_18": 52.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 275.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 101.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 278.0, "RENTER_SIZ": 2.67, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#5ec961"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.14575999987203, -84.4948430004643, 39.148759999871736], "geometry": {"coordinates": [[[-84.49624300046413, 39.148759999871736], [-84.4948430004643, 39.14865999987177], [-84.4948430004643, 39.14845999987178], [-84.49514300046425, 39.14575999987203], [-84.49774300046397, 39.145959999872], [-84.49734300046401, 39.147459999871856], [-84.49644300046413, 39.14835999987178], [-84.49624300046413, 39.148759999871736]]], "type": "Polygon"}, "id": "456", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 0.0, "AGE_18": 38.0, "AGE_20_24": 4.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.28, "BG": "390610068002", "BLACK": 43.0, "BLOCK": "390610068002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2300.5913, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 3.0, "GQ_INSTITU": 13.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 13.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 7.0, "ID": 703708.0, "IN_HOUSEHO": 41.0, "MALE": 20.0, "MALE_18": 9.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 54.0, "RENTER_SIZ": 2.46, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006800", "WHITE": 10.0, "__folium_color": "#3a528b"}, "type": "Feature"}], "type": "FeatureCollection"});\n", + " geo_json_7afca762c2cfb2afbcb8b0f1c114494c_add({"bbox": [-84.53054400046031, 39.111059999875216, -84.46004200046795, 39.15545999987109], "features": [{"bbox": [-84.47864300046585, 39.120659999874455, -84.46864200046697, 39.12675999987392], "geometry": {"coordinates": [[[-84.47834300046591, 39.12445999987407], [-84.47774300046596, 39.12445999987407], [-84.47744300046601, 39.1243599998741], [-84.4766430004661, 39.1243599998741], [-84.47524300046624, 39.12455999987408], [-84.47394300046638, 39.12455999987409], [-84.47224300046658, 39.12535999987403], [-84.47194300046661, 39.12645999987392], [-84.47064200046675, 39.12615999987395], [-84.4703420004668, 39.12625999987395], [-84.46884200046696, 39.12675999987392], [-84.46864200046697, 39.1248599998741], [-84.47188800046659, 39.1234969998742], [-84.47603700046615, 39.12175399987434], [-84.47864300046585, 39.120659999874455], [-84.47854300046589, 39.12185999987432], [-84.47834300046591, 39.12445999987407]]], "type": "Polygon"}, "id": "0", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 9.0, "AGE_18": 459.0, "AGE_20_24": 32.0, "AGE_21": 453.0, "AGE_25_34": 60.0, "AGE_35_44": 53.0, "AGE_45_54": 64.0, "AGE_55_59": 34.0, "AGE_5_9": 6.0, "AGE_60_64": 38.0, "AGE_62": 197.0, "AGE_65": 174.0, "AGE_65_74": 90.0, "AGE_75_84": 62.0, "AGE_85": 22.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 439.0, "AREA": 0.09, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.45, "BG": "390610042002", "BLACK": 32.0, "BLOCK": "390610042002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5384.7901, "F1_RACE": 472.0, "F2_RACES": 7.0, "FEMALE": 258.0, "FEMALE_18": 246.0, "FEMALE_65": 100.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 105.0, "HH_NONFAMI": 225.0, "HOUSEHOLDS": 330.0, "HSNG_UNITS": 361.0, "HU_OCCUPIE": 330.0, "HU_VACANT": 31.0, "ID": 726907.0, "IN_HOUSEHO": 479.0, "MALE": 221.0, "MALE_18": 213.0, "MALE_65": 74.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 430.0, "NOT_HISPAN": 474.0, "OCCHU_OWNE": 245.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.46, "POPULATION": 479.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 433.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5082430004627, 39.12495999987392, -84.50554300046298, 39.126759999873755], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50554300046298, 39.12655999987377], [-84.50564300046297, 39.12495999987392], [-84.50604300046291, 39.125059999873905], [-84.50674300046285, 39.125459999873875], [-84.50824300046268, 39.12555999987385], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "1", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 54.0, "AGE_25_34": 13.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 4.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.73, "AVG_HHSIZE": 2.43, "BG": "390610022004", "BLACK": 66.0, "BLOCK": "390610022004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6643.1423, "F1_RACE": 82.0, "F2_RACES": 3.0, "FEMALE": 46.0, "FEMALE_18": 34.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 0.0, "ID": 695744.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 27.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.22, "POPULATION": 85.0, "RENTER_SIZ": 2.15, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12745999987367, -84.50624300046294, 39.12875999987356], "geometry": {"coordinates": [[[-84.50864300046265, 39.12745999987367], [-84.50844300046269, 39.12795999987365], [-84.50794300046275, 39.12845999987357], [-84.50784300046276, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50624300046294, 39.12865999987357], [-84.50644300046291, 39.12775999987366], [-84.5073430004628, 39.127859999873635], [-84.50864300046265, 39.12745999987367]]], "type": "Polygon"}, "id": "2", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 29.0, "AGE_20_24": 13.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.32, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4326.5018, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 2.0, "ID": 695762.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 29.0, "RENTER_SIZ": 1.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 15.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50564300046297, 39.12495999987392, -84.5045430004631, 39.126559999873784], "geometry": {"coordinates": [[[-84.50564300046297, 39.12495999987392], [-84.50554300046298, 39.12655999987377], [-84.5045430004631, 39.126559999873784], [-84.50474300046305, 39.12495999987392], [-84.50564300046297, 39.12495999987392]]], "type": "Polygon"}, "id": "3", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 17.0, "AGE_18": 78.0, "AGE_20_24": 12.0, "AGE_21": 70.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 4.0, "AGE_62": 6.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610022004", "BLACK": 103.0, "BLOCK": "390610022004002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20784.6991, "F1_RACE": 117.0, "F2_RACES": 0.0, "FEMALE": 58.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 9.0, "ID": 695780.0, "IN_HOUSEHO": 117.0, "MALE": 59.0, "MALE_18": 43.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.8, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 115.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.57, "POPULATION": 117.0, "RENTER_SIZ": 2.25, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12645999987379, -84.50314300046327, 39.128259999873634], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50864300046265, 39.12745999987367], [-84.5073430004628, 39.127859999873635], [-84.50644300046291, 39.12775999987366], [-84.50524300046303, 39.12775999987366], [-84.50454300046312, 39.12795999987365], [-84.50334300046325, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50314300046327, 39.12815999987364], [-84.50324300046324, 39.12735999987369], [-84.50334300046323, 39.12645999987379], [-84.5045430004631, 39.126559999873784], [-84.50554300046298, 39.12655999987377], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "4", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 90.0, "AGE_20_24": 28.0, "AGE_21": 84.0, "AGE_25_34": 44.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.41, "BG": "390610033001", "BLACK": 39.0, "BLOCK": "390610033001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4019.0506, "F1_RACE": 92.0, "F2_RACES": 4.0, "FEMALE": 45.0, "FEMALE_18": 40.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 1.0, "ID": 695798.0, "IN_HOUSEHO": 96.0, "MALE": 51.0, "MALE_18": 50.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 96.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 52.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50944300046258, 39.12865999987357, -84.50774300046278, 39.13005999987343], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.50774300046278, 39.12995999987345], [-84.50784300046276, 39.12865999987357], [-84.50870500046265, 39.12876799987356], [-84.50944300046258, 39.128859999873555], [-84.50934300046261, 39.13005999987343], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "5", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 41.0, "AGE_20_24": 14.0, "AGE_21": 38.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.88, "BG": "390610033002", "BLACK": 18.0, "BLOCK": "390610033002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5913.7961, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 695823.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 45.0, "RENTER_SIZ": 1.62, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5085430004627, 39.12995999987345, -84.5076430004628, 39.13125999987332], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.5084430004627, 39.131259999873315], [-84.5076430004628, 39.13125999987332], [-84.50774300046278, 39.12995999987345], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "6", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 14.0, "AGE_18": 61.0, "AGE_20_24": 29.0, "AGE_21": 38.0, "AGE_25_34": 8.0, "AGE_35_44": 6.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.31, "BG": "390610033002", "BLACK": 52.0, "BLOCK": "390610033002009", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21764.4799, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 42.0, "FEMALE_18": 32.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 11.0, "ID": 695843.0, "IN_HOUSEHO": 81.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 2.0, "MEDIAN_AGE": 20.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.33, "POPULATION": 81.0, "RENTER_SIZ": 2.52, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 24.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50784300046276, 39.12865999987357, -84.50704300046286, 39.12995999987345], "geometry": {"coordinates": [[[-84.50784300046276, 39.12865999987357], [-84.50774300046278, 39.12995999987345], [-84.50704300046286, 39.12995999987345], [-84.50714300046283, 39.12875999987356], [-84.50784300046276, 39.12865999987357]]], "type": "Polygon"}, "id": "7", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 19.0, "AGE_21": 27.0, "AGE_25_34": 4.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.13, "BG": "390610033002", "BLACK": 4.0, "BLOCK": "390610033002012", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9932.4581, "F1_RACE": 31.0, "F2_RACES": 1.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 695860.0, "IN_HOUSEHO": 32.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.7, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 32.0, "RENTER_SIZ": 2.08, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50714300046283, 39.12865999987357, -84.50614300046294, 39.12995999987345], "geometry": {"coordinates": [[[-84.50704300046286, 39.12995999987345], [-84.50614300046294, 39.129859999873474], [-84.50624300046294, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50704300046286, 39.12995999987345]]], "type": "Polygon"}, "id": "8", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 41.0, "AGE_20_24": 11.0, "AGE_21": 31.0, "AGE_25_34": 9.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.05, "BG": "390610033002", "BLACK": 2.0, "BLOCK": "390610033002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10157.3434, "F1_RACE": 39.0, "F2_RACES": 2.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 5.0, "ID": 695878.0, "IN_HOUSEHO": 41.0, "MALE": 27.0, "MALE_18": 27.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 41.0, "RENTER_SIZ": 2.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 37.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50774300046278, 39.129859999873474, -84.50604300046297, 39.13125999987332], "geometry": {"coordinates": [[[-84.50774300046278, 39.12995999987345], [-84.5076430004628, 39.13125999987332], [-84.50684300046287, 39.13125999987332], [-84.50604300046297, 39.13115999987337], [-84.50604300046297, 39.130959999873355], [-84.50614300046294, 39.129859999873474], [-84.50704300046286, 39.12995999987345], [-84.50774300046278, 39.12995999987345]]], "type": "Polygon"}, "id": "9", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 12.0, "AGE_18": 72.0, "AGE_20_24": 26.0, "AGE_21": 58.0, "AGE_25_34": 12.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 1.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.07, "BG": "390610033002", "BLACK": 49.0, "BLOCK": "390610033002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11417.4899, "F1_RACE": 83.0, "F2_RACES": 6.0, "FEMALE": 56.0, "FEMALE_18": 43.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 1.0, "ID": 695895.0, "IN_HOUSEHO": 89.0, "MALE": 33.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.6, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 89.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 89.0, "RENTER_SIZ": 3.61, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.131259999873315, -84.50744300046281, 39.13255999987321], "geometry": {"coordinates": [[[-84.5084430004627, 39.131259999873315], [-84.50844300046272, 39.13255999987321], [-84.50744300046281, 39.13245999987321], [-84.5076430004628, 39.13125999987332], [-84.5084430004627, 39.131259999873315]]], "type": "Polygon"}, "id": "10", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 40.0, "AGE_20_24": 21.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.21, "BG": "390610033002", "BLACK": 20.0, "BLOCK": "390610033002002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10037.174, "F1_RACE": 41.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 6.0, "ID": 695916.0, "IN_HOUSEHO": 42.0, "MALE": 30.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 42.0, "RENTER_SIZ": 2.12, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 19.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5076430004628, 39.13125999987332, -84.5066430004629, 39.13245999987321], "geometry": {"coordinates": [[[-84.5076430004628, 39.13125999987332], [-84.50744300046281, 39.13245999987321], [-84.5066430004629, 39.13245999987321], [-84.50684300046287, 39.13125999987332], [-84.5076430004628, 39.13125999987332]]], "type": "Polygon"}, "id": "11", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 59.0, "AGE_20_24": 36.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 6.0, "AP_WHITE": 41.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.27, "BG": "390610033002", "BLACK": 19.0, "BLOCK": "390610033002001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19128.3583, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 23.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 695934.0, "IN_HOUSEHO": 68.0, "MALE": 45.0, "MALE_18": 41.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 65.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.5, "POPULATION": 68.0, "RENTER_SIZ": 2.32, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50744300046281, 39.13245999987321, -84.50654300046293, 39.133859999873096], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50654300046293, 39.13375999987311], [-84.5066430004629, 39.13245999987321], [-84.50744300046281, 39.13245999987321], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "12", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 80.0, "AGE_20_24": 46.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 49.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.91, "BG": "390610032002", "BLACK": 48.0, "BLOCK": "390610032002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24640.7769, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 28.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 8.0, "ID": 695951.0, "IN_HOUSEHO": 99.0, "MALE": 61.0, "MALE_18": 52.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 49.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 99.0, "RENTER_SIZ": 3.59, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 49.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50644300046291, 39.12775999987366, -84.50424300046318, 39.130959999873355], "geometry": {"coordinates": [[[-84.50614300046294, 39.129859999873474], [-84.50604300046297, 39.130959999873355], [-84.50514300046305, 39.130959999873355], [-84.50424300046318, 39.13085999987339], [-84.50454300046312, 39.12795999987365], [-84.50524300046303, 39.12775999987366], [-84.50644300046291, 39.12775999987366], [-84.50624300046294, 39.12865999987357], [-84.50614300046294, 39.129859999873474]]], "type": "Polygon"}, "id": "13", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 15.0, "AGE_15_19": 15.0, "AGE_18": 147.0, "AGE_20_24": 37.0, "AGE_21": 127.0, "AGE_25_34": 39.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 12.0, "AP_WHITE": 86.0, "AREA": 0.02, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.06, "AVG_HHSIZE": 2.29, "BG": "390610033001", "BLACK": 81.0, "BLOCK": "390610033001008", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8786.3934, "F1_RACE": 177.0, "F2_RACES": 7.0, "FEMALE": 80.0, "FEMALE_18": 61.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 18.0, "ID": 695969.0, "IN_HOUSEHO": 179.0, "MALE": 104.0, "MALE_18": 86.0, "MALE_65": 5.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 82.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 55.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 2.74, "POPULATION": 184.0, "RENTER_SIZ": 2.11, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 83.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50684300046287, 39.13115999987337, -84.505843000463, 39.13245999987322], "geometry": {"coordinates": [[[-84.50684300046287, 39.13125999987332], [-84.5066430004629, 39.13245999987321], [-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13175999987331], [-84.50604300046297, 39.13115999987337], [-84.50684300046287, 39.13125999987332]]], "type": "Polygon"}, "id": "14", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 695990.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5066430004629, 39.13245999987321, -84.50574300046303, 39.13375999987311], "geometry": {"coordinates": [[[-84.50654300046293, 39.13375999987311], [-84.50574300046303, 39.1336599998731], [-84.505843000463, 39.13315999987314], [-84.505843000463, 39.13245999987322], [-84.5066430004629, 39.13245999987321], [-84.50654300046293, 39.13375999987311]]], "type": "Polygon"}, "id": "15", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 30.0, "AGE_21": 49.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 33.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.3, "BG": "390610032002", "BLACK": 26.0, "BLOCK": "390610032002010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17261.0752, "F1_RACE": 62.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 696008.0, "IN_HOUSEHO": 62.0, "MALE": 38.0, "MALE_18": 30.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 62.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.86, "POPULATION": 62.0, "RENTER_SIZ": 2.45, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 33.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50604300046297, 39.130959999873355, -84.50504300046309, 39.13175999987331], "geometry": {"coordinates": [[[-84.50604300046297, 39.13115999987337], [-84.505843000463, 39.13175999987331], [-84.50504300046309, 39.131659999873285], [-84.50514300046305, 39.130959999873355], [-84.50604300046297, 39.130959999873355], [-84.50604300046297, 39.13115999987337]]], "type": "Polygon"}, "id": "16", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 27.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 7.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.82, "AVG_HHSIZE": 2.5, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16243.4072, "F1_RACE": 39.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 18.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 696027.0, "IN_HOUSEHO": 40.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 40.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.131659999873285, -84.50504300046309, 39.13245999987322], "geometry": {"coordinates": [[[-84.505843000463, 39.13175999987331], [-84.505843000463, 39.13245999987322], [-84.50504300046309, 39.13235999987324], [-84.50504300046309, 39.131659999873285], [-84.505843000463, 39.13175999987331]]], "type": "Polygon"}, "id": "17", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 11.0, "AGE_21": 19.0, "AGE_25_34": 11.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.53, "BG": "390610033001", "BLACK": 6.0, "BLOCK": "390610033001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11091.2573, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 696046.0, "IN_HOUSEHO": 23.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 23.0, "RENTER_SIZ": 1.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50514300046305, 39.13085999987339, -84.50424300046318, 39.131659999873285], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50424300046318, 39.13155999987331], [-84.50424300046318, 39.13085999987339], [-84.50514300046305, 39.130959999873355], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "18", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 36.0, "AGE_20_24": 10.0, "AGE_21": 33.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.96, "BG": "390610033001", "BLACK": 28.0, "BLOCK": "390610033001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20253.2817, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 20.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 5.0, "ID": 696063.0, "IN_HOUSEHO": 45.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.95, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13155999987331, -84.50414300046317, 39.13235999987324], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50504300046309, 39.13235999987324], [-84.50414300046317, 39.13225999987324], [-84.50424300046318, 39.13155999987331], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "19", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 54.0, "AGE_20_24": 22.0, "AGE_21": 43.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.22, "BG": "390610033001", "BLACK": 33.0, "BLOCK": "390610033001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 26104.6528, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 696081.0, "IN_HOUSEHO": 58.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 58.0, "RENTER_SIZ": 2.71, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13235999987324, -84.5049430004631, 39.13315999987314], "geometry": {"coordinates": [[[-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13315999987314], [-84.5049430004631, 39.13305999987318], [-84.50504300046309, 39.13235999987324], [-84.505843000463, 39.13245999987322]]], "type": "Polygon"}, "id": "20", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 3.0, "BG": "390610032002", "BLACK": 12.0, "BLOCK": "390610032002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5400.9967, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 696098.0, "IN_HOUSEHO": 12.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 12.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.12485999987395, -84.50334300046323, 39.126559999873784], "geometry": {"coordinates": [[[-84.5045430004631, 39.126559999873784], [-84.50334300046323, 39.12645999987379], [-84.5034430004632, 39.12485999987395], [-84.50474300046305, 39.12495999987392], [-84.5045430004631, 39.126559999873784]]], "type": "Polygon"}, "id": "21", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 112.0, "AGE_20_24": 33.0, "AGE_21": 96.0, "AGE_25_34": 27.0, "AGE_35_44": 18.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 57.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.39, "BG": "390610022004", "BLACK": 61.0, "BLOCK": "390610022004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16616.8953, "F1_RACE": 120.0, "F2_RACES": 4.0, "FEMALE": 44.0, "FEMALE_18": 35.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 16.0, "ID": 696116.0, "IN_HOUSEHO": 124.0, "MALE": 80.0, "MALE_18": 77.0, "MALE_65": 4.0, "MEDIAN_AGE": 26.3, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 80.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 124.0, "RENTER_SIZ": 1.33, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 54.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12485999987395, -84.5025430004633, 39.12645999987379], "geometry": {"coordinates": [[[-84.5034430004632, 39.12485999987395], [-84.50334300046323, 39.12645999987379], [-84.50254300046332, 39.126359999873785], [-84.5025430004633, 39.12485999987396], [-84.5034430004632, 39.12485999987395]]], "type": "Polygon"}, "id": "22", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 1.0, "AGE_35_44": 15.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 7.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.77, "AVG_HHSIZE": 2.04, "BG": "390610022004", "BLACK": 52.0, "BLOCK": "390610022004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10841.8176, "F1_RACE": 52.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 23.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 13.0, "ID": 696133.0, "IN_HOUSEHO": 53.0, "MALE": 23.0, "MALE_18": 17.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.88, "POPULATION": 53.0, "RENTER_SIZ": 1.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50334300046323, 39.126359999873785, -84.5017430004634, 39.12735999987369], "geometry": {"coordinates": [[[-84.50334300046323, 39.12645999987379], [-84.50324300046324, 39.12735999987369], [-84.5018430004634, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.50254300046332, 39.126359999873785], [-84.50334300046323, 39.12645999987379]]], "type": "Polygon"}, "id": "23", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 216.0, "AGE_20_24": 46.0, "AGE_21": 198.0, "AGE_25_34": 53.0, "AGE_35_44": 36.0, "AGE_45_54": 34.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 31.0, "AGE_65": 28.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 11.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 88.0, "AREA": 0.01, "ASIAN": 11.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.26, "BG": "390610033001", "BLACK": 124.0, "BLOCK": "390610033001013", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 43709.5862, "F1_RACE": 218.0, "F2_RACES": 7.0, "FEMALE": 118.0, "FEMALE_18": 112.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 158.0, "HOUSEHOLDS": 178.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 178.0, "HU_VACANT": 15.0, "ID": 696151.0, "IN_HOUSEHO": 225.0, "MALE": 107.0, "MALE_18": 104.0, "MALE_65": 14.0, "MEDIAN_AGE": 34.2, "MSA": "1640", "NH_WHITE": 81.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 178.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 225.0, "RENTER_SIZ": 1.26, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 82.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50254300046332, 39.12475999987396, -84.50174300046339, 39.126359999873806], "geometry": {"coordinates": [[[-84.5025430004633, 39.12485999987396], [-84.50254300046332, 39.126359999873785], [-84.5017430004634, 39.126359999873806], [-84.50194300046337, 39.125159999873944], [-84.50174300046339, 39.12475999987396], [-84.5025430004633, 39.12485999987396]]], "type": "Polygon"}, "id": "24", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610022001", "BLACK": 0.0, "BLOCK": "390610022001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 696169.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51354400046225, 39.14475999987204, -84.51184400046245, 39.14605999987192], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51184400046245, 39.14585999987196], [-84.51194400046242, 39.14475999987204], [-84.51224400046239, 39.14475999987204], [-84.5132440004623, 39.145059999872046], [-84.51354400046225, 39.145259999872], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "25", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 45.0, "AGE_25_34": 5.0, "AGE_35_44": 15.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.91, "AVG_HHSIZE": 1.93, "BG": "390610069003", "BLACK": 53.0, "BLOCK": "390610069003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9139.2801, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 2.0, "ID": 687545.0, "IN_HOUSEHO": 56.0, "MALE": 28.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 43.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.77, "POPULATION": 56.0, "RENTER_SIZ": 2.06, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51254400046238, 39.14205999987235, -84.50534300046313, 39.14955999987163], "geometry": {"coordinates": [[[-84.51254400046238, 39.1475599998718], [-84.51194400046245, 39.14875999987168], [-84.51114400046254, 39.14955999987163], [-84.5106440004626, 39.14925999987166], [-84.51034400046261, 39.14905999987166], [-84.5096440004627, 39.148759999871686], [-84.50884400046277, 39.14805999987176], [-84.50834400046283, 39.147259999871835], [-84.50714400046296, 39.14655999987191], [-84.50644400046303, 39.146459999871915], [-84.50544300046313, 39.14645999987191], [-84.50534300046313, 39.14555999987203], [-84.5055430004631, 39.143859999872156], [-84.50564300046308, 39.142959999872254], [-84.50574300046307, 39.14205999987235], [-84.5092440004627, 39.142259999872316], [-84.50984400046265, 39.14275999987224], [-84.5101440004626, 39.14305999987221], [-84.51194400046242, 39.14475999987204], [-84.51184400046245, 39.14585999987196], [-84.51164500046248, 39.14754799987178], [-84.51164400046247, 39.1475599998718], [-84.51254400046238, 39.1475599998718]]], "type": "Polygon"}, "id": "26", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 21.0, "AGE_18": 152.0, "AGE_20_24": 12.0, "AGE_21": 148.0, "AGE_25_34": 28.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 11.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 35.0, "AGE_65": 32.0, "AGE_65_74": 18.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 207.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.12, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.61, "BG": "390610069003", "BLACK": 207.0, "BLOCK": "390610069003000", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1820.1248, "F1_RACE": 222.0, "F2_RACES": 0.0, "FEMALE": 122.0, "FEMALE_18": 91.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 85.0, "HSNG_UNITS": 109.0, "HU_OCCUPIE": 85.0, "HU_VACANT": 24.0, "ID": 687585.0, "IN_HOUSEHO": 222.0, "MALE": 100.0, "MALE_18": 61.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 221.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.35, "POPULATION": 222.0, "RENTER_SIZ": 2.88, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51334400046228, 39.14585999987196, -84.51164400046247, 39.1475599998718], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51264400046237, 39.14735999987182], [-84.51254400046238, 39.1475599998718], [-84.51164400046247, 39.1475599998718], [-84.51164500046248, 39.14754799987178], [-84.51184400046245, 39.14585999987196], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "27", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 11.0, "AGE_15_19": 15.0, "AGE_18": 64.0, "AGE_20_24": 6.0, "AGE_21": 55.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 15.0, "AGE_55_59": 4.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.75, "BG": "390610069003", "BLACK": 94.0, "BLOCK": "390610069003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13605.8656, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 56.0, "FEMALE_18": 39.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 5.0, "ID": 687621.0, "IN_HOUSEHO": 99.0, "MALE": 43.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.04, "POPULATION": 99.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51114400046254, 39.148759999871686, -84.5088440004628, 39.151459999871456], "geometry": {"coordinates": [[[-84.5106440004626, 39.14925999987166], [-84.51114400046254, 39.14955999987163], [-84.51058400046261, 39.15017099987156], [-84.51004400046266, 39.150759999871525], [-84.50924400046277, 39.151459999871456], [-84.5088440004628, 39.15095999987151], [-84.50924400046276, 39.150759999871525], [-84.5096440004627, 39.148759999871686], [-84.51034400046261, 39.14905999987166], [-84.5106440004626, 39.14925999987166]]], "type": "Polygon"}, "id": "28", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 7.0, "AGE_55_59": 5.0, "AGE_5_9": 10.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.13, "BG": "390610069004", "BLACK": 70.0, "BLOCK": "390610069004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7451.3647, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 25.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 687678.0, "IN_HOUSEHO": 72.0, "MALE": 32.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 72.0, "RENTER_SIZ": 4.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.53054400046031, 39.129559999873415, -84.52194400046125, 39.13445999987294], "geometry": {"coordinates": [[[-84.52954400046043, 39.13215999987317], [-84.52784400046063, 39.13295999987308], [-84.52654400046077, 39.13375999987302], [-84.52644400046078, 39.133959999872985], [-84.5264440004608, 39.13445999987294], [-84.524462000461, 39.13436999987297], [-84.52424400046101, 39.13435999987296], [-84.52284400046116, 39.13435999987296], [-84.52294400046114, 39.13295999987311], [-84.52301200046112, 39.1321479998732], [-84.52304400046114, 39.131759999873225], [-84.52194400046125, 39.13165999987322], [-84.52234400046119, 39.129559999873415], [-84.52374400046105, 39.129659999873425], [-84.52444400046097, 39.129659999873425], [-84.52534400046086, 39.12975999987339], [-84.5259440004608, 39.12975999987339], [-84.52674400046072, 39.12985999987338], [-84.5269440004607, 39.12985999987338], [-84.5279120004606, 39.129940999873355], [-84.53054400046031, 39.130159999873335], [-84.53034400046035, 39.13085999987328], [-84.5279440004606, 39.1307599998733], [-84.52774400046063, 39.132059999873164], [-84.52794400046061, 39.13195999987317], [-84.52954400046043, 39.13215999987317]]], "type": "Polygon"}, "id": "29", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 61.0, "AGE_18": 624.0, "AGE_20_24": 272.0, "AGE_21": 520.0, "AGE_25_34": 128.0, "AGE_35_44": 59.0, "AGE_45_54": 58.0, "AGE_55_59": 12.0, "AGE_5_9": 14.0, "AGE_60_64": 11.0, "AGE_62": 52.0, "AGE_65": 44.0, "AGE_65_74": 23.0, "AGE_75_84": 14.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 25.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 590.0, "AREA": 0.1, "ASIAN": 23.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.76, "BG": "390610029003", "BLACK": 69.0, "BLOCK": "390610029003000", "BURGLARY": 10, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7170.8735, "F1_RACE": 666.0, "F2_RACES": 22.0, "FEMALE": 284.0, "FEMALE_18": 250.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 119.0, "GROUP_QUAR": 119.0, "HAWAIIAN": 0.0, "HH_FAMILY": 73.0, "HH_NONFAMI": 250.0, "HOUSEHOLDS": 323.0, "HSNG_UNITS": 358.0, "HU_OCCUPIE": 323.0, "HU_VACANT": 35.0, "ID": 677316.0, "IN_HOUSEHO": 569.0, "MALE": 404.0, "MALE_18": 374.0, "MALE_65": 16.0, "MEDIAN_AGE": 24.1, "MSA": "1640", "NH_WHITE": 570.0, "NOT_HISPAN": 684.0, "OCCHU_OWNE": 74.0, "OCCHU_RENT": 249.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.93, "POPULATION": 688.0, "RENTER_SIZ": 1.71, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 572.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12385999987407, -84.49054300046461, 39.12485999987399], "geometry": {"coordinates": [[[-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12485999987399], [-84.49054300046461, 39.12475999987402], [-84.49094300046455, 39.12395999987406], [-84.49114300046453, 39.12385999987407], [-84.49114300046453, 39.12445999987403]]], "type": "Polygon"}, "id": "30", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 750.053, "F1_RACE": 0.0, "F2_RACES": 1.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 673099.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48994300046463, 39.11995999987445, -84.48814300046483, 39.121959999874264], "geometry": {"coordinates": [[[-84.48984300046465, 39.12095999987435], [-84.48974300046466, 39.121959999874264], [-84.48814300046483, 39.121859999874275], [-84.48814300046483, 39.1216599998743], [-84.4883430004648, 39.119959999874474], [-84.48994300046463, 39.11995999987445], [-84.48984300046465, 39.12095999987435]]], "type": "Polygon"}, "id": "31", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 105.0, "AGE_20_24": 7.0, "AGE_21": 101.0, "AGE_25_34": 36.0, "AGE_35_44": 23.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 5.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 67.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 62.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.86, "BG": "390610019001", "BLACK": 67.0, "BLOCK": "390610019001005", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11143.0829, "F1_RACE": 128.0, "F2_RACES": 2.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 14.0, "ID": 673118.0, "IN_HOUSEHO": 130.0, "MALE": 67.0, "MALE_18": 57.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 60.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.88, "POPULATION": 130.0, "RENTER_SIZ": 1.85, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 60.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49134300046451, 39.12315999987414, -84.48914300046475, 39.12495999987399], "geometry": {"coordinates": [[[-84.48964300046468, 39.12315999987414], [-84.49134300046451, 39.12325999987412], [-84.49094300046455, 39.12395999987406], [-84.49054300046461, 39.12475999987402], [-84.49044300046461, 39.12495999987399], [-84.48914300046475, 39.124859999874], [-84.48914300046475, 39.123859999874085], [-84.48964300046468, 39.12315999987414]]], "type": "Polygon"}, "id": "32", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 63.0, "AGE_20_24": 2.0, "AGE_21": 63.0, "AGE_25_34": 6.0, "AGE_35_44": 15.0, "AGE_45_54": 20.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 61.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.33, "BG": "390610019001", "BLACK": 61.0, "BLOCK": "390610019001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6453.8469, "F1_RACE": 67.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 7.0, "ID": 673138.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 37.0, "MALE_65": 8.0, "MEDIAN_AGE": 48.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 68.0, "RENTER_SIZ": 1.17, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48974300046466, 39.121859999874275, -84.48784300046489, 39.124859999874026], "geometry": {"coordinates": [[[-84.48974300046466, 39.121959999874264], [-84.48964300046468, 39.12315999987414], [-84.48914300046475, 39.123859999874085], [-84.48914300046475, 39.124859999874], [-84.48784300046489, 39.124859999874026], [-84.48784300046489, 39.12445999987403], [-84.48814300046483, 39.121859999874275], [-84.48974300046466, 39.121959999874264]]], "type": "Polygon"}, "id": "33", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 13.0, "AGE_15_19": 0.0, "AGE_18": 166.0, "AGE_20_24": 13.0, "AGE_21": 162.0, "AGE_25_34": 39.0, "AGE_35_44": 39.0, "AGE_45_54": 37.0, "AGE_55_59": 10.0, "AGE_5_9": 5.0, "AGE_60_64": 11.0, "AGE_62": 24.0, "AGE_65": 17.0, "AGE_65_74": 11.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 124.0, "AP_HAWAIIA": 9.0, "AP_HISPANI": 1.0, "AP_OTHER": 8.0, "AP_WHITE": 57.0, "AREA": 0.02, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.52, "BG": "390610019001", "BLACK": 122.0, "BLOCK": "390610019001002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11986.7841, "F1_RACE": 182.0, "F2_RACES": 10.0, "FEMALE": 90.0, "FEMALE_18": 78.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 1.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 99.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 9.0, "ID": 673157.0, "IN_HOUSEHO": 186.0, "MALE": 102.0, "MALE_18": 88.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 99.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.04, "POPULATION": 192.0, "RENTER_SIZ": 1.4, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 55.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11755999987469, -84.48694300046495, 39.119959999874474], "geometry": {"coordinates": [[[-84.48804300046481, 39.11755999987469], [-84.48794300046484, 39.11825999987461], [-84.48784300046485, 39.118759999874584], [-84.4883430004648, 39.119959999874474], [-84.48694300046495, 39.11915999987453], [-84.48744300046488, 39.11825999987463], [-84.48804300046481, 39.11755999987469]]], "type": "Polygon"}, "id": "34", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 673193.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11915999987453, -84.48654300046502, 39.1216599998743], "geometry": {"coordinates": [[[-84.4883430004648, 39.119959999874474], [-84.48814300046483, 39.1216599998743], [-84.48654300046502, 39.1215599998743], [-84.486643000465, 39.11975999987448], [-84.48694300046495, 39.11915999987453], [-84.4883430004648, 39.119959999874474]]], "type": "Polygon"}, "id": "35", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 217.0, "AGE_20_24": 35.0, "AGE_21": 208.0, "AGE_25_34": 72.0, "AGE_35_44": 29.0, "AGE_45_54": 21.0, "AGE_55_59": 9.0, "AGE_5_9": 2.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 39.0, "AGE_65_74": 9.0, "AGE_75_84": 15.0, "AGE_85": 15.0, "AMINDIAN": 2.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 2.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 3.0, "AP_WHITE": 163.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.48, "BG": "390610020002", "BLACK": 59.0, "BLOCK": "390610020002006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18000.3183, "F1_RACE": 225.0, "F2_RACES": 5.0, "FEMALE": 119.0, "FEMALE_18": 111.0, "FEMALE_65": 24.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 29.0, "HH_NONFAMI": 101.0, "HOUSEHOLDS": 130.0, "HSNG_UNITS": 140.0, "HU_OCCUPIE": 130.0, "HU_VACANT": 10.0, "ID": 673212.0, "IN_HOUSEHO": 192.0, "MALE": 111.0, "MALE_18": 106.0, "MALE_65": 15.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 160.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 32.0, "OCCHU_RENT": 98.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.84, "POPULATION": 230.0, "RENTER_SIZ": 1.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 160.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48694300046495, 39.118459999874595, -84.48474300046519, 39.120659999874405], "geometry": {"coordinates": [[[-84.48694300046495, 39.11915999987453], [-84.486643000465, 39.11975999987448], [-84.48564300046509, 39.11975999987448], [-84.48544300046511, 39.11985999987447], [-84.48514300046514, 39.120659999874405], [-84.48474300046519, 39.11995999987449], [-84.48474300046519, 39.119159999874555], [-84.48534300046512, 39.11865999987457], [-84.48555500046508, 39.118617999874594], [-84.486343000465, 39.118459999874595], [-84.48694300046495, 39.11915999987453]]], "type": "Polygon"}, "id": "36", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 219.0, "AGE_20_24": 6.0, "AGE_21": 218.0, "AGE_25_34": 15.0, "AGE_35_44": 15.0, "AGE_45_54": 37.0, "AGE_55_59": 15.0, "AGE_5_9": 1.0, "AGE_60_64": 13.0, "AGE_62": 125.0, "AGE_65": 118.0, "AGE_65_74": 46.0, "AGE_75_84": 58.0, "AGE_85": 14.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 197.0, "AREA": 0.01, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.27, "BG": "390610020002", "BLACK": 18.0, "BLOCK": "390610020002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23114.5895, "F1_RACE": 220.0, "F2_RACES": 0.0, "FEMALE": 118.0, "FEMALE_18": 118.0, "FEMALE_65": 68.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 135.0, "HOUSEHOLDS": 173.0, "HSNG_UNITS": 188.0, "HU_OCCUPIE": 173.0, "HU_VACANT": 15.0, "ID": 673231.0, "IN_HOUSEHO": 220.0, "MALE": 102.0, "MALE_18": 101.0, "MALE_65": 50.0, "MEDIAN_AGE": 68.3, "MSA": "1640", "NH_WHITE": 197.0, "NOT_HISPAN": 220.0, "OCCHU_OWNE": 24.0, "OCCHU_RENT": 149.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.46, "POPULATION": 220.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 197.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.486643000465, 39.11975999987448, -84.48514300046514, 39.12225999987424], "geometry": {"coordinates": [[[-84.48654300046502, 39.1215599998743], [-84.48644300046502, 39.12225999987424], [-84.48614300046505, 39.12215999987426], [-84.48514300046514, 39.121059999874355], [-84.48514300046514, 39.120659999874405], [-84.48544300046511, 39.11985999987447], [-84.48564300046509, 39.11975999987448], [-84.486643000465, 39.11975999987448], [-84.48654300046502, 39.1215599998743]]], "type": "Polygon"}, "id": "37", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 99.0, "AGE_20_24": 16.0, "AGE_21": 93.0, "AGE_25_34": 43.0, "AGE_35_44": 13.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 68.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.5, "BG": "390610020002", "BLACK": 35.0, "BLOCK": "390610020002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10681.4877, "F1_RACE": 104.0, "F2_RACES": 4.0, "FEMALE": 52.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 86.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 14.0, "ID": 673252.0, "IN_HOUSEHO": 108.0, "MALE": 56.0, "MALE_18": 52.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 66.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 108.0, "RENTER_SIZ": 1.37, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 66.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48814300046483, 39.1215599998743, -84.48614300046508, 39.12445999987403], "geometry": {"coordinates": [[[-84.48814300046483, 39.121859999874275], [-84.48784300046489, 39.12445999987403], [-84.48614300046508, 39.12435999987406], [-84.48644300046502, 39.12225999987424], [-84.48654300046502, 39.1215599998743], [-84.48814300046483, 39.1216599998743], [-84.48814300046483, 39.121859999874275]]], "type": "Polygon"}, "id": "38", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 138.0, "AGE_20_24": 13.0, "AGE_21": 130.0, "AGE_25_34": 45.0, "AGE_35_44": 28.0, "AGE_45_54": 16.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 4.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 65.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 4.0, "AP_OTHER": 2.0, "AP_WHITE": 84.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.52, "BG": "390610020002", "BLACK": 58.0, "BLOCK": "390610020002002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8645.0376, "F1_RACE": 142.0, "F2_RACES": 8.0, "FEMALE": 68.0, "FEMALE_18": 63.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 30.0, "GROUP_QUAR": 30.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 85.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 6.0, "ID": 673272.0, "IN_HOUSEHO": 120.0, "MALE": 82.0, "MALE_18": 75.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 78.0, "NOT_HISPAN": 146.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.85, "POPULATION": 150.0, "RENTER_SIZ": 1.45, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 78.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48784300046489, 39.12435999987406, -84.48604300046509, 39.125459999873954], "geometry": {"coordinates": [[[-84.48784300046489, 39.12445999987403], [-84.48784300046489, 39.124859999874026], [-84.4877430004649, 39.125459999873954], [-84.48604300046509, 39.125359999873965], [-84.48614300046508, 39.12435999987406], [-84.48784300046489, 39.12445999987403]]], "type": "Polygon"}, "id": "39", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 60.0, "AGE_20_24": 6.0, "AGE_21": 56.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 8.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 6.0, "AP_BLACK": 49.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.57, "BG": "390610020002", "BLACK": 49.0, "BLOCK": "390610020002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11237.8312, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 13.0, "ID": 673292.0, "IN_HOUSEHO": 72.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 5.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 72.0, "RENTER_SIZ": 1.45, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 15.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48614300046505, 39.121059999874355, -84.48484300046519, 39.12215999987427], "geometry": {"coordinates": [[[-84.48514300046514, 39.121059999874355], [-84.48614300046505, 39.12215999987426], [-84.48534300046515, 39.12215999987427], [-84.48484300046519, 39.12205999987428], [-84.48514300046514, 39.121059999874355]]], "type": "Polygon"}, "id": "40", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 7.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 3.0, "BLOCK": "390610020002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5361.8973, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 673311.0, "IN_HOUSEHO": 14.0, "MALE": 8.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 14.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48644300046502, 39.12215999987426, -84.48504300046518, 39.12435999987406], "geometry": {"coordinates": [[[-84.48614300046505, 39.12215999987426], [-84.48644300046502, 39.12225999987424], [-84.48614300046508, 39.12435999987406], [-84.48504300046518, 39.12425999987408], [-84.48534300046515, 39.12215999987427], [-84.48614300046505, 39.12215999987426]]], "type": "Polygon"}, "id": "41", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 126.0, "AGE_20_24": 14.0, "AGE_21": 124.0, "AGE_25_34": 47.0, "AGE_35_44": 22.0, "AGE_45_54": 22.0, "AGE_55_59": 6.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 111.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 24.0, "BLOCK": "390610020002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15769.7309, "F1_RACE": 131.0, "F2_RACES": 8.0, "FEMALE": 75.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 7.0, "ID": 673328.0, "IN_HOUSEHO": 139.0, "MALE": 64.0, "MALE_18": 59.0, "MALE_65": 4.0, "MEDIAN_AGE": 32.6, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 138.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 89.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 139.0, "RENTER_SIZ": 1.56, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 105.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48614300046508, 39.12425999987408, -84.48504300046518, 39.125359999873965], "geometry": {"coordinates": [[[-84.48604300046509, 39.125359999873965], [-84.48504300046518, 39.12525999987396], [-84.48504300046518, 39.12425999987408], [-84.48614300046508, 39.12435999987406], [-84.48604300046509, 39.125359999873965]]], "type": "Polygon"}, "id": "42", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 65.0, "AGE_20_24": 6.0, "AGE_21": 63.0, "AGE_25_34": 27.0, "AGE_35_44": 16.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 1.81, "BG": "390610020002", "BLACK": 52.0, "BLOCK": "390610020002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21499.33, "F1_RACE": 83.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 44.0, "FEMALE_65": 0.0, "GQ_INSTITU": 19.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 28.0, "ID": 673347.0, "IN_HOUSEHO": 65.0, "MALE": 33.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 84.0, "RENTER_SIZ": 1.96, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 31.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48534300046515, 39.12205999987428, -84.48434300046526, 39.12525999987396], "geometry": {"coordinates": [[[-84.48504300046518, 39.12425999987408], [-84.48504300046518, 39.12525999987396], [-84.48434300046526, 39.125159999874], [-84.48484300046519, 39.12205999987428], [-84.48534300046515, 39.12215999987427], [-84.48504300046518, 39.12425999987408]]], "type": "Polygon"}, "id": "43", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610020001", "BLACK": 0.0, "BLOCK": "390610020001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 771.4783, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 673364.0, "IN_HOUSEHO": 5.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 5.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 5.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.12145999987434, -84.48254300046544, 39.12205999987428], "geometry": {"coordinates": [[[-84.48374300046531, 39.12175999987431], [-84.48384300046531, 39.12205999987428], [-84.48254300046544, 39.121959999874285], [-84.48264300046543, 39.12145999987434], [-84.48374300046531, 39.12175999987431]]], "type": "Polygon"}, "id": "44", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 4.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.38, "BG": "390610020001", "BLACK": 3.0, "BLOCK": "390610020001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6187.701, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 673383.0, "IN_HOUSEHO": 11.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 58.3, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 11.0, "RENTER_SIZ": 1.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 8.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.121959999874285, -84.48224300046549, 39.123859999874114], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48224300046549, 39.123659999874135], [-84.48254300046544, 39.121959999874285], [-84.48384300046531, 39.12205999987428], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "45", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 47.0, "AGE_20_24": 8.0, "AGE_21": 46.0, "AGE_25_34": 15.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.61, "BG": "390610020001", "BLACK": 14.0, "BLOCK": "390610020001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6509.2387, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 673399.0, "IN_HOUSEHO": 45.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 4.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 54.0, "RENTER_SIZ": 1.39, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 36.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48484300046519, 39.12205999987428, -84.48324300046541, 39.125159999874015], "geometry": {"coordinates": [[[-84.48484300046519, 39.12205999987428], [-84.48434300046526, 39.125159999874], [-84.48324300046541, 39.125159999874015], [-84.48344300046536, 39.123859999874114], [-84.48384300046531, 39.12205999987428], [-84.48484300046519, 39.12205999987428]]], "type": "Polygon"}, "id": "46", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 75.0, "AGE_20_24": 9.0, "AGE_21": 67.0, "AGE_25_34": 31.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 56.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.13, "AVG_HHSIZE": 1.26, "BG": "390610020001", "BLACK": 20.0, "BLOCK": "390610020001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6234.2304, "F1_RACE": 75.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 28.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 11.0, "ID": 673417.0, "IN_HOUSEHO": 77.0, "MALE": 47.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.4, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 76.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 77.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 54.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48344300046536, 39.123659999874135, -84.48194300046555, 39.12515999987403], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48324300046541, 39.125159999874015], [-84.48294300046541, 39.12515999987403], [-84.48194300046555, 39.12495999987402], [-84.48224300046549, 39.123659999874135], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "47", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 4.0, "AGE_21": 21.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610020001", "BLACK": 8.0, "BLOCK": "390610020001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4117.5953, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 14.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 673436.0, "IN_HOUSEHO": 26.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 26.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 18.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.486343000465, 39.11735999987473, -84.47834300046591, 39.124659999874055], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.47994300046574, 39.12345999987416], [-84.47964300046577, 39.124659999874055], [-84.47834300046591, 39.12445999987407], [-84.47854300046589, 39.12185999987432], [-84.47864300046585, 39.120659999874455], [-84.48484300046516, 39.11735999987473], [-84.48574300046508, 39.118159999874635], [-84.486343000465, 39.118459999874595], [-84.48555500046508, 39.118617999874594], [-84.48534300046512, 39.11865999987457], [-84.48474300046519, 39.119159999874555], [-84.48474300046519, 39.11995999987449], [-84.48514300046514, 39.120659999874405], [-84.48514300046514, 39.121059999874355], [-84.48484300046519, 39.12205999987428], [-84.48384300046531, 39.12205999987428], [-84.48374300046531, 39.12175999987431], [-84.48264300046543, 39.12145999987434], [-84.48254300046544, 39.121959999874285], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "48", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 10.0, "AGE_18": 378.0, "AGE_20_24": 31.0, "AGE_21": 369.0, "AGE_25_34": 110.0, "AGE_35_44": 53.0, "AGE_45_54": 59.0, "AGE_55_59": 30.0, "AGE_5_9": 5.0, "AGE_60_64": 18.0, "AGE_62": 86.0, "AGE_65": 75.0, "AGE_65_74": 52.0, "AGE_75_84": 21.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 7.0, "AP_WHITE": 316.0, "AREA": 0.1, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 73.0, "BLOCK": "390610020001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4075.5769, "F1_RACE": 400.0, "F2_RACES": 8.0, "FEMALE": 226.0, "FEMALE_18": 209.0, "FEMALE_65": 50.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 34.0, "GROUP_QUAR": 34.0, "HAWAIIAN": 0.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 155.0, "HOUSEHOLDS": 238.0, "HSNG_UNITS": 282.0, "HU_OCCUPIE": 238.0, "HU_VACANT": 44.0, "ID": 673454.0, "IN_HOUSEHO": 374.0, "MALE": 182.0, "MALE_18": 169.0, "MALE_65": 25.0, "MEDIAN_AGE": 41.7, "MSA": "1640", "NH_WHITE": 304.0, "NOT_HISPAN": 399.0, "OCCHU_OWNE": 90.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 1.76, "POPULATION": 408.0, "RENTER_SIZ": 1.46, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 310.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48224300046549, 39.12345999987416, -84.47964300046577, 39.12495999987402], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.48194300046555, 39.12495999987402], [-84.48154300046558, 39.12495999987402], [-84.4803430004657, 39.124859999874054], [-84.47964300046577, 39.124659999874055], [-84.47994300046574, 39.12345999987416], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "49", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 37.0, "AGE_20_24": 0.0, "AGE_21": 37.0, "AGE_25_34": 5.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 20.0, "AGE_65": 20.0, "AGE_65_74": 6.0, "AGE_75_84": 6.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 6.0, "BLOCK": "390610020001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3315.2547, "F1_RACE": 38.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 28.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 16.0, "GROUP_QUAR": 16.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 673484.0, "IN_HOUSEHO": 22.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 68.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 38.0, "RENTER_SIZ": 1.57, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 32.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.12675999987384, -84.48264300046547, 39.128859999873676], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48334300046541, 39.12855999987368], [-84.48264300046549, 39.128859999873676], [-84.48264300046547, 39.12805999987371], [-84.48284300046545, 39.12685999987385], [-84.48434300046527, 39.12675999987384], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "50", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 9.0, "AGE_18": 123.0, "AGE_20_24": 9.0, "AGE_21": 118.0, "AGE_25_34": 19.0, "AGE_35_44": 36.0, "AGE_45_54": 18.0, "AGE_55_59": 10.0, "AGE_5_9": 17.0, "AGE_60_64": 1.0, "AGE_62": 28.0, "AGE_65": 27.0, "AGE_65_74": 18.0, "AGE_75_84": 4.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 5.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 1.9, "BG": "390610037001", "BLACK": 154.0, "BLOCK": "390610037001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19383.9789, "F1_RACE": 167.0, "F2_RACES": 6.0, "FEMALE": 81.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 60.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 5.0, "ID": 709180.0, "IN_HOUSEHO": 173.0, "MALE": 92.0, "MALE_18": 63.0, "MALE_65": 15.0, "MEDIAN_AGE": 36.9, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 167.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.33, "POPULATION": 173.0, "RENTER_SIZ": 1.8, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4842430004653, 39.12765999987374, -84.48334300046541, 39.12855999987368], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48414300046532, 39.128459999873684], [-84.48334300046541, 39.12855999987368], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "51", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709200.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48414300046532, 39.128459999873684, -84.48334300046541, 39.129459999873596], "geometry": {"coordinates": [[[-84.48414300046532, 39.129259999873604], [-84.48404300046533, 39.129459999873596], [-84.48334300046541, 39.12935999987361], [-84.48334300046541, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.48414300046532, 39.129259999873604]]], "type": "Polygon"}, "id": "52", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 377.6733, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 709217.0, "IN_HOUSEHO": 1.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 51.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48334300046541, 39.12855999987368, -84.4825430004655, 39.12935999987361], "geometry": {"coordinates": [[[-84.48334300046541, 39.12855999987368], [-84.48334300046541, 39.12935999987361], [-84.48304300046544, 39.12935999987361], [-84.4825430004655, 39.12935999987361], [-84.48264300046549, 39.128859999873676], [-84.48334300046541, 39.12855999987368]]], "type": "Polygon"}, "id": "53", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 2.0, "BLOCK": "390610037003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1125.1529, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 709235.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 1.0, "MEDIAN_AGE": 83.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48154300046558, 39.124859999874054, -84.4786430004659, 39.12685999987386], "geometry": {"coordinates": [[[-84.48154300046558, 39.12495999987402], [-84.48134300046561, 39.12685999987385], [-84.47924300046583, 39.12675999987387], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.126059999873924], [-84.4803430004657, 39.124859999874054], [-84.48154300046558, 39.12495999987402]]], "type": "Polygon"}, "id": "54", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709254.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48284300046545, 39.12675999987387, -84.47804300046597, 39.12805999987371], "geometry": {"coordinates": [[[-84.48284300046545, 39.12685999987385], [-84.48264300046547, 39.12805999987371], [-84.47804300046597, 39.12745999987382], [-84.47824300046594, 39.12725999987383], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.12675999987387], [-84.48134300046561, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48284300046545, 39.12685999987385]]], "type": "Polygon"}, "id": "55", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 16.0, "AGE_15_19": 8.0, "AGE_18": 143.0, "AGE_20_24": 14.0, "AGE_21": 137.0, "AGE_25_34": 28.0, "AGE_35_44": 35.0, "AGE_45_54": 30.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 4.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 14.0, "AGE_75_84": 5.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 35.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.59, "AVG_HHSIZE": 2.35, "BG": "390610037001", "BLACK": 155.0, "BLOCK": "390610037001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12457.7064, "F1_RACE": 189.0, "F2_RACES": 2.0, "FEMALE": 88.0, "FEMALE_18": 60.0, "FEMALE_65": 16.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 65.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 65.0, "HU_VACANT": 18.0, "ID": 709272.0, "IN_HOUSEHO": 153.0, "MALE": 103.0, "MALE_18": 83.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.1, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.85, "POPULATION": 191.0, "RENTER_SIZ": 2.03, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 33.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48404300046533, 39.12935999987361, -84.48294300046545, 39.13065999987348], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48294300046545, 39.13055999987351], [-84.48304300046544, 39.12935999987361], [-84.48334300046541, 39.12935999987361], [-84.48404300046533, 39.129459999873596], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "56", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 1.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 1.8, "BG": "390610037003", "BLACK": 25.0, "BLOCK": "390610037003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5951.8877, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 709292.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 27.0, "RENTER_SIZ": 1.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48394300046536, 39.13055999987351, -84.48184300046557, 39.13178999987337], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48384300046537, 39.131359999873425], [-84.48384300046537, 39.131619999873394], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131759999873395], [-84.48375200046537, 39.13178999987337], [-84.48288500046546, 39.13137799987341], [-84.48274500046548, 39.13130799987342], [-84.48237000046552, 39.131118999873436], [-84.48216300046555, 39.130962999873454], [-84.48184300046557, 39.13065999987349], [-84.48214300046554, 39.13065999987349], [-84.48294300046545, 39.13055999987351], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "57", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 25.0, "AGE_20_24": 5.0, "AGE_21": 23.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.53, "BG": "390610037003", "BLACK": 47.0, "BLOCK": "390610037003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8862.921, "F1_RACE": 48.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 3.0, "ID": 709311.0, "IN_HOUSEHO": 48.0, "MALE": 24.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 48.0, "RENTER_SIZ": 2.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.128859999873676, -84.48174300046557, 39.12935999987361], "geometry": {"coordinates": [[[-84.48264300046549, 39.128859999873676], [-84.4825430004655, 39.12935999987361], [-84.48204300046554, 39.129259999873646], [-84.48174300046557, 39.129159999873636], [-84.48264300046549, 39.128859999873676]]], "type": "Polygon"}, "id": "58", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709334.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48375200046537, 39.13064399987349, -84.4816430004656, 39.13195999987335], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.48216300046555, 39.130962999873454], [-84.48237000046552, 39.131118999873436], [-84.48274500046548, 39.13130799987342], [-84.48288500046546, 39.13137799987341], [-84.48375200046537, 39.13178999987337], [-84.48324300046544, 39.13195999987335], [-84.4816430004656, 39.13185999987338], [-84.48174300046558, 39.13125999987342], [-84.48181600046559, 39.13082199987347], [-84.48174000046559, 39.130719999873506], [-84.4816930004656, 39.13064399987349], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "59", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 10.0, "AGE_18": 33.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 58.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.64, "BG": "390610037003", "BLACK": 58.0, "BLOCK": "390610037003000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12239.7822, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 19.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 9.0, "ID": 709351.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 58.0, "RENTER_SIZ": 2.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48304300046544, 39.129159999873636, -84.4797430004658, 39.13065999987349], "geometry": {"coordinates": [[[-84.48304300046544, 39.12935999987361], [-84.48294300046545, 39.13055999987351], [-84.48214300046554, 39.13065999987349], [-84.48184300046557, 39.13065999987349], [-84.48094600046568, 39.13011399987356], [-84.4806780004657, 39.12995299987357], [-84.48047200046572, 39.129839999873575], [-84.48026600046575, 39.129760999873604], [-84.48001800046576, 39.12971699987361], [-84.4797430004658, 39.129659999873596], [-84.4806430004657, 39.129559999873585], [-84.48174300046557, 39.129159999873636], [-84.48204300046554, 39.129259999873646], [-84.4825430004655, 39.12935999987361], [-84.48304300046544, 39.12935999987361]]], "type": "Polygon"}, "id": "60", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 5.0, "AGE_21": 54.0, "AGE_25_34": 10.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 7.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 1.88, "BG": "390610037003", "BLACK": 81.0, "BLOCK": "390610037003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7861.5423, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 32.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 5.0, "ID": 709372.0, "IN_HOUSEHO": 81.0, "MALE": 36.0, "MALE_18": 26.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 81.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48184300046557, 39.129659999873596, -84.4788430004659, 39.13185999987338], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.4816930004656, 39.13064399987349], [-84.48174000046559, 39.130719999873506], [-84.48181600046559, 39.13082199987347], [-84.48174300046558, 39.13125999987342], [-84.4816430004656, 39.13185999987338], [-84.4788430004659, 39.13155999987342], [-84.47904300046586, 39.130359999873534], [-84.4797430004658, 39.129659999873596], [-84.48001800046576, 39.12971699987361], [-84.48026600046575, 39.129760999873604], [-84.48047200046572, 39.129839999873575], [-84.4806780004657, 39.12995299987357], [-84.48094600046568, 39.13011399987356], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "61", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 76.0, "AGE_20_24": 7.0, "AGE_21": 72.0, "AGE_25_34": 11.0, "AGE_35_44": 23.0, "AGE_45_54": 14.0, "AGE_55_59": 7.0, "AGE_5_9": 0.0, "AGE_60_64": 5.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 80.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 80.0, "BLOCK": "390610037001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5072.4868, "F1_RACE": 88.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 38.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 56.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 56.0, "HU_VACANT": 3.0, "ID": 709393.0, "IN_HOUSEHO": 88.0, "MALE": 47.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 88.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 88.0, "RENTER_SIZ": 1.52, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 8.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4803430004657, 39.12445999987407, -84.477543000466, 39.126059999873924], "geometry": {"coordinates": [[[-84.47964300046577, 39.124659999874055], [-84.4803430004657, 39.124859999874054], [-84.47924300046583, 39.126059999873924], [-84.477543000466, 39.12595999987395], [-84.47774300046596, 39.12445999987407], [-84.47834300046591, 39.12445999987407], [-84.47964300046577, 39.124659999874055]]], "type": "Polygon"}, "id": "62", "properties": {"AGE_0_5": 31.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 109.0, "AGE_20_24": 20.0, "AGE_21": 99.0, "AGE_25_34": 42.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 2.17, "BG": "390610042002", "BLACK": 112.0, "BLOCK": "390610042002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14062.7526, "F1_RACE": 168.0, "F2_RACES": 1.0, "FEMALE": 109.0, "FEMALE_18": 74.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 5.0, "ID": 709415.0, "IN_HOUSEHO": 169.0, "MALE": 60.0, "MALE_18": 35.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 162.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 70.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 169.0, "RENTER_SIZ": 2.1, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 54.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47924300046583, 39.12595999987395, -84.477543000466, 39.12685999987387], "geometry": {"coordinates": [[[-84.47924300046583, 39.126059999873924], [-84.4786430004659, 39.12685999987386], [-84.47754300046601, 39.12685999987387], [-84.477543000466, 39.12595999987395], [-84.47924300046583, 39.126059999873924]]], "type": "Polygon"}, "id": "63", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 43.0, "AGE_25_34": 19.0, "AGE_35_44": 12.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.34, "BG": "390610042002", "BLACK": 23.0, "BLOCK": "390610042002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10532.1683, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 3.0, "ID": 709435.0, "IN_HOUSEHO": 47.0, "MALE": 16.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 47.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 24.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.12745999987382, -84.47704300046608, 39.129159999873636], "geometry": {"coordinates": [[[-84.48264300046547, 39.12805999987371], [-84.48264300046549, 39.128859999873676], [-84.48174300046557, 39.129159999873636], [-84.47704300046608, 39.12865999987371], [-84.47744300046602, 39.12815999987375], [-84.47804300046597, 39.12745999987382], [-84.48264300046547, 39.12805999987371]]], "type": "Polygon"}, "id": "64", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 203.0, "AGE_20_24": 20.0, "AGE_21": 198.0, "AGE_25_34": 43.0, "AGE_35_44": 63.0, "AGE_45_54": 32.0, "AGE_55_59": 14.0, "AGE_5_9": 11.0, "AGE_60_64": 6.0, "AGE_62": 25.0, "AGE_65": 22.0, "AGE_65_74": 15.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 0.0, "AP_BLACK": 193.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 50.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.97, "AVG_HHSIZE": 2.55, "BG": "390610037001", "BLACK": 190.0, "BLOCK": "390610037001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10515.7405, "F1_RACE": 238.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 62.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 49.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 22.0, "ID": 709452.0, "IN_HOUSEHO": 194.0, "MALE": 162.0, "MALE_18": 141.0, "MALE_65": 10.0, "MEDIAN_AGE": 38.3, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 49.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.48, "POPULATION": 243.0, "RENTER_SIZ": 2.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 48.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47774300046596, 39.1243599998741, -84.47644300046613, 39.12685999987387], "geometry": {"coordinates": [[[-84.477543000466, 39.12595999987395], [-84.47754300046601, 39.12685999987387], [-84.47644300046613, 39.12675999987388], [-84.4766430004661, 39.1243599998741], [-84.47744300046601, 39.1243599998741], [-84.47774300046596, 39.12445999987407], [-84.477543000466, 39.12595999987395]]], "type": "Polygon"}, "id": "65", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 98.0, "AGE_20_24": 14.0, "AGE_21": 97.0, "AGE_25_34": 31.0, "AGE_35_44": 24.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 75.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.91, "BG": "390610042002", "BLACK": 35.0, "BLOCK": "390610042002005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11483.761, "F1_RACE": 109.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 31.0, "HOUSEHOLDS": 58.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 58.0, "HU_VACANT": 11.0, "ID": 709472.0, "IN_HOUSEHO": 111.0, "MALE": 54.0, "MALE_18": 51.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 73.0, "NOT_HISPAN": 110.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.41, "POPULATION": 111.0, "RENTER_SIZ": 1.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 74.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4786430004659, 39.12675999987388, -84.47614300046617, 39.12815999987375], "geometry": {"coordinates": [[[-84.4786430004659, 39.12685999987386], [-84.47824300046594, 39.12725999987383], [-84.47804300046597, 39.12745999987382], [-84.47744300046602, 39.12815999987375], [-84.47614300046617, 39.12805999987374], [-84.47644300046613, 39.12675999987388], [-84.47754300046601, 39.12685999987387], [-84.4786430004659, 39.12685999987386]]], "type": "Polygon"}, "id": "66", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 19.0, "AGE_15_19": 26.0, "AGE_18": 121.0, "AGE_20_24": 11.0, "AGE_21": 115.0, "AGE_25_34": 27.0, "AGE_35_44": 33.0, "AGE_45_54": 20.0, "AGE_55_59": 8.0, "AGE_5_9": 26.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.57, "AVG_HHSIZE": 2.47, "BG": "390610042001", "BLACK": 185.0, "BLOCK": "390610042001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24439.8373, "F1_RACE": 201.0, "F2_RACES": 4.0, "FEMALE": 106.0, "FEMALE_18": 73.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 97.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 14.0, "ID": 709492.0, "IN_HOUSEHO": 205.0, "MALE": 99.0, "MALE_18": 48.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 205.0, "RENTER_SIZ": 2.34, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.47744300046602, 39.12805999987374, -84.47564300046623, 39.12945999987363], "geometry": {"coordinates": [[[-84.47674300046613, 39.12935999987364], [-84.47644300046615, 39.12925999987366], [-84.47564300046623, 39.12945999987363], [-84.47614300046617, 39.12805999987374], [-84.47744300046602, 39.12815999987375], [-84.47704300046608, 39.12865999987371], [-84.47674300046613, 39.12895999987367], [-84.47674300046613, 39.12935999987364]]], "type": "Polygon"}, "id": "67", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 47.0, "AGE_20_24": 1.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 17.0, "AGE_65": 15.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.21, "BG": "390610042001", "BLACK": 47.0, "BLOCK": "390610042001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10089.2509, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 1.0, "ID": 709513.0, "IN_HOUSEHO": 51.0, "MALE": 26.0, "MALE_18": 25.0, "MALE_65": 6.0, "MEDIAN_AGE": 53.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 51.0, "RENTER_SIZ": 1.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48174300046557, 39.12865999987371, -84.47674300046613, 39.129659999873596], "geometry": {"coordinates": [[[-84.48174300046557, 39.129159999873636], [-84.4806430004657, 39.129559999873585], [-84.4797430004658, 39.129659999873596], [-84.47864300046592, 39.12955999987361], [-84.47674300046613, 39.12935999987364], [-84.47674300046613, 39.12895999987367], [-84.47704300046608, 39.12865999987371], [-84.48174300046557, 39.129159999873636]]], "type": "Polygon"}, "id": "68", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 11.0, "BLOCK": "390610037001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1000.1608, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 15.0, "ID": 709531.0, "IN_HOUSEHO": 11.0, "MALE": 9.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 1.57, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4797430004658, 39.12935999987364, -84.47664300046614, 39.130359999873534], "geometry": {"coordinates": [[[-84.4797430004658, 39.129659999873596], [-84.47904300046586, 39.130359999873534], [-84.47664300046614, 39.13005999987358], [-84.47674300046613, 39.12935999987364], [-84.47864300046592, 39.12955999987361], [-84.4797430004658, 39.129659999873596]]], "type": "Polygon"}, "id": "69", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.75, "BG": "390610037001", "BLACK": 7.0, "BLOCK": "390610037001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 947.5052, "F1_RACE": 7.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 709550.0, "IN_HOUSEHO": 7.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 7.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 7.0, "RENTER_SIZ": 1.75, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47904300046586, 39.13005999987358, -84.47654300046615, 39.13155999987342], "geometry": {"coordinates": [[[-84.47904300046586, 39.130359999873534], [-84.4788430004659, 39.13155999987342], [-84.47654300046615, 39.13135999987346], [-84.47664300046614, 39.13005999987358], [-84.47904300046586, 39.130359999873534]]], "type": "Polygon"}, "id": "70", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.47, "BG": "390610041002", "BLACK": 37.0, "BLOCK": "390610041002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4266.2283, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 9.0, "ID": 709569.0, "IN_HOUSEHO": 47.0, "MALE": 15.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 47.0, "RENTER_SIZ": 2.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004100", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.487443000465, 39.13155999987342, -84.47854300046596, 39.137636999872846], "geometry": {"coordinates": [[[-84.48384300046537, 39.131759999873395], [-84.48383200046537, 39.13184799987338], [-84.48374300046537, 39.13255999987331], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.13276599987328], [-84.48504300046524, 39.13335999987322], [-84.48596700046515, 39.133397999873225], [-84.48613700046513, 39.133514999873206], [-84.487443000465, 39.133659999873196], [-84.48724300046503, 39.133859999873174], [-84.48714300046504, 39.13415999987315], [-84.48614300046513, 39.13435999987314], [-84.4839430004654, 39.136059999873005], [-84.48354300046543, 39.13635999987295], [-84.4829430004655, 39.137059999872875], [-84.4821430004656, 39.137559999872835], [-84.48183300046561, 39.137636999872846], [-84.47984300046583, 39.13475999987314], [-84.47864300046594, 39.134059999873195], [-84.47854300046596, 39.13375999987322], [-84.47864300046594, 39.13285999987331], [-84.4788430004659, 39.13155999987342], [-84.4816430004656, 39.13185999987338], [-84.48324300046544, 39.13195999987335], [-84.48375200046537, 39.13178999987337], [-84.48384300046537, 39.131759999873395]]], "type": "Polygon"}, "id": "71", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 289.0, "AGE_20_24": 9.0, "AGE_21": 285.0, "AGE_25_34": 38.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 9.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 143.0, "AGE_65": 135.0, "AGE_65_74": 40.0, "AGE_75_84": 49.0, "AGE_85": 46.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 340.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.1, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.1, "BG": "390610036001", "BLACK": 340.0, "BLOCK": "390610036001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3344.4579, "F1_RACE": 351.0, "F2_RACES": 0.0, "FEMALE": 203.0, "FEMALE_18": 170.0, "FEMALE_65": 83.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 137.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 18.0, "ID": 709605.0, "IN_HOUSEHO": 250.0, "MALE": 148.0, "MALE_18": 119.0, "MALE_65": 52.0, "MEDIAN_AGE": 48.2, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 31.0, "OCCHU_RENT": 88.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 351.0, "RENTER_SIZ": 1.83, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48644300046513, 39.136059999873005, -84.48183300046561, 39.14155999987249], "geometry": {"coordinates": [[[-84.48614300046516, 39.13805999987279], [-84.48644300046513, 39.13845999987274], [-84.48554300046524, 39.139159999872675], [-84.48454300046537, 39.14025999987261], [-84.48433500046538, 39.140559999872565], [-84.48364300046546, 39.14155999987249], [-84.48294300046551, 39.139859999872655], [-84.48214300046561, 39.13905999987272], [-84.48183300046561, 39.137636999872846], [-84.4821430004656, 39.137559999872835], [-84.4829430004655, 39.137059999872875], [-84.48354300046543, 39.13635999987295], [-84.4839430004654, 39.136059999873005], [-84.48534300046525, 39.13715999987289], [-84.48614300046516, 39.13805999987279]], [[-84.48604300046517, 39.13825999987277], [-84.48584300046521, 39.13805999987279], [-84.4849430004653, 39.13725999987287], [-84.48384300046541, 39.137559999872835], [-84.48404300046539, 39.138159999872784], [-84.48424300046537, 39.138959999872704], [-84.48504300046528, 39.13885999987272], [-84.48604300046517, 39.13825999987277]]], "type": "Polygon"}, "id": "72", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 70.0, "AGE_20_24": 10.0, "AGE_21": 64.0, "AGE_25_34": 8.0, "AGE_35_44": 13.0, "AGE_45_54": 18.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.78, "BG": "390610036001", "BLACK": 103.0, "BLOCK": "390610036001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2705.3799, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 55.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 9.0, "ID": 709637.0, "IN_HOUSEHO": 103.0, "MALE": 48.0, "MALE_18": 31.0, "MALE_65": 6.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 103.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13528099987297, -84.50234300046341, 39.13655999987285], "geometry": {"coordinates": [[[-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.135759999872924], [-84.50374300046326, 39.13655999987285], [-84.50234300046341, 39.136459999872876], [-84.5024430004634, 39.135759999872924], [-84.50244300046339, 39.13528099987297], [-84.50384300046323, 39.13536199987297]]], "type": "Polygon"}, "id": "73", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699143.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50264300046335, 39.13285999987319, -84.50094300046354, 39.13495999987302], "geometry": {"coordinates": [[[-84.50254300046338, 39.13425999987308], [-84.50244300046339, 39.13495999987302], [-84.50094300046354, 39.134859999873], [-84.5012430004635, 39.13285999987319], [-84.50264300046334, 39.13285999987319], [-84.50264300046335, 39.13345999987315], [-84.50254300046338, 39.13425999987308]]], "type": "Polygon"}, "id": "74", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 45.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 16.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 55.0, "BLOCK": "390610032002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8677.1914, "F1_RACE": 97.0, "F2_RACES": 1.0, "FEMALE": 40.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 77.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 98.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 699162.0, "IN_HOUSEHO": 0.0, "MALE": 58.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 98.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 42.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.134859999873, -84.50094300046354, 39.135759999872924], "geometry": {"coordinates": [[[-84.50244300046339, 39.13528099987297], [-84.5024430004634, 39.135759999872924], [-84.50094300046354, 39.135659999872956], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.134859999873], [-84.50244300046339, 39.13495999987302], [-84.50244300046339, 39.13528099987297]]], "type": "Polygon"}, "id": "75", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699182.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.135659999872956, -84.50084300046358, 39.136459999872876], "geometry": {"coordinates": [[[-84.50234300046341, 39.136459999872876], [-84.50084300046358, 39.13635999987288], [-84.50094300046354, 39.135659999872956], [-84.5024430004634, 39.135759999872924], [-84.50234300046341, 39.136459999872876]]], "type": "Polygon"}, "id": "76", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610032001", "BLACK": 1.0, "BLOCK": "390610032001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 254.7764, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 1.0, "ID": 699201.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 64.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50544300046307, 39.13635999987288, -84.5006430004636, 39.13955999987258], "geometry": {"coordinates": [[[-84.50544300046307, 39.13665999987285], [-84.50537800046308, 39.137129999872776], [-84.50504300046315, 39.13955999987258], [-84.50214300046343, 39.13935999987259], [-84.5015430004635, 39.13845999987268], [-84.5006430004636, 39.138359999872684], [-84.50084300046358, 39.13635999987288], [-84.50234300046341, 39.136459999872876], [-84.50374300046326, 39.13655999987285], [-84.50544300046307, 39.13665999987285]]], "type": "Polygon"}, "id": "77", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 6.0, "AGE_15_19": 2.0, "AGE_18": 48.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 6.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 42.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 25.0, "BLOCK": "390610032001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1555.3515, "F1_RACE": 68.0, "F2_RACES": 2.0, "FEMALE": 36.0, "FEMALE_18": 29.0, "FEMALE_65": 6.0, "GQ_INSTITU": 70.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 70.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699218.0, "IN_HOUSEHO": 0.0, "MALE": 34.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 39.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 70.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 40.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50014300046355, 39.12455999987399, -84.49904300046369, 39.12625999987383], "geometry": {"coordinates": [[[-84.4999430004636, 39.12625999987383], [-84.49904300046369, 39.12615999987382], [-84.49914300046366, 39.125359999873915], [-84.49914300046366, 39.12455999987399], [-84.50014300046355, 39.12465999987397], [-84.4999430004636, 39.12625999987383]]], "type": "Polygon"}, "id": "78", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 29.0, "BLOCK": "390610021002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7224.6969, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 3.0, "ID": 699239.0, "IN_HOUSEHO": 40.0, "MALE": 22.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 43.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 40.0, "RENTER_SIZ": 1.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5017430004634, 39.12605999987384, -84.4980430004638, 39.127759999873675], "geometry": {"coordinates": [[[-84.5017430004634, 39.126359999873806], [-84.50094300046348, 39.127259999873715], [-84.49984300046361, 39.127759999873675], [-84.4981430004638, 39.12745999987373], [-84.4980430004638, 39.127159999873754], [-84.49824300046377, 39.12605999987384], [-84.49904300046369, 39.12615999987382], [-84.4999430004636, 39.12625999987383], [-84.5017430004634, 39.126359999873806]]], "type": "Polygon"}, "id": "79", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610034002", "BLACK": 4.0, "BLOCK": "390610034002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 255.9509, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 699258.0, "IN_HOUSEHO": 4.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49914300046366, 39.125259999873926, -84.49784300046382, 39.12615999987382], "geometry": {"coordinates": [[[-84.49914300046366, 39.125359999873915], [-84.49904300046369, 39.12615999987382], [-84.49824300046377, 39.12605999987384], [-84.49784300046382, 39.126059999873846], [-84.49784300046382, 39.125259999873926], [-84.49914300046366, 39.125359999873915]]], "type": "Polygon"}, "id": "80", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49984300046361, 39.12745999987373, -84.49804300046381, 39.128259999873634], "geometry": {"coordinates": [[[-84.49984300046361, 39.127759999873675], [-84.49914300046369, 39.128259999873634], [-84.49804300046381, 39.1279599998737], [-84.4981430004638, 39.12745999987373], [-84.49984300046361, 39.127759999873675]]], "type": "Polygon"}, "id": "81", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699297.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49914300046369, 39.1279599998737, -84.49794300046382, 39.1286599998736], "geometry": {"coordinates": [[[-84.49804300046381, 39.1279599998737], [-84.49914300046369, 39.128259999873634], [-84.49864300046376, 39.1286599998736], [-84.49794300046382, 39.12855999987362], [-84.49804300046381, 39.1279599998737]]], "type": "Polygon"}, "id": "82", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699315.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49824300046377, 39.12605999987384, -84.49664300046395, 39.127159999873754], "geometry": {"coordinates": [[[-84.4980430004638, 39.127159999873754], [-84.49704300046392, 39.12705999987378], [-84.49664300046395, 39.12705999987378], [-84.49724300046388, 39.126059999873846], [-84.49784300046382, 39.126059999873846], [-84.49824300046377, 39.12605999987384], [-84.4980430004638, 39.127159999873754]]], "type": "Polygon"}, "id": "83", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 699332.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046388, 39.125959999873864, -84.49604300046401, 39.127059999873794], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49604300046401, 39.12705999987378], [-84.49674300046394, 39.125959999873864], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "84", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699352.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4981430004638, 39.12705999987378, -84.49634300046398, 39.1279599998737], "geometry": {"coordinates": [[[-84.4981430004638, 39.12745999987373], [-84.49804300046381, 39.1279599998737], [-84.49774300046384, 39.12785999987369], [-84.49634300046398, 39.12755999987371], [-84.49664300046395, 39.12705999987378], [-84.49704300046392, 39.12705999987378], [-84.4980430004638, 39.127159999873754], [-84.4981430004638, 39.12745999987373]]], "type": "Polygon"}, "id": "85", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 3.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610034002", "BLACK": 14.0, "BLOCK": "390610034002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3500.3926, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 2.0, "ID": 699371.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49864300046376, 39.12755999987371, -84.4953430004641, 39.130059999873474], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.496243000464, 39.129459999873546], [-84.49564300046407, 39.129359999873536], [-84.4953430004641, 39.12935999987355], [-84.49634300046398, 39.12755999987371], [-84.49774300046384, 39.12785999987369], [-84.49804300046381, 39.1279599998737], [-84.49794300046382, 39.12855999987362], [-84.49864300046376, 39.1286599998736], [-84.49854300046377, 39.12885999987358], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "86", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 15.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 8.0, "BLOCK": "390610034002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 843.8623, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 15.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 15.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699391.0, "IN_HOUSEHO": 0.0, "MALE": 15.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.1, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 7.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50164300046343, 39.128259999873634, -84.49804300046382, 39.13065999987342], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.49994300046363, 39.130459999873445], [-84.49804300046382, 39.130059999873474], [-84.49854300046377, 39.12885999987358], [-84.49864300046376, 39.1286599998736], [-84.49914300046369, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50154300046344, 39.12945999987352], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "87", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 11.0, "AGE_21": 47.0, "AGE_25_34": 10.0, "AGE_35_44": 11.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.11, "BG": "390610034002", "BLACK": 32.0, "BLOCK": "390610034002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2243.1294, "F1_RACE": 52.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 19.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 699415.0, "IN_HOUSEHO": 52.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 52.0, "RENTER_SIZ": 1.09, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 19.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49994300046363, 39.130059999873474, -84.49764300046387, 39.13155999987333], "geometry": {"coordinates": [[[-84.49994300046363, 39.130459999873445], [-84.49974300046365, 39.13155999987333], [-84.49864300046377, 39.13145999987336], [-84.49764300046387, 39.131359999873354], [-84.49774300046387, 39.130959999873404], [-84.49804300046382, 39.130059999873474], [-84.49994300046363, 39.130459999873445]]], "type": "Polygon"}, "id": "88", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 140.0, "AGE_20_24": 0.0, "AGE_21": 140.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 10.0, "AGE_62": 125.0, "AGE_65": 120.0, "AGE_65_74": 30.0, "AGE_75_84": 41.0, "AGE_85": 49.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 130.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 127.0, "BLOCK": "390610034002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15062.2033, "F1_RACE": 137.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 94.0, "FEMALE_65": 87.0, "GQ_INSTITU": 140.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 140.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699434.0, "IN_HOUSEHO": 0.0, "MALE": 46.0, "MALE_18": 46.0, "MALE_65": 33.0, "MEDIAN_AGE": 80.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 140.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 140.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49974300046365, 39.131359999873354, -84.49704300046395, 39.13265999987326], "geometry": {"coordinates": [[[-84.49974300046365, 39.13155999987333], [-84.49964300046366, 39.13265999987324], [-84.49794300046385, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49704300046395, 39.13265999987325], [-84.49764300046387, 39.131359999873354], [-84.49864300046377, 39.13145999987336], [-84.49974300046365, 39.13155999987333]]], "type": "Polygon"}, "id": "89", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699453.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49804300046382, 39.129459999873546, -84.49574300046409, 39.13265999987325], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.49774300046387, 39.130959999873404], [-84.49764300046387, 39.131359999873354], [-84.49704300046395, 39.13265999987325], [-84.49624300046402, 39.13255999987324], [-84.49574300046409, 39.13255999987324], [-84.49604300046406, 39.13185999987332], [-84.49614300046402, 39.13055999987345], [-84.496243000464, 39.129459999873546], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "90", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699472.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49680000046392, 39.125559999873886, -84.49594300046402, 39.125959999873864], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49594300046402, 39.125959999873864], [-84.49594300046402, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49680000046392, 39.125559999873886], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "91", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699494.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49595400046402, 39.12515999987395, -84.49504300046412, 39.125559999873886], "geometry": {"coordinates": [[[-84.49595400046402, 39.12521199987394], [-84.49594300046402, 39.125559999873886], [-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.12515999987397], [-84.49534300046408, 39.12515999987395], [-84.49595400046402, 39.12521199987394]]], "type": "Polygon"}, "id": "92", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10743.5154, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 4.0, "ID": 699512.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 3.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 12.0, "RENTER_SIZ": 3.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49594300046402, 39.125459999873925, -84.49504300046412, 39.12595999987388], "geometry": {"coordinates": [[[-84.49594300046402, 39.125559999873886], [-84.49594300046402, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49504300046412, 39.125959999873864], [-84.49504300046412, 39.125459999873925], [-84.49594300046402, 39.125559999873886]]], "type": "Polygon"}, "id": "93", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1333.4528, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 3.0, "ID": 699531.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49674300046394, 39.125959999873864, -84.49554300046407, 39.127059999873794], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49604300046401, 39.12705999987378], [-84.49554300046407, 39.127059999873794], [-84.49564300046406, 39.12595999987388], [-84.49594300046402, 39.125959999873864], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "94", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610035002", "BLACK": 2.0, "BLOCK": "390610035002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 613.698, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 7.0, "ID": 699549.0, "IN_HOUSEHO": 2.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 67.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12515999987397, -84.49404300046422, 39.125459999873925], "geometry": {"coordinates": [[[-84.49504300046412, 39.12515999987397], [-84.49504300046412, 39.125459999873925], [-84.49404300046422, 39.12535999987392], [-84.49404300046422, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49504300046412, 39.12515999987397]]], "type": "Polygon"}, "id": "95", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.67, "AVG_HHSIZE": 4.4, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23761.9038, "F1_RACE": 22.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 1.0, "ID": 699568.0, "IN_HOUSEHO": 22.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.5, "POPULATION": 22.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12535999987392, -84.49394300046424, 39.125959999873864], "geometry": {"coordinates": [[[-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.125959999873864], [-84.49394300046424, 39.12585999987388], [-84.49404300046422, 39.12535999987392], [-84.49504300046412, 39.125459999873925]]], "type": "Polygon"}, "id": "96", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 15.0, "AGE_25_34": 3.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 35.0, "BLOCK": "390610021001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18341.2616, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 3.0, "ID": 699587.0, "IN_HOUSEHO": 36.0, "MALE": 17.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 36.0, "RENTER_SIZ": 3.18, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49564300046406, 39.125959999873864, -84.49484300046414, 39.127059999873794], "geometry": {"coordinates": [[[-84.49554300046407, 39.127059999873794], [-84.49484300046414, 39.1269599998738], [-84.49504300046412, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49554300046407, 39.127059999873794]]], "type": "Polygon"}, "id": "97", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.4, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5478.7666, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 3.0, "ID": 699604.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.1257599998739, -84.49354300046429, 39.12745999987374], "geometry": {"coordinates": [[[-84.49484300046414, 39.1269599998738], [-84.49484300046416, 39.12745999987374], [-84.49424300046421, 39.12745999987374], [-84.4943430004642, 39.12635999987383], [-84.49354300046429, 39.12635999987383], [-84.49364300046426, 39.1257599998739], [-84.49394300046424, 39.12585999987388], [-84.49504300046412, 39.125959999873864], [-84.49484300046414, 39.1269599998738]]], "type": "Polygon"}, "id": "98", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 1.0, "AGE_18": 29.0, "AGE_20_24": 3.0, "AGE_21": 28.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 21.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 1.73, "BG": "390610035002", "BLACK": 16.0, "BLOCK": "390610035002011", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7803.0494, "F1_RACE": 36.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 12.0, "ID": 699622.0, "IN_HOUSEHO": 38.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.2, "POPULATION": 38.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 19.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49664300046395, 39.12705999987378, -84.49584300046403, 39.127559999873725], "geometry": {"coordinates": [[[-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.12755999987371], [-84.49584300046403, 39.127559999873725], [-84.49604300046401, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49664300046395, 39.12705999987378]]], "type": "Polygon"}, "id": "99", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699644.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49604300046401, 39.1269599998738, -84.49484300046414, 39.127559999873725], "geometry": {"coordinates": [[[-84.49604300046401, 39.12705999987378], [-84.49584300046403, 39.127559999873725], [-84.49484300046416, 39.12745999987374], [-84.49484300046414, 39.1269599998738], [-84.49554300046407, 39.127059999873794], [-84.49604300046401, 39.12705999987378]]], "type": "Polygon"}, "id": "100", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.91, "BG": "390610035002", "BLACK": 21.0, "BLOCK": "390610035002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10599.3148, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 699662.0, "IN_HOUSEHO": 21.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 45.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 21.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49634300046398, 39.12755999987371, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49584300046403, 39.127559999873725], [-84.49634300046398, 39.12755999987371], [-84.4953430004641, 39.12935999987355], [-84.49464300046418, 39.12935999987355], [-84.49524300046413, 39.12895999987361], [-84.49562900046406, 39.12805999987366], [-84.49584300046403, 39.127559999873725]]], "type": "Polygon"}, "id": "101", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699681.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49584300046403, 39.12745999987374, -84.49484300046416, 39.12805999987368], "geometry": {"coordinates": [[[-84.49484300046416, 39.12745999987374], [-84.49584300046403, 39.127559999873725], [-84.49562900046406, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49484300046416, 39.12805999987366], [-84.49484300046416, 39.12745999987374]]], "type": "Polygon"}, "id": "102", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.43, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9245.804, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 699700.0, "IN_HOUSEHO": 17.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49562900046406, 39.12805999987366, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49484300046416, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49562900046406, 39.12805999987366], [-84.49524300046413, 39.12895999987361], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "103", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.17, "BG": "390610035002", "BLACK": 24.0, "BLOCK": "390610035002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9977.1555, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 7.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 0.0, "ID": 699718.0, "IN_HOUSEHO": 26.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 26.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12505999987396, -84.49304300046434, 39.125359999873936], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49404300046422, 39.12535999987392], [-84.49304300046434, 39.125359999873936], [-84.49314300046431, 39.12505999987396], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "104", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 14.0, "AGE_20_24": 4.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 13.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.09, "AVG_HHSIZE": 4.09, "BG": "390610021001", "BLACK": 38.0, "BLOCK": "390610021001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 50628.9598, "F1_RACE": 41.0, "F2_RACES": 4.0, "FEMALE": 29.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 2.0, "ID": 699736.0, "IN_HOUSEHO": 45.0, "MALE": 16.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 9.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 45.0, "RENTER_SIZ": 4.09, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49294300046445, 39.140859999872504, -84.48964300046482, 39.14215999987238], "geometry": {"coordinates": [[[-84.49094300046467, 39.140859999872504], [-84.49294300046445, 39.140959999872514], [-84.49244300046452, 39.141659999872424], [-84.49224300046454, 39.14215999987238], [-84.48964300046482, 39.142059999872394], [-84.48974300046478, 39.140859999872504], [-84.49094300046467, 39.140859999872504]]], "type": "Polygon"}, "id": "105", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 13.0, "AGE_15_19": 20.0, "AGE_18": 213.0, "AGE_20_24": 14.0, "AGE_21": 203.0, "AGE_25_34": 27.0, "AGE_35_44": 31.0, "AGE_45_54": 19.0, "AGE_55_59": 9.0, "AGE_5_9": 27.0, "AGE_60_64": 16.0, "AGE_62": 102.0, "AGE_65": 89.0, "AGE_65_74": 47.0, "AGE_75_84": 31.0, "AGE_85": 11.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.7, "BG": "390610067004", "BLACK": 282.0, "BLOCK": "390610067004007", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21989.7915, "F1_RACE": 285.0, "F2_RACES": 2.0, "FEMALE": 176.0, "FEMALE_18": 136.0, "FEMALE_65": 67.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 124.0, "HOUSEHOLDS": 169.0, "HSNG_UNITS": 205.0, "HU_OCCUPIE": 169.0, "HU_VACANT": 36.0, "ID": 711584.0, "IN_HOUSEHO": 287.0, "MALE": 111.0, "MALE_18": 77.0, "MALE_65": 22.0, "MEDIAN_AGE": 41.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 155.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.43, "POPULATION": 287.0, "RENTER_SIZ": 1.63, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4915430004646, 39.14275999987236, -84.48564300046525, 39.14415999987221], "geometry": {"coordinates": [[[-84.4915430004646, 39.143159999872296], [-84.49104300046467, 39.14415999987221], [-84.48564300046525, 39.14365999987227], [-84.48594300046523, 39.14315999987232], [-84.48704300046509, 39.14275999987236], [-84.488043000465, 39.142859999872336], [-84.48864300046493, 39.14295999987232], [-84.4915430004646, 39.143159999872296]]], "type": "Polygon"}, "id": "106", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 90.0, "AGE_20_24": 14.0, "AGE_21": 83.0, "AGE_25_34": 18.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 9.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 129.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.73, "BG": "390610067004", "BLACK": 129.0, "BLOCK": "390610067004002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6913.3996, "F1_RACE": 134.0, "F2_RACES": 0.0, "FEMALE": 66.0, "FEMALE_18": 54.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 9.0, "ID": 711604.0, "IN_HOUSEHO": 134.0, "MALE": 68.0, "MALE_18": 36.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.6, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 134.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 134.0, "RENTER_SIZ": 2.54, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49224300046455, 39.145359999872106, -84.48904300046492, 39.14805999987183], "geometry": {"coordinates": [[[-84.49224300046455, 39.14545999987209], [-84.49213100046458, 39.14691599987195], [-84.4920430004646, 39.14805999987183], [-84.49040800046478, 39.14773299987189], [-84.48904300046492, 39.14745999987187], [-84.48944300046487, 39.146759999871975], [-84.4899430004648, 39.14605999987202], [-84.4900430004648, 39.14585999987206], [-84.49034300046476, 39.145359999872106], [-84.49224300046455, 39.14545999987209]]], "type": "Polygon"}, "id": "107", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 20.0, "AGE_15_19": 17.0, "AGE_18": 77.0, "AGE_20_24": 5.0, "AGE_21": 67.0, "AGE_25_34": 13.0, "AGE_35_44": 24.0, "AGE_45_54": 11.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 120.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.84, "AVG_HHSIZE": 2.67, "BG": "390610068002", "BLACK": 118.0, "BLOCK": "390610068002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5379.6715, "F1_RACE": 118.0, "F2_RACES": 2.0, "FEMALE": 56.0, "FEMALE_18": 38.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 15.0, "ID": 711620.0, "IN_HOUSEHO": 120.0, "MALE": 64.0, "MALE_18": 39.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 120.0, "RENTER_SIZ": 2.72, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49224300046454, 39.141859999872445, -84.48374300046545, 39.14365999987227], "geometry": {"coordinates": [[[-84.49224300046454, 39.14215999987238], [-84.49194300046456, 39.14255999987233], [-84.4915430004646, 39.143159999872296], [-84.48864300046493, 39.14295999987232], [-84.488043000465, 39.142859999872336], [-84.48704300046509, 39.14275999987236], [-84.48594300046523, 39.14315999987232], [-84.48564300046525, 39.14365999987227], [-84.48464300046537, 39.143559999872295], [-84.48404300046543, 39.143559999872295], [-84.48387800046544, 39.142776999872375], [-84.48374300046545, 39.142159999872405], [-84.48380000046545, 39.14209499987244], [-84.48474300046534, 39.14195999987244], [-84.48544300046525, 39.14185999987246], [-84.48654300046516, 39.141859999872445], [-84.48964300046482, 39.142059999872394], [-84.49224300046454, 39.14215999987238]]], "type": "Polygon"}, "id": "108", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 22.0, "AGE_15_19": 9.0, "AGE_18": 172.0, "AGE_20_24": 17.0, "AGE_21": 170.0, "AGE_25_34": 32.0, "AGE_35_44": 37.0, "AGE_45_54": 25.0, "AGE_55_59": 18.0, "AGE_5_9": 27.0, "AGE_60_64": 6.0, "AGE_62": 36.0, "AGE_65": 35.0, "AGE_65_74": 23.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 249.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.87, "AVG_HHSIZE": 2.37, "BG": "390610067004", "BLACK": 249.0, "BLOCK": "390610067004001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7469.0991, "F1_RACE": 254.0, "F2_RACES": 0.0, "FEMALE": 141.0, "FEMALE_18": 103.0, "FEMALE_65": 27.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 38.0, "HOUSEHOLDS": 107.0, "HSNG_UNITS": 129.0, "HU_OCCUPIE": 107.0, "HU_VACANT": 22.0, "ID": 711663.0, "IN_HOUSEHO": 254.0, "MALE": 113.0, "MALE_18": 69.0, "MALE_65": 8.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.23, "POPULATION": 254.0, "RENTER_SIZ": 2.47, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49054300046475, 39.144759999872164, -84.48424300046541, 39.14585999987206], "geometry": {"coordinates": [[[-84.49034300046476, 39.145359999872106], [-84.4900430004648, 39.14585999987206], [-84.48616500046522, 39.14572599987209], [-84.48424300046541, 39.14565999987211], [-84.48424300046541, 39.144759999872164], [-84.49054300046475, 39.14495999987214], [-84.49034300046476, 39.145359999872106]]], "type": "Polygon"}, "id": "109", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 43.0, "AGE_15_19": 29.0, "AGE_18": 221.0, "AGE_20_24": 27.0, "AGE_21": 211.0, "AGE_25_34": 49.0, "AGE_35_44": 44.0, "AGE_45_54": 31.0, "AGE_55_59": 23.0, "AGE_5_9": 60.0, "AGE_60_64": 7.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 373.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 2.86, "BG": "390610066002", "BLACK": 373.0, "BLOCK": "390610066002002", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18402.2275, "F1_RACE": 375.0, "F2_RACES": 0.0, "FEMALE": 213.0, "FEMALE_18": 134.0, "FEMALE_65": 20.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 90.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 131.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 131.0, "HU_VACANT": 19.0, "ID": 711690.0, "IN_HOUSEHO": 375.0, "MALE": 162.0, "MALE_18": 87.0, "MALE_65": 15.0, "MEDIAN_AGE": 25.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 374.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 106.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.8, "POPULATION": 375.0, "RENTER_SIZ": 2.88, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49104300046467, 39.143559999872295, -84.48124300046575, 39.146259999872036], "geometry": {"coordinates": [[[-84.48564300046525, 39.14365999987227], [-84.49104300046467, 39.14415999987221], [-84.49054300046475, 39.14495999987214], [-84.48424300046541, 39.144759999872164], [-84.48424300046541, 39.14565999987211], [-84.48294300046555, 39.1456599998721], [-84.48234300046563, 39.14585999987211], [-84.48124300046575, 39.146259999872036], [-84.48214300046564, 39.1456599998721], [-84.48394300046544, 39.14395999987227], [-84.48464300046537, 39.143559999872295], [-84.48564300046525, 39.14365999987227]]], "type": "Polygon"}, "id": "110", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 24.0, "AGE_15_19": 28.0, "AGE_18": 147.0, "AGE_20_24": 18.0, "AGE_21": 132.0, "AGE_25_34": 24.0, "AGE_35_44": 36.0, "AGE_45_54": 26.0, "AGE_55_59": 7.0, "AGE_5_9": 17.0, "AGE_60_64": 7.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 9.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 210.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 6.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.96, "BG": "390610066002", "BLACK": 205.0, "BLOCK": "390610066002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6572.2998, "F1_RACE": 214.0, "F2_RACES": 5.0, "FEMALE": 128.0, "FEMALE_18": 94.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 54.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 74.0, "HSNG_UNITS": 90.0, "HU_OCCUPIE": 74.0, "HU_VACANT": 16.0, "ID": 711710.0, "IN_HOUSEHO": 219.0, "MALE": 91.0, "MALE_18": 53.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 218.0, "OCCHU_OWNE": 37.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.38, "POPULATION": 219.0, "RENTER_SIZ": 2.54, "THEFT": 20, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48464300046537, 39.143559999872295, -84.48394300046544, 39.14395999987227], "geometry": {"coordinates": [[[-84.48464300046537, 39.143559999872295], [-84.48394300046544, 39.14395999987227], [-84.48404300046543, 39.143559999872295], [-84.48464300046537, 39.143559999872295]]], "type": "Polygon"}, "id": "111", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 711733.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4900430004648, 39.1456599998721, -84.48234300046563, 39.14745999987187], "geometry": {"coordinates": [[[-84.4899430004648, 39.14605999987202], [-84.48944300046487, 39.146759999871975], [-84.48904300046492, 39.14745999987187], [-84.48604300046524, 39.14725999987195], [-84.48534300046532, 39.147259999871956], [-84.48484300046536, 39.14705999987198], [-84.48424300046543, 39.146759999871996], [-84.48294300046557, 39.14735999987194], [-84.48244300046561, 39.146959999871996], [-84.48244300046561, 39.14655999987201], [-84.48234300046563, 39.14585999987211], [-84.48294300046555, 39.1456599998721], [-84.48424300046541, 39.14565999987211], [-84.48616500046522, 39.14572599987209], [-84.4900430004648, 39.14585999987206], [-84.4899430004648, 39.14605999987202]]], "type": "Polygon"}, "id": "112", "properties": {"AGE_0_5": 36.0, "AGE_10_14": 41.0, "AGE_15_19": 39.0, "AGE_18": 276.0, "AGE_20_24": 28.0, "AGE_21": 261.0, "AGE_25_34": 52.0, "AGE_35_44": 62.0, "AGE_45_54": 41.0, "AGE_55_59": 21.0, "AGE_5_9": 51.0, "AGE_60_64": 17.0, "AGE_62": 54.0, "AGE_65": 45.0, "AGE_65_74": 28.0, "AGE_75_84": 10.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 429.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 7.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.42, "BG": "390610066001", "BLACK": 424.0, "BLOCK": "390610066001004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10939.7842, "F1_RACE": 428.0, "F2_RACES": 5.0, "FEMALE": 220.0, "FEMALE_18": 153.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 107.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 179.0, "HSNG_UNITS": 215.0, "HU_OCCUPIE": 179.0, "HU_VACANT": 36.0, "ID": 711749.0, "IN_HOUSEHO": 433.0, "MALE": 213.0, "MALE_18": 123.0, "MALE_65": 17.0, "MEDIAN_AGE": 29.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 433.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 133.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 433.0, "RENTER_SIZ": 2.28, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51444400046199, 39.121859999874175, -84.50834300046267, 39.125559999873815], "geometry": {"coordinates": [[[-84.51444400046199, 39.12305999987405], [-84.514344000462, 39.12335999987403], [-84.51404400046205, 39.12425999987396], [-84.5128440004622, 39.125559999873815], [-84.50914400046258, 39.1251489998739], [-84.50834300046267, 39.12505999987389], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12265999987413], [-84.50904300046258, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.51064300046241, 39.1227599998741], [-84.51074300046238, 39.12235999987413], [-84.51114300046235, 39.122159999874164], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12225999987413], [-84.51304300046216, 39.12295999987407], [-84.5135430004621, 39.12295999987407], [-84.51384400046206, 39.123059999874044], [-84.51444400046199, 39.12305999987405]]], "type": "Polygon"}, "id": "113", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 38.0, "AGE_15_19": 27.0, "AGE_18": 210.0, "AGE_20_24": 42.0, "AGE_21": 192.0, "AGE_25_34": 62.0, "AGE_35_44": 39.0, "AGE_45_54": 34.0, "AGE_55_59": 5.0, "AGE_5_9": 31.0, "AGE_60_64": 4.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 12.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 308.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 30.0, "AREA": 0.06, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.08, "AVG_HHSIZE": 2.25, "BG": "390610023001", "BLACK": 308.0, "BLOCK": "390610023001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5813.2877, "F1_RACE": 340.0, "F2_RACES": 0.0, "FEMALE": 183.0, "FEMALE_18": 120.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 151.0, "HSNG_UNITS": 194.0, "HU_OCCUPIE": 151.0, "HU_VACANT": 43.0, "ID": 656719.0, "IN_HOUSEHO": 340.0, "MALE": 157.0, "MALE_18": 90.0, "MALE_65": 5.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 340.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 137.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.29, "POPULATION": 340.0, "RENTER_SIZ": 2.25, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51074300046238, 39.12235999987413, -84.50954300046251, 39.1227599998741], "geometry": {"coordinates": [[[-84.51074300046238, 39.12235999987413], [-84.51064300046241, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.50964300046252, 39.12235999987413], [-84.51074300046238, 39.12235999987413]]], "type": "Polygon"}, "id": "114", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 12.0, "AGE_18": 36.0, "AGE_20_24": 9.0, "AGE_21": 31.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 18.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 90.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.09, "BG": "390610023001", "BLACK": 90.0, "BLOCK": "390610023001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 55229.6771, "F1_RACE": 90.0, "F2_RACES": 0.0, "FEMALE": 51.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 11.0, "ID": 656750.0, "IN_HOUSEHO": 90.0, "MALE": 39.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 90.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 90.0, "RENTER_SIZ": 4.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4766430004661, 39.1243599998741, -84.47484300046631, 39.12695999987387], "geometry": {"coordinates": [[[-84.4766430004661, 39.1243599998741], [-84.47644300046613, 39.12675999987388], [-84.47484300046631, 39.12695999987387], [-84.47524300046624, 39.12455999987408], [-84.4766430004661, 39.1243599998741]]], "type": "Polygon"}, "id": "115", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 124.0, "AGE_20_24": 21.0, "AGE_21": 121.0, "AGE_25_34": 36.0, "AGE_35_44": 24.0, "AGE_45_54": 20.0, "AGE_55_59": 7.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 58.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.66, "BG": "390610042002", "BLACK": 86.0, "BLOCK": "390610042002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10984.0124, "F1_RACE": 144.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 65.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 9.0, "ID": 738259.0, "IN_HOUSEHO": 144.0, "MALE": 71.0, "MALE_18": 59.0, "MALE_65": 3.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 144.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 144.0, "RENTER_SIZ": 1.45, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 58.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47524300046624, 39.12455999987408, -84.47374300046643, 39.12695999987387], "geometry": {"coordinates": [[[-84.47484300046631, 39.12695999987387], [-84.47374300046643, 39.126759999873904], [-84.47394300046638, 39.12455999987409], [-84.47524300046624, 39.12455999987408], [-84.47484300046631, 39.12695999987387]]], "type": "Polygon"}, "id": "116", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 172.0, "AGE_20_24": 9.0, "AGE_21": 167.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 26.0, "AGE_55_59": 19.0, "AGE_5_9": 2.0, "AGE_60_64": 15.0, "AGE_62": 67.0, "AGE_65": 62.0, "AGE_65_74": 29.0, "AGE_75_84": 26.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 146.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.52, "AVG_HHSIZE": 1.28, "BG": "390610042002", "BLACK": 144.0, "BLOCK": "390610042002003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17808.0053, "F1_RACE": 182.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 97.0, "FEMALE_65": 41.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 123.0, "HOUSEHOLDS": 144.0, "HSNG_UNITS": 147.0, "HU_OCCUPIE": 144.0, "HU_VACANT": 3.0, "ID": 738277.0, "IN_HOUSEHO": 184.0, "MALE": 78.0, "MALE_18": 75.0, "MALE_65": 21.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 128.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 184.0, "RENTER_SIZ": 1.16, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.47644300046613, 39.12675999987388, -84.47454300046634, 39.12835999987374], "geometry": {"coordinates": [[[-84.47644300046613, 39.12675999987388], [-84.47614300046617, 39.12805999987374], [-84.47464300046634, 39.12835999987374], [-84.47454300046634, 39.128059999873756], [-84.47484300046631, 39.12695999987387], [-84.47644300046613, 39.12675999987388]]], "type": "Polygon"}, "id": "117", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 39.0, "AGE_20_24": 5.0, "AGE_21": 33.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.08, "BG": "390610042001", "BLACK": 29.0, "BLOCK": "390610042001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6338.7504, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 11.0, "ID": 738294.0, "IN_HOUSEHO": 50.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.0, "MSA": "1640", "NH_WHITE": 20.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 50.0, "RENTER_SIZ": 1.79, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 20.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47614300046617, 39.12805999987374, -84.47434300046636, 39.129559999873614], "geometry": {"coordinates": [[[-84.47564300046623, 39.12945999987363], [-84.47434300046636, 39.129559999873614], [-84.47464300046634, 39.12835999987374], [-84.47614300046617, 39.12805999987374], [-84.47564300046623, 39.12945999987363]]], "type": "Polygon"}, "id": "118", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 13.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.27, "BG": "390610042001", "BLACK": 19.0, "BLOCK": "390610042001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5276.5591, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 738313.0, "IN_HOUSEHO": 34.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 34.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47484300046631, 39.126759999873904, -84.47354300046645, 39.128059999873756], "geometry": {"coordinates": [[[-84.47454300046634, 39.128059999873756], [-84.47354300046645, 39.127959999873795], [-84.47374300046643, 39.126759999873904], [-84.47484300046631, 39.12695999987387], [-84.47454300046634, 39.128059999873756]]], "type": "Polygon"}, "id": "119", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 62.0, "AGE_20_24": 7.0, "AGE_21": 60.0, "AGE_25_34": 28.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.52, "BG": "390610042001", "BLACK": 24.0, "BLOCK": "390610042001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14531.7777, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 4.0, "ID": 738330.0, "IN_HOUSEHO": 67.0, "MALE": 27.0, "MALE_18": 25.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 43.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 67.0, "RENTER_SIZ": 1.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 43.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52004400046148, 39.134959999872954, -84.51574400046195, 39.140859999872404], "geometry": {"coordinates": [[[-84.52004400046148, 39.13505999987293], [-84.51954400046156, 39.14045999987243], [-84.5174440004618, 39.140859999872404], [-84.5183440004617, 39.13995999987247], [-84.51854400046167, 39.13955999987251], [-84.51804400046173, 39.138959999872554], [-84.51574400046195, 39.138259999872645], [-84.51764400046174, 39.136959999872786], [-84.51914400046158, 39.134959999872954], [-84.52004400046148, 39.13505999987293]], [[-84.5190440004616, 39.13855999987259], [-84.51854400046167, 39.13835999987263], [-84.51844400046168, 39.138559999872584], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "120", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 23.0, "AGE_18": 116.0, "AGE_20_24": 86.0, "AGE_21": 55.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 8.0, "AP_ASIAN": 7.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.04, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 50.0, "BLOCK": "390610030003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2745.6706, "F1_RACE": 107.0, "F2_RACES": 9.0, "FEMALE": 36.0, "FEMALE_18": 36.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 116.0, "GROUP_QUAR": 116.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683125.0, "IN_HOUSEHO": 0.0, "MALE": 80.0, "MALE_18": 80.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 50.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 116.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 52.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5190440004616, 39.13835999987263, -84.51844400046168, 39.13855999987259], "geometry": {"coordinates": [[[-84.5190440004616, 39.13855999987259], [-84.51844400046168, 39.138559999872584], [-84.51854400046167, 39.13835999987263], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "121", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683147.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5183440004617, 39.13995999987247, -84.51714400046184, 39.140859999872404], "geometry": {"coordinates": [[[-84.5183440004617, 39.13995999987247], [-84.5174440004618, 39.140859999872404], [-84.51714400046184, 39.140559999872444], [-84.51754400046178, 39.14005999987246], [-84.5183440004617, 39.13995999987247]]], "type": "Polygon"}, "id": "122", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683161.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51954400046156, 39.138259999872645, -84.51534400046202, 39.143259999872164], "geometry": {"coordinates": [[[-84.5193440004616, 39.14235999987225], [-84.51914400046164, 39.143259999872164], [-84.51664400046191, 39.14225999987227], [-84.51544400046203, 39.14215999987227], [-84.51544400046203, 39.14195999987231], [-84.51534400046202, 39.13945999987253], [-84.51574400046195, 39.138259999872645], [-84.51804400046173, 39.138959999872554], [-84.51854400046167, 39.13955999987251], [-84.5183440004617, 39.13995999987247], [-84.51754400046178, 39.14005999987246], [-84.51714400046184, 39.140559999872444], [-84.5174440004618, 39.140859999872404], [-84.51954400046156, 39.14045999987243], [-84.51944400046159, 39.14105999987236], [-84.51944400046159, 39.14155999987233], [-84.5193440004616, 39.14235999987225]]], "type": "Polygon"}, "id": "123", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683177.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51814400046163, 39.12725999987368, -84.51454400046204, 39.12815999987359], "geometry": {"coordinates": [[[-84.51814400046162, 39.12745999987365], [-84.51814400046163, 39.12815999987359], [-84.51454400046204, 39.12785999987363], [-84.51454400046204, 39.12725999987368], [-84.51704400046174, 39.12735999987365], [-84.51814400046162, 39.12745999987365]]], "type": "Polygon"}, "id": "124", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 14.0, "AGE_18": 71.0, "AGE_20_24": 47.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 65.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 5.0, "BLOCK": "390610025001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8291.3463, "F1_RACE": 71.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 25.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 2.0, "ID": 683241.0, "IN_HOUSEHO": 74.0, "MALE": 48.0, "MALE_18": 46.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 61.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 74.0, "RENTER_SIZ": 2.0, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 62.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51964400046147, 39.127859999873614, -84.51284400046222, 39.12965999987345], "geometry": {"coordinates": [[[-84.51964400046147, 39.12825999987355], [-84.5194440004615, 39.12855999987354], [-84.51904400046153, 39.12855999987355], [-84.51824400046162, 39.12865999987352], [-84.51754400046171, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51724400046174, 39.12945999987347], [-84.51362800046212, 39.12913099987351], [-84.51284400046222, 39.1290599998735], [-84.51284400046222, 39.12845999987356], [-84.51368300046212, 39.12852699987354], [-84.51374400046211, 39.127859999873614], [-84.51454400046204, 39.12785999987363], [-84.51814400046163, 39.12815999987359], [-84.51894400046154, 39.12825999987357], [-84.51964400046147, 39.12825999987355]]], "type": "Polygon"}, "id": "125", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 744.0, "AGE_18": 895.0, "AGE_20_24": 148.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 14.0, "AP_ASIAN": 32.0, "AP_BLACK": 228.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 657.0, "AREA": 0.03, "ASIAN": 26.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030003", "BLACK": 212.0, "BLOCK": "390610030003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35491.7198, "F1_RACE": 873.0, "F2_RACES": 27.0, "FEMALE": 495.0, "FEMALE_18": 492.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 896.0, "GROUP_QUAR": 896.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 683260.0, "IN_HOUSEHO": 4.0, "MALE": 405.0, "MALE_18": 403.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 632.0, "NOT_HISPAN": 895.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 900.0, "RENTER_SIZ": 1.0, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 634.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51454400046204, 39.12715999987369, -84.51294400046218, 39.12785999987363], "geometry": {"coordinates": [[[-84.51454400046204, 39.12725999987368], [-84.51454400046204, 39.12785999987363], [-84.51374400046211, 39.127859999873614], [-84.51294400046218, 39.127859999873614], [-84.51304400046217, 39.12715999987369], [-84.5137440004621, 39.12715999987369], [-84.51454400046204, 39.12725999987368]]], "type": "Polygon"}, "id": "126", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 45.0, "AGE_20_24": 32.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 40.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.59, "BG": "390610033002", "BLACK": 14.0, "BLOCK": "390610033002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14728.9774, "F1_RACE": 57.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 5.0, "ID": 683329.0, "IN_HOUSEHO": 57.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.6, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 57.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 57.0, "RENTER_SIZ": 2.7, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51374400046211, 39.127859999873614, -84.51284400046222, 39.12852699987354], "geometry": {"coordinates": [[[-84.51374400046211, 39.127859999873614], [-84.51368300046212, 39.12852699987354], [-84.51284400046222, 39.12845999987356], [-84.51294400046218, 39.127859999873614], [-84.51374400046211, 39.127859999873614]]], "type": "Polygon"}, "id": "127", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683349.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51744400046172, 39.12895999987351, -84.51094400046243, 39.13305999987313], "geometry": {"coordinates": [[[-84.51614400046188, 39.13235999987321], [-84.515044000462, 39.13305999987313], [-84.51244400046228, 39.132859999873176], [-84.51264400046226, 39.13165999987326], [-84.51094400046243, 39.1314599998733], [-84.51114400046241, 39.13025999987339], [-84.51124300046237, 39.12895999987351], [-84.51284400046222, 39.1290599998735], [-84.51362800046212, 39.12913099987351], [-84.51724400046174, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51734400046173, 39.12985999987343], [-84.51693200046178, 39.13071799987334], [-84.51614400046188, 39.13235999987321]]], "type": "Polygon"}, "id": "128", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 561.0, "AGE_18": 617.0, "AGE_20_24": 55.0, "AGE_21": 22.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 19.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 538.0, "AREA": 0.07, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 64.0, "BLOCK": "390610030002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8792.3227, "F1_RACE": 610.0, "F2_RACES": 8.0, "FEMALE": 238.0, "FEMALE_18": 238.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 617.0, "GROUP_QUAR": 617.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683367.0, "IN_HOUSEHO": 1.0, "MALE": 380.0, "MALE_18": 379.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 524.0, "NOT_HISPAN": 610.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 618.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 532.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5127080004622, 39.126106999873784, -84.5119480004623, 39.12685799987372], "geometry": {"coordinates": [[[-84.51234600046223, 39.126106999873784], [-84.51264400046222, 39.12655999987375], [-84.5127080004622, 39.12665699987375], [-84.51234400046225, 39.12675999987372], [-84.51214200046228, 39.12685799987372], [-84.5119480004623, 39.126554999873754], [-84.51204300046227, 39.12645999987375], [-84.51234600046223, 39.126106999873784]]], "type": "Polygon"}, "id": "129", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3777.4826, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 6.0, "ID": 683392.0, "IN_HOUSEHO": 4.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 4.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51214200046228, 39.126554999873754, -84.51144300046235, 39.127079999873686], "geometry": {"coordinates": [[[-84.51168300046233, 39.127079999873686], [-84.51144300046235, 39.127059999873715], [-84.5119480004623, 39.126554999873754], [-84.51214200046228, 39.12685799987372], [-84.51168300046233, 39.127079999873686]]], "type": "Polygon"}, "id": "130", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 3.0, "ID": 683432.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51304400046217, 39.127059999873715, -84.51074300046243, 39.127859999873614], "geometry": {"coordinates": [[[-84.51264400046223, 39.12715999987369], [-84.51304400046217, 39.12715999987369], [-84.51294400046218, 39.127859999873614], [-84.51074300046243, 39.12765999987362], [-84.51144300046235, 39.127059999873715], [-84.51168300046233, 39.127079999873686], [-84.51264400046223, 39.12715999987369]]], "type": "Polygon"}, "id": "131", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 8.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 28.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 3.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 34.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.6, "AVG_HHSIZE": 2.25, "BG": "390610033002", "BLACK": 24.0, "BLOCK": "390610033002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13335.9109, "F1_RACE": 61.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 683449.0, "IN_HOUSEHO": 54.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 2.25, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51294400046218, 39.12765999987362, -84.51074300046243, 39.1290599998735], "geometry": {"coordinates": [[[-84.51294400046218, 39.127859999873614], [-84.51284400046222, 39.12845999987356], [-84.51284400046222, 39.1290599998735], [-84.51124300046237, 39.12895999987351], [-84.51115700046239, 39.12844399987358], [-84.51114300046238, 39.12835999987357], [-84.51074300046243, 39.12765999987362], [-84.51294400046218, 39.127859999873614]]], "type": "Polygon"}, "id": "132", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 1.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.0239, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683469.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5128440004622, 39.12505999987389, -84.50824300046268, 39.127059999873715], "geometry": {"coordinates": [[[-84.51264400046222, 39.125759999873836], [-84.51234600046223, 39.126106999873784], [-84.51204300046227, 39.12645999987375], [-84.5119480004623, 39.126554999873754], [-84.51144300046235, 39.127059999873715], [-84.50878800046263, 39.126810999873726], [-84.5082430004627, 39.126759999873755], [-84.50824300046268, 39.12555999987385], [-84.50834300046267, 39.12505999987389], [-84.50914400046258, 39.1251489998739], [-84.5128440004622, 39.125559999873815], [-84.51264400046222, 39.125759999873836]]], "type": "Polygon"}, "id": "133", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 73.0, "AGE_20_24": 39.0, "AGE_21": 58.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.47, "BG": "390610023001", "BLACK": 36.0, "BLOCK": "390610023001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3467.9192, "F1_RACE": 84.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 19.0, "ID": 683489.0, "IN_HOUSEHO": 84.0, "MALE": 43.0, "MALE_18": 38.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 2.55, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 48.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51144300046235, 39.126759999873755, -84.5082430004627, 39.12765999987362], "geometry": {"coordinates": [[[-84.50878800046263, 39.126810999873726], [-84.51144300046235, 39.127059999873715], [-84.51074300046243, 39.12765999987362], [-84.50944300046257, 39.12745999987369], [-84.50864300046265, 39.12745999987367], [-84.5082430004627, 39.126759999873755], [-84.50878800046263, 39.126810999873726]]], "type": "Polygon"}, "id": "134", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 13.0, "AGE_21": 28.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.62, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5464.4265, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 683513.0, "IN_HOUSEHO": 34.0, "MALE": 16.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.72, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 31.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12745999987367, -84.50784300046276, 39.12895999987352], "geometry": {"coordinates": [[[-84.51124300046237, 39.12895999987351], [-84.51044300046247, 39.12895999987352], [-84.50944300046258, 39.128859999873555], [-84.50870500046265, 39.12876799987356], [-84.50784300046276, 39.12865999987357], [-84.50794300046275, 39.12845999987357], [-84.50844300046269, 39.12795999987365], [-84.50864300046265, 39.12745999987367], [-84.50944300046257, 39.12745999987369], [-84.51074300046243, 39.12765999987362], [-84.51114300046238, 39.12835999987357], [-84.51115700046239, 39.12844399987358], [-84.51124300046237, 39.12895999987351]]], "type": "Polygon"}, "id": "135", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683531.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 23, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12895999987351, -84.51024300046252, 39.13025999987339], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51024300046252, 39.13015999987343], [-84.51044300046247, 39.12895999987352], [-84.51124300046237, 39.12895999987351], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "136", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 14.0, "AGE_18": 58.0, "AGE_20_24": 27.0, "AGE_21": 38.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 47.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.48, "BG": "390610033002", "BLACK": 11.0, "BLOCK": "390610033002015", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16899.405, "F1_RACE": 62.0, "F2_RACES": 5.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 8.0, "ID": 683553.0, "IN_HOUSEHO": 67.0, "MALE": 35.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 44.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.4, "POPULATION": 67.0, "RENTER_SIZ": 2.73, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 45.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51264400046226, 39.1314599998733, -84.51084400046246, 39.132859999873176], "geometry": {"coordinates": [[[-84.51264400046226, 39.13165999987326], [-84.51244400046228, 39.132859999873176], [-84.51084400046246, 39.132759999873166], [-84.51094400046243, 39.1314599998733], [-84.51264400046226, 39.13165999987326]]], "type": "Polygon"}, "id": "137", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683571.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51044300046247, 39.128859999873555, -84.50934300046261, 39.13015999987343], "geometry": {"coordinates": [[[-84.51024300046252, 39.13015999987343], [-84.50934300046261, 39.13005999987343], [-84.50944300046258, 39.128859999873555], [-84.51044300046247, 39.12895999987352], [-84.51024300046252, 39.13015999987343]]], "type": "Polygon"}, "id": "138", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 8.0, "AGE_21": 21.0, "AGE_25_34": 11.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.69, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6312.6006, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 14.0, "ID": 683588.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 1.69, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51114400046241, 39.13015999987343, -84.51014300046252, 39.1314599998733], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51094400046243, 39.1314599998733], [-84.51014300046252, 39.1314599998733], [-84.51024300046252, 39.13015999987343], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "139", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 22.0, "AGE_18": 116.0, "AGE_20_24": 48.0, "AGE_21": 81.0, "AGE_25_34": 30.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 10.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 88.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 1.83, "BG": "390610033002", "BLACK": 27.0, "BLOCK": "390610033002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 31762.3412, "F1_RACE": 121.0, "F2_RACES": 5.0, "FEMALE": 44.0, "FEMALE_18": 42.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 69.0, "HSNG_UNITS": 77.0, "HU_OCCUPIE": 69.0, "HU_VACANT": 8.0, "ID": 683606.0, "IN_HOUSEHO": 126.0, "MALE": 82.0, "MALE_18": 74.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 86.0, "NOT_HISPAN": 125.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 62.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.14, "POPULATION": 126.0, "RENTER_SIZ": 1.79, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 86.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51024300046252, 39.13005999987343, -84.50924300046262, 39.1314599998733], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.51024300046252, 39.13015999987343], [-84.51014300046252, 39.1314599998733], [-84.50924300046262, 39.13135999987332], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "140", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 22.0, "AGE_21": 27.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 30.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.86, "BG": "390610033002", "BLACK": 9.0, "BLOCK": "390610033002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8925.1414, "F1_RACE": 39.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 0.0, "ID": 683623.0, "IN_HOUSEHO": 39.0, "MALE": 22.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.9, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 1.86, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50934300046261, 39.13005999987343, -84.5084430004627, 39.13135999987332], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.50924300046262, 39.13135999987332], [-84.5084430004627, 39.131259999873315], [-84.5085430004627, 39.13005999987343], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "141", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 14.0, "AGE_18": 66.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 58.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 2.03, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19615.1423, "F1_RACE": 70.0, "F2_RACES": 3.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 4.0, "ID": 683641.0, "IN_HOUSEHO": 73.0, "MALE": 45.0, "MALE_18": 40.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 4.0, "POPULATION": 73.0, "RENTER_SIZ": 1.97, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 55.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51094400046243, 39.1314599998733, -84.51004300046255, 39.132759999873166], "geometry": {"coordinates": [[[-84.51094400046243, 39.1314599998733], [-84.51084400046246, 39.132759999873166], [-84.51004300046255, 39.132659999873205], [-84.51014300046252, 39.1314599998733], [-84.51094400046243, 39.1314599998733]]], "type": "Polygon"}, "id": "142", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 95.0, "AGE_20_24": 55.0, "AGE_21": 77.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 6.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.1, "BG": "390610033002", "BLACK": 29.0, "BLOCK": "390610033002005", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 28178.8347, "F1_RACE": 102.0, "F2_RACES": 3.0, "FEMALE": 49.0, "FEMALE_18": 40.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 12.0, "ID": 683658.0, "IN_HOUSEHO": 105.0, "MALE": 56.0, "MALE_18": 55.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.5, "POPULATION": 105.0, "RENTER_SIZ": 2.08, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 58.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51014300046252, 39.13135999987332, -84.50914300046264, 39.132659999873205], "geometry": {"coordinates": [[[-84.51004300046255, 39.132659999873205], [-84.50984300046255, 39.132659999873205], [-84.50914300046264, 39.132659999873205], [-84.50924300046262, 39.13135999987332], [-84.51014300046252, 39.1314599998733], [-84.51004300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "143", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683676.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50924300046262, 39.131259999873315, -84.5084430004627, 39.132659999873205], "geometry": {"coordinates": [[[-84.50924300046262, 39.13135999987332], [-84.50914300046264, 39.132659999873205], [-84.50844300046272, 39.13255999987321], [-84.5084430004627, 39.131259999873315], [-84.50924300046262, 39.13135999987332]]], "type": "Polygon"}, "id": "144", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 64.0, "AGE_20_24": 31.0, "AGE_21": 51.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 42.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610033002", "BLACK": 25.0, "BLOCK": "390610033002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19013.5995, "F1_RACE": 65.0, "F2_RACES": 4.0, "FEMALE": 26.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 36.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 6.0, "ID": 683695.0, "IN_HOUSEHO": 69.0, "MALE": 43.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.9, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 69.0, "RENTER_SIZ": 1.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51914400046158, 39.134959999872954, -84.51474400046204, 39.138259999872645], "geometry": {"coordinates": [[[-84.51744400046175, 39.134959999872954], [-84.51914400046158, 39.134959999872954], [-84.51764400046174, 39.136959999872786], [-84.51574400046195, 39.138259999872645], [-84.51514400046202, 39.1377599998727], [-84.51494400046204, 39.1365599998728], [-84.515144000462, 39.13585999987289], [-84.51474400046204, 39.13565999987291], [-84.51644400046186, 39.13505999987293], [-84.51744400046175, 39.134959999872954]]], "type": "Polygon"}, "id": "145", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683712.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.515044000462, 39.132759999873166, -84.51054400046252, 39.13565999987291], "geometry": {"coordinates": [[[-84.51244400046228, 39.132859999873176], [-84.515044000462, 39.13305999987313], [-84.51484400046203, 39.13425999987301], [-84.51474400046204, 39.13565999987291], [-84.51384400046216, 39.13555999987291], [-84.51271800046229, 39.135491999872926], [-84.51212000046235, 39.13545599987292], [-84.51054400046252, 39.135359999872946], [-84.5106440004625, 39.13485999987298], [-84.51074400046248, 39.13405999987305], [-84.51084400046246, 39.132759999873166], [-84.51244400046228, 39.132859999873176]]], "type": "Polygon"}, "id": "146", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 10.0, "AGE_15_19": 249.0, "AGE_18": 1029.0, "AGE_20_24": 412.0, "AGE_21": 618.0, "AGE_25_34": 251.0, "AGE_35_44": 71.0, "AGE_45_54": 30.0, "AGE_55_59": 8.0, "AGE_5_9": 28.0, "AGE_60_64": 6.0, "AGE_62": 10.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 387.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 24.0, "AP_OTHER": 37.0, "AP_WHITE": 459.0, "AREA": 0.04, "ASIAN": 372.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.69, "AVG_HHSIZE": 1.92, "BG": "390610030002", "BLACK": 244.0, "BLOCK": "390610030002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27691.1011, "F1_RACE": 1072.0, "F2_RACES": 36.0, "FEMALE": 470.0, "FEMALE_18": 429.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 423.0, "GROUP_QUAR": 423.0, "HAWAIIAN": 5.0, "HH_FAMILY": 119.0, "HH_NONFAMI": 237.0, "HOUSEHOLDS": 356.0, "HSNG_UNITS": 362.0, "HU_OCCUPIE": 356.0, "HU_VACANT": 6.0, "ID": 683730.0, "IN_HOUSEHO": 685.0, "MALE": 638.0, "MALE_18": 600.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 422.0, "NOT_HISPAN": 1084.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 354.0, "OTHER_RACE": 15.0, "OWNER_SIZE": 1.5, "POPULATION": 1108.0, "RENTER_SIZ": 1.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 435.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50194300046337, 39.12465999987397, -84.4999430004636, 39.126359999873806], "geometry": {"coordinates": [[[-84.50174300046339, 39.12475999987396], [-84.50194300046337, 39.125159999873944], [-84.5017430004634, 39.126359999873806], [-84.4999430004636, 39.12625999987383], [-84.50014300046355, 39.12465999987397], [-84.50174300046339, 39.12475999987396]]], "type": "Polygon"}, "id": "147", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697320.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50324300046324, 39.127259999873715, -84.50164300046343, 39.12815999987364], "geometry": {"coordinates": [[[-84.50324300046324, 39.12735999987369], [-84.50314300046327, 39.12815999987364], [-84.50164300046343, 39.12805999987364], [-84.5018430004634, 39.127259999873715], [-84.50324300046324, 39.12735999987369]]], "type": "Polygon"}, "id": "148", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 3.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 13.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.13, "BG": "390610033001", "BLACK": 14.0, "BLOCK": "390610033001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6204.9883, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 8.0, "ID": 697337.0, "IN_HOUSEHO": 27.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 27.0, "RENTER_SIZ": 1.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 13.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.12805999987364, -84.50164300046343, 39.12865999987358], "geometry": {"coordinates": [[[-84.50314300046327, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50164300046343, 39.12805999987364], [-84.50314300046327, 39.12815999987364]]], "type": "Polygon"}, "id": "149", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 697355.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5018430004634, 39.126359999873806, -84.49914300046369, 39.12865999987358], "geometry": {"coordinates": [[[-84.50164300046343, 39.12805999987364], [-84.50164300046343, 39.12865999987358], [-84.49914300046369, 39.128259999873634], [-84.49984300046361, 39.127759999873675], [-84.50094300046348, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.5018430004634, 39.127259999873715], [-84.50164300046343, 39.12805999987364]]], "type": "Polygon"}, "id": "150", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697372.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50454300046312, 39.12795999987365, -84.50294300046332, 39.13085999987339], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50294300046332, 39.13075999987339], [-84.50324300046326, 39.128259999873634], [-84.50334300046325, 39.12815999987364], [-84.50454300046312, 39.12795999987365], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "151", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 119.0, "AGE_20_24": 35.0, "AGE_21": 109.0, "AGE_25_34": 26.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 8.0, "AGE_62": 13.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 2.0, "AP_WHITE": 52.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.66, "BG": "390610033001", "BLACK": 80.0, "BLOCK": "390610033001007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10556.7195, "F1_RACE": 137.0, "F2_RACES": 1.0, "FEMALE": 64.0, "FEMALE_18": 55.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 57.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 697392.0, "IN_HOUSEHO": 138.0, "MALE": 74.0, "MALE_18": 64.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 132.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 74.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.56, "POPULATION": 138.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 51.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13075999987339, -84.50284300046332, 39.13155999987331], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50424300046318, 39.13155999987331], [-84.50284300046332, 39.13145999987332], [-84.50294300046332, 39.13075999987339], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "152", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 8.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 10.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 71.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.52, "BG": "390610033001", "BLACK": 71.0, "BLOCK": "390610033001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23024.8535, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 7.0, "ID": 697411.0, "IN_HOUSEHO": 81.0, "MALE": 42.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.83, "POPULATION": 81.0, "RENTER_SIZ": 3.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 10.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13225999987324, -84.50414300046317, 39.13305999987318], "geometry": {"coordinates": [[[-84.50504300046309, 39.13235999987324], [-84.5049430004631, 39.13305999987318], [-84.50414300046319, 39.13305999987318], [-84.50414300046317, 39.13225999987324], [-84.50504300046309, 39.13235999987324]]], "type": "Polygon"}, "id": "153", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 15.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.82, "BG": "390610032002", "BLACK": 25.0, "BLOCK": "390610032002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16878.2214, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 0.0, "ID": 697428.0, "IN_HOUSEHO": 40.0, "MALE": 21.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 40.0, "RENTER_SIZ": 1.81, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13145999987332, -84.50274300046333, 39.13225999987324], "geometry": {"coordinates": [[[-84.50424300046318, 39.13155999987331], [-84.50414300046317, 39.13225999987324], [-84.50274300046333, 39.13215999987327], [-84.50284300046332, 39.13145999987332], [-84.50424300046318, 39.13155999987331]]], "type": "Polygon"}, "id": "154", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 35.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 5.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.59, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12002.0838, "F1_RACE": 43.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 697446.0, "IN_HOUSEHO": 44.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 4.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.5, "POPULATION": 44.0, "RENTER_SIZ": 2.31, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 5.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13215999987327, -84.50264300046334, 39.13305999987318], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.50264300046334, 39.13285999987319], [-84.50274300046333, 39.13215999987327], [-84.50414300046317, 39.13225999987324], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "155", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 10.0, "AGE_18": 79.0, "AGE_20_24": 33.0, "AGE_21": 66.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.17, "BG": "390610032002", "BLACK": 59.0, "BLOCK": "390610032002019", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24662.0841, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 50.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 4.0, "ID": 697463.0, "IN_HOUSEHO": 100.0, "MALE": 50.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 38.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 100.0, "RENTER_SIZ": 2.14, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 38.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.128259999873634, -84.50144300046345, 39.13075999987339], "geometry": {"coordinates": [[[-84.50294300046332, 39.13075999987339], [-84.50144300046345, 39.13065999987342], [-84.50154300046344, 39.12945999987352], [-84.50164300046343, 39.12865999987358], [-84.50324300046326, 39.128259999873634], [-84.50294300046332, 39.13075999987339]]], "type": "Polygon"}, "id": "156", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50294300046332, 39.13065999987342, -84.5012430004635, 39.132359999873266], "geometry": {"coordinates": [[[-84.50284300046332, 39.13145999987332], [-84.50274300046333, 39.13215999987327], [-84.50174300046343, 39.13225999987326], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13195999987329], [-84.50144300046345, 39.13065999987342], [-84.50294300046332, 39.13075999987339], [-84.50284300046332, 39.13145999987332]]], "type": "Polygon"}, "id": "157", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 150.0, "AGE_20_24": 13.0, "AGE_21": 144.0, "AGE_25_34": 30.0, "AGE_35_44": 27.0, "AGE_45_54": 27.0, "AGE_55_59": 14.0, "AGE_5_9": 18.0, "AGE_60_64": 8.0, "AGE_62": 33.0, "AGE_65": 28.0, "AGE_65_74": 17.0, "AGE_75_84": 8.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 179.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.79, "BG": "390610033001", "BLACK": 174.0, "BLOCK": "390610033001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 22368.6271, "F1_RACE": 188.0, "F2_RACES": 5.0, "FEMALE": 121.0, "FEMALE_18": 93.0, "FEMALE_65": 22.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 108.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 108.0, "HU_VACANT": 7.0, "ID": 697498.0, "IN_HOUSEHO": 193.0, "MALE": 72.0, "MALE_18": 57.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 189.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 103.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.0, "POPULATION": 193.0, "RENTER_SIZ": 1.73, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50274300046333, 39.13215999987327, -84.5012430004635, 39.13285999987319], "geometry": {"coordinates": [[[-84.50274300046333, 39.13215999987327], [-84.50264300046334, 39.13285999987319], [-84.5012430004635, 39.13285999987319], [-84.5012430004635, 39.132359999873266], [-84.50174300046343, 39.13225999987326], [-84.50274300046333, 39.13215999987327]]], "type": "Polygon"}, "id": "158", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 11.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 32.0, "BLOCK": "390610032002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15171.3464, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 1.0, "ID": 697517.0, "IN_HOUSEHO": 50.0, "MALE": 28.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 50.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 18.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50144300046345, 39.130459999873445, -84.49964300046366, 39.13265999987324], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.5012430004635, 39.13195999987329], [-84.5012430004635, 39.132359999873266], [-84.49964300046366, 39.13265999987324], [-84.49974300046365, 39.13155999987333], [-84.49994300046363, 39.130459999873445], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "159", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 6.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 23.0, "BLOCK": "390610034002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3035.2329, "F1_RACE": 33.0, "F2_RACES": 1.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 0.0, "ID": 697534.0, "IN_HOUSEHO": 34.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 34.0, "RENTER_SIZ": 1.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 9.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.13245999987321, -84.50734300046284, 39.13385999987311], "geometry": {"coordinates": [[[-84.50844300046272, 39.13255999987321], [-84.50834300046274, 39.13385999987311], [-84.50814300046274, 39.133859999873096], [-84.50734300046284, 39.133859999873096], [-84.50744300046281, 39.13245999987321], [-84.50844300046272, 39.13255999987321]]], "type": "Polygon"}, "id": "160", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 43.0, "AGE_20_24": 18.0, "AGE_21": 37.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 2.38, "BG": "390610032002", "BLACK": 36.0, "BLOCK": "390610032002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9965.0563, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 697553.0, "IN_HOUSEHO": 50.0, "MALE": 30.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.25, "POPULATION": 50.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 12.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50904300046265, 39.133859999873096, -84.50804300046278, 39.13515999987295], "geometry": {"coordinates": [[[-84.50904300046265, 39.133859999873096], [-84.50894300046268, 39.13515999987295], [-84.50804300046278, 39.13515999987295], [-84.50814300046274, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50904300046265, 39.133859999873096]]], "type": "Polygon"}, "id": "161", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 3.0, "AGE_18": 57.0, "AGE_20_24": 19.0, "AGE_21": 52.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.97, "BG": "390610032002", "BLACK": 45.0, "BLOCK": "390610032002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15926.4729, "F1_RACE": 68.0, "F2_RACES": 1.0, "FEMALE": 27.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 697572.0, "IN_HOUSEHO": 69.0, "MALE": 42.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.4, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 69.0, "RENTER_SIZ": 1.97, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50814300046274, 39.133859999873096, -84.50734300046284, 39.13515999987295], "geometry": {"coordinates": [[[-84.50804300046278, 39.13515999987295], [-84.50734300046285, 39.13505999987297], [-84.50734300046284, 39.133859999873096], [-84.50814300046274, 39.133859999873096], [-84.50804300046278, 39.13515999987295]]], "type": "Polygon"}, "id": "162", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 45.0, "AGE_20_24": 9.0, "AGE_21": 42.0, "AGE_25_34": 11.0, "AGE_35_44": 13.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.44, "BG": "390610032002", "BLACK": 44.0, "BLOCK": "390610032002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17524.9649, "F1_RACE": 59.0, "F2_RACES": 2.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 697590.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 61.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50944400046265, 39.13505999987297, -84.50544300046307, 39.137659999872724], "geometry": {"coordinates": [[[-84.50554300046306, 39.13585999987293], [-84.50554300046305, 39.13545999987295], [-84.50554300046305, 39.13515999987297], [-84.50714300046289, 39.13505999987297], [-84.50734300046285, 39.13505999987297], [-84.50804300046278, 39.13515999987295], [-84.50894300046268, 39.13515999987295], [-84.50904300046267, 39.13595999987288], [-84.50944400046265, 39.137659999872724], [-84.50826100046277, 39.137578999872744], [-84.50644300046295, 39.136759999872815], [-84.50544300046307, 39.13665999987285], [-84.50554300046306, 39.13585999987293]]], "type": "Polygon"}, "id": "163", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697608.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50734300046285, 39.1336599998731, -84.50554300046305, 39.13515999987297], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50734300046285, 39.13505999987297], [-84.50714300046289, 39.13505999987297], [-84.50554300046305, 39.13515999987297], [-84.50564300046304, 39.134459999873044], [-84.50574300046303, 39.1336599998731], [-84.50654300046293, 39.13375999987311], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "164", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 44.0, "AGE_20_24": 13.0, "AGE_21": 43.0, "AGE_25_34": 14.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.21, "BG": "390610032002", "BLACK": 34.0, "BLOCK": "390610032002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6263.9059, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 23.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 697632.0, "IN_HOUSEHO": 53.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 53.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 17.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13305999987318, -84.5049430004631, 39.133659999873124], "geometry": {"coordinates": [[[-84.505843000463, 39.13315999987314], [-84.50574300046303, 39.1336599998731], [-84.5049430004631, 39.133659999873124], [-84.5049430004631, 39.13305999987318], [-84.505843000463, 39.13315999987314]]], "type": "Polygon"}, "id": "165", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 1.0, "AGE_21": 9.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 3.0, "BLOCK": "390610032002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5745.7963, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 697652.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 10.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50574300046303, 39.1336599998731, -84.50484300046311, 39.134459999873044], "geometry": {"coordinates": [[[-84.50574300046303, 39.1336599998731], [-84.50564300046304, 39.134459999873044], [-84.50484300046311, 39.13435999987304], [-84.5049430004631, 39.133659999873124], [-84.50574300046303, 39.1336599998731]]], "type": "Polygon"}, "id": "166", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610032002", "BLACK": 24.0, "BLOCK": "390610032002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12498.4938, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 697669.0, "IN_HOUSEHO": 28.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 28.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50564300046304, 39.13435999987304, -84.50474300046312, 39.13515999987297], "geometry": {"coordinates": [[[-84.50564300046304, 39.134459999873044], [-84.50554300046305, 39.13515999987297], [-84.50474300046312, 39.135059999872986], [-84.50484300046311, 39.13435999987304], [-84.50564300046304, 39.134459999873044]]], "type": "Polygon"}, "id": "167", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 21.0, "AGE_20_24": 11.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.25, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12792.2919, "F1_RACE": 26.0, "F2_RACES": 1.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 4.0, "ID": 697687.0, "IN_HOUSEHO": 27.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 27.0, "RENTER_SIZ": 2.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50554300046305, 39.13505999987297, -84.50384300046323, 39.13545999987295], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.13505999987297], [-84.50474300046312, 39.135059999872986], [-84.50554300046305, 39.13515999987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "168", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 88.0, "AGE_20_24": 38.0, "AGE_21": 82.0, "AGE_25_34": 37.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 27.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 56.0, "AREA": 0.0, "ASIAN": 26.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.38, "BG": "390610032001", "BLACK": 12.0, "BLOCK": "390610032001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 45600.0576, "F1_RACE": 91.0, "F2_RACES": 3.0, "FEMALE": 55.0, "FEMALE_18": 50.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 0.0, "ID": 697704.0, "IN_HOUSEHO": 94.0, "MALE": 39.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 68.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 94.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 53.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50554300046306, 39.13536199987297, -84.50374300046326, 39.13665999987285], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50554300046306, 39.13585999987293], [-84.50544300046307, 39.13665999987285], [-84.50374300046326, 39.13655999987285], [-84.50384300046323, 39.135759999872924], [-84.50384300046323, 39.13536199987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "169", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697723.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50934400046268, 39.140259999872484, -84.50744400046288, 39.14125999987239], "geometry": {"coordinates": [[[-84.50934400046268, 39.140259999872484], [-84.50924400046269, 39.14125999987239], [-84.50744400046288, 39.141159999872414], [-84.50754300046286, 39.140259999872505], [-84.50934400046268, 39.140259999872484]]], "type": "Polygon"}, "id": "170", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 28.0, "AGE_20_24": 6.0, "AGE_21": 27.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.5, "BG": "390610032001", "BLACK": 21.0, "BLOCK": "390610032001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5510.4161, "F1_RACE": 30.0, "F2_RACES": 5.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 697743.0, "IN_HOUSEHO": 35.0, "MALE": 21.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 35.0, "RENTER_SIZ": 2.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 5.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50954400046263, 39.13665999987285, -84.50024300046367, 39.142259999872316], "geometry": {"coordinates": [[[-84.50924400046269, 39.14125999987239], [-84.5092440004627, 39.142259999872316], [-84.50574300046307, 39.14205999987235], [-84.50324300046334, 39.14185999987239], [-84.50304300046336, 39.141859999872366], [-84.50024300046367, 39.1416599998724], [-84.50034300046366, 39.1406599998725], [-84.50054300046362, 39.139659999872585], [-84.50054300046362, 39.13935999987259], [-84.5006430004636, 39.138359999872684], [-84.5015430004635, 39.13845999987268], [-84.50214300046343, 39.13935999987259], [-84.50504300046315, 39.13955999987258], [-84.50537800046308, 39.137129999872776], [-84.50544300046307, 39.13665999987285], [-84.50644300046295, 39.136759999872815], [-84.50826100046277, 39.137578999872744], [-84.50944400046265, 39.137659999872724], [-84.50954400046263, 39.138059999872695], [-84.50934400046268, 39.140259999872484], [-84.50754300046286, 39.140259999872505], [-84.50744400046288, 39.141159999872414], [-84.50924400046269, 39.14125999987239]]], "type": "Polygon"}, "id": "171", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 297.0, "AGE_20_24": 46.0, "AGE_21": 290.0, "AGE_25_34": 69.0, "AGE_35_44": 49.0, "AGE_45_54": 48.0, "AGE_55_59": 15.0, "AGE_5_9": 5.0, "AGE_60_64": 10.0, "AGE_62": 62.0, "AGE_65": 56.0, "AGE_65_74": 27.0, "AGE_75_84": 25.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 50.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 9.0, "AP_WHITE": 155.0, "AREA": 0.12, "ASIAN": 44.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.71, "BG": "390610032001", "BLACK": 122.0, "BLOCK": "390610032001000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2794.7365, "F1_RACE": 317.0, "F2_RACES": 12.0, "FEMALE": 109.0, "FEMALE_18": 95.0, "FEMALE_65": 13.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 90.0, "HOUSEHOLDS": 133.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 133.0, "HU_VACANT": 17.0, "ID": 697760.0, "IN_HOUSEHO": 228.0, "MALE": 220.0, "MALE_18": 202.0, "MALE_65": 43.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 148.0, "NOT_HISPAN": 327.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 107.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.27, "POPULATION": 329.0, "RENTER_SIZ": 1.58, "THEFT": 33, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 148.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13305999987318, -84.5040430004632, 39.133659999873124], "geometry": {"coordinates": [[[-84.5049430004631, 39.13305999987318], [-84.5049430004631, 39.133659999873124], [-84.5040430004632, 39.13355999987311], [-84.50414300046319, 39.13305999987318], [-84.5049430004631, 39.13305999987318]]], "type": "Polygon"}, "id": "172", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 13.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 28.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.23, "AVG_HHSIZE": 3.53, "BG": "390610032002", "BLACK": 53.0, "BLOCK": "390610032002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 34474.8115, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 21.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 4.0, "ID": 697792.0, "IN_HOUSEHO": 60.0, "MALE": 24.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 60.0, "RENTER_SIZ": 3.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13355999987311, -84.5040430004632, 39.13435999987306], "geometry": {"coordinates": [[[-84.5049430004631, 39.133659999873124], [-84.50484300046311, 39.13435999987304], [-84.5040430004632, 39.13435999987306], [-84.5040430004632, 39.13355999987311], [-84.5049430004631, 39.133659999873124]]], "type": "Polygon"}, "id": "173", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 24.0, "AGE_25_34": 8.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 31.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.31, "BG": "390610032002", "BLACK": 30.0, "BLOCK": "390610032002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15612.5144, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 697810.0, "IN_HOUSEHO": 37.0, "MALE": 17.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50484300046311, 39.13435999987304, -84.50384300046323, 39.135059999872986], "geometry": {"coordinates": [[[-84.50484300046311, 39.13435999987304], [-84.50474300046312, 39.135059999872986], [-84.50384300046323, 39.13505999987297], [-84.5040430004632, 39.13435999987306], [-84.50484300046311, 39.13435999987304]]], "type": "Polygon"}, "id": "174", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 0.0, "BLOCK": "390610032002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697827.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13285999987319, -84.50264300046334, 39.13355999987311], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.5040430004632, 39.13355999987311], [-84.50264300046335, 39.13345999987315], [-84.50264300046334, 39.13285999987319], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "175", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 4.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 14.0, "AGE_21": 71.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 16.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 98.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610032002", "BLACK": 96.0, "BLOCK": "390610032002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35895.2371, "F1_RACE": 105.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 2.0, "ID": 697845.0, "IN_HOUSEHO": 107.0, "MALE": 50.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.7, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 9.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13345999987315, -84.50254300046338, 39.13435999987306], "geometry": {"coordinates": [[[-84.5040430004632, 39.13355999987311], [-84.5040430004632, 39.13435999987306], [-84.50254300046338, 39.13425999987308], [-84.50264300046335, 39.13345999987315], [-84.5040430004632, 39.13355999987311]]], "type": "Polygon"}, "id": "176", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 33.0, "AGE_20_24": 12.0, "AGE_21": 33.0, "AGE_25_34": 18.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 9.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 9.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.22, "BG": "390610032002", "BLACK": 7.0, "BLOCK": "390610032002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7649.6439, "F1_RACE": 32.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 1.0, "ID": 697862.0, "IN_HOUSEHO": 33.0, "MALE": 15.0, "MALE_18": 15.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 33.0, "RENTER_SIZ": 1.22, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13425999987308, -84.50244300046339, 39.13505999987297], "geometry": {"coordinates": [[[-84.5040430004632, 39.13435999987306], [-84.50384300046323, 39.13505999987297], [-84.50244300046339, 39.13495999987302], [-84.50254300046338, 39.13425999987308], [-84.5040430004632, 39.13435999987306]]], "type": "Polygon"}, "id": "177", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 22.0, "AGE_20_24": 4.0, "AGE_21": 19.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.92, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6030.4194, "F1_RACE": 19.0, "F2_RACES": 4.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 2.0, "ID": 697880.0, "IN_HOUSEHO": 23.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.86, "POPULATION": 23.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13495999987302, -84.50244300046339, 39.13536199987297], "geometry": {"coordinates": [[[-84.50384300046323, 39.13505999987297], [-84.50384300046323, 39.13536199987297], [-84.50244300046339, 39.13528099987297], [-84.50244300046339, 39.13495999987302], [-84.50384300046323, 39.13505999987297]]], "type": "Polygon"}, "id": "178", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697897.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.129259999873604, -84.48394300046536, 39.13075999987347], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.48394300046536, 39.13065999987348], [-84.48404300046533, 39.129459999873596], [-84.48414300046532, 39.129259999873604], [-84.48574300046515, 39.129359999873586], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "179", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707099.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.131759999873395, -84.4854430004652, 39.132659999873304], "geometry": {"coordinates": [[[-84.48684300046504, 39.13185999987336], [-84.48684300046504, 39.132659999873304], [-84.4854430004652, 39.1325599998733], [-84.4854430004652, 39.131759999873395], [-84.48684300046504, 39.13185999987336]]], "type": "Polygon"}, "id": "180", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.0, "BG": "390610036001", "BLACK": 20.0, "BLOCK": "390610036001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4822.2972, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 7.0, "ID": 707117.0, "IN_HOUSEHO": 20.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 47.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 20.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48596700046515, 39.13276599987328, -84.48504300046523, 39.133397999873225], "geometry": {"coordinates": [[[-84.48596700046515, 39.133397999873225], [-84.48504300046524, 39.13335999987322], [-84.48504300046523, 39.13276599987328], [-84.48596700046515, 39.133397999873225]]], "type": "Polygon"}, "id": "181", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610036001", "BLACK": 5.0, "BLOCK": "390610036001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4920.2886, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 707135.0, "IN_HOUSEHO": 5.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 5.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48554300046517, 39.13065999987348, -84.48384300046537, 39.131759999873395], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.4854430004652, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131619999873394], [-84.48384300046537, 39.131359999873425], [-84.48394300046536, 39.13065999987348], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "182", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 21.0, "AGE_20_24": 0.0, "AGE_21": 20.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.36, "BG": "390610037003", "BLACK": 33.0, "BLOCK": "390610037003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5240.2265, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 16.0, "ID": 707151.0, "IN_HOUSEHO": 33.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 30.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 2.5, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4854430004652, 39.131759999873395, -84.48383200046537, 39.1325599998733], "geometry": {"coordinates": [[[-84.4854430004652, 39.131759999873395], [-84.4854430004652, 39.1325599998733], [-84.48504300046523, 39.1325599998733], [-84.48480700046527, 39.132559999873294], [-84.48383200046537, 39.13184799987338], [-84.48384300046537, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.4854430004652, 39.131759999873395]]], "type": "Polygon"}, "id": "183", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 707171.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48504300046523, 39.132559999873294, -84.48480700046527, 39.13276599987328], "geometry": {"coordinates": [[[-84.48504300046523, 39.1325599998733], [-84.48504300046523, 39.13276599987328], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.1325599998733]]], "type": "Polygon"}, "id": "184", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 707192.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48480700046527, 39.13184799987338, -84.48374300046537, 39.13255999987331], "geometry": {"coordinates": [[[-84.48480700046527, 39.132559999873294], [-84.48374300046537, 39.13255999987331], [-84.48383200046537, 39.13184799987338], [-84.48480700046527, 39.132559999873294]]], "type": "Polygon"}, "id": "185", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036001", "BLACK": 3.0, "BLOCK": "390610036001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2138.8145, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707208.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49294300046441, 39.13435999987311, -84.49154300046456, 39.13585999987298], "geometry": {"coordinates": [[[-84.49234300046446, 39.13435999987311], [-84.49294300046441, 39.134459999873094], [-84.49244300046446, 39.135159999873025], [-84.49221400046447, 39.135337999873], [-84.49154300046456, 39.13585999987298], [-84.49234300046446, 39.13435999987311]]], "type": "Polygon"}, "id": "186", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707224.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49234300046447, 39.135337999873, -84.49154300046456, 39.13675999987287], "geometry": {"coordinates": [[[-84.49234300046447, 39.13675999987287], [-84.49154300046457, 39.1366599998729], [-84.49154300046456, 39.13585999987298], [-84.49221400046447, 39.135337999873], [-84.49224300046448, 39.135659999872985], [-84.49234300046447, 39.13675999987287]]], "type": "Polygon"}, "id": "187", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610034001", "BLACK": 2.0, "BLOCK": "390610034001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 650.2932, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707242.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 69.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49234300046446, 39.13435999987311, -84.49014300046471, 39.13645999987293], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49014300046471, 39.13645999987293], [-84.49064300046464, 39.135159999873025], [-84.49164300046453, 39.13435999987311], [-84.49234300046446, 39.13435999987311], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "188", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707261.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.13585999987298, -84.49014300046471, 39.13675999987289], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49154300046457, 39.1366599998729], [-84.49014300046471, 39.13675999987289], [-84.49014300046471, 39.13645999987293], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "189", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49244300046446, 39.13315999987322, -84.487443000465, 39.13435999987311], "geometry": {"coordinates": [[[-84.49244300046446, 39.13415999987311], [-84.49234300046446, 39.13435999987311], [-84.49164300046453, 39.13435999987311], [-84.487443000465, 39.133659999873196], [-84.487443000465, 39.133459999873224], [-84.48764300046497, 39.13315999987322], [-84.48994300046472, 39.13325999987322], [-84.49174300046454, 39.13335999987318], [-84.49174300046455, 39.13415999987313], [-84.49244300046446, 39.13415999987311]]], "type": "Polygon"}, "id": "190", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 132.0, "AGE_20_24": 14.0, "AGE_21": 129.0, "AGE_25_34": 22.0, "AGE_35_44": 26.0, "AGE_45_54": 23.0, "AGE_55_59": 8.0, "AGE_5_9": 12.0, "AGE_60_64": 8.0, "AGE_62": 32.0, "AGE_65": 28.0, "AGE_65_74": 14.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.68, "BG": "390610036002", "BLACK": 153.0, "BLOCK": "390610036002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12689.6134, "F1_RACE": 157.0, "F2_RACES": 3.0, "FEMALE": 92.0, "FEMALE_18": 76.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 95.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 95.0, "HU_VACANT": 10.0, "ID": 707297.0, "IN_HOUSEHO": 160.0, "MALE": 68.0, "MALE_18": 56.0, "MALE_65": 12.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 91.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.25, "POPULATION": 160.0, "RENTER_SIZ": 1.66, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49164300046453, 39.133659999873196, -84.48724300046503, 39.135159999873025], "geometry": {"coordinates": [[[-84.487443000465, 39.133659999873196], [-84.49164300046453, 39.13435999987311], [-84.49064300046464, 39.135159999873025], [-84.48994300046473, 39.134959999873075], [-84.48924300046481, 39.13485999987306], [-84.48874300046486, 39.13445999987311], [-84.48724300046503, 39.133859999873174], [-84.487443000465, 39.133659999873196]]], "type": "Polygon"}, "id": "191", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036002", "BLACK": 3.0, "BLOCK": "390610036002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 298.4113, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707320.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49064300046464, 39.13445999987311, -84.48614300046516, 39.13845999987274], "geometry": {"coordinates": [[[-84.49064300046464, 39.135159999873025], [-84.49014300046471, 39.13645999987293], [-84.48808200046494, 39.137448999872845], [-84.48764300046498, 39.13765999987284], [-84.48644300046513, 39.13845999987274], [-84.48614300046516, 39.13805999987279], [-84.48622800046516, 39.13771799987283], [-84.48624300046515, 39.13765999987284], [-84.48724300046504, 39.13655999987293], [-84.48804300046494, 39.13555999987301], [-84.48844300046488, 39.134959999873075], [-84.48874300046486, 39.13445999987311], [-84.48924300046481, 39.13485999987306], [-84.48994300046473, 39.134959999873075], [-84.49064300046464, 39.135159999873025]]], "type": "Polygon"}, "id": "192", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 16.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 16.0, "AGE_35_44": 17.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 26.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 109.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 3.21, "BG": "390610036002", "BLACK": 109.0, "BLOCK": "390610036002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4125.8625, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 31.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 12.0, "ID": 707340.0, "IN_HOUSEHO": 109.0, "MALE": 49.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 109.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 109.0, "RENTER_SIZ": 3.32, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.1366599998729, -84.49014300046471, 39.13845999987273], "geometry": {"coordinates": [[[-84.49154300046457, 39.1366599998729], [-84.49124300046462, 39.13785999987278], [-84.4903430004647, 39.13845999987273], [-84.4903430004647, 39.138259999872766], [-84.49014300046471, 39.13675999987289], [-84.49154300046457, 39.1366599998729]]], "type": "Polygon"}, "id": "193", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707365.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49114300046465, 39.139459999872614, -84.48944300046483, 39.140859999872504], "geometry": {"coordinates": [[[-84.49114300046465, 39.139459999872614], [-84.49094300046467, 39.140859999872504], [-84.48974300046478, 39.140859999872504], [-84.48944300046483, 39.14075999987253], [-84.4896430004648, 39.13955999987264], [-84.49044300046471, 39.13945999987263], [-84.49114300046465, 39.139459999872614]]], "type": "Polygon"}, "id": "194", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 18.0, "AGE_15_19": 16.0, "AGE_18": 97.0, "AGE_20_24": 11.0, "AGE_21": 92.0, "AGE_25_34": 20.0, "AGE_35_44": 23.0, "AGE_45_54": 15.0, "AGE_55_59": 7.0, "AGE_5_9": 13.0, "AGE_60_64": 6.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610067001", "BLACK": 147.0, "BLOCK": "390610067001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19678.1357, "F1_RACE": 149.0, "F2_RACES": 0.0, "FEMALE": 71.0, "FEMALE_18": 53.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 62.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 62.0, "HU_VACANT": 12.0, "ID": 707382.0, "IN_HOUSEHO": 149.0, "MALE": 78.0, "MALE_18": 44.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 149.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 149.0, "RENTER_SIZ": 2.31, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4903430004647, 39.13645999987293, -84.48644300046513, 39.13965999987265], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48644300046513, 39.13845999987274], [-84.48764300046498, 39.13765999987284], [-84.48808200046494, 39.137448999872845], [-84.49014300046471, 39.13645999987293], [-84.49014300046471, 39.13675999987289], [-84.4903430004647, 39.138259999872766], [-84.4903430004647, 39.13845999987273], [-84.48724300046506, 39.13965999987265], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "195", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 15.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 6.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.7, "BG": "390610067001", "BLACK": 26.0, "BLOCK": "390610067001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1123.5003, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 707402.0, "IN_HOUSEHO": 27.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 18.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 2.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49044300046471, 39.13845999987273, -84.48724300046506, 39.13985999987262], "geometry": {"coordinates": [[[-84.4903430004647, 39.13845999987273], [-84.49044300046471, 39.13945999987263], [-84.4896430004648, 39.13955999987264], [-84.48834300046495, 39.13985999987262], [-84.48734300046505, 39.13985999987261], [-84.48724300046506, 39.13965999987265], [-84.4903430004647, 39.13845999987273]]], "type": "Polygon"}, "id": "196", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 18.0, "AGE_20_24": 1.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.87, "BG": "390610067001", "BLACK": 27.0, "BLOCK": "390610067001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3626.9663, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 5.0, "ID": 707424.0, "IN_HOUSEHO": 28.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 28.0, "RENTER_SIZ": 2.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4896430004648, 39.13955999987264, -84.48734300046505, 39.14075999987253], "geometry": {"coordinates": [[[-84.4896430004648, 39.13955999987264], [-84.48944300046483, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.487743000465, 39.14045999987258], [-84.48734300046505, 39.13985999987261], [-84.48834300046495, 39.13985999987262], [-84.4896430004648, 39.13955999987264]]], "type": "Polygon"}, "id": "197", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 13.0, "AGE_15_19": 12.0, "AGE_18": 66.0, "AGE_20_24": 5.0, "AGE_21": 59.0, "AGE_25_34": 17.0, "AGE_35_44": 14.0, "AGE_45_54": 12.0, "AGE_55_59": 4.0, "AGE_5_9": 17.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 3.26, "BG": "390610067001", "BLACK": 107.0, "BLOCK": "390610067001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16117.6625, "F1_RACE": 111.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 9.0, "ID": 707443.0, "IN_HOUSEHO": 111.0, "MALE": 59.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 111.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 111.0, "RENTER_SIZ": 3.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48874300046486, 39.133859999873174, -84.48704300046504, 39.134959999873075], "geometry": {"coordinates": [[[-84.48724300046503, 39.133859999873174], [-84.48874300046486, 39.13445999987311], [-84.48844300046488, 39.134959999873075], [-84.48704300046504, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48724300046503, 39.133859999873174]]], "type": "Polygon"}, "id": "198", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 2.0, "AGE_21": 25.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 3.0, "AGE_55_59": 6.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.04, "BG": "390610036002", "BLACK": 24.0, "BLOCK": "390610036002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7760.281, "F1_RACE": 25.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 15.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 707461.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 52.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48844300046488, 39.13435999987314, -84.48634300046511, 39.13555999987301], "geometry": {"coordinates": [[[-84.48844300046488, 39.134959999873075], [-84.48804300046494, 39.13555999987301], [-84.48704300046505, 39.13525999987304], [-84.48634300046511, 39.13505999987305], [-84.48704300046504, 39.13435999987314], [-84.48844300046488, 39.134959999873075]]], "type": "Polygon"}, "id": "199", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 20.0, "AGE_20_24": 5.0, "AGE_21": 19.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 2.33, "BG": "390610036002", "BLACK": 35.0, "BLOCK": "390610036002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7242.9872, "F1_RACE": 35.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 18.0, "ID": 707480.0, "IN_HOUSEHO": 35.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 35.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48804300046494, 39.13525999987304, -84.48534300046525, 39.13805999987279], "geometry": {"coordinates": [[[-84.48724300046504, 39.13655999987293], [-84.48624300046515, 39.13765999987284], [-84.48622800046516, 39.13771799987283], [-84.48614300046516, 39.13805999987279], [-84.48534300046525, 39.13715999987289], [-84.48554300046523, 39.137059999872875], [-84.48704300046505, 39.13525999987304], [-84.48804300046494, 39.13555999987301], [-84.48724300046504, 39.13655999987293]]], "type": "Polygon"}, "id": "200", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 99.0, "AGE_20_24": 22.0, "AGE_21": 89.0, "AGE_25_34": 10.0, "AGE_35_44": 20.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 6.0, "AGE_60_64": 7.0, "AGE_62": 16.0, "AGE_65": 12.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.06, "BG": "390610036002", "BLACK": 130.0, "BLOCK": "390610036002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12916.6618, "F1_RACE": 130.0, "F2_RACES": 2.0, "FEMALE": 80.0, "FEMALE_18": 65.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 8.0, "ID": 707499.0, "IN_HOUSEHO": 132.0, "MALE": 52.0, "MALE_18": 34.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 53.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.18, "POPULATION": 132.0, "RENTER_SIZ": 1.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48714300046504, 39.13415999987315, -84.4839430004654, 39.13715999987289], "geometry": {"coordinates": [[[-84.48634300046511, 39.13505999987305], [-84.48704300046505, 39.13525999987304], [-84.48554300046523, 39.137059999872875], [-84.48534300046525, 39.13715999987289], [-84.4839430004654, 39.136059999873005], [-84.48614300046513, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48704300046504, 39.13435999987314], [-84.48634300046511, 39.13505999987305]]], "type": "Polygon"}, "id": "201", "properties": {"AGE_0_5": 30.0, "AGE_10_14": 47.0, "AGE_15_19": 19.0, "AGE_18": 109.0, "AGE_20_24": 13.0, "AGE_21": 102.0, "AGE_25_34": 32.0, "AGE_35_44": 26.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 27.0, "AGE_60_64": 2.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 221.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.32, "AVG_HHSIZE": 2.69, "BG": "390610036002", "BLACK": 216.0, "BLOCK": "390610036002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14177.4841, "F1_RACE": 220.0, "F2_RACES": 6.0, "FEMALE": 142.0, "FEMALE_18": 79.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 84.0, "HSNG_UNITS": 102.0, "HU_OCCUPIE": 84.0, "HU_VACANT": 18.0, "ID": 707518.0, "IN_HOUSEHO": 226.0, "MALE": 84.0, "MALE_18": 30.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 225.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 78.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 226.0, "RENTER_SIZ": 2.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48974300046478, 39.14065999987254, -84.48654300046516, 39.142059999872394], "geometry": {"coordinates": [[[-84.48974300046478, 39.140859999872504], [-84.48964300046482, 39.142059999872394], [-84.48654300046516, 39.141859999872445], [-84.48664300046514, 39.14065999987254], [-84.48724300046506, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.48944300046483, 39.14075999987253], [-84.48974300046478, 39.140859999872504]]], "type": "Polygon"}, "id": "202", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707538.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48804300046498, 39.13985999987261, -84.48664300046514, 39.14075999987253], "geometry": {"coordinates": [[[-84.487743000465, 39.14045999987258], [-84.48804300046498, 39.14075999987253], [-84.48724300046506, 39.14075999987253], [-84.48664300046514, 39.14065999987254], [-84.48674300046511, 39.14015999987259], [-84.48734300046505, 39.13985999987261], [-84.487743000465, 39.14045999987258]]], "type": "Polygon"}, "id": "203", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 4.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.17, "BG": "390610067001", "BLACK": 13.0, "BLOCK": "390610067001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4744.6508, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 0.0, "ID": 707559.0, "IN_HOUSEHO": 13.0, "MALE": 6.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48734300046505, 39.13965999987265, -84.48514300046529, 39.14065999987254], "geometry": {"coordinates": [[[-84.48724300046506, 39.13965999987265], [-84.48734300046505, 39.13985999987261], [-84.48674300046511, 39.14015999987259], [-84.48664300046514, 39.14065999987254], [-84.48558100046525, 39.14058899987254], [-84.48514300046529, 39.140559999872565], [-84.48724300046506, 39.13965999987265]]], "type": "Polygon"}, "id": "204", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.25, "BG": "390610067001", "BLACK": 9.0, "BLOCK": "390610067001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3220.1738, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 707578.0, "IN_HOUSEHO": 9.0, "MALE": 5.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 9.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48604300046517, 39.13725999987287, -84.48384300046541, 39.138959999872704], "geometry": {"coordinates": [[[-84.48584300046521, 39.13805999987279], [-84.48604300046517, 39.13825999987277], [-84.48504300046528, 39.13885999987272], [-84.48424300046537, 39.138959999872704], [-84.48404300046539, 39.138159999872784], [-84.48384300046541, 39.137559999872835], [-84.4849430004653, 39.13725999987287], [-84.48584300046521, 39.13805999987279]]], "type": "Polygon"}, "id": "205", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 7.0, "AGE_15_19": 15.0, "AGE_18": 117.0, "AGE_20_24": 36.0, "AGE_21": 103.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 11.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 2.27, "BG": "390610036001", "BLACK": 181.0, "BLOCK": "390610036001001", "BURGLARY": 6, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21652.7875, "F1_RACE": 184.0, "F2_RACES": 0.0, "FEMALE": 96.0, "FEMALE_18": 67.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 81.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 81.0, "HU_VACANT": 17.0, "ID": 707596.0, "IN_HOUSEHO": 184.0, "MALE": 88.0, "MALE_18": 50.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 183.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.4, "POPULATION": 184.0, "RENTER_SIZ": 2.26, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48724300046506, 39.13845999987274, -84.48433500046538, 39.14055999987258], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48724300046506, 39.13965999987265], [-84.48514300046529, 39.140559999872565], [-84.48494300046532, 39.14055999987258], [-84.48433500046538, 39.140559999872565], [-84.48454300046537, 39.14025999987261], [-84.48554300046524, 39.139159999872675], [-84.48644300046513, 39.13845999987274], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "206", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707616.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48664300046514, 39.140559999872565, -84.48380000046545, 39.14209499987244], "geometry": {"coordinates": [[[-84.48544300046525, 39.14185999987246], [-84.48474300046534, 39.14195999987244], [-84.48380000046545, 39.14209499987244], [-84.48514300046529, 39.140559999872565], [-84.48558100046525, 39.14058899987254], [-84.48664300046514, 39.14065999987254], [-84.48654300046516, 39.141859999872445], [-84.48544300046525, 39.14185999987246]]], "type": "Polygon"}, "id": "207", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 4.0, "AGE_15_19": 4.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 68.0, "AGE_25_34": 11.0, "AGE_35_44": 16.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 92.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610067004", "BLACK": 90.0, "BLOCK": "390610067004009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9223.4933, "F1_RACE": 90.0, "F2_RACES": 3.0, "FEMALE": 43.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 9.0, "ID": 707636.0, "IN_HOUSEHO": 93.0, "MALE": 50.0, "MALE_18": 37.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 50.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 93.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48514300046529, 39.140559999872565, -84.48364300046546, 39.142159999872405], "geometry": {"coordinates": [[[-84.48494300046532, 39.14055999987258], [-84.48514300046529, 39.140559999872565], [-84.48380000046545, 39.14209499987244], [-84.48374300046545, 39.142159999872405], [-84.48364300046546, 39.14155999987249], [-84.48433500046538, 39.140559999872565], [-84.48494300046532, 39.14055999987258]]], "type": "Polygon"}, "id": "208", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707657.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.125159999874, -84.48284300046545, 39.12685999987385], "geometry": {"coordinates": [[[-84.48434300046526, 39.125159999874], [-84.48434300046527, 39.12675999987384], [-84.48284300046545, 39.12685999987385], [-84.48294300046541, 39.12515999987403], [-84.48324300046541, 39.125159999874015], [-84.48434300046526, 39.125159999874]]], "type": "Polygon"}, "id": "209", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 225.9619, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 2.0, "GROUP_QUAR": 2.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707676.0, "IN_HOUSEHO": 0.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48294300046541, 39.12495999987402, -84.48134300046561, 39.126959999873854], "geometry": {"coordinates": [[[-84.48294300046541, 39.12515999987403], [-84.48284300046545, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48134300046561, 39.12685999987385], [-84.48154300046558, 39.12495999987402], [-84.48194300046555, 39.12495999987402], [-84.48294300046541, 39.12515999987403]]], "type": "Polygon"}, "id": "210", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 40.0, "AGE_20_24": 5.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.5, "AVG_HHSIZE": 1.33, "BG": "390610037001", "BLACK": 29.0, "BLOCK": "390610037001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4237.6286, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 11.0, "GROUP_QUAR": 11.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 23.0, "ID": 707695.0, "IN_HOUSEHO": 32.0, "MALE": 25.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47464300046634, 39.127959999873795, -84.47344300046649, 39.12965999987362], "geometry": {"coordinates": [[[-84.47464300046634, 39.12835999987374], [-84.47434300046636, 39.129559999873614], [-84.47344300046649, 39.12965999987362], [-84.47354300046645, 39.127959999873795], [-84.47454300046634, 39.128059999873756], [-84.47464300046634, 39.12835999987374]]], "type": "Polygon"}, "id": "211", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 5.0, "AGE_21": 45.0, "AGE_25_34": 11.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.16, "BG": "390610042001", "BLACK": 13.0, "BLOCK": "390610042001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8973.4932, "F1_RACE": 52.0, "F2_RACES": 2.0, "FEMALE": 25.0, "FEMALE_18": 21.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 3.0, "ID": 739464.0, "IN_HOUSEHO": 54.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.73, "POPULATION": 54.0, "RENTER_SIZ": 1.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 36.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47394300046638, 39.12455999987409, -84.47194300046661, 39.126759999873904], "geometry": {"coordinates": [[[-84.47394300046638, 39.12455999987409], [-84.47374300046643, 39.126759999873904], [-84.47194300046661, 39.12645999987392], [-84.47224300046658, 39.12535999987403], [-84.47394300046638, 39.12455999987409]]], "type": "Polygon"}, "id": "212", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 61.0, "AGE_20_24": 2.0, "AGE_21": 57.0, "AGE_25_34": 24.0, "AGE_35_44": 16.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.71, "AVG_HHSIZE": 1.85, "BG": "390610042002", "BLACK": 21.0, "BLOCK": "390610042002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7073.2004, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 33.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 7.0, "ID": 739483.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.19, "POPULATION": 74.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 53.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47674300046613, 39.12925999987366, -84.4742430004664, 39.13165999987343], "geometry": {"coordinates": [[[-84.47654300046615, 39.13135999987346], [-84.47644300046618, 39.13165999987343], [-84.4742430004664, 39.13165999987343], [-84.47434300046638, 39.13055999987355], [-84.47434300046636, 39.129559999873614], [-84.47564300046623, 39.12945999987363], [-84.47644300046615, 39.12925999987366], [-84.47674300046613, 39.12935999987364], [-84.47664300046614, 39.13005999987358], [-84.47654300046615, 39.13135999987346]]], "type": "Polygon"}, "id": "213", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 3.0, "AGE_21": 31.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.81, "BG": "390610041002", "BLACK": 25.0, "BLOCK": "390610041002006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1909.9236, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 7.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 7.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 1.0, "ID": 739499.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 5.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.13, "POPULATION": 36.0, "RENTER_SIZ": 1.5, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.129559999873614, -84.4732430004665, 39.13055999987355], "geometry": {"coordinates": [[[-84.47434300046636, 39.129559999873614], [-84.47434300046638, 39.13055999987355], [-84.4732430004665, 39.130459999873565], [-84.47344300046649, 39.12965999987362], [-84.47434300046636, 39.129559999873614]]], "type": "Polygon"}, "id": "214", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 1.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 11.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610041002", "BLACK": 29.0, "BLOCK": "390610041002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13802.0582, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 739521.0, "IN_HOUSEHO": 46.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 46.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.130459999873565, -84.47314300046652, 39.13165999987343], "geometry": {"coordinates": [[[-84.47434300046638, 39.13055999987355], [-84.4742430004664, 39.13165999987343], [-84.47314300046652, 39.13155999987345], [-84.4732430004665, 39.130459999873565], [-84.47434300046638, 39.13055999987355]]], "type": "Polygon"}, "id": "215", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 51.0, "AGE_20_24": 11.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.43, "BG": "390610041002", "BLACK": 45.0, "BLOCK": "390610041002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15051.7324, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 22.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 6.0, "ID": 739558.0, "IN_HOUSEHO": 68.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 68.0, "RENTER_SIZ": 2.53, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 23.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47344300046649, 39.12965999987362, -84.47194300046665, 39.13155999987345], "geometry": {"coordinates": [[[-84.4732430004665, 39.130459999873565], [-84.47314300046652, 39.13155999987345], [-84.47194300046665, 39.13155999987345], [-84.47214300046663, 39.12975999987361], [-84.47344300046649, 39.12965999987362], [-84.4732430004665, 39.130459999873565]]], "type": "Polygon"}, "id": "216", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 58.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.28, "BG": "390610041002", "BLACK": 10.0, "BLOCK": "390610041002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7992.2978, "F1_RACE": 66.0, "F2_RACES": 0.0, "FEMALE": 30.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 5.0, "ID": 739576.0, "IN_HOUSEHO": 66.0, "MALE": 36.0, "MALE_18": 34.0, "MALE_65": 2.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.56, "POPULATION": 66.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 53.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47104300046674, 39.128759999873736, -84.46854200046702, 39.130059999873595], "geometry": {"coordinates": [[[-84.47094300046675, 39.12895999987369], [-84.47104300046674, 39.12985999987362], [-84.4706430004668, 39.12985999987362], [-84.46854200046702, 39.130059999873595], [-84.468642000467, 39.12905999987369], [-84.46974200046688, 39.128759999873736], [-84.47094300046675, 39.12895999987369]]], "type": "Polygon"}, "id": "217", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 7.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.2, "AVG_HHSIZE": 4.2, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2240.4421, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 739629.0, "IN_HOUSEHO": 21.0, "MALE": 13.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 12.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.2, "POPULATION": 21.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 21.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47214300046663, 39.12975999987361, -84.47024300046685, 39.13375999987323], "geometry": {"coordinates": [[[-84.47174300046669, 39.13375999987323], [-84.47024300046685, 39.13365999987327], [-84.4706430004668, 39.12985999987362], [-84.47104300046674, 39.12985999987362], [-84.47184300046665, 39.12975999987361], [-84.47214300046663, 39.12975999987361], [-84.47194300046665, 39.13155999987345], [-84.47174300046669, 39.13375999987323]]], "type": "Polygon"}, "id": "218", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 2.0, "AGE_21": 55.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 66.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.28, "AVG_HHSIZE": 2.64, "BG": "390610041001", "BLACK": 8.0, "BLOCK": "390610041001006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3442.461, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 739648.0, "IN_HOUSEHO": 74.0, "MALE": 43.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.95, "POPULATION": 74.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 66.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4706430004668, 39.12985999987362, -84.46814200046708, 39.13365999987327], "geometry": {"coordinates": [[[-84.4706430004668, 39.12985999987362], [-84.47024300046685, 39.13365999987327], [-84.46814200046708, 39.13355999987327], [-84.46854200046702, 39.130059999873595], [-84.4706430004668, 39.12985999987362]]], "type": "Polygon"}, "id": "219", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 39.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 11.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.03, "ASIAN": 11.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.53, "AVG_HHSIZE": 3.29, "BG": "390610041001", "BLACK": 2.0, "BLOCK": "390610041001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1977.1644, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 739669.0, "IN_HOUSEHO": 56.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.38, "POPULATION": 56.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 43.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46854200046702, 39.130059999873595, -84.4669420004672, 39.13355999987327], "geometry": {"coordinates": [[[-84.46854200046702, 39.130059999873595], [-84.46814200046708, 39.13355999987327], [-84.4669420004672, 39.133459999873295], [-84.46704200046719, 39.13175999987347], [-84.46724200046715, 39.13025999987357], [-84.46854200046702, 39.130059999873595]]], "type": "Polygon"}, "id": "220", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 0.0, "AGE_21": 28.0, "AGE_25_34": 2.0, "AGE_35_44": 10.0, "AGE_45_54": 14.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 45.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 3.0, "BG": "390610041001", "BLACK": 0.0, "BLOCK": "390610041001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2849.2641, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 739686.0, "IN_HOUSEHO": 45.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 45.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 45.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 45.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46884200046696, 39.1248599998741, -84.46344200046752, 39.12675999987392], "geometry": {"coordinates": [[[-84.468402000467, 39.12668199987393], [-84.46714200046715, 39.12645999987395], [-84.46594200046727, 39.12615999987398], [-84.46344200046752, 39.125059999874075], [-84.46634500046721, 39.12494799987409], [-84.46864200046697, 39.1248599998741], [-84.46884200046696, 39.12675999987392], [-84.468402000467, 39.12668199987393]]], "type": "Polygon"}, "id": "221", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 24.0, "AGE_20_24": 0.0, "AGE_21": 24.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 27.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.93, "BG": "390610042002", "BLACK": 2.0, "BLOCK": "390610042002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1331.6139, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 741823.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 12.0, "MALE_65": 1.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 27.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.09, "POPULATION": 29.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 27.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47374300046643, 39.125059999874075, -84.46004200046795, 39.132459999873426], "geometry": {"coordinates": [[[-84.47354300046645, 39.127959999873795], [-84.47344300046649, 39.12965999987362], [-84.47214300046663, 39.12975999987361], [-84.47184300046665, 39.12975999987361], [-84.47104300046674, 39.12985999987362], [-84.47094300046675, 39.12895999987369], [-84.46974200046688, 39.128759999873736], [-84.468642000467, 39.12905999987369], [-84.46854200046702, 39.130059999873595], [-84.46724200046715, 39.13025999987357], [-84.46654200046723, 39.13035999987359], [-84.4659420004673, 39.130559999873554], [-84.46414200046749, 39.13135999987352], [-84.46254200046768, 39.13185999987346], [-84.46164200046776, 39.13205999987344], [-84.46074200046787, 39.13235999987343], [-84.46004200046795, 39.132459999873426], [-84.46034200046792, 39.13215999987345], [-84.4612420004678, 39.13155999987349], [-84.46304200046762, 39.13075999987355], [-84.46394200046753, 39.12955999987366], [-84.46294200046758, 39.12655999987394], [-84.46344200046752, 39.125059999874075], [-84.46594200046727, 39.12615999987398], [-84.46714200046715, 39.12645999987395], [-84.468402000467, 39.12668199987393], [-84.46884200046696, 39.12675999987392], [-84.4703420004668, 39.12625999987395], [-84.47064200046675, 39.12615999987395], [-84.47194300046661, 39.12645999987392], [-84.47374300046643, 39.126759999873904], [-84.47354300046645, 39.127959999873795]], [[-84.46544200046735, 39.1292599998737], [-84.46534200046734, 39.12835999987379], [-84.46484200046739, 39.12845999987376], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "222", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 17.0, "AGE_15_19": 17.0, "AGE_18": 211.0, "AGE_20_24": 12.0, "AGE_21": 205.0, "AGE_25_34": 49.0, "AGE_35_44": 38.0, "AGE_45_54": 48.0, "AGE_55_59": 19.0, "AGE_5_9": 12.0, "AGE_60_64": 14.0, "AGE_62": 36.0, "AGE_65": 29.0, "AGE_65_74": 18.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 8.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 0.0, "AP_WHITE": 248.0, "AREA": 0.15, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.09, "BG": "390610042001", "BLACK": 15.0, "BLOCK": "390610042001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1775.9725, "F1_RACE": 256.0, "F2_RACES": 9.0, "FEMALE": 123.0, "FEMALE_18": 101.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 127.0, "HSNG_UNITS": 132.0, "HU_OCCUPIE": 127.0, "HU_VACANT": 5.0, "ID": 741843.0, "IN_HOUSEHO": 265.0, "MALE": 142.0, "MALE_18": 110.0, "MALE_65": 18.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 229.0, "NOT_HISPAN": 255.0, "OCCHU_OWNE": 86.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 265.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 239.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46544200046735, 39.12835999987379, -84.46484200046739, 39.1292599998737], "geometry": {"coordinates": [[[-84.46544200046735, 39.1292599998737], [-84.46484200046739, 39.12845999987376], [-84.46534200046734, 39.12835999987379], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "223", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.6935, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 741889.0, "IN_HOUSEHO": 10.0, "MALE": 8.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 56.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 10.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.46814200046708, 39.13025999987357, -84.4614420004678, 39.13515999987312], "geometry": {"coordinates": [[[-84.46814200046708, 39.13355999987327], [-84.46794200046712, 39.13515999987312], [-84.46384200046755, 39.1347599998732], [-84.4633420004676, 39.13465999987321], [-84.46144200046781, 39.13455999987323], [-84.4614420004678, 39.13415999987325], [-84.46244200046769, 39.133459999873324], [-84.46254200046768, 39.13185999987346], [-84.46414200046749, 39.13135999987352], [-84.4659420004673, 39.130559999873554], [-84.46654200046723, 39.13035999987359], [-84.46724200046715, 39.13025999987357], [-84.46704200046719, 39.13175999987347], [-84.4669420004672, 39.133459999873295], [-84.46814200046708, 39.13355999987327]]], "type": "Polygon"}, "id": "224", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 315.0, "AGE_20_24": 16.0, "AGE_21": 308.0, "AGE_25_34": 37.0, "AGE_35_44": 39.0, "AGE_45_54": 27.0, "AGE_55_59": 29.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 158.0, "AGE_65": 154.0, "AGE_65_74": 14.0, "AGE_75_84": 48.0, "AGE_85": 92.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 131.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 230.0, "AREA": 0.07, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.25, "BG": "390610041001", "BLACK": 130.0, "BLOCK": "390610041001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4934.9491, "F1_RACE": 357.0, "F2_RACES": 3.0, "FEMALE": 235.0, "FEMALE_18": 208.0, "FEMALE_65": 125.0, "GQ_INSTITU": 135.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 135.0, "HAWAIIAN": 0.0, "HH_FAMILY": 58.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 100.0, "HSNG_UNITS": 107.0, "HU_OCCUPIE": 100.0, "HU_VACANT": 7.0, "ID": 741903.0, "IN_HOUSEHO": 225.0, "MALE": 125.0, "MALE_18": 107.0, "MALE_65": 29.0, "MEDIAN_AGE": 56.6, "MSA": "1640", "NH_WHITE": 226.0, "NOT_HISPAN": 357.0, "OCCHU_OWNE": 64.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.36, "POPULATION": 360.0, "RENTER_SIZ": 2.06, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 227.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.12805999987356, -84.52444400046097, 39.12975999987339], "geometry": {"coordinates": [[[-84.52534400046086, 39.12975999987339], [-84.52444400046097, 39.129659999873425], [-84.52464400046094, 39.128459999873506], [-84.52544400046085, 39.12805999987356], [-84.52534400046086, 39.12975999987339]]], "type": "Polygon"}, "id": "225", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 48.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 71.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 3.0, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18746.3134, "F1_RACE": 77.0, "F2_RACES": 7.0, "FEMALE": 42.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 10.0, "ID": 681301.0, "IN_HOUSEHO": 84.0, "MALE": 42.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 3.4, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 68.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.127659999873586, -84.5205440004614, 39.129659999873425], "geometry": {"coordinates": [[[-84.52374400046105, 39.129659999873425], [-84.52234400046119, 39.129559999873415], [-84.5205440004614, 39.12945999987345], [-84.52064400046136, 39.12835999987354], [-84.52074400046135, 39.127659999873586], [-84.5211440004613, 39.12775999987357], [-84.52194400046122, 39.12775999987357], [-84.52274400046113, 39.12775999987357], [-84.52354400046106, 39.12785999987357], [-84.52424400046097, 39.12795999987355], [-84.52544400046085, 39.12805999987356], [-84.52464400046094, 39.128459999873506], [-84.52374400046104, 39.1287599998735], [-84.52374400046105, 39.129659999873425]]], "type": "Polygon"}, "id": "226", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 6.0, "AGE_21": 30.0, "AGE_25_34": 15.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.37, "BG": "390610026001", "BLACK": 5.0, "BLOCK": "390610026001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1320.3592, "F1_RACE": 29.0, "F2_RACES": 2.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 681354.0, "IN_HOUSEHO": 26.0, "MALE": 20.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 31.0, "RENTER_SIZ": 1.33, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 23.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.52464400046094, 39.128459999873506, -84.52374400046104, 39.129659999873425], "geometry": {"coordinates": [[[-84.52444400046097, 39.129659999873425], [-84.52374400046105, 39.129659999873425], [-84.52374400046104, 39.1287599998735], [-84.52464400046094, 39.128459999873506], [-84.52444400046097, 39.129659999873425]]], "type": "Polygon"}, "id": "227", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 16.0, "AGE_18": 53.0, "AGE_20_24": 28.0, "AGE_21": 29.0, "AGE_25_34": 7.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.9, "BG": "390610026001", "BLACK": 2.0, "BLOCK": "390610026001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18657.0486, "F1_RACE": 56.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 27.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 3.0, "ID": 681381.0, "IN_HOUSEHO": 57.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.2, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 57.0, "RENTER_SIZ": 1.88, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 47.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52234400046119, 39.12945999987345, -84.52034400046142, 39.13295999987311], "geometry": {"coordinates": [[[-84.52234400046119, 39.129559999873415], [-84.52194400046125, 39.13165999987322], [-84.52184400046129, 39.13295999987311], [-84.52098700046135, 39.13284599987314], [-84.52034400046142, 39.13275999987314], [-84.52034400046142, 39.13255999987314], [-84.5204120004614, 39.131505999873255], [-84.5205440004614, 39.12945999987345], [-84.52234400046119, 39.129559999873415]]], "type": "Polygon"}, "id": "228", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 34.0, "AGE_18": 242.0, "AGE_20_24": 165.0, "AGE_21": 167.0, "AGE_25_34": 36.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 20.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 217.0, "AREA": 0.02, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 5.0, "BLOCK": "390610029002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12051.1059, "F1_RACE": 241.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 105.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 104.0, "GROUP_QUAR": 104.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 681399.0, "IN_HOUSEHO": 139.0, "MALE": 137.0, "MALE_18": 137.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 215.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 81.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 243.0, "RENTER_SIZ": 1.64, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 215.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52304400046114, 39.13165999987322, -84.52184400046129, 39.13295999987311], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52184400046129, 39.13295999987311], [-84.52194400046125, 39.13165999987322], [-84.52304400046114, 39.131759999873225], [-84.52301200046112, 39.1321479998732], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "229", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 11.0, "AGE_18": 90.0, "AGE_20_24": 54.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 87.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.25, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18196.4629, "F1_RACE": 92.0, "F2_RACES": 1.0, "FEMALE": 29.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 21.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 32.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 32.0, "HU_VACANT": 2.0, "ID": 681421.0, "IN_HOUSEHO": 72.0, "MALE": 64.0, "MALE_18": 61.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 85.0, "NOT_HISPAN": 91.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 93.0, "RENTER_SIZ": 2.28, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 86.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52074400046135, 39.127559999873625, -84.51894400046154, 39.12835999987354], "geometry": {"coordinates": [[[-84.52074400046135, 39.127659999873586], [-84.52064400046136, 39.12835999987354], [-84.51964400046147, 39.12825999987355], [-84.51894400046154, 39.12825999987357], [-84.51904400046153, 39.127559999873625], [-84.52024400046139, 39.127659999873586], [-84.52074400046135, 39.127659999873586]]], "type": "Polygon"}, "id": "230", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 17.0, "AGE_18": 96.0, "AGE_20_24": 47.0, "AGE_21": 72.0, "AGE_25_34": 20.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 6.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 85.0, "AREA": 0.0, "ASIAN": 5.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.06, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23450.2351, "F1_RACE": 94.0, "F2_RACES": 5.0, "FEMALE": 51.0, "FEMALE_18": 49.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 48.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 48.0, "HU_VACANT": 6.0, "ID": 681479.0, "IN_HOUSEHO": 99.0, "MALE": 48.0, "MALE_18": 47.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 79.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 99.0, "RENTER_SIZ": 2.06, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 80.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51904400046153, 39.12745999987365, -84.51814400046162, 39.12825999987357], "geometry": {"coordinates": [[[-84.51904400046153, 39.127559999873625], [-84.51894400046154, 39.12825999987357], [-84.51814400046163, 39.12815999987359], [-84.51814400046162, 39.12745999987365], [-84.51904400046153, 39.127559999873625]]], "type": "Polygon"}, "id": "231", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 10.0, "AGE_21": 14.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.6, "BG": "390610025001", "BLACK": 1.0, "BLOCK": "390610025001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7200.8426, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 4.0, "ID": 681536.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 16.0, "RENTER_SIZ": 1.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 15.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5205440004614, 39.12945999987345, -84.5194440004615, 39.13255999987314], "geometry": {"coordinates": [[[-84.52034400046142, 39.13255999987314], [-84.5194440004615, 39.131059999873294], [-84.51964400046148, 39.13025999987335], [-84.5203440004614, 39.12945999987346], [-84.5205440004614, 39.12945999987345], [-84.5204120004614, 39.131505999873255], [-84.52034400046142, 39.13255999987314]]], "type": "Polygon"}, "id": "232", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681572.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.13255999987314, -84.51984400046149, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52024400046145, 39.13355999987304], [-84.51984400046149, 39.13305999987312], [-84.52034400046142, 39.13255999987314], [-84.52034400046142, 39.13275999987314], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "233", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681590.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51914400046155, 39.12855999987355, -84.51734400046173, 39.130159999873385], "geometry": {"coordinates": [[[-84.51904400046153, 39.12855999987355], [-84.51914400046155, 39.12975999987343], [-84.51844400046163, 39.130159999873385], [-84.51734400046173, 39.12985999987343], [-84.51744400046172, 39.12965999987345], [-84.51754400046171, 39.12945999987347], [-84.51824400046162, 39.12865999987352], [-84.51904400046153, 39.12855999987355]]], "type": "Polygon"}, "id": "234", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681607.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52064400046136, 39.12825999987355, -84.51614400046188, 39.13235999987321], "geometry": {"coordinates": [[[-84.5194440004615, 39.131059999873294], [-84.51914400046155, 39.13225999987319], [-84.51794400046168, 39.13195999987321], [-84.51614400046188, 39.13235999987321], [-84.51693200046178, 39.13071799987334], [-84.51734400046173, 39.12985999987343], [-84.51844400046163, 39.130159999873385], [-84.51914400046155, 39.12975999987343], [-84.51904400046153, 39.12855999987355], [-84.5194440004615, 39.12855999987354], [-84.51964400046147, 39.12825999987355], [-84.52064400046136, 39.12835999987354], [-84.5205440004614, 39.12945999987345], [-84.5203440004614, 39.12945999987346], [-84.51964400046148, 39.13025999987335], [-84.5194440004615, 39.131059999873294]]], "type": "Polygon"}, "id": "235", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681624.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5264440004608, 39.13425999987298, -84.52004400046148, 39.135759999872825], "geometry": {"coordinates": [[[-84.5264440004608, 39.13445999987294], [-84.5262440004608, 39.135759999872825], [-84.52504400046094, 39.13555999987286], [-84.52434400046101, 39.13545999987286], [-84.52004400046148, 39.13505999987293], [-84.52014400046147, 39.134259999873], [-84.52084500046139, 39.13425999987298], [-84.5217440004613, 39.13425999987298], [-84.52284400046116, 39.13435999987296], [-84.52424400046101, 39.13435999987296], [-84.524462000461, 39.13436999987297], [-84.5264440004608, 39.13445999987294]]], "type": "Polygon"}, "id": "236", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 25.0, "AGE_18": 349.0, "AGE_20_24": 144.0, "AGE_21": 299.0, "AGE_25_34": 114.0, "AGE_35_44": 22.0, "AGE_45_54": 19.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 18.0, "AGE_65": 16.0, "AGE_65_74": 10.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 87.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 9.0, "AP_WHITE": 266.0, "AREA": 0.02, "ASIAN": 85.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.87, "BG": "390610029001", "BLACK": 5.0, "BLOCK": "390610029001007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15091.6364, "F1_RACE": 353.0, "F2_RACES": 8.0, "FEMALE": 143.0, "FEMALE_18": 134.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 24.0, "GROUP_QUAR": 24.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 180.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 180.0, "HU_VACANT": 13.0, "ID": 681644.0, "IN_HOUSEHO": 337.0, "MALE": 218.0, "MALE_18": 215.0, "MALE_65": 9.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 258.0, "NOT_HISPAN": 358.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 151.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.17, "POPULATION": 361.0, "RENTER_SIZ": 1.81, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 259.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52294400046114, 39.13295999987311, -84.5217440004613, 39.13435999987296], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52284400046116, 39.13435999987296], [-84.5217440004613, 39.13425999987298], [-84.52184400046129, 39.13295999987311], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "237", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 10.0, "AGE_18": 143.0, "AGE_20_24": 106.0, "AGE_21": 104.0, "AGE_25_34": 21.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 19.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.3, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26099.3015, "F1_RACE": 143.0, "F2_RACES": 1.0, "FEMALE": 37.0, "FEMALE_18": 36.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 36.0, "GROUP_QUAR": 36.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 681670.0, "IN_HOUSEHO": 108.0, "MALE": 107.0, "MALE_18": 107.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 120.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 144.0, "RENTER_SIZ": 2.3, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 121.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52184400046129, 39.13284599987314, -84.52084500046139, 39.13425999987298], "geometry": {"coordinates": [[[-84.52184400046129, 39.13295999987311], [-84.5217440004613, 39.13425999987298], [-84.52084500046139, 39.13425999987298], [-84.52098700046135, 39.13284599987314], [-84.52184400046129, 39.13295999987311]]], "type": "Polygon"}, "id": "238", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 16.0, "AGE_18": 66.0, "AGE_20_24": 44.0, "AGE_21": 34.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 65.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.8, "BG": "390610029002", "BLACK": 2.0, "BLOCK": "390610029002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15098.8449, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 25.0, "GROUP_QUAR": 25.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 681687.0, "IN_HOUSEHO": 42.0, "MALE": 49.0, "MALE_18": 48.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 65.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 67.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 65.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52098700046135, 39.13275999987314, -84.52014400046147, 39.134259999873], "geometry": {"coordinates": [[[-84.52084500046139, 39.13425999987298], [-84.52014400046147, 39.134259999873], [-84.52024400046145, 39.13375999987304], [-84.52024400046145, 39.13355999987304], [-84.52074400046138, 39.13325999987309], [-84.52024400046143, 39.13305999987312], [-84.52034400046142, 39.13275999987314], [-84.52098700046135, 39.13284599987314], [-84.52084500046139, 39.13425999987298]]], "type": "Polygon"}, "id": "239", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 66.0, "AGE_20_24": 55.0, "AGE_21": 30.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 64.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 0.0, "BLOCK": "390610029002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20452.4733, "F1_RACE": 65.0, "F2_RACES": 1.0, "FEMALE": 60.0, "FEMALE_18": 60.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 61.0, "GROUP_QUAR": 61.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 681742.0, "IN_HOUSEHO": 5.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 66.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 63.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52074400046138, 39.13305999987312, -84.52024400046143, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52074400046138, 39.13325999987309], [-84.52024400046145, 39.13355999987304], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "240", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 4.0, "AGE_18": 18.0, "AGE_20_24": 14.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 38887.7429, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 18.0, "GROUP_QUAR": 18.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681763.0, "IN_HOUSEHO": 0.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 17.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52024400046145, 39.133659999873075, -84.51744400046175, 39.13505999987293], "geometry": {"coordinates": [[[-84.52014400046147, 39.134259999873], [-84.52004400046148, 39.13505999987293], [-84.51914400046158, 39.134959999872954], [-84.51744400046175, 39.134959999872954], [-84.5177440004617, 39.134159999873], [-84.51884400046161, 39.133659999873075], [-84.52024400046145, 39.13375999987304], [-84.52014400046147, 39.134259999873]]], "type": "Polygon"}, "id": "241", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681778.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.131059999873294, -84.51474400046204, 39.13565999987291], "geometry": {"coordinates": [[[-84.52024400046145, 39.13355999987304], [-84.52024400046145, 39.13375999987304], [-84.51884400046161, 39.133659999873075], [-84.5177440004617, 39.134159999873], [-84.51744400046175, 39.134959999872954], [-84.51644400046186, 39.13505999987293], [-84.51474400046204, 39.13565999987291], [-84.51484400046203, 39.13425999987301], [-84.515044000462, 39.13305999987313], [-84.51614400046188, 39.13235999987321], [-84.51794400046168, 39.13195999987321], [-84.51914400046155, 39.13225999987319], [-84.5194440004615, 39.131059999873294], [-84.52034400046142, 39.13255999987314], [-84.51984400046149, 39.13305999987312], [-84.52024400046145, 39.13355999987304]]], "type": "Polygon"}, "id": "242", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681797.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12535999987392, -84.49304300046434, 39.12585999987388], "geometry": {"coordinates": [[[-84.49394300046424, 39.12585999987388], [-84.49364300046426, 39.1257599998739], [-84.49304300046434, 39.1257599998739], [-84.49304300046434, 39.125359999873936], [-84.49404300046422, 39.12535999987392], [-84.49394300046424, 39.12585999987388]]], "type": "Polygon"}, "id": "243", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 10.0, "AGE_20_24": 2.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.83, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15526.3239, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 1.0, "ID": 701090.0, "IN_HOUSEHO": 23.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 23.0, "RENTER_SIZ": 3.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4943430004642, 39.12635999987383, -84.49354300046429, 39.12745999987376], "geometry": {"coordinates": [[[-84.4943430004642, 39.12635999987383], [-84.49424300046421, 39.12745999987374], [-84.4935430004643, 39.12745999987376], [-84.49354300046429, 39.12635999987383], [-84.4943430004642, 39.12635999987383]]], "type": "Polygon"}, "id": "244", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 23.0, "AGE_20_24": 1.0, "AGE_21": 20.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.86, "AVG_HHSIZE": 2.18, "BG": "390610035002", "BLACK": 37.0, "BLOCK": "390610035002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12110.4163, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 17.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 701109.0, "IN_HOUSEHO": 37.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12495999987399, -84.49154300046447, 39.125359999873936], "geometry": {"coordinates": [[[-84.49314300046431, 39.12505999987396], [-84.49304300046434, 39.125359999873936], [-84.49154300046447, 39.12525999987394], [-84.49164300046446, 39.12495999987399], [-84.49314300046431, 39.12505999987396]]], "type": "Polygon"}, "id": "245", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 7.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.0923, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 3.0, "ID": 701127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 20.0, "RENTER_SIZ": 6.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49364300046426, 39.1257599998739, -84.49224300046444, 39.12745999987376], "geometry": {"coordinates": [[[-84.49354300046429, 39.12635999987383], [-84.4935430004643, 39.12745999987376], [-84.49224300046444, 39.127359999873725], [-84.4924430004644, 39.125759999873914], [-84.49304300046434, 39.1257599998739], [-84.49364300046426, 39.1257599998739], [-84.49354300046429, 39.12635999987383]]], "type": "Polygon"}, "id": "246", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 6.0, "AGE_18": 46.0, "AGE_20_24": 1.0, "AGE_21": 45.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 6.0, "AGE_62": 11.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 3.14, "BG": "390610035002", "BLACK": 82.0, "BLOCK": "390610035002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11792.7438, "F1_RACE": 82.0, "F2_RACES": 6.0, "FEMALE": 49.0, "FEMALE_18": 26.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701144.0, "IN_HOUSEHO": 88.0, "MALE": 39.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 87.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 88.0, "RENTER_SIZ": 3.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49484300046416, 39.12745999987374, -84.49324300046433, 39.12935999987355], "geometry": {"coordinates": [[[-84.49484300046416, 39.12805999987366], [-84.49464300046418, 39.12935999987355], [-84.49324300046433, 39.12925999987357], [-84.4935430004643, 39.12745999987376], [-84.49424300046421, 39.12745999987374], [-84.49484300046416, 39.12745999987374], [-84.49484300046416, 39.12805999987366]]], "type": "Polygon"}, "id": "247", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 11.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 10.0, "AGE_45_54": 19.0, "AGE_55_59": 3.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 89.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.33, "BG": "390610035002", "BLACK": 89.0, "BLOCK": "390610035002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10507.1558, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 35.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 701164.0, "IN_HOUSEHO": 100.0, "MALE": 48.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 31.4, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 100.0, "RENTER_SIZ": 2.26, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 11.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4935430004643, 39.127359999873725, -84.49214300046445, 39.12925999987357], "geometry": {"coordinates": [[[-84.4935430004643, 39.12745999987376], [-84.49324300046433, 39.12925999987357], [-84.49214300046445, 39.12915999987361], [-84.49224300046444, 39.127359999873725], [-84.4935430004643, 39.12745999987376]]], "type": "Polygon"}, "id": "248", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 18.0, "AGE_15_19": 20.0, "AGE_18": 94.0, "AGE_20_24": 6.0, "AGE_21": 83.0, "AGE_25_34": 8.0, "AGE_35_44": 29.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 17.0, "AGE_60_64": 5.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 10.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 149.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.68, "BG": "390610035002", "BLACK": 146.0, "BLOCK": "390610035002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18951.907, "F1_RACE": 150.0, "F2_RACES": 3.0, "FEMALE": 82.0, "FEMALE_18": 55.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 61.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 4.0, "ID": 701184.0, "IN_HOUSEHO": 153.0, "MALE": 71.0, "MALE_18": 39.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 153.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.46, "POPULATION": 153.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4953430004641, 39.12935999987355, -84.4936430004643, 39.13235999987328], "geometry": {"coordinates": [[[-84.4953430004641, 39.12935999987355], [-84.4946430004642, 39.13085999987343], [-84.49394300046428, 39.13235999987328], [-84.4936430004643, 39.13235999987327], [-84.49394300046427, 39.13115999987341], [-84.49464300046418, 39.12935999987355], [-84.4953430004641, 39.12935999987355]]], "type": "Polygon"}, "id": "249", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701201.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.496243000464, 39.129359999873536, -84.49394300046428, 39.13255999987326], "geometry": {"coordinates": [[[-84.4946430004642, 39.13085999987343], [-84.4953430004641, 39.12935999987355], [-84.49564300046407, 39.129359999873536], [-84.496243000464, 39.129459999873546], [-84.49614300046402, 39.13055999987345], [-84.49604300046406, 39.13185999987332], [-84.49574300046409, 39.13255999987324], [-84.49484300046419, 39.13255999987326], [-84.49394300046428, 39.13235999987328], [-84.4946430004642, 39.13085999987343]]], "type": "Polygon"}, "id": "250", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 0.0, "AGE_21": 17.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.22, "BG": "390610034001", "BLACK": 18.0, "BLOCK": "390610034001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1162.7336, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 701221.0, "IN_HOUSEHO": 20.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.0, "POPULATION": 20.0, "RENTER_SIZ": 2.38, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12935999987355, -84.49294300046438, 39.13115999987341], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49394300046427, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49294300046438, 39.13115999987341], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "251", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610035002", "BLACK": 8.0, "BLOCK": "390610035002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2400.4034, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 701243.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 8.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12915999987361, -84.49184300046453, 39.1322599998733], "geometry": {"coordinates": [[[-84.49284300046439, 39.1322599998733], [-84.49184300046453, 39.13215999987331], [-84.49204300046448, 39.129759999873535], [-84.49214300046445, 39.12915999987361], [-84.49324300046433, 39.12925999987357], [-84.49464300046418, 39.12935999987355], [-84.49294300046438, 39.13115999987341], [-84.49284300046439, 39.1322599998733]]], "type": "Polygon"}, "id": "252", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 32.0, "AGE_20_24": 10.0, "AGE_21": 19.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.26, "AVG_HHSIZE": 2.16, "BG": "390610035002", "BLACK": 54.0, "BLOCK": "390610035002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3226.1536, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701260.0, "IN_HOUSEHO": 54.0, "MALE": 15.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 54.0, "RENTER_SIZ": 2.16, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49394300046427, 39.13115999987341, -84.49284300046439, 39.13235999987327], "geometry": {"coordinates": [[[-84.49394300046427, 39.13115999987341], [-84.4936430004643, 39.13235999987327], [-84.49284300046439, 39.1322599998733], [-84.49294300046438, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49394300046427, 39.13115999987341]]], "type": "Polygon"}, "id": "253", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701281.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5012430004635, 39.132359999873266, -84.49894300046375, 39.13485999987302], "geometry": {"coordinates": [[[-84.5012430004635, 39.13285999987319], [-84.50094300046354, 39.134859999873], [-84.50054300046358, 39.13485999987302], [-84.49894300046375, 39.13475999987305], [-84.49913700046373, 39.13443699987308], [-84.49954300046369, 39.13375999987313], [-84.49954300046369, 39.133259999873175], [-84.49964300046366, 39.13265999987324], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13285999987319]]], "type": "Polygon"}, "id": "254", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 53.0, "AGE_20_24": 3.0, "AGE_21": 53.0, "AGE_25_34": 18.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 60.0, "BLOCK": "390610034002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4672.8118, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 5.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 6.0, "ID": 701300.0, "IN_HOUSEHO": 63.0, "MALE": 36.0, "MALE_18": 27.0, "MALE_65": 7.0, "MEDIAN_AGE": 33.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 68.0, "RENTER_SIZ": 1.7, "THEFT": 13, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 6.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50094300046354, 39.13465999987304, -84.49844300046382, 39.138359999872684], "geometry": {"coordinates": [[[-84.50084300046358, 39.13635999987288], [-84.5006430004636, 39.138359999872684], [-84.49844300046384, 39.13815999987272], [-84.49844300046382, 39.13735999987279], [-84.4986430004638, 39.135759999872946], [-84.49874300046378, 39.13465999987304], [-84.49894300046375, 39.13475999987305], [-84.50054300046358, 39.13485999987302], [-84.50094300046354, 39.134859999873], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.135659999872956], [-84.50084300046358, 39.13635999987288]]], "type": "Polygon"}, "id": "255", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701323.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49964300046366, 39.13265999987324, -84.496838000464, 39.13475999987305], "geometry": {"coordinates": [[[-84.49964300046366, 39.13265999987324], [-84.49954300046369, 39.133259999873175], [-84.49954300046369, 39.13375999987313], [-84.49913700046373, 39.13443699987308], [-84.49894300046375, 39.13475999987305], [-84.49874300046378, 39.13465999987304], [-84.4976430004639, 39.13455999987308], [-84.496838000464, 39.13456299987309], [-84.49684300046397, 39.13435999987308], [-84.49704300046395, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49794300046385, 39.13265999987325], [-84.49964300046366, 39.13265999987324]]], "type": "Polygon"}, "id": "256", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701347.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49704300046395, 39.13255999987324, -84.49604300046407, 39.13435999987308], "geometry": {"coordinates": [[[-84.49704300046395, 39.13265999987325], [-84.49684300046397, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49624300046402, 39.13255999987324], [-84.49704300046395, 39.13265999987325]]], "type": "Polygon"}, "id": "257", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.13, "BG": "390610034001", "BLACK": 17.0, "BLOCK": "390610034001009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3255.9625, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 701373.0, "IN_HOUSEHO": 17.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49874300046378, 39.13455999987308, -84.4960430004641, 39.13735999987279], "geometry": {"coordinates": [[[-84.49874300046378, 39.13465999987304], [-84.4986430004638, 39.135759999872946], [-84.49844300046382, 39.13735999987279], [-84.4960430004641, 39.137259999872825], [-84.4960430004641, 39.137059999872825], [-84.496743000464, 39.13565999987297], [-84.496743000464, 39.13475999987305], [-84.496838000464, 39.13456299987309], [-84.4976430004639, 39.13455999987308], [-84.49874300046378, 39.13465999987304]]], "type": "Polygon"}, "id": "258", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 2.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 36.0, "AGE_25_34": 3.0, "AGE_35_44": 14.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 50.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.38, "BG": "390610034002", "BLACK": 50.0, "BLOCK": "390610034002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2352.8122, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 5.0, "ID": 701390.0, "IN_HOUSEHO": 50.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.43, "POPULATION": 50.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5006430004636, 39.13815999987272, -84.49834300046383, 39.13945999987261], "geometry": {"coordinates": [[[-84.5006430004636, 39.138359999872684], [-84.50054300046362, 39.13935999987259], [-84.49834300046383, 39.13945999987261], [-84.49834300046383, 39.13885999987267], [-84.49844300046384, 39.13815999987272], [-84.5006430004636, 39.138359999872684]]], "type": "Polygon"}, "id": "259", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 6.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.44, "AVG_HHSIZE": 1.61, "BG": "390610067002", "BLACK": 24.0, "BLOCK": "390610067002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3895.8118, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 1.0, "ID": 701413.0, "IN_HOUSEHO": 37.0, "MALE": 18.0, "MALE_18": 17.0, "MALE_65": 1.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 37.0, "RENTER_SIZ": 1.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50054300046362, 39.13935999987259, -84.49824300046387, 39.1406599998725], "geometry": {"coordinates": [[[-84.50054300046362, 39.13935999987259], [-84.50054300046362, 39.139659999872585], [-84.50034300046366, 39.1406599998725], [-84.49824300046387, 39.1406599998725], [-84.49834300046385, 39.140159999872544], [-84.49834300046383, 39.13945999987261], [-84.50054300046362, 39.13935999987259]]], "type": "Polygon"}, "id": "260", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 17.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 28.0, "AGE_60_64": 1.0, "AGE_62": 16.0, "AGE_65": 15.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 121.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.77, "AVG_HHSIZE": 3.54, "BG": "390610067002", "BLACK": 120.0, "BLOCK": "390610067002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12519.5291, "F1_RACE": 123.0, "F2_RACES": 1.0, "FEMALE": 72.0, "FEMALE_18": 37.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 8.0, "ID": 701432.0, "IN_HOUSEHO": 124.0, "MALE": 52.0, "MALE_18": 23.0, "MALE_65": 5.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 124.0, "RENTER_SIZ": 3.91, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50034300046366, 39.1406599998725, -84.49814300046388, 39.1416599998724], "geometry": {"coordinates": [[[-84.50024300046367, 39.1416599998724], [-84.49974300046372, 39.141559999872406], [-84.49984300046371, 39.14125999987244], [-84.49884300046381, 39.14125999987244], [-84.49884300046381, 39.141559999872406], [-84.49814300046388, 39.14155999987243], [-84.49824300046387, 39.1406599998725], [-84.50034300046366, 39.1406599998725], [-84.50024300046367, 39.1416599998724]]], "type": "Polygon"}, "id": "261", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 15.0, "AGE_15_19": 3.0, "AGE_18": 67.0, "AGE_20_24": 6.0, "AGE_21": 64.0, "AGE_25_34": 15.0, "AGE_35_44": 19.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 11.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.2, "BG": "390610067003", "BLACK": 94.0, "BLOCK": "390610067003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16353.6988, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 17.0, "ID": 701450.0, "IN_HOUSEHO": 99.0, "MALE": 47.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 99.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.13805999987273, -84.49654300046404, 39.13885999987267], "geometry": {"coordinates": [[[-84.49844300046384, 39.13815999987272], [-84.49834300046383, 39.13885999987267], [-84.49654300046404, 39.13875999987268], [-84.49654300046404, 39.13805999987273], [-84.49844300046384, 39.13815999987272]]], "type": "Polygon"}, "id": "262", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 32.0, "AGE_20_24": 5.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 5.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.0, "BG": "390610067002", "BLACK": 46.0, "BLOCK": "390610067002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9971.922, "F1_RACE": 46.0, "F2_RACES": 2.0, "FEMALE": 28.0, "FEMALE_18": 19.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 14.0, "ID": 701470.0, "IN_HOUSEHO": 48.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 48.0, "RENTER_SIZ": 2.19, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.137259999872825, -84.49544300046415, 39.13815999987272], "geometry": {"coordinates": [[[-84.49844300046382, 39.13735999987279], [-84.49844300046384, 39.13815999987272], [-84.49654300046404, 39.13805999987273], [-84.49544300046415, 39.13795999987277], [-84.4960430004641, 39.137259999872825], [-84.49844300046382, 39.13735999987279]]], "type": "Polygon"}, "id": "263", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 9.0, "AGE_15_19": 4.0, "AGE_18": 42.0, "AGE_20_24": 4.0, "AGE_21": 38.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 12.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.11, "BG": "390610034002", "BLACK": 52.0, "BLOCK": "390610034002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7551.7359, "F1_RACE": 54.0, "F2_RACES": 5.0, "FEMALE": 28.0, "FEMALE_18": 23.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701488.0, "IN_HOUSEHO": 59.0, "MALE": 31.0, "MALE_18": 19.0, "MALE_65": 3.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 59.0, "RENTER_SIZ": 1.63, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.140159999872544, -84.49664300046405, 39.14235999987234], "geometry": {"coordinates": [[[-84.49814300046388, 39.14155999987243], [-84.4981430004639, 39.14235999987234], [-84.49664300046405, 39.14235999987234], [-84.49684300046403, 39.141159999872464], [-84.49674300046404, 39.140759999872486], [-84.49674300046402, 39.14015999987255], [-84.49834300046385, 39.140159999872544], [-84.49824300046387, 39.1406599998725], [-84.49814300046388, 39.14155999987243]]], "type": "Polygon"}, "id": "264", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 5.0, "AGE_15_19": 16.0, "AGE_18": 144.0, "AGE_20_24": 23.0, "AGE_21": 125.0, "AGE_25_34": 16.0, "AGE_35_44": 33.0, "AGE_45_54": 24.0, "AGE_55_59": 10.0, "AGE_5_9": 21.0, "AGE_60_64": 9.0, "AGE_62": 26.0, "AGE_65": 20.0, "AGE_65_74": 15.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 197.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.03, "BG": "390610067004", "BLACK": 197.0, "BLOCK": "390610067004006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17071.3195, "F1_RACE": 201.0, "F2_RACES": 0.0, "FEMALE": 112.0, "FEMALE_18": 76.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 55.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 14.0, "ID": 701506.0, "IN_HOUSEHO": 201.0, "MALE": 89.0, "MALE_18": 68.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 201.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 84.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 201.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49624300046402, 39.13255999987324, -84.49464300046422, 39.13435999987308], "geometry": {"coordinates": [[[-84.49624300046402, 39.13255999987324], [-84.49604300046407, 39.13435999987308], [-84.49464300046422, 39.13435999987308], [-84.49484300046419, 39.13255999987326], [-84.49574300046409, 39.13255999987324], [-84.49624300046402, 39.13255999987324]]], "type": "Polygon"}, "id": "265", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 1.0, "AGE_21": 49.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 5.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.92, "BG": "390610034001", "BLACK": 67.0, "BLOCK": "390610034001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7394.32, "F1_RACE": 67.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 19.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 10.0, "ID": 701526.0, "IN_HOUSEHO": 69.0, "MALE": 39.0, "MALE_18": 32.0, "MALE_65": 4.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 69.0, "RENTER_SIZ": 1.79, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.496838000464, 39.13456299987309, -84.49564300046411, 39.13565999987297], "geometry": {"coordinates": [[[-84.496743000464, 39.13565999987297], [-84.49564300046411, 39.13565999987297], [-84.49574600046411, 39.13456799987306], [-84.49603300046407, 39.13456699987308], [-84.496838000464, 39.13456299987309], [-84.496743000464, 39.13475999987305], [-84.496743000464, 39.13565999987297]]], "type": "Polygon"}, "id": "266", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.17, "AVG_HHSIZE": 3.22, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13544.9492, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 18.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 701545.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 58.0, "RENTER_SIZ": 3.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49684300046397, 39.134259999873116, -84.49354300046434, 39.13456799987306], "geometry": {"coordinates": [[[-84.49684300046397, 39.13435999987308], [-84.496838000464, 39.13456299987309], [-84.49603300046407, 39.13456699987308], [-84.49574600046411, 39.13456799987306], [-84.4949400004642, 39.13446999987309], [-84.49474300046421, 39.13445999987308], [-84.49354300046434, 39.134459999873094], [-84.49354300046434, 39.134259999873116], [-84.49464300046422, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49684300046397, 39.13435999987308]]], "type": "Polygon"}, "id": "267", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701563.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49574600046411, 39.13446999987309, -84.49474300046423, 39.13565999987297], "geometry": {"coordinates": [[[-84.49574600046411, 39.13456799987306], [-84.49564300046411, 39.13565999987297], [-84.49474300046423, 39.13555999987299], [-84.49494300046419, 39.134559999873105], [-84.4949400004642, 39.13446999987309], [-84.49574600046411, 39.13456799987306]]], "type": "Polygon"}, "id": "268", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610034001", "BLACK": 59.0, "BLOCK": "390610034001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17330.8057, "F1_RACE": 59.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701585.0, "IN_HOUSEHO": 60.0, "MALE": 29.0, "MALE_18": 15.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 60.0, "RENTER_SIZ": 2.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.496743000464, 39.13445999987308, -84.49354300046434, 39.137059999872825], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.49514300046418, 39.13685999987286], [-84.49374300046433, 39.136759999872865], [-84.49354300046434, 39.134459999873094], [-84.49474300046421, 39.13445999987308], [-84.4949400004642, 39.13446999987309], [-84.49494300046419, 39.134559999873105], [-84.49474300046423, 39.13555999987299], [-84.49564300046411, 39.13565999987297], [-84.496743000464, 39.13565999987297], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "269", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 12.0, "AGE_15_19": 13.0, "AGE_18": 93.0, "AGE_20_24": 11.0, "AGE_21": 87.0, "AGE_25_34": 14.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 5.0, "AGE_62": 21.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.07, "AVG_HHSIZE": 2.17, "BG": "390610034001", "BLACK": 123.0, "BLOCK": "390610034001001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7107.1126, "F1_RACE": 125.0, "F2_RACES": 3.0, "FEMALE": 80.0, "FEMALE_18": 59.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 15.0, "ID": 701604.0, "IN_HOUSEHO": 128.0, "MALE": 48.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 128.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 128.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49484300046419, 39.13235999987328, -84.49294300046441, 39.134459999873094], "geometry": {"coordinates": [[[-84.49464300046422, 39.13435999987308], [-84.49354300046434, 39.134259999873116], [-84.49354300046434, 39.134459999873094], [-84.49294300046441, 39.134459999873094], [-84.49394300046428, 39.13235999987328], [-84.49484300046419, 39.13255999987326], [-84.49464300046422, 39.13435999987308]]], "type": "Polygon"}, "id": "270", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.67, "BG": "390610034001", "BLACK": 16.0, "BLOCK": "390610034001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1738.7833, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 2.0, "ID": 701626.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 16.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49394300046428, 39.1322599998733, -84.49234300046446, 39.134459999873094], "geometry": {"coordinates": [[[-84.49394300046428, 39.13235999987328], [-84.49294300046441, 39.134459999873094], [-84.49234300046446, 39.13435999987311], [-84.49244300046446, 39.13415999987311], [-84.49284300046439, 39.1322599998733], [-84.4936430004643, 39.13235999987327], [-84.49394300046428, 39.13235999987328]]], "type": "Polygon"}, "id": "271", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701646.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49374300046433, 39.134459999873094, -84.49221400046447, 39.13675999987287], "geometry": {"coordinates": [[[-84.49354300046434, 39.134459999873094], [-84.49374300046433, 39.136759999872865], [-84.49234300046447, 39.13675999987287], [-84.49224300046448, 39.135659999872985], [-84.49221400046447, 39.135337999873], [-84.49244300046446, 39.135159999873025], [-84.49294300046441, 39.134459999873094], [-84.49354300046434, 39.134459999873094]]], "type": "Polygon"}, "id": "272", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 7.0, "AGE_18": 40.0, "AGE_20_24": 4.0, "AGE_21": 35.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.15, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5326.181, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 701665.0, "IN_HOUSEHO": 56.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 56.0, "RENTER_SIZ": 2.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49654300046404, 39.13795999987277, -84.4949430004642, 39.13875999987268], "geometry": {"coordinates": [[[-84.49654300046404, 39.13805999987273], [-84.49654300046404, 39.13875999987268], [-84.4949430004642, 39.13855999987269], [-84.49524300046419, 39.13825999987273], [-84.49544300046415, 39.13795999987277], [-84.49654300046404, 39.13805999987273]]], "type": "Polygon"}, "id": "273", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 3.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.29, "BG": "390610067002", "BLACK": 37.0, "BLOCK": "390610067002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11703.1123, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 5.0, "ID": 701685.0, "IN_HOUSEHO": 39.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.67, "POPULATION": 39.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.13855999987269, -84.49354300046437, 39.14015999987255], "geometry": {"coordinates": [[[-84.49834300046383, 39.13945999987261], [-84.49834300046385, 39.140159999872544], [-84.49674300046402, 39.14015999987255], [-84.49354300046437, 39.13995999987257], [-84.49444300046427, 39.139159999872646], [-84.4949430004642, 39.13855999987269], [-84.49654300046404, 39.13875999987268], [-84.49834300046383, 39.13885999987267], [-84.49834300046383, 39.13945999987261]]], "type": "Polygon"}, "id": "274", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 21.0, "AGE_15_19": 17.0, "AGE_18": 206.0, "AGE_20_24": 14.0, "AGE_21": 196.0, "AGE_25_34": 31.0, "AGE_35_44": 58.0, "AGE_45_54": 40.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 10.0, "AGE_62": 40.0, "AGE_65": 36.0, "AGE_65_74": 25.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 264.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.28, "BG": "390610067002", "BLACK": 264.0, "BLOCK": "390610067002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13219.4943, "F1_RACE": 279.0, "F2_RACES": 0.0, "FEMALE": 145.0, "FEMALE_18": 105.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 59.0, "HH_NONFAMI": 61.0, "HOUSEHOLDS": 120.0, "HSNG_UNITS": 139.0, "HU_OCCUPIE": 120.0, "HU_VACANT": 19.0, "ID": 701704.0, "IN_HOUSEHO": 274.0, "MALE": 134.0, "MALE_18": 101.0, "MALE_65": 15.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 277.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 90.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 279.0, "RENTER_SIZ": 2.11, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 14.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50714300046275, 39.11655999987471, -84.50604300046285, 39.117459999874605], "geometry": {"coordinates": [[[-84.50704300046277, 39.117459999874605], [-84.50604300046285, 39.11735999987464], [-84.50614300046284, 39.11655999987471], [-84.50714300046275, 39.11655999987471], [-84.50704300046277, 39.117459999874605]]], "type": "Polygon"}, "id": "275", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 26.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.95, "BG": "390610018002", "BLACK": 33.0, "BLOCK": "390610018002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11683.7506, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 13.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 666949.0, "IN_HOUSEHO": 37.0, "MALE": 19.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 37.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50604300046285, 39.11735999987464, -84.50464300046302, 39.118059999874546], "geometry": {"coordinates": [[[-84.50604300046285, 39.11735999987464], [-84.50594300046288, 39.118059999874546], [-84.50464300046302, 39.117959999874564], [-84.50464300046302, 39.11735999987464], [-84.50604300046285, 39.11735999987464]]], "type": "Polygon"}, "id": "276", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 34.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12886.0003, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 666966.0, "IN_HOUSEHO": 42.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 49.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50614300046284, 39.116359999874724, -84.50354300046313, 39.11735999987465], "geometry": {"coordinates": [[[-84.50614300046284, 39.11655999987471], [-84.50604300046285, 39.11735999987464], [-84.50464300046302, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50354300046313, 39.116359999874724], [-84.50614300046284, 39.11655999987471]]], "type": "Polygon"}, "id": "277", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 0.0, "AGE_21": 45.0, "AGE_25_34": 7.0, "AGE_35_44": 10.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.96, "BG": "390610018003", "BLACK": 52.0, "BLOCK": "390610018003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6504.3475, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 666984.0, "IN_HOUSEHO": 53.0, "MALE": 28.0, "MALE_18": 23.0, "MALE_65": 3.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 53.0, "RENTER_SIZ": 2.13, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50844300046265, 39.11735999987464, -84.50344300046316, 39.121459999874226], "geometry": {"coordinates": [[[-84.50444300046306, 39.120559999874324], [-84.50344300046316, 39.120459999874356], [-84.50374300046313, 39.11735999987465], [-84.50464300046302, 39.11735999987464], [-84.50464300046302, 39.117959999874564], [-84.50594300046288, 39.118059999874546], [-84.50574300046291, 39.11965999987443], [-84.50844300046263, 39.11985999987439], [-84.50844300046265, 39.120459999874335], [-84.50834300046266, 39.121459999874226], [-84.50564300046294, 39.121359999874265], [-84.50444300046307, 39.121259999874276], [-84.50444300046306, 39.120559999874324]]], "type": "Polygon"}, "id": "278", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 24.0, "AGE_15_19": 22.0, "AGE_18": 246.0, "AGE_20_24": 22.0, "AGE_21": 234.0, "AGE_25_34": 57.0, "AGE_35_44": 53.0, "AGE_45_54": 47.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 38.0, "AGE_65_74": 19.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 3.0, "AP_BLACK": 292.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 5.0, "AP_WHITE": 29.0, "AREA": 0.04, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.05, "AVG_HHSIZE": 2.2, "BG": "390610022002", "BLACK": 283.0, "BLOCK": "390610022002003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7480.1601, "F1_RACE": 313.0, "F2_RACES": 11.0, "FEMALE": 171.0, "FEMALE_18": 131.0, "FEMALE_65": 26.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 75.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 147.0, "HSNG_UNITS": 207.0, "HU_OCCUPIE": 147.0, "HU_VACANT": 60.0, "ID": 667002.0, "IN_HOUSEHO": 324.0, "MALE": 153.0, "MALE_18": 115.0, "MALE_65": 12.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 321.0, "OCCHU_OWNE": 47.0, "OCCHU_RENT": 100.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.77, "POPULATION": 324.0, "RENTER_SIZ": 1.94, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 25.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50834300046266, 39.121359999874265, -84.50564300046294, 39.12195999987419], "geometry": {"coordinates": [[[-84.50834300046266, 39.121459999874226], [-84.50834300046266, 39.12195999987419], [-84.50564300046294, 39.12175999987422], [-84.50564300046294, 39.121359999874265], [-84.50834300046266, 39.121459999874226]]], "type": "Polygon"}, "id": "279", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 61.0, "AGE_20_24": 8.0, "AGE_21": 60.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.31, "AVG_HHSIZE": 1.93, "BG": "390610022002", "BLACK": 61.0, "BLOCK": "390610022002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18000.5453, "F1_RACE": 78.0, "F2_RACES": 3.0, "FEMALE": 44.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 12.0, "ID": 667029.0, "IN_HOUSEHO": 81.0, "MALE": 37.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 31.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 81.0, "RENTER_SIZ": 1.81, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12265999987413, -84.5043430004631, 39.124259999874], "geometry": {"coordinates": [[[-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12425999987398], [-84.50474300046305, 39.124259999874], [-84.5043430004631, 39.124159999874], [-84.50444300046308, 39.12355999987404], [-84.50664300046284, 39.12355999987404], [-84.50664300046284, 39.12275999987412], [-84.50834300046267, 39.12265999987413], [-84.50834300046267, 39.123959999873996]]], "type": "Polygon"}, "id": "280", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 11.0, "AGE_18": 152.0, "AGE_20_24": 15.0, "AGE_21": 141.0, "AGE_25_34": 41.0, "AGE_35_44": 38.0, "AGE_45_54": 23.0, "AGE_55_59": 7.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 170.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 22.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.07, "BG": "390610022003", "BLACK": 167.0, "BLOCK": "390610022003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12551.3346, "F1_RACE": 192.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 80.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 41.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 94.0, "HSNG_UNITS": 111.0, "HU_OCCUPIE": 94.0, "HU_VACANT": 17.0, "ID": 667045.0, "IN_HOUSEHO": 195.0, "MALE": 101.0, "MALE_18": 72.0, "MALE_65": 5.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.97, "POPULATION": 195.0, "RENTER_SIZ": 1.68, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 21.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12425999987398, -84.50474300046305, 39.12555999987385], "geometry": {"coordinates": [[[-84.50834300046267, 39.12505999987389], [-84.50824300046268, 39.12555999987385], [-84.50674300046285, 39.125459999873875], [-84.50604300046291, 39.125059999873905], [-84.50564300046297, 39.12495999987392], [-84.50474300046305, 39.12495999987392], [-84.50474300046305, 39.124259999874], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.12505999987389]]], "type": "Polygon"}, "id": "281", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 18.0, "AGE_18": 145.0, "AGE_20_24": 32.0, "AGE_21": 126.0, "AGE_25_34": 39.0, "AGE_35_44": 30.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 49.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610022004", "BLACK": 128.0, "BLOCK": "390610022004004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13388.9258, "F1_RACE": 179.0, "F2_RACES": 0.0, "FEMALE": 101.0, "FEMALE_18": 80.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 62.0, "HOUSEHOLDS": 93.0, "HSNG_UNITS": 104.0, "HU_OCCUPIE": 93.0, "HU_VACANT": 11.0, "ID": 667067.0, "IN_HOUSEHO": 179.0, "MALE": 78.0, "MALE_18": 65.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.1, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 177.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.76, "POPULATION": 179.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 49.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.121259999874276, -84.5042430004631, 39.12275999987412], "geometry": {"coordinates": [[[-84.50834300046266, 39.12195999987419], [-84.50834300046267, 39.12265999987413], [-84.50664300046284, 39.12275999987412], [-84.5042430004631, 39.12255999987417], [-84.50444300046307, 39.121259999874276], [-84.50564300046294, 39.121359999874265], [-84.50564300046294, 39.12175999987422], [-84.50834300046266, 39.12195999987419]]], "type": "Polygon"}, "id": "282", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 23.0, "AGE_18": 141.0, "AGE_20_24": 13.0, "AGE_21": 128.0, "AGE_25_34": 32.0, "AGE_35_44": 36.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 22.0, "AGE_60_64": 10.0, "AGE_62": 17.0, "AGE_65": 12.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 1.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.41, "BG": "390610022002", "BLACK": 180.0, "BLOCK": "390610022002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13920.8235, "F1_RACE": 198.0, "F2_RACES": 9.0, "FEMALE": 108.0, "FEMALE_18": 75.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 27.0, "ID": 667087.0, "IN_HOUSEHO": 207.0, "MALE": 99.0, "MALE_18": 66.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 71.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 207.0, "RENTER_SIZ": 2.38, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50664300046284, 39.12255999987417, -84.50414300046312, 39.12355999987404], "geometry": {"coordinates": [[[-84.50664300046284, 39.12275999987412], [-84.50664300046284, 39.12355999987404], [-84.50444300046308, 39.12355999987404], [-84.50414300046312, 39.12345999987407], [-84.5042430004631, 39.12255999987417], [-84.50664300046284, 39.12275999987412]]], "type": "Polygon"}, "id": "283", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 87.0, "AGE_20_24": 9.0, "AGE_21": 80.0, "AGE_25_34": 14.0, "AGE_35_44": 19.0, "AGE_45_54": 24.0, "AGE_55_59": 3.0, "AGE_5_9": 12.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.38, "BG": "390610022003", "BLACK": 115.0, "BLOCK": "390610022003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7854, "F1_RACE": 121.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 54.0, "FEMALE_65": 9.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 7.0, "ID": 667107.0, "IN_HOUSEHO": 112.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 4.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.14, "POPULATION": 121.0, "RENTER_SIZ": 2.58, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50374300046313, 39.11735999987464, -84.50244300046329, 39.120459999874356], "geometry": {"coordinates": [[[-84.50344300046316, 39.120459999874356], [-84.50244300046329, 39.12035999987436], [-84.50274300046323, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50344300046316, 39.120459999874356]]], "type": "Polygon"}, "id": "284", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 10.0, "AGE_15_19": 6.0, "AGE_18": 133.0, "AGE_20_24": 15.0, "AGE_21": 128.0, "AGE_25_34": 22.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 9.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 16.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.29, "BG": "390610022001", "BLACK": 160.0, "BLOCK": "390610022001005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14534.9531, "F1_RACE": 165.0, "F2_RACES": 0.0, "FEMALE": 88.0, "FEMALE_18": 73.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 37.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 12.0, "ID": 667125.0, "IN_HOUSEHO": 165.0, "MALE": 77.0, "MALE_18": 60.0, "MALE_65": 10.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 32.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.55, "POPULATION": 165.0, "RENTER_SIZ": 1.97, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 5.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50274300046323, 39.11735999987464, -84.49994300046355, 39.12235999987418], "geometry": {"coordinates": [[[-84.50244300046329, 39.12035999987436], [-84.50224300046331, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50114300046343, 39.12235999987418], [-84.50081300046347, 39.121369999874275], [-84.50074300046347, 39.12115999987429], [-84.49994300046355, 39.11945999987446], [-84.5001430004635, 39.117559999874615], [-84.50174300046334, 39.117459999874605], [-84.50274300046323, 39.11735999987464], [-84.50244300046329, 39.12035999987436]]], "type": "Polygon"}, "id": "285", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 38.0, "AGE_15_19": 34.0, "AGE_18": 244.0, "AGE_20_24": 22.0, "AGE_21": 227.0, "AGE_25_34": 44.0, "AGE_35_44": 49.0, "AGE_45_54": 62.0, "AGE_55_59": 12.0, "AGE_5_9": 29.0, "AGE_60_64": 10.0, "AGE_62": 41.0, "AGE_65": 36.0, "AGE_65_74": 16.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 343.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 2.89, "BG": "390610022001", "BLACK": 343.0, "BLOCK": "390610022001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9208.6985, "F1_RACE": 353.0, "F2_RACES": 0.0, "FEMALE": 199.0, "FEMALE_18": 142.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 43.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 133.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 11.0, "ID": 667143.0, "IN_HOUSEHO": 353.0, "MALE": 154.0, "MALE_18": 102.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 63.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.51, "POPULATION": 353.0, "RENTER_SIZ": 2.24, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50444300046307, 39.120459999874356, -84.50324300046321, 39.12255999987417], "geometry": {"coordinates": [[[-84.50444300046307, 39.121259999874276], [-84.5042430004631, 39.12255999987417], [-84.50324300046321, 39.12245999987417], [-84.50344300046316, 39.120459999874356], [-84.50444300046306, 39.120559999874324], [-84.50444300046307, 39.121259999874276]]], "type": "Polygon"}, "id": "286", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 57.0, "AGE_20_24": 4.0, "AGE_21": 56.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 12.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.68, "AVG_HHSIZE": 2.16, "BG": "390610022002", "BLACK": 60.0, "BLOCK": "390610022002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8655.7543, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 10.0, "ID": 667166.0, "IN_HOUSEHO": 67.0, "MALE": 33.0, "MALE_18": 28.0, "MALE_65": 10.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.56, "POPULATION": 67.0, "RENTER_SIZ": 1.62, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50344300046316, 39.12035999987436, -84.50224300046331, 39.12245999987417], "geometry": {"coordinates": [[[-84.50324300046321, 39.12245999987417], [-84.50224300046331, 39.12235999987418], [-84.50244300046329, 39.12035999987436], [-84.50344300046316, 39.120459999874356], [-84.50324300046321, 39.12245999987417]]], "type": "Polygon"}, "id": "287", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 3.0, "AGE_18": 69.0, "AGE_20_24": 4.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 12.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 0.0, "AGE_62": 19.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.56, "BG": "390610022001", "BLACK": 87.0, "BLOCK": "390610022001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13366.7012, "F1_RACE": 99.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 35.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 45.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 6.0, "ID": 667185.0, "IN_HOUSEHO": 100.0, "MALE": 49.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.22, "POPULATION": 100.0, "RENTER_SIZ": 2.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 9.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50324300046321, 39.12235999987418, -84.50214300046333, 39.12345999987407], "geometry": {"coordinates": [[[-84.50314300046323, 39.12345999987407], [-84.50214300046333, 39.12335999987408], [-84.50224300046331, 39.12235999987418], [-84.50324300046321, 39.12245999987417], [-84.50314300046323, 39.12345999987407]]], "type": "Polygon"}, "id": "288", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 52.0, "AGE_20_24": 5.0, "AGE_21": 50.0, "AGE_25_34": 14.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.68, "BG": "390610022003", "BLACK": 63.0, "BLOCK": "390610022003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17911.7113, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 8.0, "ID": 667202.0, "IN_HOUSEHO": 67.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 67.0, "RENTER_SIZ": 1.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5042430004631, 39.12245999987417, -84.50314300046323, 39.12345999987407], "geometry": {"coordinates": [[[-84.5042430004631, 39.12255999987417], [-84.50414300046312, 39.12345999987407], [-84.50314300046323, 39.12345999987407], [-84.50324300046321, 39.12245999987417], [-84.5042430004631, 39.12255999987417]]], "type": "Polygon"}, "id": "289", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 0.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.0, "BG": "390610022003", "BLACK": 33.0, "BLOCK": "390610022003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12440.3687, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 8.0, "ID": 667220.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.7, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 44.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 11.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50444300046308, 39.12345999987407, -84.50314300046323, 39.124159999874], "geometry": {"coordinates": [[[-84.50444300046308, 39.12355999987404], [-84.5043430004631, 39.124159999874], [-84.50334300046322, 39.124159999873996], [-84.50314300046323, 39.12345999987407], [-84.50414300046312, 39.12345999987407], [-84.50444300046308, 39.12355999987404]]], "type": "Polygon"}, "id": "290", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 0.0, "AGE_18": 34.0, "AGE_20_24": 2.0, "AGE_21": 34.0, "AGE_25_34": 10.0, "AGE_35_44": 2.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 44.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.68, "BG": "390610022003", "BLACK": 44.0, "BLOCK": "390610022003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17321.771, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 21.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 667237.0, "IN_HOUSEHO": 51.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 51.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.124159999873996, -84.50334300046322, 39.12495999987392], "geometry": {"coordinates": [[[-84.50474300046305, 39.124259999874], [-84.50474300046305, 39.12495999987392], [-84.5034430004632, 39.12485999987395], [-84.50334300046322, 39.124159999873996], [-84.5043430004631, 39.124159999874], [-84.50474300046305, 39.124259999874]]], "type": "Polygon"}, "id": "291", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 3.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 18.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.75, "BG": "390610022004", "BLACK": 44.0, "BLOCK": "390610022004005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15001.0741, "F1_RACE": 51.0, "F2_RACES": 4.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 4.0, "ID": 667256.0, "IN_HOUSEHO": 55.0, "MALE": 22.0, "MALE_18": 13.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.9, "POPULATION": 55.0, "RENTER_SIZ": 2.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12335999987408, -84.50214300046333, 39.12485999987396], "geometry": {"coordinates": [[[-84.50334300046322, 39.124159999873996], [-84.5034430004632, 39.12485999987395], [-84.5025430004633, 39.12485999987396], [-84.5025430004633, 39.124259999874], [-84.50234300046331, 39.123959999874025], [-84.50214300046333, 39.12335999987408], [-84.50314300046323, 39.12345999987407], [-84.50334300046322, 39.124159999873996]]], "type": "Polygon"}, "id": "292", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 41.0, "AGE_20_24": 1.0, "AGE_21": 41.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 51.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.78, "AVG_HHSIZE": 1.65, "BG": "390610022003", "BLACK": 51.0, "BLOCK": "390610022003000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10552.4083, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 23.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 8.0, "ID": 667274.0, "IN_HOUSEHO": 51.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.64, "POPULATION": 51.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50224300046331, 39.12235999987418, -84.50114300046343, 39.12335999987408], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50114300046344, 39.12325999987408], [-84.50114300046343, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50224300046331, 39.12235999987418], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "293", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 9.0, "AGE_35_44": 21.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.67, "BG": "390610022001", "BLACK": 42.0, "BLOCK": "390610022001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7518, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 30.0, "FEMALE_65": 2.0, "GQ_INSTITU": 20.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 20.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 7.0, "ID": 667293.0, "IN_HOUSEHO": 35.0, "MALE": 23.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.75, "POPULATION": 55.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5025430004633, 39.12325999987408, -84.50114300046344, 39.12485999987396], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50234300046331, 39.123959999874025], [-84.5025430004633, 39.124259999874], [-84.5025430004633, 39.12485999987396], [-84.50174300046339, 39.12475999987396], [-84.50114300046344, 39.12325999987408], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "294", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 11.0, "AGE_20_24": 2.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.75, "BG": "390610022001", "BLACK": 13.0, "BLOCK": "390610022001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2913.8529, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 667312.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50174300046339, 39.12225999987419, -84.50014300046355, 39.12475999987396], "geometry": {"coordinates": [[[-84.50114300046344, 39.12325999987408], [-84.50174300046339, 39.12475999987396], [-84.50014300046355, 39.12465999987397], [-84.50034300046353, 39.12225999987419], [-84.50114300046343, 39.12235999987418], [-84.50114300046344, 39.12325999987408]]], "type": "Polygon"}, "id": "295", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667329.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50074300046342, 39.11275999987505, -84.49864300046367, 39.11755999987462], "geometry": {"coordinates": [[[-84.50074300046342, 39.11285999987504], [-84.50064300046343, 39.113159999875045], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.11375999987498], [-84.50044300046345, 39.114359999874935], [-84.49974300046355, 39.1169599998747], [-84.49964300046355, 39.11715999987465], [-84.49944300046359, 39.11755999987462], [-84.49884300046364, 39.11745999987464], [-84.49864300046367, 39.11715999987466], [-84.49895600046362, 39.11617399987476], [-84.49994300046352, 39.11355999987502], [-84.49994300046352, 39.11335999987502], [-84.50024300046346, 39.11275999987505], [-84.50074300046342, 39.11285999987504]]], "type": "Polygon"}, "id": "296", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002031", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667490.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49514300046425, 39.145659999872066, -84.49354300046444, 39.14845999987178], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.4948430004643, 39.14845999987178], [-84.49354300046444, 39.148259999871804], [-84.49384300046441, 39.14705999987192], [-84.49404300046436, 39.145659999872066], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "297", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 221.0, "AGE_20_24": 25.0, "AGE_21": 202.0, "AGE_25_34": 35.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 16.0, "AGE_5_9": 20.0, "AGE_60_64": 11.0, "AGE_62": 75.0, "AGE_65": 68.0, "AGE_65_74": 26.0, "AGE_75_84": 26.0, "AGE_85": 16.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 247.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 41.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 10, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.94, "BG": "390610068002", "BLACK": 243.0, "BLOCK": "390610068002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24438.1476, "F1_RACE": 280.0, "F2_RACES": 5.0, "FEMALE": 161.0, "FEMALE_18": 134.0, "FEMALE_65": 47.0, "GQ_INSTITU": 72.0, "GQ_NONINST": 23.0, "GROUP_QUAR": 95.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 98.0, "HSNG_UNITS": 117.0, "HU_OCCUPIE": 98.0, "HU_VACANT": 19.0, "ID": 705132.0, "IN_HOUSEHO": 190.0, "MALE": 124.0, "MALE_18": 87.0, "MALE_65": 21.0, "MEDIAN_AGE": 37.8, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 285.0, "RENTER_SIZ": 1.93, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49404300046436, 39.14545999987209, -84.4920430004646, 39.148259999871804], "geometry": {"coordinates": [[[-84.49404300046436, 39.145659999872066], [-84.49384300046441, 39.14705999987192], [-84.49354300046444, 39.148259999871804], [-84.4920430004646, 39.14805999987183], [-84.49213100046458, 39.14691599987195], [-84.49224300046455, 39.14545999987209], [-84.49404300046436, 39.145659999872066]]], "type": "Polygon"}, "id": "298", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 24.0, "AGE_15_19": 17.0, "AGE_18": 122.0, "AGE_20_24": 9.0, "AGE_21": 113.0, "AGE_25_34": 21.0, "AGE_35_44": 35.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 1.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 11.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 0.0, "AP_BLACK": 171.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.78, "BG": "390610068002", "BLACK": 167.0, "BLOCK": "390610068002001", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10804.1794, "F1_RACE": 172.0, "F2_RACES": 6.0, "FEMALE": 87.0, "FEMALE_18": 62.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 78.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 14.0, "ID": 705167.0, "IN_HOUSEHO": 178.0, "MALE": 91.0, "MALE_18": 60.0, "MALE_65": 11.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 178.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.61, "POPULATION": 178.0, "RENTER_SIZ": 2.88, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49304300046434, 39.12525999987394, -84.49154300046447, 39.125759999873914], "geometry": {"coordinates": [[[-84.49304300046434, 39.125359999873936], [-84.49304300046434, 39.1257599998739], [-84.4924430004644, 39.125759999873914], [-84.49184300046447, 39.1257599998739], [-84.49154300046449, 39.1256599998739], [-84.49154300046447, 39.12525999987394], [-84.49304300046434, 39.125359999873936]]], "type": "Polygon"}, "id": "299", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.25, "BG": "390610021001", "BLACK": 13.0, "BLOCK": "390610021001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5318.6525, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 8.0, "ID": 705258.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 13.0, "RENTER_SIZ": 3.25, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4924430004644, 39.1257599998739, -84.4917430004645, 39.127359999873725], "geometry": {"coordinates": [[[-84.4924430004644, 39.125759999873914], [-84.49224300046444, 39.127359999873725], [-84.4917430004645, 39.127359999873725], [-84.49184300046447, 39.1257599998739], [-84.4924430004644, 39.125759999873914]]], "type": "Polygon"}, "id": "300", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 5.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.25, "BG": "390610035002", "BLACK": 9.0, "BLOCK": "390610035002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2761.6482, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 705278.0, "IN_HOUSEHO": 9.0, "MALE": 4.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 9.0, "RENTER_SIZ": 1.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49154300046449, 39.12485999987399, -84.49044300046462, 39.1256599998739], "geometry": {"coordinates": [[[-84.49154300046447, 39.12525999987394], [-84.49154300046449, 39.1256599998739], [-84.49064300046459, 39.1256599998739], [-84.49044300046462, 39.125559999873914], [-84.49114300046453, 39.12485999987399], [-84.49104300046453, 39.12515999987397], [-84.49154300046447, 39.12525999987394]]], "type": "Polygon"}, "id": "301", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705295.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12475999987402, -84.49014300046463, 39.125559999873914], "geometry": {"coordinates": [[[-84.49114300046453, 39.12485999987399], [-84.49044300046462, 39.125559999873914], [-84.49014300046463, 39.125559999873914], [-84.49044300046461, 39.12495999987399], [-84.49054300046461, 39.12475999987402], [-84.49114300046453, 39.12485999987399]]], "type": "Polygon"}, "id": "302", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 4.67, "BG": "390610021001", "BLACK": 14.0, "BLOCK": "390610021001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10356.9954, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 705315.0, "IN_HOUSEHO": 14.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 11.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 4.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49184300046447, 39.1256599998739, -84.49044300046464, 39.127359999873725], "geometry": {"coordinates": [[[-84.4917430004645, 39.127359999873725], [-84.49044300046464, 39.12725999987379], [-84.49064300046459, 39.1256599998739], [-84.49154300046449, 39.1256599998739], [-84.49184300046447, 39.1257599998739], [-84.4917430004645, 39.127359999873725]]], "type": "Polygon"}, "id": "303", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 11.0, "AGE_15_19": 5.0, "AGE_18": 73.0, "AGE_20_24": 4.0, "AGE_21": 71.0, "AGE_25_34": 10.0, "AGE_35_44": 21.0, "AGE_45_54": 20.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 11.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 97.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.83, "BG": "390610035001", "BLACK": 97.0, "BLOCK": "390610035001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12976.9945, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 46.0, "FEMALE_18": 33.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 9.0, "ID": 705334.0, "IN_HOUSEHO": 99.0, "MALE": 53.0, "MALE_18": 40.0, "MALE_65": 8.0, "MEDIAN_AGE": 37.9, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 51.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 99.0, "RENTER_SIZ": 1.76, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49224300046444, 39.12725999987379, -84.49024300046466, 39.129759999873535], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49024300046466, 39.12965999987355], [-84.49044300046464, 39.12725999987379], [-84.4917430004645, 39.127359999873725], [-84.49224300046444, 39.127359999873725], [-84.49214300046445, 39.12915999987361], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "304", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 13.0, "AGE_18": 76.0, "AGE_20_24": 8.0, "AGE_21": 65.0, "AGE_25_34": 16.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 4.0, "AGE_75_84": 4.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 117.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.71, "BG": "390610035001", "BLACK": 117.0, "BLOCK": "390610035001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7530.1086, "F1_RACE": 122.0, "F2_RACES": 0.0, "FEMALE": 61.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 80.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 35.0, "ID": 705352.0, "IN_HOUSEHO": 122.0, "MALE": 61.0, "MALE_18": 39.0, "MALE_65": 8.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 122.0, "RENTER_SIZ": 2.7, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49064300046459, 39.125559999873914, -84.48934300046474, 39.12725999987379], "geometry": {"coordinates": [[[-84.49064300046459, 39.1256599998739], [-84.49044300046464, 39.12725999987379], [-84.48934300046474, 39.12715999987378], [-84.49014300046463, 39.125559999873914], [-84.49044300046462, 39.125559999873914], [-84.49064300046459, 39.1256599998739]]], "type": "Polygon"}, "id": "305", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 6.0, "AGE_35_44": 11.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 2.4, "BG": "390610035001", "BLACK": 42.0, "BLOCK": "390610035001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9636.6782, "F1_RACE": 47.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 705372.0, "IN_HOUSEHO": 48.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 48.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49044300046461, 39.124859999874, -84.4877430004649, 39.125559999873914], "geometry": {"coordinates": [[[-84.48914300046475, 39.124859999874], [-84.49044300046461, 39.12495999987399], [-84.49014300046463, 39.125559999873914], [-84.4877430004649, 39.125459999873954], [-84.48784300046489, 39.124859999874026], [-84.48914300046475, 39.124859999874]]], "type": "Polygon"}, "id": "306", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 16.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.64, "BG": "390610019001", "BLACK": 9.0, "BLOCK": "390610019001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3066.4806, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 36.0, "ID": 705391.0, "IN_HOUSEHO": 18.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 1.64, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 7.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49014300046463, 39.125459999873954, -84.48754300046494, 39.12715999987378], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.49014300046463, 39.125559999873914], [-84.48934300046474, 39.12715999987378], [-84.48754300046494, 39.126959999873826], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "307", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 59.0, "AGE_20_24": 1.0, "AGE_21": 59.0, "AGE_25_34": 11.0, "AGE_35_44": 11.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 62.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.17, "BG": "390610037002", "BLACK": 62.0, "BLOCK": "390610037002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5108.6014, "F1_RACE": 63.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 28.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 50.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 57.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 3.0, "ID": 705409.0, "IN_HOUSEHO": 63.0, "MALE": 34.0, "MALE_18": 31.0, "MALE_65": 5.0, "MEDIAN_AGE": 45.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 1.17, "THEFT": 14, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49044300046464, 39.12715999987378, -84.48844300046484, 39.12965999987355], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.48934300046476, 39.12955999987356], [-84.48844300046484, 39.12945999987358], [-84.48854300046484, 39.12865999987366], [-84.48934300046474, 39.12715999987378], [-84.49044300046464, 39.12725999987379], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "308", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 24.0, "AGE_15_19": 20.0, "AGE_18": 189.0, "AGE_20_24": 14.0, "AGE_21": 186.0, "AGE_25_34": 28.0, "AGE_35_44": 47.0, "AGE_45_54": 43.0, "AGE_55_59": 12.0, "AGE_5_9": 25.0, "AGE_60_64": 9.0, "AGE_62": 42.0, "AGE_65": 33.0, "AGE_65_74": 20.0, "AGE_75_84": 11.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.7, "BG": "390610035001", "BLACK": 246.0, "BLOCK": "390610035001003", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20388.1466, "F1_RACE": 274.0, "F2_RACES": 8.0, "FEMALE": 136.0, "FEMALE_18": 88.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 47.0, "GROUP_QUAR": 47.0, "HAWAIIAN": 0.0, "HH_FAMILY": 61.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 100.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 13.0, "ID": 705427.0, "IN_HOUSEHO": 235.0, "MALE": 146.0, "MALE_18": 101.0, "MALE_65": 17.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.92, "POPULATION": 282.0, "RENTER_SIZ": 2.67, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 23.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48934300046474, 39.126959999873826, -84.48744300046496, 39.12865999987366], "geometry": {"coordinates": [[[-84.48934300046474, 39.12715999987378], [-84.48854300046484, 39.12865999987366], [-84.48744300046496, 39.12865999987366], [-84.48754300046494, 39.126959999873826], [-84.48934300046474, 39.12715999987378]]], "type": "Polygon"}, "id": "309", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 49.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 12.0, "AGE_35_44": 16.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.11, "AVG_HHSIZE": 2.84, "BG": "390610037002", "BLACK": 70.0, "BLOCK": "390610037002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8106.6346, "F1_RACE": 71.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 27.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 705446.0, "IN_HOUSEHO": 71.0, "MALE": 34.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.8, "POPULATION": 71.0, "RENTER_SIZ": 2.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49204300046448, 39.12965999987355, -84.49004300046471, 39.13215999987331], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49184300046453, 39.13215999987331], [-84.49004300046471, 39.13195999987333], [-84.49024300046466, 39.12965999987355], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "310", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 24.0, "AGE_15_19": 23.0, "AGE_18": 114.0, "AGE_20_24": 12.0, "AGE_21": 105.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.34, "BG": "390610035001", "BLACK": 177.0, "BLOCK": "390610035001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12487.9501, "F1_RACE": 192.0, "F2_RACES": 5.0, "FEMALE": 103.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 12.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 12.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 31.0, "ID": 705464.0, "IN_HOUSEHO": 185.0, "MALE": 94.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 24.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 60.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.32, "POPULATION": 197.0, "RENTER_SIZ": 2.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 15.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49284300046439, 39.13215999987331, -84.49174300046454, 39.13415999987313], "geometry": {"coordinates": [[[-84.49184300046453, 39.13215999987331], [-84.49284300046439, 39.1322599998733], [-84.49244300046446, 39.13415999987311], [-84.49174300046455, 39.13415999987313], [-84.49174300046454, 39.13335999987318], [-84.49184300046453, 39.13215999987331]]], "type": "Polygon"}, "id": "311", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49184300046453, 39.13195999987333, -84.48994300046472, 39.13335999987318], "geometry": {"coordinates": [[[-84.49174300046454, 39.13335999987318], [-84.48994300046472, 39.13325999987322], [-84.49004300046471, 39.13195999987333], [-84.49184300046453, 39.13215999987331], [-84.49174300046454, 39.13335999987318]]], "type": "Polygon"}, "id": "312", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.9, "BG": "390610036002", "BLACK": 19.0, "BLOCK": "390610036002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2265.3295, "F1_RACE": 19.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 705500.0, "IN_HOUSEHO": 19.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 19.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49024300046466, 39.12945999987358, -84.48794300046492, 39.13195999987333], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.49004300046471, 39.13195999987333], [-84.48914300046481, 39.13195999987333], [-84.48794300046492, 39.13185999987335], [-84.48814300046489, 39.13085999987344], [-84.48844300046484, 39.12945999987358], [-84.48934300046476, 39.12955999987356], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "313", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 59.0, "AGE_20_24": 12.0, "AGE_21": 55.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 16.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.72, "BG": "390610035001", "BLACK": 74.0, "BLOCK": "390610035001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4260.8043, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 31.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 9.0, "ID": 705518.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 74.0, "RENTER_SIZ": 1.65, "THEFT": 11, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49004300046471, 39.13185999987335, -84.48764300046497, 39.13325999987322], "geometry": {"coordinates": [[[-84.49004300046471, 39.13195999987333], [-84.48994300046472, 39.13325999987322], [-84.48764300046497, 39.13315999987322], [-84.48784300046495, 39.13265999987328], [-84.48794300046492, 39.13185999987335], [-84.48914300046481, 39.13195999987333], [-84.49004300046471, 39.13195999987333]]], "type": "Polygon"}, "id": "314", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 229.0, "AGE_20_24": 2.0, "AGE_21": 228.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 10.0, "AGE_5_9": 1.0, "AGE_60_64": 16.0, "AGE_62": 187.0, "AGE_65": 177.0, "AGE_65_74": 79.0, "AGE_75_84": 73.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 2.0, "AP_BLACK": 239.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.53, "AVG_HHSIZE": 1.15, "BG": "390610036002", "BLACK": 236.0, "BLOCK": "390610036002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23313.5736, "F1_RACE": 237.0, "F2_RACES": 3.0, "FEMALE": 190.0, "FEMALE_18": 183.0, "FEMALE_65": 147.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 190.0, "HOUSEHOLDS": 209.0, "HSNG_UNITS": 212.0, "HU_OCCUPIE": 209.0, "HU_VACANT": 3.0, "ID": 705538.0, "IN_HOUSEHO": 240.0, "MALE": 50.0, "MALE_18": 46.0, "MALE_65": 30.0, "MEDIAN_AGE": 72.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 239.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 204.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 240.0, "RENTER_SIZ": 1.14, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4877430004649, 39.125359999873965, -84.48594300046511, 39.126959999873826], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.48754300046494, 39.126959999873826], [-84.48594300046511, 39.12685999987383], [-84.48604300046509, 39.125359999873965], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "315", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 141.0, "AGE_20_24": 7.0, "AGE_21": 139.0, "AGE_25_34": 8.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 9.0, "AGE_5_9": 7.0, "AGE_60_64": 16.0, "AGE_62": 77.0, "AGE_65": 68.0, "AGE_65_74": 32.0, "AGE_75_84": 24.0, "AGE_85": 12.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.76, "AVG_HHSIZE": 1.33, "BG": "390610037002", "BLACK": 146.0, "BLOCK": "390610037002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17459.4717, "F1_RACE": 158.0, "F2_RACES": 3.0, "FEMALE": 88.0, "FEMALE_18": 80.0, "FEMALE_65": 42.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 121.0, "HSNG_UNITS": 126.0, "HU_OCCUPIE": 121.0, "HU_VACANT": 5.0, "ID": 705558.0, "IN_HOUSEHO": 161.0, "MALE": 73.0, "MALE_18": 61.0, "MALE_65": 26.0, "MEDIAN_AGE": 61.1, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 161.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 113.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 161.0, "RENTER_SIZ": 1.25, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48754300046494, 39.12685999987383, -84.48574300046513, 39.12865999987366], "geometry": {"coordinates": [[[-84.48754300046494, 39.126959999873826], [-84.48744300046496, 39.12865999987366], [-84.4862430004651, 39.12855999987367], [-84.48574300046513, 39.12855999987368], [-84.48594300046511, 39.12685999987383], [-84.48754300046494, 39.126959999873826]]], "type": "Polygon"}, "id": "316", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610037002", "BLACK": 8.0, "BLOCK": "390610037002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 772.902, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 1.0, "ID": 705576.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48604300046509, 39.125159999874, -84.48434300046526, 39.12685999987383], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48434300046527, 39.12675999987384], [-84.48434300046526, 39.125159999874], [-84.48504300046518, 39.12525999987396], [-84.48604300046509, 39.125359999873965], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "317", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 6.0, "AGE_15_19": 15.0, "AGE_18": 178.0, "AGE_20_24": 31.0, "AGE_21": 164.0, "AGE_25_34": 43.0, "AGE_35_44": 18.0, "AGE_45_54": 18.0, "AGE_55_59": 17.0, "AGE_5_9": 24.0, "AGE_60_64": 16.0, "AGE_62": 35.0, "AGE_65": 25.0, "AGE_65_74": 19.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 232.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 1.6, "BG": "390610037002", "BLACK": 230.0, "BLOCK": "390610037002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25096.418, "F1_RACE": 235.0, "F2_RACES": 2.0, "FEMALE": 132.0, "FEMALE_18": 99.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 50.0, "HH_NONFAMI": 98.0, "HOUSEHOLDS": 148.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 148.0, "HU_VACANT": 45.0, "ID": 705594.0, "IN_HOUSEHO": 237.0, "MALE": 105.0, "MALE_18": 79.0, "MALE_65": 9.0, "MEDIAN_AGE": 27.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 233.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 237.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48594300046511, 39.12675999987384, -84.48414300046532, 39.12855999987368], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48574300046513, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.4842430004653, 39.12765999987374], [-84.48434300046527, 39.12675999987384], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "318", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 9.0, "AGE_18": 229.0, "AGE_20_24": 9.0, "AGE_21": 226.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 33.0, "AGE_55_59": 11.0, "AGE_5_9": 6.0, "AGE_60_64": 24.0, "AGE_62": 123.0, "AGE_65": 110.0, "AGE_65_74": 44.0, "AGE_75_84": 46.0, "AGE_85": 20.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 235.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 5.0, "AP_WHITE": 19.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.29, "BG": "390610037002", "BLACK": 229.0, "BLOCK": "390610037002000", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25176.618, "F1_RACE": 248.0, "F2_RACES": 7.0, "FEMALE": 152.0, "FEMALE_18": 143.0, "FEMALE_65": 76.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 173.0, "HOUSEHOLDS": 197.0, "HSNG_UNITS": 199.0, "HU_OCCUPIE": 197.0, "HU_VACANT": 2.0, "ID": 705613.0, "IN_HOUSEHO": 255.0, "MALE": 103.0, "MALE_18": 86.0, "MALE_65": 34.0, "MEDIAN_AGE": 61.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 255.0, "RENTER_SIZ": 1.26, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 16.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.128459999873684, -84.48414300046532, 39.129359999873586], "geometry": {"coordinates": [[[-84.48574300046513, 39.12855999987368], [-84.48574300046515, 39.129359999873586], [-84.48414300046532, 39.129259999873604], [-84.48414300046532, 39.128459999873684], [-84.48574300046513, 39.12855999987368]]], "type": "Polygon"}, "id": "319", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 9.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.91, "BG": "390610037003", "BLACK": 57.0, "BLOCK": "390610037003012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13501.798, "F1_RACE": 64.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 6.0, "ID": 705632.0, "IN_HOUSEHO": 64.0, "MALE": 26.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 64.0, "RENTER_SIZ": 3.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 7.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48854300046484, 39.12855999987367, -84.48554300046517, 39.130859999873465], "geometry": {"coordinates": [[[-84.48844300046484, 39.12945999987358], [-84.48814300046489, 39.13085999987344], [-84.48684300046503, 39.130859999873465], [-84.48604300046513, 39.13075999987347], [-84.48554300046517, 39.13075999987347], [-84.48574300046515, 39.129359999873586], [-84.48574300046513, 39.12855999987368], [-84.4862430004651, 39.12855999987367], [-84.48744300046496, 39.12865999987366], [-84.48854300046484, 39.12865999987366], [-84.48844300046484, 39.12945999987358]]], "type": "Polygon"}, "id": "320", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 2.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 46.0, "BLOCK": "390610037003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2087.6977, "F1_RACE": 46.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 20.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 705649.0, "IN_HOUSEHO": 46.0, "MALE": 19.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 46.0, "RENTER_SIZ": 2.36, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48814300046489, 39.13085999987344, -84.48684300046503, 39.13185999987336], "geometry": {"coordinates": [[[-84.48814300046489, 39.13085999987344], [-84.48794300046492, 39.13185999987335], [-84.48684300046504, 39.13185999987336], [-84.48684300046503, 39.130859999873465], [-84.48814300046489, 39.13085999987344]]], "type": "Polygon"}, "id": "321", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 25.0, "AGE_20_24": 11.0, "AGE_21": 17.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 39.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.17, "BG": "390610037003", "BLACK": 38.0, "BLOCK": "390610037003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8776.4684, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 705673.0, "IN_HOUSEHO": 39.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 2.17, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48794300046492, 39.13185999987335, -84.48684300046504, 39.132659999873304], "geometry": {"coordinates": [[[-84.48794300046492, 39.13185999987335], [-84.48784300046495, 39.13265999987328], [-84.48684300046504, 39.132659999873304], [-84.48684300046504, 39.13185999987336], [-84.48794300046492, 39.13185999987335]]], "type": "Polygon"}, "id": "322", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610036001", "BLACK": 16.0, "BLOCK": "390610036001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5465.2861, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 7.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 6.0, "ID": 705691.0, "IN_HOUSEHO": 17.0, "MALE": 8.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 17.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.13075999987347, -84.4854430004652, 39.13185999987336], "geometry": {"coordinates": [[[-84.48684300046503, 39.130859999873465], [-84.48684300046504, 39.13185999987336], [-84.4854430004652, 39.131759999873395], [-84.48554300046517, 39.13075999987347], [-84.48604300046513, 39.13075999987347], [-84.48684300046503, 39.130859999873465]]], "type": "Polygon"}, "id": "323", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 74.0, "AGE_20_24": 15.0, "AGE_21": 65.0, "AGE_25_34": 8.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 10.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 104.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.81, "BG": "390610037003", "BLACK": 104.0, "BLOCK": "390610037003003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20938.2875, "F1_RACE": 107.0, "F2_RACES": 0.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 4.0, "ID": 705708.0, "IN_HOUSEHO": 107.0, "MALE": 44.0, "MALE_18": 26.0, "MALE_65": 6.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 57.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.81, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48784300046495, 39.1325599998733, -84.48504300046523, 39.133659999873196], "geometry": {"coordinates": [[[-84.48784300046495, 39.13265999987328], [-84.48764300046497, 39.13315999987322], [-84.487443000465, 39.133459999873224], [-84.487443000465, 39.133659999873196], [-84.48613700046513, 39.133514999873206], [-84.48596700046515, 39.133397999873225], [-84.48504300046523, 39.13276599987328], [-84.48504300046523, 39.1325599998733], [-84.4854430004652, 39.1325599998733], [-84.48684300046504, 39.132659999873304], [-84.48784300046495, 39.13265999987328]]], "type": "Polygon"}, "id": "324", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 6.0, "AVG_HHSIZE": 6.0, "BG": "390610036001", "BLACK": 6.0, "BLOCK": "390610036001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 799.5032, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 705727.0, "IN_HOUSEHO": 6.0, "MALE": 4.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 6.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 6.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49364300046419, 39.11405999987497, -84.49304300046427, 39.1148599998749], "geometry": {"coordinates": [[[-84.49324300046423, 39.11405999987497], [-84.49364300046419, 39.114359999874964], [-84.49304300046427, 39.1148599998749], [-84.49324300046423, 39.11405999987497]]], "type": "Polygon"}, "id": "325", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 5.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.44, "BG": "390610019002", "BLACK": 5.0, "BLOCK": "390610019002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18472.2408, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 3.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 0.0, "ID": 669057.0, "IN_HOUSEHO": 13.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 13.0, "RENTER_SIZ": 1.43, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 8.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49884300046364, 39.11715999987466, -84.49854300046368, 39.11755999987462], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49854300046368, 39.11755999987462], [-84.49864300046367, 39.11715999987466], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "326", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669074.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49864300046367, 39.11715999987466, -84.4984430004637, 39.11755999987462], "geometry": {"coordinates": [[[-84.49864300046367, 39.11715999987466], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.117259999874676], [-84.49864300046367, 39.11715999987466]]], "type": "Polygon"}, "id": "327", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002029", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669090.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49944300046359, 39.11745999987464, -84.49804300046375, 39.12015999987439], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49944300046359, 39.11755999987462], [-84.49804300046375, 39.12015999987439], [-84.49814300046373, 39.11885999987453], [-84.4984430004637, 39.11815999987457], [-84.49854300046368, 39.11755999987462], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "328", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669106.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50114300046343, 39.117559999874615, -84.49784300046379, 39.12235999987418], "geometry": {"coordinates": [[[-84.50114300046343, 39.12235999987418], [-84.50034300046353, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.49874300046368, 39.121459999874276], [-84.49874300046368, 39.120759999874345], [-84.49824300046373, 39.120759999874345], [-84.49824300046373, 39.121459999874276], [-84.49824300046375, 39.12225999987419], [-84.49784300046379, 39.12225999987419], [-84.49794300046376, 39.120759999874345], [-84.49804300046375, 39.12015999987439], [-84.49944300046359, 39.11755999987462], [-84.5001430004635, 39.117559999874615], [-84.49994300046355, 39.11945999987446], [-84.50074300046347, 39.12115999987429], [-84.50081300046347, 39.121369999874275], [-84.50114300046343, 39.12235999987418]]], "type": "Polygon"}, "id": "329", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 7.0, "AGE_15_19": 7.0, "AGE_18": 71.0, "AGE_20_24": 3.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 2.0, "AGE_5_9": 21.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 110.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 2.5, "BG": "390610021002", "BLACK": 110.0, "BLOCK": "390610021002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3608.4247, "F1_RACE": 114.0, "F2_RACES": 1.0, "FEMALE": 63.0, "FEMALE_18": 41.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 7.0, "ID": 669124.0, "IN_HOUSEHO": 115.0, "MALE": 52.0, "MALE_18": 30.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 115.0, "RENTER_SIZ": 2.79, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 4.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49854300046368, 39.11645999987473, -84.4964230004639, 39.12225999987419], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49694300046386, 39.119459999874465], [-84.4974430004638, 39.1191599998745], [-84.49684300046387, 39.11855999987454], [-84.4964230004639, 39.11813999987458], [-84.49754300046378, 39.11645999987473], [-84.4984430004637, 39.117259999874676], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.11815999987457], [-84.49814300046373, 39.11885999987453], [-84.49804300046375, 39.12015999987439], [-84.49794300046376, 39.120759999874345], [-84.49784300046379, 39.12225999987419], [-84.49724300046385, 39.122159999874214], [-84.49744300046382, 39.12065999987436], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "330", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669153.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4974430004638, 39.11813999987458, -84.49634300046392, 39.119459999874465], "geometry": {"coordinates": [[[-84.49684300046387, 39.11855999987454], [-84.4974430004638, 39.1191599998745], [-84.49694300046386, 39.119459999874465], [-84.49634300046392, 39.118259999874574], [-84.4964230004639, 39.11813999987458], [-84.49684300046387, 39.11855999987454]]], "type": "Polygon"}, "id": "331", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669178.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49744300046382, 39.119459999874465, -84.49634300046394, 39.12215999987422], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49744300046382, 39.12065999987436], [-84.49724300046385, 39.122159999874214], [-84.49634300046394, 39.12215999987422], [-84.49644300046394, 39.121359999874294], [-84.49694300046387, 39.121359999874294], [-84.49694300046387, 39.12075999987434], [-84.49654300046392, 39.12055999987439], [-84.49654300046392, 39.11965999987446], [-84.49694300046386, 39.119459999874465], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "332", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.14, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2225.3185, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669195.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 45.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 15.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49874300046368, 39.120759999874345, -84.49824300046373, 39.121459999874276], "geometry": {"coordinates": [[[-84.49874300046368, 39.120759999874345], [-84.49874300046368, 39.121459999874276], [-84.49824300046373, 39.121459999874276], [-84.49824300046373, 39.120759999874345], [-84.49874300046368, 39.120759999874345]]], "type": "Polygon"}, "id": "333", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669219.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49874300046369, 39.121459999874276, -84.49824300046373, 39.12225999987419], "geometry": {"coordinates": [[[-84.49874300046368, 39.121459999874276], [-84.49874300046369, 39.12225999987418], [-84.49824300046375, 39.12225999987419], [-84.49824300046373, 39.121459999874276], [-84.49874300046368, 39.121459999874276]]], "type": "Polygon"}, "id": "334", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 10.0, "BLOCK": "390610021002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6750.2171, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669236.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 60.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 10.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50034300046353, 39.12225999987418, -84.49784300046382, 39.125359999873915], "geometry": {"coordinates": [[[-84.49914300046366, 39.12455999987399], [-84.49914300046366, 39.125359999873915], [-84.49784300046382, 39.125259999873926], [-84.49804300046377, 39.12375999987406], [-84.49864800046372, 39.123760999874065], [-84.49864300046372, 39.1230599998741], [-84.49816800046375, 39.123062999874136], [-84.49824300046375, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.50034300046353, 39.12225999987419], [-84.50014300046355, 39.12465999987397], [-84.49914300046366, 39.12455999987399]]], "type": "Polygon"}, "id": "335", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 32.0, "AGE_25_34": 0.0, "AGE_35_44": 7.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.73, "AVG_HHSIZE": 1.91, "BG": "390610021002", "BLACK": 36.0, "BLOCK": "390610021002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2042.0725, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 669254.0, "IN_HOUSEHO": 42.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 4.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.71, "POPULATION": 42.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49864800046372, 39.1230599998741, -84.49804300046377, 39.123760999874065], "geometry": {"coordinates": [[[-84.49864300046372, 39.1230599998741], [-84.49864800046372, 39.123760999874065], [-84.49804300046377, 39.12375999987406], [-84.49816800046375, 39.123062999874136], [-84.49864300046372, 39.1230599998741]]], "type": "Polygon"}, "id": "336", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.94, "BG": "390610021002", "BLACK": 32.0, "BLOCK": "390610021002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23607.9351, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 669279.0, "IN_HOUSEHO": 33.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 33.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49824300046375, 39.12225999987419, -84.49724300046388, 39.126059999873846], "geometry": {"coordinates": [[[-84.49784300046382, 39.125259999873926], [-84.49784300046382, 39.126059999873846], [-84.49724300046388, 39.126059999873846], [-84.49764300046381, 39.12295999987414], [-84.49784300046379, 39.12225999987419], [-84.49824300046375, 39.12225999987419], [-84.49816800046375, 39.123062999874136], [-84.49804300046377, 39.12375999987406], [-84.49784300046382, 39.125259999873926]]], "type": "Polygon"}, "id": "337", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669296.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046385, 39.122159999874214, -84.49594300046402, 39.125559999873886], "geometry": {"coordinates": [[[-84.49724300046385, 39.122159999874214], [-84.49704300046389, 39.12375999987407], [-84.49684300046391, 39.125259999873926], [-84.49680000046392, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49594300046402, 39.125559999873886], [-84.49595400046402, 39.12521199987394], [-84.496043000464, 39.124359999874024], [-84.49614300046399, 39.123659999874064], [-84.49624300046396, 39.122859999874166], [-84.49634300046394, 39.12215999987422], [-84.49724300046385, 39.122159999874214]]], "type": "Polygon"}, "id": "338", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 14.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.8, "BG": "390610021002", "BLACK": 18.0, "BLOCK": "390610021002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1575.7931, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 669317.0, "IN_HOUSEHO": 18.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 18.0, "RENTER_SIZ": 1.86, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49784300046379, 39.122159999874214, -84.49674300046394, 39.126059999873846], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49674300046394, 39.125959999873864], [-84.49680000046392, 39.125559999873886], [-84.49684300046391, 39.125259999873926], [-84.49704300046389, 39.12375999987407], [-84.49724300046385, 39.122159999874214], [-84.49784300046379, 39.12225999987419], [-84.49764300046381, 39.12295999987414], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "339", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669342.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49584300046398, 39.1180599998746, -84.49434300046414, 39.11955999987449], "geometry": {"coordinates": [[[-84.49584300046398, 39.1180599998746], [-84.49464300046412, 39.11955999987449], [-84.49434300046414, 39.11925999987448], [-84.49444300046413, 39.11805999987461], [-84.49584300046398, 39.1180599998746]]], "type": "Polygon"}, "id": "340", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 89.0, "AGE_20_24": 17.0, "AGE_21": 85.0, "AGE_25_34": 27.0, "AGE_35_44": 25.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 5.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.26, "AVG_HHSIZE": 1.89, "BG": "390610019002", "BLACK": 55.0, "BLOCK": "390610019002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25806.7736, "F1_RACE": 110.0, "F2_RACES": 9.0, "FEMALE": 64.0, "FEMALE_18": 50.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 63.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 63.0, "HU_VACANT": 5.0, "ID": 669361.0, "IN_HOUSEHO": 119.0, "MALE": 55.0, "MALE_18": 39.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 117.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.94, "POPULATION": 119.0, "RENTER_SIZ": 1.87, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 53.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49754300046378, 39.116359999874746, -84.49404300046417, 39.12085999987434], "geometry": {"coordinates": [[[-84.49694300046386, 39.119459999874465], [-84.49654300046392, 39.11965999987446], [-84.49564300046401, 39.12015999987439], [-84.4948430004641, 39.12045999987439], [-84.49434300046416, 39.12085999987434], [-84.49404300046417, 39.120359999874395], [-84.49464300046412, 39.11955999987449], [-84.49584300046398, 39.1180599998746], [-84.49724300046381, 39.116359999874746], [-84.49754300046378, 39.11645999987473], [-84.4964230004639, 39.11813999987458], [-84.49634300046392, 39.118259999874574], [-84.49694300046386, 39.119459999874465]]], "type": "Polygon"}, "id": "341", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.2116, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 669378.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49694300046387, 39.11965999987446, -84.49434300046416, 39.121359999874294], "geometry": {"coordinates": [[[-84.49694300046387, 39.12075999987434], [-84.49694300046387, 39.121359999874294], [-84.49644300046394, 39.121359999874294], [-84.49598100046398, 39.12130899987431], [-84.49554300046402, 39.121259999874304], [-84.49504300046408, 39.12125999987431], [-84.49454300046415, 39.121259999874304], [-84.49434300046416, 39.12085999987434], [-84.4948430004641, 39.12045999987439], [-84.49564300046401, 39.12015999987439], [-84.49654300046392, 39.11965999987446], [-84.49654300046392, 39.12055999987439], [-84.49694300046387, 39.12075999987434]]], "type": "Polygon"}, "id": "342", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 8.0, "BLOCK": "390610021002023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 840.433, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669402.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046381, 39.114159999874964, -84.49144300046446, 39.12015999987439], "geometry": {"coordinates": [[[-84.49724300046381, 39.116359999874746], [-84.49584300046398, 39.1180599998746], [-84.49444300046413, 39.11805999987461], [-84.49324300046426, 39.1179599998746], [-84.49318700046426, 39.118297999874606], [-84.4930430004643, 39.11915999987451], [-84.49294300046431, 39.12015999987439], [-84.49144300046446, 39.120059999874435], [-84.49184300046443, 39.11755999987466], [-84.49304300046427, 39.1148599998749], [-84.49364300046419, 39.114359999874964], [-84.4944430004641, 39.114159999874964], [-84.49514300046404, 39.11445999987495], [-84.49724300046381, 39.116359999874746]]], "type": "Polygon"}, "id": "343", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 18.0, "AGE_15_19": 11.0, "AGE_18": 178.0, "AGE_20_24": 26.0, "AGE_21": 169.0, "AGE_25_34": 66.0, "AGE_35_44": 41.0, "AGE_45_54": 15.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 9.0, "AP_WHITE": 80.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.05, "BG": "390610019002", "BLACK": 152.0, "BLOCK": "390610019002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3806.8143, "F1_RACE": 239.0, "F2_RACES": 5.0, "FEMALE": 116.0, "FEMALE_18": 90.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 49.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 12.0, "ID": 669426.0, "IN_HOUSEHO": 244.0, "MALE": 128.0, "MALE_18": 88.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 71.0, "NOT_HISPAN": 234.0, "OCCHU_OWNE": 36.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 1.61, "POPULATION": 244.0, "RENTER_SIZ": 2.24, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 77.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046412, 39.1179599998746, -84.49294300046431, 39.120359999874395], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49294300046431, 39.12015999987439], [-84.4930430004643, 39.11915999987451], [-84.49318700046426, 39.118297999874606], [-84.49324300046426, 39.1179599998746], [-84.49444300046413, 39.11805999987461], [-84.49434300046414, 39.11925999987448], [-84.49464300046412, 39.11955999987449], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "344", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 9.0, "AGE_18": 147.0, "AGE_20_24": 36.0, "AGE_21": 132.0, "AGE_25_34": 66.0, "AGE_35_44": 19.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 8.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 4.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.78, "BG": "390610019002", "BLACK": 29.0, "BLOCK": "390610019002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14508.3466, "F1_RACE": 153.0, "F2_RACES": 9.0, "FEMALE": 87.0, "FEMALE_18": 75.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 7.0, "ID": 669452.0, "IN_HOUSEHO": 162.0, "MALE": 75.0, "MALE_18": 72.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 116.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 162.0, "RENTER_SIZ": 1.84, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 118.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49404300046417, 39.12015999987439, -84.49284300046432, 39.12155999987428], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49284300046432, 39.12155999987428], [-84.49294300046431, 39.12015999987439], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "345", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.04, "BG": "390610019002", "BLACK": 8.0, "BLOCK": "390610019002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8653.9404, "F1_RACE": 24.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 5.0, "ID": 669472.0, "IN_HOUSEHO": 25.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49644300046394, 39.121259999874304, -84.49544300046405, 39.12215999987422], "geometry": {"coordinates": [[[-84.49644300046394, 39.121359999874294], [-84.49634300046394, 39.12215999987422], [-84.49585900046401, 39.12210599987421], [-84.49544300046405, 39.12205999987423], [-84.49554300046402, 39.121259999874304], [-84.49598100046398, 39.12130899987431], [-84.49644300046394, 39.121359999874294]]], "type": "Polygon"}, "id": "346", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 9.0, "AGE_20_24": 1.0, "AGE_21": 8.0, "AGE_25_34": 1.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.25, "BG": "390610021002", "BLACK": 13.0, "BLOCK": "390610021002021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4810.0321, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669489.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 13.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49634300046394, 39.12205999987423, -84.49534300046406, 39.122859999874166], "geometry": {"coordinates": [[[-84.49634300046394, 39.12215999987422], [-84.49624300046396, 39.122859999874166], [-84.49564300046403, 39.122859999874166], [-84.49534300046406, 39.122859999874166], [-84.49544300046405, 39.12205999987423], [-84.49585900046401, 39.12210599987421], [-84.49634300046394, 39.12215999987422]]], "type": "Polygon"}, "id": "347", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.0, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002022", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8337.3804, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 7.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669506.0, "IN_HOUSEHO": 21.0, "MALE": 8.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 21.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49554300046402, 39.121259999874304, -84.49494300046409, 39.12205999987423], "geometry": {"coordinates": [[[-84.49554300046402, 39.121259999874304], [-84.49544300046405, 39.12205999987423], [-84.49494300046409, 39.12205999987423], [-84.49504300046408, 39.12125999987431], [-84.49554300046402, 39.121259999874304]]], "type": "Polygon"}, "id": "348", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1350.0419, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 669525.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49504300046408, 39.121259999874304, -84.49454300046415, 39.12205999987423], "geometry": {"coordinates": [[[-84.49504300046408, 39.12125999987431], [-84.49494300046409, 39.12205999987423], [-84.49454300046415, 39.12205999987423], [-84.49454300046415, 39.121259999874304], [-84.49504300046408, 39.12125999987431]]], "type": "Polygon"}, "id": "349", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 24.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.21, "BG": "390610021002", "BLACK": 19.0, "BLOCK": "390610021002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23250.7626, "F1_RACE": 30.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 2.0, "ID": 669542.0, "IN_HOUSEHO": 31.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 31.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49544300046405, 39.12205999987423, -84.49464300046414, 39.12365999987408], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.49464300046414, 39.123559999874075], [-84.49484300046412, 39.122759999874155], [-84.49494300046409, 39.12205999987423], [-84.49544300046405, 39.12205999987423], [-84.49534300046406, 39.122859999874166], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "350", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 0.0, "AGE_21": 3.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 4.0, "BLOCK": "390610021002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1293.472, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 669560.0, "IN_HOUSEHO": 4.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49494300046409, 39.12205999987423, -84.49434300046417, 39.122759999874155], "geometry": {"coordinates": [[[-84.49494300046409, 39.12205999987423], [-84.49484300046412, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.49454300046415, 39.12205999987423], [-84.49494300046409, 39.12205999987423]]], "type": "Polygon"}, "id": "351", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 16.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 7.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.18, "BG": "390610021002", "BLACK": 24.0, "BLOCK": "390610021002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20572.187, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 669580.0, "IN_HOUSEHO": 24.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 24.0, "RENTER_SIZ": 2.14, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49624300046396, 39.122859999874166, -84.49554300046405, 39.12365999987408], "geometry": {"coordinates": [[[-84.49624300046396, 39.122859999874166], [-84.49614300046399, 39.123659999874064], [-84.49554300046405, 39.12365999987408], [-84.49564300046403, 39.122859999874166], [-84.49624300046396, 39.122859999874166]]], "type": "Polygon"}, "id": "352", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.2, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4924, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669597.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 16.0, "RENTER_SIZ": 3.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49564300046403, 39.122859999874166, -84.49524300046409, 39.12365999987408], "geometry": {"coordinates": [[[-84.49564300046403, 39.122859999874166], [-84.49554300046405, 39.12365999987408], [-84.49524300046409, 39.12365999987408], [-84.49534300046406, 39.122859999874166], [-84.49564300046403, 39.122859999874166]]], "type": "Polygon"}, "id": "353", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 14.0, "AGE_20_24": 0.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.4, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27001.427, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 9.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 671022.0, "IN_HOUSEHO": 24.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 24.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49614300046399, 39.123659999874064, -84.49544300046406, 39.124359999874024], "geometry": {"coordinates": [[[-84.49614300046399, 39.123659999874064], [-84.496043000464, 39.124359999874024], [-84.49544300046406, 39.124359999874024], [-84.49554300046405, 39.12365999987408], [-84.49614300046399, 39.123659999874064]]], "type": "Polygon"}, "id": "354", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 40.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 40.0, "BLOCK": "390610021001017", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 27001.7246, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 6.0, "ID": 671040.0, "IN_HOUSEHO": 42.0, "MALE": 14.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 42.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.496043000464, 39.124359999874024, -84.49534300046408, 39.12521199987394], "geometry": {"coordinates": [[[-84.496043000464, 39.124359999874024], [-84.49595400046402, 39.12521199987394], [-84.49534300046408, 39.12515999987395], [-84.49544300046406, 39.124359999874024], [-84.496043000464, 39.124359999874024]]], "type": "Polygon"}, "id": "355", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.2, "BG": "390610021001", "BLACK": 16.0, "BLOCK": "390610021001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8595.9685, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 4.0, "ID": 671057.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 16.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49524300046409, 39.123559999874075, -84.49464300046414, 39.124359999874024], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.4951430004641, 39.124359999874024], [-84.49464300046415, 39.124259999874035], [-84.49464300046414, 39.123559999874075], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "356", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.5, "BG": "390610021001", "BLACK": 4.0, "BLOCK": "390610021001019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4154.1275, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 671075.0, "IN_HOUSEHO": 6.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 47.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 6.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49484300046412, 39.122759999874155, -84.4942430004642, 39.1235599998741], "geometry": {"coordinates": [[[-84.49484300046412, 39.122759999874155], [-84.49464300046414, 39.123559999874075], [-84.4942430004642, 39.1235599998741], [-84.49434300046417, 39.122759999874155], [-84.49484300046412, 39.122759999874155]]], "type": "Polygon"}, "id": "357", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.71, "BG": "390610021002", "BLACK": 11.0, "BLOCK": "390610021002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4822, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 671092.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.123559999874075, -84.4941430004642, 39.124259999874035], "geometry": {"coordinates": [[[-84.49464300046414, 39.123559999874075], [-84.49464300046415, 39.124259999874035], [-84.4941430004642, 39.124259999874035], [-84.4942430004642, 39.1235599998741], [-84.49464300046414, 39.123559999874075]]], "type": "Polygon"}, "id": "358", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 19.0, "AGE_20_24": 0.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610021001", "BLACK": 28.0, "BLOCK": "390610021001020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24001.518, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 671110.0, "IN_HOUSEHO": 28.0, "MALE": 16.0, "MALE_18": 10.0, "MALE_65": 4.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 28.0, "RENTER_SIZ": 2.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49554300046405, 39.12365999987408, -84.4951430004641, 39.124359999874024], "geometry": {"coordinates": [[[-84.49554300046405, 39.12365999987408], [-84.49544300046406, 39.124359999874024], [-84.4951430004641, 39.124359999874024], [-84.49524300046409, 39.12365999987408], [-84.49554300046405, 39.12365999987408]]], "type": "Polygon"}, "id": "359", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.33, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25715.9008, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 5.0, "ID": 671127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 3.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 3.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49544300046406, 39.124359999874024, -84.49504300046412, 39.12515999987397], "geometry": {"coordinates": [[[-84.49544300046406, 39.124359999874024], [-84.49534300046408, 39.12515999987395], [-84.49504300046412, 39.12515999987397], [-84.4951430004641, 39.124359999874024], [-84.49544300046406, 39.124359999874024]]], "type": "Polygon"}, "id": "360", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 1.0, "AGE_21": 3.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 3.0, "BLOCK": "390610021001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3375.2483, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671145.0, "IN_HOUSEHO": 3.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4951430004641, 39.124259999874035, -84.49454300046416, 39.12515999987397], "geometry": {"coordinates": [[[-84.4951430004641, 39.124359999874024], [-84.49504300046412, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49464300046415, 39.124259999874035], [-84.4951430004641, 39.124359999874024]]], "type": "Polygon"}, "id": "361", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 4.0, "AGE_21": 6.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.67, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6907.4625, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 671162.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.124259999874035, -84.49404300046422, 39.12515999987397], "geometry": {"coordinates": [[[-84.49464300046415, 39.124259999874035], [-84.49454300046416, 39.12515999987397], [-84.49404300046422, 39.12515999987397], [-84.4941430004642, 39.124259999874035], [-84.49464300046415, 39.124259999874035]]], "type": "Polygon"}, "id": "362", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 14.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 18.0, "BLOCK": "390610021001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10800.8025, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 7.0, "ID": 671180.0, "IN_HOUSEHO": 18.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 18.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49454300046415, 39.12085999987434, -84.49344300046427, 39.12275999987419], "geometry": {"coordinates": [[[-84.49454300046415, 39.12205999987423], [-84.49434300046417, 39.122759999874155], [-84.49394300046423, 39.122759999874155], [-84.49344300046427, 39.12275999987419], [-84.49354300046426, 39.121759999874264], [-84.49434300046416, 39.12085999987434], [-84.49454300046415, 39.121259999874304], [-84.49454300046415, 39.12205999987423]]], "type": "Polygon"}, "id": "363", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 1.0, "AGE_21": 29.0, "AGE_25_34": 10.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 41.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.47, "BG": "390610021001", "BLACK": 41.0, "BLOCK": "390610021001027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8574.633, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671197.0, "IN_HOUSEHO": 47.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 47.0, "RENTER_SIZ": 2.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49434300046416, 39.120359999874395, -84.49094300046455, 39.12395999987406], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49434300046416, 39.12085999987434], [-84.49354300046426, 39.121759999874264], [-84.49284300046433, 39.12305999987415], [-84.49174300046447, 39.1236599998741], [-84.49114300046453, 39.12385999987407], [-84.49094300046455, 39.12395999987406], [-84.49134300046451, 39.12325999987412], [-84.49234300046437, 39.122159999874235], [-84.49284300046432, 39.12155999987428], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "364", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671217.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49434300046417, 39.122759999874155, -84.49334300046428, 39.1235599998741], "geometry": {"coordinates": [[[-84.4942430004642, 39.1235599998741], [-84.49334300046428, 39.12345999987411], [-84.49344300046427, 39.12275999987419], [-84.49394300046423, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.4942430004642, 39.1235599998741]]], "type": "Polygon"}, "id": "365", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.71, "BG": "390610021001", "BLACK": 9.0, "BLOCK": "390610021001028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4764.9242, "F1_RACE": 10.0, "F2_RACES": 2.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 10.0, "ID": 671240.0, "IN_HOUSEHO": 12.0, "MALE": 7.0, "MALE_18": 6.0, "MALE_65": 3.0, "MEDIAN_AGE": 55.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4942430004642, 39.12345999987411, -84.49324300046429, 39.124259999874035], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.4942430004642, 39.1235599998741], [-84.4941430004642, 39.124259999874035], [-84.49324300046429, 39.12415999987405], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "366", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 18.0, "AGE_20_24": 2.0, "AGE_21": 14.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 3.71, "BG": "390610021001", "BLACK": 26.0, "BLOCK": "390610021001021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10969.3932, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 4.0, "ID": 671258.0, "IN_HOUSEHO": 26.0, "MALE": 15.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 26.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4941430004642, 39.12415999987405, -84.4931430004643, 39.12515999987397], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49314300046431, 39.12505999987396], [-84.4931430004643, 39.12455999987401], [-84.49324300046429, 39.12415999987405], [-84.4941430004642, 39.124259999874035], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "367", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 30.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 3.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 8.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.57, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11503.7908, "F1_RACE": 34.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 671275.0, "IN_HOUSEHO": 36.0, "MALE": 12.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 57.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 36.0, "RENTER_SIZ": 1.47, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49354300046426, 39.121759999874264, -84.49174300046447, 39.12415999987405], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.49324300046429, 39.12415999987405], [-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.1236599998741], [-84.49284300046433, 39.12305999987415], [-84.49354300046426, 39.121759999874264], [-84.49344300046427, 39.12275999987419], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "368", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 1.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.54, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001022", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5241.5001, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 3.0, "ID": 671294.0, "IN_HOUSEHO": 33.0, "MALE": 16.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 33.0, "RENTER_SIZ": 3.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49324300046429, 39.12405999987406, -84.49174300046447, 39.12455999987401], "geometry": {"coordinates": [[[-84.49324300046429, 39.12415999987405], [-84.4931430004643, 39.12455999987401], [-84.49174300046447, 39.12445999987402], [-84.49174300046447, 39.12405999987406], [-84.49324300046429, 39.12415999987405]]], "type": "Polygon"}, "id": "369", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 1.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 923.1415, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671314.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12445999987402, -84.49164300046446, 39.12505999987396], "geometry": {"coordinates": [[[-84.4931430004643, 39.12455999987401], [-84.49314300046431, 39.12505999987396], [-84.49164300046446, 39.12495999987399], [-84.49174300046447, 39.12445999987402], [-84.4931430004643, 39.12455999987401]]], "type": "Polygon"}, "id": "370", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 21.0, "BLOCK": "390610021001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7767.719, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 671331.0, "IN_HOUSEHO": 21.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 21.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49324300046423, 39.112659999875135, -84.4890430004647, 39.120059999874435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.49034300046458, 39.120059999874435], [-84.49044300046458, 39.119859999874464], [-84.49064300046453, 39.11755999987468], [-84.49024300046457, 39.1172599998747], [-84.49044300046457, 39.116859999874734], [-84.4890430004647, 39.11665999987475], [-84.48954300046464, 39.11585999987483], [-84.49114300046446, 39.11445999987497], [-84.49144300046441, 39.11305999987509], [-84.49224300046434, 39.112659999875135], [-84.49314300046423, 39.11305999987508], [-84.49324300046423, 39.11405999987497], [-84.49304300046427, 39.1148599998749], [-84.49184300046443, 39.11755999987466], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "371", "properties": {"AGE_0_5": 34.0, "AGE_10_14": 17.0, "AGE_15_19": 20.0, "AGE_18": 116.0, "AGE_20_24": 19.0, "AGE_21": 105.0, "AGE_25_34": 36.0, "AGE_35_44": 18.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 26.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 161.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 40.0, "AREA": 0.05, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.27, "BG": "390610019001", "BLACK": 159.0, "BLOCK": "390610019001012", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4085.8467, "F1_RACE": 201.0, "F2_RACES": 3.0, "FEMALE": 121.0, "FEMALE_18": 74.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 90.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 90.0, "HU_VACANT": 25.0, "ID": 671366.0, "IN_HOUSEHO": 204.0, "MALE": 83.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 204.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.78, "POPULATION": 204.0, "RENTER_SIZ": 2.39, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 37.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49144300046446, 39.11995999987445, -84.48984300046465, 39.12105999987435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.4913430004645, 39.12105999987435], [-84.48984300046465, 39.12095999987435], [-84.48994300046463, 39.11995999987445], [-84.49034300046458, 39.120059999874435], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "372", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 35.0, "AGE_20_24": 4.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.79, "BG": "390610019001", "BLACK": 33.0, "BLOCK": "390610019001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7979.4739, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671465.0, "IN_HOUSEHO": 34.0, "MALE": 23.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 10.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49044300046457, 39.11665999987475, -84.48834300046478, 39.11745999987466], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.48964300046464, 39.117059999874705], [-84.48954300046465, 39.11745999987466], [-84.48834300046478, 39.11725999987471], [-84.4890430004647, 39.11665999987475], [-84.49044300046457, 39.116859999874734], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "373", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 671484.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49064300046453, 39.117059999874705, -84.48934300046469, 39.119859999874464], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.49064300046453, 39.11755999987468], [-84.49044300046458, 39.119859999874464], [-84.48934300046469, 39.1195599998745], [-84.48954300046465, 39.11745999987466], [-84.48964300046464, 39.117059999874705], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "374", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 181.0, "AGE_20_24": 15.0, "AGE_21": 177.0, "AGE_25_34": 60.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 20.0, "AGE_62": 57.0, "AGE_65": 43.0, "AGE_65_74": 31.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 160.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.12, "AVG_HHSIZE": 1.6, "BG": "390610019001", "BLACK": 24.0, "BLOCK": "390610019001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18460.4258, "F1_RACE": 182.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 80.0, "FEMALE_65": 19.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 71.0, "HOUSEHOLDS": 113.0, "HSNG_UNITS": 124.0, "HU_OCCUPIE": 113.0, "HU_VACANT": 11.0, "ID": 671502.0, "IN_HOUSEHO": 181.0, "MALE": 106.0, "MALE_18": 101.0, "MALE_65": 24.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 155.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 44.0, "OCCHU_RENT": 69.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 187.0, "RENTER_SIZ": 1.51, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 156.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49044300046458, 39.11725999987471, -84.48784300046485, 39.120059999874435], "geometry": {"coordinates": [[[-84.49034300046458, 39.120059999874435], [-84.48994300046463, 39.11995999987445], [-84.4883430004648, 39.119959999874474], [-84.48784300046485, 39.118759999874584], [-84.48794300046484, 39.11825999987461], [-84.48804300046481, 39.11755999987469], [-84.48834300046478, 39.11725999987471], [-84.48954300046465, 39.11745999987466], [-84.48934300046469, 39.1195599998745], [-84.49044300046458, 39.119859999874464], [-84.49034300046458, 39.120059999874435]]], "type": "Polygon"}, "id": "375", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 49.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 17.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 48.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.36, "BG": "390610019001", "BLACK": 2.0, "BLOCK": "390610019001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3631.9362, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 1.0, "ID": 671518.0, "IN_HOUSEHO": 53.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 40.8, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.47, "POPULATION": 53.0, "RENTER_SIZ": 1.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 48.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49294300046431, 39.120059999874435, -84.4913430004645, 39.122159999874235], "geometry": {"coordinates": [[[-84.49294300046431, 39.12015999987439], [-84.49284300046432, 39.12155999987428], [-84.49234300046437, 39.122159999874235], [-84.4913430004645, 39.12205999987426], [-84.4913430004645, 39.12105999987435], [-84.49144300046446, 39.120059999874435], [-84.49294300046431, 39.12015999987439]]], "type": "Polygon"}, "id": "376", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 13.0, "AGE_18": 63.0, "AGE_20_24": 10.0, "AGE_21": 56.0, "AGE_25_34": 18.0, "AGE_35_44": 23.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 27.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.62, "BG": "390610019002", "BLACK": 71.0, "BLOCK": "390610019002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9108.6552, "F1_RACE": 94.0, "F2_RACES": 4.0, "FEMALE": 58.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 22.0, "GROUP_QUAR": 22.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 4.0, "ID": 671540.0, "IN_HOUSEHO": 76.0, "MALE": 40.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 96.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 98.0, "RENTER_SIZ": 2.74, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.4913430004645, 39.12095999987435, -84.48974300046466, 39.12205999987426], "geometry": {"coordinates": [[[-84.4913430004645, 39.12105999987435], [-84.4913430004645, 39.12205999987426], [-84.48974300046466, 39.121959999874264], [-84.48984300046465, 39.12095999987435], [-84.4913430004645, 39.12105999987435]]], "type": "Polygon"}, "id": "377", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.4, "BG": "390610019001", "BLACK": 17.0, "BLOCK": "390610019001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2951.8509, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 671560.0, "IN_HOUSEHO": 17.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 17.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49234300046437, 39.121959999874264, -84.48964300046468, 39.12325999987412], "geometry": {"coordinates": [[[-84.49134300046451, 39.12325999987412], [-84.48964300046468, 39.12315999987414], [-84.48974300046466, 39.121959999874264], [-84.4913430004645, 39.12205999987426], [-84.49234300046437, 39.122159999874235], [-84.49134300046451, 39.12325999987412]]], "type": "Polygon"}, "id": "378", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 14.0, "AGE_15_19": 14.0, "AGE_18": 107.0, "AGE_20_24": 7.0, "AGE_21": 102.0, "AGE_25_34": 14.0, "AGE_35_44": 31.0, "AGE_45_54": 16.0, "AGE_55_59": 11.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 13.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.24, "BG": "390610019001", "BLACK": 130.0, "BLOCK": "390610019001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15459.0754, "F1_RACE": 146.0, "F2_RACES": 2.0, "FEMALE": 84.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 73.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 7.0, "ID": 671577.0, "IN_HOUSEHO": 148.0, "MALE": 64.0, "MALE_18": 47.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 145.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.2, "POPULATION": 148.0, "RENTER_SIZ": 2.07, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.1236599998741, -84.49114300046453, 39.12445999987403], "geometry": {"coordinates": [[[-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.12445999987402], [-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12385999987407], [-84.49174300046447, 39.1236599998741], [-84.49174300046447, 39.12405999987406]]], "type": "Polygon"}, "id": "379", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671596.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.12445999987402, -84.49104300046453, 39.12525999987394], "geometry": {"coordinates": [[[-84.49164300046446, 39.12495999987399], [-84.49154300046447, 39.12525999987394], [-84.49104300046453, 39.12515999987397], [-84.49114300046453, 39.12485999987399], [-84.49114300046453, 39.12445999987403], [-84.49174300046447, 39.12445999987402], [-84.49164300046446, 39.12495999987399]]], "type": "Polygon"}, "id": "380", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 8.0, "AGE_20_24": 2.0, "AGE_21": 6.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.2, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7244.4205, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 9.0, "ID": 671614.0, "IN_HOUSEHO": 11.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 11.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50684300046272, 39.11195999987513, -84.50584300046286, 39.112559999875074], "geometry": {"coordinates": [[[-84.50684300046272, 39.11205999987513], [-84.50674300046276, 39.112559999875074], [-84.50641300046279, 39.11252299987507], [-84.50584300046286, 39.112459999875085], [-84.50594300046285, 39.11195999987513], [-84.50651600046277, 39.11202399987514], [-84.50684300046272, 39.11205999987513]]], "type": "Polygon"}, "id": "381", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 41.0, "AGE_20_24": 3.0, "AGE_21": 41.0, "AGE_25_34": 15.0, "AGE_35_44": 8.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.73, "BG": "390610018001", "BLACK": 7.0, "BLOCK": "390610018001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26427.5833, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 0.0, "ID": 665138.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.61, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50594300046285, 39.11195999987513, -84.50394300046305, 39.112459999875085], "geometry": {"coordinates": [[[-84.50594300046285, 39.11195999987513], [-84.50584300046286, 39.112459999875085], [-84.50394300046305, 39.11235999987508], [-84.50424300046303, 39.11195999987513], [-84.50594300046285, 39.11195999987513]]], "type": "Polygon"}, "id": "382", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 4.0, "AGE_21": 17.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.23, "BG": "390610018001", "BLACK": 17.0, "BLOCK": "390610018001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9547.7662, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 0.0, "ID": 665158.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 29.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 12.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50584300046286, 39.11235999987508, -84.50394300046305, 39.112859999875035], "geometry": {"coordinates": [[[-84.50584300046286, 39.112459999875085], [-84.50584300046286, 39.112859999875035], [-84.50394300046305, 39.112759999875045], [-84.50394300046305, 39.11235999987508], [-84.50584300046286, 39.112459999875085]]], "type": "Polygon"}, "id": "383", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 27.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 13.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.48, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12077.766, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 665175.0, "IN_HOUSEHO": 34.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 34.0, "RENTER_SIZ": 1.56, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 19.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.112759999875045, -84.50384300046308, 39.11365999987494], "geometry": {"coordinates": [[[-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11365999987494], [-84.50967000046245, 39.11361299987495], [-84.50654300046278, 39.11345999987498], [-84.50484300046296, 39.113259999875005], [-84.50384300046308, 39.11325999987501], [-84.50394300046305, 39.112759999875045], [-84.50584300046286, 39.112859999875035], [-84.50664300046277, 39.112959999875024], [-84.50754300046268, 39.112959999875024], [-84.50872100046254, 39.113050999875014], [-84.50884300046253, 39.11305999987503], [-84.50889600046254, 39.113072999874994], [-84.5092430004625, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.51064300046235, 39.11315999987501], [-84.51064300046235, 39.113459999874955]]], "type": "Polygon"}, "id": "384", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 161.0, "AGE_20_24": 16.0, "AGE_21": 154.0, "AGE_25_34": 67.0, "AGE_35_44": 38.0, "AGE_45_54": 15.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 7.0, "AGE_62": 13.0, "AGE_65": 8.0, "AGE_65_74": 3.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 96.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 108.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.09, "AVG_HHSIZE": 1.9, "BG": "390610018001", "BLACK": 95.0, "BLOCK": "390610018001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16653.418, "F1_RACE": 206.0, "F2_RACES": 1.0, "FEMALE": 99.0, "FEMALE_18": 73.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 75.0, "HOUSEHOLDS": 109.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 109.0, "HU_VACANT": 19.0, "ID": 665193.0, "IN_HOUSEHO": 207.0, "MALE": 108.0, "MALE_18": 88.0, "MALE_65": 4.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 63.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 1.57, "POPULATION": 207.0, "RENTER_SIZ": 2.14, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 107.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50754300046268, 39.112459999875085, -84.50584300046286, 39.112959999875024], "geometry": {"coordinates": [[[-84.50754300046268, 39.11255999987504], [-84.50754300046268, 39.112959999875024], [-84.50664300046277, 39.112959999875024], [-84.50584300046286, 39.112859999875035], [-84.50584300046286, 39.112459999875085], [-84.50641300046279, 39.11252299987507], [-84.50674300046276, 39.112559999875074], [-84.50754300046268, 39.11255999987504]]], "type": "Polygon"}, "id": "385", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 74.0, "AGE_20_24": 7.0, "AGE_21": 74.0, "AGE_25_34": 31.0, "AGE_35_44": 13.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 68.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.59, "BG": "390610018001", "BLACK": 9.0, "BLOCK": "390610018001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 30734.8221, "F1_RACE": 78.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 32.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 0.0, "ID": 665219.0, "IN_HOUSEHO": 78.0, "MALE": 44.0, "MALE_18": 42.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.93, "POPULATION": 78.0, "RENTER_SIZ": 1.46, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 68.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.113259999875005, -84.50474300046298, 39.11755999987458], "geometry": {"coordinates": [[[-84.50914300046253, 39.11735999987462], [-84.50874300046257, 39.11755999987458], [-84.50804300046265, 39.1174599998746], [-84.50814300046262, 39.116659999874656], [-84.50714300046275, 39.11655999987471], [-84.50734300046271, 39.11495999987483], [-84.50634300046282, 39.114859999874874], [-84.5064430004628, 39.11435999987489], [-84.50474300046298, 39.11415999987494], [-84.50478100046298, 39.11381799987495], [-84.50484300046296, 39.113259999875005], [-84.50654300046278, 39.11345999987498], [-84.50967000046245, 39.11361299987495], [-84.51064300046235, 39.11365999987494], [-84.51054300046238, 39.11465999987484], [-84.51044300046239, 39.11525899987483], [-84.5103430004624, 39.11575999987474], [-84.5103430004624, 39.116059999874714], [-84.51014300046242, 39.117259999874626], [-84.50964300046249, 39.11725999987464], [-84.50914300046253, 39.11735999987462]]], "type": "Polygon"}, "id": "386", "properties": {"AGE_0_5": 29.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 211.0, "AGE_20_24": 31.0, "AGE_21": 195.0, "AGE_25_34": 58.0, "AGE_35_44": 42.0, "AGE_45_54": 30.0, "AGE_55_59": 6.0, "AGE_5_9": 33.0, "AGE_60_64": 12.0, "AGE_62": 36.0, "AGE_65": 25.0, "AGE_65_74": 11.0, "AGE_75_84": 10.0, "AGE_85": 4.0, "AMINDIAN": 6.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 189.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 10.0, "AP_WHITE": 96.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.9, "AVG_HHSIZE": 2.1, "BG": "390610018002", "BLACK": 186.0, "BLOCK": "390610018002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5712.5373, "F1_RACE": 294.0, "F2_RACES": 4.0, "FEMALE": 167.0, "FEMALE_18": 120.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 70.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 142.0, "HSNG_UNITS": 187.0, "HU_OCCUPIE": 142.0, "HU_VACANT": 45.0, "ID": 665239.0, "IN_HOUSEHO": 298.0, "MALE": 131.0, "MALE_18": 91.0, "MALE_65": 11.0, "MEDIAN_AGE": 28.6, "MSA": "1640", "NH_WHITE": 92.0, "NOT_HISPAN": 298.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 102.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 1.83, "POPULATION": 298.0, "RENTER_SIZ": 2.21, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 92.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50734300046271, 39.114859999874874, -84.50614300046284, 39.11655999987471], "geometry": {"coordinates": [[[-84.50734300046271, 39.11495999987483], [-84.50714300046275, 39.11655999987471], [-84.50614300046284, 39.11655999987471], [-84.50624300046285, 39.115859999874736], [-84.50634300046282, 39.114859999874874], [-84.50734300046271, 39.11495999987483]]], "type": "Polygon"}, "id": "387", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 4.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 8.0, "AGE_21": 55.0, "AGE_25_34": 23.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 14.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 94.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.27, "BG": "390610018002", "BLACK": 2.0, "BLOCK": "390610018002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16084.1922, "F1_RACE": 98.0, "F2_RACES": 0.0, "FEMALE": 57.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 665273.0, "IN_HOUSEHO": 98.0, "MALE": 41.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 94.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 98.0, "RENTER_SIZ": 2.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 94.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5064430004628, 39.11415999987494, -84.504643000463, 39.114859999874874], "geometry": {"coordinates": [[[-84.5064430004628, 39.11435999987489], [-84.50634300046282, 39.114859999874874], [-84.504643000463, 39.11475999987486], [-84.50474300046298, 39.11415999987494], [-84.5064430004628, 39.11435999987489]]], "type": "Polygon"}, "id": "388", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 1.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 6.0, "AGE_21": 34.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.35, "BG": "390610018003", "BLACK": 45.0, "BLOCK": "390610018003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17335.6307, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 665292.0, "IN_HOUSEHO": 61.0, "MALE": 25.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.67, "POPULATION": 61.0, "RENTER_SIZ": 2.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50634300046282, 39.11475999987486, -84.50454300046302, 39.115859999874736], "geometry": {"coordinates": [[[-84.50634300046282, 39.114859999874874], [-84.50624300046285, 39.115859999874736], [-84.50454300046302, 39.11575999987477], [-84.504597000463, 39.11522299987483], [-84.504643000463, 39.11475999987486], [-84.50634300046282, 39.114859999874874]]], "type": "Polygon"}, "id": "389", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 8.0, "AGE_15_19": 69.0, "AGE_18": 189.0, "AGE_20_24": 95.0, "AGE_21": 96.0, "AGE_25_34": 15.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 7.0, "AP_OTHER": 4.0, "AP_WHITE": 157.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.7, "BG": "390610018003", "BLACK": 44.0, "BLOCK": "390610018003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 33790.5296, "F1_RACE": 210.0, "F2_RACES": 4.0, "FEMALE": 119.0, "FEMALE_18": 104.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 160.0, "GROUP_QUAR": 160.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 665309.0, "IN_HOUSEHO": 54.0, "MALE": 95.0, "MALE_18": 85.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.7, "MSA": "1640", "NH_WHITE": 150.0, "NOT_HISPAN": 207.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.8, "POPULATION": 214.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 156.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50624300046285, 39.11565999987479, -84.50354300046311, 39.11655999987471], "geometry": {"coordinates": [[[-84.50454300046302, 39.11575999987477], [-84.50624300046285, 39.115859999874736], [-84.50614300046284, 39.11655999987471], [-84.50354300046313, 39.116359999874724], [-84.50354300046311, 39.11565999987479], [-84.50454300046302, 39.11575999987477]]], "type": "Polygon"}, "id": "390", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 6.0, "AGE_15_19": 16.0, "AGE_18": 73.0, "AGE_20_24": 10.0, "AGE_21": 65.0, "AGE_25_34": 12.0, "AGE_35_44": 20.0, "AGE_45_54": 15.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 35.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.34, "BG": "390610018003", "BLACK": 68.0, "BLOCK": "390610018003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15195.927, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 51.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 7.0, "ID": 665327.0, "IN_HOUSEHO": 103.0, "MALE": 53.0, "MALE_18": 36.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.2, "MSA": "1640", "NH_WHITE": 35.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.95, "POPULATION": 103.0, "RENTER_SIZ": 2.64, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 35.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50484300046296, 39.113259999875005, -84.5037430004631, 39.11415999987494], "geometry": {"coordinates": [[[-84.50484300046296, 39.113259999875005], [-84.50478100046298, 39.11381799987495], [-84.50474300046298, 39.11415999987494], [-84.5037430004631, 39.11415999987494], [-84.50384300046308, 39.11325999987501], [-84.50484300046296, 39.113259999875005]]], "type": "Polygon"}, "id": "391", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 22.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.41, "BG": "390610018002", "BLACK": 6.0, "BLOCK": "390610018002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7199.4118, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 665508.0, "IN_HOUSEHO": 24.0, "MALE": 14.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.14, "POPULATION": 24.0, "RENTER_SIZ": 1.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 18.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50474300046298, 39.11415999987494, -84.5037430004631, 39.11475999987486], "geometry": {"coordinates": [[[-84.50474300046298, 39.11415999987494], [-84.504643000463, 39.11475999987486], [-84.5037430004631, 39.11465999987489], [-84.5037430004631, 39.11415999987494], [-84.50474300046298, 39.11415999987494]]], "type": "Polygon"}, "id": "392", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.2, "BG": "390610018003", "BLACK": 7.0, "BLOCK": "390610018003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5656.7291, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 665526.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 11.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50894300046254, 39.111059999875216, -84.5001430004635, 39.117559999874615], "geometry": {"coordinates": [[[-84.50354300046313, 39.116359999874724], [-84.50374300046313, 39.11735999987465], [-84.50274300046323, 39.11735999987464], [-84.50174300046334, 39.117459999874605], [-84.5001430004635, 39.117559999874615], [-84.50034300046349, 39.11595999987476], [-84.50034300046349, 39.115659999874794], [-84.5017430004633, 39.113559999875015], [-84.50204200046329, 39.11314099987504], [-84.50224300046324, 39.11285999987504], [-84.50339500046312, 39.11121399987522], [-84.5034840004631, 39.1112009998752], [-84.50424300046303, 39.111059999875216], [-84.50511600046293, 39.111270999875174], [-84.50714300046272, 39.11175999987512], [-84.50748200046267, 39.11186199987511], [-84.50811600046262, 39.11204699987508], [-84.50894300046254, 39.112259999875086], [-84.50764300046268, 39.112159999875075], [-84.50684300046272, 39.11205999987513], [-84.50651600046277, 39.11202399987514], [-84.50594300046285, 39.11195999987513], [-84.50424300046303, 39.11195999987513], [-84.50394300046305, 39.11235999987508], [-84.50394300046305, 39.112759999875045], [-84.50384300046308, 39.11325999987501], [-84.5037430004631, 39.11415999987494], [-84.5037430004631, 39.11465999987489], [-84.50354300046311, 39.11565999987479], [-84.50354300046313, 39.116359999874724]]], "type": "Polygon"}, "id": "393", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 5.0, "AGE_18": 249.0, "AGE_20_24": 31.0, "AGE_21": 240.0, "AGE_25_34": 78.0, "AGE_35_44": 69.0, "AGE_45_54": 39.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 3.0, "AP_BLACK": 152.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 107.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610018001", "BLACK": 146.0, "BLOCK": "390610018001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4187.3135, "F1_RACE": 256.0, "F2_RACES": 8.0, "FEMALE": 145.0, "FEMALE_18": 137.0, "FEMALE_65": 9.0, "GQ_INSTITU": 131.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 131.0, "HAWAIIAN": 2.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 7.0, "ID": 665544.0, "IN_HOUSEHO": 133.0, "MALE": 119.0, "MALE_18": 112.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.6, "MSA": "1640", "NH_WHITE": 100.0, "NOT_HISPAN": 263.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.07, "POPULATION": 264.0, "RENTER_SIZ": 1.55, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 100.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.504643000463, 39.11465999987489, -84.50354300046311, 39.11575999987477], "geometry": {"coordinates": [[[-84.504643000463, 39.11475999987486], [-84.504597000463, 39.11522299987483], [-84.50454300046302, 39.11575999987477], [-84.50354300046311, 39.11565999987479], [-84.5037430004631, 39.11465999987489], [-84.504643000463, 39.11475999987486]]], "type": "Polygon"}, "id": "394", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 2.0, "AGE_35_44": 11.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 1.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11748.7157, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 665585.0, "IN_HOUSEHO": 42.0, "MALE": 22.0, "MALE_18": 15.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 2.55, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50224300046324, 39.112759999875045, -84.49944300046359, 39.11755999987462], "geometry": {"coordinates": [[[-84.50184300046328, 39.11285999987504], [-84.50224300046324, 39.11285999987504], [-84.50204200046329, 39.11314099987504], [-84.5017430004633, 39.113559999875015], [-84.50034300046349, 39.115659999874794], [-84.50034300046349, 39.11595999987476], [-84.5001430004635, 39.117559999874615], [-84.49944300046359, 39.11755999987462], [-84.49964300046355, 39.11715999987465], [-84.49974300046355, 39.1169599998747], [-84.50044300046345, 39.114359999874935], [-84.50064300046343, 39.11375999987498], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.113159999875045], [-84.50074300046342, 39.11285999987504], [-84.5008430004634, 39.112759999875045], [-84.50104300046338, 39.11285999987504], [-84.50184300046328, 39.11285999987504]]], "type": "Polygon"}, "id": "395", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002032", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 665602.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50814300046262, 39.11655999987471, -84.50704300046277, 39.117459999874605], "geometry": {"coordinates": [[[-84.50814300046262, 39.116659999874656], [-84.50804300046265, 39.1174599998746], [-84.50704300046277, 39.117459999874605], [-84.50714300046275, 39.11655999987471], [-84.50814300046262, 39.116659999874656]]], "type": "Polygon"}, "id": "396", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 44.0, "AGE_20_24": 7.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.35, "BG": "390610018002", "BLACK": 54.0, "BLOCK": "390610018002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19262.5134, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 2.0, "ID": 665632.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 61.0, "RENTER_SIZ": 2.33, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50874300046257, 39.11735999987464, -84.50594300046288, 39.118259999874546], "geometry": {"coordinates": [[[-84.50804300046265, 39.1174599998746], [-84.50874300046257, 39.11755999987458], [-84.5086430004626, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50594300046288, 39.118059999874546], [-84.50604300046285, 39.11735999987464], [-84.50704300046277, 39.117459999874605], [-84.50804300046265, 39.1174599998746]]], "type": "Polygon"}, "id": "397", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 53.0, "AGE_20_24": 6.0, "AGE_21": 53.0, "AGE_25_34": 15.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 33.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 2.0, "BG": "390610018002", "BLACK": 34.0, "BLOCK": "390610018002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9587.1918, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 5.0, "ID": 665650.0, "IN_HOUSEHO": 68.0, "MALE": 35.0, "MALE_18": 26.0, "MALE_65": 4.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 68.0, "RENTER_SIZ": 2.04, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50854300046262, 39.118059999874546, -84.50574300046291, 39.11985999987439], "geometry": {"coordinates": [[[-84.50854300046262, 39.11965999987441], [-84.50844300046263, 39.11985999987439], [-84.50574300046291, 39.11965999987443], [-84.50594300046288, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.11965999987441]]], "type": "Polygon"}, "id": "398", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 40.0, "AGE_15_19": 129.0, "AGE_18": 39.0, "AGE_20_24": 7.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 159.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.23, "BG": "390610022002", "BLACK": 145.0, "BLOCK": "390610022002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12815.5717, "F1_RACE": 188.0, "F2_RACES": 18.0, "FEMALE": 57.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 169.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 169.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 56.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 26.0, "ID": 665671.0, "IN_HOUSEHO": 37.0, "MALE": 149.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 16.3, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 203.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 206.0, "RENTER_SIZ": 1.23, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 42.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50984300046241, 39.112259999875086, -84.50889600046254, 39.11315999987501], "geometry": {"coordinates": [[[-84.50984300046241, 39.112259999875086], [-84.50964300046245, 39.113159999875], [-84.5092430004625, 39.11315999987501], [-84.50889600046254, 39.113072999874994], [-84.50902300046252, 39.112259999875086], [-84.50934300046248, 39.112259999875086], [-84.50974300046244, 39.112259999875086], [-84.50984300046241, 39.112259999875086]]], "type": "Polygon"}, "id": "399", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 63.0, "AGE_20_24": 9.0, "AGE_21": 60.0, "AGE_25_34": 30.0, "AGE_35_44": 16.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 39.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.51, "BG": "390610018001", "BLACK": 33.0, "BLOCK": "390610018001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 28721.4807, "F1_RACE": 69.0, "F2_RACES": 5.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 13.0, "ID": 654795.0, "IN_HOUSEHO": 74.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 74.0, "RENTER_SIZ": 1.51, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 36.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51244300046214, 39.11235999987505, -84.51144300046225, 39.11365999987494], "geometry": {"coordinates": [[[-84.51234300046217, 39.112759999874996], [-84.51224300046218, 39.11365999987494], [-84.51144300046225, 39.113559999874965], [-84.51154300046225, 39.11235999987505], [-84.5118430004622, 39.11235999987505], [-84.51244300046214, 39.11245999987508], [-84.51234300046217, 39.112759999874996]]], "type": "Polygon"}, "id": "400", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 3.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.08, "BG": "390610017002", "BLACK": 35.0, "BLOCK": "390610017002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13233.9894, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 654816.0, "IN_HOUSEHO": 50.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 50.0, "RENTER_SIZ": 2.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 13.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51234300046217, 39.11435999987488, -84.51194300046222, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51234300046217, 39.11465999987484], [-84.51194300046222, 39.114859999874845], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "401", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610017002", "BLACK": 0.0, "BLOCK": "390610017002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 654853.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51154300046225, 39.112259999875086, -84.51064300046235, 39.113559999874965], "geometry": {"coordinates": [[[-84.51154300046225, 39.11235999987505], [-84.51144300046225, 39.113559999874965], [-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11315999987501], [-84.51074300046233, 39.112259999875086], [-84.51124300046226, 39.11235999987505], [-84.51154300046225, 39.11235999987505]]], "type": "Polygon"}, "id": "402", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 8.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.69, "BG": "390610017002", "BLACK": 36.0, "BLOCK": "390610017002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12246.3169, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 16.0, "ID": 654869.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 18.0, "MALE_65": 3.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 44.0, "RENTER_SIZ": 1.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51224300046218, 39.113459999874955, -84.51054300046238, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51194300046222, 39.114859999874845], [-84.51124300046229, 39.114759999874835], [-84.51054300046238, 39.11465999987484], [-84.51064300046235, 39.11365999987494], [-84.51064300046235, 39.113459999874955], [-84.51144300046225, 39.113559999874965], [-84.51224300046218, 39.11365999987494], [-84.51224300046218, 39.11385999987491], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "403", "properties": {"AGE_0_5": 25.0, "AGE_10_14": 15.0, "AGE_15_19": 17.0, "AGE_18": 67.0, "AGE_20_24": 20.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 22.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 133.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 8.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 3.02, "BG": "390610017002", "BLACK": 133.0, "BLOCK": "390610017002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20337.9547, "F1_RACE": 142.0, "F2_RACES": 0.0, "FEMALE": 93.0, "FEMALE_18": 47.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 5.0, "ID": 654889.0, "IN_HOUSEHO": 142.0, "MALE": 49.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 142.0, "RENTER_SIZ": 3.02, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 8.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51074300046233, 39.112259999875086, -84.50964300046245, 39.11315999987501], "geometry": {"coordinates": [[[-84.51074300046233, 39.112259999875086], [-84.51064300046235, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.50984300046241, 39.112259999875086], [-84.51074300046233, 39.112259999875086]]], "type": "Polygon"}, "id": "404", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 9.0, "AGE_21": 37.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 22.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.7, "AVG_HHSIZE": 1.84, "BG": "390610018001", "BLACK": 23.0, "BLOCK": "390610018001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14524.9091, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 6.0, "ID": 654930.0, "IN_HOUSEHO": 46.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 46.0, "RENTER_SIZ": 1.95, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 21.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51724400046167, 39.11885999987444, -84.51494400046192, 39.120659999874285], "geometry": {"coordinates": [[[-84.51724400046167, 39.11925999987439], [-84.5160440004618, 39.12025999987432], [-84.51574400046184, 39.120659999874285], [-84.5153440004619, 39.12035999987432], [-84.51494400046192, 39.12005999987433], [-84.51544400046188, 39.11965999987435], [-84.51664400046174, 39.11885999987444], [-84.51724400046167, 39.11925999987439]]], "type": "Polygon"}, "id": "405", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 13.0, "AGE_15_19": 4.0, "AGE_18": 78.0, "AGE_20_24": 8.0, "AGE_21": 76.0, "AGE_25_34": 27.0, "AGE_35_44": 21.0, "AGE_45_54": 8.0, "AGE_55_59": 8.0, "AGE_5_9": 11.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 75.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.85, "AVG_HHSIZE": 2.73, "BG": "390610023001", "BLACK": 75.0, "BLOCK": "390610023001017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17728.9634, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 35.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 49.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 654989.0, "IN_HOUSEHO": 60.0, "MALE": 74.0, "MALE_18": 60.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 108.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 109.0, "RENTER_SIZ": 2.81, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51664400046174, 39.11835999987448, -84.51434300046199, 39.12005999987433], "geometry": {"coordinates": [[[-84.51644400046175, 39.118559999874456], [-84.51664400046174, 39.11885999987444], [-84.51544400046188, 39.11965999987435], [-84.51494400046192, 39.12005999987433], [-84.51464300046196, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51484300046194, 39.11925999987439], [-84.51604400046179, 39.11835999987448], [-84.51644400046175, 39.118559999874456]]], "type": "Polygon"}, "id": "406", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 10.0, "AGE_15_19": 7.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 51.0, "AGE_25_34": 19.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.95, "AVG_HHSIZE": 2.69, "BG": "390610023001", "BLACK": 87.0, "BLOCK": "390610023001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16468.1683, "F1_RACE": 94.0, "F2_RACES": 0.0, "FEMALE": 49.0, "FEMALE_18": 28.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 655008.0, "IN_HOUSEHO": 94.0, "MALE": 45.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 94.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 94.0, "RENTER_SIZ": 2.94, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51404300046202, 39.118859999874445, -84.51264300046216, 39.12005999987433], "geometry": {"coordinates": [[[-84.51404300046202, 39.119859999874365], [-84.51374300046204, 39.12005999987433], [-84.51264300046216, 39.11905999987444], [-84.51294300046213, 39.118859999874445], [-84.51404300046202, 39.119859999874365]]], "type": "Polygon"}, "id": "407", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 18.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 21.0, "BLOCK": "390610023001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12980.7644, "F1_RACE": 21.0, "F2_RACES": 4.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 0.0, "ID": 655027.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 25.0, "RENTER_SIZ": 2.11, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51374300046204, 39.11905999987444, -84.51224300046222, 39.12025999987432], "geometry": {"coordinates": [[[-84.51264300046216, 39.11905999987444], [-84.51374300046204, 39.12005999987433], [-84.51344300046208, 39.12025999987432], [-84.51224300046222, 39.11925999987442], [-84.51264300046216, 39.11905999987444]]], "type": "Polygon"}, "id": "408", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 15.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.3, "BG": "390610023001", "BLACK": 20.0, "BLOCK": "390610023001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10706.9148, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655045.0, "IN_HOUSEHO": 23.0, "MALE": 11.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 23.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51574400046184, 39.12035999987432, -84.51384400046206, 39.12305999987405], "geometry": {"coordinates": [[[-84.5153440004619, 39.12035999987432], [-84.51574400046184, 39.120659999874285], [-84.51484400046195, 39.12165999987419], [-84.51444400046199, 39.12305999987405], [-84.51384400046206, 39.123059999874044], [-84.51454400046198, 39.121159999874216], [-84.5153440004619, 39.12035999987432]]], "type": "Polygon"}, "id": "409", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 0.0, "AGE_21": 27.0, "AGE_25_34": 3.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.7, "BG": "390610023001", "BLACK": 17.0, "BLOCK": "390610023001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5980.6488, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 9.0, "ID": 655093.0, "IN_HOUSEHO": 34.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5153440004619, 39.12005999987433, -84.5135430004621, 39.123059999874044], "geometry": {"coordinates": [[[-84.51494400046192, 39.12005999987433], [-84.5153440004619, 39.12035999987432], [-84.51454400046198, 39.121159999874216], [-84.51384400046206, 39.123059999874044], [-84.5135430004621, 39.12295999987407], [-84.51414300046201, 39.121059999874234], [-84.51494400046192, 39.12005999987433]]], "type": "Polygon"}, "id": "410", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 43.0, "AGE_20_24": 6.0, "AGE_21": 39.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 72.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.93, "AVG_HHSIZE": 2.96, "BG": "390610023001", "BLACK": 72.0, "BLOCK": "390610023001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15953.1883, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 655111.0, "IN_HOUSEHO": 74.0, "MALE": 34.0, "MALE_18": 17.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 74.0, "RENTER_SIZ": 3.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51494400046192, 39.11955999987439, -84.51294300046216, 39.12295999987407], "geometry": {"coordinates": [[[-84.51364300046208, 39.12075999987429], [-84.51344300046208, 39.12025999987432], [-84.51374300046204, 39.12005999987433], [-84.51404300046202, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51464300046196, 39.119859999874365], [-84.51494400046192, 39.12005999987433], [-84.51414300046201, 39.121059999874234], [-84.5135430004621, 39.12295999987407], [-84.51304300046216, 39.12295999987407], [-84.51314300046214, 39.12225999987413], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12125999987424], [-84.51364300046208, 39.12075999987429]]], "type": "Polygon"}, "id": "411", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 43.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 15.0, "AGE_60_64": 3.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.83, "BG": "390610023001", "BLACK": 78.0, "BLOCK": "390610023001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8435.8163, "F1_RACE": 81.0, "F2_RACES": 4.0, "FEMALE": 46.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 18.0, "ID": 655128.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.62, "POPULATION": 85.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51604400046179, 39.11465999987484, -84.50874300046257, 39.119859999874365], "geometry": {"coordinates": [[[-84.51194300046222, 39.114859999874845], [-84.51274300046212, 39.11555999987476], [-84.51354300046206, 39.11605999987469], [-84.51434300046198, 39.11685999987463], [-84.51604400046179, 39.11835999987448], [-84.51484300046194, 39.11925999987439], [-84.51434300046199, 39.11955999987439], [-84.51404300046202, 39.119859999874365], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11855999987446], [-84.51204300046221, 39.11905999987444], [-84.51199500046225, 39.119094999874434], [-84.51164300046227, 39.118859999874445], [-84.51152500046227, 39.11883199987446], [-84.5115430004623, 39.11875999987447], [-84.5114430004623, 39.11845999987449], [-84.51164300046227, 39.11775999987456], [-84.51114300046231, 39.11775999987456], [-84.51024300046244, 39.11765999987456], [-84.50874300046257, 39.11755999987458], [-84.50914300046253, 39.11735999987462], [-84.50964300046249, 39.11725999987464], [-84.51014300046242, 39.117259999874626], [-84.5103430004624, 39.116059999874714], [-84.5103430004624, 39.11575999987474], [-84.51044300046239, 39.11525899987483], [-84.51054300046238, 39.11465999987484], [-84.51124300046229, 39.114759999874835], [-84.51194300046222, 39.114859999874845]]], "type": "Polygon"}, "id": "412", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 12.0, "AGE_15_19": 24.0, "AGE_18": 208.0, "AGE_20_24": 35.0, "AGE_21": 191.0, "AGE_25_34": 65.0, "AGE_35_44": 28.0, "AGE_45_54": 41.0, "AGE_55_59": 12.0, "AGE_5_9": 26.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 2.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 2.0, "AP_BLACK": 169.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 108.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.96, "BG": "390610023001", "BLACK": 167.0, "BLOCK": "390610023001011", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4676.5279, "F1_RACE": 273.0, "F2_RACES": 6.0, "FEMALE": 158.0, "FEMALE_18": 117.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 28.0, "GROUP_QUAR": 28.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 80.0, "HOUSEHOLDS": 128.0, "HSNG_UNITS": 165.0, "HU_OCCUPIE": 128.0, "HU_VACANT": 37.0, "ID": 655154.0, "IN_HOUSEHO": 251.0, "MALE": 121.0, "MALE_18": 91.0, "MALE_65": 7.0, "MEDIAN_AGE": 28.9, "MSA": "1640", "NH_WHITE": 103.0, "NOT_HISPAN": 279.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.98, "POPULATION": 279.0, "RENTER_SIZ": 1.95, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 103.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5115430004623, 39.11835999987451, -84.51004300046245, 39.11915999987442], "geometry": {"coordinates": [[[-84.5114430004623, 39.11915999987442], [-84.51004300046245, 39.11905999987446], [-84.51024300046244, 39.11835999987451], [-84.5114430004623, 39.11845999987449], [-84.5115430004623, 39.11875999987447], [-84.51152500046227, 39.11883199987446], [-84.5114430004623, 39.11915999987442]]], "type": "Polygon"}, "id": "413", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 23.0, "AGE_15_19": 22.0, "AGE_18": 107.0, "AGE_20_24": 21.0, "AGE_21": 92.0, "AGE_25_34": 19.0, "AGE_35_44": 25.0, "AGE_45_54": 12.0, "AGE_55_59": 5.0, "AGE_5_9": 25.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 7.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.77, "BG": "390610023001", "BLACK": 180.0, "BLOCK": "390610023001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 54847.5451, "F1_RACE": 186.0, "F2_RACES": 8.0, "FEMALE": 108.0, "FEMALE_18": 65.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 87.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 17.0, "ID": 655191.0, "IN_HOUSEHO": 194.0, "MALE": 86.0, "MALE_18": 42.0, "MALE_65": 4.0, "MEDIAN_AGE": 20.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 192.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 194.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51294300046213, 39.11855999987446, -84.51199500046225, 39.11925999987442], "geometry": {"coordinates": [[[-84.51264300046216, 39.11855999987446], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11905999987444], [-84.51224300046222, 39.11925999987442], [-84.51199500046225, 39.119094999874434], [-84.51204300046221, 39.11905999987444], [-84.51264300046216, 39.11855999987446]]], "type": "Polygon"}, "id": "414", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 18.0, "BLOCK": "390610023001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18411.019, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 2.0, "ID": 655210.0, "IN_HOUSEHO": 20.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51164300046227, 39.11755999987458, -84.5086430004626, 39.11845999987449], "geometry": {"coordinates": [[[-84.51164300046227, 39.11775999987456], [-84.5114430004623, 39.11845999987449], [-84.51024300046244, 39.11835999987451], [-84.51014300046243, 39.11815999987453], [-84.5086430004626, 39.118059999874546], [-84.50874300046257, 39.11755999987458], [-84.51024300046244, 39.11765999987456], [-84.51114300046231, 39.11775999987456], [-84.51164300046227, 39.11775999987456]]], "type": "Polygon"}, "id": "415", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 11.0, "AGE_18": 67.0, "AGE_20_24": 5.0, "AGE_21": 62.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.76, "BG": "390610023001", "BLACK": 104.0, "BLOCK": "390610023001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18052.868, "F1_RACE": 110.0, "F2_RACES": 3.0, "FEMALE": 63.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 41.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 41.0, "HU_VACANT": 23.0, "ID": 655230.0, "IN_HOUSEHO": 113.0, "MALE": 50.0, "MALE_18": 21.0, "MALE_65": 3.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 112.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 113.0, "RENTER_SIZ": 2.49, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 6.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51024300046244, 39.118059999874546, -84.50854300046262, 39.11905999987446], "geometry": {"coordinates": [[[-84.51014300046243, 39.11815999987453], [-84.51024300046244, 39.11835999987451], [-84.51004300046245, 39.11905999987446], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.118259999874546], [-84.5086430004626, 39.118059999874546], [-84.51014300046243, 39.11815999987453]]], "type": "Polygon"}, "id": "416", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.63, "BG": "390610023001", "BLACK": 11.0, "BLOCK": "390610023001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2420.6561, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 655250.0, "IN_HOUSEHO": 13.0, "MALE": 3.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 1.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5114430004623, 39.11905999987446, -84.51004300046245, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.5114430004623, 39.11915999987442], [-84.51134300046232, 39.11975999987437], [-84.51004300046246, 39.11975999987439], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "417", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 1.0, "AGE_21": 16.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.89, "AVG_HHSIZE": 2.9, "BG": "390610023001", "BLACK": 25.0, "BLOCK": "390610023001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8897.7256, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 11.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655269.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.0, "POPULATION": 29.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51004300046246, 39.11895999987447, -84.50854300046262, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.51004300046246, 39.11975999987439], [-84.50854300046262, 39.11965999987441], [-84.50854300046262, 39.11895999987447], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "418", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 6.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 11.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.07, "BG": "390610023001", "BLACK": 57.0, "BLOCK": "390610023001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15428.5444, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 29.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 14.0, "ID": 655287.0, "IN_HOUSEHO": 60.0, "MALE": 27.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.0, "POPULATION": 60.0, "RENTER_SIZ": 1.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51364300046208, 39.11883199987446, -84.50834300046266, 39.1227599998741], "geometry": {"coordinates": [[[-84.51344300046208, 39.12025999987432], [-84.51364300046208, 39.12075999987429], [-84.51314300046214, 39.12125999987424], [-84.51294300046216, 39.121859999874175], [-84.51114300046235, 39.122159999874164], [-84.51074300046238, 39.12235999987413], [-84.50964300046252, 39.12235999987413], [-84.50954300046251, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50904300046258, 39.1227599998741], [-84.50834300046267, 39.12265999987413], [-84.50834300046266, 39.12195999987419], [-84.50834300046266, 39.121459999874226], [-84.50844300046265, 39.120459999874335], [-84.50844300046263, 39.11985999987439], [-84.50854300046262, 39.11965999987441], [-84.51004300046246, 39.11975999987439], [-84.51134300046232, 39.11975999987437], [-84.5114430004623, 39.11915999987442], [-84.51152500046227, 39.11883199987446], [-84.51164300046227, 39.118859999874445], [-84.51199500046225, 39.119094999874434], [-84.51224300046222, 39.11925999987442], [-84.51344300046208, 39.12025999987432]]], "type": "Polygon"}, "id": "419", "properties": {"AGE_0_5": 21.0, "AGE_10_14": 18.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 10.0, "AGE_21": 89.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 26.0, "AGE_65": 24.0, "AGE_65_74": 10.0, "AGE_75_84": 14.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 118.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.81, "BG": "390610023001", "BLACK": 117.0, "BLOCK": "390610023001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3076.3077, "F1_RACE": 149.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 58.0, "FEMALE_65": 11.0, "GQ_INSTITU": 29.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 29.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 655304.0, "IN_HOUSEHO": 121.0, "MALE": 59.0, "MALE_18": 37.0, "MALE_65": 13.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 147.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 150.0, "RENTER_SIZ": 2.76, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50902300046252, 39.112159999875075, -84.50754300046268, 39.113072999874994], "geometry": {"coordinates": [[[-84.50894300046254, 39.112259999875086], [-84.50902300046252, 39.112259999875086], [-84.50889600046254, 39.113072999874994], [-84.50884300046253, 39.11305999987503], [-84.50872100046254, 39.113050999875014], [-84.50754300046268, 39.112959999875024], [-84.50754300046268, 39.11255999987504], [-84.50764300046268, 39.112159999875075], [-84.50894300046254, 39.112259999875086]]], "type": "Polygon"}, "id": "420", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.4, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15123.6404, "F1_RACE": 60.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 3.0, "ID": 663324.0, "IN_HOUSEHO": 63.0, "MALE": 37.0, "MALE_18": 36.0, "MALE_65": 6.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.38, "POPULATION": 63.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 46.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50764300046268, 39.11205999987513, -84.50674300046276, 39.112559999875074], "geometry": {"coordinates": [[[-84.50764300046268, 39.112159999875075], [-84.50754300046268, 39.11255999987504], [-84.50674300046276, 39.112559999875074], [-84.50684300046272, 39.11205999987513], [-84.50764300046268, 39.112159999875075]]], "type": "Polygon"}, "id": "421", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 15.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.6, "BG": "390610018001", "BLACK": 6.0, "BLOCK": "390610018001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24408.4609, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 663344.0, "IN_HOUSEHO": 24.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 32.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 1.4, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 26.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51574400046195, 39.13555999987291, -84.51334400046224, 39.14215999987227], "geometry": {"coordinates": [[[-84.51544400046203, 39.14215999987227], [-84.51514400046204, 39.14195999987231], [-84.51334400046224, 39.14045999987247], [-84.51347700046222, 39.13879699987262], [-84.5135440004622, 39.13795999987269], [-84.51364400046218, 39.13675999987281], [-84.51384400046216, 39.13555999987291], [-84.51474400046204, 39.13565999987291], [-84.515144000462, 39.13585999987289], [-84.51494400046204, 39.1365599998728], [-84.51514400046202, 39.1377599998727], [-84.51574400046195, 39.138259999872645], [-84.51534400046202, 39.13945999987253], [-84.51544400046203, 39.14195999987231], [-84.51544400046203, 39.14215999987227]]], "type": "Polygon"}, "id": "422", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 5.0, "AGE_15_19": 26.0, "AGE_18": 272.0, "AGE_20_24": 94.0, "AGE_21": 235.0, "AGE_25_34": 103.0, "AGE_35_44": 32.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 39.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 7.0, "AP_WHITE": 238.0, "AREA": 0.04, "ASIAN": 31.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.84, "AVG_HHSIZE": 1.64, "BG": "390610030001", "BLACK": 23.0, "BLOCK": "390610030001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8040.7282, "F1_RACE": 292.0, "F2_RACES": 9.0, "FEMALE": 133.0, "FEMALE_18": 115.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 26.0, "GROUP_QUAR": 26.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 136.0, "HOUSEHOLDS": 168.0, "HSNG_UNITS": 197.0, "HU_OCCUPIE": 168.0, "HU_VACANT": 29.0, "ID": 685133.0, "IN_HOUSEHO": 275.0, "MALE": 168.0, "MALE_18": 157.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 228.0, "NOT_HISPAN": 288.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 156.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 3.42, "POPULATION": 301.0, "RENTER_SIZ": 1.5, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 232.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51084400046246, 39.132659999873205, -84.50894300046268, 39.135359999872946], "geometry": {"coordinates": [[[-84.50984300046255, 39.132659999873205], [-84.51004300046255, 39.132659999873205], [-84.51084400046246, 39.132759999873166], [-84.51074400046248, 39.13405999987305], [-84.5106440004625, 39.13485999987298], [-84.51054400046252, 39.135359999872946], [-84.50934300046264, 39.13525999987296], [-84.50894300046268, 39.13515999987295], [-84.50904300046265, 39.133859999873096], [-84.50914300046264, 39.132659999873205], [-84.50984300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "423", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 84.0, "AGE_20_24": 40.0, "AGE_21": 73.0, "AGE_25_34": 20.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 15.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 8.0, "AP_WHITE": 60.0, "AREA": 0.02, "ASIAN": 14.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 2.1, "BG": "390610030002", "BLACK": 20.0, "BLOCK": "390610030002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6418.8255, "F1_RACE": 97.0, "F2_RACES": 8.0, "FEMALE": 44.0, "FEMALE_18": 30.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 9.0, "ID": 685197.0, "IN_HOUSEHO": 105.0, "MALE": 61.0, "MALE_18": 54.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.3, "MSA": "1640", "NH_WHITE": 57.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 43.0, "OTHER_RACE": 6.0, "OWNER_SIZE": 1.14, "POPULATION": 105.0, "RENTER_SIZ": 2.26, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 57.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50914300046264, 39.13255999987321, -84.50834300046274, 39.13385999987311], "geometry": {"coordinates": [[[-84.50914300046264, 39.132659999873205], [-84.50904300046265, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50844300046272, 39.13255999987321], [-84.50914300046264, 39.132659999873205]]], "type": "Polygon"}, "id": "424", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 41.0, "AGE_20_24": 22.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.95, "BG": "390610032002", "BLACK": 11.0, "BLOCK": "390610032002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12581.9809, "F1_RACE": 40.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 4.0, "ID": 685220.0, "IN_HOUSEHO": 41.0, "MALE": 23.0, "MALE_18": 23.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 41.0, "RENTER_SIZ": 2.0, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 25.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49684300046403, 39.13995999987257, -84.49244300046452, 39.14235999987234], "geometry": {"coordinates": [[[-84.49664300046405, 39.14235999987234], [-84.49464300046427, 39.14225999987239], [-84.49464300046427, 39.14195999987242], [-84.49244300046452, 39.141659999872424], [-84.49294300046445, 39.140959999872514], [-84.49354300046437, 39.13995999987257], [-84.49674300046402, 39.14015999987255], [-84.49674300046404, 39.140759999872486], [-84.49684300046403, 39.141159999872464], [-84.49664300046405, 39.14235999987234]]], "type": "Polygon"}, "id": "425", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 42.0, "AGE_15_19": 34.0, "AGE_18": 291.0, "AGE_20_24": 17.0, "AGE_21": 276.0, "AGE_25_34": 58.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 19.0, "AGE_5_9": 59.0, "AGE_60_64": 14.0, "AGE_62": 97.0, "AGE_65": 88.0, "AGE_65_74": 51.0, "AGE_75_84": 27.0, "AGE_85": 10.0, "AMINDIAN": 2.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 440.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 9.0, "AP_WHITE": 18.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.12, "BG": "390610067004", "BLACK": 423.0, "BLOCK": "390610067004005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15992.0043, "F1_RACE": 440.0, "F2_RACES": 18.0, "FEMALE": 251.0, "FEMALE_18": 169.0, "FEMALE_65": 53.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 2.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 216.0, "HSNG_UNITS": 265.0, "HU_OCCUPIE": 216.0, "HU_VACANT": 49.0, "ID": 703088.0, "IN_HOUSEHO": 458.0, "MALE": 207.0, "MALE_18": 122.0, "MALE_65": 35.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 458.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 458.0, "RENTER_SIZ": 2.01, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4960430004641, 39.1366599998729, -84.4903430004647, 39.13945999987263], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.4960430004641, 39.137259999872825], [-84.49544300046415, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.49454300046426, 39.13795999987277], [-84.49114300046465, 39.139459999872614], [-84.49044300046471, 39.13945999987263], [-84.4903430004647, 39.13845999987273], [-84.49124300046462, 39.13785999987278], [-84.49154300046457, 39.1366599998729], [-84.49234300046447, 39.13675999987287], [-84.49374300046433, 39.136759999872865], [-84.49514300046418, 39.13685999987286], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "426", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 10.0, "AGE_15_19": 8.0, "AGE_18": 135.0, "AGE_20_24": 18.0, "AGE_21": 127.0, "AGE_25_34": 30.0, "AGE_35_44": 43.0, "AGE_45_54": 28.0, "AGE_55_59": 2.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 182.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 8, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.05, "BG": "390610034001", "BLACK": 180.0, "BLOCK": "390610034001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5709.7727, "F1_RACE": 184.0, "F2_RACES": 3.0, "FEMALE": 99.0, "FEMALE_18": 68.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 19.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 46.0, "HOUSEHOLDS": 82.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 82.0, "HU_VACANT": 28.0, "ID": 703108.0, "IN_HOUSEHO": 168.0, "MALE": 88.0, "MALE_18": 67.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 187.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.3, "POPULATION": 187.0, "RENTER_SIZ": 2.01, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49524300046419, 39.13795999987277, -84.49094300046467, 39.140959999872514], "geometry": {"coordinates": [[[-84.4949430004642, 39.13855999987269], [-84.49444300046427, 39.139159999872646], [-84.49354300046437, 39.13995999987257], [-84.49294300046445, 39.140959999872514], [-84.49094300046467, 39.140859999872504], [-84.49114300046465, 39.139459999872614], [-84.49454300046426, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.4949430004642, 39.13855999987269]]], "type": "Polygon"}, "id": "427", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 22.0, "AGE_15_19": 26.0, "AGE_18": 139.0, "AGE_20_24": 23.0, "AGE_21": 122.0, "AGE_25_34": 24.0, "AGE_35_44": 34.0, "AGE_45_54": 24.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 2.0, "AGE_62": 20.0, "AGE_65": 19.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 7.0, "AP_BLACK": 219.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.58, "BG": "390610067001", "BLACK": 208.0, "BLOCK": "390610067001006", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9898.6106, "F1_RACE": 221.0, "F2_RACES": 11.0, "FEMALE": 127.0, "FEMALE_18": 88.0, "FEMALE_65": 15.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 10.0, "GROUP_QUAR": 10.0, "HAWAIIAN": 0.0, "HH_FAMILY": 63.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 130.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 44.0, "ID": 703132.0, "IN_HOUSEHO": 222.0, "MALE": 105.0, "MALE_18": 51.0, "MALE_65": 4.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 219.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.84, "POPULATION": 232.0, "RENTER_SIZ": 2.22, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 11.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5055430004631, 39.143859999872156, -84.50414300046327, 39.14555999987203], "geometry": {"coordinates": [[[-84.5055430004631, 39.143859999872156], [-84.50534300046313, 39.14555999987203], [-84.50414300046327, 39.145459999872024], [-84.50422400046327, 39.14481199987206], [-84.50434300046324, 39.14385999987216], [-84.5055430004631, 39.143859999872156]]], "type": "Polygon"}, "id": "428", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 21.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 5.83, "AVG_HHSIZE": 4.75, "BG": "390610069002", "BLACK": 37.0, "BLOCK": "390610069002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5157.6308, "F1_RACE": 37.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 703153.0, "IN_HOUSEHO": 38.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 38.0, "RENTER_SIZ": 3.33, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5096440004627, 39.146459999871915, -84.50524400046316, 39.15095999987151], "geometry": {"coordinates": [[[-84.5096440004627, 39.148759999871686], [-84.50924400046276, 39.150759999871525], [-84.5088440004628, 39.15095999987151], [-84.5077440004629, 39.149759999871605], [-84.50674400046303, 39.14935999987167], [-84.50624400046307, 39.14935999987166], [-84.50606600046308, 39.14934199987168], [-84.50524400046316, 39.14925999987169], [-84.50531600046315, 39.148107999871776], [-84.50534400046317, 39.147659999871806], [-84.50624400046306, 39.14775999987181], [-84.50644400046303, 39.146459999871915], [-84.50714400046296, 39.14655999987191], [-84.50834400046283, 39.147259999871835], [-84.50884400046277, 39.14805999987176], [-84.5096440004627, 39.148759999871686]]], "type": "Polygon"}, "id": "429", "properties": {"AGE_0_5": 40.0, "AGE_10_14": 71.0, "AGE_15_19": 50.0, "AGE_18": 285.0, "AGE_20_24": 25.0, "AGE_21": 258.0, "AGE_25_34": 66.0, "AGE_35_44": 61.0, "AGE_45_54": 48.0, "AGE_55_59": 14.0, "AGE_5_9": 61.0, "AGE_60_64": 6.0, "AGE_62": 53.0, "AGE_65": 49.0, "AGE_65_74": 21.0, "AGE_75_84": 20.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 483.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 10.0, "AREA": 0.04, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.77, "BG": "390610069004", "BLACK": 473.0, "BLOCK": "390610069004000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12535.53, "F1_RACE": 481.0, "F2_RACES": 10.0, "FEMALE": 293.0, "FEMALE_18": 191.0, "FEMALE_65": 34.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 128.0, "HH_NONFAMI": 49.0, "HOUSEHOLDS": 177.0, "HSNG_UNITS": 189.0, "HU_OCCUPIE": 177.0, "HU_VACANT": 12.0, "ID": 703170.0, "IN_HOUSEHO": 491.0, "MALE": 198.0, "MALE_18": 94.0, "MALE_65": 15.0, "MEDIAN_AGE": 24.6, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 488.0, "OCCHU_OWNE": 62.0, "OCCHU_RENT": 115.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.29, "POPULATION": 491.0, "RENTER_SIZ": 3.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50644400046303, 39.14645999987191, -84.50534400046317, 39.14775999987181], "geometry": {"coordinates": [[[-84.50644400046303, 39.146459999871915], [-84.50624400046306, 39.14775999987181], [-84.50534400046317, 39.147659999871806], [-84.50544300046313, 39.14645999987191], [-84.50644400046303, 39.146459999871915]]], "type": "Polygon"}, "id": "430", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 21.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.55, "BG": "390610069004", "BLACK": 32.0, "BLOCK": "390610069004002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8810.7256, "F1_RACE": 37.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 4.0, "ID": 703197.0, "IN_HOUSEHO": 39.0, "MALE": 21.0, "MALE_18": 10.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 39.0, "RENTER_SIZ": 4.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50574300046307, 39.141859999872366, -84.50294300046339, 39.142959999872254], "geometry": {"coordinates": [[[-84.50574300046307, 39.14205999987235], [-84.50564300046308, 39.142959999872254], [-84.50314300046337, 39.14285999987227], [-84.50294300046339, 39.14275999987228], [-84.50304300046336, 39.141859999872366], [-84.50324300046334, 39.14185999987239], [-84.50574300046307, 39.14205999987235]]], "type": "Polygon"}, "id": "431", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 14.0, "AGE_15_19": 11.0, "AGE_18": 93.0, "AGE_20_24": 10.0, "AGE_21": 86.0, "AGE_25_34": 15.0, "AGE_35_44": 31.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 5.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.15, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13478.2777, "F1_RACE": 125.0, "F2_RACES": 4.0, "FEMALE": 64.0, "FEMALE_18": 46.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 79.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 19.0, "ID": 703214.0, "IN_HOUSEHO": 129.0, "MALE": 65.0, "MALE_18": 47.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 129.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.26, "POPULATION": 129.0, "RENTER_SIZ": 2.1, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50564300046308, 39.14285999987227, -84.50304300046338, 39.14385999987216], "geometry": {"coordinates": [[[-84.50564300046308, 39.142959999872254], [-84.5055430004631, 39.143859999872156], [-84.50434300046324, 39.14385999987216], [-84.50340000046334, 39.14378699987218], [-84.50304300046338, 39.14375999987218], [-84.50314300046337, 39.14285999987227], [-84.50564300046308, 39.142959999872254]]], "type": "Polygon"}, "id": "432", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 16.0, "AGE_15_19": 10.0, "AGE_18": 89.0, "AGE_20_24": 9.0, "AGE_21": 84.0, "AGE_25_34": 13.0, "AGE_35_44": 21.0, "AGE_45_54": 13.0, "AGE_55_59": 8.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.47, "BG": "390610069002", "BLACK": 114.0, "BLOCK": "390610069002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14670.7028, "F1_RACE": 125.0, "F2_RACES": 1.0, "FEMALE": 59.0, "FEMALE_18": 44.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 11.0, "ID": 703234.0, "IN_HOUSEHO": 126.0, "MALE": 67.0, "MALE_18": 45.0, "MALE_65": 9.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 126.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 126.0, "RENTER_SIZ": 2.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50434300046324, 39.14375999987218, -84.50294300046342, 39.145459999872024], "geometry": {"coordinates": [[[-84.50434300046324, 39.14385999987216], [-84.50422400046327, 39.14481199987206], [-84.50414300046327, 39.145459999872024], [-84.50294300046342, 39.14535999987205], [-84.50294300046342, 39.145159999872064], [-84.50304300046338, 39.14375999987218], [-84.50340000046334, 39.14378699987218], [-84.50434300046324, 39.14385999987216]]], "type": "Polygon"}, "id": "433", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 12.0, "AGE_45_54": 12.0, "AGE_55_59": 0.0, "AGE_5_9": 17.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.22, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15069.8309, "F1_RACE": 113.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 43.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 8.0, "ID": 703253.0, "IN_HOUSEHO": 113.0, "MALE": 53.0, "MALE_18": 31.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.1, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 113.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 45.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 113.0, "RENTER_SIZ": 2.11, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50304300046336, 39.1416599998724, -84.50024300046367, 39.14275999987228], "geometry": {"coordinates": [[[-84.50294300046339, 39.14275999987228], [-84.50024300046367, 39.1425599998723], [-84.50024300046367, 39.1416599998724], [-84.50304300046336, 39.141859999872366], [-84.50294300046339, 39.14275999987228]]], "type": "Polygon"}, "id": "434", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 66.0, "AGE_20_24": 3.0, "AGE_21": 62.0, "AGE_25_34": 11.0, "AGE_35_44": 15.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 14.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.52, "BG": "390610069002", "BLACK": 64.0, "BLOCK": "390610069002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9021.0236, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 38.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 16.0, "ID": 703271.0, "IN_HOUSEHO": 83.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.1, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.92, "POPULATION": 83.0, "RENTER_SIZ": 2.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50314300046337, 39.1425599998723, -84.50014300046368, 39.14375999987218], "geometry": {"coordinates": [[[-84.50314300046337, 39.14285999987227], [-84.50304300046338, 39.14375999987218], [-84.50014300046368, 39.143559999872224], [-84.50024300046367, 39.1425599998723], [-84.50294300046339, 39.14275999987228], [-84.50314300046337, 39.14285999987227]]], "type": "Polygon"}, "id": "435", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 27.0, "AGE_15_19": 11.0, "AGE_18": 101.0, "AGE_20_24": 20.0, "AGE_21": 91.0, "AGE_25_34": 8.0, "AGE_35_44": 30.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 15.0, "AGE_60_64": 7.0, "AGE_62": 24.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 7.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 163.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.43, "BG": "390610069002", "BLACK": 162.0, "BLOCK": "390610069002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15673.642, "F1_RACE": 167.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 57.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 19.0, "ID": 703289.0, "IN_HOUSEHO": 168.0, "MALE": 77.0, "MALE_18": 44.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 168.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 168.0, "RENTER_SIZ": 3.64, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50304300046338, 39.143559999872224, -84.49994300046373, 39.145159999872064], "geometry": {"coordinates": [[[-84.50304300046338, 39.14375999987218], [-84.50294300046342, 39.145159999872064], [-84.49994300046373, 39.14485999987211], [-84.5000430004637, 39.143959999872195], [-84.50014300046368, 39.143559999872224], [-84.50304300046338, 39.14375999987218]]], "type": "Polygon"}, "id": "436", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 24.0, "AGE_15_19": 19.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 14.0, "AGE_55_59": 1.0, "AGE_5_9": 23.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 11, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.74, "BG": "390610069002", "BLACK": 128.0, "BLOCK": "390610069002004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8747.1976, "F1_RACE": 131.0, "F2_RACES": 0.0, "FEMALE": 68.0, "FEMALE_18": 39.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 703308.0, "IN_HOUSEHO": 131.0, "MALE": 63.0, "MALE_18": 22.0, "MALE_65": 4.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 131.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 131.0, "RENTER_SIZ": 3.93, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.14535999987205, -84.50284300046341, 39.14645999987191], "geometry": {"coordinates": [[[-84.50534300046313, 39.14555999987203], [-84.50544300046313, 39.14645999987191], [-84.5038430004633, 39.14635999987197], [-84.50284300046341, 39.146259999871944], [-84.50294300046342, 39.14535999987205], [-84.50414300046327, 39.145459999872024], [-84.50534300046313, 39.14555999987203]]], "type": "Polygon"}, "id": "437", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 76.0, "AGE_20_24": 6.0, "AGE_21": 71.0, "AGE_25_34": 13.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.3, "BG": "390610069002", "BLACK": 99.0, "BLOCK": "390610069002001", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12794.2932, "F1_RACE": 105.0, "F2_RACES": 3.0, "FEMALE": 53.0, "FEMALE_18": 39.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 703326.0, "IN_HOUSEHO": 108.0, "MALE": 55.0, "MALE_18": 37.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 104.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.17, "POPULATION": 108.0, "RENTER_SIZ": 2.34, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.146259999871944, -84.50264300046345, 39.14925999987169], "geometry": {"coordinates": [[[-84.5038430004633, 39.14635999987197], [-84.50544300046313, 39.14645999987191], [-84.50534400046317, 39.147659999871806], [-84.50531600046315, 39.148107999871776], [-84.50524400046316, 39.14925999987169], [-84.50360700046336, 39.14913399987168], [-84.50264300046345, 39.149059999871696], [-84.50284300046341, 39.146259999871944], [-84.5038430004633, 39.14635999987197]]], "type": "Polygon"}, "id": "438", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 40.0, "AGE_15_19": 22.0, "AGE_18": 189.0, "AGE_20_24": 13.0, "AGE_21": 178.0, "AGE_25_34": 32.0, "AGE_35_44": 50.0, "AGE_45_54": 33.0, "AGE_55_59": 10.0, "AGE_5_9": 28.0, "AGE_60_64": 9.0, "AGE_62": 40.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.53, "BG": "390610069001", "BLACK": 281.0, "BLOCK": "390610069001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10697.4731, "F1_RACE": 285.0, "F2_RACES": 3.0, "FEMALE": 162.0, "FEMALE_18": 110.0, "FEMALE_65": 24.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 114.0, "HSNG_UNITS": 127.0, "HU_OCCUPIE": 114.0, "HU_VACANT": 13.0, "ID": 703346.0, "IN_HOUSEHO": 288.0, "MALE": 126.0, "MALE_18": 79.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 39.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.31, "POPULATION": 288.0, "RENTER_SIZ": 2.64, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50294300046342, 39.14485999987211, -84.49984300046374, 39.146259999871944], "geometry": {"coordinates": [[[-84.50294300046342, 39.14535999987205], [-84.50284300046341, 39.146259999871944], [-84.49984300046374, 39.14605999987198], [-84.49994300046373, 39.14485999987211], [-84.50294300046342, 39.145159999872064], [-84.50294300046342, 39.14535999987205]]], "type": "Polygon"}, "id": "439", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 27.0, "AGE_15_19": 16.0, "AGE_18": 91.0, "AGE_20_24": 10.0, "AGE_21": 84.0, "AGE_25_34": 16.0, "AGE_35_44": 29.0, "AGE_45_54": 7.0, "AGE_55_59": 6.0, "AGE_5_9": 10.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 9.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 2.72, "BG": "390610069002", "BLACK": 155.0, "BLOCK": "390610069002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12013.0464, "F1_RACE": 155.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 47.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 17.0, "ID": 703368.0, "IN_HOUSEHO": 155.0, "MALE": 82.0, "MALE_18": 44.0, "MALE_65": 10.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 155.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.11, "POPULATION": 155.0, "RENTER_SIZ": 2.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50624400046307, 39.149059999871696, -84.50264300046345, 39.150259999871565], "geometry": {"coordinates": [[[-84.50606600046308, 39.14934199987168], [-84.50624400046307, 39.14935999987166], [-84.50614400046308, 39.150259999871565], [-84.50454400046326, 39.15015999987159], [-84.50344300046336, 39.15015999987159], [-84.50284300046344, 39.14975999987163], [-84.50264300046345, 39.149059999871696], [-84.50360700046336, 39.14913399987168], [-84.50524400046316, 39.14925999987169], [-84.50606600046308, 39.14934199987168]]], "type": "Polygon"}, "id": "440", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 68.0, "AGE_20_24": 4.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 14.0, "AGE_45_54": 16.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.31, "BG": "390610069001", "BLACK": 82.0, "BLOCK": "390610069001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6949.0985, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 44.0, "FEMALE_18": 38.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 3.0, "ID": 703387.0, "IN_HOUSEHO": 83.0, "MALE": 39.0, "MALE_18": 30.0, "MALE_65": 7.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 83.0, "RENTER_SIZ": 2.5, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50494400046323, 39.15015999987159, -84.50344300046336, 39.15165999987144], "geometry": {"coordinates": [[[-84.50454400046326, 39.15015999987159], [-84.50454400046326, 39.15125999987151], [-84.50494400046323, 39.15165999987144], [-84.50374300046336, 39.15155999987148], [-84.50344300046336, 39.15015999987159], [-84.50454400046326, 39.15015999987159]]], "type": "Polygon"}, "id": "441", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 43.0, "AGE_20_24": 0.0, "AGE_21": 41.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 14.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610069001", "BLACK": 54.0, "BLOCK": "390610069001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10378.7052, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 25.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 0.0, "ID": 703410.0, "IN_HOUSEHO": 55.0, "MALE": 24.0, "MALE_18": 18.0, "MALE_65": 5.0, "MEDIAN_AGE": 48.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 55.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50924400046277, 39.14605999987198, -84.49794300046398, 39.15545999987109], "geometry": {"coordinates": [[[-84.50604400046315, 39.15485999987118], [-84.50564400046316, 39.15545999987109], [-84.50314400046344, 39.15525999987111], [-84.50244300046353, 39.15485999987118], [-84.50044300046372, 39.15245999987139], [-84.49924300046385, 39.15165999987147], [-84.49794300046398, 39.15045999987158], [-84.49874300046388, 39.14965999987165], [-84.49884300046386, 39.149359999871685], [-84.49904300046383, 39.14605999987199], [-84.49984300046374, 39.14605999987198], [-84.50284300046341, 39.146259999871944], [-84.50264300046345, 39.149059999871696], [-84.50284300046344, 39.14975999987163], [-84.50344300046336, 39.15015999987159], [-84.50374300046336, 39.15155999987148], [-84.50494400046323, 39.15165999987144], [-84.50454400046326, 39.15125999987151], [-84.50454400046326, 39.15015999987159], [-84.50614400046308, 39.150259999871565], [-84.50624400046307, 39.14935999987166], [-84.50674400046303, 39.14935999987167], [-84.5077440004629, 39.149759999871605], [-84.5088440004628, 39.15095999987151], [-84.50924400046277, 39.151459999871456], [-84.50814400046289, 39.152059999871405], [-84.50604400046315, 39.15485999987118]]], "type": "Polygon"}, "id": "442", "properties": {"AGE_0_5": 86.0, "AGE_10_14": 107.0, "AGE_15_19": 69.0, "AGE_18": 1096.0, "AGE_20_24": 76.0, "AGE_21": 1064.0, "AGE_25_34": 181.0, "AGE_35_44": 219.0, "AGE_45_54": 202.0, "AGE_55_59": 77.0, "AGE_5_9": 113.0, "AGE_60_64": 69.0, "AGE_62": 301.0, "AGE_65": 252.0, "AGE_65_74": 150.0, "AGE_75_84": 82.0, "AGE_85": 20.0, "AMINDIAN": 3.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 6.0, "AP_BLACK": 1381.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 13.0, "AP_OTHER": 11.0, "AP_WHITE": 61.0, "AREA": 0.19, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 1.9, "BG": "390610069001", "BLACK": 1368.0, "BLOCK": "390610069001000", "BURGLARY": 7, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7516.6639, "F1_RACE": 1437.0, "F2_RACES": 14.0, "FEMALE": 792.0, "FEMALE_18": 623.0, "FEMALE_65": 158.0, "GQ_INSTITU": 32.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 32.0, "HAWAIIAN": 0.0, "HH_FAMILY": 320.0, "HH_NONFAMI": 425.0, "HOUSEHOLDS": 745.0, "HSNG_UNITS": 840.0, "HU_OCCUPIE": 745.0, "HU_VACANT": 95.0, "ID": 703426.0, "IN_HOUSEHO": 1419.0, "MALE": 659.0, "MALE_18": 473.0, "MALE_65": 94.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 1438.0, "OCCHU_OWNE": 202.0, "OCCHU_RENT": 543.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 2.27, "POPULATION": 1451.0, "RENTER_SIZ": 1.77, "THEFT": 17, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 55.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49984300046371, 39.14125999987244, -84.49884300046381, 39.141559999872406], "geometry": {"coordinates": [[[-84.49884300046381, 39.141559999872406], [-84.49884300046381, 39.14125999987244], [-84.49984300046371, 39.14125999987244], [-84.49974300046372, 39.141559999872406], [-84.49884300046381, 39.141559999872406]]], "type": "Polygon"}, "id": "443", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.29, "BG": "390610067003", "BLACK": 23.0, "BLOCK": "390610067003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21796.2254, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 3.0, "ID": 703460.0, "IN_HOUSEHO": 23.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 23.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50024300046367, 39.141559999872406, -84.49814300046388, 39.143959999872195], "geometry": {"coordinates": [[[-84.50014300046368, 39.143559999872224], [-84.5000430004637, 39.143959999872195], [-84.49884300046384, 39.1438599998722], [-84.49894300046381, 39.14245999987232], [-84.4981430004639, 39.14235999987234], [-84.49814300046388, 39.14155999987243], [-84.49884300046381, 39.141559999872406], [-84.49974300046372, 39.141559999872406], [-84.50024300046367, 39.1416599998724], [-84.50024300046367, 39.1425599998723], [-84.50014300046368, 39.143559999872224]]], "type": "Polygon"}, "id": "444", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.64, "BG": "390610067003", "BLACK": 28.0, "BLOCK": "390610067003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2125.5272, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 32.0, "ID": 703476.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 29.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49894300046381, 39.14235999987234, -84.49794300046392, 39.1438599998722], "geometry": {"coordinates": [[[-84.49894300046381, 39.14245999987232], [-84.49884300046384, 39.1438599998722], [-84.49794300046392, 39.1438599998722], [-84.49794300046392, 39.143159999872275], [-84.4981430004639, 39.14235999987234], [-84.49894300046381, 39.14245999987232]]], "type": "Polygon"}, "id": "445", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 8.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 11.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 66.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.29, "AVG_HHSIZE": 3.53, "BG": "390610067003", "BLACK": 65.0, "BLOCK": "390610067003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13813.8186, "F1_RACE": 66.0, "F2_RACES": 1.0, "FEMALE": 35.0, "FEMALE_18": 21.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 13.0, "ID": 703500.0, "IN_HOUSEHO": 67.0, "MALE": 32.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 67.0, "RENTER_SIZ": 4.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5000430004637, 39.1438599998722, -84.49774300046396, 39.14485999987211], "geometry": {"coordinates": [[[-84.5000430004637, 39.143959999872195], [-84.49994300046373, 39.14485999987211], [-84.49774300046396, 39.144759999872115], [-84.49794300046392, 39.1438599998722], [-84.49884300046384, 39.1438599998722], [-84.5000430004637, 39.143959999872195]]], "type": "Polygon"}, "id": "446", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 41.0, "AGE_20_24": 6.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 4.0, "AGE_55_59": 5.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.83, "BG": "390610067003", "BLACK": 68.0, "BLOCK": "390610067003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9206.2354, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 10.0, "ID": 703519.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.4, "POPULATION": 68.0, "RENTER_SIZ": 2.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49994300046373, 39.144759999872115, -84.49774300046396, 39.14605999987199], "geometry": {"coordinates": [[[-84.49994300046373, 39.14485999987211], [-84.49984300046374, 39.14605999987198], [-84.49904300046383, 39.14605999987199], [-84.49774300046397, 39.145959999872], [-84.49774300046396, 39.144759999872115], [-84.49994300046373, 39.14485999987211]]], "type": "Polygon"}, "id": "447", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.43, "BG": "390610068002", "BLACK": 9.0, "BLOCK": "390610068002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1028.9523, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 2.0, "ID": 703537.0, "IN_HOUSEHO": 10.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 10.0, "RENTER_SIZ": 1.43, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4981430004639, 39.14225999987239, -84.49454300046429, 39.143159999872275], "geometry": {"coordinates": [[[-84.4981430004639, 39.14235999987234], [-84.49794300046392, 39.143159999872275], [-84.49454300046429, 39.142859999872286], [-84.49464300046427, 39.14225999987239], [-84.49664300046405, 39.14235999987234], [-84.4981430004639, 39.14235999987234]]], "type": "Polygon"}, "id": "448", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 25.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 7.0, "AGE_21": 90.0, "AGE_25_34": 22.0, "AGE_35_44": 33.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 29.0, "AGE_60_64": 3.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 1.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 166.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.13, "BG": "390610067003", "BLACK": 166.0, "BLOCK": "390610067003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18917.468, "F1_RACE": 166.0, "F2_RACES": 0.0, "FEMALE": 108.0, "FEMALE_18": 61.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 40.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 53.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 53.0, "HU_VACANT": 16.0, "ID": 703556.0, "IN_HOUSEHO": 166.0, "MALE": 58.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 166.0, "RENTER_SIZ": 3.33, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.144559999872136, -84.49514300046425, 39.145959999872], "geometry": {"coordinates": [[[-84.49774300046396, 39.144759999872115], [-84.49774300046397, 39.145959999872], [-84.49514300046425, 39.14575999987203], [-84.49534300046422, 39.144559999872136], [-84.49774300046396, 39.144759999872115]]], "type": "Polygon"}, "id": "449", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 10.0, "AGE_15_19": 11.0, "AGE_18": 166.0, "AGE_20_24": 16.0, "AGE_21": 152.0, "AGE_25_34": 23.0, "AGE_35_44": 34.0, "AGE_45_54": 37.0, "AGE_55_59": 11.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 32.0, "AGE_65": 29.0, "AGE_65_74": 16.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 203.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.94, "AVG_HHSIZE": 1.51, "BG": "390610068002", "BLACK": 195.0, "BLOCK": "390610068002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18334.4967, "F1_RACE": 197.0, "F2_RACES": 8.0, "FEMALE": 94.0, "FEMALE_18": 79.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 136.0, "HSNG_UNITS": 148.0, "HU_OCCUPIE": 136.0, "HU_VACANT": 12.0, "ID": 703574.0, "IN_HOUSEHO": 205.0, "MALE": 111.0, "MALE_18": 87.0, "MALE_65": 8.0, "MEDIAN_AGE": 40.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 135.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 9.0, "POPULATION": 205.0, "RENTER_SIZ": 1.45, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49904300046383, 39.145959999872, -84.49624300046413, 39.15045999987158], "geometry": {"coordinates": [[[-84.49774300046397, 39.145959999872], [-84.49904300046383, 39.14605999987199], [-84.49884300046386, 39.149359999871685], [-84.49874300046388, 39.14965999987165], [-84.49794300046398, 39.15045999987158], [-84.497643000464, 39.15025999987161], [-84.49704300046406, 39.14965999987167], [-84.49704300046406, 39.148759999871736], [-84.49624300046413, 39.148759999871736], [-84.49644300046413, 39.14835999987178], [-84.49734300046401, 39.147459999871856], [-84.49774300046397, 39.145959999872]]], "type": "Polygon"}, "id": "450", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 19.0, "AGE_15_19": 15.0, "AGE_18": 207.0, "AGE_20_24": 22.0, "AGE_21": 197.0, "AGE_25_34": 23.0, "AGE_35_44": 31.0, "AGE_45_54": 28.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 4.0, "AGE_62": 81.0, "AGE_65": 80.0, "AGE_65_74": 21.0, "AGE_75_84": 34.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 271.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.24, "BG": "390610068002", "BLACK": 268.0, "BLOCK": "390610068002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10353.2885, "F1_RACE": 277.0, "F2_RACES": 3.0, "FEMALE": 178.0, "FEMALE_18": 134.0, "FEMALE_65": 53.0, "GQ_INSTITU": 58.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 58.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 116.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 17.0, "ID": 703592.0, "IN_HOUSEHO": 222.0, "MALE": 102.0, "MALE_18": 73.0, "MALE_65": 27.0, "MEDIAN_AGE": 40.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 280.0, "OCCHU_OWNE": 33.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.45, "POPULATION": 280.0, "RENTER_SIZ": 2.14, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 9.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.142859999872286, -84.49454300046429, 39.1438599998722], "geometry": {"coordinates": [[[-84.49794300046392, 39.143159999872275], [-84.49794300046392, 39.1438599998722], [-84.49454300046429, 39.14355999987227], [-84.49454300046429, 39.142859999872286], [-84.49794300046392, 39.143159999872275]]], "type": "Polygon"}, "id": "451", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 21.0, "AGE_15_19": 16.0, "AGE_18": 96.0, "AGE_20_24": 7.0, "AGE_21": 91.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 14.0, "AGE_55_59": 4.0, "AGE_5_9": 36.0, "AGE_60_64": 7.0, "AGE_62": 12.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 186.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.82, "BG": "390610067003", "BLACK": 180.0, "BLOCK": "390610067003004", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21107.9915, "F1_RACE": 180.0, "F2_RACES": 6.0, "FEMALE": 110.0, "FEMALE_18": 63.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 18.0, "ID": 703612.0, "IN_HOUSEHO": 186.0, "MALE": 76.0, "MALE_18": 33.0, "MALE_65": 2.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 186.0, "RENTER_SIZ": 2.79, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.14355999987227, -84.49434300046431, 39.144759999872115], "geometry": {"coordinates": [[[-84.49794300046392, 39.1438599998722], [-84.49774300046396, 39.144759999872115], [-84.49534300046422, 39.144559999872136], [-84.49434300046431, 39.14445999987216], [-84.49454300046429, 39.14355999987227], [-84.49794300046392, 39.1438599998722]]], "type": "Polygon"}, "id": "452", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 68.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 3.55, "BG": "390610067003", "BLACK": 102.0, "BLOCK": "390610067003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9461.9681, "F1_RACE": 110.0, "F2_RACES": 0.0, "FEMALE": 62.0, "FEMALE_18": 37.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 36.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 5.0, "ID": 703629.0, "IN_HOUSEHO": 110.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.55, "POPULATION": 110.0, "RENTER_SIZ": 3.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046427, 39.141659999872424, -84.49194300046456, 39.142859999872286], "geometry": {"coordinates": [[[-84.49454300046429, 39.142859999872286], [-84.49194300046456, 39.14255999987233], [-84.49224300046454, 39.14215999987238], [-84.49244300046452, 39.141659999872424], [-84.49464300046427, 39.14195999987242], [-84.49464300046427, 39.14225999987239], [-84.49454300046429, 39.142859999872286]]], "type": "Polygon"}, "id": "453", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 85.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.37, "AVG_HHSIZE": 2.61, "BG": "390610067004", "BLACK": 85.0, "BLOCK": "390610067004004", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10415.8913, "F1_RACE": 86.0, "F2_RACES": 0.0, "FEMALE": 54.0, "FEMALE_18": 40.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 7.0, "ID": 703648.0, "IN_HOUSEHO": 86.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 86.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 86.0, "RENTER_SIZ": 3.07, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49454300046429, 39.14255999987233, -84.49104300046467, 39.14445999987216], "geometry": {"coordinates": [[[-84.49454300046429, 39.14355999987227], [-84.49434300046431, 39.14445999987216], [-84.49104300046467, 39.14415999987221], [-84.4915430004646, 39.143159999872296], [-84.49194300046456, 39.14255999987233], [-84.49454300046429, 39.142859999872286], [-84.49454300046429, 39.14355999987227]]], "type": "Polygon"}, "id": "454", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 703666.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49534300046422, 39.14415999987221, -84.49034300046476, 39.14575999987203], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.49404300046436, 39.145659999872066], [-84.49224300046455, 39.14545999987209], [-84.49034300046476, 39.145359999872106], [-84.49054300046475, 39.14495999987214], [-84.49104300046467, 39.14415999987221], [-84.49434300046431, 39.14445999987216], [-84.49534300046422, 39.144559999872136], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "455", "properties": {"AGE_0_5": 35.0, "AGE_10_14": 32.0, "AGE_15_19": 25.0, "AGE_18": 156.0, "AGE_20_24": 23.0, "AGE_21": 139.0, "AGE_25_34": 35.0, "AGE_35_44": 41.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 40.0, "AGE_60_64": 5.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 3.0, "AP_BLACK": 275.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.62, "BG": "390610068002", "BLACK": 270.0, "BLOCK": "390610068002007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13517.0854, "F1_RACE": 271.0, "F2_RACES": 7.0, "FEMALE": 157.0, "FEMALE_18": 104.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 64.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 106.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 106.0, "HU_VACANT": 22.0, "ID": 703686.0, "IN_HOUSEHO": 278.0, "MALE": 121.0, "MALE_18": 52.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 275.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 101.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 278.0, "RENTER_SIZ": 2.67, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.14575999987203, -84.4948430004643, 39.148759999871736], "geometry": {"coordinates": [[[-84.49624300046413, 39.148759999871736], [-84.4948430004643, 39.14865999987177], [-84.4948430004643, 39.14845999987178], [-84.49514300046425, 39.14575999987203], [-84.49774300046397, 39.145959999872], [-84.49734300046401, 39.147459999871856], [-84.49644300046413, 39.14835999987178], [-84.49624300046413, 39.148759999871736]]], "type": "Polygon"}, "id": "456", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 0.0, "AGE_18": 38.0, "AGE_20_24": 4.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.28, "BG": "390610068002", "BLACK": 43.0, "BLOCK": "390610068002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2300.5913, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 3.0, "GQ_INSTITU": 13.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 13.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 7.0, "ID": 703708.0, "IN_HOUSEHO": 41.0, "MALE": 20.0, "MALE_18": 9.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 54.0, "RENTER_SIZ": 2.46, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006800", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}], "type": "FeatureCollection"});\n", "\n", " \n", " \n", - " geo_json_fd903d47616b570050e85cb36a0bb1cf.bindTooltip(\n", + " geo_json_7afca762c2cfb2afbcb8b0f1c114494c.bindTooltip(\n", " function(layer){\n", " let div = L.DomUtil.create('div');\n", " \n", @@ -471,13 +474,13 @@ " ,{"className": "foliumtooltip", "sticky": true});\n", " \n", " \n", - " geo_json_fd903d47616b570050e85cb36a0bb1cf.addTo(map_733292c25dab552b9eb7ac5e694d14dc);\n", + " geo_json_7afca762c2cfb2afbcb8b0f1c114494c.addTo(map_f848f7beda5e816bdaa94bf9951558e4);\n", " \n", "</script>\n", "</html>\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen>" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -487,7 +490,7 @@ ], "source": [ "# json doesnt like numpy arrays\n", - "df.explore(color=list(colors))" + "df.explore(color=list(colors), tiles=\"CartoDB Positron\")" ] }, { @@ -504,11 +507,11 @@ "id": "151d7f77-042f-40b2-b0d0-a1aa90268ed2", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.029010Z", - "iopub.status.busy": "2024-07-24T16:41:32.028794Z", - "iopub.status.idle": "2024-07-24T16:41:32.211383Z", - "shell.execute_reply": "2024-07-24T16:41:32.211083Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.028995Z" + "iopub.execute_input": "2024-07-24T17:03:45.850189Z", + "iopub.status.busy": "2024-07-24T17:03:45.848657Z", + "iopub.status.idle": "2024-07-24T17:03:46.042324Z", + "shell.execute_reply": "2024-07-24T17:03:46.041940Z", + "shell.execute_reply.started": "2024-07-24T17:03:45.850135Z" } }, "outputs": [], @@ -530,16 +533,16 @@ "id": "f4eed567-9259-47b6-a251-4a5266dbb59f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.212232Z", - "iopub.status.busy": "2024-07-24T16:41:32.211986Z", - "iopub.status.idle": "2024-07-24T16:41:32.220188Z", - "shell.execute_reply": "2024-07-24T16:41:32.219445Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.212222Z" + "iopub.execute_input": "2024-07-24T17:03:47.697752Z", + "iopub.status.busy": "2024-07-24T17:03:47.696843Z", + "iopub.status.idle": "2024-07-24T17:03:47.718293Z", + "shell.execute_reply": "2024-07-24T17:03:47.717835Z", + "shell.execute_reply.started": "2024-07-24T17:03:47.697697Z" } }, "outputs": [], "source": [ - "colors = get_color_array(df.DENSITY.values, scheme='quantiles',)" + "colors = get_color_array(df.DENSITY.values, scheme=\"quantiles\", cmap=\"YlOrBr\")" ] }, { @@ -548,24 +551,24 @@ "id": "f1d9986f-d9b7-4116-bd29-a0f61869085c", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.220890Z", - "iopub.status.busy": "2024-07-24T16:41:32.220794Z", - "iopub.status.idle": "2024-07-24T16:41:32.225607Z", - "shell.execute_reply": "2024-07-24T16:41:32.225071Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.220881Z" + "iopub.execute_input": "2024-07-24T17:03:48.741554Z", + "iopub.status.busy": "2024-07-24T17:03:48.740721Z", + "iopub.status.idle": "2024-07-24T17:03:48.754433Z", + "shell.execute_reply": "2024-07-24T17:03:48.753397Z", + "shell.execute_reply.started": "2024-07-24T17:03:48.741505Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([[ 58, 82, 139, 255],\n", - " [ 32, 144, 140, 255],\n", - " [ 58, 82, 139, 255],\n", + "array([[254, 226, 144, 255],\n", + " [253, 152, 40, 255],\n", + " [254, 226, 144, 255],\n", " ...,\n", - " [ 68, 1, 84, 255],\n", - " [ 94, 201, 97, 255],\n", - " [ 58, 82, 139, 255]], dtype=uint8)" + " [255, 255, 229, 255],\n", + " [202, 75, 2, 255],\n", + " [254, 226, 144, 255]], dtype=uint8)" ] }, "execution_count": 10, @@ -583,27 +586,27 @@ "id": "b52bf815-aa3d-41c6-bc1d-d9fdcb730c68", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.226276Z", - "iopub.status.busy": "2024-07-24T16:41:32.226184Z", - "iopub.status.idle": "2024-07-24T16:41:32.276158Z", - "shell.execute_reply": "2024-07-24T16:41:32.275714Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.226265Z" + "iopub.execute_input": "2024-07-24T17:03:49.771853Z", + "iopub.status.busy": "2024-07-24T17:03:49.770485Z", + "iopub.status.idle": "2024-07-24T17:03:49.839617Z", + "shell.execute_reply": "2024-07-24T17:03:49.839200Z", + "shell.execute_reply.started": "2024-07-24T17:03:49.771797Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d8571bbdcb16415fa6ea105f2b72677f", + "model_id": "6e96c0643496460da30d38df72bb309a", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "Map(layers=[PolygonLayer(get_fill_color=\n", + "Map(layers=[PolygonLayer(get_fill_color=\n", "[\n", " [\n", - " 58,\n", - " …" + " 254,\n", + "…" ] }, "execution_count": 11, @@ -614,7 +617,8 @@ "source": [ "# get RGBA instead of hex\n", "layer = PolygonLayer.from_geopandas(\n", - " df, get_fill_color=colors, \n", + " df,\n", + " get_fill_color=colors,\n", ")\n", "m = Map(layers=[layer], _height=800)\n", "m" @@ -626,11 +630,11 @@ "id": "03c6550e-1797-4d05-8e3d-118400c0e033", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.276788Z", - "iopub.status.busy": "2024-07-24T16:41:32.276698Z", - "iopub.status.idle": "2024-07-24T16:41:32.288217Z", - "shell.execute_reply": "2024-07-24T16:41:32.287740Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.276779Z" + "iopub.execute_input": "2024-07-24T17:03:51.098820Z", + "iopub.status.busy": "2024-07-24T17:03:51.097487Z", + "iopub.status.idle": "2024-07-24T17:03:51.131670Z", + "shell.execute_reply": "2024-07-24T17:03:51.130688Z", + "shell.execute_reply.started": "2024-07-24T17:03:51.098754Z" } }, "outputs": [], @@ -649,90 +653,72 @@ { "cell_type": "code", "execution_count": 13, - "id": "864258ec-4fb5-436b-9aa6-f53fd1ad8a2b", - "metadata": { - "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.288792Z", - "iopub.status.busy": "2024-07-24T16:41:32.288686Z", - "iopub.status.idle": "2024-07-24T16:41:32.295981Z", - "shell.execute_reply": "2024-07-24T16:41:32.295183Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.288783Z" - } - }, - "outputs": [], - "source": [ - "colors = get_color_array(df.DENSITY.values, scheme='quantiles', as_hex=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, "id": "d13dcfd4-a3e1-4d5a-b7bd-35134fa83fab", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.296828Z", - "iopub.status.busy": "2024-07-24T16:41:32.296686Z", - "iopub.status.idle": "2024-07-24T16:41:32.301955Z", - "shell.execute_reply": "2024-07-24T16:41:32.301637Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.296817Z" + "iopub.execute_input": "2024-07-24T17:03:56.157909Z", + "iopub.status.busy": "2024-07-24T17:03:56.157279Z", + "iopub.status.idle": "2024-07-24T17:03:56.171129Z", + "shell.execute_reply": "2024-07-24T17:03:56.170124Z", + "shell.execute_reply.started": "2024-07-24T17:03:56.157880Z" } }, "outputs": [], "source": [ - "df['fill'] = pd.Series(list(colors.astype(float))).apply(list).values" + "df[\"fill\"] = pd.Series(list(colors.astype(float))).apply(list).values" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "2e6c5db6-d7ea-4baa-b2bb-fac4b5ba7ecd", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.302537Z", - "iopub.status.busy": "2024-07-24T16:41:32.302443Z", - "iopub.status.idle": "2024-07-24T16:41:32.307176Z", - "shell.execute_reply": "2024-07-24T16:41:32.306913Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.302528Z" + "iopub.execute_input": "2024-07-24T17:03:56.678967Z", + "iopub.status.busy": "2024-07-24T17:03:56.678055Z", + "iopub.status.idle": "2024-07-24T17:03:56.700709Z", + "shell.execute_reply": "2024-07-24T17:03:56.699489Z", + "shell.execute_reply.started": "2024-07-24T17:03:56.678911Z" } }, "outputs": [ { "data": { "text/plain": [ - "0 [58.0, 82.0, 139.0, 255.0]\n", - "1 [32.0, 144.0, 140.0, 255.0]\n", - "2 [58.0, 82.0, 139.0, 255.0]\n", - "3 [253.0, 231.0, 36.0, 255.0]\n", - "4 [58.0, 82.0, 139.0, 255.0]\n", - " ... \n", - "452 [32.0, 144.0, 140.0, 255.0]\n", - "453 [32.0, 144.0, 140.0, 255.0]\n", - "454 [68.0, 1.0, 84.0, 255.0]\n", - "455 [94.0, 201.0, 97.0, 255.0]\n", - "456 [58.0, 82.0, 139.0, 255.0]\n", + "0 [254.0, 226.0, 144.0, 255.0]\n", + "1 [253.0, 152.0, 40.0, 255.0]\n", + "2 [254.0, 226.0, 144.0, 255.0]\n", + "3 [102.0, 37.0, 5.0, 255.0]\n", + "4 [254.0, 226.0, 144.0, 255.0]\n", + " ... \n", + "452 [253.0, 152.0, 40.0, 255.0]\n", + "453 [253.0, 152.0, 40.0, 255.0]\n", + "454 [255.0, 255.0, 229.0, 255.0]\n", + "455 [202.0, 75.0, 2.0, 255.0]\n", + "456 [254.0, 226.0, 144.0, 255.0]\n", "Name: fill, Length: 457, dtype: object" ] }, - "execution_count": 15, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df['fill']" + "df[\"fill\"]" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "7e2f40d5-243b-41e7-99e1-2ab1f94b23ff", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T16:41:32.307760Z", - "iopub.status.busy": "2024-07-24T16:41:32.307664Z", - "iopub.status.idle": "2024-07-24T16:41:32.449826Z", - "shell.execute_reply": "2024-07-24T16:41:32.449188Z", - "shell.execute_reply.started": "2024-07-24T16:41:32.307747Z" + "iopub.execute_input": "2024-07-24T17:03:57.630205Z", + "iopub.status.busy": "2024-07-24T17:03:57.629092Z", + "iopub.status.idle": "2024-07-24T17:03:57.781679Z", + "shell.execute_reply": "2024-07-24T17:03:57.781300Z", + "shell.execute_reply.started": "2024-07-24T17:03:57.630159Z" } }, "outputs": [ @@ -790,9 +776,9 @@ " "data": [\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -873,9 +859,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -916,9 +902,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -967,9 +953,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1002,9 +988,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1073,9 +1059,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1116,9 +1102,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1151,9 +1137,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1186,9 +1172,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1221,9 +1207,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1268,9 +1254,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1303,9 +1289,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1338,9 +1324,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1373,9 +1359,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1424,9 +1410,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1463,9 +1449,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1502,9 +1488,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1541,9 +1527,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1576,9 +1562,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1611,9 +1597,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1646,9 +1632,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1681,9 +1667,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1716,9 +1702,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1751,9 +1737,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1790,9 +1776,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1829,9 +1815,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1872,9 +1858,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -1979,9 +1965,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2022,9 +2008,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2077,9 +2063,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2196,9 +2182,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2235,9 +2221,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2278,9 +2264,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2325,9 +2311,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2372,9 +2358,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2415,9 +2401,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2454,9 +2440,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2513,9 +2499,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2564,9 +2550,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2607,9 +2593,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2646,9 +2632,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2681,9 +2667,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2720,9 +2706,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2755,9 +2741,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2794,9 +2780,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2829,9 +2815,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2864,9 +2850,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2903,9 +2889,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -2942,9 +2928,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3041,9 +3027,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3084,9 +3070,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3127,9 +3113,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3158,9 +3144,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3197,9 +3183,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3236,9 +3222,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3279,9 +3265,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3330,9 +3316,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3369,9 +3355,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3440,9 +3426,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3475,9 +3461,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3542,9 +3528,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3617,9 +3603,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3692,9 +3678,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3735,9 +3721,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3770,9 +3756,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3813,9 +3799,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3856,9 +3842,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3903,9 +3889,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3950,9 +3936,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -3997,9 +3983,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4036,9 +4022,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4071,9 +4057,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4190,9 +4176,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4299,9 +4285,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4342,9 +4328,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4385,9 +4371,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4428,9 +4414,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4463,9 +4449,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4518,9 +4504,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4557,9 +4543,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4608,9 +4594,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4647,9 +4633,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4682,9 +4668,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4717,9 +4703,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4760,9 +4746,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4799,9 +4785,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4846,9 +4832,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4905,9 +4891,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4956,9 +4942,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -4999,9 +4985,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5046,9 +5032,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5101,9 +5087,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5140,9 +5126,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5179,9 +5165,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5218,9 +5204,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5257,9 +5243,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5296,9 +5282,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5331,9 +5317,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5366,9 +5352,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5417,9 +5403,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5456,9 +5442,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5495,9 +5481,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5538,9 +5524,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5577,9 +5563,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5616,9 +5602,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5651,9 +5637,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5694,9 +5680,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5741,9 +5727,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5796,9 +5782,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5883,9 +5869,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5926,9 +5912,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -5989,9 +5975,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6020,9 +6006,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6099,9 +6085,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6202,9 +6188,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6237,9 +6223,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6272,9 +6258,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6307,9 +6293,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6346,9 +6332,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6381,9 +6367,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6416,9 +6402,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6489,9 +6475,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6520,9 +6506,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6555,9 +6541,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6638,9 +6624,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6677,9 +6663,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6756,9 +6742,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6799,9 +6785,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6834,9 +6820,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6905,9 +6891,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6952,9 +6938,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -6987,9 +6973,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7030,9 +7016,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7077,9 +7063,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7140,9 +7126,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7183,9 +7169,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7250,9 +7236,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7285,9 +7271,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7320,9 +7306,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7355,9 +7341,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7390,9 +7376,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7425,9 +7411,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7460,9 +7446,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7495,9 +7481,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7534,9 +7520,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7569,9 +7555,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7624,9 +7610,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7687,9 +7673,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7726,9 +7712,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7761,9 +7747,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7796,9 +7782,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7843,9 +7829,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7882,9 +7868,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7917,9 +7903,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7952,9 +7938,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -7987,9 +7973,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8022,9 +8008,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8061,9 +8047,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8108,9 +8094,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8147,9 +8133,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8190,9 +8176,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8229,9 +8215,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8268,9 +8254,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8303,9 +8289,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8370,9 +8356,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8417,9 +8403,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8452,9 +8438,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8487,9 +8473,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8522,9 +8508,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8561,9 +8547,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8604,9 +8590,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8639,9 +8625,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8746,9 +8732,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8781,9 +8767,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8816,9 +8802,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8851,9 +8837,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8886,9 +8872,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8921,9 +8907,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8956,9 +8942,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -8991,9 +8977,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9030,9 +9016,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9065,9 +9051,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9096,9 +9082,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9139,9 +9125,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9186,9 +9172,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9217,9 +9203,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9248,9 +9234,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9287,9 +9273,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9326,9 +9312,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9365,9 +9351,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9400,9 +9386,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9455,9 +9441,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9502,9 +9488,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9577,9 +9563,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9616,9 +9602,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9659,9 +9645,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9714,9 +9700,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9757,9 +9743,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9800,9 +9786,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9839,9 +9825,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9878,9 +9864,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9929,9 +9915,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -9980,9 +9966,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10027,9 +10013,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10070,9 +10056,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10113,9 +10099,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10160,9 +10146,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10211,9 +10197,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10258,9 +10244,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10301,9 +10287,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10340,9 +10326,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10383,9 +10369,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10422,9 +10408,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10457,9 +10443,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10512,9 +10498,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10547,9 +10533,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10582,9 +10568,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10621,9 +10607,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10664,9 +10650,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10711,9 +10697,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10746,9 +10732,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10785,9 +10771,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10832,9 +10818,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -10993,9 +10979,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11024,9 +11010,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11099,9 +11085,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11134,9 +11120,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11205,9 +11191,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11240,9 +11226,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11291,9 +11277,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11330,9 +11316,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11373,9 +11359,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11408,9 +11394,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11451,9 +11437,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11490,9 +11476,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11537,9 +11523,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11616,9 +11602,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11679,9 +11665,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11714,9 +11700,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11749,9 +11735,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11800,9 +11786,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11831,9 +11817,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11878,9 +11864,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11957,9 +11943,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -11996,9 +11982,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12031,9 +12017,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12066,9 +12052,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12109,9 +12095,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12152,9 +12138,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12187,9 +12173,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12230,9 +12216,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12285,9 +12271,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12320,9 +12306,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12367,9 +12353,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12406,9 +12392,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12461,9 +12447,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12524,9 +12510,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12591,9 +12577,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12626,9 +12612,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12681,9 +12667,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12720,9 +12706,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12763,9 +12749,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12814,9 +12800,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12849,9 +12835,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12888,9 +12874,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12939,9 +12925,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -12978,9 +12964,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13021,9 +13007,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13080,9 +13066,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13119,9 +13105,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13178,9 +13164,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13221,9 +13207,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13264,9 +13250,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13311,9 +13297,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13350,9 +13336,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13401,9 +13387,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13436,9 +13422,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13471,9 +13457,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13510,9 +13496,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13577,9 +13563,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13612,9 +13598,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13663,9 +13649,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13714,9 +13700,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13761,9 +13747,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13800,9 +13786,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13835,9 +13821,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13894,9 +13880,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13933,9 +13919,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -13968,9 +13954,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14003,9 +13989,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14038,9 +14024,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14077,9 +14063,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14116,9 +14102,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14163,9 +14149,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14202,9 +14188,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14245,9 +14231,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14284,9 +14270,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14359,9 +14345,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14398,9 +14384,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14441,9 +14427,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14484,9 +14470,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14519,9 +14505,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14562,9 +14548,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14601,9 +14587,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14640,9 +14626,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14683,9 +14669,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14722,9 +14708,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14761,9 +14747,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14796,9 +14782,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14839,9 +14825,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14874,9 +14860,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14909,9 +14895,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14948,9 +14934,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -14983,9 +14969,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15030,9 +15016,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15073,9 +15059,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15108,9 +15094,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15147,9 +15133,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15186,9 +15172,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15225,9 +15211,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15260,9 +15246,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15319,9 +15305,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15354,9 +15340,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15389,9 +15375,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15428,9 +15414,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15487,9 +15473,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15518,9 +15504,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15549,9 +15535,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15580,9 +15566,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15623,9 +15609,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15706,9 +15692,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15785,9 +15771,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15824,9 +15810,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15883,9 +15869,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15918,9 +15904,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -15953,9 +15939,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16016,9 +16002,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16051,9 +16037,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16102,9 +16088,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16165,9 +16151,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16216,9 +16202,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16251,9 +16237,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16318,9 +16304,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16385,9 +16371,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16456,9 +16442,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16507,9 +16493,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16538,9 +16524,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16581,9 +16567,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16624,9 +16610,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16659,9 +16645,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16694,9 +16680,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16737,9 +16723,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16772,9 +16758,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16807,9 +16793,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16842,9 +16828,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16877,9 +16863,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16912,9 +16898,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16947,9 +16933,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -16982,9 +16968,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17017,9 +17003,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17052,9 +17038,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17087,9 +17073,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17122,9 +17108,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17157,9 +17143,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17204,9 +17190,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17263,9 +17249,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17302,9 +17288,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17337,9 +17323,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17376,9 +17362,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17423,9 +17409,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17458,9 +17444,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17493,9 +17479,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17572,9 +17558,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17611,9 +17597,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17654,9 +17640,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17697,9 +17683,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17756,9 +17742,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17799,9 +17785,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17834,9 +17820,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17873,9 +17859,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17912,9 +17898,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17955,9 +17941,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -17998,9 +17984,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18033,9 +18019,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18068,9 +18054,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18151,9 +18137,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18198,9 +18184,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18297,9 +18283,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18336,9 +18322,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18371,9 +18357,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18410,9 +18396,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18449,9 +18435,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18488,9 +18474,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18523,9 +18509,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18658,9 +18644,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18697,9 +18683,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18784,9 +18770,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18819,9 +18805,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18866,9 +18852,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18909,9 +18895,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18956,9 +18942,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -18999,9 +18985,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19030,9 +19016,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19073,9 +19059,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19128,9 +19114,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19163,9 +19149,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19210,9 +19196,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19261,9 +19247,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19296,9 +19282,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19331,9 +19317,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19374,9 +19360,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19417,9 +19403,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19488,9 +19474,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19619,9 +19605,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19662,9 +19648,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19705,9 +19691,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19756,9 +19742,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19799,9 +19785,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19834,9 +19820,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19869,9 +19855,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -19984,9 +19970,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20035,9 +20021,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20070,9 +20056,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20145,9 +20131,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20204,9 +20190,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20239,9 +20225,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20294,9 +20280,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20365,9 +20351,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20416,9 +20402,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20455,9 +20441,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20534,9 +20520,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20569,9 +20555,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20612,9 +20598,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20655,9 +20641,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20702,9 +20688,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20737,9 +20723,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20776,9 +20762,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20815,9 +20801,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20858,9 +20844,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20909,9 +20895,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -20948,9 +20934,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21003,9 +20989,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21042,9 +21028,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21165,9 +21151,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21200,9 +21186,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21259,9 +21245,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21298,9 +21284,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21337,9 +21323,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21376,9 +21362,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21415,9 +21401,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21450,9 +21436,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21513,9 +21499,9 @@ " },\n", " {\n", " "fill": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21548,9 +21534,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21587,9 +21573,9 @@ " },\n", " {\n", " "fill": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21630,9 +21616,9 @@ " },\n", " {\n", " "fill": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21673,9 +21659,9 @@ " },\n", " {\n", " "fill": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21724,9 +21710,9 @@ " },\n", " {\n", " "fill": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " "geometry": {\n", @@ -21771,7 +21757,7 @@ " }\n", " ],\n", " "getFillColor": "@@=fill",\n", - " "id": "64936343-2328-4204-9128-175960bdd026",\n", + " "id": "9c801a00-d82d-4562-98c0-aed47f92311b",\n", " "opacity": 0.8,\n", " "pickable": true\n", " }\n", @@ -21816,9 +21802,9 @@ " \"data\": [\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -21899,9 +21885,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -21942,9 +21928,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -21993,9 +21979,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22028,9 +22014,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22099,9 +22085,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22142,9 +22128,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22177,9 +22163,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22212,9 +22198,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22247,9 +22233,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22294,9 +22280,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22329,9 +22315,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22364,9 +22350,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22399,9 +22385,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22450,9 +22436,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22489,9 +22475,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22528,9 +22514,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22567,9 +22553,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22602,9 +22588,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22637,9 +22623,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22672,9 +22658,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22707,9 +22693,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22742,9 +22728,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22777,9 +22763,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22816,9 +22802,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22855,9 +22841,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -22898,9 +22884,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23005,9 +22991,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23048,9 +23034,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23103,9 +23089,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23222,9 +23208,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23261,9 +23247,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23304,9 +23290,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23351,9 +23337,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23398,9 +23384,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23441,9 +23427,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23480,9 +23466,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23539,9 +23525,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23590,9 +23576,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23633,9 +23619,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23672,9 +23658,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23707,9 +23693,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23746,9 +23732,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23781,9 +23767,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23820,9 +23806,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23855,9 +23841,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23890,9 +23876,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23929,9 +23915,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -23968,9 +23954,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24067,9 +24053,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24110,9 +24096,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24153,9 +24139,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24184,9 +24170,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24223,9 +24209,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24262,9 +24248,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24305,9 +24291,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24356,9 +24342,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24395,9 +24381,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24466,9 +24452,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24501,9 +24487,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24568,9 +24554,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24643,9 +24629,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24718,9 +24704,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24761,9 +24747,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24796,9 +24782,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24839,9 +24825,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24882,9 +24868,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24929,9 +24915,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -24976,9 +24962,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25023,9 +25009,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25062,9 +25048,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25097,9 +25083,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25216,9 +25202,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25325,9 +25311,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25368,9 +25354,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25411,9 +25397,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25454,9 +25440,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25489,9 +25475,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25544,9 +25530,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25583,9 +25569,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25634,9 +25620,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25673,9 +25659,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25708,9 +25694,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25743,9 +25729,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25786,9 +25772,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25825,9 +25811,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25872,9 +25858,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25931,9 +25917,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -25982,9 +25968,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26025,9 +26011,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26072,9 +26058,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26127,9 +26113,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26166,9 +26152,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26205,9 +26191,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26244,9 +26230,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26283,9 +26269,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26322,9 +26308,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26357,9 +26343,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26392,9 +26378,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26443,9 +26429,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26482,9 +26468,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26521,9 +26507,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26564,9 +26550,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26603,9 +26589,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26642,9 +26628,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26677,9 +26663,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26720,9 +26706,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26767,9 +26753,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26822,9 +26808,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26909,9 +26895,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -26952,9 +26938,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27015,9 +27001,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27046,9 +27032,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27125,9 +27111,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27228,9 +27214,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27263,9 +27249,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27298,9 +27284,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27333,9 +27319,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27372,9 +27358,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27407,9 +27393,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27442,9 +27428,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27515,9 +27501,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27546,9 +27532,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27581,9 +27567,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27664,9 +27650,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27703,9 +27689,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27782,9 +27768,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27825,9 +27811,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27860,9 +27846,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27931,9 +27917,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -27978,9 +27964,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28013,9 +27999,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28056,9 +28042,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28103,9 +28089,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28166,9 +28152,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28209,9 +28195,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28276,9 +28262,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28311,9 +28297,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28346,9 +28332,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28381,9 +28367,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28416,9 +28402,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28451,9 +28437,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28486,9 +28472,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28521,9 +28507,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28560,9 +28546,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28595,9 +28581,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28650,9 +28636,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28713,9 +28699,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28752,9 +28738,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28787,9 +28773,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28822,9 +28808,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28869,9 +28855,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28908,9 +28894,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28943,9 +28929,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -28978,9 +28964,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29013,9 +28999,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29048,9 +29034,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29087,9 +29073,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29134,9 +29120,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29173,9 +29159,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29216,9 +29202,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29255,9 +29241,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29294,9 +29280,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29329,9 +29315,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29396,9 +29382,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29443,9 +29429,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29478,9 +29464,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29513,9 +29499,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29548,9 +29534,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29587,9 +29573,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29630,9 +29616,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29665,9 +29651,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29772,9 +29758,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29807,9 +29793,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29842,9 +29828,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29877,9 +29863,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29912,9 +29898,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29947,9 +29933,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -29982,9 +29968,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30017,9 +30003,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30056,9 +30042,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30091,9 +30077,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30122,9 +30108,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30165,9 +30151,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30212,9 +30198,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30243,9 +30229,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30274,9 +30260,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30313,9 +30299,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30352,9 +30338,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30391,9 +30377,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30426,9 +30412,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30481,9 +30467,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30528,9 +30514,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30603,9 +30589,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30642,9 +30628,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30685,9 +30671,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30740,9 +30726,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30783,9 +30769,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30826,9 +30812,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30865,9 +30851,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30904,9 +30890,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -30955,9 +30941,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31006,9 +30992,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31053,9 +31039,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31096,9 +31082,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31139,9 +31125,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31186,9 +31172,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31237,9 +31223,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31284,9 +31270,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31327,9 +31313,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31366,9 +31352,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31409,9 +31395,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31448,9 +31434,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31483,9 +31469,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31538,9 +31524,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31573,9 +31559,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31608,9 +31594,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31647,9 +31633,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31690,9 +31676,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31737,9 +31723,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31772,9 +31758,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31811,9 +31797,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -31858,9 +31844,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32019,9 +32005,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32050,9 +32036,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32125,9 +32111,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32160,9 +32146,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32231,9 +32217,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32266,9 +32252,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32317,9 +32303,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32356,9 +32342,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32399,9 +32385,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32434,9 +32420,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32477,9 +32463,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32516,9 +32502,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32563,9 +32549,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32642,9 +32628,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32705,9 +32691,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32740,9 +32726,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32775,9 +32761,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32826,9 +32812,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32857,9 +32843,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32904,9 +32890,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -32983,9 +32969,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33022,9 +33008,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33057,9 +33043,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33092,9 +33078,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33135,9 +33121,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33178,9 +33164,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33213,9 +33199,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33256,9 +33242,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33311,9 +33297,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33346,9 +33332,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33393,9 +33379,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33432,9 +33418,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33487,9 +33473,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33550,9 +33536,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33617,9 +33603,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33652,9 +33638,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33707,9 +33693,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33746,9 +33732,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33789,9 +33775,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33840,9 +33826,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33875,9 +33861,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33914,9 +33900,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -33965,9 +33951,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34004,9 +33990,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34047,9 +34033,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34106,9 +34092,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34145,9 +34131,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34204,9 +34190,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34247,9 +34233,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34290,9 +34276,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34337,9 +34323,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34376,9 +34362,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34427,9 +34413,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34462,9 +34448,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34497,9 +34483,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34536,9 +34522,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34603,9 +34589,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34638,9 +34624,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34689,9 +34675,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34740,9 +34726,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34787,9 +34773,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34826,9 +34812,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34861,9 +34847,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34920,9 +34906,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34959,9 +34945,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -34994,9 +34980,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35029,9 +35015,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35064,9 +35050,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35103,9 +35089,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35142,9 +35128,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35189,9 +35175,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35228,9 +35214,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35271,9 +35257,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35310,9 +35296,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35385,9 +35371,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35424,9 +35410,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35467,9 +35453,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35510,9 +35496,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35545,9 +35531,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35588,9 +35574,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35627,9 +35613,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35666,9 +35652,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35709,9 +35695,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35748,9 +35734,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35787,9 +35773,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35822,9 +35808,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35865,9 +35851,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35900,9 +35886,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35935,9 +35921,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -35974,9 +35960,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36009,9 +35995,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36056,9 +36042,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36099,9 +36085,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36134,9 +36120,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36173,9 +36159,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36212,9 +36198,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36251,9 +36237,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36286,9 +36272,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36345,9 +36331,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36380,9 +36366,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36415,9 +36401,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36454,9 +36440,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36513,9 +36499,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36544,9 +36530,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36575,9 +36561,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36606,9 +36592,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36649,9 +36635,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36732,9 +36718,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36811,9 +36797,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36850,9 +36836,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36909,9 +36895,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36944,9 +36930,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -36979,9 +36965,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37042,9 +37028,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37077,9 +37063,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37128,9 +37114,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37191,9 +37177,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37242,9 +37228,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37277,9 +37263,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37344,9 +37330,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37411,9 +37397,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37482,9 +37468,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37533,9 +37519,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37564,9 +37550,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37607,9 +37593,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37650,9 +37636,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37685,9 +37671,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37720,9 +37706,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37763,9 +37749,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37798,9 +37784,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37833,9 +37819,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37868,9 +37854,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37903,9 +37889,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37938,9 +37924,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -37973,9 +37959,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38008,9 +37994,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38043,9 +38029,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38078,9 +38064,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38113,9 +38099,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38148,9 +38134,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38183,9 +38169,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38230,9 +38216,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38289,9 +38275,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38328,9 +38314,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38363,9 +38349,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38402,9 +38388,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38449,9 +38435,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38484,9 +38470,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38519,9 +38505,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38598,9 +38584,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38637,9 +38623,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38680,9 +38666,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38723,9 +38709,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38782,9 +38768,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38825,9 +38811,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38860,9 +38846,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38899,9 +38885,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38938,9 +38924,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -38981,9 +38967,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39024,9 +39010,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39059,9 +39045,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39094,9 +39080,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39177,9 +39163,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39224,9 +39210,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39323,9 +39309,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39362,9 +39348,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39397,9 +39383,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39436,9 +39422,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39475,9 +39461,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39514,9 +39500,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39549,9 +39535,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39684,9 +39670,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39723,9 +39709,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39810,9 +39796,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39845,9 +39831,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39892,9 +39878,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39935,9 +39921,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -39982,9 +39968,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40025,9 +40011,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40056,9 +40042,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40099,9 +40085,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40154,9 +40140,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40189,9 +40175,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40236,9 +40222,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40287,9 +40273,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40322,9 +40308,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40357,9 +40343,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40400,9 +40386,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40443,9 +40429,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40514,9 +40500,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40645,9 +40631,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40688,9 +40674,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40731,9 +40717,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40782,9 +40768,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40825,9 +40811,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40860,9 +40846,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -40895,9 +40881,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41010,9 +40996,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41061,9 +41047,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41096,9 +41082,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41171,9 +41157,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41230,9 +41216,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41265,9 +41251,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41320,9 +41306,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41391,9 +41377,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41442,9 +41428,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41481,9 +41467,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41560,9 +41546,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41595,9 +41581,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41638,9 +41624,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41681,9 +41667,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41728,9 +41714,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41763,9 +41749,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41802,9 +41788,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41841,9 +41827,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41884,9 +41870,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41935,9 +41921,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -41974,9 +41960,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42029,9 +42015,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42068,9 +42054,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42191,9 +42177,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42226,9 +42212,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42285,9 +42271,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42324,9 +42310,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42363,9 +42349,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42402,9 +42388,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42441,9 +42427,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42476,9 +42462,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42539,9 +42525,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 253.0,\n", - " 231.0,\n", - " 36.0,\n", + " 102.0,\n", + " 37.0,\n", + " 5.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42574,9 +42560,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42613,9 +42599,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 32.0,\n", - " 144.0,\n", - " 140.0,\n", + " 253.0,\n", + " 152.0,\n", + " 40.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42656,9 +42642,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 68.0,\n", - " 1.0,\n", - " 84.0,\n", + " 255.0,\n", + " 255.0,\n", + " 229.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42699,9 +42685,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 94.0,\n", - " 201.0,\n", - " 97.0,\n", + " 202.0,\n", + " 75.0,\n", + " 2.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42750,9 +42736,9 @@ " },\n", " {\n", " \"fill\": [\n", - " 58.0,\n", - " 82.0,\n", - " 139.0,\n", + " 254.0,\n", + " 226.0,\n", + " 144.0,\n", " 255.0\n", " ],\n", " \"geometry\": {\n", @@ -42797,7 +42783,7 @@ " }\n", " ],\n", " \"getFillColor\": \"@@=fill\",\n", - " \"id\": \"64936343-2328-4204-9128-175960bdd026\",\n", + " \"id\": \"9c801a00-d82d-4562-98c0-aed47f92311b\",\n", " \"opacity\": 0.8,\n", " \"pickable\": true\n", " }\n", @@ -42813,18 +42799,17 @@ "}" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\n", "layers = [\n", " pdk.Layer(\n", " \"GeoJsonLayer\",\n", - " data=df.to_crs(4326)[['geometry', 'fill']],\n", - " get_fill_color='fill',\n", + " data=df.to_crs(4326)[[\"geometry\", \"fill\"]],\n", + " get_fill_color=\"fill\",\n", " opacity=0.8,\n", " auto_highlight=True,\n", " pickable=True,\n", @@ -42841,7 +42826,7 @@ " layers,\n", " map_provider=\"carto\",\n", " map_style=pdk.map_styles.LIGHT,\n", - " initial_view_state=view_state\n", + " initial_view_state=view_state,\n", ")\n", "D" ] @@ -42876,13 +42861,7 @@ "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { - "0b1aed76adae44d2975c40f81eb67bc3": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "0e8d7b3acd1d4f44801ce614badc7007": { + "0a50578bb8b94e8c8976d56943bc025b": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42898,56 +42877,14 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_cb66855af1114d3a96c4a79ccd6e09a3", + "layout": "IPY_MODEL_21d7d5e7af20465791e605abe8eb0327", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "2a268e7e985445b2b3d84555a6cd9bde": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "2cecf8767bd84d1b9b124de996f3e738": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "WidgetModel", - "state": { - "_layer_type": "polygon", - "_view_module": null, - "_view_module_version": "", - "auto_highlight": false, - "elevation_scale": null, - "extensions": [], - "extruded": null, - "filled": null, - "get_elevation": null, - "get_fill_color": [ - {} - ], - "get_line_color": null, - "get_line_width": null, - "line_joint_rounded": null, - "line_miter_limit": null, - "line_width_max_pixels": null, - "line_width_min_pixels": null, - "line_width_scale": null, - "line_width_units": null, - "opacity": 1, - "pickable": true, - "selected_index": null, - "stroked": null, - "table": [ - {} - ], - "visible": true, - "wireframe": null - } - }, - "2da804b722d04b40b3d1ed28b6315fd6": { + "0d2db49eabdb4209838702b8f3e2c2d3": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42955,22 +42892,28 @@ "_model_module": "@deck.gl/jupyter-widget", "_model_name": "JupyterTransportModel", "_view_name": "ErrorWidgetView", - "carto_key": null, + "carto_key": "", "configuration": null, - "custom_libraries": [], + "custom_libraries": null, "data_buffer": null, "error": {}, - "google_maps_key": null, + "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_f49ff5edc12e40d2925533efe1ac4fb2", - "mapbox_key": null, + "layout": "IPY_MODEL_ef6d74d3d71148a1a2702d356de699d3", + "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "5bac9707a21145909c61aa6fca34074f": { + "21d7d5e7af20465791e605abe8eb0327": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "3416fd1a82bd43c390578b3e5eac5207": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42978,22 +42921,55 @@ "_model_module": "@deck.gl/jupyter-widget", "_model_name": "JupyterTransportModel", "_view_name": "ErrorWidgetView", - "carto_key": "", + "carto_key": null, "configuration": null, - "custom_libraries": null, + "custom_libraries": [], "data_buffer": null, "error": {}, - "google_maps_key": "", + "google_maps_key": null, "height": 500, "json_input": "", - "layout": "IPY_MODEL_7dac48de52a74d1b9a741706ae66c945", - "mapbox_key": "", + "layout": "IPY_MODEL_d2a3048857294352900e275018ae8225", + "mapbox_key": null, "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "6e50767a937146c78902fc92dc7a3cc7": { + "6e96c0643496460da30d38df72bb309a": { + "model_module": "anywidget", + "model_module_version": "~0.9.*", + "model_name": "AnyModel", + "state": { + "_anywidget_id": "lonboard._map.Map", + "_css": ".lonboard-tooltip{font-family:var(--jp-ui-font-family);font-size:var(--jp-ui-font-size1)}.lonboard-tooltip table{border-collapse:collapse}.lonboard-tooltip table tr:nth-child(odd){background-color:#fff}.lonboard-tooltip table tr:nth-child(2n){background-color:#f1f1f1}.lonboard-tooltip td{border:1px solid rgb(204,204,204);padding:5px}.lonboard-tooltip td:first-child{font-weight:450}\n", + "_esm": "var EJ=Object.create;var $C=Object.defineProperty;var PJ=Object.getOwnPropertyDescriptor;var IJ=Object.getOwnPropertyNames;var CJ=Object.getPrototypeOf,LJ=Object.prototype.hasOwnProperty;var Br=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mA=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},kJ=(e,t,r,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let s of IJ(t))!LJ.call(e,s)&&s!==r&&$C(e,s,{get:()=>t[s],enumerable:!(i=PJ(t,s))||i.enumerable});return e};var Ri=(e,t,r)=>(r=e!=null?EJ(CJ(e)):{},kJ(t||!e||!e.__esModule?$C(r,\"default\",{value:e,enumerable:!0}):r,e));var _z=Br(Di=>{\"use strict\";var r1=Symbol.for(\"react.element\"),RJ=Symbol.for(\"react.portal\"),DJ=Symbol.for(\"react.fragment\"),OJ=Symbol.for(\"react.strict_mode\"),BJ=Symbol.for(\"react.profiler\"),FJ=Symbol.for(\"react.provider\"),zJ=Symbol.for(\"react.context\"),NJ=Symbol.for(\"react.forward_ref\"),UJ=Symbol.for(\"react.suspense\"),VJ=Symbol.for(\"react.memo\"),jJ=Symbol.for(\"react.lazy\"),az=Symbol.iterator;function GJ(e){return e===null||typeof e!=\"object\"?null:(e=az&&e[az]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var uz={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},hz=Object.assign,fz={};function R_(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}R_.prototype.isReactComponent={};R_.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};R_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function dz(){}dz.prototype=R_.prototype;function KC(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}var JC=KC.prototype=new dz;JC.constructor=KC;hz(JC,R_.prototype);JC.isPureReactComponent=!0;var lz=Array.isArray,pz=Object.prototype.hasOwnProperty,tL={current:null},Az={key:!0,ref:!0,__self:!0,__source:!0};function mz(e,t,r){var i,s={},n=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(n=\"\"+t.key),t)pz.call(t,i)&&!Az.hasOwnProperty(i)&&(s[i]=t[i]);var c=arguments.length-2;if(c===1)s.children=r;else if(1{\"use strict\";yz.exports=_z()});var Iz=Br(zn=>{\"use strict\";function sL(e,t){var r=e.length;e.push(t);t:for(;0>>1,s=e[i];if(0<_T(s,t))e[i]=t,e[r]=s,r=i;else break t}}function Sh(e){return e.length===0?null:e[0]}function vT(e){if(e.length===0)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;t:for(var i=0,s=e.length,n=s>>>1;i_T(c,r))f_T(_,c)?(e[i]=_,e[f]=r,i=f):(e[i]=c,e[o]=r,i=o);else if(f_T(_,r))e[i]=_,e[f]=r,i=f;else break t}}return t}function _T(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance==\"object\"&&typeof performance.now==\"function\"?(vz=performance,zn.unstable_now=function(){return vz.now()}):(rL=Date,xz=rL.now(),zn.unstable_now=function(){return rL.now()-xz});var vz,rL,xz,If=[],gA=[],YJ=1,wu=null,qa=3,xT=!1,_0=!1,n1=!1,Sz=typeof setTimeout==\"function\"?setTimeout:null,Tz=typeof clearTimeout==\"function\"?clearTimeout:null,bz=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function oL(e){for(var t=Sh(gA);t!==null;){if(t.callback===null)vT(gA);else if(t.startTime<=e)vT(gA),t.sortIndex=t.expirationTime,sL(If,t);else break;t=Sh(gA)}}function aL(e){if(n1=!1,oL(e),!_0)if(Sh(If)!==null)_0=!0,cL(lL);else{var t=Sh(gA);t!==null&&uL(aL,t.startTime-e)}}function lL(e,t){_0=!1,n1&&(n1=!1,Tz(s1),s1=-1),xT=!0;var r=qa;try{for(oL(t),wu=Sh(If);wu!==null&&(!(wu.expirationTime>t)||e&&!Pz());){var i=wu.callback;if(typeof i==\"function\"){wu.callback=null,qa=wu.priorityLevel;var s=i(wu.expirationTime<=t);t=zn.unstable_now(),typeof s==\"function\"?wu.callback=s:wu===Sh(If)&&vT(If),oL(t)}else vT(If);wu=Sh(If)}if(wu!==null)var n=!0;else{var o=Sh(gA);o!==null&&uL(aL,o.startTime-t),n=!1}return n}finally{wu=null,qa=r,xT=!1}}var bT=!1,yT=null,s1=-1,Mz=5,Ez=-1;function Pz(){return!(zn.unstable_now()-Eze||125i?(e.sortIndex=r,sL(gA,e),Sh(If)===null&&e===Sh(gA)&&(n1?(Tz(s1),s1=-1):n1=!0,uL(aL,r-i))):(e.sortIndex=s,sL(If,e),_0||xT||(_0=!0,cL(lL))),e};zn.unstable_shouldYield=Pz;zn.unstable_wrapCallback=function(e){var t=qa;return function(){var r=qa;qa=t;try{return e.apply(this,arguments)}finally{qa=r}}}});var Lz=Br((tbt,Cz)=>{\"use strict\";Cz.exports=Iz()});var O8=Br(Zc=>{\"use strict\";var QJ=Yi(),Hc=Lz();function Pe(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),RL=Object.prototype.hasOwnProperty,$J=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,kz={},Rz={};function XJ(e){return RL.call(Rz,e)?!0:RL.call(kz,e)?!1:$J.test(e)?Rz[e]=!0:(kz[e]=!0,!1)}function KJ(e,t,r,i){if(r!==null&&r.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return i?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function JJ(e,t,r,i){if(t===null||typeof t>\"u\"||KJ(e,t,r,i))return!0;if(i)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Sl(e,t,r,i,s,n,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=o}var ga={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ga[e]=new Sl(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ga[t]=new Sl(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ga[e]=new Sl(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ga[e]=new Sl(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ga[e]=new Sl(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ga[e]=new Sl(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ga[e]=new Sl(e,5,!1,e.toLowerCase(),null,!1,!1)});var Tk=/[\\-:]([a-z])/g;function Mk(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!1,!1)});ga.xlinkHref=new Sl(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ek(e,t,r,i){var s=ga.hasOwnProperty(t)?ga[t]:null;(s!==null?s.type!==0:i||!(2c||s[o]!==n[c]){var f=`\n`+s[o].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),f}while(1<=o&&0<=c);break}}}finally{fL=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?p1(e):\"\"}function ttt(e){switch(e.tag){case 5:return p1(e.type);case 16:return p1(\"Lazy\");case 13:return p1(\"Suspense\");case 19:return p1(\"SuspenseList\");case 0:case 2:case 15:return e=dL(e.type,!1),e;case 11:return e=dL(e.type.render,!1),e;case 1:return e=dL(e.type,!0),e;default:return\"\"}}function FL(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case F_:return\"Fragment\";case B_:return\"Portal\";case DL:return\"Profiler\";case Pk:return\"StrictMode\";case OL:return\"Suspense\";case BL:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case U5:return(e.displayName||\"Context\")+\".Consumer\";case N5:return(e._context.displayName||\"Context\")+\".Provider\";case Ik:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Ck:return t=e.displayName||null,t!==null?t:FL(e.type)||\"Memo\";case yA:t=e._payload,e=e._init;try{return FL(e(t))}catch{}}return null}function ett(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return FL(t);case 8:return t===Pk?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==\"function\")return t.displayName||t.name||null;if(typeof t==\"string\")return t}return null}function RA(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function j5(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function rtt(e){var t=j5(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof r<\"u\"&&typeof r.get==\"function\"&&typeof r.set==\"function\"){var s=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=\"\"+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(o){i=\"\"+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ST(e){e._valueTracker||(e._valueTracker=rtt(e))}function G5(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),i=\"\";return e&&(i=j5(e)?e.checked?\"true\":\"false\":e.value),e=i,e!==r?(t.setValue(e),!0):!1}function KT(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function zL(e,t){var r=t.checked;return ms({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Oz(e,t){var r=t.defaultValue==null?\"\":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;r=RA(t.value!=null?t.value:r),e._wrapperState={initialChecked:i,initialValue:r,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function W5(e,t){t=t.checked,t!=null&&Ek(e,\"checked\",t,!1)}function NL(e,t){W5(e,t);var r=RA(t.value),i=t.type;if(r!=null)i===\"number\"?(r===0&&e.value===\"\"||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(i===\"submit\"||i===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?UL(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&UL(e,t.type,RA(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Bz(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var i=t.type;if(!(i!==\"submit\"&&i!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,r!==\"\"&&(e.name=r)}function UL(e,t,r){(t!==\"number\"||KT(e.ownerDocument)!==e)&&(r==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}var A1=Array.isArray;function Y_(e,t,r,i){if(e=e.options,t){t={};for(var s=0;s\"+t.valueOf().toString()+\"\",t=TT.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function P1(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var _1={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},itt=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(_1).forEach(function(e){itt.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_1[t]=_1[e]})});function Y5(e,t,r){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":r||typeof t!=\"number\"||t===0||_1.hasOwnProperty(e)&&_1[e]?(\"\"+t).trim():t+\"px\"}function Q5(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var i=r.indexOf(\"--\")===0,s=Y5(r,t[r],i);r===\"float\"&&(r=\"cssFloat\"),i?e.setProperty(r,s):e[r]=s}}var ntt=ms({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function GL(e,t){if(t){if(ntt[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Pe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Pe(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(Pe(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(Pe(62))}}function WL(e,t){if(e.indexOf(\"-\")===-1)return typeof t.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var HL=null;function Lk(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var qL=null,Q_=null,$_=null;function Nz(e){if(e=q1(e)){if(typeof qL!=\"function\")throw Error(Pe(280));var t=e.stateNode;t&&(t=MM(t),qL(e.stateNode,e.type,t))}}function $5(e){Q_?$_?$_.push(e):$_=[e]:Q_=e}function X5(){if(Q_){var e=Q_,t=$_;if($_=Q_=null,Nz(e),t)for(e=0;e>>=0,e===0?32:31-(Att(e)/mtt|0)|0}var MT=64,ET=4194304;function m1(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rM(e,t){var r=e.pendingLanes;if(r===0)return 0;var i=0,s=e.suspendedLanes,n=e.pingedLanes,o=r&268435455;if(o!==0){var c=o&~s;c!==0?i=m1(c):(n&=o,n!==0&&(i=m1(n)))}else o=r&~s,o!==0?i=m1(o):n!==0&&(i=m1(n));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,n=t&-t,s>=n||s===16&&(n&4194240)!==0))return t;if(i&4&&(i|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0r;r++)t.push(e);return t}function W1(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ih(t),e[t]=r}function vtt(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=v1),Yz=\" \",Qz=!1;function gN(e,t){switch(e){case\"keyup\":return Ytt.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function _N(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var z_=!1;function $tt(e,t){switch(e){case\"compositionend\":return _N(t);case\"keypress\":return t.which!==32?null:(Qz=!0,Yz);case\"textInput\":return e=t.data,e===Yz&&Qz?null:e;default:return null}}function Xtt(e,t){if(z_)return e===\"compositionend\"||!Nk&&gN(e,t)?(e=AN(),GT=Bk=wA=null,z_=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=i}t:{for(;r;){if(r.nextSibling){r=r.nextSibling;break t}r=r.parentNode}r=void 0}r=Kz(r)}}function bN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?bN(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wN(){for(var e=window,t=KT();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href==\"string\"}catch{r=!1}if(r)e=t.contentWindow;else break;t=KT(e.document)}return t}function Uk(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}function oet(e){var t=wN(),r=e.focusedElem,i=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&bN(r.ownerDocument.documentElement,r)){if(i!==null&&Uk(r)){if(t=i.start,e=i.end,e===void 0&&(e=t),\"selectionStart\"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,n=Math.min(i.start,s);i=i.end===void 0?n:Math.min(i.end,s),!e.extend&&n>i&&(s=i,i=n,n=s),s=Jz(r,n);var o=Jz(r,i);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),n>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus==\"function\"&&r.focus(),r=0;r=document.documentMode,N_=null,KL=null,b1=null,JL=!1;function t5(e,t,r){var i=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;JL||N_==null||N_!==KT(i)||(i=N_,\"selectionStart\"in i&&Uk(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),b1&&D1(b1,i)||(b1=i,i=sM(KL,\"onSelect\"),0j_||(e.current=sk[j_],sk[j_]=null,j_--)}function Nn(e,t){j_++,sk[j_]=e.current,e.current=t}var DA={},$a=BA(DA),Kl=BA(!1),M0=DA;function ey(e,t){var r=e.type.contextTypes;if(!r)return DA;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in r)s[n]=t[n];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function Jl(e){return e=e.childContextTypes,e!=null}function aM(){Zn(Kl),Zn($a)}function c5(e,t,r){if($a.current!==DA)throw Error(Pe(168));Nn($a,t),Nn(Kl,r)}function kN(e,t,r){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=\"function\")return r;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(Pe(108,ett(e)||\"Unknown\",s));return ms({},r,i)}function lM(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||DA,M0=$a.current,Nn($a,e),Nn(Kl,Kl.current),!0}function u5(e,t,r){var i=e.stateNode;if(!i)throw Error(Pe(169));r?(e=kN(e,t,M0),i.__reactInternalMemoizedMergedChildContext=e,Zn(Kl),Zn($a),Nn($a,e)):Zn(Kl),Nn(Kl,r)}var Wd=null,EM=!1,SL=!1;function RN(e){Wd===null?Wd=[e]:Wd.push(e)}function get(e){EM=!0,RN(e)}function FA(){if(!SL&&Wd!==null){SL=!0;var e=0,t=vn;try{var r=Wd;for(vn=1;e>=o,s-=o,Hd=1<<32-Ih(t)+s|r<qt?(le=Xt,Xt=null):le=Xt.sibling;var ue=R(Y,Xt,J[qt],ut);if(ue===null){Xt===null&&(Xt=le);break}e&&Xt&&ue.alternate===null&&t(Y,Xt),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue,Xt=le}if(qt===J.length)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;qtqt?(le=Xt,Xt=null):le=Xt.sibling;var De=R(Y,Xt,ue.value,ut);if(De===null){Xt===null&&(Xt=le);break}e&&Xt&&De.alternate===null&&t(Y,Xt),K=n(De,K,qt),kt===null?Et=De:kt.sibling=De,kt=De,Xt=le}if(ue.done)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;!ue.done;qt++,ue=J.next())ue=I(Y,ue.value,ut),ue!==null&&(K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return ns&&y0(Y,qt),Et}for(Xt=i(Y,Xt);!ue.done;qt++,ue=J.next())ue=N(Xt,Y,qt,ue.value,ut),ue!==null&&(e&&ue.alternate!==null&&Xt.delete(ue.key===null?qt:ue.key),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return e&&Xt.forEach(function(Ke){return t(Y,Ke)}),ns&&y0(Y,qt),Et}function et(Y,K,J,ut){if(typeof J==\"object\"&&J!==null&&J.type===F_&&J.key===null&&(J=J.props.children),typeof J==\"object\"&&J!==null){switch(J.$$typeof){case wT:t:{for(var Et=J.key,kt=K;kt!==null;){if(kt.key===Et){if(Et=J.type,Et===F_){if(kt.tag===7){r(Y,kt.sibling),K=s(kt,J.props.children),K.return=Y,Y=K;break t}}else if(kt.elementType===Et||typeof Et==\"object\"&&Et!==null&&Et.$$typeof===yA&&d5(Et)===kt.type){r(Y,kt.sibling),K=s(kt,J.props),K.ref=u1(Y,kt,J),K.return=Y,Y=K;break t}r(Y,kt);break}else t(Y,kt);kt=kt.sibling}J.type===F_?(K=T0(J.props.children,Y.mode,ut,J.key),K.return=Y,Y=K):(ut=XT(J.type,J.key,J.props,null,Y.mode,ut),ut.ref=u1(Y,K,J),ut.return=Y,Y=ut)}return o(Y);case B_:t:{for(kt=J.key;K!==null;){if(K.key===kt)if(K.tag===4&&K.stateNode.containerInfo===J.containerInfo&&K.stateNode.implementation===J.implementation){r(Y,K.sibling),K=s(K,J.children||[]),K.return=Y,Y=K;break t}else{r(Y,K);break}else t(Y,K);K=K.sibling}K=kL(J,Y.mode,ut),K.return=Y,Y=K}return o(Y);case yA:return kt=J._init,et(Y,K,kt(J._payload),ut)}if(A1(J))return j(Y,K,J,ut);if(o1(J))return Q(Y,K,J,ut);zT(Y,J)}return typeof J==\"string\"&&J!==\"\"||typeof J==\"number\"?(J=\"\"+J,K!==null&&K.tag===6?(r(Y,K.sibling),K=s(K,J),K.return=Y,Y=K):(r(Y,K),K=LL(J,Y.mode,ut),K.return=Y,Y=K),o(Y)):r(Y,K)}return et}var iy=FN(!0),zN=FN(!1),hM=BA(null),fM=null,H_=null,Wk=null;function Hk(){Wk=H_=fM=null}function qk(e){var t=hM.current;Zn(hM),e._currentValue=t}function lk(e,t,r){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===r)break;e=e.return}}function K_(e,t){fM=e,Wk=H_=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Xl=!0),e.firstContext=null)}function Pu(e){var t=e._currentValue;if(Wk!==e)if(e={context:e,memoizedValue:t,next:null},H_===null){if(fM===null)throw Error(Pe(308));H_=e,fM.dependencies={lanes:0,firstContext:e}}else H_=H_.next=e;return t}var b0=null;function Zk(e){b0===null?b0=[e]:b0.push(e)}function NN(e,t,r,i){var s=t.interleaved;return s===null?(r.next=r,Zk(t)):(r.next=s.next,s.next=r),t.interleaved=r,$d(e,i)}function $d(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var vA=!1;function Yk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function UN(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zd(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function IA(e,t,r){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,Zi&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,$d(e,r)}return s=i.interleaved,s===null?(t.next=t,Zk(i)):(t.next=s.next,s.next=t),i.interleaved=t,$d(e,r)}function HT(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}function p5(e,t){var r=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,r===i)){var s=null,n=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};n===null?s=n=o:n=n.next=o,r=r.next}while(r!==null);n===null?s=n=t:n=n.next=t}else s=n=t;r={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:i.shared,effects:i.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function dM(e,t,r,i){var s=e.updateQueue;vA=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,c=s.shared.pending;if(c!==null){s.shared.pending=null;var f=c,_=f.next;f.next=null,o===null?n=_:o.next=_,o=f;var w=e.alternate;w!==null&&(w=w.updateQueue,c=w.lastBaseUpdate,c!==o&&(c===null?w.firstBaseUpdate=_:c.next=_,w.lastBaseUpdate=f))}if(n!==null){var I=s.baseState;o=0,w=_=f=null,c=n;do{var R=c.lane,N=c.eventTime;if((i&R)===R){w!==null&&(w=w.next={eventTime:N,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});t:{var j=e,Q=c;switch(R=t,N=r,Q.tag){case 1:if(j=Q.payload,typeof j==\"function\"){I=j.call(N,I,R);break t}I=j;break t;case 3:j.flags=j.flags&-65537|128;case 0:if(j=Q.payload,R=typeof j==\"function\"?j.call(N,I,R):j,R==null)break t;I=ms({},I,R);break t;case 2:vA=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,R=s.effects,R===null?s.effects=[c]:R.push(c))}else N={eventTime:N,lane:R,tag:c.tag,payload:c.payload,callback:c.callback,next:null},w===null?(_=w=N,f=I):w=w.next=N,o|=R;if(c=c.next,c===null){if(c=s.shared.pending,c===null)break;R=c,c=R.next,R.next=null,s.lastBaseUpdate=R,s.shared.pending=null}}while(!0);if(w===null&&(f=I),s.baseState=f,s.firstBaseUpdate=_,s.lastBaseUpdate=w,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else n===null&&(s.shared.lanes=0);I0|=o,e.lanes=o,e.memoizedState=I}}function A5(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var i=ML.transition;ML.transition={};try{e(!1),t()}finally{vn=r,ML.transition=i}}function i8(){return Iu().memoizedState}function xet(e,t,r){var i=LA(e);if(r={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null},n8(e))s8(t,r);else if(r=NN(e,t,r,i),r!==null){var s=wl();Ch(r,e,i,s),o8(r,t,i)}}function bet(e,t,r){var i=LA(e),s={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null};if(n8(e))s8(t,s);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,c=n(o,r);if(s.hasEagerState=!0,s.eagerState=c,Lh(c,o)){var f=t.interleaved;f===null?(s.next=s,Zk(t)):(s.next=f.next,f.next=s),t.interleaved=s;return}}catch{}finally{}r=NN(e,t,s,i),r!==null&&(s=wl(),Ch(r,e,i,s),o8(r,t,i))}}function n8(e){var t=e.alternate;return e===As||t!==null&&t===As}function s8(e,t){w1=AM=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function o8(e,t,r){if(r&4194240){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}var mM={readContext:Pu,useCallback:Za,useContext:Za,useEffect:Za,useImperativeHandle:Za,useInsertionEffect:Za,useLayoutEffect:Za,useMemo:Za,useReducer:Za,useRef:Za,useState:Za,useDebugValue:Za,useDeferredValue:Za,useTransition:Za,useMutableSource:Za,useSyncExternalStore:Za,useId:Za,unstable_isNewReconciler:!1},wet={readContext:Pu,useCallback:function(e,t){return Lf().memoizedState=[e,t===void 0?null:t],e},useContext:Pu,useEffect:g5,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ZT(4194308,4,KN.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ZT(4194308,4,e,t)},useInsertionEffect:function(e,t){return ZT(4,2,e,t)},useMemo:function(e,t){var r=Lf();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var i=Lf();return t=r!==void 0?r(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=xet.bind(null,As,e),[i.memoizedState,e]},useRef:function(e){var t=Lf();return e={current:e},t.memoizedState=e},useState:m5,useDebugValue:r4,useDeferredValue:function(e){return Lf().memoizedState=e},useTransition:function(){var e=m5(!1),t=e[0];return e=vet.bind(null,e[1]),Lf().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var i=As,s=Lf();if(ns){if(r===void 0)throw Error(Pe(407));r=r()}else{if(r=t(),Jo===null)throw Error(Pe(349));P0&30||WN(i,t,r)}s.memoizedState=r;var n={value:r,getSnapshot:t};return s.queue=n,g5(qN.bind(null,i,n,e),[e]),i.flags|=2048,j1(9,HN.bind(null,i,n,r,t),void 0,null),r},useId:function(){var e=Lf(),t=Jo.identifierPrefix;if(ns){var r=qd,i=Hd;r=(i&~(1<<32-Ih(i)-1)).toString(32)+r,t=\":\"+t+\"R\"+r,r=U1++,0<\\/script>\",e=e.removeChild(e.firstChild)):typeof i.is==\"string\"?e=o.createElement(r,{is:i.is}):(e=o.createElement(r),r===\"select\"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,r),e[kf]=t,e[F1]=i,m8(e,t,!1,!1),t.stateNode=e;t:{switch(o=WL(r,i),r){case\"dialog\":qn(\"cancel\",e),qn(\"close\",e),s=i;break;case\"iframe\":case\"object\":case\"embed\":qn(\"load\",e),s=i;break;case\"video\":case\"audio\":for(s=0;soy&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304)}else{if(!i)if(e=pM(o),e!==null){if(t.flags|=128,i=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),h1(n,!0),n.tail===null&&n.tailMode===\"hidden\"&&!o.alternate&&!ns)return Ya(t),null}else 2*Xs()-n.renderingStartTime>oy&&r!==1073741824&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(r=n.last,r!==null?r.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Xs(),t.sibling=null,r=ps.current,Nn(ps,i?r&1|2:r&1),t):(Ya(t),null);case 22:case 23:return l4(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?jc&1073741824&&(Ya(t),t.subtreeFlags&6&&(t.flags|=8192)):Ya(t),null;case 24:return null;case 25:return null}throw Error(Pe(156,t.tag))}function ket(e,t){switch(jk(t),t.tag){case 1:return Jl(t.type)&&aM(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ny(),Zn(Kl),Zn($a),Xk(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $k(t),null;case 13:if(Zn(ps),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Pe(340));ry()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Zn(ps),null;case 4:return ny(),null;case 10:return qk(t.type._context),null;case 22:case 23:return l4(),null;case 24:return null;default:return null}}var UT=!1,Qa=!1,Ret=typeof WeakSet==\"function\"?WeakSet:Set,ur=null;function q_(e,t){var r=e.ref;if(r!==null)if(typeof r==\"function\")try{r(null)}catch(i){Cs(e,t,i)}else r.current=null}function gk(e,t,r){try{r()}catch(i){Cs(e,t,i)}}var P5=!1;function Det(e,t){if(tk=iM,e=wN(),Uk(e)){if(\"selectionStart\"in e)var r={start:e.selectionStart,end:e.selectionEnd};else t:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var s=i.anchorOffset,n=i.focusNode;i=i.focusOffset;try{r.nodeType,n.nodeType}catch{r=null;break t}var o=0,c=-1,f=-1,_=0,w=0,I=e,R=null;e:for(;;){for(var N;I!==r||s!==0&&I.nodeType!==3||(c=o+s),I!==n||i!==0&&I.nodeType!==3||(f=o+i),I.nodeType===3&&(o+=I.nodeValue.length),(N=I.firstChild)!==null;)R=I,I=N;for(;;){if(I===e)break e;if(R===r&&++_===s&&(c=o),R===n&&++w===i&&(f=o),(N=I.nextSibling)!==null)break;I=R,R=I.parentNode}I=N}r=c===-1||f===-1?null:{start:c,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(ek={focusedElem:e,selectionRange:r},iM=!1,ur=t;ur!==null;)if(t=ur,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ur=e;else for(;ur!==null;){t=ur;try{var j=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(j!==null){var Q=j.memoizedProps,et=j.memoizedState,Y=t.stateNode,K=Y.getSnapshotBeforeUpdate(t.elementType===t.type?Q:Mh(t.type,Q),et);Y.__reactInternalSnapshotBeforeUpdate=K}break;case 3:var J=t.stateNode.containerInfo;J.nodeType===1?J.textContent=\"\":J.nodeType===9&&J.documentElement&&J.removeChild(J.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Pe(163))}}catch(ut){Cs(t,t.return,ut)}if(e=t.sibling,e!==null){e.return=t.return,ur=e;break}ur=t.return}return j=P5,P5=!1,j}function S1(e,t,r){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&e)===e){var n=s.destroy;s.destroy=void 0,n!==void 0&&gk(t,r,n)}s=s.next}while(s!==i)}}function CM(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var i=r.create;r.destroy=i()}r=r.next}while(r!==t)}}function _k(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t==\"function\"?t(e):t.current=e}}function y8(e){var t=e.alternate;t!==null&&(e.alternate=null,y8(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[kf],delete t[F1],delete t[nk],delete t[Aet],delete t[met])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function v8(e){return e.tag===5||e.tag===3||e.tag===4}function I5(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||v8(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=oM));else if(i!==4&&(e=e.child,e!==null))for(yk(e,t,r),e=e.sibling;e!==null;)yk(e,t,r),e=e.sibling}function vk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(vk(e,t,r),e=e.sibling;e!==null;)vk(e,t,r),e=e.sibling}var Aa=null,Eh=!1;function _A(e,t,r){for(r=r.child;r!==null;)x8(e,t,r),r=r.sibling}function x8(e,t,r){if(Rf&&typeof Rf.onCommitFiberUnmount==\"function\")try{Rf.onCommitFiberUnmount(bM,r)}catch{}switch(r.tag){case 5:Qa||q_(r,t);case 6:var i=Aa,s=Eh;Aa=null,_A(e,t,r),Aa=i,Eh=s,Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Aa.removeChild(r.stateNode));break;case 18:Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?wL(e.parentNode,r):e.nodeType===1&&wL(e,r),k1(e)):wL(Aa,r.stateNode));break;case 4:i=Aa,s=Eh,Aa=r.stateNode.containerInfo,Eh=!0,_A(e,t,r),Aa=i,Eh=s;break;case 0:case 11:case 14:case 15:if(!Qa&&(i=r.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var n=s,o=n.destroy;n=n.tag,o!==void 0&&(n&2||n&4)&&gk(r,t,o),s=s.next}while(s!==i)}_A(e,t,r);break;case 1:if(!Qa&&(q_(r,t),i=r.stateNode,typeof i.componentWillUnmount==\"function\"))try{i.props=r.memoizedProps,i.state=r.memoizedState,i.componentWillUnmount()}catch(c){Cs(r,t,c)}_A(e,t,r);break;case 21:_A(e,t,r);break;case 22:r.mode&1?(Qa=(i=Qa)||r.memoizedState!==null,_A(e,t,r),Qa=i):_A(e,t,r);break;default:_A(e,t,r)}}function C5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Ret),t.forEach(function(i){var s=Get.bind(null,e,i);r.has(i)||(r.add(i),i.then(s,s))})}}function Th(e,t){var r=t.deletions;if(r!==null)for(var i=0;is&&(s=o),i&=~n}if(i=s,i=Xs()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Bet(i/1960))-i,10e?16:e,SA===null)var i=!1;else{if(e=SA,SA=null,yM=0,Zi&6)throw Error(Pe(331));var s=Zi;for(Zi|=4,ur=e.current;ur!==null;){var n=ur,o=n.child;if(ur.flags&16){var c=n.deletions;if(c!==null){for(var f=0;fXs()-o4?S0(e,0):s4|=r),tc(e,t)}function I8(e,t){t===0&&(e.mode&1?(t=ET,ET<<=1,!(ET&130023424)&&(ET=4194304)):t=1);var r=wl();e=$d(e,t),e!==null&&(W1(e,t,r),tc(e,r))}function jet(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),I8(e,r)}function Get(e,t){var r=0;switch(e.tag){case 13:var i=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(Pe(314))}i!==null&&i.delete(t),I8(e,r)}var C8;C8=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Kl.current)Xl=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Xl=!1,Cet(e,t,r);Xl=!!(e.flags&131072)}else Xl=!1,ns&&t.flags&1048576&&DN(t,uM,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;YT(e,t),e=t.pendingProps;var s=ey(t,$a.current);K_(t,r),s=Jk(null,t,i,e,s,r);var n=t4();return t.flags|=1,typeof s==\"object\"&&s!==null&&typeof s.render==\"function\"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jl(i)?(n=!0,lM(t)):n=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Yk(t),s.updater=IM,t.stateNode=s,s._reactInternals=t,uk(t,i,e,r),t=dk(null,t,i,!0,n,r)):(t.tag=0,ns&&n&&Vk(t),bl(null,t,s,r),t=t.child),t;case 16:i=t.elementType;t:{switch(YT(e,t),e=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=Het(i),e=Mh(i,e),s){case 0:t=fk(null,t,i,e,r);break t;case 1:t=T5(null,t,i,e,r);break t;case 11:t=w5(null,t,i,e,r);break t;case 14:t=S5(null,t,i,Mh(i.type,e),r);break t}throw Error(Pe(306,i,\"\"))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),fk(e,t,i,s,r);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),T5(e,t,i,s,r);case 3:t:{if(d8(t),e===null)throw Error(Pe(387));i=t.pendingProps,n=t.memoizedState,s=n.element,UN(e,t),dM(t,i,null,r);var o=t.memoizedState;if(i=o.element,n.isDehydrated)if(n={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){s=sy(Error(Pe(423)),t),t=M5(e,t,i,r,s);break t}else if(i!==s){s=sy(Error(Pe(424)),t),t=M5(e,t,i,r,s);break t}else for(Gc=PA(t.stateNode.containerInfo.firstChild),Wc=t,ns=!0,Ph=null,r=zN(t,null,i,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ry(),i===s){t=Xd(e,t,r);break t}bl(e,t,i,r)}t=t.child}return t;case 5:return VN(t),e===null&&ak(t),i=t.type,s=t.pendingProps,n=e!==null?e.memoizedProps:null,o=s.children,rk(i,s)?o=null:n!==null&&rk(i,n)&&(t.flags|=32),f8(e,t),bl(e,t,o,r),t.child;case 6:return e===null&&ak(t),null;case 13:return p8(e,t,r);case 4:return Qk(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=iy(t,null,i,r):bl(e,t,i,r),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),w5(e,t,i,s,r);case 7:return bl(e,t,t.pendingProps,r),t.child;case 8:return bl(e,t,t.pendingProps.children,r),t.child;case 12:return bl(e,t,t.pendingProps.children,r),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,n=t.memoizedProps,o=s.value,Nn(hM,i._currentValue),i._currentValue=o,n!==null)if(Lh(n.value,o)){if(n.children===s.children&&!Kl.current){t=Xd(e,t,r);break t}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var c=n.dependencies;if(c!==null){o=n.child;for(var f=c.firstContext;f!==null;){if(f.context===i){if(n.tag===1){f=Zd(-1,r&-r),f.tag=2;var _=n.updateQueue;if(_!==null){_=_.shared;var w=_.pending;w===null?f.next=f:(f.next=w.next,w.next=f),_.pending=f}}n.lanes|=r,f=n.alternate,f!==null&&(f.lanes|=r),lk(n.return,r,t),c.lanes|=r;break}f=f.next}}else if(n.tag===10)o=n.type===t.type?null:n.child;else if(n.tag===18){if(o=n.return,o===null)throw Error(Pe(341));o.lanes|=r,c=o.alternate,c!==null&&(c.lanes|=r),lk(o,r,t),o=n.sibling}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===t){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}bl(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,K_(t,r),s=Pu(s),i=i(s),t.flags|=1,bl(e,t,i,r),t.child;case 14:return i=t.type,s=Mh(i,t.pendingProps),s=Mh(i.type,s),S5(e,t,i,s,r);case 15:return u8(e,t,t.type,t.pendingProps,r);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),YT(e,t),t.tag=1,Jl(i)?(e=!0,lM(t)):e=!1,K_(t,r),a8(t,i,s),uk(t,i,s,r),dk(null,t,i,!0,e,r);case 19:return A8(e,t,r);case 22:return h8(e,t,r)}throw Error(Pe(156,t.tag))};function L8(e,t){return nN(e,t)}function Wet(e,t,r,i){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mu(e,t,r,i){return new Wet(e,t,r,i)}function u4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Het(e){if(typeof e==\"function\")return u4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ik)return 11;if(e===Ck)return 14}return 2}function kA(e,t){var r=e.alternate;return r===null?(r=Mu(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function XT(e,t,r,i,s,n){var o=2;if(i=e,typeof e==\"function\")u4(e)&&(o=1);else if(typeof e==\"string\")o=5;else t:switch(e){case F_:return T0(r.children,s,n,t);case Pk:o=8,s|=8;break;case DL:return e=Mu(12,r,t,s|2),e.elementType=DL,e.lanes=n,e;case OL:return e=Mu(13,r,t,s),e.elementType=OL,e.lanes=n,e;case BL:return e=Mu(19,r,t,s),e.elementType=BL,e.lanes=n,e;case V5:return kM(r,s,n,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case N5:o=10;break t;case U5:o=9;break t;case Ik:o=11;break t;case Ck:o=14;break t;case yA:o=16,i=null;break t}throw Error(Pe(130,e==null?e:typeof e,\"\"))}return t=Mu(o,r,t,s),t.elementType=e,t.type=i,t.lanes=n,t}function T0(e,t,r,i){return e=Mu(7,e,i,t),e.lanes=r,e}function kM(e,t,r,i){return e=Mu(22,e,i,t),e.elementType=V5,e.lanes=r,e.stateNode={isHidden:!1},e}function LL(e,t,r){return e=Mu(6,e,null,t),e.lanes=r,e}function kL(e,t,r){return t=Mu(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qet(e,t,r,i,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=AL(0),this.expirationTimes=AL(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=AL(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function h4(e,t,r,i,s,n,o,c,f){return e=new qet(e,t,r,c,f),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Mu(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:i,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yk(n),e}function Zet(e,t,r){var i=3{\"use strict\";function B8(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(B8)}catch(e){console.error(e)}}B8(),F8.exports=O8()});var N8=Br(A4=>{\"use strict\";var z8=FM();A4.createRoot=z8.createRoot,A4.hydrateRoot=z8.hydrateRoot;var ibt});var eU=Br((T4,M4)=>{(function(e,t){typeof T4==\"object\"&&typeof M4<\"u\"?M4.exports=t():(e=typeof globalThis<\"u\"?globalThis:e||self,e.maplibregl=t())})(T4,function(){\"use strict\";var e,t,r;function i(n,o){if(!e)e=o;else if(!t)t=o;else{var c=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",f={};e(f),r=o(f),typeof window<\"u\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([c],{type:\"text/javascript\"})))}}i([\"exports\"],function(n){\"use strict\";function o(u,a,h,A){return new(h||(h=Promise))(function(x,E){function P(V){try{F(A.next(V))}catch(q){E(q)}}function D(V){try{F(A.throw(V))}catch(q){E(q)}}function F(V){var q;V.done?x(V.value):(q=V.value,q instanceof h?q:new h(function(X){X(q)})).then(P,D)}F((A=A.apply(u,a||[])).next())})}function c(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,\"default\")?u.default:u}typeof SuppressedError==\"function\"&&SuppressedError;var f=_;function _(u,a){this.x=u,this.y=a}_.prototype={clone:function(){return new _(this.x,this.y)},add:function(u){return this.clone()._add(u)},sub:function(u){return this.clone()._sub(u)},multByPoint:function(u){return this.clone()._multByPoint(u)},divByPoint:function(u){return this.clone()._divByPoint(u)},mult:function(u){return this.clone()._mult(u)},div:function(u){return this.clone()._div(u)},rotate:function(u){return this.clone()._rotate(u)},rotateAround:function(u,a){return this.clone()._rotateAround(u,a)},matMult:function(u){return this.clone()._matMult(u)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(u){return this.x===u.x&&this.y===u.y},dist:function(u){return Math.sqrt(this.distSqr(u))},distSqr:function(u){var a=u.x-this.x,h=u.y-this.y;return a*a+h*h},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(u){return Math.atan2(this.y-u.y,this.x-u.x)},angleWith:function(u){return this.angleWithSep(u.x,u.y)},angleWithSep:function(u,a){return Math.atan2(this.x*a-this.y*u,this.x*u+this.y*a)},_matMult:function(u){var a=u[2]*this.x+u[3]*this.y;return this.x=u[0]*this.x+u[1]*this.y,this.y=a,this},_add:function(u){return this.x+=u.x,this.y+=u.y,this},_sub:function(u){return this.x-=u.x,this.y-=u.y,this},_mult:function(u){return this.x*=u,this.y*=u,this},_div:function(u){return this.x/=u,this.y/=u,this},_multByPoint:function(u){return this.x*=u.x,this.y*=u.y,this},_divByPoint:function(u){return this.x/=u.x,this.y/=u.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var u=this.y;return this.y=this.x,this.x=-u,this},_rotate:function(u){var a=Math.cos(u),h=Math.sin(u),A=h*this.x+a*this.y;return this.x=a*this.x-h*this.y,this.y=A,this},_rotateAround:function(u,a){var h=Math.cos(u),A=Math.sin(u),x=a.y+A*(this.x-a.x)+h*(this.y-a.y);return this.x=a.x+h*(this.x-a.x)-A*(this.y-a.y),this.y=x,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},_.convert=function(u){return u instanceof _?u:Array.isArray(u)?new _(u[0],u[1]):u};var w=c(f),I=R;function R(u,a,h,A){this.cx=3*u,this.bx=3*(h-u)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*a,this.by=3*(A-a)-this.cy,this.ay=1-this.cy-this.by,this.p1x=u,this.p1y=a,this.p2x=h,this.p2y=A}R.prototype={sampleCurveX:function(u){return((this.ax*u+this.bx)*u+this.cx)*u},sampleCurveY:function(u){return((this.ay*u+this.by)*u+this.cy)*u},sampleCurveDerivativeX:function(u){return(3*this.ax*u+2*this.bx)*u+this.cx},solveCurveX:function(u,a){if(a===void 0&&(a=1e-6),u<0)return 0;if(u>1)return 1;for(var h=u,A=0;A<8;A++){var x=this.sampleCurveX(h)-u;if(Math.abs(x)x?P=h:D=h,h=.5*(D-P)+P;return h},solve:function(u,a){return this.sampleCurveY(this.solveCurveX(u,a))}};var N=c(I);let j,Q;function et(){return j==null&&(j=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),j}function Y(){if(Q==null&&(Q=!1,et())){let a=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(a){for(let A=0;A<5*5;A++){let x=4*A;a.fillStyle=`rgb(${x},${x+1},${x+2})`,a.fillRect(A%5,Math.floor(A/5),1,1)}let h=a.getImageData(0,0,5,5).data;for(let A=0;A<5*5*4;A++)if(A%4!=3&&h[A]!==A){Q=!0;break}}}return Q||!1}function K(u,a,h,A){let x=new N(u,a,h,A);return function(E){return x.solve(E)}}let J=K(.25,.1,.25,1);function ut(u,a,h){return Math.min(h,Math.max(a,u))}function Et(u,a,h){let A=h-a,x=((u-a)%A+A)%A+a;return x===a?h:x}function kt(u,...a){for(let h of a)for(let A in h)u[A]=h[A];return u}let Xt=1;function qt(u,a,h){let A={};for(let x in u)A[x]=a.call(h||this,u[x],x,u);return A}function le(u,a,h){let A={};for(let x in u)a.call(h||this,u[x],x,u)&&(A[x]=u[x]);return A}function ue(u){return Array.isArray(u)?u.map(ue):typeof u==\"object\"&&u?qt(u,ue):u}let De={};function Ke(u){De[u]||(typeof console<\"u\"&&console.warn(u),De[u]=!0)}function rr(u,a,h){return(h.y-u.y)*(a.x-u.x)>(a.y-u.y)*(h.x-u.x)}function Sr(u){let a=0;for(let h,A,x=0,E=u.length,P=E-1;x\"u\")throw new Error(\"VideoFrame not supported\");let E=new VideoFrame(u,{timestamp:0});try{let P=E?.format;if(!P||!P.startsWith(\"BGR\")&&!P.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${P}`);let D=P.startsWith(\"BGR\"),F=new Uint8ClampedArray(A*x*4);if(yield E.copyTo(F,function(V,q,X,rt,at){let ct=4*Math.max(-q,0),mt=(Math.max(0,X)-X)*rt*4+ct,bt=4*rt,Pt=Math.max(0,q),jt=Math.max(0,X);return{rect:{x:Pt,y:jt,width:Math.min(V.width,q+rt)-Pt,height:Math.min(V.height,X+at)-jt},layout:[{offset:mt,stride:bt}]}}(u,a,h,A,x)),D)for(let V=0;VcancelAnimationFrame(a)}},getImageData(u,a=0){return this.getImageCanvasContext(u).getImageData(-a,-a,u.width+2*a,u.height+2*a)},getImageCanvasContext(u){let a=window.document.createElement(\"canvas\"),h=a.getContext(\"2d\",{willReadFrequently:!0});if(!h)throw new Error(\"failed to create canvas 2d context\");return a.width=u.width,a.height=u.height,h.drawImage(u,0,0,u.width,u.height),h},resolveURL:u=>(Ns||(Ns=document.createElement(\"a\")),Ns.href=u,Ns.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(ll==null&&(ll=matchMedia(\"(prefers-reduced-motion: reduce)\")),ll.matches)}},Rc={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};class Xi extends Error{constructor(a,h,A,x){super(`AJAXError: ${h} (${a}): ${A}`),this.status=a,this.statusText=h,this.url=A,this.body=x}}let Jn=Li()?()=>self.worker&&self.worker.referrer:()=>(window.location.protocol===\"blob:\"?window.parent:window).location.href,ki=u=>Rc.REGISTERED_PROTOCOLS[u.substring(0,u.indexOf(\"://\"))];function ts(u,a){let h=new AbortController,A=new Request(u.url,{method:u.method||\"GET\",body:u.body,credentials:u.credentials,headers:u.headers,cache:u.cache,referrer:Jn(),signal:h.signal}),x=!1,E=!1;return u.type===\"json\"&&A.headers.set(\"Accept\",\"application/json\"),E||fetch(A).then(P=>P.ok?(D=>{(u.type===\"arrayBuffer\"||u.type===\"image\"?D.arrayBuffer():u.type===\"json\"?D.json():D.text()).then(F=>{E||(x=!0,a(null,F,D.headers.get(\"Cache-Control\"),D.headers.get(\"Expires\")))}).catch(F=>{E||a(new Error(F.message))})})(P):P.blob().then(D=>a(new Xi(P.status,P.statusText,u.url,D)))).catch(P=>{P.code!==20&&a(new Error(P.message))}),{cancel:()=>{E=!0,x||h.abort()}}}let Vo=function(u,a){if(/:\\/\\//.test(u.url)&&!/^https?:|^file:/.test(u.url)){if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a);if(!Li())return(ki(u.url)||ts)(u,a)}if(!(/^file:/.test(h=u.url)||/^file:/.test(Jn())&&!/^\\w+:/.test(h))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return ts(u,a);if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a,void 0,!0)}var h;return function(A,x){let E=new XMLHttpRequest;E.open(A.method||\"GET\",A.url,!0),A.type!==\"arrayBuffer\"&&A.type!==\"image\"||(E.responseType=\"arraybuffer\");for(let P in A.headers)E.setRequestHeader(P,A.headers[P]);return A.type===\"json\"&&(E.responseType=\"text\",E.setRequestHeader(\"Accept\",\"application/json\")),E.withCredentials=A.credentials===\"include\",E.onerror=()=>{x(new Error(E.statusText))},E.onload=()=>{if((E.status>=200&&E.status<300||E.status===0)&&E.response!==null){let P=E.response;if(A.type===\"json\")try{P=JSON.parse(E.response)}catch(D){return x(D)}x(null,P,E.getResponseHeader(\"Cache-Control\"),E.getResponseHeader(\"Expires\"))}else{let P=new Blob([E.response],{type:E.getResponseHeader(\"Content-Type\")});x(new Xi(E.status,E.statusText,A.url,P))}},E.send(A.body),{cancel:()=>E.abort()}}(u,a)},cl=function(u,a){return Vo(kt(u,{type:\"arrayBuffer\"}),a)};function xo(u){if(!u||u.indexOf(\"://\")<=0||u.indexOf(\"data:image/\")===0||u.indexOf(\"blob:\")===0)return!0;let a=new URL(u),h=window.location;return a.protocol===h.protocol&&a.host===h.host}function Pa(u,a,h){h[u]&&h[u].indexOf(a)!==-1||(h[u]=h[u]||[],h[u].push(a))}function na(u,a,h){if(h&&h[u]){let A=h[u].indexOf(a);A!==-1&&h[u].splice(A,1)}}class as{constructor(a,h={}){kt(this,h),this.type=a}}class ao extends as{constructor(a,h={}){super(\"error\",kt({error:a},h))}}class Nl{on(a,h){return this._listeners=this._listeners||{},Pa(a,h,this._listeners),this}off(a,h){return na(a,h,this._listeners),na(a,h,this._oneTimeListeners),this}once(a,h){return h?(this._oneTimeListeners=this._oneTimeListeners||{},Pa(a,h,this._oneTimeListeners),this):new Promise(A=>this.once(a,A))}fire(a,h){typeof a==\"string\"&&(a=new as(a,h||{}));let A=a.type;if(this.listens(A)){a.target=this;let x=this._listeners&&this._listeners[A]?this._listeners[A].slice():[];for(let D of x)D.call(this,a);let E=this._oneTimeListeners&&this._oneTimeListeners[A]?this._oneTimeListeners[A].slice():[];for(let D of E)na(A,D,this._oneTimeListeners),D.call(this,a);let P=this._eventedParent;P&&(kt(a,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),P.fire(a))}else a instanceof ao&&console.error(a.error);return this}listens(a){return this._listeners&&this._listeners[a]&&this._listeners[a].length>0||this._oneTimeListeners&&this._oneTimeListeners[a]&&this._oneTimeListeners[a].length>0||this._eventedParent&&this._eventedParent.listens(a)}setEventedParent(a,h){return this._eventedParent=a,this._eventedParentData=h,this}}var ee={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let ls=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function mn(u,a){let h={};for(let A in u)A!==\"ref\"&&(h[A]=u[A]);return ls.forEach(A=>{A in a&&(h[A]=a[A])}),h}function gi(u,a){if(Array.isArray(u)){if(!Array.isArray(a)||u.length!==a.length)return!1;for(let h=0;h`:u.itemType.kind===\"value\"?\"array\":`array<${a}>`}return u.kind}let _t=[Ca,Te,Dr,gr,Us,gt,La,vt(Mr),tt,nt,ht];function Dt(u,a){if(a.kind===\"error\")return null;if(u.kind===\"array\"){if(a.kind===\"array\"&&(a.N===0&&a.itemType.kind===\"value\"||!Dt(u.itemType,a.itemType))&&(typeof u.N!=\"number\"||u.N===a.N))return null}else{if(u.kind===a.kind)return null;if(u.kind===\"value\"){for(let h of _t)if(!Dt(h,a))return null}}return`Expected ${xt(u)} but found ${xt(a)} instead.`}function Mt(u,a){return a.some(h=>h.kind===u.kind)}function Vt(u,a){return a.some(h=>h===\"null\"?u===null:h===\"array\"?Array.isArray(u):h===\"object\"?u&&!Array.isArray(u)&&typeof u==\"object\":h===typeof u)}function ie(u,a){return u.kind===\"array\"&&a.kind===\"array\"?u.itemType.kind===a.itemType.kind&&typeof u.N==\"number\":u.kind===a.kind}let se=.96422,ae=.82521,lr=4/29,vr=6/29,Xe=3*vr*vr,cr=vr*vr*vr,wr=Math.PI/180,xi=180/Math.PI;function zi(u){return(u%=360)<0&&(u+=360),u}function ni([u,a,h,A]){let x,E,P=jn((.2225045*(u=Hr(u))+.7168786*(a=Hr(a))+.0606169*(h=Hr(h)))/1);u===a&&a===h?x=E=P:(x=jn((.4360747*u+.3850649*a+.1430804*h)/se),E=jn((.0139322*u+.0971045*a+.7141733*h)/ae));let D=116*P-16;return[D<0?0:D,500*(x-P),200*(P-E),A]}function Hr(u){return u<=.04045?u/12.92:Math.pow((u+.055)/1.055,2.4)}function jn(u){return u>cr?Math.pow(u,1/3):u/Xe+lr}function Bi([u,a,h,A]){let x=(u+16)/116,E=isNaN(a)?x:x+a/500,P=isNaN(h)?x:x-h/200;return x=1*es(x),E=se*es(E),P=ae*es(P),[xn(3.1338561*E-1.6168667*x-.4906146*P),xn(-.9787684*E+1.9161415*x+.033454*P),xn(.0719453*E-.2289914*x+1.4052427*P),A]}function xn(u){return(u=u<=.00304?12.92*u:1.055*Math.pow(u,1/2.4)-.055)<0?0:u>1?1:u}function es(u){return u>vr?u*u*u:Xe*(u-lr)}function oa(u){return parseInt(u.padEnd(2,u),16)/255}function Um(u,a){return Vl(a?u/100:u,0,1)}function Vl(u,a,h){return Math.min(Math.max(a,u),h)}function Ss(u){return!u.some(Number.isNaN)}let nh={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class ai{constructor(a,h,A,x=1,E=!0){this.r=a,this.g=h,this.b=A,this.a=x,E||(this.r*=x,this.g*=x,this.b*=x,x||this.overwriteGetter(\"rgb\",[a,h,A,x]))}static parse(a){if(a instanceof ai)return a;if(typeof a!=\"string\")return;let h=function(A){if((A=A.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let x=nh[A];if(x){let[P,D,F]=x;return[P/255,D/255,F/255,1]}if(A.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(A)){let P=A.length<6?1:2,D=1;return[oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+P)||\"ff\")]}if(A.startsWith(\"rgb\")){let P=A.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(P){let[D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt]=P,Rt=[q||\" \",at||\" \",bt].join(\"\");if(Rt===\" \"||Rt===\" /\"||Rt===\",,\"||Rt===\",,,\"){let Gt=[V,rt,mt].join(\"\"),Yt=Gt===\"%%%\"?100:Gt===\"\"?255:0;if(Yt){let ce=[Vl(+F/Yt,0,1),Vl(+X/Yt,0,1),Vl(+ct/Yt,0,1),Pt?Um(+Pt,jt):1];if(Ss(ce))return ce}}return}}let E=A.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(E){let[P,D,F,V,q,X,rt,at,ct]=E,mt=[F||\" \",q||\" \",rt].join(\"\");if(mt===\" \"||mt===\" /\"||mt===\",,\"||mt===\",,,\"){let bt=[+D,Vl(+V,0,100),Vl(+X,0,100),at?Um(+at,ct):1];if(Ss(bt))return function([Pt,jt,Rt,Gt]){function Yt(ce){let Ne=(ce+Pt/30)%12,ir=jt*Math.min(Rt,1-Rt);return Rt-ir*Math.max(-1,Math.min(Ne-3,9-Ne,1))}return Pt=zi(Pt),jt/=100,Rt/=100,[Yt(0),Yt(8),Yt(4),Gt]}(bt)}}}(a);return h?new ai(...h,!1):void 0}get rgb(){let{r:a,g:h,b:A,a:x}=this,E=x||1/0;return this.overwriteGetter(\"rgb\",[a/E,h/E,A/E,x])}get hcl(){return this.overwriteGetter(\"hcl\",function(a){let[h,A,x,E]=ni(a),P=Math.sqrt(A*A+x*x);return[Math.round(1e4*P)?zi(Math.atan2(x,A)*xi):NaN,P,h,E]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",ni(this.rgb))}overwriteGetter(a,h){return Object.defineProperty(this,a,{value:h}),h}toString(){let[a,h,A,x]=this.rgb;return`rgba(${[a,h,A].map(E=>Math.round(255*E)).join(\",\")},${x})`}}ai.black=new ai(0,0,0,1),ai.white=new ai(1,1,1,1),ai.transparent=new ai(0,0,0,0),ai.red=new ai(1,0,0,1);class ka{constructor(a,h,A){this.sensitivity=a?h?\"variant\":\"case\":h?\"accent\":\"base\",this.locale=A,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(a,h){return this.collator.compare(a,h)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Dc{constructor(a,h,A,x,E){this.text=a,this.image=h,this.scale=A,this.fontStack=x,this.textColor=E}}class ln{constructor(a){this.sections=a}static fromString(a){return new ln([new Dc(a,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(a=>a.text.length!==0||a.image&&a.image.name.length!==0)}static factory(a){return a instanceof ln?a:ln.fromString(a)}toString(){return this.sections.length===0?\"\":this.sections.map(a=>a.text).join(\"\")}}class Dn{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Dn)return a;if(typeof a==\"number\")return new Dn([a,a,a,a]);if(Array.isArray(a)&&!(a.length<1||a.length>4)){for(let h of a)if(typeof h!=\"number\")return;switch(a.length){case 1:a=[a[0],a[0],a[0],a[0]];break;case 2:a=[a[0],a[1],a[0],a[1]];break;case 3:a=[a[0],a[1],a[2],a[1]]}return new Dn(a)}}toString(){return JSON.stringify(this.values)}}let Vm=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Go{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Go)return a;if(Array.isArray(a)&&!(a.length<1)&&a.length%2==0){for(let h=0;h=0&&u<=255&&typeof a==\"number\"&&a>=0&&a<=255&&typeof h==\"number\"&&h>=0&&h<=255?A===void 0||typeof A==\"number\"&&A>=0&&A<=1?null:`Invalid rgba value [${[u,a,h,A].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof A==\"number\"?[u,a,h,A]:[u,a,h]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function jl(u){if(u===null||typeof u==\"string\"||typeof u==\"boolean\"||typeof u==\"number\"||u instanceof ai||u instanceof ka||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn)return!0;if(Array.isArray(u)){for(let a of u)if(!jl(a))return!1;return!0}if(typeof u==\"object\"){for(let a in u)if(!jl(u[a]))return!1;return!0}return!1}function Ki(u){if(u===null)return Ca;if(typeof u==\"string\")return Dr;if(typeof u==\"boolean\")return gr;if(typeof u==\"number\")return Te;if(u instanceof ai)return Us;if(u instanceof ka)return sa;if(u instanceof ln)return gt;if(u instanceof Dn)return tt;if(u instanceof Go)return ht;if(u instanceof Gn)return nt;if(Array.isArray(u)){let a=u.length,h;for(let A of u){let x=Ki(A);if(h){if(h===x)continue;h=Mr;break}h=x}return vt(h||Mr,a)}return La}function _i(u){let a=typeof u;return u===null?\"\":a===\"string\"||a===\"number\"||a===\"boolean\"?String(u):u instanceof ai||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn?u.toString():JSON.stringify(u)}class Gl{constructor(a,h){this.type=a,this.value=h}static parse(a,h){if(a.length!==2)return h.error(`'literal' expression requires exactly one argument, but found ${a.length-1} instead.`);if(!jl(a[1]))return h.error(\"invalid value\");let A=a[1],x=Ki(A),E=h.expectedType;return x.kind!==\"array\"||x.N!==0||!E||E.kind!==\"array\"||typeof E.N==\"number\"&&E.N!==0||(x=E),new Gl(x,A)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class cn{constructor(a){this.name=\"ExpressionEvaluationError\",this.message=a}toJSON(){return this.message}}let pu={string:Dr,number:Te,boolean:gr,object:La};class rs{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A,x=1,E=a[0];if(E===\"array\"){let D,F;if(a.length>2){let V=a[1];if(typeof V!=\"string\"||!(V in pu)||V===\"object\")return h.error('The item type argument of \"array\" must be one of string, number, boolean',1);D=pu[V],x++}else D=Mr;if(a.length>3){if(a[2]!==null&&(typeof a[2]!=\"number\"||a[2]<0||a[2]!==Math.floor(a[2])))return h.error('The length argument to \"array\" must be a positive integer literal',2);F=a[2],x++}A=vt(D,F)}else{if(!pu[E])throw new Error(`Types doesn't contain name = ${E}`);A=pu[E]}let P=[];for(;xa.outputDefined())}}let Gp={\"to-boolean\":gr,\"to-color\":Us,\"to-number\":Te,\"to-string\":Dr};class Wl{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[0];if(!Gp[A])throw new Error(`Can't parse ${A} as it is not part of the known types`);if((A===\"to-boolean\"||A===\"to-string\")&&a.length!==2)return h.error(\"Expected one argument.\");let x=Gp[A],E=[];for(let P=1;P4?`Invalid rbga value ${JSON.stringify(h)}: expected an array containing either three or four numeric values.`:So(h[0],h[1],h[2],h[3]),!A))return new ai(h[0]/255,h[1]/255,h[2]/255,h[3])}throw new cn(A||`Could not parse color from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"padding\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Dn.parse(h);if(x)return x}throw new cn(`Could not parse padding from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"variableAnchorOffsetCollection\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Go.parse(h);if(x)return x}throw new cn(`Could not parse variableAnchorOffsetCollection from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"number\":{let h=null;for(let A of this.args){if(h=A.evaluate(a),h===null)return 0;let x=Number(h);if(!isNaN(x))return x}throw new cn(`Could not convert ${JSON.stringify(h)} to number.`)}case\"formatted\":return ln.fromString(_i(this.args[0].evaluate(a)));case\"resolvedImage\":return Gn.fromString(_i(this.args[0].evaluate(a)));default:return _i(this.args[0].evaluate(a))}}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}let _d=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class yd{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?_d[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(a){let h=this._parseColorCache[a];return h||(h=this._parseColorCache[a]=ai.parse(a)),h}}class vd{constructor(a,h,A=[],x,E=new Ul,P=[]){this.registry=a,this.path=A,this.key=A.map(D=>`[${D}]`).join(\"\"),this.scope=E,this.errors=P,this.expectedType=x,this._isConstant=h}parse(a,h,A,x,E={}){return h?this.concat(h,A,x)._parse(a,E):this._parse(a,E)}_parse(a,h){function A(x,E,P){return P===\"assert\"?new rs(E,[x]):P===\"coerce\"?new Wl(E,[x]):x}if(a!==null&&typeof a!=\"string\"&&typeof a!=\"boolean\"&&typeof a!=\"number\"||(a=[\"literal\",a]),Array.isArray(a)){if(a.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let x=a[0];if(typeof x!=\"string\")return this.error(`Expression name must be a string, but found ${typeof x} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let E=this.registry[x];if(E){let P=E.parse(a,this);if(!P)return null;if(this.expectedType){let D=this.expectedType,F=P.type;if(D.kind!==\"string\"&&D.kind!==\"number\"&&D.kind!==\"boolean\"&&D.kind!==\"object\"&&D.kind!==\"array\"||F.kind!==\"value\")if(D.kind!==\"color\"&&D.kind!==\"formatted\"&&D.kind!==\"resolvedImage\"||F.kind!==\"value\"&&F.kind!==\"string\")if(D.kind!==\"padding\"||F.kind!==\"value\"&&F.kind!==\"number\"&&F.kind!==\"array\")if(D.kind!==\"variableAnchorOffsetCollection\"||F.kind!==\"value\"&&F.kind!==\"array\"){if(this.checkSubtype(D,F))return null}else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"assert\")}if(!(P instanceof Gl)&&P.type.kind!==\"resolvedImage\"&&this._isConstant(P)){let D=new yd;try{P=new Gl(P.type,P.evaluate(D))}catch(F){return this.error(F.message),null}}return P}return this.error(`Unknown expression \"${x}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(a===void 0?\"'undefined' value invalid. Use null instead.\":typeof a==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof a} instead.`)}concat(a,h,A){let x=typeof a==\"number\"?this.path.concat(a):this.path,E=A?this.scope.concat(A):this.scope;return new vd(this.registry,this._isConstant,x,h||null,E,this.errors)}error(a,...h){let A=`${this.key}${h.map(x=>`[${x}]`).join(\"\")}`;this.errors.push(new gn(A,a))}checkSubtype(a,h){let A=Dt(a,h);return A&&this.error(A),A}}class xd{constructor(a,h,A){this.type=sa,this.locale=A,this.caseSensitive=a,this.diacriticSensitive=h}static parse(a,h){if(a.length!==2)return h.error(\"Expected one argument.\");let A=a[1];if(typeof A!=\"object\"||Array.isArray(A))return h.error(\"Collator options argument must be an object.\");let x=h.parse(A[\"case-sensitive\"]!==void 0&&A[\"case-sensitive\"],1,gr);if(!x)return null;let E=h.parse(A[\"diacritic-sensitive\"]!==void 0&&A[\"diacritic-sensitive\"],1,gr);if(!E)return null;let P=null;return A.locale&&(P=h.parse(A.locale,1,Dr),!P)?null:new xd(x,E,P)}evaluate(a){return new ka(this.caseSensitive.evaluate(a),this.diacriticSensitive.evaluate(a),this.locale?this.locale.evaluate(a):null)}eachChild(a){a(this.caseSensitive),a(this.diacriticSensitive),this.locale&&a(this.locale)}outputDefined(){return!1}}let lt=8192;function ft(u,a){u[0]=Math.min(u[0],a[0]),u[1]=Math.min(u[1],a[1]),u[2]=Math.max(u[2],a[0]),u[3]=Math.max(u[3],a[1])}function Lt(u,a){return!(u[0]<=a[0]||u[2]>=a[2]||u[1]<=a[1]||u[3]>=a[3])}function Kt(u,a){let h=(180+u[0])/360,A=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,x=Math.pow(2,a.z);return[Math.round(h*x*lt),Math.round(A*x*lt)]}function ge(u,a,h){let A=u[0]-a[0],x=u[1]-a[1],E=u[0]-h[0],P=u[1]-h[1];return A*P-E*x==0&&A*E<=0&&x*P<=0}function Qe(u,a){let h=!1;for(let P=0,D=a.length;P(A=u)[1]!=(E=F[V+1])[1]>A[1]&&A[0]<(E[0]-x[0])*(A[1]-x[1])/(E[1]-x[1])+x[0]&&(h=!h)}}var A,x,E;return h}function ti(u,a){for(let h=0;h0&&D<0||P<0&&D>0}function Ts(u,a,h){for(let V of h)for(let q=0;qh[2]){let x=.5*A,E=u[0]-h[0]>x?-A:h[0]-u[0]>x?A:0;E===0&&(E=u[0]-h[2]>x?-A:h[2]-u[0]>x?A:0),u[0]+=E}ft(a,u)}function l_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let D of u)for(let F of D){let V=[F.x+E[0],F.y+E[1]];Bx(V,a,h,x),P.push(V)}return P}function c_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let F of u){let V=[];for(let q of F){let X=[q.x+E[0],q.y+E[1]];ft(a,X),V.push(X)}P.push(V)}if(a[2]-a[0]<=x/2){(D=a)[0]=D[1]=1/0,D[2]=D[3]=-1/0;for(let F of P)for(let V of F)Bx(V,a,h,x)}var D;return P}class gf{constructor(a,h){this.type=gr,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'within' expression requires exactly one argument, but found ${a.length-1} instead.`);if(jl(a[1])){let A=a[1];if(A.type===\"FeatureCollection\")for(let x=0;x!Array.isArray(V)||V.length===a.length-1),F=null;for(let[V,q]of D){F=new vd(h.registry,Wm,h.path,null,h.scope);let X=[],rt=!1;for(let at=1;at{return rt=X,Array.isArray(rt)?`(${rt.map(xt).join(\", \")})`:`(${xt(rt.type)}...)`;var rt}).join(\" | \"),q=[];for(let X=1;X{h=a?h&&Wm(A):h&&A instanceof Gl}),!!h&&Hm(u)&&qm(u,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Hm(u){if(u instanceof fl&&(u.name===\"get\"&&u.args.length===1||u.name===\"feature-state\"||u.name===\"has\"&&u.args.length===1||u.name===\"properties\"||u.name===\"geometry-type\"||u.name===\"id\"||/^filter-/.test(u.name))||u instanceof gf)return!1;let a=!0;return u.eachChild(h=>{a&&!Hm(h)&&(a=!1)}),a}function Wp(u){if(u instanceof fl&&u.name===\"feature-state\")return!1;let a=!0;return u.eachChild(h=>{a&&!Wp(h)&&(a=!1)}),a}function qm(u,a){if(u instanceof fl&&a.indexOf(u.name)>=0)return!1;let h=!0;return u.eachChild(A=>{h&&!qm(A,a)&&(h=!1)}),h}function bd(u,a){let h=u.length-1,A,x,E=0,P=h,D=0;for(;E<=P;)if(D=Math.floor((E+P)/2),A=u[D],x=u[D+1],A<=a){if(D===h||aa))throw new cn(\"Input is not a number.\");P=D-1}return 0}class sh{constructor(a,h,A){this.type=a,this.input=h,this.labels=[],this.outputs=[];for(let[x,E]of A)this.labels.push(x),this.outputs.push(E)}static parse(a,h){if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=[],E=null;h.expectedType&&h.expectedType.kind!==\"value\"&&(E=h.expectedType);for(let P=1;P=D)return h.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',V);let X=h.parse(F,q,E);if(!X)return null;E=E||X.type,x.push([D,X])}return new sh(E,A,x)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;return x>=h[E-1]?A[E-1].evaluate(a):A[bd(h,x)].evaluate(a)}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function ui(u,a,h){return u+h*(a-u)}function Zm(u,a,h){return u.map((A,x)=>ui(A,a[x],h))}let Da={number:ui,color:function(u,a,h,A=\"rgb\"){switch(A){case\"rgb\":{let[x,E,P,D]=Zm(u.rgb,a.rgb,h);return new ai(x,E,P,D,!1)}case\"hcl\":{let[x,E,P,D]=u.hcl,[F,V,q,X]=a.hcl,rt,at;if(isNaN(x)||isNaN(F))isNaN(x)?isNaN(F)?rt=NaN:(rt=F,P!==1&&P!==0||(at=V)):(rt=x,q!==1&&q!==0||(at=E));else{let jt=F-x;F>x&&jt>180?jt-=360:F180&&(jt+=360),rt=x+h*jt}let[ct,mt,bt,Pt]=function([jt,Rt,Gt,Yt]){return jt=isNaN(jt)?0:jt*wr,Bi([Gt,Math.cos(jt)*Rt,Math.sin(jt)*Rt,Yt])}([rt,at??ui(E,V,h),ui(P,q,h),ui(D,X,h)]);return new ai(ct,mt,bt,Pt,!1)}case\"lab\":{let[x,E,P,D]=Bi(Zm(u.lab,a.lab,h));return new ai(x,E,P,D,!1)}}},array:Zm,padding:function(u,a,h){return new Dn(Zm(u.values,a.values,h))},variableAnchorOffsetCollection:function(u,a,h){let A=u.values,x=a.values;if(A.length!==x.length)throw new cn(`Cannot interpolate values of different length. from: ${u.toString()}, to: ${a.toString()}`);let E=[];for(let P=0;Ptypeof q!=\"number\"||q<0||q>1))return h.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);x={name:\"cubic-bezier\",controlPoints:V}}}if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");if(E=h.parse(E,2,Te),!E)return null;let D=[],F=null;A===\"interpolate-hcl\"||A===\"interpolate-lab\"?F=Us:h.expectedType&&h.expectedType.kind!==\"value\"&&(F=h.expectedType);for(let V=0;V=q)return h.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',rt);let ct=h.parse(X,at,F);if(!ct)return null;F=F||ct.type,D.push([q,ct])}return ie(F,Te)||ie(F,Us)||ie(F,tt)||ie(F,ht)||ie(F,vt(Te))?new Oa(F,A,x,E,D):h.error(`Type ${xt(F)} is not interpolatable.`)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;if(x>=h[E-1])return A[E-1].evaluate(a);let P=bd(h,x),D=Oa.interpolationFactor(this.interpolation,x,h[P],h[P+1]),F=A[P].evaluate(a),V=A[P+1].evaluate(a);switch(this.operator){case\"interpolate\":return Da[this.type.kind](F,V,D);case\"interpolate-hcl\":return Da.color(F,V,D,\"hcl\");case\"interpolate-lab\":return Da.color(F,V,D,\"lab\")}}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function u_(u,a,h,A){let x=A-h,E=u-h;return x===0?0:a===1?E/x:(Math.pow(a,E)-1)/(Math.pow(a,x)-1)}class Ym{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expectected at least one argument.\");let A=null,x=h.expectedType;x&&x.kind!==\"value\"&&(A=x);let E=[];for(let D of a.slice(1)){let F=h.parse(D,1+E.length,A,void 0,{typeAnnotation:\"omit\"});if(!F)return null;A=A||F.type,E.push(F)}if(!A)throw new Error(\"No output type\");let P=x&&E.some(D=>Dt(x,D.type));return new Ym(P?Mr:A,E)}evaluate(a){let h,A=null,x=0;for(let E of this.args)if(x++,A=E.evaluate(a),A&&A instanceof Gn&&!A.available&&(h||(h=A.name),A=null,x===this.args.length&&(A=h)),A!==null)break;return A}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}class Qm{constructor(a,h){this.type=h.type,this.bindings=[].concat(a),this.result=h}evaluate(a){return this.result.evaluate(a)}eachChild(a){for(let h of this.bindings)a(h[1]);a(this.result)}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found ${a.length-1} instead.`);let A=[];for(let E=1;E=A.length)throw new cn(`Array index out of bounds: ${h} > ${A.length-1}.`);if(h!==Math.floor(h))throw new cn(`Array index must be an integer, but found ${h} instead.`);return A[h]}eachChild(a){a(this.index),a(this.input)}outputDefined(){return!1}}class $m{constructor(a,h){this.type=gr,this.needle=a,this.haystack=h}static parse(a,h){if(a.length!==3)return h.error(`Expected 2 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);return A&&x?Mt(A.type,[gr,Dr,Te,Ca,Mr])?new $m(A,x):h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`):null}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!A)return!1;if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);return A.indexOf(h)>=0}eachChild(a){a(this.needle),a(this.haystack)}outputDefined(){return!0}}class qp{constructor(a,h,A){this.type=Te,this.needle=a,this.haystack=h,this.fromIndex=A}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);if(!A||!x)return null;if(!Mt(A.type,[gr,Dr,Te,Ca,Mr]))return h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new qp(A,x,E):null}return new qp(A,x)}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);if(this.fromIndex){let x=this.fromIndex.evaluate(a);return A.indexOf(h,x)}return A.indexOf(h)}eachChild(a){a(this.needle),a(this.haystack),this.fromIndex&&a(this.fromIndex)}outputDefined(){return!1}}class wd{constructor(a,h,A,x,E,P){this.inputType=a,this.type=h,this.input=A,this.cases=x,this.outputs=E,this.otherwise=P}static parse(a,h){if(a.length<5)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if(a.length%2!=1)return h.error(\"Expected an even number of arguments.\");let A,x;h.expectedType&&h.expectedType.kind!==\"value\"&&(x=h.expectedType);let E={},P=[];for(let V=2;VNumber.MAX_SAFE_INTEGER)return rt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ct==\"number\"&&Math.floor(ct)!==ct)return rt.error(\"Numeric branch labels must be integer values.\");if(A){if(rt.checkSubtype(A,Ki(ct)))return null}else A=Ki(ct);if(E[String(ct)]!==void 0)return rt.error(\"Branch labels must be unique.\");E[String(ct)]=P.length}let at=h.parse(X,V,x);if(!at)return null;x=x||at.type,P.push(at)}let D=h.parse(a[1],1,Mr);if(!D)return null;let F=h.parse(a[a.length-1],a.length-1,x);return F?D.type.kind!==\"value\"&&h.concat(1).checkSubtype(A,D.type)?null:new wd(A,x,D,E,P,F):null}evaluate(a){let h=this.input.evaluate(a);return(Ki(h)===this.inputType&&this.outputs[this.cases[h]]||this.otherwise).evaluate(a)}eachChild(a){a(this.input),this.outputs.forEach(a),a(this.otherwise)}outputDefined(){return this.outputs.every(a=>a.outputDefined())&&this.otherwise.outputDefined()}}class Zp{constructor(a,h,A){this.type=a,this.branches=h,this.otherwise=A}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found only ${a.length-1}.`);if(a.length%2!=0)return h.error(\"Expected an odd number of arguments.\");let A;h.expectedType&&h.expectedType.kind!==\"value\"&&(A=h.expectedType);let x=[];for(let P=1;Ph.outputDefined())&&this.otherwise.outputDefined()}}class Sd{constructor(a,h,A,x){this.type=a,this.input=h,this.beginIndex=A,this.endIndex=x}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Te);if(!A||!x)return null;if(!Mt(A.type,[vt(Mr),Dr,Mr]))return h.error(`Expected first argument to be of type array or string, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new Sd(A.type,A,x,E):null}return new Sd(A.type,A,x)}evaluate(a){let h=this.input.evaluate(a),A=this.beginIndex.evaluate(a);if(!Vt(h,[\"string\",\"array\"]))throw new cn(`Expected first argument to be of type array or string, but found ${xt(Ki(h))} instead.`);if(this.endIndex){let x=this.endIndex.evaluate(a);return h.slice(A,x)}return h.slice(A)}eachChild(a){a(this.input),a(this.beginIndex),this.endIndex&&a(this.endIndex)}outputDefined(){return!1}}function Xm(u,a){return u===\"==\"||u===\"!=\"?a.kind===\"boolean\"||a.kind===\"string\"||a.kind===\"number\"||a.kind===\"null\"||a.kind===\"value\":a.kind===\"string\"||a.kind===\"number\"||a.kind===\"value\"}function Td(u,a,h,A){return A.compare(a,h)===0}function Au(u,a,h){let A=u!==\"==\"&&u!==\"!=\";return class tU{constructor(E,P,D){this.type=gr,this.lhs=E,this.rhs=P,this.collator=D,this.hasUntypedArgument=E.type.kind===\"value\"||P.type.kind===\"value\"}static parse(E,P){if(E.length!==3&&E.length!==4)return P.error(\"Expected two or three arguments.\");let D=E[0],F=P.parse(E[1],1,Mr);if(!F)return null;if(!Xm(D,F.type))return P.concat(1).error(`\"${D}\" comparisons are not supported for type '${xt(F.type)}'.`);let V=P.parse(E[2],2,Mr);if(!V)return null;if(!Xm(D,V.type))return P.concat(2).error(`\"${D}\" comparisons are not supported for type '${xt(V.type)}'.`);if(F.type.kind!==V.type.kind&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(`Cannot compare types '${xt(F.type)}' and '${xt(V.type)}'.`);A&&(F.type.kind===\"value\"&&V.type.kind!==\"value\"?F=new rs(V.type,[F]):F.type.kind!==\"value\"&&V.type.kind===\"value\"&&(V=new rs(F.type,[V])));let q=null;if(E.length===4){if(F.type.kind!==\"string\"&&V.type.kind!==\"string\"&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(\"Cannot use collator to compare non-string types.\");if(q=P.parse(E[3],3,sa),!q)return null}return new tU(F,V,q)}evaluate(E){let P=this.lhs.evaluate(E),D=this.rhs.evaluate(E);if(A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==V.kind||F.kind!==\"string\"&&F.kind!==\"number\")throw new cn(`Expected arguments for \"${u}\" to be (string, string) or (number, number), but found (${F.kind}, ${V.kind}) instead.`)}if(this.collator&&!A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==\"string\"||V.kind!==\"string\")return a(E,P,D)}return this.collator?h(E,P,D,this.collator.evaluate(E)):a(E,P,D)}eachChild(E){E(this.lhs),E(this.rhs),this.collator&&E(this.collator)}outputDefined(){return!0}}}let oh=Au(\"==\",function(u,a,h){return a===h},Td),Zt=Au(\"!=\",function(u,a,h){return a!==h},function(u,a,h,A){return!Td(0,a,h,A)}),fe=Au(\"<\",function(u,a,h){return a\",function(u,a,h){return a>h},function(u,a,h,A){return A.compare(a,h)>0}),br=Au(\"<=\",function(u,a,h){return a<=h},function(u,a,h,A){return A.compare(a,h)<=0}),g=Au(\">=\",function(u,a,h){return a>=h},function(u,a,h,A){return A.compare(a,h)>=0});class Vi{constructor(a,h,A,x,E){this.type=Dr,this.number=a,this.locale=h,this.currency=A,this.minFractionDigits=x,this.maxFractionDigits=E}static parse(a,h){if(a.length!==3)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=a[2];if(typeof x!=\"object\"||Array.isArray(x))return h.error(\"NumberFormat options argument must be an object.\");let E=null;if(x.locale&&(E=h.parse(x.locale,1,Dr),!E))return null;let P=null;if(x.currency&&(P=h.parse(x.currency,1,Dr),!P))return null;let D=null;if(x[\"min-fraction-digits\"]&&(D=h.parse(x[\"min-fraction-digits\"],1,Te),!D))return null;let F=null;return x[\"max-fraction-digits\"]&&(F=h.parse(x[\"max-fraction-digits\"],1,Te),!F)?null:new Vi(A,E,P,D,F)}evaluate(a){return new Intl.NumberFormat(this.locale?this.locale.evaluate(a):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(a):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(a):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(a):void 0}).format(this.number.evaluate(a))}eachChild(a){a(this.number),this.locale&&a(this.locale),this.currency&&a(this.currency),this.minFractionDigits&&a(this.minFractionDigits),this.maxFractionDigits&&a(this.maxFractionDigits)}outputDefined(){return!1}}class Ti{constructor(a){this.type=gt,this.sections=a}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[1];if(!Array.isArray(A)&&typeof A==\"object\")return h.error(\"First argument must be an image or text section.\");let x=[],E=!1;for(let P=1;P<=a.length-1;++P){let D=a[P];if(E&&typeof D==\"object\"&&!Array.isArray(D)){E=!1;let F=null;if(D[\"font-scale\"]&&(F=h.parse(D[\"font-scale\"],1,Te),!F))return null;let V=null;if(D[\"text-font\"]&&(V=h.parse(D[\"text-font\"],1,vt(Dr)),!V))return null;let q=null;if(D[\"text-color\"]&&(q=h.parse(D[\"text-color\"],1,Us),!q))return null;let X=x[x.length-1];X.scale=F,X.font=V,X.textColor=q}else{let F=h.parse(a[P],1,Mr);if(!F)return null;let V=F.type.kind;if(V!==\"string\"&&V!==\"value\"&&V!==\"null\"&&V!==\"resolvedImage\")return h.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");E=!0,x.push({content:F,scale:null,font:null,textColor:null})}}return new Ti(x)}evaluate(a){return new ln(this.sections.map(h=>{let A=h.content.evaluate(a);return Ki(A)===nt?new Dc(\"\",A,null,null,null):new Dc(_i(A),null,h.scale?h.scale.evaluate(a):null,h.font?h.font.evaluate(a).join(\",\"):null,h.textColor?h.textColor.evaluate(a):null)}))}eachChild(a){for(let h of this.sections)a(h.content),h.scale&&a(h.scale),h.font&&a(h.font),h.textColor&&a(h.textColor)}outputDefined(){return!1}}class Tt{constructor(a){this.type=nt,this.input=a}static parse(a,h){if(a.length!==2)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Dr);return A?new Tt(A):h.error(\"No image name provided.\")}evaluate(a){let h=this.input.evaluate(a),A=Gn.fromString(h);return A&&a.availableImages&&(A.available=a.availableImages.indexOf(h)>-1),A}eachChild(a){a(this.input)}outputDefined(){return!1}}class Ms{constructor(a){this.type=Te,this.input=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=h.parse(a[1],1);return A?A.type.kind!==\"array\"&&A.type.kind!==\"string\"&&A.type.kind!==\"value\"?h.error(`Expected argument of type string or array, but found ${xt(A.type)} instead.`):new Ms(A):null}evaluate(a){let h=this.input.evaluate(a);if(typeof h==\"string\"||Array.isArray(h))return h.length;throw new cn(`Expected value to be of type string or array, but found ${xt(Ki(h))} instead.`)}eachChild(a){a(this.input)}outputDefined(){return!1}}let cs={\"==\":oh,\"!=\":Zt,\">\":Be,\"<\":fe,\">=\":g,\"<=\":br,array:rs,at:Hp,boolean:rs,case:Zp,coalesce:Ym,collator:xd,format:Ti,image:Tt,in:$m,\"index-of\":qp,interpolate:Oa,\"interpolate-hcl\":Oa,\"interpolate-lab\":Oa,length:Ms,let:Qm,literal:Gl,match:wd,number:rs,\"number-format\":Vi,object:rs,slice:Sd,step:sh,string:rs,\"to-boolean\":Wl,\"to-color\":Wl,\"to-number\":Wl,\"to-string\":Wl,var:Gm,within:gf};function li(u,[a,h,A,x]){a=a.evaluate(u),h=h.evaluate(u),A=A.evaluate(u);let E=x?x.evaluate(u):1,P=So(a,h,A,E);if(P)throw new cn(P);return new ai(a/255,h/255,A/255,E,!1)}function bn(u,a){return u in a}function dl(u,a){let h=a[u];return h===void 0?null:h}function Ur(u){return{type:u}}function hi(u){return{result:\"success\",value:u}}function To(u){return{result:\"error\",value:u}}function _f(u){return u[\"property-type\"]===\"data-driven\"||u[\"property-type\"]===\"cross-faded-data-driven\"}function h_(u){return!!u.expression&&u.expression.parameters.indexOf(\"zoom\")>-1}function Md(u){return!!u.expression&&u.expression.interpolated}function qr(u){return u instanceof Number?\"number\":u instanceof String?\"string\":u instanceof Boolean?\"boolean\":Array.isArray(u)?\"array\":u===null?\"null\":typeof u}function Ji(u){return typeof u==\"object\"&&u!==null&&!Array.isArray(u)}function Oc(u){return u}function ci(u,a){let h=a.type===\"color\",A=u.stops&&typeof u.stops[0][0]==\"object\",x=A||!(A||u.property!==void 0),E=u.type||(Md(a)?\"exponential\":\"interval\");if(h||a.type===\"padding\"){let q=h?ai.parse:Dn.parse;(u=jo({},u)).stops&&(u.stops=u.stops.map(X=>[X[0],q(X[1])])),u.default=q(u.default?u.default:a.default)}if(u.colorSpace&&(P=u.colorSpace)!==\"rgb\"&&P!==\"hcl\"&&P!==\"lab\")throw new Error(`Unknown color space: \"${u.colorSpace}\"`);var P;let D,F,V;if(E===\"exponential\")D=Mi;else if(E===\"interval\")D=It;else if(E===\"categorical\"){D=Je,F=Object.create(null);for(let q of u.stops)F[q[0]]=q[1];V=typeof u.stops[0][0]}else{if(E!==\"identity\")throw new Error(`Unknown function type \"${E}\"`);D=Km}if(A){let q={},X=[];for(let ct=0;ctct[0]),evaluate:({zoom:ct},mt)=>Mi({stops:rt,base:u.base},a,ct).evaluate(ct,mt)}}if(x){let q=E===\"exponential\"?{name:\"exponential\",base:u.base!==void 0?u.base:1}:null;return{kind:\"camera\",interpolationType:q,interpolationFactor:Oa.interpolationFactor.bind(void 0,q),zoomStops:u.stops.map(X=>X[0]),evaluate:({zoom:X})=>D(u,a,X,F,V)}}return{kind:\"source\",evaluate(q,X){let rt=X&&X.properties?X.properties[u.property]:void 0;return rt===void 0?aa(u.default,a.default):D(u,a,rt,F,V)}}}function aa(u,a,h){return u!==void 0?u:a!==void 0?a:h!==void 0?h:void 0}function Je(u,a,h,A,x){return aa(typeof h===x?A[h]:void 0,u.default,a.default)}function It(u,a,h){if(qr(h)!==\"number\")return aa(u.default,a.default);let A=u.stops.length;if(A===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[A-1][0])return u.stops[A-1][1];let x=bd(u.stops.map(E=>E[0]),h);return u.stops[x][1]}function Mi(u,a,h){let A=u.base!==void 0?u.base:1;if(qr(h)!==\"number\")return aa(u.default,a.default);let x=u.stops.length;if(x===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[x-1][0])return u.stops[x-1][1];let E=bd(u.stops.map(q=>q[0]),h),P=function(q,X,rt,at){let ct=at-rt,mt=q-rt;return ct===0?0:X===1?mt/ct:(Math.pow(X,mt)-1)/(Math.pow(X,ct)-1)}(h,A,u.stops[E][0],u.stops[E+1][0]),D=u.stops[E][1],F=u.stops[E+1][1],V=Da[a.type]||Oc;return typeof D.evaluate==\"function\"?{evaluate(...q){let X=D.evaluate.apply(void 0,q),rt=F.evaluate.apply(void 0,q);if(X!==void 0&&rt!==void 0)return V(X,rt,P,u.colorSpace)}}:V(D,F,P,u.colorSpace)}function Km(u,a,h){switch(a.type){case\"color\":h=ai.parse(h);break;case\"formatted\":h=ln.fromString(h.toString());break;case\"resolvedImage\":h=Gn.fromString(h.toString());break;case\"padding\":h=Dn.parse(h);break;default:qr(h)===a.type||a.type===\"enum\"&&a.values[h]||(h=void 0)}return aa(h,u.default,a.default)}fl.register(cs,{error:[{kind:\"error\"},[Dr],(u,[a])=>{throw new cn(a.evaluate(u))}],typeof:[Dr,[Mr],(u,[a])=>xt(Ki(a.evaluate(u)))],\"to-rgba\":[vt(Te,4),[Us],(u,[a])=>{let[h,A,x,E]=a.evaluate(u).rgb;return[255*h,255*A,255*x,E]}],rgb:[Us,[Te,Te,Te],li],rgba:[Us,[Te,Te,Te,Te],li],has:{type:gr,overloads:[[[Dr],(u,[a])=>bn(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>bn(a.evaluate(u),h.evaluate(u))]]},get:{type:Mr,overloads:[[[Dr],(u,[a])=>dl(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>dl(a.evaluate(u),h.evaluate(u))]]},\"feature-state\":[Mr,[Dr],(u,[a])=>dl(a.evaluate(u),u.featureState||{})],properties:[La,[],u=>u.properties()],\"geometry-type\":[Dr,[],u=>u.geometryType()],id:[Mr,[],u=>u.id()],zoom:[Te,[],u=>u.globals.zoom],\"heatmap-density\":[Te,[],u=>u.globals.heatmapDensity||0],\"line-progress\":[Te,[],u=>u.globals.lineProgress||0],accumulated:[Mr,[],u=>u.globals.accumulated===void 0?null:u.globals.accumulated],\"+\":[Te,Ur(Te),(u,a)=>{let h=0;for(let A of a)h+=A.evaluate(u);return h}],\"*\":[Te,Ur(Te),(u,a)=>{let h=1;for(let A of a)h*=A.evaluate(u);return h}],\"-\":{type:Te,overloads:[[[Te,Te],(u,[a,h])=>a.evaluate(u)-h.evaluate(u)],[[Te],(u,[a])=>-a.evaluate(u)]]},\"/\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)/h.evaluate(u)],\"%\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)%h.evaluate(u)],ln2:[Te,[],()=>Math.LN2],pi:[Te,[],()=>Math.PI],e:[Te,[],()=>Math.E],\"^\":[Te,[Te,Te],(u,[a,h])=>Math.pow(a.evaluate(u),h.evaluate(u))],sqrt:[Te,[Te],(u,[a])=>Math.sqrt(a.evaluate(u))],log10:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN10],ln:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))],log2:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN2],sin:[Te,[Te],(u,[a])=>Math.sin(a.evaluate(u))],cos:[Te,[Te],(u,[a])=>Math.cos(a.evaluate(u))],tan:[Te,[Te],(u,[a])=>Math.tan(a.evaluate(u))],asin:[Te,[Te],(u,[a])=>Math.asin(a.evaluate(u))],acos:[Te,[Te],(u,[a])=>Math.acos(a.evaluate(u))],atan:[Te,[Te],(u,[a])=>Math.atan(a.evaluate(u))],min:[Te,Ur(Te),(u,a)=>Math.min(...a.map(h=>h.evaluate(u)))],max:[Te,Ur(Te),(u,a)=>Math.max(...a.map(h=>h.evaluate(u)))],abs:[Te,[Te],(u,[a])=>Math.abs(a.evaluate(u))],round:[Te,[Te],(u,[a])=>{let h=a.evaluate(u);return h<0?-Math.round(-h):Math.round(h)}],floor:[Te,[Te],(u,[a])=>Math.floor(a.evaluate(u))],ceil:[Te,[Te],(u,[a])=>Math.ceil(a.evaluate(u))],\"filter-==\":[gr,[Dr,Mr],(u,[a,h])=>u.properties()[a.value]===h.value],\"filter-id-==\":[gr,[Mr],(u,[a])=>u.id()===a.value],\"filter-type-==\":[gr,[Dr],(u,[a])=>u.geometryType()===a.value],\"filter-<\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A{let h=u.id(),A=a.value;return typeof h==typeof A&&h\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>x}],\"filter-id->\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>A}],\"filter-<=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A<=x}],\"filter-id-<=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h<=A}],\"filter->=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>=x}],\"filter-id->=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>=A}],\"filter-has\":[gr,[Mr],(u,[a])=>a.value in u.properties()],\"filter-has-id\":[gr,[],u=>u.id()!==null&&u.id()!==void 0],\"filter-type-in\":[gr,[vt(Dr)],(u,[a])=>a.value.indexOf(u.geometryType())>=0],\"filter-id-in\":[gr,[vt(Mr)],(u,[a])=>a.value.indexOf(u.id())>=0],\"filter-in-small\":[gr,[Dr,vt(Mr)],(u,[a,h])=>h.value.indexOf(u.properties()[a.value])>=0],\"filter-in-large\":[gr,[Dr,vt(Mr)],(u,[a,h])=>function(A,x,E,P){for(;E<=P;){let D=E+P>>1;if(x[D]===A)return!0;x[D]>A?P=D-1:E=D+1}return!1}(u.properties()[a.value],h.value,0,h.value.length-1)],all:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)&&h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(!h.evaluate(u))return!1;return!0}]]},any:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)||h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(h.evaluate(u))return!0;return!1}]]},\"!\":[gr,[gr],(u,[a])=>!a.evaluate(u)],\"is-supported-script\":[gr,[Dr],(u,[a])=>{let h=u.globals&&u.globals.isSupportedScript;return!h||h(a.evaluate(u))}],upcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toUpperCase()],downcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toLowerCase()],concat:[Dr,Ur(Mr),(u,a)=>a.map(h=>_i(h.evaluate(u))).join(\"\")],\"resolved-locale\":[Dr,[sa],(u,[a])=>a.evaluate(u).resolvedLocale()]});class Jm{constructor(a,h){var A;this.expression=a,this._warningHistory={},this._evaluator=new yd,this._defaultValue=h?(A=h).type===\"color\"&&Ji(A.default)?new ai(0,0,0,0):A.type===\"color\"?ai.parse(A.default)||null:A.type===\"padding\"?Dn.parse(A.default)||null:A.type===\"variableAnchorOffsetCollection\"?Go.parse(A.default)||null:A.default===void 0?null:A.default:null,this._enumValues=h&&h.type===\"enum\"?h.values:null}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._evaluator.globals=a,this._evaluator.feature=h,this._evaluator.featureState=A,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P,this.expression.evaluate(this._evaluator)}evaluate(a,h,A,x,E,P){this._evaluator.globals=a,this._evaluator.feature=h||null,this._evaluator.featureState=A||null,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P||null;try{let D=this.expression.evaluate(this._evaluator);if(D==null||typeof D==\"number\"&&D!=D)return this._defaultValue;if(this._enumValues&&!(D in this._enumValues))throw new cn(`Expected value to be one of ${Object.keys(this._enumValues).map(F=>JSON.stringify(F)).join(\", \")}, but found ${JSON.stringify(D)} instead.`);return D}catch(D){return this._warningHistory[D.message]||(this._warningHistory[D.message]=!0,typeof console<\"u\"&&console.warn(D.message)),this._defaultValue}}}function Yp(u){return Array.isArray(u)&&u.length>0&&typeof u[0]==\"string\"&&u[0]in cs}function Qp(u,a){let h=new vd(cs,Wm,[],a?function(x){let E={color:Us,string:Dr,number:Te,enum:Dr,boolean:gr,formatted:gt,padding:tt,resolvedImage:nt,variableAnchorOffsetCollection:ht};return x.type===\"array\"?vt(E[x.value]||Mr,x.length):E[x.type]}(a):void 0),A=h.parse(u,void 0,void 0,void 0,a&&a.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return A?hi(new Jm(A,a)):To(h.errors)}class t0{constructor(a,h){this.kind=a,this._styleExpression=h,this.isStateDependent=a!==\"constant\"&&!Wp(h.expression)}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}}class wt{constructor(a,h,A,x){this.kind=a,this.zoomStops=A,this._styleExpression=h,this.isStateDependent=a!==\"camera\"&&!Wp(h.expression),this.interpolationType=x}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}interpolationFactor(a,h,A){return this.interpolationType?Oa.interpolationFactor(this.interpolationType,a,h,A):0}}function e0(u,a){let h=Qp(u,a);if(h.result===\"error\")return h;let A=h.value.expression,x=Hm(A);if(!x&&!_f(a))return To([new gn(\"\",\"data expressions not supported\")]);let E=qm(A,[\"zoom\"]);if(!E&&!h_(a))return To([new gn(\"\",\"zoom expressions not supported\")]);let P=Pd(A);return P||E?P instanceof gn?To([P]):P instanceof Oa&&!Md(a)?To([new gn(\"\",'\"interpolate\" expressions cannot be used with this property')]):hi(P?new wt(x?\"camera\":\"composite\",h.value,P.labels,P instanceof Oa?P.interpolation:void 0):new t0(x?\"constant\":\"source\",h.value)):To([new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Ed{constructor(a,h){this._parameters=a,this._specification=h,jo(this,ci(this._parameters,this._specification))}static deserialize(a){return new Ed(a._parameters,a._specification)}static serialize(a){return{_parameters:a._parameters,_specification:a._specification}}}function Pd(u){let a=null;if(u instanceof Qm)a=Pd(u.result);else if(u instanceof Ym){for(let h of u.args)if(a=Pd(h),a)break}else(u instanceof sh||u instanceof Oa)&&u.input instanceof fl&&u.input.name===\"zoom\"&&(a=u);return a instanceof gn||u.eachChild(h=>{let A=Pd(h);A instanceof gn?a=A:!a&&A?a=new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):a&&A&&a!==A&&(a=new gn(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),a}function Id(u){if(u===!0||u===!1)return!0;if(!Array.isArray(u)||u.length===0)return!1;switch(u[0]){case\"has\":return u.length>=2&&u[1]!==\"$id\"&&u[1]!==\"$type\";case\"in\":return u.length>=3&&(typeof u[1]!=\"string\"||Array.isArray(u[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return u.length!==3||Array.isArray(u[1])||Array.isArray(u[2]);case\"any\":case\"all\":for(let a of u.slice(1))if(!Id(a)&&typeof a!=\"boolean\")return!1;return!0;default:return!0}}let Fx={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function r0(u){if(u==null)return{filter:()=>!0,needGeometry:!1};Id(u)||(u=yf(u));let a=Qp(u,Fx);if(a.result===\"error\")throw new Error(a.value.map(h=>`${h.key}: ${h.message}`).join(\", \"));return{filter:(h,A,x)=>a.value.evaluate(h,A,{},x),needGeometry:d_(u)}}function f_(u,a){return ua?1:0}function d_(u){if(!Array.isArray(u))return!1;if(u[0]===\"within\")return!0;for(let a=1;a\"||a===\"<=\"||a===\">=\"?Ba(u[1],u[2],a):a===\"any\"?(h=u.slice(1),[\"any\"].concat(h.map(yf))):a===\"all\"?[\"all\"].concat(u.slice(1).map(yf)):a===\"none\"?[\"all\"].concat(u.slice(1).map(yf).map(Cd)):a===\"in\"?Wn(u[1],u.slice(2)):a===\"!in\"?Cd(Wn(u[1],u.slice(2))):a===\"has\"?p_(u[1]):a===\"!has\"?Cd(p_(u[1])):a!==\"within\"||u;var h}function Ba(u,a,h){switch(u){case\"$type\":return[`filter-type-${h}`,a];case\"$id\":return[`filter-id-${h}`,a];default:return[`filter-${h}`,u,a]}}function Wn(u,a){if(a.length===0)return!1;switch(u){case\"$type\":return[\"filter-type-in\",[\"literal\",a]];case\"$id\":return[\"filter-id-in\",[\"literal\",a]];default:return a.length>200&&!a.some(h=>typeof h!=typeof a[0])?[\"filter-in-large\",u,[\"literal\",a.sort(f_)]]:[\"filter-in-small\",u,[\"literal\",a]]}}function p_(u){switch(u){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",u]}}function Cd(u){return[\"!\",u]}function $p(u){let a=typeof u;if(a===\"number\"||a===\"boolean\"||a===\"string\"||u==null)return JSON.stringify(u);if(Array.isArray(u)){let x=\"[\";for(let E of u)x+=`${$p(E)},`;return`${x}]`}let h=Object.keys(u).sort(),A=\"{\";for(let x=0;xA.maximum?[new ve(a,h,`${h} is greater than the maximum value ${A.maximum}`)]:[]}function Kp(u){let a=u.valueSpec,h=Cn(u.value.type),A,x,E,P={},D=h!==\"categorical\"&&u.value.property===void 0,F=!D,V=qr(u.value.stops)===\"array\"&&qr(u.value.stops[0])===\"array\"&&qr(u.value.stops[0][0])===\"object\",q=fi({key:u.key,value:u.value,valueSpec:u.styleSpec.function,validateSpec:u.validateSpec,style:u.style,styleSpec:u.styleSpec,objectElementValidators:{stops:function(at){if(h===\"identity\")return[new ve(at.key,at.value,'identity function may not have a \"stops\" property')];let ct=[],mt=at.value;return ct=ct.concat(mu({key:at.key,value:mt,valueSpec:at.valueSpec,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,arrayElementValidator:X})),qr(mt)===\"array\"&&mt.length===0&&ct.push(new ve(at.key,mt,\"array must have at least one stop\")),ct},default:function(at){return at.validateSpec({key:at.key,value:at.value,valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec})}}});return h===\"identity\"&&D&&q.push(new ve(u.key,u.value,'missing required property \"property\"')),h===\"identity\"||u.value.stops||q.push(new ve(u.key,u.value,'missing required property \"stops\"')),h===\"exponential\"&&u.valueSpec.expression&&!Md(u.valueSpec)&&q.push(new ve(u.key,u.value,\"exponential functions not supported\")),u.styleSpec.$version>=8&&(F&&!_f(u.valueSpec)?q.push(new ve(u.key,u.value,\"property functions not supported\")):D&&!h_(u.valueSpec)&&q.push(new ve(u.key,u.value,\"zoom functions not supported\"))),h!==\"categorical\"&&!V||u.value.property!==void 0||q.push(new ve(u.key,u.value,'\"property\" property is required')),q;function X(at){let ct=[],mt=at.value,bt=at.key;if(qr(mt)!==\"array\")return[new ve(bt,mt,`array expected, ${qr(mt)} found`)];if(mt.length!==2)return[new ve(bt,mt,`array length 2 expected, length ${mt.length} found`)];if(V){if(qr(mt[0])!==\"object\")return[new ve(bt,mt,`object expected, ${qr(mt[0])} found`)];if(mt[0].zoom===void 0)return[new ve(bt,mt,\"object stop key must have zoom\")];if(mt[0].value===void 0)return[new ve(bt,mt,\"object stop key must have value\")];if(E&&E>Cn(mt[0].zoom))return[new ve(bt,mt[0].zoom,\"stop zoom values must appear in ascending order\")];Cn(mt[0].zoom)!==E&&(E=Cn(mt[0].zoom),x=void 0,P={}),ct=ct.concat(fi({key:`${bt}[0]`,value:mt[0],valueSpec:{zoom:{}},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,objectElementValidators:{zoom:vf,value:rt}}))}else ct=ct.concat(rt({key:`${bt}[0]`,value:mt[0],valueSpec:{},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec},mt));return Yp(ah(mt[1]))?ct.concat([new ve(`${bt}[1]`,mt[1],\"expressions are not allowed in function stops.\")]):ct.concat(at.validateSpec({key:`${bt}[1]`,value:mt[1],valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec}))}function rt(at,ct){let mt=qr(at.value),bt=Cn(at.value),Pt=at.value!==null?at.value:ct;if(A){if(mt!==A)return[new ve(at.key,Pt,`${mt} stop domain type must match previous stop domain type ${A}`)]}else A=mt;if(mt!==\"number\"&&mt!==\"string\"&&mt!==\"boolean\")return[new ve(at.key,Pt,\"stop domain value must be a number, string, or boolean\")];if(mt!==\"number\"&&h!==\"categorical\"){let jt=`number expected, ${mt} found`;return _f(a)&&h===void 0&&(jt+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ve(at.key,Pt,jt)]}return h!==\"categorical\"||mt!==\"number\"||isFinite(bt)&&Math.floor(bt)===bt?h!==\"categorical\"&&mt===\"number\"&&x!==void 0&&btnew ve(`${u.key}${A.key}`,u.value,A.message));let h=a.value.expression||a.value._styleExpression.expression;if(u.expressionContext===\"property\"&&u.propertyKey===\"text-font\"&&!h.outputDefined())return[new ve(u.key,u.value,`Invalid data expression for \"${u.propertyKey}\". Output values must be contained as literals within the expression.`)];if(u.expressionContext===\"property\"&&u.propertyType===\"layout\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(u.expressionContext===\"filter\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with filters.')];if(u.expressionContext&&u.expressionContext.indexOf(\"cluster\")===0){if(!qm(h,[\"zoom\",\"feature-state\"]))return[new ve(u.key,u.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(u.expressionContext===\"cluster-initial\"&&!Hm(h))return[new ve(u.key,u.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ld(u){let a=u.key,h=u.value,A=u.valueSpec,x=[];return Array.isArray(A.values)?A.values.indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${A.values.join(\", \")}], ${JSON.stringify(h)} found`)):Object.keys(A.values).indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${Object.keys(A.values).join(\", \")}], ${JSON.stringify(h)} found`)),x}function ch(u){return Id(ah(u.value))?lh(jo({},u,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Jp(u)}function Jp(u){let a=u.value,h=u.key;if(qr(a)!==\"array\")return[new ve(h,a,`array expected, ${qr(a)} found`)];let A=u.styleSpec,x,E=[];if(a.length<1)return[new ve(h,a,\"filter array must have at least 1 element\")];switch(E=E.concat(Ld({key:`${h}[0]`,value:a[0],valueSpec:A.filter_operator,style:u.style,styleSpec:u.styleSpec})),Cn(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&Cn(a[1])===\"$type\"&&E.push(new ve(h,a,`\"$type\" cannot be use with operator \"${a[0]}\"`));case\"==\":case\"!=\":a.length!==3&&E.push(new ve(h,a,`filter array for operator \"${a[0]}\" must have 3 elements`));case\"in\":case\"!in\":a.length>=2&&(x=qr(a[1]),x!==\"string\"&&E.push(new ve(`${h}[1]`,a[1],`string expected, ${x} found`)));for(let P=2;P{V in h&&a.push(new ve(A,h[V],`\"${V}\" is prohibited for ref layers`))}),x.layers.forEach(V=>{Cn(V.id)===D&&(F=V)}),F?F.ref?a.push(new ve(A,h.ref,\"ref cannot reference another ref layer\")):P=Cn(F.type):a.push(new ve(A,h.ref,`ref layer \"${D}\" not found`))}else if(P!==\"background\")if(h.source){let F=x.sources&&x.sources[h.source],V=F&&Cn(F.type);F?V===\"vector\"&&P===\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster source`)):V!==\"raster-dem\"&&P===\"hillshade\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster-dem source`)):V===\"raster\"&&P!==\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a vector source`)):V!==\"vector\"||h[\"source-layer\"]?V===\"raster-dem\"&&P!==\"hillshade\"?a.push(new ve(A,h.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):P!==\"line\"||!h.paint||!h.paint[\"line-gradient\"]||V===\"geojson\"&&F.lineMetrics||a.push(new ve(A,h,`layer \"${h.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):a.push(new ve(A,h,`layer \"${h.id}\" must specify a \"source-layer\"`)):a.push(new ve(A,h.source,`source \"${h.source}\" not found`))}else a.push(new ve(A,h,'missing required property \"source\"'));return a=a.concat(fi({key:A,value:h,valueSpec:E.layer,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>u.validateSpec({key:`${A}.type`,value:h.type,valueSpec:E.layer.type,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,object:h,objectKey:\"type\"}),filter:ch,layout:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>m_(jo({layerType:P},V))}}),paint:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>A_(jo({layerType:P},V))}})}})),a}function pl(u){let a=u.value,h=u.key,A=qr(a);return A!==\"string\"?[new ve(h,a,`string expected, ${A} found`)]:[]}let uh={promoteId:function({key:u,value:a}){if(qr(a)===\"string\")return pl({key:u,value:a});{let h=[];for(let A in a)h.push(...pl({key:`${u}.${A}`,value:a[A]}));return h}}};function la(u){let a=u.value,h=u.key,A=u.styleSpec,x=u.style,E=u.validateSpec;if(!a.type)return[new ve(h,a,'\"type\" is required')];let P=Cn(a.type),D;switch(P){case\"vector\":case\"raster\":return D=fi({key:h,value:a,valueSpec:A[`source_${P.replace(\"-\",\"_\")}`],style:u.style,styleSpec:A,objectElementValidators:uh,validateSpec:E}),D;case\"raster-dem\":return D=function(F){var V;let q=(V=F.sourceName)!==null&&V!==void 0?V:\"\",X=F.value,rt=F.styleSpec,at=rt.source_raster_dem,ct=F.style,mt=[],bt=qr(X);if(X===void 0)return mt;if(bt!==\"object\")return mt.push(new ve(\"source_raster_dem\",X,`object expected, ${bt} found`)),mt;let Pt=Cn(X.encoding)===\"custom\",jt=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],Rt=F.value.encoding?`\"${F.value.encoding}\"`:\"Default\";for(let Gt in X)!Pt&&jt.includes(Gt)?mt.push(new ve(Gt,X[Gt],`In \"${q}\": \"${Gt}\" is only valid when \"encoding\" is set to \"custom\". ${Rt} encoding found`)):at[Gt]?mt=mt.concat(F.validateSpec({key:Gt,value:X[Gt],valueSpec:at[Gt],validateSpec:F.validateSpec,style:ct,styleSpec:rt})):mt.push(new ve(Gt,X[Gt],`unknown property \"${Gt}\"`));return mt}({sourceName:h,value:a,style:u.style,styleSpec:A,validateSpec:E}),D;case\"geojson\":if(D=fi({key:h,value:a,valueSpec:A.source_geojson,style:x,styleSpec:A,validateSpec:E,objectElementValidators:uh}),a.cluster)for(let F in a.clusterProperties){let[V,q]=a.clusterProperties[F],X=typeof V==\"string\"?[V,[\"accumulated\"],[\"get\",F]]:V;D.push(...lh({key:`${h}.${F}.map`,value:q,validateSpec:E,expressionContext:\"cluster-map\"})),D.push(...lh({key:`${h}.${F}.reduce`,value:X,validateSpec:E,expressionContext:\"cluster-reduce\"}))}return D;case\"video\":return fi({key:h,value:a,valueSpec:A.source_video,style:x,validateSpec:E,styleSpec:A});case\"image\":return fi({key:h,value:a,valueSpec:A.source_image,style:x,validateSpec:E,styleSpec:A});case\"canvas\":return[new ve(h,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Ld({key:`${h}.type`,value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:x,validateSpec:E,styleSpec:A})}}function kd(u){let a=u.value,h=u.styleSpec,A=h.light,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"light\",a,`object expected, ${P} found`)]),E;for(let D in a){let F=D.match(/^(.*)-transition$/);E=E.concat(F&&A[F[1]]&&A[F[1]].transition?u.validateSpec({key:D,value:a[D],valueSpec:h.transition,validateSpec:u.validateSpec,style:x,styleSpec:h}):A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)])}return E}function g_(u){let a=u.value,h=u.styleSpec,A=h.terrain,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"terrain\",a,`object expected, ${P} found`)]),E;for(let D in a)E=E.concat(A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)]);return E}function js(u){let a=[],h=u.value,A=u.key;if(Array.isArray(h)){let x=[],E=[];for(let P in h)h[P].id&&x.includes(h[P].id)&&a.push(new ve(A,h,`all the sprites' ids must be unique, but ${h[P].id} is duplicated`)),x.push(h[P].id),h[P].url&&E.includes(h[P].url)&&a.push(new ve(A,h,`all the sprites' URLs must be unique, but ${h[P].url} is duplicated`)),E.push(h[P].url),a=a.concat(fi({key:`${A}[${P}]`,value:h[P],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:u.validateSpec}));return a}return pl({key:A,value:h})}let gu={\"*\":()=>[],array:mu,boolean:function(u){let a=u.value,h=u.key,A=qr(a);return A!==\"boolean\"?[new ve(h,a,`boolean expected, ${A} found`)]:[]},number:vf,color:function(u){let a=u.key,h=u.value,A=qr(h);return A!==\"string\"?[new ve(a,h,`color expected, ${A} found`)]:ai.parse(String(h))?[]:[new ve(a,h,`color expected, \"${h}\" found`)]},constants:i0,enum:Ld,filter:ch,function:Kp,layer:n0,object:fi,source:la,light:kd,terrain:g_,string:pl,formatted:function(u){return pl(u).length===0?[]:lh(u)},resolvedImage:function(u){return pl(u).length===0?[]:lh(u)},padding:function(u){let a=u.key,h=u.value;if(qr(h)===\"array\"){if(h.length<1||h.length>4)return[new ve(a,h,`padding requires 1 to 4 values; ${h.length} values found`)];let A={type:\"number\"},x=[];for(let E=0;E[]}})),u.constants&&(h=h.concat(i0({key:\"constants\",value:u.constants,style:u,styleSpec:a,validateSpec:Ln}))),Rd(h)}function Fa(u){return function(a){return u({...a,validateSpec:Ln})}}function Rd(u){return[].concat(u).sort((a,h)=>a.line-h.line)}function Al(u){return function(...a){return Rd(u.apply(this,a))}}ca.source=Al(Fa(la)),ca.sprite=Al(Fa(js)),ca.glyphs=Al(Fa(eA)),ca.light=Al(Fa(kd)),ca.terrain=Al(Fa(g_)),ca.layer=Al(Fa(n0)),ca.filter=Al(Fa(ch)),ca.paintProperty=Al(Fa(A_)),ca.layoutProperty=Al(Fa(m_));let za=ca,hh=za.light,rA=za.paintProperty,s0=za.layoutProperty;function fh(u,a){let h=!1;if(a&&a.length)for(let A of a)u.fire(new ao(new Error(A.message))),h=!0;return h}class Na{constructor(a,h,A){let x=this.cells=[];if(a instanceof ArrayBuffer){this.arrayBuffer=a;let P=new Int32Array(this.arrayBuffer);a=P[0],this.d=(h=P[1])+2*(A=P[2]);for(let F=0;F=X[ct+0]&&x>=X[ct+1])?(D[at]=!0,P.push(q[at])):D[at]=!1}}}}_forEachCell(a,h,A,x,E,P,D,F){let V=this._convertToCellCoord(a),q=this._convertToCellCoord(h),X=this._convertToCellCoord(A),rt=this._convertToCellCoord(x);for(let at=V;at<=X;at++)for(let ct=q;ct<=rt;ct++){let mt=this.d*ct+at;if((!F||F(this._convertFromCellCoord(at),this._convertFromCellCoord(ct),this._convertFromCellCoord(at+1),this._convertFromCellCoord(ct+1)))&&E.call(this,a,h,A,x,mt,P,D,F))return}}_convertFromCellCoord(a){return(a-this.padding)/this.scale}_convertToCellCoord(a){return Math.max(0,Math.min(this.d-1,Math.floor(a*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let a=this.cells,h=3+this.cells.length+1+1,A=0;for(let P=0;P=0)continue;let P=u[E];x[E]=co[A].shallow.indexOf(E)>=0?P:Hl(P,a)}u instanceof Error&&(x.message=u.message)}if(x.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return A!==\"Object\"&&(x.$name=A),x}throw new Error(\"can't serialize object of type \"+typeof u)}function xf(u){if(u==null||typeof u==\"boolean\"||typeof u==\"number\"||typeof u==\"string\"||u instanceof Boolean||u instanceof Number||u instanceof String||u instanceof Date||u instanceof RegExp||u instanceof Blob||Dd(u)||zl(u)||ArrayBuffer.isView(u)||u instanceof ImageData)return u;if(Array.isArray(u))return u.map(xf);if(typeof u==\"object\"){let a=u.$name||\"Object\";if(!co[a])throw new Error(`can't deserialize unregistered class ${a}`);let{klass:h}=co[a];if(!h)throw new Error(`can't deserialize unregistered class ${a}`);if(h.deserialize)return h.deserialize(u);let A=Object.create(h.prototype);for(let x of Object.keys(u)){if(x===\"$name\")continue;let E=u[x];A[x]=co[a].shallow.indexOf(x)>=0?E:xf(E)}return A}throw new Error(\"can't deserialize object of type \"+typeof u)}class __{constructor(){this.first=!0}update(a,h){let A=Math.floor(a);return this.first?(this.first=!1,this.lastIntegerZoom=A,this.lastIntegerZoomTime=0,this.lastZoom=a,this.lastFloorZoom=A,!0):(this.lastFloorZoom>A?(this.lastIntegerZoom=A+1,this.lastIntegerZoomTime=h):this.lastFloorZoomu>=128&&u<=255,Arabic:u=>u>=1536&&u<=1791,\"Arabic Supplement\":u=>u>=1872&&u<=1919,\"Arabic Extended-A\":u=>u>=2208&&u<=2303,\"Hangul Jamo\":u=>u>=4352&&u<=4607,\"Unified Canadian Aboriginal Syllabics\":u=>u>=5120&&u<=5759,Khmer:u=>u>=6016&&u<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":u=>u>=6320&&u<=6399,\"General Punctuation\":u=>u>=8192&&u<=8303,\"Letterlike Symbols\":u=>u>=8448&&u<=8527,\"Number Forms\":u=>u>=8528&&u<=8591,\"Miscellaneous Technical\":u=>u>=8960&&u<=9215,\"Control Pictures\":u=>u>=9216&&u<=9279,\"Optical Character Recognition\":u=>u>=9280&&u<=9311,\"Enclosed Alphanumerics\":u=>u>=9312&&u<=9471,\"Geometric Shapes\":u=>u>=9632&&u<=9727,\"Miscellaneous Symbols\":u=>u>=9728&&u<=9983,\"Miscellaneous Symbols and Arrows\":u=>u>=11008&&u<=11263,\"CJK Radicals Supplement\":u=>u>=11904&&u<=12031,\"Kangxi Radicals\":u=>u>=12032&&u<=12255,\"Ideographic Description Characters\":u=>u>=12272&&u<=12287,\"CJK Symbols and Punctuation\":u=>u>=12288&&u<=12351,Hiragana:u=>u>=12352&&u<=12447,Katakana:u=>u>=12448&&u<=12543,Bopomofo:u=>u>=12544&&u<=12591,\"Hangul Compatibility Jamo\":u=>u>=12592&&u<=12687,Kanbun:u=>u>=12688&&u<=12703,\"Bopomofo Extended\":u=>u>=12704&&u<=12735,\"CJK Strokes\":u=>u>=12736&&u<=12783,\"Katakana Phonetic Extensions\":u=>u>=12784&&u<=12799,\"Enclosed CJK Letters and Months\":u=>u>=12800&&u<=13055,\"CJK Compatibility\":u=>u>=13056&&u<=13311,\"CJK Unified Ideographs Extension A\":u=>u>=13312&&u<=19903,\"Yijing Hexagram Symbols\":u=>u>=19904&&u<=19967,\"CJK Unified Ideographs\":u=>u>=19968&&u<=40959,\"Yi Syllables\":u=>u>=40960&&u<=42127,\"Yi Radicals\":u=>u>=42128&&u<=42191,\"Hangul Jamo Extended-A\":u=>u>=43360&&u<=43391,\"Hangul Syllables\":u=>u>=44032&&u<=55215,\"Hangul Jamo Extended-B\":u=>u>=55216&&u<=55295,\"Private Use Area\":u=>u>=57344&&u<=63743,\"CJK Compatibility Ideographs\":u=>u>=63744&&u<=64255,\"Arabic Presentation Forms-A\":u=>u>=64336&&u<=65023,\"Vertical Forms\":u=>u>=65040&&u<=65055,\"CJK Compatibility Forms\":u=>u>=65072&&u<=65103,\"Small Form Variants\":u=>u>=65104&&u<=65135,\"Arabic Presentation Forms-B\":u=>u>=65136&&u<=65279,\"Halfwidth and Fullwidth Forms\":u=>u>=65280&&u<=65519};function o0(u){for(let a of u)if(dh(a.charCodeAt(0)))return!0;return!1}function a0(u){for(let a of u)if(!zx(a.charCodeAt(0)))return!1;return!0}function zx(u){return!(Oe.Arabic(u)||Oe[\"Arabic Supplement\"](u)||Oe[\"Arabic Extended-A\"](u)||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u))}function dh(u){return!(u!==746&&u!==747&&(u<4352||!(Oe[\"Bopomofo Extended\"](u)||Oe.Bopomofo(u)||Oe[\"CJK Compatibility Forms\"](u)&&!(u>=65097&&u<=65103)||Oe[\"CJK Compatibility Ideographs\"](u)||Oe[\"CJK Compatibility\"](u)||Oe[\"CJK Radicals Supplement\"](u)||Oe[\"CJK Strokes\"](u)||!(!Oe[\"CJK Symbols and Punctuation\"](u)||u>=12296&&u<=12305||u>=12308&&u<=12319||u===12336)||Oe[\"CJK Unified Ideographs Extension A\"](u)||Oe[\"CJK Unified Ideographs\"](u)||Oe[\"Enclosed CJK Letters and Months\"](u)||Oe[\"Hangul Compatibility Jamo\"](u)||Oe[\"Hangul Jamo Extended-A\"](u)||Oe[\"Hangul Jamo Extended-B\"](u)||Oe[\"Hangul Jamo\"](u)||Oe[\"Hangul Syllables\"](u)||Oe.Hiragana(u)||Oe[\"Ideographic Description Characters\"](u)||Oe.Kanbun(u)||Oe[\"Kangxi Radicals\"](u)||Oe[\"Katakana Phonetic Extensions\"](u)||Oe.Katakana(u)&&u!==12540||!(!Oe[\"Halfwidth and Fullwidth Forms\"](u)||u===65288||u===65289||u===65293||u>=65306&&u<=65310||u===65339||u===65341||u===65343||u>=65371&&u<=65503||u===65507||u>=65512&&u<=65519)||!(!Oe[\"Small Form Variants\"](u)||u>=65112&&u<=65118||u>=65123&&u<=65126)||Oe[\"Unified Canadian Aboriginal Syllabics\"](u)||Oe[\"Unified Canadian Aboriginal Syllabics Extended\"](u)||Oe[\"Vertical Forms\"](u)||Oe[\"Yijing Hexagram Symbols\"](u)||Oe[\"Yi Syllables\"](u)||Oe[\"Yi Radicals\"](u))))}function y_(u){return!(dh(u)||function(a){return!!(Oe[\"Latin-1 Supplement\"](a)&&(a===167||a===169||a===174||a===177||a===188||a===189||a===190||a===215||a===247)||Oe[\"General Punctuation\"](a)&&(a===8214||a===8224||a===8225||a===8240||a===8241||a===8251||a===8252||a===8258||a===8263||a===8264||a===8265||a===8273)||Oe[\"Letterlike Symbols\"](a)||Oe[\"Number Forms\"](a)||Oe[\"Miscellaneous Technical\"](a)&&(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||a===9003||a>=9085&&a<=9114||a>=9150&&a<=9165||a===9167||a>=9169&&a<=9179||a>=9186&&a<=9215)||Oe[\"Control Pictures\"](a)&&a!==9251||Oe[\"Optical Character Recognition\"](a)||Oe[\"Enclosed Alphanumerics\"](a)||Oe[\"Geometric Shapes\"](a)||Oe[\"Miscellaneous Symbols\"](a)&&!(a>=9754&&a<=9759)||Oe[\"Miscellaneous Symbols and Arrows\"](a)&&(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243)||Oe[\"CJK Symbols and Punctuation\"](a)||Oe.Katakana(a)||Oe[\"Private Use Area\"](a)||Oe[\"CJK Compatibility Forms\"](a)||Oe[\"Small Form Variants\"](a)||Oe[\"Halfwidth and Fullwidth Forms\"](a)||a===8734||a===8756||a===8757||a>=9984&&a<=10087||a>=10102&&a<=10131||a===65532||a===65533)}(u))}function l0(u){return u>=1424&&u<=2303||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u)}function c0(u,a){return!(!a&&l0(u)||u>=2304&&u<=3583||u>=3840&&u<=4255||Oe.Khmer(u))}function bf(u){for(let a of u)if(l0(a.charCodeAt(0)))return!0;return!1}let u0=\"deferred\",iA=\"loading\",nA=\"loaded\",ph=null,us=\"unavailable\",_u=null,Bc=function(u){u&&typeof u==\"string\"&&u.indexOf(\"NetworkError\")>-1&&(us=\"error\"),ph&&ph(u)};function h0(){Od.fire(new as(\"pluginStateChange\",{pluginStatus:us,pluginURL:_u}))}let Od=new Nl,f0=function(){return us},v_=function(){if(us!==u0||!_u)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");us=iA,h0(),_u&&cl({url:_u},u=>{u?Bc(u):(us=nA,h0())})},ua={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>us===nA||ua.applyArabicShaping!=null,isLoading:()=>us===iA,setState(u){if(!Li())throw new Error(\"Cannot set the state of the rtl-text-plugin when not in the web-worker context\");us=u.pluginStatus,_u=u.pluginURL},isParsed(){if(!Li())throw new Error(\"rtl-text-plugin is only parsed on the worker-threads\");return ua.applyArabicShaping!=null&&ua.processBidirectionalText!=null&&ua.processStyledBidirectionalText!=null},getPluginURL(){if(!Li())throw new Error(\"rtl-text-plugin url can only be queried from the worker threads\");return _u}};class un{constructor(a,h){this.zoom=a,h?(this.now=h.now,this.fadeDuration=h.fadeDuration,this.zoomHistory=h.zoomHistory,this.transition=h.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new __,this.transition={})}isSupportedScript(a){return function(h,A){for(let x of h)if(!c0(x.charCodeAt(0),A))return!1;return!0}(a,ua.isLoaded())}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let a=this.zoom,h=a-Math.floor(a),A=this.crossFadingFactor();return a>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:h+(1-h)*A}:{fromScale:.5,toScale:1,t:1-(1-A)*h}}}class sA{constructor(a,h){this.property=a,this.value=h,this.expression=function(A,x){if(Ji(A))return new Ed(A,x);if(Yp(A)){let E=e0(A,x);if(E.result===\"error\")throw new Error(E.value.map(P=>`${P.key}: ${P.message}`).join(\", \"));return E.value}{let E=A;return x.type===\"color\"&&typeof A==\"string\"?E=ai.parse(A):x.type!==\"padding\"||typeof A!=\"number\"&&!Array.isArray(A)?x.type===\"variableAnchorOffsetCollection\"&&Array.isArray(A)&&(E=Go.parse(A)):E=Dn.parse(A),{kind:\"constant\",evaluate:()=>E}}}(h===void 0?a.specification.default:h,a.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(a,h,A){return this.property.possiblyEvaluate(this,a,h,A)}}class d0{constructor(a){this.property=a,this.value=new sA(a,void 0)}transitioned(a,h){return new x_(this.property,this.value,h,kt({},a.transition,this.transition),a.now)}untransitioned(){return new x_(this.property,this.value,null,{},0)}}class Ah{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitionablePropertyValues)}getValue(a){return ue(this._values[a].value.value)}setValue(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].value=new sA(this._values[a].property,h===null?void 0:ue(h))}getTransition(a){return ue(this._values[a].transition)}setTransition(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].transition=ue(h)||void 0}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A);let x=this.getTransition(h);x!==void 0&&(a[`${h}-transition`]=x)}return a}transitioned(a,h){let A=new b_(this._properties);for(let x of Object.keys(this._values))A._values[x]=this._values[x].transitioned(a,h._values[x]);return A}untransitioned(){let a=new b_(this._properties);for(let h of Object.keys(this._values))a._values[h]=this._values[h].untransitioned();return a}}class x_{constructor(a,h,A,x,E){this.property=a,this.value=h,this.begin=E+x.delay||0,this.end=this.begin+x.duration||0,a.specification.transition&&(x.delay||x.duration)&&(this.prior=A)}possiblyEvaluate(a,h,A){let x=a.now||0,E=this.value.possiblyEvaluate(a,h,A),P=this.prior;if(P){if(x>this.end)return this.prior=null,E;if(this.value.isDataDriven())return this.prior=null,E;if(x=1)return 1;let V=F*F,q=V*F;return 4*(F<.5?q:3*(F-V)+q-.75)}(D))}}return E}}class b_{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitioningPropertyValues)}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}hasTransition(){for(let a of Object.keys(this._values))if(this._values[a].prior)return!0;return!1}}class Nx{constructor(a){this._properties=a,this._values=Object.create(a.defaultPropertyValues)}hasValue(a){return this._values[a].value!==void 0}getValue(a){return ue(this._values[a].value)}setValue(a,h){this._values[a]=new sA(this._values[a].property,h===null?void 0:ue(h))}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A)}return a}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}}class Mo{constructor(a,h,A){this.property=a,this.value=h,this.parameters=A}isConstant(){return this.value.kind===\"constant\"}constantOr(a){return this.value.kind===\"constant\"?this.value.value:a}evaluate(a,h,A,x){return this.property.evaluate(this.value,this.parameters,a,h,A,x)}}class oA{constructor(a){this._properties=a,this._values=Object.create(a.defaultPossiblyEvaluatedValues)}get(a){return this._values[a]}}class nr{constructor(a){this.specification=a}possiblyEvaluate(a,h){if(a.isDataDriven())throw new Error(\"Value should not be data driven\");return a.expression.evaluate(h)}interpolate(a,h,A){let x=Da[this.specification.type];return x?x(a,h,A):a}}class dr{constructor(a,h){this.specification=a,this.overrides=h}possiblyEvaluate(a,h,A,x){return new Mo(this,a.expression.kind===\"constant\"||a.expression.kind===\"camera\"?{kind:\"constant\",value:a.expression.evaluate(h,null,{},A,x)}:a.expression,h)}interpolate(a,h,A){if(a.value.kind!==\"constant\"||h.value.kind!==\"constant\")return a;if(a.value.value===void 0||h.value.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},a.parameters);let x=Da[this.specification.type];if(x){let E=x(a.value.value,h.value.value,A);return new Mo(this,{kind:\"constant\",value:E},a.parameters)}return a}evaluate(a,h,A,x,E,P){return a.kind===\"constant\"?a.value:a.evaluate(h,A,x,E,P)}}class wf extends dr{possiblyEvaluate(a,h,A,x){if(a.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},h);if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x),P=a.property.specification.type===\"resolvedImage\"&&typeof E!=\"string\"?E.name:E,D=this._calculate(P,P,P,h);return new Mo(this,{kind:\"constant\",value:D},h)}if(a.expression.kind===\"camera\"){let E=this._calculate(a.expression.evaluate({zoom:h.zoom-1}),a.expression.evaluate({zoom:h.zoom}),a.expression.evaluate({zoom:h.zoom+1}),h);return new Mo(this,{kind:\"constant\",value:E},h)}return new Mo(this,a.expression,h)}evaluate(a,h,A,x,E,P){if(a.kind===\"source\"){let D=a.evaluate(h,A,x,E,P);return this._calculate(D,D,D,h)}return a.kind===\"composite\"?this._calculate(a.evaluate({zoom:Math.floor(h.zoom)-1},A,x),a.evaluate({zoom:Math.floor(h.zoom)},A,x),a.evaluate({zoom:Math.floor(h.zoom)+1},A,x),h):a.value}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class aA{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){if(a.value!==void 0){if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x);return this._calculate(E,E,E,h)}return this._calculate(a.expression.evaluate(new un(Math.floor(h.zoom-1),h)),a.expression.evaluate(new un(Math.floor(h.zoom),h)),a.expression.evaluate(new un(Math.floor(h.zoom+1),h)),h)}}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class Bd{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){return!!a.expression.evaluate(h,null,{},A,x)}interpolate(){return!1}}class Hn{constructor(a){this.properties=a,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let h in a){let A=a[h];A.specification.overridable&&this.overridableProperties.push(h);let x=this.defaultPropertyValues[h]=new sA(A,void 0),E=this.defaultTransitionablePropertyValues[h]=new d0(A);this.defaultTransitioningPropertyValues[h]=E.untransitioned(),this.defaultPossiblyEvaluatedValues[h]=x.possiblyEvaluate({})}}}Ge(\"DataDrivenProperty\",dr),Ge(\"DataConstantProperty\",nr),Ge(\"CrossFadedDataDrivenProperty\",wf),Ge(\"CrossFadedProperty\",aA),Ge(\"ColorRampProperty\",Bd);let uo=\"-transition\";class ji extends Nl{constructor(a,h){if(super(),this.id=a.id,this.type=a.type,this._featureFilter={filter:()=>!0,needGeometry:!1},a.type!==\"custom\"&&(this.metadata=a.metadata,this.minzoom=a.minzoom,this.maxzoom=a.maxzoom,a.type!==\"background\"&&(this.source=a.source,this.sourceLayer=a[\"source-layer\"],this.filter=a.filter),h.layout&&(this._unevaluatedLayout=new Nx(h.layout)),h.paint)){this._transitionablePaint=new Ah(h.paint);for(let A in a.paint)this.setPaintProperty(A,a.paint[A],{validate:!1});for(let A in a.layout)this.setLayoutProperty(A,a.layout[A],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oA(h.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(a){return a===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(a)}setLayoutProperty(a,h,A={}){h!=null&&this._validate(s0,`layers.${this.id}.layout.${a}`,a,h,A)||(a!==\"visibility\"?this._unevaluatedLayout.setValue(a,h):this.visibility=h)}getPaintProperty(a){return a.endsWith(uo)?this._transitionablePaint.getTransition(a.slice(0,-11)):this._transitionablePaint.getValue(a)}setPaintProperty(a,h,A={}){if(h!=null&&this._validate(rA,`layers.${this.id}.paint.${a}`,a,h,A))return!1;if(a.endsWith(uo))return this._transitionablePaint.setTransition(a.slice(0,-11),h||void 0),!1;{let x=this._transitionablePaint._values[a],E=x.property.specification[\"property-type\"]===\"cross-faded-data-driven\",P=x.value.isDataDriven(),D=x.value;this._transitionablePaint.setValue(a,h),this._handleSpecialPaintPropertyUpdate(a);let F=this._transitionablePaint._values[a].value;return F.isDataDriven()||P||E||this._handleOverridablePaintPropertyUpdate(a,D,F)}}_handleSpecialPaintPropertyUpdate(a){}_handleOverridablePaintPropertyUpdate(a,h,A){return!1}isHidden(a){return!!(this.minzoom&&a=this.maxzoom)||this.visibility===\"none\"}updateTransitions(a){this._transitioningPaint=this._transitionablePaint.transitioned(a,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(a,h){a.getCrossfadeParameters&&(this._crossfadeParameters=a.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(a,void 0,h)),this.paint=this._transitioningPaint.possiblyEvaluate(a,void 0,h)}serialize(){let a={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(a.layout=a.layout||{},a.layout.visibility=this.visibility),le(a,(h,A)=>!(h===void 0||A===\"layout\"&&!Object.keys(h).length||A===\"paint\"&&!Object.keys(h).length))}_validate(a,h,A,x,E={}){return(!E||E.validate!==!1)&&fh(this,a.call(za,{key:h,layerType:this.type,objectKey:A,value:x,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let a in this.paint._values){let h=this.paint.get(a);if(h instanceof Mo&&_f(h.property.specification)&&(h.value.kind===\"source\"||h.value.kind===\"composite\")&&h.value.isStateDependent)return!0}return!1}}let w_={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class mh{constructor(a,h){this._structArray=a,this._pos1=h*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class kn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(a,h){return a._trim(),h&&(a.isTransferred=!0,h.push(a.arrayBuffer)),{length:a.length,arrayBuffer:a.arrayBuffer}}static deserialize(a){let h=Object.create(this.prototype);return h.arrayBuffer=a.arrayBuffer,h.length=a.length,h.capacity=a.arrayBuffer.byteLength/h.bytesPerElement,h._refreshViews(),h}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(a){this.reserve(a),this.length=a}reserve(a){if(a>this.capacity){this.capacity=Math.max(a,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let h=this.uint8;this._refreshViews(),h&&this.uint8.set(h)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function wn(u,a=1){let h=0,A=0;return{members:u.map(x=>{let E=w_[x.type].BYTES_PER_ELEMENT,P=h=Sf(h,Math.max(a,E)),D=x.components||1;return A=Math.max(A,E),h+=E*D,{name:x.name,type:x.type,components:D,offset:P}}),size:Sf(h,Math.max(A,a)),alignment:a}}function Sf(u,a){return Math.ceil(u/a)*a}class Es extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.int16[x+0]=h,this.int16[x+1]=A,a}}Es.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2i4\",Es);class gh extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.int16[E+0]=h,this.int16[E+1]=A,this.int16[E+2]=x,a}}gh.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3i6\",gh);class Wo extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.int16[P+0]=h,this.int16[P+1]=A,this.int16[P+2]=x,this.int16[P+3]=E,a}}Wo.prototype.bytesPerElement=8,Ge(\"StructArrayLayout4i8\",Wo);class p0 extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}p0.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i4i12\",p0);class Fd extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=4*a,V=8*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.uint8[V+4]=x,this.uint8[V+5]=E,this.uint8[V+6]=P,this.uint8[V+7]=D,a}}Fd.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2i4ub8\",Fd);class Tf extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.float32[x+0]=h,this.float32[x+1]=A,a}}Tf.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2f8\",Tf);class Ho extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q){let X=this.length;return this.resize(X+1),this.emplace(X,a,h,A,x,E,P,D,F,V,q)}emplace(a,h,A,x,E,P,D,F,V,q,X){let rt=10*a;return this.uint16[rt+0]=h,this.uint16[rt+1]=A,this.uint16[rt+2]=x,this.uint16[rt+3]=E,this.uint16[rt+4]=P,this.uint16[rt+5]=D,this.uint16[rt+6]=F,this.uint16[rt+7]=V,this.uint16[rt+8]=q,this.uint16[rt+9]=X,a}}Ho.prototype.bytesPerElement=20,Ge(\"StructArrayLayout10ui20\",Ho);class lA extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt){let at=this.length;return this.resize(at+1),this.emplace(at,a,h,A,x,E,P,D,F,V,q,X,rt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at){let ct=12*a;return this.int16[ct+0]=h,this.int16[ct+1]=A,this.int16[ct+2]=x,this.int16[ct+3]=E,this.uint16[ct+4]=P,this.uint16[ct+5]=D,this.uint16[ct+6]=F,this.uint16[ct+7]=V,this.int16[ct+8]=q,this.int16[ct+9]=X,this.int16[ct+10]=rt,this.int16[ct+11]=at,a}}lA.prototype.bytesPerElement=24,Ge(\"StructArrayLayout4i4ui4i24\",lA);class bi extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.float32[E+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}bi.prototype.bytesPerElement=12,Ge(\"StructArrayLayout3f12\",bi);class T extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint32[1*a+0]=h,a}}T.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1ul4\",T);class l extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V){let q=this.length;return this.resize(q+1),this.emplace(q,a,h,A,x,E,P,D,F,V)}emplace(a,h,A,x,E,P,D,F,V,q){let X=10*a,rt=5*a;return this.int16[X+0]=h,this.int16[X+1]=A,this.int16[X+2]=x,this.int16[X+3]=E,this.int16[X+4]=P,this.int16[X+5]=D,this.uint32[rt+3]=F,this.uint16[X+8]=V,this.uint16[X+9]=q,a}}l.prototype.bytesPerElement=20,Ge(\"StructArrayLayout6i1ul2ui20\",l);class d extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}d.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i2i2i12\",d);class v extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E){let P=this.length;return this.resize(P+1),this.emplace(P,a,h,A,x,E)}emplace(a,h,A,x,E,P){let D=4*a,F=8*a;return this.float32[D+0]=h,this.float32[D+1]=A,this.float32[D+2]=x,this.int16[F+6]=E,this.int16[F+7]=P,a}}v.prototype.bytesPerElement=16,Ge(\"StructArrayLayout2f1f2i16\",v);class b extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=12*a,D=3*a;return this.uint8[P+0]=h,this.uint8[P+1]=A,this.float32[D+1]=x,this.float32[D+2]=E,a}}b.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2ub2f12\",b);class M extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[E+0]=h,this.uint16[E+1]=A,this.uint16[E+2]=x,a}}M.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3ui6\",M);class O extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt){let jt=this.length;return this.resize(jt+1),this.emplace(jt,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt){let Rt=24*a,Gt=12*a,Yt=48*a;return this.int16[Rt+0]=h,this.int16[Rt+1]=A,this.uint16[Rt+2]=x,this.uint16[Rt+3]=E,this.uint32[Gt+2]=P,this.uint32[Gt+3]=D,this.uint32[Gt+4]=F,this.uint16[Rt+10]=V,this.uint16[Rt+11]=q,this.uint16[Rt+12]=X,this.float32[Gt+7]=rt,this.float32[Gt+8]=at,this.uint8[Yt+36]=ct,this.uint8[Yt+37]=mt,this.uint8[Yt+38]=bt,this.uint32[Gt+10]=Pt,this.int16[Rt+22]=jt,a}}O.prototype.bytesPerElement=48,Ge(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",O);class B extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye){let Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye,Ie){let Ae=32*a,hr=16*a;return this.int16[Ae+0]=h,this.int16[Ae+1]=A,this.int16[Ae+2]=x,this.int16[Ae+3]=E,this.int16[Ae+4]=P,this.int16[Ae+5]=D,this.int16[Ae+6]=F,this.int16[Ae+7]=V,this.uint16[Ae+8]=q,this.uint16[Ae+9]=X,this.uint16[Ae+10]=rt,this.uint16[Ae+11]=at,this.uint16[Ae+12]=ct,this.uint16[Ae+13]=mt,this.uint16[Ae+14]=bt,this.uint16[Ae+15]=Pt,this.uint16[Ae+16]=jt,this.uint16[Ae+17]=Rt,this.uint16[Ae+18]=Gt,this.uint16[Ae+19]=Yt,this.uint16[Ae+20]=ce,this.uint16[Ae+21]=Ne,this.uint16[Ae+22]=ir,this.uint32[hr+12]=Fe,this.float32[hr+13]=Re,this.float32[hr+14]=Me,this.uint16[Ae+30]=Ye,this.uint16[Ae+31]=Ie,a}}B.prototype.bytesPerElement=64,Ge(\"StructArrayLayout8i15ui1ul2f2ui64\",B);class U extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.float32[1*a+0]=h,a}}U.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1f4\",U);class W extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[6*a+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}W.prototype.bytesPerElement=12,Ge(\"StructArrayLayout1ui2f12\",W);class Z extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=4*a;return this.uint32[2*a+0]=h,this.uint16[E+2]=A,this.uint16[E+3]=x,a}}Z.prototype.bytesPerElement=8,Ge(\"StructArrayLayout1ul2ui8\",Z);class $ extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.uint16[x+0]=h,this.uint16[x+1]=A,a}}$.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2ui4\",$);class st extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint16[1*a+0]=h,a}}st.prototype.bytesPerElement=2,Ge(\"StructArrayLayout1ui2\",st);class At extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.float32[P+0]=h,this.float32[P+1]=A,this.float32[P+2]=x,this.float32[P+3]=E,a}}At.prototype.bytesPerElement=16,Ge(\"StructArrayLayout4f16\",At);class pt extends mh{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new w(this.anchorPointX,this.anchorPointY)}}pt.prototype.size=20;class yt extends l{get(a){return new pt(this,a)}}Ge(\"CollisionBoxArray\",yt);class dt extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(a){this._structArray.uint8[this._pos1+37]=a}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(a){this._structArray.uint8[this._pos1+38]=a}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(a){this._structArray.uint32[this._pos4+10]=a}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}dt.prototype.size=48;class Ft extends O{get(a){return new dt(this,a)}}Ge(\"PlacedSymbolArray\",Ft);class Ht extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(a){this._structArray.uint32[this._pos4+12]=a}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ht.prototype.size=64;class St extends B{get(a){return new Ht(this,a)}}Ge(\"SymbolInstanceArray\",St);class Bt extends U{getoffsetX(a){return this.float32[1*a+0]}}Ge(\"GlyphOffsetArray\",Bt);class Qt extends gh{getx(a){return this.int16[3*a+0]}gety(a){return this.int16[3*a+1]}gettileUnitDistanceFromAnchor(a){return this.int16[3*a+2]}}Ge(\"SymbolLineVertexArray\",Qt);class $t extends mh{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}$t.prototype.size=12;class oe extends W{get(a){return new $t(this,a)}}Ge(\"TextAnchorOffsetArray\",oe);class pe extends mh{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}pe.prototype.size=8;class he extends Z{get(a){return new pe(this,a)}}Ge(\"FeatureIndexArray\",he);class be extends Es{}class Ze extends Es{}class Kr extends Es{}class Ee extends p0{}class pr extends Fd{}class tr extends Tf{}class Gi extends Ho{}class Jr extends lA{}class Vr extends bi{}class ei extends T{}class On extends d{}class tn extends b{}class Gs extends M{}class hs extends ${}let Bn=wn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:qo}=Bn;class jr{constructor(a=[]){this.segments=a}prepareSegment(a,h,A,x){let E=this.segments[this.segments.length-1];return a>jr.MAX_VERTEX_ARRAY_LENGTH&&Ke(`Max vertices per segment is ${jr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${a}`),(!E||E.vertexLength+a>jr.MAX_VERTEX_ARRAY_LENGTH||E.sortKey!==x)&&(E={vertexOffset:h.length,primitiveOffset:A.length,vertexLength:0,primitiveLength:0},x!==void 0&&(E.sortKey=x),this.segments.push(E)),E}get(){return this.segments}destroy(){for(let a of this.segments)for(let h in a.vaos)a.vaos[h].destroy()}static simpleSegment(a,h,A,x){return new jr([{vertexOffset:a,primitiveOffset:h,vertexLength:A,primitiveLength:x,vaos:{},sortKey:0}])}}function ql(u,a){return 256*(u=ut(Math.floor(u),0,255))+ut(Math.floor(a),0,255)}jr.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ge(\"SegmentVector\",jr);let Zl=wn([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var yu={exports:{}},vu={exports:{}};vu.exports=function(u,a){var h,A,x,E,P,D,F,V;for(A=u.length-(h=3&u.length),x=a,P=3432918353,D=461845907,V=0;V>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295)<<13|x>>>19))+((5*(x>>>16)&65535)<<16)&4294967295))+((58964+(E>>>16)&65535)<<16);switch(F=0,h){case 3:F^=(255&u.charCodeAt(V+2))<<16;case 2:F^=(255&u.charCodeAt(V+1))<<8;case 1:x^=F=(65535&(F=(F=(65535&(F^=255&u.charCodeAt(V)))*P+(((F>>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295}return x^=u.length,x=2246822507*(65535&(x^=x>>>16))+((2246822507*(x>>>16)&65535)<<16)&4294967295,x=3266489909*(65535&(x^=x>>>13))+((3266489909*(x>>>16)&65535)<<16)&4294967295,(x^=x>>>16)>>>0};var _h=vu.exports,Ws={exports:{}};Ws.exports=function(u,a){for(var h,A=u.length,x=a^A,E=0;A>=4;)h=1540483477*(65535&(h=255&u.charCodeAt(E)|(255&u.charCodeAt(++E))<<8|(255&u.charCodeAt(++E))<<16|(255&u.charCodeAt(++E))<<24))+((1540483477*(h>>>16)&65535)<<16),x=1540483477*(65535&x)+((1540483477*(x>>>16)&65535)<<16)^(h=1540483477*(65535&(h^=h>>>24))+((1540483477*(h>>>16)&65535)<<16)),A-=4,++E;switch(A){case 3:x^=(255&u.charCodeAt(E+2))<<16;case 2:x^=(255&u.charCodeAt(E+1))<<8;case 1:x=1540483477*(65535&(x^=255&u.charCodeAt(E)))+((1540483477*(x>>>16)&65535)<<16)}return x=1540483477*(65535&(x^=x>>>13))+((1540483477*(x>>>16)&65535)<<16),(x^=x>>>15)>>>0};var Ps=_h,Eo=Ws.exports;yu.exports=Ps,yu.exports.murmur3=Ps,yu.exports.murmur2=Eo;var yh=c(yu.exports);class Fn{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(a,h,A,x){this.ids.push(fs(a)),this.positions.push(h,A,x)}getPositions(a){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let h=fs(a),A=0,x=this.ids.length-1;for(;A>1;this.ids[P]>=h?x=P:A=P+1}let E=[];for(;this.ids[A]===h;)E.push({index:this.positions[3*A],start:this.positions[3*A+1],end:this.positions[3*A+2]}),A++;return E}static serialize(a,h){let A=new Float64Array(a.ids),x=new Uint32Array(a.positions);return Zo(A,x,0,A.length-1),h&&h.push(A.buffer,x.buffer),{ids:A,positions:x}}static deserialize(a){let h=new Fn;return h.ids=a.ids,h.positions=a.positions,h.indexed=!0,h}}function fs(u){let a=+u;return!isNaN(a)&&a<=Number.MAX_SAFE_INTEGER?a:yh(String(u))}function Zo(u,a,h,A){for(;h>1],E=h-1,P=A+1;for(;;){do E++;while(u[E]x);if(E>=P)break;_n(u,E,P),_n(a,3*E,3*P),_n(a,3*E+1,3*P+1),_n(a,3*E+2,3*P+2)}P-h`u_${x}`),this.type=A}setUniform(a,h,A){a.set(A.constantOr(this.value))}getBinding(a,h,A){return this.type===\"color\"?new S_(a,h):new Gr(a,h)}}class Yo{constructor(a,h){this.uniformNames=h.map(A=>`u_${A}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(a,h){this.pixelRatioFrom=h.pixelRatio,this.pixelRatioTo=a.pixelRatio,this.patternFrom=h.tlbr,this.patternTo=a.tlbr}setUniform(a,h,A,x){let E=x===\"u_pattern_to\"?this.patternTo:x===\"u_pattern_from\"?this.patternFrom:x===\"u_pixel_ratio_to\"?this.pixelRatioTo:x===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;E&&a.set(E)}getBinding(a,h,A){return A.substr(0,9)===\"u_pattern\"?new Ua(a,h):new Gr(a,h)}}class me{constructor(a,h,A,x){this.expression=a,this.type=A,this.maxValue=0,this.paintVertexAttributes=h.map(E=>({name:`a_${E}`,type:\"Float32\",components:A===\"color\"?2:1,offset:0})),this.paintVertexArray=new x}populatePaintArray(a,h,A,x,E){let P=this.paintVertexArray.length,D=this.expression.evaluate(new un(0),h,{},x,[],E);this.paintVertexArray.resize(a),this._setPaintValue(P,a,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:0},A,x);this._setPaintValue(a,h,E)}_setPaintValue(a,h,A){if(this.type===\"color\"){let x=cA(A);for(let E=a;E`u_${D}_t`),this.type=A,this.useIntegerZoom=x,this.zoom=E,this.maxValue=0,this.paintVertexAttributes=h.map(D=>({name:`a_${D}`,type:\"Float32\",components:A===\"color\"?4:2,offset:0})),this.paintVertexArray=new P}populatePaintArray(a,h,A,x,E){let P=this.expression.evaluate(new un(this.zoom),h,{},x,[],E),D=this.expression.evaluate(new un(this.zoom+1),h,{},x,[],E),F=this.paintVertexArray.length;this.paintVertexArray.resize(a),this._setPaintValue(F,a,P,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:this.zoom},A,x),P=this.expression.evaluate({zoom:this.zoom+1},A,x);this._setPaintValue(a,h,E,P)}_setPaintValue(a,h,A,x){if(this.type===\"color\"){let E=cA(A),P=cA(x);for(let D=a;D`#define HAS_UNIFORM_${x}`))}return a}getBinderAttributes(){let a=[];for(let h in this.binders){let A=this.binders[h];if(A instanceof me||A instanceof ke)for(let x=0;x!0){this.programConfigurations={};for(let x of a)this.programConfigurations[x.id]=new Mf(x,h,A);this.needsUpload=!1,this._featureMap=new Fn,this._bufferOffset=0}populatePaintArrays(a,h,A,x,E,P){for(let D in this.programConfigurations)this.programConfigurations[D].populatePaintArrays(a,h,x,E,P);h.id!==void 0&&this._featureMap.add(h.id,A,this._bufferOffset,a),this._bufferOffset=a,this.needsUpload=!0}updatePaintArrays(a,h,A,x){for(let E of A)this.needsUpload=this.programConfigurations[E.id].updatePaintArrays(a,this._featureMap,h,E,x)||this.needsUpload}get(a){return this.programConfigurations[a]}upload(a){if(this.needsUpload){for(let h in this.programConfigurations)this.programConfigurations[h].upload(a);this.needsUpload=!1}}destroy(){for(let a in this.programConfigurations)this.programConfigurations[a].destroy()}}function Fc(u,a){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[u]||[u.replace(`${a}-`,\"\").replace(/-/g,\"_\")]}function Ux(u,a,h){let A={color:{source:Tf,composite:At},number:{source:U,composite:Tf}},x=function(E){return{\"line-pattern\":{source:Gi,composite:Gi},\"fill-pattern\":{source:Gi,composite:Gi},\"fill-extrusion-pattern\":{source:Gi,composite:Gi}}[E]}(u);return x&&x[h]||A[a][h]}Ge(\"ConstantBinder\",Yl),Ge(\"CrossFadedConstantBinder\",Yo),Ge(\"SourceExpressionBinder\",me),Ge(\"CrossFadedCompositeBinder\",ml),Ge(\"CompositeExpressionBinder\",ke),Ge(\"ProgramConfiguration\",Mf,{omit:[\"_buffers\"]}),Ge(\"ProgramConfigurationSet\",Va);let en=8192,p=Math.pow(2,14)-1,m=-p-1;function y(u){let a=en/u.extent,h=u.loadGeometry();for(let A=0;AP.x+1||FP.y+1)&&Ke(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return h}function S(u,a){return{type:u.type,id:u.id,properties:u.properties,geometry:a?y(u):[]}}function C(u,a,h,A,x){u.emplaceBack(2*a+(A+1)/2,2*h+(x+1)/2)}class k{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ze,this.indexArray=new Gs,this.segments=new jr,this.programConfigurations=new Va(a.layers,a.zoom),this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){let x=this.layers[0],E=[],P=null,D=!1;x.type===\"circle\"&&(P=x.layout.get(\"circle-sort-key\"),D=!P.isConstant());for(let{feature:F,id:V,index:q,sourceLayerIndex:X}of a){let rt=this.layers[0]._featureFilter.needGeometry,at=S(F,rt);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),at,A))continue;let ct=D?P.evaluate(at,{},A):void 0,mt={id:V,properties:F.properties,type:F.type,sourceLayerIndex:X,index:q,geometry:rt?at.geometry:y(F),patterns:{},sortKey:ct};E.push(mt)}D&&E.sort((F,V)=>F.sortKey-V.sortKey);for(let F of E){let{geometry:V,index:q,sourceLayerIndex:X}=F,rt=a[q].feature;this.addFeature(F,V,q,A),h.featureIndex.insert(rt,V,q,X,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qo),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(a,h,A,x){for(let E of h)for(let P of E){let D=P.x,F=P.y;if(D<0||D>=en||F<0||F>=en)continue;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,a.sortKey),q=V.vertexLength;C(this.layoutVertexArray,D,F,-1,-1),C(this.layoutVertexArray,D,F,1,-1),C(this.layoutVertexArray,D,F,1,1),C(this.layoutVertexArray,D,F,-1,1),this.indexArray.emplaceBack(q,q+1,q+2),this.indexArray.emplaceBack(q,q+3,q+2),V.vertexLength+=4,V.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{},x)}}function L(u,a){for(let h=0;h1){if(ot(u,a))return!0;for(let A=0;A1?h:h.sub(a)._mult(x)._add(a))}function re(u,a){let h,A,x,E=!1;for(let P=0;Pa.y!=x.y>a.y&&a.x<(x.x-A.x)*(a.y-A.y)/(x.y-A.y)+A.x&&(E=!E)}return E}function ne(u,a){let h=!1;for(let A=0,x=u.length-1;Aa.y!=P.y>a.y&&a.x<(P.x-E.x)*(a.y-E.y)/(P.y-E.y)+E.x&&(h=!h)}return h}function Le(u,a,h){let A=h[0],x=h[2];if(u.xx.x&&a.x>x.x||u.yx.y&&a.y>x.y)return!1;let E=rr(u,a,h[0]);return E!==rr(u,a,h[1])||E!==rr(u,a,h[2])||E!==rr(u,a,h[3])}function We(u,a,h){let A=a.paint.get(u).value;return A.kind===\"constant\"?A.value:h.programConfigurations.get(a.id).getMaxValue(u)}function te(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function _e(u,a,h,A,x){if(!a[0]&&!a[1])return u;let E=w.convert(a)._mult(x);h===\"viewport\"&&E._rotate(-A);let P=[];for(let D=0;Dyn(bt,mt))}(V,F),at=X?q*D:q;for(let ct of x)for(let mt of ct){let bt=X?mt:yn(mt,F),Pt=at,jt=Pi([],[mt.x,mt.y,0,1],F);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Pt*=jt[3]/P.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Pt*=P.cameraToCenterDistance/jt[3]),z(rt,bt,Pt))return!0}return!1}}function yn(u,a){let h=Pi([],[u.x,u.y,0,1],a);return new w(h[0]/h[3],h[1]/h[3])}class Or extends k{}let zF;Ge(\"HeatmapBucket\",Or,{omit:[\"layers\"]});var VX={get paint(){return zF=zF||new Hn({\"heatmap-radius\":new dr(ee.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new dr(ee.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new nr(ee.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Bd(ee.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new nr(ee.paint_heatmap[\"heatmap-opacity\"])})}};function fC(u,{width:a,height:h},A,x){if(x){if(x instanceof Uint8ClampedArray)x=new Uint8Array(x.buffer);else if(x.length!==a*h*A)throw new RangeError(`mismatched image size. expected: ${x.length} but got: ${a*h*A}`)}else x=new Uint8Array(a*h*A);return u.width=a,u.height=h,u.data=x,u}function NF(u,{width:a,height:h},A){if(a===u.width&&h===u.height)return;let x=fC({},{width:a,height:h},A);dC(u,x,{x:0,y:0},{x:0,y:0},{width:Math.min(u.width,a),height:Math.min(u.height,h)},A),u.width=a,u.height=h,u.data=x.data}function dC(u,a,h,A,x,E){if(x.width===0||x.height===0)return a;if(x.width>u.width||x.height>u.height||h.x>u.width-x.width||h.y>u.height-x.height)throw new RangeError(\"out of range source coordinates for image copy\");if(x.width>a.width||x.height>a.height||A.x>a.width-x.width||A.y>a.height-x.height)throw new RangeError(\"out of range destination coordinates for image copy\");let P=u.data,D=a.data;if(P===D)throw new Error(\"srcData equals dstData, so image is already copied\");for(let F=0;F{a[u.evaluationKey]=F;let V=u.expression.evaluate(a);x.data[P+D+0]=Math.floor(255*V.r/V.a),x.data[P+D+1]=Math.floor(255*V.g/V.a),x.data[P+D+2]=Math.floor(255*V.b/V.a),x.data[P+D+3]=Math.floor(255*V.a)};if(u.clips)for(let P=0,D=0;P80*h){A=E=u[0],x=P=u[1];for(var ct=h;ctE&&(E=D),F>P&&(P=F);V=(V=Math.max(E-A,P-x))!==0?32767/V:0}return jx(rt,at,h,A,x,V,0),at}function jF(u,a,h,A,x){var E,P;if(x===gC(u,a,h,A)>0)for(E=a;E=a;E-=A)P=HF(E,u[E],u[E+1],P);return P&&JS(P,P.next)&&(Wx(P),P=P.next),P}function A0(u,a){if(!u)return u;a||(a=u);var h,A=u;do if(h=!1,A.steiner||!JS(A,A.next)&&ds(A.prev,A,A.next)!==0)A=A.next;else{if(Wx(A),(A=a=A.prev)===A.next)break;h=!0}while(h||A!==a);return a}function jx(u,a,h,A,x,E,P){if(u){!P&&E&&function(q,X,rt,at){var ct=q;do ct.z===0&&(ct.z=AC(ct.x,ct.y,X,rt,at)),ct.prevZ=ct.prev,ct.nextZ=ct.next,ct=ct.next;while(ct!==q);ct.prevZ.nextZ=null,ct.prevZ=null,function(mt){var bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir=1;do{for(Pt=mt,mt=null,Gt=null,Yt=0;Pt;){for(Yt++,jt=Pt,ce=0,bt=0;bt0||Ne>0&&jt;)ce!==0&&(Ne===0||!jt||Pt.z<=jt.z)?(Rt=Pt,Pt=Pt.nextZ,ce--):(Rt=jt,jt=jt.nextZ,Ne--),Gt?Gt.nextZ=Rt:mt=Rt,Rt.prevZ=Gt,Gt=Rt;Pt=jt}Gt.nextZ=null,ir*=2}while(Yt>1)}(ct)}(u,A,x,E);for(var D,F,V=u;u.prev!==u.next;)if(D=u.prev,F=u.next,E?YX(u,A,x,E):ZX(u))a.push(D.i/h|0),a.push(u.i/h|0),a.push(F.i/h|0),Wx(u),u=F.next,V=F.next;else if((u=F)===V){P?P===1?jx(u=QX(A0(u),a,h),a,h,A,x,E,2):P===2&&$X(u,a,h,A,x,E):jx(A0(u),a,h,A,x,E,1);break}}}function ZX(u){var a=u.prev,h=u,A=u.next;if(ds(a,h,A)>=0)return!1;for(var x=a.x,E=h.x,P=A.x,D=a.y,F=h.y,V=A.y,q=xE?x>P?x:P:E>P?E:P,at=D>F?D>V?D:V:F>V?F:V,ct=A.next;ct!==a;){if(ct.x>=q&&ct.x<=rt&&ct.y>=X&&ct.y<=at&&T_(x,D,E,F,P,V,ct.x,ct.y)&&ds(ct.prev,ct,ct.next)>=0)return!1;ct=ct.next}return!0}function YX(u,a,h,A){var x=u.prev,E=u,P=u.next;if(ds(x,E,P)>=0)return!1;for(var D=x.x,F=E.x,V=P.x,q=x.y,X=E.y,rt=P.y,at=DF?D>V?D:V:F>V?F:V,bt=q>X?q>rt?q:rt:X>rt?X:rt,Pt=AC(at,ct,a,h,A),jt=AC(mt,bt,a,h,A),Rt=u.prevZ,Gt=u.nextZ;Rt&&Rt.z>=Pt&&Gt&&Gt.z<=jt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0||(Rt=Rt.prevZ,Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0))return!1;Gt=Gt.nextZ}for(;Rt&&Rt.z>=Pt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0)return!1;Rt=Rt.prevZ}for(;Gt&&Gt.z<=jt;){if(Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0)return!1;Gt=Gt.nextZ}return!0}function QX(u,a,h){var A=u;do{var x=A.prev,E=A.next.next;!JS(x,E)&&GF(x,A,A.next,E)&&Gx(x,E)&&Gx(E,x)&&(a.push(x.i/h|0),a.push(A.i/h|0),a.push(E.i/h|0),Wx(A),Wx(A.next),A=u=E),A=A.next}while(A!==u);return A0(A)}function $X(u,a,h,A,x,E){var P=u;do{for(var D=P.next.next;D!==P.prev;){if(P.i!==D.i&&eK(P,D)){var F=WF(P,D);return P=A0(P,P.next),F=A0(F,F.next),jx(P,a,h,A,x,E,0),void jx(F,a,h,A,x,E,0)}D=D.next}P=P.next}while(P!==u)}function XX(u,a){return u.x-a.x}function KX(u,a){var h=function(x,E){var P,D=E,F=x.x,V=x.y,q=-1/0;do{if(V<=D.y&&V>=D.next.y&&D.next.y!==D.y){var X=D.x+(V-D.y)*(D.next.x-D.x)/(D.next.y-D.y);if(X<=F&&X>q&&(q=X,P=D.x=D.x&&D.x>=ct&&F!==D.x&&T_(VP.x||D.x===P.x&&JX(P,D)))&&(P=D,bt=rt)),D=D.next;while(D!==at);return P}(u,a);if(!h)return a;var A=WF(h,u);return A0(A,A.next),A0(h,h.next)}function JX(u,a){return ds(u.prev,u,a.prev)<0&&ds(a.next,u,u.next)<0}function AC(u,a,h,A,x){return(u=1431655765&((u=858993459&((u=252645135&((u=16711935&((u=(u-h)*x|0)|u<<8))|u<<4))|u<<2))|u<<1))|(a=1431655765&((a=858993459&((a=252645135&((a=16711935&((a=(a-A)*x|0)|a<<8))|a<<4))|a<<2))|a<<1))<<1}function tK(u){var a=u,h=u;do(a.x=(u-P)*(E-D)&&(u-P)*(A-D)>=(h-P)*(a-D)&&(h-P)*(E-D)>=(x-P)*(A-D)}function eK(u,a){return u.next.i!==a.i&&u.prev.i!==a.i&&!function(h,A){var x=h;do{if(x.i!==h.i&&x.next.i!==h.i&&x.i!==A.i&&x.next.i!==A.i&&GF(x,x.next,h,A))return!0;x=x.next}while(x!==h);return!1}(u,a)&&(Gx(u,a)&&Gx(a,u)&&function(h,A){var x=h,E=!1,P=(h.x+A.x)/2,D=(h.y+A.y)/2;do x.y>D!=x.next.y>D&&x.next.y!==x.y&&P<(x.next.x-x.x)*(D-x.y)/(x.next.y-x.y)+x.x&&(E=!E),x=x.next;while(x!==h);return E}(u,a)&&(ds(u.prev,u,a.prev)||ds(u,a.prev,a))||JS(u,a)&&ds(u.prev,u,u.next)>0&&ds(a.prev,a,a.next)>0)}function ds(u,a,h){return(a.y-u.y)*(h.x-a.x)-(a.x-u.x)*(h.y-a.y)}function JS(u,a){return u.x===a.x&&u.y===a.y}function GF(u,a,h,A){var x=eT(ds(u,a,h)),E=eT(ds(u,a,A)),P=eT(ds(h,A,u)),D=eT(ds(h,A,a));return x!==E&&P!==D||!(x!==0||!tT(u,h,a))||!(E!==0||!tT(u,A,a))||!(P!==0||!tT(h,u,A))||!(D!==0||!tT(h,a,A))}function tT(u,a,h){return a.x<=Math.max(u.x,h.x)&&a.x>=Math.min(u.x,h.x)&&a.y<=Math.max(u.y,h.y)&&a.y>=Math.min(u.y,h.y)}function eT(u){return u>0?1:u<0?-1:0}function Gx(u,a){return ds(u.prev,u,u.next)<0?ds(u,a,u.next)>=0&&ds(u,u.prev,a)>=0:ds(u,a,u.prev)<0||ds(u,u.next,a)<0}function WF(u,a){var h=new mC(u.i,u.x,u.y),A=new mC(a.i,a.x,a.y),x=u.next,E=a.prev;return u.next=a,a.prev=u,h.next=x,x.prev=h,A.next=h,h.prev=A,E.next=A,A.prev=E,A}function HF(u,a,h,A){var x=new mC(u,a,h);return A?(x.next=A.next,x.prev=A,A.next.prev=x,A.next=x):(x.prev=x,x.next=x),x}function Wx(u){u.next.prev=u.prev,u.prev.next=u.next,u.prevZ&&(u.prevZ.nextZ=u.nextZ),u.nextZ&&(u.nextZ.prevZ=u.prevZ)}function mC(u,a,h){this.i=u,this.x=a,this.y=h,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function gC(u,a,h,A){for(var x=0,E=a,P=h-A;E0&&h.holes.push(A+=u[x-1].length)}return h};var qF=c(pC.exports);function rK(u,a,h,A,x){ZF(u,a,h||0,A||u.length-1,x||iK)}function ZF(u,a,h,A,x){for(;A>h;){if(A-h>600){var E=A-h+1,P=a-h+1,D=Math.log(E),F=.5*Math.exp(2*D/3),V=.5*Math.sqrt(D*F*(E-F)/E)*(P-E/2<0?-1:1);ZF(u,a,Math.max(h,Math.floor(a-P*F/E+V)),Math.min(A,Math.floor(a+(E-P)*F/E+V)),x)}var q=u[a],X=h,rt=A;for(Hx(u,h,a),x(u[A],q)>0&&Hx(u,h,A);X0;)rt--}x(u[h],q)===0?Hx(u,h,rt):Hx(u,++rt,A),rt<=a&&(h=rt+1),a<=rt&&(A=rt-1)}}function Hx(u,a,h){var A=u[a];u[a]=u[h],u[h]=A}function iK(u,a){return ua?1:0}function _C(u,a){let h=u.length;if(h<=1)return[u];let A=[],x,E;for(let P=0;P1)for(let P=0;Ph.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kr,this.indexArray=new Gs,this.indexArray2=new hs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.segments2=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"fill\",this.layers,h);let x=this.layers[0].layout.get(\"fill-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A,h.availableImages):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"fill\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qX),this.indexBuffer=a.createIndexBuffer(this.indexArray),this.indexBuffer2=a.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(a,h,A,x,E){for(let P of _C(h,500)){let D=0;for(let at of P)D+=at.length;let F=this.segments.prepareSegment(D,this.layoutVertexArray,this.indexArray),V=F.vertexLength,q=[],X=[];for(let at of P){if(at.length===0)continue;at!==P[0]&&X.push(q.length/2);let ct=this.segments2.prepareSegment(at.length,this.layoutVertexArray,this.indexArray2),mt=ct.vertexLength;this.layoutVertexArray.emplaceBack(at[0].x,at[0].y),this.indexArray2.emplaceBack(mt+at.length-1,mt),q.push(at[0].x),q.push(at[0].y);for(let bt=1;bt>3}if(x--,A===1||A===2)E+=u.readSVarint(),P+=u.readSVarint(),A===1&&(a&&D.push(a),a=[]),a.push(new uK(E,P));else{if(A!==7)throw new Error(\"unknown command \"+A);a&&a.push(a[0].clone())}}return a&&D.push(a),D},M_.prototype.bbox=function(){var u=this._pbf;u.pos=this._geometry;for(var a=u.readVarint()+u.pos,h=1,A=0,x=0,E=0,P=1/0,D=-1/0,F=1/0,V=-1/0;u.pos>3}if(A--,h===1||h===2)(x+=u.readSVarint())D&&(D=x),(E+=u.readSVarint())V&&(V=E);else if(h!==7)throw new Error(\"unknown command \"+h)}return[P,F,D,V]},M_.prototype.toGeoJSON=function(u,a,h){var A,x,E=this.extent*Math.pow(2,h),P=this.extent*u,D=this.extent*a,F=this.loadGeometry(),V=M_.types[this.type];function q(at){for(var ct=0;ct>3;x=P===1?A.readString():P===2?A.readFloat():P===3?A.readDouble():P===4?A.readVarint64():P===5?A.readVarint():P===6?A.readSVarint():P===7?A.readBoolean():null}return x}(h))}KF.prototype.feature=function(u){if(u<0||u>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[u];var a=this._pbf.readVarint()+this._pbf.pos;return new dK(this._pbf,a,this.extent,this._keys,this._values)};var AK=XF;function mK(u,a,h){if(u===3){var A=new AK(h,h.readVarint()+h.pos);A.length&&(a[A.name]=A)}}uA.VectorTile=function(u,a){this.layers=u.readFields(mK,{},a)},uA.VectorTileFeature=$F,uA.VectorTileLayer=XF;let gK=uA.VectorTileFeature.types,bC=Math.pow(2,13);function qx(u,a,h,A,x,E,P,D){u.emplaceBack(a,h,2*Math.floor(A*bC)+P,x*bC*2,E*bC*2,Math.round(D))}class wC{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ee,this.centroidVertexArray=new be,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.features=[],this.hasPattern=yC(\"fill-extrusion\",this.layers,h);for(let{feature:x,id:E,index:P,sourceLayerIndex:D}of a){let F=this.layers[0]._featureFilter.needGeometry,V=S(x,F);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),V,A))continue;let q={id:E,sourceLayerIndex:D,index:P,geometry:F?V.geometry:y(x),properties:x.properties,type:x.type,patterns:{}};this.hasPattern?this.features.push(vC(\"fill-extrusion\",this.layers,q,this.zoom,h)):this.addFeature(q,q.geometry,P,A,{}),h.featureIndex.insert(x,q.geometry,P,D,this.index,!0)}}addFeatures(a,h,A){for(let x of this.features){let{geometry:E}=x;this.addFeature(x,E,x.index,h,A)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,cK),this.centroidVertexBuffer=a.createVertexBuffer(this.centroidVertexArray,lK.members,!0),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(a,h,A,x,E){let P={x:0,y:0,vertexCount:0};for(let D of _C(h,500)){let F=0;for(let ct of D)F+=ct.length;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ct of D){if(ct.length===0||yK(ct))continue;let mt=0;for(let bt=0;bt=1){let jt=ct[bt-1];if(!_K(Pt,jt)){V.vertexLength+4>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Rt=Pt.sub(jt)._perp()._unit(),Gt=jt.dist(Pt);mt+Gt>32768&&(mt=0),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*Pt.x,P.y+=2*Pt.y,P.vertexCount+=2,mt+=Gt,qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*jt.x,P.y+=2*jt.y,P.vertexCount+=2;let Yt=V.vertexLength;this.indexArray.emplaceBack(Yt,Yt+2,Yt+1),this.indexArray.emplaceBack(Yt+1,Yt+2,Yt+3),V.vertexLength+=4,V.primitiveLength+=2}}}}if(V.vertexLength+F>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(F,this.layoutVertexArray,this.indexArray)),gK[a.type]!==\"Polygon\")continue;let q=[],X=[],rt=V.vertexLength;for(let ct of D)if(ct.length!==0){ct!==D[0]&&X.push(q.length/2);for(let mt=0;mten)||u.y===a.y&&(u.y<0||u.y>en)}function yK(u){return u.every(a=>a.x<0)||u.every(a=>a.x>en)||u.every(a=>a.y<0)||u.every(a=>a.y>en)}let JF;Ge(\"FillExtrusionBucket\",wC,{omit:[\"layers\",\"features\"]});var vK={get paint(){return JF=JF||new Hn({\"fill-extrusion-opacity\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new wf(ee[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class xK extends ji{constructor(a){super(a,vK)}createBucket(a){return new wC(a)}queryRadius(){return te(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(a,h,A,x,E,P,D,F){let V=_e(a,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),P.angle,D),q=this.paint.get(\"fill-extrusion-height\").evaluate(h,A),X=this.paint.get(\"fill-extrusion-base\").evaluate(h,A),rt=function(ct,mt,bt,Pt){let jt=[];for(let Rt of ct){let Gt=[Rt.x,Rt.y,0,1];Pi(Gt,Gt,mt),jt.push(new w(Gt[0]/Gt[3],Gt[1]/Gt[3]))}return jt}(V,F),at=function(ct,mt,bt,Pt){let jt=[],Rt=[],Gt=Pt[8]*mt,Yt=Pt[9]*mt,ce=Pt[10]*mt,Ne=Pt[11]*mt,ir=Pt[8]*bt,Fe=Pt[9]*bt,Re=Pt[10]*bt,Me=Pt[11]*bt;for(let Ye of ct){let Ie=[],Ae=[];for(let hr of Ye){let sr=hr.x,ri=hr.y,Tn=Pt[0]*sr+Pt[4]*ri+Pt[12],Rn=Pt[1]*sr+Pt[5]*ri+Pt[13],qs=Pt[2]*sr+Pt[6]*ri+Pt[14],Ql=Pt[3]*sr+Pt[7]*ri+Pt[15],ja=qs+ce,Is=Ql+Ne,Po=Tn+ir,$o=Rn+Fe,Ga=qs+Re,Wa=Ql+Me,Zs=new w((Tn+Gt)/Is,(Rn+Yt)/Is);Zs.z=ja/Is,Ie.push(Zs);let Ys=new w(Po/Wa,$o/Wa);Ys.z=Ga/Wa,Ae.push(Ys)}jt.push(Ie),Rt.push(Ae)}return[jt,Rt]}(x,X,q,F);return function(ct,mt,bt){let Pt=1/0;H(bt,mt)&&(Pt=t6(bt,mt[0]));for(let jt=0;jth.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(h=>{this.gradients[h.id]={}}),this.layoutVertexArray=new pr,this.layoutVertexArray2=new tr,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"line\",this.layers,h);let x=this.layers[0].layout.get(\"line-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"line\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=a.createVertexBuffer(this.layoutVertexArray2,TK)),this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,wK),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(a){if(a.properties&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_end\"))return{start:+a.properties.mapbox_clip_start,end:+a.properties.mapbox_clip_end}}addFeature(a,h,A,x,E){let P=this.layers[0].layout,D=P.get(\"line-join\").evaluate(a,{}),F=P.get(\"line-cap\"),V=P.get(\"line-miter-limit\"),q=P.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(a);for(let X of h)this.addLine(X,a,D,F,V,q);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,E,x)}addLine(a,h,A,x,E,P){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Pt=0;Pt=2&&a[F-1].equals(a[F-2]);)F--;let V=0;for(;V0;if(Ne&&Pt>V){let Me=rt.dist(at);if(Me>2*q){let Ye=rt.sub(rt.sub(at)._mult(q/Me)._round());this.updateDistance(at,Ye),this.addCurrentVertex(Ye,mt,0,0,X),at=Ye}}let Fe=at&&ct,Re=Fe?A:D?\"butt\":x;if(Fe&&Re===\"round\"&&(YtE&&(Re=\"bevel\"),Re===\"bevel\"&&(Yt>2&&(Re=\"flipbevel\"),Yt100)jt=bt.mult(-1);else{let Me=Yt*mt.add(bt).mag()/mt.sub(bt).mag();jt._perp()._mult(Me*(ir?-1:1))}this.addCurrentVertex(rt,jt,0,0,X),this.addCurrentVertex(rt,jt.mult(-1),0,0,X)}else if(Re===\"bevel\"||Re===\"fakeround\"){let Me=-Math.sqrt(Yt*Yt-1),Ye=ir?Me:0,Ie=ir?0:Me;if(at&&this.addCurrentVertex(rt,mt,Ye,Ie,X),Re===\"fakeround\"){let Ae=Math.round(180*ce/Math.PI/20);for(let hr=1;hr2*q){let Ye=rt.add(ct.sub(rt)._mult(q/Me)._round());this.updateDistance(rt,Ye),this.addCurrentVertex(Ye,bt,0,0,X),rt=Ye}}}}addCurrentVertex(a,h,A,x,E,P=!1){let D=h.y*x-h.x,F=-h.y-h.x*x;this.addHalfVertex(a,h.x+h.y*A,h.y-h.x*A,P,!1,A,E),this.addHalfVertex(a,D,F,P,!0,-x,E),this.distance>e6/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(a,h,A,x,E,P))}addHalfVertex({x:a,y:h},A,x,E,P,D,F){let V=.5*(this.lineClips?this.scaledDistance*(e6-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((a<<1)+(E?1:0),(h<<1)+(P?1:0),Math.round(63*A)+128,Math.round(63*x)+128,1+(D===0?0:D<0?-1:1)|(63&V)<<2,V>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let q=F.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,q),F.primitiveLength++),P?this.e2=q:this.e1=q}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(a,h){this.distance+=a.dist(h),this.updateScaledDistance()}}let r6,i6;Ge(\"LineBucket\",SC,{omit:[\"layers\",\"patternFeatures\"]});var n6={get paint(){return i6=i6||new Hn({\"line-opacity\":new dr(ee.paint_line[\"line-opacity\"]),\"line-color\":new dr(ee.paint_line[\"line-color\"]),\"line-translate\":new nr(ee.paint_line[\"line-translate\"]),\"line-translate-anchor\":new nr(ee.paint_line[\"line-translate-anchor\"]),\"line-width\":new dr(ee.paint_line[\"line-width\"]),\"line-gap-width\":new dr(ee.paint_line[\"line-gap-width\"]),\"line-offset\":new dr(ee.paint_line[\"line-offset\"]),\"line-blur\":new dr(ee.paint_line[\"line-blur\"]),\"line-dasharray\":new aA(ee.paint_line[\"line-dasharray\"]),\"line-pattern\":new wf(ee.paint_line[\"line-pattern\"]),\"line-gradient\":new Bd(ee.paint_line[\"line-gradient\"])})},get layout(){return r6=r6||new Hn({\"line-cap\":new nr(ee.layout_line[\"line-cap\"]),\"line-join\":new dr(ee.layout_line[\"line-join\"]),\"line-miter-limit\":new nr(ee.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new nr(ee.layout_line[\"line-round-limit\"]),\"line-sort-key\":new dr(ee.layout_line[\"line-sort-key\"])})}};class PK extends dr{possiblyEvaluate(a,h){return h=new un(Math.floor(h.zoom),{now:h.now,fadeDuration:h.fadeDuration,zoomHistory:h.zoomHistory,transition:h.transition}),super.possiblyEvaluate(a,h)}evaluate(a,h,A,x){return h=kt({},h,{zoom:Math.floor(h.zoom)}),super.evaluate(a,h,A,x)}}let rT;class IK extends ji{constructor(a){super(a,n6),this.gradientVersion=0,rT||(rT=new PK(n6.paint.properties[\"line-width\"].specification),rT.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(a){if(a===\"line-gradient\"){let h=this.gradientExpression();this.stepInterpolant=!!function(A){return A._styleExpression!==void 0}(h)&&h._styleExpression.expression instanceof sh,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(a,h){super.recalculate(a,h),this.paint._values[\"line-floorwidth\"]=rT.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,a)}createBucket(a){return new SC(a)}queryRadius(a){let h=a,A=s6(We(\"line-width\",this,h),We(\"line-gap-width\",this,h)),x=We(\"line-offset\",this,h);return A/2+Math.abs(x)+te(this.paint.get(\"line-translate\"))}queryIntersectsFeature(a,h,A,x,E,P,D){let F=_e(a,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),P.angle,D),V=D/2*s6(this.paint.get(\"line-width\").evaluate(h,A),this.paint.get(\"line-gap-width\").evaluate(h,A)),q=this.paint.get(\"line-offset\").evaluate(h,A);return q&&(x=function(X,rt){let at=[];for(let ct=0;ct=3){for(let bt=0;bt0?a+2*u:u}let CK=wn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),LK=wn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);wn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let kK=wn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);wn([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let o6=wn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),RK=wn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function DK(u,a,h){return u.sections.forEach(A=>{A.text=function(x,E,P){let D=E.layout.get(\"text-transform\").evaluate(P,{});return D===\"uppercase\"?x=x.toLocaleUpperCase():D===\"lowercase\"&&(x=x.toLocaleLowerCase()),ua.applyArabicShaping&&(x=ua.applyArabicShaping(x)),x}(A.text,a,h)}),u}wn([{name:\"triangle\",components:3,type:\"Uint16\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),wn([{type:\"Float32\",name:\"offsetX\"}]),wn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),wn([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Yx={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var Hs=24,a6=rn,l6=function(u,a,h,A,x){var E,P,D=8*x-A-1,F=(1<>1,q=-7,X=h?x-1:0,rt=h?-1:1,at=u[a+X];for(X+=rt,E=at&(1<<-q)-1,at>>=-q,q+=D;q>0;E=256*E+u[a+X],X+=rt,q-=8);for(P=E&(1<<-q)-1,E>>=-q,q+=A;q>0;P=256*P+u[a+X],X+=rt,q-=8);if(E===0)E=1-V;else{if(E===F)return P?NaN:1/0*(at?-1:1);P+=Math.pow(2,A),E-=V}return(at?-1:1)*P*Math.pow(2,E-A)},c6=function(u,a,h,A,x,E){var P,D,F,V=8*E-x-1,q=(1<>1,rt=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,at=A?0:E-1,ct=A?1:-1,mt=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(D=isNaN(a)?1:0,P=q):(P=Math.floor(Math.log(a)/Math.LN2),a*(F=Math.pow(2,-P))<1&&(P--,F*=2),(a+=P+X>=1?rt/F:rt*Math.pow(2,1-X))*F>=2&&(P++,F/=2),P+X>=q?(D=0,P=q):P+X>=1?(D=(a*F-1)*Math.pow(2,x),P+=X):(D=a*Math.pow(2,X-1)*Math.pow(2,x),P=0));x>=8;u[h+at]=255&D,at+=ct,D/=256,x-=8);for(P=P<0;u[h+at]=255&P,at+=ct,P/=256,V-=8);u[h+at-ct]|=128*mt};function rn(u){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(u)?u:new Uint8Array(u||0),this.pos=0,this.type=0,this.length=this.buf.length}rn.Varint=0,rn.Fixed64=1,rn.Bytes=2,rn.Fixed32=5;var TC=4294967296,u6=1/TC,h6=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");function Nd(u){return u.type===rn.Bytes?u.readVarint()+u.pos:u.pos+1}function E_(u,a,h){return h?4294967296*a+(u>>>0):4294967296*(a>>>0)+(u>>>0)}function f6(u,a,h){var A=a<=16383?1:a<=2097151?2:a<=268435455?3:Math.floor(Math.log(a)/(7*Math.LN2));h.realloc(A);for(var x=h.pos-1;x>=u;x--)h.buf[x+A]=h.buf[x]}function OK(u,a){for(var h=0;h>>8,u[h+2]=a>>>16,u[h+3]=a>>>24}function d6(u,a){return(u[a]|u[a+1]<<8|u[a+2]<<16)+(u[a+3]<<24)}rn.prototype={destroy:function(){this.buf=null},readFields:function(u,a,h){for(h=h||this.length;this.pos>3,E=this.pos;this.type=7&A,u(x,a,this),this.pos===E&&this.skip(A)}return a},readMessage:function(u,a){return this.readFields(u,a,this.readVarint()+this.pos)},readFixed32:function(){var u=iT(this.buf,this.pos);return this.pos+=4,u},readSFixed32:function(){var u=d6(this.buf,this.pos);return this.pos+=4,u},readFixed64:function(){var u=iT(this.buf,this.pos)+iT(this.buf,this.pos+4)*TC;return this.pos+=8,u},readSFixed64:function(){var u=iT(this.buf,this.pos)+d6(this.buf,this.pos+4)*TC;return this.pos+=8,u},readFloat:function(){var u=l6(this.buf,this.pos,!0,23,4);return this.pos+=4,u},readDouble:function(){var u=l6(this.buf,this.pos,!0,52,8);return this.pos+=8,u},readVarint:function(u){var a,h,A=this.buf;return a=127&(h=A[this.pos++]),h<128?a:(a|=(127&(h=A[this.pos++]))<<7,h<128?a:(a|=(127&(h=A[this.pos++]))<<14,h<128?a:(a|=(127&(h=A[this.pos++]))<<21,h<128?a:function(x,E,P){var D,F,V=P.buf;if(D=(112&(F=V[P.pos++]))>>4,F<128||(D|=(127&(F=V[P.pos++]))<<3,F<128)||(D|=(127&(F=V[P.pos++]))<<10,F<128)||(D|=(127&(F=V[P.pos++]))<<17,F<128)||(D|=(127&(F=V[P.pos++]))<<24,F<128)||(D|=(1&(F=V[P.pos++]))<<31,F<128))return E_(x,D,E);throw new Error(\"Expected varint not more than 10 bytes\")}(a|=(15&(h=A[this.pos]))<<28,u,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var u=this.readVarint();return u%2==1?(u+1)/-2:u/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var u=this.readVarint()+this.pos,a=this.pos;return this.pos=u,u-a>=12&&h6?function(h,A,x){return h6.decode(h.subarray(A,x))}(this.buf,a,u):function(h,A,x){for(var E=\"\",P=A;P239?4:q>223?3:q>191?2:1;if(P+rt>x)break;rt===1?q<128&&(X=q):rt===2?(192&(D=h[P+1]))==128&&(X=(31&q)<<6|63&D)<=127&&(X=null):rt===3?(F=h[P+2],(192&(D=h[P+1]))==128&&(192&F)==128&&((X=(15&q)<<12|(63&D)<<6|63&F)<=2047||X>=55296&&X<=57343)&&(X=null)):rt===4&&(F=h[P+2],V=h[P+3],(192&(D=h[P+1]))==128&&(192&F)==128&&(192&V)==128&&((X=(15&q)<<18|(63&D)<<12|(63&F)<<6|63&V)<=65535||X>=1114112)&&(X=null)),X===null?(X=65533,rt=1):X>65535&&(X-=65536,E+=String.fromCharCode(X>>>10&1023|55296),X=56320|1023&X),E+=String.fromCharCode(X),P+=rt}return E}(this.buf,a,u)},readBytes:function(){var u=this.readVarint()+this.pos,a=this.buf.subarray(this.pos,u);return this.pos=u,a},readPackedVarint:function(u,a){if(this.type!==rn.Bytes)return u.push(this.readVarint(a));var h=Nd(this);for(u=u||[];this.pos127;);else if(a===rn.Bytes)this.pos=this.readVarint()+this.pos;else if(a===rn.Fixed32)this.pos+=4;else{if(a!==rn.Fixed64)throw new Error(\"Unimplemented type: \"+a);this.pos+=8}},writeTag:function(u,a){this.writeVarint(u<<3|a)},realloc:function(u){for(var a=this.length||16;a268435455||u<0?function(a,h){var A,x;if(a>=0?(A=a%4294967296|0,x=a/4294967296|0):(x=~(-a/4294967296),4294967295^(A=~(-a%4294967296))?A=A+1|0:(A=0,x=x+1|0)),a>=18446744073709552e3||a<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");h.realloc(10),function(E,P,D){D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,D.buf[D.pos]=127&(E>>>=7)}(A,0,h),function(E,P){var D=(7&E)<<4;P.buf[P.pos++]|=D|((E>>>=3)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E)))))}(x,h)}(u,this):(this.realloc(4),this.buf[this.pos++]=127&u|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=u>>>7&127))))},writeSVarint:function(u){this.writeVarint(u<0?2*-u-1:2*u)},writeBoolean:function(u){this.writeVarint(!!u)},writeString:function(u){u=String(u),this.realloc(4*u.length),this.pos++;var a=this.pos;this.pos=function(A,x,E){for(var P,D,F=0;F55295&&P<57344){if(!D){P>56319||F+1===x.length?(A[E++]=239,A[E++]=191,A[E++]=189):D=P;continue}if(P<56320){A[E++]=239,A[E++]=191,A[E++]=189,D=P;continue}P=D-55296<<10|P-56320|65536,D=null}else D&&(A[E++]=239,A[E++]=191,A[E++]=189,D=null);P<128?A[E++]=P:(P<2048?A[E++]=P>>6|192:(P<65536?A[E++]=P>>12|224:(A[E++]=P>>18|240,A[E++]=P>>12&63|128),A[E++]=P>>6&63|128),A[E++]=63&P|128)}return E}(this.buf,u,this.pos);var h=this.pos-a;h>=128&&f6(a,h,this),this.pos=a-1,this.writeVarint(h),this.pos+=h},writeFloat:function(u){this.realloc(4),c6(this.buf,u,this.pos,!0,23,4),this.pos+=4},writeDouble:function(u){this.realloc(8),c6(this.buf,u,this.pos,!0,52,8),this.pos+=8},writeBytes:function(u){var a=u.length;this.writeVarint(a),this.realloc(a);for(var h=0;h=128&&f6(h,A,this),this.pos=h-1,this.writeVarint(A),this.pos+=A},writeMessage:function(u,a,h){this.writeTag(u,rn.Bytes),this.writeRawMessage(a,h)},writePackedVarint:function(u,a){a.length&&this.writeMessage(u,OK,a)},writePackedSVarint:function(u,a){a.length&&this.writeMessage(u,BK,a)},writePackedBoolean:function(u,a){a.length&&this.writeMessage(u,NK,a)},writePackedFloat:function(u,a){a.length&&this.writeMessage(u,FK,a)},writePackedDouble:function(u,a){a.length&&this.writeMessage(u,zK,a)},writePackedFixed32:function(u,a){a.length&&this.writeMessage(u,UK,a)},writePackedSFixed32:function(u,a){a.length&&this.writeMessage(u,VK,a)},writePackedFixed64:function(u,a){a.length&&this.writeMessage(u,jK,a)},writePackedSFixed64:function(u,a){a.length&&this.writeMessage(u,GK,a)},writeBytesField:function(u,a){this.writeTag(u,rn.Bytes),this.writeBytes(a)},writeFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFixed32(a)},writeSFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeSFixed32(a)},writeFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeFixed64(a)},writeSFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeSFixed64(a)},writeVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeVarint(a)},writeSVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeSVarint(a)},writeStringField:function(u,a){this.writeTag(u,rn.Bytes),this.writeString(a)},writeFloatField:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFloat(a)},writeDoubleField:function(u,a){this.writeTag(u,rn.Fixed64),this.writeDouble(a)},writeBooleanField:function(u,a){this.writeVarintField(u,!!a)}};var MC=c(a6);let EC=3;function WK(u,a,h){u===1&&h.readMessage(HK,a)}function HK(u,a,h){if(u===3){let{id:A,bitmap:x,width:E,height:P,left:D,top:F,advance:V}=h.readMessage(qK,{});a.push({id:A,bitmap:new Vx({width:E+2*EC,height:P+2*EC},x),metrics:{width:E,height:P,left:D,top:F,advance:V}})}}function qK(u,a,h){u===1?a.id=h.readVarint():u===2?a.bitmap=h.readBytes():u===3?a.width=h.readVarint():u===4?a.height=h.readVarint():u===5?a.left=h.readSVarint():u===6?a.top=h.readSVarint():u===7&&(a.advance=h.readVarint())}let p6=EC;function A6(u){let a=0,h=0;for(let P of u)a+=P.w*P.h,h=Math.max(h,P.w);u.sort((P,D)=>D.h-P.h);let A=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(a/.95)),h),h:1/0}],x=0,E=0;for(let P of u)for(let D=A.length-1;D>=0;D--){let F=A[D];if(!(P.w>F.w||P.h>F.h)){if(P.x=F.x,P.y=F.y,E=Math.max(E,P.y+P.h),x=Math.max(x,P.x+P.w),P.w===F.w&&P.h===F.h){let V=A.pop();D=0&&A>=a&&sT[this.text.charCodeAt(A)];A--)h--;this.text=this.text.substring(a,h),this.sectionIndex=this.sectionIndex.slice(a,h)}substring(a,h){let A=new I_;return A.text=this.text.substring(a,h),A.sectionIndex=this.sectionIndex.slice(a,h),A.sections=this.sections,A}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((a,h)=>Math.max(a,this.sections[h].scale),0)}addTextSection(a,h){this.text+=a.text,this.sections.push($x.forText(a.scale,a.fontStack||h));let A=this.sections.length-1;for(let x=0;x=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function nT(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt){let bt=I_.fromFeature(u,x),Pt;X===n.ai.vertical&&bt.verticalizePunctuation();let{processBidirectionalText:jt,processStyledBidirectionalText:Rt}=ua;if(jt&&bt.sections.length===1){Pt=[];let ce=jt(bt.toString(),IC(bt,V,E,a,A,at,ct));for(let Ne of ce){let ir=new I_;ir.text=Ne,ir.sections=bt.sections;for(let Fe=0;Fe0&&Vd>_l&&(_l=Vd)}else{let Uc=ir[di.fontStack],vl=Uc&&Uc[Xo];if(vl&&vl.rect)vh=vl.rect,xu=vl.metrics;else{let Vd=Ne[di.fontStack],e1=Vd&&Vd[Xo];if(!e1)continue;xu=e1.metrics}$s=(Ys-di.scale)*Hs}bu?(ce.verticalizable=!0,fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=Ud*di.scale+hr):(fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=xu.advance*di.scale+hr)}fa.length!==0&&(qs=Math.max(Tn-hr,qs),QK(fa,0,fa.length-1,ja,_l)),Tn=0;let yl=Me*Ys+_l;Ha.lineOffset=Math.max(_l,ha),Rn+=yl,Ql=Math.max(yl,Ql),++Is}var Po;let $o=Rn-Qx,{horizontalAlign:Ga,verticalAlign:Wa}=CC(Ye);(function(Zs,Ys,ha,Ha,fa,_l,yl,Qs,di){let da=(Ys-ha)*fa,Xo=0;Xo=_l!==yl?-Qs*Ha-Qx:(-Ha*di+.5)*yl;for(let $s of Zs)for(let xu of $s.positionedGlyphs)xu.x+=da,xu.y+=Xo})(ce.positionedLines,ja,Ga,Wa,qs,Ql,Me,$o,Re.length),ce.top+=-Wa*$o,ce.bottom=ce.top+$o,ce.left+=-Ga*qs,ce.right=ce.left+qs}(Yt,a,h,A,Pt,P,D,F,X,V,rt,mt),!function(ce){for(let Ne of ce)if(Ne.positionedGlyphs.length!==0)return!1;return!0}(Gt)&&Yt}let sT={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZK={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function g6(u,a,h,A,x,E){if(a.imageName){let P=A[a.imageName];return P?P.displaySize[0]*a.scale*Hs/E+x:0}{let P=h[a.fontStack],D=P&&P[u];return D?D.metrics.advance*a.scale+x:0}}function _6(u,a,h,A){let x=Math.pow(u-a,2);return A?u=0,q=0;for(let rt=0;rtP.id),this.index=a.index,this.pixelRatio=a.pixelRatio,this.sourceLayerIndex=a.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Zr([]),this.placementViewportMatrix=Zr([]);let h=this.layers[0]._unevaluatedLayout._values;this.textSizeData=b6(this.zoom,h[\"text-size\"]),this.iconSizeData=b6(this.zoom,h[\"icon-size\"]);let A=this.layers[0].layout,x=A.get(\"symbol-sort-key\"),E=A.get(\"symbol-z-order\");this.canOverlap=LC(A,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||LC(A,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||A.get(\"text-ignore-placement\")||A.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=E!==\"viewport-y\"&&!x.isConstant(),this.sortFeaturesByY=(E===\"viewport-y\"||E===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,A.get(\"symbol-placement\")===\"point\"&&(this.writingModes=A.get(\"text-writing-mode\").map(P=>n.ai[P])),this.stateDependentLayerIds=this.layers.filter(P=>P.isStateDependent()).map(P=>P.id),this.sourceID=a.sourceID}createArrays(){this.text=new RC(new Va(this.layers,this.zoom,a=>/^text/.test(a))),this.icon=new RC(new Va(this.layers,this.zoom,a=>/^icon/.test(a))),this.glyphOffsetArray=new Bt,this.lineVertexArray=new Qt,this.symbolInstances=new St,this.textAnchorOffsets=new oe}calculateGlyphDependencies(a,h,A,x,E){for(let P=0;P0)&&(P.value.kind!==\"constant\"||P.value.value.length>0),q=F.value.kind!==\"constant\"||!!F.value.value||Object.keys(F.parameters).length>0,X=E.get(\"symbol-sort-key\");if(this.features=[],!V&&!q)return;let rt=h.iconDependencies,at=h.glyphDependencies,ct=h.availableImages,mt=new un(this.zoom);for(let{feature:bt,id:Pt,index:jt,sourceLayerIndex:Rt}of a){let Gt=x._featureFilter.needGeometry,Yt=S(bt,Gt);if(!x._featureFilter.filter(mt,Yt,A))continue;let ce,Ne;if(Gt||(Yt.geometry=y(bt)),V){let Fe=x.getValueAndResolveTokens(\"text-field\",Yt,A,ct),Re=ln.factory(Fe);JK(Re)&&(this.hasRTLText=!0),(!this.hasRTLText||f0()===\"unavailable\"||this.hasRTLText&&ua.isParsed())&&(ce=DK(Re,x,Yt))}if(q){let Fe=x.getValueAndResolveTokens(\"icon-image\",Yt,A,ct);Ne=Fe instanceof Gn?Fe:Gn.fromString(Fe)}if(!ce&&!Ne)continue;let ir=this.sortFeaturesByKey?X.evaluate(Yt,{},A):void 0;if(this.features.push({id:Pt,text:ce,icon:Ne,index:jt,sourceLayerIndex:Rt,geometry:Yt.geometry,properties:bt.properties,type:XK[bt.type],sortKey:ir}),Ne&&(rt[Ne.name]=!0),ce){let Fe=P.evaluate(Yt,{},A).join(\",\"),Re=E.get(\"text-rotation-alignment\")!==\"viewport\"&&E.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(n.ai.vertical)>=0;for(let Me of ce.sections)if(Me.image)rt[Me.image.name]=!0;else{let Ye=o0(ce.toString()),Ie=Me.fontStack||Fe,Ae=at[Ie]=at[Ie]||{};this.calculateGlyphDependencies(Me.text,Ae,Re,this.allowVerticalPlacement,Ye)}}}E.get(\"symbol-placement\")===\"line\"&&(this.features=function(bt){let Pt={},jt={},Rt=[],Gt=0;function Yt(Fe){Rt.push(bt[Fe]),Gt++}function ce(Fe,Re,Me){let Ye=jt[Fe];return delete jt[Fe],jt[Re]=Ye,Rt[Ye].geometry[0].pop(),Rt[Ye].geometry[0]=Rt[Ye].geometry[0].concat(Me[0]),Ye}function Ne(Fe,Re,Me){let Ye=Pt[Re];return delete Pt[Re],Pt[Fe]=Ye,Rt[Ye].geometry[0].shift(),Rt[Ye].geometry[0]=Me[0].concat(Rt[Ye].geometry[0]),Ye}function ir(Fe,Re,Me){let Ye=Me?Re[0][Re[0].length-1]:Re[0][0];return`${Fe}:${Ye.x}:${Ye.y}`}for(let Fe=0;FeFe.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((bt,Pt)=>bt.sortKey-Pt.sortKey)}update(a,h,A){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(a,h,this.layers,A),this.icon.programConfigurations.updatePaintArrays(a,h,this.layers,A))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(a){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(a),this.iconCollisionBox.upload(a)),this.text.upload(a,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(a,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(a,h){let A=this.lineVertexArray.length;if(a.segment!==void 0){let x=a.dist(h[a.segment+1]),E=a.dist(h[a.segment]),P={};for(let D=a.segment+1;D=0;D--)P[D]={x:h[D].x,y:h[D].y,tileUnitDistanceFromAnchor:E},D>0&&(E+=h[D-1].dist(h[D]));for(let D=0;D0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(a,h){let A=a.placedSymbolArray.get(h),x=A.vertexStartIndex+4*A.numGlyphs;for(let E=A.vertexStartIndex;Ex[D]-x[F]||E[F]-E[D]),P}addToSortKeyRanges(a,h){let A=this.sortKeyRanges[this.sortKeyRanges.length-1];A&&A.sortKey===h?A.symbolInstanceEnd=a+1:this.sortKeyRanges.push({sortKey:h,symbolInstanceStart:a,symbolInstanceEnd:a+1})}sortFeatures(a){if(this.sortFeaturesByY&&this.sortedAngle!==a&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(a),this.sortedAngle=a,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let h of this.symbolInstanceIndexes){let A=this.symbolInstances.get(h);this.featureSortOrder.push(A.featureIndex),[A.rightJustifiedTextSymbolIndex,A.centerJustifiedTextSymbolIndex,A.leftJustifiedTextSymbolIndex].forEach((x,E,P)=>{x>=0&&P.indexOf(x)===E&&this.addIndicesForPlacedSymbol(this.text,x)}),A.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,A.verticalPlacedTextSymbolIndex),A.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.placedIconSymbolIndex),A.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let w6,S6;Ge(\"SymbolBucket\",C_,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),C_.MAX_GLYPHS=65535,C_.addDynamicAttributes=kC;var OC={get paint(){return S6=S6||new Hn({\"icon-opacity\":new dr(ee.paint_symbol[\"icon-opacity\"]),\"icon-color\":new dr(ee.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new dr(ee.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new dr(ee.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new dr(ee.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new nr(ee.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new nr(ee.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new dr(ee.paint_symbol[\"text-opacity\"]),\"text-color\":new dr(ee.paint_symbol[\"text-color\"],{runtimeType:Us,getOverride:u=>u.textColor,hasOverride:u=>!!u.textColor}),\"text-halo-color\":new dr(ee.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new dr(ee.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new dr(ee.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new nr(ee.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new nr(ee.paint_symbol[\"text-translate-anchor\"])})},get layout(){return w6=w6||new Hn({\"symbol-placement\":new nr(ee.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new nr(ee.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new nr(ee.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new dr(ee.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new nr(ee.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new nr(ee.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new nr(ee.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new nr(ee.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new nr(ee.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new nr(ee.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new dr(ee.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new nr(ee.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new nr(ee.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new dr(ee.layout_symbol[\"icon-image\"]),\"icon-rotate\":new dr(ee.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new dr(ee.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new nr(ee.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new dr(ee.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new dr(ee.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new nr(ee.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new nr(ee.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new nr(ee.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new dr(ee.layout_symbol[\"text-field\"]),\"text-font\":new dr(ee.layout_symbol[\"text-font\"]),\"text-size\":new dr(ee.layout_symbol[\"text-size\"]),\"text-max-width\":new dr(ee.layout_symbol[\"text-max-width\"]),\"text-line-height\":new nr(ee.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new dr(ee.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new dr(ee.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new dr(ee.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new nr(ee.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new dr(ee.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new dr(ee.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new nr(ee.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new nr(ee.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new dr(ee.layout_symbol[\"text-rotate\"]),\"text-padding\":new nr(ee.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new nr(ee.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new dr(ee.layout_symbol[\"text-transform\"]),\"text-offset\":new dr(ee.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new nr(ee.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new nr(ee.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new nr(ee.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new nr(ee.layout_symbol[\"text-optional\"])})}};class T6{constructor(a){if(a.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=a.property.overrides?a.property.overrides.runtimeType:Ca,this.defaultValue=a}evaluate(a){if(a.formattedSection){let h=this.defaultValue.property.overrides;if(h&&h.hasOverride(a.formattedSection))return h.getOverride(a.formattedSection)}return a.feature&&a.featureState?this.defaultValue.evaluate(a.feature,a.featureState):this.defaultValue.property.specification.default}eachChild(a){this.defaultValue.isConstant()||a(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ge(\"FormatSectionOverride\",T6,{omit:[\"defaultValue\"]});class aT extends ji{constructor(a){super(a,OC)}recalculate(a,h){if(super.recalculate(a,h),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let A=this.layout.get(\"text-writing-mode\");if(A){let x=[];for(let E of A)x.indexOf(E)<0&&x.push(E);this.layout._values[\"text-writing-mode\"]=x}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(a,h,A,x){let E=this.layout.get(a).evaluate(h,{},A,x),P=this._unevaluatedLayout._values[a];return P.isDataDriven()||Yp(P.value)||!E?E:function(D,F){return F.replace(/{([^{}]+)}/g,(V,q)=>D&&q in D?String(D[q]):\"\")}(h.properties,E)}createBucket(a){return new C_(a)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let a of OC.paint.overridableProperties){if(!aT.hasPaintOverride(this.layout,a))continue;let h=this.paint.get(a),A=new T6(h),x=new Jm(A,h.property.specification),E=null;E=h.value.kind===\"constant\"||h.value.kind===\"source\"?new t0(\"source\",x):new wt(\"composite\",x,h.value.zoomStops),this.paint._values[a]=new Mo(h.property,E,h.parameters)}}_handleOverridablePaintPropertyUpdate(a,h,A){return!(!this.layout||h.isDataDriven()||A.isDataDriven())&&aT.hasPaintOverride(this.layout,a)}static hasPaintOverride(a,h){let A=a.get(\"text-field\"),x=OC.paint.properties[h],E=!1,P=D=>{for(let F of D)if(x.overrides&&x.overrides.hasOverride(F))return void(E=!0)};if(A.value.kind===\"constant\"&&A.value.value instanceof ln)P(A.value.value.sections);else if(A.value.kind===\"source\"){let D=V=>{E||(V instanceof Gl&&Ki(V.value)===gt?P(V.value.sections):V instanceof Ti?P(V.sections):V.eachChild(D))},F=A.value;F._styleExpression&&D(F._styleExpression.expression)}return E}}let M6;var tJ={get paint(){return M6=M6||new Hn({\"background-color\":new nr(ee.paint_background[\"background-color\"]),\"background-pattern\":new aA(ee.paint_background[\"background-pattern\"]),\"background-opacity\":new nr(ee.paint_background[\"background-opacity\"])})}};class eJ extends ji{constructor(a){super(a,tJ)}}let E6;var rJ={get paint(){return E6=E6||new Hn({\"raster-opacity\":new nr(ee.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new nr(ee.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new nr(ee.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new nr(ee.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new nr(ee.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new nr(ee.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new nr(ee.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new nr(ee.paint_raster[\"raster-fade-duration\"])})}};class iJ extends ji{constructor(a){super(a,rJ)}}class nJ extends ji{constructor(a){super(a,{}),this.onAdd=h=>{this.implementation.onAdd&&this.implementation.onAdd(h,h.painter.context.gl)},this.onRemove=h=>{this.implementation.onRemove&&this.implementation.onRemove(h,h.painter.context.gl)},this.implementation=a}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class sJ{constructor(a){this._callback=a,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._callback()},0))}remove(){delete this._channel,this._callback=()=>{}}}let BC=63710088e-1;class dA{constructor(a,h){if(isNaN(a)||isNaN(h))throw new Error(`Invalid LngLat object: (${a}, ${h})`);if(this.lng=+a,this.lat=+h,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dA(Et(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(a){let h=Math.PI/180,A=this.lat*h,x=a.lat*h,E=Math.sin(A)*Math.sin(x)+Math.cos(A)*Math.cos(x)*Math.cos((a.lng-this.lng)*h);return BC*Math.acos(Math.min(E,1))}static convert(a){if(a instanceof dA)return a;if(Array.isArray(a)&&(a.length===2||a.length===3))return new dA(Number(a[0]),Number(a[1]));if(!Array.isArray(a)&&typeof a==\"object\"&&a!==null)return new dA(Number(\"lng\"in a?a.lng:a.lon),Number(a.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let P6=2*Math.PI*BC;function I6(u){return P6*Math.cos(u*Math.PI/180)}function C6(u){return(180+u)/360}function L6(u){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u*Math.PI/360)))/360}function k6(u,a){return u/I6(a)}function R6(u){return 360*u-180}function FC(u){return 360/Math.PI*Math.atan(Math.exp((180-360*u)*Math.PI/180))-90}class lT{constructor(a,h,A=0){this.x=+a,this.y=+h,this.z=+A}static fromLngLat(a,h=0){let A=dA.convert(a);return new lT(C6(A.lng),L6(A.lat),k6(h,A.lat))}toLngLat(){return new dA(R6(this.x),FC(this.y))}toAltitude(){return this.z*I6(FC(this.y))}meterInMercatorCoordinateUnits(){return 1/P6*(a=FC(this.y),1/Math.cos(a*Math.PI/180));var a}}function D6(u,a,h){var A=2*Math.PI*6378137/256/Math.pow(2,h);return[u*A-2*Math.PI*6378137/2,a*A-2*Math.PI*6378137/2]}class zC{constructor(a,h,A){if(a<0||a>25||A<0||A>=Math.pow(2,a)||h<0||h>=Math.pow(2,a))throw new Error(`x=${h}, y=${A}, z=${a} outside of bounds. 0<=x<${Math.pow(2,a)}, 0<=y<${Math.pow(2,a)} 0<=z<=25 `);this.z=a,this.x=h,this.y=A,this.key=Kx(0,a,a,h,A)}equals(a){return this.z===a.z&&this.x===a.x&&this.y===a.y}url(a,h,A){let x=(P=this.y,D=this.z,F=D6(256*(E=this.x),256*(P=Math.pow(2,D)-P-1),D),V=D6(256*(E+1),256*(P+1),D),F[0]+\",\"+F[1]+\",\"+V[0]+\",\"+V[1]);var E,P,D,F,V;let q=function(X,rt,at){let ct,mt=\"\";for(let bt=X;bt>0;bt--)ct=1<1?\"@2x\":\"\").replace(/{quadkey}/g,q).replace(/{bbox-epsg-3857}/g,x)}isChildOf(a){let h=this.z-a.z;return h>0&&a.x===this.x>>h&&a.y===this.y>>h}getTilePoint(a){let h=Math.pow(2,this.z);return new w((a.x*h-this.x)*en,(a.y*h-this.y)*en)}toString(){return`${this.z}/${this.x}/${this.y}`}}class O6{constructor(a,h){this.wrap=a,this.canonical=h,this.key=Kx(a,h.z,h.z,h.x,h.y)}}class Nc{constructor(a,h,A,x,E){if(a= z; overscaledZ = ${a}; z = ${A}`);this.overscaledZ=a,this.wrap=h,this.canonical=new zC(A,+x,+E),this.key=Kx(h,a,A,x,E)}clone(){return new Nc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(a){return this.overscaledZ===a.overscaledZ&&this.wrap===a.wrap&&this.canonical.equals(a.canonical)}scaledTo(a){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let h=this.canonical.z-a;return a>this.canonical.z?new Nc(a,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Nc(a,this.wrap,a,this.canonical.x>>h,this.canonical.y>>h)}calculateScaledKey(a,h){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let A=this.canonical.z-a;return a>this.canonical.z?Kx(this.wrap*+h,a,this.canonical.z,this.canonical.x,this.canonical.y):Kx(this.wrap*+h,a,a,this.canonical.x>>A,this.canonical.y>>A)}isChildOf(a){if(a.wrap!==this.wrap)return!1;let h=this.canonical.z-a.canonical.z;return a.overscaledZ===0||a.overscaledZ>h&&a.canonical.y===this.canonical.y>>h}children(a){if(this.overscaledZ>=a)return[new Nc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let h=this.canonical.z+1,A=2*this.canonical.x,x=2*this.canonical.y;return[new Nc(h,this.wrap,h,A,x),new Nc(h,this.wrap,h,A+1,x),new Nc(h,this.wrap,h,A,x+1),new Nc(h,this.wrap,h,A+1,x+1)]}isLessThan(a){return this.wrapa.wrap)&&(this.overscaledZa.overscaledZ)&&(this.canonical.xa.canonical.x)&&this.canonical.ythis.max&&(this.max=X),X=this.dim+1||h<-1||h>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(h+1)*this.stride+(a+1)}unpack(a,h,A){return a*this.redFactor+h*this.greenFactor+A*this.blueFactor-this.baseShift}getPixels(){return new zc({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(a,h,A){if(this.dim!==a.dim)throw new Error(\"dem dimension mismatch\");let x=h*this.dim,E=h*this.dim+this.dim,P=A*this.dim,D=A*this.dim+this.dim;switch(h){case-1:x=E-1;break;case 1:E=x+1}switch(A){case-1:P=D-1;break;case 1:D=P+1}let F=-h*this.dim,V=-A*this.dim;for(let q=P;q=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${a} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[a]}}class z6{constructor(a,h,A,x,E){this.type=\"Feature\",this._vectorTileFeature=a,a._z=h,a._x=A,a._y=x,this.properties=a.properties,this.id=E}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(a){this._geometry=a}toJSON(){let a={geometry:this.geometry};for(let h in this)h!==\"_geometry\"&&h!==\"_vectorTileFeature\"&&(a[h]=this[h]);return a}}class N6{constructor(a,h){this.tileID=a,this.x=a.canonical.x,this.y=a.canonical.y,this.z=a.canonical.z,this.grid=new Na(en,16,0),this.grid3D=new Na(en,16,0),this.featureIndexArray=new he,this.promoteId=h}insert(a,h,A,x,E,P){let D=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(A,x,E);let F=P?this.grid3D:this.grid;for(let V=0;V=0&&X[3]>=0&&F.insert(D,X[0],X[1],X[2],X[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new uA.VectorTile(new MC(this.rawTileData)).layers,this.sourceLayerCoder=new F6(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(a,h,A,x){this.loadVTLayers();let E=a.params||{},P=en/a.tileSize/a.scale,D=r0(E.filter),F=a.queryGeometry,V=a.queryPadding*P,q=V6(F),X=this.grid.query(q.minX-V,q.minY-V,q.maxX+V,q.maxY+V),rt=V6(a.cameraQueryGeometry),at=this.grid3D.query(rt.minX-V,rt.minY-V,rt.maxX+V,rt.maxY+V,(bt,Pt,jt,Rt)=>function(Gt,Yt,ce,Ne,ir){for(let Re of Gt)if(Yt<=Re.x&&ce<=Re.y&&Ne>=Re.x&&ir>=Re.y)return!0;let Fe=[new w(Yt,ce),new w(Yt,ir),new w(Ne,ir),new w(Ne,ce)];if(Gt.length>2){for(let Re of Fe)if(ne(Gt,Re))return!0}for(let Re=0;Re(Rt||(Rt=y(Gt)),Yt.queryIntersectsFeature(F,Gt,ce,Rt,this.z,a.transform,P,a.pixelPosMatrix)))}return ct}loadMatchingFeature(a,h,A,x,E,P,D,F,V,q,X){let rt=this.bucketLayerIDs[h];if(P&&!function(bt,Pt){for(let jt=0;jt=0)return!0;return!1}(P,rt))return;let at=this.sourceLayerCoder.decode(A),ct=this.vtLayers[at].feature(x);if(E.needGeometry){let bt=S(ct,!0);if(!E.filter(new un(this.tileID.overscaledZ),bt,this.tileID.canonical))return}else if(!E.filter(new un(this.tileID.overscaledZ),ct))return;let mt=this.getId(ct,at);for(let bt=0;bt{let D=a instanceof oA?a.get(P):null;return D&&D.evaluate?D.evaluate(h,A,x):D})}function V6(u){let a=1/0,h=1/0,A=-1/0,x=-1/0;for(let E of u)a=Math.min(a,E.x),h=Math.min(h,E.y),A=Math.max(A,E.x),x=Math.max(x,E.y);return{minX:a,minY:h,maxX:A,maxY:x}}function oJ(u,a){return a-u}function j6(u,a,h,A,x){let E=[];for(let P=0;P=A&&X.x>=A||(q.x>=A?q=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round():X.x>=A&&(X=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round()),q.y>=x&&X.y>=x||(q.y>=x?q=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round():X.y>=x&&(X=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round()),F&&q.equals(F[F.length-1])||(F=[q],E.push(F)),F.push(X)))))}}return E}Ge(\"FeatureIndex\",N6,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class pA extends w{constructor(a,h,A,x){super(a,h),this.angle=A,x!==void 0&&(this.segment=x)}clone(){return new pA(this.x,this.y,this.angle,this.segment)}}function G6(u,a,h,A,x){if(a.segment===void 0||h===0)return!0;let E=a,P=a.segment+1,D=0;for(;D>-h/2;){if(P--,P<0)return!1;D-=u[P].dist(E),E=u[P]}D+=u[P].dist(u[P+1]),P++;let F=[],V=0;for(;DA;)V-=F.shift().angleDelta;if(V>x)return!1;P++,D+=q.dist(X)}return!0}function W6(u){let a=0;for(let h=0;hV){let ct=(V-F)/at,mt=Da.number(X.x,rt.x,ct),bt=Da.number(X.y,rt.y,ct),Pt=new pA(mt,bt,rt.angleTo(X),q);return Pt._round(),!P||G6(u,Pt,D,P,a)?Pt:void 0}F+=at}}function lJ(u,a,h,A,x,E,P,D,F){let V=H6(A,E,P),q=q6(A,x),X=q*P,rt=u[0].x===0||u[0].x===F||u[0].y===0||u[0].y===F;return a-X=0&&Gt=0&&Yt=0&&rt+V<=q){let ce=new pA(Gt,Yt,jt,ct);ce._round(),A&&!G6(u,ce,E,A,x)||at.push(ce)}}X+=Pt}return D||at.length||P||(at=Z6(u,X/2,h,A,x,E,P,!0,F)),at}Ge(\"Anchor\",pA);let L_=gl;function Y6(u,a,h,A){let x=[],E=u.image,P=E.pixelRatio,D=E.paddedRect.w-2*L_,F=E.paddedRect.h-2*L_,V=u.right-u.left,q=u.bottom-u.top,X=E.stretchX||[[0,D]],rt=E.stretchY||[[0,F]],at=(Me,Ye)=>Me+Ye[1]-Ye[0],ct=X.reduce(at,0),mt=rt.reduce(at,0),bt=D-ct,Pt=F-mt,jt=0,Rt=ct,Gt=0,Yt=mt,ce=0,Ne=bt,ir=0,Fe=Pt;if(E.content&&A){let Me=E.content;jt=cT(X,0,Me[0]),Gt=cT(rt,0,Me[1]),Rt=cT(X,Me[0],Me[2]),Yt=cT(rt,Me[1],Me[3]),ce=Me[0]-jt,ir=Me[1]-Gt,Ne=Me[2]-Me[0]-Rt,Fe=Me[3]-Me[1]-Yt}let Re=(Me,Ye,Ie,Ae)=>{let hr=uT(Me.stretch-jt,Rt,V,u.left),sr=hT(Me.fixed-ce,Ne,Me.stretch,ct),ri=uT(Ye.stretch-Gt,Yt,q,u.top),Tn=hT(Ye.fixed-ir,Fe,Ye.stretch,mt),Rn=uT(Ie.stretch-jt,Rt,V,u.left),qs=hT(Ie.fixed-ce,Ne,Ie.stretch,ct),Ql=uT(Ae.stretch-Gt,Yt,q,u.top),ja=hT(Ae.fixed-ir,Fe,Ae.stretch,mt),Is=new w(hr,ri),Po=new w(Rn,ri),$o=new w(Rn,Ql),Ga=new w(hr,Ql),Wa=new w(sr/P,Tn/P),Zs=new w(qs/P,ja/P),Ys=a*Math.PI/180;if(Ys){let fa=Math.sin(Ys),_l=Math.cos(Ys),yl=[_l,-fa,fa,_l];Is._matMult(yl),Po._matMult(yl),Ga._matMult(yl),$o._matMult(yl)}let ha=Me.stretch+Me.fixed,Ha=Ye.stretch+Ye.fixed;return{tl:Is,tr:Po,bl:Ga,br:$o,tex:{x:E.paddedRect.x+L_+ha,y:E.paddedRect.y+L_+Ha,w:Ie.stretch+Ie.fixed-ha,h:Ae.stretch+Ae.fixed-Ha},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Wa,pixelOffsetBR:Zs,minFontScaleX:Ne/P/V,minFontScaleY:Fe/P/q,isSDF:h}};if(A&&(E.stretchX||E.stretchY)){let Me=Q6(X,bt,ct),Ye=Q6(rt,Pt,mt);for(let Ie=0;Ie0&&(ct=Math.max(10,ct),this.circleDiameter=ct)}else{let X=P.top*D-F[0],rt=P.bottom*D+F[2],at=P.left*D-F[3],ct=P.right*D+F[1],mt=P.collisionPadding;if(mt&&(at-=mt[0]*D,X-=mt[1]*D,ct+=mt[2]*D,rt+=mt[3]*D),q){let bt=new w(at,X),Pt=new w(ct,X),jt=new w(at,rt),Rt=new w(ct,rt),Gt=q*Math.PI/180;bt._rotate(Gt),Pt._rotate(Gt),jt._rotate(Gt),Rt._rotate(Gt),at=Math.min(bt.x,Pt.x,jt.x,Rt.x),ct=Math.max(bt.x,Pt.x,jt.x,Rt.x),X=Math.min(bt.y,Pt.y,jt.y,Rt.y),rt=Math.max(bt.y,Pt.y,jt.y,Rt.y)}a.emplaceBack(h.x,h.y,at,X,ct,rt,A,x,E)}this.boxEndIndex=a.length}}class cJ{constructor(a=[],h=uJ){if(this.data=a,this.length=this.data.length,this.compare=h,this.length>0)for(let A=(this.length>>1)-1;A>=0;A--)this._down(A)}push(a){this.data.push(a),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;let a=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),a}peek(){return this.data[0]}_up(a){let{data:h,compare:A}=this,x=h[a];for(;a>0;){let E=a-1>>1,P=h[E];if(A(x,P)>=0)break;h[a]=P,a=E}h[a]=x}_down(a){let{data:h,compare:A}=this,x=this.length>>1,E=h[a];for(;a=0)break;h[a]=D,a=P}h[a]=E}}function uJ(u,a){return ua?1:0}function hJ(u,a=1,h=!1){let A=1/0,x=1/0,E=-1/0,P=-1/0,D=u[0];for(let at=0;atE)&&(E=ct.x),(!at||ct.y>P)&&(P=ct.y)}let F=Math.min(E-A,P-x),V=F/2,q=new cJ([],fJ);if(F===0)return new w(A,x);for(let at=A;atX.d||!X.d)&&(X=at,h&&console.log(\"found best %d after %d probes\",Math.round(1e4*at.d)/1e4,rt)),at.max-X.d<=a||(V=at.h/2,q.push(new k_(at.p.x-V,at.p.y-V,V,u)),q.push(new k_(at.p.x+V,at.p.y-V,V,u)),q.push(new k_(at.p.x-V,at.p.y+V,V,u)),q.push(new k_(at.p.x+V,at.p.y+V,V,u)),rt+=4)}return h&&(console.log(`num probes: ${rt}`),console.log(`best distance: ${X.d}`)),X.p}function fJ(u,a){return a.max-u.max}function k_(u,a,h,A){this.p=new w(u,a),this.h=h,this.d=function(x,E){let P=!1,D=1/0;for(let F=0;Fx.y!=ct.y>x.y&&x.x<(ct.x-at.x)*(x.y-at.y)/(ct.y-at.y)+at.x&&(P=!P),D=Math.min(D,Wt(x,at,ct))}}return(P?1:-1)*Math.sqrt(D)}(this.p,A),this.max=this.d+this.h*Math.SQRT2}var Qo;n.aq=void 0,(Qo=n.aq||(n.aq={}))[Qo.center=1]=\"center\",Qo[Qo.left=2]=\"left\",Qo[Qo.right=3]=\"right\",Qo[Qo.top=4]=\"top\",Qo[Qo.bottom=5]=\"bottom\",Qo[Qo[\"top-left\"]=6]=\"top-left\",Qo[Qo[\"top-right\"]=7]=\"top-right\",Qo[Qo[\"bottom-left\"]=8]=\"bottom-left\",Qo[Qo[\"bottom-right\"]=9]=\"bottom-right\";let AA=7,NC=Number.POSITIVE_INFINITY;function $6(u,a){return a[1]!==NC?function(h,A,x){let E=0,P=0;switch(A=Math.abs(A),x=Math.abs(x),h){case\"top-right\":case\"top-left\":case\"top\":P=x-AA;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":P=-x+AA}switch(h){case\"top-right\":case\"bottom-right\":case\"right\":E=-A;break;case\"top-left\":case\"bottom-left\":case\"left\":E=A}return[E,P]}(u,a[0],a[1]):function(h,A){let x=0,E=0;A<0&&(A=0);let P=A/Math.SQRT2;switch(h){case\"top-right\":case\"top-left\":E=P-AA;break;case\"bottom-right\":case\"bottom-left\":E=-P+AA;break;case\"bottom\":E=-A+AA;break;case\"top\":E=A-AA}switch(h){case\"top-right\":case\"bottom-right\":x=-P;break;case\"top-left\":case\"bottom-left\":x=P;break;case\"left\":x=A;break;case\"right\":x=-A}return[x,E]}(u,a[0])}function X6(u,a,h){var A;let x=u.layout,E=(A=x.get(\"text-variable-anchor-offset\"))===null||A===void 0?void 0:A.evaluate(a,{},h);if(E){let D=E.values,F=[];for(let V=0;Vrt*Hs);q.startsWith(\"top\")?X[1]-=AA:q.startsWith(\"bottom\")&&(X[1]+=AA),F[V+1]=X}return new Go(F)}let P=x.get(\"text-variable-anchor\");if(P){let D;D=u._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[x.get(\"text-radial-offset\").evaluate(a,{},h)*Hs,NC]:x.get(\"text-offset\").evaluate(a,{},h).map(V=>V*Hs);let F=[];for(let V of P)F.push(V,$6(V,D));return new Go(F)}return null}function UC(u){switch(u){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dJ(u,a,h,A,x,E,P,D,F,V,q){let X=E.textMaxSize.evaluate(a,{});X===void 0&&(X=P);let rt=u.layers[0].layout,at=rt.get(\"icon-offset\").evaluate(a,{},q),ct=J6(h.horizontal),mt=P/24,bt=u.tilePixelRatio*mt,Pt=u.tilePixelRatio*X/24,jt=u.tilePixelRatio*D,Rt=u.tilePixelRatio*rt.get(\"symbol-spacing\"),Gt=rt.get(\"text-padding\")*u.tilePixelRatio,Yt=function(Ae,hr,sr,ri=1){let Tn=Ae.get(\"icon-padding\").evaluate(hr,{},sr),Rn=Tn&&Tn.values;return[Rn[0]*ri,Rn[1]*ri,Rn[2]*ri,Rn[3]*ri]}(rt,a,q,u.tilePixelRatio),ce=rt.get(\"text-max-angle\")/180*Math.PI,Ne=rt.get(\"text-rotation-alignment\")!==\"viewport\"&&rt.get(\"symbol-placement\")!==\"point\",ir=rt.get(\"icon-rotation-alignment\")===\"map\"&&rt.get(\"symbol-placement\")!==\"point\",Fe=rt.get(\"symbol-placement\"),Re=Rt/2,Me=rt.get(\"icon-text-fit\"),Ye;A&&Me!==\"none\"&&(u.allowVerticalPlacement&&h.vertical&&(Ye=x6(A,h.vertical,Me,rt.get(\"icon-text-fit-padding\"),at,mt)),ct&&(A=x6(A,ct,Me,rt.get(\"icon-text-fit-padding\"),at,mt)));let Ie=(Ae,hr)=>{hr.x<0||hr.x>=en||hr.y<0||hr.y>=en||function(sr,ri,Tn,Rn,qs,Ql,ja,Is,Po,$o,Ga,Wa,Zs,Ys,ha,Ha,fa,_l,yl,Qs,di,da,Xo,$s,xu){let vh=sr.addToLineVertexArray(ri,Tn),xh,Ud,bu,Uc,vl=0,Vd=0,e1=0,iz=0,YC=-1,QC=-1,jd={},nz=yh(\"\");if(sr.allowVerticalPlacement&&Rn.vertical){let pa=Is.layout.get(\"text-rotate\").evaluate(di,{},$s)+90;bu=new fT(Po,ri,$o,Ga,Wa,Rn.vertical,Zs,Ys,ha,pa),ja&&(Uc=new fT(Po,ri,$o,Ga,Wa,ja,fa,_l,ha,pa))}if(qs){let pa=Is.layout.get(\"icon-rotate\").evaluate(di,{}),Vc=Is.layout.get(\"icon-text-fit\")!==\"none\",m0=Y6(qs,pa,Xo,Vc),wh=ja?Y6(ja,pa,Xo,Vc):void 0;Ud=new fT(Po,ri,$o,Ga,Wa,qs,fa,_l,!1,pa),vl=4*m0.length;let g0=sr.iconSizeData,Pf=null;g0.kind===\"source\"?(Pf=[Ef*Is.layout.get(\"icon-size\").evaluate(di,{})],Pf[0]>fA&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)):g0.kind===\"composite\"&&(Pf=[Ef*da.compositeIconSizes[0].evaluate(di,{},$s),Ef*da.compositeIconSizes[1].evaluate(di,{},$s)],(Pf[0]>fA||Pf[1]>fA)&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)),sr.addSymbols(sr.icon,m0,Pf,Qs,yl,di,n.ai.none,ri,vh.lineStartIndex,vh.lineLength,-1,$s),YC=sr.icon.placedSymbolArray.length-1,wh&&(Vd=4*wh.length,sr.addSymbols(sr.icon,wh,Pf,Qs,yl,di,n.ai.vertical,ri,vh.lineStartIndex,vh.lineLength,-1,$s),QC=sr.icon.placedSymbolArray.length-1)}let sz=Object.keys(Rn.horizontal);for(let pa of sz){let Vc=Rn.horizontal[pa];if(!xh){nz=yh(Vc.text);let wh=Is.layout.get(\"text-rotate\").evaluate(di,{},$s);xh=new fT(Po,ri,$o,Ga,Wa,Vc,Zs,Ys,ha,wh)}let m0=Vc.positionedLines.length===1;if(e1+=K6(sr,ri,Vc,Ql,Is,ha,di,Ha,vh,Rn.vertical?n.ai.horizontal:n.ai.horizontalOnly,m0?sz:[pa],jd,YC,da,$s),m0)break}Rn.vertical&&(iz+=K6(sr,ri,Rn.vertical,Ql,Is,ha,di,Ha,vh,n.ai.vertical,[\"vertical\"],jd,QC,da,$s));let mJ=xh?xh.boxStartIndex:sr.collisionBoxArray.length,gJ=xh?xh.boxEndIndex:sr.collisionBoxArray.length,_J=bu?bu.boxStartIndex:sr.collisionBoxArray.length,yJ=bu?bu.boxEndIndex:sr.collisionBoxArray.length,vJ=Ud?Ud.boxStartIndex:sr.collisionBoxArray.length,xJ=Ud?Ud.boxEndIndex:sr.collisionBoxArray.length,bJ=Uc?Uc.boxStartIndex:sr.collisionBoxArray.length,wJ=Uc?Uc.boxEndIndex:sr.collisionBoxArray.length,bh=-1,pT=(pa,Vc)=>pa&&pa.circleDiameter?Math.max(pa.circleDiameter,Vc):Vc;bh=pT(xh,bh),bh=pT(bu,bh),bh=pT(Ud,bh),bh=pT(Uc,bh);let oz=bh>-1?1:0;oz&&(bh*=xu/Hs),sr.glyphOffsetArray.length>=C_.MAX_GLYPHS&&Ke(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),di.sortKey!==void 0&&sr.addToSortKeyRanges(sr.symbolInstances.length,di.sortKey);let SJ=X6(Is,di,$s),[TJ,MJ]=function(pa,Vc){let m0=pa.length,wh=Vc?.values;if(wh?.length>0)for(let g0=0;g0=0?jd.right:-1,jd.center>=0?jd.center:-1,jd.left>=0?jd.left:-1,jd.vertical||-1,YC,QC,nz,mJ,gJ,_J,yJ,vJ,xJ,bJ,wJ,$o,e1,iz,vl,Vd,oz,0,Zs,bh,TJ,MJ)}(u,hr,Ae,h,A,x,Ye,u.layers[0],u.collisionBoxArray,a.index,a.sourceLayerIndex,u.index,bt,[Gt,Gt,Gt,Gt],Ne,F,jt,Yt,ir,at,a,E,V,q,P)};if(Fe===\"line\")for(let Ae of j6(a.geometry,0,0,en,en)){let hr=lJ(Ae,Rt,ce,h.vertical||ct,A,24,Pt,u.overscaling,en);for(let sr of hr)ct&&pJ(u,ct.text,Re,sr)||Ie(Ae,sr)}else if(Fe===\"line-center\"){for(let Ae of a.geometry)if(Ae.length>1){let hr=aJ(Ae,ce,h.vertical||ct,A,24,Pt);hr&&Ie(Ae,hr)}}else if(a.type===\"Polygon\")for(let Ae of _C(a.geometry,0)){let hr=hJ(Ae,16);Ie(Ae[0],new pA(hr.x,hr.y,0))}else if(a.type===\"LineString\")for(let Ae of a.geometry)Ie(Ae,new pA(Ae[0].x,Ae[0].y,0));else if(a.type===\"Point\")for(let Ae of a.geometry)for(let hr of Ae)Ie([hr],new pA(hr.x,hr.y,0))}function K6(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct){let mt=function(jt,Rt,Gt,Yt,ce,Ne,ir,Fe){let Re=Yt.layout.get(\"text-rotate\").evaluate(Ne,{})*Math.PI/180,Me=[];for(let Ye of Rt.positionedLines)for(let Ie of Ye.positionedGlyphs){if(!Ie.rect)continue;let Ae=Ie.rect||{},hr=p6+1,sr=!0,ri=1,Tn=0,Rn=(ce||Fe)&&Ie.vertical,qs=Ie.metrics.advance*Ie.scale/2;if(Fe&&Rt.verticalizable&&(Tn=Ye.lineOffset/2-(Ie.imageName?-(Hs-Ie.metrics.width*Ie.scale)/2:(Ie.scale-1)*Hs)),Ie.imageName){let Qs=ir[Ie.imageName];sr=Qs.sdf,ri=Qs.pixelRatio,hr=gl/ri}let Ql=ce?[Ie.x+qs,Ie.y]:[0,0],ja=ce?[0,0]:[Ie.x+qs+Gt[0],Ie.y+Gt[1]-Tn],Is=[0,0];Rn&&(Is=ja,ja=[0,0]);let Po=Ie.metrics.isDoubleResolution?2:1,$o=(Ie.metrics.left-hr)*Ie.scale-qs+ja[0],Ga=(-Ie.metrics.top-hr)*Ie.scale+ja[1],Wa=$o+Ae.w/Po*Ie.scale/ri,Zs=Ga+Ae.h/Po*Ie.scale/ri,Ys=new w($o,Ga),ha=new w(Wa,Ga),Ha=new w($o,Zs),fa=new w(Wa,Zs);if(Rn){let Qs=new w(-qs,qs-Qx),di=-Math.PI/2,da=Hs/2-qs,Xo=new w(5-Qx-da,-(Ie.imageName?da:0)),$s=new w(...Is);Ys._rotateAround(di,Qs)._add(Xo)._add($s),ha._rotateAround(di,Qs)._add(Xo)._add($s),Ha._rotateAround(di,Qs)._add(Xo)._add($s),fa._rotateAround(di,Qs)._add(Xo)._add($s)}if(Re){let Qs=Math.sin(Re),di=Math.cos(Re),da=[di,-Qs,Qs,di];Ys._matMult(da),ha._matMult(da),Ha._matMult(da),fa._matMult(da)}let _l=new w(0,0),yl=new w(0,0);Me.push({tl:Ys,tr:ha,bl:Ha,br:fa,tex:Ae,writingMode:Rt.writingMode,glyphOffset:Ql,sectionIndex:Ie.sectionIndex,isSDF:sr,pixelOffsetTL:_l,pixelOffsetBR:yl,minFontScaleX:0,minFontScaleY:0})}return Me}(0,h,D,x,E,P,A,u.allowVerticalPlacement),bt=u.textSizeData,Pt=null;bt.kind===\"source\"?(Pt=[Ef*x.layout.get(\"text-size\").evaluate(P,{})],Pt[0]>fA&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)):bt.kind===\"composite\"&&(Pt=[Ef*at.compositeTextSizes[0].evaluate(P,{},ct),Ef*at.compositeTextSizes[1].evaluate(P,{},ct)],(Pt[0]>fA||Pt[1]>fA)&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)),u.addSymbols(u.text,mt,Pt,D,E,P,V,a,F.lineStartIndex,F.lineLength,rt,ct);for(let jt of q)X[jt]=u.text.placedSymbolArray.length-1;return 4*mt.length}function J6(u){for(let a in u)return u[a];return null}function pJ(u,a,h,A){let x=u.compareText;if(a in x){let E=x[a];for(let P=E.length-1;P>=0;P--)if(A.dist(E[P])>4;if(x!==1)throw new Error(`Got v${x} data when expected v1.`);let E=tz[15&A];if(!E)throw new Error(\"Unrecognized array type.\");let[P]=new Uint16Array(a,2,1),[D]=new Uint32Array(a,4,1);return new VC(D,P,E,a)}constructor(a,h=64,A=Float64Array,x){if(isNaN(a)||a<0)throw new Error(`Unpexpected numItems value: ${a}.`);this.numItems=+a,this.nodeSize=Math.min(Math.max(+h,2),65535),this.ArrayType=A,this.IndexArrayType=a<65536?Uint16Array:Uint32Array;let E=tz.indexOf(this.ArrayType),P=2*a*this.ArrayType.BYTES_PER_ELEMENT,D=a*this.IndexArrayType.BYTES_PER_ELEMENT,F=(8-D%8)%8;if(E<0)throw new Error(`Unexpected typed array class: ${A}.`);x&&x instanceof ArrayBuffer?(this.data=x,this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=2*a,this._finished=!0):(this.data=new ArrayBuffer(8+P+D+F),this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+E]),new Uint16Array(this.data,2,1)[0]=h,new Uint32Array(this.data,4,1)[0]=a)}add(a,h){let A=this._pos>>1;return this.ids[A]=A,this.coords[this._pos++]=a,this.coords[this._pos++]=h,A}finish(){let a=this._pos>>1;if(a!==this.numItems)throw new Error(`Added ${a} items when expected ${this.numItems}.`);return jC(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(a,h,A,x){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:E,coords:P,nodeSize:D}=this,F=[0,E.length-1,0],V=[];for(;F.length;){let q=F.pop()||0,X=F.pop()||0,rt=F.pop()||0;if(X-rt<=D){for(let bt=rt;bt<=X;bt++){let Pt=P[2*bt],jt=P[2*bt+1];Pt>=a&&Pt<=A&&jt>=h&&jt<=x&&V.push(E[bt])}continue}let at=rt+X>>1,ct=P[2*at],mt=P[2*at+1];ct>=a&&ct<=A&&mt>=h&&mt<=x&&V.push(E[at]),(q===0?a<=ct:h<=mt)&&(F.push(rt),F.push(at-1),F.push(1-q)),(q===0?A>=ct:x>=mt)&&(F.push(at+1),F.push(X),F.push(1-q))}return V}within(a,h,A){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:x,coords:E,nodeSize:P}=this,D=[0,x.length-1,0],F=[],V=A*A;for(;D.length;){let q=D.pop()||0,X=D.pop()||0,rt=D.pop()||0;if(X-rt<=P){for(let bt=rt;bt<=X;bt++)rz(E[2*bt],E[2*bt+1],a,h)<=V&&F.push(x[bt]);continue}let at=rt+X>>1,ct=E[2*at],mt=E[2*at+1];rz(ct,mt,a,h)<=V&&F.push(x[at]),(q===0?a-A<=ct:h-A<=mt)&&(D.push(rt),D.push(at-1),D.push(1-q)),(q===0?a+A>=ct:h+A>=mt)&&(D.push(at+1),D.push(X),D.push(1-q))}return F}}function jC(u,a,h,A,x,E){if(x-A<=h)return;let P=A+x>>1;ez(u,a,P,A,x,E),jC(u,a,h,A,P-1,1-E),jC(u,a,h,P+1,x,1-E)}function ez(u,a,h,A,x,E){for(;x>A;){if(x-A>600){let V=x-A+1,q=h-A+1,X=Math.log(V),rt=.5*Math.exp(2*X/3),at=.5*Math.sqrt(X*rt*(V-rt)/V)*(q-V/2<0?-1:1);ez(u,a,h,Math.max(A,Math.floor(h-q*rt/V+at)),Math.min(x,Math.floor(h+(V-q)*rt/V+at)),E)}let P=a[2*h+E],D=A,F=x;for(Jx(u,a,A,h),a[2*x+E]>P&&Jx(u,a,A,x);DP;)F--}a[2*A+E]===P?Jx(u,a,A,F):(F++,Jx(u,a,F,x)),F<=h&&(A=F+1),h<=F&&(x=F-1)}}function Jx(u,a,h,A){GC(u,h,A),GC(a,2*h,2*A),GC(a,2*h+1,2*A+1)}function GC(u,a,h){let A=u[a];u[a]=u[h],u[h]=A}function rz(u,a,h,A){let x=u-h,E=a-A;return x*x+E*E}var WC;n.bh=void 0,(WC=n.bh||(n.bh={})).create=\"create\",WC.load=\"load\",WC.fullLoad=\"fullLoad\";let dT=null,t1=[],HC=1e3/60,qC=\"loadTime\",ZC=\"fullLoadTime\",AJ={mark(u){performance.mark(u)},frame(u){let a=u;dT!=null&&t1.push(a-dT),dT=a},clearMetrics(){dT=null,t1=[],performance.clearMeasures(qC),performance.clearMeasures(ZC);for(let u in n.bh)performance.clearMarks(n.bh[u])},getPerformanceMetrics(){performance.measure(qC,n.bh.create,n.bh.load),performance.measure(ZC,n.bh.create,n.bh.fullLoad);let u=performance.getEntriesByName(qC)[0].duration,a=performance.getEntriesByName(ZC)[0].duration,h=t1.length,A=1/(t1.reduce((E,P)=>E+P,0)/h/1e3),x=t1.filter(E=>E>HC).reduce((E,P)=>E+(P-HC)/HC,0);return{loadTime:u,fullLoadTime:a,fps:A,percentDroppedFrames:x/(h+x)*100,totalFrames:h}}};n.$=function(u,a,h){var A,x,E,P,D,F,V,q,X,rt,at,ct,mt=h[0],bt=h[1],Pt=h[2];return a===u?(u[12]=a[0]*mt+a[4]*bt+a[8]*Pt+a[12],u[13]=a[1]*mt+a[5]*bt+a[9]*Pt+a[13],u[14]=a[2]*mt+a[6]*bt+a[10]*Pt+a[14],u[15]=a[3]*mt+a[7]*bt+a[11]*Pt+a[15]):(x=a[1],E=a[2],P=a[3],D=a[4],F=a[5],V=a[6],q=a[7],X=a[8],rt=a[9],at=a[10],ct=a[11],u[0]=A=a[0],u[1]=x,u[2]=E,u[3]=P,u[4]=D,u[5]=F,u[6]=V,u[7]=q,u[8]=X,u[9]=rt,u[10]=at,u[11]=ct,u[12]=A*mt+D*bt+X*Pt+a[12],u[13]=x*mt+F*bt+rt*Pt+a[13],u[14]=E*mt+V*bt+at*Pt+a[14],u[15]=P*mt+q*bt+ct*Pt+a[15]),u},n.A=je,n.B=Da,n.C=class{constructor(u,a,h){this.receive=A=>{let x=A.data,E=x.id;if(E&&(!x.targetMapId||this.mapId===x.targetMapId))if(x.type===\"\"){delete this.tasks[E];let P=this.cancelCallbacks[E];delete this.cancelCallbacks[E],P&&P()}else Li()||x.mustQueue?(this.tasks[E]=x,this.taskQueue.push(E),this.invoker.trigger()):this.processTask(E,x)},this.process=()=>{if(!this.taskQueue.length)return;let A=this.taskQueue.shift(),x=this.tasks[A];delete this.tasks[A],this.taskQueue.length&&this.invoker.trigger(),x&&this.processTask(A,x)},this.target=u,this.parent=a,this.mapId=h,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new sJ(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=Li()?u:window}send(u,a,h,A,x=!1){let E=Math.round(1e18*Math.random()).toString(36).substring(0,10);h&&(this.callbacks[E]=h);let P=[],D={id:E,type:u,hasCallback:!!h,targetMapId:A,mustQueue:x,sourceMapId:this.mapId,data:Hl(a,P)};return this.target.postMessage(D,{transfer:P}),{cancel:()=>{h&&delete this.callbacks[E],this.target.postMessage({id:E,type:\"\",targetMapId:A,sourceMapId:this.mapId})}}}processTask(u,a){if(a.type===\"\"){let h=this.callbacks[u];delete this.callbacks[u],h&&(a.error?h(xf(a.error)):h(null,xf(a.data)))}else{let h=!1,A=[],x=a.hasCallback?(D,F)=>{h=!0,delete this.cancelCallbacks[u];let V={id:u,type:\"\",sourceMapId:this.mapId,error:D?Hl(D):null,data:Hl(F,A)};this.target.postMessage(V,{transfer:A})}:D=>{h=!0},E=null,P=xf(a.data);if(this.parent[a.type])E=this.parent[a.type](a.sourceMapId,P,x);else if(\"getWorkerSource\"in this.parent){let D=a.type.split(\".\");E=this.parent.getWorkerSource(a.sourceMapId,D[0],P.source)[D[1]](P,x)}else x(new Error(`Could not find function ${a.type}`));!h&&E&&E.cancel&&(this.cancelCallbacks[u]=E.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)}},n.D=nr,n.E=Nl,n.F=function(u,a){let h={};for(let A=0;A{}}},n.Y=ve,n.Z=function(){var u=new je(16);return je!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=0,u[12]=0,u[13]=0,u[14]=0),u[0]=1,u[5]=1,u[10]=1,u[15]=1,u},n._=o,n.a=zl,n.a$=class extends st{},n.a0=function(u,a,h){var A=h[0],x=h[1],E=h[2];return u[0]=a[0]*A,u[1]=a[1]*A,u[2]=a[2]*A,u[3]=a[3]*A,u[4]=a[4]*x,u[5]=a[5]*x,u[6]=a[6]*x,u[7]=a[7]*x,u[8]=a[8]*E,u[9]=a[9]*E,u[10]=a[10]*E,u[11]=a[11]*E,u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.a1=qi,n.a2=function(){return Xt++},n.a3=yt,n.a4=C_,n.a5=function(){ua.isLoading()||ua.isLoaded()||f0()!==\"deferred\"||v_()},n.a6=r0,n.a7=S,n.a8=un,n.a9=z6,n.aA=Bc,n.aB=function(u){u=u.slice();let a=Object.create(null);for(let h=0;h{A[P.source]?h.push({command:oi.removeLayer,args:[P.id]}):E.push(P)}),h=h.concat(x),function(P,D,F){D=D||[];let V=(P=P||[]).map(Ia),q=D.map(Ia),X=P.reduce(wo,{}),rt=D.reduce(wo,{}),at=V.slice(),ct=Object.create(null),mt,bt,Pt,jt,Rt,Gt,Yt;for(mt=0,bt=0;mt@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(h,A,x,E)=>{let P=x||E;return a[A]=!P||P.toLowerCase(),\"\"}),a[\"max-age\"]){let h=parseInt(a[\"max-age\"],10);isNaN(h)?delete a[\"max-age\"]:a[\"max-age\"]=h}return a},n.ab=function(u,a){let h=[];for(let A in u)A in a||h.push(A);return h},n.ac=function(u){if(oo==null){let a=u.navigator?u.navigator.userAgent:null;oo=!!u.safari||!(!a||!(/\\b(iPad|iPhone|iPod)\\b/.test(a)||a.match(\"Safari\")&&!a.match(\"Chrome\")))}return oo},n.ad=ut,n.ae=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[0],P=a[1],D=a[2],F=a[3],V=a[4],q=a[5],X=a[6],rt=a[7];return a!==u&&(u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[0]=E*x+V*A,u[1]=P*x+q*A,u[2]=D*x+X*A,u[3]=F*x+rt*A,u[4]=V*x-E*A,u[5]=q*x-P*A,u[6]=X*x-D*A,u[7]=rt*x-F*A,u},n.af=function(u){var a=new je(16);return a[0]=u[0],a[1]=u[1],a[2]=u[2],a[3]=u[3],a[4]=u[4],a[5]=u[5],a[6]=u[6],a[7]=u[7],a[8]=u[8],a[9]=u[9],a[10]=u[10],a[11]=u[11],a[12]=u[12],a[13]=u[13],a[14]=u[14],a[15]=u[15],a},n.ag=Pi,n.ah=function(u,a){let h=0,A=0;if(u.kind===\"constant\")A=u.layoutSize;else if(u.kind!==\"source\"){let{interpolationType:x,minZoom:E,maxZoom:P}=u,D=x?ut(Oa.interpolationFactor(x,a,E,P),0,1):0;u.kind===\"camera\"?A=Da.number(u.minSize,u.maxSize,D):h=D}return{uSizeT:h,uSize:A}},n.aj=function(u,{uSize:a,uSizeT:h},{lowerSize:A,upperSize:x}){return u.kind===\"source\"?A/Ef:u.kind===\"composite\"?Da.number(A/Ef,x/Ef,h):a},n.ak=kC,n.al=function(u,a,h,A){let x=a.y-u.y,E=a.x-u.x,P=A.y-h.y,D=A.x-h.x,F=P*E-D*x;if(F===0)return null;let V=(D*(u.y-h.y)-P*(u.x-h.x))/F;return new w(u.x+V*E,u.y+V*x)},n.am=j6,n.an=L,n.ao=Zr,n.ap=Hs,n.ar=LC,n.as=function(u,a){var h=a[0],A=a[1],x=a[2],E=a[3],P=a[4],D=a[5],F=a[6],V=a[7],q=a[8],X=a[9],rt=a[10],at=a[11],ct=a[12],mt=a[13],bt=a[14],Pt=a[15],jt=h*D-A*P,Rt=h*F-x*P,Gt=h*V-E*P,Yt=A*F-x*D,ce=A*V-E*D,Ne=x*V-E*F,ir=q*mt-X*ct,Fe=q*bt-rt*ct,Re=q*Pt-at*ct,Me=X*bt-rt*mt,Ye=X*Pt-at*mt,Ie=rt*Pt-at*bt,Ae=jt*Ie-Rt*Ye+Gt*Me+Yt*Re-ce*Fe+Ne*ir;return Ae?(u[0]=(D*Ie-F*Ye+V*Me)*(Ae=1/Ae),u[1]=(x*Ye-A*Ie-E*Me)*Ae,u[2]=(mt*Ne-bt*ce+Pt*Yt)*Ae,u[3]=(rt*ce-X*Ne-at*Yt)*Ae,u[4]=(F*Re-P*Ie-V*Fe)*Ae,u[5]=(h*Ie-x*Re+E*Fe)*Ae,u[6]=(bt*Gt-ct*Ne-Pt*Rt)*Ae,u[7]=(q*Ne-rt*Gt+at*Rt)*Ae,u[8]=(P*Ye-D*Re+V*ir)*Ae,u[9]=(A*Re-h*Ye-E*ir)*Ae,u[10]=(ct*ce-mt*Gt+Pt*jt)*Ae,u[11]=(X*Gt-q*ce-at*jt)*Ae,u[12]=(D*Fe-P*Me-F*ir)*Ae,u[13]=(h*Me-A*Fe+x*ir)*Ae,u[14]=(mt*Rt-ct*Yt-bt*jt)*Ae,u[15]=(q*Yt-X*Rt+rt*jt)*Ae,u):null},n.at=UC,n.au=CC,n.av=VC,n.aw=function(){let u={},a=ee.$version;for(let h in ee.$root){let A=ee.$root[h];if(A.required){let x=null;x=h===\"version\"?a:A.type===\"array\"?[]:{},x!=null&&(u[h]=x)}}return u},n.ax=oi,n.ay=__,n.az=Jn,n.b=function(u,a){let h=new Blob([new Uint8Array(u)],{type:\"image/png\"});createImageBitmap(h).then(A=>{a(null,A)}).catch(A=>{a(new Error(`Could not load image because of ${A.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})},n.b0=Gs,n.b1=function(u,a){var h=u[0],A=u[1],x=u[2],E=u[3],P=u[4],D=u[5],F=u[6],V=u[7],q=u[8],X=u[9],rt=u[10],at=u[11],ct=u[12],mt=u[13],bt=u[14],Pt=u[15],jt=a[0],Rt=a[1],Gt=a[2],Yt=a[3],ce=a[4],Ne=a[5],ir=a[6],Fe=a[7],Re=a[8],Me=a[9],Ye=a[10],Ie=a[11],Ae=a[12],hr=a[13],sr=a[14],ri=a[15];return Math.abs(h-jt)<=we*Math.max(1,Math.abs(h),Math.abs(jt))&&Math.abs(A-Rt)<=we*Math.max(1,Math.abs(A),Math.abs(Rt))&&Math.abs(x-Gt)<=we*Math.max(1,Math.abs(x),Math.abs(Gt))&&Math.abs(E-Yt)<=we*Math.max(1,Math.abs(E),Math.abs(Yt))&&Math.abs(P-ce)<=we*Math.max(1,Math.abs(P),Math.abs(ce))&&Math.abs(D-Ne)<=we*Math.max(1,Math.abs(D),Math.abs(Ne))&&Math.abs(F-ir)<=we*Math.max(1,Math.abs(F),Math.abs(ir))&&Math.abs(V-Fe)<=we*Math.max(1,Math.abs(V),Math.abs(Fe))&&Math.abs(q-Re)<=we*Math.max(1,Math.abs(q),Math.abs(Re))&&Math.abs(X-Me)<=we*Math.max(1,Math.abs(X),Math.abs(Me))&&Math.abs(rt-Ye)<=we*Math.max(1,Math.abs(rt),Math.abs(Ye))&&Math.abs(at-Ie)<=we*Math.max(1,Math.abs(at),Math.abs(Ie))&&Math.abs(ct-Ae)<=we*Math.max(1,Math.abs(ct),Math.abs(Ae))&&Math.abs(mt-hr)<=we*Math.max(1,Math.abs(mt),Math.abs(hr))&&Math.abs(bt-sr)<=we*Math.max(1,Math.abs(bt),Math.abs(sr))&&Math.abs(Pt-ri)<=we*Math.max(1,Math.abs(Pt),Math.abs(ri))},n.b2=function(u,a){return u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[4]=a[4],u[5]=a[5],u[6]=a[6],u[7]=a[7],u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.b3=function(u,a,h){return u[0]=a[0]*h[0],u[1]=a[1]*h[1],u[2]=a[2]*h[2],u[3]=a[3]*h[3],u},n.b4=function(u,a){return u[0]*a[0]+u[1]*a[1]+u[2]*a[2]+u[3]*a[3]},n.b5=Et,n.b6=O6,n.b7=k6,n.b8=function(u,a,h,A,x){var E,P=1/Math.tan(a/2);return u[0]=P/h,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=P,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=-1,u[12]=0,u[13]=0,u[15]=0,x!=null&&x!==1/0?(u[10]=(x+A)*(E=1/(A-x)),u[14]=2*x*A*E):(u[10]=-1,u[14]=-2*A),u},n.b9=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[4],P=a[5],D=a[6],F=a[7],V=a[8],q=a[9],X=a[10],rt=a[11];return a!==u&&(u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[4]=E*x+V*A,u[5]=P*x+q*A,u[6]=D*x+X*A,u[7]=F*x+rt*A,u[8]=V*x-E*A,u[9]=q*x-P*A,u[10]=X*x-D*A,u[11]=rt*x-F*A,u},n.bA=f,n.bB=a6,n.bC=Qp,n.bD=ua,n.ba=K,n.bb=J,n.bc=function(u,a){return u[0]=a[0],u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=a[1],u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=a[2],u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},n.bd=class extends gh{},n.be=BC,n.bf=R6,n.bg=AJ,n.bi=Xi,n.bj=function(u,a,h=!1){if(us===u0||us===iA||us===nA)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");_u=kc.resolveURL(u),us=u0,ph=a,h0(),h||v_()},n.bk=f0,n.bl=function(u,a){let h={};for(let x=0;xAe*Hs)}let Fe=P?\"center\":h.get(\"text-justify\").evaluate(V,{},u.canonical),Re=h.get(\"symbol-placement\"),Me=Re===\"point\"?h.get(\"text-max-width\").evaluate(V,{},u.canonical)*Hs:0,Ye=()=>{u.bucket.allowVerticalPlacement&&o0(Gt)&&(ct.vertical=nT(mt,u.glyphMap,u.glyphPositions,u.imagePositions,q,Me,E,Ne,\"left\",ce,Pt,n.ai.vertical,!0,Re,rt,X))};if(!P&&ir){let Ie=new Set;if(Fe===\"auto\")for(let hr=0;hr{a(null,h),URL.revokeObjectURL(h.src),h.onload=null,window.requestAnimationFrame(()=>{h.src=No})},h.onerror=()=>a(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let A=new Blob([new Uint8Array(u)],{type:\"image/png\"});h.src=u.byteLength?URL.createObjectURL(A):No},n.e=kt,n.f=function(u,a){return Vo(kt(u,{type:\"json\"}),a)},n.g=ki,n.h=kc,n.i=Li,n.j=ao,n.k=as,n.l=cl,n.m=Vo,n.n=function(u){return new MC(u).readFields(WK,[])},n.o=function(u,a,h){if(!u.length)return h(null,[]);let A=u.length,x=new Array(u.length),E=null;u.forEach((P,D)=>{a(P,(F,V)=>{F&&(E=F),x[D]=V,--A==0&&h(E,x)})})},n.p=A6,n.q=Vx,n.r=Hn,n.s=xo,n.t=hh,n.u=Oe,n.v=ee,n.w=Ke,n.x=fh,n.y=za,n.z=function([u,a,h]){return a+=90,a*=Math.PI/180,h*=Math.PI/180,{x:u*Math.cos(a)*Math.sin(h),y:u*Math.sin(a)*Math.sin(h),z:u*Math.cos(h)}}}),i([\"./shared\"],function(n){\"use strict\";class o{constructor(tt){this.keyCache={},tt&&this.replace(tt)}replace(tt){this._layerConfigs={},this._layers={},this.update(tt,[])}update(tt,nt){for(let vt of tt){this._layerConfigs[vt.id]=vt;let xt=this._layers[vt.id]=n.aC(vt);xt._featureFilter=n.a6(xt.filter),this.keyCache[vt.id]&&delete this.keyCache[vt.id]}for(let vt of nt)delete this.keyCache[vt],delete this._layerConfigs[vt],delete this._layers[vt];this.familiesBySource={};let ht=n.bl(Object.values(this._layerConfigs),this.keyCache);for(let vt of ht){let xt=vt.map(se=>this._layers[se.id]),_t=xt[0];if(_t.visibility===\"none\")continue;let Dt=_t.source||\"\",Mt=this.familiesBySource[Dt];Mt||(Mt=this.familiesBySource[Dt]={});let Vt=_t.sourceLayer||\"_geojsonTileLayer\",ie=Mt[Vt];ie||(ie=Mt[Vt]=[]),ie.push(xt)}}}class c{constructor(tt){let nt={},ht=[];for(let Dt in tt){let Mt=tt[Dt],Vt=nt[Dt]={};for(let ie in Mt){let se=Mt[+ie];if(!se||se.bitmap.width===0||se.bitmap.height===0)continue;let ae={x:0,y:0,w:se.bitmap.width+2,h:se.bitmap.height+2};ht.push(ae),Vt[ie]={rect:ae,metrics:se.metrics}}}let{w:vt,h:xt}=n.p(ht),_t=new n.q({width:vt||1,height:xt||1});for(let Dt in tt){let Mt=tt[Dt];for(let Vt in Mt){let ie=Mt[+Vt];if(!ie||ie.bitmap.width===0||ie.bitmap.height===0)continue;let se=nt[Dt][Vt].rect;n.q.copy(ie.bitmap,_t,{x:0,y:0},{x:se.x+1,y:se.y+1},ie.bitmap)}}this.image=_t,this.positions=nt}}n.bm(\"GlyphAtlas\",c);class f{constructor(tt){this.tileID=new n.O(tt.tileID.overscaledZ,tt.tileID.wrap,tt.tileID.canonical.z,tt.tileID.canonical.x,tt.tileID.canonical.y),this.uid=tt.uid,this.zoom=tt.zoom,this.pixelRatio=tt.pixelRatio,this.tileSize=tt.tileSize,this.source=tt.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=tt.showCollisionBoxes,this.collectResourceTiming=!!tt.collectResourceTiming,this.returnDependencies=!!tt.returnDependencies,this.promoteId=tt.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(tt,nt,ht,vt,xt){this.status=\"parsing\",this.data=tt,this.collisionBoxArray=new n.a3;let _t=new n.bn(Object.keys(tt.layers).sort()),Dt=new n.bo(this.tileID,this.promoteId);Dt.bucketLayerIDs=[];let Mt={},Vt={featureIndex:Dt,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ht},ie=nt.familiesBySource[this.source];for(let ni in ie){let Hr=tt.layers[ni];if(!Hr)continue;Hr.version===1&&n.w(`Vector tile source \"${this.source}\" layer \"${ni}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let jn=_t.encode(ni),Bi=[];for(let xn=0;xn=es.maxzoom||es.visibility!==\"none\"&&(_(xn,this.zoom,ht),(Mt[es.id]=es.createBucket({index:Dt.bucketLayerIDs.length,layers:xn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:jn,sourceID:this.source})).populate(Bi,Vt,this.tileID.canonical),Dt.bucketLayerIDs.push(xn.map(oa=>oa.id)))}}let se,ae,lr,vr,Xe=n.aH(Vt.glyphDependencies,ni=>Object.keys(ni).map(Number));this.inFlightDependencies.forEach(ni=>ni?.cancel()),this.inFlightDependencies=[];let cr=++this.dependencySentinel;Object.keys(Xe).length?this.inFlightDependencies.push(vt.send(\"getGlyphs\",{uid:this.uid,stacks:Xe,source:this.source,tileID:this.tileID,type:\"glyphs\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,ae=Hr,zi.call(this)))})):ae={};let wr=Object.keys(Vt.iconDependencies);wr.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:wr,source:this.source,tileID:this.tileID,type:\"icons\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,lr=Hr,zi.call(this)))})):lr={};let xi=Object.keys(Vt.patternDependencies);function zi(){if(se)return xt(se);if(ae&&lr&&vr){let ni=new c(ae),Hr=new n.bp(lr,vr);for(let jn in Mt){let Bi=Mt[jn];Bi instanceof n.a4?(_(Bi.layers,this.zoom,ht),n.bq({bucket:Bi,glyphMap:ae,glyphPositions:ni.positions,imageMap:lr,imagePositions:Hr.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Bi.hasPattern&&(Bi instanceof n.br||Bi instanceof n.bs||Bi instanceof n.bt)&&(_(Bi.layers,this.zoom,ht),Bi.addFeatures(Vt,this.tileID.canonical,Hr.patternPositions))}this.status=\"done\",xt(null,{buckets:Object.values(Mt).filter(jn=>!jn.isEmpty()),featureIndex:Dt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ni.image,imageAtlas:Hr,glyphMap:this.returnDependencies?ae:null,iconMap:this.returnDependencies?lr:null,glyphPositions:this.returnDependencies?ni.positions:null})}}xi.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:xi,source:this.source,tileID:this.tileID,type:\"patterns\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,vr=Hr,zi.call(this)))})):vr={},zi.call(this)}}function _(gt,tt,nt){let ht=new n.a8(tt);for(let vt of gt)vt.recalculate(ht,nt)}function w(gt,tt){let nt=n.l(gt.request,(ht,vt,xt,_t)=>{if(ht)tt(ht);else if(vt)try{let Dt=new n.bw.VectorTile(new n.bv(vt));tt(null,{vectorTile:Dt,rawData:vt,cacheControl:xt,expires:_t})}catch(Dt){let Mt=new Uint8Array(vt),Vt=`Unable to parse the tile at ${gt.request.url}, `;Vt+=Mt[0]===31&&Mt[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Dt.messge}`,tt(new Error(Vt))}});return()=>{nt.cancel(),tt()}}class I{constructor(tt,nt,ht,vt){this.actor=tt,this.layerIndex=nt,this.availableImages=ht,this.loadVectorData=vt||w,this.fetching={},this.loading={},this.loaded={}}loadTile(tt,nt){let ht=tt.uid;this.loading||(this.loading={});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request),xt=this.loading[ht]=new f(tt);xt.abort=this.loadVectorData(tt,(_t,Dt)=>{if(delete this.loading[ht],_t||!Dt)return xt.status=\"done\",this.loaded[ht]=xt,nt(_t);let Mt=Dt.rawData,Vt={};Dt.expires&&(Vt.expires=Dt.expires),Dt.cacheControl&&(Vt.cacheControl=Dt.cacheControl);let ie={};if(vt){let se=vt.finish();se&&(ie.resourceTiming=JSON.parse(JSON.stringify(se)))}xt.vectorTile=Dt.vectorTile,xt.parse(Dt.vectorTile,this.layerIndex,this.availableImages,this.actor,(se,ae)=>{if(delete this.fetching[ht],se||!ae)return nt(se);nt(null,n.e({rawTileData:Mt.slice(0)},ae,Vt,ie))}),this.loaded=this.loaded||{},this.loaded[ht]=xt,this.fetching[ht]={rawTileData:Mt,cacheControl:Vt,resourceTiming:ie}})}reloadTile(tt,nt){let ht=this.loaded,vt=tt.uid;if(ht&&ht[vt]){let xt=ht[vt];xt.showCollisionBoxes=tt.showCollisionBoxes,xt.status===\"parsing\"?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,(_t,Dt)=>{if(_t||!Dt)return nt(_t,Dt);let Mt;if(this.fetching[vt]){let{rawTileData:Vt,cacheControl:ie,resourceTiming:se}=this.fetching[vt];delete this.fetching[vt],Mt=n.e({rawTileData:Vt.slice(0)},Dt,ie,se)}else Mt=Dt;nt(null,Mt)}):xt.status===\"done\"&&(xt.vectorTile?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,nt):nt())}}abortTile(tt,nt){let ht=this.loading,vt=tt.uid;ht&&ht[vt]&&ht[vt].abort&&(ht[vt].abort(),delete ht[vt]),nt()}removeTile(tt,nt){let ht=this.loaded,vt=tt.uid;ht&&ht[vt]&&delete ht[vt],nt()}}class R{constructor(){this.loaded={}}loadTile(tt,nt){return n._(this,void 0,void 0,function*(){let{uid:ht,encoding:vt,rawImageData:xt,redFactor:_t,greenFactor:Dt,blueFactor:Mt,baseShift:Vt}=tt,ie=xt.width+2,se=xt.height+2,ae=n.a(xt)?new n.R({width:ie,height:se},yield n.bx(xt,-1,-1,ie,se)):xt,lr=new n.by(ht,ae,vt,_t,Dt,Mt,Vt);this.loaded=this.loaded||{},this.loaded[ht]=lr,nt(null,lr)})}removeTile(tt){let nt=this.loaded,ht=tt.uid;nt&&nt[ht]&&delete nt[ht]}}function N(gt,tt){if(gt.length!==0){j(gt[0],tt);for(var nt=1;nt=Math.abs(Dt)?nt-Mt+Dt:Dt-Mt+nt,nt=Mt}nt+ht>=0!=!!tt&>.reverse()}var Q=n.bz(function gt(tt,nt){var ht,vt=tt&&tt.type;if(vt===\"FeatureCollection\")for(ht=0;ht>31}function Li(gt,tt){for(var nt=gt.loadGeometry(),ht=gt.type,vt=0,xt=0,_t=nt.length,Dt=0;Dt<_t;Dt++){var Mt=nt[Dt],Vt=1;ht===1&&(Vt=Mt.length),tt.writeVarint(rr(1,Vt));for(var ie=ht===3?Mt.length-1:Mt.length,se=0;segt},ih=Math.fround||(Uo=new Float32Array(1),gt=>(Uo[0]=+gt,Uo[0]));var Uo;let Si=3,Ns=5,ll=6;class kc{constructor(tt){this.options=Object.assign(Object.create(No),tt),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(tt){let{log:nt,minZoom:ht,maxZoom:vt}=this.options;nt&&console.time(\"total time\");let xt=`prepare ${tt.length} points`;nt&&console.time(xt),this.points=tt;let _t=[];for(let Mt=0;Mt=ht;Mt--){let Vt=+Date.now();Dt=this.trees[Mt]=this._createTree(this._cluster(Dt,Mt)),nt&&console.log(\"z%d: %d clusters in %dms\",Mt,Dt.numItems,+Date.now()-Vt)}return nt&&console.timeEnd(\"total time\"),this}getClusters(tt,nt){let ht=((tt[0]+180)%360+360)%360-180,vt=Math.max(-90,Math.min(90,tt[1])),xt=tt[2]===180?180:((tt[2]+180)%360+360)%360-180,_t=Math.max(-90,Math.min(90,tt[3]));if(tt[2]-tt[0]>=360)ht=-180,xt=180;else if(ht>xt){let se=this.getClusters([ht,vt,180,_t],nt),ae=this.getClusters([-180,vt,xt,_t],nt);return se.concat(ae)}let Dt=this.trees[this._limitZoom(nt)],Mt=Dt.range(Jn(ht),ki(_t),Jn(xt),ki(vt)),Vt=Dt.data,ie=[];for(let se of Mt){let ae=this.stride*se;ie.push(Vt[ae+Ns]>1?Rc(Vt,ae,this.clusterProps):this.points[Vt[ae+Si]])}return ie}getChildren(tt){let nt=this._getOriginId(tt),ht=this._getOriginZoom(tt),vt=\"No cluster with the specified id.\",xt=this.trees[ht];if(!xt)throw new Error(vt);let _t=xt.data;if(nt*this.stride>=_t.length)throw new Error(vt);let Dt=this.options.radius/(this.options.extent*Math.pow(2,ht-1)),Mt=xt.within(_t[nt*this.stride],_t[nt*this.stride+1],Dt),Vt=[];for(let ie of Mt){let se=ie*this.stride;_t[se+4]===tt&&Vt.push(_t[se+Ns]>1?Rc(_t,se,this.clusterProps):this.points[_t[se+Si]])}if(Vt.length===0)throw new Error(vt);return Vt}getLeaves(tt,nt,ht){let vt=[];return this._appendLeaves(vt,tt,nt=nt||10,ht=ht||0,0),vt}getTile(tt,nt,ht){let vt=this.trees[this._limitZoom(tt)],xt=Math.pow(2,tt),{extent:_t,radius:Dt}=this.options,Mt=Dt/_t,Vt=(ht-Mt)/xt,ie=(ht+1+Mt)/xt,se={features:[]};return this._addTileFeatures(vt.range((nt-Mt)/xt,Vt,(nt+1+Mt)/xt,ie),vt.data,nt,ht,xt,se),nt===0&&this._addTileFeatures(vt.range(1-Mt/xt,Vt,1,ie),vt.data,xt,ht,xt,se),nt===xt-1&&this._addTileFeatures(vt.range(0,Vt,Mt/xt,ie),vt.data,-1,ht,xt,se),se.features.length?se:null}getClusterExpansionZoom(tt){let nt=this._getOriginZoom(tt)-1;for(;nt<=this.options.maxZoom;){let ht=this.getChildren(tt);if(nt++,ht.length!==1)break;tt=ht[0].properties.cluster_id}return nt}_appendLeaves(tt,nt,ht,vt,xt){let _t=this.getChildren(nt);for(let Dt of _t){let Mt=Dt.properties;if(Mt&&Mt.cluster?xt+Mt.point_count<=vt?xt+=Mt.point_count:xt=this._appendLeaves(tt,Mt.cluster_id,ht,vt,xt):xt1,ie,se,ae;if(Vt)ie=Xi(nt,Mt,this.clusterProps),se=nt[Mt],ae=nt[Mt+1];else{let Xe=this.points[nt[Mt+Si]];ie=Xe.properties;let[cr,wr]=Xe.geometry.coordinates;se=Jn(cr),ae=ki(wr)}let lr={type:1,geometry:[[Math.round(this.options.extent*(se*xt-ht)),Math.round(this.options.extent*(ae*xt-vt))]],tags:ie},vr;vr=Vt||this.options.generateId?nt[Mt+Si]:this.points[nt[Mt+Si]].id,vr!==void 0&&(lr.id=vr),_t.features.push(lr)}}_limitZoom(tt){return Math.max(this.options.minZoom,Math.min(Math.floor(+tt),this.options.maxZoom+1))}_cluster(tt,nt){let{radius:ht,extent:vt,reduce:xt,minPoints:_t}=this.options,Dt=ht/(vt*Math.pow(2,nt)),Mt=tt.data,Vt=[],ie=this.stride;for(let se=0;sent&&(cr+=Mt[xi+Ns])}if(cr>Xe&&cr>=_t){let wr,xi=ae*Xe,zi=lr*Xe,ni=-1,Hr=((se/ie|0)<<5)+(nt+1)+this.points.length;for(let jn of vr){let Bi=jn*ie;if(Mt[Bi+2]<=nt)continue;Mt[Bi+2]=nt;let xn=Mt[Bi+Ns];xi+=Mt[Bi]*xn,zi+=Mt[Bi+1]*xn,Mt[Bi+4]=Hr,xt&&(wr||(wr=this._map(Mt,se,!0),ni=this.clusterProps.length,this.clusterProps.push(wr)),xt(wr,this._map(Mt,Bi)))}Mt[se+4]=Hr,Vt.push(xi/cr,zi/cr,1/0,Hr,-1,cr),xt&&Vt.push(ni)}else{for(let wr=0;wr1)for(let wr of vr){let xi=wr*ie;if(!(Mt[xi+2]<=nt)){Mt[xi+2]=nt;for(let zi=0;zi>5}_getOriginZoom(tt){return(tt-this.points.length)%32}_map(tt,nt,ht){if(tt[nt+Ns]>1){let _t=this.clusterProps[tt[nt+ll]];return ht?Object.assign({},_t):_t}let vt=this.points[tt[nt+Si]].properties,xt=this.options.map(vt);return ht&&xt===vt?Object.assign({},xt):xt}}function Rc(gt,tt,nt){return{type:\"Feature\",id:gt[tt+Si],properties:Xi(gt,tt,nt),geometry:{type:\"Point\",coordinates:[(ht=gt[tt],360*(ht-.5)),ts(gt[tt+1])]}};var ht}function Xi(gt,tt,nt){let ht=gt[tt+Ns],vt=ht>=1e4?`${Math.round(ht/1e3)}k`:ht>=1e3?Math.round(ht/100)/10+\"k\":ht,xt=gt[tt+ll],_t=xt===-1?{}:Object.assign({},nt[xt]);return Object.assign(_t,{cluster:!0,cluster_id:gt[tt+Si],point_count:ht,point_count_abbreviated:vt})}function Jn(gt){return gt/360+.5}function ki(gt){let tt=Math.sin(gt*Math.PI/180),nt=.5-.25*Math.log((1+tt)/(1-tt))/Math.PI;return nt<0?0:nt>1?1:nt}function ts(gt){let tt=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(tt))/Math.PI-90}function Vo(gt,tt,nt,ht){for(var vt,xt=ht,_t=nt-tt>>1,Dt=nt-tt,Mt=gt[tt],Vt=gt[tt+1],ie=gt[nt],se=gt[nt+1],ae=tt+3;aext)vt=ae,xt=lr;else if(lr===xt){var vr=Math.abs(ae-_t);vrht&&(vt-tt>3&&Vo(gt,tt,vt,ht),gt[vt+2]=xt,nt-vt>3&&Vo(gt,vt,nt,ht))}function cl(gt,tt,nt,ht,vt,xt){var _t=vt-nt,Dt=xt-ht;if(_t!==0||Dt!==0){var Mt=((gt-nt)*_t+(tt-ht)*Dt)/(_t*_t+Dt*Dt);Mt>1?(nt=vt,ht=xt):Mt>0&&(nt+=_t*Mt,ht+=Dt*Mt)}return(_t=gt-nt)*_t+(Dt=tt-ht)*Dt}function xo(gt,tt,nt,ht){var vt={id:gt===void 0?null:gt,type:tt,geometry:nt,tags:ht,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(xt){var _t=xt.geometry,Dt=xt.type;if(Dt===\"Point\"||Dt===\"MultiPoint\"||Dt===\"LineString\")Pa(xt,_t);else if(Dt===\"Polygon\"||Dt===\"MultiLineString\")for(var Mt=0;Mt<_t.length;Mt++)Pa(xt,_t[Mt]);else if(Dt===\"MultiPolygon\")for(Mt=0;Mt<_t.length;Mt++)for(var Vt=0;Vt<_t[Mt].length;Vt++)Pa(xt,_t[Mt][Vt])}(vt),vt}function Pa(gt,tt){for(var nt=0;nt0&&(_t+=ht?(vt*Vt-Mt*xt)/2:Math.sqrt(Math.pow(Mt-vt,2)+Math.pow(Vt-xt,2))),vt=Mt,xt=Vt}var ie=tt.length-3;tt[2]=1,Vo(tt,0,ie,nt),tt[ie+2]=1,tt.size=Math.abs(_t),tt.start=0,tt.end=tt.size}function Nl(gt,tt,nt,ht){for(var vt=0;vt1?1:nt}function mn(gt,tt,nt,ht,vt,xt,_t,Dt){if(ht/=tt,xt>=(nt/=tt)&&_t=ht)return null;for(var Mt=[],Vt=0;Vt=nt&&vr=ht)){var Xe=[];if(ae===\"Point\"||ae===\"MultiPoint\")gi(se,Xe,nt,ht,vt);else if(ae===\"LineString\")oi(se,Xe,nt,ht,vt,!1,Dt.lineMetrics);else if(ae===\"MultiLineString\")du(se,Xe,nt,ht,vt,!1);else if(ae===\"Polygon\")du(se,Xe,nt,ht,vt,!0);else if(ae===\"MultiPolygon\")for(var cr=0;cr=nt&&_t<=ht&&(tt.push(gt[xt]),tt.push(gt[xt+1]),tt.push(gt[xt+2]))}}function oi(gt,tt,nt,ht,vt,xt,_t){for(var Dt,Mt,Vt=lo(gt),ie=vt===0?bo:hl,se=gt.start,ae=0;aent&&(Mt=ie(Vt,lr,vr,cr,wr,nt),_t&&(Vt.start=se+Dt*Mt)):xi>ht?zi=nt&&(Mt=ie(Vt,lr,vr,cr,wr,nt),ni=!0),zi>ht&&xi<=ht&&(Mt=ie(Vt,lr,vr,cr,wr,ht),ni=!0),!xt&&ni&&(_t&&(Vt.end=se+Dt*Mt),tt.push(Vt),Vt=lo(gt)),_t&&(se+=Dt)}var Hr=gt.length-3;lr=gt[Hr],vr=gt[Hr+1],Xe=gt[Hr+2],(xi=vt===0?lr:vr)>=nt&&xi<=ht&&ul(Vt,lr,vr,Xe),Hr=Vt.length-3,xt&&Hr>=3&&(Vt[Hr]!==Vt[0]||Vt[Hr+1]!==Vt[1])&&ul(Vt,Vt[0],Vt[1],Vt[2]),Vt.length&&tt.push(Vt)}function lo(gt){var tt=[];return tt.size=gt.size,tt.start=gt.start,tt.end=gt.end,tt}function du(gt,tt,nt,ht,vt,xt){for(var _t=0;_t_t.maxX&&(_t.maxX=ie),se>_t.maxY&&(_t.maxY=se)}return _t}function Ul(gt,tt,nt,ht){var vt=tt.geometry,xt=tt.type,_t=[];if(xt===\"Point\"||xt===\"MultiPoint\")for(var Dt=0;Dt0&&tt.size<(vt?_t:ht))nt.numPoints+=tt.length/3;else{for(var Dt=[],Mt=0;Mt_t)&&(nt.numSimplified++,Dt.push(tt[Mt]),Dt.push(tt[Mt+1])),nt.numPoints++;vt&&function(Vt,ie){for(var se=0,ae=0,lr=Vt.length,vr=lr-2;ae0===ie)for(ae=0,lr=Vt.length;ae24)throw new Error(\"maxZoom should be in the 0-24 range\");if(tt.promoteId&&tt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var ht=function(vt,xt){var _t=[];if(vt.type===\"FeatureCollection\")for(var Dt=0;Dt1&&console.time(\"creation\"),ae=this.tiles[se]=gn(gt,tt,nt,ht,Mt),this.tileCoords.push({z:tt,x:nt,y:ht}),Vt)){Vt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",tt,nt,ht,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd(\"creation\"));var lr=\"z\"+tt;this.stats[lr]=(this.stats[lr]||0)+1,this.total++}if(ae.source=gt,vt){if(tt===Mt.maxZoom||tt===vt)continue;var vr=1<1&&console.time(\"clipping\");var Xe,cr,wr,xi,zi,ni,Hr=.5*Mt.buffer/Mt.extent,jn=.5-Hr,Bi=.5+Hr,xn=1+Hr;Xe=cr=wr=xi=null,zi=mn(gt,ie,nt-Hr,nt+Bi,0,ae.minX,ae.maxX,Mt),ni=mn(gt,ie,nt+jn,nt+xn,0,ae.minX,ae.maxX,Mt),gt=null,zi&&(Xe=mn(zi,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),cr=mn(zi,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),zi=null),ni&&(wr=mn(ni,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),xi=mn(ni,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),ni=null),Vt>1&&console.timeEnd(\"clipping\"),Dt.push(Xe||[],tt+1,2*nt,2*ht),Dt.push(cr||[],tt+1,2*nt,2*ht+1),Dt.push(wr||[],tt+1,2*nt+1,2*ht),Dt.push(xi||[],tt+1,2*nt+1,2*ht+1)}}},Te.prototype.getTile=function(gt,tt,nt){var ht=this.options,vt=ht.extent,xt=ht.debug;if(gt<0||gt>24)return null;var _t=1<1&&console.log(\"drilling down to z%d-%d-%d\",gt,tt,nt);for(var Mt,Vt=gt,ie=tt,se=nt;!Mt&&Vt>0;)Vt--,ie=Math.floor(ie/2),se=Math.floor(se/2),Mt=this.tiles[Dr(Vt,ie,se)];return Mt&&Mt.source?(xt>1&&console.log(\"found parent tile z%d-%d-%d\",Vt,ie,se),xt>1&&console.time(\"drilling down\"),this.splitTile(Mt.source,Vt,ie,se,gt,tt,nt),xt>1&&console.timeEnd(\"drilling down\"),this.tiles[Dt]?ve(this.tiles[Dt],vt):null):null};class Mr extends I{constructor(tt,nt,ht,vt){super(tt,nt,ht),this._dataUpdateable=new Map,this.loadGeoJSON=(xt,_t)=>{let{promoteId:Dt}=xt;if(xt.request)return n.f(xt.request,(Mt,Vt,ie,se)=>{this._dataUpdateable=Us(Vt,Dt)?La(Vt,Dt):void 0,_t(Mt,Vt,ie,se)});if(typeof xt.data==\"string\")try{let Mt=JSON.parse(xt.data);this._dataUpdateable=Us(Mt,Dt)?La(Mt,Dt):void 0,_t(null,Mt)}catch{_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`))}else xt.dataDiff?this._dataUpdateable?(function(Mt,Vt,ie){var se,ae,lr,vr;if(Vt.removeAll&&Mt.clear(),Vt.remove)for(let Xe of Vt.remove)Mt.delete(Xe);if(Vt.add)for(let Xe of Vt.add){let cr=gr(Xe,ie);cr!=null&&Mt.set(cr,Xe)}if(Vt.update)for(let Xe of Vt.update){let cr=Mt.get(Xe.id);if(cr==null)continue;let wr=!Xe.removeAllProperties&&(((se=Xe.removeProperties)===null||se===void 0?void 0:se.length)>0||((ae=Xe.addOrUpdateProperties)===null||ae===void 0?void 0:ae.length)>0);if((Xe.newGeometry||Xe.removeAllProperties||wr)&&(cr=Object.assign({},cr),Mt.set(Xe.id,cr),wr&&(cr.properties=Object.assign({},cr.properties))),Xe.newGeometry&&(cr.geometry=Xe.newGeometry),Xe.removeAllProperties)cr.properties={};else if(((lr=Xe.removeProperties)===null||lr===void 0?void 0:lr.length)>0)for(let xi of Xe.removeProperties)Object.prototype.hasOwnProperty.call(cr.properties,xi)&&delete cr.properties[xi];if(((vr=Xe.addOrUpdateProperties)===null||vr===void 0?void 0:vr.length)>0)for(let{key:xi,value:zi}of Xe.addOrUpdateProperties)cr.properties[xi]=zi}}(this._dataUpdateable,xt.dataDiff,Dt),_t(null,{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())})):_t(new Error(`Cannot update existing geojson data in ${xt.source}`)):_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},this.loadVectorData=this.loadGeoJSONTile,vt&&(this.loadGeoJSON=vt)}loadGeoJSONTile(tt,nt){let ht=tt.tileID.canonical;if(!this._geoJSONIndex)return nt(null,null);let vt=this._geoJSONIndex.getTile(ht.z,ht.x,ht.y);if(!vt)return nt(null,null);let xt=new class{constructor(Dt){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=n.N,this.length=Dt.length,this._features=Dt}feature(Dt){return new class{constructor(Mt){this._feature=Mt,this.extent=n.N,this.type=Mt.type,this.properties=Mt.tags,\"id\"in Mt&&!isNaN(Mt.id)&&(this.id=parseInt(Mt.id,10))}loadGeometry(){if(this._feature.type===1){let Mt=[];for(let Vt of this._feature.geometry)Mt.push([new n.P(Vt[0],Vt[1])]);return Mt}{let Mt=[];for(let Vt of this._feature.geometry){let ie=[];for(let se of Vt)ie.push(new n.P(se[0],se[1]));Mt.push(ie)}return Mt}}toGeoJSON(Mt,Vt,ie){return et.call(this,Mt,Vt,ie)}}(this._features[Dt])}}(vt.features),_t=zl(xt);_t.byteOffset===0&&_t.byteLength===_t.buffer.byteLength||(_t=new Uint8Array(_t)),nt(null,{vectorTile:xt,rawData:_t.buffer})}loadData(tt,nt){var ht;(ht=this._pendingRequest)===null||ht===void 0||ht.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request);this._pendingCallback=nt,this._pendingRequest=this.loadGeoJSON(tt,(xt,_t)=>{if(delete this._pendingCallback,delete this._pendingRequest,xt||!_t)return nt(xt);if(typeof _t!=\"object\")return nt(new Error(`Input data given to '${tt.source}' is not a valid GeoJSON object.`));{Q(_t,!0);try{if(tt.filter){let Mt=n.bC(tt.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Mt.result===\"error\")throw new Error(Mt.value.map(ie=>`${ie.key}: ${ie.message}`).join(\", \"));_t={type:\"FeatureCollection\",features:_t.features.filter(ie=>Mt.value.evaluate({zoom:0},ie))}}this._geoJSONIndex=tt.cluster?new kc(function({superclusterOptions:Mt,clusterProperties:Vt}){if(!Vt||!Mt)return Mt;let ie={},se={},ae={accumulated:null,zoom:0},lr={properties:null},vr=Object.keys(Vt);for(let Xe of vr){let[cr,wr]=Vt[Xe],xi=n.bC(wr),zi=n.bC(typeof cr==\"string\"?[cr,[\"accumulated\"],[\"get\",Xe]]:cr);ie[Xe]=xi.value,se[Xe]=zi.value}return Mt.map=Xe=>{lr.properties=Xe;let cr={};for(let wr of vr)cr[wr]=ie[wr].evaluate(ae,lr);return cr},Mt.reduce=(Xe,cr)=>{lr.properties=cr;for(let wr of vr)ae.accumulated=Xe[wr],Xe[wr]=se[wr].evaluate(ae,lr)},Mt}(tt)).load(_t.features):function(Mt,Vt){return new Te(Mt,Vt)}(_t,tt.geojsonVtOptions)}catch(Mt){return nt(Mt)}this.loaded={};let Dt={};if(vt){let Mt=vt.finish();Mt&&(Dt.resourceTiming={},Dt.resourceTiming[tt.source]=JSON.parse(JSON.stringify(Mt)))}nt(null,Dt)}})}reloadTile(tt,nt){let ht=this.loaded;return ht&&ht[tt.uid]?super.reloadTile(tt,nt):this.loadTile(tt,nt)}removeSource(tt,nt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),nt()}getClusterExpansionZoom(tt,nt){try{nt(null,this._geoJSONIndex.getClusterExpansionZoom(tt.clusterId))}catch(ht){nt(ht)}}getClusterChildren(tt,nt){try{nt(null,this._geoJSONIndex.getChildren(tt.clusterId))}catch(ht){nt(ht)}}getClusterLeaves(tt,nt){try{nt(null,this._geoJSONIndex.getLeaves(tt.clusterId,tt.limit,tt.offset))}catch(ht){nt(ht)}}}class sa{constructor(tt){this.self=tt,this.actor=new n.C(tt,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:I,geojson:Mr},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(nt,ht)=>{if(this.workerSourceTypes[nt])throw new Error(`Worker source with name \"${nt}\" already registered.`);this.workerSourceTypes[nt]=ht},this.self.registerRTLTextPlugin=nt=>{if(n.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");n.bD.applyArabicShaping=nt.applyArabicShaping,n.bD.processBidirectionalText=nt.processBidirectionalText,n.bD.processStyledBidirectionalText=nt.processStyledBidirectionalText}}setReferrer(tt,nt){this.referrer=nt}setImages(tt,nt,ht){this.availableImages[tt]=nt;for(let vt in this.workerSources[tt]){let xt=this.workerSources[tt][vt];for(let _t in xt)xt[_t].availableImages=nt}ht()}setLayers(tt,nt,ht){this.getLayerIndex(tt).replace(nt),ht()}updateLayers(tt,nt,ht){this.getLayerIndex(tt).update(nt.layers,nt.removedIds),ht()}loadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).loadTile(nt,ht)}loadDEMTile(tt,nt,ht){this.getDEMWorkerSource(tt,nt.source).loadTile(nt,ht)}reloadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).reloadTile(nt,ht)}abortTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).abortTile(nt,ht)}removeTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).removeTile(nt,ht)}removeDEMTile(tt,nt){this.getDEMWorkerSource(tt,nt.source).removeTile(nt)}removeSource(tt,nt,ht){if(!this.workerSources[tt]||!this.workerSources[tt][nt.type]||!this.workerSources[tt][nt.type][nt.source])return;let vt=this.workerSources[tt][nt.type][nt.source];delete this.workerSources[tt][nt.type][nt.source],vt.removeSource!==void 0?vt.removeSource(nt,ht):ht()}loadWorkerSource(tt,nt,ht){try{this.self.importScripts(nt.url),ht()}catch(vt){ht(vt.toString())}}syncRTLPluginState(tt,nt,ht){try{n.bD.setState(nt);let vt=n.bD.getPluginURL();if(n.bD.isLoaded()&&!n.bD.isParsed()&&vt!=null){this.self.importScripts(vt);let xt=n.bD.isParsed();ht(xt?void 0:new Error(`RTL Text Plugin failed to import scripts from ${vt}`),xt)}}catch(vt){ht(vt.toString())}}getAvailableImages(tt){let nt=this.availableImages[tt];return nt||(nt=[]),nt}getLayerIndex(tt){let nt=this.layerIndexes[tt];return nt||(nt=this.layerIndexes[tt]=new o),nt}getWorkerSource(tt,nt,ht){return this.workerSources[tt]||(this.workerSources[tt]={}),this.workerSources[tt][nt]||(this.workerSources[tt][nt]={}),this.workerSources[tt][nt][ht]||(this.workerSources[tt][nt][ht]=new this.workerSourceTypes[nt]({send:(vt,xt,_t)=>{this.actor.send(vt,xt,_t,tt)}},this.getLayerIndex(tt),this.getAvailableImages(tt))),this.workerSources[tt][nt][ht]}getDEMWorkerSource(tt,nt){return this.demWorkerSources[tt]||(this.demWorkerSources[tt]={}),this.demWorkerSources[tt][nt]||(this.demWorkerSources[tt][nt]=new R),this.demWorkerSources[tt][nt]}}return n.i()&&(self.worker=new sa(self)),sa}),i([\"./shared\"],function(n){\"use strict\";var o=\"3.6.2\";class c{static testProp(l){if(!c.docStyle)return l[0];for(let d=0;d{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static mousePos(l,d){let v=l.getBoundingClientRect();return new n.P(d.clientX-v.left-l.clientLeft,d.clientY-v.top-l.clientTop)}static touchPos(l,d){let v=l.getBoundingClientRect(),b=[];for(let M=0;M{l=[],d=0,v=0,b={}},T.addThrottleControl=W=>{let Z=v++;return b[Z]=W,Z},T.removeThrottleControl=W=>{delete b[W],B()},T.getImage=(W,Z,$=!0)=>{f.supported&&(W.headers||(W.headers={}),W.headers.accept=\"image/webp,*/*\");let st={requestParameters:W,supportImageRefresh:$,callback:Z,cancelled:!1,completed:!1,cancel:()=>{st.completed||st.cancelled||(st.cancelled=!0,st.innerRequest&&(st.innerRequest.cancel(),d--),B())}};return l.push(st),B(),st};let M=W=>{let{requestParameters:Z,supportImageRefresh:$,callback:st}=W;return n.e(Z,{type:\"image\"}),($!==!1||n.i()||n.g(Z.url)||Z.headers&&!Object.keys(Z.headers).reduce((At,pt)=>At&&pt===\"accept\",!0)?n.m:U)(Z,(At,pt,yt,dt)=>{O(W,st,At,pt,yt,dt)})},O=(W,Z,$,st,At,pt)=>{$?Z($):st instanceof HTMLImageElement||n.a(st)?Z(null,st):st&&((yt,dt)=>{typeof createImageBitmap==\"function\"?n.b(yt,dt):n.d(yt,dt)})(st,(yt,dt)=>{yt!=null?Z(yt):dt!=null&&Z(null,dt,{cacheControl:At,expires:pt})}),W.cancelled||(W.completed=!0,d--,B())},B=()=>{let W=(()=>{let Z=Object.keys(b),$=!1;if(Z.length>0){for(let st of Z)if($=b[st](),$)break}return $})()?n.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:n.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let Z=d;Z0;Z++){let $=l.shift();if($.cancelled){Z--;continue}let st=M($);d++,$.innerRequest=st}},U=(W,Z)=>{let $=new Image,st=W.url,At=!1,pt=W.credentials;return pt&&pt===\"include\"?$.crossOrigin=\"use-credentials\":(pt&&pt===\"same-origin\"||!n.s(st))&&($.crossOrigin=\"anonymous\"),$.fetchPriority=\"high\",$.onload=()=>{Z(null,$),$.onerror=$.onload=null},$.onerror=()=>{At||Z(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\")),$.onerror=$.onload=null},$.src=st,{cancel:()=>{At=!0,$.src=\"\"}}}}(j||(j={})),j.resetRequestQueue(),function(T){T.Glyphs=\"Glyphs\",T.Image=\"Image\",T.Source=\"Source\",T.SpriteImage=\"SpriteImage\",T.SpriteJSON=\"SpriteJSON\",T.Style=\"Style\",T.Tile=\"Tile\",T.Unknown=\"Unknown\"}(Q||(Q={}));class et{constructor(l){this._transformRequestFn=l}transformRequest(l,d){return this._transformRequestFn&&this._transformRequestFn(l,d)||{url:l}}normalizeSpriteURL(l,d,v){let b=function(M){let O=M.match(Y);if(!O)throw new Error(`Unable to parse URL \"${M}\"`);return{protocol:O[1],authority:O[2],path:O[3]||\"/\",params:O[4]?O[4].split(\"&\"):[]}}(l);return b.path+=`${d}${v}`,function(M){let O=M.params.length?`?${M.params.join(\"&\")}`:\"\";return`${M.protocol}://${M.authority}${M.path}${O}`}(b)}setTransformRequest(l){this._transformRequestFn=l}}let Y=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function K(T){var l=new n.A(3);return l[0]=T[0],l[1]=T[1],l[2]=T[2],l}var J,ut=function(T,l,d){return T[0]=l[0]-d[0],T[1]=l[1]-d[1],T[2]=l[2]-d[2],T};J=new n.A(3),n.A!=Float32Array&&(J[0]=0,J[1]=0,J[2]=0);var Et=function(T){var l=T[0],d=T[1];return l*l+d*d};function kt(T){let l=[];if(typeof T==\"string\")l.push({id:\"default\",url:T});else if(T&&T.length>0){let d=[];for(let{id:v,url:b}of T){let M=`${v}${b}`;d.indexOf(M)===-1&&(d.push(M),l.push({id:v,url:b}))}}return l}function Xt(T,l,d,v,b){if(v)return void T(v);if(b!==Object.values(l).length||b!==Object.values(d).length)return;let M={};for(let O in l){M[O]={};let B=n.h.getImageCanvasContext(d[O]),U=l[O];for(let W in U){let{width:Z,height:$,x:st,y:At,sdf:pt,pixelRatio:yt,stretchX:dt,stretchY:Ft,content:Ht}=U[W];M[O][W]={data:null,pixelRatio:yt,sdf:pt,stretchX:dt,stretchY:Ft,content:Ht,spriteData:{width:Z,height:$,x:st,y:At,context:B}}}}T(null,M)}(function(){var T=new n.A(2);n.A!=Float32Array&&(T[0]=0,T[1]=0)})();class qt{constructor(l,d,v,b){this.context=l,this.format=v,this.texture=l.gl.createTexture(),this.update(d,b)}update(l,d,v){let{width:b,height:M}=l,O=!(this.size&&this.size[0]===b&&this.size[1]===M||v),{context:B}=this,{gl:U}=B;if(this.useMipmap=!!(d&&d.useMipmap),U.bindTexture(U.TEXTURE_2D,this.texture),B.pixelStoreUnpackFlipY.set(!1),B.pixelStoreUnpack.set(1),B.pixelStoreUnpackPremultiplyAlpha.set(this.format===U.RGBA&&(!d||d.premultiply!==!1)),O)this.size=[b,M],l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texImage2D(U.TEXTURE_2D,0,this.format,this.format,U.UNSIGNED_BYTE,l):U.texImage2D(U.TEXTURE_2D,0,this.format,b,M,0,this.format,U.UNSIGNED_BYTE,l.data);else{let{x:W,y:Z}=v||{x:0,y:0};l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texSubImage2D(U.TEXTURE_2D,0,W,Z,U.RGBA,U.UNSIGNED_BYTE,l):U.texSubImage2D(U.TEXTURE_2D,0,W,Z,b,M,U.RGBA,U.UNSIGNED_BYTE,l.data)}this.useMipmap&&this.isSizePowerOfTwo()&&U.generateMipmap(U.TEXTURE_2D)}bind(l,d,v){let{context:b}=this,{gl:M}=b;M.bindTexture(M.TEXTURE_2D,this.texture),v!==M.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(v=M.LINEAR),l!==this.filter&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MAG_FILTER,l),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MIN_FILTER,v||l),this.filter=l),d!==this.wrap&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_S,d),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_T,d),this.wrap=d)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:l}=this.context;l.deleteTexture(this.texture),this.texture=null}}function le(T){let{userImage:l}=T;return!!(l&&l.render&&l.render())&&(T.data.replace(new Uint8Array(l.data.buffer)),!0)}class ue extends n.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new n.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(l){if(this.loaded!==l&&(this.loaded=l,l)){for(let{ids:d,callback:v}of this.requestors)this._notify(d,v);this.requestors=[]}}getImage(l){let d=this.images[l];if(d&&!d.data&&d.spriteData){let v=d.spriteData;d.data=new n.R({width:v.width,height:v.height},v.context.getImageData(v.x,v.y,v.width,v.height).data),d.spriteData=null}return d}addImage(l,d){if(this.images[l])throw new Error(`Image id ${l} already exist, use updateImage instead`);this._validate(l,d)&&(this.images[l]=d)}_validate(l,d){let v=!0,b=d.data||d.spriteData;return this._validateStretch(d.stretchX,b&&b.width)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchX\" value`))),v=!1),this._validateStretch(d.stretchY,b&&b.height)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchY\" value`))),v=!1),this._validateContent(d.content,d)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"content\" value`))),v=!1),v}_validateStretch(l,d){if(!l)return!0;let v=0;for(let b of l){if(b[0]-1);U++,M[U]=B,O[U]=W,O[U+1]=De}for(let B=0,U=0;B{let B=this.entries[b];B||(B=this.entries[b]={glyphs:{},requests:{},ranges:{}});let U=B.glyphs[M];if(U!==void 0)return void O(null,{stack:b,id:M,glyph:U});if(U=this._tinySDF(B,b,M),U)return B.glyphs[M]=U,void O(null,{stack:b,id:M,glyph:U});let W=Math.floor(M/256);if(256*W>65535)return void O(new Error(\"glyphs > 65535 not supported\"));if(B.ranges[W])return void O(null,{stack:b,id:M,glyph:U});if(!this.url)return void O(new Error(\"glyphsUrl is not set\"));let Z=B.requests[W];Z||(Z=B.requests[W]=[],Sr.loadGlyphRange(b,W,this.url,this.requestManager,($,st)=>{if(st){for(let At in st)this._doesCharSupportLocalGlyph(+At)||(B.glyphs[+At]=st[+At]);B.ranges[W]=!0}for(let At of Z)At($,st);delete B.requests[W]})),Z.push(($,st)=>{$?O($):st&&O(null,{stack:b,id:M,glyph:st[M]||null})})},(b,M)=>{if(b)d(b);else if(M){let O={};for(let{stack:B,id:U,glyph:W}of M)(O[B]||(O[B]={}))[U]=W&&{id:W.id,bitmap:W.bitmap.clone(),metrics:W.metrics};d(null,O)}})}_doesCharSupportLocalGlyph(l){return!!this.localIdeographFontFamily&&(n.u[\"CJK Unified Ideographs\"](l)||n.u[\"Hangul Syllables\"](l)||n.u.Hiragana(l)||n.u.Katakana(l))}_tinySDF(l,d,v){let b=this.localIdeographFontFamily;if(!b||!this._doesCharSupportLocalGlyph(v))return;let M=l.tinySDF;if(!M){let B=\"400\";/bold/i.test(d)?B=\"900\":/medium/i.test(d)?B=\"500\":/light/i.test(d)&&(B=\"200\"),M=l.tinySDF=new Sr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:b,fontWeight:B})}let O=M.draw(String.fromCharCode(v));return{id:v,bitmap:new n.q({width:O.width||60,height:O.height||60},O.data),metrics:{width:O.glyphWidth/2||24,height:O.glyphHeight/2||24,left:O.glyphLeft/2+.5||0,top:O.glyphTop/2-27.5||-8,advance:O.glyphAdvance/2||24,isDoubleResolution:!0}}}}Sr.loadGlyphRange=function(T,l,d,v,b){let M=256*l,O=M+255,B=v.transformRequest(d.replace(\"{fontstack}\",T).replace(\"{range}\",`${M}-${O}`),Q.Glyphs);n.l(B,(U,W)=>{if(U)b(U);else if(W){let Z={};for(let $ of n.n(W))Z[$.id]=$;b(null,Z)}})},Sr.TinySDF=class{constructor({fontSize:T=24,buffer:l=3,radius:d=8,cutoff:v=.25,fontFamily:b=\"sans-serif\",fontWeight:M=\"normal\",fontStyle:O=\"normal\"}={}){this.buffer=l,this.cutoff=v,this.radius=d;let B=this.size=T+4*l,U=this._createCanvas(B),W=this.ctx=U.getContext(\"2d\",{willReadFrequently:!0});W.font=`${O} ${M} ${T}px ${b}`,W.textBaseline=\"alphabetic\",W.textAlign=\"left\",W.fillStyle=\"black\",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B)}_createCanvas(T){let l=document.createElement(\"canvas\");return l.width=l.height=T,l}draw(T){let{width:l,actualBoundingBoxAscent:d,actualBoundingBoxDescent:v,actualBoundingBoxLeft:b,actualBoundingBoxRight:M}=this.ctx.measureText(T),O=Math.ceil(d),B=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(M-b))),U=Math.min(this.size-this.buffer,O+Math.ceil(v)),W=B+2*this.buffer,Z=U+2*this.buffer,$=Math.max(W*Z,0),st=new Uint8ClampedArray($),At={data:st,width:W,height:Z,glyphWidth:B,glyphHeight:U,glyphTop:O,glyphLeft:0,glyphAdvance:l};if(B===0||U===0)return At;let{ctx:pt,buffer:yt,gridInner:dt,gridOuter:Ft}=this;pt.clearRect(yt,yt,B,U),pt.fillText(T,yt,yt+O);let Ht=pt.getImageData(yt,yt,B,U);Ft.fill(De,0,$),dt.fill(0,0,$);for(let St=0;St0?oe*oe:0,dt[$t]=oe<0?oe*oe:0}}Ke(Ft,0,0,W,Z,W,this.f,this.v,this.z),Ke(dt,yt,yt,B,U,W,this.f,this.v,this.z);for(let St=0;St<$;St++){let Bt=Math.sqrt(Ft[St])-Math.sqrt(dt[St]);st[St]=Math.round(255-255*(Bt/this.radius+this.cutoff))}return At}};class Li{constructor(){this.specification=n.v.light.position}possiblyEvaluate(l,d){return n.z(l.expression.evaluate(d))}interpolate(l,d,v){return{x:n.B.number(l.x,d.x,v),y:n.B.number(l.y,d.y,v),z:n.B.number(l.z,d.z,v)}}}let oo;class zl extends n.E{constructor(l){super(),oo=oo||new n.r({anchor:new n.D(n.v.light.anchor),position:new Li,color:new n.D(n.v.light.color),intensity:new n.D(n.v.light.intensity)}),this._transitionable=new n.T(oo),this.setLight(l),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(l,d={}){if(!this._validate(n.t,l,d))for(let v in l){let b=l[v];v.endsWith(\"-transition\")?this._transitionable.setTransition(v.slice(0,-11),b):this._transitionable.setValue(v,b)}}updateTransitions(l){this._transitioning=this._transitionable.transitioned(l,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(l){this.properties=this._transitioning.possiblyEvaluate(l)}_validate(l,d,v){return(!v||v.validate!==!1)&&n.x(this,l.call(n.y,n.e({value:d,style:{glyphs:!0,sprite:!0},styleSpec:n.v})))}}class No{constructor(l,d){this.width=l,this.height=d,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(l,d){let v=l.join(\",\")+String(d);return this.dashEntry[v]||(this.dashEntry[v]=this.addDash(l,d)),this.dashEntry[v]}getDashRanges(l,d,v){let b=[],M=l.length%2==1?-l[l.length-1]*v:0,O=l[0]*v,B=!0;b.push({left:M,right:O,isDash:B,zeroLength:l[0]===0});let U=l[0];for(let W=1;W1&&(U=l[++B]);let Z=Math.abs(W-U.left),$=Math.abs(W-U.right),st=Math.min(Z,$),At,pt=M/v*(b+1);if(U.isDash){let yt=b-Math.abs(pt);At=Math.sqrt(st*st+yt*yt)}else At=b-Math.sqrt(st*st+pt*pt);this.data[O+W]=Math.max(0,Math.min(255,At+128))}}}addRegularDash(l){for(let B=l.length-1;B>=0;--B){let U=l[B],W=l[B+1];U.zeroLength?l.splice(B,1):W&&W.isDash===U.isDash&&(W.left=U.left,l.splice(B,1))}let d=l[0],v=l[l.length-1];d.isDash===v.isDash&&(d.left=v.left-this.width,v.right=d.right+this.width);let b=this.width*this.nextRow,M=0,O=l[M];for(let B=0;B1&&(O=l[++M]);let U=Math.abs(B-O.left),W=Math.abs(B-O.right),Z=Math.min(U,W);this.data[b+B]=Math.max(0,Math.min(255,(O.isDash?Z:-Z)+128))}}addDash(l,d){let v=d?7:0,b=2*v+1;if(this.nextRow+b>this.height)return n.w(\"LineAtlas out of space\"),null;let M=0;for(let B=0;B{b.send(l,d,M)},v=v||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(l=!0){this.actors.forEach(d=>{d.remove()}),this.actors=[],l&&this.workerPool.release(this.id)}}function Uo(T,l,d){let v=function(b,M){if(b)return d(b);if(M){let O=n.F(n.e(M,T),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);M.vector_layers&&(O.vectorLayers=M.vector_layers,O.vectorLayerIds=O.vectorLayers.map(B=>B.id)),d(null,O)}};return T.url?n.f(l.transformRequest(T.url,Q.Source),v):n.h.frame(()=>v(null,T))}class Si{constructor(l,d){l&&(d?this.setSouthWest(l).setNorthEast(d):Array.isArray(l)&&(l.length===4?this.setSouthWest([l[0],l[1]]).setNorthEast([l[2],l[3]]):this.setSouthWest(l[0]).setNorthEast(l[1])))}setNorthEast(l){return this._ne=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}setSouthWest(l){return this._sw=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}extend(l){let d=this._sw,v=this._ne,b,M;if(l instanceof n.L)b=l,M=l;else{if(!(l instanceof Si))return Array.isArray(l)?l.length===4||l.every(Array.isArray)?this.extend(Si.convert(l)):this.extend(n.L.convert(l)):l&&(\"lng\"in l||\"lon\"in l)&&\"lat\"in l?this.extend(n.L.convert(l)):this;if(b=l._sw,M=l._ne,!b||!M)return this}return d||v?(d.lng=Math.min(b.lng,d.lng),d.lat=Math.min(b.lat,d.lat),v.lng=Math.max(M.lng,v.lng),v.lat=Math.max(M.lat,v.lat)):(this._sw=new n.L(b.lng,b.lat),this._ne=new n.L(M.lng,M.lat)),this}getCenter(){return new n.L((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new n.L(this.getWest(),this.getNorth())}getSouthEast(){return new n.L(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(l){let{lng:d,lat:v}=n.L.convert(l),b=this._sw.lng<=d&&d<=this._ne.lng;return this._sw.lng>this._ne.lng&&(b=this._sw.lng>=d&&d>=this._ne.lng),this._sw.lat<=v&&v<=this._ne.lat&&b}static convert(l){return l instanceof Si?l:l&&new Si(l)}static fromLngLat(l,d=0){let v=360*d/40075017,b=v/Math.cos(Math.PI/180*l.lat);return new Si(new n.L(l.lng-b,l.lat-v),new n.L(l.lng+b,l.lat+v))}}class Ns{constructor(l,d,v){this.bounds=Si.convert(this.validateBounds(l)),this.minzoom=d||0,this.maxzoom=v||24}validateBounds(l){return Array.isArray(l)&&l.length===4?[Math.max(-180,l[0]),Math.max(-90,l[1]),Math.min(180,l[2]),Math.min(90,l[3])]:[-180,-90,180,90]}contains(l){let d=Math.pow(2,l.z),v=Math.floor(n.G(this.bounds.getWest())*d),b=Math.floor(n.H(this.bounds.getNorth())*d),M=Math.ceil(n.G(this.bounds.getEast())*d),O=Math.ceil(n.H(this.bounds.getSouth())*d);return l.x>=v&&l.x=b&&l.y{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(M,O)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),M?this.fire(new n.j(M)):O&&(n.e(this,O),O.bounds&&(this.tileBounds=new Ns(O.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},this.serialize=()=>n.e({},this._options),this.id=l,this.dispatcher=v,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=n.e({type:\"vector\"},d),this._collectResourceTiming=d.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(b)}loaded(){return this._loaded}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}onAdd(l){this.map=l,this.load()}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b={request:this.map._requestManager.transformRequest(v,Q.Tile),uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,tileSize:this.tileSize*l.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function M(O,B){return delete l.request,l.aborted?d(null):O&&O.status!==404?d(O):(B&&B.resourceTiming&&(l.resourceTiming=B.resourceTiming),this.map._refreshExpiredTiles&&B&&l.setExpiryData(B),l.loadVectorData(B,this.map.painter),d(null),void(l.reloadCallback&&(this.loadTile(l,l.reloadCallback),l.reloadCallback=null)))}b.request.collectResourceTiming=this._collectResourceTiming,l.actor&&l.state!==\"expired\"?l.state===\"loading\"?l.reloadCallback=d:l.request=l.actor.send(\"reloadTile\",b,M.bind(this)):(l.actor=this.dispatcher.getActor(),l.request=l.actor.send(\"loadTile\",b,M.bind(this)))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.actor&&l.actor.send(\"abortTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}unloadTile(l){l.unloadVectorData(),l.actor&&l.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class kc extends n.E{constructor(l,d,v,b){super(),this.id=l,this.dispatcher=v,this.setEventedParent(b),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.e({type:\"raster\"},d),n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\"]))}load(){this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(l,d)=>{this._tileJSONRequest=null,this._loaded=!0,l?this.fire(new n.j(l)):d&&(n.e(this,d),d.bounds&&(this.tileBounds=new Ns(d.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})}loaded(){return this._loaded}onAdd(l){this.map=l,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}serialize(){return n.e({},this._options)}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);l.request=j.getImage(this.map._requestManager.transformRequest(v,Q.Tile),(b,M,O)=>{if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(b)l.state=\"errored\",d(b);else if(M){this.map._refreshExpiredTiles&&O&&l.setExpiryData(O);let B=this.map.painter.context,U=B.gl;l.texture=this.map.painter.getTileTexture(M.width),l.texture?l.texture.update(M,{useMipmap:!0}):(l.texture=new qt(B,M,U.RGBA,{useMipmap:!0}),l.texture.bind(U.LINEAR,U.CLAMP_TO_EDGE,U.LINEAR_MIPMAP_NEAREST),B.extTextureFilterAnisotropic&&U.texParameterf(U.TEXTURE_2D,B.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,B.extTextureFilterAnisotropicMax)),l.state=\"loaded\",d(null)}},this.map._refreshExpiredTiles)}abortTile(l,d){l.request&&(l.request.cancel(),delete l.request),d()}unloadTile(l,d){l.texture&&this.map.painter.saveTileTexture(l.texture),d()}hasTransition(){return!1}}class Rc extends kc{constructor(l,d,v,b){super(l,d,v,b),this.type=\"raster-dem\",this.maxzoom=22,this._options=n.e({type:\"raster-dem\"},d),this.encoding=d.encoding||\"mapbox\",this.redFactor=d.redFactor,this.greenFactor=d.greenFactor,this.blueFactor=d.blueFactor,this.baseShift=d.baseShift}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b=this.map._requestManager.transformRequest(v,Q.Tile);function M(O,B){O&&(l.state=\"errored\",d(O)),B&&(l.dem=B,l.needsHillshadePrepare=!0,l.needsTerrainPrepare=!0,l.state=\"loaded\",d(null))}l.neighboringTiles=this._getNeighboringTiles(l.tileID),l.request=j.getImage(b,(O,B,U)=>n._(this,void 0,void 0,function*(){if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(O)l.state=\"errored\",d(O);else if(B){this.map._refreshExpiredTiles&&l.setExpiryData(U);let W=n.a(B)&&n.J()?B:yield function($){return n._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&n.K()){let st=$.width+2,At=$.height+2;try{return new n.R({width:st,height:At},yield n.M($,-1,-1,st,At))}catch{}}return n.h.getImageData($,1)})}(B),Z={uid:l.uid,coord:l.tileID,source:this.id,rawImageData:W,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};l.actor&&l.state!==\"expired\"||(l.actor=this.dispatcher.getActor(),l.actor.send(\"loadDEMTile\",Z,M))}}),this.map._refreshExpiredTiles)}_getNeighboringTiles(l){let d=l.canonical,v=Math.pow(2,d.z),b=(d.x-1+v)%v,M=d.x===0?l.wrap-1:l.wrap,O=(d.x+1+v)%v,B=d.x+1===v?l.wrap+1:l.wrap,U={};return U[new n.O(l.overscaledZ,M,d.z,b,d.y).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y).key]={backfilled:!1},d.y>0&&(U[new n.O(l.overscaledZ,M,d.z,b,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,l.wrap,d.z,d.x,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y-1).key]={backfilled:!1}),d.y+1{this._updateWorkerData()},this.serialize=()=>n.e({},this._options,{type:this.type,data:this._data}),this.id=l,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=v.getActor(),this.setEventedParent(b),this._data=d.data,this._options=n.e({},d),this._collectResourceTiming=d.collectResourceTiming,d.maxzoom!==void 0&&(this.maxzoom=d.maxzoom),d.type&&(this.type=d.type),d.attribution&&(this.attribution=d.attribution),this.promoteId=d.promoteId;let M=n.N/this.tileSize;this.workerOptions=n.e({source:this.id,cluster:d.cluster||!1,geojsonVtOptions:{buffer:(d.buffer!==void 0?d.buffer:128)*M,tolerance:(d.tolerance!==void 0?d.tolerance:.375)*M,extent:n.N,maxZoom:this.maxzoom,lineMetrics:d.lineMetrics||!1,generateId:d.generateId||!1},superclusterOptions:{maxZoom:d.clusterMaxZoom!==void 0?d.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,d.clusterMinPoints||2),extent:n.N,radius:(d.clusterRadius||50)*M,log:!1,generateId:d.generateId||!1},clusterProperties:d.clusterProperties,filter:d.filter},d.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}onAdd(l){this.map=l,this.load()}setData(l){return this._data=l,this._updateWorkerData(),this}updateData(l){return this._updateWorkerData(l),this}setClusterOptions(l){return this.workerOptions.cluster=l.cluster,l&&(l.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=l.clusterRadius),l.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=l.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(l,d){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:l,source:this.id},d),this}getClusterChildren(l,d){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:l,source:this.id},d),this}getClusterLeaves(l,d,v,b){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:l,limit:d,offset:v},b),this}_updateWorkerData(l){let d=n.e({},this.workerOptions);l?d.dataDiff=l:typeof this._data==\"string\"?(d.request=this.map._requestManager.transformRequest(n.h.resolveURL(this._data),Q.Source),d.request.collectResourceTiming=this._collectResourceTiming):d.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.actor.send(`${this.type}.loadData`,d,(v,b)=>{if(this._pendingLoads--,this._removed||b&&b.abandoned)return void this.fire(new n.k(\"dataabort\",{dataType:\"source\"}));let M=null;if(b&&b.resourceTiming&&b.resourceTiming[this.id]&&(M=b.resourceTiming[this.id].slice(0)),v)return void this.fire(new n.j(v));let O={dataType:\"source\"};this._collectResourceTiming&&M&&M.length>0&&n.e(O,{resourceTiming:M}),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"metadata\"}))),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"content\"})))})}loaded(){return this._pendingLoads===0}loadTile(l,d){let v=l.actor?\"reloadTile\":\"loadTile\";l.actor=this.actor;let b={type:this.type,uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};l.request=this.actor.send(v,b,(M,O)=>(delete l.request,l.unloadVectorData(),l.aborted?d(null):M?d(M):(l.loadVectorData(O,this.map.painter,v===\"reloadTile\"),d(null))))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.aborted=!0}unloadTile(l){l.unloadVectorData(),this.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})}hasTransition(){return!1}}var Jn=n.Q([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class ki extends n.E{constructor(l,d,v,b){super(),this.load=(M,O)=>{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=j.getImage(this.map._requestManager.transformRequest(this.url,Q.Image),(B,U)=>{this._request=null,this._loaded=!0,B?this.fire(new n.j(B)):U&&(this.image=U,M&&(this.coordinates=M),O&&O(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||!this.image)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture||(this.texture=new qt(M,this.image,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"image\",url:this.options.url,coordinates:this.coordinates}),this.id=l,this.dispatcher=v,this.coordinates=d.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(b),this.options=d}loaded(){return this._loaded}updateImage(l){return l.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=l.url,this.load(l.coordinates,()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(l){this.map=l,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(l){this.coordinates=l;let d=l.map(n.U.fromLngLat);this.tileID=function(b){let M=1/0,O=1/0,B=-1/0,U=-1/0;for(let st of b)M=Math.min(M,st.x),O=Math.min(O,st.y),B=Math.max(B,st.x),U=Math.max(U,st.y);let W=Math.max(B-M,U-O),Z=Math.max(0,Math.floor(-Math.log(W)/Math.LN2)),$=Math.pow(2,Z);return new n.W(Z,Math.floor((M+B)/2*$),Math.floor((O+U)/2*$))}(d),this.minzoom=this.maxzoom=this.tileID.z;let v=d.map(b=>this.tileID.getTilePoint(b)._round());return this._boundsArray=new n.V,this._boundsArray.emplaceBack(v[0].x,v[0].y,0,0),this._boundsArray.emplaceBack(v[1].x,v[1].y,n.N,0),this._boundsArray.emplaceBack(v[3].x,v[3].y,0,n.N),this._boundsArray.emplaceBack(v[2].x,v[2].y,n.N,n.N),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}loadTile(l,d){this.tileID&&this.tileID.equals(l.tileID.canonical)?(this.tiles[String(l.tileID.wrap)]=l,l.buckets={},d(null)):(l.state=\"errored\",d(null))}hasTransition(){return!1}}class ts extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!1;let M=this.options;this.urls=[];for(let O of M.urls)this.urls.push(this.map._requestManager.transformRequest(O,Q.Source).url);n.X(this.urls,(O,B)=>{this._loaded=!0,O?this.fire(new n.j(O)):B&&(this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE),O.texSubImage2D(O.TEXTURE_2D,0,0,0,O.RGBA,O.UNSIGNED_BYTE,this.video)):(this.texture=new qt(M,this.video,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"video\",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type=\"video\",this.options=d}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(l){if(this.video){let d=this.video.seekable;ld.end(0)?this.fire(new n.j(new n.Y(`sources.${this.id}`,null,`Playback for this video can be set only between the ${d.start(0)} and ${d.end(0)}-second mark.`))):this.video.currentTime=l}}getVideo(){return this.video}onAdd(l){this.map||(this.map=l,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class Vo extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new n.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let M=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,M=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,M=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let O=this.map.painter.context,B=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?(M||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new qt(O,this.canvas,B.RGBA,{premultiply:!0});let U=!1;for(let W in this.tiles){let Z=this.tiles[W];Z.state!==\"loaded\"&&(Z.state=\"loaded\",Z.texture=this.texture,U=!0)}U&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"canvas\",coordinates:this.coordinates}),d.coordinates?Array.isArray(d.coordinates)&&d.coordinates.length===4&&!d.coordinates.some(M=>!Array.isArray(M)||M.length!==2||M.some(O=>typeof O!=\"number\"))||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"coordinates\"'))),d.animate&&typeof d.animate!=\"boolean\"&&this.fire(new n.j(new n.Y(`sources.${l}`,null,'optional \"animate\" property must be a boolean value'))),d.canvas?typeof d.canvas==\"string\"||d.canvas instanceof HTMLCanvasElement||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"canvas\"'))),this.options=d,this.animate=d.animate===void 0||d.animate}getCanvas(){return this.canvas}onAdd(l){this.map=l,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let l of[this.canvas.width,this.canvas.height])if(isNaN(l)||l<=0)return!0;return!1}}let cl={},xo=T=>{switch(T){case\"geojson\":return Xi;case\"image\":return ki;case\"raster\":return kc;case\"raster-dem\":return Rc;case\"vector\":return ll;case\"video\":return ts;case\"canvas\":return Vo}return cl[T]};function Pa(T,l){let d=n.Z();return n.$(d,d,[1,1,0]),n.a0(d,d,[.5*T.width,.5*T.height,1]),n.a1(d,d,T.calculatePosMatrix(l.toUnwrapped()))}function na(T,l,d,v,b,M){let O=function($,st,At){if($)for(let pt of $){let yt=st[pt];if(yt&&yt.source===At&&yt.type===\"fill-extrusion\")return!0}else for(let pt in st){let yt=st[pt];if(yt.source===At&&yt.type===\"fill-extrusion\")return!0}return!1}(b&&b.layers,l,T.id),B=M.maxPitchScaleFactor(),U=T.tilesIn(v,B,O);U.sort(as);let W=[];for(let $ of U)W.push({wrappedTileID:$.tileID.wrapped().key,queryResults:$.tile.queryRenderedFeatures(l,d,T._state,$.queryGeometry,$.cameraQueryGeometry,$.scale,b,M,B,Pa(T.transform,$.tileID))});let Z=function($){let st={},At={};for(let pt of $){let yt=pt.queryResults,dt=pt.wrappedTileID,Ft=At[dt]=At[dt]||{};for(let Ht in yt){let St=yt[Ht],Bt=Ft[Ht]=Ft[Ht]||{},Qt=st[Ht]=st[Ht]||[];for(let $t of St)Bt[$t.featureIndex]||(Bt[$t.featureIndex]=!0,Qt.push($t))}}return st}(W);for(let $ in Z)Z[$].forEach(st=>{let At=st.feature,pt=T.getFeatureState(At.layer[\"source-layer\"],At.id);At.source=At.layer.source,At.layer[\"source-layer\"]&&(At.sourceLayer=At.layer[\"source-layer\"]),At.state=pt});return Z}function as(T,l){let d=T.tileID,v=l.tileID;return d.overscaledZ-v.overscaledZ||d.canonical.y-v.canonical.y||d.wrap-v.wrap||d.canonical.x-v.canonical.x}class ao{constructor(l,d){this.timeAdded=0,this.fadeEndTime=0,this.tileID=l,this.uid=n.a2(),this.uses=0,this.tileSize=d,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(l){let d=l+this.timeAdded;dM.getLayer(W)).filter(Boolean);if(U.length!==0){B.layers=U,B.stateDependentLayerIds&&(B.stateDependentLayers=B.stateDependentLayerIds.map(W=>U.filter(Z=>Z.id===W)[0]));for(let W of U)O[W.id]=B}}return O}(l.buckets,d.style),this.hasSymbolBuckets=!1;for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4){if(this.hasSymbolBuckets=!0,!v)break;M.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4&&M.hasRTLText){this.hasRTLText=!0,n.a5();break}}this.queryPadding=0;for(let b in this.buckets){let M=this.buckets[b];this.queryPadding=Math.max(this.queryPadding,d.style.getLayer(b).queryRadius(M))}l.imageAtlas&&(this.imageAtlas=l.imageAtlas),l.glyphAtlasImage&&(this.glyphAtlasImage=l.glyphAtlasImage)}else this.collisionBoxArray=new n.a3}unloadVectorData(){for(let l in this.buckets)this.buckets[l].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(l){return this.buckets[l.id]}upload(l){for(let v in this.buckets){let b=this.buckets[v];b.uploadPending()&&b.upload(l)}let d=l.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new qt(l,this.imageAtlas.image,d.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new qt(l,this.glyphAtlasImage,d.ALPHA),this.glyphAtlasImage=null)}prepare(l){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(l,this.imageAtlasTexture)}queryRenderedFeatures(l,d,v,b,M,O,B,U,W,Z){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:b,cameraQueryGeometry:M,scale:O,tileSize:this.tileSize,pixelPosMatrix:Z,transform:U,params:B,queryPadding:this.queryPadding*W},l,d,v):{}}querySourceFeatures(l,d){let v=this.latestFeatureIndex;if(!v||!v.rawTileData)return;let b=v.loadVTLayers(),M=d&&d.sourceLayer?d.sourceLayer:\"\",O=b._geojsonTileLayer||b[M];if(!O)return;let B=n.a6(d&&d.filter),{z:U,x:W,y:Z}=this.tileID.canonical,$={z:U,x:W,y:Z};for(let st=0;stv)b=!1;else if(d)if(this.expirationTime{this.remove(l,M)},v)),this.data[b].push(M),this.order.push(b),this.order.length>this.max){let O=this._getAndRemoveByKey(this.order[0]);O&&this.onRemove(O)}return this}has(l){return l.wrapped().key in this.data}getAndRemove(l){return this.has(l)?this._getAndRemoveByKey(l.wrapped().key):null}_getAndRemoveByKey(l){let d=this.data[l].shift();return d.timeout&&clearTimeout(d.timeout),this.data[l].length===0&&delete this.data[l],this.order.splice(this.order.indexOf(l),1),d.value}getByKey(l){let d=this.data[l];return d?d[0].value:null}get(l){return this.has(l)?this.data[l.wrapped().key][0].value:null}remove(l,d){if(!this.has(l))return this;let v=l.wrapped().key,b=d===void 0?0:this.data[v].indexOf(d),M=this.data[v][b];return this.data[v].splice(b,1),M.timeout&&clearTimeout(M.timeout),this.data[v].length===0&&delete this.data[v],this.onRemove(M.value),this.order.splice(this.order.indexOf(v),1),this}setMaxSize(l){for(this.max=l;this.order.length>this.max;){let d=this._getAndRemoveByKey(this.order[0]);d&&this.onRemove(d)}return this}filter(l){let d=[];for(let v in this.data)for(let b of this.data[v])l(b.value)||d.push(b);for(let v of d)this.remove(v.value.tileID,v)}}class ee{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(l,d,v){let b=String(d);if(this.stateChanges[l]=this.stateChanges[l]||{},this.stateChanges[l][b]=this.stateChanges[l][b]||{},n.e(this.stateChanges[l][b],v),this.deletedStates[l]===null){this.deletedStates[l]={};for(let M in this.state[l])M!==b&&(this.deletedStates[l][M]=null)}else if(this.deletedStates[l]&&this.deletedStates[l][b]===null){this.deletedStates[l][b]={};for(let M in this.state[l][b])v[M]||(this.deletedStates[l][b][M]=null)}else for(let M in v)this.deletedStates[l]&&this.deletedStates[l][b]&&this.deletedStates[l][b][M]===null&&delete this.deletedStates[l][b][M]}removeFeatureState(l,d,v){if(this.deletedStates[l]===null)return;let b=String(d);if(this.deletedStates[l]=this.deletedStates[l]||{},v&&d!==void 0)this.deletedStates[l][b]!==null&&(this.deletedStates[l][b]=this.deletedStates[l][b]||{},this.deletedStates[l][b][v]=null);else if(d!==void 0)if(this.stateChanges[l]&&this.stateChanges[l][b])for(v in this.deletedStates[l][b]={},this.stateChanges[l][b])this.deletedStates[l][b][v]=null;else this.deletedStates[l][b]=null;else this.deletedStates[l]=null}getState(l,d){let v=String(d),b=n.e({},(this.state[l]||{})[v],(this.stateChanges[l]||{})[v]);if(this.deletedStates[l]===null)return{};if(this.deletedStates[l]){let M=this.deletedStates[l][d];if(M===null)return{};for(let O in M)delete b[O]}return b}initializeTileState(l,d){l.setFeatureState(this.state,d)}coalesceChanges(l,d){let v={};for(let b in this.stateChanges){this.state[b]=this.state[b]||{};let M={};for(let O in this.stateChanges[b])this.state[b][O]||(this.state[b][O]={}),n.e(this.state[b][O],this.stateChanges[b][O]),M[O]=this.state[b][O];v[b]=M}for(let b in this.deletedStates){this.state[b]=this.state[b]||{};let M={};if(this.deletedStates[b]===null)for(let O in this.state[b])M[O]={},this.state[b][O]={};else for(let O in this.deletedStates[b]){if(this.deletedStates[b][O]===null)this.state[b][O]={};else for(let B of Object.keys(this.deletedStates[b][O]))delete this.state[b][O][B];M[O]=this.state[b][O]}v[b]=v[b]||{},n.e(v[b],M)}if(this.stateChanges={},this.deletedStates={},Object.keys(v).length!==0)for(let b in l)l[b].setFeatureState(v,d)}}class ls extends n.E{constructor(l,d,v){super(),this.id=l,this.dispatcher=v,this.on(\"data\",b=>{b.dataType===\"source\"&&b.sourceDataType===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&b.dataType===\"source\"&&b.sourceDataType===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((b,M,O,B)=>{let U=new(xo(M.type))(b,M,O,B);if(U.id!==b)throw new Error(`Expected Source id to be ${b} instead of ${U.id}`);return U})(l,d,v,this),this._tiles={},this._cache=new Nl(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ee,this._didEmitContent=!1,this._updated=!1}onAdd(l){this.map=l,this._maxTileCacheSize=l?l._maxTileCacheSize:null,this._maxTileCacheZoomLevels=l?l._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(l)}onRemove(l){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(l)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let l in this._tiles){let d=this._tiles[l];if(d.state!==\"loaded\"&&d.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let l=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,l&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(l,d){return this._source.loadTile(l,d)}_unloadTile(l){if(this._source.unloadTile)return this._source.unloadTile(l,()=>{})}_abortTile(l){this._source.abortTile&&this._source.abortTile(l,()=>{}),this._source.fire(new n.k(\"dataabort\",{tile:l,coord:l.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(l){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let d in this._tiles){let v=this._tiles[d];v.upload(l),v.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(l=>l.tileID).sort(mn).map(l=>l.key)}getRenderableIds(l){let d=[];for(let v in this._tiles)this._isIdRenderable(v,l)&&d.push(this._tiles[v]);return l?d.sort((v,b)=>{let M=v.tileID,O=b.tileID,B=new n.P(M.canonical.x,M.canonical.y)._rotate(this.transform.angle),U=new n.P(O.canonical.x,O.canonical.y)._rotate(this.transform.angle);return M.overscaledZ-O.overscaledZ||U.y-B.y||U.x-B.x}).map(v=>v.tileID.key):d.map(v=>v.tileID).sort(mn).map(v=>v.key)}hasRenderableParent(l){let d=this.findLoadedParent(l,0);return!!d&&this._isIdRenderable(d.tileID.key)}_isIdRenderable(l,d){return this._tiles[l]&&this._tiles[l].hasData()&&!this._coveredTiles[l]&&(d||!this._tiles[l].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let l in this._tiles)this._tiles[l].state!==\"errored\"&&this._reloadTile(l,\"reloading\")}}_reloadTile(l,d){let v=this._tiles[l];v&&(v.state!==\"loading\"&&(v.state=d),this._loadTile(v,this._tileLoaded.bind(this,v,l,d)))}_tileLoaded(l,d,v,b){if(b)return l.state=\"errored\",void(b.status!==404?this._source.fire(new n.j(b,{tile:l})):this.update(this.transform,this.terrain));l.timeAdded=n.h.now(),v===\"expired\"&&(l.refreshedUponExpiration=!0),this._setTileReloadTimer(d,l),this.getSource().type===\"raster-dem\"&&l.dem&&this._backfillDEM(l),this._state.initializeTileState(l,this.map?this.map.painter:null),l.aborted||this._source.fire(new n.k(\"data\",{dataType:\"source\",tile:l,coord:l.tileID}))}_backfillDEM(l){let d=this.getRenderableIds();for(let b=0;b1||(Math.abs(O)>1&&(Math.abs(O+U)===1?O+=U:Math.abs(O-U)===1&&(O-=U)),M.dem&&b.dem&&(b.dem.backfillBorder(M.dem,O,B),b.neighboringTiles&&b.neighboringTiles[W]&&(b.neighboringTiles[W].backfilled=!0)))}}getTile(l){return this.getTileByID(l.key)}getTileByID(l){return this._tiles[l]}_retainLoadedChildren(l,d,v,b){for(let M in this._tiles){let O=this._tiles[M];if(b[M]||!O.hasData()||O.tileID.overscaledZ<=d||O.tileID.overscaledZ>v)continue;let B=O.tileID;for(;O&&O.tileID.overscaledZ>d+1;){let W=O.tileID.scaledTo(O.tileID.overscaledZ-1);O=this._tiles[W.key],O&&O.hasData()&&(B=W)}let U=B;for(;U.overscaledZ>d;)if(U=U.scaledTo(U.overscaledZ-1),l[U.key]){b[B.key]=B;break}}}findLoadedParent(l,d){if(l.key in this._loadedParentTiles){let v=this._loadedParentTiles[l.key];return v&&v.tileID.overscaledZ>=d?v:null}for(let v=l.overscaledZ-1;v>=d;v--){let b=l.scaledTo(v),M=this._getLoadedTile(b);if(M)return M}}_getLoadedTile(l){let d=this._tiles[l.key];return d&&d.hasData()?d:this._cache.getByKey(l.wrapped().key)}updateCacheSize(l){let d=Math.ceil(l.width/this._source.tileSize)+1,v=Math.ceil(l.height/this._source.tileSize)+1,b=Math.floor(d*v*(this._maxTileCacheZoomLevels===null?n.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),M=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,b):b;this._cache.setMaxSize(M)}handleWrapJump(l){let d=Math.round((l-(this._prevLng===void 0?l:this._prevLng))/360);if(this._prevLng=l,d){let v={};for(let b in this._tiles){let M=this._tiles[b];M.tileID=M.tileID.unwrapTo(M.tileID.wrap+d),v[M.tileID.key]=M}this._tiles=v;for(let b in this._timers)clearTimeout(this._timers[b]),delete this._timers[b];for(let b in this._tiles)this._setTileReloadTimer(b,this._tiles[b])}}update(l,d){if(this.transform=l,this.terrain=d,!this._sourceLoaded||this._paused)return;let v;this.updateCacheSize(l),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?v=l.getVisibleUnwrappedCoordinates(this._source.tileID).map(Z=>new n.O(Z.canonical.z,Z.wrap,Z.canonical.z,Z.canonical.x,Z.canonical.y)):(v=l.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:d}),this._source.hasTile&&(v=v.filter(Z=>this._source.hasTile(Z)))):v=[];let b=l.coveringZoomLevel(this._source),M=Math.max(b-ls.maxOverzooming,this._source.minzoom),O=Math.max(b+ls.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Z={};for(let $ of v)if($.canonical.z>this._source.minzoom){let st=$.scaledTo($.canonical.z-1);Z[st.key]=st;let At=$.scaledTo(Math.max(this._source.minzoom,Math.min($.canonical.z,5)));Z[At.key]=At}v=v.concat(Object.values(Z))}let B=v.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,B&&this.fire(new n.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let U=this._updateRetainedTiles(v,b);if(gi(this._source.type)){let Z={},$={},st=Object.keys(U),At=n.h.now();for(let pt of st){let yt=U[pt],dt=this._tiles[pt];if(!dt||dt.fadeEndTime!==0&&dt.fadeEndTime<=At)continue;let Ft=this.findLoadedParent(yt,M);Ft&&(this._addTile(Ft.tileID),Z[Ft.tileID.key]=Ft.tileID),$[pt]=yt}this._retainLoadedChildren($,b,O,U);for(let pt in Z)U[pt]||(this._coveredTiles[pt]=!0,U[pt]=Z[pt]);if(d){let pt={},yt={};for(let dt of v)this._tiles[dt.key].hasData()?pt[dt.key]=dt:yt[dt.key]=dt;for(let dt in yt){let Ft=yt[dt].children(this._source.maxzoom);this._tiles[Ft[0].key]&&this._tiles[Ft[1].key]&&this._tiles[Ft[2].key]&&this._tiles[Ft[3].key]&&(pt[Ft[0].key]=U[Ft[0].key]=Ft[0],pt[Ft[1].key]=U[Ft[1].key]=Ft[1],pt[Ft[2].key]=U[Ft[2].key]=Ft[2],pt[Ft[3].key]=U[Ft[3].key]=Ft[3],delete yt[dt])}for(let dt in yt){let Ft=this.findLoadedParent(yt[dt],this._source.minzoom);if(Ft){pt[Ft.tileID.key]=U[Ft.tileID.key]=Ft.tileID;for(let Ht in pt)pt[Ht].isChildOf(Ft.tileID)&&delete pt[Ht]}}for(let dt in this._tiles)pt[dt]||(this._coveredTiles[dt]=!0)}}for(let Z in U)this._tiles[Z].clearFadeHold();let W=n.ab(this._tiles,U);for(let Z of W){let $=this._tiles[Z];$.hasSymbolBuckets&&!$.holdingForFade()?$.setHoldDuration(this.map._fadeDuration):$.hasSymbolBuckets&&!$.symbolFadeFinished()||this._removeTile(Z)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(let l in this._tiles)this._tiles[l].holdingForFade()&&this._removeTile(l)}_updateRetainedTiles(l,d){let v={},b={},M=Math.max(d-ls.maxOverzooming,this._source.minzoom),O=Math.max(d+ls.maxUnderzooming,this._source.minzoom),B={};for(let U of l){let W=this._addTile(U);v[U.key]=U,W.hasData()||dthis._source.maxzoom){let $=U.children(this._source.maxzoom)[0],st=this.getTile($);if(st&&st.hasData()){v[$.key]=$;continue}}else{let $=U.children(this._source.maxzoom);if(v[$[0].key]&&v[$[1].key]&&v[$[2].key]&&v[$[3].key])continue}let Z=W.wasRequested();for(let $=U.overscaledZ-1;$>=M;--$){let st=U.scaledTo($);if(b[st.key])break;if(b[st.key]=!0,W=this.getTile(st),!W&&Z&&(W=this._addTile(st)),W){let At=W.hasData();if((Z||At)&&(v[st.key]=st),Z=W.wasRequested(),At)break}}}return v}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let l in this._tiles){let d=[],v,b=this._tiles[l].tileID;for(;b.overscaledZ>0;){if(b.key in this._loadedParentTiles){v=this._loadedParentTiles[b.key];break}d.push(b.key);let M=b.scaledTo(b.overscaledZ-1);if(v=this._getLoadedTile(M),v)break;b=M}for(let M of d)this._loadedParentTiles[M]=v}}_addTile(l){let d=this._tiles[l.key];if(d)return d;d=this._cache.getAndRemove(l),d&&(this._setTileReloadTimer(l.key,d),d.tileID=l,this._state.initializeTileState(d,this.map?this.map.painter:null),this._cacheTimers[l.key]&&(clearTimeout(this._cacheTimers[l.key]),delete this._cacheTimers[l.key],this._setTileReloadTimer(l.key,d)));let v=d;return d||(d=new ao(l,this._source.tileSize*l.overscaleFactor()),this._loadTile(d,this._tileLoaded.bind(this,d,l.key,d.state))),d.uses++,this._tiles[l.key]=d,v||this._source.fire(new n.k(\"dataloading\",{tile:d,coord:d.tileID,dataType:\"source\"})),d}_setTileReloadTimer(l,d){l in this._timers&&(clearTimeout(this._timers[l]),delete this._timers[l]);let v=d.getExpiryTimeout();v&&(this._timers[l]=setTimeout(()=>{this._reloadTile(l,\"expired\"),delete this._timers[l]},v))}_removeTile(l){let d=this._tiles[l];d&&(d.uses--,delete this._tiles[l],this._timers[l]&&(clearTimeout(this._timers[l]),delete this._timers[l]),d.uses>0||(d.hasData()&&d.state!==\"reloading\"?this._cache.add(d.tileID,d,d.getExpiryTimeout()):(d.aborted=!0,this._abortTile(d),this._unloadTile(d))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let l in this._tiles)this._removeTile(l);this._cache.reset()}tilesIn(l,d,v){let b=[],M=this.transform;if(!M)return b;let O=v?M.getCameraQueryGeometry(l):l,B=l.map(pt=>M.pointCoordinate(pt,this.terrain)),U=O.map(pt=>M.pointCoordinate(pt,this.terrain)),W=this.getIds(),Z=1/0,$=1/0,st=-1/0,At=-1/0;for(let pt of U)Z=Math.min(Z,pt.x),$=Math.min($,pt.y),st=Math.max(st,pt.x),At=Math.max(At,pt.y);for(let pt=0;pt=0&&St[1].y+Ht>=0){let Bt=B.map($t=>dt.getTilePoint($t)),Qt=U.map($t=>dt.getTilePoint($t));b.push({tile:yt,tileID:dt,queryGeometry:Bt,cameraQueryGeometry:Qt,scale:Ft})}}return b}getVisibleCoordinates(l){let d=this.getRenderableIds(l).map(v=>this._tiles[v].tileID);for(let v of d)v.posMatrix=this.transform.calculatePosMatrix(v.toUnwrapped());return d}hasTransition(){if(this._source.hasTransition())return!0;if(gi(this._source.type)){let l=n.h.now();for(let d in this._tiles)if(this._tiles[d].fadeEndTime>=l)return!0}return!1}setFeatureState(l,d,v){this._state.updateState(l=l||\"_geojsonTileLayer\",d,v)}removeFeatureState(l,d,v){this._state.removeFeatureState(l=l||\"_geojsonTileLayer\",d,v)}getFeatureState(l,d){return this._state.getState(l=l||\"_geojsonTileLayer\",d)}setDependencies(l,d,v){let b=this._tiles[l];b&&b.setDependencies(d,v)}reloadTilesForDependencies(l,d){for(let v in this._tiles)this._tiles[v].hasDependency(l,d)&&this._reloadTile(v,\"reloading\");this._cache.filter(v=>!v.hasDependency(l,d))}}function mn(T,l){let d=Math.abs(2*T.wrap)-+(T.wrap<0),v=Math.abs(2*l.wrap)-+(l.wrap<0);return T.overscaledZ-l.overscaledZ||v-d||l.canonical.y-T.canonical.y||l.canonical.x-T.canonical.x}function gi(T){return T===\"raster\"||T===\"image\"||T===\"video\"}ls.maxOverzooming=10,ls.maxUnderzooming=3;let oi=\"mapboxgl_preloaded_worker_pool\";class lo{constructor(){this.active={}}acquire(l){if(!this.workers)for(this.workers=[];this.workers.length{d.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[oi]}numActive(){return Object.keys(this.active).length}}let du=Math.floor(n.h.hardwareConcurrency/2),ul;function bo(){return ul||(ul=new lo),ul}lo.workerCount=n.ac(globalThis)?Math.max(Math.min(du,3),1):1;class hl{constructor(l,d){this.reset(l,d)}reset(l,d){this.points=l||[],this._distances=[0];for(let v=1;v0?(b-O)/B:0;return this.points[M].mult(1-U).add(this.points[d].mult(U))}}function Ia(T,l){let d=!0;return T===\"always\"||T!==\"never\"&&l!==\"never\"||(d=!1),d}class wo{constructor(l,d,v){let b=this.boxCells=[],M=this.circleCells=[];this.xCellCount=Math.ceil(l/v),this.yCellCount=Math.ceil(d/v);for(let O=0;Othis.width||b<0||d>this.height)return[];let U=[];if(l<=0&&d<=0&&this.width<=v&&this.height<=b){if(M)return[{key:null,x1:l,y1:d,x2:v,y2:b}];for(let W=0;W0}hitTestCircle(l,d,v,b,M){let O=l-v,B=l+v,U=d-v,W=d+v;if(B<0||O>this.width||W<0||U>this.height)return!1;let Z=[];return this._forEachCell(O,U,B,W,this._queryCellCircle,Z,{hitTest:!0,overlapMode:b,circle:{x:l,y:d,radius:v},seenUids:{box:{},circle:{}}},M),Z.length>0}_queryCell(l,d,v,b,M,O,B,U){let{seenUids:W,hitTest:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!W.box[yt]){W.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(l<=pt[dt+2]&&d<=pt[dt+3]&&v>=pt[dt+0]&&b>=pt[dt+1]&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))&&(O.push({key:Ft,x1:pt[dt],y1:pt[dt+1],x2:pt[dt+2],y2:pt[dt+3]}),Z))return!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!W.circle[yt]){W.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circleAndRectCollide(pt[dt],pt[dt+1],pt[dt+2],l,d,v,b)&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))){let Ht=pt[dt],St=pt[dt+1],Bt=pt[dt+2];if(O.push({key:Ft,x1:Ht-Bt,y1:St-Bt,x2:Ht+Bt,y2:St+Bt}),Z)return!0}}}return!1}_queryCellCircle(l,d,v,b,M,O,B,U){let{circle:W,seenUids:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!Z.box[yt]){Z.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(this._circleAndRectCollide(W.x,W.y,W.radius,pt[dt+0],pt[dt+1],pt[dt+2],pt[dt+3])&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!Z.circle[yt]){Z.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circlesCollide(pt[dt],pt[dt+1],pt[dt+2],W.x,W.y,W.radius)&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}}_forEachCell(l,d,v,b,M,O,B,U){let W=this._convertToXCellCoord(l),Z=this._convertToYCellCoord(d),$=this._convertToXCellCoord(v),st=this._convertToYCellCoord(b);for(let At=W;At<=$;At++)for(let pt=Z;pt<=st;pt++)if(M.call(this,l,d,v,b,this.xCellCount*pt+At,O,B,U))return}_convertToXCellCoord(l){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(l*this.xScale)))}_convertToYCellCoord(l){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(l*this.yScale)))}_circlesCollide(l,d,v,b,M,O){let B=b-l,U=M-d,W=v+O;return W*W>B*B+U*U}_circleAndRectCollide(l,d,v,b,M,O,B){let U=(O-b)/2,W=Math.abs(l-(b+U));if(W>U+v)return!1;let Z=(B-M)/2,$=Math.abs(d-(M+Z));if($>Z+v)return!1;if(W<=U||$<=Z)return!0;let st=W-U,At=$-Z;return st*st+At*At<=v*v}}function ve(T,l,d,v,b){let M=n.Z();return l?(n.a0(M,M,[1/b,1/b,1]),d||n.ae(M,M,v.angle)):n.a1(M,v.labelPlaneMatrix,T),M}function jo(T,l,d,v,b){if(l){let M=n.af(T);return n.a0(M,M,[b,b,1]),d||n.ae(M,M,-v.angle),M}return v.glCoordMatrix}function gn(T,l,d){let v;d?(v=[T.x,T.y,d(T.x,T.y),1],n.ag(v,v,l)):(v=[T.x,T.y,0,1],vt(v,v,l));let b=v[3];return{point:new n.P(v[0]/b,v[1]/b),signedDistanceFromCamera:b}}function Ul(T,l){return .5+T/l*.5}function Ca(T,l){let d=T[0]/T[3],v=T[1]/T[3];return d>=-l[0]&&d<=l[0]&&v>=-l[1]&&v<=l[1]}function Te(T,l,d,v,b,M,O,B,U,W){let Z=v?T.textSizeData:T.iconSizeData,$=n.ah(Z,d.transform.zoom),st=[256/d.width*2+1,256/d.height*2+1],At=v?T.text.dynamicLayoutVertexArray:T.icon.dynamicLayoutVertexArray;At.clear();let pt=T.lineVertexArray,yt=v?T.text.placedSymbolArray:T.icon.placedSymbolArray,dt=d.transform.width/d.transform.height,Ft=!1;for(let Ht=0;HtMath.abs(d.x-l.x)*v?{useVertical:!0}:(T===n.ai.vertical?l.yd.x)?{needsFlipping:!0}:null}function Us(T,l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt){let dt=l/24,Ft=T.lineOffsetX*dt,Ht=T.lineOffsetY*dt,St;if(T.numGlyphs>1){let Bt=T.glyphStartIndex+T.numGlyphs,Qt=T.lineStartIndex,$t=T.lineStartIndex+T.lineLength,oe=Dr(dt,B,Ft,Ht,d,Z,$,T,U,M,st,pt,yt);if(!oe)return{notEnoughRoom:!0};let pe=gn(oe.first.point,O,yt).point,he=gn(oe.last.point,O,yt).point;if(v&&!d){let be=gr(T.writingMode,pe,he,At);if(be)return be}St=[oe.first];for(let be=T.glyphStartIndex+1;be0?pe.point:La($,oe,Qt,1,b,yt),be=gr(T.writingMode,Qt,he,At);if(be)return be}let Bt=tt(dt*B.getoffsetX(T.glyphStartIndex),Ft,Ht,d,Z,$,T.segment,T.lineStartIndex,T.lineStartIndex+T.lineLength,U,M,st,pt,yt);if(!Bt)return{notEnoughRoom:!0};St=[Bt]}for(let Bt of St)n.ak(W,Bt.point,Bt.angle);return{}}function La(T,l,d,v,b,M){let O=gn(T.add(T.sub(l)._unit()),b,M).point,B=d.sub(O);return d.add(B._mult(v/B.mag()))}function Mr(T,l){let{projectionCache:d,lineVertexArray:v,labelPlaneMatrix:b,tileAnchorPoint:M,distanceFromAnchor:O,getElevation:B,previousVertex:U,direction:W,absOffsetX:Z}=l;if(d.projections[T])return d.projections[T];let $=new n.P(v.getx(T),v.gety(T)),st=gn($,b,B);if(st.signedDistanceFromCamera>0)return d.projections[T]=st.point,st.point;let At=T-W;return La(O===0?M:new n.P(v.getx(At),v.gety(At)),$,U,Z-O+1,b,B)}function sa(T,l,d){return T._unit()._perp()._mult(l*d)}function gt(T,l,d,v,b,M,O,B){let{projectionCache:U,direction:W}=B;if(U.offsets[T])return U.offsets[T];let Z=d.add(l);if(T+W=b)return U.offsets[T]=Z,Z;let $=Mr(T+W,B),st=sa($.sub(d),O,W),At=d.add(st),pt=$.add(st);return U.offsets[T]=n.al(M,Z,At,pt)||Z,U.offsets[T]}function tt(T,l,d,v,b,M,O,B,U,W,Z,$,st,At){let pt=v?T-l:T+l,yt=pt>0?1:-1,dt=0;v&&(yt*=-1,dt=Math.PI),yt<0&&(dt+=Math.PI);let Ft,Ht,St=yt>0?B+O:B+O+1,Bt=b,Qt=b,$t=0,oe=0,pe=Math.abs(pt),he=[],be;for(;$t+oe<=pe;){if(St+=yt,St=U)return null;$t+=oe,Qt=Bt,Ht=Ft;let Ee={projectionCache:$,lineVertexArray:W,labelPlaneMatrix:Z,tileAnchorPoint:M,distanceFromAnchor:$t,getElevation:At,previousVertex:Qt,direction:yt,absOffsetX:pe};if(Bt=Mr(St,Ee),d===0)he.push(Qt),be=Bt.sub(Qt);else{let pr,tr=Bt.sub(Qt);pr=tr.mag()===0?sa(Mr(St+yt,Ee).sub(Bt),d,yt):sa(tr,d,yt),Ht||(Ht=Qt.add(pr)),Ft=gt(St,pr,Bt,B,U,Ht,d,Ee),he.push(Ht),be=Ft.sub(Ht)}oe=be.mag()}let Ze=be._mult((pe-$t)/oe)._add(Ht||Qt),Kr=dt+Math.atan2(Bt.y-Qt.y,Bt.x-Qt.x);return he.push(Ze),{point:Ze,angle:st?Kr:0,path:he}}let nt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ht(T,l){for(let d=0;d=1;Vr--)tr.push(Ee.path[Vr]);for(let Vr=1;Vrgn(ei,U,pt));tr=Vr.some(ei=>ei.signedDistanceFromCamera<=0)?[]:Vr.map(ei=>ei.point)}let Jr=[];if(tr.length>0){let Vr=tr[0].clone(),ei=tr[0].clone();for(let On=1;On=be.x&&ei.x<=Ze.x&&Vr.y>=be.y&&ei.y<=Ze.y?[tr]:ei.xZe.x||ei.yZe.y?[]:n.am([tr],be.x,be.y,Ze.x,Ze.y)}for(let Vr of Jr){Kr.reset(Vr,.25*he);let ei=0;ei=Kr.length<=.5*he?1:Math.ceil(Kr.paddedLength/Gi)+1;for(let On=0;On=this.screenRightBoundary||bthis.screenBottomBoundary}isInsideGrid(l,d,v,b){return v>=0&&l=0&&dv.collisionGroupID===d}}return this.collisionGroups[l]}}function vr(T,l,d,v,b){let{horizontalAlign:M,verticalAlign:O}=n.au(T);return new n.P(-(M-.5)*l+v[0]*b,-(O-.5)*d+v[1]*b)}function Xe(T,l,d,v,b,M){let{x1:O,x2:B,y1:U,y2:W,anchorPointX:Z,anchorPointY:$}=T,st=new n.P(l,d);return v&&st._rotate(b?M:-M),{x1:O+st.x,y1:U+st.y,x2:B+st.x,y2:W+st.y,anchorPointX:Z,anchorPointY:$}}class cr{constructor(l,d,v,b,M){this.transform=l.clone(),this.terrain=d,this.collisionIndex=new _t(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=v,this.retainedQueryData={},this.collisionGroups=new lr(b),this.collisionCircleArrays={},this.prevPlacement=M,M&&(M.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(l,d,v,b){let M=v.getBucket(d),O=v.latestFeatureIndex;if(!M||!O||d.id!==M.layerIds[0])return;let B=v.collisionBoxArray,U=M.layers[0].layout,W=Math.pow(2,this.transform.zoom-v.tileID.overscaledZ),Z=v.tileSize/n.N,$=this.transform.calculatePosMatrix(v.tileID.toUnwrapped()),st=U.get(\"text-pitch-alignment\")===\"map\",At=U.get(\"text-rotation-alignment\")===\"map\",pt=Dt(v,1,this.transform.zoom),yt=ve($,st,At,this.transform,pt),dt=null;if(st){let Ht=jo($,st,At,this.transform,pt);dt=n.a1([],this.transform.labelPlaneMatrix,Ht)}this.retainedQueryData[M.bucketInstanceId]=new ae(M.bucketInstanceId,O,M.sourceLayerIndex,M.index,v.tileID);let Ft={bucket:M,layout:U,posMatrix:$,textLabelPlaneMatrix:yt,labelToScreenMatrix:dt,scale:W,textPixelRatio:Z,holdingForFade:v.holdingForFade(),collisionBoxArray:B,partiallyEvaluatedTextSize:n.ah(M.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(M.sourceID)};if(b)for(let Ht of M.sortKeyRanges){let{sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt}=Ht;l.push({sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt,parameters:Ft})}else l.push({symbolInstanceStart:0,symbolInstanceEnd:M.symbolInstances.length,parameters:Ft})}attemptAnchorPlacement(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt){let Ft=n.aq[l.textAnchor],Ht=[l.textOffset0,l.textOffset1],St=vr(Ft,v,b,Ht,M),Bt=this.collisionIndex.placeCollisionBox(Xe(d,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt);if((!yt||this.collisionIndex.placeCollisionBox(Xe(yt,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt).box.length!==0)&&Bt.box.length>0){let Qt;if(this.prevPlacement&&this.prevPlacement.variableOffsets[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID].text&&(Qt=this.prevPlacement.variableOffsets[st.crossTileID].anchor),st.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[st.crossTileID]={textOffset:Ht,width:v,height:b,anchor:Ft,textBoxScale:M,prevAnchor:Qt},this.markUsedJustification(At,Ft,st,pt),At.allowVerticalPlacement&&(this.markUsedOrientation(At,pt,st),this.placedOrientations[st.crossTileID]=pt),{shift:St,placedGlyphBoxes:Bt}}}placeLayerBucketPart(l,d,v){let{bucket:b,layout:M,posMatrix:O,textLabelPlaneMatrix:B,labelToScreenMatrix:U,textPixelRatio:W,holdingForFade:Z,collisionBoxArray:$,partiallyEvaluatedTextSize:st,collisionGroup:At}=l.parameters,pt=M.get(\"text-optional\"),yt=M.get(\"icon-optional\"),dt=n.ar(M,\"text-overlap\",\"text-allow-overlap\"),Ft=dt===\"always\",Ht=n.ar(M,\"icon-overlap\",\"icon-allow-overlap\"),St=Ht===\"always\",Bt=M.get(\"text-rotation-alignment\")===\"map\",Qt=M.get(\"text-pitch-alignment\")===\"map\",$t=M.get(\"icon-text-fit\")!==\"none\",oe=M.get(\"symbol-z-order\")===\"viewport-y\",pe=Ft&&(St||!b.hasIconData()||yt),he=St&&(Ft||!b.hasTextData()||pt);!b.collisionArrays&&$&&b.deserializeCollisionBoxes($);let be=this.retainedQueryData[b.bucketInstanceId].tileID,Ze=this.terrain?(Ee,pr)=>this.terrain.getElevation(be,Ee,pr):null,Kr=(Ee,pr)=>{var tr,Gi;if(d[Ee.crossTileID])return;if(Z)return void(this.placements[Ee.crossTileID]=new ie(!1,!1,!1));let Jr=!1,Vr=!1,ei=!0,On=null,tn={box:null,offscreen:null},Gs={box:null,offscreen:null},hs=null,Bn=null,qo=null,jr=0,ql=0,Zl=0;pr.textFeatureIndex?jr=pr.textFeatureIndex:Ee.useRuntimeCollisionCircles&&(jr=Ee.featureIndex),pr.verticalTextFeatureIndex&&(ql=pr.verticalTextFeatureIndex);let yu=pr.textBox;if(yu){let Ws=Fn=>{let fs=n.ai.horizontal;if(b.allowVerticalPlacement&&!Fn&&this.prevPlacement){let Zo=this.prevPlacement.placedOrientations[Ee.crossTileID];Zo&&(this.placedOrientations[Ee.crossTileID]=Zo,fs=Zo,this.markUsedOrientation(b,fs,Ee))}return fs},Ps=(Fn,fs)=>{if(b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&pr.verticalTextBox){for(let Zo of b.writingModes)if(Zo===n.ai.vertical?(tn=fs(),Gs=tn):tn=Fn(),tn&&tn.box&&tn.box.length)break}else tn=Fn()},Eo=Ee.textAnchorOffsetStartIndex,yh=Ee.textAnchorOffsetEndIndex;if(yh===Eo){let Fn=(fs,Zo)=>{let _n=this.collisionIndex.placeCollisionBox(fs,dt,W,O,At.predicate,Ze);return _n&&_n.box&&_n.box.length&&(this.markUsedOrientation(b,Zo,Ee),this.placedOrientations[Ee.crossTileID]=Zo),_n};Ps(()=>Fn(yu,n.ai.horizontal),()=>{let fs=pr.verticalTextBox;return b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&fs?Fn(fs,n.ai.vertical):{box:null,offscreen:null}}),Ws(tn&&tn.box&&tn.box.length)}else{let Fn=n.aq[(Gi=(tr=this.prevPlacement)===null||tr===void 0?void 0:tr.variableOffsets[Ee.crossTileID])===null||Gi===void 0?void 0:Gi.anchor],fs=(_n,ho,Gr)=>{let Ua=_n.x2-_n.x1,S_=_n.y2-_n.y1,zd=Ee.textBoxScale,cA=$t&&Ht===\"never\"?ho:null,Yl={box:[],offscreen:!1},Yo=dt===\"never\"?1:2,me=\"never\";Fn&&Yo++;for(let ke=0;kefs(yu,pr.iconBox,n.ai.horizontal),()=>{let _n=pr.verticalTextBox;return b.allowVerticalPlacement&&!(tn&&tn.box&&tn.box.length)&&Ee.numVerticalGlyphVertices>0&&_n?fs(_n,pr.verticalIconBox,n.ai.vertical):{box:null,offscreen:null}}),tn&&(Jr=tn.box,ei=tn.offscreen);let Zo=Ws(tn&&tn.box);if(!Jr&&this.prevPlacement){let _n=this.prevPlacement.variableOffsets[Ee.crossTileID];_n&&(this.variableOffsets[Ee.crossTileID]=_n,this.markUsedJustification(b,_n.anchor,Ee,Zo))}}}if(hs=tn,Jr=hs&&hs.box&&hs.box.length>0,ei=hs&&hs.offscreen,Ee.useRuntimeCollisionCircles){let Ws=b.text.placedSymbolArray.get(Ee.centerJustifiedTextSymbolIndex),Ps=n.aj(b.textSizeData,st,Ws),Eo=M.get(\"text-padding\");Bn=this.collisionIndex.placeCollisionCircles(dt,Ws,b.lineVertexArray,b.glyphOffsetArray,Ps,O,B,U,v,Qt,At.predicate,Ee.collisionCircleDiameter,Eo,Ze),Bn.circles.length&&Bn.collisionDetected&&!v&&n.w(\"Collisions detected, but collision boxes are not shown\"),Jr=Ft||Bn.circles.length>0&&!Bn.collisionDetected,ei=ei&&Bn.offscreen}if(pr.iconFeatureIndex&&(Zl=pr.iconFeatureIndex),pr.iconBox){let Ws=Ps=>{let Eo=$t&&On?Xe(Ps,On.x,On.y,Bt,Qt,this.transform.angle):Ps;return this.collisionIndex.placeCollisionBox(Eo,Ht,W,O,At.predicate,Ze)};Gs&&Gs.box&&Gs.box.length&&pr.verticalIconBox?(qo=Ws(pr.verticalIconBox),Vr=qo.box.length>0):(qo=Ws(pr.iconBox),Vr=qo.box.length>0),ei=ei&&qo.offscreen}let vu=pt||Ee.numHorizontalGlyphVertices===0&&Ee.numVerticalGlyphVertices===0,_h=yt||Ee.numIconVertices===0;if(vu||_h?_h?vu||(Vr=Vr&&Jr):Jr=Vr&&Jr:Vr=Jr=Vr&&Jr,Jr&&hs&&hs.box&&this.collisionIndex.insertCollisionBox(hs.box,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,Gs&&Gs.box&&ql?ql:jr,At.ID),Vr&&qo&&this.collisionIndex.insertCollisionBox(qo.box,Ht,M.get(\"icon-ignore-placement\"),b.bucketInstanceId,Zl,At.ID),Bn&&(Jr&&this.collisionIndex.insertCollisionCircles(Bn.circles,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,jr,At.ID),v)){let Ws=b.bucketInstanceId,Ps=this.collisionCircleArrays[Ws];Ps===void 0&&(Ps=this.collisionCircleArrays[Ws]=new se);for(let Eo=0;Eo=0;--pr){let tr=Ee[pr];Kr(b.symbolInstances.get(tr),b.collisionArrays[tr])}}else for(let Ee=l.symbolInstanceStart;Ee=0&&(l.text.placedSymbolArray.get(B).crossTileID=M>=0&&B!==M?0:v.crossTileID)}markUsedOrientation(l,d,v){let b=d===n.ai.horizontal||d===n.ai.horizontalOnly?d:0,M=d===n.ai.vertical?d:0,O=[v.leftJustifiedTextSymbolIndex,v.centerJustifiedTextSymbolIndex,v.rightJustifiedTextSymbolIndex];for(let B of O)l.text.placedSymbolArray.get(B).placedOrientation=b;v.verticalPlacedTextSymbolIndex&&(l.text.placedSymbolArray.get(v.verticalPlacedTextSymbolIndex).placedOrientation=M)}commit(l){this.commitTime=l,this.zoomAtLastRecencyCheck=this.transform.zoom;let d=this.prevPlacement,v=!1;this.prevZoomAdjustment=d?d.zoomAdjustment(this.transform.zoom):0;let b=d?d.symbolFadeChange(l):1,M=d?d.opacities:{},O=d?d.variableOffsets:{},B=d?d.placedOrientations:{};for(let U in this.placements){let W=this.placements[U],Z=M[U];Z?(this.opacities[U]=new Vt(Z,b,W.text,W.icon),v=v||W.text!==Z.text.placed||W.icon!==Z.icon.placed):(this.opacities[U]=new Vt(null,b,W.text,W.icon,W.skipFade),v=v||W.text||W.icon)}for(let U in M){let W=M[U];if(!this.opacities[U]){let Z=new Vt(W,b,!1,!1);Z.isHidden()||(this.opacities[U]=Z,v=v||W.text.placed||W.icon.placed)}}for(let U in O)this.variableOffsets[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.variableOffsets[U]=O[U]);for(let U in B)this.placedOrientations[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.placedOrientations[U]=B[U]);if(d&&d.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");v?this.lastPlacementChangeTime=l:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=d?d.lastPlacementChangeTime:l)}updateLayerOpacities(l,d){let v={};for(let b of d){let M=b.getBucket(l);M&&b.latestFeatureIndex&&l.id===M.layerIds[0]&&this.updateBucketOpacities(M,v,b.collisionBoxArray)}}updateBucketOpacities(l,d,v){l.hasTextData()&&(l.text.opacityVertexArray.clear(),l.text.hasVisibleVertices=!1),l.hasIconData()&&(l.icon.opacityVertexArray.clear(),l.icon.hasVisibleVertices=!1),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexArray.clear(),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexArray.clear();let b=l.layers[0],M=b.layout,O=new Vt(null,0,!1,!1,!0),B=M.get(\"text-allow-overlap\"),U=M.get(\"icon-allow-overlap\"),W=b._unevaluatedLayout.hasValue(\"text-variable-anchor\")||b._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Z=M.get(\"text-rotation-alignment\")===\"map\",$=M.get(\"text-pitch-alignment\")===\"map\",st=M.get(\"icon-text-fit\")!==\"none\",At=new Vt(null,0,B&&(U||!l.hasIconData()||M.get(\"icon-optional\")),U&&(B||!l.hasTextData()||M.get(\"text-optional\")),!0);!l.collisionArrays&&v&&(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData())&&l.deserializeCollisionBoxes(v);let pt=(yt,dt,Ft)=>{for(let Ht=0;Ht
0,$t=this.placedOrientations[dt.crossTileID],oe=$t===n.ai.vertical,pe=$t===n.ai.horizontal||$t===n.ai.horizontalOnly;if(Ft>0||Ht>0){let he=es(Bt.text);pt(l.text,Ft,oe?oa:he),pt(l.text,Ht,pe?oa:he);let be=Bt.text.isHidden();[dt.rightJustifiedTextSymbolIndex,dt.centerJustifiedTextSymbolIndex,dt.leftJustifiedTextSymbolIndex].forEach(Ee=>{Ee>=0&&(l.text.placedSymbolArray.get(Ee).hidden=be||oe?1:0)}),dt.verticalPlacedTextSymbolIndex>=0&&(l.text.placedSymbolArray.get(dt.verticalPlacedTextSymbolIndex).hidden=be||pe?1:0);let Ze=this.variableOffsets[dt.crossTileID];Ze&&this.markUsedJustification(l,Ze.anchor,dt,$t);let Kr=this.placedOrientations[dt.crossTileID];Kr&&(this.markUsedJustification(l,\"left\",dt,Kr),this.markUsedOrientation(l,Kr,dt))}if(Qt){let he=es(Bt.icon),be=!(st&&dt.verticalPlacedIconSymbolIndex&&oe);dt.placedIconSymbolIndex>=0&&(pt(l.icon,dt.numIconVertices,be?he:oa),l.icon.placedSymbolArray.get(dt.placedIconSymbolIndex).hidden=Bt.icon.isHidden()),dt.verticalPlacedIconSymbolIndex>=0&&(pt(l.icon,dt.numVerticalIconVertices,be?oa:he),l.icon.placedSymbolArray.get(dt.verticalPlacedIconSymbolIndex).hidden=Bt.icon.isHidden())}if(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData()){let he=l.collisionArrays[yt];if(he){let be=new n.P(0,0);if(he.textBox||he.verticalTextBox){let Kr=!0;if(W){let Ee=this.variableOffsets[St];Ee?(be=vr(Ee.anchor,Ee.width,Ee.height,Ee.textOffset,Ee.textBoxScale),Z&&be._rotate($?this.transform.angle:-this.transform.angle)):Kr=!1}he.textBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||oe,be.x,be.y),he.verticalTextBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||pe,be.x,be.y)}let Ze=!!(!pe&&he.verticalIconBox);he.iconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,Ze,st?be.x:0,st?be.y:0),he.verticalIconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,!Ze,st?be.x:0,st?be.y:0)}}}if(l.sortFeatures(this.transform.angle),this.retainedQueryData[l.bucketInstanceId]&&(this.retainedQueryData[l.bucketInstanceId].featureSortOrder=l.featureSortOrder),l.hasTextData()&&l.text.opacityVertexBuffer&&l.text.opacityVertexBuffer.updateData(l.text.opacityVertexArray),l.hasIconData()&&l.icon.opacityVertexBuffer&&l.icon.opacityVertexBuffer.updateData(l.icon.opacityVertexArray),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexBuffer&&l.iconCollisionBox.collisionVertexBuffer.updateData(l.iconCollisionBox.collisionVertexArray),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexBuffer&&l.textCollisionBox.collisionVertexBuffer.updateData(l.textCollisionBox.collisionVertexArray),l.text.opacityVertexArray.length!==l.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${l.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${l.text.layoutVertexArray.length}) / 4`);if(l.icon.opacityVertexArray.length!==l.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${l.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${l.icon.layoutVertexArray.length}) / 4`);if(l.bucketInstanceId in this.collisionCircleArrays){let yt=this.collisionCircleArrays[l.bucketInstanceId];l.placementInvProjMatrix=yt.invProjMatrix,l.placementViewportMatrix=yt.viewportMatrix,l.collisionCircleArray=yt.circles,delete this.collisionCircleArrays[l.bucketInstanceId]}}symbolFadeChange(l){return this.fadeDuration===0?1:(l-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(l){return Math.max(0,(this.transform.zoom-l)/1.5)}hasTransitions(l){return this.stale||l-this.lastPlacementChangeTimel}setStale(){this.stale=!0}}function wr(T,l,d,v,b){T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0)}let xi=Math.pow(2,25),zi=Math.pow(2,24),ni=Math.pow(2,17),Hr=Math.pow(2,16),jn=Math.pow(2,9),Bi=Math.pow(2,8),xn=Math.pow(2,1);function es(T){if(T.opacity===0&&!T.placed)return 0;if(T.opacity===1&&T.placed)return 4294967295;let l=T.placed?1:0,d=Math.floor(127*T.opacity);return d*xi+l*zi+d*ni+l*Hr+d*jn+l*Bi+d*xn+l}let oa=0;class Um{constructor(l){this._sortAcrossTiles=l.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!l.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(l,d,v,b,M){let O=this._bucketParts;for(;this._currentTileIndexB.sortKey-U.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.h.now()-b>2;for(;this._currentPlacementIndex>=0;){let O=d[l[this._currentPlacementIndex]],B=this.placement.collisionIndex.transform.zoom;if(O.type===\"symbol\"&&(!O.minzoom||O.minzoom<=B)&&(!O.maxzoom||O.maxzoom>B)){if(this._inProgressLayer||(this._inProgressLayer=new Um(O)),this._inProgressLayer.continuePlacement(v[O.source],this.placement,this._showCollisionBoxes,O,M))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(l){return this.placement.commit(l),this.placement}}let Ss=512/n.N/2;class nh{constructor(l,d,v){this.tileID=l,this.bucketInstanceId=v,this._symbolsByKey={};let b=new Map;for(let M=0;M({x:Math.floor(U.anchorX*Ss),y:Math.floor(U.anchorY*Ss)})),crossTileIDs:O.map(U=>U.crossTileID)};if(B.positions.length>128){let U=new n.av(B.positions.length,16,Uint16Array);for(let{x:W,y:Z}of B.positions)U.add(W,Z);U.finish(),delete B.positions,B.index=U}this._symbolsByKey[M]=B}}getScaledCoordinates(l,d){let{x:v,y:b,z:M}=this.tileID.canonical,{x:O,y:B,z:U}=d.canonical,W=Ss/Math.pow(2,U-M),Z=(B*n.N+l.anchorY)*W,$=b*n.N*Ss;return{x:Math.floor((O*n.N+l.anchorX)*W-v*n.N*Ss),y:Math.floor(Z-$)}}findMatches(l,d,v){let b=this.tileID.canonical.zl)}}class ai{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ka{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(l){let d=Math.round((l-this.lng)/360);if(d!==0)for(let v in this.indexes){let b=this.indexes[v],M={};for(let O in b){let B=b[O];B.tileID=B.tileID.unwrapTo(B.tileID.wrap+d),M[B.tileID.key]=B}this.indexes[v]=M}this.lng=l}addBucket(l,d,v){if(this.indexes[l.overscaledZ]&&this.indexes[l.overscaledZ][l.key]){if(this.indexes[l.overscaledZ][l.key].bucketInstanceId===d.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(l.overscaledZ,this.indexes[l.overscaledZ][l.key])}for(let M=0;Ml.overscaledZ)for(let B in O){let U=O[B];U.tileID.isChildOf(l)&&U.findMatches(d.symbolInstances,l,b)}else{let B=O[l.scaledTo(Number(M)).key];B&&B.findMatches(d.symbolInstances,l,b)}}for(let M=0;M{d[v]=!0});for(let v in this.layerIndexes)d[v]||delete this.layerIndexes[v]}}let ln=(T,l)=>n.x(T,l&&l.filter(d=>d.identifier!==\"source.canvas\")),Dn=n.F(n.ax,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setGlyphs\",\"setSprite\"]),Vm=n.F(n.ax,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Go=n.aw();class Gn extends n.E{constructor(l,d={}){super(),this.map=l,this.dispatcher=new ih(bo(),this,l._getMapId()),this.imageManager=new ue,this.imageManager.setEventedParent(this),this.glyphManager=new Sr(l._requestManager,d.localIdeographFontFamily),this.lineAtlas=new No(256,512),this.crossTileSymbolIndex=new Dc,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new n.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",n.az());let v=this;this._rtlTextPluginCallback=Gn.registerForPluginStateChange(b=>{v.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:b.pluginStatus,pluginURL:b.pluginURL},(M,O)=>{if(n.aA(M),O&&O.every(B=>B))for(let B in v.sourceCaches){let U=v.sourceCaches[B].getSource().type;U!==\"vector\"&&U!==\"geojson\"||v.sourceCaches[B].reload()}})}),this.on(\"data\",b=>{if(b.dataType!==\"source\"||b.sourceDataType!==\"metadata\")return;let M=this.sourceCaches[b.sourceId];if(!M)return;let O=M.getSource();if(O&&O.vectorLayerIds)for(let B in this._layers){let U=this._layers[B];U.source===O.id&&this._validateLayer(U)}})}loadURL(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),d.validate=typeof d.validate!=\"boolean\"||d.validate;let b=this.map._requestManager.transformRequest(l,Q.Style);this._request=n.f(b,(M,O)=>{this._request=null,M?this.fire(new n.j(M)):O&&this._load(O,d,v)})}loadJSON(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._request=n.h.frame(()=>{this._request=null,d.validate=d.validate!==!1,this._load(l,d,v)})}loadEmpty(){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._load(Go,{validate:!1})}_load(l,d,v){var b;let M=d.transformStyle?d.transformStyle(v,l):l;if(!d.validate||!ln(this,n.y(M))){this._loaded=!0,this.stylesheet=M;for(let O in M.sources)this.addSource(O,M.sources[O],{validate:!1});M.sprite?this._loadSprite(M.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(M.glyphs),this._createLayers(),this.light=new zl(this.stylesheet.light),this.map.setTerrain((b=this.stylesheet.terrain)!==null&&b!==void 0?b:null),this.fire(new n.k(\"data\",{dataType:\"style\"})),this.fire(new n.k(\"style.load\"))}}_createLayers(){let l=n.aB(this.stylesheet.layers);this.dispatcher.broadcast(\"setLayers\",l),this._order=l.map(d=>d.id),this._layers={},this._serializedLayers=null;for(let d of l){let v=n.aC(d);v.setEventedParent(this,{layer:{id:d.id}}),this._layers[d.id]=v}}_loadSprite(l,d=!1,v=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(b,M,O,B){let U=kt(b),W=U.length,Z=O>1?\"@2x\":\"\",$={},st={},At={};for(let{id:pt,url:yt}of U){let dt=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".json\"),Q.SpriteJSON),Ft=`${pt}_${dt.url}`;$[Ft]=n.f(dt,(Bt,Qt)=>{delete $[Ft],st[pt]=Qt,Xt(B,st,At,Bt,W)});let Ht=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".png\"),Q.SpriteImage),St=`${pt}_${Ht.url}`;$[St]=j.getImage(Ht,(Bt,Qt)=>{delete $[St],At[pt]=Qt,Xt(B,st,At,Bt,W)})}return{cancel(){for(let pt of Object.values($))pt.cancel()}}}(l,this.map._requestManager,this.map.getPixelRatio(),(b,M)=>{if(this._spriteRequest=null,b)this.fire(new n.j(b));else if(M)for(let O in M){this._spritesImagesIds[O]=[];let B=this._spritesImagesIds[O]?this._spritesImagesIds[O].filter(U=>!(U in M)):[];for(let U of B)this.imageManager.removeImage(U),this._changedImages[U]=!0;for(let U in M[O]){let W=O===\"default\"?U:`${O}:${U}`;this._spritesImagesIds[O].push(W),W in this.imageManager.images?this.imageManager.updateImage(W,M[O][U],!1):this.imageManager.addImage(W,M[O][U]),d&&(this._changedImages[W]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),d&&(this._changed=!0),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"})),v&&v(b)})}_unloadSprite(){for(let l of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(l),this._changedImages[l]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}_validateLayer(l){let d=this.sourceCaches[l.source];if(!d)return;let v=l.sourceLayer;if(!v)return;let b=d.getSource();(b.type===\"geojson\"||b.vectorLayerIds&&b.vectorLayerIds.indexOf(v)===-1)&&this.fire(new n.j(new Error(`Source layer \"${v}\" does not exist on source \"${b.id}\" as specified by style layer \"${l.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let l in this.sourceCaches)if(!this.sourceCaches[l].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(l){let d=this._serializedAllLayers();if(!l||l.length===0)return Object.values(d);let v=[];for(let b of l)d[b]&&v.push(d[b]);return v}_serializedAllLayers(){let l=this._serializedLayers;if(l)return l;l=this._serializedLayers={};let d=Object.keys(this._layers);for(let v of d){let b=this._layers[v];b.type!==\"custom\"&&(l[v]=b.serialize())}return l}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(let l in this.sourceCaches)if(this.sourceCaches[l].hasTransition())return!0;for(let l in this._layers)if(this._layers[l].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(l){if(!this._loaded)return;let d=this._changed;if(this._changed){let b=Object.keys(this._updatedLayers),M=Object.keys(this._removedLayers);(b.length||M.length)&&this._updateWorkerLayers(b,M);for(let O in this._updatedSources){let B=this._updatedSources[O];if(B===\"reload\")this._reloadSource(O);else{if(B!==\"clear\")throw new Error(`Invalid action ${B}`);this._clearSource(O)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let O in this._updatedPaintProps)this._layers[O].updateTransitions(l);this.light.updateTransitions(l),this._resetUpdates()}let v={};for(let b in this.sourceCaches){let M=this.sourceCaches[b];v[b]=M.used,M.used=!1}for(let b of this._order){let M=this._layers[b];M.recalculate(l,this._availableImages),!M.isHidden(l.zoom)&&M.source&&(this.sourceCaches[M.source].used=!0)}for(let b in v){let M=this.sourceCaches[b];v[b]!==M.used&&M.fire(new n.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:b}))}this.light.recalculate(l),this.z=l.zoom,d&&this.fire(new n.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let l=Object.keys(this._changedImages);if(l.length){for(let d in this.sourceCaches)this.sourceCaches[d].reloadTilesForDependencies([\"icons\",\"patterns\"],l);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let l in this.sourceCaches)this.sourceCaches[l].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(l,d){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeByIds(l),removedIds:d})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(l,d={}){this._checkLoaded();let v=this.serialize();if(l=d.transformStyle?d.transformStyle(v,l):l,ln(this,n.y(l)))return!1;(l=n.aD(l)).layers=n.aB(l.layers);let b=n.aE(v,l).filter(O=>!(O.command in Vm));if(b.length===0)return!1;let M=b.filter(O=>!(O.command in Dn));if(M.length>0)throw new Error(`Unimplemented: ${M.map(O=>O.command).join(\", \")}.`);for(let O of b)O.command!==\"setTransition\"&&this[O.command].apply(this,O.args);return this.stylesheet=l,this._serializedLayers=null,!0}addImage(l,d){if(this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" already exists.`)));this.imageManager.addImage(l,d),this._afterImageUpdated(l)}updateImage(l,d){this.imageManager.updateImage(l,d)}getImage(l){return this.imageManager.getImage(l)}removeImage(l){if(!this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" does not exist.`)));this.imageManager.removeImage(l),this._afterImageUpdated(l)}_afterImageUpdated(l){this._availableImages=this.imageManager.listImages(),this._changedImages[l]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(l,d,v={}){if(this._checkLoaded(),this.sourceCaches[l]!==void 0)throw new Error(`Source \"${l}\" already exists.`);if(!d.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(d).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(d.type)>=0&&this._validate(n.y.source,`sources.${l}`,d,null,v))return;this.map&&this.map._collectResourceTiming&&(d.collectResourceTiming=!0);let b=this.sourceCaches[l]=new ls(l,d,this.dispatcher);b.style=this,b.setEventedParent(this,()=>({isSourceLoaded:b.loaded(),source:b.serialize(),sourceId:l})),b.onAdd(this.map),this._changed=!0}removeSource(l){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(\"There is no source with this ID\");for(let v in this._layers)if(this._layers[v].source===l)return this.fire(new n.j(new Error(`Source \"${l}\" cannot be removed while layer \"${v}\" is using it.`)));let d=this.sourceCaches[l];delete this.sourceCaches[l],delete this._updatedSources[l],d.fire(new n.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:l})),d.setEventedParent(null),d.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(l,d){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(`There is no source with this ID=${l}`);let v=this.sourceCaches[l].getSource();if(v.type!==\"geojson\")throw new Error(`geojsonSource.type is ${v.type}, which is !== 'geojson`);v.setData(d),this._changed=!0}getSource(l){return this.sourceCaches[l]&&this.sourceCaches[l].getSource()}addLayer(l,d,v={}){this._checkLoaded();let b=l.id;if(this.getLayer(b))return void this.fire(new n.j(new Error(`Layer \"${b}\" already exists on this map.`)));let M;if(l.type===\"custom\"){if(ln(this,n.aF(l)))return;M=n.aC(l)}else{if(\"source\"in l&&typeof l.source==\"object\"&&(this.addSource(b,l.source),l=n.aD(l),l=n.e(l,{source:b})),this._validate(n.y.layer,`layers.${b}`,l,{arrayIndex:-1},v))return;M=n.aC(l),this._validateLayer(M),M.setEventedParent(this,{layer:{id:b}})}let O=d?this._order.indexOf(d):this._order.length;if(d&&O===-1)this.fire(new n.j(new Error(`Cannot add layer \"${b}\" before non-existing layer \"${d}\".`)));else{if(this._order.splice(O,0,b),this._layerOrderChanged=!0,this._layers[b]=M,this._removedLayers[b]&&M.source&&M.type!==\"custom\"){let B=this._removedLayers[b];delete this._removedLayers[b],B.type!==M.type?this._updatedSources[M.source]=\"clear\":(this._updatedSources[M.source]=\"reload\",this.sourceCaches[M.source].pause())}this._updateLayer(M),M.onAdd&&M.onAdd(this.map)}}moveLayer(l,d){if(this._checkLoaded(),this._changed=!0,!this._layers[l])return void this.fire(new n.j(new Error(`The layer '${l}' does not exist in the map's style and cannot be moved.`)));if(l===d)return;let v=this._order.indexOf(l);this._order.splice(v,1);let b=d?this._order.indexOf(d):this._order.length;d&&b===-1?this.fire(new n.j(new Error(`Cannot move layer \"${l}\" before non-existing layer \"${d}\".`))):(this._order.splice(b,0,l),this._layerOrderChanged=!0)}removeLayer(l){this._checkLoaded();let d=this._layers[l];if(!d)return void this.fire(new n.j(new Error(`Cannot remove non-existing layer \"${l}\".`)));d.setEventedParent(null);let v=this._order.indexOf(l);this._order.splice(v,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[l]=d,delete this._layers[l],this._serializedLayers&&delete this._serializedLayers[l],delete this._updatedLayers[l],delete this._updatedPaintProps[l],d.onRemove&&d.onRemove(this.map)}getLayer(l){return this._layers[l]}getLayersOrder(){return[...this._order]}hasLayer(l){return l in this._layers}setLayerZoomRange(l,d,v){this._checkLoaded();let b=this.getLayer(l);b?b.minzoom===d&&b.maxzoom===v||(d!=null&&(b.minzoom=d),v!=null&&(b.maxzoom=v),this._updateLayer(b)):this.fire(new n.j(new Error(`Cannot set the zoom range of non-existing layer \"${l}\".`)))}setFilter(l,d,v={}){this._checkLoaded();let b=this.getLayer(l);if(b){if(!n.aG(b.filter,d))return d==null?(b.filter=void 0,void this._updateLayer(b)):void(this._validate(n.y.filter,`layers.${b.id}.filter`,d,null,v)||(b.filter=n.aD(d),this._updateLayer(b)))}else this.fire(new n.j(new Error(`Cannot filter non-existing layer \"${l}\".`)))}getFilter(l){return n.aD(this.getLayer(l).filter)}setLayoutProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getLayoutProperty(d),v)||(M.setLayoutProperty(d,v,b),this._updateLayer(M)):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getLayoutProperty(l,d){let v=this.getLayer(l);if(v)return v.getLayoutProperty(d);this.fire(new n.j(new Error(`Cannot get style of non-existing layer \"${l}\".`)))}setPaintProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getPaintProperty(d),v)||(M.setPaintProperty(d,v,b)&&this._updateLayer(M),this._changed=!0,this._updatedPaintProps[l]=!0):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getPaintProperty(l,d){return this.getLayer(l).getPaintProperty(d)}setFeatureState(l,d){this._checkLoaded();let v=l.source,b=l.sourceLayer,M=this.sourceCaches[v];if(M===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let O=M.getSource().type;O===\"geojson\"&&b?this.fire(new n.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):O!==\"vector\"||b?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),M.setFeatureState(b,l.id,d)):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(l,d){this._checkLoaded();let v=l.source,b=this.sourceCaches[v];if(b===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let M=b.getSource().type,O=M===\"vector\"?l.sourceLayer:void 0;M!==\"vector\"||O?d&&typeof l.id!=\"string\"&&typeof l.id!=\"number\"?this.fire(new n.j(new Error(\"A feature id is required to remove its specific state property.\"))):b.removeFeatureState(O,l.id,d):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(l){this._checkLoaded();let d=l.source,v=l.sourceLayer,b=this.sourceCaches[d];if(b!==void 0)return b.getSource().type!==\"vector\"||v?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),b.getFeatureState(v,l.id)):void this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new n.j(new Error(`The source '${d}' does not exist in the map's style.`)))}getTransition(){return n.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let l=n.aH(this.sourceCaches,M=>M.serialize()),d=this._serializeByIds(this._order),v=this.map.getTerrain()||void 0,b=this.stylesheet;return n.aI({version:b.version,name:b.name,metadata:b.metadata,light:b.light,center:b.center,zoom:b.zoom,bearing:b.bearing,pitch:b.pitch,sprite:b.sprite,glyphs:b.glyphs,transition:b.transition,sources:l,layers:d,terrain:v},M=>M!==void 0)}_updateLayer(l){this._updatedLayers[l.id]=!0,l.source&&!this._updatedSources[l.source]&&this.sourceCaches[l.source].getSource().type!==\"raster\"&&(this._updatedSources[l.source]=\"reload\",this.sourceCaches[l.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(l){let d=O=>this._layers[O].type===\"fill-extrusion\",v={},b=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B)){v[B]=O;for(let U of l){let W=U[B];if(W)for(let Z of W)b.push(Z)}}}b.sort((O,B)=>B.intersectionZ-O.intersectionZ);let M=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B))for(let U=b.length-1;U>=0;U--){let W=b[U].feature;if(v[W.layer.id]{let pe=Ft.featureSortOrder;if(pe){let he=pe.indexOf($t.featureIndex);return pe.indexOf(oe.featureIndex)-he}return oe.featureIndex-$t.featureIndex});for(let $t of Qt)Bt.push($t)}}for(let Ft in pt)pt[Ft].forEach(Ht=>{let St=Ht.feature,Bt=W[B[Ft].source].getFeatureState(St.layer[\"source-layer\"],St.id);St.source=St.layer.source,St.layer[\"source-layer\"]&&(St.sourceLayer=St.layer[\"source-layer\"]),St.state=Bt});return pt}(this._layers,O,this.sourceCaches,l,d,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(M)}querySourceFeatures(l,d){d&&d.filter&&this._validate(n.y.filter,\"querySourceFeatures.filter\",d.filter,null,d);let v=this.sourceCaches[l];return v?function(b,M){let O=b.getRenderableIds().map(W=>b.getTileByID(W)),B=[],U={};for(let W=0;W{cl[b]=M})(l,d),d.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:l,url:d.workerSourceURL},v):v(null,null))}getLight(){return this.light.getLight()}setLight(l,d={}){this._checkLoaded();let v=this.light.getLight(),b=!1;for(let O in l)if(!n.aG(l[O],v[O])){b=!0;break}if(!b)return;let M={now:n.h.now(),transition:n.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(l,d),this.light.updateTransitions(M)}_validate(l,d,v,b,M={}){return(!M||M.validate!==!1)&&ln(this,l.call(n.y,n.e({key:d,style:this.serialize(),value:v,styleSpec:n.v},b)))}_remove(l=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.aJ.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(let d in this._layers)this._layers[d].setEventedParent(null);for(let d in this.sourceCaches){let v=this.sourceCaches[d];v.setEventedParent(null),v.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(l)}_clearSource(l){this.sourceCaches[l].clearTiles()}_reloadSource(l){this.sourceCaches[l].resume(),this.sourceCaches[l].reload()}_updateSources(l){for(let d in this.sourceCaches)this.sourceCaches[d].update(l,this.map.terrain)}_generateCollisionBoxes(){for(let l in this.sourceCaches)this._reloadSource(l)}_updatePlacement(l,d,v,b,M=!1){let O=!1,B=!1,U={};for(let W of this._order){let Z=this._layers[W];if(Z.type!==\"symbol\")continue;if(!U[Z.source]){let st=this.sourceCaches[Z.source];U[Z.source]=st.getRenderableIds(!0).map(At=>st.getTileByID(At)).sort((At,pt)=>pt.tileID.overscaledZ-At.tileID.overscaledZ||(At.tileID.isLessThan(pt.tileID)?-1:1))}let $=this.crossTileSymbolIndex.addLayer(Z,U[Z.source],l.center.lng);O=O||$}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((M=M||this._layerOrderChanged||v===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.h.now(),l.zoom))&&(this.pauseablePlacement=new Vl(l,this.map.terrain,this._order,M,d,v,b,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,U),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.h.now()),B=!0),O&&this.pauseablePlacement.placement.setStale()),B||O)for(let W of this._order){let Z=this._layers[W];Z.type===\"symbol\"&&this.placement.updateLayerOpacities(Z,U[Z.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.h.now())}_releaseSymbolFadeTiles(){for(let l in this.sourceCaches)this.sourceCaches[l].releaseSymbolFadeTiles()}getImages(l,d,v){this.imageManager.getImages(d.icons,v),this._updateTilesForChangedImages();let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,d.icons)}getGlyphs(l,d,v){this.glyphManager.getGlyphs(d.stacks,v);let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,[\"\"])}getResource(l,d,v){return n.m(d,v)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(l,d={}){this._checkLoaded(),l&&this._validate(n.y.glyphs,\"glyphs\",l,null,d)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=l,this.glyphManager.entries={},this.glyphManager.setURL(l))}addSprite(l,d,v={},b){this._checkLoaded();let M=[{id:l,url:d}],O=[...kt(this.stylesheet.sprite),...M];this._validate(n.y.sprite,\"sprite\",O,null,v)||(this.stylesheet.sprite=O,this._loadSprite(M,!0,b))}removeSprite(l){this._checkLoaded();let d=kt(this.stylesheet.sprite);if(d.find(v=>v.id===l)){if(this._spritesImagesIds[l])for(let v of this._spritesImagesIds[l])this.imageManager.removeImage(v),this._changedImages[v]=!0;d.splice(d.findIndex(v=>v.id===l),1),this.stylesheet.sprite=d.length>0?d:void 0,delete this._spritesImagesIds[l],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}else this.fire(new n.j(new Error(`Sprite \"${l}\" doesn't exists on this map.`)))}getSprite(){return kt(this.stylesheet.sprite)}setSprite(l,d={},v){this._checkLoaded(),l&&this._validate(n.y.sprite,\"sprite\",l,null,d)||(this.stylesheet.sprite=l,l?this._loadSprite(l,!0,v):(this._unloadSprite(),v&&v(null)))}}Gn.registerForPluginStateChange=n.aK;var So=n.Q([{name:\"a_pos\",type:\"Int16\",components:2}]),jl=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";let Ki={prelude:_i(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:_i(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_i(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_i(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_i(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_i(`uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:_i(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_i(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_i(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_i(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_i(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_i(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_i(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_i(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_i(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_i(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_i(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_i(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_i(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_i(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_i(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_i(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",jl),terrainDepth:_i(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",jl),terrainCoords:_i(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",jl)};function _i(T,l){let d=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,v=l.match(/attribute ([\\w]+) ([\\w]+)/g),b=T.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),M=l.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),O=M?M.concat(b):b,B={};return{fragmentSource:T=T.replace(d,(U,W,Z,$,st)=>(B[st]=!0,W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = u_${st};\n#endif\n`)),vertexSource:l=l.replace(d,(U,W,Z,$,st)=>{let At=$===\"float\"?\"vec2\":\"vec4\",pt=st.match(/color/)?\"color\":At;return B[st]?W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`}),staticAttributes:v,staticUniforms:O}}class Gl{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(l,d,v,b,M,O,B,U,W){this.context=l;let Z=this.boundPaintVertexBuffers.length!==b.length;for(let $=0;!Z&&$({u_depth:new n.aL($t,oe.u_depth),u_terrain:new n.aL($t,oe.u_terrain),u_terrain_dim:new n.aM($t,oe.u_terrain_dim),u_terrain_matrix:new n.aN($t,oe.u_terrain_matrix),u_terrain_unpack:new n.aO($t,oe.u_terrain_unpack),u_terrain_exaggeration:new n.aM($t,oe.u_terrain_exaggeration)}))(l,Qt),this.binderUniforms=v?v.getUniforms(l,Qt):[]}draw(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt,Ft,Ht){let St=l.gl;if(this.failedToCreate)return;if(l.program.set(this.program),l.setDepthMode(v),l.setStencilMode(b),l.setColorMode(M),l.setCullFace(O),U){l.activeTexture.set(St.TEXTURE2),St.bindTexture(St.TEXTURE_2D,U.depthTexture),l.activeTexture.set(St.TEXTURE3),St.bindTexture(St.TEXTURE_2D,U.texture);for(let Qt in this.terrainUniforms)this.terrainUniforms[Qt].set(U[Qt])}for(let Qt in this.fixedUniforms)this.fixedUniforms[Qt].set(B[Qt]);yt&&yt.setUniforms(l,this.binderUniforms,At,{zoom:pt});let Bt=0;switch(d){case St.LINES:Bt=2;break;case St.TRIANGLES:Bt=3;break;case St.LINE_STRIP:Bt=1}for(let Qt of st.get()){let $t=Qt.vaos||(Qt.vaos={});($t[W]||($t[W]=new Gl)).bind(l,this,Z,yt?yt.getPaintVertexBuffers():[],$,Qt.vertexOffset,dt,Ft,Ht),St.drawElements(d,Qt.primitiveLength*Bt,St.UNSIGNED_SHORT,Qt.primitiveOffset*Bt*2)}}}function rs(T,l,d){let v=1/Dt(d,1,l.transform.tileZoom),b=Math.pow(2,d.tileID.overscaledZ),M=d.tileSize*Math.pow(2,l.transform.tileZoom)/b,O=M*(d.tileID.canonical.x+d.tileID.wrap*b),B=M*d.tileID.canonical.y;return{u_image:0,u_texsize:d.imageAtlasTexture.size,u_scale:[v,T.fromScale,T.toScale],u_fade:T.t,u_pixel_coord_upper:[O>>16,B>>16],u_pixel_coord_lower:[65535&O,65535&B]}}let Gp=(T,l,d,v)=>{let b=l.style.light,M=b.properties.get(\"position\"),O=[M.x,M.y,M.z],B=function(){var W=new n.A(9);return n.A!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[5]=0,W[6]=0,W[7]=0),W[0]=1,W[4]=1,W[8]=1,W}();b.properties.get(\"anchor\")===\"viewport\"&&function(W,Z){var $=Math.sin(Z),st=Math.cos(Z);W[0]=st,W[1]=$,W[2]=0,W[3]=-$,W[4]=st,W[5]=0,W[6]=0,W[7]=0,W[8]=1}(B,-l.transform.angle),function(W,Z,$){var st=Z[0],At=Z[1],pt=Z[2];W[0]=st*$[0]+At*$[3]+pt*$[6],W[1]=st*$[1]+At*$[4]+pt*$[7],W[2]=st*$[2]+At*$[5]+pt*$[8]}(O,O,B);let U=b.properties.get(\"color\");return{u_matrix:T,u_lightpos:O,u_lightintensity:b.properties.get(\"intensity\"),u_lightcolor:[U.r,U.g,U.b],u_vertical_gradient:+d,u_opacity:v}},Wl=(T,l,d,v,b,M,O)=>n.e(Gp(T,l,d,v),rs(M,l,O),{u_height_factor:-Math.pow(2,b.overscaledZ)/O.tileSize/8}),_d=T=>({u_matrix:T}),yd=(T,l,d,v)=>n.e(_d(T),rs(d,l,v)),vd=(T,l)=>({u_matrix:T,u_world:l}),xd=(T,l,d,v,b)=>n.e(yd(T,l,d,v),{u_world:b}),lt=(T,l,d,v)=>{let b=T.transform,M,O;if(v.paint.get(\"circle-pitch-alignment\")===\"map\"){let B=Dt(d,1,b.zoom);M=!0,O=[B,B]}else M=!1,O=b.pixelsToGLUnits;return{u_camera_to_center_distance:b.cameraToCenterDistance,u_scale_with_map:+(v.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:T.translatePosMatrix(l.posMatrix,d,v.paint.get(\"circle-translate\"),v.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+M,u_device_pixel_ratio:T.pixelRatio,u_extrude_scale:O}},ft=(T,l,d)=>{let v=Dt(d,1,l.zoom),b=Math.pow(2,l.zoom-d.tileID.overscaledZ),M=d.tileID.overscaleFactor();return{u_matrix:T,u_camera_to_center_distance:l.cameraToCenterDistance,u_pixels_to_tile_units:v,u_extrude_scale:[l.pixelsToGLUnits[0]/(v*b),l.pixelsToGLUnits[1]/(v*b)],u_overscale_factor:M}},Lt=(T,l,d=1)=>({u_matrix:T,u_color:l,u_overlay:0,u_overlay_scale:d}),Kt=T=>({u_matrix:T}),ge=(T,l,d,v)=>({u_matrix:T,u_extrude_scale:Dt(l,1,d),u_intensity:v});function Qe(T,l){let d=Math.pow(2,l.canonical.z),v=l.canonical.y;return[new n.U(0,v/d).toLngLat().lat,new n.U(0,(v+1)/d).toLngLat().lat]}let ti=(T,l,d,v)=>{let b=T.transform;return{u_matrix:jm(T,l,d,v),u_ratio:1/Dt(l,1,b.zoom),u_device_pixel_ratio:T.pixelRatio,u_units_to_pixels:[1/b.pixelsToGLUnits[0],1/b.pixelsToGLUnits[1]]}},is=(T,l,d,v,b)=>n.e(ti(T,l,d,b),{u_image:0,u_image_height:v}),Ts=(T,l,d,v,b)=>{let M=T.transform,O=Ra(l,M);return{u_matrix:jm(T,l,d,b),u_texsize:l.imageAtlasTexture.size,u_ratio:1/Dt(l,1,M.zoom),u_device_pixel_ratio:T.pixelRatio,u_image:0,u_scale:[O,v.fromScale,v.toScale],u_fade:v.t,u_units_to_pixels:[1/M.pixelsToGLUnits[0],1/M.pixelsToGLUnits[1]]}},Vs=(T,l,d,v,b,M)=>{let O=T.lineAtlas,B=Ra(l,T.transform),U=d.layout.get(\"line-cap\")===\"round\",W=O.getDash(v.from,U),Z=O.getDash(v.to,U),$=W.width*b.fromScale,st=Z.width*b.toScale;return n.e(ti(T,l,d,M),{u_patternscale_a:[B/$,-W.height/2],u_patternscale_b:[B/st,-Z.height/2],u_sdfgamma:O.width/(256*Math.min($,st)*T.pixelRatio)/2,u_image:0,u_tex_y_a:W.y,u_tex_y_b:Z.y,u_mix:b.t})};function Ra(T,l){return 1/Dt(T,1,l.tileZoom)}function jm(T,l,d,v){return T.translatePosMatrix(v?v.posMatrix:l.tileID.posMatrix,l,d.paint.get(\"line-translate\"),d.paint.get(\"line-translate-anchor\"))}let Ox=(T,l,d,v,b)=>{return{u_matrix:T,u_tl_parent:l,u_scale_parent:d,u_buffer_scale:1,u_fade_t:v.mix,u_opacity:v.opacity*b.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:b.paint.get(\"raster-brightness-min\"),u_brightness_high:b.paint.get(\"raster-brightness-max\"),u_saturation_factor:(O=b.paint.get(\"raster-saturation\"),O>0?1-1/(1.001-O):-O),u_contrast_factor:(M=b.paint.get(\"raster-contrast\"),M>0?1/(1-M):1+M),u_spin_weights:Bx(b.paint.get(\"raster-hue-rotate\"))};var M,O};function Bx(T){T*=Math.PI/180;let l=Math.sin(T),d=Math.cos(T);return[(2*d+1)/3,(-Math.sqrt(3)*l-d+1)/3,(Math.sqrt(3)*l-d+1)/3]}let l_=(T,l,d,v,b,M,O,B,U,W)=>{let Z=b.transform;return{u_is_size_zoom_constant:+(T===\"constant\"||T===\"source\"),u_is_size_feature_constant:+(T===\"constant\"||T===\"camera\"),u_size_t:l?l.uSizeT:0,u_size:l?l.uSize:0,u_camera_to_center_distance:Z.cameraToCenterDistance,u_pitch:Z.pitch/360*2*Math.PI,u_rotate_symbol:+d,u_aspect_ratio:Z.width/Z.height,u_fade_change:b.options.fadeDuration?b.symbolFadeChange:1,u_matrix:M,u_label_plane_matrix:O,u_coord_matrix:B,u_is_text:+U,u_pitch_with_map:+v,u_texsize:W,u_texture:0}},c_=(T,l,d,v,b,M,O,B,U,W,Z)=>{let $=b.transform;return n.e(l_(T,l,d,v,b,M,O,B,U,W),{u_gamma_scale:v?Math.cos($._pitch)*$.cameraToCenterDistance:1,u_device_pixel_ratio:b.pixelRatio,u_is_halo:+Z})},gf=(T,l,d,v,b,M,O,B,U,W)=>n.e(c_(T,l,d,v,b,M,O,B,!0,U,!0),{u_texsize_icon:W,u_texture_icon:1}),Gm=(T,l,d)=>({u_matrix:T,u_opacity:l,u_color:d}),fl=(T,l,d,v,b,M)=>n.e(function(O,B,U,W){let Z=U.imageManager.getPattern(O.from.toString()),$=U.imageManager.getPattern(O.to.toString()),{width:st,height:At}=U.imageManager.getPixelSize(),pt=Math.pow(2,W.tileID.overscaledZ),yt=W.tileSize*Math.pow(2,U.transform.tileZoom)/pt,dt=yt*(W.tileID.canonical.x+W.tileID.wrap*pt),Ft=yt*W.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Z.tl,u_pattern_br_a:Z.br,u_pattern_tl_b:$.tl,u_pattern_br_b:$.br,u_texsize:[st,At],u_mix:B.t,u_pattern_size_a:Z.displaySize,u_pattern_size_b:$.displaySize,u_scale_a:B.fromScale,u_scale_b:B.toScale,u_tile_units_to_pixels:1/Dt(W,1,U.transform.tileZoom),u_pixel_coord_upper:[dt>>16,Ft>>16],u_pixel_coord_lower:[65535&dt,65535&Ft]}}(v,M,d,b),{u_matrix:T,u_opacity:l}),Wm={fillExtrusion:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_opacity:new n.aM(T,l.u_opacity)}),fillExtrusionPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_height_factor:new n.aM(T,l.u_height_factor),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade),u_opacity:new n.aM(T,l.u_opacity)}),fill:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),fillPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),fillOutline:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world)}),fillOutlinePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),circle:(T,l)=>({u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_scale_with_map:new n.aL(T,l.u_scale_with_map),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_matrix:new n.aN(T,l.u_matrix)}),collisionBox:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pixels_to_tile_units:new n.aM(T,l.u_pixels_to_tile_units),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_overscale_factor:new n.aM(T,l.u_overscale_factor)}),collisionCircle:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_inv_matrix:new n.aN(T,l.u_inv_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_viewport_size:new n.aQ(T,l.u_viewport_size)}),debug:(T,l)=>({u_color:new n.aR(T,l.u_color),u_matrix:new n.aN(T,l.u_matrix),u_overlay:new n.aL(T,l.u_overlay),u_overlay_scale:new n.aM(T,l.u_overlay_scale)}),clippingMask:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),heatmap:(T,l)=>({u_extrude_scale:new n.aM(T,l.u_extrude_scale),u_intensity:new n.aM(T,l.u_intensity),u_matrix:new n.aN(T,l.u_matrix)}),heatmapTexture:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_color_ramp:new n.aL(T,l.u_color_ramp),u_opacity:new n.aM(T,l.u_opacity)}),hillshade:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_latrange:new n.aQ(T,l.u_latrange),u_light:new n.aQ(T,l.u_light),u_shadow:new n.aR(T,l.u_shadow),u_highlight:new n.aR(T,l.u_highlight),u_accent:new n.aR(T,l.u_accent)}),hillshadePrepare:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_dimension:new n.aQ(T,l.u_dimension),u_zoom:new n.aM(T,l.u_zoom),u_unpack:new n.aO(T,l.u_unpack)}),line:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels)}),lineGradient:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_image:new n.aL(T,l.u_image),u_image_height:new n.aM(T,l.u_image_height)}),linePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texsize:new n.aQ(T,l.u_texsize),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_image:new n.aL(T,l.u_image),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),lineSDF:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_patternscale_a:new n.aQ(T,l.u_patternscale_a),u_patternscale_b:new n.aQ(T,l.u_patternscale_b),u_sdfgamma:new n.aM(T,l.u_sdfgamma),u_image:new n.aL(T,l.u_image),u_tex_y_a:new n.aM(T,l.u_tex_y_a),u_tex_y_b:new n.aM(T,l.u_tex_y_b),u_mix:new n.aM(T,l.u_mix)}),raster:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_tl_parent:new n.aQ(T,l.u_tl_parent),u_scale_parent:new n.aM(T,l.u_scale_parent),u_buffer_scale:new n.aM(T,l.u_buffer_scale),u_fade_t:new n.aM(T,l.u_fade_t),u_opacity:new n.aM(T,l.u_opacity),u_image0:new n.aL(T,l.u_image0),u_image1:new n.aL(T,l.u_image1),u_brightness_low:new n.aM(T,l.u_brightness_low),u_brightness_high:new n.aM(T,l.u_brightness_high),u_saturation_factor:new n.aM(T,l.u_saturation_factor),u_contrast_factor:new n.aM(T,l.u_contrast_factor),u_spin_weights:new n.aP(T,l.u_spin_weights)}),symbolIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture)}),symbolSDF:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),symbolTextAndIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texsize_icon:new n.aQ(T,l.u_texsize_icon),u_texture:new n.aL(T,l.u_texture),u_texture_icon:new n.aL(T,l.u_texture_icon),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),background:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_color:new n.aR(T,l.u_color)}),backgroundPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_image:new n.aL(T,l.u_image),u_pattern_tl_a:new n.aQ(T,l.u_pattern_tl_a),u_pattern_br_a:new n.aQ(T,l.u_pattern_br_a),u_pattern_tl_b:new n.aQ(T,l.u_pattern_tl_b),u_pattern_br_b:new n.aQ(T,l.u_pattern_br_b),u_texsize:new n.aQ(T,l.u_texsize),u_mix:new n.aM(T,l.u_mix),u_pattern_size_a:new n.aQ(T,l.u_pattern_size_a),u_pattern_size_b:new n.aQ(T,l.u_pattern_size_b),u_scale_a:new n.aM(T,l.u_scale_a),u_scale_b:new n.aM(T,l.u_scale_b),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_tile_units_to_pixels:new n.aM(T,l.u_tile_units_to_pixels)}),terrain:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainDepth:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainCoords:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_terrain_coords_id:new n.aM(T,l.u_terrain_coords_id),u_ele_delta:new n.aM(T,l.u_ele_delta)})};class Hm{constructor(l,d,v){this.context=l;let b=l.gl;this.buffer=b.createBuffer(),this.dynamicDraw=!!v,this.context.unbindVAO(),l.bindElementBuffer.set(this.buffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?b.DYNAMIC_DRAW:b.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(l){let d=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),d.bufferSubData(d.ELEMENT_ARRAY_BUFFER,0,l.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Wp={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class qm{constructor(l,d,v,b){this.length=d.length,this.attributes=v,this.itemSize=d.bytesPerElement,this.dynamicDraw=b,this.context=l;let M=l.gl;this.buffer=M.createBuffer(),l.bindVertexBuffer.set(this.buffer),M.bufferData(M.ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?M.DYNAMIC_DRAW:M.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(l){if(l.length!==this.length)throw new Error(`Length of new data is ${l.length}, which doesn't match current length of ${this.length}`);let d=this.context.gl;this.bind(),d.bufferSubData(d.ARRAY_BUFFER,0,l.arrayBuffer)}enableAttributes(l,d){for(let v=0;v0){let be=n.Z(),Ze=oe;n.aU(be,$t.placementInvProjMatrix,T.transform.glCoordMatrix),n.aU(be,be,$t.placementViewportMatrix),Z.push({circleArray:he,circleOffset:st,transform:Ze,invTransform:be,coord:Bt}),$+=he.length/4,st=$}pe&&W.draw(B,U.LINES,ci.disabled,Je.disabled,T.colorModeForRenderPass(),It.disabled,ft(oe,T.transform,Qt),T.style.map.terrain&&T.style.map.terrain.getTerrainData(Bt),d.id,pe.layoutVertexBuffer,pe.indexBuffer,pe.segments,null,T.transform.zoom,null,null,pe.collisionVertexBuffer)}if(!O||!Z.length)return;let At=T.useProgram(\"collisionCircle\"),pt=new n.aV;pt.resize(4*$),pt._trim();let yt=0;for(let St of Z)for(let Bt=0;Bt=0&&(pt[dt.associatedIconIndex]={shiftedAnchor:Kr,angle:Ee})}else ht(dt.numGlyphs,st)}if(W){At.clear();let yt=T.icon.placedSymbolArray;for(let dt=0;dtT.style.map.terrain.getElevation(pe,Zo,_n):null,fs=d.layout.get(\"text-rotation-alignment\")===\"map\";Te(be,pe.posMatrix,T,b,jr,ql,dt,W,fs,Fn)}let vu=T.translatePosMatrix(pe.posMatrix,he,M,O),_h=Ft||b&&$t||yu?Jm:jr,Ws=T.translatePosMatrix(ql,he,M,O,!0),Ps=Ee&&d.paint.get(b?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Eo;Eo=Ee?be.iconsInText?gf(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,ei,hs):c_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei,!0):l_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei);let yh={program:Gi,buffers:Ze,uniformValues:Eo,atlasTexture:On,atlasTextureIcon:Bn,atlasInterpolation:tn,atlasInterpolationIcon:Gs,isSDF:Ee,hasHalo:Ps};if(St&&be.canOverlap){Bt=!0;let Fn=Ze.segments.get();for(let fs of Fn)oe.push({segments:new n.S([fs]),sortKey:fs.sortKey,state:yh,terrainData:Vr})}else oe.push({segments:Ze.segments,sortKey:0,state:yh,terrainData:Vr})}Bt&&oe.sort((pe,he)=>pe.sortKey-he.sortKey);for(let pe of oe){let he=pe.state;if(st.activeTexture.set(At.TEXTURE0),he.atlasTexture.bind(he.atlasInterpolation,At.CLAMP_TO_EDGE),he.atlasTextureIcon&&(st.activeTexture.set(At.TEXTURE1),he.atlasTextureIcon&&he.atlasTextureIcon.bind(he.atlasInterpolationIcon,At.CLAMP_TO_EDGE)),he.isSDF){let be=he.uniformValues;he.hasHalo&&(be.u_is_halo=1,e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,be,pe.terrainData)),be.u_is_halo=0}e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,he.uniformValues,pe.terrainData)}}function e0(T,l,d,v,b,M,O,B,U,W){let Z=v.context;b.draw(Z,Z.gl.TRIANGLES,M,O,B,It.disabled,U,W,d.id,T.layoutVertexBuffer,T.indexBuffer,l,d.paint,v.transform.zoom,T.programConfigurations.get(d.id),T.dynamicLayoutVertexBuffer,T.opacityVertexBuffer)}function Ed(T,l,d,v,b){if(!d||!v||!v.imageAtlas)return;let M=v.imageAtlas.patternPositions,O=M[d.to.toString()],B=M[d.from.toString()];if(!O&&B&&(O=B),!B&&O&&(B=O),!O||!B){let U=b.getPaintProperty(l);O=M[U],B=M[U]}O&&B&&T.setConstantPatternPositions(O,B)}function Pd(T,l,d,v,b,M,O){let B=T.context.gl,U=\"fill-pattern\",W=d.paint.get(U),Z=W&&W.constantOr(1),$=d.getCrossfadeParameters(),st,At,pt,yt,dt;O?(At=Z&&!d.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",st=B.LINES):(At=Z?\"fillPattern\":\"fill\",st=B.TRIANGLES);let Ft=W.constantOr(null);for(let Ht of v){let St=l.getTile(Ht);if(Z&&!St.patternsLoaded())continue;let Bt=St.getBucket(d);if(!Bt)continue;let Qt=Bt.programConfigurations.get(d.id),$t=T.useProgram(At,Qt),oe=T.style.map.terrain&&T.style.map.terrain.getTerrainData(Ht);Z&&(T.context.activeTexture.set(B.TEXTURE0),St.imageAtlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE),Qt.updatePaintBuffers($)),Ed(Qt,U,Ft,St,d);let pe=oe?Ht:null,he=T.translatePosMatrix(pe?pe.posMatrix:Ht.posMatrix,St,d.paint.get(\"fill-translate\"),d.paint.get(\"fill-translate-anchor\"));if(O){yt=Bt.indexBuffer2,dt=Bt.segments2;let be=[B.drawingBufferWidth,B.drawingBufferHeight];pt=At===\"fillOutlinePattern\"&&Z?xd(he,T,$,St,be):vd(he,be)}else yt=Bt.indexBuffer,dt=Bt.segments,pt=Z?yd(he,T,$,St):_d(he);$t.draw(T.context,st,b,T.stencilModeForClipping(Ht),M,It.disabled,pt,oe,d.id,Bt.layoutVertexBuffer,yt,dt,d.paint,T.transform.zoom,Qt)}}function Id(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=\"fill-extrusion-pattern\",Z=d.paint.get(W),$=Z.constantOr(1),st=d.getCrossfadeParameters(),At=d.paint.get(\"fill-extrusion-opacity\"),pt=Z.constantOr(null);for(let yt of v){let dt=l.getTile(yt),Ft=dt.getBucket(d);if(!Ft)continue;let Ht=T.style.map.terrain&&T.style.map.terrain.getTerrainData(yt),St=Ft.programConfigurations.get(d.id),Bt=T.useProgram($?\"fillExtrusionPattern\":\"fillExtrusion\",St);$&&(T.context.activeTexture.set(U.TEXTURE0),dt.imageAtlasTexture.bind(U.LINEAR,U.CLAMP_TO_EDGE),St.updatePaintBuffers(st)),Ed(St,W,pt,dt,d);let Qt=T.translatePosMatrix(yt.posMatrix,dt,d.paint.get(\"fill-extrusion-translate\"),d.paint.get(\"fill-extrusion-translate-anchor\")),$t=d.paint.get(\"fill-extrusion-vertical-gradient\"),oe=$?Wl(Qt,T,$t,At,yt,st,dt):Gp(Qt,T,$t,At);Bt.draw(B,B.gl.TRIANGLES,b,M,O,It.backCCW,oe,Ht,d.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,d.paint,T.transform.zoom,St,T.style.map.terrain&&Ft.centroidVertexBuffer)}}function Fx(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=d.fbo;if(!W)return;let Z=T.useProgram(\"hillshade\"),$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(l);B.activeTexture.set(U.TEXTURE0),U.bindTexture(U.TEXTURE_2D,W.colorAttachment.get()),Z.draw(B,U.TRIANGLES,b,M,O,It.disabled,((st,At,pt,yt)=>{let dt=pt.paint.get(\"hillshade-shadow-color\"),Ft=pt.paint.get(\"hillshade-highlight-color\"),Ht=pt.paint.get(\"hillshade-accent-color\"),St=pt.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);pt.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(St-=st.transform.angle);let Bt=!st.options.moving;return{u_matrix:yt?yt.posMatrix:st.transform.calculatePosMatrix(At.tileID.toUnwrapped(),Bt),u_image:0,u_latrange:Qe(0,At.tileID),u_light:[pt.paint.get(\"hillshade-exaggeration\"),St],u_shadow:dt,u_highlight:Ft,u_accent:Ht}})(T,d,v,$?l:null),$,v.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments)}function r0(T,l,d,v,b,M){let O=T.context,B=O.gl,U=l.dem;if(U&&U.data){let W=U.dim,Z=U.stride,$=U.getPixels();if(O.activeTexture.set(B.TEXTURE1),O.pixelStoreUnpackPremultiplyAlpha.set(!1),l.demTexture=l.demTexture||T.getTileTexture(Z),l.demTexture){let At=l.demTexture;At.update($,{premultiply:!1}),At.bind(B.NEAREST,B.CLAMP_TO_EDGE)}else l.demTexture=new qt(O,$,B.RGBA,{premultiply:!1}),l.demTexture.bind(B.NEAREST,B.CLAMP_TO_EDGE);O.activeTexture.set(B.TEXTURE0);let st=l.fbo;if(!st){let At=new qt(O,{width:W,height:W,data:null},B.RGBA);At.bind(B.LINEAR,B.CLAMP_TO_EDGE),st=l.fbo=O.createFramebuffer(W,W,!0,!1),st.colorAttachment.set(At.texture)}O.bindFramebuffer.set(st.framebuffer),O.viewport.set([0,0,W,W]),T.useProgram(\"hillshadePrepare\").draw(O,B.TRIANGLES,v,b,M,It.disabled,((At,pt)=>{let yt=pt.stride,dt=n.Z();return n.aS(dt,0,n.N,-n.N,0,0,1),n.$(dt,dt,[0,-n.N,0]),{u_matrix:dt,u_image:1,u_dimension:[yt,yt],u_zoom:At.overscaledZ,u_unpack:pt.getUnpackVector()}})(l.tileID,U),null,d.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments),l.needsHillshadePrepare=!1}}function f_(T,l,d,v,b,M){let O=v.paint.get(\"raster-fade-duration\");if(!M&&O>0){let B=n.h.now(),U=(B-T.timeAdded)/O,W=l?(B-l.timeAdded)/O:-1,Z=d.getSource(),$=b.coveringZoomLevel({tileSize:Z.tileSize,roundZoom:Z.roundZoom}),st=!l||Math.abs(l.tileID.overscaledZ-$)>Math.abs(T.tileID.overscaledZ-$),At=st&&T.refreshedUponExpiration?1:n.ad(st?U:1-W,0,1);return T.refreshedUponExpiration&&U>=1&&(T.refreshedUponExpiration=!1),l?{opacity:1,mix:1-At}:{opacity:At,mix:0}}return{opacity:1,mix:0}}let d_=new n.aT(1,0,0,1),yf=new n.aT(0,1,0,1),Ba=new n.aT(0,0,1,1),Wn=new n.aT(1,0,1,1),p_=new n.aT(0,1,1,1);function Cd(T,l,d,v){Xp(T,0,l+d/2,T.transform.width,d,v)}function $p(T,l,d,v){Xp(T,l-d/2,0,d,T.transform.height,v)}function Xp(T,l,d,v,b,M){let O=T.context,B=O.gl;B.enable(B.SCISSOR_TEST),B.scissor(l*T.pixelRatio,d*T.pixelRatio,v*T.pixelRatio,b*T.pixelRatio),O.clear({color:M}),B.disable(B.SCISSOR_TEST)}function i0(T,l,d){let v=T.context,b=v.gl,M=d.posMatrix,O=T.useProgram(\"debug\"),B=ci.disabled,U=Je.disabled,W=T.colorModeForRenderPass(),Z=\"$debug\",$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(d);v.activeTexture.set(b.TEXTURE0);let st=l.getTileByID(d.key).latestRawTileData,At=Math.floor((st&&st.byteLength||0)/1024),pt=l.getTile(d).tileSize,yt=512/Math.min(pt,512)*(d.overscaledZ/T.transform.zoom)*.5,dt=d.canonical.toString();d.overscaledZ!==d.canonical.z&&(dt+=` => ${d.overscaledZ}`),function(Ft,Ht){Ft.initDebugOverlayCanvas();let St=Ft.debugOverlayCanvas,Bt=Ft.context.gl,Qt=Ft.debugOverlayCanvas.getContext(\"2d\");Qt.clearRect(0,0,St.width,St.height),Qt.shadowColor=\"white\",Qt.shadowBlur=2,Qt.lineWidth=1.5,Qt.strokeStyle=\"white\",Qt.textBaseline=\"top\",Qt.font=\"bold 36px Open Sans, sans-serif\",Qt.fillText(Ht,5,5),Qt.strokeText(Ht,5,5),Ft.debugOverlayTexture.update(St),Ft.debugOverlayTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE)}(T,`${dt} ${At}kB`),O.draw(v,b.TRIANGLES,B,U,Ji.alphaBlended,It.disabled,Lt(M,n.aT.transparent,yt),null,Z,T.debugBuffer,T.quadTriangleIndexBuffer,T.debugSegments),O.draw(v,b.LINE_STRIP,B,U,W,It.disabled,Lt(M,n.aT.red),$,Z,T.debugBuffer,T.tileBorderIndexBuffer,T.debugSegments)}function Cn(T,l,d){let v=T.context,b=v.gl,M=T.colorModeForRenderPass(),O=new ci(b.LEQUAL,ci.ReadWrite,T.depthRangeFor3D),B=T.useProgram(\"terrain\"),U=l.getTerrainMesh();v.bindFramebuffer.set(null),v.viewport.set([0,0,T.width,T.height]);for(let W of d){let Z=T.renderToTexture.getTexture(W),$=l.getTerrainData(W.tileID);v.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,Z.texture);let st={u_matrix:T.transform.calculatePosMatrix(W.tileID.toUnwrapped()),u_texture:0,u_ele_delta:l.getMeshFrameDelta(T.transform.zoom)};B.draw(v,b.TRIANGLES,O,Je.disabled,M,It.backCCW,st,$,\"terrain\",U.vertexBuffer,U.indexBuffer,U.segments)}}class ah{constructor(l,d){this.context=new Oc(l),this.transform=d,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:n.Z(),renderTime:0},this.setup(),this.numSublayers=ls.maxUnderzooming+ls.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Dc}resize(l,d,v){if(this.width=Math.floor(l*v),this.height=Math.floor(d*v),this.pixelRatio=v,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let b of this.style._order)this.style._layers[b].resize()}setup(){let l=this.context,d=new n.a_;d.emplaceBack(0,0),d.emplaceBack(n.N,0),d.emplaceBack(0,n.N),d.emplaceBack(n.N,n.N),this.tileExtentBuffer=l.createVertexBuffer(d,So.members),this.tileExtentSegments=n.S.simpleSegment(0,0,4,2);let v=new n.a_;v.emplaceBack(0,0),v.emplaceBack(n.N,0),v.emplaceBack(0,n.N),v.emplaceBack(n.N,n.N),this.debugBuffer=l.createVertexBuffer(v,So.members),this.debugSegments=n.S.simpleSegment(0,0,4,5);let b=new n.V;b.emplaceBack(0,0,0,0),b.emplaceBack(n.N,0,n.N,0),b.emplaceBack(0,n.N,0,n.N),b.emplaceBack(n.N,n.N,n.N,n.N),this.rasterBoundsBuffer=l.createVertexBuffer(b,Jn.members),this.rasterBoundsSegments=n.S.simpleSegment(0,0,4,2);let M=new n.a_;M.emplaceBack(0,0),M.emplaceBack(1,0),M.emplaceBack(0,1),M.emplaceBack(1,1),this.viewportBuffer=l.createVertexBuffer(M,So.members),this.viewportSegments=n.S.simpleSegment(0,0,4,2);let O=new n.a$;O.emplaceBack(0),O.emplaceBack(1),O.emplaceBack(3),O.emplaceBack(2),O.emplaceBack(0),this.tileBorderIndexBuffer=l.createIndexBuffer(O);let B=new n.b0;B.emplaceBack(0,1,2),B.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=l.createIndexBuffer(B);let U=this.context.gl;this.stencilClearMode=new Je({func:U.ALWAYS,mask:0},0,255,U.ZERO,U.ZERO,U.ZERO)}clearStencil(){let l=this.context,d=l.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let v=n.Z();n.aS(v,0,this.width,this.height,0,0,1),n.a0(v,v,[d.drawingBufferWidth,d.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(l,d.TRIANGLES,ci.disabled,this.stencilClearMode,Ji.disabled,It.disabled,Kt(v),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(l,d){if(this.currentStencilSource===l.source||!l.isTileClipped()||!d||!d.length)return;this.currentStencilSource=l.source;let v=this.context,b=v.gl;this.nextStencilID+d.length>256&&this.clearStencil(),v.setColorMode(Ji.disabled),v.setDepthMode(ci.disabled);let M=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let O of d){let B=this._tileClippingMaskIDs[O.key]=this.nextStencilID++,U=this.style.map.terrain&&this.style.map.terrain.getTerrainData(O);M.draw(v,b.TRIANGLES,ci.disabled,new Je({func:b.ALWAYS,mask:0},B,255,b.KEEP,b.KEEP,b.REPLACE),Ji.disabled,It.disabled,Kt(O.posMatrix),U,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let l=this.nextStencilID++,d=this.context.gl;return new Je({func:d.NOTEQUAL,mask:255},l,255,d.KEEP,d.KEEP,d.REPLACE)}stencilModeForClipping(l){let d=this.context.gl;return new Je({func:d.EQUAL,mask:255},this._tileClippingMaskIDs[l.key],0,d.KEEP,d.KEEP,d.REPLACE)}stencilConfigForOverlap(l){let d=this.context.gl,v=l.sort((O,B)=>B.overscaledZ-O.overscaledZ),b=v[v.length-1].overscaledZ,M=v[0].overscaledZ-b+1;if(M>1){this.currentStencilSource=void 0,this.nextStencilID+M>256&&this.clearStencil();let O={};for(let B=0;B=0;this.currentLayer--){let U=this.style._layers[v[this.currentLayer]],W=b[U.source],Z=M[U.source];this._renderTileClippingMasks(U,Z),this.renderLayer(this,W,U,Z)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerdt.source&&!dt.isHidden(Z)?[W.sourceCaches[dt.source]]:[]),At=st.filter(dt=>dt.getSource().type===\"vector\"),pt=st.filter(dt=>dt.getSource().type!==\"vector\"),yt=dt=>{(!$||$.getSource().maxzoomyt(dt)),$||pt.forEach(dt=>yt(dt)),$}(this.style,this.transform.zoom);U&&function(W,Z,$){for(let st=0;st<$.length;st++)i0(W,Z,$[st])}(this,U,U.getVisibleCoordinates())}this.options.showPadding&&function(U){let W=U.transform.padding;Cd(U,U.transform.height-(W.top||0),3,d_),Cd(U,W.bottom||0,3,yf),$p(U,W.left||0,3,Ba),$p(U,U.transform.width-(W.right||0),3,Wn);let Z=U.transform.centerPoint;(function($,st,At,pt){Xp($,st-1,At-10,2,20,pt),Xp($,st-10,At-1,20,2,pt)})(U,Z.x,U.transform.height-Z.y,p_)}(this),this.context.setDefault()}renderLayer(l,d,v,b){if(!v.isHidden(this.transform.zoom)&&(v.type===\"background\"||v.type===\"custom\"||(b||[]).length))switch(this.id=v.id,v.type){case\"symbol\":(function(M,O,B,U,W){if(M.renderPass!==\"translucent\")return;let Z=Je.disabled,$=M.colorModeForRenderPass();(B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(st,At,pt,yt,dt,Ft,Ht){let St=At.transform,Bt=dt===\"map\",Qt=Ft===\"map\";for(let $t of st){let oe=yt.getTile($t),pe=oe.getBucket(pt);if(!pe||!pe.text||!pe.text.segments.get().length)continue;let he=n.ah(pe.textSizeData,St.zoom),be=Dt(oe,1,At.transform.zoom),Ze=ve($t.posMatrix,Qt,Bt,At.transform,be),Kr=pt.layout.get(\"icon-text-fit\")!==\"none\"&&pe.hasIconData();if(he){let Ee=Math.pow(2,St.zoom-oe.tileID.overscaledZ);Qp(pe,Bt,Qt,Ht,St,Ze,$t.posMatrix,Ee,he,Kr,At.style.map.terrain?(pr,tr)=>At.style.map.terrain.getElevation($t,pr,tr):null)}}}(U,M,B,O,B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),W),B.paint.get(\"icon-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!1,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),B.layout.get(\"icon-rotation-alignment\"),B.layout.get(\"icon-pitch-alignment\"),B.layout.get(\"icon-keep-upright\"),Z,$),B.paint.get(\"text-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!0,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),B.layout.get(\"text-keep-upright\"),Z,$),O.map.showCollisionBoxes&&(Km(M,O,B,U,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),!0),Km(M,O,B,U,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),!1))})(l,d,v,b,this.style.placement.variableOffsets);break;case\"circle\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"circle-opacity\"),Z=B.paint.get(\"circle-stroke-width\"),$=B.paint.get(\"circle-stroke-opacity\"),st=!B.layout.get(\"circle-sort-key\").isConstant();if(W.constantOr(1)===0&&(Z.constantOr(1)===0||$.constantOr(1)===0))return;let At=M.context,pt=At.gl,yt=M.depthModeForSublayer(0,ci.ReadOnly),dt=Je.disabled,Ft=M.colorModeForRenderPass(),Ht=[];for(let St=0;StSt.sortKey-Bt.sortKey);for(let St of Ht){let{programConfiguration:Bt,program:Qt,layoutVertexBuffer:$t,indexBuffer:oe,uniformValues:pe,terrainData:he}=St.state;Qt.draw(At,pt.TRIANGLES,yt,dt,Ft,It.disabled,pe,he,B.id,$t,oe,St.segments,B.paint,M.transform.zoom,Bt)}})(l,d,v,b);break;case\"heatmap\":(function(M,O,B,U){if(B.paint.get(\"heatmap-opacity\")!==0)if(M.renderPass===\"offscreen\"){let W=M.context,Z=W.gl,$=Je.disabled,st=new Ji([Z.ONE,Z.ONE],n.aT.transparent,[!0,!0,!0,!0]);(function(At,pt,yt){let dt=At.gl;At.activeTexture.set(dt.TEXTURE1),At.viewport.set([0,0,pt.width/4,pt.height/4]);let Ft=yt.heatmapFbo;if(Ft)dt.bindTexture(dt.TEXTURE_2D,Ft.colorAttachment.get()),At.bindFramebuffer.set(Ft.framebuffer);else{let Ht=dt.createTexture();dt.bindTexture(dt.TEXTURE_2D,Ht),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_S,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_T,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MIN_FILTER,dt.LINEAR),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MAG_FILTER,dt.LINEAR),Ft=yt.heatmapFbo=At.createFramebuffer(pt.width/4,pt.height/4,!1,!1),function(St,Bt,Qt,$t){var oe,pe;let he=St.gl,be=(oe=St.HALF_FLOAT)!==null&&oe!==void 0?oe:he.UNSIGNED_BYTE,Ze=(pe=St.RGBA16F)!==null&&pe!==void 0?pe:he.RGBA;he.texImage2D(he.TEXTURE_2D,0,Ze,Bt.width/4,Bt.height/4,0,he.RGBA,be,null),$t.colorAttachment.set(Qt)}(At,pt,Ht,Ft)}})(W,M,B),W.clear({color:n.aT.transparent});for(let At=0;At{let St=n.Z();n.aS(St,0,yt.width,yt.height,0,0,1);let Bt=yt.context.gl;return{u_matrix:St,u_world:[Bt.drawingBufferWidth,Bt.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:dt.paint.get(\"heatmap-opacity\")}})(W,Z),null,Z.id,W.viewportBuffer,W.quadTriangleIndexBuffer,W.viewportSegments,Z.paint,W.transform.zoom)}(M,B))})(l,d,v,b);break;case\"line\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"line-opacity\"),Z=B.paint.get(\"line-width\");if(W.constantOr(1)===0||Z.constantOr(1)===0)return;let $=M.depthModeForSublayer(0,ci.ReadOnly),st=M.colorModeForRenderPass(),At=B.paint.get(\"line-dasharray\"),pt=B.paint.get(\"line-pattern\"),yt=pt.constantOr(1),dt=B.paint.get(\"line-gradient\"),Ft=B.getCrossfadeParameters(),Ht=yt?\"linePattern\":At?\"lineSDF\":dt?\"lineGradient\":\"line\",St=M.context,Bt=St.gl,Qt=!0;for(let $t of U){let oe=O.getTile($t);if(yt&&!oe.patternsLoaded())continue;let pe=oe.getBucket(B);if(!pe)continue;let he=pe.programConfigurations.get(B.id),be=M.context.program.get(),Ze=M.useProgram(Ht,he),Kr=Qt||Ze.program!==be,Ee=M.style.map.terrain&&M.style.map.terrain.getTerrainData($t),pr=pt.constantOr(null);if(pr&&oe.imageAtlas){let Jr=oe.imageAtlas,Vr=Jr.patternPositions[pr.to.toString()],ei=Jr.patternPositions[pr.from.toString()];Vr&&ei&&he.setConstantPatternPositions(Vr,ei)}let tr=Ee?$t:null,Gi=yt?Ts(M,oe,B,Ft,tr):At?Vs(M,oe,B,At,Ft,tr):dt?is(M,oe,B,pe.lineClipsArray.length,tr):ti(M,oe,B,tr);if(yt)St.activeTexture.set(Bt.TEXTURE0),oe.imageAtlasTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE),he.updatePaintBuffers(Ft);else if(At&&(Kr||M.lineAtlas.dirty))St.activeTexture.set(Bt.TEXTURE0),M.lineAtlas.bind(St);else if(dt){let Jr=pe.gradients[B.id],Vr=Jr.texture;if(B.gradientVersion!==Jr.version){let ei=256;if(B.stepInterpolant){let On=O.getSource().maxzoom,tn=$t.canonical.z===On?Math.ceil(1<0?d.pop():null}isPatternMissing(l){if(!l)return!1;if(!l.from||!l.to)return!0;let d=this.imageManager.getPattern(l.from.toString()),v=this.imageManager.getPattern(l.to.toString());return!d||!v}useProgram(l,d){this.cache=this.cache||{};let v=l+(d?d.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[v]||(this.cache[v]=new pu(this.context,Ki[l],d,Wm[l],this._showOverdrawInspector,this.style.map.terrain)),this.cache[v]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let l=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(l.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new qt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:l,drawingBufferHeight:d}=this.context.gl;return this.width!==l||this.height!==d}}class fi{constructor(l,d){this.points=l,this.planes=d}static fromInvProjectionMatrix(l,d,v){let b=Math.pow(2,v),M=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(B=>{let U=1/(B=n.ag([],B,l))[3]/d*b;return n.b3(B,B,[U,U,1/B[3],U])}),O=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(B=>{let U=function(st,At){var pt=At[0],yt=At[1],dt=At[2],Ft=pt*pt+yt*yt+dt*dt;return Ft>0&&(Ft=1/Math.sqrt(Ft)),st[0]=At[0]*Ft,st[1]=At[1]*Ft,st[2]=At[2]*Ft,st}([],function(st,At,pt){var yt=At[0],dt=At[1],Ft=At[2],Ht=pt[0],St=pt[1],Bt=pt[2];return st[0]=dt*Bt-Ft*St,st[1]=Ft*Ht-yt*Bt,st[2]=yt*St-dt*Ht,st}([],ut([],M[B[0]],M[B[1]]),ut([],M[B[2]],M[B[1]]))),W=-((Z=U)[0]*($=M[B[1]])[0]+Z[1]*$[1]+Z[2]*$[2]);var Z,$;return U.concat(W)});return new fi(M,O)}}class mu{constructor(l,d){this.min=l,this.max=d,this.center=function(v,b,M){return v[0]=.5*b[0],v[1]=.5*b[1],v[2]=.5*b[2],v}([],function(v,b,M){return v[0]=b[0]+M[0],v[1]=b[1]+M[1],v[2]=b[2]+M[2],v}([],this.min,this.max))}quadrant(l){let d=[l%2==0,l<2],v=K(this.min),b=K(this.max);for(let M=0;M=0&&O++;if(O===0)return 0;O!==d.length&&(v=!1)}if(v)return 2;for(let b=0;b<3;b++){let M=Number.MAX_VALUE,O=-Number.MAX_VALUE;for(let B=0;Bthis.max[b]-this.min[b])return 0}return 1}}class vf{constructor(l=0,d=0,v=0,b=0){if(isNaN(l)||l<0||isNaN(d)||d<0||isNaN(v)||v<0||isNaN(b)||b<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=l,this.bottom=d,this.left=v,this.right=b}interpolate(l,d,v){return d.top!=null&&l.top!=null&&(this.top=n.B.number(l.top,d.top,v)),d.bottom!=null&&l.bottom!=null&&(this.bottom=n.B.number(l.bottom,d.bottom,v)),d.left!=null&&l.left!=null&&(this.left=n.B.number(l.left,d.left,v)),d.right!=null&&l.right!=null&&(this.right=n.B.number(l.right,d.right,v)),this}getCenter(l,d){let v=n.ad((this.left+l-this.right)/2,0,l),b=n.ad((this.top+d-this.bottom)/2,0,d);return new n.P(v,b)}equals(l){return this.top===l.top&&this.bottom===l.bottom&&this.left===l.left&&this.right===l.right}clone(){return new vf(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class Kp{constructor(l,d,v,b,M){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=M===void 0||!!M,this._minZoom=l||0,this._maxZoom=d||22,this._minPitch=v??0,this._maxPitch=b??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new n.L(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new vf,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){let l=new Kp(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return l.apply(this),l}apply(l){this.tileSize=l.tileSize,this.latRange=l.latRange,this.width=l.width,this.height=l.height,this._center=l._center,this._elevation=l._elevation,this._minEleveationForCurrentTile=l._minEleveationForCurrentTile,this.zoom=l.zoom,this.angle=l.angle,this._fov=l._fov,this._pitch=l._pitch,this._unmodified=l._unmodified,this._edgeInsets=l._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(l){this._minZoom!==l&&(this._minZoom=l,this.zoom=Math.max(this.zoom,l))}get maxZoom(){return this._maxZoom}set maxZoom(l){this._maxZoom!==l&&(this._maxZoom=l,this.zoom=Math.min(this.zoom,l))}get minPitch(){return this._minPitch}set minPitch(l){this._minPitch!==l&&(this._minPitch=l,this.pitch=Math.max(this.pitch,l))}get maxPitch(){return this._maxPitch}set maxPitch(l){this._maxPitch!==l&&(this._maxPitch=l,this.pitch=Math.min(this.pitch,l))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(l){l===void 0?l=!0:l===null&&(l=!1),this._renderWorldCopies=l}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new n.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(l){let d=-n.b5(l,-180,180)*Math.PI/180;this.angle!==d&&(this._unmodified=!1,this.angle=d,this._calcMatrices(),this.rotationMatrix=function(){var v=new n.A(4);return n.A!=Float32Array&&(v[1]=0,v[2]=0),v[0]=1,v[3]=1,v}(),function(v,b,M){var O=b[0],B=b[1],U=b[2],W=b[3],Z=Math.sin(M),$=Math.cos(M);v[0]=O*$+U*Z,v[1]=B*$+W*Z,v[2]=O*-Z+U*$,v[3]=B*-Z+W*$}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(l){let d=n.ad(l,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==d&&(this._unmodified=!1,this._pitch=d,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(l){l=Math.max(.01,Math.min(60,l)),this._fov!==l&&(this._unmodified=!1,this._fov=l/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(l){let d=Math.min(Math.max(l,this.minZoom),this.maxZoom);this._zoom!==d&&(this._unmodified=!1,this._zoom=d,this.tileZoom=Math.max(0,Math.floor(d)),this.scale=this.zoomScale(d),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(l){l.lat===this._center.lat&&l.lng===this._center.lng||(this._unmodified=!1,this._center=l,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(l){l!==this._elevation&&(this._elevation=l,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(l){this._edgeInsets.equals(l)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,l,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(l){return this._edgeInsets.equals(l)}interpolatePadding(l,d,v){this._unmodified=!1,this._edgeInsets.interpolate(l,d,v),this._constrain(),this._calcMatrices()}coveringZoomLevel(l){let d=(l.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/l.tileSize));return Math.max(0,d)}getVisibleUnwrappedCoordinates(l){let d=[new n.b6(0,l)];if(this._renderWorldCopies){let v=this.pointCoordinate(new n.P(0,0)),b=this.pointCoordinate(new n.P(this.width,0)),M=this.pointCoordinate(new n.P(this.width,this.height)),O=this.pointCoordinate(new n.P(0,this.height)),B=Math.floor(Math.min(v.x,b.x,M.x,O.x)),U=Math.floor(Math.max(v.x,b.x,M.x,O.x)),W=1;for(let Z=B-W;Z<=U+W;Z++)Z!==0&&d.push(new n.b6(Z,l))}return d}coveringTiles(l){var d,v;let b=this.coveringZoomLevel(l),M=b;if(l.minzoom!==void 0&&bl.maxzoom&&(b=l.maxzoom);let O=this.pointCoordinate(this.getCameraPoint()),B=n.U.fromLngLat(this.center),U=Math.pow(2,b),W=[U*O.x,U*O.y,0],Z=[U*B.x,U*B.y,0],$=fi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,b),st=l.minzoom||0;!l.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(st=b);let At=l.terrain?2/Math.min(this.tileSize,l.tileSize)*this.tileSize:3,pt=St=>({aabb:new mu([St*U,0,0],[(St+1)*U,U,0]),zoom:0,x:0,y:0,wrap:St,fullyVisible:!1}),yt=[],dt=[],Ft=b,Ht=l.reparseOverscaled?M:b;if(this._renderWorldCopies)for(let St=1;St<=3;St++)yt.push(pt(-St)),yt.push(pt(St));for(yt.push(pt(0));yt.length>0;){let St=yt.pop(),Bt=St.x,Qt=St.y,$t=St.fullyVisible;if(!$t){let Ze=St.aabb.intersects($);if(Ze===0)continue;$t=Ze===2}let oe=l.terrain?W:Z,pe=St.aabb.distanceX(oe),he=St.aabb.distanceY(oe),be=Math.max(Math.abs(pe),Math.abs(he));if(St.zoom===Ft||be>At+(1<=st){let Ze=Ft-St.zoom,Kr=W[0]-.5-(Bt<>1),pr=St.zoom+1,tr=St.aabb.quadrant(Ze);if(l.terrain){let Gi=new n.O(pr,St.wrap,pr,Kr,Ee),Jr=l.terrain.getMinMaxElevation(Gi),Vr=(d=Jr.minElevation)!==null&&d!==void 0?d:this.elevation,ei=(v=Jr.maxElevation)!==null&&v!==void 0?v:this.elevation;tr=new mu([tr.min[0],tr.min[1],Vr],[tr.max[0],tr.max[1],ei])}yt.push({aabb:tr,zoom:pr,x:Kr,y:Ee,wrap:St.wrap,fullyVisible:$t})}}return dt.sort((St,Bt)=>St.distanceSq-Bt.distanceSq).map(St=>St.tileID)}resize(l,d){this.width=l,this.height=d,this.pixelsToGLUnits=[2/l,-2/d],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(l){return Math.pow(2,l)}scaleZoom(l){return Math.log(l)/Math.LN2}project(l){let d=n.ad(l.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.P(n.G(l.lng)*this.worldSize,n.H(d)*this.worldSize)}unproject(l){return new n.U(l.x/this.worldSize,l.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(l){let d=this.pointLocation(this.centerPoint,l),v=l.getElevationForLngLatZoom(d,this.tileZoom);if(!(this.elevation-v))return;let b=this.getCameraPosition(),M=n.U.fromLngLat(b.lngLat,b.altitude),O=n.U.fromLngLat(d,v),B=M.x-O.x,U=M.y-O.y,W=M.z-O.z,Z=Math.sqrt(B*B+U*U+W*W),$=this.scaleZoom(this.cameraToCenterDistance/Z/this.tileSize);this._elevation=v,this._center=d,this.zoom=$}setLocationAtPoint(l,d){let v=this.pointCoordinate(d),b=this.pointCoordinate(this.centerPoint),M=this.locationCoordinate(l),O=new n.U(M.x-(v.x-b.x),M.y-(v.y-b.y));this.center=this.coordinateLocation(O),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(l,d){return d?this.coordinatePoint(this.locationCoordinate(l),d.getElevationForLngLatZoom(l,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(l))}pointLocation(l,d){return this.coordinateLocation(this.pointCoordinate(l,d))}locationCoordinate(l){return n.U.fromLngLat(l)}coordinateLocation(l){return l&&l.toLngLat()}pointCoordinate(l,d){if(d){let st=d.pointCoordinate(l);if(st!=null)return st}let v=[l.x,l.y,0,1],b=[l.x,l.y,1,1];n.ag(v,v,this.pixelMatrixInverse),n.ag(b,b,this.pixelMatrixInverse);let M=v[3],O=b[3],B=v[1]/M,U=b[1]/O,W=v[2]/M,Z=b[2]/O,$=W===Z?0:(0-W)/(Z-W);return new n.U(n.B.number(v[0]/M,b[0]/O,$)/this.worldSize,n.B.number(B,U,$)/this.worldSize)}coordinatePoint(l,d=0,v=this.pixelMatrix){let b=[l.x*this.worldSize,l.y*this.worldSize,d,1];return n.ag(b,b,v),new n.P(b[0]/b[3],b[1]/b[3])}getBounds(){let l=Math.max(0,this.height/2-this.getHorizon());return new Si().extend(this.pointLocation(new n.P(0,l))).extend(this.pointLocation(new n.P(this.width,l))).extend(this.pointLocation(new n.P(this.width,this.height))).extend(this.pointLocation(new n.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new Si([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(l){l?(this.lngRange=[l.getWest(),l.getEast()],this.latRange=[l.getSouth(),l.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(l,d=!1){let v=l.key,b=d?this._alignedPosMatrixCache:this._posMatrixCache;if(b[v])return b[v];let M=l.canonical,O=this.worldSize/this.zoomScale(M.z),B=M.x+Math.pow(2,M.z)*l.wrap,U=n.ao(new Float64Array(16));return n.$(U,U,[B*O,M.y*O,0]),n.a0(U,U,[O/n.N,O/n.N,1]),n.a1(U,d?this.alignedProjMatrix:this.projMatrix,U),b[v]=new Float32Array(U),b[v]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let l,d,v,b,M=-90,O=90,B=-180,U=180,W=this.size,Z=this._unmodified;if(this.latRange){let At=this.latRange;M=n.H(At[1])*this.worldSize,O=n.H(At[0])*this.worldSize,l=O-MO&&(b=O-pt)}if(this.lngRange){let At=(B+U)/2,pt=n.b5($.x,At-this.worldSize/2,At+this.worldSize/2),yt=W.x/2;pt-ytU&&(v=U-yt)}v===void 0&&b===void 0||(this.center=this.unproject(new n.P(v!==void 0?v:$.x,b!==void 0?b:$.y)).wrap()),this._unmodified=Z,this._constraining=!1}_calcMatrices(){if(!this.height)return;let l=this.centerOffset,d=this.point.x,v=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=n.b7(1,this.center.lat)*this.worldSize;let b=n.ao(new Float64Array(16));n.a0(b,b,[this.width/2,-this.height/2,1]),n.$(b,b,[1,-1,0]),this.labelPlaneMatrix=b,b=n.ao(new Float64Array(16)),n.a0(b,b,[1,-1,1]),n.$(b,b,[-1,-1,0]),n.a0(b,b,[2/this.width,2/this.height,1]),this.glCoordMatrix=b;let M=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),O=Math.min(this.elevation,this._minEleveationForCurrentTile),B=M-O*this._pixelPerMeter/Math.cos(this._pitch),U=O<0?B:M,W=Math.PI/2+this._pitch,Z=this._fov*(.5+l.y/this.height),$=Math.sin(Z)*U/Math.sin(n.ad(Math.PI-W-Z,.01,Math.PI-.01)),st=this.getHorizon(),At=2*Math.atan(st/this.cameraToCenterDistance)*(.5+l.y/(2*st)),pt=Math.sin(At)*U/Math.sin(n.ad(Math.PI-W-At,.01,Math.PI-.01)),yt=Math.min($,pt),dt=1.01*(Math.cos(Math.PI/2-this._pitch)*yt+U),Ft=this.height/50;b=new Float64Array(16),n.b8(b,this._fov,this.width/this.height,Ft,dt),b[8]=2*-l.x/this.width,b[9]=2*l.y/this.height,n.a0(b,b,[1,-1,1]),n.$(b,b,[0,0,-this.cameraToCenterDistance]),n.b9(b,b,this._pitch),n.ae(b,b,this.angle),n.$(b,b,[-d,-v,0]),this.mercatorMatrix=n.a0([],b,[this.worldSize,this.worldSize,this.worldSize]),n.a0(b,b,[1,1,this._pixelPerMeter]),this.pixelMatrix=n.a1(new Float64Array(16),this.labelPlaneMatrix,b),n.$(b,b,[0,0,-this.elevation]),this.projMatrix=b,this.invProjMatrix=n.as([],b),this.pixelMatrix3D=n.a1(new Float64Array(16),this.labelPlaneMatrix,b);let Ht=this.width%2/2,St=this.height%2/2,Bt=Math.cos(this.angle),Qt=Math.sin(this.angle),$t=d-Math.round(d)+Bt*Ht+Qt*St,oe=v-Math.round(v)+Bt*St+Qt*Ht,pe=new Float64Array(b);if(n.$(pe,pe,[$t>.5?$t-1:$t,oe>.5?oe-1:oe,0]),this.alignedProjMatrix=pe,b=n.as(new Float64Array(16),this.pixelMatrix),!b)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=b,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let l=this.pointCoordinate(new n.P(0,0)),d=[l.x*this.worldSize,l.y*this.worldSize,0,1];return n.ag(d,d,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let l=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.P(0,l))}getCameraQueryGeometry(l){let d=this.getCameraPoint();if(l.length===1)return[l[0],d];{let v=d.x,b=d.y,M=d.x,O=d.y;for(let B of l)v=Math.min(v,B.x),b=Math.min(b,B.y),M=Math.max(M,B.x),O=Math.max(O,B.y);return[new n.P(v,b),new n.P(M,b),new n.P(M,O),new n.P(v,O),new n.P(v,b)]}}}function lh(T,l){let d,v=!1,b=null,M=null,O=()=>{b=null,v&&(T.apply(M,d),b=setTimeout(O,l),v=!1)};return(...B)=>(v=!0,M=this,d=B,b||O(),b)}class Ld{constructor(l){this._getCurrentHash=()=>{let d=window.location.hash.replace(\"#\",\"\");if(this._hashName){let v;return d.split(\"&\").map(b=>b.split(\"=\")).forEach(b=>{b[0]===this._hashName&&(v=b)}),(v&&v[1]||\"\").split(\"/\")}return d.split(\"/\")},this._onHashChange=()=>{let d=this._getCurrentHash();if(d.length>=3&&!d.some(v=>isNaN(v))){let v=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(d[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+d[2],+d[1]],zoom:+d[0],bearing:v,pitch:+(d[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let d=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,d)}catch{}},this._updateHash=lh(this._updateHashUnthrottled,300),this._hashName=l&&encodeURIComponent(l)}addTo(l){return this._map=l,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(l){let d=this._map.getCenter(),v=Math.round(100*this._map.getZoom())/100,b=Math.ceil((v*Math.LN2+Math.log(512/360/.5))/Math.LN10),M=Math.pow(10,b),O=Math.round(d.lng*M)/M,B=Math.round(d.lat*M)/M,U=this._map.getBearing(),W=this._map.getPitch(),Z=\"\";if(Z+=l?`/${O}/${B}/${v}`:`${v}/${B}/${O}`,(U||W)&&(Z+=\"/\"+Math.round(10*U)/10),W&&(Z+=`/${Math.round(W)}`),this._hashName){let $=this._hashName,st=!1,At=window.location.hash.slice(1).split(\"&\").map(pt=>{let yt=pt.split(\"=\")[0];return yt===$?(st=!0,`${yt}=${Z}`):pt}).filter(pt=>pt);return st||At.push(`${$}=${Z}`),`#${At.join(\"&\")}`}return`#${Z}`}}let ch={linearity:.3,easing:n.ba(0,0,.3,1)},Jp=n.e({deceleration:2500,maxSpeed:1400},ch),tA=n.e({deceleration:20,maxSpeed:1400},ch),A_=n.e({deceleration:1e3,maxSpeed:360},ch),m_=n.e({deceleration:1e3,maxSpeed:90},ch);class n0{constructor(l){this._map=l,this.clear()}clear(){this._inertiaBuffer=[]}record(l){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.h.now(),settings:l})}_drainInertiaBuffer(){let l=this._inertiaBuffer,d=n.h.now();for(;l.length>0&&d-l[0].time>160;)l.shift()}_onMoveEnd(l){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let d={zoom:0,bearing:0,pitch:0,pan:new n.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:M}of this._inertiaBuffer)d.zoom+=M.zoomDelta||0,d.bearing+=M.bearingDelta||0,d.pitch+=M.pitchDelta||0,M.panDelta&&d.pan._add(M.panDelta),M.around&&(d.around=M.around),M.pinchAround&&(d.pinchAround=M.pinchAround);let v=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,b={};if(d.pan.mag()){let M=uh(d.pan.mag(),v,n.e({},Jp,l||{}));b.offset=d.pan.mult(M.amount/d.pan.mag()),b.center=this._map.transform.center,pl(b,M)}if(d.zoom){let M=uh(d.zoom,v,tA);b.zoom=this._map.transform.zoom+M.amount,pl(b,M)}if(d.bearing){let M=uh(d.bearing,v,A_);b.bearing=this._map.transform.bearing+n.ad(M.amount,-179,179),pl(b,M)}if(d.pitch){let M=uh(d.pitch,v,m_);b.pitch=this._map.transform.pitch+M.amount,pl(b,M)}if(b.zoom||b.bearing){let M=d.pinchAround===void 0?d.around:d.pinchAround;b.around=M?this._map.unproject(M):this._map.getCenter()}return this.clear(),n.e(b,{noMoveStart:!0})}}function pl(T,l){(!T.duration||T.durationd.unproject(U)),B=M.reduce((U,W,Z,$)=>U.add(W.div($.length)),new n.P(0,0));super(l,{points:M,point:B,lngLats:O,lngLat:d.unproject(B),originalEvent:v}),this._defaultPrevented=!1}}class g_ extends n.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(l,d,v){super(l,{originalEvent:v}),this._defaultPrevented=!1}}class js{constructor(l,d){this._map=l,this._clickTolerance=d.clickTolerance}reset(){delete this._mousedownPos}wheel(l){return this._firePreventable(new g_(l.type,this._map,l))}mousedown(l,d){return this._mousedownPos=d,this._firePreventable(new la(l.type,this._map,l))}mouseup(l){this._map.fire(new la(l.type,this._map,l))}click(l,d){this._mousedownPos&&this._mousedownPos.dist(d)>=this._clickTolerance||this._map.fire(new la(l.type,this._map,l))}dblclick(l){return this._firePreventable(new la(l.type,this._map,l))}mouseover(l){this._map.fire(new la(l.type,this._map,l))}mouseout(l){this._map.fire(new la(l.type,this._map,l))}touchstart(l){return this._firePreventable(new kd(l.type,this._map,l))}touchmove(l){this._map.fire(new kd(l.type,this._map,l))}touchend(l){this._map.fire(new kd(l.type,this._map,l))}touchcancel(l){this._map.fire(new kd(l.type,this._map,l))}_firePreventable(l){if(this._map.fire(l),l.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gu{constructor(l){this._map=l}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(l){this._map.fire(new la(l.type,this._map,l))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new la(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(l){this._delayContextMenu?this._contextMenuEvent=l:this._ignoreContextMenu||this._map.fire(new la(l.type,this._map,l)),this._map.listens(\"contextmenu\")&&l.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Ln{constructor(l){this._map=l}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(l){return this.transform.pointLocation(n.P.convert(l),this._map.terrain)}}class eA{constructor(l,d){this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._container=l.getContainer(),this._clickTolerance=d.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(l,d){this.isEnabled()&&l.shiftKey&&l.button===0&&(c.disableDrag(),this._startPos=this._lastPos=d,this._active=!0)}mousemoveWindow(l,d){if(!this._active)return;let v=d;if(this._lastPos.equals(v)||!this._box&&v.dist(this._startPos)M.fitScreenCoordinates(v,b,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",l)}keydown(l){this._active&&l.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",l))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(l,d){return this._map.fire(new n.k(l,{originalEvent:d}))}}function ca(T,l){if(T.length!==l.length)throw new Error(`The number of touches and points are not equal - touches ${T.length}, points ${l.length}`);let d={};for(let v=0;vthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=l.timeStamp),v.length===this.numTouches&&(this.centroid=function(b){let M=new n.P(0,0);for(let O of b)M._add(O);return M.div(b.length)}(d),this.touches=ca(v,d)))}touchmove(l,d,v){if(this.aborted||!this.centroid)return;let b=ca(v,d);for(let M in this.touches){let O=b[M];(!O||O.dist(this.touches[M])>30)&&(this.aborted=!0)}}touchend(l,d,v){if((!this.centroid||l.timeStamp-this.startTime>500)&&(this.aborted=!0),v.length===0){let b=!this.aborted&&this.centroid;if(this.reset(),b)return b}}}class Rd{constructor(l){this.singleTap=new Fa(l),this.numTaps=l.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(l,d,v){this.singleTap.touchstart(l,d,v)}touchmove(l,d,v){this.singleTap.touchmove(l,d,v)}touchend(l,d,v){let b=this.singleTap.touchend(l,d,v);if(b){let M=l.timeStamp-this.lastTime<500,O=!this.lastTap||this.lastTap.dist(b)<30;if(M&&O||this.reset(),this.count++,this.lastTime=l.timeStamp,this.lastTap=b,this.count===this.numTaps)return this.reset(),b}}}class Al{constructor(l){this._tr=new Ln(l),this._zoomIn=new Rd({numTouches:1,numTaps:2}),this._zoomOut=new Rd({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(l,d,v){this._zoomIn.touchstart(l,d,v),this._zoomOut.touchstart(l,d,v)}touchmove(l,d,v){this._zoomIn.touchmove(l,d,v),this._zoomOut.touchmove(l,d,v)}touchend(l,d,v){let b=this._zoomIn.touchend(l,d,v),M=this._zoomOut.touchend(l,d,v),O=this._tr;return b?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom+1,around:O.unproject(b)},{originalEvent:l})}):M?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom-1,around:O.unproject(M)},{originalEvent:l})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class za{constructor(l){this._enabled=!!l.enable,this._moveStateManager=l.moveStateManager,this._clickTolerance=l.clickTolerance||1,this._moveFunction=l.move,this._activateOnStart=!!l.activateOnStart,l.assignEvents(this),this.reset()}reset(l){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(l)}_move(...l){let d=this._moveFunction(...l);if(d.bearingDelta||d.pitchDelta||d.around||d.panDelta)return this._active=!0,d}dragStart(l,d){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(l)&&(this._moveStateManager.startMove(l),this._lastPoint=d.length?d[0]:d,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(l,d){if(!this.isEnabled())return;let v=this._lastPoint;if(!v)return;if(l.preventDefault(),!this._moveStateManager.isValidMoveEvent(l))return void this.reset(l);let b=d.length?d[0]:d;return!this._moved&&b.dist(v){T.mousedown=T.dragStart,T.mousemoveWindow=T.dragMove,T.mouseup=T.dragEnd,T.contextmenu=function(l){l.preventDefault()}},Na=({enable:T,clickTolerance:l,bearingDegreesPerPixelMoved:d=.8})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({bearingDelta:(M.x-b.x)*d}),moveStateManager:v,enable:T,assignEvents:fh})},co=({enable:T,clickTolerance:l,pitchDegreesPerPixelMoved:d=-.5})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({pitchDelta:(M.y-b.y)*d}),moveStateManager:v,enable:T,assignEvents:fh})};class Ge{constructor(l,d){this._minTouches=l.cooperativeGestures?2:1,this._clickTolerance=l.clickTolerance||1,this._map=d,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new n.P(0,0),setTimeout(()=>{this._cancelCooperativeMessage=!1},200)}touchstart(l,d,v){return this._calculateTransform(l,d,v)}touchmove(l,d,v){if(this._map._cooperativeGestures&&(this._minTouches===2&&v.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(l,!1,v.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(v.length0&&(this._active=!0);let b=ca(v,d),M=new n.P(0,0),O=new n.P(0,0),B=0;for(let W in b){let Z=b[W],$=this._touches[W];$&&(M._add(Z),O._add(Z.sub($)),B++,b[W]=Z)}if(this._touches=b,BMath.abs(T.x)}class zx extends Dd{constructor(l){super(),this._map=l}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(l,d,v){super.touchstart(l,d,v),this._currentTouchCount=v.length}_start(l){this._lastPoints=l,a0(l[0].sub(l[1]))&&(this._valid=!1)}_move(l,d,v){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;let b=l[0].sub(this._lastPoints[0]),M=l[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(b,M,v.timeStamp),this._valid?(this._lastPoints=l,this._active=!0,{pitchDelta:(b.y+M.y)/2*-.5}):void 0}gestureBeginsVertically(l,d,v){if(this._valid!==void 0)return this._valid;let b=l.mag()>=2,M=d.mag()>=2;if(!b&&!M)return;if(!b||!M)return this._firstMove===void 0&&(this._firstMove=v),v-this._firstMove<100&&void 0;let O=l.y>0==d.y>0;return a0(l)&&a0(d)&&O}}let dh={panStep:100,bearingStep:15,pitchStep:10};class y_{constructor(l){this._tr=new Ln(l);let d=dh;this._panStep=d.panStep,this._bearingStep=d.bearingStep,this._pitchStep=d.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(l){if(l.altKey||l.ctrlKey||l.metaKey)return;let d=0,v=0,b=0,M=0,O=0;switch(l.keyCode){case 61:case 107:case 171:case 187:d=1;break;case 189:case 109:case 173:d=-1;break;case 37:l.shiftKey?v=-1:(l.preventDefault(),M=-1);break;case 39:l.shiftKey?v=1:(l.preventDefault(),M=1);break;case 38:l.shiftKey?b=1:(l.preventDefault(),O=-1);break;case 40:l.shiftKey?b=-1:(l.preventDefault(),O=1);break;default:return}return this._rotationDisabled&&(v=0,b=0),{cameraAnimation:B=>{let U=this._tr;B.easeTo({duration:300,easeId:\"keyboardHandler\",easing:l0,zoom:d?Math.round(U.zoom)+d*(l.shiftKey?2:1):U.zoom,bearing:U.bearing+v*this._bearingStep,pitch:U.pitch+b*this._pitchStep,offset:[-M*this._panStep,-O*this._panStep],center:U.center},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function l0(T){return T*(2-T)}let c0=4.000244140625;class bf{constructor(l,d){this._onTimeout=v=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(v)},this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._triggerRenderFrame=d,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(l){this._defaultZoomRate=l}setWheelZoomRate(l){this._wheelZoomRate=l}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(l){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!l&&l.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(l){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!l[this._map._metaKey])return;l.preventDefault()}let d=l.deltaMode===WheelEvent.DOM_DELTA_LINE?40*l.deltaY:l.deltaY,v=n.h.now(),b=v-(this._lastWheelEventTime||0);this._lastWheelEventTime=v,d!==0&&d%c0==0?this._type=\"wheel\":d!==0&&Math.abs(d)<4?this._type=\"trackpad\":b>400?(this._type=null,this._lastValue=d,this._timeout=setTimeout(this._onTimeout,40,l)):this._type||(this._type=Math.abs(b*d)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,d+=this._lastValue)),l.shiftKey&&d&&(d/=4),this._type&&(this._lastWheelEvent=l,this._delta-=d,this._active||this._start(l)),l.preventDefault()}_start(l){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let d=c.mousePos(this._el,l),v=this._tr;this._around=n.L.convert(this._aroundCenter?v.center:v.unproject(d)),this._aroundPoint=v.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let l=this._tr.transform;if(this._delta!==0){let B=this._type===\"wheel\"&&Math.abs(this._delta)>c0?this._wheelZoomRate:this._defaultZoomRate,U=2/(1+Math.exp(-Math.abs(this._delta*B)));this._delta<0&&U!==0&&(U=1/U);let W=typeof this._targetZoom==\"number\"?l.zoomScale(this._targetZoom):l.scale;this._targetZoom=Math.min(l.maxZoom,Math.max(l.minZoom,l.scaleZoom(W*U))),this._type===\"wheel\"&&(this._startZoom=l.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let d=typeof this._targetZoom==\"number\"?this._targetZoom:l.zoom,v=this._startZoom,b=this._easing,M,O=!1;if(this._type===\"wheel\"&&v&&b){let B=Math.min((n.h.now()-this._lastWheelEventTime)/200,1),U=b(B);M=n.B.number(v,d,U),B<1?this._frameId||(this._frameId=!0):O=!0}else M=d,O=!0;return this._active=!0,O&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!O,zoomDelta:M-l.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(l){let d=n.bb;if(this._prevEase){let v=this._prevEase,b=(n.h.now()-v.start)/v.duration,M=v.easing(b+.01)-v.easing(b),O=.27/Math.sqrt(M*M+1e-4)*.01,B=Math.sqrt(.0729-O*O);d=n.ba(O,B,.25,1)}return this._prevEase={start:n.h.now(),duration:l,easing:d},d}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class u0{constructor(l,d){this._clickZoom=l,this._tapZoom=d}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class iA{constructor(l){this._tr=new Ln(l),this.reset()}reset(){this._active=!1}dblclick(l,d){return l.preventDefault(),{cameraAnimation:v=>{v.easeTo({duration:300,zoom:this._tr.zoom+(l.shiftKey?-1:1),around:this._tr.unproject(d)},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nA{constructor(){this._tap=new Rd({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(l,d,v){if(!this._swipePoint)if(this._tapTime){let b=d[0],M=l.timeStamp-this._tapTime<500,O=this._tapPoint.dist(b)<30;M&&O?v.length>0&&(this._swipePoint=b,this._swipeTouch=v[0].identifier):this.reset()}else this._tap.touchstart(l,d,v)}touchmove(l,d,v){if(this._tapTime){if(this._swipePoint){if(v[0].identifier!==this._swipeTouch)return;let b=d[0],M=b.y-this._swipePoint.y;return this._swipePoint=b,l.preventDefault(),this._active=!0,{zoomDelta:M/128}}}else this._tap.touchmove(l,d,v)}touchend(l,d,v){if(this._tapTime)this._swipePoint&&v.length===0&&this.reset();else{let b=this._tap.touchend(l,d,v);b&&(this._tapTime=l.timeStamp,this._tapPoint=b)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ph{constructor(l,d,v){this._el=l,this._mousePan=d,this._touchPan=v}enable(l){this._inertiaOptions=l||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class us{constructor(l,d,v){this._pitchWithRotate=l.pitchWithRotate,this._mouseRotate=d,this._mousePitch=v}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class _u{constructor(l,d,v,b){this._el=l,this._touchZoom=d,this._touchRotate=v,this._tapDragZoom=b,this._rotationDisabled=!1,this._enabled=!0}enable(l){this._touchZoom.enable(l),this._rotationDisabled||this._touchRotate.enable(l),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}let Bc=T=>T.zoom||T.drag||T.pitch||T.rotate;class h0 extends n.k{}function Od(T){return T.panDelta&&T.panDelta.mag()||T.zoomDelta||T.bearingDelta||T.pitchDelta}class f0{constructor(l,d){this.handleWindowEvent=b=>{this.handleEvent(b,`${b.type}Window`)},this.handleEvent=(b,M)=>{if(b.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let O=b.type===\"renderFrame\"?void 0:b,B={needsRenderFrame:!1},U={},W={},Z=b.touches,$=Z?this._getMapTouches(Z):void 0,st=$?c.touchPos(this._el,$):c.mousePos(this._el,b);for(let{handlerName:yt,handler:dt,allowed:Ft}of this._handlers){if(!dt.isEnabled())continue;let Ht;this._blockedByActive(W,Ft,yt)?dt.reset():dt[M||b.type]&&(Ht=dt[M||b.type](b,st,$),this.mergeHandlerResult(B,U,Ht,yt,O),Ht&&Ht.needsRenderFrame&&this._triggerRenderFrame()),(Ht||dt.isActive())&&(W[yt]=dt)}let At={};for(let yt in this._previousActiveHandlers)W[yt]||(At[yt]=O);this._previousActiveHandlers=W,(Object.keys(At).length||Od(B))&&(this._changes.push([B,U,At]),this._triggerRenderFrame()),(Object.keys(W).length||Od(B))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:pt}=B;pt&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pt(this._map))},this._map=l,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new n0(l),this._bearingSnap=d.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(d);let v=this._el;this._listeners=[[v,\"touchstart\",{passive:!0}],[v,\"touchmove\",{passive:!1}],[v,\"touchend\",void 0],[v,\"touchcancel\",void 0],[v,\"mousedown\",void 0],[v,\"mousemove\",void 0],[v,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[v,\"mouseover\",void 0],[v,\"mouseout\",void 0],[v,\"dblclick\",void 0],[v,\"click\",void 0],[v,\"keydown\",{capture:!1}],[v,\"keyup\",void 0],[v,\"wheel\",{passive:!1}],[v,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[b,M,O]of this._listeners)c.addEventListener(b,M,b===document?this.handleWindowEvent:this.handleEvent,O)}destroy(){for(let[l,d,v]of this._listeners)c.removeEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,v)}_addDefaultHandlers(l){let d=this._map,v=d.getCanvasContainer();this._add(\"mapEvent\",new js(d,l));let b=d.boxZoom=new eA(d,l);this._add(\"boxZoom\",b),l.interactive&&l.boxZoom&&b.enable();let M=new Al(d),O=new iA(d);d.doubleClickZoom=new u0(O,M),this._add(\"tapZoom\",M),this._add(\"clickZoom\",O),l.interactive&&l.doubleClickZoom&&d.doubleClickZoom.enable();let B=new nA;this._add(\"tapDragZoom\",B);let U=d.touchPitch=new zx(d);this._add(\"touchPitch\",U),l.interactive&&l.touchPitch&&d.touchPitch.enable(l.touchPitch);let W=Na(l),Z=co(l);d.dragRotate=new us(l,W,Z),this._add(\"mouseRotate\",W,[\"mousePitch\"]),this._add(\"mousePitch\",Z,[\"mouseRotate\"]),l.interactive&&l.dragRotate&&d.dragRotate.enable();let $=(({enable:Ft,clickTolerance:Ht})=>{let St=new rA({checkCorrectEvent:Bt=>c.mouseButton(Bt)===0&&!Bt.ctrlKey});return new za({clickTolerance:Ht,move:(Bt,Qt)=>({around:Qt,panDelta:Qt.sub(Bt)}),activateOnStart:!0,moveStateManager:St,enable:Ft,assignEvents:fh})})(l),st=new Ge(l,d);d.dragPan=new ph(v,$,st),this._add(\"mousePan\",$),this._add(\"touchPan\",st,[\"touchZoom\",\"touchRotate\"]),l.interactive&&l.dragPan&&d.dragPan.enable(l.dragPan);let At=new o0,pt=new __;d.touchZoomRotate=new _u(v,pt,At,B),this._add(\"touchRotate\",At,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",pt,[\"touchPan\",\"touchRotate\"]),l.interactive&&l.touchZoomRotate&&d.touchZoomRotate.enable(l.touchZoomRotate);let yt=d.scrollZoom=new bf(d,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",yt,[\"mousePan\"]),l.interactive&&l.scrollZoom&&d.scrollZoom.enable(l.scrollZoom);let dt=d.keyboard=new y_(d);this._add(\"keyboard\",dt),l.interactive&&l.keyboard&&d.keyboard.enable(),this._add(\"blockableMapEvent\",new gu(d))}_add(l,d,v){this._handlers.push({handlerName:l,handler:d,allowed:v}),this._handlersById[l]=d}stop(l){if(!this._updatingCamera){for(let{handler:d}of this._handlers)d.reset();this._inertia.clear(),this._fireEvents({},{},l),this._changes=[]}}isActive(){for(let{handler:l}of this._handlers)if(l.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Bc(this._eventsInProgress)||this.isZooming()}_blockedByActive(l,d,v){for(let b in l)if(b!==v&&(!d||d.indexOf(b)<0))return!0;return!1}_getMapTouches(l){let d=[];for(let v of l)this._el.contains(v.target)&&d.push(v);return d}mergeHandlerResult(l,d,v,b,M){if(!v)return;n.e(l,v);let O={handlerName:b,originalEvent:v.originalEvent||M};v.zoomDelta!==void 0&&(d.zoom=O),v.panDelta!==void 0&&(d.drag=O),v.pitchDelta!==void 0&&(d.pitch=O),v.bearingDelta!==void 0&&(d.rotate=O)}_applyChanges(){let l={},d={},v={};for(let[b,M,O]of this._changes)b.panDelta&&(l.panDelta=(l.panDelta||new n.P(0,0))._add(b.panDelta)),b.zoomDelta&&(l.zoomDelta=(l.zoomDelta||0)+b.zoomDelta),b.bearingDelta&&(l.bearingDelta=(l.bearingDelta||0)+b.bearingDelta),b.pitchDelta&&(l.pitchDelta=(l.pitchDelta||0)+b.pitchDelta),b.around!==void 0&&(l.around=b.around),b.pinchAround!==void 0&&(l.pinchAround=b.pinchAround),b.noInertia&&(l.noInertia=b.noInertia),n.e(d,M),n.e(v,O);this._updateMapTransform(l,d,v),this._changes=[]}_updateMapTransform(l,d,v){let b=this._map,M=b._getTransformForUpdate(),O=b.terrain;if(!(Od(l)||O&&this._terrainMovement))return this._fireEvents(d,v,!0);let{panDelta:B,zoomDelta:U,bearingDelta:W,pitchDelta:Z,around:$,pinchAround:st}=l;st!==void 0&&($=st),b._stop(!0),$=$||b.transform.centerPoint;let At=M.pointLocation(B?$.sub(B):$);W&&(M.bearing+=W),Z&&(M.pitch+=Z),U&&(M.zoom+=U),O?this._terrainMovement||!d.drag&&!d.zoom?d.drag&&this._terrainMovement?M.center=M.pointLocation(M.centerPoint.sub(B)):M.setLocationAtPoint(At,$):(this._terrainMovement=!0,this._map._elevationFreeze=!0,M.setLocationAtPoint(At,$),this._map.once(\"moveend\",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,M.recalculateZoom(b.terrain)})):M.setLocationAtPoint(At,$),b._applyUpdatedTransform(M),this._map._update(),l.noInertia||this._inertia.record(l),this._fireEvents(d,v,!0)}_fireEvents(l,d,v){let b=Bc(this._eventsInProgress),M=Bc(l),O={};for(let Z in l){let{originalEvent:$}=l[Z];this._eventsInProgress[Z]||(O[`${Z}start`]=$),this._eventsInProgress[Z]=l[Z]}!b&&M&&this._fireEvent(\"movestart\",M.originalEvent);for(let Z in O)this._fireEvent(Z,O[Z]);M&&this._fireEvent(\"move\",M.originalEvent);for(let Z in l){let{originalEvent:$}=l[Z];this._fireEvent(Z,$)}let B={},U;for(let Z in this._eventsInProgress){let{handlerName:$,originalEvent:st}=this._eventsInProgress[Z];this._handlersById[$].isActive()||(delete this._eventsInProgress[Z],U=d[$]||st,B[`${Z}end`]=U)}for(let Z in B)this._fireEvent(Z,B[Z]);let W=Bc(this._eventsInProgress);if(v&&(b||M)&&!W){this._updatingCamera=!0;let Z=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),$=st=>st!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new h0(\"renderFrame\",{timeStamp:l})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class v_ extends n.E{constructor(l,d){super(),this._renderFrameCallback=()=>{let v=Math.min((n.h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(v)),v<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=l,this._bearingSnap=d.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new n.L(this.transform.center.lng,this.transform.center.lat)}setCenter(l,d){return this.jumpTo({center:l},d)}panBy(l,d,v){return l=n.P.convert(l).mult(-1),this.panTo(this.transform.center,n.e({offset:l},d),v)}panTo(l,d,v){return this.easeTo(n.e({center:l},d),v)}getZoom(){return this.transform.zoom}setZoom(l,d){return this.jumpTo({zoom:l},d),this}zoomTo(l,d,v){return this.easeTo(n.e({zoom:l},d),v)}zoomIn(l,d){return this.zoomTo(this.getZoom()+1,l,d),this}zoomOut(l,d){return this.zoomTo(this.getZoom()-1,l,d),this}getBearing(){return this.transform.bearing}setBearing(l,d){return this.jumpTo({bearing:l},d),this}getPadding(){return this.transform.padding}setPadding(l,d){return this.jumpTo({padding:l},d),this}rotateTo(l,d,v){return this.easeTo(n.e({bearing:l},d),v)}resetNorth(l,d){return this.rotateTo(0,n.e({duration:1e3},l),d),this}resetNorthPitch(l,d){return this.easeTo(n.e({bearing:0,pitch:0,duration:1e3},l),d),this}snapToNorth(l,d){return Math.abs(this.getBearing()){if(this._zooming&&(v.zoom=n.B.number(b,U,$t)),this._rotating&&(v.bearing=n.B.number(M,W,$t)),this._pitching&&(v.pitch=n.B.number(O,Z,$t)),this._padding&&(v.interpolatePadding(B,$,$t),At=v.centerPoint.add(st)),this.terrain&&!l.freezeElevation&&this._updateElevation($t),St)v.setLocationAtPoint(St,Bt);else{let oe=v.zoomScale(v.zoom-b),pe=U>b?Math.min(2,Ht):Math.max(.5,Ht),he=Math.pow(pe,1-$t),be=v.unproject(dt.add(Ft.mult($t*he)).mult(oe));v.setLocationAtPoint(v.renderWorldCopies?be.wrap():be,At)}this._applyUpdatedTransform(v),this._fireMoveEvents(d)},$t=>{this.terrain&&this._finalizeElevation(),this._afterEase(d,$t)},l),this}_prepareEase(l,d,v={}){this._moving=!0,d||v.moving||this.fire(new n.k(\"movestart\",l)),this._zooming&&!v.zooming&&this.fire(new n.k(\"zoomstart\",l)),this._rotating&&!v.rotating&&this.fire(new n.k(\"rotatestart\",l)),this._pitching&&!v.pitching&&this.fire(new n.k(\"pitchstart\",l))}_prepareElevation(l){this._elevationCenter=l,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(l,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(l){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let d=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(l<1&&d!==this._elevationTarget){let v=this._elevationTarget-this._elevationStart;this._elevationStart+=l*(v-(d-(v*l+this._elevationStart))/(1-l)),this._elevationTarget=d}this.transform.elevation=n.B.number(this._elevationStart,this._elevationTarget,l)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(l){if(!this.transformCameraUpdate)return;let d=l.clone(),{center:v,zoom:b,pitch:M,bearing:O,elevation:B}=this.transformCameraUpdate(d);v&&(d.center=v),b!==void 0&&(d.zoom=b),M!==void 0&&(d.pitch=M),O!==void 0&&(d.bearing=O),B!==void 0&&(d.elevation=B),this.transform.apply(d)}_fireMoveEvents(l){this.fire(new n.k(\"move\",l)),this._zooming&&this.fire(new n.k(\"zoom\",l)),this._rotating&&this.fire(new n.k(\"rotate\",l)),this._pitching&&this.fire(new n.k(\"pitch\",l))}_afterEase(l,d){if(this._easeId&&d&&this._easeId===d)return;delete this._easeId;let v=this._zooming,b=this._rotating,M=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,v&&this.fire(new n.k(\"zoomend\",l)),b&&this.fire(new n.k(\"rotateend\",l)),M&&this.fire(new n.k(\"pitchend\",l)),this.fire(new n.k(\"moveend\",l))}flyTo(l,d){if(!l.essential&&n.h.prefersReducedMotion){let tr=n.F(l,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(tr,d)}this.stop(),l=n.e({offset:[0,0],speed:1.2,curve:1.42,easing:n.bb},l);let v=this._getTransformForUpdate(),b=this.getZoom(),M=this.getBearing(),O=this.getPitch(),B=this.getPadding(),U=\"zoom\"in l?n.ad(+l.zoom,v.minZoom,v.maxZoom):b,W=\"bearing\"in l?this._normalizeBearing(l.bearing,M):M,Z=\"pitch\"in l?+l.pitch:O,$=\"padding\"in l?l.padding:v.padding,st=v.zoomScale(U-b),At=n.P.convert(l.offset),pt=v.centerPoint.add(At),yt=v.pointLocation(pt),dt=n.L.convert(l.center||yt);this._normalizeCenter(dt);let Ft=v.project(yt),Ht=v.project(dt).sub(Ft),St=l.curve,Bt=Math.max(v.width,v.height),Qt=Bt/st,$t=Ht.mag();if(\"minZoom\"in l){let tr=n.ad(Math.min(l.minZoom,b,U),v.minZoom,v.maxZoom),Gi=Bt/v.zoomScale(tr-b);St=Math.sqrt(Gi/$t*2)}let oe=St*St;function pe(tr){let Gi=(Qt*Qt-Bt*Bt+(tr?-1:1)*oe*oe*$t*$t)/(2*(tr?Qt:Bt)*oe*$t);return Math.log(Math.sqrt(Gi*Gi+1)-Gi)}function he(tr){return(Math.exp(tr)-Math.exp(-tr))/2}function be(tr){return(Math.exp(tr)+Math.exp(-tr))/2}let Ze=pe(!1),Kr=function(tr){return be(Ze)/be(Ze+St*tr)},Ee=function(tr){return Bt*((be(Ze)*(he(Gi=Ze+St*tr)/be(Gi))-he(Ze))/oe)/$t;var Gi},pr=(pe(!0)-Ze)/St;if(Math.abs($t)<1e-6||!isFinite(pr)){if(Math.abs(Bt-Qt)<1e-6)return this.easeTo(l,d);let tr=Qtl.maxDuration&&(l.duration=0),this._zooming=!0,this._rotating=M!==W,this._pitching=Z!==O,this._padding=!v.isPaddingEqual($),this._prepareEase(d,!1),this.terrain&&this._prepareElevation(dt),this._ease(tr=>{let Gi=tr*pr,Jr=1/Kr(Gi);v.zoom=tr===1?U:b+v.scaleZoom(Jr),this._rotating&&(v.bearing=n.B.number(M,W,tr)),this._pitching&&(v.pitch=n.B.number(O,Z,tr)),this._padding&&(v.interpolatePadding(B,$,tr),pt=v.centerPoint.add(At)),this.terrain&&!l.freezeElevation&&this._updateElevation(tr);let Vr=tr===1?dt:v.unproject(Ft.add(Ht.mult(Ee(Gi))).mult(Jr));v.setLocationAtPoint(v.renderWorldCopies?Vr.wrap():Vr,pt),this._applyUpdatedTransform(v),this._fireMoveEvents(d)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(d)},l),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(l,d){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let v=this._onEaseEnd;delete this._onEaseEnd,v.call(this,d)}if(!l){let v=this.handlers;v&&v.stop(!1)}return this}_ease(l,d,v){v.animate===!1||v.duration===0?(l(1),d()):(this._easeStart=n.h.now(),this._easeOptions=v,this._onEaseFrame=l,this._onEaseEnd=d,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(l,d){l=n.b5(l,-180,180);let v=Math.abs(l-d);return Math.abs(l-360-d)180?-360:v<-180?360:0}queryTerrainElevation(l){return this.terrain?this.terrain.getElevationForLngLatZoom(n.L.convert(l),this.transform.tileZoom)-this.transform.elevation:null}}class ua{constructor(l={}){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=d=>{!d||d.sourceDataType!==\"metadata\"&&d.sourceDataType!==\"visibility\"&&d.dataType!==\"style\"&&d.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=l}getDefaultPosition(){return\"bottom-right\"}onAdd(l){return this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(l,d){let v=this._map._getUIString(`AttributionControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)}_updateAttributions(){if(!this._map.style)return;let l=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?l=l.concat(this.options.customAttribution.map(b=>typeof b!=\"string\"?\"\":b)):typeof this.options.customAttribution==\"string\"&&l.push(this.options.customAttribution)),this._map.style.stylesheet){let b=this._map.style.stylesheet;this.styleOwner=b.owner,this.styleId=b.id}let d=this._map.style.sourceCaches;for(let b in d){let M=d[b];if(M.used||M.usedForTerrain){let O=M.getSource();O.attribution&&l.indexOf(O.attribution)<0&&l.push(O.attribution)}}l=l.filter(b=>String(b).trim()),l.sort((b,M)=>b.length-M.length),l=l.filter((b,M)=>{for(let O=M+1;O=0)return!1;return!0});let v=l.join(\" | \");v!==this._attribHTML&&(this._attribHTML=v,l.length?(this._innerContainer.innerHTML=v,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class un{constructor(l={}){this._updateCompact=()=>{let d=this._container.children;if(d.length){let v=d[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&v.classList.add(\"maplibregl-compact\"):v.classList.remove(\"maplibregl-compact\")}},this.options=l}getDefaultPosition(){return\"bottom-left\"}onAdd(l){this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let d=c.create(\"a\",\"maplibregl-ctrl-logo\");return d.target=\"_blank\",d.rel=\"noopener nofollow\",d.href=\"https://maplibre.org/\",d.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),d.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(d),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sA{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(l){let d=++this._id;return this._queue.push({callback:l,id:d,cancelled:!1}),d}remove(l){let d=this._currentlyRunning,v=d?this._queue.concat(d):this._queue;for(let b of v)if(b.id===l)return void(b.cancelled=!0)}run(l=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let d=this._currentlyRunning=this._queue;this._queue=[];for(let v of d)if(!v.cancelled&&(v.callback(l),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}let d0={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"};var Ah=n.Q([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class x_ extends n.E{constructor(l){super(),this.sourceCache=l,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,l.usedForTerrain=!0,l.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(l,d){this.sourceCache.update(l,d),this._renderableTilesKeys=[];let v={};for(let b of l.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:d}))v[b.key]=!0,this._renderableTilesKeys.push(b.key),this._tiles[b.key]||(b.posMatrix=new Float64Array(16),n.aS(b.posMatrix,0,n.N,0,n.N,0,1),this._tiles[b.key]=new ao(b,this.tileSize));for(let b in this._tiles)v[b]||delete this._tiles[b]}freeRtt(l){for(let d in this._tiles){let v=this._tiles[d];(!l||v.tileID.equals(l)||v.tileID.isChildOf(l)||l.isChildOf(v.tileID))&&(v.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(l=>this.getTileByID(l))}getTileByID(l){return this._tiles[l]}getTerrainCoords(l){let d={};for(let v of this._renderableTilesKeys){let b=this._tiles[v].tileID;if(b.canonical.equals(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16),n.aS(M.posMatrix,0,n.N,0,n.N,0,1),d[v]=M}else if(b.canonical.isChildOf(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=b.canonical.z-l.canonical.z,B=b.canonical.x-(b.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,W,0,W,0,1),n.$(M.posMatrix,M.posMatrix,[-B*W,-U*W,0]),d[v]=M}else if(l.canonical.isChildOf(b.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=l.canonical.z-b.canonical.z,B=l.canonical.x-(l.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,n.N,0,n.N,0,1),n.$(M.posMatrix,M.posMatrix,[B*W,U*W,0]),n.a0(M.posMatrix,M.posMatrix,[1/2**O,1/2**O,0]),d[v]=M}}return d}getSourceTile(l,d){let v=this.sourceCache._source,b=l.overscaledZ-this.deltaZoom;if(b>v.maxzoom&&(b=v.maxzoom),b=v.minzoom&&(!M||!M.dem);)M=this.sourceCache.getTileByID(l.scaledTo(b--).key);return M}tilesAfterTime(l=Date.now()){return Object.values(this._tiles).filter(d=>d.timeAdded>=l)}}class b_{constructor(l,d,v){this.painter=l,this.sourceCache=new x_(d),this.options=v,this.exaggeration=typeof v.exaggeration==\"number\"?v.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(l,d,v,b=n.N){var M;if(!(d>=0&&d=0&&vl.canonical.z&&(l.canonical.z>=b?M=l.canonical.z-b:n.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let O=l.canonical.x-(l.canonical.x>>M<>M<>8<<4|M>>8,d[O+3]=0;let v=new n.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(d.buffer)),b=new qt(l,v,l.gl.RGBA,{premultiply:!1});return b.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._coordsTexture=b,b}pointCoordinate(l){let d=new Uint8Array(4),v=this.painter.context,b=v.gl;v.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),b.readPixels(l.x,this.painter.height/devicePixelRatio-l.y-1,1,1,b.RGBA,b.UNSIGNED_BYTE,d),v.bindFramebuffer.set(null);let M=d[0]+(d[2]>>4<<8),O=d[1]+((15&d[2])<<8),B=this.coordsIndex[255-d[3]],U=B&&this.sourceCache.getTileByID(B);if(!U)return null;let W=this._coordsTextureSize,Z=(1<0&&Math.sign(M)<0||!v&&Math.sign(b)<0&&Math.sign(M)>0?(b=360*Math.sign(M)+b,n.G(b)):d}}class Nx{constructor(l,d,v){this._context=l,this._size=d,this._tileSize=v,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let l of this._objects)l.texture.destroy(),l.fbo.destroy()}_createObject(l){let d=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),v=new qt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return v.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),d.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),d.colorAttachment.set(v.texture),{id:l,fbo:d,texture:v,stamp:-1,inUse:!1}}getObjectForId(l){return this._objects[l]}useObject(l){l.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(d=>l.id!==d),this._recentlyUsed.push(l.id)}stampObject(l){l.stamp=++this._stamp}getOrCreateFreeObject(){for(let d of this._recentlyUsed)if(!this._objects[d].inUse)return this._objects[d];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let l=this._createObject(this._objects.length);return this._objects.push(l),l}freeObject(l){l.inUse=!1}freeAllObjects(){for(let l of this._objects)this.freeObject(l)}isFull(){return!(this._objects.length!l.inUse)===!1}}let Mo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class oA{constructor(l,d){this.painter=l,this.terrain=d,this.pool=new Nx(l.context,30,d.sourceCache.tileSize*d.qualityFactor)}destruct(){this.pool.destruct()}getTexture(l){return this.pool.getObjectForId(l.rtt[this._stacks.length-1].id).texture}prepareForRender(l,d){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=l._order.filter(v=>!l._layers[v].isHidden(d)),this._coordsDescendingInv={};for(let v in l.sourceCaches){this._coordsDescendingInv[v]={};let b=l.sourceCaches[v].getVisibleCoordinates();for(let M of b){let O=this.terrain.sourceCache.getTerrainCoords(M);for(let B in O)this._coordsDescendingInv[v][B]||(this._coordsDescendingInv[v][B]=[]),this._coordsDescendingInv[v][B].push(O[B])}}this._coordsDescendingInvStr={};for(let v of l._order){let b=l._layers[v],M=b.source;if(Mo[b.type]&&!this._coordsDescendingInvStr[M]){this._coordsDescendingInvStr[M]={};for(let O in this._coordsDescendingInv[M])this._coordsDescendingInvStr[M][O]=this._coordsDescendingInv[M][O].map(B=>B.key).sort().join()}}for(let v of this._renderableTiles)for(let b in this._coordsDescendingInvStr){let M=this._coordsDescendingInvStr[b][v.tileID.key];M&&M!==v.rttCoords[b]&&(v.rtt=[])}}renderLayer(l){if(l.isHidden(this.painter.transform.zoom))return!1;let d=l.type,v=this.painter,b=this._renderableLayerIds[this._renderableLayerIds.length-1]===l.id;if(Mo[d]&&(this._prevType&&Mo[this._prevType]||this._stacks.push([]),this._prevType=d,this._stacks[this._stacks.length-1].push(l.id),!b))return!0;if(Mo[this._prevType]||Mo[d]&&b){this._prevType=d;let M=this._stacks.length-1,O=this._stacks[M]||[];for(let B of this._renderableTiles){if(this.pool.isFull()&&(Cn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(B),B.rtt[M]){let W=this.pool.getObjectForId(B.rtt[M].id);if(W.stamp===B.rtt[M].stamp){this.pool.useObject(W);continue}}let U=this.pool.getOrCreateFreeObject();this.pool.useObject(U),this.pool.stampObject(U),B.rtt[M]={id:U.id,stamp:U.stamp},v.context.bindFramebuffer.set(U.fbo.framebuffer),v.context.clear({color:n.aT.transparent,stencil:0}),v.currentStencilSource=void 0;for(let W=0;W{T.touchstart=T.dragStart,T.touchmoveWindow=T.dragMove,T.touchend=T.dragEnd},aA={showCompass:!0,showZoom:!0,visualizePitch:!1};class Bd{constructor(l,d,v=!1){this.mousedown=O=>{this.startMouse(n.e({},O,{ctrlKey:!0,preventDefault:()=>O.preventDefault()}),c.mousePos(this.element,O)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=O=>{this.moveMouse(O,c.mousePos(this.element,O))},this.mouseup=O=>{this.mouseRotate.dragEnd(O),this.mousePitch&&this.mousePitch.dragEnd(O),this.offTemp()},this.touchstart=O=>{O.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.startTouch(O,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=O=>{O.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.moveTouch(O,this._lastPos))},this.touchend=O=>{O.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let b=l.dragRotate._mouseRotate.getClickTolerance(),M=l.dragRotate._mousePitch.getClickTolerance();this.element=d,this.mouseRotate=Na({clickTolerance:b,enable:!0}),this.touchRotate=(({enable:O,clickTolerance:B,bearingDegreesPerPixelMoved:U=.8})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({bearingDelta:($.x-Z.x)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:b,enable:!0}),this.map=l,v&&(this.mousePitch=co({clickTolerance:M,enable:!0}),this.touchPitch=(({enable:O,clickTolerance:B,pitchDegreesPerPixelMoved:U=-.5})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({pitchDelta:($.y-Z.y)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:M,enable:!0})),c.addEventListener(d,\"mousedown\",this.mousedown),c.addEventListener(d,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(d,\"touchcancel\",this.reset)}startMouse(l,d){this.mouseRotate.dragStart(l,d),this.mousePitch&&this.mousePitch.dragStart(l,d),c.disableDrag()}startTouch(l,d){this.touchRotate.dragStart(l,d),this.touchPitch&&this.touchPitch.dragStart(l,d),c.disableDrag()}moveMouse(l,d){let v=this.map,{bearingDelta:b}=this.mouseRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.mousePitch){let{pitchDelta:M}=this.mousePitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}moveTouch(l,d){let v=this.map,{bearingDelta:b}=this.touchRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.touchPitch){let{pitchDelta:M}=this.touchPitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}off(){let l=this.element;c.removeEventListener(l,\"mousedown\",this.mousedown),c.removeEventListener(l,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(l,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let Hn;function uo(T,l,d){if(T=new n.L(T.lng,T.lat),l){let v=new n.L(T.lng-360,T.lat),b=new n.L(T.lng+360,T.lat),M=d.locationPoint(T).distSqr(l);d.locationPoint(v).distSqr(l)180;){let v=d.locationPoint(T);if(v.x>=0&&v.y>=0&&v.x<=d.width&&v.y<=d.height)break;T.lng>d.center.lng?T.lng-=360:T.lng+=360}return T}let ji={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function w_(T,l,d){let v=T.classList;for(let b in ji)v.remove(`maplibregl-${d}-anchor-${b}`);v.add(`maplibregl-${d}-anchor-${l}`)}class mh extends n.E{constructor(l){if(super(),this._onKeyPress=d=>{let v=d.code,b=d.charCode||d.keyCode;v!==\"Space\"&&v!==\"Enter\"&&b!==32&&b!==13||this.togglePopup()},this._onMapClick=d=>{let v=d.originalEvent.target,b=this._element;this._popup&&(v===b||b.contains(v))&&this.togglePopup()},this._update=d=>{if(!this._map)return;let v=this._map.loaded()&&!this._map.isMoving();(d?.type===\"terrain\"||d?.type===\"render\"&&!v)&&this._map.once(\"render\",this._update),this._map.transform.renderWorldCopies&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let b=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?b=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(b=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let M=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?M=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(M=`rotateX(${this._map.getPitch()}deg)`),d&&d.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${ji[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${M} ${b}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout(()=>{let O=this._map.unproject(this._pos),B=40075016686e-3*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=O.distanceTo(this._lngLat)>20*B?\"0.2\":\"1.0\",this._opacityTimeout=null},100))},this._onMove=d=>{if(!this._isDragging){let v=this._clickTolerance||this._map._clickTolerance;this._isDragging=d.point.dist(this._pointerdownPos)>=v}this._isDragging&&(this._pos=d.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new n.k(\"dragstart\"))),this.fire(new n.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new n.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=d=>{this._element.contains(d.originalEvent.target)&&(d.preventDefault(),this._positionDelta=d.point.sub(this._pos).add(this._offset),this._pointerdownPos=d.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=l&&l.anchor||\"center\",this._color=l&&l.color||\"#3FB1CE\",this._scale=l&&l.scale||1,this._draggable=l&&l.draggable||!1,this._clickTolerance=l&&l.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=l&&l.rotation||0,this._rotationAlignment=l&&l.rotationAlignment||\"auto\",this._pitchAlignment=l&&l.pitchAlignment&&l.pitchAlignment!==\"auto\"?l.pitchAlignment:this._rotationAlignment,l&&l.element)this._element=l.element,this._offset=n.P.convert(l&&l.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");let d=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),v=41,b=27;d.setAttributeNS(null,\"display\",\"block\"),d.setAttributeNS(null,\"height\",`${v}px`),d.setAttributeNS(null,\"width\",`${b}px`),d.setAttributeNS(null,\"viewBox\",`0 0 ${b} ${v}`);let M=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");M.setAttributeNS(null,\"stroke\",\"none\"),M.setAttributeNS(null,\"stroke-width\",\"1\"),M.setAttributeNS(null,\"fill\",\"none\"),M.setAttributeNS(null,\"fill-rule\",\"evenodd\");let O=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");O.setAttributeNS(null,\"fill-rule\",\"nonzero\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");B.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),B.setAttributeNS(null,\"fill\",\"#000000\");let U=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let Ft of U){let Ht=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Ht.setAttributeNS(null,\"opacity\",\"0.04\"),Ht.setAttributeNS(null,\"cx\",\"10.5\"),Ht.setAttributeNS(null,\"cy\",\"5.80029008\"),Ht.setAttributeNS(null,\"rx\",Ft.rx),Ht.setAttributeNS(null,\"ry\",Ft.ry),B.appendChild(Ht)}let W=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");W.setAttributeNS(null,\"fill\",this._color);let Z=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Z.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),W.appendChild(Z);let $=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");$.setAttributeNS(null,\"opacity\",\"0.25\"),$.setAttributeNS(null,\"fill\",\"#000000\");let st=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");st.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),$.appendChild(st);let At=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");At.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),At.setAttributeNS(null,\"fill\",\"#FFFFFF\");let pt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");yt.setAttributeNS(null,\"fill\",\"#000000\"),yt.setAttributeNS(null,\"opacity\",\"0.25\"),yt.setAttributeNS(null,\"cx\",\"5.5\"),yt.setAttributeNS(null,\"cy\",\"5.5\"),yt.setAttributeNS(null,\"r\",\"5.4999962\");let dt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");dt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),dt.setAttributeNS(null,\"cx\",\"5.5\"),dt.setAttributeNS(null,\"cy\",\"5.5\"),dt.setAttributeNS(null,\"r\",\"5.4999962\"),pt.appendChild(yt),pt.appendChild(dt),O.appendChild(B),O.appendChild(W),O.appendChild($),O.appendChild(At),O.appendChild(pt),d.appendChild(O),d.setAttributeNS(null,\"height\",v*this._scale+\"px\"),d.setAttributeNS(null,\"width\",b*this._scale+\"px\"),this._element.appendChild(d),this._offset=n.P.convert(l&&l.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",d=>{d.preventDefault()}),this._element.addEventListener(\"mousedown\",d=>{d.preventDefault()}),w_(this._element,this._anchor,\"marker\"),l&&l.className)for(let d of l.className.split(\" \"))this._element.classList.add(d);this._popup=null}addTo(l){return this.remove(),this._map=l,l.getCanvasContainer().appendChild(this._element),l.on(\"move\",this._update),l.on(\"moveend\",this._update),l.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(l){return this._lngLat=n.L.convert(l),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(l){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),l){if(!(\"offset\"in l.options)){let b=Math.abs(13.5)/Math.SQRT2;l.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[b,-1*(38.1-13.5+b)],\"bottom-right\":[-b,-1*(38.1-13.5+b)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=l,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let l=this._popup;return l?(l.isOpen()?l.remove():l.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(l){return this._offset=n.P.convert(l),this._update(),this}addClassName(l){this._element.classList.add(l)}removeClassName(l){this._element.classList.remove(l)}toggleClassName(l){return this._element.classList.toggle(l)}setDraggable(l){return this._draggable=!!l,this._map&&(l?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(l){return this._rotation=l||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(l){return this._rotationAlignment=l||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(l){return this._pitchAlignment=l&&l!==\"auto\"?l:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}let kn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},wn=0,Sf=!1,Es={maxWidth:100,unit:\"metric\"};function gh(T,l,d){let v=d&&d.maxWidth||100,b=T._container.clientHeight/2,M=T.unproject([0,b]),O=T.unproject([v,b]),B=M.distanceTo(O);if(d&&d.unit===\"imperial\"){let U=3.2808*B;U>5280?Wo(l,v,U/5280,T._getUIString(\"ScaleControl.Miles\")):Wo(l,v,U,T._getUIString(\"ScaleControl.Feet\"))}else d&&d.unit===\"nautical\"?Wo(l,v,B/1852,T._getUIString(\"ScaleControl.NauticalMiles\")):B>=1e3?Wo(l,v,B/1e3,T._getUIString(\"ScaleControl.Kilometers\")):Wo(l,v,B,T._getUIString(\"ScaleControl.Meters\"))}function Wo(T,l,d,v){let b=function(M){let O=Math.pow(10,`${Math.floor(M)}`.length-1),B=M/O;return B=B>=10?10:B>=5?5:B>=3?3:B>=2?2:B>=1?1:function(U){let W=Math.pow(10,Math.ceil(-Math.log(U)/Math.LN10));return Math.round(U*W)/W}(B),O*B}(d);T.style.width=l*(b/d)+\"px\",T.innerHTML=`${b} ${v}`}let p0={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Fd=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Tf(T){if(T){if(typeof T==\"number\"){let l=Math.round(Math.abs(T)/Math.SQRT2);return{center:new n.P(0,0),top:new n.P(0,T),\"top-left\":new n.P(l,l),\"top-right\":new n.P(-l,l),bottom:new n.P(0,-T),\"bottom-left\":new n.P(l,-l),\"bottom-right\":new n.P(-l,-l),left:new n.P(T,0),right:new n.P(-T,0)}}if(T instanceof n.P||Array.isArray(T)){let l=n.P.convert(T);return{center:l,top:l,\"top-left\":l,\"top-right\":l,bottom:l,\"bottom-left\":l,\"bottom-right\":l,left:l,right:l}}return{center:n.P.convert(T.center||[0,0]),top:n.P.convert(T.top||[0,0]),\"top-left\":n.P.convert(T[\"top-left\"]||[0,0]),\"top-right\":n.P.convert(T[\"top-right\"]||[0,0]),bottom:n.P.convert(T.bottom||[0,0]),\"bottom-left\":n.P.convert(T[\"bottom-left\"]||[0,0]),\"bottom-right\":n.P.convert(T[\"bottom-right\"]||[0,0]),left:n.P.convert(T.left||[0,0]),right:n.P.convert(T.right||[0,0])}}return Tf(new n.P(0,0))}let Ho={extend:(T,...l)=>n.e(T,...l),run(T){T()},logToElement(T,l=!1,d=\"log\"){let v=window.document.getElementById(d);v&&(l&&(v.innerHTML=\"\"),v.innerHTML+=`
${T}`)}},lA=o;class bi{static get version(){return lA}static get workerCount(){return lo.workerCount}static set workerCount(l){lo.workerCount=l}static get maxParallelImageRequests(){return n.c.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(l){n.c.MAX_PARALLEL_IMAGE_REQUESTS=l}static get workerUrl(){return n.c.WORKER_URL}static set workerUrl(l){n.c.WORKER_URL=l}static addProtocol(l,d){n.c.REGISTERED_PROTOCOLS[l]=d}static removeProtocol(l){delete n.c.REGISTERED_PROTOCOLS[l]}}return bi.Map=class extends v_{constructor(T){if(n.bg.mark(n.bh.create),(T=n.e({},dr,T)).minZoom!=null&&T.maxZoom!=null&&T.minZoom>T.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(T.minPitch!=null&&T.maxPitch!=null&&T.minPitch>T.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(T.minPitch!=null&&T.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T.maxPitch!=null&&T.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Kp(T.minZoom,T.maxZoom,T.minPitch,T.maxPitch,T.renderWorldCopies),{bearingSnap:T.bearingSnap}),this._cooperativeGesturesOnWheel=l=>{this._onCooperativeGesture(l,l[this._metaKey],1)},this._contextLost=l=>{l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new n.k(\"webglcontextlost\",{originalEvent:l}))},this._contextRestored=l=>{this._setupPainter(),this.resize(),this._update(),this.fire(new n.k(\"webglcontextrestored\",{originalEvent:l}))},this._onMapScroll=l=>{if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=T.interactive,this._cooperativeGestures=T.cooperativeGestures,this._metaKey=navigator.platform.indexOf(\"Mac\")===0?\"metaKey\":\"ctrlKey\",this._maxTileCacheSize=T.maxTileCacheSize,this._maxTileCacheZoomLevels=T.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=T.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=T.preserveDrawingBuffer,this._antialias=T.antialias,this._trackResize=T.trackResize,this._bearingSnap=T.bearingSnap,this._refreshExpiredTiles=T.refreshExpiredTiles,this._fadeDuration=T.fadeDuration,this._crossSourceCollisions=T.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=T.collectResourceTiming,this._renderTaskQueue=new sA,this._controls=[],this._mapId=n.a2(),this._locale=n.e({},d0,T.locale),this._clickTolerance=T.clickTolerance,this._overridePixelRatio=T.pixelRatio,this._maxCanvasSize=T.maxCanvasSize,this.transformCameraUpdate=T.transformCameraUpdate,this._imageQueueHandle=j.addThrottleControl(()=>this.isMoving()),this._requestManager=new et(T.transformRequest),typeof T.container==\"string\"){if(this._container=document.getElementById(T.container),!this._container)throw new Error(`Container '${T.container}' not found.`)}else{if(!(T.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=T.container}if(T.maxBounds&&this.setMaxBounds(T.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)),this.on(\"moveend\",()=>this._update(!1)),this.on(\"zoom\",()=>this._update(!0)),this.on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let l=!1,d=lh(v=>{this._trackResize&&!this._removed&&this.resize(v)._update()},50);this._resizeObserver=new ResizeObserver(v=>{l?d(v):l=!0}),this._resizeObserver.observe(this._container)}this.handlers=new f0(this,T),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=T.hash&&new Ld(typeof T.hash==\"string\"&&T.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:T.center,zoom:T.zoom,bearing:T.bearing,pitch:T.pitch}),T.bounds&&(this.resize(),this.fitBounds(T.bounds,n.e({},T.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=T.localIdeographFontFamily,this._validateStyle=T.validateStyle,T.style&&this.setStyle(T.style,{localIdeographFontFamily:T.localIdeographFontFamily}),T.attributionControl&&this.addControl(new ua({customAttribution:T.customAttribution})),T.maplibreLogo&&this.addControl(new un,T.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",l=>{this._update(l.dataType===\"style\"),this.fire(new n.k(`${l.dataType}data`,l))}),this.on(\"dataloading\",l=>{this.fire(new n.k(`${l.dataType}dataloading`,l))}),this.on(\"dataabort\",l=>{this.fire(new n.k(\"sourcedataabort\",l))})}_getMapId(){return this._mapId}addControl(T,l){if(l===void 0&&(l=T.getDefaultPosition?T.getDefaultPosition():\"top-right\"),!T||!T.onAdd)return this.fire(new n.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let d=T.onAdd(this);this._controls.push(T);let v=this._controlPositions[l];return l.indexOf(\"bottom\")!==-1?v.insertBefore(d,v.firstChild):v.appendChild(d),this}removeControl(T){if(!T||!T.onRemove)return this.fire(new n.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let l=this._controls.indexOf(T);return l>-1&&this._controls.splice(l,1),T.onRemove(this),this}hasControl(T){return this._controls.indexOf(T)>-1}calculateCameraOptionsFromTo(T,l,d,v){return v==null&&this.terrain&&(v=this.terrain.getElevationForLngLatZoom(d,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(T,l,d,v)}resize(T){var l;let d=this._containerDimensions(),v=d[0],b=d[1],M=this._getClampedPixelRatio(v,b);if(this._resizeCanvas(v,b,M),this.painter.resize(v,b,M),this.painter.overLimit()){let B=this.painter.context.gl;this._maxCanvasSize=[B.drawingBufferWidth,B.drawingBufferHeight];let U=this._getClampedPixelRatio(v,b);this._resizeCanvas(v,b,U),this.painter.resize(v,b,U)}this.transform.resize(v,b),(l=this._requestedCameraState)===null||l===void 0||l.resize(v,b);let O=!this._moving;return O&&(this.stop(),this.fire(new n.k(\"movestart\",T)).fire(new n.k(\"move\",T))),this.fire(new n.k(\"resize\",T)),O&&this.fire(new n.k(\"moveend\",T)),this}_getClampedPixelRatio(T,l){let{0:d,1:v}=this._maxCanvasSize,b=this.getPixelRatio(),M=T*b,O=l*b;return Math.min(M>d?d/M:1,O>v?v/O:1)*b}getPixelRatio(){var T;return(T=this._overridePixelRatio)!==null&&T!==void 0?T:devicePixelRatio}setPixelRatio(T){this._overridePixelRatio=T,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(T){return this.transform.setMaxBounds(Si.convert(T)),this._update()}setMinZoom(T){if((T=T??-2)>=-2&&T<=this.transform.maxZoom)return this.transform.minZoom=T,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=T,this._update(),this.getZoom()>T&&this.setZoom(T),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(T){if((T=T??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T>=0&&T<=this.transform.maxPitch)return this.transform.minPitch=T,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(T>=this.transform.minPitch)return this.transform.maxPitch=T,this._update(),this.getPitch()>T&&this.setPitch(T),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(T){return this.transform.renderWorldCopies=T,this._update()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(T){return this._cooperativeGestures=T,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(T){return this.transform.locationPoint(n.L.convert(T),this.style&&this.terrain)}unproject(T){return this.transform.pointLocation(n.P.convert(T),this.terrain)}isMoving(){var T;return this._moving||((T=this.handlers)===null||T===void 0?void 0:T.isMoving())}isZooming(){var T;return this._zooming||((T=this.handlers)===null||T===void 0?void 0:T.isZooming())}isRotating(){var T;return this._rotating||((T=this.handlers)===null||T===void 0?void 0:T.isRotating())}_createDelegatedListener(T,l,d){if(T===\"mouseenter\"||T===\"mouseover\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:M=>{let O=this.getLayer(l)?this.queryRenderedFeatures(M.point,{layers:[l]}):[];O.length?v||(v=!0,d.call(this,new la(T,this,M.originalEvent,{features:O}))):v=!1},mouseout:()=>{v=!1}}}}if(T===\"mouseleave\"||T===\"mouseout\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:O=>{(this.getLayer(l)?this.queryRenderedFeatures(O.point,{layers:[l]}):[]).length?v=!0:v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))},mouseout:O=>{v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))}}}}{let v=b=>{let M=this.getLayer(l)?this.queryRenderedFeatures(b.point,{layers:[l]}):[];M.length&&(b.features=M,d.call(this,b),delete b.features)};return{layer:l,listener:d,delegates:{[T]:v}}}}on(T,l,d){if(d===void 0)return super.on(T,l);let v=this._createDelegatedListener(T,l,d);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[T]=this._delegatedListeners[T]||[],this._delegatedListeners[T].push(v);for(let b in v.delegates)this.on(b,v.delegates[b]);return this}once(T,l,d){if(d===void 0)return super.once(T,l);let v=this._createDelegatedListener(T,l,d);for(let b in v.delegates)this.once(b,v.delegates[b]);return this}off(T,l,d){return d===void 0?super.off(T,l):(this._delegatedListeners&&this._delegatedListeners[T]&&(v=>{let b=this._delegatedListeners[T];for(let M=0;Mthis._updateStyle(T,l));let d=this.style&&l.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!T)),T?(this.style=new Gn(this,l||{}),this.style.setEventedParent(this,{style:this.style}),typeof T==\"string\"?this.style.loadURL(T,l,d):this.style.loadJSON(T,l,d),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Gn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(T,l){if(typeof T==\"string\"){let d=this._requestManager.transformRequest(T,Q.Style);n.f(d,(v,b)=>{v?this.fire(new n.j(v)):b&&this._updateDiff(b,l)})}else typeof T==\"object\"&&this._updateDiff(T,l)}_updateDiff(T,l){try{this.style.setState(T,l)&&this._update(!0)}catch(d){n.w(`Unable to perform style diff: ${d.message||d.error||d}. Rebuilding the style from scratch.`),this._updateStyle(T,l)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():n.w(\"There is no style added to the map.\")}addSource(T,l){return this._lazyInitEmptyStyle(),this.style.addSource(T,l),this._update(!0)}isSourceLoaded(T){let l=this.style&&this.style.sourceCaches[T];if(l!==void 0)return l.loaded();this.fire(new n.j(new Error(`There is no source with ID '${T}'`)))}setTerrain(T){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),T){let l=this.style.sourceCaches[T.source];if(!l)throw new Error(`cannot load terrain, because there exists no source with ID: ${T.source}`);for(let d in this.style._layers){let v=this.style._layers[d];v.type===\"hillshade\"&&v.source===T.source&&n.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new b_(this.painter,l,T),this.painter.renderToTexture=new oA(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=d=>{d.dataType===\"style\"?this.terrain.sourceCache.freeRtt():d.dataType===\"source\"&&d.tile&&(d.sourceId!==T.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(d.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new n.k(\"terrain\",{terrain:T})),this}getTerrain(){var T,l;return(l=(T=this.terrain)===null||T===void 0?void 0:T.options)!==null&&l!==void 0?l:null}areTilesLoaded(){let T=this.style&&this.style.sourceCaches;for(let l in T){let d=T[l]._tiles;for(let v in d){let b=d[v];if(b.state!==\"loaded\"&&b.state!==\"errored\")return!1}}return!0}addSourceType(T,l,d){return this._lazyInitEmptyStyle(),this.style.addSourceType(T,l,d)}removeSource(T){return this.style.removeSource(T),this._update(!0)}getSource(T){return this.style.getSource(T)}addImage(T,l,d={}){let{pixelRatio:v=1,sdf:b=!1,stretchX:M,stretchY:O,content:B}=d;if(this._lazyInitEmptyStyle(),!(l instanceof HTMLImageElement||n.a(l))){if(l.width===void 0||l.height===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:U,height:W,data:Z}=l,$=l;return this.style.addImage(T,{data:new n.R({width:U,height:W},new Uint8Array(Z)),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0,userImage:$}),$.onAdd&&$.onAdd(this,T),this}}{let{width:U,height:W,data:Z}=n.h.getImageData(l);this.style.addImage(T,{data:new n.R({width:U,height:W},Z),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0})}}updateImage(T,l){let d=this.style.getImage(T);if(!d)return this.fire(new n.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let v=l instanceof HTMLImageElement||n.a(l)?n.h.getImageData(l):l,{width:b,height:M,data:O}=v;if(b===void 0||M===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(b!==d.data.width||M!==d.data.height)return this.fire(new n.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let B=!(l instanceof HTMLImageElement||n.a(l));return d.data.replace(O,B),this.style.updateImage(T,d),this}getImage(T){return this.style.getImage(T)}hasImage(T){return T?!!this.style.getImage(T):(this.fire(new n.j(new Error(\"Missing required image id\"))),!1)}removeImage(T){this.style.removeImage(T)}loadImage(T,l){j.getImage(this._requestManager.transformRequest(T,Q.Image),l)}listImages(){return this.style.listImages()}addLayer(T,l){return this._lazyInitEmptyStyle(),this.style.addLayer(T,l),this._update(!0)}moveLayer(T,l){return this.style.moveLayer(T,l),this._update(!0)}removeLayer(T){return this.style.removeLayer(T),this._update(!0)}getLayer(T){return this.style.getLayer(T)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(T,l,d){return this.style.setLayerZoomRange(T,l,d),this._update(!0)}setFilter(T,l,d={}){return this.style.setFilter(T,l,d),this._update(!0)}getFilter(T){return this.style.getFilter(T)}setPaintProperty(T,l,d,v={}){return this.style.setPaintProperty(T,l,d,v),this._update(!0)}getPaintProperty(T,l){return this.style.getPaintProperty(T,l)}setLayoutProperty(T,l,d,v={}){return this.style.setLayoutProperty(T,l,d,v),this._update(!0)}getLayoutProperty(T,l){return this.style.getLayoutProperty(T,l)}setGlyphs(T,l={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(T,l),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(T,l,d={}){return this._lazyInitEmptyStyle(),this.style.addSprite(T,l,d,v=>{v||this._update(!0)}),this}removeSprite(T){return this._lazyInitEmptyStyle(),this.style.removeSprite(T),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(T,l={}){return this._lazyInitEmptyStyle(),this.style.setSprite(T,l,d=>{d||this._update(!0)}),this}setLight(T,l={}){return this._lazyInitEmptyStyle(),this.style.setLight(T,l),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(T,l){return this.style.setFeatureState(T,l),this._update()}removeFeatureState(T,l){return this.style.removeFeatureState(T,l),this._update()}getFeatureState(T){return this.style.getFeatureState(T)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let T=0,l=0;return this._container&&(T=this._container.clientWidth||400,l=this._container.clientHeight||300),[T,l]}_setupContainer(){let T=this._container;T.classList.add(\"maplibregl-map\");let l=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",T);this._interactive&&l.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",l),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");let d=this._containerDimensions(),v=this._getClampedPixelRatio(d[0],d[1]);this._resizeCanvas(d[0],d[1],v);let b=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",T),M=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(O=>{M[O]=c.create(\"div\",`maplibregl-ctrl-${O} `,b)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",this._container);let T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";navigator.platform.indexOf(\"Mac\")===0&&(T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use \\u2318 + scroll to zoom the map\"),this._cooperativeGesturesScreen.innerHTML=`\n
${T}
\n
${typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\n `,this._cooperativeGesturesScreen.setAttribute(\"aria-hidden\",\"true\"),this._canvasContainer.addEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add(\"maplibregl-cooperative-gestures\")}_destroyCooperativeGestures(){c.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove(\"maplibregl-cooperative-gestures\")}_resizeCanvas(T,l,d){this._canvas.width=Math.floor(d*T),this._canvas.height=Math.floor(d*l),this._canvas.style.width=`${T}px`,this._canvas.style.height=`${l}px`}_setupPainter(){let T={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},l=null;this._canvas.addEventListener(\"webglcontextcreationerror\",v=>{l={requestedAttributes:T},v&&(l.statusMessage=v.statusMessage,l.type=v.type)},{once:!0});let d=this._canvas.getContext(\"webgl2\",T)||this._canvas.getContext(\"webgl\",T);if(!d){let v=\"Failed to initialize WebGL\";throw l?(l.message=v,new Error(JSON.stringify(l))):new Error(v)}this.painter=new ah(d,this.transform),f.testSupport(d)}_onCooperativeGesture(T,l,d){return!l&&d<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\")},100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(T){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||T,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(T){return this._update(),this._renderTaskQueue.add(T)}_cancelRenderFrame(T){this._renderTaskQueue.remove(T)}_render(T){let l=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(T),this._removed)return;let d=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let b=this.transform.zoom,M=n.h.now();this.style.zoomHistory.update(b,M);let O=new n.a8(b,{now:M,fadeDuration:l,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),B=O.crossFadingFactor();B===1&&B===this._crossFadingFactor||(d=!0,this._crossFadingFactor=B),this.style.update(O)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,l,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:l,showPadding:this.showPadding}),this.fire(new n.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,n.bg.mark(n.bh.load),this.fire(new n.k(\"load\"))),this.style&&(this.style.hasTransitions()||d)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let v=this._sourcesDirty||this._styleDirty||this._placementDirty;return v||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.k(\"idle\")),!this._loaded||this._fullyLoaded||v||(this._fullyLoaded=!0,n.bg.mark(n.bh.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var T;this._hash&&this._hash.remove();for(let d of this._controls)d.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),j.removeThrottleControl(this._imageQueueHandle),(T=this._resizeObserver)===null||T===void 0||T.disconnect();let l=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");l&&l.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove(\"maplibregl-map\"),n.bg.clearMetrics(),this._removed=!0,this.fire(new n.k(\"remove\"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=n.h.frame(T=>{n.bg.frame(T),this._frame=null,this._render(T)}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(T){this._showTileBoundaries!==T&&(this._showTileBoundaries=T,this._update())}get showPadding(){return!!this._showPadding}set showPadding(T){this._showPadding!==T&&(this._showPadding=T,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(T){this._showCollisionBoxes!==T&&(this._showCollisionBoxes=T,T?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(T){this._showOverdrawInspector!==T&&(this._showOverdrawInspector=T,this._update())}get repaint(){return!!this._repaint}set repaint(T){this._repaint!==T&&(this._repaint=T,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(T){this._vertices=T,this._update()}get version(){return nr}getCameraTargetElevation(){return this.transform.elevation}},bi.NavigationControl=class{constructor(T){this._updateZoomButtons=()=>{let l=this._map.getZoom(),d=l===this._map.getMaxZoom(),v=l===this._map.getMinZoom();this._zoomInButton.disabled=d,this._zoomOutButton.disabled=v,this._zoomInButton.setAttribute(\"aria-disabled\",d.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",v.toString())},this._rotateCompassArrow=()=>{let l=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=l},this._setButtonTitle=(l,d)=>{let v=this._map._getUIString(`NavigationControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)},this.options=n.e({},aA,T),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",l=>l.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",l=>this._map.zoomIn({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",l=>this._map.zoomOut({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",l=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:l}):this._map.resetNorth({},{originalEvent:l})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(T){return this._map=T,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Bd(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(T,l){let d=c.create(\"button\",T,this._container);return d.type=\"button\",d.addEventListener(\"click\",l),d}},bi.GeolocateControl=class extends n.E{constructor(T){super(),this._onSuccess=l=>{if(this._map){if(this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new n.k(\"outofmaxbounds\",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(l),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(l),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"geolocate\",l)),this._finish()}},this._updateCamera=l=>{let d=new n.L(l.coords.longitude,l.coords.latitude),v=l.coords.accuracy,b=this._map.getBearing(),M=n.e({bearing:b},this.options.fitBoundsOptions),O=Si.fromLngLat(d,v);this._map.fitBounds(O,M,{geolocateSource:!0})},this._updateMarker=l=>{if(l){let d=new n.L(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(d).addTo(this._map),this._userLocationDotMarker.setLngLat(d).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=l=>{if(this._map){if(this.options.trackUserLocation)if(l.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&Sf)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"error\",l)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=l=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",d=>d.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",l===!1){n.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}else{let d=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new mh({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new mh({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",d=>{d.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||d.originalEvent&&d.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new n.k(\"trackuserlocationend\")))})}},this.options=n.e({},kn,T)}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(l,d=!1){Hn===void 0||d?window.navigator.permissions!==void 0?window.navigator.permissions.query({name:\"geolocation\"}).then(v=>{Hn=v.state!==\"denied\",l(Hn)}).catch(()=>{Hn=!!window.navigator.geolocation,l(Hn)}):(Hn=!!window.navigator.geolocation,l(Hn)):l(Hn)}(this._setupUI),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,wn=0,Sf=!1}_isOutOfMapMaxBounds(T){let l=this._map.getMaxBounds(),d=T.coords;return l&&(d.longitudel.getEast()||d.latitudel.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let T=this._map.getBounds(),l=T.getSouthEast(),d=T.getNorthEast(),v=l.distanceTo(d),b=Math.ceil(this._accuracy/(v/this._map._container.clientHeight)*2);this._circleElement.style.width=`${b}px`,this._circleElement.style.height=`${b}px`}trigger(){if(!this._setup)return n.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new n.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":wn--,Sf=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new n.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new n.k(\"trackuserlocationstart\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let T;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),wn++,wn>1?(T={maximumAge:6e5,timeout:0},Sf=!0):(T=this.options.positionOptions,Sf=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,T)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},bi.AttributionControl=ua,bi.LogoControl=un,bi.ScaleControl=class{constructor(T){this._onMove=()=>{gh(this._map,this._container,this.options)},this.setUnit=l=>{this.options.unit=l,gh(this._map,this._container,this.options)},this.options=n.e({},Es,T)}getDefaultPosition(){return\"bottom-left\"}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",T.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},bi.FullscreenControl=class extends n.E{constructor(T={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,T&&T.container&&(T.container instanceof HTMLElement?this._container=T.container:n.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(T){return this._map=T,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let T=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",T).setAttribute(\"aria-hidden\",\"true\"),T.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let T=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",T),this._fullscreenButton.title=T}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new n.k(\"fullscreenstart\")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new n.k(\"fullscreenend\")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},bi.TerrainControl=class{constructor(T){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"))},this.options=T}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},bi.Popup=class extends n.E{constructor(T){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new n.k(\"close\")),this),this._onMouseUp=l=>{this._update(l.point)},this._onMouseMove=l=>{this._update(l.point)},this._onDrag=l=>{this._update(l.point)},this._update=l=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let O of this.options.className.split(\" \"))this._container.classList.add(O);this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!l)return;let d=this._pos=this._trackPointer&&l?l:this._map.project(this._lngLat),v=this.options.anchor,b=Tf(this.options.offset);if(!v){let O=this._container.offsetWidth,B=this._container.offsetHeight,U;U=d.y+b.bottom.ythis._map.transform.height-B?[\"bottom\"]:[],d.xthis._map.transform.width-O/2&&U.push(\"right\"),v=U.length===0?\"bottom\":U.join(\"-\")}let M=d.add(b[v]).round();c.setTransform(this._container,`${ji[v]} translate(${M.x}px,${M.y}px)`),w_(this._container,v,\"popup\")},this._onClose=()=>{this.remove()},this.options=n.e(Object.create(p0),T)}addTo(T){return this._map&&this.remove(),this._map=T,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new n.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(T){return this._lngLat=n.L.convert(T),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(T){return this.setDOMContent(document.createTextNode(T))}setHTML(T){let l=document.createDocumentFragment(),d=document.createElement(\"body\"),v;for(d.innerHTML=T;v=d.firstChild,v;)l.appendChild(v);return this.setDOMContent(l)}getMaxWidth(){var T;return(T=this._container)===null||T===void 0?void 0:T.style.maxWidth}setMaxWidth(T){return this.options.maxWidth=T,this._update(),this}setDOMContent(T){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(T),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(T){this._container&&this._container.classList.add(T)}removeClassName(T){this._container&&this._container.classList.remove(T)}setOffset(T){return this.options.offset=T,this._update(),this}toggleClassName(T){if(this._container)return this._container.classList.toggle(T)}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let T=this._container.querySelector(Fd);T&&T.focus()}},bi.Marker=mh,bi.Style=Gn,bi.LngLat=n.L,bi.LngLatBounds=Si,bi.Point=n.P,bi.MercatorCoordinate=n.U,bi.Evented=n.E,bi.AJAXError=n.bi,bi.config=n.c,bi.CanvasSource=Vo,bi.GeoJSONSource=Xi,bi.ImageSource=ki,bi.RasterDEMTileSource=Rc,bi.RasterTileSource=kc,bi.VectorTileSource=ll,bi.VideoSource=ts,bi.setRTLTextPlugin=n.bj,bi.getRTLTextPluginStatus=n.bk,bi.prewarm=function(){bo().acquire(oi)},bi.clearPrewarmedResources=function(){let T=ul;T&&(T.isPreloaded()&&T.numActive()===1?(T.release(oi),ul=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},Ho.extend(bi,{isSafari:n.ac,getPerformanceMetrics:n.bg.getPerformanceMetrics}),bi});var s=r;return s})});var TG=Br((p6t,oP)=>{(function(e,t,r,i){\"use strict\";var s=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],n=t.createElement(\"div\"),o=\"function\",c=Math.round,f=Math.abs,_=Date.now;function w(lt,ft,Lt){return setTimeout(K(lt,Lt),ft)}function I(lt,ft,Lt){return Array.isArray(lt)?(R(lt,Lt[ft],Lt),!0):!1}function R(lt,ft,Lt){var Kt;if(lt)if(lt.forEach)lt.forEach(ft,Lt);else if(lt.length!==i)for(Kt=0;Kt\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",ti=e.console&&(e.console.warn||e.console.log);return ti&&ti.call(e.console,Kt,Qe),lt.apply(this,arguments)}}var j;typeof Object.assign!=\"function\"?j=function(ft){if(ft===i||ft===null)throw new TypeError(\"Cannot convert undefined or null to object\");for(var Lt=Object(ft),Kt=1;Kt-1}function le(lt){return lt.trim().split(/\\s+/g)}function ue(lt,ft,Lt){if(lt.indexOf&&!Lt)return lt.indexOf(ft);for(var Kt=0;KtVs[ft]}):Kt=Kt.sort()),Kt}function rr(lt,ft){for(var Lt,Kt,ge=ft[0].toUpperCase()+ft.slice(1),Qe=0;Qe1&&!Lt.firstMultiple?Lt.firstMultiple=bo(ft):ge===1&&(Lt.firstMultiple=!1);var Qe=Lt.firstInput,ti=Lt.firstMultiple,is=ti?ti.center:Qe.center,Ts=ft.center=hl(Kt);ft.timeStamp=_(),ft.deltaTime=ft.timeStamp-Qe.timeStamp,ft.angle=jo(is,Ts),ft.distance=ve(is,Ts),du(Lt,ft),ft.offsetDirection=wo(ft.deltaX,ft.deltaY);var Vs=Ia(ft.deltaTime,ft.deltaX,ft.deltaY);ft.overallVelocityX=Vs.x,ft.overallVelocityY=Vs.y,ft.overallVelocity=f(Vs.x)>f(Vs.y)?Vs.x:Vs.y,ft.scale=ti?Ul(ti.pointers,Kt):1,ft.rotation=ti?gn(ti.pointers,Kt):0,ft.maxPointers=Lt.prevInput?ft.pointers.length>Lt.prevInput.maxPointers?ft.pointers.length:Lt.prevInput.maxPointers:ft.pointers.length,ul(Lt,ft);var Ra=lt.element;Xt(ft.srcEvent.target,Ra)&&(Ra=ft.srcEvent.target),ft.target=Ra}function du(lt,ft){var Lt=ft.center,Kt=lt.offsetDelta||{},ge=lt.prevDelta||{},Qe=lt.prevInput||{};(ft.eventType===Xi||Qe.eventType===ki)&&(ge=lt.prevDelta={x:Qe.deltaX||0,y:Qe.deltaY||0},Kt=lt.offsetDelta={x:Lt.x,y:Lt.y}),ft.deltaX=ge.x+(Lt.x-Kt.x),ft.deltaY=ge.y+(Lt.y-Kt.y)}function ul(lt,ft){var Lt=lt.lastInterval||ft,Kt=ft.timeStamp-Lt.timeStamp,ge,Qe,ti,is;if(ft.eventType!=ts&&(Kt>Rc||Lt.velocity===i)){var Ts=ft.deltaX-Lt.deltaX,Vs=ft.deltaY-Lt.deltaY,Ra=Ia(Kt,Ts,Vs);Qe=Ra.x,ti=Ra.y,ge=f(Ra.x)>f(Ra.y)?Ra.x:Ra.y,is=wo(Ts,Vs),lt.lastInterval=ft}else ge=Lt.velocity,Qe=Lt.velocityX,ti=Lt.velocityY,is=Lt.direction;ft.velocity=ge,ft.velocityX=Qe,ft.velocityY=ti,ft.direction=is}function bo(lt){for(var ft=[],Lt=0;Lt=f(ft)?lt<0?cl:xo:ft<0?Pa:na}function ve(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.sqrt(Kt*Kt+ge*ge)}function jo(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.atan2(ge,Kt)*180/Math.PI}function gn(lt,ft){return jo(ft[1],ft[0],ls)+jo(lt[1],lt[0],ls)}function Ul(lt,ft){return ve(ft[0],ft[1],ls)/ve(lt[0],lt[1],ls)}var Ca={mousedown:Xi,mousemove:Jn,mouseup:ki},Te=\"mousedown\",Dr=\"mousemove mouseup\";function gr(){this.evEl=Te,this.evWin=Dr,this.pressed=!1,mn.apply(this,arguments)}Y(gr,mn,{handler:function(ft){var Lt=Ca[ft.type];Lt&Xi&&ft.button===0&&(this.pressed=!0),Lt&Jn&&ft.which!==1&&(Lt=ki),this.pressed&&(Lt&ki&&(this.pressed=!1),this.callback(this.manager,Lt,{pointers:[ft],changedPointers:[ft],pointerType:ll,srcEvent:ft}))}});var Us={pointerdown:Xi,pointermove:Jn,pointerup:ki,pointercancel:ts,pointerout:ts},La={2:Si,3:Ns,4:ll,5:kc},Mr=\"pointerdown\",sa=\"pointermove pointerup pointercancel\";e.MSPointerEvent&&!e.PointerEvent&&(Mr=\"MSPointerDown\",sa=\"MSPointerMove MSPointerUp MSPointerCancel\");function gt(){this.evEl=Mr,this.evWin=sa,mn.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}Y(gt,mn,{handler:function(ft){var Lt=this.store,Kt=!1,ge=ft.type.toLowerCase().replace(\"ms\",\"\"),Qe=Us[ge],ti=La[ft.pointerType]||ft.pointerType,is=ti==Si,Ts=ue(Lt,ft.pointerId,\"pointerId\");Qe&Xi&&(ft.button===0||is)?Ts<0&&(Lt.push(ft),Ts=Lt.length-1):Qe&(ki|ts)&&(Kt=!0),!(Ts<0)&&(Lt[Ts]=ft,this.callback(this.manager,Qe,{pointers:Lt,changedPointers:[ft],pointerType:ti,srcEvent:ft}),Kt&&Lt.splice(Ts,1))}});var tt={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},nt=\"touchstart\",ht=\"touchstart touchmove touchend touchcancel\";function vt(){this.evTarget=nt,this.evWin=ht,this.started=!1,mn.apply(this,arguments)}Y(vt,mn,{handler:function(ft){var Lt=tt[ft.type];if(Lt===Xi&&(this.started=!0),!!this.started){var Kt=xt.call(this,ft,Lt);Lt&(ki|ts)&&Kt[0].length-Kt[1].length===0&&(this.started=!1),this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}}});function xt(lt,ft){var Lt=De(lt.touches),Kt=De(lt.changedTouches);return ft&(ki|ts)&&(Lt=Ke(Lt.concat(Kt),\"identifier\",!0)),[Lt,Kt]}var _t={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},Dt=\"touchstart touchmove touchend touchcancel\";function Mt(){this.evTarget=Dt,this.targetIds={},mn.apply(this,arguments)}Y(Mt,mn,{handler:function(ft){var Lt=_t[ft.type],Kt=Vt.call(this,ft,Lt);Kt&&this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}});function Vt(lt,ft){var Lt=De(lt.touches),Kt=this.targetIds;if(ft&(Xi|Jn)&&Lt.length===1)return Kt[Lt[0].identifier]=!0,[Lt,Lt];var ge,Qe,ti=De(lt.changedTouches),is=[],Ts=this.target;if(Qe=Lt.filter(function(Vs){return Xt(Vs.target,Ts)}),ft===Xi)for(ge=0;ge-1&&Kt.splice(Qe,1)};setTimeout(ge,ie)}}function Xe(lt){for(var ft=lt.srcEvent.clientX,Lt=lt.srcEvent.clientY,Kt=0;Kt-1&&this.requireFail.splice(ft,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(lt){return!!this.simultaneous[lt.id]},emit:function(lt){var ft=this,Lt=this.state;function Kt(ge){ft.manager.emit(ge,lt)}Lt=ai&&Kt(ft.options.event+Vm(Lt))},tryEmit:function(lt){if(this.canEmit())return this.emit(lt);this.state=ln},canEmit:function(){for(var lt=0;ltft.threshold&&ge&ft.direction},attrTest:function(lt){return So.prototype.attrTest.call(this,lt)&&(this.state&Ss||!(this.state&Ss)&&this.directionTest(lt))},emit:function(lt){this.pX=lt.deltaX,this.pY=lt.deltaY;var ft=Go(lt.direction);ft&&(lt.additionalEvent=this.options.event+ft),this._super.emit.call(this,lt)}});function Ki(){So.apply(this,arguments)}Y(Ki,So,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.scale-1)>this.options.threshold||this.state&Ss)},emit:function(lt){if(lt.scale!==1){var ft=lt.scale<1?\"in\":\"out\";lt.additionalEvent=this.options.event+ft}this._super.emit.call(this,lt)}});function _i(){Dn.apply(this,arguments),this._timer=null,this._input=null}Y(_i,Dn,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[zi]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distanceft.time;if(this._input=lt,!Kt||!Lt||lt.eventType&(ki|ts)&&!ge)this.reset();else if(lt.eventType&Xi)this.reset(),this._timer=w(function(){this.state=ka,this.tryEmit()},ft.time,this);else if(lt.eventType&ki)return ka;return ln},reset:function(){clearTimeout(this._timer)},emit:function(lt){this.state===ka&&(lt&<.eventType&ki?this.manager.emit(this.options.event+\"up\",lt):(this._input.timeStamp=_(),this.manager.emit(this.options.event,this._input)))}});function Gl(){So.apply(this,arguments)}Y(Gl,So,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.rotation)>this.options.threshold||this.state&Ss)}});function cn(){So.apply(this,arguments)}Y(cn,So,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:as|ao,pointers:1},getTouchAction:function(){return jl.prototype.getTouchAction.call(this)},attrTest:function(lt){var ft=this.options.direction,Lt;return ft&(as|ao)?Lt=lt.overallVelocity:ft&as?Lt=lt.overallVelocityX:ft&ao&&(Lt=lt.overallVelocityY),this._super.attrTest.call(this,lt)&&ft<.offsetDirection&<.distance>this.options.threshold&<.maxPointers==this.options.pointers&&f(Lt)>this.options.velocity&<.eventType&ki},emit:function(lt){var ft=Go(lt.offsetDirection);ft&&this.manager.emit(this.options.event+ft,lt),this.manager.emit(this.options.event,lt)}});function pu(){Dn.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}Y(pu,Dn,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ni]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distance{\"use strict\";hB.exports=U3;hB.exports.default=U3;function U3(e,t,r){r=r||2;var i=t&&t.length,s=i?t[0]*r:e.length,n=Lq(e,0,s,r,!0),o=[];if(!n||n.next===n.prev)return o;var c,f,_,w,I,R,N;if(i&&(n=wpt(e,t,n,r)),e.length>80*r){c=_=e[0],f=w=e[1];for(var j=r;j_&&(_=I),R>w&&(w=R);N=Math.max(_-c,w-f),N=N!==0?32767/N:0}return X2(n,o,r,c,f,N,0),o}function Lq(e,t,r,i,s){var n,o;if(s===uB(e,t,r,i)>0)for(n=t;n=t;n-=i)o=Cq(n,e[n],e[n+1],o);return o&&V3(o,o.next)&&(J2(o),o=o.next),o}function jg(e,t){if(!e)return e;t||(t=e);var r=e,i;do if(i=!1,!r.steiner&&(V3(r,r.next)||_s(r.prev,r,r.next)===0)){if(J2(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function X2(e,t,r,i,s,n,o){if(e){!o&&n&&Ppt(e,i,s,n);for(var c=e,f,_;e.prev!==e.next;){if(f=e.prev,_=e.next,n?vpt(e,i,s,n):ypt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),J2(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=xpt(jg(e),t,r),X2(e,t,r,i,s,n,2)):o===2&&bpt(e,t,r,i,s,n):X2(jg(e),t,r,i,s,n,1);break}}}}function ypt(e){var t=e.prev,r=e,i=e.next;if(_s(t,r,i)>=0)return!1;for(var s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&Jv(s,c,n,f,o,_,j.x,j.y)&&_s(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function vpt(e,t,r,i){var s=e.prev,n=e,o=e.next;if(_s(s,n,o)>=0)return!1;for(var c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=lB(N,j,t,r,i),K=lB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function xpt(e,t,r){var i=e;do{var s=i.prev,n=i.next.next;!V3(s,n)&&kq(s,i,i.next,n)&&K2(s,n)&&K2(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),J2(i),J2(i.next),i=e=n),i=i.next}while(i!==e);return jg(i)}function bpt(e,t,r,i,s,n){var o=e;do{for(var c=o.next.next;c!==o.prev;){if(o.i!==c.i&&Lpt(o,c)){var f=Rq(o,c);o=jg(o,o.next),f=jg(f,f.next),X2(o,t,r,i,s,n,0),X2(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function wpt(e,t,r,i){var s=[],n,o,c,f,_;for(n=0,o=t.length;n=r.next.y&&r.next.y!==r.y){var c=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(c<=i&&c>n&&(n=c,o=r.x=r.x&&r.x>=_&&i!==r.x&&Jv(so.x||r.x===o.x&&Ept(o,r)))&&(o=r,I=R)),r=r.next;while(r!==f);return o}function Ept(e,t){return _s(e.prev,e,t.prev)<0&&_s(t.next,e,e.next)<0}function Ppt(e,t,r,i){var s=e;do s.z===0&&(s.z=lB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,Ipt(s)}function Ipt(e){var t,r,i,s,n,o,c,f,_=1;do{for(r=e,e=null,n=null,o=0;r;){for(o++,i=r,c=0,t=0;t<_&&(c++,i=i.nextZ,!!i);t++);for(f=_;c>0||f>0&&i;)c!==0&&(f===0||!i||r.z<=i.z)?(s=r,r=r.nextZ,c--):(s=i,i=i.nextZ,f--),n?n.nextZ=s:e=s,s.prevZ=n,n=s;r=i}n.nextZ=null,_*=2}while(o>1);return e}function lB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Cpt(e){var t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function Lpt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!kpt(e,t)&&(K2(e,t)&&K2(t,e)&&Rpt(e,t)&&(_s(e.prev,e,t.prev)||_s(e,t.prev,t))||V3(e,t)&&_s(e.prev,e,e.next)>0&&_s(t.prev,t,t.next)>0)}function _s(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function V3(e,t){return e.x===t.x&&e.y===t.y}function kq(e,t,r,i){var s=N3(_s(e,t,r)),n=N3(_s(e,t,i)),o=N3(_s(r,i,e)),c=N3(_s(r,i,t));return!!(s!==n&&o!==c||s===0&&z3(e,r,t)||n===0&&z3(e,i,t)||o===0&&z3(r,e,i)||c===0&&z3(r,t,i))}function z3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function N3(e){return e>0?1:e<0?-1:0}function kpt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&kq(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function K2(e,t){return _s(e.prev,e,e.next)<0?_s(e,t,e.next)>=0&&_s(e,e.prev,t)>=0:_s(e,t,e.prev)<0||_s(e,e.next,t)<0}function Rpt(e,t){var r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function Rq(e,t){var r=new cB(e.i,e.x,e.y),i=new cB(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function Cq(e,t,r,i){var s=new cB(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function J2(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function cB(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}U3.deviation=function(e,t,r,i){var s=t&&t.length,n=s?t[0]*r:e.length,o=Math.abs(uB(e,0,n,r));if(s)for(var c=0,f=t.length;c0&&(i+=e[s-1].length,r.holes.push(i))}return r}});var nF=Br(Tx=>{\"use strict\";Object.defineProperty(Tx,\"__esModule\",{value:!0});Tx.DefaultSerializer=Tx.extendSerializer=void 0;function Hyt(e,t){let r=e.deserialize.bind(e),i=e.serialize.bind(e);return{deserialize(s){return t.deserialize(s,r)},serialize(s){return t.serialize(s,i)}}}Tx.extendSerializer=Hyt;var w$={deserialize(e){return Object.assign(Error(e.message),{name:e.name,stack:e.stack})},serialize(e){return{__error_marker:\"$$error\",message:e.message,name:e.name,stack:e.stack}}},qyt=e=>e&&typeof e==\"object\"&&\"__error_marker\"in e&&e.__error_marker===\"$$error\";Tx.DefaultSerializer={deserialize(e){return qyt(e)?w$.deserialize(e):e},serialize(e){return e instanceof Error?w$.serialize(e):e}}});var Mx=Br(km=>{\"use strict\";Object.defineProperty(km,\"__esModule\",{value:!0});km.serialize=km.deserialize=km.registerSerializer=void 0;var S$=nF(),zI=S$.DefaultSerializer;function Zyt(e){zI=S$.extendSerializer(zI,e)}km.registerSerializer=Zyt;function Yyt(e){return zI.deserialize(e)}km.deserialize=Yyt;function Qyt(e){return zI.serialize(e)}km.serialize=Qyt});var M$=Br(Ex=>{\"use strict\";Object.defineProperty(Ex,\"__esModule\",{value:!0});Ex.getBundleURL=Ex.getBaseURL=void 0;var sF;function $yt(){return sF||(sF=Xyt()),sF}Ex.getBundleURL=$yt;function Xyt(){try{throw new Error}catch(e){let t=(\"\"+e.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);if(t)return T$(t[0])}return\"/\"}function T$(e){return(\"\"+e).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/,\"$1\")+\"/\"}Ex.getBaseURL=T$});var aF=Br(Rm=>{\"use strict\";Object.defineProperty(Rm,\"__esModule\",{value:!0});Rm.isWorkerRuntime=Rm.getWorkerImplementation=Rm.defaultPoolSize=void 0;var E$=M$();Rm.defaultPoolSize=typeof navigator<\"u\"&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:4;var P$=e=>/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(e);function I$(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Kyt(){if(typeof Worker>\"u\")return class{constructor(){throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\")}};class e extends Worker{constructor(i,s){var n,o;typeof i==\"string\"&&s&&s._baseURL?i=new URL(i,s._baseURL):typeof i==\"string\"&&!P$(i)&&E$.getBundleURL().match(/^file:\\/\\//i)&&(i=new URL(i,E$.getBundleURL().replace(/\\/[^\\/]+$/,\"/\")),(!((n=s?.CORSWorkaround)!==null&&n!==void 0)||n)&&(i=I$(`importScripts(${JSON.stringify(i)});`))),typeof i==\"string\"&&P$(i)&&(!((o=s?.CORSWorkaround)!==null&&o!==void 0)||o)&&(i=I$(`importScripts(${JSON.stringify(i)});`)),super(i,s)}}class t extends e{constructor(i,s){let n=window.URL.createObjectURL(i);super(n,s)}static fromText(i,s){let n=new window.Blob([i],{type:\"text/javascript\"});return new t(n,s)}}return{blob:t,default:e}}var oF;function Jyt(){return oF||(oF=Kyt()),oF}Rm.getWorkerImplementation=Jyt;function tvt(){let e=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!e)}Rm.isWorkerRuntime=tvt});var L$=Br((Vle,C$)=>{var Px=1e3,Ix=Px*60,Cx=Ix*60,r_=Cx*24,evt=r_*7,rvt=r_*365.25;C$.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return ivt(e);if(r===\"number\"&&isFinite(e))return t.long?svt(e):nvt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function ivt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),i=(t[2]||\"ms\").toLowerCase();switch(i){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*rvt;case\"weeks\":case\"week\":case\"w\":return r*evt;case\"days\":case\"day\":case\"d\":return r*r_;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Cx;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Ix;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Px;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function nvt(e){var t=Math.abs(e);return t>=r_?Math.round(e/r_)+\"d\":t>=Cx?Math.round(e/Cx)+\"h\":t>=Ix?Math.round(e/Ix)+\"m\":t>=Px?Math.round(e/Px)+\"s\":e+\"ms\"}function svt(e){var t=Math.abs(e);return t>=r_?NI(e,t,r_,\"day\"):t>=Cx?NI(e,t,Cx,\"hour\"):t>=Ix?NI(e,t,Ix,\"minute\"):t>=Px?NI(e,t,Px,\"second\"):e+\" ms\"}function NI(e,t,r,i){var s=t>=r*1.5;return Math.round(e/r)+\" \"+i+(s?\"s\":\"\")}});var R$=Br((jle,k$)=>{function ovt(e){r.debug=r,r.default=r,r.coerce=f,r.disable=n,r.enable=s,r.enabled=o,r.humanize=L$(),r.destroy=_,Object.keys(e).forEach(w=>{r[w]=e[w]}),r.names=[],r.skips=[],r.formatters={};function t(w){let I=0;for(let R=0;R{if(kt===\"%%\")return\"%\";ut++;let qt=r.formatters[Xt];if(typeof qt==\"function\"){let le=et[ut];kt=qt.call(Y,le),et.splice(ut,1),ut--}return kt}),r.formatArgs.call(Y,et),(Y.log||r.log).apply(Y,et)}return Q.namespace=w,Q.useColors=r.useColors(),Q.color=r.selectColor(w),Q.extend=i,Q.destroy=r.destroy,Object.defineProperty(Q,\"enabled\",{enumerable:!0,configurable:!1,get:()=>R!==null?R:(N!==r.namespaces&&(N=r.namespaces,j=r.enabled(w)),j),set:et=>{R=et}}),typeof r.init==\"function\"&&r.init(Q),Q}function i(w,I){let R=r(this.namespace+(typeof I>\"u\"?\":\":I)+w);return R.log=this.log,R}function s(w){r.save(w),r.namespaces=w,r.names=[],r.skips=[];let I,R=(typeof w==\"string\"?w:\"\").split(/[\\s,]+/),N=R.length;for(I=0;I\"-\"+I)].join(\",\");return r.enable(\"\"),w}function o(w){if(w[w.length-1]===\"*\")return!0;let I,R;for(I=0,R=r.skips.length;I{hu.formatArgs=lvt;hu.save=cvt;hu.load=uvt;hu.useColors=avt;hu.storage=hvt();hu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})();hu.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"];function avt(){return typeof window<\"u\"&&window.process&&(window.process.type===\"renderer\"||window.process.__nwjs)?!0:typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)?!1:typeof document<\"u\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<\"u\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}function lvt(e){if(e[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+e[0]+(this.useColors?\"%c \":\" \")+\"+\"+UI.exports.humanize(this.diff),!this.useColors)return;let t=\"color: \"+this.color;e.splice(1,0,t,\"color: inherit\");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!==\"%%\"&&(r++,s===\"%c\"&&(i=r))}),e.splice(i,0,t)}hu.log=console.debug||console.log||(()=>{});function cvt(e){try{e?hu.storage.setItem(\"debug\",e):hu.storage.removeItem(\"debug\")}catch{}}function uvt(){let e;try{e=hu.storage.getItem(\"debug\")}catch{}return!e&&typeof process<\"u\"&&\"env\"in process&&(e=process.env.DEBUG),e}function hvt(){try{return localStorage}catch{}}UI.exports=R$()(hu);var{formatters:fvt}=UI.exports;fvt.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}}});var kS=Br(Lx=>{\"use strict\";var dvt=Lx&&Lx.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(Lx,\"__esModule\",{value:!0});Lx.AsyncSerialScheduler=void 0;var lF=class{constructor(t){this._baseObserver=t,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch(t=>this._baseObserver.error(t))}error(t){this._baseObserver.error(t)}schedule(t){let r=Promise.all(this._pendingPromises),i=[],s=o=>i.push(o),n=Promise.resolve().then(()=>dvt(this,void 0,void 0,function*(){yield r,yield t(s),this._pendingPromises.delete(n);for(let o of i)this._baseObserver.next(o)})).catch(o=>{this._pendingPromises.delete(n),this._baseObserver.error(o)});this._pendingPromises.add(n)}};Lx.AsyncSerialScheduler=lF});var O$=Br(D$=>{\"use strict\";Object.defineProperty(D$,\"__esModule\",{value:!0})});var cF=Br(Bl=>{\"use strict\";Object.defineProperty(Bl,\"__esModule\",{value:!0});Bl.registerObservableSymbol=Bl.getSymbol=Bl.hasSymbol=Bl.hasSymbols=void 0;var pvt=()=>typeof Symbol==\"function\";Bl.hasSymbols=pvt;var Avt=e=>Bl.hasSymbols()&&!!Symbol[e];Bl.hasSymbol=Avt;var mvt=e=>Bl.hasSymbol(e)?Symbol[e]:\"@@\"+e;Bl.getSymbol=mvt;function gvt(){Bl.hasSymbols()&&!Bl.hasSymbol(\"observable\")&&(Symbol.observable=Symbol(\"observable\"))}Bl.registerObservableSymbol=gvt;Bl.hasSymbol(\"asyncIterator\")||(Symbol.asyncIterator=Symbol.asyncIterator||Symbol.for(\"Symbol.asyncIterator\"))});var gd=Br(Vp=>{\"use strict\";Object.defineProperty(Vp,\"__esModule\",{value:!0});Vp.Observable=Vp.SubscriptionObserver=Vp.Subscription=void 0;O$();var DS=cF(),_vt=DS.getSymbol(\"iterator\"),hF=DS.getSymbol(\"observable\"),B$=DS.getSymbol(\"species\");function GI(e,t){let r=e[t];if(r!=null){if(typeof r!=\"function\")throw new TypeError(r+\" is not a function\");return r}}function RS(e){let t=e.constructor;return t!==void 0&&(t=t[B$],t===null&&(t=void 0)),t!==void 0?t:i_}function yvt(e){return e instanceof i_}function kx(e){kx.log?kx.log(e):setTimeout(()=>{throw e},0)}function jI(e){Promise.resolve().then(()=>{try{e()}catch(t){kx(t)}})}function F$(e){let t=e._cleanup;if(t!==void 0&&(e._cleanup=void 0,!!t))try{if(typeof t==\"function\")t();else{let r=GI(t,\"unsubscribe\");r&&r.call(t)}}catch(r){kx(r)}}function fF(e){e._observer=void 0,e._queue=void 0,e._state=\"closed\"}function vvt(e){let t=e._queue;if(t){e._queue=void 0,e._state=\"ready\";for(let r of t)if(z$(e,r.type,r.value),e._state===\"closed\")break}}function z$(e,t,r){e._state=\"running\";let i=e._observer;try{let s=i?GI(i,t):void 0;switch(t){case\"next\":s&&s.call(i,r);break;case\"error\":if(fF(e),s)s.call(i,r);else throw r;break;case\"complete\":fF(e),s&&s.call(i);break}}catch(s){kx(s)}e._state===\"closed\"?F$(e):e._state===\"running\"&&(e._state=\"ready\")}function uF(e,t,r){if(e._state!==\"closed\"){if(e._state===\"buffering\"){e._queue=e._queue||[],e._queue.push({type:t,value:r});return}if(e._state!==\"ready\"){e._state=\"buffering\",e._queue=[{type:t,value:r}],jI(()=>vvt(e));return}z$(e,t,r)}}var WI=class{constructor(t,r){this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state=\"initializing\";let i=new HI(this);try{this._cleanup=r.call(void 0,i)}catch(s){i.error(s)}this._state===\"initializing\"&&(this._state=\"ready\")}get closed(){return this._state===\"closed\"}unsubscribe(){this._state!==\"closed\"&&(fF(this),F$(this))}};Vp.Subscription=WI;var HI=class{constructor(t){this._subscription=t}get closed(){return this._subscription._state===\"closed\"}next(t){uF(this._subscription,\"next\",t)}error(t){uF(this._subscription,\"error\",t)}complete(){uF(this._subscription,\"complete\")}};Vp.SubscriptionObserver=HI;var i_=class e{constructor(t){if(!(this instanceof e))throw new TypeError(\"Observable cannot be called as a function\");if(typeof t!=\"function\")throw new TypeError(\"Observable initializer must be a function\");this._subscriber=t}subscribe(t,r,i){return(typeof t!=\"object\"||t===null)&&(t={next:t,error:r,complete:i}),new WI(t,this._subscriber)}pipe(t,...r){let i=this;for(let s of[t,...r])i=s(i);return i}tap(t,r,i){let s=typeof t!=\"object\"||t===null?{next:t,error:r,complete:i}:t;return new e(n=>this.subscribe({next(o){s.next&&s.next(o),n.next(o)},error(o){s.error&&s.error(o),n.error(o)},complete(){s.complete&&s.complete(),n.complete()},start(o){s.start&&s.start(o)}}))}forEach(t){return new Promise((r,i)=>{if(typeof t!=\"function\"){i(new TypeError(t+\" is not a function\"));return}function s(){n.unsubscribe(),r(void 0)}let n=this.subscribe({next(o){try{t(o,s)}catch(c){i(c),n.unsubscribe()}},error(o){i(o)},complete(){r(void 0)}})})}map(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){let n=s;try{n=t(s)}catch(o){return i.error(o)}i.next(n)},error(s){i.error(s)},complete(){i.complete()}}))}filter(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){try{if(!t(s))return}catch(n){return i.error(n)}i.next(s)},error(s){i.error(s)},complete(){i.complete()}}))}reduce(t,r){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let i=RS(this),s=arguments.length>1,n=!1,o=r;return new i(c=>this.subscribe({next(f){let _=!n;if(n=!0,!_||s)try{o=t(o,f)}catch(w){return c.error(w)}else o=f},error(f){c.error(f)},complete(){if(!n&&!s)return c.error(new TypeError(\"Cannot reduce an empty sequence\"));c.next(o),c.complete()}}))}concat(...t){let r=RS(this);return new r(i=>{let s,n=0;function o(c){s=c.subscribe({next(f){i.next(f)},error(f){i.error(f)},complete(){n===t.length?(s=void 0,i.complete()):o(r.from(t[n++]))}})}return o(this),()=>{s&&(s.unsubscribe(),s=void 0)}})}flatMap(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>{let s=[],n=this.subscribe({next(c){let f;if(t)try{f=t(c)}catch(w){return i.error(w)}else f=c;let _=r.from(f).subscribe({next(w){i.next(w)},error(w){i.error(w)},complete(){let w=s.indexOf(_);w>=0&&s.splice(w,1),o()}});s.push(_)},error(c){i.error(c)},complete(){o()}});function o(){n.closed&&s.length===0&&i.complete()}return()=>{s.forEach(c=>c.unsubscribe()),n.unsubscribe()}})}[(Symbol.observable,hF)](){return this}static from(t){let r=typeof this==\"function\"?this:e;if(t==null)throw new TypeError(t+\" is not an object\");let i=GI(t,hF);if(i){let s=i.call(t);if(Object(s)!==s)throw new TypeError(s+\" is not an object\");return yvt(s)&&s.constructor===r?s:new r(n=>s.subscribe(n))}if(DS.hasSymbol(\"iterator\")){let s=GI(t,_vt);if(s)return new r(n=>{jI(()=>{if(!n.closed){for(let o of s.call(t))if(n.next(o),n.closed)return;n.complete()}})})}if(Array.isArray(t))return new r(s=>{jI(()=>{if(!s.closed){for(let n of t)if(s.next(n),s.closed)return;s.complete()}})});throw new TypeError(t+\" is not observable\")}static of(...t){let r=typeof this==\"function\"?this:e;return new r(i=>{jI(()=>{if(!i.closed){for(let s of t)if(i.next(s),i.closed)return;i.complete()}})})}static get[B$](){return this}};Vp.Observable=i_;DS.hasSymbols()&&Object.defineProperty(i_,Symbol(\"extensions\"),{value:{symbol:hF,hostReportError:kx},configurable:!0});Vp.default=i_});var Dm=Br(dF=>{\"use strict\";Object.defineProperty(dF,\"__esModule\",{value:!0});function xvt(e){typeof e==\"function\"?e():e&&typeof e.unsubscribe==\"function\"&&e.unsubscribe()}dF.default=xvt});var N$=Br(OS=>{\"use strict\";var bvt=OS&&OS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(OS,\"__esModule\",{value:!0});var wvt=kS(),Svt=gd(),Tvt=Dm();function Mvt(e){return t=>new Svt.default(r=>{let i=new wvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>bvt(this,void 0,void 0,function*(){(yield e(n))&&o(n)}))}});return()=>Tvt.default(s)})}OS.default=Mvt});var V$=Br(Rx=>{\"use strict\";Object.defineProperty(Rx,\"__esModule\",{value:!0});Rx.isIterator=Rx.isAsyncIterator=void 0;var U$=cF();function Evt(e){return e&&U$.hasSymbol(\"asyncIterator\")&&e[Symbol.asyncIterator]}Rx.isAsyncIterator=Evt;function Pvt(e){return e&&U$.hasSymbol(\"iterator\")&&e[Symbol.iterator]}Rx.isIterator=Pvt});var G$=Br(n_=>{\"use strict\";var Ivt=n_&&n_.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Cvt=n_&&n_.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof __values==\"function\"?__values(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}};Object.defineProperty(n_,\"__esModule\",{value:!0});var Lvt=kS(),j$=V$(),kvt=gd(),Rvt=Dm();function Dvt(e){return t=>new kvt.default(r=>{let i=new Lvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Ivt(this,void 0,void 0,function*(){var c,f;let _=yield e(n);if(j$.isIterator(_)||j$.isAsyncIterator(_))try{for(var w=Cvt(_),I;I=yield w.next(),!I.done;){let R=I.value;o(R)}}catch(R){c={error:R}}finally{try{I&&!I.done&&(f=w.return)&&(yield f.call(w))}finally{if(c)throw c.error}}else _.map(R=>o(R))}))}});return()=>Rvt.default(s)})}n_.default=Dvt});var W$=Br(pF=>{\"use strict\";Object.defineProperty(pF,\"__esModule\",{value:!0});var Ovt=gd();function Bvt(e){return new Ovt.Observable(t=>{let r=0,i=setInterval(()=>{t.next(r++)},e);return()=>clearInterval(i)})}pF.default=Bvt});var H$=Br(BS=>{\"use strict\";var Fvt=BS&&BS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(BS,\"__esModule\",{value:!0});var zvt=kS(),Nvt=gd(),Uvt=Dm();function Vvt(e){return t=>new Nvt.default(r=>{let i=new zvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Fvt(this,void 0,void 0,function*(){let c=yield e(n);o(c)}))}});return()=>Uvt.default(s)})}BS.default=Vvt});var Z$=Br(AF=>{\"use strict\";Object.defineProperty(AF,\"__esModule\",{value:!0});var q$=gd(),jvt=Dm();function Gvt(...e){return e.length===0?q$.Observable.from([]):new q$.Observable(t=>{let r=0,i=e.map(n=>n.subscribe({error(o){t.error(o),s()},next(o){t.next(o)},complete(){++r===e.length&&(t.complete(),s())}})),s=()=>{i.forEach(n=>jvt.default(n))};return s})}AF.default=Gvt});var _F=Br(gF=>{\"use strict\";Object.defineProperty(gF,\"__esModule\",{value:!0});var Wvt=gd(),mF=class extends Wvt.default{constructor(){super(t=>(this._observers.add(t),()=>this._observers.delete(t))),this._observers=new Set}next(t){for(let r of this._observers)r.next(t)}error(t){for(let r of this._observers)r.error(t)}complete(){for(let t of this._observers)t.complete()}};gF.default=mF});var Y$=Br(yF=>{\"use strict\";Object.defineProperty(yF,\"__esModule\",{value:!0});var Hvt=gd(),qvt=_F(),Zvt=Dm();function Yvt(e){let t=new qvt.default,r,i=0;return new Hvt.default(s=>{r||(r=e.subscribe(t));let n=t.subscribe(s);return i++,()=>{i--,n.unsubscribe(),i===0&&(Zvt.default(r),r=void 0)}})}yF.default=Yvt});var Q$=Br(FS=>{\"use strict\";var Qvt=FS&&FS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(FS,\"__esModule\",{value:!0});var $vt=kS(),Xvt=gd(),Kvt=Dm();function Jvt(e,t){return r=>new Xvt.default(i=>{let s,n=0,o=new $vt.AsyncSerialScheduler(i),c=r.subscribe({complete(){o.complete()},error(f){o.error(f)},next(f){o.schedule(_=>Qvt(this,void 0,void 0,function*(){s=yield e(n===0?typeof t>\"u\"?f:t:s,f,n++),_(s)}))}});return()=>Kvt.default(c)})}FS.default=Jvt});var $$=Br(zs=>{\"use strict\";Object.defineProperty(zs,\"__esModule\",{value:!0});zs.unsubscribe=zs.Subject=zs.scan=zs.Observable=zs.multicast=zs.merge=zs.map=zs.interval=zs.flatMap=zs.filter=void 0;var txt=N$();Object.defineProperty(zs,\"filter\",{enumerable:!0,get:function(){return txt.default}});var ext=G$();Object.defineProperty(zs,\"flatMap\",{enumerable:!0,get:function(){return ext.default}});var rxt=W$();Object.defineProperty(zs,\"interval\",{enumerable:!0,get:function(){return rxt.default}});var ixt=H$();Object.defineProperty(zs,\"map\",{enumerable:!0,get:function(){return ixt.default}});var nxt=Z$();Object.defineProperty(zs,\"merge\",{enumerable:!0,get:function(){return nxt.default}});var sxt=Y$();Object.defineProperty(zs,\"multicast\",{enumerable:!0,get:function(){return sxt.default}});var oxt=gd();Object.defineProperty(zs,\"Observable\",{enumerable:!0,get:function(){return oxt.default}});var axt=Q$();Object.defineProperty(zs,\"scan\",{enumerable:!0,get:function(){return axt.default}});var lxt=_F();Object.defineProperty(zs,\"Subject\",{enumerable:!0,get:function(){return lxt.default}});var cxt=Dm();Object.defineProperty(zs,\"unsubscribe\",{enumerable:!0,get:function(){return cxt.default}})});var zS=Br((nce,X$)=>{X$.exports=$$()});var K$=Br(qI=>{\"use strict\";Object.defineProperty(qI,\"__esModule\",{value:!0});qI.allSettled=void 0;function uxt(e){return Promise.all(e.map(t=>{let r=n=>({status:\"fulfilled\",value:n}),i=n=>({status:\"rejected\",reason:n}),s=Promise.resolve(t);try{return s.then(r,i)}catch(n){return Promise.reject(n)}}))}qI.allSettled=uxt});var J$=Br(NS=>{\"use strict\";Object.defineProperty(NS,\"__esModule\",{value:!0});NS.PoolEventType=void 0;var hxt;(function(e){e.initialized=\"initialized\",e.taskCanceled=\"taskCanceled\",e.taskCompleted=\"taskCompleted\",e.taskFailed=\"taskFailed\",e.taskQueued=\"taskQueued\",e.taskQueueDrained=\"taskQueueDrained\",e.taskStart=\"taskStart\",e.terminated=\"terminated\"})(hxt=NS.PoolEventType||(NS.PoolEventType={}))});var US=Br(eh=>{\"use strict\";Object.defineProperty(eh,\"__esModule\",{value:!0});eh.$worker=eh.$transferable=eh.$terminate=eh.$events=eh.$errors=void 0;eh.$errors=Symbol(\"thread.errors\");eh.$events=Symbol(\"thread.events\");eh.$terminate=Symbol(\"thread.terminate\");eh.$transferable=Symbol(\"thread.transferable\");eh.$worker=Symbol(\"thread.worker\")});var xF=Br(ZI=>{\"use strict\";Object.defineProperty(ZI,\"__esModule\",{value:!0});ZI.Thread=void 0;var vF=US();function tX(e){throw Error(e)}ZI.Thread={errors(e){return e[vF.$errors]||tX(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},events(e){return e[vF.$events]||tX(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},terminate(e){return e[vF.$terminate]()}}});var nX=Br(rh=>{\"use strict\";var s_=rh&&rh.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},fxt=rh&&rh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rh,\"__esModule\",{value:!0});rh.Pool=rh.Thread=rh.PoolEventType=void 0;var dxt=fxt(VI()),bF=zS(),eX=K$(),pxt=aF(),ia=J$();Object.defineProperty(rh,\"PoolEventType\",{enumerable:!0,get:function(){return ia.PoolEventType}});var rX=xF();Object.defineProperty(rh,\"Thread\",{enumerable:!0,get:function(){return rX.Thread}});var Axt=1;function mxt(e){let t=[];for(let r=0;rsetTimeout(t,e))}function _xt(e,t){return e.reduce((r,i)=>[...r,...t(i)],[])}function yxt(e){return e.replace(/\\W/g,\" \").trim().replace(/\\s+/g,\"-\")}function vxt(e,t){return mxt(t).map(()=>({init:e(),runningTasks:[]}))}var YI=class{constructor(t,r){this.eventSubject=new bF.Subject,this.initErrors=[],this.isClosing=!1,this.nextTaskID=1,this.taskQueue=[];let i=typeof r==\"number\"?{size:r}:r||{},{size:s=pxt.defaultPoolSize}=i;this.debug=dxt.default(`threads:pool:${yxt(i.name||String(Axt++))}`),this.options=i,this.workers=vxt(t,s),this.eventObservable=bF.multicast(bF.Observable.from(this.eventSubject)),Promise.all(this.workers.map(n=>n.init)).then(()=>this.eventSubject.next({type:ia.PoolEventType.initialized,size:this.workers.length}),n=>{this.debug(\"Error while initializing pool worker:\",n),this.eventSubject.error(n),this.initErrors.push(n)})}findIdlingWorker(){let{concurrency:t=1}=this.options;return this.workers.find(r=>r.runningTasks.length{t.runningTasks=t.runningTasks.filter(n=>n!==i)};yield gxt(0);try{yield this.runPoolTask(t,r)}finally{s(),this.isClosing||this.scheduleWork()}});t.runningTasks.push(i)})}scheduleWork(){this.debug(\"Attempt de-queueing a task in order to run it...\");let t=this.findIdlingWorker();if(!t)return;let r=this.taskQueue.shift();if(!r){this.debug(\"Task queue is empty\"),this.eventSubject.next({type:ia.PoolEventType.taskQueueDrained});return}this.run(t,r)}taskCompletion(t){return new Promise((r,i)=>{let s=this.events().subscribe(n=>{n.type===ia.PoolEventType.taskCompleted&&n.taskID===t?(s.unsubscribe(),r(n.returnValue)):n.type===ia.PoolEventType.taskFailed&&n.taskID===t?(s.unsubscribe(),i(n.error)):n.type===ia.PoolEventType.terminated&&(s.unsubscribe(),i(Error(\"Pool has been terminated before task was run.\")))})})}settled(t=!1){return s_(this,void 0,void 0,function*(){let r=()=>_xt(this.workers,n=>n.runningTasks),i=[],s=this.eventObservable.subscribe(n=>{n.type===ia.PoolEventType.taskFailed&&i.push(n.error)});return this.initErrors.length>0?Promise.reject(this.initErrors[0]):t&&this.taskQueue.length===0?(yield eX.allSettled(r()),i):(yield new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained&&(c.unsubscribe(),n(void 0))},error:o})}),yield eX.allSettled(r()),s.unsubscribe(),i)})}completed(t=!1){return s_(this,void 0,void 0,function*(){let r=this.settled(t),i=new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained?(c.unsubscribe(),n(r)):f.type===ia.PoolEventType.taskFailed&&(c.unsubscribe(),o(f.error))},error:o})}),s=yield Promise.race([r,i]);if(s.length>0)throw s[0]})}events(){return this.eventObservable}queue(t){let{maxQueuedJobs:r=1/0}=this.options;if(this.isClosing)throw Error(\"Cannot schedule pool tasks after terminate() has been called.\");if(this.initErrors.length>0)throw this.initErrors[0];let i=this.nextTaskID++,s=this.taskCompletion(i);s.catch(o=>{this.debug(`Task #${i} errored:`,o)});let n={id:i,run:t,cancel:()=>{this.taskQueue.indexOf(n)!==-1&&(this.taskQueue=this.taskQueue.filter(o=>o!==n),this.eventSubject.next({type:ia.PoolEventType.taskCanceled,taskID:n.id}))},then:s.then.bind(s)};if(this.taskQueue.length>=r)throw Error(`Maximum number of pool tasks queued. Refusing to queue another one.\nThis usually happens for one of two reasons: We are either at peak workload right now or some tasks just won't finish, thus blocking the pool.`);return this.debug(`Queueing task #${n.id}...`),this.taskQueue.push(n),this.eventSubject.next({type:ia.PoolEventType.taskQueued,taskID:n.id}),this.scheduleWork(),n}terminate(t){return s_(this,void 0,void 0,function*(){this.isClosing=!0,t||(yield this.completed(!0)),this.eventSubject.next({type:ia.PoolEventType.terminated,remainingQueue:[...this.taskQueue]}),this.eventSubject.complete(),yield Promise.all(this.workers.map(r=>s_(this,void 0,void 0,function*(){return rX.Thread.terminate(yield r.init)})))})}};YI.EventType=ia.PoolEventType;function iX(e,t){return new YI(e,t)}iX.EventType=ia.PoolEventType;rh.Pool=iX});var sX=Br(QI=>{\"use strict\";Object.defineProperty(QI,\"__esModule\",{value:!0});QI.createPromiseWithResolver=void 0;var xxt=()=>{};function bxt(){let e=!1,t,r=xxt;return[new Promise(n=>{e?n(t):r=n}),n=>{e=!0,t=n,r(t)}]}QI.createPromiseWithResolver=bxt});var oX=Br(VS=>{\"use strict\";Object.defineProperty(VS,\"__esModule\",{value:!0});VS.WorkerEventType=void 0;var hce=US(),wxt;(function(e){e.internalError=\"internalError\",e.message=\"message\",e.termination=\"termination\"})(wxt=VS.WorkerEventType||(VS.WorkerEventType={}))});var lX=Br($I=>{\"use strict\";Object.defineProperty($I,\"__esModule\",{value:!0});$I.ObservablePromise=void 0;var Sxt=zS(),Txt=()=>{},Mxt=e=>e,aX=e=>Promise.resolve().then(e);function Ext(e){throw e}function Pxt(e){return e&&typeof e.then==\"function\"}var wF=class e extends Sxt.Observable{constructor(t){super(r=>{let i=this,s=Object.assign(Object.assign({},r),{complete(){r.complete(),i.onCompletion()},error(n){r.error(n),i.onError(n)},next(n){r.next(n),i.onNext(n)}});try{return this.initHasRun=!0,t(s)}catch(n){s.error(n)}}),this.initHasRun=!1,this.fulfillmentCallbacks=[],this.rejectionCallbacks=[],this.firstValueSet=!1,this.state=\"pending\"}onNext(t){this.firstValueSet||(this.firstValue=t,this.firstValueSet=!0)}onError(t){this.state=\"rejected\",this.rejection=t;for(let r of this.rejectionCallbacks)aX(()=>r(t))}onCompletion(){this.state=\"fulfilled\";for(let t of this.fulfillmentCallbacks)aX(()=>t(this.firstValue))}then(t,r){let i=t||Mxt,s=r||Ext,n=!1;return new Promise((o,c)=>{let f=w=>{if(!n){n=!0;try{o(s(w))}catch(I){c(I)}}},_=w=>{try{o(i(w))}catch(I){f(I)}};if(this.initHasRun||this.subscribe({error:f}),this.state===\"fulfilled\")return o(i(this.firstValue));if(this.state===\"rejected\")return n=!0,o(s(this.rejection));this.fulfillmentCallbacks.push(_),this.rejectionCallbacks.push(f)})}catch(t){return this.then(void 0,t)}finally(t){let r=t||Txt;return this.then(i=>(r(),i),()=>r())}static from(t){return Pxt(t)?new e(r=>{let i=n=>{r.next(n),r.complete()},s=n=>{r.error(n)};t.then(i,s)}):super.from(t)}};$I.ObservablePromise=wF});var jS=Br(Dx=>{\"use strict\";Object.defineProperty(Dx,\"__esModule\",{value:!0});Dx.Transfer=Dx.isTransferDescriptor=void 0;var cX=US();function Ixt(e){return!(!e||typeof e!=\"object\")}function Cxt(e){return e&&typeof e==\"object\"&&e[cX.$transferable]}Dx.isTransferDescriptor=Cxt;function Lxt(e,t){if(!t){if(!Ixt(e))throw Error();t=[e]}return{[cX.$transferable]:!0,send:e,transferables:t}}Dx.Transfer=Lxt});var SF=Br(Om=>{\"use strict\";Object.defineProperty(Om,\"__esModule\",{value:!0});Om.WorkerMessageType=Om.MasterMessageType=void 0;var kxt;(function(e){e.cancel=\"cancel\",e.run=\"run\"})(kxt=Om.MasterMessageType||(Om.MasterMessageType={}));var Rxt;(function(e){e.error=\"error\",e.init=\"init\",e.result=\"result\",e.running=\"running\",e.uncaughtError=\"uncaughtError\"})(Rxt=Om.WorkerMessageType||(Om.WorkerMessageType={}))});var pX=Br(Bm=>{\"use strict\";var Dxt=Bm&&Bm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bm,\"__esModule\",{value:!0});Bm.createProxyModule=Bm.createProxyFunction=void 0;var Oxt=Dxt(VI()),hX=zS(),GS=Mx(),uX=lX(),Bxt=jS(),WS=SF(),fX=Oxt.default(\"threads:master:messages\"),Fxt=1,zxt=e=>Array.from(new Set(e)),Nxt=e=>e&&e.type===WS.WorkerMessageType.error,Uxt=e=>e&&e.type===WS.WorkerMessageType.result,Vxt=e=>e&&e.type===WS.WorkerMessageType.running;function jxt(e,t){return new hX.Observable(r=>{let i,s=n=>{if(fX(\"Message from worker:\",n.data),!(!n.data||n.data.uid!==t)){if(Vxt(n.data))i=n.data.resultType;else if(Uxt(n.data))i===\"promise\"?(typeof n.data.payload<\"u\"&&r.next(GS.deserialize(n.data.payload)),r.complete(),e.removeEventListener(\"message\",s)):(n.data.payload&&r.next(GS.deserialize(n.data.payload)),n.data.complete&&(r.complete(),e.removeEventListener(\"message\",s)));else if(Nxt(n.data)){let o=GS.deserialize(n.data.error);r.error(o),e.removeEventListener(\"message\",s)}}};return e.addEventListener(\"message\",s),()=>{if(i===\"observable\"||!i){let n={type:WS.MasterMessageType.cancel,uid:t};e.postMessage(n)}e.removeEventListener(\"message\",s)}})}function Gxt(e){if(e.length===0)return{args:[],transferables:[]};let t=[],r=[];for(let i of e)Bxt.isTransferDescriptor(i)?(t.push(GS.serialize(i.send)),r.push(...i.transferables)):t.push(GS.serialize(i));return{args:t,transferables:r.length===0?r:zxt(r)}}function dX(e,t){return(...r)=>{let i=Fxt++,{args:s,transferables:n}=Gxt(r),o={type:WS.MasterMessageType.run,uid:i,method:t,args:s};fX(\"Sending command to run function to worker:\",o);try{e.postMessage(o,n)}catch(c){return uX.ObservablePromise.from(Promise.reject(c))}return uX.ObservablePromise.from(hX.multicast(jxt(e,i)))}}Bm.createProxyFunction=dX;function Wxt(e,t){let r={};for(let i of t)r[i]=dX(e,i);return r}Bm.createProxyModule=Wxt});var _X=Br(Fm=>{\"use strict\";var TF=Fm&&Fm.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Hxt=Fm&&Fm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fm,\"__esModule\",{value:!0});Fm.spawn=void 0;var MF=Hxt(VI()),qxt=zS(),Zxt=Mx(),Yxt=sX(),XI=US(),KI=oX(),AX=pX(),Qxt=MF.default(\"threads:master:messages\"),$xt=MF.default(\"threads:master:spawn\"),gX=MF.default(\"threads:master:thread-utils\"),Xxt=e=>e&&e.type===\"init\",Kxt=e=>e&&e.type===\"uncaughtError\",Jxt=typeof process<\"u\"&&process.env.THREADS_WORKER_INIT_TIMEOUT?Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT,10):1e4;function t1t(e,t,r){return TF(this,void 0,void 0,function*(){let i,s=new Promise((o,c)=>{i=setTimeout(()=>c(Error(r)),t)}),n=yield Promise.race([e,s]);return clearTimeout(i),n})}function e1t(e){return new Promise((t,r)=>{let i=s=>{Qxt(\"Message from worker before finishing initialization:\",s.data),Xxt(s.data)?(e.removeEventListener(\"message\",i),t(s.data)):Kxt(s.data)&&(e.removeEventListener(\"message\",i),r(Zxt.deserialize(s.data.error)))};e.addEventListener(\"message\",i)})}function r1t(e,t){return new qxt.Observable(r=>{let i=n=>{let o={type:KI.WorkerEventType.message,data:n.data};r.next(o)},s=n=>{gX(\"Unhandled promise rejection event in thread:\",n);let o={type:KI.WorkerEventType.internalError,error:Error(n.reason)};r.next(o)};e.addEventListener(\"message\",i),e.addEventListener(\"unhandledrejection\",s),t.then(()=>{let n={type:KI.WorkerEventType.termination};e.removeEventListener(\"message\",i),e.removeEventListener(\"unhandledrejection\",s),r.next(n),r.complete()})})}function i1t(e){let[t,r]=Yxt.createPromiseWithResolver();return{terminate:()=>TF(this,void 0,void 0,function*(){gX(\"Terminating worker\"),yield e.terminate(),r()}),termination:t}}function mX(e,t,r,i){let s=r.filter(n=>n.type===KI.WorkerEventType.internalError).map(n=>n.error);return Object.assign(e,{[XI.$errors]:s,[XI.$events]:r,[XI.$terminate]:i,[XI.$worker]:t})}function n1t(e,t){return TF(this,void 0,void 0,function*(){$xt(\"Initializing new thread\");let r=t&&t.timeout?t.timeout:Jxt,s=(yield t1t(e1t(e),r,`Timeout: Did not receive an init message from worker after ${r}ms. Make sure the worker calls expose().`)).exposed,{termination:n,terminate:o}=i1t(e),c=r1t(e,n);if(s.type===\"function\"){let f=AX.createProxyFunction(e);return mX(f,e,c,o)}else if(s.type===\"module\"){let f=AX.createProxyModule(e,s.methods);return mX(f,e,c,o)}else{let f=s.type;throw Error(`Worker init message states unexpected type of expose(): ${f}`)}})}Fm.spawn=n1t});var yX=Br(Cc=>{\"use strict\";Object.defineProperty(Cc,\"__esModule\",{value:!0});Cc.Worker=Cc.BlobWorker=Cc.isWorkerRuntime=Cc.Thread=Cc.spawn=Cc.Pool=void 0;var EF=aF();Object.defineProperty(Cc,\"isWorkerRuntime\",{enumerable:!0,get:function(){return EF.isWorkerRuntime}});var s1t=nX();Object.defineProperty(Cc,\"Pool\",{enumerable:!0,get:function(){return s1t.Pool}});var o1t=_X();Object.defineProperty(Cc,\"spawn\",{enumerable:!0,get:function(){return o1t.spawn}});var a1t=xF();Object.defineProperty(Cc,\"Thread\",{enumerable:!0,get:function(){return a1t.Thread}});Cc.BlobWorker=EF.getWorkerImplementation().blob;Cc.Worker=EF.getWorkerImplementation().default});var xX=Br((yce,vX)=>{\"use strict\";vX.exports=e=>e?typeof Symbol.observable==\"symbol\"&&typeof e[Symbol.observable]==\"function\"?e===e[Symbol.observable]():typeof e[\"@@observable\"]==\"function\"?e===e[\"@@observable\"]():!1:!1});var bX=Br(PF=>{\"use strict\";Object.defineProperty(PF,\"__esModule\",{value:!0});var l1t=function(){let t=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!t)},c1t=function(t,r){self.postMessage(t,r)},u1t=function(t){let r=s=>{t(s.data)},i=()=>{self.removeEventListener(\"message\",r)};return self.addEventListener(\"message\",r),i};PF.default={isWorkerRuntime:l1t,postMessageToMaster:c1t,subscribeToMasterMessages:u1t}});var IX=Br(Lc=>{\"use strict\";var h1t=Lc&&Lc.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},EX=Lc&&Lc.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lc,\"__esModule\",{value:!0});Lc.expose=Lc.isWorkerRuntime=Lc.Transfer=Lc.registerSerializer=void 0;var f1t=EX(xX()),zm=Mx(),d1t=jS(),Nm=SF(),fu=EX(bX()),p1t=Mx();Object.defineProperty(Lc,\"registerSerializer\",{enumerable:!0,get:function(){return p1t.registerSerializer}});var A1t=jS();Object.defineProperty(Lc,\"Transfer\",{enumerable:!0,get:function(){return A1t.Transfer}});Lc.isWorkerRuntime=fu.default.isWorkerRuntime;var wX=!1,HS=new Map,m1t=e=>e&&e.type===Nm.MasterMessageType.cancel,SX=e=>e&&e.type===Nm.MasterMessageType.run,TX=e=>f1t.default(e)||g1t(e);function g1t(e){return e&&typeof e==\"object\"&&typeof e.subscribe==\"function\"}function PX(e){return d1t.isTransferDescriptor(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function _1t(){let e={type:Nm.WorkerMessageType.init,exposed:{type:\"function\"}};fu.default.postMessageToMaster(e)}function y1t(e){let t={type:Nm.WorkerMessageType.init,exposed:{type:\"module\",methods:e}};fu.default.postMessageToMaster(t)}function IF(e,t){let{payload:r,transferables:i}=PX(t),s={type:Nm.WorkerMessageType.error,uid:e,error:zm.serialize(r)};fu.default.postMessageToMaster(s,i)}function CF(e,t,r){let{payload:i,transferables:s}=PX(r),n={type:Nm.WorkerMessageType.result,uid:e,complete:t?!0:void 0,payload:i};fu.default.postMessageToMaster(n,s)}function v1t(e,t){let r={type:Nm.WorkerMessageType.running,uid:e,resultType:t};fu.default.postMessageToMaster(r)}function JI(e){try{let t={type:Nm.WorkerMessageType.uncaughtError,error:zm.serialize(e)};fu.default.postMessageToMaster(t)}catch(t){console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:`,t,`\nOriginal error:`,e)}}function MX(e,t,r){return h1t(this,void 0,void 0,function*(){let i;try{i=t(...r)}catch(n){return IF(e,n)}let s=TX(i)?\"observable\":\"promise\";if(v1t(e,s),TX(i)){let n=i.subscribe(o=>CF(e,!1,zm.serialize(o)),o=>{IF(e,zm.serialize(o)),HS.delete(e)},()=>{CF(e,!0),HS.delete(e)});HS.set(e,n)}else try{let n=yield i;CF(e,!0,zm.serialize(n))}catch(n){IF(e,zm.serialize(n))}})}function x1t(e){if(!fu.default.isWorkerRuntime())throw Error(\"expose() called in the master thread.\");if(wX)throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");if(wX=!0,typeof e==\"function\")fu.default.subscribeToMasterMessages(t=>{SX(t)&&!t.method&&MX(t.uid,e,t.args.map(zm.deserialize))}),_1t();else if(typeof e==\"object\"&&e){fu.default.subscribeToMasterMessages(r=>{SX(r)&&r.method&&MX(r.uid,e[r.method],r.args.map(zm.deserialize))});let t=Object.keys(e).filter(r=>typeof e[r]==\"function\");y1t(t)}else throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);fu.default.subscribeToMasterMessages(t=>{if(m1t(t)){let r=t.uid,i=HS.get(r);i&&(i.unsubscribe(),HS.delete(r))}})}Lc.expose=x1t;typeof self<\"u\"&&typeof self.addEventListener==\"function\"&&fu.default.isWorkerRuntime()&&(self.addEventListener(\"error\",e=>{setTimeout(()=>JI(e.error||e),250)}),self.addEventListener(\"unhandledrejection\",e=>{let t=e.reason;t&&typeof t.message==\"string\"&&setTimeout(()=>JI(t),250)}));typeof process<\"u\"&&typeof process.on==\"function\"&&fu.default.isWorkerRuntime()&&(process.on(\"uncaughtException\",e=>{setTimeout(()=>JI(e),250)}),process.on(\"unhandledRejection\",e=>{e&&typeof e.message==\"string\"&&setTimeout(()=>JI(e),250)}))});var CX=Br(Fl=>{\"use strict\";var b1t=Fl&&Fl.__createBinding||(Object.create?function(e,t,r,i){i===void 0&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]}),w1t=Fl&&Fl.__exportStar||function(e,t){for(var r in e)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r)&&b1t(t,e,r)};Object.defineProperty(Fl,\"__esModule\",{value:!0});Fl.Transfer=Fl.DefaultSerializer=Fl.expose=Fl.registerSerializer=void 0;var S1t=Mx();Object.defineProperty(Fl,\"registerSerializer\",{enumerable:!0,get:function(){return S1t.registerSerializer}});w1t(yX(),Fl);var T1t=IX();Object.defineProperty(Fl,\"expose\",{enumerable:!0,get:function(){return T1t.expose}});var M1t=nF();Object.defineProperty(Fl,\"DefaultSerializer\",{enumerable:!0,get:function(){return M1t.DefaultSerializer}});var E1t=jS();Object.defineProperty(Fl,\"Transfer\",{enumerable:!0,get:function(){return E1t.Transfer}})});var hC=Ri(Yi(),1),a_=Ri(Yi(),1);var ec=Ri(Yi(),1),U8=Ri(N8(),1),V8=ec.createContext(null);function Ket(){let e=ec.useContext(V8);if(!e)throw new Error(\"RenderContext not found\");return e}function Y1(){return Ket().model}function zA(e){let t=Y1(),[r,i]=ec.useState(t.get(e));return ec.useEffect(()=>{let s=()=>i(t.get(e));return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),t.save_changes()}]}function j8(e){return({el:t,model:r,experimental:i})=>{let s=U8.createRoot(t);return s.render(ec.createElement(ec.StrictMode,null,ec.createElement(V8.Provider,{value:{model:r,experimental:i}},ec.createElement(e)))),()=>s.unmount()}}var rU=Ri(Yi());var cy=Ri(Yi()),Yc=Ri(Yi());var m4=Ri(Yi()),zM=Ri(Yi());var G8=m4.createContext(null);function W8(e,t){let r=Array.isArray(e)?e[0]:e?e.x:0,i=Array.isArray(e)?e[1]:e?e.y:0,s=Array.isArray(t)?t[0]:t?t.x:0,n=Array.isArray(t)?t[1]:t?t.y:0;return r===s&&i===n}function rc(e,t){if(e===t)return!0;if(!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r{let s=null;\"interactive\"in i&&(s=Object.assign({},i),delete s.interactive);let n=t[i.ref];if(n){s=s||Object.assign({},i),delete s.ref;for(let o of Jet)o in n&&(s[o]=n[o])}return s||i});return{...e,layers:r}}var q8={version:8,sources:{},layers:[]},Z8={mousedown:\"onMouseDown\",mouseup:\"onMouseUp\",mouseover:\"onMouseOver\",mousemove:\"onMouseMove\",click:\"onClick\",dblclick:\"onDblClick\",mouseenter:\"onMouseEnter\",mouseleave:\"onMouseLeave\",mouseout:\"onMouseOut\",contextmenu:\"onContextMenu\",touchstart:\"onTouchStart\",touchend:\"onTouchEnd\",touchmove:\"onTouchMove\",touchcancel:\"onTouchCancel\"},x4={movestart:\"onMoveStart\",move:\"onMove\",moveend:\"onMoveEnd\",dragstart:\"onDragStart\",drag:\"onDrag\",dragend:\"onDragEnd\",zoomstart:\"onZoomStart\",zoom:\"onZoom\",zoomend:\"onZoomEnd\",rotatestart:\"onRotateStart\",rotate:\"onRotate\",rotateend:\"onRotateEnd\",pitchstart:\"onPitchStart\",pitch:\"onPitch\",pitchend:\"onPitchEnd\"},Y8={wheel:\"onWheel\",boxzoomstart:\"onBoxZoomStart\",boxzoomend:\"onBoxZoomEnd\",boxzoomcancel:\"onBoxZoomCancel\",resize:\"onResize\",load:\"onLoad\",render:\"onRender\",idle:\"onIdle\",remove:\"onRemove\",data:\"onData\",styledata:\"onStyleData\",sourcedata:\"onSourceData\",error:\"onError\"},trt=[\"minZoom\",\"maxZoom\",\"minPitch\",\"maxPitch\",\"maxBounds\",\"projection\",\"renderWorldCopies\"],ert=[\"scrollZoom\",\"boxZoom\",\"dragRotate\",\"dragPan\",\"keyboard\",\"doubleClickZoom\",\"touchZoomRotate\",\"touchPitch\"],R0=class e{constructor(t,r,i){this._map=null,this._internalUpdate=!1,this._inRender=!1,this._hoveredFeatures=null,this._deferredEvents={move:!1,zoom:!1,pitch:!1,rotate:!1},this._onEvent=s=>{let n=this.props[Y8[s.type]];n?n(s):s.type===\"error\"&&console.error(s.error)},this._onPointerEvent=s=>{(s.type===\"mousemove\"||s.type===\"mouseout\")&&this._updateHover(s);let n=this.props[Z8[s.type]];n&&(this.props.interactiveLayerIds&&s.type!==\"mouseover\"&&s.type!==\"mouseout\"&&(s.features=this._hoveredFeatures||this._queryRenderedFeatures(s.point)),n(s),delete s.features)},this._onCameraEvent=s=>{if(!this._internalUpdate){let n=this.props[x4[s.type]];n&&n(s)}s.type in this._deferredEvents&&(this._deferredEvents[s.type]=!1)},this._MapClass=t,this.props=r,this._initialize(i)}get map(){return this._map}get transform(){return this._renderTransform}setProps(t){let r=this.props;this.props=t;let i=this._updateSettings(t,r);i&&this._createShadowTransform(this._map);let s=this._updateSize(t),n=this._updateViewState(t,!0);this._updateStyle(t,r),this._updateStyleComponents(t,r),this._updateHandlers(t,r),(i||s||n&&!this._map.isMoving())&&this.redraw()}static reuse(t,r){let i=e.savedMaps.pop();if(!i)return null;let s=i.map,n=s.getContainer();for(r.className=n.className;n.childNodes.length>0;)r.appendChild(n.childNodes[0]);s._container=r;let o=s._resizeObserver;o&&(o.disconnect(),o.observe(r)),i.setProps({...t,styleDiffing:!1}),s.resize();let{initialViewState:c}=t;return c&&(c.bounds?s.fitBounds(c.bounds,{...c.fitBoundsOptions,duration:0}):i._updateViewState(c,!1)),s.isStyleLoaded()?s.fire(\"load\"):s.once(\"styledata\",()=>s.fire(\"load\")),s._update(),i}_initialize(t){let{props:r}=this,{mapStyle:i=q8}=r,s={...r,...r.initialViewState,accessToken:r.mapboxAccessToken||rrt()||null,container:t,style:v4(i)},n=s.initialViewState||s.viewState||s;if(Object.assign(s,{center:[n.longitude||0,n.latitude||0],zoom:n.zoom||0,pitch:n.pitch||0,bearing:n.bearing||0}),r.gl){let w=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=()=>(HTMLCanvasElement.prototype.getContext=w,r.gl)}let o=new this._MapClass(s);n.padding&&o.setPadding(n.padding),r.cursor&&(o.getCanvas().style.cursor=r.cursor),this._createShadowTransform(o);let c=o._render;o._render=w=>{this._inRender=!0,c.call(o,w),this._inRender=!1};let f=o._renderTaskQueue.run;o._renderTaskQueue.run=w=>{f.call(o._renderTaskQueue,w),this._onBeforeRepaint()},o.on(\"render\",()=>this._onAfterRepaint());let _=o.fire;o.fire=this._fireEvent.bind(this,_),o.on(\"resize\",()=>{this._renderTransform.resize(o.transform.width,o.transform.height)}),o.on(\"styledata\",()=>{this._updateStyleComponents(this.props,{}),g4(o.transform,this._renderTransform)}),o.on(\"sourcedata\",()=>this._updateStyleComponents(this.props,{}));for(let w in Z8)o.on(w,this._onPointerEvent);for(let w in x4)o.on(w,this._onCameraEvent);for(let w in Y8)o.on(w,this._onEvent);this._map=o}recycle(){let r=this.map.getContainer().querySelector(\"[mapboxgl-children]\");r?.remove(),e.savedMaps.push(this)}destroy(){this._map.remove()}redraw(){let t=this._map;!this._inRender&&t.style&&(t._frame&&(t._frame.cancel(),t._frame=null),t._render())}_createShadowTransform(t){let r=H8(t.transform);t.painter.transform=r,this._renderTransform=r}_updateSize(t){let{viewState:r}=t;if(r){let i=this._map;if(r.width!==i.transform.width||r.height!==i.transform.height)return i.resize(),!0}return!1}_updateViewState(t,r){if(this._internalUpdate)return!1;let i=this._map,s=this._renderTransform,{zoom:n,pitch:o,bearing:c}=s,f=i.isMoving();f&&(s.cameraElevationReference=\"sea\");let _=y4(s,{..._4(i.transform),...t});if(f&&(s.cameraElevationReference=\"ground\"),_&&r){let w=this._deferredEvents;w.move=!0,w.zoom||(w.zoom=n!==s.zoom),w.rotate||(w.rotate=c!==s.bearing),w.pitch||(w.pitch=o!==s.pitch)}return f||y4(i.transform,t),_}_updateSettings(t,r){let i=this._map,s=!1;for(let n of trt)if(n in t&&!rc(t[n],r[n])){s=!0;let o=i[`set${n[0].toUpperCase()}${n.slice(1)}`];o?.call(i,t[n])}return s}_updateStyle(t,r){if(t.cursor!==r.cursor&&(this._map.getCanvas().style.cursor=t.cursor||\"\"),t.mapStyle!==r.mapStyle){let{mapStyle:i=q8,styleDiffing:s=!0}=t,n={diff:s};return\"localIdeographFontFamily\"in t&&(n.localIdeographFontFamily=t.localIdeographFontFamily),this._map.setStyle(v4(i),n),!0}return!1}_updateStyleComponents(t,r){let i=this._map,s=!1;return i.isStyleLoaded()&&(\"light\"in t&&i.setLight&&!rc(t.light,r.light)&&(s=!0,i.setLight(t.light)),\"fog\"in t&&i.setFog&&!rc(t.fog,r.fog)&&(s=!0,i.setFog(t.fog)),\"terrain\"in t&&i.setTerrain&&!rc(t.terrain,r.terrain)&&(!t.terrain||i.getSource(t.terrain.source))&&(s=!0,i.setTerrain(t.terrain))),s}_updateHandlers(t,r){var i,s;let n=this._map,o=!1;for(let c of ert){let f=(i=t[c])!==null&&i!==void 0?i:!0,_=(s=r[c])!==null&&s!==void 0?s:!0;rc(f,_)||(o=!0,f?n[c].enable(f):n[c].disable())}return o}_queryRenderedFeatures(t){let r=this._map,i=r.transform,{interactiveLayerIds:s=[]}=this.props;try{return r.transform=this._renderTransform,r.queryRenderedFeatures(t,{layers:s.filter(r.getLayer.bind(r))})}catch{return[]}finally{r.transform=i}}_updateHover(t){var r;let{props:i}=this;if(i.interactiveLayerIds&&(i.onMouseMove||i.onMouseEnter||i.onMouseLeave)){let n=t.type,o=((r=this._hoveredFeatures)===null||r===void 0?void 0:r.length)>0,c=this._queryRenderedFeatures(t.point),f=c.length>0;!f&&o&&(t.type=\"mouseleave\",this._onPointerEvent(t)),this._hoveredFeatures=c,f&&!o&&(t.type=\"mouseenter\",this._onPointerEvent(t)),t.type=n}else this._hoveredFeatures=null}_fireEvent(t,r,i){let s=this._map,n=s.transform,o=typeof r==\"string\"?r:r.type;return o===\"move\"&&this._updateViewState(this.props,!1),o in x4&&(typeof r==\"object\"&&(r.viewState=_4(n)),this._map.isMoving())?(s.transform=this._renderTransform,t.call(s,r,i),s.transform=n,s):(t.call(s,r,i),s)}_onBeforeRepaint(){let t=this._map;this._internalUpdate=!0;for(let i in this._deferredEvents)this._deferredEvents[i]&&t.fire(i);this._internalUpdate=!1;let r=this._map.transform;t.transform=this._renderTransform,this._onAfterRepaint=()=>{g4(this._renderTransform,r),t.transform=r}}};R0.savedMaps=[];function rrt(){let e=null;if(typeof location<\"u\"){let t=/access_token=([^&\\/]*)/.exec(location.search);e=t&&t[1]}try{e=e||process.env.MapboxAccessToken}catch{}try{e=e||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN}catch{}return e}var irt=[\"setMaxBounds\",\"setMinZoom\",\"setMaxZoom\",\"setMinPitch\",\"setMaxPitch\",\"setRenderWorldCopies\",\"setProjection\",\"setStyle\",\"addSource\",\"removeSource\",\"addLayer\",\"removeLayer\",\"setLayerZoomRange\",\"setFilter\",\"setPaintProperty\",\"setLayoutProperty\",\"setLight\",\"setTerrain\",\"setFog\",\"remove\"];function b4(e){if(!e)return null;let t=e.map,r={getMap:()=>t,getCenter:()=>e.transform.center,getZoom:()=>e.transform.zoom,getBearing:()=>e.transform.bearing,getPitch:()=>e.transform.pitch,getPadding:()=>e.transform.padding,getBounds:()=>e.transform.getBounds(),project:i=>{let s=t.transform;t.transform=e.transform;let n=t.project(i);return t.transform=s,n},unproject:i=>{let s=t.transform;t.transform=e.transform;let n=t.unproject(i);return t.transform=s,n},queryTerrainElevation:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryTerrainElevation(i,s);return t.transform=n,o},queryRenderedFeatures:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryRenderedFeatures(i,s);return t.transform=n,o}};for(let i of nrt(t))!(i in r)&&!irt.includes(i)&&(r[i]=t[i].bind(t));return r}function nrt(e){let t=new Set,r=e;for(;r;){for(let i of Object.getOwnPropertyNames(r))i[0]!==\"_\"&&typeof e[i]==\"function\"&&i!==\"fire\"&&i!==\"setEventedParent\"&&t.add(i);r=Object.getPrototypeOf(r)}return Array.from(t)}var NM=Ri(Yi()),srt=typeof document<\"u\"?NM.useLayoutEffect:NM.useEffect,Q8=srt;var ort=[\"baseApiUrl\",\"maxParallelImageRequests\",\"workerClass\",\"workerCount\",\"workerUrl\"];function w4(e,t){for(let i of ort)i in t&&(e[i]=t[i]);let{RTLTextPlugin:r=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js\"}=t;r&&e.getRTLTextPluginStatus&&e.getRTLTextPluginStatus()===\"unavailable\"&&e.setRTLTextPlugin(r,i=>{i&&console.error(i)},!0)}var Of=cy.createContext(null);function S4(e,t,r){let i=(0,Yc.useContext)(G8),[s,n]=(0,Yc.useState)(null),o=(0,Yc.useRef)(),{current:c}=(0,Yc.useRef)({mapLib:null,map:null});(0,Yc.useEffect)(()=>{let w=e.mapLib,I=!0,R;return Promise.resolve(w||r).then(N=>{if(!I)return;if(!N)throw new Error(\"Invalid mapLib\");let j=\"Map\"in N?N:N.default;if(!j.Map)throw new Error(\"Invalid mapLib\");if(w4(j,e),!j.supported||j.supported(e))e.reuseMaps&&(R=R0.reuse(e,o.current)),R||(R=new R0(j.Map,e,o.current)),c.map=b4(R),c.mapLib=j,n(R),i?.onMapMount(c.map,e.id);else throw new Error(\"Map is not supported by this browser\")}).catch(N=>{let{onError:j}=e;j?j({type:\"error\",target:null,originalEvent:null,error:N}):console.error(N)}),()=>{I=!1,R&&(i?.onMapUnmount(e.id),e.reuseMaps?R.recycle():R.destroy())}},[]),Q8(()=>{s&&s.setProps(e)}),(0,Yc.useImperativeHandle)(t,()=>c.map,[s]);let f=(0,Yc.useMemo)(()=>({position:\"relative\",width:\"100%\",height:\"100%\",...e.style}),[e.style]),_={height:\"100%\"};return cy.createElement(\"div\",{id:e.id,ref:o,style:f},s&&cy.createElement(Of.Provider,{value:c},cy.createElement(\"div\",{\"mapboxgl-children\":\"\",style:_},e.children)))}var $8=Ri(Yi()),X8=Ri(FM()),Tl=Ri(Yi());var art=/box|flex|grid|column|lineHeight|fontWeight|opacity|order|tabSize|zIndex/;function ic(e,t){if(!e||!t)return;let r=e.style;for(let i in t){let s=t[i];Number.isFinite(s)&&!art.test(i)?r[i]=`${s}px`:r[i]=s}}function lrt(e,t){let{map:r,mapLib:i}=(0,Tl.useContext)(Of),s=(0,Tl.useRef)({props:e});s.current.props=e;let n=(0,Tl.useMemo)(()=>{let Q=!1;$8.Children.forEach(e.children,K=>{K&&(Q=!0)});let et={...e,element:Q?document.createElement(\"div\"):null},Y=new i.Marker(et);return Y.setLngLat([e.longitude,e.latitude]),Y.getElement().addEventListener(\"click\",K=>{var J,ut;(ut=(J=s.current.props).onClick)===null||ut===void 0||ut.call(J,{type:\"click\",target:Y,originalEvent:K})}),Y.on(\"dragstart\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragStart)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"drag\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDrag)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"dragend\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragEnd)===null||ut===void 0||ut.call(J,Et)}),Y},[]);(0,Tl.useEffect)(()=>(n.addTo(r.getMap()),()=>{n.remove()}),[]);let{longitude:o,latitude:c,offset:f,style:_,draggable:w=!1,popup:I=null,rotation:R=0,rotationAlignment:N=\"auto\",pitchAlignment:j=\"auto\"}=e;return(0,Tl.useEffect)(()=>{ic(n.getElement(),_)},[_]),(0,Tl.useImperativeHandle)(t,()=>n,[]),(n.getLngLat().lng!==o||n.getLngLat().lat!==c)&&n.setLngLat([o,c]),f&&!W8(n.getOffset(),f)&&n.setOffset(f),n.isDraggable()!==w&&n.setDraggable(w),n.getRotation()!==R&&n.setRotation(R),n.getRotationAlignment()!==N&&n.setRotationAlignment(N),n.getPitchAlignment()!==j&&n.setPitchAlignment(j),n.getPopup()!==I&&n.setPopup(I),(0,X8.createPortal)(e.children,n.getElement())}var crt=(0,Tl.memo)((0,Tl.forwardRef)(lrt));var J8=Ri(FM()),Xa=Ri(Yi());function K8(e){return new Set(e?e.trim().split(/\\s+/):[])}function urt(e,t){let{map:r,mapLib:i}=(0,Xa.useContext)(Of),s=(0,Xa.useMemo)(()=>document.createElement(\"div\"),[]),n=(0,Xa.useRef)({props:e});n.current.props=e;let o=(0,Xa.useMemo)(()=>{let c={...e},f=new i.Popup(c);return f.setLngLat([e.longitude,e.latitude]),f.once(\"open\",_=>{var w,I;(I=(w=n.current.props).onOpen)===null||I===void 0||I.call(w,_)}),f},[]);if((0,Xa.useEffect)(()=>{let c=f=>{var _,w;(w=(_=n.current.props).onClose)===null||w===void 0||w.call(_,f)};return o.on(\"close\",c),o.setDOMContent(s).addTo(r.getMap()),()=>{o.off(\"close\",c),o.isOpen()&&o.remove()}},[]),(0,Xa.useEffect)(()=>{ic(o.getElement(),e.style)},[e.style]),(0,Xa.useImperativeHandle)(t,()=>o,[]),o.isOpen()&&((o.getLngLat().lng!==e.longitude||o.getLngLat().lat!==e.latitude)&&o.setLngLat([e.longitude,e.latitude]),e.offset&&!rc(o.options.offset,e.offset)&&o.setOffset(e.offset),(o.options.anchor!==e.anchor||o.options.maxWidth!==e.maxWidth)&&(o.options.anchor=e.anchor,o.setMaxWidth(e.maxWidth)),o.options.className!==e.className)){let c=K8(o.options.className),f=K8(e.className);for(let _ of c)f.has(_)||o.removeClassName(_);for(let _ of f)c.has(_)||o.addClassName(_);o.options.className=e.className}return(0,J8.createPortal)(e.children,s)}var hrt=(0,Xa.memo)((0,Xa.forwardRef)(urt));var UM=Ri(Yi());var uy=Ri(Yi());function frt(e,t,r,i){let s=(0,uy.useContext)(Of),n=(0,uy.useMemo)(()=>e(s),[]);return(0,uy.useEffect)(()=>{let o=i||r||t,c=typeof t==\"function\"&&typeof r==\"function\"?t:null,f=typeof r==\"function\"?r:typeof t==\"function\"?t:null,{map:_}=s;return _.hasControl(n)||(_.addControl(n,o?.position),c&&c(s)),()=>{f&&f(s),_.hasControl(n)&&_.removeControl(n)}},[]),n}var kh=frt;function drt(e){let t=kh(({mapLib:r})=>new r.AttributionControl(e),{position:e.position});return(0,UM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var prt=(0,UM.memo)(drt);var VM=Ri(Yi());function Art(e){let t=kh(({mapLib:r})=>new r.FullscreenControl({container:e.containerId&&document.getElementById(e.containerId)}),{position:e.position});return(0,VM.useEffect)(()=>{ic(t._controlContainer,e.style)},[e.style]),null}var mrt=(0,VM.memo)(Art);var Bf=Ri(Yi());function grt(e,t){let r=(0,Bf.useRef)({props:e}),i=kh(({mapLib:s})=>{let n=new s.GeolocateControl(e),o=n._setupUI;return n._setupUI=c=>{n._container.hasChildNodes()||o(c)},n.on(\"geolocate\",c=>{var f,_;(_=(f=r.current.props).onGeolocate)===null||_===void 0||_.call(f,c)}),n.on(\"error\",c=>{var f,_;(_=(f=r.current.props).onError)===null||_===void 0||_.call(f,c)}),n.on(\"outofmaxbounds\",c=>{var f,_;(_=(f=r.current.props).onOutOfMaxBounds)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationstart\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationStart)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationend\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationEnd)===null||_===void 0||_.call(f,c)}),n},{position:e.position});return r.current.props=e,(0,Bf.useImperativeHandle)(t,()=>i,[]),(0,Bf.useEffect)(()=>{ic(i._container,e.style)},[e.style]),null}var _rt=(0,Bf.memo)((0,Bf.forwardRef)(grt));var jM=Ri(Yi());function yrt(e){let t=kh(({mapLib:r})=>new r.NavigationControl(e),{position:e.position});return(0,jM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var vrt=(0,jM.memo)(yrt);var hy=Ri(Yi());function xrt(e){let t=kh(({mapLib:n})=>new n.ScaleControl(e),{position:e.position}),r=(0,hy.useRef)(e),i=r.current;r.current=e;let{style:s}=e;return e.maxWidth!==void 0&&e.maxWidth!==i.maxWidth&&(t.options.maxWidth=e.maxWidth),e.unit!==void 0&&e.unit!==i.unit&&t.setUnit(e.unit),(0,hy.useEffect)(()=>{ic(t._container,s)},[s]),null}var brt=(0,hy.memo)(xrt);var Q1=Ri(Yi());var Srt=Ri(Yi()),$1=Ri(Yi()),Trt=Ri(Yi());var Mrt=Promise.resolve().then(()=>Ri(eU())),Ert=rU.forwardRef(function(t,r){return S4(t,r,Mrt)});var iU=Ert;var Do=Ri(Yi());function NA(e,t){if(!e)throw new Error(t||\"loader assertion failed.\")}var Ff={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Prt=Ff.self||Ff.window||Ff.global||{},Irt=Ff.window||Ff.self||Ff.global||{},Crt=Ff.global||Ff.self||Ff.window||{},Lrt=Ff.document||{};var D0=!!(typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser);var nU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),krt=nU&&parseFloat(nU[1])||0;var sU=\"3.4.14\";function Ka(e,t){if(!e)throw new Error(t||\"loaders.gl assertion failed.\")}var zf={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Xwt=zf.self||zf.window||zf.global||{},Kwt=zf.window||zf.self||zf.global||{},Jwt=zf.global||zf.self||zf.window||{},t2t=zf.document||{};var O0=typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser;var aU=typeof window<\"u\"&&typeof window.orientation<\"u\",oU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),e2t=oU&&parseFloat(oU[1])||0;function B0(e){\"@babel/helpers - typeof\";return B0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B0(e)}function lU(e,t){if(B0(e)!=\"object\"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||\"default\");if(B0(i)!=\"object\")return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function cU(e){var t=lU(e,\"string\");return B0(t)==\"symbol\"?t:t+\"\"}function G(e,t,r){return(t=cU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var X1=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"workerThread\",void 0),G(this,\"isRunning\",!0),G(this,\"result\",void 0),G(this,\"_resolve\",()=>{}),G(this,\"_reject\",()=>{}),this.name=t,this.workerThread=r,this.result=new Promise((i,s)=>{this._resolve=i,this._reject=s})}postMessage(t,r){this.workerThread.postMessage({source:\"loaders.gl\",type:t,payload:r})}done(t){Ka(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ka(this.isRunning),this.isRunning=!1,this._reject(t)}};var fy=class{terminate(){}};var E4=new Map;function uU(e){Ka(e.source&&!e.url||!e.source&&e.url);let t=E4.get(e.source||e.url);return t||(e.url&&(t=Rrt(e.url),E4.set(e.url,t)),e.source&&(t=hU(e.source),E4.set(e.source,t))),Ka(t),t}function Rrt(e){if(!e.startsWith(\"http\"))return e;let t=Drt(e);return hU(t)}function hU(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Drt(e){return`try {\n importScripts('`.concat(e,`');\n} catch (error) {\n console.error(error);\n throw error;\n}`)}function P4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(e){if(fU(e))i.add(e);else if(fU(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e==\"object\")for(let s in e)P4(e[s],t,i)}}return r===void 0?Array.from(i):[]}function fU(e){return e?e instanceof ArrayBuffer||typeof MessagePort<\"u\"&&e instanceof MessagePort||typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap||typeof OffscreenCanvas<\"u\"&&e instanceof OffscreenCanvas:!1}var I4=()=>{},UA=class{static isSupported(){return typeof Worker<\"u\"&&O0||typeof fy<\"u\"&&!O0}constructor(t){G(this,\"name\",void 0),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"terminated\",!1),G(this,\"worker\",void 0),G(this,\"onMessage\",void 0),G(this,\"onError\",void 0),G(this,\"_loadableURL\",\"\");let{name:r,source:i,url:s}=t;Ka(i||s),this.name=r,this.source=i,this.url=s,this.onMessage=I4,this.onError=n=>console.log(n),this.worker=O0?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=I4,this.onError=I4,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(t,r){r=r||P4(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r=\"Failed to load \";return r+=\"worker \".concat(this.name,\" from \").concat(this.url,\". \"),t.message&&(r+=\"\".concat(t.message,\" in \")),t.lineno&&(r+=\":\".concat(t.lineno,\":\").concat(t.colno)),new Error(r)}_createBrowserWorker(){this._loadableURL=uU({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error(\"No data received\"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let i=this.url.includes(\":/\")||this.url.startsWith(\"/\")?this.url:\"./\".concat(this.url);t=new fy(i,{eval:!1})}else if(this.source)t=new fy(this.source,{eval:!0});else throw new Error(\"no worker\");return t.on(\"message\",r=>{this.onMessage(r)}),t.on(\"error\",r=>{this.onError(r)}),t.on(\"exit\",r=>{}),t}};var K1=class{static isSupported(){return UA.isSupported()}constructor(t){G(this,\"name\",\"unnamed\"),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"maxConcurrency\",1),G(this,\"maxMobileConcurrency\",1),G(this,\"onDebug\",()=>{}),G(this,\"reuseWorkers\",!0),G(this,\"props\",{}),G(this,\"jobQueue\",[]),G(this,\"idleQueue\",[]),G(this,\"count\",0),G(this,\"isDestroyed\",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(n,o,c)=>n.done(c),i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(n,o)=>n.error(o),s=new Promise(n=>(this.jobQueue.push({name:t,onMessage:r,onError:i,onStart:n}),this));return this._startQueuedJob(),await s}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:\"Starting job\",name:r.name,workerThread:t,backlog:this.jobQueue.length});let i=new X1(r.name,t);t.onMessage=s=>r.onMessage(i,s.type,s.payload),t.onError=s=>r.onError(i,s),r.onStart(i);try{await i.result}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}},VA=class e{static isSupported(){return UA.isSupported()}static getWorkerFarm(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}constructor(t){G(this,\"props\",void 0),G(this,\"workerPools\",new Map),this.props={...Ort},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:i,url:s}=t,n=this.workerPools.get(r);return n||(n=new K1({name:r,source:i,url:s}),n.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,n)),n}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};G(VA,\"_workerFarm\",void 0);var Brt=\"latest\";function C4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t[e.id]||{},i=\"\".concat(e.id,\"-worker.js\"),s=r.workerUrl;if(!s&&e.id===\"compression\"&&(s=t.workerUrl),t._workerType===\"test\"&&(s=\"modules/\".concat(e.module,\"/dist/\").concat(i)),!s){let n=e.version;n===\"latest\"&&(n=Brt);let o=n?\"@\".concat(n):\"\";s=\"https://unpkg.com/@loaders.gl/\".concat(e.module).concat(o,\"/dist/\").concat(i)}return Ka(s),s}function L4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sU;Ka(e,\"no worker provided\");let r=e.version;return!(!t||!r)}function k4(e,t){return!VA.isSupported()||!O0&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&t?.worker}async function R4(e,t,r,i,s){let n=e.id,o=C4(e,r),f=VA.getWorkerFarm(r).getWorkerPool({name:n,url:o});r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{}));let _=await f.startJob(\"process-on-worker\",Frt.bind(null,s));return _.postMessage(\"process\",{input:t,options:r,context:i}),await(await _.result).result}async function Frt(e,t,r,i){switch(r){case\"done\":t.done(i);break;case\"error\":t.error(new Error(i.error));break;case\"process\":let{id:s,input:n,options:o}=i;try{let c=await e(n,o);t.postMessage(\"done\",{id:s,result:c})}catch(c){let f=c instanceof Error?c.message:\"unknown error\";t.postMessage(\"error\",{id:s,error:f})}break;default:console.warn(\"parse-with-worker unknown message \".concat(r))}}function D4(e,t,r){if(r=r||e.byteLength,e.byteLengthc instanceof ArrayBuffer?new Uint8Array(c):c),s=i.reduce((c,f)=>c+f.byteLength,0),n=new Uint8Array(s),o=0;for(let c of i)n.set(c,o),o+=c.byteLength;return n.buffer}async function B4(e){let t=[];for await(let r of e)t.push(r);return O4(...t)}function J1(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var F0=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=J1(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(J1()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var dy=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:i}=t,s=this.stats[r];return s||(t instanceof F0?s=t:s=new F0(r,i),this.stats[r]=s),s}};var zrt=\"Queued Requests\",Nrt=\"Active Requests\",Urt=\"Cancelled Requests\",Vrt=\"Queued Requests Ever\",jrt=\"Active Requests Ever\",Grt={id:\"request-scheduler\",throttleRequests:!0,maxRequests:6},py=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};G(this,\"props\",void 0),G(this,\"stats\",void 0),G(this,\"activeRequestCount\",0),G(this,\"requestQueue\",[]),G(this,\"requestMap\",new Map),G(this,\"deferredUpdate\",null),this.props={...Grt,...t},this.stats=new dy({id:this.props.id}),this.stats.get(zrt),this.stats.get(Nrt),this.stats.get(Urt),this.stats.get(Vrt),this.stats.get(jrt)}scheduleRequest(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(t))return this.requestMap.get(t);let i={handle:t,priority:0,getPriority:r},s=new Promise(n=>(i.resolve=n,i));return this.requestQueue.push(i),this.requestMap.set(t,s),this._issueNewRequests(),s}_issueRequest(t){let{handle:r,resolve:i}=t,s=!1,n=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,i?i({done:n}):Promise.resolve({done:n})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let t=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(t!==0){this._updateAllRequests();for(let r=0;rr.priority-i.priority)}_updateRequest(t){return t.priority=t.getPriority(t.handle),t.priority<0?(t.resolve(null),!1):!0}};var Wrt=\"\",dU={};function F4(e){for(let t in dU)if(e.startsWith(t)){let r=dU[t];e=e.replace(t,r)}return!e.startsWith(\"http://\")&&!e.startsWith(\"https://\")&&(e=\"\".concat(Wrt).concat(e)),e}function pU(e){return e&&typeof e==\"object\"&&e.isBuffer}function GM(e){if(pU(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e==\"string\"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e==\"object\"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(\"toArrayBuffer\")}var z0={};mA(z0,{dirname:()=>qrt,filename:()=>Hrt,join:()=>Zrt,resolve:()=>Yrt});function AU(){var e;if(typeof process<\"u\"&&typeof process.cwd<\"u\")return process.cwd();let t=(e=window.location)===null||e===void 0?void 0:e.pathname;return t?.slice(0,t.lastIndexOf(\"/\")+1)||\"\"}function Hrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(t+1):\"\"}function qrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(0,t):\"\"}function Zrt(){for(var e=arguments.length,t=new Array(e),r=0;r(n&&(s=s.replace(new RegExp(\"^\".concat(i)),\"\")),n!==t.length-1&&(s=s.replace(new RegExp(\"\".concat(i,\"$\")),\"\")),s)),t.join(i)}function Yrt(){let e=[];for(let s=0;s=-1&&!r;s--){let n;s>=0?n=e[s]:(i===void 0&&(i=AU()),n=i),n.length!==0&&(t=\"\".concat(n,\"/\").concat(t),r=n.charCodeAt(0)===tb)}return t=Qrt(t,!r),r?\"/\".concat(t):t.length>0?t:\".\"}var tb=47,z4=46;function Qrt(e,t){let r=\"\",i=-1,s=0,n,o=!1;for(let c=0;c<=e.length;++c){if(c2){let f=r.length-1,_=f;for(;_>=0&&r.charCodeAt(_)!==tb;--_);if(_!==f){r=_===-1?\"\":r.slice(0,_),i=c,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r=\"\",i=c,s=0,o=!1;continue}}t&&(r.length>0?r+=\"/..\":r=\"..\",o=!0)}else{let f=e.slice(i+1,c);r.length>0?r+=\"/\".concat(f):r=f,o=!1}i=c,s=0}else n===z4&&s!==-1?++s:s=-1}return r}var $rt=e=>typeof e==\"boolean\",eb=e=>typeof e==\"function\",N0=e=>e!==null&&typeof e==\"object\",N4=e=>N0(e)&&e.constructor==={}.constructor;var mU=e=>e&&typeof e[Symbol.iterator]==\"function\",gU=e=>e&&typeof e[Symbol.asyncIterator]==\"function\";var Cu=e=>typeof Response<\"u\"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Lu=e=>typeof Blob<\"u\"&&e instanceof Blob,_U=e=>e&&typeof e==\"object\"&&e.isBuffer;var Xrt=e=>typeof ReadableStream<\"u\"&&e instanceof ReadableStream||N0(e)&&eb(e.tee)&&eb(e.cancel)&&eb(e.getReader);var Krt=e=>N0(e)&&eb(e.read)&&eb(e.pipe)&&$rt(e.readable),WM=e=>Xrt(e)||Krt(e);var Jrt=/^data:([-\\w.]+\\/[-\\w.+]+)(;|,)/,tit=/^([-\\w.]+\\/[-\\w.+]+)/;function yU(e){let t=tit.exec(e);return t?t[1]:e}function U4(e){let t=Jrt.exec(e);return t?t[1]:\"\"}var vU=/\\?.*/;function xU(e){let t=e.match(vU);return t&&t[0]}function Ay(e){return e.replace(vU,\"\")}function U0(e){return Cu(e)?e.url:Lu(e)?e.name||\"\":typeof e==\"string\"?e:\"\"}function rb(e){if(Cu(e)){let t=e,r=t.headers.get(\"content-type\")||\"\",i=Ay(t.url);return yU(r)||U4(i)}return Lu(e)?e.type||\"\":typeof e==\"string\"?U4(e):\"\"}function bU(e){return Cu(e)?e.headers[\"content-length\"]||-1:Lu(e)?e.size:typeof e==\"string\"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function HM(e){if(Cu(e))return e;let t={},r=bU(e);r>=0&&(t[\"content-length\"]=String(r));let i=U0(e),s=rb(e);s&&(t[\"content-type\"]=s);let n=await rit(e);n&&(t[\"x-first-bytes\"]=n),typeof e==\"string\"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,\"url\",{value:i}),o}async function wU(e){if(!e.ok){let t=await eit(e);throw new Error(t)}}async function eit(e){let t=\"Failed to fetch resource \".concat(e.url,\" (\").concat(e.status,\"): \");try{let r=e.headers.get(\"Content-Type\"),i=e.statusText;r.includes(\"application/json\")&&(i+=\" \".concat(await e.text())),t+=i,t=t.length>60?\"\".concat(t.slice(0,60),\"...\"):t}catch{}return t}async function rit(e){if(typeof e==\"string\")return\"data:,\".concat(e.slice(0,5));if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(i=>{let s=new FileReader;s.onload=n=>{var o;return i(n==null||(o=n.target)===null||o===void 0?void 0:o.result)},s.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5),i=iit(r);return\"data:base64,\".concat(i)}return null}function iit(e){let t=\"\",r=new Uint8Array(e);for(let i=0;i=0)}function Rh(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||j4()}var nit=globalThis.self||globalThis.window||globalThis.global,my=globalThis.window||globalThis.self||globalThis.global,sit=globalThis.document||{},V0=globalThis.process||{},oit=globalThis.console,qSt=globalThis.navigator||{};var qM=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",QSt=Rh();function ait(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var ZM=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=ait(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function SU(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function TU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function YM(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var QM;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(QM||(QM={}));var lit=10;function MU(e){return typeof e!=\"string\"?e:(e=e.toUpperCase(),QM[e]||QM.WHITE)}function EU(e,t,r){if(!Rh&&typeof e==\"string\"){if(t){let i=MU(t);e=\"\\x1B[\".concat(i,\"m\").concat(e,\"\\x1B[39m\")}if(r){let i=MU(r);e=\"\\x1B[\".concat(i+lit,\"m\").concat(e,\"\\x1B[49m\")}}return e}function PU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),s=e;for(let n of i){let o=s[n];typeof o==\"function\"&&(t.find(c=>n===c)||(s[n]=o.bind(e)))}}function gy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function j0(){let e;if(Rh()&&my.performance){var t,r;e=my===null||my===void 0||(t=my.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in V0){var i;let s=V0===null||V0===void 0||(i=V0.hrtime)===null||i===void 0?void 0:i.call(V0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var _y={debug:Rh()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cit={enabled:!0,level:0};function ku(){}var IU={},CU={once:!0},Nf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};this.id=void 0,this.VERSION=qM,this._startTs=j0(),this._deltaTs=j0(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new ZM(\"__probe-\".concat(this.id,\"__\"),cit),this.timeStamp(\"\".concat(this.id,\" started\")),PU(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){gy(t,r)}warn(t){return this._getLogFunction(0,t,_y.warn,arguments,CU)}error(t){return this._getLogFunction(0,t,_y.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,_y.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,_y.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,_y.debug||_y.info,arguments,CU)}table(t,r,i){return r?this._getLogFunction(t,r,console.table||ku,i&&[i],{tag:dit(r)}):ku}image(t){let{logLevel:r,priority:i,image:s,message:n=\"\",scale:o=1}=t;return this._shouldLog(r||i)?Rh()?fit({image:s,message:n,scale:o}):hit({image:s,message:n,scale:o}):ku}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||ku)}group(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=LU({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||ku)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kU(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=LU({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,gy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=j0();let o=n.tag||n.message;if(n.once&&o)if(!IU[o])IU[o]=j0();else return ku;return r=uit(this.id,n.message,n),i.bind(console,r,...n.args)}return ku}};Nf.VERSION=qM;function kU(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return gy(Number.isFinite(t)&&t>=0),t}function LU(e){let{logLevel:t,message:r}=e;e.logLevel=kU(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return gy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function uit(e,t,r){if(typeof t==\"string\"){let i=r.time?TU(SU(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=EU(t,r.color,r.background)}return t}function hit(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),ku}function fit(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=YM(n,r,i);console.log(...o)},n.src=t,ku}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...YM(t,r,i)),ku;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...YM(n,r,i)),n.src=t.toDataURL(),ku}return ku}function dit(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var vTt=new Nf({id:\"@probe.gl/log\"});var G4=new Nf({id:\"loaders.gl\"}),$M=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XM=class{constructor(){G(this,\"console\",void 0),this.console=console}log(){for(var t=arguments.length,r=new Array(t),i=0;i{let e=H4();return e.globalOptions=e.globalOptions||{...W4},e.globalOptions};function BU(e,t,r,i){return r=r||[],r=Array.isArray(r)?r:[r],pit(e,r),mit(t,e,i)}function pit(e,t){DU(e,null,W4,RU,t);for(let r of t){let i=e&&e[r.id]||{},s=r.options&&r.options[r.id]||{},n=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};DU(i,r.id,s,n,t)}}function DU(e,t,r,i,s){let n=t||\"Top level\",o=t?\"\".concat(t,\".\"):\"\";for(let c in e){let f=!t&&N0(e[c]),_=c===\"baseUri\"&&!t,w=c===\"workerUrl\"&&t;if(!(c in r)&&!_&&!w){if(c in i)G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' no longer supported, use '\").concat(i[c],\"'\"))();else if(!f){let I=Ait(c,s);G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' not recognized. \").concat(I))()}}}}function Ait(e,t){let r=e.toLowerCase(),i=\"\";for(let s of t)for(let n in s.options){if(e===n)return\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\");let o=n.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(i=i||\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\"))}return i}function mit(e,t,r){let s={...e.options||{}};return git(s,r),s.log===null&&(s.log=new $M),OU(s,q4()),OU(s,t),s}function OU(e,t){for(let r in t)if(r in t){let i=t[r];N4(i)&&N4(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function git(e,t){t&&!(\"baseUri\"in e)&&(e.baseUri=t)}function ib(e){var t;return e?(Array.isArray(e)&&(e=e[0]),Array.isArray((t=e)===null||t===void 0?void 0:t.extensions)):!1}function nb(e){var t,r;NA(e,\"null loader\"),NA(ib(e),\"invalid loader\");let i;return Array.isArray(e)&&(i=e[1],e=e[0],e={...e,options:{...e.options,...i}}),((t=e)!==null&&t!==void 0&&t.parseTextSync||(r=e)!==null&&r!==void 0&&r.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var FU=()=>{let e=H4();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Z4(e){let t=FU();e=Array.isArray(e)?e:[e];for(let r of e){let i=nb(r);t.find(s=>i===s)||t.unshift(i)}}function zU(){return FU()}var NU=new Nf({id:\"loaders.gl\"});var _it=/\\.([^.]+)$/;async function jU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;let s=UU(e,t,{...r,nothrow:!0},i);if(s)return s;if(Lu(e)&&(e=await e.slice(0,10).arrayBuffer(),s=UU(e,t,r,i)),!s&&!(r!=null&&r.nothrow))throw new Error(WU(e));return s}function UU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;if(t&&!Array.isArray(t))return nb(t);let s=[];t&&(s=s.concat(t)),r!=null&&r.ignoreRegisteredLoaders||s.push(...zU()),vit(s);let n=yit(e,s,r,i);if(!n&&!(r!=null&&r.nothrow))throw new Error(WU(e));return n}function yit(e,t,r,i){let s=U0(e),n=rb(e),o=Ay(s)||i?.url,c=null,f=\"\";if(r!=null&&r.mimeType&&(c=Y4(t,r?.mimeType),f=\"match forced by supplied MIME type \".concat(r?.mimeType)),c=c||xit(t,o),f=f||(c?\"matched url \".concat(o):\"\"),c=c||Y4(t,n),f=f||(c?\"matched MIME type \".concat(n):\"\"),c=c||wit(t,e),f=f||(c?\"matched initial data \".concat(HU(e)):\"\"),c=c||Y4(t,r?.fallbackMimeType),f=f||(c?\"matched fallback MIME type \".concat(n):\"\"),f){var _;NU.log(1,\"selectLoader selected \".concat((_=c)===null||_===void 0?void 0:_.name,\": \").concat(f,\".\"))}return c}function GU(e){return!(e instanceof Response&&e.status===204)}function WU(e){let t=U0(e),r=rb(e),i=\"No valid loader found (\";i+=t?\"\".concat(z0.filename(t),\", \"):\"no url provided, \",i+=\"MIME type: \".concat(r?'\"'.concat(r,'\"'):\"not provided\",\", \");let s=e?HU(e):\"\";return i+=s?' first bytes: \"'.concat(s,'\"'):\"first bytes: not available\",i+=\")\",i}function vit(e){for(let t of e)nb(t)}function xit(e,t){let r=t&&_it.exec(t),i=r&&r[1];return i?bit(e,i):null}function bit(e,t){t=t.toLowerCase();for(let r of e)for(let i of r.extensions)if(i.toLowerCase()===t)return r;return null}function Y4(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===\"application/x.\".concat(r.id))return r;return null}function wit(e,t){if(!t)return null;for(let r of e)if(typeof t==\"string\"){if(Sit(t,r))return r}else if(ArrayBuffer.isView(t)){if(VU(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&VU(t,0,r))return r;return null}function Sit(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>e.startsWith(i))}function VU(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(s=>Tit(e,t,r,s))}function Tit(e,t,r,i){if(i instanceof ArrayBuffer)return D4(i,e,i.byteLength);switch(typeof i){case\"function\":return i(e,r);case\"string\":let s=Q4(e,t,i.length);return i===s;default:return!1}}function HU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof e==\"string\"?e.slice(0,t):ArrayBuffer.isView(e)?Q4(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Q4(e,0,t):\"\"}function Q4(e,t,r){if(e.byteLength1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let{chunkSize:r=262144}=t,i=0;for(;iV4(s,i):t!=null&&t.fetch?t?.fetch:V4}function KU(e,t,r){if(r)return r;let i={fetch:KM(t,e),...e};if(i.url){let s=Ay(i.url);i.baseUrl=s,i.queryString=xU(i.url),i.filename=z0.filename(s),i.baseUrl=z0.dirname(s)}return Array.isArray(i.loaders)||(i.loaders=null),i}function JU(e,t){if(!t&&e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let i=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...i]:i}return r&&r.length?r:null}async function JM(e,t,r,i){Ka(!i||typeof i==\"object\"),t&&!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0),e=await e,r=r||{};let s=U0(e),o=JU(t,i),c=await jU(e,o,r);return c?(r=BU(r,c,o,s),i=KU({url:s,parse:JM,loaders:o},r,i||null),await Iit(c,e,r,i)):null}async function Iit(e,t,r,i){if(L4(e),Cu(t)){let s=t,{ok:n,redirected:o,status:c,statusText:f,type:_,url:w}=s,I=Object.fromEntries(s.headers.entries());i.response={headers:I,ok:n,redirected:o,status:c,statusText:f,type:_,url:w}}if(t=await XU(t,e,r),e.parseTextSync&&typeof t==\"string\")return r.dataType=\"text\",e.parseTextSync(t,r,i,e);if(k4(e,r))return await R4(e,t,r,i,JM);if(e.parseText&&typeof t==\"string\")return await e.parseText(t,r,i,e);if(e.parse)return await e.parse(t,r,i,e);throw Ka(!e.parseSync),new Error(\"\".concat(e.id,\" loader - no parser found and worker is disabled\"))}async function jA(e,t,r,i){!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0);let s=KM(r),n=e;return typeof e==\"string\"&&(n=await s(e)),Lu(e)&&(n=await s(e)),await JM(n,t,r)}var tV=\"3.4.14\";var{_parseImageNode:Cit}=globalThis,X4=typeof Image<\"u\",K4=typeof ImageBitmap<\"u\",Lit=!!Cit,J4=D0?!0:Lit;function eV(e){switch(e){case\"auto\":return K4||X4||J4;case\"imagebitmap\":return K4;case\"image\":return X4;case\"data\":return J4;default:throw new Error(\"@loaders.gl/images: image \".concat(e,\" not supported in this environment\"))}}function rV(){if(K4)return\"imagebitmap\";if(X4)return\"image\";if(J4)return\"data\";throw new Error(\"Install '@loaders.gl/polyfills' to parse images under Node.js\")}function kit(e){let t=Rit(e);if(!t)throw new Error(\"Not an image\");return t}function iV(e){switch(kit(e)){case\"data\":return e;case\"image\":case\"imagebitmap\":let t=document.createElement(\"canvas\"),r=t.getContext(\"2d\");if(!r)throw new Error(\"getImageData\");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error(\"getImageData\")}}function Rit(e){return typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap?\"imagebitmap\":typeof Image<\"u\"&&e instanceof Image?\"image\":e&&typeof e==\"object\"&&e.data&&e.width&&e.height?\"data\":null}var Dit=/^data:image\\/svg\\+xml/,Oit=/\\.svg((\\?|#).*)?$/;function tE(e){return e&&(Dit.test(e)||Oit.test(e))}function nV(e,t){if(tE(t)){let i=new TextDecoder().decode(e);try{typeof unescape==\"function\"&&typeof encodeURIComponent==\"function\"&&(i=unescape(encodeURIComponent(i)))}catch(n){throw new Error(n.message)}return\"data:image/svg+xml;base64,\".concat(btoa(i))}return tR(e,t)}function tR(e,t){if(tE(t))throw new Error(\"SVG cannot be parsed directly to imagebitmap\");return new Blob([new Uint8Array(e)])}async function eE(e,t,r){let i=nV(e,r),s=self.URL||self.webkitURL,n=typeof i!=\"string\"&&s.createObjectURL(i);try{return await Bit(n||i,t)}finally{n&&s.revokeObjectURL(n)}}async function Bit(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((i,s)=>{try{r.onload=()=>i(r),r.onerror=n=>s(new Error(\"Could not load image \".concat(e,\": \").concat(n)))}catch(n){s(n)}})}var Fit={},sV=!0;async function oV(e,t,r){let i;tE(r)?i=await eE(e,t,r):i=tR(e,r);let s=t&&t.imagebitmap;return await zit(i,s)}async function zit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Nit(t)||!sV)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),sV=!1}return await createImageBitmap(e)}function Nit(e){for(let t in e||Fit)return!1;return!0}function aV(e){return!Git(e,\"ftyp\",4)||!(e[8]&96)?null:Uit(e)}function Uit(e){switch(Vit(e,8,12).replace(\"\\0\",\" \").trim()){case\"avif\":case\"avis\":return{extension:\"avif\",mimeType:\"image/avif\"};default:return null}}function Vit(e,t,r){return String.fromCharCode(...e.slice(t,r))}function jit(e){return[...e].map(t=>t.charCodeAt(0))}function Git(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=jit(t);for(let s=0;s=24&&t.getUint32(0,Uf)===2303741511?{mimeType:\"image/png\",width:t.getUint32(16,Uf),height:t.getUint32(20,Uf)}:null}function qit(e){let t=ob(e);return t.byteLength>=10&&t.getUint32(0,Uf)===1195984440?{mimeType:\"image/gif\",width:t.getUint16(6,sb),height:t.getUint16(8,sb)}:null}function Zit(e){let t=ob(e);return t.byteLength>=14&&t.getUint16(0,Uf)===16973&&t.getUint32(2,sb)===t.byteLength?{mimeType:\"image/bmp\",width:t.getUint32(18,sb),height:t.getUint32(22,sb)}:null}function Yit(e){let t=ob(e);if(!(t.byteLength>=3&&t.getUint16(0,Uf)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:s}=Qit(),n=2;for(;n+9!!rE(new DataView(e))],options:Jit};function ab(e){if(typeof window<\"u\"&&typeof window.process==\"object\"&&window.process.type===\"renderer\"||typeof process<\"u\"&&typeof process.versions==\"object\"&&process.versions.electron)return!0;let t=typeof navigator==\"object\"&&typeof navigator.userAgent==\"string\"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf(\"Electron\")>=0)}function Lo(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||ab()}var GA={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document,process:typeof process==\"object\"&&process};var tnt=GA.self||GA.window||GA.global,yy=GA.window||GA.self||GA.global,ent=GA.document||{},G0=GA.process||{};var iE=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",gEt=Lo();var rR=globalThis;function vy(e){if(!e&&!Lo())return\"Node\";if(ab(e))return\"Electron\";let r=e||(typeof navigator<\"u\"?navigator:{}).userAgent||\"\";if(r.indexOf(\"Edge\")>-1)return\"Edge\";let i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s?\"IE\":rR.chrome?\"Chrome\":rR.safari?\"Safari\":rR.mozInnerScreenX?\"Firefox\":\"Unknown\"}function rnt(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var nE=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";G(this,\"storage\",void 0),G(this,\"id\",void 0),G(this,\"config\",void 0),this.storage=rnt(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function uV(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function hV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function sE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var oE;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(oE||(oE={}));function fV(e){return typeof e==\"string\"?oE[e.toUpperCase()]||oE.WHITE:e}function dV(e,t,r){return!Lo&&typeof e==\"string\"&&(t&&(t=fV(t),e=\"\\x1B[\".concat(t,\"m\").concat(e,\"\\x1B[39m\")),r&&(t=fV(r),e=\"\\x1B[\".concat(r+10,\"m\").concat(e,\"\\x1B[49m\"))),e}function pV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r);for(let s of i)typeof e[s]==\"function\"&&(t.find(n=>s===n)||(e[s]=e[s].bind(e)))}function xy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function W0(){let e;if(Lo&&\"performance\"in yy){var t,r;e=yy===null||yy===void 0||(t=yy.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in G0){var i;let s=G0===null||G0===void 0||(i=G0.hrtime)===null||i===void 0?void 0:i.call(G0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var by={debug:Lo&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},int={enabled:!0,level:0};function Ru(){}var AV={},mV={once:!0},Vf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};G(this,\"id\",void 0),G(this,\"VERSION\",iE),G(this,\"_startTs\",W0()),G(this,\"_deltaTs\",W0()),G(this,\"_storage\",void 0),G(this,\"userData\",{}),G(this,\"LOG_THROTTLE_TIMEOUT\",0),this.id=t,this.userData={},this._storage=new nE(\"__probe-\".concat(this.id,\"__\"),int),this.timeStamp(\"\".concat(this.id,\" started\")),pV(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((W0()-this._startTs).toPrecision(10))}getDelta(){return Number((W0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){xy(t,r)}warn(t){return this._getLogFunction(0,t,by.warn,arguments,mV)}error(t){return this._getLogFunction(0,t,by.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,by.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,by.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){for(var i=arguments.length,s=new Array(i>2?i-2:0),n=2;n2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=gV({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||Ru)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_V(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=gV({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,xy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=W0();let o=n.tag||n.message;if(n.once)if(!AV[o])AV[o]=W0();else return Ru;return r=nnt(this.id,n.message,n),i.bind(console,r,...n.args)}return Ru}};G(Vf,\"VERSION\",iE);function _V(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return xy(Number.isFinite(t)&&t>=0),t}function gV(e){let{logLevel:t,message:r}=e;e.logLevel=_V(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return xy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function nnt(e,t,r){if(typeof t==\"string\"){let i=r.time?hV(uV(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=dV(t,r.color,r.background)}return t}function snt(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),Ru}function ont(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=sE(n,r,i);console.log(...o)},n.src=t,Ru}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...sE(t,r,i)),Ru;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...sE(n,r,i)),n.src=t.toDataURL(),Ru}return Ru}function ant(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var $Et=new Vf({id:\"@probe.gl/log\"});var or=new Vf({id:\"deck\"});var iR={};function yV(e){iR=e}function Ls(e,t,r,i){or.level>0&&iR[e]&&iR[e].call(null,t,r,i)}function lnt(e){let t=e[0],r=e[e.length-1];return t===\"{\"&&r===\"}\"||t===\"[\"&&r===\"]\"}var vV={id:\"JSON\",name:\"JSON\",module:\"\",version:\"\",options:{},extensions:[\"json\",\"geojson\"],mimeTypes:[\"application/json\",\"application/geo+json\"],testText:lnt,parseTextSync:JSON.parse};function cnt(){let e=\"8.9.35\",t=globalThis.deck&&globalThis.deck.VERSION;if(t&&t!==e)throw new Error(\"deck.gl - multiple versions detected: \".concat(t,\" vs \").concat(e));return t||(or.log(1,\"deck.gl \".concat(e))(),globalThis.deck={...globalThis.deck,VERSION:e,version:e,log:or,_registerLoggers:yV},Z4([vV,[eR,{imagebitmap:{premultiplyAlpha:\"none\"}}]])),e}var xV=cnt();var Yr={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Yr,\"IDENTITY\",{get:()=>(or.deprecated(\"COORDINATE_SYSTEM.IDENTITY\",\"COORDINATE_SYSTEM.CARTESIAN\")(),0)});var Ja={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},po={common:0,meters:1,pixels:2},nR={click:{handler:\"onClick\"},panstart:{handler:\"onDragStart\"},panmove:{handler:\"onDrag\"},panend:{handler:\"onDragEnd\"}};var He=new Vf({id:\"luma.gl\"});function Ks(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}var unt=\"Invalid WebGLRenderingContext\";var hnt=\"Requires WebGL2\";function Jd(e){return typeof WebGLRenderingContext<\"u\"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&Number.isFinite(e._version))}function fr(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function sR(e){return fr(e)?e:null}function tp(e){return Ks(Jd(e),unt),e}function Yn(e){return Ks(fr(e),hnt),e}var lb={};function fnt(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function dnt(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function pnt(e,t){lb[e]=!0,t!==void 0&&fnt(t)}function Ant(e){let t=e.getError;e.getError=function(){let i;do i=t.apply(e),i!==0&&(lb[i]=!0);while(i!==0);for(i in lb)if(lb[i])return delete lb[i],parseInt(i,10);return 0}}var cb=function e(t){let r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(let i=0;i{dnt(\"OESVertexArrayObject emulation library context restored\"),r.reset_()},!0),this.reset_()};H0.prototype.VERTEX_ARRAY_BINDING_OES=34229;H0.prototype.reset_=function(){if(this.vertexArrayObjects!==void 0)for(let i=0;ifr(e)?void 0:0,Tnt={3074:e=>fr(e)?void 0:36064,[ynt]:e=>fr(e)?void 0:vnt,35977:Un,32937:Un,[xnt]:(e,t)=>{let r=fr(e)?e.getExtension(gnt):e.getExtension(mnt);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0},[wnt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)},[Snt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)},[bnt]:(e,t)=>{let r=e.luma.extensions[_nt];return r?t(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Un,35071:Un,37447:Un,36063:(e,t)=>{if(!fr(e)){let r=e.getExtension(SV);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Un,35374:Un,35377:Un,34852:e=>{if(!fr(e)){let t=e.getExtension(SV);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}},36203:e=>e.getExtension(wV)?2147483647:65535,33001:e=>e.getExtension(wV)?16777216:65535,33e3:e=>16777216,37157:Un,35373:Un,35657:Un,36183:Un,37137:Un,34045:Un,35978:Un,35979:Un,35968:Un,35376:Un,35375:Un,35659:Un,37154:Un,35371:Un,35658:Un,35076:Un,35077:Un,35380:Un};function MV(e,t,r){let i=Tnt[r],s=typeof i==\"function\"?i(e,t,r):i;return s!==void 0?s:t(r)}var Mnt=\"OES_vertex_array_object\",EV=\"ANGLE_instanced_arrays\",Ent=\"WEBGL_draw_buffers\",Pnt=\"EXT_disjoint_timer_query\",Int=\"EXT_texture_filter_anisotropic\",Cnt=\"VertexArray requires WebGL2 or OES_vertex_array_object extension\";function Lnt(e,t){return{webgl2:fr(e),ext:e.getExtension(t)}}var oR={[Mnt]:{meta:{suffix:\"OES\"},createVertexArray:()=>{Ks(!1,Cnt)},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[EV]:{meta:{suffix:\"ANGLE\"},vertexAttribDivisor(e,t){Ks(t===0,\"WebGL instanced rendering not supported\")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},[Ent]:{meta:{suffix:\"WEBGL\"},drawBuffers:()=>{Ks(!1)}},[Pnt]:{meta:{suffix:\"EXT\"},createQuery:()=>{Ks(!1)},deleteQuery:()=>{Ks(!1)},beginQuery:()=>{Ks(!1)},endQuery:()=>{},getQuery(e,t){return this.getQueryObject(e,t)},getQueryParameter(e,t){return this.getQueryObject(e,t)},getQueryObject:()=>{}}},aE={readBuffer:(e,t,r)=>{fr(e)&&t(r)},getVertexAttrib:(e,t,r,i)=>{let{webgl2:s,ext:n}=Lnt(e,EV),o;switch(i){case 35069:o=s?void 0:!1;break;case 35070:o=!s&&!n?0:void 0;break;default:}return o!==void 0?o:t(r,i)},getProgramParameter:(e,t,r,i)=>{if(!fr(e))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(r,i)},getInternalformatParameter:(e,t,r,i,s)=>{if(!fr(e))switch(s){case 32937:return new Int32Array([0]);default:}return e.getInternalformatParameter(r,i,s)},getTexParameter(e,t,r,i){switch(i){case 34046:let{extensions:s}=e.luma,n=s[Int];i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(r,i)},getParameter:MV,hint(e,t,r,i){return t(r,i)}};function PV(e){e.luma=e.luma||{};let{luma:t}=e;return t.polyfilled||(bV(e),knt(e),Dnt(e,oR),Rnt(e,{target:t,target2:e}),t.polyfilled=!0),e}globalThis.polyfillContext=PV;function knt(e){e.luma.extensions={};let t=e.getSupportedExtensions()||[];for(let r of t)e.luma[r]=e.getExtension(r)}function Rnt(e,t){let{target:r,target2:i}=t;Object.keys(aE).forEach(s=>{if(typeof aE[s]==\"function\"){let n=e[s]?e[s].bind(e):()=>{},o=aE[s].bind(null,e,n);r[s]=o,i[s]=o}})}function Dnt(e,t){for(let r of Object.getOwnPropertyNames(t))r!==\"overrides\"&&Ont(e,{extension:r,target:e.luma,target2:e})}function Ont(e,t){let{extension:r,target:i,target2:s}=t,n=oR[r];Ks(n);let{meta:o={}}=n,{suffix:c=\"\"}=o,f=e.getExtension(r);for(let _ of Object.keys(n)){let w=\"\".concat(_).concat(c),I=null;_===\"meta\"||typeof e[_]==\"function\"||(f&&typeof f[w]==\"function\"?I=function(){return f[w](...arguments)}:typeof n[_]==\"function\"&&(I=n[_].bind(i))),I&&(i[_]=I,s[_]=I)}}var hb={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},WA=(e,t,r)=>t?e.enable(r):e.disable(r),IV=(e,t,r)=>e.hint(r,t),Qc=(e,t,r)=>e.pixelStorei(r,t),Bnt=(e,t)=>{let r=fr(e)?36009:36160;return e.bindFramebuffer(r,t)},Fnt=(e,t)=>e.bindFramebuffer(36008,t);function ub(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var CV={3042:WA,32773:(e,t)=>e.blendColor(...t),32777:\"blendEquation\",34877:\"blendEquation\",32969:\"blendFunc\",32968:\"blendFunc\",32971:\"blendFunc\",32970:\"blendFunc\",3106:(e,t)=>e.clearColor(...t),3107:(e,t)=>e.colorMask(...t),2884:WA,2885:(e,t)=>e.cullFace(t),2929:WA,2931:(e,t)=>e.clearDepth(t),2932:(e,t)=>e.depthFunc(t),2928:(e,t)=>e.depthRange(...t),2930:(e,t)=>e.depthMask(t),3024:WA,35723:IV,36006:Bnt,2886:(e,t)=>e.frontFace(t),33170:IV,2849:(e,t)=>e.lineWidth(t),32823:WA,32824:\"polygonOffset\",10752:\"polygonOffset\",35977:WA,32938:\"sampleCoverage\",32939:\"sampleCoverage\",3089:WA,3088:(e,t)=>e.scissor(...t),2960:WA,2961:(e,t)=>e.clearStencil(t),2968:(e,t)=>e.stencilMaskSeparate(1028,t),36005:(e,t)=>e.stencilMaskSeparate(1029,t),2962:\"stencilFuncFront\",2967:\"stencilFuncFront\",2963:\"stencilFuncFront\",34816:\"stencilFuncBack\",36003:\"stencilFuncBack\",36004:\"stencilFuncBack\",2964:\"stencilOpFront\",2965:\"stencilOpFront\",2966:\"stencilOpFront\",34817:\"stencilOpBack\",34818:\"stencilOpBack\",34819:\"stencilOpBack\",2978:(e,t)=>e.viewport(...t),3333:Qc,3317:Qc,37440:Qc,37441:Qc,37443:Qc,3330:Qc,3332:Qc,3331:Qc,36010:Fnt,3314:Qc,32878:Qc,3316:Qc,3315:Qc,32877:Qc,framebuffer:(e,t)=>{let r=t&&\"handle\"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{t=ub(t)?t:[t,t],e.blendEquationSeparate(...t)},blendFunc:(e,t)=>{t=ub(t)&&t.length===2?[...t,...t]:t,e.blendFuncSeparate(...t)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(...t),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=ub(t)?t:[t,t];let[r,i]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,i)},stencilFunc:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilFuncSeparate(1028,r,i,s),e.stencilFuncSeparate(1029,n,o,c)},stencilOp:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilOpSeparate(1028,r,i,s),e.stencilOpSeparate(1029,n,o,c)},viewport:(e,t)=>e.viewport(...t)};function ks(e,t,r){return t[e]!==void 0?t[e]:r[e]}var LV={blendEquation:(e,t,r)=>e.blendEquationSeparate(ks(32777,t,r),ks(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(ks(32969,t,r),ks(32968,t,r),ks(32971,t,r),ks(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(ks(32824,t,r),ks(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(ks(32938,t,r),ks(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,ks(2962,t,r),ks(2967,t,r),ks(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,ks(34816,t,r),ks(36003,t,r),ks(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,ks(2964,t,r),ks(2965,t,r),ks(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,ks(34817,t,r),ks(34818,t,r),ks(34819,t,r))},aR={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({36006:r,36010:r});case 36009:return e({36006:r});case 36008:return e({36010:r});default:return null}},blendColor:(e,t,r,i,s)=>e({32773:new Float32Array([t,r,i,s])}),blendEquation:(e,t)=>e({32777:t,34877:t}),blendEquationSeparate:(e,t,r)=>e({32777:t,34877:r}),blendFunc:(e,t,r)=>e({32969:t,32968:r,32971:t,32970:r}),blendFuncSeparate:(e,t,r,i,s)=>e({32969:t,32968:r,32971:i,32970:s}),clearColor:(e,t,r,i,s)=>e({3106:new Float32Array([t,r,i,s])}),clearDepth:(e,t)=>e({2931:t}),clearStencil:(e,t)=>e({2961:t}),colorMask:(e,t,r,i,s)=>e({3107:[t,r,i,s]}),cullFace:(e,t)=>e({2885:t}),depthFunc:(e,t)=>e({2932:t}),depthRange:(e,t,r)=>e({2928:new Float32Array([t,r])}),depthMask:(e,t)=>e({2930:t}),frontFace:(e,t)=>e({2886:t}),lineWidth:(e,t)=>e({2849:t}),polygonOffset:(e,t,r)=>e({32824:t,10752:r}),sampleCoverage:(e,t,r)=>e({32938:t,32939:r}),scissor:(e,t,r,i,s)=>e({3088:new Int32Array([t,r,i,s])}),stencilMask:(e,t)=>e({2968:t,36005:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,i)=>e({2962:t,2967:r,2963:i,34816:t,36003:r,36004:i}),stencilFuncSeparate:(e,t,r,i,s)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:i,[t===1028?2963:36004]:s}),stencilOp:(e,t,r,i)=>e({2964:t,2965:r,2966:i,34817:t,34818:r,34819:i}),stencilOpSeparate:(e,t,r,i,s)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:i,[t===1028?2966:34819]:s}),viewport:(e,t,r,i,s)=>e({2978:[t,r,i,s]})},jf=(e,t)=>e.isEnabled(t),lR={3042:jf,2884:jf,2929:jf,3024:jf,32823:jf,32926:jf,32928:jf,3089:jf,2960:jf,35977:jf};function cR(e){for(let t in e)return!1;return!0}function kV(e,t){if(e===t)return!0;let r=Array.isArray(e)||ArrayBuffer.isView(e),i=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&i&&e.length===t.length){for(let s=0;s{}}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?wy(t):Object.assign({},hb),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}pop(){Ks(this.stateStack.length>0);let t=this.stateStack[this.stateStack.length-1];Ml(this.gl,t),this.stateStack.pop()}_updateCache(t){let r=!1,i,s=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(let n in t){Ks(n!==void 0);let o=t[n],c=this.cache[n];kV(o,c)||(r=!0,i=c,s&&!(n in s)&&(s[n]=c),this.cache[n]=o)}return{valueChanged:r,oldValue:i}}};function lE(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{enable:r=!0,copyState:i}=t;if(Ks(i!==void 0),!e.state){let{polyfillContext:s}=globalThis;s&&s(e),e.state=new uR(e,{copyState:i}),Nnt(e);for(let n in aR){let o=aR[n];znt(e,n,o)}RV(e,\"getParameter\"),RV(e,\"isEnabled\")}return e.state.enable=r,e}function hR(e){e.state||lE(e,{copyState:!1}),e.state.push()}function cE(e){Ks(e.state),e.state.pop()}function Ml(e,t){if(Ks(Jd(e),\"setParameters requires a WebGL context\"),cR(t))return;let r={};for(let s in t){let n=Number(s),o=CV[s];o&&(typeof o==\"string\"?r[o]=!0:o(e,t[s],n))}let i=e.state&&e.state.cache;if(i)for(let s in r){let n=LV[s];n(e,t,i)}}function wy(e,t){if(t=t||hb,typeof t==\"number\"){let s=t,n=lR[s];return n?n(e,s):e.getParameter(s)}let r=Array.isArray(t)?t:Object.keys(t),i={};for(let s of r){let n=lR[s];i[s]=n?n(e,Number(s)):e.getParameter(Number(s))}return i}function uE(e){Ml(e,hb)}function Mn(e,t,r){if(cR(t))return r(e);let{nocatch:i=!0}=t;hR(e),Ml(e,t);let s;if(i)s=r(e),cE(e);else try{s=r(e)}finally{cE(e)}return s}function El(e){let{luma:t}=e;if(e.canvas&&t){let r=t.canvasSizeInfo,i=\"clientWidth\"in r?r.clientWidth:e.canvas.clientWidth;return i?e.drawingBufferWidth/i:1}return 1}function Sy(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=El(e),s=e.drawingBufferWidth,n=e.drawingBufferHeight;return Unt(t,i,s,n,r)}function BV(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function Unt(e,t,r,i,s){let n=DV(e[0],t,r),o=OV(e[1],t,i,s),c=DV(e[0]+1,t,r),f=c===r-1?c:c-1;c=OV(e[1]+1,t,i,s);let _;return s?(c=c===0?c:c+1,_=o,o=c):_=c===i-1?c:c-1,{x:n,y:o,width:Math.max(f-n+1,1),height:Math.max(_-o+1,1)}}function DV(e,t,r){return Math.min(Math.round(e*t),r-1)}function OV(e,t,r,i){return i?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var fR=Lo(),Vnt=fR&&typeof document<\"u\",FV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Ty(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ks(fR,`createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils`),e=Object.assign({},FV,e);let{width:t,height:r}=e;function i(c){if(e.throwOnError)throw new Error(c);return console.error(c),null}e.onError=i;let s,{canvas:n}=e,o=Gnt({canvas:n,width:t,height:r,onError:i});return s=jnt(o,e),s?(s=q0(s,e),Wnt(s),s):null}function q0(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||Hnt(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{},t=Object.assign({},FV,t);let{manageState:r,debug:i}=t;return r&&lE(e,{copyState:!1,log:function(){for(var s=arguments.length,n=new Array(s),o=0;o1&&arguments[1]!==void 0?arguments[1]:{};if(e.canvas){let i=BV(t.useDevicePixels);qnt(e,i,t);return}let r=e.getExtension(\"STACKGL_resize_drawingbuffer\");r&&\"width\"in t&&\"height\"in t&&r.resize(t.width,t.height)}function jnt(e,t){let{onError:r}=t,i=null,s=f=>i=f.statusMessage||i;e.addEventListener(\"webglcontextcreationerror\",s,!1);let{webgl1:n=!0,webgl2:o=!0}=t,c=null;return o&&(c=c||e.getContext(\"webgl2\",t),c=c||e.getContext(\"experimental-webgl2\",t)),n&&(c=c||e.getContext(\"webgl\",t),c=c||e.getContext(\"experimental-webgl\",t)),e.removeEventListener(\"webglcontextcreationerror\",s,!1),c?(t.onContextLost&&e.addEventListener(\"webglcontextlost\",t.onContextLost,!1),t.onContextRestored&&e.addEventListener(\"webglcontextrestored\",t.onContextRestored,!1),c):r(\"Failed to create \".concat(o&&!n?\"WebGL2\":\"WebGL\",\" context: \").concat(i||\"Unknown error\"))}function Gnt(e){let{canvas:t,width:r=800,height:i=600,onError:s}=e,n;return typeof t==\"string\"?(Vnt&&document.readyState===\"complete\"||s(\"createGLContext called on canvas '\".concat(t,\"' before page was loaded\")),n=document.getElementById(t)):t?n=t:(n=document.createElement(\"canvas\"),n.id=\"lumagl-canvas\",n.style.width=Number.isFinite(r)?\"\".concat(r,\"px\"):\"100%\",n.style.height=Number.isFinite(i)?\"\".concat(i,\"px\"):\"100%\",document.body.insertBefore(n,document.body.firstChild)),n}function Wnt(e){let t=fr(e)?\"WebGL2\":\"WebGL1\",r=zV(e),i=r?\"(\".concat(r.vendor,\",\").concat(r.renderer,\")\"):\"\",s=e.debug?\" debug\":\"\";He.info(1,\"\".concat(t).concat(s,\" context \").concat(i))()}function Hnt(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?2:1}function qnt(e,t,r){let i=\"width\"in r?r.width:e.canvas.clientWidth,s=\"height\"in r?r.height:e.canvas.clientHeight;(!i||!s)&&(He.log(1,\"Canvas clientWidth/clientHeight is 0\")(),t=1,i=e.canvas.width||1,s=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};let n=e.luma.canvasSizeInfo;if(n.clientWidth!==i||n.clientHeight!==s||n.devicePixelRatio!==t){let o=t,c=Math.floor(i*o),f=Math.floor(s*o);e.canvas.width=c,e.canvas.height=f,(e.drawingBufferWidth!==c||e.drawingBufferHeight!==f)&&(He.warn(\"Device pixel ratio clamped\")(),o=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/s),e.canvas.width=Math.floor(i*o),e.canvas.height=Math.floor(s*o)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:s,devicePixelRatio:t})}}function fb(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Z0=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"type\",void 0),G(this,\"sampleSize\",1),G(this,\"time\",void 0),G(this,\"count\",void 0),G(this,\"samples\",void 0),G(this,\"lastTiming\",void 0),G(this,\"lastSampleTime\",void 0),G(this,\"lastSampleCount\",void 0),G(this,\"_count\",0),G(this,\"_time\",0),G(this,\"_samples\",0),G(this,\"_startTime\",0),G(this,\"_timerPending\",!1),this.name=t,this.type=r,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=fb(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(fb()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Gf=class{constructor(t){G(this,\"id\",void 0),G(this,\"stats\",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t in this.stats)this.stats[t].reset();return this}forEach(t){for(let r in this.stats)t(this.stats[r])}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){if(!t||!t.name)return null;let{name:r,type:i}=t;return this.stats[r]||(t instanceof Z0?this.stats[r]=t:this.stats[r]=new Z0(r,i)),this.stats[r]}};var db=\"8.5.21\",Znt=\"set luma.log.level=1 (or higher) to trace rendering\",pR=class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gf({id:t})),this.stats.get(t)}},Du=new pR;if(globalThis.luma&&globalThis.luma.VERSION!==db)throw new Error(\"luma.gl - multiple VERSIONs detected: \".concat(globalThis.luma.VERSION,\" vs \").concat(db));globalThis.luma||(Lo()&&He.log(1,\"luma.gl \".concat(db,\" - \").concat(Znt))(),globalThis.luma=globalThis.luma||{VERSION:db,version:db,log:He,stats:Du,globals:{modules:{},nodeIO:{}}});var _3t=globalThis.luma;function AR(e){return typeof window<\"u\"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function mR(e){return typeof window<\"u\"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}function ye(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}function hE(e,t){if(typeof t!=\"string\")return t;let r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\\./,\"\");let i=e[t];return ye(i!==void 0,\"Accessing undefined constant GL.\".concat(t)),i}function Ou(e,t){t=Number(t);for(let r in e)if(e[r]===t)return\"GL.\".concat(r);return String(t)}var gR={};function ta(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:\"id\";gR[e]=gR[e]||1;let t=gR[e]++;return\"\".concat(e,\"-\").concat(t)}function _R(e){return ye(typeof e==\"number\",\"Input must be a number\"),e&&(e&e-1)===0}function Wf(e){let t=!0;for(let r in e){t=!1;break}return t}function fE(e,t,r,i){let s=\"See luma.gl \".concat(r,\" Upgrade Guide at https://luma.gl/docs/upgrade-guide\"),n=Object.getPrototypeOf(e);i.forEach(o=>{n.methodName||(n[o]=()=>{throw He.removed(\"Calling removed method \".concat(t,\".\").concat(o,\": \"),s)(),new Error(o)})})}var My=\"Resource subclass must define virtual methods\",Js=class{get[Symbol.toStringTag](){return\"Resource\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t);let{id:i,userData:s={}}=r;this.gl=t,this.gl2=t,this.id=i||ta(this[Symbol.toStringTag]),this.userData=s,this._bound=!1,this._handle=r.handle,this._handle===void 0&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return\"\".concat(this[Symbol.toStringTag]||this.constructor.name,\"(\").concat(this.id,\")\")}get handle(){return this._handle}delete(){let{deleteChildren:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&t&&r.filter(Boolean).forEach(i=>i.delete()),this}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof t!=\"function\")return this._bindHandle(t),this;let r;return this._bound?r=t():(this._bindHandle(this.handle),this._bound=!0,r=t(),this._bound=!1,this._bindHandle(null)),r}unbind(){this.bind(null)}getParameter(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension)))){let c=s.webgl1,f=\"webgl2\"in s?s.webgl2:s.webgl1;return n?f:c}}return this._getParameter(t,r)}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{parameters:r,keys:i}=t,s=this.constructor.PARAMETERS||{},n=fr(this.gl),o={},c=r||Object.keys(s);for(let f of c){let _=s[f];if(_&&(!(\"webgl2\"in _)||n)&&(!(\"extension\"in _)||this.gl.getExtension(_.extension))){let I=i?Ou(this.gl,f):f;o[I]=this.getParameter(f,t),i&&_.type===\"GLenum\"&&(o[I]=Ou(this.gl,o[I]))}}return o}setParameter(t,r){t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension))))throw new Error(\"Parameter not available on this platform\");s.type===\"GLenum\"&&(r=hE(r))}return this._setParameter(t,r),this}setParameters(t){for(let r in t)this.setParameter(r,t[r]);return this}stubRemovedMethods(t,r,i){return fE(this,t,r,i)}initialize(t){}_createHandle(){throw new Error(My)}_deleteHandle(){throw new Error(My)}_bindHandle(t){throw new Error(My)}_getOptsFromHandle(){throw new Error(My)}_getParameter(t,r){throw new Error(My)}_setParameter(t,r){throw new Error(My)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){let t=this[Symbol.toStringTag],r=Du.get(\"Resource Counts\");r.get(\"Resources Created\").incrementCount(),r.get(\"\".concat(t,\"s Created\")).incrementCount(),r.get(\"\".concat(t,\"s Active\")).incrementCount()}_removeStats(){let t=this[Symbol.toStringTag];Du.get(\"Resource Counts\").get(\"\".concat(t,\"s Active\")).decrementCount()}_trackAllocatedMemory(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag];this._trackAllocatedMemoryForContext(t,r),this._trackAllocatedMemoryForContext(t,r,this.gl.canvas&&this.gl.canvas.id),this.byteLength=t}_trackAllocatedMemoryForContext(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"\",s=Du.get(\"Memory Usage\".concat(i));s.get(\"GPU Memory\").addCount(t),s.get(\"\".concat(r,\" Memory\")).addCount(t)}_trackDeallocatedMemory(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag];this._trackDeallocatedMemoryForContext(t),this._trackDeallocatedMemoryForContext(t,this.gl.canvas&&this.gl.canvas.id),this.byteLength=0}_trackDeallocatedMemoryForContext(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\",i=Du.get(\"Memory Usage\".concat(r));i.get(\"GPU Memory\").subtractCount(this.byteLength),i.get(\"\".concat(t,\" Memory\")).subtractCount(this.byteLength)}};var Ynt=\"Failed to deduce GL constant from typed array\";function pb(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Ynt)}}function HA(e){let{clamped:t=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return t?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error(\"Failed to deduce typed array type from GL constant\")}}function NV(e){let{data:t,width:r,height:i,bytesPerPixel:s=4,temp:n}=e,o=r*s;n=n||new Uint8Array(o);for(let c=0;cthis._assign(s)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return e.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return e.getBytesPerVertex(this)}_assign(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=Ab(\"Accessor\",t,$nt),t.type!==void 0&&(this.type=t.type,(t.type===5124||t.type===5125)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index==\"boolean\"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.isInstanced?1:0),this}};var VV=10,jV={offset:\"accessor.offset\",stride:\"accessor.stride\",type:\"accessor.type\",size:\"accessor.size\",divisor:\"accessor.divisor\",normalized:\"accessor.normalized\",integer:\"accessor.integer\",instanced:\"accessor.divisor\",isInstanced:\"accessor.divisor\"},Xnt={removedProps:{},replacedProps:{bytes:\"byteLength\"},deprecatedProps:jV},Knt={removedProps:jV},Fr=class extends Js{get[Symbol.toStringTag](){return\"Buffer\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Buffer\",\"v6.0\",[\"layout\",\"setLayout\",\"getIndexedParameter\"]),this.target=r.target||(this.gl.webgl2?36662:34962),this.initialize(r),Object.seal(this)}getElementCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerElement(t))}getVertexCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerVertex(t))}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=Ab(\"Buffer\",t,Xnt),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return t=Ab(\"Buffer\",t,Knt),\"accessor\"in t&&this.setAccessor(t.accessor),this}setAccessor(t){return t=Object.assign({},t),delete t.buffer,this.accessor=new Pl(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});let{data:r,offset:i=0,srcOffset:s=0}=t,n=t.byteLength||t.length;ye(r);let o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),s!==0||n!==void 0?(Yn(this.gl),this.gl.bufferSubData(this.target,i,r,s,n)):this.gl.bufferSubData(o,i,r),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(r),this}copyData(t){let{sourceBuffer:r,readOffset:i=0,writeOffset:s=0,size:n}=t,{gl:o}=this;return Yn(o),o.bindBuffer(36662,r.handle),o.bindBuffer(36663,this.handle),o.copyBufferSubData(36662,36663,i,s,n),o.bindBuffer(36662,null),o.bindBuffer(36663,null),this.debugData=null,this}getData(){let{dstData:t=null,srcByteOffset:r=0,dstOffset:i=0,length:s=0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yn(this.gl);let n=HA(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(r),c=i,f,_;t?(_=t.length,f=_-c):(f=Math.min(o,s||o),_=c+f);let w=Math.min(o,f);return s=s||w,ye(s<=w),t=t||new n(_),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,t,i,s),this.gl.bindBuffer(36662,null),t}bind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index,offset:i=0,size:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?s!==void 0?this.gl.bindBufferRange(t,r,this.handle,i,s):(ye(i===0),this.gl.bindBufferBase(t,r,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?this.gl.bindBufferBase(t,r,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(VV,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t.byteLength+r;ye(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();let s=this._getTarget();this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,this.usage),this.gl.bufferSubData(s,r,t),this.gl.bindBuffer(s,null),this.debugData=t.slice(0,VV),this.bytesUsed=i,this._trackAllocatedMemory(i);let n=pb(t);return ye(n),this.setAccessor(new Pl(this.accessor,{type:n})),this}_setByteLength(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.usage;ye(t>=0),this._trackDeallocatedMemory();let i=t;t===0&&(i=new Float32Array(0));let s=this._getTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,r),this.gl.bindBuffer(s,null),this.usage=r,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){let r=HA(this.accessor.type||5126,{clamped:!1}),i=t/r.BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(t){this.accessor.type||this.setAccessor(new Pl(this.accessor,{type:pb(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);let r=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),r}get type(){return He.deprecated(\"Buffer.type\",\"Buffer.accessor.type\")(),this.accessor.type}get bytes(){return He.deprecated(\"Buffer.bytes\",\"Buffer.byteLength\")(),this.byteLength}setByteLength(t){return He.deprecated(\"setByteLength\",\"reallocate\")(),this.reallocate(t)}updateAccessor(t){return He.deprecated(\"updateAccessor(...)\",\"setAccessor(new Accessor(buffer.accessor, ...)\")(),this.accessor=new Pl(this.accessor,t),this}};var dE={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},pE={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},AE={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1};function GV(e,t){let r=dE[t];if(!r)return!1;if(r.gl1===void 0&&r.gl2===void 0)return!0;let i=fr(e)&&r.gl2||r.gl1;return typeof i==\"string\"?e.getExtension(i):i}function WV(e,t){let r=dE[t];switch(r&&r.types[0]){case 5126:return e.getExtension(\"OES_texture_float_linear\");case 5131:return e.getExtension(\"OES_texture_half_float_linear\");default:return!0}}var Jnt=[9729,9728],HV=globalThis.WebGLBuffer||function(){},tl=class extends Js{get[Symbol.toStringTag](){return\"Texture\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{format:i,linearFiltering:s}=r,n=!0;return i&&(n=n&&GV(t,i),n=n&&(!s||WV(t,i))),n}constructor(t,r){let{id:i=ta(\"texture\"),handle:s,target:n}=r;super(t,{id:i,handle:s}),this.target=n,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return\"Texture(\".concat(this.id,\",\").concat(this.width,\"x\").concat(this.height,\")\")}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.data;if(r instanceof Promise)return r.then(K=>this.initialize(Object.assign({},t,{pixels:K,data:K}))),this;let i=typeof HTMLVideoElement<\"u\"&&r instanceof HTMLVideoElement;if(i&&r.readyStatethis.initialize(t)),this;let{pixels:s=null,format:n=6408,border:o=0,recreate:c=!1,parameters:f={},pixelStore:_={},textureUnit:w=void 0}=t;r||(r=s);let{width:I,height:R,dataFormat:N,type:j,compressed:Q=!1,mipmaps:et=!0}=t,{depth:Y=0}=t;return{width:I,height:R,compressed:Q,dataFormat:N,type:j}=this._deduceParameters({format:n,type:j,dataFormat:N,compressed:Q,data:r,width:I,height:R}),this.width=I,this.height=R,this.depth=Y,this.format=n,this.type=j,this.dataFormat=N,this.border=o,this.textureUnit=w,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),et&&this._isNPOT()&&(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),et=!1,this._updateForNPOT(f)),this.mipmaps=et,this.setImageData({data:r,width:I,height:R,depth:Y,format:n,type:j,dataFormat:N,border:o,mipmaps:et,parameters:_,compressed:Q}),et&&this.generateMipmap(),this.setParameters(f),c&&(this.data=r),i&&(this._video={video:r,parameters:f,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}update(){if(this._video){let{video:t,parameters:r,lastTime:i}=this._video;if(i===t.currentTime||t.readyState0&&arguments[0]!==void 0?arguments[0]:{};return this._isNPOT()?(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Mn(this.gl,t,()=>{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory(\"Texture\");let{target:r=this.target,pixels:i=null,level:s=0,format:n=this.format,border:o=this.border,offset:c=0,parameters:f={}}=t,{data:_=null,type:w=this.type,width:I=this.width,height:R=this.height,dataFormat:N=this.dataFormat,compressed:j=!1}=t;_||(_=i),{type:w,dataFormat:N,compressed:j,width:I,height:R}=this._deduceParameters({format:n,type:w,dataFormat:N,compressed:j,data:_,width:I,height:R});let{gl:Q}=this;Q.bindTexture(this.target,this.handle);let et=null;({data:_,dataType:et}=this._getDataType({data:_,compressed:j}));let Y,K=0;if(Mn(this.gl,f,()=>{switch(et){case\"null\":Q.texImage2D(r,s,n,I,R,o,N,w,_);break;case\"typed-array\":Q.texImage2D(r,s,n,I,R,o,N,w,_,c);break;case\"buffer\":Y=Yn(Q),Y.bindBuffer(35052,_.handle||_),Y.texImage2D(r,s,n,I,R,o,N,w,c),Y.bindBuffer(35052,null);break;case\"browser-object\":fr(Q)?Q.texImage2D(r,s,n,I,R,o,N,w,_):Q.texImage2D(r,s,n,N,w,_);break;case\"compressed\":for(let[J,ut]of _.entries())Q.compressedTexImage2D(r,J,ut.format,ut.width,ut.height,o,ut.data),K+=ut.levelSize;break;default:ye(!1,\"Unknown image data type\")}}),et===\"compressed\")this._trackAllocatedMemory(K,\"Texture\");else if(_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,\"Texture\");else{let J=pE[this.dataFormat]||4,ut=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*J*ut,\"Texture\")}return this.loaded=!0,this}setSubImageData(t){let{target:r=this.target,pixels:i=null,data:s=null,x:n=0,y:o=0,width:c=this.width,height:f=this.height,level:_=0,format:w=this.format,type:I=this.type,dataFormat:R=this.dataFormat,compressed:N=!1,offset:j=0,border:Q=this.border,parameters:et={}}=t;if({type:I,dataFormat:R,compressed:N,width:c,height:f}=this._deduceParameters({format:w,type:I,dataFormat:R,compressed:N,data:s,width:c,height:f}),ye(this.depth===0,\"texSubImage not supported for 3D textures\"),s||(s=i),s&&s.data){let Y=s;s=Y.data,c=Y.shape[0],f=Y.shape[1]}s instanceof Fr&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,et,()=>{if(N)this.gl.compressedTexSubImage2D(r,_,n,o,c,f,w,s);else if(s===null)this.gl.texSubImage2D(r,_,n,o,c,f,R,I,null);else if(ArrayBuffer.isView(s))this.gl.texSubImage2D(r,_,n,o,c,f,R,I,s,j);else if(s instanceof HV){let Y=Yn(this.gl);Y.bindBuffer(35052,s),Y.texSubImage2D(r,_,n,o,c,f,R,I,j),Y.bindBuffer(35052,null)}else fr(this.gl)?Yn(this.gl).texSubImage2D(r,_,n,o,c,f,R,I,s):this.gl.texSubImage2D(r,_,n,o,R,I,s)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,this.handle),t}unbind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,null),t}_getDataType(t){let{data:r,compressed:i=!1}=t;return i?{data:r,dataType:\"compressed\"}:r===null?{data:r,dataType:\"null\"}:ArrayBuffer.isView(r)?{data:r,dataType:\"typed-array\"}:r instanceof Fr?{data:r.handle,dataType:\"buffer\"}:r instanceof HV?{data:r,dataType:\"buffer\"}:{data:r,dataType:\"browser-object\"}}_deduceParameters(t){let{format:r,data:i}=t,{width:s,height:n,dataFormat:o,type:c,compressed:f}=t,_=dE[r];return o=o||_&&_.dataFormat,c=c||_&&_.types[0],f=f||_&&_.compressed,{width:s,height:n}=this._deduceImageSize(i,s,n),{dataFormat:o,type:c,compressed:f,width:s,height:n,format:r,data:i}}_deduceImageSize(t,r,i){let s;return typeof ImageData<\"u\"&&t instanceof ImageData?s={width:t.width,height:t.height}:typeof HTMLImageElement<\"u\"&&t instanceof HTMLImageElement?s={width:t.naturalWidth,height:t.naturalHeight}:typeof HTMLCanvasElement<\"u\"&&t instanceof HTMLCanvasElement?s={width:t.width,height:t.height}:typeof ImageBitmap<\"u\"&&t instanceof ImageBitmap?s={width:t.width,height:t.height}:typeof HTMLVideoElement<\"u\"&&t instanceof HTMLVideoElement?s={width:t.videoWidth,height:t.videoHeight}:t?s={width:r,height:i}:s={width:r>=0?r:1,height:i>=0?i:1},ye(s,\"Could not deduced texture size\"),ye(r===void 0||s.width===r,\"Deduced texture width does not match supplied width\"),ye(i===void 0||s.height===i,\"Deduced texture height does not match supplied height\"),s}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory(\"Texture\")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);let r=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),r}}_setParameter(t,r){switch(this.gl.bindTexture(this.target,this.handle),r=this._getNPOTParam(t,r),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,r);break;case 4096:case 4097:ye(!1);break;default:this.gl.texParameteri(this.target,t,r);break}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return fr(this.gl)||!this.width||!this.height?!1:!_R(this.width)||!_R(this.height)}_updateForNPOT(t){t[this.gl.TEXTURE_MIN_FILTER]===void 0&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),t[this.gl.TEXTURE_WRAP_S]===void 0&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),t[this.gl.TEXTURE_WRAP_T]===void 0&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,r){if(this._isNPOT())switch(t){case 10241:Jnt.indexOf(r)===-1&&(r=9729);break;case 10242:case 10243:r!==33071&&(r=33071);break;default:break}return r}};var tst=\"\";function qV(e,t){return ye(typeof e==\"string\"),e=tst+e,new Promise((r,i)=>{try{let s=new Image;s.onload=()=>r(s),s.onerror=()=>i(new Error(\"Could not load image \".concat(e,\".\"))),s.crossOrigin=t&&t.crossOrigin||\"anonymous\",s.src=e}catch(s){i(s)}})}var pi=class extends tl{get[Symbol.toStringTag](){return\"Texture2D\"}static isSupported(t,r){return tl.isSupported(t,r)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),(r instanceof Promise||typeof r==\"string\")&&(r={data:r}),typeof r.data==\"string\"&&(r=Object.assign({},r,{data:qV(r.data)})),super(t,Object.assign({},r,{target:3553})),this.initialize(r),Object.seal(this)}};var yR=[34069,34070,34071,34072,34073,34074],Y0=class extends tl{get[Symbol.toStringTag](){return\"TextureCube\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),super(t,Object.assign({},r,{target:34067})),this.initialize(r),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{mipmaps:r=!0,parameters:i={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,r&&this.generateMipmap(t),this.setParameters(i)}),this}subImage(t){let{face:r,data:i,x:s=0,y:n=0,mipmapLevel:o=0}=t;return this._subImage({target:r,data:i,x:s,y:n,mipmapLevel:o})}async setCubeMapImageData(t){let{width:r,height:i,pixels:s,data:n,border:o=0,format:c=6408,type:f=5121}=t,{gl:_}=this,w=s||n,I=await Promise.all(yR.map(R=>{let N=w[R];return Promise.all(Array.isArray(N)?N:[N])}));this.bind(),yR.forEach((R,N)=>{I[N].length>1&&this.opts.mipmaps!==!1&&He.warn(\"\".concat(this.id,\" has mipmap and multiple LODs.\"))(),I[N].forEach((j,Q)=>{r&&i?_.texImage2D(R,Q,c,r,i,o,c,f,j):_.texImage2D(R,Q,c,c,f,j)})}),this.unbind()}setImageDataForFace(t){let{face:r,width:i,height:s,pixels:n,data:o,border:c=0,format:f=6408,type:_=5121}=t,{gl:w}=this,I=n||o;return this.bind(),I instanceof Promise?I.then(R=>this.setImageDataForFace(Object.assign({},t,{face:r,data:R,pixels:R}))):this.width||this.height?w.texImage2D(r,0,f,i,s,c,f,_,I):w.texImage2D(r,0,f,f,_,I),this}};Y0.FACES=yR;var Ey=class extends tl{get[Symbol.toStringTag](){return\"Texture3D\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}),super(t,r),this.initialize(r),Object.seal(this)}setImageData(t){let{level:r=0,dataFormat:i=6408,width:s,height:n,depth:o=1,border:c=0,format:f,type:_=5121,offset:w=0,data:I,parameters:R={}}=t;if(this._trackDeallocatedMemory(\"Texture\"),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,R,()=>{ArrayBuffer.isView(I)&&this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,I),I instanceof Fr&&(this.gl.bindBuffer(35052,I.handle),this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,w))}),I&&I.byteLength)this._trackAllocatedMemory(I.byteLength,\"Texture\");else{let N=pE[this.dataFormat]||4,j=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*N*j,\"Texture\")}return this.loaded=!0,this}};var Q0=\"EXT_color_buffer_float\",vR={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Q0,bpp:2},33327:{gl2:Q0,bpp:4},34842:{gl2:Q0,bpp:8},33326:{gl2:Q0,bpp:4},33328:{gl2:Q0,bpp:8},34836:{gl2:Q0,bpp:16},35898:{gl2:Q0,bpp:4}};function est(e,t,r){let i=r[t];if(!i)return!1;let s=fr(e)&&i.gl2||i.gl1;return typeof s==\"string\"?e.getExtension(s):s}var el=class extends Js{get[Symbol.toStringTag](){return\"Renderbuffer\"}static isSupported(t){let{format:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:null};return!r||est(t,r,vR)}static getSamplesForFormat(t,r){let{format:i}=r;return t.getInternalformatParameter(36161,i,32937)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.initialize(r),Object.seal(this)}initialize(t){let{format:r,width:i=1,height:s=1,samples:n=0}=t;return ye(r,\"Needs format\"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),n!==0&&fr(this.gl)?this.gl.renderbufferStorageMultisample(36161,n,r,i,s):this.gl.renderbufferStorage(36161,r,i,s),this.format=r,this.width=i,this.height=s,this.samples=n,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*vR[this.format].bpp),this}resize(t){let{width:r,height:i}=t;return r!==this.width||i!==this.height?this.initialize({width:r,height:i,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}};var rst=256,ist=1024,nst=16384,ZV=6144,YV=6145,QV=6146,$V=34041,XV=\"clear: bad arguments\";function Hf(e){let{framebuffer:t=null,color:r=null,depth:i=null,stencil:s=null}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={};t&&(n.framebuffer=t);let o=0;r&&(o|=nst,r!==!0&&(n.clearColor=r)),i&&(o|=rst,i!==!0&&(n.clearDepth=i)),s&&(o|=ist,i!==!0&&(n.clearStencil=i)),ye(o!==0,XV),Mn(e,n,()=>{e.clear(o)})}function xR(e){let{framebuffer:t=null,buffer:r=ZV,drawBuffer:i=0,value:s=[0,0,0,0]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(e),Mn(e,{framebuffer:t},()=>{switch(r){case ZV:switch(s.constructor){case Int32Array:e.clearBufferiv(r,i,s);break;case Uint32Array:e.clearBufferuiv(r,i,s);break;case Float32Array:default:e.clearBufferfv(r,i,s)}break;case YV:e.clearBufferfv(YV,0,[s]);break;case QV:e.clearBufferiv(QV,0,[s]);break;case $V:let[n,o]=s;e.clearBufferfi($V,0,n,o);break;default:ye(!1,XV)}})}function KV(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ye(!1),0}}function Dh(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{sourceX:r=0,sourceY:i=0,sourceFormat:s=6408}=t,{sourceAttachment:n=36064,target:o=null,sourceWidth:c,sourceHeight:f,sourceType:_}=t,{framebuffer:w,deleteFramebuffer:I}=JV(e);ye(w);let{gl:R,handle:N,attachments:j}=w;c=c||w.width,f=f||w.height,n===36064&&N===null&&(n=1028),ye(j[n]),_=_||j[n].type,o=sst(o,_,s,c,f),_=_||pb(o);let Q=R.bindFramebuffer(36160,N);return R.readPixels(r,i,c,f,s,_,o),R.bindFramebuffer(36160,Q||null),I&&w.delete(),o}function mE(e){let{sourceAttachment:t=36064,targetMaxHeight:r=Number.MAX_SAFE_INTEGER}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=Dh(e,{sourceAttachment:t}),{width:s,height:n}=e;for(;n>r;)({data:i,width:s,height:n}=UV({data:i,width:s,height:n}));NV({data:i,width:s,height:n});let o=document.createElement(\"canvas\");o.width=s,o.height=n;let c=o.getContext(\"2d\"),f=c.createImageData(s,n);return f.data.set(i),c.putImageData(f,0,0),o.toDataURL()}function gE(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{sourceX:i=0,sourceY:s=0,targetMipmaplevel:n=0,targetInternalFormat:o=6408}=r,{targetX:c,targetY:f,targetZ:_,width:w,height:I}=r,{framebuffer:R,deleteFramebuffer:N}=JV(e);ye(R);let{gl:j,handle:Q}=R,et=typeof c<\"u\"||typeof f<\"u\"||typeof _<\"u\";c=c||0,f=f||0,_=_||0;let Y=j.bindFramebuffer(36160,Q);ye(t);let K=null;if(t instanceof tl&&(K=t,w=Number.isFinite(w)?w:K.width,I=Number.isFinite(I)?I:K.height,K.bind(0),t=K.target),!et)j.copyTexImage2D(t,n,o,i,s,w,I,0);else switch(t){case 3553:case 34067:j.copyTexSubImage2D(t,n,c,f,i,s,w,I);break;case 35866:case 32879:Yn(j).copyTexSubImage3D(t,n,c,f,_,i,s,w,I);break;default:}return K&&K.unbind(),j.bindFramebuffer(36160,Y||null),N&&R.delete(),K}function JV(e){return e instanceof yi?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:tj(e),deleteFramebuffer:!0}}function sst(e,t,r,i,s){if(e)return e;t=t||5121;let n=HA(t,{clamped:!1}),o=KV(r);return new n(i*s*o)}var Ii={WEBGL2:\"WEBGL2\",VERTEX_ARRAY_OBJECT:\"VERTEX_ARRAY_OBJECT\",TIMER_QUERY:\"TIMER_QUERY\",INSTANCED_RENDERING:\"INSTANCED_RENDERING\",MULTIPLE_RENDER_TARGETS:\"MULTIPLE_RENDER_TARGETS\",ELEMENT_INDEX_UINT32:\"ELEMENT_INDEX_UINT32\",BLEND_EQUATION_MINMAX:\"BLEND_EQUATION_MINMAX\",FLOAT_BLEND:\"FLOAT_BLEND\",COLOR_ENCODING_SRGB:\"COLOR_ENCODING_SRGB\",TEXTURE_DEPTH:\"TEXTURE_DEPTH\",TEXTURE_FLOAT:\"TEXTURE_FLOAT\",TEXTURE_HALF_FLOAT:\"TEXTURE_HALF_FLOAT\",TEXTURE_FILTER_LINEAR_FLOAT:\"TEXTURE_FILTER_LINEAR_FLOAT\",TEXTURE_FILTER_LINEAR_HALF_FLOAT:\"TEXTURE_FILTER_LINEAR_HALF_FLOAT\",TEXTURE_FILTER_ANISOTROPIC:\"TEXTURE_FILTER_ANISOTROPIC\",COLOR_ATTACHMENT_RGBA32F:\"COLOR_ATTACHMENT_RGBA32F\",COLOR_ATTACHMENT_FLOAT:\"COLOR_ATTACHMENT_FLOAT\",COLOR_ATTACHMENT_HALF_FLOAT:\"COLOR_ATTACHMENT_HALF_FLOAT\",GLSL_FRAG_DATA:\"GLSL_FRAG_DATA\",GLSL_FRAG_DEPTH:\"GLSL_FRAG_DEPTH\",GLSL_DERIVATIVES:\"GLSL_DERIVATIVES\",GLSL_TEXTURE_LOD:\"GLSL_TEXTURE_LOD\"};function ost(e){let t=new pi(e,{format:6408,type:5126,dataFormat:6408}),r=new yi(e,{id:\"test-framebuffer\",check:!1,attachments:{36064:t}}),i=r.getStatus();return t.delete(),r.delete(),i===36053}var bR={[Ii.WEBGL2]:[!1,!0],[Ii.VERTEX_ARRAY_OBJECT]:[\"OES_vertex_array_object\",!0],[Ii.TIMER_QUERY]:[\"EXT_disjoint_timer_query\",\"EXT_disjoint_timer_query_webgl2\"],[Ii.INSTANCED_RENDERING]:[\"ANGLE_instanced_arrays\",!0],[Ii.MULTIPLE_RENDER_TARGETS]:[\"WEBGL_draw_buffers\",!0],[Ii.ELEMENT_INDEX_UINT32]:[\"OES_element_index_uint\",!0],[Ii.BLEND_EQUATION_MINMAX]:[\"EXT_blend_minmax\",!0],[Ii.FLOAT_BLEND]:[\"EXT_float_blend\"],[Ii.COLOR_ENCODING_SRGB]:[\"EXT_sRGB\",!0],[Ii.TEXTURE_DEPTH]:[\"WEBGL_depth_texture\",!0],[Ii.TEXTURE_FLOAT]:[\"OES_texture_float\",!0],[Ii.TEXTURE_HALF_FLOAT]:[\"OES_texture_half_float\",!0],[Ii.TEXTURE_FILTER_LINEAR_FLOAT]:[\"OES_texture_float_linear\"],[Ii.TEXTURE_FILTER_LINEAR_HALF_FLOAT]:[\"OES_texture_half_float_linear\"],[Ii.TEXTURE_FILTER_ANISOTROPIC]:[\"EXT_texture_filter_anisotropic\"],[Ii.COLOR_ATTACHMENT_RGBA32F]:[ost,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_FLOAT]:[!1,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_HALF_FLOAT]:[\"EXT_color_buffer_half_float\"],[Ii.GLSL_FRAG_DATA]:[\"WEBGL_draw_buffers\",!0],[Ii.GLSL_FRAG_DEPTH]:[\"EXT_frag_depth\",!0],[Ii.GLSL_DERIVATIVES]:[\"OES_standard_derivatives\",!0],[Ii.GLSL_TEXTURE_LOD]:[\"EXT_shader_texture_lod\",!0]};var ast=2;function $0(e,t){return Oh(e,t)}function Oh(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>ej(e,r))}function _E(e){e.luma=e.luma||{},e.luma.caps=e.luma.caps||{};for(let t in bR)e.luma.caps[t]===void 0&&(e.luma.caps[t]=ej(e,t));return e.luma.caps}function ej(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},e.luma.caps[t]===void 0&&(e.luma.caps[t]=lst(e,t)),e.luma.caps[t]||He.log(ast,\"Feature: \".concat(t,\" not supported\"))(),e.luma.caps[t]}function lst(e,t){let r=bR[t];ye(r,t);let i,s=fr(e)&&r[1]||r[0];if(typeof s==\"function\")i=s(e);else if(Array.isArray(s)){i=!0;for(let n of s)i=i&&!!e.getExtension(n)}else typeof s==\"string\"?i=!!e.getExtension(s):typeof s==\"boolean\"?i=s:ye(!1);return i}var rj=\"Multiple render targets not supported\",yi=class e extends Js{get[Symbol.toStringTag](){return\"Framebuffer\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{colorBufferFloat:i,colorBufferHalfFloat:s}=r,n=!0;return i&&(n=!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"WEBGL_color_buffer_float\")||t.getExtension(\"OES_texture_float\"))),s&&(n=n&&!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"EXT_color_buffer_half_float\"))),n}static getDefaultFramebuffer(t){return t.luma=t.luma||{},t.luma.defaultFramebuffer=t.luma.defaultFramebuffer||new e(t,{id:\"default-framebuffer\",handle:null,attachments:{}}),t.luma.defaultFramebuffer}get MAX_COLOR_ATTACHMENTS(){let t=Yn(this.gl);return t.getParameter(t.MAX_COLOR_ATTACHMENTS)}get MAX_DRAW_BUFFERS(){let t=Yn(this.gl);return t.getParameter(t.MAX_DRAW_BUFFERS)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.width=null,this.height=null,this.attachments={},this.readBuffer=36064,this.drawBuffers=[36064],this.ownResources=[],this.initialize(r),Object.seal(this)}get color(){return this.attachments[36064]||null}get texture(){return this.attachments[36064]||null}get depth(){return this.attachments[36096]||this.attachments[33306]||null}get stencil(){return this.attachments[36128]||this.attachments[33306]||null}initialize(t){let{width:r=1,height:i=1,attachments:s=null,color:n=!0,depth:o=!0,stencil:c=!1,check:f=!0,readBuffer:_=void 0,drawBuffers:w=void 0}=t;if(ye(r>=0&&i>=0,\"Width and height need to be integers\"),this.width=r,this.height=i,s)for(let I in s){let R=s[I];(Array.isArray(R)?R[0]:R).resize({width:r,height:i})}else s=this._createDefaultAttachments(n,o,c,r,i);this.update({clearAttachments:!0,attachments:s,readBuffer:_,drawBuffers:w}),s&&f&&this.checkStatus()}delete(){for(let t of this.ownResources)t.delete();return super.delete(),this}update(t){let{attachments:r={},readBuffer:i,drawBuffers:s,clearAttachments:n=!1,resizeAttachments:o=!0}=t;this.attach(r,{clearAttachments:n,resizeAttachments:o});let{gl:c}=this,f=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),s&&this._setDrawBuffers(s),c.bindFramebuffer(36160,f||null),this}resize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{width:r,height:i}=t;if(this.handle===null)return ye(r===void 0&&i===void 0),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;r===void 0&&(r=this.gl.drawingBufferWidth),i===void 0&&(i=this.gl.drawingBufferHeight),r!==this.width&&i!==this.height&&He.log(2,\"Resizing framebuffer \".concat(this.id,\" to \").concat(r,\"x\").concat(i))();for(let s in this.attachments)this.attachments[s].resize({width:r,height:i});return this.width=r,this.height=i,this}attach(t){let{clearAttachments:r=!1,resizeAttachments:i=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s={};r&&Object.keys(this.attachments).forEach(o=>{s[o]=null}),Object.assign(s,t);let n=this.gl.bindFramebuffer(36160,this.handle);for(let o in s){ye(o!==void 0,\"Misspelled framebuffer binding point?\");let c=Number(o),f=s[c],_=f;if(!_)this._unattach(c);else if(_ instanceof el)this._attachRenderbuffer({attachment:c,renderbuffer:_});else if(Array.isArray(f)){let[w,I=0,R=0]=f;_=w,this._attachTexture({attachment:c,texture:w,layer:I,level:R})}else this._attachTexture({attachment:c,texture:_,layer:0,level:0});i&&_&&_.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,n||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){let{gl:t}=this,r=this.getStatus();if(r!==36053)throw new Error(ust(r));return this}getStatus(){let{gl:t}=this,r=t.bindFramebuffer(36160,this.handle),i=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,r||null),i}clear(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:r,depth:i,stencil:s,drawBuffers:n=[]}=t,o=this.gl.bindFramebuffer(36160,this.handle);return(r||i||s)&&Hf(this.gl,{color:r,depth:i,stencil:s}),n.forEach((c,f)=>{xR(this.gl,{drawBuffer:f,value:c})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)\")(),null}readPixelsToBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)\")(),null}copyToDataUrl(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)\")(),null}copyToImage(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)\")(),null}copyToTexture(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}blit(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)\")(),null}invalidate(t){let{attachments:r=[],x:i=0,y:s=0,width:n,height:o}=t,c=Yn(this.gl),f=c.bindFramebuffer(36008,this.handle);return i===0&&s===0&&n===void 0&&o===void 0?c.invalidateFramebuffer(36008,r):c.invalidateFramebuffer(36008,r,i,s,n,o),c.bindFramebuffer(36008,f),this}getAttachmentParameter(t,r,i){let s=this._getAttachmentParameterFallback(r);return s===null&&(this.gl.bindFramebuffer(36160,this.handle),s=this.gl.getFramebufferAttachmentParameter(36160,t,r),this.gl.bindFramebuffer(36160,null)),i&&s>1e3&&(s=Ou(this.gl,s)),s}getAttachmentParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:36064,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],s={};for(let n of i){let o=r?Ou(this.gl,n):n;s[o]=this.getAttachmentParameter(t,n,r)}return s}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=Object.keys(this.attachments),i={};for(let s of r){let n=Number(s),o=t?Ou(this.gl,n):n;i[o]=this.getAttachmentParameters(n,t)}return i}show(){return typeof window<\"u\"&&window.open(mE(this),\"luma-debug-texture\"),this}log(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\";if(t>He.level||typeof window>\"u\")return this;r=r||\"Framebuffer \".concat(this.id);let i=mE(this,{targetMaxHeight:100});return He.image({logLevel:t,message:r,image:i},r)(),this}bind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,this.handle),this}unbind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,r,i,s,n){let o=null;return t&&(o=o||{},o[36064]=new pi(this.gl,{id:\"\".concat(this.id,\"-color0\"),pixels:null,format:6408,type:5121,width:s,height:n,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),r&&i?(o=o||{},o[33306]=new el(this.gl,{id:\"\".concat(this.id,\"-depth-stencil\"),format:35056,width:s,height:111}),this.ownResources.push(o[33306])):r?(o=o||{},o[36096]=new el(this.gl,{id:\"\".concat(this.id,\"-depth\"),format:33189,width:s,height:n}),this.ownResources.push(o[36096])):i&&ye(!1),o}_unattach(t){let r=this.attachments[t];r&&(r instanceof el?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer(t){let{attachment:r=36064,renderbuffer:i}=t,{gl:s}=this;s.framebufferRenderbuffer(36160,r,36161,i.handle),this.attachments[r]=i}_attachTexture(t){let{attachment:r=36064,texture:i,layer:s,level:n}=t,{gl:o}=this;switch(o.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:Yn(o).framebufferTextureLayer(36160,r,i.target,n,s);break;case 34067:let f=cst(s);o.framebufferTexture2D(36160,r,f,i.handle,n);break;case 3553:o.framebufferTexture2D(36160,r,3553,i.handle,n);break;default:ye(!1,\"Illegal texture type\")}o.bindTexture(i.target,null),this.attachments[r]=i}_setReadBuffer(t){let r=sR(this.gl);r?r.readBuffer(t):ye(t===36064||t===1029,rj),this.readBuffer=t}_setDrawBuffers(t){let{gl:r}=this,i=Yn(r);if(i)i.drawBuffers(t);else{let s=r.getExtension(\"WEBGL_draw_buffers\");s?s.drawBuffersWEBGL(t):ye(t.length===1&&(t[0]===36064||t[0]===1029),rj)}this.drawBuffers=t}_getAttachmentParameterFallback(t){let r=_E(this.gl);switch(t){case 36052:return r.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return r.WEBGL2?null:8;case 33297:return r.WEBGL2?null:5125;case 33296:return!r.WEBGL2&&!r.EXT_sRGB?9729:null;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}};function cst(e){return e<34069?e+34069:e}function ust(e){return(yi.STATUS||{})[e]||\"Framebuffer error \".concat(e)}var hst=[36049,36048,33296,33298,33299,33300,33301,33302,33303];yi.ATTACHMENT_PARAMETERS=hst;function yE(e,t){ye(e instanceof pi||e instanceof Y0||e instanceof Ey);let r=e.constructor,{gl:i,width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w}=e,I=Object.assign({width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w},t);return new r(i,I)}function tj(e,t){let{gl:r,width:i,height:s,id:n}=e;return new yi(r,Object.assign({},t,{id:\"framebuffer-for-\".concat(n),width:i,height:s,attachments:{36064:e}}))}function qA(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"unnamed\",r=/#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/,i=e.match(r);return i?i[1]:t}function wR(e){switch(e){case 35632:return\"fragment\";case 35633:return\"vertex\";default:return\"unknown type\"}}function SR(e,t,r,i){let s=e.split(/\\r?\\n/),n={},o={},c=i||qA(t)||\"(unnamed)\",f=\"\".concat(wR(r),\" shader \").concat(c);for(let w=0;w1&&arguments[1]!==void 0?arguments[1]:1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\": \",i=e.split(/\\r?\\n/),s=String(i.length+t-1).length;return i.map((n,o)=>{let c=String(o+t),f=c.length;return nj(c,s-f)+r+n})}function nj(e,t){let r=\"\";for(let i=0;i=2&&r[0]===\"#version\"){let i=parseInt(r[1],10);Number.isFinite(i)&&(t=i)}return t}var dst=\"Shader: GLSL source code must be a JavaScript string\",vE=class e extends Js{get[Symbol.toStringTag](){return\"Shader\"}static getTypeName(t){switch(t){case 35633:return\"vertex-shader\";case 35632:return\"fragment-shader\";default:return ye(!1),\"unknown\"}}constructor(t,r){tp(t),ye(typeof r.source==\"string\",dst);let i=qA(r.source,null)||r.id||ta(\"unnamed \".concat(e.getTypeName(r.shaderType)));super(t,{id:i}),this.shaderType=r.shaderType,this.source=r.source,this.initialize(r)}initialize(t){let{source:r}=t,i=qA(r,null);i&&(this.id=ta(i)),this._compile(r)}getParameter(t){return this.gl.getShaderParameter(this.handle,t)}toString(){return\"\".concat(e.getTypeName(this.shaderType),\":\").concat(this.id)}getName(){return qA(this.source)||\"unnamed-shader\"}getSource(){return this.gl.getShaderSource(this.handle)}getTranslatedSource(){let t=this.gl.getExtension(\"WEBGL_debug_shaders\");return t?t.getTranslatedShaderSource(this.handle):\"No translated source available. WEBGL_debug_shaders not implemented\"}_compile(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.source;if(t.startsWith(\"#version \")||(t=`#version 100\n`.concat(t)),this.source=t,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){let i=this.gl.getShaderInfoLog(this.handle),{shaderName:s,errors:n,warnings:o}=SR(i,this.source,this.shaderType,this.id);throw He.error(\"GLSL compilation errors in \".concat(s,`\n`).concat(n))(),He.warn(\"GLSL compilation warnings in \".concat(s,`\n`).concat(o))(),new Error(\"GLSL compilation errors in \".concat(s))}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}},X0=class extends vE{get[Symbol.toStringTag](){return\"VertexShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}},K0=class extends vE{get[Symbol.toStringTag](){return\"FragmentShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}};var pst={5126:Qn.bind(null,\"uniform1fv\",$c,1,rl),35664:Qn.bind(null,\"uniform2fv\",$c,2,rl),35665:Qn.bind(null,\"uniform3fv\",$c,3,rl),35666:Qn.bind(null,\"uniform4fv\",$c,4,rl),5124:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35667:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35668:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35669:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35670:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35671:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35672:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35673:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35674:Qn.bind(null,\"uniformMatrix2fv\",$c,4,ep),35675:Qn.bind(null,\"uniformMatrix3fv\",$c,9,ep),35676:Qn.bind(null,\"uniformMatrix4fv\",$c,16,ep),35678:_a,35680:_a,5125:Qn.bind(null,\"uniform1uiv\",xE,1,rl),36294:Qn.bind(null,\"uniform2uiv\",xE,2,rl),36295:Qn.bind(null,\"uniform3uiv\",xE,3,rl),36296:Qn.bind(null,\"uniform4uiv\",xE,4,rl),35685:Qn.bind(null,\"uniformMatrix2x3fv\",$c,6,ep),35686:Qn.bind(null,\"uniformMatrix2x4fv\",$c,8,ep),35687:Qn.bind(null,\"uniformMatrix3x2fv\",$c,6,ep),35688:Qn.bind(null,\"uniformMatrix3x4fv\",$c,12,ep),35689:Qn.bind(null,\"uniformMatrix4x2fv\",$c,8,ep),35690:Qn.bind(null,\"uniformMatrix4x3fv\",$c,12,ep),35678:_a,35680:_a,35679:_a,35682:_a,36289:_a,36292:_a,36293:_a,36298:_a,36299:_a,36300:_a,36303:_a,36306:_a,36307:_a,36308:_a,36311:_a},Ast={},mst={},gst={},sj=[0];function TR(e,t,r,i){t===1&&typeof e==\"boolean\"&&(e=e?1:0),Number.isFinite(e)&&(sj[0]=e,e=sj);let s=e.length;if(s%t&&He.warn(\"Uniform size should be multiples of \".concat(t),e)(),e instanceof r)return e;let n=i[s];n||(n=new r(s),i[s]=n);for(let o=0;o{let s=e!==i;return s&&(t.uniform1i(r,i),e=i),s}}function Qn(e,t,r,i){let s=null,n=null;return(o,c,f)=>{let _=t(f,r),w=_.length,I=!1;if(s===null)s=new Float32Array(w),n=w,I=!0;else{ye(n===w,\"Uniform length cannot change.\");for(let R=0;R=0&&this._addAttribute(f,n,o,c)}this.attributeInfos.sort((s,n)=>s.location-n.location)}_readVaryingsFromProgram(t){let{gl:r}=t;if(!fr(r))return;let i=r.getProgramParameter(t.handle,35971);for(let s=0;ss.location-n.location)}_addAttribute(t,r,i,s){let{type:n,components:o}=PR(i),c={type:n,size:s*o};this._inferProperties(t,r,c);let f={location:t,name:r,accessor:new Pl(c)};this.attributeInfos.push(f),this.attributeInfosByLocation[t]=f,this.attributeInfosByName[f.name]=f}_inferProperties(t,r,i){/instance/i.test(r)&&(i.divisor=1)}_addVarying(t,r,i,s){let{type:n,components:o}=PR(i),c=new Pl({type:n,size:s*o}),f={location:t,name:r,accessor:c};this.varyingInfos.push(f),this.varyingInfosByName[f.name]=f}};var hj=4,$st=35981,Xst=[\"setVertexArray\",\"setAttributes\",\"setBuffers\",\"unsetBuffers\",\"use\",\"getUniformCount\",\"getUniformInfo\",\"getUniformLocation\",\"getUniformValue\",\"getVarying\",\"getFragDataLocation\",\"getAttachedShaders\",\"getAttributeCount\",\"getAttributeLocation\",\"getAttributeInfo\"],rp=class extends Js{get[Symbol.toStringTag](){return\"Program\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Program\",\"v6.0\",Xst),this._isCached=!1,this.initialize(r),Object.seal(this),this._setId(r.id)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{hash:r,vs:i,fs:s,varyings:n,bufferMode:o=$st}=t;return this.hash=r||\"\",this.vs=typeof i==\"string\"?new X0(this.gl,{id:\"\".concat(t.id,\"-vs\"),source:i}):i,this.fs=typeof s==\"string\"?new K0(this.gl,{id:\"\".concat(t.id,\"-fs\"),source:s}):s,ye(this.vs instanceof X0),ye(this.fs instanceof K0),this.uniforms={},this._textureUniforms={},n&&n.length>0&&(Yn(this.gl),this.varyings=n,this.gl2.transformFeedbackVaryings(this.handle,n,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new _b(this),this.setProps(t)}delete(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this._isCached?this:super.delete(t)}setProps(t){return\"uniforms\"in t&&this.setUniforms(t.uniforms),this}draw(t){let{logPriority:r,drawMode:i=4,vertexCount:s,offset:n=0,start:o,end:c,isIndexed:f=!1,indexType:_=5123,instanceCount:w=0,isInstanced:I=w>0,vertexArray:R=null,transformFeedback:N,framebuffer:j,parameters:Q={},uniforms:et,samplers:Y}=t;if((et||Y)&&(He.deprecated(\"Program.draw({uniforms})\",\"Program.setUniforms(uniforms)\")(),this.setUniforms(et||{})),He.priority>=r){let K=j?j.id:\"default\",J=\"mode=\".concat(Ou(this.gl,i),\" verts=\").concat(s,\" \")+\"instances=\".concat(w,\" indexType=\").concat(Ou(this.gl,_),\" \")+\"isInstanced=\".concat(I,\" isIndexed=\").concat(f,\" \")+\"Framebuffer=\".concat(K);He.log(r,J)()}return ye(R),this.gl.useProgram(this.handle),!this._areTexturesRenderable()||s===0||I&&w===0?!1:(R.bindForDraw(s,w,()=>{if(j!==void 0&&(Q=Object.assign({},Q,{framebuffer:j})),N){let K=uj(i);N.begin(K)}this._bindTextures(),Mn(this.gl,Q,()=>{f&&I?this.gl2.drawElementsInstanced(i,s,_,n,w):f&&fr(this.gl)&&!isNaN(o)&&!isNaN(c)?this.gl2.drawRangeElements(i,o,c,s,_,n):f?this.gl.drawElements(i,s,_,n):I?this.gl2.drawArraysInstanced(i,n,s,w):this.gl.drawArrays(i,n,s)}),N&&N.end()}),!0)}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};He.priority>=2&&aj(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(let r in t){let i=t[r],s=this._uniformSetters[r];if(s){let n=i,o=!1;if(n instanceof yi&&(n=n.texture),n instanceof tl)if(o=this.uniforms[r]!==i,o){s.textureIndex===void 0&&(s.textureIndex=this._textureIndexCounter++);let c=n,{textureIndex:f}=s;c.bind(f),n=f,this._textureUniforms[r]=c}else n=s.textureIndex;else this._textureUniforms[r]&&delete this._textureUniforms[r];(s(n)||o)&&lj(this.uniforms,r,i)}}return this}_areTexturesRenderable(){let t=!0;for(let r in this._textureUniforms){let i=this._textureUniforms[r];i.update(),t=t&&i.loaded}return t}_bindTextures(){for(let t in this._textureUniforms){let r=this._uniformSetters[t].textureIndex;this._textureUniforms[t].bind(r)}}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){let r=this.gl.getAttachedShaders(t),i={};for(let s of r)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new X0({handle:s});break;case 35632:i.fs=new K0({handle:s});break;default:}return i}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){let r=this._getName();this.id=ta(r)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,\"\"),t=t?\"\".concat(t,\"-program\"):\"program\",t}_compileAndLink(){let{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),He.time(hj,\"linkProgram for \".concat(this._getName()))(),t.linkProgram(this.handle),He.timeEnd(hj,\"linkProgram for \".concat(this._getName()))(),t.debug||He.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(\"Error linking: \".concat(t.getProgramInfoLog(this.handle)));if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(\"Error validating: \".concat(t.getProgramInfoLog(this.handle)))}}_readUniformLocationsFromLinkedProgram(){let{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let r=0;r1)for(let o=0;o1&&arguments[1]!==void 0?arguments[1]:[],i=fr(t),s=Oh(t,Ii.TIMER_QUERY),n=i||s;for(let o of r)switch(o){case\"queries\":n=n&&i;break;case\"timers\":n=n&&s;break;default:ye(!1)}return n}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(tot)}beginOcclusionQuery(){let{conservative:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.begin(t?not:iot)}beginTransformFeedbackQuery(){return this.begin(rot)}begin(t){return this._queryPending?this:(this.target=t,this.gl2.beginQuery(this.target,this.handle),this)}end(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}isResultAvailable(){if(!this._queryPending)return!1;let t=this.gl2.getQueryParameter(this.handle,Jst);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(eot)}getResult(){return this.gl2.getQueryParameter(this.handle,Kst)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;let r=0;return this._pollingPromise=new Promise((i,s)=>{let n=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):r++>t?(s(\"Timed out\"),this._pollingPromise=null):requestAnimationFrame(n)};requestAnimationFrame(n)}),this._pollingPromise}_createHandle(){return e.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}};var ip=class extends Js{get[Symbol.toStringTag](){return\"TransformFeedback\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),super(t,r),this.initialize(r),this.stubRemovedMethods(\"TransformFeedback\",\"v6.0\",[\"pause\",\"resume\"]),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Wf(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"bindOnUse\"in t&&(t=t.bindOnUse),\"buffers\"in t&&this.setBuffers(t.buffers)}setBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.bind(()=>{for(let r in t)this.setBuffer(r,t[r])}),this}setBuffer(t,r){let i=this._getVaryingIndex(t),{buffer:s,byteSize:n,byteOffset:o}=this._getBufferParams(r);return i<0?(this.unused[t]=s,He.warn(\"\".concat(this.id,\" unused varying buffer \").concat(t))(),this):(this.buffers[i]=r,this.bindOnUse||this._bindBuffer(i,s,o,n),this)}begin(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let r,i,s;return t instanceof Fr?s=t:(s=t.buffer,i=t.byteSize,r=t.byteOffset),(r!==void 0||i!==void 0)&&(r=r||0,i=i||s.byteLength-r),{buffer:s,byteOffset:r,byteSize:i}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;let r=Number(t);return Number.isFinite(r)?r:-1}_bindBuffers(){if(this.bindOnUse)for(let t in this.buffers){let{buffer:r,byteSize:i,byteOffset:s}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,r,s,i)}}_unbindBuffers(){if(this.bindOnUse)for(let t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,n=r&&r.handle;return!n||s===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,i,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}};var TE=null;function sot(e){return(!TE||TE.byteLength1&&arguments[1]!==void 0?arguments[1]:{}).constantAttributeZero?fr(t)||vy()===\"Chrome\":!0}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new e(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return e.MAX_ATTRIBUTES=e.MAX_ATTRIBUTES||t.getParameter(34921),e.MAX_ATTRIBUTES}static setConstant(t,r,i){switch(i.constructor){case Float32Array:e._setConstantFloatArray(t,r,i);break;case Int32Array:e._setConstantIntArray(t,r,i);break;case Uint32Array:e._setConstantUintArray(t,r,i);break;default:ye(!1)}}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;super(t,Object.assign({},r,{id:i})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=r.isDefaultArray||!1,this.gl2=t,this.initialize(r),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return e.getMaxAttributes(this.gl)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.setProps(t)}setProps(t){return this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ye(!t||t.target===34963,oot),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,r,i){if(r.target===34963)return this.setElementBuffer(r,i);let{size:s,type:n,stride:o,offset:c,normalized:f,integer:_,divisor:w}=i,{gl:I,gl2:R}=this;return t=Number(t),this.bind(()=>{I.bindBuffer(34962,r.handle),_?(ye(fr(I)),R.vertexAttribIPointer(t,s,n,o,c)):I.vertexAttribPointer(t,s,n,f,o,c),I.enableVertexAttribArray(t),R.vertexAttribDivisor(t,w||0)}),this}enable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return!r&&t===0&&!e.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>r?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,r){let i=this._normalizeConstantArrayValue(r),s=i.byteLength*t,n=i.length*t,o=!this.buffer;if(this.buffer=this.buffer||new Fr(this.gl,s),o=o||this.buffer.reallocate(s),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){let c=fj(r.constructor,n);dj({target:c,source:i,start:0,count:n}),this.buffer.subData(c),this.bufferValue=r}return this.buffer}_normalizeConstantArrayValue(t){return Array.isArray(t)?new Float32Array(t):t}_compareConstantArrayValues(t,r){if(!t||!r||t.length!==r.length||t.constructor!==r.constructor)return!1;for(let i=0;i{switch(t){case 34373:return this.gl.getVertexAttribOffset(i,t);default:return this.gl.getVertexAttrib(i,t)}})}};var aot=\"VertexArray: attributes must be Buffers or constants (i.e. typed array)\",lot=/^(.+)__LOCATION_([0-9]+)$/,cot=[\"setBuffers\",\"setGeneric\",\"clearBindings\",\"setLocations\",\"setGenericValues\",\"setDivisor\",\"enable\",\"disable\"],Iy=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;this.id=i,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new tg(t),fE(this,\"VertexArray\",\"v6.0\",cot),this.initialize(r),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;let{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"attributes\"in t&&this.setAttributes(t.attributes),\"elements\"in t&&this.setElementBuffer(t.elements),\"bindOnUse\"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(let r in t){let i=t[r];this._setAttribute(r,i)}this.gl.bindBuffer(34962,null)}),this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.elements=t,this.elementsAccessor=r,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,r),this}setBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(r.target===34963)return this.setElementBuffer(r,i);let{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,r.accessor,i);return s>=0&&(this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.setBuffer(s,r,n)),this}setConstant(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,Object.assign({size:r.length},i));return s>=0&&(r=this.vertexArrayObject._normalizeConstantArrayValue(r),this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.enable(s,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Fr(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,r),s=i()}),s}_resolveLocationAndAccessor(t,r,i,s){let n={location:-1,accessor:null},{location:o,name:c}=this._getAttributeIndex(t);if(!Number.isFinite(o)||o<0)return this.unused[t]=r,He.once(3,()=>\"unused value \".concat(t,\" in \").concat(this.id))(),n;let f=this._getAttributeInfo(c||o);if(!f)return n;let _=this.accessors[o]||{},w=Pl.resolve(f.accessor,_,i,s),{size:I,type:R}=w;return ye(Number.isFinite(I)&&Number.isFinite(R)),{location:o,accessor:w}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){let r=Number(t);if(Number.isFinite(r))return{location:r};let i=lot.exec(t),s=i?i[1]:t,n=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(s)+n,name:s}:{location:-1}}_setAttribute(t,r){if(r instanceof Fr)this.setBuffer(t,r);else if(Array.isArray(r)&&r.length&&r[0]instanceof Fr){let i=r[0],s=r[1];this.setBuffer(t,i,s)}else if(ArrayBuffer.isView(r)||Array.isArray(r)){let i=r;this.setConstant(t,i)}else if(r.buffer instanceof Fr){let i=r;this.setBuffer(t,i.buffer,i)}else throw new Error(aot)}_setConstantAttributes(t,r){let i=Math.max(t|0,r|0),s=this.values[0];ArrayBuffer.isView(s)&&this._setConstantAttributeZero(s,i);for(let n=1;n0;if(t.isInstanced=t.isInstanced||o,i instanceof Fr){let c=i;if(o){let f=c.getVertexCount(s);t.instanceCount=Math.min(t.instanceCount,f)}else{let f=c.getVertexCount(s);t.vertexCount=Math.min(t.vertexCount,f)}}}setElements(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return He.deprecated(\"setElements\",\"setElementBuffer\")(),this.setElementBuffer(t,r)}};function uot(e,t){let{maxElts:r=16,size:i=1}=t,s=\"[\";for(let o=0;o0&&(s+=\",\".concat(o%i===0?\" \":\"\")),s+=eg(e[o],t);let n=e.length>r?\"...\":\"]\";return\"\".concat(s).concat(n)}function eg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=1e-16,{isInteger:i=!1}=t;if(Array.isArray(e)||ArrayBuffer.isView(e))return uot(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);let s=e.toPrecision(2);return s.indexOf(\".0\")===s.length-2?s.slice(0,-1):s}function ME(e){let{header:t=\"Uniforms\",program:r,uniforms:i,undefinedOnly:s=!1}=e;ye(r);let n=\".*_.*\",o=\".*Matrix\",c=r._uniformSetters,f={},_=Object.keys(c).sort(),w=0;for(let N of _)!N.match(n)&&!N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)f[N]||IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;let I=0,R={};if(!s)for(let N in i){let j=i[N];f[N]||(I++,R[N]={Type:\"NOT USED: \".concat(j),[t]:eg(j)})}return{table:f,count:w,unusedTable:R,unusedCount:I}}function IR(e){let{table:t,header:r,uniforms:i,uniformName:s,undefinedOnly:n}=e,o=i[s],c=hot(o);return!n||!c?(t[s]={[r]:c?eg(o):\"N/A\",\"Uniform Type\":c?o:\"NOT PROVIDED\"},!0):!1}function hot(e){return e!=null}function CR(e){let{vertexArray:t,header:r=\"Attributes\"}=e;if(!t.configuration)return{};let i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=pj(t,t.elements,null,r));let s=t.values;for(let n in s){let o=t._getAttributeInfo(n);if(o){let c=\"\".concat(n,\": \").concat(o.name),f=t.accessors[o.location];f&&(c=\"\".concat(n,\": \").concat(fot(o.name,f))),i[c]=pj(t,s[n],f,r)}}return i}function pj(e,t,r,i){let{gl:s}=e;if(!t)return{[i]:\"null\",\"Format \":\"N/A\"};let n=\"NOT PROVIDED\",o=1,c=0,f=0,_,w,I;if(r&&(n=r.type,o=r.size,n=String(n).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1),t instanceof Fr){let R=t,{data:N,changed:j}=R.getDebugData();w=j?\"*\":\"\",I=N,f=R.byteLength,c=f/N.BYTES_PER_ELEMENT/o;let Q;if(r){let et=r.divisor>0;Q=\"\".concat(et?\"I \":\"P \",\" \").concat(c,\" (x\").concat(o,\"=\").concat(f,\" bytes \").concat(Ou(s,n),\")\")}else _=!0,Q=\"\".concat(f,\" bytes\");return{[i]:\"\".concat(w).concat(eg(I,{size:o,isInteger:_})),\"Format \":Q}}return I=t,o=t.length,n=String(t.constructor.name).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1,{[i]:\"\".concat(eg(I,{size:o,isInteger:_}),\" (constant)\"),\"Format \":\"\".concat(o,\"x\").concat(n,\" (constant)\")}}function fot(e,t){let{type:r,size:i}=t,s=SE(r,i);return s?\"\".concat(e,\" (\").concat(s.name,\")\"):e}function LR(e){let t={},r=\"Accessors for \".concat(e.id);for(let i of e.attributeInfos)if(i){let s=Aj(i);t[\"in \".concat(s)]={[r]:JSON.stringify(i.accessor)}}for(let i of e.varyingInfos)if(i){let s=Aj(i);t[\"out \".concat(s)]={[r]:JSON.stringify(i.accessor)}}return t}function Aj(e){let{type:t,size:r}=e.accessor,i=SE(t,r);return i?\"\".concat(i.name,\" \").concat(e.name):e.name}var mj=Lo()&&typeof document<\"u\",pot=0,rg=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{onCreateContext:r=et=>Ty(et),onAddHTML:i=null,onInitialize:s=()=>{},onRender:n=()=>{},onFinalize:o=()=>{},onError:c,gl:f=null,glOptions:_={},debug:w=!1,createFramebuffer:I=!1,autoResizeViewport:R=!0,autoResizeDrawingBuffer:N=!0,stats:j=Du.get(\"animation-loop-\".concat(pot++))}=t,{useDevicePixels:Q=!0}=t;\"useDevicePixelRatio\"in t&&(He.deprecated(\"useDevicePixelRatio\",\"useDevicePixels\")(),Q=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:i,onInitialize:s,onRender:n,onFinalize:o,onError:c,gl:f,glOptions:_,debug:w,createFramebuffer:I},this.gl=f,this.needsRedraw=null,this.timeline=null,this.stats=j,this.cpuTime=this.stats.get(\"CPU Time\"),this.gpuTime=this.stats.get(\"GPU Time\"),this.frameRate=this.stats.get(\"Frame Rate\"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:R,autoResizeDrawingBuffer:N,useDevicePixels:Q}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return ye(typeof t==\"string\"),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return\"autoResizeViewport\"in t&&(this.autoResizeViewport=t.autoResizeViewport),\"autoResizeDrawingBuffer\"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),\"useDevicePixels\"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this._running)return this;this._running=!0;let r=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=J0.isSupported(this.gl,[\"timers\"])?new J0(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),i!==!1&&this._startLoop())});return this.props.onError&&r.catch(this.props.onError),this}redraw(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw(\"waitForRender\"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}async toDataURL(){return this.setNeedsRedraw(\"toDataURL\"),await this.waitForRender(),this.gl.canvas.toDataURL()}isContextLost(){return this.gl.isContextLost()}onCreateContext(){return this.props.onCreateContext(...arguments)}onInitialize(){return this.props.onInitialize(...arguments)}onRender(){return this.props.onRender(...arguments)}onFinalize(){return this.props.onFinalize(...arguments)}getHTMLControlValue(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=document.getElementById(t);return i?Number(i.value):r}setViewParameters(){return He.removed(\"AnimationLoop.setViewParameters\",\"AnimationLoop.setProps\")(),this}_startLoop(){let t=()=>{this._running&&(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=mj?new Promise((t,r)=>{if(mj&&document.readyState===\"complete\"){t(document);return}window.addEventListener(\"load\",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):mR(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):AR(t)}_renderFrame(){if(this.display){this.display._renderFrame(...arguments);return}this.onRender(...arguments)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){let{width:t,height:r,aspect:i}=this._getSizeAndAspect();(t!==this.animationProps.width||r!==this.animationProps.height)&&this.setNeedsRedraw(\"drawing buffer resized\"),i!==this.animationProps.aspect&&this.setNeedsRedraw(\"drawing buffer aspect changed\"),this.animationProps.width=t,this.animationProps.height=r,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){typeof t==\"object\"&&t!==null&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&typeof OffscreenCanvas<\"u\"&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?q0(this.props.gl,t):this.onCreateContext(t),!Jd(this.gl))throw new Error(\"AnimationLoop.onCreateContext - illegal context returned\");uE(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){let t=document.createElement(\"div\");document.body.appendChild(t),t.style.position=\"relative\";let r=document.createElement(\"div\");r.style.position=\"absolute\",r.style.left=\"10px\",r.style.bottom=\"10px\",r.style.width=\"300px\",r.style.background=\"white\",t.appendChild(this.gl.canvas),t.appendChild(r);let i=this.props.onAddHTML(r);i&&(r.innerHTML=i)}}_getSizeAndAspect(){let t=this.gl.drawingBufferWidth,r=this.gl.drawingBufferHeight,i=1,{canvas:s}=this.gl;return s&&s.clientHeight?i=s.clientWidth/s.clientHeight:t>0&&r>0&&(i=t/r),{width:t,height:r,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&dR(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new yi(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get(\"GPU Time\").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){let{canvas:t}=this.gl;t&&(t.addEventListener(\"mousemove\",this._onMousemove),t.addEventListener(\"mouseleave\",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}};var ig=\"vs\",yb=\"fs\";function to(e,t){if(!e)throw new Error(t||\"shadertools: assertion failed.\")}var kR={number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},array:{validate(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function _j(e){let t={};for(let r in e){let i=e[r],s=Aot(i);t[r]=s}return t}function Aot(e){let t=gj(e);return t===\"object\"?e?\"type\"in e?Object.assign({},e,kR[e.type]):\"value\"in e?(t=gj(e.value),Object.assign({type:t},e,kR[t])):{type:\"object\",value:e}:{type:\"object\",value:null}:Object.assign({type:t,value:e},kR[t])}function gj(e){return Array.isArray(e)||ArrayBuffer.isView(e)?\"array\":typeof e}var mot=\"vs\",got=\"fs\",Cy=class{constructor(t){let{name:r,vs:i,fs:s,dependencies:n=[],uniforms:o,getUniforms:c,deprecations:f=[],defines:_={},inject:w={},vertexShader:I,fragmentShader:R}=t;to(typeof r==\"string\"),this.name=r,this.vs=i||I,this.fs=s||R,this.getModuleUniforms=c,this.dependencies=n,this.deprecations=this._parseDeprecationDefinitions(f),this.defines=_,this.injections=_ot(w),o&&(this.uniforms=_j(o))}getModuleSource(t){let r;switch(t){case mot:r=this.vs||\"\";break;case got:r=this.fs||\"\";break;default:to(!1)}return\"#define MODULE_\".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,\"_\"),`\n`).concat(r,\"// END MODULE_\").concat(this.name,`\n\n`)}getUniforms(t,r){return this.getModuleUniforms?this.getModuleUniforms(t,r):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,r){this.deprecations.forEach(i=>{i.regex.test(t)&&(i.deprecated?r.deprecated(i.old,i.new)():r.removed(i.old,i.new)())})}_parseDeprecationDefinitions(t){return t.forEach(r=>{switch(r.type){case\"function\":r.regex=new RegExp(\"\\\\b\".concat(r.old,\"\\\\(\"));break;default:r.regex=new RegExp(\"\".concat(r.type,\" \").concat(r.old,\";\"))}}),t}_defaultGetUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},i=this.uniforms;for(let s in i){let n=i[s];s in t&&!n.private?(n.validate&&to(n.validate(t[s],n),\"\".concat(this.name,\": invalid \").concat(s)),r[s]=t[s]):r[s]=n.value}return r}};function _ot(e){let t={vs:{},fs:{}};for(let r in e){let i=e[r],s=r.slice(0,2);typeof i==\"string\"&&(i={order:0,injection:i}),t[s][r]=i}return t}function yj(e){return yot(xj(e))}function yot(e){let t={},r={};return vj({modules:e,level:0,moduleMap:t,moduleDepth:r}),Object.keys(r).sort((i,s)=>r[s]-r[i]).map(i=>t[i])}function vj(e){let{modules:t,level:r,moduleMap:i,moduleDepth:s}=e;if(r>=5)throw new Error(\"Possible loop in shader dependency graph\");for(let n of t)i[n.name]=n,(s[n.name]===void 0||s[n.name](r instanceof Cy||(to(typeof r!=\"string\",\"Shader module use by name is deprecated. Import shader module '\".concat(r,\"' and use it directly.\")),to(r.name,\"shader module has no name\"),r=new Cy(r),r.dependencies=xj(r.dependencies)),r))}function RR(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<\"u\"?window.navigator||{}:{},r=e.userAgent||t.userAgent||\"\",i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s}var vot=7936,xot=7937,bot=7938,wot=35724,OR={GLSL_FRAG_DATA:[\"WEBGL_draw_buffers\",!0],GLSL_FRAG_DEPTH:[\"EXT_frag_depth\",!0],GLSL_DERIVATIVES:[\"OES_standard_derivatives\",!0],GLSL_TEXTURE_LOD:[\"EXT_shader_texture_lod\",!0]},YA={};Object.keys(OR).forEach(e=>{YA[e]=e});function Sot(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function bj(e){let t=e.getExtension(\"WEBGL_debug_renderer_info\"),r=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||vot),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||xot);return{gpuVendor:Tot(r,i),vendor:r,renderer:i,version:e.getParameter(bot),shadingLanguageVersion:e.getParameter(wot)}}function Tot(e,t){return e.match(/NVIDIA/i)||t.match(/NVIDIA/i)?\"NVIDIA\":e.match(/INTEL/i)||t.match(/INTEL/i)?\"INTEL\":e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i)?\"AMD\":\"UNKNOWN GPU\"}var DR={};function BR(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=OR[t];if(to(i,t),!RR(r))return!0;if(t in DR)return DR[t];let s=i[0],n=r.behavior||\"enable\",o=\"#extension GL_\".concat(s,\" : \").concat(n,`\nvoid main(void) {}`),c=e.createShader(35633);e.shaderSource(c,o),e.compileShader(c);let f=e.getShaderParameter(c,35713);return e.deleteShader(c),DR[t]=f,f}function Mot(e,t){let r=OR[t];to(r,t);let i=Sot(e)&&r[1]||r[0],s=typeof i==\"string\"?!!e.getExtension(i):i;return to(s===!1||s===!0),s}function vb(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>Mot(e,r))}function wj(e){switch(bj(e).gpuVendor.toLowerCase()){case\"nvidia\":return`#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n`;case\"intel\":return`#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`;case\"amd\":return`#define AMD_GPU\n`;default:return`#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`}}function Sj(e,t,r){let i=`#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n`;return vb(e,YA.GLSL_FRAG_DEPTH)&&(i+=`\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n`),vb(e,YA.GLSL_DERIVATIVES)&&BR(e,YA.GLSL_DERIVATIVES)&&(i+=`\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n`),vb(e,YA.GLSL_FRAG_DATA)&&BR(e,YA.GLSL_FRAG_DATA,{behavior:\"require\"})&&(i+=`\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n`),vb(e,YA.GLSL_TEXTURE_LOD)&&(i+=`// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n`),i}var Tj=`#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n`,Mj=`#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n`;var Eot={[ig]:Tj,[yb]:Mj},xb=\"__LUMA_INJECT_DECLARATIONS__\",Ej=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/,Pj=/}\\n?[^{}]*$/,FR=[];function EE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=t===ig;for(let n in r){let o=r[n];o.sort((f,_)=>f.order-_.order),FR.length=o.length;for(let f=0,_=o.length;f<_;++f)FR[f]=o[f].injection;let c=\"\".concat(FR.join(`\n`),`\n`);switch(n){case\"vs:#decl\":s&&(e=e.replace(xb,c));break;case\"vs:#main-start\":s&&(e=e.replace(Ej,f=>f+c));break;case\"vs:#main-end\":s&&(e=e.replace(Pj,f=>c+f));break;case\"fs:#decl\":s||(e=e.replace(xb,c));break;case\"fs:#main-start\":s||(e=e.replace(Ej,f=>f+c));break;case\"fs:#main-end\":s||(e=e.replace(Pj,f=>c+f));break;default:e=e.replace(n,f=>f+c)}}return e=e.replace(xb,\"\"),i&&(e=e.replace(/\\}\\s*$/,n=>n+Eot[t])),e}function Ly(e){let t={};return to(Array.isArray(e)&&e.length>1),e.forEach(r=>{for(let i in r)t[i]=t[i]?\"\".concat(t[i],`\n`).concat(r[i]):r[i]}),t}function ky(e){return new RegExp(\"\\\\b\".concat(e,\"[ \\\\t]+(\\\\w+[ \\\\t]+\\\\w+(\\\\[\\\\w+\\\\])?;)\"),\"g\")}var Ij=[[/^(#version[ \\t]+(100|300[ \\t]+es))?[ \\t]*\\n/,`#version 300 es\n`],[/\\btexture(2D|2DProj|Cube)Lod(EXT)?\\(/g,\"textureLod(\"],[/\\btexture(2D|2DProj|Cube)(EXT)?\\(/g,\"texture(\"]],Pot=[...Ij,[ky(\"attribute\"),\"in $1\"],[ky(\"varying\"),\"out $1\"]],Iot=[...Ij,[ky(\"varying\"),\"in $1\"]],Cj=[[/^#version[ \\t]+300[ \\t]+es/,\"#version 100\"],[/\\btexture(2D|2DProj|Cube)Lod\\(/g,\"texture$1LodEXT(\"],[/\\btexture\\(/g,\"texture2D(\"],[/\\btextureLod\\(/g,\"texture2DLodEXT(\"]],Cot=[...Cj,[ky(\"in\"),\"attribute $1\"],[ky(\"out\"),\"varying $1\"]],Lot=[...Cj,[ky(\"in\"),\"varying $1\"]],zR=\"gl_FragColor\",NR=/\\bout[ \\t]+vec4[ \\t]+(\\w+)[ \\t]*;\\n?/,kot=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/;function UR(e,t,r){switch(t){case 300:return r?PE(e,Pot):Rot(e);case 100:return r?PE(e,Cot):Dot(e);default:throw new Error(\"unknown GLSL version \".concat(t))}}function PE(e,t){for(let[r,i]of t)e=e.replace(r,i);return e}function Rot(e){e=PE(e,Iot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}else{let r=\"fragmentColor\";e=e.replace(kot,i=>\"out vec4 \".concat(r,`;\n`).concat(i)).replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}return e}function Dot(e){e=PE(e,Lot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(NR,\"\").replace(new RegExp(\"\\\\b\".concat(r,\"\\\\b\"),\"g\"),zR)}return e}var Oot=`\n\n`.concat(xb,`\n\n`),kj={[ig]:\"vertex\",[yb]:\"fragment\"},Bot=`precision highp float;\n\n`;function VR(e,t){let{vs:r,fs:i}=t,s=yj(t.modules||[]);return{gl:e,vs:Lj(e,Object.assign({},t,{source:r,type:ig,modules:s})),fs:Lj(e,Object.assign({},t,{source:i,type:yb,modules:s})),getUniforms:Fot(s)}}function Lj(e,t){let{id:r,source:i,type:s,modules:n,defines:o={},hookFunctions:c=[],inject:f={},transpileToGLSL100:_=!1,prologue:w=!0,log:I}=t;to(typeof i==\"string\",\"shader source must be a string\");let R=s===ig,N=i.split(`\n`),j=100,Q=\"\",et=i;N[0].indexOf(\"#version \")===0?(j=300,Q=N[0],et=N.slice(1).join(`\n`)):Q=\"#version \".concat(j);let Y={};n.forEach(Xt=>{Object.assign(Y,Xt.getDefines())}),Object.assign(Y,o);let K=w?\"\".concat(Q,`\n`).concat(Not({id:r,source:i,type:s}),`\n`).concat(zot({type:s}),`\n`).concat(wj(e),`\n`).concat(Sj(e,j,!R),`\n`).concat(Uot(Y),`\n`).concat(R?\"\":Bot,`\n`):\"\".concat(Q,`\n`),J=jot(c),ut={},Et={},kt={};for(let Xt in f){let qt=typeof f[Xt]==\"string\"?{injection:f[Xt],order:0}:f[Xt],le=Xt.match(/^(v|f)s:(#)?([\\w-]+)$/);if(le){let ue=le[2],De=le[3];ue?De===\"decl\"?Et[Xt]=[qt]:kt[Xt]=[qt]:ut[Xt]=[qt]}else kt[Xt]=[qt]}for(let Xt of n){I&&Xt.checkDeprecations(et,I);let qt=Xt.getModuleSource(s,j);K+=qt;let le=Xt.injections[s];for(let ue in le){let De=ue.match(/^(v|f)s:#([\\w-]+)$/);if(De){let rr=De[2]===\"decl\"?Et:kt;rr[ue]=rr[ue]||[],rr[ue].push(le[ue])}else ut[ue]=ut[ue]||[],ut[ue].push(le[ue])}}return K+=Oot,K=EE(K,s,Et),K+=Vot(J[s],ut),K+=et,K=EE(K,s,kt),K=UR(K,_?100:j,R),K}function Fot(e){return function(r){let i={};for(let s of e){let n=s.getUniforms(r,i);Object.assign(i,n)}return i}}function zot(e){let{type:t}=e;return`\n#define SHADER_TYPE_`.concat(kj[t].toUpperCase(),`\n`)}function Not(e){let{id:t,source:r,type:i}=e;return t&&typeof t==\"string\"&&r.indexOf(\"SHADER_NAME\")===-1?`\n#define SHADER_NAME `.concat(t,\"_\").concat(kj[i],`\n\n`):\"\"}function Uot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=0,r=\"\";for(let i in e){t===0&&(r+=`\n// APPLICATION DEFINES\n`),t++;let s=e[i];(s||Number.isFinite(s))&&(r+=\"#define \".concat(i.toUpperCase(),\" \").concat(e[i],`\n`))}return t===0&&(r+=`\n`),r}function Vot(e,t){let r=\"\";for(let i in e){let s=e[i];if(r+=\"void \".concat(s.signature,` {\n`),s.header&&(r+=\" \".concat(s.header)),t[i]){let n=t[i];n.sort((o,c)=>o.order-c.order);for(let o of n)r+=\" \".concat(o.injection,`\n`)}s.footer&&(r+=\" \".concat(s.footer)),r+=`}\n`}return r}function jot(e){let t={vs:{},fs:{}};return e.forEach(r=>{let i;typeof r!=\"string\"?(i=r,r=i.hook):i={},r=r.trim();let[s,n]=r.split(\":\"),o=r.replace(/\\(.+/,\"\");t[s][o]=Object.assign(i,{signature:n})}),t}var Got=\"void main() {gl_FragColor = vec4(0);}\",Rj=`out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}`,Wot=`#version 300 es\n`.concat(Rj);function IE(e,t){t=Array.isArray(t)?t:[t];let r=e.replace(/^\\s+/,\"\").split(/\\s+/),[i,s,n]=r;if(!t.includes(i)||!s||!n)return null;let o=n.split(\";\")[0];return{qualifier:i,type:s,name:o}}function bb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{version:t=100,input:r,inputType:i,output:s}=e;if(!r)return t===300?Wot:t>300?\"#version \".concat(t,`\n`).concat(Rj):Got;let n=Dj(r,i);return t>=300?\"#version \".concat(t,\" \").concat(t===300?\"es\":\"\",`\nin `).concat(i,\" \").concat(r,`;\nout vec4 `).concat(s,`;\nvoid main() {\n `).concat(s,\" = \").concat(n,`;\n}`):\"varying \".concat(i,\" \").concat(r,`;\nvoid main() {\n gl_FragColor = `).concat(n,`;\n}`)}function jR(e){switch(e){case\"float\":return\"x\";case\"vec2\":return\"xy\";case\"vec3\":return\"xyz\";case\"vec4\":return\"xyzw\";default:return to(!1),null}}function GR(e){switch(e){case\"float\":return 1;case\"vec2\":return 2;case\"vec3\":return 3;case\"vec4\":return 4;default:return to(!1),null}}function Dj(e,t){switch(t){case\"float\":return\"vec4(\".concat(e,\", 0.0, 0.0, 1.0)\");case\"vec2\":return\"vec4(\".concat(e,\", 0.0, 1.0)\");case\"vec3\":return\"vec4(\".concat(e,\", 1.0)\");case\"vec4\":return e;default:return to(!1),null}}var Hot=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n`,CE={name:\"fp32\",vs:Hot,fs:null};function Bh(e,t){if(!e)throw new Error(\"math.gl assertion \".concat(t))}var Gkt=1/Math.PI*180,Wkt=1/180*Math.PI,eo={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function WR(e,{precision:t=eo.precision}={}){return e=qot(e),\"\".concat(parseFloat(e.toPrecision(t)))}function Fh(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Il(e,t,r){return Yot(e,i=>Math.max(t,Math.min(r,i)))}function il(e,t,r){return Fh(e)?e.map((i,s)=>il(i,t[s],r)):r*t+(1-r)*e}function Ro(e,t,r){let i=eo.EPSILON;r&&(eo.EPSILON=r);try{if(e===t)return!0;if(Fh(e)&&Fh(t)){if(e.length!==t.length)return!1;for(let s=0;s0?\", \":\"\")+WR(this[i],t);return\"\".concat(t.printTypes?this.constructor.name:\"\",\"[\").concat(r,\"]\")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r=0&&t=0&&t0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function YR(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Dy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2];return e[0]=s*f-n*c,e[1]=n*o-i*f,e[2]=i*c-s*o,e}function Hj(e,t,r,i){var s=t[0],n=t[1],o=t[2];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e}function Oy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[3]*i+r[7]*s+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*i+r[4]*s+r[8]*n+r[12])/o,e[1]=(r[1]*i+r[5]*s+r[9]*n+r[13])/o,e[2]=(r[2]*i+r[6]*s+r[10]*n+r[14])/o,e}function OE(e,t,r){var i=t[0],s=t[1],n=t[2];return e[0]=i*r[0]+s*r[3]+n*r[6],e[1]=i*r[1]+s*r[4]+n*r[7],e[2]=i*r[2]+s*r[5]+n*r[8],e}function BE(e,t,r){var i=r[0],s=r[1],n=r[2],o=r[3],c=t[0],f=t[1],_=t[2],w=s*_-n*f,I=n*c-i*_,R=i*f-s*c,N=s*R-n*I,j=n*w-i*R,Q=i*I-s*w,et=o*2;return w*=et,I*=et,R*=et,N*=2,j*=2,Q*=2,e[0]=c+w+N,e[1]=f+I+j,e[2]=_+R+Q,e}function qj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0],n[1]=s[1]*Math.cos(i)-s[2]*Math.sin(i),n[2]=s[1]*Math.sin(i)+s[2]*Math.cos(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Zj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[2]*Math.sin(i)+s[0]*Math.cos(i),n[1]=s[1],n[2]=s[2]*Math.cos(i)-s[0]*Math.sin(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Yj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0]*Math.cos(i)-s[1]*Math.sin(i),n[1]=s[0]*Math.sin(i)+s[1]*Math.cos(i),n[2]=s[2],e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Qj(e,t){var r=e[0],i=e[1],s=e[2],n=t[0],o=t[1],c=t[2],f=Math.sqrt(r*r+i*i+s*s),_=Math.sqrt(n*n+o*o+c*c),w=f*_,I=w&&YR(e,t)/w;return Math.acos(Math.min(Math.max(I,-1),1))}var FE=tat;var $j=eat;var zE=Jot,NE=rat,i4t=function(){var e=qR();return function(t,r,i,s,n,o){var c,f;for(r||(r=3),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;c0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(iat)}fromObject(t){return this.check()}fromQuaternion(t){return i7(this,t),this.check()}set(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this[4]=n,this[5]=o,this[6]=c,this[7]=f,this[8]=_,this.check()}setRowMajor(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=s,this[2]=c,this[3]=r,this[4]=n,this[5]=f,this[6]=i,this[7]=o,this[8]=_,this.check()}determinant(){return t7(this)}transpose(){return Kj(this,this),this.check()}invert(){return Jj(this,this),this.check()}multiplyLeft(t){return $R(this,t,this),this.check()}multiplyRight(t){return $R(this,this,t),this.check()}rotate(t){return r7(this,this,t),this.check()}scale(t){return Array.isArray(t)?XR(this,this,t):XR(this,this,[t,t]),this.check()}translate(t){return e7(this,this,t),this.check()}transform(t,r){let i;switch(t.length){case 2:i=Fj(r||[-0,-0],t,this);break;case 3:i=OE(r||[-0,-0,-0],t,this);break;case 4:i=DE(r||[-0,-0,-0,-0],t,this);break;default:throw new Error(\"Illegal vector\")}return QA(i,t.length),i}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},jE,GE;function nat(){return jE||(jE=new ss([0,0,0,0,0,0,0,0,0]),Object.freeze(jE)),jE}function sat(){return GE||(GE=new ss,Object.freeze(GE)),GE}function oat(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function s7(e,t){if(e===t){var r=t[1],i=t[2],s=t[3],n=t[6],o=t[7],c=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=n,e[11]=t[14],e[12]=s,e[13]=o,e[14]=c}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Sb(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=t[4],c=t[5],f=t[6],_=t[7],w=t[8],I=t[9],R=t[10],N=t[11],j=t[12],Q=t[13],et=t[14],Y=t[15],K=r*c-i*o,J=r*f-s*o,ut=r*_-n*o,Et=i*f-s*c,kt=i*_-n*c,Xt=s*_-n*f,qt=w*Q-I*j,le=w*et-R*j,ue=w*Y-N*j,De=I*et-R*Q,Ke=I*Y-N*Q,rr=R*Y-N*et,Sr=K*rr-J*Ke+ut*De+Et*ue-kt*le+Xt*qt;return Sr?(Sr=1/Sr,e[0]=(c*rr-f*Ke+_*De)*Sr,e[1]=(s*Ke-i*rr-n*De)*Sr,e[2]=(Q*Xt-et*kt+Y*Et)*Sr,e[3]=(R*kt-I*Xt-N*Et)*Sr,e[4]=(f*ue-o*rr-_*le)*Sr,e[5]=(r*rr-s*ue+n*le)*Sr,e[6]=(et*ut-j*Xt-Y*J)*Sr,e[7]=(w*Xt-R*ut+N*J)*Sr,e[8]=(o*Ke-c*ue+_*qt)*Sr,e[9]=(i*ue-r*Ke-n*qt)*Sr,e[10]=(j*kt-Q*ut+Y*K)*Sr,e[11]=(I*ut-w*kt-N*K)*Sr,e[12]=(c*le-o*De-f*qt)*Sr,e[13]=(r*De-i*le+s*qt)*Sr,e[14]=(Q*J-j*Et-et*K)*Sr,e[15]=(w*Et-I*J+R*K)*Sr,e):null}function o7(e){var t=e[0],r=e[1],i=e[2],s=e[3],n=e[4],o=e[5],c=e[6],f=e[7],_=e[8],w=e[9],I=e[10],R=e[11],N=e[12],j=e[13],Q=e[14],et=e[15],Y=t*o-r*n,K=t*c-i*n,J=t*f-s*n,ut=r*c-i*o,Et=r*f-s*o,kt=i*f-s*c,Xt=_*j-w*N,qt=_*Q-I*N,le=_*et-R*N,ue=w*Q-I*j,De=w*et-R*j,Ke=I*et-R*Q;return Y*Ke-K*De+J*ue+ut*le-Et*qt+kt*Xt}function qf(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=t[4],f=t[5],_=t[6],w=t[7],I=t[8],R=t[9],N=t[10],j=t[11],Q=t[12],et=t[13],Y=t[14],K=t[15],J=r[0],ut=r[1],Et=r[2],kt=r[3];return e[0]=J*i+ut*c+Et*I+kt*Q,e[1]=J*s+ut*f+Et*R+kt*et,e[2]=J*n+ut*_+Et*N+kt*Y,e[3]=J*o+ut*w+Et*j+kt*K,J=r[4],ut=r[5],Et=r[6],kt=r[7],e[4]=J*i+ut*c+Et*I+kt*Q,e[5]=J*s+ut*f+Et*R+kt*et,e[6]=J*n+ut*_+Et*N+kt*Y,e[7]=J*o+ut*w+Et*j+kt*K,J=r[8],ut=r[9],Et=r[10],kt=r[11],e[8]=J*i+ut*c+Et*I+kt*Q,e[9]=J*s+ut*f+Et*R+kt*et,e[10]=J*n+ut*_+Et*N+kt*Y,e[11]=J*o+ut*w+Et*j+kt*K,J=r[12],ut=r[13],Et=r[14],kt=r[15],e[12]=J*i+ut*c+Et*I+kt*Q,e[13]=J*s+ut*f+Et*R+kt*et,e[14]=J*n+ut*_+Et*N+kt*Y,e[15]=J*o+ut*w+Et*j+kt*K,e}function ag(e,t,r){var i=r[0],s=r[1],n=r[2],o,c,f,_,w,I,R,N,j,Q,et,Y;return t===e?(e[12]=t[0]*i+t[4]*s+t[8]*n+t[12],e[13]=t[1]*i+t[5]*s+t[9]*n+t[13],e[14]=t[2]*i+t[6]*s+t[10]*n+t[14],e[15]=t[3]*i+t[7]*s+t[11]*n+t[15]):(o=t[0],c=t[1],f=t[2],_=t[3],w=t[4],I=t[5],R=t[6],N=t[7],j=t[8],Q=t[9],et=t[10],Y=t[11],e[0]=o,e[1]=c,e[2]=f,e[3]=_,e[4]=w,e[5]=I,e[6]=R,e[7]=N,e[8]=j,e[9]=Q,e[10]=et,e[11]=Y,e[12]=o*i+w*s+j*n+t[12],e[13]=c*i+I*s+Q*n+t[13],e[14]=f*i+R*s+et*n+t[14],e[15]=_*i+N*s+Y*n+t[15]),e}function By(e,t,r){var i=r[0],s=r[1],n=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a7(e,t,r,i){var s=i[0],n=i[1],o=i[2],c=Math.hypot(s,n,o),f,_,w,I,R,N,j,Q,et,Y,K,J,ut,Et,kt,Xt,qt,le,ue,De,Ke,rr,Sr,Li;return c0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=i*o,e[2]=s*o,e[3]=n*o,e}function _7(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function y7(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e[3]=c+i*(r[3]-c),e}function Nh(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3];return e[0]=r[0]*i+r[4]*s+r[8]*n+r[12]*o,e[1]=r[1]*i+r[5]*s+r[9]*n+r[13]*o,e[2]=r[2]*i+r[6]*s+r[10]*n+r[14]*o,e[3]=r[3]*i+r[7]*s+r[11]*n+r[15]*o,e}function v7(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2],_=r[3],w=_*i+c*n-f*s,I=_*s+f*i-o*n,R=_*n+o*s-c*i,N=-o*i-c*s-f*n;return e[0]=w*_+N*-o+I*-f-R*-c,e[1]=I*_+N*-c+R*-o-w*-f,e[2]=R*_+N*-f+w*-c-I*-o,e[3]=t[3],e}var b4t=function(){var e=cat();return function(t,r,i,s,n,o){var c,f;for(r||(r=4),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;cMath.PI*2)throw Error(\"expected radians\")}function Aat(e,t,r,i,s,n){let o=2*n/(r-t),c=2*n/(s-i),f=(r+t)/(r-t),_=(s+i)/(s-i),w=-1,I=-1,R=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=_,e[10]=w,e[11]=I,e[12]=0,e[13]=0,e[14]=R,e[15]=0,e}function b7(){var e=new ya(4);return ya!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function w7(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function iD(e,t,r){r=r*.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function nD(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=r[0],f=r[1],_=r[2],w=r[3];return e[0]=i*w+o*c+s*_-n*f,e[1]=s*w+o*f+n*c-i*_,e[2]=n*w+o*_+i*f-s*c,e[3]=o*w-i*c-s*f-n*_,e}function S7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+o*c,e[1]=s*f+n*c,e[2]=n*f-s*c,e[3]=o*f-i*c,e}function T7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f-n*c,e[1]=s*f+o*c,e[2]=n*f+i*c,e[3]=o*f-s*c,e}function M7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+s*c,e[1]=s*f-i*c,e[2]=n*f+o*c,e[3]=o*f-n*c,e}function E7(e,t){var r=t[0],i=t[1],s=t[2];return e[0]=r,e[1]=i,e[2]=s,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-s*s)),e}function Mb(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3],f=r[0],_=r[1],w=r[2],I=r[3],R,N,j,Q,et;return N=s*f+n*_+o*w+c*I,N<0&&(N=-N,f=-f,_=-_,w=-w,I=-I),1-N>zh?(R=Math.acos(N),j=Math.sin(R),Q=Math.sin((1-i)*R)/j,et=Math.sin(i*R)/j):(Q=1-i,et=i),e[0]=Q*s+et*f,e[1]=Q*n+et*_,e[2]=Q*o+et*w,e[3]=Q*c+et*I,e}function P7(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=r*r+i*i+s*s+n*n,c=o?1/o:0;return e[0]=-r*c,e[1]=-i*c,e[2]=-s*c,e[3]=n*c,e}function I7(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function sD(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);var n=(s+1)%3,o=(s+2)%3;i=Math.sqrt(t[s*3+s]-t[n*3+n]-t[o*3+o]+1),e[s]=.5*i,i=.5/i,e[3]=(t[n*3+o]-t[o*3+n])*i,e[n]=(t[n*3+s]+t[s*3+n])*i,e[o]=(t[o*3+s]+t[s*3+o])*i}return e}var C7=p7;var L7=Fy,k7=_7,R7=y7,D7=A7;var O7=m7;var B7=g7;var F7=function(){var e=qR(),t=ZR(1,0,0),r=ZR(0,1,0);return function(i,s,n){var o=YR(s,n);return o<-.999999?(Dy(e,t,s),zE(e)<1e-6&&Dy(e,r,s),Wj(e,e),iD(i,e,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(Dy(e,s,n),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+o,B7(i,i))}}(),R4t=function(){var e=b7(),t=b7();return function(r,i,s,n,o,c){return Mb(e,i,o,c),Mb(t,s,n,c),Mb(r,e,t,2*c*(1-c)),r}}(),D4t=function(){var e=Xj();return function(t,r,i,s){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],B7(t,sD(t,e))}}();var gat=[0,0,0,1],lg=class extends np{constructor(t=0,r=0,i=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,i,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,i,s){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return sD(this,t),this.check()}fromAxisRotation(t,r){return iD(this,t,r),this.check()}identity(){return w7(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Qi(t)}get y(){return this[1]}set y(t){this[1]=Qi(t)}get z(){return this[2]}set z(t){this[2]=Qi(t)}get w(){return this[3]}set w(t){this[3]=Qi(t)}len(){return D7(this)}lengthSquared(){return O7(this)}dot(t){return k7(this,t)}rotationTo(t,r){return F7(this,t,r),this.check()}add(t){return C7(this,this,t),this.check()}calculateW(){return E7(this,this),this.check()}conjugate(){return I7(this,this),this.check()}invert(){return P7(this,this),this.check()}lerp(t,r,i){return i===void 0?this.lerp(this,t,r):(R7(this,t,r,i),this.check())}multiplyRight(t){return nD(this,this,t),this.check()}multiplyLeft(t){return nD(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return S7(this,this,t),this.check()}rotateY(t){return T7(this,this,t),this.check()}rotateZ(t){return M7(this,this,t),this.check()}scale(t){return L7(this,this,t),this.check()}slerp(t,r,i){let s,n,o;switch(arguments.length){case 1:({start:s=gat,target:n,ratio:o}=t);break;case 2:s=this,n=t,o=r;break;default:s=t,n=r,o=i}return Mb(this,s,n,o),this.check()}transformVector4(t,r=new wb){return v7(r,t,this),QA(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var YE={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,PI_OVER_TWO:Math.PI/2,PI_OVER_FOUR:Math.PI/4,PI_OVER_SIX:Math.PI/6,TWO_PI:Math.PI*2};var oD=`#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))\n\nstruct AmbientLight {\n vec3 color;\n};\n\nstruct PointLight {\n vec3 color;\n vec3 position;\n vec3 attenuation;\n};\n\nstruct DirectionalLight {\n vec3 color;\n vec3 direction;\n};\n\nuniform AmbientLight lighting_uAmbientLight;\nuniform PointLight lighting_uPointLight[MAX_LIGHTS];\nuniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];\nuniform int lighting_uPointLightCount;\nuniform int lighting_uDirectionalLightCount;\n\nuniform bool lighting_uEnabled;\n\nfloat getPointLightAttenuation(PointLight pointLight, float distance) {\n return pointLight.attenuation.x\n + pointLight.attenuation.y * distance\n + pointLight.attenuation.z * distance * distance;\n}\n\n#endif\n`;var _at={lightSources:{}};function aD(){let{color:e=[0,0,0],intensity:t=1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.map(r=>r*t/255)}function yat(e){let{ambientLight:t,pointLights:r=[],directionalLights:i=[]}=e,s={};return t?s[\"lighting_uAmbientLight.color\"]=aD(t):s[\"lighting_uAmbientLight.color\"]=[0,0,0],r.forEach((n,o)=>{s[\"lighting_uPointLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uPointLight[\".concat(o,\"].position\")]=n.position,s[\"lighting_uPointLight[\".concat(o,\"].attenuation\")]=n.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,i.forEach((n,o)=>{s[\"lighting_uDirectionalLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uDirectionalLight[\".concat(o,\"].direction\")]=n.direction}),s.lighting_uDirectionalLightCount=i.length,s}function z7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_at;if(\"lightSources\"in e){let{ambientLight:t,pointLights:r,directionalLights:i}=e.lightSources||{};return t||r&&r.length>0||i&&i.length>0?Object.assign({},yat({ambientLight:t,pointLights:r,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if(\"lights\"in e){let t={pointLights:[],directionalLights:[]};for(let r of e.lights||[])switch(r.type){case\"ambient\":t.ambientLight=r;break;case\"directional\":t.directionalLights.push(r);break;case\"point\":t.pointLights.push(r);break;default:}return z7({lightSources:t})}return{}}var lD={name:\"lights\",vs:oD,fs:oD,getUniforms:z7,defines:{MAX_LIGHTS:3}};var vat=new Uint8Array([0,255,255,255]),xat={pickingSelectedColor:null,pickingHighlightColor:vat,pickingActive:!1,pickingAttribute:!1};function bat(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xat,t={};if(e.pickingSelectedColor!==void 0)if(!e.pickingSelectedColor)t.picking_uSelectedColorValid=0;else{let r=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=r}if(e.pickingHighlightColor){let r=Array.from(e.pickingHighlightColor,i=>i/255);Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return e.pickingActive!==void 0&&(t.picking_uActive=!!e.pickingActive,t.picking_uAttribute=!!e.pickingAttribute),t}var wat=`uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n`,Sat=`uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n`,QE={name:\"picking\",vs:wat,fs:Sat,getUniforms:bat};var cD=`\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n`;var Tat={};function Mat(e){let{ambient:t=.35,diffuse:r=.6,shininess:i=32,specularColor:s=[30,30,30]}=e;return{lighting_uAmbient:t,lighting_uDiffuse:r,lighting_uShininess:i,lighting_uSpecularColor:s.map(n=>n/255)}}function N7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tat;if(!(\"material\"in e))return{};let{material:t}=e;return t?Mat(t):{lighting_uEnabled:!1}}var Zf={name:\"gouraud-lighting\",dependencies:[lD],vs:cD,defines:{LIGHTING_VERTEX:1},getUniforms:N7},Ny={name:\"phong-lighting\",dependencies:[lD],fs:cD,defines:{LIGHTING_FRAGMENT:1},getUniforms:N7};var Eat=`attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n`,uD={name:\"transform\",vs:Eat,fs:null};var Uh=class e{static getDefaultProgramManager(t){return t.luma=t.luma||{},t.luma.defaultProgramManager=t.luma.defaultProgramManager||new e(t),t.luma.defaultProgramManager}constructor(t){this.gl=t,this._programCache={},this._getUniforms={},this._registeredModules={},this._hookFunctions=[],this._defaultModules=[],this._hashes={},this._hashCounter=0,this.stateHash=0,this._useCounts={}}addDefaultModule(t){this._defaultModules.find(r=>r.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){let r=typeof t==\"string\"?t:t.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==r),this.stateHash++}addShaderHook(t,r){r&&(t=Object.assign(r,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{vs:r=\"\",fs:i=\"\",defines:s={},inject:n={},varyings:o=[],bufferMode:c=35981,transpileToGLSL100:f=!1}=t,_=this._getModuleList(t.modules),w=this._getHash(r),I=this._getHash(i),R=_.map(J=>this._getHash(J.name)).sort(),N=o.map(J=>this._getHash(J)),j=Object.keys(s).sort(),Q=Object.keys(n).sort(),et=[],Y=[];for(let J of j)et.push(this._getHash(J)),et.push(this._getHash(s[J]));for(let J of Q)Y.push(this._getHash(J)),Y.push(this._getHash(n[J]));let K=\"\".concat(w,\"/\").concat(I,\"D\").concat(et.join(\"/\"),\"M\").concat(R.join(\"/\"),\"I\").concat(Y.join(\"/\"),\"V\").concat(N.join(\"/\"),\"H\").concat(this.stateHash,\"B\").concat(c).concat(f?\"T\":\"\");if(!this._programCache[K]){let J=VR(this.gl,{vs:r,fs:i,modules:_,inject:n,defines:s,hookFunctions:this._hookFunctions,transpileToGLSL100:f});this._programCache[K]=new rp(this.gl,{hash:K,vs:J.vs,fs:J.fs,varyings:o,bufferMode:c}),this._getUniforms[K]=J.getUniforms||(ut=>{}),this._useCounts[K]=0}return this._useCounts[K]++,this._programCache[K]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){let r=t.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._programCache[r].delete(),delete this._programCache[r],delete this._getUniforms[r],delete this._useCounts[r])}_getHash(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+t.length),i={},s=0;for(let n=0,o=this._defaultModules.length;n{},Rat={},fn=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{id:i=ta(\"model\")}=r;ye(Jd(t)),this.id=i,this.gl=t,this.id=r.id||ta(\"Model\"),this.lastLogTime=0,this.animated=!1,this.initialize(r)}initialize(t){this.props={},this.programManager=t.programManager||Uh.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;let{program:r=null,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=t.drawMode!==void 0?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},ye(this.drawMode!==void 0&&Number.isFinite(this.vertexCount),kat)}setProps(t){this._setModelProps(t)}delete(){for(let t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){let{program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return ye(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return ye(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=U7(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let r={};for(let i in t){let s=t[i];r[i]=s.getValue?s.getValue():s}return this.vertexArray.setAttributes(r),this}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();let r=this.programManager.getUniforms(this.program);return r?r(t):{}}updateModuleSettings(t){let r=this.getModuleUniforms(t||{});return this.setUniforms(r)}clear(t){return Hf(this.program.gl,t),this}draw(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._checkProgram();let{moduleSettings:r=null,framebuffer:i,uniforms:s={},attributes:n={},transformFeedback:o=this.transformFeedback,parameters:c={},vertexArray:f=this.vertexArray}=t;this.setAttributes(n),this.updateModuleSettings(r),this.setUniforms(s);let _;He.priority>=Uy&&(_=this._logDrawCallStart(Uy));let w=this.vertexArray.getDrawParams(),{isIndexed:I=w.isIndexed,indexType:R=w.indexType,indexOffset:N=w.indexOffset,vertexArrayInstanced:j=w.isInstanced}=this.props;j&&!this.isInstanced&&He.warn(\"Found instanced attributes on non-instanced model\",this.id)();let{isInstanced:Q,instanceCount:et}=this,{onBeforeRender:Y=V7,onAfterRender:K=V7}=this.props;Y(),this.program.setUniforms(this.uniforms);let J=this.program.draw(Object.assign(Rat,t,{logPriority:_,uniforms:null,framebuffer:i,parameters:c,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:f,transformFeedback:o,isIndexed:I,indexType:R,isInstanced:Q,instanceCount:et,offset:I?N:0}));return K(),He.priority>=Uy&&this._logDrawCallEnd(_,f,i),J}transform(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{discard:r=!0,feedbackBuffers:i,unbindModels:s=[]}=t,{parameters:n}=t;i&&this._setFeedbackBuffers(i),r&&(n=Object.assign({},n,{35977:r})),s.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:n}))}finally{s.forEach(o=>o.vertexArray.bindBuffers())}return this}render(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.warn(\"Model.render() is deprecated. Use Model.setUniforms() and Model.draw()\")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),\"uniforms\"in t&&this.setUniforms(t.uniforms),\"pickable\"in t&&(this.pickable=t.pickable),\"instanceCount\"in t&&(this.instanceCount=t.instanceCount),\"geometry\"in t&&this.setGeometry(t.geometry),\"attributes\"in t&&this.setAttributes(t.attributes),\"_feedbackBuffers\"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!(this._programDirty||this.programManager.stateHash!==this._programManagerState))return;let{program:r}=this.programProps;if(r)this._managedProgram=!1;else{let{vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=this.programProps;r=this.programManager.get({vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ye(r instanceof rp,\"Model needs a program\"),this._programDirty=!1,r!==this.program&&(this.program=r,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Iy(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(let t in this.geometryBuffers){let r=this.geometryBuffers[t][0]||this.geometryBuffers[t];r instanceof Fr&&r.delete()}}_setAnimationProps(t){this.animated&&ye(t,\"Model.draw(): animated uniforms but no animationProps\")}_setFeedbackBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let{gl:r}=this.program;return this.transformFeedback=this.transformFeedback||new ip(r,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){let r=t>3?0:Lat;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL \".concat(this.id),{collapsed:He.level<=2})(),t}_logDrawCallEnd(t,r,i,s){if(t===void 0)return;let n=CR({vertexArray:r,header:\"\".concat(this.id,\" attributes\"),attributes:this._attributes}),{table:o,unusedTable:c,unusedCount:f}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:_,count:w}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});w>0&&He.log(\"MISSING UNIFORMS\",Object.keys(_))(),f>0&&He.log(\"UNUSED UNIFORMS\",Object.keys(c))();let I=LR(this.vertexArray.configuration);He.table(t,n)(),He.table(t,o)(),He.table(t+1,I)(),s&&s.log({logLevel:Uy,message:\"Rendered to \".concat(s.id)}),He.groupEnd(Uy)()}};var Eb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}setupResources(t){for(let r of this.bindings)this._setupTransformFeedback(r,t)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyings:r}=this;return r.length>0&&(t=Object.assign({},t,{varyings:r})),t}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:s}=r;return{attributes:Object.assign({},i,t.attributes),transformFeedback:s}}swap(){return this.feedbackMap?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t)}getBuffer(t){let{feedbackBuffers:r}=this.bindings[this.currentIndex],i=t?r[t]:null;return i?i instanceof Fr?i:i.buffer:null}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyingName:r}=t,i=this.getBuffer(r);return i?i.getData():null}delete(){for(let t in this.resources)this.resources[t].delete()}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ye(fr(this.gl))}_getFeedbackBuffers(t){let{sourceBuffers:r={}}=t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(let s in this.feedbackMap){let n=this.feedbackMap[s];s in r&&(i[n]=s)}Object.assign(i,t.feedbackBuffers);for(let s in i){let n=i[s];if(typeof n==\"string\"){let o=r[n],{byteLength:c,usage:f,accessor:_}=o;i[s]=this._createNewBuffer(s,{byteLength:c,usage:f,accessor:_})}}return i}_setupBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);let i=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:r,feedbackBuffers:i})}_setupTransformFeedback(t,r){let{model:i}=r,{program:s}=i;t.transformFeedback=new ip(this.gl,{program:s,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){let{sourceBuffers:r,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceBuffers:r,feedbackBuffers:i})}}_updateBinding(t,r){return t?(Object.assign(t.sourceBuffers,r.sourceBuffers),Object.assign(t.feedbackBuffers,r.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},r.sourceBuffers),feedbackBuffers:Object.assign({},r.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;let r=Object.assign({},t.sourceBuffers),i=Object.assign({},t.feedbackBuffers);for(let s in this.feedbackMap){let n=this.feedbackMap[s];r[s]=t.feedbackBuffers[n],i[n]=t.sourceBuffers[s],ye(i[n]instanceof Fr)}return{sourceBuffers:r,feedbackBuffers:i}}_createNewBuffer(t,r){let i=new Fr(this.gl,r);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}};var Dat=\"transform_uSampler_\",$E=\"transform_uSize_\",j7=\"transform_position\";function G7(e){let{vs:t,sourceTextureMap:r,targetTextureVarying:i,targetTexture:s}=e,o=Object.keys(r).length,c=null,f={},_=t,w={};if(o>0||i){let I=_.split(`\n`),R=I.slice();if(I.forEach((N,j,Q)=>{if(o>0){let et=zat(N,r);if(et){let{updatedLine:Y,inject:K}=et;R[j]=Y,w=Ly([w,K]),Object.assign(f,et.samplerTextureMap),o--}}i&&!c&&(c=Fat(N,i))}),i){ye(s);let N=\"\".concat($E).concat(i),j=\"uniform vec2 \".concat(N,`;\n`),Q=\" vec2 \".concat(j7,\" = transform_getPos(\").concat(N,`);\n gl_Position = vec4(`).concat(j7,`, 0, 1.);\n`);w=Ly([w,{\"vs:#decl\":j,\"vs:#main-start\":Q}])}_=R.join(`\n`)}return{vs:_,targetTextureType:c,inject:w,samplerTextureMap:f}}function W7(e){let{sourceTextureMap:t,targetTextureVarying:r,targetTexture:i}=e,s={},n,o;r&&({width:n,height:o}=i,s[\"\".concat($E).concat(r)]=[n,o]);for(let c in t)({width:n,height:o}=t[c]),s[\"\".concat($E).concat(c)]=[n,o];return s}function Oat(e){return IE(e,[\"attribute\",\"in\"])}function Bat(e){let t=\"\".concat(Dat).concat(e),r=\"\".concat($E).concat(e),i=\" uniform sampler2D \".concat(t,`;\n uniform vec2 `).concat(r,\";\");return{samplerName:t,sizeName:r,uniformDeclerations:i}}function Fat(e,t){let r=IE(e,[\"varying\",\"out\"]);return r&&r.name===t?r.type:null}function zat(e,t){let r={},i=Oat(e);if(!i)return null;let{type:s,name:n}=i;if(n&&t[n]){let o=\"// \".concat(e,\" => Replaced by Transform with a sampler\"),{samplerName:c,sizeName:f,uniformDeclerations:_}=Bat(n),w=jR(s),I=\" \".concat(s,\" \").concat(n,\" = transform_getInput(\").concat(c,\", \").concat(f,\").\").concat(w,`;\n`);return r[c]=n,{updatedLine:o,inject:{\"vs:#decl\":_,\"vs:#main-start\":I},samplerTextureMap:r}}return null}var Nat={10241:9728,10240:9728,10242:33071,10243:33071},Uat=\"transform_output\",Pb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._processVertexShader(t);return Object.assign({},t,r)}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,sourceTextures:i,framebuffer:s,targetTexture:n}=this.bindings[this.currentIndex],o=Object.assign({},r,t.attributes),c=Object.assign({},t.uniforms),f=Object.assign({},t.parameters),_=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(let I in this.samplerTextureMap){let R=this.samplerTextureMap[I];c[I]=i[R]}this._setSourceTextureParameters();let w=W7({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:n});Object.assign(c,w)}return this.hasTargetTexture&&(_=!1,f.viewport=[0,0,s.width,s.height]),{attributes:o,framebuffer:s,uniforms:c,discard:_,parameters:f}}swap(){return this._swapTexture?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupTextures(t)}getTargetTexture(){let{targetTexture:t}=this.bindings[this.currentIndex];return t}getData(){let{packed:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{framebuffer:r}=this.bindings[this.currentIndex],i=Dh(r);if(!t)return i;let s=i.constructor,n=GR(this.targetTextureType),o=new s(i.length*n/4),c=0;for(let f=0;f0&&arguments[0]!==void 0?arguments[0]:{},{_targetTextureVarying:r,_swapTexture:i}=t;this._swapTexture=i,this.targetTextureVarying=r,this.hasTargetTexture=r,this._setupTextures(t)}_createTargetTexture(t){let{sourceTextures:r,textureOrReference:i}=t;if(i instanceof pi)return i;let s=r[i];return s?(this._targetRefTexName=i,this._createNewTexture(s)):null}_setupTextures(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,_sourceTextures:i={},_targetTexture:s}=t,n=this._createTargetTexture({sourceTextures:i,textureOrReference:s});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:r,sourceTextures:i,targetTexture:n}),\"elementCount\"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if(typeof t!=\"number\"||this.elementCount>=t)return;let r=new Float32Array(t);r.forEach((i,s,n)=>{n[s]=s}),this.elementIDBuffer?this.elementIDBuffer.setData({data:r}):this.elementIDBuffer=new Fr(this.gl,{data:r,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){let{sourceTextures:r,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceTextures:r,targetTexture:i})}}_updateBinding(t,r){let{sourceBuffers:i,sourceTextures:s,targetTexture:n}=r;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,s),Object.assign(t.sourceBuffers,i),n){t.targetTexture=n;let{width:o,height:c}=n,{framebuffer:f}=t;f?(f.update({attachments:{36064:n},resizeAttachments:!1}),f.resize({width:o,height:c})):t.framebuffer=new yi(this.gl,{id:\"transform-framebuffer\",width:o,height:c,attachments:{36064:n}})}return t}_setSourceTextureParameters(){let t=this.currentIndex,{sourceTextures:r}=this.bindings[t];for(let i in r)r[i].setParameters(Nat)}_swapTextures(t){if(!this._swapTexture)return null;let r=Object.assign({},t.sourceTextures);r[this._swapTexture]=t.targetTexture;let i=t.sourceTextures[this._swapTexture];return{sourceTextures:r,targetTexture:i}}_createNewTexture(t){let r=yE(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=r,r}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceTextures:r,targetTexture:i}=this.bindings[this.currentIndex],{vs:s,uniforms:n,targetTextureType:o,inject:c,samplerTextureMap:f}=G7({vs:t.vs,sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),_=Ly([t.inject||{},c]);this.targetTextureType=o,this.samplerTextureMap=f;let w=t._fs||bb({version:Py(s),input:this.targetTextureVarying,inputType:o,output:Uat}),I=this.hasSourceTextures||this.targetTextureVarying?[uD].concat(t.modules||[]):t.modules;return{vs:s,fs:w,modules:I,uniforms:n,inject:_}}};var nc=class{static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(r),Object.seal(this)}delete(){let{model:t,bufferTransform:r,textureTransform:i}=this;t&&t.delete(),r&&r.delete(),i&&i.delete()}run(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{clearRenderTarget:r=!0}=t,i=this._updateDrawOptions(t);r&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let t=!1,r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)t=t||i.swap();ye(t,\"Nothing to swap\")}getBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r){let s=i.getData(t);if(s)return s}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};\"elementCount\"in t&&this.model.setVertexCount(t.elementCount);let r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)i.update(t)}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{gl:r}=this;this._buildResourceTransforms(r,t),t=this._updateModelProps(t),this.model=new fn(r,Object.assign({},t,{fs:t.fs||bb({version:Py(t.vs)}),id:t.id||\"transform-model\",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=s.updateModelProps(r);return r}_buildResourceTransforms(t,r){Vat(r)&&(this.bufferTransform=new Eb(t,r)),jat(r)&&(this.textureTransform=new Pb(t,r)),ye(this.bufferTransform||this.textureTransform,\"must provide source/feedback buffers or source/target textures\")}_updateDrawOptions(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=Object.assign(r,s.getDrawOptions(r));return r}};function Vat(e){return!!(!Wf(e.feedbackBuffers)||!Wf(e.feedbackMap)||e.varyings&&e.varyings.length>0)}function jat(e){return!!(!Wf(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)}var H7={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},$n=class{static get DRAW_MODE(){return H7}constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{id:r=ta(\"geometry\"),drawMode:i=H7.TRIANGLES,attributes:s={},indices:n=null,vertexCount:o=null}=t;this.id=r,this.drawMode=i|0,this.attributes={},this.userData={},this._setAttributes(s,n),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(t){return\"Geometry \".concat(this.id,\" attribute \").concat(t)}_setAttributes(t,r){r&&(this.indices=ArrayBuffer.isView(r)?{value:r,size:1}:r);for(let i in t){let s=t[i];s=ArrayBuffer.isView(s)?{value:s}:s,ye(ArrayBuffer.isView(s.value),\"\".concat(this._print(i),\": must be typed array or object with value as typed array\")),(i===\"POSITION\"||i===\"positions\")&&!s.size&&(s.size=3),i===\"indices\"?(ye(!this.indices),this.indices=s):this.attributes[i]=s}return this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,r){if(r)return r.value.length;let i=1/0;for(let s in t){let n=t[s],{value:o,size:c,constant:f}=n;!f&&o&&c>=1&&(i=Math.min(i,o.length/c))}return ye(Number.isFinite(i)),i}};var Gat=1,Wat=1,KA=class{constructor(){this.time=0,this.channels=new Map,this.animations=new Map,this.playing=!1,this.lastEngineTime=-1}addChannel(t){let{delay:r=0,duration:i=Number.POSITIVE_INFINITY,rate:s=1,repeat:n=1}=t,o=Gat++,c={time:0,delay:r,duration:i,rate:s,repeat:n};return this._setChannelTime(c,this.time),this.channels.set(o,c),o}removeChannel(t){this.channels.delete(t);for(let[r,i]of this.animations)i.channel===t&&this.detachAnimation(r)}isFinished(t){let r=this.channels.get(t);return r===void 0?!1:this.time>=r.delay+r.duration*r.repeat}getTime(t){if(t===void 0)return this.time;let r=this.channels.get(t);return r===void 0?-1:r.time}setTime(t){this.time=Math.max(0,t);let r=this.channels.values();for(let s of r)this._setChannelTime(s,this.time);let i=this.animations.values();for(let s of i){let{animation:n,channel:o}=s;n.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,r){let i=Wat++;return this.animations.set(i,{animation:t,channel:r}),t.setTime(this.getTime(r)),i}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,r){let i=r-t.delay,s=t.duration*t.repeat;i>=s?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}};var Hat=[255,255,255],qat=1,Zat=0,XE=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"ambient\");let{color:r=Hat}=t,{intensity:i=qat}=t;this.id=t.id||\"ambient-\".concat(Zat++),this.color=r,this.intensity=i}};var Yat=[255,255,255],Qat=1,$at=[0,0,-1],Xat=0,Ib=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"directional\"),G(this,\"direction\",void 0),G(this,\"shadow\",void 0);let{color:r=Yat}=t,{intensity:i=Qat}=t,{direction:s=$at}=t,{_shadow:n=!1}=t;this.id=t.id||\"directional-\".concat(Xat++),this.color=r,this.intensity=i,this.type=\"directional\",this.direction=new Ve(s).normalize().toArray(),this.shadow=n}getProjectedLight(t){return this}};var Cb=class{constructor(t,r={id:\"pass\"}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"props\",void 0);let{id:i}=r;this.id=i,this.gl=t,this.props={...r}}setProps(t){Object.assign(this.props,t)}render(t){}cleanup(){}};var sc=class extends Cb{constructor(...t){super(...t),G(this,\"_lastRenderIndex\",-1)}render(t){let r=this.gl;return Ml(r,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){let{target:r,moduleParameters:i,viewports:s,views:n,onViewportActive:o,clearStack:c=!0,clearCanvas:f=!0}=t;t.pass=t.pass||\"unknown\";let _=this.gl;f&&Jat(_,r),c&&(this._lastRenderIndex=-1);let w=[];for(let I of s){let R=n&&n[I.id];o?.(I);let N=this._getDrawLayerParams(I,t),j=I.subViewports||[I];for(let Q of j){let et=this._drawLayersInViewport(_,{target:r,moduleParameters:i,viewport:Q,view:R,pass:t.pass,layers:t.layers},N);w.push(et)}}return w}_getDrawLayerParams(t,{layers:r,pass:i,isPicking:s=!1,layerFilter:n,cullRect:o,effects:c,moduleParameters:f},_=!1){let w=[],I=q7(this._lastRenderIndex+1),R={layer:r[0],viewport:t,isPicking:s,renderPass:i,cullRect:o},N={};for(let j=0;jHf(t,I))}let w={totalCount:r.length,visibleCount:0,compositeCount:0,pickableCount:0};Ml(t,{viewport:_});for(let I=0;I{let o=s.props._offset,c=s.id,f=s.parent&&s.parent.id,_;if(f&&!(f in t)&&i(s.parent,!1),f in r){let w=r[f]=r[f]||q7(t[f],t);_=w(s,n),r[c]=w}else Number.isFinite(o)?(_=o+(t[f]||0),r[c]=null):_=e;return n&&_>=e&&(e=_+1),t[c]=_,_};return i}function Kat(e,{moduleParameters:t,target:r,viewport:i}){let s=r&&r.id!==\"default-framebuffer\",n=t&&t.devicePixelRatio||El(e),o=s?r.height:e.drawingBufferHeight,c=i;return[c.x*n,o-(c.y+c.height)*n,c.width*n,c.height*n]}function Jat(e,t){let r=t?t.width:e.drawingBufferWidth,i=t?t.height:e.drawingBufferHeight;Ml(e,{viewport:[0,0,r,i]}),e.clear(16640)}var Lb=class extends sc{constructor(t,r){super(t,r),G(this,\"shadowMap\",void 0),G(this,\"depthBuffer\",void 0),G(this,\"fbo\",void 0),this.shadowMap=new pi(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new el(t,{format:33189,width:1,height:1}),this.fbo=new yi(t,{id:\"shadowmap\",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){let r=this.fbo;Mn(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{let i=t.viewports[0],s=El(this.gl),n=i.width*s,o=i.height*s;(n!==r.width||o!==r.height)&&r.resize({width:n,height:o}),super.render({...t,target:r,pass:\"shadow\"})})}shouldDrawLayer(t){return t.props.shadowEnabled!==!1}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}};var Z7=\"#define SMOOTH_EDGE_RADIUS 0.5\",tlt=`\n`.concat(Z7,`\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n`),elt=`\n`.concat(Z7,`\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n`),Y7={name:\"geometry\",vs:tlt,fs:elt};var rlt=Object.keys(Yr).map(e=>\"const int COORDINATE_SYSTEM_\".concat(e,\" = \").concat(Yr[e],\";\")).join(\"\"),ilt=Object.keys(Ja).map(e=>\"const int PROJECTION_MODE_\".concat(e,\" = \").concat(Ja[e],\";\")).join(\"\"),nlt=Object.keys(po).map(e=>\"const int UNIT_\".concat(e.toUpperCase(),\" = \").concat(po[e],\";\")).join(\"\"),Q7=\"\".concat(rlt,`\n`).concat(ilt,`\n`).concat(nlt,`\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size_at_latitude(float lat) {\n float y = clamp(lat, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n}\n\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n return project_size_at_latitude(geometry.worldPosition.y);\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\n\nfloat project_size_at_latitude(float meters, float lat) {\n return meters * project_uCommonUnitsPerMeter.z * project_size_at_latitude(lat);\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size_at_latitude(position_world.z, position_world.y),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world) + project_offset_(project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n`);function slt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{for(let s in i)if(!slt(i[s],t[s])){r=e(i),t=i;break}return r}}var $7=[0,0,0,0],olt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],X7=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],alt=[0,0,0],K7=[0,0,0],llt=Yf(ult);function hD(e,t,r=K7){r.length<3&&(r=[r[0],r[1],0]);let i=r,s,n=!0;switch(t===Yr.LNGLAT_OFFSETS||t===Yr.METER_OFFSETS?s=r:s=e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case Ja.WEB_MERCATOR:(t===Yr.LNGLAT||t===Yr.CARTESIAN)&&(s=[0,0,0],n=!1);break;case Ja.WEB_MERCATOR_AUTO_OFFSET:t===Yr.LNGLAT?i=s:t===Yr.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],s=e.unprojectPosition(i),i[0]-=r[0],i[1]-=r[1],i[2]-=r[2]);break;case Ja.IDENTITY:i=e.position.map(Math.fround),i[2]=i[2]||0;break;case Ja.GLOBE:n=!1,s=null;break;default:n=!1}return{geospatialOrigin:s,shaderCoordinateOrigin:i,offsetMode:n}}function clt(e,t,r){let{viewMatrixUncentered:i,projectionMatrix:s}=e,{viewMatrix:n,viewProjectionMatrix:o}=e,c=$7,f=$7,_=e.cameraPosition,{geospatialOrigin:w,shaderCoordinateOrigin:I,offsetMode:R}=hD(e,t,r);return R&&(f=e.projectPosition(w||I),_=[_[0]-f[0],_[1]-f[1],_[2]-f[2]],f[3]=1,c=Nh([],f,o),n=i||n,o=qf([],s,n),o=qf([],o,olt)),{viewMatrix:n,viewProjectionMatrix:o,projectionCenter:c,originCommon:f,cameraPosCommon:_,shaderCoordinateOrigin:I,geospatialOrigin:w}}function J7({viewport:e,devicePixelRatio:t=1,modelMatrix:r=null,coordinateSystem:i=Yr.DEFAULT,coordinateOrigin:s=K7,autoWrapLongitude:n=!1}){i===Yr.DEFAULT&&(i=e.isGeospatial?Yr.LNGLAT:Yr.CARTESIAN);let o=llt({viewport:e,devicePixelRatio:t,coordinateSystem:i,coordinateOrigin:s});return o.project_uWrapLongitude=n,o.project_uModelMatrix=r||X7,o}function ult({viewport:e,devicePixelRatio:t,coordinateSystem:r,coordinateOrigin:i}){let{projectionCenter:s,viewProjectionMatrix:n,originCommon:o,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:_}=clt(e,r,i),w=e.getDistanceScales(),I=[e.width*t,e.height*t],R=Nh([],[0,0,-e.focalDistance,1],e.projectionMatrix)[3]||1,N={project_uCoordinateSystem:r,project_uProjectionMode:e.projectionMode,project_uCoordinateOrigin:f,project_uCommonOrigin:o.slice(0,3),project_uCenter:s,project_uPseudoMeters:!!e._pseudoMeters,project_uViewportSize:I,project_uDevicePixelRatio:t,project_uFocalDistance:R,project_uCommonUnitsPerMeter:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:alt,project_uScale:e.scale,project_uWrapLongitude:!1,project_uViewProjectionMatrix:n,project_uModelMatrix:X7,project_uCameraPosition:c};if(_){let j=e.getDistanceScales(_);switch(r){case Yr.METER_OFFSETS:N.project_uCommonUnitsPerWorldUnit=j.unitsPerMeter,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerMeter2;break;case Yr.LNGLAT:case Yr.LNGLAT_OFFSETS:e._pseudoMeters||(N.project_uCommonUnitsPerMeter=j.unitsPerMeter),N.project_uCommonUnitsPerWorldUnit=j.unitsPerDegree,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerDegree2;break;case Yr.CARTESIAN:N.project_uCommonUnitsPerWorldUnit=[1,1,j.unitsPerMeter[2]],N.project_uCommonUnitsPerWorldUnit2=[0,0,j.unitsPerMeter2[2]];break;default:break}}return N}var hlt={};function flt(e=hlt){return\"viewport\"in e?J7(e):{}}var Vh={name:\"project\",dependencies:[CE,Y7],vs:Q7,getUniforms:flt};function fD(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function JA(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}function dD(e,t){let r=e%t;return r<0?t+r:r}function tG(e,t,r){return r*t+(1-r)*e}function kb(e,t,r){return er?r:e}function dlt(e){return Math.log(e)*Math.LOG2E}var Vy=Math.log2||dlt;function Bu(e,t){if(!e)throw new Error(t||\"@math.gl/web-mercator: assertion failed.\")}var jh=Math.PI,eG=jh/4,Fu=jh/180,pD=180/jh,jy=512,KE=4003e4,Gy=85.051129,rG=1.5;function Rb(e){return Math.pow(2,e)}function JE(e){return Vy(e)}function va(e){let[t,r]=e;Bu(Number.isFinite(t)),Bu(Number.isFinite(r)&&r>=-90&&r<=90,\"invalid latitude\");let i=t*Fu,s=r*Fu,n=jy*(i+jh)/(2*jh),o=jy*(jh+Math.log(Math.tan(eG+s*.5)))/(2*jh);return[n,o]}function oc(e){let[t,r]=e,i=t/jy*(2*jh)-jh,s=2*(Math.atan(Math.exp(r/jy*(2*jh)-jh))-eG);return[i*pD,s*pD]}function AD(e){let{latitude:t}=e;Bu(Number.isFinite(t));let r=Math.cos(t*Fu);return JE(KE*r)-9}function Db(e){let t=Math.cos(e*Fu);return jy/KE/t}function Wy(e){let{latitude:t,longitude:r,highPrecision:i=!1}=e;Bu(Number.isFinite(t)&&Number.isFinite(r));let s=jy,n=Math.cos(t*Fu),o=s/360,c=o/n,f=s/KE/n,_={unitsPerMeter:[f,f,f],metersPerUnit:[1/f,1/f,1/f],unitsPerDegree:[o,c,f],degreesPerUnit:[1/o,1/c,1/f]};if(i){let w=Fu*Math.tan(t*Fu)/n,I=o*w/2,R=s/KE*w,N=R/c*f;_.unitsPerDegree2=[0,I,R],_.unitsPerMeter2=[N,0,N]}return _}function Ob(e,t){let[r,i,s]=e,[n,o,c]=t,{unitsPerMeter:f,unitsPerMeter2:_}=Wy({longitude:r,latitude:i,highPrecision:!0}),w=va(e);w[0]+=n*(f[0]+_[0]*o),w[1]+=o*(f[1]+_[1]*o);let I=oc(w),R=(s||0)+(c||0);return Number.isFinite(s)||Number.isFinite(c)?[I[0],I[1],R]:I}function tP(e){let{height:t,pitch:r,bearing:i,altitude:s,scale:n,center:o}=e,c=fD();ag(c,c,[0,0,-s]),WE(c,c,-r*Fu),HE(c,c,i*Fu);let f=n/t;return By(c,c,[f,f,f]),o&&ag(c,c,Gj([],o)),c}function mD(e){let{width:t,height:r,altitude:i,pitch:s=0,offset:n,center:o,scale:c,nearZMultiplier:f=1,farZMultiplier:_=1}=e,{fovy:w=cg(rG)}=e;i!==void 0&&(w=cg(i));let I=w*Fu,R=s*Fu,N=Bb(w),j=N;o&&(j+=o[2]*c/Math.cos(R)/r);let Q=I*(.5+(n?n[1]:0)/r),et=Math.sin(Q)*j/Math.sin(kb(Math.PI/2-R-Q,.01,Math.PI-.01)),Y=Math.sin(R)*et+j,K=j*10,J=Math.min(Y*_,K);return{fov:I,aspect:t/r,focalDistance:N,near:f,far:J}}function cg(e){return 2*Math.atan(.5/e)*pD}function Bb(e){return .5/Math.tan(.5*e*Fu)}function Hy(e,t){let[r,i,s=0]=e;return Bu(Number.isFinite(r)&&Number.isFinite(i)&&Number.isFinite(s)),JA(t,[r,i,s,1])}function Qf(e,t,r=0){let[i,s,n]=e;if(Bu(Number.isFinite(i)&&Number.isFinite(s),\"invalid pixel coordinate\"),Number.isFinite(n))return JA(t,[i,s,n,1]);let o=JA(t,[i,s,0,1]),c=JA(t,[i,s,1,1]),f=o[2],_=c[2],w=f===_?0:((r||0)-f)/(_-f);return kE([],o,c,w)}function Fb(e){let{width:t,height:r,bounds:i,minExtent:s=0,maxZoom:n=24,offset:o=[0,0]}=e,[[c,f],[_,w]]=i,I=plt(e.padding),R=va([c,kb(w,-Gy,Gy)]),N=va([_,kb(f,-Gy,Gy)]),j=[Math.max(Math.abs(N[0]-R[0]),s),Math.max(Math.abs(N[1]-R[1]),s)],Q=[t-I.left-I.right-Math.abs(o[0])*2,r-I.top-I.bottom-Math.abs(o[1])*2];Bu(Q[0]>0&&Q[1]>0);let et=Q[0]/j[0],Y=Q[1]/j[1],K=(I.right-I.left)/2/et,J=(I.top-I.bottom)/2/Y,ut=[(N[0]+R[0])/2+K,(N[1]+R[1])/2+J],Et=oc(ut),kt=Math.min(n,Vy(Math.abs(Math.min(et,Y))));return Bu(Number.isFinite(kt)),{longitude:Et[0],latitude:Et[1],zoom:kt}}function plt(e=0){return typeof e==\"number\"?{top:e,bottom:e,left:e,right:e}:(Bu(Number.isFinite(e.top)&&Number.isFinite(e.bottom)&&Number.isFinite(e.left)&&Number.isFinite(e.right)),e)}var iG=Math.PI/180;function zb(e,t=0){let{width:r,height:i,unproject:s}=e,n={targetZ:t},o=s([0,i],n),c=s([r,i],n),f,_,w=e.fovy?.5*e.fovy*iG:Math.atan(.5/e.altitude),I=(90-e.pitch)*iG;return w>I-.01?(f=nG(e,0,t),_=nG(e,r,t)):(f=s([0,0],n),_=s([r,0],n)),[o,c,_,f]}function nG(e,t,r){let{pixelUnprojectionMatrix:i}=e,s=JA(i,[t,0,1,1]),n=JA(i,[t,e.height,1,1]),c=(r*e.distanceScales.unitsPerMeter[2]-s[2])/(n[2]-s[2]),f=kE([],s,n,c),_=oc(f);return _.push(r),_}var sG=512;function eP(e){let{width:t,height:r,pitch:i=0}=e,{longitude:s,latitude:n,zoom:o,bearing:c=0}=e;(s<-180||s>180)&&(s=dD(s+180,360)-180),(c<-180||c>180)&&(c=dD(c+180,360)-180);let f=Vy(r/sG);if(o<=f)o=f,n=0;else{let _=r/2/Math.pow(2,o),w=oc([0,_])[1];if(nI&&(n=I)}}return{width:t,height:r,longitude:s,latitude:n,zoom:o,pitch:i,bearing:c}}var oG=.01,mlt=[\"longitude\",\"latitude\",\"zoom\"],aG={curve:1.414,speed:1.2};function rP(e,t,r,i){let{startZoom:s,startCenterXY:n,uDelta:o,w0:c,u1:f,S:_,rho:w,rho2:I,r0:R}=lG(e,t,i);if(fo?0:w}function lG(e,t,r){r=Object.assign({},aG,r);let i=r.curve,s=e.zoom,n=[e.longitude,e.latitude],o=Rb(s),c=t.zoom,f=[t.longitude,t.latitude],_=Rb(c-s),w=va(n),I=va(f),R=Nj([],I,w),N=Math.max(e.width,e.height),j=N/_,Q=Bj(R)*o,et=Math.max(Q,oG),Y=i*i,K=(j*j-N*N+Y*Y*et*et)/(2*N*Y*et),J=(j*j-N*N-Y*Y*et*et)/(2*j*Y*et),ut=Math.log(Math.sqrt(K*K+1)-K),Et=Math.log(Math.sqrt(J*J+1)-J),kt=(Et-ut)/i;return{startZoom:s,startCenterXY:w,uDelta:R,w0:N,u1:Q,S:kt,rho:i,rho2:Y,r0:ut,r1:Et}}var _lt=`\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n`,ylt=`\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n`,vlt=Yf(Tlt),xlt=Yf(Mlt),blt=[0,0,0,1],wlt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];function Slt(e,t){let[r,i,s]=e,n=Qf([r,i,s],t);return Number.isFinite(s)?n:[n[0],n[1],0]}function Tlt({viewport:e,center:t}){return new En(e.viewProjectionMatrix).invert().transform(t)}function Mlt({viewport:e,shadowMatrices:t}){let r=[],i=e.pixelUnprojectionMatrix,s=e.isGeospatial?void 0:1,n=[[0,0,s],[e.width,0,s],[0,e.height,s],[e.width,e.height,s],[0,0,-1],[e.width,0,-1],[0,e.height,-1],[e.width,e.height,-1]].map(o=>Slt(o,i));for(let o of t){let c=o.clone().translate(new Ve(e.center).negate()),f=n.map(w=>c.transform(w)),_=new En().ortho({left:Math.min(...f.map(w=>w[0])),right:Math.max(...f.map(w=>w[0])),bottom:Math.min(...f.map(w=>w[1])),top:Math.max(...f.map(w=>w[1])),near:Math.min(...f.map(w=>-w[2])),far:Math.max(...f.map(w=>-w[2]))});r.push(_.multiplyRight(o))}return r}function Elt(e,t){let{shadowEnabled:r=!0}=e;if(!r||!e.shadowMatrices||!e.shadowMatrices.length)return{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1};let i={shadow_uDrawShadowMap:!!e.drawToShadowMap,shadow_uUseShadowMap:e.shadowMaps?e.shadowMaps.length>0:!1,shadow_uColor:e.shadowColor||blt,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},s=vlt({viewport:e.viewport,center:t.project_uCenter}),n=[],o=xlt({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice();for(let c=0;c0?i[\"shadow_uShadowMap\".concat(c)]=e.shadowMaps[c]:i[\"shadow_uShadowMap\".concat(c)]=e.dummyShadowMap;return i}var Nb={name:\"shadow\",dependencies:[Vh],vs:_lt,fs:ylt,inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n position = shadow_setVertexPosition(geometry.position);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n color = shadow_filterShadowColor(color);\n `},getUniforms:(e={},t={})=>\"viewport\"in e&&(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0)?Elt(e,t):{}};var Plt={color:[255,255,255],intensity:1},cG=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ilt=[0,0,0,200/255],qy=class{constructor(t={}){G(this,\"id\",\"lighting-effect\"),G(this,\"props\",void 0),G(this,\"shadowColor\",Ilt),G(this,\"shadow\",void 0),G(this,\"ambientLight\",void 0),G(this,\"directionalLights\",void 0),G(this,\"pointLights\",void 0),G(this,\"shadowPasses\",[]),G(this,\"shadowMaps\",[]),G(this,\"dummyShadowMap\",null),G(this,\"programManager\",void 0),G(this,\"shadowMatrices\",void 0),this.setProps(t)}setProps(t){this.ambientLight=null,this.directionalLights=[],this.pointLights=[];for(let r in t){let i=t[r];switch(i.type){case\"ambient\":this.ambientLight=i;break;case\"directional\":this.directionalLights.push(i);break;case\"point\":this.pointLights.push(i);break;default:}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(r=>r.shadow),this.props=t}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o}){if(this.shadow){this.shadowMatrices=this._calculateMatrices(),this.shadowPasses.length===0&&this._createShadowPasses(t),this.programManager||(this.programManager=Uh.getDefaultProgramManager(t),Nb&&this.programManager.addDefaultModule(Nb)),this.dummyShadowMap||(this.dummyShadowMap=new pi(t,{width:1,height:1}));for(let c=0;ci.getProjectedLight({layer:t})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:t}))},r}cleanup(){for(let t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(Nb),this.programManager=null)}_calculateMatrices(){let t=[];for(let r of this.directionalLights){let i=new En().lookAt({eye:new Ve(r.direction).negate()});t.push(i)}return t}_createShadowPasses(t){for(let r=0;rs&&(n=s);let o=this._pool,c=t.BYTES_PER_ELEMENT*n,f=o.findIndex(_=>_.byteLength>=c);if(f>=0){let _=new t(o.splice(f,1)[0],0,n);return i&&_.fill(0),_}return new t(n)}_release(t){if(!ArrayBuffer.isView(t))return;let r=this._pool,{buffer:i}=t,{byteLength:s}=i,n=r.findIndex(o=>o.byteLength>=s);n<0?r.push(i):(n>0||r.lengththis.opts.poolSize&&r.shift()}},Gh=new _D;function Yy(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function hG(e){return[e[12],e[13],e[14]]}function fG(e){return{left:Zy(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:Zy(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:Zy(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:Zy(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:Zy(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:Zy(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}var uG=new Ve;function Zy(e,t,r,i){uG.set(e,t,r);let s=uG.len();return{distance:i/s,normal:new Ve(-e/s,-t/s,-r/s)}}function Clt(e){return e-Math.fround(e)}var Ub;function iP(e,t){let{size:r=1,startIndex:i=0}=t,s=t.endIndex!==void 0?t.endIndex:e.length,n=(s-i)/r;Ub=Gh.allocate(Ub,n,{type:Float32Array,size:r*2});let o=i,c=0;for(;osuper.render({target:o,layers:t,layerFilter:r,views:i,viewports:s,onViewportActive:n,cullRect:I,effects:R?.filter(ut=>ut.useInPicking),pass:N,isPicking:!0,moduleParameters:Q}));return this._colorEncoderState=null,{decodePickingColor:Y&&Flt.bind(null,Y),stats:K}}shouldDrawLayer(t){let{pickable:r,operation:i}=t.props;return r&&i.includes(\"draw\")||i.includes(\"terrain\")||i.includes(\"mask\")}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,r,i){let s={...t.props.parameters},{pickable:n,operation:o}=t.props;return this._colorEncoderState?n&&o.includes(\"draw\")&&(Object.assign(s,gG),s.blend=!0,s.blendColor=Blt(this._colorEncoderState,t,i)):s.blend=!1,o.includes(\"terrain\")&&(s.blend=!1),s}_resetColorEncoder(t){return this._colorEncoderState=t?null:{byLayer:new Map,byAlpha:[]},this._colorEncoderState}};function Blt(e,t,r){let{byLayer:i,byAlpha:s}=e,n,o=i.get(t);return o?(o.viewports.push(r),n=o.a):(n=i.size+1,n<=255?(o={a:n,layer:t,viewports:[r]},i.set(t,o),s[n]=o):(or.warn(\"Too many pickable layers, only picking the first 255\")(),n=0)),[0,0,0,n/255]}function Flt(e,t){let r=e.byAlpha[t[3]];return r&&{pickedLayer:r.layer,pickedViewports:r.viewports,pickedObjectIndex:r.layer.decodePickingColor(t)}}var tm={NO_STATE:\"Awaiting state\",MATCHED:\"Matched. State transferred from previous layer\",INITIALIZED:\"Initialized\",AWAITING_GC:\"Discarded. Awaiting garbage collection\",AWAITING_FINALIZATION:\"No longer matched. Awaiting garbage collection\",FINALIZED:\"Finalized! Awaiting garbage collection\"},Qy=Symbol.for(\"component\"),zu=Symbol.for(\"propTypes\"),nP=Symbol.for(\"deprecatedProps\"),sp=Symbol.for(\"asyncPropDefaults\"),$f=Symbol.for(\"asyncPropOriginal\"),Wh=Symbol.for(\"asyncPropResolved\");function op(e,t=()=>!0){return Array.isArray(e)?_G(e,t,[]):t(e)?[e]:[]}function _G(e,t,r){let i=-1;for(;++i0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,r){if(t===this._data&&!r)return;this._data=t;let i=++this._loadCount,s=t;typeof t==\"string\"&&(s=jA(t)),s instanceof Promise?(this.isLoaded=!1,this._loader=s.then(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=void 0,this._content=n)}).catch(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=n||!0)})):(this.isLoaded=!0,this._error=void 0,this._content=t);for(let n of this._subscribers)n.onChange(this.getData())}};var jb=class{constructor({gl:t,protocol:r}){G(this,\"protocol\",void 0),G(this,\"_context\",void 0),G(this,\"_resources\",void 0),G(this,\"_consumers\",void 0),G(this,\"_pruneRequest\",void 0),this.protocol=r||\"resource://\",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return t.startsWith(this.protocol)?!0:t in this._resources}add({resourceId:t,data:r,forceUpdate:i=!1,persistent:s=!0}){let n=this._resources[t];n?n.setData(r,i):(n=new Vb(t,r,this._context),this._resources[t]=n),n.persistent=s}remove(t){let r=this._resources[t];r&&(r.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){let r=this._consumers[t];if(r){for(let i in r){let s=r[i],n=this._resources[s.resourceId];n&&n.unsubscribe(s)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:r,consumerId:i,requestId:s=\"default\"}){let{_resources:n,protocol:o}=this;t.startsWith(o)&&(t=t.replace(o,\"\"),n[t]||this.add({resourceId:t,data:null,persistent:!1}));let c=n[t];if(this._track(i,s,c,r),c)return c.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(let t in this._resources)this._resources[t].delete()}_track(t,r,i,s){let n=this._consumers,o=n[t]=n[t]||{},c=o[r]||{},f=c.resourceId&&this._resources[c.resourceId];f&&(f.unsubscribe(c),this.prune()),i&&(o[r]=c,c.onChange=s,c.resourceId=i.id,i.subscribe(c))}_prune(){this._pruneRequest=null;for(let t of Object.keys(this._resources)){let r=this._resources[t];!r.persistent&&!r.inUse()&&(r.delete(),delete this._resources[t])}}};var zlt=`\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n mat3 rotation;\n if (project_needs_rotation(projectedPosition, rotation)) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n`,Rs={name:\"project32\",dependencies:[Vh],vs:zlt};var Ao={inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n // for picking depth values\n picking_setPickingAttribute(position.z / position.w);\n `,\"vs:DECKGL_FILTER_COLOR\":`\n picking_setPickingColor(geometry.pickingColor);\n `,\"fs:#decl\":`\nuniform bool picking_uAttribute;\n `,\"fs:DECKGL_FILTER_COLOR\":{order:99,injection:`\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n `}},...QE};var Nlt=[Vh],Ult=[\"vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)\",\"fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)\"];function yG(e){let t=Uh.getDefaultProgramManager(e);for(let r of Nlt)t.addDefaultModule(r);for(let r of Ult)t.addShaderHook(r);return t}var Vlt=\"layerManager.setLayers\",jlt=\"layerManager.activateViewport\",Gb=class{constructor(t,{deck:r,stats:i,viewport:s,timeline:n}={}){G(this,\"layers\",void 0),G(this,\"context\",void 0),G(this,\"resourceManager\",void 0),G(this,\"_lastRenderedLayers\",[]),G(this,\"_needsRedraw\",!1),G(this,\"_needsUpdate\",!1),G(this,\"_nextLayers\",null),G(this,\"_debug\",!1),G(this,\"activateViewport\",o=>{Ls(jlt,this,o),o&&(this.context.viewport=o)}),this.layers=[],this.resourceManager=new jb({gl:t,protocol:\"deck://\"}),this.context={mousePosition:null,userData:{},layerManager:this,gl:t,deck:r,programManager:t&&yG(t),stats:i||new Gf({id:\"deck.gl\"}),viewport:s||new ac({id:\"DEFAULT-INITIAL-VIEWPORT\"}),timeline:n||new KA,resourceManager:this.resourceManager,onError:void 0},Object.seal(this)}finalize(){this.resourceManager.finalize();for(let t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(let i of this.layers){let s=i.getNeedsRedraw(t);r=r||s}return r}needsUpdate(){return this._nextLayers&&this._nextLayers!==this._lastRenderedLayers?\"layers changed\":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t}={}){return t?this.layers.filter(r=>t.find(i=>r.id.indexOf(i)===0)):this.layers}setProps(t){\"debug\"in t&&(this._debug=t.debug),\"userData\"in t&&(this.context.userData=t.userData),\"layers\"in t&&(this._nextLayers=t.layers),\"onError\"in t&&(this.context.onError=t.onError)}setLayers(t,r){Ls(Vlt,this,r,t),this._lastRenderedLayers=t;let i=op(t,Boolean);for(let s of i)s.context=this.context;this._updateLayers(this.layers,i)}updateLayers(){let t=this.needsUpdate();t&&(this.setNeedsRedraw(\"updating layers: \".concat(t)),this.setLayers(this._nextLayers||this._lastRenderedLayers,t)),this._nextLayers=null}_handleError(t,r,i){i.raiseError(r,\"\".concat(t,\" of \").concat(i))}_updateLayers(t,r){let i={};for(let o of t)i[o.id]?or.warn(\"Multiple old layers with same id \".concat(o.id))():i[o.id]=o;let s=[];this._updateSublayersRecursively(r,i,s),this._finalizeOldLayers(i);let n=!1;for(let o of s)if(o.hasUniformTransition()){n=\"Uniform transition in \".concat(o);break}this._needsUpdate=n,this.layers=s}_updateSublayersRecursively(t,r,i){for(let s of t){s.context=this.context;let n=r[s.id];n===null&&or.warn(\"Multiple new layers with same id \".concat(s.id))(),r[s.id]=null;let o=null;try{this._debug&&n!==s&&s.validateProps(),n?(this._transferLayerState(n,s),this._updateLayer(s)):this._initializeLayer(s),i.push(s),o=s.isComposite?s.getSubLayers():null}catch(c){this._handleError(\"matching\",c,s)}o&&this._updateSublayersRecursively(o,r,i)}}_finalizeOldLayers(t){for(let r in t){let i=t[r];i&&this._finalizeLayer(i)}}_initializeLayer(t){try{t._initialize(),t.lifecycle=tm.INITIALIZED}catch(r){this._handleError(\"initialization\",r,t)}}_transferLayerState(t,r){r._transferState(t),r.lifecycle=tm.MATCHED,r!==t&&(t.lifecycle=tm.AWAITING_GC)}_updateLayer(t){try{t._update()}catch(r){this._handleError(\"update\",r,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||\"finalized \".concat(t),t.lifecycle=tm.AWAITING_FINALIZATION;try{t._finalize(),t.lifecycle=tm.FINALIZED}catch(r){this._handleError(\"finalization\",r,t)}}};function mo(e,t,r){if(e===t)return!0;if(!r||!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let i=0;ir.containsPixel(t)):this._viewports}getViews(){let t={};return this.views.forEach(r=>{t[r.id]=r}),t}getView(t){return this.views.find(r=>r.id===t)}getViewState(t){let r=typeof t==\"string\"?this.getView(t):t,i=r&&this.viewState[r.getViewStateId()]||this.viewState;return r?r.filterViewState(i):i}getViewport(t){return this._viewportMap[t]}unproject(t,r){let i=this.getViewports(),s={x:t[0],y:t[1]};for(let n=i.length-1;n>=0;--n){let o=i[n];if(o.containsPixel(s)){let c=t.slice();return c[0]-=o.x,c[1]-=o.y,o.unproject(c,r)}}return null}setProps(t){t.views&&this._setViews(t.views),t.viewState&&this._setViewState(t.viewState),(\"width\"in t||\"height\"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,r){(t!==this.width||r!==this.height)&&(this.width=t,this.height=r,this.setNeedsUpdate(\"Size changed\"))}_setViews(t){t=op(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate(\"views changed\"),this.views=t}_setViewState(t){t?(!mo(t,this.viewState,3)&&this.setNeedsUpdate(\"viewState changed\"),this.viewState=t):or.warn(\"missing `viewState` or `initialViewState`\")()}_onViewStateChange(t,r){this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange({...r,viewId:t})}_createController(t,r){let i=r.type;return new i({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,r.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:n=>{var o;return(o=this.getView(t.id))===null||o===void 0?void 0:o.makeViewport({viewState:n,width:this.width,height:this.height})}})}_updateController(t,r,i,s){let n=t.controller;if(n&&i){let o={...r,...n,id:t.id,x:i.x,y:i.y,width:i.width,height:i.height};return(!s||s.constructor!==n.type)&&(s=this._createController(t,o)),s&&s.setProps(o),s}return null}_rebuildViewports(){let{views:t}=this,r=this.controllers;this._viewports=[],this.controllers={};let i=!1;for(let s=t.length;s--;){let n=t[s],o=this.getViewState(n),c=n.makeViewport({viewState:o,width:this.width,height:this.height}),f=r[n.id],_=!!n.controller;_&&!f&&(i=!0),(i||!_)&&f&&(f.finalize(),f=null),this.controllers[n.id]=this._updateController(n,o,c,f),c&&this._viewports.unshift(c)}for(let s in r){let n=r[s];n&&!this.controllers[s]&&n.finalize()}this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,r){return t.length!==r.length?!0:t.some((i,s)=>!t[s].equals(r[s]))}};var Glt=/([0-9]+\\.?[0-9]*)(%|px)/;function ap(e){switch(typeof e){case\"number\":return{position:e,relative:!1};case\"string\":let t=Glt.exec(e);if(t&&t.length>=3){let r=t[2]===\"%\",i=parseFloat(t[1]);return{position:r?i/100:i,relative:r}}default:throw new Error(\"Could not parse position string \".concat(e))}}function lp(e,t){return e.relative?Math.round(e.position*t):e.position}function _r(e,t){if(!e)throw new Error(t||\"deck.gl: assertion failed.\")}var Xc=class{constructor(t){G(this,\"id\",void 0),G(this,\"viewportInstance\",void 0),G(this,\"_x\",void 0),G(this,\"_y\",void 0),G(this,\"_width\",void 0),G(this,\"_height\",void 0),G(this,\"_padding\",void 0),G(this,\"props\",void 0);let{id:r,x:i=0,y:s=0,width:n=\"100%\",height:o=\"100%\",padding:c=null,viewportInstance:f}=t||{};_r(!f||f instanceof ac),this.viewportInstance=f,this.id=r||this.constructor.displayName||\"view\",this.props={...t,id:this.id},this._x=ap(i),this._y=ap(s),this._width=ap(n),this._height=ap(o),this._padding=c&&{left:ap(c.left||0),right:ap(c.right||0),top:ap(c.top||0),bottom:ap(c.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t?!0:this.viewportInstance?t.viewportInstance?this.viewportInstance.equals(t.viewportInstance):!1:this.ViewportType===t.ViewportType&&mo(this.props,t.props,2)}makeViewport({width:t,height:r,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);let s=this.getDimensions({width:t,height:r});return!s.height||!s.width?null:new this.ViewportType({...i,...this.props,...s})}getViewStateId(){let{viewState:t}=this.props;return typeof t==\"string\"?t:t?.id||this.id}filterViewState(t){if(this.props.viewState&&typeof this.props.viewState==\"object\"){if(!this.props.viewState.id)return this.props.viewState;let r={...t};for(let i in this.props.viewState)i!==\"id\"&&(r[i]=this.props.viewState[i]);return r}return t}getDimensions({width:t,height:r}){let i={x:lp(this._x,t),y:lp(this._y,r),width:lp(this._width,t),height:lp(this._height,r)};return this._padding&&(i.padding={left:lp(this._padding.left,t),top:lp(this._padding.top,r),right:lp(this._padding.right,t),bottom:lp(this._padding.bottom,r)}),i}get controller(){let t=this.props.controller;return t?t===!0?{type:this.ControllerType}:typeof t==\"function\"?{type:t}:{type:this.ControllerType,...t}:null}};var Kc=class{constructor(t){G(this,\"_inProgress\",void 0),G(this,\"_handle\",void 0),G(this,\"_timeline\",void 0),G(this,\"time\",void 0),G(this,\"settings\",void 0),this._inProgress=!1,this._handle=null,this._timeline=t,this.time=0,this.settings={duration:0}}get inProgress(){return this._inProgress}start(t){var r,i;this.cancel(),this.settings=t,this._inProgress=!0,(r=(i=this.settings).onStart)===null||r===void 0||r.call(i,this)}end(){if(this._inProgress){var t,r;this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,(t=(r=this.settings).onEnd)===null||t===void 0||t.call(r,this)}}cancel(){if(this._inProgress){var t,r;(t=(r=this.settings).onInterrupt)===null||t===void 0||t.call(r,this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1}}update(){var t,r;if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:i,settings:s}=this;this._handle=i.addChannel({delay:i.getTime(),duration:s.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),(t=(r=this.settings).onUpdate)===null||t===void 0||t.call(r,this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var vG=()=>{},bD={BREAK:1,SNAP_TO_END:2,IGNORE:3},Wlt=e=>e,Hlt=bD.BREAK,Hb=class{constructor(t){G(this,\"getControllerState\",void 0),G(this,\"props\",void 0),G(this,\"propsInTransition\",void 0),G(this,\"transition\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"_onTransitionUpdate\",r=>{let{time:i,settings:{interpolator:s,startProps:n,endProps:o,duration:c,easing:f}}=r,_=f(i/c),w=s.interpolateProps(n,o,_);this.propsInTransition=this.getControllerState({...this.props,...w}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}),this.getControllerState=t.getControllerState,this.propsInTransition=null,this.transition=new Kc(t.timeline),this.onViewStateChange=t.onViewStateChange||vG,this.onStateChange=t.onStateChange||vG}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let r=!1,i=this.props;if(this.props=t,!i||this._shouldIgnoreViewportChange(i,t))return!1;if(this._isTransitionEnabled(t)){let s=i;if(this.transition.inProgress){let{interruption:n,endProps:o}=this.transition.settings;s={...i,...n===bD.SNAP_TO_END?o:this.propsInTransition||i}}this._triggerTransition(s,t),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(t){let{transitionDuration:r,transitionInterpolator:i}=t;return(r>0||r===\"auto\")&&!!i}_isUpdateDueToCurrentTransition(t){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition):!1}_shouldIgnoreViewportChange(t,r){return this.transition.inProgress?this.transition.settings.interruption===bD.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(t,r):!0}_triggerTransition(t,r){let i=this.getControllerState(t),s=this.getControllerState(r).shortestPathFrom(i),n=r.transitionInterpolator,o=n.getDuration?n.getDuration(t,r):r.transitionDuration;if(o===0)return;let c=n.initializeProps(t,s);this.propsInTransition={};let f={duration:o,easing:r.transitionEasing||Wlt,interpolator:n,interruption:r.transitionInterruption||Hlt,startProps:c.start,endProps:c.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(f),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t?.(r)}}};var hg=class{constructor(t){G(this,\"_propsToCompare\",void 0),G(this,\"_propsToExtract\",void 0),G(this,\"_requiredProps\",void 0);let{compare:r,extract:i,required:s}=t;this._propsToCompare=r,this._propsToExtract=i||r,this._requiredProps=s}arePropsEqual(t,r){for(let i of this._propsToCompare)if(!(i in t)||!(i in r)||!Ro(t[i],r[i]))return!1;return!0}initializeProps(t,r){let i={},s={};for(let n of this._propsToExtract)(n in t||n in r)&&(i[n]=t[n],s[n]=r[n]);return this._checkRequiredProps(i),this._checkRequiredProps(s),{start:i,end:s}}getDuration(t,r){return r.transitionDuration}_checkRequiredProps(t){this._requiredProps&&this._requiredProps.forEach(r=>{let i=t[r];_r(Number.isFinite(i)||Array.isArray(i),\"\".concat(r,\" is required for transition\"))})}};var qlt=[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\"],Zlt=[\"longitude\",\"latitude\",\"zoom\"],fg=class extends hg{constructor(t={}){let r=Array.isArray(t)?t:t.transitionProps,i=Array.isArray(t)?{}:t;i.transitionProps=Array.isArray(r)?{compare:r,required:r}:r||{compare:qlt,required:Zlt},super(i.transitionProps),G(this,\"opts\",void 0),this.opts=i}initializeProps(t,r){let i=super.initializeProps(t,r),{makeViewport:s,around:n}=this.opts;if(s&&n){let o=s(t),c=s(r),f=o.unproject(n);i.start.around=n,Object.assign(i.end,{around:c.project(f),aroundPosition:f,width:r.width,height:r.height})}return i}interpolateProps(t,r,i){let s={};for(let n of this._propsToExtract)s[n]=il(t[n]||0,r[n]||0,i);if(r.aroundPosition&&this.opts.makeViewport){let n=this.opts.makeViewport({...r,...s});Object.assign(s,n.panByPosition(r.aroundPosition,il(t.around,r.around,i)))}return s}};var em={transitionDuration:0},Ylt=300,sP=e=>1-(1-e)*(1-e),$y={WHEEL:[\"wheel\"],PAN:[\"panstart\",\"panmove\",\"panend\"],PINCH:[\"pinchstart\",\"pinchmove\",\"pinchend\"],TRIPLE_PAN:[\"tripanstart\",\"tripanmove\",\"tripanend\"],DOUBLE_TAP:[\"doubletap\"],KEYBOARD:[\"keydown\"]},dg={},qb=class{constructor(t){G(this,\"props\",void 0),G(this,\"state\",{}),G(this,\"transitionManager\",void 0),G(this,\"eventManager\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"makeViewport\",void 0),G(this,\"_controllerState\",void 0),G(this,\"_events\",{}),G(this,\"_interactionState\",{isDragging:!1}),G(this,\"_customEvents\",[]),G(this,\"_eventStartBlocked\",null),G(this,\"_panMove\",!1),G(this,\"invertPan\",!1),G(this,\"dragMode\",\"rotate\"),G(this,\"inertia\",0),G(this,\"scrollZoom\",!0),G(this,\"dragPan\",!0),G(this,\"dragRotate\",!0),G(this,\"doubleClickZoom\",!0),G(this,\"touchZoom\",!0),G(this,\"touchRotate\",!1),G(this,\"keyboard\",!0),this.transitionManager=new Hb({...t,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=t.eventManager,this.onViewStateChange=t.onViewStateChange||(()=>{}),this.onStateChange=t.onStateChange||(()=>{}),this.makeViewport=t.makeViewport}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.props&&this.setProps(this.props)}finalize(){for(let r in this._events)if(this._events[r]){var t;(t=this.eventManager)===null||t===void 0||t.off(r,this.handleEvent)}this.transitionManager.finalize()}handleEvent(t){this._controllerState=void 0;let r=this._eventStartBlocked;switch(t.type){case\"panstart\":return r?!1:this._onPanStart(t);case\"panmove\":return this._onPan(t);case\"panend\":return this._onPanEnd(t);case\"pinchstart\":return r?!1:this._onPinchStart(t);case\"pinchmove\":return this._onPinch(t);case\"pinchend\":return this._onPinchEnd(t);case\"tripanstart\":return r?!1:this._onTriplePanStart(t);case\"tripanmove\":return this._onTriplePan(t);case\"tripanend\":return this._onTriplePanEnd(t);case\"doubletap\":return this._onDoubleTap(t);case\"wheel\":return this._onWheel(t);case\"keydown\":return this._onKeyDown(t);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(t){let{x:r,y:i}=this.props,{offsetCenter:s}=t;return[s.x-r,s.y-i]}isPointInBounds(t,r){let{width:i,height:s}=this.props;if(r&&r.handled)return!1;let n=t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=s;return n&&r&&r.stopPropagation(),n}isFunctionKeyPressed(t){let{srcEvent:r}=t;return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(t){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=r}setProps(t){t.dragMode&&(this.dragMode=t.dragMode),this.props=t,\"transitionInterpolator\"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:r}=t;this.inertia=Number.isFinite(r)?r:r===!0?Ylt:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:n=!0,doubleClickZoom:o=!0,touchZoom:c=!0,touchRotate:f=!1,keyboard:_=!0}=t,w=!!this.onViewStateChange;this.toggleEvents($y.WHEEL,w&&i),this.toggleEvents($y.PAN,w),this.toggleEvents($y.PINCH,w&&(c||f)),this.toggleEvents($y.TRIPLE_PAN,w&&f),this.toggleEvents($y.DOUBLE_TAP,w&&o),this.toggleEvents($y.KEYBOARD,w&&_),this.scrollZoom=i,this.dragPan=s,this.dragRotate=n,this.doubleClickZoom=o,this.touchZoom=c,this.touchRotate=f,this.keyboard=_}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,r){this.eventManager&&t.forEach(i=>{this._events[i]!==r&&(this._events[i]=r,r?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(t,r=null,i={}){let s={...t.getViewportProps(),...r},n=this.controllerState!==t;if(this.state=t.getState(),this._setInteractionState(i),n){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:s,interactionState:this._interactionState,oldViewState:o})}}_onTransition(t){this.onViewStateChange({...t,interactionState:this._interactionState})}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange(this._interactionState)}_onPanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t)||t.rightButton||!1;(this.invertPan||this.dragMode===\"pan\")&&(i=!i);let s=this.controllerState[i?\"panStart\":\"rotateStart\"]({pos:r});return this._panMove=i,this.updateViewport(s,em,{isDragging:!0}),!0}_onPan(t){return this.isDragging()?this._panMove?this._onPanMove(t):this._onPanRotate(t):!1}_onPanEnd(t){return this.isDragging()?this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t):!1}_onPanMove(t){if(!this.dragPan)return!1;let r=this.getCenter(t),i=this.controllerState.pan({pos:r});return this.updateViewport(i,em,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){let{inertia:r}=this;if(this.dragPan&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.pan({pos:s}).panEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:!0})}else{let i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;let r=this.getCenter(t),i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){let{inertia:r}=this;if(this.dragRotate&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.rotate({pos:s}).rotateEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0})}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;t.srcEvent.preventDefault();let{speed:i=.01,smooth:s=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:n}=t,o=2/(1+Math.exp(-Math.abs(n*i)));n<0&&o!==0&&(o=1/o);let c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,{...this._getTransitionProps({around:r}),transitionDuration:s?250:1},{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.rotateStart({pos:r});return this.updateViewport(i,em,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(t);r[0]-=t.deltaX;let i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&t.velocityY){let i=this.getCenter(t),s=[i[0],i[1]+=t.velocityY*r/2],n=this.controllerState.rotate({pos:s});this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return dg._startPinchRotation=t.rotation,dg._lastPinchEvent=t,this.updateViewport(i,em,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:i}=t,s=this.getCenter(t);r=r.zoom({pos:s,scale:i})}if(this.touchRotate){let{rotation:i}=t;r=r.rotate({deltaAngleX:dg._startPinchRotation-i})}return this.updateViewport(r,em,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),dg._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:i}=dg;if(this.touchZoom&&r&&i&&t.scale!==i.scale){let s=this.getCenter(t),n=this.controllerState.rotateEnd(),o=Math.log2(t.scale),c=(o-Math.log2(i.scale))/(t.deltaTime-i.deltaTime),f=Math.pow(2,o+c*r/2);n=n.zoom({pos:s,scale:f}).zoomEnd(),this.updateViewport(n,{...this._getTransitionProps({around:s}),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let s=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(s,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return dg._startPinchRotation=null,dg._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t),s=this.controllerState.zoom({pos:r,scale:i?.5:2});return this.updateViewport(s,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(t),{zoomSpeed:i,moveSpeed:s,rotateSpeedX:n,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:c}=this,f,_={};switch(t.srcEvent.code){case\"Minus\":f=r?c.zoomOut(i).zoomOut(i):c.zoomOut(i),_.isZooming=!0;break;case\"Equal\":f=r?c.zoomIn(i).zoomIn(i):c.zoomIn(i),_.isZooming=!0;break;case\"ArrowLeft\":r?(f=c.rotateLeft(n),_.isRotating=!0):(f=c.moveLeft(s),_.isPanning=!0);break;case\"ArrowRight\":r?(f=c.rotateRight(n),_.isRotating=!0):(f=c.moveRight(s),_.isPanning=!0);break;case\"ArrowUp\":r?(f=c.rotateUp(o),_.isRotating=!0):(f=c.moveUp(s),_.isPanning=!0);break;case\"ArrowDown\":r?(f=c.rotateDown(o),_.isRotating=!0):(f=c.moveDown(s),_.isPanning=!0);break;default:return!1}return this.updateViewport(f,this._getTransitionProps(),_),!0}_getTransitionProps(t){let{transition:r}=this;return!r||!r.transitionInterpolator?em:t?{...r,transitionInterpolator:new fg({...t,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var Zb=class{constructor(t,r){G(this,\"_viewportProps\",void 0),G(this,\"_state\",void 0),this._viewportProps=this.applyConstraints(t),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var xG=5,Qlt=1.2,wD=class extends Zb{constructor(t){let{width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c=0,pitch:f=0,altitude:_=1.5,position:w=[0,0,0],maxZoom:I=20,minZoom:R=0,maxPitch:N=60,minPitch:j=0,startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut,normalize:Et=!0}=t;_r(Number.isFinite(n)),_r(Number.isFinite(s)),_r(Number.isFinite(o)),super({width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c,pitch:f,altitude:_,maxZoom:I,minZoom:R,maxPitch:N,minPitch:j,normalize:Et,position:w},{startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut}),G(this,\"makeViewport\",void 0),this.makeViewport=t.makeViewport}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:r}){let i=this.getState().startPanLngLat||this._unproject(r);if(!i)return this;let n=this.makeViewport(this.getViewportProps()).panByPosition(i,t);return this._getUpdatedState(n)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:t,deltaAngleX:r=0,deltaAngleY:i=0}){let{startRotatePos:s,startBearing:n,startPitch:o}=this.getState();if(!s||n===void 0||o===void 0)return this;let c;return t?c=this._getNewRotation(t,s,o,n):c={bearing:n+r,pitch:o+i},this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this.getViewportProps().zoom})}zoom({pos:t,startPos:r,scale:i}){let{startZoom:s,startZoomLngLat:n}=this.getState();if(n||(s=this.getViewportProps().zoom,n=this._unproject(r)||this._unproject(t)),!n)return this;let{maxZoom:o,minZoom:c}=this.getViewportProps(),f=s+Math.log2(i);f=Il(f,c,o);let _=this.makeViewport({...this.getViewportProps(),zoom:f});return this._getUpdatedState({zoom:f,..._.panByPosition(n,t)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-t})}shortestPathFrom(t){let r=t.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:n}=i;return Math.abs(s-r.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(n-r.longitude)>180&&(i.longitude=n<0?n+360:n-360),i}applyConstraints(t){let{maxZoom:r,minZoom:i,zoom:s}=t;t.zoom=Il(s,i,r);let{maxPitch:n,minPitch:o,pitch:c}=t;t.pitch=Il(c,o,n);let{normalize:f=!0}=t;return f&&Object.assign(t,eP(t)),t}_zoomFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.zoom({pos:[r/2,i/2],scale:t})}_panFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.pan({startPos:[r/2,i/2],pos:[r/2+t[0],i/2+t[1]]})}_getUpdatedState(t){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...t})}_unproject(t){let r=this.makeViewport(this.getViewportProps());return t&&r.unproject(t)}_getNewRotation(t,r,i,s){let n=t[0]-r[0],o=t[1]-r[1],c=t[1],f=r[1],{width:_,height:w}=this.getViewportProps(),I=n/_,R=0;o>0?Math.abs(w-f)>xG&&(R=o/(f-w)*Qlt):o<0&&f>xG&&(R=1-c/f),R=Il(R,-1,1);let{minPitch:N,maxPitch:j}=this.getViewportProps(),Q=s+180*I,et=i;return R>0?et=i+R*(j-i):R<0&&(et=i-R*(N-i)),{pitch:et,bearing:Q}}},Yb=class extends qb{constructor(...t){super(...t),G(this,\"ControllerState\",wD),G(this,\"transition\",{transitionDuration:300,transitionInterpolator:new fg({transitionProps:{compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"longitude\",\"latitude\",\"zoom\"]}})}),G(this,\"dragMode\",\"pan\")}setProps(t){t.position=t.position||[0,0,0];let r=this.props;super.setProps(t),(!r||r.height!==t.height)&&this.updateViewport(new this.ControllerState({makeViewport:this.makeViewport,...t,...this.state}))}};var Xy=class extends Xc{get ViewportType(){return lc}get ControllerType(){return Yb}};G(Xy,\"displayName\",\"MapView\");var $lt=new qy;function Xlt(e,t){var r,i;let s=(r=e.order)!==null&&r!==void 0?r:1/0,n=(i=t.order)!==null&&i!==void 0?i:1/0;return s-n}var Qb=class{constructor(){G(this,\"effects\",void 0),G(this,\"_resolvedEffects\",[]),G(this,\"_defaultEffects\",[]),G(this,\"_needsRedraw\",void 0),this.effects=[],this._needsRedraw=\"Initial render\",this._setEffects([])}addDefaultEffect(t){let r=this._defaultEffects;if(!r.find(i=>i.id===t.id)){let i=r.findIndex(s=>Xlt(s,t)>0);i<0?r.push(t):r.splice(i,0,t),this._setEffects(this.effects)}}setProps(t){\"effects\"in t&&(mo(t.effects,this.effects,1)||this._setEffects(t.effects))}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}getEffects(){return this._resolvedEffects}_setEffects(t){let r={};for(let s of this.effects)r[s.id]=s;let i=[];for(let s of t){let n=r[s.id];n&&n!==s?n.setProps?(n.setProps(s.props),i.push(n)):(n.cleanup(),i.push(s)):i.push(s),delete r[s.id]}for(let s in r)r[s].cleanup();this.effects=i,this._resolvedEffects=i.concat(this._defaultEffects),t.some(s=>s instanceof qy)||this._resolvedEffects.push($lt),this._needsRedraw=\"effects changed\"}finalize(){for(let t of this._resolvedEffects)t.cleanup();this.effects.length=0,this._resolvedEffects.length=0,this._defaultEffects.length=0}};var $b=class extends sc{shouldDrawLayer(t){let{operation:r}=t.props;return r.includes(\"draw\")||r.includes(\"terrain\")}};var Klt=\"deckRenderer.renderLayers\",Xb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"layerFilter\",void 0),G(this,\"drawPickingColors\",void 0),G(this,\"drawLayersPass\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"renderCount\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"renderBuffers\",void 0),G(this,\"lastPostProcessEffect\",void 0),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $b(t),this.pickLayersPass=new ug(t),this.renderCount=0,this._needsRedraw=\"Initial render\",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw=\"layerFilter changed\"),this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw=\"drawPickingColors changed\")}renderLayers(t){if(!t.viewports.length)return;let r=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass,i={layerFilter:this.layerFilter,isPicking:this.drawPickingColors,...t,target:t.target||yi.getDefaultFramebuffer(this.gl)};i.effects&&this._preRender(i.effects,i);let s=this.lastPostProcessEffect?this.renderBuffers[0]:i.target,n=r.render({...i,target:s});i.effects&&this._postRender(i.effects,i),this.renderCount++,Ls(Klt,this,n,t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}finalize(){let{renderBuffers:t}=this;for(let r of t)r.delete();t.length=0}_preRender(t,r){this.lastPostProcessEffect=null,r.preRenderStats=r.preRenderStats||{};for(let i of t)r.preRenderStats[i.id]=i.preRender(this.gl,r),i.postRender&&(this.lastPostProcessEffect=i.id);this.lastPostProcessEffect&&this._resizeRenderBuffers()}_resizeRenderBuffers(){let{renderBuffers:t}=this;t.length===0&&t.push(new yi(this.gl),new yi(this.gl));for(let r of t)r.resize()}_postRender(t,r){let{renderBuffers:i}=this,s={...r,inputBuffer:i[0],swapBuffer:i[1],target:null};for(let n of t)if(n.postRender){if(n.id===this.lastPostProcessEffect){s.target=r.target,n.postRender(this.gl,s);break}let o=n.postRender(this.gl,s);s.inputBuffer=o,s.swapBuffer=o===i[0]?i[1]:i[0]}}};var Jlt={pickedColor:null,pickedObjectIndex:-1};function bG({pickedColors:e,decodePickingColor:t,deviceX:r,deviceY:i,deviceRadius:s,deviceRect:n}){let{x:o,y:c,width:f,height:_}=n,w=s*s,I=-1,R=0;for(let N=0;N<_;N++){let j=N+c-i,Q=j*j;if(Q>w)R+=4*f;else for(let et=0;et=0){let K=et+o-r,J=K*K+Q;J<=w&&(w=J,I=R)}R+=4}}if(I>=0){let N=e.slice(I,I+4),j=t(N);if(j){let Q=Math.floor(I/4/f),et=I/4-Q*f;return{...j,pickedColor:N,pickedX:o+et,pickedY:c+Q}}or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}return Jlt}function wG({pickedColors:e,decodePickingColor:t}){let r=new Map;if(e){for(let i=0;i=0){let n=e.slice(i,i+4),o=n.join(\",\");if(!r.has(o)){let c=t(n);c?r.set(o,{...c,color:n}):or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}}}return Array.from(r.values())}function SD({pickInfo:e,viewports:t,pixelRatio:r,x:i,y:s,z:n}){let o=t[0];t.length>1&&(o=tct(e?.pickedViewports||t,{x:i,y:s}));let c;if(o){let f=[i-o.x,s-o.y];n!==void 0&&(f[2]=n),c=o.unproject(f)}return{color:null,layer:null,viewport:o,index:-1,picked:!1,x:i,y:s,pixel:[i,s],coordinate:c,devicePixel:e&&\"pickedX\"in e?[e.pickedX,e.pickedY]:void 0,pixelRatio:r}}function SG(e){let{pickInfo:t,lastPickedInfo:r,mode:i,layers:s}=e,{pickedColor:n,pickedLayer:o,pickedObjectIndex:c}=t,f=o?[o]:[];if(i===\"hover\"){let I=r.index,R=r.layerId,N=o?o.props.id:null;if(N!==R||c!==I){if(N!==R){let j=s.find(Q=>Q.props.id===R);j&&f.unshift(j)}r.layerId=N,r.index=c,r.info=null}}let _=SD(e),w=new Map;return w.set(null,_),f.forEach(I=>{let R={..._};I===o&&(R.color=n,R.index=c,R.picked=!0),R=TD({layer:I,info:R,mode:i});let N=R.layer;I===o&&i===\"hover\"&&(r.info=R),w.set(N.id,R),i===\"hover\"&&N.updateAutoHighlight(R)}),w}function TD({layer:e,info:t,mode:r}){for(;e&&t;){let i=t.layer||null;t.sourceLayer=i,t.layer=e,t=e.getPickingInfo({info:t,mode:r,sourceLayer:i}),e=e.parent}return t}function tct(e,t){for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.containsPixel(t))return i}return e[0]}var Kb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"pickingFBO\",void 0),G(this,\"depthFBO\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"layerFilter\",void 0),G(this,\"lastPickedInfo\",void 0),G(this,\"_pickable\",!0),this.gl=t,this.pickLayersPass=new ug(t),this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){\"layerFilter\"in t&&(this.layerFilter=t.layerFilter),\"_pickable\"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:r,layers:i,viewports:s},n=this.lastPickedInfo.info){let o=n&&n.layer&&n.layer.id,c=n&&n.viewport&&n.viewport.id,f=o?i.find(R=>R.id===o):null,_=c&&s.find(R=>R.id===c)||s[0],w=_&&_.unproject([t-_.x,r-_.y]);return{...n,...{x:t,y:r,viewport:_,coordinate:w,layer:f}}}_resizeBuffer(){var t,r;let{gl:i}=this;if(!this.pickingFBO&&(this.pickingFBO=new yi(i),yi.isSupported(i,{colorBufferFloat:!0}))){let s=new yi(i);s.attach({36064:new pi(i,{format:fr(i)?34836:6408,type:5126})}),this.depthFBO=s}(t=this.pickingFBO)===null||t===void 0||t.resize({width:i.canvas.width,height:i.canvas.height}),(r=this.depthFBO)===null||r===void 0||r.resize({width:i.canvas.width,height:i.canvas.height})}_getPickable(t){if(this._pickable===!1)return null;let r=t.filter(i=>this.pickLayersPass.shouldDrawLayer(i)&&!i.isComposite);return r.length?r:null}_pickClosestObject({layers:t,views:r,viewports:i,x:s,y:n,radius:o=0,depth:c=1,mode:f=\"query\",unproject3D:_,onViewportActive:w,effects:I}){let R=this._getPickable(t),N=El(this.gl);if(!R)return{result:[],emptyInfo:SD({viewports:i,x:s,y:n,pixelRatio:N})};this._resizeBuffer();let j=Sy(this.gl,[s,n],!0),Q=[j.x+Math.floor(j.width/2),j.y+Math.floor(j.height/2)],et=Math.round(o*N),{width:Y,height:K}=this.pickingFBO,J=this._getPickingRect({deviceX:Q[0],deviceY:Q[1],deviceRadius:et,deviceWidth:Y,deviceHeight:K}),ut={x:s-o,y:n-o,width:o*2+1,height:o*2+1},Et,kt=[],Xt=new Set;for(let qt=0;qt=_)break;let De=kt[ue],Ke={color:De.pickedColor,layer:null,index:De.pickedObjectIndex,picked:!0,x:s,y:n,pixelRatio:N};Ke=TD({layer:De.pickedLayer,info:Ke,mode:f});let rr=(le=Ke.object)!==null&&le!==void 0?le:\"\".concat(Ke.layer.id,\"[\").concat(Ke.index,\"]\");Xt.has(rr)||Xt.set(rr,Ke)}return Array.from(Xt.values())}_drawAndSample({layers:t,views:r,viewports:i,onViewportActive:s,deviceRect:n,cullRect:o,effects:c,pass:f},_=!1){let w=_?this.depthFBO:this.pickingFBO,I={layers:t,layerFilter:this.layerFilter,views:r,viewports:i,onViewportActive:s,pickingFBO:w,deviceRect:n,cullRect:o,effects:c,pass:f,pickZ:_,preRenderStats:{}};for(let K of c)K.useInPicking&&(I.preRenderStats[K.id]=K.preRender(this.gl,I));let{decodePickingColor:R}=this.pickLayersPass.render(I),{x:N,y:j,width:Q,height:et}=n,Y=new(_?Float32Array:Uint8Array)(Q*et*4);return Dh(w,{sourceX:N,sourceY:j,sourceWidth:Q,sourceHeight:et,target:Y}),{pickedColors:Y,decodePickingColor:R}}_getPickingRect({deviceX:t,deviceY:r,deviceRadius:i,deviceWidth:s,deviceHeight:n}){let o=Math.max(0,t-i),c=Math.max(0,r-i),f=Math.min(s,t+i+1)-o,_=Math.min(n,r+i+1)-c;return f<=0||_<=0?null:{x:o,y:c,width:f,height:_}}};var ect={zIndex:\"1\",position:\"absolute\",pointerEvents:\"none\",color:\"#a0a7b4\",backgroundColor:\"#29323c\",padding:\"10px\",top:\"0\",left:\"0\",display:\"none\"},Jb=class{constructor(t){G(this,\"el\",null),G(this,\"isVisible\",!1);let r=t.parentElement;r&&(this.el=document.createElement(\"div\"),this.el.className=\"deck-tooltip\",Object.assign(this.el.style,ect),r.appendChild(this.el))}setTooltip(t,r,i){let s=this.el;if(s){if(typeof t==\"string\")s.innerText=t;else if(t)t.text&&(s.innerText=t.text),t.html&&(s.innerHTML=t.html),t.className&&(s.className=t.className);else{this.isVisible=!1,s.style.display=\"none\";return}this.isVisible=!0,s.style.display=\"block\",s.style.transform=\"translate(\".concat(r,\"px, \").concat(i,\"px)\"),t&&typeof t==\"object\"&&\"style\"in t&&Object.assign(s.style,t.style)}}remove(){this.el&&(this.el.remove(),this.el=null)}};var pg=Ri(TG());var rct={mousedown:1,mousemove:2,mouseup:4};function ict(e,t){for(let r=0;r0&&i.type===\"pointerdown\"&&(ict(s,n=>n.pointerId===i.pointerId)||s.push(i)),t.call(this,i)}}function EG(e){e.prototype.handler=function(r){let i=rct[r.type];i&1&&r.button>=0&&(this.pressed=!0),i&2&&r.which===0&&(i=4),this.pressed&&(i&4&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[r],changedPointers:[r],pointerType:\"mouse\",srcEvent:r}))}}MG(pg.PointerEventInput);EG(pg.MouseInput);var PG=pg.Manager,Hh=pg;var qh=class{constructor(t,r,i){this.element=t,this.callback=r,this.options={enable:!0,...i}}};var IG=Hh?[[Hh.Pan,{event:\"tripan\",pointers:3,threshold:0,enable:!1}],[Hh.Rotate,{enable:!1}],[Hh.Pinch,{enable:!1}],[Hh.Swipe,{enable:!1}],[Hh.Pan,{threshold:0,enable:!1}],[Hh.Press,{enable:!1}],[Hh.Tap,{event:\"doubletap\",taps:2,enable:!1}],[Hh.Tap,{event:\"anytap\",enable:!1}],[Hh.Tap,{enable:!1}]]:null,MD={tripan:[\"rotate\",\"pinch\",\"pan\"],rotate:[\"pinch\"],pinch:[\"pan\"],pan:[\"press\",\"doubletap\",\"anytap\",\"tap\"],doubletap:[\"anytap\"],anytap:[\"tap\"]},CG={doubletap:[\"tap\"]},LG={pointerdown:\"pointerdown\",pointermove:\"pointermove\",pointerup:\"pointerup\",touchstart:\"pointerdown\",touchmove:\"pointermove\",touchend:\"pointerup\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\"},Ky={KEY_EVENTS:[\"keydown\",\"keyup\"],MOUSE_EVENTS:[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseover\",\"mouseout\",\"mouseleave\"],WHEEL_EVENTS:[\"wheel\",\"mousewheel\"]},kG={tap:\"tap\",anytap:\"anytap\",doubletap:\"doubletap\",press:\"press\",pinch:\"pinch\",pinchin:\"pinch\",pinchout:\"pinch\",pinchstart:\"pinch\",pinchmove:\"pinch\",pinchend:\"pinch\",pinchcancel:\"pinch\",rotate:\"rotate\",rotatestart:\"rotate\",rotatemove:\"rotate\",rotateend:\"rotate\",rotatecancel:\"rotate\",tripan:\"tripan\",tripanstart:\"tripan\",tripanmove:\"tripan\",tripanup:\"tripan\",tripandown:\"tripan\",tripanleft:\"tripan\",tripanright:\"tripan\",tripanend:\"tripan\",tripancancel:\"tripan\",pan:\"pan\",panstart:\"pan\",panmove:\"pan\",panup:\"pan\",pandown:\"pan\",panleft:\"pan\",panright:\"pan\",panend:\"pan\",pancancel:\"pan\",swipe:\"swipe\",swipeleft:\"swipe\",swiperight:\"swipe\",swipeup:\"swipe\",swipedown:\"swipe\"},ED={click:\"tap\",anyclick:\"anytap\",dblclick:\"doubletap\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\",mouseover:\"pointerover\",mouseout:\"pointerout\",mouseleave:\"pointerleave\"};var RG=typeof navigator<\"u\"&&navigator.userAgent?navigator.userAgent.toLowerCase():\"\",Ag=typeof window<\"u\"?window:global;var aP=!1;try{let e={get passive(){return aP=!0,!0}};Ag.addEventListener(\"test\",null,e),Ag.removeEventListener(\"test\",null)}catch{aP=!1}var nct=RG.indexOf(\"firefox\")!==-1,{WHEEL_EVENTS:sct}=Ky,DG=\"wheel\",OG=4.000244140625,oct=40,act=.25,tw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{if(!this.options.enable)return;let n=s.deltaY;Ag.WheelEvent&&(nct&&s.deltaMode===Ag.WheelEvent.DOM_DELTA_PIXEL&&(n/=Ag.devicePixelRatio),s.deltaMode===Ag.WheelEvent.DOM_DELTA_LINE&&(n*=oct)),n!==0&&n%OG===0&&(n=Math.floor(n/OG)),s.shiftKey&&n&&(n=n*act),this.callback({type:DG,center:{x:s.clientX,y:s.clientY},delta:-n,srcEvent:s,pointerType:\"mouse\",target:s.target})},this.events=(this.options.events||[]).concat(sct),this.events.forEach(s=>t.addEventListener(s,this.handleEvent,aP?{passive:!1}:!1))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===DG&&(this.options.enable=r)}};var{MOUSE_EVENTS:lct}=Ky,BG=\"pointermove\",FG=\"pointerover\",zG=\"pointerout\",NG=\"pointerenter\",UG=\"pointerleave\",ew=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=n=>{this.handleOverEvent(n),this.handleOutEvent(n),this.handleEnterEvent(n),this.handleLeaveEvent(n),this.handleMoveEvent(n)},this.pressed=!1;let{enable:s}=this.options;this.enableMoveEvent=s,this.enableLeaveEvent=s,this.enableEnterEvent=s,this.enableOutEvent=s,this.enableOverEvent=s,this.events=(this.options.events||[]).concat(lct),this.events.forEach(n=>t.addEventListener(n,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===BG&&(this.enableMoveEvent=r),t===FG&&(this.enableOverEvent=r),t===zG&&(this.enableOutEvent=r),t===NG&&(this.enableEnterEvent=r),t===UG&&(this.enableLeaveEvent=r)}handleOverEvent(t){this.enableOverEvent&&t.type===\"mouseover\"&&this._emit(FG,t)}handleOutEvent(t){this.enableOutEvent&&t.type===\"mouseout\"&&this._emit(zG,t)}handleEnterEvent(t){this.enableEnterEvent&&t.type===\"mouseenter\"&&this._emit(NG,t)}handleLeaveEvent(t){this.enableLeaveEvent&&t.type===\"mouseleave\"&&this._emit(UG,t)}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case\"mousedown\":t.button>=0&&(this.pressed=!0);break;case\"mousemove\":t.which===0&&(this.pressed=!1),this.pressed||this._emit(BG,t);break;case\"mouseup\":this.pressed=!1;break;default:}}_emit(t,r){this.callback({type:t,center:{x:r.clientX,y:r.clientY},srcEvent:r,pointerType:\"mouse\",target:r.target})}};var{KEY_EVENTS:cct}=Ky,VG=\"keydown\",jG=\"keyup\",rw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{let n=s.target||s.srcElement;n.tagName===\"INPUT\"&&n.type===\"text\"||n.tagName===\"TEXTAREA\"||(this.enableDownEvent&&s.type===\"keydown\"&&this.callback({type:VG,srcEvent:s,key:s.key,target:s.target}),this.enableUpEvent&&s.type===\"keyup\"&&this.callback({type:jG,srcEvent:s,key:s.key,target:s.target}))},this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=(this.options.events||[]).concat(cct),t.tabIndex=this.options.tabIndex||0,t.style.outline=\"none\",this.events.forEach(s=>t.addEventListener(s,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===VG&&(this.enableDownEvent=r),t===jG&&(this.enableUpEvent=r)}};var GG=\"contextmenu\",iw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{this.options.enable&&this.callback({type:GG,center:{x:s.clientX,y:s.clientY},srcEvent:s,pointerType:\"mouse\",target:s.target})},t.addEventListener(\"contextmenu\",this.handleEvent)}destroy(){this.element.removeEventListener(\"contextmenu\",this.handleEvent)}enableEventType(t,r){t===GG&&(this.options.enable=r)}};var uct={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},hct=1,fct=2,dct=3,pct=0,Act=1,mct=2,gct=1,_ct=2,yct=4;function WG(e){let t=uct[e.srcEvent.type];if(!t)return null;let{buttons:r,button:i,which:s}=e.srcEvent,n=!1,o=!1,c=!1;return t===4||t===2&&!Number.isFinite(r)?(n=s===hct,o=s===fct,c=s===dct):t===2?(n=!!(r&gct),o=!!(r&yct),c=!!(r&_ct)):t===1&&(n=i===pct,o=i===Act,c=i===mct),{leftButton:n,middleButton:o,rightButton:c}}function HG(e,t){let r=e.center;if(!r)return null;let i=t.getBoundingClientRect(),s=i.width/t.offsetWidth||1,n=i.height/t.offsetHeight||1,o={x:(r.x-i.left-t.clientLeft)/s,y:(r.y-i.top-t.clientTop)/n};return{center:r,offsetCenter:o}}var PD={srcElement:\"root\",priority:0},nw=class{constructor(t){this.handleEvent=r=>{if(this.isEmpty())return;let i=this._normalizeEvent(r),s=r.srcEvent.target;for(;s&&s!==i.rootElement;){if(this._emit(i,s),i.handled)return;s=s.parentNode}this._emit(i,\"root\")},this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this._active=!1}isEmpty(){return!this._active}add(t,r,i,s=!1,n=!1){let{handlers:o,handlersByElement:c}=this,f=PD;typeof i==\"string\"||i&&i.addEventListener?f={...PD,srcElement:i}:i&&(f={...PD,...i});let _=c.get(f.srcElement);_||(_=[],c.set(f.srcElement,_));let w={type:t,handler:r,srcElement:f.srcElement,priority:f.priority};s&&(w.once=!0),n&&(w.passive=!0),o.push(w),this._active=this._active||!w.passive;let I=_.length-1;for(;I>=0&&!(_[I].priority>=w.priority);)I--;_.splice(I+1,0,w)}remove(t,r){let{handlers:i,handlersByElement:s}=this;for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.type===t&&o.handler===r){i.splice(n,1);let c=s.get(o.srcElement);c.splice(c.indexOf(o),1),c.length===0&&s.delete(o.srcElement)}}this._active=i.some(n=>!n.passive)}_emit(t,r){let i=this.handlersByElement.get(r);if(i){let s=!1,n=()=>{t.handled=!0},o=()=>{t.handled=!0,s=!0},c=[];for(let f=0;f{t.srcEvent.preventDefault()},stopImmediatePropagation:null,stopPropagation:null,handled:!1,rootElement:r}}};var vct={events:null,recognizers:null,recognizerOptions:{},Manager:PG,touchAction:\"none\",tabIndex:0},Jy=class{constructor(t=null,r){this._onBasicInput=s=>{let{srcEvent:n}=s,o=LG[n.type];o&&this.manager.emit(o,s)},this._onOtherEvent=s=>{this.manager.emit(s.type,s)},this.options={...vct,...r},this.events=new Map,this.setElement(t);let{events:i}=this.options;i&&this.on(i)}getElement(){return this.element}setElement(t){if(this.element&&this.destroy(),this.element=t,!t)return;let{options:r}=this,i=r.Manager;this.manager=new i(t,{touchAction:r.touchAction,recognizers:r.recognizers||IG}).on(\"hammer.input\",this._onBasicInput),r.recognizers||Object.keys(MD).forEach(s=>{let n=this.manager.get(s);n&&MD[s].forEach(o=>{n.recognizeWith(o)})});for(let s in r.recognizerOptions){let n=this.manager.get(s);if(n){let o=r.recognizerOptions[s];delete o.enable,n.set(o)}}this.wheelInput=new tw(t,this._onOtherEvent,{enable:!1}),this.moveInput=new ew(t,this._onOtherEvent,{enable:!1}),this.keyInput=new rw(t,this._onOtherEvent,{enable:!1,tabIndex:r.tabIndex}),this.contextmenuInput=new iw(t,this._onOtherEvent,{enable:!1});for(let[s,n]of this.events)n.isEmpty()||(this._toggleRecognizer(n.recognizerName,!0),this.manager.on(s,n.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,r,i){this._addEventHandler(t,r,i,!1)}once(t,r,i){this._addEventHandler(t,r,i,!0)}watch(t,r,i){this._addEventHandler(t,r,i,!1,!0)}off(t,r){this._removeEventHandler(t,r)}_toggleRecognizer(t,r){let{manager:i}=this;if(!i)return;let s=i.get(t);if(s&&s.options.enable!==r){s.set({enable:r});let n=CG[t];n&&!this.options.recognizers&&n.forEach(o=>{let c=i.get(o);r?(c.requireFailure(t),s.dropRequireFailure(o)):c.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,r),this.moveInput.enableEventType(t,r),this.keyInput.enableEventType(t,r),this.contextmenuInput.enableEventType(t,r)}_addEventHandler(t,r,i,s,n){if(typeof t!=\"string\"){i=r;for(let w in t)this._addEventHandler(w,t[w],i,s,n);return}let{manager:o,events:c}=this,f=ED[t]||t,_=c.get(f);_||(_=new nw(this),c.set(f,_),_.recognizerName=kG[f]||f,o&&o.on(f,_.handleEvent)),_.add(t,r,i,s,n),_.isEmpty()||this._toggleRecognizer(_.recognizerName,!0)}_removeEventHandler(t,r){if(typeof t!=\"string\"){for(let o in t)this._removeEventHandler(o,t[o]);return}let{events:i}=this,s=ED[t]||t,n=i.get(s);if(n&&(n.remove(t,r),n.isEmpty())){let{recognizerName:o}=n,c=!1;for(let f of i.values())if(f.recognizerName===o&&!f.isEmpty()){c=!0;break}c||this._toggleRecognizer(o,!1)}}};function mg(){}var xct=({isDragging:e})=>e?\"grabbing\":\"grab\",qG={id:\"\",width:\"100%\",height:\"100%\",style:null,viewState:null,initialViewState:null,pickingRadius:0,layerFilter:null,glOptions:{},parameters:{},parent:null,gl:null,canvas:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:\"none\",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},_customRender:null,onWebGLInitialized:mg,onResize:mg,onViewStateChange:mg,onInteractionStateChange:mg,onBeforeRender:mg,onAfterRender:mg,onLoad:mg,onError:e=>or.error(e.message,e.cause)(),onHover:null,onClick:null,onDragStart:null,onDrag:null,onDragEnd:null,_onMetrics:null,getCursor:xct,getTooltip:null,debug:!1,drawPickingColors:!1},cp=class{constructor(t){G(this,\"props\",void 0),G(this,\"width\",0),G(this,\"height\",0),G(this,\"userData\",{}),G(this,\"canvas\",null),G(this,\"viewManager\",null),G(this,\"layerManager\",null),G(this,\"effectManager\",null),G(this,\"deckRenderer\",null),G(this,\"deckPicker\",null),G(this,\"eventManager\",null),G(this,\"tooltip\",null),G(this,\"metrics\",void 0),G(this,\"animationLoop\",void 0),G(this,\"stats\",void 0),G(this,\"viewState\",void 0),G(this,\"cursorState\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"_pickRequest\",void 0),G(this,\"_lastPointerDownInfo\",null),G(this,\"_metricsCounter\",void 0),G(this,\"_onPointerMove\",r=>{let{_pickRequest:i}=this;if(r.type===\"pointerleave\")i.x=-1,i.y=-1,i.radius=0;else{if(r.leftButton||r.rightButton)return;{let s=r.offsetCenter;if(!s)return;i.x=s.x,i.y=s.y,i.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:i.x,y:i.y}),i.event=r}),G(this,\"_onEvent\",r=>{let i=nR[r.type],s=r.offsetCenter;if(!i||!s||!this.layerManager)return;let n=this.layerManager.getLayers(),o=this.deckPicker.getLastPickedObject({x:s.x,y:s.y,layers:n,viewports:this.getViewports(s)},this._lastPointerDownInfo),{layer:c}=o,f=c&&(c[i.handler]||c.props[i.handler]),_=this.props[i.handler],w=!1;f&&(w=f.call(c,o,r)),!w&&_&&_(o,r)}),G(this,\"_onPointerDown\",r=>{let i=r.offsetCenter,s=this._pick(\"pickObject\",\"pickObject Time\",{x:i.x,y:i.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=s.result[0]||s.emptyInfo}),this.props={...qG,...t},t=this.props,this._needsRedraw=\"Initial render\",this._pickRequest={mode:\"hover\",x:-1,y:-1,radius:0,event:null},this.cursorState={isHovering:!1,isDragging:!1},t.viewState&&t.initialViewState&&or.warn(\"View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.\")(),vy()===\"IE\"&&or.warn(\"IE 11 is not supported\")(),this.viewState=t.initialViewState,t.gl||typeof document<\"u\"&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gf({id:\"deck.gl\"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&Gh.setOptions(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){var t,r,i,s,n,o,c,f;if((t=this.animationLoop)===null||t===void 0||t.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,(r=this.layerManager)===null||r===void 0||r.finalize(),this.layerManager=null,(i=this.viewManager)===null||i===void 0||i.finalize(),this.viewManager=null,(s=this.effectManager)===null||s===void 0||s.finalize(),this.effectManager=null,(n=this.deckRenderer)===null||n===void 0||n.finalize(),this.deckRenderer=null,(o=this.deckPicker)===null||o===void 0||o.finalize(),this.deckPicker=null,(c=this.eventManager)===null||c===void 0||c.destroy(),this.eventManager=null,(f=this.tooltip)===null||f===void 0||f.remove(),this.tooltip=null,!this.props.canvas&&!this.props.gl&&this.canvas){var _;(_=this.canvas.parentElement)===null||_===void 0||_.removeChild(this.canvas),this.canvas=null}}setProps(t){this.stats.get(\"setProps Time\").timeStart(),\"onLayerHover\"in t&&or.removed(\"onLayerHover\",\"onHover\")(),\"onLayerClick\"in t&&or.removed(\"onLayerClick\",\"onClick\")(),t.initialViewState&&!mo(this.props.initialViewState,t.initialViewState,3)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);let r=Object.create(this.props);Object.assign(r,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(r),this.layerManager&&(this.viewManager.setProps(r),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(r),this.effectManager.setProps(r),this.deckRenderer.setProps(r),this.deckPicker.setProps(r)),this.stats.get(\"setProps Time\").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(!this.layerManager)return!1;if(this.props._animate)return\"Deck._animate\";let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);let i=this.viewManager.needsRedraw(t),s=this.layerManager.needsRedraw(t),n=this.effectManager.needsRedraw(t),o=this.deckRenderer.needsRedraw(t);return r=r||i||s||n||o,r}redraw(t){if(!this.layerManager)return;let r=this.needsRedraw({clearRedrawFlags:!0});r=t||r,r&&(this.stats.get(\"Redraw Count\").incrementCount(),this.props._customRender?this.props._customRender(r):this._drawLayers(r))}get isInitialized(){return this.viewManager!==null}getViews(){return _r(this.viewManager),this.viewManager.views}getViewports(t){return _r(this.viewManager),this.viewManager.getViewports(t)}getCanvas(){return this.canvas}pickObject(t){let r=this._pick(\"pickObject\",\"pickObject Time\",t).result;return r.length?r[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick(\"pickObject\",\"pickMultipleObjects Time\",t).result}pickObjects(t){return this._pick(\"pickObjects\",\"pickObjects Time\",t)}_addResources(t,r=!1){for(let i in t)this.layerManager.resourceManager.add({resourceId:i,data:t[i],forceUpdate:r})}_removeResources(t){for(let r of t)this.layerManager.resourceManager.remove(r)}_addDefaultEffect(t){this.effectManager.addDefaultEffect(t)}_pick(t,r,i){_r(this.deckPicker);let{stats:s}=this;s.get(\"Pick Count\").incrementCount(),s.get(r).timeStart();let n=this.deckPicker[t]({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects(),...i});return s.get(r).timeEnd(),n}_createCanvas(t){let r=t.canvas;return typeof r==\"string\"&&(r=document.getElementById(r),_r(r)),r||(r=document.createElement(\"canvas\"),r.id=t.id||\"deckgl-overlay\",(t.parent||document.body).appendChild(r)),Object.assign(r.style,t.style),r}_setCanvasSize(t){if(!this.canvas)return;let{width:r,height:i}=t;if(r||r===0){let n=Number.isFinite(r)?\"\".concat(r,\"px\"):r;this.canvas.style.width=n}if(i||i===0){var s;let n=Number.isFinite(i)?\"\".concat(i,\"px\"):i;this.canvas.style.position=((s=t.style)===null||s===void 0?void 0:s.position)||\"absolute\",this.canvas.style.height=n}}_updateCanvasSize(){var t,r;let{canvas:i}=this;if(!i)return;let s=(t=i.clientWidth)!==null&&t!==void 0?t:i.width,n=(r=i.clientHeight)!==null&&r!==void 0?r:i.height;if(s!==this.width||n!==this.height){var o,c;this.width=s,this.height=n,(o=this.viewManager)===null||o===void 0||o.setProps({width:s,height:n}),(c=this.layerManager)===null||c===void 0||c.activateViewport(this.getViewports()[0]),this.props.onResize({width:s,height:n})}}_createAnimationLoop(t){let{width:r,height:i,gl:s,glOptions:n,debug:o,onError:c,onBeforeRender:f,onAfterRender:_,useDevicePixels:w}=t;return new rg({width:r,height:i,useDevicePixels:w,autoResizeDrawingBuffer:!s,autoResizeViewport:!1,gl:s,onCreateContext:I=>Ty({...n,...I,canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()}),onInitialize:I=>this._setGLContext(I.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:f,onAfterRender:_,onError:c})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new Xy({id:\"default-view\"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){let{onError:t}=this.props;this.animationLoop&&t&&t(new Error(\"WebGL context is lost\"))}_pickAndCallback(){let{_pickRequest:t}=this;if(t.event){let{result:i,emptyInfo:s}=this._pick(\"pickObject\",\"pickObject Time\",t);this.cursorState.isHovering=i.length>0;let n=s,o=!1;for(let c of i){var r;n=c,o=((r=c.layer)===null||r===void 0?void 0:r.onHover(c,t.event))||o}if(!o&&this.props.onHover&&this.props.onHover(n,t.event),this.props.getTooltip&&this.tooltip){let c=this.props.getTooltip(n);this.tooltip.setTooltip(c,n.x,n.y)}t.event=null}}_updateCursor(){let t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.cursorState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,q0(t,{enable:!0,copyState:!0})),this.tooltip=new Jb(this.canvas),Ml(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);let r=new KA;r.play(),this.animationLoop.attachTimeline(r),this.eventManager=new Jy(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(let s in nR)this.eventManager.on(s,this._onEvent);this.viewManager=new Wb({timeline:r,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});let i=this.viewManager.getViewports()[0];this.layerManager=new Gb(t,{deck:this,stats:this.stats,viewport:i,timeline:r}),this.effectManager=new Qb,this.deckRenderer=new Xb(t),this.deckPicker=new Kb(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,r){let{gl:i}=this.layerManager.context;Ml(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:\"screen\",effects:this.effectManager.getEffects(),...r}),this.props.onAfterRender({gl:i})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60===0&&(this._getMetrics(),this.stats.reset(),or.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){let r=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState={...this.viewState,[t.viewId]:r},this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.cursorState.isDragging=t.isDragging||!1,this.props.onInteractionStateChange(t)}_getFrameStats(){let{stats:t}=this;t.get(\"frameRate\").timeEnd(),t.get(\"frameRate\").timeStart();let r=this.animationLoop.stats;t.get(\"GPU Time\").addTime(r.get(\"GPU Time\").lastTiming),t.get(\"CPU Time\").addTime(r.get(\"CPU Time\").lastTiming)}_getMetrics(){let{metrics:t,stats:r}=this;t.fps=r.get(\"frameRate\").getHz(),t.setPropsTime=r.get(\"setProps Time\").time,t.updateAttributesTime=r.get(\"Update Attributes\").time,t.framesRedrawn=r.get(\"Redraw Count\").count,t.pickTime=r.get(\"pickObject Time\").time+r.get(\"pickMultipleObjects Time\").time+r.get(\"pickObjects Time\").time,t.pickCount=r.get(\"Pick Count\").count,t.gpuTime=r.get(\"GPU Time\").time,t.cpuTime=r.get(\"CPU Time\").time,t.gpuTimePerFrame=r.get(\"GPU Time\").getAverageTime(),t.cpuTimePerFrame=r.get(\"CPU Time\").getAverageTime();let i=Du.get(\"Memory Usage\");t.bufferMemory=i.get(\"Buffer Memory\").count,t.textureMemory=i.get(\"Texture Memory\").count,t.renderbufferMemory=i.get(\"Renderbuffer Memory\").count,t.gpuMemory=i.get(\"GPU Memory\").count}};G(cp,\"defaultProps\",qG);G(cp,\"VERSION\",xV);var gg=class{constructor(t,r){G(this,\"opts\",void 0),G(this,\"source\",void 0),this.opts=r,this.source=t}get value(){return this.source.value}getValue(){let t=this.source.getBuffer(),r=this.getAccessor();if(t)return[t,r];let{value:i}=this.source,{size:s}=r,n=i;if(i&&i.length!==s){n=new Float32Array(s);let o=r.elementOffset||0;for(let c=0;c=n){let o=new Array(s).fill(1/0),c=new Array(s).fill(-1/0);for(let f=0;fc[_]&&(c[_]=w)}t=[o,c]}}return this.state.bounds=t,t}setData(t){let{state:r}=this,i;ArrayBuffer.isView(t)?i={value:t}:t instanceof Fr?i={buffer:t}:i=t;let s={...this.settings,...i};if(r.bufferAccessor=s,r.bounds=null,i.constant){let n=i.value;if(n=this._normalizeValue(n,[],0),this.settings.normalized&&(n=this.normalizeConstant(n)),!(!r.constant||!this._areValuesEqual(n,this.value)))return!1;r.externalBuffer=null,r.constant=!0,this.value=n}else if(i.buffer){let n=i.buffer;r.externalBuffer=n,r.constant=!1,this.value=i.value||null;let o=i.value instanceof Float64Array;s.type=i.type||n.accessor.type,s.bytesPerElement=n.accessor.BYTES_PER_ELEMENT*(o?2:1),s.stride=lP(s)}else if(i.value){this._checkExternalBuffer(i);let n=i.value;r.externalBuffer=null,r.constant=!1,this.value=n,s.bytesPerElement=n.BYTES_PER_ELEMENT,s.stride=lP(s);let{buffer:o,byteOffset:c}=this;this.doublePrecision&&n instanceof Float64Array&&(n=iP(n,s));let f=n.byteLength+c+s.stride*2;o.byteLength(r+128)/255*2-1);case 5122:return new Float32Array(t).map(r=>(r+32768)/65535*2-1);case 5121:return new Float32Array(t).map(r=>r/255);case 5123:return new Float32Array(t).map(r=>r/65535);default:return t}}_normalizeValue(t,r,i){let{defaultValue:s,size:n}=this.settings;if(Number.isFinite(t))return r[i]=t,r;if(!t){let o=n;for(;--o>=0;)r[i+o]=s[o];return r}switch(n){case 4:r[i+3]=Number.isFinite(t[3])?t[3]:s[3];case 3:r[i+2]=Number.isFinite(t[2])?t[2]:s[2];case 2:r[i+1]=Number.isFinite(t[1])?t[1]:s[1];case 1:r[i+0]=Number.isFinite(t[0])?t[0]:s[0];break;default:let o=n;for(;--o>=0;)r[i+o]=Number.isFinite(t[o])?t[o]:s[o]}return r}_areValuesEqual(t,r){if(!t||!r)return!1;let{size:i}=this;for(let s=0;s0&&($G.length=e.length,i=$G):i=QG,(t>0||Number.isFinite(r))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,r),s.index=t-1),{iterable:i,objectInfo:s}}function cP(e){return e&&e[Symbol.asyncIterator]}function uP(e,t){let{size:r,stride:i,offset:s,startIndices:n,nested:o}=t,c=e.BYTES_PER_ELEMENT,f=i?i/c:r,_=s?s/c:0,w=Math.floor((e.length-_)/f);return(I,{index:R,target:N})=>{if(!n){let Y=R*f+_;for(let K=0;K=t[1]))return e;let r=[],i=e.length,s=0;for(let n=0;nt[1]?r.push(o):t=[Math.min(o[0],t[0]),Math.max(o[1],t[1])]}return r.splice(s,0,t),r}function ID(e){let{source:t,target:r,start:i=0,size:s,getData:n}=e,o=e.end||r.length,c=t.length,f=o-i;if(c>f){r.set(t.subarray(0,f),i);return}if(r.set(t,i),!n)return;let _=c;for(;_i(w+c,I)),_=Math.min(s.length,n.length);for(let w=1;w<_;w++){let I=s[w]*r,R=n[w]*r;ID({source:e.subarray(o,I),target:t,start:c,end:R,size:r,getData:f}),o=I,c=R}return ce},spring:{stiffness:.05,damping:.5}};function hP(e,t){if(!e)return null;Number.isFinite(e)&&(e={type:\"interpolation\",duration:e});let r=e.type||\"interpolation\";return{...Sct[r],...t,...e,type:r}}function fP(e,t){let r=t.getBuffer();return r?[r,{divisor:0,size:t.size,normalized:t.settings.normalized}]:t.value}function dP(e){switch(e){case 1:return\"float\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error('No defined attribute type for size \"'.concat(e,'\"'))}}function pP(e){e.push(e.shift())}function aw(e,t){let{doublePrecision:r,settings:i,value:s,size:n}=e,o=r&&s instanceof Float64Array?2:1;return(i.noAlloc?s.length:t*n)*o}function AP({buffer:e,numInstances:t,attribute:r,fromLength:i,fromStartIndices:s,getData:n=o=>o}){let o=r.doublePrecision&&r.value instanceof Float64Array?2:1,c=r.size*o,f=r.byteOffset,_=r.startIndices,w=s&&_,I=aw(r,t),R=r.isConstant;if(!w&&i>=I)return;let N=R?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!R){let Y=n;n=(K,J)=>r.normalizeConstant(Y(K,J))}let j=R?(Y,K)=>n(N,K):(Y,K)=>n(N.subarray(Y,Y+c),K),Q=e.getData({length:i}),et=new Float32Array(I);JG({source:Q,target:et,sourceStartIndices:s,targetStartIndices:_,size:c,getData:j}),e.byteLengtht[n])]:t[r];return hP(s,i)}setNeedsUpdate(t=this.id,r){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),r){let{startRow:i=0,endRow:s=1/0}=r;this.state.updateRanges=KG(this.state.updateRanges,[i,s])}else this.state.updateRanges=ow}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=XG}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}allocate(t){let{state:r,settings:i}=this;return i.noAlloc?!1:i.update?(super.allocate(t,r.updateRanges!==ow),!0):!1}updateBuffer({numInstances:t,data:r,props:i,context:s}){if(!this.needsUpdate())return!1;let{state:{updateRanges:n},settings:{update:o,noAlloc:c}}=this,f=!0;if(o){for(let[_,w]of n)o.call(s,this,{data:r,startRow:_,endRow:w,props:i,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLengthw?_.set(J,Q):(t._normalizeValue(J,Y.target,0),xD({target:_,source:Y.target,start:Q,count:ut}));Q+=ut*w}else t._normalizeValue(J,_,Q),Q+=w}}_validateAttributeUpdaters(){let{settings:t}=this;if(!(t.noAlloc||typeof t.update==\"function\"))throw new Error(\"Attribute \".concat(this.id,\" missing update or accessor\"))}_checkAttributeArray(){let{value:t}=this,r=Math.min(4,this.size);if(t&&t.length>=r){let i=!0;switch(r){case 4:i=i&&Number.isFinite(t[3]);case 3:i=i&&Number.isFinite(t[2]);case 2:i=i&&Number.isFinite(t[1]);case 1:i=i&&Number.isFinite(t[0]);break;default:i=!1}if(!i)throw new Error(\"Illegal attribute generated for \".concat(this.id))}}};var lw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"interpolation\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,r.settings),this.currentStartIndices=r.startIndices,this.currentLength=0,this.transform=Mct(t,r);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){if(t.duration<=0){this.transition.cancel();return}this.settings=t;let{gl:i,buffers:s,attribute:n}=this;pP(s);let o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aFrom:s[0],aTo:fP(i,n)},feedbackBuffers:{vCurrent:s[1]}})}update(){let t=this.transition.update();if(t){let{duration:r,easing:i}=this.settings,{time:s}=this.transition,n=s/r;i&&(n=i(n)),this.transform.run({uniforms:{time:n}})}return t}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0}},Tct=`\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n`;function Mct(e,t){let r=dP(t.size);return new nc(e,{vs:Tct,defines:{ATTRIBUTE_TYPE:r},varyings:[\"vCurrent\"]})}var cw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"spring\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"texture\",void 0),G(this,\"framebuffer\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.type=\"spring\",this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,{...r.settings,normalized:!1}),this.currentStartIndices=r.startIndices,this.currentLength=0,this.texture=Pct(t),this.framebuffer=Ict(t,this.texture),this.transform=Ect(t,r,this.framebuffer);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){let{gl:i,buffers:s,attribute:n}=this,o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.settings=t,this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start({...t,duration:1/0}),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aTo:fP(i,n)}})}update(){let{buffers:t,transform:r,framebuffer:i,transition:s}=this;if(!s.update())return!1;let o=this.settings;return r.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),r.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:o.stiffness,damping:o.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),pP(t),this.attributeInTransition.setData({buffer:t[1],value:this.attribute.value}),Dh(i)[0]>0||s.end(),!0}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0,this.texture.delete(),this.framebuffer.delete()}};function Ect(e,t,r){let i=dP(t.size);return new nc(e,{framebuffer:r,vs:`\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n`,fs:`\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}`,defines:{ATTRIBUTE_TYPE:i},varyings:[\"vNext\"]})}function Pct(e){return new pi(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}function Ict(e,t){return new yi(e,{id:\"spring-transition-is-transitioning-framebuffer\",width:1,height:1,attachments:{36064:t}})}var Cct={interpolation:lw,spring:cw},uw=class{constructor(t,{id:r,timeline:i}){G(this,\"id\",void 0),G(this,\"isSupported\",void 0),G(this,\"gl\",void 0),G(this,\"timeline\",void 0),G(this,\"transitions\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"numInstances\",void 0),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=nc.isSupported(t)}finalize(){for(let t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:r,numInstances:i}){this.numInstances=i||1;for(let s in t){let n=t[s],o=n.getTransitionSetting(r);o&&this._updateAttribute(s,n,o)}for(let s in this.transitions){let n=t[s];(!n||!n.getTransitionSetting(r))&&this._removeTransition(s)}}hasAttribute(t){let r=this.transitions[t];return r&&r.inProgress}getAttributes(){let t={};for(let r in this.transitions){let i=this.transitions[r];i.inProgress&&(t[r]=i.attributeInTransition)}return t}run(){if(!this.isSupported||this.numInstances===0)return!1;for(let r in this.transitions)this.transitions[r].update()&&(this.needsRedraw=!0);let t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,r,i){let s=this.transitions[t],n=!s||s.type!==i.type;if(n){if(!this.isSupported){or.warn(\"WebGL2 not supported by this browser. Transition for \".concat(t,\" is disabled.\"))();return}s&&this._removeTransition(t);let o=Cct[i.type];o?this.transitions[t]=new o({attribute:r,timeline:this.timeline,gl:this.gl}):(or.error(\"unsupported transition type '\".concat(i.type,\"'\"))(),n=!1)}(n||r.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(i,this.numInstances))}};var t9=\"attributeManager.invalidate\",Lct=\"attributeManager.updateStart\",kct=\"attributeManager.updateEnd\",Rct=\"attribute.updateStart\",Dct=\"attribute.allocate\",Oct=\"attribute.updateEnd\",Xf=class{constructor(t,{id:r=\"attribute-manager\",stats:i,timeline:s}={}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"attributes\",void 0),G(this,\"updateTriggers\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"userData\",void 0),G(this,\"stats\",void 0),G(this,\"attributeTransitionManager\",void 0),G(this,\"mergeBoundsMemoized\",Yf(dG)),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new uw(t,{id:\"\".concat(r,\"-transitions\"),timeline:s}),Object.seal(this)}finalize(){for(let t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){let r=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,r&&this.id}setNeedsRedraw(){this.needsRedraw=!0}add(t){this._add(t)}addInstanced(t){this._add(t,{instanced:1})}remove(t){for(let r of t)this.attributes[r]!==void 0&&(this.attributes[r].delete(),delete this.attributes[r])}invalidate(t,r){let i=this._invalidateTrigger(t,r);Ls(t9,this,t,i)}invalidateAll(t){for(let r in this.attributes)this.attributes[r].setNeedsUpdate(r,t);Ls(t9,this,\"all\")}update({data:t,numInstances:r,startIndices:i=null,transitions:s,props:n={},buffers:o={},context:c={}}){let f=!1;Ls(Lct,this),this.stats&&this.stats.get(\"Update Attributes\").timeStart();for(let _ in this.attributes){let w=this.attributes[_],I=w.settings.accessor;w.startIndices=i,w.numInstances=r,n[_]&&or.removed(\"props.\".concat(_),\"data.attributes.\".concat(_))(),w.setExternalBuffer(o[_])||w.setBinaryValue(typeof I==\"string\"?o[I]:void 0,t.startIndices)||typeof I==\"string\"&&!o[I]&&w.setConstantValue(n[I])||w.needsUpdate()&&(f=!0,this._updateAttribute({attribute:w,numInstances:r,data:t,props:n,context:c})),this.needsRedraw=this.needsRedraw||w.needsRedraw()}f&&Ls(kct,this,r),this.stats&&this.stats.get(\"Update Attributes\").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:r,transitions:s})}updateTransition(){let{attributeTransitionManager:t}=this,r=t.run();return this.needsRedraw=this.needsRedraw||r,r}getAttributes(){return this.attributes}getBounds(t){let r=t.map(i=>{var s;return(s=this.attributes[i])===null||s===void 0?void 0:s.getBounds()});return this.mergeBoundsMemoized(r)}getChangedAttributes(t={clearChangedFlags:!1}){let{attributes:r,attributeTransitionManager:i}=this,s={...i.getAttributes()};for(let n in r){let o=r[n];o.needsRedraw(t)&&!i.hasAttribute(n)&&(s[n]=o)}return s}getShaderAttributes(t,r={}){t||(t=this.getAttributes());let i={};for(let s in t)r[s]||Object.assign(i,t[s].getShaderAttributes());return i}_add(t,r={}){for(let i in t){let s=t[i];this.attributes[i]=this._createAttribute(i,s,r)}this._mapUpdateTriggersToAttributes()}_createAttribute(t,r,i){let s={...r,id:t,size:r.isIndexed&&1||r.size||1,divisor:i.instanced?1:r.divisor||0};return new up(this.gl,s)}_mapUpdateTriggersToAttributes(){let t={};for(let r in this.attributes)this.attributes[r].getUpdateTriggers().forEach(s=>{t[s]||(t[s]=[]),t[s].push(r)});this.updateTriggers=t}_invalidateTrigger(t,r){let{attributes:i,updateTriggers:s}=this,n=s[t];return n&&n.forEach(o=>{let c=i[o];c&&c.setNeedsUpdate(c.id,r)}),n}_updateAttribute(t){let{attribute:r,numInstances:i}=t;if(Ls(Rct,r),r.constant){r.setConstantValue(r.value);return}r.allocate(i)&&Ls(Dct,r,i),r.updateBuffer(t)&&(this.needsRedraw=!0,Ls(Oct,r,i))}};var hw=class extends Kc{get value(){return this._value}_onUpdate(){let{time:t,settings:{fromValue:r,toValue:i,duration:s,easing:n}}=this,o=n(t/s);this._value=il(r,i,o)}};var e9=1e-5;function r9(e,t,r,i,s){let n=t-e,c=(r-t)*s,f=-n*i;return c+f+n+t}function Bct(e,t,r,i,s){if(Array.isArray(r)){let n=[];for(let o=0;o0}add(t,r,i,s){let{transitions:n}=this;if(n.has(t)){let f=n.get(t),{value:_=f.settings.fromValue}=f;r=_,this.remove(t)}if(s=hP(s),!s)return;let o=Fct[s.type];if(!o){or.error(\"unsupported transition type '\".concat(s.type,\"'\"))();return}let c=new o(this.timeline);c.start({...s,fromValue:r,toValue:i}),n.set(t,c)}remove(t){let{transitions:r}=this;r.has(t)&&(r.get(t).cancel(),r.delete(t))}update(){let t={};for(let[r,i]of this.transitions)i.update(),t[r]=i.value,i.inProgress||this.remove(r);return t}clear(){for(let t of this.transitions.keys())this.remove(t)}};function s9(e){let t=e[zu];for(let r in t){let i=t[r],{validate:s}=i;if(s&&!s(e[r],i))throw new Error(\"Invalid prop \".concat(r,\": \").concat(e[r]))}}function o9(e,t){let r=pw({newProps:e,oldProps:t,propTypes:e[zu],ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=Nct(e,t),s=!1;return i||(s=Uct(e,t)),{dataChanged:i,propsChanged:r,updateTriggersChanged:s,extensionsChanged:Vct(e,t),transitionsChanged:zct(e,t)}}function zct(e,t){if(!e.transitions)return!1;let r={},i=e[zu],s=!1;for(let n in e.transitions){let o=i[n],c=o&&o.type;(c===\"number\"||c===\"color\"||c===\"array\")&&CD(e[n],t[n],o)&&(r[n]=!0,s=!0)}return s?r:!1}function pw({newProps:e,oldProps:t,ignoreProps:r={},propTypes:i={},triggerName:s=\"props\"}){if(t===e)return!1;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return\"\".concat(s,\" changed shallowly\");for(let n of Object.keys(e))if(!(n in r)){if(!(n in t))return\"\".concat(s,\".\").concat(n,\" added\");let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}for(let n of Object.keys(t))if(!(n in r)){if(!(n in e))return\"\".concat(s,\".\").concat(n,\" dropped\");if(!Object.hasOwnProperty.call(e,n)){let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}}return!1}function CD(e,t,r){let i=r&&r.equal;return i&&!i(e,t,r)||!i&&(i=e&&t&&e.equals,i&&!i.call(e,t))?\"changed deeply\":!i&&t!==e?\"changed shallowly\":null}function Nct(e,t){if(t===null)return\"oldProps is null, initial diff\";let r=!1,{dataComparator:i,_dataDiff:s}=e;return i?i(e.data,t.data)||(r=\"Data comparator detected a change\"):e.data!==t.data&&(r=\"A new data container was supplied\"),r&&s&&(r=s(e.data,t.data)||r),r}function Uct(e,t){if(t===null)return{all:!0};if(\"all\"in e.updateTriggers&&n9(e,t,\"all\"))return{all:!0};let r={},i=!1;for(let s in e.updateTriggers)s!==\"all\"&&n9(e,t,s)&&(r[s]=!0,i=!0);return i?r:!1}function Vct(e,t){if(t===null)return!0;let r=t.extensions,{extensions:i}=e;if(i===r)return!1;if(!r||!i||i.length!==r.length)return!0;for(let s=0;si.name===\"project64\"))){let i=r.modules.findIndex(s=>s.name===\"project32\");i>=0&&r.modules.splice(i,1)}if(\"inject\"in t)if(!e.inject)r.inject=t.inject;else{let i={...e.inject};for(let s in t.inject)i[s]=(i[s]||\"\")+t.inject[s];r.inject=i}return r}var qct={10241:9987,10240:9729,10242:33071,10243:33071},LD={};function l9(e,t,r,i){if(r instanceof pi)return r;r.constructor&&r.constructor.name!==\"Object\"&&(r={data:r});let s=null;r.compressed&&(s={10241:r.data.length>1?9985:9729});let n=new pi(t,{...r,parameters:{...qct,...s,...i}});return LD[n.id]=e,n}function c9(e,t){!t||!(t instanceof pi)||LD[t.id]===e&&(t.delete(),delete LD[t.id])}var Zct={boolean:{validate(e,t){return!0},equal(e,t,r){return!!e==!!t}},number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},color:{validate(e,t){return t.optional&&!e||kD(e)&&(e.length===3||e.length===4)},equal(e,t,r){return mo(e,t,1)}},accessor:{validate(e,t){let r=mP(e);return r===\"function\"||r===mP(t.value)},equal(e,t,r){return typeof t==\"function\"?!0:mo(e,t,1)}},array:{validate(e,t){return t.optional&&!e||kD(e)},equal(e,t,r){let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},object:{equal(e,t,r){if(r.ignore)return!0;let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},function:{validate(e,t){return t.optional&&!e||typeof e==\"function\"},equal(e,t,r){return!r.compare&&r.ignore!==!1||e===t}},data:{transform:(e,t,r)=>{let{dataTransform:i}=r.props;return i&&e?i(e):e}},image:{transform:(e,t,r)=>{let i=r.context;return!i||!i.gl?null:l9(r.id,i.gl,e,{...t.parameters,...r.props.textureParameters})},release:(e,t,r)=>{c9(r.id,e)}}};function u9(e){let t={},r={},i={};for(let[s,n]of Object.entries(e)){let o=n?.deprecatedFor;if(o)i[s]=Array.isArray(o)?o:[o];else{let c=Yct(s,n);t[s]=c,r[s]=c.value}}return{propTypes:t,defaultProps:r,deprecatedProps:i}}function Yct(e,t){switch(mP(t)){case\"object\":return Aw(e,t);case\"array\":return Aw(e,{type:\"array\",value:t,compare:!1});case\"boolean\":return Aw(e,{type:\"boolean\",value:t});case\"number\":return Aw(e,{type:\"number\",value:t});case\"function\":return Aw(e,{type:\"function\",value:t,compare:!0});default:return{name:e,type:\"unknown\",value:t}}}function Aw(e,t){return\"type\"in t?{name:e,...Zct[t.type],...t}:\"value\"in t?{name:e,type:mP(t.value),...t}:{name:e,type:\"object\",value:t}}function kD(e){return Array.isArray(e)||ArrayBuffer.isView(e)}function mP(e){return kD(e)?\"array\":e===null?\"null\":typeof e}function h9(e,t){let r;for(let n=t.length-1;n>=0;n--){let o=t[n];\"extensions\"in o&&(r=o.extensions)}let i=RD(e.constructor,r),s=Object.create(i);s[Qy]=e,s[$f]={},s[Wh]={};for(let n=0;n{},this.oldProps=null,this.oldAsyncProps=null}finalize(){for(let t in this.asyncProps){let r=this.asyncProps[t];r&&r.type&&r.type.release&&r.type.release(r.resolvedValue,r.type,this.component)}this.asyncProps={},this.component=null,this.resetOldProps()}getOldProps(){return this.oldAsyncProps||this.oldProps||iut}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component?this.component.props:null}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){let r=this.asyncProps[t];return r&&r.resolvedValue}isAsyncPropLoading(t){if(t){let r=this.asyncProps[t];return!!(r&&r.pendingLoadCount>0&&r.pendingLoadCount!==r.resolvedLoadCount)}for(let r in this.asyncProps)if(this.isAsyncPropLoading(r))return!0;return!1}reloadAsyncProp(t,r){this._watchPromise(t,Promise.resolve(r))}setAsyncProps(t){this.component=t[Qy]||this.component;let r=t[Wh]||{},i=t[$f]||t,s=t[sp]||{};for(let n in r){let o=r[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o),r[n]=this.getAsyncProp(n)}for(let n in i){let o=i[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o)}}_fetch(t,r){return null}_onResolve(t,r){}_onError(t,r){}_updateAsyncProp(t,r){if(this._didAsyncInputValueChange(t,r)){if(typeof r==\"string\"&&(r=this._fetch(t,r)),r instanceof Promise){this._watchPromise(t,r);return}if(cP(r)){this._resolveAsyncIterable(t,r);return}this._setPropValue(t,r)}}_freezeAsyncOldProps(){if(!this.oldAsyncProps&&this.oldProps){this.oldAsyncProps=Object.create(this.oldProps);for(let t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}_didAsyncInputValueChange(t,r){let i=this.asyncProps[t];return r===i.resolvedValue||r===i.lastValue?!1:(i.lastValue=r,!0)}_setPropValue(t,r){this._freezeAsyncOldProps();let i=this.asyncProps[t];i&&(r=this._postProcessValue(i,r),i.resolvedValue=r,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount)}_setAsyncPropValue(t,r,i){let s=this.asyncProps[t];s&&i>=s.resolvedLoadCount&&r!==void 0&&(this._freezeAsyncOldProps(),s.resolvedValue=r,s.resolvedLoadCount=i,this.onAsyncPropUpdated(t,r))}_watchPromise(t,r){let i=this.asyncProps[t];if(i){i.pendingLoadCount++;let s=i.pendingLoadCount;r.then(n=>{this.component&&(n=this._postProcessValue(i,n),this._setAsyncPropValue(t,n,s),this._onResolve(t,n))}).catch(n=>{this._onError(t,n)})}}async _resolveAsyncIterable(t,r){if(t!==\"data\"){this._setPropValue(t,r);return}let i=this.asyncProps[t];if(!i)return;i.pendingLoadCount++;let s=i.pendingLoadCount,n=[],o=0;for await(let c of r){if(!this.component)return;let{dataTransform:f}=this.component.props;f?n=f(c,n):n=n.concat(c),Object.defineProperty(n,\"__diff\",{enumerable:!1,value:[{startRow:o,endRow:n.length}]}),o=n.length,this._setAsyncPropValue(t,n,s)}this._onResolve(t,n)}_postProcessValue(t,r){let i=t.type;return i&&this.component&&(i.release&&i.release(t.resolvedValue,i,this.component),i.transform)?i.transform(r,i,this.component):r}_createAsyncPropData(t,r){if(!this.asyncProps[t]){let s=this.component&&this.component.props[zu];this.asyncProps[t]={type:s&&s[t],lastValue:null,resolvedValue:r,pendingLoadCount:0,resolvedLoadCount:0}}}};var gw=class extends mw{constructor({attributeManager:t,layer:r}){super(r),G(this,\"attributeManager\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"needsUpdate\",void 0),G(this,\"subLayers\",void 0),G(this,\"usesPickingColorCache\",void 0),G(this,\"hasPickingBuffer\",void 0),G(this,\"changeFlags\",void 0),G(this,\"viewport\",void 0),G(this,\"uniformTransitions\",void 0),G(this,\"propsInTransition\",void 0),this.attributeManager=t,this.needsRedraw=!0,this.needsUpdate=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}_fetch(t,r){let i=this.layer,s=i?.props.fetch;return s?s(r,{propName:t,layer:i}):super._fetch(t,r)}_onResolve(t,r){let i=this.layer;if(i){let s=i.props.onDataLoad;t===\"data\"&&s&&s(r,{propName:t,layer:i})}}_onError(t,r){let i=this.layer;i&&i.raiseError(r,\"loading \".concat(t,\" of \").concat(this.layer))}};var nut=\"layer.changeFlag\",sut=\"layer.initialize\",out=\"layer.update\",aut=\"layer.finalize\",lut=\"layer.matched\",d9=2**24-1,cut=Object.freeze([]),uut=Yf(({oldViewport:e,viewport:t})=>e.equals(t)),Kf=new Uint8ClampedArray(0),hut={data:{type:\"data\",value:cut,async:!0},dataComparator:{type:\"function\",value:null,optional:!0},_dataDiff:{type:\"function\",value:e=>e&&e.__diff,optional:!0},dataTransform:{type:\"function\",value:null,optional:!0},onDataLoad:{type:\"function\",value:null,optional:!0},onError:{type:\"function\",value:null,optional:!0},fetch:{type:\"function\",value:(e,{propName:t,layer:r,loaders:i,loadOptions:s,signal:n})=>{let{resourceManager:o}=r.context;if(s=s||r.getLoadOptions(),i=i||r.props.loaders,n){var c;s={...s,fetch:{...(c=s)===null||c===void 0?void 0:c.fetch,signal:n}}}let f=o.contains(e);return!f&&!s&&(o.add({resourceId:e,data:jA(e,i),persistent:!1}),f=!0),f?o.subscribe({resourceId:e,onChange:_=>{var w;return(w=r.internalState)===null||w===void 0?void 0:w.reloadAsyncProp(t,_)},consumerId:r.id,requestId:t}):jA(e,i,s)}},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:\"number\",min:0,max:1,value:1},operation:\"draw\",onHover:{type:\"function\",value:null,optional:!0},onClick:{type:\"function\",value:null,optional:!0},onDragStart:{type:\"function\",value:null,optional:!0},onDrag:{type:\"function\",value:null,optional:!0},onDragEnd:{type:\"function\",value:null,optional:!0},coordinateSystem:Yr.DEFAULT,coordinateOrigin:{type:\"array\",value:[0,0,0],compare:!0},modelMatrix:{type:\"array\",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:\"XYZ\",colorFormat:\"RGBA\",parameters:{type:\"object\",value:{},optional:!0,compare:2},loadOptions:{type:\"object\",value:null,optional:!0,ignore:!0},transitions:null,extensions:[],loaders:{type:\"array\",value:[],optional:!0,ignore:!0},getPolygonOffset:{type:\"function\",value:({layerIndex:e})=>[0,-e*100]},highlightedObjectIndex:null,autoHighlight:!1,highlightColor:{type:\"accessor\",value:[0,0,128,128]}},dn=class extends _g{constructor(...t){super(...t),G(this,\"internalState\",null),G(this,\"lifecycle\",tm.NO_STATE),G(this,\"context\",void 0),G(this,\"state\",void 0),G(this,\"parent\",null)}static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"layerName\")?this.layerName:\"\"}get root(){let t=this;for(;t.parent;)t=t.parent;return t}toString(){let t=this.constructor.layerName||this.constructor.name;return\"\".concat(t,\"({id: '\").concat(this.props.id,\"'})\")}project(t){_r(this.internalState);let r=this.internalState.viewport||this.context.viewport,i=vD(t,{viewport:r,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,n,o]=Hy(i,r.pixelProjectionMatrix);return t.length===2?[s,n]:[s,n,o]}unproject(t){return _r(this.internalState),(this.internalState.viewport||this.context.viewport).unproject(t)}projectPosition(t,r){_r(this.internalState);let i=this.internalState.viewport||this.context.viewport;return mG(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem,...r})}get isComposite(){return!1}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(){this.internalState&&(this.internalState.needsRedraw=!0)}setNeedsUpdate(){this.internalState&&(this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0)}get isLoaded(){return this.internalState?!this.internalState.isAsyncPropLoading():!1}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||this.state.model&&[this.state.model])||[]}setModuleParameters(t){for(let r of this.getModels())r.updateModuleSettings(t)}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}use64bitPositions(){let{coordinateSystem:t}=this.props;return t===Yr.DEFAULT||t===Yr.LNGLAT||t===Yr.CARTESIAN}onHover(t,r){return this.props.onHover&&this.props.onHover(t,r)||!1}onClick(t,r){return this.props.onClick&&this.props.onClick(t,r)||!1}nullPickingColor(){return[0,0,0]}encodePickingColor(t,r=[]){return r[0]=t+1&255,r[1]=t+1>>8&255,r[2]=t+1>>8>>8&255,r}decodePickingColor(t){_r(t instanceof Uint8Array);let[r,i,s]=t;return r+i*256+s*65536-1}getNumInstances(){return Number.isFinite(this.props.numInstances)?this.props.numInstances:this.state&&this.state.numInstances!==void 0?this.state.numInstances:a9(this.props.data)}getStartIndices(){return this.props.startIndices?this.props.startIndices:this.state&&this.state.startIndices?this.state.startIndices:null}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"positions\",\"instancePositions\"])}getShaders(t){for(let r of this.props.extensions)t=tv(t,r.getShaders.call(this,r));return t}shouldUpdateState(t){return t.changeFlags.propsOrDataChanged}updateState(t){let r=this.getAttributeManager(),{dataChanged:i}=t.changeFlags;if(i&&r)if(Array.isArray(i))for(let s of i)r.invalidateAll(s);else r.invalidateAll();if(r){let{props:s}=t,n=this.internalState.hasPickingBuffer,o=Number.isInteger(s.highlightedObjectIndex)||s.pickable||s.extensions.some(c=>c.getNeedsPickingBuffer.call(this,c));if(n!==o){this.internalState.hasPickingBuffer=o;let{pickingColors:c,instancePickingColors:f}=r.attributes,_=c||f;_&&(o&&_.constant&&(_.constant=!1,r.invalidate(_.id)),!_.value&&!o&&(_.constant=!0,_.value=[0,0,0]))}}}finalizeState(t){for(let i of this.getModels())i.delete();let r=this.getAttributeManager();r&&r.finalize(),this.context&&this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState&&(this.internalState.uniformTransitions.clear(),this.internalState.finalize())}draw(t){for(let r of this.getModels())r.draw(t)}getPickingInfo({info:t,mode:r,sourceLayer:i}){let{index:s}=t;return s>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[s]),t}raiseError(t,r){var i,s;if(r&&(t=new Error(\"\".concat(r,\": \").concat(t.message),{cause:t})),!((i=(s=this.props).onError)!==null&&i!==void 0&&i.call(s,t))){var n,o;(n=this.context)===null||n===void 0||(o=n.onError)===null||o===void 0||o.call(n,t,this)}}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState?this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams()):!1}hasUniformTransition(){var t;return((t=this.internalState)===null||t===void 0?void 0:t.uniformTransitions.active)||!1}activateViewport(t){if(!this.internalState)return;let r=this.internalState.viewport;this.internalState.viewport=t,(!r||!uut({oldViewport:r,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t=\"all\"){let r=this.getAttributeManager();r&&(t===\"all\"?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(let r of this.getModels())this._setModelAttributes(r,t)}_updateAttributes(){let t=this.getAttributeManager();if(!t)return;let r=this.props,i=this.getNumInstances(),s=this.getStartIndices();t.update({data:r.data,numInstances:i,startIndices:s,props:r,transitions:r.transitions,buffers:r.data.attributes,context:this});let n=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(n)}_updateAttributeTransition(){let t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){let{uniformTransitions:t}=this.internalState;if(t.active){let r=t.update(),i=Object.create(this.props);for(let s in r)Object.defineProperty(i,s,{value:r[s]});return i}return this.props}calculateInstancePickingColors(t,{numInstances:r}){if(t.constant)return;let i=Math.floor(Kf.length/3);if(this.internalState.usesPickingColorCache=!0,id9&&or.warn(\"Layer has too many data objects. Picking might not be able to distinguish all objects.\")(),Kf=Gh.allocate(Kf,r,{size:3,copy:!0,maxCount:Math.max(r,d9)});let s=Math.floor(Kf.length/3),n=[];for(let o=i;o(or.deprecated(\"layer.state.attributeManager\",\"layer.getAttributeManager()\")(),t)}),this.internalState.uniformTransitions=new dw(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props),this.initializeState(this.context);for(let r of this.props.extensions)r.initializeState.call(this,this.context,r);this.setChangeFlags({dataChanged:\"init\",propsChanged:\"init\",viewportChanged:!0,extensionsChanged:!0}),this._update()}_transferState(t){Ls(lut,this,this===t);let{state:r,internalState:i}=t;this!==t&&(this.internalState=i,this.state=r,this.internalState.setAsyncProps(this.props),this._diffProps(this.props,this.internalState.getOldProps()))}_update(){let t=this.needsUpdate();if(Ls(out,this,t),!t)return;let r=this.props,i=this.context,s=this.internalState,n=i.viewport,o=this._updateUniformTransition();s.propsInTransition=o,i.viewport=s.viewport||n,this.props=o;try{let c=this._getUpdateParams(),f=this.getModels();if(i.gl)this.updateState(c);else try{this.updateState(c)}catch{}for(let w of this.props.extensions)w.updateState.call(this,c,w);let _=this.getModels()[0]!==f[0];this._postUpdate(c,_)}finally{i.viewport=n,this.props=r,this._clearChangeFlags(),s.needsUpdate=!1,s.resetOldProps()}}_finalize(){Ls(aut,this),this.finalizeState(this.context);for(let t of this.props.extensions)t.finalizeState.call(this,this.context,t)}_drawLayer({moduleParameters:t=null,uniforms:r={},parameters:i={}}){this._updateAttributeTransition();let s=this.props,n=this.context;this.props=this.internalState.propsInTransition||s;let o=this.props.opacity;r.opacity=Math.pow(o,1/2.2);try{t&&this.setModuleParameters(t);let{getPolygonOffset:c}=this.props,f=c&&c(r)||[0,0];Ml(n.gl,{polygonOffset:f}),Mn(n.gl,i,()=>{let _={moduleParameters:t,uniforms:r,parameters:i,context:n};for(let w of this.props.extensions)w.draw.call(this,_,w);this.draw(_)})}finally{this.props=s}}getChangeFlags(){var t;return(t=this.internalState)===null||t===void 0?void 0:t.changeFlags}setChangeFlags(t){if(!this.internalState)return;let{changeFlags:r}=this.internalState;for(let s in t)if(t[s]){let n=!1;switch(s){case\"dataChanged\":let o=t[s],c=r[s];o&&Array.isArray(c)&&(r.dataChanged=Array.isArray(o)?c.concat(o):o,n=!0);default:r[s]||(r[s]=t[s],n=!0)}n&&Ls(nut,this,s,t)}let i=!!(r.dataChanged||r.updateTriggersChanged||r.propsChanged||r.extensionsChanged);r.propsOrDataChanged=i,r.somethingChanged=i||r.viewportChanged||r.stateChanged}_clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}_diffProps(t,r){let i=o9(t,r);if(i.updateTriggersChanged)for(let n in i.updateTriggersChanged)i.updateTriggersChanged[n]&&this.invalidateAttribute(n);if(i.transitionsChanged)for(let n in i.transitionsChanged){var s;this.internalState.uniformTransitions.add(n,r[n],t[n],(s=t.transitions)===null||s===void 0?void 0:s[n])}return this.setChangeFlags(i)}validateProps(){s9(this.props)}updateAutoHighlight(t){this.props.autoHighlight&&!Number.isInteger(this.props.highlightedObjectIndex)&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){let r={pickingSelectedColor:t.picked?t.color:null},{highlightColor:i}=this.props;t.picked&&typeof i==\"function\"&&(r.pickingHighlightColor=i(t)),this.setModuleParameters(r),this.setNeedsRedraw()}_getAttributeManager(){let t=this.context;return new Xf(t.gl,{id:this.props.id,stats:t.stats,timeline:t.timeline})}_postUpdate(t,r){let{props:i,oldProps:s}=t;this.setNeedsRedraw(),this._updateAttributes();let{model:n}=this.state;n?.setInstanceCount(this.getNumInstances());let{autoHighlight:o,highlightedObjectIndex:c,highlightColor:f}=i;if(r||s.autoHighlight!==o||s.highlightedObjectIndex!==c||s.highlightColor!==f){let _={};o||(_.pickingSelectedColor=null),Array.isArray(f)&&(_.pickingHighlightColor=f),(r||c!==s.highlightedObjectIndex)&&(_.pickingSelectedColor=Number.isFinite(c)&&c>=0?this.encodePickingColor(c):null),this.setModuleParameters(_)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let r=!1;r=r||this.internalState.needsRedraw&&this.id;let i=this.getAttributeManager(),s=i?i.getNeedsRedraw(t):!1;if(r=r||s,r)for(let n of this.props.extensions)n.onNeedsRedraw.call(this,n);return this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags,r}_onAsyncPropUpdated(){this._diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}};G(dn,\"defaultProps\",hut);G(dn,\"layerName\",\"Layer\");var fut=\"compositeLayer.renderLayers\",Ni=class extends dn{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(t){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){let{object:r}=t;return r&&r.__source&&r.__source.parent&&r.__source.parent.id===this.id&&(t.object=r.__source.object,t.index=r.__source.index),t}filterSubLayer(t){return!0}shouldRenderSubLayer(t,r){return r&&r.length}getSubLayerClass(t,r){let{_subLayerProps:i}=this.props;return i&&i[t]&&i[t].type||r}getSubLayerRow(t,r,i){return t.__source={parent:this,object:r,index:i},t}getSubLayerAccessor(t){if(typeof t==\"function\"){let r={index:-1,data:this.props.data,target:[]};return(i,s)=>i&&i.__source?(r.index=i.__source.index,t(i.__source.object,r)):t(i,s)}return t}getSubLayerProps(t={}){var r;let{opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K,_subLayerProps:J}=this.props,ut={id:\"\",updateTriggers:{},opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K},Et=J&&t.id&&J[t.id],kt=Et&&Et.updateTriggers,Xt=t.id||\"sublayer\";if(Et){let qt=this.props[zu],le=t.type?t.type._propTypes:{};for(let ue in Et){let De=le[ue]||qt[ue];De&&De.type===\"accessor\"&&(Et[ue]=this.getSubLayerAccessor(Et[ue]))}}Object.assign(ut,t,Et),ut.id=\"\".concat(this.props.id,\"-\").concat(Xt),ut.updateTriggers={all:(r=this.props.updateTriggers)===null||r===void 0?void 0:r.all,...t.updateTriggers,...kt};for(let qt of et){let le=qt.getSubLayerProps.call(this,qt);le&&Object.assign(ut,le,{updateTriggers:Object.assign(ut.updateTriggers,le.updateTriggers)})}return ut}_updateAutoHighlight(t){for(let r of this.getSubLayers())r.updateAutoHighlight(t)}_getAttributeManager(){return null}_postUpdate(t,r){let i=this.internalState.subLayers,s=!i||this.needsUpdate();if(s){let n=this.renderLayers();i=op(n,Boolean),this.internalState.subLayers=i}Ls(fut,this,s,i);for(let n of i)n.parent=this}};G(Ni,\"layerName\",\"CompositeLayer\");var gP=Math.PI/180,p9=180/Math.PI,_P=6370972,ev=256;function dut(){let e=ev/_P,t=Math.PI/180*ev;return{unitsPerMeter:[e,e,e],unitsPerMeter2:[0,0,0],metersPerUnit:[1/e,1/e,1/e],unitsPerDegree:[t,t,e],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/t,1/t,1/e]}}var rv=class extends ac{constructor(t={}){let{latitude:r=0,longitude:i=0,zoom:s=0,nearZMultiplier:n=.1,farZMultiplier:o=2,resolution:c=10}=t,{height:f,altitude:_=1.5}=t;f=f||1,_=Math.max(.75,_);let w=new En().lookAt({eye:[0,-_,0],up:[0,0,1]}),I=Math.pow(2,s);w.rotateX(r*gP),w.rotateZ(-i*gP),w.scale(I/f);let R=Math.atan(.5/_),N=ev*2*I/f;super({...t,height:f,viewMatrix:w,longitude:i,latitude:r,zoom:s,distanceScales:dut(),fovyRadians:R*2,focalDistance:_,near:n,far:Math.min(2,1/N+1)*_*o}),G(this,\"longitude\",void 0),G(this,\"latitude\",void 0),G(this,\"resolution\",void 0),this.latitude=r,this.longitude=i,this.resolution=c}get projectionMode(){return Ja.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){let r={targetZ:t.z||0},i=this.unproject([0,this.height/2],r),s=this.unproject([this.width/2,0],r),n=this.unproject([this.width,this.height/2],r),o=this.unproject([this.width/2,this.height],r);return n[0]this.longitude&&(i[0]-=360),[Math.min(i[0],n[0],s[0],o[0]),Math.min(i[1],n[1],s[1],o[1]),Math.max(i[0],n[0],s[0],o[0]),Math.max(i[1],n[1],s[1],o[1])]}unproject(t,{topLeft:r=!0,targetZ:i}={}){let[s,n,o]=t,c=r?n:this.height-n,{pixelUnprojectionMatrix:f}=this,_;if(Number.isFinite(o))_=OD(f,[s,c,o,1]);else{let N=OD(f,[s,c,-1,1]),j=OD(f,[s,c,1,1]),Q=((i||0)/_P+1)*ev,et=NE(FE([],N,j)),Y=NE(N),K=NE(j),ut=4*((4*Y*K-(et-Y-K)**2)/16)/et,Et=Math.sqrt(Y-ut),kt=Math.sqrt(Math.max(0,Q*Q-ut)),Xt=(Et-kt)/Math.sqrt(et);_=Hj([],N,j,Xt)}let[w,I,R]=this.unprojectPosition(_);return Number.isFinite(o)?[w,I,R]:Number.isFinite(i)?[w,I,i]:[w,I]}projectPosition(t){let[r,i,s=0]=t,n=r*gP,o=i*gP,c=Math.cos(o),f=(s/_P+1)*ev;return[Math.sin(n)*c*f,-Math.cos(n)*c*f,Math.sin(o)*f]}unprojectPosition(t){let[r,i,s]=t,n=zE(t),o=Math.asin(s/n),f=Math.atan2(r,-i)*p9,_=o*p9,w=(n/ev-1)*_P;return[f,_,w]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,r){let i=this.unproject(r);return{longitude:t[0]-i[0]+this.longitude,latitude:t[1]-i[1]+this.latitude}}};function OD(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}var put=new En().lookAt({eye:[0,0,1]});function Aut({width:e,height:t,near:r,far:i,padding:s}){let n=-e/2,o=e/2,c=-t/2,f=t/2;if(s){let{left:_=0,right:w=0,top:I=0,bottom:R=0}=s,N=Il((_+e-w)/2,0,e)-e/2,j=Il((I+t-R)/2,0,t)-t/2;n-=N,o-=N,c+=j,f+=j}return new En().ortho({left:n,right:o,bottom:c,top:f,near:r,far:i})}var iv=class extends ac{constructor(t){let{width:r,height:i,near:s=.1,far:n=1e3,zoom:o=0,target:c=[0,0,0],padding:f=null,flipY:_=!0}=t,w=Array.isArray(o)?o[0]:o,I=Array.isArray(o)?o[1]:o,R=Math.min(w,I),N=Math.pow(2,R),j;if(w!==I){let Q=Math.pow(2,w),et=Math.pow(2,I);j={unitsPerMeter:[Q/N,et/N,1],metersPerUnit:[N/Q,N/et,1]}}super({...t,longitude:void 0,position:c,viewMatrix:put.clone().scale([N,N*(_?-1:1),N]),projectionMatrix:Aut({width:r||1,height:i||1,padding:f,near:s,far:n}),zoom:R,distanceScales:j})}projectFlat([t,r]){let{unitsPerMeter:i}=this.distanceScales;return[t*i[0],r*i[1]]}unprojectFlat([t,r]){let{metersPerUnit:i}=this.distanceScales;return[t*i[0],r*i[1]]}panByPosition(t,r){let i=Qf(r,this.pixelUnprojectionMatrix),s=this.projectFlat(t),n=$A([],s,LE([],i)),o=$A([],this.center,n);return{target:this.unprojectFlat(o)}}};var cc=class{static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"extensionName\")?this.extensionName:\"\"}constructor(t){G(this,\"opts\",void 0),t&&(this.opts=t)}equals(t){return this===t?!0:this.constructor===t.constructor&&mo(this.opts,t.opts,1)}getShaders(t){return null}getSubLayerProps(t){let{defaultProps:r}=t.constructor,i={updateTriggers:{}};for(let s in r)if(s in this.props){let n=r[s],o=this.props[s];i[s]=o,n&&n.type===\"accessor\"&&(i.updateTriggers[s]=this.props.updateTriggers[s],typeof o==\"function\"&&(i[s]=this.getSubLayerAccessor(o)))}return i}initializeState(t,r){}updateState(t,r){}onNeedsRedraw(t){}getNeedsPickingBuffer(t){return!1}draw(t,r){}finalizeState(t,r){}};G(cc,\"defaultProps\",{});G(cc,\"extensionName\",\"LayerExtension\");var BD={bearing:0,pitch:0,position:[0,0,0]},mut={speed:1.2,curve:1.414},nv=class extends hg{constructor(t={}){super({compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],extract:[\"width\",\"height\",\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"width\",\"height\",\"latitude\",\"longitude\",\"zoom\"]}),G(this,\"opts\",void 0),this.opts={...mut,...t}}interpolateProps(t,r,i){let s=rP(t,r,i,this.opts);for(let n in BD)s[n]=il(t[n]||BD[n],r[n]||BD[n],i);return s}getDuration(t,r){let{transitionDuration:i}=r;return i===\"auto\"&&(i=gD(t,r,this.opts)),i}};var rm=class{constructor(t){G(this,\"opts\",void 0),G(this,\"typedArrayManager\",void 0),G(this,\"indexStarts\",[0]),G(this,\"vertexStarts\",[0]),G(this,\"vertexCount\",0),G(this,\"instanceCount\",0),G(this,\"attributes\",void 0),G(this,\"_attributeDefs\",void 0),G(this,\"data\",void 0),G(this,\"getGeometry\",void 0),G(this,\"geometryBuffer\",void 0),G(this,\"buffers\",void 0),G(this,\"positionSize\",void 0),G(this,\"normalize\",void 0);let{attributes:r={}}=t;this.typedArrayManager=Gh,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t)}updateGeometry(t){Object.assign(this.opts,t);let{data:r,buffers:i={},getGeometry:s,geometryBuffer:n,positionFormat:o,dataChanged:c,normalize:f=!0}=this.opts;if(this.data=r,this.getGeometry=s,this.positionSize=n&&n.size||(o===\"XY\"?2:3),this.buffers=i,this.normalize=f,n&&(_r(r.startIndices),this.getGeometry=this.getGeometryFromBuffer(n),f||(i.positions=n)),this.geometryBuffer=i.positions,Array.isArray(c))for(let _ of c)this._rebuildGeometry(_);else this._rebuildGeometry()}updatePartialGeometry({startRow:t,endRow:r}){this._rebuildGeometry({startRow:t,endRow:r})}getGeometryFromBuffer(t){let r=t.value||t;return ArrayBuffer.isView(r)?uP(r,{size:this.positionSize,offset:t.offset,stride:t.stride,startIndices:this.data.startIndices}):null}_allocate(t,r){let{attributes:i,buffers:s,_attributeDefs:n,typedArrayManager:o}=this;for(let c in n)if(c in s)o.release(i[c]),i[c]=null;else{let f=n[c];f.copy=r,i[c]=o.allocate(i[c],t,f)}}_forEachGeometry(t,r,i){let{data:s,getGeometry:n}=this,{iterable:o,objectInfo:c}=Jc(s,r,i);for(let f of o){c.index++;let _=n?n(f,c):null;t(_,c.index)}}_rebuildGeometry(t){if(!this.data)return;let{indexStarts:r,vertexStarts:i,instanceCount:s}=this,{data:n,geometryBuffer:o}=this,{startRow:c=0,endRow:f=1/0}=t||{},_={};if(t||(r=[0],i=[0]),this.normalize||!o)this._forEachGeometry((I,R)=>{let N=I&&this.normalizeGeometry(I);_[R]=N,i[R+1]=i[R]+(N?this.getGeometrySize(N):0)},c,f),s=i[i.length-1];else if(i=n.startIndices,s=i[n.length]||0,ArrayBuffer.isView(o))s=s||o.length/this.positionSize;else if(o instanceof Fr){let I=o.accessor.stride||this.positionSize*4;s=s||o.byteLength/I}else if(o.buffer){let I=o.stride||this.positionSize*4;s=s||o.buffer.byteLength/I}else if(o.value){let I=o.value,R=o.stride/I.BYTES_PER_ELEMENT||this.positionSize;s=s||I.length/R}this._allocate(s,!!t),this.indexStarts=r,this.vertexStarts=i,this.instanceCount=s;let w={};this._forEachGeometry((I,R)=>{let N=_[R]||I;w.vertexStart=i[R],w.indexStart=r[R];let j=RvP(r,t));if(ov(e)){if(yut(e))return t.style=_ut,(0,FD.cloneElement)(e,t);if(vut(e))return(0,FD.cloneElement)(e,t)}return e}function ov(e){return e&&typeof e==\"object\"&&\"type\"in e||!1}function yut(e){var t;return(t=e.props)===null||t===void 0?void 0:t.mapStyle}function vut(e){let t=e.type;return t&&t.deckGLViewProps}function zD(e){if(typeof e==\"function\")return(0,m9.createElement)(Xc,{},e);if(Array.isArray(e))return e.map(zD);if(ov(e)){if(e.type===xP.Fragment)return zD(e.props.children);if(sv(e.type,Xc))return e}return e}function ND({children:e,layers:t=[],views:r=null}){let i=[],s=[],n={};return xP.Children.forEach(zD(e),o=>{if(ov(o)){let c=o.type;if(sv(c,dn)){let f=xut(c,o.props);s.push(f)}else i.push(o);if(sv(c,Xc)&&c!==Xc&&o.props.id){let f=new c(o.props);n[f.id]=f}}else o&&i.push(o)}),Object.keys(n).length>0&&(Array.isArray(r)?r.forEach(o=>{n[o.id]=o}):r&&(n[r.id]=r),r=Object.values(n)),t=s.length>0?[...s,...t]:t,{layers:t,children:i,views:r}}function xut(e,t){let r={},i=e.defaultProps||{};for(let s in t)i[s]!==t[s]&&(r[s]=t[s]);return new e(r)}var UD=Ri(Yi());function VD({children:e,deck:t,ContextProvider:r}){let{viewManager:i}=t||{};if(!i||!i.views.length)return[];let s={},n=i.views[0].id;for(let o of e){let c=n,f=o;ov(o)&&sv(o.type,Xc)&&(c=o.props.id||n,f=o.props.children);let _=i.getViewport(c),w=i.getViewState(c);if(_){w.padding=_.padding;let{x:I,y:R,width:N,height:j}=_;f=vP(f,{x:I,y:R,width:N,height:j,viewport:_,viewState:w}),s[c]||(s[c]={viewport:_,children:[]}),s[c].children.push(f)}}return Object.keys(s).map(o=>{let{viewport:c,children:f}=s[o],{x:_,y:w,width:I,height:R}=c,N={position:\"absolute\",left:_,top:w,width:I,height:R},j=\"view-\".concat(o),Q=(0,UD.createElement)(\"div\",{key:j,id:j,style:N},...f);if(r){let et={viewport:c,container:t.canvas.offsetParent,eventManager:t.eventManager,onViewStateChange:Y=>{Y.viewId=o,t._onViewStateChange(Y)}};return(0,UD.createElement)(r,{key:j,value:et},Q)}return Q})}var but={mixBlendMode:null};function jD({width:e,height:t,style:r}){let i={position:\"absolute\",zIndex:0,left:0,top:0,width:e,height:t},s={left:0,top:0};if(r)for(let n in r)n in but?s[n]=r[n]:i[n]=r[n];return{containerStyle:i,canvasStyle:s}}function wut(e){return{get deck(){return e.deck},pickObject:t=>e.deck.pickObject(t),pickMultipleObjects:t=>e.deck.pickMultipleObjects(t),pickObjects:t=>e.deck.pickObjects(t)}}function g9(e){e.redrawReason&&(e.deck._drawLayers(e.redrawReason),e.redrawReason=null)}function Sut(e,t,r){let i=new t({...r,_customRender:s=>{e.redrawReason=s;let n=i.getViewports();e.lastRenderedViewports!==n?e.forceUpdate():g9(e)}});return i}var _9=(0,Do.forwardRef)((e,t)=>{let[r,i]=(0,Do.useState)(0),n=(0,Do.useRef)({control:null,version:r,forceUpdate:()=>i(Et=>Et+1)}).current,o=(0,Do.useRef)(null),c=(0,Do.useRef)(null),f=(0,Do.useMemo)(()=>ND(e),[e.layers,e.views,e.children]),_=!0,w=Et=>{var kt;return _&&e.viewState?(n.viewStateUpdateRequested=Et,null):(n.viewStateUpdateRequested=null,(kt=e.onViewStateChange)===null||kt===void 0?void 0:kt.call(e,Et))},I=Et=>{if(_)n.interactionStateUpdateRequested=Et;else{var kt;n.interactionStateUpdateRequested=null,(kt=e.onInteractionStateChange)===null||kt===void 0||kt.call(e,Et)}},R=(0,Do.useMemo)(()=>{let Et={...e,style:null,width:\"100%\",height:\"100%\",parent:o.current,canvas:c.current,layers:f.layers,views:f.views,onViewStateChange:w,onInteractionStateChange:I};return delete Et._customRender,n.deck&&n.deck.setProps(Et),Et},[e]);(0,Do.useEffect)(()=>{let Et=e.Deck||cp;return n.deck=Sut(n,Et,{...R,parent:o.current,canvas:c.current}),()=>{var kt;return(kt=n.deck)===null||kt===void 0?void 0:kt.finalize()}},[]),A9(()=>{g9(n);let{viewStateUpdateRequested:Et,interactionStateUpdateRequested:kt}=n;Et&&w(Et),kt&&I(kt)}),(0,Do.useImperativeHandle)(t,()=>wut(n),[]);let N=n.deck&&n.deck.isInitialized?n.deck.getViewports():void 0,{ContextProvider:j,width:Q,height:et,id:Y,style:K}=e,{containerStyle:J,canvasStyle:ut}=(0,Do.useMemo)(()=>jD({width:Q,height:et,style:K}),[Q,et,K]);if(!n.viewStateUpdateRequested&&n.lastRenderedViewports===N||n.version!==r){n.lastRenderedViewports=N,n.version=r;let Et=VD({children:f.children,deck:n.deck,ContextProvider:j}),kt=(0,Do.createElement)(\"canvas\",{key:\"canvas\",id:Y||\"deckgl-overlay\",ref:c,style:ut});n.control=(0,Do.createElement)(\"div\",{id:\"\".concat(Y||\"deckgl\",\"-wrapper\"),ref:o,style:J},[kt,Et])}return _=!1,n.control});_9.defaultProps=cp.defaultProps;var GD=_9;var zt,hp=new Array(128).fill(void 0);hp.push(void 0,null,!0,!1);var ww=hp.length;function qe(e){ww===hp.length&&hp.push(hp.length+1);let t=ww;return ww=hp[t],hp[t]=e,t}function xe(e){return hp[e]}function Tut(e){e<132||(hp[e]=ww,ww=e)}function nn(e){let t=xe(e);return Tut(e),t}var R9=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};typeof TextDecoder<\"u\"&&R9.decode();var _w=null;function av(){return(_w===null||_w.byteLength===0)&&(_w=new Uint8Array(zt.memory.buffer)),_w}function tu(e,t){return e=e>>>0,R9.decode(av().subarray(e,e+t))}function uc(e){return e==null}var yw=null;function Mut(){return(yw===null||yw.byteLength===0)&&(yw=new Float64Array(zt.memory.buffer)),yw}var vw=null;function Ue(){return(vw===null||vw.byteLength===0)&&(vw=new Int32Array(zt.memory.buffer)),vw}var hc=0,bP=typeof TextEncoder<\"u\"?new TextEncoder(\"utf-8\"):{encode:()=>{throw Error(\"TextEncoder not available\")}},Eut=typeof bP.encodeInto==\"function\"?function(e,t){return bP.encodeInto(e,t)}:function(e,t){let r=bP.encode(e);return t.set(r),{read:e.length,written:r.length}};function fp(e,t,r){if(r===void 0){let c=bP.encode(e),f=t(c.length,1)>>>0;return av().subarray(f,f+c.length).set(c),hc=c.length,f}let i=e.length,s=t(i,1)>>>0,n=av(),o=0;for(;o127)break;n[s+o]=c}if(o!==i){o!==0&&(e=e.slice(o)),s=r(s,i,i=o+e.length*3,1)>>>0;let c=av().subarray(s+o,s+i),f=Eut(e,c);o+=f.written,s=r(s,i,o,1)>>>0}return hc=o,s}var xw=null;function Put(){return(xw===null||xw.byteLength===0)&&(xw=new BigInt64Array(zt.memory.buffer)),xw}function WD(e){let t=typeof e;if(t==\"number\"||t==\"boolean\"||e==null)return`${e}`;if(t==\"string\")return`\"${e}\"`;if(t==\"symbol\"){let s=e.description;return s==null?\"Symbol\":`Symbol(${s})`}if(t==\"function\"){let s=e.name;return typeof s==\"string\"&&s.length>0?`Function(${s})`:\"Function\"}if(Array.isArray(e)){let s=e.length,n=\"[\";s>0&&(n+=WD(e[0]));for(let o=1;o1)i=r[1];else return toString.call(e);if(i==\"Object\")try{return\"Object(\"+JSON.stringify(e)+\")\"}catch{return\"Object\"}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:i}var y9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{zt.__wbindgen_export_2.get(e.dtor)(e.a,e.b)});function Iut(e,t,r,i){let s={a:e,b:t,cnt:1,dtor:r},n=(...o)=>{s.cnt++;let c=s.a;s.a=0;try{return i(c,s.b,...o)}finally{--s.cnt===0?(zt.__wbindgen_export_2.get(s.dtor)(c,s.b),y9.unregister(s)):s.a=c}};return n.original=s,y9.register(n,s,s),n}function Cut(e,t,r){zt._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h1de40baa0df51db0(e,t,qe(r))}function D9(e,t){let r=t(e.length*1,1)>>>0;return av().set(e,r/1),hc=e.length,r}function O9(e,t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(e,zt.__wbindgen_malloc),c=hc;zt.readParquet(n,o,c,uc(t)?0:qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return IP.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}function Lut(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function XD(e,t){return e=e>>>0,av().subarray(e/1,e/1+t)}var bw=null;function B9(){return(bw===null||bw.byteLength===0)&&(bw=new Uint32Array(zt.memory.buffer)),bw}function wP(e,t){e=e>>>0;let i=B9().subarray(e/4,e/4+t),s=[];for(let n=0;n>>0,B9().subarray(e/4,e/4+t)}function Rut(e,t,r,i){zt.wasm_bindgen__convert__closures__invoke2_mut__h26b6dc7d05b06fdf(e,t,qe(r),qe(i))}var E8t=Object.freeze({V1:0,0:\"V1\",V2:1,1:\"V2\"}),P8t=Object.freeze({None:0,0:\"None\",Chunk:1,1:\"Chunk\",Page:2,2:\"Page\"}),I8t=Object.freeze({PLAIN:0,0:\"PLAIN\",PLAIN_DICTIONARY:1,1:\"PLAIN_DICTIONARY\",RLE:2,2:\"RLE\",BIT_PACKED:3,3:\"BIT_PACKED\",DELTA_BINARY_PACKED:4,4:\"DELTA_BINARY_PACKED\",DELTA_LENGTH_BYTE_ARRAY:5,5:\"DELTA_LENGTH_BYTE_ARRAY\",DELTA_BYTE_ARRAY:6,6:\"DELTA_BYTE_ARRAY\",RLE_DICTIONARY:7,7:\"RLE_DICTIONARY\",BYTE_STREAM_SPLIT:8,8:\"BYTE_STREAM_SPLIT\"}),C8t=Object.freeze({UNCOMPRESSED:0,0:\"UNCOMPRESSED\",SNAPPY:1,1:\"SNAPPY\",GZIP:2,2:\"GZIP\",BROTLI:3,3:\"BROTLI\",LZ4:4,4:\"LZ4\",ZSTD:5,5:\"ZSTD\",LZ4_RAW:6,6:\"LZ4_RAW\",LZO:7,7:\"LZO\"}),v9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_columnchunkmetadata_free(e>>>0)),SP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,v9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,v9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_columnchunkmetadata_free(t)}filePath(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_filePath(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}fileOffset(){return zt.columnchunkmetadata_fileOffset(this.__wbg_ptr)}columnPath(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_columnPath(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}encodings(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_encodings(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numValues(){return zt.columnchunkmetadata_numValues(this.__wbg_ptr)}compression(){return zt.columnchunkmetadata_compression(this.__wbg_ptr)}compressedSize(){return zt.columnchunkmetadata_compressedSize(this.__wbg_ptr)}uncompressedSize(){return zt.columnchunkmetadata_uncompressedSize(this.__wbg_ptr)}},L8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowarray_free(e>>>0));var x9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowschema_free(e>>>0)),TP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,x9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,x9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffiarrowschema_free(t)}addr(){return zt.ffiarrowschema_addr(this.__wbg_ptr)>>>0}},k8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffidata_free(e>>>0));var b9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffirecordbatch_free(e>>>0)),MP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,b9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,b9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffirecordbatch_free(t)}arrayAddr(){return zt.ffirecordbatch_arrayAddr(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffirecordbatch_schemaAddr(this.__wbg_ptr)>>>0}},w9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffitable_free(e>>>0)),EP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,w9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,w9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffitable_free(t)}numBatches(){return zt.ffitable_numBatches(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffitable_schemaAddr(this.__wbg_ptr)>>>0}arrayAddr(t){return zt.ffitable_arrayAddr(this.__wbg_ptr,t)>>>0}arrayAddrs(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.ffitable_arrayAddrs(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=kut(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}drop(){let t=this.__destroy_into_raw();zt.ffitable_drop(t)}},R8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffivector_free(e>>>0));var S9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_filemetadata_free(e>>>0)),HD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,S9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,S9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_filemetadata_free(t)}version(){return zt.filemetadata_version(this.__wbg_ptr)}numRows(){return zt.filemetadata_numRows(this.__wbg_ptr)}createdBy(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_createdBy(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}keyValueMetadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_keyValueMetadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},D8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingbytesource_free(e>>>0));var O8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsink_free(e>>>0));var T9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsource_free(e>>>0)),qD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,T9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,T9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_intounderlyingsource_free(t)}pull(t){let r=zt.intounderlyingsource_pull(this.__wbg_ptr,qe(t));return nn(r)}cancel(){let t=this.__destroy_into_raw();zt.intounderlyingsource_cancel(t)}},M9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetfile_free(e>>>0)),ZD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,M9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,M9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetfile_free(t)}static fromUrl(t,r){let i=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),s=hc,n=zt.parquetfile_fromUrl(i,s,uc(r)?0:qe(r));return nn(n)}static fromFile(t){let r=zt.parquetfile_fromFile(qe(t));return nn(r)}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetfile_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return YD.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}read(t){let r=zt.parquetfile_read(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}stream(t){let r=zt.parquetfile_stream(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}},E9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetmetadata_free(e>>>0)),YD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,E9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,E9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetmetadata_free(t)}fileMetadata(){let t=zt.parquetmetadata_fileMetadata(this.__wbg_ptr);return HD.__wrap(t)}numRowGroups(){return zt.parquetmetadata_numRowGroups(this.__wbg_ptr)>>>0}rowGroup(t){let r=zt.parquetmetadata_rowGroup(this.__wbg_ptr,t);return PP.__wrap(r)}rowGroups(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetmetadata_rowGroups(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},P9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_recordbatch_free(e>>>0)),QD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,P9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,P9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_recordbatch_free(t)}get numRows(){return zt.recordbatch_numRows(this.__wbg_ptr)>>>0}get numColumns(){return zt.recordbatch_numColumns(this.__wbg_ptr)>>>0}get schema(){let t=zt.recordbatch_schema(this.__wbg_ptr);return Sw.__wrap(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withSchema(t){try{let o=zt.__wbindgen_add_to_stack_pointer(-16);Lut(t,Sw);var r=t.__destroy_into_raw();zt.recordbatch_withSchema(o,this.__wbg_ptr,r);var i=Ue()[o/4+0],s=Ue()[o/4+1],n=Ue()[o/4+2];if(n)throw nn(s);return e.__wrap(i)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}slice(t,r){let i=zt.recordbatch_slice(this.__wbg_ptr,t,r);return e.__wrap(i)}getArrayMemorySize(){return zt.recordbatch_getArrayMemorySize(this.__wbg_ptr)>>>0}},I9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_rowgroupmetadata_free(e>>>0)),PP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,I9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,I9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_rowgroupmetadata_free(t)}numColumns(){return zt.rowgroupmetadata_numColumns(this.__wbg_ptr)>>>0}column(t){let r=zt.rowgroupmetadata_column(this.__wbg_ptr,t);return SP.__wrap(r)}columns(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.rowgroupmetadata_columns(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numRows(){return zt.rowgroupmetadata_numRows(this.__wbg_ptr)}totalByteSize(){return zt.rowgroupmetadata_totalByteSize(this.__wbg_ptr)}compressedSize(){return zt.rowgroupmetadata_compressedSize(this.__wbg_ptr)}},C9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_schema_free(e>>>0)),Sw=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,C9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,C9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_schema_free(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withMetadata(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_withMetadata(n,this.__wbg_ptr,qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}indexOf(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),c=hc;zt.schema_indexOf(n,this.__wbg_ptr,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return r>>>0}finally{zt.__wbindgen_add_to_stack_pointer(16)}}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},L9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_table_free(e>>>0)),IP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,L9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,L9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_table_free(t)}get schema(){let t=zt.table_schema(this.__wbg_ptr);return Sw.__wrap(t)}get numBatches(){return zt.table_numBatches(this.__wbg_ptr)>>>0}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}static fromIPCStream(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(t,zt.__wbindgen_malloc),c=hc;zt.table_fromIPCStream(n,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}getArrayMemorySize(){return zt.table_getArrayMemorySize(this.__wbg_ptr)>>>0}},B8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmgetoptions_free(e>>>0));var k9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectmeta_free(e>>>0)),$D=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,k9.register(r,r.__wbg_ptr,r),r}toJSON(){return{location:this.location,last_modified:this.last_modified,size:this.size,e_tag:this.e_tag,version:this.version}}toString(){return JSON.stringify(this)}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,k9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_wasmobjectmeta_free(t)}get location(){let t,r;try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_location(n,this.__wbg_ptr);var i=Ue()[n/4+0],s=Ue()[n/4+1];return t=i,r=s,tu(i,s)}finally{zt.__wbindgen_add_to_stack_pointer(16),zt.__wbindgen_free(t,r,1)}}set location(t){let r=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_location(this.__wbg_ptr,r,i)}get last_modified(){let t=zt.__wbg_get_wasmobjectmeta_last_modified(this.__wbg_ptr);return nn(t)}set last_modified(t){zt.__wbg_set_wasmobjectmeta_last_modified(this.__wbg_ptr,qe(t))}get size(){return zt.__wbg_get_wasmobjectmeta_size(this.__wbg_ptr)>>>0}set size(t){zt.__wbg_set_wasmobjectmeta_size(this.__wbg_ptr,t)}get e_tag(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_e_tag(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set e_tag(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_e_tag(this.__wbg_ptr,r,i)}get version(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_version(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set version(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_version(this.__wbg_ptr,r,i)}},F8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectstore_free(e>>>0));var z8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerproperties_free(e>>>0));var N8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerpropertiesbuilder_free(e>>>0));async function Dut(e,t){if(typeof Response==\"function\"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==\"function\")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get(\"Content-Type\")!=\"application/wasm\")console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",i);else throw i}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function Out(){let e={};return e.wbg={},e.wbg.__wbindgen_number_new=function(t){return qe(t)},e.wbg.__wbg_columnchunkmetadata_new=function(t){let r=SP.__wrap(t);return qe(r)},e.wbg.__wbg_rowgroupmetadata_new=function(t){let r=PP.__wrap(t);return qe(r)},e.wbg.__wbg_parquetfile_new=function(t){let r=ZD.__wrap(t);return qe(r)},e.wbg.__wbindgen_object_drop_ref=function(t){nn(t)},e.wbg.__wbindgen_object_clone_ref=function(t){let r=xe(t);return qe(r)},e.wbg.__wbindgen_error_new=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbindgen_is_undefined=function(t){return xe(t)===void 0},e.wbg.__wbindgen_in=function(t,r){return xe(t)in xe(r)},e.wbg.__wbindgen_is_bigint=function(t){return typeof xe(t)==\"bigint\"},e.wbg.__wbindgen_bigint_from_u64=function(t){let r=BigInt.asUintN(64,t);return qe(r)},e.wbg.__wbindgen_jsval_eq=function(t,r){return xe(t)===xe(r)},e.wbg.__wbindgen_is_object=function(t){let r=xe(t);return typeof r==\"object\"&&r!==null},e.wbg.__wbindgen_string_new=function(t,r){let i=tu(t,r);return qe(i)},e.wbg.__wbindgen_number_get=function(t,r){let i=xe(r),s=typeof i==\"number\"?i:void 0;Mut()[t/8+1]=uc(s)?0:s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbg_fetch_1db5b0ae726d68b5=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_wasmobjectmeta_new=function(t){let r=$D.__wrap(t);return qe(r)},e.wbg.__wbindgen_string_get=function(t,r){let i=xe(r),s=typeof i==\"string\"?i:void 0;var n=uc(s)?0:fp(s,zt.__wbindgen_malloc,zt.__wbindgen_realloc),o=hc;Ue()[t/4+1]=o,Ue()[t/4+0]=n},e.wbg.__wbg_fetch_bc7c8e27076a5c84=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_done_2ffa852272310e47=function(t){return xe(t).done},e.wbg.__wbg_value_9f6eeb1e2aab8d96=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_newwithintounderlyingsource_a03a82aa1bbbb292=function(t,r){let i=new ReadableStream(qD.__wrap(t),nn(r));return qe(i)},e.wbg.__wbg_getReader_ab94afcb5cb7689a=function(){return Ds(function(t){let r=xe(t).getReader();return qe(r)},arguments)},e.wbg.__wbg_sethighWaterMark_ea50ed3ec2143088=function(t,r){xe(t).highWaterMark=r},e.wbg.__wbg_recordbatch_new=function(t){let r=QD.__wrap(t);return qe(r)},e.wbg.__wbg_table_new=function(t){let r=IP.__wrap(t);return qe(r)},e.wbg.__wbindgen_jsval_loose_eq=function(t,r){return xe(t)==xe(r)},e.wbg.__wbindgen_boolean_get=function(t){let r=xe(t);return typeof r==\"boolean\"?r?1:0:2},e.wbg.__wbindgen_as_number=function(t){return+xe(t)},e.wbg.__wbg_String_b9412f8799faab3e=function(t,r){let i=String(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=function(t,r){let i=xe(t)[xe(r)];return qe(i)},e.wbg.__wbg_set_f975102236d3c502=function(t,r,i){xe(t)[nn(r)]=nn(i)},e.wbg.__wbindgen_cb_drop=function(t){let r=nn(t).original;return r.cnt--==1?(r.a=0,!0):!1},e.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=function(t){queueMicrotask(xe(t))},e.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=function(t){let r=xe(t).queueMicrotask;return qe(r)},e.wbg.__wbindgen_is_function=function(t){return typeof xe(t)==\"function\"},e.wbg.__wbg_fetch_921fad6ef9e883dd=function(t,r){let i=xe(t).fetch(xe(r));return qe(i)},e.wbg.__wbg_new_ab6fd82b10560829=function(){return Ds(function(){let t=new Headers;return qe(t)},arguments)},e.wbg.__wbg_append_7bfcb4937d1d5e29=function(){return Ds(function(t,r,i,s,n){xe(t).append(tu(r,i),tu(s,n))},arguments)},e.wbg.__wbg_close_a994f9425dab445c=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_enqueue_ea194723156c0cc2=function(){return Ds(function(t,r){xe(t).enqueue(xe(r))},arguments)},e.wbg.__wbg_size_9c7e57fbd4f0f4b5=function(t){return xe(t).size},e.wbg.__wbg_arrayBuffer_307ddd1bd1d04e23=function(t){let r=xe(t).arrayBuffer();return qe(r)},e.wbg.__wbg_slice_1991e6e71a6587f3=function(){return Ds(function(t,r,i){let s=xe(t).slice(r,i);return qe(s)},arguments)},e.wbg.__wbg_read_e7d0f8a49be01d86=function(t){let r=xe(t).read();return qe(r)},e.wbg.__wbg_releaseLock_5c49db976c08b864=function(t){xe(t).releaseLock()},e.wbg.__wbg_cancel_6ee33d4006737aef=function(t){let r=xe(t).cancel();return qe(r)},e.wbg.__wbg_byobRequest_72fca99f9c32c193=function(t){let r=xe(t).byobRequest;return uc(r)?0:qe(r)},e.wbg.__wbg_close_184931724d961ccc=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_instanceof_Response_849eb93e75734b6e=function(t){let r;try{r=xe(t)instanceof Response}catch{r=!1}return r},e.wbg.__wbg_url_5f6dc4009ac5f99d=function(t,r){let i=xe(r).url,s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_status_61a01141acd3cf74=function(t){return xe(t).status},e.wbg.__wbg_headers_9620bfada380764a=function(t){let r=xe(t).headers;return qe(r)},e.wbg.__wbg_body_9545a94f397829db=function(t){let r=xe(t).body;return uc(r)?0:qe(r)},e.wbg.__wbg_arrayBuffer_29931d52c7206b02=function(){return Ds(function(t){let r=xe(t).arrayBuffer();return qe(r)},arguments)},e.wbg.__wbg_signal_a61f78a3478fd9bc=function(t){let r=xe(t).signal;return qe(r)},e.wbg.__wbg_new_0d76b0581eca6298=function(){return Ds(function(){let t=new AbortController;return qe(t)},arguments)},e.wbg.__wbg_abort_2aa7521d5690750e=function(t){xe(t).abort()},e.wbg.__wbg_view_7f0ce470793a340f=function(t){let r=xe(t).view;return uc(r)?0:qe(r)},e.wbg.__wbg_respond_b1a43b2e3a06d525=function(){return Ds(function(t,r){xe(t).respond(r>>>0)},arguments)},e.wbg.__wbg_newwithstrandinit_3fd6fba4083ff2d0=function(){return Ds(function(t,r,i){let s=new Request(tu(t,r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_get_bd8e338fbd5f5cc8=function(t,r){let i=xe(t)[r>>>0];return qe(i)},e.wbg.__wbg_length_cd7af8117672b8b8=function(t){return xe(t).length},e.wbg.__wbg_newnoargs_e258087cd0daa0ea=function(t,r){let i=new Function(tu(t,r));return qe(i)},e.wbg.__wbg_new_d9bc3a0147634640=function(){return qe(new Map)},e.wbg.__wbg_next_40fc327bfc8770e6=function(t){let r=xe(t).next;return qe(r)},e.wbg.__wbg_next_196c84450b364254=function(){return Ds(function(t){let r=xe(t).next();return qe(r)},arguments)},e.wbg.__wbg_done_298b57d23c0fc80c=function(t){return xe(t).done},e.wbg.__wbg_value_d93c65011f51a456=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_iterator_2cee6dadfd956dfa=function(){return qe(Symbol.iterator)},e.wbg.__wbg_get_e3c254076557e348=function(){return Ds(function(t,r){let i=Reflect.get(xe(t),xe(r));return qe(i)},arguments)},e.wbg.__wbg_call_27c0f87801dedf93=function(){return Ds(function(t,r){let i=xe(t).call(xe(r));return qe(i)},arguments)},e.wbg.__wbg_new_72fb9a18b5ae2624=function(){let t=new Object;return qe(t)},e.wbg.__wbindgen_is_string=function(t){return typeof xe(t)==\"string\"},e.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return Ds(function(){let t=self.self;return qe(t)},arguments)},e.wbg.__wbg_window_c6fb939a7f436783=function(){return Ds(function(){let t=window.window;return qe(t)},arguments)},e.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return Ds(function(){let t=globalThis.globalThis;return qe(t)},arguments)},e.wbg.__wbg_global_207b558942527489=function(){return Ds(function(){let t=global.global;return qe(t)},arguments)},e.wbg.__wbg_isArray_2ab64d95e09ea0ae=function(t){return Array.isArray(xe(t))},e.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=function(t){let r;try{r=xe(t)instanceof ArrayBuffer}catch{r=!1}return r},e.wbg.__wbg_new_28c511d9baebfa89=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return Ds(function(t,r,i){let s=xe(t).call(xe(r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_set_8417257aaedc936b=function(t,r,i){let s=xe(t).set(xe(r),xe(i));return qe(s)},e.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=function(t){return Number.isSafeInteger(xe(t))},e.wbg.__wbg_new_cf3ec55744a78578=function(t){let r=new Date(xe(t));return qe(r)},e.wbg.__wbg_entries_95cc2c823b285a09=function(t){let r=Object.entries(xe(t));return qe(r)},e.wbg.__wbg_new_81740750da40724f=function(t,r){try{var i={a:t,b:r},s=(o,c)=>{let f=i.a;i.a=0;try{return Rut(f,i.b,o,c)}finally{i.a=f}};let n=new Promise(s);return qe(n)}finally{i.a=i.b=0}},e.wbg.__wbg_resolve_b0083a7967828ec8=function(t){let r=Promise.resolve(xe(t));return qe(r)},e.wbg.__wbg_catch_0260e338d10f79ae=function(t,r){let i=xe(t).catch(xe(r));return qe(i)},e.wbg.__wbg_then_0c86a60e8fcfe9f6=function(t,r){let i=xe(t).then(xe(r));return qe(i)},e.wbg.__wbg_then_a73caa9a87991566=function(t,r,i){let s=xe(t).then(xe(r),xe(i));return qe(s)},e.wbg.__wbg_buffer_12d079cc21e14bdb=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb=function(t,r,i){let s=new Uint8Array(xe(t),r>>>0,i>>>0);return qe(s)},e.wbg.__wbg_new_63b92bc8671ed464=function(t){let r=new Uint8Array(xe(t));return qe(r)},e.wbg.__wbg_set_a47bac70306a19a7=function(t,r,i){xe(t).set(xe(r),i>>>0)},e.wbg.__wbg_length_c20a40f15020d68a=function(t){return xe(t).length},e.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=function(t){let r;try{r=xe(t)instanceof Uint8Array}catch{r=!1}return r},e.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(t){let r=new Uint8Array(t>>>0);return qe(r)},e.wbg.__wbg_newwithbyteoffset_27c6424791adc775=function(t,r){let i=new Uint8Array(xe(t),r>>>0);return qe(i)},e.wbg.__wbg_buffer_dd7f74bc60f1faab=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_byteLength_58f7b4fab1919d44=function(t){return xe(t).byteLength},e.wbg.__wbg_byteOffset_81d60f7392524f62=function(t){return xe(t).byteOffset},e.wbg.__wbg_stringify_8887fe74e1c50d81=function(){return Ds(function(t){let r=JSON.stringify(xe(t));return qe(r)},arguments)},e.wbg.__wbg_has_0af94d20077affa2=function(){return Ds(function(t,r){return Reflect.has(xe(t),xe(r))},arguments)},e.wbg.__wbg_set_1f9b04f170055d33=function(){return Ds(function(t,r,i){return Reflect.set(xe(t),xe(r),xe(i))},arguments)},e.wbg.__wbindgen_bigint_get_as_i64=function(t,r){let i=xe(r),s=typeof i==\"bigint\"?i:void 0;Put()[t/8+1]=uc(s)?BigInt(0):s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbindgen_debug_string=function(t,r){let i=WD(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbindgen_throw=function(t,r){throw new Error(tu(t,r))},e.wbg.__wbindgen_memory=function(){let t=zt.memory;return qe(t)},e.wbg.__wbindgen_function_table=function(){let t=zt.__wbindgen_export_2;return qe(t)},e.wbg.__wbindgen_closure_wrapper13295=function(t,r,i){let s=Iut(t,r,3248,Cut);return qe(s)},e}function But(e,t){return zt=e.exports,F9.__wbindgen_wasm_module=t,xw=null,yw=null,vw=null,bw=null,_w=null,zt}async function F9(e){if(zt!==void 0)return zt;typeof e>\"u\"&&(e=new URL(\"parquet_wasm_bg.wasm\",import.meta.url));let t=Out();(typeof e==\"string\"||typeof Request==\"function\"&&e instanceof Request||typeof URL==\"function\"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await Dut(await e,t);return But(r,i)}var z9=F9;function U9(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var s=0,i=Object.getOwnPropertySymbols(e);s=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ii(e){return this instanceof ii?(this.v=e,this):new ii(e)}function eu(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i=r.apply(e,t||[]),s,n=[];return s={},o(\"next\"),o(\"throw\"),o(\"return\"),s[Symbol.asyncIterator]=function(){return this},s;function o(R){i[R]&&(s[R]=function(N){return new Promise(function(j,Q){n.push([R,N,j,Q])>1||c(R,N)})})}function c(R,N){try{f(i[R](N))}catch(j){I(n[0][3],j)}}function f(R){R.value instanceof ii?Promise.resolve(R.value.v).then(_,w):I(n[0][2],R)}function _(R){c(\"next\",R)}function w(R){c(\"throw\",R)}function I(R,N){R(N),n.shift(),n.length&&c(n[0][0],n[0][1])}}function lv(e){var t,r;return t={},i(\"next\"),i(\"throw\",function(s){throw s}),i(\"return\"),t[Symbol.iterator]=function(){return this},t;function i(s,n){t[s]=e[s]?function(o){return(r=!r)?{value:ii(e[s](o)),done:!1}:n?n(o):o}:n}}function Zh(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof N9==\"function\"?N9(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}}var iO={};mA(iO,{compareArrayLike:()=>rO,joinUint8Arrays:()=>iu,memcpy:()=>Ew,rebaseValueOffsets:()=>FP,toArrayBufferView:()=>Ai,toArrayBufferViewAsyncIterator:()=>Qh,toArrayBufferViewIterator:()=>td,toBigInt64Array:()=>BP,toBigUint64Array:()=>Hut,toFloat32Array:()=>qut,toFloat32ArrayAsyncIterator:()=>lht,toFloat32ArrayIterator:()=>tht,toFloat64Array:()=>Zut,toFloat64ArrayAsyncIterator:()=>cht,toFloat64ArrayIterator:()=>eht,toInt16Array:()=>jut,toInt16ArrayAsyncIterator:()=>nht,toInt16ArrayIterator:()=>$ut,toInt32Array:()=>yg,toInt32ArrayAsyncIterator:()=>sht,toInt32ArrayIterator:()=>Xut,toInt8Array:()=>Vut,toInt8ArrayAsyncIterator:()=>iht,toInt8ArrayIterator:()=>Qut,toUint16Array:()=>Gut,toUint16ArrayAsyncIterator:()=>oht,toUint16ArrayIterator:()=>Kut,toUint32Array:()=>Wut,toUint32ArrayAsyncIterator:()=>aht,toUint32ArrayIterator:()=>Jut,toUint8Array:()=>Rr,toUint8ArrayAsyncIterator:()=>eO,toUint8ArrayIterator:()=>tO,toUint8ClampedArray:()=>Yut,toUint8ClampedArrayAsyncIterator:()=>uht,toUint8ClampedArrayIterator:()=>rht});var Fut=new TextDecoder(\"utf-8\"),Tw=e=>Fut.decode(e),zut=new TextEncoder,Jf=e=>zut.encode(e);var Nut=e=>typeof e==\"number\",V9=e=>typeof e==\"boolean\",Oo=e=>typeof e==\"function\",Cl=e=>e!=null&&Object(e)===e,ru=e=>Cl(e)&&Oo(e.then);var Yh=e=>Cl(e)&&Oo(e[Symbol.iterator]),Nu=e=>Cl(e)&&Oo(e[Symbol.asyncIterator]),CP=e=>Cl(e)&&Cl(e.schema);var LP=e=>Cl(e)&&\"done\"in e&&\"value\"in e;var kP=e=>Cl(e)&&Oo(e.stat)&&Nut(e.fd);var RP=e=>Cl(e)&&Mw(e.body),DP=e=>\"_getDOMStream\"in e&&\"_getNodeStream\"in e,j9=e=>Cl(e)&&Oo(e.abort)&&Oo(e.getWriter)&&!DP(e),Mw=e=>Cl(e)&&Oo(e.cancel)&&Oo(e.getReader)&&!DP(e),G9=e=>Cl(e)&&Oo(e.end)&&Oo(e.write)&&V9(e.writable)&&!DP(e),OP=e=>Cl(e)&&Oo(e.read)&&Oo(e.pipe)&&V9(e.readable)&&!DP(e),W9=e=>Cl(e)&&Oo(e.clear)&&Oo(e.bytes)&&Oo(e.position)&&Oo(e.setPosition)&&Oo(e.capacity)&&Oo(e.getBufferIdentifier)&&Oo(e.createLong);var JD=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:ArrayBuffer;function Uut(e){let t=e[0]?[e[0]]:[],r,i,s,n;for(let o,c,f=0,_=0,w=e.length;++fw+I.byteLength,0),s,n,o,c=0,f=-1,_=Math.min(t||Number.POSITIVE_INFINITY,i);for(let w=r.length;++fAi(Int8Array,e),jut=e=>Ai(Int16Array,e),yg=e=>Ai(Int32Array,e),BP=e=>Ai(BigInt64Array,e),Rr=e=>Ai(Uint8Array,e),Gut=e=>Ai(Uint16Array,e),Wut=e=>Ai(Uint32Array,e),Hut=e=>Ai(BigUint64Array,e),qut=e=>Ai(Float32Array,e),Zut=e=>Ai(Float64Array,e),Yut=e=>Ai(Uint8ClampedArray,e),KD=e=>(e.next(),e);function*td(e,t){let r=function*(s){yield s},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?r(t):Yh(t)?t:r(t);return yield*KD(function*(s){let n=null;do n=s.next(yield Ai(e,n));while(!n.done)}(i[Symbol.iterator]())),new e}var Qut=e=>td(Int8Array,e),$ut=e=>td(Int16Array,e),Xut=e=>td(Int32Array,e),tO=e=>td(Uint8Array,e),Kut=e=>td(Uint16Array,e),Jut=e=>td(Uint32Array,e),tht=e=>td(Float32Array,e),eht=e=>td(Float64Array,e),rht=e=>td(Uint8ClampedArray,e);function Qh(e,t){return eu(this,arguments,function*(){if(ru(t))return yield ii(yield ii(yield*lv(Zh(Qh(e,yield ii(t))))));let i=function(o){return eu(this,arguments,function*(){yield yield ii(yield ii(o))})},s=function(o){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(KD(function*(c){let f=null;do f=c.next(yield f?.value);while(!f.done)}(o[Symbol.iterator]())))))})},n=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?i(t):Yh(t)?s(t):Nu(t)?t:i(t);return yield ii(yield*lv(Zh(KD(function(o){return eu(this,arguments,function*(){let c=null;do c=yield ii(o.next(yield yield ii(Ai(e,c))));while(!c.done)})}(n[Symbol.asyncIterator]()))))),yield ii(new e)})}var iht=e=>Qh(Int8Array,e),nht=e=>Qh(Int16Array,e),sht=e=>Qh(Int32Array,e),eO=e=>Qh(Uint8Array,e),oht=e=>Qh(Uint16Array,e),aht=e=>Qh(Uint32Array,e),lht=e=>Qh(Float32Array,e),cht=e=>Qh(Float64Array,e),uht=e=>Qh(Uint8ClampedArray,e);function FP(e,t,r){if(e!==0){r=r.slice(0,t);for(let i=-1,s=r.length;++i0)do if(e[r]!==t[r])return!1;while(++r(e.next(),e);function*hht(e){let t,r=!1,i=[],s,n,o,c=0;function f(){return n===\"peek\"?iu(i,o)[0]:([s,i,c]=iu(i,o),s)}({cmd:n,size:o}=(yield null)||{cmd:\"read\",size:0});let _=tO(e)[Symbol.iterator]();try{do if({done:t,value:s}=Number.isNaN(o-c)?_.next():_.next(o-c),!t&&s.byteLength>0&&(i.push(s),c+=s.byteLength),t||o<=c)do({cmd:n,size:o}=yield f());while(o0&&(s.push(n),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c0&&(s.push(Rr(n)),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return ar(this,void 0,void 0,function*(){let{reader:r,source:i}=this;r&&(yield r.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return ar(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let r=yield this.reader.read();return!r.done&&(r.value=Rr(r)),r})}},nO=(e,t)=>{let r=s=>i([t,s]),i;return[t,r,new Promise(s=>(i=s)&&e.once(t,r))]};function pht(e){return eu(this,arguments,function*(){let r=[],i=\"error\",s=!1,n=null,o,c,f=0,_=[],w;function I(){return o===\"peek\"?iu(_,c)[0]:([w,_,f]=iu(_,c),w)}if({cmd:o,size:c}=(yield yield ii(null))||{cmd:\"read\",size:0},e.isTTY)return yield yield ii(new Uint8Array(0)),yield ii(null);try{r[0]=nO(e,\"end\"),r[1]=nO(e,\"error\");do{if(r[2]=nO(e,\"readable\"),[i,n]=yield ii(Promise.race(r.map(N=>N[2]))),i===\"error\")break;if((s=i===\"end\")||(Number.isFinite(c-f)?(w=Rr(e.read(c-f)),w.byteLength0&&(_.push(w),f+=w.byteLength)),s||c<=f)do({cmd:o,size:c}=yield yield ii(I()));while(c{for(let[Y,K]of N)e.off(Y,K);try{let Y=e.destroy;Y&&Y.call(e,j),j=void 0}catch(Y){j=Y||j}finally{j!=null?et(j):Q()}})}})}var sn;(function(e){e[e.V1=0]=\"V1\",e[e.V2=1]=\"V2\",e[e.V3=2]=\"V3\",e[e.V4=3]=\"V4\",e[e.V5=4]=\"V5\"})(sn||(sn={}));var Pn;(function(e){e[e.Sparse=0]=\"Sparse\",e[e.Dense=1]=\"Dense\"})(Pn||(Pn={}));var $i;(function(e){e[e.HALF=0]=\"HALF\",e[e.SINGLE=1]=\"SINGLE\",e[e.DOUBLE=2]=\"DOUBLE\"})($i||($i={}));var Os;(function(e){e[e.DAY=0]=\"DAY\",e[e.MILLISECOND=1]=\"MILLISECOND\"})(Os||(Os={}));var Ar;(function(e){e[e.SECOND=0]=\"SECOND\",e[e.MILLISECOND=1]=\"MILLISECOND\",e[e.MICROSECOND=2]=\"MICROSECOND\",e[e.NANOSECOND=3]=\"NANOSECOND\"})(Ar||(Ar={}));var Bo;(function(e){e[e.YEAR_MONTH=0]=\"YEAR_MONTH\",e[e.DAY_TIME=1]=\"DAY_TIME\",e[e.MONTH_DAY_NANO=2]=\"MONTH_DAY_NANO\"})(Bo||(Bo={}));var ed=new Int32Array(2),NP=new Float32Array(ed.buffer),UP=new Float64Array(ed.buffer),cv=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Pw;(function(e){e[e.UTF8_BYTES=1]=\"UTF8_BYTES\",e[e.UTF16_STRING=2]=\"UTF16_STRING\"})(Pw||(Pw={}));var nu=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8}writeInt32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeUint32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeInt64(t,r){this.writeInt32(t,Number(BigInt.asIntN(32,r))),this.writeInt32(t+4,Number(BigInt.asIntN(32,r>>BigInt(32))))}writeUint64(t,r){this.writeUint32(t,Number(BigInt.asUintN(32,r))),this.writeUint32(t+4,Number(BigInt.asUintN(32,r>>BigInt(32))))}writeFloat32(t,r){NP[0]=r,this.writeInt32(t,ed[0])}writeFloat64(t,r){UP[0]=r,this.writeInt32(t,ed[cv?0:1]),this.writeInt32(t+4,ed[cv?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+r)+1&t-1;for(;this.space=0&&this.vtable[r]==0;r--);let i=r+1;for(;r>=0;r--)this.addInt16(this.vtable[r]!=0?t-this.vtable[r]:0);let s=2;this.addInt16(t-this.object_start);let n=(i+s)*2;this.addInt16(n);let o=0,c=this.space;t:for(r=0;r=0;o--)this.writeInt8(n.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(t),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,r){this.finish(t,r,!0)}requiredField(t,r){let i=this.bb.capacity()-t,s=i-this.bb.readInt32(i);if(!(r=0;i--)t.addInt32(r[i]);return t.endVector()}static startTypeIdsVector(t,r){t.startVector(4,r,4)}static endUnion(t){return t.endObject()}static createUnion(t,r,i){return e.startUnion(t),e.addMode(t,r),e.addTypeIds(t,i),e.endUnion(t)}};var Nw=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsUtf8(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var In;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.FloatingPoint=3]=\"FloatingPoint\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct_=13]=\"Struct_\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.LargeList=21]=\"LargeList\",e[e.RunEndEncoded=22]=\"RunEndEncoded\"})(In||(In={}));var nl=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsField(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):In.NONE}type(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(t,this.bb_pos+r):null}dictionary(t){let r=this.bb.__offset(this.bb_pos,12);return r?(t||new rd).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}children(t,r){let i=this.bb.__offset(this.bb_pos,14);return i?(r||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,16);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,r){t.addFieldOffset(0,r,0)}static addNullable(t,r){t.addFieldInt8(1,+r,0)}static addTypeType(t,r){t.addFieldInt8(2,r,In.NONE)}static addType(t,r){t.addFieldOffset(3,r,0)}static addDictionary(t,r){t.addFieldOffset(4,r,0)}static addChildren(t,r){t.addFieldOffset(5,r,0)}static createChildrenVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startChildrenVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(6,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endField(t){return t.endObject()}};var fc=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSchema(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):im.Little}fields(t,r){let i=this.bb.__offset(this.bb_pos,6);return i?(r||new nl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,r){t.addFieldInt16(0,r,im.Little)}static addFields(t,r){t.addFieldOffset(1,r,0)}static createFieldsVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startFieldsVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(2,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static addFeatures(t,r){t.addFieldOffset(3,r,0)}static createFeaturesVector(t,r){t.startVector(8,r.length,8);for(let i=r.length-1;i>=0;i--)t.addInt64(r[i]);return t.endVector()}static startFeaturesVector(t,r){t.startVector(8,r,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,r){t.finish(r)}static finishSizePrefixedSchemaBuffer(t,r){t.finish(r,void 0,!0)}static createSchema(t,r,i,s,n){return e.startSchema(t),e.addEndianness(t,r),e.addFields(t,i),e.addCustomMetadata(t,s),e.addFeatures(t,n),e.endSchema(t)}};var wi;(function(e){e[e.NONE=0]=\"NONE\",e[e.Schema=1]=\"Schema\",e[e.DictionaryBatch=2]=\"DictionaryBatch\",e[e.RecordBatch=3]=\"RecordBatch\",e[e.Tensor=4]=\"Tensor\",e[e.SparseTensor=5]=\"SparseTensor\"})(wi||(wi={}));var Ot;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\",e[e.DurationSecond=-27]=\"DurationSecond\",e[e.DurationMillisecond=-28]=\"DurationMillisecond\",e[e.DurationMicrosecond=-29]=\"DurationMicrosecond\",e[e.DurationNanosecond=-30]=\"DurationNanosecond\"})(Ot||(Ot={}));var Oi;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(Oi||(Oi={}));var TO={};mA(TO,{clampRange:()=>Kw,createElementComparator:()=>pm,wrapIndex:()=>xg});var oO={};mA(oO,{valueToString:()=>Jh});function Jh(e){if(e===null)return\"null\";if(e===void 0)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Jh(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,r)=>typeof r==\"bigint\"?`${r}`:r)}var uO={};mA(uO,{BN:()=>Vw,bigNumToBigInt:()=>q9,bigNumToNumber:()=>cO,bigNumToString:()=>pv,isArrowBigNumSymbol:()=>H9});function Wi(e){if(typeof e==\"bigint\"&&(eNumber.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function aO(e,t){return Wi(e/t)+Wi(e%t)/Wi(t)}var H9=Symbol.for(\"isArrowBigNum\");function tf(e,...t){return t.length===0?Object.setPrototypeOf(Ai(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}tf.prototype[H9]=!0;tf.prototype.toJSON=function(){return`\"${pv(this)}\"`};tf.prototype.valueOf=function(e){return cO(this,e)};tf.prototype.toString=function(){return pv(this)};tf.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return cO(this);case\"string\":return pv(this);case\"default\":return q9(this)}return pv(this)};function fv(...e){return tf.apply(this,e)}function dv(...e){return tf.apply(this,e)}function Uw(...e){return tf.apply(this,e)}Object.setPrototypeOf(fv.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(dv.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Uw.prototype,Object.create(Uint32Array.prototype));Object.assign(fv.prototype,tf.prototype,{constructor:fv,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(dv.prototype,tf.prototype,{constructor:dv,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Uw.prototype,tf.prototype,{constructor:Uw,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Aht=BigInt(4294967296)*BigInt(4294967296),mht=Aht-BigInt(1);function cO(e,t){let{buffer:r,byteOffset:i,byteLength:s,signed:n}=e,o=new BigUint64Array(r,i,s/8),c=n&&o.at(-1)&BigInt(1)<=0)return lO(e);t=t.slice();let i=1;for(let n=0;n(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=\"DataType\"))(ze.prototype);var ea=class extends ze{constructor(){super(Ot.Null)}toString(){return\"Null\"}};Y9=Symbol.toStringTag;ea[Y9]=(e=>e[Symbol.toStringTag]=\"Null\")(ea.prototype);var Bs=class extends ze{constructor(t,r){super(Ot.Int),this.isSigned=t,this.bitWidth=r}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}};Q9=Symbol.toStringTag;Bs[Q9]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(Bs.prototype);var jw=class extends Bs{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},Gw=class extends Bs{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},ef=class extends Bs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},Ww=class extends Bs{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},Hw=class extends Bs{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},qw=class extends Bs{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Zw=class extends Bs{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Yw=class extends Bs{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(jw.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(Gw.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(ef.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(Ww.prototype,\"ArrayType\",{value:BigInt64Array});Object.defineProperty(Hw.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(Zw.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(Yw.prototype,\"ArrayType\",{value:BigUint64Array});var ra=class extends ze{constructor(t){super(Ot.Float),this.precision=t}get ArrayType(){switch(this.precision){case $i.HALF:return Uint16Array;case $i.SINGLE:return Float32Array;case $i.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};$9=Symbol.toStringTag;ra[$9]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(ra.prototype);var Qw=class extends ra{constructor(){super($i.HALF)}},$w=class extends ra{constructor(){super($i.SINGLE)}},Av=class extends ra{constructor(){super($i.DOUBLE)}};Object.defineProperty(Qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty($w.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(Av.prototype,\"ArrayType\",{value:Float64Array});var Vu=class extends ze{constructor(){super(Ot.Binary)}toString(){return\"Binary\"}};X9=Symbol.toStringTag;Vu[X9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Vu.prototype);var nd=class extends ze{constructor(){super(Ot.LargeBinary)}toString(){return\"LargeBinary\"}};K9=Symbol.toStringTag;nd[K9]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeBinary\"))(nd.prototype);var ju=class extends ze{constructor(){super(Ot.Utf8)}toString(){return\"Utf8\"}};J9=Symbol.toStringTag;ju[J9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ju.prototype);var sd=class extends ze{constructor(){super(Ot.LargeUtf8)}toString(){return\"LargeUtf8\"}};tW=Symbol.toStringTag;sd[tW]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeUtf8\"))(sd.prototype);var dc=class extends ze{constructor(){super(Ot.Bool)}toString(){return\"Bool\"}};eW=Symbol.toStringTag;dc[eW]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(dc.prototype);var Gu=class extends ze{constructor(t,r,i=128){super(Ot.Decimal),this.scale=t,this.precision=r,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}};rW=Symbol.toStringTag;Gu[rW]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(Gu.prototype);var Wu=class extends ze{constructor(t){super(Ot.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Os[this.unit]}>`}get ArrayType(){return this.unit===Os.DAY?Int32Array:BigInt64Array}};iW=Symbol.toStringTag;Wu[iW]=(e=>(e.unit=null,e[Symbol.toStringTag]=\"Date\"))(Wu.prototype);var Hu=class extends ze{constructor(t,r){super(Ot.Time),this.unit=t,this.bitWidth=r}toString(){return`Time${this.bitWidth}<${Ar[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};nW=Symbol.toStringTag;Hu[nW]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Time\"))(Hu.prototype);var qu=class extends ze{constructor(t,r){super(Ot.Timestamp),this.unit=t,this.timezone=r}toString(){return`Timestamp<${Ar[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}};sW=Symbol.toStringTag;qu[sW]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Timestamp\"))(qu.prototype);var Zu=class extends ze{constructor(t){super(Ot.Interval),this.unit=t}toString(){return`Interval<${Bo[this.unit]}>`}};oW=Symbol.toStringTag;Zu[oW]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(Zu.prototype);var Yu=class extends ze{constructor(t){super(Ot.Duration),this.unit=t}toString(){return`Duration<${Ar[this.unit]}>`}};aW=Symbol.toStringTag;Yu[aW]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Duration\"))(Yu.prototype);var sl=class extends ze{constructor(t){super(Ot.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};lW=Symbol.toStringTag;sl[lW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(sl.prototype);var pn=class extends ze{constructor(t){super(Ot.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};cW=Symbol.toStringTag;pn[cW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(pn.prototype);var pc=class extends ze{constructor(t,r,i){super(Ot.Union),this.mode=t,this.children=i,this.typeIds=r=Int32Array.from(r),this.typeIdToChildIndex=r.reduce((s,n,o)=>(s[n]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}};uW=Symbol.toStringTag;pc[uW]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(pc.prototype);var Qu=class extends ze{constructor(t){super(Ot.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};hW=Symbol.toStringTag;Qu[hW]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(Qu.prototype);var Ll=class extends ze{constructor(t,r){super(Ot.FixedSizeList),this.listSize=t,this.children=[r]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};fW=Symbol.toStringTag;Ll[fW]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Ll.prototype);var Ac=class extends ze{constructor(t,r=!1){var i,s,n;if(super(Ot.Map),this.children=[t],this.keysSorted=r,t&&(t.name=\"entries\",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(s=t?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name=\"key\");let c=(n=t?.type)===null||n===void 0?void 0:n.children[1];c&&(c.name=\"value\")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};dW=Symbol.toStringTag;Ac[dW]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Ac.prototype);var ght=(e=>()=>++e)(-1),mc=class extends ze{constructor(t,r,i,s){super(Ot.Dictionary),this.indices=r,this.dictionary=t,this.isOrdered=s||!1,this.id=i==null?ght():Wi(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};pW=Symbol.toStringTag;mc[pW]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(mc.prototype);function ou(e){let t=e;switch(e.typeId){case Ot.Decimal:return e.bitWidth/32;case Ot.Interval:return 1+t.unit;case Ot.FixedSizeList:return t.listSize;case Ot.FixedSizeBinary:return t.byteWidth;default:return 1}}var Er=class{visitMany(t,...r){return t.map((i,s)=>this.visit(i,...r.map(n=>n[s])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,r=!0){return _ht(this,t,r)}getVisitFnByTypeId(t,r=!0){return mv(this,t,r)}visitNull(t,...r){return null}visitBool(t,...r){return null}visitInt(t,...r){return null}visitFloat(t,...r){return null}visitUtf8(t,...r){return null}visitLargeUtf8(t,...r){return null}visitBinary(t,...r){return null}visitLargeBinary(t,...r){return null}visitFixedSizeBinary(t,...r){return null}visitDate(t,...r){return null}visitTimestamp(t,...r){return null}visitTime(t,...r){return null}visitDecimal(t,...r){return null}visitList(t,...r){return null}visitStruct(t,...r){return null}visitUnion(t,...r){return null}visitDictionary(t,...r){return null}visitInterval(t,...r){return null}visitDuration(t,...r){return null}visitFixedSizeList(t,...r){return null}visitMap(t,...r){return null}};function _ht(e,t,r=!0){return typeof t==\"number\"?mv(e,t,r):typeof t==\"string\"&&t in Ot?mv(e,Ot[t],r):t&&t instanceof ze?mv(e,AW(t),r):t?.type&&t.type instanceof ze?mv(e,AW(t.type),r):mv(e,Ot.NONE,r)}function mv(e,t,r=!0){let i=null;switch(t){case Ot.Null:i=e.visitNull;break;case Ot.Bool:i=e.visitBool;break;case Ot.Int:i=e.visitInt;break;case Ot.Int8:i=e.visitInt8||e.visitInt;break;case Ot.Int16:i=e.visitInt16||e.visitInt;break;case Ot.Int32:i=e.visitInt32||e.visitInt;break;case Ot.Int64:i=e.visitInt64||e.visitInt;break;case Ot.Uint8:i=e.visitUint8||e.visitInt;break;case Ot.Uint16:i=e.visitUint16||e.visitInt;break;case Ot.Uint32:i=e.visitUint32||e.visitInt;break;case Ot.Uint64:i=e.visitUint64||e.visitInt;break;case Ot.Float:i=e.visitFloat;break;case Ot.Float16:i=e.visitFloat16||e.visitFloat;break;case Ot.Float32:i=e.visitFloat32||e.visitFloat;break;case Ot.Float64:i=e.visitFloat64||e.visitFloat;break;case Ot.Utf8:i=e.visitUtf8;break;case Ot.LargeUtf8:i=e.visitLargeUtf8;break;case Ot.Binary:i=e.visitBinary;break;case Ot.LargeBinary:i=e.visitLargeBinary;break;case Ot.FixedSizeBinary:i=e.visitFixedSizeBinary;break;case Ot.Date:i=e.visitDate;break;case Ot.DateDay:i=e.visitDateDay||e.visitDate;break;case Ot.DateMillisecond:i=e.visitDateMillisecond||e.visitDate;break;case Ot.Timestamp:i=e.visitTimestamp;break;case Ot.TimestampSecond:i=e.visitTimestampSecond||e.visitTimestamp;break;case Ot.TimestampMillisecond:i=e.visitTimestampMillisecond||e.visitTimestamp;break;case Ot.TimestampMicrosecond:i=e.visitTimestampMicrosecond||e.visitTimestamp;break;case Ot.TimestampNanosecond:i=e.visitTimestampNanosecond||e.visitTimestamp;break;case Ot.Time:i=e.visitTime;break;case Ot.TimeSecond:i=e.visitTimeSecond||e.visitTime;break;case Ot.TimeMillisecond:i=e.visitTimeMillisecond||e.visitTime;break;case Ot.TimeMicrosecond:i=e.visitTimeMicrosecond||e.visitTime;break;case Ot.TimeNanosecond:i=e.visitTimeNanosecond||e.visitTime;break;case Ot.Decimal:i=e.visitDecimal;break;case Ot.List:i=e.visitList;break;case Ot.Struct:i=e.visitStruct;break;case Ot.Union:i=e.visitUnion;break;case Ot.DenseUnion:i=e.visitDenseUnion||e.visitUnion;break;case Ot.SparseUnion:i=e.visitSparseUnion||e.visitUnion;break;case Ot.Dictionary:i=e.visitDictionary;break;case Ot.Interval:i=e.visitInterval;break;case Ot.IntervalDayTime:i=e.visitIntervalDayTime||e.visitInterval;break;case Ot.IntervalYearMonth:i=e.visitIntervalYearMonth||e.visitInterval;break;case Ot.Duration:i=e.visitDuration;break;case Ot.DurationSecond:i=e.visitDurationSecond||e.visitDuration;break;case Ot.DurationMillisecond:i=e.visitDurationMillisecond||e.visitDuration;break;case Ot.DurationMicrosecond:i=e.visitDurationMicrosecond||e.visitDuration;break;case Ot.DurationNanosecond:i=e.visitDurationNanosecond||e.visitDuration;break;case Ot.FixedSizeList:i=e.visitFixedSizeList;break;case Ot.Map:i=e.visitMap;break}if(typeof i==\"function\")return i;if(!r)return()=>null;throw new Error(`Unrecognized type '${Ot[t]}'`)}function AW(e){switch(e.typeId){case Ot.Null:return Ot.Null;case Ot.Int:{let{bitWidth:t,isSigned:r}=e;switch(t){case 8:return r?Ot.Int8:Ot.Uint8;case 16:return r?Ot.Int16:Ot.Uint16;case 32:return r?Ot.Int32:Ot.Uint32;case 64:return r?Ot.Int64:Ot.Uint64}return Ot.Int}case Ot.Float:switch(e.precision){case $i.HALF:return Ot.Float16;case $i.SINGLE:return Ot.Float32;case $i.DOUBLE:return Ot.Float64}return Ot.Float;case Ot.Binary:return Ot.Binary;case Ot.LargeBinary:return Ot.LargeBinary;case Ot.Utf8:return Ot.Utf8;case Ot.LargeUtf8:return Ot.LargeUtf8;case Ot.Bool:return Ot.Bool;case Ot.Decimal:return Ot.Decimal;case Ot.Time:switch(e.unit){case Ar.SECOND:return Ot.TimeSecond;case Ar.MILLISECOND:return Ot.TimeMillisecond;case Ar.MICROSECOND:return Ot.TimeMicrosecond;case Ar.NANOSECOND:return Ot.TimeNanosecond}return Ot.Time;case Ot.Timestamp:switch(e.unit){case Ar.SECOND:return Ot.TimestampSecond;case Ar.MILLISECOND:return Ot.TimestampMillisecond;case Ar.MICROSECOND:return Ot.TimestampMicrosecond;case Ar.NANOSECOND:return Ot.TimestampNanosecond}return Ot.Timestamp;case Ot.Date:switch(e.unit){case Os.DAY:return Ot.DateDay;case Os.MILLISECOND:return Ot.DateMillisecond}return Ot.Date;case Ot.Interval:switch(e.unit){case Bo.DAY_TIME:return Ot.IntervalDayTime;case Bo.YEAR_MONTH:return Ot.IntervalYearMonth}return Ot.Interval;case Ot.Duration:switch(e.unit){case Ar.SECOND:return Ot.DurationSecond;case Ar.MILLISECOND:return Ot.DurationMillisecond;case Ar.MICROSECOND:return Ot.DurationMicrosecond;case Ar.NANOSECOND:return Ot.DurationNanosecond}return Ot.Duration;case Ot.Map:return Ot.Map;case Ot.List:return Ot.List;case Ot.Struct:return Ot.Struct;case Ot.Union:switch(e.mode){case Pn.Dense:return Ot.DenseUnion;case Pn.Sparse:return Ot.SparseUnion}return Ot.Union;case Ot.FixedSizeBinary:return Ot.FixedSizeBinary;case Ot.FixedSizeList:return Ot.FixedSizeList;case Ot.Dictionary:return Ot.Dictionary}throw new Error(`Unrecognized type '${Ot[e.typeId]}'`)}Er.prototype.visitInt8=null;Er.prototype.visitInt16=null;Er.prototype.visitInt32=null;Er.prototype.visitInt64=null;Er.prototype.visitUint8=null;Er.prototype.visitUint16=null;Er.prototype.visitUint32=null;Er.prototype.visitUint64=null;Er.prototype.visitFloat16=null;Er.prototype.visitFloat32=null;Er.prototype.visitFloat64=null;Er.prototype.visitDateDay=null;Er.prototype.visitDateMillisecond=null;Er.prototype.visitTimestampSecond=null;Er.prototype.visitTimestampMillisecond=null;Er.prototype.visitTimestampMicrosecond=null;Er.prototype.visitTimestampNanosecond=null;Er.prototype.visitTimeSecond=null;Er.prototype.visitTimeMillisecond=null;Er.prototype.visitTimeMicrosecond=null;Er.prototype.visitTimeNanosecond=null;Er.prototype.visitDenseUnion=null;Er.prototype.visitSparseUnion=null;Er.prototype.visitIntervalDayTime=null;Er.prototype.visitIntervalYearMonth=null;Er.prototype.visitDuration=null;Er.prototype.visitDurationSecond=null;Er.prototype.visitDurationMillisecond=null;Er.prototype.visitDurationMicrosecond=null;Er.prototype.visitDurationNanosecond=null;var hO={};mA(hO,{float64ToUint16:()=>Xw,uint16ToFloat64:()=>GP});var mW=new Float64Array(1),gv=new Uint32Array(mW.buffer);function GP(e){let t=(e&31744)>>10,r=(e&1023)/1024,i=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return i*(r?Number.NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*Math.pow(2,t-15)*(1+r)}function Xw(e){if(e!==e)return 32256;mW[0]=e;let t=(gv[1]&2147483648)>>16&65535,r=gv[1]&2146435072,i=0;return r>=1089470464?gv[0]>0?r=31744:(r=(r&2080374784)>>16,i=(gv[1]&1048575)>>10):r<=1056964608?(i=1048576+(gv[1]&1048575),i=1048576+(i<<(r>>20)-998)>>21,r=0):(r=r-1056964608>>10,i=(gv[1]&1048575)+512>>10),t|r|i&65535}var kr=class extends Er{};function Wr(e){return(t,r,i)=>{if(t.setValid(r,i!=null))return e(t,r,i)}}var yht=(e,t,r)=>{e[t]=Math.floor(r/864e5)},gW=(e,t,r,i)=>{if(r+1{let s=e+r;i?t[s>>3]|=1<>3]&=~(1<{e[t]=r},fO=({values:e},t,r)=>{e[t]=r},_W=({values:e},t,r)=>{e[t]=Xw(r)},xht=(e,t,r)=>{switch(e.type.precision){case $i.HALF:return _W(e,t,r);case $i.SINGLE:case $i.DOUBLE:return fO(e,t,r)}},WP=({values:e},t,r)=>{yht(e,t,r.valueOf())},HP=({values:e},t,r)=>{e[t]=BigInt(r)},dO=({stride:e,values:t},r,i)=>{t.set(i.subarray(0,e),e*r)},yW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,i),vW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,Jf(i)),pO=(e,t,r)=>{e.type.unit===Os.DAY?WP(e,t,r):HP(e,t,r)},qP=({values:e},t,r)=>{e[t]=BigInt(r/1e3)},ZP=({values:e},t,r)=>{e[t]=BigInt(r)},YP=({values:e},t,r)=>{e[t]=BigInt(r*1e3)},QP=({values:e},t,r)=>{e[t]=BigInt(r*1e6)},AO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return qP(e,t,r);case Ar.MILLISECOND:return ZP(e,t,r);case Ar.MICROSECOND:return YP(e,t,r);case Ar.NANOSECOND:return QP(e,t,r)}},$P=({values:e},t,r)=>{e[t]=r},XP=({values:e},t,r)=>{e[t]=r},KP=({values:e},t,r)=>{e[t]=r},JP=({values:e},t,r)=>{e[t]=r},mO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return $P(e,t,r);case Ar.MILLISECOND:return XP(e,t,r);case Ar.MICROSECOND:return KP(e,t,r);case Ar.NANOSECOND:return JP(e,t,r)}},gO=({values:e,stride:t},r,i)=>{e.set(i.subarray(0,t),t*r)},bht=(e,t,r)=>{let i=e.children[0],s=e.valueOffsets,n=ba.getVisitFn(i);if(Array.isArray(r))for(let o=-1,c=s[t],f=s[t+1];c{let i=e.children[0],{valueOffsets:s}=e,n=ba.getVisitFn(i),{[t]:o,[t+1]:c}=s,f=r instanceof Map?r.entries():Object.entries(r);for(let _ of f)if(n(i,o,_),++o>=c)break},Sht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[n]),Tht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(n)),Mht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(s.name)),Eht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[s.name]),Pht=(e,t,r)=>{let i=e.type.children.map(n=>ba.getVisitFn(n.type)),s=r instanceof Map?Mht(t,r):r instanceof xr?Tht(t,r):Array.isArray(r)?Sht(t,r):Eht(t,r);e.type.children.forEach((n,o)=>s(i[o],e.children[o],n,o))},Iht=(e,t,r)=>{e.type.mode===Pn.Dense?xW(e,t,r):bW(e,t,r)},xW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,e.valueOffsets[t],r)},bW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,t,r)},Cht=(e,t,r)=>{var i;(i=e.dictionary)===null||i===void 0||i.set(e.values[t],r)},_O=(e,t,r)=>{e.type.unit===Bo.DAY_TIME?t3(e,t,r):e3(e,t,r)},t3=({values:e},t,r)=>{e.set(r.subarray(0,2),2*t)},e3=({values:e},t,r)=>{e[t]=r[0]*12+r[1]%12},r3=({values:e},t,r)=>{e[t]=r},i3=({values:e},t,r)=>{e[t]=r},n3=({values:e},t,r)=>{e[t]=r},s3=({values:e},t,r)=>{e[t]=r},yO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return r3(e,t,r);case Ar.MILLISECOND:return i3(e,t,r);case Ar.MICROSECOND:return n3(e,t,r);case Ar.NANOSECOND:return s3(e,t,r)}},Lht=(e,t,r)=>{let{stride:i}=e,s=e.children[0],n=ba.getVisitFn(s);if(Array.isArray(r))for(let o=-1,c=t*i;++o`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}[Symbol.iterator](){return new vO(this[rf],this[_v])}},vO=class{constructor(t,r){this.childIndex=0,this.children=t.children,this.rowIndex=r,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return tr.name)}has(t,r){return t[rf].type.children.findIndex(i=>i.name===r)!==-1}getOwnPropertyDescriptor(t,r){if(t[rf].type.children.findIndex(i=>i.name===r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[rf].type.children.findIndex(s=>s.name===r);if(i!==-1){let s=go.visit(t[rf].children[i],t[_v]);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[rf].type.children.findIndex(n=>n.name===r);return s!==-1?(ba.visit(t[rf].children[s],t[_v],i),Reflect.set(t,r,i)):Reflect.has(t,r)||typeof r==\"symbol\"?Reflect.set(t,r,i):!1}};var Pr=class extends Er{};function zr(e){return(t,r)=>t.getValid(r)?e(t,r):null}var kht=(e,t)=>864e5*e[t],Rht=(e,t)=>null,wW=(e,t,r)=>{if(r+1>=t.length)return null;let i=Wi(t[r]),s=Wi(t[r+1]);return e.subarray(i,s)},Dht=({offset:e,values:t},r)=>{let i=e+r;return(t[i>>3]&1<kht(e,t),TW=({values:e},t)=>Wi(e[t]),fm=({stride:e,values:t},r)=>t[e*r],Oht=({stride:e,values:t},r)=>GP(t[e*r]),MW=({values:e},t)=>e[t],Bht=({stride:e,values:t},r)=>t.subarray(e*r,e*(r+1)),EW=({values:e,valueOffsets:t},r)=>wW(e,t,r),PW=({values:e,valueOffsets:t},r)=>{let i=wW(e,t,r);return i!==null?Tw(i):null},Fht=({values:e},t)=>e[t],zht=({type:e,values:t},r)=>e.precision!==$i.HALF?t[r]:GP(t[r]),Nht=(e,t)=>e.type.unit===Os.DAY?SW(e,t):TW(e,t),IW=({values:e},t)=>1e3*Wi(e[t]),CW=({values:e},t)=>Wi(e[t]),LW=({values:e},t)=>aO(e[t],BigInt(1e3)),kW=({values:e},t)=>aO(e[t],BigInt(1e6)),Uht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return IW(e,t);case Ar.MILLISECOND:return CW(e,t);case Ar.MICROSECOND:return LW(e,t);case Ar.NANOSECOND:return kW(e,t)}},RW=({values:e},t)=>e[t],DW=({values:e},t)=>e[t],OW=({values:e},t)=>e[t],BW=({values:e},t)=>e[t],Vht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return RW(e,t);case Ar.MILLISECOND:return DW(e,t);case Ar.MICROSECOND:return OW(e,t);case Ar.NANOSECOND:return BW(e,t)}},jht=({values:e,stride:t},r)=>Vw.decimal(e.subarray(t*r,t*(r+1))),Ght=(e,t)=>{let{valueOffsets:r,stride:i,children:s}=e,{[t*i]:n,[t*i+1]:o}=r,f=s[0].slice(n,o-n);return new xr([f])},Wht=(e,t)=>{let{valueOffsets:r,children:i}=e,{[t]:s,[t+1]:n}=r,o=i[0];return new od(o.slice(s,n-s))},Hht=(e,t)=>new hm(e,t),qht=(e,t)=>e.type.mode===Pn.Dense?FW(e,t):zW(e,t),FW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,e.valueOffsets[t])},zW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,t)},Zht=(e,t)=>{var r;return(r=e.dictionary)===null||r===void 0?void 0:r.get(e.values[t])},Yht=(e,t)=>e.type.unit===Bo.DAY_TIME?NW(e,t):UW(e,t),NW=({values:e},t)=>e.subarray(2*t,2*(t+1)),UW=({values:e},t)=>{let r=e[t],i=new Int32Array(2);return i[0]=Math.trunc(r/12),i[1]=Math.trunc(r%12),i},VW=({values:e},t)=>e[t],jW=({values:e},t)=>e[t],GW=({values:e},t)=>e[t],WW=({values:e},t)=>e[t],Qht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return VW(e,t);case Ar.MILLISECOND:return jW(e,t);case Ar.MICROSECOND:return GW(e,t);case Ar.NANOSECOND:return WW(e,t)}},$ht=(e,t)=>{let{stride:r,children:i}=e,n=i[0].slice(t*r,r);return new xr([n])};Pr.prototype.visitNull=zr(Rht);Pr.prototype.visitBool=zr(Dht);Pr.prototype.visitInt=zr(Fht);Pr.prototype.visitInt8=zr(fm);Pr.prototype.visitInt16=zr(fm);Pr.prototype.visitInt32=zr(fm);Pr.prototype.visitInt64=zr(MW);Pr.prototype.visitUint8=zr(fm);Pr.prototype.visitUint16=zr(fm);Pr.prototype.visitUint32=zr(fm);Pr.prototype.visitUint64=zr(MW);Pr.prototype.visitFloat=zr(zht);Pr.prototype.visitFloat16=zr(Oht);Pr.prototype.visitFloat32=zr(fm);Pr.prototype.visitFloat64=zr(fm);Pr.prototype.visitUtf8=zr(PW);Pr.prototype.visitLargeUtf8=zr(PW);Pr.prototype.visitBinary=zr(EW);Pr.prototype.visitLargeBinary=zr(EW);Pr.prototype.visitFixedSizeBinary=zr(Bht);Pr.prototype.visitDate=zr(Nht);Pr.prototype.visitDateDay=zr(SW);Pr.prototype.visitDateMillisecond=zr(TW);Pr.prototype.visitTimestamp=zr(Uht);Pr.prototype.visitTimestampSecond=zr(IW);Pr.prototype.visitTimestampMillisecond=zr(CW);Pr.prototype.visitTimestampMicrosecond=zr(LW);Pr.prototype.visitTimestampNanosecond=zr(kW);Pr.prototype.visitTime=zr(Vht);Pr.prototype.visitTimeSecond=zr(RW);Pr.prototype.visitTimeMillisecond=zr(DW);Pr.prototype.visitTimeMicrosecond=zr(OW);Pr.prototype.visitTimeNanosecond=zr(BW);Pr.prototype.visitDecimal=zr(jht);Pr.prototype.visitList=zr(Ght);Pr.prototype.visitStruct=zr(Hht);Pr.prototype.visitUnion=zr(qht);Pr.prototype.visitDenseUnion=zr(FW);Pr.prototype.visitSparseUnion=zr(zW);Pr.prototype.visitDictionary=zr(Zht);Pr.prototype.visitInterval=zr(Yht);Pr.prototype.visitIntervalDayTime=zr(NW);Pr.prototype.visitIntervalYearMonth=zr(UW);Pr.prototype.visitDuration=zr(Qht);Pr.prototype.visitDurationSecond=zr(VW);Pr.prototype.visitDurationMillisecond=zr(jW);Pr.prototype.visitDurationMicrosecond=zr(GW);Pr.prototype.visitDurationNanosecond=zr(WW);Pr.prototype.visitFixedSizeList=zr($ht);Pr.prototype.visitMap=zr(Wht);var go=new Pr;var dm=Symbol.for(\"keys\"),vv=Symbol.for(\"vals\"),yv=Symbol.for(\"kKeysAsStrings\"),bO=Symbol.for(\"_kKeysAsStrings\"),od=class{constructor(t){return this[dm]=new xr([t.children[0]]).memoize(),this[vv]=t.children[1],new Proxy(this,new SO)}get[yv](){return this[bO]||(this[bO]=Array.from(this[dm].toArray(),String))}[Symbol.iterator](){return new wO(this[dm],this[vv])}get size(){return this[dm].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[dm],r=this[vv],i={};for(let s=-1,n=t.length;++s`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}},wO=class{constructor(t,r){this.keys=t,this.vals=r,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),go.visit(this.vals,t)]})}},SO=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[yv]}has(t,r){return t[yv].includes(r)}getOwnPropertyDescriptor(t,r){if(t[yv].indexOf(r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[yv].indexOf(r);if(i!==-1){let s=go.visit(Reflect.get(t,vv),i);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[yv].indexOf(r);return s!==-1?(ba.visit(Reflect.get(t,vv),s,i),Reflect.set(t,r,i)):Reflect.has(t,r)?Reflect.set(t,r,i):!1}};Object.defineProperties(od.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:\"Row\"},[dm]:{writable:!0,enumerable:!1,configurable:!1,value:null},[vv]:{writable:!0,enumerable:!1,configurable:!1,value:null},[bO]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var HW;function Kw(e,t,r,i){let{length:s=0}=e,n=typeof t!=\"number\"?0:t,o=typeof r!=\"number\"?s:r;return n<0&&(n=(n%s+s)%s),o<0&&(o=(o%s+s)%s),os&&(o=s),i?i(e,n,o):[n,o]}var xg=(e,t)=>e<0?t+e:e,qW=e=>e!==e;function pm(e){if(typeof e!==\"object\"||e===null)return qW(e)?qW:r=>r===e;if(e instanceof Date){let r=e.valueOf();return i=>i instanceof Date?i.valueOf()===r:!1}return ArrayBuffer.isView(e)?r=>r?rO(e,r):!1:e instanceof Map?Kht(e):Array.isArray(e)?Xht(e):e instanceof xr?Jht(e):tft(e,!0)}function Xht(e){let t=[];for(let r=-1,i=e.length;++r!1;let i=[];for(let s=-1,n=r.length;++s{if(!r||typeof r!=\"object\")return!1;switch(r.constructor){case Array:return eft(e,r);case Map:return ZW(e,r,r.keys());case od:case hm:case Object:case void 0:return ZW(e,r,t||Object.keys(r))}return r instanceof xr?rft(e,r):!1}}function eft(e,t){let r=e.length;if(t.length!==r)return!1;for(let i=-1;++ibg,getBit:()=>YW,getBool:()=>l3,packBools:()=>Sg,popcnt_array:()=>QW,popcnt_bit_range:()=>Jw,popcnt_uint32:()=>a3,setBool:()=>ift,truncateBitmap:()=>wg});function l3(e,t,r,i){return(r&1<>i}function ift(e,t,r){return r?!!(e[t>>3]|=1<>3]&=~(1<0||r.byteLength>3):Sg(new bg(r,e,t,null,l3)).subarray(0,i)),s}return r}function Sg(e){let t=[],r=0,i=0,s=0;for(let o of e)o&&(s|=1<0)&&(t[r++]=s);let n=new Uint8Array(t.length+7&-8);return n.set(t),n}var bg=class{constructor(t,r,i,s,n){this.bytes=t,this.length=i,this.context=s,this.get=n,this.bit=r%8,this.byteIndex=r>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index>3<<3,s=t+(t%8===0?0:8-t%8);return Jw(e,t,s)+Jw(e,i,r)+QW(e,s>>3,i-s>>3)}function QW(e,t,r){let i=0,s=Math.trunc(t),n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=r===void 0?e.byteLength:s+r;for(;o-s>=4;)i+=a3(n.getUint32(s)),s+=4;for(;o-s>=2;)i+=a3(n.getUint16(s)),s+=2;for(;o-s>=1;)i+=a3(n.getUint8(s)),s+=1;return i}function a3(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var nft=-1,Fi=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return ze.isSparseUnion(t)?this.children.some(r=>r.nullable):ze.isDenseUnion(t)?this.children.some(r=>r.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:r,values:i,nullBitmap:s,typeIds:n}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),this.children.reduce((o,c)=>o+c.byteLength,t)}get nullCount(){if(ze.isUnion(this.type))return this.children.reduce((i,s)=>i+s.nullCount,0);let t=this._nullCount,r;return t<=nft&&(r=this.nullBitmap)&&(this._nullCount=t=r.length===0?0:this.length-Jw(r,this.offset,this.offset+this.length)),t}constructor(t,r,i,s,n,o=[],c){this.type=t,this.children=o,this.dictionary=c,this.offset=Math.floor(Math.max(r||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let f;n instanceof e?(this.stride=n.stride,this.values=n.values,this.typeIds=n.typeIds,this.nullBitmap=n.nullBitmap,this.valueOffsets=n.valueOffsets):(this.stride=ou(t),n&&((f=n[0])&&(this.valueOffsets=f),(f=n[1])&&(this.values=f),(f=n[2])&&(this.nullBitmap=f),(f=n[3])&&(this.typeIds=f)))}getValid(t){let{type:r}=this;if(ze.isUnion(r)){let i=r,s=this.children[i.typeIdToChildIndex[this.typeIds[t]]],n=i.mode===Pn.Dense?this.valueOffsets[t]:t;return s.getValid(n)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<>3;(!n||n.byteLength<=w)&&(n=new Uint8Array((o+c+63&-64)>>3).fill(255),this.nullCount>0?(n.set(wg(o,c,this.nullBitmap),0),Object.assign(this,{nullBitmap:n})):Object.assign(this,{nullBitmap:n,_nullCount:0}));let I=n[w];i=(I&_)!==0,n[w]=r?I|_:I&~_}return i!==!!r&&(this._nullCount=this.nullCount+(r?-1:1)),r}clone(t=this.type,r=this.offset,i=this.length,s=this._nullCount,n=this,o=this.children){return new e(t,r,i,s,n,o,this.dictionary)}slice(t,r){let{stride:i,typeId:s,children:n}=this,o=+(this._nullCount===0)-1,c=s===16?i:1,f=this._sliceBuffers(t,r,i,s);return this.clone(this.type,this.offset+t,r,o,f,n.length===0||this.valueOffsets?n:this._sliceChildren(n,c*t,c*r))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Ot.Null)return this.clone(this.type,0,t,0);let{length:r,nullCount:i}=this,s=new Uint8Array((t+63&-64)>>3).fill(255,0,r>>3);s[r>>3]=(1<0&&s.set(wg(this.offset,r,this.nullBitmap),0);let n=this.buffers;return n[Oi.VALIDITY]=s,this.clone(this.type,0,t,i+(t-r),n)}_sliceBuffers(t,r,i,s){let n,{buffers:o}=this;return(n=o[Oi.TYPE])&&(o[Oi.TYPE]=n.subarray(t,t+r)),(n=o[Oi.OFFSET])&&(o[Oi.OFFSET]=n.subarray(t,t+r+1))||(n=o[Oi.DATA])&&(o[Oi.DATA]=s===6?n:n.subarray(i*t,i*(t+r))),o}_sliceChildren(t,r,i){return t.map(s=>s.slice(r,i))}};Fi.prototype.children=Object.freeze([]);var EO=class e extends Er{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"length\"]:s=0}=t;return new Fi(r,i,s,s)}visitBool(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length>>3,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitInt(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFloat(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitFixedSizeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDate(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTimestamp(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTime(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDecimal(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}visitStruct(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Rr(t.nullBitmap),{length:o=s.reduce((f,{length:_})=>Math.max(f,_),0),nullCount:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],s)}visitUnion(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Ai(r.ArrayType,t.typeIds),{[\"length\"]:o=n.length,[\"nullCount\"]:c=-1}=t;if(ze.isSparseUnion(r))return new Fi(r,i,o,c,[void 0,void 0,void 0,n],s);let f=yg(t.valueOffsets);return new Fi(r,i,o,c,[f,void 0,void 0,n],s)}visitDictionary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.indices.ArrayType,t.data),{[\"dictionary\"]:o=new xr([new e().visit({type:r.dictionary})])}=t,{[\"length\"]:c=n.length,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[void 0,n,s],[],o)}visitInterval(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDuration(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFixedSizeList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.valueType})}=t,n=Rr(t.nullBitmap),{[\"length\"]:o=s.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],[s])}visitMap(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.childType})}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}},sft=new EO;function yr(e){return sft.visit(e)}var t2=class{constructor(t=0,r){this.numChunks=t,this.getChunkIterator=r,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndext.nullable)}function c3(e){return e.reduce((t,r)=>t+r.nullCount,0)}function u3(e){return e.reduce((t,r,i)=>(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function h3(e,t,r,i){let s=[];for(let n=-1,o=e.length;++n=i)break;if(r>=f+_)continue;if(f>=r&&f+_<=i){s.push(c);continue}let w=Math.max(0,r-f),I=Math.min(i-f,_);s.push(c.slice(w,I-w))}return s.length===0&&s.push(e[0].slice(0,0)),s}function PO(e,t,r,i){let s=0,n=0,o=t.length-1;do{if(s>=o-1)return r0?0:-1}function aft(e,t){let{nullBitmap:r}=e;if(!r||e.nullCount<=0)return-1;let i=0;for(let s of new bg(r,e.offset+(t||0),e.length,r,l3)){if(!s)return i;++i}return-1}function Qr(e,t,r){if(t===void 0)return-1;if(t===null)switch(e.typeId){case Ot.Union:break;case Ot.Dictionary:break;default:return aft(e,r)}let i=go.getVisitFn(e),s=pm(t);for(let n=(r||0)-1,o=e.length;++n{let s=e.data[i];return s.values.subarray(0,s.length)[Symbol.iterator]()});let r=0;return new t2(e.data.length,i=>{let n=e.data[i].length,o=e.slice(r,r+n);return r+=n,new IO(o)})}var IO=class{constructor(t){this.vector=t,this.index=0}next(){return this.indexc.data):t;if(n.length===0||n.some(c=>!(c instanceof Fi)))throw new TypeError(\"Vector constructor expects an Array of Data instances.\");let o=(r=n[0])===null||r===void 0?void 0:r.type;switch(n.length){case 0:this._offsets=[0];break;case 1:{let{get:c,set:f,indexOf:_}=JW[o.typeId],w=n[0];this.isValid=I=>e2(w,I),this.get=I=>c(w,I),this.set=(I,R)=>f(w,I,R),this.indexOf=I=>_(w,I),this._offsets=[0,w.length];break}default:Object.setPrototypeOf(this,tH[o.typeId]),this._offsets=u3(n);break}this.data=n,this.type=o,this.stride=ou(o),this.numChildren=(s=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,r)=>t+r.byteLength,0)}get nullable(){return $W(this.data)}get nullCount(){return c3(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${Ot[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.length))}set(t,r){}indexOf(t,r){return-1}includes(t,r){return this.indexOf(t,r)>-1}[Symbol.iterator](){return bv.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(r=>r.data).flat(Number.POSITIVE_INFINITY)))}slice(t,r){return new e(Kw(this,t,r,({data:i,_offsets:s},n,o)=>h3(i,s,n,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:r,length:i,stride:s,ArrayType:n}=this;switch(t.typeId){case Ot.Int:case Ot.Float:case Ot.Decimal:case Ot.Time:case Ot.Timestamp:switch(r.length){case 0:return new n;case 1:return r[0].values.subarray(0,i*s);default:return r.reduce((o,{values:c,length:f})=>(o.array.set(c.subarray(0,f*s),o.offset),o.offset+=f*s,o),{array:new n(i*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(\",\")}]`}getChild(t){var r;return this.getChildAt((r=this.type.children)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&tr[t])):null}get isMemoized(){return ze.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(ze.isDictionary(this.type)){let t=new p3(this.data[0].dictionary),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return new p3(this)}unmemoize(){if(ze.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return this}};KW=Symbol.toStringTag;xr[KW]=(e=>{e.type=ze.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(Ot).map(r=>Ot[r]).filter(r=>typeof r==\"number\"&&r!==Ot.NONE);for(let r of t){let i=go.getVisitFnByTypeId(r),s=ba.getVisitFnByTypeId(r),n=Tg.getVisitFnByTypeId(r);JW[r]={get:i,set:s,indexOf:n},tH[r]=Object.create(e,{isValid:{value:xv(e2)},get:{value:xv(go.getVisitFnByTypeId(r))},set:{value:f3(ba.getVisitFnByTypeId(r))},indexOf:{value:d3(Tg.getVisitFnByTypeId(r))}})}return\"Vector\"})(xr.prototype);var p3=class e extends xr{constructor(t){super(t.data);let r=this.get,i=this.set,s=this.slice,n=new Array(this.length);Object.defineProperty(this,\"get\",{value(o){let c=n[o];if(c!==void 0)return c;let f=r.call(this,o);return n[o]=f,f}}),Object.defineProperty(this,\"set\",{value(o,c){i.call(this,o,c),n[o]=c}}),Object.defineProperty(this,\"slice\",{value:(o,c)=>new e(s.call(this,o,c))}),Object.defineProperty(this,\"isMemoized\",{value:!0}),Object.defineProperty(this,\"unmemoize\",{value:()=>new xr(this.data)}),Object.defineProperty(this,\"memoize\",{value:()=>this})}};function eH(e){if(!e||e.length<=0)return function(s){return!0};let t=\"\",r=e.filter(i=>i===i);return r.length>0&&(t=`\n switch (x) {${r.map(i=>`\n case ${lft(i)}:`).join(\"\")}\n return false;\n }`),e.length!==r.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function lft(e){return typeof e!=\"bigint\"?Jh(e):`${Jh(e)}n`}function CO(e,t){let r=Math.ceil(e)*t-1;return(r-r%64+64||64)/t}function rH(e,t=0){return e.length>=t?e.subarray(0,t):Ew(new e.constructor(t),e,0)}var nf=class{constructor(t,r=0,i=1){this.length=Math.ceil(r/i),this.buffer=new t(this.length),this.stride=i,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,r){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let r=this.stride,i=this.length*r,s=this.buffer.length;i>=s&&this._resize(s===0?CO(i*1,this.BYTES_PER_ELEMENT):CO(i*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=CO(t*this.stride,this.BYTES_PER_ELEMENT);let r=rH(this.buffer,t);return this.clear(),r}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=rH(this.buffer,t)}},gp=class extends nf{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,r){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=r,this}},wv=class extends gp{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,r){let{buffer:i}=this.reserve(t-this.length+1),s=t>>3,n=t%8,o=i[s]>>n&1;return r?o===0&&(i[s]|=1<=0&&s.fill(s[i],i,t),s[t]=s[t-1]+r,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var Xn=class{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}constructor({type:t,nullValues:r}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=r,this.stride=ou(t),this._nulls=new wv,r&&r.length>0&&(this._isValid=eH(r))}toVector(){return new xr([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:r,_values:i,_nulls:s,_typeIds:n,children:o}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),o.reduce((c,f)=>c+f.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((r,i)=>r+i.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,r){return this.setValid(t,this.isValid(r))&&this.setValue(t,r),this}setValue(t,r){this._setValue(this,t,r)}setValid(t,r){return this.length=this._nulls.set(t,+r).length,r}addChild(t,r=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){let t,r,i,s,{type:n,length:o,nullCount:c,_typeIds:f,_offsets:_,_values:w,_nulls:I}=this;(r=f?.flush(o))?s=_?.flush(o):(s=_?.flush(o))?t=w?.flush(_.last()):t=w?.flush(o),c>0&&(i=I?.flush(o));let R=this.children.map(N=>N.flush());return this.clear(),yr({type:n,length:o,nullCount:c,children:R,child:R[0],data:t,typeIds:r,nullBitmap:i,valueOffsets:s})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,r,i,s;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(r=this._values)===null||r===void 0||r.clear(),(i=this._offsets)===null||i===void 0||i.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let n of this.children)n.clear();return this}};Xn.prototype.length=1;Xn.prototype.stride=1;Xn.prototype.children=null;Xn.prototype.finished=!1;Xn.prototype.nullValues=null;Xn.prototype._isValid=()=>!0;var _o=class extends Xn{constructor(t){super(t),this._values=new gp(this.ArrayType,0,this.stride)}setValue(t,r){let i=this._values;return i.reserve(t-i.length+1),super.setValue(t,r)}},gc=class extends Xn{constructor(t){super(t),this._pendingLength=0,this._offsets=new Sv(t.type)}setValue(t,r){let i=this._pending||(this._pending=new Map),s=i.get(t);s&&(this._pendingLength-=s.length),this._pendingLength+=r instanceof od?r[dm].length:r.length,i.set(t,r)}setValid(t,r){return super.setValid(t,r)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,r=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,r),this}};var Mg=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,r,i,s){return t.prep(8,24),t.writeInt64(BigInt(s??0)),t.pad(4),t.writeInt32(i),t.writeInt64(BigInt(r??0)),t.offset()}};var au=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsFooter(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}schema(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new fc).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}dictionaries(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,r){let i=this.bb.__offset(this.bb_pos,10);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addSchema(t,r){t.addFieldOffset(1,r,0)}static addDictionaries(t,r){t.addFieldOffset(2,r,0)}static startDictionariesVector(t,r){t.startVector(24,r,8)}static addRecordBatches(t,r){t.addFieldOffset(3,r,0)}static startRecordBatchesVector(t,r){t.startVector(24,r,8)}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,r){t.finish(r)}static finishSizePrefixedFooterBuffer(t,r){t.finish(r,void 0,!0)}};var an=class e{constructor(t=[],r,i,s=sn.V5){this.fields=t||[],this.metadata=r||new Map,i||(i=LO(t)),this.dictionaries=i,this.metadataVersion=s}get[Symbol.toStringTag](){return\"Schema\"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,r)=>`${r}: ${t}`).join(\", \")} }>`}select(t){let r=new Set(t),i=this.fields.filter(s=>r.has(s.name));return new e(i,this.metadata)}selectAt(t){let r=t.map(i=>this.fields[i]).filter(Boolean);return new e(r,this.metadata)}assign(...t){let r=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),i=[...this.fields],s=A3(A3(new Map,this.metadata),r.metadata),n=r.fields.filter(c=>{let f=i.findIndex(_=>_.name===c.name);return~f?(i[f]=c.clone({metadata:A3(A3(new Map,i[f].metadata),c.metadata)}))&&!1:!0}),o=LO(n,new Map);return new e([...i,...n],s,new Map([...this.dictionaries,...o]))}};an.prototype.fields=null;an.prototype.metadata=null;an.prototype.dictionaries=null;var si=class e{static new(...t){let[r,i,s,n]=t;return t[0]&&typeof t[0]==\"object\"&&({name:r}=t[0],i===void 0&&(i=t[0].type),s===void 0&&(s=t[0].nullable),n===void 0&&(n=t[0].metadata)),new e(`${r}`,i,s,n)}constructor(t,r,i=!1,s){this.name=t,this.type=r,this.nullable=i,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[r,i,s,n]=t;return!t[0]||typeof t[0]!=\"object\"?[r=this.name,i=this.type,s=this.nullable,n=this.metadata]=t:{name:r=this.name,type:i=this.type,nullable:s=this.nullable,metadata:n=this.metadata}=t[0],e.new(r,i,s,n)}};si.prototype.type=null;si.prototype.name=null;si.prototype.nullable=null;si.prototype.metadata=null;function A3(e,t){return new Map([...e||new Map,...t||new Map])}function LO(e,t=new Map){for(let r=-1,i=e.length;++r0&&LO(n.children,t)}return t}var cft=vg,uft=nu,_p=class{static decode(t){t=new uft(Rr(t));let r=au.getRootAsFooter(t),i=an.decode(r.schema(),new Map,r.version());return new kO(i,r)}static encode(t){let r=new cft,i=an.encode(r,t.schema);au.startRecordBatchesVector(r,t.numRecordBatches);for(let o of[...t.recordBatches()].slice().reverse())yp.encode(r,o);let s=r.endVector();au.startDictionariesVector(r,t.numDictionaries);for(let o of[...t.dictionaryBatches()].slice().reverse())yp.encode(r,o);let n=r.endVector();return au.startFooter(r),au.addSchema(r,i),au.addVersion(r,sn.V5),au.addRecordBatches(r,s),au.addDictionaries(r,n),au.finishFooterBuffer(r,au.endFooter(r)),r.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,r=sn.V5,i,s){this.schema=t,this.version=r,i&&(this._recordBatches=i),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let t,r=-1,i=this.numRecordBatches;++r=0&&t=0&&t=0&&t=0&&tthis._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Vn);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return xa.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return xa.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return ar(this,void 0,void 0,function*(){return yield this.abort(t),Vn})}return(t){return ar(this,void 0,void 0,function*(){return yield this.close(),Vn})}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((r,i)=>{this.resolvers.push({resolve:r,reject:i})}):Promise.resolve(Vn)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(\"AsyncQueue is closed\")}};var ad=class extends m3{write(t){if((t=Rr(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Tw(this.toUint8Array(!0)):this.toUint8Array(!1).then(Tw)}toUint8Array(t=!1){return t?iu(this._values)[0]:ar(this,void 0,void 0,function*(){var r,i,s,n;let o=[],c=0;try{for(var f=!0,_=Zh(this),w;w=yield _.next(),r=w.done,!r;f=!0){n=w.value,f=!1;let I=n;o.push(I),c+=I.byteLength}}catch(I){i={error:I}}finally{try{!f&&!r&&(s=_.return)&&(yield s.call(_))}finally{if(i)throw i.error}}return iu(o,c)[0]})}},ld=class{constructor(t){t&&(this.source=new RO(xa.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},$u=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof ad?this.source=new vp(xa.fromAsyncIterable(t)):OP(t)?this.source=new vp(xa.fromNodeStream(t)):Mw(t)?this.source=new vp(xa.fromDOMStream(t)):RP(t)?this.source=new vp(xa.fromDOMStream(t.body)):Yh(t)?this.source=new vp(xa.fromIterable(t)):ru(t)?this.source=new vp(xa.fromAsyncIterable(t)):Nu(t)&&(this.source=new vp(xa.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},RO=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,r=\"read\"){return this.source.next({cmd:r,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Vn)}return(t){return Object.create(this.source.return&&this.source.return(t)||Vn)}},vp=class{constructor(t){this.source=t,this._closedPromise=new Promise(r=>this._closedPromiseResolve=r)}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(t){return ar(this,arguments,void 0,function*(r,i=\"read\"){return yield this.source.next({cmd:i,size:r})})}throw(t){return ar(this,void 0,void 0,function*(){let r=this.source.throw&&(yield this.source.throw(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}return(t){return ar(this,void 0,void 0,function*(){let r=this.source.return&&(yield this.source.return(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}};var i2=class extends ld{constructor(t,r){super(),this.position=0,this.buffer=Rr(t),this.size=r===void 0?this.buffer.byteLength:r}readInt32(t){let{buffer:r,byteOffset:i}=this.readAt(t,4);return new DataView(r,i).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),tn2,Int128:()=>s2,Int64:()=>xp,Uint64:()=>gs});function Tv(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var Mv=8,DO=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],n2=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let r=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),s=r[3]*i[3];this.buffer[0]=s&65535;let n=s>>>16;return s=r[2]*i[3],n+=s,s=r[3]*i[2]>>>0,n+=s,this.buffer[0]+=n<<16,this.buffer[1]=n>>>0>>16,this.buffer[1]+=r[1]*i[3]+r[2]*i[2]+r[3]*i[1],this.buffer[1]+=r[0]*i[3]+r[1]*i[2]+r[2]*i[1]+r[3]*i[0]<<16,this}_plus(t){let r=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],r>>0&&++this.buffer[1],this.buffer[0]=r}lessThan(t){return this.buffer[1]>>0,r[2]=this.buffer[2]+t.buffer[2]>>>0,r[1]=this.buffer[1]+t.buffer[1]>>>0,r[0]=this.buffer[0]+t.buffer[0]>>>0,r[0]>>0&&++r[1],r[1]>>0&&++r[2],r[2]>>0&&++r[3],this.buffer[3]=r[3],this.buffer[2]=r[2],this.buffer[1]=r[1],this.buffer[0]=r[0],this}hex(){return`${Tv(this.buffer[3])} ${Tv(this.buffer[2])} ${Tv(this.buffer[1])} ${Tv(this.buffer[0])}`}static multiply(t,r){return new e(new Uint32Array(t.buffer)).times(r)}static add(t,r){return new e(new Uint32Array(t.buffer)).plus(r)}static from(t,r=new Uint32Array(4)){return e.fromString(typeof t==\"string\"?t:t.toString(),r)}static fromNumber(t,r=new Uint32Array(4)){return e.fromString(t.toString(),r)}static fromString(t,r=new Uint32Array(4)){let i=t.startsWith(\"-\"),s=t.length,n=new e(r);for(let o=i?1:0;o0&&this.readData(t,i)||new Uint8Array(0)}readOffsets(t,r){return this.readData(t,r)}readTypeIds(t,r){return this.readData(t,r)}readData(t,{length:r,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+r)}readDictionary(t){return this.dictionaries.get(t.id)}},g3=class extends o2{constructor(t,r,i,s,n){super(new Uint8Array(0),r,i,s,n),this.sources=t}readNullBitmap(t,r,{offset:i}=this.nextBufferRange()){return r<=0?new Uint8Array(0):Sg(this.sources[i])}readOffsets(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.OffsetArrayType,this.sources[r]))}readTypeIds(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.ArrayType,this.sources[r]))}readData(t,{offset:r}=this.nextBufferRange()){let{sources:i}=this;return ze.isTimestamp(t)?Ai(Uint8Array,xp.convertArray(i[r])):(ze.isInt(t)||ze.isTime(t))&&t.bitWidth===64||ze.isDuration(t)?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDate(t)&&t.unit===Os.MILLISECOND?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDecimal(t)?Ai(Uint8Array,s2.convertArray(i[r])):ze.isBinary(t)||ze.isLargeBinary(t)||ze.isFixedSizeBinary(t)?hft(i[r]):ze.isBool(t)?Sg(i[r]):ze.isUtf8(t)||ze.isLargeUtf8(t)?Jf(i[r].join(\"\")):Ai(Uint8Array,Ai(t.ArrayType,i[r].map(s=>+s)))}};function hft(e){let t=e.join(\"\"),r=new Uint8Array(t.length/2);for(let i=0;i>1]=Number.parseInt(t.slice(i,i+2),16);return r}var Pg=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,0);else{let f=c.length;s.set(c,n),i.set(o,f),n+=f}}};var Ig=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,BigInt(0));else{let f=c.length;s.set(c,n),i.set(o,BigInt(f)),n+=f}}};var mm=class extends Xn{constructor(t){super(t),this._values=new wv}setValue(t,r){this._values.set(t,+r)}};var gm=class extends _o{};gm.prototype._setValue=pO;var Ev=class extends gm{};Ev.prototype._setValue=WP;var Pv=class extends gm{};Pv.prototype._setValue=HP;var Iv=class extends _o{};Iv.prototype._setValue=gO;var a2=class extends Xn{constructor({type:t,nullValues:r,dictionaryHashFunction:i}){super({type:new mc(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Cg({type:this.type.indices,nullValues:r}),this.dictionary=Cg({type:this.type.dictionary,nullValues:null}),typeof i==\"function\"&&(this.valueToKey=i)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,r){let i=this.indices;return r=i.setValid(t,r),this.length=i.length,r}setValue(t,r){let i=this._keysToIndices,s=this.valueToKey(r),n=i[s];return n===void 0&&(i[s]=n=this._dictionaryOffset+this.dictionary.append(r).length-1),this.indices.setValue(t,n)}flush(){let t=this.type,r=this._dictionary,i=this.dictionary.toVector(),s=this.indices.flush().clone(t);return s.dictionary=r?r.concat(i):i,this.finished||(this._dictionaryOffset+=i.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}};var Cv=class extends _o{};Cv.prototype._setValue=dO;var l2=class extends Xn{setValue(t,r){let[i]=this.children,s=t*this.stride;for(let n=-1,o=r.length;++n0)throw new Error(\"FixedSizeListBuilder can only have one child.\");let i=this.children.push(t);return this.type=new Ll(this.type.listSize,new si(r,t.type,!0)),i}};var _m=class extends _o{setValue(t,r){this._values.set(t,r)}},c2=class extends _m{setValue(t,r){super.setValue(t,Xw(r))}},u2=class extends _m{},h2=class extends _m{};var ym=class extends _o{};ym.prototype._setValue=_O;var Lv=class extends ym{};Lv.prototype._setValue=t3;var kv=class extends ym{};kv.prototype._setValue=e3;var cd=class extends _o{};cd.prototype._setValue=yO;var Rv=class extends cd{};Rv.prototype._setValue=r3;var Dv=class extends cd{};Dv.prototype._setValue=i3;var Ov=class extends cd{};Ov.prototype._setValue=n3;var Bv=class extends cd{};Bv.prototype._setValue=s3;var lu=class extends _o{setValue(t,r){this._values.set(t,r)}},f2=class extends lu{},d2=class extends lu{},p2=class extends lu{},A2=class extends lu{},m2=class extends lu{},g2=class extends lu{},_2=class extends lu{},y2=class extends lu{};var v2=class extends gc{constructor(t){super(t),this._offsets=new Sv(t.type)}addChild(t,r=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new sl(new si(r,t.type,!0)),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(typeof n>\"u\")r.set(s,0);else{let o=n,c=o.length,f=r.set(s,c).buffer[s];for(let _=-1;++_0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Ac(new si(r,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(n===void 0)r.set(s,0);else{let{[s]:o,[s+1]:c}=r.set(s,n.size).buffer;for(let f of n.entries())if(i.set(o,f),++o>=c)break}}};var b2=class extends Xn{setValue(t,r){}setValid(t,r){return this.length=Math.max(t+1,this.length),r}};var w2=class extends Xn{setValue(t,r){let{children:i,type:s}=this;switch(Array.isArray(r)||r.constructor){case!0:return s.children.forEach((n,o)=>i[o].set(t,r[o]));case Map:return s.children.forEach((n,o)=>i[o].set(t,r.get(n.name)));default:return s.children.forEach((n,o)=>i[o].set(t,r[n.name]))}}setValid(t,r){return super.setValid(t,r)||this.children.forEach(i=>i.setValid(t,r)),r}addChild(t,r=`${this.numChildren}`){let i=this.children.push(t);return this.type=new pn([...this.type.children,new si(r,t.type,!0)]),i}};var ud=class extends _o{};ud.prototype._setValue=AO;var Fv=class extends ud{};Fv.prototype._setValue=qP;var zv=class extends ud{};zv.prototype._setValue=ZP;var Nv=class extends ud{};Nv.prototype._setValue=YP;var Uv=class extends ud{};Uv.prototype._setValue=QP;var hd=class extends _o{};hd.prototype._setValue=mO;var Vv=class extends hd{};Vv.prototype._setValue=$P;var jv=class extends hd{};jv.prototype._setValue=XP;var Gv=class extends hd{};Gv.prototype._setValue=KP;var Wv=class extends hd{};Wv.prototype._setValue=JP;var Lg=class extends Xn{constructor(t){super(t),this._typeIds=new gp(Int8Array,0,1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,r){return this.set(this.length,t,r)}set(t,r,i){return i===void 0&&(i=this._valueToChildTypeId(this,r,t)),this.setValue(t,r,i),this}setValue(t,r,i){this._typeIds.set(t,i);let s=this.type.typeIdToChildIndex[i],n=this.children[s];n?.set(t,r)}addChild(t,r=`${this.children.length}`){let i=this.children.push(t),{type:{children:s,mode:n,typeIds:o}}=this,c=[...s,new si(r,t.type)];return this.type=new pc(n,[...o,i],c),i}_valueToChildTypeId(t,r,i){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}},S2=class extends Lg{},T2=class extends Lg{constructor(t){super(t),this._offsets=new gp(Int32Array)}setValue(t,r,i){let s=this._typeIds.set(t,i).buffer[t],n=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(t,n.length).buffer[t];n?.set(o,r)}};var Hv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};Hv.prototype._flushPending=Pg.prototype._flushPending;var qv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};qv.prototype._flushPending=Ig.prototype._flushPending;var BO=class extends Er{visitNull(){return b2}visitBool(){return mm}visitInt(){return lu}visitInt8(){return f2}visitInt16(){return d2}visitInt32(){return p2}visitInt64(){return A2}visitUint8(){return m2}visitUint16(){return g2}visitUint32(){return _2}visitUint64(){return y2}visitFloat(){return _m}visitFloat16(){return c2}visitFloat32(){return u2}visitFloat64(){return h2}visitUtf8(){return Hv}visitLargeUtf8(){return qv}visitBinary(){return Pg}visitLargeBinary(){return Ig}visitFixedSizeBinary(){return Cv}visitDate(){return gm}visitDateDay(){return Ev}visitDateMillisecond(){return Pv}visitTimestamp(){return ud}visitTimestampSecond(){return Fv}visitTimestampMillisecond(){return zv}visitTimestampMicrosecond(){return Nv}visitTimestampNanosecond(){return Uv}visitTime(){return hd}visitTimeSecond(){return Vv}visitTimeMillisecond(){return jv}visitTimeMicrosecond(){return Gv}visitTimeNanosecond(){return Wv}visitDecimal(){return Iv}visitList(){return v2}visitStruct(){return w2}visitUnion(){return Lg}visitDenseUnion(){return T2}visitSparseUnion(){return S2}visitDictionary(){return a2}visitInterval(){return ym}visitIntervalDayTime(){return Lv}visitIntervalYearMonth(){return kv}visitDuration(){return cd}visitDurationSecond(){return Rv}visitDurationMillisecond(){return Dv}visitDurationMicrosecond(){return Ov}visitDurationNanosecond(){return Bv}visitFixedSizeList(){return l2}visitMap(){return x2}},iH=new BO;var Lr=class extends Er{compareSchemas(t,r){return t===r||r instanceof t.constructor&&this.compareManyFields(t.fields,r.fields)}compareManyFields(t,r){return t===r||Array.isArray(t)&&Array.isArray(r)&&t.length===r.length&&t.every((i,s)=>this.compareFields(i,r[s]))}compareFields(t,r){return t===r||r instanceof t.constructor&&t.name===r.name&&t.nullable===r.nullable&&this.visit(t.type,r.type)}};function kl(e,t){return t instanceof e.constructor}function kg(e,t){return e===t||kl(e,t)}function bp(e,t){return e===t||kl(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function _3(e,t){return e===t||kl(e,t)&&e.precision===t.precision}function fft(e,t){return e===t||kl(e,t)&&e.byteWidth===t.byteWidth}function FO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function M2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function E2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function dft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function pft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function zO(e,t){return e===t||kl(e,t)&&e.mode===t.mode&&e.typeIds.every((r,i)=>r===t.typeIds[i])&&fd.compareManyFields(e.children,t.children)}function Aft(e,t){return e===t||kl(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&fd.visit(e.indices,t.indices)&&fd.visit(e.dictionary,t.dictionary)}function NO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function P2(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function mft(e,t){return e===t||kl(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function gft(e,t){return e===t||kl(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}Lr.prototype.visitNull=kg;Lr.prototype.visitBool=kg;Lr.prototype.visitInt=bp;Lr.prototype.visitInt8=bp;Lr.prototype.visitInt16=bp;Lr.prototype.visitInt32=bp;Lr.prototype.visitInt64=bp;Lr.prototype.visitUint8=bp;Lr.prototype.visitUint16=bp;Lr.prototype.visitUint32=bp;Lr.prototype.visitUint64=bp;Lr.prototype.visitFloat=_3;Lr.prototype.visitFloat16=_3;Lr.prototype.visitFloat32=_3;Lr.prototype.visitFloat64=_3;Lr.prototype.visitUtf8=kg;Lr.prototype.visitLargeUtf8=kg;Lr.prototype.visitBinary=kg;Lr.prototype.visitLargeBinary=kg;Lr.prototype.visitFixedSizeBinary=fft;Lr.prototype.visitDate=FO;Lr.prototype.visitDateDay=FO;Lr.prototype.visitDateMillisecond=FO;Lr.prototype.visitTimestamp=M2;Lr.prototype.visitTimestampSecond=M2;Lr.prototype.visitTimestampMillisecond=M2;Lr.prototype.visitTimestampMicrosecond=M2;Lr.prototype.visitTimestampNanosecond=M2;Lr.prototype.visitTime=E2;Lr.prototype.visitTimeSecond=E2;Lr.prototype.visitTimeMillisecond=E2;Lr.prototype.visitTimeMicrosecond=E2;Lr.prototype.visitTimeNanosecond=E2;Lr.prototype.visitDecimal=kg;Lr.prototype.visitList=dft;Lr.prototype.visitStruct=pft;Lr.prototype.visitUnion=zO;Lr.prototype.visitDenseUnion=zO;Lr.prototype.visitSparseUnion=zO;Lr.prototype.visitDictionary=Aft;Lr.prototype.visitInterval=NO;Lr.prototype.visitIntervalDayTime=NO;Lr.prototype.visitIntervalYearMonth=NO;Lr.prototype.visitDuration=P2;Lr.prototype.visitDurationSecond=P2;Lr.prototype.visitDurationMillisecond=P2;Lr.prototype.visitDurationMicrosecond=P2;Lr.prototype.visitDurationNanosecond=P2;Lr.prototype.visitFixedSizeList=mft;Lr.prototype.visitMap=gft;var fd=new Lr;function Rg(e,t){return fd.compareSchemas(e,t)}function nH(e,t){return fd.compareFields(e,t)}function sH(e,t){return fd.visit(e,t)}function Cg(e){let t=e.type,r=new(iH.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let i=e.children||[],s={nullValues:e.nullValues},n=Array.isArray(i)?(o,c)=>i[c]||s:({name:o})=>i[o]||s;for(let[o,c]of t.children.entries()){let{type:f}=c,_=n(c,o);r.children.push(Cg(Object.assign(Object.assign({},_),{type:f})))}}return r}function y3(e,t){return _ft(e,t.map(r=>r.data.concat()))}function _ft(e,t){let r=[...e.fields],i=[],s={numBatches:t.reduce((I,R)=>Math.max(I,R.length),0)},n=0,o=0,c=-1,f=t.length,_,w=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,c=-1;++c0&&(i[n++]=yr({type:new pn(r),length:o,nullCount:0,children:w.slice()})))}return[e=e.assign(r),i.map(I=>new Fs(e,I))]}function yft(e,t,r,i,s){var n;let o=(t+63&-64)>>3;for(let c=-1,f=i.length;++c=t)w===t?r[c]=_:(r[c]=_.slice(0,t),s.numBatches=Math.max(s.numBatches,i[c].unshift(_.slice(t,w-t))));else{let I=e[c];e[c]=I.clone({nullable:!0}),r[c]=(n=_?._changeLengthAndBackfillNullBitmap(t))!==null&&n!==void 0?n:yr({type:I.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return r}var aH,wa=class e{constructor(...t){var r,i;if(t.length===0)return this.batches=[],this.schema=new an([]),this._offsets=[0],this;let s,n;t[0]instanceof an&&(s=t.shift()),t.at(-1)instanceof Uint32Array&&(n=t.pop());let o=f=>{if(f){if(f instanceof Fs)return[f];if(f instanceof e)return f.batches;if(f instanceof Fi){if(f.type instanceof pn)return[new Fs(new an(f.type.children),f)]}else{if(Array.isArray(f))return f.flatMap(_=>o(_));if(typeof f[Symbol.iterator]==\"function\")return[...f].flatMap(_=>o(_));if(typeof f==\"object\"){let _=Object.keys(f),w=_.map(N=>new xr([f[N]])),I=s??new an(_.map((N,j)=>new si(String(N),w[j].type,w[j].nullable))),[,R]=y3(I,w);return R.length===0?[new Fs(f)]:R}}}return[]},c=t.flatMap(f=>o(f));if(s=(i=s??((r=c[0])===null||r===void 0?void 0:r.schema))!==null&&i!==void 0?i:new an([]),!(s instanceof an))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");for(let f of c){if(!(f instanceof Fs))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");if(!Rg(s,f.schema))throw new TypeError(\"Table and inner RecordBatch schemas must be equivalent.\")}this.schema=s,this.batches=c,this._offsets=n??u3(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,r)=>t+r.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=c3(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.numRows))}set(t,r){}indexOf(t,r){return-1}[Symbol.iterator](){return this.batches.length>0?bv.visit(new xr(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(`,\n `)}\n]`}concat(...t){let r=this.schema,i=this.data.concat(t.flatMap(({data:s})=>s));return new e(r,i.map(s=>new Fs(r,s)))}slice(t,r){let i=this.schema;[t,r]=Kw({length:this.numRows},t,r);let s=h3(this.data,this._offsets,t,r);return new e(i,s.map(n=>new Fs(i,n)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(r=>r.name===t))}getChildAt(t){if(t>-1&&ti.children[t]);if(r.length===0){let{type:i}=this.schema.fields[t],s=yr({type:i,length:0,nullCount:0});r.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new xr(r)}return null}setChild(t,r){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(s=>s.name===t),r)}setChildAt(t,r){let i=this.schema,s=[...this.batches];if(t>-1&&tthis.getChildAt(_));[n[t],c[t]]=[o,r],[i,s]=y3(i,c)}return new e(i,s)}select(t){let r=this.schema.fields.reduce((i,s,n)=>i.set(s.name,n),new Map);return this.selectAt(t.map(i=>r.get(i)).filter(i=>i>-1))}selectAt(t){let r=this.schema.selectAt(t),i=this.batches.map(s=>s.selectAt(t));return new e(r,i)}assign(t){let r=this.schema.fields,[i,s]=t.schema.fields.reduce((c,f,_)=>{let[w,I]=c,R=r.findIndex(N=>N.name===f.name);return~R?I[R]=_:w.push(_),c},[[],[]]),n=this.schema.assign(t.schema),o=[...r.map((c,f)=>[f,s[f]]).map(([c,f])=>f===void 0?this.getChildAt(c):t.getChildAt(f)),...i.map(c=>t.getChildAt(c))].filter(Boolean);return new e(...y3(n,o))}};aH=Symbol.toStringTag;wa[aH]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=xv(e2),e.get=xv(go.getVisitFn(Ot.Struct)),e.set=f3(ba.getVisitFn(Ot.Struct)),e.indexOf=d3(Tg.getVisitFn(Ot.Struct)),\"Table\"))(wa.prototype);var cH,Fs=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof an))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");if([,this.data=yr({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(r=>yr({type:r.type,nullCount:0}))})]=t,!(this.data instanceof Fi))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");[this.schema,this.data]=lH(this.schema,this.data.children);break}case 1:{let[r]=t,{fields:i,children:s,length:n}=Object.keys(r).reduce((f,_,w)=>(f.children[w]=r[_],f.length=Math.max(f.length,r[_].length),f.fields[w]=si.new({name:_,type:r[_].type,nullable:!0}),f),{length:0,fields:new Array,children:new Array}),o=new an(i),c=yr({type:new pn(i),length:n,children:s,nullCount:0});[this.schema,this.data]=lH(o,c.children,n);break}default:throw new TypeError(\"RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.\")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uH(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return go.visit(this.data,t)}at(t){return this.get(xg(t,this.numRows))}set(t,r){return ba.visit(this.data,t,r)}indexOf(t,r){return Tg.visit(this.data,t,r)}[Symbol.iterator](){return bv.visit(new xr([this.data]))}toArray(){return[...this]}concat(...t){return new wa(this.schema,[this,...t])}slice(t,r){let[i]=new xr([this.data]).slice(t,r).data;return new e(this.schema,i)}getChild(t){var r;return this.getChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&ts.name===t),r)}setChildAt(t,r){let i=this.schema,s=this.data;if(t>-1&&tc.name===n);~o&&(s[o]=this.data.children[o])}return new e(r,yr({type:i,length:this.numRows,children:s}))}selectAt(t){let r=this.schema.selectAt(t),i=t.map(n=>this.data.children[n]).filter(Boolean),s=yr({type:new pn(r.fields),length:this.numRows,children:i});return new e(r,s)}};cH=Symbol.toStringTag;Fs[cH]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,\"RecordBatch\"))(Fs.prototype);function lH(e,t,r=t.reduce((i,s)=>Math.max(i,s.length),0)){var i;let s=[...e.fields],n=[...t],o=(r+63&-64)>>3;for(let[c,f]of e.fields.entries()){let _=t[c];(!_||_.length!==r)&&(s[c]=f.clone({nullable:!0}),n[c]=(i=_?._changeLengthAndBackfillNullBitmap(r))!==null&&i!==void 0?i:yr({type:f.type,length:r,nullCount:r,nullBitmap:new Uint8Array(o)}))}return[e.assign(s),yr({type:new pn(s),length:r,children:n})]}function uH(e,t,r=new Map){var i,s;if(((i=e?.length)!==null&&i!==void 0?i:0)>0&&e?.length===t?.length)for(let n=-1,o=e.length;++nyr({type:s.type})),i=yr({type:new pn(t.fields),nullCount:0,children:r});super(t,i)}};var sf=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsMessage(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):wi.NONE}header(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__union(t,this.bb_pos+r):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt(\"0\")}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addHeaderType(t,r){t.addFieldInt8(1,r,wi.NONE)}static addHeader(t,r){t.addFieldOffset(2,r,0)}static addBodyLength(t,r){t.addFieldInt64(3,r,BigInt(\"0\"))}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,r){t.finish(r)}static finishSizePrefixedMessageBuffer(t,r){t.finish(r,void 0,!0)}static createMessage(t,r,i,s,n,o){return e.startMessage(t),e.addVersion(t,r),e.addHeaderType(t,i),e.addHeader(t,s),e.addBodyLength(t,n),e.addCustomMetadata(t,o),e.endMessage(t)}};var UO=class extends Er{visit(t,r){return t==null||r==null?void 0:super.visit(t,r)}visitNull(t,r){return Fw.startNull(r),Fw.endNull(r)}visitInt(t,r){return Xh.startInt(r),Xh.addBitWidth(r,t.bitWidth),Xh.addIsSigned(r,t.isSigned),Xh.endInt(r)}visitFloat(t,r){return lm.startFloatingPoint(r),lm.addPrecision(r,t.precision),lm.endFloatingPoint(r)}visitBinary(t,r){return kw.startBinary(r),kw.endBinary(r)}visitLargeBinary(t,r){return Dw.startLargeBinary(r),Dw.endLargeBinary(r)}visitBool(t,r){return Rw.startBool(r),Rw.endBool(r)}visitUtf8(t,r){return Nw.startUtf8(r),Nw.endUtf8(r)}visitLargeUtf8(t,r){return Ow.startLargeUtf8(r),Ow.endLargeUtf8(r)}visitDecimal(t,r){return id.startDecimal(r),id.addScale(r,t.scale),id.addPrecision(r,t.precision),id.addBitWidth(r,t.bitWidth),id.endDecimal(r)}visitDate(t,r){return nm.startDate(r),nm.addUnit(r,t.unit),nm.endDate(r)}visitTime(t,r){return pp.startTime(r),pp.addUnit(r,t.unit),pp.addBitWidth(r,t.bitWidth),pp.endTime(r)}visitTimestamp(t,r){let i=t.timezone&&r.createString(t.timezone)||void 0;return Ap.startTimestamp(r),Ap.addUnit(r,t.unit),i!==void 0&&Ap.addTimezone(r,i),Ap.endTimestamp(r)}visitInterval(t,r){return cm.startInterval(r),cm.addUnit(r,t.unit),cm.endInterval(r)}visitDuration(t,r){return sm.startDuration(r),sm.addUnit(r,t.unit),sm.endDuration(r)}visitList(t,r){return Bw.startList(r),Bw.endList(r)}visitStruct(t,r){return zw.startStruct_(r),zw.endStruct_(r)}visitUnion(t,r){Kh.startTypeIdsVector(r,t.typeIds.length);let i=Kh.createTypeIdsVector(r,t.typeIds);return Kh.startUnion(r),Kh.addMode(r,t.mode),Kh.addTypeIds(r,i),Kh.endUnion(r)}visitDictionary(t,r){let i=this.visit(t.indices,r);return rd.startDictionaryEncoding(r),rd.addId(r,BigInt(t.id)),rd.addIsOrdered(r,t.isOrdered),i!==void 0&&rd.addIndexType(r,i),rd.endDictionaryEncoding(r)}visitFixedSizeBinary(t,r){return om.startFixedSizeBinary(r),om.addByteWidth(r,t.byteWidth),om.endFixedSizeBinary(r)}visitFixedSizeList(t,r){return am.startFixedSizeList(r),am.addListSize(r,t.listSize),am.endFixedSizeList(r)}visitMap(t,r){return um.startMap(r),um.addKeysSorted(r,t.keysSorted),um.endMap(r)}},v3=new UO;function pH(e,t=new Map){return new an(vft(e,t),x3(e.metadata),t)}function VO(e){return new Sa(e.count,mH(e.columns),gH(e.columns))}function AH(e){return new yc(VO(e.data),e.id,e.isDelta)}function vft(e,t){return(e.fields||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function hH(e,t){return(e.children||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function mH(e){return(e||[]).reduce((t,r)=>[...t,new Xu(r.count,xft(r.VALIDITY)),...mH(r.children)],[])}function gH(e,t=[]){for(let r=-1,i=(e||[]).length;++rt+ +(r===0),0)}function _H(e,t){let r,i,s,n,o,c;return!t||!(n=e.dictionary)?(o=dH(e,hH(e,t)),s=new si(e.name,o,e.nullable,x3(e.metadata))):t.has(r=n.id)?(i=(i=n.indexType)?fH(i):new ef,c=new mc(t.get(r),i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))):(i=(i=n.indexType)?fH(i):new ef,t.set(r,o=dH(e,hH(e,t))),c=new mc(o,i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))),s||null}function x3(e=[]){return new Map(e.map(({key:t,value:r})=>[t,r]))}function fH(e){return new Bs(e.isSigned,e.bitWidth)}function dH(e,t){let r=e.type.name;switch(r){case\"NONE\":return new ea;case\"null\":return new ea;case\"binary\":return new Vu;case\"largebinary\":return new nd;case\"utf8\":return new ju;case\"largeutf8\":return new sd;case\"bool\":return new dc;case\"list\":return new sl((t||[])[0]);case\"struct\":return new pn(t||[]);case\"struct_\":return new pn(t||[])}switch(r){case\"int\":{let i=e.type;return new Bs(i.isSigned,i.bitWidth)}case\"floatingpoint\":{let i=e.type;return new ra($i[i.precision])}case\"decimal\":{let i=e.type;return new Gu(i.scale,i.precision,i.bitWidth)}case\"date\":{let i=e.type;return new Wu(Os[i.unit])}case\"time\":{let i=e.type;return new Hu(Ar[i.unit],i.bitWidth)}case\"timestamp\":{let i=e.type;return new qu(Ar[i.unit],i.timezone)}case\"interval\":{let i=e.type;return new Zu(Bo[i.unit])}case\"duration\":{let i=e.type;return new Yu(Ar[i.unit])}case\"union\":{let i=e.type,[s,...n]=(i.mode+\"\").toLowerCase(),o=s.toUpperCase()+n.join(\"\");return new pc(Pn[o],i.typeIds||[],t||[])}case\"fixedsizebinary\":{let i=e.type;return new Qu(i.byteWidth)}case\"fixedsizelist\":{let i=e.type;return new Ll(i.listSize,(t||[])[0])}case\"map\":{let i=e.type;return new Ac((t||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: \"${r}\"`)}var bft=vg,wft=nu,vc=class e{static fromJSON(t,r){let i=new e(0,sn.V5,r);return i._createHeader=Sft(t,r),i}static decode(t){t=new wft(Rr(t));let r=sf.getRootAsMessage(t),i=r.bodyLength(),s=r.version(),n=r.headerType(),o=new e(i,s,n);return o._createHeader=Tft(r,n),o}static encode(t){let r=new bft,i=-1;return t.isSchema()?i=an.encode(r,t.header()):t.isRecordBatch()?i=Sa.encode(r,t.header()):t.isDictionaryBatch()&&(i=yc.encode(r,t.header())),sf.startMessage(r),sf.addVersion(r,sn.V5),sf.addHeader(r,i),sf.addHeaderType(r,t.headerType),sf.addBodyLength(r,BigInt(t.bodyLength)),sf.finishMessageBuffer(r,sf.endMessage(r)),r.asUint8Array()}static from(t,r=0){if(t instanceof an)return new e(0,sn.V5,wi.Schema,t);if(t instanceof Sa)return new e(r,sn.V5,wi.RecordBatch,t);if(t instanceof yc)return new e(r,sn.V5,wi.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===wi.Schema}isRecordBatch(){return this.headerType===wi.RecordBatch}isDictionaryBatch(){return this.headerType===wi.DictionaryBatch}constructor(t,r,i,s){this._version=r,this._headerType=i,this.body=new Uint8Array(0),s&&(this._createHeader=()=>s),this._bodyLength=Wi(t)}},Sa=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,r,i){this._nodes=r,this._buffers=i,this._length=Wi(t)}},yc=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,r,i=!1){this._data=t,this._isDelta=i,this._id=Wi(r)}},_c=class{constructor(t,r){this.offset=Wi(t),this.length=Wi(r)}},Xu=class{constructor(t,r){this.length=Wi(t),this.nullCount=Wi(r)}};function Sft(e,t){return()=>{switch(t){case wi.Schema:return an.fromJSON(e);case wi.RecordBatch:return Sa.fromJSON(e);case wi.DictionaryBatch:return yc.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}function Tft(e,t){return()=>{switch(t){case wi.Schema:return an.decode(e.header(new fc),new Map,e.version());case wi.RecordBatch:return Sa.decode(e.header(new su),e.version());case wi.DictionaryBatch:return yc.decode(e.header(new dp),e.version())}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}si.encode=Bft;si.decode=Dft;si.fromJSON=_H;an.encode=Oft;an.decode=Mft;an.fromJSON=pH;Sa.encode=Fft;Sa.decode=Eft;Sa.fromJSON=VO;yc.encode=zft;yc.decode=Pft;yc.fromJSON=AH;Xu.encode=Nft;Xu.decode=Cft;_c.encode=Uft;_c.decode=Ift;function Mft(e,t=new Map,r=sn.V5){let i=Rft(e,t);return new an(i,b3(e),t,r)}function Eft(e,t=sn.V5){if(e.compression()!==null)throw new Error(\"Record batch compression not implemented\");return new Sa(e.length(),Lft(e),kft(e,t))}function Pft(e,t=sn.V5){return new yc(Sa.decode(e.data(),t),e.id(),e.isDelta())}function Ift(e){return new _c(e.offset(),e.length())}function Cft(e){return new Xu(e.length(),e.nullCount())}function Lft(e){let t=[];for(let r,i=-1,s=-1,n=e.nodesLength();++isi.encode(e,n));fc.startFieldsVector(e,r.length);let i=fc.createFieldsVector(e,r),s=t.metadata&&t.metadata.size>0?fc.createCustomMetadataVector(e,[...t.metadata].map(([n,o])=>{let c=e.createString(`${n}`),f=e.createString(`${o}`);return Fo.startKeyValue(e),Fo.addKey(e,c),Fo.addValue(e,f),Fo.endKeyValue(e)})):-1;return fc.startSchema(e),fc.addFields(e,i),fc.addEndianness(e,Vft?im.Little:im.Big),s!==-1&&fc.addCustomMetadata(e,s),fc.endSchema(e)}function Bft(e,t){let r=-1,i=-1,s=-1,n=t.type,o=t.typeId;ze.isDictionary(n)?(o=n.dictionary.typeId,s=v3.visit(n,e),i=v3.visit(n.dictionary,e)):i=v3.visit(n,e);let c=(n.children||[]).map(w=>si.encode(e,w)),f=nl.createChildrenVector(e,c),_=t.metadata&&t.metadata.size>0?nl.createCustomMetadataVector(e,[...t.metadata].map(([w,I])=>{let R=e.createString(`${w}`),N=e.createString(`${I}`);return Fo.startKeyValue(e),Fo.addKey(e,R),Fo.addValue(e,N),Fo.endKeyValue(e)})):-1;return t.name&&(r=e.createString(t.name)),nl.startField(e),nl.addType(e,i),nl.addTypeType(e,o),nl.addChildren(e,f),nl.addNullable(e,!!t.nullable),r!==-1&&nl.addName(e,r),s!==-1&&nl.addDictionary(e,s),_!==-1&&nl.addCustomMetadata(e,_),nl.endField(e)}function Fft(e,t){let r=t.nodes||[],i=t.buffers||[];su.startNodesVector(e,r.length);for(let o of r.slice().reverse())Xu.encode(e,o);let s=e.endVector();su.startBuffersVector(e,i.length);for(let o of i.slice().reverse())_c.encode(e,o);let n=e.endVector();return su.startRecordBatch(e),su.addLength(e,BigInt(t.length)),su.addNodes(e,s),su.addBuffers(e,n),su.endRecordBatch(e)}function zft(e,t){let r=Sa.encode(e,t.data);return dp.startDictionaryBatch(e),dp.addId(e,BigInt(t.id)),dp.addIsDelta(e,t.isDelta),dp.addData(e,r),dp.endDictionaryBatch(e)}function Nft(e,t){return hv.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function Uft(e,t){return uv.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var Vft=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var GO=e=>`Expected ${wi[e]} Message in stream, but was null or length 0.`,WO=e=>`Header pointer of flatbuffer-encoded ${wi[e]} Message is null or length 0.`,bH=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,wH=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Zv=class{constructor(t){this.source=t instanceof ld?t:new ld(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?Vn:t.value===-1&&(t=this.readMetadataLength()).done?Vn:(t=this.readMetadata(t.value)).done?Vn:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let r=Rr(this.source.read(t));if(r.byteLength[...s,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE_ID&&[n.TYPE_ID]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...r(n.children)],[])}}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readSchema(){let t=wi.Schema,r=this.readMessage(t),i=r?.header();if(!r||!i)throw new Error(WO(t));return i}},w3=4,jO=\"ARROW1\",Yv=new Uint8Array(jO.length);for(let e=0;ethis):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return xa.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return xa.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof e?t:CP(t)?Gft(t):kP(t)?qft(t):ru(t)?ar(this,void 0,void 0,function*(){return yield e.from(yield t)}):RP(t)||Mw(t)||OP(t)||Nu(t)?Hft(new $u(t)):Wft(new ld(t))}static readAll(t){return t instanceof e?t.isSync()?TH(t):MH(t):CP(t)||ArrayBuffer.isView(t)||Yh(t)||LP(t)?TH(t):MH(t)}},wp=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(this[Symbol.iterator]())))})}},Og=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return ar(this,void 0,void 0,function*(){var t,r,i,s;let n=new Array;try{for(var o=!0,c=Zh(this),f;f=yield c.next(),t=f.done,!t;o=!0){s=f.value,o=!1;let _=s;n.push(_)}}catch(_){r={error:_}}finally{try{!o&&!t&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}return n})}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Bg=class extends wp{constructor(t){super(t),this._impl=t}},T3=class extends Og{constructor(t){super(t),this._impl=t}},M3=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,r){let i=this._loadVectors(t,r,this.schema.fields),s=yr({type:new pn(this.schema.fields),length:t.length,children:i});return new Fs(this.schema,s)}_loadDictionaryBatch(t,r){let{id:i,isDelta:s}=t,{dictionaries:n,schema:o}=this,c=n.get(i);if(s||!c){let f=o.dictionaries.get(i),_=this._loadVectors(t.data,r,[f]);return(c&&s?c.concat(new xr(_)):new xr(_)).memoize()}return c.memoize()}_loadVectors(t,r,i){return new o2(r,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}},$v=class extends M3{constructor(t,r){super(r),this._reader=CP(t)?new C2(this._handle=t):new Zv(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Vn}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Vn}next(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Xv=class extends M3{constructor(t,r){super(r),this._reader=new I2(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ar(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return ar(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):Vn})}return(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):Vn})}next(){return ar(this,void 0,void 0,function*(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},E3=class extends $v{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,r){super(t instanceof i2?t:new i2(t),r)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var r;if(this.closed)return null;this._footer||this.open();let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null}_readDictionaryBatch(t){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}}_readFooter(){let{_handle:t}=this,r=t.size-HO,i=t.readInt32(r),s=t.readAt(r-i,i);return _p.decode(s)}_readNextMessageAndValidate(t){var r;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ar(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield r.open.call(this,t)})}readRecordBatch(t){return ar(this,void 0,void 0,function*(){var r;if(this.closed)return null;this._footer||(yield this.open());let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null})}_readDictionaryBatch(t){return ar(this,void 0,void 0,function*(){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}})}_readFooter(){return ar(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let r=t.size-HO,i=yield t.readInt32(r),s=yield t.readAt(r-i,i);return _p.decode(s)})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?S3(t)?new Bg(new E3(e.read())):new wp(new $v(e)):new wp(new $v(function*(){}()))}function Hft(e){return ar(this,void 0,void 0,function*(){let t=yield e.peek(Qv+7&-8);return t&&t.byteLength>=4?S3(t)?new Bg(new E3(yield e.read())):new Og(new Xv(e)):new Og(new Xv(function(){return eu(this,arguments,function*(){})}()))})}function qft(e){return ar(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),r=new Am(e,t);return t>=SH&&S3(yield r.readAt(0,Qv+7&-8))?new T3(new qO(r)):new Og(new Xv(r))})}var os=class e extends Er{static assemble(...t){let r=s=>s.flatMap(n=>Array.isArray(n)?r(n):n instanceof Fs?n.data.children:n.data),i=new e;return i.visitMany(r(t)),i}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof xr)return this.visitMany(t.data),this;let{type:r}=t;if(!ze.isDictionary(r)){let{length:i}=t;if(i>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");if(ze.isUnion(r))this.nodes.push(new Xu(i,0));else{let{nullCount:s}=t;ze.isNull(r)||of.call(this,s<=0?new Uint8Array(0):wg(t.offset,i,t.nullBitmap)),this.nodes.push(new Xu(i,s))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function of(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new _c(this._byteLength,t)),this._byteLength+=t,this}function Zft(e){var t;let{type:r,length:i,typeIds:s,valueOffsets:n}=e;if(of.call(this,s),r.mode===Pn.Sparse)return YO.call(this,e);if(r.mode===Pn.Dense){if(e.offset<=0)return of.call(this,n),YO.call(this,e);{let o=new Int32Array(i),c=Object.create(null),f=Object.create(null);for(let _,w,I=-1;++I{let I=r.typeIds[w],R=c[I],N=f[I];return _.slice(R,Math.min(i,N))}))}}return this}function Yft(e){let t;return e.nullCount>=e.length?of.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?of.call(this,wg(e.offset,e.length,t)):of.call(this,Sg(e.values))}function Sp(e){return of.call(this,e.values.subarray(0,e.length*e.stride))}function P3(e){let{length:t,values:r,valueOffsets:i}=e,s=Wi(i[0]),n=Wi(i[t]),o=Math.min(n-s,r.byteLength-s);return of.call(this,FP(-s,t+1,i)),of.call(this,r.subarray(s,s+o)),this}function QO(e){let{length:t,valueOffsets:r}=e;if(r){let{[0]:i,[t]:s}=r;return of.call(this,FP(-i,t+1,r)),this.visit(e.children[0].slice(i,s-i))}return this.visit(e.children[0])}function YO(e){return this.visitMany(e.type.children.map((t,r)=>e.children[r]).filter(Boolean))[0]}os.prototype.visitBool=Yft;os.prototype.visitInt=Sp;os.prototype.visitFloat=Sp;os.prototype.visitUtf8=P3;os.prototype.visitLargeUtf8=P3;os.prototype.visitBinary=P3;os.prototype.visitLargeBinary=P3;os.prototype.visitFixedSizeBinary=Sp;os.prototype.visitDate=Sp;os.prototype.visitTimestamp=Sp;os.prototype.visitTime=Sp;os.prototype.visitDecimal=Sp;os.prototype.visitList=QO;os.prototype.visitStruct=YO;os.prototype.visitUnion=Zft;os.prototype.visitInterval=Sp;os.prototype.visitDuration=Sp;os.prototype.visitFixedSizeList=QO;os.prototype.visitMap=QO;var Fg=class extends Eg{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new ad,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Cl(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return ru(t)?t.then(r=>this.writeAll(r)):Nu(t)?XO(this,t):$O(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,r=null){return t===this._sink||t instanceof ad?this._sink=t:(this._sink=new ad,t&&j9(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&G9(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!r||!Rg(r,this._schema))&&(r==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=r,this._writeSchema(r))),this}write(t){let r=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof wa&&!(r=t.schema))return this.finish()&&void 0;if(t instanceof Fs&&!(r=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(r&&!Rg(r,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,r)}t instanceof Fs?t instanceof Dg||this._writeRecordBatch(t):t instanceof wa?this.writeAll(t.batches):Yh(t)&&this.writeAll(t)}_writeMessage(t,r=8){let i=r-1,s=vc.encode(t),n=s.byteLength,o=this._writeLegacyIpcFormat?4:8,c=n+o+i&~i,f=c-n-o;return t.headerType===wi.RecordBatch?this._recordBatchBlocks.push(new yp(c,t.bodyLength,this._position)):t.headerType===wi.DictionaryBatch&&this._dictionaryBlocks.push(new yp(c,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(c-o)),n>0&&this._write(s),this._writePadding(f)}_write(t){if(this._started){let r=Rr(t);r&&r.byteLength>0&&(this._sink.write(r),this._position+=r.byteLength)}return this}_writeSchema(t){return this._writeMessage(vc.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Yv)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:r,nodes:i,bufferRegions:s,buffers:n}=os.assemble(t),o=new Sa(t.numRows,i,s),c=vc.from(o,r);return this._writeDictionaries(t)._writeMessage(c)._writeBodyBuffers(n)}_writeDictionaryBatch(t,r,i=!1){this._dictionaryDeltaOffsets.set(r,t.length+(this._dictionaryDeltaOffsets.get(r)||0));let{byteLength:s,nodes:n,bufferRegions:o,buffers:c}=os.assemble(new xr([t])),f=new Sa(t.length,n,o),_=new yc(f,r,i),w=vc.from(_,s);return this._writeMessage(w)._writeBodyBuffers(c)}_writeBodyBuffers(t){let r,i,s;for(let n=-1,o=t.length;++n0&&(this._write(r),(s=(i+7&-8)-i)>0&&this._writePadding(s));return this}_writeDictionaries(t){for(let[r,i]of t.dictionaries){let s=this._dictionaryDeltaOffsets.get(r)||0;if(s===0||(i=i?.slice(s)).length>0)for(let n of i.data)this._writeDictionaryBatch(n,r,s>0),s+=n.length}return this}},L2=class e extends Fg{static writeAll(t,r){let i=new e(r);return ru(t)?t.then(s=>i.writeAll(s)):Nu(t)?XO(i,t):$O(i,t)}},k2=class e extends Fg{static writeAll(t){let r=new e;return ru(t)?t.then(i=>r.writeAll(i)):Nu(t)?XO(r,t):$O(r,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let r=_p.encode(new _p(t,sn.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(r)._write(Int32Array.of(r.byteLength))._writeMagic()}};function $O(e,t){let r=t;t instanceof wa&&(r=t.batches,e.reset(void 0,t.schema));for(let i of r)e.write(i);return e.finish()}function XO(e,t){return ar(this,void 0,void 0,function*(){var r,i,s,n,o,c,f;try{for(r=!0,i=Zh(t);s=yield i.next(),n=s.done,!n;r=!0){f=s.value,r=!1;let _=f;e.write(_)}}catch(_){o={error:_}}finally{try{!r&&!n&&(c=i.return)&&(yield c.call(i))}finally{if(o)throw o.error}}return e.finish()})}function PH(e,t){if(Nu(e))return $ft(e,t);if(Yh(e))return Qft(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function Qft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){n(o,r||(r=e[Symbol.iterator]()))},pull(o){r?n(o,r):o.close()},cancel(){(r?.return&&r.return()||!0)&&(r=null)}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){let f,_=null,w=o.desiredSize||null;for(;!(_=c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()}}function $ft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){return ar(this,void 0,void 0,function*(){yield n(o,r||(r=e[Symbol.asyncIterator]()))})},pull(o){return ar(this,void 0,void 0,function*(){r?yield n(o,r):o.close()})},cancel(){return ar(this,void 0,void 0,function*(){(r?.return&&(yield r.return())||!0)&&(r=null)})}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){return ar(this,void 0,void 0,function*(){let f,_=null,w=o.desiredSize||null;for(;!(_=yield c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()})}}function LH(e){return new KO(e)}var KO=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{[\"readableStrategy\"]:r,[\"writableStrategy\"]:i,[\"queueingStrategy\"]:s=\"count\"}=t,n=U9(t,[\"readableStrategy\",\"writableStrategy\",\"queueingStrategy\"]);this._controller=null,this._builder=Cg(n),this._getSize=s!==\"bytes\"?IH:CH;let{[\"highWaterMark\"]:o=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},r),{[\"highWaterMark\"]:c=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},i);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:f=>{this._maybeFlush(this._builder,this._controller=f)},start:f=>{this._maybeFlush(this._builder,this._controller=f)}},{highWaterMark:o,size:s!==\"bytes\"?IH:CH}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:c,size:f=>this._writeValueAndReturnChunkSize(f)})}_writeValueAndReturnChunkSize(t){let r=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-r}_maybeFlush(t,r){r!=null&&(this._bufferedSize>=r.desiredSize&&++this._numChunks&&this._enqueue(r,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(r,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(r,null)))}_enqueue(t,r){this._bufferedSize=0,this._controller=null,r==null?t.close():t.enqueue(r)}},IH=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},CH=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function I3(e,t){let r=new ad,i=null,s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield r.close()})},start(c){return ar(this,void 0,void 0,function*(){yield o(c,i||(i=yield n()))})},pull(c){return ar(this,void 0,void 0,function*(){i?yield o(c,i):c.close()})}});return{writable:new WritableStream(r,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:s};function n(){return ar(this,void 0,void 0,function*(){return yield(yield cu.from(r)).open(t)})}function o(c,f){return ar(this,void 0,void 0,function*(){let _=c.desiredSize,w=null;for(;!(w=yield f.next()).done;)if(c.enqueue(w.value),_!=null&&--_<=0)return;c.close()})}}function C3(e,t){let r=new this(e),i=new $u(r),s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield i.cancel()})},pull(o){return ar(this,void 0,void 0,function*(){yield n(o)})},start(o){return ar(this,void 0,void 0,function*(){yield n(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(r,e),readable:s};function n(o){return ar(this,void 0,void 0,function*(){let c=null,f=o.desiredSize;for(;c=yield i.read(f||null);)if(o.enqueue(c),f!=null&&(f-=c.byteLength)<=0)return;o.close()})}}function R2(e){let t=cu.from(e);return ru(t)?t.then(r=>R2(r)):t.isAsync()?t.readAll().then(r=>new wa(r)):new wa(t.readAll())}var _dt=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uO),OO),MO),hO),iO),TO),oO),{compareSchemas:Rg,compareFields:nH,compareTypes:sH});xa.toDOMStream=PH;Xn.throughDOM=LH;cu.throughDOM=I3;Bg.throughDOM=I3;wp.throughDOM=I3;Fg.throughDOM=C3;k2.throughDOM=C3;L2.throughDOM=C3;var ydt=\"0.6.1\",vdt=`https://cdn.jsdelivr.net/npm/parquet-wasm@${ydt}/esm/parquet_wasm_bg.wasm`,JO=!1;async function kH(){JO||(await z9(vdt),JO=!0)}function xdt(e){if(!JO)throw new Error(\"wasm not ready\");console.time(\"readParquet\");let t=O9(new Uint8Array(e.buffer),{batchSize:Math.pow(2,31)}).intoIPCStream(),r=R2(t);return console.timeEnd(\"readParquet\"),r}function O2(e){let t=[];for(let r of e){let i=xdt(r);i.batches.length!==1&&console.warn(\"Expected one batch\"),t.push(...i.batches)}return new wa(t)}var RH=Ri(Yi(),1);function tB(e){return e instanceof Array&&e?.[0]instanceof DataView?e?.[0].byteLength>0?O2(e).getChildAt(0):null:e}var zg=class{model;callbacks;updateStateCallback;constructor(t,r){this.model=t,this.model.on(\"change\",r),this.updateStateCallback=r,this.callbacks=new Map,this.callbacks.set(\"change\",r)}async loadSubModels(){}initRegularAttribute(t,r){this[r]=this.model.get(t),this.model.off(`change:${t}`);let i=()=>{this[r]=this.model.get(t)};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}initVectorizedAccessor(t,r){this[r]=tB(this.model.get(t)),this.model.off(`change:${t}`);let i=()=>{this[r]=tB(this.model.get(t))};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}finalize(){for(let[t,r]of Object.entries(this.callbacks))this.model.off(t,r)}};async function L3(e,t){let r=[];for(let i of t)r.push(e.get_model(i.slice(10)));return await Promise.all(r)}function Jt(e){return e!=null}function DH(e,t=20){let r;return(...s)=>{clearTimeout(r),r=setTimeout(()=>e(...s),t)}}var bdt=`\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n`,wdt=`\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n`,Sdt={source:0,target:1,custom:2,source_target:3},Tdt={\"vs:DECKGL_FILTER_GL_POSITION\":`\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n `},OH={name:\"brushing\",dependencies:[Vh],vs:bdt,fs:wdt,inject:Tdt,getUniforms:e=>{if(!e||!(\"viewport\"in e))return{};let{brushingEnabled:t=!0,brushingRadius:r=1e4,brushingTarget:i=\"source\",mousePosition:s,viewport:n}=e;return{brushing_enabled:!!(t&&s&&n.containsPixel(s)),brushing_radius:r,brushing_target:Sdt[i]||0,brushing_mousePos:s?n.unproject([s.x-n.x,s.y-n.y]):[0,0]}}};var Mdt={getBrushingTarget:{type:\"accessor\",value:[0,0]},brushingTarget:\"source\",brushingEnabled:!0,brushingRadius:1e4},vm=class extends cc{getShaders(){return{modules:[OH]}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({brushingTargets:{size:2,accessor:\"getBrushingTarget\",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=()=>{var s;(s=this.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},t.deck&&t.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}finalizeState(t,r){t.deck&&t.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}};G(vm,\"defaultProps\",Mdt);G(vm,\"extensionName\",\"BrushingExtension\");var BH=`\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`,FH=`\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;function zH(e){if(!e||!(\"extensions\"in e))return{};let{filterRange:t=[-1,1],filterEnabled:r=!0,filterTransformSize:i=!0,filterTransformColor:s=!0}=e,n=e.filterSoftRange||t;return{...Number.isFinite(t[0])?{filter_min:t[0],filter_softMin:n[0],filter_softMax:n[1],filter_max:t[1]}:{filter_min:t.map(o=>o[0]),filter_softMin:n.map(o=>o[0]),filter_softMax:n.map(o=>o[1]),filter_max:t.map(o=>o[1])},filter_enabled:r,filter_useSoftMargin:!!e.filterSoftRange,filter_transformSize:r&&i,filter_transformColor:r&&s}}function Edt(e){if(!e||!(\"extensions\"in e))return{};let t=zH(e);if(Number.isFinite(t.filter_min)){let r=Math.fround(t.filter_min);t.filter_min-=r,t.filter_softMin-=r,t.filter_min64High=r;let i=Math.fround(t.filter_max);t.filter_max-=i,t.filter_softMax-=i,t.filter_max64High=i}else{let r=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((s,n)=>s-r[n]),t.filter_softMin=t.filter_softMin.map((s,n)=>s-r[n]),t.filter_min64High=r;let i=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((s,n)=>s-i[n]),t.filter_softMax=t.filter_softMax.map((s,n)=>s-i[n]),t.filter_max64High=i}return t}var NH={\"vs:#main-start\":`\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\"vs:#main-end\":`\n if (dataFilter_value == 0.0) {\n gl_Position = vec4(0.);\n }\n `,\"vs:DECKGL_FILTER_SIZE\":`\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `},UH={name:\"data-filter\",vs:BH,fs:FH,inject:NH,getUniforms:zH},VH={name:\"data-filter-fp64\",vs:BH,fs:FH,inject:NH,getUniforms:Edt};var Pdt=`#define SHADER_NAME data-filter-vertex-shader\n\n#ifdef FLOAT_TARGET\n attribute float filterIndices;\n attribute float filterPrevIndices;\n#else\n attribute vec2 filterIndices;\n attribute vec2 filterPrevIndices;\n#endif\n\nvarying vec4 vColor;\nconst float component = 1.0 / 255.0;\n\nvoid main() {\n #ifdef FLOAT_TARGET\n dataFilter_value *= float(filterIndices != filterPrevIndices);\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n vColor = vec4(0.0, 0.0, 0.0, 1.0);\n #else\n // Float texture is not supported: pack result into 4 channels x 256 px x 64px\n dataFilter_value *= float(filterIndices.x != filterPrevIndices.x);\n float col = filterIndices.x;\n float row = filterIndices.y * 4.0;\n float channel = floor(row);\n row = fract(row);\n vColor = component * vec4(bvec4(channel == 0.0, channel == 1.0, channel == 2.0, channel == 3.0));\n gl_Position = vec4(col * 2.0 - 1.0, row * 2.0 - 1.0, 0.0, 1.0);\n #endif\n gl_PointSize = 1.0;\n}\n`,Idt=`#define SHADER_NAME data-filter-fragment-shader\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n if (dataFilter_value < 0.5) {\n discard;\n }\n gl_FragColor = vColor;\n}\n`;function jH(e){return!!(e.getExtension(\"EXT_float_blend\")&&(e.getExtension(\"EXT_color_buffer_float\")||e.getExtension(\"WEBGL_color_buffer_float\")))}function GH(e,t){return t?new yi(e,{width:1,height:1,attachments:{36064:new pi(e,{format:fr(e)?34836:6408,type:5126,mipmaps:!1})}}):new yi(e,{width:256,height:64,depth:!1})}function WH(e,t,r){return t.defines.NON_INSTANCED_MODEL=1,r&&(t.defines.FLOAT_TARGET=1),new fn(e,{id:\"data-filter-aggregation-model\",vertexCount:1,isInstanced:!1,drawMode:0,vs:Pdt,fs:Idt,...t})}var HH={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var Ldt={getFilterValue:{type:\"accessor\",value:0},onFilteredItemsChange:{type:\"function\",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},qH={1:\"float\",2:\"vec2\",3:\"vec3\",4:\"vec4\"},xm=class extends cc{constructor({filterSize:t=1,fp64:r=!1,countItems:i=!1}={}){if(!qH[t])throw new Error(\"filterSize out of range\");super({filterSize:t,fp64:r,countItems:i})}getShaders(t){let{filterSize:r,fp64:i}=t.opts;return{modules:[i?VH:UH],defines:{DATAFILTER_TYPE:qH[r],DATAFILTER_DOUBLE:!!i}}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({filterValues:{size:r.opts.filterSize,type:r.opts.fp64?5130:5126,accessor:\"getFilterValue\",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});let{gl:s}=this.context;if(i&&r.opts.countItems){let n=jH(s);i.add({filterIndices:{size:n?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:(f,{index:_})=>{let w=f&&f.__source?f.__source.index:_;return n?(w+1)%255:[(w+1)%255,Math.floor(w/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});let o=GH(s,n),c=WH(s,r.getShaders.call(this,r),n);this.setState({filterFBO:o,filterModel:c})}}updateState({props:t,oldProps:r}){if(this.state.filterModel){let s=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==r.filterEnabled||t.filterRange!==r.filterRange||t.filterSoftRange!==r.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}draw(t,r){let{filterFBO:i,filterModel:s,filterNeedsUpdate:n}=this.state,{onFilteredItemsChange:o}=this.props;if(n&&o&&s){let{attributes:{filterValues:c,filterIndices:f}}=this.getAttributeManager();s.setVertexCount(this.getNumInstances());let{gl:_}=this.context;Hf(_,{framebuffer:i,color:[0,0,0,0]}),s.updateModuleSettings(t.moduleParameters).setAttributes({...c.getShaderAttributes(),...f&&f.getShaderAttributes()}).draw({framebuffer:i,parameters:{...HH,viewport:[0,0,i.width,i.height]}});let w=Dh(i),I=0;for(let R=0;R 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`}},YH={inject:{\"vs:#decl\":`\nattribute float instanceOffsets;\n`,\"vs:DECKGL_FILTER_SIZE\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\"vs:#main-end\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\"fs:#main-start\":`\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`}};var kdt={getDashArray:{type:\"accessor\",value:[0,0]},getOffset:{type:\"accessor\",value:0},dashJustified:!1,dashGapPickable:!1},bm=class extends cc{constructor({dash:t=!1,offset:r=!1,highPrecisionDash:i=!1}={}){super({dash:t||i,offset:r,highPrecisionDash:i})}isEnabled(t){return\"pathTesselator\"in t.state}getShaders(t){if(!t.isEnabled(this))return null;let r={};return t.opts.dash&&(r=tv(r,ZH)),t.opts.offset&&(r=tv(r,YH)),r}initializeState(t,r){let i=this.getAttributeManager();!i||!r.isEnabled(this)||(r.opts.dash&&i.addInstanced({instanceDashArrays:{size:2,accessor:\"getDashArray\"}}),r.opts.highPrecisionDash&&i.addInstanced({instanceDashOffsets:{size:1,accessor:\"getPath\",transform:r.getDashOffsets.bind(this)}}),r.opts.offset&&i.addInstanced({instanceOffsets:{size:1,accessor:\"getOffset\"}}))}updateState(t,r){if(!r.isEnabled(this))return;let i={};r.opts.dash&&(i.dashAlignMode=this.props.dashJustified?1:0,i.dashGapPickable=!!this.props.dashGapPickable),this.state.model.setUniforms(i)}getDashOffsets(t){let r=[0],i=this.props.positionFormat===\"XY\"?2:3,s=Array.isArray(t[0]),n=s?t.length:t.length/i,o,c;for(let f=0;f0&&(r[f]=r[f-1]+$j(c,o)),c=o;return r}};G(bm,\"defaultProps\",kdt);G(bm,\"extensionName\",\"PathStyleExtension\");var Rdt=`\n#ifdef NON_INSTANCED_MODEL\nattribute float collisionPriorities;\n#else\nattribute float instanceCollisionPriorities;\n#endif\n\nuniform sampler2D collision_texture;\nuniform bool collision_sort;\nuniform bool collision_enabled;\n\nvec2 collision_getCoords(vec4 position) {\n vec4 collision_clipspace = project_common_position_to_clipspace(position);\n return (1.0 + collision_clipspace.xy / collision_clipspace.w) / 2.0;\n}\n\nfloat collision_match(vec2 tex, vec3 pickingColor) {\n vec4 collision_pickingColor = texture2D(collision_texture, tex);\n float delta = dot(abs(collision_pickingColor.rgb - pickingColor), vec3(1.0));\n float e = 0.001;\n return step(delta, e);\n}\n\nfloat collision_isVisible(vec2 texCoords, vec3 pickingColor) {\n if (!collision_enabled) {\n return 1.0;\n }\n\n // Visibility test, sample area of 5x5 pixels in order to fade in/out.\n // Due to the locality, the lookups will be cached\n // This reduces the flicker present when objects are shown/hidden\n const int N = 2;\n float accumulator = 0.0;\n vec2 step = vec2(1.0 / project_uViewportSize);\n\n const float floatN = float(N);\n vec2 delta = -floatN * step;\n for(int i = -N; i <= N; i++) {\n delta.x = -step.x * floatN;\n for(int j = -N; j <= N; j++) {\n accumulator += collision_match(texCoords + delta, pickingColor);\n delta.x += step.x;\n }\n delta.y += step.y;\n }\n\n float W = 2.0 * floatN + 1.0;\n return pow(accumulator / (W * W), 2.2);\n}\n`,Ddt={\"vs:#decl\":`\n float collision_fade = 1.0;\n`,\"vs:DECKGL_FILTER_GL_POSITION\":`\n if (collision_sort) {\n #ifdef NON_INSTANCED_MODEL\n float collisionPriority = collisionPriorities;\n #else\n float collisionPriority = instanceCollisionPriorities;\n #endif\n position.z = -0.001 * collisionPriority * position.w; // Support range -1000 -> 1000\n }\n\n if (collision_enabled) {\n vec4 collision_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n vec2 collision_texCoords = collision_getCoords(collision_common_position);\n collision_fade = collision_isVisible(collision_texCoords, geometry.pickingColor / 255.0);\n if (collision_fade < 0.0001) {\n // Position outside clip space bounds to discard\n position = vec4(0.0, 0.0, 2.0, 1.0);\n }\n }\n `,\"vs:DECKGL_FILTER_COLOR\":`\n color.a *= collision_fade;\n `},Odt=(e,t)=>{if(!e||!(\"dummyCollisionMap\"in e))return{};let{collisionFBO:r,drawToCollisionMap:i,dummyCollisionMap:s}=e;return{collision_sort:!!i,collision_texture:!i&&r?r:s}},QH={name:\"collision\",dependencies:[Vh],vs:Rdt,inject:Ddt,getUniforms:Odt};var B2=class extends sc{renderCollisionMap(t,r){let i=this.gl,s=1;return Mn(i,{scissorTest:!0,scissor:[s,s,t.width-2*s,t.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},()=>this.render({...r,target:t,pass:\"collision\"}))}getModuleParameters(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}};var F2=class extends sc{constructor(t,r){super(t,r),G(this,\"maskMap\",void 0),G(this,\"fbo\",void 0);let{mapSize:i=2048}=r;this.maskMap=new pi(t,{width:i,height:i,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.fbo=new yi(t,{id:\"maskmap\",width:i,height:i,attachments:{36064:this.maskMap}})}render(t){let r=this.gl,i=[!1,!1,!1,!1];return i[t.channel]=!0,Mn(r,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:i,depthTest:!1},()=>super.render({...t,target:this.fbo,pass:\"mask\"}))}shouldDrawLayer(t){return t.props.operation.includes(\"mask\")}delete(){this.fbo.delete(),this.maskMap.delete()}};function $H(e,t){let r=[1/0,1/0,-1/0,-1/0];for(let i of e){let s=i.getBounds();if(s){let n=i.projectPosition(s[0],{viewport:t,autoOffset:!1}),o=i.projectPosition(s[1],{viewport:t,autoOffset:!1});r[0]=Math.min(r[0],n[0]),r[1]=Math.min(r[1],n[1]),r[2]=Math.max(r[2],o[0]),r[3]=Math.max(r[3],o[1])}}return Number.isFinite(r[0])?r:null}var Bdt=2048;function XH(e){let{bounds:t,viewport:r,border:i=0}=e,{isGeospatial:s}=r;if(t[2]<=t[0]||t[3]<=t[1])return null;let n=r.unprojectPosition([(t[0]+t[2])/2,(t[1]+t[3])/2,0]),{width:o,height:c,zoom:f}=e;if(f===void 0){o=o-i*2,c=c-i*2;let _=Math.min(o/(t[2]-t[0]),c/(t[3]-t[1]));f=Math.min(Math.log2(_),20)}else if(!o||!c){let _=2**f;o=Math.round(Math.abs(t[2]-t[0])*_),c=Math.round(Math.abs(t[3]-t[1])*_);let w=Bdt-i*2;if(o>w||c>w){let I=w/Math.max(o,c);o=Math.round(o*I),c=Math.round(c*I),f+=Math.log2(I)}}return s?new lc({id:r.id,x:i,y:i,width:o,height:c,longitude:n[0],latitude:n[1],zoom:f,orthographic:!0}):new iv({id:r.id,x:i,y:i,width:o,height:c,target:n,zoom:f,flipY:!1})}function Fdt(e,t){let r;if(t&&t.length===2){let[n,o]=t,c=e.getBounds({z:n}),f=e.getBounds({z:o});r=[Math.min(c[0],f[0]),Math.min(c[1],f[1]),Math.max(c[2],f[2]),Math.max(c[3],f[3])]}else r=e.getBounds();let i=e.projectPosition(r.slice(0,2)),s=e.projectPosition(r.slice(2,4));return[i[0],i[1],s[0],s[1]]}function KH(e,t,r){if(!e)return[0,0,1,1];let i=Fdt(t,r),s=zdt(i);return e[2]-e[0]<=s[2]-s[0]&&e[3]-e[1]<=s[3]-s[1]?e:[Math.max(e[0],s[0]),Math.max(e[1],s[1]),Math.min(e[2],s[2]),Math.min(e[3],s[3])]}function zdt(e){let t=e[2]-e[0],r=e[3]-e[1],i=(e[0]+e[2])/2,s=(e[1]+e[3])/2;return[i-t,s-r,i+t,s+r]}var z2=class{constructor(){G(this,\"id\",\"mask-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",0),G(this,\"dummyMaskMap\",void 0),G(this,\"channels\",[]),G(this,\"masks\",null),G(this,\"maskPass\",void 0),G(this,\"maskMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o,isPicking:c}){let f=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new pi(t,{width:1,height:1})),c)return{didRender:f};let _=r.filter(N=>N.props.visible&&N.props.operation.includes(\"mask\"));if(_.length===0)return this.masks=null,this.channels.length=0,{didRender:f};this.masks={},this.maskPass||(this.maskPass=new F2(t,{id:\"default-mask\"}),this.maskMap=this.maskPass.maskMap);let w=this._sortMaskChannels(_),I=s[0],R=!this.lastViewport||!this.lastViewport.equals(I);if(I.resolution!==void 0)return or.warn(\"MaskExtension is not supported in GlobeView\")(),{didRender:f};for(let N in w){let j=this._renderChannel(w[N],{layerFilter:i,onViewportActive:n,views:o,viewport:I,viewportChanged:R});f||(f=j)}return{didRender:f}}_renderChannel(t,{layerFilter:r,onViewportActive:i,views:s,viewport:n,viewportChanged:o}){let c=!1,f=this.channels[t.index];if(!f)return c;let _=t===f||t.layers.length!==f.layers.length||t.layers.some((w,I)=>w!==f.layers[I]||w.props.transitions)||t.layerBounds.some((w,I)=>w!==f.layerBounds[I]);if(t.bounds=f.bounds,t.maskBounds=f.maskBounds,this.channels[t.index]=t,_||o){this.lastViewport=n;let w=$H(t.layers,n);if(t.bounds=w&&KH(w,n),_||!Ro(t.bounds,f.bounds)){let{maskPass:I,maskMap:R}=this,N=w&&XH({bounds:t.bounds,viewport:n,width:R.width,height:R.height,border:1});t.maskBounds=N?N.getBounds():[0,0,1,1],I.render({pass:\"mask\",channel:t.index,layers:t.layers,layerFilter:r,viewports:N?[N]:[],onViewportActive:i,views:s,moduleParameters:{devicePixelRatio:1}}),c=!0}}return this.masks[t.id]={index:t.index,bounds:t.maskBounds,coordinateOrigin:t.coordinateOrigin,coordinateSystem:t.coordinateSystem},c}_sortMaskChannels(t){let r={},i=0;for(let s of t){let{id:n}=s.root,o=r[n];if(!o){if(++i>4){or.warn(\"Too many mask layers. The max supported is 4\")();continue}o={id:n,index:this.channels.findIndex(c=>c?.id===n),layers:[],layerBounds:[],coordinateOrigin:s.root.props.coordinateOrigin,coordinateSystem:s.root.props.coordinateSystem},r[n]=o}o.layers.push(s),o.layerBounds.push(s.getBounds())}for(let s=0;s<4;s++){let n=this.channels[s];(!n||!(n.id in r))&&(this.channels[s]=null)}for(let s in r){let n=r[s];n.index<0&&(n.index=this.channels.findIndex(o=>!o),this.channels[n.index]=n)}return r}getModuleParameters(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}cleanup(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}};var eB=2,N2=class{constructor(){G(this,\"id\",\"collision-filter-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",1),G(this,\"channels\",{}),G(this,\"collisionFilterPass\",void 0),G(this,\"collisionFBOs\",{}),G(this,\"dummyCollisionMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{effects:r,layers:i,layerFilter:s,viewports:n,onViewportActive:o,views:c,isPicking:f,preRenderStats:_={}}){var w;if(this.dummyCollisionMap||(this.dummyCollisionMap=new pi(t,{width:1,height:1})),f)return;let I=i.filter(({props:{visible:Y,collisionEnabled:K}})=>Y&&K);if(I.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new B2(t,{id:\"default-collision-filter\"}));let R=r?.filter(Y=>Y.constructor===z2),N=(w=_[\"mask-effect\"])===null||w===void 0?void 0:w.didRender,j=this._groupByCollisionGroup(t,I),Q=n[0],et=!this.lastViewport||!this.lastViewport.equals(Q)||N;for(let Y in j){let K=this.collisionFBOs[Y],J=j[Y];K.resize({width:t.canvas.width/eB,height:t.canvas.height/eB}),this._render(J,{effects:R,layerFilter:s,onViewportActive:o,views:c,viewport:Q,viewportChanged:et})}}_render(t,{effects:r,layerFilter:i,onViewportActive:s,views:n,viewport:o,viewportChanged:c}){let{collisionGroup:f}=t,_=this.channels[f];if(!_)return;let w=c||t===_||!mo(_.layers,t.layers,1)||t.layerBounds.some((I,R)=>!Ro(I,_.layerBounds[R]))||t.allLayersLoaded!==_.allLayersLoaded||t.layers.some(I=>I.props.transitions);if(this.channels[f]=t,w){this.lastViewport=o;let I=this.collisionFBOs[f];this.collisionFilterPass.renderCollisionMap(I,{pass:\"collision-filter\",isPicking:!0,layers:t.layers,effects:r,layerFilter:i,viewports:o?[o]:[],onViewportActive:s,views:n,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:El(I.gl)/eB}})}}_groupByCollisionGroup(t,r){let i={};for(let s of r){let{collisionGroup:n}=s.props,o=i[n];o||(o={collisionGroup:n,layers:[],layerBounds:[],allLayersLoaded:!0},i[n]=o),o.layers.push(s),o.layerBounds.push(s.getBounds()),s.isLoaded||(o.allLayersLoaded=!1)}for(let s of Object.keys(i))this.collisionFBOs[s]||this.createFBO(t,s),this.channels[s]||(this.channels[s]=i[s]);for(let s of Object.keys(this.collisionFBOs))i[s]||this.destroyFBO(s);return i}getModuleParameters(t){let{collisionGroup:r}=t.props,{collisionFBOs:i,dummyCollisionMap:s}=this;return{collisionFBO:i[r],dummyCollisionMap:s}}cleanup(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(let t of Object.keys(this.collisionFBOs))this.destroyFBO(t);this.collisionFBOs={},this.lastViewport=void 0}createFBO(t,r){let{width:i,height:s}=t.canvas,n=new pi(t,{width:i,height:s,parameters:{10241:9728,10240:9728,10242:33071,10243:33071}}),o=new el(t,{format:33189,width:i,height:s});this.collisionFBOs[r]=new yi(t,{id:\"Collision-\".concat(r),width:i,height:s,attachments:{36064:n,36096:o}})}destroyFBO(t){let r=this.collisionFBOs[t];for(let i of Object.values(r.attachments))i.delete();r.delete(),delete this.collisionFBOs[t]}};var Ndt={getCollisionPriority:{type:\"accessor\",value:0},collisionEnabled:!0,collisionGroup:{type:\"string\",value:\"default\"},collisionTestProps:{}},wm=class extends cc{getShaders(){return{modules:[QH]}}draw({uniforms:t,context:r,moduleParameters:i}){let{collisionEnabled:s}=this.props,{collisionFBO:n,drawToCollisionMap:o}=i,c=s&&!!n;t.collision_enabled=c,o&&(this.props=this.clone(this.props.collisionTestProps).props)}initializeState(t,r){var i;if(this.getAttributeManager()===null)return;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new N2),this.getAttributeManager().add({collisionPriorities:{size:1,accessor:\"getCollisionPriority\",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}getNeedsPickingBuffer(){return this.props.collisionEnabled}};G(wm,\"defaultProps\",Ndt);G(wm,\"extensionName\",\"CollisionFilterExtension\");var Ng=class extends zg{static extensionType;constructor(t,r){super(t,r)}},U2=class extends Ng{static extensionType=\"brushing\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new vm,r.initRegularAttribute(\"brushing_enabled\",\"brushingEnabled\"),r.initRegularAttribute(\"brushing_target\",\"brushingTarget\"),r.initRegularAttribute(\"brushing_radius\",\"brushingRadius\"),r.initVectorizedAccessor(\"get_brushing_target\",\"getBrushingTarget\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"brushingEnabled\",\"brushingTarget\",\"brushingRadius\",\"getBrushingTarget\"]}},V2=class extends Ng{static extensionType=\"collision-filter\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new wm,r.initRegularAttribute(\"collision_enabled\",\"collisionEnabled\"),r.initRegularAttribute(\"collision_group\",\"collisionGroup\"),r.initRegularAttribute(\"collision_test_props\",\"collisionTestProps\"),r.initVectorizedAccessor(\"get_collision_priority\",\"getCollisionPriority\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"collisionEnabled\",\"collisionGroup\",\"collisionTestProps\",\"getCollisionPriority\"]}},k3=class extends Ng{static extensionType=\"data-filter\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"filter_size\");this.extensionInstance=new xm({filterSize:s}),r.initRegularAttribute(\"filter_enabled\",\"filterEnabled\"),r.initRegularAttribute(\"filter_range\",\"filterRange\"),r.initRegularAttribute(\"filter_soft_range\",\"filterSoftRange\"),r.initRegularAttribute(\"filter_transform_size\",\"filterTransformSize\"),r.initRegularAttribute(\"filter_transform_color\",\"filterTransformColor\"),r.initVectorizedAccessor(\"get_filter_value\",\"getFilterValue\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"filterEnabled\",\"filterRange\",\"filterSoftRange\",\"filterTransformSize\",\"filterTransformColor\",\"getFilterValue\"]}},j2=class extends Ng{static extensionType=\"path-style\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"dash\"),n=this.model.get(\"high_precision_dash\"),o=this.model.get(\"offset\");this.extensionInstance=new bm({...Jt(s)?{dash:s}:{},...Jt(n)?{highPrecisionDash:n}:{},...Jt(o)?{offset:o}:{}}),r.initRegularAttribute(\"dash_gap_pickable\",\"dashGapPickable\"),r.initRegularAttribute(\"dash_justified\",\"dashJustified\"),r.initVectorizedAccessor(\"get_dash_array\",\"getDashArray\"),r.initVectorizedAccessor(\"get_offset\",\"getOffset\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"dashGapPickable\",\"dashJustified\",\"getDashArray\",\"getOffset\"]}};async function rB(e,t,r){let i=e.get(\"_extension_type\"),s;switch(i){case U2.extensionType:s=new U2(e,t,r);break;case V2.extensionType:s=new V2(e,t,r);break;case k3.extensionType:s=new k3(e,t,r);break;case j2.extensionType:s=new j2(e,t,r);break;default:throw new Error(`no known model for extension type ${i}`)}return await s.loadSubModels(),s}var Ug=class extends zg{pickable;visible;opacity;autoHighlight;extensions;extensionLayerPropertyNames=[];constructor(t,r){super(t,r),this.initRegularAttribute(\"pickable\",\"pickable\"),this.initRegularAttribute(\"visible\",\"visible\"),this.initRegularAttribute(\"opacity\",\"opacity\"),this.initRegularAttribute(\"auto_highlight\",\"autoHighlight\"),this.extensions=[]}async loadSubModels(){await this.initLayerExtensions()}extensionInstances(){return this.extensions.map(t=>t.extensionInstance)}extensionProps(){let t={};for(let r of this.extensionLayerPropertyNames)Jt(this[r])&&(t[r]=this[r]);return t}onClick(t){t.index&&(this.model.set(\"selected_index\",t.index),this.model.save_changes())}baseLayerProps(){return{extensions:this.extensionInstances(),...this.extensionProps(),id:this.model.model_id,pickable:this.pickable,visible:this.visible,opacity:this.opacity,autoHighlight:this.autoHighlight,onClick:this.onClick.bind(this)}}async initLayerExtensions(){let t=async()=>{let r=this.model.get(\"extensions\");if(!r){this.extensions=[];return}let i=await L3(this.model.widget_manager,r),s=[];for(let n of i){let o=await rB(n,this,this.updateStateCallback);s.push(o)}this.extensions=s};await t(),this.model.off(\"change:extensions\"),this.model.on(\"change:extensions\",t),this.callbacks.set(\"change:extensions\",t)}};var JH=`#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var tq=`#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var R3=[0,0,0,255],Udt={getSourcePosition:{type:\"accessor\",value:e=>e.sourcePosition},getTargetPosition:{type:\"accessor\",value:e=>e.targetPosition},getSourceColor:{type:\"accessor\",value:R3},getTargetColor:{type:\"accessor\",value:R3},getWidth:{type:\"accessor\",value:1},getHeight:{type:\"accessor\",value:1},getTilt:{type:\"accessor\",value:0},greatCircle:!1,numSegments:{type:\"number\",value:50,min:1},widthUnits:\"pixels\",widthScale:{type:\"number\",value:1,min:0},widthMinPixels:{type:\"number\",value:0,min:0},widthMaxPixels:{type:\"number\",value:Number.MAX_SAFE_INTEGER,min:0}},Tp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"instanceSourcePositions\",\"instanceTargetPositions\"])}getShaders(){return super.getShaders({vs:JH,fs:tq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getSourcePosition\"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getTargetPosition\"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getSourceColor\",defaultValue:R3},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getTargetColor\",defaultValue:R3},instanceWidths:{size:1,transition:!0,accessor:\"getWidth\",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:\"getHeight\",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:\"getTilt\",defaultValue:0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t;if(s.extensionsChanged||s.propsChanged&&r.numSegments!==i.numSegments){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{widthUnits:r,widthScale:i,widthMinPixels:s,widthMaxPixels:n,greatCircle:o,wrapLongitude:c}=this.props;this.state.model.setUniforms(t).setUniforms({greatCircle:o,widthUnits:po[r],widthScale:i,widthMinPixels:s,widthMaxPixels:n,useShortestPath:c}).draw()}_getModel(t){let{id:r,numSegments:i}=this.props,s=[];for(let o=0;o0&&j>0&&(c[I++]=w-n,c[I++]=w-n-1,c[I++]=w-1,c[I++]=w-n,c[I++]=w-1,c[I++]=w),w++}}return{vertexCount:o,positions:_,indices:c,texCoords:f}}function Gdt(e){let t=new Float64Array(12);for(let r=0;r 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n`;var Hdt=`\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n`,rq=`\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n`.concat(Hdt,`\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n`);var qdt={image:{type:\"image\",value:null,async:!0},bounds:{type:\"array\",value:[1,0,0,1],compare:!0},_imageCoordinateSystem:Yr.DEFAULT,desaturate:{type:\"number\",min:0,max:1,value:0},transparentColor:{type:\"color\",value:[0,0,0,0]},tintColor:{type:\"color\",value:[255,255,255]},textureParameters:{type:\"object\",ignore:!0}},Mp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:eq,fs:rq,modules:[Rs,Ao]})}initializeState(){let t=this.getAttributeManager();t.remove([\"instancePickingColors\"]);let r=!0;t.add({indices:{size:1,isIndexed:!0,update:i=>i.value=this.state.mesh.indices,noAlloc:r},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:i=>i.value=this.state.mesh.positions,noAlloc:r},texCoords:{size:2,update:i=>i.value=this.state.mesh.texCoords,noAlloc:r}})}updateState({props:t,oldProps:r,changeFlags:i}){let s=this.getAttributeManager();if(i.extensionsChanged){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),s.invalidateAll()}if(t.bounds!==r.bounds){let o=this.state.mesh,c=this._createMesh();this.state.model.setVertexCount(c.vertexCount);for(let f in c)o&&o[f]!==c[f]&&s.invalidate(f);this.setState({mesh:c,...this._getCoordinateUniforms()})}else t._imageCoordinateSystem!==r._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}getPickingInfo(t){let{image:r}=this.props,i=t.info;if(!i.color||!r)return i.bitmap=null,i;let{width:s,height:n}=r;i.index=0;let o=Zdt(i.color),c=[Math.floor(o[0]*s),Math.floor(o[1]*n)];return i.bitmap={size:{width:s,height:n},uv:o,pixel:c},i}disablePickingIndex(){this.setState({disablePicking:!0})}restorePickingColors(){this.setState({disablePicking:!1})}_updateAutoHighlight(t){super._updateAutoHighlight({...t,color:this.encodePickingColor(0)})}_createMesh(){let{bounds:t}=this.props,r=t;return iq(t)&&(r=[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]]]),iB(r,this.context.viewport.resolution)}_getModel(t){return t?new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,vertexCount:6}),isInstanced:!1}):null}draw(t){let{uniforms:r,moduleParameters:i}=t,{model:s,coordinateConversion:n,bounds:o,disablePicking:c}=this.state,{image:f,desaturate:_,transparentColor:w,tintColor:I}=this.props;i.pickingActive&&c||f&&s&&s.setUniforms(r).setUniforms({bitmapTexture:f,desaturate:_,transparentColor:w.map(R=>R/255),tintColor:I.slice(0,3).map(R=>R/255),coordinateConversion:n,bounds:o}).draw()}_getCoordinateUniforms(){let{LNGLAT:t,CARTESIAN:r,DEFAULT:i}=Yr,{_imageCoordinateSystem:s}=this.props;if(s!==i){let{bounds:n}=this.props;if(!iq(n))throw new Error(\"_imageCoordinateSystem only supports rectangular bounds\");let o=this.context.viewport.resolution?t:r;if(s=s===t?t:r,s===t&&o===r)return{coordinateConversion:-1,bounds:n};if(s===r&&o===t){let c=va([n[0],n[1]]),f=va([n[2],n[3]]);return{coordinateConversion:1,bounds:[c[0],c[1],f[0],f[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}};G(Mp,\"layerName\",\"BitmapLayer\");G(Mp,\"defaultProps\",qdt);function Zdt(e){let[t,r,i]=e,s=(i&240)/256,n=(i&15)/16;return[(t+n)/256,(r+s)/256]}function iq(e){return Number.isFinite(e[0])}var nq=`#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n`;var sq=`#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Ydt=1024,Qdt=4,oq=()=>{},aq={10241:9987,10240:9729,10242:33071,10243:33071};function $dt(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function Xdt(e,t,r,i){let s=Math.min(r/t.width,i/t.height),n=Math.floor(t.width*s),o=Math.floor(t.height*s);return s===1?{data:t,width:n,height:o}:(e.canvas.height=o,e.canvas.width=n,e.clearRect(0,0,n,o),e.drawImage(t,0,0,t.width,t.height,0,0,n,o),{data:e.canvas,width:n,height:o})}function G2(e){return e&&(e.id||e.url)}function Kdt(e,t,r,i){let s=e.width,n=e.height,o=new pi(e.gl,{width:t,height:r,parameters:i});return gE(e,o,{targetY:0,width:s,height:n}),e.delete(),o}function lq(e,t,r){for(let i=0;io&&(lq(r,c,s),i=0,s=n+s+t,n=0,c=[]),c.push({icon:_,xOffset:i}),i=i+R+t,n=Math.max(n,I)}}return c.length>0&&lq(r,c,s),{mapping:r,rowHeight:n,xOffset:i,yOffset:s,canvasWidth:o,canvasHeight:$dt(n+s+t)}}function tpt(e,t,r){if(!e||!t)return null;r=r||{};let i={},{iterable:s,objectInfo:n}=Jc(e);for(let o of s){n.index++;let c=t(o,n),f=G2(c);if(!c)throw new Error(\"Icon is missing.\");if(!c.url)throw new Error(\"Icon url is missing.\");!i[f]&&(!r[f]||c.url!==r[f].url)&&(i[f]={...c,source:o,sourceIndex:n.index})}return i}var W2=class{constructor(t,{onUpdate:r=oq,onError:i=oq}){G(this,\"gl\",void 0),G(this,\"onUpdate\",void 0),G(this,\"onError\",void 0),G(this,\"_loadOptions\",null),G(this,\"_texture\",null),G(this,\"_externalTexture\",null),G(this,\"_mapping\",{}),G(this,\"_textureParameters\",null),G(this,\"_pendingCount\",0),G(this,\"_autoPacking\",!1),G(this,\"_xOffset\",0),G(this,\"_yOffset\",0),G(this,\"_rowHeight\",0),G(this,\"_buffer\",Qdt),G(this,\"_canvasWidth\",Ydt),G(this,\"_canvasHeight\",0),G(this,\"_canvas\",null),this.gl=t,this.onUpdate=r,this.onError=i}finalize(){var t;(t=this._texture)===null||t===void 0||t.delete()}getTexture(){return this._texture||this._externalTexture}getIconMapping(t){let r=this._autoPacking?G2(t):t;return this._mapping[r]||{}}setProps({loadOptions:t,autoPacking:r,iconAtlas:i,iconMapping:s,textureParameters:n}){if(t&&(this._loadOptions=t),r!==void 0&&(this._autoPacking=r),s&&(this._mapping=s),i){var o;(o=this._texture)===null||o===void 0||o.delete(),this._texture=null,this._externalTexture=i}n&&(this._textureParameters=n)}get isLoaded(){return this._pendingCount===0}packIcons(t,r){if(!this._autoPacking||typeof document>\"u\")return;let i=Object.values(tpt(t,r,this._mapping)||{});if(i.length>0){let{mapping:s,xOffset:n,yOffset:o,rowHeight:c,canvasHeight:f}=Jdt({icons:i,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=c,this._mapping=s,this._xOffset=n,this._yOffset=o,this._canvasHeight=f,this._texture||(this._texture=new pi(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:this._textureParameters||aq})),this._texture.height!==this._canvasHeight&&(this._texture=Kdt(this._texture,this._canvasWidth,this._canvasHeight,this._textureParameters||aq)),this.onUpdate(),this._canvas=this._canvas||document.createElement(\"canvas\"),this._loadIcons(i)}}_loadIcons(t){let r=this._canvas.getContext(\"2d\",{willReadFrequently:!0});for(let i of t)this._pendingCount++,jA(i.url,this._loadOptions).then(s=>{let n=G2(i),o=this._mapping[n],{x:c,y:f,width:_,height:w}=o,{data:I,width:R,height:N}=Xdt(r,s,_,w);this._texture.setSubImageData({data:I,x:c+(_-R)/2,y:f+(w-N)/2,width:R,height:N}),o.width=R,o.height=N,this._texture.generateMipmap(),this.onUpdate()}).catch(s=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:s})}).finally(()=>{this._pendingCount--})}};var cq=[0,0,0,255],ept={iconAtlas:{type:\"image\",value:null,async:!0},iconMapping:{type:\"object\",value:{},async:!0},sizeScale:{type:\"number\",value:1,min:0},billboard:!0,sizeUnits:\"pixels\",sizeMinPixels:{type:\"number\",min:0,value:0},sizeMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:\"number\",value:.05,min:0,max:1},getPosition:{type:\"accessor\",value:e=>e.position},getIcon:{type:\"accessor\",value:e=>e.icon},getColor:{type:\"accessor\",value:cq},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},onIconError:{type:\"function\",value:null,optional:!0},textureParameters:{type:\"object\",ignore:!0}},Ep=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:nq,fs:sq,modules:[Rs,Ao]})}initializeState(){this.state={iconManager:new W2(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceOffsets:{size:2,accessor:\"getIcon\",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:\"getIcon\",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:\"getIcon\",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:cq},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instancePixelOffset:{size:2,transition:!0,accessor:\"getPixelOffset\"}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=this.getAttributeManager(),{iconAtlas:o,iconMapping:c,data:f,getIcon:_,textureParameters:w}=r,{iconManager:I}=this.state,R=o||this.internalState.isAsyncPropLoading(\"iconAtlas\");if(I.setProps({loadOptions:r.loadOptions,autoPacking:!R,iconAtlas:o,iconMapping:R?c:null,textureParameters:w}),R?i.iconMapping!==r.iconMapping&&n.invalidate(\"getIcon\"):(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getIcon))&&I.packIcons(f,_),s.extensionsChanged){var N;let{gl:j}=this.context;(N=this.state.model)===null||N===void 0||N.delete(),this.state.model=this._getModel(j),n.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(t){super.finalizeState(t),this.state.iconManager.finalize()}draw({uniforms:t}){let{sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,sizeUnits:n,billboard:o,alphaCutoff:c}=this.props,{iconManager:f}=this.state,_=f.getTexture();_&&this.state.model.setUniforms(t).setUniforms({iconsTexture:_,iconsTextureDim:[_.width,_.height],sizeUnits:po[n],sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,billboard:o,alphaCutoff:c}).draw()}_getModel(t){let r=[-1,-1,-1,1,1,1,1,-1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}_onUpdate(){this.setNeedsRedraw()}_onError(t){var r;let i=(r=this.getCurrentLayer())===null||r===void 0?void 0:r.props.onIconError;i?i(t):or.error(t.error.message)()}getInstanceOffset(t){let{width:r,height:i,anchorX:s=r/2,anchorY:n=i/2}=this.state.iconManager.getIconMapping(t);return[r/2-s,i/2-n]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){let{x:r,y:i,width:s,height:n}=this.state.iconManager.getIconMapping(t);return[r,i,s,n]}};G(Ep,\"defaultProps\",ept);G(Ep,\"layerName\",\"IconLayer\");var uq=`#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var hq=`#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var fq=[0,0,0,255],dq=[0,0,1],rpt={sizeUnits:\"pixels\",pointSize:{type:\"number\",min:0,value:10},getPosition:{type:\"accessor\",value:e=>e.position},getNormal:{type:\"accessor\",value:dq},getColor:{type:\"accessor\",value:fq},material:!0,radiusPixels:{deprecatedFor:\"pointSize\"}};function ipt(e){let{header:t,attributes:r}=e;!t||!r||(e.length=t.vertexCount,r.POSITION&&(r.instancePositions=r.POSITION),r.NORMAL&&(r.instanceNormals=r.NORMAL),r.COLOR_0&&(r.instanceColors=r.COLOR_0))}var Pp=class extends dn{getShaders(){return super.getShaders({vs:uq,fs:hq,modules:[Rs,Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceNormals:{size:3,transition:!0,accessor:\"getNormal\",defaultValue:dq},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:fq}})}updateState(t){let{changeFlags:r,props:i}=t;if(super.updateState(t),r.extensionsChanged){var s;let{gl:n}=this.context;(s=this.state.model)===null||s===void 0||s.delete(),this.state.model=this._getModel(n),this.getAttributeManager().invalidateAll()}r.dataChanged&&ipt(i.data)}draw({uniforms:t}){let{pointSize:r,sizeUnits:i}=this.props;this.state.model.setUniforms(t).setUniforms({sizeUnits:po[i],radiusPixels:r}).draw()}_getModel(t){let r=[];for(let i=0;i<3;i++){let s=i/3*Math.PI*2;r.push(Math.cos(s)*2,Math.sin(s)*2,0)}return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,attributes:{positions:new Float32Array(r)}}),isInstanced:!0})}};G(Pp,\"layerName\",\"PointCloudLayer\");G(Pp,\"defaultProps\",rpt);var pq=`#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var Aq=`#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var mq=[0,0,0,255],npt={radiusUnits:\"meters\",radiusScale:{type:\"number\",min:0,value:1},radiusMinPixels:{type:\"number\",min:0,value:0},radiusMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},lineWidthUnits:\"meters\",lineWidthScale:{type:\"number\",min:0,value:1},lineWidthMinPixels:{type:\"number\",min:0,value:0},lineWidthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},stroked:!1,filled:!0,billboard:!1,antialiasing:!0,getPosition:{type:\"accessor\",value:e=>e.position},getRadius:{type:\"accessor\",value:1},getFillColor:{type:\"accessor\",value:mq},getLineColor:{type:\"accessor\",value:mq},getLineWidth:{type:\"accessor\",value:1},strokeWidth:{deprecatedFor:\"getLineWidth\"},outline:{deprecatedFor:\"stroked\"},getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},Ku=class extends dn{getShaders(){return super.getShaders({vs:pq,fs:Aq,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceRadius:{size:1,transition:!0,accessor:\"getRadius\",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){if(super.updateState(t),t.changeFlags.extensionsChanged){var r;let{gl:i}=this.context;(r=this.state.model)===null||r===void 0||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{radiusUnits:r,radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,stroked:o,filled:c,billboard:f,antialiasing:_,lineWidthUnits:w,lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}=this.props;this.state.model.setUniforms(t).setUniforms({stroked:o?1:0,filled:c,billboard:f,antialiasing:_,radiusUnits:po[r],radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,lineWidthUnits:po[w],lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}).draw()}_getModel(t){let r=[-1,-1,0,1,-1,0,1,1,0,-1,1,0];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Ku,\"defaultProps\",npt);G(Ku,\"layerName\",\"ScatterplotLayer\");var Kv={CLOCKWISE:1,COUNTER_CLOCKWISE:-1};function Vg(e,t,r={}){return gq(e,r)!==t?(spt(e,r),!0):!1}function gq(e,t={}){return Math.sign(D3(e,t))}function D3(e,t={}){let{start:r=0,end:i=e.length}=t,s=t.size||2,n=0;for(let o=r,c=i-s;o0){let s=!0;for(let n=0;nt[2]&&(r|=2),e[1]t[3]&&(r|=8),r}function Z2(e,t){let{size:r=2,broken:i=!1,gridResolution:s=10,gridOffset:n=[0,0],startIndex:o=0,endIndex:c=e.length}=t||{},f=(c-o)/r,_=[],w=[_],I=Sm(e,0,r,o),R,N,j=vq(I,s,n,[]),Q=[];xc(_,I);for(let et=1;etr&&(_=[],w.push(_),xc(_,I)),N=q2(R,j)}xc(_,R),H2(I,R)}return i?w:w[0]}var _q=0,apt=1;function B3(e,t){for(let r=0;r=0?(xc(_,N)&&I.push(Q),ut+=j):I.length&&(I[I.length-1]=_q),H2(et,N),Y=j,K=Q;return[J?{pos:f,types:t&&w}:null,ut?{pos:_,types:t&&I}:null]}function vq(e,t,r,i){let s=Math.floor((e[0]-r[0])/t)*t+r[0],n=Math.floor((e[1]-r[1])/t)*t+r[1];return i[0]=s,i[1]=n,i[2]=s+t,i[3]=n+t,i}function lpt(e,t,r){r&8?(e[1]+=t,e[3]+=t):r&4?(e[1]-=t,e[3]-=t):r&2?(e[0]+=t,e[2]+=t):r&1&&(e[0]-=t,e[2]-=t)}function cpt(e,t,r,i){let s=1/0,n=-1/0,o=1/0,c=-1/0;for(let f=0;fn?_:n,o=wc?w:c}return i[0][0]=s,i[0][1]=o,i[1][0]=n,i[1][1]=c,i}var upt=85.051129;function nB(e,t){let{size:r=2,startIndex:i=0,endIndex:s=e.length,normalize:n=!0}=t||{},o=e.slice(i,s);xq(o,r,0,s-i);let c=Z2(o,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(n)for(let f of c)bq(f,r);return c}function sB(e,t=null,r){let{size:i=2,normalize:s=!0,edgeTypes:n=!1}=r||{};t=t||[];let o=[],c=[],f=0,_=0;for(let I=0;I<=t.length;I++){let R=t[I]||e.length,N=_,j=hpt(e,i,f,R);for(let Q=j;Qs&&(s=c,n=o-1)}return n}function fpt(e,t,r,i,s=upt){let n=e[r],o=e[i-t];if(Math.abs(n-o)>180){let c=Sm(e,0,t,r);c[0]+=Math.round((o-n)/360)*360,xc(e,c),c[1]=Math.sign(c[1])*s,xc(e,c),c[0]=n,xc(e,c)}}function xq(e,t,r,i){let s=e[0],n;for(let o=r;o180||c<-180)&&(n-=Math.round(c/360)*360),e[o]=s=n}}function bq(e,t){let r,i=e.length/t;for(let n=0;n=i),s=s.flatMap(N=>[N[0],N[1]]),Vg(s,Kv.COUNTER_CLOCKWISE));let n=r>0,o=i+1,c=n?o*3+1:i,f=Math.PI*2/i,_=new Uint16Array(n?i*3*2:0),w=new Float32Array(c*3),I=new Float32Array(c*3),R=0;if(n){for(let N=0;N 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Sq=`#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n`;var F3=[0,0,0,255],Apt={diskResolution:{type:\"number\",min:4,value:20},vertices:null,radius:{type:\"number\",min:0,value:1e3},angle:{type:\"number\",value:0},offset:{type:\"array\",value:[0,0]},coverage:{type:\"number\",min:0,max:1,value:1},elevationScale:{type:\"number\",min:0,value:1},radiusUnits:\"meters\",lineWidthUnits:\"meters\",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,extruded:!0,wireframe:!1,filled:!0,stroked:!1,getPosition:{type:\"accessor\",value:e=>e.position},getFillColor:{type:\"accessor\",value:F3},getLineColor:{type:\"accessor\",value:F3},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0,getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},af=class extends dn{getShaders(){let{gl:t}=this.context,r=!fr(t),i={},s=this.props.flatShading&&$0(t,Ii.GLSL_DERIVATIVES);return s&&(i.FLAT_SHADING=1),super.getShaders({vs:wq,fs:Sq,defines:i,transpileToGLSL100:r,modules:[Rs,s?Ny:Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceElevations:{size:1,transition:!0,accessor:\"getElevation\"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getFillColor\",defaultValue:F3},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getLineColor\",defaultValue:F3},instanceStrokeWidths:{size:1,accessor:\"getLineWidth\",transition:!0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=s.extensionsChanged||r.flatShading!==i.flatShading;if(n){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}(n||r.diskResolution!==i.diskResolution||r.vertices!==i.vertices||(r.extruded||r.stroked)!==(i.extruded||i.stroked))&&this._updateGeometry(r)}getGeometry(t,r,i){let s=new Q2({radius:1,height:i?2:0,vertices:r,nradial:t}),n=0;if(r)for(let o=0;o=t.length&&(r+=1-t.length/s);let n=r*s;return i[0]=t[n],i[1]=t[n+1],i[2]=s===3&&t[n+2]||0,i}isClosed(t){if(!this.normalize)return!!this.opts.loop;let{positionSize:r}=this,i=t.length-r;return t[0]===t[i]&&t[1]===t[i+1]&&(r===2||t[2]===t[i+2])}};function Mq(e){return Array.isArray(e[0])}var Eq=`#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Pq=`#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Iq=[0,0,0,255],_pt={widthUnits:\"meters\",widthScale:{type:\"number\",min:0,value:1},widthMinPixels:{type:\"number\",min:0,value:0},widthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},jointRounded:!1,capRounded:!1,miterLimit:{type:\"number\",min:0,value:4},billboard:!1,_pathType:null,getPath:{type:\"accessor\",value:e=>e.path},getColor:{type:\"accessor\",value:Iq},getWidth:{type:\"accessor\",value:1},rounded:{deprecatedFor:[\"jointRounded\",\"capRounded\"]}},aB={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},bc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:Eq,fs:Pq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:aB,accessor:\"getPath\",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:\"getWidth\",transition:aB,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:\"getColor\",transition:aB,defaultValue:Iq},instancePickingColors:{size:3,type:5121,accessor:(i,{index:s,target:n})=>this.encodePickingColor(i&&i.__source?i.__source.index:s,n)}}),this.setState({pathTesselator:new $2({fp64:this.use64bitPositions()})})}updateState(t){super.updateState(t);let{props:r,changeFlags:i}=t,s=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){let{pathTesselator:c}=this.state,f=r.data.attributes||{};c.updateGeometry({data:r.data,geometryBuffer:f.getPath,buffers:f,normalize:!r._pathType,loop:r._pathType===\"loop\",getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:c.instanceCount,startIndices:c.vertexStarts}),i.dataChanged||s.invalidateAll()}if(i.extensionsChanged){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),s.invalidateAll()}}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;i=1&&e[0].length>=2&&Number.isFinite(e[0][0])}function Fpt(e){let t=e[0],r=e[e.length-1];return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]}function zpt(e,t,r,i){for(let s=0;sc/t));let n=tx(e),o=i&&t===3;if(r){let c=n.length;n=n.slice();let f=[];for(let _=0;_f&&c>_||(f>_?(r||(n=n.slice()),zq(n,0,2,1)):(r||(n=n.slice()),zq(n,2,0,1)))}return(0,Nq.default)(n,s,t)}var eS=class extends rm{constructor(t){let{fp64:r,IndexType:i=Uint32Array}=t;super({...t,attributes:{positions:{size:3,type:r?Float64Array:Float32Array},vertexValid:{type:Uint8ClampedArray,size:1},indices:{type:i,size:1}}})}get(t){let{attributes:r}=this;return t===\"indices\"?r.indices&&r.indices.subarray(0,this.vertexCount):r[t]}updateGeometry(t){super.updateGeometry(t);let r=this.buffers.indices;if(r)this.vertexCount=(r.value||r).length;else if(this.data&&!this.getGeometry)throw new Error(\"missing indices buffer\")}normalizeGeometry(t){if(this.normalize){let r=G3(t,this.positionSize);return this.opts.resolution?Y2(tx(r),tS(r),{size:this.positionSize,gridResolution:this.opts.resolution,edgeTypes:!0}):this.opts.wrapLongitude?sB(tx(r),tS(r),{size:this.positionSize,maxLatitude:86,edgeTypes:!0}):r}return t}getGeometrySize(t){if(jq(t)){let r=0;for(let i of t)r+=this.getGeometrySize(i);return r}return tx(t).length/this.positionSize}getGeometryFromBuffer(t){return this.normalize||!this.buffers.indices?super.getGeometryFromBuffer(t):null}updateGeometryAttributes(t,r){if(t&&jq(t))for(let i of t){let s=this.getGeometrySize(i);r.geometrySize=s,this.updateGeometryAttributes(i,r),r.vertexStart+=s,r.indexStart=this.indexStarts[r.geometryIndex+1]}else this._updateIndices(t,r),this._updatePositions(t,r),this._updateVertexValid(t,r)}_updateIndices(t,{geometryIndex:r,vertexStart:i,indexStart:s}){let{attributes:n,indexStarts:o,typedArrayManager:c}=this,f=n.indices;if(!f||!t)return;let _=s,w=Uq(t,this.positionSize,this.opts.preproject,this.opts.full3d);f=c.allocate(f,s+w.length,{copy:!0});for(let I=0;I2?o[f*n+2]:0;s[c*3]=_,s[c*3+1]=w,s[c*3+2]=I}}_updateVertexValid(t,{vertexStart:r,geometrySize:i}){let{positionSize:s}=this,n=this.attributes.vertexValid,o=t&&tS(t);if(t&&t.edgeTypes?n.set(t.edgeTypes,r):n.fill(1,r,r+i),o)for(let c=0;c0&&!Number.isFinite(e[0])}var W3=`\nattribute vec2 vertexPositions;\nattribute float vertexValid;\n\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 nextPositions;\n vec3 pickingColors;\n vec3 positions64Low;\n vec3 nextPositions64Low;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n#ifdef IS_SIDE_VERTEX\n if(vertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n#endif\n\n vec3 pos;\n vec3 pos64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.worldPositionAlt = props.nextPositions;\n geometry.pickingColor = props.pickingColors;\n\n#ifdef IS_SIDE_VERTEX\n pos = mix(props.positions, props.nextPositions, vertexPositions.x);\n pos64Low = mix(props.positions64Low, props.nextPositions64Low, vertexPositions.x);\n#else\n pos = props.positions;\n pos64Low = props.positions64Low;\n#endif\n\n if (extruded) {\n pos.z += props.elevations * vertexPositions.y * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n #ifdef IS_SIDE_VERTEX\n normal = vec3(\n props.positions.y - props.nextPositions.y + (props.positions64Low.y - props.nextPositions64Low.y),\n props.nextPositions.x - props.positions.x + (props.nextPositions64Low.x - props.positions64Low.x),\n 0.0);\n normal = project_offset_normal(normal);\n #else\n normal = project_normal(vec3(0.0, 0.0, 1.0));\n #endif\n geometry.normal = normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Gq=`#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = positions;\n props.positions64Low = positions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n\n calculatePosition(props);\n}\n`);var Wq=`#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n#define IS_SIDE_VERTEX\n\n\nattribute vec3 instancePositions;\nattribute vec3 nextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 nextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n #if RING_WINDING_ORDER_CW == 1\n props.positions = instancePositions;\n props.positions64Low = instancePositions64Low;\n props.nextPositions = nextPositions;\n props.nextPositions64Low = nextPositions64Low;\n #else\n props.positions = nextPositions;\n props.positions64Low = nextPositions64Low;\n props.nextPositions = instancePositions;\n props.nextPositions64Low = instancePositions64Low;\n #endif\n props.elevations = instanceElevations;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n`);var Hq=`#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var q3=[0,0,0,255],Npt={filled:!0,extruded:!1,wireframe:!1,_normalize:!0,_windingOrder:\"CW\",_full3d:!1,elevationScale:{type:\"number\",min:0,value:1},getPolygon:{type:\"accessor\",value:e=>e.polygon},getElevation:{type:\"accessor\",value:1e3},getFillColor:{type:\"accessor\",value:q3},getLineColor:{type:\"accessor\",value:q3},material:!0},H3={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},wc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(t){return super.getShaders({vs:t===\"top\"?Gq:Wq,fs:Hq,defines:{RING_WINDING_ORDER_CW:!this.props._normalize&&this.props._windingOrder===\"CCW\"?0:1},modules:[Rs,Zf,Ao]})}get wrapLongitude(){return!1}initializeState(){let{gl:t,viewport:r}=this.context,{coordinateSystem:i}=this.props,{_full3d:s}=this.props;r.isGeospatial&&i===Yr.DEFAULT&&(i=Yr.LNGLAT);let n;i===Yr.LNGLAT&&(s?n=r.projectPosition.bind(r):n=r.projectFlat.bind(r)),this.setState({numInstances:0,polygonTesselator:new eS({preproject:n,fp64:this.use64bitPositions(),IndexType:!t||Oh(t,Ii.ELEMENT_INDEX_UINT32)?Uint32Array:Uint16Array})});let o=this.getAttributeManager(),c=!0;o.remove([\"instancePickingColors\"]),o.add({indices:{size:1,isIndexed:!0,update:this.calculateIndices,noAlloc:c},positions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:H3,accessor:\"getPolygon\",update:this.calculatePositions,noAlloc:c,shaderAttributes:{positions:{vertexOffset:0,divisor:0},instancePositions:{vertexOffset:0,divisor:1},nextPositions:{vertexOffset:1,divisor:1}}},vertexValid:{size:1,divisor:1,type:5121,update:this.calculateVertexValid,noAlloc:c},elevations:{size:1,transition:H3,accessor:\"getElevation\",shaderAttributes:{elevations:{divisor:0},instanceElevations:{divisor:1}}},fillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getFillColor\",defaultValue:q3,shaderAttributes:{fillColors:{divisor:0},instanceFillColors:{divisor:1}}},lineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getLineColor\",defaultValue:q3,shaderAttributes:{lineColors:{divisor:0},instanceLineColors:{divisor:1}}},pickingColors:{size:3,type:5121,accessor:(f,{index:_,target:w})=>this.encodePickingColor(f&&f.__source?f.__source.index:_,w),shaderAttributes:{pickingColors:{divisor:0},instancePickingColors:{divisor:1}}}})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;if.delete()),this.setState(this._getModels(this.context.gl)),n.invalidateAll()}}updateGeometry({props:t,oldProps:r,changeFlags:i}){if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPolygon)){let{polygonTesselator:n}=this.state,o=t.data.attributes||{};n.updateGeometry({data:t.data,normalize:t._normalize,geometryBuffer:o.getPolygon,buffers:o,getGeometry:t.getPolygon,positionFormat:t.positionFormat,wrapLongitude:t.wrapLongitude,resolution:this.context.viewport.resolution,fp64:this.use64bitPositions(),dataChanged:i.dataChanged,full3d:t._full3d}),this.setState({numInstances:n.instanceCount,startIndices:n.vertexStarts}),i.dataChanged||this.getAttributeManager().invalidateAll()}}_getModels(t){let{id:r,filled:i,extruded:s}=this.props,n,o;if(i){let c=this.getShaders(\"top\");c.defines.NON_INSTANCED_MODEL=1,n=new fn(t,{...c,id:\"\".concat(r,\"-top\"),drawMode:4,attributes:{vertexPositions:new Float32Array([0,1])},uniforms:{isWireframe:!1,isSideVertex:!1},vertexCount:0,isIndexed:!0})}return s&&(o=new fn(t,{...this.getShaders(\"side\"),id:\"\".concat(r,\"-side\"),geometry:new $n({drawMode:1,vertexCount:4,attributes:{vertexPositions:{size:2,value:new Float32Array([1,0,0,0,0,1,1,1])}}}),instanceCount:0,isInstanced:1}),o.userData.excludeAttributes={indices:!0}),{models:[o,n].filter(Boolean),topModel:n,sideModel:o}}calculateIndices(t){let{polygonTesselator:r}=this.state;t.startIndices=r.indexStarts,t.value=r.get(\"indices\")}calculatePositions(t){let{polygonTesselator:r}=this.state;t.startIndices=r.vertexStarts,t.value=r.get(\"positions\")}calculateVertexValid(t){t.value=this.state.polygonTesselator.get(\"vertexValid\")}};G(wc,\"defaultProps\",Npt);G(wc,\"layerName\",\"SolidPolygonLayer\");function Z3({data:e,getIndex:t,dataRange:r,replace:i}){let{startRow:s=0,endRow:n=1/0}=r,o=e.length,c=o,f=o;for(let R=0;RR&&N>=s&&(c=R),N>=n){f=R;break}}let _=c,I=f-c!==i.length?e.slice(f):void 0;for(let R=0;Re.polygon},getFillColor:{type:\"accessor\",value:Upt},getLineColor:{type:\"accessor\",value:qq},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0},lf=class extends Ni{initializeState(){this.state={paths:[]},this.props.getLineDashArray&&or.removed(\"getLineDashArray\",\"PathStyleExtension\")()}updateState({changeFlags:t}){let r=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getPolygon);if(r&&Array.isArray(t.dataChanged)){let i=this.state.paths.slice(),s=t.dataChanged.map(n=>Z3({data:i,getIndex:o=>o.__source.index,dataRange:n,replace:this._getPaths(n)}));this.setState({paths:i,pathsDiff:s})}else r&&this.setState({paths:this._getPaths(),pathsDiff:null})}_getPaths(t={}){let{data:r,getPolygon:i,positionFormat:s,_normalize:n}=this.props,o=[],c=s===\"XY\"?2:3,{startRow:f,endRow:_}=t,{iterable:w,objectInfo:I}=Jc(r,f,_);for(let R of w){I.index++;let N=i(R,I);n&&(N=G3(N,c));let{holeIndices:j}=N,Q=N.positions||N;if(j)for(let et=0;et<=j.length;et++){let Y=Q.slice(j[et-1]||0,j[et]||Q.length);o.push(this.getSubLayerRow({path:Y},R,I.index))}else o.push(this.getSubLayerRow({path:Q},R,I.index))}return o}renderLayers(){let{data:t,_dataDiff:r,stroked:i,filled:s,extruded:n,wireframe:o,_normalize:c,_windingOrder:f,elevationScale:_,transitions:w,positionFormat:I}=this.props,{lineWidthUnits:R,lineWidthScale:N,lineWidthMinPixels:j,lineWidthMaxPixels:Q,lineJointRounded:et,lineMiterLimit:Y,lineDashJustified:K}=this.props,{getFillColor:J,getLineColor:ut,getLineWidth:Et,getLineDashArray:kt,getElevation:Xt,getPolygon:qt,updateTriggers:le,material:ue}=this.props,{paths:De,pathsDiff:Ke}=this.state,rr=this.getSubLayerClass(\"fill\",wc),Sr=this.getSubLayerClass(\"stroke\",bc),Li=this.shouldRenderSubLayer(\"fill\",De)&&new rr({_dataDiff:r,extruded:n,elevationScale:_,filled:s,wireframe:o,_normalize:c,_windingOrder:f,getElevation:Xt,getFillColor:J,getLineColor:n&&o?ut:qq,material:ue,transitions:w},this.getSubLayerProps({id:\"fill\",updateTriggers:le&&{getPolygon:le.getPolygon,getElevation:le.getElevation,getFillColor:le.getFillColor,lineColors:n&&o,getLineColor:le.getLineColor}}),{data:t,positionFormat:I,getPolygon:qt}),oo=!n&&i&&this.shouldRenderSubLayer(\"stroke\",De)&&new Sr({_dataDiff:Ke&&(()=>Ke),widthUnits:R,widthScale:N,widthMinPixels:j,widthMaxPixels:Q,jointRounded:et,miterLimit:Y,dashJustified:K,_pathType:\"loop\",transitions:w&&{getWidth:w.getLineWidth,getColor:w.getLineColor,getPath:w.getPolygon},getColor:this.getSubLayerAccessor(ut),getWidth:this.getSubLayerAccessor(Et),getDashArray:this.getSubLayerAccessor(kt)},this.getSubLayerProps({id:\"stroke\",updateTriggers:le&&{getWidth:le.getLineWidth,getColor:le.getLineColor,getDashArray:le.getLineDashArray}}),{data:De,positionFormat:I,getPath:zl=>zl.path});return[!n&&Li,oo,n&&Li]}};G(lf,\"layerName\",\"PolygonLayer\");G(lf,\"defaultProps\",Vpt);function Zq(e,t){if(!e)return null;let r=\"startIndices\"in e?e.startIndices[t]:t,i=e.featureIds.value[r];return r!==-1?jpt(e,i,r):null}function jpt(e,t,r){let i={properties:{...e.properties[t]}};for(let s in e.numericProps)i.properties[s]=e.numericProps[s].value[r];return i}function Yq(e,t){let r={points:null,lines:null,polygons:null};for(let i in r){let s=e[i].globalFeatureIds.value;r[i]=new Uint8ClampedArray(s.length*3);let n=[];for(let o=0;o 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var dB=192/256,$q=[],Gpt={getIconOffsets:{type:\"accessor\",value:e=>e.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:\"color\",value:[0,0,0,255]}},Gg=class extends Ep{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return{...super.getShaders(),fs:Qq}}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:\"getIconOffsets\"},instancePickingColors:{type:5121,size:3,accessor:(r,{index:i,target:s})=>this.encodePickingColor(i,s)}})}updateState(t){super.updateState(t);let{props:r,oldProps:i}=t,{outlineColor:s}=r;s!==i.outlineColor&&(s=s.map(n=>n/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!r.sdf&&r.outlineWidth&&or.warn(\"\".concat(this.id,\": fontSettings.sdf is required to render outline\"))()}draw(t){let{sdf:r,smoothing:i,outlineWidth:s}=this.props,{outlineColor:n}=this.state,o=s?Math.max(i,dB*(1-s)):-1;if(t.uniforms={...t.uniforms,sdfBuffer:dB,outlineBuffer:o,gamma:i,sdf:!!r,outlineColor:n},super.draw(t),r&&s){let{iconManager:c}=this.state;c.getTexture()&&this.state.model.draw({uniforms:{outlineBuffer:dB}})}}getInstanceOffset(t){return t?Array.from(t).flatMap(r=>super.getInstanceOffset(r)):$q}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).flatMap(r=>super.getInstanceIconFrame(r)):$q}};G(Gg,\"defaultProps\",Gpt);G(Gg,\"layerName\",\"MultiIconLayer\");var rS=class{constructor({fontSize:t=24,buffer:r=3,radius:i=8,cutoff:s=.25,fontFamily:n=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:c=\"normal\"}={}){this.buffer=r,this.cutoff=s,this.radius=i;let f=this.size=t+r*4,_=this._createCanvas(f),w=this.ctx=_.getContext(\"2d\",{willReadFrequently:!0});w.font=`${c} ${o} ${t}px ${n}`,w.textBaseline=\"alphabetic\",w.textAlign=\"left\",w.fillStyle=\"black\",this.gridOuter=new Float64Array(f*f),this.gridInner=new Float64Array(f*f),this.f=new Float64Array(f),this.z=new Float64Array(f+1),this.v=new Uint16Array(f)}_createCanvas(t){let r=document.createElement(\"canvas\");return r.width=r.height=t,r}draw(t){let{width:r,actualBoundingBoxAscent:i,actualBoundingBoxDescent:s,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(t),c=Math.ceil(i),f=0,_=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),w=Math.min(this.size-this.buffer,c+Math.ceil(s)),I=_+2*this.buffer,R=w+2*this.buffer,N=Math.max(I*R,0),j=new Uint8ClampedArray(N),Q={data:j,width:I,height:R,glyphWidth:_,glyphHeight:w,glyphTop:c,glyphLeft:f,glyphAdvance:r};if(_===0||w===0)return Q;let{ctx:et,buffer:Y,gridInner:K,gridOuter:J}=this;et.clearRect(Y,Y,_,w),et.fillText(t,Y,Y+c);let ut=et.getImageData(Y,Y,_,w);J.fill(1e20,0,N),K.fill(0,0,N);for(let Et=0;Et0?le*le:0,K[qt]=le<0?le*le:0}}Xq(J,0,0,I,R,I,this.f,this.v,this.z),Xq(K,Y,Y,_,w,I,this.f,this.v,this.z);for(let Et=0;Et-1);f++,n[f]=c,o[f]=_,o[f+1]=1e20}for(let c=0,f=0;cs&&(_=0,f++),n[I]={x:_+i,y:c+f*w+i,width:R,height:w,layoutWidth:R,layoutHeight:r},_+=R+i*2}return{mapping:n,xOffset:_,yOffset:c+f*w,canvasHeight:qpt(c+(f+1)*w)}}function tZ(e,t,r,i){let s=0;for(let o=t;oi&&(oc){let I=tZ(e,c,f,s);_+I>i&&(oi&&(I=eZ(e,c,f,i,s,n),o=n[n.length-1])),c=f,_+=I}return _}function Ypt(e,t,r,i,s=0,n){n===void 0&&(n=e.length);let o=[];return t===\"break-all\"?eZ(e,s,n,r,i,o):Zpt(e,s,n,r,i,o),o}function Qpt(e,t,r,i,s,n){let o=0,c=0;for(let f=t;f0,I=[0,0],R=[0,0],N=0,j=0,Q=0;for(let Y=0;Y<=o;Y++){let K=n[Y];if((K===`\n`||Y===o)&&(Q=Y),Q>j){let J=w?Ypt(n,r,i,s,j,Q):Hpt;for(let ut=0;ut<=J.length;ut++){let Et=ut===0?j:J[ut-1],kt=ut1||f>0){let N=e.constructor;R=new N(_);for(let j=0;j<_;j++)R[j]=e[j*c+f]}for(let N=0;N=0&&this._order.splice(r,1)}_appendOrder(t){this._order.push(t)}};function $pt(){let e=[];for(let t=32;t<128;t++)e.push(String.fromCharCode(t));return e}var Wg={fontFamily:\"Monaco, monospace\",fontWeight:\"normal\",characterSet:$pt(),fontSize:64,buffer:4,sdf:!1,cutoff:.25,radius:12,smoothing:.1},nZ=1024,sZ=.9,oZ=1.2,lZ=3,Y3=new ex(lZ);function Xpt(e,t){let r;typeof t==\"string\"?r=new Set(Array.from(t)):r=new Set(t);let i=Y3.get(e);if(!i)return r;for(let s in i.mapping)r.has(s)&&r.delete(s);return r}function Kpt(e,t){for(let r=0;r=lZ,\"Invalid cache limit\"),Y3=new ex(e)}var iS=class{constructor(){G(this,\"props\",{...Wg}),G(this,\"_key\",void 0),G(this,\"_atlas\",void 0)}get texture(){return this._atlas}get mapping(){return this._atlas&&this._atlas.mapping}get scale(){let{fontSize:t,buffer:r}=this.props;return(t*oZ+r*2)/t}setProps(t={}){Object.assign(this.props,t),this._key=this._getKey();let r=Xpt(this._key,this.props.characterSet),i=Y3.get(this._key);if(i&&r.size===0){this._atlas!==i&&(this._atlas=i);return}let s=this._generateFontAtlas(r,i);this._atlas=s,Y3.set(this._key,s)}_generateFontAtlas(t,r){let{fontFamily:i,fontWeight:s,fontSize:n,buffer:o,sdf:c,radius:f,cutoff:_}=this.props,w=r&&r.data;w||(w=document.createElement(\"canvas\"),w.width=nZ);let I=w.getContext(\"2d\",{willReadFrequently:!0});aZ(I,i,n,s);let{mapping:R,canvasHeight:N,xOffset:j,yOffset:Q}=Jq({getFontWidth:et=>I.measureText(et).width,fontHeight:n*oZ,buffer:o,characterSet:t,maxCanvasWidth:nZ,...r&&{mapping:r.mapping,xOffset:r.xOffset,yOffset:r.yOffset}});if(w.height!==N){let et=I.getImageData(0,0,w.width,w.height);w.height=N,I.putImageData(et,0,0)}if(aZ(I,i,n,s),c){let et=new rS({fontSize:n,buffer:o,radius:f,cutoff:_,fontFamily:i,fontWeight:\"\".concat(s)});for(let Y of t){let{data:K,width:J,height:ut,glyphTop:Et}=et.draw(Y);R[Y].width=J,R[Y].layoutOffsetY=n*sZ-Et;let kt=I.createImageData(J,ut);Kpt(K,kt),I.putImageData(kt,R[Y].x,R[Y].y)}}else for(let et of t)I.fillText(et,R[et].x,R[et].y+o+n*sZ);return{xOffset:j,yOffset:Q,mapping:R,data:w,width:w.width,height:w.height}}_getKey(){let{fontFamily:t,fontWeight:r,fontSize:i,buffer:s,sdf:n,radius:o,cutoff:c}=this.props;return n?\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s,\" \").concat(o,\" \").concat(c):\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s)}};var uZ=`#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var hZ=`#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Jpt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:\"array\",value:[0,0,0,0]},getPosition:{type:\"accessor\",value:e=>e.position},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},getBoundingRect:{type:\"accessor\",value:[0,0,0,0]},getFillColor:{type:\"accessor\",value:[0,0,0,255]},getLineColor:{type:\"accessor\",value:[0,0,0,255]},getLineWidth:{type:\"accessor\",value:1}},Hg=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:uZ,fs:hZ,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instanceRects:{size:4,accessor:\"getBoundingRect\"},instancePixelOffsets:{size:2,transition:!0,accessor:\"getPixelOffset\"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){super.updateState(t);let{changeFlags:r}=t;if(r.extensionsChanged){var i;let{gl:s}=this.context;(i=this.state.model)===null||i===void 0||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{billboard:r,sizeScale:i,sizeUnits:s,sizeMinPixels:n,sizeMaxPixels:o,getLineWidth:c}=this.props,{padding:f}=this.props;f.length<4&&(f=[f[0],f[1],f[0],f[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:!!c,padding:f,sizeUnits:po[s],sizeScale:i,sizeMinPixels:n,sizeMaxPixels:o}).draw()}_getModel(t){let r=[0,0,1,0,1,1,0,1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Hg,\"defaultProps\",Jpt);G(Hg,\"layerName\",\"TextBackgroundLayer\");var fZ={start:1,middle:0,end:-1},dZ={top:1,center:0,bottom:-1},pB=[0,0,0,255],tAt=1,eAt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:\"accessor\",value:[255,255,255,255]},getBorderColor:{type:\"accessor\",value:pB},getBorderWidth:{type:\"accessor\",value:0},backgroundPadding:{type:\"array\",value:[0,0,0,0]},characterSet:{type:\"object\",value:Wg.characterSet},fontFamily:Wg.fontFamily,fontWeight:Wg.fontWeight,lineHeight:tAt,outlineWidth:{type:\"number\",value:0,min:0},outlineColor:{type:\"color\",value:pB},fontSettings:{type:\"object\",value:{},compare:1},wordBreak:\"break-word\",maxWidth:{type:\"number\",value:-1},getText:{type:\"accessor\",value:e=>e.text},getPosition:{type:\"accessor\",value:e=>e.position},getColor:{type:\"accessor\",value:pB},getSize:{type:\"accessor\",value:32},getAngle:{type:\"accessor\",value:0},getTextAnchor:{type:\"accessor\",value:\"middle\"},getAlignmentBaseline:{type:\"accessor\",value:\"center\"},getPixelOffset:{type:\"accessor\",value:[0,0]},backgroundColor:{deprecatedFor:[\"background\",\"getBackgroundColor\"]}},cf=class extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0),G(this,\"getBoundingRect\",(r,i)=>{let{size:[s,n]}=this.transformParagraph(r,i),{fontSize:o}=this.state.fontAtlasManager.props;s/=o,n/=o;let{getTextAnchor:c,getAlignmentBaseline:f}=this.props,_=fZ[typeof c==\"function\"?c(r,i):c],w=dZ[typeof f==\"function\"?f(r,i):f];return[(_-1)*s/2,(w-1)*n/2,s,n]}),G(this,\"getIconOffsets\",(r,i)=>{let{getTextAnchor:s,getAlignmentBaseline:n}=this.props,{x:o,y:c,rowWidth:f,size:[_,w]}=this.transformParagraph(r,i),I=fZ[typeof s==\"function\"?s(r,i):s],R=dZ[typeof n==\"function\"?n(r,i):n],N=o.length,j=new Array(N*2),Q=0;for(let et=0;et0&&or.warn(\"v8.9 breaking change: TextLayer maxWidth is now relative to text size\")()}updateState(t){let{props:r,oldProps:i,changeFlags:s}=t;(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||r.lineHeight!==i.lineHeight||r.wordBreak!==i.wordBreak||r.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(){let{fontSettings:t,fontFamily:r,fontWeight:i}=this.props,{fontAtlasManager:s,characterSet:n}=this.state,o={...t,characterSet:n,fontFamily:r,fontWeight:i};if(!s.mapping)return s.setProps(o),!0;for(let c in o)if(o[c]!==s.props[c])return s.setProps(o),!0;return!1}_updateText(){var t;let{data:r,characterSet:i}=this.props,s=(t=r.attributes)===null||t===void 0?void 0:t.getText,{getText:n}=this.props,o=r.startIndices,c,f=i===\"auto\"&&new Set;if(s&&o){let{texts:_,characterCount:w}=iZ({...ArrayBuffer.isView(s)?{value:s}:s,length:r.length,startIndices:o,characterSet:f});c=w,n=(I,{index:R})=>_[R]}else{let{iterable:_,objectInfo:w}=Jc(r);o=[0],c=0;for(let I of _){w.index++;let R=Array.from(n(I,w)||\"\");f&&R.forEach(f.add,f),c+=R.length,o.push(c)}}this.setState({getText:n,startIndices:o,numInstances:c,characterSet:f||i})}transformParagraph(t,r){let{fontAtlasManager:i}=this.state,s=i.mapping,n=this.state.getText,{wordBreak:o,lineHeight:c,maxWidth:f}=this.props,_=n(t,r)||\"\";return rZ(_,c,o,f*i.props.fontSize,s)}renderLayers(){let{startIndices:t,numInstances:r,getText:i,fontAtlasManager:{scale:s,texture:n,mapping:o},styleVersion:c}=this.state,{data:f,_dataDiff:_,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,getBackgroundColor:Q,getBorderColor:et,getBorderWidth:Y,backgroundPadding:K,background:J,billboard:ut,fontSettings:Et,outlineWidth:kt,outlineColor:Xt,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke,updateTriggers:rr}=this.props,Sr=this.getSubLayerClass(\"characters\",Gg),Li=this.getSubLayerClass(\"background\",Hg);return[J&&new Li({getFillColor:Q,getLineColor:et,getLineWidth:Y,padding:K,getPosition:w,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getSize:Ke.getSize,getFillColor:Ke.getBackgroundColor,getLineColor:Ke.getBorderColor,getLineWidth:Ke.getBorderWidth,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"background\",updateTriggers:{getPosition:rr.getPosition,getAngle:rr.getAngle,getSize:rr.getSize,getFillColor:rr.getBackgroundColor,getLineColor:rr.getBorderColor,getLineWidth:rr.getBorderWidth,getPixelOffset:rr.getPixelOffset,getBoundingRect:{getText:rr.getText,getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f.attributes&&f.attributes.background?{length:f.length,attributes:f.attributes.background}:f,_dataDiff:_,autoHighlight:!1,getBoundingRect:this.getBoundingRect}),new Sr({sdf:Et.sdf,smoothing:Number.isFinite(Et.smoothing)?Et.smoothing:Wg.smoothing,outlineWidth:kt/(Et.radius||Wg.radius),outlineColor:Xt,iconAtlas:n,iconMapping:o,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt*s,sizeUnits:le,sizeMinPixels:ue*s,sizeMaxPixels:De*s,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getColor:Ke.getColor,getSize:Ke.getSize,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"characters\",updateTriggers:{all:rr.getText,getPosition:rr.getPosition,getAngle:rr.getAngle,getColor:rr.getColor,getSize:rr.getSize,getPixelOffset:rr.getPixelOffset,getIconOffsets:{getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f,_dataDiff:_,startIndices:t,numInstances:r,getIconOffsets:this.getIconOffsets,getIcon:i})]}static set fontAtlasCacheLimit(t){cZ(t)}};G(cf,\"defaultProps\",eAt);G(cf,\"layerName\",\"TextLayer\");var nS={circle:{type:Ku,props:{filled:\"filled\",stroked:\"stroked\",lineWidthMaxPixels:\"lineWidthMaxPixels\",lineWidthMinPixels:\"lineWidthMinPixels\",lineWidthScale:\"lineWidthScale\",lineWidthUnits:\"lineWidthUnits\",pointRadiusMaxPixels:\"radiusMaxPixels\",pointRadiusMinPixels:\"radiusMinPixels\",pointRadiusScale:\"radiusScale\",pointRadiusUnits:\"radiusUnits\",pointAntialiasing:\"antialiasing\",pointBillboard:\"billboard\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\",getLineWidth:\"getLineWidth\",getPointRadius:\"getRadius\"}},icon:{type:Ep,props:{iconAtlas:\"iconAtlas\",iconMapping:\"iconMapping\",iconSizeMaxPixels:\"sizeMaxPixels\",iconSizeMinPixels:\"sizeMinPixels\",iconSizeScale:\"sizeScale\",iconSizeUnits:\"sizeUnits\",iconAlphaCutoff:\"alphaCutoff\",iconBillboard:\"billboard\",getIcon:\"getIcon\",getIconAngle:\"getAngle\",getIconColor:\"getColor\",getIconPixelOffset:\"getPixelOffset\",getIconSize:\"getSize\"}},text:{type:cf,props:{textSizeMaxPixels:\"sizeMaxPixels\",textSizeMinPixels:\"sizeMinPixels\",textSizeScale:\"sizeScale\",textSizeUnits:\"sizeUnits\",textBackground:\"background\",textBackgroundPadding:\"backgroundPadding\",textFontFamily:\"fontFamily\",textFontWeight:\"fontWeight\",textLineHeight:\"lineHeight\",textMaxWidth:\"maxWidth\",textOutlineColor:\"outlineColor\",textOutlineWidth:\"outlineWidth\",textWordBreak:\"wordBreak\",textCharacterSet:\"characterSet\",textBillboard:\"billboard\",textFontSettings:\"fontSettings\",getText:\"getText\",getTextAngle:\"getAngle\",getTextColor:\"getColor\",getTextPixelOffset:\"getPixelOffset\",getTextSize:\"getSize\",getTextAnchor:\"getTextAnchor\",getTextAlignmentBaseline:\"getAlignmentBaseline\",getTextBackgroundColor:\"getBackgroundColor\",getTextBorderColor:\"getBorderColor\",getTextBorderWidth:\"getBorderWidth\"}}},sS={type:bc,props:{lineWidthUnits:\"widthUnits\",lineWidthScale:\"widthScale\",lineWidthMinPixels:\"widthMinPixels\",lineWidthMaxPixels:\"widthMaxPixels\",lineJointRounded:\"jointRounded\",lineCapRounded:\"capRounded\",lineMiterLimit:\"miterLimit\",lineBillboard:\"billboard\",getLineColor:\"getColor\",getLineWidth:\"getWidth\"}},Q3={type:wc,props:{extruded:\"extruded\",filled:\"filled\",wireframe:\"wireframe\",elevationScale:\"elevationScale\",material:\"material\",_full3d:\"_full3d\",getElevation:\"getElevation\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\"}};function rx({type:e,props:t}){let r={};for(let i in t)r[i]=e.defaultProps[t[i]];return r}function $3(e,t){let{transitions:r,updateTriggers:i}=e.props,s={updateTriggers:{},transitions:r&&{getPosition:r.geometry}};for(let n in t){let o=t[n],c=e.props[n];n.startsWith(\"get\")&&(c=e.getSubLayerAccessor(c),s.updateTriggers[o]=i[n],r&&(s.transitions[o]=r[n])),s[o]=c}return s}function AZ(e){if(Array.isArray(e))return e;switch(or.assert(e.type,\"GeoJSON does not have type\"),e.type){case\"Feature\":return[e];case\"FeatureCollection\":return or.assert(Array.isArray(e.features),\"GeoJSON does not have features array\"),e.features;default:return[{geometry:e}]}}function AB(e,t,r={}){let i={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},{startRow:s=0,endRow:n=e.length}=r;for(let o=s;o{c.push(r({geometry:{type:\"Point\",coordinates:I}},i,s))});break;case\"LineString\":f.push(r({geometry:e},i,s));break;case\"MultiLineString\":o.forEach(I=>{f.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"Polygon\":_.push(r({geometry:e},i,s)),o.forEach(I=>{w.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"MultiPolygon\":o.forEach(I=>{_.push(r({geometry:{type:\"Polygon\",coordinates:I}},i,s)),I.forEach(R=>{w.push(r({geometry:{type:\"LineString\",coordinates:R}},i,s))})});break;default:}}var rAt={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function iAt(e,t){let r=rAt[e];for(or.assert(r,\"Unknown GeoJSON type \".concat(e));t&&--r>0;)t=t[0];return t&&Number.isFinite(t[0])}function mZ(){return{points:{},lines:{},polygons:{},polygonsOutline:{}}}function X3(e){return e.geometry.coordinates}function gZ(e,t){let r=mZ(),{pointFeatures:i,lineFeatures:s,polygonFeatures:n,polygonOutlineFeatures:o}=e;return r.points.data=i,r.points._dataDiff=t.pointFeatures&&(()=>t.pointFeatures),r.points.getPosition=X3,r.lines.data=s,r.lines._dataDiff=t.lineFeatures&&(()=>t.lineFeatures),r.lines.getPath=X3,r.polygons.data=n,r.polygons._dataDiff=t.polygonFeatures&&(()=>t.polygonFeatures),r.polygons.getPolygon=X3,r.polygonsOutline.data=o,r.polygonsOutline._dataDiff=t.polygonOutlineFeatures&&(()=>t.polygonOutlineFeatures),r.polygonsOutline.getPath=X3,r}function _Z(e,t){let r=mZ(),{points:i,lines:s,polygons:n}=e,o=Yq(e,t);return r.points.data={length:i.positions.value.length/i.positions.size,attributes:{...i.attributes,getPosition:i.positions,instancePickingColors:{size:3,value:o.points}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},r.lines.data={length:s.pathIndices.value.length-1,startIndices:s.pathIndices.value,attributes:{...s.attributes,getPath:s.positions,instancePickingColors:{size:3,value:o.lines}},properties:s.properties,numericProps:s.numericProps,featureIds:s.featureIds},r.lines._pathType=\"open\",r.polygons.data={length:n.polygonIndices.value.length-1,startIndices:n.polygonIndices.value,attributes:{...n.attributes,getPolygon:n.positions,pickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygons._normalize=!1,n.triangles&&(r.polygons.data.attributes.indices=n.triangles.value),r.polygonsOutline.data={length:n.primitivePolygonIndices.value.length-1,startIndices:n.primitivePolygonIndices.value,attributes:{...n.attributes,getPath:n.positions,instancePickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygonsOutline._pathType=\"open\",r}var nAt=[\"points\",\"linestrings\",\"polygons\"],sAt={...rx(nS.circle),...rx(nS.icon),...rx(nS.text),...rx(sS),...rx(Q3),stroked:!0,filled:!0,extruded:!1,wireframe:!1,_full3d:!1,iconAtlas:{type:\"object\",value:null},iconMapping:{type:\"object\",value:{}},getIcon:{type:\"accessor\",value:e=>e.properties.icon},getText:{type:\"accessor\",value:e=>e.properties.text},pointType:\"circle\",getRadius:{deprecatedFor:\"getPointRadius\"}},Mm=class extends Ni{initializeState(){this.state={layerProps:{},features:{}}}updateState({props:t,changeFlags:r}){if(!r.dataChanged)return;let{data:i}=this.props,s=i&&\"points\"in i&&\"polygons\"in i&&\"lines\"in i;this.setState({binary:s}),s?this._updateStateBinary({props:t,changeFlags:r}):this._updateStateJSON({props:t,changeFlags:r})}_updateStateBinary({props:t,changeFlags:r}){let i=_Z(t.data,this.encodePickingColor);this.setState({layerProps:i})}_updateStateJSON({props:t,changeFlags:r}){let i=AZ(t.data),s=this.getSubLayerRow.bind(this),n={},o={};if(Array.isArray(r.dataChanged)){let f=this.state.features;for(let _ in f)n[_]=f[_].slice(),o[_]=[];for(let _ of r.dataChanged){let w=AB(i,s,_);for(let I in f)o[I].push(Z3({data:n[I],getIndex:R=>R.__source.index,dataRange:_,replace:w[I]}))}}else n=AB(i,s);let c=gZ(n,o);this.setState({features:n,featuresDiff:o,layerProps:c})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i,sourceLayer:s}=r;return r.featureType=nAt.find(n=>s.id.startsWith(\"\".concat(this.id,\"-\").concat(n,\"-\"))),i>=0&&s.id.startsWith(\"\".concat(this.id,\"-points-text\"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}_updateAutoHighlight(t){let r=\"\".concat(this.id,\"-points-\"),i=t.featureType===\"points\";for(let s of this.getSubLayers())s.id.startsWith(r)===i&&s.updateAutoHighlight(t)}_renderPolygonLayer(){let{extruded:t,wireframe:r}=this.props,{layerProps:i}=this.state,s=\"polygons-fill\",n=this.shouldRenderSubLayer(s,i.polygons.data)&&this.getSubLayerClass(s,Q3.type);if(n){let o=$3(this,Q3.props),c=t&&r;return c||delete o.getLineColor,o.updateTriggers.lineColors=c,new n(o,this.getSubLayerProps({id:s,updateTriggers:o.updateTriggers}),i.polygons)}return null}_renderLineLayers(){let{extruded:t,stroked:r}=this.props,{layerProps:i}=this.state,s=\"polygons-stroke\",n=\"linestrings\",o=!t&&r&&this.shouldRenderSubLayer(s,i.polygonsOutline.data)&&this.getSubLayerClass(s,sS.type),c=this.shouldRenderSubLayer(n,i.lines.data)&&this.getSubLayerClass(n,sS.type);if(o||c){let f=$3(this,sS.props);return[o&&new o(f,this.getSubLayerProps({id:s,updateTriggers:f.updateTriggers}),i.polygonsOutline),c&&new c(f,this.getSubLayerProps({id:n,updateTriggers:f.updateTriggers}),i.lines)]}return null}_renderPointLayers(){let{pointType:t}=this.props,{layerProps:r,binary:i}=this.state,{highlightedObjectIndex:s}=this.props;!i&&Number.isFinite(s)&&(s=r.points.data.findIndex(c=>c.__source.index===s));let n=new Set(t.split(\"+\")),o=[];for(let c of n){let f=\"points-\".concat(c),_=nS[c],w=_&&this.shouldRenderSubLayer(f,r.points.data)&&this.getSubLayerClass(f,_.type);if(w){let I=$3(this,_.props),R=r.points;if(c===\"text\"&&i){let{instancePickingColors:N,...j}=R.data.attributes;R={...R,data:{...R.data,attributes:j}}}o.push(new w(I,this.getSubLayerProps({id:f,updateTriggers:I.updateTriggers,highlightedObjectIndex:s}),R))}}return o}renderLayers(){let{extruded:t}=this.props,r=this._renderPolygonLayer(),i=this._renderLineLayers(),s=this._renderPointLayers();return[!t&&r,i,s,t&&r]}getSubLayerAccessor(t){let{binary:r}=this.state;return!r||typeof t!=\"function\"?super.getSubLayerAccessor(t):(i,s)=>{let{data:n,index:o}=s,c=Zq(n,o);return t(c,s)}}};G(Mm,\"layerName\",\"GeoJsonLayer\");G(Mm,\"defaultProps\",sAt);var QXt=1/Math.PI*180,$Xt=1/180*Math.PI,oAt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...oAt}};var oS=globalThis.mathgl.config;function aS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ix(e,t,r){let i=oS.EPSILON;r&&(oS.EPSILON=r);try{if(e===t)return!0;if(aS(e)&&aS(t)){if(e.length!==t.length)return!1;for(let s=0;s{t([r,i],[s,n],o,c)},this.options):xZ(this.points,t,this.options)}modifyWindingDirection(t){return this.isFlatArray?mB(this.points,t,this.options):vZ(this.points,t,this.options)}};function vB(e,t,r=2,i,s=\"xy\"){let n=t&&t.length,o=n?t[0]*r:e.length,c=wZ(e,0,o,r,!0,i&&i[0],s),f=[];if(!c||c.next===c.prev)return f;let _,w,I,R,N,j,Q;if(n&&(c=dAt(e,t,c,r,i,s)),e.length>80*r){R=w=e[0],N=I=e[1];for(let et=r;etw&&(w=j),Q>I&&(I=Q);_=Math.max(w-R,I-N),_=_!==0?32767/_:0}return lS(c,f,r,R,N,_,0),f}function wZ(e,t,r,i,s,n,o){let c,f;n===void 0&&(n=nx(e,{start:t,end:r,size:i,plane:o}));let _=qg[o[0]],w=qg[o[1]];if(s===n<0)for(c=t;c=t;c-=i)f=bZ(c,e[c+_],e[c+w],f);return f&&eI(f,f.next)&&(uS(f),f=f.next),f}function Zg(e,t){if(!e)return e;t||(t=e);let r=e,i;do if(i=!1,!r.steiner&&(eI(r,r.next)||ys(r.prev,r,r.next)===0)){if(uS(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function lS(e,t,r,i,s,n,o){if(!e)return;!o&&n&&_At(e,i,s,n);let c=e,f,_;for(;e.prev!==e.next;){if(f=e.prev,_=e.next,n?uAt(e,i,s,n):cAt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),uS(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=hAt(Zg(e),t,r),lS(e,t,r,i,s,n,2)):o===2&&fAt(e,t,r,i,s,n):lS(Zg(e),t,r,i,s,n,1);break}}}function cAt(e){let t=e.prev,r=e,i=e.next;if(ys(t,r,i)>=0)return!1;let s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;for(;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&ox(s,c,n,f,o,_,j.x,j.y)&&ys(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function uAt(e,t,r,i){let s=e.prev,n=e,o=e.next;if(ys(s,n,o)>=0)return!1;let c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=yB(N,j,t,r,i),K=yB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;for(;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function hAt(e,t,r){let i=e;do{let s=i.prev,n=i.next.next;!eI(s,n)&&SZ(s,i,i.next,n)&&cS(s,n)&&cS(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),uS(i),uS(i.next),i=e=n),i=i.next}while(i!==e);return Zg(i)}function fAt(e,t,r,i,s,n){let o=e;do{let c=o.next.next;for(;c!==o.prev;){if(o.i!==c.i&&xAt(o,c)){let f=TZ(o,c);o=Zg(o,o.next),f=Zg(f,f.next),lS(o,t,r,i,s,n,0),lS(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function dAt(e,t,r,i,s,n){let o=[],c,f,_,w,I;for(c=0,f=t.length;c=r.next.y&&r.next.y!==r.y){let R=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(R<=i&&R>n&&(n=R,o=r.x=r.x&&r.x>=f&&i!==r.x&&ox(s<_?i:n,s,f,_,s<_?n:i,s,r.x,r.y)&&(I=Math.abs(s-r.y)/(i-r.x),cS(r,e)&&(Io.x||r.x===o.x&&gAt(o,r)))&&(o=r,w=I)),r=r.next;while(r!==c);return o}function gAt(e,t){return ys(e.prev,e,t.prev)<0&&ys(t.next,e,e.next)<0}function _At(e,t,r,i){let s=e;do s.z===0&&(s.z=yB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,yAt(s)}function yAt(e){let t,r,i=1,s,n,o,c,f,_;do{for(n=e,e=null,_=null,s=0;n;){for(s++,c=n,o=0,r=0;r0||f>0&&c;)o!==0&&(f===0||!c||n.z<=c.z)?(t=n,n=n.nextZ,o--):(t=c,c=c.nextZ,f--),_?_.nextZ=t:e=t,t.prevZ=_,_=t;n=c}_.nextZ=null,i*=2}while(s>1);return e}function yB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function vAt(e){let t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function xAt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!bAt(e,t)&&(cS(e,t)&&cS(t,e)&&wAt(e,t)&&(ys(e.prev,e,t.prev)||ys(e,t.prev,t))||eI(e,t)&&ys(e.prev,e,e.next)>0&&ys(t.prev,t,t.next)>0)}function ys(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eI(e,t){return e.x===t.x&&e.y===t.y}function SZ(e,t,r,i){let s=tI(ys(e,t,r)),n=tI(ys(e,t,i)),o=tI(ys(r,i,e)),c=tI(ys(r,i,t));return!!(s!==n&&o!==c||s===0&&J3(e,r,t)||n===0&&J3(e,i,t)||o===0&&J3(r,e,i)||c===0&&J3(r,t,i))}function J3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function tI(e){return e>0?1:e<0?-1:0}function bAt(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&SZ(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function cS(e,t){return ys(e.prev,e,e.next)<0?ys(e,t,e.next)>=0&&ys(e,e.prev,t)>=0:ys(e,t,e.prev)<0||ys(e,e.next,t)<0}function wAt(e,t){let r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function TZ(e,t){let r=new hS(e.i,e.x,e.y),i=new hS(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function bZ(e,t,r,i){let s=new hS(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function uS(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}var hS=class{constructor(t,r,i){G(this,\"i\",void 0),G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"prev\",null),G(this,\"next\",null),G(this,\"z\",0),G(this,\"prevZ\",null),G(this,\"nextZ\",null),G(this,\"steiner\",!1),this.i=t,this.x=r,this.y=i}};function PZ(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"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\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}var uf=1,hf=2,Ip=3,IZ=4,fS=5,xB=6378137,CZ=6356752314e-3,bB=.0066943799901413165,Yg=484813681109536e-20,de=Math.PI/2,LZ=.16666666666666666,kZ=.04722222222222222,RZ=.022156084656084655,Se=1e-10,vs=.017453292519943295,Sc=57.29577951308232,Ui=Math.PI/4,Em=Math.PI*2,xs=3.14159265359;var Rl={};Rl.greenwich=0;Rl.lisbon=-9.131906111111;Rl.paris=2.337229166667;Rl.bogota=-74.080916666667;Rl.madrid=-3.687938888889;Rl.rome=12.452333333333;Rl.bern=7.439583333333;Rl.jakarta=106.807719444444;Rl.ferro=-17.666666666667;Rl.brussels=4.367975;Rl.stockholm=18.058277777778;Rl.athens=23.7163375;Rl.oslo=10.722916666667;var DZ={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}};var OZ=/[\\s_\\-\\/\\(\\)]/g;function uu(e,t){if(e[t])return e[t];for(var r=Object.keys(e),i=t.toLowerCase().replace(OZ,\"\"),s=-1,n,o;++s=this.text.length)return;e=this.text[this.place++]}switch(this.state){case pS:return this.neutral(e);case FZ:return this.keyword(e);case rI:return this.quoted(e);case NZ:return this.afterquote(e);case zZ:return this.number(e);case wB:return}};Cp.prototype.afterquote=function(e){if(e==='\"'){this.word+='\"',this.state=rI;return}if(iI.test(e)){this.word=this.word.trim(),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in afterquote yet, index '+this.place)};Cp.prototype.afterItem=function(e){if(e===\",\"){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=pS;return}if(e===\"]\"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=pS,this.currentObject=this.stack.pop(),this.currentObject||(this.state=wB);return}};Cp.prototype.number=function(e){if(UZ.test(e)){this.word+=e;return}if(iI.test(e)){this.word=parseFloat(this.word),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in number yet, index '+this.place)};Cp.prototype.quoted=function(e){if(e==='\"'){this.state=NZ;return}this.word+=e};Cp.prototype.keyword=function(e){if(IAt.test(e)){this.word+=e;return}if(e===\"[\"){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=pS;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in keyword yet, index '+this.place)};Cp.prototype.neutral=function(e){if(PAt.test(e)){this.word=e,this.state=FZ;return}if(e==='\"'){this.word=\"\",this.state=rI;return}if(UZ.test(e)){this.word=e,this.state=zZ;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in neutral yet, index '+this.place)};Cp.prototype.output=function(){for(;this.place0?90:-90),e.lat_ts=e.lat1):!e.lat_ts&&e.lat0&&e.projName===\"Polar_Stereographic\"&&(e.lat_ts=e.lat0,e.lat0=dd(e.lat0>0?90:-90))}function nI(e){var t=BZ(e),r=t.shift(),i=t.shift();t.unshift([\"name\",i]),t.unshift([\"type\",r]);var s={};return Qg(t,s),RAt(s),s}function Ju(e){var t=this;if(arguments.length===2){var r=arguments[1];typeof r==\"string\"?r.charAt(0)===\"+\"?Ju[e]=dS(arguments[1]):Ju[e]=nI(arguments[1]):Ju[e]=r}else if(arguments.length===1){if(Array.isArray(e))return e.map(function(i){Array.isArray(i)?Ju.apply(t,i):Ju(i)});if(typeof e==\"string\"){if(e in Ju)return Ju[e]}else\"EPSG\"in e?Ju[\"EPSG:\"+e.EPSG]=e:\"ESRI\"in e?Ju[\"ESRI:\"+e.ESRI]=e:\"IAU2000\"in e?Ju[\"IAU2000:\"+e.IAU2000]=e:console.log(e);return}}PZ(Ju);var ax=Ju;function DAt(e){return typeof e==\"string\"}function OAt(e){return e in ax}var BAt=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];function FAt(e){return BAt.some(function(t){return e.indexOf(t)>-1})}var zAt=[\"3857\",\"900913\",\"3785\",\"102113\"];function NAt(e){var t=uu(e,\"authority\");if(t){var r=uu(t,\"epsg\");return r&&zAt.indexOf(r)>-1}}function UAt(e){var t=uu(e,\"extension\");if(t)return uu(t,\"proj4\")}function VAt(e){return e[0]===\"+\"}function jAt(e){if(DAt(e)){if(OAt(e))return ax[e];if(FAt(e)){var t=nI(e);if(NAt(t))return ax[\"EPSG:3857\"];var r=UAt(t);return r?dS(r):t}if(VAt(e))return dS(e)}else return e}var jZ=jAt;function SB(e,t){e=e||{};var r,i;if(!t)return e;for(i in t)r=t[i],r!==void 0&&(e[i]=r);return e}function ol(e,t,r){var i=e*t;return r/Math.sqrt(1-i*i)}function pd(e){return e<0?-1:1}function Ce(e){return Math.abs(e)<=xs?e:e-pd(e)*Em}function Dl(e,t,r){var i=e*r,s=.5*e;return i=Math.pow((1-i)/(1+i),s),Math.tan(.5*(de-t))/i}function Lp(e,t){for(var r=.5*e,i,s,n=de-2*Math.atan(t),o=0;o<=15;o++)if(i=e*Math.sin(n),s=de-2*Math.atan(t*Math.pow((1-i)/(1+i),r))-n,n+=s,Math.abs(s)<=1e-10)return n;return-9999}function GAt(){var e=this.b/this.a;this.es=1-e*e,\"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=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function WAt(e){var t=e.x,r=e.y;if(r*Sc>90&&r*Sc<-90&&t*Sc>180&&t*Sc<-180)return null;var i,s;if(Math.abs(Math.abs(r)-de)<=Se)return null;if(this.sphere)i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(Ui+.5*r));else{var n=Math.sin(r),o=Dl(this.e,r,n);i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0-this.a*this.k0*Math.log(o)}return e.x=i,e.y=s,e}function HAt(e){var t=e.x-this.x0,r=e.y-this.y0,i,s;if(this.sphere)s=de-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else{var n=Math.exp(-r/(this.a*this.k0));if(s=Lp(this.e,n),s===-9999)return null}return i=Ce(this.long0+t/(this.a*this.k0)),e.x=i,e.y=s,e}var qAt=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],GZ={init:GAt,forward:WAt,inverse:HAt,names:qAt};function ZAt(){}function WZ(e){return e}var YAt=[\"longlat\",\"identity\"],HZ={init:ZAt,forward:WZ,inverse:WZ,names:YAt};var QAt=[GZ,HZ],sI={},oI=[];function qZ(e,t){var r=oI.length;return e.names?(oI[r]=e,e.names.forEach(function(i){sI[i.toLowerCase()]=r}),this):(console.log(t),!0)}function $At(e){if(!e)return!1;var t=e.toLowerCase();if(typeof sI[t]<\"u\"&&oI[sI[t]])return oI[sI[t]]}function XAt(){QAt.forEach(qZ)}var ZZ={start:XAt,add:qZ,get:$At};var Xr={};Xr.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"};Xr.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"};Xr.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"};Xr.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"};Xr.airy={a:6377563396e-3,b:635625691e-2,ellipseName:\"Airy 1830\"};Xr.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"};Xr.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"};Xr.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:\"Modified Airy\"};Xr.andrae={a:637710443e-2,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"};Xr.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"};Xr.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"};Xr.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:\"Bessel 1841\"};Xr.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"};Xr.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:\"Clarke 1866\"};Xr.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"};Xr.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:\"Clarke 1880 (IGN)\"};Xr.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:\"Clarke 1858\"};Xr.CPM={a:63757387e-1,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"};Xr.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"};Xr.engelis={a:637813605e-2,rf:298.2566,ellipseName:\"Engelis 1985\"};Xr.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:\"Everest 1830\"};Xr.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:\"Everest 1948\"};Xr.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:\"Everest 1956\"};Xr.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:\"Everest 1969\"};Xr.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"};Xr.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"};Xr.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"};Xr.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"};Xr.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"};Xr.hough={a:6378270,rf:297,ellipseName:\"Hough\"};Xr.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"};Xr.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"};Xr.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"};Xr.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"};Xr.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:\"New International 1967\"};Xr.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"};Xr.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"};Xr.SEasia={a:6378155,b:63567733205e-4,ellipseName:\"Southeast Asia\"};Xr.walbeck={a:6376896,b:63558348467e-4,ellipseName:\"Walbeck\"};Xr.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"};Xr.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"};Xr.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"};var YZ=Xr.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"};Xr.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"};function QZ(e,t,r,i){var s=e*e,n=t*t,o=(s-n)/s,c=0;i?(e*=1-o*(LZ+o*(kZ+o*RZ)),s=e*e,o=0):c=Math.sqrt(o);var f=(s-n)/n;return{es:o,e:c,ep2:f}}function $Z(e,t,r,i,s){if(!e){var n=uu(Xr,i);n||(n=YZ),e=n.a,t=n.b,r=n.rf}return r&&!t&&(t=(1-1/r)*e),(r===0||Math.abs(e-t)3&&(c.datum_params[3]!==0||c.datum_params[4]!==0||c.datum_params[5]!==0||c.datum_params[6]!==0)&&(c.datum_type=hf,c.datum_params[3]*=Yg,c.datum_params[4]*=Yg,c.datum_params[5]*=Yg,c.datum_params[6]=c.datum_params[6]/1e6+1)),o&&(c.datum_type=Ip,c.grids=o),c.a=r,c.b=i,c.es=s,c.ep2=n,c}var XZ=KAt;var KZ={};function MB(e,t){var r=new DataView(t),i=tmt(r),s=emt(r,i),n=rmt(r,s,i),o={header:s,subgrids:n};return KZ[e]=o,o}function JZ(e){if(e===void 0)return null;var t=e.split(\",\");return t.map(JAt)}function JAt(e){if(e.length===0)return null;var t=e[0]===\"@\";return t&&(e=e.slice(1)),e===\"null\"?{name:\"null\",mandatory:!t,grid:null,isNull:!0}:{name:e,mandatory:!t,grid:KZ[e]||null,isNull:!1}}function lx(e){return e/3600*Math.PI/180}function tmt(e){var t=e.getInt32(8,!1);return t===11?!1:(t=e.getInt32(8,!0),t!==11&&console.warn(\"Failed to detect nadgrid endian-ness, defaulting to little-endian\"),!0)}function emt(e,t){return{nFields:e.getInt32(8,t),nSubgridFields:e.getInt32(24,t),nSubgrids:e.getInt32(40,t),shiftType:TB(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,t),fromSemiMinorAxis:e.getFloat64(136,t),toSemiMajorAxis:e.getFloat64(152,t),toSemiMinorAxis:e.getFloat64(168,t)}}function TB(e,t,r){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(t,r)))}function rmt(e,t,r){for(var i=176,s=[],n=0;n5e-11?!1:e.datum_type===uf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]:e.datum_type===hf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]:!0}function aI(e,t,r){var i=e.x,s=e.y,n=e.z?e.z:0,o,c,f,_;if(s<-de&&s>-1.001*de)s=-de;else if(s>de&&s<1.001*de)s=de;else{if(s<-de)return{x:-1/0,y:-1/0,z:e.z};if(s>de)return{x:1/0,y:1/0,z:e.z}}return i>Math.PI&&(i-=2*Math.PI),c=Math.sin(s),_=Math.cos(s),f=c*c,o=r/Math.sqrt(1-t*f),{x:(o+n)*_*Math.cos(i),y:(o+n)*_*Math.sin(i),z:(o*(1-t)+n)*c}}function lI(e,t,r,i){var s=1e-12,n=s*s,o=30,c,f,_,w,I,R,N,j,Q,et,Y,K,J,ut=e.x,Et=e.y,kt=e.z?e.z:0,Xt,qt,le;if(c=Math.sqrt(ut*ut+Et*Et),f=Math.sqrt(ut*ut+Et*Et+kt*kt),c/rn&&Ji.y||j>i.x||Yc&&Math.abs(f.y)>c);if(o<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),i;i.x=Ce(n.x+r.ll[0]),i.y=n.y+r.ll[1]}else isNaN(n.x)||(i.x=e.x+n.x,i.y=e.y+n.y);return i}function nY(e,t){var r={x:e.x/t.del[0],y:e.y/t.del[1]},i={x:Math.floor(r.x),y:Math.floor(r.y)},s={x:r.x-1*i.x,y:r.y-1*i.y},n={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=t.lim[0]||i.y<0||i.y>=t.lim[1])return n;o=i.y*t.lim[0]+i.x;var c={x:t.cvs[o][0],y:t.cvs[o][1]};o++;var f={x:t.cvs[o][0],y:t.cvs[o][1]};o+=t.lim[0];var _={x:t.cvs[o][0],y:t.cvs[o][1]};o--;var w={x:t.cvs[o][0],y:t.cvs[o][1]},I=s.x*s.y,R=s.x*(1-s.y),N=(1-s.x)*(1-s.y),j=(1-s.x)*s.y;return n.x=N*c.x+R*f.x+j*w.x+I*_.x,n.y=N*c.y+R*f.y+j*w.y+I*_.y,n}function EB(e,t,r){var i=r.x,s=r.y,n=r.z||0,o,c,f,_={};for(f=0;f<3;f++)if(!(t&&f===2&&r.z===void 0))switch(f===0?(o=i,\"ew\".indexOf(e.axis[f])!==-1?c=\"x\":c=\"y\"):f===1?(o=s,\"ns\".indexOf(e.axis[f])!==-1?c=\"y\":c=\"x\"):(o=n,c=\"z\"),e.axis[f]){case\"e\":_[c]=o;break;case\"w\":_[c]=-o;break;case\"n\":_[c]=o;break;case\"s\":_[c]=-o;break;case\"u\":r[c]!==void 0&&(_.z=o);break;case\"d\":r[c]!==void 0&&(_.z=-o);break;default:return null}return _}function uI(e){var t={x:e[0],y:e[1]};return e.length>2&&(t.z=e[2]),e.length>3&&(t.m=e[3]),t}function aY(e){oY(e.x),oY(e.y)}function oY(e){if(typeof Number.isFinite==\"function\"){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(typeof e!=\"number\"||e!==e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}function amt(e,t){return(e.datum.datum_type===uf||e.datum.datum_type===hf||e.datum.datum_type===Ip)&&t.datumCode!==\"WGS84\"||(t.datum.datum_type===uf||t.datum.datum_type===hf||t.datum.datum_type===Ip)&&e.datumCode!==\"WGS84\"}function $g(e,t,r,i){var s;Array.isArray(r)?r=uI(r):r={x:r.x,y:r.y,z:r.z,m:r.m};var n=r.z!==void 0;if(aY(r),e.datum&&t.datum&&amt(e,t)&&(s=new Pm(\"WGS84\"),r=$g(e,s,r,i),e=s),i&&e.axis!==\"enu\"&&(r=EB(e,!1,r)),e.projName===\"longlat\")r={x:r.x*vs,y:r.y*vs,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),r=e.inverse(r),!r)return;if(e.from_greenwich&&(r.x+=e.from_greenwich),r=sY(e.datum,t.datum,r),!!r)return t.from_greenwich&&(r={x:r.x-t.from_greenwich,y:r.y,z:r.z||0}),t.projName===\"longlat\"?r={x:r.x*Sc,y:r.y*Sc,z:r.z||0}:(r=t.forward(r),t.to_meter&&(r={x:r.x/t.to_meter,y:r.y/t.to_meter,z:r.z||0})),i&&t.axis!==\"enu\"?EB(t,!0,r):(r&&!n&&delete r.z,r)}var lY=Pm(\"WGS84\");function PB(e,t,r,i){var s,n,o;return Array.isArray(r)?(s=$g(e,t,r,i)||{x:NaN,y:NaN},r.length>2?typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"?typeof s.z==\"number\"?[s.x,s.y,s.z].concat(r.splice(3)):[s.x,s.y,r[2]].concat(r.splice(3)):[s.x,s.y].concat(r.splice(2)):[s.x,s.y]):(n=$g(e,t,r,i),o=Object.keys(r),o.length===2||o.forEach(function(c){if(typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"){if(c===\"x\"||c===\"y\"||c===\"z\")return}else if(c===\"x\"||c===\"y\")return;n[c]=r[c]}),n)}function cY(e){return e instanceof Pm?e:e.oProj?e.oProj:Pm(e)}function lmt(e,t,r){e=cY(e);var i=!1,s;return typeof t>\"u\"?(t=e,e=lY,i=!0):(typeof t.x<\"u\"||Array.isArray(t))&&(r=t,t=e,e=lY,i=!0),t=cY(t),r?PB(e,t,r):(s={forward:function(n,o){return PB(e,t,n,o)},inverse:function(n,o){return PB(t,e,n,o)}},i&&(s.oProj=t),s)}var Tc=lmt;var uY=6,fY=\"AJSAJS\",dY=\"AFAFAF\",ux=65,Mc=73,th=79,AS=86,mS=90,pY={forward:CB,inverse:cmt,toPoint:LB};function CB(e,t){return t=t||5,fmt(umt({lat:e[1],lon:e[0]}),t)}function cmt(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function LB(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function IB(e){return e*(Math.PI/180)}function hY(e){return 180*(e/Math.PI)}function umt(e){var t=e.lat,r=e.lon,i=6378137,s=.00669438,n=.9996,o,c,f,_,w,I,R,N=IB(t),j=IB(r),Q,et;et=Math.floor((r+180)/6)+1,r===180&&(et=60),t>=56&&t<64&&r>=3&&r<12&&(et=32),t>=72&&t<84&&(r>=0&&r<9?et=31:r>=9&&r<21?et=33:r>=21&&r<33?et=35:r>=33&&r<42&&(et=37)),o=(et-1)*6-180+3,Q=IB(o),c=s/(1-s),f=i/Math.sqrt(1-s*Math.sin(N)*Math.sin(N)),_=Math.tan(N)*Math.tan(N),w=c*Math.cos(N)*Math.cos(N),I=Math.cos(N)*(j-Q),R=i*((1-s/4-3*s*s/64-5*s*s*s/256)*N-(3*s/8+3*s*s/32+45*s*s*s/1024)*Math.sin(2*N)+(15*s*s/256+45*s*s*s/1024)*Math.sin(4*N)-35*s*s*s/3072*Math.sin(6*N));var Y=n*f*(I+(1-_+w)*I*I*I/6+(5-18*_+_*_+72*w-58*c)*I*I*I*I*I/120)+5e5,K=n*(R+f*Math.tan(N)*(I*I/2+(5-_+9*w+4*w*w)*I*I*I*I/24+(61-58*_+_*_+600*w-330*c)*I*I*I*I*I*I/720));return t<0&&(K+=1e7),{northing:Math.round(K),easting:Math.round(Y),zoneNumber:et,zoneLetter:hmt(t)}}function kB(e){var t=e.northing,r=e.easting,i=e.zoneLetter,s=e.zoneNumber;if(s<0||s>60)return null;var n=.9996,o=6378137,c=.00669438,f,_=(1-Math.sqrt(1-c))/(1+Math.sqrt(1-c)),w,I,R,N,j,Q,et,Y,K,J=r-5e5,ut=t;i<\"N\"&&(ut-=1e7),et=(s-1)*6-180+3,f=c/(1-c),Q=ut/n,Y=Q/(o*(1-c/4-3*c*c/64-5*c*c*c/256)),K=Y+(3*_/2-27*_*_*_/32)*Math.sin(2*Y)+(21*_*_/16-55*_*_*_*_/32)*Math.sin(4*Y)+151*_*_*_/96*Math.sin(6*Y),w=o/Math.sqrt(1-c*Math.sin(K)*Math.sin(K)),I=Math.tan(K)*Math.tan(K),R=f*Math.cos(K)*Math.cos(K),N=o*(1-c)/Math.pow(1-c*Math.sin(K)*Math.sin(K),1.5),j=J/(w*n);var Et=K-w*Math.tan(K)/N*(j*j/2-(5+3*I+10*R-4*R*R-9*f)*j*j*j*j/24+(61+90*I+298*R+45*I*I-252*f-3*R*R)*j*j*j*j*j*j/720);Et=hY(Et);var kt=(j-(1+2*I+R)*j*j*j/6+(5-2*R+28*I-3*R*R+8*f+24*I*I)*j*j*j*j*j/120)/Math.cos(K);kt=et+hY(kt);var Xt;if(e.accuracy){var qt=kB({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});Xt={top:qt.lat,right:qt.lon,bottom:Et,left:kt}}else Xt={lat:Et,lon:kt};return Xt}function hmt(e){var t=\"Z\";return 84>=e&&e>=72?t=\"X\":72>e&&e>=64?t=\"W\":64>e&&e>=56?t=\"V\":56>e&&e>=48?t=\"U\":48>e&&e>=40?t=\"T\":40>e&&e>=32?t=\"S\":32>e&&e>=24?t=\"R\":24>e&&e>=16?t=\"Q\":16>e&&e>=8?t=\"P\":8>e&&e>=0?t=\"N\":0>e&&e>=-8?t=\"M\":-8>e&&e>=-16?t=\"L\":-16>e&&e>=-24?t=\"K\":-24>e&&e>=-32?t=\"J\":-32>e&&e>=-40?t=\"H\":-40>e&&e>=-48?t=\"G\":-48>e&&e>=-56?t=\"F\":-56>e&&e>=-64?t=\"E\":-64>e&&e>=-72?t=\"D\":-72>e&&e>=-80&&(t=\"C\"),t}function fmt(e,t){var r=\"00000\"+e.easting,i=\"00000\"+e.northing;return e.zoneNumber+e.zoneLetter+dmt(e.easting,e.northing,e.zoneNumber)+r.substr(r.length-5,t)+i.substr(i.length-5,t)}function dmt(e,t,r){var i=AY(r),s=Math.floor(e/1e5),n=Math.floor(t/1e5)%20;return pmt(s,n,i)}function AY(e){var t=e%uY;return t===0&&(t=uY),t}function pmt(e,t,r){var i=r-1,s=fY.charCodeAt(i),n=dY.charCodeAt(i),o=s+e-1,c=n+t,f=!1;o>mS&&(o=o-mS+ux-1,f=!0),(o===Mc||sMc||(o>Mc||sth||(o>th||smS&&(o=o-mS+ux-1),c>AS?(c=c-AS+ux-1,f=!0):f=!1,(c===Mc||nMc||(c>Mc||nth||(c>th||nAS&&(c=c-AS+ux-1);var _=String.fromCharCode(o)+String.fromCharCode(c);return _}function mY(e){if(e&&e.length===0)throw\"MGRSPoint coverting from nothing\";for(var t=e.length,r=null,i=\"\",s,n=0;!/[A-Z]/.test(s=e.charAt(n));){if(n>=2)throw\"MGRSPoint bad conversion from: \"+e;i+=s,n++}var o=parseInt(i,10);if(n===0||n+3>t)throw\"MGRSPoint bad conversion from: \"+e;var c=e.charAt(n++);if(c<=\"A\"||c===\"B\"||c===\"Y\"||c>=\"Z\"||c===\"I\"||c===\"O\")throw\"MGRSPoint zone letter \"+c+\" not handled: \"+e;r=e.substring(n,n+=2);for(var f=AY(o),_=Amt(r.charAt(0),f),w=mmt(r.charAt(1),f);w0&&(Q=1e5/Math.pow(10,R),et=e.substring(n,n+R),N=parseFloat(et)*Q,Y=e.substring(n+R),j=parseFloat(Y)*Q),K=N+_,J=j+w,{easting:K,northing:J,zoneLetter:c,zoneNumber:o,accuracy:Q}}function Amt(e,t){for(var r=fY.charCodeAt(t-1),i=1e5,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>mS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function mmt(e,t){if(e>\"V\")throw\"MGRSPoint given invalid Northing \"+e;for(var r=dY.charCodeAt(t-1),i=0,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>AS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function gmt(e){var t;switch(e){case\"C\":t=11e5;break;case\"D\":t=2e6;break;case\"E\":t=28e5;break;case\"F\":t=37e5;break;case\"G\":t=46e5;break;case\"H\":t=55e5;break;case\"J\":t=64e5;break;case\"K\":t=73e5;break;case\"L\":t=82e5;break;case\"M\":t=91e5;break;case\"N\":t=0;break;case\"P\":t=8e5;break;case\"Q\":t=17e5;break;case\"R\":t=26e5;break;case\"S\":t=35e5;break;case\"T\":t=44e5;break;case\"U\":t=53e5;break;case\"V\":t=62e5;break;case\"W\":t=7e6;break;case\"X\":t=79e5;break;default:t=-1}if(t>=0)return t;throw\"Invalid zone letter: \"+e}function hx(e,t,r){if(!(this instanceof hx))return new hx(e,t,r);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if(typeof e==\"object\")this.x=e.x,this.y=e.y,this.z=e.z||0;else if(typeof e==\"string\"&&typeof t>\"u\"){var i=e.split(\",\");this.x=parseFloat(i[0],10),this.y=parseFloat(i[1],10),this.z=parseFloat(i[2],10)||0}else this.x=e,this.y=t,this.z=r||0;console.warn(\"proj4.Point will be removed in version 3, use proj4.toPoint\")}hx.fromMGRS=function(e){return new hx(LB(e))};hx.prototype.toMGRS=function(e){return CB([this.x,this.y],e)};var gY=hx;var _mt=1,ymt=.25,_Y=.046875,yY=.01953125,vY=.01068115234375,vmt=.75,xmt=.46875,bmt=.013020833333333334,wmt=.007120768229166667,Smt=.3645833333333333,Tmt=.005696614583333333,Mmt=.3076171875;function hI(e){var t=[];t[0]=_mt-e*(ymt+e*(_Y+e*(yY+e*vY))),t[1]=e*(vmt-e*(_Y+e*(yY+e*vY)));var r=e*e;return t[2]=r*(xmt-e*(bmt+e*wmt)),r*=e,t[3]=r*(Smt-e*Tmt),t[4]=r*e*Mmt,t}function Xg(e,t,r,i){return r*=t,t*=t,i[0]*e-r*(i[1]+t*(i[2]+t*(i[3]+t*i[4])))}var Emt=20;function fI(e,t,r){for(var i=1/(1-t),s=e,n=Emt;n;--n){var o=Math.sin(s),c=1-t*o*o;if(c=(Xg(s,o,Math.cos(s),r)-e)*(c*Math.sqrt(c))*i,s-=c,Math.abs(c)Se?Math.tan(r):0,Q=Math.pow(j,2),et=Math.pow(Q,2);s=1-this.es*Math.pow(c,2),w=w/Math.sqrt(s);var Y=Xg(r,c,f,this.en);n=this.a*(this.k0*w*(1+I/6*(1-Q+R+I/20*(5-18*Q+et+14*R-58*Q*R+I/42*(61+179*et-et*Q-479*Q)))))+this.x0,o=this.a*(this.k0*(Y-this.ml0+c*i*w/2*(1+I/12*(5-Q+9*R+4*N+I/30*(61+et-58*Q+270*R-330*Q*R+I/56*(1385+543*et-et*Q-3111*Q))))))+this.y0}else{var _=f*Math.sin(i);if(Math.abs(Math.abs(_)-1)=1){if(_-1>Se)return 93;o=0}else o=Math.acos(o);r<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return e.x=n,e.y=o,e}function Cmt(e){var t,r,i,s,n=(e.x-this.x0)*(1/this.a),o=(e.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+o/this.k0,r=fI(t,this.es,this.en),Math.abs(r)Se?Math.tan(r):0,j=this.ep2*Math.pow(R,2),Q=Math.pow(j,2),et=Math.pow(N,2),Y=Math.pow(et,2);t=1-this.es*Math.pow(I,2);var K=n*Math.sqrt(t)/this.k0,J=Math.pow(K,2);t=t*N,i=r-t*J/(1-this.es)*.5*(1-J/12*(5+3*et-9*j*et+j-4*Q-J/30*(61+90*et-252*j*et+45*Y+46*j-J/56*(1385+3633*et+4095*Y+1574*Y*et)))),s=Ce(this.long0+K*(1-J/6*(1+2*et+j-J/20*(5+28*et+24*Y+8*j*et+6*j-J/42*(61+662*et+1320*Y+720*Y*et))))/R)}else i=de*pd(o),s=0;else{var c=Math.exp(n/this.k0),f=.5*(c-1/c),_=this.lat0+o/this.k0,w=Math.cos(_);t=Math.sqrt((1-Math.pow(w,2))/(1+Math.pow(f,2))),i=Math.asin(t),o<0&&(i=-i),f===0&&w===0?s=0:s=Ce(Math.atan2(f,w)+this.long0)}return e.x=s,e.y=i,e}var Lmt=[\"Fast_Transverse_Mercator\",\"Fast Transverse Mercator\"],fx={init:Pmt,forward:Imt,inverse:Cmt,names:Lmt};function dI(e){var t=Math.exp(e);return t=(t-1/t)/2,t}function Ta(e,t){e=Math.abs(e),t=Math.abs(t);var r=Math.max(e,t),i=Math.min(e,t)/(r||1);return r*Math.sqrt(1+Math.pow(i,2))}function xY(e){var t=1+e,r=t-1;return r===0?e:e*Math.log(t)/r}function bY(e){var t=Math.abs(e);return t=xY(t*(1+t/(Ta(1,t)+1))),e<0?-t:t}function pI(e,t){for(var r=2*Math.cos(2*t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return t+o*Math.sin(2*t)}function wY(e,t){for(var r=2*Math.cos(t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return Math.sin(t)*o}function SY(e){var t=Math.exp(e);return t=(t+1/t)/2,t}function RB(e,t,r){for(var i=Math.sin(t),s=Math.cos(t),n=dI(r),o=SY(r),c=2*s*o,f=-2*i*n,_=e.length-1,w=e[_],I=0,R=0,N=0,j,Q;--_>=0;)j=R,Q=I,R=w,I=N,w=-j+c*R-f*I+e[_],N=-Q+f*R+c*I;return c=i*o,f=s*n,[c*w-f*N,c*N+f*w]}function kmt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION[\"Fast_Transverse_Mercator\"] in the WKT.');this.approx&&(fx.init.apply(this),this.forward=fx.forward,this.inverse=fx.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),t=e/(2-e),r=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),r=r*t,this.cgb[1]=r*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=r*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),r=r*t,this.cgb[2]=r*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=r*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),r=r*t,this.cgb[3]=r*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=r*(1237/630+t*(-12/5+t*(-24832/14175))),r=r*t,this.cgb[4]=r*(4174/315+t*(-144838/6237)),this.cbg[4]=r*(-734/315+t*(109598/31185)),r=r*t,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=r*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=r*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),r=r*t,this.utg[2]=r*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=r*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),r=r*t,this.utg[3]=r*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=r*(49561/161280+t*(-179/168+t*(6601661/7257600))),r=r*t,this.utg[4]=r*(-4583/161280+t*(108847/3991680)),this.gtu[4]=r*(34729/80640+t*(-3418889/1995840)),r=r*t,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=r*(212378941/319334400);var i=pI(this.cbg,this.lat0);this.Zb=-this.Qn*(i+wY(this.gtu,2*i))}function Rmt(e){var t=Ce(e.x-this.long0),r=e.y;r=pI(this.cbg,r);var i=Math.sin(r),s=Math.cos(r),n=Math.sin(t),o=Math.cos(t);r=Math.atan2(i,o*s),t=Math.atan2(n*s,Ta(i,s*o)),t=bY(Math.tan(t));var c=RB(this.gtu,2*r,2*t);r=r+c[0],t=t+c[1];var f,_;return Math.abs(t)<=2.623395162778?(f=this.a*(this.Qn*t)+this.x0,_=this.a*(this.Qn*r+this.Zb)+this.y0):(f=1/0,_=1/0),e.x=f,e.y=_,e}function Dmt(e){var t=(e.x-this.x0)*(1/this.a),r=(e.y-this.y0)*(1/this.a);r=(r-this.Zb)/this.Qn,t=t/this.Qn;var i,s;if(Math.abs(t)<=2.623395162778){var n=RB(this.utg,2*r,2*t);r=r+n[0],t=t+n[1],t=Math.atan(dI(t));var o=Math.sin(r),c=Math.cos(r),f=Math.sin(t),_=Math.cos(t);r=Math.atan2(o*_,Ta(f,_*c)),t=Math.atan2(f,_*c),i=Ce(t+this.long0),s=pI(this.cgb,r)}else i=1/0,s=1/0;return e.x=i,e.y=s,e}var Omt=[\"Extended_Transverse_Mercator\",\"Extended Transverse Mercator\",\"etmerc\",\"Transverse_Mercator\",\"Transverse Mercator\",\"Gauss Kruger\",\"Gauss_Kruger\",\"tmerc\"],dx={init:kmt,forward:Rmt,inverse:Dmt,names:Omt};function TY(e,t){if(e===void 0){if(e=Math.floor((Ce(t)+Math.PI)*30/Math.PI)+1,e<0)return 0;if(e>60)return 60}return e}var Bmt=\"etmerc\";function Fmt(){var e=TY(this.zone,this.long0);if(e===void 0)throw new Error(\"unknown utm zone\");this.lat0=0,this.long0=(6*Math.abs(e)-183)*vs,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,dx.init.apply(this),this.forward=dx.forward,this.inverse=dx.inverse}var zmt=[\"Universal Transverse Mercator System\",\"utm\"],MY={init:Fmt,names:zmt,dependsOn:Bmt};function AI(e,t){return Math.pow((1-e)/(1+e),t)}var Nmt=20;function Umt(){var e=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Ui)/(Math.pow(Math.tan(.5*this.lat0+Ui),this.C)*AI(this.e*e,this.ratexp))}function Vmt(e){var t=e.x,r=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Ui),this.C)*AI(this.e*Math.sin(r),this.ratexp))-de,e.x=this.C*t,e}function jmt(e){for(var t=1e-14,r=e.x/this.C,i=e.y,s=Math.pow(Math.tan(.5*i+Ui)/this.K,1/this.C),n=Nmt;n>0&&(i=2*Math.atan(s*AI(this.e*Math.sin(e.y),-.5*this.e))-de,!(Math.abs(i-e.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Se&&Math.abs(Math.cos(this.lat_ts))>Se&&(this.k0=.5*this.cons*ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Dl(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ol(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-de,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function $mt(e){var t=e.x,r=e.y,i=Math.sin(r),s=Math.cos(r),n,o,c,f,_,w,I=Ce(t-this.long0);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=Se&&Math.abs(r+this.lat0)<=Se?(e.x=NaN,e.y=NaN,e):this.sphere?(n=2*this.k0/(1+this.sinlat0*i+this.coslat0*s*Math.cos(I)),e.x=this.a*n*s*Math.sin(I)+this.x0,e.y=this.a*n*(this.coslat0*i-this.sinlat0*s*Math.cos(I))+this.y0,e):(o=2*Math.atan(this.ssfn_(r,i,this.e))-de,f=Math.cos(o),c=Math.sin(o),Math.abs(this.coslat0)<=Se?(_=Dl(this.e,r*this.con,this.con*i),w=2*this.a*this.k0*_/this.cons,e.x=this.x0+w*Math.sin(t-this.long0),e.y=this.y0-this.con*w*Math.cos(t-this.long0),e):(Math.abs(this.sinlat0)0?t=Ce(this.long0+Math.atan2(e.x,-1*e.y)):t=Ce(this.long0+Math.atan2(e.x,e.y)):t=Ce(this.long0+Math.atan2(e.x*Math.sin(c),o*this.coslat0*Math.cos(c)-e.y*this.sinlat0*Math.sin(c))),e.x=t,e.y=r,e)}else if(Math.abs(this.coslat0)<=Se){if(o<=Se)return r=this.lat0,t=this.long0,e.x=t,e.y=r,e;e.x*=this.con,e.y*=this.con,i=o*this.cons/(2*this.a*this.k0),r=this.con*Lp(this.e,i),t=this.con*Ce(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else s=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,o<=Se?n=this.X0:(n=Math.asin(Math.cos(s)*this.sinX0+e.y*Math.sin(s)*this.cosX0/o),t=Ce(this.long0+Math.atan2(e.x*Math.sin(s),o*this.cosX0*Math.cos(s)-e.y*this.sinX0*Math.sin(s)))),r=-1*Lp(this.e,Math.tan(.5*(de+n)));return e.x=t,e.y=r,e}var Kmt=[\"stere\",\"Stereographic_South_Pole\",\"Polar Stereographic (variant B)\",\"Polar_Stereographic\"],PY={init:Qmt,forward:$mt,inverse:Xmt,names:Kmt,ssfn_:Ymt};function Jmt(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e),r=this.a,i=this.rf,s=1/i,n=2*s-Math.pow(s,2),o=this.e=Math.sqrt(n);this.R=this.k0*r*Math.sqrt(1-n)/(1-n*Math.pow(t,2)),this.alpha=Math.sqrt(1+n/(1-n)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(t/this.alpha);var c=Math.log(Math.tan(Math.PI/4+this.b0/2)),f=Math.log(Math.tan(Math.PI/4+e/2)),_=Math.log((1+o*t)/(1-o*t));this.K=c-this.alpha*f+this.alpha*o/2*_}function t0t(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),i=-this.alpha*(t+r)+this.K,s=2*(Math.atan(Math.exp(i))-Math.PI/4),n=this.alpha*(e.x-this.lambda0),o=Math.atan(Math.sin(n)/(Math.sin(this.b0)*Math.tan(s)+Math.cos(this.b0)*Math.cos(n))),c=Math.asin(Math.cos(this.b0)*Math.sin(s)-Math.sin(this.b0)*Math.cos(s)*Math.cos(n));return e.y=this.R/2*Math.log((1+Math.sin(c))/(1-Math.sin(c)))+this.y0,e.x=this.R*o+this.x0,e}function e0t(e){for(var t=e.x-this.x0,r=e.y-this.y0,i=t/this.R,s=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),n=Math.asin(Math.cos(this.b0)*Math.sin(s)+Math.sin(this.b0)*Math.cos(s)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(s))),c=this.lambda0+o/this.alpha,f=0,_=n,w=-1e3,I=0;Math.abs(_-w)>1e-7;){if(++I>20)return;f=1/this.alpha*(Math.log(Math.tan(Math.PI/4+n/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(_))/2)),w=_,_=2*Math.atan(Math.exp(f))-Math.PI/2}return e.x=c,e.y=_,e}var r0t=[\"somerc\"],IY={init:Jmt,forward:t0t,inverse:e0t,names:r0t};var px=1e-7;function i0t(e){var t=[\"Hotine_Oblique_Mercator\",\"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\"],r=typeof e.PROJECTION==\"object\"?Object.keys(e.PROJECTION)[0]:e.PROJECTION;return\"no_uoff\"in e||\"no_off\"in e||t.indexOf(r)!==-1}function n0t(){var e,t,r,i,s,n,o,c,f,_,w=0,I,R=0,N=0,j=0,Q=0,et=0,Y=0,K;this.no_off=i0t(this),this.no_rot=\"no_rot\"in this;var J=!1;\"alpha\"in this&&(J=!0);var ut=!1;if(\"rectified_grid_angle\"in this&&(ut=!0),J&&(Y=this.alpha),ut&&(w=this.rectified_grid_angle*vs),J||ut)R=this.longc;else if(N=this.long1,Q=this.lat1,j=this.long2,et=this.lat2,Math.abs(Q-et)<=px||(e=Math.abs(Q))<=px||Math.abs(e-de)<=px||Math.abs(Math.abs(this.lat0)-de)<=px||Math.abs(Math.abs(et)-de)<=px)throw new Error;var Et=1-this.es;t=Math.sqrt(Et),Math.abs(this.lat0)>Se?(c=Math.sin(this.lat0),r=Math.cos(this.lat0),e=1-this.es*c*c,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/Et),this.A=this.B*this.k0*t/e,i=this.B*t/(r*Math.sqrt(e)),s=i*i-1,s<=0?s=0:(s=Math.sqrt(s),this.lat0<0&&(s=-s)),this.E=s+=i,this.E*=Math.pow(Dl(this.e,this.lat0,c),this.B)):(this.B=1/t,this.A=this.k0,this.E=i=s=1),J||ut?(J?(I=Math.asin(Math.sin(Y)/i),ut||(w=Y)):(I=w,Y=Math.asin(i*Math.sin(I))),this.lam0=R-Math.asin(.5*(s-1/s)*Math.tan(I))/this.B):(n=Math.pow(Dl(this.e,Q,Math.sin(Q)),this.B),o=Math.pow(Dl(this.e,et,Math.sin(et)),this.B),s=this.E/n,f=(o-n)/(o+n),_=this.E*this.E,_=(_-o*n)/(_+o*n),e=N-j,e<-Math.pi?j-=Em:e>Math.pi&&(j+=Em),this.lam0=Ce(.5*(N+j)-Math.atan(_*Math.tan(.5*this.B*(N-j))/f)/this.B),I=Math.atan(2*Math.sin(this.B*Ce(N-this.lam0))/(s-1/s)),w=Y=Math.asin(i*Math.sin(I))),this.singam=Math.sin(I),this.cosgam=Math.cos(I),this.sinrot=Math.sin(w),this.cosrot=Math.cos(w),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,K=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(Y))),this.lat0<0&&(this.u_0=-this.u_0)),s=.5*I,this.v_pole_n=this.ArB*Math.log(Math.tan(Ui-s)),this.v_pole_s=this.ArB*Math.log(Math.tan(Ui+s))}function s0t(e){var t={},r,i,s,n,o,c,f,_;if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-de)>Se){if(o=this.E/Math.pow(Dl(this.e,e.y,Math.sin(e.y)),this.B),c=1/o,r=.5*(o-c),i=.5*(o+c),n=Math.sin(this.B*e.x),s=(r*this.singam-n*this.cosgam)/i,Math.abs(Math.abs(s)-1)0?this.v_pole_n:this.v_pole_s,f=this.ArB*e.y;return this.no_rot?(t.x=f,t.y=_):(f-=this.u_0,t.x=_*this.cosrot+f*this.sinrot,t.y=f*this.cosrot-_*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function o0t(e){var t,r,i,s,n,o,c,f={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(r=e.y,t=e.x):(r=e.x*this.cosrot-e.y*this.sinrot,t=e.y*this.cosrot+e.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*r),s=.5*(i-1/i),n=.5*(i+1/i),o=Math.sin(this.BrA*t),c=(o*this.cosgam+s*this.singam)/n,Math.abs(Math.abs(c)-1)Se?this.ns=Math.log(i/c)/Math.log(s/f):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=i/(this.ns*Math.pow(s,this.ns)),this.rh=this.a*this.f0*Math.pow(_,this.ns),this.title||(this.title=\"Lambert Conformal Conic\")}}function c0t(e){var t=e.x,r=e.y;Math.abs(2*Math.abs(r)-Math.PI)<=Se&&(r=pd(r)*(de-2*Se));var i=Math.abs(Math.abs(r)-de),s,n;if(i>Se)s=Dl(this.e,r,Math.sin(r)),n=this.a*this.f0*Math.pow(s,this.ns);else{if(i=r*this.ns,i<=0)return null;n=0}var o=this.ns*Ce(t-this.long0);return e.x=this.k0*(n*Math.sin(o))+this.x0,e.y=this.k0*(this.rh-n*Math.cos(o))+this.y0,e}function u0t(e){var t,r,i,s,n,o=(e.x-this.x0)/this.k0,c=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(o*o+c*c),r=1):(t=-Math.sqrt(o*o+c*c),r=-1);var f=0;if(t!==0&&(f=Math.atan2(r*o,r*c)),t!==0||this.ns>0){if(r=1/this.ns,i=Math.pow(t/(this.a*this.f0),r),s=Lp(this.e,i),s===-9999)return null}else s=-de;return n=Ce(f/this.ns+this.long0),e.x=n,e.y=s,e}var h0t=[\"Lambert Tangential Conformal Conic Projection\",\"Lambert_Conformal_Conic\",\"Lambert_Conformal_Conic_1SP\",\"Lambert_Conformal_Conic_2SP\",\"lcc\",\"Lambert Conic Conformal (1SP)\",\"Lambert Conic Conformal (2SP)\"],LY={init:l0t,forward:c0t,inverse:u0t,names:h0t};function f0t(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function d0t(e){var t,r,i,s,n,o,c,f=e.x,_=e.y,w=Ce(f-this.long0);return t=Math.pow((1+this.e*Math.sin(_))/(1-this.e*Math.sin(_)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(_/2+this.s45),this.alfa)/t)-this.s45),i=-w*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(s)),o=this.n*n,c=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(s/2+this.s45),this.n),e.y=c*Math.cos(o)/1,e.x=c*Math.sin(o)/1,this.czech||(e.y*=-1,e.x*=-1),e}function p0t(e){var t,r,i,s,n,o,c,f,_=e.x;e.x=e.y,e.y=_,this.czech||(e.y*=-1,e.x*=-1),o=Math.sqrt(e.x*e.x+e.y*e.y),n=Math.atan2(e.y,e.x),s=n/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(s)),r=Math.asin(Math.cos(i)*Math.sin(s)/Math.cos(t)),e.x=this.long0-r/this.alfa,c=t,f=0;var w=0;do e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(c))/(1-this.e*Math.sin(c)),this.e/2))-this.s45),Math.abs(c-e.y)<1e-10&&(f=1),c=e.y,w+=1;while(f===0&&w<15);return w>=15?null:e}var A0t=[\"Krovak\",\"krovak\"],kY={init:f0t,forward:d0t,inverse:p0t,names:A0t};function zo(e,t,r,i,s){return e*s-t*Math.sin(2*s)+r*Math.sin(4*s)-i*Math.sin(6*s)}function kp(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function Rp(e){return .375*e*(1+.25*e*(1+.46875*e))}function Dp(e){return .05859375*e*e*(1+.75*e)}function Op(e){return e*e*e*(35/3072)}function Bp(e,t,r){var i=t*r;return e/Math.sqrt(1-i*i)}function ff(e){return Math.abs(e)1e-7?(r=e*t,(1-e*e)*(t/(1-r*r)-.5/e*Math.log((1-r)/(1+r)))):2*t}var v0t=1,x0t=2,b0t=3,w0t=4;function S0t(){var e=Math.abs(this.lat0);if(Math.abs(e-de)0){var t;switch(this.qp=df(this.e,1),this.mmf=.5/(1-this.es),this.apa=R0t(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=df(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function T0t(e){var t,r,i,s,n,o,c,f,_,w,I=e.x,R=e.y;if(I=Ce(I-this.long0),this.sphere){if(n=Math.sin(R),w=Math.cos(R),i=Math.cos(I),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(r=this.mode===this.EQUIT?1+w*i:1+this.sinph0*n+this.cosph0*w*i,r<=Se)return null;r=Math.sqrt(2/r),t=r*w*Math.sin(I),r*=this.mode===this.EQUIT?n:this.cosph0*n-this.sinph0*w*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(R+this.lat0)=0?(t=(_=Math.sqrt(o))*s,r=i*(this.mode===this.S_POLE?_:-_)):t=r=0;break}}return e.x=this.a*t+this.x0,e.y=this.a*r+this.y0,e}function M0t(e){e.x-=this.x0,e.y-=this.y0;var t=e.x/this.a,r=e.y/this.a,i,s,n,o,c,f,_;if(this.sphere){var w=0,I,R=0;if(I=Math.sqrt(t*t+r*r),s=I*.5,s>1)return null;switch(s=2*Math.asin(s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(R=Math.sin(s),w=Math.cos(s)),this.mode){case this.EQUIT:s=Math.abs(I)<=Se?0:Math.asin(r*R/I),t*=R,r=w*I;break;case this.OBLIQ:s=Math.abs(I)<=Se?this.lat0:Math.asin(w*this.sinph0+r*R*this.cosph0/I),t*=R*this.cosph0,r=(w-Math.sin(s)*this.sinph0)*I;break;case this.N_POLE:r=-r,s=de-s;break;case this.S_POLE:s-=de;break}i=r===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,r)}else{if(_=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,r*=this.dd,f=Math.sqrt(t*t+r*r),f1&&(e=e>1?1:-1),Math.asin(e)}function B0t(){Math.abs(this.lat1+this.lat2)Se?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function F0t(e){var t=e.x,r=e.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var i=df(this.e3,this.sin_phi),s=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,n=this.ns0*Ce(t-this.long0),o=s*Math.sin(n)+this.x0,c=this.rh-s*Math.cos(n)+this.y0;return e.x=o,e.y=c,e}function z0t(e){var t,r,i,s,n,o;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),i=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),i=-1),s=0,t!==0&&(s=Math.atan2(i*e.x,i*e.y)),i=t*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(r=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,r)),n=Ce(s/this.ns0+this.long0),e.x=n,e.y=o,e}function N0t(e,t){var r,i,s,n,o,c=Ec(.5*t);if(e0||Math.abs(o)<=Se?(c=this.x0+this.a*n*r*Math.sin(i)/o,f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)/o):(c=this.x0+this.infinity_dist*r*Math.sin(i),f=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function G0t(e){var t,r,i,s,n,o;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(t=Math.sqrt(e.x*e.x+e.y*e.y))?(s=Math.atan2(t,this.rc),r=Math.sin(s),i=Math.cos(s),o=Ec(i*this.sin_p14+e.y*r*this.cos_p14/t),n=Math.atan2(e.x*r,t*this.cos_p14*i-e.y*this.sin_p14*r),n=Ce(this.long0+n)):(o=this.phic0,n=0),e.x=n,e.y=o,e}var W0t=[\"gnom\"],BY={init:V0t,forward:j0t,inverse:G0t,names:W0t};function FY(e,t){var r=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-r)<1e-6)return t<0?-1*de:de;for(var i=Math.asin(.5*t),s,n,o,c,f=0;f<30;f++)if(n=Math.sin(i),o=Math.cos(i),c=e*n,s=Math.pow(1-c*c,2)/(2*o)*(t/(1-e*e)-n/(1-c*c)+.5/e*Math.log((1-c)/(1+c))),i+=s,Math.abs(s)<=1e-10)return i;return NaN}function H0t(){this.sphere||(this.k0=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function q0t(e){var t=e.x,r=e.y,i,s,n=Ce(t-this.long0);if(this.sphere)i=this.x0+this.a*n*Math.cos(this.lat_ts),s=this.y0+this.a*Math.sin(r)/Math.cos(this.lat_ts);else{var o=df(this.e,Math.sin(r));i=this.x0+this.a*this.k0*n,s=this.y0+this.a*o*.5/this.k0}return e.x=i,e.y=s,e}function Z0t(e){e.x-=this.x0,e.y-=this.y0;var t,r;return this.sphere?(t=Ce(this.long0+e.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(r=FY(this.e,2*e.y*this.k0/this.a),t=Ce(this.long0+e.x/(this.a*this.k0))),e.x=t,e.y=r,e}var Y0t=[\"cea\"],zY={init:H0t,forward:q0t,inverse:Z0t,names:Y0t};function Q0t(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Equidistant Cylindrical (Plate Carre)\",this.rc=Math.cos(this.lat_ts)}function $0t(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s=ff(r-this.lat0);return e.x=this.x0+this.a*i*this.rc,e.y=this.y0+this.a*s,e}function X0t(e){var t=e.x,r=e.y;return e.x=Ce(this.long0+(t-this.x0)/(this.a*this.rc)),e.y=ff(this.lat0+(r-this.y0)/this.a),e}var K0t=[\"Equirectangular\",\"Equidistant_Cylindrical\",\"eqc\"],NY={init:Q0t,forward:$0t,inverse:X0t,names:K0t};var UY=20;function J0t(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=kp(this.es),this.e1=Rp(this.es),this.e2=Dp(this.es),this.e3=Op(this.es),this.ml0=this.a*zo(this.e0,this.e1,this.e2,this.e3,this.lat0)}function tgt(e){var t=e.x,r=e.y,i,s,n,o=Ce(t-this.long0);if(n=o*Math.sin(r),this.sphere)Math.abs(r)<=Se?(i=this.a*o,s=-1*this.a*this.lat0):(i=this.a*Math.sin(n)/Math.tan(r),s=this.a*(ff(r-this.lat0)+(1-Math.cos(n))/Math.tan(r)));else if(Math.abs(r)<=Se)i=this.a*o,s=-1*this.ml0;else{var c=Bp(this.a,this.e,Math.sin(r))/Math.tan(r);i=c*Math.sin(n),s=this.a*zo(this.e0,this.e1,this.e2,this.e3,r)-this.ml0+c*(1-Math.cos(n))}return e.x=i+this.x0,e.y=s+this.y0,e}function egt(e){var t,r,i,s,n,o,c,f,_;if(i=e.x-this.x0,s=e.y-this.y0,this.sphere)if(Math.abs(s+this.a*this.lat0)<=Se)t=Ce(i/this.a+this.long0),r=0;else{o=this.lat0+s/this.a,c=i*i/this.a/this.a+o*o,f=o;var w;for(n=UY;n;--n)if(w=Math.tan(f),_=-1*(o*(f*w+1)-f-.5*(f*f+c)*w)/((f-o)/w-1),f+=_,Math.abs(_)<=Se){r=f;break}t=Ce(this.long0+Math.asin(i*Math.tan(f)/this.a)/Math.sin(r))}else if(Math.abs(s+this.ml0)<=Se)r=0,t=Ce(this.long0+i/this.a);else{o=(this.ml0+s)/this.a,c=i*i/this.a/this.a+o*o,f=o;var I,R,N,j,Q;for(n=UY;n;--n)if(Q=this.e*Math.sin(f),I=Math.sqrt(1-Q*Q)*Math.tan(f),R=this.a*zo(this.e0,this.e1,this.e2,this.e3,f),N=this.e0-2*this.e1*Math.cos(2*f)+4*this.e2*Math.cos(4*f)-6*this.e3*Math.cos(6*f),j=R/this.a,_=(o*(I*j+1)-j-.5*I*(j*j+c))/(this.es*Math.sin(2*f)*(j*j+c-2*o*j)/(4*I)+(o-j)*(I*N-2/Math.sin(2*f))-N),f-=_,Math.abs(_)<=Se){r=f;break}I=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),t=Ce(this.long0+Math.asin(i*I/this.a)/Math.sin(r))}return e.x=t,e.y=r,e}var rgt=[\"Polyconic\",\"poly\"],VY={init:J0t,forward:tgt,inverse:egt,names:rgt};function igt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function ngt(e){var t,r=e.x,i=e.y,s=i-this.lat0,n=r-this.long0,o=s/Yg*1e-5,c=n,f=1,_=0;for(t=1;t<=10;t++)f=f*o,_=_+this.A[t]*f;var w=_,I=c,R=1,N=0,j,Q,et=0,Y=0;for(t=1;t<=6;t++)j=R*w-N*I,Q=N*w+R*I,R=j,N=Q,et=et+this.B_re[t]*R-this.B_im[t]*N,Y=Y+this.B_im[t]*R+this.B_re[t]*N;return e.x=Y*this.a+this.x0,e.y=et*this.a+this.y0,e}function sgt(e){var t,r=e.x,i=e.y,s=r-this.x0,n=i-this.y0,o=n/this.a,c=s/this.a,f=1,_=0,w,I,R=0,N=0;for(t=1;t<=6;t++)w=f*o-_*c,I=_*o+f*c,f=w,_=I,R=R+this.C_re[t]*f-this.C_im[t]*_,N=N+this.C_im[t]*f+this.C_re[t]*_;for(var j=0;j.999999999999&&(r=.999999999999),t=Math.asin(r);var i=Ce(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),r=(2*t+Math.sin(2*t))/Math.PI,Math.abs(r)>1&&(r=1);var s=Math.asin(r);return e.x=i,e.y=s,e}var ygt=[\"Mollweide\",\"moll\"],HY={init:mgt,forward:ggt,inverse:_gt,names:ygt};function vgt(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(e.x*e.x+e.y*e.y),t=1):(r=-Math.sqrt(e.x*e.x+e.y*e.y),t=-1);var n=0;if(r!==0&&(n=Math.atan2(t*e.x,t*e.y)),this.sphere)return s=Ce(this.long0+n/this.ns),i=ff(this.g-r/this.a),e.x=s,e.y=i,e;var o=this.g-r/this.a;return i=Kg(o,this.e0,this.e1,this.e2,this.e3),s=Ce(this.long0+n/this.ns),e.x=s,e.y=i,e}var wgt=[\"Equidistant_Conic\",\"eqdc\"],qY={init:vgt,forward:xgt,inverse:bgt,names:wgt};function Sgt(){this.R=this.a}function Tgt(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s,n;Math.abs(r)<=Se&&(s=this.x0+this.R*i,n=this.y0);var o=Ec(2*Math.abs(r/Math.PI));(Math.abs(i)<=Se||Math.abs(Math.abs(r)-de)<=Se)&&(s=this.x0,r>=0?n=this.y0+Math.PI*this.R*Math.tan(.5*o):n=this.y0+Math.PI*this.R*-Math.tan(.5*o));var c=.5*Math.abs(Math.PI/i-i/Math.PI),f=c*c,_=Math.sin(o),w=Math.cos(o),I=w/(_+w-1),R=I*I,N=I*(2/_-1),j=N*N,Q=Math.PI*this.R*(c*(I-j)+Math.sqrt(f*(I-j)*(I-j)-(j+f)*(R-j)))/(j+f);i<0&&(Q=-Q),s=this.x0+Q;var et=f+I;return Q=Math.PI*this.R*(N*et-c*Math.sqrt((j+f)*(f+1)-et*et))/(j+f),r>=0?n=this.y0+Q:n=this.y0-Q,e.x=s,e.y=n,e}function Mgt(e){var t,r,i,s,n,o,c,f,_,w,I,R,N;return e.x-=this.x0,e.y-=this.y0,I=Math.PI*this.R,i=e.x/I,s=e.y/I,n=i*i+s*s,o=-Math.abs(s)*(1+n),c=o-2*s*s+i*i,f=-2*o+1+2*s*s+n*n,N=s*s/f+(2*c*c*c/f/f/f-9*o*c/f/f)/27,_=(o-c*c/3/f)/f,w=2*Math.sqrt(-_/3),I=3*N/_/w,Math.abs(I)>1&&(I>=0?I=1:I=-1),R=Math.acos(I)/3,e.y>=0?r=(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI:r=-(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI,Math.abs(i)2*de*this.a?void 0:(r=t/this.a,i=Math.sin(r),s=Math.cos(r),n=this.long0,Math.abs(t)<=Se?o=this.lat0:(o=Ec(s*this.sin_p12+e.y*i*this.cos_p12/t),c=Math.abs(this.lat0)-de,Math.abs(c)<=Se?this.lat0>=0?n=Ce(this.long0+Math.atan2(e.x,-e.y)):n=Ce(this.long0-Math.atan2(-e.x,e.y)):n=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p12*s-e.y*this.sin_p12*i))),e.x=n,e.y=o,e)):(f=kp(this.es),_=Rp(this.es),w=Dp(this.es),I=Op(this.es),Math.abs(this.sin_p12-1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=R-t,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,-1*e.y)),e.x=n,e.y=o,e):Math.abs(this.sin_p12+1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=t-R,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,e.y)),e.x=n,e.y=o,e):(t=Math.sqrt(e.x*e.x+e.y*e.y),et=Math.atan2(e.x,e.y),j=Bp(this.a,this.e,this.sin_p12),Y=Math.cos(et),K=this.e*this.cos_p12*Y,J=-K*K/(1-this.es),ut=3*this.es*(1-J)*this.sin_p12*this.cos_p12*Y/(1-this.es),Et=t/j,kt=Et-J*(1+J)*Math.pow(Et,3)/6-ut*(1+3*J)*Math.pow(Et,4)/24,Xt=1-J*kt*kt/2-Et*kt*kt*kt/6,Q=Math.asin(this.sin_p12*Math.cos(kt)+this.cos_p12*Math.sin(kt)*Y),n=Ce(this.long0+Math.asin(Math.sin(et)*Math.sin(kt)/Math.cos(Q))),qt=Math.sin(Q),o=Math.atan2((qt-this.es*Xt*this.sin_p12)*Math.tan(Q),qt*(1-this.es)),e.x=n,e.y=o,e))}var Lgt=[\"Azimuthal_Equidistant\",\"aeqd\"],YY={init:Pgt,forward:Igt,inverse:Cgt,names:Lgt};function kgt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function Rgt(e){var t,r,i,s,n,o,c,f,_=e.x,w=e.y;return i=Ce(_-this.long0),t=Math.sin(w),r=Math.cos(w),s=Math.cos(i),o=this.sin_p14*t+this.cos_p14*r*s,n=1,(o>0||Math.abs(o)<=Se)&&(c=this.a*n*r*Math.sin(i),f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function Dgt(e){var t,r,i,s,n,o,c;return e.x-=this.x0,e.y-=this.y0,t=Math.sqrt(e.x*e.x+e.y*e.y),r=Ec(t/this.a),i=Math.sin(r),s=Math.cos(r),o=this.long0,Math.abs(t)<=Se?(c=this.lat0,e.x=o,e.y=c,e):(c=Ec(s*this.sin_p14+e.y*i*this.cos_p14/t),n=Math.abs(this.lat0)-de,Math.abs(n)<=Se?(this.lat0>=0?o=Ce(this.long0+Math.atan2(e.x,-e.y)):o=Ce(this.long0-Math.atan2(-e.x,e.y)),e.x=o,e.y=c,e):(o=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p14*s-e.y*this.sin_p14*i)),e.x=o,e.y=c,e))}var Ogt=[\"ortho\"],QY={init:kgt,forward:Rgt,inverse:Dgt,names:Ogt};var bs={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},An={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Bgt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Quadrilateralized Spherical Cube\",this.lat0>=de-Ui/2?this.face=bs.TOP:this.lat0<=-(de-Ui/2)?this.face=bs.BOTTOM:Math.abs(this.long0)<=Ui?this.face=bs.FRONT:Math.abs(this.long0)<=de+Ui?this.face=this.long0>0?bs.RIGHT:bs.LEFT:this.face=bs.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Fgt(e){var t={x:0,y:0},r,i,s,n,o,c,f={value:0};if(e.x-=this.long0,this.es!==0?r=Math.atan(this.one_minus_f_squared*Math.tan(e.y)):r=e.y,i=e.x,this.face===bs.TOP)n=de-r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=i-de):i>de+Ui||i<=-(de+Ui)?(f.value=An.AREA_1,s=i>0?i-xs:i+xs):i>-(de+Ui)&&i<=-Ui?(f.value=An.AREA_2,s=i+de):(f.value=An.AREA_3,s=i);else if(this.face===bs.BOTTOM)n=de+r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=-i+de):i=-Ui?(f.value=An.AREA_1,s=-i):i<-Ui&&i>=-(de+Ui)?(f.value=An.AREA_2,s=-i-de):(f.value=An.AREA_3,s=i>0?-i+xs:-i-xs);else{var _,w,I,R,N,j,Q;this.face===bs.RIGHT?i=Ax(i,+de):this.face===bs.BACK?i=Ax(i,+xs):this.face===bs.LEFT&&(i=Ax(i,-de)),R=Math.sin(r),N=Math.cos(r),j=Math.sin(i),Q=Math.cos(i),_=N*Q,w=N*j,I=R,this.face===bs.FRONT?(n=Math.acos(_),s=gI(n,I,w,f)):this.face===bs.RIGHT?(n=Math.acos(w),s=gI(n,I,-_,f)):this.face===bs.BACK?(n=Math.acos(-_),s=gI(n,I,-w,f)):this.face===bs.LEFT?(n=Math.acos(-w),s=gI(n,I,_,f)):(n=s=0,f.value=An.AREA_0)}return c=Math.atan(12/xs*(s+Math.acos(Math.sin(s)*Math.cos(Ui))-de)),o=Math.sqrt((1-Math.cos(n))/(Math.cos(c)*Math.cos(c))/(1-Math.cos(Math.atan(1/Math.cos(s))))),f.value===An.AREA_1?c+=de:f.value===An.AREA_2?c+=xs:f.value===An.AREA_3&&(c+=1.5*xs),t.x=o*Math.cos(c),t.y=o*Math.sin(c),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,e.x=t.x,e.y=t.y,e}function zgt(e){var t={lam:0,phi:0},r,i,s,n,o,c,f,_,w,I={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,i=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),r=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?I.value=An.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(I.value=An.AREA_1,r-=de):e.x<0&&-e.x>=Math.abs(e.y)?(I.value=An.AREA_2,r=r<0?r+xs:r-xs):(I.value=An.AREA_3,r+=de),w=xs/12*Math.tan(r),o=Math.sin(w)/(Math.cos(w)-1/Math.sqrt(2)),c=Math.atan(o),s=Math.cos(r),n=Math.tan(i),f=1-s*s*n*n*(1-Math.cos(Math.atan(1/Math.cos(c)))),f<-1?f=-1:f>1&&(f=1),this.face===bs.TOP)_=Math.acos(f),t.phi=de-_,I.value===An.AREA_0?t.lam=c+de:I.value===An.AREA_1?t.lam=c<0?c+xs:c-xs:I.value===An.AREA_2?t.lam=c-de:t.lam=c;else if(this.face===bs.BOTTOM)_=Math.acos(f),t.phi=_-de,I.value===An.AREA_0?t.lam=-c+de:I.value===An.AREA_1?t.lam=-c:I.value===An.AREA_2?t.lam=-c-de:t.lam=c<0?-c-xs:-c+xs;else{var R,N,j;R=f,w=R*R,w>=1?j=0:j=Math.sqrt(1-w)*Math.sin(c),w+=j*j,w>=1?N=0:N=Math.sqrt(1-w),I.value===An.AREA_1?(w=N,N=-j,j=w):I.value===An.AREA_2?(N=-N,j=-j):I.value===An.AREA_3&&(w=N,N=j,j=-w),this.face===bs.RIGHT?(w=R,R=-N,N=w):this.face===bs.BACK?(R=-R,N=-N):this.face===bs.LEFT&&(w=R,R=N,N=-w),t.phi=Math.acos(-j)-de,t.lam=Math.atan2(N,R),this.face===bs.RIGHT?t.lam=Ax(t.lam,-de):this.face===bs.BACK?t.lam=Ax(t.lam,-xs):this.face===bs.LEFT&&(t.lam=Ax(t.lam,+de))}if(this.es!==0){var Q,et,Y;Q=t.phi<0?1:0,et=Math.tan(t.phi),Y=this.b/Math.sqrt(et*et+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-Y*Y)/(this.one_minus_f*Y)),Q&&(t.phi=-t.phi)}return t.lam+=this.long0,e.x=t.lam,e.y=t.phi,e}function gI(e,t,r,i){var s;return eUi&&s<=de+Ui?(i.value=An.AREA_1,s-=de):s>de+Ui||s<=-(de+Ui)?(i.value=An.AREA_2,s=s>=0?s-xs:s+xs):(i.value=An.AREA_3,s+=de)),s}function Ax(e,t){var r=e+t;return r<-xs?r+=Em:r>+xs&&(r-=Em),r}var Ngt=[\"Quadrilateralized Spherical Cube\",\"Quadrilateralized_Spherical_Cube\",\"qsc\"],$Y={init:Bgt,forward:Fgt,inverse:zgt,names:Ngt};var DB=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],gS=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],XY=.8487,KY=1.3523,JY=Sc/5,Ugt=1/JY,mx=18,_I=function(e,t){return e[0]+t*(e[1]+t*(e[2]+t*e[3]))},Vgt=function(e,t){return e[1]+t*(2*e[2]+t*3*e[3])};function jgt(e,t,r,i){for(var s=t;i;--i){var n=e(s);if(s-=n,Math.abs(n)=mx&&(i=mx-1),r=Sc*(r-Ugt*i);var s={x:_I(DB[i],r)*t,y:_I(gS[i],r)};return e.y<0&&(s.y=-s.y),s.x=s.x*this.a*XY+this.x0,s.y=s.y*this.a*KY+this.y0,s}function Hgt(e){var t={x:(e.x-this.x0)/(this.a*XY),y:Math.abs(e.y-this.y0)/(this.a*KY)};if(t.y>=1)t.x/=DB[mx][0],t.y=e.y<0?-de:de;else{var r=Math.floor(t.y*mx);for(r<0?r=0:r>=mx&&(r=mx-1);;)if(gS[r][0]>t.y)--r;else if(gS[r+1][0]<=t.y)++r;else break;var i=gS[r],s=5*(t.y-i[0])/(gS[r+1][0]-i[0]);s=jgt(function(n){return(_I(i,n)-t.y)/Vgt(i,n)},s,Se,100),t.x/=_I(DB[r],s),t.y=(5*r+s)*vs,e.y<0&&(t.y=-t.y)}return t.x=Ce(t.x+this.long0),t}var qgt=[\"Robinson\",\"robin\"],tQ={init:Ggt,forward:Wgt,inverse:Hgt,names:qgt};function Zgt(){this.name=\"geocent\"}function Ygt(e){var t=aI(e,this.es,this.a);return t}function Qgt(e){var t=lI(e,this.es,this.a,this.b);return t}var $gt=[\"Geocentric\",\"geocentric\",\"geocent\",\"Geocent\"],eQ={init:Zgt,forward:Ygt,inverse:Qgt,names:$gt};var al={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},_S={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function Xgt(){if(Object.keys(_S).forEach(function(r){if(typeof this[r]>\"u\")this[r]=_S[r].def;else{if(_S[r].num&&isNaN(this[r]))throw new Error(\"Invalid parameter value, must be numeric \"+r+\" = \"+this[r]);_S[r].num&&(this[r]=parseFloat(this[r]))}_S[r].degrees&&(this[r]=this[r]*vs)}.bind(this)),Math.abs(Math.abs(this.lat0)-de)1e10)throw new Error(\"Invalid height\");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(e),this.sw=Math.sin(e)}function Kgt(e){e.x-=this.long0;var t=Math.sin(e.y),r=Math.cos(e.y),i=Math.cos(e.x),s,n;switch(this.mode){case al.OBLIQ:n=this.sinph0*t+this.cosph0*r*i;break;case al.EQUIT:n=r*i;break;case al.S_POLE:n=-t;break;case al.N_POLE:n=t;break}switch(n=this.pn1/(this.p-n),s=n*r*Math.sin(e.x),this.mode){case al.OBLIQ:n*=this.cosph0*t-this.sinph0*r*i;break;case al.EQUIT:n*=t;break;case al.N_POLE:n*=-(r*i);break;case al.S_POLE:n*=r*i;break}var o,c;return o=n*this.cg+s*this.sg,c=1/(o*this.sw*this.h1+this.cw),s=(s*this.cg-n*this.sg)*this.cw*c,n=o*c,e.x=s*this.a,e.y=n*this.a,e}function Jgt(e){e.x/=this.a,e.y/=this.a;var t={x:e.x,y:e.y},r,i,s;s=1/(this.pn1-e.y*this.sw),r=this.pn1*e.x*s,i=this.pn1*e.y*this.cw*s,e.x=r*this.cg+i*this.sg,e.y=i*this.cg-r*this.sg;var n=Ta(e.x,e.y);if(Math.abs(n)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var e=1-this.es,t=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=t,this.shape=\"ellipse\"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape=\"sphere\";this.title||(this.title=\"Geostationary Satellite View\")}function r_t(e){var t=e.x,r=e.y,i,s,n,o;if(t=t-this.long0,this.shape===\"ellipse\"){r=Math.atan(this.radius_p2*Math.tan(r));var c=this.radius_p/Ta(this.radius_p*Math.cos(r),Math.sin(r));if(s=c*Math.cos(t)*Math.cos(r),n=c*Math.sin(t)*Math.cos(r),o=c*Math.sin(r),(this.radius_g-s)*s-n*n-o*o*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i)))}else this.shape===\"sphere\"&&(i=Math.cos(r),s=Math.cos(t)*i,n=Math.sin(t)*i,o=Math.sin(r),i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i))));return e.x=e.x*this.a,e.y=e.y*this.a,e}function i_t(e){var t=-1,r=0,i=0,s,n,o,c;if(e.x=e.x/this.a,e.y=e.y/this.a,this.shape===\"ellipse\"){this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Ta(1,i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Ta(1,r));var f=i/this.radius_p;if(s=r*r+f*f+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if(this.shape===\"sphere\"){if(this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+i*i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+r*r)),s=r*r+i*i+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t)}return e.x=e.x+this.long0,e}var n_t=[\"Geostationary Satellite View\",\"Geostationary_Satellite\",\"geos\"],iQ={init:e_t,forward:r_t,inverse:i_t,names:n_t};function nQ(e){e.Proj.projections.add(fx),e.Proj.projections.add(dx),e.Proj.projections.add(MY),e.Proj.projections.add(EY),e.Proj.projections.add(PY),e.Proj.projections.add(IY),e.Proj.projections.add(CY),e.Proj.projections.add(LY),e.Proj.projections.add(kY),e.Proj.projections.add(RY),e.Proj.projections.add(DY),e.Proj.projections.add(OY),e.Proj.projections.add(BY),e.Proj.projections.add(zY),e.Proj.projections.add(NY),e.Proj.projections.add(VY),e.Proj.projections.add(jY),e.Proj.projections.add(GY),e.Proj.projections.add(WY),e.Proj.projections.add(HY),e.Proj.projections.add(qY),e.Proj.projections.add(ZY),e.Proj.projections.add(YY),e.Proj.projections.add(QY),e.Proj.projections.add($Y),e.Proj.projections.add(tQ),e.Proj.projections.add(eQ),e.Proj.projections.add(rQ),e.Proj.projections.add(iQ)}Tc.defaultDatum=\"WGS84\";Tc.Proj=Pm;Tc.WGS84=new Tc.Proj(\"WGS84\");Tc.Point=gY;Tc.toPoint=uI;Tc.defs=ax;Tc.nadgrid=MB;Tc.transform=$g;Tc.mgrs=pY;Tc.version=\"__VERSION__\";nQ(Tc);var sQ=Tc;function xS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function bS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function gx(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function s_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function o_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function wI(e){return\"data\"in e?e.getChildAt(0):e.children[0]}var vi=Object.freeze({__proto__:null,getLineStringChild:bS,getMultiLineStringChild:o_t,getMultiPointChild:s_t,getMultiPolygonChild:wI,getPointChild:xS,getPolygonChild:gx});function SI(e,t){let r=e.valueOffsets,i=gx(e),s=i.valueOffsets,n=bS(i),o=n.type.listSize,c=xS(n),f=r[t],_=r[t+1],w=s[f],I=s[_],R=c.values.subarray(w*o,I*o);return new sx(R,{size:o,isClosed:!0})}function aQ(e){if(\"data\"in e)return new xr(e.data.map(r=>aQ(r)));let t=new Float64Array(e.length);for(let r=0;rlQ(r)));let t=new Float64Array(e.length);for(let r=0;rcQ(n));let t=[],r=0;for(let n=0;nuQ(t))):gx(e)}function hQ(e){return\"data\"in e?new xr(e.data.map(t=>hQ(t))):wI(e)}function TI(e){return ze.isFixedSizeList(e)?!(![2,3,4].includes(e.listSize)||!ze.isFloat(e.children[0])):ze.isStruct(e)?!(![2,3,4].includes(e.children.length)||!e.children.every(t=>[\"x\",\"y\",\"z\",\"m\"].includes(t.name))||!e.children.every(t=>ze.isFloat(t))):!1}function MI(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function zB(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function fQ(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function dQ(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function pQ(e){return!(!ze.isList(e)||!zB(e.children[0].type))}function l_t(e){return TI(e.type)}function c_t(e){return MI(e.type)}function u_t(e){return zB(e.type)}function h_t(e){return fQ(e.type)}function f_t(e){return dQ(e.type)}function d_t(e){return pQ(e.type)}function p_t(e,t){if(!e)throw new Error(`assertion failed ${t}`)}function A_t(){throw new Error(\"assertion failed\")}function AQ(e,t){if(l_t(e))return mQ(e,t);if(c_t(e))return OB(e,t);if(u_t(e))return BB(e,t);if(h_t(e))return OB(e,t);if(f_t(e))return BB(e,t);if(d_t(e))return m_t(e,t);A_t()}function mQ(e,t){p_t(e.type.listSize===2,\"expected 2D\");let r=xS(e),i=r.values,s=new Float64Array(i.length);for(let o=0;ooQ(s,i))):oQ(e,i)}function oQ(e,t){let r=[0,0];return AQ(e,(s,n)=>(r[0]=s,r[1]=n,t.forward(r)))}var Im;(function(e){e.POINT=\"geoarrow.point\",e.LINESTRING=\"geoarrow.linestring\",e.POLYGON=\"geoarrow.polygon\",e.MULTIPOINT=\"geoarrow.multipoint\",e.MULTILINESTRING=\"geoarrow.multilinestring\",e.MULTIPOLYGON=\"geoarrow.multipolygon\"})(Im||(Im={}));var bI=class{minX;minY;maxX;maxY;constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}updateBbox(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.maxY>this.maxY&&(this.maxY=t.maxY)}updateCoord(t,r){tthis.maxX&&(this.maxX=t),r>this.maxY&&(this.maxY=r)}};function __t(e,t){switch(t.metadata.get(\"ARROW:extension:name\")){case Im.POINT:return gQ(e);case Im.LINESTRING:case Im.MULTIPOINT:return _Q(e);case Im.POLYGON:case Im.MULTILINESTRING:return yQ(e);case Im.MULTIPOLYGON:return v_t(e);default:throw new Error(\"Unknown ext type name\")}}function y_t(e){let r=xS(e).values,i=new bI;for(let s=0;svQ(r)));let t=new mm({type:new dc,nullValues:[null]});t.set(e.length-1,null);for(let r=0;rxQ(r,t));return}for(let r=0;rvS(n,t)));let r=[];for(let n of e.children)r.push(vS(n,t));let i;e.dictionary!==void 0&&(i=vS(e.dictionary,t));let s={[Oi.OFFSET]:yI(e.buffers[Oi.OFFSET],t),[Oi.DATA]:yI(e.buffers[Oi.DATA],t),[Oi.VALIDITY]:yI(e.buffers[Oi.VALIDITY],t),[Oi.TYPE]:yI(e.buffers[Oi.TYPE],t)};return new Fi(e.type,e.offset,e.length,e._nullCount,s,r,i)}function vI(e){if(\"data\"in e)return e.data.some(r=>vI(r));for(let r of e.children)if(vI(r))return!0;if(e.dictionary!==void 0&&vI(e.dictionary))return!0;let t=[Oi.OFFSET,Oi.DATA,Oi.VALIDITY,Oi.TYPE];for(let r of t)if(e.buffers[r]!==void 0&&bQ(e.buffers[r]))return!0;return!1}function bQ(e){return!(e.byteOffset===0&&e.byteLength===e.buffer.byteLength)}function yI(e,t){return e===void 0||!t&&!bQ(e)?e:e.slice()}function xI(e,t=!1){if(\"data\"in e){let i=[],s=[];for(let o of e.data){let[c,f]=xI(o);i.push(c),s.push(...f)}return[new xr(i),s]}e=vS(e,t);let r=[];for(let i=0;i1)throw new Error(\"expected 1 field\");return new sl(t[0])}case Ot.Struct:{let t=e.children.map(yS);return new pn(t)}case Ot.Union:{let t=e.children.map(yS);return new pc(e.mode,e.typeIds,t)}case Ot.FixedSizeBinary:return new Qu(e.byteWidth);case Ot.FixedSizeList:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");return new Ll(e.listSize,t[0])}case Ot.Map:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");let r=t[0];return new Ac(r,e.keysSorted)}case Ot.Duration:return new Yu(e.unit);default:throw new Error(`unknown type ${e}`)}}function yS(e){let t=wQ(e.type);return new si(e.name,t,e.nullable,e.metadata)}function UB(e){let t=e.children.map(s=>UB(s)),r=e.dictionary?SQ(e.dictionary):void 0,i={[Oi.OFFSET]:e.valueOffsets,[Oi.DATA]:e.values,[Oi.VALIDITY]:e.nullBitmap,[Oi.TYPE]:e.typeIds};return new Fi(wQ(e.type),e.offset,e.length,e._nullCount,i,t,r)}function SQ(e){return new xr(e.data.map(t=>UB(t)))}var VB=Object.freeze({__proto__:null,hardClone:vS,isShared:vI,preparePostMessage:xI,rehydrateData:UB,rehydrateVector:SQ});function E_t(e,t,r){let i=e.fields.findIndex(s=>s.name===r||s.metadata.get(\"ARROW:extension:name\")===t);return i!==-1?i:null}function P_t(e,t){let{index:r,data:i}=e,s=r;i.invertedGeomOffsets!==void 0&&(s=i.invertedGeomOffsets[r]);let n={data:i.data,length:i.length,attributes:i.attributes},o={index:s,data:n,target:e.target};return t(o)}function ro(e){let{props:t,propName:r,propInput:i,chunkIdx:s,geomCoordOffsets:n}=e;if(i!==void 0)if(i instanceof xr){let o=i.data[s];if(ze.isFixedSizeList(o)){_r(o.children.length===1);let c=o.children[0].values;n&&(c=EI(c,o.type.listSize,n)),t.data.attributes[r]={value:c,size:o.type.listSize,normalized:!0}}else if(ze.isFloat(o)){let c=o.values;n&&(c=EI(c,1,n)),t.data.attributes[r]={value:c,size:1}}}else typeof i==\"function\"?t[r]=(o,c)=>r===\"getPolygonOffset\"?i(o,c):P_t(c,i):t[r]=i}function EI(e,t,r){let i=r[r.length-1],s=new e.constructor(i*t);for(let n=0;n(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function no(e,t){let r=[],i=[];for(let[s,n]of Object.entries(e))s.startsWith(\"get\")&&n instanceof xr&&(r.push(n),s.endsWith(\"Color\")&&i.push(n));I_t(t,r);for(let s of i)C_t(s)}function I_t(e,t){for(let r of t)_r(e.batches.length===r.data.length);for(let r of t)for(let i=0;ithis.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){let t=this.content?this.content.byteLength:0;return Number.isFinite(t)||console.error(\"byteLength not defined in tile data\"),t}async _loadData({getData:t,requestScheduler:r,onLoad:i,onError:s}){let{index:n,id:o,bbox:c,userData:f,zoom:_}=this,w=this._loaderId;this._abortController=new AbortController;let{signal:I}=this._abortController,R=await r.scheduleRequest(this,Q=>Q.isSelected?1:-1);if(!R){this._isCancelled=!0;return}if(this._isCancelled){R.done();return}let N=null,j;try{N=await t({index:n,id:o,bbox:c,userData:f,zoom:_,signal:I})}catch(Q){j=Q||!0}finally{R.done()}if(w===this._loaderId){if(this._loader=void 0,this.content=N,this._isCancelled&&!N){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,j?s(j,this):i(this)}}loadData(t){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(t),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var t;this.isLoaded||(this._isCancelled=!0,(t=this._abortController)===null||t===void 0||t.abort())}};var so={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var IQ=new Ve,O_t=new Ve,Jg=class e{constructor(t=[0,0,0],r=[0,0,0],i){G(this,\"center\",void 0),G(this,\"halfDiagonal\",void 0),G(this,\"minimum\",void 0),G(this,\"maximum\",void 0),i=i||IQ.copy(t).add(r).scale(.5),this.center=new Ve(i),this.halfDiagonal=new Ve(r).subtract(this.center),this.minimum=new Ve(t),this.maximum=new Ve(r)}clone(){return new e(this.minimum,this.maximum,this.center)}equals(t){return this===t||!!t&&this.minimum.equals(t.minimum)&&this.maximum.equals(t.maximum)}transform(t){return this.center.transformAsPoint(t),this.halfDiagonal.transform(t),this.minimum.transform(t),this.maximum.transform(t),this}intersectPlane(t){let{halfDiagonal:r}=this,i=O_t.from(t.normal),s=r.x*Math.abs(i.x)+r.y*Math.abs(i.y)+r.z*Math.abs(i.z),n=this.center.dot(i)+t.distance;return n-s>0?so.INSIDE:n+s<0?so.OUTSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=IQ.from(t).subtract(this.center),{halfDiagonal:i}=this,s=0,n;return n=Math.abs(r.x)-i.x,n>0&&(s+=n*n),n=Math.abs(r.y)-i.y,n>0&&(s+=n*n),n=Math.abs(r.z)-i.z,n>0&&(s+=n*n),s}};var TS=new Ve,CQ=new Ve,t_=class e{constructor(t=[0,0,0],r=0){G(this,\"center\",void 0),G(this,\"radius\",void 0),this.radius=-0,this.center=new Ve,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=TS.from(r),this.center=new Ve().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||!!t&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new e(this.center,this.radius)}union(t){let r=this.center,i=this.radius,s=t.center,n=t.radius,o=TS.copy(s).subtract(r),c=o.magnitude();if(i>=c+n)return this.clone();if(n>=c+i)return t.clone();let f=(i+c+n)*.5;return CQ.copy(o).scale((-i+f)/c).add(r),this.center.copy(CQ),this.radius=f,this}expand(t){let i=TS.from(t).subtract(this.center).magnitude();return i>this.radius&&(this.radius=i),this}transform(t){this.center.transform(t);let r=c7(TS,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let i=TS.from(t).subtract(this.center);return Math.max(0,i.len()-this.radius)}intersectPlane(t){let r=this.center,i=this.radius,n=t.normal.dot(r)+t.distance;return n<-i?so.OUTSIDE:n=f?so.INSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=F_t.from(t).subtract(this.center),i=this.halfAxes,s=i.getColumn(0,II),n=i.getColumn(1,CI),o=i.getColumn(2,LI),c=s.magnitude(),f=n.magnitude(),_=o.magnitude();s.normalize(),n.normalize(),o.normalize();let w=0,I;return I=Math.abs(r.dot(s))-c,I>0&&(w+=I*I),I=Math.abs(r.dot(n))-f,I>0&&(w+=I*I),I=Math.abs(r.dot(o))-_,I>0&&(w+=I*I),w}computePlaneDistances(t,r,i=[-0,-0]){let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,o=this.center,c=this.halfAxes,f=c.getColumn(0,II),_=c.getColumn(1,CI),w=c.getColumn(2,LI),I=z_t.copy(f).add(_).add(w).add(o),R=N_t.copy(I).subtract(t),N=r.dot(R);return s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),i[0]=s,i[1]=n,i}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,II);r.transformAsPoint(t);let i=this.halfAxes.getColumn(1,CI);i.transformAsPoint(t);let s=this.halfAxes.getColumn(2,LI);return s.transformAsPoint(t),this.halfAxes=new ss([...r,...i,...s]),this}getTransform(){throw new Error(\"not implemented\")}};var LQ=new Ve,kQ=new Ve,Af=class e{constructor(t=[0,0,1],r=0){G(this,\"normal\",void 0),G(this,\"distance\",void 0),this.normal=new Ve,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Bh(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=LQ.from(t),this.normal.from(r).normalize();let i=-this.normal.dot(t);return this.distance=i,this}fromCoefficients(t,r,i,s){return this.normal.set(t,r,i),Bh(Ro(this.normal.len(),1)),this.distance=s,this}clone(){return new e(this.normal,this.distance)}equals(t){return Ro(this.distance,t.distance)&&Ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=kQ.copy(this.normal).transformAsVector(t).normalize(),i=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(i,r)}projectPointOntoPlane(t,r=[0,0,0]){t=LQ.from(t);let i=this.getPointDistance(t),s=kQ.copy(this.normal).scale(i);return t.subtract(s).to(r)}};var RQ=[new Ve([1,0,0]),new Ve([0,1,0]),new Ve([0,0,1])],DQ=new Ve,U_t=new Ve,Rse=new Af(new Ve(1,0,0),0),Ad=class e{constructor(t=[]){G(this,\"planes\",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*RQ.length;let r=t.center,i=t.radius,s=0;for(let n of RQ){let o=this.planes[s],c=this.planes[s+1];o||(o=this.planes[s]=new Af),c||(c=this.planes[s+1]=new Af);let f=DQ.copy(n).scale(-i).add(r),_=-n.dot(f);o.fromPointNormal(f,n);let w=DQ.copy(n).scale(i).add(r),I=U_t.copy(n).negate(),R=-I.dot(w);c.fromPointNormal(w,I),s+=2}return this}computeVisibility(t){let r=so.INSIDE;for(let i of this.planes)switch(t.intersectPlane(i)){case so.OUTSIDE:return so.OUTSIDE;case so.INTERSECTING:r=so.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Bh(Number.isFinite(r),\"parentPlaneMask is required.\"),r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;let i=e.MASK_INSIDE,s=this.planes;for(let n=0;nf;)q_t(c,kI),OQ.copy(kI).transpose(),c.multiplyRight(kI),c.multiplyLeft(OQ),o.multiplyRight(kI),++s>2&&(++n,s=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=c.toTarget(t.diagonal),t}function W_t(e){let t=0;for(let r=0;r<9;++r){let i=e[r];t+=i*i}return Math.sqrt(t)}var GB=[1,0,0],WB=[2,2,1];function H_t(e){let t=0;for(let r=0;r<3;++r){let i=e[md.getElementIndex(WB[r],GB[r])];t+=2*i*i}return Math.sqrt(t)}function q_t(e,t){let r=YE.EPSILON15,i=0,s=1;for(let _=0;_<3;++_){let w=Math.abs(e[md.getElementIndex(WB[_],GB[_])]);w>i&&(s=_,i=w)}let n=GB[s],o=WB[s],c=1,f=0;if(Math.abs(e[md.getElementIndex(o,n)])>r){let _=e[md.getElementIndex(o,o)],w=e[md.getElementIndex(n,n)],I=e[md.getElementIndex(o,n)],R=(_-w)/2/I,N;R<0?N=-1/(-R+Math.sqrt(1+R*R)):N=1/(R+Math.sqrt(1+R*R)),c=1/Math.sqrt(1+N*N),f=N*c}return ss.IDENTITY.to(t),t[md.getElementIndex(n,n)]=t[md.getElementIndex(o,o)]=c,t[md.getElementIndex(o,n)]=f,t[md.getElementIndex(n,o)]=-f,t}var Cm=new Ve,Z_t=new Ve,Y_t=new Ve,Q_t=new Ve,$_t=new Ve,X_t=new ss,K_t={diagonal:new ss,unitary:new ss};function HB(e,t=new yx){if(!e||e.length===0)return t.halfAxes=new ss([0,0,0,0,0,0,0,0,0]),t.center=new Ve,t;let r=e.length,i=new Ve(0,0,0);for(let le of e)i.add(le);let s=1/r;i.multiplyByScalar(s);let n=0,o=0,c=0,f=0,_=0,w=0;for(let le of e){let ue=Cm.copy(le).subtract(i);n+=ue.x*ue.x,o+=ue.x*ue.y,c+=ue.x*ue.z,f+=ue.y*ue.y,_+=ue.y*ue.z,w+=ue.z*ue.z}n*=s,o*=s,c*=s,f*=s,_*=s,w*=s;let I=X_t;I[0]=n,I[1]=o,I[2]=c,I[3]=o,I[4]=f,I[5]=_,I[6]=c,I[7]=_,I[8]=w;let{unitary:R}=RI(I,K_t),N=t.halfAxes.copy(R),j=N.getColumn(0,Y_t),Q=N.getColumn(1,Q_t),et=N.getColumn(2,$_t),Y=-Number.MAX_VALUE,K=-Number.MAX_VALUE,J=-Number.MAX_VALUE,ut=Number.MAX_VALUE,Et=Number.MAX_VALUE,kt=Number.MAX_VALUE;for(let le of e)Cm.copy(le),Y=Math.max(Cm.dot(j),Y),K=Math.max(Cm.dot(Q),K),J=Math.max(Cm.dot(et),J),ut=Math.min(Cm.dot(j),ut),Et=Math.min(Cm.dot(Q),Et),kt=Math.min(Cm.dot(et),kt);j=j.multiplyByScalar(.5*(ut+Y)),Q=Q.multiplyByScalar(.5*(Et+K)),et=et.multiplyByScalar(.5*(kt+J)),t.center.copy(j).add(Q).add(et);let Xt=Z_t.set(Y-ut,K-Et,J-kt).multiplyByScalar(.5),qt=new ss([Xt[0],0,0,0,Xt[1],0,0,0,Xt[2]]);return t.halfAxes.multiplyRight(qt),t}var vx=512,BQ=3,FQ=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],zQ=FQ.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),J_t=zQ.concat([[.25,.5],[.75,.5]]),qB=class e{constructor(t,r,i){G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"z\",void 0),G(this,\"childVisible\",void 0),G(this,\"selected\",void 0),G(this,\"_children\",void 0),this.x=t,this.y=r,this.z=i}get children(){if(!this._children){let t=this.x*2,r=this.y*2,i=this.z+1;this._children=[new e(t,r,i),new e(t,r+1,i),new e(t+1,r,i),new e(t+1,r+1,i)]}return this._children}update(t){let{viewport:r,cullingVolume:i,elevationBounds:s,minZ:n,maxZ:o,bounds:c,offset:f,project:_}=t,w=this.getBoundingVolume(s,f,_);if(c&&!this.insideBounds(c)||i.computeVisibility(w)<0)return!1;if(!this.childVisible){let{z:R}=this;if(R=n){let N=w.distanceTo(r.cameraPosition)*r.scale/r.height;R+=Math.floor(Math.log2(N))}if(R>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(let R of this.children)R.update(t);return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let r of this._children)r.getSelected(t);return t}insideBounds([t,r,i,s]){let n=Math.pow(2,this.z),o=vx/n;return this.x*ot&&(this.y+1)*o>r}getBoundingVolume(t,r,i){if(i){let f=this.z<1?J_t:this.z<2?zQ:FQ,_=[];for(let w of f){let I=DI(this.x+w[0],this.y+w[1],this.z);I[2]=t[0],_.push(i(I)),t[0]!==t[1]&&(I[2]=t[1],_.push(i(I)))}return HB(_)}let s=Math.pow(2,this.z),n=vx/s,o=this.x*n+r*vx,c=vx-(this.y+1)*n;return new Jg([o,c,t[0]],[o+n,c+n,t[1]])}};function NQ(e,t,r,i){let s=e instanceof rv&&e.resolution?e.projectPosition:null,n=Object.values(e.getFrustumPlanes()).map(({normal:N,distance:j})=>new Af(N.clone().negate(),j)),o=new Ad(n),c=e.distanceScales.unitsPerMeter[2],f=r&&r[0]*c||0,_=r&&r[1]*c||0,w=e instanceof lc&&e.pitch<=60?t:0;if(i){let[N,j,Q,et]=i,Y=va([N,et]),K=va([Q,j]);i=[Y[0],vx-Y[1],K[0],vx-K[1]]}let I=new qB(0,0,0),R={viewport:e,project:s,cullingVolume:o,elevationBounds:[f,_],minZ:w,maxZ:t,bounds:i,offset:0};if(I.update(R),e instanceof lc&&e.subViewports&&e.subViewports.length>1){for(R.offset=-1;I.update(R)&&!(--R.offset<-BQ););for(R.offset=1;I.update(R)&&!(++R.offset>BQ););}return I.getSelected()}var zp=512,tyt=[-1/0,-1/0,1/0,1/0],YB={type:\"object\",value:null,validate:(e,t)=>t.optional&&e===null||typeof e==\"string\"||Array.isArray(e)&&e.every(r=>typeof r==\"string\"),equal:(e,t)=>{if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let i=0;is[0])),Math.min(...r.map(s=>s[1])),Math.max(...r.map(s=>s[0])),Math.max(...r.map(s=>s[1]))]}function eyt(e){return Math.abs(e.split(\"\").reduce((t,r)=>(t<<5)-t+r.charCodeAt(0)|0,0))}function QB(e,t){if(!e||!e.length)return null;let{index:r,id:i}=t;if(Array.isArray(e)){let n=eyt(i)%e.length;e=e[n]}let s=e;for(let n of Object.keys(r)){let o=new RegExp(\"{\".concat(n,\"}\"),\"g\");s=s.replace(o,String(r[n]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(s=s.replace(/\\{-y\\}/g,String(Math.pow(2,r.z)-r.y-1))),s}function ryt(e,t,r){let i;if(t&&t.length===2){let[s,n]=t,o=e.getBounds({z:s}),c=e.getBounds({z:n});i=[Math.min(o[0],c[0]),Math.min(o[1],c[1]),Math.max(o[2],c[2]),Math.max(o[3],c[3])]}else i=e.getBounds();return e.isGeospatial?[Math.max(i[0],r[0]),Math.max(i[1],r[1]),Math.min(i[2],r[2]),Math.min(i[3],r[3])]:[Math.max(Math.min(i[0],r[2]),r[0]),Math.max(Math.min(i[1],r[3]),r[1]),Math.min(Math.max(i[2],r[0]),r[2]),Math.min(Math.max(i[3],r[1]),r[3])]}function jQ({viewport:e,z:t=0,cullRect:r}){return(e.subViewports||[e]).map(s=>ZB(s,t,r))}function ZB(e,t,r){if(!Array.isArray(t)){let n=r.x-e.x,o=r.y-e.y,{width:c,height:f}=r,_={targetZ:t},w=e.unproject([n,o],_),I=e.unproject([n+c,o],_),R=e.unproject([n,o+f],_),N=e.unproject([n+c,o+f],_);return[Math.min(w[0],I[0],R[0],N[0]),Math.min(w[1],I[1],R[1],N[1]),Math.max(w[0],I[0],R[0],N[0]),Math.max(w[1],I[1],R[1],N[1])]}let i=ZB(e,t[0],r),s=ZB(e,t[1],r);return[Math.min(i[0],s[0]),Math.min(i[1],s[1]),Math.max(i[2],s[2]),Math.max(i[3],s[3])]}function iyt(e,t,r){return r?VQ(e,r).map(s=>s*t/zp):e.map(i=>i*t/zp)}function $B(e,t){return Math.pow(2,e)*zp/t}function DI(e,t,r){let i=$B(r,zp),s=e/i*360-180,n=Math.PI-2*Math.PI*t/i,o=180/Math.PI*Math.atan(.5*(Math.exp(n)-Math.exp(-n)));return[s,o]}function UQ(e,t,r,i){let s=$B(r,i);return[e/s*zp,t/s*zp]}function XB(e,t,r,i,s=zp){if(e.isGeospatial){let[_,w]=DI(t,r,i),[I,R]=DI(t+1,r+1,i);return{west:_,north:w,east:I,south:R}}let[n,o]=UQ(t,r,i,s),[c,f]=UQ(t+1,r+1,i,s);return{left:n,top:o,right:c,bottom:f}}function nyt(e,t,r,i,s){let n=ryt(e,null,i),o=$B(t,r),[c,f,_,w]=iyt(n,o,s),I=[];for(let R=Math.floor(c);R<_;R++)for(let N=Math.floor(f);Nt&&(_=t);let w=s;return o&&c&&s&&!e.isGeospatial&&(w=VQ(s,o)),e.isGeospatial?NQ(e,_,i,s):nyt(e,_,n,w||tyt,c)}function GQ(e){let t={},r;return i=>{for(let s in i)if(!syt(i[s],t[s])){r=e(i),t=i;break}return r}}function syt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{}},uyt={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:\"best-available\",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}},MS=class{constructor(t){G(this,\"opts\",void 0),G(this,\"_requestScheduler\",void 0),G(this,\"_cache\",void 0),G(this,\"_dirty\",void 0),G(this,\"_tiles\",void 0),G(this,\"_cacheByteSize\",void 0),G(this,\"_viewport\",void 0),G(this,\"_zRange\",void 0),G(this,\"_selectedTiles\",void 0),G(this,\"_frameNumber\",void 0),G(this,\"_modelMatrix\",void 0),G(this,\"_modelMatrixInverse\",void 0),G(this,\"_maxZoom\",void 0),G(this,\"_minZoom\",void 0),G(this,\"onTileLoad\",void 0),G(this,\"_getCullBounds\",GQ(jQ)),this.opts={...uyt,...t},this.onTileLoad=r=>{var i,s;(i=(s=this.opts).onTileLoad)===null||i===void 0||i.call(s,r),this.opts.maxCacheByteSize&&(this._cacheByteSize+=r.byteLength,this._resizeCache())},this._requestScheduler=new py({maxRequests:t.maxRequests,throttleRequests:!!(t.maxRequests&&t.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new En,this._modelMatrixInverse=new En,this.setOptions(t)}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(t=>t.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(t=>t.needsReload)}setOptions(t){Object.assign(this.opts,t),Number.isFinite(t.maxZoom)&&(this._maxZoom=Math.floor(t.maxZoom)),Number.isFinite(t.minZoom)&&(this._minZoom=Math.ceil(t.minZoom))}finalize(){for(let t of this._cache.values())t.isLoading&&t.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(let t of this._cache.keys()){let r=this._cache.get(t);!this._selectedTiles||!this._selectedTiles.includes(r)?this._cache.delete(t):r.setNeedsReload()}}update(t,{zRange:r,modelMatrix:i}={}){let s=new En(i),n=!s.equals(this._modelMatrix);if(!this._viewport||!t.equals(this._viewport)||!Ro(this._zRange,r)||n){n&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=t,this._zRange=r;let c=this.getTileIndices({viewport:t,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));let o=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),o&&this._frameNumber++,this._frameNumber}isTileVisible(t,r){if(!t.isVisible)return!1;if(r&&this._viewport){let i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:r}),{bbox:s}=t;for(let[n,o,c,f]of i){let _;if(\"west\"in s)_=s.westn&&s.southo;else{let w=Math.min(s.top,s.bottom),I=Math.max(s.top,s.bottom);_=s.leftn&&wo}if(_)return!0}return!1}return!0}getTileIndices({viewport:t,maxZoom:r,minZoom:i,zRange:s,modelMatrix:n,modelMatrixInverse:o}){let{tileSize:c,extent:f,zoomOffset:_}=this.opts;return KB({viewport:t,maxZoom:r,minZoom:i,zRange:s,tileSize:c,extent:f,modelMatrix:n,modelMatrixInverse:o,zoomOffset:_})}getTileId(t){return\"\".concat(t.x,\"-\").concat(t.y,\"-\").concat(t.z)}getTileZoom(t){return t.z}getTileMetadata(t){let{tileSize:r}=this.opts;return{bbox:XB(this._viewport,t.x,t.y,t.z,r)}}getParentIndex(t){let r=Math.floor(t.x/2),i=Math.floor(t.y/2),s=t.z-1;return{x:r,y:i,z:s}}updateTileStates(){let t=this.opts.refinementStrategy||ES,r=new Array(this._cache.size),i=0;for(let s of this._cache.values())r[i++]=s.isVisible,s.isSelected=!1,s.isVisible=!1;for(let s of this._selectedTiles)s.isSelected=!0,s.isVisible=!0;(typeof t==\"function\"?t:cyt[t])(Array.from(this._cache.values())),i=0;for(let s of this._cache.values())if(r[i++]!==s.isVisible)return!0;return!1}_pruneRequests(){let{maxRequests:t=0}=this.opts,r=[],i=0;for(let s of this._cache.values())s.isLoading&&(i++,!s.isSelected&&!s.isVisible&&r.push(s));for(;t>0&&i>t&&r.length>0;)r.shift().abort(),i--}_rebuildTree(){let{_cache:t}=this;for(let r of t.values())r.parent=null,r.children&&(r.children.length=0);for(let r of t.values()){let i=this._getNearestAncestor(r);r.parent=i,i!=null&&i.children&&i.children.push(r)}}_resizeCache(){let{_cache:t,opts:r}=this,i=r.maxCacheSize||(r.maxCacheByteSize?1/0:lyt*this.selectedTiles.length),s=r.maxCacheByteSize||1/0;if(t.size>i||this._cacheByteSize>s){for(let[f,_]of t){if(!_.isVisible&&!_.isSelected){var o,c;this._cacheByteSize-=r.maxCacheByteSize?_.byteLength:0,t.delete(f),(o=(c=this.opts).onTileUnload)===null||o===void 0||o.call(c,_)}if(t.size<=i&&this._cacheByteSize<=s)break}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,_)=>f.zoom-_.zoom),this._dirty=!1)}_getTile(t,r){let i=this.getTileId(t),s=this._cache.get(i),n=!1;return!s&&r?(s=new PI(t),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:i,zoom:this.getTileZoom(s.index)}),n=!0,this._cache.set(i,s),this._dirty=!0):s&&s.needsReload&&(n=!0),s&&n&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s}_getNearestAncestor(t){let{_minZoom:r=0}=this,i=t.index;for(;this.getTileZoom(i)>r;){i=this.getParentIndex(i);let s=this._getTile(i);if(s)return s}return null}};function hyt(e){for(let t of e)t.state=0;for(let t of e)t.isSelected&&!HQ(t)&&JB(t);for(let t of e)t.isVisible=!!(t.state&OI)}function fyt(e){for(let r of e)r.state=0;for(let r of e)r.isSelected&&HQ(r);let t=Array.from(e).sort((r,i)=>r.zoom-i.zoom);for(let r of t)if(r.isVisible=!!(r.state&OI),r.children&&(r.isVisible||r.state&WQ))for(let i of r.children)i.state=WQ;else r.isSelected&&JB(r)}function HQ(e){let t=e;for(;t;){if(t.isLoaded||t.content)return t.state|=OI,!0;t=t.parent}return!1}function JB(e){for(let t of e.children)t.isLoaded||t.content?t.state|=OI:JB(t)}var dyt={TilesetClass:MS,data:{type:\"data\",value:[]},dataComparator:YB.equal,renderSubLayers:{type:\"function\",value:e=>new Mm(e)},getTileData:{type:\"function\",optional:!0,value:null},onViewportLoad:{type:\"function\",optional:!0,value:null},onTileLoad:{type:\"function\",value:e=>{}},onTileUnload:{type:\"function\",value:e=>{}},onTileError:{type:\"function\",value:e=>console.error(e)},extent:{type:\"array\",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ES,zRange:null,maxRequests:6,zoomOffset:0},Lm=class extends Ni{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var t,r;(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||r.finalize()}get isLoaded(){var t,r,i;return(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||(i=r.selectedTiles)===null||i===void 0?void 0:i.every(s=>s.isLoaded&&s.layers&&s.layers.every(n=>n.isLoaded))}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState({changeFlags:t}){let{tileset:r}=this.state,i=t.propsOrDataChanged||t.updateTriggersChanged,s=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getTileData);r?i&&(r.setOptions(this._getTilesetOptions()),s?r.reloadAll():this.state.tileset.tiles.forEach(n=>{n.layers=null})):(r=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:r})),this._updateTileset()}_getTilesetOptions(){let{tileSize:t,maxCacheSize:r,maxCacheByteSize:i,refinementStrategy:s,extent:n,maxZoom:o,minZoom:c,maxRequests:f,zoomOffset:_}=this.props;return{maxCacheSize:r,maxCacheByteSize:i,maxZoom:o,minZoom:c,tileSize:t,refinementStrategy:s,extent:n,maxRequests:f,zoomOffset:_,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){let{tileset:t}=this.state,{zRange:r,modelMatrix:i}=this.props,s=t.update(this.context.viewport,{zRange:r,modelMatrix:i}),{isLoaded:n}=t,o=this.state.isLoaded!==n,c=this.state.frameNumber!==s;n&&(o||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:s}),this.state.isLoaded=n}_onViewportLoad(){let{tileset:t}=this.state,{onViewportLoad:r}=this.props;r&&r(t.selectedTiles)}_onTileLoad(t){this.props.onTileLoad(t),t.layers=null,this.setNeedsUpdate()}_onTileError(t,r){this.props.onTileError(t),r.layers=null,this.setNeedsUpdate()}_onTileUnload(t){this.props.onTileUnload(t)}getTileData(t){let{data:r,getTileData:i,fetch:s}=this.props,{signal:n}=t;return t.url=typeof r==\"string\"||Array.isArray(r)?QB(r,t):null,i?i(t):s&&t.url?s(t.url,{propName:\"data\",layer:this,signal:n}):null}renderSubLayers(t){return this.props.renderSubLayers(t)}getSubLayerPropsByTile(t){return null}getPickingInfo({info:t,sourceLayer:r}){let i=r.props.tile;return t.picked&&(t.tile=i),t.sourceTile=i,t}_updateAutoHighlight(t){let r=t.sourceTile;if(r&&r.layers)for(let i of r.layers)i.updateAutoHighlight(t)}renderLayers(){return this.state.tileset.tiles.map(t=>{let r=this.getSubLayerPropsByTile(t);if(!(!t.isLoaded&&!t.content))if(t.layers)r&&t.layers[0]&&Object.keys(r).some(i=>t.layers[0].props[i]!==r[i])&&(t.layers=t.layers.map(i=>i.clone(r)));else{let i=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:t.id,updateTriggers:this.props.updateTriggers}),data:t.content,_offset:0,tile:t});t.layers=op(i,Boolean).map(s=>s.clone({tile:t,...r}))}return t.layers})}filterSubLayer({layer:t,cullRect:r}){let{tile:i}=t.props;return this.state.tileset.isTileVisible(i,r)}};G(Lm,\"defaultProps\",dyt);G(Lm,\"layerName\",\"TileLayer\");var Ic=function(e){e=e||{};var t=typeof e<\"u\"?e:{},r={},i;for(i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);var s=[],n=\"\";function o(Zt){return t.locateFile?t.locateFile(Zt,n):n+Zt}var c;document.currentScript&&(n=document.currentScript.src),n.indexOf(\"blob:\")!==0?n=n.substr(0,n.lastIndexOf(\"/\")+1):n=\"\",c=function(fe,Be,br){var g=new XMLHttpRequest;g.open(\"GET\",fe,!0),g.responseType=\"arraybuffer\",g.onload=function(){if(g.status==200||g.status==0&&g.response){Be(g.response);return}var Ti=ht(fe);if(Ti){Be(Ti.buffer);return}br()},g.onerror=br,g.send(null)};var f=t.print||console.log.bind(console),_=t.printErr||console.warn.bind(console);for(i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);r=null,t.arguments&&(s=t.arguments);var w=0,I=function(Zt){w=Zt},R=function(){return w},N=8;function j(Zt,fe,Be,br){switch(Be=Be||\"i8\",Be.charAt(Be.length-1)===\"*\"&&(Be=\"i32\"),Be){case\"i1\":Sr[Zt>>0]=fe;break;case\"i8\":Sr[Zt>>0]=fe;break;case\"i16\":oo[Zt>>1]=fe;break;case\"i32\":No[Zt>>2]=fe;break;case\"i64\":ve=[fe>>>0,(wo=fe,+Nl(wo)>=1?wo>0?(mn(+ls(wo/4294967296),4294967295)|0)>>>0:~~+ee((wo-+(~~wo>>>0))/4294967296)>>>0:0)],No[Zt>>2]=ve[0],No[Zt+4>>2]=ve[1];break;case\"float\":Uo[Zt>>2]=fe;break;case\"double\":Si[Zt>>3]=fe;break;default:oh(\"invalid type for setValue: \"+Be)}}function Q(Zt,fe,Be){switch(fe=fe||\"i8\",fe.charAt(fe.length-1)===\"*\"&&(fe=\"i32\"),fe){case\"i1\":return Sr[Zt>>0];case\"i8\":return Sr[Zt>>0];case\"i16\":return oo[Zt>>1];case\"i32\":return No[Zt>>2];case\"i64\":return No[Zt>>2];case\"float\":return Uo[Zt>>2];case\"double\":return Si[Zt>>3];default:oh(\"invalid type for getValue: \"+fe)}return null}var et=!1;function Y(Zt,fe){Zt||oh(\"Assertion failed: \"+fe)}function K(Zt){var fe=t[\"_\"+Zt];return Y(fe,\"Cannot call unknown function \"+Zt+\", make sure it is exported\"),fe}function J(Zt,fe,Be,br,g){var Vi={string:function(Ur){var hi=0;if(Ur!=null&&Ur!==0){var To=(Ur.length<<2)+1;hi=Hp(To),le(Ur,hi,To)}return hi},array:function(Ur){var hi=Hp(Ur.length);return De(Ur,hi),hi}};function Ti(Ur){return fe===\"string\"?Xt(Ur):fe===\"boolean\"?!!Ur:Ur}var Tt=K(Zt),Ms=[],cs=0;if(br)for(var li=0;li=br);)++g;if(g-fe>16&&Zt.subarray&&Et)return Et.decode(Zt.subarray(fe,g));for(var Vi=\"\";fe>10,56320|cs&1023)}}return Vi}function Xt(Zt,fe){return Zt?kt(Li,Zt,fe):\"\"}function qt(Zt,fe,Be,br){if(!(br>0))return 0;for(var g=Be,Vi=Be+br-1,Ti=0;Ti=55296&&Tt<=57343){var Ms=Zt.charCodeAt(++Ti);Tt=65536+((Tt&1023)<<10)|Ms&1023}if(Tt<=127){if(Be>=Vi)break;fe[Be++]=Tt}else if(Tt<=2047){if(Be+1>=Vi)break;fe[Be++]=192|Tt>>6,fe[Be++]=128|Tt&63}else if(Tt<=65535){if(Be+2>=Vi)break;fe[Be++]=224|Tt>>12,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}else{if(Be+3>=Vi)break;fe[Be++]=240|Tt>>18,fe[Be++]=128|Tt>>12&63,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}}return fe[Be]=0,Be-g}function le(Zt,fe,Be){return qt(Zt,Li,fe,Be)}var ue=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0;function De(Zt,fe){Sr.set(Zt,fe)}function Ke(Zt,fe){return Zt%fe>0&&(Zt+=fe-Zt%fe),Zt}var rr,Sr,Li,oo,zl,No,ih,Uo,Si;function Ns(Zt){rr=Zt,t.HEAP8=Sr=new Int8Array(Zt),t.HEAP16=oo=new Int16Array(Zt),t.HEAP32=No=new Int32Array(Zt),t.HEAPU8=Li=new Uint8Array(Zt),t.HEAPU16=zl=new Uint16Array(Zt),t.HEAPU32=ih=new Uint32Array(Zt),t.HEAPF32=Uo=new Float32Array(Zt),t.HEAPF64=Si=new Float64Array(Zt)}var ll=5266928,kc=24016,Rc=t.TOTAL_MEMORY||33554432;t.buffer?rr=t.buffer:rr=new ArrayBuffer(Rc),Rc=rr.byteLength,Ns(rr),No[kc>>2]=ll;function Xi(Zt){for(;Zt.length>0;){var fe=Zt.shift();if(typeof fe==\"function\"){fe();continue}var Be=fe.func;typeof Be==\"number\"?fe.arg===void 0?t.dynCall_v(Be):t.dynCall_vi(Be,fe.arg):Be(fe.arg===void 0?null:fe.arg)}}var Jn=[],ki=[],ts=[],Vo=[];function cl(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)as(t.preRun.shift());Xi(Jn)}function xo(){Xi(ki)}function Pa(){Xi(ts)}function na(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)ao(t.postRun.shift());Xi(Vo)}function as(Zt){Jn.unshift(Zt)}function ao(Zt){Vo.unshift(Zt)}var Nl=Math.abs,ee=Math.ceil,ls=Math.floor,mn=Math.min,gi=0,oi=null,lo=null;function du(Zt){gi++,t.monitorRunDependencies&&t.monitorRunDependencies(gi)}function ul(Zt){if(gi--,t.monitorRunDependencies&&t.monitorRunDependencies(gi),gi==0&&(oi!==null&&(clearInterval(oi),oi=null),lo)){var fe=lo;lo=null,fe()}}t.preloadedImages={},t.preloadedAudios={};var bo=null,hl=\"data:application/octet-stream;base64,\";function Ia(Zt){return String.prototype.startsWith?Zt.startsWith(hl):Zt.indexOf(hl)===0}var wo,ve;bo=\"data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAHAAAABwAAAAEAAAACAAAABAAAAAMAAAAAAAAAAAAAAAcAAAADAAAAAQAAAAIAAAAFAAAABAAAAAAAAAAAAAAAYWxnb3MuYwBfcG9seWZpbGxJbnRlcm5hbABhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0dlb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9HZW9Cb3VuZGFyeQBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGgzVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAcGVudGFnb25Sb3RhdGlvbnMgPj0gMABkaXJlY3Rpb25Sb3RhdGlvbnMgPj0gMABiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvSDMAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAd2l0aGluUGVudGFnb25Sb3RhdGlvbnMgPj0gMABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl\";var jo=24032;function gn(Zt){return Zt}function Ul(Zt){var fe=/\\b__Z[\\w\\d_]+/g;return Zt.replace(fe,function(Be){var br=Be;return Be===br?Be:br+\" [\"+Be+\"]\"})}function Ca(){var Zt=new Error;if(!Zt.stack){try{throw new Error(0)}catch(fe){Zt=fe}if(!Zt.stack)return\"(no stack trace available)\"}return Zt.stack.toString()}function Te(){var Zt=Ca();return t.extraStackTrace&&(Zt+=`\n`+t.extraStackTrace()),Ul(Zt)}function Dr(Zt,fe,Be,br){oh(\"Assertion failed: \"+Xt(Zt)+\", at: \"+[fe?Xt(fe):\"unknown filename\",Be,br?Xt(br):\"unknown function\"])}function gr(){return Sr.length}function Us(Zt,fe,Be){Li.set(Li.subarray(fe,fe+Be),Zt)}function La(Zt){return t.___errno_location&&(No[t.___errno_location()>>2]=Zt),Zt}function Mr(Zt){oh(\"OOM\")}function sa(Zt){try{var fe=new ArrayBuffer(Zt);return fe.byteLength!=Zt?void 0:(new Int8Array(fe).set(Sr),xi(fe),Ns(fe),1)}catch{}}function gt(Zt){var fe=gr(),Be=16777216,br=2147483648-Be;if(Zt>br)return!1;for(var g=16777216,Vi=Math.max(fe,g);Vi>4,g=(Tt&15)<<4|Ms>>2,Vi=(Ms&3)<<6|cs,Be=Be+String.fromCharCode(br),Ms!==64&&(Be=Be+String.fromCharCode(g)),cs!==64&&(Be=Be+String.fromCharCode(Vi));while(li>2]=p,g[k+4>>2]=m,k=(C|0)!=0,k&&(g[C>>2]=0),ji(p,m)|0)return Nt=1,wt=Wt,Nt|0;g[Nt>>2]=0;t:do if((y|0)>=1)if(k)for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,g[C+(Ct<<2)>>2]=ot,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else k=0;while(!1);return Nt=k,wt=Wt,Nt|0}function Ba(p,m,y,S,C,k,L){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0,L=L|0;var z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if(Ct=wt,wt=wt+16|0,ot=Ct,(p|0)==0&(m|0)==0){wt=Ct;return}if(z=Yo(p|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0,It()|0,H=S+(z<<3)|0,Nt=H,Wt=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,it=(Wt|0)==(p|0)&(Nt|0)==(m|0),!((Wt|0)==0&(Nt|0)==0|it))do z=(z+1|0)%(k|0)|0,H=S+(z<<3)|0,Wt=H,Nt=g[Wt>>2]|0,Wt=g[Wt+4>>2]|0,it=(Nt|0)==(p|0)&(Wt|0)==(m|0);while(!((Nt|0)==0&(Wt|0)==0|it));if(z=C+(z<<2)|0,it&&(g[z>>2]|0)<=(L|0)){wt=Ct;return}if(Wt=H,g[Wt>>2]=p,g[Wt+4>>2]=m,g[z>>2]=L,(L|0)>=(y|0)){wt=Ct;return}Wt=L+1|0,g[ot>>2]=0,Nt=Wn(p,m,2,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,3,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,1,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,5,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,4,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,6,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),wt=Ct}function Wn(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if((g[S>>2]|0)>0){C=0;do y=Na(y)|0,C=C+1|0;while((C|0)<(g[S>>2]|0))}z=me(p|0,m|0,45)|0,It()|0,H=z&127,k=Es(p,m)|0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)L=6;else for(;;){if(Ct=(15-C|0)*3|0,Nt=me(p|0,m|0,Ct|0)|0,It()|0,Nt=Nt&7,Wt=(Ho(C)|0)==0,C=C+-1|0,ot=ke(7,0,Ct|0)|0,m=m&~(It()|0),Ct=ke(g[(Wt?464:48)+(Nt*28|0)+(y<<2)>>2]|0,0,Ct|0)|0,it=It()|0,y=g[(Wt?672:256)+(Nt*28|0)+(y<<2)>>2]|0,p=Ct|p&~ot,m=it|m,!y){y=0;break t}if(!C){L=6;break}}while(!1);(L|0)==6&&(Wt=g[880+(H*28|0)+(y<<2)>>2]|0,Nt=ke(Wt|0,0,45)|0,p=Nt|p,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+(y<<2)>>2]|0,(Wt&127|0)==127&&(Wt=ke(g[880+(H*28|0)+20>>2]|0,0,45)|0,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+20>>2]|0,p=Wo(Wt|p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1)),L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){e:do if((Es(p,m)|0)==1){if((H|0)!=(L|0))if(ch(L,g[7728+(H*28|0)>>2]|0)|0){p=Fd(p,m)|0,k=1,m=It()|0;break}else{p=Wo(p,m)|0,k=1,m=It()|0;break}switch(k|0){case 5:{p=Fd(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+5,k=0;break e}case 3:{p=Wo(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1,k=0;break e}default:return Nt=0,Wt=0,Je(Nt|0),Wt|0}}else k=0;while(!1);if((y|0)>0){C=0;do p=gh(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}if((H|0)!=(L|0)){if(!(mu(L)|0)){if((k|0)!=0|(Es(p,m)|0)!=5)break;g[S>>2]=(g[S>>2]|0)+1;break}switch(z&127){case 8:case 118:break t;default:}(Es(p,m)|0)!=3&&(g[S>>2]=(g[S>>2]|0)+1)}}else if((y|0)>0){C=0;do p=Wo(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}while(!1);return g[S>>2]=((g[S>>2]|0)+y|0)%6|0,Nt=m,Wt=p,Je(Nt|0),Wt|0}function p_(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;if(Ct=wt,wt=wt+16|0,ot=Ct,!y)return ot=S,g[ot>>2]=p,g[ot+4>>2]=m,ot=0,wt=Ct,ot|0;g[ot>>2]=0;t:do if(ji(p,m)|0)p=1;else{if(k=(y|0)>0,k){C=0,it=p;do{if(it=Wn(it,m,4,ot)|0,m=It()|0,(it|0)==0&(m|0)==0){p=2;break t}if(C=C+1|0,ji(it,m)|0){p=1;break t}}while((C|0)<(y|0));if(H=S,g[H>>2]=it,g[H+4>>2]=m,H=y+-1|0,k){k=0,L=1,C=it,p=m;do{if(C=Wn(C,p,2,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(L<<3)|0,g[z>>2]=C,g[z+4>>2]=p,L=L+1|0,ji(C,p)|0){p=1;break t}k=k+1|0}while((k|0)<(y|0));z=0,k=L;do{if(C=Wn(C,p,3,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(L=S+(k<<3)|0,g[L>>2]=C,g[L+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}z=z+1|0}while((z|0)<(y|0));L=0;do{if(C=Wn(C,p,1,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,5,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,4,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));for(L=0;;){if(C=Wn(C,p,6,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if((L|0)!=(H|0))if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,!(ji(C,p)|0))k=k+1|0;else{p=1;break t}if(L=L+1|0,(L|0)>=(y|0)){L=it,k=m;break}}}else L=it,C=it,k=m,p=m}else L=S,g[L>>2]=p,g[L+4>>2]=m,L=p,C=p,k=m,p=m;p=((L|0)!=(C|0)|(k|0)!=(p|0))&1}while(!1);return ot=p,wt=Ct,ot|0}function Cd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(k=wt,wt=wt+48|0,C=k+8|0,S=k,z=p,L=g[z+4>>2]|0,y=S,g[y>>2]=g[z>>2],g[y+4>>2]=L,Ee(S,C),C=uh(C,m)|0,m=g[S>>2]|0,S=g[p+8>>2]|0,(S|0)<=0)return z=m,L=(C|0)<(z|0),z=L?z:C,z=z+12|0,wt=k,z|0;y=g[p+12>>2]|0,p=0;do m=(g[y+(p<<3)>>2]|0)+m|0,p=p+1|0;while((p|0)<(S|0));return z=(C|0)<(m|0),z=z?m:C,z=z+12|0,wt=k,z|0}function $p(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;if(z=wt,wt=wt+48|0,S=z+8|0,C=z,!(Xp(p,m,y)|0)){wt=z;return}if(H=p,k=g[H+4>>2]|0,L=C,g[L>>2]=g[H>>2],g[L+4>>2]=k,Ee(C,S),L=uh(S,m)|0,m=g[C>>2]|0,k=g[p+8>>2]|0,(k|0)>0){C=g[p+12>>2]|0,S=0;do m=(g[C+(S<<3)>>2]|0)+m|0,S=S+1|0;while((S|0)!=(k|0))}if(m=(L|0)<(m|0)?m:L,(m|0)<=-12){wt=z;return}H=m+11|0,Fc(y|0,0,(((H|0)>0?H:0)<<3)+8|0)|0,wt=z}function Xp(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Or=wt,wt=wt+112|0,hn=Or+80|0,H=Or+72|0,Pi=Or,Sn=Or+56|0,it=p+8|0,yn=ho((g[it>>2]<<5)+32|0)|0,yn||Mi(22848,22448,800,22456),pr(p,yn),k=p,S=g[k+4>>2]|0,z=H,g[z>>2]=g[k>>2],g[z+4>>2]=S,Ee(H,hn),z=uh(hn,m)|0,S=g[H>>2]|0,k=g[it>>2]|0,(k|0)>0){L=g[p+12>>2]|0,C=0;do S=(g[L+(C<<3)>>2]|0)+S|0,C=C+1|0;while((C|0)!=(k|0))}if(z=(z|0)<(S|0)?S:z,Ei=z+12|0,C=Ua(Ei,8)|0,ot=Ua(Ei,8)|0,g[hn>>2]=0,Zr=p,qi=g[Zr+4>>2]|0,S=H,g[S>>2]=g[Zr>>2],g[S+4>>2]=qi,S=i0(H,Ei,m,hn,C,ot)|0,S|0)return Gr(C),Gr(ot),Gr(yn),yn=S,wt=Or,yn|0;t:do if((g[it>>2]|0)>0){for(k=p+12|0,S=0;L=i0((g[k>>2]|0)+(S<<3)|0,Ei,m,hn,C,ot)|0,S=S+1|0,!(L|0);)if((S|0)>=(g[it>>2]|0))break t;return Gr(C),Gr(ot),Gr(yn),yn=L,wt=Or,yn|0}while(!1);(z|0)>-12&&Fc(ot|0,0,((Ei|0)>1?Ei:1)<<3|0)|0;t:do if((g[hn>>2]|0)>0){qi=((Ei|0)<0)<<31>>31,Ut=C,$e=ot,er=C,we=C,je=ot,Zr=C,S=C,Le=C,We=ot,te=ot,_e=ot,C=ot;e:for(;;){for(ne=g[hn>>2]|0,Wt=0,re=0,k=0;;){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));if(m=Ut+(Wt<<3)|0,H=g[m>>2]|0,m=g[m+4>>2]|0,yf(H,m,1,Pi,0)|0){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));L=Ua(7,4)|0,L|0&&(Ba(H,m,1,Pi,L,7,0),Gr(L))}Nt=0;do{Ct=Pi+(Nt<<3)|0,ot=g[Ct>>2]|0,Ct=g[Ct+4>>2]|0;r:do if(!((ot|0)==0&(Ct|0)==0)){if(H=Yo(ot|0,Ct|0,Ei|0,qi|0)|0,It()|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,!((m|0)==0&(z|0)==0))for(it=0;;){if((it|0)>(Ei|0))break e;if((m|0)==(ot|0)&(z|0)==(Ct|0))break r;if(H=(H+1|0)%(Ei|0)|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,(m|0)==0&(z|0)==0)break;it=it+1|0}(ot|0)==0&(Ct|0)==0||(l(ot,Ct,Sn),tr(p,yn,Sn)|0&&(it=L,g[it>>2]=ot,g[it+4>>2]=Ct,it=$e+(k<<3)|0,g[it>>2]=ot,g[it+4>>2]=Ct,k=k+1|0))}while(!1);Nt=Nt+1|0}while(Nt>>>0<7);if(re=re+1|0,(re|0)>=(ne|0))break;Wt=Wt+1|0}if((ne|0)>0&&Fc(er|0,0,ne<<3|0)|0,g[hn>>2]=k,(k|0)>0)ot=C,Ct=_e,Nt=Zr,Wt=te,re=We,ne=$e,C=Le,_e=S,te=we,We=er,Le=ot,S=Ct,Zr=je,je=Nt,we=Wt,er=re,$e=Ut,Ut=ne;else break t}return Gr(we),Gr(je),Gr(yn),yn=-1,wt=Or,yn|0}else S=ot;while(!1);return Gr(yn),Gr(C),Gr(S),yn=0,wt=Or,yn|0}function i0(p,m,y,S,C,k){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0;var L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0;if(qi=wt,wt=wt+48|0,er=qi+32|0,we=qi+16|0,je=qi,L=g[p>>2]|0,(L|0)<=0)return Zr=0,wt=qi,Zr|0;We=p+4|0,te=er+8|0,_e=we+8|0,Ut=je+8|0,$e=((m|0)<0)<<31>>31,Le=0;t:for(;;){z=g[We>>2]|0,re=z+(Le<<4)|0,g[er>>2]=g[re>>2],g[er+4>>2]=g[re+4>>2],g[er+8>>2]=g[re+8>>2],g[er+12>>2]=g[re+12>>2],(Le|0)==(L+-1|0)?(g[we>>2]=g[z>>2],g[we+4>>2]=g[z+4>>2],g[we+8>>2]=g[z+8>>2],g[we+12>>2]=g[z+12>>2]):(re=z+(Le+1<<4)|0,g[we>>2]=g[re>>2],g[we+4>>2]=g[re+4>>2],g[we+8>>2]=g[re+8>>2],g[we+12>>2]=g[re+12>>2]),re=la(er,we,y)|0;e:do if((re|0)>0){ne=+(re|0),Wt=0;r:for(;;){hn=+(re-Wt|0),Ei=+(Wt|0),Tt[je>>3]=+Tt[er>>3]*hn/ne+ +Tt[we>>3]*Ei/ne,Tt[Ut>>3]=+Tt[te>>3]*hn/ne+ +Tt[_e>>3]*Ei/ne,Ct=lA(je,y)|0,Nt=It()|0,z=Yo(Ct|0,Nt|0,m|0,$e|0)|0,It()|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0;i:do if((it|0)==0&(H|0)==0)Zr=14;else for(ot=0;;){if((ot|0)>(m|0)){L=1;break i}if((it|0)==(Ct|0)&(H|0)==(Nt|0)){L=7;break i}if(z=(z+1|0)%(m|0)|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0){Zr=14;break}else ot=ot+1|0}while(!1);switch((Zr|0)==14&&(Zr=0,(Ct|0)==0&(Nt|0)==0?L=7:(g[L>>2]=Ct,g[L+4>>2]=Nt,L=g[S>>2]|0,ot=C+(L<<3)|0,g[ot>>2]=Ct,g[ot+4>>2]=Nt,g[S>>2]=L+1,L=0)),L&7){case 7:case 0:break;default:break r}if(Wt=Wt+1|0,(re|0)<=(Wt|0)){Zr=8;break e}}if(L|0){L=-1,Zr=20;break t}}else Zr=8;while(!1);if((Zr|0)==8&&(Zr=0),Le=Le+1|0,L=g[p>>2]|0,(Le|0)>=(L|0)){L=0,Zr=20;break}}return(Zr|0)==20?(wt=qi,L|0):0}function Cn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+176|0,H=it,(m|0)<1){vu(y,0,0),wt=it;return}L=p,L=me(g[L>>2]|0,g[L+4>>2]|0,52)|0,It()|0,vu(y,(m|0)>6?m:6,L&15),L=0;do{if(S=p+(L<<3)|0,d(g[S>>2]|0,g[S+4>>2]|0,H),S=g[H>>2]|0,(S|0)>0){z=0;do k=H+8+(z<<4)|0,z=z+1|0,S=H+8+(((z|0)%(S|0)|0)<<4)|0,C=yh(y,S,k)|0,C?Ps(y,C)|0:Eo(y,k,S)|0,S=g[H>>2]|0;while((z|0)<(S|0))}L=L+1|0}while((L|0)!=(m|0));wt=it}function ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=wt,wt=wt+32|0,S=k,C=k+16|0,Cn(p,m,C),g[y>>2]=0,g[y+4>>2]=0,g[y+8>>2]=0,p=Ws(C)|0,!p){Ht(y)|0,_h(C),wt=k;return}do{m=yt(y)|0;do dt(m,p)|0,L=p+16|0,g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],g[S+12>>2]=g[L+12>>2],Ps(C,p)|0,p=Fn(C,S)|0;while(p|0);p=Ws(C)|0}while(p|0);Ht(y)|0,_h(C),wt=k}function fi(p){return p=p|0,g[7728+(p*28|0)+16>>2]|0}function mu(p){return p=p|0,(p|0)==4|(p|0)==117|0}function vf(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)>>2]|0}function Kp(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)+4>>2]|0}function lh(p,m){p=p|0,m=m|0,p=7728+(p*28|0)|0,g[m>>2]=g[p>>2],g[m+4>>2]=g[p+4>>2],g[m+8>>2]=g[p+8>>2],g[m+12>>2]=g[p+12>>2]}function Ld(p,m){p=p|0,m=m|0;var y=0,S=0;if(m>>>0>20)return m=-1,m|0;do if((g[11152+(m*216|0)>>2]|0)!=(p|0))if((g[11152+(m*216|0)+8>>2]|0)!=(p|0))if((g[11152+(m*216|0)+16>>2]|0)!=(p|0))if((g[11152+(m*216|0)+24>>2]|0)!=(p|0))if((g[11152+(m*216|0)+32>>2]|0)!=(p|0))if((g[11152+(m*216|0)+40>>2]|0)!=(p|0))if((g[11152+(m*216|0)+48>>2]|0)!=(p|0))if((g[11152+(m*216|0)+56>>2]|0)!=(p|0))if((g[11152+(m*216|0)+64>>2]|0)!=(p|0))if((g[11152+(m*216|0)+72>>2]|0)!=(p|0))if((g[11152+(m*216|0)+80>>2]|0)!=(p|0))if((g[11152+(m*216|0)+88>>2]|0)!=(p|0))if((g[11152+(m*216|0)+96>>2]|0)!=(p|0))if((g[11152+(m*216|0)+104>>2]|0)!=(p|0))if((g[11152+(m*216|0)+112>>2]|0)!=(p|0))if((g[11152+(m*216|0)+120>>2]|0)!=(p|0))if((g[11152+(m*216|0)+128>>2]|0)!=(p|0))if((g[11152+(m*216|0)+136>>2]|0)==(p|0))p=2,y=1,S=2;else{if((g[11152+(m*216|0)+144>>2]|0)==(p|0)){p=0,y=2,S=0;break}if((g[11152+(m*216|0)+152>>2]|0)==(p|0)){p=0,y=2,S=1;break}if((g[11152+(m*216|0)+160>>2]|0)==(p|0)){p=0,y=2,S=2;break}if((g[11152+(m*216|0)+168>>2]|0)==(p|0)){p=1,y=2,S=0;break}if((g[11152+(m*216|0)+176>>2]|0)==(p|0)){p=1,y=2,S=1;break}if((g[11152+(m*216|0)+184>>2]|0)==(p|0)){p=1,y=2,S=2;break}if((g[11152+(m*216|0)+192>>2]|0)==(p|0)){p=2,y=2,S=0;break}if((g[11152+(m*216|0)+200>>2]|0)==(p|0)){p=2,y=2,S=1;break}if((g[11152+(m*216|0)+208>>2]|0)==(p|0)){p=2,y=2,S=2;break}else p=-1;return p|0}else p=2,y=1,S=1;else p=2,y=1,S=0;else p=1,y=1,S=2;else p=1,y=1,S=1;else p=1,y=1,S=0;else p=0,y=1,S=2;else p=0,y=1,S=1;else p=0,y=1,S=0;else p=2,y=0,S=2;else p=2,y=0,S=1;else p=2,y=0,S=0;else p=1,y=0,S=2;else p=1,y=0,S=1;else p=1,y=0,S=0;else p=0,y=0,S=2;else p=0,y=0,S=1;else p=0,y=0,S=0;while(!1);return m=g[11152+(m*216|0)+(y*72|0)+(p*24|0)+(S<<3)+4>>2]|0,m|0}function ch(p,m){return p=p|0,m=m|0,(g[7728+(p*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(g[7728+(p*28|0)+24>>2]|0)==(m|0),m|0)}function Jp(p,m){return p=p|0,m=m|0,g[880+(p*28|0)+(m<<2)>>2]|0}function tA(p,m){return p=p|0,m=m|0,(g[880+(p*28|0)>>2]|0)==(m|0)?(m=0,m|0):(g[880+(p*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(g[880+(p*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(g[880+(p*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(g[880+(p*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(g[880+(p*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((g[880+(p*28|0)+24>>2]|0)==(m|0)?6:7)|0}function A_(){return 122}function m_(p){p=p|0;var m=0,y=0,S=0;m=0;do ke(m|0,0,45)|0,S=It()|0|134225919,y=p+(m<<3)|0,g[y>>2]=-1,g[y+4>>2]=S,m=m+1|0;while((m|0)!=122)}function n0(p){return p=p|0,+Tt[p+16>>3]<+Tt[p+24>>3]|0}function pl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return y=+Tt[m>>3],!(y>=+Tt[p+8>>3])||!(y<=+Tt[p>>3])?(m=0,m|0):(S=+Tt[p+16>>3],y=+Tt[p+24>>3],C=+Tt[m+8>>3],m=C>=y,p=C<=S&1,S>2]=0,k=k+4|0;while((k|0)<(z|0));return O(m,C),k=C,z=g[k>>2]|0,k=g[k+4>>2]|0,l(z,k,y),d(z,k,S),H=+Bc(y,S+8|0),Tt[y>>3]=+Tt[p>>3],k=y+8|0,Tt[k>>3]=+Tt[p+16>>3],Tt[S>>3]=+Tt[p+8>>3],z=S+8|0,Tt[z>>3]=+Tt[p+24>>3],it=+Bc(y,S),z=~~+Ji(+(it*it/+ml(+ +li(+((+Tt[k>>3]-+Tt[z>>3])/(+Tt[y>>3]-+Tt[S>>3]))),3)/(H*(H*2.59807621135)*.8))),wt=L,(z|0?z:1)|0}function la(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;z=wt,wt=wt+288|0,S=z+264|0,C=z+96|0,k=z,L=k,H=L+96|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(H|0));return O(y,k),H=k,L=g[H>>2]|0,H=g[H+4>>2]|0,l(L,H,S),d(L,H,C),it=+Bc(S,C+8|0),H=~~+Ji(+(+Bc(p,m)/(it*2))),wt=z,(H|0?H:1)|0}function kd(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0,g[p>>2]=m,g[p+4>>2]=y,g[p+8>>2]=S}function g_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;Ct=m+8|0,g[Ct>>2]=0,H=+Tt[p>>3],L=+li(+H),it=+Tt[p+8>>3],z=+li(+it)/.8660254037844386,L=L+z*.5,y=~~L,p=~~z,L=L-+(y|0),z=z-+(p|0);do if(L<.5)if(L<.3333333333333333)if(g[m>>2]=y,z<(L+1)*.5){g[m+4>>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}else if(Nt=1-L,p=(!(z>2]=p,Nt<=z&z>2]=y;break}else{g[m>>2]=y;break}else{if(!(L<.6666666666666666))if(y=y+1|0,g[m>>2]=y,z>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}if(z<1-L){if(g[m+4>>2]=p,L*2+-1>2]=y;break}}else p=p+1|0,g[m+4>>2]=p;y=y+1|0,g[m>>2]=y}while(!1);do if(H<0)if(p&1){ot=(p+1|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-((+(ot>>>0)+4294967296*+(It()|0))*2+1)),g[m>>2]=y;break}else{ot=(p|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-(+(ot>>>0)+4294967296*+(It()|0))*2),g[m>>2]=y;break}while(!1);ot=m+4|0,it<0&&(y=y-((p<<1|1|0)/2|0)|0,g[m>>2]=y,p=0-p|0,g[ot>>2]=p),S=p-y|0,(y|0)<0?(C=0-y|0,g[ot>>2]=S,g[Ct>>2]=C,g[m>>2]=0,p=S,y=0):C=0,(p|0)<0&&(y=y-p|0,g[m>>2]=y,C=C-p|0,g[Ct>>2]=C,g[ot>>2]=0,p=0),k=y-C|0,S=p-C|0,(C|0)<0&&(g[m>>2]=k,g[ot>>2]=S,g[Ct>>2]=0,p=S,y=k,C=0),S=(p|0)<(y|0)?p:y,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[m>>2]=y-S,g[ot>>2]=p-S,g[Ct>>2]=C-S)}function js(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,(m|0)<0&&(y=y-m|0,g[L>>2]=y,k=p+8|0,g[k>>2]=(g[k>>2]|0)-m,g[p>>2]=0,m=0),(y|0)<0?(m=m-y|0,g[p>>2]=m,k=p+8|0,C=(g[k>>2]|0)-y|0,g[k>>2]=C,g[L>>2]=0,y=0):(C=p+8|0,k=C,C=g[C>>2]|0),(C|0)<0&&(m=m-C|0,g[p>>2]=m,y=y-C|0,g[L>>2]=y,g[k>>2]=0,C=0),S=(y|0)<(m|0)?y:m,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[p>>2]=m-S,g[L>>2]=y-S,g[k>>2]=C-S)}function gu(p,m){p=p|0,m=m|0;var y=0,S=0;S=g[p+8>>2]|0,y=+((g[p+4>>2]|0)-S|0),Tt[m>>3]=+((g[p>>2]|0)-S|0)-y*.5,Tt[m+8>>3]=y*.8660254037844386}function Ln(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[m>>2]|0)+(g[p>>2]|0),g[y+4>>2]=(g[m+4>>2]|0)+(g[p+4>>2]|0),g[y+8>>2]=(g[m+8>>2]|0)+(g[p+8>>2]|0)}function eA(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[p>>2]|0)-(g[m>>2]|0),g[y+4>>2]=(g[p+4>>2]|0)-(g[m+4>>2]|0),g[y+8>>2]=(g[p+8>>2]|0)-(g[m+8>>2]|0)}function ca(p,m){p=p|0,m=m|0;var y=0,S=0;y=Oc(g[p>>2]|0,m)|0,g[p>>2]=y,y=p+4|0,S=Oc(g[y>>2]|0,m)|0,g[y>>2]=S,p=p+8|0,m=Oc(g[p>>2]|0,m)|0,g[p>>2]=m}function Fa(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=g[p>>2]|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(k?0-S|0:0)+((g[p+8>>2]|0)-(z?L:0))|0,y=(C|0)<0,p=y?0:C,m=(k?0:S)-(y?C:0)|0,C=(z?0:L)-(k?S:0)-(y?C:0)|0,y=(m|0)<(C|0)?m:C,y=(p|0)<(y|0)?p:y,S=(y|0)>0,p=p-(S?y:0)|0,m=m-(S?y:0)|0;t:do switch(C-(S?y:0)|0){case 0:switch(m|0){case 0:return z=p|0?(p|0)==1?1:7:0,z|0;case 1:return z=p|0?(p|0)==1?3:7:2,z|0;default:break t}case 1:switch(m|0){case 0:return z=p|0?(p|0)==1?5:7:4,z|0;case 1:{if(!p)p=6;else break t;return p|0}default:break t}default:}while(!1);return z=7,z|0}function Rd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m*3|0)-y|0)/7)|0,g[p>>2]=S,m=_n(+((y<<1)+m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function Al(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m<<1)+y|0)/7)|0,g[p>>2]=S,m=_n(+((y*3|0)-m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function za(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m*3|0)|0,g[p>>2]=C,y=S+(y*3|0)|0,g[L>>2]=y,m=(S*3|0)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function hh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m*3|0)+C|0,C=y+(C*3|0)|0,g[p>>2]=C,g[L>>2]=S,m=(y*3|0)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function rA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;(m+-1|0)>>>0>=6||(C=(g[15472+(m*12|0)>>2]|0)+(g[p>>2]|0)|0,g[p>>2]=C,z=p+4|0,S=(g[15472+(m*12|0)+4>>2]|0)+(g[z>>2]|0)|0,g[z>>2]=S,L=p+8|0,m=(g[15472+(m*12|0)+8>>2]|0)+(g[L>>2]|0)|0,g[L>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[z>>2]=y,g[L>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[L>>2]=m,g[z>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[z>>2]=C-y,g[L>>2]=m-y))}function s0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=m+C|0,C=y+C|0,g[p>>2]=C,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function fh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,S=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,C=S+m|0,g[p>>2]=C,S=y+S|0,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Na(p){switch(p=p|0,p|0){case 1:{p=5;break}case 5:{p=4;break}case 4:{p=6;break}case 6:{p=2;break}case 2:{p=3;break}case 3:{p=1;break}default:}return p|0}function co(p){switch(p=p|0,p|0){case 1:{p=3;break}case 3:{p=2;break}case 2:{p=6;break}case 6:{p=4;break}case 4:{p=5;break}case 5:{p=1;break}default:}return p|0}function Ge(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m<<1)|0,g[p>>2]=C,y=S+(y<<1)|0,g[L>>2]=y,m=(S<<1)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Dd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m<<1)+C|0,C=y+(C<<1)|0,g[p>>2]=C,g[L>>2]=S,m=(y<<1)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function Hl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;return L=(g[p>>2]|0)-(g[m>>2]|0)|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(g[m+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(z?0-L|0:0)+(g[p+8>>2]|0)-(g[m+8>>2]|0)+(k?0-S|0:0)|0,p=(C|0)<0,m=p?0:C,y=(k?0:S)-(p?C:0)|0,C=(z?0:L)-(k?S:0)-(p?C:0)|0,p=(y|0)<(C|0)?y:C,p=(m|0)<(p|0)?m:p,S=(p|0)>0,m=m-(S?p:0)|0,y=y-(S?p:0)|0,p=C-(S?p:0)|0,p=(p|0)>-1?p:0-p|0,y=(y|0)>-1?y:0-y|0,m=(m|0)>-1?m:0-m|0,m=(y|0)>(m|0)?y:m,((p|0)>(m|0)?p:m)|0}function xf(p,m){p=p|0,m=m|0;var y=0;y=g[p+8>>2]|0,g[m>>2]=(g[p>>2]|0)-y,g[m+4>>2]=(g[p+4>>2]|0)-y}function __(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;S=g[p>>2]|0,g[m>>2]=S,p=g[p+4>>2]|0,L=m+4|0,g[L>>2]=p,z=m+8|0,g[z>>2]=0,y=p-S|0,(S|0)<0?(p=0-S|0,g[L>>2]=y,g[z>>2]=p,g[m>>2]=0,S=0):(y=p,p=0),(y|0)<0&&(S=S-y|0,g[m>>2]=S,p=p-y|0,g[z>>2]=p,g[L>>2]=0,y=0),k=S-p|0,C=y-p|0,(p|0)<0?(g[m>>2]=k,g[L>>2]=C,g[z>>2]=0,y=C,C=k,p=0):C=S,S=(y|0)<(C|0)?y:C,S=(p|0)<(S|0)?p:S,!((S|0)<=0)&&(g[m>>2]=C-S,g[L>>2]=y-S,g[z>>2]=p-S)}function Oe(p){p=p|0;var m=0,y=0,S=0,C=0;m=p+8|0,C=g[m>>2]|0,y=C-(g[p>>2]|0)|0,g[p>>2]=y,S=p+4|0,p=(g[S>>2]|0)-C|0,g[S>>2]=p,g[m>>2]=0-(p+y)}function o0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;y=g[p>>2]|0,m=0-y|0,g[p>>2]=m,L=p+8|0,g[L>>2]=0,z=p+4|0,S=g[z>>2]|0,C=S+y|0,(y|0)>0?(g[z>>2]=C,g[L>>2]=y,g[p>>2]=0,m=0,S=C):y=0,(S|0)<0?(k=m-S|0,g[p>>2]=k,y=y-S|0,g[L>>2]=y,g[z>>2]=0,C=k-y|0,m=0-y|0,(y|0)<0?(g[p>>2]=C,g[z>>2]=m,g[L>>2]=0,S=m,y=0):(S=0,C=k)):C=m,m=(S|0)<(C|0)?S:C,m=(y|0)<(m|0)?y:m,!((m|0)<=0)&&(g[p>>2]=C-m,g[z>>2]=S-m,g[L>>2]=y-m)}function a0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,zx(p,m,y,C),g_(C,y+4|0),wt=S}function zx(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0;if(H=wt,wt=wt+32|0,k=H,ql(p,k),g[y>>2]=0,C=+jr(15888,k),L=+jr(15912,k),L>2]=1,C=L),L=+jr(15936,k),L>2]=2,C=L),L=+jr(15960,k),L>2]=3,C=L),L=+jr(15984,k),L>2]=4,C=L),L=+jr(16008,k),L>2]=5,C=L),L=+jr(16032,k),L>2]=6,C=L),L=+jr(16056,k),L>2]=7,C=L),L=+jr(16080,k),L>2]=8,C=L),L=+jr(16104,k),L>2]=9,C=L),L=+jr(16128,k),L>2]=10,C=L),L=+jr(16152,k),L>2]=11,C=L),L=+jr(16176,k),L>2]=12,C=L),L=+jr(16200,k),L>2]=13,C=L),L=+jr(16224,k),L>2]=14,C=L),L=+jr(16248,k),L>2]=15,C=L),L=+jr(16272,k),L>2]=16,C=L),L=+jr(16296,k),L>2]=17,C=L),L=+jr(16320,k),L>2]=18,C=L),L=+jr(16344,k),L>2]=19,C=L),L=+_f(+(1-C*.5)),L<1e-16){g[S>>2]=0,g[S+4>>2]=0,g[S+8>>2]=0,g[S+12>>2]=0,wt=H;return}if(y=g[y>>2]|0,C=+Tt[16368+(y*24|0)>>3],C=+ph(C-+ph(+Od(15568+(y<<4)|0,p))),Ho(m)|0?z=+ph(C+-.3334731722518321):z=C,C=+To(+L)/.381966011250105,(m|0)>0){k=0;do C=C*2.6457513110645907,k=k+1|0;while((k|0)!=(m|0))}L=+Ur(+z)*C,Tt[S>>3]=L,z=+hi(+z)*C,Tt[S+8>>3]=z,wt=H}function dh(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;if(k=+hs(p),k<1e-16){m=15568+(m<<4)|0,g[C>>2]=g[m>>2],g[C+4>>2]=g[m+4>>2],g[C+8>>2]=g[m+8>>2],g[C+12>>2]=g[m+12>>2];return}if(L=+qr(+ +Tt[p+8>>3],+ +Tt[p>>3]),(y|0)>0){p=0;do k=k/2.6457513110645907,p=p+1|0;while((p|0)!=(y|0))}S?(k=k/3,y=(Ho(y)|0)==0,k=+Md(+((y?k:k/2.6457513110645907)*.381966011250105))):(k=+Md(+(k*.381966011250105)),Ho(y)|0&&(L=+ph(L+.3334731722518321))),f0(15568+(m<<4)|0,+ph(+Tt[16368+(m*24|0)>>3]-L),k,C)}function y_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,gu(p+4|0,C),dh(C,g[p>>2]|0,m,0,y),wt=S}function l0(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Sn=wt,wt=wt+272|0,k=Sn+256|0,te=Sn+240|0,Ei=Sn,hn=Sn+224|0,Pi=Sn+208|0,_e=Sn+176|0,Ut=Sn+160|0,$e=Sn+192|0,er=Sn+144|0,we=Sn+128|0,je=Sn+112|0,Zr=Sn+96|0,qi=Sn+80|0,g[k>>2]=m,g[te>>2]=g[p>>2],g[te+4>>2]=g[p+4>>2],g[te+8>>2]=g[p+8>>2],g[te+12>>2]=g[p+12>>2],c0(te,k,Ei),g[C>>2]=0,te=S+y+((S|0)==5&1)|0,(te|0)<=(y|0)){wt=Sn;return}H=g[k>>2]|0,it=hn+4|0,ot=_e+4|0,Ct=y+5|0,Nt=16848+(H<<2)|0,Wt=16928+(H<<2)|0,re=we+8|0,ne=je+8|0,Le=Zr+8|0,We=Pi+4|0,z=y;t:for(;;){L=Ei+(((z|0)%5|0)<<4)|0,g[Pi>>2]=g[L>>2],g[Pi+4>>2]=g[L+4>>2],g[Pi+8>>2]=g[L+8>>2],g[Pi+12>>2]=g[L+12>>2];do;while((bf(Pi,H,0,1)|0)==2);if((z|0)>(y|0)&(Ho(m)|0)!=0){if(g[_e>>2]=g[Pi>>2],g[_e+4>>2]=g[Pi+4>>2],g[_e+8>>2]=g[Pi+8>>2],g[_e+12>>2]=g[Pi+12>>2],gu(it,Ut),S=g[_e>>2]|0,k=g[17008+(S*80|0)+(g[hn>>2]<<2)>>2]|0,g[_e>>2]=g[18608+(S*80|0)+(k*20|0)>>2],L=g[18608+(S*80|0)+(k*20|0)+16>>2]|0,(L|0)>0){p=0;do s0(ot),p=p+1|0;while((p|0)<(L|0))}switch(L=18608+(S*80|0)+(k*20|0)+4|0,g[$e>>2]=g[L>>2],g[$e+4>>2]=g[L+4>>2],g[$e+8>>2]=g[L+8>>2],ca($e,(g[Nt>>2]|0)*3|0),Ln(ot,$e,ot),js(ot),gu(ot,er),yn=+(g[Wt>>2]|0),Tt[we>>3]=yn*3,Tt[re>>3]=0,Or=yn*-1.5,Tt[je>>3]=Or,Tt[ne>>3]=yn*2.598076211353316,Tt[Zr>>3]=Or,Tt[Le>>3]=yn*-2.598076211353316,g[17008+((g[_e>>2]|0)*80|0)+(g[Pi>>2]<<2)>>2]|0){case 1:{p=je,S=we;break}case 3:{p=Zr,S=je;break}case 2:{p=we,S=Zr;break}default:{p=12;break t}}Bn(Ut,er,S,p,qi),dh(qi,g[_e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1}if((z|0)<(Ct|0)&&(gu(We,_e),dh(_e,g[Pi>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),g[hn>>2]=g[Pi>>2],g[hn+4>>2]=g[Pi+4>>2],g[hn+8>>2]=g[Pi+8>>2],g[hn+12>>2]=g[Pi+12>>2],z=z+1|0,(z|0)>=(te|0)){p=3;break}}if((p|0)==3){wt=Sn;return}else(p|0)==12&&Mi(22474,22521,581,22531)}function c0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+128|0,S=H+64|0,C=H,k=S,L=20208,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20272,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],y=y+68|0,Ln(C,S+48|0,y),js(y),wt=H}function bf(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(re=wt,wt=wt+32|0,Nt=re+12|0,z=re,Wt=p+4|0,Ct=g[16928+(m<<2)>>2]|0,ot=(S|0)!=0,Ct=ot?Ct*3|0:Ct,C=g[Wt>>2]|0,it=p+8|0,L=g[it>>2]|0,ot){if(k=p+12|0,S=g[k>>2]|0,C=L+C+S|0,(C|0)==(Ct|0))return Wt=1,wt=re,Wt|0;H=k}else H=p+12|0,S=g[H>>2]|0,C=L+C+S|0;if((C|0)<=(Ct|0))return Wt=0,wt=re,Wt|0;do if((S|0)>0){if(S=g[p>>2]|0,(L|0)>0){k=18608+(S*80|0)+60|0,S=p;break}S=18608+(S*80|0)+40|0,y?(kd(Nt,Ct,0,0),eA(Wt,Nt,z),fh(z),Ln(z,Nt,Wt),k=S,S=p):(k=S,S=p)}else k=18608+((g[p>>2]|0)*80|0)+20|0,S=p;while(!1);if(g[S>>2]=g[k>>2],C=k+16|0,(g[C>>2]|0)>0){S=0;do s0(Wt),S=S+1|0;while((S|0)<(g[C>>2]|0))}return p=k+4|0,g[Nt>>2]=g[p>>2],g[Nt+4>>2]=g[p+4>>2],g[Nt+8>>2]=g[p+8>>2],m=g[16848+(m<<2)>>2]|0,ca(Nt,ot?m*3|0:m),Ln(Wt,Nt,Wt),js(Wt),ot?S=((g[it>>2]|0)+(g[Wt>>2]|0)+(g[H>>2]|0)|0)==(Ct|0)?1:2:S=2,Wt=S,wt=re,Wt|0}function u0(p,m){p=p|0,m=m|0;var y=0;do y=bf(p,m,0,1)|0;while((y|0)==2);return y|0}function iA(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0;if(Zr=wt,wt=wt+240|0,k=Zr+224|0,$e=Zr+208|0,er=Zr,we=Zr+192|0,je=Zr+176|0,Le=Zr+160|0,We=Zr+144|0,te=Zr+128|0,_e=Zr+112|0,Ut=Zr+96|0,g[k>>2]=m,g[$e>>2]=g[p>>2],g[$e+4>>2]=g[p+4>>2],g[$e+8>>2]=g[p+8>>2],g[$e+12>>2]=g[p+12>>2],nA($e,k,er),g[C>>2]=0,ne=S+y+((S|0)==6&1)|0,(ne|0)<=(y|0)){wt=Zr;return}H=g[k>>2]|0,it=y+6|0,ot=16928+(H<<2)|0,Ct=We+8|0,Nt=te+8|0,Wt=_e+8|0,re=we+4|0,L=0,z=y,S=-1;t:for(;;){if(k=(z|0)%6|0,p=er+(k<<4)|0,g[we>>2]=g[p>>2],g[we+4>>2]=g[p+4>>2],g[we+8>>2]=g[p+8>>2],g[we+12>>2]=g[p+12>>2],p=L,L=bf(we,H,0,1)|0,(z|0)>(y|0)&(Ho(m)|0)!=0&&(p|0)!=1&&(g[we>>2]|0)!=(S|0)){switch(gu(er+(((k+5|0)%6|0)<<4)+4|0,je),gu(er+(k<<4)+4|0,Le),qi=+(g[ot>>2]|0),Tt[We>>3]=qi*3,Tt[Ct>>3]=0,Ei=qi*-1.5,Tt[te>>3]=Ei,Tt[Nt>>3]=qi*2.598076211353316,Tt[_e>>3]=Ei,Tt[Wt>>3]=qi*-2.598076211353316,k=g[$e>>2]|0,g[17008+(k*80|0)+(((S|0)==(k|0)?g[we>>2]|0:S)<<2)>>2]|0){case 1:{p=te,S=We;break}case 3:{p=_e,S=te;break}case 2:{p=We,S=_e;break}default:{p=8;break t}}Bn(je,Le,S,p,Ut),!(qo(je,Ut)|0)&&!(qo(Le,Ut)|0)&&(dh(Ut,g[$e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1)}if((z|0)<(it|0)&&(gu(re,je),dh(je,g[we>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),z=z+1|0,(z|0)>=(ne|0)){p=3;break}else S=g[we>>2]|0}if((p|0)==3){wt=Zr;return}else(p|0)==8&&Mi(22557,22521,746,22602)}function nA(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+160|0,S=H+80|0,C=H,k=S,L=20336,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20416,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],m=y+68|0,Ln(C,S+48|0,m),js(m),g[y+80>>2]=g[p>>2],y=y+84|0,Ln(C,S+60|0,y),js(y),wt=H}function ph(p){p=+p;var m=0;return m=p<0?p+6.283185307179586:p,+(p>=6.283185307179586?m+-6.283185307179586:m)}function us(p,m){return p=p|0,m=m|0,+li(+(+Tt[p>>3]-+Tt[m>>3]))<17453292519943298e-27?(m=+li(+(+Tt[p+8>>3]-+Tt[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function _u(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2)}function Bc(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475)}function h0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475*1e3)}function Od(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;return k=+Tt[m>>3],S=+Ur(+k),C=+Tt[m+8>>3]-+Tt[p+8>>3],L=S*+hi(+C),y=+Tt[p>>3],+ +qr(+L,+(+hi(+k)*+Ur(+y)-+Ur(+C)*(S*+hi(+y))))}function f0(p,m,y,S){p=p|0,m=+m,y=+y,S=S|0;var C=0,k=0,L=0,z=0;if(y<1e-16){g[S>>2]=g[p>>2],g[S+4>>2]=g[p+4>>2],g[S+8>>2]=g[p+8>>2],g[S+12>>2]=g[p+12>>2];return}k=m<0?m+6.283185307179586:m,k=m>=6.283185307179586?k+-6.283185307179586:k;do if(k<1e-16)m=+Tt[p>>3]+y,Tt[S>>3]=m,C=S;else{if(C=+li(+(k+-3.141592653589793))<1e-16,m=+Tt[p>>3],C){m=m-y,Tt[S>>3]=m,C=S;break}if(L=+Ur(+y),y=+hi(+y),m=L*+hi(+m)+ +Ur(+k)*(y*+Ur(+m)),m=m>1?1:m,m=+h_(+(m<-1?-1:m)),Tt[S>>3]=m,+li(+(m+-1.5707963267948966))<1e-16){Tt[S>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[S>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(z=+Ur(+m),k=y*+hi(+k)/z,y=+Tt[p>>3],m=(L-+hi(+m)*+hi(+y))/+Ur(+y)/z,L=k>1?1:k,m=m>1?1:m,m=+Tt[p+8>>3]+ +qr(+(L<-1?-1:L),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m;return}while(!1);if(+li(+(m+-1.5707963267948966))<1e-16){Tt[C>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[C>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(m=+Tt[p+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m}function v_(p){return p=p|0,+ +Tt[20496+(p<<3)>>3]}function ua(p){return p=p|0,+ +Tt[20624+(p<<3)>>3]}function un(p){return p=p|0,+ +Tt[20752+(p<<3)>>3]}function sA(p){return p=p|0,+ +Tt[20880+(p<<3)>>3]}function d0(p){p=p|0;var m=0;return m=21008+(p<<3)|0,p=g[m>>2]|0,Je(g[m+4>>2]|0),p|0}function Ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;return Nt=+Tt[m>>3],ot=+Tt[p>>3],H=+hi(+((Nt-ot)*.5)),k=+Tt[m+8>>3],it=+Tt[p+8>>3],L=+hi(+((k-it)*.5)),z=+Ur(+ot),Ct=+Ur(+Nt),L=H*H+L*(Ct*z*L),L=+qr(+ +bn(+L),+ +bn(+(1-L)))*2,H=+Tt[y>>3],Nt=+hi(+((H-Nt)*.5)),S=+Tt[y+8>>3],k=+hi(+((S-k)*.5)),C=+Ur(+H),k=Nt*Nt+k*(Ct*C*k),k=+qr(+ +bn(+k),+ +bn(+(1-k)))*2,H=+hi(+((ot-H)*.5)),S=+hi(+((it-S)*.5)),S=H*H+S*(z*C*S),S=+qr(+ +bn(+S),+ +bn(+(1-S)))*2,C=(L+k+S)*.5,+(+Md(+ +bn(+(+To(+(C*.5))*+To(+((C-L)*.5))*+To(+((C-k)*.5))*+To(+((C-S)*.5)))))*4)}function x_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)<=0)return y=0,wt=k,+y;if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)==1)return wt=k,+y;p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0));return wt=k,+y}function b_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475)}function Nx(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475*1e3*1e3)}function Mo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+S)*+Ur(+H)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)<(m|0));return wt=L,+y}function oA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475,wt=L,+it}function nr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475*1e3,wt=L,+it}function dr(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&15|0}function wf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,45)|0,It()|0,m&127|0}function aA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(!(!0&(m&-16777216|0)==134217728)||(L=me(p|0,m|0,45)|0,It()|0,L=L&127,L>>>0>121))return m=0,m|0;y=me(p|0,m|0,52)|0,It()|0,y=y&15;do if(y|0){for(C=1,S=0;;){if(k=me(p|0,m|0,(15-C|0)*3|0)|0,It()|0,k=k&7,(k|0)!=0&(S^1))if((k|0)==1&(fi(L)|0)!=0){z=0,S=13;break}else S=1;if((k|0)==7){z=0,S=13;break}if(C>>>0>>0)C=C+1|0;else{S=9;break}}if((S|0)==9){if((y|0)==15)z=1;else break;return z|0}else if((S|0)==13)return z|0}while(!1);for(;;){if(z=me(p|0,m|0,(14-y|0)*3|0)|0,It()|0,!((z&7|0)==7&!0)){z=0,S=13;break}if(y>>>0<14)y=y+1|0;else{z=1,S=13;break}}return(S|0)==13?z|0:0}function Bd(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(S|0)>=(y|0)){if((S|0)!=(y|0))if(y>>>0<=15){if(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)>(y|0))do C=ke(7,0,(14-y|0)*3|0)|0,y=y+1|0,p=C|p,m=It()|0|m;while((y|0)<(S|0))}else m=0,p=0}else m=0,p=0;return Je(m|0),p|0}function Hn(p,m,y){return p=p|0,m=m|0,y=y|0,p=me(p|0,m|0,52)|0,It()|0,p=p&15,(y|0)<16&(p|0)<=(y|0)?(y=Ze(7,y-p|0)|0,y|0):(y=0,y|0)}function uo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(L=me(p|0,m|0,52)|0,It()|0,L=L&15,!!((y|0)<16&(L|0)<=(y|0))){if((L|0)==(y|0)){y=S,g[y>>2]=p,g[y+4>>2]=m;return}if(H=Ze(7,y-L|0)|0,it=(H|0)/7|0,z=me(p|0,m|0,45)|0,It()|0,!(fi(z&127)|0))k=0;else{t:do if(!L)C=0;else for(k=1;;){if(C=me(p|0,m|0,(15-k|0)*3|0)|0,It()|0,C=C&7,C|0)break t;if(k>>>0>>0)k=k+1|0;else{C=0;break}}while(!1);k=(C|0)==0}if(ot=ke(L+1|0,0,52)|0,C=It()|0|m&-15728641,z=(14-L|0)*3|0,m=ke(7,0,z|0)|0,m=(ot|p)&~m,L=C&~(It()|0),uo(m,L,y,S),C=S+(it<<3)|0,!k){ot=ke(1,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(2,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0);return}k=C+(it<<3)|0,(H|0)>6&&(H=C+8|0,ot=(k>>>0>H>>>0?k:H)+-1+(0-C)|0,Fc(C|0,0,ot+8&-8|0)|0,C=H+(ot>>>3<<3)|0),ot=ke(2,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0)}}function ji(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,45)|0,It()|0,!(fi(C&127)|0))return C=0,C|0;C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)y=0;else for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0)break t;if(S>>>0>>0)S=S+1|0;else{y=0;break}}while(!1);return C=(y|0)==0&1,C|0}function w_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(y|0)<16&(S|0)<=(y|0)){if((S|0)!=(y|0)&&(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)<(y|0)))do C=ke(7,0,(14-S|0)*3|0)|0,S=S+1|0,p=p&~C,m=m&~(It()|0);while((S|0)<(y|0))}else m=0,p=0;return Je(m|0),p|0}function mh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0;if(!y)return we=0,we|0;if(C=p,S=g[C>>2]|0,C=g[C+4>>2]|0,!0&(C&15728640|0)==0){if((y|0)<=0||(we=m,g[we>>2]=S,g[we+4>>2]=C,(y|0)==1))return we=0,we|0;S=1;do $e=p+(S<<3)|0,er=g[$e+4>>2]|0,we=m+(S<<3)|0,g[we>>2]=g[$e>>2],g[we+4>>2]=er,S=S+1|0;while((S|0)!=(y|0));return S=0,S|0}if($e=y<<3,er=ho($e)|0,!er)return we=-3,we|0;if(Va(er|0,p|0,$e|0)|0,Ut=Ua(y,8)|0,!Ut)return Gr(er),we=-3,we|0;S=y;t:for(;;){L=er,ot=g[L>>2]|0,L=g[L+4>>2]|0,te=me(ot|0,L|0,52)|0,It()|0,te=te&15,_e=te+-1|0,We=(S|0)>0;e:do if(We){if(Le=((S|0)<0)<<31>>31,re=ke(_e|0,0,52)|0,ne=It()|0,_e>>>0>15)for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(k=me(p|0,y|0,52)|0,It()|0,k=k&15,z=(k|0)<(_e|0),k=(k|0)==(_e|0),it=z?0:k?p:0,p=z?0:k?y:0,y=Yo(it|0,p|0,S|0,Le|0)|0,It()|0,k=Ut+(y<<3)|0,z=k,H=g[z>>2]|0,z=g[z+4>>2]|0,(H|0)==0&(z|0)==0)y=it;else for(re=0,Wt=y,Nt=z,y=it;;){if((re|0)>(S|0)){we=41;break t}if((H|0)==(y|0)&(Nt&-117440513|0)==(p|0)){it=me(H|0,Nt|0,56)|0,It()|0,it=it&7,Ct=it+1|0,ne=me(H|0,Nt|0,45)|0,It()|0;r:do if(!(fi(ne&127)|0))z=7;else{if(H=me(H|0,Nt|0,52)|0,It()|0,H=H&15,!H){z=6;break}for(z=1;;){if(ne=ke(7,0,(15-z|0)*3|0)|0,!((ne&y|0)==0&((It()|0)&p|0)==0)){z=7;break r}if(z>>>0>>0)z=z+1|0;else{z=6;break}}}while(!1);if((it+2|0)>>>0>z>>>0){we=51;break t}ne=ke(Ct|0,0,56)|0,p=It()|0|p&-117440513,z=k,g[z>>2]=0,g[z+4>>2]=0,z=Wt,y=ne|y}else z=(Wt+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,Nt=k,H=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,(H|0)==0&(Nt|0)==0)break;re=re+1|0,Wt=z}ne=k,g[ne>>2]=y,g[ne+4>>2]=p}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(z=me(p|0,y|0,52)|0,It()|0,z=z&15,(z|0)>=(_e|0)){if((z|0)!=(_e|0)&&(p=p|re,y=y&-15728641|ne,z>>>0>=te>>>0)){k=_e;do Wt=ke(7,0,(14-k|0)*3|0)|0,k=k+1|0,p=Wt|p,y=It()|0|y;while(k>>>0>>0)}}else p=0,y=0;if(z=Yo(p|0,y|0,S|0,Le|0)|0,It()|0,k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,!((it|0)==0&(H|0)==0))for(Wt=0;;){if((Wt|0)>(S|0)){we=41;break t}if((it|0)==(p|0)&(H&-117440513|0)==(y|0)){Ct=me(it|0,H|0,56)|0,It()|0,Ct=Ct&7,Nt=Ct+1|0,je=me(it|0,H|0,45)|0,It()|0;r:do if(!(fi(je&127)|0))H=7;else{if(it=me(it|0,H|0,52)|0,It()|0,it=it&15,!it){H=6;break}for(H=1;;){if(je=ke(7,0,(15-H|0)*3|0)|0,!((je&p|0)==0&((It()|0)&y|0)==0)){H=7;break r}if(H>>>0>>0)H=H+1|0;else{H=6;break}}}while(!1);if((Ct+2|0)>>>0>H>>>0){we=51;break t}je=ke(Nt|0,0,56)|0,y=It()|0|y&-117440513,Nt=k,g[Nt>>2]=0,g[Nt+4>>2]=0,p=je|p}else z=(z+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0)break;Wt=Wt+1|0}je=k,g[je>>2]=p,g[je+4>>2]=y}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}}while(!1);if((S+5|0)>>>0<11){we=99;break}if(ne=Ua((S|0)/6|0,8)|0,!ne){we=58;break}e:do if(We){Wt=0,Nt=0;do{if(z=Ut+(Wt<<3)|0,p=z,C=g[p>>2]|0,p=g[p+4>>2]|0,!((C|0)==0&(p|0)==0)){H=me(C|0,p|0,56)|0,It()|0,H=H&7,y=H+1|0,it=p&-117440513,je=me(C|0,p|0,45)|0,It()|0;r:do if(fi(je&127)|0){if(Ct=me(C|0,p|0,52)|0,It()|0,Ct=Ct&15,Ct|0)for(k=1;;){if(je=ke(7,0,(15-k|0)*3|0)|0,!((C&je|0)==0&(it&(It()|0)|0)==0))break r;if(k>>>0>>0)k=k+1|0;else break}p=ke(y|0,0,56)|0,C=p|C,p=It()|0|it,y=z,g[y>>2]=C,g[y+4>>2]=p,y=H+2|0}while(!1);(y|0)==7&&(je=ne+(Nt<<3)|0,g[je>>2]=C,g[je+4>>2]=p&-117440513,Nt=Nt+1|0)}Wt=Wt+1|0}while((Wt|0)!=(S|0));if(We){if(re=((S|0)<0)<<31>>31,Ct=ke(_e|0,0,52)|0,Wt=It()|0,_e>>>0>15)for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){for(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,k=(H|0)<(_e|0),H=(H|0)==(_e|0),z=k?0:H?ot:0,H=k?0:H?L:0,k=Yo(z|0,H|0,S|0,re|0)|0,It()|0,y=0;;){if((y|0)>(S|0)){we=98;break t}if(je=Ut+(k<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(z|0)){we=70;break}if(k=(k+1|0)%(S|0)|0,je=Ut+(k<<3)|0,(g[je>>2]|0)==(z|0)&&(g[je+4>>2]|0)==(H|0))break;y=y+1|0}if((we|0)==70&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){if(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,(H|0)>=(_e|0))if((H|0)!=(_e|0))if(y=ot|Ct,k=L&-15728641|Wt,H>>>0>>0)H=k;else{z=_e;do je=ke(7,0,(14-z|0)*3|0)|0,z=z+1|0,y=je|y,k=It()|0|k;while(z>>>0>>0);H=k}else y=ot,H=L;else y=0,H=0;for(z=Yo(y|0,H|0,S|0,re|0)|0,It()|0,k=0;;){if((k|0)>(S|0)){we=98;break t}if(je=Ut+(z<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(y|0)){we=93;break}if(z=(z+1|0)%(S|0)|0,je=Ut+(z<<3)|0,(g[je>>2]|0)==(y|0)&&(g[je+4>>2]|0)==(H|0))break;k=k+1|0}if((we|0)==93&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}}else C=0,S=Nt}else C=0,S=0;while(!1);if(Fc(Ut|0,0,$e|0)|0,Va(er|0,ne|0,S<<3|0)|0,Gr(ne),S)m=m+(C<<3)|0;else break}return(we|0)==41?(Gr(er),Gr(Ut),je=-1,je|0):(we|0)==51?(Gr(er),Gr(Ut),je=-2,je|0):(we|0)==58?(Gr(er),Gr(Ut),je=-3,je|0):(we|0)==98?(Gr(ne),Gr(er),Gr(Ut),je=-1,je|0):((we|0)==99&&Va(m|0,er|0,S<<3|0)|0,Gr(er),Gr(Ut),je=0,je|0)}function kn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0;if((m|0)<=0)return C=0,C|0;if((C|0)>=16){for(k=0;;){if(ot=p+(k<<3)|0,!((g[ot>>2]|0)==0&(g[ot+4>>2]|0)==0)){k=14;break}if(k=k+1|0,(k|0)>=(m|0)){L=0,k=16;break}}if((k|0)==14)return((S|0)>0?-2:-1)|0;if((k|0)==16)return L|0}k=0,ot=0;t:for(;;){it=p+(ot<<3)|0,z=it,L=g[z>>2]|0,z=g[z+4>>2]|0;do if(!((L|0)==0&(z|0)==0)){if((k|0)>=(S|0)){L=-1,k=16;break t}if(H=me(L|0,z|0,52)|0,It()|0,H=H&15,(H|0)>(C|0)){L=-2,k=16;break t}if((H|0)==(C|0)){it=y+(k<<3)|0,g[it>>2]=L,g[it+4>>2]=z,k=k+1|0;break}if(L=(Ze(7,C-H|0)|0)+k|0,(L|0)>(S|0)){L=-1,k=16;break t}uo(g[it>>2]|0,g[it+4>>2]|0,C,y+(k<<3)|0),k=L}while(!1);if(ot=ot+1|0,(ot|0)>=(m|0)){L=0,k=16;break}}return(k|0)==16?L|0:0}function wn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if((m|0)<=0)return y=0,y|0;if((y|0)>=16){for(S=0;;){if(L=p+(S<<3)|0,!((g[L>>2]|0)==0&(g[L+4>>2]|0)==0)){S=-1,C=13;break}if(S=S+1|0,(S|0)>=(m|0)){S=0,C=13;break}}if((C|0)==13)return S|0}S=0,L=0;t:for(;;){C=p+(L<<3)|0,k=g[C>>2]|0,C=g[C+4>>2]|0;do if(!((k|0)==0&(C|0)==0)){if(C=me(k|0,C|0,52)|0,It()|0,C=C&15,(C|0)>(y|0)){S=-1,C=13;break t}if((C|0)==(y|0)){S=S+1|0;break}else{S=(Ze(7,y-C|0)|0)+S|0;break}}while(!1);if(L=L+1|0,(L|0)>=(m|0)){C=13;break}}return(C|0)==13?S|0:0}function Sf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&1|0}function Es(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,52)|0,It()|0,C=C&15,!C)return C=0,C|0;for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0){S=5;break}if(S>>>0>>0)S=S+1|0;else{y=0,S=5;break}}return(S|0)==5?y|0:0}function gh(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(Na(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(L=(15-y|0)*3|0,C=me(p|0,m|0,L|0)|0,It()|0,k=ke(7,0,L|0)|0,m=m&~(It()|0),L=ke(Na(C&7)|0,0,L|0)|0,p=p&~k|L,m=m|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Wo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;k=(15-y|0)*3|0,L=me(p|0,m|0,k|0)|0,It()|0,C=ke(7,0,k|0)|0,m=m&~(It()|0),k=ke(Na(L&7)|0,0,k|0)|0,p=k|p&~C,m=It()|0|m,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function p0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(co(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(C=(15-y|0)*3|0,k=ke(7,0,C|0)|0,L=m&~(It()|0),m=me(p|0,m|0,C|0)|0,It()|0,m=ke(co(m&7)|0,0,C|0)|0,p=p&~k|m,m=L|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Fd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;L=(15-y|0)*3|0,k=ke(7,0,L|0)|0,C=m&~(It()|0),m=me(p|0,m|0,L|0)|0,It()|0,m=ke(co(m&7)|0,0,L|0)|0,p=m|p&~k,m=It()|0|C,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function Tf(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(H=wt,wt=wt+64|0,z=H+40|0,S=H+24|0,C=H+12|0,k=H,ke(m|0,0,52)|0,y=It()|0|134225919,!m)return(g[p+4>>2]|0)>2||(g[p+8>>2]|0)>2||(g[p+12>>2]|0)>2?(L=0,z=0,Je(L|0),wt=H,z|0):(ke(vf(p)|0,0,45)|0,L=It()|0|y,z=-1,Je(L|0),wt=H,z|0);if(g[z>>2]=g[p>>2],g[z+4>>2]=g[p+4>>2],g[z+8>>2]=g[p+8>>2],g[z+12>>2]=g[p+12>>2],L=z+4|0,(m|0)>0)for(p=-1;g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],m&1?(Rd(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],za(C)):(Al(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],hh(C)),eA(S,C,k),js(k),ot=(15-m|0)*3|0,it=ke(7,0,ot|0)|0,y=y&~(It()|0),ot=ke(Fa(k)|0,0,ot|0)|0,p=ot|p&~it,y=It()|0|y,(m|0)>1;)m=m+-1|0;else p=-1;t:do if((g[L>>2]|0)<=2&&(g[z+8>>2]|0)<=2&&(g[z+12>>2]|0)<=2){if(S=vf(z)|0,m=ke(S|0,0,45)|0,m=m|p,p=It()|0|y&-1040385,k=Kp(z)|0,!(fi(S)|0)){if((k|0)<=0)break;for(C=0;;){if(S=me(m|0,p|0,52)|0,It()|0,S=S&15,S)for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0;if(C=C+1|0,(C|0)==(k|0))break t}}C=me(m|0,p|0,52)|0,It()|0,C=C&15;e:do if(C){y=1;r:for(;;){switch(ot=me(m|0,p|0,(15-y|0)*3|0)|0,It()|0,ot&7){case 1:break r;case 0:break;default:break e}if(y>>>0>>0)y=y+1|0;else break e}if(ch(S,g[z>>2]|0)|0)for(y=1;z=(15-y|0)*3|0,it=ke(7,0,z|0)|0,ot=p&~(It()|0),p=me(m|0,p|0,z|0)|0,It()|0,p=ke(co(p&7)|0,0,z|0)|0,m=m&~it|p,p=ot|(It()|0),y>>>0>>0;)y=y+1|0;else for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0}while(!1);if((k|0)>0){y=0;do m=gh(m,p)|0,p=It()|0,y=y+1|0;while((y|0)!=(k|0))}}else m=0,p=0;while(!1);return it=p,ot=m,Je(it|0),wt=H,ot|0}function Ho(p){return p=p|0,(p|0)%2|0|0}function lA(p,m){p=p|0,m=m|0;var y=0,S=0;return S=wt,wt=wt+16|0,y=S,m>>>0<=15&&(g[p+4>>2]&2146435072|0)!=2146435072&&(g[p+8+4>>2]&2146435072|0)!=2146435072?(a0(p,m,y),m=Tf(y,m)|0,p=It()|0):(p=0,m=0),Je(p|0),wt=S,m|0}function bi(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(C=y+4|0,k=me(p|0,m|0,52)|0,It()|0,k=k&15,L=me(p|0,m|0,45)|0,It()|0,S=(k|0)==0,fi(L&127)|0){if(S)return L=1,L|0;S=1}else{if(S)return L=0,L|0;!(g[C>>2]|0)&&!(g[y+8>>2]|0)?S=(g[y+12>>2]|0)!=0&1:S=1}for(y=1;y&1?za(C):hh(C),L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,rA(C,L&7),y>>>0>>0;)y=y+1|0;return S|0}function T(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;ot=wt,wt=wt+16|0,H=ot,it=me(p|0,m|0,45)|0,It()|0,it=it&127;t:do if(fi(it)|0&&(k=me(p|0,m|0,52)|0,It()|0,k=k&15,(k|0)!=0)){S=1;e:for(;;){switch(z=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,z&7){case 5:break e;case 0:break;default:{S=m;break t}}if(S>>>0>>0)S=S+1|0;else{S=m;break t}}for(C=1,S=m;m=(15-C|0)*3|0,L=ke(7,0,m|0)|0,z=S&~(It()|0),S=me(p|0,S|0,m|0)|0,It()|0,S=ke(co(S&7)|0,0,m|0)|0,p=p&~L|S,S=z|(It()|0),C>>>0>>0;)C=C+1|0}else S=m;while(!1);if(z=7728+(it*28|0)|0,g[y>>2]=g[z>>2],g[y+4>>2]=g[z+4>>2],g[y+8>>2]=g[z+8>>2],g[y+12>>2]=g[z+12>>2],!(bi(p,S,y)|0)){wt=ot;return}if(L=y+4|0,g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],k=me(p|0,S|0,52)|0,It()|0,z=k&15,k&1?(hh(L),k=z+1|0):k=z,!(fi(it)|0))S=0;else{t:do if(!z)S=0;else for(m=1;;){if(C=me(p|0,S|0,(15-m|0)*3|0)|0,It()|0,C=C&7,C|0){S=C;break t}if(m>>>0>>0)m=m+1|0;else{S=0;break}}while(!1);S=(S|0)==4&1}if(!(bf(y,k,S,0)|0))(k|0)!=(z|0)&&(g[L>>2]=g[H>>2],g[L+4>>2]=g[H+4>>2],g[L+8>>2]=g[H+8>>2]);else{if(fi(it)|0)do;while(bf(y,k,0,0)|0);(k|0)!=(z|0)&&Al(L)}wt=ot}function l(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,T(p,m,C),m=me(p|0,m|0,52)|0,It()|0,y_(C,m&15,y),wt=S}function d(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;L=wt,wt=wt+16|0,k=L,T(p,m,k),S=me(p|0,m|0,45)|0,It()|0,S=(fi(S&127)|0)==0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!S){if(C|0)for(S=1;;){if(z=ke(7,0,(15-S|0)*3|0)|0,!((z&p|0)==0&((It()|0)&m|0)==0))break t;if(S>>>0>>0)S=S+1|0;else break}l0(k,C,0,5,y),wt=L;return}while(!1);iA(k,C,0,6,y),wt=L}function v(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(S=me(p|0,m|0,45)|0,It()|0,!(fi(S&127)|0))return S=2,S|0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return S=5,S|0;for(y=1;;){if(C=ke(7,0,(15-y|0)*3|0)|0,!((C&p|0)==0&((It()|0)&m|0)==0)){y=2,p=6;break}if(y>>>0>>0)y=y+1|0;else{y=5,p=6;break}}return(p|0)==6?y|0:0}function b(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;Ct=wt,wt=wt+128|0,it=Ct+112|0,k=Ct+96|0,ot=Ct,C=me(p|0,m|0,52)|0,It()|0,z=C&15,g[it>>2]=z,L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){if(z|0)for(S=1;;){if(H=ke(7,0,(15-S|0)*3|0)|0,!((H&p|0)==0&((It()|0)&m|0)==0)){C=0;break t}if(S>>>0>>0)S=S+1|0;else break}if(C&1)C=1;else{H=ke(z+1|0,0,52)|0,ot=It()|0|m&-15728641,it=ke(7,0,(14-z|0)*3|0)|0,b((H|p)&~it,ot&~(It()|0),y),wt=Ct;return}}else C=0;while(!1);T(p,m,k),C?(c0(k,it,ot),H=5):(nA(k,it,ot),H=6);t:do if(fi(L)|0)if(!z)S=20;else for(S=1;;){if(L=ke(7,0,(15-S|0)*3|0)|0,!((L&p|0)==0&((It()|0)&m|0)==0)){S=8;break t}if(S>>>0>>0)S=S+1|0;else{S=20;break}}else S=8;while(!1);if(Fc(y|0,-1,S|0)|0,C){C=0;do{for(k=ot+(C<<4)|0,u0(k,g[it>>2]|0)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}else{C=0;do{for(k=ot+(C<<4)|0,bf(k,g[it>>2]|0,0,1)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}wt=Ct}function M(){return 12}function O(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(ke(p|0,0,52)|0,z=It()|0|134225919,(p|0)<1){S=0,y=0;do fi(S)|0&&(ke(S|0,0,45)|0,L=z|(It()|0),p=m+(y<<3)|0,g[p>>2]=-1,g[p+4>>2]=L,y=y+1|0),S=S+1|0;while((S|0)!=122);return}L=0,y=0;do{if(fi(L)|0){for(ke(L|0,0,45)|0,S=1,C=-1,k=z|(It()|0);H=ke(7,0,(15-S|0)*3|0)|0,C=C&~H,k=k&~(It()|0),(S|0)!=(p|0);)S=S+1|0;H=m+(y<<3)|0,g[H>>2]=C,g[H+4>>2]=k,y=y+1|0}L=L+1|0}while((L|0)!=122)}function B(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0;if(z=wt,wt=wt+64|0,L=z,(p|0)==(y|0)&(m|0)==(S|0)|(!1|(m&2013265920|0)!=134217728|(!1|(S&2013265920|0)!=134217728))||(C=me(p|0,m|0,52)|0,It()|0,C=C&15,k=me(y|0,S|0,52)|0,It()|0,(C|0)!=(k&15|0)))return L=0,wt=z,L|0;if(k=C+-1|0,C>>>0>1&&(it=Bd(p,m,k)|0,H=It()|0,k=Bd(y,S,k)|0,(it|0)==(k|0)&(H|0)==(It()|0))&&(k=(C^15)*3|0,C=me(p|0,m|0,k|0)|0,It()|0,C=C&7,k=me(y|0,S|0,k|0)|0,It()|0,k=k&7,(C|0)==0|(k|0)==0||(g[21136+(C<<2)>>2]|0)==(k|0)||(g[21168+(C<<2)>>2]|0)==(k|0)))return it=1,wt=z,it|0;C=L,k=C+56|0;do g[C>>2]=0,C=C+4|0;while((C|0)<(k|0));return f_(p,m,1,L),it=L,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0))&&(it=L+8|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+16|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+24|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+32|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+40|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))?(C=L+48|0,C=((g[C>>2]|0)==(y|0)?(g[C+4>>2]|0)==(S|0):0)&1):C=1,it=C,wt=z,it|0}function U(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(it=wt,wt=wt+16|0,L=it,!(B(p,m,y,S)|0))return z=0,H=0,Je(z|0),wt=it,H|0;for(z=m&-2130706433,C=(ji(p,m)|0)==0,C=C?1:2;g[L>>2]=0,ot=Wn(p,m,C,L)|0,k=C+1|0,!((ot|0)==(y|0)&(It()|0)==(S|0));)if(k>>>0<7)C=k;else{C=0,p=0,H=6;break}return(H|0)==6?(Je(C|0),wt=it,p|0):(ot=ke(C|0,0,56)|0,H=z|(It()|0)|268435456,ot=p|ot,Je(H|0),wt=it,ot|0)}function W(p,m){p=p|0,m=m|0;var y=0;return y=!0&(m&2013265920|0)==268435456,Je((y?m&-2130706433|134217728:0)|0),(y?p:0)|0}function Z(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return S=wt,wt=wt+16|0,y=S,!0&(m&2013265920|0)==268435456?(C=me(p|0,m|0,56)|0,It()|0,g[y>>2]=0,y=Wn(p,m&-2130706433|134217728,C&7,y)|0,m=It()|0,Je(m|0),wt=S,y|0):(m=0,y=0,Je(m|0),wt=S,y|0)}function $(p,m){p=p|0,m=m|0;var y=0;if(!(!0&(m&2013265920|0)==268435456))return y=0,y|0;switch(y=me(p|0,m|0,56)|0,It()|0,y&7){case 0:case 7:return y=0,y|0;default:}return y=m&-2130706433|134217728,!0&(m&117440512|0)==16777216&(ji(p,y)|0)!=0?(y=0,y|0):(y=aA(p,y)|0,y|0)}function st(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;k=wt,wt=wt+16|0,S=k,L=!0&(m&2013265920|0)==268435456,C=m&-2130706433|134217728,z=y,g[z>>2]=L?p:0,g[z+4>>2]=L?C:0,L?(m=me(p|0,m|0,56)|0,It()|0,g[S>>2]=0,p=Wn(p,C,m&7,S)|0,m=It()|0):(p=0,m=0),z=y+8|0,g[z>>2]=p,g[z+4>>2]=m,wt=k}function At(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;C=(ji(p,m)|0)==0,m=m&-2130706433,S=y,g[S>>2]=C?p:0,g[S+4>>2]=C?m|285212672:0,S=y+8|0,g[S>>2]=p,g[S+4>>2]=m|301989888,S=y+16|0,g[S>>2]=p,g[S+4>>2]=m|318767104,S=y+24|0,g[S>>2]=p,g[S+4>>2]=m|335544320,S=y+32|0,g[S>>2]=p,g[S+4>>2]=m|352321536,y=y+40|0,g[y>>2]=p,g[y+4>>2]=m|369098752}function pt(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;if(L=wt,wt=wt+16|0,k=L,S=me(p|0,m|0,56)|0,It()|0,z=!0&(m&2013265920|0)==268435456,C=z?p:0,p=z?m&-2130706433|134217728:0,m=yu(C,p,S&7)|0,(m|0)==-1){g[y>>2]=0,wt=L;return}T(C,p,k),S=me(C|0,p|0,52)|0,It()|0,S=S&15,ji(C,p)|0?l0(k,S,m,2,y):iA(k,S,m,2,y),wt=L}function yt(p){p=p|0;var m=0,y=0,S=0;return m=Ua(1,12)|0,m||Mi(22691,22646,49,22704),y=p+4|0,S=g[y>>2]|0,S|0?(S=S+8|0,g[S>>2]=m,g[y>>2]=m,m|0):(g[p>>2]|0&&Mi(22721,22646,61,22744),S=p,g[S>>2]=m,g[y>>2]=m,m|0)}function dt(p,m){p=p|0,m=m|0;var y=0,S=0;return S=ho(24)|0,S||Mi(22758,22646,78,22772),g[S>>2]=g[m>>2],g[S+4>>2]=g[m+4>>2],g[S+8>>2]=g[m+8>>2],g[S+12>>2]=g[m+12>>2],g[S+16>>2]=0,m=p+4|0,y=g[m>>2]|0,y|0?(g[y+16>>2]=S,g[m>>2]=S,S|0):(g[p>>2]|0&&Mi(22787,22646,82,22772),g[p>>2]=S,g[m>>2]=S,S|0)}function Ft(p){p=p|0;var m=0,y=0,S=0,C=0;if(p)for(S=1;;){if(m=g[p>>2]|0,m|0)do{if(y=g[m>>2]|0,y|0)do C=y,y=g[y+16>>2]|0,Gr(C);while(y|0);C=m,m=g[m+8>>2]|0,Gr(C)}while(m|0);if(m=p,p=g[p+8>>2]|0,S||Gr(m),p)S=0;else break}}function Ht(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(C=p+8|0,g[C>>2]|0)return Or=1,Or|0;if(S=g[p>>2]|0,!S)return Or=0,Or|0;m=S,y=0;do y=y+1|0,m=g[m+8>>2]|0;while(m|0);if(y>>>0<2)return Or=0,Or|0;Sn=ho(y<<2)|0,Sn||Mi(22807,22646,317,22826),Pi=ho(y<<5)|0,Pi||Mi(22848,22646,321,22826),g[p>>2]=0,er=p+4|0,g[er>>2]=0,g[C>>2]=0,y=0,hn=0,$e=0,Ct=0;t:for(;;){if(ot=g[S>>2]|0,ot){k=0,L=ot;do{if(H=+Tt[L+8>>3],m=L,L=g[L+16>>2]|0,it=(L|0)==0,C=it?ot:L,z=+Tt[C+8>>3],+li(+(H-z))>3.141592653589793){Or=14;break}k=k+(z-H)*(+Tt[m>>3]+ +Tt[C>>3])}while(!it);if((Or|0)==14){Or=0,k=0,m=ot;do Ut=+Tt[m+8>>3],Ei=m+16|0,qi=g[Ei>>2]|0,qi=qi|0?qi:ot,_e=+Tt[qi+8>>3],k=k+(+Tt[m>>3]+ +Tt[qi>>3])*((_e<0?_e+6.283185307179586:_e)-(Ut<0?Ut+6.283185307179586:Ut)),m=g[(m|0?Ei:S)>>2]|0;while(m|0)}k>0?(g[Sn+(hn<<2)>>2]=S,hn=hn+1|0,C=$e,m=Ct):Or=19}else Or=19;if((Or|0)==19){Or=0;do if(y){if(m=y+8|0,g[m>>2]|0){Or=21;break t}if(y=Ua(1,12)|0,!y){Or=23;break t}g[m>>2]=y,C=y+4|0,L=y,m=Ct}else if(Ct){C=er,L=Ct+8|0,m=S,y=p;break}else if(g[p>>2]|0){Or=27;break t}else{C=er,L=p,m=S,y=p;break}while(!1);if(g[L>>2]=S,g[C>>2]=S,L=Pi+($e<<5)|0,it=g[S>>2]|0,it){for(ot=Pi+($e<<5)+8|0,Tt[ot>>3]=17976931348623157e292,Ct=Pi+($e<<5)+24|0,Tt[Ct>>3]=17976931348623157e292,Tt[L>>3]=-17976931348623157e292,Nt=Pi+($e<<5)+16|0,Tt[Nt>>3]=-17976931348623157e292,We=17976931348623157e292,te=-17976931348623157e292,C=0,Wt=it,H=17976931348623157e292,ne=17976931348623157e292,Le=-17976931348623157e292,z=-17976931348623157e292;k=+Tt[Wt>>3],Ut=+Tt[Wt+8>>3],Wt=g[Wt+16>>2]|0,re=(Wt|0)==0,_e=+Tt[(re?it:Wt)+8>>3],k>3]=k,H=k),Ut>3]=Ut,ne=Ut),k>Le?Tt[L>>3]=k:k=Le,Ut>z&&(Tt[Nt>>3]=Ut,z=Ut),We=Ut>0&Utte?Ut:te,C=C|+li(+(Ut-_e))>3.141592653589793,!re;)Le=k;C&&(Tt[Nt>>3]=te,Tt[Ct>>3]=We)}else g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,g[L+12>>2]=0,g[L+16>>2]=0,g[L+20>>2]=0,g[L+24>>2]=0,g[L+28>>2]=0;C=$e+1|0}if(Ei=S+8|0,S=g[Ei>>2]|0,g[Ei>>2]=0,S)$e=C,Ct=m;else{Or=45;break}}if((Or|0)==21)Mi(22624,22646,35,22658);else if((Or|0)==23)Mi(22678,22646,37,22658);else if((Or|0)==27)Mi(22721,22646,61,22744);else if((Or|0)==45){t:do if((hn|0)>0){for(Ei=(C|0)==0,Zr=C<<2,qi=(p|0)==0,je=0,m=0;;){if(we=g[Sn+(je<<2)>>2]|0,Ei)Or=73;else{if($e=ho(Zr)|0,!$e){Or=50;break}if(er=ho(Zr)|0,!er){Or=52;break}e:do if(qi)y=0;else{for(C=0,y=0,L=p;S=Pi+(C<<5)|0,St(g[L>>2]|0,S,g[we>>2]|0)|0?(g[$e+(y<<2)>>2]=L,g[er+(y<<2)>>2]=S,re=y+1|0):re=y,L=g[L+8>>2]|0,L;)C=C+1|0,y=re;if((re|0)>0)if(S=g[$e>>2]|0,(re|0)==1)y=S;else for(Nt=0,Wt=-1,y=S,Ct=S;;){for(it=g[Ct>>2]|0,S=0,L=0;C=g[g[$e+(L<<2)>>2]>>2]|0,(C|0)==(it|0)?ot=S:ot=S+((St(C,g[er+(L<<2)>>2]|0,g[it>>2]|0)|0)&1)|0,L=L+1|0,(L|0)!=(re|0);)S=ot;if(C=(ot|0)>(Wt|0),y=C?Ct:y,S=Nt+1|0,(S|0)==(re|0))break e;Nt=S,Wt=C?ot:Wt,Ct=g[$e+(S<<2)>>2]|0}else y=0}while(!1);if(Gr($e),Gr(er),y){if(C=y+4|0,S=g[C>>2]|0,S)y=S+8|0;else if(g[y>>2]|0){Or=70;break}g[y>>2]=we,g[C>>2]=we}else Or=73}if((Or|0)==73){if(Or=0,m=g[we>>2]|0,m|0)do er=m,m=g[m+16>>2]|0,Gr(er);while(m|0);Gr(we),m=2}if(je=je+1|0,(je|0)>=(hn|0)){yn=m;break t}}(Or|0)==50?Mi(22863,22646,249,22882):(Or|0)==52?Mi(22901,22646,252,22882):(Or|0)==70&&Mi(22721,22646,61,22744)}else yn=0;while(!1);return Gr(Sn),Gr(Pi),Or=yn,Or|0}return 0}function St(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(!(pl(m,y)|0)||(m=n0(m)|0,it=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,p=g[p>>2]|0,!p))return p=0,p|0;if(m){m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(it-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}else{m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(it-k)/(z-k)*(L-C)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}return 0}function Bt(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(te=wt,wt=wt+32|0,We=te+16|0,Le=te,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Wt=me(y|0,S|0,52)|0,It()|0,(k|0)!=(Wt&15|0))return We=1,wt=te,We|0;if(it=me(p|0,m|0,45)|0,It()|0,it=it&127,ot=me(y|0,S|0,45)|0,It()|0,ot=ot&127,Wt=(it|0)!=(ot|0),Wt){if(z=tA(it,ot)|0,(z|0)==7)return We=2,wt=te,We|0;H=tA(ot,it)|0,(H|0)==7?Mi(22925,22949,151,22959):(re=z,L=H)}else re=0,L=0;Ct=fi(it)|0,Nt=fi(ot)|0,g[We>>2]=0,g[We+4>>2]=0,g[We+8>>2]=0,g[We+12>>2]=0;do if(re){if(ot=g[4304+(it*28|0)+(re<<2)>>2]|0,z=(ot|0)>0,Nt)if(z){it=0,H=y,z=S;do H=p0(H,z)|0,z=It()|0,L=co(L)|0,(L|0)==1&&(L=co(1)|0),it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;else if(z){it=0,H=y,z=S;do H=Fd(H,z)|0,z=It()|0,L=co(L)|0,it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;if(bi(it,H,We)|0,Wt||Mi(22972,22949,181,22959),z=(Ct|0)!=0,L=(Nt|0)!=0,z&L&&Mi(22999,22949,182,22959),z){if(L=Es(p,m)|0,br[22032+(L*7|0)+re>>0]|0){k=3;break}H=g[21200+(L*28|0)+(re<<2)>>2]|0,it=H,ne=26}else if(L){if(L=Es(it,H)|0,br[22032+(L*7|0)+ot>>0]|0){k=4;break}it=0,H=g[21200+(ot*28|0)+(L<<2)>>2]|0,ne=26}else L=0;if((ne|0)==26)if((H|0)<=-1&&Mi(23030,22949,212,22959),(it|0)<=-1&&Mi(23053,22949,213,22959),(H|0)>0){z=We+4|0,L=0;do fh(z),L=L+1|0;while((L|0)!=(H|0));L=it}else L=it;if(g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,rA(Le,re),k|0)for(;Ho(k)|0?za(Le):hh(Le),(k|0)>1;)k=k+-1|0;if((L|0)>0){k=0;do fh(Le),k=k+1|0;while((k|0)!=(L|0))}ne=We+4|0,Ln(ne,Le,ne),js(ne),ne=50}else if(bi(y,S,We)|0,(Ct|0)!=0&(Nt|0)!=0)if((ot|0)!=(it|0)&&Mi(23077,22949,243,22959),L=Es(p,m)|0,k=Es(y,S)|0,br[22032+(L*7|0)+k>>0]|0)k=5;else if(L=g[21200+(L*28|0)+(k<<2)>>2]|0,(L|0)>0){z=We+4|0,k=0;do fh(z),k=k+1|0;while((k|0)!=(L|0));ne=50}else ne=50;else ne=50;while(!1);return(ne|0)==50&&(k=We+4|0,g[C>>2]=g[k>>2],g[C+4>>2]=g[k+4>>2],g[C+8>>2]=g[k+8>>2],k=0),We=k,wt=te,We|0}function Qt(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=wt,wt=wt+48|0,L=re+36|0,z=re+24|0,H=re+12|0,it=re,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Nt=me(p|0,m|0,45)|0,It()|0,Nt=Nt&127,ot=fi(Nt)|0,ke(k|0,0,52)|0,Le=It()|0|134225919,ne=S,g[ne>>2]=-1,g[ne+4>>2]=Le,!k)return(g[y>>2]|0)>1||(g[y+4>>2]|0)>1||(g[y+8>>2]|0)>1||(C=Jp(Nt,Fa(y)|0)|0,(C|0)==127)?(Le=1,wt=re,Le|0):(Wt=ke(C|0,0,45)|0,ne=It()|0,Nt=S,ne=g[Nt+4>>2]&-1040385|ne,Le=S,g[Le>>2]=g[Nt>>2]|Wt,g[Le+4>>2]=ne,Le=0,wt=re,Le|0);for(g[L>>2]=g[y>>2],g[L+4>>2]=g[y+4>>2],g[L+8>>2]=g[y+8>>2];g[z>>2]=g[L>>2],g[z+4>>2]=g[L+4>>2],g[z+8>>2]=g[L+8>>2],Ho(k)|0?(Rd(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],za(H)):(Al(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],hh(H)),eA(z,H,it),js(it),ne=S,We=g[ne>>2]|0,ne=g[ne+4>>2]|0,te=(15-k|0)*3|0,y=ke(7,0,te|0)|0,ne=ne&~(It()|0),te=ke(Fa(it)|0,0,te|0)|0,ne=It()|0|ne,Le=S,g[Le>>2]=te|We&~y,g[Le+4>>2]=ne,(k|0)>1;)k=k+-1|0;t:do if((g[L>>2]|0)<=1&&(g[L+4>>2]|0)<=1&&(g[L+8>>2]|0)<=1){k=Fa(L)|0,z=Jp(Nt,k)|0,(z|0)==127?it=0:it=fi(z)|0;e:do if(k){if(ot){if(L=21408+((Es(p,m)|0)*28|0)+(k<<2)|0,L=g[L>>2]|0,(L|0)>0){y=0;do k=Na(k)|0,y=y+1|0;while((y|0)!=(L|0))}if((k|0)==1){C=3;break t}y=Jp(Nt,k)|0,(y|0)==127&&Mi(23104,22949,376,23134),fi(y)|0?Mi(23147,22949,377,23134):(Wt=L,Ct=k,C=y)}else Wt=0,Ct=k,C=z;if(H=g[4304+(Nt*28|0)+(Ct<<2)>>2]|0,(H|0)<=-1&&Mi(23178,22949,384,23134),!it){if((Wt|0)<=-1&&Mi(23030,22949,417,23134),Wt|0){L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0;while((k|0)<(Wt|0))}if((H|0)<=0){k=54;break}for(L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;;)if(y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0,(k|0)==(H|0)){k=54;break e}}if(z=tA(C,Nt)|0,(z|0)==7&&Mi(22925,22949,393,23134),k=S,y=g[k>>2]|0,k=g[k+4>>2]|0,(H|0)>0){L=0;do y=Wo(y,k)|0,k=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=k,L=L+1|0;while((L|0)!=(H|0))}if(y=Es(y,k)|0,te=mu(C)|0,y=g[(te?21824:21616)+(z*28|0)+(y<<2)>>2]|0,(y|0)<=-1&&Mi(23030,22949,412,23134),!y)k=54;else{z=S,k=0,L=g[z>>2]|0,z=g[z+4>>2]|0;do L=gh(L,z)|0,z=It()|0,te=S,g[te>>2]=L,g[te+4>>2]=z,k=k+1|0;while((k|0)<(y|0));k=54}}else if((ot|0)!=0&(it|0)!=0)if(te=Es(p,m)|0,k=S,k=21408+(te*28|0)+((Es(g[k>>2]|0,g[k+4>>2]|0)|0)<<2)|0,k=g[k>>2]|0,(k|0)<=-1&&Mi(23201,22949,433,23134),!k)C=z,k=55;else{L=S,C=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,C=C+1|0;while((C|0)<(k|0));C=z,k=54}else C=z,k=54;while(!1);if((k|0)==54&&it&&(k=55),(k|0)==55&&(te=S,(Es(g[te>>2]|0,g[te+4>>2]|0)|0)==1)){C=4;break}te=S,Le=g[te>>2]|0,te=g[te+4>>2]&-1040385,We=ke(C|0,0,45)|0,te=te|(It()|0),C=S,g[C>>2]=Le|We,g[C+4>>2]=te,C=0}else C=2;while(!1);return te=C,wt=re,te|0}function $t(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;return L=wt,wt=wt+16|0,k=L,p=Bt(p,m,y,S,k)|0,p||(xf(k,C),p=0),wt=L,p|0}function oe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return C=wt,wt=wt+16|0,k=C,__(y,k),S=Qt(p,m,k,S)|0,wt=C,S|0}function pe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,p|0}function he(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,(p>>>31^1)+p|0}function be(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0;if($e=wt,wt=wt+48|0,k=$e+24|0,L=$e+12|0,Ut=$e,!(Bt(p,m,p,m,k)|0)&&!(Bt(p,m,y,S,L)|0)){if(_e=Hl(k,L)|0,(_e|0)<0)return Ut=_e,wt=$e,Ut|0;for(g[k>>2]=0,g[k+4>>2]=0,g[k+8>>2]=0,g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,Bt(p,m,p,m,k)|0,Bt(p,m,y,S,L)|0,Oe(k),Oe(L),_e?(ot=g[k>>2]|0,Wt=+(_e|0),Le=k+4|0,Ct=g[Le>>2]|0,We=k+8|0,Nt=g[We>>2]|0,te=k,y=ot,S=Ct,k=Nt,re=+((g[L>>2]|0)-ot|0)/Wt,ne=+((g[L+4>>2]|0)-Ct|0)/Wt,Wt=+((g[L+8>>2]|0)-Nt|0)/Wt):(S=k+4|0,Nt=k+8|0,Le=S,We=Nt,te=k,y=g[k>>2]|0,S=g[S>>2]|0,k=g[Nt>>2]|0,re=0,ne=0,Wt=0),g[Ut>>2]=y,Nt=Ut+4|0,g[Nt>>2]=S,Ct=Ut+8|0,g[Ct>>2]=k,ot=0;;){H=+(ot|0),er=re*H+ +(y|0),z=ne*H+ +(g[Le>>2]|0),H=Wt*H+ +(g[We>>2]|0),S=~~+Mf(+er),L=~~+Mf(+z),y=~~+Mf(+H),er=+li(+(+(S|0)-er)),z=+li(+(+(L|0)-z)),H=+li(+(+(y|0)-H));do if(er>z&er>H)S=0-(L+y)|0,k=L;else if(it=0-S|0,z>H){k=it-y|0;break}else{k=L,y=it-L|0;break}while(!1);if(g[Ut>>2]=S,g[Nt>>2]=k,g[Ct>>2]=y,o0(Ut),Qt(p,m,Ut,C+(ot<<3)|0)|0,(ot|0)==(_e|0))break;ot=ot+1|0,y=g[te>>2]|0}return Ut=0,wt=$e,Ut|0}return Ut=-1,wt=$e,Ut|0}function Ze(p,m){p=p|0,m=m|0;var y=0;if(!m)return y=1,y|0;y=p,p=1;do p=Oc(m&1|0?y:1,p)|0,m=m>>1,y=Oc(y,y)|0;while(m|0);return p|0}function Kr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;if(!(pl(m,y)|0)||(m=n0(m)|0,Nt=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,Ct=g[p>>2]|0,(Ct|0)<=0))return Ct=0,Ct|0;if(ot=g[p+4>>2]|0,m){m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(Nt-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}else{m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(Nt-k)/(z-k)*(L-C)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}return 0}function Ee(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=g[p>>2]|0,!re){g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;return}if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,!((re|0)<=0)){for(Nt=g[p+4>>2]|0,it=17976931348623157e292,ot=-17976931348623157e292,Ct=0,p=-1,k=17976931348623157e292,L=17976931348623157e292,H=-17976931348623157e292,S=-17976931348623157e292,Wt=0;y=+Tt[Nt+(Wt<<4)>>3],z=+Tt[Nt+(Wt<<4)+8>>3],p=p+2|0,C=+Tt[Nt+(((p|0)==(re|0)?0:p)<<4)+8>>3],y>3]=y,k=y),z>3]=z,L=z),y>H?Tt[m>>3]=y:y=H,z>S&&(Tt[We>>3]=z,S=z),it=z>0&zot?z:ot,Ct=Ct|+li(+(z-C))>3.141592653589793,p=Wt+1|0,(p|0)!=(re|0);)te=Wt,H=y,Wt=p,p=te;Ct&&(Tt[We>>3]=ot,Tt[Le>>3]=it)}}function pr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0;if(re=g[p>>2]|0,re){if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,(re|0)>0){for(C=g[p+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,S=0,y=-1,H=17976931348623157e292,it=17976931348623157e292,Ct=-17976931348623157e292,L=-17976931348623157e292,te=0;k=+Tt[C+(te<<4)>>3],ot=+Tt[C+(te<<4)+8>>3],er=y+2|0,z=+Tt[C+(((er|0)==(re|0)?0:er)<<4)+8>>3],k>3]=k,H=k),ot>3]=ot,it=ot),k>Ct?Tt[m>>3]=k:k=Ct,ot>L&&(Tt[We>>3]=ot,L=ot),Nt=ot>0&otWt?ot:Wt,S=S|+li(+(ot-z))>3.141592653589793,y=te+1|0,(y|0)!=(re|0);)er=te,Ct=k,te=y,y=er;S&&(Tt[We>>3]=Wt,Tt[Le>>3]=Nt)}}else g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;if(er=p+8|0,y=g[er>>2]|0,!((y|0)<=0)){$e=p+12|0,Ut=0;do if(C=g[$e>>2]|0,S=Ut,Ut=Ut+1|0,Le=m+(Ut<<5)|0,We=g[C+(S<<3)>>2]|0,We){if(te=m+(Ut<<5)+8|0,Tt[te>>3]=17976931348623157e292,p=m+(Ut<<5)+24|0,Tt[p>>3]=17976931348623157e292,Tt[Le>>3]=-17976931348623157e292,_e=m+(Ut<<5)+16|0,Tt[_e>>3]=-17976931348623157e292,(We|0)>0){for(re=g[C+(S<<3)+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,C=0,S=-1,ne=0,H=17976931348623157e292,it=17976931348623157e292,ot=-17976931348623157e292,L=-17976931348623157e292;k=+Tt[re+(ne<<4)>>3],Ct=+Tt[re+(ne<<4)+8>>3],S=S+2|0,z=+Tt[re+(((S|0)==(We|0)?0:S)<<4)+8>>3],k>3]=k,H=k),Ct>3]=Ct,it=Ct),k>ot?Tt[Le>>3]=k:k=ot,Ct>L&&(Tt[_e>>3]=Ct,L=Ct),Nt=Ct>0&CtWt?Ct:Wt,C=C|+li(+(Ct-z))>3.141592653589793,S=ne+1|0,(S|0)!=(We|0);)we=ne,ne=S,ot=k,S=we;C&&(Tt[_e>>3]=Wt,Tt[p>>3]=Nt)}}else g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,g[Le+12>>2]=0,g[Le+16>>2]=0,g[Le+20>>2]=0,g[Le+24>>2]=0,g[Le+28>>2]=0,y=g[er>>2]|0;while((Ut|0)<(y|0))}}function tr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if(!(Kr(p,m,y)|0))return C=0,C|0;if(C=p+8|0,(g[C>>2]|0)<=0)return C=1,C|0;for(S=p+12|0,p=0;;){if(k=p,p=p+1|0,Kr((g[S>>2]|0)+(k<<3)|0,m+(p<<5)|0,y)|0){p=0,S=6;break}if((p|0)>=(g[C>>2]|0)){p=1,S=6;break}}return(S|0)==6?p|0:0}function Gi(){return 8}function Jr(){return 16}function Vr(){return 168}function ei(){return 8}function On(){return 16}function tn(){return 12}function Gs(){return 8}function hs(p){p=p|0;var m=0,y=0;return y=+Tt[p>>3],m=+Tt[p+8>>3],+ +bn(+(y*y+m*m))}function Bn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;it=+Tt[p>>3],H=+Tt[m>>3]-it,z=+Tt[p+8>>3],L=+Tt[m+8>>3]-z,Ct=+Tt[y>>3],k=+Tt[S>>3]-Ct,Nt=+Tt[y+8>>3],ot=+Tt[S+8>>3]-Nt,k=(k*(z-Nt)-(it-Ct)*ot)/(H*ot-L*k),Tt[C>>3]=it+H*k,Tt[C+8>>3]=z+L*k}function qo(p,m){return p=p|0,m=m|0,+Tt[p>>3]!=+Tt[m>>3]?(m=0,m|0):(m=+Tt[p+8>>3]==+Tt[m+8>>3],m|0)}function jr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return C=+Tt[p>>3]-+Tt[m>>3],S=+Tt[p+8>>3]-+Tt[m+8>>3],y=+Tt[p+16>>3]-+Tt[m+16>>3],+(C*C+S*S+y*y)}function ql(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;y=+Tt[p>>3],S=+Ur(+y),y=+hi(+y),Tt[m+16>>3]=y,y=+Tt[p+8>>3],C=S*+Ur(+y),Tt[m>>3]=C,y=S*+hi(+y),Tt[m+8>>3]=y}function Zl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+32|0,C=it+16|0,k=it,T(p,m,C),L=wf(p,m)|0,H=Es(p,m)|0,lh(L,k),m=Ld(L,g[C>>2]|0)|0,!(fi(L)|0))return H=m,wt=it,H|0;do switch(L|0){case 4:{p=0,y=14;break}case 14:{p=1,y=14;break}case 24:{p=2,y=14;break}case 38:{p=3,y=14;break}case 49:{p=4,y=14;break}case 58:{p=5,y=14;break}case 63:{p=6,y=14;break}case 72:{p=7,y=14;break}case 83:{p=8,y=14;break}case 97:{p=9,y=14;break}case 107:{p=10,y=14;break}case 117:{p=11,y=14;break}default:z=0,S=0}while(!1);return(y|0)==14&&(z=g[22096+(p*24|0)+8>>2]|0,S=g[22096+(p*24|0)+16>>2]|0),p=g[C>>2]|0,(p|0)!=(g[k>>2]|0)&&(L=mu(L)|0,p=g[C>>2]|0,L|(p|0)==(S|0)&&(m=(m+1|0)%6|0)),(H|0)==3&(p|0)==(S|0)?(H=(m+5|0)%6|0,wt=it,H|0):(H|0)==5&(p|0)==(z|0)?(H=(m+1|0)%6|0,wt=it,H|0):(H=m,wt=it,H|0)}function yu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;return S=ji(p,m)|0,(y+-1|0)>>>0>5||(C=(S|0)!=0,(y|0)==1&C)?(y=-1,y|0):(S=Zl(p,m)|0,C?(y=(5-S+(g[22384+(y<<2)>>2]|0)|0)%5|0,y|0):(y=(6-S+(g[22416+(y<<2)>>2]|0)|0)%6|0,y|0))}function vu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0;(m|0)>0?(S=Ua(m,4)|0,g[p>>2]=S,S||Mi(23230,23253,40,23267)):g[p>>2]=0,g[p+4>>2]=m,g[p+8>>2]=0,g[p+12>>2]=y}function _h(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=p+4|0,k=p+12|0,L=p+8|0;t:for(;;){for(y=g[C>>2]|0,m=0;;){if((m|0)>=(y|0))break t;if(S=g[p>>2]|0,z=g[S+(m<<2)>>2]|0,!z)m=m+1|0;else break}m=S+(~~(+li(+(+dl(10,+ +(15-(g[k>>2]|0)|0))*(+Tt[z>>3]+ +Tt[z+8>>3])))%+(y|0))>>>0<<2)|0,y=g[m>>2]|0;e:do if(y|0){if(S=z+32|0,(y|0)==(z|0))g[m>>2]=g[S>>2];else{if(y=y+32|0,m=g[y>>2]|0,!m)break;for(;(m|0)!=(z|0);)if(y=m+32|0,m=g[y>>2]|0,!m)break e;g[y>>2]=g[S>>2]}Gr(z),g[L>>2]=(g[L>>2]|0)+-1}while(!1)}Gr(g[p>>2]|0)}function Ws(p){p=p|0;var m=0,y=0,S=0;for(S=g[p+4>>2]|0,y=0;;){if((y|0)>=(S|0)){m=0,y=4;break}if(m=g[(g[p>>2]|0)+(y<<2)>>2]|0,!m)y=y+1|0;else{y=4;break}}return(y|0)==4?m|0:0}function Ps(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,y=(g[p>>2]|0)+(y<<2)|0,S=g[y>>2]|0,!S)return k=1,k|0;k=m+32|0;do if((S|0)!=(m|0)){if(y=g[S+32>>2]|0,!y)return k=1,k|0;for(C=y;;){if((C|0)==(m|0)){C=8;break}if(y=g[C+32>>2]|0,y)S=C,C=y;else{y=1,C=10;break}}if((C|0)==8){g[S+32>>2]=g[k>>2];break}else if((C|0)==10)return y|0}else g[y>>2]=g[k>>2];while(!1);return Gr(m),k=p+8|0,g[k>>2]=(g[k>>2]|0)+-1,k=0,k|0}function Eo(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;k=ho(40)|0,k||Mi(23283,23253,98,23296),g[k>>2]=g[m>>2],g[k+4>>2]=g[m+4>>2],g[k+8>>2]=g[m+8>>2],g[k+12>>2]=g[m+12>>2],C=k+16|0,g[C>>2]=g[y>>2],g[C+4>>2]=g[y+4>>2],g[C+8>>2]=g[y+8>>2],g[C+12>>2]=g[y+12>>2],g[k+32>>2]=0,C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=(g[p>>2]|0)+(C<<2)|0,S=g[C>>2]|0;do if(!S)g[C>>2]=k;else{for(;!(us(S,m)|0&&us(S+16|0,y)|0);)if(C=g[S+32>>2]|0,S=C|0?C:S,!(g[S+32>>2]|0)){L=10;break}if((L|0)==10){g[S+32>>2]=k;break}return Gr(k),L=S,L|0}while(!1);return L=p+8|0,g[L>>2]=(g[L>>2]|0)+1,L=k,L|0}function yh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=g[(g[p>>2]|0)+(C<<2)>>2]|0,!C)return y=0,y|0;if(!y){for(p=C;;){if(us(p,m)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}if((S|0)==10)return p|0}for(p=C;;){if(us(p,m)|0&&us(p+16|0,y)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}return(S|0)==10?p|0:0}function Fn(p,m){p=p|0,m=m|0;var y=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,p=g[(g[p>>2]|0)+(y<<2)>>2]|0,!p)return y=0,y|0;for(;;){if(us(p,m)|0){m=5;break}if(p=g[p+32>>2]|0,!p){p=0,m=5;break}}return(m|0)==5?p|0:0}function fs(){return 23312}function Zo(p){return p=+p,+ +Ux(+p)}function _n(p){return p=+p,~~+Zo(p)|0}function ho(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0;$e=wt,wt=wt+16|0,Nt=$e;do if(p>>>0<245){if(it=p>>>0<11?16:p+11&-8,p=it>>>3,Ct=g[5829]|0,y=Ct>>>p,y&3|0)return m=(y&1^1)+p|0,p=23356+(m<<1<<2)|0,y=p+8|0,S=g[y>>2]|0,C=S+8|0,k=g[C>>2]|0,(k|0)==(p|0)?g[5829]=Ct&~(1<>2]=p,g[y>>2]=k),Ut=m<<3,g[S+4>>2]=Ut|3,Ut=S+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1,Ut=C,wt=$e,Ut|0;if(ot=g[5831]|0,it>>>0>ot>>>0){if(y|0)return m=2<>>12&16,m=m>>>z,y=m>>>5&8,m=m>>>y,k=m>>>2&4,m=m>>>k,p=m>>>1&2,m=m>>>p,S=m>>>1&1,S=(y|z|k|p|S)+(m>>>S)|0,m=23356+(S<<1<<2)|0,p=m+8|0,k=g[p>>2]|0,z=k+8|0,y=g[z>>2]|0,(y|0)==(m|0)?(p=Ct&~(1<>2]=m,g[p>>2]=y,p=Ct),Ut=S<<3,L=Ut-it|0,g[k+4>>2]=it|3,C=k+it|0,g[C+4>>2]=L|1,g[k+Ut>>2]=L,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=L,g[5834]=C,Ut=z,wt=$e,Ut|0;if(k=g[5830]|0,k){for(y=(k&0-k)+-1|0,C=y>>>12&16,y=y>>>C,S=y>>>5&8,y=y>>>S,L=y>>>2&4,y=y>>>L,z=y>>>1&2,y=y>>>z,H=y>>>1&1,H=g[23620+((S|C|L|z|H)+(y>>>H)<<2)>>2]|0,y=H,z=H,H=(g[H+4>>2]&-8)-it|0;p=g[y+16>>2]|0,!(!p&&(p=g[y+20>>2]|0,!p));)L=(g[p+4>>2]&-8)-it|0,C=L>>>0>>0,y=p,z=C?p:z,H=C?L:H;if(L=z+it|0,L>>>0>z>>>0){C=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){y=0;break}for(;;)if(S=m+20|0,y=g[S>>2]|0,y)m=y,p=S;else if(S=m+16|0,y=g[S>>2]|0,y)m=y,p=S;else break;g[p>>2]=0,y=m}else y=g[z+8>>2]|0,g[y+12>>2]=m,g[m+8>>2]=y,y=m;while(!1);do if(C|0){if(m=g[z+28>>2]|0,p=23620+(m<<2)|0,(z|0)==(g[p>>2]|0)){if(g[p>>2]=y,!y){g[5830]=k&~(1<>2]|0)==(z|0)?Ut:C+20|0)>>2]=y,!y)break;g[y+24>>2]=C,m=g[z+16>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),m=g[z+20>>2]|0,m|0&&(g[y+20>>2]=m,g[m+24>>2]=y)}while(!1);return H>>>0<16?(Ut=H+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1):(g[z+4>>2]=it|3,g[L+4>>2]=H|1,g[L+H>>2]=H,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=m|Ct,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=H,g[5834]=L),Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it}else Ct=it}else if(p>>>0<=4294967231)if(p=p+11|0,it=p&-8,S=g[5830]|0,S){C=0-it|0,p=p>>>8,p?it>>>0>16777215?H=31:(Ct=(p+1048320|0)>>>16&8,ne=p<>>16&4,ne=ne<>>16&2,H=14-(z|Ct|H)+(ne<>>15)|0,H=it>>>(H+7|0)&1|H<<1):H=0,y=g[23620+(H<<2)>>2]|0;t:do if(!y)y=0,p=0,ne=61;else for(p=0,z=it<<((H|0)==31?0:25-(H>>>1)|0),k=0;;){if(L=(g[y+4>>2]&-8)-it|0,L>>>0>>0)if(L)p=y,C=L;else{p=y,C=0,ne=65;break t}if(ne=g[y+20>>2]|0,y=g[y+16+(z>>>31<<2)>>2]|0,k=(ne|0)==0|(ne|0)==(y|0)?k:ne,y)z=z<<1;else{y=k,ne=61;break}}while(!1);if((ne|0)==61){if((y|0)==0&(p|0)==0){if(p=2<>>12&16,Ct=Ct>>>L,k=Ct>>>5&8,Ct=Ct>>>k,z=Ct>>>2&4,Ct=Ct>>>z,H=Ct>>>1&2,Ct=Ct>>>H,y=Ct>>>1&1,p=0,y=g[23620+((k|L|z|H|y)+(Ct>>>y)<<2)>>2]|0}y?ne=65:(z=p,L=C)}if((ne|0)==65)for(k=y;;)if(Ct=(g[k+4>>2]&-8)-it|0,y=Ct>>>0>>0,C=y?Ct:C,p=y?k:p,y=g[k+16>>2]|0,y||(y=g[k+20>>2]|0),y)k=y;else{z=p,L=C;break}if(z|0&&L>>>0<((g[5831]|0)-it|0)>>>0&&(ot=z+it|0,ot>>>0>z>>>0)){k=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){m=0;break}for(;;)if(C=m+20|0,y=g[C>>2]|0,y)m=y,p=C;else if(C=m+16|0,y=g[C>>2]|0,y)m=y,p=C;else break;g[p>>2]=0}else Ut=g[z+8>>2]|0,g[Ut+12>>2]=m,g[m+8>>2]=Ut;while(!1);do if(k){if(p=g[z+28>>2]|0,y=23620+(p<<2)|0,(z|0)==(g[y>>2]|0)){if(g[y>>2]=m,!m){S=S&~(1<>2]|0)==(z|0)?Ut:k+20|0)>>2]=m,!m)break;g[m+24>>2]=k,p=g[z+16>>2]|0,p|0&&(g[m+16>>2]=p,g[p+24>>2]=m),p=g[z+20>>2]|0,p&&(g[m+20>>2]=p,g[p+24>>2]=m)}while(!1);t:do if(L>>>0<16)Ut=L+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1;else{if(g[z+4>>2]=it|3,g[ot+4>>2]=L|1,g[ot+L>>2]=L,m=L>>>3,L>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=ot,g[m+12>>2]=ot,g[ot+8>>2]=m,g[ot+12>>2]=y;break}if(m=L>>>8,m?L>>>0>16777215?y=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,y=14-(te|_e|y)+(Ut<>>15)|0,y=L>>>(y+7|0)&1|y<<1):y=0,m=23620+(y<<2)|0,g[ot+28>>2]=y,p=ot+16|0,g[p+4>>2]=0,g[p>>2]=0,p=1<>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break}m=g[m>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(L|0)){for(S=L<<((y|0)==31?0:25-(y>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(L|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=ot,g[_e>>2]=ot,g[ot+8>>2]=Ut,g[ot+12>>2]=m,g[ot+24>>2]=0}while(!1);return Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it;else Ct=-1;while(!1);if(y=g[5831]|0,y>>>0>=Ct>>>0)return m=y-Ct|0,p=g[5834]|0,m>>>0>15?(Ut=p+Ct|0,g[5834]=Ut,g[5831]=m,g[Ut+4>>2]=m|1,g[p+y>>2]=m,g[p+4>>2]=Ct|3):(g[5831]=0,g[5834]=0,g[p+4>>2]=y|3,Ut=p+y+4|0,g[Ut>>2]=g[Ut>>2]|1),Ut=p+8|0,wt=$e,Ut|0;if(L=g[5832]|0,L>>>0>Ct>>>0)return te=L-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0;if(g[5947]|0?p=g[5949]|0:(g[5949]=4096,g[5948]=4096,g[5950]=-1,g[5951]=-1,g[5952]=0,g[5940]=0,g[5947]=Nt&-16^1431655768,p=4096),z=Ct+48|0,H=Ct+47|0,k=p+H|0,C=0-p|0,it=k&C,it>>>0<=Ct>>>0||(p=g[5939]|0,p|0&&(ot=g[5937]|0,Nt=ot+it|0,Nt>>>0<=ot>>>0|Nt>>>0>p>>>0)))return Ut=0,wt=$e,Ut|0;t:do if(g[5940]&4)m=0,ne=143;else{y=g[5835]|0;e:do if(y){for(S=23764;Nt=g[S>>2]|0,!(Nt>>>0<=y>>>0&&(Nt+(g[S+4>>2]|0)|0)>>>0>y>>>0);)if(p=g[S+8>>2]|0,p)S=p;else{ne=128;break e}if(m=k-L&C,m>>>0<2147483647)if(p=en(m|0)|0,(p|0)==((g[S>>2]|0)+(g[S+4>>2]|0)|0)){if((p|0)!=-1){L=m,k=p,ne=145;break t}}else S=p,ne=136;else m=0}else ne=128;while(!1);do if((ne|0)==128)if(y=en(0)|0,(y|0)!=-1&&(m=y,Wt=g[5948]|0,re=Wt+-1|0,m=(re&m|0?(re+m&0-Wt)-m|0:0)+it|0,Wt=g[5937]|0,re=m+Wt|0,m>>>0>Ct>>>0&m>>>0<2147483647)){if(Nt=g[5939]|0,Nt|0&&re>>>0<=Wt>>>0|re>>>0>Nt>>>0){m=0;break}if(p=en(m|0)|0,(p|0)==(y|0)){L=m,k=y,ne=145;break t}else S=p,ne=136}else m=0;while(!1);do if((ne|0)==136){if(y=0-m|0,!(z>>>0>m>>>0&(m>>>0<2147483647&(S|0)!=-1)))if((S|0)==-1){m=0;break}else{L=m,k=S,ne=145;break t}if(p=g[5949]|0,p=H-m+p&0-p,p>>>0>=2147483647){L=m,k=S,ne=145;break t}if((en(p|0)|0)==-1){en(y|0)|0,m=0;break}else{L=p+m|0,k=S,ne=145;break t}}while(!1);g[5940]=g[5940]|4,ne=143}while(!1);if((ne|0)==143&&it>>>0<2147483647&&(te=en(it|0)|0,re=en(0)|0,Le=re-te|0,We=Le>>>0>(Ct+40|0)>>>0,!((te|0)==-1|We^1|te>>>0>>0&((te|0)!=-1&(re|0)!=-1)^1))&&(L=We?Le:m,k=te,ne=145),(ne|0)==145){m=(g[5937]|0)+L|0,g[5937]=m,m>>>0>(g[5938]|0)>>>0&&(g[5938]=m),H=g[5835]|0;t:do if(H){for(m=23764;;){if(p=g[m>>2]|0,y=g[m+4>>2]|0,(k|0)==(p+y|0)){ne=154;break}if(S=g[m+8>>2]|0,S)m=S;else break}if((ne|0)==154&&(_e=m+4|0,(g[m+12>>2]&8|0)==0)&&k>>>0>H>>>0&p>>>0<=H>>>0){g[_e>>2]=y+L,Ut=(g[5832]|0)+L|0,te=H+8|0,te=te&7|0?0-te&7:0,_e=H+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[H+Ut+4>>2]=40,g[5836]=g[5951];break}for(k>>>0<(g[5833]|0)>>>0&&(g[5833]=k),y=k+L|0,m=23764;;){if((g[m>>2]|0)==(y|0)){ne=162;break}if(p=g[m+8>>2]|0,p)m=p;else break}if((ne|0)==162&&!(g[m+12>>2]&8|0)){g[m>>2]=k,ot=m+4|0,g[ot>>2]=(g[ot>>2]|0)+L,ot=k+8|0,ot=k+(ot&7|0?0-ot&7:0)|0,m=y+8|0,m=y+(m&7|0?0-m&7:0)|0,it=ot+Ct|0,z=m-ot-Ct|0,g[ot+4>>2]=Ct|3;e:do if((H|0)==(m|0))Ut=(g[5832]|0)+z|0,g[5832]=Ut,g[5835]=it,g[it+4>>2]=Ut|1;else{if((g[5834]|0)==(m|0)){Ut=(g[5831]|0)+z|0,g[5831]=Ut,g[5834]=it,g[it+4>>2]=Ut|1,g[it+Ut>>2]=Ut;break}if(p=g[m+4>>2]|0,(p&3|0)==1){L=p&-8,S=p>>>3;r:do if(p>>>0<256)if(p=g[m+8>>2]|0,y=g[m+12>>2]|0,(y|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=y,g[y+8>>2]=p;break}else{k=g[m+24>>2]|0,p=g[m+12>>2]|0;do if((p|0)==(m|0)){if(y=m+16|0,S=y+4|0,p=g[S>>2]|0,p)y=S;else if(p=g[y>>2]|0,!p){p=0;break}for(;;)if(C=p+20|0,S=g[C>>2]|0,S)p=S,y=C;else if(C=p+16|0,S=g[C>>2]|0,S)p=S,y=C;else break;g[y>>2]=0}else Ut=g[m+8>>2]|0,g[Ut+12>>2]=p,g[p+8>>2]=Ut;while(!1);if(!k)break;y=g[m+28>>2]|0,S=23620+(y<<2)|0;do if((g[S>>2]|0)!=(m|0)){if(Ut=k+16|0,g[((g[Ut>>2]|0)==(m|0)?Ut:k+20|0)>>2]=p,!p)break r}else{if(g[S>>2]=p,p|0)break;g[5830]=g[5830]&~(1<>2]=k,y=m+16|0,S=g[y>>2]|0,S|0&&(g[p+16>>2]=S,g[S+24>>2]=p),y=g[y+4>>2]|0,!y)break;g[p+20>>2]=y,g[y+24>>2]=p}while(!1);m=m+L|0,C=L+z|0}else C=z;if(m=m+4|0,g[m>>2]=g[m>>2]&-2,g[it+4>>2]=C|1,g[it+C>>2]=C,m=C>>>3,C>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=it,g[m+12>>2]=it,g[it+8>>2]=m,g[it+12>>2]=y;break}m=C>>>8;do if(!m)S=0;else{if(C>>>0>16777215){S=31;break}_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=C>>>(S+7|0)&1|S<<1}while(!1);if(m=23620+(S<<2)|0,g[it+28>>2]=S,p=it+16|0,g[p+4>>2]=0,g[p>>2]=0,p=g[5830]|0,y=1<>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break}m=g[m>>2]|0;r:do if((g[m+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(C|0)){m=p;break r}else S=S<<1,m=p;g[y>>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break e}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=it,g[_e>>2]=it,g[it+8>>2]=Ut,g[it+12>>2]=m,g[it+24>>2]=0}while(!1);return Ut=ot+8|0,wt=$e,Ut|0}for(m=23764;p=g[m>>2]|0,!(p>>>0<=H>>>0&&(Ut=p+(g[m+4>>2]|0)|0,Ut>>>0>H>>>0));)m=g[m+8>>2]|0;C=Ut+-47|0,p=C+8|0,p=C+(p&7|0?0-p&7:0)|0,C=H+16|0,p=p>>>0>>0?H:p,m=p+8|0,y=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=y-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+y+4>>2]=40,g[5836]=g[5951],y=p+4|0,g[y>>2]=27,g[m>>2]=g[5941],g[m+4>>2]=g[5942],g[m+8>>2]=g[5943],g[m+12>>2]=g[5944],g[5941]=k,g[5942]=L,g[5944]=0,g[5943]=m,m=p+24|0;do _e=m,m=m+4|0,g[m>>2]=7;while((_e+8|0)>>>0>>0);if((p|0)!=(H|0)){if(k=p-H|0,g[y>>2]=g[y>>2]&-2,g[H+4>>2]=k|1,g[p>>2]=k,m=k>>>3,k>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=H,g[m+12>>2]=H,g[H+8>>2]=m,g[H+12>>2]=y;break}if(m=k>>>8,m?k>>>0>16777215?S=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=k>>>(S+7|0)&1|S<<1):S=0,y=23620+(S<<2)|0,g[H+28>>2]=S,g[H+20>>2]=0,g[C>>2]=0,m=g[5830]|0,p=1<>2]=H,g[H+24>>2]=y,g[H+12>>2]=H,g[H+8>>2]=H;break}m=g[y>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(k|0)){for(S=k<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(k|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=H,g[H+24>>2]=m,g[H+12>>2]=H,g[H+8>>2]=H;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=H,g[_e>>2]=H,g[H+8>>2]=Ut,g[H+12>>2]=m,g[H+24>>2]=0}}else Ut=g[5833]|0,(Ut|0)==0|k>>>0>>0&&(g[5833]=k),g[5941]=k,g[5942]=L,g[5944]=0,g[5838]=g[5947],g[5837]=-1,g[5842]=23356,g[5841]=23356,g[5844]=23364,g[5843]=23364,g[5846]=23372,g[5845]=23372,g[5848]=23380,g[5847]=23380,g[5850]=23388,g[5849]=23388,g[5852]=23396,g[5851]=23396,g[5854]=23404,g[5853]=23404,g[5856]=23412,g[5855]=23412,g[5858]=23420,g[5857]=23420,g[5860]=23428,g[5859]=23428,g[5862]=23436,g[5861]=23436,g[5864]=23444,g[5863]=23444,g[5866]=23452,g[5865]=23452,g[5868]=23460,g[5867]=23460,g[5870]=23468,g[5869]=23468,g[5872]=23476,g[5871]=23476,g[5874]=23484,g[5873]=23484,g[5876]=23492,g[5875]=23492,g[5878]=23500,g[5877]=23500,g[5880]=23508,g[5879]=23508,g[5882]=23516,g[5881]=23516,g[5884]=23524,g[5883]=23524,g[5886]=23532,g[5885]=23532,g[5888]=23540,g[5887]=23540,g[5890]=23548,g[5889]=23548,g[5892]=23556,g[5891]=23556,g[5894]=23564,g[5893]=23564,g[5896]=23572,g[5895]=23572,g[5898]=23580,g[5897]=23580,g[5900]=23588,g[5899]=23588,g[5902]=23596,g[5901]=23596,g[5904]=23604,g[5903]=23604,Ut=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+Ut+4>>2]=40,g[5836]=g[5951];while(!1);if(m=g[5832]|0,m>>>0>Ct>>>0)return te=m-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0}return Ut=fs()|0,g[Ut>>2]=12,Ut=0,wt=$e,Ut|0}function Gr(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(p){y=p+-8|0,C=g[5833]|0,p=g[p+-4>>2]|0,m=p&-8,H=y+m|0;do if(p&1)z=y,L=y;else{if(S=g[y>>2]|0,!(p&3)||(L=y+(0-S)|0,k=S+m|0,L>>>0>>0))return;if((g[5834]|0)==(L|0)){if(p=H+4|0,m=g[p>>2]|0,(m&3|0)!=3){z=L,m=k;break}g[5831]=k,g[p>>2]=m&-2,g[L+4>>2]=k|1,g[L+k>>2]=k;return}if(y=S>>>3,S>>>0<256)if(p=g[L+8>>2]|0,m=g[L+12>>2]|0,(m|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=m,g[m+8>>2]=p,z=L,m=k;break}C=g[L+24>>2]|0,p=g[L+12>>2]|0;do if((p|0)==(L|0)){if(m=L+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){p=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0}else z=g[L+8>>2]|0,g[z+12>>2]=p,g[p+8>>2]=z;while(!1);if(C){if(m=g[L+28>>2]|0,y=23620+(m<<2)|0,(g[y>>2]|0)==(L|0)){if(g[y>>2]=p,!p){g[5830]=g[5830]&~(1<>2]|0)==(L|0)?z:C+20|0)>>2]=p,!p){z=L,m=k;break}g[p+24>>2]=C,m=L+16|0,y=g[m>>2]|0,y|0&&(g[p+16>>2]=y,g[y+24>>2]=p),m=g[m+4>>2]|0,m?(g[p+20>>2]=m,g[m+24>>2]=p,z=L,m=k):(z=L,m=k)}else z=L,m=k}while(!1);if(!(L>>>0>=H>>>0)&&(p=H+4|0,S=g[p>>2]|0,!!(S&1))){if(S&2)g[p>>2]=S&-2,g[z+4>>2]=m|1,g[L+m>>2]=m,C=m;else{if((g[5835]|0)==(H|0)){if(H=(g[5832]|0)+m|0,g[5832]=H,g[5835]=z,g[z+4>>2]=H|1,(z|0)!=(g[5834]|0))return;g[5834]=0,g[5831]=0;return}if((g[5834]|0)==(H|0)){H=(g[5831]|0)+m|0,g[5831]=H,g[5834]=L,g[z+4>>2]=H|1,g[L+H>>2]=H;return}C=(S&-8)+m|0,y=S>>>3;do if(S>>>0<256)if(m=g[H+8>>2]|0,p=g[H+12>>2]|0,(p|0)==(m|0)){g[5829]=g[5829]&~(1<>2]=p,g[p+8>>2]=m;break}else{k=g[H+24>>2]|0,p=g[H+12>>2]|0;do if((p|0)==(H|0)){if(m=H+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){y=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0,y=p}else y=g[H+8>>2]|0,g[y+12>>2]=p,g[p+8>>2]=y,y=p;while(!1);if(k|0){if(p=g[H+28>>2]|0,m=23620+(p<<2)|0,(g[m>>2]|0)==(H|0)){if(g[m>>2]=y,!y){g[5830]=g[5830]&~(1<>2]|0)==(H|0)?S:k+20|0)>>2]=y,!y)break;g[y+24>>2]=k,p=H+16|0,m=g[p>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),p=g[p+4>>2]|0,p|0&&(g[y+20>>2]=p,g[p+24>>2]=y)}}while(!1);if(g[z+4>>2]=C|1,g[L+C>>2]=C,(z|0)==(g[5834]|0)){g[5831]=C;return}}if(p=C>>>3,C>>>0<256){y=23356+(p<<1<<2)|0,m=g[5829]|0,p=1<>2]|0):(g[5829]=m|p,p=y,m=y+8|0),g[m>>2]=z,g[p+12>>2]=z,g[z+8>>2]=p,g[z+12>>2]=y;return}p=C>>>8,p?C>>>0>16777215?S=31:(L=(p+1048320|0)>>>16&8,H=p<>>16&4,H=H<>>16&2,S=14-(k|L|S)+(H<>>15)|0,S=C>>>(S+7|0)&1|S<<1):S=0,p=23620+(S<<2)|0,g[z+28>>2]=S,g[z+20>>2]=0,g[z+16>>2]=0,m=g[5830]|0,y=1<>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;else{p=g[p>>2]|0;e:do if((g[p+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=p+16+(S>>>31<<2)|0,m=g[y>>2]|0,!!m;)if((g[m+4>>2]&-8|0)==(C|0)){p=m;break e}else S=S<<1,p=m;g[y>>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;break t}while(!1);L=p+8|0,H=g[L>>2]|0,g[H+12>>2]=z,g[L>>2]=z,g[z+8>>2]=H,g[z+12>>2]=p,g[z+24>>2]=0}while(!1);if(H=(g[5837]|0)+-1|0,g[5837]=H,!(H|0)){for(p=23772;p=g[p>>2]|0,p;)p=p+8|0;g[5837]=-1}}}}function Ua(p,m){p=p|0,m=m|0;var y=0;return p?(y=Oc(m,p)|0,(m|p)>>>0>65535&&(y=((y>>>0)/(p>>>0)|0|0)==(m|0)?y:-1)):y=0,p=ho(y)|0,!p||!(g[p+-4>>2]&3)||Fc(p|0,0,y|0)|0,p|0}function S_(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,y=p+y>>>0,Je(m+S+(y>>>0

>>0|0)>>>0|0),y|0|0}function zd(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,S=m-S-(y>>>0>p>>>0|0)>>>0,Je(S|0),p-y>>>0|0|0}function cA(p){return p=p|0,(p?31-(aa(p^p-1)|0)|0:32)|0}function Yl(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(ot=p,H=m,it=H,L=y,Nt=S,z=Nt,!it)return k=(C|0)!=0,z?k?(g[C>>2]=p|0,g[C+4>>2]=m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0):(k&&(g[C>>2]=(ot>>>0)%(L>>>0),g[C+4>>2]=0),Nt=0,C=(ot>>>0)/(L>>>0)>>>0,Je(Nt|0),C|0);k=(z|0)==0;do if(L){if(!k){if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=31){Ct=k+1|0,z=31-k|0,m=k-31>>31,L=Ct,p=ot>>>(Ct>>>0)&m|it<>>(Ct>>>0)&m,k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0)}if(k=L-1|0,k&L|0){z=(aa(L|0)|0)+33-(aa(it|0)|0)|0,re=64-z|0,Ct=32-z|0,H=Ct>>31,Wt=z-32|0,m=Wt>>31,L=z,p=Ct-1>>31&it>>>(Wt>>>0)|(it<>>(z>>>0))&m,m=m&it>>>(z>>>0),k=ot<>>(Wt>>>0))&H|ot<>31;break}return C|0&&(g[C>>2]=k&ot,g[C+4>>2]=0),(L|0)==1?(Wt=H|m&0,re=p|0|0,Je(Wt|0),re|0):(re=cA(L|0)|0,Wt=it>>>(re>>>0)|0,re=it<<32-re|ot>>>(re>>>0)|0,Je(Wt|0),re|0)}else{if(k)return C|0&&(g[C>>2]=(it>>>0)%(L>>>0),g[C+4>>2]=0),Wt=0,re=(it>>>0)/(L>>>0)>>>0,Je(Wt|0),re|0;if(!ot)return C|0&&(g[C>>2]=0,g[C+4>>2]=(it>>>0)%(z>>>0)),Wt=0,re=(it>>>0)/(z>>>0)>>>0,Je(Wt|0),re|0;if(k=z-1|0,!(k&z))return C|0&&(g[C>>2]=p|0,g[C+4>>2]=k&it|m&0),Wt=0,re=it>>>((cA(z|0)|0)>>>0),Je(Wt|0),re|0;if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=30){m=k+1|0,z=31-k|0,L=m,p=it<>>(m>>>0),m=it>>>(m>>>0),k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Wt=0,re=0,Je(Wt|0),re|0):(Wt=0,re=0,Je(Wt|0),re|0)}while(!1);if(!L)it=z,H=0,z=0;else{Ct=y|0|0,ot=Nt|S&0,it=S_(Ct|0,ot|0,-1,-1)|0,y=It()|0,H=z,z=0;do S=H,H=k>>>31|H<<1,k=z|k<<1,S=p<<1|S>>>31|0,Nt=p>>>31|m<<1|0,zd(it|0,y|0,S|0,Nt|0)|0,re=It()|0,Wt=re>>31|((re|0)<0?-1:0)<<1,z=Wt&1,p=zd(S|0,Nt|0,Wt&Ct|0,(((re|0)<0?-1:0)>>31|((re|0)<0?-1:0)<<1)&ot|0)|0,m=It()|0,L=L-1|0;while(L|0);it=H,H=0}return L=0,C|0&&(g[C>>2]=p,g[C+4>>2]=m),Wt=(k|0)>>>31|(it|L)<<1|(L<<1|k>>>31)&0|H,re=(k<<1|0)&-2|z,Je(Wt|0),re|0}function Yo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return k=wt,wt=wt+16|0,C=k|0,Yl(p,m,y,S,C)|0,wt=k,Je(g[C+4>>2]|0),g[C>>2]|0|0}function me(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m>>>y|0),p>>>y|(m&(1<>>y-32|0)}function ke(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m<>>32-y|0),p<=0?+cs(p+.5):+Ji(p-.5)}function Va(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if((y|0)>=8192)return Yp(p|0,m|0,y|0)|0,p|0;if(k=p|0,C=p+y|0,(p&3)==(m&3)){for(;p&3;){if(!y)return k|0;br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0,y=y-1|0}for(y=C&-4|0,S=y-64|0;(p|0)<=(S|0);)g[p>>2]=g[m>>2],g[p+4>>2]=g[m+4>>2],g[p+8>>2]=g[m+8>>2],g[p+12>>2]=g[m+12>>2],g[p+16>>2]=g[m+16>>2],g[p+20>>2]=g[m+20>>2],g[p+24>>2]=g[m+24>>2],g[p+28>>2]=g[m+28>>2],g[p+32>>2]=g[m+32>>2],g[p+36>>2]=g[m+36>>2],g[p+40>>2]=g[m+40>>2],g[p+44>>2]=g[m+44>>2],g[p+48>>2]=g[m+48>>2],g[p+52>>2]=g[m+52>>2],g[p+56>>2]=g[m+56>>2],g[p+60>>2]=g[m+60>>2],p=p+64|0,m=m+64|0;for(;(p|0)<(y|0);)g[p>>2]=g[m>>2],p=p+4|0,m=m+4|0}else for(y=C-4|0;(p|0)<(y|0);)br[p>>0]=br[m>>0]|0,br[p+1>>0]=br[m+1>>0]|0,br[p+2>>0]=br[m+2>>0]|0,br[p+3>>0]=br[m+3>>0]|0,p=p+4|0,m=m+4|0;for(;(p|0)<(C|0);)br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0;return k|0}function Fc(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=p+y|0,m=m&255,(y|0)>=67){for(;p&3;)br[p>>0]=m,p=p+1|0;for(S=k&-4|0,L=m|m<<8|m<<16|m<<24,C=S-64|0;(p|0)<=(C|0);)g[p>>2]=L,g[p+4>>2]=L,g[p+8>>2]=L,g[p+12>>2]=L,g[p+16>>2]=L,g[p+20>>2]=L,g[p+24>>2]=L,g[p+28>>2]=L,g[p+32>>2]=L,g[p+36>>2]=L,g[p+40>>2]=L,g[p+44>>2]=L,g[p+48>>2]=L,g[p+52>>2]=L,g[p+56>>2]=L,g[p+60>>2]=L,p=p+64|0;for(;(p|0)<(S|0);)g[p>>2]=L,p=p+4|0}for(;(p|0)<(k|0);)br[p>>0]=m,p=p+1|0;return k-y|0}function Ux(p){return p=+p,p>=0?+cs(p+.5):+Ji(p-.5)}function en(p){p=p|0;var m=0,y=0,S=0;return S=Jm()|0,y=g[Ms>>2]|0,m=y+p|0,(p|0)>0&(m|0)<(y|0)|(m|0)<0?(t0(m|0)|0,Km(12),-1):(m|0)>(S|0)&&!(Qp(m|0)|0)?(Km(12),-1):(g[Ms>>2]=m,y|0)}return{___uremdi3:Yo,_bitshift64Lshr:me,_bitshift64Shl:ke,_calloc:Ua,_cellAreaKm2:b_,_cellAreaM2:Nx,_cellAreaRads2:x_,_compact:mh,_destroyLinkedPolygon:Ft,_edgeLengthKm:un,_edgeLengthM:sA,_emscripten_replace_memory:e0,_exactEdgeLengthKm:oA,_exactEdgeLengthM:nr,_exactEdgeLengthRads:Mo,_experimentalH3ToLocalIj:$t,_experimentalLocalIjToH3:oe,_free:Gr,_geoToH3:lA,_getDestinationH3IndexFromUnidirectionalEdge:Z,_getH3IndexesFromUnidirectionalEdge:st,_getH3UnidirectionalEdge:U,_getH3UnidirectionalEdgeBoundary:pt,_getH3UnidirectionalEdgesFromHexagon:At,_getOriginH3IndexFromUnidirectionalEdge:W,_getPentagonIndexes:O,_getRes0Indexes:m_,_h3Distance:pe,_h3GetBaseCell:wf,_h3GetFaces:b,_h3GetResolution:dr,_h3IndexesAreNeighbors:B,_h3IsPentagon:ji,_h3IsResClassIII:Sf,_h3IsValid:aA,_h3Line:be,_h3LineSize:he,_h3SetToLinkedGeo:ah,_h3ToCenterChild:w_,_h3ToChildren:uo,_h3ToGeo:l,_h3ToGeoBoundary:d,_h3ToParent:Bd,_h3UnidirectionalEdgeIsValid:$,_hexAreaKm2:v_,_hexAreaM2:ua,_hexRing:p_,_i64Subtract:zd,_kRing:f_,_kRingDistances:d_,_llvm_minnum_f64:ml,_llvm_round_f64:Mf,_malloc:ho,_maxFaceCount:v,_maxH3ToChildrenSize:Hn,_maxKringSize:r0,_maxPolyfillSize:Cd,_maxUncompactSize:wn,_memcpy:Va,_memset:Fc,_numHexagons:d0,_pentagonIndexCount:M,_pointDistKm:Bc,_pointDistM:h0,_pointDistRads:_u,_polyfill:$p,_res0IndexCount:A_,_round:Ux,_sbrk:en,_sizeOfCoordIJ:Gs,_sizeOfGeoBoundary:Vr,_sizeOfGeoCoord:Jr,_sizeOfGeoPolygon:On,_sizeOfGeofence:ei,_sizeOfH3Index:Gi,_sizeOfLinkedGeoPolygon:tn,_uncompact:kn,establishStackSpace:Fx,stackAlloc:Ed,stackRestore:Id,stackSave:Pd}}(vt,xt,rr),Dt=t.___uremdi3=_t.___uremdi3,Mt=t._bitshift64Lshr=_t._bitshift64Lshr,Vt=t._bitshift64Shl=_t._bitshift64Shl,ie=t._calloc=_t._calloc,se=t._cellAreaKm2=_t._cellAreaKm2,ae=t._cellAreaM2=_t._cellAreaM2,lr=t._cellAreaRads2=_t._cellAreaRads2,vr=t._compact=_t._compact,Xe=t._destroyLinkedPolygon=_t._destroyLinkedPolygon,cr=t._edgeLengthKm=_t._edgeLengthKm,wr=t._edgeLengthM=_t._edgeLengthM,xi=t._emscripten_replace_memory=_t._emscripten_replace_memory,zi=t._exactEdgeLengthKm=_t._exactEdgeLengthKm,ni=t._exactEdgeLengthM=_t._exactEdgeLengthM,Hr=t._exactEdgeLengthRads=_t._exactEdgeLengthRads,jn=t._experimentalH3ToLocalIj=_t._experimentalH3ToLocalIj,Bi=t._experimentalLocalIjToH3=_t._experimentalLocalIjToH3,xn=t._free=_t._free,es=t._geoToH3=_t._geoToH3,oa=t._getDestinationH3IndexFromUnidirectionalEdge=_t._getDestinationH3IndexFromUnidirectionalEdge,Um=t._getH3IndexesFromUnidirectionalEdge=_t._getH3IndexesFromUnidirectionalEdge,Vl=t._getH3UnidirectionalEdge=_t._getH3UnidirectionalEdge,Ss=t._getH3UnidirectionalEdgeBoundary=_t._getH3UnidirectionalEdgeBoundary,nh=t._getH3UnidirectionalEdgesFromHexagon=_t._getH3UnidirectionalEdgesFromHexagon,ai=t._getOriginH3IndexFromUnidirectionalEdge=_t._getOriginH3IndexFromUnidirectionalEdge,ka=t._getPentagonIndexes=_t._getPentagonIndexes,Dc=t._getRes0Indexes=_t._getRes0Indexes,ln=t._h3Distance=_t._h3Distance,Dn=t._h3GetBaseCell=_t._h3GetBaseCell,Vm=t._h3GetFaces=_t._h3GetFaces,Go=t._h3GetResolution=_t._h3GetResolution,Gn=t._h3IndexesAreNeighbors=_t._h3IndexesAreNeighbors,So=t._h3IsPentagon=_t._h3IsPentagon,jl=t._h3IsResClassIII=_t._h3IsResClassIII,Ki=t._h3IsValid=_t._h3IsValid,_i=t._h3Line=_t._h3Line,Gl=t._h3LineSize=_t._h3LineSize,cn=t._h3SetToLinkedGeo=_t._h3SetToLinkedGeo,pu=t._h3ToCenterChild=_t._h3ToCenterChild,rs=t._h3ToChildren=_t._h3ToChildren,Gp=t._h3ToGeo=_t._h3ToGeo,Wl=t._h3ToGeoBoundary=_t._h3ToGeoBoundary,_d=t._h3ToParent=_t._h3ToParent,yd=t._h3UnidirectionalEdgeIsValid=_t._h3UnidirectionalEdgeIsValid,vd=t._hexAreaKm2=_t._hexAreaKm2,xd=t._hexAreaM2=_t._hexAreaM2,lt=t._hexRing=_t._hexRing,ft=t._i64Subtract=_t._i64Subtract,Lt=t._kRing=_t._kRing,Kt=t._kRingDistances=_t._kRingDistances,ge=t._llvm_minnum_f64=_t._llvm_minnum_f64,Qe=t._llvm_round_f64=_t._llvm_round_f64,ti=t._malloc=_t._malloc,is=t._maxFaceCount=_t._maxFaceCount,Ts=t._maxH3ToChildrenSize=_t._maxH3ToChildrenSize,Vs=t._maxKringSize=_t._maxKringSize,Ra=t._maxPolyfillSize=_t._maxPolyfillSize,jm=t._maxUncompactSize=_t._maxUncompactSize,Ox=t._memcpy=_t._memcpy,Bx=t._memset=_t._memset,l_=t._numHexagons=_t._numHexagons,c_=t._pentagonIndexCount=_t._pentagonIndexCount,gf=t._pointDistKm=_t._pointDistKm,Gm=t._pointDistM=_t._pointDistM,fl=t._pointDistRads=_t._pointDistRads,Wm=t._polyfill=_t._polyfill,Hm=t._res0IndexCount=_t._res0IndexCount,Wp=t._round=_t._round,qm=t._sbrk=_t._sbrk,bd=t._sizeOfCoordIJ=_t._sizeOfCoordIJ,sh=t._sizeOfGeoBoundary=_t._sizeOfGeoBoundary,ui=t._sizeOfGeoCoord=_t._sizeOfGeoCoord,Zm=t._sizeOfGeoPolygon=_t._sizeOfGeoPolygon,Da=t._sizeOfGeofence=_t._sizeOfGeofence,Oa=t._sizeOfH3Index=_t._sizeOfH3Index,u_=t._sizeOfLinkedGeoPolygon=_t._sizeOfLinkedGeoPolygon,Ym=t._uncompact=_t._uncompact,Qm=t.establishStackSpace=_t.establishStackSpace,Hp=t.stackAlloc=_t.stackAlloc,$m=t.stackRestore=_t.stackRestore,qp=t.stackSave=_t.stackSave;if(t.asm=_t,t.cwrap=ut,t.setValue=j,t.getValue=Q,t.getTempRet0=R,bo){Ia(bo)||(bo=o(bo));{du(\"memory initializer\");var wd=function(Zt){Zt.byteLength&&(Zt=new Uint8Array(Zt)),Li.set(Zt,N),t.memoryInitializerRequest&&delete t.memoryInitializerRequest.response,ul(\"memory initializer\")},Zp=function(){c(bo,wd,function(){throw\"could not load memory initializer \"+bo})},Sd=ht(bo);if(Sd)wd(Sd.buffer);else if(t.memoryInitializerRequest){var Xm=function(){var Zt=t.memoryInitializerRequest,fe=Zt.response;if(Zt.status!==200&&Zt.status!==0){var Be=ht(t.memoryInitializerRequestURL);if(Be)fe=Be.buffer;else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+Zt.status+\", retrying \"+bo),Zp();return}}wd(fe)};t.memoryInitializerRequest.response?setTimeout(Xm,0):t.memoryInitializerRequest.addEventListener(\"load\",Xm)}else Zp()}}var Td;lo=function Zt(){Td||Au(),Td||(lo=Zt)};function Au(Zt){if(Zt=Zt||s,gi>0||(cl(),gi>0))return;function fe(){Td||(Td=!0,!et&&(xo(),Pa(),t.onRuntimeInitialized&&t.onRuntimeInitialized(),na()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),fe()},1)):fe()}t.run=Au;function oh(Zt){throw t.onAbort&&t.onAbort(Zt),Zt+=\"\",f(Zt),_(Zt),et=!0,\"abort(\"+Zt+\"). Build with -s ASSERTIONS=1 for more info.\"}if(t.abort=oh,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return Au(),e}(typeof Ic==\"object\"?Ic:{}),Tr=\"number\",PS=Tr,$r=Tr,mi=Tr,Pc=Tr,Hi=Tr,pyt=[[\"sizeOfH3Index\",Tr],[\"sizeOfGeoCoord\",Tr],[\"sizeOfGeoBoundary\",Tr],[\"sizeOfGeoPolygon\",Tr],[\"sizeOfGeofence\",Tr],[\"sizeOfLinkedGeoPolygon\",Tr],[\"sizeOfCoordIJ\",Tr],[\"h3IsValid\",PS,[$r,mi]],[\"geoToH3\",$r,[Tr,Tr,Pc]],[\"h3ToGeo\",null,[$r,mi,Hi]],[\"h3ToGeoBoundary\",null,[$r,mi,Hi]],[\"maxKringSize\",Tr,[Tr]],[\"kRing\",null,[$r,mi,Tr,Hi]],[\"kRingDistances\",null,[$r,mi,Tr,Hi,Hi]],[\"hexRing\",null,[$r,mi,Tr,Hi]],[\"maxPolyfillSize\",Tr,[Hi,Pc]],[\"polyfill\",null,[Hi,Pc,Hi]],[\"h3SetToLinkedGeo\",null,[Hi,Tr,Hi]],[\"destroyLinkedPolygon\",null,[Hi]],[\"compact\",Tr,[Hi,Hi,Tr]],[\"uncompact\",Tr,[Hi,Tr,Hi,Tr,Pc]],[\"maxUncompactSize\",Tr,[Hi,Tr,Pc]],[\"h3IsPentagon\",PS,[$r,mi]],[\"h3IsResClassIII\",PS,[$r,mi]],[\"h3GetBaseCell\",Tr,[$r,mi]],[\"h3GetResolution\",Tr,[$r,mi]],[\"maxFaceCount\",Tr,[$r,mi]],[\"h3GetFaces\",null,[$r,mi,Hi]],[\"h3ToParent\",$r,[$r,mi,Pc]],[\"h3ToChildren\",null,[$r,mi,Pc,Hi]],[\"h3ToCenterChild\",$r,[$r,mi,Pc]],[\"maxH3ToChildrenSize\",Tr,[$r,mi,Pc]],[\"h3IndexesAreNeighbors\",PS,[$r,mi,$r,mi]],[\"getH3UnidirectionalEdge\",$r,[$r,mi,$r,mi]],[\"getOriginH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"getDestinationH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"h3UnidirectionalEdgeIsValid\",PS,[$r,mi]],[\"getH3IndexesFromUnidirectionalEdge\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgesFromHexagon\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgeBoundary\",null,[$r,mi,Hi]],[\"h3Distance\",Tr,[$r,mi,$r,mi]],[\"h3Line\",Tr,[$r,mi,$r,mi,Hi]],[\"h3LineSize\",Tr,[$r,mi,$r,mi]],[\"experimentalH3ToLocalIj\",Tr,[$r,mi,$r,mi,Hi]],[\"experimentalLocalIjToH3\",Tr,[$r,mi,Hi,Hi]],[\"hexAreaM2\",Tr,[Pc]],[\"hexAreaKm2\",Tr,[Pc]],[\"edgeLengthM\",Tr,[Pc]],[\"edgeLengthKm\",Tr,[Pc]],[\"pointDistM\",Tr,[Hi,Hi]],[\"pointDistKm\",Tr,[Hi,Hi]],[\"pointDistRads\",Tr,[Hi,Hi]],[\"cellAreaM2\",Tr,[$r,mi]],[\"cellAreaKm2\",Tr,[$r,mi]],[\"cellAreaRads2\",Tr,[$r,mi]],[\"exactEdgeLengthM\",Tr,[$r,mi]],[\"exactEdgeLengthKm\",Tr,[$r,mi]],[\"exactEdgeLengthRads\",Tr,[$r,mi]],[\"numHexagons\",Tr,[Pc]],[\"getRes0Indexes\",null,[Hi]],[\"res0IndexCount\",Tr],[\"getPentagonIndexes\",null,[Tr,Hi]],[\"pentagonIndexCount\",Tr]],Ma={};pyt.forEach(function(t){Ma[t[0]]=Ic.cwrap.apply(Ic,t)});var xx=16;var IS=8,sae=Ma.sizeOfH3Index(),YQ=Ma.sizeOfGeoCoord(),Ayt=Ma.sizeOfGeoBoundary(),oae=Ma.sizeOfGeoPolygon(),aae=Ma.sizeOfGeofence(),lae=Ma.sizeOfLinkedGeoPolygon(),cae=Ma.sizeOfCoordIJ(),qQ={m:\"m\",m2:\"m2\",km:\"km\",km2:\"km2\",rads:\"rads\",rads2:\"rads2\"};function myt(e){if(typeof e!=\"number\"||e<0||e>15||Math.floor(e)!==e)throw new Error(\"Invalid resolution: \"+e)}var gyt=/[^0-9a-fA-F]/;function bx(e){if(Array.isArray(e)&&e.length===2&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if(typeof e!=\"string\"||gyt.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),xx),r=parseInt(e.substring(e.length-8),xx);return[r,t]}function ZQ(e){if(e>=0)return e.toString(xx);e=e&2147483647;var t=QQ(8,e.toString(xx)),r=(parseInt(t[0],xx)+8).toString(xx);return t=r+t.substring(1),t}function _yt(e,t){return ZQ(t)+QQ(8,ZQ(e))}function QQ(e,t){for(var r=e-t.length,i=\"\",s=0;s180?r[0]-=360:i<-180&&(r[0]+=360)}}function Myt(e,t,r){let[i,s]=FI(e),n=t.length;n$(t,s);let o=t[0]===t[n-1]?n-1:n;for(let c=0;ce.hexagon},extruded:!0},Np=class e extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){e._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:t}){return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}updateState({props:t,changeFlags:r}){if(t.highPrecision!==!0&&(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagon)){let i=this._calculateH3DataProps();this.setState(i)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let t=-1,r=!1,i=!1,{iterable:s,objectInfo:n}=Jc(this.props.data);for(let o of s){n.index++;let c=this.props.getHexagon(o,n),f=KQ(c);if(t<0){if(t=f,!this.props.highPrecision)break}else if(t!==f){i=!0;break}if(XQ(c)){r=!0;break}}return{resolution:t,edgeLengthKM:t>=0?r$(t,\"km\"):0,hasMultipleRes:i,hasPentagon:r}}_shouldUseHighPrecision(){if(this.props.highPrecision===\"auto\"){let{resolution:t,hasPentagon:r,hasMultipleRes:i}=this.state,{viewport:s}=this.context;return!!s?.resolution||i||r||t>=0&&t<=5}return this.props.highPrecision}_updateVertices(t){if(this._shouldUseHighPrecision())return;let{resolution:r,edgeLengthKM:i,centerHex:s}=this.state;if(r<0)return;let n=this.props.centerHexagon||JQ(t.latitude,t.longitude,r);if(s===n)return;if(s){let R=e$(s,n);if(R>=0&&R*i{let N=t.projectFlat(R);return[(N[0]-w)/o[0],(N[1]-I)/o[1]]}),this.setState({centerHex:n,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){let{elevationScale:t,material:r,coverage:i,extruded:s,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,getFillColor:R,getElevation:N,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:Y}=this.props;return{elevationScale:t,extruded:s,coverage:i,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,material:r,getElevation:N,getFillColor:R,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:{getFillColor:Y.getFillColor,getElevation:Y.getElevation,getLineColor:Y.getLineColor,getLineWidth:Y.getLineWidth}}}_renderPolygonLayer(){let{data:t,getHexagon:r,updateTriggers:i,coverage:s}=this.props,n=this.getSubLayerClass(\"hexagon-cell-hifi\",lf),o=this._getForwardProps();return o.updateTriggers.getPolygon=Iyt(i.getHexagon,s),new n(o,this.getSubLayerProps({id:\"hexagon-cell-hifi\",updateTriggers:o.updateTriggers}),{data:t,_normalize:!1,_windingOrder:\"CCW\",positionFormat:\"XY\",getPolygon:(c,f)=>{let _=r(c,f);return Pyt(i$(_,s))}})}_renderColumnLayer(){let{data:t,getHexagon:r,updateTriggers:i}=this.props,s=this.getSubLayerClass(\"hexagon-cell\",af),n=this._getForwardProps();return n.updateTriggers.getPosition=i.getHexagon,new s(n,this.getSubLayerProps({id:\"hexagon-cell\",flatShading:!0,updateTriggers:n.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Eyt.bind(null,r)})}};G(Np,\"defaultProps\",Cyt);G(Np,\"layerName\",\"H3HexagonLayer\");G(Np,\"_checkH3Lib\",()=>{});var{data:Sae,getHexagon:Tae,...Lyt}=Np.defaultProps,kyt={_validate:!0},Mae={...Lyt,...kyt};var s$=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function o$(e,t=!1,r=Float32Array){let i;if(Number.isFinite(e[0]))i=new r(e);else{i=new r(e.length*4);let s=0;for(let n=0;nc[0]),r=e.map(c=>c[1]),i=Math.min.apply(null,t),s=Math.max.apply(null,t),n=Math.min.apply(null,r),o=Math.max.apply(null,r);return[i,n,s,o]}function u$(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}var l$=new Float32Array(12);function tF(e,t=2){let r=0;for(let i of e)for(let s=0;s 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n`;var A$=`#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n`;var Sx=class extends dn{getShaders(){return{vs:p$,fs:A$,modules:[Rs]}}initializeState({gl:t}){this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}_getModel(t){let{vertexCount:r}=this.props;return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:r})})}draw({uniforms:t}){let{model:r}=this.state,{texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}=this.props;r.setUniforms({...t,texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}).draw()}};G(Sx,\"layerName\",\"TriangleLayer\");var m$=`attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n`;var g$=`varying vec4 weightsTexture;\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var _$=`attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\ngl_PointSize = 1.0;\n}\n`;var y$=`varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n`;var Dyt=2,eF={mipmaps:!1,parameters:{10240:9729,10241:9729,10242:33071,10243:33071},dataFormat:6408},v$=[0,0],Oyt={SUM:0,MEAN:1},Byt={getPosition:{type:\"accessor\",value:e=>e.position},getWeight:{type:\"accessor\",value:1},intensity:{type:\"number\",min:0,value:1},radiusPixels:{type:\"number\",min:1,max:100,value:50},colorRange:s$,threshold:{type:\"number\",min:0,max:1,value:.05},colorDomain:{type:\"array\",value:null,optional:!0},aggregation:\"SUM\",weightsTextureSize:{type:\"number\",min:128,max:2048,value:2048},debounceTimeout:{type:\"number\",min:0,max:1e3,value:500}},Fyt=[Ii.BLEND_EQUATION_MINMAX,Ii.TEXTURE_FLOAT],zyt=[Ii.COLOR_ATTACHMENT_RGBA32F,Ii.FLOAT_BLEND],Nyt={data:{props:[\"radiusPixels\"]}},Up=class extends wx{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){let{gl:t}=this.context;if(!Oh(t,Fyt)){this.setState({supported:!1}),or.error(\"HeatmapLayer: \".concat(this.id,\" is not supported on this browser\"))();return}super.initializeAggregationLayer(Nyt),this.setState({supported:!0,colorDomain:v$}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState(t){this.state.supported&&(super.updateState(t),this._updateHeatmapState(t))}_updateHeatmapState(t){let{props:r,oldProps:i}=t,s=this._getChangeFlags(t);(s.dataChanged||s.viewportChanged)&&(s.boundsChanged=this._updateBounds(s.dataChanged),this._updateTextureRenderingBounds()),s.dataChanged||s.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):s.viewportZoomChanged&&this._debouncedUpdateWeightmap(),r.colorRange!==i.colorRange&&this._updateColorTexture(t),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:t.context.viewport.zoom})}renderLayers(){if(!this.state.supported)return[];let{weightsTexture:t,triPositionBuffer:r,triTexCoordBuffer:i,maxWeightsTexture:s,colorTexture:n,colorDomain:o}=this.state,{updateTriggers:c,intensity:f,threshold:_,aggregation:w}=this.props,I=this.getSubLayerClass(\"triangle\",Sx);return new I(this.getSubLayerProps({id:\"triangle-layer\",updateTriggers:c}),{coordinateSystem:Yr.DEFAULT,data:{attributes:{positions:r,texCoords:i}},vertexCount:4,maxTexture:s,colorTexture:n,aggregationMode:Oyt[w]||0,texture:t,intensity:f,threshold:_,colorDomain:o})}finalizeState(t){super.finalizeState(t);let{weightsTransform:r,weightsTexture:i,maxWeightTransform:s,maxWeightsTexture:n,triPositionBuffer:o,triTexCoordBuffer:c,colorTexture:f,updateTimer:_}=this.state;r?.delete(),i?.delete(),s?.delete(),n?.delete(),o?.delete(),c?.delete(),f?.delete(),_&&clearTimeout(_)}_getAttributeManager(){return new Xf(this.context.gl,{id:this.props.id,stats:this.context.stats})}_getChangeFlags(t){let r={},{dimensions:i}=this.state;r.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(t,{compareAll:!0,dimension:i.data}),r.viewportChanged=t.changeFlags.viewportChanged;let{zoom:s}=this.state;return(!t.context.viewport||t.context.viewport.zoom!==s)&&(r.viewportZoomChanged=!0),r}_createTextures(){let{gl:t}=this.context,{textureSize:r,format:i,type:s}=this.state;this.setState({weightsTexture:new pi(t,{width:r,height:r,format:i,type:s,...eF}),maxWeightsTexture:new pi(t,{format:i,type:s,...eF})})}_setupAttributes(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:\"getPosition\"},weights:{size:1,accessor:\"getWeight\"}}),this.setState({positionAttributeName:\"positions\"})}_setupTextureParams(){let{gl:t}=this.context,{weightsTextureSize:r}=this.props,i=Math.min(r,wy(t,3379)),s=Oh(t,zyt),{format:n,type:o}=d$({gl:t,floatTargetSupport:s}),c=s?1:1/255;this.setState({textureSize:i,format:n,type:o,weightsScale:c}),s||or.warn(\"HeatmapLayer: \".concat(this.id,\" rendering to float texture not supported, fallingback to low precession format\"))()}getShaders(t){return super.getShaders(t===\"max-weights-transform\"?{vs:_$,_fs:y$}:{vs:m$,_fs:g$})}_createWeightsTransform(t={}){var r;let{gl:i}=this.context,{weightsTransform:s}=this.state,{weightsTexture:n}=this.state;(r=s)===null||r===void 0||r.delete(),s=new nc(i,{id:\"\".concat(this.id,\"-weights-transform\"),elementCount:1,_targetTexture:n,_targetTextureVarying:\"weightsTexture\",...t}),this.setState({weightsTransform:s})}_setupResources(){let{gl:t}=this.context;this._createTextures();let{textureSize:r,weightsTexture:i,maxWeightsTexture:s}=this.state,n=this.getShaders(\"weights-transform\");this._createWeightsTransform(n);let o=this.getShaders(\"max-weights-transform\"),c=new nc(t,{id:\"\".concat(this.id,\"-max-weights-transform\"),_sourceTextures:{inTexture:i},_targetTexture:s,_targetTextureVarying:\"outTexture\",...o,elementCount:r*r});this.setState({weightsTexture:i,maxWeightsTexture:s,maxWeightTransform:c,zoom:null,triPositionBuffer:new Fr(t,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Fr(t,{byteLength:48,accessor:{size:2}})})}updateShaders(t){this._createWeightsTransform(t)}_updateMaxWeightValue(){let{maxWeightTransform:t}=this.state;t.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}_updateBounds(t=!1){let{viewport:r}=this.context,i=[r.unproject([0,0]),r.unproject([r.width,0]),r.unproject([r.width,r.height]),r.unproject([0,r.height])].map(c=>c.map(Math.fround)),s=c$(i),n={visibleWorldBounds:s,viewportCorners:i},o=!1;if(t||!this.state.worldBounds||!u$(this.state.worldBounds,s)){let c=this._worldToCommonBounds(s),f=this._commonToWorldBounds(c);this.props.coordinateSystem===Yr.LNGLAT&&(f[1]=Math.max(f[1],-85.051129),f[3]=Math.min(f[3],85.051129),f[0]=Math.max(f[0],-360),f[2]=Math.min(f[2],360));let _=this._worldToCommonBounds(f);n.worldBounds=f,n.normalizedCommonBounds=_,o=!0}return this.setState(n),o}_updateTextureRenderingBounds(){let{triPositionBuffer:t,triTexCoordBuffer:r,normalizedCommonBounds:i,viewportCorners:s}=this.state,{viewport:n}=this.context;t.subData(tF(s,3));let o=s.map(c=>f$(n.projectPosition(c),i));r.subData(tF(o,2))}_updateColorTexture(t){let{colorRange:r}=t.props,{colorTexture:i}=this.state,s=o$(r,!1,Uint8Array);i?i.setImageData({data:s,width:r.length}):i=new pi(this.context.gl,{data:s,width:r.length,height:1,...eF}),this.setState({colorTexture:i})}_updateWeightmap(){let{radiusPixels:t,colorDomain:r,aggregation:i}=this.props,{weightsTransform:s,worldBounds:n,textureSize:o,weightsTexture:c,weightsScale:f}=this.state;this.state.isWeightMapDirty=!1;let _=this._worldToCommonBounds(n,{useLayerCoordinateSystem:!0});if(r&&i===\"SUM\"){let{viewport:I}=this.context,R=I.distanceScales.metersPerUnit[2]*(_[2]-_[0])/o;this.state.colorDomain=r.map(N=>N*R*f)}else this.state.colorDomain=r||v$;let w={radiusPixels:t,commonBounds:_,textureWidth:o,weightsScale:f};s.update({elementCount:this.getNumInstances()}),Mn(this.context.gl,{clearColor:[0,0,0,0]},()=>{s.run({uniforms:w,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()})}),this._updateMaxWeightValue(),c.setParameters({10240:9729,10241:9729})}_debouncedUpdateWeightmap(t=!1){let{updateTimer:r}=this.state,{debounceTimeout:i}=this.props;t?(r=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(r),r=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),i)),this.setState({updateTimer:r})}_worldToCommonBounds(t,r={}){let{useLayerCoordinateSystem:i=!1}=r,[s,n,o,c]=t,{viewport:f}=this.context,{textureSize:_}=this.state,{coordinateSystem:w}=this.props,I=i&&(w===Yr.LNGLAT_OFFSETS||w===Yr.METER_OFFSETS),R=I?f.projectPosition(this.props.coordinateOrigin):[0,0],N=_*Dyt/f.scale,j,Q;return i&&!I?(j=this.projectPosition([s,n,0]),Q=this.projectPosition([o,c,0])):(j=f.projectPosition([s,n,0]),Q=f.projectPosition([o,c,0])),h$([j[0]-R[0],j[1]-R[1],Q[0]-R[0],Q[1]-R[1]],N,N)}_commonToWorldBounds(t){let[r,i,s,n]=t,{viewport:o}=this.context,c=o.unprojectPosition([r,i]),f=o.unprojectPosition([s,n]);return c.slice(0,2).concat(f.slice(0,2))}};G(Up,\"layerName\",\"HeatmapLayer\");G(Up,\"defaultProps\",Byt);var{data:Ale,getPosition:mle,...Uyt}=Up.defaultProps,x$={_validate:!0},Vyt={...Uyt,...x$},CS=class extends Ni{static defaultProps=Vyt;static layerName=\"GeoArrowHeatmapLayer\";renderLayers(){let{data:t}=this.props,r=ws(t,Kn.POINT);if(r!==null)return this._renderLayersPoint(r);let i=this.props.getPosition;if(i!==void 0&&Ci.isPointVector(i))return this._renderLayersPoint(i);throw new Error(\"getPosition not GeoArrow point\")}_renderLayersPoint(t){let{data:r}=this.props;this.props._validate&&(_r(Ci.isPointVector(t)),no(this.props,r));let[i,s]=io(this.props,[\"getPosition\"]),n=vo(r.data),o=[];for(let c=0;cr.text()),earcutWorkerPool:null}}async initEarcutPool(){if(this.state.earcutWorkerPool)return this.state.earcutWorkerPool;let t=await this.state.earcutWorkerRequest;if(!t||window?.location?.href.startsWith(\"file://\"))return null;try{let r=RX(()=>LX(kX.fromText(t)),8);return this.state.earcutWorkerPool=r,this.state.earcutWorkerPool}catch{return null}}async finalizeState(t){await this.state?.earcutWorkerPool?.terminate(),console.log(\"terminated\")}async updateData(){let{data:t}=this.props,r=await this._updateEarcut(t),i=vo(t.data);this.setState({table:this.props.data,triangles:r,tableOffsets:i})}async _updateEarcut(t){let r=ws(t,Kn.POLYGON);if(r!==null)return this._earcutPolygonVector(r);let i=ws(t,Kn.MULTIPOLYGON);if(i!==null)return this._earcutMultiPolygonVector(i);let s=this.props.getPolygon;if(s!==void 0&&Ci.isPolygonVector(s))return this._earcutPolygonVector(s);if(s!==void 0&&Ci.isMultiPolygonVector(s))return this._earcutMultiPolygonVector(s);throw new Error(\"geometryColumn not Polygon or MultiPolygon\")}async _earcutPolygonVector(t){let r=await this.initEarcutPool();if(!r)return this._earcutPolygonVectorMainThread(t);let i=new Array(t.data.length);console.time(\"earcut\");for(let s=0;s{let _=await f(LF(o,c));i[s]=_})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;i{let w=await _(LF(c,f));i[s]=w})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutMultiPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;iDX(t))):e}function OX(e){if(\"data\"in e)return new xr(e.data.map(o=>OX(o)));let t=e.valueOffsets,r=vi.getMultiPolygonChild(e),i=r.valueOffsets,s=vi.getPolygonChild(r),n=new Int32Array(t.length);for(let o=0;o{this.table=O2(this.model.get(t))};this.model.on(`change:${t}`,r),this.callbacks.set(`change:${t}`,r)}},tC=class extends mf{static layerType=\"arc\";greatCircle;numSegments;widthUnits;widthScale;widthMinPixels;widthMaxPixels;getSourcePosition;getTargetPosition;getSourceColor;getTargetColor;getWidth;getHeight;getTilt;constructor(t,r){super(t,r),this.initRegularAttribute(\"great_circle\",\"greatCircle\"),this.initRegularAttribute(\"num_segments\",\"numSegments\"),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initVectorizedAccessor(\"get_source_position\",\"getSourcePosition\"),this.initVectorizedAccessor(\"get_target_position\",\"getTargetPosition\"),this.initVectorizedAccessor(\"get_source_color\",\"getSourceColor\"),this.initVectorizedAccessor(\"get_target_color\",\"getTargetColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\"),this.initVectorizedAccessor(\"get_height\",\"getHeight\"),this.initVectorizedAccessor(\"get_tilt\",\"getTilt\")}layerProps(){return{data:this.table,getSourcePosition:this.getSourcePosition,getTargetPosition:this.getTargetPosition,...Jt(this.greatCircle)&&{greatCircle:this.greatCircle},...Jt(this.numSegments)&&{numSegments:this.numSegments},...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.getSourceColor)&&{getSourceColor:this.getSourceColor},...Jt(this.getTargetColor)&&{getTargetColor:this.getTargetColor},...Jt(this.getWidth)&&{getWidth:this.getWidth},...Jt(this.getHeight)&&{getHeight:this.getHeight},...Jt(this.getTilt)&&{getTilt:this.getTilt}}}render(){return new wS({...this.baseLayerProps(),...this.layerProps()})}},eC=class extends Ug{static layerType=\"bitmap\";image;bounds;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"image\",\"image\"),this.initRegularAttribute(\"bounds\",\"bounds\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}layerProps(){return{...Jt(this.image)&&{image:this.image},...Jt(this.bounds)&&{bounds:this.bounds},...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}render(){return new Mp({...this.baseLayerProps(),...this.layerProps(),data:void 0,pickable:!1})}},rC=class extends Ug{static layerType=\"bitmap-tile\";data;tileSize;zoomOffset;maxZoom;minZoom;extent;maxCacheSize;maxCacheByteSize;refinementStrategy;maxRequests;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"data\",\"data\"),this.initRegularAttribute(\"tile_size\",\"tileSize\"),this.initRegularAttribute(\"zoom_offset\",\"zoomOffset\"),this.initRegularAttribute(\"max_zoom\",\"maxZoom\"),this.initRegularAttribute(\"min_zoom\",\"minZoom\"),this.initRegularAttribute(\"extent\",\"extent\"),this.initRegularAttribute(\"max_cache_size\",\"maxCacheSize\"),this.initRegularAttribute(\"max_cache_byte_size\",\"maxCacheByteSize\"),this.initRegularAttribute(\"refinement_strategy\",\"refinementStrategy\"),this.initRegularAttribute(\"max_requests\",\"maxRequests\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}bitmapLayerProps(){return{...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}layerProps(){return{data:this.data,...Jt(this.tileSize)&&{tileSize:this.tileSize},...Jt(this.zoomOffset)&&{zoomOffset:this.zoomOffset},...Jt(this.maxZoom)&&{maxZoom:this.maxZoom},...Jt(this.minZoom)&&{minZoom:this.minZoom},...Jt(this.extent)&&{extent:this.extent},...Jt(this.maxCacheSize)&&{maxCacheSize:this.maxCacheSize},...Jt(this.maxCacheByteSize)&&{maxCacheByteSize:this.maxCacheByteSize},...Jt(this.refinementStrategy)&&{refinementStrategy:this.refinementStrategy},...Jt(this.maxRequests)&&{maxRequests:this.maxRequests}}}render(){return new Lm({...this.baseLayerProps(),...this.layerProps(),renderSubLayers:t=>{let[r,i]=t.tile.boundingBox;return new Mp(t,{...this.bitmapLayerProps(),data:void 0,image:t.data,bounds:[r[0],r[1],i[0],i[1]]})}})}},iC=class extends mf{static layerType=\"column\";diskResolution;radius;angle;vertices;offset;coverage;elevationScale;filled;stroked;extruded;wireframe;flatShading;radiusUnits;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;material;getPosition;getFillColor;getLineColor;getElevation;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"disk_resolution\",\"diskResolution\"),this.initRegularAttribute(\"radius\",\"radius\"),this.initRegularAttribute(\"angle\",\"angle\"),this.initRegularAttribute(\"vertices\",\"vertices\"),this.initRegularAttribute(\"offset\",\"offset\"),this.initRegularAttribute(\"coverage\",\"coverage\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"flat_shading\",\"flatShading\"),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"material\",\"material\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.diskResolution)&&{diskResolution:this.diskResolution},...Jt(this.radius)&&{radius:this.radius},...Jt(this.angle)&&{angle:this.angle},...Jt(this.vertices)&&this.vertices!==void 0&&{vertices:this.vertices},...Jt(this.offset)&&{offset:this.offset},...Jt(this.coverage)&&{coverage:this.coverage},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.filled)&&{filled:this.filled},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.flatShading)&&{flatShading:this.flatShading},...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.material)&&{material:this.material},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new SS({...this.baseLayerProps(),...this.layerProps()})}},nC=class extends mf{static layerType=\"heatmap\";radiusPixels;colorRange;intensity;threshold;colorDomain;aggregation;weightsTextureSize;debounceTimeout;getPosition;getWeight;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_pixels\",\"radiusPixels\"),this.initRegularAttribute(\"color_range\",\"colorRange\"),this.initRegularAttribute(\"intensity\",\"intensity\"),this.initRegularAttribute(\"threshold\",\"threshold\"),this.initRegularAttribute(\"color_domain\",\"colorDomain\"),this.initRegularAttribute(\"aggregation\",\"aggregation\"),this.initRegularAttribute(\"weights_texture_size\",\"weightsTextureSize\"),this.initRegularAttribute(\"debounce_timeout\",\"debounceTimeout\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_weight\",\"getWeight\")}layerProps(){return{data:this.table,...Jt(this.radiusPixels)&&{radiusPixels:this.radiusPixels},...Jt(this.colorRange)&&{colorRange:this.colorRange},...Jt(this.intensity)&&{intensity:this.intensity},...Jt(this.threshold)&&{threshold:this.threshold},...Jt(this.colorDomain)&&{colorDomain:this.colorDomain},...Jt(this.aggregation)&&{aggregation:this.aggregation},...Jt(this.weightsTextureSize)&&{weightsTextureSize:this.weightsTextureSize},...Jt(this.debounceTimeout)&&{debounceTimeout:this.debounceTimeout},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getWeight)&&{getWeight:this.getWeight}}}render(){return new CS({...this.baseLayerProps(),...this.layerProps()})}},QS=class extends mf{static layerType=\"path\";widthUnits;widthScale;widthMinPixels;widthMaxPixels;jointRounded;capRounded;miterLimit;billboard;getColor;getWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initRegularAttribute(\"joint_rounded\",\"jointRounded\"),this.initRegularAttribute(\"cap_rounded\",\"capRounded\"),this.initRegularAttribute(\"miter_limit\",\"miterLimit\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\")}layerProps(){return{data:this.table,...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.jointRounded)&&{jointRounded:this.jointRounded},...Jt(this.capRounded)&&{capRounded:this.capRounded},...Jt(this.miterLimit)&&{miterLimit:this.miterLimit},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getWidth)&&{getWidth:this.getWidth}}}render(){return new e_({...this.baseLayerProps(),...this.layerProps()})}},sC=class extends mf{static layerType=\"point-cloud\";sizeUnits;pointSize;getColor;getNormal;constructor(t,r){super(t,r),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"point_size\",\"pointSize\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_normal\",\"getNormal\")}layerProps(){return{data:this.table,...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.pointSize)&&{pointSize:this.pointSize},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getNormal)&&{getNormal:this.getNormal}}}render(){return new LS({...this.baseLayerProps(),...this.layerProps()})}},oC=class extends mf{static layerType=\"polygon\";stroked;filled;extruded;wireframe;elevationScale;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;lineJointRounded;lineMiterLimit;getFillColor;getLineColor;getLineWidth;getElevation;constructor(t,r){super(t,r),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"line_joint_rounded\",\"lineJointRounded\"),this.initRegularAttribute(\"line_miter_limit\",\"lineMiterLimit\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\")}layerProps(){return{data:this.table,...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.lineJointRounded)&&{lineJointRounded:this.lineJointRounded},...Jt(this.lineMiterLimit)&&{lineMiterLimit:this.lineMiterLimit},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth},...Jt(this.getElevation)&&{getElevation:this.getElevation}}}render(){return new qS({...this.baseLayerProps(),...this.layerProps()})}},$S=class extends mf{static layerType=\"scatterplot\";radiusUnits;radiusScale;radiusMinPixels;radiusMaxPixels;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;stroked;filled;billboard;antialiasing;getRadius;getFillColor;getLineColor;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"radius_scale\",\"radiusScale\"),this.initRegularAttribute(\"radius_min_pixels\",\"radiusMinPixels\"),this.initRegularAttribute(\"radius_max_pixels\",\"radiusMaxPixels\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"antialiasing\",\"antialiasing\"),this.initVectorizedAccessor(\"get_radius\",\"getRadius\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.radiusScale)&&{radiusScale:this.radiusScale},...Jt(this.radiusMinPixels)&&{radiusMinPixels:this.radiusMinPixels},...Jt(this.radiusMaxPixels)&&{radiusMaxPixels:this.radiusMaxPixels},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.antialiasing)&&{antialiasing:this.antialiasing},...Jt(this.getRadius)&&{getRadius:this.getRadius},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new ZS({...this.baseLayerProps(),...this.layerProps()})}},XS=class extends mf{static layerType=\"solid-polygon\";filled;extruded;wireframe;elevationScale;getElevation;getFillColor;getLineColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\")}layerProps(){return{data:this.table,...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor}}}render(){return new o_({...this.baseLayerProps(),...this.layerProps()})}},aC=class extends mf{static layerType=\"text\";billboard;sizeScale;sizeUnits;sizeMinPixels;sizeMaxPixels;getBackgroundColor;getBorderColor;getBorderWidth;backgroundPadding;characterSet;fontFamily;fontWeight;lineHeight;outlineWidth;outlineColor;fontSettings;wordBreak;maxWidth;getText;getPosition;getColor;getSize;getAngle;getTextAnchor;getAlignmentBaseline;getPixelOffset;constructor(t,r){super(t,r),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"size_scale\",\"sizeScale\"),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"size_min_pixels\",\"sizeMinPixels\"),this.initRegularAttribute(\"size_max_pixels\",\"sizeMaxPixels\"),this.initRegularAttribute(\"background_padding\",\"backgroundPadding\"),this.initRegularAttribute(\"character_set\",\"characterSet\"),this.initRegularAttribute(\"font_family\",\"fontFamily\"),this.initRegularAttribute(\"font_weight\",\"fontWeight\"),this.initRegularAttribute(\"line_height\",\"lineHeight\"),this.initRegularAttribute(\"outline_width\",\"outlineWidth\"),this.initRegularAttribute(\"outline_color\",\"outlineColor\"),this.initRegularAttribute(\"font_settings\",\"fontSettings\"),this.initRegularAttribute(\"word_break\",\"wordBreak\"),this.initRegularAttribute(\"max_width\",\"maxWidth\"),this.initVectorizedAccessor(\"get_background_color\",\"getBackgroundColor\"),this.initVectorizedAccessor(\"get_border_color\",\"getBorderColor\"),this.initVectorizedAccessor(\"get_border_width\",\"getBorderWidth\"),this.initVectorizedAccessor(\"get_text\",\"getText\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_size\",\"getSize\"),this.initVectorizedAccessor(\"get_angle\",\"getAngle\"),this.initVectorizedAccessor(\"get_text_anchor\",\"getTextAnchor\"),this.initVectorizedAccessor(\"get_alignment_baseline\",\"getAlignmentBaseline\"),this.initVectorizedAccessor(\"get_pixel_offset\",\"getPixelOffset\")}layerProps(){return{data:this.table,getText:this.getText,...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.sizeScale)&&{sizeScale:this.sizeScale},...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.sizeMinPixels)&&{sizeMinPixels:this.sizeMinPixels},...Jt(this.sizeMaxPixels)&&{sizeMaxPixels:this.sizeMaxPixels},...Jt(this.backgroundPadding)&&{backgroundPadding:this.backgroundPadding},...Jt(this.characterSet)&&{characterSet:this.characterSet},...Jt(this.fontFamily)&&{fontFamily:this.fontFamily},...Jt(this.fontWeight)&&{fontWeight:this.fontWeight},...Jt(this.lineHeight)&&{lineHeight:this.lineHeight},...Jt(this.outlineWidth)&&{outlineWidth:this.outlineWidth},...Jt(this.outlineColor)&&{outlineColor:this.outlineColor},...Jt(this.fontSettings)&&{fontSettings:this.fontSettings},...Jt(this.wordBreak)&&{wordBreak:this.wordBreak},...Jt(this.maxWidth)&&{maxWidth:this.maxWidth},...Jt(this.getBackgroundColor)&&{getBackgroundColor:this.getBackgroundColor},...Jt(this.getBorderColor)&&{getBorderColor:this.getBorderColor},...Jt(this.getBorderWidth)&&{getBorderWidth:this.getBorderWidth},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getSize)&&{getSize:this.getSize},...Jt(this.getAngle)&&{getAngle:this.getAngle},...Jt(this.getTextAnchor)&&{getTextAnchor:this.getTextAnchor},...Jt(this.getAlignmentBaseline)&&{getAlignmentBaseline:this.getAlignmentBaseline},...Jt(this.getPixelOffset)&&{getPixelOffset:this.getPixelOffset}}}render(){return new YS({...this.baseLayerProps(),...this.layerProps()})}};async function DF(e,t){let r=e.get(\"_layer_type\"),i;switch(r){case tC.layerType:i=new tC(e,t);break;case eC.layerType:i=new eC(e,t);break;case rC.layerType:i=new rC(e,t);break;case iC.layerType:i=new iC(e,t);break;case nC.layerType:i=new nC(e,t);break;case QS.layerType:i=new QS(e,t);break;case sC.layerType:i=new sC(e,t);break;case oC.layerType:i=new oC(e,t);break;case $S.layerType:i=new $S(e,t);break;case XS.layerType:i=new XS(e,t);break;case aC.layerType:i=new aC(e,t);break;default:throw new Error(`no layer supported for ${r}`)}return await i.loadSubModels(),i}var lC=Symbol.for(\"rowIndex\");function U1t(e){return`\n \n ${Object.keys(e).map(t=>{let r=e[t];return`\n \n \n `}).join(\"\")}\n \n
${t}${r}
`}function FX({object:e}){if(e){if(e[lC]===null||e[lC]===void 0||e[lC]&&e[lC]<0)return null;let t=e.toJSON();return!t||(delete t.geometry,Object.keys(t).length===0)?null:{className:\"lonboard-tooltip\",html:U1t(t),style:{backgroundColor:\"#fff\",boxShadow:\"0 0 15px rgba(0, 0, 0, 0.1)\",color:\"#000\",padding:\"6px\"}}}return null}var cC,V1t=new Uint8Array(16);function OF(){if(!cC&&(cC=typeof crypto<\"u\"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!cC))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return cC(V1t)}var Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));function zX(e,t=0){return Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]}var j1t=typeof crypto<\"u\"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),BF={randomUUID:j1t};function G1t(e,t,r){if(BF.randomUUID&&!t&&!e)return BF.randomUUID();e=e||{};let i=e.random||(e.rng||OF)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let s=0;s<16;++s)t[r+s]=i[s];return t}return zX(i)}var FF=G1t;function NX(e,t){let{longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,curve:f,speed:_,screenSpeed:w}=e,I=new nv({...Jt(f)&&{curve:f},...Jt(_)&&{speed:_},...Jt(w)&&{screenSpeed:w}});t({longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,transitionInterpolator:I})}var uC=Ri(Yi(),1);var W1t=DH(e=>{let t=e.get(\"view_state\");\"transitionInterpolator\"in t&&(console.debug(\"Deleting transitionInterpolator!\"),delete t.transitionInterpolator,e.set(\"view_state\",t)),e.save_changes()},300);function UX(e){let t=Y1(),[r,i]=uC.useState(t.get(e));return uC.useEffect(()=>{let s=()=>{i(t.get(e))};return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),W1t(t)}]}await kH();var H1t={latitude:10,longitude:0,zoom:.5,bearing:0,pitch:0},q1t=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\";async function Z1t(e,t,r,i){let s={},n=()=>i(new Date);for(let o=0;o{switch(et.type){case\"fly-to\":NX(et,f);break;default:break}});let[_]=(0,a_.useState)(FF()),[w,I]=(0,a_.useState)({}),[R]=zA(\"layers\"),[N,j]=(0,a_.useState)(new Date);(0,a_.useEffect)(()=>{(async()=>{let Y=await L3(e.widget_manager,R),K=await Z1t(Y,R,w,j);I(K)})().catch(console.error)},[R]);let Q=[];for(let et of Object.values(w))Q.push(et.render());return(0,a_.useEffect)(()=>{if(r)return;let Y=document.getElementById(`map-${_}`)?.parentElement;if(Y){let K=window.getComputedStyle(Y);(!K.height||K.height===\"0px\")&&(Y.style.height=\"100%\",Y.style.minHeight=\"500px\")}},[]),hC.createElement(\"div\",{id:`map-${_}`,style:{height:r||\"100%\"}},hC.createElement(GD,{initialViewState:[\"longitude\",\"latitude\",\"zoom\"].every(et=>Object.keys(c).includes(et))?c:H1t,controller:!0,layers:Q,getTooltip:i&&FX,pickingRadius:s,useDevicePixels:Jt(n)?n:!0,_typedArrayManagerProps:{overAlloc:1,poolSize:0},onViewStateChange:et=>{let{viewState:Y}=et,{longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt}=Y;f({longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt})},parameters:o||{}},hC.createElement(iU,{mapStyle:t||q1t})))}var Q1t={render:j8(Y1t)},Che=Q1t;export{Che as default};\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nhammerjs/hammer.js:\n (*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license *)\n*/\n", + "_height": 800, + "_model_module": "anywidget", + "_model_module_version": "~0.9.*", + "_model_name": "AnyModel", + "_view_module": "anywidget", + "_view_module_version": "~0.9.*", + "_view_name": "AnyView", + "basemap_style": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json", + "layers": [ + "IPY_MODEL_cf78a1e4201842bb9bced968b8576c1d" + ], + "layout": "IPY_MODEL_c3b7f1b749a740fb88941ea6a499a673", + "parameters": null, + "picking_radius": 5, + "show_tooltip": true, + "use_device_pixels": null, + "view_state": { + "bearing": 0, + "latitude": 39.13166283380059, + "longitude": -84.50398500095623, + "pitch": 0, + "zoom": 12.615514195180364 + } + } + }, + "7a17fa9bb2544f1cb105c7b04835ea02": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -43009,20 +42985,20 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_0b1aed76adae44d2975c40f81eb67bc3", + "layout": "IPY_MODEL_c88537dc44f249efb875ebba8ffbff10", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "7dac48de52a74d1b9a741706ae66c945": { + "8ec8378fefb34defa1e4b778795c0477": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, - "88717fce31514483a965737973c3be75": { + "961fab83c921434b8fc6f1079c5f3614": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -43038,59 +43014,68 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_dcb9c0d18cf044c88ed7aef4d7e29c97", + "layout": "IPY_MODEL_8ec8378fefb34defa1e4b778795c0477", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "cb66855af1114d3a96c4a79ccd6e09a3": { + "c3b7f1b749a740fb88941ea6a499a673": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, - "d8571bbdcb16415fa6ea105f2b72677f": { - "model_module": "anywidget", - "model_module_version": "~0.9.*", - "model_name": "AnyModel", + "c88537dc44f249efb875ebba8ffbff10": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "cf78a1e4201842bb9bced968b8576c1d": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "WidgetModel", "state": { - "_anywidget_id": "lonboard._map.Map", - "_css": ".lonboard-tooltip{font-family:var(--jp-ui-font-family);font-size:var(--jp-ui-font-size1)}.lonboard-tooltip table{border-collapse:collapse}.lonboard-tooltip table tr:nth-child(odd){background-color:#fff}.lonboard-tooltip table tr:nth-child(2n){background-color:#f1f1f1}.lonboard-tooltip td{border:1px solid rgb(204,204,204);padding:5px}.lonboard-tooltip td:first-child{font-weight:450}\n", - "_esm": "var EJ=Object.create;var $C=Object.defineProperty;var PJ=Object.getOwnPropertyDescriptor;var IJ=Object.getOwnPropertyNames;var CJ=Object.getPrototypeOf,LJ=Object.prototype.hasOwnProperty;var Br=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mA=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},kJ=(e,t,r,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let s of IJ(t))!LJ.call(e,s)&&s!==r&&$C(e,s,{get:()=>t[s],enumerable:!(i=PJ(t,s))||i.enumerable});return e};var Ri=(e,t,r)=>(r=e!=null?EJ(CJ(e)):{},kJ(t||!e||!e.__esModule?$C(r,\"default\",{value:e,enumerable:!0}):r,e));var _z=Br(Di=>{\"use strict\";var r1=Symbol.for(\"react.element\"),RJ=Symbol.for(\"react.portal\"),DJ=Symbol.for(\"react.fragment\"),OJ=Symbol.for(\"react.strict_mode\"),BJ=Symbol.for(\"react.profiler\"),FJ=Symbol.for(\"react.provider\"),zJ=Symbol.for(\"react.context\"),NJ=Symbol.for(\"react.forward_ref\"),UJ=Symbol.for(\"react.suspense\"),VJ=Symbol.for(\"react.memo\"),jJ=Symbol.for(\"react.lazy\"),az=Symbol.iterator;function GJ(e){return e===null||typeof e!=\"object\"?null:(e=az&&e[az]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var uz={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},hz=Object.assign,fz={};function R_(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}R_.prototype.isReactComponent={};R_.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};R_.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function dz(){}dz.prototype=R_.prototype;function KC(e,t,r){this.props=e,this.context=t,this.refs=fz,this.updater=r||uz}var JC=KC.prototype=new dz;JC.constructor=KC;hz(JC,R_.prototype);JC.isPureReactComponent=!0;var lz=Array.isArray,pz=Object.prototype.hasOwnProperty,tL={current:null},Az={key:!0,ref:!0,__self:!0,__source:!0};function mz(e,t,r){var i,s={},n=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(n=\"\"+t.key),t)pz.call(t,i)&&!Az.hasOwnProperty(i)&&(s[i]=t[i]);var c=arguments.length-2;if(c===1)s.children=r;else if(1{\"use strict\";yz.exports=_z()});var Iz=Br(zn=>{\"use strict\";function sL(e,t){var r=e.length;e.push(t);t:for(;0>>1,s=e[i];if(0<_T(s,t))e[i]=t,e[r]=s,r=i;else break t}}function Sh(e){return e.length===0?null:e[0]}function vT(e){if(e.length===0)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;t:for(var i=0,s=e.length,n=s>>>1;i_T(c,r))f_T(_,c)?(e[i]=_,e[f]=r,i=f):(e[i]=c,e[o]=r,i=o);else if(f_T(_,r))e[i]=_,e[f]=r,i=f;else break t}}return t}function _T(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance==\"object\"&&typeof performance.now==\"function\"?(vz=performance,zn.unstable_now=function(){return vz.now()}):(rL=Date,xz=rL.now(),zn.unstable_now=function(){return rL.now()-xz});var vz,rL,xz,If=[],gA=[],YJ=1,wu=null,qa=3,xT=!1,_0=!1,n1=!1,Sz=typeof setTimeout==\"function\"?setTimeout:null,Tz=typeof clearTimeout==\"function\"?clearTimeout:null,bz=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function oL(e){for(var t=Sh(gA);t!==null;){if(t.callback===null)vT(gA);else if(t.startTime<=e)vT(gA),t.sortIndex=t.expirationTime,sL(If,t);else break;t=Sh(gA)}}function aL(e){if(n1=!1,oL(e),!_0)if(Sh(If)!==null)_0=!0,cL(lL);else{var t=Sh(gA);t!==null&&uL(aL,t.startTime-e)}}function lL(e,t){_0=!1,n1&&(n1=!1,Tz(s1),s1=-1),xT=!0;var r=qa;try{for(oL(t),wu=Sh(If);wu!==null&&(!(wu.expirationTime>t)||e&&!Pz());){var i=wu.callback;if(typeof i==\"function\"){wu.callback=null,qa=wu.priorityLevel;var s=i(wu.expirationTime<=t);t=zn.unstable_now(),typeof s==\"function\"?wu.callback=s:wu===Sh(If)&&vT(If),oL(t)}else vT(If);wu=Sh(If)}if(wu!==null)var n=!0;else{var o=Sh(gA);o!==null&&uL(aL,o.startTime-t),n=!1}return n}finally{wu=null,qa=r,xT=!1}}var bT=!1,yT=null,s1=-1,Mz=5,Ez=-1;function Pz(){return!(zn.unstable_now()-Eze||125i?(e.sortIndex=r,sL(gA,e),Sh(If)===null&&e===Sh(gA)&&(n1?(Tz(s1),s1=-1):n1=!0,uL(aL,r-i))):(e.sortIndex=s,sL(If,e),_0||xT||(_0=!0,cL(lL))),e};zn.unstable_shouldYield=Pz;zn.unstable_wrapCallback=function(e){var t=qa;return function(){var r=qa;qa=t;try{return e.apply(this,arguments)}finally{qa=r}}}});var Lz=Br((tbt,Cz)=>{\"use strict\";Cz.exports=Iz()});var O8=Br(Zc=>{\"use strict\";var QJ=Yi(),Hc=Lz();function Pe(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,r=1;r\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),RL=Object.prototype.hasOwnProperty,$J=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,kz={},Rz={};function XJ(e){return RL.call(Rz,e)?!0:RL.call(kz,e)?!1:$J.test(e)?Rz[e]=!0:(kz[e]=!0,!1)}function KJ(e,t,r,i){if(r!==null&&r.type===0)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return i?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function JJ(e,t,r,i){if(t===null||typeof t>\"u\"||KJ(e,t,r,i))return!0;if(i)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Sl(e,t,r,i,s,n,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=n,this.removeEmptyString=o}var ga={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ga[e]=new Sl(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ga[t]=new Sl(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ga[e]=new Sl(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ga[e]=new Sl(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ga[e]=new Sl(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ga[e]=new Sl(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ga[e]=new Sl(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ga[e]=new Sl(e,5,!1,e.toLowerCase(),null,!1,!1)});var Tk=/[\\-:]([a-z])/g;function Mk(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Tk,Mk);ga[t]=new Sl(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!1,!1)});ga.xlinkHref=new Sl(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ga[e]=new Sl(e,1,!1,e.toLowerCase(),null,!0,!0)});function Ek(e,t,r,i){var s=ga.hasOwnProperty(t)?ga[t]:null;(s!==null?s.type!==0:i||!(2c||s[o]!==n[c]){var f=`\n`+s[o].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),f}while(1<=o&&0<=c);break}}}finally{fL=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:\"\")?p1(e):\"\"}function ttt(e){switch(e.tag){case 5:return p1(e.type);case 16:return p1(\"Lazy\");case 13:return p1(\"Suspense\");case 19:return p1(\"SuspenseList\");case 0:case 2:case 15:return e=dL(e.type,!1),e;case 11:return e=dL(e.type.render,!1),e;case 1:return e=dL(e.type,!0),e;default:return\"\"}}function FL(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case F_:return\"Fragment\";case B_:return\"Portal\";case DL:return\"Profiler\";case Pk:return\"StrictMode\";case OL:return\"Suspense\";case BL:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case U5:return(e.displayName||\"Context\")+\".Consumer\";case N5:return(e._context.displayName||\"Context\")+\".Provider\";case Ik:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Ck:return t=e.displayName||null,t!==null?t:FL(e.type)||\"Memo\";case yA:t=e._payload,e=e._init;try{return FL(e(t))}catch{}}return null}function ett(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return FL(t);case 8:return t===Pk?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t==\"function\")return t.displayName||t.name||null;if(typeof t==\"string\")return t}return null}function RA(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function j5(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function rtt(e){var t=j5(e)?\"checked\":\"value\",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof r<\"u\"&&typeof r.get==\"function\"&&typeof r.set==\"function\"){var s=r.get,n=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=\"\"+o,n.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return i},setValue:function(o){i=\"\"+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ST(e){e._valueTracker||(e._valueTracker=rtt(e))}function G5(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),i=\"\";return e&&(i=j5(e)?e.checked?\"true\":\"false\":e.value),e=i,e!==r?(t.setValue(e),!0):!1}function KT(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function zL(e,t){var r=t.checked;return ms({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Oz(e,t){var r=t.defaultValue==null?\"\":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;r=RA(t.value!=null?t.value:r),e._wrapperState={initialChecked:i,initialValue:r,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function W5(e,t){t=t.checked,t!=null&&Ek(e,\"checked\",t,!1)}function NL(e,t){W5(e,t);var r=RA(t.value),i=t.type;if(r!=null)i===\"number\"?(r===0&&e.value===\"\"||e.value!=r)&&(e.value=\"\"+r):e.value!==\"\"+r&&(e.value=\"\"+r);else if(i===\"submit\"||i===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?UL(e,t.type,r):t.hasOwnProperty(\"defaultValue\")&&UL(e,t.type,RA(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Bz(e,t,r){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var i=t.type;if(!(i!==\"submit\"&&i!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,r!==\"\"&&(e.name=r)}function UL(e,t,r){(t!==\"number\"||KT(e.ownerDocument)!==e)&&(r==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+r&&(e.defaultValue=\"\"+r))}var A1=Array.isArray;function Y_(e,t,r,i){if(e=e.options,t){t={};for(var s=0;s\"+t.valueOf().toString()+\"\",t=TT.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function P1(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var _1={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},itt=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(_1).forEach(function(e){itt.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_1[t]=_1[e]})});function Y5(e,t,r){return t==null||typeof t==\"boolean\"||t===\"\"?\"\":r||typeof t!=\"number\"||t===0||_1.hasOwnProperty(e)&&_1[e]?(\"\"+t).trim():t+\"px\"}function Q5(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var i=r.indexOf(\"--\")===0,s=Y5(r,t[r],i);r===\"float\"&&(r=\"cssFloat\"),i?e.setProperty(r,s):e[r]=s}}var ntt=ms({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function GL(e,t){if(t){if(ntt[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Pe(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Pe(60));if(typeof t.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(Pe(61))}if(t.style!=null&&typeof t.style!=\"object\")throw Error(Pe(62))}}function WL(e,t){if(e.indexOf(\"-\")===-1)return typeof t.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var HL=null;function Lk(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var qL=null,Q_=null,$_=null;function Nz(e){if(e=q1(e)){if(typeof qL!=\"function\")throw Error(Pe(280));var t=e.stateNode;t&&(t=MM(t),qL(e.stateNode,e.type,t))}}function $5(e){Q_?$_?$_.push(e):$_=[e]:Q_=e}function X5(){if(Q_){var e=Q_,t=$_;if($_=Q_=null,Nz(e),t)for(e=0;e>>=0,e===0?32:31-(Att(e)/mtt|0)|0}var MT=64,ET=4194304;function m1(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rM(e,t){var r=e.pendingLanes;if(r===0)return 0;var i=0,s=e.suspendedLanes,n=e.pingedLanes,o=r&268435455;if(o!==0){var c=o&~s;c!==0?i=m1(c):(n&=o,n!==0&&(i=m1(n)))}else o=r&~s,o!==0?i=m1(o):n!==0&&(i=m1(n));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,n=t&-t,s>=n||s===16&&(n&4194240)!==0))return t;if(i&4&&(i|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=i;0r;r++)t.push(e);return t}function W1(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ih(t),e[t]=r}function vtt(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0=v1),Yz=\" \",Qz=!1;function gN(e,t){switch(e){case\"keyup\":return Ytt.indexOf(t.keyCode)!==-1;case\"keydown\":return t.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function _N(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var z_=!1;function $tt(e,t){switch(e){case\"compositionend\":return _N(t);case\"keypress\":return t.which!==32?null:(Qz=!0,Yz);case\"textInput\":return e=t.data,e===Yz&&Qz?null:e;default:return null}}function Xtt(e,t){if(z_)return e===\"compositionend\"||!Nk&&gN(e,t)?(e=AN(),GT=Bk=wA=null,z_=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=i}t:{for(;r;){if(r.nextSibling){r=r.nextSibling;break t}r=r.parentNode}r=void 0}r=Kz(r)}}function bN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?bN(e,t.parentNode):\"contains\"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wN(){for(var e=window,t=KT();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href==\"string\"}catch{r=!1}if(r)e=t.contentWindow;else break;t=KT(e.document)}return t}function Uk(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||t===\"textarea\"||e.contentEditable===\"true\")}function oet(e){var t=wN(),r=e.focusedElem,i=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&bN(r.ownerDocument.documentElement,r)){if(i!==null&&Uk(r)){if(t=i.start,e=i.end,e===void 0&&(e=t),\"selectionStart\"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var s=r.textContent.length,n=Math.min(i.start,s);i=i.end===void 0?n:Math.min(i.end,s),!e.extend&&n>i&&(s=i,i=n,n=s),s=Jz(r,n);var o=Jz(r,i);s&&o&&(e.rangeCount!==1||e.anchorNode!==s.node||e.anchorOffset!==s.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),e.removeAllRanges(),n>i?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus==\"function\"&&r.focus(),r=0;r=document.documentMode,N_=null,KL=null,b1=null,JL=!1;function t5(e,t,r){var i=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;JL||N_==null||N_!==KT(i)||(i=N_,\"selectionStart\"in i&&Uk(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),b1&&D1(b1,i)||(b1=i,i=sM(KL,\"onSelect\"),0j_||(e.current=sk[j_],sk[j_]=null,j_--)}function Nn(e,t){j_++,sk[j_]=e.current,e.current=t}var DA={},$a=BA(DA),Kl=BA(!1),M0=DA;function ey(e,t){var r=e.type.contextTypes;if(!r)return DA;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in r)s[n]=t[n];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=s),s}function Jl(e){return e=e.childContextTypes,e!=null}function aM(){Zn(Kl),Zn($a)}function c5(e,t,r){if($a.current!==DA)throw Error(Pe(168));Nn($a,t),Nn(Kl,r)}function kN(e,t,r){var i=e.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!=\"function\")return r;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(Pe(108,ett(e)||\"Unknown\",s));return ms({},r,i)}function lM(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||DA,M0=$a.current,Nn($a,e),Nn(Kl,Kl.current),!0}function u5(e,t,r){var i=e.stateNode;if(!i)throw Error(Pe(169));r?(e=kN(e,t,M0),i.__reactInternalMemoizedMergedChildContext=e,Zn(Kl),Zn($a),Nn($a,e)):Zn(Kl),Nn(Kl,r)}var Wd=null,EM=!1,SL=!1;function RN(e){Wd===null?Wd=[e]:Wd.push(e)}function get(e){EM=!0,RN(e)}function FA(){if(!SL&&Wd!==null){SL=!0;var e=0,t=vn;try{var r=Wd;for(vn=1;e>=o,s-=o,Hd=1<<32-Ih(t)+s|r<qt?(le=Xt,Xt=null):le=Xt.sibling;var ue=R(Y,Xt,J[qt],ut);if(ue===null){Xt===null&&(Xt=le);break}e&&Xt&&ue.alternate===null&&t(Y,Xt),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue,Xt=le}if(qt===J.length)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;qtqt?(le=Xt,Xt=null):le=Xt.sibling;var De=R(Y,Xt,ue.value,ut);if(De===null){Xt===null&&(Xt=le);break}e&&Xt&&De.alternate===null&&t(Y,Xt),K=n(De,K,qt),kt===null?Et=De:kt.sibling=De,kt=De,Xt=le}if(ue.done)return r(Y,Xt),ns&&y0(Y,qt),Et;if(Xt===null){for(;!ue.done;qt++,ue=J.next())ue=I(Y,ue.value,ut),ue!==null&&(K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return ns&&y0(Y,qt),Et}for(Xt=i(Y,Xt);!ue.done;qt++,ue=J.next())ue=N(Xt,Y,qt,ue.value,ut),ue!==null&&(e&&ue.alternate!==null&&Xt.delete(ue.key===null?qt:ue.key),K=n(ue,K,qt),kt===null?Et=ue:kt.sibling=ue,kt=ue);return e&&Xt.forEach(function(Ke){return t(Y,Ke)}),ns&&y0(Y,qt),Et}function et(Y,K,J,ut){if(typeof J==\"object\"&&J!==null&&J.type===F_&&J.key===null&&(J=J.props.children),typeof J==\"object\"&&J!==null){switch(J.$$typeof){case wT:t:{for(var Et=J.key,kt=K;kt!==null;){if(kt.key===Et){if(Et=J.type,Et===F_){if(kt.tag===7){r(Y,kt.sibling),K=s(kt,J.props.children),K.return=Y,Y=K;break t}}else if(kt.elementType===Et||typeof Et==\"object\"&&Et!==null&&Et.$$typeof===yA&&d5(Et)===kt.type){r(Y,kt.sibling),K=s(kt,J.props),K.ref=u1(Y,kt,J),K.return=Y,Y=K;break t}r(Y,kt);break}else t(Y,kt);kt=kt.sibling}J.type===F_?(K=T0(J.props.children,Y.mode,ut,J.key),K.return=Y,Y=K):(ut=XT(J.type,J.key,J.props,null,Y.mode,ut),ut.ref=u1(Y,K,J),ut.return=Y,Y=ut)}return o(Y);case B_:t:{for(kt=J.key;K!==null;){if(K.key===kt)if(K.tag===4&&K.stateNode.containerInfo===J.containerInfo&&K.stateNode.implementation===J.implementation){r(Y,K.sibling),K=s(K,J.children||[]),K.return=Y,Y=K;break t}else{r(Y,K);break}else t(Y,K);K=K.sibling}K=kL(J,Y.mode,ut),K.return=Y,Y=K}return o(Y);case yA:return kt=J._init,et(Y,K,kt(J._payload),ut)}if(A1(J))return j(Y,K,J,ut);if(o1(J))return Q(Y,K,J,ut);zT(Y,J)}return typeof J==\"string\"&&J!==\"\"||typeof J==\"number\"?(J=\"\"+J,K!==null&&K.tag===6?(r(Y,K.sibling),K=s(K,J),K.return=Y,Y=K):(r(Y,K),K=LL(J,Y.mode,ut),K.return=Y,Y=K),o(Y)):r(Y,K)}return et}var iy=FN(!0),zN=FN(!1),hM=BA(null),fM=null,H_=null,Wk=null;function Hk(){Wk=H_=fM=null}function qk(e){var t=hM.current;Zn(hM),e._currentValue=t}function lk(e,t,r){for(;e!==null;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===r)break;e=e.return}}function K_(e,t){fM=e,Wk=H_=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Xl=!0),e.firstContext=null)}function Pu(e){var t=e._currentValue;if(Wk!==e)if(e={context:e,memoizedValue:t,next:null},H_===null){if(fM===null)throw Error(Pe(308));H_=e,fM.dependencies={lanes:0,firstContext:e}}else H_=H_.next=e;return t}var b0=null;function Zk(e){b0===null?b0=[e]:b0.push(e)}function NN(e,t,r,i){var s=t.interleaved;return s===null?(r.next=r,Zk(t)):(r.next=s.next,s.next=r),t.interleaved=r,$d(e,i)}function $d(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var vA=!1;function Yk(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function UN(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zd(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function IA(e,t,r){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,Zi&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,$d(e,r)}return s=i.interleaved,s===null?(t.next=t,Zk(i)):(t.next=s.next,s.next=t),i.interleaved=t,$d(e,r)}function HT(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}function p5(e,t){var r=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,r===i)){var s=null,n=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};n===null?s=n=o:n=n.next=o,r=r.next}while(r!==null);n===null?s=n=t:n=n.next=t}else s=n=t;r={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:i.shared,effects:i.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function dM(e,t,r,i){var s=e.updateQueue;vA=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,c=s.shared.pending;if(c!==null){s.shared.pending=null;var f=c,_=f.next;f.next=null,o===null?n=_:o.next=_,o=f;var w=e.alternate;w!==null&&(w=w.updateQueue,c=w.lastBaseUpdate,c!==o&&(c===null?w.firstBaseUpdate=_:c.next=_,w.lastBaseUpdate=f))}if(n!==null){var I=s.baseState;o=0,w=_=f=null,c=n;do{var R=c.lane,N=c.eventTime;if((i&R)===R){w!==null&&(w=w.next={eventTime:N,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});t:{var j=e,Q=c;switch(R=t,N=r,Q.tag){case 1:if(j=Q.payload,typeof j==\"function\"){I=j.call(N,I,R);break t}I=j;break t;case 3:j.flags=j.flags&-65537|128;case 0:if(j=Q.payload,R=typeof j==\"function\"?j.call(N,I,R):j,R==null)break t;I=ms({},I,R);break t;case 2:vA=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,R=s.effects,R===null?s.effects=[c]:R.push(c))}else N={eventTime:N,lane:R,tag:c.tag,payload:c.payload,callback:c.callback,next:null},w===null?(_=w=N,f=I):w=w.next=N,o|=R;if(c=c.next,c===null){if(c=s.shared.pending,c===null)break;R=c,c=R.next,R.next=null,s.lastBaseUpdate=R,s.shared.pending=null}}while(!0);if(w===null&&(f=I),s.baseState=f,s.firstBaseUpdate=_,s.lastBaseUpdate=w,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else n===null&&(s.shared.lanes=0);I0|=o,e.lanes=o,e.memoizedState=I}}function A5(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var i=ML.transition;ML.transition={};try{e(!1),t()}finally{vn=r,ML.transition=i}}function i8(){return Iu().memoizedState}function xet(e,t,r){var i=LA(e);if(r={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null},n8(e))s8(t,r);else if(r=NN(e,t,r,i),r!==null){var s=wl();Ch(r,e,i,s),o8(r,t,i)}}function bet(e,t,r){var i=LA(e),s={lane:i,action:r,hasEagerState:!1,eagerState:null,next:null};if(n8(e))s8(t,s);else{var n=e.alternate;if(e.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var o=t.lastRenderedState,c=n(o,r);if(s.hasEagerState=!0,s.eagerState=c,Lh(c,o)){var f=t.interleaved;f===null?(s.next=s,Zk(t)):(s.next=f.next,f.next=s),t.interleaved=s;return}}catch{}finally{}r=NN(e,t,s,i),r!==null&&(s=wl(),Ch(r,e,i,s),o8(r,t,i))}}function n8(e){var t=e.alternate;return e===As||t!==null&&t===As}function s8(e,t){w1=AM=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function o8(e,t,r){if(r&4194240){var i=t.lanes;i&=e.pendingLanes,r|=i,t.lanes=r,Rk(e,r)}}var mM={readContext:Pu,useCallback:Za,useContext:Za,useEffect:Za,useImperativeHandle:Za,useInsertionEffect:Za,useLayoutEffect:Za,useMemo:Za,useReducer:Za,useRef:Za,useState:Za,useDebugValue:Za,useDeferredValue:Za,useTransition:Za,useMutableSource:Za,useSyncExternalStore:Za,useId:Za,unstable_isNewReconciler:!1},wet={readContext:Pu,useCallback:function(e,t){return Lf().memoizedState=[e,t===void 0?null:t],e},useContext:Pu,useEffect:g5,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ZT(4194308,4,KN.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ZT(4194308,4,e,t)},useInsertionEffect:function(e,t){return ZT(4,2,e,t)},useMemo:function(e,t){var r=Lf();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var i=Lf();return t=r!==void 0?r(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=xet.bind(null,As,e),[i.memoizedState,e]},useRef:function(e){var t=Lf();return e={current:e},t.memoizedState=e},useState:m5,useDebugValue:r4,useDeferredValue:function(e){return Lf().memoizedState=e},useTransition:function(){var e=m5(!1),t=e[0];return e=vet.bind(null,e[1]),Lf().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var i=As,s=Lf();if(ns){if(r===void 0)throw Error(Pe(407));r=r()}else{if(r=t(),Jo===null)throw Error(Pe(349));P0&30||WN(i,t,r)}s.memoizedState=r;var n={value:r,getSnapshot:t};return s.queue=n,g5(qN.bind(null,i,n,e),[e]),i.flags|=2048,j1(9,HN.bind(null,i,n,r,t),void 0,null),r},useId:function(){var e=Lf(),t=Jo.identifierPrefix;if(ns){var r=qd,i=Hd;r=(i&~(1<<32-Ih(i)-1)).toString(32)+r,t=\":\"+t+\"R\"+r,r=U1++,0<\\/script>\",e=e.removeChild(e.firstChild)):typeof i.is==\"string\"?e=o.createElement(r,{is:i.is}):(e=o.createElement(r),r===\"select\"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,r),e[kf]=t,e[F1]=i,m8(e,t,!1,!1),t.stateNode=e;t:{switch(o=WL(r,i),r){case\"dialog\":qn(\"cancel\",e),qn(\"close\",e),s=i;break;case\"iframe\":case\"object\":case\"embed\":qn(\"load\",e),s=i;break;case\"video\":case\"audio\":for(s=0;soy&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304)}else{if(!i)if(e=pM(o),e!==null){if(t.flags|=128,i=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),h1(n,!0),n.tail===null&&n.tailMode===\"hidden\"&&!o.alternate&&!ns)return Ya(t),null}else 2*Xs()-n.renderingStartTime>oy&&r!==1073741824&&(t.flags|=128,i=!0,h1(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(r=n.last,r!==null?r.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Xs(),t.sibling=null,r=ps.current,Nn(ps,i?r&1|2:r&1),t):(Ya(t),null);case 22:case 23:return l4(),i=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?jc&1073741824&&(Ya(t),t.subtreeFlags&6&&(t.flags|=8192)):Ya(t),null;case 24:return null;case 25:return null}throw Error(Pe(156,t.tag))}function ket(e,t){switch(jk(t),t.tag){case 1:return Jl(t.type)&&aM(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ny(),Zn(Kl),Zn($a),Xk(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return $k(t),null;case 13:if(Zn(ps),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Pe(340));ry()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Zn(ps),null;case 4:return ny(),null;case 10:return qk(t.type._context),null;case 22:case 23:return l4(),null;case 24:return null;default:return null}}var UT=!1,Qa=!1,Ret=typeof WeakSet==\"function\"?WeakSet:Set,ur=null;function q_(e,t){var r=e.ref;if(r!==null)if(typeof r==\"function\")try{r(null)}catch(i){Cs(e,t,i)}else r.current=null}function gk(e,t,r){try{r()}catch(i){Cs(e,t,i)}}var P5=!1;function Det(e,t){if(tk=iM,e=wN(),Uk(e)){if(\"selectionStart\"in e)var r={start:e.selectionStart,end:e.selectionEnd};else t:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var s=i.anchorOffset,n=i.focusNode;i=i.focusOffset;try{r.nodeType,n.nodeType}catch{r=null;break t}var o=0,c=-1,f=-1,_=0,w=0,I=e,R=null;e:for(;;){for(var N;I!==r||s!==0&&I.nodeType!==3||(c=o+s),I!==n||i!==0&&I.nodeType!==3||(f=o+i),I.nodeType===3&&(o+=I.nodeValue.length),(N=I.firstChild)!==null;)R=I,I=N;for(;;){if(I===e)break e;if(R===r&&++_===s&&(c=o),R===n&&++w===i&&(f=o),(N=I.nextSibling)!==null)break;I=R,R=I.parentNode}I=N}r=c===-1||f===-1?null:{start:c,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(ek={focusedElem:e,selectionRange:r},iM=!1,ur=t;ur!==null;)if(t=ur,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ur=e;else for(;ur!==null;){t=ur;try{var j=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(j!==null){var Q=j.memoizedProps,et=j.memoizedState,Y=t.stateNode,K=Y.getSnapshotBeforeUpdate(t.elementType===t.type?Q:Mh(t.type,Q),et);Y.__reactInternalSnapshotBeforeUpdate=K}break;case 3:var J=t.stateNode.containerInfo;J.nodeType===1?J.textContent=\"\":J.nodeType===9&&J.documentElement&&J.removeChild(J.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Pe(163))}}catch(ut){Cs(t,t.return,ut)}if(e=t.sibling,e!==null){e.return=t.return,ur=e;break}ur=t.return}return j=P5,P5=!1,j}function S1(e,t,r){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&e)===e){var n=s.destroy;s.destroy=void 0,n!==void 0&&gk(t,r,n)}s=s.next}while(s!==i)}}function CM(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var i=r.create;r.destroy=i()}r=r.next}while(r!==t)}}function _k(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t==\"function\"?t(e):t.current=e}}function y8(e){var t=e.alternate;t!==null&&(e.alternate=null,y8(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[kf],delete t[F1],delete t[nk],delete t[Aet],delete t[met])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function v8(e){return e.tag===5||e.tag===3||e.tag===4}function I5(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||v8(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function yk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=oM));else if(i!==4&&(e=e.child,e!==null))for(yk(e,t,r),e=e.sibling;e!==null;)yk(e,t,r),e=e.sibling}function vk(e,t,r){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(vk(e,t,r),e=e.sibling;e!==null;)vk(e,t,r),e=e.sibling}var Aa=null,Eh=!1;function _A(e,t,r){for(r=r.child;r!==null;)x8(e,t,r),r=r.sibling}function x8(e,t,r){if(Rf&&typeof Rf.onCommitFiberUnmount==\"function\")try{Rf.onCommitFiberUnmount(bM,r)}catch{}switch(r.tag){case 5:Qa||q_(r,t);case 6:var i=Aa,s=Eh;Aa=null,_A(e,t,r),Aa=i,Eh=s,Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Aa.removeChild(r.stateNode));break;case 18:Aa!==null&&(Eh?(e=Aa,r=r.stateNode,e.nodeType===8?wL(e.parentNode,r):e.nodeType===1&&wL(e,r),k1(e)):wL(Aa,r.stateNode));break;case 4:i=Aa,s=Eh,Aa=r.stateNode.containerInfo,Eh=!0,_A(e,t,r),Aa=i,Eh=s;break;case 0:case 11:case 14:case 15:if(!Qa&&(i=r.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var n=s,o=n.destroy;n=n.tag,o!==void 0&&(n&2||n&4)&&gk(r,t,o),s=s.next}while(s!==i)}_A(e,t,r);break;case 1:if(!Qa&&(q_(r,t),i=r.stateNode,typeof i.componentWillUnmount==\"function\"))try{i.props=r.memoizedProps,i.state=r.memoizedState,i.componentWillUnmount()}catch(c){Cs(r,t,c)}_A(e,t,r);break;case 21:_A(e,t,r);break;case 22:r.mode&1?(Qa=(i=Qa)||r.memoizedState!==null,_A(e,t,r),Qa=i):_A(e,t,r);break;default:_A(e,t,r)}}function C5(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Ret),t.forEach(function(i){var s=Get.bind(null,e,i);r.has(i)||(r.add(i),i.then(s,s))})}}function Th(e,t){var r=t.deletions;if(r!==null)for(var i=0;is&&(s=o),i&=~n}if(i=s,i=Xs()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Bet(i/1960))-i,10e?16:e,SA===null)var i=!1;else{if(e=SA,SA=null,yM=0,Zi&6)throw Error(Pe(331));var s=Zi;for(Zi|=4,ur=e.current;ur!==null;){var n=ur,o=n.child;if(ur.flags&16){var c=n.deletions;if(c!==null){for(var f=0;fXs()-o4?S0(e,0):s4|=r),tc(e,t)}function I8(e,t){t===0&&(e.mode&1?(t=ET,ET<<=1,!(ET&130023424)&&(ET=4194304)):t=1);var r=wl();e=$d(e,t),e!==null&&(W1(e,t,r),tc(e,r))}function jet(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),I8(e,r)}function Get(e,t){var r=0;switch(e.tag){case 13:var i=e.stateNode,s=e.memoizedState;s!==null&&(r=s.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(Pe(314))}i!==null&&i.delete(t),I8(e,r)}var C8;C8=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Kl.current)Xl=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Xl=!1,Cet(e,t,r);Xl=!!(e.flags&131072)}else Xl=!1,ns&&t.flags&1048576&&DN(t,uM,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;YT(e,t),e=t.pendingProps;var s=ey(t,$a.current);K_(t,r),s=Jk(null,t,i,e,s,r);var n=t4();return t.flags|=1,typeof s==\"object\"&&s!==null&&typeof s.render==\"function\"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jl(i)?(n=!0,lM(t)):n=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Yk(t),s.updater=IM,t.stateNode=s,s._reactInternals=t,uk(t,i,e,r),t=dk(null,t,i,!0,n,r)):(t.tag=0,ns&&n&&Vk(t),bl(null,t,s,r),t=t.child),t;case 16:i=t.elementType;t:{switch(YT(e,t),e=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=Het(i),e=Mh(i,e),s){case 0:t=fk(null,t,i,e,r);break t;case 1:t=T5(null,t,i,e,r);break t;case 11:t=w5(null,t,i,e,r);break t;case 14:t=S5(null,t,i,Mh(i.type,e),r);break t}throw Error(Pe(306,i,\"\"))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),fk(e,t,i,s,r);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),T5(e,t,i,s,r);case 3:t:{if(d8(t),e===null)throw Error(Pe(387));i=t.pendingProps,n=t.memoizedState,s=n.element,UN(e,t),dM(t,i,null,r);var o=t.memoizedState;if(i=o.element,n.isDehydrated)if(n={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){s=sy(Error(Pe(423)),t),t=M5(e,t,i,r,s);break t}else if(i!==s){s=sy(Error(Pe(424)),t),t=M5(e,t,i,r,s);break t}else for(Gc=PA(t.stateNode.containerInfo.firstChild),Wc=t,ns=!0,Ph=null,r=zN(t,null,i,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(ry(),i===s){t=Xd(e,t,r);break t}bl(e,t,i,r)}t=t.child}return t;case 5:return VN(t),e===null&&ak(t),i=t.type,s=t.pendingProps,n=e!==null?e.memoizedProps:null,o=s.children,rk(i,s)?o=null:n!==null&&rk(i,n)&&(t.flags|=32),f8(e,t),bl(e,t,o,r),t.child;case 6:return e===null&&ak(t),null;case 13:return p8(e,t,r);case 4:return Qk(t,t.stateNode.containerInfo),i=t.pendingProps,e===null?t.child=iy(t,null,i,r):bl(e,t,i,r),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),w5(e,t,i,s,r);case 7:return bl(e,t,t.pendingProps,r),t.child;case 8:return bl(e,t,t.pendingProps.children,r),t.child;case 12:return bl(e,t,t.pendingProps.children,r),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,n=t.memoizedProps,o=s.value,Nn(hM,i._currentValue),i._currentValue=o,n!==null)if(Lh(n.value,o)){if(n.children===s.children&&!Kl.current){t=Xd(e,t,r);break t}}else for(n=t.child,n!==null&&(n.return=t);n!==null;){var c=n.dependencies;if(c!==null){o=n.child;for(var f=c.firstContext;f!==null;){if(f.context===i){if(n.tag===1){f=Zd(-1,r&-r),f.tag=2;var _=n.updateQueue;if(_!==null){_=_.shared;var w=_.pending;w===null?f.next=f:(f.next=w.next,w.next=f),_.pending=f}}n.lanes|=r,f=n.alternate,f!==null&&(f.lanes|=r),lk(n.return,r,t),c.lanes|=r;break}f=f.next}}else if(n.tag===10)o=n.type===t.type?null:n.child;else if(n.tag===18){if(o=n.return,o===null)throw Error(Pe(341));o.lanes|=r,c=o.alternate,c!==null&&(c.lanes|=r),lk(o,r,t),o=n.sibling}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===t){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}bl(e,t,s.children,r),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,K_(t,r),s=Pu(s),i=i(s),t.flags|=1,bl(e,t,i,r),t.child;case 14:return i=t.type,s=Mh(i,t.pendingProps),s=Mh(i.type,s),S5(e,t,i,s,r);case 15:return u8(e,t,t.type,t.pendingProps,r);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Mh(i,s),YT(e,t),t.tag=1,Jl(i)?(e=!0,lM(t)):e=!1,K_(t,r),a8(t,i,s),uk(t,i,s,r),dk(null,t,i,!0,e,r);case 19:return A8(e,t,r);case 22:return h8(e,t,r)}throw Error(Pe(156,t.tag))};function L8(e,t){return nN(e,t)}function Wet(e,t,r,i){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mu(e,t,r,i){return new Wet(e,t,r,i)}function u4(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Het(e){if(typeof e==\"function\")return u4(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Ik)return 11;if(e===Ck)return 14}return 2}function kA(e,t){var r=e.alternate;return r===null?(r=Mu(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function XT(e,t,r,i,s,n){var o=2;if(i=e,typeof e==\"function\")u4(e)&&(o=1);else if(typeof e==\"string\")o=5;else t:switch(e){case F_:return T0(r.children,s,n,t);case Pk:o=8,s|=8;break;case DL:return e=Mu(12,r,t,s|2),e.elementType=DL,e.lanes=n,e;case OL:return e=Mu(13,r,t,s),e.elementType=OL,e.lanes=n,e;case BL:return e=Mu(19,r,t,s),e.elementType=BL,e.lanes=n,e;case V5:return kM(r,s,n,t);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case N5:o=10;break t;case U5:o=9;break t;case Ik:o=11;break t;case Ck:o=14;break t;case yA:o=16,i=null;break t}throw Error(Pe(130,e==null?e:typeof e,\"\"))}return t=Mu(o,r,t,s),t.elementType=e,t.type=i,t.lanes=n,t}function T0(e,t,r,i){return e=Mu(7,e,i,t),e.lanes=r,e}function kM(e,t,r,i){return e=Mu(22,e,i,t),e.elementType=V5,e.lanes=r,e.stateNode={isHidden:!1},e}function LL(e,t,r){return e=Mu(6,e,null,t),e.lanes=r,e}function kL(e,t,r){return t=Mu(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qet(e,t,r,i,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=AL(0),this.expirationTimes=AL(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=AL(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function h4(e,t,r,i,s,n,o,c,f){return e=new qet(e,t,r,c,f),t===1?(t=1,n===!0&&(t|=8)):t=0,n=Mu(3,null,null,t),e.current=n,n.stateNode=e,n.memoizedState={element:i,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yk(n),e}function Zet(e,t,r){var i=3{\"use strict\";function B8(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(B8)}catch(e){console.error(e)}}B8(),F8.exports=O8()});var N8=Br(A4=>{\"use strict\";var z8=FM();A4.createRoot=z8.createRoot,A4.hydrateRoot=z8.hydrateRoot;var ibt});var eU=Br((T4,M4)=>{(function(e,t){typeof T4==\"object\"&&typeof M4<\"u\"?M4.exports=t():(e=typeof globalThis<\"u\"?globalThis:e||self,e.maplibregl=t())})(T4,function(){\"use strict\";var e,t,r;function i(n,o){if(!e)e=o;else if(!t)t=o;else{var c=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",f={};e(f),r=o(f),typeof window<\"u\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([c],{type:\"text/javascript\"})))}}i([\"exports\"],function(n){\"use strict\";function o(u,a,h,A){return new(h||(h=Promise))(function(x,E){function P(V){try{F(A.next(V))}catch(q){E(q)}}function D(V){try{F(A.throw(V))}catch(q){E(q)}}function F(V){var q;V.done?x(V.value):(q=V.value,q instanceof h?q:new h(function(X){X(q)})).then(P,D)}F((A=A.apply(u,a||[])).next())})}function c(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,\"default\")?u.default:u}typeof SuppressedError==\"function\"&&SuppressedError;var f=_;function _(u,a){this.x=u,this.y=a}_.prototype={clone:function(){return new _(this.x,this.y)},add:function(u){return this.clone()._add(u)},sub:function(u){return this.clone()._sub(u)},multByPoint:function(u){return this.clone()._multByPoint(u)},divByPoint:function(u){return this.clone()._divByPoint(u)},mult:function(u){return this.clone()._mult(u)},div:function(u){return this.clone()._div(u)},rotate:function(u){return this.clone()._rotate(u)},rotateAround:function(u,a){return this.clone()._rotateAround(u,a)},matMult:function(u){return this.clone()._matMult(u)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(u){return this.x===u.x&&this.y===u.y},dist:function(u){return Math.sqrt(this.distSqr(u))},distSqr:function(u){var a=u.x-this.x,h=u.y-this.y;return a*a+h*h},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(u){return Math.atan2(this.y-u.y,this.x-u.x)},angleWith:function(u){return this.angleWithSep(u.x,u.y)},angleWithSep:function(u,a){return Math.atan2(this.x*a-this.y*u,this.x*u+this.y*a)},_matMult:function(u){var a=u[2]*this.x+u[3]*this.y;return this.x=u[0]*this.x+u[1]*this.y,this.y=a,this},_add:function(u){return this.x+=u.x,this.y+=u.y,this},_sub:function(u){return this.x-=u.x,this.y-=u.y,this},_mult:function(u){return this.x*=u,this.y*=u,this},_div:function(u){return this.x/=u,this.y/=u,this},_multByPoint:function(u){return this.x*=u.x,this.y*=u.y,this},_divByPoint:function(u){return this.x/=u.x,this.y/=u.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var u=this.y;return this.y=this.x,this.x=-u,this},_rotate:function(u){var a=Math.cos(u),h=Math.sin(u),A=h*this.x+a*this.y;return this.x=a*this.x-h*this.y,this.y=A,this},_rotateAround:function(u,a){var h=Math.cos(u),A=Math.sin(u),x=a.y+A*(this.x-a.x)+h*(this.y-a.y);return this.x=a.x+h*(this.x-a.x)-A*(this.y-a.y),this.y=x,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},_.convert=function(u){return u instanceof _?u:Array.isArray(u)?new _(u[0],u[1]):u};var w=c(f),I=R;function R(u,a,h,A){this.cx=3*u,this.bx=3*(h-u)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*a,this.by=3*(A-a)-this.cy,this.ay=1-this.cy-this.by,this.p1x=u,this.p1y=a,this.p2x=h,this.p2y=A}R.prototype={sampleCurveX:function(u){return((this.ax*u+this.bx)*u+this.cx)*u},sampleCurveY:function(u){return((this.ay*u+this.by)*u+this.cy)*u},sampleCurveDerivativeX:function(u){return(3*this.ax*u+2*this.bx)*u+this.cx},solveCurveX:function(u,a){if(a===void 0&&(a=1e-6),u<0)return 0;if(u>1)return 1;for(var h=u,A=0;A<8;A++){var x=this.sampleCurveX(h)-u;if(Math.abs(x)x?P=h:D=h,h=.5*(D-P)+P;return h},solve:function(u,a){return this.sampleCurveY(this.solveCurveX(u,a))}};var N=c(I);let j,Q;function et(){return j==null&&(j=typeof OffscreenCanvas<\"u\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),j}function Y(){if(Q==null&&(Q=!1,et())){let a=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(a){for(let A=0;A<5*5;A++){let x=4*A;a.fillStyle=`rgb(${x},${x+1},${x+2})`,a.fillRect(A%5,Math.floor(A/5),1,1)}let h=a.getImageData(0,0,5,5).data;for(let A=0;A<5*5*4;A++)if(A%4!=3&&h[A]!==A){Q=!0;break}}}return Q||!1}function K(u,a,h,A){let x=new N(u,a,h,A);return function(E){return x.solve(E)}}let J=K(.25,.1,.25,1);function ut(u,a,h){return Math.min(h,Math.max(a,u))}function Et(u,a,h){let A=h-a,x=((u-a)%A+A)%A+a;return x===a?h:x}function kt(u,...a){for(let h of a)for(let A in h)u[A]=h[A];return u}let Xt=1;function qt(u,a,h){let A={};for(let x in u)A[x]=a.call(h||this,u[x],x,u);return A}function le(u,a,h){let A={};for(let x in u)a.call(h||this,u[x],x,u)&&(A[x]=u[x]);return A}function ue(u){return Array.isArray(u)?u.map(ue):typeof u==\"object\"&&u?qt(u,ue):u}let De={};function Ke(u){De[u]||(typeof console<\"u\"&&console.warn(u),De[u]=!0)}function rr(u,a,h){return(h.y-u.y)*(a.x-u.x)>(a.y-u.y)*(h.x-u.x)}function Sr(u){let a=0;for(let h,A,x=0,E=u.length,P=E-1;x\"u\")throw new Error(\"VideoFrame not supported\");let E=new VideoFrame(u,{timestamp:0});try{let P=E?.format;if(!P||!P.startsWith(\"BGR\")&&!P.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${P}`);let D=P.startsWith(\"BGR\"),F=new Uint8ClampedArray(A*x*4);if(yield E.copyTo(F,function(V,q,X,rt,at){let ct=4*Math.max(-q,0),mt=(Math.max(0,X)-X)*rt*4+ct,bt=4*rt,Pt=Math.max(0,q),jt=Math.max(0,X);return{rect:{x:Pt,y:jt,width:Math.min(V.width,q+rt)-Pt,height:Math.min(V.height,X+at)-jt},layout:[{offset:mt,stride:bt}]}}(u,a,h,A,x)),D)for(let V=0;VcancelAnimationFrame(a)}},getImageData(u,a=0){return this.getImageCanvasContext(u).getImageData(-a,-a,u.width+2*a,u.height+2*a)},getImageCanvasContext(u){let a=window.document.createElement(\"canvas\"),h=a.getContext(\"2d\",{willReadFrequently:!0});if(!h)throw new Error(\"failed to create canvas 2d context\");return a.width=u.width,a.height=u.height,h.drawImage(u,0,0,u.width,u.height),h},resolveURL:u=>(Ns||(Ns=document.createElement(\"a\")),Ns.href=u,Ns.href),hardwareConcurrency:typeof navigator<\"u\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(ll==null&&(ll=matchMedia(\"(prefers-reduced-motion: reduce)\")),ll.matches)}},Rc={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};class Xi extends Error{constructor(a,h,A,x){super(`AJAXError: ${h} (${a}): ${A}`),this.status=a,this.statusText=h,this.url=A,this.body=x}}let Jn=Li()?()=>self.worker&&self.worker.referrer:()=>(window.location.protocol===\"blob:\"?window.parent:window).location.href,ki=u=>Rc.REGISTERED_PROTOCOLS[u.substring(0,u.indexOf(\"://\"))];function ts(u,a){let h=new AbortController,A=new Request(u.url,{method:u.method||\"GET\",body:u.body,credentials:u.credentials,headers:u.headers,cache:u.cache,referrer:Jn(),signal:h.signal}),x=!1,E=!1;return u.type===\"json\"&&A.headers.set(\"Accept\",\"application/json\"),E||fetch(A).then(P=>P.ok?(D=>{(u.type===\"arrayBuffer\"||u.type===\"image\"?D.arrayBuffer():u.type===\"json\"?D.json():D.text()).then(F=>{E||(x=!0,a(null,F,D.headers.get(\"Cache-Control\"),D.headers.get(\"Expires\")))}).catch(F=>{E||a(new Error(F.message))})})(P):P.blob().then(D=>a(new Xi(P.status,P.statusText,u.url,D)))).catch(P=>{P.code!==20&&a(new Error(P.message))}),{cancel:()=>{E=!0,x||h.abort()}}}let Vo=function(u,a){if(/:\\/\\//.test(u.url)&&!/^https?:|^file:/.test(u.url)){if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a);if(!Li())return(ki(u.url)||ts)(u,a)}if(!(/^file:/.test(h=u.url)||/^file:/.test(Jn())&&!/^\\w+:/.test(h))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return ts(u,a);if(Li()&&self.worker&&self.worker.actor)return self.worker.actor.send(\"getResource\",u,a,void 0,!0)}var h;return function(A,x){let E=new XMLHttpRequest;E.open(A.method||\"GET\",A.url,!0),A.type!==\"arrayBuffer\"&&A.type!==\"image\"||(E.responseType=\"arraybuffer\");for(let P in A.headers)E.setRequestHeader(P,A.headers[P]);return A.type===\"json\"&&(E.responseType=\"text\",E.setRequestHeader(\"Accept\",\"application/json\")),E.withCredentials=A.credentials===\"include\",E.onerror=()=>{x(new Error(E.statusText))},E.onload=()=>{if((E.status>=200&&E.status<300||E.status===0)&&E.response!==null){let P=E.response;if(A.type===\"json\")try{P=JSON.parse(E.response)}catch(D){return x(D)}x(null,P,E.getResponseHeader(\"Cache-Control\"),E.getResponseHeader(\"Expires\"))}else{let P=new Blob([E.response],{type:E.getResponseHeader(\"Content-Type\")});x(new Xi(E.status,E.statusText,A.url,P))}},E.send(A.body),{cancel:()=>E.abort()}}(u,a)},cl=function(u,a){return Vo(kt(u,{type:\"arrayBuffer\"}),a)};function xo(u){if(!u||u.indexOf(\"://\")<=0||u.indexOf(\"data:image/\")===0||u.indexOf(\"blob:\")===0)return!0;let a=new URL(u),h=window.location;return a.protocol===h.protocol&&a.host===h.host}function Pa(u,a,h){h[u]&&h[u].indexOf(a)!==-1||(h[u]=h[u]||[],h[u].push(a))}function na(u,a,h){if(h&&h[u]){let A=h[u].indexOf(a);A!==-1&&h[u].splice(A,1)}}class as{constructor(a,h={}){kt(this,h),this.type=a}}class ao extends as{constructor(a,h={}){super(\"error\",kt({error:a},h))}}class Nl{on(a,h){return this._listeners=this._listeners||{},Pa(a,h,this._listeners),this}off(a,h){return na(a,h,this._listeners),na(a,h,this._oneTimeListeners),this}once(a,h){return h?(this._oneTimeListeners=this._oneTimeListeners||{},Pa(a,h,this._oneTimeListeners),this):new Promise(A=>this.once(a,A))}fire(a,h){typeof a==\"string\"&&(a=new as(a,h||{}));let A=a.type;if(this.listens(A)){a.target=this;let x=this._listeners&&this._listeners[A]?this._listeners[A].slice():[];for(let D of x)D.call(this,a);let E=this._oneTimeListeners&&this._oneTimeListeners[A]?this._oneTimeListeners[A].slice():[];for(let D of E)na(A,D,this._oneTimeListeners),D.call(this,a);let P=this._eventedParent;P&&(kt(a,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),P.fire(a))}else a instanceof ao&&console.error(a.error);return this}listens(a){return this._listeners&&this._listeners[a]&&this._listeners[a].length>0||this._oneTimeListeners&&this._oneTimeListeners[a]&&this._oneTimeListeners[a].length>0||this._eventedParent&&this._eventedParent.listens(a)}setEventedParent(a,h){return this._eventedParent=a,this._eventedParentData=h,this}}var ee={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let ls=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function mn(u,a){let h={};for(let A in u)A!==\"ref\"&&(h[A]=u[A]);return ls.forEach(A=>{A in a&&(h[A]=a[A])}),h}function gi(u,a){if(Array.isArray(u)){if(!Array.isArray(a)||u.length!==a.length)return!1;for(let h=0;h`:u.itemType.kind===\"value\"?\"array\":`array<${a}>`}return u.kind}let _t=[Ca,Te,Dr,gr,Us,gt,La,vt(Mr),tt,nt,ht];function Dt(u,a){if(a.kind===\"error\")return null;if(u.kind===\"array\"){if(a.kind===\"array\"&&(a.N===0&&a.itemType.kind===\"value\"||!Dt(u.itemType,a.itemType))&&(typeof u.N!=\"number\"||u.N===a.N))return null}else{if(u.kind===a.kind)return null;if(u.kind===\"value\"){for(let h of _t)if(!Dt(h,a))return null}}return`Expected ${xt(u)} but found ${xt(a)} instead.`}function Mt(u,a){return a.some(h=>h.kind===u.kind)}function Vt(u,a){return a.some(h=>h===\"null\"?u===null:h===\"array\"?Array.isArray(u):h===\"object\"?u&&!Array.isArray(u)&&typeof u==\"object\":h===typeof u)}function ie(u,a){return u.kind===\"array\"&&a.kind===\"array\"?u.itemType.kind===a.itemType.kind&&typeof u.N==\"number\":u.kind===a.kind}let se=.96422,ae=.82521,lr=4/29,vr=6/29,Xe=3*vr*vr,cr=vr*vr*vr,wr=Math.PI/180,xi=180/Math.PI;function zi(u){return(u%=360)<0&&(u+=360),u}function ni([u,a,h,A]){let x,E,P=jn((.2225045*(u=Hr(u))+.7168786*(a=Hr(a))+.0606169*(h=Hr(h)))/1);u===a&&a===h?x=E=P:(x=jn((.4360747*u+.3850649*a+.1430804*h)/se),E=jn((.0139322*u+.0971045*a+.7141733*h)/ae));let D=116*P-16;return[D<0?0:D,500*(x-P),200*(P-E),A]}function Hr(u){return u<=.04045?u/12.92:Math.pow((u+.055)/1.055,2.4)}function jn(u){return u>cr?Math.pow(u,1/3):u/Xe+lr}function Bi([u,a,h,A]){let x=(u+16)/116,E=isNaN(a)?x:x+a/500,P=isNaN(h)?x:x-h/200;return x=1*es(x),E=se*es(E),P=ae*es(P),[xn(3.1338561*E-1.6168667*x-.4906146*P),xn(-.9787684*E+1.9161415*x+.033454*P),xn(.0719453*E-.2289914*x+1.4052427*P),A]}function xn(u){return(u=u<=.00304?12.92*u:1.055*Math.pow(u,1/2.4)-.055)<0?0:u>1?1:u}function es(u){return u>vr?u*u*u:Xe*(u-lr)}function oa(u){return parseInt(u.padEnd(2,u),16)/255}function Um(u,a){return Vl(a?u/100:u,0,1)}function Vl(u,a,h){return Math.min(Math.max(a,u),h)}function Ss(u){return!u.some(Number.isNaN)}let nh={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class ai{constructor(a,h,A,x=1,E=!0){this.r=a,this.g=h,this.b=A,this.a=x,E||(this.r*=x,this.g*=x,this.b*=x,x||this.overwriteGetter(\"rgb\",[a,h,A,x]))}static parse(a){if(a instanceof ai)return a;if(typeof a!=\"string\")return;let h=function(A){if((A=A.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let x=nh[A];if(x){let[P,D,F]=x;return[P/255,D/255,F/255,1]}if(A.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(A)){let P=A.length<6?1:2,D=1;return[oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+=P)),oa(A.slice(D,D+P)||\"ff\")]}if(A.startsWith(\"rgb\")){let P=A.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(P){let[D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt]=P,Rt=[q||\" \",at||\" \",bt].join(\"\");if(Rt===\" \"||Rt===\" /\"||Rt===\",,\"||Rt===\",,,\"){let Gt=[V,rt,mt].join(\"\"),Yt=Gt===\"%%%\"?100:Gt===\"\"?255:0;if(Yt){let ce=[Vl(+F/Yt,0,1),Vl(+X/Yt,0,1),Vl(+ct/Yt,0,1),Pt?Um(+Pt,jt):1];if(Ss(ce))return ce}}return}}let E=A.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(E){let[P,D,F,V,q,X,rt,at,ct]=E,mt=[F||\" \",q||\" \",rt].join(\"\");if(mt===\" \"||mt===\" /\"||mt===\",,\"||mt===\",,,\"){let bt=[+D,Vl(+V,0,100),Vl(+X,0,100),at?Um(+at,ct):1];if(Ss(bt))return function([Pt,jt,Rt,Gt]){function Yt(ce){let Ne=(ce+Pt/30)%12,ir=jt*Math.min(Rt,1-Rt);return Rt-ir*Math.max(-1,Math.min(Ne-3,9-Ne,1))}return Pt=zi(Pt),jt/=100,Rt/=100,[Yt(0),Yt(8),Yt(4),Gt]}(bt)}}}(a);return h?new ai(...h,!1):void 0}get rgb(){let{r:a,g:h,b:A,a:x}=this,E=x||1/0;return this.overwriteGetter(\"rgb\",[a/E,h/E,A/E,x])}get hcl(){return this.overwriteGetter(\"hcl\",function(a){let[h,A,x,E]=ni(a),P=Math.sqrt(A*A+x*x);return[Math.round(1e4*P)?zi(Math.atan2(x,A)*xi):NaN,P,h,E]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",ni(this.rgb))}overwriteGetter(a,h){return Object.defineProperty(this,a,{value:h}),h}toString(){let[a,h,A,x]=this.rgb;return`rgba(${[a,h,A].map(E=>Math.round(255*E)).join(\",\")},${x})`}}ai.black=new ai(0,0,0,1),ai.white=new ai(1,1,1,1),ai.transparent=new ai(0,0,0,0),ai.red=new ai(1,0,0,1);class ka{constructor(a,h,A){this.sensitivity=a?h?\"variant\":\"case\":h?\"accent\":\"base\",this.locale=A,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(a,h){return this.collator.compare(a,h)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Dc{constructor(a,h,A,x,E){this.text=a,this.image=h,this.scale=A,this.fontStack=x,this.textColor=E}}class ln{constructor(a){this.sections=a}static fromString(a){return new ln([new Dc(a,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(a=>a.text.length!==0||a.image&&a.image.name.length!==0)}static factory(a){return a instanceof ln?a:ln.fromString(a)}toString(){return this.sections.length===0?\"\":this.sections.map(a=>a.text).join(\"\")}}class Dn{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Dn)return a;if(typeof a==\"number\")return new Dn([a,a,a,a]);if(Array.isArray(a)&&!(a.length<1||a.length>4)){for(let h of a)if(typeof h!=\"number\")return;switch(a.length){case 1:a=[a[0],a[0],a[0],a[0]];break;case 2:a=[a[0],a[1],a[0],a[1]];break;case 3:a=[a[0],a[1],a[2],a[1]]}return new Dn(a)}}toString(){return JSON.stringify(this.values)}}let Vm=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Go{constructor(a){this.values=a.slice()}static parse(a){if(a instanceof Go)return a;if(Array.isArray(a)&&!(a.length<1)&&a.length%2==0){for(let h=0;h=0&&u<=255&&typeof a==\"number\"&&a>=0&&a<=255&&typeof h==\"number\"&&h>=0&&h<=255?A===void 0||typeof A==\"number\"&&A>=0&&A<=1?null:`Invalid rgba value [${[u,a,h,A].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof A==\"number\"?[u,a,h,A]:[u,a,h]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function jl(u){if(u===null||typeof u==\"string\"||typeof u==\"boolean\"||typeof u==\"number\"||u instanceof ai||u instanceof ka||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn)return!0;if(Array.isArray(u)){for(let a of u)if(!jl(a))return!1;return!0}if(typeof u==\"object\"){for(let a in u)if(!jl(u[a]))return!1;return!0}return!1}function Ki(u){if(u===null)return Ca;if(typeof u==\"string\")return Dr;if(typeof u==\"boolean\")return gr;if(typeof u==\"number\")return Te;if(u instanceof ai)return Us;if(u instanceof ka)return sa;if(u instanceof ln)return gt;if(u instanceof Dn)return tt;if(u instanceof Go)return ht;if(u instanceof Gn)return nt;if(Array.isArray(u)){let a=u.length,h;for(let A of u){let x=Ki(A);if(h){if(h===x)continue;h=Mr;break}h=x}return vt(h||Mr,a)}return La}function _i(u){let a=typeof u;return u===null?\"\":a===\"string\"||a===\"number\"||a===\"boolean\"?String(u):u instanceof ai||u instanceof ln||u instanceof Dn||u instanceof Go||u instanceof Gn?u.toString():JSON.stringify(u)}class Gl{constructor(a,h){this.type=a,this.value=h}static parse(a,h){if(a.length!==2)return h.error(`'literal' expression requires exactly one argument, but found ${a.length-1} instead.`);if(!jl(a[1]))return h.error(\"invalid value\");let A=a[1],x=Ki(A),E=h.expectedType;return x.kind!==\"array\"||x.N!==0||!E||E.kind!==\"array\"||typeof E.N==\"number\"&&E.N!==0||(x=E),new Gl(x,A)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class cn{constructor(a){this.name=\"ExpressionEvaluationError\",this.message=a}toJSON(){return this.message}}let pu={string:Dr,number:Te,boolean:gr,object:La};class rs{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A,x=1,E=a[0];if(E===\"array\"){let D,F;if(a.length>2){let V=a[1];if(typeof V!=\"string\"||!(V in pu)||V===\"object\")return h.error('The item type argument of \"array\" must be one of string, number, boolean',1);D=pu[V],x++}else D=Mr;if(a.length>3){if(a[2]!==null&&(typeof a[2]!=\"number\"||a[2]<0||a[2]!==Math.floor(a[2])))return h.error('The length argument to \"array\" must be a positive integer literal',2);F=a[2],x++}A=vt(D,F)}else{if(!pu[E])throw new Error(`Types doesn't contain name = ${E}`);A=pu[E]}let P=[];for(;xa.outputDefined())}}let Gp={\"to-boolean\":gr,\"to-color\":Us,\"to-number\":Te,\"to-string\":Dr};class Wl{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[0];if(!Gp[A])throw new Error(`Can't parse ${A} as it is not part of the known types`);if((A===\"to-boolean\"||A===\"to-string\")&&a.length!==2)return h.error(\"Expected one argument.\");let x=Gp[A],E=[];for(let P=1;P4?`Invalid rbga value ${JSON.stringify(h)}: expected an array containing either three or four numeric values.`:So(h[0],h[1],h[2],h[3]),!A))return new ai(h[0]/255,h[1]/255,h[2]/255,h[3])}throw new cn(A||`Could not parse color from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"padding\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Dn.parse(h);if(x)return x}throw new cn(`Could not parse padding from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"variableAnchorOffsetCollection\":{let h;for(let A of this.args){h=A.evaluate(a);let x=Go.parse(h);if(x)return x}throw new cn(`Could not parse variableAnchorOffsetCollection from value '${typeof h==\"string\"?h:JSON.stringify(h)}'`)}case\"number\":{let h=null;for(let A of this.args){if(h=A.evaluate(a),h===null)return 0;let x=Number(h);if(!isNaN(x))return x}throw new cn(`Could not convert ${JSON.stringify(h)} to number.`)}case\"formatted\":return ln.fromString(_i(this.args[0].evaluate(a)));case\"resolvedImage\":return Gn.fromString(_i(this.args[0].evaluate(a)));default:return _i(this.args[0].evaluate(a))}}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}let _d=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class yd{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?_d[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(a){let h=this._parseColorCache[a];return h||(h=this._parseColorCache[a]=ai.parse(a)),h}}class vd{constructor(a,h,A=[],x,E=new Ul,P=[]){this.registry=a,this.path=A,this.key=A.map(D=>`[${D}]`).join(\"\"),this.scope=E,this.errors=P,this.expectedType=x,this._isConstant=h}parse(a,h,A,x,E={}){return h?this.concat(h,A,x)._parse(a,E):this._parse(a,E)}_parse(a,h){function A(x,E,P){return P===\"assert\"?new rs(E,[x]):P===\"coerce\"?new Wl(E,[x]):x}if(a!==null&&typeof a!=\"string\"&&typeof a!=\"boolean\"&&typeof a!=\"number\"||(a=[\"literal\",a]),Array.isArray(a)){if(a.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let x=a[0];if(typeof x!=\"string\")return this.error(`Expression name must be a string, but found ${typeof x} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let E=this.registry[x];if(E){let P=E.parse(a,this);if(!P)return null;if(this.expectedType){let D=this.expectedType,F=P.type;if(D.kind!==\"string\"&&D.kind!==\"number\"&&D.kind!==\"boolean\"&&D.kind!==\"object\"&&D.kind!==\"array\"||F.kind!==\"value\")if(D.kind!==\"color\"&&D.kind!==\"formatted\"&&D.kind!==\"resolvedImage\"||F.kind!==\"value\"&&F.kind!==\"string\")if(D.kind!==\"padding\"||F.kind!==\"value\"&&F.kind!==\"number\"&&F.kind!==\"array\")if(D.kind!==\"variableAnchorOffsetCollection\"||F.kind!==\"value\"&&F.kind!==\"array\"){if(this.checkSubtype(D,F))return null}else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"coerce\");else P=A(P,D,h.typeAnnotation||\"assert\")}if(!(P instanceof Gl)&&P.type.kind!==\"resolvedImage\"&&this._isConstant(P)){let D=new yd;try{P=new Gl(P.type,P.evaluate(D))}catch(F){return this.error(F.message),null}}return P}return this.error(`Unknown expression \"${x}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(a===void 0?\"'undefined' value invalid. Use null instead.\":typeof a==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof a} instead.`)}concat(a,h,A){let x=typeof a==\"number\"?this.path.concat(a):this.path,E=A?this.scope.concat(A):this.scope;return new vd(this.registry,this._isConstant,x,h||null,E,this.errors)}error(a,...h){let A=`${this.key}${h.map(x=>`[${x}]`).join(\"\")}`;this.errors.push(new gn(A,a))}checkSubtype(a,h){let A=Dt(a,h);return A&&this.error(A),A}}class xd{constructor(a,h,A){this.type=sa,this.locale=A,this.caseSensitive=a,this.diacriticSensitive=h}static parse(a,h){if(a.length!==2)return h.error(\"Expected one argument.\");let A=a[1];if(typeof A!=\"object\"||Array.isArray(A))return h.error(\"Collator options argument must be an object.\");let x=h.parse(A[\"case-sensitive\"]!==void 0&&A[\"case-sensitive\"],1,gr);if(!x)return null;let E=h.parse(A[\"diacritic-sensitive\"]!==void 0&&A[\"diacritic-sensitive\"],1,gr);if(!E)return null;let P=null;return A.locale&&(P=h.parse(A.locale,1,Dr),!P)?null:new xd(x,E,P)}evaluate(a){return new ka(this.caseSensitive.evaluate(a),this.diacriticSensitive.evaluate(a),this.locale?this.locale.evaluate(a):null)}eachChild(a){a(this.caseSensitive),a(this.diacriticSensitive),this.locale&&a(this.locale)}outputDefined(){return!1}}let lt=8192;function ft(u,a){u[0]=Math.min(u[0],a[0]),u[1]=Math.min(u[1],a[1]),u[2]=Math.max(u[2],a[0]),u[3]=Math.max(u[3],a[1])}function Lt(u,a){return!(u[0]<=a[0]||u[2]>=a[2]||u[1]<=a[1]||u[3]>=a[3])}function Kt(u,a){let h=(180+u[0])/360,A=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u[1]*Math.PI/360)))/360,x=Math.pow(2,a.z);return[Math.round(h*x*lt),Math.round(A*x*lt)]}function ge(u,a,h){let A=u[0]-a[0],x=u[1]-a[1],E=u[0]-h[0],P=u[1]-h[1];return A*P-E*x==0&&A*E<=0&&x*P<=0}function Qe(u,a){let h=!1;for(let P=0,D=a.length;P(A=u)[1]!=(E=F[V+1])[1]>A[1]&&A[0]<(E[0]-x[0])*(A[1]-x[1])/(E[1]-x[1])+x[0]&&(h=!h)}}var A,x,E;return h}function ti(u,a){for(let h=0;h0&&D<0||P<0&&D>0}function Ts(u,a,h){for(let V of h)for(let q=0;qh[2]){let x=.5*A,E=u[0]-h[0]>x?-A:h[0]-u[0]>x?A:0;E===0&&(E=u[0]-h[2]>x?-A:h[2]-u[0]>x?A:0),u[0]+=E}ft(a,u)}function l_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let D of u)for(let F of D){let V=[F.x+E[0],F.y+E[1]];Bx(V,a,h,x),P.push(V)}return P}function c_(u,a,h,A){let x=Math.pow(2,A.z)*lt,E=[A.x*lt,A.y*lt],P=[];for(let F of u){let V=[];for(let q of F){let X=[q.x+E[0],q.y+E[1]];ft(a,X),V.push(X)}P.push(V)}if(a[2]-a[0]<=x/2){(D=a)[0]=D[1]=1/0,D[2]=D[3]=-1/0;for(let F of P)for(let V of F)Bx(V,a,h,x)}var D;return P}class gf{constructor(a,h){this.type=gr,this.geojson=a,this.geometries=h}static parse(a,h){if(a.length!==2)return h.error(`'within' expression requires exactly one argument, but found ${a.length-1} instead.`);if(jl(a[1])){let A=a[1];if(A.type===\"FeatureCollection\")for(let x=0;x!Array.isArray(V)||V.length===a.length-1),F=null;for(let[V,q]of D){F=new vd(h.registry,Wm,h.path,null,h.scope);let X=[],rt=!1;for(let at=1;at{return rt=X,Array.isArray(rt)?`(${rt.map(xt).join(\", \")})`:`(${xt(rt.type)}...)`;var rt}).join(\" | \"),q=[];for(let X=1;X{h=a?h&&Wm(A):h&&A instanceof Gl}),!!h&&Hm(u)&&qm(u,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Hm(u){if(u instanceof fl&&(u.name===\"get\"&&u.args.length===1||u.name===\"feature-state\"||u.name===\"has\"&&u.args.length===1||u.name===\"properties\"||u.name===\"geometry-type\"||u.name===\"id\"||/^filter-/.test(u.name))||u instanceof gf)return!1;let a=!0;return u.eachChild(h=>{a&&!Hm(h)&&(a=!1)}),a}function Wp(u){if(u instanceof fl&&u.name===\"feature-state\")return!1;let a=!0;return u.eachChild(h=>{a&&!Wp(h)&&(a=!1)}),a}function qm(u,a){if(u instanceof fl&&a.indexOf(u.name)>=0)return!1;let h=!0;return u.eachChild(A=>{h&&!qm(A,a)&&(h=!1)}),h}function bd(u,a){let h=u.length-1,A,x,E=0,P=h,D=0;for(;E<=P;)if(D=Math.floor((E+P)/2),A=u[D],x=u[D+1],A<=a){if(D===h||aa))throw new cn(\"Input is not a number.\");P=D-1}return 0}class sh{constructor(a,h,A){this.type=a,this.input=h,this.labels=[],this.outputs=[];for(let[x,E]of A)this.labels.push(x),this.outputs.push(E)}static parse(a,h){if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=[],E=null;h.expectedType&&h.expectedType.kind!==\"value\"&&(E=h.expectedType);for(let P=1;P=D)return h.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',V);let X=h.parse(F,q,E);if(!X)return null;E=E||X.type,x.push([D,X])}return new sh(E,A,x)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;return x>=h[E-1]?A[E-1].evaluate(a):A[bd(h,x)].evaluate(a)}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function ui(u,a,h){return u+h*(a-u)}function Zm(u,a,h){return u.map((A,x)=>ui(A,a[x],h))}let Da={number:ui,color:function(u,a,h,A=\"rgb\"){switch(A){case\"rgb\":{let[x,E,P,D]=Zm(u.rgb,a.rgb,h);return new ai(x,E,P,D,!1)}case\"hcl\":{let[x,E,P,D]=u.hcl,[F,V,q,X]=a.hcl,rt,at;if(isNaN(x)||isNaN(F))isNaN(x)?isNaN(F)?rt=NaN:(rt=F,P!==1&&P!==0||(at=V)):(rt=x,q!==1&&q!==0||(at=E));else{let jt=F-x;F>x&&jt>180?jt-=360:F180&&(jt+=360),rt=x+h*jt}let[ct,mt,bt,Pt]=function([jt,Rt,Gt,Yt]){return jt=isNaN(jt)?0:jt*wr,Bi([Gt,Math.cos(jt)*Rt,Math.sin(jt)*Rt,Yt])}([rt,at??ui(E,V,h),ui(P,q,h),ui(D,X,h)]);return new ai(ct,mt,bt,Pt,!1)}case\"lab\":{let[x,E,P,D]=Bi(Zm(u.lab,a.lab,h));return new ai(x,E,P,D,!1)}}},array:Zm,padding:function(u,a,h){return new Dn(Zm(u.values,a.values,h))},variableAnchorOffsetCollection:function(u,a,h){let A=u.values,x=a.values;if(A.length!==x.length)throw new cn(`Cannot interpolate values of different length. from: ${u.toString()}, to: ${a.toString()}`);let E=[];for(let P=0;Ptypeof q!=\"number\"||q<0||q>1))return h.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);x={name:\"cubic-bezier\",controlPoints:V}}}if(a.length-1<4)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if((a.length-1)%2!=0)return h.error(\"Expected an even number of arguments.\");if(E=h.parse(E,2,Te),!E)return null;let D=[],F=null;A===\"interpolate-hcl\"||A===\"interpolate-lab\"?F=Us:h.expectedType&&h.expectedType.kind!==\"value\"&&(F=h.expectedType);for(let V=0;V=q)return h.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',rt);let ct=h.parse(X,at,F);if(!ct)return null;F=F||ct.type,D.push([q,ct])}return ie(F,Te)||ie(F,Us)||ie(F,tt)||ie(F,ht)||ie(F,vt(Te))?new Oa(F,A,x,E,D):h.error(`Type ${xt(F)} is not interpolatable.`)}evaluate(a){let h=this.labels,A=this.outputs;if(h.length===1)return A[0].evaluate(a);let x=this.input.evaluate(a);if(x<=h[0])return A[0].evaluate(a);let E=h.length;if(x>=h[E-1])return A[E-1].evaluate(a);let P=bd(h,x),D=Oa.interpolationFactor(this.interpolation,x,h[P],h[P+1]),F=A[P].evaluate(a),V=A[P+1].evaluate(a);switch(this.operator){case\"interpolate\":return Da[this.type.kind](F,V,D);case\"interpolate-hcl\":return Da.color(F,V,D,\"hcl\");case\"interpolate-lab\":return Da.color(F,V,D,\"lab\")}}eachChild(a){a(this.input);for(let h of this.outputs)a(h)}outputDefined(){return this.outputs.every(a=>a.outputDefined())}}function u_(u,a,h,A){let x=A-h,E=u-h;return x===0?0:a===1?E/x:(Math.pow(a,E)-1)/(Math.pow(a,x)-1)}class Ym{constructor(a,h){this.type=a,this.args=h}static parse(a,h){if(a.length<2)return h.error(\"Expectected at least one argument.\");let A=null,x=h.expectedType;x&&x.kind!==\"value\"&&(A=x);let E=[];for(let D of a.slice(1)){let F=h.parse(D,1+E.length,A,void 0,{typeAnnotation:\"omit\"});if(!F)return null;A=A||F.type,E.push(F)}if(!A)throw new Error(\"No output type\");let P=x&&E.some(D=>Dt(x,D.type));return new Ym(P?Mr:A,E)}evaluate(a){let h,A=null,x=0;for(let E of this.args)if(x++,A=E.evaluate(a),A&&A instanceof Gn&&!A.available&&(h||(h=A.name),A=null,x===this.args.length&&(A=h)),A!==null)break;return A}eachChild(a){this.args.forEach(a)}outputDefined(){return this.args.every(a=>a.outputDefined())}}class Qm{constructor(a,h){this.type=h.type,this.bindings=[].concat(a),this.result=h}evaluate(a){return this.result.evaluate(a)}eachChild(a){for(let h of this.bindings)a(h[1]);a(this.result)}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found ${a.length-1} instead.`);let A=[];for(let E=1;E=A.length)throw new cn(`Array index out of bounds: ${h} > ${A.length-1}.`);if(h!==Math.floor(h))throw new cn(`Array index must be an integer, but found ${h} instead.`);return A[h]}eachChild(a){a(this.index),a(this.input)}outputDefined(){return!1}}class $m{constructor(a,h){this.type=gr,this.needle=a,this.haystack=h}static parse(a,h){if(a.length!==3)return h.error(`Expected 2 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);return A&&x?Mt(A.type,[gr,Dr,Te,Ca,Mr])?new $m(A,x):h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`):null}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!A)return!1;if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);return A.indexOf(h)>=0}eachChild(a){a(this.needle),a(this.haystack)}outputDefined(){return!0}}class qp{constructor(a,h,A){this.type=Te,this.needle=a,this.haystack=h,this.fromIndex=A}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Mr);if(!A||!x)return null;if(!Mt(A.type,[gr,Dr,Te,Ca,Mr]))return h.error(`Expected first argument to be of type boolean, string, number or null, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new qp(A,x,E):null}return new qp(A,x)}evaluate(a){let h=this.needle.evaluate(a),A=this.haystack.evaluate(a);if(!Vt(h,[\"boolean\",\"string\",\"number\",\"null\"]))throw new cn(`Expected first argument to be of type boolean, string, number or null, but found ${xt(Ki(h))} instead.`);if(!Vt(A,[\"string\",\"array\"]))throw new cn(`Expected second argument to be of type array or string, but found ${xt(Ki(A))} instead.`);if(this.fromIndex){let x=this.fromIndex.evaluate(a);return A.indexOf(h,x)}return A.indexOf(h)}eachChild(a){a(this.needle),a(this.haystack),this.fromIndex&&a(this.fromIndex)}outputDefined(){return!1}}class wd{constructor(a,h,A,x,E,P){this.inputType=a,this.type=h,this.input=A,this.cases=x,this.outputs=E,this.otherwise=P}static parse(a,h){if(a.length<5)return h.error(`Expected at least 4 arguments, but found only ${a.length-1}.`);if(a.length%2!=1)return h.error(\"Expected an even number of arguments.\");let A,x;h.expectedType&&h.expectedType.kind!==\"value\"&&(x=h.expectedType);let E={},P=[];for(let V=2;VNumber.MAX_SAFE_INTEGER)return rt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof ct==\"number\"&&Math.floor(ct)!==ct)return rt.error(\"Numeric branch labels must be integer values.\");if(A){if(rt.checkSubtype(A,Ki(ct)))return null}else A=Ki(ct);if(E[String(ct)]!==void 0)return rt.error(\"Branch labels must be unique.\");E[String(ct)]=P.length}let at=h.parse(X,V,x);if(!at)return null;x=x||at.type,P.push(at)}let D=h.parse(a[1],1,Mr);if(!D)return null;let F=h.parse(a[a.length-1],a.length-1,x);return F?D.type.kind!==\"value\"&&h.concat(1).checkSubtype(A,D.type)?null:new wd(A,x,D,E,P,F):null}evaluate(a){let h=this.input.evaluate(a);return(Ki(h)===this.inputType&&this.outputs[this.cases[h]]||this.otherwise).evaluate(a)}eachChild(a){a(this.input),this.outputs.forEach(a),a(this.otherwise)}outputDefined(){return this.outputs.every(a=>a.outputDefined())&&this.otherwise.outputDefined()}}class Zp{constructor(a,h,A){this.type=a,this.branches=h,this.otherwise=A}static parse(a,h){if(a.length<4)return h.error(`Expected at least 3 arguments, but found only ${a.length-1}.`);if(a.length%2!=0)return h.error(\"Expected an odd number of arguments.\");let A;h.expectedType&&h.expectedType.kind!==\"value\"&&(A=h.expectedType);let x=[];for(let P=1;Ph.outputDefined())&&this.otherwise.outputDefined()}}class Sd{constructor(a,h,A,x){this.type=a,this.input=h,this.beginIndex=A,this.endIndex=x}static parse(a,h){if(a.length<=2||a.length>=5)return h.error(`Expected 3 or 4 arguments, but found ${a.length-1} instead.`);let A=h.parse(a[1],1,Mr),x=h.parse(a[2],2,Te);if(!A||!x)return null;if(!Mt(A.type,[vt(Mr),Dr,Mr]))return h.error(`Expected first argument to be of type array or string, but found ${xt(A.type)} instead`);if(a.length===4){let E=h.parse(a[3],3,Te);return E?new Sd(A.type,A,x,E):null}return new Sd(A.type,A,x)}evaluate(a){let h=this.input.evaluate(a),A=this.beginIndex.evaluate(a);if(!Vt(h,[\"string\",\"array\"]))throw new cn(`Expected first argument to be of type array or string, but found ${xt(Ki(h))} instead.`);if(this.endIndex){let x=this.endIndex.evaluate(a);return h.slice(A,x)}return h.slice(A)}eachChild(a){a(this.input),a(this.beginIndex),this.endIndex&&a(this.endIndex)}outputDefined(){return!1}}function Xm(u,a){return u===\"==\"||u===\"!=\"?a.kind===\"boolean\"||a.kind===\"string\"||a.kind===\"number\"||a.kind===\"null\"||a.kind===\"value\":a.kind===\"string\"||a.kind===\"number\"||a.kind===\"value\"}function Td(u,a,h,A){return A.compare(a,h)===0}function Au(u,a,h){let A=u!==\"==\"&&u!==\"!=\";return class tU{constructor(E,P,D){this.type=gr,this.lhs=E,this.rhs=P,this.collator=D,this.hasUntypedArgument=E.type.kind===\"value\"||P.type.kind===\"value\"}static parse(E,P){if(E.length!==3&&E.length!==4)return P.error(\"Expected two or three arguments.\");let D=E[0],F=P.parse(E[1],1,Mr);if(!F)return null;if(!Xm(D,F.type))return P.concat(1).error(`\"${D}\" comparisons are not supported for type '${xt(F.type)}'.`);let V=P.parse(E[2],2,Mr);if(!V)return null;if(!Xm(D,V.type))return P.concat(2).error(`\"${D}\" comparisons are not supported for type '${xt(V.type)}'.`);if(F.type.kind!==V.type.kind&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(`Cannot compare types '${xt(F.type)}' and '${xt(V.type)}'.`);A&&(F.type.kind===\"value\"&&V.type.kind!==\"value\"?F=new rs(V.type,[F]):F.type.kind!==\"value\"&&V.type.kind===\"value\"&&(V=new rs(F.type,[V])));let q=null;if(E.length===4){if(F.type.kind!==\"string\"&&V.type.kind!==\"string\"&&F.type.kind!==\"value\"&&V.type.kind!==\"value\")return P.error(\"Cannot use collator to compare non-string types.\");if(q=P.parse(E[3],3,sa),!q)return null}return new tU(F,V,q)}evaluate(E){let P=this.lhs.evaluate(E),D=this.rhs.evaluate(E);if(A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==V.kind||F.kind!==\"string\"&&F.kind!==\"number\")throw new cn(`Expected arguments for \"${u}\" to be (string, string) or (number, number), but found (${F.kind}, ${V.kind}) instead.`)}if(this.collator&&!A&&this.hasUntypedArgument){let F=Ki(P),V=Ki(D);if(F.kind!==\"string\"||V.kind!==\"string\")return a(E,P,D)}return this.collator?h(E,P,D,this.collator.evaluate(E)):a(E,P,D)}eachChild(E){E(this.lhs),E(this.rhs),this.collator&&E(this.collator)}outputDefined(){return!0}}}let oh=Au(\"==\",function(u,a,h){return a===h},Td),Zt=Au(\"!=\",function(u,a,h){return a!==h},function(u,a,h,A){return!Td(0,a,h,A)}),fe=Au(\"<\",function(u,a,h){return a\",function(u,a,h){return a>h},function(u,a,h,A){return A.compare(a,h)>0}),br=Au(\"<=\",function(u,a,h){return a<=h},function(u,a,h,A){return A.compare(a,h)<=0}),g=Au(\">=\",function(u,a,h){return a>=h},function(u,a,h,A){return A.compare(a,h)>=0});class Vi{constructor(a,h,A,x,E){this.type=Dr,this.number=a,this.locale=h,this.currency=A,this.minFractionDigits=x,this.maxFractionDigits=E}static parse(a,h){if(a.length!==3)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Te);if(!A)return null;let x=a[2];if(typeof x!=\"object\"||Array.isArray(x))return h.error(\"NumberFormat options argument must be an object.\");let E=null;if(x.locale&&(E=h.parse(x.locale,1,Dr),!E))return null;let P=null;if(x.currency&&(P=h.parse(x.currency,1,Dr),!P))return null;let D=null;if(x[\"min-fraction-digits\"]&&(D=h.parse(x[\"min-fraction-digits\"],1,Te),!D))return null;let F=null;return x[\"max-fraction-digits\"]&&(F=h.parse(x[\"max-fraction-digits\"],1,Te),!F)?null:new Vi(A,E,P,D,F)}evaluate(a){return new Intl.NumberFormat(this.locale?this.locale.evaluate(a):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(a):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(a):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(a):void 0}).format(this.number.evaluate(a))}eachChild(a){a(this.number),this.locale&&a(this.locale),this.currency&&a(this.currency),this.minFractionDigits&&a(this.minFractionDigits),this.maxFractionDigits&&a(this.maxFractionDigits)}outputDefined(){return!1}}class Ti{constructor(a){this.type=gt,this.sections=a}static parse(a,h){if(a.length<2)return h.error(\"Expected at least one argument.\");let A=a[1];if(!Array.isArray(A)&&typeof A==\"object\")return h.error(\"First argument must be an image or text section.\");let x=[],E=!1;for(let P=1;P<=a.length-1;++P){let D=a[P];if(E&&typeof D==\"object\"&&!Array.isArray(D)){E=!1;let F=null;if(D[\"font-scale\"]&&(F=h.parse(D[\"font-scale\"],1,Te),!F))return null;let V=null;if(D[\"text-font\"]&&(V=h.parse(D[\"text-font\"],1,vt(Dr)),!V))return null;let q=null;if(D[\"text-color\"]&&(q=h.parse(D[\"text-color\"],1,Us),!q))return null;let X=x[x.length-1];X.scale=F,X.font=V,X.textColor=q}else{let F=h.parse(a[P],1,Mr);if(!F)return null;let V=F.type.kind;if(V!==\"string\"&&V!==\"value\"&&V!==\"null\"&&V!==\"resolvedImage\")return h.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");E=!0,x.push({content:F,scale:null,font:null,textColor:null})}}return new Ti(x)}evaluate(a){return new ln(this.sections.map(h=>{let A=h.content.evaluate(a);return Ki(A)===nt?new Dc(\"\",A,null,null,null):new Dc(_i(A),null,h.scale?h.scale.evaluate(a):null,h.font?h.font.evaluate(a).join(\",\"):null,h.textColor?h.textColor.evaluate(a):null)}))}eachChild(a){for(let h of this.sections)a(h.content),h.scale&&a(h.scale),h.font&&a(h.font),h.textColor&&a(h.textColor)}outputDefined(){return!1}}class Tt{constructor(a){this.type=nt,this.input=a}static parse(a,h){if(a.length!==2)return h.error(\"Expected two arguments.\");let A=h.parse(a[1],1,Dr);return A?new Tt(A):h.error(\"No image name provided.\")}evaluate(a){let h=this.input.evaluate(a),A=Gn.fromString(h);return A&&a.availableImages&&(A.available=a.availableImages.indexOf(h)>-1),A}eachChild(a){a(this.input)}outputDefined(){return!1}}class Ms{constructor(a){this.type=Te,this.input=a}static parse(a,h){if(a.length!==2)return h.error(`Expected 1 argument, but found ${a.length-1} instead.`);let A=h.parse(a[1],1);return A?A.type.kind!==\"array\"&&A.type.kind!==\"string\"&&A.type.kind!==\"value\"?h.error(`Expected argument of type string or array, but found ${xt(A.type)} instead.`):new Ms(A):null}evaluate(a){let h=this.input.evaluate(a);if(typeof h==\"string\"||Array.isArray(h))return h.length;throw new cn(`Expected value to be of type string or array, but found ${xt(Ki(h))} instead.`)}eachChild(a){a(this.input)}outputDefined(){return!1}}let cs={\"==\":oh,\"!=\":Zt,\">\":Be,\"<\":fe,\">=\":g,\"<=\":br,array:rs,at:Hp,boolean:rs,case:Zp,coalesce:Ym,collator:xd,format:Ti,image:Tt,in:$m,\"index-of\":qp,interpolate:Oa,\"interpolate-hcl\":Oa,\"interpolate-lab\":Oa,length:Ms,let:Qm,literal:Gl,match:wd,number:rs,\"number-format\":Vi,object:rs,slice:Sd,step:sh,string:rs,\"to-boolean\":Wl,\"to-color\":Wl,\"to-number\":Wl,\"to-string\":Wl,var:Gm,within:gf};function li(u,[a,h,A,x]){a=a.evaluate(u),h=h.evaluate(u),A=A.evaluate(u);let E=x?x.evaluate(u):1,P=So(a,h,A,E);if(P)throw new cn(P);return new ai(a/255,h/255,A/255,E,!1)}function bn(u,a){return u in a}function dl(u,a){let h=a[u];return h===void 0?null:h}function Ur(u){return{type:u}}function hi(u){return{result:\"success\",value:u}}function To(u){return{result:\"error\",value:u}}function _f(u){return u[\"property-type\"]===\"data-driven\"||u[\"property-type\"]===\"cross-faded-data-driven\"}function h_(u){return!!u.expression&&u.expression.parameters.indexOf(\"zoom\")>-1}function Md(u){return!!u.expression&&u.expression.interpolated}function qr(u){return u instanceof Number?\"number\":u instanceof String?\"string\":u instanceof Boolean?\"boolean\":Array.isArray(u)?\"array\":u===null?\"null\":typeof u}function Ji(u){return typeof u==\"object\"&&u!==null&&!Array.isArray(u)}function Oc(u){return u}function ci(u,a){let h=a.type===\"color\",A=u.stops&&typeof u.stops[0][0]==\"object\",x=A||!(A||u.property!==void 0),E=u.type||(Md(a)?\"exponential\":\"interval\");if(h||a.type===\"padding\"){let q=h?ai.parse:Dn.parse;(u=jo({},u)).stops&&(u.stops=u.stops.map(X=>[X[0],q(X[1])])),u.default=q(u.default?u.default:a.default)}if(u.colorSpace&&(P=u.colorSpace)!==\"rgb\"&&P!==\"hcl\"&&P!==\"lab\")throw new Error(`Unknown color space: \"${u.colorSpace}\"`);var P;let D,F,V;if(E===\"exponential\")D=Mi;else if(E===\"interval\")D=It;else if(E===\"categorical\"){D=Je,F=Object.create(null);for(let q of u.stops)F[q[0]]=q[1];V=typeof u.stops[0][0]}else{if(E!==\"identity\")throw new Error(`Unknown function type \"${E}\"`);D=Km}if(A){let q={},X=[];for(let ct=0;ctct[0]),evaluate:({zoom:ct},mt)=>Mi({stops:rt,base:u.base},a,ct).evaluate(ct,mt)}}if(x){let q=E===\"exponential\"?{name:\"exponential\",base:u.base!==void 0?u.base:1}:null;return{kind:\"camera\",interpolationType:q,interpolationFactor:Oa.interpolationFactor.bind(void 0,q),zoomStops:u.stops.map(X=>X[0]),evaluate:({zoom:X})=>D(u,a,X,F,V)}}return{kind:\"source\",evaluate(q,X){let rt=X&&X.properties?X.properties[u.property]:void 0;return rt===void 0?aa(u.default,a.default):D(u,a,rt,F,V)}}}function aa(u,a,h){return u!==void 0?u:a!==void 0?a:h!==void 0?h:void 0}function Je(u,a,h,A,x){return aa(typeof h===x?A[h]:void 0,u.default,a.default)}function It(u,a,h){if(qr(h)!==\"number\")return aa(u.default,a.default);let A=u.stops.length;if(A===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[A-1][0])return u.stops[A-1][1];let x=bd(u.stops.map(E=>E[0]),h);return u.stops[x][1]}function Mi(u,a,h){let A=u.base!==void 0?u.base:1;if(qr(h)!==\"number\")return aa(u.default,a.default);let x=u.stops.length;if(x===1||h<=u.stops[0][0])return u.stops[0][1];if(h>=u.stops[x-1][0])return u.stops[x-1][1];let E=bd(u.stops.map(q=>q[0]),h),P=function(q,X,rt,at){let ct=at-rt,mt=q-rt;return ct===0?0:X===1?mt/ct:(Math.pow(X,mt)-1)/(Math.pow(X,ct)-1)}(h,A,u.stops[E][0],u.stops[E+1][0]),D=u.stops[E][1],F=u.stops[E+1][1],V=Da[a.type]||Oc;return typeof D.evaluate==\"function\"?{evaluate(...q){let X=D.evaluate.apply(void 0,q),rt=F.evaluate.apply(void 0,q);if(X!==void 0&&rt!==void 0)return V(X,rt,P,u.colorSpace)}}:V(D,F,P,u.colorSpace)}function Km(u,a,h){switch(a.type){case\"color\":h=ai.parse(h);break;case\"formatted\":h=ln.fromString(h.toString());break;case\"resolvedImage\":h=Gn.fromString(h.toString());break;case\"padding\":h=Dn.parse(h);break;default:qr(h)===a.type||a.type===\"enum\"&&a.values[h]||(h=void 0)}return aa(h,u.default,a.default)}fl.register(cs,{error:[{kind:\"error\"},[Dr],(u,[a])=>{throw new cn(a.evaluate(u))}],typeof:[Dr,[Mr],(u,[a])=>xt(Ki(a.evaluate(u)))],\"to-rgba\":[vt(Te,4),[Us],(u,[a])=>{let[h,A,x,E]=a.evaluate(u).rgb;return[255*h,255*A,255*x,E]}],rgb:[Us,[Te,Te,Te],li],rgba:[Us,[Te,Te,Te,Te],li],has:{type:gr,overloads:[[[Dr],(u,[a])=>bn(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>bn(a.evaluate(u),h.evaluate(u))]]},get:{type:Mr,overloads:[[[Dr],(u,[a])=>dl(a.evaluate(u),u.properties())],[[Dr,La],(u,[a,h])=>dl(a.evaluate(u),h.evaluate(u))]]},\"feature-state\":[Mr,[Dr],(u,[a])=>dl(a.evaluate(u),u.featureState||{})],properties:[La,[],u=>u.properties()],\"geometry-type\":[Dr,[],u=>u.geometryType()],id:[Mr,[],u=>u.id()],zoom:[Te,[],u=>u.globals.zoom],\"heatmap-density\":[Te,[],u=>u.globals.heatmapDensity||0],\"line-progress\":[Te,[],u=>u.globals.lineProgress||0],accumulated:[Mr,[],u=>u.globals.accumulated===void 0?null:u.globals.accumulated],\"+\":[Te,Ur(Te),(u,a)=>{let h=0;for(let A of a)h+=A.evaluate(u);return h}],\"*\":[Te,Ur(Te),(u,a)=>{let h=1;for(let A of a)h*=A.evaluate(u);return h}],\"-\":{type:Te,overloads:[[[Te,Te],(u,[a,h])=>a.evaluate(u)-h.evaluate(u)],[[Te],(u,[a])=>-a.evaluate(u)]]},\"/\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)/h.evaluate(u)],\"%\":[Te,[Te,Te],(u,[a,h])=>a.evaluate(u)%h.evaluate(u)],ln2:[Te,[],()=>Math.LN2],pi:[Te,[],()=>Math.PI],e:[Te,[],()=>Math.E],\"^\":[Te,[Te,Te],(u,[a,h])=>Math.pow(a.evaluate(u),h.evaluate(u))],sqrt:[Te,[Te],(u,[a])=>Math.sqrt(a.evaluate(u))],log10:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN10],ln:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))],log2:[Te,[Te],(u,[a])=>Math.log(a.evaluate(u))/Math.LN2],sin:[Te,[Te],(u,[a])=>Math.sin(a.evaluate(u))],cos:[Te,[Te],(u,[a])=>Math.cos(a.evaluate(u))],tan:[Te,[Te],(u,[a])=>Math.tan(a.evaluate(u))],asin:[Te,[Te],(u,[a])=>Math.asin(a.evaluate(u))],acos:[Te,[Te],(u,[a])=>Math.acos(a.evaluate(u))],atan:[Te,[Te],(u,[a])=>Math.atan(a.evaluate(u))],min:[Te,Ur(Te),(u,a)=>Math.min(...a.map(h=>h.evaluate(u)))],max:[Te,Ur(Te),(u,a)=>Math.max(...a.map(h=>h.evaluate(u)))],abs:[Te,[Te],(u,[a])=>Math.abs(a.evaluate(u))],round:[Te,[Te],(u,[a])=>{let h=a.evaluate(u);return h<0?-Math.round(-h):Math.round(h)}],floor:[Te,[Te],(u,[a])=>Math.floor(a.evaluate(u))],ceil:[Te,[Te],(u,[a])=>Math.ceil(a.evaluate(u))],\"filter-==\":[gr,[Dr,Mr],(u,[a,h])=>u.properties()[a.value]===h.value],\"filter-id-==\":[gr,[Mr],(u,[a])=>u.id()===a.value],\"filter-type-==\":[gr,[Dr],(u,[a])=>u.geometryType()===a.value],\"filter-<\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A{let h=u.id(),A=a.value;return typeof h==typeof A&&h\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>x}],\"filter-id->\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>A}],\"filter-<=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A<=x}],\"filter-id-<=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h<=A}],\"filter->=\":[gr,[Dr,Mr],(u,[a,h])=>{let A=u.properties()[a.value],x=h.value;return typeof A==typeof x&&A>=x}],\"filter-id->=\":[gr,[Mr],(u,[a])=>{let h=u.id(),A=a.value;return typeof h==typeof A&&h>=A}],\"filter-has\":[gr,[Mr],(u,[a])=>a.value in u.properties()],\"filter-has-id\":[gr,[],u=>u.id()!==null&&u.id()!==void 0],\"filter-type-in\":[gr,[vt(Dr)],(u,[a])=>a.value.indexOf(u.geometryType())>=0],\"filter-id-in\":[gr,[vt(Mr)],(u,[a])=>a.value.indexOf(u.id())>=0],\"filter-in-small\":[gr,[Dr,vt(Mr)],(u,[a,h])=>h.value.indexOf(u.properties()[a.value])>=0],\"filter-in-large\":[gr,[Dr,vt(Mr)],(u,[a,h])=>function(A,x,E,P){for(;E<=P;){let D=E+P>>1;if(x[D]===A)return!0;x[D]>A?P=D-1:E=D+1}return!1}(u.properties()[a.value],h.value,0,h.value.length-1)],all:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)&&h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(!h.evaluate(u))return!1;return!0}]]},any:{type:gr,overloads:[[[gr,gr],(u,[a,h])=>a.evaluate(u)||h.evaluate(u)],[Ur(gr),(u,a)=>{for(let h of a)if(h.evaluate(u))return!0;return!1}]]},\"!\":[gr,[gr],(u,[a])=>!a.evaluate(u)],\"is-supported-script\":[gr,[Dr],(u,[a])=>{let h=u.globals&&u.globals.isSupportedScript;return!h||h(a.evaluate(u))}],upcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toUpperCase()],downcase:[Dr,[Dr],(u,[a])=>a.evaluate(u).toLowerCase()],concat:[Dr,Ur(Mr),(u,a)=>a.map(h=>_i(h.evaluate(u))).join(\"\")],\"resolved-locale\":[Dr,[sa],(u,[a])=>a.evaluate(u).resolvedLocale()]});class Jm{constructor(a,h){var A;this.expression=a,this._warningHistory={},this._evaluator=new yd,this._defaultValue=h?(A=h).type===\"color\"&&Ji(A.default)?new ai(0,0,0,0):A.type===\"color\"?ai.parse(A.default)||null:A.type===\"padding\"?Dn.parse(A.default)||null:A.type===\"variableAnchorOffsetCollection\"?Go.parse(A.default)||null:A.default===void 0?null:A.default:null,this._enumValues=h&&h.type===\"enum\"?h.values:null}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._evaluator.globals=a,this._evaluator.feature=h,this._evaluator.featureState=A,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P,this.expression.evaluate(this._evaluator)}evaluate(a,h,A,x,E,P){this._evaluator.globals=a,this._evaluator.feature=h||null,this._evaluator.featureState=A||null,this._evaluator.canonical=x,this._evaluator.availableImages=E||null,this._evaluator.formattedSection=P||null;try{let D=this.expression.evaluate(this._evaluator);if(D==null||typeof D==\"number\"&&D!=D)return this._defaultValue;if(this._enumValues&&!(D in this._enumValues))throw new cn(`Expected value to be one of ${Object.keys(this._enumValues).map(F=>JSON.stringify(F)).join(\", \")}, but found ${JSON.stringify(D)} instead.`);return D}catch(D){return this._warningHistory[D.message]||(this._warningHistory[D.message]=!0,typeof console<\"u\"&&console.warn(D.message)),this._defaultValue}}}function Yp(u){return Array.isArray(u)&&u.length>0&&typeof u[0]==\"string\"&&u[0]in cs}function Qp(u,a){let h=new vd(cs,Wm,[],a?function(x){let E={color:Us,string:Dr,number:Te,enum:Dr,boolean:gr,formatted:gt,padding:tt,resolvedImage:nt,variableAnchorOffsetCollection:ht};return x.type===\"array\"?vt(E[x.value]||Mr,x.length):E[x.type]}(a):void 0),A=h.parse(u,void 0,void 0,void 0,a&&a.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return A?hi(new Jm(A,a)):To(h.errors)}class t0{constructor(a,h){this.kind=a,this._styleExpression=h,this.isStateDependent=a!==\"constant\"&&!Wp(h.expression)}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}}class wt{constructor(a,h,A,x){this.kind=a,this.zoomStops=A,this._styleExpression=h,this.isStateDependent=a!==\"camera\"&&!Wp(h.expression),this.interpolationType=x}evaluateWithoutErrorHandling(a,h,A,x,E,P){return this._styleExpression.evaluateWithoutErrorHandling(a,h,A,x,E,P)}evaluate(a,h,A,x,E,P){return this._styleExpression.evaluate(a,h,A,x,E,P)}interpolationFactor(a,h,A){return this.interpolationType?Oa.interpolationFactor(this.interpolationType,a,h,A):0}}function e0(u,a){let h=Qp(u,a);if(h.result===\"error\")return h;let A=h.value.expression,x=Hm(A);if(!x&&!_f(a))return To([new gn(\"\",\"data expressions not supported\")]);let E=qm(A,[\"zoom\"]);if(!E&&!h_(a))return To([new gn(\"\",\"zoom expressions not supported\")]);let P=Pd(A);return P||E?P instanceof gn?To([P]):P instanceof Oa&&!Md(a)?To([new gn(\"\",'\"interpolate\" expressions cannot be used with this property')]):hi(P?new wt(x?\"camera\":\"composite\",h.value,P.labels,P instanceof Oa?P.interpolation:void 0):new t0(x?\"constant\":\"source\",h.value)):To([new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Ed{constructor(a,h){this._parameters=a,this._specification=h,jo(this,ci(this._parameters,this._specification))}static deserialize(a){return new Ed(a._parameters,a._specification)}static serialize(a){return{_parameters:a._parameters,_specification:a._specification}}}function Pd(u){let a=null;if(u instanceof Qm)a=Pd(u.result);else if(u instanceof Ym){for(let h of u.args)if(a=Pd(h),a)break}else(u instanceof sh||u instanceof Oa)&&u.input instanceof fl&&u.input.name===\"zoom\"&&(a=u);return a instanceof gn||u.eachChild(h=>{let A=Pd(h);A instanceof gn?a=A:!a&&A?a=new gn(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):a&&A&&a!==A&&(a=new gn(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),a}function Id(u){if(u===!0||u===!1)return!0;if(!Array.isArray(u)||u.length===0)return!1;switch(u[0]){case\"has\":return u.length>=2&&u[1]!==\"$id\"&&u[1]!==\"$type\";case\"in\":return u.length>=3&&(typeof u[1]!=\"string\"||Array.isArray(u[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return u.length!==3||Array.isArray(u[1])||Array.isArray(u[2]);case\"any\":case\"all\":for(let a of u.slice(1))if(!Id(a)&&typeof a!=\"boolean\")return!1;return!0;default:return!0}}let Fx={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function r0(u){if(u==null)return{filter:()=>!0,needGeometry:!1};Id(u)||(u=yf(u));let a=Qp(u,Fx);if(a.result===\"error\")throw new Error(a.value.map(h=>`${h.key}: ${h.message}`).join(\", \"));return{filter:(h,A,x)=>a.value.evaluate(h,A,{},x),needGeometry:d_(u)}}function f_(u,a){return ua?1:0}function d_(u){if(!Array.isArray(u))return!1;if(u[0]===\"within\")return!0;for(let a=1;a\"||a===\"<=\"||a===\">=\"?Ba(u[1],u[2],a):a===\"any\"?(h=u.slice(1),[\"any\"].concat(h.map(yf))):a===\"all\"?[\"all\"].concat(u.slice(1).map(yf)):a===\"none\"?[\"all\"].concat(u.slice(1).map(yf).map(Cd)):a===\"in\"?Wn(u[1],u.slice(2)):a===\"!in\"?Cd(Wn(u[1],u.slice(2))):a===\"has\"?p_(u[1]):a===\"!has\"?Cd(p_(u[1])):a!==\"within\"||u;var h}function Ba(u,a,h){switch(u){case\"$type\":return[`filter-type-${h}`,a];case\"$id\":return[`filter-id-${h}`,a];default:return[`filter-${h}`,u,a]}}function Wn(u,a){if(a.length===0)return!1;switch(u){case\"$type\":return[\"filter-type-in\",[\"literal\",a]];case\"$id\":return[\"filter-id-in\",[\"literal\",a]];default:return a.length>200&&!a.some(h=>typeof h!=typeof a[0])?[\"filter-in-large\",u,[\"literal\",a.sort(f_)]]:[\"filter-in-small\",u,[\"literal\",a]]}}function p_(u){switch(u){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",u]}}function Cd(u){return[\"!\",u]}function $p(u){let a=typeof u;if(a===\"number\"||a===\"boolean\"||a===\"string\"||u==null)return JSON.stringify(u);if(Array.isArray(u)){let x=\"[\";for(let E of u)x+=`${$p(E)},`;return`${x}]`}let h=Object.keys(u).sort(),A=\"{\";for(let x=0;xA.maximum?[new ve(a,h,`${h} is greater than the maximum value ${A.maximum}`)]:[]}function Kp(u){let a=u.valueSpec,h=Cn(u.value.type),A,x,E,P={},D=h!==\"categorical\"&&u.value.property===void 0,F=!D,V=qr(u.value.stops)===\"array\"&&qr(u.value.stops[0])===\"array\"&&qr(u.value.stops[0][0])===\"object\",q=fi({key:u.key,value:u.value,valueSpec:u.styleSpec.function,validateSpec:u.validateSpec,style:u.style,styleSpec:u.styleSpec,objectElementValidators:{stops:function(at){if(h===\"identity\")return[new ve(at.key,at.value,'identity function may not have a \"stops\" property')];let ct=[],mt=at.value;return ct=ct.concat(mu({key:at.key,value:mt,valueSpec:at.valueSpec,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,arrayElementValidator:X})),qr(mt)===\"array\"&&mt.length===0&&ct.push(new ve(at.key,mt,\"array must have at least one stop\")),ct},default:function(at){return at.validateSpec({key:at.key,value:at.value,valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec})}}});return h===\"identity\"&&D&&q.push(new ve(u.key,u.value,'missing required property \"property\"')),h===\"identity\"||u.value.stops||q.push(new ve(u.key,u.value,'missing required property \"stops\"')),h===\"exponential\"&&u.valueSpec.expression&&!Md(u.valueSpec)&&q.push(new ve(u.key,u.value,\"exponential functions not supported\")),u.styleSpec.$version>=8&&(F&&!_f(u.valueSpec)?q.push(new ve(u.key,u.value,\"property functions not supported\")):D&&!h_(u.valueSpec)&&q.push(new ve(u.key,u.value,\"zoom functions not supported\"))),h!==\"categorical\"&&!V||u.value.property!==void 0||q.push(new ve(u.key,u.value,'\"property\" property is required')),q;function X(at){let ct=[],mt=at.value,bt=at.key;if(qr(mt)!==\"array\")return[new ve(bt,mt,`array expected, ${qr(mt)} found`)];if(mt.length!==2)return[new ve(bt,mt,`array length 2 expected, length ${mt.length} found`)];if(V){if(qr(mt[0])!==\"object\")return[new ve(bt,mt,`object expected, ${qr(mt[0])} found`)];if(mt[0].zoom===void 0)return[new ve(bt,mt,\"object stop key must have zoom\")];if(mt[0].value===void 0)return[new ve(bt,mt,\"object stop key must have value\")];if(E&&E>Cn(mt[0].zoom))return[new ve(bt,mt[0].zoom,\"stop zoom values must appear in ascending order\")];Cn(mt[0].zoom)!==E&&(E=Cn(mt[0].zoom),x=void 0,P={}),ct=ct.concat(fi({key:`${bt}[0]`,value:mt[0],valueSpec:{zoom:{}},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec,objectElementValidators:{zoom:vf,value:rt}}))}else ct=ct.concat(rt({key:`${bt}[0]`,value:mt[0],valueSpec:{},validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec},mt));return Yp(ah(mt[1]))?ct.concat([new ve(`${bt}[1]`,mt[1],\"expressions are not allowed in function stops.\")]):ct.concat(at.validateSpec({key:`${bt}[1]`,value:mt[1],valueSpec:a,validateSpec:at.validateSpec,style:at.style,styleSpec:at.styleSpec}))}function rt(at,ct){let mt=qr(at.value),bt=Cn(at.value),Pt=at.value!==null?at.value:ct;if(A){if(mt!==A)return[new ve(at.key,Pt,`${mt} stop domain type must match previous stop domain type ${A}`)]}else A=mt;if(mt!==\"number\"&&mt!==\"string\"&&mt!==\"boolean\")return[new ve(at.key,Pt,\"stop domain value must be a number, string, or boolean\")];if(mt!==\"number\"&&h!==\"categorical\"){let jt=`number expected, ${mt} found`;return _f(a)&&h===void 0&&(jt+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new ve(at.key,Pt,jt)]}return h!==\"categorical\"||mt!==\"number\"||isFinite(bt)&&Math.floor(bt)===bt?h!==\"categorical\"&&mt===\"number\"&&x!==void 0&&btnew ve(`${u.key}${A.key}`,u.value,A.message));let h=a.value.expression||a.value._styleExpression.expression;if(u.expressionContext===\"property\"&&u.propertyKey===\"text-font\"&&!h.outputDefined())return[new ve(u.key,u.value,`Invalid data expression for \"${u.propertyKey}\". Output values must be contained as literals within the expression.`)];if(u.expressionContext===\"property\"&&u.propertyType===\"layout\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(u.expressionContext===\"filter\"&&!Wp(h))return[new ve(u.key,u.value,'\"feature-state\" data expressions are not supported with filters.')];if(u.expressionContext&&u.expressionContext.indexOf(\"cluster\")===0){if(!qm(h,[\"zoom\",\"feature-state\"]))return[new ve(u.key,u.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(u.expressionContext===\"cluster-initial\"&&!Hm(h))return[new ve(u.key,u.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ld(u){let a=u.key,h=u.value,A=u.valueSpec,x=[];return Array.isArray(A.values)?A.values.indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${A.values.join(\", \")}], ${JSON.stringify(h)} found`)):Object.keys(A.values).indexOf(Cn(h))===-1&&x.push(new ve(a,h,`expected one of [${Object.keys(A.values).join(\", \")}], ${JSON.stringify(h)} found`)),x}function ch(u){return Id(ah(u.value))?lh(jo({},u,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Jp(u)}function Jp(u){let a=u.value,h=u.key;if(qr(a)!==\"array\")return[new ve(h,a,`array expected, ${qr(a)} found`)];let A=u.styleSpec,x,E=[];if(a.length<1)return[new ve(h,a,\"filter array must have at least 1 element\")];switch(E=E.concat(Ld({key:`${h}[0]`,value:a[0],valueSpec:A.filter_operator,style:u.style,styleSpec:u.styleSpec})),Cn(a[0])){case\"<\":case\"<=\":case\">\":case\">=\":a.length>=2&&Cn(a[1])===\"$type\"&&E.push(new ve(h,a,`\"$type\" cannot be use with operator \"${a[0]}\"`));case\"==\":case\"!=\":a.length!==3&&E.push(new ve(h,a,`filter array for operator \"${a[0]}\" must have 3 elements`));case\"in\":case\"!in\":a.length>=2&&(x=qr(a[1]),x!==\"string\"&&E.push(new ve(`${h}[1]`,a[1],`string expected, ${x} found`)));for(let P=2;P{V in h&&a.push(new ve(A,h[V],`\"${V}\" is prohibited for ref layers`))}),x.layers.forEach(V=>{Cn(V.id)===D&&(F=V)}),F?F.ref?a.push(new ve(A,h.ref,\"ref cannot reference another ref layer\")):P=Cn(F.type):a.push(new ve(A,h.ref,`ref layer \"${D}\" not found`))}else if(P!==\"background\")if(h.source){let F=x.sources&&x.sources[h.source],V=F&&Cn(F.type);F?V===\"vector\"&&P===\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster source`)):V!==\"raster-dem\"&&P===\"hillshade\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a raster-dem source`)):V===\"raster\"&&P!==\"raster\"?a.push(new ve(A,h.source,`layer \"${h.id}\" requires a vector source`)):V!==\"vector\"||h[\"source-layer\"]?V===\"raster-dem\"&&P!==\"hillshade\"?a.push(new ve(A,h.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):P!==\"line\"||!h.paint||!h.paint[\"line-gradient\"]||V===\"geojson\"&&F.lineMetrics||a.push(new ve(A,h,`layer \"${h.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):a.push(new ve(A,h,`layer \"${h.id}\" must specify a \"source-layer\"`)):a.push(new ve(A,h.source,`source \"${h.source}\" not found`))}else a.push(new ve(A,h,'missing required property \"source\"'));return a=a.concat(fi({key:A,value:h,valueSpec:E.layer,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>u.validateSpec({key:`${A}.type`,value:h.type,valueSpec:E.layer.type,style:u.style,styleSpec:u.styleSpec,validateSpec:u.validateSpec,object:h,objectKey:\"type\"}),filter:ch,layout:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>m_(jo({layerType:P},V))}}),paint:F=>fi({layer:h,key:F.key,value:F.value,style:F.style,styleSpec:F.styleSpec,validateSpec:F.validateSpec,objectElementValidators:{\"*\":V=>A_(jo({layerType:P},V))}})}})),a}function pl(u){let a=u.value,h=u.key,A=qr(a);return A!==\"string\"?[new ve(h,a,`string expected, ${A} found`)]:[]}let uh={promoteId:function({key:u,value:a}){if(qr(a)===\"string\")return pl({key:u,value:a});{let h=[];for(let A in a)h.push(...pl({key:`${u}.${A}`,value:a[A]}));return h}}};function la(u){let a=u.value,h=u.key,A=u.styleSpec,x=u.style,E=u.validateSpec;if(!a.type)return[new ve(h,a,'\"type\" is required')];let P=Cn(a.type),D;switch(P){case\"vector\":case\"raster\":return D=fi({key:h,value:a,valueSpec:A[`source_${P.replace(\"-\",\"_\")}`],style:u.style,styleSpec:A,objectElementValidators:uh,validateSpec:E}),D;case\"raster-dem\":return D=function(F){var V;let q=(V=F.sourceName)!==null&&V!==void 0?V:\"\",X=F.value,rt=F.styleSpec,at=rt.source_raster_dem,ct=F.style,mt=[],bt=qr(X);if(X===void 0)return mt;if(bt!==\"object\")return mt.push(new ve(\"source_raster_dem\",X,`object expected, ${bt} found`)),mt;let Pt=Cn(X.encoding)===\"custom\",jt=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],Rt=F.value.encoding?`\"${F.value.encoding}\"`:\"Default\";for(let Gt in X)!Pt&&jt.includes(Gt)?mt.push(new ve(Gt,X[Gt],`In \"${q}\": \"${Gt}\" is only valid when \"encoding\" is set to \"custom\". ${Rt} encoding found`)):at[Gt]?mt=mt.concat(F.validateSpec({key:Gt,value:X[Gt],valueSpec:at[Gt],validateSpec:F.validateSpec,style:ct,styleSpec:rt})):mt.push(new ve(Gt,X[Gt],`unknown property \"${Gt}\"`));return mt}({sourceName:h,value:a,style:u.style,styleSpec:A,validateSpec:E}),D;case\"geojson\":if(D=fi({key:h,value:a,valueSpec:A.source_geojson,style:x,styleSpec:A,validateSpec:E,objectElementValidators:uh}),a.cluster)for(let F in a.clusterProperties){let[V,q]=a.clusterProperties[F],X=typeof V==\"string\"?[V,[\"accumulated\"],[\"get\",F]]:V;D.push(...lh({key:`${h}.${F}.map`,value:q,validateSpec:E,expressionContext:\"cluster-map\"})),D.push(...lh({key:`${h}.${F}.reduce`,value:X,validateSpec:E,expressionContext:\"cluster-reduce\"}))}return D;case\"video\":return fi({key:h,value:a,valueSpec:A.source_video,style:x,validateSpec:E,styleSpec:A});case\"image\":return fi({key:h,value:a,valueSpec:A.source_image,style:x,validateSpec:E,styleSpec:A});case\"canvas\":return[new ve(h,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Ld({key:`${h}.type`,value:a.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:x,validateSpec:E,styleSpec:A})}}function kd(u){let a=u.value,h=u.styleSpec,A=h.light,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"light\",a,`object expected, ${P} found`)]),E;for(let D in a){let F=D.match(/^(.*)-transition$/);E=E.concat(F&&A[F[1]]&&A[F[1]].transition?u.validateSpec({key:D,value:a[D],valueSpec:h.transition,validateSpec:u.validateSpec,style:x,styleSpec:h}):A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)])}return E}function g_(u){let a=u.value,h=u.styleSpec,A=h.terrain,x=u.style,E=[],P=qr(a);if(a===void 0)return E;if(P!==\"object\")return E=E.concat([new ve(\"terrain\",a,`object expected, ${P} found`)]),E;for(let D in a)E=E.concat(A[D]?u.validateSpec({key:D,value:a[D],valueSpec:A[D],validateSpec:u.validateSpec,style:x,styleSpec:h}):[new ve(D,a[D],`unknown property \"${D}\"`)]);return E}function js(u){let a=[],h=u.value,A=u.key;if(Array.isArray(h)){let x=[],E=[];for(let P in h)h[P].id&&x.includes(h[P].id)&&a.push(new ve(A,h,`all the sprites' ids must be unique, but ${h[P].id} is duplicated`)),x.push(h[P].id),h[P].url&&E.includes(h[P].url)&&a.push(new ve(A,h,`all the sprites' URLs must be unique, but ${h[P].url} is duplicated`)),E.push(h[P].url),a=a.concat(fi({key:`${A}[${P}]`,value:h[P],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:u.validateSpec}));return a}return pl({key:A,value:h})}let gu={\"*\":()=>[],array:mu,boolean:function(u){let a=u.value,h=u.key,A=qr(a);return A!==\"boolean\"?[new ve(h,a,`boolean expected, ${A} found`)]:[]},number:vf,color:function(u){let a=u.key,h=u.value,A=qr(h);return A!==\"string\"?[new ve(a,h,`color expected, ${A} found`)]:ai.parse(String(h))?[]:[new ve(a,h,`color expected, \"${h}\" found`)]},constants:i0,enum:Ld,filter:ch,function:Kp,layer:n0,object:fi,source:la,light:kd,terrain:g_,string:pl,formatted:function(u){return pl(u).length===0?[]:lh(u)},resolvedImage:function(u){return pl(u).length===0?[]:lh(u)},padding:function(u){let a=u.key,h=u.value;if(qr(h)===\"array\"){if(h.length<1||h.length>4)return[new ve(a,h,`padding requires 1 to 4 values; ${h.length} values found`)];let A={type:\"number\"},x=[];for(let E=0;E[]}})),u.constants&&(h=h.concat(i0({key:\"constants\",value:u.constants,style:u,styleSpec:a,validateSpec:Ln}))),Rd(h)}function Fa(u){return function(a){return u({...a,validateSpec:Ln})}}function Rd(u){return[].concat(u).sort((a,h)=>a.line-h.line)}function Al(u){return function(...a){return Rd(u.apply(this,a))}}ca.source=Al(Fa(la)),ca.sprite=Al(Fa(js)),ca.glyphs=Al(Fa(eA)),ca.light=Al(Fa(kd)),ca.terrain=Al(Fa(g_)),ca.layer=Al(Fa(n0)),ca.filter=Al(Fa(ch)),ca.paintProperty=Al(Fa(A_)),ca.layoutProperty=Al(Fa(m_));let za=ca,hh=za.light,rA=za.paintProperty,s0=za.layoutProperty;function fh(u,a){let h=!1;if(a&&a.length)for(let A of a)u.fire(new ao(new Error(A.message))),h=!0;return h}class Na{constructor(a,h,A){let x=this.cells=[];if(a instanceof ArrayBuffer){this.arrayBuffer=a;let P=new Int32Array(this.arrayBuffer);a=P[0],this.d=(h=P[1])+2*(A=P[2]);for(let F=0;F=X[ct+0]&&x>=X[ct+1])?(D[at]=!0,P.push(q[at])):D[at]=!1}}}}_forEachCell(a,h,A,x,E,P,D,F){let V=this._convertToCellCoord(a),q=this._convertToCellCoord(h),X=this._convertToCellCoord(A),rt=this._convertToCellCoord(x);for(let at=V;at<=X;at++)for(let ct=q;ct<=rt;ct++){let mt=this.d*ct+at;if((!F||F(this._convertFromCellCoord(at),this._convertFromCellCoord(ct),this._convertFromCellCoord(at+1),this._convertFromCellCoord(ct+1)))&&E.call(this,a,h,A,x,mt,P,D,F))return}}_convertFromCellCoord(a){return(a-this.padding)/this.scale}_convertToCellCoord(a){return Math.max(0,Math.min(this.d-1,Math.floor(a*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let a=this.cells,h=3+this.cells.length+1+1,A=0;for(let P=0;P=0)continue;let P=u[E];x[E]=co[A].shallow.indexOf(E)>=0?P:Hl(P,a)}u instanceof Error&&(x.message=u.message)}if(x.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return A!==\"Object\"&&(x.$name=A),x}throw new Error(\"can't serialize object of type \"+typeof u)}function xf(u){if(u==null||typeof u==\"boolean\"||typeof u==\"number\"||typeof u==\"string\"||u instanceof Boolean||u instanceof Number||u instanceof String||u instanceof Date||u instanceof RegExp||u instanceof Blob||Dd(u)||zl(u)||ArrayBuffer.isView(u)||u instanceof ImageData)return u;if(Array.isArray(u))return u.map(xf);if(typeof u==\"object\"){let a=u.$name||\"Object\";if(!co[a])throw new Error(`can't deserialize unregistered class ${a}`);let{klass:h}=co[a];if(!h)throw new Error(`can't deserialize unregistered class ${a}`);if(h.deserialize)return h.deserialize(u);let A=Object.create(h.prototype);for(let x of Object.keys(u)){if(x===\"$name\")continue;let E=u[x];A[x]=co[a].shallow.indexOf(x)>=0?E:xf(E)}return A}throw new Error(\"can't deserialize object of type \"+typeof u)}class __{constructor(){this.first=!0}update(a,h){let A=Math.floor(a);return this.first?(this.first=!1,this.lastIntegerZoom=A,this.lastIntegerZoomTime=0,this.lastZoom=a,this.lastFloorZoom=A,!0):(this.lastFloorZoom>A?(this.lastIntegerZoom=A+1,this.lastIntegerZoomTime=h):this.lastFloorZoomu>=128&&u<=255,Arabic:u=>u>=1536&&u<=1791,\"Arabic Supplement\":u=>u>=1872&&u<=1919,\"Arabic Extended-A\":u=>u>=2208&&u<=2303,\"Hangul Jamo\":u=>u>=4352&&u<=4607,\"Unified Canadian Aboriginal Syllabics\":u=>u>=5120&&u<=5759,Khmer:u=>u>=6016&&u<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":u=>u>=6320&&u<=6399,\"General Punctuation\":u=>u>=8192&&u<=8303,\"Letterlike Symbols\":u=>u>=8448&&u<=8527,\"Number Forms\":u=>u>=8528&&u<=8591,\"Miscellaneous Technical\":u=>u>=8960&&u<=9215,\"Control Pictures\":u=>u>=9216&&u<=9279,\"Optical Character Recognition\":u=>u>=9280&&u<=9311,\"Enclosed Alphanumerics\":u=>u>=9312&&u<=9471,\"Geometric Shapes\":u=>u>=9632&&u<=9727,\"Miscellaneous Symbols\":u=>u>=9728&&u<=9983,\"Miscellaneous Symbols and Arrows\":u=>u>=11008&&u<=11263,\"CJK Radicals Supplement\":u=>u>=11904&&u<=12031,\"Kangxi Radicals\":u=>u>=12032&&u<=12255,\"Ideographic Description Characters\":u=>u>=12272&&u<=12287,\"CJK Symbols and Punctuation\":u=>u>=12288&&u<=12351,Hiragana:u=>u>=12352&&u<=12447,Katakana:u=>u>=12448&&u<=12543,Bopomofo:u=>u>=12544&&u<=12591,\"Hangul Compatibility Jamo\":u=>u>=12592&&u<=12687,Kanbun:u=>u>=12688&&u<=12703,\"Bopomofo Extended\":u=>u>=12704&&u<=12735,\"CJK Strokes\":u=>u>=12736&&u<=12783,\"Katakana Phonetic Extensions\":u=>u>=12784&&u<=12799,\"Enclosed CJK Letters and Months\":u=>u>=12800&&u<=13055,\"CJK Compatibility\":u=>u>=13056&&u<=13311,\"CJK Unified Ideographs Extension A\":u=>u>=13312&&u<=19903,\"Yijing Hexagram Symbols\":u=>u>=19904&&u<=19967,\"CJK Unified Ideographs\":u=>u>=19968&&u<=40959,\"Yi Syllables\":u=>u>=40960&&u<=42127,\"Yi Radicals\":u=>u>=42128&&u<=42191,\"Hangul Jamo Extended-A\":u=>u>=43360&&u<=43391,\"Hangul Syllables\":u=>u>=44032&&u<=55215,\"Hangul Jamo Extended-B\":u=>u>=55216&&u<=55295,\"Private Use Area\":u=>u>=57344&&u<=63743,\"CJK Compatibility Ideographs\":u=>u>=63744&&u<=64255,\"Arabic Presentation Forms-A\":u=>u>=64336&&u<=65023,\"Vertical Forms\":u=>u>=65040&&u<=65055,\"CJK Compatibility Forms\":u=>u>=65072&&u<=65103,\"Small Form Variants\":u=>u>=65104&&u<=65135,\"Arabic Presentation Forms-B\":u=>u>=65136&&u<=65279,\"Halfwidth and Fullwidth Forms\":u=>u>=65280&&u<=65519};function o0(u){for(let a of u)if(dh(a.charCodeAt(0)))return!0;return!1}function a0(u){for(let a of u)if(!zx(a.charCodeAt(0)))return!1;return!0}function zx(u){return!(Oe.Arabic(u)||Oe[\"Arabic Supplement\"](u)||Oe[\"Arabic Extended-A\"](u)||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u))}function dh(u){return!(u!==746&&u!==747&&(u<4352||!(Oe[\"Bopomofo Extended\"](u)||Oe.Bopomofo(u)||Oe[\"CJK Compatibility Forms\"](u)&&!(u>=65097&&u<=65103)||Oe[\"CJK Compatibility Ideographs\"](u)||Oe[\"CJK Compatibility\"](u)||Oe[\"CJK Radicals Supplement\"](u)||Oe[\"CJK Strokes\"](u)||!(!Oe[\"CJK Symbols and Punctuation\"](u)||u>=12296&&u<=12305||u>=12308&&u<=12319||u===12336)||Oe[\"CJK Unified Ideographs Extension A\"](u)||Oe[\"CJK Unified Ideographs\"](u)||Oe[\"Enclosed CJK Letters and Months\"](u)||Oe[\"Hangul Compatibility Jamo\"](u)||Oe[\"Hangul Jamo Extended-A\"](u)||Oe[\"Hangul Jamo Extended-B\"](u)||Oe[\"Hangul Jamo\"](u)||Oe[\"Hangul Syllables\"](u)||Oe.Hiragana(u)||Oe[\"Ideographic Description Characters\"](u)||Oe.Kanbun(u)||Oe[\"Kangxi Radicals\"](u)||Oe[\"Katakana Phonetic Extensions\"](u)||Oe.Katakana(u)&&u!==12540||!(!Oe[\"Halfwidth and Fullwidth Forms\"](u)||u===65288||u===65289||u===65293||u>=65306&&u<=65310||u===65339||u===65341||u===65343||u>=65371&&u<=65503||u===65507||u>=65512&&u<=65519)||!(!Oe[\"Small Form Variants\"](u)||u>=65112&&u<=65118||u>=65123&&u<=65126)||Oe[\"Unified Canadian Aboriginal Syllabics\"](u)||Oe[\"Unified Canadian Aboriginal Syllabics Extended\"](u)||Oe[\"Vertical Forms\"](u)||Oe[\"Yijing Hexagram Symbols\"](u)||Oe[\"Yi Syllables\"](u)||Oe[\"Yi Radicals\"](u))))}function y_(u){return!(dh(u)||function(a){return!!(Oe[\"Latin-1 Supplement\"](a)&&(a===167||a===169||a===174||a===177||a===188||a===189||a===190||a===215||a===247)||Oe[\"General Punctuation\"](a)&&(a===8214||a===8224||a===8225||a===8240||a===8241||a===8251||a===8252||a===8258||a===8263||a===8264||a===8265||a===8273)||Oe[\"Letterlike Symbols\"](a)||Oe[\"Number Forms\"](a)||Oe[\"Miscellaneous Technical\"](a)&&(a>=8960&&a<=8967||a>=8972&&a<=8991||a>=8996&&a<=9e3||a===9003||a>=9085&&a<=9114||a>=9150&&a<=9165||a===9167||a>=9169&&a<=9179||a>=9186&&a<=9215)||Oe[\"Control Pictures\"](a)&&a!==9251||Oe[\"Optical Character Recognition\"](a)||Oe[\"Enclosed Alphanumerics\"](a)||Oe[\"Geometric Shapes\"](a)||Oe[\"Miscellaneous Symbols\"](a)&&!(a>=9754&&a<=9759)||Oe[\"Miscellaneous Symbols and Arrows\"](a)&&(a>=11026&&a<=11055||a>=11088&&a<=11097||a>=11192&&a<=11243)||Oe[\"CJK Symbols and Punctuation\"](a)||Oe.Katakana(a)||Oe[\"Private Use Area\"](a)||Oe[\"CJK Compatibility Forms\"](a)||Oe[\"Small Form Variants\"](a)||Oe[\"Halfwidth and Fullwidth Forms\"](a)||a===8734||a===8756||a===8757||a>=9984&&a<=10087||a>=10102&&a<=10131||a===65532||a===65533)}(u))}function l0(u){return u>=1424&&u<=2303||Oe[\"Arabic Presentation Forms-A\"](u)||Oe[\"Arabic Presentation Forms-B\"](u)}function c0(u,a){return!(!a&&l0(u)||u>=2304&&u<=3583||u>=3840&&u<=4255||Oe.Khmer(u))}function bf(u){for(let a of u)if(l0(a.charCodeAt(0)))return!0;return!1}let u0=\"deferred\",iA=\"loading\",nA=\"loaded\",ph=null,us=\"unavailable\",_u=null,Bc=function(u){u&&typeof u==\"string\"&&u.indexOf(\"NetworkError\")>-1&&(us=\"error\"),ph&&ph(u)};function h0(){Od.fire(new as(\"pluginStateChange\",{pluginStatus:us,pluginURL:_u}))}let Od=new Nl,f0=function(){return us},v_=function(){if(us!==u0||!_u)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");us=iA,h0(),_u&&cl({url:_u},u=>{u?Bc(u):(us=nA,h0())})},ua={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>us===nA||ua.applyArabicShaping!=null,isLoading:()=>us===iA,setState(u){if(!Li())throw new Error(\"Cannot set the state of the rtl-text-plugin when not in the web-worker context\");us=u.pluginStatus,_u=u.pluginURL},isParsed(){if(!Li())throw new Error(\"rtl-text-plugin is only parsed on the worker-threads\");return ua.applyArabicShaping!=null&&ua.processBidirectionalText!=null&&ua.processStyledBidirectionalText!=null},getPluginURL(){if(!Li())throw new Error(\"rtl-text-plugin url can only be queried from the worker threads\");return _u}};class un{constructor(a,h){this.zoom=a,h?(this.now=h.now,this.fadeDuration=h.fadeDuration,this.zoomHistory=h.zoomHistory,this.transition=h.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new __,this.transition={})}isSupportedScript(a){return function(h,A){for(let x of h)if(!c0(x.charCodeAt(0),A))return!1;return!0}(a,ua.isLoaded())}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let a=this.zoom,h=a-Math.floor(a),A=this.crossFadingFactor();return a>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:h+(1-h)*A}:{fromScale:.5,toScale:1,t:1-(1-A)*h}}}class sA{constructor(a,h){this.property=a,this.value=h,this.expression=function(A,x){if(Ji(A))return new Ed(A,x);if(Yp(A)){let E=e0(A,x);if(E.result===\"error\")throw new Error(E.value.map(P=>`${P.key}: ${P.message}`).join(\", \"));return E.value}{let E=A;return x.type===\"color\"&&typeof A==\"string\"?E=ai.parse(A):x.type!==\"padding\"||typeof A!=\"number\"&&!Array.isArray(A)?x.type===\"variableAnchorOffsetCollection\"&&Array.isArray(A)&&(E=Go.parse(A)):E=Dn.parse(A),{kind:\"constant\",evaluate:()=>E}}}(h===void 0?a.specification.default:h,a.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(a,h,A){return this.property.possiblyEvaluate(this,a,h,A)}}class d0{constructor(a){this.property=a,this.value=new sA(a,void 0)}transitioned(a,h){return new x_(this.property,this.value,h,kt({},a.transition,this.transition),a.now)}untransitioned(){return new x_(this.property,this.value,null,{},0)}}class Ah{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitionablePropertyValues)}getValue(a){return ue(this._values[a].value.value)}setValue(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].value=new sA(this._values[a].property,h===null?void 0:ue(h))}getTransition(a){return ue(this._values[a].transition)}setTransition(a,h){Object.prototype.hasOwnProperty.call(this._values,a)||(this._values[a]=new d0(this._values[a].property)),this._values[a].transition=ue(h)||void 0}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A);let x=this.getTransition(h);x!==void 0&&(a[`${h}-transition`]=x)}return a}transitioned(a,h){let A=new b_(this._properties);for(let x of Object.keys(this._values))A._values[x]=this._values[x].transitioned(a,h._values[x]);return A}untransitioned(){let a=new b_(this._properties);for(let h of Object.keys(this._values))a._values[h]=this._values[h].untransitioned();return a}}class x_{constructor(a,h,A,x,E){this.property=a,this.value=h,this.begin=E+x.delay||0,this.end=this.begin+x.duration||0,a.specification.transition&&(x.delay||x.duration)&&(this.prior=A)}possiblyEvaluate(a,h,A){let x=a.now||0,E=this.value.possiblyEvaluate(a,h,A),P=this.prior;if(P){if(x>this.end)return this.prior=null,E;if(this.value.isDataDriven())return this.prior=null,E;if(x=1)return 1;let V=F*F,q=V*F;return 4*(F<.5?q:3*(F-V)+q-.75)}(D))}}return E}}class b_{constructor(a){this._properties=a,this._values=Object.create(a.defaultTransitioningPropertyValues)}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}hasTransition(){for(let a of Object.keys(this._values))if(this._values[a].prior)return!0;return!1}}class Nx{constructor(a){this._properties=a,this._values=Object.create(a.defaultPropertyValues)}hasValue(a){return this._values[a].value!==void 0}getValue(a){return ue(this._values[a].value)}setValue(a,h){this._values[a]=new sA(this._values[a].property,h===null?void 0:ue(h))}serialize(){let a={};for(let h of Object.keys(this._values)){let A=this.getValue(h);A!==void 0&&(a[h]=A)}return a}possiblyEvaluate(a,h,A){let x=new oA(this._properties);for(let E of Object.keys(this._values))x._values[E]=this._values[E].possiblyEvaluate(a,h,A);return x}}class Mo{constructor(a,h,A){this.property=a,this.value=h,this.parameters=A}isConstant(){return this.value.kind===\"constant\"}constantOr(a){return this.value.kind===\"constant\"?this.value.value:a}evaluate(a,h,A,x){return this.property.evaluate(this.value,this.parameters,a,h,A,x)}}class oA{constructor(a){this._properties=a,this._values=Object.create(a.defaultPossiblyEvaluatedValues)}get(a){return this._values[a]}}class nr{constructor(a){this.specification=a}possiblyEvaluate(a,h){if(a.isDataDriven())throw new Error(\"Value should not be data driven\");return a.expression.evaluate(h)}interpolate(a,h,A){let x=Da[this.specification.type];return x?x(a,h,A):a}}class dr{constructor(a,h){this.specification=a,this.overrides=h}possiblyEvaluate(a,h,A,x){return new Mo(this,a.expression.kind===\"constant\"||a.expression.kind===\"camera\"?{kind:\"constant\",value:a.expression.evaluate(h,null,{},A,x)}:a.expression,h)}interpolate(a,h,A){if(a.value.kind!==\"constant\"||h.value.kind!==\"constant\")return a;if(a.value.value===void 0||h.value.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},a.parameters);let x=Da[this.specification.type];if(x){let E=x(a.value.value,h.value.value,A);return new Mo(this,{kind:\"constant\",value:E},a.parameters)}return a}evaluate(a,h,A,x,E,P){return a.kind===\"constant\"?a.value:a.evaluate(h,A,x,E,P)}}class wf extends dr{possiblyEvaluate(a,h,A,x){if(a.value===void 0)return new Mo(this,{kind:\"constant\",value:void 0},h);if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x),P=a.property.specification.type===\"resolvedImage\"&&typeof E!=\"string\"?E.name:E,D=this._calculate(P,P,P,h);return new Mo(this,{kind:\"constant\",value:D},h)}if(a.expression.kind===\"camera\"){let E=this._calculate(a.expression.evaluate({zoom:h.zoom-1}),a.expression.evaluate({zoom:h.zoom}),a.expression.evaluate({zoom:h.zoom+1}),h);return new Mo(this,{kind:\"constant\",value:E},h)}return new Mo(this,a.expression,h)}evaluate(a,h,A,x,E,P){if(a.kind===\"source\"){let D=a.evaluate(h,A,x,E,P);return this._calculate(D,D,D,h)}return a.kind===\"composite\"?this._calculate(a.evaluate({zoom:Math.floor(h.zoom)-1},A,x),a.evaluate({zoom:Math.floor(h.zoom)},A,x),a.evaluate({zoom:Math.floor(h.zoom)+1},A,x),h):a.value}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class aA{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){if(a.value!==void 0){if(a.expression.kind===\"constant\"){let E=a.expression.evaluate(h,null,{},A,x);return this._calculate(E,E,E,h)}return this._calculate(a.expression.evaluate(new un(Math.floor(h.zoom-1),h)),a.expression.evaluate(new un(Math.floor(h.zoom),h)),a.expression.evaluate(new un(Math.floor(h.zoom+1),h)),h)}}_calculate(a,h,A,x){return x.zoom>x.zoomHistory.lastIntegerZoom?{from:a,to:h}:{from:A,to:h}}interpolate(a){return a}}class Bd{constructor(a){this.specification=a}possiblyEvaluate(a,h,A,x){return!!a.expression.evaluate(h,null,{},A,x)}interpolate(){return!1}}class Hn{constructor(a){this.properties=a,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let h in a){let A=a[h];A.specification.overridable&&this.overridableProperties.push(h);let x=this.defaultPropertyValues[h]=new sA(A,void 0),E=this.defaultTransitionablePropertyValues[h]=new d0(A);this.defaultTransitioningPropertyValues[h]=E.untransitioned(),this.defaultPossiblyEvaluatedValues[h]=x.possiblyEvaluate({})}}}Ge(\"DataDrivenProperty\",dr),Ge(\"DataConstantProperty\",nr),Ge(\"CrossFadedDataDrivenProperty\",wf),Ge(\"CrossFadedProperty\",aA),Ge(\"ColorRampProperty\",Bd);let uo=\"-transition\";class ji extends Nl{constructor(a,h){if(super(),this.id=a.id,this.type=a.type,this._featureFilter={filter:()=>!0,needGeometry:!1},a.type!==\"custom\"&&(this.metadata=a.metadata,this.minzoom=a.minzoom,this.maxzoom=a.maxzoom,a.type!==\"background\"&&(this.source=a.source,this.sourceLayer=a[\"source-layer\"],this.filter=a.filter),h.layout&&(this._unevaluatedLayout=new Nx(h.layout)),h.paint)){this._transitionablePaint=new Ah(h.paint);for(let A in a.paint)this.setPaintProperty(A,a.paint[A],{validate:!1});for(let A in a.layout)this.setLayoutProperty(A,a.layout[A],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new oA(h.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(a){return a===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(a)}setLayoutProperty(a,h,A={}){h!=null&&this._validate(s0,`layers.${this.id}.layout.${a}`,a,h,A)||(a!==\"visibility\"?this._unevaluatedLayout.setValue(a,h):this.visibility=h)}getPaintProperty(a){return a.endsWith(uo)?this._transitionablePaint.getTransition(a.slice(0,-11)):this._transitionablePaint.getValue(a)}setPaintProperty(a,h,A={}){if(h!=null&&this._validate(rA,`layers.${this.id}.paint.${a}`,a,h,A))return!1;if(a.endsWith(uo))return this._transitionablePaint.setTransition(a.slice(0,-11),h||void 0),!1;{let x=this._transitionablePaint._values[a],E=x.property.specification[\"property-type\"]===\"cross-faded-data-driven\",P=x.value.isDataDriven(),D=x.value;this._transitionablePaint.setValue(a,h),this._handleSpecialPaintPropertyUpdate(a);let F=this._transitionablePaint._values[a].value;return F.isDataDriven()||P||E||this._handleOverridablePaintPropertyUpdate(a,D,F)}}_handleSpecialPaintPropertyUpdate(a){}_handleOverridablePaintPropertyUpdate(a,h,A){return!1}isHidden(a){return!!(this.minzoom&&a=this.maxzoom)||this.visibility===\"none\"}updateTransitions(a){this._transitioningPaint=this._transitionablePaint.transitioned(a,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(a,h){a.getCrossfadeParameters&&(this._crossfadeParameters=a.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(a,void 0,h)),this.paint=this._transitioningPaint.possiblyEvaluate(a,void 0,h)}serialize(){let a={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(a.layout=a.layout||{},a.layout.visibility=this.visibility),le(a,(h,A)=>!(h===void 0||A===\"layout\"&&!Object.keys(h).length||A===\"paint\"&&!Object.keys(h).length))}_validate(a,h,A,x,E={}){return(!E||E.validate!==!1)&&fh(this,a.call(za,{key:h,layerType:this.type,objectKey:A,value:x,styleSpec:ee,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let a in this.paint._values){let h=this.paint.get(a);if(h instanceof Mo&&_f(h.property.specification)&&(h.value.kind===\"source\"||h.value.kind===\"composite\")&&h.value.isStateDependent)return!0}return!1}}let w_={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class mh{constructor(a,h){this._structArray=a,this._pos1=h*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class kn{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(a,h){return a._trim(),h&&(a.isTransferred=!0,h.push(a.arrayBuffer)),{length:a.length,arrayBuffer:a.arrayBuffer}}static deserialize(a){let h=Object.create(this.prototype);return h.arrayBuffer=a.arrayBuffer,h.length=a.length,h.capacity=a.arrayBuffer.byteLength/h.bytesPerElement,h._refreshViews(),h}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(a){this.reserve(a),this.length=a}reserve(a){if(a>this.capacity){this.capacity=Math.max(a,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let h=this.uint8;this._refreshViews(),h&&this.uint8.set(h)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function wn(u,a=1){let h=0,A=0;return{members:u.map(x=>{let E=w_[x.type].BYTES_PER_ELEMENT,P=h=Sf(h,Math.max(a,E)),D=x.components||1;return A=Math.max(A,E),h+=E*D,{name:x.name,type:x.type,components:D,offset:P}}),size:Sf(h,Math.max(A,a)),alignment:a}}function Sf(u,a){return Math.ceil(u/a)*a}class Es extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.int16[x+0]=h,this.int16[x+1]=A,a}}Es.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2i4\",Es);class gh extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.int16[E+0]=h,this.int16[E+1]=A,this.int16[E+2]=x,a}}gh.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3i6\",gh);class Wo extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.int16[P+0]=h,this.int16[P+1]=A,this.int16[P+2]=x,this.int16[P+3]=E,a}}Wo.prototype.bytesPerElement=8,Ge(\"StructArrayLayout4i8\",Wo);class p0 extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}p0.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i4i12\",p0);class Fd extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=4*a,V=8*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.uint8[V+4]=x,this.uint8[V+5]=E,this.uint8[V+6]=P,this.uint8[V+7]=D,a}}Fd.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2i4ub8\",Fd);class Tf extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.float32[x+0]=h,this.float32[x+1]=A,a}}Tf.prototype.bytesPerElement=8,Ge(\"StructArrayLayout2f8\",Tf);class Ho extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q){let X=this.length;return this.resize(X+1),this.emplace(X,a,h,A,x,E,P,D,F,V,q)}emplace(a,h,A,x,E,P,D,F,V,q,X){let rt=10*a;return this.uint16[rt+0]=h,this.uint16[rt+1]=A,this.uint16[rt+2]=x,this.uint16[rt+3]=E,this.uint16[rt+4]=P,this.uint16[rt+5]=D,this.uint16[rt+6]=F,this.uint16[rt+7]=V,this.uint16[rt+8]=q,this.uint16[rt+9]=X,a}}Ho.prototype.bytesPerElement=20,Ge(\"StructArrayLayout10ui20\",Ho);class lA extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt){let at=this.length;return this.resize(at+1),this.emplace(at,a,h,A,x,E,P,D,F,V,q,X,rt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at){let ct=12*a;return this.int16[ct+0]=h,this.int16[ct+1]=A,this.int16[ct+2]=x,this.int16[ct+3]=E,this.uint16[ct+4]=P,this.uint16[ct+5]=D,this.uint16[ct+6]=F,this.uint16[ct+7]=V,this.int16[ct+8]=q,this.int16[ct+9]=X,this.int16[ct+10]=rt,this.int16[ct+11]=at,a}}lA.prototype.bytesPerElement=24,Ge(\"StructArrayLayout4i4ui4i24\",lA);class bi extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.float32[E+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}bi.prototype.bytesPerElement=12,Ge(\"StructArrayLayout3f12\",bi);class T extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint32[1*a+0]=h,a}}T.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1ul4\",T);class l extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V){let q=this.length;return this.resize(q+1),this.emplace(q,a,h,A,x,E,P,D,F,V)}emplace(a,h,A,x,E,P,D,F,V,q){let X=10*a,rt=5*a;return this.int16[X+0]=h,this.int16[X+1]=A,this.int16[X+2]=x,this.int16[X+3]=E,this.int16[X+4]=P,this.int16[X+5]=D,this.uint32[rt+3]=F,this.uint16[X+8]=V,this.uint16[X+9]=q,a}}l.prototype.bytesPerElement=20,Ge(\"StructArrayLayout6i1ul2ui20\",l);class d extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P){let D=this.length;return this.resize(D+1),this.emplace(D,a,h,A,x,E,P)}emplace(a,h,A,x,E,P,D){let F=6*a;return this.int16[F+0]=h,this.int16[F+1]=A,this.int16[F+2]=x,this.int16[F+3]=E,this.int16[F+4]=P,this.int16[F+5]=D,a}}d.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2i2i2i12\",d);class v extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E){let P=this.length;return this.resize(P+1),this.emplace(P,a,h,A,x,E)}emplace(a,h,A,x,E,P){let D=4*a,F=8*a;return this.float32[D+0]=h,this.float32[D+1]=A,this.float32[D+2]=x,this.int16[F+6]=E,this.int16[F+7]=P,a}}v.prototype.bytesPerElement=16,Ge(\"StructArrayLayout2f1f2i16\",v);class b extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=12*a,D=3*a;return this.uint8[P+0]=h,this.uint8[P+1]=A,this.float32[D+1]=x,this.float32[D+2]=E,a}}b.prototype.bytesPerElement=12,Ge(\"StructArrayLayout2ub2f12\",b);class M extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[E+0]=h,this.uint16[E+1]=A,this.uint16[E+2]=x,a}}M.prototype.bytesPerElement=6,Ge(\"StructArrayLayout3ui6\",M);class O extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt){let jt=this.length;return this.resize(jt+1),this.emplace(jt,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt){let Rt=24*a,Gt=12*a,Yt=48*a;return this.int16[Rt+0]=h,this.int16[Rt+1]=A,this.uint16[Rt+2]=x,this.uint16[Rt+3]=E,this.uint32[Gt+2]=P,this.uint32[Gt+3]=D,this.uint32[Gt+4]=F,this.uint16[Rt+10]=V,this.uint16[Rt+11]=q,this.uint16[Rt+12]=X,this.float32[Gt+7]=rt,this.float32[Gt+8]=at,this.uint8[Yt+36]=ct,this.uint8[Yt+37]=mt,this.uint8[Yt+38]=bt,this.uint32[Gt+10]=Pt,this.int16[Rt+22]=jt,a}}O.prototype.bytesPerElement=48,Ge(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",O);class B extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye){let Ie=this.length;return this.resize(Ie+1),this.emplace(Ie,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye)}emplace(a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt,bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir,Fe,Re,Me,Ye,Ie){let Ae=32*a,hr=16*a;return this.int16[Ae+0]=h,this.int16[Ae+1]=A,this.int16[Ae+2]=x,this.int16[Ae+3]=E,this.int16[Ae+4]=P,this.int16[Ae+5]=D,this.int16[Ae+6]=F,this.int16[Ae+7]=V,this.uint16[Ae+8]=q,this.uint16[Ae+9]=X,this.uint16[Ae+10]=rt,this.uint16[Ae+11]=at,this.uint16[Ae+12]=ct,this.uint16[Ae+13]=mt,this.uint16[Ae+14]=bt,this.uint16[Ae+15]=Pt,this.uint16[Ae+16]=jt,this.uint16[Ae+17]=Rt,this.uint16[Ae+18]=Gt,this.uint16[Ae+19]=Yt,this.uint16[Ae+20]=ce,this.uint16[Ae+21]=Ne,this.uint16[Ae+22]=ir,this.uint32[hr+12]=Fe,this.float32[hr+13]=Re,this.float32[hr+14]=Me,this.uint16[Ae+30]=Ye,this.uint16[Ae+31]=Ie,a}}B.prototype.bytesPerElement=64,Ge(\"StructArrayLayout8i15ui1ul2f2ui64\",B);class U extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.float32[1*a+0]=h,a}}U.prototype.bytesPerElement=4,Ge(\"StructArrayLayout1f4\",U);class W extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=3*a;return this.uint16[6*a+0]=h,this.float32[E+1]=A,this.float32[E+2]=x,a}}W.prototype.bytesPerElement=12,Ge(\"StructArrayLayout1ui2f12\",W);class Z extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h,A){let x=this.length;return this.resize(x+1),this.emplace(x,a,h,A)}emplace(a,h,A,x){let E=4*a;return this.uint32[2*a+0]=h,this.uint16[E+2]=A,this.uint16[E+3]=x,a}}Z.prototype.bytesPerElement=8,Ge(\"StructArrayLayout1ul2ui8\",Z);class $ extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a,h){let A=this.length;return this.resize(A+1),this.emplace(A,a,h)}emplace(a,h,A){let x=2*a;return this.uint16[x+0]=h,this.uint16[x+1]=A,a}}$.prototype.bytesPerElement=4,Ge(\"StructArrayLayout2ui4\",$);class st extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(a){let h=this.length;return this.resize(h+1),this.emplace(h,a)}emplace(a,h){return this.uint16[1*a+0]=h,a}}st.prototype.bytesPerElement=2,Ge(\"StructArrayLayout1ui2\",st);class At extends kn{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(a,h,A,x){let E=this.length;return this.resize(E+1),this.emplace(E,a,h,A,x)}emplace(a,h,A,x,E){let P=4*a;return this.float32[P+0]=h,this.float32[P+1]=A,this.float32[P+2]=x,this.float32[P+3]=E,a}}At.prototype.bytesPerElement=16,Ge(\"StructArrayLayout4f16\",At);class pt extends mh{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new w(this.anchorPointX,this.anchorPointY)}}pt.prototype.size=20;class yt extends l{get(a){return new pt(this,a)}}Ge(\"CollisionBoxArray\",yt);class dt extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(a){this._structArray.uint8[this._pos1+37]=a}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(a){this._structArray.uint8[this._pos1+38]=a}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(a){this._structArray.uint32[this._pos4+10]=a}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}dt.prototype.size=48;class Ft extends O{get(a){return new dt(this,a)}}Ge(\"PlacedSymbolArray\",Ft);class Ht extends mh{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(a){this._structArray.uint32[this._pos4+12]=a}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ht.prototype.size=64;class St extends B{get(a){return new Ht(this,a)}}Ge(\"SymbolInstanceArray\",St);class Bt extends U{getoffsetX(a){return this.float32[1*a+0]}}Ge(\"GlyphOffsetArray\",Bt);class Qt extends gh{getx(a){return this.int16[3*a+0]}gety(a){return this.int16[3*a+1]}gettileUnitDistanceFromAnchor(a){return this.int16[3*a+2]}}Ge(\"SymbolLineVertexArray\",Qt);class $t extends mh{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}$t.prototype.size=12;class oe extends W{get(a){return new $t(this,a)}}Ge(\"TextAnchorOffsetArray\",oe);class pe extends mh{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}pe.prototype.size=8;class he extends Z{get(a){return new pe(this,a)}}Ge(\"FeatureIndexArray\",he);class be extends Es{}class Ze extends Es{}class Kr extends Es{}class Ee extends p0{}class pr extends Fd{}class tr extends Tf{}class Gi extends Ho{}class Jr extends lA{}class Vr extends bi{}class ei extends T{}class On extends d{}class tn extends b{}class Gs extends M{}class hs extends ${}let Bn=wn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:qo}=Bn;class jr{constructor(a=[]){this.segments=a}prepareSegment(a,h,A,x){let E=this.segments[this.segments.length-1];return a>jr.MAX_VERTEX_ARRAY_LENGTH&&Ke(`Max vertices per segment is ${jr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${a}`),(!E||E.vertexLength+a>jr.MAX_VERTEX_ARRAY_LENGTH||E.sortKey!==x)&&(E={vertexOffset:h.length,primitiveOffset:A.length,vertexLength:0,primitiveLength:0},x!==void 0&&(E.sortKey=x),this.segments.push(E)),E}get(){return this.segments}destroy(){for(let a of this.segments)for(let h in a.vaos)a.vaos[h].destroy()}static simpleSegment(a,h,A,x){return new jr([{vertexOffset:a,primitiveOffset:h,vertexLength:A,primitiveLength:x,vaos:{},sortKey:0}])}}function ql(u,a){return 256*(u=ut(Math.floor(u),0,255))+ut(Math.floor(a),0,255)}jr.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Ge(\"SegmentVector\",jr);let Zl=wn([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var yu={exports:{}},vu={exports:{}};vu.exports=function(u,a){var h,A,x,E,P,D,F,V;for(A=u.length-(h=3&u.length),x=a,P=3432918353,D=461845907,V=0;V>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295)<<13|x>>>19))+((5*(x>>>16)&65535)<<16)&4294967295))+((58964+(E>>>16)&65535)<<16);switch(F=0,h){case 3:F^=(255&u.charCodeAt(V+2))<<16;case 2:F^=(255&u.charCodeAt(V+1))<<8;case 1:x^=F=(65535&(F=(F=(65535&(F^=255&u.charCodeAt(V)))*P+(((F>>>16)*P&65535)<<16)&4294967295)<<15|F>>>17))*D+(((F>>>16)*D&65535)<<16)&4294967295}return x^=u.length,x=2246822507*(65535&(x^=x>>>16))+((2246822507*(x>>>16)&65535)<<16)&4294967295,x=3266489909*(65535&(x^=x>>>13))+((3266489909*(x>>>16)&65535)<<16)&4294967295,(x^=x>>>16)>>>0};var _h=vu.exports,Ws={exports:{}};Ws.exports=function(u,a){for(var h,A=u.length,x=a^A,E=0;A>=4;)h=1540483477*(65535&(h=255&u.charCodeAt(E)|(255&u.charCodeAt(++E))<<8|(255&u.charCodeAt(++E))<<16|(255&u.charCodeAt(++E))<<24))+((1540483477*(h>>>16)&65535)<<16),x=1540483477*(65535&x)+((1540483477*(x>>>16)&65535)<<16)^(h=1540483477*(65535&(h^=h>>>24))+((1540483477*(h>>>16)&65535)<<16)),A-=4,++E;switch(A){case 3:x^=(255&u.charCodeAt(E+2))<<16;case 2:x^=(255&u.charCodeAt(E+1))<<8;case 1:x=1540483477*(65535&(x^=255&u.charCodeAt(E)))+((1540483477*(x>>>16)&65535)<<16)}return x=1540483477*(65535&(x^=x>>>13))+((1540483477*(x>>>16)&65535)<<16),(x^=x>>>15)>>>0};var Ps=_h,Eo=Ws.exports;yu.exports=Ps,yu.exports.murmur3=Ps,yu.exports.murmur2=Eo;var yh=c(yu.exports);class Fn{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(a,h,A,x){this.ids.push(fs(a)),this.positions.push(h,A,x)}getPositions(a){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let h=fs(a),A=0,x=this.ids.length-1;for(;A>1;this.ids[P]>=h?x=P:A=P+1}let E=[];for(;this.ids[A]===h;)E.push({index:this.positions[3*A],start:this.positions[3*A+1],end:this.positions[3*A+2]}),A++;return E}static serialize(a,h){let A=new Float64Array(a.ids),x=new Uint32Array(a.positions);return Zo(A,x,0,A.length-1),h&&h.push(A.buffer,x.buffer),{ids:A,positions:x}}static deserialize(a){let h=new Fn;return h.ids=a.ids,h.positions=a.positions,h.indexed=!0,h}}function fs(u){let a=+u;return!isNaN(a)&&a<=Number.MAX_SAFE_INTEGER?a:yh(String(u))}function Zo(u,a,h,A){for(;h>1],E=h-1,P=A+1;for(;;){do E++;while(u[E]x);if(E>=P)break;_n(u,E,P),_n(a,3*E,3*P),_n(a,3*E+1,3*P+1),_n(a,3*E+2,3*P+2)}P-h`u_${x}`),this.type=A}setUniform(a,h,A){a.set(A.constantOr(this.value))}getBinding(a,h,A){return this.type===\"color\"?new S_(a,h):new Gr(a,h)}}class Yo{constructor(a,h){this.uniformNames=h.map(A=>`u_${A}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(a,h){this.pixelRatioFrom=h.pixelRatio,this.pixelRatioTo=a.pixelRatio,this.patternFrom=h.tlbr,this.patternTo=a.tlbr}setUniform(a,h,A,x){let E=x===\"u_pattern_to\"?this.patternTo:x===\"u_pattern_from\"?this.patternFrom:x===\"u_pixel_ratio_to\"?this.pixelRatioTo:x===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;E&&a.set(E)}getBinding(a,h,A){return A.substr(0,9)===\"u_pattern\"?new Ua(a,h):new Gr(a,h)}}class me{constructor(a,h,A,x){this.expression=a,this.type=A,this.maxValue=0,this.paintVertexAttributes=h.map(E=>({name:`a_${E}`,type:\"Float32\",components:A===\"color\"?2:1,offset:0})),this.paintVertexArray=new x}populatePaintArray(a,h,A,x,E){let P=this.paintVertexArray.length,D=this.expression.evaluate(new un(0),h,{},x,[],E);this.paintVertexArray.resize(a),this._setPaintValue(P,a,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:0},A,x);this._setPaintValue(a,h,E)}_setPaintValue(a,h,A){if(this.type===\"color\"){let x=cA(A);for(let E=a;E`u_${D}_t`),this.type=A,this.useIntegerZoom=x,this.zoom=E,this.maxValue=0,this.paintVertexAttributes=h.map(D=>({name:`a_${D}`,type:\"Float32\",components:A===\"color\"?4:2,offset:0})),this.paintVertexArray=new P}populatePaintArray(a,h,A,x,E){let P=this.expression.evaluate(new un(this.zoom),h,{},x,[],E),D=this.expression.evaluate(new un(this.zoom+1),h,{},x,[],E),F=this.paintVertexArray.length;this.paintVertexArray.resize(a),this._setPaintValue(F,a,P,D)}updatePaintArray(a,h,A,x){let E=this.expression.evaluate({zoom:this.zoom},A,x),P=this.expression.evaluate({zoom:this.zoom+1},A,x);this._setPaintValue(a,h,E,P)}_setPaintValue(a,h,A,x){if(this.type===\"color\"){let E=cA(A),P=cA(x);for(let D=a;D`#define HAS_UNIFORM_${x}`))}return a}getBinderAttributes(){let a=[];for(let h in this.binders){let A=this.binders[h];if(A instanceof me||A instanceof ke)for(let x=0;x!0){this.programConfigurations={};for(let x of a)this.programConfigurations[x.id]=new Mf(x,h,A);this.needsUpload=!1,this._featureMap=new Fn,this._bufferOffset=0}populatePaintArrays(a,h,A,x,E,P){for(let D in this.programConfigurations)this.programConfigurations[D].populatePaintArrays(a,h,x,E,P);h.id!==void 0&&this._featureMap.add(h.id,A,this._bufferOffset,a),this._bufferOffset=a,this.needsUpload=!0}updatePaintArrays(a,h,A,x){for(let E of A)this.needsUpload=this.programConfigurations[E.id].updatePaintArrays(a,this._featureMap,h,E,x)||this.needsUpload}get(a){return this.programConfigurations[a]}upload(a){if(this.needsUpload){for(let h in this.programConfigurations)this.programConfigurations[h].upload(a);this.needsUpload=!1}}destroy(){for(let a in this.programConfigurations)this.programConfigurations[a].destroy()}}function Fc(u,a){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[u]||[u.replace(`${a}-`,\"\").replace(/-/g,\"_\")]}function Ux(u,a,h){let A={color:{source:Tf,composite:At},number:{source:U,composite:Tf}},x=function(E){return{\"line-pattern\":{source:Gi,composite:Gi},\"fill-pattern\":{source:Gi,composite:Gi},\"fill-extrusion-pattern\":{source:Gi,composite:Gi}}[E]}(u);return x&&x[h]||A[a][h]}Ge(\"ConstantBinder\",Yl),Ge(\"CrossFadedConstantBinder\",Yo),Ge(\"SourceExpressionBinder\",me),Ge(\"CrossFadedCompositeBinder\",ml),Ge(\"CompositeExpressionBinder\",ke),Ge(\"ProgramConfiguration\",Mf,{omit:[\"_buffers\"]}),Ge(\"ProgramConfigurationSet\",Va);let en=8192,p=Math.pow(2,14)-1,m=-p-1;function y(u){let a=en/u.extent,h=u.loadGeometry();for(let A=0;AP.x+1||FP.y+1)&&Ke(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return h}function S(u,a){return{type:u.type,id:u.id,properties:u.properties,geometry:a?y(u):[]}}function C(u,a,h,A,x){u.emplaceBack(2*a+(A+1)/2,2*h+(x+1)/2)}class k{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ze,this.indexArray=new Gs,this.segments=new jr,this.programConfigurations=new Va(a.layers,a.zoom),this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){let x=this.layers[0],E=[],P=null,D=!1;x.type===\"circle\"&&(P=x.layout.get(\"circle-sort-key\"),D=!P.isConstant());for(let{feature:F,id:V,index:q,sourceLayerIndex:X}of a){let rt=this.layers[0]._featureFilter.needGeometry,at=S(F,rt);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),at,A))continue;let ct=D?P.evaluate(at,{},A):void 0,mt={id:V,properties:F.properties,type:F.type,sourceLayerIndex:X,index:q,geometry:rt?at.geometry:y(F),patterns:{},sortKey:ct};E.push(mt)}D&&E.sort((F,V)=>F.sortKey-V.sortKey);for(let F of E){let{geometry:V,index:q,sourceLayerIndex:X}=F,rt=a[q].feature;this.addFeature(F,V,q,A),h.featureIndex.insert(rt,V,q,X,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qo),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(a,h,A,x){for(let E of h)for(let P of E){let D=P.x,F=P.y;if(D<0||D>=en||F<0||F>=en)continue;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,a.sortKey),q=V.vertexLength;C(this.layoutVertexArray,D,F,-1,-1),C(this.layoutVertexArray,D,F,1,-1),C(this.layoutVertexArray,D,F,1,1),C(this.layoutVertexArray,D,F,-1,1),this.indexArray.emplaceBack(q,q+1,q+2),this.indexArray.emplaceBack(q,q+3,q+2),V.vertexLength+=4,V.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,{},x)}}function L(u,a){for(let h=0;h1){if(ot(u,a))return!0;for(let A=0;A1?h:h.sub(a)._mult(x)._add(a))}function re(u,a){let h,A,x,E=!1;for(let P=0;Pa.y!=x.y>a.y&&a.x<(x.x-A.x)*(a.y-A.y)/(x.y-A.y)+A.x&&(E=!E)}return E}function ne(u,a){let h=!1;for(let A=0,x=u.length-1;Aa.y!=P.y>a.y&&a.x<(P.x-E.x)*(a.y-E.y)/(P.y-E.y)+E.x&&(h=!h)}return h}function Le(u,a,h){let A=h[0],x=h[2];if(u.xx.x&&a.x>x.x||u.yx.y&&a.y>x.y)return!1;let E=rr(u,a,h[0]);return E!==rr(u,a,h[1])||E!==rr(u,a,h[2])||E!==rr(u,a,h[3])}function We(u,a,h){let A=a.paint.get(u).value;return A.kind===\"constant\"?A.value:h.programConfigurations.get(a.id).getMaxValue(u)}function te(u){return Math.sqrt(u[0]*u[0]+u[1]*u[1])}function _e(u,a,h,A,x){if(!a[0]&&!a[1])return u;let E=w.convert(a)._mult(x);h===\"viewport\"&&E._rotate(-A);let P=[];for(let D=0;Dyn(bt,mt))}(V,F),at=X?q*D:q;for(let ct of x)for(let mt of ct){let bt=X?mt:yn(mt,F),Pt=at,jt=Pi([],[mt.x,mt.y,0,1],F);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Pt*=jt[3]/P.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Pt*=P.cameraToCenterDistance/jt[3]),z(rt,bt,Pt))return!0}return!1}}function yn(u,a){let h=Pi([],[u.x,u.y,0,1],a);return new w(h[0]/h[3],h[1]/h[3])}class Or extends k{}let zF;Ge(\"HeatmapBucket\",Or,{omit:[\"layers\"]});var VX={get paint(){return zF=zF||new Hn({\"heatmap-radius\":new dr(ee.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new dr(ee.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new nr(ee.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Bd(ee.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new nr(ee.paint_heatmap[\"heatmap-opacity\"])})}};function fC(u,{width:a,height:h},A,x){if(x){if(x instanceof Uint8ClampedArray)x=new Uint8Array(x.buffer);else if(x.length!==a*h*A)throw new RangeError(`mismatched image size. expected: ${x.length} but got: ${a*h*A}`)}else x=new Uint8Array(a*h*A);return u.width=a,u.height=h,u.data=x,u}function NF(u,{width:a,height:h},A){if(a===u.width&&h===u.height)return;let x=fC({},{width:a,height:h},A);dC(u,x,{x:0,y:0},{x:0,y:0},{width:Math.min(u.width,a),height:Math.min(u.height,h)},A),u.width=a,u.height=h,u.data=x.data}function dC(u,a,h,A,x,E){if(x.width===0||x.height===0)return a;if(x.width>u.width||x.height>u.height||h.x>u.width-x.width||h.y>u.height-x.height)throw new RangeError(\"out of range source coordinates for image copy\");if(x.width>a.width||x.height>a.height||A.x>a.width-x.width||A.y>a.height-x.height)throw new RangeError(\"out of range destination coordinates for image copy\");let P=u.data,D=a.data;if(P===D)throw new Error(\"srcData equals dstData, so image is already copied\");for(let F=0;F{a[u.evaluationKey]=F;let V=u.expression.evaluate(a);x.data[P+D+0]=Math.floor(255*V.r/V.a),x.data[P+D+1]=Math.floor(255*V.g/V.a),x.data[P+D+2]=Math.floor(255*V.b/V.a),x.data[P+D+3]=Math.floor(255*V.a)};if(u.clips)for(let P=0,D=0;P80*h){A=E=u[0],x=P=u[1];for(var ct=h;ctE&&(E=D),F>P&&(P=F);V=(V=Math.max(E-A,P-x))!==0?32767/V:0}return jx(rt,at,h,A,x,V,0),at}function jF(u,a,h,A,x){var E,P;if(x===gC(u,a,h,A)>0)for(E=a;E=a;E-=A)P=HF(E,u[E],u[E+1],P);return P&&JS(P,P.next)&&(Wx(P),P=P.next),P}function A0(u,a){if(!u)return u;a||(a=u);var h,A=u;do if(h=!1,A.steiner||!JS(A,A.next)&&ds(A.prev,A,A.next)!==0)A=A.next;else{if(Wx(A),(A=a=A.prev)===A.next)break;h=!0}while(h||A!==a);return a}function jx(u,a,h,A,x,E,P){if(u){!P&&E&&function(q,X,rt,at){var ct=q;do ct.z===0&&(ct.z=AC(ct.x,ct.y,X,rt,at)),ct.prevZ=ct.prev,ct.nextZ=ct.next,ct=ct.next;while(ct!==q);ct.prevZ.nextZ=null,ct.prevZ=null,function(mt){var bt,Pt,jt,Rt,Gt,Yt,ce,Ne,ir=1;do{for(Pt=mt,mt=null,Gt=null,Yt=0;Pt;){for(Yt++,jt=Pt,ce=0,bt=0;bt0||Ne>0&&jt;)ce!==0&&(Ne===0||!jt||Pt.z<=jt.z)?(Rt=Pt,Pt=Pt.nextZ,ce--):(Rt=jt,jt=jt.nextZ,Ne--),Gt?Gt.nextZ=Rt:mt=Rt,Rt.prevZ=Gt,Gt=Rt;Pt=jt}Gt.nextZ=null,ir*=2}while(Yt>1)}(ct)}(u,A,x,E);for(var D,F,V=u;u.prev!==u.next;)if(D=u.prev,F=u.next,E?YX(u,A,x,E):ZX(u))a.push(D.i/h|0),a.push(u.i/h|0),a.push(F.i/h|0),Wx(u),u=F.next,V=F.next;else if((u=F)===V){P?P===1?jx(u=QX(A0(u),a,h),a,h,A,x,E,2):P===2&&$X(u,a,h,A,x,E):jx(A0(u),a,h,A,x,E,1);break}}}function ZX(u){var a=u.prev,h=u,A=u.next;if(ds(a,h,A)>=0)return!1;for(var x=a.x,E=h.x,P=A.x,D=a.y,F=h.y,V=A.y,q=xE?x>P?x:P:E>P?E:P,at=D>F?D>V?D:V:F>V?F:V,ct=A.next;ct!==a;){if(ct.x>=q&&ct.x<=rt&&ct.y>=X&&ct.y<=at&&T_(x,D,E,F,P,V,ct.x,ct.y)&&ds(ct.prev,ct,ct.next)>=0)return!1;ct=ct.next}return!0}function YX(u,a,h,A){var x=u.prev,E=u,P=u.next;if(ds(x,E,P)>=0)return!1;for(var D=x.x,F=E.x,V=P.x,q=x.y,X=E.y,rt=P.y,at=DF?D>V?D:V:F>V?F:V,bt=q>X?q>rt?q:rt:X>rt?X:rt,Pt=AC(at,ct,a,h,A),jt=AC(mt,bt,a,h,A),Rt=u.prevZ,Gt=u.nextZ;Rt&&Rt.z>=Pt&&Gt&&Gt.z<=jt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0||(Rt=Rt.prevZ,Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0))return!1;Gt=Gt.nextZ}for(;Rt&&Rt.z>=Pt;){if(Rt.x>=at&&Rt.x<=mt&&Rt.y>=ct&&Rt.y<=bt&&Rt!==x&&Rt!==P&&T_(D,q,F,X,V,rt,Rt.x,Rt.y)&&ds(Rt.prev,Rt,Rt.next)>=0)return!1;Rt=Rt.prevZ}for(;Gt&&Gt.z<=jt;){if(Gt.x>=at&&Gt.x<=mt&&Gt.y>=ct&&Gt.y<=bt&&Gt!==x&&Gt!==P&&T_(D,q,F,X,V,rt,Gt.x,Gt.y)&&ds(Gt.prev,Gt,Gt.next)>=0)return!1;Gt=Gt.nextZ}return!0}function QX(u,a,h){var A=u;do{var x=A.prev,E=A.next.next;!JS(x,E)&&GF(x,A,A.next,E)&&Gx(x,E)&&Gx(E,x)&&(a.push(x.i/h|0),a.push(A.i/h|0),a.push(E.i/h|0),Wx(A),Wx(A.next),A=u=E),A=A.next}while(A!==u);return A0(A)}function $X(u,a,h,A,x,E){var P=u;do{for(var D=P.next.next;D!==P.prev;){if(P.i!==D.i&&eK(P,D)){var F=WF(P,D);return P=A0(P,P.next),F=A0(F,F.next),jx(P,a,h,A,x,E,0),void jx(F,a,h,A,x,E,0)}D=D.next}P=P.next}while(P!==u)}function XX(u,a){return u.x-a.x}function KX(u,a){var h=function(x,E){var P,D=E,F=x.x,V=x.y,q=-1/0;do{if(V<=D.y&&V>=D.next.y&&D.next.y!==D.y){var X=D.x+(V-D.y)*(D.next.x-D.x)/(D.next.y-D.y);if(X<=F&&X>q&&(q=X,P=D.x=D.x&&D.x>=ct&&F!==D.x&&T_(VP.x||D.x===P.x&&JX(P,D)))&&(P=D,bt=rt)),D=D.next;while(D!==at);return P}(u,a);if(!h)return a;var A=WF(h,u);return A0(A,A.next),A0(h,h.next)}function JX(u,a){return ds(u.prev,u,a.prev)<0&&ds(a.next,u,u.next)<0}function AC(u,a,h,A,x){return(u=1431655765&((u=858993459&((u=252645135&((u=16711935&((u=(u-h)*x|0)|u<<8))|u<<4))|u<<2))|u<<1))|(a=1431655765&((a=858993459&((a=252645135&((a=16711935&((a=(a-A)*x|0)|a<<8))|a<<4))|a<<2))|a<<1))<<1}function tK(u){var a=u,h=u;do(a.x=(u-P)*(E-D)&&(u-P)*(A-D)>=(h-P)*(a-D)&&(h-P)*(E-D)>=(x-P)*(A-D)}function eK(u,a){return u.next.i!==a.i&&u.prev.i!==a.i&&!function(h,A){var x=h;do{if(x.i!==h.i&&x.next.i!==h.i&&x.i!==A.i&&x.next.i!==A.i&&GF(x,x.next,h,A))return!0;x=x.next}while(x!==h);return!1}(u,a)&&(Gx(u,a)&&Gx(a,u)&&function(h,A){var x=h,E=!1,P=(h.x+A.x)/2,D=(h.y+A.y)/2;do x.y>D!=x.next.y>D&&x.next.y!==x.y&&P<(x.next.x-x.x)*(D-x.y)/(x.next.y-x.y)+x.x&&(E=!E),x=x.next;while(x!==h);return E}(u,a)&&(ds(u.prev,u,a.prev)||ds(u,a.prev,a))||JS(u,a)&&ds(u.prev,u,u.next)>0&&ds(a.prev,a,a.next)>0)}function ds(u,a,h){return(a.y-u.y)*(h.x-a.x)-(a.x-u.x)*(h.y-a.y)}function JS(u,a){return u.x===a.x&&u.y===a.y}function GF(u,a,h,A){var x=eT(ds(u,a,h)),E=eT(ds(u,a,A)),P=eT(ds(h,A,u)),D=eT(ds(h,A,a));return x!==E&&P!==D||!(x!==0||!tT(u,h,a))||!(E!==0||!tT(u,A,a))||!(P!==0||!tT(h,u,A))||!(D!==0||!tT(h,a,A))}function tT(u,a,h){return a.x<=Math.max(u.x,h.x)&&a.x>=Math.min(u.x,h.x)&&a.y<=Math.max(u.y,h.y)&&a.y>=Math.min(u.y,h.y)}function eT(u){return u>0?1:u<0?-1:0}function Gx(u,a){return ds(u.prev,u,u.next)<0?ds(u,a,u.next)>=0&&ds(u,u.prev,a)>=0:ds(u,a,u.prev)<0||ds(u,u.next,a)<0}function WF(u,a){var h=new mC(u.i,u.x,u.y),A=new mC(a.i,a.x,a.y),x=u.next,E=a.prev;return u.next=a,a.prev=u,h.next=x,x.prev=h,A.next=h,h.prev=A,E.next=A,A.prev=E,A}function HF(u,a,h,A){var x=new mC(u,a,h);return A?(x.next=A.next,x.prev=A,A.next.prev=x,A.next=x):(x.prev=x,x.next=x),x}function Wx(u){u.next.prev=u.prev,u.prev.next=u.next,u.prevZ&&(u.prevZ.nextZ=u.nextZ),u.nextZ&&(u.nextZ.prevZ=u.prevZ)}function mC(u,a,h){this.i=u,this.x=a,this.y=h,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function gC(u,a,h,A){for(var x=0,E=a,P=h-A;E0&&h.holes.push(A+=u[x-1].length)}return h};var qF=c(pC.exports);function rK(u,a,h,A,x){ZF(u,a,h||0,A||u.length-1,x||iK)}function ZF(u,a,h,A,x){for(;A>h;){if(A-h>600){var E=A-h+1,P=a-h+1,D=Math.log(E),F=.5*Math.exp(2*D/3),V=.5*Math.sqrt(D*F*(E-F)/E)*(P-E/2<0?-1:1);ZF(u,a,Math.max(h,Math.floor(a-P*F/E+V)),Math.min(A,Math.floor(a+(E-P)*F/E+V)),x)}var q=u[a],X=h,rt=A;for(Hx(u,h,a),x(u[A],q)>0&&Hx(u,h,A);X0;)rt--}x(u[h],q)===0?Hx(u,h,rt):Hx(u,++rt,A),rt<=a&&(h=rt+1),a<=rt&&(A=rt-1)}}function Hx(u,a,h){var A=u[a];u[a]=u[h],u[h]=A}function iK(u,a){return ua?1:0}function _C(u,a){let h=u.length;if(h<=1)return[u];let A=[],x,E;for(let P=0;P1)for(let P=0;Ph.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kr,this.indexArray=new Gs,this.indexArray2=new hs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.segments2=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"fill\",this.layers,h);let x=this.layers[0].layout.get(\"fill-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A,h.availableImages):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"fill\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,qX),this.indexBuffer=a.createIndexBuffer(this.indexArray),this.indexBuffer2=a.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(a,h,A,x,E){for(let P of _C(h,500)){let D=0;for(let at of P)D+=at.length;let F=this.segments.prepareSegment(D,this.layoutVertexArray,this.indexArray),V=F.vertexLength,q=[],X=[];for(let at of P){if(at.length===0)continue;at!==P[0]&&X.push(q.length/2);let ct=this.segments2.prepareSegment(at.length,this.layoutVertexArray,this.indexArray2),mt=ct.vertexLength;this.layoutVertexArray.emplaceBack(at[0].x,at[0].y),this.indexArray2.emplaceBack(mt+at.length-1,mt),q.push(at[0].x),q.push(at[0].y);for(let bt=1;bt>3}if(x--,A===1||A===2)E+=u.readSVarint(),P+=u.readSVarint(),A===1&&(a&&D.push(a),a=[]),a.push(new uK(E,P));else{if(A!==7)throw new Error(\"unknown command \"+A);a&&a.push(a[0].clone())}}return a&&D.push(a),D},M_.prototype.bbox=function(){var u=this._pbf;u.pos=this._geometry;for(var a=u.readVarint()+u.pos,h=1,A=0,x=0,E=0,P=1/0,D=-1/0,F=1/0,V=-1/0;u.pos>3}if(A--,h===1||h===2)(x+=u.readSVarint())D&&(D=x),(E+=u.readSVarint())V&&(V=E);else if(h!==7)throw new Error(\"unknown command \"+h)}return[P,F,D,V]},M_.prototype.toGeoJSON=function(u,a,h){var A,x,E=this.extent*Math.pow(2,h),P=this.extent*u,D=this.extent*a,F=this.loadGeometry(),V=M_.types[this.type];function q(at){for(var ct=0;ct>3;x=P===1?A.readString():P===2?A.readFloat():P===3?A.readDouble():P===4?A.readVarint64():P===5?A.readVarint():P===6?A.readSVarint():P===7?A.readBoolean():null}return x}(h))}KF.prototype.feature=function(u){if(u<0||u>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[u];var a=this._pbf.readVarint()+this._pbf.pos;return new dK(this._pbf,a,this.extent,this._keys,this._values)};var AK=XF;function mK(u,a,h){if(u===3){var A=new AK(h,h.readVarint()+h.pos);A.length&&(a[A.name]=A)}}uA.VectorTile=function(u,a){this.layers=u.readFields(mK,{},a)},uA.VectorTileFeature=$F,uA.VectorTileLayer=XF;let gK=uA.VectorTileFeature.types,bC=Math.pow(2,13);function qx(u,a,h,A,x,E,P,D){u.emplaceBack(a,h,2*Math.floor(A*bC)+P,x*bC*2,E*bC*2,Math.round(D))}class wC{constructor(a){this.zoom=a.zoom,this.overscaling=a.overscaling,this.layers=a.layers,this.layerIds=this.layers.map(h=>h.id),this.index=a.index,this.hasPattern=!1,this.layoutVertexArray=new Ee,this.centroidVertexArray=new be,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.features=[],this.hasPattern=yC(\"fill-extrusion\",this.layers,h);for(let{feature:x,id:E,index:P,sourceLayerIndex:D}of a){let F=this.layers[0]._featureFilter.needGeometry,V=S(x,F);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),V,A))continue;let q={id:E,sourceLayerIndex:D,index:P,geometry:F?V.geometry:y(x),properties:x.properties,type:x.type,patterns:{}};this.hasPattern?this.features.push(vC(\"fill-extrusion\",this.layers,q,this.zoom,h)):this.addFeature(q,q.geometry,P,A,{}),h.featureIndex.insert(x,q.geometry,P,D,this.index,!0)}}addFeatures(a,h,A){for(let x of this.features){let{geometry:E}=x;this.addFeature(x,E,x.index,h,A)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,cK),this.centroidVertexBuffer=a.createVertexBuffer(this.centroidVertexArray,lK.members,!0),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(a,h,A,x,E){let P={x:0,y:0,vertexCount:0};for(let D of _C(h,500)){let F=0;for(let ct of D)F+=ct.length;let V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let ct of D){if(ct.length===0||yK(ct))continue;let mt=0;for(let bt=0;bt=1){let jt=ct[bt-1];if(!_K(Pt,jt)){V.vertexLength+4>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let Rt=Pt.sub(jt)._perp()._unit(),Gt=jt.dist(Pt);mt+Gt>32768&&(mt=0),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,Pt.x,Pt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*Pt.x,P.y+=2*Pt.y,P.vertexCount+=2,mt+=Gt,qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,0,mt),qx(this.layoutVertexArray,jt.x,jt.y,Rt.x,Rt.y,0,1,mt),P.x+=2*jt.x,P.y+=2*jt.y,P.vertexCount+=2;let Yt=V.vertexLength;this.indexArray.emplaceBack(Yt,Yt+2,Yt+1),this.indexArray.emplaceBack(Yt+1,Yt+2,Yt+3),V.vertexLength+=4,V.primitiveLength+=2}}}}if(V.vertexLength+F>jr.MAX_VERTEX_ARRAY_LENGTH&&(V=this.segments.prepareSegment(F,this.layoutVertexArray,this.indexArray)),gK[a.type]!==\"Polygon\")continue;let q=[],X=[],rt=V.vertexLength;for(let ct of D)if(ct.length!==0){ct!==D[0]&&X.push(q.length/2);for(let mt=0;mten)||u.y===a.y&&(u.y<0||u.y>en)}function yK(u){return u.every(a=>a.x<0)||u.every(a=>a.x>en)||u.every(a=>a.y<0)||u.every(a=>a.y>en)}let JF;Ge(\"FillExtrusionBucket\",wC,{omit:[\"layers\",\"features\"]});var vK={get paint(){return JF=JF||new Hn({\"fill-extrusion-opacity\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new wf(ee[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new dr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new nr(ee[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class xK extends ji{constructor(a){super(a,vK)}createBucket(a){return new wC(a)}queryRadius(){return te(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(a,h,A,x,E,P,D,F){let V=_e(a,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),P.angle,D),q=this.paint.get(\"fill-extrusion-height\").evaluate(h,A),X=this.paint.get(\"fill-extrusion-base\").evaluate(h,A),rt=function(ct,mt,bt,Pt){let jt=[];for(let Rt of ct){let Gt=[Rt.x,Rt.y,0,1];Pi(Gt,Gt,mt),jt.push(new w(Gt[0]/Gt[3],Gt[1]/Gt[3]))}return jt}(V,F),at=function(ct,mt,bt,Pt){let jt=[],Rt=[],Gt=Pt[8]*mt,Yt=Pt[9]*mt,ce=Pt[10]*mt,Ne=Pt[11]*mt,ir=Pt[8]*bt,Fe=Pt[9]*bt,Re=Pt[10]*bt,Me=Pt[11]*bt;for(let Ye of ct){let Ie=[],Ae=[];for(let hr of Ye){let sr=hr.x,ri=hr.y,Tn=Pt[0]*sr+Pt[4]*ri+Pt[12],Rn=Pt[1]*sr+Pt[5]*ri+Pt[13],qs=Pt[2]*sr+Pt[6]*ri+Pt[14],Ql=Pt[3]*sr+Pt[7]*ri+Pt[15],ja=qs+ce,Is=Ql+Ne,Po=Tn+ir,$o=Rn+Fe,Ga=qs+Re,Wa=Ql+Me,Zs=new w((Tn+Gt)/Is,(Rn+Yt)/Is);Zs.z=ja/Is,Ie.push(Zs);let Ys=new w(Po/Wa,$o/Wa);Ys.z=Ga/Wa,Ae.push(Ys)}jt.push(Ie),Rt.push(Ae)}return[jt,Rt]}(x,X,q,F);return function(ct,mt,bt){let Pt=1/0;H(bt,mt)&&(Pt=t6(bt,mt[0]));for(let jt=0;jth.id),this.index=a.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(h=>{this.gradients[h.id]={}}),this.layoutVertexArray=new pr,this.layoutVertexArray2=new tr,this.indexArray=new Gs,this.programConfigurations=new Va(a.layers,a.zoom),this.segments=new jr,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(h=>h.isStateDependent()).map(h=>h.id)}populate(a,h,A){this.hasPattern=yC(\"line\",this.layers,h);let x=this.layers[0].layout.get(\"line-sort-key\"),E=!x.isConstant(),P=[];for(let{feature:D,id:F,index:V,sourceLayerIndex:q}of a){let X=this.layers[0]._featureFilter.needGeometry,rt=S(D,X);if(!this.layers[0]._featureFilter.filter(new un(this.zoom),rt,A))continue;let at=E?x.evaluate(rt,{},A):void 0,ct={id:F,properties:D.properties,type:D.type,sourceLayerIndex:q,index:V,geometry:X?rt.geometry:y(D),patterns:{},sortKey:at};P.push(ct)}E&&P.sort((D,F)=>D.sortKey-F.sortKey);for(let D of P){let{geometry:F,index:V,sourceLayerIndex:q}=D;if(this.hasPattern){let X=vC(\"line\",this.layers,D,this.zoom,h);this.patternFeatures.push(X)}else this.addFeature(D,F,V,A,{});h.featureIndex.insert(a[V].feature,F,V,q,this.index)}}update(a,h,A){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(a,h,this.stateDependentLayers,A)}addFeatures(a,h,A){for(let x of this.patternFeatures)this.addFeature(x,x.geometry,x.index,h,A)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(a){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=a.createVertexBuffer(this.layoutVertexArray2,TK)),this.layoutVertexBuffer=a.createVertexBuffer(this.layoutVertexArray,wK),this.indexBuffer=a.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(a),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(a){if(a.properties&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(a.properties,\"mapbox_clip_end\"))return{start:+a.properties.mapbox_clip_start,end:+a.properties.mapbox_clip_end}}addFeature(a,h,A,x,E){let P=this.layers[0].layout,D=P.get(\"line-join\").evaluate(a,{}),F=P.get(\"line-cap\"),V=P.get(\"line-miter-limit\"),q=P.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(a);for(let X of h)this.addLine(X,a,D,F,V,q);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,a,A,E,x)}addLine(a,h,A,x,E,P){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let Pt=0;Pt=2&&a[F-1].equals(a[F-2]);)F--;let V=0;for(;V0;if(Ne&&Pt>V){let Me=rt.dist(at);if(Me>2*q){let Ye=rt.sub(rt.sub(at)._mult(q/Me)._round());this.updateDistance(at,Ye),this.addCurrentVertex(Ye,mt,0,0,X),at=Ye}}let Fe=at&&ct,Re=Fe?A:D?\"butt\":x;if(Fe&&Re===\"round\"&&(YtE&&(Re=\"bevel\"),Re===\"bevel\"&&(Yt>2&&(Re=\"flipbevel\"),Yt100)jt=bt.mult(-1);else{let Me=Yt*mt.add(bt).mag()/mt.sub(bt).mag();jt._perp()._mult(Me*(ir?-1:1))}this.addCurrentVertex(rt,jt,0,0,X),this.addCurrentVertex(rt,jt.mult(-1),0,0,X)}else if(Re===\"bevel\"||Re===\"fakeround\"){let Me=-Math.sqrt(Yt*Yt-1),Ye=ir?Me:0,Ie=ir?0:Me;if(at&&this.addCurrentVertex(rt,mt,Ye,Ie,X),Re===\"fakeround\"){let Ae=Math.round(180*ce/Math.PI/20);for(let hr=1;hr2*q){let Ye=rt.add(ct.sub(rt)._mult(q/Me)._round());this.updateDistance(rt,Ye),this.addCurrentVertex(Ye,bt,0,0,X),rt=Ye}}}}addCurrentVertex(a,h,A,x,E,P=!1){let D=h.y*x-h.x,F=-h.y-h.x*x;this.addHalfVertex(a,h.x+h.y*A,h.y-h.x*A,P,!1,A,E),this.addHalfVertex(a,D,F,P,!0,-x,E),this.distance>e6/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(a,h,A,x,E,P))}addHalfVertex({x:a,y:h},A,x,E,P,D,F){let V=.5*(this.lineClips?this.scaledDistance*(e6-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((a<<1)+(E?1:0),(h<<1)+(P?1:0),Math.round(63*A)+128,Math.round(63*x)+128,1+(D===0?0:D<0?-1:1)|(63&V)<<2,V>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let q=F.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,q),F.primitiveLength++),P?this.e2=q:this.e1=q}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(a,h){this.distance+=a.dist(h),this.updateScaledDistance()}}let r6,i6;Ge(\"LineBucket\",SC,{omit:[\"layers\",\"patternFeatures\"]});var n6={get paint(){return i6=i6||new Hn({\"line-opacity\":new dr(ee.paint_line[\"line-opacity\"]),\"line-color\":new dr(ee.paint_line[\"line-color\"]),\"line-translate\":new nr(ee.paint_line[\"line-translate\"]),\"line-translate-anchor\":new nr(ee.paint_line[\"line-translate-anchor\"]),\"line-width\":new dr(ee.paint_line[\"line-width\"]),\"line-gap-width\":new dr(ee.paint_line[\"line-gap-width\"]),\"line-offset\":new dr(ee.paint_line[\"line-offset\"]),\"line-blur\":new dr(ee.paint_line[\"line-blur\"]),\"line-dasharray\":new aA(ee.paint_line[\"line-dasharray\"]),\"line-pattern\":new wf(ee.paint_line[\"line-pattern\"]),\"line-gradient\":new Bd(ee.paint_line[\"line-gradient\"])})},get layout(){return r6=r6||new Hn({\"line-cap\":new nr(ee.layout_line[\"line-cap\"]),\"line-join\":new dr(ee.layout_line[\"line-join\"]),\"line-miter-limit\":new nr(ee.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new nr(ee.layout_line[\"line-round-limit\"]),\"line-sort-key\":new dr(ee.layout_line[\"line-sort-key\"])})}};class PK extends dr{possiblyEvaluate(a,h){return h=new un(Math.floor(h.zoom),{now:h.now,fadeDuration:h.fadeDuration,zoomHistory:h.zoomHistory,transition:h.transition}),super.possiblyEvaluate(a,h)}evaluate(a,h,A,x){return h=kt({},h,{zoom:Math.floor(h.zoom)}),super.evaluate(a,h,A,x)}}let rT;class IK extends ji{constructor(a){super(a,n6),this.gradientVersion=0,rT||(rT=new PK(n6.paint.properties[\"line-width\"].specification),rT.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(a){if(a===\"line-gradient\"){let h=this.gradientExpression();this.stepInterpolant=!!function(A){return A._styleExpression!==void 0}(h)&&h._styleExpression.expression instanceof sh,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(a,h){super.recalculate(a,h),this.paint._values[\"line-floorwidth\"]=rT.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,a)}createBucket(a){return new SC(a)}queryRadius(a){let h=a,A=s6(We(\"line-width\",this,h),We(\"line-gap-width\",this,h)),x=We(\"line-offset\",this,h);return A/2+Math.abs(x)+te(this.paint.get(\"line-translate\"))}queryIntersectsFeature(a,h,A,x,E,P,D){let F=_e(a,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),P.angle,D),V=D/2*s6(this.paint.get(\"line-width\").evaluate(h,A),this.paint.get(\"line-gap-width\").evaluate(h,A)),q=this.paint.get(\"line-offset\").evaluate(h,A);return q&&(x=function(X,rt){let at=[];for(let ct=0;ct=3){for(let bt=0;bt0?a+2*u:u}let CK=wn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),LK=wn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);wn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let kK=wn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]);wn([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let o6=wn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),RK=wn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function DK(u,a,h){return u.sections.forEach(A=>{A.text=function(x,E,P){let D=E.layout.get(\"text-transform\").evaluate(P,{});return D===\"uppercase\"?x=x.toLocaleUpperCase():D===\"lowercase\"&&(x=x.toLocaleLowerCase()),ua.applyArabicShaping&&(x=ua.applyArabicShaping(x)),x}(A.text,a,h)}),u}wn([{name:\"triangle\",components:3,type:\"Uint16\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),wn([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),wn([{type:\"Float32\",name:\"offsetX\"}]),wn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),wn([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Yx={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var Hs=24,a6=rn,l6=function(u,a,h,A,x){var E,P,D=8*x-A-1,F=(1<>1,q=-7,X=h?x-1:0,rt=h?-1:1,at=u[a+X];for(X+=rt,E=at&(1<<-q)-1,at>>=-q,q+=D;q>0;E=256*E+u[a+X],X+=rt,q-=8);for(P=E&(1<<-q)-1,E>>=-q,q+=A;q>0;P=256*P+u[a+X],X+=rt,q-=8);if(E===0)E=1-V;else{if(E===F)return P?NaN:1/0*(at?-1:1);P+=Math.pow(2,A),E-=V}return(at?-1:1)*P*Math.pow(2,E-A)},c6=function(u,a,h,A,x,E){var P,D,F,V=8*E-x-1,q=(1<>1,rt=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,at=A?0:E-1,ct=A?1:-1,mt=a<0||a===0&&1/a<0?1:0;for(a=Math.abs(a),isNaN(a)||a===1/0?(D=isNaN(a)?1:0,P=q):(P=Math.floor(Math.log(a)/Math.LN2),a*(F=Math.pow(2,-P))<1&&(P--,F*=2),(a+=P+X>=1?rt/F:rt*Math.pow(2,1-X))*F>=2&&(P++,F/=2),P+X>=q?(D=0,P=q):P+X>=1?(D=(a*F-1)*Math.pow(2,x),P+=X):(D=a*Math.pow(2,X-1)*Math.pow(2,x),P=0));x>=8;u[h+at]=255&D,at+=ct,D/=256,x-=8);for(P=P<0;u[h+at]=255&P,at+=ct,P/=256,V-=8);u[h+at-ct]|=128*mt};function rn(u){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(u)?u:new Uint8Array(u||0),this.pos=0,this.type=0,this.length=this.buf.length}rn.Varint=0,rn.Fixed64=1,rn.Bytes=2,rn.Fixed32=5;var TC=4294967296,u6=1/TC,h6=typeof TextDecoder>\"u\"?null:new TextDecoder(\"utf8\");function Nd(u){return u.type===rn.Bytes?u.readVarint()+u.pos:u.pos+1}function E_(u,a,h){return h?4294967296*a+(u>>>0):4294967296*(a>>>0)+(u>>>0)}function f6(u,a,h){var A=a<=16383?1:a<=2097151?2:a<=268435455?3:Math.floor(Math.log(a)/(7*Math.LN2));h.realloc(A);for(var x=h.pos-1;x>=u;x--)h.buf[x+A]=h.buf[x]}function OK(u,a){for(var h=0;h>>8,u[h+2]=a>>>16,u[h+3]=a>>>24}function d6(u,a){return(u[a]|u[a+1]<<8|u[a+2]<<16)+(u[a+3]<<24)}rn.prototype={destroy:function(){this.buf=null},readFields:function(u,a,h){for(h=h||this.length;this.pos>3,E=this.pos;this.type=7&A,u(x,a,this),this.pos===E&&this.skip(A)}return a},readMessage:function(u,a){return this.readFields(u,a,this.readVarint()+this.pos)},readFixed32:function(){var u=iT(this.buf,this.pos);return this.pos+=4,u},readSFixed32:function(){var u=d6(this.buf,this.pos);return this.pos+=4,u},readFixed64:function(){var u=iT(this.buf,this.pos)+iT(this.buf,this.pos+4)*TC;return this.pos+=8,u},readSFixed64:function(){var u=iT(this.buf,this.pos)+d6(this.buf,this.pos+4)*TC;return this.pos+=8,u},readFloat:function(){var u=l6(this.buf,this.pos,!0,23,4);return this.pos+=4,u},readDouble:function(){var u=l6(this.buf,this.pos,!0,52,8);return this.pos+=8,u},readVarint:function(u){var a,h,A=this.buf;return a=127&(h=A[this.pos++]),h<128?a:(a|=(127&(h=A[this.pos++]))<<7,h<128?a:(a|=(127&(h=A[this.pos++]))<<14,h<128?a:(a|=(127&(h=A[this.pos++]))<<21,h<128?a:function(x,E,P){var D,F,V=P.buf;if(D=(112&(F=V[P.pos++]))>>4,F<128||(D|=(127&(F=V[P.pos++]))<<3,F<128)||(D|=(127&(F=V[P.pos++]))<<10,F<128)||(D|=(127&(F=V[P.pos++]))<<17,F<128)||(D|=(127&(F=V[P.pos++]))<<24,F<128)||(D|=(1&(F=V[P.pos++]))<<31,F<128))return E_(x,D,E);throw new Error(\"Expected varint not more than 10 bytes\")}(a|=(15&(h=A[this.pos]))<<28,u,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var u=this.readVarint();return u%2==1?(u+1)/-2:u/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var u=this.readVarint()+this.pos,a=this.pos;return this.pos=u,u-a>=12&&h6?function(h,A,x){return h6.decode(h.subarray(A,x))}(this.buf,a,u):function(h,A,x){for(var E=\"\",P=A;P239?4:q>223?3:q>191?2:1;if(P+rt>x)break;rt===1?q<128&&(X=q):rt===2?(192&(D=h[P+1]))==128&&(X=(31&q)<<6|63&D)<=127&&(X=null):rt===3?(F=h[P+2],(192&(D=h[P+1]))==128&&(192&F)==128&&((X=(15&q)<<12|(63&D)<<6|63&F)<=2047||X>=55296&&X<=57343)&&(X=null)):rt===4&&(F=h[P+2],V=h[P+3],(192&(D=h[P+1]))==128&&(192&F)==128&&(192&V)==128&&((X=(15&q)<<18|(63&D)<<12|(63&F)<<6|63&V)<=65535||X>=1114112)&&(X=null)),X===null?(X=65533,rt=1):X>65535&&(X-=65536,E+=String.fromCharCode(X>>>10&1023|55296),X=56320|1023&X),E+=String.fromCharCode(X),P+=rt}return E}(this.buf,a,u)},readBytes:function(){var u=this.readVarint()+this.pos,a=this.buf.subarray(this.pos,u);return this.pos=u,a},readPackedVarint:function(u,a){if(this.type!==rn.Bytes)return u.push(this.readVarint(a));var h=Nd(this);for(u=u||[];this.pos127;);else if(a===rn.Bytes)this.pos=this.readVarint()+this.pos;else if(a===rn.Fixed32)this.pos+=4;else{if(a!==rn.Fixed64)throw new Error(\"Unimplemented type: \"+a);this.pos+=8}},writeTag:function(u,a){this.writeVarint(u<<3|a)},realloc:function(u){for(var a=this.length||16;a268435455||u<0?function(a,h){var A,x;if(a>=0?(A=a%4294967296|0,x=a/4294967296|0):(x=~(-a/4294967296),4294967295^(A=~(-a%4294967296))?A=A+1|0:(A=0,x=x+1|0)),a>=18446744073709552e3||a<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");h.realloc(10),function(E,P,D){D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,E>>>=7,D.buf[D.pos++]=127&E|128,D.buf[D.pos]=127&(E>>>=7)}(A,0,h),function(E,P){var D=(7&E)<<4;P.buf[P.pos++]|=D|((E>>>=3)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E|((E>>>=7)?128:0),E&&(P.buf[P.pos++]=127&E)))))}(x,h)}(u,this):(this.realloc(4),this.buf[this.pos++]=127&u|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=127&(u>>>=7)|(u>127?128:0),u<=127||(this.buf[this.pos++]=u>>>7&127))))},writeSVarint:function(u){this.writeVarint(u<0?2*-u-1:2*u)},writeBoolean:function(u){this.writeVarint(!!u)},writeString:function(u){u=String(u),this.realloc(4*u.length),this.pos++;var a=this.pos;this.pos=function(A,x,E){for(var P,D,F=0;F55295&&P<57344){if(!D){P>56319||F+1===x.length?(A[E++]=239,A[E++]=191,A[E++]=189):D=P;continue}if(P<56320){A[E++]=239,A[E++]=191,A[E++]=189,D=P;continue}P=D-55296<<10|P-56320|65536,D=null}else D&&(A[E++]=239,A[E++]=191,A[E++]=189,D=null);P<128?A[E++]=P:(P<2048?A[E++]=P>>6|192:(P<65536?A[E++]=P>>12|224:(A[E++]=P>>18|240,A[E++]=P>>12&63|128),A[E++]=P>>6&63|128),A[E++]=63&P|128)}return E}(this.buf,u,this.pos);var h=this.pos-a;h>=128&&f6(a,h,this),this.pos=a-1,this.writeVarint(h),this.pos+=h},writeFloat:function(u){this.realloc(4),c6(this.buf,u,this.pos,!0,23,4),this.pos+=4},writeDouble:function(u){this.realloc(8),c6(this.buf,u,this.pos,!0,52,8),this.pos+=8},writeBytes:function(u){var a=u.length;this.writeVarint(a),this.realloc(a);for(var h=0;h=128&&f6(h,A,this),this.pos=h-1,this.writeVarint(A),this.pos+=A},writeMessage:function(u,a,h){this.writeTag(u,rn.Bytes),this.writeRawMessage(a,h)},writePackedVarint:function(u,a){a.length&&this.writeMessage(u,OK,a)},writePackedSVarint:function(u,a){a.length&&this.writeMessage(u,BK,a)},writePackedBoolean:function(u,a){a.length&&this.writeMessage(u,NK,a)},writePackedFloat:function(u,a){a.length&&this.writeMessage(u,FK,a)},writePackedDouble:function(u,a){a.length&&this.writeMessage(u,zK,a)},writePackedFixed32:function(u,a){a.length&&this.writeMessage(u,UK,a)},writePackedSFixed32:function(u,a){a.length&&this.writeMessage(u,VK,a)},writePackedFixed64:function(u,a){a.length&&this.writeMessage(u,jK,a)},writePackedSFixed64:function(u,a){a.length&&this.writeMessage(u,GK,a)},writeBytesField:function(u,a){this.writeTag(u,rn.Bytes),this.writeBytes(a)},writeFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFixed32(a)},writeSFixed32Field:function(u,a){this.writeTag(u,rn.Fixed32),this.writeSFixed32(a)},writeFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeFixed64(a)},writeSFixed64Field:function(u,a){this.writeTag(u,rn.Fixed64),this.writeSFixed64(a)},writeVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeVarint(a)},writeSVarintField:function(u,a){this.writeTag(u,rn.Varint),this.writeSVarint(a)},writeStringField:function(u,a){this.writeTag(u,rn.Bytes),this.writeString(a)},writeFloatField:function(u,a){this.writeTag(u,rn.Fixed32),this.writeFloat(a)},writeDoubleField:function(u,a){this.writeTag(u,rn.Fixed64),this.writeDouble(a)},writeBooleanField:function(u,a){this.writeVarintField(u,!!a)}};var MC=c(a6);let EC=3;function WK(u,a,h){u===1&&h.readMessage(HK,a)}function HK(u,a,h){if(u===3){let{id:A,bitmap:x,width:E,height:P,left:D,top:F,advance:V}=h.readMessage(qK,{});a.push({id:A,bitmap:new Vx({width:E+2*EC,height:P+2*EC},x),metrics:{width:E,height:P,left:D,top:F,advance:V}})}}function qK(u,a,h){u===1?a.id=h.readVarint():u===2?a.bitmap=h.readBytes():u===3?a.width=h.readVarint():u===4?a.height=h.readVarint():u===5?a.left=h.readSVarint():u===6?a.top=h.readSVarint():u===7&&(a.advance=h.readVarint())}let p6=EC;function A6(u){let a=0,h=0;for(let P of u)a+=P.w*P.h,h=Math.max(h,P.w);u.sort((P,D)=>D.h-P.h);let A=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(a/.95)),h),h:1/0}],x=0,E=0;for(let P of u)for(let D=A.length-1;D>=0;D--){let F=A[D];if(!(P.w>F.w||P.h>F.h)){if(P.x=F.x,P.y=F.y,E=Math.max(E,P.y+P.h),x=Math.max(x,P.x+P.w),P.w===F.w&&P.h===F.h){let V=A.pop();D=0&&A>=a&&sT[this.text.charCodeAt(A)];A--)h--;this.text=this.text.substring(a,h),this.sectionIndex=this.sectionIndex.slice(a,h)}substring(a,h){let A=new I_;return A.text=this.text.substring(a,h),A.sectionIndex=this.sectionIndex.slice(a,h),A.sections=this.sections,A}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((a,h)=>Math.max(a,this.sections[h].scale),0)}addTextSection(a,h){this.text+=a.text,this.sections.push($x.forText(a.scale,a.fontStack||h));let A=this.sections.length-1;for(let x=0;x=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function nT(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct,mt){let bt=I_.fromFeature(u,x),Pt;X===n.ai.vertical&&bt.verticalizePunctuation();let{processBidirectionalText:jt,processStyledBidirectionalText:Rt}=ua;if(jt&&bt.sections.length===1){Pt=[];let ce=jt(bt.toString(),IC(bt,V,E,a,A,at,ct));for(let Ne of ce){let ir=new I_;ir.text=Ne,ir.sections=bt.sections;for(let Fe=0;Fe0&&Vd>_l&&(_l=Vd)}else{let Uc=ir[di.fontStack],vl=Uc&&Uc[Xo];if(vl&&vl.rect)vh=vl.rect,xu=vl.metrics;else{let Vd=Ne[di.fontStack],e1=Vd&&Vd[Xo];if(!e1)continue;xu=e1.metrics}$s=(Ys-di.scale)*Hs}bu?(ce.verticalizable=!0,fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=Ud*di.scale+hr):(fa.push({glyph:Xo,imageName:xh,x:Tn,y:Rn+$s,vertical:bu,scale:di.scale,fontStack:di.fontStack,sectionIndex:da,metrics:xu,rect:vh}),Tn+=xu.advance*di.scale+hr)}fa.length!==0&&(qs=Math.max(Tn-hr,qs),QK(fa,0,fa.length-1,ja,_l)),Tn=0;let yl=Me*Ys+_l;Ha.lineOffset=Math.max(_l,ha),Rn+=yl,Ql=Math.max(yl,Ql),++Is}var Po;let $o=Rn-Qx,{horizontalAlign:Ga,verticalAlign:Wa}=CC(Ye);(function(Zs,Ys,ha,Ha,fa,_l,yl,Qs,di){let da=(Ys-ha)*fa,Xo=0;Xo=_l!==yl?-Qs*Ha-Qx:(-Ha*di+.5)*yl;for(let $s of Zs)for(let xu of $s.positionedGlyphs)xu.x+=da,xu.y+=Xo})(ce.positionedLines,ja,Ga,Wa,qs,Ql,Me,$o,Re.length),ce.top+=-Wa*$o,ce.bottom=ce.top+$o,ce.left+=-Ga*qs,ce.right=ce.left+qs}(Yt,a,h,A,Pt,P,D,F,X,V,rt,mt),!function(ce){for(let Ne of ce)if(Ne.positionedGlyphs.length!==0)return!1;return!0}(Gt)&&Yt}let sT={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ZK={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function g6(u,a,h,A,x,E){if(a.imageName){let P=A[a.imageName];return P?P.displaySize[0]*a.scale*Hs/E+x:0}{let P=h[a.fontStack],D=P&&P[u];return D?D.metrics.advance*a.scale+x:0}}function _6(u,a,h,A){let x=Math.pow(u-a,2);return A?u=0,q=0;for(let rt=0;rtP.id),this.index=a.index,this.pixelRatio=a.pixelRatio,this.sourceLayerIndex=a.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Zr([]),this.placementViewportMatrix=Zr([]);let h=this.layers[0]._unevaluatedLayout._values;this.textSizeData=b6(this.zoom,h[\"text-size\"]),this.iconSizeData=b6(this.zoom,h[\"icon-size\"]);let A=this.layers[0].layout,x=A.get(\"symbol-sort-key\"),E=A.get(\"symbol-z-order\");this.canOverlap=LC(A,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||LC(A,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||A.get(\"text-ignore-placement\")||A.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=E!==\"viewport-y\"&&!x.isConstant(),this.sortFeaturesByY=(E===\"viewport-y\"||E===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,A.get(\"symbol-placement\")===\"point\"&&(this.writingModes=A.get(\"text-writing-mode\").map(P=>n.ai[P])),this.stateDependentLayerIds=this.layers.filter(P=>P.isStateDependent()).map(P=>P.id),this.sourceID=a.sourceID}createArrays(){this.text=new RC(new Va(this.layers,this.zoom,a=>/^text/.test(a))),this.icon=new RC(new Va(this.layers,this.zoom,a=>/^icon/.test(a))),this.glyphOffsetArray=new Bt,this.lineVertexArray=new Qt,this.symbolInstances=new St,this.textAnchorOffsets=new oe}calculateGlyphDependencies(a,h,A,x,E){for(let P=0;P0)&&(P.value.kind!==\"constant\"||P.value.value.length>0),q=F.value.kind!==\"constant\"||!!F.value.value||Object.keys(F.parameters).length>0,X=E.get(\"symbol-sort-key\");if(this.features=[],!V&&!q)return;let rt=h.iconDependencies,at=h.glyphDependencies,ct=h.availableImages,mt=new un(this.zoom);for(let{feature:bt,id:Pt,index:jt,sourceLayerIndex:Rt}of a){let Gt=x._featureFilter.needGeometry,Yt=S(bt,Gt);if(!x._featureFilter.filter(mt,Yt,A))continue;let ce,Ne;if(Gt||(Yt.geometry=y(bt)),V){let Fe=x.getValueAndResolveTokens(\"text-field\",Yt,A,ct),Re=ln.factory(Fe);JK(Re)&&(this.hasRTLText=!0),(!this.hasRTLText||f0()===\"unavailable\"||this.hasRTLText&&ua.isParsed())&&(ce=DK(Re,x,Yt))}if(q){let Fe=x.getValueAndResolveTokens(\"icon-image\",Yt,A,ct);Ne=Fe instanceof Gn?Fe:Gn.fromString(Fe)}if(!ce&&!Ne)continue;let ir=this.sortFeaturesByKey?X.evaluate(Yt,{},A):void 0;if(this.features.push({id:Pt,text:ce,icon:Ne,index:jt,sourceLayerIndex:Rt,geometry:Yt.geometry,properties:bt.properties,type:XK[bt.type],sortKey:ir}),Ne&&(rt[Ne.name]=!0),ce){let Fe=P.evaluate(Yt,{},A).join(\",\"),Re=E.get(\"text-rotation-alignment\")!==\"viewport\"&&E.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(n.ai.vertical)>=0;for(let Me of ce.sections)if(Me.image)rt[Me.image.name]=!0;else{let Ye=o0(ce.toString()),Ie=Me.fontStack||Fe,Ae=at[Ie]=at[Ie]||{};this.calculateGlyphDependencies(Me.text,Ae,Re,this.allowVerticalPlacement,Ye)}}}E.get(\"symbol-placement\")===\"line\"&&(this.features=function(bt){let Pt={},jt={},Rt=[],Gt=0;function Yt(Fe){Rt.push(bt[Fe]),Gt++}function ce(Fe,Re,Me){let Ye=jt[Fe];return delete jt[Fe],jt[Re]=Ye,Rt[Ye].geometry[0].pop(),Rt[Ye].geometry[0]=Rt[Ye].geometry[0].concat(Me[0]),Ye}function Ne(Fe,Re,Me){let Ye=Pt[Re];return delete Pt[Re],Pt[Fe]=Ye,Rt[Ye].geometry[0].shift(),Rt[Ye].geometry[0]=Me[0].concat(Rt[Ye].geometry[0]),Ye}function ir(Fe,Re,Me){let Ye=Me?Re[0][Re[0].length-1]:Re[0][0];return`${Fe}:${Ye.x}:${Ye.y}`}for(let Fe=0;FeFe.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((bt,Pt)=>bt.sortKey-Pt.sortKey)}update(a,h,A){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(a,h,this.layers,A),this.icon.programConfigurations.updatePaintArrays(a,h,this.layers,A))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(a){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(a),this.iconCollisionBox.upload(a)),this.text.upload(a,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(a,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(a,h){let A=this.lineVertexArray.length;if(a.segment!==void 0){let x=a.dist(h[a.segment+1]),E=a.dist(h[a.segment]),P={};for(let D=a.segment+1;D=0;D--)P[D]={x:h[D].x,y:h[D].y,tileUnitDistanceFromAnchor:E},D>0&&(E+=h[D-1].dist(h[D]));for(let D=0;D0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(a,h){let A=a.placedSymbolArray.get(h),x=A.vertexStartIndex+4*A.numGlyphs;for(let E=A.vertexStartIndex;Ex[D]-x[F]||E[F]-E[D]),P}addToSortKeyRanges(a,h){let A=this.sortKeyRanges[this.sortKeyRanges.length-1];A&&A.sortKey===h?A.symbolInstanceEnd=a+1:this.sortKeyRanges.push({sortKey:h,symbolInstanceStart:a,symbolInstanceEnd:a+1})}sortFeatures(a){if(this.sortFeaturesByY&&this.sortedAngle!==a&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(a),this.sortedAngle=a,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let h of this.symbolInstanceIndexes){let A=this.symbolInstances.get(h);this.featureSortOrder.push(A.featureIndex),[A.rightJustifiedTextSymbolIndex,A.centerJustifiedTextSymbolIndex,A.leftJustifiedTextSymbolIndex].forEach((x,E,P)=>{x>=0&&P.indexOf(x)===E&&this.addIndicesForPlacedSymbol(this.text,x)}),A.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,A.verticalPlacedTextSymbolIndex),A.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.placedIconSymbolIndex),A.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,A.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let w6,S6;Ge(\"SymbolBucket\",C_,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),C_.MAX_GLYPHS=65535,C_.addDynamicAttributes=kC;var OC={get paint(){return S6=S6||new Hn({\"icon-opacity\":new dr(ee.paint_symbol[\"icon-opacity\"]),\"icon-color\":new dr(ee.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new dr(ee.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new dr(ee.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new dr(ee.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new nr(ee.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new nr(ee.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new dr(ee.paint_symbol[\"text-opacity\"]),\"text-color\":new dr(ee.paint_symbol[\"text-color\"],{runtimeType:Us,getOverride:u=>u.textColor,hasOverride:u=>!!u.textColor}),\"text-halo-color\":new dr(ee.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new dr(ee.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new dr(ee.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new nr(ee.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new nr(ee.paint_symbol[\"text-translate-anchor\"])})},get layout(){return w6=w6||new Hn({\"symbol-placement\":new nr(ee.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new nr(ee.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new nr(ee.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new dr(ee.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new nr(ee.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new nr(ee.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new nr(ee.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new nr(ee.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new nr(ee.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new nr(ee.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new dr(ee.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new nr(ee.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new nr(ee.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new dr(ee.layout_symbol[\"icon-image\"]),\"icon-rotate\":new dr(ee.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new dr(ee.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new nr(ee.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new dr(ee.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new dr(ee.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new nr(ee.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new nr(ee.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new nr(ee.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new dr(ee.layout_symbol[\"text-field\"]),\"text-font\":new dr(ee.layout_symbol[\"text-font\"]),\"text-size\":new dr(ee.layout_symbol[\"text-size\"]),\"text-max-width\":new dr(ee.layout_symbol[\"text-max-width\"]),\"text-line-height\":new nr(ee.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new dr(ee.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new dr(ee.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new dr(ee.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new nr(ee.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new dr(ee.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new dr(ee.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new nr(ee.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new nr(ee.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new dr(ee.layout_symbol[\"text-rotate\"]),\"text-padding\":new nr(ee.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new nr(ee.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new dr(ee.layout_symbol[\"text-transform\"]),\"text-offset\":new dr(ee.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new nr(ee.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new nr(ee.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new nr(ee.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new nr(ee.layout_symbol[\"text-optional\"])})}};class T6{constructor(a){if(a.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=a.property.overrides?a.property.overrides.runtimeType:Ca,this.defaultValue=a}evaluate(a){if(a.formattedSection){let h=this.defaultValue.property.overrides;if(h&&h.hasOverride(a.formattedSection))return h.getOverride(a.formattedSection)}return a.feature&&a.featureState?this.defaultValue.evaluate(a.feature,a.featureState):this.defaultValue.property.specification.default}eachChild(a){this.defaultValue.isConstant()||a(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Ge(\"FormatSectionOverride\",T6,{omit:[\"defaultValue\"]});class aT extends ji{constructor(a){super(a,OC)}recalculate(a,h){if(super.recalculate(a,h),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let A=this.layout.get(\"text-writing-mode\");if(A){let x=[];for(let E of A)x.indexOf(E)<0&&x.push(E);this.layout._values[\"text-writing-mode\"]=x}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(a,h,A,x){let E=this.layout.get(a).evaluate(h,{},A,x),P=this._unevaluatedLayout._values[a];return P.isDataDriven()||Yp(P.value)||!E?E:function(D,F){return F.replace(/{([^{}]+)}/g,(V,q)=>D&&q in D?String(D[q]):\"\")}(h.properties,E)}createBucket(a){return new C_(a)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let a of OC.paint.overridableProperties){if(!aT.hasPaintOverride(this.layout,a))continue;let h=this.paint.get(a),A=new T6(h),x=new Jm(A,h.property.specification),E=null;E=h.value.kind===\"constant\"||h.value.kind===\"source\"?new t0(\"source\",x):new wt(\"composite\",x,h.value.zoomStops),this.paint._values[a]=new Mo(h.property,E,h.parameters)}}_handleOverridablePaintPropertyUpdate(a,h,A){return!(!this.layout||h.isDataDriven()||A.isDataDriven())&&aT.hasPaintOverride(this.layout,a)}static hasPaintOverride(a,h){let A=a.get(\"text-field\"),x=OC.paint.properties[h],E=!1,P=D=>{for(let F of D)if(x.overrides&&x.overrides.hasOverride(F))return void(E=!0)};if(A.value.kind===\"constant\"&&A.value.value instanceof ln)P(A.value.value.sections);else if(A.value.kind===\"source\"){let D=V=>{E||(V instanceof Gl&&Ki(V.value)===gt?P(V.value.sections):V instanceof Ti?P(V.sections):V.eachChild(D))},F=A.value;F._styleExpression&&D(F._styleExpression.expression)}return E}}let M6;var tJ={get paint(){return M6=M6||new Hn({\"background-color\":new nr(ee.paint_background[\"background-color\"]),\"background-pattern\":new aA(ee.paint_background[\"background-pattern\"]),\"background-opacity\":new nr(ee.paint_background[\"background-opacity\"])})}};class eJ extends ji{constructor(a){super(a,tJ)}}let E6;var rJ={get paint(){return E6=E6||new Hn({\"raster-opacity\":new nr(ee.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new nr(ee.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new nr(ee.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new nr(ee.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new nr(ee.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new nr(ee.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new nr(ee.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new nr(ee.paint_raster[\"raster-fade-duration\"])})}};class iJ extends ji{constructor(a){super(a,rJ)}}class nJ extends ji{constructor(a){super(a,{}),this.onAdd=h=>{this.implementation.onAdd&&this.implementation.onAdd(h,h.painter.context.gl)},this.onRemove=h=>{this.implementation.onRemove&&this.implementation.onRemove(h,h.painter.context.gl)},this.implementation=a}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class sJ{constructor(a){this._callback=a,this._triggered=!1,typeof MessageChannel<\"u\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._callback()},0))}remove(){delete this._channel,this._callback=()=>{}}}let BC=63710088e-1;class dA{constructor(a,h){if(isNaN(a)||isNaN(h))throw new Error(`Invalid LngLat object: (${a}, ${h})`);if(this.lng=+a,this.lat=+h,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dA(Et(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(a){let h=Math.PI/180,A=this.lat*h,x=a.lat*h,E=Math.sin(A)*Math.sin(x)+Math.cos(A)*Math.cos(x)*Math.cos((a.lng-this.lng)*h);return BC*Math.acos(Math.min(E,1))}static convert(a){if(a instanceof dA)return a;if(Array.isArray(a)&&(a.length===2||a.length===3))return new dA(Number(a[0]),Number(a[1]));if(!Array.isArray(a)&&typeof a==\"object\"&&a!==null)return new dA(Number(\"lng\"in a?a.lng:a.lon),Number(a.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let P6=2*Math.PI*BC;function I6(u){return P6*Math.cos(u*Math.PI/180)}function C6(u){return(180+u)/360}function L6(u){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+u*Math.PI/360)))/360}function k6(u,a){return u/I6(a)}function R6(u){return 360*u-180}function FC(u){return 360/Math.PI*Math.atan(Math.exp((180-360*u)*Math.PI/180))-90}class lT{constructor(a,h,A=0){this.x=+a,this.y=+h,this.z=+A}static fromLngLat(a,h=0){let A=dA.convert(a);return new lT(C6(A.lng),L6(A.lat),k6(h,A.lat))}toLngLat(){return new dA(R6(this.x),FC(this.y))}toAltitude(){return this.z*I6(FC(this.y))}meterInMercatorCoordinateUnits(){return 1/P6*(a=FC(this.y),1/Math.cos(a*Math.PI/180));var a}}function D6(u,a,h){var A=2*Math.PI*6378137/256/Math.pow(2,h);return[u*A-2*Math.PI*6378137/2,a*A-2*Math.PI*6378137/2]}class zC{constructor(a,h,A){if(a<0||a>25||A<0||A>=Math.pow(2,a)||h<0||h>=Math.pow(2,a))throw new Error(`x=${h}, y=${A}, z=${a} outside of bounds. 0<=x<${Math.pow(2,a)}, 0<=y<${Math.pow(2,a)} 0<=z<=25 `);this.z=a,this.x=h,this.y=A,this.key=Kx(0,a,a,h,A)}equals(a){return this.z===a.z&&this.x===a.x&&this.y===a.y}url(a,h,A){let x=(P=this.y,D=this.z,F=D6(256*(E=this.x),256*(P=Math.pow(2,D)-P-1),D),V=D6(256*(E+1),256*(P+1),D),F[0]+\",\"+F[1]+\",\"+V[0]+\",\"+V[1]);var E,P,D,F,V;let q=function(X,rt,at){let ct,mt=\"\";for(let bt=X;bt>0;bt--)ct=1<1?\"@2x\":\"\").replace(/{quadkey}/g,q).replace(/{bbox-epsg-3857}/g,x)}isChildOf(a){let h=this.z-a.z;return h>0&&a.x===this.x>>h&&a.y===this.y>>h}getTilePoint(a){let h=Math.pow(2,this.z);return new w((a.x*h-this.x)*en,(a.y*h-this.y)*en)}toString(){return`${this.z}/${this.x}/${this.y}`}}class O6{constructor(a,h){this.wrap=a,this.canonical=h,this.key=Kx(a,h.z,h.z,h.x,h.y)}}class Nc{constructor(a,h,A,x,E){if(a= z; overscaledZ = ${a}; z = ${A}`);this.overscaledZ=a,this.wrap=h,this.canonical=new zC(A,+x,+E),this.key=Kx(h,a,A,x,E)}clone(){return new Nc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(a){return this.overscaledZ===a.overscaledZ&&this.wrap===a.wrap&&this.canonical.equals(a.canonical)}scaledTo(a){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let h=this.canonical.z-a;return a>this.canonical.z?new Nc(a,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Nc(a,this.wrap,a,this.canonical.x>>h,this.canonical.y>>h)}calculateScaledKey(a,h){if(a>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${a}; overscaledZ = ${this.overscaledZ}`);let A=this.canonical.z-a;return a>this.canonical.z?Kx(this.wrap*+h,a,this.canonical.z,this.canonical.x,this.canonical.y):Kx(this.wrap*+h,a,a,this.canonical.x>>A,this.canonical.y>>A)}isChildOf(a){if(a.wrap!==this.wrap)return!1;let h=this.canonical.z-a.canonical.z;return a.overscaledZ===0||a.overscaledZ>h&&a.canonical.y===this.canonical.y>>h}children(a){if(this.overscaledZ>=a)return[new Nc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let h=this.canonical.z+1,A=2*this.canonical.x,x=2*this.canonical.y;return[new Nc(h,this.wrap,h,A,x),new Nc(h,this.wrap,h,A+1,x),new Nc(h,this.wrap,h,A,x+1),new Nc(h,this.wrap,h,A+1,x+1)]}isLessThan(a){return this.wrapa.wrap)&&(this.overscaledZa.overscaledZ)&&(this.canonical.xa.canonical.x)&&this.canonical.ythis.max&&(this.max=X),X=this.dim+1||h<-1||h>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(h+1)*this.stride+(a+1)}unpack(a,h,A){return a*this.redFactor+h*this.greenFactor+A*this.blueFactor-this.baseShift}getPixels(){return new zc({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(a,h,A){if(this.dim!==a.dim)throw new Error(\"dem dimension mismatch\");let x=h*this.dim,E=h*this.dim+this.dim,P=A*this.dim,D=A*this.dim+this.dim;switch(h){case-1:x=E-1;break;case 1:E=x+1}switch(A){case-1:P=D-1;break;case 1:D=P+1}let F=-h*this.dim,V=-A*this.dim;for(let q=P;q=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${a} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[a]}}class z6{constructor(a,h,A,x,E){this.type=\"Feature\",this._vectorTileFeature=a,a._z=h,a._x=A,a._y=x,this.properties=a.properties,this.id=E}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(a){this._geometry=a}toJSON(){let a={geometry:this.geometry};for(let h in this)h!==\"_geometry\"&&h!==\"_vectorTileFeature\"&&(a[h]=this[h]);return a}}class N6{constructor(a,h){this.tileID=a,this.x=a.canonical.x,this.y=a.canonical.y,this.z=a.canonical.z,this.grid=new Na(en,16,0),this.grid3D=new Na(en,16,0),this.featureIndexArray=new he,this.promoteId=h}insert(a,h,A,x,E,P){let D=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(A,x,E);let F=P?this.grid3D:this.grid;for(let V=0;V=0&&X[3]>=0&&F.insert(D,X[0],X[1],X[2],X[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new uA.VectorTile(new MC(this.rawTileData)).layers,this.sourceLayerCoder=new F6(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(a,h,A,x){this.loadVTLayers();let E=a.params||{},P=en/a.tileSize/a.scale,D=r0(E.filter),F=a.queryGeometry,V=a.queryPadding*P,q=V6(F),X=this.grid.query(q.minX-V,q.minY-V,q.maxX+V,q.maxY+V),rt=V6(a.cameraQueryGeometry),at=this.grid3D.query(rt.minX-V,rt.minY-V,rt.maxX+V,rt.maxY+V,(bt,Pt,jt,Rt)=>function(Gt,Yt,ce,Ne,ir){for(let Re of Gt)if(Yt<=Re.x&&ce<=Re.y&&Ne>=Re.x&&ir>=Re.y)return!0;let Fe=[new w(Yt,ce),new w(Yt,ir),new w(Ne,ir),new w(Ne,ce)];if(Gt.length>2){for(let Re of Fe)if(ne(Gt,Re))return!0}for(let Re=0;Re(Rt||(Rt=y(Gt)),Yt.queryIntersectsFeature(F,Gt,ce,Rt,this.z,a.transform,P,a.pixelPosMatrix)))}return ct}loadMatchingFeature(a,h,A,x,E,P,D,F,V,q,X){let rt=this.bucketLayerIDs[h];if(P&&!function(bt,Pt){for(let jt=0;jt=0)return!0;return!1}(P,rt))return;let at=this.sourceLayerCoder.decode(A),ct=this.vtLayers[at].feature(x);if(E.needGeometry){let bt=S(ct,!0);if(!E.filter(new un(this.tileID.overscaledZ),bt,this.tileID.canonical))return}else if(!E.filter(new un(this.tileID.overscaledZ),ct))return;let mt=this.getId(ct,at);for(let bt=0;bt{let D=a instanceof oA?a.get(P):null;return D&&D.evaluate?D.evaluate(h,A,x):D})}function V6(u){let a=1/0,h=1/0,A=-1/0,x=-1/0;for(let E of u)a=Math.min(a,E.x),h=Math.min(h,E.y),A=Math.max(A,E.x),x=Math.max(x,E.y);return{minX:a,minY:h,maxX:A,maxY:x}}function oJ(u,a){return a-u}function j6(u,a,h,A,x){let E=[];for(let P=0;P=A&&X.x>=A||(q.x>=A?q=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round():X.x>=A&&(X=new w(A,q.y+(A-q.x)/(X.x-q.x)*(X.y-q.y))._round()),q.y>=x&&X.y>=x||(q.y>=x?q=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round():X.y>=x&&(X=new w(q.x+(x-q.y)/(X.y-q.y)*(X.x-q.x),x)._round()),F&&q.equals(F[F.length-1])||(F=[q],E.push(F)),F.push(X)))))}}return E}Ge(\"FeatureIndex\",N6,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class pA extends w{constructor(a,h,A,x){super(a,h),this.angle=A,x!==void 0&&(this.segment=x)}clone(){return new pA(this.x,this.y,this.angle,this.segment)}}function G6(u,a,h,A,x){if(a.segment===void 0||h===0)return!0;let E=a,P=a.segment+1,D=0;for(;D>-h/2;){if(P--,P<0)return!1;D-=u[P].dist(E),E=u[P]}D+=u[P].dist(u[P+1]),P++;let F=[],V=0;for(;DA;)V-=F.shift().angleDelta;if(V>x)return!1;P++,D+=q.dist(X)}return!0}function W6(u){let a=0;for(let h=0;hV){let ct=(V-F)/at,mt=Da.number(X.x,rt.x,ct),bt=Da.number(X.y,rt.y,ct),Pt=new pA(mt,bt,rt.angleTo(X),q);return Pt._round(),!P||G6(u,Pt,D,P,a)?Pt:void 0}F+=at}}function lJ(u,a,h,A,x,E,P,D,F){let V=H6(A,E,P),q=q6(A,x),X=q*P,rt=u[0].x===0||u[0].x===F||u[0].y===0||u[0].y===F;return a-X
=0&&Gt=0&&Yt=0&&rt+V<=q){let ce=new pA(Gt,Yt,jt,ct);ce._round(),A&&!G6(u,ce,E,A,x)||at.push(ce)}}X+=Pt}return D||at.length||P||(at=Z6(u,X/2,h,A,x,E,P,!0,F)),at}Ge(\"Anchor\",pA);let L_=gl;function Y6(u,a,h,A){let x=[],E=u.image,P=E.pixelRatio,D=E.paddedRect.w-2*L_,F=E.paddedRect.h-2*L_,V=u.right-u.left,q=u.bottom-u.top,X=E.stretchX||[[0,D]],rt=E.stretchY||[[0,F]],at=(Me,Ye)=>Me+Ye[1]-Ye[0],ct=X.reduce(at,0),mt=rt.reduce(at,0),bt=D-ct,Pt=F-mt,jt=0,Rt=ct,Gt=0,Yt=mt,ce=0,Ne=bt,ir=0,Fe=Pt;if(E.content&&A){let Me=E.content;jt=cT(X,0,Me[0]),Gt=cT(rt,0,Me[1]),Rt=cT(X,Me[0],Me[2]),Yt=cT(rt,Me[1],Me[3]),ce=Me[0]-jt,ir=Me[1]-Gt,Ne=Me[2]-Me[0]-Rt,Fe=Me[3]-Me[1]-Yt}let Re=(Me,Ye,Ie,Ae)=>{let hr=uT(Me.stretch-jt,Rt,V,u.left),sr=hT(Me.fixed-ce,Ne,Me.stretch,ct),ri=uT(Ye.stretch-Gt,Yt,q,u.top),Tn=hT(Ye.fixed-ir,Fe,Ye.stretch,mt),Rn=uT(Ie.stretch-jt,Rt,V,u.left),qs=hT(Ie.fixed-ce,Ne,Ie.stretch,ct),Ql=uT(Ae.stretch-Gt,Yt,q,u.top),ja=hT(Ae.fixed-ir,Fe,Ae.stretch,mt),Is=new w(hr,ri),Po=new w(Rn,ri),$o=new w(Rn,Ql),Ga=new w(hr,Ql),Wa=new w(sr/P,Tn/P),Zs=new w(qs/P,ja/P),Ys=a*Math.PI/180;if(Ys){let fa=Math.sin(Ys),_l=Math.cos(Ys),yl=[_l,-fa,fa,_l];Is._matMult(yl),Po._matMult(yl),Ga._matMult(yl),$o._matMult(yl)}let ha=Me.stretch+Me.fixed,Ha=Ye.stretch+Ye.fixed;return{tl:Is,tr:Po,bl:Ga,br:$o,tex:{x:E.paddedRect.x+L_+ha,y:E.paddedRect.y+L_+Ha,w:Ie.stretch+Ie.fixed-ha,h:Ae.stretch+Ae.fixed-Ha},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Wa,pixelOffsetBR:Zs,minFontScaleX:Ne/P/V,minFontScaleY:Fe/P/q,isSDF:h}};if(A&&(E.stretchX||E.stretchY)){let Me=Q6(X,bt,ct),Ye=Q6(rt,Pt,mt);for(let Ie=0;Ie0&&(ct=Math.max(10,ct),this.circleDiameter=ct)}else{let X=P.top*D-F[0],rt=P.bottom*D+F[2],at=P.left*D-F[3],ct=P.right*D+F[1],mt=P.collisionPadding;if(mt&&(at-=mt[0]*D,X-=mt[1]*D,ct+=mt[2]*D,rt+=mt[3]*D),q){let bt=new w(at,X),Pt=new w(ct,X),jt=new w(at,rt),Rt=new w(ct,rt),Gt=q*Math.PI/180;bt._rotate(Gt),Pt._rotate(Gt),jt._rotate(Gt),Rt._rotate(Gt),at=Math.min(bt.x,Pt.x,jt.x,Rt.x),ct=Math.max(bt.x,Pt.x,jt.x,Rt.x),X=Math.min(bt.y,Pt.y,jt.y,Rt.y),rt=Math.max(bt.y,Pt.y,jt.y,Rt.y)}a.emplaceBack(h.x,h.y,at,X,ct,rt,A,x,E)}this.boxEndIndex=a.length}}class cJ{constructor(a=[],h=uJ){if(this.data=a,this.length=this.data.length,this.compare=h,this.length>0)for(let A=(this.length>>1)-1;A>=0;A--)this._down(A)}push(a){this.data.push(a),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;let a=this.data[0],h=this.data.pop();return this.length--,this.length>0&&(this.data[0]=h,this._down(0)),a}peek(){return this.data[0]}_up(a){let{data:h,compare:A}=this,x=h[a];for(;a>0;){let E=a-1>>1,P=h[E];if(A(x,P)>=0)break;h[a]=P,a=E}h[a]=x}_down(a){let{data:h,compare:A}=this,x=this.length>>1,E=h[a];for(;a=0)break;h[a]=D,a=P}h[a]=E}}function uJ(u,a){return ua?1:0}function hJ(u,a=1,h=!1){let A=1/0,x=1/0,E=-1/0,P=-1/0,D=u[0];for(let at=0;atE)&&(E=ct.x),(!at||ct.y>P)&&(P=ct.y)}let F=Math.min(E-A,P-x),V=F/2,q=new cJ([],fJ);if(F===0)return new w(A,x);for(let at=A;atX.d||!X.d)&&(X=at,h&&console.log(\"found best %d after %d probes\",Math.round(1e4*at.d)/1e4,rt)),at.max-X.d<=a||(V=at.h/2,q.push(new k_(at.p.x-V,at.p.y-V,V,u)),q.push(new k_(at.p.x+V,at.p.y-V,V,u)),q.push(new k_(at.p.x-V,at.p.y+V,V,u)),q.push(new k_(at.p.x+V,at.p.y+V,V,u)),rt+=4)}return h&&(console.log(`num probes: ${rt}`),console.log(`best distance: ${X.d}`)),X.p}function fJ(u,a){return a.max-u.max}function k_(u,a,h,A){this.p=new w(u,a),this.h=h,this.d=function(x,E){let P=!1,D=1/0;for(let F=0;Fx.y!=ct.y>x.y&&x.x<(ct.x-at.x)*(x.y-at.y)/(ct.y-at.y)+at.x&&(P=!P),D=Math.min(D,Wt(x,at,ct))}}return(P?1:-1)*Math.sqrt(D)}(this.p,A),this.max=this.d+this.h*Math.SQRT2}var Qo;n.aq=void 0,(Qo=n.aq||(n.aq={}))[Qo.center=1]=\"center\",Qo[Qo.left=2]=\"left\",Qo[Qo.right=3]=\"right\",Qo[Qo.top=4]=\"top\",Qo[Qo.bottom=5]=\"bottom\",Qo[Qo[\"top-left\"]=6]=\"top-left\",Qo[Qo[\"top-right\"]=7]=\"top-right\",Qo[Qo[\"bottom-left\"]=8]=\"bottom-left\",Qo[Qo[\"bottom-right\"]=9]=\"bottom-right\";let AA=7,NC=Number.POSITIVE_INFINITY;function $6(u,a){return a[1]!==NC?function(h,A,x){let E=0,P=0;switch(A=Math.abs(A),x=Math.abs(x),h){case\"top-right\":case\"top-left\":case\"top\":P=x-AA;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":P=-x+AA}switch(h){case\"top-right\":case\"bottom-right\":case\"right\":E=-A;break;case\"top-left\":case\"bottom-left\":case\"left\":E=A}return[E,P]}(u,a[0],a[1]):function(h,A){let x=0,E=0;A<0&&(A=0);let P=A/Math.SQRT2;switch(h){case\"top-right\":case\"top-left\":E=P-AA;break;case\"bottom-right\":case\"bottom-left\":E=-P+AA;break;case\"bottom\":E=-A+AA;break;case\"top\":E=A-AA}switch(h){case\"top-right\":case\"bottom-right\":x=-P;break;case\"top-left\":case\"bottom-left\":x=P;break;case\"left\":x=A;break;case\"right\":x=-A}return[x,E]}(u,a[0])}function X6(u,a,h){var A;let x=u.layout,E=(A=x.get(\"text-variable-anchor-offset\"))===null||A===void 0?void 0:A.evaluate(a,{},h);if(E){let D=E.values,F=[];for(let V=0;Vrt*Hs);q.startsWith(\"top\")?X[1]-=AA:q.startsWith(\"bottom\")&&(X[1]+=AA),F[V+1]=X}return new Go(F)}let P=x.get(\"text-variable-anchor\");if(P){let D;D=u._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[x.get(\"text-radial-offset\").evaluate(a,{},h)*Hs,NC]:x.get(\"text-offset\").evaluate(a,{},h).map(V=>V*Hs);let F=[];for(let V of P)F.push(V,$6(V,D));return new Go(F)}return null}function UC(u){switch(u){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dJ(u,a,h,A,x,E,P,D,F,V,q){let X=E.textMaxSize.evaluate(a,{});X===void 0&&(X=P);let rt=u.layers[0].layout,at=rt.get(\"icon-offset\").evaluate(a,{},q),ct=J6(h.horizontal),mt=P/24,bt=u.tilePixelRatio*mt,Pt=u.tilePixelRatio*X/24,jt=u.tilePixelRatio*D,Rt=u.tilePixelRatio*rt.get(\"symbol-spacing\"),Gt=rt.get(\"text-padding\")*u.tilePixelRatio,Yt=function(Ae,hr,sr,ri=1){let Tn=Ae.get(\"icon-padding\").evaluate(hr,{},sr),Rn=Tn&&Tn.values;return[Rn[0]*ri,Rn[1]*ri,Rn[2]*ri,Rn[3]*ri]}(rt,a,q,u.tilePixelRatio),ce=rt.get(\"text-max-angle\")/180*Math.PI,Ne=rt.get(\"text-rotation-alignment\")!==\"viewport\"&&rt.get(\"symbol-placement\")!==\"point\",ir=rt.get(\"icon-rotation-alignment\")===\"map\"&&rt.get(\"symbol-placement\")!==\"point\",Fe=rt.get(\"symbol-placement\"),Re=Rt/2,Me=rt.get(\"icon-text-fit\"),Ye;A&&Me!==\"none\"&&(u.allowVerticalPlacement&&h.vertical&&(Ye=x6(A,h.vertical,Me,rt.get(\"icon-text-fit-padding\"),at,mt)),ct&&(A=x6(A,ct,Me,rt.get(\"icon-text-fit-padding\"),at,mt)));let Ie=(Ae,hr)=>{hr.x<0||hr.x>=en||hr.y<0||hr.y>=en||function(sr,ri,Tn,Rn,qs,Ql,ja,Is,Po,$o,Ga,Wa,Zs,Ys,ha,Ha,fa,_l,yl,Qs,di,da,Xo,$s,xu){let vh=sr.addToLineVertexArray(ri,Tn),xh,Ud,bu,Uc,vl=0,Vd=0,e1=0,iz=0,YC=-1,QC=-1,jd={},nz=yh(\"\");if(sr.allowVerticalPlacement&&Rn.vertical){let pa=Is.layout.get(\"text-rotate\").evaluate(di,{},$s)+90;bu=new fT(Po,ri,$o,Ga,Wa,Rn.vertical,Zs,Ys,ha,pa),ja&&(Uc=new fT(Po,ri,$o,Ga,Wa,ja,fa,_l,ha,pa))}if(qs){let pa=Is.layout.get(\"icon-rotate\").evaluate(di,{}),Vc=Is.layout.get(\"icon-text-fit\")!==\"none\",m0=Y6(qs,pa,Xo,Vc),wh=ja?Y6(ja,pa,Xo,Vc):void 0;Ud=new fT(Po,ri,$o,Ga,Wa,qs,fa,_l,!1,pa),vl=4*m0.length;let g0=sr.iconSizeData,Pf=null;g0.kind===\"source\"?(Pf=[Ef*Is.layout.get(\"icon-size\").evaluate(di,{})],Pf[0]>fA&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)):g0.kind===\"composite\"&&(Pf=[Ef*da.compositeIconSizes[0].evaluate(di,{},$s),Ef*da.compositeIconSizes[1].evaluate(di,{},$s)],(Pf[0]>fA||Pf[1]>fA)&&Ke(`${sr.layerIds[0]}: Value for \"icon-size\" is >= ${Xx}. Reduce your \"icon-size\".`)),sr.addSymbols(sr.icon,m0,Pf,Qs,yl,di,n.ai.none,ri,vh.lineStartIndex,vh.lineLength,-1,$s),YC=sr.icon.placedSymbolArray.length-1,wh&&(Vd=4*wh.length,sr.addSymbols(sr.icon,wh,Pf,Qs,yl,di,n.ai.vertical,ri,vh.lineStartIndex,vh.lineLength,-1,$s),QC=sr.icon.placedSymbolArray.length-1)}let sz=Object.keys(Rn.horizontal);for(let pa of sz){let Vc=Rn.horizontal[pa];if(!xh){nz=yh(Vc.text);let wh=Is.layout.get(\"text-rotate\").evaluate(di,{},$s);xh=new fT(Po,ri,$o,Ga,Wa,Vc,Zs,Ys,ha,wh)}let m0=Vc.positionedLines.length===1;if(e1+=K6(sr,ri,Vc,Ql,Is,ha,di,Ha,vh,Rn.vertical?n.ai.horizontal:n.ai.horizontalOnly,m0?sz:[pa],jd,YC,da,$s),m0)break}Rn.vertical&&(iz+=K6(sr,ri,Rn.vertical,Ql,Is,ha,di,Ha,vh,n.ai.vertical,[\"vertical\"],jd,QC,da,$s));let mJ=xh?xh.boxStartIndex:sr.collisionBoxArray.length,gJ=xh?xh.boxEndIndex:sr.collisionBoxArray.length,_J=bu?bu.boxStartIndex:sr.collisionBoxArray.length,yJ=bu?bu.boxEndIndex:sr.collisionBoxArray.length,vJ=Ud?Ud.boxStartIndex:sr.collisionBoxArray.length,xJ=Ud?Ud.boxEndIndex:sr.collisionBoxArray.length,bJ=Uc?Uc.boxStartIndex:sr.collisionBoxArray.length,wJ=Uc?Uc.boxEndIndex:sr.collisionBoxArray.length,bh=-1,pT=(pa,Vc)=>pa&&pa.circleDiameter?Math.max(pa.circleDiameter,Vc):Vc;bh=pT(xh,bh),bh=pT(bu,bh),bh=pT(Ud,bh),bh=pT(Uc,bh);let oz=bh>-1?1:0;oz&&(bh*=xu/Hs),sr.glyphOffsetArray.length>=C_.MAX_GLYPHS&&Ke(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),di.sortKey!==void 0&&sr.addToSortKeyRanges(sr.symbolInstances.length,di.sortKey);let SJ=X6(Is,di,$s),[TJ,MJ]=function(pa,Vc){let m0=pa.length,wh=Vc?.values;if(wh?.length>0)for(let g0=0;g0=0?jd.right:-1,jd.center>=0?jd.center:-1,jd.left>=0?jd.left:-1,jd.vertical||-1,YC,QC,nz,mJ,gJ,_J,yJ,vJ,xJ,bJ,wJ,$o,e1,iz,vl,Vd,oz,0,Zs,bh,TJ,MJ)}(u,hr,Ae,h,A,x,Ye,u.layers[0],u.collisionBoxArray,a.index,a.sourceLayerIndex,u.index,bt,[Gt,Gt,Gt,Gt],Ne,F,jt,Yt,ir,at,a,E,V,q,P)};if(Fe===\"line\")for(let Ae of j6(a.geometry,0,0,en,en)){let hr=lJ(Ae,Rt,ce,h.vertical||ct,A,24,Pt,u.overscaling,en);for(let sr of hr)ct&&pJ(u,ct.text,Re,sr)||Ie(Ae,sr)}else if(Fe===\"line-center\"){for(let Ae of a.geometry)if(Ae.length>1){let hr=aJ(Ae,ce,h.vertical||ct,A,24,Pt);hr&&Ie(Ae,hr)}}else if(a.type===\"Polygon\")for(let Ae of _C(a.geometry,0)){let hr=hJ(Ae,16);Ie(Ae[0],new pA(hr.x,hr.y,0))}else if(a.type===\"LineString\")for(let Ae of a.geometry)Ie(Ae,new pA(Ae[0].x,Ae[0].y,0));else if(a.type===\"Point\")for(let Ae of a.geometry)for(let hr of Ae)Ie([hr],new pA(hr.x,hr.y,0))}function K6(u,a,h,A,x,E,P,D,F,V,q,X,rt,at,ct){let mt=function(jt,Rt,Gt,Yt,ce,Ne,ir,Fe){let Re=Yt.layout.get(\"text-rotate\").evaluate(Ne,{})*Math.PI/180,Me=[];for(let Ye of Rt.positionedLines)for(let Ie of Ye.positionedGlyphs){if(!Ie.rect)continue;let Ae=Ie.rect||{},hr=p6+1,sr=!0,ri=1,Tn=0,Rn=(ce||Fe)&&Ie.vertical,qs=Ie.metrics.advance*Ie.scale/2;if(Fe&&Rt.verticalizable&&(Tn=Ye.lineOffset/2-(Ie.imageName?-(Hs-Ie.metrics.width*Ie.scale)/2:(Ie.scale-1)*Hs)),Ie.imageName){let Qs=ir[Ie.imageName];sr=Qs.sdf,ri=Qs.pixelRatio,hr=gl/ri}let Ql=ce?[Ie.x+qs,Ie.y]:[0,0],ja=ce?[0,0]:[Ie.x+qs+Gt[0],Ie.y+Gt[1]-Tn],Is=[0,0];Rn&&(Is=ja,ja=[0,0]);let Po=Ie.metrics.isDoubleResolution?2:1,$o=(Ie.metrics.left-hr)*Ie.scale-qs+ja[0],Ga=(-Ie.metrics.top-hr)*Ie.scale+ja[1],Wa=$o+Ae.w/Po*Ie.scale/ri,Zs=Ga+Ae.h/Po*Ie.scale/ri,Ys=new w($o,Ga),ha=new w(Wa,Ga),Ha=new w($o,Zs),fa=new w(Wa,Zs);if(Rn){let Qs=new w(-qs,qs-Qx),di=-Math.PI/2,da=Hs/2-qs,Xo=new w(5-Qx-da,-(Ie.imageName?da:0)),$s=new w(...Is);Ys._rotateAround(di,Qs)._add(Xo)._add($s),ha._rotateAround(di,Qs)._add(Xo)._add($s),Ha._rotateAround(di,Qs)._add(Xo)._add($s),fa._rotateAround(di,Qs)._add(Xo)._add($s)}if(Re){let Qs=Math.sin(Re),di=Math.cos(Re),da=[di,-Qs,Qs,di];Ys._matMult(da),ha._matMult(da),Ha._matMult(da),fa._matMult(da)}let _l=new w(0,0),yl=new w(0,0);Me.push({tl:Ys,tr:ha,bl:Ha,br:fa,tex:Ae,writingMode:Rt.writingMode,glyphOffset:Ql,sectionIndex:Ie.sectionIndex,isSDF:sr,pixelOffsetTL:_l,pixelOffsetBR:yl,minFontScaleX:0,minFontScaleY:0})}return Me}(0,h,D,x,E,P,A,u.allowVerticalPlacement),bt=u.textSizeData,Pt=null;bt.kind===\"source\"?(Pt=[Ef*x.layout.get(\"text-size\").evaluate(P,{})],Pt[0]>fA&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)):bt.kind===\"composite\"&&(Pt=[Ef*at.compositeTextSizes[0].evaluate(P,{},ct),Ef*at.compositeTextSizes[1].evaluate(P,{},ct)],(Pt[0]>fA||Pt[1]>fA)&&Ke(`${u.layerIds[0]}: Value for \"text-size\" is >= ${Xx}. Reduce your \"text-size\".`)),u.addSymbols(u.text,mt,Pt,D,E,P,V,a,F.lineStartIndex,F.lineLength,rt,ct);for(let jt of q)X[jt]=u.text.placedSymbolArray.length-1;return 4*mt.length}function J6(u){for(let a in u)return u[a];return null}function pJ(u,a,h,A){let x=u.compareText;if(a in x){let E=x[a];for(let P=E.length-1;P>=0;P--)if(A.dist(E[P])>4;if(x!==1)throw new Error(`Got v${x} data when expected v1.`);let E=tz[15&A];if(!E)throw new Error(\"Unrecognized array type.\");let[P]=new Uint16Array(a,2,1),[D]=new Uint32Array(a,4,1);return new VC(D,P,E,a)}constructor(a,h=64,A=Float64Array,x){if(isNaN(a)||a<0)throw new Error(`Unpexpected numItems value: ${a}.`);this.numItems=+a,this.nodeSize=Math.min(Math.max(+h,2),65535),this.ArrayType=A,this.IndexArrayType=a<65536?Uint16Array:Uint32Array;let E=tz.indexOf(this.ArrayType),P=2*a*this.ArrayType.BYTES_PER_ELEMENT,D=a*this.IndexArrayType.BYTES_PER_ELEMENT,F=(8-D%8)%8;if(E<0)throw new Error(`Unexpected typed array class: ${A}.`);x&&x instanceof ArrayBuffer?(this.data=x,this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=2*a,this._finished=!0):(this.data=new ArrayBuffer(8+P+D+F),this.ids=new this.IndexArrayType(this.data,8,a),this.coords=new this.ArrayType(this.data,8+D+F,2*a),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+E]),new Uint16Array(this.data,2,1)[0]=h,new Uint32Array(this.data,4,1)[0]=a)}add(a,h){let A=this._pos>>1;return this.ids[A]=A,this.coords[this._pos++]=a,this.coords[this._pos++]=h,A}finish(){let a=this._pos>>1;if(a!==this.numItems)throw new Error(`Added ${a} items when expected ${this.numItems}.`);return jC(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(a,h,A,x){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:E,coords:P,nodeSize:D}=this,F=[0,E.length-1,0],V=[];for(;F.length;){let q=F.pop()||0,X=F.pop()||0,rt=F.pop()||0;if(X-rt<=D){for(let bt=rt;bt<=X;bt++){let Pt=P[2*bt],jt=P[2*bt+1];Pt>=a&&Pt<=A&&jt>=h&&jt<=x&&V.push(E[bt])}continue}let at=rt+X>>1,ct=P[2*at],mt=P[2*at+1];ct>=a&&ct<=A&&mt>=h&&mt<=x&&V.push(E[at]),(q===0?a<=ct:h<=mt)&&(F.push(rt),F.push(at-1),F.push(1-q)),(q===0?A>=ct:x>=mt)&&(F.push(at+1),F.push(X),F.push(1-q))}return V}within(a,h,A){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:x,coords:E,nodeSize:P}=this,D=[0,x.length-1,0],F=[],V=A*A;for(;D.length;){let q=D.pop()||0,X=D.pop()||0,rt=D.pop()||0;if(X-rt<=P){for(let bt=rt;bt<=X;bt++)rz(E[2*bt],E[2*bt+1],a,h)<=V&&F.push(x[bt]);continue}let at=rt+X>>1,ct=E[2*at],mt=E[2*at+1];rz(ct,mt,a,h)<=V&&F.push(x[at]),(q===0?a-A<=ct:h-A<=mt)&&(D.push(rt),D.push(at-1),D.push(1-q)),(q===0?a+A>=ct:h+A>=mt)&&(D.push(at+1),D.push(X),D.push(1-q))}return F}}function jC(u,a,h,A,x,E){if(x-A<=h)return;let P=A+x>>1;ez(u,a,P,A,x,E),jC(u,a,h,A,P-1,1-E),jC(u,a,h,P+1,x,1-E)}function ez(u,a,h,A,x,E){for(;x>A;){if(x-A>600){let V=x-A+1,q=h-A+1,X=Math.log(V),rt=.5*Math.exp(2*X/3),at=.5*Math.sqrt(X*rt*(V-rt)/V)*(q-V/2<0?-1:1);ez(u,a,h,Math.max(A,Math.floor(h-q*rt/V+at)),Math.min(x,Math.floor(h+(V-q)*rt/V+at)),E)}let P=a[2*h+E],D=A,F=x;for(Jx(u,a,A,h),a[2*x+E]>P&&Jx(u,a,A,x);DP;)F--}a[2*A+E]===P?Jx(u,a,A,F):(F++,Jx(u,a,F,x)),F<=h&&(A=F+1),h<=F&&(x=F-1)}}function Jx(u,a,h,A){GC(u,h,A),GC(a,2*h,2*A),GC(a,2*h+1,2*A+1)}function GC(u,a,h){let A=u[a];u[a]=u[h],u[h]=A}function rz(u,a,h,A){let x=u-h,E=a-A;return x*x+E*E}var WC;n.bh=void 0,(WC=n.bh||(n.bh={})).create=\"create\",WC.load=\"load\",WC.fullLoad=\"fullLoad\";let dT=null,t1=[],HC=1e3/60,qC=\"loadTime\",ZC=\"fullLoadTime\",AJ={mark(u){performance.mark(u)},frame(u){let a=u;dT!=null&&t1.push(a-dT),dT=a},clearMetrics(){dT=null,t1=[],performance.clearMeasures(qC),performance.clearMeasures(ZC);for(let u in n.bh)performance.clearMarks(n.bh[u])},getPerformanceMetrics(){performance.measure(qC,n.bh.create,n.bh.load),performance.measure(ZC,n.bh.create,n.bh.fullLoad);let u=performance.getEntriesByName(qC)[0].duration,a=performance.getEntriesByName(ZC)[0].duration,h=t1.length,A=1/(t1.reduce((E,P)=>E+P,0)/h/1e3),x=t1.filter(E=>E>HC).reduce((E,P)=>E+(P-HC)/HC,0);return{loadTime:u,fullLoadTime:a,fps:A,percentDroppedFrames:x/(h+x)*100,totalFrames:h}}};n.$=function(u,a,h){var A,x,E,P,D,F,V,q,X,rt,at,ct,mt=h[0],bt=h[1],Pt=h[2];return a===u?(u[12]=a[0]*mt+a[4]*bt+a[8]*Pt+a[12],u[13]=a[1]*mt+a[5]*bt+a[9]*Pt+a[13],u[14]=a[2]*mt+a[6]*bt+a[10]*Pt+a[14],u[15]=a[3]*mt+a[7]*bt+a[11]*Pt+a[15]):(x=a[1],E=a[2],P=a[3],D=a[4],F=a[5],V=a[6],q=a[7],X=a[8],rt=a[9],at=a[10],ct=a[11],u[0]=A=a[0],u[1]=x,u[2]=E,u[3]=P,u[4]=D,u[5]=F,u[6]=V,u[7]=q,u[8]=X,u[9]=rt,u[10]=at,u[11]=ct,u[12]=A*mt+D*bt+X*Pt+a[12],u[13]=x*mt+F*bt+rt*Pt+a[13],u[14]=E*mt+V*bt+at*Pt+a[14],u[15]=P*mt+q*bt+ct*Pt+a[15]),u},n.A=je,n.B=Da,n.C=class{constructor(u,a,h){this.receive=A=>{let x=A.data,E=x.id;if(E&&(!x.targetMapId||this.mapId===x.targetMapId))if(x.type===\"\"){delete this.tasks[E];let P=this.cancelCallbacks[E];delete this.cancelCallbacks[E],P&&P()}else Li()||x.mustQueue?(this.tasks[E]=x,this.taskQueue.push(E),this.invoker.trigger()):this.processTask(E,x)},this.process=()=>{if(!this.taskQueue.length)return;let A=this.taskQueue.shift(),x=this.tasks[A];delete this.tasks[A],this.taskQueue.length&&this.invoker.trigger(),x&&this.processTask(A,x)},this.target=u,this.parent=a,this.mapId=h,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},this.invoker=new sJ(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=Li()?u:window}send(u,a,h,A,x=!1){let E=Math.round(1e18*Math.random()).toString(36).substring(0,10);h&&(this.callbacks[E]=h);let P=[],D={id:E,type:u,hasCallback:!!h,targetMapId:A,mustQueue:x,sourceMapId:this.mapId,data:Hl(a,P)};return this.target.postMessage(D,{transfer:P}),{cancel:()=>{h&&delete this.callbacks[E],this.target.postMessage({id:E,type:\"\",targetMapId:A,sourceMapId:this.mapId})}}}processTask(u,a){if(a.type===\"\"){let h=this.callbacks[u];delete this.callbacks[u],h&&(a.error?h(xf(a.error)):h(null,xf(a.data)))}else{let h=!1,A=[],x=a.hasCallback?(D,F)=>{h=!0,delete this.cancelCallbacks[u];let V={id:u,type:\"\",sourceMapId:this.mapId,error:D?Hl(D):null,data:Hl(F,A)};this.target.postMessage(V,{transfer:A})}:D=>{h=!0},E=null,P=xf(a.data);if(this.parent[a.type])E=this.parent[a.type](a.sourceMapId,P,x);else if(\"getWorkerSource\"in this.parent){let D=a.type.split(\".\");E=this.parent.getWorkerSource(a.sourceMapId,D[0],P.source)[D[1]](P,x)}else x(new Error(`Could not find function ${a.type}`));!h&&E&&E.cancel&&(this.cancelCallbacks[u]=E.cancel)}}remove(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)}},n.D=nr,n.E=Nl,n.F=function(u,a){let h={};for(let A=0;A{}}},n.Y=ve,n.Z=function(){var u=new je(16);return je!=Float32Array&&(u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=0,u[12]=0,u[13]=0,u[14]=0),u[0]=1,u[5]=1,u[10]=1,u[15]=1,u},n._=o,n.a=zl,n.a$=class extends st{},n.a0=function(u,a,h){var A=h[0],x=h[1],E=h[2];return u[0]=a[0]*A,u[1]=a[1]*A,u[2]=a[2]*A,u[3]=a[3]*A,u[4]=a[4]*x,u[5]=a[5]*x,u[6]=a[6]*x,u[7]=a[7]*x,u[8]=a[8]*E,u[9]=a[9]*E,u[10]=a[10]*E,u[11]=a[11]*E,u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.a1=qi,n.a2=function(){return Xt++},n.a3=yt,n.a4=C_,n.a5=function(){ua.isLoading()||ua.isLoaded()||f0()!==\"deferred\"||v_()},n.a6=r0,n.a7=S,n.a8=un,n.a9=z6,n.aA=Bc,n.aB=function(u){u=u.slice();let a=Object.create(null);for(let h=0;h{A[P.source]?h.push({command:oi.removeLayer,args:[P.id]}):E.push(P)}),h=h.concat(x),function(P,D,F){D=D||[];let V=(P=P||[]).map(Ia),q=D.map(Ia),X=P.reduce(wo,{}),rt=D.reduce(wo,{}),at=V.slice(),ct=Object.create(null),mt,bt,Pt,jt,Rt,Gt,Yt;for(mt=0,bt=0;mt@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(h,A,x,E)=>{let P=x||E;return a[A]=!P||P.toLowerCase(),\"\"}),a[\"max-age\"]){let h=parseInt(a[\"max-age\"],10);isNaN(h)?delete a[\"max-age\"]:a[\"max-age\"]=h}return a},n.ab=function(u,a){let h=[];for(let A in u)A in a||h.push(A);return h},n.ac=function(u){if(oo==null){let a=u.navigator?u.navigator.userAgent:null;oo=!!u.safari||!(!a||!(/\\b(iPad|iPhone|iPod)\\b/.test(a)||a.match(\"Safari\")&&!a.match(\"Chrome\")))}return oo},n.ad=ut,n.ae=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[0],P=a[1],D=a[2],F=a[3],V=a[4],q=a[5],X=a[6],rt=a[7];return a!==u&&(u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[0]=E*x+V*A,u[1]=P*x+q*A,u[2]=D*x+X*A,u[3]=F*x+rt*A,u[4]=V*x-E*A,u[5]=q*x-P*A,u[6]=X*x-D*A,u[7]=rt*x-F*A,u},n.af=function(u){var a=new je(16);return a[0]=u[0],a[1]=u[1],a[2]=u[2],a[3]=u[3],a[4]=u[4],a[5]=u[5],a[6]=u[6],a[7]=u[7],a[8]=u[8],a[9]=u[9],a[10]=u[10],a[11]=u[11],a[12]=u[12],a[13]=u[13],a[14]=u[14],a[15]=u[15],a},n.ag=Pi,n.ah=function(u,a){let h=0,A=0;if(u.kind===\"constant\")A=u.layoutSize;else if(u.kind!==\"source\"){let{interpolationType:x,minZoom:E,maxZoom:P}=u,D=x?ut(Oa.interpolationFactor(x,a,E,P),0,1):0;u.kind===\"camera\"?A=Da.number(u.minSize,u.maxSize,D):h=D}return{uSizeT:h,uSize:A}},n.aj=function(u,{uSize:a,uSizeT:h},{lowerSize:A,upperSize:x}){return u.kind===\"source\"?A/Ef:u.kind===\"composite\"?Da.number(A/Ef,x/Ef,h):a},n.ak=kC,n.al=function(u,a,h,A){let x=a.y-u.y,E=a.x-u.x,P=A.y-h.y,D=A.x-h.x,F=P*E-D*x;if(F===0)return null;let V=(D*(u.y-h.y)-P*(u.x-h.x))/F;return new w(u.x+V*E,u.y+V*x)},n.am=j6,n.an=L,n.ao=Zr,n.ap=Hs,n.ar=LC,n.as=function(u,a){var h=a[0],A=a[1],x=a[2],E=a[3],P=a[4],D=a[5],F=a[6],V=a[7],q=a[8],X=a[9],rt=a[10],at=a[11],ct=a[12],mt=a[13],bt=a[14],Pt=a[15],jt=h*D-A*P,Rt=h*F-x*P,Gt=h*V-E*P,Yt=A*F-x*D,ce=A*V-E*D,Ne=x*V-E*F,ir=q*mt-X*ct,Fe=q*bt-rt*ct,Re=q*Pt-at*ct,Me=X*bt-rt*mt,Ye=X*Pt-at*mt,Ie=rt*Pt-at*bt,Ae=jt*Ie-Rt*Ye+Gt*Me+Yt*Re-ce*Fe+Ne*ir;return Ae?(u[0]=(D*Ie-F*Ye+V*Me)*(Ae=1/Ae),u[1]=(x*Ye-A*Ie-E*Me)*Ae,u[2]=(mt*Ne-bt*ce+Pt*Yt)*Ae,u[3]=(rt*ce-X*Ne-at*Yt)*Ae,u[4]=(F*Re-P*Ie-V*Fe)*Ae,u[5]=(h*Ie-x*Re+E*Fe)*Ae,u[6]=(bt*Gt-ct*Ne-Pt*Rt)*Ae,u[7]=(q*Ne-rt*Gt+at*Rt)*Ae,u[8]=(P*Ye-D*Re+V*ir)*Ae,u[9]=(A*Re-h*Ye-E*ir)*Ae,u[10]=(ct*ce-mt*Gt+Pt*jt)*Ae,u[11]=(X*Gt-q*ce-at*jt)*Ae,u[12]=(D*Fe-P*Me-F*ir)*Ae,u[13]=(h*Me-A*Fe+x*ir)*Ae,u[14]=(mt*Rt-ct*Yt-bt*jt)*Ae,u[15]=(q*Yt-X*Rt+rt*jt)*Ae,u):null},n.at=UC,n.au=CC,n.av=VC,n.aw=function(){let u={},a=ee.$version;for(let h in ee.$root){let A=ee.$root[h];if(A.required){let x=null;x=h===\"version\"?a:A.type===\"array\"?[]:{},x!=null&&(u[h]=x)}}return u},n.ax=oi,n.ay=__,n.az=Jn,n.b=function(u,a){let h=new Blob([new Uint8Array(u)],{type:\"image/png\"});createImageBitmap(h).then(A=>{a(null,A)}).catch(A=>{a(new Error(`Could not load image because of ${A.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))})},n.b0=Gs,n.b1=function(u,a){var h=u[0],A=u[1],x=u[2],E=u[3],P=u[4],D=u[5],F=u[6],V=u[7],q=u[8],X=u[9],rt=u[10],at=u[11],ct=u[12],mt=u[13],bt=u[14],Pt=u[15],jt=a[0],Rt=a[1],Gt=a[2],Yt=a[3],ce=a[4],Ne=a[5],ir=a[6],Fe=a[7],Re=a[8],Me=a[9],Ye=a[10],Ie=a[11],Ae=a[12],hr=a[13],sr=a[14],ri=a[15];return Math.abs(h-jt)<=we*Math.max(1,Math.abs(h),Math.abs(jt))&&Math.abs(A-Rt)<=we*Math.max(1,Math.abs(A),Math.abs(Rt))&&Math.abs(x-Gt)<=we*Math.max(1,Math.abs(x),Math.abs(Gt))&&Math.abs(E-Yt)<=we*Math.max(1,Math.abs(E),Math.abs(Yt))&&Math.abs(P-ce)<=we*Math.max(1,Math.abs(P),Math.abs(ce))&&Math.abs(D-Ne)<=we*Math.max(1,Math.abs(D),Math.abs(Ne))&&Math.abs(F-ir)<=we*Math.max(1,Math.abs(F),Math.abs(ir))&&Math.abs(V-Fe)<=we*Math.max(1,Math.abs(V),Math.abs(Fe))&&Math.abs(q-Re)<=we*Math.max(1,Math.abs(q),Math.abs(Re))&&Math.abs(X-Me)<=we*Math.max(1,Math.abs(X),Math.abs(Me))&&Math.abs(rt-Ye)<=we*Math.max(1,Math.abs(rt),Math.abs(Ye))&&Math.abs(at-Ie)<=we*Math.max(1,Math.abs(at),Math.abs(Ie))&&Math.abs(ct-Ae)<=we*Math.max(1,Math.abs(ct),Math.abs(Ae))&&Math.abs(mt-hr)<=we*Math.max(1,Math.abs(mt),Math.abs(hr))&&Math.abs(bt-sr)<=we*Math.max(1,Math.abs(bt),Math.abs(sr))&&Math.abs(Pt-ri)<=we*Math.max(1,Math.abs(Pt),Math.abs(ri))},n.b2=function(u,a){return u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[4]=a[4],u[5]=a[5],u[6]=a[6],u[7]=a[7],u[8]=a[8],u[9]=a[9],u[10]=a[10],u[11]=a[11],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15],u},n.b3=function(u,a,h){return u[0]=a[0]*h[0],u[1]=a[1]*h[1],u[2]=a[2]*h[2],u[3]=a[3]*h[3],u},n.b4=function(u,a){return u[0]*a[0]+u[1]*a[1]+u[2]*a[2]+u[3]*a[3]},n.b5=Et,n.b6=O6,n.b7=k6,n.b8=function(u,a,h,A,x){var E,P=1/Math.tan(a/2);return u[0]=P/h,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=P,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[11]=-1,u[12]=0,u[13]=0,u[15]=0,x!=null&&x!==1/0?(u[10]=(x+A)*(E=1/(A-x)),u[14]=2*x*A*E):(u[10]=-1,u[14]=-2*A),u},n.b9=function(u,a,h){var A=Math.sin(h),x=Math.cos(h),E=a[4],P=a[5],D=a[6],F=a[7],V=a[8],q=a[9],X=a[10],rt=a[11];return a!==u&&(u[0]=a[0],u[1]=a[1],u[2]=a[2],u[3]=a[3],u[12]=a[12],u[13]=a[13],u[14]=a[14],u[15]=a[15]),u[4]=E*x+V*A,u[5]=P*x+q*A,u[6]=D*x+X*A,u[7]=F*x+rt*A,u[8]=V*x-E*A,u[9]=q*x-P*A,u[10]=X*x-D*A,u[11]=rt*x-F*A,u},n.bA=f,n.bB=a6,n.bC=Qp,n.bD=ua,n.ba=K,n.bb=J,n.bc=function(u,a){return u[0]=a[0],u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=a[1],u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=a[2],u[11]=0,u[12]=0,u[13]=0,u[14]=0,u[15]=1,u},n.bd=class extends gh{},n.be=BC,n.bf=R6,n.bg=AJ,n.bi=Xi,n.bj=function(u,a,h=!1){if(us===u0||us===iA||us===nA)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");_u=kc.resolveURL(u),us=u0,ph=a,h0(),h||v_()},n.bk=f0,n.bl=function(u,a){let h={};for(let x=0;xAe*Hs)}let Fe=P?\"center\":h.get(\"text-justify\").evaluate(V,{},u.canonical),Re=h.get(\"symbol-placement\"),Me=Re===\"point\"?h.get(\"text-max-width\").evaluate(V,{},u.canonical)*Hs:0,Ye=()=>{u.bucket.allowVerticalPlacement&&o0(Gt)&&(ct.vertical=nT(mt,u.glyphMap,u.glyphPositions,u.imagePositions,q,Me,E,Ne,\"left\",ce,Pt,n.ai.vertical,!0,Re,rt,X))};if(!P&&ir){let Ie=new Set;if(Fe===\"auto\")for(let hr=0;hr{a(null,h),URL.revokeObjectURL(h.src),h.onload=null,window.requestAnimationFrame(()=>{h.src=No})},h.onerror=()=>a(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let A=new Blob([new Uint8Array(u)],{type:\"image/png\"});h.src=u.byteLength?URL.createObjectURL(A):No},n.e=kt,n.f=function(u,a){return Vo(kt(u,{type:\"json\"}),a)},n.g=ki,n.h=kc,n.i=Li,n.j=ao,n.k=as,n.l=cl,n.m=Vo,n.n=function(u){return new MC(u).readFields(WK,[])},n.o=function(u,a,h){if(!u.length)return h(null,[]);let A=u.length,x=new Array(u.length),E=null;u.forEach((P,D)=>{a(P,(F,V)=>{F&&(E=F),x[D]=V,--A==0&&h(E,x)})})},n.p=A6,n.q=Vx,n.r=Hn,n.s=xo,n.t=hh,n.u=Oe,n.v=ee,n.w=Ke,n.x=fh,n.y=za,n.z=function([u,a,h]){return a+=90,a*=Math.PI/180,h*=Math.PI/180,{x:u*Math.cos(a)*Math.sin(h),y:u*Math.sin(a)*Math.sin(h),z:u*Math.cos(h)}}}),i([\"./shared\"],function(n){\"use strict\";class o{constructor(tt){this.keyCache={},tt&&this.replace(tt)}replace(tt){this._layerConfigs={},this._layers={},this.update(tt,[])}update(tt,nt){for(let vt of tt){this._layerConfigs[vt.id]=vt;let xt=this._layers[vt.id]=n.aC(vt);xt._featureFilter=n.a6(xt.filter),this.keyCache[vt.id]&&delete this.keyCache[vt.id]}for(let vt of nt)delete this.keyCache[vt],delete this._layerConfigs[vt],delete this._layers[vt];this.familiesBySource={};let ht=n.bl(Object.values(this._layerConfigs),this.keyCache);for(let vt of ht){let xt=vt.map(se=>this._layers[se.id]),_t=xt[0];if(_t.visibility===\"none\")continue;let Dt=_t.source||\"\",Mt=this.familiesBySource[Dt];Mt||(Mt=this.familiesBySource[Dt]={});let Vt=_t.sourceLayer||\"_geojsonTileLayer\",ie=Mt[Vt];ie||(ie=Mt[Vt]=[]),ie.push(xt)}}}class c{constructor(tt){let nt={},ht=[];for(let Dt in tt){let Mt=tt[Dt],Vt=nt[Dt]={};for(let ie in Mt){let se=Mt[+ie];if(!se||se.bitmap.width===0||se.bitmap.height===0)continue;let ae={x:0,y:0,w:se.bitmap.width+2,h:se.bitmap.height+2};ht.push(ae),Vt[ie]={rect:ae,metrics:se.metrics}}}let{w:vt,h:xt}=n.p(ht),_t=new n.q({width:vt||1,height:xt||1});for(let Dt in tt){let Mt=tt[Dt];for(let Vt in Mt){let ie=Mt[+Vt];if(!ie||ie.bitmap.width===0||ie.bitmap.height===0)continue;let se=nt[Dt][Vt].rect;n.q.copy(ie.bitmap,_t,{x:0,y:0},{x:se.x+1,y:se.y+1},ie.bitmap)}}this.image=_t,this.positions=nt}}n.bm(\"GlyphAtlas\",c);class f{constructor(tt){this.tileID=new n.O(tt.tileID.overscaledZ,tt.tileID.wrap,tt.tileID.canonical.z,tt.tileID.canonical.x,tt.tileID.canonical.y),this.uid=tt.uid,this.zoom=tt.zoom,this.pixelRatio=tt.pixelRatio,this.tileSize=tt.tileSize,this.source=tt.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=tt.showCollisionBoxes,this.collectResourceTiming=!!tt.collectResourceTiming,this.returnDependencies=!!tt.returnDependencies,this.promoteId=tt.promoteId,this.inFlightDependencies=[],this.dependencySentinel=-1}parse(tt,nt,ht,vt,xt){this.status=\"parsing\",this.data=tt,this.collisionBoxArray=new n.a3;let _t=new n.bn(Object.keys(tt.layers).sort()),Dt=new n.bo(this.tileID,this.promoteId);Dt.bucketLayerIDs=[];let Mt={},Vt={featureIndex:Dt,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:ht},ie=nt.familiesBySource[this.source];for(let ni in ie){let Hr=tt.layers[ni];if(!Hr)continue;Hr.version===1&&n.w(`Vector tile source \"${this.source}\" layer \"${ni}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let jn=_t.encode(ni),Bi=[];for(let xn=0;xn=es.maxzoom||es.visibility!==\"none\"&&(_(xn,this.zoom,ht),(Mt[es.id]=es.createBucket({index:Dt.bucketLayerIDs.length,layers:xn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:jn,sourceID:this.source})).populate(Bi,Vt,this.tileID.canonical),Dt.bucketLayerIDs.push(xn.map(oa=>oa.id)))}}let se,ae,lr,vr,Xe=n.aH(Vt.glyphDependencies,ni=>Object.keys(ni).map(Number));this.inFlightDependencies.forEach(ni=>ni?.cancel()),this.inFlightDependencies=[];let cr=++this.dependencySentinel;Object.keys(Xe).length?this.inFlightDependencies.push(vt.send(\"getGlyphs\",{uid:this.uid,stacks:Xe,source:this.source,tileID:this.tileID,type:\"glyphs\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,ae=Hr,zi.call(this)))})):ae={};let wr=Object.keys(Vt.iconDependencies);wr.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:wr,source:this.source,tileID:this.tileID,type:\"icons\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,lr=Hr,zi.call(this)))})):lr={};let xi=Object.keys(Vt.patternDependencies);function zi(){if(se)return xt(se);if(ae&&lr&&vr){let ni=new c(ae),Hr=new n.bp(lr,vr);for(let jn in Mt){let Bi=Mt[jn];Bi instanceof n.a4?(_(Bi.layers,this.zoom,ht),n.bq({bucket:Bi,glyphMap:ae,glyphPositions:ni.positions,imageMap:lr,imagePositions:Hr.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Bi.hasPattern&&(Bi instanceof n.br||Bi instanceof n.bs||Bi instanceof n.bt)&&(_(Bi.layers,this.zoom,ht),Bi.addFeatures(Vt,this.tileID.canonical,Hr.patternPositions))}this.status=\"done\",xt(null,{buckets:Object.values(Mt).filter(jn=>!jn.isEmpty()),featureIndex:Dt,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:ni.image,imageAtlas:Hr,glyphMap:this.returnDependencies?ae:null,iconMap:this.returnDependencies?lr:null,glyphPositions:this.returnDependencies?ni.positions:null})}}xi.length?this.inFlightDependencies.push(vt.send(\"getImages\",{icons:xi,source:this.source,tileID:this.tileID,type:\"patterns\"},(ni,Hr)=>{cr===this.dependencySentinel&&(se||(se=ni,vr=Hr,zi.call(this)))})):vr={},zi.call(this)}}function _(gt,tt,nt){let ht=new n.a8(tt);for(let vt of gt)vt.recalculate(ht,nt)}function w(gt,tt){let nt=n.l(gt.request,(ht,vt,xt,_t)=>{if(ht)tt(ht);else if(vt)try{let Dt=new n.bw.VectorTile(new n.bv(vt));tt(null,{vectorTile:Dt,rawData:vt,cacheControl:xt,expires:_t})}catch(Dt){let Mt=new Uint8Array(vt),Vt=`Unable to parse the tile at ${gt.request.url}, `;Vt+=Mt[0]===31&&Mt[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Dt.messge}`,tt(new Error(Vt))}});return()=>{nt.cancel(),tt()}}class I{constructor(tt,nt,ht,vt){this.actor=tt,this.layerIndex=nt,this.availableImages=ht,this.loadVectorData=vt||w,this.fetching={},this.loading={},this.loaded={}}loadTile(tt,nt){let ht=tt.uid;this.loading||(this.loading={});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request),xt=this.loading[ht]=new f(tt);xt.abort=this.loadVectorData(tt,(_t,Dt)=>{if(delete this.loading[ht],_t||!Dt)return xt.status=\"done\",this.loaded[ht]=xt,nt(_t);let Mt=Dt.rawData,Vt={};Dt.expires&&(Vt.expires=Dt.expires),Dt.cacheControl&&(Vt.cacheControl=Dt.cacheControl);let ie={};if(vt){let se=vt.finish();se&&(ie.resourceTiming=JSON.parse(JSON.stringify(se)))}xt.vectorTile=Dt.vectorTile,xt.parse(Dt.vectorTile,this.layerIndex,this.availableImages,this.actor,(se,ae)=>{if(delete this.fetching[ht],se||!ae)return nt(se);nt(null,n.e({rawTileData:Mt.slice(0)},ae,Vt,ie))}),this.loaded=this.loaded||{},this.loaded[ht]=xt,this.fetching[ht]={rawTileData:Mt,cacheControl:Vt,resourceTiming:ie}})}reloadTile(tt,nt){let ht=this.loaded,vt=tt.uid;if(ht&&ht[vt]){let xt=ht[vt];xt.showCollisionBoxes=tt.showCollisionBoxes,xt.status===\"parsing\"?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,(_t,Dt)=>{if(_t||!Dt)return nt(_t,Dt);let Mt;if(this.fetching[vt]){let{rawTileData:Vt,cacheControl:ie,resourceTiming:se}=this.fetching[vt];delete this.fetching[vt],Mt=n.e({rawTileData:Vt.slice(0)},Dt,ie,se)}else Mt=Dt;nt(null,Mt)}):xt.status===\"done\"&&(xt.vectorTile?xt.parse(xt.vectorTile,this.layerIndex,this.availableImages,this.actor,nt):nt())}}abortTile(tt,nt){let ht=this.loading,vt=tt.uid;ht&&ht[vt]&&ht[vt].abort&&(ht[vt].abort(),delete ht[vt]),nt()}removeTile(tt,nt){let ht=this.loaded,vt=tt.uid;ht&&ht[vt]&&delete ht[vt],nt()}}class R{constructor(){this.loaded={}}loadTile(tt,nt){return n._(this,void 0,void 0,function*(){let{uid:ht,encoding:vt,rawImageData:xt,redFactor:_t,greenFactor:Dt,blueFactor:Mt,baseShift:Vt}=tt,ie=xt.width+2,se=xt.height+2,ae=n.a(xt)?new n.R({width:ie,height:se},yield n.bx(xt,-1,-1,ie,se)):xt,lr=new n.by(ht,ae,vt,_t,Dt,Mt,Vt);this.loaded=this.loaded||{},this.loaded[ht]=lr,nt(null,lr)})}removeTile(tt){let nt=this.loaded,ht=tt.uid;nt&&nt[ht]&&delete nt[ht]}}function N(gt,tt){if(gt.length!==0){j(gt[0],tt);for(var nt=1;nt=Math.abs(Dt)?nt-Mt+Dt:Dt-Mt+nt,nt=Mt}nt+ht>=0!=!!tt&>.reverse()}var Q=n.bz(function gt(tt,nt){var ht,vt=tt&&tt.type;if(vt===\"FeatureCollection\")for(ht=0;ht>31}function Li(gt,tt){for(var nt=gt.loadGeometry(),ht=gt.type,vt=0,xt=0,_t=nt.length,Dt=0;Dt<_t;Dt++){var Mt=nt[Dt],Vt=1;ht===1&&(Vt=Mt.length),tt.writeVarint(rr(1,Vt));for(var ie=ht===3?Mt.length-1:Mt.length,se=0;segt},ih=Math.fround||(Uo=new Float32Array(1),gt=>(Uo[0]=+gt,Uo[0]));var Uo;let Si=3,Ns=5,ll=6;class kc{constructor(tt){this.options=Object.assign(Object.create(No),tt),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(tt){let{log:nt,minZoom:ht,maxZoom:vt}=this.options;nt&&console.time(\"total time\");let xt=`prepare ${tt.length} points`;nt&&console.time(xt),this.points=tt;let _t=[];for(let Mt=0;Mt=ht;Mt--){let Vt=+Date.now();Dt=this.trees[Mt]=this._createTree(this._cluster(Dt,Mt)),nt&&console.log(\"z%d: %d clusters in %dms\",Mt,Dt.numItems,+Date.now()-Vt)}return nt&&console.timeEnd(\"total time\"),this}getClusters(tt,nt){let ht=((tt[0]+180)%360+360)%360-180,vt=Math.max(-90,Math.min(90,tt[1])),xt=tt[2]===180?180:((tt[2]+180)%360+360)%360-180,_t=Math.max(-90,Math.min(90,tt[3]));if(tt[2]-tt[0]>=360)ht=-180,xt=180;else if(ht>xt){let se=this.getClusters([ht,vt,180,_t],nt),ae=this.getClusters([-180,vt,xt,_t],nt);return se.concat(ae)}let Dt=this.trees[this._limitZoom(nt)],Mt=Dt.range(Jn(ht),ki(_t),Jn(xt),ki(vt)),Vt=Dt.data,ie=[];for(let se of Mt){let ae=this.stride*se;ie.push(Vt[ae+Ns]>1?Rc(Vt,ae,this.clusterProps):this.points[Vt[ae+Si]])}return ie}getChildren(tt){let nt=this._getOriginId(tt),ht=this._getOriginZoom(tt),vt=\"No cluster with the specified id.\",xt=this.trees[ht];if(!xt)throw new Error(vt);let _t=xt.data;if(nt*this.stride>=_t.length)throw new Error(vt);let Dt=this.options.radius/(this.options.extent*Math.pow(2,ht-1)),Mt=xt.within(_t[nt*this.stride],_t[nt*this.stride+1],Dt),Vt=[];for(let ie of Mt){let se=ie*this.stride;_t[se+4]===tt&&Vt.push(_t[se+Ns]>1?Rc(_t,se,this.clusterProps):this.points[_t[se+Si]])}if(Vt.length===0)throw new Error(vt);return Vt}getLeaves(tt,nt,ht){let vt=[];return this._appendLeaves(vt,tt,nt=nt||10,ht=ht||0,0),vt}getTile(tt,nt,ht){let vt=this.trees[this._limitZoom(tt)],xt=Math.pow(2,tt),{extent:_t,radius:Dt}=this.options,Mt=Dt/_t,Vt=(ht-Mt)/xt,ie=(ht+1+Mt)/xt,se={features:[]};return this._addTileFeatures(vt.range((nt-Mt)/xt,Vt,(nt+1+Mt)/xt,ie),vt.data,nt,ht,xt,se),nt===0&&this._addTileFeatures(vt.range(1-Mt/xt,Vt,1,ie),vt.data,xt,ht,xt,se),nt===xt-1&&this._addTileFeatures(vt.range(0,Vt,Mt/xt,ie),vt.data,-1,ht,xt,se),se.features.length?se:null}getClusterExpansionZoom(tt){let nt=this._getOriginZoom(tt)-1;for(;nt<=this.options.maxZoom;){let ht=this.getChildren(tt);if(nt++,ht.length!==1)break;tt=ht[0].properties.cluster_id}return nt}_appendLeaves(tt,nt,ht,vt,xt){let _t=this.getChildren(nt);for(let Dt of _t){let Mt=Dt.properties;if(Mt&&Mt.cluster?xt+Mt.point_count<=vt?xt+=Mt.point_count:xt=this._appendLeaves(tt,Mt.cluster_id,ht,vt,xt):xt1,ie,se,ae;if(Vt)ie=Xi(nt,Mt,this.clusterProps),se=nt[Mt],ae=nt[Mt+1];else{let Xe=this.points[nt[Mt+Si]];ie=Xe.properties;let[cr,wr]=Xe.geometry.coordinates;se=Jn(cr),ae=ki(wr)}let lr={type:1,geometry:[[Math.round(this.options.extent*(se*xt-ht)),Math.round(this.options.extent*(ae*xt-vt))]],tags:ie},vr;vr=Vt||this.options.generateId?nt[Mt+Si]:this.points[nt[Mt+Si]].id,vr!==void 0&&(lr.id=vr),_t.features.push(lr)}}_limitZoom(tt){return Math.max(this.options.minZoom,Math.min(Math.floor(+tt),this.options.maxZoom+1))}_cluster(tt,nt){let{radius:ht,extent:vt,reduce:xt,minPoints:_t}=this.options,Dt=ht/(vt*Math.pow(2,nt)),Mt=tt.data,Vt=[],ie=this.stride;for(let se=0;sent&&(cr+=Mt[xi+Ns])}if(cr>Xe&&cr>=_t){let wr,xi=ae*Xe,zi=lr*Xe,ni=-1,Hr=((se/ie|0)<<5)+(nt+1)+this.points.length;for(let jn of vr){let Bi=jn*ie;if(Mt[Bi+2]<=nt)continue;Mt[Bi+2]=nt;let xn=Mt[Bi+Ns];xi+=Mt[Bi]*xn,zi+=Mt[Bi+1]*xn,Mt[Bi+4]=Hr,xt&&(wr||(wr=this._map(Mt,se,!0),ni=this.clusterProps.length,this.clusterProps.push(wr)),xt(wr,this._map(Mt,Bi)))}Mt[se+4]=Hr,Vt.push(xi/cr,zi/cr,1/0,Hr,-1,cr),xt&&Vt.push(ni)}else{for(let wr=0;wr1)for(let wr of vr){let xi=wr*ie;if(!(Mt[xi+2]<=nt)){Mt[xi+2]=nt;for(let zi=0;zi>5}_getOriginZoom(tt){return(tt-this.points.length)%32}_map(tt,nt,ht){if(tt[nt+Ns]>1){let _t=this.clusterProps[tt[nt+ll]];return ht?Object.assign({},_t):_t}let vt=this.points[tt[nt+Si]].properties,xt=this.options.map(vt);return ht&&xt===vt?Object.assign({},xt):xt}}function Rc(gt,tt,nt){return{type:\"Feature\",id:gt[tt+Si],properties:Xi(gt,tt,nt),geometry:{type:\"Point\",coordinates:[(ht=gt[tt],360*(ht-.5)),ts(gt[tt+1])]}};var ht}function Xi(gt,tt,nt){let ht=gt[tt+Ns],vt=ht>=1e4?`${Math.round(ht/1e3)}k`:ht>=1e3?Math.round(ht/100)/10+\"k\":ht,xt=gt[tt+ll],_t=xt===-1?{}:Object.assign({},nt[xt]);return Object.assign(_t,{cluster:!0,cluster_id:gt[tt+Si],point_count:ht,point_count_abbreviated:vt})}function Jn(gt){return gt/360+.5}function ki(gt){let tt=Math.sin(gt*Math.PI/180),nt=.5-.25*Math.log((1+tt)/(1-tt))/Math.PI;return nt<0?0:nt>1?1:nt}function ts(gt){let tt=(180-360*gt)*Math.PI/180;return 360*Math.atan(Math.exp(tt))/Math.PI-90}function Vo(gt,tt,nt,ht){for(var vt,xt=ht,_t=nt-tt>>1,Dt=nt-tt,Mt=gt[tt],Vt=gt[tt+1],ie=gt[nt],se=gt[nt+1],ae=tt+3;aext)vt=ae,xt=lr;else if(lr===xt){var vr=Math.abs(ae-_t);vrht&&(vt-tt>3&&Vo(gt,tt,vt,ht),gt[vt+2]=xt,nt-vt>3&&Vo(gt,vt,nt,ht))}function cl(gt,tt,nt,ht,vt,xt){var _t=vt-nt,Dt=xt-ht;if(_t!==0||Dt!==0){var Mt=((gt-nt)*_t+(tt-ht)*Dt)/(_t*_t+Dt*Dt);Mt>1?(nt=vt,ht=xt):Mt>0&&(nt+=_t*Mt,ht+=Dt*Mt)}return(_t=gt-nt)*_t+(Dt=tt-ht)*Dt}function xo(gt,tt,nt,ht){var vt={id:gt===void 0?null:gt,type:tt,geometry:nt,tags:ht,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(xt){var _t=xt.geometry,Dt=xt.type;if(Dt===\"Point\"||Dt===\"MultiPoint\"||Dt===\"LineString\")Pa(xt,_t);else if(Dt===\"Polygon\"||Dt===\"MultiLineString\")for(var Mt=0;Mt<_t.length;Mt++)Pa(xt,_t[Mt]);else if(Dt===\"MultiPolygon\")for(Mt=0;Mt<_t.length;Mt++)for(var Vt=0;Vt<_t[Mt].length;Vt++)Pa(xt,_t[Mt][Vt])}(vt),vt}function Pa(gt,tt){for(var nt=0;nt0&&(_t+=ht?(vt*Vt-Mt*xt)/2:Math.sqrt(Math.pow(Mt-vt,2)+Math.pow(Vt-xt,2))),vt=Mt,xt=Vt}var ie=tt.length-3;tt[2]=1,Vo(tt,0,ie,nt),tt[ie+2]=1,tt.size=Math.abs(_t),tt.start=0,tt.end=tt.size}function Nl(gt,tt,nt,ht){for(var vt=0;vt1?1:nt}function mn(gt,tt,nt,ht,vt,xt,_t,Dt){if(ht/=tt,xt>=(nt/=tt)&&_t=ht)return null;for(var Mt=[],Vt=0;Vt=nt&&vr=ht)){var Xe=[];if(ae===\"Point\"||ae===\"MultiPoint\")gi(se,Xe,nt,ht,vt);else if(ae===\"LineString\")oi(se,Xe,nt,ht,vt,!1,Dt.lineMetrics);else if(ae===\"MultiLineString\")du(se,Xe,nt,ht,vt,!1);else if(ae===\"Polygon\")du(se,Xe,nt,ht,vt,!0);else if(ae===\"MultiPolygon\")for(var cr=0;cr=nt&&_t<=ht&&(tt.push(gt[xt]),tt.push(gt[xt+1]),tt.push(gt[xt+2]))}}function oi(gt,tt,nt,ht,vt,xt,_t){for(var Dt,Mt,Vt=lo(gt),ie=vt===0?bo:hl,se=gt.start,ae=0;aent&&(Mt=ie(Vt,lr,vr,cr,wr,nt),_t&&(Vt.start=se+Dt*Mt)):xi>ht?zi=nt&&(Mt=ie(Vt,lr,vr,cr,wr,nt),ni=!0),zi>ht&&xi<=ht&&(Mt=ie(Vt,lr,vr,cr,wr,ht),ni=!0),!xt&&ni&&(_t&&(Vt.end=se+Dt*Mt),tt.push(Vt),Vt=lo(gt)),_t&&(se+=Dt)}var Hr=gt.length-3;lr=gt[Hr],vr=gt[Hr+1],Xe=gt[Hr+2],(xi=vt===0?lr:vr)>=nt&&xi<=ht&&ul(Vt,lr,vr,Xe),Hr=Vt.length-3,xt&&Hr>=3&&(Vt[Hr]!==Vt[0]||Vt[Hr+1]!==Vt[1])&&ul(Vt,Vt[0],Vt[1],Vt[2]),Vt.length&&tt.push(Vt)}function lo(gt){var tt=[];return tt.size=gt.size,tt.start=gt.start,tt.end=gt.end,tt}function du(gt,tt,nt,ht,vt,xt){for(var _t=0;_t_t.maxX&&(_t.maxX=ie),se>_t.maxY&&(_t.maxY=se)}return _t}function Ul(gt,tt,nt,ht){var vt=tt.geometry,xt=tt.type,_t=[];if(xt===\"Point\"||xt===\"MultiPoint\")for(var Dt=0;Dt0&&tt.size<(vt?_t:ht))nt.numPoints+=tt.length/3;else{for(var Dt=[],Mt=0;Mt_t)&&(nt.numSimplified++,Dt.push(tt[Mt]),Dt.push(tt[Mt+1])),nt.numPoints++;vt&&function(Vt,ie){for(var se=0,ae=0,lr=Vt.length,vr=lr-2;ae0===ie)for(ae=0,lr=Vt.length;ae24)throw new Error(\"maxZoom should be in the 0-24 range\");if(tt.promoteId&&tt.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var ht=function(vt,xt){var _t=[];if(vt.type===\"FeatureCollection\")for(var Dt=0;Dt1&&console.time(\"creation\"),ae=this.tiles[se]=gn(gt,tt,nt,ht,Mt),this.tileCoords.push({z:tt,x:nt,y:ht}),Vt)){Vt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",tt,nt,ht,ae.numFeatures,ae.numPoints,ae.numSimplified),console.timeEnd(\"creation\"));var lr=\"z\"+tt;this.stats[lr]=(this.stats[lr]||0)+1,this.total++}if(ae.source=gt,vt){if(tt===Mt.maxZoom||tt===vt)continue;var vr=1<1&&console.time(\"clipping\");var Xe,cr,wr,xi,zi,ni,Hr=.5*Mt.buffer/Mt.extent,jn=.5-Hr,Bi=.5+Hr,xn=1+Hr;Xe=cr=wr=xi=null,zi=mn(gt,ie,nt-Hr,nt+Bi,0,ae.minX,ae.maxX,Mt),ni=mn(gt,ie,nt+jn,nt+xn,0,ae.minX,ae.maxX,Mt),gt=null,zi&&(Xe=mn(zi,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),cr=mn(zi,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),zi=null),ni&&(wr=mn(ni,ie,ht-Hr,ht+Bi,1,ae.minY,ae.maxY,Mt),xi=mn(ni,ie,ht+jn,ht+xn,1,ae.minY,ae.maxY,Mt),ni=null),Vt>1&&console.timeEnd(\"clipping\"),Dt.push(Xe||[],tt+1,2*nt,2*ht),Dt.push(cr||[],tt+1,2*nt,2*ht+1),Dt.push(wr||[],tt+1,2*nt+1,2*ht),Dt.push(xi||[],tt+1,2*nt+1,2*ht+1)}}},Te.prototype.getTile=function(gt,tt,nt){var ht=this.options,vt=ht.extent,xt=ht.debug;if(gt<0||gt>24)return null;var _t=1<1&&console.log(\"drilling down to z%d-%d-%d\",gt,tt,nt);for(var Mt,Vt=gt,ie=tt,se=nt;!Mt&&Vt>0;)Vt--,ie=Math.floor(ie/2),se=Math.floor(se/2),Mt=this.tiles[Dr(Vt,ie,se)];return Mt&&Mt.source?(xt>1&&console.log(\"found parent tile z%d-%d-%d\",Vt,ie,se),xt>1&&console.time(\"drilling down\"),this.splitTile(Mt.source,Vt,ie,se,gt,tt,nt),xt>1&&console.timeEnd(\"drilling down\"),this.tiles[Dt]?ve(this.tiles[Dt],vt):null):null};class Mr extends I{constructor(tt,nt,ht,vt){super(tt,nt,ht),this._dataUpdateable=new Map,this.loadGeoJSON=(xt,_t)=>{let{promoteId:Dt}=xt;if(xt.request)return n.f(xt.request,(Mt,Vt,ie,se)=>{this._dataUpdateable=Us(Vt,Dt)?La(Vt,Dt):void 0,_t(Mt,Vt,ie,se)});if(typeof xt.data==\"string\")try{let Mt=JSON.parse(xt.data);this._dataUpdateable=Us(Mt,Dt)?La(Mt,Dt):void 0,_t(null,Mt)}catch{_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`))}else xt.dataDiff?this._dataUpdateable?(function(Mt,Vt,ie){var se,ae,lr,vr;if(Vt.removeAll&&Mt.clear(),Vt.remove)for(let Xe of Vt.remove)Mt.delete(Xe);if(Vt.add)for(let Xe of Vt.add){let cr=gr(Xe,ie);cr!=null&&Mt.set(cr,Xe)}if(Vt.update)for(let Xe of Vt.update){let cr=Mt.get(Xe.id);if(cr==null)continue;let wr=!Xe.removeAllProperties&&(((se=Xe.removeProperties)===null||se===void 0?void 0:se.length)>0||((ae=Xe.addOrUpdateProperties)===null||ae===void 0?void 0:ae.length)>0);if((Xe.newGeometry||Xe.removeAllProperties||wr)&&(cr=Object.assign({},cr),Mt.set(Xe.id,cr),wr&&(cr.properties=Object.assign({},cr.properties))),Xe.newGeometry&&(cr.geometry=Xe.newGeometry),Xe.removeAllProperties)cr.properties={};else if(((lr=Xe.removeProperties)===null||lr===void 0?void 0:lr.length)>0)for(let xi of Xe.removeProperties)Object.prototype.hasOwnProperty.call(cr.properties,xi)&&delete cr.properties[xi];if(((vr=Xe.addOrUpdateProperties)===null||vr===void 0?void 0:vr.length)>0)for(let{key:xi,value:zi}of Xe.addOrUpdateProperties)cr.properties[xi]=zi}}(this._dataUpdateable,xt.dataDiff,Dt),_t(null,{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())})):_t(new Error(`Cannot update existing geojson data in ${xt.source}`)):_t(new Error(`Input data given to '${xt.source}' is not a valid GeoJSON object.`));return{cancel:()=>{}}},this.loadVectorData=this.loadGeoJSONTile,vt&&(this.loadGeoJSON=vt)}loadGeoJSONTile(tt,nt){let ht=tt.tileID.canonical;if(!this._geoJSONIndex)return nt(null,null);let vt=this._geoJSONIndex.getTile(ht.z,ht.x,ht.y);if(!vt)return nt(null,null);let xt=new class{constructor(Dt){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=n.N,this.length=Dt.length,this._features=Dt}feature(Dt){return new class{constructor(Mt){this._feature=Mt,this.extent=n.N,this.type=Mt.type,this.properties=Mt.tags,\"id\"in Mt&&!isNaN(Mt.id)&&(this.id=parseInt(Mt.id,10))}loadGeometry(){if(this._feature.type===1){let Mt=[];for(let Vt of this._feature.geometry)Mt.push([new n.P(Vt[0],Vt[1])]);return Mt}{let Mt=[];for(let Vt of this._feature.geometry){let ie=[];for(let se of Vt)ie.push(new n.P(se[0],se[1]));Mt.push(ie)}return Mt}}toGeoJSON(Mt,Vt,ie){return et.call(this,Mt,Vt,ie)}}(this._features[Dt])}}(vt.features),_t=zl(xt);_t.byteOffset===0&&_t.byteLength===_t.buffer.byteLength||(_t=new Uint8Array(_t)),nt(null,{vectorTile:xt,rawData:_t.buffer})}loadData(tt,nt){var ht;(ht=this._pendingRequest)===null||ht===void 0||ht.cancel(),this._pendingCallback&&this._pendingCallback(null,{abandoned:!0});let vt=!!(tt&&tt.request&&tt.request.collectResourceTiming)&&new n.bu(tt.request);this._pendingCallback=nt,this._pendingRequest=this.loadGeoJSON(tt,(xt,_t)=>{if(delete this._pendingCallback,delete this._pendingRequest,xt||!_t)return nt(xt);if(typeof _t!=\"object\")return nt(new Error(`Input data given to '${tt.source}' is not a valid GeoJSON object.`));{Q(_t,!0);try{if(tt.filter){let Mt=n.bC(tt.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Mt.result===\"error\")throw new Error(Mt.value.map(ie=>`${ie.key}: ${ie.message}`).join(\", \"));_t={type:\"FeatureCollection\",features:_t.features.filter(ie=>Mt.value.evaluate({zoom:0},ie))}}this._geoJSONIndex=tt.cluster?new kc(function({superclusterOptions:Mt,clusterProperties:Vt}){if(!Vt||!Mt)return Mt;let ie={},se={},ae={accumulated:null,zoom:0},lr={properties:null},vr=Object.keys(Vt);for(let Xe of vr){let[cr,wr]=Vt[Xe],xi=n.bC(wr),zi=n.bC(typeof cr==\"string\"?[cr,[\"accumulated\"],[\"get\",Xe]]:cr);ie[Xe]=xi.value,se[Xe]=zi.value}return Mt.map=Xe=>{lr.properties=Xe;let cr={};for(let wr of vr)cr[wr]=ie[wr].evaluate(ae,lr);return cr},Mt.reduce=(Xe,cr)=>{lr.properties=cr;for(let wr of vr)ae.accumulated=Xe[wr],Xe[wr]=se[wr].evaluate(ae,lr)},Mt}(tt)).load(_t.features):function(Mt,Vt){return new Te(Mt,Vt)}(_t,tt.geojsonVtOptions)}catch(Mt){return nt(Mt)}this.loaded={};let Dt={};if(vt){let Mt=vt.finish();Mt&&(Dt.resourceTiming={},Dt.resourceTiming[tt.source]=JSON.parse(JSON.stringify(Mt)))}nt(null,Dt)}})}reloadTile(tt,nt){let ht=this.loaded;return ht&&ht[tt.uid]?super.reloadTile(tt,nt):this.loadTile(tt,nt)}removeSource(tt,nt){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),nt()}getClusterExpansionZoom(tt,nt){try{nt(null,this._geoJSONIndex.getClusterExpansionZoom(tt.clusterId))}catch(ht){nt(ht)}}getClusterChildren(tt,nt){try{nt(null,this._geoJSONIndex.getChildren(tt.clusterId))}catch(ht){nt(ht)}}getClusterLeaves(tt,nt){try{nt(null,this._geoJSONIndex.getLeaves(tt.clusterId,tt.limit,tt.offset))}catch(ht){nt(ht)}}}class sa{constructor(tt){this.self=tt,this.actor=new n.C(tt,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:I,geojson:Mr},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(nt,ht)=>{if(this.workerSourceTypes[nt])throw new Error(`Worker source with name \"${nt}\" already registered.`);this.workerSourceTypes[nt]=ht},this.self.registerRTLTextPlugin=nt=>{if(n.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");n.bD.applyArabicShaping=nt.applyArabicShaping,n.bD.processBidirectionalText=nt.processBidirectionalText,n.bD.processStyledBidirectionalText=nt.processStyledBidirectionalText}}setReferrer(tt,nt){this.referrer=nt}setImages(tt,nt,ht){this.availableImages[tt]=nt;for(let vt in this.workerSources[tt]){let xt=this.workerSources[tt][vt];for(let _t in xt)xt[_t].availableImages=nt}ht()}setLayers(tt,nt,ht){this.getLayerIndex(tt).replace(nt),ht()}updateLayers(tt,nt,ht){this.getLayerIndex(tt).update(nt.layers,nt.removedIds),ht()}loadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).loadTile(nt,ht)}loadDEMTile(tt,nt,ht){this.getDEMWorkerSource(tt,nt.source).loadTile(nt,ht)}reloadTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).reloadTile(nt,ht)}abortTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).abortTile(nt,ht)}removeTile(tt,nt,ht){this.getWorkerSource(tt,nt.type,nt.source).removeTile(nt,ht)}removeDEMTile(tt,nt){this.getDEMWorkerSource(tt,nt.source).removeTile(nt)}removeSource(tt,nt,ht){if(!this.workerSources[tt]||!this.workerSources[tt][nt.type]||!this.workerSources[tt][nt.type][nt.source])return;let vt=this.workerSources[tt][nt.type][nt.source];delete this.workerSources[tt][nt.type][nt.source],vt.removeSource!==void 0?vt.removeSource(nt,ht):ht()}loadWorkerSource(tt,nt,ht){try{this.self.importScripts(nt.url),ht()}catch(vt){ht(vt.toString())}}syncRTLPluginState(tt,nt,ht){try{n.bD.setState(nt);let vt=n.bD.getPluginURL();if(n.bD.isLoaded()&&!n.bD.isParsed()&&vt!=null){this.self.importScripts(vt);let xt=n.bD.isParsed();ht(xt?void 0:new Error(`RTL Text Plugin failed to import scripts from ${vt}`),xt)}}catch(vt){ht(vt.toString())}}getAvailableImages(tt){let nt=this.availableImages[tt];return nt||(nt=[]),nt}getLayerIndex(tt){let nt=this.layerIndexes[tt];return nt||(nt=this.layerIndexes[tt]=new o),nt}getWorkerSource(tt,nt,ht){return this.workerSources[tt]||(this.workerSources[tt]={}),this.workerSources[tt][nt]||(this.workerSources[tt][nt]={}),this.workerSources[tt][nt][ht]||(this.workerSources[tt][nt][ht]=new this.workerSourceTypes[nt]({send:(vt,xt,_t)=>{this.actor.send(vt,xt,_t,tt)}},this.getLayerIndex(tt),this.getAvailableImages(tt))),this.workerSources[tt][nt][ht]}getDEMWorkerSource(tt,nt){return this.demWorkerSources[tt]||(this.demWorkerSources[tt]={}),this.demWorkerSources[tt][nt]||(this.demWorkerSources[tt][nt]=new R),this.demWorkerSources[tt][nt]}}return n.i()&&(self.worker=new sa(self)),sa}),i([\"./shared\"],function(n){\"use strict\";var o=\"3.6.2\";class c{static testProp(l){if(!c.docStyle)return l[0];for(let d=0;d{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static mousePos(l,d){let v=l.getBoundingClientRect();return new n.P(d.clientX-v.left-l.clientLeft,d.clientY-v.top-l.clientTop)}static touchPos(l,d){let v=l.getBoundingClientRect(),b=[];for(let M=0;M{l=[],d=0,v=0,b={}},T.addThrottleControl=W=>{let Z=v++;return b[Z]=W,Z},T.removeThrottleControl=W=>{delete b[W],B()},T.getImage=(W,Z,$=!0)=>{f.supported&&(W.headers||(W.headers={}),W.headers.accept=\"image/webp,*/*\");let st={requestParameters:W,supportImageRefresh:$,callback:Z,cancelled:!1,completed:!1,cancel:()=>{st.completed||st.cancelled||(st.cancelled=!0,st.innerRequest&&(st.innerRequest.cancel(),d--),B())}};return l.push(st),B(),st};let M=W=>{let{requestParameters:Z,supportImageRefresh:$,callback:st}=W;return n.e(Z,{type:\"image\"}),($!==!1||n.i()||n.g(Z.url)||Z.headers&&!Object.keys(Z.headers).reduce((At,pt)=>At&&pt===\"accept\",!0)?n.m:U)(Z,(At,pt,yt,dt)=>{O(W,st,At,pt,yt,dt)})},O=(W,Z,$,st,At,pt)=>{$?Z($):st instanceof HTMLImageElement||n.a(st)?Z(null,st):st&&((yt,dt)=>{typeof createImageBitmap==\"function\"?n.b(yt,dt):n.d(yt,dt)})(st,(yt,dt)=>{yt!=null?Z(yt):dt!=null&&Z(null,dt,{cacheControl:At,expires:pt})}),W.cancelled||(W.completed=!0,d--,B())},B=()=>{let W=(()=>{let Z=Object.keys(b),$=!1;if(Z.length>0){for(let st of Z)if($=b[st](),$)break}return $})()?n.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:n.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let Z=d;Z0;Z++){let $=l.shift();if($.cancelled){Z--;continue}let st=M($);d++,$.innerRequest=st}},U=(W,Z)=>{let $=new Image,st=W.url,At=!1,pt=W.credentials;return pt&&pt===\"include\"?$.crossOrigin=\"use-credentials\":(pt&&pt===\"same-origin\"||!n.s(st))&&($.crossOrigin=\"anonymous\"),$.fetchPriority=\"high\",$.onload=()=>{Z(null,$),$.onerror=$.onload=null},$.onerror=()=>{At||Z(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\")),$.onerror=$.onload=null},$.src=st,{cancel:()=>{At=!0,$.src=\"\"}}}}(j||(j={})),j.resetRequestQueue(),function(T){T.Glyphs=\"Glyphs\",T.Image=\"Image\",T.Source=\"Source\",T.SpriteImage=\"SpriteImage\",T.SpriteJSON=\"SpriteJSON\",T.Style=\"Style\",T.Tile=\"Tile\",T.Unknown=\"Unknown\"}(Q||(Q={}));class et{constructor(l){this._transformRequestFn=l}transformRequest(l,d){return this._transformRequestFn&&this._transformRequestFn(l,d)||{url:l}}normalizeSpriteURL(l,d,v){let b=function(M){let O=M.match(Y);if(!O)throw new Error(`Unable to parse URL \"${M}\"`);return{protocol:O[1],authority:O[2],path:O[3]||\"/\",params:O[4]?O[4].split(\"&\"):[]}}(l);return b.path+=`${d}${v}`,function(M){let O=M.params.length?`?${M.params.join(\"&\")}`:\"\";return`${M.protocol}://${M.authority}${M.path}${O}`}(b)}setTransformRequest(l){this._transformRequestFn=l}}let Y=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function K(T){var l=new n.A(3);return l[0]=T[0],l[1]=T[1],l[2]=T[2],l}var J,ut=function(T,l,d){return T[0]=l[0]-d[0],T[1]=l[1]-d[1],T[2]=l[2]-d[2],T};J=new n.A(3),n.A!=Float32Array&&(J[0]=0,J[1]=0,J[2]=0);var Et=function(T){var l=T[0],d=T[1];return l*l+d*d};function kt(T){let l=[];if(typeof T==\"string\")l.push({id:\"default\",url:T});else if(T&&T.length>0){let d=[];for(let{id:v,url:b}of T){let M=`${v}${b}`;d.indexOf(M)===-1&&(d.push(M),l.push({id:v,url:b}))}}return l}function Xt(T,l,d,v,b){if(v)return void T(v);if(b!==Object.values(l).length||b!==Object.values(d).length)return;let M={};for(let O in l){M[O]={};let B=n.h.getImageCanvasContext(d[O]),U=l[O];for(let W in U){let{width:Z,height:$,x:st,y:At,sdf:pt,pixelRatio:yt,stretchX:dt,stretchY:Ft,content:Ht}=U[W];M[O][W]={data:null,pixelRatio:yt,sdf:pt,stretchX:dt,stretchY:Ft,content:Ht,spriteData:{width:Z,height:$,x:st,y:At,context:B}}}}T(null,M)}(function(){var T=new n.A(2);n.A!=Float32Array&&(T[0]=0,T[1]=0)})();class qt{constructor(l,d,v,b){this.context=l,this.format=v,this.texture=l.gl.createTexture(),this.update(d,b)}update(l,d,v){let{width:b,height:M}=l,O=!(this.size&&this.size[0]===b&&this.size[1]===M||v),{context:B}=this,{gl:U}=B;if(this.useMipmap=!!(d&&d.useMipmap),U.bindTexture(U.TEXTURE_2D,this.texture),B.pixelStoreUnpackFlipY.set(!1),B.pixelStoreUnpack.set(1),B.pixelStoreUnpackPremultiplyAlpha.set(this.format===U.RGBA&&(!d||d.premultiply!==!1)),O)this.size=[b,M],l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texImage2D(U.TEXTURE_2D,0,this.format,this.format,U.UNSIGNED_BYTE,l):U.texImage2D(U.TEXTURE_2D,0,this.format,b,M,0,this.format,U.UNSIGNED_BYTE,l.data);else{let{x:W,y:Z}=v||{x:0,y:0};l instanceof HTMLImageElement||l instanceof HTMLCanvasElement||l instanceof HTMLVideoElement||l instanceof ImageData||n.a(l)?U.texSubImage2D(U.TEXTURE_2D,0,W,Z,U.RGBA,U.UNSIGNED_BYTE,l):U.texSubImage2D(U.TEXTURE_2D,0,W,Z,b,M,U.RGBA,U.UNSIGNED_BYTE,l.data)}this.useMipmap&&this.isSizePowerOfTwo()&&U.generateMipmap(U.TEXTURE_2D)}bind(l,d,v){let{context:b}=this,{gl:M}=b;M.bindTexture(M.TEXTURE_2D,this.texture),v!==M.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(v=M.LINEAR),l!==this.filter&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MAG_FILTER,l),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_MIN_FILTER,v||l),this.filter=l),d!==this.wrap&&(M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_S,d),M.texParameteri(M.TEXTURE_2D,M.TEXTURE_WRAP_T,d),this.wrap=d)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:l}=this.context;l.deleteTexture(this.texture),this.texture=null}}function le(T){let{userImage:l}=T;return!!(l&&l.render&&l.render())&&(T.data.replace(new Uint8Array(l.data.buffer)),!0)}class ue extends n.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new n.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(l){if(this.loaded!==l&&(this.loaded=l,l)){for(let{ids:d,callback:v}of this.requestors)this._notify(d,v);this.requestors=[]}}getImage(l){let d=this.images[l];if(d&&!d.data&&d.spriteData){let v=d.spriteData;d.data=new n.R({width:v.width,height:v.height},v.context.getImageData(v.x,v.y,v.width,v.height).data),d.spriteData=null}return d}addImage(l,d){if(this.images[l])throw new Error(`Image id ${l} already exist, use updateImage instead`);this._validate(l,d)&&(this.images[l]=d)}_validate(l,d){let v=!0,b=d.data||d.spriteData;return this._validateStretch(d.stretchX,b&&b.width)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchX\" value`))),v=!1),this._validateStretch(d.stretchY,b&&b.height)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"stretchY\" value`))),v=!1),this._validateContent(d.content,d)||(this.fire(new n.j(new Error(`Image \"${l}\" has invalid \"content\" value`))),v=!1),v}_validateStretch(l,d){if(!l)return!0;let v=0;for(let b of l){if(b[0]-1);U++,M[U]=B,O[U]=W,O[U+1]=De}for(let B=0,U=0;B{let B=this.entries[b];B||(B=this.entries[b]={glyphs:{},requests:{},ranges:{}});let U=B.glyphs[M];if(U!==void 0)return void O(null,{stack:b,id:M,glyph:U});if(U=this._tinySDF(B,b,M),U)return B.glyphs[M]=U,void O(null,{stack:b,id:M,glyph:U});let W=Math.floor(M/256);if(256*W>65535)return void O(new Error(\"glyphs > 65535 not supported\"));if(B.ranges[W])return void O(null,{stack:b,id:M,glyph:U});if(!this.url)return void O(new Error(\"glyphsUrl is not set\"));let Z=B.requests[W];Z||(Z=B.requests[W]=[],Sr.loadGlyphRange(b,W,this.url,this.requestManager,($,st)=>{if(st){for(let At in st)this._doesCharSupportLocalGlyph(+At)||(B.glyphs[+At]=st[+At]);B.ranges[W]=!0}for(let At of Z)At($,st);delete B.requests[W]})),Z.push(($,st)=>{$?O($):st&&O(null,{stack:b,id:M,glyph:st[M]||null})})},(b,M)=>{if(b)d(b);else if(M){let O={};for(let{stack:B,id:U,glyph:W}of M)(O[B]||(O[B]={}))[U]=W&&{id:W.id,bitmap:W.bitmap.clone(),metrics:W.metrics};d(null,O)}})}_doesCharSupportLocalGlyph(l){return!!this.localIdeographFontFamily&&(n.u[\"CJK Unified Ideographs\"](l)||n.u[\"Hangul Syllables\"](l)||n.u.Hiragana(l)||n.u.Katakana(l))}_tinySDF(l,d,v){let b=this.localIdeographFontFamily;if(!b||!this._doesCharSupportLocalGlyph(v))return;let M=l.tinySDF;if(!M){let B=\"400\";/bold/i.test(d)?B=\"900\":/medium/i.test(d)?B=\"500\":/light/i.test(d)&&(B=\"200\"),M=l.tinySDF=new Sr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:b,fontWeight:B})}let O=M.draw(String.fromCharCode(v));return{id:v,bitmap:new n.q({width:O.width||60,height:O.height||60},O.data),metrics:{width:O.glyphWidth/2||24,height:O.glyphHeight/2||24,left:O.glyphLeft/2+.5||0,top:O.glyphTop/2-27.5||-8,advance:O.glyphAdvance/2||24,isDoubleResolution:!0}}}}Sr.loadGlyphRange=function(T,l,d,v,b){let M=256*l,O=M+255,B=v.transformRequest(d.replace(\"{fontstack}\",T).replace(\"{range}\",`${M}-${O}`),Q.Glyphs);n.l(B,(U,W)=>{if(U)b(U);else if(W){let Z={};for(let $ of n.n(W))Z[$.id]=$;b(null,Z)}})},Sr.TinySDF=class{constructor({fontSize:T=24,buffer:l=3,radius:d=8,cutoff:v=.25,fontFamily:b=\"sans-serif\",fontWeight:M=\"normal\",fontStyle:O=\"normal\"}={}){this.buffer=l,this.cutoff=v,this.radius=d;let B=this.size=T+4*l,U=this._createCanvas(B),W=this.ctx=U.getContext(\"2d\",{willReadFrequently:!0});W.font=`${O} ${M} ${T}px ${b}`,W.textBaseline=\"alphabetic\",W.textAlign=\"left\",W.fillStyle=\"black\",this.gridOuter=new Float64Array(B*B),this.gridInner=new Float64Array(B*B),this.f=new Float64Array(B),this.z=new Float64Array(B+1),this.v=new Uint16Array(B)}_createCanvas(T){let l=document.createElement(\"canvas\");return l.width=l.height=T,l}draw(T){let{width:l,actualBoundingBoxAscent:d,actualBoundingBoxDescent:v,actualBoundingBoxLeft:b,actualBoundingBoxRight:M}=this.ctx.measureText(T),O=Math.ceil(d),B=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(M-b))),U=Math.min(this.size-this.buffer,O+Math.ceil(v)),W=B+2*this.buffer,Z=U+2*this.buffer,$=Math.max(W*Z,0),st=new Uint8ClampedArray($),At={data:st,width:W,height:Z,glyphWidth:B,glyphHeight:U,glyphTop:O,glyphLeft:0,glyphAdvance:l};if(B===0||U===0)return At;let{ctx:pt,buffer:yt,gridInner:dt,gridOuter:Ft}=this;pt.clearRect(yt,yt,B,U),pt.fillText(T,yt,yt+O);let Ht=pt.getImageData(yt,yt,B,U);Ft.fill(De,0,$),dt.fill(0,0,$);for(let St=0;St0?oe*oe:0,dt[$t]=oe<0?oe*oe:0}}Ke(Ft,0,0,W,Z,W,this.f,this.v,this.z),Ke(dt,yt,yt,B,U,W,this.f,this.v,this.z);for(let St=0;St<$;St++){let Bt=Math.sqrt(Ft[St])-Math.sqrt(dt[St]);st[St]=Math.round(255-255*(Bt/this.radius+this.cutoff))}return At}};class Li{constructor(){this.specification=n.v.light.position}possiblyEvaluate(l,d){return n.z(l.expression.evaluate(d))}interpolate(l,d,v){return{x:n.B.number(l.x,d.x,v),y:n.B.number(l.y,d.y,v),z:n.B.number(l.z,d.z,v)}}}let oo;class zl extends n.E{constructor(l){super(),oo=oo||new n.r({anchor:new n.D(n.v.light.anchor),position:new Li,color:new n.D(n.v.light.color),intensity:new n.D(n.v.light.intensity)}),this._transitionable=new n.T(oo),this.setLight(l),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(l,d={}){if(!this._validate(n.t,l,d))for(let v in l){let b=l[v];v.endsWith(\"-transition\")?this._transitionable.setTransition(v.slice(0,-11),b):this._transitionable.setValue(v,b)}}updateTransitions(l){this._transitioning=this._transitionable.transitioned(l,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(l){this.properties=this._transitioning.possiblyEvaluate(l)}_validate(l,d,v){return(!v||v.validate!==!1)&&n.x(this,l.call(n.y,n.e({value:d,style:{glyphs:!0,sprite:!0},styleSpec:n.v})))}}class No{constructor(l,d){this.width=l,this.height=d,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(l,d){let v=l.join(\",\")+String(d);return this.dashEntry[v]||(this.dashEntry[v]=this.addDash(l,d)),this.dashEntry[v]}getDashRanges(l,d,v){let b=[],M=l.length%2==1?-l[l.length-1]*v:0,O=l[0]*v,B=!0;b.push({left:M,right:O,isDash:B,zeroLength:l[0]===0});let U=l[0];for(let W=1;W1&&(U=l[++B]);let Z=Math.abs(W-U.left),$=Math.abs(W-U.right),st=Math.min(Z,$),At,pt=M/v*(b+1);if(U.isDash){let yt=b-Math.abs(pt);At=Math.sqrt(st*st+yt*yt)}else At=b-Math.sqrt(st*st+pt*pt);this.data[O+W]=Math.max(0,Math.min(255,At+128))}}}addRegularDash(l){for(let B=l.length-1;B>=0;--B){let U=l[B],W=l[B+1];U.zeroLength?l.splice(B,1):W&&W.isDash===U.isDash&&(W.left=U.left,l.splice(B,1))}let d=l[0],v=l[l.length-1];d.isDash===v.isDash&&(d.left=v.left-this.width,v.right=d.right+this.width);let b=this.width*this.nextRow,M=0,O=l[M];for(let B=0;B1&&(O=l[++M]);let U=Math.abs(B-O.left),W=Math.abs(B-O.right),Z=Math.min(U,W);this.data[b+B]=Math.max(0,Math.min(255,(O.isDash?Z:-Z)+128))}}addDash(l,d){let v=d?7:0,b=2*v+1;if(this.nextRow+b>this.height)return n.w(\"LineAtlas out of space\"),null;let M=0;for(let B=0;B{b.send(l,d,M)},v=v||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(l=!0){this.actors.forEach(d=>{d.remove()}),this.actors=[],l&&this.workerPool.release(this.id)}}function Uo(T,l,d){let v=function(b,M){if(b)return d(b);if(M){let O=n.F(n.e(M,T),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);M.vector_layers&&(O.vectorLayers=M.vector_layers,O.vectorLayerIds=O.vectorLayers.map(B=>B.id)),d(null,O)}};return T.url?n.f(l.transformRequest(T.url,Q.Source),v):n.h.frame(()=>v(null,T))}class Si{constructor(l,d){l&&(d?this.setSouthWest(l).setNorthEast(d):Array.isArray(l)&&(l.length===4?this.setSouthWest([l[0],l[1]]).setNorthEast([l[2],l[3]]):this.setSouthWest(l[0]).setNorthEast(l[1])))}setNorthEast(l){return this._ne=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}setSouthWest(l){return this._sw=l instanceof n.L?new n.L(l.lng,l.lat):n.L.convert(l),this}extend(l){let d=this._sw,v=this._ne,b,M;if(l instanceof n.L)b=l,M=l;else{if(!(l instanceof Si))return Array.isArray(l)?l.length===4||l.every(Array.isArray)?this.extend(Si.convert(l)):this.extend(n.L.convert(l)):l&&(\"lng\"in l||\"lon\"in l)&&\"lat\"in l?this.extend(n.L.convert(l)):this;if(b=l._sw,M=l._ne,!b||!M)return this}return d||v?(d.lng=Math.min(b.lng,d.lng),d.lat=Math.min(b.lat,d.lat),v.lng=Math.max(M.lng,v.lng),v.lat=Math.max(M.lat,v.lat)):(this._sw=new n.L(b.lng,b.lat),this._ne=new n.L(M.lng,M.lat)),this}getCenter(){return new n.L((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new n.L(this.getWest(),this.getNorth())}getSouthEast(){return new n.L(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(l){let{lng:d,lat:v}=n.L.convert(l),b=this._sw.lng<=d&&d<=this._ne.lng;return this._sw.lng>this._ne.lng&&(b=this._sw.lng>=d&&d>=this._ne.lng),this._sw.lat<=v&&v<=this._ne.lat&&b}static convert(l){return l instanceof Si?l:l&&new Si(l)}static fromLngLat(l,d=0){let v=360*d/40075017,b=v/Math.cos(Math.PI/180*l.lat);return new Si(new n.L(l.lng-b,l.lat-v),new n.L(l.lng+b,l.lat+v))}}class Ns{constructor(l,d,v){this.bounds=Si.convert(this.validateBounds(l)),this.minzoom=d||0,this.maxzoom=v||24}validateBounds(l){return Array.isArray(l)&&l.length===4?[Math.max(-180,l[0]),Math.max(-90,l[1]),Math.min(180,l[2]),Math.min(90,l[3])]:[-180,-90,180,90]}contains(l){let d=Math.pow(2,l.z),v=Math.floor(n.G(this.bounds.getWest())*d),b=Math.floor(n.H(this.bounds.getNorth())*d),M=Math.ceil(n.G(this.bounds.getEast())*d),O=Math.ceil(n.H(this.bounds.getSouth())*d);return l.x>=v&&l.x=b&&l.y{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(M,O)=>{this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),M?this.fire(new n.j(M)):O&&(n.e(this,O),O.bounds&&(this.tileBounds=new Ns(O.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},this.serialize=()=>n.e({},this._options),this.id=l,this.dispatcher=v,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=n.e({type:\"vector\"},d),this._collectResourceTiming=d.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(b)}loaded(){return this._loaded}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}onAdd(l){this.map=l,this.load()}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}setUrl(l){return this.setSourceProperty(()=>{this.url=l,this._options.url=l}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b={request:this.map._requestManager.transformRequest(v,Q.Tile),uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,tileSize:this.tileSize*l.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function M(O,B){return delete l.request,l.aborted?d(null):O&&O.status!==404?d(O):(B&&B.resourceTiming&&(l.resourceTiming=B.resourceTiming),this.map._refreshExpiredTiles&&B&&l.setExpiryData(B),l.loadVectorData(B,this.map.painter),d(null),void(l.reloadCallback&&(this.loadTile(l,l.reloadCallback),l.reloadCallback=null)))}b.request.collectResourceTiming=this._collectResourceTiming,l.actor&&l.state!==\"expired\"?l.state===\"loading\"?l.reloadCallback=d:l.request=l.actor.send(\"reloadTile\",b,M.bind(this)):(l.actor=this.dispatcher.getActor(),l.request=l.actor.send(\"loadTile\",b,M.bind(this)))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.actor&&l.actor.send(\"abortTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}unloadTile(l){l.unloadVectorData(),l.actor&&l.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id},void 0)}hasTransition(){return!1}}class kc extends n.E{constructor(l,d,v,b){super(),this.id=l,this.dispatcher=v,this.setEventedParent(b),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=n.e({type:\"raster\"},d),n.e(this,n.F(d,[\"url\",\"scheme\",\"tileSize\"]))}load(){this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=Uo(this._options,this.map._requestManager,(l,d)=>{this._tileJSONRequest=null,this._loaded=!0,l?this.fire(new n.j(l)):d&&(n.e(this,d),d.bounds&&(this.tileBounds=new Ns(d.bounds,this.minzoom,this.maxzoom)),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})}loaded(){return this._loaded}onAdd(l){this.map=l,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}setSourceProperty(l){this._tileJSONRequest&&this._tileJSONRequest.cancel(),l(),this.load()}setTiles(l){return this.setSourceProperty(()=>{this._options.tiles=l}),this}serialize(){return n.e({},this._options)}hasTile(l){return!this.tileBounds||this.tileBounds.contains(l.canonical)}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);l.request=j.getImage(this.map._requestManager.transformRequest(v,Q.Tile),(b,M,O)=>{if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(b)l.state=\"errored\",d(b);else if(M){this.map._refreshExpiredTiles&&O&&l.setExpiryData(O);let B=this.map.painter.context,U=B.gl;l.texture=this.map.painter.getTileTexture(M.width),l.texture?l.texture.update(M,{useMipmap:!0}):(l.texture=new qt(B,M,U.RGBA,{useMipmap:!0}),l.texture.bind(U.LINEAR,U.CLAMP_TO_EDGE,U.LINEAR_MIPMAP_NEAREST),B.extTextureFilterAnisotropic&&U.texParameterf(U.TEXTURE_2D,B.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,B.extTextureFilterAnisotropicMax)),l.state=\"loaded\",d(null)}},this.map._refreshExpiredTiles)}abortTile(l,d){l.request&&(l.request.cancel(),delete l.request),d()}unloadTile(l,d){l.texture&&this.map.painter.saveTileTexture(l.texture),d()}hasTransition(){return!1}}class Rc extends kc{constructor(l,d,v,b){super(l,d,v,b),this.type=\"raster-dem\",this.maxzoom=22,this._options=n.e({type:\"raster-dem\"},d),this.encoding=d.encoding||\"mapbox\",this.redFactor=d.redFactor,this.greenFactor=d.greenFactor,this.blueFactor=d.blueFactor,this.baseShift=d.baseShift}loadTile(l,d){let v=l.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),b=this.map._requestManager.transformRequest(v,Q.Tile);function M(O,B){O&&(l.state=\"errored\",d(O)),B&&(l.dem=B,l.needsHillshadePrepare=!0,l.needsTerrainPrepare=!0,l.state=\"loaded\",d(null))}l.neighboringTiles=this._getNeighboringTiles(l.tileID),l.request=j.getImage(b,(O,B,U)=>n._(this,void 0,void 0,function*(){if(delete l.request,l.aborted)l.state=\"unloaded\",d(null);else if(O)l.state=\"errored\",d(O);else if(B){this.map._refreshExpiredTiles&&l.setExpiryData(U);let W=n.a(B)&&n.J()?B:yield function($){return n._(this,void 0,void 0,function*(){if(typeof VideoFrame<\"u\"&&n.K()){let st=$.width+2,At=$.height+2;try{return new n.R({width:st,height:At},yield n.M($,-1,-1,st,At))}catch{}}return n.h.getImageData($,1)})}(B),Z={uid:l.uid,coord:l.tileID,source:this.id,rawImageData:W,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};l.actor&&l.state!==\"expired\"||(l.actor=this.dispatcher.getActor(),l.actor.send(\"loadDEMTile\",Z,M))}}),this.map._refreshExpiredTiles)}_getNeighboringTiles(l){let d=l.canonical,v=Math.pow(2,d.z),b=(d.x-1+v)%v,M=d.x===0?l.wrap-1:l.wrap,O=(d.x+1+v)%v,B=d.x+1===v?l.wrap+1:l.wrap,U={};return U[new n.O(l.overscaledZ,M,d.z,b,d.y).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y).key]={backfilled:!1},d.y>0&&(U[new n.O(l.overscaledZ,M,d.z,b,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,l.wrap,d.z,d.x,d.y-1).key]={backfilled:!1},U[new n.O(l.overscaledZ,B,d.z,O,d.y-1).key]={backfilled:!1}),d.y+1{this._updateWorkerData()},this.serialize=()=>n.e({},this._options,{type:this.type,data:this._data}),this.id=l,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=v.getActor(),this.setEventedParent(b),this._data=d.data,this._options=n.e({},d),this._collectResourceTiming=d.collectResourceTiming,d.maxzoom!==void 0&&(this.maxzoom=d.maxzoom),d.type&&(this.type=d.type),d.attribution&&(this.attribution=d.attribution),this.promoteId=d.promoteId;let M=n.N/this.tileSize;this.workerOptions=n.e({source:this.id,cluster:d.cluster||!1,geojsonVtOptions:{buffer:(d.buffer!==void 0?d.buffer:128)*M,tolerance:(d.tolerance!==void 0?d.tolerance:.375)*M,extent:n.N,maxZoom:this.maxzoom,lineMetrics:d.lineMetrics||!1,generateId:d.generateId||!1},superclusterOptions:{maxZoom:d.clusterMaxZoom!==void 0?d.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,d.clusterMinPoints||2),extent:n.N,radius:(d.clusterRadius||50)*M,log:!1,generateId:d.generateId||!1},clusterProperties:d.clusterProperties,filter:d.filter},d.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}onAdd(l){this.map=l,this.load()}setData(l){return this._data=l,this._updateWorkerData(),this}updateData(l){return this._updateWorkerData(l),this}setClusterOptions(l){return this.workerOptions.cluster=l.cluster,l&&(l.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=l.clusterRadius),l.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=l.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(l,d){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:l,source:this.id},d),this}getClusterChildren(l,d){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:l,source:this.id},d),this}getClusterLeaves(l,d,v,b){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:l,limit:d,offset:v},b),this}_updateWorkerData(l){let d=n.e({},this.workerOptions);l?d.dataDiff=l:typeof this._data==\"string\"?(d.request=this.map._requestManager.transformRequest(n.h.resolveURL(this._data),Q.Source),d.request.collectResourceTiming=this._collectResourceTiming):d.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.actor.send(`${this.type}.loadData`,d,(v,b)=>{if(this._pendingLoads--,this._removed||b&&b.abandoned)return void this.fire(new n.k(\"dataabort\",{dataType:\"source\"}));let M=null;if(b&&b.resourceTiming&&b.resourceTiming[this.id]&&(M=b.resourceTiming[this.id].slice(0)),v)return void this.fire(new n.j(v));let O={dataType:\"source\"};this._collectResourceTiming&&M&&M.length>0&&n.e(O,{resourceTiming:M}),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"metadata\"}))),this.fire(new n.k(\"data\",Object.assign(Object.assign({},O),{sourceDataType:\"content\"})))})}loaded(){return this._pendingLoads===0}loadTile(l,d){let v=l.actor?\"reloadTile\":\"loadTile\";l.actor=this.actor;let b={type:this.type,uid:l.uid,tileID:l.tileID,zoom:l.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};l.request=this.actor.send(v,b,(M,O)=>(delete l.request,l.unloadVectorData(),l.aborted?d(null):M?d(M):(l.loadVectorData(O,this.map.painter,v===\"reloadTile\"),d(null))))}abortTile(l){l.request&&(l.request.cancel(),delete l.request),l.aborted=!0}unloadTile(l){l.unloadVectorData(),this.actor.send(\"removeTile\",{uid:l.uid,type:this.type,source:this.id})}onRemove(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})}hasTransition(){return!1}}var Jn=n.Q([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class ki extends n.E{constructor(l,d,v,b){super(),this.load=(M,O)=>{this._loaded=!1,this.fire(new n.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=j.getImage(this.map._requestManager.transformRequest(this.url,Q.Image),(B,U)=>{this._request=null,this._loaded=!0,B?this.fire(new n.j(B)):U&&(this.image=U,M&&(this.coordinates=M),O&&O(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||!this.image)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture||(this.texture=new qt(M,this.image,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"image\",url:this.options.url,coordinates:this.coordinates}),this.id=l,this.dispatcher=v,this.coordinates=d.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(b),this.options=d}loaded(){return this._loaded}updateImage(l){return l.url?(this._request&&(this._request.cancel(),this._request=null),this.options.url=l.url,this.load(l.coordinates,()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(l){this.map=l,this.load()}onRemove(){this._request&&(this._request.cancel(),this._request=null)}setCoordinates(l){this.coordinates=l;let d=l.map(n.U.fromLngLat);this.tileID=function(b){let M=1/0,O=1/0,B=-1/0,U=-1/0;for(let st of b)M=Math.min(M,st.x),O=Math.min(O,st.y),B=Math.max(B,st.x),U=Math.max(U,st.y);let W=Math.max(B-M,U-O),Z=Math.max(0,Math.floor(-Math.log(W)/Math.LN2)),$=Math.pow(2,Z);return new n.W(Z,Math.floor((M+B)/2*$),Math.floor((O+U)/2*$))}(d),this.minzoom=this.maxzoom=this.tileID.z;let v=d.map(b=>this.tileID.getTilePoint(b)._round());return this._boundsArray=new n.V,this._boundsArray.emplaceBack(v[0].x,v[0].y,0,0),this._boundsArray.emplaceBack(v[1].x,v[1].y,n.N,0),this._boundsArray.emplaceBack(v[3].x,v[3].y,0,n.N),this._boundsArray.emplaceBack(v[2].x,v[2].y,n.N,n.N),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}loadTile(l,d){this.tileID&&this.tileID.equals(l.tileID.canonical)?(this.tiles[String(l.tileID.wrap)]=l,l.buckets={},d(null)):(l.state=\"errored\",d(null))}hasTransition(){return!1}}class ts extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!1;let M=this.options;this.urls=[];for(let O of M.urls)this.urls.push(this.map._requestManager.transformRequest(O,Q.Source).url);n.X(this.urls,(O,B)=>{this._loaded=!0,O?this.fire(new n.j(O)):B&&(this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading())})},this.prepare=()=>{if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let M=this.map.painter.context,O=M.gl;this.boundsBuffer||(this.boundsBuffer=M.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE),O.texSubImage2D(O.TEXTURE_2D,0,0,0,O.RGBA,O.UNSIGNED_BYTE,this.video)):(this.texture=new qt(M,this.video,O.RGBA),this.texture.bind(O.LINEAR,O.CLAMP_TO_EDGE));let B=!1;for(let U in this.tiles){let W=this.tiles[U];W.state!==\"loaded\"&&(W.state=\"loaded\",W.texture=this.texture,B=!0)}B&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"video\",urls:this.urls,coordinates:this.coordinates}),this.roundZoom=!0,this.type=\"video\",this.options=d}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(l){if(this.video){let d=this.video.seekable;ld.end(0)?this.fire(new n.j(new n.Y(`sources.${this.id}`,null,`Playback for this video can be set only between the ${d.start(0)} and ${d.end(0)}-second mark.`))):this.video.currentTime=l}}getVideo(){return this.video}onAdd(l){this.map||(this.map=l,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}hasTransition(){return this.video&&!this.video.paused}}class Vo extends ki{constructor(l,d,v,b){super(l,d,v,b),this.load=()=>{this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new n.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},this.prepare=()=>{let M=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,M=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,M=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let O=this.map.painter.context,B=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Jn.members)),this.boundsSegments||(this.boundsSegments=n.S.simpleSegment(0,0,4,2)),this.texture?(M||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new qt(O,this.canvas,B.RGBA,{premultiply:!0});let U=!1;for(let W in this.tiles){let Z=this.tiles[W];Z.state!==\"loaded\"&&(Z.state=\"loaded\",Z.texture=this.texture,U=!0)}U&&this.fire(new n.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))},this.serialize=()=>({type:\"canvas\",coordinates:this.coordinates}),d.coordinates?Array.isArray(d.coordinates)&&d.coordinates.length===4&&!d.coordinates.some(M=>!Array.isArray(M)||M.length!==2||M.some(O=>typeof O!=\"number\"))||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"coordinates\"'))),d.animate&&typeof d.animate!=\"boolean\"&&this.fire(new n.j(new n.Y(`sources.${l}`,null,'optional \"animate\" property must be a boolean value'))),d.canvas?typeof d.canvas==\"string\"||d.canvas instanceof HTMLCanvasElement||this.fire(new n.j(new n.Y(`sources.${l}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new n.j(new n.Y(`sources.${l}`,null,'missing required property \"canvas\"'))),this.options=d,this.animate=d.animate===void 0||d.animate}getCanvas(){return this.canvas}onAdd(l){this.map=l,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let l of[this.canvas.width,this.canvas.height])if(isNaN(l)||l<=0)return!0;return!1}}let cl={},xo=T=>{switch(T){case\"geojson\":return Xi;case\"image\":return ki;case\"raster\":return kc;case\"raster-dem\":return Rc;case\"vector\":return ll;case\"video\":return ts;case\"canvas\":return Vo}return cl[T]};function Pa(T,l){let d=n.Z();return n.$(d,d,[1,1,0]),n.a0(d,d,[.5*T.width,.5*T.height,1]),n.a1(d,d,T.calculatePosMatrix(l.toUnwrapped()))}function na(T,l,d,v,b,M){let O=function($,st,At){if($)for(let pt of $){let yt=st[pt];if(yt&&yt.source===At&&yt.type===\"fill-extrusion\")return!0}else for(let pt in st){let yt=st[pt];if(yt.source===At&&yt.type===\"fill-extrusion\")return!0}return!1}(b&&b.layers,l,T.id),B=M.maxPitchScaleFactor(),U=T.tilesIn(v,B,O);U.sort(as);let W=[];for(let $ of U)W.push({wrappedTileID:$.tileID.wrapped().key,queryResults:$.tile.queryRenderedFeatures(l,d,T._state,$.queryGeometry,$.cameraQueryGeometry,$.scale,b,M,B,Pa(T.transform,$.tileID))});let Z=function($){let st={},At={};for(let pt of $){let yt=pt.queryResults,dt=pt.wrappedTileID,Ft=At[dt]=At[dt]||{};for(let Ht in yt){let St=yt[Ht],Bt=Ft[Ht]=Ft[Ht]||{},Qt=st[Ht]=st[Ht]||[];for(let $t of St)Bt[$t.featureIndex]||(Bt[$t.featureIndex]=!0,Qt.push($t))}}return st}(W);for(let $ in Z)Z[$].forEach(st=>{let At=st.feature,pt=T.getFeatureState(At.layer[\"source-layer\"],At.id);At.source=At.layer.source,At.layer[\"source-layer\"]&&(At.sourceLayer=At.layer[\"source-layer\"]),At.state=pt});return Z}function as(T,l){let d=T.tileID,v=l.tileID;return d.overscaledZ-v.overscaledZ||d.canonical.y-v.canonical.y||d.wrap-v.wrap||d.canonical.x-v.canonical.x}class ao{constructor(l,d){this.timeAdded=0,this.fadeEndTime=0,this.tileID=l,this.uid=n.a2(),this.uses=0,this.tileSize=d,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(l){let d=l+this.timeAdded;dM.getLayer(W)).filter(Boolean);if(U.length!==0){B.layers=U,B.stateDependentLayerIds&&(B.stateDependentLayers=B.stateDependentLayerIds.map(W=>U.filter(Z=>Z.id===W)[0]));for(let W of U)O[W.id]=B}}return O}(l.buckets,d.style),this.hasSymbolBuckets=!1;for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4){if(this.hasSymbolBuckets=!0,!v)break;M.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let b in this.buckets){let M=this.buckets[b];if(M instanceof n.a4&&M.hasRTLText){this.hasRTLText=!0,n.a5();break}}this.queryPadding=0;for(let b in this.buckets){let M=this.buckets[b];this.queryPadding=Math.max(this.queryPadding,d.style.getLayer(b).queryRadius(M))}l.imageAtlas&&(this.imageAtlas=l.imageAtlas),l.glyphAtlasImage&&(this.glyphAtlasImage=l.glyphAtlasImage)}else this.collisionBoxArray=new n.a3}unloadVectorData(){for(let l in this.buckets)this.buckets[l].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(l){return this.buckets[l.id]}upload(l){for(let v in this.buckets){let b=this.buckets[v];b.uploadPending()&&b.upload(l)}let d=l.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new qt(l,this.imageAtlas.image,d.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new qt(l,this.glyphAtlasImage,d.ALPHA),this.glyphAtlasImage=null)}prepare(l){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(l,this.imageAtlasTexture)}queryRenderedFeatures(l,d,v,b,M,O,B,U,W,Z){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:b,cameraQueryGeometry:M,scale:O,tileSize:this.tileSize,pixelPosMatrix:Z,transform:U,params:B,queryPadding:this.queryPadding*W},l,d,v):{}}querySourceFeatures(l,d){let v=this.latestFeatureIndex;if(!v||!v.rawTileData)return;let b=v.loadVTLayers(),M=d&&d.sourceLayer?d.sourceLayer:\"\",O=b._geojsonTileLayer||b[M];if(!O)return;let B=n.a6(d&&d.filter),{z:U,x:W,y:Z}=this.tileID.canonical,$={z:U,x:W,y:Z};for(let st=0;stv)b=!1;else if(d)if(this.expirationTime{this.remove(l,M)},v)),this.data[b].push(M),this.order.push(b),this.order.length>this.max){let O=this._getAndRemoveByKey(this.order[0]);O&&this.onRemove(O)}return this}has(l){return l.wrapped().key in this.data}getAndRemove(l){return this.has(l)?this._getAndRemoveByKey(l.wrapped().key):null}_getAndRemoveByKey(l){let d=this.data[l].shift();return d.timeout&&clearTimeout(d.timeout),this.data[l].length===0&&delete this.data[l],this.order.splice(this.order.indexOf(l),1),d.value}getByKey(l){let d=this.data[l];return d?d[0].value:null}get(l){return this.has(l)?this.data[l.wrapped().key][0].value:null}remove(l,d){if(!this.has(l))return this;let v=l.wrapped().key,b=d===void 0?0:this.data[v].indexOf(d),M=this.data[v][b];return this.data[v].splice(b,1),M.timeout&&clearTimeout(M.timeout),this.data[v].length===0&&delete this.data[v],this.onRemove(M.value),this.order.splice(this.order.indexOf(v),1),this}setMaxSize(l){for(this.max=l;this.order.length>this.max;){let d=this._getAndRemoveByKey(this.order[0]);d&&this.onRemove(d)}return this}filter(l){let d=[];for(let v in this.data)for(let b of this.data[v])l(b.value)||d.push(b);for(let v of d)this.remove(v.value.tileID,v)}}class ee{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(l,d,v){let b=String(d);if(this.stateChanges[l]=this.stateChanges[l]||{},this.stateChanges[l][b]=this.stateChanges[l][b]||{},n.e(this.stateChanges[l][b],v),this.deletedStates[l]===null){this.deletedStates[l]={};for(let M in this.state[l])M!==b&&(this.deletedStates[l][M]=null)}else if(this.deletedStates[l]&&this.deletedStates[l][b]===null){this.deletedStates[l][b]={};for(let M in this.state[l][b])v[M]||(this.deletedStates[l][b][M]=null)}else for(let M in v)this.deletedStates[l]&&this.deletedStates[l][b]&&this.deletedStates[l][b][M]===null&&delete this.deletedStates[l][b][M]}removeFeatureState(l,d,v){if(this.deletedStates[l]===null)return;let b=String(d);if(this.deletedStates[l]=this.deletedStates[l]||{},v&&d!==void 0)this.deletedStates[l][b]!==null&&(this.deletedStates[l][b]=this.deletedStates[l][b]||{},this.deletedStates[l][b][v]=null);else if(d!==void 0)if(this.stateChanges[l]&&this.stateChanges[l][b])for(v in this.deletedStates[l][b]={},this.stateChanges[l][b])this.deletedStates[l][b][v]=null;else this.deletedStates[l][b]=null;else this.deletedStates[l]=null}getState(l,d){let v=String(d),b=n.e({},(this.state[l]||{})[v],(this.stateChanges[l]||{})[v]);if(this.deletedStates[l]===null)return{};if(this.deletedStates[l]){let M=this.deletedStates[l][d];if(M===null)return{};for(let O in M)delete b[O]}return b}initializeTileState(l,d){l.setFeatureState(this.state,d)}coalesceChanges(l,d){let v={};for(let b in this.stateChanges){this.state[b]=this.state[b]||{};let M={};for(let O in this.stateChanges[b])this.state[b][O]||(this.state[b][O]={}),n.e(this.state[b][O],this.stateChanges[b][O]),M[O]=this.state[b][O];v[b]=M}for(let b in this.deletedStates){this.state[b]=this.state[b]||{};let M={};if(this.deletedStates[b]===null)for(let O in this.state[b])M[O]={},this.state[b][O]={};else for(let O in this.deletedStates[b]){if(this.deletedStates[b][O]===null)this.state[b][O]={};else for(let B of Object.keys(this.deletedStates[b][O]))delete this.state[b][O][B];M[O]=this.state[b][O]}v[b]=v[b]||{},n.e(v[b],M)}if(this.stateChanges={},this.deletedStates={},Object.keys(v).length!==0)for(let b in l)l[b].setFeatureState(v,d)}}class ls extends n.E{constructor(l,d,v){super(),this.id=l,this.dispatcher=v,this.on(\"data\",b=>{b.dataType===\"source\"&&b.sourceDataType===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&b.dataType===\"source\"&&b.sourceDataType===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((b,M,O,B)=>{let U=new(xo(M.type))(b,M,O,B);if(U.id!==b)throw new Error(`Expected Source id to be ${b} instead of ${U.id}`);return U})(l,d,v,this),this._tiles={},this._cache=new Nl(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ee,this._didEmitContent=!1,this._updated=!1}onAdd(l){this.map=l,this._maxTileCacheSize=l?l._maxTileCacheSize:null,this._maxTileCacheZoomLevels=l?l._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(l)}onRemove(l){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(l)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let l in this._tiles){let d=this._tiles[l];if(d.state!==\"loaded\"&&d.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let l=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,l&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(l,d){return this._source.loadTile(l,d)}_unloadTile(l){if(this._source.unloadTile)return this._source.unloadTile(l,()=>{})}_abortTile(l){this._source.abortTile&&this._source.abortTile(l,()=>{}),this._source.fire(new n.k(\"dataabort\",{tile:l,coord:l.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(l){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let d in this._tiles){let v=this._tiles[d];v.upload(l),v.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(l=>l.tileID).sort(mn).map(l=>l.key)}getRenderableIds(l){let d=[];for(let v in this._tiles)this._isIdRenderable(v,l)&&d.push(this._tiles[v]);return l?d.sort((v,b)=>{let M=v.tileID,O=b.tileID,B=new n.P(M.canonical.x,M.canonical.y)._rotate(this.transform.angle),U=new n.P(O.canonical.x,O.canonical.y)._rotate(this.transform.angle);return M.overscaledZ-O.overscaledZ||U.y-B.y||U.x-B.x}).map(v=>v.tileID.key):d.map(v=>v.tileID).sort(mn).map(v=>v.key)}hasRenderableParent(l){let d=this.findLoadedParent(l,0);return!!d&&this._isIdRenderable(d.tileID.key)}_isIdRenderable(l,d){return this._tiles[l]&&this._tiles[l].hasData()&&!this._coveredTiles[l]&&(d||!this._tiles[l].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let l in this._tiles)this._tiles[l].state!==\"errored\"&&this._reloadTile(l,\"reloading\")}}_reloadTile(l,d){let v=this._tiles[l];v&&(v.state!==\"loading\"&&(v.state=d),this._loadTile(v,this._tileLoaded.bind(this,v,l,d)))}_tileLoaded(l,d,v,b){if(b)return l.state=\"errored\",void(b.status!==404?this._source.fire(new n.j(b,{tile:l})):this.update(this.transform,this.terrain));l.timeAdded=n.h.now(),v===\"expired\"&&(l.refreshedUponExpiration=!0),this._setTileReloadTimer(d,l),this.getSource().type===\"raster-dem\"&&l.dem&&this._backfillDEM(l),this._state.initializeTileState(l,this.map?this.map.painter:null),l.aborted||this._source.fire(new n.k(\"data\",{dataType:\"source\",tile:l,coord:l.tileID}))}_backfillDEM(l){let d=this.getRenderableIds();for(let b=0;b1||(Math.abs(O)>1&&(Math.abs(O+U)===1?O+=U:Math.abs(O-U)===1&&(O-=U)),M.dem&&b.dem&&(b.dem.backfillBorder(M.dem,O,B),b.neighboringTiles&&b.neighboringTiles[W]&&(b.neighboringTiles[W].backfilled=!0)))}}getTile(l){return this.getTileByID(l.key)}getTileByID(l){return this._tiles[l]}_retainLoadedChildren(l,d,v,b){for(let M in this._tiles){let O=this._tiles[M];if(b[M]||!O.hasData()||O.tileID.overscaledZ<=d||O.tileID.overscaledZ>v)continue;let B=O.tileID;for(;O&&O.tileID.overscaledZ>d+1;){let W=O.tileID.scaledTo(O.tileID.overscaledZ-1);O=this._tiles[W.key],O&&O.hasData()&&(B=W)}let U=B;for(;U.overscaledZ>d;)if(U=U.scaledTo(U.overscaledZ-1),l[U.key]){b[B.key]=B;break}}}findLoadedParent(l,d){if(l.key in this._loadedParentTiles){let v=this._loadedParentTiles[l.key];return v&&v.tileID.overscaledZ>=d?v:null}for(let v=l.overscaledZ-1;v>=d;v--){let b=l.scaledTo(v),M=this._getLoadedTile(b);if(M)return M}}_getLoadedTile(l){let d=this._tiles[l.key];return d&&d.hasData()?d:this._cache.getByKey(l.wrapped().key)}updateCacheSize(l){let d=Math.ceil(l.width/this._source.tileSize)+1,v=Math.ceil(l.height/this._source.tileSize)+1,b=Math.floor(d*v*(this._maxTileCacheZoomLevels===null?n.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),M=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,b):b;this._cache.setMaxSize(M)}handleWrapJump(l){let d=Math.round((l-(this._prevLng===void 0?l:this._prevLng))/360);if(this._prevLng=l,d){let v={};for(let b in this._tiles){let M=this._tiles[b];M.tileID=M.tileID.unwrapTo(M.tileID.wrap+d),v[M.tileID.key]=M}this._tiles=v;for(let b in this._timers)clearTimeout(this._timers[b]),delete this._timers[b];for(let b in this._tiles)this._setTileReloadTimer(b,this._tiles[b])}}update(l,d){if(this.transform=l,this.terrain=d,!this._sourceLoaded||this._paused)return;let v;this.updateCacheSize(l),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?v=l.getVisibleUnwrappedCoordinates(this._source.tileID).map(Z=>new n.O(Z.canonical.z,Z.wrap,Z.canonical.z,Z.canonical.x,Z.canonical.y)):(v=l.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:d}),this._source.hasTile&&(v=v.filter(Z=>this._source.hasTile(Z)))):v=[];let b=l.coveringZoomLevel(this._source),M=Math.max(b-ls.maxOverzooming,this._source.minzoom),O=Math.max(b+ls.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Z={};for(let $ of v)if($.canonical.z>this._source.minzoom){let st=$.scaledTo($.canonical.z-1);Z[st.key]=st;let At=$.scaledTo(Math.max(this._source.minzoom,Math.min($.canonical.z,5)));Z[At.key]=At}v=v.concat(Object.values(Z))}let B=v.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,B&&this.fire(new n.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let U=this._updateRetainedTiles(v,b);if(gi(this._source.type)){let Z={},$={},st=Object.keys(U),At=n.h.now();for(let pt of st){let yt=U[pt],dt=this._tiles[pt];if(!dt||dt.fadeEndTime!==0&&dt.fadeEndTime<=At)continue;let Ft=this.findLoadedParent(yt,M);Ft&&(this._addTile(Ft.tileID),Z[Ft.tileID.key]=Ft.tileID),$[pt]=yt}this._retainLoadedChildren($,b,O,U);for(let pt in Z)U[pt]||(this._coveredTiles[pt]=!0,U[pt]=Z[pt]);if(d){let pt={},yt={};for(let dt of v)this._tiles[dt.key].hasData()?pt[dt.key]=dt:yt[dt.key]=dt;for(let dt in yt){let Ft=yt[dt].children(this._source.maxzoom);this._tiles[Ft[0].key]&&this._tiles[Ft[1].key]&&this._tiles[Ft[2].key]&&this._tiles[Ft[3].key]&&(pt[Ft[0].key]=U[Ft[0].key]=Ft[0],pt[Ft[1].key]=U[Ft[1].key]=Ft[1],pt[Ft[2].key]=U[Ft[2].key]=Ft[2],pt[Ft[3].key]=U[Ft[3].key]=Ft[3],delete yt[dt])}for(let dt in yt){let Ft=this.findLoadedParent(yt[dt],this._source.minzoom);if(Ft){pt[Ft.tileID.key]=U[Ft.tileID.key]=Ft.tileID;for(let Ht in pt)pt[Ht].isChildOf(Ft.tileID)&&delete pt[Ht]}}for(let dt in this._tiles)pt[dt]||(this._coveredTiles[dt]=!0)}}for(let Z in U)this._tiles[Z].clearFadeHold();let W=n.ab(this._tiles,U);for(let Z of W){let $=this._tiles[Z];$.hasSymbolBuckets&&!$.holdingForFade()?$.setHoldDuration(this.map._fadeDuration):$.hasSymbolBuckets&&!$.symbolFadeFinished()||this._removeTile(Z)}this._updateLoadedParentTileCache()}releaseSymbolFadeTiles(){for(let l in this._tiles)this._tiles[l].holdingForFade()&&this._removeTile(l)}_updateRetainedTiles(l,d){let v={},b={},M=Math.max(d-ls.maxOverzooming,this._source.minzoom),O=Math.max(d+ls.maxUnderzooming,this._source.minzoom),B={};for(let U of l){let W=this._addTile(U);v[U.key]=U,W.hasData()||dthis._source.maxzoom){let $=U.children(this._source.maxzoom)[0],st=this.getTile($);if(st&&st.hasData()){v[$.key]=$;continue}}else{let $=U.children(this._source.maxzoom);if(v[$[0].key]&&v[$[1].key]&&v[$[2].key]&&v[$[3].key])continue}let Z=W.wasRequested();for(let $=U.overscaledZ-1;$>=M;--$){let st=U.scaledTo($);if(b[st.key])break;if(b[st.key]=!0,W=this.getTile(st),!W&&Z&&(W=this._addTile(st)),W){let At=W.hasData();if((Z||At)&&(v[st.key]=st),Z=W.wasRequested(),At)break}}}return v}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let l in this._tiles){let d=[],v,b=this._tiles[l].tileID;for(;b.overscaledZ>0;){if(b.key in this._loadedParentTiles){v=this._loadedParentTiles[b.key];break}d.push(b.key);let M=b.scaledTo(b.overscaledZ-1);if(v=this._getLoadedTile(M),v)break;b=M}for(let M of d)this._loadedParentTiles[M]=v}}_addTile(l){let d=this._tiles[l.key];if(d)return d;d=this._cache.getAndRemove(l),d&&(this._setTileReloadTimer(l.key,d),d.tileID=l,this._state.initializeTileState(d,this.map?this.map.painter:null),this._cacheTimers[l.key]&&(clearTimeout(this._cacheTimers[l.key]),delete this._cacheTimers[l.key],this._setTileReloadTimer(l.key,d)));let v=d;return d||(d=new ao(l,this._source.tileSize*l.overscaleFactor()),this._loadTile(d,this._tileLoaded.bind(this,d,l.key,d.state))),d.uses++,this._tiles[l.key]=d,v||this._source.fire(new n.k(\"dataloading\",{tile:d,coord:d.tileID,dataType:\"source\"})),d}_setTileReloadTimer(l,d){l in this._timers&&(clearTimeout(this._timers[l]),delete this._timers[l]);let v=d.getExpiryTimeout();v&&(this._timers[l]=setTimeout(()=>{this._reloadTile(l,\"expired\"),delete this._timers[l]},v))}_removeTile(l){let d=this._tiles[l];d&&(d.uses--,delete this._tiles[l],this._timers[l]&&(clearTimeout(this._timers[l]),delete this._timers[l]),d.uses>0||(d.hasData()&&d.state!==\"reloading\"?this._cache.add(d.tileID,d,d.getExpiryTimeout()):(d.aborted=!0,this._abortTile(d),this._unloadTile(d))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let l in this._tiles)this._removeTile(l);this._cache.reset()}tilesIn(l,d,v){let b=[],M=this.transform;if(!M)return b;let O=v?M.getCameraQueryGeometry(l):l,B=l.map(pt=>M.pointCoordinate(pt,this.terrain)),U=O.map(pt=>M.pointCoordinate(pt,this.terrain)),W=this.getIds(),Z=1/0,$=1/0,st=-1/0,At=-1/0;for(let pt of U)Z=Math.min(Z,pt.x),$=Math.min($,pt.y),st=Math.max(st,pt.x),At=Math.max(At,pt.y);for(let pt=0;pt=0&&St[1].y+Ht>=0){let Bt=B.map($t=>dt.getTilePoint($t)),Qt=U.map($t=>dt.getTilePoint($t));b.push({tile:yt,tileID:dt,queryGeometry:Bt,cameraQueryGeometry:Qt,scale:Ft})}}return b}getVisibleCoordinates(l){let d=this.getRenderableIds(l).map(v=>this._tiles[v].tileID);for(let v of d)v.posMatrix=this.transform.calculatePosMatrix(v.toUnwrapped());return d}hasTransition(){if(this._source.hasTransition())return!0;if(gi(this._source.type)){let l=n.h.now();for(let d in this._tiles)if(this._tiles[d].fadeEndTime>=l)return!0}return!1}setFeatureState(l,d,v){this._state.updateState(l=l||\"_geojsonTileLayer\",d,v)}removeFeatureState(l,d,v){this._state.removeFeatureState(l=l||\"_geojsonTileLayer\",d,v)}getFeatureState(l,d){return this._state.getState(l=l||\"_geojsonTileLayer\",d)}setDependencies(l,d,v){let b=this._tiles[l];b&&b.setDependencies(d,v)}reloadTilesForDependencies(l,d){for(let v in this._tiles)this._tiles[v].hasDependency(l,d)&&this._reloadTile(v,\"reloading\");this._cache.filter(v=>!v.hasDependency(l,d))}}function mn(T,l){let d=Math.abs(2*T.wrap)-+(T.wrap<0),v=Math.abs(2*l.wrap)-+(l.wrap<0);return T.overscaledZ-l.overscaledZ||v-d||l.canonical.y-T.canonical.y||l.canonical.x-T.canonical.x}function gi(T){return T===\"raster\"||T===\"image\"||T===\"video\"}ls.maxOverzooming=10,ls.maxUnderzooming=3;let oi=\"mapboxgl_preloaded_worker_pool\";class lo{constructor(){this.active={}}acquire(l){if(!this.workers)for(this.workers=[];this.workers.length{d.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[oi]}numActive(){return Object.keys(this.active).length}}let du=Math.floor(n.h.hardwareConcurrency/2),ul;function bo(){return ul||(ul=new lo),ul}lo.workerCount=n.ac(globalThis)?Math.max(Math.min(du,3),1):1;class hl{constructor(l,d){this.reset(l,d)}reset(l,d){this.points=l||[],this._distances=[0];for(let v=1;v0?(b-O)/B:0;return this.points[M].mult(1-U).add(this.points[d].mult(U))}}function Ia(T,l){let d=!0;return T===\"always\"||T!==\"never\"&&l!==\"never\"||(d=!1),d}class wo{constructor(l,d,v){let b=this.boxCells=[],M=this.circleCells=[];this.xCellCount=Math.ceil(l/v),this.yCellCount=Math.ceil(d/v);for(let O=0;Othis.width||b<0||d>this.height)return[];let U=[];if(l<=0&&d<=0&&this.width<=v&&this.height<=b){if(M)return[{key:null,x1:l,y1:d,x2:v,y2:b}];for(let W=0;W0}hitTestCircle(l,d,v,b,M){let O=l-v,B=l+v,U=d-v,W=d+v;if(B<0||O>this.width||W<0||U>this.height)return!1;let Z=[];return this._forEachCell(O,U,B,W,this._queryCellCircle,Z,{hitTest:!0,overlapMode:b,circle:{x:l,y:d,radius:v},seenUids:{box:{},circle:{}}},M),Z.length>0}_queryCell(l,d,v,b,M,O,B,U){let{seenUids:W,hitTest:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!W.box[yt]){W.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(l<=pt[dt+2]&&d<=pt[dt+3]&&v>=pt[dt+0]&&b>=pt[dt+1]&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))&&(O.push({key:Ft,x1:pt[dt],y1:pt[dt+1],x2:pt[dt+2],y2:pt[dt+3]}),Z))return!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!W.circle[yt]){W.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circleAndRectCollide(pt[dt],pt[dt+1],pt[dt+2],l,d,v,b)&&(!U||U(Ft))&&(!Z||!Ia($,Ft.overlapMode))){let Ht=pt[dt],St=pt[dt+1],Bt=pt[dt+2];if(O.push({key:Ft,x1:Ht-Bt,y1:St-Bt,x2:Ht+Bt,y2:St+Bt}),Z)return!0}}}return!1}_queryCellCircle(l,d,v,b,M,O,B,U){let{circle:W,seenUids:Z,overlapMode:$}=B,st=this.boxCells[M];if(st!==null){let pt=this.bboxes;for(let yt of st)if(!Z.box[yt]){Z.box[yt]=!0;let dt=4*yt,Ft=this.boxKeys[yt];if(this._circleAndRectCollide(W.x,W.y,W.radius,pt[dt+0],pt[dt+1],pt[dt+2],pt[dt+3])&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}let At=this.circleCells[M];if(At!==null){let pt=this.circles;for(let yt of At)if(!Z.circle[yt]){Z.circle[yt]=!0;let dt=3*yt,Ft=this.circleKeys[yt];if(this._circlesCollide(pt[dt],pt[dt+1],pt[dt+2],W.x,W.y,W.radius)&&(!U||U(Ft))&&!Ia($,Ft.overlapMode))return O.push(!0),!0}}}_forEachCell(l,d,v,b,M,O,B,U){let W=this._convertToXCellCoord(l),Z=this._convertToYCellCoord(d),$=this._convertToXCellCoord(v),st=this._convertToYCellCoord(b);for(let At=W;At<=$;At++)for(let pt=Z;pt<=st;pt++)if(M.call(this,l,d,v,b,this.xCellCount*pt+At,O,B,U))return}_convertToXCellCoord(l){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(l*this.xScale)))}_convertToYCellCoord(l){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(l*this.yScale)))}_circlesCollide(l,d,v,b,M,O){let B=b-l,U=M-d,W=v+O;return W*W>B*B+U*U}_circleAndRectCollide(l,d,v,b,M,O,B){let U=(O-b)/2,W=Math.abs(l-(b+U));if(W>U+v)return!1;let Z=(B-M)/2,$=Math.abs(d-(M+Z));if($>Z+v)return!1;if(W<=U||$<=Z)return!0;let st=W-U,At=$-Z;return st*st+At*At<=v*v}}function ve(T,l,d,v,b){let M=n.Z();return l?(n.a0(M,M,[1/b,1/b,1]),d||n.ae(M,M,v.angle)):n.a1(M,v.labelPlaneMatrix,T),M}function jo(T,l,d,v,b){if(l){let M=n.af(T);return n.a0(M,M,[b,b,1]),d||n.ae(M,M,-v.angle),M}return v.glCoordMatrix}function gn(T,l,d){let v;d?(v=[T.x,T.y,d(T.x,T.y),1],n.ag(v,v,l)):(v=[T.x,T.y,0,1],vt(v,v,l));let b=v[3];return{point:new n.P(v[0]/b,v[1]/b),signedDistanceFromCamera:b}}function Ul(T,l){return .5+T/l*.5}function Ca(T,l){let d=T[0]/T[3],v=T[1]/T[3];return d>=-l[0]&&d<=l[0]&&v>=-l[1]&&v<=l[1]}function Te(T,l,d,v,b,M,O,B,U,W){let Z=v?T.textSizeData:T.iconSizeData,$=n.ah(Z,d.transform.zoom),st=[256/d.width*2+1,256/d.height*2+1],At=v?T.text.dynamicLayoutVertexArray:T.icon.dynamicLayoutVertexArray;At.clear();let pt=T.lineVertexArray,yt=v?T.text.placedSymbolArray:T.icon.placedSymbolArray,dt=d.transform.width/d.transform.height,Ft=!1;for(let Ht=0;HtMath.abs(d.x-l.x)*v?{useVertical:!0}:(T===n.ai.vertical?l.yd.x)?{needsFlipping:!0}:null}function Us(T,l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt){let dt=l/24,Ft=T.lineOffsetX*dt,Ht=T.lineOffsetY*dt,St;if(T.numGlyphs>1){let Bt=T.glyphStartIndex+T.numGlyphs,Qt=T.lineStartIndex,$t=T.lineStartIndex+T.lineLength,oe=Dr(dt,B,Ft,Ht,d,Z,$,T,U,M,st,pt,yt);if(!oe)return{notEnoughRoom:!0};let pe=gn(oe.first.point,O,yt).point,he=gn(oe.last.point,O,yt).point;if(v&&!d){let be=gr(T.writingMode,pe,he,At);if(be)return be}St=[oe.first];for(let be=T.glyphStartIndex+1;be0?pe.point:La($,oe,Qt,1,b,yt),be=gr(T.writingMode,Qt,he,At);if(be)return be}let Bt=tt(dt*B.getoffsetX(T.glyphStartIndex),Ft,Ht,d,Z,$,T.segment,T.lineStartIndex,T.lineStartIndex+T.lineLength,U,M,st,pt,yt);if(!Bt)return{notEnoughRoom:!0};St=[Bt]}for(let Bt of St)n.ak(W,Bt.point,Bt.angle);return{}}function La(T,l,d,v,b,M){let O=gn(T.add(T.sub(l)._unit()),b,M).point,B=d.sub(O);return d.add(B._mult(v/B.mag()))}function Mr(T,l){let{projectionCache:d,lineVertexArray:v,labelPlaneMatrix:b,tileAnchorPoint:M,distanceFromAnchor:O,getElevation:B,previousVertex:U,direction:W,absOffsetX:Z}=l;if(d.projections[T])return d.projections[T];let $=new n.P(v.getx(T),v.gety(T)),st=gn($,b,B);if(st.signedDistanceFromCamera>0)return d.projections[T]=st.point,st.point;let At=T-W;return La(O===0?M:new n.P(v.getx(At),v.gety(At)),$,U,Z-O+1,b,B)}function sa(T,l,d){return T._unit()._perp()._mult(l*d)}function gt(T,l,d,v,b,M,O,B){let{projectionCache:U,direction:W}=B;if(U.offsets[T])return U.offsets[T];let Z=d.add(l);if(T+W=b)return U.offsets[T]=Z,Z;let $=Mr(T+W,B),st=sa($.sub(d),O,W),At=d.add(st),pt=$.add(st);return U.offsets[T]=n.al(M,Z,At,pt)||Z,U.offsets[T]}function tt(T,l,d,v,b,M,O,B,U,W,Z,$,st,At){let pt=v?T-l:T+l,yt=pt>0?1:-1,dt=0;v&&(yt*=-1,dt=Math.PI),yt<0&&(dt+=Math.PI);let Ft,Ht,St=yt>0?B+O:B+O+1,Bt=b,Qt=b,$t=0,oe=0,pe=Math.abs(pt),he=[],be;for(;$t+oe<=pe;){if(St+=yt,St=U)return null;$t+=oe,Qt=Bt,Ht=Ft;let Ee={projectionCache:$,lineVertexArray:W,labelPlaneMatrix:Z,tileAnchorPoint:M,distanceFromAnchor:$t,getElevation:At,previousVertex:Qt,direction:yt,absOffsetX:pe};if(Bt=Mr(St,Ee),d===0)he.push(Qt),be=Bt.sub(Qt);else{let pr,tr=Bt.sub(Qt);pr=tr.mag()===0?sa(Mr(St+yt,Ee).sub(Bt),d,yt):sa(tr,d,yt),Ht||(Ht=Qt.add(pr)),Ft=gt(St,pr,Bt,B,U,Ht,d,Ee),he.push(Ht),be=Ft.sub(Ht)}oe=be.mag()}let Ze=be._mult((pe-$t)/oe)._add(Ht||Qt),Kr=dt+Math.atan2(Bt.y-Qt.y,Bt.x-Qt.x);return he.push(Ze),{point:Ze,angle:st?Kr:0,path:he}}let nt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ht(T,l){for(let d=0;d=1;Vr--)tr.push(Ee.path[Vr]);for(let Vr=1;Vrgn(ei,U,pt));tr=Vr.some(ei=>ei.signedDistanceFromCamera<=0)?[]:Vr.map(ei=>ei.point)}let Jr=[];if(tr.length>0){let Vr=tr[0].clone(),ei=tr[0].clone();for(let On=1;On=be.x&&ei.x<=Ze.x&&Vr.y>=be.y&&ei.y<=Ze.y?[tr]:ei.xZe.x||ei.yZe.y?[]:n.am([tr],be.x,be.y,Ze.x,Ze.y)}for(let Vr of Jr){Kr.reset(Vr,.25*he);let ei=0;ei=Kr.length<=.5*he?1:Math.ceil(Kr.paddedLength/Gi)+1;for(let On=0;On=this.screenRightBoundary||bthis.screenBottomBoundary}isInsideGrid(l,d,v,b){return v>=0&&l=0&&dv.collisionGroupID===d}}return this.collisionGroups[l]}}function vr(T,l,d,v,b){let{horizontalAlign:M,verticalAlign:O}=n.au(T);return new n.P(-(M-.5)*l+v[0]*b,-(O-.5)*d+v[1]*b)}function Xe(T,l,d,v,b,M){let{x1:O,x2:B,y1:U,y2:W,anchorPointX:Z,anchorPointY:$}=T,st=new n.P(l,d);return v&&st._rotate(b?M:-M),{x1:O+st.x,y1:U+st.y,x2:B+st.x,y2:W+st.y,anchorPointX:Z,anchorPointY:$}}class cr{constructor(l,d,v,b,M){this.transform=l.clone(),this.terrain=d,this.collisionIndex=new _t(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=v,this.retainedQueryData={},this.collisionGroups=new lr(b),this.collisionCircleArrays={},this.prevPlacement=M,M&&(M.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(l,d,v,b){let M=v.getBucket(d),O=v.latestFeatureIndex;if(!M||!O||d.id!==M.layerIds[0])return;let B=v.collisionBoxArray,U=M.layers[0].layout,W=Math.pow(2,this.transform.zoom-v.tileID.overscaledZ),Z=v.tileSize/n.N,$=this.transform.calculatePosMatrix(v.tileID.toUnwrapped()),st=U.get(\"text-pitch-alignment\")===\"map\",At=U.get(\"text-rotation-alignment\")===\"map\",pt=Dt(v,1,this.transform.zoom),yt=ve($,st,At,this.transform,pt),dt=null;if(st){let Ht=jo($,st,At,this.transform,pt);dt=n.a1([],this.transform.labelPlaneMatrix,Ht)}this.retainedQueryData[M.bucketInstanceId]=new ae(M.bucketInstanceId,O,M.sourceLayerIndex,M.index,v.tileID);let Ft={bucket:M,layout:U,posMatrix:$,textLabelPlaneMatrix:yt,labelToScreenMatrix:dt,scale:W,textPixelRatio:Z,holdingForFade:v.holdingForFade(),collisionBoxArray:B,partiallyEvaluatedTextSize:n.ah(M.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(M.sourceID)};if(b)for(let Ht of M.sortKeyRanges){let{sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt}=Ht;l.push({sortKey:St,symbolInstanceStart:Bt,symbolInstanceEnd:Qt,parameters:Ft})}else l.push({symbolInstanceStart:0,symbolInstanceEnd:M.symbolInstances.length,parameters:Ft})}attemptAnchorPlacement(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt){let Ft=n.aq[l.textAnchor],Ht=[l.textOffset0,l.textOffset1],St=vr(Ft,v,b,Ht,M),Bt=this.collisionIndex.placeCollisionBox(Xe(d,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt);if((!yt||this.collisionIndex.placeCollisionBox(Xe(yt,St.x,St.y,O,B,this.transform.angle),$,U,W,Z.predicate,dt).box.length!==0)&&Bt.box.length>0){let Qt;if(this.prevPlacement&&this.prevPlacement.variableOffsets[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID]&&this.prevPlacement.placements[st.crossTileID].text&&(Qt=this.prevPlacement.variableOffsets[st.crossTileID].anchor),st.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[st.crossTileID]={textOffset:Ht,width:v,height:b,anchor:Ft,textBoxScale:M,prevAnchor:Qt},this.markUsedJustification(At,Ft,st,pt),At.allowVerticalPlacement&&(this.markUsedOrientation(At,pt,st),this.placedOrientations[st.crossTileID]=pt),{shift:St,placedGlyphBoxes:Bt}}}placeLayerBucketPart(l,d,v){let{bucket:b,layout:M,posMatrix:O,textLabelPlaneMatrix:B,labelToScreenMatrix:U,textPixelRatio:W,holdingForFade:Z,collisionBoxArray:$,partiallyEvaluatedTextSize:st,collisionGroup:At}=l.parameters,pt=M.get(\"text-optional\"),yt=M.get(\"icon-optional\"),dt=n.ar(M,\"text-overlap\",\"text-allow-overlap\"),Ft=dt===\"always\",Ht=n.ar(M,\"icon-overlap\",\"icon-allow-overlap\"),St=Ht===\"always\",Bt=M.get(\"text-rotation-alignment\")===\"map\",Qt=M.get(\"text-pitch-alignment\")===\"map\",$t=M.get(\"icon-text-fit\")!==\"none\",oe=M.get(\"symbol-z-order\")===\"viewport-y\",pe=Ft&&(St||!b.hasIconData()||yt),he=St&&(Ft||!b.hasTextData()||pt);!b.collisionArrays&&$&&b.deserializeCollisionBoxes($);let be=this.retainedQueryData[b.bucketInstanceId].tileID,Ze=this.terrain?(Ee,pr)=>this.terrain.getElevation(be,Ee,pr):null,Kr=(Ee,pr)=>{var tr,Gi;if(d[Ee.crossTileID])return;if(Z)return void(this.placements[Ee.crossTileID]=new ie(!1,!1,!1));let Jr=!1,Vr=!1,ei=!0,On=null,tn={box:null,offscreen:null},Gs={box:null,offscreen:null},hs=null,Bn=null,qo=null,jr=0,ql=0,Zl=0;pr.textFeatureIndex?jr=pr.textFeatureIndex:Ee.useRuntimeCollisionCircles&&(jr=Ee.featureIndex),pr.verticalTextFeatureIndex&&(ql=pr.verticalTextFeatureIndex);let yu=pr.textBox;if(yu){let Ws=Fn=>{let fs=n.ai.horizontal;if(b.allowVerticalPlacement&&!Fn&&this.prevPlacement){let Zo=this.prevPlacement.placedOrientations[Ee.crossTileID];Zo&&(this.placedOrientations[Ee.crossTileID]=Zo,fs=Zo,this.markUsedOrientation(b,fs,Ee))}return fs},Ps=(Fn,fs)=>{if(b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&pr.verticalTextBox){for(let Zo of b.writingModes)if(Zo===n.ai.vertical?(tn=fs(),Gs=tn):tn=Fn(),tn&&tn.box&&tn.box.length)break}else tn=Fn()},Eo=Ee.textAnchorOffsetStartIndex,yh=Ee.textAnchorOffsetEndIndex;if(yh===Eo){let Fn=(fs,Zo)=>{let _n=this.collisionIndex.placeCollisionBox(fs,dt,W,O,At.predicate,Ze);return _n&&_n.box&&_n.box.length&&(this.markUsedOrientation(b,Zo,Ee),this.placedOrientations[Ee.crossTileID]=Zo),_n};Ps(()=>Fn(yu,n.ai.horizontal),()=>{let fs=pr.verticalTextBox;return b.allowVerticalPlacement&&Ee.numVerticalGlyphVertices>0&&fs?Fn(fs,n.ai.vertical):{box:null,offscreen:null}}),Ws(tn&&tn.box&&tn.box.length)}else{let Fn=n.aq[(Gi=(tr=this.prevPlacement)===null||tr===void 0?void 0:tr.variableOffsets[Ee.crossTileID])===null||Gi===void 0?void 0:Gi.anchor],fs=(_n,ho,Gr)=>{let Ua=_n.x2-_n.x1,S_=_n.y2-_n.y1,zd=Ee.textBoxScale,cA=$t&&Ht===\"never\"?ho:null,Yl={box:[],offscreen:!1},Yo=dt===\"never\"?1:2,me=\"never\";Fn&&Yo++;for(let ke=0;kefs(yu,pr.iconBox,n.ai.horizontal),()=>{let _n=pr.verticalTextBox;return b.allowVerticalPlacement&&!(tn&&tn.box&&tn.box.length)&&Ee.numVerticalGlyphVertices>0&&_n?fs(_n,pr.verticalIconBox,n.ai.vertical):{box:null,offscreen:null}}),tn&&(Jr=tn.box,ei=tn.offscreen);let Zo=Ws(tn&&tn.box);if(!Jr&&this.prevPlacement){let _n=this.prevPlacement.variableOffsets[Ee.crossTileID];_n&&(this.variableOffsets[Ee.crossTileID]=_n,this.markUsedJustification(b,_n.anchor,Ee,Zo))}}}if(hs=tn,Jr=hs&&hs.box&&hs.box.length>0,ei=hs&&hs.offscreen,Ee.useRuntimeCollisionCircles){let Ws=b.text.placedSymbolArray.get(Ee.centerJustifiedTextSymbolIndex),Ps=n.aj(b.textSizeData,st,Ws),Eo=M.get(\"text-padding\");Bn=this.collisionIndex.placeCollisionCircles(dt,Ws,b.lineVertexArray,b.glyphOffsetArray,Ps,O,B,U,v,Qt,At.predicate,Ee.collisionCircleDiameter,Eo,Ze),Bn.circles.length&&Bn.collisionDetected&&!v&&n.w(\"Collisions detected, but collision boxes are not shown\"),Jr=Ft||Bn.circles.length>0&&!Bn.collisionDetected,ei=ei&&Bn.offscreen}if(pr.iconFeatureIndex&&(Zl=pr.iconFeatureIndex),pr.iconBox){let Ws=Ps=>{let Eo=$t&&On?Xe(Ps,On.x,On.y,Bt,Qt,this.transform.angle):Ps;return this.collisionIndex.placeCollisionBox(Eo,Ht,W,O,At.predicate,Ze)};Gs&&Gs.box&&Gs.box.length&&pr.verticalIconBox?(qo=Ws(pr.verticalIconBox),Vr=qo.box.length>0):(qo=Ws(pr.iconBox),Vr=qo.box.length>0),ei=ei&&qo.offscreen}let vu=pt||Ee.numHorizontalGlyphVertices===0&&Ee.numVerticalGlyphVertices===0,_h=yt||Ee.numIconVertices===0;if(vu||_h?_h?vu||(Vr=Vr&&Jr):Jr=Vr&&Jr:Vr=Jr=Vr&&Jr,Jr&&hs&&hs.box&&this.collisionIndex.insertCollisionBox(hs.box,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,Gs&&Gs.box&&ql?ql:jr,At.ID),Vr&&qo&&this.collisionIndex.insertCollisionBox(qo.box,Ht,M.get(\"icon-ignore-placement\"),b.bucketInstanceId,Zl,At.ID),Bn&&(Jr&&this.collisionIndex.insertCollisionCircles(Bn.circles,dt,M.get(\"text-ignore-placement\"),b.bucketInstanceId,jr,At.ID),v)){let Ws=b.bucketInstanceId,Ps=this.collisionCircleArrays[Ws];Ps===void 0&&(Ps=this.collisionCircleArrays[Ws]=new se);for(let Eo=0;Eo=0;--pr){let tr=Ee[pr];Kr(b.symbolInstances.get(tr),b.collisionArrays[tr])}}else for(let Ee=l.symbolInstanceStart;Ee=0&&(l.text.placedSymbolArray.get(B).crossTileID=M>=0&&B!==M?0:v.crossTileID)}markUsedOrientation(l,d,v){let b=d===n.ai.horizontal||d===n.ai.horizontalOnly?d:0,M=d===n.ai.vertical?d:0,O=[v.leftJustifiedTextSymbolIndex,v.centerJustifiedTextSymbolIndex,v.rightJustifiedTextSymbolIndex];for(let B of O)l.text.placedSymbolArray.get(B).placedOrientation=b;v.verticalPlacedTextSymbolIndex&&(l.text.placedSymbolArray.get(v.verticalPlacedTextSymbolIndex).placedOrientation=M)}commit(l){this.commitTime=l,this.zoomAtLastRecencyCheck=this.transform.zoom;let d=this.prevPlacement,v=!1;this.prevZoomAdjustment=d?d.zoomAdjustment(this.transform.zoom):0;let b=d?d.symbolFadeChange(l):1,M=d?d.opacities:{},O=d?d.variableOffsets:{},B=d?d.placedOrientations:{};for(let U in this.placements){let W=this.placements[U],Z=M[U];Z?(this.opacities[U]=new Vt(Z,b,W.text,W.icon),v=v||W.text!==Z.text.placed||W.icon!==Z.icon.placed):(this.opacities[U]=new Vt(null,b,W.text,W.icon,W.skipFade),v=v||W.text||W.icon)}for(let U in M){let W=M[U];if(!this.opacities[U]){let Z=new Vt(W,b,!1,!1);Z.isHidden()||(this.opacities[U]=Z,v=v||W.text.placed||W.icon.placed)}}for(let U in O)this.variableOffsets[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.variableOffsets[U]=O[U]);for(let U in B)this.placedOrientations[U]||!this.opacities[U]||this.opacities[U].isHidden()||(this.placedOrientations[U]=B[U]);if(d&&d.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");v?this.lastPlacementChangeTime=l:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=d?d.lastPlacementChangeTime:l)}updateLayerOpacities(l,d){let v={};for(let b of d){let M=b.getBucket(l);M&&b.latestFeatureIndex&&l.id===M.layerIds[0]&&this.updateBucketOpacities(M,v,b.collisionBoxArray)}}updateBucketOpacities(l,d,v){l.hasTextData()&&(l.text.opacityVertexArray.clear(),l.text.hasVisibleVertices=!1),l.hasIconData()&&(l.icon.opacityVertexArray.clear(),l.icon.hasVisibleVertices=!1),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexArray.clear(),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexArray.clear();let b=l.layers[0],M=b.layout,O=new Vt(null,0,!1,!1,!0),B=M.get(\"text-allow-overlap\"),U=M.get(\"icon-allow-overlap\"),W=b._unevaluatedLayout.hasValue(\"text-variable-anchor\")||b._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Z=M.get(\"text-rotation-alignment\")===\"map\",$=M.get(\"text-pitch-alignment\")===\"map\",st=M.get(\"icon-text-fit\")!==\"none\",At=new Vt(null,0,B&&(U||!l.hasIconData()||M.get(\"icon-optional\")),U&&(B||!l.hasTextData()||M.get(\"text-optional\")),!0);!l.collisionArrays&&v&&(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData())&&l.deserializeCollisionBoxes(v);let pt=(yt,dt,Ft)=>{for(let Ht=0;Ht

0,$t=this.placedOrientations[dt.crossTileID],oe=$t===n.ai.vertical,pe=$t===n.ai.horizontal||$t===n.ai.horizontalOnly;if(Ft>0||Ht>0){let he=es(Bt.text);pt(l.text,Ft,oe?oa:he),pt(l.text,Ht,pe?oa:he);let be=Bt.text.isHidden();[dt.rightJustifiedTextSymbolIndex,dt.centerJustifiedTextSymbolIndex,dt.leftJustifiedTextSymbolIndex].forEach(Ee=>{Ee>=0&&(l.text.placedSymbolArray.get(Ee).hidden=be||oe?1:0)}),dt.verticalPlacedTextSymbolIndex>=0&&(l.text.placedSymbolArray.get(dt.verticalPlacedTextSymbolIndex).hidden=be||pe?1:0);let Ze=this.variableOffsets[dt.crossTileID];Ze&&this.markUsedJustification(l,Ze.anchor,dt,$t);let Kr=this.placedOrientations[dt.crossTileID];Kr&&(this.markUsedJustification(l,\"left\",dt,Kr),this.markUsedOrientation(l,Kr,dt))}if(Qt){let he=es(Bt.icon),be=!(st&&dt.verticalPlacedIconSymbolIndex&&oe);dt.placedIconSymbolIndex>=0&&(pt(l.icon,dt.numIconVertices,be?he:oa),l.icon.placedSymbolArray.get(dt.placedIconSymbolIndex).hidden=Bt.icon.isHidden()),dt.verticalPlacedIconSymbolIndex>=0&&(pt(l.icon,dt.numVerticalIconVertices,be?oa:he),l.icon.placedSymbolArray.get(dt.verticalPlacedIconSymbolIndex).hidden=Bt.icon.isHidden())}if(l.hasIconCollisionBoxData()||l.hasTextCollisionBoxData()){let he=l.collisionArrays[yt];if(he){let be=new n.P(0,0);if(he.textBox||he.verticalTextBox){let Kr=!0;if(W){let Ee=this.variableOffsets[St];Ee?(be=vr(Ee.anchor,Ee.width,Ee.height,Ee.textOffset,Ee.textBoxScale),Z&&be._rotate($?this.transform.angle:-this.transform.angle)):Kr=!1}he.textBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||oe,be.x,be.y),he.verticalTextBox&&wr(l.textCollisionBox.collisionVertexArray,Bt.text.placed,!Kr||pe,be.x,be.y)}let Ze=!!(!pe&&he.verticalIconBox);he.iconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,Ze,st?be.x:0,st?be.y:0),he.verticalIconBox&&wr(l.iconCollisionBox.collisionVertexArray,Bt.icon.placed,!Ze,st?be.x:0,st?be.y:0)}}}if(l.sortFeatures(this.transform.angle),this.retainedQueryData[l.bucketInstanceId]&&(this.retainedQueryData[l.bucketInstanceId].featureSortOrder=l.featureSortOrder),l.hasTextData()&&l.text.opacityVertexBuffer&&l.text.opacityVertexBuffer.updateData(l.text.opacityVertexArray),l.hasIconData()&&l.icon.opacityVertexBuffer&&l.icon.opacityVertexBuffer.updateData(l.icon.opacityVertexArray),l.hasIconCollisionBoxData()&&l.iconCollisionBox.collisionVertexBuffer&&l.iconCollisionBox.collisionVertexBuffer.updateData(l.iconCollisionBox.collisionVertexArray),l.hasTextCollisionBoxData()&&l.textCollisionBox.collisionVertexBuffer&&l.textCollisionBox.collisionVertexBuffer.updateData(l.textCollisionBox.collisionVertexArray),l.text.opacityVertexArray.length!==l.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${l.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${l.text.layoutVertexArray.length}) / 4`);if(l.icon.opacityVertexArray.length!==l.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${l.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${l.icon.layoutVertexArray.length}) / 4`);if(l.bucketInstanceId in this.collisionCircleArrays){let yt=this.collisionCircleArrays[l.bucketInstanceId];l.placementInvProjMatrix=yt.invProjMatrix,l.placementViewportMatrix=yt.viewportMatrix,l.collisionCircleArray=yt.circles,delete this.collisionCircleArrays[l.bucketInstanceId]}}symbolFadeChange(l){return this.fadeDuration===0?1:(l-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(l){return Math.max(0,(this.transform.zoom-l)/1.5)}hasTransitions(l){return this.stale||l-this.lastPlacementChangeTimel}setStale(){this.stale=!0}}function wr(T,l,d,v,b){T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0),T.emplaceBack(l?1:0,d?1:0,v||0,b||0)}let xi=Math.pow(2,25),zi=Math.pow(2,24),ni=Math.pow(2,17),Hr=Math.pow(2,16),jn=Math.pow(2,9),Bi=Math.pow(2,8),xn=Math.pow(2,1);function es(T){if(T.opacity===0&&!T.placed)return 0;if(T.opacity===1&&T.placed)return 4294967295;let l=T.placed?1:0,d=Math.floor(127*T.opacity);return d*xi+l*zi+d*ni+l*Hr+d*jn+l*Bi+d*xn+l}let oa=0;class Um{constructor(l){this._sortAcrossTiles=l.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!l.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(l,d,v,b,M){let O=this._bucketParts;for(;this._currentTileIndexB.sortKey-U.sortKey));this._currentPartIndex!this._forceFullPlacement&&n.h.now()-b>2;for(;this._currentPlacementIndex>=0;){let O=d[l[this._currentPlacementIndex]],B=this.placement.collisionIndex.transform.zoom;if(O.type===\"symbol\"&&(!O.minzoom||O.minzoom<=B)&&(!O.maxzoom||O.maxzoom>B)){if(this._inProgressLayer||(this._inProgressLayer=new Um(O)),this._inProgressLayer.continuePlacement(v[O.source],this.placement,this._showCollisionBoxes,O,M))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(l){return this.placement.commit(l),this.placement}}let Ss=512/n.N/2;class nh{constructor(l,d,v){this.tileID=l,this.bucketInstanceId=v,this._symbolsByKey={};let b=new Map;for(let M=0;M({x:Math.floor(U.anchorX*Ss),y:Math.floor(U.anchorY*Ss)})),crossTileIDs:O.map(U=>U.crossTileID)};if(B.positions.length>128){let U=new n.av(B.positions.length,16,Uint16Array);for(let{x:W,y:Z}of B.positions)U.add(W,Z);U.finish(),delete B.positions,B.index=U}this._symbolsByKey[M]=B}}getScaledCoordinates(l,d){let{x:v,y:b,z:M}=this.tileID.canonical,{x:O,y:B,z:U}=d.canonical,W=Ss/Math.pow(2,U-M),Z=(B*n.N+l.anchorY)*W,$=b*n.N*Ss;return{x:Math.floor((O*n.N+l.anchorX)*W-v*n.N*Ss),y:Math.floor(Z-$)}}findMatches(l,d,v){let b=this.tileID.canonical.zl)}}class ai{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ka{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(l){let d=Math.round((l-this.lng)/360);if(d!==0)for(let v in this.indexes){let b=this.indexes[v],M={};for(let O in b){let B=b[O];B.tileID=B.tileID.unwrapTo(B.tileID.wrap+d),M[B.tileID.key]=B}this.indexes[v]=M}this.lng=l}addBucket(l,d,v){if(this.indexes[l.overscaledZ]&&this.indexes[l.overscaledZ][l.key]){if(this.indexes[l.overscaledZ][l.key].bucketInstanceId===d.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(l.overscaledZ,this.indexes[l.overscaledZ][l.key])}for(let M=0;Ml.overscaledZ)for(let B in O){let U=O[B];U.tileID.isChildOf(l)&&U.findMatches(d.symbolInstances,l,b)}else{let B=O[l.scaledTo(Number(M)).key];B&&B.findMatches(d.symbolInstances,l,b)}}for(let M=0;M{d[v]=!0});for(let v in this.layerIndexes)d[v]||delete this.layerIndexes[v]}}let ln=(T,l)=>n.x(T,l&&l.filter(d=>d.identifier!==\"source.canvas\")),Dn=n.F(n.ax,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\",\"setGlyphs\",\"setSprite\"]),Vm=n.F(n.ax,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Go=n.aw();class Gn extends n.E{constructor(l,d={}){super(),this.map=l,this.dispatcher=new ih(bo(),this,l._getMapId()),this.imageManager=new ue,this.imageManager.setEventedParent(this),this.glyphManager=new Sr(l._requestManager,d.localIdeographFontFamily),this.lineAtlas=new No(256,512),this.crossTileSymbolIndex=new Dc,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new n.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",n.az());let v=this;this._rtlTextPluginCallback=Gn.registerForPluginStateChange(b=>{v.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:b.pluginStatus,pluginURL:b.pluginURL},(M,O)=>{if(n.aA(M),O&&O.every(B=>B))for(let B in v.sourceCaches){let U=v.sourceCaches[B].getSource().type;U!==\"vector\"&&U!==\"geojson\"||v.sourceCaches[B].reload()}})}),this.on(\"data\",b=>{if(b.dataType!==\"source\"||b.sourceDataType!==\"metadata\")return;let M=this.sourceCaches[b.sourceId];if(!M)return;let O=M.getSource();if(O&&O.vectorLayerIds)for(let B in this._layers){let U=this._layers[B];U.source===O.id&&this._validateLayer(U)}})}loadURL(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),d.validate=typeof d.validate!=\"boolean\"||d.validate;let b=this.map._requestManager.transformRequest(l,Q.Style);this._request=n.f(b,(M,O)=>{this._request=null,M?this.fire(new n.j(M)):O&&this._load(O,d,v)})}loadJSON(l,d={},v){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._request=n.h.frame(()=>{this._request=null,d.validate=d.validate!==!1,this._load(l,d,v)})}loadEmpty(){this.fire(new n.k(\"dataloading\",{dataType:\"style\"})),this._load(Go,{validate:!1})}_load(l,d,v){var b;let M=d.transformStyle?d.transformStyle(v,l):l;if(!d.validate||!ln(this,n.y(M))){this._loaded=!0,this.stylesheet=M;for(let O in M.sources)this.addSource(O,M.sources[O],{validate:!1});M.sprite?this._loadSprite(M.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(M.glyphs),this._createLayers(),this.light=new zl(this.stylesheet.light),this.map.setTerrain((b=this.stylesheet.terrain)!==null&&b!==void 0?b:null),this.fire(new n.k(\"data\",{dataType:\"style\"})),this.fire(new n.k(\"style.load\"))}}_createLayers(){let l=n.aB(this.stylesheet.layers);this.dispatcher.broadcast(\"setLayers\",l),this._order=l.map(d=>d.id),this._layers={},this._serializedLayers=null;for(let d of l){let v=n.aC(d);v.setEventedParent(this,{layer:{id:d.id}}),this._layers[d.id]=v}}_loadSprite(l,d=!1,v=void 0){this.imageManager.setLoaded(!1),this._spriteRequest=function(b,M,O,B){let U=kt(b),W=U.length,Z=O>1?\"@2x\":\"\",$={},st={},At={};for(let{id:pt,url:yt}of U){let dt=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".json\"),Q.SpriteJSON),Ft=`${pt}_${dt.url}`;$[Ft]=n.f(dt,(Bt,Qt)=>{delete $[Ft],st[pt]=Qt,Xt(B,st,At,Bt,W)});let Ht=M.transformRequest(M.normalizeSpriteURL(yt,Z,\".png\"),Q.SpriteImage),St=`${pt}_${Ht.url}`;$[St]=j.getImage(Ht,(Bt,Qt)=>{delete $[St],At[pt]=Qt,Xt(B,st,At,Bt,W)})}return{cancel(){for(let pt of Object.values($))pt.cancel()}}}(l,this.map._requestManager,this.map.getPixelRatio(),(b,M)=>{if(this._spriteRequest=null,b)this.fire(new n.j(b));else if(M)for(let O in M){this._spritesImagesIds[O]=[];let B=this._spritesImagesIds[O]?this._spritesImagesIds[O].filter(U=>!(U in M)):[];for(let U of B)this.imageManager.removeImage(U),this._changedImages[U]=!0;for(let U in M[O]){let W=O===\"default\"?U:`${O}:${U}`;this._spritesImagesIds[O].push(W),W in this.imageManager.images?this.imageManager.updateImage(W,M[O][U],!1):this.imageManager.addImage(W,M[O][U]),d&&(this._changedImages[W]=!0)}}this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),d&&(this._changed=!0),this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"})),v&&v(b)})}_unloadSprite(){for(let l of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(l),this._changedImages[l]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}_validateLayer(l){let d=this.sourceCaches[l.source];if(!d)return;let v=l.sourceLayer;if(!v)return;let b=d.getSource();(b.type===\"geojson\"||b.vectorLayerIds&&b.vectorLayerIds.indexOf(v)===-1)&&this.fire(new n.j(new Error(`Source layer \"${v}\" does not exist on source \"${b.id}\" as specified by style layer \"${l.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let l in this.sourceCaches)if(!this.sourceCaches[l].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(l){let d=this._serializedAllLayers();if(!l||l.length===0)return Object.values(d);let v=[];for(let b of l)d[b]&&v.push(d[b]);return v}_serializedAllLayers(){let l=this._serializedLayers;if(l)return l;l=this._serializedLayers={};let d=Object.keys(this._layers);for(let v of d){let b=this._layers[v];b.type!==\"custom\"&&(l[v]=b.serialize())}return l}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(let l in this.sourceCaches)if(this.sourceCaches[l].hasTransition())return!0;for(let l in this._layers)if(this._layers[l].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(l){if(!this._loaded)return;let d=this._changed;if(this._changed){let b=Object.keys(this._updatedLayers),M=Object.keys(this._removedLayers);(b.length||M.length)&&this._updateWorkerLayers(b,M);for(let O in this._updatedSources){let B=this._updatedSources[O];if(B===\"reload\")this._reloadSource(O);else{if(B!==\"clear\")throw new Error(`Invalid action ${B}`);this._clearSource(O)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let O in this._updatedPaintProps)this._layers[O].updateTransitions(l);this.light.updateTransitions(l),this._resetUpdates()}let v={};for(let b in this.sourceCaches){let M=this.sourceCaches[b];v[b]=M.used,M.used=!1}for(let b of this._order){let M=this._layers[b];M.recalculate(l,this._availableImages),!M.isHidden(l.zoom)&&M.source&&(this.sourceCaches[M.source].used=!0)}for(let b in v){let M=this.sourceCaches[b];v[b]!==M.used&&M.fire(new n.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:b}))}this.light.recalculate(l),this.z=l.zoom,d&&this.fire(new n.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let l=Object.keys(this._changedImages);if(l.length){for(let d in this.sourceCaches)this.sourceCaches[d].reloadTilesForDependencies([\"icons\",\"patterns\"],l);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let l in this.sourceCaches)this.sourceCaches[l].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(l,d){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeByIds(l),removedIds:d})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(l,d={}){this._checkLoaded();let v=this.serialize();if(l=d.transformStyle?d.transformStyle(v,l):l,ln(this,n.y(l)))return!1;(l=n.aD(l)).layers=n.aB(l.layers);let b=n.aE(v,l).filter(O=>!(O.command in Vm));if(b.length===0)return!1;let M=b.filter(O=>!(O.command in Dn));if(M.length>0)throw new Error(`Unimplemented: ${M.map(O=>O.command).join(\", \")}.`);for(let O of b)O.command!==\"setTransition\"&&this[O.command].apply(this,O.args);return this.stylesheet=l,this._serializedLayers=null,!0}addImage(l,d){if(this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" already exists.`)));this.imageManager.addImage(l,d),this._afterImageUpdated(l)}updateImage(l,d){this.imageManager.updateImage(l,d)}getImage(l){return this.imageManager.getImage(l)}removeImage(l){if(!this.getImage(l))return this.fire(new n.j(new Error(`An image named \"${l}\" does not exist.`)));this.imageManager.removeImage(l),this._afterImageUpdated(l)}_afterImageUpdated(l){this._availableImages=this.imageManager.listImages(),this._changedImages[l]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(l,d,v={}){if(this._checkLoaded(),this.sourceCaches[l]!==void 0)throw new Error(`Source \"${l}\" already exists.`);if(!d.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(d).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(d.type)>=0&&this._validate(n.y.source,`sources.${l}`,d,null,v))return;this.map&&this.map._collectResourceTiming&&(d.collectResourceTiming=!0);let b=this.sourceCaches[l]=new ls(l,d,this.dispatcher);b.style=this,b.setEventedParent(this,()=>({isSourceLoaded:b.loaded(),source:b.serialize(),sourceId:l})),b.onAdd(this.map),this._changed=!0}removeSource(l){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(\"There is no source with this ID\");for(let v in this._layers)if(this._layers[v].source===l)return this.fire(new n.j(new Error(`Source \"${l}\" cannot be removed while layer \"${v}\" is using it.`)));let d=this.sourceCaches[l];delete this.sourceCaches[l],delete this._updatedSources[l],d.fire(new n.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:l})),d.setEventedParent(null),d.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(l,d){if(this._checkLoaded(),this.sourceCaches[l]===void 0)throw new Error(`There is no source with this ID=${l}`);let v=this.sourceCaches[l].getSource();if(v.type!==\"geojson\")throw new Error(`geojsonSource.type is ${v.type}, which is !== 'geojson`);v.setData(d),this._changed=!0}getSource(l){return this.sourceCaches[l]&&this.sourceCaches[l].getSource()}addLayer(l,d,v={}){this._checkLoaded();let b=l.id;if(this.getLayer(b))return void this.fire(new n.j(new Error(`Layer \"${b}\" already exists on this map.`)));let M;if(l.type===\"custom\"){if(ln(this,n.aF(l)))return;M=n.aC(l)}else{if(\"source\"in l&&typeof l.source==\"object\"&&(this.addSource(b,l.source),l=n.aD(l),l=n.e(l,{source:b})),this._validate(n.y.layer,`layers.${b}`,l,{arrayIndex:-1},v))return;M=n.aC(l),this._validateLayer(M),M.setEventedParent(this,{layer:{id:b}})}let O=d?this._order.indexOf(d):this._order.length;if(d&&O===-1)this.fire(new n.j(new Error(`Cannot add layer \"${b}\" before non-existing layer \"${d}\".`)));else{if(this._order.splice(O,0,b),this._layerOrderChanged=!0,this._layers[b]=M,this._removedLayers[b]&&M.source&&M.type!==\"custom\"){let B=this._removedLayers[b];delete this._removedLayers[b],B.type!==M.type?this._updatedSources[M.source]=\"clear\":(this._updatedSources[M.source]=\"reload\",this.sourceCaches[M.source].pause())}this._updateLayer(M),M.onAdd&&M.onAdd(this.map)}}moveLayer(l,d){if(this._checkLoaded(),this._changed=!0,!this._layers[l])return void this.fire(new n.j(new Error(`The layer '${l}' does not exist in the map's style and cannot be moved.`)));if(l===d)return;let v=this._order.indexOf(l);this._order.splice(v,1);let b=d?this._order.indexOf(d):this._order.length;d&&b===-1?this.fire(new n.j(new Error(`Cannot move layer \"${l}\" before non-existing layer \"${d}\".`))):(this._order.splice(b,0,l),this._layerOrderChanged=!0)}removeLayer(l){this._checkLoaded();let d=this._layers[l];if(!d)return void this.fire(new n.j(new Error(`Cannot remove non-existing layer \"${l}\".`)));d.setEventedParent(null);let v=this._order.indexOf(l);this._order.splice(v,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[l]=d,delete this._layers[l],this._serializedLayers&&delete this._serializedLayers[l],delete this._updatedLayers[l],delete this._updatedPaintProps[l],d.onRemove&&d.onRemove(this.map)}getLayer(l){return this._layers[l]}getLayersOrder(){return[...this._order]}hasLayer(l){return l in this._layers}setLayerZoomRange(l,d,v){this._checkLoaded();let b=this.getLayer(l);b?b.minzoom===d&&b.maxzoom===v||(d!=null&&(b.minzoom=d),v!=null&&(b.maxzoom=v),this._updateLayer(b)):this.fire(new n.j(new Error(`Cannot set the zoom range of non-existing layer \"${l}\".`)))}setFilter(l,d,v={}){this._checkLoaded();let b=this.getLayer(l);if(b){if(!n.aG(b.filter,d))return d==null?(b.filter=void 0,void this._updateLayer(b)):void(this._validate(n.y.filter,`layers.${b.id}.filter`,d,null,v)||(b.filter=n.aD(d),this._updateLayer(b)))}else this.fire(new n.j(new Error(`Cannot filter non-existing layer \"${l}\".`)))}getFilter(l){return n.aD(this.getLayer(l).filter)}setLayoutProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getLayoutProperty(d),v)||(M.setLayoutProperty(d,v,b),this._updateLayer(M)):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getLayoutProperty(l,d){let v=this.getLayer(l);if(v)return v.getLayoutProperty(d);this.fire(new n.j(new Error(`Cannot get style of non-existing layer \"${l}\".`)))}setPaintProperty(l,d,v,b={}){this._checkLoaded();let M=this.getLayer(l);M?n.aG(M.getPaintProperty(d),v)||(M.setPaintProperty(d,v,b)&&this._updateLayer(M),this._changed=!0,this._updatedPaintProps[l]=!0):this.fire(new n.j(new Error(`Cannot style non-existing layer \"${l}\".`)))}getPaintProperty(l,d){return this.getLayer(l).getPaintProperty(d)}setFeatureState(l,d){this._checkLoaded();let v=l.source,b=l.sourceLayer,M=this.sourceCaches[v];if(M===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let O=M.getSource().type;O===\"geojson\"&&b?this.fire(new n.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):O!==\"vector\"||b?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),M.setFeatureState(b,l.id,d)):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(l,d){this._checkLoaded();let v=l.source,b=this.sourceCaches[v];if(b===void 0)return void this.fire(new n.j(new Error(`The source '${v}' does not exist in the map's style.`)));let M=b.getSource().type,O=M===\"vector\"?l.sourceLayer:void 0;M!==\"vector\"||O?d&&typeof l.id!=\"string\"&&typeof l.id!=\"number\"?this.fire(new n.j(new Error(\"A feature id is required to remove its specific state property.\"))):b.removeFeatureState(O,l.id,d):this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(l){this._checkLoaded();let d=l.source,v=l.sourceLayer,b=this.sourceCaches[d];if(b!==void 0)return b.getSource().type!==\"vector\"||v?(l.id===void 0&&this.fire(new n.j(new Error(\"The feature id parameter must be provided.\"))),b.getFeatureState(v,l.id)):void this.fire(new n.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new n.j(new Error(`The source '${d}' does not exist in the map's style.`)))}getTransition(){return n.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let l=n.aH(this.sourceCaches,M=>M.serialize()),d=this._serializeByIds(this._order),v=this.map.getTerrain()||void 0,b=this.stylesheet;return n.aI({version:b.version,name:b.name,metadata:b.metadata,light:b.light,center:b.center,zoom:b.zoom,bearing:b.bearing,pitch:b.pitch,sprite:b.sprite,glyphs:b.glyphs,transition:b.transition,sources:l,layers:d,terrain:v},M=>M!==void 0)}_updateLayer(l){this._updatedLayers[l.id]=!0,l.source&&!this._updatedSources[l.source]&&this.sourceCaches[l.source].getSource().type!==\"raster\"&&(this._updatedSources[l.source]=\"reload\",this.sourceCaches[l.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(l){let d=O=>this._layers[O].type===\"fill-extrusion\",v={},b=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B)){v[B]=O;for(let U of l){let W=U[B];if(W)for(let Z of W)b.push(Z)}}}b.sort((O,B)=>B.intersectionZ-O.intersectionZ);let M=[];for(let O=this._order.length-1;O>=0;O--){let B=this._order[O];if(d(B))for(let U=b.length-1;U>=0;U--){let W=b[U].feature;if(v[W.layer.id]{let pe=Ft.featureSortOrder;if(pe){let he=pe.indexOf($t.featureIndex);return pe.indexOf(oe.featureIndex)-he}return oe.featureIndex-$t.featureIndex});for(let $t of Qt)Bt.push($t)}}for(let Ft in pt)pt[Ft].forEach(Ht=>{let St=Ht.feature,Bt=W[B[Ft].source].getFeatureState(St.layer[\"source-layer\"],St.id);St.source=St.layer.source,St.layer[\"source-layer\"]&&(St.sourceLayer=St.layer[\"source-layer\"]),St.state=Bt});return pt}(this._layers,O,this.sourceCaches,l,d,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(M)}querySourceFeatures(l,d){d&&d.filter&&this._validate(n.y.filter,\"querySourceFeatures.filter\",d.filter,null,d);let v=this.sourceCaches[l];return v?function(b,M){let O=b.getRenderableIds().map(W=>b.getTileByID(W)),B=[],U={};for(let W=0;W{cl[b]=M})(l,d),d.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:l,url:d.workerSourceURL},v):v(null,null))}getLight(){return this.light.getLight()}setLight(l,d={}){this._checkLoaded();let v=this.light.getLight(),b=!1;for(let O in l)if(!n.aG(l[O],v[O])){b=!0;break}if(!b)return;let M={now:n.h.now(),transition:n.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(l,d),this.light.updateTransitions(M)}_validate(l,d,v,b,M={}){return(!M||M.validate!==!1)&&ln(this,l.call(n.y,n.e({key:d,style:this.serialize(),value:v,styleSpec:n.v},b)))}_remove(l=!0){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),n.aJ.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(let d in this._layers)this._layers[d].setEventedParent(null);for(let d in this.sourceCaches){let v=this.sourceCaches[d];v.setEventedParent(null),v.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove(l)}_clearSource(l){this.sourceCaches[l].clearTiles()}_reloadSource(l){this.sourceCaches[l].resume(),this.sourceCaches[l].reload()}_updateSources(l){for(let d in this.sourceCaches)this.sourceCaches[d].update(l,this.map.terrain)}_generateCollisionBoxes(){for(let l in this.sourceCaches)this._reloadSource(l)}_updatePlacement(l,d,v,b,M=!1){let O=!1,B=!1,U={};for(let W of this._order){let Z=this._layers[W];if(Z.type!==\"symbol\")continue;if(!U[Z.source]){let st=this.sourceCaches[Z.source];U[Z.source]=st.getRenderableIds(!0).map(At=>st.getTileByID(At)).sort((At,pt)=>pt.tileID.overscaledZ-At.tileID.overscaledZ||(At.tileID.isLessThan(pt.tileID)?-1:1))}let $=this.crossTileSymbolIndex.addLayer(Z,U[Z.source],l.center.lng);O=O||$}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((M=M||this._layerOrderChanged||v===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(n.h.now(),l.zoom))&&(this.pauseablePlacement=new Vl(l,this.map.terrain,this._order,M,d,v,b,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,U),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(n.h.now()),B=!0),O&&this.pauseablePlacement.placement.setStale()),B||O)for(let W of this._order){let Z=this._layers[W];Z.type===\"symbol\"&&this.placement.updateLayerOpacities(Z,U[Z.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(n.h.now())}_releaseSymbolFadeTiles(){for(let l in this.sourceCaches)this.sourceCaches[l].releaseSymbolFadeTiles()}getImages(l,d,v){this.imageManager.getImages(d.icons,v),this._updateTilesForChangedImages();let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,d.icons)}getGlyphs(l,d,v){this.glyphManager.getGlyphs(d.stacks,v);let b=this.sourceCaches[d.source];b&&b.setDependencies(d.tileID.key,d.type,[\"\"])}getResource(l,d,v){return n.m(d,v)}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(l,d={}){this._checkLoaded(),l&&this._validate(n.y.glyphs,\"glyphs\",l,null,d)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=l,this.glyphManager.entries={},this.glyphManager.setURL(l))}addSprite(l,d,v={},b){this._checkLoaded();let M=[{id:l,url:d}],O=[...kt(this.stylesheet.sprite),...M];this._validate(n.y.sprite,\"sprite\",O,null,v)||(this.stylesheet.sprite=O,this._loadSprite(M,!0,b))}removeSprite(l){this._checkLoaded();let d=kt(this.stylesheet.sprite);if(d.find(v=>v.id===l)){if(this._spritesImagesIds[l])for(let v of this._spritesImagesIds[l])this.imageManager.removeImage(v),this._changedImages[v]=!0;d.splice(d.findIndex(v=>v.id===l),1),this.stylesheet.sprite=d.length>0?d:void 0,delete this._spritesImagesIds[l],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new n.k(\"data\",{dataType:\"style\"}))}else this.fire(new n.j(new Error(`Sprite \"${l}\" doesn't exists on this map.`)))}getSprite(){return kt(this.stylesheet.sprite)}setSprite(l,d={},v){this._checkLoaded(),l&&this._validate(n.y.sprite,\"sprite\",l,null,d)||(this.stylesheet.sprite=l,l?this._loadSprite(l,!0,v):(this._unloadSprite(),v&&v(null)))}}Gn.registerForPluginStateChange=n.aK;var So=n.Q([{name:\"a_pos\",type:\"Int16\",components:2}]),jl=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";let Ki={prelude:_i(`#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n`,`#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}`),background:_i(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_i(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_i(`varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_i(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_i(`uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:_i(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_i(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,get_elevation(a_pos),1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_i(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_i(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_i(`#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_i(`varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_i(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_i(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_i(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_i(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_i(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),lineGradient:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}`),linePattern:_i(`#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_i(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_i(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_i(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),z,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_i(`#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_i(`#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}`,`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,ele,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),ele,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,ele,1.0);float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),z,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_i(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",jl),terrainDepth:_i(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",jl),terrainCoords:_i(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",jl)};function _i(T,l){let d=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,v=l.match(/attribute ([\\w]+) ([\\w]+)/g),b=T.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),M=l.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),O=M?M.concat(b):b,B={};return{fragmentSource:T=T.replace(d,(U,W,Z,$,st)=>(B[st]=!0,W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = u_${st};\n#endif\n`)),vertexSource:l=l.replace(d,(U,W,Z,$,st)=>{let At=$===\"float\"?\"vec2\":\"vec4\",pt=st.match(/color/)?\"color\":At;return B[st]?W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\nvarying ${Z} ${$} ${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:W===\"define\"?`\n#ifndef HAS_UNIFORM_u_${st}\nuniform lowp float u_${st}_t;\nattribute ${Z} ${At} a_${st};\n#else\nuniform ${Z} ${$} u_${st};\n#endif\n`:pt===\"vec4\"?`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = a_${st};\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${st}\n ${Z} ${$} ${st} = unpack_mix_${pt}(a_${st}, u_${st}_t);\n#else\n ${Z} ${$} ${st} = u_${st};\n#endif\n`}),staticAttributes:v,staticUniforms:O}}class Gl{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(l,d,v,b,M,O,B,U,W){this.context=l;let Z=this.boundPaintVertexBuffers.length!==b.length;for(let $=0;!Z&&$({u_depth:new n.aL($t,oe.u_depth),u_terrain:new n.aL($t,oe.u_terrain),u_terrain_dim:new n.aM($t,oe.u_terrain_dim),u_terrain_matrix:new n.aN($t,oe.u_terrain_matrix),u_terrain_unpack:new n.aO($t,oe.u_terrain_unpack),u_terrain_exaggeration:new n.aM($t,oe.u_terrain_exaggeration)}))(l,Qt),this.binderUniforms=v?v.getUniforms(l,Qt):[]}draw(l,d,v,b,M,O,B,U,W,Z,$,st,At,pt,yt,dt,Ft,Ht){let St=l.gl;if(this.failedToCreate)return;if(l.program.set(this.program),l.setDepthMode(v),l.setStencilMode(b),l.setColorMode(M),l.setCullFace(O),U){l.activeTexture.set(St.TEXTURE2),St.bindTexture(St.TEXTURE_2D,U.depthTexture),l.activeTexture.set(St.TEXTURE3),St.bindTexture(St.TEXTURE_2D,U.texture);for(let Qt in this.terrainUniforms)this.terrainUniforms[Qt].set(U[Qt])}for(let Qt in this.fixedUniforms)this.fixedUniforms[Qt].set(B[Qt]);yt&&yt.setUniforms(l,this.binderUniforms,At,{zoom:pt});let Bt=0;switch(d){case St.LINES:Bt=2;break;case St.TRIANGLES:Bt=3;break;case St.LINE_STRIP:Bt=1}for(let Qt of st.get()){let $t=Qt.vaos||(Qt.vaos={});($t[W]||($t[W]=new Gl)).bind(l,this,Z,yt?yt.getPaintVertexBuffers():[],$,Qt.vertexOffset,dt,Ft,Ht),St.drawElements(d,Qt.primitiveLength*Bt,St.UNSIGNED_SHORT,Qt.primitiveOffset*Bt*2)}}}function rs(T,l,d){let v=1/Dt(d,1,l.transform.tileZoom),b=Math.pow(2,d.tileID.overscaledZ),M=d.tileSize*Math.pow(2,l.transform.tileZoom)/b,O=M*(d.tileID.canonical.x+d.tileID.wrap*b),B=M*d.tileID.canonical.y;return{u_image:0,u_texsize:d.imageAtlasTexture.size,u_scale:[v,T.fromScale,T.toScale],u_fade:T.t,u_pixel_coord_upper:[O>>16,B>>16],u_pixel_coord_lower:[65535&O,65535&B]}}let Gp=(T,l,d,v)=>{let b=l.style.light,M=b.properties.get(\"position\"),O=[M.x,M.y,M.z],B=function(){var W=new n.A(9);return n.A!=Float32Array&&(W[1]=0,W[2]=0,W[3]=0,W[5]=0,W[6]=0,W[7]=0),W[0]=1,W[4]=1,W[8]=1,W}();b.properties.get(\"anchor\")===\"viewport\"&&function(W,Z){var $=Math.sin(Z),st=Math.cos(Z);W[0]=st,W[1]=$,W[2]=0,W[3]=-$,W[4]=st,W[5]=0,W[6]=0,W[7]=0,W[8]=1}(B,-l.transform.angle),function(W,Z,$){var st=Z[0],At=Z[1],pt=Z[2];W[0]=st*$[0]+At*$[3]+pt*$[6],W[1]=st*$[1]+At*$[4]+pt*$[7],W[2]=st*$[2]+At*$[5]+pt*$[8]}(O,O,B);let U=b.properties.get(\"color\");return{u_matrix:T,u_lightpos:O,u_lightintensity:b.properties.get(\"intensity\"),u_lightcolor:[U.r,U.g,U.b],u_vertical_gradient:+d,u_opacity:v}},Wl=(T,l,d,v,b,M,O)=>n.e(Gp(T,l,d,v),rs(M,l,O),{u_height_factor:-Math.pow(2,b.overscaledZ)/O.tileSize/8}),_d=T=>({u_matrix:T}),yd=(T,l,d,v)=>n.e(_d(T),rs(d,l,v)),vd=(T,l)=>({u_matrix:T,u_world:l}),xd=(T,l,d,v,b)=>n.e(yd(T,l,d,v),{u_world:b}),lt=(T,l,d,v)=>{let b=T.transform,M,O;if(v.paint.get(\"circle-pitch-alignment\")===\"map\"){let B=Dt(d,1,b.zoom);M=!0,O=[B,B]}else M=!1,O=b.pixelsToGLUnits;return{u_camera_to_center_distance:b.cameraToCenterDistance,u_scale_with_map:+(v.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:T.translatePosMatrix(l.posMatrix,d,v.paint.get(\"circle-translate\"),v.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+M,u_device_pixel_ratio:T.pixelRatio,u_extrude_scale:O}},ft=(T,l,d)=>{let v=Dt(d,1,l.zoom),b=Math.pow(2,l.zoom-d.tileID.overscaledZ),M=d.tileID.overscaleFactor();return{u_matrix:T,u_camera_to_center_distance:l.cameraToCenterDistance,u_pixels_to_tile_units:v,u_extrude_scale:[l.pixelsToGLUnits[0]/(v*b),l.pixelsToGLUnits[1]/(v*b)],u_overscale_factor:M}},Lt=(T,l,d=1)=>({u_matrix:T,u_color:l,u_overlay:0,u_overlay_scale:d}),Kt=T=>({u_matrix:T}),ge=(T,l,d,v)=>({u_matrix:T,u_extrude_scale:Dt(l,1,d),u_intensity:v});function Qe(T,l){let d=Math.pow(2,l.canonical.z),v=l.canonical.y;return[new n.U(0,v/d).toLngLat().lat,new n.U(0,(v+1)/d).toLngLat().lat]}let ti=(T,l,d,v)=>{let b=T.transform;return{u_matrix:jm(T,l,d,v),u_ratio:1/Dt(l,1,b.zoom),u_device_pixel_ratio:T.pixelRatio,u_units_to_pixels:[1/b.pixelsToGLUnits[0],1/b.pixelsToGLUnits[1]]}},is=(T,l,d,v,b)=>n.e(ti(T,l,d,b),{u_image:0,u_image_height:v}),Ts=(T,l,d,v,b)=>{let M=T.transform,O=Ra(l,M);return{u_matrix:jm(T,l,d,b),u_texsize:l.imageAtlasTexture.size,u_ratio:1/Dt(l,1,M.zoom),u_device_pixel_ratio:T.pixelRatio,u_image:0,u_scale:[O,v.fromScale,v.toScale],u_fade:v.t,u_units_to_pixels:[1/M.pixelsToGLUnits[0],1/M.pixelsToGLUnits[1]]}},Vs=(T,l,d,v,b,M)=>{let O=T.lineAtlas,B=Ra(l,T.transform),U=d.layout.get(\"line-cap\")===\"round\",W=O.getDash(v.from,U),Z=O.getDash(v.to,U),$=W.width*b.fromScale,st=Z.width*b.toScale;return n.e(ti(T,l,d,M),{u_patternscale_a:[B/$,-W.height/2],u_patternscale_b:[B/st,-Z.height/2],u_sdfgamma:O.width/(256*Math.min($,st)*T.pixelRatio)/2,u_image:0,u_tex_y_a:W.y,u_tex_y_b:Z.y,u_mix:b.t})};function Ra(T,l){return 1/Dt(T,1,l.tileZoom)}function jm(T,l,d,v){return T.translatePosMatrix(v?v.posMatrix:l.tileID.posMatrix,l,d.paint.get(\"line-translate\"),d.paint.get(\"line-translate-anchor\"))}let Ox=(T,l,d,v,b)=>{return{u_matrix:T,u_tl_parent:l,u_scale_parent:d,u_buffer_scale:1,u_fade_t:v.mix,u_opacity:v.opacity*b.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:b.paint.get(\"raster-brightness-min\"),u_brightness_high:b.paint.get(\"raster-brightness-max\"),u_saturation_factor:(O=b.paint.get(\"raster-saturation\"),O>0?1-1/(1.001-O):-O),u_contrast_factor:(M=b.paint.get(\"raster-contrast\"),M>0?1/(1-M):1+M),u_spin_weights:Bx(b.paint.get(\"raster-hue-rotate\"))};var M,O};function Bx(T){T*=Math.PI/180;let l=Math.sin(T),d=Math.cos(T);return[(2*d+1)/3,(-Math.sqrt(3)*l-d+1)/3,(Math.sqrt(3)*l-d+1)/3]}let l_=(T,l,d,v,b,M,O,B,U,W)=>{let Z=b.transform;return{u_is_size_zoom_constant:+(T===\"constant\"||T===\"source\"),u_is_size_feature_constant:+(T===\"constant\"||T===\"camera\"),u_size_t:l?l.uSizeT:0,u_size:l?l.uSize:0,u_camera_to_center_distance:Z.cameraToCenterDistance,u_pitch:Z.pitch/360*2*Math.PI,u_rotate_symbol:+d,u_aspect_ratio:Z.width/Z.height,u_fade_change:b.options.fadeDuration?b.symbolFadeChange:1,u_matrix:M,u_label_plane_matrix:O,u_coord_matrix:B,u_is_text:+U,u_pitch_with_map:+v,u_texsize:W,u_texture:0}},c_=(T,l,d,v,b,M,O,B,U,W,Z)=>{let $=b.transform;return n.e(l_(T,l,d,v,b,M,O,B,U,W),{u_gamma_scale:v?Math.cos($._pitch)*$.cameraToCenterDistance:1,u_device_pixel_ratio:b.pixelRatio,u_is_halo:+Z})},gf=(T,l,d,v,b,M,O,B,U,W)=>n.e(c_(T,l,d,v,b,M,O,B,!0,U,!0),{u_texsize_icon:W,u_texture_icon:1}),Gm=(T,l,d)=>({u_matrix:T,u_opacity:l,u_color:d}),fl=(T,l,d,v,b,M)=>n.e(function(O,B,U,W){let Z=U.imageManager.getPattern(O.from.toString()),$=U.imageManager.getPattern(O.to.toString()),{width:st,height:At}=U.imageManager.getPixelSize(),pt=Math.pow(2,W.tileID.overscaledZ),yt=W.tileSize*Math.pow(2,U.transform.tileZoom)/pt,dt=yt*(W.tileID.canonical.x+W.tileID.wrap*pt),Ft=yt*W.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Z.tl,u_pattern_br_a:Z.br,u_pattern_tl_b:$.tl,u_pattern_br_b:$.br,u_texsize:[st,At],u_mix:B.t,u_pattern_size_a:Z.displaySize,u_pattern_size_b:$.displaySize,u_scale_a:B.fromScale,u_scale_b:B.toScale,u_tile_units_to_pixels:1/Dt(W,1,U.transform.tileZoom),u_pixel_coord_upper:[dt>>16,Ft>>16],u_pixel_coord_lower:[65535&dt,65535&Ft]}}(v,M,d,b),{u_matrix:T,u_opacity:l}),Wm={fillExtrusion:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_opacity:new n.aM(T,l.u_opacity)}),fillExtrusionPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_lightpos:new n.aP(T,l.u_lightpos),u_lightintensity:new n.aM(T,l.u_lightintensity),u_lightcolor:new n.aP(T,l.u_lightcolor),u_vertical_gradient:new n.aM(T,l.u_vertical_gradient),u_height_factor:new n.aM(T,l.u_height_factor),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade),u_opacity:new n.aM(T,l.u_opacity)}),fill:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),fillPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),fillOutline:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world)}),fillOutlinePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_texsize:new n.aQ(T,l.u_texsize),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),circle:(T,l)=>({u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_scale_with_map:new n.aL(T,l.u_scale_with_map),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_matrix:new n.aN(T,l.u_matrix)}),collisionBox:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pixels_to_tile_units:new n.aM(T,l.u_pixels_to_tile_units),u_extrude_scale:new n.aQ(T,l.u_extrude_scale),u_overscale_factor:new n.aM(T,l.u_overscale_factor)}),collisionCircle:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_inv_matrix:new n.aN(T,l.u_inv_matrix),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_viewport_size:new n.aQ(T,l.u_viewport_size)}),debug:(T,l)=>({u_color:new n.aR(T,l.u_color),u_matrix:new n.aN(T,l.u_matrix),u_overlay:new n.aL(T,l.u_overlay),u_overlay_scale:new n.aM(T,l.u_overlay_scale)}),clippingMask:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix)}),heatmap:(T,l)=>({u_extrude_scale:new n.aM(T,l.u_extrude_scale),u_intensity:new n.aM(T,l.u_intensity),u_matrix:new n.aN(T,l.u_matrix)}),heatmapTexture:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_world:new n.aQ(T,l.u_world),u_image:new n.aL(T,l.u_image),u_color_ramp:new n.aL(T,l.u_color_ramp),u_opacity:new n.aM(T,l.u_opacity)}),hillshade:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_latrange:new n.aQ(T,l.u_latrange),u_light:new n.aQ(T,l.u_light),u_shadow:new n.aR(T,l.u_shadow),u_highlight:new n.aR(T,l.u_highlight),u_accent:new n.aR(T,l.u_accent)}),hillshadePrepare:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_image:new n.aL(T,l.u_image),u_dimension:new n.aQ(T,l.u_dimension),u_zoom:new n.aM(T,l.u_zoom),u_unpack:new n.aO(T,l.u_unpack)}),line:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels)}),lineGradient:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_image:new n.aL(T,l.u_image),u_image_height:new n.aM(T,l.u_image_height)}),linePattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texsize:new n.aQ(T,l.u_texsize),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_image:new n.aL(T,l.u_image),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_scale:new n.aP(T,l.u_scale),u_fade:new n.aM(T,l.u_fade)}),lineSDF:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ratio:new n.aM(T,l.u_ratio),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_units_to_pixels:new n.aQ(T,l.u_units_to_pixels),u_patternscale_a:new n.aQ(T,l.u_patternscale_a),u_patternscale_b:new n.aQ(T,l.u_patternscale_b),u_sdfgamma:new n.aM(T,l.u_sdfgamma),u_image:new n.aL(T,l.u_image),u_tex_y_a:new n.aM(T,l.u_tex_y_a),u_tex_y_b:new n.aM(T,l.u_tex_y_b),u_mix:new n.aM(T,l.u_mix)}),raster:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_tl_parent:new n.aQ(T,l.u_tl_parent),u_scale_parent:new n.aM(T,l.u_scale_parent),u_buffer_scale:new n.aM(T,l.u_buffer_scale),u_fade_t:new n.aM(T,l.u_fade_t),u_opacity:new n.aM(T,l.u_opacity),u_image0:new n.aL(T,l.u_image0),u_image1:new n.aL(T,l.u_image1),u_brightness_low:new n.aM(T,l.u_brightness_low),u_brightness_high:new n.aM(T,l.u_brightness_high),u_saturation_factor:new n.aM(T,l.u_saturation_factor),u_contrast_factor:new n.aM(T,l.u_contrast_factor),u_spin_weights:new n.aP(T,l.u_spin_weights)}),symbolIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture)}),symbolSDF:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texture:new n.aL(T,l.u_texture),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),symbolTextAndIcon:(T,l)=>({u_is_size_zoom_constant:new n.aL(T,l.u_is_size_zoom_constant),u_is_size_feature_constant:new n.aL(T,l.u_is_size_feature_constant),u_size_t:new n.aM(T,l.u_size_t),u_size:new n.aM(T,l.u_size),u_camera_to_center_distance:new n.aM(T,l.u_camera_to_center_distance),u_pitch:new n.aM(T,l.u_pitch),u_rotate_symbol:new n.aL(T,l.u_rotate_symbol),u_aspect_ratio:new n.aM(T,l.u_aspect_ratio),u_fade_change:new n.aM(T,l.u_fade_change),u_matrix:new n.aN(T,l.u_matrix),u_label_plane_matrix:new n.aN(T,l.u_label_plane_matrix),u_coord_matrix:new n.aN(T,l.u_coord_matrix),u_is_text:new n.aL(T,l.u_is_text),u_pitch_with_map:new n.aL(T,l.u_pitch_with_map),u_texsize:new n.aQ(T,l.u_texsize),u_texsize_icon:new n.aQ(T,l.u_texsize_icon),u_texture:new n.aL(T,l.u_texture),u_texture_icon:new n.aL(T,l.u_texture_icon),u_gamma_scale:new n.aM(T,l.u_gamma_scale),u_device_pixel_ratio:new n.aM(T,l.u_device_pixel_ratio),u_is_halo:new n.aL(T,l.u_is_halo)}),background:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_color:new n.aR(T,l.u_color)}),backgroundPattern:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_opacity:new n.aM(T,l.u_opacity),u_image:new n.aL(T,l.u_image),u_pattern_tl_a:new n.aQ(T,l.u_pattern_tl_a),u_pattern_br_a:new n.aQ(T,l.u_pattern_br_a),u_pattern_tl_b:new n.aQ(T,l.u_pattern_tl_b),u_pattern_br_b:new n.aQ(T,l.u_pattern_br_b),u_texsize:new n.aQ(T,l.u_texsize),u_mix:new n.aM(T,l.u_mix),u_pattern_size_a:new n.aQ(T,l.u_pattern_size_a),u_pattern_size_b:new n.aQ(T,l.u_pattern_size_b),u_scale_a:new n.aM(T,l.u_scale_a),u_scale_b:new n.aM(T,l.u_scale_b),u_pixel_coord_upper:new n.aQ(T,l.u_pixel_coord_upper),u_pixel_coord_lower:new n.aQ(T,l.u_pixel_coord_lower),u_tile_units_to_pixels:new n.aM(T,l.u_tile_units_to_pixels)}),terrain:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainDepth:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_ele_delta:new n.aM(T,l.u_ele_delta)}),terrainCoords:(T,l)=>({u_matrix:new n.aN(T,l.u_matrix),u_texture:new n.aL(T,l.u_texture),u_terrain_coords_id:new n.aM(T,l.u_terrain_coords_id),u_ele_delta:new n.aM(T,l.u_ele_delta)})};class Hm{constructor(l,d,v){this.context=l;let b=l.gl;this.buffer=b.createBuffer(),this.dynamicDraw=!!v,this.context.unbindVAO(),l.bindElementBuffer.set(this.buffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?b.DYNAMIC_DRAW:b.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(l){let d=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),d.bufferSubData(d.ELEMENT_ARRAY_BUFFER,0,l.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Wp={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class qm{constructor(l,d,v,b){this.length=d.length,this.attributes=v,this.itemSize=d.bytesPerElement,this.dynamicDraw=b,this.context=l;let M=l.gl;this.buffer=M.createBuffer(),l.bindVertexBuffer.set(this.buffer),M.bufferData(M.ARRAY_BUFFER,d.arrayBuffer,this.dynamicDraw?M.DYNAMIC_DRAW:M.STATIC_DRAW),this.dynamicDraw||delete d.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(l){if(l.length!==this.length)throw new Error(`Length of new data is ${l.length}, which doesn't match current length of ${this.length}`);let d=this.context.gl;this.bind(),d.bufferSubData(d.ARRAY_BUFFER,0,l.arrayBuffer)}enableAttributes(l,d){for(let v=0;v0){let be=n.Z(),Ze=oe;n.aU(be,$t.placementInvProjMatrix,T.transform.glCoordMatrix),n.aU(be,be,$t.placementViewportMatrix),Z.push({circleArray:he,circleOffset:st,transform:Ze,invTransform:be,coord:Bt}),$+=he.length/4,st=$}pe&&W.draw(B,U.LINES,ci.disabled,Je.disabled,T.colorModeForRenderPass(),It.disabled,ft(oe,T.transform,Qt),T.style.map.terrain&&T.style.map.terrain.getTerrainData(Bt),d.id,pe.layoutVertexBuffer,pe.indexBuffer,pe.segments,null,T.transform.zoom,null,null,pe.collisionVertexBuffer)}if(!O||!Z.length)return;let At=T.useProgram(\"collisionCircle\"),pt=new n.aV;pt.resize(4*$),pt._trim();let yt=0;for(let St of Z)for(let Bt=0;Bt=0&&(pt[dt.associatedIconIndex]={shiftedAnchor:Kr,angle:Ee})}else ht(dt.numGlyphs,st)}if(W){At.clear();let yt=T.icon.placedSymbolArray;for(let dt=0;dtT.style.map.terrain.getElevation(pe,Zo,_n):null,fs=d.layout.get(\"text-rotation-alignment\")===\"map\";Te(be,pe.posMatrix,T,b,jr,ql,dt,W,fs,Fn)}let vu=T.translatePosMatrix(pe.posMatrix,he,M,O),_h=Ft||b&&$t||yu?Jm:jr,Ws=T.translatePosMatrix(ql,he,M,O,!0),Ps=Ee&&d.paint.get(b?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Eo;Eo=Ee?be.iconsInText?gf(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,ei,hs):c_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei,!0):l_(pr.kind,Jr,Ht,dt,T,vu,_h,Ws,b,ei);let yh={program:Gi,buffers:Ze,uniformValues:Eo,atlasTexture:On,atlasTextureIcon:Bn,atlasInterpolation:tn,atlasInterpolationIcon:Gs,isSDF:Ee,hasHalo:Ps};if(St&&be.canOverlap){Bt=!0;let Fn=Ze.segments.get();for(let fs of Fn)oe.push({segments:new n.S([fs]),sortKey:fs.sortKey,state:yh,terrainData:Vr})}else oe.push({segments:Ze.segments,sortKey:0,state:yh,terrainData:Vr})}Bt&&oe.sort((pe,he)=>pe.sortKey-he.sortKey);for(let pe of oe){let he=pe.state;if(st.activeTexture.set(At.TEXTURE0),he.atlasTexture.bind(he.atlasInterpolation,At.CLAMP_TO_EDGE),he.atlasTextureIcon&&(st.activeTexture.set(At.TEXTURE1),he.atlasTextureIcon&&he.atlasTextureIcon.bind(he.atlasInterpolationIcon,At.CLAMP_TO_EDGE)),he.isSDF){let be=he.uniformValues;he.hasHalo&&(be.u_is_halo=1,e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,be,pe.terrainData)),be.u_is_halo=0}e0(he.buffers,pe.segments,d,T,he.program,Qt,Z,$,he.uniformValues,pe.terrainData)}}function e0(T,l,d,v,b,M,O,B,U,W){let Z=v.context;b.draw(Z,Z.gl.TRIANGLES,M,O,B,It.disabled,U,W,d.id,T.layoutVertexBuffer,T.indexBuffer,l,d.paint,v.transform.zoom,T.programConfigurations.get(d.id),T.dynamicLayoutVertexBuffer,T.opacityVertexBuffer)}function Ed(T,l,d,v,b){if(!d||!v||!v.imageAtlas)return;let M=v.imageAtlas.patternPositions,O=M[d.to.toString()],B=M[d.from.toString()];if(!O&&B&&(O=B),!B&&O&&(B=O),!O||!B){let U=b.getPaintProperty(l);O=M[U],B=M[U]}O&&B&&T.setConstantPatternPositions(O,B)}function Pd(T,l,d,v,b,M,O){let B=T.context.gl,U=\"fill-pattern\",W=d.paint.get(U),Z=W&&W.constantOr(1),$=d.getCrossfadeParameters(),st,At,pt,yt,dt;O?(At=Z&&!d.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",st=B.LINES):(At=Z?\"fillPattern\":\"fill\",st=B.TRIANGLES);let Ft=W.constantOr(null);for(let Ht of v){let St=l.getTile(Ht);if(Z&&!St.patternsLoaded())continue;let Bt=St.getBucket(d);if(!Bt)continue;let Qt=Bt.programConfigurations.get(d.id),$t=T.useProgram(At,Qt),oe=T.style.map.terrain&&T.style.map.terrain.getTerrainData(Ht);Z&&(T.context.activeTexture.set(B.TEXTURE0),St.imageAtlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE),Qt.updatePaintBuffers($)),Ed(Qt,U,Ft,St,d);let pe=oe?Ht:null,he=T.translatePosMatrix(pe?pe.posMatrix:Ht.posMatrix,St,d.paint.get(\"fill-translate\"),d.paint.get(\"fill-translate-anchor\"));if(O){yt=Bt.indexBuffer2,dt=Bt.segments2;let be=[B.drawingBufferWidth,B.drawingBufferHeight];pt=At===\"fillOutlinePattern\"&&Z?xd(he,T,$,St,be):vd(he,be)}else yt=Bt.indexBuffer,dt=Bt.segments,pt=Z?yd(he,T,$,St):_d(he);$t.draw(T.context,st,b,T.stencilModeForClipping(Ht),M,It.disabled,pt,oe,d.id,Bt.layoutVertexBuffer,yt,dt,d.paint,T.transform.zoom,Qt)}}function Id(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=\"fill-extrusion-pattern\",Z=d.paint.get(W),$=Z.constantOr(1),st=d.getCrossfadeParameters(),At=d.paint.get(\"fill-extrusion-opacity\"),pt=Z.constantOr(null);for(let yt of v){let dt=l.getTile(yt),Ft=dt.getBucket(d);if(!Ft)continue;let Ht=T.style.map.terrain&&T.style.map.terrain.getTerrainData(yt),St=Ft.programConfigurations.get(d.id),Bt=T.useProgram($?\"fillExtrusionPattern\":\"fillExtrusion\",St);$&&(T.context.activeTexture.set(U.TEXTURE0),dt.imageAtlasTexture.bind(U.LINEAR,U.CLAMP_TO_EDGE),St.updatePaintBuffers(st)),Ed(St,W,pt,dt,d);let Qt=T.translatePosMatrix(yt.posMatrix,dt,d.paint.get(\"fill-extrusion-translate\"),d.paint.get(\"fill-extrusion-translate-anchor\")),$t=d.paint.get(\"fill-extrusion-vertical-gradient\"),oe=$?Wl(Qt,T,$t,At,yt,st,dt):Gp(Qt,T,$t,At);Bt.draw(B,B.gl.TRIANGLES,b,M,O,It.backCCW,oe,Ht,d.id,Ft.layoutVertexBuffer,Ft.indexBuffer,Ft.segments,d.paint,T.transform.zoom,St,T.style.map.terrain&&Ft.centroidVertexBuffer)}}function Fx(T,l,d,v,b,M,O){let B=T.context,U=B.gl,W=d.fbo;if(!W)return;let Z=T.useProgram(\"hillshade\"),$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(l);B.activeTexture.set(U.TEXTURE0),U.bindTexture(U.TEXTURE_2D,W.colorAttachment.get()),Z.draw(B,U.TRIANGLES,b,M,O,It.disabled,((st,At,pt,yt)=>{let dt=pt.paint.get(\"hillshade-shadow-color\"),Ft=pt.paint.get(\"hillshade-highlight-color\"),Ht=pt.paint.get(\"hillshade-accent-color\"),St=pt.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);pt.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(St-=st.transform.angle);let Bt=!st.options.moving;return{u_matrix:yt?yt.posMatrix:st.transform.calculatePosMatrix(At.tileID.toUnwrapped(),Bt),u_image:0,u_latrange:Qe(0,At.tileID),u_light:[pt.paint.get(\"hillshade-exaggeration\"),St],u_shadow:dt,u_highlight:Ft,u_accent:Ht}})(T,d,v,$?l:null),$,v.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments)}function r0(T,l,d,v,b,M){let O=T.context,B=O.gl,U=l.dem;if(U&&U.data){let W=U.dim,Z=U.stride,$=U.getPixels();if(O.activeTexture.set(B.TEXTURE1),O.pixelStoreUnpackPremultiplyAlpha.set(!1),l.demTexture=l.demTexture||T.getTileTexture(Z),l.demTexture){let At=l.demTexture;At.update($,{premultiply:!1}),At.bind(B.NEAREST,B.CLAMP_TO_EDGE)}else l.demTexture=new qt(O,$,B.RGBA,{premultiply:!1}),l.demTexture.bind(B.NEAREST,B.CLAMP_TO_EDGE);O.activeTexture.set(B.TEXTURE0);let st=l.fbo;if(!st){let At=new qt(O,{width:W,height:W,data:null},B.RGBA);At.bind(B.LINEAR,B.CLAMP_TO_EDGE),st=l.fbo=O.createFramebuffer(W,W,!0,!1),st.colorAttachment.set(At.texture)}O.bindFramebuffer.set(st.framebuffer),O.viewport.set([0,0,W,W]),T.useProgram(\"hillshadePrepare\").draw(O,B.TRIANGLES,v,b,M,It.disabled,((At,pt)=>{let yt=pt.stride,dt=n.Z();return n.aS(dt,0,n.N,-n.N,0,0,1),n.$(dt,dt,[0,-n.N,0]),{u_matrix:dt,u_image:1,u_dimension:[yt,yt],u_zoom:At.overscaledZ,u_unpack:pt.getUnpackVector()}})(l.tileID,U),null,d.id,T.rasterBoundsBuffer,T.quadTriangleIndexBuffer,T.rasterBoundsSegments),l.needsHillshadePrepare=!1}}function f_(T,l,d,v,b,M){let O=v.paint.get(\"raster-fade-duration\");if(!M&&O>0){let B=n.h.now(),U=(B-T.timeAdded)/O,W=l?(B-l.timeAdded)/O:-1,Z=d.getSource(),$=b.coveringZoomLevel({tileSize:Z.tileSize,roundZoom:Z.roundZoom}),st=!l||Math.abs(l.tileID.overscaledZ-$)>Math.abs(T.tileID.overscaledZ-$),At=st&&T.refreshedUponExpiration?1:n.ad(st?U:1-W,0,1);return T.refreshedUponExpiration&&U>=1&&(T.refreshedUponExpiration=!1),l?{opacity:1,mix:1-At}:{opacity:At,mix:0}}return{opacity:1,mix:0}}let d_=new n.aT(1,0,0,1),yf=new n.aT(0,1,0,1),Ba=new n.aT(0,0,1,1),Wn=new n.aT(1,0,1,1),p_=new n.aT(0,1,1,1);function Cd(T,l,d,v){Xp(T,0,l+d/2,T.transform.width,d,v)}function $p(T,l,d,v){Xp(T,l-d/2,0,d,T.transform.height,v)}function Xp(T,l,d,v,b,M){let O=T.context,B=O.gl;B.enable(B.SCISSOR_TEST),B.scissor(l*T.pixelRatio,d*T.pixelRatio,v*T.pixelRatio,b*T.pixelRatio),O.clear({color:M}),B.disable(B.SCISSOR_TEST)}function i0(T,l,d){let v=T.context,b=v.gl,M=d.posMatrix,O=T.useProgram(\"debug\"),B=ci.disabled,U=Je.disabled,W=T.colorModeForRenderPass(),Z=\"$debug\",$=T.style.map.terrain&&T.style.map.terrain.getTerrainData(d);v.activeTexture.set(b.TEXTURE0);let st=l.getTileByID(d.key).latestRawTileData,At=Math.floor((st&&st.byteLength||0)/1024),pt=l.getTile(d).tileSize,yt=512/Math.min(pt,512)*(d.overscaledZ/T.transform.zoom)*.5,dt=d.canonical.toString();d.overscaledZ!==d.canonical.z&&(dt+=` => ${d.overscaledZ}`),function(Ft,Ht){Ft.initDebugOverlayCanvas();let St=Ft.debugOverlayCanvas,Bt=Ft.context.gl,Qt=Ft.debugOverlayCanvas.getContext(\"2d\");Qt.clearRect(0,0,St.width,St.height),Qt.shadowColor=\"white\",Qt.shadowBlur=2,Qt.lineWidth=1.5,Qt.strokeStyle=\"white\",Qt.textBaseline=\"top\",Qt.font=\"bold 36px Open Sans, sans-serif\",Qt.fillText(Ht,5,5),Qt.strokeText(Ht,5,5),Ft.debugOverlayTexture.update(St),Ft.debugOverlayTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE)}(T,`${dt} ${At}kB`),O.draw(v,b.TRIANGLES,B,U,Ji.alphaBlended,It.disabled,Lt(M,n.aT.transparent,yt),null,Z,T.debugBuffer,T.quadTriangleIndexBuffer,T.debugSegments),O.draw(v,b.LINE_STRIP,B,U,W,It.disabled,Lt(M,n.aT.red),$,Z,T.debugBuffer,T.tileBorderIndexBuffer,T.debugSegments)}function Cn(T,l,d){let v=T.context,b=v.gl,M=T.colorModeForRenderPass(),O=new ci(b.LEQUAL,ci.ReadWrite,T.depthRangeFor3D),B=T.useProgram(\"terrain\"),U=l.getTerrainMesh();v.bindFramebuffer.set(null),v.viewport.set([0,0,T.width,T.height]);for(let W of d){let Z=T.renderToTexture.getTexture(W),$=l.getTerrainData(W.tileID);v.activeTexture.set(b.TEXTURE0),b.bindTexture(b.TEXTURE_2D,Z.texture);let st={u_matrix:T.transform.calculatePosMatrix(W.tileID.toUnwrapped()),u_texture:0,u_ele_delta:l.getMeshFrameDelta(T.transform.zoom)};B.draw(v,b.TRIANGLES,O,Je.disabled,M,It.backCCW,st,$,\"terrain\",U.vertexBuffer,U.indexBuffer,U.segments)}}class ah{constructor(l,d){this.context=new Oc(l),this.transform=d,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:n.Z(),renderTime:0},this.setup(),this.numSublayers=ls.maxUnderzooming+ls.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Dc}resize(l,d,v){if(this.width=Math.floor(l*v),this.height=Math.floor(d*v),this.pixelRatio=v,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let b of this.style._order)this.style._layers[b].resize()}setup(){let l=this.context,d=new n.a_;d.emplaceBack(0,0),d.emplaceBack(n.N,0),d.emplaceBack(0,n.N),d.emplaceBack(n.N,n.N),this.tileExtentBuffer=l.createVertexBuffer(d,So.members),this.tileExtentSegments=n.S.simpleSegment(0,0,4,2);let v=new n.a_;v.emplaceBack(0,0),v.emplaceBack(n.N,0),v.emplaceBack(0,n.N),v.emplaceBack(n.N,n.N),this.debugBuffer=l.createVertexBuffer(v,So.members),this.debugSegments=n.S.simpleSegment(0,0,4,5);let b=new n.V;b.emplaceBack(0,0,0,0),b.emplaceBack(n.N,0,n.N,0),b.emplaceBack(0,n.N,0,n.N),b.emplaceBack(n.N,n.N,n.N,n.N),this.rasterBoundsBuffer=l.createVertexBuffer(b,Jn.members),this.rasterBoundsSegments=n.S.simpleSegment(0,0,4,2);let M=new n.a_;M.emplaceBack(0,0),M.emplaceBack(1,0),M.emplaceBack(0,1),M.emplaceBack(1,1),this.viewportBuffer=l.createVertexBuffer(M,So.members),this.viewportSegments=n.S.simpleSegment(0,0,4,2);let O=new n.a$;O.emplaceBack(0),O.emplaceBack(1),O.emplaceBack(3),O.emplaceBack(2),O.emplaceBack(0),this.tileBorderIndexBuffer=l.createIndexBuffer(O);let B=new n.b0;B.emplaceBack(0,1,2),B.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=l.createIndexBuffer(B);let U=this.context.gl;this.stencilClearMode=new Je({func:U.ALWAYS,mask:0},0,255,U.ZERO,U.ZERO,U.ZERO)}clearStencil(){let l=this.context,d=l.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let v=n.Z();n.aS(v,0,this.width,this.height,0,0,1),n.a0(v,v,[d.drawingBufferWidth,d.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(l,d.TRIANGLES,ci.disabled,this.stencilClearMode,Ji.disabled,It.disabled,Kt(v),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(l,d){if(this.currentStencilSource===l.source||!l.isTileClipped()||!d||!d.length)return;this.currentStencilSource=l.source;let v=this.context,b=v.gl;this.nextStencilID+d.length>256&&this.clearStencil(),v.setColorMode(Ji.disabled),v.setDepthMode(ci.disabled);let M=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let O of d){let B=this._tileClippingMaskIDs[O.key]=this.nextStencilID++,U=this.style.map.terrain&&this.style.map.terrain.getTerrainData(O);M.draw(v,b.TRIANGLES,ci.disabled,new Je({func:b.ALWAYS,mask:0},B,255,b.KEEP,b.KEEP,b.REPLACE),Ji.disabled,It.disabled,Kt(O.posMatrix),U,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let l=this.nextStencilID++,d=this.context.gl;return new Je({func:d.NOTEQUAL,mask:255},l,255,d.KEEP,d.KEEP,d.REPLACE)}stencilModeForClipping(l){let d=this.context.gl;return new Je({func:d.EQUAL,mask:255},this._tileClippingMaskIDs[l.key],0,d.KEEP,d.KEEP,d.REPLACE)}stencilConfigForOverlap(l){let d=this.context.gl,v=l.sort((O,B)=>B.overscaledZ-O.overscaledZ),b=v[v.length-1].overscaledZ,M=v[0].overscaledZ-b+1;if(M>1){this.currentStencilSource=void 0,this.nextStencilID+M>256&&this.clearStencil();let O={};for(let B=0;B=0;this.currentLayer--){let U=this.style._layers[v[this.currentLayer]],W=b[U.source],Z=M[U.source];this._renderTileClippingMasks(U,Z),this.renderLayer(this,W,U,Z)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerdt.source&&!dt.isHidden(Z)?[W.sourceCaches[dt.source]]:[]),At=st.filter(dt=>dt.getSource().type===\"vector\"),pt=st.filter(dt=>dt.getSource().type!==\"vector\"),yt=dt=>{(!$||$.getSource().maxzoomyt(dt)),$||pt.forEach(dt=>yt(dt)),$}(this.style,this.transform.zoom);U&&function(W,Z,$){for(let st=0;st<$.length;st++)i0(W,Z,$[st])}(this,U,U.getVisibleCoordinates())}this.options.showPadding&&function(U){let W=U.transform.padding;Cd(U,U.transform.height-(W.top||0),3,d_),Cd(U,W.bottom||0,3,yf),$p(U,W.left||0,3,Ba),$p(U,U.transform.width-(W.right||0),3,Wn);let Z=U.transform.centerPoint;(function($,st,At,pt){Xp($,st-1,At-10,2,20,pt),Xp($,st-10,At-1,20,2,pt)})(U,Z.x,U.transform.height-Z.y,p_)}(this),this.context.setDefault()}renderLayer(l,d,v,b){if(!v.isHidden(this.transform.zoom)&&(v.type===\"background\"||v.type===\"custom\"||(b||[]).length))switch(this.id=v.id,v.type){case\"symbol\":(function(M,O,B,U,W){if(M.renderPass!==\"translucent\")return;let Z=Je.disabled,$=M.colorModeForRenderPass();(B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(st,At,pt,yt,dt,Ft,Ht){let St=At.transform,Bt=dt===\"map\",Qt=Ft===\"map\";for(let $t of st){let oe=yt.getTile($t),pe=oe.getBucket(pt);if(!pe||!pe.text||!pe.text.segments.get().length)continue;let he=n.ah(pe.textSizeData,St.zoom),be=Dt(oe,1,At.transform.zoom),Ze=ve($t.posMatrix,Qt,Bt,At.transform,be),Kr=pt.layout.get(\"icon-text-fit\")!==\"none\"&&pe.hasIconData();if(he){let Ee=Math.pow(2,St.zoom-oe.tileID.overscaledZ);Qp(pe,Bt,Qt,Ht,St,Ze,$t.posMatrix,Ee,he,Kr,At.style.map.terrain?(pr,tr)=>At.style.map.terrain.getElevation($t,pr,tr):null)}}}(U,M,B,O,B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),W),B.paint.get(\"icon-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!1,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),B.layout.get(\"icon-rotation-alignment\"),B.layout.get(\"icon-pitch-alignment\"),B.layout.get(\"icon-keep-upright\"),Z,$),B.paint.get(\"text-opacity\").constantOr(1)!==0&&wt(M,O,B,U,!0,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),B.layout.get(\"text-rotation-alignment\"),B.layout.get(\"text-pitch-alignment\"),B.layout.get(\"text-keep-upright\"),Z,$),O.map.showCollisionBoxes&&(Km(M,O,B,U,B.paint.get(\"text-translate\"),B.paint.get(\"text-translate-anchor\"),!0),Km(M,O,B,U,B.paint.get(\"icon-translate\"),B.paint.get(\"icon-translate-anchor\"),!1))})(l,d,v,b,this.style.placement.variableOffsets);break;case\"circle\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"circle-opacity\"),Z=B.paint.get(\"circle-stroke-width\"),$=B.paint.get(\"circle-stroke-opacity\"),st=!B.layout.get(\"circle-sort-key\").isConstant();if(W.constantOr(1)===0&&(Z.constantOr(1)===0||$.constantOr(1)===0))return;let At=M.context,pt=At.gl,yt=M.depthModeForSublayer(0,ci.ReadOnly),dt=Je.disabled,Ft=M.colorModeForRenderPass(),Ht=[];for(let St=0;StSt.sortKey-Bt.sortKey);for(let St of Ht){let{programConfiguration:Bt,program:Qt,layoutVertexBuffer:$t,indexBuffer:oe,uniformValues:pe,terrainData:he}=St.state;Qt.draw(At,pt.TRIANGLES,yt,dt,Ft,It.disabled,pe,he,B.id,$t,oe,St.segments,B.paint,M.transform.zoom,Bt)}})(l,d,v,b);break;case\"heatmap\":(function(M,O,B,U){if(B.paint.get(\"heatmap-opacity\")!==0)if(M.renderPass===\"offscreen\"){let W=M.context,Z=W.gl,$=Je.disabled,st=new Ji([Z.ONE,Z.ONE],n.aT.transparent,[!0,!0,!0,!0]);(function(At,pt,yt){let dt=At.gl;At.activeTexture.set(dt.TEXTURE1),At.viewport.set([0,0,pt.width/4,pt.height/4]);let Ft=yt.heatmapFbo;if(Ft)dt.bindTexture(dt.TEXTURE_2D,Ft.colorAttachment.get()),At.bindFramebuffer.set(Ft.framebuffer);else{let Ht=dt.createTexture();dt.bindTexture(dt.TEXTURE_2D,Ht),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_S,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_WRAP_T,dt.CLAMP_TO_EDGE),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MIN_FILTER,dt.LINEAR),dt.texParameteri(dt.TEXTURE_2D,dt.TEXTURE_MAG_FILTER,dt.LINEAR),Ft=yt.heatmapFbo=At.createFramebuffer(pt.width/4,pt.height/4,!1,!1),function(St,Bt,Qt,$t){var oe,pe;let he=St.gl,be=(oe=St.HALF_FLOAT)!==null&&oe!==void 0?oe:he.UNSIGNED_BYTE,Ze=(pe=St.RGBA16F)!==null&&pe!==void 0?pe:he.RGBA;he.texImage2D(he.TEXTURE_2D,0,Ze,Bt.width/4,Bt.height/4,0,he.RGBA,be,null),$t.colorAttachment.set(Qt)}(At,pt,Ht,Ft)}})(W,M,B),W.clear({color:n.aT.transparent});for(let At=0;At{let St=n.Z();n.aS(St,0,yt.width,yt.height,0,0,1);let Bt=yt.context.gl;return{u_matrix:St,u_world:[Bt.drawingBufferWidth,Bt.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:dt.paint.get(\"heatmap-opacity\")}})(W,Z),null,Z.id,W.viewportBuffer,W.quadTriangleIndexBuffer,W.viewportSegments,Z.paint,W.transform.zoom)}(M,B))})(l,d,v,b);break;case\"line\":(function(M,O,B,U){if(M.renderPass!==\"translucent\")return;let W=B.paint.get(\"line-opacity\"),Z=B.paint.get(\"line-width\");if(W.constantOr(1)===0||Z.constantOr(1)===0)return;let $=M.depthModeForSublayer(0,ci.ReadOnly),st=M.colorModeForRenderPass(),At=B.paint.get(\"line-dasharray\"),pt=B.paint.get(\"line-pattern\"),yt=pt.constantOr(1),dt=B.paint.get(\"line-gradient\"),Ft=B.getCrossfadeParameters(),Ht=yt?\"linePattern\":At?\"lineSDF\":dt?\"lineGradient\":\"line\",St=M.context,Bt=St.gl,Qt=!0;for(let $t of U){let oe=O.getTile($t);if(yt&&!oe.patternsLoaded())continue;let pe=oe.getBucket(B);if(!pe)continue;let he=pe.programConfigurations.get(B.id),be=M.context.program.get(),Ze=M.useProgram(Ht,he),Kr=Qt||Ze.program!==be,Ee=M.style.map.terrain&&M.style.map.terrain.getTerrainData($t),pr=pt.constantOr(null);if(pr&&oe.imageAtlas){let Jr=oe.imageAtlas,Vr=Jr.patternPositions[pr.to.toString()],ei=Jr.patternPositions[pr.from.toString()];Vr&&ei&&he.setConstantPatternPositions(Vr,ei)}let tr=Ee?$t:null,Gi=yt?Ts(M,oe,B,Ft,tr):At?Vs(M,oe,B,At,Ft,tr):dt?is(M,oe,B,pe.lineClipsArray.length,tr):ti(M,oe,B,tr);if(yt)St.activeTexture.set(Bt.TEXTURE0),oe.imageAtlasTexture.bind(Bt.LINEAR,Bt.CLAMP_TO_EDGE),he.updatePaintBuffers(Ft);else if(At&&(Kr||M.lineAtlas.dirty))St.activeTexture.set(Bt.TEXTURE0),M.lineAtlas.bind(St);else if(dt){let Jr=pe.gradients[B.id],Vr=Jr.texture;if(B.gradientVersion!==Jr.version){let ei=256;if(B.stepInterpolant){let On=O.getSource().maxzoom,tn=$t.canonical.z===On?Math.ceil(1<0?d.pop():null}isPatternMissing(l){if(!l)return!1;if(!l.from||!l.to)return!0;let d=this.imageManager.getPattern(l.from.toString()),v=this.imageManager.getPattern(l.to.toString());return!d||!v}useProgram(l,d){this.cache=this.cache||{};let v=l+(d?d.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[v]||(this.cache[v]=new pu(this.context,Ki[l],d,Wm[l],this._showOverdrawInspector,this.style.map.terrain)),this.cache[v]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let l=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(l.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new qt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:l,drawingBufferHeight:d}=this.context.gl;return this.width!==l||this.height!==d}}class fi{constructor(l,d){this.points=l,this.planes=d}static fromInvProjectionMatrix(l,d,v){let b=Math.pow(2,v),M=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(B=>{let U=1/(B=n.ag([],B,l))[3]/d*b;return n.b3(B,B,[U,U,1/B[3],U])}),O=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(B=>{let U=function(st,At){var pt=At[0],yt=At[1],dt=At[2],Ft=pt*pt+yt*yt+dt*dt;return Ft>0&&(Ft=1/Math.sqrt(Ft)),st[0]=At[0]*Ft,st[1]=At[1]*Ft,st[2]=At[2]*Ft,st}([],function(st,At,pt){var yt=At[0],dt=At[1],Ft=At[2],Ht=pt[0],St=pt[1],Bt=pt[2];return st[0]=dt*Bt-Ft*St,st[1]=Ft*Ht-yt*Bt,st[2]=yt*St-dt*Ht,st}([],ut([],M[B[0]],M[B[1]]),ut([],M[B[2]],M[B[1]]))),W=-((Z=U)[0]*($=M[B[1]])[0]+Z[1]*$[1]+Z[2]*$[2]);var Z,$;return U.concat(W)});return new fi(M,O)}}class mu{constructor(l,d){this.min=l,this.max=d,this.center=function(v,b,M){return v[0]=.5*b[0],v[1]=.5*b[1],v[2]=.5*b[2],v}([],function(v,b,M){return v[0]=b[0]+M[0],v[1]=b[1]+M[1],v[2]=b[2]+M[2],v}([],this.min,this.max))}quadrant(l){let d=[l%2==0,l<2],v=K(this.min),b=K(this.max);for(let M=0;M=0&&O++;if(O===0)return 0;O!==d.length&&(v=!1)}if(v)return 2;for(let b=0;b<3;b++){let M=Number.MAX_VALUE,O=-Number.MAX_VALUE;for(let B=0;Bthis.max[b]-this.min[b])return 0}return 1}}class vf{constructor(l=0,d=0,v=0,b=0){if(isNaN(l)||l<0||isNaN(d)||d<0||isNaN(v)||v<0||isNaN(b)||b<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=l,this.bottom=d,this.left=v,this.right=b}interpolate(l,d,v){return d.top!=null&&l.top!=null&&(this.top=n.B.number(l.top,d.top,v)),d.bottom!=null&&l.bottom!=null&&(this.bottom=n.B.number(l.bottom,d.bottom,v)),d.left!=null&&l.left!=null&&(this.left=n.B.number(l.left,d.left,v)),d.right!=null&&l.right!=null&&(this.right=n.B.number(l.right,d.right,v)),this}getCenter(l,d){let v=n.ad((this.left+l-this.right)/2,0,l),b=n.ad((this.top+d-this.bottom)/2,0,d);return new n.P(v,b)}equals(l){return this.top===l.top&&this.bottom===l.bottom&&this.left===l.left&&this.right===l.right}clone(){return new vf(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class Kp{constructor(l,d,v,b,M){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=M===void 0||!!M,this._minZoom=l||0,this._maxZoom=d||22,this._minPitch=v??0,this._maxPitch=b??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new n.L(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new vf,this._posMatrixCache={},this._alignedPosMatrixCache={},this._minEleveationForCurrentTile=0}clone(){let l=new Kp(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return l.apply(this),l}apply(l){this.tileSize=l.tileSize,this.latRange=l.latRange,this.width=l.width,this.height=l.height,this._center=l._center,this._elevation=l._elevation,this._minEleveationForCurrentTile=l._minEleveationForCurrentTile,this.zoom=l.zoom,this.angle=l.angle,this._fov=l._fov,this._pitch=l._pitch,this._unmodified=l._unmodified,this._edgeInsets=l._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(l){this._minZoom!==l&&(this._minZoom=l,this.zoom=Math.max(this.zoom,l))}get maxZoom(){return this._maxZoom}set maxZoom(l){this._maxZoom!==l&&(this._maxZoom=l,this.zoom=Math.min(this.zoom,l))}get minPitch(){return this._minPitch}set minPitch(l){this._minPitch!==l&&(this._minPitch=l,this.pitch=Math.max(this.pitch,l))}get maxPitch(){return this._maxPitch}set maxPitch(l){this._maxPitch!==l&&(this._maxPitch=l,this.pitch=Math.min(this.pitch,l))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(l){l===void 0?l=!0:l===null&&(l=!1),this._renderWorldCopies=l}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new n.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(l){let d=-n.b5(l,-180,180)*Math.PI/180;this.angle!==d&&(this._unmodified=!1,this.angle=d,this._calcMatrices(),this.rotationMatrix=function(){var v=new n.A(4);return n.A!=Float32Array&&(v[1]=0,v[2]=0),v[0]=1,v[3]=1,v}(),function(v,b,M){var O=b[0],B=b[1],U=b[2],W=b[3],Z=Math.sin(M),$=Math.cos(M);v[0]=O*$+U*Z,v[1]=B*$+W*Z,v[2]=O*-Z+U*$,v[3]=B*-Z+W*$}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(l){let d=n.ad(l,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==d&&(this._unmodified=!1,this._pitch=d,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(l){l=Math.max(.01,Math.min(60,l)),this._fov!==l&&(this._unmodified=!1,this._fov=l/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(l){let d=Math.min(Math.max(l,this.minZoom),this.maxZoom);this._zoom!==d&&(this._unmodified=!1,this._zoom=d,this.tileZoom=Math.max(0,Math.floor(d)),this.scale=this.zoomScale(d),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(l){l.lat===this._center.lat&&l.lng===this._center.lng||(this._unmodified=!1,this._center=l,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(l){l!==this._elevation&&(this._elevation=l,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(l){this._edgeInsets.equals(l)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,l,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(l){return this._edgeInsets.equals(l)}interpolatePadding(l,d,v){this._unmodified=!1,this._edgeInsets.interpolate(l,d,v),this._constrain(),this._calcMatrices()}coveringZoomLevel(l){let d=(l.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/l.tileSize));return Math.max(0,d)}getVisibleUnwrappedCoordinates(l){let d=[new n.b6(0,l)];if(this._renderWorldCopies){let v=this.pointCoordinate(new n.P(0,0)),b=this.pointCoordinate(new n.P(this.width,0)),M=this.pointCoordinate(new n.P(this.width,this.height)),O=this.pointCoordinate(new n.P(0,this.height)),B=Math.floor(Math.min(v.x,b.x,M.x,O.x)),U=Math.floor(Math.max(v.x,b.x,M.x,O.x)),W=1;for(let Z=B-W;Z<=U+W;Z++)Z!==0&&d.push(new n.b6(Z,l))}return d}coveringTiles(l){var d,v;let b=this.coveringZoomLevel(l),M=b;if(l.minzoom!==void 0&&bl.maxzoom&&(b=l.maxzoom);let O=this.pointCoordinate(this.getCameraPoint()),B=n.U.fromLngLat(this.center),U=Math.pow(2,b),W=[U*O.x,U*O.y,0],Z=[U*B.x,U*B.y,0],$=fi.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,b),st=l.minzoom||0;!l.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(st=b);let At=l.terrain?2/Math.min(this.tileSize,l.tileSize)*this.tileSize:3,pt=St=>({aabb:new mu([St*U,0,0],[(St+1)*U,U,0]),zoom:0,x:0,y:0,wrap:St,fullyVisible:!1}),yt=[],dt=[],Ft=b,Ht=l.reparseOverscaled?M:b;if(this._renderWorldCopies)for(let St=1;St<=3;St++)yt.push(pt(-St)),yt.push(pt(St));for(yt.push(pt(0));yt.length>0;){let St=yt.pop(),Bt=St.x,Qt=St.y,$t=St.fullyVisible;if(!$t){let Ze=St.aabb.intersects($);if(Ze===0)continue;$t=Ze===2}let oe=l.terrain?W:Z,pe=St.aabb.distanceX(oe),he=St.aabb.distanceY(oe),be=Math.max(Math.abs(pe),Math.abs(he));if(St.zoom===Ft||be>At+(1<=st){let Ze=Ft-St.zoom,Kr=W[0]-.5-(Bt<>1),pr=St.zoom+1,tr=St.aabb.quadrant(Ze);if(l.terrain){let Gi=new n.O(pr,St.wrap,pr,Kr,Ee),Jr=l.terrain.getMinMaxElevation(Gi),Vr=(d=Jr.minElevation)!==null&&d!==void 0?d:this.elevation,ei=(v=Jr.maxElevation)!==null&&v!==void 0?v:this.elevation;tr=new mu([tr.min[0],tr.min[1],Vr],[tr.max[0],tr.max[1],ei])}yt.push({aabb:tr,zoom:pr,x:Kr,y:Ee,wrap:St.wrap,fullyVisible:$t})}}return dt.sort((St,Bt)=>St.distanceSq-Bt.distanceSq).map(St=>St.tileID)}resize(l,d){this.width=l,this.height=d,this.pixelsToGLUnits=[2/l,-2/d],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(l){return Math.pow(2,l)}scaleZoom(l){return Math.log(l)/Math.LN2}project(l){let d=n.ad(l.lat,-this.maxValidLatitude,this.maxValidLatitude);return new n.P(n.G(l.lng)*this.worldSize,n.H(d)*this.worldSize)}unproject(l){return new n.U(l.x/this.worldSize,l.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(l){let d=this.pointLocation(this.centerPoint,l),v=l.getElevationForLngLatZoom(d,this.tileZoom);if(!(this.elevation-v))return;let b=this.getCameraPosition(),M=n.U.fromLngLat(b.lngLat,b.altitude),O=n.U.fromLngLat(d,v),B=M.x-O.x,U=M.y-O.y,W=M.z-O.z,Z=Math.sqrt(B*B+U*U+W*W),$=this.scaleZoom(this.cameraToCenterDistance/Z/this.tileSize);this._elevation=v,this._center=d,this.zoom=$}setLocationAtPoint(l,d){let v=this.pointCoordinate(d),b=this.pointCoordinate(this.centerPoint),M=this.locationCoordinate(l),O=new n.U(M.x-(v.x-b.x),M.y-(v.y-b.y));this.center=this.coordinateLocation(O),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(l,d){return d?this.coordinatePoint(this.locationCoordinate(l),d.getElevationForLngLatZoom(l,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(l))}pointLocation(l,d){return this.coordinateLocation(this.pointCoordinate(l,d))}locationCoordinate(l){return n.U.fromLngLat(l)}coordinateLocation(l){return l&&l.toLngLat()}pointCoordinate(l,d){if(d){let st=d.pointCoordinate(l);if(st!=null)return st}let v=[l.x,l.y,0,1],b=[l.x,l.y,1,1];n.ag(v,v,this.pixelMatrixInverse),n.ag(b,b,this.pixelMatrixInverse);let M=v[3],O=b[3],B=v[1]/M,U=b[1]/O,W=v[2]/M,Z=b[2]/O,$=W===Z?0:(0-W)/(Z-W);return new n.U(n.B.number(v[0]/M,b[0]/O,$)/this.worldSize,n.B.number(B,U,$)/this.worldSize)}coordinatePoint(l,d=0,v=this.pixelMatrix){let b=[l.x*this.worldSize,l.y*this.worldSize,d,1];return n.ag(b,b,v),new n.P(b[0]/b[3],b[1]/b[3])}getBounds(){let l=Math.max(0,this.height/2-this.getHorizon());return new Si().extend(this.pointLocation(new n.P(0,l))).extend(this.pointLocation(new n.P(this.width,l))).extend(this.pointLocation(new n.P(this.width,this.height))).extend(this.pointLocation(new n.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new Si([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(l){l?(this.lngRange=[l.getWest(),l.getEast()],this.latRange=[l.getSouth(),l.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])}calculatePosMatrix(l,d=!1){let v=l.key,b=d?this._alignedPosMatrixCache:this._posMatrixCache;if(b[v])return b[v];let M=l.canonical,O=this.worldSize/this.zoomScale(M.z),B=M.x+Math.pow(2,M.z)*l.wrap,U=n.ao(new Float64Array(16));return n.$(U,U,[B*O,M.y*O,0]),n.a0(U,U,[O/n.N,O/n.N,1]),n.a1(U,d?this.alignedProjMatrix:this.projMatrix,U),b[v]=new Float32Array(U),b[v]}customLayerMatrix(){return this.mercatorMatrix.slice()}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let l,d,v,b,M=-90,O=90,B=-180,U=180,W=this.size,Z=this._unmodified;if(this.latRange){let At=this.latRange;M=n.H(At[1])*this.worldSize,O=n.H(At[0])*this.worldSize,l=O-MO&&(b=O-pt)}if(this.lngRange){let At=(B+U)/2,pt=n.b5($.x,At-this.worldSize/2,At+this.worldSize/2),yt=W.x/2;pt-ytU&&(v=U-yt)}v===void 0&&b===void 0||(this.center=this.unproject(new n.P(v!==void 0?v:$.x,b!==void 0?b:$.y)).wrap()),this._unmodified=Z,this._constraining=!1}_calcMatrices(){if(!this.height)return;let l=this.centerOffset,d=this.point.x,v=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=n.b7(1,this.center.lat)*this.worldSize;let b=n.ao(new Float64Array(16));n.a0(b,b,[this.width/2,-this.height/2,1]),n.$(b,b,[1,-1,0]),this.labelPlaneMatrix=b,b=n.ao(new Float64Array(16)),n.a0(b,b,[1,-1,1]),n.$(b,b,[-1,-1,0]),n.a0(b,b,[2/this.width,2/this.height,1]),this.glCoordMatrix=b;let M=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),O=Math.min(this.elevation,this._minEleveationForCurrentTile),B=M-O*this._pixelPerMeter/Math.cos(this._pitch),U=O<0?B:M,W=Math.PI/2+this._pitch,Z=this._fov*(.5+l.y/this.height),$=Math.sin(Z)*U/Math.sin(n.ad(Math.PI-W-Z,.01,Math.PI-.01)),st=this.getHorizon(),At=2*Math.atan(st/this.cameraToCenterDistance)*(.5+l.y/(2*st)),pt=Math.sin(At)*U/Math.sin(n.ad(Math.PI-W-At,.01,Math.PI-.01)),yt=Math.min($,pt),dt=1.01*(Math.cos(Math.PI/2-this._pitch)*yt+U),Ft=this.height/50;b=new Float64Array(16),n.b8(b,this._fov,this.width/this.height,Ft,dt),b[8]=2*-l.x/this.width,b[9]=2*l.y/this.height,n.a0(b,b,[1,-1,1]),n.$(b,b,[0,0,-this.cameraToCenterDistance]),n.b9(b,b,this._pitch),n.ae(b,b,this.angle),n.$(b,b,[-d,-v,0]),this.mercatorMatrix=n.a0([],b,[this.worldSize,this.worldSize,this.worldSize]),n.a0(b,b,[1,1,this._pixelPerMeter]),this.pixelMatrix=n.a1(new Float64Array(16),this.labelPlaneMatrix,b),n.$(b,b,[0,0,-this.elevation]),this.projMatrix=b,this.invProjMatrix=n.as([],b),this.pixelMatrix3D=n.a1(new Float64Array(16),this.labelPlaneMatrix,b);let Ht=this.width%2/2,St=this.height%2/2,Bt=Math.cos(this.angle),Qt=Math.sin(this.angle),$t=d-Math.round(d)+Bt*Ht+Qt*St,oe=v-Math.round(v)+Bt*St+Qt*Ht,pe=new Float64Array(b);if(n.$(pe,pe,[$t>.5?$t-1:$t,oe>.5?oe-1:oe,0]),this.alignedProjMatrix=pe,b=n.as(new Float64Array(16),this.pixelMatrix),!b)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=b,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let l=this.pointCoordinate(new n.P(0,0)),d=[l.x*this.worldSize,l.y*this.worldSize,0,1];return n.ag(d,d,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let l=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new n.P(0,l))}getCameraQueryGeometry(l){let d=this.getCameraPoint();if(l.length===1)return[l[0],d];{let v=d.x,b=d.y,M=d.x,O=d.y;for(let B of l)v=Math.min(v,B.x),b=Math.min(b,B.y),M=Math.max(M,B.x),O=Math.max(O,B.y);return[new n.P(v,b),new n.P(M,b),new n.P(M,O),new n.P(v,O),new n.P(v,b)]}}}function lh(T,l){let d,v=!1,b=null,M=null,O=()=>{b=null,v&&(T.apply(M,d),b=setTimeout(O,l),v=!1)};return(...B)=>(v=!0,M=this,d=B,b||O(),b)}class Ld{constructor(l){this._getCurrentHash=()=>{let d=window.location.hash.replace(\"#\",\"\");if(this._hashName){let v;return d.split(\"&\").map(b=>b.split(\"=\")).forEach(b=>{b[0]===this._hashName&&(v=b)}),(v&&v[1]||\"\").split(\"/\")}return d.split(\"/\")},this._onHashChange=()=>{let d=this._getCurrentHash();if(d.length>=3&&!d.some(v=>isNaN(v))){let v=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(d[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+d[2],+d[1]],zoom:+d[0],bearing:v,pitch:+(d[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let d=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,d)}catch{}},this._updateHash=lh(this._updateHashUnthrottled,300),this._hashName=l&&encodeURIComponent(l)}addTo(l){return this._map=l,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(l){let d=this._map.getCenter(),v=Math.round(100*this._map.getZoom())/100,b=Math.ceil((v*Math.LN2+Math.log(512/360/.5))/Math.LN10),M=Math.pow(10,b),O=Math.round(d.lng*M)/M,B=Math.round(d.lat*M)/M,U=this._map.getBearing(),W=this._map.getPitch(),Z=\"\";if(Z+=l?`/${O}/${B}/${v}`:`${v}/${B}/${O}`,(U||W)&&(Z+=\"/\"+Math.round(10*U)/10),W&&(Z+=`/${Math.round(W)}`),this._hashName){let $=this._hashName,st=!1,At=window.location.hash.slice(1).split(\"&\").map(pt=>{let yt=pt.split(\"=\")[0];return yt===$?(st=!0,`${yt}=${Z}`):pt}).filter(pt=>pt);return st||At.push(`${$}=${Z}`),`#${At.join(\"&\")}`}return`#${Z}`}}let ch={linearity:.3,easing:n.ba(0,0,.3,1)},Jp=n.e({deceleration:2500,maxSpeed:1400},ch),tA=n.e({deceleration:20,maxSpeed:1400},ch),A_=n.e({deceleration:1e3,maxSpeed:360},ch),m_=n.e({deceleration:1e3,maxSpeed:90},ch);class n0{constructor(l){this._map=l,this.clear()}clear(){this._inertiaBuffer=[]}record(l){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:n.h.now(),settings:l})}_drainInertiaBuffer(){let l=this._inertiaBuffer,d=n.h.now();for(;l.length>0&&d-l[0].time>160;)l.shift()}_onMoveEnd(l){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let d={zoom:0,bearing:0,pitch:0,pan:new n.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:M}of this._inertiaBuffer)d.zoom+=M.zoomDelta||0,d.bearing+=M.bearingDelta||0,d.pitch+=M.pitchDelta||0,M.panDelta&&d.pan._add(M.panDelta),M.around&&(d.around=M.around),M.pinchAround&&(d.pinchAround=M.pinchAround);let v=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,b={};if(d.pan.mag()){let M=uh(d.pan.mag(),v,n.e({},Jp,l||{}));b.offset=d.pan.mult(M.amount/d.pan.mag()),b.center=this._map.transform.center,pl(b,M)}if(d.zoom){let M=uh(d.zoom,v,tA);b.zoom=this._map.transform.zoom+M.amount,pl(b,M)}if(d.bearing){let M=uh(d.bearing,v,A_);b.bearing=this._map.transform.bearing+n.ad(M.amount,-179,179),pl(b,M)}if(d.pitch){let M=uh(d.pitch,v,m_);b.pitch=this._map.transform.pitch+M.amount,pl(b,M)}if(b.zoom||b.bearing){let M=d.pinchAround===void 0?d.around:d.pinchAround;b.around=M?this._map.unproject(M):this._map.getCenter()}return this.clear(),n.e(b,{noMoveStart:!0})}}function pl(T,l){(!T.duration||T.durationd.unproject(U)),B=M.reduce((U,W,Z,$)=>U.add(W.div($.length)),new n.P(0,0));super(l,{points:M,point:B,lngLats:O,lngLat:d.unproject(B),originalEvent:v}),this._defaultPrevented=!1}}class g_ extends n.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(l,d,v){super(l,{originalEvent:v}),this._defaultPrevented=!1}}class js{constructor(l,d){this._map=l,this._clickTolerance=d.clickTolerance}reset(){delete this._mousedownPos}wheel(l){return this._firePreventable(new g_(l.type,this._map,l))}mousedown(l,d){return this._mousedownPos=d,this._firePreventable(new la(l.type,this._map,l))}mouseup(l){this._map.fire(new la(l.type,this._map,l))}click(l,d){this._mousedownPos&&this._mousedownPos.dist(d)>=this._clickTolerance||this._map.fire(new la(l.type,this._map,l))}dblclick(l){return this._firePreventable(new la(l.type,this._map,l))}mouseover(l){this._map.fire(new la(l.type,this._map,l))}mouseout(l){this._map.fire(new la(l.type,this._map,l))}touchstart(l){return this._firePreventable(new kd(l.type,this._map,l))}touchmove(l){this._map.fire(new kd(l.type,this._map,l))}touchend(l){this._map.fire(new kd(l.type,this._map,l))}touchcancel(l){this._map.fire(new kd(l.type,this._map,l))}_firePreventable(l){if(this._map.fire(l),l.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class gu{constructor(l){this._map=l}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(l){this._map.fire(new la(l.type,this._map,l))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new la(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(l){this._delayContextMenu?this._contextMenuEvent=l:this._ignoreContextMenu||this._map.fire(new la(l.type,this._map,l)),this._map.listens(\"contextmenu\")&&l.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Ln{constructor(l){this._map=l}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(l){return this.transform.pointLocation(n.P.convert(l),this._map.terrain)}}class eA{constructor(l,d){this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._container=l.getContainer(),this._clickTolerance=d.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(l,d){this.isEnabled()&&l.shiftKey&&l.button===0&&(c.disableDrag(),this._startPos=this._lastPos=d,this._active=!0)}mousemoveWindow(l,d){if(!this._active)return;let v=d;if(this._lastPos.equals(v)||!this._box&&v.dist(this._startPos)M.fitScreenCoordinates(v,b,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",l)}keydown(l){this._active&&l.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",l))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(l,d){return this._map.fire(new n.k(l,{originalEvent:d}))}}function ca(T,l){if(T.length!==l.length)throw new Error(`The number of touches and points are not equal - touches ${T.length}, points ${l.length}`);let d={};for(let v=0;vthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=l.timeStamp),v.length===this.numTouches&&(this.centroid=function(b){let M=new n.P(0,0);for(let O of b)M._add(O);return M.div(b.length)}(d),this.touches=ca(v,d)))}touchmove(l,d,v){if(this.aborted||!this.centroid)return;let b=ca(v,d);for(let M in this.touches){let O=b[M];(!O||O.dist(this.touches[M])>30)&&(this.aborted=!0)}}touchend(l,d,v){if((!this.centroid||l.timeStamp-this.startTime>500)&&(this.aborted=!0),v.length===0){let b=!this.aborted&&this.centroid;if(this.reset(),b)return b}}}class Rd{constructor(l){this.singleTap=new Fa(l),this.numTaps=l.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(l,d,v){this.singleTap.touchstart(l,d,v)}touchmove(l,d,v){this.singleTap.touchmove(l,d,v)}touchend(l,d,v){let b=this.singleTap.touchend(l,d,v);if(b){let M=l.timeStamp-this.lastTime<500,O=!this.lastTap||this.lastTap.dist(b)<30;if(M&&O||this.reset(),this.count++,this.lastTime=l.timeStamp,this.lastTap=b,this.count===this.numTaps)return this.reset(),b}}}class Al{constructor(l){this._tr=new Ln(l),this._zoomIn=new Rd({numTouches:1,numTaps:2}),this._zoomOut=new Rd({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(l,d,v){this._zoomIn.touchstart(l,d,v),this._zoomOut.touchstart(l,d,v)}touchmove(l,d,v){this._zoomIn.touchmove(l,d,v),this._zoomOut.touchmove(l,d,v)}touchend(l,d,v){let b=this._zoomIn.touchend(l,d,v),M=this._zoomOut.touchend(l,d,v),O=this._tr;return b?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom+1,around:O.unproject(b)},{originalEvent:l})}):M?(this._active=!0,l.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:B=>B.easeTo({duration:300,zoom:O.zoom-1,around:O.unproject(M)},{originalEvent:l})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class za{constructor(l){this._enabled=!!l.enable,this._moveStateManager=l.moveStateManager,this._clickTolerance=l.clickTolerance||1,this._moveFunction=l.move,this._activateOnStart=!!l.activateOnStart,l.assignEvents(this),this.reset()}reset(l){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(l)}_move(...l){let d=this._moveFunction(...l);if(d.bearingDelta||d.pitchDelta||d.around||d.panDelta)return this._active=!0,d}dragStart(l,d){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(l)&&(this._moveStateManager.startMove(l),this._lastPoint=d.length?d[0]:d,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(l,d){if(!this.isEnabled())return;let v=this._lastPoint;if(!v)return;if(l.preventDefault(),!this._moveStateManager.isValidMoveEvent(l))return void this.reset(l);let b=d.length?d[0]:d;return!this._moved&&b.dist(v){T.mousedown=T.dragStart,T.mousemoveWindow=T.dragMove,T.mouseup=T.dragEnd,T.contextmenu=function(l){l.preventDefault()}},Na=({enable:T,clickTolerance:l,bearingDegreesPerPixelMoved:d=.8})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({bearingDelta:(M.x-b.x)*d}),moveStateManager:v,enable:T,assignEvents:fh})},co=({enable:T,clickTolerance:l,pitchDegreesPerPixelMoved:d=-.5})=>{let v=new rA({checkCorrectEvent:b=>c.mouseButton(b)===0&&b.ctrlKey||c.mouseButton(b)===2});return new za({clickTolerance:l,move:(b,M)=>({pitchDelta:(M.y-b.y)*d}),moveStateManager:v,enable:T,assignEvents:fh})};class Ge{constructor(l,d){this._minTouches=l.cooperativeGestures?2:1,this._clickTolerance=l.clickTolerance||1,this._map=d,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new n.P(0,0),setTimeout(()=>{this._cancelCooperativeMessage=!1},200)}touchstart(l,d,v){return this._calculateTransform(l,d,v)}touchmove(l,d,v){if(this._map._cooperativeGestures&&(this._minTouches===2&&v.length<2&&!this._cancelCooperativeMessage?this._map._onCooperativeGesture(l,!1,v.length):this._cancelCooperativeMessage||(this._cancelCooperativeMessage=!0)),this._active&&!(v.length0&&(this._active=!0);let b=ca(v,d),M=new n.P(0,0),O=new n.P(0,0),B=0;for(let W in b){let Z=b[W],$=this._touches[W];$&&(M._add(Z),O._add(Z.sub($)),B++,b[W]=Z)}if(this._touches=b,BMath.abs(T.x)}class zx extends Dd{constructor(l){super(),this._map=l}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(l,d,v){super.touchstart(l,d,v),this._currentTouchCount=v.length}_start(l){this._lastPoints=l,a0(l[0].sub(l[1]))&&(this._valid=!1)}_move(l,d,v){if(this._map._cooperativeGestures&&this._currentTouchCount<3)return;let b=l[0].sub(this._lastPoints[0]),M=l[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(b,M,v.timeStamp),this._valid?(this._lastPoints=l,this._active=!0,{pitchDelta:(b.y+M.y)/2*-.5}):void 0}gestureBeginsVertically(l,d,v){if(this._valid!==void 0)return this._valid;let b=l.mag()>=2,M=d.mag()>=2;if(!b&&!M)return;if(!b||!M)return this._firstMove===void 0&&(this._firstMove=v),v-this._firstMove<100&&void 0;let O=l.y>0==d.y>0;return a0(l)&&a0(d)&&O}}let dh={panStep:100,bearingStep:15,pitchStep:10};class y_{constructor(l){this._tr=new Ln(l);let d=dh;this._panStep=d.panStep,this._bearingStep=d.bearingStep,this._pitchStep=d.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(l){if(l.altKey||l.ctrlKey||l.metaKey)return;let d=0,v=0,b=0,M=0,O=0;switch(l.keyCode){case 61:case 107:case 171:case 187:d=1;break;case 189:case 109:case 173:d=-1;break;case 37:l.shiftKey?v=-1:(l.preventDefault(),M=-1);break;case 39:l.shiftKey?v=1:(l.preventDefault(),M=1);break;case 38:l.shiftKey?b=1:(l.preventDefault(),O=-1);break;case 40:l.shiftKey?b=-1:(l.preventDefault(),O=1);break;default:return}return this._rotationDisabled&&(v=0,b=0),{cameraAnimation:B=>{let U=this._tr;B.easeTo({duration:300,easeId:\"keyboardHandler\",easing:l0,zoom:d?Math.round(U.zoom)+d*(l.shiftKey?2:1):U.zoom,bearing:U.bearing+v*this._bearingStep,pitch:U.pitch+b*this._pitchStep,offset:[-M*this._panStep,-O*this._panStep],center:U.center},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function l0(T){return T*(2-T)}let c0=4.000244140625;class bf{constructor(l,d){this._onTimeout=v=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(v)},this._map=l,this._tr=new Ln(l),this._el=l.getCanvasContainer(),this._triggerRenderFrame=d,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(l){this._defaultZoomRate=l}setWheelZoomRate(l){this._wheelZoomRate=l}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(l){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!l&&l.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(l){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!l[this._map._metaKey])return;l.preventDefault()}let d=l.deltaMode===WheelEvent.DOM_DELTA_LINE?40*l.deltaY:l.deltaY,v=n.h.now(),b=v-(this._lastWheelEventTime||0);this._lastWheelEventTime=v,d!==0&&d%c0==0?this._type=\"wheel\":d!==0&&Math.abs(d)<4?this._type=\"trackpad\":b>400?(this._type=null,this._lastValue=d,this._timeout=setTimeout(this._onTimeout,40,l)):this._type||(this._type=Math.abs(b*d)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,d+=this._lastValue)),l.shiftKey&&d&&(d/=4),this._type&&(this._lastWheelEvent=l,this._delta-=d,this._active||this._start(l)),l.preventDefault()}_start(l){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let d=c.mousePos(this._el,l),v=this._tr;this._around=n.L.convert(this._aroundCenter?v.center:v.unproject(d)),this._aroundPoint=v.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let l=this._tr.transform;if(this._delta!==0){let B=this._type===\"wheel\"&&Math.abs(this._delta)>c0?this._wheelZoomRate:this._defaultZoomRate,U=2/(1+Math.exp(-Math.abs(this._delta*B)));this._delta<0&&U!==0&&(U=1/U);let W=typeof this._targetZoom==\"number\"?l.zoomScale(this._targetZoom):l.scale;this._targetZoom=Math.min(l.maxZoom,Math.max(l.minZoom,l.scaleZoom(W*U))),this._type===\"wheel\"&&(this._startZoom=l.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let d=typeof this._targetZoom==\"number\"?this._targetZoom:l.zoom,v=this._startZoom,b=this._easing,M,O=!1;if(this._type===\"wheel\"&&v&&b){let B=Math.min((n.h.now()-this._lastWheelEventTime)/200,1),U=b(B);M=n.B.number(v,d,U),B<1?this._frameId||(this._frameId=!0):O=!0}else M=d,O=!0;return this._active=!0,O&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!O,zoomDelta:M-l.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(l){let d=n.bb;if(this._prevEase){let v=this._prevEase,b=(n.h.now()-v.start)/v.duration,M=v.easing(b+.01)-v.easing(b),O=.27/Math.sqrt(M*M+1e-4)*.01,B=Math.sqrt(.0729-O*O);d=n.ba(O,B,.25,1)}return this._prevEase={start:n.h.now(),duration:l,easing:d},d}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class u0{constructor(l,d){this._clickZoom=l,this._tapZoom=d}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class iA{constructor(l){this._tr=new Ln(l),this.reset()}reset(){this._active=!1}dblclick(l,d){return l.preventDefault(),{cameraAnimation:v=>{v.easeTo({duration:300,zoom:this._tr.zoom+(l.shiftKey?-1:1),around:this._tr.unproject(d)},{originalEvent:l})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nA{constructor(){this._tap=new Rd({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(l,d,v){if(!this._swipePoint)if(this._tapTime){let b=d[0],M=l.timeStamp-this._tapTime<500,O=this._tapPoint.dist(b)<30;M&&O?v.length>0&&(this._swipePoint=b,this._swipeTouch=v[0].identifier):this.reset()}else this._tap.touchstart(l,d,v)}touchmove(l,d,v){if(this._tapTime){if(this._swipePoint){if(v[0].identifier!==this._swipeTouch)return;let b=d[0],M=b.y-this._swipePoint.y;return this._swipePoint=b,l.preventDefault(),this._active=!0,{zoomDelta:M/128}}}else this._tap.touchmove(l,d,v)}touchend(l,d,v){if(this._tapTime)this._swipePoint&&v.length===0&&this.reset();else{let b=this._tap.touchend(l,d,v);b&&(this._tapTime=l.timeStamp,this._tapPoint=b)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ph{constructor(l,d,v){this._el=l,this._mousePan=d,this._touchPan=v}enable(l){this._inertiaOptions=l||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class us{constructor(l,d,v){this._pitchWithRotate=l.pitchWithRotate,this._mouseRotate=d,this._mousePitch=v}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class _u{constructor(l,d,v,b){this._el=l,this._touchZoom=d,this._touchRotate=v,this._tapDragZoom=b,this._rotationDisabled=!1,this._enabled=!0}enable(l){this._touchZoom.enable(l),this._rotationDisabled||this._touchRotate.enable(l),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}let Bc=T=>T.zoom||T.drag||T.pitch||T.rotate;class h0 extends n.k{}function Od(T){return T.panDelta&&T.panDelta.mag()||T.zoomDelta||T.bearingDelta||T.pitchDelta}class f0{constructor(l,d){this.handleWindowEvent=b=>{this.handleEvent(b,`${b.type}Window`)},this.handleEvent=(b,M)=>{if(b.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let O=b.type===\"renderFrame\"?void 0:b,B={needsRenderFrame:!1},U={},W={},Z=b.touches,$=Z?this._getMapTouches(Z):void 0,st=$?c.touchPos(this._el,$):c.mousePos(this._el,b);for(let{handlerName:yt,handler:dt,allowed:Ft}of this._handlers){if(!dt.isEnabled())continue;let Ht;this._blockedByActive(W,Ft,yt)?dt.reset():dt[M||b.type]&&(Ht=dt[M||b.type](b,st,$),this.mergeHandlerResult(B,U,Ht,yt,O),Ht&&Ht.needsRenderFrame&&this._triggerRenderFrame()),(Ht||dt.isActive())&&(W[yt]=dt)}let At={};for(let yt in this._previousActiveHandlers)W[yt]||(At[yt]=O);this._previousActiveHandlers=W,(Object.keys(At).length||Od(B))&&(this._changes.push([B,U,At]),this._triggerRenderFrame()),(Object.keys(W).length||Od(B))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:pt}=B;pt&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pt(this._map))},this._map=l,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new n0(l),this._bearingSnap=d.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(d);let v=this._el;this._listeners=[[v,\"touchstart\",{passive:!0}],[v,\"touchmove\",{passive:!1}],[v,\"touchend\",void 0],[v,\"touchcancel\",void 0],[v,\"mousedown\",void 0],[v,\"mousemove\",void 0],[v,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[v,\"mouseover\",void 0],[v,\"mouseout\",void 0],[v,\"dblclick\",void 0],[v,\"click\",void 0],[v,\"keydown\",{capture:!1}],[v,\"keyup\",void 0],[v,\"wheel\",{passive:!1}],[v,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[b,M,O]of this._listeners)c.addEventListener(b,M,b===document?this.handleWindowEvent:this.handleEvent,O)}destroy(){for(let[l,d,v]of this._listeners)c.removeEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,v)}_addDefaultHandlers(l){let d=this._map,v=d.getCanvasContainer();this._add(\"mapEvent\",new js(d,l));let b=d.boxZoom=new eA(d,l);this._add(\"boxZoom\",b),l.interactive&&l.boxZoom&&b.enable();let M=new Al(d),O=new iA(d);d.doubleClickZoom=new u0(O,M),this._add(\"tapZoom\",M),this._add(\"clickZoom\",O),l.interactive&&l.doubleClickZoom&&d.doubleClickZoom.enable();let B=new nA;this._add(\"tapDragZoom\",B);let U=d.touchPitch=new zx(d);this._add(\"touchPitch\",U),l.interactive&&l.touchPitch&&d.touchPitch.enable(l.touchPitch);let W=Na(l),Z=co(l);d.dragRotate=new us(l,W,Z),this._add(\"mouseRotate\",W,[\"mousePitch\"]),this._add(\"mousePitch\",Z,[\"mouseRotate\"]),l.interactive&&l.dragRotate&&d.dragRotate.enable();let $=(({enable:Ft,clickTolerance:Ht})=>{let St=new rA({checkCorrectEvent:Bt=>c.mouseButton(Bt)===0&&!Bt.ctrlKey});return new za({clickTolerance:Ht,move:(Bt,Qt)=>({around:Qt,panDelta:Qt.sub(Bt)}),activateOnStart:!0,moveStateManager:St,enable:Ft,assignEvents:fh})})(l),st=new Ge(l,d);d.dragPan=new ph(v,$,st),this._add(\"mousePan\",$),this._add(\"touchPan\",st,[\"touchZoom\",\"touchRotate\"]),l.interactive&&l.dragPan&&d.dragPan.enable(l.dragPan);let At=new o0,pt=new __;d.touchZoomRotate=new _u(v,pt,At,B),this._add(\"touchRotate\",At,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",pt,[\"touchPan\",\"touchRotate\"]),l.interactive&&l.touchZoomRotate&&d.touchZoomRotate.enable(l.touchZoomRotate);let yt=d.scrollZoom=new bf(d,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",yt,[\"mousePan\"]),l.interactive&&l.scrollZoom&&d.scrollZoom.enable(l.scrollZoom);let dt=d.keyboard=new y_(d);this._add(\"keyboard\",dt),l.interactive&&l.keyboard&&d.keyboard.enable(),this._add(\"blockableMapEvent\",new gu(d))}_add(l,d,v){this._handlers.push({handlerName:l,handler:d,allowed:v}),this._handlersById[l]=d}stop(l){if(!this._updatingCamera){for(let{handler:d}of this._handlers)d.reset();this._inertia.clear(),this._fireEvents({},{},l),this._changes=[]}}isActive(){for(let{handler:l}of this._handlers)if(l.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Bc(this._eventsInProgress)||this.isZooming()}_blockedByActive(l,d,v){for(let b in l)if(b!==v&&(!d||d.indexOf(b)<0))return!0;return!1}_getMapTouches(l){let d=[];for(let v of l)this._el.contains(v.target)&&d.push(v);return d}mergeHandlerResult(l,d,v,b,M){if(!v)return;n.e(l,v);let O={handlerName:b,originalEvent:v.originalEvent||M};v.zoomDelta!==void 0&&(d.zoom=O),v.panDelta!==void 0&&(d.drag=O),v.pitchDelta!==void 0&&(d.pitch=O),v.bearingDelta!==void 0&&(d.rotate=O)}_applyChanges(){let l={},d={},v={};for(let[b,M,O]of this._changes)b.panDelta&&(l.panDelta=(l.panDelta||new n.P(0,0))._add(b.panDelta)),b.zoomDelta&&(l.zoomDelta=(l.zoomDelta||0)+b.zoomDelta),b.bearingDelta&&(l.bearingDelta=(l.bearingDelta||0)+b.bearingDelta),b.pitchDelta&&(l.pitchDelta=(l.pitchDelta||0)+b.pitchDelta),b.around!==void 0&&(l.around=b.around),b.pinchAround!==void 0&&(l.pinchAround=b.pinchAround),b.noInertia&&(l.noInertia=b.noInertia),n.e(d,M),n.e(v,O);this._updateMapTransform(l,d,v),this._changes=[]}_updateMapTransform(l,d,v){let b=this._map,M=b._getTransformForUpdate(),O=b.terrain;if(!(Od(l)||O&&this._terrainMovement))return this._fireEvents(d,v,!0);let{panDelta:B,zoomDelta:U,bearingDelta:W,pitchDelta:Z,around:$,pinchAround:st}=l;st!==void 0&&($=st),b._stop(!0),$=$||b.transform.centerPoint;let At=M.pointLocation(B?$.sub(B):$);W&&(M.bearing+=W),Z&&(M.pitch+=Z),U&&(M.zoom+=U),O?this._terrainMovement||!d.drag&&!d.zoom?d.drag&&this._terrainMovement?M.center=M.pointLocation(M.centerPoint.sub(B)):M.setLocationAtPoint(At,$):(this._terrainMovement=!0,this._map._elevationFreeze=!0,M.setLocationAtPoint(At,$),this._map.once(\"moveend\",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,M.recalculateZoom(b.terrain)})):M.setLocationAtPoint(At,$),b._applyUpdatedTransform(M),this._map._update(),l.noInertia||this._inertia.record(l),this._fireEvents(d,v,!0)}_fireEvents(l,d,v){let b=Bc(this._eventsInProgress),M=Bc(l),O={};for(let Z in l){let{originalEvent:$}=l[Z];this._eventsInProgress[Z]||(O[`${Z}start`]=$),this._eventsInProgress[Z]=l[Z]}!b&&M&&this._fireEvent(\"movestart\",M.originalEvent);for(let Z in O)this._fireEvent(Z,O[Z]);M&&this._fireEvent(\"move\",M.originalEvent);for(let Z in l){let{originalEvent:$}=l[Z];this._fireEvent(Z,$)}let B={},U;for(let Z in this._eventsInProgress){let{handlerName:$,originalEvent:st}=this._eventsInProgress[Z];this._handlersById[$].isActive()||(delete this._eventsInProgress[Z],U=d[$]||st,B[`${Z}end`]=U)}for(let Z in B)this._fireEvent(Z,B[Z]);let W=Bc(this._eventsInProgress);if(v&&(b||M)&&!W){this._updatingCamera=!0;let Z=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),$=st=>st!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new h0(\"renderFrame\",{timeStamp:l})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class v_ extends n.E{constructor(l,d){super(),this._renderFrameCallback=()=>{let v=Math.min((n.h.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(v)),v<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=l,this._bearingSnap=d.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new n.L(this.transform.center.lng,this.transform.center.lat)}setCenter(l,d){return this.jumpTo({center:l},d)}panBy(l,d,v){return l=n.P.convert(l).mult(-1),this.panTo(this.transform.center,n.e({offset:l},d),v)}panTo(l,d,v){return this.easeTo(n.e({center:l},d),v)}getZoom(){return this.transform.zoom}setZoom(l,d){return this.jumpTo({zoom:l},d),this}zoomTo(l,d,v){return this.easeTo(n.e({zoom:l},d),v)}zoomIn(l,d){return this.zoomTo(this.getZoom()+1,l,d),this}zoomOut(l,d){return this.zoomTo(this.getZoom()-1,l,d),this}getBearing(){return this.transform.bearing}setBearing(l,d){return this.jumpTo({bearing:l},d),this}getPadding(){return this.transform.padding}setPadding(l,d){return this.jumpTo({padding:l},d),this}rotateTo(l,d,v){return this.easeTo(n.e({bearing:l},d),v)}resetNorth(l,d){return this.rotateTo(0,n.e({duration:1e3},l),d),this}resetNorthPitch(l,d){return this.easeTo(n.e({bearing:0,pitch:0,duration:1e3},l),d),this}snapToNorth(l,d){return Math.abs(this.getBearing()){if(this._zooming&&(v.zoom=n.B.number(b,U,$t)),this._rotating&&(v.bearing=n.B.number(M,W,$t)),this._pitching&&(v.pitch=n.B.number(O,Z,$t)),this._padding&&(v.interpolatePadding(B,$,$t),At=v.centerPoint.add(st)),this.terrain&&!l.freezeElevation&&this._updateElevation($t),St)v.setLocationAtPoint(St,Bt);else{let oe=v.zoomScale(v.zoom-b),pe=U>b?Math.min(2,Ht):Math.max(.5,Ht),he=Math.pow(pe,1-$t),be=v.unproject(dt.add(Ft.mult($t*he)).mult(oe));v.setLocationAtPoint(v.renderWorldCopies?be.wrap():be,At)}this._applyUpdatedTransform(v),this._fireMoveEvents(d)},$t=>{this.terrain&&this._finalizeElevation(),this._afterEase(d,$t)},l),this}_prepareEase(l,d,v={}){this._moving=!0,d||v.moving||this.fire(new n.k(\"movestart\",l)),this._zooming&&!v.zooming&&this.fire(new n.k(\"zoomstart\",l)),this._rotating&&!v.rotating&&this.fire(new n.k(\"rotatestart\",l)),this._pitching&&!v.pitching&&this.fire(new n.k(\"pitchstart\",l))}_prepareElevation(l){this._elevationCenter=l,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(l,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(l){this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let d=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(l<1&&d!==this._elevationTarget){let v=this._elevationTarget-this._elevationStart;this._elevationStart+=l*(v-(d-(v*l+this._elevationStart))/(1-l)),this._elevationTarget=d}this.transform.elevation=n.B.number(this._elevationStart,this._elevationTarget,l)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(l){if(!this.transformCameraUpdate)return;let d=l.clone(),{center:v,zoom:b,pitch:M,bearing:O,elevation:B}=this.transformCameraUpdate(d);v&&(d.center=v),b!==void 0&&(d.zoom=b),M!==void 0&&(d.pitch=M),O!==void 0&&(d.bearing=O),B!==void 0&&(d.elevation=B),this.transform.apply(d)}_fireMoveEvents(l){this.fire(new n.k(\"move\",l)),this._zooming&&this.fire(new n.k(\"zoom\",l)),this._rotating&&this.fire(new n.k(\"rotate\",l)),this._pitching&&this.fire(new n.k(\"pitch\",l))}_afterEase(l,d){if(this._easeId&&d&&this._easeId===d)return;delete this._easeId;let v=this._zooming,b=this._rotating,M=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,v&&this.fire(new n.k(\"zoomend\",l)),b&&this.fire(new n.k(\"rotateend\",l)),M&&this.fire(new n.k(\"pitchend\",l)),this.fire(new n.k(\"moveend\",l))}flyTo(l,d){if(!l.essential&&n.h.prefersReducedMotion){let tr=n.F(l,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(tr,d)}this.stop(),l=n.e({offset:[0,0],speed:1.2,curve:1.42,easing:n.bb},l);let v=this._getTransformForUpdate(),b=this.getZoom(),M=this.getBearing(),O=this.getPitch(),B=this.getPadding(),U=\"zoom\"in l?n.ad(+l.zoom,v.minZoom,v.maxZoom):b,W=\"bearing\"in l?this._normalizeBearing(l.bearing,M):M,Z=\"pitch\"in l?+l.pitch:O,$=\"padding\"in l?l.padding:v.padding,st=v.zoomScale(U-b),At=n.P.convert(l.offset),pt=v.centerPoint.add(At),yt=v.pointLocation(pt),dt=n.L.convert(l.center||yt);this._normalizeCenter(dt);let Ft=v.project(yt),Ht=v.project(dt).sub(Ft),St=l.curve,Bt=Math.max(v.width,v.height),Qt=Bt/st,$t=Ht.mag();if(\"minZoom\"in l){let tr=n.ad(Math.min(l.minZoom,b,U),v.minZoom,v.maxZoom),Gi=Bt/v.zoomScale(tr-b);St=Math.sqrt(Gi/$t*2)}let oe=St*St;function pe(tr){let Gi=(Qt*Qt-Bt*Bt+(tr?-1:1)*oe*oe*$t*$t)/(2*(tr?Qt:Bt)*oe*$t);return Math.log(Math.sqrt(Gi*Gi+1)-Gi)}function he(tr){return(Math.exp(tr)-Math.exp(-tr))/2}function be(tr){return(Math.exp(tr)+Math.exp(-tr))/2}let Ze=pe(!1),Kr=function(tr){return be(Ze)/be(Ze+St*tr)},Ee=function(tr){return Bt*((be(Ze)*(he(Gi=Ze+St*tr)/be(Gi))-he(Ze))/oe)/$t;var Gi},pr=(pe(!0)-Ze)/St;if(Math.abs($t)<1e-6||!isFinite(pr)){if(Math.abs(Bt-Qt)<1e-6)return this.easeTo(l,d);let tr=Qtl.maxDuration&&(l.duration=0),this._zooming=!0,this._rotating=M!==W,this._pitching=Z!==O,this._padding=!v.isPaddingEqual($),this._prepareEase(d,!1),this.terrain&&this._prepareElevation(dt),this._ease(tr=>{let Gi=tr*pr,Jr=1/Kr(Gi);v.zoom=tr===1?U:b+v.scaleZoom(Jr),this._rotating&&(v.bearing=n.B.number(M,W,tr)),this._pitching&&(v.pitch=n.B.number(O,Z,tr)),this._padding&&(v.interpolatePadding(B,$,tr),pt=v.centerPoint.add(At)),this.terrain&&!l.freezeElevation&&this._updateElevation(tr);let Vr=tr===1?dt:v.unproject(Ft.add(Ht.mult(Ee(Gi))).mult(Jr));v.setLocationAtPoint(v.renderWorldCopies?Vr.wrap():Vr,pt),this._applyUpdatedTransform(v),this._fireMoveEvents(d)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(d)},l),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(l,d){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let v=this._onEaseEnd;delete this._onEaseEnd,v.call(this,d)}if(!l){let v=this.handlers;v&&v.stop(!1)}return this}_ease(l,d,v){v.animate===!1||v.duration===0?(l(1),d()):(this._easeStart=n.h.now(),this._easeOptions=v,this._onEaseFrame=l,this._onEaseEnd=d,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(l,d){l=n.b5(l,-180,180);let v=Math.abs(l-d);return Math.abs(l-360-d)180?-360:v<-180?360:0}queryTerrainElevation(l){return this.terrain?this.terrain.getElevationForLngLatZoom(n.L.convert(l),this.transform.tileZoom)-this.transform.elevation:null}}class ua{constructor(l={}){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=d=>{!d||d.sourceDataType!==\"metadata\"&&d.sourceDataType!==\"visibility\"&&d.dataType!==\"style\"&&d.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=l}getDefaultPosition(){return\"bottom-right\"}onAdd(l){return this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(l,d){let v=this._map._getUIString(`AttributionControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)}_updateAttributions(){if(!this._map.style)return;let l=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?l=l.concat(this.options.customAttribution.map(b=>typeof b!=\"string\"?\"\":b)):typeof this.options.customAttribution==\"string\"&&l.push(this.options.customAttribution)),this._map.style.stylesheet){let b=this._map.style.stylesheet;this.styleOwner=b.owner,this.styleId=b.id}let d=this._map.style.sourceCaches;for(let b in d){let M=d[b];if(M.used||M.usedForTerrain){let O=M.getSource();O.attribution&&l.indexOf(O.attribution)<0&&l.push(O.attribution)}}l=l.filter(b=>String(b).trim()),l.sort((b,M)=>b.length-M.length),l=l.filter((b,M)=>{for(let O=M+1;O=0)return!1;return!0});let v=l.join(\" | \");v!==this._attribHTML&&(this._attribHTML=v,l.length?(this._innerContainer.innerHTML=v,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class un{constructor(l={}){this._updateCompact=()=>{let d=this._container.children;if(d.length){let v=d[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&v.classList.add(\"maplibregl-compact\"):v.classList.remove(\"maplibregl-compact\")}},this.options=l}getDefaultPosition(){return\"bottom-left\"}onAdd(l){this._map=l,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let d=c.create(\"a\",\"maplibregl-ctrl-logo\");return d.target=\"_blank\",d.rel=\"noopener nofollow\",d.href=\"https://maplibre.org/\",d.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),d.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(d),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sA{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(l){let d=++this._id;return this._queue.push({callback:l,id:d,cancelled:!1}),d}remove(l){let d=this._currentlyRunning,v=d?this._queue.concat(d):this._queue;for(let b of v)if(b.id===l)return void(b.cancelled=!0)}run(l=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let d=this._currentlyRunning=this._queue;this._queue=[];for(let v of d)if(!v.cancelled&&(v.callback(l),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}let d0={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.enableTerrain\":\"Enable terrain\",\"TerrainControl.disableTerrain\":\"Disable terrain\"};var Ah=n.Q([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class x_ extends n.E{constructor(l){super(),this.sourceCache=l,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,l.usedForTerrain=!0,l.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(l,d){this.sourceCache.update(l,d),this._renderableTilesKeys=[];let v={};for(let b of l.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:d}))v[b.key]=!0,this._renderableTilesKeys.push(b.key),this._tiles[b.key]||(b.posMatrix=new Float64Array(16),n.aS(b.posMatrix,0,n.N,0,n.N,0,1),this._tiles[b.key]=new ao(b,this.tileSize));for(let b in this._tiles)v[b]||delete this._tiles[b]}freeRtt(l){for(let d in this._tiles){let v=this._tiles[d];(!l||v.tileID.equals(l)||v.tileID.isChildOf(l)||l.isChildOf(v.tileID))&&(v.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(l=>this.getTileByID(l))}getTileByID(l){return this._tiles[l]}getTerrainCoords(l){let d={};for(let v of this._renderableTilesKeys){let b=this._tiles[v].tileID;if(b.canonical.equals(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16),n.aS(M.posMatrix,0,n.N,0,n.N,0,1),d[v]=M}else if(b.canonical.isChildOf(l.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=b.canonical.z-l.canonical.z,B=b.canonical.x-(b.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,W,0,W,0,1),n.$(M.posMatrix,M.posMatrix,[-B*W,-U*W,0]),d[v]=M}else if(l.canonical.isChildOf(b.canonical)){let M=l.clone();M.posMatrix=new Float64Array(16);let O=l.canonical.z-b.canonical.z,B=l.canonical.x-(l.canonical.x>>O<>O<>O;n.aS(M.posMatrix,0,n.N,0,n.N,0,1),n.$(M.posMatrix,M.posMatrix,[B*W,U*W,0]),n.a0(M.posMatrix,M.posMatrix,[1/2**O,1/2**O,0]),d[v]=M}}return d}getSourceTile(l,d){let v=this.sourceCache._source,b=l.overscaledZ-this.deltaZoom;if(b>v.maxzoom&&(b=v.maxzoom),b=v.minzoom&&(!M||!M.dem);)M=this.sourceCache.getTileByID(l.scaledTo(b--).key);return M}tilesAfterTime(l=Date.now()){return Object.values(this._tiles).filter(d=>d.timeAdded>=l)}}class b_{constructor(l,d,v){this.painter=l,this.sourceCache=new x_(d),this.options=v,this.exaggeration=typeof v.exaggeration==\"number\"?v.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(l,d,v,b=n.N){var M;if(!(d>=0&&d=0&&vl.canonical.z&&(l.canonical.z>=b?M=l.canonical.z-b:n.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let O=l.canonical.x-(l.canonical.x>>M<>M<>8<<4|M>>8,d[O+3]=0;let v=new n.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(d.buffer)),b=new qt(l,v,l.gl.RGBA,{premultiply:!1});return b.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._coordsTexture=b,b}pointCoordinate(l){let d=new Uint8Array(4),v=this.painter.context,b=v.gl;v.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),b.readPixels(l.x,this.painter.height/devicePixelRatio-l.y-1,1,1,b.RGBA,b.UNSIGNED_BYTE,d),v.bindFramebuffer.set(null);let M=d[0]+(d[2]>>4<<8),O=d[1]+((15&d[2])<<8),B=this.coordsIndex[255-d[3]],U=B&&this.sourceCache.getTileByID(B);if(!U)return null;let W=this._coordsTextureSize,Z=(1<0&&Math.sign(M)<0||!v&&Math.sign(b)<0&&Math.sign(M)>0?(b=360*Math.sign(M)+b,n.G(b)):d}}class Nx{constructor(l,d,v){this._context=l,this._size=d,this._tileSize=v,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let l of this._objects)l.texture.destroy(),l.fbo.destroy()}_createObject(l){let d=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),v=new qt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return v.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),d.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),d.colorAttachment.set(v.texture),{id:l,fbo:d,texture:v,stamp:-1,inUse:!1}}getObjectForId(l){return this._objects[l]}useObject(l){l.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(d=>l.id!==d),this._recentlyUsed.push(l.id)}stampObject(l){l.stamp=++this._stamp}getOrCreateFreeObject(){for(let d of this._recentlyUsed)if(!this._objects[d].inUse)return this._objects[d];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let l=this._createObject(this._objects.length);return this._objects.push(l),l}freeObject(l){l.inUse=!1}freeAllObjects(){for(let l of this._objects)this.freeObject(l)}isFull(){return!(this._objects.length!l.inUse)===!1}}let Mo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class oA{constructor(l,d){this.painter=l,this.terrain=d,this.pool=new Nx(l.context,30,d.sourceCache.tileSize*d.qualityFactor)}destruct(){this.pool.destruct()}getTexture(l){return this.pool.getObjectForId(l.rtt[this._stacks.length-1].id).texture}prepareForRender(l,d){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=l._order.filter(v=>!l._layers[v].isHidden(d)),this._coordsDescendingInv={};for(let v in l.sourceCaches){this._coordsDescendingInv[v]={};let b=l.sourceCaches[v].getVisibleCoordinates();for(let M of b){let O=this.terrain.sourceCache.getTerrainCoords(M);for(let B in O)this._coordsDescendingInv[v][B]||(this._coordsDescendingInv[v][B]=[]),this._coordsDescendingInv[v][B].push(O[B])}}this._coordsDescendingInvStr={};for(let v of l._order){let b=l._layers[v],M=b.source;if(Mo[b.type]&&!this._coordsDescendingInvStr[M]){this._coordsDescendingInvStr[M]={};for(let O in this._coordsDescendingInv[M])this._coordsDescendingInvStr[M][O]=this._coordsDescendingInv[M][O].map(B=>B.key).sort().join()}}for(let v of this._renderableTiles)for(let b in this._coordsDescendingInvStr){let M=this._coordsDescendingInvStr[b][v.tileID.key];M&&M!==v.rttCoords[b]&&(v.rtt=[])}}renderLayer(l){if(l.isHidden(this.painter.transform.zoom))return!1;let d=l.type,v=this.painter,b=this._renderableLayerIds[this._renderableLayerIds.length-1]===l.id;if(Mo[d]&&(this._prevType&&Mo[this._prevType]||this._stacks.push([]),this._prevType=d,this._stacks[this._stacks.length-1].push(l.id),!b))return!0;if(Mo[this._prevType]||Mo[d]&&b){this._prevType=d;let M=this._stacks.length-1,O=this._stacks[M]||[];for(let B of this._renderableTiles){if(this.pool.isFull()&&(Cn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(B),B.rtt[M]){let W=this.pool.getObjectForId(B.rtt[M].id);if(W.stamp===B.rtt[M].stamp){this.pool.useObject(W);continue}}let U=this.pool.getOrCreateFreeObject();this.pool.useObject(U),this.pool.stampObject(U),B.rtt[M]={id:U.id,stamp:U.stamp},v.context.bindFramebuffer.set(U.fbo.framebuffer),v.context.clear({color:n.aT.transparent,stencil:0}),v.currentStencilSource=void 0;for(let W=0;W{T.touchstart=T.dragStart,T.touchmoveWindow=T.dragMove,T.touchend=T.dragEnd},aA={showCompass:!0,showZoom:!0,visualizePitch:!1};class Bd{constructor(l,d,v=!1){this.mousedown=O=>{this.startMouse(n.e({},O,{ctrlKey:!0,preventDefault:()=>O.preventDefault()}),c.mousePos(this.element,O)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=O=>{this.moveMouse(O,c.mousePos(this.element,O))},this.mouseup=O=>{this.mouseRotate.dragEnd(O),this.mousePitch&&this.mousePitch.dragEnd(O),this.offTemp()},this.touchstart=O=>{O.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.startTouch(O,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=O=>{O.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,O.targetTouches)[0],this.moveTouch(O,this._lastPos))},this.touchend=O=>{O.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let b=l.dragRotate._mouseRotate.getClickTolerance(),M=l.dragRotate._mousePitch.getClickTolerance();this.element=d,this.mouseRotate=Na({clickTolerance:b,enable:!0}),this.touchRotate=(({enable:O,clickTolerance:B,bearingDegreesPerPixelMoved:U=.8})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({bearingDelta:($.x-Z.x)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:b,enable:!0}),this.map=l,v&&(this.mousePitch=co({clickTolerance:M,enable:!0}),this.touchPitch=(({enable:O,clickTolerance:B,pitchDegreesPerPixelMoved:U=-.5})=>{let W=new s0;return new za({clickTolerance:B,move:(Z,$)=>({pitchDelta:($.y-Z.y)*U}),moveStateManager:W,enable:O,assignEvents:wf})})({clickTolerance:M,enable:!0})),c.addEventListener(d,\"mousedown\",this.mousedown),c.addEventListener(d,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(d,\"touchcancel\",this.reset)}startMouse(l,d){this.mouseRotate.dragStart(l,d),this.mousePitch&&this.mousePitch.dragStart(l,d),c.disableDrag()}startTouch(l,d){this.touchRotate.dragStart(l,d),this.touchPitch&&this.touchPitch.dragStart(l,d),c.disableDrag()}moveMouse(l,d){let v=this.map,{bearingDelta:b}=this.mouseRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.mousePitch){let{pitchDelta:M}=this.mousePitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}moveTouch(l,d){let v=this.map,{bearingDelta:b}=this.touchRotate.dragMove(l,d)||{};if(b&&v.setBearing(v.getBearing()+b),this.touchPitch){let{pitchDelta:M}=this.touchPitch.dragMove(l,d)||{};M&&v.setPitch(v.getPitch()+M)}}off(){let l=this.element;c.removeEventListener(l,\"mousedown\",this.mousedown),c.removeEventListener(l,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(l,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let Hn;function uo(T,l,d){if(T=new n.L(T.lng,T.lat),l){let v=new n.L(T.lng-360,T.lat),b=new n.L(T.lng+360,T.lat),M=d.locationPoint(T).distSqr(l);d.locationPoint(v).distSqr(l)180;){let v=d.locationPoint(T);if(v.x>=0&&v.y>=0&&v.x<=d.width&&v.y<=d.height)break;T.lng>d.center.lng?T.lng-=360:T.lng+=360}return T}let ji={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function w_(T,l,d){let v=T.classList;for(let b in ji)v.remove(`maplibregl-${d}-anchor-${b}`);v.add(`maplibregl-${d}-anchor-${l}`)}class mh extends n.E{constructor(l){if(super(),this._onKeyPress=d=>{let v=d.code,b=d.charCode||d.keyCode;v!==\"Space\"&&v!==\"Enter\"&&b!==32&&b!==13||this.togglePopup()},this._onMapClick=d=>{let v=d.originalEvent.target,b=this._element;this._popup&&(v===b||b.contains(v))&&this.togglePopup()},this._update=d=>{if(!this._map)return;let v=this._map.loaded()&&!this._map.isMoving();(d?.type===\"terrain\"||d?.type===\"render\"&&!v)&&this._map.once(\"render\",this._update),this._map.transform.renderWorldCopies&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);let b=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?b=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(b=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let M=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?M=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(M=`rotateX(${this._map.getPitch()}deg)`),d&&d.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${ji[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${M} ${b}`),this._map.terrain&&!this._opacityTimeout&&(this._opacityTimeout=setTimeout(()=>{let O=this._map.unproject(this._pos),B=40075016686e-3*Math.abs(Math.cos(this._lngLat.lat*Math.PI/180))/Math.pow(2,this._map.transform.tileZoom+8);this._element.style.opacity=O.distanceTo(this._lngLat)>20*B?\"0.2\":\"1.0\",this._opacityTimeout=null},100))},this._onMove=d=>{if(!this._isDragging){let v=this._clickTolerance||this._map._clickTolerance;this._isDragging=d.point.dist(this._pointerdownPos)>=v}this._isDragging&&(this._pos=d.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new n.k(\"dragstart\"))),this.fire(new n.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new n.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=d=>{this._element.contains(d.originalEvent.target)&&(d.preventDefault(),this._positionDelta=d.point.sub(this._pos).add(this._offset),this._pointerdownPos=d.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=l&&l.anchor||\"center\",this._color=l&&l.color||\"#3FB1CE\",this._scale=l&&l.scale||1,this._draggable=l&&l.draggable||!1,this._clickTolerance=l&&l.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=l&&l.rotation||0,this._rotationAlignment=l&&l.rotationAlignment||\"auto\",this._pitchAlignment=l&&l.pitchAlignment&&l.pitchAlignment!==\"auto\"?l.pitchAlignment:this._rotationAlignment,l&&l.element)this._element=l.element,this._offset=n.P.convert(l&&l.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");let d=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),v=41,b=27;d.setAttributeNS(null,\"display\",\"block\"),d.setAttributeNS(null,\"height\",`${v}px`),d.setAttributeNS(null,\"width\",`${b}px`),d.setAttributeNS(null,\"viewBox\",`0 0 ${b} ${v}`);let M=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");M.setAttributeNS(null,\"stroke\",\"none\"),M.setAttributeNS(null,\"stroke-width\",\"1\"),M.setAttributeNS(null,\"fill\",\"none\"),M.setAttributeNS(null,\"fill-rule\",\"evenodd\");let O=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");O.setAttributeNS(null,\"fill-rule\",\"nonzero\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");B.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),B.setAttributeNS(null,\"fill\",\"#000000\");let U=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let Ft of U){let Ht=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Ht.setAttributeNS(null,\"opacity\",\"0.04\"),Ht.setAttributeNS(null,\"cx\",\"10.5\"),Ht.setAttributeNS(null,\"cy\",\"5.80029008\"),Ht.setAttributeNS(null,\"rx\",Ft.rx),Ht.setAttributeNS(null,\"ry\",Ft.ry),B.appendChild(Ht)}let W=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");W.setAttributeNS(null,\"fill\",this._color);let Z=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Z.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),W.appendChild(Z);let $=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");$.setAttributeNS(null,\"opacity\",\"0.25\"),$.setAttributeNS(null,\"fill\",\"#000000\");let st=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");st.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),$.appendChild(st);let At=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");At.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),At.setAttributeNS(null,\"fill\",\"#FFFFFF\");let pt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");yt.setAttributeNS(null,\"fill\",\"#000000\"),yt.setAttributeNS(null,\"opacity\",\"0.25\"),yt.setAttributeNS(null,\"cx\",\"5.5\"),yt.setAttributeNS(null,\"cy\",\"5.5\"),yt.setAttributeNS(null,\"r\",\"5.4999962\");let dt=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");dt.setAttributeNS(null,\"fill\",\"#FFFFFF\"),dt.setAttributeNS(null,\"cx\",\"5.5\"),dt.setAttributeNS(null,\"cy\",\"5.5\"),dt.setAttributeNS(null,\"r\",\"5.4999962\"),pt.appendChild(yt),pt.appendChild(dt),O.appendChild(B),O.appendChild(W),O.appendChild($),O.appendChild(At),O.appendChild(pt),d.appendChild(O),d.setAttributeNS(null,\"height\",v*this._scale+\"px\"),d.setAttributeNS(null,\"width\",b*this._scale+\"px\"),this._element.appendChild(d),this._offset=n.P.convert(l&&l.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",d=>{d.preventDefault()}),this._element.addEventListener(\"mousedown\",d=>{d.preventDefault()}),w_(this._element,this._anchor,\"marker\"),l&&l.className)for(let d of l.className.split(\" \"))this._element.classList.add(d);this._popup=null}addTo(l){return this.remove(),this._map=l,l.getCanvasContainer().appendChild(this._element),l.on(\"move\",this._update),l.on(\"moveend\",this._update),l.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(l){return this._lngLat=n.L.convert(l),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(l){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),l){if(!(\"offset\"in l.options)){let b=Math.abs(13.5)/Math.SQRT2;l.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[b,-1*(38.1-13.5+b)],\"bottom-right\":[-b,-1*(38.1-13.5+b)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=l,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let l=this._popup;return l?(l.isOpen()?l.remove():l.addTo(this._map),this):this}getOffset(){return this._offset}setOffset(l){return this._offset=n.P.convert(l),this._update(),this}addClassName(l){this._element.classList.add(l)}removeClassName(l){this._element.classList.remove(l)}toggleClassName(l){return this._element.classList.toggle(l)}setDraggable(l){return this._draggable=!!l,this._map&&(l?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(l){return this._rotation=l||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(l){return this._rotationAlignment=l||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(l){return this._pitchAlignment=l&&l!==\"auto\"?l:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}}let kn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},wn=0,Sf=!1,Es={maxWidth:100,unit:\"metric\"};function gh(T,l,d){let v=d&&d.maxWidth||100,b=T._container.clientHeight/2,M=T.unproject([0,b]),O=T.unproject([v,b]),B=M.distanceTo(O);if(d&&d.unit===\"imperial\"){let U=3.2808*B;U>5280?Wo(l,v,U/5280,T._getUIString(\"ScaleControl.Miles\")):Wo(l,v,U,T._getUIString(\"ScaleControl.Feet\"))}else d&&d.unit===\"nautical\"?Wo(l,v,B/1852,T._getUIString(\"ScaleControl.NauticalMiles\")):B>=1e3?Wo(l,v,B/1e3,T._getUIString(\"ScaleControl.Kilometers\")):Wo(l,v,B,T._getUIString(\"ScaleControl.Meters\"))}function Wo(T,l,d,v){let b=function(M){let O=Math.pow(10,`${Math.floor(M)}`.length-1),B=M/O;return B=B>=10?10:B>=5?5:B>=3?3:B>=2?2:B>=1?1:function(U){let W=Math.pow(10,Math.ceil(-Math.log(U)/Math.LN10));return Math.round(U*W)/W}(B),O*B}(d);T.style.width=l*(b/d)+\"px\",T.innerHTML=`${b} ${v}`}let p0={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Fd=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Tf(T){if(T){if(typeof T==\"number\"){let l=Math.round(Math.abs(T)/Math.SQRT2);return{center:new n.P(0,0),top:new n.P(0,T),\"top-left\":new n.P(l,l),\"top-right\":new n.P(-l,l),bottom:new n.P(0,-T),\"bottom-left\":new n.P(l,-l),\"bottom-right\":new n.P(-l,-l),left:new n.P(T,0),right:new n.P(-T,0)}}if(T instanceof n.P||Array.isArray(T)){let l=n.P.convert(T);return{center:l,top:l,\"top-left\":l,\"top-right\":l,bottom:l,\"bottom-left\":l,\"bottom-right\":l,left:l,right:l}}return{center:n.P.convert(T.center||[0,0]),top:n.P.convert(T.top||[0,0]),\"top-left\":n.P.convert(T[\"top-left\"]||[0,0]),\"top-right\":n.P.convert(T[\"top-right\"]||[0,0]),bottom:n.P.convert(T.bottom||[0,0]),\"bottom-left\":n.P.convert(T[\"bottom-left\"]||[0,0]),\"bottom-right\":n.P.convert(T[\"bottom-right\"]||[0,0]),left:n.P.convert(T.left||[0,0]),right:n.P.convert(T.right||[0,0])}}return Tf(new n.P(0,0))}let Ho={extend:(T,...l)=>n.e(T,...l),run(T){T()},logToElement(T,l=!1,d=\"log\"){let v=window.document.getElementById(d);v&&(l&&(v.innerHTML=\"\"),v.innerHTML+=`
${T}`)}},lA=o;class bi{static get version(){return lA}static get workerCount(){return lo.workerCount}static set workerCount(l){lo.workerCount=l}static get maxParallelImageRequests(){return n.c.MAX_PARALLEL_IMAGE_REQUESTS}static set maxParallelImageRequests(l){n.c.MAX_PARALLEL_IMAGE_REQUESTS=l}static get workerUrl(){return n.c.WORKER_URL}static set workerUrl(l){n.c.WORKER_URL=l}static addProtocol(l,d){n.c.REGISTERED_PROTOCOLS[l]=d}static removeProtocol(l){delete n.c.REGISTERED_PROTOCOLS[l]}}return bi.Map=class extends v_{constructor(T){if(n.bg.mark(n.bh.create),(T=n.e({},dr,T)).minZoom!=null&&T.maxZoom!=null&&T.minZoom>T.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(T.minPitch!=null&&T.maxPitch!=null&&T.minPitch>T.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(T.minPitch!=null&&T.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T.maxPitch!=null&&T.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Kp(T.minZoom,T.maxZoom,T.minPitch,T.maxPitch,T.renderWorldCopies),{bearingSnap:T.bearingSnap}),this._cooperativeGesturesOnWheel=l=>{this._onCooperativeGesture(l,l[this._metaKey],1)},this._contextLost=l=>{l.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new n.k(\"webglcontextlost\",{originalEvent:l}))},this._contextRestored=l=>{this._setupPainter(),this.resize(),this._update(),this.fire(new n.k(\"webglcontextrestored\",{originalEvent:l}))},this._onMapScroll=l=>{if(l.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=T.interactive,this._cooperativeGestures=T.cooperativeGestures,this._metaKey=navigator.platform.indexOf(\"Mac\")===0?\"metaKey\":\"ctrlKey\",this._maxTileCacheSize=T.maxTileCacheSize,this._maxTileCacheZoomLevels=T.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=T.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=T.preserveDrawingBuffer,this._antialias=T.antialias,this._trackResize=T.trackResize,this._bearingSnap=T.bearingSnap,this._refreshExpiredTiles=T.refreshExpiredTiles,this._fadeDuration=T.fadeDuration,this._crossSourceCollisions=T.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=T.collectResourceTiming,this._renderTaskQueue=new sA,this._controls=[],this._mapId=n.a2(),this._locale=n.e({},d0,T.locale),this._clickTolerance=T.clickTolerance,this._overridePixelRatio=T.pixelRatio,this._maxCanvasSize=T.maxCanvasSize,this.transformCameraUpdate=T.transformCameraUpdate,this._imageQueueHandle=j.addThrottleControl(()=>this.isMoving()),this._requestManager=new et(T.transformRequest),typeof T.container==\"string\"){if(this._container=document.getElementById(T.container),!this._container)throw new Error(`Container '${T.container}' not found.`)}else{if(!(T.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=T.container}if(T.maxBounds&&this.setMaxBounds(T.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)),this.on(\"moveend\",()=>this._update(!1)),this.on(\"zoom\",()=>this._update(!0)),this.on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once(\"idle\",()=>{this._idleTriggered=!0}),typeof window<\"u\"){addEventListener(\"online\",this._onWindowOnline,!1);let l=!1,d=lh(v=>{this._trackResize&&!this._removed&&this.resize(v)._update()},50);this._resizeObserver=new ResizeObserver(v=>{l?d(v):l=!0}),this._resizeObserver.observe(this._container)}this.handlers=new f0(this,T),this._cooperativeGestures&&this._setupCooperativeGestures(),this._hash=T.hash&&new Ld(typeof T.hash==\"string\"&&T.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:T.center,zoom:T.zoom,bearing:T.bearing,pitch:T.pitch}),T.bounds&&(this.resize(),this.fitBounds(T.bounds,n.e({},T.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=T.localIdeographFontFamily,this._validateStyle=T.validateStyle,T.style&&this.setStyle(T.style,{localIdeographFontFamily:T.localIdeographFontFamily}),T.attributionControl&&this.addControl(new ua({customAttribution:T.customAttribution})),T.maplibreLogo&&this.addControl(new un,T.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",l=>{this._update(l.dataType===\"style\"),this.fire(new n.k(`${l.dataType}data`,l))}),this.on(\"dataloading\",l=>{this.fire(new n.k(`${l.dataType}dataloading`,l))}),this.on(\"dataabort\",l=>{this.fire(new n.k(\"sourcedataabort\",l))})}_getMapId(){return this._mapId}addControl(T,l){if(l===void 0&&(l=T.getDefaultPosition?T.getDefaultPosition():\"top-right\"),!T||!T.onAdd)return this.fire(new n.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let d=T.onAdd(this);this._controls.push(T);let v=this._controlPositions[l];return l.indexOf(\"bottom\")!==-1?v.insertBefore(d,v.firstChild):v.appendChild(d),this}removeControl(T){if(!T||!T.onRemove)return this.fire(new n.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let l=this._controls.indexOf(T);return l>-1&&this._controls.splice(l,1),T.onRemove(this),this}hasControl(T){return this._controls.indexOf(T)>-1}calculateCameraOptionsFromTo(T,l,d,v){return v==null&&this.terrain&&(v=this.terrain.getElevationForLngLatZoom(d,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(T,l,d,v)}resize(T){var l;let d=this._containerDimensions(),v=d[0],b=d[1],M=this._getClampedPixelRatio(v,b);if(this._resizeCanvas(v,b,M),this.painter.resize(v,b,M),this.painter.overLimit()){let B=this.painter.context.gl;this._maxCanvasSize=[B.drawingBufferWidth,B.drawingBufferHeight];let U=this._getClampedPixelRatio(v,b);this._resizeCanvas(v,b,U),this.painter.resize(v,b,U)}this.transform.resize(v,b),(l=this._requestedCameraState)===null||l===void 0||l.resize(v,b);let O=!this._moving;return O&&(this.stop(),this.fire(new n.k(\"movestart\",T)).fire(new n.k(\"move\",T))),this.fire(new n.k(\"resize\",T)),O&&this.fire(new n.k(\"moveend\",T)),this}_getClampedPixelRatio(T,l){let{0:d,1:v}=this._maxCanvasSize,b=this.getPixelRatio(),M=T*b,O=l*b;return Math.min(M>d?d/M:1,O>v?v/O:1)*b}getPixelRatio(){var T;return(T=this._overridePixelRatio)!==null&&T!==void 0?T:devicePixelRatio}setPixelRatio(T){this._overridePixelRatio=T,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(T){return this.transform.setMaxBounds(Si.convert(T)),this._update()}setMinZoom(T){if((T=T??-2)>=-2&&T<=this.transform.maxZoom)return this.transform.minZoom=T,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=T,this._update(),this.getZoom()>T&&this.setZoom(T),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(T){if((T=T??0)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(T>=0&&T<=this.transform.maxPitch)return this.transform.minPitch=T,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(T>=this.transform.minPitch)return this.transform.maxPitch=T,this._update(),this.getPitch()>T&&this.setPitch(T),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(T){return this.transform.renderWorldCopies=T,this._update()}getCooperativeGestures(){return this._cooperativeGestures}setCooperativeGestures(T){return this._cooperativeGestures=T,this._cooperativeGestures?this._setupCooperativeGestures():this._destroyCooperativeGestures(),this}project(T){return this.transform.locationPoint(n.L.convert(T),this.style&&this.terrain)}unproject(T){return this.transform.pointLocation(n.P.convert(T),this.terrain)}isMoving(){var T;return this._moving||((T=this.handlers)===null||T===void 0?void 0:T.isMoving())}isZooming(){var T;return this._zooming||((T=this.handlers)===null||T===void 0?void 0:T.isZooming())}isRotating(){var T;return this._rotating||((T=this.handlers)===null||T===void 0?void 0:T.isRotating())}_createDelegatedListener(T,l,d){if(T===\"mouseenter\"||T===\"mouseover\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:M=>{let O=this.getLayer(l)?this.queryRenderedFeatures(M.point,{layers:[l]}):[];O.length?v||(v=!0,d.call(this,new la(T,this,M.originalEvent,{features:O}))):v=!1},mouseout:()=>{v=!1}}}}if(T===\"mouseleave\"||T===\"mouseout\"){let v=!1;return{layer:l,listener:d,delegates:{mousemove:O=>{(this.getLayer(l)?this.queryRenderedFeatures(O.point,{layers:[l]}):[]).length?v=!0:v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))},mouseout:O=>{v&&(v=!1,d.call(this,new la(T,this,O.originalEvent)))}}}}{let v=b=>{let M=this.getLayer(l)?this.queryRenderedFeatures(b.point,{layers:[l]}):[];M.length&&(b.features=M,d.call(this,b),delete b.features)};return{layer:l,listener:d,delegates:{[T]:v}}}}on(T,l,d){if(d===void 0)return super.on(T,l);let v=this._createDelegatedListener(T,l,d);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[T]=this._delegatedListeners[T]||[],this._delegatedListeners[T].push(v);for(let b in v.delegates)this.on(b,v.delegates[b]);return this}once(T,l,d){if(d===void 0)return super.once(T,l);let v=this._createDelegatedListener(T,l,d);for(let b in v.delegates)this.once(b,v.delegates[b]);return this}off(T,l,d){return d===void 0?super.off(T,l):(this._delegatedListeners&&this._delegatedListeners[T]&&(v=>{let b=this._delegatedListeners[T];for(let M=0;Mthis._updateStyle(T,l));let d=this.style&&l.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!T)),T?(this.style=new Gn(this,l||{}),this.style.setEventedParent(this,{style:this.style}),typeof T==\"string\"?this.style.loadURL(T,l,d):this.style.loadJSON(T,l,d),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Gn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(T,l){if(typeof T==\"string\"){let d=this._requestManager.transformRequest(T,Q.Style);n.f(d,(v,b)=>{v?this.fire(new n.j(v)):b&&this._updateDiff(b,l)})}else typeof T==\"object\"&&this._updateDiff(T,l)}_updateDiff(T,l){try{this.style.setState(T,l)&&this._update(!0)}catch(d){n.w(`Unable to perform style diff: ${d.message||d.error||d}. Rebuilding the style from scratch.`),this._updateStyle(T,l)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():n.w(\"There is no style added to the map.\")}addSource(T,l){return this._lazyInitEmptyStyle(),this.style.addSource(T,l),this._update(!0)}isSourceLoaded(T){let l=this.style&&this.style.sourceCaches[T];if(l!==void 0)return l.loaded();this.fire(new n.j(new Error(`There is no source with ID '${T}'`)))}setTerrain(T){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),T){let l=this.style.sourceCaches[T.source];if(!l)throw new Error(`cannot load terrain, because there exists no source with ID: ${T.source}`);for(let d in this.style._layers){let v=this.style._layers[d];v.type===\"hillshade\"&&v.source===T.source&&n.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new b_(this.painter,l,T),this.painter.renderToTexture=new oA(this.painter,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=d=>{d.dataType===\"style\"?this.terrain.sourceCache.freeRtt():d.dataType===\"source\"&&d.tile&&(d.sourceId!==T.source||this._elevationFreeze||(this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(d.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0;return this.fire(new n.k(\"terrain\",{terrain:T})),this}getTerrain(){var T,l;return(l=(T=this.terrain)===null||T===void 0?void 0:T.options)!==null&&l!==void 0?l:null}areTilesLoaded(){let T=this.style&&this.style.sourceCaches;for(let l in T){let d=T[l]._tiles;for(let v in d){let b=d[v];if(b.state!==\"loaded\"&&b.state!==\"errored\")return!1}}return!0}addSourceType(T,l,d){return this._lazyInitEmptyStyle(),this.style.addSourceType(T,l,d)}removeSource(T){return this.style.removeSource(T),this._update(!0)}getSource(T){return this.style.getSource(T)}addImage(T,l,d={}){let{pixelRatio:v=1,sdf:b=!1,stretchX:M,stretchY:O,content:B}=d;if(this._lazyInitEmptyStyle(),!(l instanceof HTMLImageElement||n.a(l))){if(l.width===void 0||l.height===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:U,height:W,data:Z}=l,$=l;return this.style.addImage(T,{data:new n.R({width:U,height:W},new Uint8Array(Z)),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0,userImage:$}),$.onAdd&&$.onAdd(this,T),this}}{let{width:U,height:W,data:Z}=n.h.getImageData(l);this.style.addImage(T,{data:new n.R({width:U,height:W},Z),pixelRatio:v,stretchX:M,stretchY:O,content:B,sdf:b,version:0})}}updateImage(T,l){let d=this.style.getImage(T);if(!d)return this.fire(new n.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let v=l instanceof HTMLImageElement||n.a(l)?n.h.getImageData(l):l,{width:b,height:M,data:O}=v;if(b===void 0||M===void 0)return this.fire(new n.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(b!==d.data.width||M!==d.data.height)return this.fire(new n.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let B=!(l instanceof HTMLImageElement||n.a(l));return d.data.replace(O,B),this.style.updateImage(T,d),this}getImage(T){return this.style.getImage(T)}hasImage(T){return T?!!this.style.getImage(T):(this.fire(new n.j(new Error(\"Missing required image id\"))),!1)}removeImage(T){this.style.removeImage(T)}loadImage(T,l){j.getImage(this._requestManager.transformRequest(T,Q.Image),l)}listImages(){return this.style.listImages()}addLayer(T,l){return this._lazyInitEmptyStyle(),this.style.addLayer(T,l),this._update(!0)}moveLayer(T,l){return this.style.moveLayer(T,l),this._update(!0)}removeLayer(T){return this.style.removeLayer(T),this._update(!0)}getLayer(T){return this.style.getLayer(T)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(T,l,d){return this.style.setLayerZoomRange(T,l,d),this._update(!0)}setFilter(T,l,d={}){return this.style.setFilter(T,l,d),this._update(!0)}getFilter(T){return this.style.getFilter(T)}setPaintProperty(T,l,d,v={}){return this.style.setPaintProperty(T,l,d,v),this._update(!0)}getPaintProperty(T,l){return this.style.getPaintProperty(T,l)}setLayoutProperty(T,l,d,v={}){return this.style.setLayoutProperty(T,l,d,v),this._update(!0)}getLayoutProperty(T,l){return this.style.getLayoutProperty(T,l)}setGlyphs(T,l={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(T,l),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(T,l,d={}){return this._lazyInitEmptyStyle(),this.style.addSprite(T,l,d,v=>{v||this._update(!0)}),this}removeSprite(T){return this._lazyInitEmptyStyle(),this.style.removeSprite(T),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(T,l={}){return this._lazyInitEmptyStyle(),this.style.setSprite(T,l,d=>{d||this._update(!0)}),this}setLight(T,l={}){return this._lazyInitEmptyStyle(),this.style.setLight(T,l),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(T,l){return this.style.setFeatureState(T,l),this._update()}removeFeatureState(T,l){return this.style.removeFeatureState(T,l),this._update()}getFeatureState(T){return this.style.getFeatureState(T)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let T=0,l=0;return this._container&&(T=this._container.clientWidth||400,l=this._container.clientHeight||300),[T,l]}_setupContainer(){let T=this._container;T.classList.add(\"maplibregl-map\");let l=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",T);this._interactive&&l.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",l),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");let d=this._containerDimensions(),v=this._getClampedPixelRatio(d[0],d[1]);this._resizeCanvas(d[0],d[1],v);let b=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",T),M=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(O=>{M[O]=c.create(\"div\",`maplibregl-ctrl-${O} `,b)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_setupCooperativeGestures(){this._cooperativeGesturesScreen=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",this._container);let T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.windowsHelpText?this._cooperativeGestures.windowsHelpText:\"Use Ctrl + scroll to zoom the map\";navigator.platform.indexOf(\"Mac\")===0&&(T=typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.macHelpText?this._cooperativeGestures.macHelpText:\"Use \\u2318 + scroll to zoom the map\"),this._cooperativeGesturesScreen.innerHTML=`\n
${T}
\n
${typeof this._cooperativeGestures!=\"boolean\"&&this._cooperativeGestures.mobileHelpText?this._cooperativeGestures.mobileHelpText:\"Use two fingers to move the map\"}
\n `,this._cooperativeGesturesScreen.setAttribute(\"aria-hidden\",\"true\"),this._canvasContainer.addEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.add(\"maplibregl-cooperative-gestures\")}_destroyCooperativeGestures(){c.remove(this._cooperativeGesturesScreen),this._canvasContainer.removeEventListener(\"wheel\",this._cooperativeGesturesOnWheel,!1),this._canvasContainer.classList.remove(\"maplibregl-cooperative-gestures\")}_resizeCanvas(T,l,d){this._canvas.width=Math.floor(d*T),this._canvas.height=Math.floor(d*l),this._canvas.style.width=`${T}px`,this._canvas.style.height=`${l}px`}_setupPainter(){let T={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},l=null;this._canvas.addEventListener(\"webglcontextcreationerror\",v=>{l={requestedAttributes:T},v&&(l.statusMessage=v.statusMessage,l.type=v.type)},{once:!0});let d=this._canvas.getContext(\"webgl2\",T)||this._canvas.getContext(\"webgl\",T);if(!d){let v=\"Failed to initialize WebGL\";throw l?(l.message=v,new Error(JSON.stringify(l))):new Error(v)}this.painter=new ah(d,this.transform),f.testSupport(d)}_onCooperativeGesture(T,l,d){return!l&&d<2&&(this._cooperativeGesturesScreen.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._cooperativeGesturesScreen.classList.remove(\"maplibregl-show\")},100)),!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(T){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||T,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(T){return this._update(),this._renderTaskQueue.add(T)}_cancelRenderFrame(T){this._renderTaskQueue.remove(T)}_render(T){let l=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(T),this._removed)return;let d=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let b=this.transform.zoom,M=n.h.now();this.style.zoomHistory.update(b,M);let O=new n.a8(b,{now:M,fadeDuration:l,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),B=O.crossFadingFactor();B===1&&B===this._crossFadingFactor||(d=!0,this._crossFadingFactor=B),this.style.update(O)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform._minEleveationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform._minEleveationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,l,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:l,showPadding:this.showPadding}),this.fire(new n.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,n.bg.mark(n.bh.load),this.fire(new n.k(\"load\"))),this.style&&(this.style.hasTransitions()||d)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let v=this._sourcesDirty||this._styleDirty||this._placementDirty;return v||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new n.k(\"idle\")),!this._loaded||this._fullyLoaded||v||(this._fullyLoaded=!0,n.bg.mark(n.bh.fullLoad)),this}redraw(){return this.style&&(this._frame&&(this._frame.cancel(),this._frame=null),this._render(0)),this}remove(){var T;this._hash&&this._hash.remove();for(let d of this._controls)d.onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<\"u\"&&removeEventListener(\"online\",this._onWindowOnline,!1),j.removeThrottleControl(this._imageQueueHandle),(T=this._resizeObserver)===null||T===void 0||T.disconnect();let l=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");l&&l.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._cooperativeGestures&&this._destroyCooperativeGestures(),this._container.classList.remove(\"maplibregl-map\"),n.bg.clearMetrics(),this._removed=!0,this.fire(new n.k(\"remove\"))}triggerRepaint(){this.style&&!this._frame&&(this._frame=n.h.frame(T=>{n.bg.frame(T),this._frame=null,this._render(T)}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(T){this._showTileBoundaries!==T&&(this._showTileBoundaries=T,this._update())}get showPadding(){return!!this._showPadding}set showPadding(T){this._showPadding!==T&&(this._showPadding=T,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(T){this._showCollisionBoxes!==T&&(this._showCollisionBoxes=T,T?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(T){this._showOverdrawInspector!==T&&(this._showOverdrawInspector=T,this._update())}get repaint(){return!!this._repaint}set repaint(T){this._repaint!==T&&(this._repaint=T,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(T){this._vertices=T,this._update()}get version(){return nr}getCameraTargetElevation(){return this.transform.elevation}},bi.NavigationControl=class{constructor(T){this._updateZoomButtons=()=>{let l=this._map.getZoom(),d=l===this._map.getMaxZoom(),v=l===this._map.getMinZoom();this._zoomInButton.disabled=d,this._zoomOutButton.disabled=v,this._zoomInButton.setAttribute(\"aria-disabled\",d.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",v.toString())},this._rotateCompassArrow=()=>{let l=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=l},this._setButtonTitle=(l,d)=>{let v=this._map._getUIString(`NavigationControl.${d}`);l.title=v,l.setAttribute(\"aria-label\",v)},this.options=n.e({},aA,T),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",l=>l.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",l=>this._map.zoomIn({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",l=>this._map.zoomOut({},{originalEvent:l})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",l=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:l}):this._map.resetNorth({},{originalEvent:l})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(T){return this._map=T,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Bd(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(T,l){let d=c.create(\"button\",T,this._container);return d.type=\"button\",d.addEventListener(\"click\",l),d}},bi.GeolocateControl=class extends n.E{constructor(T){super(),this._onSuccess=l=>{if(this._map){if(this._isOutOfMapMaxBounds(l))return this._setErrorState(),this.fire(new n.k(\"outofmaxbounds\",l)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=l,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(l),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(l),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"geolocate\",l)),this._finish()}},this._updateCamera=l=>{let d=new n.L(l.coords.longitude,l.coords.latitude),v=l.coords.accuracy,b=this._map.getBearing(),M=n.e({bearing:b},this.options.fitBoundsOptions),O=Si.fromLngLat(d,v);this._map.fitBounds(O,M,{geolocateSource:!0})},this._updateMarker=l=>{if(l){let d=new n.L(l.coords.longitude,l.coords.latitude);this._accuracyCircleMarker.setLngLat(d).addTo(this._map),this._userLocationDotMarker.setLngLat(d).addTo(this._map),this._accuracy=l.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=l=>{if(this._map){if(this.options.trackUserLocation)if(l.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(l.code===3&&Sf)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new n.k(\"error\",l)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=l=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",d=>d.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",l===!1){n.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let d=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}else{let d=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=d,this._geolocateButton.setAttribute(\"aria-label\",d)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new mh({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new mh({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",d=>{d.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||d.originalEvent&&d.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new n.k(\"trackuserlocationend\")))})}},this.options=n.e({},kn,T)}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(l,d=!1){Hn===void 0||d?window.navigator.permissions!==void 0?window.navigator.permissions.query({name:\"geolocation\"}).then(v=>{Hn=v.state!==\"denied\",l(Hn)}).catch(()=>{Hn=!!window.navigator.geolocation,l(Hn)}):(Hn=!!window.navigator.geolocation,l(Hn)):l(Hn)}(this._setupUI),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,wn=0,Sf=!1}_isOutOfMapMaxBounds(T){let l=this._map.getMaxBounds(),d=T.coords;return l&&(d.longitudel.getEast()||d.latitudel.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let T=this._map.getBounds(),l=T.getSouthEast(),d=T.getNorthEast(),v=l.distanceTo(d),b=Math.ceil(this._accuracy/(v/this._map._container.clientHeight)*2);this._circleElement.style.width=`${b}px`,this._circleElement.style.height=`${b}px`}trigger(){if(!this._setup)return n.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new n.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":wn--,Sf=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new n.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new n.k(\"trackuserlocationstart\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let T;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),wn++,wn>1?(T={maximumAge:6e5,timeout:0},Sf=!0):(T=this.options.positionOptions,Sf=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,T)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},bi.AttributionControl=ua,bi.LogoControl=un,bi.ScaleControl=class{constructor(T){this._onMove=()=>{gh(this._map,this._container,this.options)},this.setUnit=l=>{this.options.unit=l,gh(this._map,this._container,this.options)},this.options=n.e({},Es,T)}getDefaultPosition(){return\"bottom-left\"}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",T.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},bi.FullscreenControl=class extends n.E{constructor(T={}){super(),this._onFullscreenChange=()=>{(window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement)===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,T&&T.container&&(T.container instanceof HTMLElement?this._container=T.container:n.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(T){return this._map=T,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let T=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",T).setAttribute(\"aria-hidden\",\"true\"),T.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let T=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",T),this._fullscreenButton.title=T}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new n.k(\"fullscreenstart\")),this._map._cooperativeGestures&&(this._prevCooperativeGestures=this._map._cooperativeGestures,this._map.setCooperativeGestures())):(this.fire(new n.k(\"fullscreenend\")),this._prevCooperativeGestures&&(this._map.setCooperativeGestures(this._prevCooperativeGestures),delete this._prevCooperativeGestures))}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},bi.TerrainControl=class{constructor(T){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.disableTerrain\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.enableTerrain\"))},this.options=T}onAdd(T){return this._map=T,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},bi.Popup=class extends n.E{constructor(T){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new n.k(\"close\")),this),this._onMouseUp=l=>{this._update(l.point)},this._onMouseMove=l=>{this._update(l.point)},this._onDrag=l=>{this._update(l.point)},this._update=l=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let O of this.options.className.split(\" \"))this._container.classList.add(O);this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=uo(this._lngLat,this._pos,this._map.transform)),this._trackPointer&&!l)return;let d=this._pos=this._trackPointer&&l?l:this._map.project(this._lngLat),v=this.options.anchor,b=Tf(this.options.offset);if(!v){let O=this._container.offsetWidth,B=this._container.offsetHeight,U;U=d.y+b.bottom.ythis._map.transform.height-B?[\"bottom\"]:[],d.xthis._map.transform.width-O/2&&U.push(\"right\"),v=U.length===0?\"bottom\":U.join(\"-\")}let M=d.add(b[v]).round();c.setTransform(this._container,`${ji[v]} translate(${M.x}px,${M.y}px)`),w_(this._container,v,\"popup\")},this._onClose=()=>{this.remove()},this.options=n.e(Object.create(p0),T)}addTo(T){return this._map&&this.remove(),this._map=T,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new n.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(T){return this._lngLat=n.L.convert(T),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(T){return this.setDOMContent(document.createTextNode(T))}setHTML(T){let l=document.createDocumentFragment(),d=document.createElement(\"body\"),v;for(d.innerHTML=T;v=d.firstChild,v;)l.appendChild(v);return this.setDOMContent(l)}getMaxWidth(){var T;return(T=this._container)===null||T===void 0?void 0:T.style.maxWidth}setMaxWidth(T){return this.options.maxWidth=T,this._update(),this}setDOMContent(T){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(T),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(T){this._container&&this._container.classList.add(T)}removeClassName(T){this._container&&this._container.classList.remove(T)}setOffset(T){return this.options.offset=T,this._update(),this}toggleClassName(T){if(this._container)return this._container.classList.toggle(T)}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let T=this._container.querySelector(Fd);T&&T.focus()}},bi.Marker=mh,bi.Style=Gn,bi.LngLat=n.L,bi.LngLatBounds=Si,bi.Point=n.P,bi.MercatorCoordinate=n.U,bi.Evented=n.E,bi.AJAXError=n.bi,bi.config=n.c,bi.CanvasSource=Vo,bi.GeoJSONSource=Xi,bi.ImageSource=ki,bi.RasterDEMTileSource=Rc,bi.RasterTileSource=kc,bi.VectorTileSource=ll,bi.VideoSource=ts,bi.setRTLTextPlugin=n.bj,bi.getRTLTextPluginStatus=n.bk,bi.prewarm=function(){bo().acquire(oi)},bi.clearPrewarmedResources=function(){let T=ul;T&&(T.isPreloaded()&&T.numActive()===1?(T.release(oi),ul=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},Ho.extend(bi,{isSafari:n.ac,getPerformanceMetrics:n.bg.getPerformanceMetrics}),bi});var s=r;return s})});var TG=Br((p6t,oP)=>{(function(e,t,r,i){\"use strict\";var s=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],n=t.createElement(\"div\"),o=\"function\",c=Math.round,f=Math.abs,_=Date.now;function w(lt,ft,Lt){return setTimeout(K(lt,Lt),ft)}function I(lt,ft,Lt){return Array.isArray(lt)?(R(lt,Lt[ft],Lt),!0):!1}function R(lt,ft,Lt){var Kt;if(lt)if(lt.forEach)lt.forEach(ft,Lt);else if(lt.length!==i)for(Kt=0;Kt\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",ti=e.console&&(e.console.warn||e.console.log);return ti&&ti.call(e.console,Kt,Qe),lt.apply(this,arguments)}}var j;typeof Object.assign!=\"function\"?j=function(ft){if(ft===i||ft===null)throw new TypeError(\"Cannot convert undefined or null to object\");for(var Lt=Object(ft),Kt=1;Kt-1}function le(lt){return lt.trim().split(/\\s+/g)}function ue(lt,ft,Lt){if(lt.indexOf&&!Lt)return lt.indexOf(ft);for(var Kt=0;KtVs[ft]}):Kt=Kt.sort()),Kt}function rr(lt,ft){for(var Lt,Kt,ge=ft[0].toUpperCase()+ft.slice(1),Qe=0;Qe1&&!Lt.firstMultiple?Lt.firstMultiple=bo(ft):ge===1&&(Lt.firstMultiple=!1);var Qe=Lt.firstInput,ti=Lt.firstMultiple,is=ti?ti.center:Qe.center,Ts=ft.center=hl(Kt);ft.timeStamp=_(),ft.deltaTime=ft.timeStamp-Qe.timeStamp,ft.angle=jo(is,Ts),ft.distance=ve(is,Ts),du(Lt,ft),ft.offsetDirection=wo(ft.deltaX,ft.deltaY);var Vs=Ia(ft.deltaTime,ft.deltaX,ft.deltaY);ft.overallVelocityX=Vs.x,ft.overallVelocityY=Vs.y,ft.overallVelocity=f(Vs.x)>f(Vs.y)?Vs.x:Vs.y,ft.scale=ti?Ul(ti.pointers,Kt):1,ft.rotation=ti?gn(ti.pointers,Kt):0,ft.maxPointers=Lt.prevInput?ft.pointers.length>Lt.prevInput.maxPointers?ft.pointers.length:Lt.prevInput.maxPointers:ft.pointers.length,ul(Lt,ft);var Ra=lt.element;Xt(ft.srcEvent.target,Ra)&&(Ra=ft.srcEvent.target),ft.target=Ra}function du(lt,ft){var Lt=ft.center,Kt=lt.offsetDelta||{},ge=lt.prevDelta||{},Qe=lt.prevInput||{};(ft.eventType===Xi||Qe.eventType===ki)&&(ge=lt.prevDelta={x:Qe.deltaX||0,y:Qe.deltaY||0},Kt=lt.offsetDelta={x:Lt.x,y:Lt.y}),ft.deltaX=ge.x+(Lt.x-Kt.x),ft.deltaY=ge.y+(Lt.y-Kt.y)}function ul(lt,ft){var Lt=lt.lastInterval||ft,Kt=ft.timeStamp-Lt.timeStamp,ge,Qe,ti,is;if(ft.eventType!=ts&&(Kt>Rc||Lt.velocity===i)){var Ts=ft.deltaX-Lt.deltaX,Vs=ft.deltaY-Lt.deltaY,Ra=Ia(Kt,Ts,Vs);Qe=Ra.x,ti=Ra.y,ge=f(Ra.x)>f(Ra.y)?Ra.x:Ra.y,is=wo(Ts,Vs),lt.lastInterval=ft}else ge=Lt.velocity,Qe=Lt.velocityX,ti=Lt.velocityY,is=Lt.direction;ft.velocity=ge,ft.velocityX=Qe,ft.velocityY=ti,ft.direction=is}function bo(lt){for(var ft=[],Lt=0;Lt=f(ft)?lt<0?cl:xo:ft<0?Pa:na}function ve(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.sqrt(Kt*Kt+ge*ge)}function jo(lt,ft,Lt){Lt||(Lt=ee);var Kt=ft[Lt[0]]-lt[Lt[0]],ge=ft[Lt[1]]-lt[Lt[1]];return Math.atan2(ge,Kt)*180/Math.PI}function gn(lt,ft){return jo(ft[1],ft[0],ls)+jo(lt[1],lt[0],ls)}function Ul(lt,ft){return ve(ft[0],ft[1],ls)/ve(lt[0],lt[1],ls)}var Ca={mousedown:Xi,mousemove:Jn,mouseup:ki},Te=\"mousedown\",Dr=\"mousemove mouseup\";function gr(){this.evEl=Te,this.evWin=Dr,this.pressed=!1,mn.apply(this,arguments)}Y(gr,mn,{handler:function(ft){var Lt=Ca[ft.type];Lt&Xi&&ft.button===0&&(this.pressed=!0),Lt&Jn&&ft.which!==1&&(Lt=ki),this.pressed&&(Lt&ki&&(this.pressed=!1),this.callback(this.manager,Lt,{pointers:[ft],changedPointers:[ft],pointerType:ll,srcEvent:ft}))}});var Us={pointerdown:Xi,pointermove:Jn,pointerup:ki,pointercancel:ts,pointerout:ts},La={2:Si,3:Ns,4:ll,5:kc},Mr=\"pointerdown\",sa=\"pointermove pointerup pointercancel\";e.MSPointerEvent&&!e.PointerEvent&&(Mr=\"MSPointerDown\",sa=\"MSPointerMove MSPointerUp MSPointerCancel\");function gt(){this.evEl=Mr,this.evWin=sa,mn.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}Y(gt,mn,{handler:function(ft){var Lt=this.store,Kt=!1,ge=ft.type.toLowerCase().replace(\"ms\",\"\"),Qe=Us[ge],ti=La[ft.pointerType]||ft.pointerType,is=ti==Si,Ts=ue(Lt,ft.pointerId,\"pointerId\");Qe&Xi&&(ft.button===0||is)?Ts<0&&(Lt.push(ft),Ts=Lt.length-1):Qe&(ki|ts)&&(Kt=!0),!(Ts<0)&&(Lt[Ts]=ft,this.callback(this.manager,Qe,{pointers:Lt,changedPointers:[ft],pointerType:ti,srcEvent:ft}),Kt&&Lt.splice(Ts,1))}});var tt={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},nt=\"touchstart\",ht=\"touchstart touchmove touchend touchcancel\";function vt(){this.evTarget=nt,this.evWin=ht,this.started=!1,mn.apply(this,arguments)}Y(vt,mn,{handler:function(ft){var Lt=tt[ft.type];if(Lt===Xi&&(this.started=!0),!!this.started){var Kt=xt.call(this,ft,Lt);Lt&(ki|ts)&&Kt[0].length-Kt[1].length===0&&(this.started=!1),this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}}});function xt(lt,ft){var Lt=De(lt.touches),Kt=De(lt.changedTouches);return ft&(ki|ts)&&(Lt=Ke(Lt.concat(Kt),\"identifier\",!0)),[Lt,Kt]}var _t={touchstart:Xi,touchmove:Jn,touchend:ki,touchcancel:ts},Dt=\"touchstart touchmove touchend touchcancel\";function Mt(){this.evTarget=Dt,this.targetIds={},mn.apply(this,arguments)}Y(Mt,mn,{handler:function(ft){var Lt=_t[ft.type],Kt=Vt.call(this,ft,Lt);Kt&&this.callback(this.manager,Lt,{pointers:Kt[0],changedPointers:Kt[1],pointerType:Si,srcEvent:ft})}});function Vt(lt,ft){var Lt=De(lt.touches),Kt=this.targetIds;if(ft&(Xi|Jn)&&Lt.length===1)return Kt[Lt[0].identifier]=!0,[Lt,Lt];var ge,Qe,ti=De(lt.changedTouches),is=[],Ts=this.target;if(Qe=Lt.filter(function(Vs){return Xt(Vs.target,Ts)}),ft===Xi)for(ge=0;ge-1&&Kt.splice(Qe,1)};setTimeout(ge,ie)}}function Xe(lt){for(var ft=lt.srcEvent.clientX,Lt=lt.srcEvent.clientY,Kt=0;Kt-1&&this.requireFail.splice(ft,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(lt){return!!this.simultaneous[lt.id]},emit:function(lt){var ft=this,Lt=this.state;function Kt(ge){ft.manager.emit(ge,lt)}Lt=ai&&Kt(ft.options.event+Vm(Lt))},tryEmit:function(lt){if(this.canEmit())return this.emit(lt);this.state=ln},canEmit:function(){for(var lt=0;ltft.threshold&&ge&ft.direction},attrTest:function(lt){return So.prototype.attrTest.call(this,lt)&&(this.state&Ss||!(this.state&Ss)&&this.directionTest(lt))},emit:function(lt){this.pX=lt.deltaX,this.pY=lt.deltaY;var ft=Go(lt.direction);ft&&(lt.additionalEvent=this.options.event+ft),this._super.emit.call(this,lt)}});function Ki(){So.apply(this,arguments)}Y(Ki,So,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.scale-1)>this.options.threshold||this.state&Ss)},emit:function(lt){if(lt.scale!==1){var ft=lt.scale<1?\"in\":\"out\";lt.additionalEvent=this.options.event+ft}this._super.emit.call(this,lt)}});function _i(){Dn.apply(this,arguments),this._timer=null,this._input=null}Y(_i,Dn,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[zi]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distanceft.time;if(this._input=lt,!Kt||!Lt||lt.eventType&(ki|ts)&&!ge)this.reset();else if(lt.eventType&Xi)this.reset(),this._timer=w(function(){this.state=ka,this.tryEmit()},ft.time,this);else if(lt.eventType&ki)return ka;return ln},reset:function(){clearTimeout(this._timer)},emit:function(lt){this.state===ka&&(lt&<.eventType&ki?this.manager.emit(this.options.event+\"up\",lt):(this._input.timeStamp=_(),this.manager.emit(this.options.event,this._input)))}});function Gl(){So.apply(this,arguments)}Y(Gl,So,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[Hr]},attrTest:function(lt){return this._super.attrTest.call(this,lt)&&(Math.abs(lt.rotation)>this.options.threshold||this.state&Ss)}});function cn(){So.apply(this,arguments)}Y(cn,So,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:as|ao,pointers:1},getTouchAction:function(){return jl.prototype.getTouchAction.call(this)},attrTest:function(lt){var ft=this.options.direction,Lt;return ft&(as|ao)?Lt=lt.overallVelocity:ft&as?Lt=lt.overallVelocityX:ft&ao&&(Lt=lt.overallVelocityY),this._super.attrTest.call(this,lt)&&ft<.offsetDirection&<.distance>this.options.threshold&<.maxPointers==this.options.pointers&&f(Lt)>this.options.velocity&<.eventType&ki},emit:function(lt){var ft=Go(lt.offsetDirection);ft&&this.manager.emit(this.options.event+ft,lt),this.manager.emit(this.options.event,lt)}});function pu(){Dn.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}Y(pu,Dn,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ni]},process:function(lt){var ft=this.options,Lt=lt.pointers.length===ft.pointers,Kt=lt.distance{\"use strict\";hB.exports=U3;hB.exports.default=U3;function U3(e,t,r){r=r||2;var i=t&&t.length,s=i?t[0]*r:e.length,n=Lq(e,0,s,r,!0),o=[];if(!n||n.next===n.prev)return o;var c,f,_,w,I,R,N;if(i&&(n=wpt(e,t,n,r)),e.length>80*r){c=_=e[0],f=w=e[1];for(var j=r;j_&&(_=I),R>w&&(w=R);N=Math.max(_-c,w-f),N=N!==0?32767/N:0}return X2(n,o,r,c,f,N,0),o}function Lq(e,t,r,i,s){var n,o;if(s===uB(e,t,r,i)>0)for(n=t;n=t;n-=i)o=Cq(n,e[n],e[n+1],o);return o&&V3(o,o.next)&&(J2(o),o=o.next),o}function jg(e,t){if(!e)return e;t||(t=e);var r=e,i;do if(i=!1,!r.steiner&&(V3(r,r.next)||_s(r.prev,r,r.next)===0)){if(J2(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function X2(e,t,r,i,s,n,o){if(e){!o&&n&&Ppt(e,i,s,n);for(var c=e,f,_;e.prev!==e.next;){if(f=e.prev,_=e.next,n?vpt(e,i,s,n):ypt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),J2(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=xpt(jg(e),t,r),X2(e,t,r,i,s,n,2)):o===2&&bpt(e,t,r,i,s,n):X2(jg(e),t,r,i,s,n,1);break}}}}function ypt(e){var t=e.prev,r=e,i=e.next;if(_s(t,r,i)>=0)return!1;for(var s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&Jv(s,c,n,f,o,_,j.x,j.y)&&_s(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function vpt(e,t,r,i){var s=e.prev,n=e,o=e.next;if(_s(s,n,o)>=0)return!1;for(var c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=lB(N,j,t,r,i),K=lB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&Jv(c,w,f,I,_,R,J.x,J.y)&&_s(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&Jv(c,w,f,I,_,R,ut.x,ut.y)&&_s(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function xpt(e,t,r){var i=e;do{var s=i.prev,n=i.next.next;!V3(s,n)&&kq(s,i,i.next,n)&&K2(s,n)&&K2(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),J2(i),J2(i.next),i=e=n),i=i.next}while(i!==e);return jg(i)}function bpt(e,t,r,i,s,n){var o=e;do{for(var c=o.next.next;c!==o.prev;){if(o.i!==c.i&&Lpt(o,c)){var f=Rq(o,c);o=jg(o,o.next),f=jg(f,f.next),X2(o,t,r,i,s,n,0),X2(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function wpt(e,t,r,i){var s=[],n,o,c,f,_;for(n=0,o=t.length;n=r.next.y&&r.next.y!==r.y){var c=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(c<=i&&c>n&&(n=c,o=r.x=r.x&&r.x>=_&&i!==r.x&&Jv(so.x||r.x===o.x&&Ept(o,r)))&&(o=r,I=R)),r=r.next;while(r!==f);return o}function Ept(e,t){return _s(e.prev,e,t.prev)<0&&_s(t.next,e,e.next)<0}function Ppt(e,t,r,i){var s=e;do s.z===0&&(s.z=lB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,Ipt(s)}function Ipt(e){var t,r,i,s,n,o,c,f,_=1;do{for(r=e,e=null,n=null,o=0;r;){for(o++,i=r,c=0,t=0;t<_&&(c++,i=i.nextZ,!!i);t++);for(f=_;c>0||f>0&&i;)c!==0&&(f===0||!i||r.z<=i.z)?(s=r,r=r.nextZ,c--):(s=i,i=i.nextZ,f--),n?n.nextZ=s:e=s,s.prevZ=n,n=s;r=i}n.nextZ=null,_*=2}while(o>1);return e}function lB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Cpt(e){var t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function Lpt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!kpt(e,t)&&(K2(e,t)&&K2(t,e)&&Rpt(e,t)&&(_s(e.prev,e,t.prev)||_s(e,t.prev,t))||V3(e,t)&&_s(e.prev,e,e.next)>0&&_s(t.prev,t,t.next)>0)}function _s(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function V3(e,t){return e.x===t.x&&e.y===t.y}function kq(e,t,r,i){var s=N3(_s(e,t,r)),n=N3(_s(e,t,i)),o=N3(_s(r,i,e)),c=N3(_s(r,i,t));return!!(s!==n&&o!==c||s===0&&z3(e,r,t)||n===0&&z3(e,i,t)||o===0&&z3(r,e,i)||c===0&&z3(r,t,i))}function z3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function N3(e){return e>0?1:e<0?-1:0}function kpt(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&kq(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function K2(e,t){return _s(e.prev,e,e.next)<0?_s(e,t,e.next)>=0&&_s(e,e.prev,t)>=0:_s(e,t,e.prev)<0||_s(e,e.next,t)<0}function Rpt(e,t){var r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function Rq(e,t){var r=new cB(e.i,e.x,e.y),i=new cB(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function Cq(e,t,r,i){var s=new cB(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function J2(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function cB(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}U3.deviation=function(e,t,r,i){var s=t&&t.length,n=s?t[0]*r:e.length,o=Math.abs(uB(e,0,n,r));if(s)for(var c=0,f=t.length;c0&&(i+=e[s-1].length,r.holes.push(i))}return r}});var nF=Br(Tx=>{\"use strict\";Object.defineProperty(Tx,\"__esModule\",{value:!0});Tx.DefaultSerializer=Tx.extendSerializer=void 0;function Hyt(e,t){let r=e.deserialize.bind(e),i=e.serialize.bind(e);return{deserialize(s){return t.deserialize(s,r)},serialize(s){return t.serialize(s,i)}}}Tx.extendSerializer=Hyt;var w$={deserialize(e){return Object.assign(Error(e.message),{name:e.name,stack:e.stack})},serialize(e){return{__error_marker:\"$$error\",message:e.message,name:e.name,stack:e.stack}}},qyt=e=>e&&typeof e==\"object\"&&\"__error_marker\"in e&&e.__error_marker===\"$$error\";Tx.DefaultSerializer={deserialize(e){return qyt(e)?w$.deserialize(e):e},serialize(e){return e instanceof Error?w$.serialize(e):e}}});var Mx=Br(km=>{\"use strict\";Object.defineProperty(km,\"__esModule\",{value:!0});km.serialize=km.deserialize=km.registerSerializer=void 0;var S$=nF(),zI=S$.DefaultSerializer;function Zyt(e){zI=S$.extendSerializer(zI,e)}km.registerSerializer=Zyt;function Yyt(e){return zI.deserialize(e)}km.deserialize=Yyt;function Qyt(e){return zI.serialize(e)}km.serialize=Qyt});var M$=Br(Ex=>{\"use strict\";Object.defineProperty(Ex,\"__esModule\",{value:!0});Ex.getBundleURL=Ex.getBaseURL=void 0;var sF;function $yt(){return sF||(sF=Xyt()),sF}Ex.getBundleURL=$yt;function Xyt(){try{throw new Error}catch(e){let t=(\"\"+e.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\\/\\/[^)\\n]+/g);if(t)return T$(t[0])}return\"/\"}function T$(e){return(\"\"+e).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\\/\\/.+)?\\/[^/]+(?:\\?.*)?$/,\"$1\")+\"/\"}Ex.getBaseURL=T$});var aF=Br(Rm=>{\"use strict\";Object.defineProperty(Rm,\"__esModule\",{value:!0});Rm.isWorkerRuntime=Rm.getWorkerImplementation=Rm.defaultPoolSize=void 0;var E$=M$();Rm.defaultPoolSize=typeof navigator<\"u\"&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:4;var P$=e=>/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(e);function I$(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Kyt(){if(typeof Worker>\"u\")return class{constructor(){throw Error(\"No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.\")}};class e extends Worker{constructor(i,s){var n,o;typeof i==\"string\"&&s&&s._baseURL?i=new URL(i,s._baseURL):typeof i==\"string\"&&!P$(i)&&E$.getBundleURL().match(/^file:\\/\\//i)&&(i=new URL(i,E$.getBundleURL().replace(/\\/[^\\/]+$/,\"/\")),(!((n=s?.CORSWorkaround)!==null&&n!==void 0)||n)&&(i=I$(`importScripts(${JSON.stringify(i)});`))),typeof i==\"string\"&&P$(i)&&(!((o=s?.CORSWorkaround)!==null&&o!==void 0)||o)&&(i=I$(`importScripts(${JSON.stringify(i)});`)),super(i,s)}}class t extends e{constructor(i,s){let n=window.URL.createObjectURL(i);super(n,s)}static fromText(i,s){let n=new window.Blob([i],{type:\"text/javascript\"});return new t(n,s)}}return{blob:t,default:e}}var oF;function Jyt(){return oF||(oF=Kyt()),oF}Rm.getWorkerImplementation=Jyt;function tvt(){let e=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!e)}Rm.isWorkerRuntime=tvt});var L$=Br((Vle,C$)=>{var Px=1e3,Ix=Px*60,Cx=Ix*60,r_=Cx*24,evt=r_*7,rvt=r_*365.25;C$.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return ivt(e);if(r===\"number\"&&isFinite(e))return t.long?svt(e):nvt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function ivt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),i=(t[2]||\"ms\").toLowerCase();switch(i){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*rvt;case\"weeks\":case\"week\":case\"w\":return r*evt;case\"days\":case\"day\":case\"d\":return r*r_;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*Cx;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*Ix;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*Px;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function nvt(e){var t=Math.abs(e);return t>=r_?Math.round(e/r_)+\"d\":t>=Cx?Math.round(e/Cx)+\"h\":t>=Ix?Math.round(e/Ix)+\"m\":t>=Px?Math.round(e/Px)+\"s\":e+\"ms\"}function svt(e){var t=Math.abs(e);return t>=r_?NI(e,t,r_,\"day\"):t>=Cx?NI(e,t,Cx,\"hour\"):t>=Ix?NI(e,t,Ix,\"minute\"):t>=Px?NI(e,t,Px,\"second\"):e+\" ms\"}function NI(e,t,r,i){var s=t>=r*1.5;return Math.round(e/r)+\" \"+i+(s?\"s\":\"\")}});var R$=Br((jle,k$)=>{function ovt(e){r.debug=r,r.default=r,r.coerce=f,r.disable=n,r.enable=s,r.enabled=o,r.humanize=L$(),r.destroy=_,Object.keys(e).forEach(w=>{r[w]=e[w]}),r.names=[],r.skips=[],r.formatters={};function t(w){let I=0;for(let R=0;R{if(kt===\"%%\")return\"%\";ut++;let qt=r.formatters[Xt];if(typeof qt==\"function\"){let le=et[ut];kt=qt.call(Y,le),et.splice(ut,1),ut--}return kt}),r.formatArgs.call(Y,et),(Y.log||r.log).apply(Y,et)}return Q.namespace=w,Q.useColors=r.useColors(),Q.color=r.selectColor(w),Q.extend=i,Q.destroy=r.destroy,Object.defineProperty(Q,\"enabled\",{enumerable:!0,configurable:!1,get:()=>R!==null?R:(N!==r.namespaces&&(N=r.namespaces,j=r.enabled(w)),j),set:et=>{R=et}}),typeof r.init==\"function\"&&r.init(Q),Q}function i(w,I){let R=r(this.namespace+(typeof I>\"u\"?\":\":I)+w);return R.log=this.log,R}function s(w){r.save(w),r.namespaces=w,r.names=[],r.skips=[];let I,R=(typeof w==\"string\"?w:\"\").split(/[\\s,]+/),N=R.length;for(I=0;I\"-\"+I)].join(\",\");return r.enable(\"\"),w}function o(w){if(w[w.length-1]===\"*\")return!0;let I,R;for(I=0,R=r.skips.length;I{hu.formatArgs=lvt;hu.save=cvt;hu.load=uvt;hu.useColors=avt;hu.storage=hvt();hu.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn(\"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.\"))}})();hu.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"];function avt(){return typeof window<\"u\"&&window.process&&(window.process.type===\"renderer\"||window.process.__nwjs)?!0:typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)?!1:typeof document<\"u\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<\"u\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<\"u\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}function lvt(e){if(e[0]=(this.useColors?\"%c\":\"\")+this.namespace+(this.useColors?\" %c\":\" \")+e[0]+(this.useColors?\"%c \":\" \")+\"+\"+UI.exports.humanize(this.diff),!this.useColors)return;let t=\"color: \"+this.color;e.splice(1,0,t,\"color: inherit\");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!==\"%%\"&&(r++,s===\"%c\"&&(i=r))}),e.splice(i,0,t)}hu.log=console.debug||console.log||(()=>{});function cvt(e){try{e?hu.storage.setItem(\"debug\",e):hu.storage.removeItem(\"debug\")}catch{}}function uvt(){let e;try{e=hu.storage.getItem(\"debug\")}catch{}return!e&&typeof process<\"u\"&&\"env\"in process&&(e=process.env.DEBUG),e}function hvt(){try{return localStorage}catch{}}UI.exports=R$()(hu);var{formatters:fvt}=UI.exports;fvt.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}}});var kS=Br(Lx=>{\"use strict\";var dvt=Lx&&Lx.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(Lx,\"__esModule\",{value:!0});Lx.AsyncSerialScheduler=void 0;var lF=class{constructor(t){this._baseObserver=t,this._pendingPromises=new Set}complete(){Promise.all(this._pendingPromises).then(()=>this._baseObserver.complete()).catch(t=>this._baseObserver.error(t))}error(t){this._baseObserver.error(t)}schedule(t){let r=Promise.all(this._pendingPromises),i=[],s=o=>i.push(o),n=Promise.resolve().then(()=>dvt(this,void 0,void 0,function*(){yield r,yield t(s),this._pendingPromises.delete(n);for(let o of i)this._baseObserver.next(o)})).catch(o=>{this._pendingPromises.delete(n),this._baseObserver.error(o)});this._pendingPromises.add(n)}};Lx.AsyncSerialScheduler=lF});var O$=Br(D$=>{\"use strict\";Object.defineProperty(D$,\"__esModule\",{value:!0})});var cF=Br(Bl=>{\"use strict\";Object.defineProperty(Bl,\"__esModule\",{value:!0});Bl.registerObservableSymbol=Bl.getSymbol=Bl.hasSymbol=Bl.hasSymbols=void 0;var pvt=()=>typeof Symbol==\"function\";Bl.hasSymbols=pvt;var Avt=e=>Bl.hasSymbols()&&!!Symbol[e];Bl.hasSymbol=Avt;var mvt=e=>Bl.hasSymbol(e)?Symbol[e]:\"@@\"+e;Bl.getSymbol=mvt;function gvt(){Bl.hasSymbols()&&!Bl.hasSymbol(\"observable\")&&(Symbol.observable=Symbol(\"observable\"))}Bl.registerObservableSymbol=gvt;Bl.hasSymbol(\"asyncIterator\")||(Symbol.asyncIterator=Symbol.asyncIterator||Symbol.for(\"Symbol.asyncIterator\"))});var gd=Br(Vp=>{\"use strict\";Object.defineProperty(Vp,\"__esModule\",{value:!0});Vp.Observable=Vp.SubscriptionObserver=Vp.Subscription=void 0;O$();var DS=cF(),_vt=DS.getSymbol(\"iterator\"),hF=DS.getSymbol(\"observable\"),B$=DS.getSymbol(\"species\");function GI(e,t){let r=e[t];if(r!=null){if(typeof r!=\"function\")throw new TypeError(r+\" is not a function\");return r}}function RS(e){let t=e.constructor;return t!==void 0&&(t=t[B$],t===null&&(t=void 0)),t!==void 0?t:i_}function yvt(e){return e instanceof i_}function kx(e){kx.log?kx.log(e):setTimeout(()=>{throw e},0)}function jI(e){Promise.resolve().then(()=>{try{e()}catch(t){kx(t)}})}function F$(e){let t=e._cleanup;if(t!==void 0&&(e._cleanup=void 0,!!t))try{if(typeof t==\"function\")t();else{let r=GI(t,\"unsubscribe\");r&&r.call(t)}}catch(r){kx(r)}}function fF(e){e._observer=void 0,e._queue=void 0,e._state=\"closed\"}function vvt(e){let t=e._queue;if(t){e._queue=void 0,e._state=\"ready\";for(let r of t)if(z$(e,r.type,r.value),e._state===\"closed\")break}}function z$(e,t,r){e._state=\"running\";let i=e._observer;try{let s=i?GI(i,t):void 0;switch(t){case\"next\":s&&s.call(i,r);break;case\"error\":if(fF(e),s)s.call(i,r);else throw r;break;case\"complete\":fF(e),s&&s.call(i);break}}catch(s){kx(s)}e._state===\"closed\"?F$(e):e._state===\"running\"&&(e._state=\"ready\")}function uF(e,t,r){if(e._state!==\"closed\"){if(e._state===\"buffering\"){e._queue=e._queue||[],e._queue.push({type:t,value:r});return}if(e._state!==\"ready\"){e._state=\"buffering\",e._queue=[{type:t,value:r}],jI(()=>vvt(e));return}z$(e,t,r)}}var WI=class{constructor(t,r){this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state=\"initializing\";let i=new HI(this);try{this._cleanup=r.call(void 0,i)}catch(s){i.error(s)}this._state===\"initializing\"&&(this._state=\"ready\")}get closed(){return this._state===\"closed\"}unsubscribe(){this._state!==\"closed\"&&(fF(this),F$(this))}};Vp.Subscription=WI;var HI=class{constructor(t){this._subscription=t}get closed(){return this._subscription._state===\"closed\"}next(t){uF(this._subscription,\"next\",t)}error(t){uF(this._subscription,\"error\",t)}complete(){uF(this._subscription,\"complete\")}};Vp.SubscriptionObserver=HI;var i_=class e{constructor(t){if(!(this instanceof e))throw new TypeError(\"Observable cannot be called as a function\");if(typeof t!=\"function\")throw new TypeError(\"Observable initializer must be a function\");this._subscriber=t}subscribe(t,r,i){return(typeof t!=\"object\"||t===null)&&(t={next:t,error:r,complete:i}),new WI(t,this._subscriber)}pipe(t,...r){let i=this;for(let s of[t,...r])i=s(i);return i}tap(t,r,i){let s=typeof t!=\"object\"||t===null?{next:t,error:r,complete:i}:t;return new e(n=>this.subscribe({next(o){s.next&&s.next(o),n.next(o)},error(o){s.error&&s.error(o),n.error(o)},complete(){s.complete&&s.complete(),n.complete()},start(o){s.start&&s.start(o)}}))}forEach(t){return new Promise((r,i)=>{if(typeof t!=\"function\"){i(new TypeError(t+\" is not a function\"));return}function s(){n.unsubscribe(),r(void 0)}let n=this.subscribe({next(o){try{t(o,s)}catch(c){i(c),n.unsubscribe()}},error(o){i(o)},complete(){r(void 0)}})})}map(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){let n=s;try{n=t(s)}catch(o){return i.error(o)}i.next(n)},error(s){i.error(s)},complete(){i.complete()}}))}filter(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>this.subscribe({next(s){try{if(!t(s))return}catch(n){return i.error(n)}i.next(s)},error(s){i.error(s)},complete(){i.complete()}}))}reduce(t,r){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let i=RS(this),s=arguments.length>1,n=!1,o=r;return new i(c=>this.subscribe({next(f){let _=!n;if(n=!0,!_||s)try{o=t(o,f)}catch(w){return c.error(w)}else o=f},error(f){c.error(f)},complete(){if(!n&&!s)return c.error(new TypeError(\"Cannot reduce an empty sequence\"));c.next(o),c.complete()}}))}concat(...t){let r=RS(this);return new r(i=>{let s,n=0;function o(c){s=c.subscribe({next(f){i.next(f)},error(f){i.error(f)},complete(){n===t.length?(s=void 0,i.complete()):o(r.from(t[n++]))}})}return o(this),()=>{s&&(s.unsubscribe(),s=void 0)}})}flatMap(t){if(typeof t!=\"function\")throw new TypeError(t+\" is not a function\");let r=RS(this);return new r(i=>{let s=[],n=this.subscribe({next(c){let f;if(t)try{f=t(c)}catch(w){return i.error(w)}else f=c;let _=r.from(f).subscribe({next(w){i.next(w)},error(w){i.error(w)},complete(){let w=s.indexOf(_);w>=0&&s.splice(w,1),o()}});s.push(_)},error(c){i.error(c)},complete(){o()}});function o(){n.closed&&s.length===0&&i.complete()}return()=>{s.forEach(c=>c.unsubscribe()),n.unsubscribe()}})}[(Symbol.observable,hF)](){return this}static from(t){let r=typeof this==\"function\"?this:e;if(t==null)throw new TypeError(t+\" is not an object\");let i=GI(t,hF);if(i){let s=i.call(t);if(Object(s)!==s)throw new TypeError(s+\" is not an object\");return yvt(s)&&s.constructor===r?s:new r(n=>s.subscribe(n))}if(DS.hasSymbol(\"iterator\")){let s=GI(t,_vt);if(s)return new r(n=>{jI(()=>{if(!n.closed){for(let o of s.call(t))if(n.next(o),n.closed)return;n.complete()}})})}if(Array.isArray(t))return new r(s=>{jI(()=>{if(!s.closed){for(let n of t)if(s.next(n),s.closed)return;s.complete()}})});throw new TypeError(t+\" is not observable\")}static of(...t){let r=typeof this==\"function\"?this:e;return new r(i=>{jI(()=>{if(!i.closed){for(let s of t)if(i.next(s),i.closed)return;i.complete()}})})}static get[B$](){return this}};Vp.Observable=i_;DS.hasSymbols()&&Object.defineProperty(i_,Symbol(\"extensions\"),{value:{symbol:hF,hostReportError:kx},configurable:!0});Vp.default=i_});var Dm=Br(dF=>{\"use strict\";Object.defineProperty(dF,\"__esModule\",{value:!0});function xvt(e){typeof e==\"function\"?e():e&&typeof e.unsubscribe==\"function\"&&e.unsubscribe()}dF.default=xvt});var N$=Br(OS=>{\"use strict\";var bvt=OS&&OS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(OS,\"__esModule\",{value:!0});var wvt=kS(),Svt=gd(),Tvt=Dm();function Mvt(e){return t=>new Svt.default(r=>{let i=new wvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>bvt(this,void 0,void 0,function*(){(yield e(n))&&o(n)}))}});return()=>Tvt.default(s)})}OS.default=Mvt});var V$=Br(Rx=>{\"use strict\";Object.defineProperty(Rx,\"__esModule\",{value:!0});Rx.isIterator=Rx.isAsyncIterator=void 0;var U$=cF();function Evt(e){return e&&U$.hasSymbol(\"asyncIterator\")&&e[Symbol.asyncIterator]}Rx.isAsyncIterator=Evt;function Pvt(e){return e&&U$.hasSymbol(\"iterator\")&&e[Symbol.iterator]}Rx.isIterator=Pvt});var G$=Br(n_=>{\"use strict\";var Ivt=n_&&n_.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Cvt=n_&&n_.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof __values==\"function\"?__values(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}};Object.defineProperty(n_,\"__esModule\",{value:!0});var Lvt=kS(),j$=V$(),kvt=gd(),Rvt=Dm();function Dvt(e){return t=>new kvt.default(r=>{let i=new Lvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Ivt(this,void 0,void 0,function*(){var c,f;let _=yield e(n);if(j$.isIterator(_)||j$.isAsyncIterator(_))try{for(var w=Cvt(_),I;I=yield w.next(),!I.done;){let R=I.value;o(R)}}catch(R){c={error:R}}finally{try{I&&!I.done&&(f=w.return)&&(yield f.call(w))}finally{if(c)throw c.error}}else _.map(R=>o(R))}))}});return()=>Rvt.default(s)})}n_.default=Dvt});var W$=Br(pF=>{\"use strict\";Object.defineProperty(pF,\"__esModule\",{value:!0});var Ovt=gd();function Bvt(e){return new Ovt.Observable(t=>{let r=0,i=setInterval(()=>{t.next(r++)},e);return()=>clearInterval(i)})}pF.default=Bvt});var H$=Br(BS=>{\"use strict\";var Fvt=BS&&BS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(BS,\"__esModule\",{value:!0});var zvt=kS(),Nvt=gd(),Uvt=Dm();function Vvt(e){return t=>new Nvt.default(r=>{let i=new zvt.AsyncSerialScheduler(r),s=t.subscribe({complete(){i.complete()},error(n){i.error(n)},next(n){i.schedule(o=>Fvt(this,void 0,void 0,function*(){let c=yield e(n);o(c)}))}});return()=>Uvt.default(s)})}BS.default=Vvt});var Z$=Br(AF=>{\"use strict\";Object.defineProperty(AF,\"__esModule\",{value:!0});var q$=gd(),jvt=Dm();function Gvt(...e){return e.length===0?q$.Observable.from([]):new q$.Observable(t=>{let r=0,i=e.map(n=>n.subscribe({error(o){t.error(o),s()},next(o){t.next(o)},complete(){++r===e.length&&(t.complete(),s())}})),s=()=>{i.forEach(n=>jvt.default(n))};return s})}AF.default=Gvt});var _F=Br(gF=>{\"use strict\";Object.defineProperty(gF,\"__esModule\",{value:!0});var Wvt=gd(),mF=class extends Wvt.default{constructor(){super(t=>(this._observers.add(t),()=>this._observers.delete(t))),this._observers=new Set}next(t){for(let r of this._observers)r.next(t)}error(t){for(let r of this._observers)r.error(t)}complete(){for(let t of this._observers)t.complete()}};gF.default=mF});var Y$=Br(yF=>{\"use strict\";Object.defineProperty(yF,\"__esModule\",{value:!0});var Hvt=gd(),qvt=_F(),Zvt=Dm();function Yvt(e){let t=new qvt.default,r,i=0;return new Hvt.default(s=>{r||(r=e.subscribe(t));let n=t.subscribe(s);return i++,()=>{i--,n.unsubscribe(),i===0&&(Zvt.default(r),r=void 0)}})}yF.default=Yvt});var Q$=Br(FS=>{\"use strict\";var Qvt=FS&&FS.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})};Object.defineProperty(FS,\"__esModule\",{value:!0});var $vt=kS(),Xvt=gd(),Kvt=Dm();function Jvt(e,t){return r=>new Xvt.default(i=>{let s,n=0,o=new $vt.AsyncSerialScheduler(i),c=r.subscribe({complete(){o.complete()},error(f){o.error(f)},next(f){o.schedule(_=>Qvt(this,void 0,void 0,function*(){s=yield e(n===0?typeof t>\"u\"?f:t:s,f,n++),_(s)}))}});return()=>Kvt.default(c)})}FS.default=Jvt});var $$=Br(zs=>{\"use strict\";Object.defineProperty(zs,\"__esModule\",{value:!0});zs.unsubscribe=zs.Subject=zs.scan=zs.Observable=zs.multicast=zs.merge=zs.map=zs.interval=zs.flatMap=zs.filter=void 0;var txt=N$();Object.defineProperty(zs,\"filter\",{enumerable:!0,get:function(){return txt.default}});var ext=G$();Object.defineProperty(zs,\"flatMap\",{enumerable:!0,get:function(){return ext.default}});var rxt=W$();Object.defineProperty(zs,\"interval\",{enumerable:!0,get:function(){return rxt.default}});var ixt=H$();Object.defineProperty(zs,\"map\",{enumerable:!0,get:function(){return ixt.default}});var nxt=Z$();Object.defineProperty(zs,\"merge\",{enumerable:!0,get:function(){return nxt.default}});var sxt=Y$();Object.defineProperty(zs,\"multicast\",{enumerable:!0,get:function(){return sxt.default}});var oxt=gd();Object.defineProperty(zs,\"Observable\",{enumerable:!0,get:function(){return oxt.default}});var axt=Q$();Object.defineProperty(zs,\"scan\",{enumerable:!0,get:function(){return axt.default}});var lxt=_F();Object.defineProperty(zs,\"Subject\",{enumerable:!0,get:function(){return lxt.default}});var cxt=Dm();Object.defineProperty(zs,\"unsubscribe\",{enumerable:!0,get:function(){return cxt.default}})});var zS=Br((nce,X$)=>{X$.exports=$$()});var K$=Br(qI=>{\"use strict\";Object.defineProperty(qI,\"__esModule\",{value:!0});qI.allSettled=void 0;function uxt(e){return Promise.all(e.map(t=>{let r=n=>({status:\"fulfilled\",value:n}),i=n=>({status:\"rejected\",reason:n}),s=Promise.resolve(t);try{return s.then(r,i)}catch(n){return Promise.reject(n)}}))}qI.allSettled=uxt});var J$=Br(NS=>{\"use strict\";Object.defineProperty(NS,\"__esModule\",{value:!0});NS.PoolEventType=void 0;var hxt;(function(e){e.initialized=\"initialized\",e.taskCanceled=\"taskCanceled\",e.taskCompleted=\"taskCompleted\",e.taskFailed=\"taskFailed\",e.taskQueued=\"taskQueued\",e.taskQueueDrained=\"taskQueueDrained\",e.taskStart=\"taskStart\",e.terminated=\"terminated\"})(hxt=NS.PoolEventType||(NS.PoolEventType={}))});var US=Br(eh=>{\"use strict\";Object.defineProperty(eh,\"__esModule\",{value:!0});eh.$worker=eh.$transferable=eh.$terminate=eh.$events=eh.$errors=void 0;eh.$errors=Symbol(\"thread.errors\");eh.$events=Symbol(\"thread.events\");eh.$terminate=Symbol(\"thread.terminate\");eh.$transferable=Symbol(\"thread.transferable\");eh.$worker=Symbol(\"thread.worker\")});var xF=Br(ZI=>{\"use strict\";Object.defineProperty(ZI,\"__esModule\",{value:!0});ZI.Thread=void 0;var vF=US();function tX(e){throw Error(e)}ZI.Thread={errors(e){return e[vF.$errors]||tX(\"Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},events(e){return e[vF.$events]||tX(\"Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.\")},terminate(e){return e[vF.$terminate]()}}});var nX=Br(rh=>{\"use strict\";var s_=rh&&rh.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},fxt=rh&&rh.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rh,\"__esModule\",{value:!0});rh.Pool=rh.Thread=rh.PoolEventType=void 0;var dxt=fxt(VI()),bF=zS(),eX=K$(),pxt=aF(),ia=J$();Object.defineProperty(rh,\"PoolEventType\",{enumerable:!0,get:function(){return ia.PoolEventType}});var rX=xF();Object.defineProperty(rh,\"Thread\",{enumerable:!0,get:function(){return rX.Thread}});var Axt=1;function mxt(e){let t=[];for(let r=0;rsetTimeout(t,e))}function _xt(e,t){return e.reduce((r,i)=>[...r,...t(i)],[])}function yxt(e){return e.replace(/\\W/g,\" \").trim().replace(/\\s+/g,\"-\")}function vxt(e,t){return mxt(t).map(()=>({init:e(),runningTasks:[]}))}var YI=class{constructor(t,r){this.eventSubject=new bF.Subject,this.initErrors=[],this.isClosing=!1,this.nextTaskID=1,this.taskQueue=[];let i=typeof r==\"number\"?{size:r}:r||{},{size:s=pxt.defaultPoolSize}=i;this.debug=dxt.default(`threads:pool:${yxt(i.name||String(Axt++))}`),this.options=i,this.workers=vxt(t,s),this.eventObservable=bF.multicast(bF.Observable.from(this.eventSubject)),Promise.all(this.workers.map(n=>n.init)).then(()=>this.eventSubject.next({type:ia.PoolEventType.initialized,size:this.workers.length}),n=>{this.debug(\"Error while initializing pool worker:\",n),this.eventSubject.error(n),this.initErrors.push(n)})}findIdlingWorker(){let{concurrency:t=1}=this.options;return this.workers.find(r=>r.runningTasks.length{t.runningTasks=t.runningTasks.filter(n=>n!==i)};yield gxt(0);try{yield this.runPoolTask(t,r)}finally{s(),this.isClosing||this.scheduleWork()}});t.runningTasks.push(i)})}scheduleWork(){this.debug(\"Attempt de-queueing a task in order to run it...\");let t=this.findIdlingWorker();if(!t)return;let r=this.taskQueue.shift();if(!r){this.debug(\"Task queue is empty\"),this.eventSubject.next({type:ia.PoolEventType.taskQueueDrained});return}this.run(t,r)}taskCompletion(t){return new Promise((r,i)=>{let s=this.events().subscribe(n=>{n.type===ia.PoolEventType.taskCompleted&&n.taskID===t?(s.unsubscribe(),r(n.returnValue)):n.type===ia.PoolEventType.taskFailed&&n.taskID===t?(s.unsubscribe(),i(n.error)):n.type===ia.PoolEventType.terminated&&(s.unsubscribe(),i(Error(\"Pool has been terminated before task was run.\")))})})}settled(t=!1){return s_(this,void 0,void 0,function*(){let r=()=>_xt(this.workers,n=>n.runningTasks),i=[],s=this.eventObservable.subscribe(n=>{n.type===ia.PoolEventType.taskFailed&&i.push(n.error)});return this.initErrors.length>0?Promise.reject(this.initErrors[0]):t&&this.taskQueue.length===0?(yield eX.allSettled(r()),i):(yield new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained&&(c.unsubscribe(),n(void 0))},error:o})}),yield eX.allSettled(r()),s.unsubscribe(),i)})}completed(t=!1){return s_(this,void 0,void 0,function*(){let r=this.settled(t),i=new Promise((n,o)=>{let c=this.eventObservable.subscribe({next(f){f.type===ia.PoolEventType.taskQueueDrained?(c.unsubscribe(),n(r)):f.type===ia.PoolEventType.taskFailed&&(c.unsubscribe(),o(f.error))},error:o})}),s=yield Promise.race([r,i]);if(s.length>0)throw s[0]})}events(){return this.eventObservable}queue(t){let{maxQueuedJobs:r=1/0}=this.options;if(this.isClosing)throw Error(\"Cannot schedule pool tasks after terminate() has been called.\");if(this.initErrors.length>0)throw this.initErrors[0];let i=this.nextTaskID++,s=this.taskCompletion(i);s.catch(o=>{this.debug(`Task #${i} errored:`,o)});let n={id:i,run:t,cancel:()=>{this.taskQueue.indexOf(n)!==-1&&(this.taskQueue=this.taskQueue.filter(o=>o!==n),this.eventSubject.next({type:ia.PoolEventType.taskCanceled,taskID:n.id}))},then:s.then.bind(s)};if(this.taskQueue.length>=r)throw Error(`Maximum number of pool tasks queued. Refusing to queue another one.\nThis usually happens for one of two reasons: We are either at peak workload right now or some tasks just won't finish, thus blocking the pool.`);return this.debug(`Queueing task #${n.id}...`),this.taskQueue.push(n),this.eventSubject.next({type:ia.PoolEventType.taskQueued,taskID:n.id}),this.scheduleWork(),n}terminate(t){return s_(this,void 0,void 0,function*(){this.isClosing=!0,t||(yield this.completed(!0)),this.eventSubject.next({type:ia.PoolEventType.terminated,remainingQueue:[...this.taskQueue]}),this.eventSubject.complete(),yield Promise.all(this.workers.map(r=>s_(this,void 0,void 0,function*(){return rX.Thread.terminate(yield r.init)})))})}};YI.EventType=ia.PoolEventType;function iX(e,t){return new YI(e,t)}iX.EventType=ia.PoolEventType;rh.Pool=iX});var sX=Br(QI=>{\"use strict\";Object.defineProperty(QI,\"__esModule\",{value:!0});QI.createPromiseWithResolver=void 0;var xxt=()=>{};function bxt(){let e=!1,t,r=xxt;return[new Promise(n=>{e?n(t):r=n}),n=>{e=!0,t=n,r(t)}]}QI.createPromiseWithResolver=bxt});var oX=Br(VS=>{\"use strict\";Object.defineProperty(VS,\"__esModule\",{value:!0});VS.WorkerEventType=void 0;var hce=US(),wxt;(function(e){e.internalError=\"internalError\",e.message=\"message\",e.termination=\"termination\"})(wxt=VS.WorkerEventType||(VS.WorkerEventType={}))});var lX=Br($I=>{\"use strict\";Object.defineProperty($I,\"__esModule\",{value:!0});$I.ObservablePromise=void 0;var Sxt=zS(),Txt=()=>{},Mxt=e=>e,aX=e=>Promise.resolve().then(e);function Ext(e){throw e}function Pxt(e){return e&&typeof e.then==\"function\"}var wF=class e extends Sxt.Observable{constructor(t){super(r=>{let i=this,s=Object.assign(Object.assign({},r),{complete(){r.complete(),i.onCompletion()},error(n){r.error(n),i.onError(n)},next(n){r.next(n),i.onNext(n)}});try{return this.initHasRun=!0,t(s)}catch(n){s.error(n)}}),this.initHasRun=!1,this.fulfillmentCallbacks=[],this.rejectionCallbacks=[],this.firstValueSet=!1,this.state=\"pending\"}onNext(t){this.firstValueSet||(this.firstValue=t,this.firstValueSet=!0)}onError(t){this.state=\"rejected\",this.rejection=t;for(let r of this.rejectionCallbacks)aX(()=>r(t))}onCompletion(){this.state=\"fulfilled\";for(let t of this.fulfillmentCallbacks)aX(()=>t(this.firstValue))}then(t,r){let i=t||Mxt,s=r||Ext,n=!1;return new Promise((o,c)=>{let f=w=>{if(!n){n=!0;try{o(s(w))}catch(I){c(I)}}},_=w=>{try{o(i(w))}catch(I){f(I)}};if(this.initHasRun||this.subscribe({error:f}),this.state===\"fulfilled\")return o(i(this.firstValue));if(this.state===\"rejected\")return n=!0,o(s(this.rejection));this.fulfillmentCallbacks.push(_),this.rejectionCallbacks.push(f)})}catch(t){return this.then(void 0,t)}finally(t){let r=t||Txt;return this.then(i=>(r(),i),()=>r())}static from(t){return Pxt(t)?new e(r=>{let i=n=>{r.next(n),r.complete()},s=n=>{r.error(n)};t.then(i,s)}):super.from(t)}};$I.ObservablePromise=wF});var jS=Br(Dx=>{\"use strict\";Object.defineProperty(Dx,\"__esModule\",{value:!0});Dx.Transfer=Dx.isTransferDescriptor=void 0;var cX=US();function Ixt(e){return!(!e||typeof e!=\"object\")}function Cxt(e){return e&&typeof e==\"object\"&&e[cX.$transferable]}Dx.isTransferDescriptor=Cxt;function Lxt(e,t){if(!t){if(!Ixt(e))throw Error();t=[e]}return{[cX.$transferable]:!0,send:e,transferables:t}}Dx.Transfer=Lxt});var SF=Br(Om=>{\"use strict\";Object.defineProperty(Om,\"__esModule\",{value:!0});Om.WorkerMessageType=Om.MasterMessageType=void 0;var kxt;(function(e){e.cancel=\"cancel\",e.run=\"run\"})(kxt=Om.MasterMessageType||(Om.MasterMessageType={}));var Rxt;(function(e){e.error=\"error\",e.init=\"init\",e.result=\"result\",e.running=\"running\",e.uncaughtError=\"uncaughtError\"})(Rxt=Om.WorkerMessageType||(Om.WorkerMessageType={}))});var pX=Br(Bm=>{\"use strict\";var Dxt=Bm&&Bm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Bm,\"__esModule\",{value:!0});Bm.createProxyModule=Bm.createProxyFunction=void 0;var Oxt=Dxt(VI()),hX=zS(),GS=Mx(),uX=lX(),Bxt=jS(),WS=SF(),fX=Oxt.default(\"threads:master:messages\"),Fxt=1,zxt=e=>Array.from(new Set(e)),Nxt=e=>e&&e.type===WS.WorkerMessageType.error,Uxt=e=>e&&e.type===WS.WorkerMessageType.result,Vxt=e=>e&&e.type===WS.WorkerMessageType.running;function jxt(e,t){return new hX.Observable(r=>{let i,s=n=>{if(fX(\"Message from worker:\",n.data),!(!n.data||n.data.uid!==t)){if(Vxt(n.data))i=n.data.resultType;else if(Uxt(n.data))i===\"promise\"?(typeof n.data.payload<\"u\"&&r.next(GS.deserialize(n.data.payload)),r.complete(),e.removeEventListener(\"message\",s)):(n.data.payload&&r.next(GS.deserialize(n.data.payload)),n.data.complete&&(r.complete(),e.removeEventListener(\"message\",s)));else if(Nxt(n.data)){let o=GS.deserialize(n.data.error);r.error(o),e.removeEventListener(\"message\",s)}}};return e.addEventListener(\"message\",s),()=>{if(i===\"observable\"||!i){let n={type:WS.MasterMessageType.cancel,uid:t};e.postMessage(n)}e.removeEventListener(\"message\",s)}})}function Gxt(e){if(e.length===0)return{args:[],transferables:[]};let t=[],r=[];for(let i of e)Bxt.isTransferDescriptor(i)?(t.push(GS.serialize(i.send)),r.push(...i.transferables)):t.push(GS.serialize(i));return{args:t,transferables:r.length===0?r:zxt(r)}}function dX(e,t){return(...r)=>{let i=Fxt++,{args:s,transferables:n}=Gxt(r),o={type:WS.MasterMessageType.run,uid:i,method:t,args:s};fX(\"Sending command to run function to worker:\",o);try{e.postMessage(o,n)}catch(c){return uX.ObservablePromise.from(Promise.reject(c))}return uX.ObservablePromise.from(hX.multicast(jxt(e,i)))}}Bm.createProxyFunction=dX;function Wxt(e,t){let r={};for(let i of t)r[i]=dX(e,i);return r}Bm.createProxyModule=Wxt});var _X=Br(Fm=>{\"use strict\";var TF=Fm&&Fm.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},Hxt=Fm&&Fm.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fm,\"__esModule\",{value:!0});Fm.spawn=void 0;var MF=Hxt(VI()),qxt=zS(),Zxt=Mx(),Yxt=sX(),XI=US(),KI=oX(),AX=pX(),Qxt=MF.default(\"threads:master:messages\"),$xt=MF.default(\"threads:master:spawn\"),gX=MF.default(\"threads:master:thread-utils\"),Xxt=e=>e&&e.type===\"init\",Kxt=e=>e&&e.type===\"uncaughtError\",Jxt=typeof process<\"u\"&&process.env.THREADS_WORKER_INIT_TIMEOUT?Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT,10):1e4;function t1t(e,t,r){return TF(this,void 0,void 0,function*(){let i,s=new Promise((o,c)=>{i=setTimeout(()=>c(Error(r)),t)}),n=yield Promise.race([e,s]);return clearTimeout(i),n})}function e1t(e){return new Promise((t,r)=>{let i=s=>{Qxt(\"Message from worker before finishing initialization:\",s.data),Xxt(s.data)?(e.removeEventListener(\"message\",i),t(s.data)):Kxt(s.data)&&(e.removeEventListener(\"message\",i),r(Zxt.deserialize(s.data.error)))};e.addEventListener(\"message\",i)})}function r1t(e,t){return new qxt.Observable(r=>{let i=n=>{let o={type:KI.WorkerEventType.message,data:n.data};r.next(o)},s=n=>{gX(\"Unhandled promise rejection event in thread:\",n);let o={type:KI.WorkerEventType.internalError,error:Error(n.reason)};r.next(o)};e.addEventListener(\"message\",i),e.addEventListener(\"unhandledrejection\",s),t.then(()=>{let n={type:KI.WorkerEventType.termination};e.removeEventListener(\"message\",i),e.removeEventListener(\"unhandledrejection\",s),r.next(n),r.complete()})})}function i1t(e){let[t,r]=Yxt.createPromiseWithResolver();return{terminate:()=>TF(this,void 0,void 0,function*(){gX(\"Terminating worker\"),yield e.terminate(),r()}),termination:t}}function mX(e,t,r,i){let s=r.filter(n=>n.type===KI.WorkerEventType.internalError).map(n=>n.error);return Object.assign(e,{[XI.$errors]:s,[XI.$events]:r,[XI.$terminate]:i,[XI.$worker]:t})}function n1t(e,t){return TF(this,void 0,void 0,function*(){$xt(\"Initializing new thread\");let r=t&&t.timeout?t.timeout:Jxt,s=(yield t1t(e1t(e),r,`Timeout: Did not receive an init message from worker after ${r}ms. Make sure the worker calls expose().`)).exposed,{termination:n,terminate:o}=i1t(e),c=r1t(e,n);if(s.type===\"function\"){let f=AX.createProxyFunction(e);return mX(f,e,c,o)}else if(s.type===\"module\"){let f=AX.createProxyModule(e,s.methods);return mX(f,e,c,o)}else{let f=s.type;throw Error(`Worker init message states unexpected type of expose(): ${f}`)}})}Fm.spawn=n1t});var yX=Br(Cc=>{\"use strict\";Object.defineProperty(Cc,\"__esModule\",{value:!0});Cc.Worker=Cc.BlobWorker=Cc.isWorkerRuntime=Cc.Thread=Cc.spawn=Cc.Pool=void 0;var EF=aF();Object.defineProperty(Cc,\"isWorkerRuntime\",{enumerable:!0,get:function(){return EF.isWorkerRuntime}});var s1t=nX();Object.defineProperty(Cc,\"Pool\",{enumerable:!0,get:function(){return s1t.Pool}});var o1t=_X();Object.defineProperty(Cc,\"spawn\",{enumerable:!0,get:function(){return o1t.spawn}});var a1t=xF();Object.defineProperty(Cc,\"Thread\",{enumerable:!0,get:function(){return a1t.Thread}});Cc.BlobWorker=EF.getWorkerImplementation().blob;Cc.Worker=EF.getWorkerImplementation().default});var xX=Br((yce,vX)=>{\"use strict\";vX.exports=e=>e?typeof Symbol.observable==\"symbol\"&&typeof e[Symbol.observable]==\"function\"?e===e[Symbol.observable]():typeof e[\"@@observable\"]==\"function\"?e===e[\"@@observable\"]():!1:!1});var bX=Br(PF=>{\"use strict\";Object.defineProperty(PF,\"__esModule\",{value:!0});var l1t=function(){let t=typeof self<\"u\"&&typeof Window<\"u\"&&self instanceof Window;return!!(typeof self<\"u\"&&self.postMessage&&!t)},c1t=function(t,r){self.postMessage(t,r)},u1t=function(t){let r=s=>{t(s.data)},i=()=>{self.removeEventListener(\"message\",r)};return self.addEventListener(\"message\",r),i};PF.default={isWorkerRuntime:l1t,postMessageToMaster:c1t,subscribeToMasterMessages:u1t}});var IX=Br(Lc=>{\"use strict\";var h1t=Lc&&Lc.__awaiter||function(e,t,r,i){function s(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function c(w){try{_(i.next(w))}catch(I){o(I)}}function f(w){try{_(i.throw(w))}catch(I){o(I)}}function _(w){w.done?n(w.value):s(w.value).then(c,f)}_((i=i.apply(e,t||[])).next())})},EX=Lc&&Lc.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Lc,\"__esModule\",{value:!0});Lc.expose=Lc.isWorkerRuntime=Lc.Transfer=Lc.registerSerializer=void 0;var f1t=EX(xX()),zm=Mx(),d1t=jS(),Nm=SF(),fu=EX(bX()),p1t=Mx();Object.defineProperty(Lc,\"registerSerializer\",{enumerable:!0,get:function(){return p1t.registerSerializer}});var A1t=jS();Object.defineProperty(Lc,\"Transfer\",{enumerable:!0,get:function(){return A1t.Transfer}});Lc.isWorkerRuntime=fu.default.isWorkerRuntime;var wX=!1,HS=new Map,m1t=e=>e&&e.type===Nm.MasterMessageType.cancel,SX=e=>e&&e.type===Nm.MasterMessageType.run,TX=e=>f1t.default(e)||g1t(e);function g1t(e){return e&&typeof e==\"object\"&&typeof e.subscribe==\"function\"}function PX(e){return d1t.isTransferDescriptor(e)?{payload:e.send,transferables:e.transferables}:{payload:e,transferables:void 0}}function _1t(){let e={type:Nm.WorkerMessageType.init,exposed:{type:\"function\"}};fu.default.postMessageToMaster(e)}function y1t(e){let t={type:Nm.WorkerMessageType.init,exposed:{type:\"module\",methods:e}};fu.default.postMessageToMaster(t)}function IF(e,t){let{payload:r,transferables:i}=PX(t),s={type:Nm.WorkerMessageType.error,uid:e,error:zm.serialize(r)};fu.default.postMessageToMaster(s,i)}function CF(e,t,r){let{payload:i,transferables:s}=PX(r),n={type:Nm.WorkerMessageType.result,uid:e,complete:t?!0:void 0,payload:i};fu.default.postMessageToMaster(n,s)}function v1t(e,t){let r={type:Nm.WorkerMessageType.running,uid:e,resultType:t};fu.default.postMessageToMaster(r)}function JI(e){try{let t={type:Nm.WorkerMessageType.uncaughtError,error:zm.serialize(e)};fu.default.postMessageToMaster(t)}catch(t){console.error(`Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:`,t,`\nOriginal error:`,e)}}function MX(e,t,r){return h1t(this,void 0,void 0,function*(){let i;try{i=t(...r)}catch(n){return IF(e,n)}let s=TX(i)?\"observable\":\"promise\";if(v1t(e,s),TX(i)){let n=i.subscribe(o=>CF(e,!1,zm.serialize(o)),o=>{IF(e,zm.serialize(o)),HS.delete(e)},()=>{CF(e,!0),HS.delete(e)});HS.set(e,n)}else try{let n=yield i;CF(e,!0,zm.serialize(n))}catch(n){IF(e,zm.serialize(n))}})}function x1t(e){if(!fu.default.isWorkerRuntime())throw Error(\"expose() called in the master thread.\");if(wX)throw Error(\"expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.\");if(wX=!0,typeof e==\"function\")fu.default.subscribeToMasterMessages(t=>{SX(t)&&!t.method&&MX(t.uid,e,t.args.map(zm.deserialize))}),_1t();else if(typeof e==\"object\"&&e){fu.default.subscribeToMasterMessages(r=>{SX(r)&&r.method&&MX(r.uid,e[r.method],r.args.map(zm.deserialize))});let t=Object.keys(e).filter(r=>typeof e[r]==\"function\");y1t(t)}else throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${e}`);fu.default.subscribeToMasterMessages(t=>{if(m1t(t)){let r=t.uid,i=HS.get(r);i&&(i.unsubscribe(),HS.delete(r))}})}Lc.expose=x1t;typeof self<\"u\"&&typeof self.addEventListener==\"function\"&&fu.default.isWorkerRuntime()&&(self.addEventListener(\"error\",e=>{setTimeout(()=>JI(e.error||e),250)}),self.addEventListener(\"unhandledrejection\",e=>{let t=e.reason;t&&typeof t.message==\"string\"&&setTimeout(()=>JI(t),250)}));typeof process<\"u\"&&typeof process.on==\"function\"&&fu.default.isWorkerRuntime()&&(process.on(\"uncaughtException\",e=>{setTimeout(()=>JI(e),250)}),process.on(\"unhandledRejection\",e=>{e&&typeof e.message==\"string\"&&setTimeout(()=>JI(e),250)}))});var CX=Br(Fl=>{\"use strict\";var b1t=Fl&&Fl.__createBinding||(Object.create?function(e,t,r,i){i===void 0&&(i=r),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,i){i===void 0&&(i=r),e[i]=t[r]}),w1t=Fl&&Fl.__exportStar||function(e,t){for(var r in e)r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r)&&b1t(t,e,r)};Object.defineProperty(Fl,\"__esModule\",{value:!0});Fl.Transfer=Fl.DefaultSerializer=Fl.expose=Fl.registerSerializer=void 0;var S1t=Mx();Object.defineProperty(Fl,\"registerSerializer\",{enumerable:!0,get:function(){return S1t.registerSerializer}});w1t(yX(),Fl);var T1t=IX();Object.defineProperty(Fl,\"expose\",{enumerable:!0,get:function(){return T1t.expose}});var M1t=nF();Object.defineProperty(Fl,\"DefaultSerializer\",{enumerable:!0,get:function(){return M1t.DefaultSerializer}});var E1t=jS();Object.defineProperty(Fl,\"Transfer\",{enumerable:!0,get:function(){return E1t.Transfer}})});var hC=Ri(Yi(),1),a_=Ri(Yi(),1);var ec=Ri(Yi(),1),U8=Ri(N8(),1),V8=ec.createContext(null);function Ket(){let e=ec.useContext(V8);if(!e)throw new Error(\"RenderContext not found\");return e}function Y1(){return Ket().model}function zA(e){let t=Y1(),[r,i]=ec.useState(t.get(e));return ec.useEffect(()=>{let s=()=>i(t.get(e));return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),t.save_changes()}]}function j8(e){return({el:t,model:r,experimental:i})=>{let s=U8.createRoot(t);return s.render(ec.createElement(ec.StrictMode,null,ec.createElement(V8.Provider,{value:{model:r,experimental:i}},ec.createElement(e)))),()=>s.unmount()}}var rU=Ri(Yi());var cy=Ri(Yi()),Yc=Ri(Yi());var m4=Ri(Yi()),zM=Ri(Yi());var G8=m4.createContext(null);function W8(e,t){let r=Array.isArray(e)?e[0]:e?e.x:0,i=Array.isArray(e)?e[1]:e?e.y:0,s=Array.isArray(t)?t[0]:t?t.x:0,n=Array.isArray(t)?t[1]:t?t.y:0;return r===s&&i===n}function rc(e,t){if(e===t)return!0;if(!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r{let s=null;\"interactive\"in i&&(s=Object.assign({},i),delete s.interactive);let n=t[i.ref];if(n){s=s||Object.assign({},i),delete s.ref;for(let o of Jet)o in n&&(s[o]=n[o])}return s||i});return{...e,layers:r}}var q8={version:8,sources:{},layers:[]},Z8={mousedown:\"onMouseDown\",mouseup:\"onMouseUp\",mouseover:\"onMouseOver\",mousemove:\"onMouseMove\",click:\"onClick\",dblclick:\"onDblClick\",mouseenter:\"onMouseEnter\",mouseleave:\"onMouseLeave\",mouseout:\"onMouseOut\",contextmenu:\"onContextMenu\",touchstart:\"onTouchStart\",touchend:\"onTouchEnd\",touchmove:\"onTouchMove\",touchcancel:\"onTouchCancel\"},x4={movestart:\"onMoveStart\",move:\"onMove\",moveend:\"onMoveEnd\",dragstart:\"onDragStart\",drag:\"onDrag\",dragend:\"onDragEnd\",zoomstart:\"onZoomStart\",zoom:\"onZoom\",zoomend:\"onZoomEnd\",rotatestart:\"onRotateStart\",rotate:\"onRotate\",rotateend:\"onRotateEnd\",pitchstart:\"onPitchStart\",pitch:\"onPitch\",pitchend:\"onPitchEnd\"},Y8={wheel:\"onWheel\",boxzoomstart:\"onBoxZoomStart\",boxzoomend:\"onBoxZoomEnd\",boxzoomcancel:\"onBoxZoomCancel\",resize:\"onResize\",load:\"onLoad\",render:\"onRender\",idle:\"onIdle\",remove:\"onRemove\",data:\"onData\",styledata:\"onStyleData\",sourcedata:\"onSourceData\",error:\"onError\"},trt=[\"minZoom\",\"maxZoom\",\"minPitch\",\"maxPitch\",\"maxBounds\",\"projection\",\"renderWorldCopies\"],ert=[\"scrollZoom\",\"boxZoom\",\"dragRotate\",\"dragPan\",\"keyboard\",\"doubleClickZoom\",\"touchZoomRotate\",\"touchPitch\"],R0=class e{constructor(t,r,i){this._map=null,this._internalUpdate=!1,this._inRender=!1,this._hoveredFeatures=null,this._deferredEvents={move:!1,zoom:!1,pitch:!1,rotate:!1},this._onEvent=s=>{let n=this.props[Y8[s.type]];n?n(s):s.type===\"error\"&&console.error(s.error)},this._onPointerEvent=s=>{(s.type===\"mousemove\"||s.type===\"mouseout\")&&this._updateHover(s);let n=this.props[Z8[s.type]];n&&(this.props.interactiveLayerIds&&s.type!==\"mouseover\"&&s.type!==\"mouseout\"&&(s.features=this._hoveredFeatures||this._queryRenderedFeatures(s.point)),n(s),delete s.features)},this._onCameraEvent=s=>{if(!this._internalUpdate){let n=this.props[x4[s.type]];n&&n(s)}s.type in this._deferredEvents&&(this._deferredEvents[s.type]=!1)},this._MapClass=t,this.props=r,this._initialize(i)}get map(){return this._map}get transform(){return this._renderTransform}setProps(t){let r=this.props;this.props=t;let i=this._updateSettings(t,r);i&&this._createShadowTransform(this._map);let s=this._updateSize(t),n=this._updateViewState(t,!0);this._updateStyle(t,r),this._updateStyleComponents(t,r),this._updateHandlers(t,r),(i||s||n&&!this._map.isMoving())&&this.redraw()}static reuse(t,r){let i=e.savedMaps.pop();if(!i)return null;let s=i.map,n=s.getContainer();for(r.className=n.className;n.childNodes.length>0;)r.appendChild(n.childNodes[0]);s._container=r;let o=s._resizeObserver;o&&(o.disconnect(),o.observe(r)),i.setProps({...t,styleDiffing:!1}),s.resize();let{initialViewState:c}=t;return c&&(c.bounds?s.fitBounds(c.bounds,{...c.fitBoundsOptions,duration:0}):i._updateViewState(c,!1)),s.isStyleLoaded()?s.fire(\"load\"):s.once(\"styledata\",()=>s.fire(\"load\")),s._update(),i}_initialize(t){let{props:r}=this,{mapStyle:i=q8}=r,s={...r,...r.initialViewState,accessToken:r.mapboxAccessToken||rrt()||null,container:t,style:v4(i)},n=s.initialViewState||s.viewState||s;if(Object.assign(s,{center:[n.longitude||0,n.latitude||0],zoom:n.zoom||0,pitch:n.pitch||0,bearing:n.bearing||0}),r.gl){let w=HTMLCanvasElement.prototype.getContext;HTMLCanvasElement.prototype.getContext=()=>(HTMLCanvasElement.prototype.getContext=w,r.gl)}let o=new this._MapClass(s);n.padding&&o.setPadding(n.padding),r.cursor&&(o.getCanvas().style.cursor=r.cursor),this._createShadowTransform(o);let c=o._render;o._render=w=>{this._inRender=!0,c.call(o,w),this._inRender=!1};let f=o._renderTaskQueue.run;o._renderTaskQueue.run=w=>{f.call(o._renderTaskQueue,w),this._onBeforeRepaint()},o.on(\"render\",()=>this._onAfterRepaint());let _=o.fire;o.fire=this._fireEvent.bind(this,_),o.on(\"resize\",()=>{this._renderTransform.resize(o.transform.width,o.transform.height)}),o.on(\"styledata\",()=>{this._updateStyleComponents(this.props,{}),g4(o.transform,this._renderTransform)}),o.on(\"sourcedata\",()=>this._updateStyleComponents(this.props,{}));for(let w in Z8)o.on(w,this._onPointerEvent);for(let w in x4)o.on(w,this._onCameraEvent);for(let w in Y8)o.on(w,this._onEvent);this._map=o}recycle(){let r=this.map.getContainer().querySelector(\"[mapboxgl-children]\");r?.remove(),e.savedMaps.push(this)}destroy(){this._map.remove()}redraw(){let t=this._map;!this._inRender&&t.style&&(t._frame&&(t._frame.cancel(),t._frame=null),t._render())}_createShadowTransform(t){let r=H8(t.transform);t.painter.transform=r,this._renderTransform=r}_updateSize(t){let{viewState:r}=t;if(r){let i=this._map;if(r.width!==i.transform.width||r.height!==i.transform.height)return i.resize(),!0}return!1}_updateViewState(t,r){if(this._internalUpdate)return!1;let i=this._map,s=this._renderTransform,{zoom:n,pitch:o,bearing:c}=s,f=i.isMoving();f&&(s.cameraElevationReference=\"sea\");let _=y4(s,{..._4(i.transform),...t});if(f&&(s.cameraElevationReference=\"ground\"),_&&r){let w=this._deferredEvents;w.move=!0,w.zoom||(w.zoom=n!==s.zoom),w.rotate||(w.rotate=c!==s.bearing),w.pitch||(w.pitch=o!==s.pitch)}return f||y4(i.transform,t),_}_updateSettings(t,r){let i=this._map,s=!1;for(let n of trt)if(n in t&&!rc(t[n],r[n])){s=!0;let o=i[`set${n[0].toUpperCase()}${n.slice(1)}`];o?.call(i,t[n])}return s}_updateStyle(t,r){if(t.cursor!==r.cursor&&(this._map.getCanvas().style.cursor=t.cursor||\"\"),t.mapStyle!==r.mapStyle){let{mapStyle:i=q8,styleDiffing:s=!0}=t,n={diff:s};return\"localIdeographFontFamily\"in t&&(n.localIdeographFontFamily=t.localIdeographFontFamily),this._map.setStyle(v4(i),n),!0}return!1}_updateStyleComponents(t,r){let i=this._map,s=!1;return i.isStyleLoaded()&&(\"light\"in t&&i.setLight&&!rc(t.light,r.light)&&(s=!0,i.setLight(t.light)),\"fog\"in t&&i.setFog&&!rc(t.fog,r.fog)&&(s=!0,i.setFog(t.fog)),\"terrain\"in t&&i.setTerrain&&!rc(t.terrain,r.terrain)&&(!t.terrain||i.getSource(t.terrain.source))&&(s=!0,i.setTerrain(t.terrain))),s}_updateHandlers(t,r){var i,s;let n=this._map,o=!1;for(let c of ert){let f=(i=t[c])!==null&&i!==void 0?i:!0,_=(s=r[c])!==null&&s!==void 0?s:!0;rc(f,_)||(o=!0,f?n[c].enable(f):n[c].disable())}return o}_queryRenderedFeatures(t){let r=this._map,i=r.transform,{interactiveLayerIds:s=[]}=this.props;try{return r.transform=this._renderTransform,r.queryRenderedFeatures(t,{layers:s.filter(r.getLayer.bind(r))})}catch{return[]}finally{r.transform=i}}_updateHover(t){var r;let{props:i}=this;if(i.interactiveLayerIds&&(i.onMouseMove||i.onMouseEnter||i.onMouseLeave)){let n=t.type,o=((r=this._hoveredFeatures)===null||r===void 0?void 0:r.length)>0,c=this._queryRenderedFeatures(t.point),f=c.length>0;!f&&o&&(t.type=\"mouseleave\",this._onPointerEvent(t)),this._hoveredFeatures=c,f&&!o&&(t.type=\"mouseenter\",this._onPointerEvent(t)),t.type=n}else this._hoveredFeatures=null}_fireEvent(t,r,i){let s=this._map,n=s.transform,o=typeof r==\"string\"?r:r.type;return o===\"move\"&&this._updateViewState(this.props,!1),o in x4&&(typeof r==\"object\"&&(r.viewState=_4(n)),this._map.isMoving())?(s.transform=this._renderTransform,t.call(s,r,i),s.transform=n,s):(t.call(s,r,i),s)}_onBeforeRepaint(){let t=this._map;this._internalUpdate=!0;for(let i in this._deferredEvents)this._deferredEvents[i]&&t.fire(i);this._internalUpdate=!1;let r=this._map.transform;t.transform=this._renderTransform,this._onAfterRepaint=()=>{g4(this._renderTransform,r),t.transform=r}}};R0.savedMaps=[];function rrt(){let e=null;if(typeof location<\"u\"){let t=/access_token=([^&\\/]*)/.exec(location.search);e=t&&t[1]}try{e=e||process.env.MapboxAccessToken}catch{}try{e=e||process.env.REACT_APP_MAPBOX_ACCESS_TOKEN}catch{}return e}var irt=[\"setMaxBounds\",\"setMinZoom\",\"setMaxZoom\",\"setMinPitch\",\"setMaxPitch\",\"setRenderWorldCopies\",\"setProjection\",\"setStyle\",\"addSource\",\"removeSource\",\"addLayer\",\"removeLayer\",\"setLayerZoomRange\",\"setFilter\",\"setPaintProperty\",\"setLayoutProperty\",\"setLight\",\"setTerrain\",\"setFog\",\"remove\"];function b4(e){if(!e)return null;let t=e.map,r={getMap:()=>t,getCenter:()=>e.transform.center,getZoom:()=>e.transform.zoom,getBearing:()=>e.transform.bearing,getPitch:()=>e.transform.pitch,getPadding:()=>e.transform.padding,getBounds:()=>e.transform.getBounds(),project:i=>{let s=t.transform;t.transform=e.transform;let n=t.project(i);return t.transform=s,n},unproject:i=>{let s=t.transform;t.transform=e.transform;let n=t.unproject(i);return t.transform=s,n},queryTerrainElevation:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryTerrainElevation(i,s);return t.transform=n,o},queryRenderedFeatures:(i,s)=>{let n=t.transform;t.transform=e.transform;let o=t.queryRenderedFeatures(i,s);return t.transform=n,o}};for(let i of nrt(t))!(i in r)&&!irt.includes(i)&&(r[i]=t[i].bind(t));return r}function nrt(e){let t=new Set,r=e;for(;r;){for(let i of Object.getOwnPropertyNames(r))i[0]!==\"_\"&&typeof e[i]==\"function\"&&i!==\"fire\"&&i!==\"setEventedParent\"&&t.add(i);r=Object.getPrototypeOf(r)}return Array.from(t)}var NM=Ri(Yi()),srt=typeof document<\"u\"?NM.useLayoutEffect:NM.useEffect,Q8=srt;var ort=[\"baseApiUrl\",\"maxParallelImageRequests\",\"workerClass\",\"workerCount\",\"workerUrl\"];function w4(e,t){for(let i of ort)i in t&&(e[i]=t[i]);let{RTLTextPlugin:r=\"https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js\"}=t;r&&e.getRTLTextPluginStatus&&e.getRTLTextPluginStatus()===\"unavailable\"&&e.setRTLTextPlugin(r,i=>{i&&console.error(i)},!0)}var Of=cy.createContext(null);function S4(e,t,r){let i=(0,Yc.useContext)(G8),[s,n]=(0,Yc.useState)(null),o=(0,Yc.useRef)(),{current:c}=(0,Yc.useRef)({mapLib:null,map:null});(0,Yc.useEffect)(()=>{let w=e.mapLib,I=!0,R;return Promise.resolve(w||r).then(N=>{if(!I)return;if(!N)throw new Error(\"Invalid mapLib\");let j=\"Map\"in N?N:N.default;if(!j.Map)throw new Error(\"Invalid mapLib\");if(w4(j,e),!j.supported||j.supported(e))e.reuseMaps&&(R=R0.reuse(e,o.current)),R||(R=new R0(j.Map,e,o.current)),c.map=b4(R),c.mapLib=j,n(R),i?.onMapMount(c.map,e.id);else throw new Error(\"Map is not supported by this browser\")}).catch(N=>{let{onError:j}=e;j?j({type:\"error\",target:null,originalEvent:null,error:N}):console.error(N)}),()=>{I=!1,R&&(i?.onMapUnmount(e.id),e.reuseMaps?R.recycle():R.destroy())}},[]),Q8(()=>{s&&s.setProps(e)}),(0,Yc.useImperativeHandle)(t,()=>c.map,[s]);let f=(0,Yc.useMemo)(()=>({position:\"relative\",width:\"100%\",height:\"100%\",...e.style}),[e.style]),_={height:\"100%\"};return cy.createElement(\"div\",{id:e.id,ref:o,style:f},s&&cy.createElement(Of.Provider,{value:c},cy.createElement(\"div\",{\"mapboxgl-children\":\"\",style:_},e.children)))}var $8=Ri(Yi()),X8=Ri(FM()),Tl=Ri(Yi());var art=/box|flex|grid|column|lineHeight|fontWeight|opacity|order|tabSize|zIndex/;function ic(e,t){if(!e||!t)return;let r=e.style;for(let i in t){let s=t[i];Number.isFinite(s)&&!art.test(i)?r[i]=`${s}px`:r[i]=s}}function lrt(e,t){let{map:r,mapLib:i}=(0,Tl.useContext)(Of),s=(0,Tl.useRef)({props:e});s.current.props=e;let n=(0,Tl.useMemo)(()=>{let Q=!1;$8.Children.forEach(e.children,K=>{K&&(Q=!0)});let et={...e,element:Q?document.createElement(\"div\"):null},Y=new i.Marker(et);return Y.setLngLat([e.longitude,e.latitude]),Y.getElement().addEventListener(\"click\",K=>{var J,ut;(ut=(J=s.current.props).onClick)===null||ut===void 0||ut.call(J,{type:\"click\",target:Y,originalEvent:K})}),Y.on(\"dragstart\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragStart)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"drag\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDrag)===null||ut===void 0||ut.call(J,Et)}),Y.on(\"dragend\",K=>{var J,ut;let Et=K;Et.lngLat=n.getLngLat(),(ut=(J=s.current.props).onDragEnd)===null||ut===void 0||ut.call(J,Et)}),Y},[]);(0,Tl.useEffect)(()=>(n.addTo(r.getMap()),()=>{n.remove()}),[]);let{longitude:o,latitude:c,offset:f,style:_,draggable:w=!1,popup:I=null,rotation:R=0,rotationAlignment:N=\"auto\",pitchAlignment:j=\"auto\"}=e;return(0,Tl.useEffect)(()=>{ic(n.getElement(),_)},[_]),(0,Tl.useImperativeHandle)(t,()=>n,[]),(n.getLngLat().lng!==o||n.getLngLat().lat!==c)&&n.setLngLat([o,c]),f&&!W8(n.getOffset(),f)&&n.setOffset(f),n.isDraggable()!==w&&n.setDraggable(w),n.getRotation()!==R&&n.setRotation(R),n.getRotationAlignment()!==N&&n.setRotationAlignment(N),n.getPitchAlignment()!==j&&n.setPitchAlignment(j),n.getPopup()!==I&&n.setPopup(I),(0,X8.createPortal)(e.children,n.getElement())}var crt=(0,Tl.memo)((0,Tl.forwardRef)(lrt));var J8=Ri(FM()),Xa=Ri(Yi());function K8(e){return new Set(e?e.trim().split(/\\s+/):[])}function urt(e,t){let{map:r,mapLib:i}=(0,Xa.useContext)(Of),s=(0,Xa.useMemo)(()=>document.createElement(\"div\"),[]),n=(0,Xa.useRef)({props:e});n.current.props=e;let o=(0,Xa.useMemo)(()=>{let c={...e},f=new i.Popup(c);return f.setLngLat([e.longitude,e.latitude]),f.once(\"open\",_=>{var w,I;(I=(w=n.current.props).onOpen)===null||I===void 0||I.call(w,_)}),f},[]);if((0,Xa.useEffect)(()=>{let c=f=>{var _,w;(w=(_=n.current.props).onClose)===null||w===void 0||w.call(_,f)};return o.on(\"close\",c),o.setDOMContent(s).addTo(r.getMap()),()=>{o.off(\"close\",c),o.isOpen()&&o.remove()}},[]),(0,Xa.useEffect)(()=>{ic(o.getElement(),e.style)},[e.style]),(0,Xa.useImperativeHandle)(t,()=>o,[]),o.isOpen()&&((o.getLngLat().lng!==e.longitude||o.getLngLat().lat!==e.latitude)&&o.setLngLat([e.longitude,e.latitude]),e.offset&&!rc(o.options.offset,e.offset)&&o.setOffset(e.offset),(o.options.anchor!==e.anchor||o.options.maxWidth!==e.maxWidth)&&(o.options.anchor=e.anchor,o.setMaxWidth(e.maxWidth)),o.options.className!==e.className)){let c=K8(o.options.className),f=K8(e.className);for(let _ of c)f.has(_)||o.removeClassName(_);for(let _ of f)c.has(_)||o.addClassName(_);o.options.className=e.className}return(0,J8.createPortal)(e.children,s)}var hrt=(0,Xa.memo)((0,Xa.forwardRef)(urt));var UM=Ri(Yi());var uy=Ri(Yi());function frt(e,t,r,i){let s=(0,uy.useContext)(Of),n=(0,uy.useMemo)(()=>e(s),[]);return(0,uy.useEffect)(()=>{let o=i||r||t,c=typeof t==\"function\"&&typeof r==\"function\"?t:null,f=typeof r==\"function\"?r:typeof t==\"function\"?t:null,{map:_}=s;return _.hasControl(n)||(_.addControl(n,o?.position),c&&c(s)),()=>{f&&f(s),_.hasControl(n)&&_.removeControl(n)}},[]),n}var kh=frt;function drt(e){let t=kh(({mapLib:r})=>new r.AttributionControl(e),{position:e.position});return(0,UM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var prt=(0,UM.memo)(drt);var VM=Ri(Yi());function Art(e){let t=kh(({mapLib:r})=>new r.FullscreenControl({container:e.containerId&&document.getElementById(e.containerId)}),{position:e.position});return(0,VM.useEffect)(()=>{ic(t._controlContainer,e.style)},[e.style]),null}var mrt=(0,VM.memo)(Art);var Bf=Ri(Yi());function grt(e,t){let r=(0,Bf.useRef)({props:e}),i=kh(({mapLib:s})=>{let n=new s.GeolocateControl(e),o=n._setupUI;return n._setupUI=c=>{n._container.hasChildNodes()||o(c)},n.on(\"geolocate\",c=>{var f,_;(_=(f=r.current.props).onGeolocate)===null||_===void 0||_.call(f,c)}),n.on(\"error\",c=>{var f,_;(_=(f=r.current.props).onError)===null||_===void 0||_.call(f,c)}),n.on(\"outofmaxbounds\",c=>{var f,_;(_=(f=r.current.props).onOutOfMaxBounds)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationstart\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationStart)===null||_===void 0||_.call(f,c)}),n.on(\"trackuserlocationend\",c=>{var f,_;(_=(f=r.current.props).onTrackUserLocationEnd)===null||_===void 0||_.call(f,c)}),n},{position:e.position});return r.current.props=e,(0,Bf.useImperativeHandle)(t,()=>i,[]),(0,Bf.useEffect)(()=>{ic(i._container,e.style)},[e.style]),null}var _rt=(0,Bf.memo)((0,Bf.forwardRef)(grt));var jM=Ri(Yi());function yrt(e){let t=kh(({mapLib:r})=>new r.NavigationControl(e),{position:e.position});return(0,jM.useEffect)(()=>{ic(t._container,e.style)},[e.style]),null}var vrt=(0,jM.memo)(yrt);var hy=Ri(Yi());function xrt(e){let t=kh(({mapLib:n})=>new n.ScaleControl(e),{position:e.position}),r=(0,hy.useRef)(e),i=r.current;r.current=e;let{style:s}=e;return e.maxWidth!==void 0&&e.maxWidth!==i.maxWidth&&(t.options.maxWidth=e.maxWidth),e.unit!==void 0&&e.unit!==i.unit&&t.setUnit(e.unit),(0,hy.useEffect)(()=>{ic(t._container,s)},[s]),null}var brt=(0,hy.memo)(xrt);var Q1=Ri(Yi());var Srt=Ri(Yi()),$1=Ri(Yi()),Trt=Ri(Yi());var Mrt=Promise.resolve().then(()=>Ri(eU())),Ert=rU.forwardRef(function(t,r){return S4(t,r,Mrt)});var iU=Ert;var Do=Ri(Yi());function NA(e,t){if(!e)throw new Error(t||\"loader assertion failed.\")}var Ff={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Prt=Ff.self||Ff.window||Ff.global||{},Irt=Ff.window||Ff.self||Ff.global||{},Crt=Ff.global||Ff.self||Ff.window||{},Lrt=Ff.document||{};var D0=!!(typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser);var nU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),krt=nU&&parseFloat(nU[1])||0;var sU=\"3.4.14\";function Ka(e,t){if(!e)throw new Error(t||\"loaders.gl assertion failed.\")}var zf={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document},Xwt=zf.self||zf.window||zf.global||{},Kwt=zf.window||zf.self||zf.global||{},Jwt=zf.global||zf.self||zf.window||{},t2t=zf.document||{};var O0=typeof process!=\"object\"||String(process)!==\"[object process]\"||process.browser;var aU=typeof window<\"u\"&&typeof window.orientation<\"u\",oU=typeof process<\"u\"&&process.version&&/v([0-9]*)/.exec(process.version),e2t=oU&&parseFloat(oU[1])||0;function B0(e){\"@babel/helpers - typeof\";return B0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B0(e)}function lU(e,t){if(B0(e)!=\"object\"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,t||\"default\");if(B0(i)!=\"object\")return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function cU(e){var t=lU(e,\"string\");return B0(t)==\"symbol\"?t:t+\"\"}function G(e,t,r){return(t=cU(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var X1=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"workerThread\",void 0),G(this,\"isRunning\",!0),G(this,\"result\",void 0),G(this,\"_resolve\",()=>{}),G(this,\"_reject\",()=>{}),this.name=t,this.workerThread=r,this.result=new Promise((i,s)=>{this._resolve=i,this._reject=s})}postMessage(t,r){this.workerThread.postMessage({source:\"loaders.gl\",type:t,payload:r})}done(t){Ka(this.isRunning),this.isRunning=!1,this._resolve(t)}error(t){Ka(this.isRunning),this.isRunning=!1,this._reject(t)}};var fy=class{terminate(){}};var E4=new Map;function uU(e){Ka(e.source&&!e.url||!e.source&&e.url);let t=E4.get(e.source||e.url);return t||(e.url&&(t=Rrt(e.url),E4.set(e.url,t)),e.source&&(t=hU(e.source),E4.set(e.source,t))),Ka(t),t}function Rrt(e){if(!e.startsWith(\"http\"))return e;let t=Drt(e);return hU(t)}function hU(e){let t=new Blob([e],{type:\"application/javascript\"});return URL.createObjectURL(t)}function Drt(e){return`try {\n importScripts('`.concat(e,`');\n} catch (error) {\n console.error(error);\n throw error;\n}`)}function P4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=arguments.length>2?arguments[2]:void 0,i=r||new Set;if(e){if(fU(e))i.add(e);else if(fU(e.buffer))i.add(e.buffer);else if(!ArrayBuffer.isView(e)){if(t&&typeof e==\"object\")for(let s in e)P4(e[s],t,i)}}return r===void 0?Array.from(i):[]}function fU(e){return e?e instanceof ArrayBuffer||typeof MessagePort<\"u\"&&e instanceof MessagePort||typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap||typeof OffscreenCanvas<\"u\"&&e instanceof OffscreenCanvas:!1}var I4=()=>{},UA=class{static isSupported(){return typeof Worker<\"u\"&&O0||typeof fy<\"u\"&&!O0}constructor(t){G(this,\"name\",void 0),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"terminated\",!1),G(this,\"worker\",void 0),G(this,\"onMessage\",void 0),G(this,\"onError\",void 0),G(this,\"_loadableURL\",\"\");let{name:r,source:i,url:s}=t;Ka(i||s),this.name=r,this.source=i,this.url=s,this.onMessage=I4,this.onError=n=>console.log(n),this.worker=O0?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=I4,this.onError=I4,this.worker.terminate(),this.terminated=!0}get isRunning(){return!!this.onMessage}postMessage(t,r){r=r||P4(t),this.worker.postMessage(t,r)}_getErrorFromErrorEvent(t){let r=\"Failed to load \";return r+=\"worker \".concat(this.name,\" from \").concat(this.url,\". \"),t.message&&(r+=\"\".concat(t.message,\" in \")),t.lineno&&(r+=\":\".concat(t.lineno,\":\").concat(t.colno)),new Error(r)}_createBrowserWorker(){this._loadableURL=uU({source:this.source,url:this.url});let t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=r=>{r.data?this.onMessage(r.data):this.onError(new Error(\"No data received\"))},t.onerror=r=>{this.onError(this._getErrorFromErrorEvent(r)),this.terminated=!0},t.onmessageerror=r=>console.error(r),t}_createNodeWorker(){let t;if(this.url){let i=this.url.includes(\":/\")||this.url.startsWith(\"/\")?this.url:\"./\".concat(this.url);t=new fy(i,{eval:!1})}else if(this.source)t=new fy(this.source,{eval:!0});else throw new Error(\"no worker\");return t.on(\"message\",r=>{this.onMessage(r)}),t.on(\"error\",r=>{this.onError(r)}),t.on(\"exit\",r=>{}),t}};var K1=class{static isSupported(){return UA.isSupported()}constructor(t){G(this,\"name\",\"unnamed\"),G(this,\"source\",void 0),G(this,\"url\",void 0),G(this,\"maxConcurrency\",1),G(this,\"maxMobileConcurrency\",1),G(this,\"onDebug\",()=>{}),G(this,\"reuseWorkers\",!0),G(this,\"props\",{}),G(this,\"jobQueue\",[]),G(this,\"idleQueue\",[]),G(this,\"count\",0),G(this,\"isDestroyed\",!1),this.source=t.source,this.url=t.url,this.setProps(t)}destroy(){this.idleQueue.forEach(t=>t.destroy()),this.isDestroyed=!0}setProps(t){this.props={...this.props,...t},t.name!==void 0&&(this.name=t.name),t.maxConcurrency!==void 0&&(this.maxConcurrency=t.maxConcurrency),t.maxMobileConcurrency!==void 0&&(this.maxMobileConcurrency=t.maxMobileConcurrency),t.reuseWorkers!==void 0&&(this.reuseWorkers=t.reuseWorkers),t.onDebug!==void 0&&(this.onDebug=t.onDebug)}async startJob(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:(n,o,c)=>n.done(c),i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:(n,o)=>n.error(o),s=new Promise(n=>(this.jobQueue.push({name:t,onMessage:r,onError:i,onStart:n}),this));return this._startQueuedJob(),await s}async _startQueuedJob(){if(!this.jobQueue.length)return;let t=this._getAvailableWorker();if(!t)return;let r=this.jobQueue.shift();if(r){this.onDebug({message:\"Starting job\",name:r.name,workerThread:t,backlog:this.jobQueue.length});let i=new X1(r.name,t);t.onMessage=s=>r.onMessage(i,s.type,s.payload),t.onError=s=>r.onError(i,s),r.onStart(i);try{await i.result}finally{this.returnWorkerToQueue(t)}}}returnWorkerToQueue(t){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(t.destroy(),this.count--):this.idleQueue.push(t),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}},VA=class e{static isSupported(){return UA.isSupported()}static getWorkerFarm(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}constructor(t){G(this,\"props\",void 0),G(this,\"workerPools\",new Map),this.props={...Ort},this.setProps(t),this.workerPools=new Map}destroy(){for(let t of this.workerPools.values())t.destroy();this.workerPools=new Map}setProps(t){this.props={...this.props,...t};for(let r of this.workerPools.values())r.setProps(this._getWorkerPoolProps())}getWorkerPool(t){let{name:r,source:i,url:s}=t,n=this.workerPools.get(r);return n||(n=new K1({name:r,source:i,url:s}),n.setProps(this._getWorkerPoolProps()),this.workerPools.set(r,n)),n}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}};G(VA,\"_workerFarm\",void 0);var Brt=\"latest\";function C4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t[e.id]||{},i=\"\".concat(e.id,\"-worker.js\"),s=r.workerUrl;if(!s&&e.id===\"compression\"&&(s=t.workerUrl),t._workerType===\"test\"&&(s=\"modules/\".concat(e.module,\"/dist/\").concat(i)),!s){let n=e.version;n===\"latest\"&&(n=Brt);let o=n?\"@\".concat(n):\"\";s=\"https://unpkg.com/@loaders.gl/\".concat(e.module).concat(o,\"/dist/\").concat(i)}return Ka(s),s}function L4(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sU;Ka(e,\"no worker provided\");let r=e.version;return!(!t||!r)}function k4(e,t){return!VA.isSupported()||!O0&&!(t!=null&&t._nodeWorkers)?!1:e.worker&&t?.worker}async function R4(e,t,r,i,s){let n=e.id,o=C4(e,r),f=VA.getWorkerFarm(r).getWorkerPool({name:n,url:o});r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{}));let _=await f.startJob(\"process-on-worker\",Frt.bind(null,s));return _.postMessage(\"process\",{input:t,options:r,context:i}),await(await _.result).result}async function Frt(e,t,r,i){switch(r){case\"done\":t.done(i);break;case\"error\":t.error(new Error(i.error));break;case\"process\":let{id:s,input:n,options:o}=i;try{let c=await e(n,o);t.postMessage(\"done\",{id:s,result:c})}catch(c){let f=c instanceof Error?c.message:\"unknown error\";t.postMessage(\"error\",{id:s,error:f})}break;default:console.warn(\"parse-with-worker unknown message \".concat(r))}}function D4(e,t,r){if(r=r||e.byteLength,e.byteLengthc instanceof ArrayBuffer?new Uint8Array(c):c),s=i.reduce((c,f)=>c+f.byteLength,0),n=new Uint8Array(s),o=0;for(let c of i)n.set(c,o),o+=c.byteLength;return n.buffer}async function B4(e){let t=[];for await(let r of e)t.push(r);return O4(...t)}function J1(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var F0=class{constructor(t,r){this.name=void 0,this.type=void 0,this.sampleSize=1,this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this.name=t,this.type=r,this.reset()}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=J1(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(J1()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var dy=class{constructor(t){this.id=void 0,this.stats={},this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t of Object.values(this.stats))t.reset();return this}forEach(t){for(let r of Object.values(this.stats))t(r)}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){let{name:r,type:i}=t,s=this.stats[r];return s||(t instanceof F0?s=t:s=new F0(r,i),this.stats[r]=s),s}};var zrt=\"Queued Requests\",Nrt=\"Active Requests\",Urt=\"Cancelled Requests\",Vrt=\"Queued Requests Ever\",jrt=\"Active Requests Ever\",Grt={id:\"request-scheduler\",throttleRequests:!0,maxRequests:6},py=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};G(this,\"props\",void 0),G(this,\"stats\",void 0),G(this,\"activeRequestCount\",0),G(this,\"requestQueue\",[]),G(this,\"requestMap\",new Map),G(this,\"deferredUpdate\",null),this.props={...Grt,...t},this.stats=new dy({id:this.props.id}),this.stats.get(zrt),this.stats.get(Nrt),this.stats.get(Urt),this.stats.get(Vrt),this.stats.get(jrt)}scheduleRequest(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:()=>0;if(!this.props.throttleRequests)return Promise.resolve({done:()=>{}});if(this.requestMap.has(t))return this.requestMap.get(t);let i={handle:t,priority:0,getPriority:r},s=new Promise(n=>(i.resolve=n,i));return this.requestQueue.push(i),this.requestMap.set(t,s),this._issueNewRequests(),s}_issueRequest(t){let{handle:r,resolve:i}=t,s=!1,n=()=>{s||(s=!0,this.requestMap.delete(r),this.activeRequestCount--,this._issueNewRequests())};return this.activeRequestCount++,i?i({done:n}):Promise.resolve({done:n})}_issueNewRequests(){this.deferredUpdate||(this.deferredUpdate=setTimeout(()=>this._issueNewRequestsAsync(),0))}_issueNewRequestsAsync(){this.deferredUpdate=null;let t=Math.max(this.props.maxRequests-this.activeRequestCount,0);if(t!==0){this._updateAllRequests();for(let r=0;rr.priority-i.priority)}_updateRequest(t){return t.priority=t.getPriority(t.handle),t.priority<0?(t.resolve(null),!1):!0}};var Wrt=\"\",dU={};function F4(e){for(let t in dU)if(e.startsWith(t)){let r=dU[t];e=e.replace(t,r)}return!e.startsWith(\"http://\")&&!e.startsWith(\"https://\")&&(e=\"\".concat(Wrt).concat(e)),e}function pU(e){return e&&typeof e==\"object\"&&e.isBuffer}function GM(e){if(pU(e))return e;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if(typeof e==\"string\"){let t=e;return new TextEncoder().encode(t).buffer}if(e&&typeof e==\"object\"&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error(\"toArrayBuffer\")}var z0={};mA(z0,{dirname:()=>qrt,filename:()=>Hrt,join:()=>Zrt,resolve:()=>Yrt});function AU(){var e;if(typeof process<\"u\"&&typeof process.cwd<\"u\")return process.cwd();let t=(e=window.location)===null||e===void 0?void 0:e.pathname;return t?.slice(0,t.lastIndexOf(\"/\")+1)||\"\"}function Hrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(t+1):\"\"}function qrt(e){let t=e?e.lastIndexOf(\"/\"):-1;return t>=0?e.substr(0,t):\"\"}function Zrt(){for(var e=arguments.length,t=new Array(e),r=0;r(n&&(s=s.replace(new RegExp(\"^\".concat(i)),\"\")),n!==t.length-1&&(s=s.replace(new RegExp(\"\".concat(i,\"$\")),\"\")),s)),t.join(i)}function Yrt(){let e=[];for(let s=0;s=-1&&!r;s--){let n;s>=0?n=e[s]:(i===void 0&&(i=AU()),n=i),n.length!==0&&(t=\"\".concat(n,\"/\").concat(t),r=n.charCodeAt(0)===tb)}return t=Qrt(t,!r),r?\"/\".concat(t):t.length>0?t:\".\"}var tb=47,z4=46;function Qrt(e,t){let r=\"\",i=-1,s=0,n,o=!1;for(let c=0;c<=e.length;++c){if(c2){let f=r.length-1,_=f;for(;_>=0&&r.charCodeAt(_)!==tb;--_);if(_!==f){r=_===-1?\"\":r.slice(0,_),i=c,s=0,o=!1;continue}}else if(r.length===2||r.length===1){r=\"\",i=c,s=0,o=!1;continue}}t&&(r.length>0?r+=\"/..\":r=\"..\",o=!0)}else{let f=e.slice(i+1,c);r.length>0?r+=\"/\".concat(f):r=f,o=!1}i=c,s=0}else n===z4&&s!==-1?++s:s=-1}return r}var $rt=e=>typeof e==\"boolean\",eb=e=>typeof e==\"function\",N0=e=>e!==null&&typeof e==\"object\",N4=e=>N0(e)&&e.constructor==={}.constructor;var mU=e=>e&&typeof e[Symbol.iterator]==\"function\",gU=e=>e&&typeof e[Symbol.asyncIterator]==\"function\";var Cu=e=>typeof Response<\"u\"&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json;var Lu=e=>typeof Blob<\"u\"&&e instanceof Blob,_U=e=>e&&typeof e==\"object\"&&e.isBuffer;var Xrt=e=>typeof ReadableStream<\"u\"&&e instanceof ReadableStream||N0(e)&&eb(e.tee)&&eb(e.cancel)&&eb(e.getReader);var Krt=e=>N0(e)&&eb(e.read)&&eb(e.pipe)&&$rt(e.readable),WM=e=>Xrt(e)||Krt(e);var Jrt=/^data:([-\\w.]+\\/[-\\w.+]+)(;|,)/,tit=/^([-\\w.]+\\/[-\\w.+]+)/;function yU(e){let t=tit.exec(e);return t?t[1]:e}function U4(e){let t=Jrt.exec(e);return t?t[1]:\"\"}var vU=/\\?.*/;function xU(e){let t=e.match(vU);return t&&t[0]}function Ay(e){return e.replace(vU,\"\")}function U0(e){return Cu(e)?e.url:Lu(e)?e.name||\"\":typeof e==\"string\"?e:\"\"}function rb(e){if(Cu(e)){let t=e,r=t.headers.get(\"content-type\")||\"\",i=Ay(t.url);return yU(r)||U4(i)}return Lu(e)?e.type||\"\":typeof e==\"string\"?U4(e):\"\"}function bU(e){return Cu(e)?e.headers[\"content-length\"]||-1:Lu(e)?e.size:typeof e==\"string\"?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}async function HM(e){if(Cu(e))return e;let t={},r=bU(e);r>=0&&(t[\"content-length\"]=String(r));let i=U0(e),s=rb(e);s&&(t[\"content-type\"]=s);let n=await rit(e);n&&(t[\"x-first-bytes\"]=n),typeof e==\"string\"&&(e=new TextEncoder().encode(e));let o=new Response(e,{headers:t});return Object.defineProperty(o,\"url\",{value:i}),o}async function wU(e){if(!e.ok){let t=await eit(e);throw new Error(t)}}async function eit(e){let t=\"Failed to fetch resource \".concat(e.url,\" (\").concat(e.status,\"): \");try{let r=e.headers.get(\"Content-Type\"),i=e.statusText;r.includes(\"application/json\")&&(i+=\" \".concat(await e.text())),t+=i,t=t.length>60?\"\".concat(t.slice(0,60),\"...\"):t}catch{}return t}async function rit(e){if(typeof e==\"string\")return\"data:,\".concat(e.slice(0,5));if(e instanceof Blob){let r=e.slice(0,5);return await new Promise(i=>{let s=new FileReader;s.onload=n=>{var o;return i(n==null||(o=n.target)===null||o===void 0?void 0:o.result)},s.readAsDataURL(r)})}if(e instanceof ArrayBuffer){let r=e.slice(0,5),i=iit(r);return\"data:base64,\".concat(i)}return null}function iit(e){let t=\"\",r=new Uint8Array(e);for(let i=0;i=0)}function Rh(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||j4()}var nit=globalThis.self||globalThis.window||globalThis.global,my=globalThis.window||globalThis.self||globalThis.global,sit=globalThis.document||{},V0=globalThis.process||{},oit=globalThis.console,qSt=globalThis.navigator||{};var qM=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",QSt=Rh();function ait(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var ZM=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";this.storage=void 0,this.id=void 0,this.config=void 0,this.storage=ait(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function SU(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function TU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function YM(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var QM;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(QM||(QM={}));var lit=10;function MU(e){return typeof e!=\"string\"?e:(e=e.toUpperCase(),QM[e]||QM.WHITE)}function EU(e,t,r){if(!Rh&&typeof e==\"string\"){if(t){let i=MU(t);e=\"\\x1B[\".concat(i,\"m\").concat(e,\"\\x1B[39m\")}if(r){let i=MU(r);e=\"\\x1B[\".concat(i+lit,\"m\").concat(e,\"\\x1B[49m\")}}return e}function PU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),s=e;for(let n of i){let o=s[n];typeof o==\"function\"&&(t.find(c=>n===c)||(s[n]=o.bind(e)))}}function gy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function j0(){let e;if(Rh()&&my.performance){var t,r;e=my===null||my===void 0||(t=my.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in V0){var i;let s=V0===null||V0===void 0||(i=V0.hrtime)===null||i===void 0?void 0:i.call(V0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var _y={debug:Rh()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},cit={enabled:!0,level:0};function ku(){}var IU={},CU={once:!0},Nf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};this.id=void 0,this.VERSION=qM,this._startTs=j0(),this._deltaTs=j0(),this._storage=void 0,this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new ZM(\"__probe-\".concat(this.id,\"__\"),cit),this.timeStamp(\"\".concat(this.id,\" started\")),PU(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((j0()-this._startTs).toPrecision(10))}getDelta(){return Number((j0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){gy(t,r)}warn(t){return this._getLogFunction(0,t,_y.warn,arguments,CU)}error(t){return this._getLogFunction(0,t,_y.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,_y.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,_y.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){return this._getLogFunction(t,r,_y.debug||_y.info,arguments,CU)}table(t,r,i){return r?this._getLogFunction(t,r,console.table||ku,i&&[i],{tag:dit(r)}):ku}image(t){let{logLevel:r,priority:i,image:s,message:n=\"\",scale:o=1}=t;return this._shouldLog(r||i)?Rh()?fit({image:s,message:n,scale:o}):hit({image:s,message:n,scale:o}):ku}time(t,r){return this._getLogFunction(t,r,console.time?console.time:console.info)}timeEnd(t,r){return this._getLogFunction(t,r,console.timeEnd?console.timeEnd:console.info)}timeStamp(t,r){return this._getLogFunction(t,r,console.timeStamp||ku)}group(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=LU({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||ku)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=kU(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=LU({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,gy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=j0();let o=n.tag||n.message;if(n.once&&o)if(!IU[o])IU[o]=j0();else return ku;return r=uit(this.id,n.message,n),i.bind(console,r,...n.args)}return ku}};Nf.VERSION=qM;function kU(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return gy(Number.isFinite(t)&&t>=0),t}function LU(e){let{logLevel:t,message:r}=e;e.logLevel=kU(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return gy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function uit(e,t,r){if(typeof t==\"string\"){let i=r.time?TU(SU(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=EU(t,r.color,r.background)}return t}function hit(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),ku}function fit(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=YM(n,r,i);console.log(...o)},n.src=t,ku}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...YM(t,r,i)),ku;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...YM(n,r,i)),n.src=t.toDataURL(),ku}return ku}function dit(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var vTt=new Nf({id:\"@probe.gl/log\"});var G4=new Nf({id:\"loaders.gl\"}),$M=class{log(){return()=>{}}info(){return()=>{}}warn(){return()=>{}}error(){return()=>{}}},XM=class{constructor(){G(this,\"console\",void 0),this.console=console}log(){for(var t=arguments.length,r=new Array(t),i=0;i{let e=H4();return e.globalOptions=e.globalOptions||{...W4},e.globalOptions};function BU(e,t,r,i){return r=r||[],r=Array.isArray(r)?r:[r],pit(e,r),mit(t,e,i)}function pit(e,t){DU(e,null,W4,RU,t);for(let r of t){let i=e&&e[r.id]||{},s=r.options&&r.options[r.id]||{},n=r.deprecatedOptions&&r.deprecatedOptions[r.id]||{};DU(i,r.id,s,n,t)}}function DU(e,t,r,i,s){let n=t||\"Top level\",o=t?\"\".concat(t,\".\"):\"\";for(let c in e){let f=!t&&N0(e[c]),_=c===\"baseUri\"&&!t,w=c===\"workerUrl\"&&t;if(!(c in r)&&!_&&!w){if(c in i)G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' no longer supported, use '\").concat(i[c],\"'\"))();else if(!f){let I=Ait(c,s);G4.warn(\"\".concat(n,\" loader option '\").concat(o).concat(c,\"' not recognized. \").concat(I))()}}}}function Ait(e,t){let r=e.toLowerCase(),i=\"\";for(let s of t)for(let n in s.options){if(e===n)return\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\");let o=n.toLowerCase();(r.startsWith(o)||o.startsWith(r))&&(i=i||\"Did you mean '\".concat(s.id,\".\").concat(n,\"'?\"))}return i}function mit(e,t,r){let s={...e.options||{}};return git(s,r),s.log===null&&(s.log=new $M),OU(s,q4()),OU(s,t),s}function OU(e,t){for(let r in t)if(r in t){let i=t[r];N4(i)&&N4(e[r])?e[r]={...e[r],...t[r]}:e[r]=t[r]}}function git(e,t){t&&!(\"baseUri\"in e)&&(e.baseUri=t)}function ib(e){var t;return e?(Array.isArray(e)&&(e=e[0]),Array.isArray((t=e)===null||t===void 0?void 0:t.extensions)):!1}function nb(e){var t,r;NA(e,\"null loader\"),NA(ib(e),\"invalid loader\");let i;return Array.isArray(e)&&(i=e[1],e=e[0],e={...e,options:{...e.options,...i}}),((t=e)!==null&&t!==void 0&&t.parseTextSync||(r=e)!==null&&r!==void 0&&r.parseText)&&(e.text=!0),e.text||(e.binary=!0),e}var FU=()=>{let e=H4();return e.loaderRegistry=e.loaderRegistry||[],e.loaderRegistry};function Z4(e){let t=FU();e=Array.isArray(e)?e:[e];for(let r of e){let i=nb(r);t.find(s=>i===s)||t.unshift(i)}}function zU(){return FU()}var NU=new Nf({id:\"loaders.gl\"});var _it=/\\.([^.]+)$/;async function jU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;let s=UU(e,t,{...r,nothrow:!0},i);if(s)return s;if(Lu(e)&&(e=await e.slice(0,10).arrayBuffer(),s=UU(e,t,r,i)),!s&&!(r!=null&&r.nothrow))throw new Error(WU(e));return s}function UU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(!GU(e))return null;if(t&&!Array.isArray(t))return nb(t);let s=[];t&&(s=s.concat(t)),r!=null&&r.ignoreRegisteredLoaders||s.push(...zU()),vit(s);let n=yit(e,s,r,i);if(!n&&!(r!=null&&r.nothrow))throw new Error(WU(e));return n}function yit(e,t,r,i){let s=U0(e),n=rb(e),o=Ay(s)||i?.url,c=null,f=\"\";if(r!=null&&r.mimeType&&(c=Y4(t,r?.mimeType),f=\"match forced by supplied MIME type \".concat(r?.mimeType)),c=c||xit(t,o),f=f||(c?\"matched url \".concat(o):\"\"),c=c||Y4(t,n),f=f||(c?\"matched MIME type \".concat(n):\"\"),c=c||wit(t,e),f=f||(c?\"matched initial data \".concat(HU(e)):\"\"),c=c||Y4(t,r?.fallbackMimeType),f=f||(c?\"matched fallback MIME type \".concat(n):\"\"),f){var _;NU.log(1,\"selectLoader selected \".concat((_=c)===null||_===void 0?void 0:_.name,\": \").concat(f,\".\"))}return c}function GU(e){return!(e instanceof Response&&e.status===204)}function WU(e){let t=U0(e),r=rb(e),i=\"No valid loader found (\";i+=t?\"\".concat(z0.filename(t),\", \"):\"no url provided, \",i+=\"MIME type: \".concat(r?'\"'.concat(r,'\"'):\"not provided\",\", \");let s=e?HU(e):\"\";return i+=s?' first bytes: \"'.concat(s,'\"'):\"first bytes: not available\",i+=\")\",i}function vit(e){for(let t of e)nb(t)}function xit(e,t){let r=t&&_it.exec(t),i=r&&r[1];return i?bit(e,i):null}function bit(e,t){t=t.toLowerCase();for(let r of e)for(let i of r.extensions)if(i.toLowerCase()===t)return r;return null}function Y4(e,t){for(let r of e)if(r.mimeTypes&&r.mimeTypes.includes(t)||t===\"application/x.\".concat(r.id))return r;return null}function wit(e,t){if(!t)return null;for(let r of e)if(typeof t==\"string\"){if(Sit(t,r))return r}else if(ArrayBuffer.isView(t)){if(VU(t.buffer,t.byteOffset,r))return r}else if(t instanceof ArrayBuffer&&VU(t,0,r))return r;return null}function Sit(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some(i=>e.startsWith(i))}function VU(e,t,r){return(Array.isArray(r.tests)?r.tests:[r.tests]).some(s=>Tit(e,t,r,s))}function Tit(e,t,r,i){if(i instanceof ArrayBuffer)return D4(i,e,i.byteLength);switch(typeof i){case\"function\":return i(e,r);case\"string\":let s=Q4(e,t,i.length);return i===s;default:return!1}}function HU(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:5;return typeof e==\"string\"?e.slice(0,t):ArrayBuffer.isView(e)?Q4(e.buffer,e.byteOffset,t):e instanceof ArrayBuffer?Q4(e,0,t):\"\"}function Q4(e,t,r){if(e.byteLength1&&arguments[1]!==void 0?arguments[1]:{};return function*(){let{chunkSize:r=262144}=t,i=0;for(;iV4(s,i):t!=null&&t.fetch?t?.fetch:V4}function KU(e,t,r){if(r)return r;let i={fetch:KM(t,e),...e};if(i.url){let s=Ay(i.url);i.baseUrl=s,i.queryString=xU(i.url),i.filename=z0.filename(s),i.baseUrl=z0.dirname(s)}return Array.isArray(i.loaders)||(i.loaders=null),i}function JU(e,t){if(!t&&e&&!Array.isArray(e))return e;let r;if(e&&(r=Array.isArray(e)?e:[e]),t&&t.loaders){let i=Array.isArray(t.loaders)?t.loaders:[t.loaders];r=r?[...r,...i]:i}return r&&r.length?r:null}async function JM(e,t,r,i){Ka(!i||typeof i==\"object\"),t&&!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0),e=await e,r=r||{};let s=U0(e),o=JU(t,i),c=await jU(e,o,r);return c?(r=BU(r,c,o,s),i=KU({url:s,parse:JM,loaders:o},r,i||null),await Iit(c,e,r,i)):null}async function Iit(e,t,r,i){if(L4(e),Cu(t)){let s=t,{ok:n,redirected:o,status:c,statusText:f,type:_,url:w}=s,I=Object.fromEntries(s.headers.entries());i.response={headers:I,ok:n,redirected:o,status:c,statusText:f,type:_,url:w}}if(t=await XU(t,e,r),e.parseTextSync&&typeof t==\"string\")return r.dataType=\"text\",e.parseTextSync(t,r,i,e);if(k4(e,r))return await R4(e,t,r,i,JM);if(e.parseText&&typeof t==\"string\")return await e.parseText(t,r,i,e);if(e.parse)return await e.parse(t,r,i,e);throw Ka(!e.parseSync),new Error(\"\".concat(e.id,\" loader - no parser found and worker is disabled\"))}async function jA(e,t,r,i){!Array.isArray(t)&&!ib(t)&&(i=void 0,r=t,t=void 0);let s=KM(r),n=e;return typeof e==\"string\"&&(n=await s(e)),Lu(e)&&(n=await s(e)),await JM(n,t,r)}var tV=\"3.4.14\";var{_parseImageNode:Cit}=globalThis,X4=typeof Image<\"u\",K4=typeof ImageBitmap<\"u\",Lit=!!Cit,J4=D0?!0:Lit;function eV(e){switch(e){case\"auto\":return K4||X4||J4;case\"imagebitmap\":return K4;case\"image\":return X4;case\"data\":return J4;default:throw new Error(\"@loaders.gl/images: image \".concat(e,\" not supported in this environment\"))}}function rV(){if(K4)return\"imagebitmap\";if(X4)return\"image\";if(J4)return\"data\";throw new Error(\"Install '@loaders.gl/polyfills' to parse images under Node.js\")}function kit(e){let t=Rit(e);if(!t)throw new Error(\"Not an image\");return t}function iV(e){switch(kit(e)){case\"data\":return e;case\"image\":case\"imagebitmap\":let t=document.createElement(\"canvas\"),r=t.getContext(\"2d\");if(!r)throw new Error(\"getImageData\");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error(\"getImageData\")}}function Rit(e){return typeof ImageBitmap<\"u\"&&e instanceof ImageBitmap?\"imagebitmap\":typeof Image<\"u\"&&e instanceof Image?\"image\":e&&typeof e==\"object\"&&e.data&&e.width&&e.height?\"data\":null}var Dit=/^data:image\\/svg\\+xml/,Oit=/\\.svg((\\?|#).*)?$/;function tE(e){return e&&(Dit.test(e)||Oit.test(e))}function nV(e,t){if(tE(t)){let i=new TextDecoder().decode(e);try{typeof unescape==\"function\"&&typeof encodeURIComponent==\"function\"&&(i=unescape(encodeURIComponent(i)))}catch(n){throw new Error(n.message)}return\"data:image/svg+xml;base64,\".concat(btoa(i))}return tR(e,t)}function tR(e,t){if(tE(t))throw new Error(\"SVG cannot be parsed directly to imagebitmap\");return new Blob([new Uint8Array(e)])}async function eE(e,t,r){let i=nV(e,r),s=self.URL||self.webkitURL,n=typeof i!=\"string\"&&s.createObjectURL(i);try{return await Bit(n||i,t)}finally{n&&s.revokeObjectURL(n)}}async function Bit(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((i,s)=>{try{r.onload=()=>i(r),r.onerror=n=>s(new Error(\"Could not load image \".concat(e,\": \").concat(n)))}catch(n){s(n)}})}var Fit={},sV=!0;async function oV(e,t,r){let i;tE(r)?i=await eE(e,t,r):i=tR(e,r);let s=t&&t.imagebitmap;return await zit(i,s)}async function zit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if((Nit(t)||!sV)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),sV=!1}return await createImageBitmap(e)}function Nit(e){for(let t in e||Fit)return!1;return!0}function aV(e){return!Git(e,\"ftyp\",4)||!(e[8]&96)?null:Uit(e)}function Uit(e){switch(Vit(e,8,12).replace(\"\\0\",\" \").trim()){case\"avif\":case\"avis\":return{extension:\"avif\",mimeType:\"image/avif\"};default:return null}}function Vit(e,t,r){return String.fromCharCode(...e.slice(t,r))}function jit(e){return[...e].map(t=>t.charCodeAt(0))}function Git(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=jit(t);for(let s=0;s=24&&t.getUint32(0,Uf)===2303741511?{mimeType:\"image/png\",width:t.getUint32(16,Uf),height:t.getUint32(20,Uf)}:null}function qit(e){let t=ob(e);return t.byteLength>=10&&t.getUint32(0,Uf)===1195984440?{mimeType:\"image/gif\",width:t.getUint16(6,sb),height:t.getUint16(8,sb)}:null}function Zit(e){let t=ob(e);return t.byteLength>=14&&t.getUint16(0,Uf)===16973&&t.getUint32(2,sb)===t.byteLength?{mimeType:\"image/bmp\",width:t.getUint32(18,sb),height:t.getUint32(22,sb)}:null}function Yit(e){let t=ob(e);if(!(t.byteLength>=3&&t.getUint16(0,Uf)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:i,sofMarkers:s}=Qit(),n=2;for(;n+9!!rE(new DataView(e))],options:Jit};function ab(e){if(typeof window<\"u\"&&typeof window.process==\"object\"&&window.process.type===\"renderer\"||typeof process<\"u\"&&typeof process.versions==\"object\"&&process.versions.electron)return!0;let t=typeof navigator==\"object\"&&typeof navigator.userAgent==\"string\"&&navigator.userAgent,r=e||t;return!!(r&&r.indexOf(\"Electron\")>=0)}function Lo(){return!(typeof process==\"object\"&&String(process)===\"[object process]\"&&!process.browser)||ab()}var GA={self:typeof self<\"u\"&&self,window:typeof window<\"u\"&&window,global:typeof global<\"u\"&&global,document:typeof document<\"u\"&&document,process:typeof process==\"object\"&&process};var tnt=GA.self||GA.window||GA.global,yy=GA.window||GA.self||GA.global,ent=GA.document||{},G0=GA.process||{};var iE=typeof __VERSION__<\"u\"?__VERSION__:\"untranspiled source\",gEt=Lo();var rR=globalThis;function vy(e){if(!e&&!Lo())return\"Node\";if(ab(e))return\"Electron\";let r=e||(typeof navigator<\"u\"?navigator:{}).userAgent||\"\";if(r.indexOf(\"Edge\")>-1)return\"Edge\";let i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s?\"IE\":rR.chrome?\"Chrome\":rR.safari?\"Safari\":rR.mozInnerScreenX?\"Firefox\":\"Unknown\"}function rnt(e){try{let t=window[e],r=\"__storage_test__\";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var nE=class{constructor(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"sessionStorage\";G(this,\"storage\",void 0),G(this,\"id\",void 0),G(this,\"config\",void 0),this.storage=rnt(i),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function uV(e){let t;return e<10?t=\"\".concat(e.toFixed(2),\"ms\"):e<100?t=\"\".concat(e.toFixed(1),\"ms\"):e<1e3?t=\"\".concat(e.toFixed(0),\"ms\"):t=\"\".concat((e/1e3).toFixed(2),\"s\"),t}function hV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:8,r=Math.max(t-e.length,0);return\"\".concat(\" \".repeat(r)).concat(e)}function sE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:600,s=e.src.replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\");e.width>i&&(r=Math.min(r,i/e.width));let n=e.width*r,o=e.height*r,c=[\"font-size:1px;\",\"padding:\".concat(Math.floor(o/2),\"px \").concat(Math.floor(n/2),\"px;\"),\"line-height:\".concat(o,\"px;\"),\"background:url(\".concat(s,\");\"),\"background-size:\".concat(n,\"px \").concat(o,\"px;\"),\"color:transparent;\"].join(\"\");return[\"\".concat(t,\" %c+\"),c]}var oE;(function(e){e[e.BLACK=30]=\"BLACK\",e[e.RED=31]=\"RED\",e[e.GREEN=32]=\"GREEN\",e[e.YELLOW=33]=\"YELLOW\",e[e.BLUE=34]=\"BLUE\",e[e.MAGENTA=35]=\"MAGENTA\",e[e.CYAN=36]=\"CYAN\",e[e.WHITE=37]=\"WHITE\",e[e.BRIGHT_BLACK=90]=\"BRIGHT_BLACK\",e[e.BRIGHT_RED=91]=\"BRIGHT_RED\",e[e.BRIGHT_GREEN=92]=\"BRIGHT_GREEN\",e[e.BRIGHT_YELLOW=93]=\"BRIGHT_YELLOW\",e[e.BRIGHT_BLUE=94]=\"BRIGHT_BLUE\",e[e.BRIGHT_MAGENTA=95]=\"BRIGHT_MAGENTA\",e[e.BRIGHT_CYAN=96]=\"BRIGHT_CYAN\",e[e.BRIGHT_WHITE=97]=\"BRIGHT_WHITE\"})(oE||(oE={}));function fV(e){return typeof e==\"string\"?oE[e.toUpperCase()]||oE.WHITE:e}function dV(e,t,r){return!Lo&&typeof e==\"string\"&&(t&&(t=fV(t),e=\"\\x1B[\".concat(t,\"m\").concat(e,\"\\x1B[39m\")),r&&(t=fV(r),e=\"\\x1B[\".concat(r+10,\"m\").concat(e,\"\\x1B[49m\"))),e}function pV(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[\"constructor\"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r);for(let s of i)typeof e[s]==\"function\"&&(t.find(n=>s===n)||(e[s]=e[s].bind(e)))}function xy(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function W0(){let e;if(Lo&&\"performance\"in yy){var t,r;e=yy===null||yy===void 0||(t=yy.performance)===null||t===void 0||(r=t.now)===null||r===void 0?void 0:r.call(t)}else if(\"hrtime\"in G0){var i;let s=G0===null||G0===void 0||(i=G0.hrtime)===null||i===void 0?void 0:i.call(G0);e=s[0]*1e3+s[1]/1e6}else e=Date.now();return e}var by={debug:Lo&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},int={enabled:!0,level:0};function Ru(){}var AV={},mV={once:!0},Vf=class{constructor(){let{id:t}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{id:\"\"};G(this,\"id\",void 0),G(this,\"VERSION\",iE),G(this,\"_startTs\",W0()),G(this,\"_deltaTs\",W0()),G(this,\"_storage\",void 0),G(this,\"userData\",{}),G(this,\"LOG_THROTTLE_TIMEOUT\",0),this.id=t,this.userData={},this._storage=new nE(\"__probe-\".concat(this.id,\"__\"),int),this.timeStamp(\"\".concat(this.id,\" started\")),pV(this),Object.seal(this)}set level(t){this.setLevel(t)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((W0()-this._startTs).toPrecision(10))}getDelta(){return Number((W0()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return this._storage.setConfiguration({enabled:t}),this}setLevel(t){return this._storage.setConfiguration({level:t}),this}get(t){return this._storage.config[t]}set(t,r){this._storage.setConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){xy(t,r)}warn(t){return this._getLogFunction(0,t,by.warn,arguments,mV)}error(t){return this._getLogFunction(0,t,by.error,arguments)}deprecated(t,r){return this.warn(\"`\".concat(t,\"` is deprecated and will be removed in a later version. Use `\").concat(r,\"` instead\"))}removed(t,r){return this.error(\"`\".concat(t,\"` has been removed. Use `\").concat(r,\"` instead\"))}probe(t,r){return this._getLogFunction(t,r,by.log,arguments,{time:!0,once:!0})}log(t,r){return this._getLogFunction(t,r,by.debug,arguments)}info(t,r){return this._getLogFunction(t,r,console.info,arguments)}once(t,r){for(var i=arguments.length,s=new Array(i>2?i-2:0),n=2;n2&&arguments[2]!==void 0?arguments[2]:{collapsed:!1},s=gV({logLevel:t,message:r,opts:i}),{collapsed:n}=i;return s.method=(n?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.group(t,r,Object.assign({},i,{collapsed:!0}))}groupEnd(t){return this._getLogFunction(t,\"\",console.groupEnd||Ru)}withGroup(t,r,i){this.group(t,r)();try{i()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&this.getLevel()>=_V(t)}_getLogFunction(t,r,i,s,n){if(this._shouldLog(t)){n=gV({logLevel:t,message:r,args:s,opts:n}),i=i||n.method,xy(i),n.total=this.getTotal(),n.delta=this.getDelta(),this._deltaTs=W0();let o=n.tag||n.message;if(n.once)if(!AV[o])AV[o]=W0();else return Ru;return r=nnt(this.id,n.message,n),i.bind(console,r,...n.args)}return Ru}};G(Vf,\"VERSION\",iE);function _V(e){if(!e)return 0;let t;switch(typeof e){case\"number\":t=e;break;case\"object\":t=e.logLevel||e.priority||0;break;default:return 0}return xy(Number.isFinite(t)&&t>=0),t}function gV(e){let{logLevel:t,message:r}=e;e.logLevel=_V(t);let i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==r;);switch(typeof t){case\"string\":case\"function\":r!==void 0&&i.unshift(r),e.message=t;break;case\"object\":Object.assign(e,t);break;default:}typeof e.message==\"function\"&&(e.message=e.message());let s=typeof e.message;return xy(s===\"string\"||s===\"object\"),Object.assign(e,{args:i},e.opts)}function nnt(e,t,r){if(typeof t==\"string\"){let i=r.time?hV(uV(r.total)):\"\";t=r.time?\"\".concat(e,\": \").concat(i,\" \").concat(t):\"\".concat(e,\": \").concat(t),t=dV(t,r.color,r.background)}return t}function snt(e){let{image:t,message:r=\"\",scale:i=1}=e;return console.warn(\"removed\"),Ru}function ont(e){let{image:t,message:r=\"\",scale:i=1}=e;if(typeof t==\"string\"){let n=new Image;return n.onload=()=>{let o=sE(n,r,i);console.log(...o)},n.src=t,Ru}let s=t.nodeName||\"\";if(s.toLowerCase()===\"img\")return console.log(...sE(t,r,i)),Ru;if(s.toLowerCase()===\"canvas\"){let n=new Image;return n.onload=()=>console.log(...sE(n,r,i)),n.src=t.toDataURL(),Ru}return Ru}function ant(e){for(let t in e)for(let r in e[t])return r||\"untitled\";return\"empty\"}var $Et=new Vf({id:\"@probe.gl/log\"});var or=new Vf({id:\"deck\"});var iR={};function yV(e){iR=e}function Ls(e,t,r,i){or.level>0&&iR[e]&&iR[e].call(null,t,r,i)}function lnt(e){let t=e[0],r=e[e.length-1];return t===\"{\"&&r===\"}\"||t===\"[\"&&r===\"]\"}var vV={id:\"JSON\",name:\"JSON\",module:\"\",version:\"\",options:{},extensions:[\"json\",\"geojson\"],mimeTypes:[\"application/json\",\"application/geo+json\"],testText:lnt,parseTextSync:JSON.parse};function cnt(){let e=\"8.9.35\",t=globalThis.deck&&globalThis.deck.VERSION;if(t&&t!==e)throw new Error(\"deck.gl - multiple versions detected: \".concat(t,\" vs \").concat(e));return t||(or.log(1,\"deck.gl \".concat(e))(),globalThis.deck={...globalThis.deck,VERSION:e,version:e,log:or,_registerLoggers:yV},Z4([vV,[eR,{imagebitmap:{premultiplyAlpha:\"none\"}}]])),e}var xV=cnt();var Yr={DEFAULT:-1,LNGLAT:1,METER_OFFSETS:2,LNGLAT_OFFSETS:3,CARTESIAN:0};Object.defineProperty(Yr,\"IDENTITY\",{get:()=>(or.deprecated(\"COORDINATE_SYSTEM.IDENTITY\",\"COORDINATE_SYSTEM.CARTESIAN\")(),0)});var Ja={WEB_MERCATOR:1,GLOBE:2,WEB_MERCATOR_AUTO_OFFSET:4,IDENTITY:0},po={common:0,meters:1,pixels:2},nR={click:{handler:\"onClick\"},panstart:{handler:\"onDragStart\"},panmove:{handler:\"onDrag\"},panend:{handler:\"onDragEnd\"}};var He=new Vf({id:\"luma.gl\"});function Ks(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}var unt=\"Invalid WebGLRenderingContext\";var hnt=\"Requires WebGL2\";function Jd(e){return typeof WebGLRenderingContext<\"u\"&&e instanceof WebGLRenderingContext||typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&Number.isFinite(e._version))}function fr(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function sR(e){return fr(e)?e:null}function tp(e){return Ks(Jd(e),unt),e}function Yn(e){return Ks(fr(e),hnt),e}var lb={};function fnt(e){globalThis.console&&globalThis.console.error&&globalThis.console.error(e)}function dnt(e){globalThis.console&&globalThis.console.log&&globalThis.console.log(e)}function pnt(e,t){lb[e]=!0,t!==void 0&&fnt(t)}function Ant(e){let t=e.getError;e.getError=function(){let i;do i=t.apply(e),i!==0&&(lb[i]=!0);while(i!==0);for(i in lb)if(lb[i])return delete lb[i],parseInt(i,10);return 0}}var cb=function e(t){let r=t.gl;this.ext=t,this.isAlive=!0,this.hasBeenBound=!1,this.elementArrayBuffer=null,this.attribs=new Array(t.maxVertexAttribs);for(let i=0;i{dnt(\"OESVertexArrayObject emulation library context restored\"),r.reset_()},!0),this.reset_()};H0.prototype.VERTEX_ARRAY_BINDING_OES=34229;H0.prototype.reset_=function(){if(this.vertexArrayObjects!==void 0)for(let i=0;ifr(e)?void 0:0,Tnt={3074:e=>fr(e)?void 0:36064,[ynt]:e=>fr(e)?void 0:vnt,35977:Un,32937:Un,[xnt]:(e,t)=>{let r=fr(e)?e.getExtension(gnt):e.getExtension(mnt);return r&&r.GPU_DISJOINT_EXT?t(r.GPU_DISJOINT_EXT):0},[wnt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_VENDOR_WEBGL||7936)},[Snt]:(e,t)=>{let r=e.getExtension(TV);return t(r&&r.UNMASKED_RENDERER_WEBGL||7937)},[bnt]:(e,t)=>{let r=e.luma.extensions[_nt];return r?t(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1},32883:Un,35071:Un,37447:Un,36063:(e,t)=>{if(!fr(e)){let r=e.getExtension(SV);return r?t(r.MAX_COLOR_ATTACHMENTS_WEBGL):0}},35379:Un,35374:Un,35377:Un,34852:e=>{if(!fr(e)){let t=e.getExtension(SV);return t?t.MAX_DRAW_BUFFERS_WEBGL:0}},36203:e=>e.getExtension(wV)?2147483647:65535,33001:e=>e.getExtension(wV)?16777216:65535,33e3:e=>16777216,37157:Un,35373:Un,35657:Un,36183:Un,37137:Un,34045:Un,35978:Un,35979:Un,35968:Un,35376:Un,35375:Un,35659:Un,37154:Un,35371:Un,35658:Un,35076:Un,35077:Un,35380:Un};function MV(e,t,r){let i=Tnt[r],s=typeof i==\"function\"?i(e,t,r):i;return s!==void 0?s:t(r)}var Mnt=\"OES_vertex_array_object\",EV=\"ANGLE_instanced_arrays\",Ent=\"WEBGL_draw_buffers\",Pnt=\"EXT_disjoint_timer_query\",Int=\"EXT_texture_filter_anisotropic\",Cnt=\"VertexArray requires WebGL2 or OES_vertex_array_object extension\";function Lnt(e,t){return{webgl2:fr(e),ext:e.getExtension(t)}}var oR={[Mnt]:{meta:{suffix:\"OES\"},createVertexArray:()=>{Ks(!1,Cnt)},deleteVertexArray:()=>{},bindVertexArray:()=>{},isVertexArray:()=>!1},[EV]:{meta:{suffix:\"ANGLE\"},vertexAttribDivisor(e,t){Ks(t===0,\"WebGL instanced rendering not supported\")},drawElementsInstanced:()=>{},drawArraysInstanced:()=>{}},[Ent]:{meta:{suffix:\"WEBGL\"},drawBuffers:()=>{Ks(!1)}},[Pnt]:{meta:{suffix:\"EXT\"},createQuery:()=>{Ks(!1)},deleteQuery:()=>{Ks(!1)},beginQuery:()=>{Ks(!1)},endQuery:()=>{},getQuery(e,t){return this.getQueryObject(e,t)},getQueryParameter(e,t){return this.getQueryObject(e,t)},getQueryObject:()=>{}}},aE={readBuffer:(e,t,r)=>{fr(e)&&t(r)},getVertexAttrib:(e,t,r,i)=>{let{webgl2:s,ext:n}=Lnt(e,EV),o;switch(i){case 35069:o=s?void 0:!1;break;case 35070:o=!s&&!n?0:void 0;break;default:}return o!==void 0?o:t(r,i)},getProgramParameter:(e,t,r,i)=>{if(!fr(e))switch(i){case 35967:return 35981;case 35971:return 0;case 35382:return 0;default:}return t(r,i)},getInternalformatParameter:(e,t,r,i,s)=>{if(!fr(e))switch(s){case 32937:return new Int32Array([0]);default:}return e.getInternalformatParameter(r,i,s)},getTexParameter(e,t,r,i){switch(i){case 34046:let{extensions:s}=e.luma,n=s[Int];i=n&&n.TEXTURE_MAX_ANISOTROPY_EXT||34046;break;default:}return t(r,i)},getParameter:MV,hint(e,t,r,i){return t(r,i)}};function PV(e){e.luma=e.luma||{};let{luma:t}=e;return t.polyfilled||(bV(e),knt(e),Dnt(e,oR),Rnt(e,{target:t,target2:e}),t.polyfilled=!0),e}globalThis.polyfillContext=PV;function knt(e){e.luma.extensions={};let t=e.getSupportedExtensions()||[];for(let r of t)e.luma[r]=e.getExtension(r)}function Rnt(e,t){let{target:r,target2:i}=t;Object.keys(aE).forEach(s=>{if(typeof aE[s]==\"function\"){let n=e[s]?e[s].bind(e):()=>{},o=aE[s].bind(null,e,n);r[s]=o,i[s]=o}})}function Dnt(e,t){for(let r of Object.getOwnPropertyNames(t))r!==\"overrides\"&&Ont(e,{extension:r,target:e.luma,target2:e})}function Ont(e,t){let{extension:r,target:i,target2:s}=t,n=oR[r];Ks(n);let{meta:o={}}=n,{suffix:c=\"\"}=o,f=e.getExtension(r);for(let _ of Object.keys(n)){let w=\"\".concat(_).concat(c),I=null;_===\"meta\"||typeof e[_]==\"function\"||(f&&typeof f[w]==\"function\"?I=function(){return f[w](...arguments)}:typeof n[_]==\"function\"&&(I=n[_].bind(i))),I&&(i[_]=I,s[_]=I)}}var hb={3042:!1,32773:new Float32Array([0,0,0,0]),32777:32774,34877:32774,32969:1,32968:0,32971:1,32970:0,3106:new Float32Array([0,0,0,0]),3107:[!0,!0,!0,!0],2884:!1,2885:1029,2929:!1,2931:1,2932:513,2928:new Float32Array([0,1]),2930:!0,3024:!0,36006:null,2886:2305,33170:4352,2849:1,32823:!1,32824:0,10752:0,32938:1,32939:!1,3089:!1,3088:new Int32Array([0,0,1024,1024]),2960:!1,2961:0,2968:4294967295,36005:4294967295,2962:519,2967:0,2963:4294967295,34816:519,36003:0,36004:4294967295,2964:7680,2965:7680,2966:7680,34817:7680,34818:7680,34819:7680,2978:[0,0,1024,1024],3333:4,3317:4,37440:!1,37441:!1,37443:37444,35723:4352,36010:null,35977:!1,3330:0,3332:0,3331:0,3314:0,32878:0,3316:0,3315:0,32877:0},WA=(e,t,r)=>t?e.enable(r):e.disable(r),IV=(e,t,r)=>e.hint(r,t),Qc=(e,t,r)=>e.pixelStorei(r,t),Bnt=(e,t)=>{let r=fr(e)?36009:36160;return e.bindFramebuffer(r,t)},Fnt=(e,t)=>e.bindFramebuffer(36008,t);function ub(e){return Array.isArray(e)||ArrayBuffer.isView(e)}var CV={3042:WA,32773:(e,t)=>e.blendColor(...t),32777:\"blendEquation\",34877:\"blendEquation\",32969:\"blendFunc\",32968:\"blendFunc\",32971:\"blendFunc\",32970:\"blendFunc\",3106:(e,t)=>e.clearColor(...t),3107:(e,t)=>e.colorMask(...t),2884:WA,2885:(e,t)=>e.cullFace(t),2929:WA,2931:(e,t)=>e.clearDepth(t),2932:(e,t)=>e.depthFunc(t),2928:(e,t)=>e.depthRange(...t),2930:(e,t)=>e.depthMask(t),3024:WA,35723:IV,36006:Bnt,2886:(e,t)=>e.frontFace(t),33170:IV,2849:(e,t)=>e.lineWidth(t),32823:WA,32824:\"polygonOffset\",10752:\"polygonOffset\",35977:WA,32938:\"sampleCoverage\",32939:\"sampleCoverage\",3089:WA,3088:(e,t)=>e.scissor(...t),2960:WA,2961:(e,t)=>e.clearStencil(t),2968:(e,t)=>e.stencilMaskSeparate(1028,t),36005:(e,t)=>e.stencilMaskSeparate(1029,t),2962:\"stencilFuncFront\",2967:\"stencilFuncFront\",2963:\"stencilFuncFront\",34816:\"stencilFuncBack\",36003:\"stencilFuncBack\",36004:\"stencilFuncBack\",2964:\"stencilOpFront\",2965:\"stencilOpFront\",2966:\"stencilOpFront\",34817:\"stencilOpBack\",34818:\"stencilOpBack\",34819:\"stencilOpBack\",2978:(e,t)=>e.viewport(...t),3333:Qc,3317:Qc,37440:Qc,37441:Qc,37443:Qc,3330:Qc,3332:Qc,3331:Qc,36010:Fnt,3314:Qc,32878:Qc,3316:Qc,3315:Qc,32877:Qc,framebuffer:(e,t)=>{let r=t&&\"handle\"in t?t.handle:t;return e.bindFramebuffer(36160,r)},blend:(e,t)=>t?e.enable(3042):e.disable(3042),blendColor:(e,t)=>e.blendColor(...t),blendEquation:(e,t)=>{t=ub(t)?t:[t,t],e.blendEquationSeparate(...t)},blendFunc:(e,t)=>{t=ub(t)&&t.length===2?[...t,...t]:t,e.blendFuncSeparate(...t)},clearColor:(e,t)=>e.clearColor(...t),clearDepth:(e,t)=>e.clearDepth(t),clearStencil:(e,t)=>e.clearStencil(t),colorMask:(e,t)=>e.colorMask(...t),cull:(e,t)=>t?e.enable(2884):e.disable(2884),cullFace:(e,t)=>e.cullFace(t),depthTest:(e,t)=>t?e.enable(2929):e.disable(2929),depthFunc:(e,t)=>e.depthFunc(t),depthMask:(e,t)=>e.depthMask(t),depthRange:(e,t)=>e.depthRange(...t),dither:(e,t)=>t?e.enable(3024):e.disable(3024),derivativeHint:(e,t)=>{e.hint(35723,t)},frontFace:(e,t)=>e.frontFace(t),mipmapHint:(e,t)=>e.hint(33170,t),lineWidth:(e,t)=>e.lineWidth(t),polygonOffsetFill:(e,t)=>t?e.enable(32823):e.disable(32823),polygonOffset:(e,t)=>e.polygonOffset(...t),sampleCoverage:(e,t)=>e.sampleCoverage(...t),scissorTest:(e,t)=>t?e.enable(3089):e.disable(3089),scissor:(e,t)=>e.scissor(...t),stencilTest:(e,t)=>t?e.enable(2960):e.disable(2960),stencilMask:(e,t)=>{t=ub(t)?t:[t,t];let[r,i]=t;e.stencilMaskSeparate(1028,r),e.stencilMaskSeparate(1029,i)},stencilFunc:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilFuncSeparate(1028,r,i,s),e.stencilFuncSeparate(1029,n,o,c)},stencilOp:(e,t)=>{t=ub(t)&&t.length===3?[...t,...t]:t;let[r,i,s,n,o,c]=t;e.stencilOpSeparate(1028,r,i,s),e.stencilOpSeparate(1029,n,o,c)},viewport:(e,t)=>e.viewport(...t)};function ks(e,t,r){return t[e]!==void 0?t[e]:r[e]}var LV={blendEquation:(e,t,r)=>e.blendEquationSeparate(ks(32777,t,r),ks(34877,t,r)),blendFunc:(e,t,r)=>e.blendFuncSeparate(ks(32969,t,r),ks(32968,t,r),ks(32971,t,r),ks(32970,t,r)),polygonOffset:(e,t,r)=>e.polygonOffset(ks(32824,t,r),ks(10752,t,r)),sampleCoverage:(e,t,r)=>e.sampleCoverage(ks(32938,t,r),ks(32939,t,r)),stencilFuncFront:(e,t,r)=>e.stencilFuncSeparate(1028,ks(2962,t,r),ks(2967,t,r),ks(2963,t,r)),stencilFuncBack:(e,t,r)=>e.stencilFuncSeparate(1029,ks(34816,t,r),ks(36003,t,r),ks(36004,t,r)),stencilOpFront:(e,t,r)=>e.stencilOpSeparate(1028,ks(2964,t,r),ks(2965,t,r),ks(2966,t,r)),stencilOpBack:(e,t,r)=>e.stencilOpSeparate(1029,ks(34817,t,r),ks(34818,t,r),ks(34819,t,r))},aR={enable:(e,t)=>e({[t]:!0}),disable:(e,t)=>e({[t]:!1}),pixelStorei:(e,t,r)=>e({[t]:r}),hint:(e,t,r)=>e({[t]:r}),bindFramebuffer:(e,t,r)=>{switch(t){case 36160:return e({36006:r,36010:r});case 36009:return e({36006:r});case 36008:return e({36010:r});default:return null}},blendColor:(e,t,r,i,s)=>e({32773:new Float32Array([t,r,i,s])}),blendEquation:(e,t)=>e({32777:t,34877:t}),blendEquationSeparate:(e,t,r)=>e({32777:t,34877:r}),blendFunc:(e,t,r)=>e({32969:t,32968:r,32971:t,32970:r}),blendFuncSeparate:(e,t,r,i,s)=>e({32969:t,32968:r,32971:i,32970:s}),clearColor:(e,t,r,i,s)=>e({3106:new Float32Array([t,r,i,s])}),clearDepth:(e,t)=>e({2931:t}),clearStencil:(e,t)=>e({2961:t}),colorMask:(e,t,r,i,s)=>e({3107:[t,r,i,s]}),cullFace:(e,t)=>e({2885:t}),depthFunc:(e,t)=>e({2932:t}),depthRange:(e,t,r)=>e({2928:new Float32Array([t,r])}),depthMask:(e,t)=>e({2930:t}),frontFace:(e,t)=>e({2886:t}),lineWidth:(e,t)=>e({2849:t}),polygonOffset:(e,t,r)=>e({32824:t,10752:r}),sampleCoverage:(e,t,r)=>e({32938:t,32939:r}),scissor:(e,t,r,i,s)=>e({3088:new Int32Array([t,r,i,s])}),stencilMask:(e,t)=>e({2968:t,36005:t}),stencilMaskSeparate:(e,t,r)=>e({[t===1028?2968:36005]:r}),stencilFunc:(e,t,r,i)=>e({2962:t,2967:r,2963:i,34816:t,36003:r,36004:i}),stencilFuncSeparate:(e,t,r,i,s)=>e({[t===1028?2962:34816]:r,[t===1028?2967:36003]:i,[t===1028?2963:36004]:s}),stencilOp:(e,t,r,i)=>e({2964:t,2965:r,2966:i,34817:t,34818:r,34819:i}),stencilOpSeparate:(e,t,r,i,s)=>e({[t===1028?2964:34817]:r,[t===1028?2965:34818]:i,[t===1028?2966:34819]:s}),viewport:(e,t,r,i,s)=>e({2978:[t,r,i,s]})},jf=(e,t)=>e.isEnabled(t),lR={3042:jf,2884:jf,2929:jf,3024:jf,32823:jf,32926:jf,32928:jf,3089:jf,2960:jf,35977:jf};function cR(e){for(let t in e)return!1;return!0}function kV(e,t){if(e===t)return!0;let r=Array.isArray(e)||ArrayBuffer.isView(e),i=Array.isArray(t)||ArrayBuffer.isView(t);if(r&&i&&e.length===t.length){for(let s=0;s{}}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.program=null,this.stateStack=[],this.enable=!0,this.cache=r?wy(t):Object.assign({},hb),this.log=i,this._updateCache=this._updateCache.bind(this),Object.seal(this)}push(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.stateStack.push({})}pop(){Ks(this.stateStack.length>0);let t=this.stateStack[this.stateStack.length-1];Ml(this.gl,t),this.stateStack.pop()}_updateCache(t){let r=!1,i,s=this.stateStack.length>0&&this.stateStack[this.stateStack.length-1];for(let n in t){Ks(n!==void 0);let o=t[n],c=this.cache[n];kV(o,c)||(r=!0,i=c,s&&!(n in s)&&(s[n]=c),this.cache[n]=o)}return{valueChanged:r,oldValue:i}}};function lE(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{enable:r=!0,copyState:i}=t;if(Ks(i!==void 0),!e.state){let{polyfillContext:s}=globalThis;s&&s(e),e.state=new uR(e,{copyState:i}),Nnt(e);for(let n in aR){let o=aR[n];znt(e,n,o)}RV(e,\"getParameter\"),RV(e,\"isEnabled\")}return e.state.enable=r,e}function hR(e){e.state||lE(e,{copyState:!1}),e.state.push()}function cE(e){Ks(e.state),e.state.pop()}function Ml(e,t){if(Ks(Jd(e),\"setParameters requires a WebGL context\"),cR(t))return;let r={};for(let s in t){let n=Number(s),o=CV[s];o&&(typeof o==\"string\"?r[o]=!0:o(e,t[s],n))}let i=e.state&&e.state.cache;if(i)for(let s in r){let n=LV[s];n(e,t,i)}}function wy(e,t){if(t=t||hb,typeof t==\"number\"){let s=t,n=lR[s];return n?n(e,s):e.getParameter(s)}let r=Array.isArray(t)?t:Object.keys(t),i={};for(let s of r){let n=lR[s];i[s]=n?n(e,Number(s)):e.getParameter(Number(s))}return i}function uE(e){Ml(e,hb)}function Mn(e,t,r){if(cR(t))return r(e);let{nocatch:i=!0}=t;hR(e),Ml(e,t);let s;if(i)s=r(e),cE(e);else try{s=r(e)}finally{cE(e)}return s}function El(e){let{luma:t}=e;if(e.canvas&&t){let r=t.canvasSizeInfo,i=\"clientWidth\"in r?r.clientWidth:e.canvas.clientWidth;return i?e.drawingBufferWidth/i:1}return 1}function Sy(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=El(e),s=e.drawingBufferWidth,n=e.drawingBufferHeight;return Unt(t,i,s,n,r)}function BV(e){let t=typeof window>\"u\"?1:window.devicePixelRatio||1;return Number.isFinite(e)?e<=0?1:e:e?t:1}function Unt(e,t,r,i,s){let n=DV(e[0],t,r),o=OV(e[1],t,i,s),c=DV(e[0]+1,t,r),f=c===r-1?c:c-1;c=OV(e[1]+1,t,i,s);let _;return s?(c=c===0?c:c+1,_=o,o=c):_=c===i-1?c:c-1,{x:n,y:o,width:Math.max(f-n+1,1),height:Math.max(_-o+1,1)}}function DV(e,t,r){return Math.min(Math.round(e*t),r-1)}function OV(e,t,r,i){return i?Math.max(0,r-1-Math.round(e*t)):Math.min(Math.round(e*t),r-1)}var fR=Lo(),Vnt=fR&&typeof document<\"u\",FV={webgl2:!0,webgl1:!0,throwOnError:!0,manageState:!0,canvas:null,debug:!1,width:800,height:600};function Ty(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ks(fR,`createGLContext only available in the browser.\nCreate your own headless context or use 'createHeadlessContext' from @luma.gl/test-utils`),e=Object.assign({},FV,e);let{width:t,height:r}=e;function i(c){if(e.throwOnError)throw new Error(c);return console.error(c),null}e.onError=i;let s,{canvas:n}=e,o=Gnt({canvas:n,width:t,height:r,onError:i});return s=jnt(o,e),s?(s=q0(s,e),Wnt(s),s):null}function q0(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!e||e._instrumented)return e;e._version=e._version||Hnt(e),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{},t=Object.assign({},FV,t);let{manageState:r,debug:i}=t;return r&&lE(e,{copyState:!1,log:function(){for(var s=arguments.length,n=new Array(s),o=0;o1&&arguments[1]!==void 0?arguments[1]:{};if(e.canvas){let i=BV(t.useDevicePixels);qnt(e,i,t);return}let r=e.getExtension(\"STACKGL_resize_drawingbuffer\");r&&\"width\"in t&&\"height\"in t&&r.resize(t.width,t.height)}function jnt(e,t){let{onError:r}=t,i=null,s=f=>i=f.statusMessage||i;e.addEventListener(\"webglcontextcreationerror\",s,!1);let{webgl1:n=!0,webgl2:o=!0}=t,c=null;return o&&(c=c||e.getContext(\"webgl2\",t),c=c||e.getContext(\"experimental-webgl2\",t)),n&&(c=c||e.getContext(\"webgl\",t),c=c||e.getContext(\"experimental-webgl\",t)),e.removeEventListener(\"webglcontextcreationerror\",s,!1),c?(t.onContextLost&&e.addEventListener(\"webglcontextlost\",t.onContextLost,!1),t.onContextRestored&&e.addEventListener(\"webglcontextrestored\",t.onContextRestored,!1),c):r(\"Failed to create \".concat(o&&!n?\"WebGL2\":\"WebGL\",\" context: \").concat(i||\"Unknown error\"))}function Gnt(e){let{canvas:t,width:r=800,height:i=600,onError:s}=e,n;return typeof t==\"string\"?(Vnt&&document.readyState===\"complete\"||s(\"createGLContext called on canvas '\".concat(t,\"' before page was loaded\")),n=document.getElementById(t)):t?n=t:(n=document.createElement(\"canvas\"),n.id=\"lumagl-canvas\",n.style.width=Number.isFinite(r)?\"\".concat(r,\"px\"):\"100%\",n.style.height=Number.isFinite(i)?\"\".concat(i,\"px\"):\"100%\",document.body.insertBefore(n,document.body.firstChild)),n}function Wnt(e){let t=fr(e)?\"WebGL2\":\"WebGL1\",r=zV(e),i=r?\"(\".concat(r.vendor,\",\").concat(r.renderer,\")\"):\"\",s=e.debug?\" debug\":\"\";He.info(1,\"\".concat(t).concat(s,\" context \").concat(i))()}function Hnt(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?2:1}function qnt(e,t,r){let i=\"width\"in r?r.width:e.canvas.clientWidth,s=\"height\"in r?r.height:e.canvas.clientHeight;(!i||!s)&&(He.log(1,\"Canvas clientWidth/clientHeight is 0\")(),t=1,i=e.canvas.width||1,s=e.canvas.height||1),e.luma=e.luma||{},e.luma.canvasSizeInfo=e.luma.canvasSizeInfo||{};let n=e.luma.canvasSizeInfo;if(n.clientWidth!==i||n.clientHeight!==s||n.devicePixelRatio!==t){let o=t,c=Math.floor(i*o),f=Math.floor(s*o);e.canvas.width=c,e.canvas.height=f,(e.drawingBufferWidth!==c||e.drawingBufferHeight!==f)&&(He.warn(\"Device pixel ratio clamped\")(),o=Math.min(e.drawingBufferWidth/i,e.drawingBufferHeight/s),e.canvas.width=Math.floor(i*o),e.canvas.height=Math.floor(s*o)),Object.assign(e.luma.canvasSizeInfo,{clientWidth:i,clientHeight:s,devicePixelRatio:t})}}function fb(){let e;if(typeof window<\"u\"&&window.performance)e=window.performance.now();else if(typeof process<\"u\"&&process.hrtime){let t=process.hrtime();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Z0=class{constructor(t,r){G(this,\"name\",void 0),G(this,\"type\",void 0),G(this,\"sampleSize\",1),G(this,\"time\",void 0),G(this,\"count\",void 0),G(this,\"samples\",void 0),G(this,\"lastTiming\",void 0),G(this,\"lastSampleTime\",void 0),G(this,\"lastSampleCount\",void 0),G(this,\"_count\",0),G(this,\"_time\",0),G(this,\"_samples\",0),G(this,\"_startTime\",0),G(this,\"_timerPending\",!1),this.name=t,this.type=r,this.reset()}setSampleSize(t){return this.sampleSize=t,this}incrementCount(){return this.addCount(1),this}decrementCount(){return this.subtractCount(1),this}addCount(t){return this._count+=t,this._samples++,this._checkSampling(),this}subtractCount(t){return this._count-=t,this._samples++,this._checkSampling(),this}addTime(t){return this._time+=t,this.lastTiming=t,this._samples++,this._checkSampling(),this}timeStart(){return this._startTime=fb(),this._timerPending=!0,this}timeEnd(){return this._timerPending?(this.addTime(fb()-this._startTime),this._timerPending=!1,this._checkSampling(),this):this}getSampleAverageCount(){return this.sampleSize>0?this.lastSampleCount/this.sampleSize:0}getSampleAverageTime(){return this.sampleSize>0?this.lastSampleTime/this.sampleSize:0}getSampleHz(){return this.lastSampleTime>0?this.sampleSize/(this.lastSampleTime/1e3):0}getAverageCount(){return this.samples>0?this.count/this.samples:0}getAverageTime(){return this.samples>0?this.time/this.samples:0}getHz(){return this.time>0?this.samples/(this.time/1e3):0}reset(){return this.time=0,this.count=0,this.samples=0,this.lastTiming=0,this.lastSampleTime=0,this.lastSampleCount=0,this._count=0,this._time=0,this._samples=0,this._startTime=0,this._timerPending=!1,this}_checkSampling(){this._samples===this.sampleSize&&(this.lastSampleTime=this._time,this.lastSampleCount=this._count,this.count+=this._count,this.time+=this._time,this.samples+=this._samples,this._time=0,this._count=0,this._samples=0)}};var Gf=class{constructor(t){G(this,\"id\",void 0),G(this,\"stats\",{}),this.id=t.id,this.stats={},this._initializeStats(t.stats),Object.seal(this)}get(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"count\";return this._getOrCreate({name:t,type:r})}get size(){return Object.keys(this.stats).length}reset(){for(let t in this.stats)this.stats[t].reset();return this}forEach(t){for(let r in this.stats)t(this.stats[r])}getTable(){let t={};return this.forEach(r=>{t[r.name]={time:r.time||0,count:r.count||0,average:r.getAverageTime()||0,hz:r.getHz()||0}}),t}_initializeStats(){(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).forEach(r=>this._getOrCreate(r))}_getOrCreate(t){if(!t||!t.name)return null;let{name:r,type:i}=t;return this.stats[r]||(t instanceof Z0?this.stats[r]=t:this.stats[r]=new Z0(r,i)),this.stats[r]}};var db=\"8.5.21\",Znt=\"set luma.log.level=1 (or higher) to trace rendering\",pR=class{constructor(){this.stats=new Map}get(t){return this.stats.has(t)||this.stats.set(t,new Gf({id:t})),this.stats.get(t)}},Du=new pR;if(globalThis.luma&&globalThis.luma.VERSION!==db)throw new Error(\"luma.gl - multiple VERSIONs detected: \".concat(globalThis.luma.VERSION,\" vs \").concat(db));globalThis.luma||(Lo()&&He.log(1,\"luma.gl \".concat(db,\" - \").concat(Znt))(),globalThis.luma=globalThis.luma||{VERSION:db,version:db,log:He,stats:Du,globals:{modules:{},nodeIO:{}}});var _3t=globalThis.luma;function AR(e){return typeof window<\"u\"&&window.requestAnimationFrame?window.requestAnimationFrame(e):setTimeout(e,1e3/60)}function mR(e){return typeof window<\"u\"&&window.cancelAnimationFrame?window.cancelAnimationFrame(e):clearTimeout(e)}function ye(e,t){if(!e)throw new Error(t||\"luma.gl: assertion failed.\")}function hE(e,t){if(typeof t!=\"string\")return t;let r=Number(t);if(!isNaN(r))return r;t=t.replace(/^.*\\./,\"\");let i=e[t];return ye(i!==void 0,\"Accessing undefined constant GL.\".concat(t)),i}function Ou(e,t){t=Number(t);for(let r in e)if(e[r]===t)return\"GL.\".concat(r);return String(t)}var gR={};function ta(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:\"id\";gR[e]=gR[e]||1;let t=gR[e]++;return\"\".concat(e,\"-\").concat(t)}function _R(e){return ye(typeof e==\"number\",\"Input must be a number\"),e&&(e&e-1)===0}function Wf(e){let t=!0;for(let r in e){t=!1;break}return t}function fE(e,t,r,i){let s=\"See luma.gl \".concat(r,\" Upgrade Guide at https://luma.gl/docs/upgrade-guide\"),n=Object.getPrototypeOf(e);i.forEach(o=>{n.methodName||(n[o]=()=>{throw He.removed(\"Calling removed method \".concat(t,\".\").concat(o,\": \"),s)(),new Error(o)})})}var My=\"Resource subclass must define virtual methods\",Js=class{get[Symbol.toStringTag](){return\"Resource\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t);let{id:i,userData:s={}}=r;this.gl=t,this.gl2=t,this.id=i||ta(this[Symbol.toStringTag]),this.userData=s,this._bound=!1,this._handle=r.handle,this._handle===void 0&&(this._handle=this._createHandle()),this.byteLength=0,this._addStats()}toString(){return\"\".concat(this[Symbol.toStringTag]||this.constructor.name,\"(\").concat(this.id,\")\")}get handle(){return this._handle}delete(){let{deleteChildren:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._handle&&this._deleteHandle(this._handle);return this._handle&&this._removeStats(),this._handle=null,r&&t&&r.filter(Boolean).forEach(i=>i.delete()),this}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.handle;if(typeof t!=\"function\")return this._bindHandle(t),this;let r;return this._bound?r=t():(this._bindHandle(this.handle),this._bound=!0,r=t(),this._bound=!1,this._bindHandle(null)),r}unbind(){this.bind(null)}getParameter(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension)))){let c=s.webgl1,f=\"webgl2\"in s?s.webgl2:s.webgl1;return n?f:c}}return this._getParameter(t,r)}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{parameters:r,keys:i}=t,s=this.constructor.PARAMETERS||{},n=fr(this.gl),o={},c=r||Object.keys(s);for(let f of c){let _=s[f];if(_&&(!(\"webgl2\"in _)||n)&&(!(\"extension\"in _)||this.gl.getExtension(_.extension))){let I=i?Ou(this.gl,f):f;o[I]=this.getParameter(f,t),i&&_.type===\"GLenum\"&&(o[I]=Ou(this.gl,o[I]))}}return o}setParameter(t,r){t=hE(this.gl,t),ye(t);let s=(this.constructor.PARAMETERS||{})[t];if(s){let n=fr(this.gl);if(!((!(\"webgl2\"in s)||n)&&(!(\"extension\"in s)||this.gl.getExtension(s.extension))))throw new Error(\"Parameter not available on this platform\");s.type===\"GLenum\"&&(r=hE(r))}return this._setParameter(t,r),this}setParameters(t){for(let r in t)this.setParameter(r,t[r]);return this}stubRemovedMethods(t,r,i){return fE(this,t,r,i)}initialize(t){}_createHandle(){throw new Error(My)}_deleteHandle(){throw new Error(My)}_bindHandle(t){throw new Error(My)}_getOptsFromHandle(){throw new Error(My)}_getParameter(t,r){throw new Error(My)}_setParameter(t,r){throw new Error(My)}_context(){return this.gl.luma=this.gl.luma||{},this.gl.luma}_addStats(){let t=this[Symbol.toStringTag],r=Du.get(\"Resource Counts\");r.get(\"Resources Created\").incrementCount(),r.get(\"\".concat(t,\"s Created\")).incrementCount(),r.get(\"\".concat(t,\"s Active\")).incrementCount()}_removeStats(){let t=this[Symbol.toStringTag];Du.get(\"Resource Counts\").get(\"\".concat(t,\"s Active\")).decrementCount()}_trackAllocatedMemory(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag];this._trackAllocatedMemoryForContext(t,r),this._trackAllocatedMemoryForContext(t,r,this.gl.canvas&&this.gl.canvas.id),this.byteLength=t}_trackAllocatedMemoryForContext(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this[Symbol.toStringTag],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"\",s=Du.get(\"Memory Usage\".concat(i));s.get(\"GPU Memory\").addCount(t),s.get(\"\".concat(r,\" Memory\")).addCount(t)}_trackDeallocatedMemory(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag];this._trackDeallocatedMemoryForContext(t),this._trackDeallocatedMemoryForContext(t,this.gl.canvas&&this.gl.canvas.id),this.byteLength=0}_trackDeallocatedMemoryForContext(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this[Symbol.toStringTag],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\",i=Du.get(\"Memory Usage\".concat(r));i.get(\"GPU Memory\").subtractCount(this.byteLength),i.get(\"\".concat(t,\" Memory\")).subtractCount(this.byteLength)}};var Ynt=\"Failed to deduce GL constant from typed array\";function pb(e){switch(ArrayBuffer.isView(e)?e.constructor:e){case Float32Array:return 5126;case Uint16Array:return 5123;case Uint32Array:return 5125;case Uint8Array:return 5121;case Uint8ClampedArray:return 5121;case Int8Array:return 5120;case Int16Array:return 5122;case Int32Array:return 5124;default:throw new Error(Ynt)}}function HA(e){let{clamped:t=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};switch(e){case 5126:return Float32Array;case 5123:case 33635:case 32819:case 32820:return Uint16Array;case 5125:return Uint32Array;case 5121:return t?Uint8ClampedArray:Uint8Array;case 5120:return Int8Array;case 5122:return Int16Array;case 5124:return Int32Array;default:throw new Error(\"Failed to deduce typed array type from GL constant\")}}function NV(e){let{data:t,width:r,height:i,bytesPerPixel:s=4,temp:n}=e,o=r*s;n=n||new Uint8Array(o);for(let c=0;cthis._assign(s)),Object.freeze(this)}toString(){return JSON.stringify(this)}get BYTES_PER_ELEMENT(){return e.getBytesPerElement(this)}get BYTES_PER_VERTEX(){return e.getBytesPerVertex(this)}_assign(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t=Ab(\"Accessor\",t,$nt),t.type!==void 0&&(this.type=t.type,(t.type===5124||t.type===5125)&&(this.integer=!0)),t.size!==void 0&&(this.size=t.size),t.offset!==void 0&&(this.offset=t.offset),t.stride!==void 0&&(this.stride=t.stride),t.normalized!==void 0&&(this.normalized=t.normalized),t.integer!==void 0&&(this.integer=t.integer),t.divisor!==void 0&&(this.divisor=t.divisor),t.buffer!==void 0&&(this.buffer=t.buffer),t.index!==void 0&&(typeof t.index==\"boolean\"?this.index=t.index?1:0:this.index=t.index),t.instanced!==void 0&&(this.divisor=t.instanced?1:0),t.isInstanced!==void 0&&(this.divisor=t.isInstanced?1:0),this}};var VV=10,jV={offset:\"accessor.offset\",stride:\"accessor.stride\",type:\"accessor.type\",size:\"accessor.size\",divisor:\"accessor.divisor\",normalized:\"accessor.normalized\",integer:\"accessor.integer\",instanced:\"accessor.divisor\",isInstanced:\"accessor.divisor\"},Xnt={removedProps:{},replacedProps:{bytes:\"byteLength\"},deprecatedProps:jV},Knt={removedProps:jV},Fr=class extends Js{get[Symbol.toStringTag](){return\"Buffer\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Buffer\",\"v6.0\",[\"layout\",\"setLayout\",\"getIndexedParameter\"]),this.target=r.target||(this.gl.webgl2?36662:34962),this.initialize(r),Object.seal(this)}getElementCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerElement(t))}getVertexCount(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.accessor;return Math.round(this.byteLength/Pl.getBytesPerVertex(t))}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ArrayBuffer.isView(t)&&(t={data:t}),Number.isFinite(t)&&(t={byteLength:t}),t=Ab(\"Buffer\",t,Xnt),this.usage=t.usage||35044,this.debugData=null,this.setAccessor(Object.assign({},t,t.accessor)),t.data?this._setData(t.data,t.offset,t.byteLength):this._setByteLength(t.byteLength||0),this}setProps(t){return t=Ab(\"Buffer\",t,Knt),\"accessor\"in t&&this.setAccessor(t.accessor),this}setAccessor(t){return t=Object.assign({},t),delete t.buffer,this.accessor=new Pl(t),this}reallocate(t){return t>this.byteLength?(this._setByteLength(t),!0):(this.bytesUsed=t,!1)}setData(t){return this.initialize(t)}subData(t){ArrayBuffer.isView(t)&&(t={data:t});let{data:r,offset:i=0,srcOffset:s=0}=t,n=t.byteLength||t.length;ye(r);let o=this.gl.webgl2?36663:this.target;return this.gl.bindBuffer(o,this.handle),s!==0||n!==void 0?(Yn(this.gl),this.gl.bufferSubData(this.target,i,r,s,n)):this.gl.bufferSubData(o,i,r),this.gl.bindBuffer(o,null),this.debugData=null,this._inferType(r),this}copyData(t){let{sourceBuffer:r,readOffset:i=0,writeOffset:s=0,size:n}=t,{gl:o}=this;return Yn(o),o.bindBuffer(36662,r.handle),o.bindBuffer(36663,this.handle),o.copyBufferSubData(36662,36663,i,s,n),o.bindBuffer(36662,null),o.bindBuffer(36663,null),this.debugData=null,this}getData(){let{dstData:t=null,srcByteOffset:r=0,dstOffset:i=0,length:s=0}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yn(this.gl);let n=HA(this.accessor.type||5126,{clamped:!1}),o=this._getAvailableElementCount(r),c=i,f,_;t?(_=t.length,f=_-c):(f=Math.min(o,s||o),_=c+f);let w=Math.min(o,f);return s=s||w,ye(s<=w),t=t||new n(_),this.gl.bindBuffer(36662,this.handle),this.gl.getBufferSubData(36662,r,t,i,s),this.gl.bindBuffer(36662,null),t}bind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index,offset:i=0,size:s}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?s!==void 0?this.gl.bindBufferRange(t,r,this.handle,i,s):(ye(i===0),this.gl.bindBufferBase(t,r,this.handle)):this.gl.bindBuffer(t,this.handle),this}unbind(){let{target:t=this.target,index:r=this.accessor&&this.accessor.index}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return t===35345||t===35982?this.gl.bindBufferBase(t,r,null):this.gl.bindBuffer(t,null),this}getDebugData(){return this.debugData?{data:this.debugData,changed:!1}:(this.debugData=this.getData({length:Math.min(VV,this.byteLength)}),{data:this.debugData,changed:!0})}invalidateDebugData(){this.debugData=null}_setData(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:t.byteLength+r;ye(ArrayBuffer.isView(t)),this._trackDeallocatedMemory();let s=this._getTarget();this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,this.usage),this.gl.bufferSubData(s,r,t),this.gl.bindBuffer(s,null),this.debugData=t.slice(0,VV),this.bytesUsed=i,this._trackAllocatedMemory(i);let n=pb(t);return ye(n),this.setAccessor(new Pl(this.accessor,{type:n})),this}_setByteLength(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.usage;ye(t>=0),this._trackDeallocatedMemory();let i=t;t===0&&(i=new Float32Array(0));let s=this._getTarget();return this.gl.bindBuffer(s,this.handle),this.gl.bufferData(s,i,r),this.gl.bindBuffer(s,null),this.usage=r,this.debugData=null,this.bytesUsed=t,this._trackAllocatedMemory(t),this}_getTarget(){return this.gl.webgl2?36663:this.target}_getAvailableElementCount(t){let r=HA(this.accessor.type||5126,{clamped:!1}),i=t/r.BYTES_PER_ELEMENT;return this.getElementCount()-i}_inferType(t){this.accessor.type||this.setAccessor(new Pl(this.accessor,{type:pb(t)}))}_createHandle(){return this.gl.createBuffer()}_deleteHandle(){this.gl.deleteBuffer(this.handle),this._trackDeallocatedMemory()}_getParameter(t){this.gl.bindBuffer(this.target,this.handle);let r=this.gl.getBufferParameter(this.target,t);return this.gl.bindBuffer(this.target,null),r}get type(){return He.deprecated(\"Buffer.type\",\"Buffer.accessor.type\")(),this.accessor.type}get bytes(){return He.deprecated(\"Buffer.bytes\",\"Buffer.byteLength\")(),this.byteLength}setByteLength(t){return He.deprecated(\"setByteLength\",\"reallocate\")(),this.reallocate(t)}updateAccessor(t){return He.deprecated(\"updateAccessor(...)\",\"setAccessor(new Accessor(buffer.accessor, ...)\")(),this.accessor=new Pl(this.accessor,t),this}};var dE={6407:{dataFormat:6407,types:[5121,33635]},6408:{dataFormat:6408,types:[5121,32819,32820]},6406:{dataFormat:6406,types:[5121]},6409:{dataFormat:6409,types:[5121]},6410:{dataFormat:6410,types:[5121]},33326:{dataFormat:6403,types:[5126],gl2:!0},33328:{dataFormat:33319,types:[5126],gl2:!0},34837:{dataFormat:6407,types:[5126],gl2:!0},34836:{dataFormat:6408,types:[5126],gl2:!0}},pE={6403:1,36244:1,33319:2,33320:2,6407:3,36248:3,6408:4,36249:4,6402:1,34041:1,6406:1,6409:1,6410:2},AE={5126:4,5125:4,5124:4,5123:2,5122:2,5131:2,5120:1,5121:1};function GV(e,t){let r=dE[t];if(!r)return!1;if(r.gl1===void 0&&r.gl2===void 0)return!0;let i=fr(e)&&r.gl2||r.gl1;return typeof i==\"string\"?e.getExtension(i):i}function WV(e,t){let r=dE[t];switch(r&&r.types[0]){case 5126:return e.getExtension(\"OES_texture_float_linear\");case 5131:return e.getExtension(\"OES_texture_half_float_linear\");default:return!0}}var Jnt=[9729,9728],HV=globalThis.WebGLBuffer||function(){},tl=class extends Js{get[Symbol.toStringTag](){return\"Texture\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{format:i,linearFiltering:s}=r,n=!0;return i&&(n=n&&GV(t,i),n=n&&(!s||WV(t,i))),n}constructor(t,r){let{id:i=ta(\"texture\"),handle:s,target:n}=r;super(t,{id:i,handle:s}),this.target=n,this.textureUnit=void 0,this.loaded=!1,this.width=void 0,this.height=void 0,this.depth=void 0,this.format=void 0,this.type=void 0,this.dataFormat=void 0,this.border=void 0,this.textureUnit=void 0,this.mipmaps=void 0}toString(){return\"Texture(\".concat(this.id,\",\").concat(this.width,\"x\").concat(this.height,\")\")}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=t.data;if(r instanceof Promise)return r.then(K=>this.initialize(Object.assign({},t,{pixels:K,data:K}))),this;let i=typeof HTMLVideoElement<\"u\"&&r instanceof HTMLVideoElement;if(i&&r.readyStatethis.initialize(t)),this;let{pixels:s=null,format:n=6408,border:o=0,recreate:c=!1,parameters:f={},pixelStore:_={},textureUnit:w=void 0}=t;r||(r=s);let{width:I,height:R,dataFormat:N,type:j,compressed:Q=!1,mipmaps:et=!0}=t,{depth:Y=0}=t;return{width:I,height:R,compressed:Q,dataFormat:N,type:j}=this._deduceParameters({format:n,type:j,dataFormat:N,compressed:Q,data:r,width:I,height:R}),this.width=I,this.height=R,this.depth=Y,this.format=n,this.type=j,this.dataFormat=N,this.border=o,this.textureUnit=w,Number.isFinite(this.textureUnit)&&(this.gl.activeTexture(33984+this.textureUnit),this.gl.bindTexture(this.target,this.handle)),et&&this._isNPOT()&&(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),et=!1,this._updateForNPOT(f)),this.mipmaps=et,this.setImageData({data:r,width:I,height:R,depth:Y,format:n,type:j,dataFormat:N,border:o,mipmaps:et,parameters:_,compressed:Q}),et&&this.generateMipmap(),this.setParameters(f),c&&(this.data=r),i&&(this._video={video:r,parameters:f,lastTime:r.readyState>=HTMLVideoElement.HAVE_CURRENT_DATA?r.currentTime:-1}),this}update(){if(this._video){let{video:t,parameters:r,lastTime:i}=this._video;if(i===t.currentTime||t.readyState0&&arguments[0]!==void 0?arguments[0]:{};return this._isNPOT()?(He.warn(\"texture: \".concat(this,\" is Non-Power-Of-Two, disabling mipmaping\"))(),this):(this.mipmaps=!0,this.gl.bindTexture(this.target,this.handle),Mn(this.gl,t,()=>{this.gl.generateMipmap(this.target)}),this.gl.bindTexture(this.target,null),this)}setImageData(t){this._trackDeallocatedMemory(\"Texture\");let{target:r=this.target,pixels:i=null,level:s=0,format:n=this.format,border:o=this.border,offset:c=0,parameters:f={}}=t,{data:_=null,type:w=this.type,width:I=this.width,height:R=this.height,dataFormat:N=this.dataFormat,compressed:j=!1}=t;_||(_=i),{type:w,dataFormat:N,compressed:j,width:I,height:R}=this._deduceParameters({format:n,type:w,dataFormat:N,compressed:j,data:_,width:I,height:R});let{gl:Q}=this;Q.bindTexture(this.target,this.handle);let et=null;({data:_,dataType:et}=this._getDataType({data:_,compressed:j}));let Y,K=0;if(Mn(this.gl,f,()=>{switch(et){case\"null\":Q.texImage2D(r,s,n,I,R,o,N,w,_);break;case\"typed-array\":Q.texImage2D(r,s,n,I,R,o,N,w,_,c);break;case\"buffer\":Y=Yn(Q),Y.bindBuffer(35052,_.handle||_),Y.texImage2D(r,s,n,I,R,o,N,w,c),Y.bindBuffer(35052,null);break;case\"browser-object\":fr(Q)?Q.texImage2D(r,s,n,I,R,o,N,w,_):Q.texImage2D(r,s,n,N,w,_);break;case\"compressed\":for(let[J,ut]of _.entries())Q.compressedTexImage2D(r,J,ut.format,ut.width,ut.height,o,ut.data),K+=ut.levelSize;break;default:ye(!1,\"Unknown image data type\")}}),et===\"compressed\")this._trackAllocatedMemory(K,\"Texture\");else if(_&&_.byteLength)this._trackAllocatedMemory(_.byteLength,\"Texture\");else{let J=pE[this.dataFormat]||4,ut=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*J*ut,\"Texture\")}return this.loaded=!0,this}setSubImageData(t){let{target:r=this.target,pixels:i=null,data:s=null,x:n=0,y:o=0,width:c=this.width,height:f=this.height,level:_=0,format:w=this.format,type:I=this.type,dataFormat:R=this.dataFormat,compressed:N=!1,offset:j=0,border:Q=this.border,parameters:et={}}=t;if({type:I,dataFormat:R,compressed:N,width:c,height:f}=this._deduceParameters({format:w,type:I,dataFormat:R,compressed:N,data:s,width:c,height:f}),ye(this.depth===0,\"texSubImage not supported for 3D textures\"),s||(s=i),s&&s.data){let Y=s;s=Y.data,c=Y.shape[0],f=Y.shape[1]}s instanceof Fr&&(s=s.handle),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,et,()=>{if(N)this.gl.compressedTexSubImage2D(r,_,n,o,c,f,w,s);else if(s===null)this.gl.texSubImage2D(r,_,n,o,c,f,R,I,null);else if(ArrayBuffer.isView(s))this.gl.texSubImage2D(r,_,n,o,c,f,R,I,s,j);else if(s instanceof HV){let Y=Yn(this.gl);Y.bindBuffer(35052,s),Y.texSubImage2D(r,_,n,o,c,f,R,I,j),Y.bindBuffer(35052,null)}else fr(this.gl)?Yn(this.gl).texSubImage2D(r,_,n,o,c,f,R,I,s):this.gl.texSubImage2D(r,_,n,o,R,I,s)}),this.gl.bindTexture(this.target,null)}copyFramebuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Texture.copyFramebuffer({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}getActiveUnit(){return this.gl.getParameter(34016)-33984}bind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,this.handle),t}unbind(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.textureUnit,{gl:r}=this;return t!==void 0&&(this.textureUnit=t,r.activeTexture(33984+t)),r.bindTexture(this.target,null),t}_getDataType(t){let{data:r,compressed:i=!1}=t;return i?{data:r,dataType:\"compressed\"}:r===null?{data:r,dataType:\"null\"}:ArrayBuffer.isView(r)?{data:r,dataType:\"typed-array\"}:r instanceof Fr?{data:r.handle,dataType:\"buffer\"}:r instanceof HV?{data:r,dataType:\"buffer\"}:{data:r,dataType:\"browser-object\"}}_deduceParameters(t){let{format:r,data:i}=t,{width:s,height:n,dataFormat:o,type:c,compressed:f}=t,_=dE[r];return o=o||_&&_.dataFormat,c=c||_&&_.types[0],f=f||_&&_.compressed,{width:s,height:n}=this._deduceImageSize(i,s,n),{dataFormat:o,type:c,compressed:f,width:s,height:n,format:r,data:i}}_deduceImageSize(t,r,i){let s;return typeof ImageData<\"u\"&&t instanceof ImageData?s={width:t.width,height:t.height}:typeof HTMLImageElement<\"u\"&&t instanceof HTMLImageElement?s={width:t.naturalWidth,height:t.naturalHeight}:typeof HTMLCanvasElement<\"u\"&&t instanceof HTMLCanvasElement?s={width:t.width,height:t.height}:typeof ImageBitmap<\"u\"&&t instanceof ImageBitmap?s={width:t.width,height:t.height}:typeof HTMLVideoElement<\"u\"&&t instanceof HTMLVideoElement?s={width:t.videoWidth,height:t.videoHeight}:t?s={width:r,height:i}:s={width:r>=0?r:1,height:i>=0?i:1},ye(s,\"Could not deduced texture size\"),ye(r===void 0||s.width===r,\"Deduced texture width does not match supplied width\"),ye(i===void 0||s.height===i,\"Deduced texture height does not match supplied height\"),s}_createHandle(){return this.gl.createTexture()}_deleteHandle(){this.gl.deleteTexture(this.handle),this._trackDeallocatedMemory(\"Texture\")}_getParameter(t){switch(t){case 4096:return this.width;case 4097:return this.height;default:this.gl.bindTexture(this.target,this.handle);let r=this.gl.getTexParameter(this.target,t);return this.gl.bindTexture(this.target,null),r}}_setParameter(t,r){switch(this.gl.bindTexture(this.target,this.handle),r=this._getNPOTParam(t,r),t){case 33082:case 33083:this.gl.texParameterf(this.handle,t,r);break;case 4096:case 4097:ye(!1);break;default:this.gl.texParameteri(this.target,t,r);break}return this.gl.bindTexture(this.target,null),this}_isNPOT(){return fr(this.gl)||!this.width||!this.height?!1:!_R(this.width)||!_R(this.height)}_updateForNPOT(t){t[this.gl.TEXTURE_MIN_FILTER]===void 0&&(t[this.gl.TEXTURE_MIN_FILTER]=this.gl.LINEAR),t[this.gl.TEXTURE_WRAP_S]===void 0&&(t[this.gl.TEXTURE_WRAP_S]=this.gl.CLAMP_TO_EDGE),t[this.gl.TEXTURE_WRAP_T]===void 0&&(t[this.gl.TEXTURE_WRAP_T]=this.gl.CLAMP_TO_EDGE)}_getNPOTParam(t,r){if(this._isNPOT())switch(t){case 10241:Jnt.indexOf(r)===-1&&(r=9729);break;case 10242:case 10243:r!==33071&&(r=33071);break;default:break}return r}};var tst=\"\";function qV(e,t){return ye(typeof e==\"string\"),e=tst+e,new Promise((r,i)=>{try{let s=new Image;s.onload=()=>r(s),s.onerror=()=>i(new Error(\"Could not load image \".concat(e,\".\"))),s.crossOrigin=t&&t.crossOrigin||\"anonymous\",s.src=e}catch(s){i(s)}})}var pi=class extends tl{get[Symbol.toStringTag](){return\"Texture2D\"}static isSupported(t,r){return tl.isSupported(t,r)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),(r instanceof Promise||typeof r==\"string\")&&(r={data:r}),typeof r.data==\"string\"&&(r=Object.assign({},r,{data:qV(r.data)})),super(t,Object.assign({},r,{target:3553})),this.initialize(r),Object.seal(this)}};var yR=[34069,34070,34071,34072,34073,34074],Y0=class extends tl{get[Symbol.toStringTag](){return\"TextureCube\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};tp(t),super(t,Object.assign({},r,{target:34067})),this.initialize(r),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{mipmaps:r=!0,parameters:i={}}=t;return this.opts=t,this.setCubeMapImageData(t).then(()=>{this.loaded=!0,r&&this.generateMipmap(t),this.setParameters(i)}),this}subImage(t){let{face:r,data:i,x:s=0,y:n=0,mipmapLevel:o=0}=t;return this._subImage({target:r,data:i,x:s,y:n,mipmapLevel:o})}async setCubeMapImageData(t){let{width:r,height:i,pixels:s,data:n,border:o=0,format:c=6408,type:f=5121}=t,{gl:_}=this,w=s||n,I=await Promise.all(yR.map(R=>{let N=w[R];return Promise.all(Array.isArray(N)?N:[N])}));this.bind(),yR.forEach((R,N)=>{I[N].length>1&&this.opts.mipmaps!==!1&&He.warn(\"\".concat(this.id,\" has mipmap and multiple LODs.\"))(),I[N].forEach((j,Q)=>{r&&i?_.texImage2D(R,Q,c,r,i,o,c,f,j):_.texImage2D(R,Q,c,c,f,j)})}),this.unbind()}setImageDataForFace(t){let{face:r,width:i,height:s,pixels:n,data:o,border:c=0,format:f=6408,type:_=5121}=t,{gl:w}=this,I=n||o;return this.bind(),I instanceof Promise?I.then(R=>this.setImageDataForFace(Object.assign({},t,{face:r,data:R,pixels:R}))):this.width||this.height?w.texImage2D(r,0,f,i,s,c,f,_,I):w.texImage2D(r,0,f,f,_,I),this}};Y0.FACES=yR;var Ey=class extends tl{get[Symbol.toStringTag](){return\"Texture3D\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),r=Object.assign({depth:1},r,{target:32879,unpackFlipY:!1}),super(t,r),this.initialize(r),Object.seal(this)}setImageData(t){let{level:r=0,dataFormat:i=6408,width:s,height:n,depth:o=1,border:c=0,format:f,type:_=5121,offset:w=0,data:I,parameters:R={}}=t;if(this._trackDeallocatedMemory(\"Texture\"),this.gl.bindTexture(this.target,this.handle),Mn(this.gl,R,()=>{ArrayBuffer.isView(I)&&this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,I),I instanceof Fr&&(this.gl.bindBuffer(35052,I.handle),this.gl.texImage3D(this.target,r,i,s,n,o,c,f,_,w))}),I&&I.byteLength)this._trackAllocatedMemory(I.byteLength,\"Texture\");else{let N=pE[this.dataFormat]||4,j=AE[this.type]||1;this._trackAllocatedMemory(this.width*this.height*this.depth*N*j,\"Texture\")}return this.loaded=!0,this}};var Q0=\"EXT_color_buffer_float\",vR={33189:{bpp:2},33190:{gl2:!0,bpp:3},36012:{gl2:!0,bpp:4},36168:{bpp:1},34041:{bpp:4},35056:{gl2:!0,bpp:4},36013:{gl2:!0,bpp:5},32854:{bpp:2},36194:{bpp:2},32855:{bpp:2},33321:{gl2:!0,bpp:1},33330:{gl2:!0,bpp:1},33329:{gl2:!0,bpp:1},33332:{gl2:!0,bpp:2},33331:{gl2:!0,bpp:2},33334:{gl2:!0,bpp:4},33333:{gl2:!0,bpp:4},33323:{gl2:!0,bpp:2},33336:{gl2:!0,bpp:2},33335:{gl2:!0,bpp:2},33338:{gl2:!0,bpp:4},33337:{gl2:!0,bpp:4},33340:{gl2:!0,bpp:8},33339:{gl2:!0,bpp:8},32849:{gl2:!0,bpp:3},32856:{gl2:!0,bpp:4},32857:{gl2:!0,bpp:4},36220:{gl2:!0,bpp:4},36238:{gl2:!0,bpp:4},36975:{gl2:!0,bpp:4},36214:{gl2:!0,bpp:8},36232:{gl2:!0,bpp:8},36226:{gl2:!0,bpp:16},36208:{gl2:!0,bpp:16},33325:{gl2:Q0,bpp:2},33327:{gl2:Q0,bpp:4},34842:{gl2:Q0,bpp:8},33326:{gl2:Q0,bpp:4},33328:{gl2:Q0,bpp:8},34836:{gl2:Q0,bpp:16},35898:{gl2:Q0,bpp:4}};function est(e,t,r){let i=r[t];if(!i)return!1;let s=fr(e)&&i.gl2||i.gl1;return typeof s==\"string\"?e.getExtension(s):s}var el=class extends Js{get[Symbol.toStringTag](){return\"Renderbuffer\"}static isSupported(t){let{format:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{format:null};return!r||est(t,r,vR)}static getSamplesForFormat(t,r){let{format:i}=r;return t.getInternalformatParameter(36161,i,32937)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.initialize(r),Object.seal(this)}initialize(t){let{format:r,width:i=1,height:s=1,samples:n=0}=t;return ye(r,\"Needs format\"),this._trackDeallocatedMemory(),this.gl.bindRenderbuffer(36161,this.handle),n!==0&&fr(this.gl)?this.gl.renderbufferStorageMultisample(36161,n,r,i,s):this.gl.renderbufferStorage(36161,r,i,s),this.format=r,this.width=i,this.height=s,this.samples=n,this._trackAllocatedMemory(this.width*this.height*(this.samples||1)*vR[this.format].bpp),this}resize(t){let{width:r,height:i}=t;return r!==this.width||i!==this.height?this.initialize({width:r,height:i,format:this.format,samples:this.samples}):this}_createHandle(){return this.gl.createRenderbuffer()}_deleteHandle(){this.gl.deleteRenderbuffer(this.handle),this._trackDeallocatedMemory()}_bindHandle(t){this.gl.bindRenderbuffer(36161,t)}_syncHandle(t){this.format=this.getParameter(36164),this.width=this.getParameter(36162),this.height=this.getParameter(36163),this.samples=this.getParameter(36011)}_getParameter(t){return this.gl.bindRenderbuffer(36161,this.handle),this.gl.getRenderbufferParameter(36161,t)}};var rst=256,ist=1024,nst=16384,ZV=6144,YV=6145,QV=6146,$V=34041,XV=\"clear: bad arguments\";function Hf(e){let{framebuffer:t=null,color:r=null,depth:i=null,stencil:s=null}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={};t&&(n.framebuffer=t);let o=0;r&&(o|=nst,r!==!0&&(n.clearColor=r)),i&&(o|=rst,i!==!0&&(n.clearDepth=i)),s&&(o|=ist,i!==!0&&(n.clearStencil=i)),ye(o!==0,XV),Mn(e,n,()=>{e.clear(o)})}function xR(e){let{framebuffer:t=null,buffer:r=ZV,drawBuffer:i=0,value:s=[0,0,0,0]}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(e),Mn(e,{framebuffer:t},()=>{switch(r){case ZV:switch(s.constructor){case Int32Array:e.clearBufferiv(r,i,s);break;case Uint32Array:e.clearBufferuiv(r,i,s);break;case Float32Array:default:e.clearBufferfv(r,i,s)}break;case YV:e.clearBufferfv(YV,0,[s]);break;case QV:e.clearBufferiv(QV,0,[s]);break;case $V:let[n,o]=s;e.clearBufferfi($V,0,n,o);break;default:ye(!1,XV)}})}function KV(e){switch(e){case 6406:case 33326:case 6403:return 1;case 33328:case 33319:return 2;case 6407:case 34837:return 3;case 6408:case 34836:return 4;default:return ye(!1),0}}function Dh(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{sourceX:r=0,sourceY:i=0,sourceFormat:s=6408}=t,{sourceAttachment:n=36064,target:o=null,sourceWidth:c,sourceHeight:f,sourceType:_}=t,{framebuffer:w,deleteFramebuffer:I}=JV(e);ye(w);let{gl:R,handle:N,attachments:j}=w;c=c||w.width,f=f||w.height,n===36064&&N===null&&(n=1028),ye(j[n]),_=_||j[n].type,o=sst(o,_,s,c,f),_=_||pb(o);let Q=R.bindFramebuffer(36160,N);return R.readPixels(r,i,c,f,s,_,o),R.bindFramebuffer(36160,Q||null),I&&w.delete(),o}function mE(e){let{sourceAttachment:t=36064,targetMaxHeight:r=Number.MAX_SAFE_INTEGER}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=Dh(e,{sourceAttachment:t}),{width:s,height:n}=e;for(;n>r;)({data:i,width:s,height:n}=UV({data:i,width:s,height:n}));NV({data:i,width:s,height:n});let o=document.createElement(\"canvas\");o.width=s,o.height=n;let c=o.getContext(\"2d\"),f=c.createImageData(s,n);return f.data.set(i),c.putImageData(f,0,0),o.toDataURL()}function gE(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{sourceX:i=0,sourceY:s=0,targetMipmaplevel:n=0,targetInternalFormat:o=6408}=r,{targetX:c,targetY:f,targetZ:_,width:w,height:I}=r,{framebuffer:R,deleteFramebuffer:N}=JV(e);ye(R);let{gl:j,handle:Q}=R,et=typeof c<\"u\"||typeof f<\"u\"||typeof _<\"u\";c=c||0,f=f||0,_=_||0;let Y=j.bindFramebuffer(36160,Q);ye(t);let K=null;if(t instanceof tl&&(K=t,w=Number.isFinite(w)?w:K.width,I=Number.isFinite(I)?I:K.height,K.bind(0),t=K.target),!et)j.copyTexImage2D(t,n,o,i,s,w,I,0);else switch(t){case 3553:case 34067:j.copyTexSubImage2D(t,n,c,f,i,s,w,I);break;case 35866:case 32879:Yn(j).copyTexSubImage3D(t,n,c,f,_,i,s,w,I);break;default:}return K&&K.unbind(),j.bindFramebuffer(36160,Y||null),N&&R.delete(),K}function JV(e){return e instanceof yi?{framebuffer:e,deleteFramebuffer:!1}:{framebuffer:tj(e),deleteFramebuffer:!0}}function sst(e,t,r,i,s){if(e)return e;t=t||5121;let n=HA(t,{clamped:!1}),o=KV(r);return new n(i*s*o)}var Ii={WEBGL2:\"WEBGL2\",VERTEX_ARRAY_OBJECT:\"VERTEX_ARRAY_OBJECT\",TIMER_QUERY:\"TIMER_QUERY\",INSTANCED_RENDERING:\"INSTANCED_RENDERING\",MULTIPLE_RENDER_TARGETS:\"MULTIPLE_RENDER_TARGETS\",ELEMENT_INDEX_UINT32:\"ELEMENT_INDEX_UINT32\",BLEND_EQUATION_MINMAX:\"BLEND_EQUATION_MINMAX\",FLOAT_BLEND:\"FLOAT_BLEND\",COLOR_ENCODING_SRGB:\"COLOR_ENCODING_SRGB\",TEXTURE_DEPTH:\"TEXTURE_DEPTH\",TEXTURE_FLOAT:\"TEXTURE_FLOAT\",TEXTURE_HALF_FLOAT:\"TEXTURE_HALF_FLOAT\",TEXTURE_FILTER_LINEAR_FLOAT:\"TEXTURE_FILTER_LINEAR_FLOAT\",TEXTURE_FILTER_LINEAR_HALF_FLOAT:\"TEXTURE_FILTER_LINEAR_HALF_FLOAT\",TEXTURE_FILTER_ANISOTROPIC:\"TEXTURE_FILTER_ANISOTROPIC\",COLOR_ATTACHMENT_RGBA32F:\"COLOR_ATTACHMENT_RGBA32F\",COLOR_ATTACHMENT_FLOAT:\"COLOR_ATTACHMENT_FLOAT\",COLOR_ATTACHMENT_HALF_FLOAT:\"COLOR_ATTACHMENT_HALF_FLOAT\",GLSL_FRAG_DATA:\"GLSL_FRAG_DATA\",GLSL_FRAG_DEPTH:\"GLSL_FRAG_DEPTH\",GLSL_DERIVATIVES:\"GLSL_DERIVATIVES\",GLSL_TEXTURE_LOD:\"GLSL_TEXTURE_LOD\"};function ost(e){let t=new pi(e,{format:6408,type:5126,dataFormat:6408}),r=new yi(e,{id:\"test-framebuffer\",check:!1,attachments:{36064:t}}),i=r.getStatus();return t.delete(),r.delete(),i===36053}var bR={[Ii.WEBGL2]:[!1,!0],[Ii.VERTEX_ARRAY_OBJECT]:[\"OES_vertex_array_object\",!0],[Ii.TIMER_QUERY]:[\"EXT_disjoint_timer_query\",\"EXT_disjoint_timer_query_webgl2\"],[Ii.INSTANCED_RENDERING]:[\"ANGLE_instanced_arrays\",!0],[Ii.MULTIPLE_RENDER_TARGETS]:[\"WEBGL_draw_buffers\",!0],[Ii.ELEMENT_INDEX_UINT32]:[\"OES_element_index_uint\",!0],[Ii.BLEND_EQUATION_MINMAX]:[\"EXT_blend_minmax\",!0],[Ii.FLOAT_BLEND]:[\"EXT_float_blend\"],[Ii.COLOR_ENCODING_SRGB]:[\"EXT_sRGB\",!0],[Ii.TEXTURE_DEPTH]:[\"WEBGL_depth_texture\",!0],[Ii.TEXTURE_FLOAT]:[\"OES_texture_float\",!0],[Ii.TEXTURE_HALF_FLOAT]:[\"OES_texture_half_float\",!0],[Ii.TEXTURE_FILTER_LINEAR_FLOAT]:[\"OES_texture_float_linear\"],[Ii.TEXTURE_FILTER_LINEAR_HALF_FLOAT]:[\"OES_texture_half_float_linear\"],[Ii.TEXTURE_FILTER_ANISOTROPIC]:[\"EXT_texture_filter_anisotropic\"],[Ii.COLOR_ATTACHMENT_RGBA32F]:[ost,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_FLOAT]:[!1,\"EXT_color_buffer_float\"],[Ii.COLOR_ATTACHMENT_HALF_FLOAT]:[\"EXT_color_buffer_half_float\"],[Ii.GLSL_FRAG_DATA]:[\"WEBGL_draw_buffers\",!0],[Ii.GLSL_FRAG_DEPTH]:[\"EXT_frag_depth\",!0],[Ii.GLSL_DERIVATIVES]:[\"OES_standard_derivatives\",!0],[Ii.GLSL_TEXTURE_LOD]:[\"EXT_shader_texture_lod\",!0]};var ast=2;function $0(e,t){return Oh(e,t)}function Oh(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>ej(e,r))}function _E(e){e.luma=e.luma||{},e.luma.caps=e.luma.caps||{};for(let t in bR)e.luma.caps[t]===void 0&&(e.luma.caps[t]=ej(e,t));return e.luma.caps}function ej(e,t){return e.luma=e.luma||{},e.luma.caps=e.luma.caps||{},e.luma.caps[t]===void 0&&(e.luma.caps[t]=lst(e,t)),e.luma.caps[t]||He.log(ast,\"Feature: \".concat(t,\" not supported\"))(),e.luma.caps[t]}function lst(e,t){let r=bR[t];ye(r,t);let i,s=fr(e)&&r[1]||r[0];if(typeof s==\"function\")i=s(e);else if(Array.isArray(s)){i=!0;for(let n of s)i=i&&!!e.getExtension(n)}else typeof s==\"string\"?i=!!e.getExtension(s):typeof s==\"boolean\"?i=s:ye(!1);return i}var rj=\"Multiple render targets not supported\",yi=class e extends Js{get[Symbol.toStringTag](){return\"Framebuffer\"}static isSupported(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{colorBufferFloat:i,colorBufferHalfFloat:s}=r,n=!0;return i&&(n=!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"WEBGL_color_buffer_float\")||t.getExtension(\"OES_texture_float\"))),s&&(n=n&&!!(t.getExtension(\"EXT_color_buffer_float\")||t.getExtension(\"EXT_color_buffer_half_float\"))),n}static getDefaultFramebuffer(t){return t.luma=t.luma||{},t.luma.defaultFramebuffer=t.luma.defaultFramebuffer||new e(t,{id:\"default-framebuffer\",handle:null,attachments:{}}),t.luma.defaultFramebuffer}get MAX_COLOR_ATTACHMENTS(){let t=Yn(this.gl);return t.getParameter(t.MAX_COLOR_ATTACHMENTS)}get MAX_DRAW_BUFFERS(){let t=Yn(this.gl);return t.getParameter(t.MAX_DRAW_BUFFERS)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.width=null,this.height=null,this.attachments={},this.readBuffer=36064,this.drawBuffers=[36064],this.ownResources=[],this.initialize(r),Object.seal(this)}get color(){return this.attachments[36064]||null}get texture(){return this.attachments[36064]||null}get depth(){return this.attachments[36096]||this.attachments[33306]||null}get stencil(){return this.attachments[36128]||this.attachments[33306]||null}initialize(t){let{width:r=1,height:i=1,attachments:s=null,color:n=!0,depth:o=!0,stencil:c=!1,check:f=!0,readBuffer:_=void 0,drawBuffers:w=void 0}=t;if(ye(r>=0&&i>=0,\"Width and height need to be integers\"),this.width=r,this.height=i,s)for(let I in s){let R=s[I];(Array.isArray(R)?R[0]:R).resize({width:r,height:i})}else s=this._createDefaultAttachments(n,o,c,r,i);this.update({clearAttachments:!0,attachments:s,readBuffer:_,drawBuffers:w}),s&&f&&this.checkStatus()}delete(){for(let t of this.ownResources)t.delete();return super.delete(),this}update(t){let{attachments:r={},readBuffer:i,drawBuffers:s,clearAttachments:n=!1,resizeAttachments:o=!0}=t;this.attach(r,{clearAttachments:n,resizeAttachments:o});let{gl:c}=this,f=c.bindFramebuffer(36160,this.handle);return i&&this._setReadBuffer(i),s&&this._setDrawBuffers(s),c.bindFramebuffer(36160,f||null),this}resize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{width:r,height:i}=t;if(this.handle===null)return ye(r===void 0&&i===void 0),this.width=this.gl.drawingBufferWidth,this.height=this.gl.drawingBufferHeight,this;r===void 0&&(r=this.gl.drawingBufferWidth),i===void 0&&(i=this.gl.drawingBufferHeight),r!==this.width&&i!==this.height&&He.log(2,\"Resizing framebuffer \".concat(this.id,\" to \").concat(r,\"x\").concat(i))();for(let s in this.attachments)this.attachments[s].resize({width:r,height:i});return this.width=r,this.height=i,this}attach(t){let{clearAttachments:r=!1,resizeAttachments:i=!0}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s={};r&&Object.keys(this.attachments).forEach(o=>{s[o]=null}),Object.assign(s,t);let n=this.gl.bindFramebuffer(36160,this.handle);for(let o in s){ye(o!==void 0,\"Misspelled framebuffer binding point?\");let c=Number(o),f=s[c],_=f;if(!_)this._unattach(c);else if(_ instanceof el)this._attachRenderbuffer({attachment:c,renderbuffer:_});else if(Array.isArray(f)){let[w,I=0,R=0]=f;_=w,this._attachTexture({attachment:c,texture:w,layer:I,level:R})}else this._attachTexture({attachment:c,texture:_,layer:0,level:0});i&&_&&_.resize({width:this.width,height:this.height})}this.gl.bindFramebuffer(36160,n||null),Object.assign(this.attachments,t),Object.keys(this.attachments).filter(o=>!this.attachments[o]).forEach(o=>{delete this.attachments[o]})}checkStatus(){let{gl:t}=this,r=this.getStatus();if(r!==36053)throw new Error(ust(r));return this}getStatus(){let{gl:t}=this,r=t.bindFramebuffer(36160,this.handle),i=t.checkFramebufferStatus(36160);return t.bindFramebuffer(36160,r||null),i}clear(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{color:r,depth:i,stencil:s,drawBuffers:n=[]}=t,o=this.gl.bindFramebuffer(36160,this.handle);return(r||i||s)&&Hf(this.gl,{color:r,depth:i,stencil:s}),n.forEach((c,f)=>{xR(this.gl,{drawBuffer:f,value:c})}),this.gl.bindFramebuffer(36160,o||null),this}readPixels(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixels() is no logner supported, use readPixelsToArray(framebuffer)\")(),null}readPixelsToBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.readPixelsToBuffer()is no logner supported, use readPixelsToBuffer(framebuffer)\")(),null}copyToDataUrl(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToDataUrl() is no logner supported, use copyToDataUrl(framebuffer)\")(),null}copyToImage(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToImage() is no logner supported, use copyToImage(framebuffer)\")(),null}copyToTexture(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.copyToTexture({...}) is no logner supported, use copyToTexture(source, target, opts})\")(),null}blit(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.error(\"Framebuffer.blit({...}) is no logner supported, use blit(source, target, opts)\")(),null}invalidate(t){let{attachments:r=[],x:i=0,y:s=0,width:n,height:o}=t,c=Yn(this.gl),f=c.bindFramebuffer(36008,this.handle);return i===0&&s===0&&n===void 0&&o===void 0?c.invalidateFramebuffer(36008,r):c.invalidateFramebuffer(36008,r,i,s,n,o),c.bindFramebuffer(36008,f),this}getAttachmentParameter(t,r,i){let s=this._getAttachmentParameterFallback(r);return s===null&&(this.gl.bindFramebuffer(36160,this.handle),s=this.gl.getFramebufferAttachmentParameter(36160,t,r),this.gl.bindFramebuffer(36160,null)),i&&s>1e3&&(s=Ou(this.gl,s)),s}getAttachmentParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:36064,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.constructor.ATTACHMENT_PARAMETERS||[],s={};for(let n of i){let o=r?Ou(this.gl,n):n;s[o]=this.getAttachmentParameter(t,n,r)}return s}getParameters(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,r=Object.keys(this.attachments),i={};for(let s of r){let n=Number(s),o=t?Ou(this.gl,n):n;i[o]=this.getAttachmentParameters(n,t)}return i}show(){return typeof window<\"u\"&&window.open(mE(this),\"luma-debug-texture\"),this}log(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"\";if(t>He.level||typeof window>\"u\")return this;r=r||\"Framebuffer \".concat(this.id);let i=mE(this,{targetMaxHeight:100});return He.image({logLevel:t,message:r,image:i},r)(),this}bind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,this.handle),this}unbind(){let{target:t=36160}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.gl.bindFramebuffer(t,null),this}_createDefaultAttachments(t,r,i,s,n){let o=null;return t&&(o=o||{},o[36064]=new pi(this.gl,{id:\"\".concat(this.id,\"-color0\"),pixels:null,format:6408,type:5121,width:s,height:n,mipmaps:!1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.ownResources.push(o[36064])),r&&i?(o=o||{},o[33306]=new el(this.gl,{id:\"\".concat(this.id,\"-depth-stencil\"),format:35056,width:s,height:111}),this.ownResources.push(o[33306])):r?(o=o||{},o[36096]=new el(this.gl,{id:\"\".concat(this.id,\"-depth\"),format:33189,width:s,height:n}),this.ownResources.push(o[36096])):i&&ye(!1),o}_unattach(t){let r=this.attachments[t];r&&(r instanceof el?this.gl.framebufferRenderbuffer(36160,t,36161,null):this.gl.framebufferTexture2D(36160,t,3553,null,0),delete this.attachments[t])}_attachRenderbuffer(t){let{attachment:r=36064,renderbuffer:i}=t,{gl:s}=this;s.framebufferRenderbuffer(36160,r,36161,i.handle),this.attachments[r]=i}_attachTexture(t){let{attachment:r=36064,texture:i,layer:s,level:n}=t,{gl:o}=this;switch(o.bindTexture(i.target,i.handle),i.target){case 35866:case 32879:Yn(o).framebufferTextureLayer(36160,r,i.target,n,s);break;case 34067:let f=cst(s);o.framebufferTexture2D(36160,r,f,i.handle,n);break;case 3553:o.framebufferTexture2D(36160,r,3553,i.handle,n);break;default:ye(!1,\"Illegal texture type\")}o.bindTexture(i.target,null),this.attachments[r]=i}_setReadBuffer(t){let r=sR(this.gl);r?r.readBuffer(t):ye(t===36064||t===1029,rj),this.readBuffer=t}_setDrawBuffers(t){let{gl:r}=this,i=Yn(r);if(i)i.drawBuffers(t);else{let s=r.getExtension(\"WEBGL_draw_buffers\");s?s.drawBuffersWEBGL(t):ye(t.length===1&&(t[0]===36064||t[0]===1029),rj)}this.drawBuffers=t}_getAttachmentParameterFallback(t){let r=_E(this.gl);switch(t){case 36052:return r.WEBGL2?null:0;case 33298:case 33299:case 33300:case 33301:case 33302:case 33303:return r.WEBGL2?null:8;case 33297:return r.WEBGL2?null:5125;case 33296:return!r.WEBGL2&&!r.EXT_sRGB?9729:null;default:return null}}_createHandle(){return this.gl.createFramebuffer()}_deleteHandle(){this.gl.deleteFramebuffer(this.handle)}_bindHandle(t){return this.gl.bindFramebuffer(36160,t)}};function cst(e){return e<34069?e+34069:e}function ust(e){return(yi.STATUS||{})[e]||\"Framebuffer error \".concat(e)}var hst=[36049,36048,33296,33298,33299,33300,33301,33302,33303];yi.ATTACHMENT_PARAMETERS=hst;function yE(e,t){ye(e instanceof pi||e instanceof Y0||e instanceof Ey);let r=e.constructor,{gl:i,width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w}=e,I=Object.assign({width:s,height:n,format:o,type:c,dataFormat:f,border:_,mipmaps:w},t);return new r(i,I)}function tj(e,t){let{gl:r,width:i,height:s,id:n}=e;return new yi(r,Object.assign({},t,{id:\"framebuffer-for-\".concat(n),width:i,height:s,attachments:{36064:e}}))}function qA(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:\"unnamed\",r=/#define[\\s*]SHADER_NAME[\\s*]([A-Za-z0-9_-]+)[\\s*]/,i=e.match(r);return i?i[1]:t}function wR(e){switch(e){case 35632:return\"fragment\";case 35633:return\"vertex\";default:return\"unknown type\"}}function SR(e,t,r,i){let s=e.split(/\\r?\\n/),n={},o={},c=i||qA(t)||\"(unnamed)\",f=\"\".concat(wR(r),\" shader \").concat(c);for(let w=0;w1&&arguments[1]!==void 0?arguments[1]:1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\": \",i=e.split(/\\r?\\n/),s=String(i.length+t-1).length;return i.map((n,o)=>{let c=String(o+t),f=c.length;return nj(c,s-f)+r+n})}function nj(e,t){let r=\"\";for(let i=0;i=2&&r[0]===\"#version\"){let i=parseInt(r[1],10);Number.isFinite(i)&&(t=i)}return t}var dst=\"Shader: GLSL source code must be a JavaScript string\",vE=class e extends Js{get[Symbol.toStringTag](){return\"Shader\"}static getTypeName(t){switch(t){case 35633:return\"vertex-shader\";case 35632:return\"fragment-shader\";default:return ye(!1),\"unknown\"}}constructor(t,r){tp(t),ye(typeof r.source==\"string\",dst);let i=qA(r.source,null)||r.id||ta(\"unnamed \".concat(e.getTypeName(r.shaderType)));super(t,{id:i}),this.shaderType=r.shaderType,this.source=r.source,this.initialize(r)}initialize(t){let{source:r}=t,i=qA(r,null);i&&(this.id=ta(i)),this._compile(r)}getParameter(t){return this.gl.getShaderParameter(this.handle,t)}toString(){return\"\".concat(e.getTypeName(this.shaderType),\":\").concat(this.id)}getName(){return qA(this.source)||\"unnamed-shader\"}getSource(){return this.gl.getShaderSource(this.handle)}getTranslatedSource(){let t=this.gl.getExtension(\"WEBGL_debug_shaders\");return t?t.getTranslatedShaderSource(this.handle):\"No translated source available. WEBGL_debug_shaders not implemented\"}_compile(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.source;if(t.startsWith(\"#version \")||(t=`#version 100\n`.concat(t)),this.source=t,this.gl.shaderSource(this.handle,this.source),this.gl.compileShader(this.handle),!this.getParameter(35713)){let i=this.gl.getShaderInfoLog(this.handle),{shaderName:s,errors:n,warnings:o}=SR(i,this.source,this.shaderType,this.id);throw He.error(\"GLSL compilation errors in \".concat(s,`\n`).concat(n))(),He.warn(\"GLSL compilation warnings in \".concat(s,`\n`).concat(o))(),new Error(\"GLSL compilation errors in \".concat(s))}}_deleteHandle(){this.gl.deleteShader(this.handle)}_getOptsFromHandle(){return{type:this.getParameter(35663),source:this.getSource()}}},X0=class extends vE{get[Symbol.toStringTag](){return\"VertexShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35633}))}_createHandle(){return this.gl.createShader(35633)}},K0=class extends vE{get[Symbol.toStringTag](){return\"FragmentShader\"}constructor(t,r){typeof r==\"string\"&&(r={source:r}),super(t,Object.assign({},r,{shaderType:35632}))}_createHandle(){return this.gl.createShader(35632)}};var pst={5126:Qn.bind(null,\"uniform1fv\",$c,1,rl),35664:Qn.bind(null,\"uniform2fv\",$c,2,rl),35665:Qn.bind(null,\"uniform3fv\",$c,3,rl),35666:Qn.bind(null,\"uniform4fv\",$c,4,rl),5124:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35667:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35668:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35669:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35670:Qn.bind(null,\"uniform1iv\",ZA,1,rl),35671:Qn.bind(null,\"uniform2iv\",ZA,2,rl),35672:Qn.bind(null,\"uniform3iv\",ZA,3,rl),35673:Qn.bind(null,\"uniform4iv\",ZA,4,rl),35674:Qn.bind(null,\"uniformMatrix2fv\",$c,4,ep),35675:Qn.bind(null,\"uniformMatrix3fv\",$c,9,ep),35676:Qn.bind(null,\"uniformMatrix4fv\",$c,16,ep),35678:_a,35680:_a,5125:Qn.bind(null,\"uniform1uiv\",xE,1,rl),36294:Qn.bind(null,\"uniform2uiv\",xE,2,rl),36295:Qn.bind(null,\"uniform3uiv\",xE,3,rl),36296:Qn.bind(null,\"uniform4uiv\",xE,4,rl),35685:Qn.bind(null,\"uniformMatrix2x3fv\",$c,6,ep),35686:Qn.bind(null,\"uniformMatrix2x4fv\",$c,8,ep),35687:Qn.bind(null,\"uniformMatrix3x2fv\",$c,6,ep),35688:Qn.bind(null,\"uniformMatrix3x4fv\",$c,12,ep),35689:Qn.bind(null,\"uniformMatrix4x2fv\",$c,8,ep),35690:Qn.bind(null,\"uniformMatrix4x3fv\",$c,12,ep),35678:_a,35680:_a,35679:_a,35682:_a,36289:_a,36292:_a,36293:_a,36298:_a,36299:_a,36300:_a,36303:_a,36306:_a,36307:_a,36308:_a,36311:_a},Ast={},mst={},gst={},sj=[0];function TR(e,t,r,i){t===1&&typeof e==\"boolean\"&&(e=e?1:0),Number.isFinite(e)&&(sj[0]=e,e=sj);let s=e.length;if(s%t&&He.warn(\"Uniform size should be multiples of \".concat(t),e)(),e instanceof r)return e;let n=i[s];n||(n=new r(s),i[s]=n);for(let o=0;o{let s=e!==i;return s&&(t.uniform1i(r,i),e=i),s}}function Qn(e,t,r,i){let s=null,n=null;return(o,c,f)=>{let _=t(f,r),w=_.length,I=!1;if(s===null)s=new Float32Array(w),n=w,I=!0;else{ye(n===w,\"Uniform length cannot change.\");for(let R=0;R=0&&this._addAttribute(f,n,o,c)}this.attributeInfos.sort((s,n)=>s.location-n.location)}_readVaryingsFromProgram(t){let{gl:r}=t;if(!fr(r))return;let i=r.getProgramParameter(t.handle,35971);for(let s=0;ss.location-n.location)}_addAttribute(t,r,i,s){let{type:n,components:o}=PR(i),c={type:n,size:s*o};this._inferProperties(t,r,c);let f={location:t,name:r,accessor:new Pl(c)};this.attributeInfos.push(f),this.attributeInfosByLocation[t]=f,this.attributeInfosByName[f.name]=f}_inferProperties(t,r,i){/instance/i.test(r)&&(i.divisor=1)}_addVarying(t,r,i,s){let{type:n,components:o}=PR(i),c=new Pl({type:n,size:s*o}),f={location:t,name:r,accessor:c};this.varyingInfos.push(f),this.varyingInfosByName[f.name]=f}};var hj=4,$st=35981,Xst=[\"setVertexArray\",\"setAttributes\",\"setBuffers\",\"unsetBuffers\",\"use\",\"getUniformCount\",\"getUniformInfo\",\"getUniformLocation\",\"getUniformValue\",\"getVarying\",\"getFragDataLocation\",\"getAttachedShaders\",\"getAttributeCount\",\"getAttributeLocation\",\"getAttributeInfo\"],rp=class extends Js{get[Symbol.toStringTag](){return\"Program\"}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.stubRemovedMethods(\"Program\",\"v6.0\",Xst),this._isCached=!1,this.initialize(r),Object.seal(this),this._setId(r.id)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{hash:r,vs:i,fs:s,varyings:n,bufferMode:o=$st}=t;return this.hash=r||\"\",this.vs=typeof i==\"string\"?new X0(this.gl,{id:\"\".concat(t.id,\"-vs\"),source:i}):i,this.fs=typeof s==\"string\"?new K0(this.gl,{id:\"\".concat(t.id,\"-fs\"),source:s}):s,ye(this.vs instanceof X0),ye(this.fs instanceof K0),this.uniforms={},this._textureUniforms={},n&&n.length>0&&(Yn(this.gl),this.varyings=n,this.gl2.transformFeedbackVaryings(this.handle,n,o)),this._compileAndLink(),this._readUniformLocationsFromLinkedProgram(),this.configuration=new _b(this),this.setProps(t)}delete(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this._isCached?this:super.delete(t)}setProps(t){return\"uniforms\"in t&&this.setUniforms(t.uniforms),this}draw(t){let{logPriority:r,drawMode:i=4,vertexCount:s,offset:n=0,start:o,end:c,isIndexed:f=!1,indexType:_=5123,instanceCount:w=0,isInstanced:I=w>0,vertexArray:R=null,transformFeedback:N,framebuffer:j,parameters:Q={},uniforms:et,samplers:Y}=t;if((et||Y)&&(He.deprecated(\"Program.draw({uniforms})\",\"Program.setUniforms(uniforms)\")(),this.setUniforms(et||{})),He.priority>=r){let K=j?j.id:\"default\",J=\"mode=\".concat(Ou(this.gl,i),\" verts=\").concat(s,\" \")+\"instances=\".concat(w,\" indexType=\").concat(Ou(this.gl,_),\" \")+\"isInstanced=\".concat(I,\" isIndexed=\").concat(f,\" \")+\"Framebuffer=\".concat(K);He.log(r,J)()}return ye(R),this.gl.useProgram(this.handle),!this._areTexturesRenderable()||s===0||I&&w===0?!1:(R.bindForDraw(s,w,()=>{if(j!==void 0&&(Q=Object.assign({},Q,{framebuffer:j})),N){let K=uj(i);N.begin(K)}this._bindTextures(),Mn(this.gl,Q,()=>{f&&I?this.gl2.drawElementsInstanced(i,s,_,n,w):f&&fr(this.gl)&&!isNaN(o)&&!isNaN(c)?this.gl2.drawRangeElements(i,o,c,s,_,n):f?this.gl.drawElements(i,s,_,n):I?this.gl2.drawArraysInstanced(i,n,s,w):this.gl.drawArrays(i,n,s)}),N&&N.end()}),!0)}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};He.priority>=2&&aj(t,this.id,this._uniformSetters),this.gl.useProgram(this.handle);for(let r in t){let i=t[r],s=this._uniformSetters[r];if(s){let n=i,o=!1;if(n instanceof yi&&(n=n.texture),n instanceof tl)if(o=this.uniforms[r]!==i,o){s.textureIndex===void 0&&(s.textureIndex=this._textureIndexCounter++);let c=n,{textureIndex:f}=s;c.bind(f),n=f,this._textureUniforms[r]=c}else n=s.textureIndex;else this._textureUniforms[r]&&delete this._textureUniforms[r];(s(n)||o)&&lj(this.uniforms,r,i)}}return this}_areTexturesRenderable(){let t=!0;for(let r in this._textureUniforms){let i=this._textureUniforms[r];i.update(),t=t&&i.loaded}return t}_bindTextures(){for(let t in this._textureUniforms){let r=this._uniformSetters[t].textureIndex;this._textureUniforms[t].bind(r)}}_createHandle(){return this.gl.createProgram()}_deleteHandle(){this.gl.deleteProgram(this.handle)}_getOptionsFromHandle(t){let r=this.gl.getAttachedShaders(t),i={};for(let s of r)switch(this.gl.getShaderParameter(this.handle,35663)){case 35633:i.vs=new X0({handle:s});break;case 35632:i.fs=new K0({handle:s});break;default:}return i}_getParameter(t){return this.gl.getProgramParameter(this.handle,t)}_setId(t){if(!t){let r=this._getName();this.id=ta(r)}}_getName(){let t=this.vs.getName()||this.fs.getName();return t=t.replace(/shader/i,\"\"),t=t?\"\".concat(t,\"-program\"):\"program\",t}_compileAndLink(){let{gl:t}=this;if(t.attachShader(this.handle,this.vs.handle),t.attachShader(this.handle,this.fs.handle),He.time(hj,\"linkProgram for \".concat(this._getName()))(),t.linkProgram(this.handle),He.timeEnd(hj,\"linkProgram for \".concat(this._getName()))(),t.debug||He.level>0){if(!t.getProgramParameter(this.handle,35714))throw new Error(\"Error linking: \".concat(t.getProgramInfoLog(this.handle)));if(t.validateProgram(this.handle),!t.getProgramParameter(this.handle,35715))throw new Error(\"Error validating: \".concat(t.getProgramInfoLog(this.handle)))}}_readUniformLocationsFromLinkedProgram(){let{gl:t}=this;this._uniformSetters={},this._uniformCount=this._getParameter(35718);for(let r=0;r1)for(let o=0;o1&&arguments[1]!==void 0?arguments[1]:[],i=fr(t),s=Oh(t,Ii.TIMER_QUERY),n=i||s;for(let o of r)switch(o){case\"queries\":n=n&&i;break;case\"timers\":n=n&&s;break;default:ye(!1)}return n}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(t,r),this.target=null,this._queryPending=!1,this._pollingPromise=null,Object.seal(this)}beginTimeElapsedQuery(){return this.begin(tot)}beginOcclusionQuery(){let{conservative:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.begin(t?not:iot)}beginTransformFeedbackQuery(){return this.begin(rot)}begin(t){return this._queryPending?this:(this.target=t,this.gl2.beginQuery(this.target,this.handle),this)}end(){return this._queryPending?this:(this.target&&(this.gl2.endQuery(this.target),this.target=null,this._queryPending=!0),this)}isResultAvailable(){if(!this._queryPending)return!1;let t=this.gl2.getQueryParameter(this.handle,Jst);return t&&(this._queryPending=!1),t}isTimerDisjoint(){return this.gl2.getParameter(eot)}getResult(){return this.gl2.getQueryParameter(this.handle,Kst)}getTimerMilliseconds(){return this.getResult()/1e6}createPoll(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Number.POSITIVE_INFINITY;if(this._pollingPromise)return this._pollingPromise;let r=0;return this._pollingPromise=new Promise((i,s)=>{let n=()=>{this.isResultAvailable()?(i(this.getResult()),this._pollingPromise=null):r++>t?(s(\"Timed out\"),this._pollingPromise=null):requestAnimationFrame(n)};requestAnimationFrame(n)}),this._pollingPromise}_createHandle(){return e.isSupported(this.gl)?this.gl2.createQuery():null}_deleteHandle(){this.gl2.deleteQuery(this.handle)}};var ip=class extends Js{get[Symbol.toStringTag](){return\"TransformFeedback\"}static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Yn(t),super(t,r),this.initialize(r),this.stubRemovedMethods(\"TransformFeedback\",\"v6.0\",[\"pause\",\"resume\"]),Object.seal(this)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.buffers={},this.unused={},this.configuration=null,this.bindOnUse=!0,Wf(this.buffers)||this.bind(()=>this._unbindBuffers()),this.setProps(t),this}setProps(t){\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"bindOnUse\"in t&&(t=t.bindOnUse),\"buffers\"in t&&this.setBuffers(t.buffers)}setBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.bind(()=>{for(let r in t)this.setBuffer(r,t[r])}),this}setBuffer(t,r){let i=this._getVaryingIndex(t),{buffer:s,byteSize:n,byteOffset:o}=this._getBufferParams(r);return i<0?(this.unused[t]=s,He.warn(\"\".concat(this.id,\" unused varying buffer \").concat(t))(),this):(this.buffers[i]=r,this.bindOnUse||this._bindBuffer(i,s,o,n),this)}begin(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;return this.gl.bindTransformFeedback(36386,this.handle),this._bindBuffers(),this.gl.beginTransformFeedback(t),this}end(){return this.gl.endTransformFeedback(),this._unbindBuffers(),this.gl.bindTransformFeedback(36386,null),this}_getBufferParams(t){let r,i,s;return t instanceof Fr?s=t:(s=t.buffer,i=t.byteSize,r=t.byteOffset),(r!==void 0||i!==void 0)&&(r=r||0,i=i||s.byteLength-r),{buffer:s,byteOffset:r,byteSize:i}}_getVaryingInfo(t){return this.configuration&&this.configuration.getVaryingInfo(t)}_getVaryingIndex(t){if(this.configuration)return this.configuration.getVaryingInfo(t).location;let r=Number(t);return Number.isFinite(r)?r:-1}_bindBuffers(){if(this.bindOnUse)for(let t in this.buffers){let{buffer:r,byteSize:i,byteOffset:s}=this._getBufferParams(this.buffers[t]);this._bindBuffer(t,r,s,i)}}_unbindBuffers(){if(this.bindOnUse)for(let t in this.buffers)this._bindBuffer(t,null)}_bindBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,n=r&&r.handle;return!n||s===void 0?this.gl.bindBufferBase(35982,t,n):this.gl.bindBufferRange(35982,t,n,i,s),this}_createHandle(){return this.gl.createTransformFeedback()}_deleteHandle(){this.gl.deleteTransformFeedback(this.handle)}_bindHandle(t){this.gl.bindTransformFeedback(36386,this.handle)}};var TE=null;function sot(e){return(!TE||TE.byteLength1&&arguments[1]!==void 0?arguments[1]:{}).constantAttributeZero?fr(t)||vy()===\"Chrome\":!0}static getDefaultArray(t){return t.luma=t.luma||{},t.luma.defaultVertexArray||(t.luma.defaultVertexArray=new e(t,{handle:null,isDefaultArray:!0})),t.luma.defaultVertexArray}static getMaxAttributes(t){return e.MAX_ATTRIBUTES=e.MAX_ATTRIBUTES||t.getParameter(34921),e.MAX_ATTRIBUTES}static setConstant(t,r,i){switch(i.constructor){case Float32Array:e._setConstantFloatArray(t,r,i);break;case Int32Array:e._setConstantIntArray(t,r,i);break;case Uint32Array:e._setConstantUintArray(t,r,i);break;default:ye(!1)}}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;super(t,Object.assign({},r,{id:i})),this.buffer=null,this.bufferValue=null,this.isDefaultArray=r.isDefaultArray||!1,this.gl2=t,this.initialize(r),Object.seal(this)}delete(){return super.delete(),this.buffer&&this.buffer.delete(),this}get MAX_ATTRIBUTES(){return e.getMaxAttributes(this.gl)}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.setProps(t)}setProps(t){return this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return ye(!t||t.target===34963,oot),this.bind(()=>{this.gl.bindBuffer(34963,t?t.handle:null)}),this}setBuffer(t,r,i){if(r.target===34963)return this.setElementBuffer(r,i);let{size:s,type:n,stride:o,offset:c,normalized:f,integer:_,divisor:w}=i,{gl:I,gl2:R}=this;return t=Number(t),this.bind(()=>{I.bindBuffer(34962,r.handle),_?(ye(fr(I)),R.vertexAttribIPointer(t,s,n,o,c)):I.vertexAttribPointer(t,s,n,f,o,c),I.enableVertexAttribArray(t),R.vertexAttribDivisor(t,w||0)}),this}enable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return!r&&t===0&&!e.isSupported(this.gl,{constantAttributeZero:!0})||(t=Number(t),this.bind(()=>r?this.gl.enableVertexAttribArray(t):this.gl.disableVertexAttribArray(t))),this}getConstantBuffer(t,r){let i=this._normalizeConstantArrayValue(r),s=i.byteLength*t,n=i.length*t,o=!this.buffer;if(this.buffer=this.buffer||new Fr(this.gl,s),o=o||this.buffer.reallocate(s),o=o||!this._compareConstantArrayValues(i,this.bufferValue),o){let c=fj(r.constructor,n);dj({target:c,source:i,start:0,count:n}),this.buffer.subData(c),this.bufferValue=r}return this.buffer}_normalizeConstantArrayValue(t){return Array.isArray(t)?new Float32Array(t):t}_compareConstantArrayValues(t,r){if(!t||!r||t.length!==r.length||t.constructor!==r.constructor)return!1;for(let i=0;i{switch(t){case 34373:return this.gl.getVertexAttribOffset(i,t);default:return this.gl.getVertexAttrib(i,t)}})}};var aot=\"VertexArray: attributes must be Buffers or constants (i.e. typed array)\",lot=/^(.+)__LOCATION_([0-9]+)$/,cot=[\"setBuffers\",\"setGeneric\",\"clearBindings\",\"setLocations\",\"setGenericValues\",\"setDivisor\",\"enable\",\"disable\"],Iy=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.id||r.program&&r.program.id;this.id=i,this.gl=t,this.configuration=null,this.elements=null,this.elementsAccessor=null,this.values=null,this.accessors=null,this.unused=null,this.drawParams=null,this.buffer=null,this.attributes={},this.vertexArrayObject=new tg(t),fE(this,\"VertexArray\",\"v6.0\",cot),this.initialize(r),Object.seal(this)}delete(){this.buffer&&this.buffer.delete(),this.vertexArrayObject.delete()}initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.reset(),this.configuration=null,this.bindOnUse=!1,this.setProps(t)}reset(){this.elements=null,this.elementsAccessor=null;let{MAX_ATTRIBUTES:t}=this.vertexArrayObject;return this.values=new Array(t).fill(null),this.accessors=new Array(t).fill(null),this.unused={},this.drawParams=null,this}setProps(t){return\"program\"in t&&(this.configuration=t.program&&t.program.configuration),\"configuration\"in t&&(this.configuration=t.configuration),\"attributes\"in t&&this.setAttributes(t.attributes),\"elements\"in t&&this.setElementBuffer(t.elements),\"bindOnUse\"in t&&(t=t.bindOnUse),this}clearDrawParams(){this.drawParams=null}getDrawParams(){return this.drawParams=this.drawParams||this._updateDrawParams(),this.drawParams}setAttributes(t){return Object.assign(this.attributes,t),this.vertexArrayObject.bind(()=>{for(let r in t){let i=t[r];this._setAttribute(r,i)}this.gl.bindBuffer(34962,null)}),this}setElementBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return this.elements=t,this.elementsAccessor=r,this.clearDrawParams(),this.vertexArrayObject.setElementBuffer(t,r),this}setBuffer(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(r.target===34963)return this.setElementBuffer(r,i);let{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,r.accessor,i);return s>=0&&(this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.setBuffer(s,r,n)),this}setConstant(t,r){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{location:s,accessor:n}=this._resolveLocationAndAccessor(t,r,Object.assign({size:r.length},i));return s>=0&&(r=this.vertexArrayObject._normalizeConstantArrayValue(r),this.values[s]=r,this.accessors[s]=n,this.clearDrawParams(),this.vertexArrayObject.enable(s,!1)),this}unbindBuffers(){return this.vertexArrayObject.bind(()=>{this.elements&&this.vertexArrayObject.setElementBuffer(null),this.buffer=this.buffer||new Fr(this.gl,{accessor:{size:4}});for(let t=0;t{this.elements&&this.setElementBuffer(this.elements);for(let t=0;t{this._setConstantAttributes(t,r),s=i()}),s}_resolveLocationAndAccessor(t,r,i,s){let n={location:-1,accessor:null},{location:o,name:c}=this._getAttributeIndex(t);if(!Number.isFinite(o)||o<0)return this.unused[t]=r,He.once(3,()=>\"unused value \".concat(t,\" in \").concat(this.id))(),n;let f=this._getAttributeInfo(c||o);if(!f)return n;let _=this.accessors[o]||{},w=Pl.resolve(f.accessor,_,i,s),{size:I,type:R}=w;return ye(Number.isFinite(I)&&Number.isFinite(R)),{location:o,accessor:w}}_getAttributeInfo(t){return this.configuration&&this.configuration.getAttributeInfo(t)}_getAttributeIndex(t){let r=Number(t);if(Number.isFinite(r))return{location:r};let i=lot.exec(t),s=i?i[1]:t,n=i?Number(i[2]):0;return this.configuration?{location:this.configuration.getAttributeLocation(s)+n,name:s}:{location:-1}}_setAttribute(t,r){if(r instanceof Fr)this.setBuffer(t,r);else if(Array.isArray(r)&&r.length&&r[0]instanceof Fr){let i=r[0],s=r[1];this.setBuffer(t,i,s)}else if(ArrayBuffer.isView(r)||Array.isArray(r)){let i=r;this.setConstant(t,i)}else if(r.buffer instanceof Fr){let i=r;this.setBuffer(t,i.buffer,i)}else throw new Error(aot)}_setConstantAttributes(t,r){let i=Math.max(t|0,r|0),s=this.values[0];ArrayBuffer.isView(s)&&this._setConstantAttributeZero(s,i);for(let n=1;n0;if(t.isInstanced=t.isInstanced||o,i instanceof Fr){let c=i;if(o){let f=c.getVertexCount(s);t.instanceCount=Math.min(t.instanceCount,f)}else{let f=c.getVertexCount(s);t.vertexCount=Math.min(t.vertexCount,f)}}}setElements(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return He.deprecated(\"setElements\",\"setElementBuffer\")(),this.setElementBuffer(t,r)}};function uot(e,t){let{maxElts:r=16,size:i=1}=t,s=\"[\";for(let o=0;o0&&(s+=\",\".concat(o%i===0?\" \":\"\")),s+=eg(e[o],t);let n=e.length>r?\"...\":\"]\";return\"\".concat(s).concat(n)}function eg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=1e-16,{isInteger:i=!1}=t;if(Array.isArray(e)||ArrayBuffer.isView(e))return uot(e,t);if(!Number.isFinite(e))return String(e);if(Math.abs(e)100&&Math.abs(e)<1e4)return e.toFixed(0);let s=e.toPrecision(2);return s.indexOf(\".0\")===s.length-2?s.slice(0,-1):s}function ME(e){let{header:t=\"Uniforms\",program:r,uniforms:i,undefinedOnly:s=!1}=e;ye(r);let n=\".*_.*\",o=\".*Matrix\",c=r._uniformSetters,f={},_=Object.keys(c).sort(),w=0;for(let N of _)!N.match(n)&&!N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)N.match(o)&&IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;for(let N of _)f[N]||IR({table:f,header:t,uniforms:i,uniformName:N,undefinedOnly:s})&&w++;let I=0,R={};if(!s)for(let N in i){let j=i[N];f[N]||(I++,R[N]={Type:\"NOT USED: \".concat(j),[t]:eg(j)})}return{table:f,count:w,unusedTable:R,unusedCount:I}}function IR(e){let{table:t,header:r,uniforms:i,uniformName:s,undefinedOnly:n}=e,o=i[s],c=hot(o);return!n||!c?(t[s]={[r]:c?eg(o):\"N/A\",\"Uniform Type\":c?o:\"NOT PROVIDED\"},!0):!1}function hot(e){return e!=null}function CR(e){let{vertexArray:t,header:r=\"Attributes\"}=e;if(!t.configuration)return{};let i={};t.elements&&(i.ELEMENT_ARRAY_BUFFER=pj(t,t.elements,null,r));let s=t.values;for(let n in s){let o=t._getAttributeInfo(n);if(o){let c=\"\".concat(n,\": \").concat(o.name),f=t.accessors[o.location];f&&(c=\"\".concat(n,\": \").concat(fot(o.name,f))),i[c]=pj(t,s[n],f,r)}}return i}function pj(e,t,r,i){let{gl:s}=e;if(!t)return{[i]:\"null\",\"Format \":\"N/A\"};let n=\"NOT PROVIDED\",o=1,c=0,f=0,_,w,I;if(r&&(n=r.type,o=r.size,n=String(n).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1),t instanceof Fr){let R=t,{data:N,changed:j}=R.getDebugData();w=j?\"*\":\"\",I=N,f=R.byteLength,c=f/N.BYTES_PER_ELEMENT/o;let Q;if(r){let et=r.divisor>0;Q=\"\".concat(et?\"I \":\"P \",\" \").concat(c,\" (x\").concat(o,\"=\").concat(f,\" bytes \").concat(Ou(s,n),\")\")}else _=!0,Q=\"\".concat(f,\" bytes\");return{[i]:\"\".concat(w).concat(eg(I,{size:o,isInteger:_})),\"Format \":Q}}return I=t,o=t.length,n=String(t.constructor.name).replace(\"Array\",\"\"),_=n.indexOf(\"nt\")!==-1,{[i]:\"\".concat(eg(I,{size:o,isInteger:_}),\" (constant)\"),\"Format \":\"\".concat(o,\"x\").concat(n,\" (constant)\")}}function fot(e,t){let{type:r,size:i}=t,s=SE(r,i);return s?\"\".concat(e,\" (\").concat(s.name,\")\"):e}function LR(e){let t={},r=\"Accessors for \".concat(e.id);for(let i of e.attributeInfos)if(i){let s=Aj(i);t[\"in \".concat(s)]={[r]:JSON.stringify(i.accessor)}}for(let i of e.varyingInfos)if(i){let s=Aj(i);t[\"out \".concat(s)]={[r]:JSON.stringify(i.accessor)}}return t}function Aj(e){let{type:t,size:r}=e.accessor,i=SE(t,r);return i?\"\".concat(i.name,\" \").concat(e.name):e.name}var mj=Lo()&&typeof document<\"u\",pot=0,rg=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{onCreateContext:r=et=>Ty(et),onAddHTML:i=null,onInitialize:s=()=>{},onRender:n=()=>{},onFinalize:o=()=>{},onError:c,gl:f=null,glOptions:_={},debug:w=!1,createFramebuffer:I=!1,autoResizeViewport:R=!0,autoResizeDrawingBuffer:N=!0,stats:j=Du.get(\"animation-loop-\".concat(pot++))}=t,{useDevicePixels:Q=!0}=t;\"useDevicePixelRatio\"in t&&(He.deprecated(\"useDevicePixelRatio\",\"useDevicePixels\")(),Q=t.useDevicePixelRatio),this.props={onCreateContext:r,onAddHTML:i,onInitialize:s,onRender:n,onFinalize:o,onError:c,gl:f,glOptions:_,debug:w,createFramebuffer:I},this.gl=f,this.needsRedraw=null,this.timeline=null,this.stats=j,this.cpuTime=this.stats.get(\"CPU Time\"),this.gpuTime=this.stats.get(\"GPU Time\"),this.frameRate=this.stats.get(\"Frame Rate\"),this._initialized=!1,this._running=!1,this._animationFrameId=null,this._nextFramePromise=null,this._resolveNextFrame=null,this._cpuStartTime=0,this.setProps({autoResizeViewport:R,autoResizeDrawingBuffer:N,useDevicePixels:Q}),this.start=this.start.bind(this),this.stop=this.stop.bind(this),this._pageLoadPromise=null,this._onMousemove=this._onMousemove.bind(this),this._onMouseleave=this._onMouseleave.bind(this)}delete(){this.stop(),this._setDisplay(null)}setNeedsRedraw(t){return ye(typeof t==\"string\"),this.needsRedraw=this.needsRedraw||t,this}setProps(t){return\"autoResizeViewport\"in t&&(this.autoResizeViewport=t.autoResizeViewport),\"autoResizeDrawingBuffer\"in t&&(this.autoResizeDrawingBuffer=t.autoResizeDrawingBuffer),\"useDevicePixels\"in t&&(this.useDevicePixels=t.useDevicePixels),this}start(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(this._running)return this;this._running=!0;let r=this._getPageLoadPromise().then(()=>!this._running||this._initialized?null:(this._createWebGLContext(t),this._createFramebuffer(),this._startEventHandling(),this._initializeCallbackData(),this._updateCallbackData(),this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._gpuTimeQuery=J0.isSupported(this.gl,[\"timers\"])?new J0(this.gl):null,this._initialized=!0,this.onInitialize(this.animationProps))).then(i=>{this._running&&(this._addCallbackData(i||{}),i!==!1&&this._startLoop())});return this.props.onError&&r.catch(this.props.onError),this}redraw(){return this.isContextLost()?this:(this._beginTimers(),this._setupFrame(),this._updateCallbackData(),this._renderFrame(this.animationProps),this._clearNeedsRedraw(),this.offScreen&&this.gl.commit&&this.gl.commit(),this._resolveNextFrame&&(this._resolveNextFrame(this),this._nextFramePromise=null,this._resolveNextFrame=null),this._endTimers(),this)}stop(){return this._running&&(this._finalizeCallbackData(),this._cancelAnimationFrame(this._animationFrameId),this._nextFramePromise=null,this._resolveNextFrame=null,this._animationFrameId=null,this._running=!1),this}attachTimeline(t){return this.timeline=t,this.timeline}detachTimeline(){this.timeline=null}waitForRender(){return this.setNeedsRedraw(\"waitForRender\"),this._nextFramePromise||(this._nextFramePromise=new Promise(t=>{this._resolveNextFrame=t})),this._nextFramePromise}async toDataURL(){return this.setNeedsRedraw(\"toDataURL\"),await this.waitForRender(),this.gl.canvas.toDataURL()}isContextLost(){return this.gl.isContextLost()}onCreateContext(){return this.props.onCreateContext(...arguments)}onInitialize(){return this.props.onInitialize(...arguments)}onRender(){return this.props.onRender(...arguments)}onFinalize(){return this.props.onFinalize(...arguments)}getHTMLControlValue(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,i=document.getElementById(t);return i?Number(i.value):r}setViewParameters(){return He.removed(\"AnimationLoop.setViewParameters\",\"AnimationLoop.setProps\")(),this}_startLoop(){let t=()=>{this._running&&(this.redraw(),this._animationFrameId=this._requestAnimationFrame(t))};this._cancelAnimationFrame(this._animationFrameId),this._animationFrameId=this._requestAnimationFrame(t)}_getPageLoadPromise(){return this._pageLoadPromise||(this._pageLoadPromise=mj?new Promise((t,r)=>{if(mj&&document.readyState===\"complete\"){t(document);return}window.addEventListener(\"load\",()=>{t(document)})}):Promise.resolve({})),this._pageLoadPromise}_setDisplay(t){this.display&&(this.display.delete(),this.display.animationLoop=null),t&&(t.animationLoop=this),this.display=t}_cancelAnimationFrame(t){return this.display&&this.display.cancelAnimationFrame?this.display.cancelAnimationFrame(t):mR(t)}_requestAnimationFrame(t){if(this._running)return this.display&&this.display.requestAnimationFrame?this.display.requestAnimationFrame(t):AR(t)}_renderFrame(){if(this.display){this.display._renderFrame(...arguments);return}this.onRender(...arguments)}_clearNeedsRedraw(){this.needsRedraw=null}_setupFrame(){this._resizeCanvasDrawingBuffer(),this._resizeViewport(),this._resizeFramebuffer()}_initializeCallbackData(){this.animationProps={gl:this.gl,stop:this.stop,canvas:this.gl.canvas,framebuffer:this.framebuffer,useDevicePixels:this.useDevicePixels,needsRedraw:null,startTime:Date.now(),engineTime:0,tick:0,tock:0,time:0,_timeline:this.timeline,_loop:this,_animationLoop:this,_mousePosition:null}}_updateCallbackData(){let{width:t,height:r,aspect:i}=this._getSizeAndAspect();(t!==this.animationProps.width||r!==this.animationProps.height)&&this.setNeedsRedraw(\"drawing buffer resized\"),i!==this.animationProps.aspect&&this.setNeedsRedraw(\"drawing buffer aspect changed\"),this.animationProps.width=t,this.animationProps.height=r,this.animationProps.aspect=i,this.animationProps.needsRedraw=this.needsRedraw,this.animationProps.engineTime=Date.now()-this.animationProps.startTime,this.timeline&&this.timeline.update(this.animationProps.engineTime),this.animationProps.tick=Math.floor(this.animationProps.time/1e3*60),this.animationProps.tock++,this.animationProps.time=this.timeline?this.timeline.getTime():this.animationProps.engineTime,this.animationProps._offScreen=this.offScreen}_finalizeCallbackData(){this.onFinalize(this.animationProps)}_addCallbackData(t){typeof t==\"object\"&&t!==null&&(this.animationProps=Object.assign({},this.animationProps,t))}_createWebGLContext(t){if(this.offScreen=t.canvas&&typeof OffscreenCanvas<\"u\"&&t.canvas instanceof OffscreenCanvas,t=Object.assign({},t,this.props.glOptions),this.gl=this.props.gl?q0(this.props.gl,t):this.onCreateContext(t),!Jd(this.gl))throw new Error(\"AnimationLoop.onCreateContext - illegal context returned\");uE(this.gl),this._createInfoDiv()}_createInfoDiv(){if(this.gl.canvas&&this.props.onAddHTML){let t=document.createElement(\"div\");document.body.appendChild(t),t.style.position=\"relative\";let r=document.createElement(\"div\");r.style.position=\"absolute\",r.style.left=\"10px\",r.style.bottom=\"10px\",r.style.width=\"300px\",r.style.background=\"white\",t.appendChild(this.gl.canvas),t.appendChild(r);let i=this.props.onAddHTML(r);i&&(r.innerHTML=i)}}_getSizeAndAspect(){let t=this.gl.drawingBufferWidth,r=this.gl.drawingBufferHeight,i=1,{canvas:s}=this.gl;return s&&s.clientHeight?i=s.clientWidth/s.clientHeight:t>0&&r>0&&(i=t/r),{width:t,height:r,aspect:i}}_resizeViewport(){this.autoResizeViewport&&this.gl.viewport(0,0,this.gl.drawingBufferWidth,this.gl.drawingBufferHeight)}_resizeCanvasDrawingBuffer(){this.autoResizeDrawingBuffer&&dR(this.gl,{useDevicePixels:this.useDevicePixels})}_createFramebuffer(){this.props.createFramebuffer&&(this.framebuffer=new yi(this.gl))}_resizeFramebuffer(){this.framebuffer&&this.framebuffer.resize({width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight})}_beginTimers(){this.frameRate.timeEnd(),this.frameRate.timeStart(),this._gpuTimeQuery&&this._gpuTimeQuery.isResultAvailable()&&!this._gpuTimeQuery.isTimerDisjoint()&&this.stats.get(\"GPU Time\").addTime(this._gpuTimeQuery.getTimerMilliseconds()),this._gpuTimeQuery&&this._gpuTimeQuery.beginTimeElapsedQuery(),this.cpuTime.timeStart()}_endTimers(){this.cpuTime.timeEnd(),this._gpuTimeQuery&&this._gpuTimeQuery.end()}_startEventHandling(){let{canvas:t}=this.gl;t&&(t.addEventListener(\"mousemove\",this._onMousemove),t.addEventListener(\"mouseleave\",this._onMouseleave))}_onMousemove(t){this.animationProps._mousePosition=[t.offsetX,t.offsetY]}_onMouseleave(t){this.animationProps._mousePosition=null}};var ig=\"vs\",yb=\"fs\";function to(e,t){if(!e)throw new Error(t||\"shadertools: assertion failed.\")}var kR={number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},array:{validate(e,t){return Array.isArray(e)||ArrayBuffer.isView(e)}}};function _j(e){let t={};for(let r in e){let i=e[r],s=Aot(i);t[r]=s}return t}function Aot(e){let t=gj(e);return t===\"object\"?e?\"type\"in e?Object.assign({},e,kR[e.type]):\"value\"in e?(t=gj(e.value),Object.assign({type:t},e,kR[t])):{type:\"object\",value:e}:{type:\"object\",value:null}:Object.assign({type:t,value:e},kR[t])}function gj(e){return Array.isArray(e)||ArrayBuffer.isView(e)?\"array\":typeof e}var mot=\"vs\",got=\"fs\",Cy=class{constructor(t){let{name:r,vs:i,fs:s,dependencies:n=[],uniforms:o,getUniforms:c,deprecations:f=[],defines:_={},inject:w={},vertexShader:I,fragmentShader:R}=t;to(typeof r==\"string\"),this.name=r,this.vs=i||I,this.fs=s||R,this.getModuleUniforms=c,this.dependencies=n,this.deprecations=this._parseDeprecationDefinitions(f),this.defines=_,this.injections=_ot(w),o&&(this.uniforms=_j(o))}getModuleSource(t){let r;switch(t){case mot:r=this.vs||\"\";break;case got:r=this.fs||\"\";break;default:to(!1)}return\"#define MODULE_\".concat(this.name.toUpperCase().replace(/[^0-9a-z]/gi,\"_\"),`\n`).concat(r,\"// END MODULE_\").concat(this.name,`\n\n`)}getUniforms(t,r){return this.getModuleUniforms?this.getModuleUniforms(t,r):this.uniforms?this._defaultGetUniforms(t):{}}getDefines(){return this.defines}checkDeprecations(t,r){this.deprecations.forEach(i=>{i.regex.test(t)&&(i.deprecated?r.deprecated(i.old,i.new)():r.removed(i.old,i.new)())})}_parseDeprecationDefinitions(t){return t.forEach(r=>{switch(r.type){case\"function\":r.regex=new RegExp(\"\\\\b\".concat(r.old,\"\\\\(\"));break;default:r.regex=new RegExp(\"\".concat(r.type,\" \").concat(r.old,\";\"))}}),t}_defaultGetUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r={},i=this.uniforms;for(let s in i){let n=i[s];s in t&&!n.private?(n.validate&&to(n.validate(t[s],n),\"\".concat(this.name,\": invalid \").concat(s)),r[s]=t[s]):r[s]=n.value}return r}};function _ot(e){let t={vs:{},fs:{}};for(let r in e){let i=e[r],s=r.slice(0,2);typeof i==\"string\"&&(i={order:0,injection:i}),t[s][r]=i}return t}function yj(e){return yot(xj(e))}function yot(e){let t={},r={};return vj({modules:e,level:0,moduleMap:t,moduleDepth:r}),Object.keys(r).sort((i,s)=>r[s]-r[i]).map(i=>t[i])}function vj(e){let{modules:t,level:r,moduleMap:i,moduleDepth:s}=e;if(r>=5)throw new Error(\"Possible loop in shader dependency graph\");for(let n of t)i[n.name]=n,(s[n.name]===void 0||s[n.name](r instanceof Cy||(to(typeof r!=\"string\",\"Shader module use by name is deprecated. Import shader module '\".concat(r,\"' and use it directly.\")),to(r.name,\"shader module has no name\"),r=new Cy(r),r.dependencies=xj(r.dependencies)),r))}function RR(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=typeof window<\"u\"?window.navigator||{}:{},r=e.userAgent||t.userAgent||\"\",i=r.indexOf(\"MSIE \")!==-1,s=r.indexOf(\"Trident/\")!==-1;return i||s}var vot=7936,xot=7937,bot=7938,wot=35724,OR={GLSL_FRAG_DATA:[\"WEBGL_draw_buffers\",!0],GLSL_FRAG_DEPTH:[\"EXT_frag_depth\",!0],GLSL_DERIVATIVES:[\"OES_standard_derivatives\",!0],GLSL_TEXTURE_LOD:[\"EXT_shader_texture_lod\",!0]},YA={};Object.keys(OR).forEach(e=>{YA[e]=e});function Sot(e){return typeof WebGL2RenderingContext<\"u\"&&e instanceof WebGL2RenderingContext?!0:!!(e&&e._version===2)}function bj(e){let t=e.getExtension(\"WEBGL_debug_renderer_info\"),r=e.getParameter(t&&t.UNMASKED_VENDOR_WEBGL||vot),i=e.getParameter(t&&t.UNMASKED_RENDERER_WEBGL||xot);return{gpuVendor:Tot(r,i),vendor:r,renderer:i,version:e.getParameter(bot),shadingLanguageVersion:e.getParameter(wot)}}function Tot(e,t){return e.match(/NVIDIA/i)||t.match(/NVIDIA/i)?\"NVIDIA\":e.match(/INTEL/i)||t.match(/INTEL/i)?\"INTEL\":e.match(/AMD/i)||t.match(/AMD/i)||e.match(/ATI/i)||t.match(/ATI/i)?\"AMD\":\"UNKNOWN GPU\"}var DR={};function BR(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=OR[t];if(to(i,t),!RR(r))return!0;if(t in DR)return DR[t];let s=i[0],n=r.behavior||\"enable\",o=\"#extension GL_\".concat(s,\" : \").concat(n,`\nvoid main(void) {}`),c=e.createShader(35633);e.shaderSource(c,o),e.compileShader(c);let f=e.getShaderParameter(c,35713);return e.deleteShader(c),DR[t]=f,f}function Mot(e,t){let r=OR[t];to(r,t);let i=Sot(e)&&r[1]||r[0],s=typeof i==\"string\"?!!e.getExtension(i):i;return to(s===!1||s===!0),s}function vb(e,t){return t=Array.isArray(t)?t:[t],t.every(r=>Mot(e,r))}function wj(e){switch(bj(e).gpuVendor.toLowerCase()){case\"nvidia\":return`#define NVIDIA_GPU\n// Nvidia optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n`;case\"intel\":return`#define INTEL_GPU\n// Intel optimizes away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`;case\"amd\":return`#define AMD_GPU\n`;default:return`#define DEFAULT_GPU\n// Prevent driver from optimizing away the calculation necessary for emulated fp64\n#define LUMA_FP64_CODE_ELIMINATION_WORKAROUND 1\n// Intel's built-in 'tan' function doesn't have acceptable precision\n#define LUMA_FP32_TAN_PRECISION_WORKAROUND 1\n// Intel GPU doesn't have full 32 bits precision in same cases, causes overflow\n#define LUMA_FP64_HIGH_BITS_OVERFLOW_WORKAROUND 1\n`}}function Sj(e,t,r){let i=`#if (__VERSION__ > 120)\n\n# define FEATURE_GLSL_DERIVATIVES\n# define FEATURE_GLSL_DRAW_BUFFERS\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FEATURE_GLSL_TEXTURE_LOD\n\n// DEPRECATED FLAGS, remove in v9\n# define FRAG_DEPTH\n# define DERIVATIVES\n# define DRAW_BUFFERS\n# define TEXTURE_LOD\n\n#endif // __VERSION\n`;return vb(e,YA.GLSL_FRAG_DEPTH)&&(i+=`\n// FRAG_DEPTH => gl_FragDepth is available\n#ifdef GL_EXT_frag_depth\n#extension GL_EXT_frag_depth : enable\n# define FEATURE_GLSL_FRAG_DEPTH\n# define FRAG_DEPTH\n# define gl_FragDepth gl_FragDepthEXT\n#endif\n`),vb(e,YA.GLSL_DERIVATIVES)&&BR(e,YA.GLSL_DERIVATIVES)&&(i+=`\n// DERIVATIVES => dxdF, dxdY and fwidth are available\n#ifdef GL_OES_standard_derivatives\n#extension GL_OES_standard_derivatives : enable\n# define FEATURE_GLSL_DERIVATIVES\n# define DERIVATIVES\n#endif\n`),vb(e,YA.GLSL_FRAG_DATA)&&BR(e,YA.GLSL_FRAG_DATA,{behavior:\"require\"})&&(i+=`\n// DRAW_BUFFERS => gl_FragData[] is available\n#ifdef GL_EXT_draw_buffers\n#extension GL_EXT_draw_buffers : require\n#define FEATURE_GLSL_DRAW_BUFFERS\n#define DRAW_BUFFERS\n#endif\n`),vb(e,YA.GLSL_TEXTURE_LOD)&&(i+=`// TEXTURE_LOD => texture2DLod etc are available\n#ifdef GL_EXT_shader_texture_lod\n#extension GL_EXT_shader_texture_lod : enable\n\n# define FEATURE_GLSL_TEXTURE_LOD\n# define TEXTURE_LOD\n\n#endif\n`),i}var Tj=`#ifdef MODULE_LOGDEPTH\n logdepth_adjustPosition(gl_Position);\n#endif\n`,Mj=`#ifdef MODULE_MATERIAL\n gl_FragColor = material_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LIGHTING\n gl_FragColor = lighting_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_FOG\n gl_FragColor = fog_filterColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_PICKING\n gl_FragColor = picking_filterHighlightColor(gl_FragColor);\n gl_FragColor = picking_filterPickingColor(gl_FragColor);\n#endif\n\n#ifdef MODULE_LOGDEPTH\n logdepth_setFragDepth();\n#endif\n`;var Eot={[ig]:Tj,[yb]:Mj},xb=\"__LUMA_INJECT_DECLARATIONS__\",Ej=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/,Pj=/}\\n?[^{}]*$/,FR=[];function EE(e,t,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,s=t===ig;for(let n in r){let o=r[n];o.sort((f,_)=>f.order-_.order),FR.length=o.length;for(let f=0,_=o.length;f<_;++f)FR[f]=o[f].injection;let c=\"\".concat(FR.join(`\n`),`\n`);switch(n){case\"vs:#decl\":s&&(e=e.replace(xb,c));break;case\"vs:#main-start\":s&&(e=e.replace(Ej,f=>f+c));break;case\"vs:#main-end\":s&&(e=e.replace(Pj,f=>c+f));break;case\"fs:#decl\":s||(e=e.replace(xb,c));break;case\"fs:#main-start\":s||(e=e.replace(Ej,f=>f+c));break;case\"fs:#main-end\":s||(e=e.replace(Pj,f=>c+f));break;default:e=e.replace(n,f=>f+c)}}return e=e.replace(xb,\"\"),i&&(e=e.replace(/\\}\\s*$/,n=>n+Eot[t])),e}function Ly(e){let t={};return to(Array.isArray(e)&&e.length>1),e.forEach(r=>{for(let i in r)t[i]=t[i]?\"\".concat(t[i],`\n`).concat(r[i]):r[i]}),t}function ky(e){return new RegExp(\"\\\\b\".concat(e,\"[ \\\\t]+(\\\\w+[ \\\\t]+\\\\w+(\\\\[\\\\w+\\\\])?;)\"),\"g\")}var Ij=[[/^(#version[ \\t]+(100|300[ \\t]+es))?[ \\t]*\\n/,`#version 300 es\n`],[/\\btexture(2D|2DProj|Cube)Lod(EXT)?\\(/g,\"textureLod(\"],[/\\btexture(2D|2DProj|Cube)(EXT)?\\(/g,\"texture(\"]],Pot=[...Ij,[ky(\"attribute\"),\"in $1\"],[ky(\"varying\"),\"out $1\"]],Iot=[...Ij,[ky(\"varying\"),\"in $1\"]],Cj=[[/^#version[ \\t]+300[ \\t]+es/,\"#version 100\"],[/\\btexture(2D|2DProj|Cube)Lod\\(/g,\"texture$1LodEXT(\"],[/\\btexture\\(/g,\"texture2D(\"],[/\\btextureLod\\(/g,\"texture2DLodEXT(\"]],Cot=[...Cj,[ky(\"in\"),\"attribute $1\"],[ky(\"out\"),\"varying $1\"]],Lot=[...Cj,[ky(\"in\"),\"varying $1\"]],zR=\"gl_FragColor\",NR=/\\bout[ \\t]+vec4[ \\t]+(\\w+)[ \\t]*;\\n?/,kot=/void\\s+main\\s*\\([^)]*\\)\\s*\\{\\n?/;function UR(e,t,r){switch(t){case 300:return r?PE(e,Pot):Rot(e);case 100:return r?PE(e,Cot):Dot(e);default:throw new Error(\"unknown GLSL version \".concat(t))}}function PE(e,t){for(let[r,i]of t)e=e.replace(r,i);return e}function Rot(e){e=PE(e,Iot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}else{let r=\"fragmentColor\";e=e.replace(kot,i=>\"out vec4 \".concat(r,`;\n`).concat(i)).replace(new RegExp(\"\\\\b\".concat(zR,\"\\\\b\"),\"g\"),r)}return e}function Dot(e){e=PE(e,Lot);let t=e.match(NR);if(t){let r=t[1];e=e.replace(NR,\"\").replace(new RegExp(\"\\\\b\".concat(r,\"\\\\b\"),\"g\"),zR)}return e}var Oot=`\n\n`.concat(xb,`\n\n`),kj={[ig]:\"vertex\",[yb]:\"fragment\"},Bot=`precision highp float;\n\n`;function VR(e,t){let{vs:r,fs:i}=t,s=yj(t.modules||[]);return{gl:e,vs:Lj(e,Object.assign({},t,{source:r,type:ig,modules:s})),fs:Lj(e,Object.assign({},t,{source:i,type:yb,modules:s})),getUniforms:Fot(s)}}function Lj(e,t){let{id:r,source:i,type:s,modules:n,defines:o={},hookFunctions:c=[],inject:f={},transpileToGLSL100:_=!1,prologue:w=!0,log:I}=t;to(typeof i==\"string\",\"shader source must be a string\");let R=s===ig,N=i.split(`\n`),j=100,Q=\"\",et=i;N[0].indexOf(\"#version \")===0?(j=300,Q=N[0],et=N.slice(1).join(`\n`)):Q=\"#version \".concat(j);let Y={};n.forEach(Xt=>{Object.assign(Y,Xt.getDefines())}),Object.assign(Y,o);let K=w?\"\".concat(Q,`\n`).concat(Not({id:r,source:i,type:s}),`\n`).concat(zot({type:s}),`\n`).concat(wj(e),`\n`).concat(Sj(e,j,!R),`\n`).concat(Uot(Y),`\n`).concat(R?\"\":Bot,`\n`):\"\".concat(Q,`\n`),J=jot(c),ut={},Et={},kt={};for(let Xt in f){let qt=typeof f[Xt]==\"string\"?{injection:f[Xt],order:0}:f[Xt],le=Xt.match(/^(v|f)s:(#)?([\\w-]+)$/);if(le){let ue=le[2],De=le[3];ue?De===\"decl\"?Et[Xt]=[qt]:kt[Xt]=[qt]:ut[Xt]=[qt]}else kt[Xt]=[qt]}for(let Xt of n){I&&Xt.checkDeprecations(et,I);let qt=Xt.getModuleSource(s,j);K+=qt;let le=Xt.injections[s];for(let ue in le){let De=ue.match(/^(v|f)s:#([\\w-]+)$/);if(De){let rr=De[2]===\"decl\"?Et:kt;rr[ue]=rr[ue]||[],rr[ue].push(le[ue])}else ut[ue]=ut[ue]||[],ut[ue].push(le[ue])}}return K+=Oot,K=EE(K,s,Et),K+=Vot(J[s],ut),K+=et,K=EE(K,s,kt),K=UR(K,_?100:j,R),K}function Fot(e){return function(r){let i={};for(let s of e){let n=s.getUniforms(r,i);Object.assign(i,n)}return i}}function zot(e){let{type:t}=e;return`\n#define SHADER_TYPE_`.concat(kj[t].toUpperCase(),`\n`)}function Not(e){let{id:t,source:r,type:i}=e;return t&&typeof t==\"string\"&&r.indexOf(\"SHADER_NAME\")===-1?`\n#define SHADER_NAME `.concat(t,\"_\").concat(kj[i],`\n\n`):\"\"}function Uot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=0,r=\"\";for(let i in e){t===0&&(r+=`\n// APPLICATION DEFINES\n`),t++;let s=e[i];(s||Number.isFinite(s))&&(r+=\"#define \".concat(i.toUpperCase(),\" \").concat(e[i],`\n`))}return t===0&&(r+=`\n`),r}function Vot(e,t){let r=\"\";for(let i in e){let s=e[i];if(r+=\"void \".concat(s.signature,` {\n`),s.header&&(r+=\" \".concat(s.header)),t[i]){let n=t[i];n.sort((o,c)=>o.order-c.order);for(let o of n)r+=\" \".concat(o.injection,`\n`)}s.footer&&(r+=\" \".concat(s.footer)),r+=`}\n`}return r}function jot(e){let t={vs:{},fs:{}};return e.forEach(r=>{let i;typeof r!=\"string\"?(i=r,r=i.hook):i={},r=r.trim();let[s,n]=r.split(\":\"),o=r.replace(/\\(.+/,\"\");t[s][o]=Object.assign(i,{signature:n})}),t}var Got=\"void main() {gl_FragColor = vec4(0);}\",Rj=`out vec4 transform_output;\nvoid main() {\n transform_output = vec4(0);\n}`,Wot=`#version 300 es\n`.concat(Rj);function IE(e,t){t=Array.isArray(t)?t:[t];let r=e.replace(/^\\s+/,\"\").split(/\\s+/),[i,s,n]=r;if(!t.includes(i)||!s||!n)return null;let o=n.split(\";\")[0];return{qualifier:i,type:s,name:o}}function bb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{version:t=100,input:r,inputType:i,output:s}=e;if(!r)return t===300?Wot:t>300?\"#version \".concat(t,`\n`).concat(Rj):Got;let n=Dj(r,i);return t>=300?\"#version \".concat(t,\" \").concat(t===300?\"es\":\"\",`\nin `).concat(i,\" \").concat(r,`;\nout vec4 `).concat(s,`;\nvoid main() {\n `).concat(s,\" = \").concat(n,`;\n}`):\"varying \".concat(i,\" \").concat(r,`;\nvoid main() {\n gl_FragColor = `).concat(n,`;\n}`)}function jR(e){switch(e){case\"float\":return\"x\";case\"vec2\":return\"xy\";case\"vec3\":return\"xyz\";case\"vec4\":return\"xyzw\";default:return to(!1),null}}function GR(e){switch(e){case\"float\":return 1;case\"vec2\":return 2;case\"vec3\":return 3;case\"vec4\":return 4;default:return to(!1),null}}function Dj(e,t){switch(t){case\"float\":return\"vec4(\".concat(e,\", 0.0, 0.0, 1.0)\");case\"vec2\":return\"vec4(\".concat(e,\", 0.0, 1.0)\");case\"vec3\":return\"vec4(\".concat(e,\", 1.0)\");case\"vec4\":return e;default:return to(!1),null}}var Hot=`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\nconst float TWO_PI = 6.2831854820251465;\nconst float PI_2 = 1.5707963705062866;\nconst float PI_16 = 0.1963495463132858;\n\nconst float SIN_TABLE_0 = 0.19509032368659973;\nconst float SIN_TABLE_1 = 0.3826834261417389;\nconst float SIN_TABLE_2 = 0.5555702447891235;\nconst float SIN_TABLE_3 = 0.7071067690849304;\n\nconst float COS_TABLE_0 = 0.9807852506637573;\nconst float COS_TABLE_1 = 0.9238795042037964;\nconst float COS_TABLE_2 = 0.8314695954322815;\nconst float COS_TABLE_3 = 0.7071067690849304;\n\nconst float INVERSE_FACTORIAL_3 = 1.666666716337204e-01;\nconst float INVERSE_FACTORIAL_5 = 8.333333767950535e-03;\nconst float INVERSE_FACTORIAL_7 = 1.9841270113829523e-04;\nconst float INVERSE_FACTORIAL_9 = 2.75573188446287533e-06;\n\nfloat sin_taylor_fp32(float a) {\n float r, s, t, x;\n\n if (a == 0.0) {\n return 0.0;\n }\n\n x = -a * a;\n s = a;\n r = a;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_3;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_5;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_7;\n s = s + t;\n\n r = r * x;\n t = r * INVERSE_FACTORIAL_9;\n s = s + t;\n\n return s;\n}\n\nvoid sincos_taylor_fp32(float a, out float sin_t, out float cos_t) {\n if (a == 0.0) {\n sin_t = 0.0;\n cos_t = 1.0;\n }\n sin_t = sin_taylor_fp32(a);\n cos_t = sqrt(1.0 - sin_t * sin_t);\n}\n\nfloat tan_taylor_fp32(float a) {\n float sin_a;\n float cos_a;\n\n if (a == 0.0) {\n return 0.0;\n }\n float z = floor(a / TWO_PI);\n float r = a - TWO_PI * z;\n\n float t;\n float q = floor(r / PI_2 + 0.5);\n int j = int(q);\n\n if (j < -2 || j > 2) {\n return 1.0 / 0.0;\n }\n\n t = r - PI_2 * q;\n\n q = floor(t / PI_16 + 0.5);\n int k = int(q);\n int abs_k = int(abs(float(k)));\n\n if (abs_k > 4) {\n return 1.0 / 0.0;\n } else {\n t = t - PI_16 * q;\n }\n\n float u = 0.0;\n float v = 0.0;\n\n float sin_t, cos_t;\n float s, c;\n sincos_taylor_fp32(t, sin_t, cos_t);\n\n if (k == 0) {\n s = sin_t;\n c = cos_t;\n } else {\n if (abs(float(abs_k) - 1.0) < 0.5) {\n u = COS_TABLE_0;\n v = SIN_TABLE_0;\n } else if (abs(float(abs_k) - 2.0) < 0.5) {\n u = COS_TABLE_1;\n v = SIN_TABLE_1;\n } else if (abs(float(abs_k) - 3.0) < 0.5) {\n u = COS_TABLE_2;\n v = SIN_TABLE_2;\n } else if (abs(float(abs_k) - 4.0) < 0.5) {\n u = COS_TABLE_3;\n v = SIN_TABLE_3;\n }\n if (k > 0) {\n s = u * sin_t + v * cos_t;\n c = u * cos_t - v * sin_t;\n } else {\n s = u * sin_t - v * cos_t;\n c = u * cos_t + v * sin_t;\n }\n }\n\n if (j == 0) {\n sin_a = s;\n cos_a = c;\n } else if (j == 1) {\n sin_a = c;\n cos_a = -s;\n } else if (j == -1) {\n sin_a = -c;\n cos_a = s;\n } else {\n sin_a = -s;\n cos_a = -c;\n }\n return sin_a / cos_a;\n}\n#endif\n\nfloat tan_fp32(float a) {\n#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND\n return tan_taylor_fp32(a);\n#else\n return tan(a);\n#endif\n}\n`,CE={name:\"fp32\",vs:Hot,fs:null};function Bh(e,t){if(!e)throw new Error(\"math.gl assertion \".concat(t))}var Gkt=1/Math.PI*180,Wkt=1/180*Math.PI,eo={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function WR(e,{precision:t=eo.precision}={}){return e=qot(e),\"\".concat(parseFloat(e.toPrecision(t)))}function Fh(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Il(e,t,r){return Yot(e,i=>Math.max(t,Math.min(r,i)))}function il(e,t,r){return Fh(e)?e.map((i,s)=>il(i,t[s],r)):r*t+(1-r)*e}function Ro(e,t,r){let i=eo.EPSILON;r&&(eo.EPSILON=r);try{if(e===t)return!0;if(Fh(e)&&Fh(t)){if(e.length!==t.length)return!1;for(let s=0;s0?\", \":\"\")+WR(this[i],t);return\"\".concat(t.printTypes?this.constructor.name:\"\",\"[\").concat(r,\"]\")}equals(t){if(!t||this.length!==t.length)return!1;for(let r=0;r=0&&t=0&&t0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function YR(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Dy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2];return e[0]=s*f-n*c,e[1]=n*o-i*f,e[2]=i*c-s*o,e}function Hj(e,t,r,i){var s=t[0],n=t[1],o=t[2];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e}function Oy(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[3]*i+r[7]*s+r[11]*n+r[15];return o=o||1,e[0]=(r[0]*i+r[4]*s+r[8]*n+r[12])/o,e[1]=(r[1]*i+r[5]*s+r[9]*n+r[13])/o,e[2]=(r[2]*i+r[6]*s+r[10]*n+r[14])/o,e}function OE(e,t,r){var i=t[0],s=t[1],n=t[2];return e[0]=i*r[0]+s*r[3]+n*r[6],e[1]=i*r[1]+s*r[4]+n*r[7],e[2]=i*r[2]+s*r[5]+n*r[8],e}function BE(e,t,r){var i=r[0],s=r[1],n=r[2],o=r[3],c=t[0],f=t[1],_=t[2],w=s*_-n*f,I=n*c-i*_,R=i*f-s*c,N=s*R-n*I,j=n*w-i*R,Q=i*I-s*w,et=o*2;return w*=et,I*=et,R*=et,N*=2,j*=2,Q*=2,e[0]=c+w+N,e[1]=f+I+j,e[2]=_+R+Q,e}function qj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0],n[1]=s[1]*Math.cos(i)-s[2]*Math.sin(i),n[2]=s[1]*Math.sin(i)+s[2]*Math.cos(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Zj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[2]*Math.sin(i)+s[0]*Math.cos(i),n[1]=s[1],n[2]=s[2]*Math.cos(i)-s[0]*Math.sin(i),e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Yj(e,t,r,i){var s=[],n=[];return s[0]=t[0]-r[0],s[1]=t[1]-r[1],s[2]=t[2]-r[2],n[0]=s[0]*Math.cos(i)-s[1]*Math.sin(i),n[1]=s[0]*Math.sin(i)+s[1]*Math.cos(i),n[2]=s[2],e[0]=n[0]+r[0],e[1]=n[1]+r[1],e[2]=n[2]+r[2],e}function Qj(e,t){var r=e[0],i=e[1],s=e[2],n=t[0],o=t[1],c=t[2],f=Math.sqrt(r*r+i*i+s*s),_=Math.sqrt(n*n+o*o+c*c),w=f*_,I=w&&YR(e,t)/w;return Math.acos(Math.min(Math.max(I,-1),1))}var FE=tat;var $j=eat;var zE=Jot,NE=rat,i4t=function(){var e=qR();return function(t,r,i,s,n,o){var c,f;for(r||(r=3),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;c0?this.copy([t,...r]):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this.check()}identity(){return this.copy(iat)}fromObject(t){return this.check()}fromQuaternion(t){return i7(this,t),this.check()}set(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this[4]=n,this[5]=o,this[6]=c,this[7]=f,this[8]=_,this.check()}setRowMajor(t,r,i,s,n,o,c,f,_){return this[0]=t,this[1]=s,this[2]=c,this[3]=r,this[4]=n,this[5]=f,this[6]=i,this[7]=o,this[8]=_,this.check()}determinant(){return t7(this)}transpose(){return Kj(this,this),this.check()}invert(){return Jj(this,this),this.check()}multiplyLeft(t){return $R(this,t,this),this.check()}multiplyRight(t){return $R(this,this,t),this.check()}rotate(t){return r7(this,this,t),this.check()}scale(t){return Array.isArray(t)?XR(this,this,t):XR(this,this,[t,t]),this.check()}translate(t){return e7(this,this,t),this.check()}transform(t,r){let i;switch(t.length){case 2:i=Fj(r||[-0,-0],t,this);break;case 3:i=OE(r||[-0,-0,-0],t,this);break;case 4:i=DE(r||[-0,-0,-0,-0],t,this);break;default:throw new Error(\"Illegal vector\")}return QA(i,t.length),i}transformVector(t,r){return this.transform(t,r)}transformVector2(t,r){return this.transform(t,r)}transformVector3(t,r){return this.transform(t,r)}},jE,GE;function nat(){return jE||(jE=new ss([0,0,0,0,0,0,0,0,0]),Object.freeze(jE)),jE}function sat(){return GE||(GE=new ss,Object.freeze(GE)),GE}function oat(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function s7(e,t){if(e===t){var r=t[1],i=t[2],s=t[3],n=t[6],o=t[7],c=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=i,e[9]=n,e[11]=t[14],e[12]=s,e[13]=o,e[14]=c}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Sb(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=t[4],c=t[5],f=t[6],_=t[7],w=t[8],I=t[9],R=t[10],N=t[11],j=t[12],Q=t[13],et=t[14],Y=t[15],K=r*c-i*o,J=r*f-s*o,ut=r*_-n*o,Et=i*f-s*c,kt=i*_-n*c,Xt=s*_-n*f,qt=w*Q-I*j,le=w*et-R*j,ue=w*Y-N*j,De=I*et-R*Q,Ke=I*Y-N*Q,rr=R*Y-N*et,Sr=K*rr-J*Ke+ut*De+Et*ue-kt*le+Xt*qt;return Sr?(Sr=1/Sr,e[0]=(c*rr-f*Ke+_*De)*Sr,e[1]=(s*Ke-i*rr-n*De)*Sr,e[2]=(Q*Xt-et*kt+Y*Et)*Sr,e[3]=(R*kt-I*Xt-N*Et)*Sr,e[4]=(f*ue-o*rr-_*le)*Sr,e[5]=(r*rr-s*ue+n*le)*Sr,e[6]=(et*ut-j*Xt-Y*J)*Sr,e[7]=(w*Xt-R*ut+N*J)*Sr,e[8]=(o*Ke-c*ue+_*qt)*Sr,e[9]=(i*ue-r*Ke-n*qt)*Sr,e[10]=(j*kt-Q*ut+Y*K)*Sr,e[11]=(I*ut-w*kt-N*K)*Sr,e[12]=(c*le-o*De-f*qt)*Sr,e[13]=(r*De-i*le+s*qt)*Sr,e[14]=(Q*J-j*Et-et*K)*Sr,e[15]=(w*Et-I*J+R*K)*Sr,e):null}function o7(e){var t=e[0],r=e[1],i=e[2],s=e[3],n=e[4],o=e[5],c=e[6],f=e[7],_=e[8],w=e[9],I=e[10],R=e[11],N=e[12],j=e[13],Q=e[14],et=e[15],Y=t*o-r*n,K=t*c-i*n,J=t*f-s*n,ut=r*c-i*o,Et=r*f-s*o,kt=i*f-s*c,Xt=_*j-w*N,qt=_*Q-I*N,le=_*et-R*N,ue=w*Q-I*j,De=w*et-R*j,Ke=I*et-R*Q;return Y*Ke-K*De+J*ue+ut*le-Et*qt+kt*Xt}function qf(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=t[4],f=t[5],_=t[6],w=t[7],I=t[8],R=t[9],N=t[10],j=t[11],Q=t[12],et=t[13],Y=t[14],K=t[15],J=r[0],ut=r[1],Et=r[2],kt=r[3];return e[0]=J*i+ut*c+Et*I+kt*Q,e[1]=J*s+ut*f+Et*R+kt*et,e[2]=J*n+ut*_+Et*N+kt*Y,e[3]=J*o+ut*w+Et*j+kt*K,J=r[4],ut=r[5],Et=r[6],kt=r[7],e[4]=J*i+ut*c+Et*I+kt*Q,e[5]=J*s+ut*f+Et*R+kt*et,e[6]=J*n+ut*_+Et*N+kt*Y,e[7]=J*o+ut*w+Et*j+kt*K,J=r[8],ut=r[9],Et=r[10],kt=r[11],e[8]=J*i+ut*c+Et*I+kt*Q,e[9]=J*s+ut*f+Et*R+kt*et,e[10]=J*n+ut*_+Et*N+kt*Y,e[11]=J*o+ut*w+Et*j+kt*K,J=r[12],ut=r[13],Et=r[14],kt=r[15],e[12]=J*i+ut*c+Et*I+kt*Q,e[13]=J*s+ut*f+Et*R+kt*et,e[14]=J*n+ut*_+Et*N+kt*Y,e[15]=J*o+ut*w+Et*j+kt*K,e}function ag(e,t,r){var i=r[0],s=r[1],n=r[2],o,c,f,_,w,I,R,N,j,Q,et,Y;return t===e?(e[12]=t[0]*i+t[4]*s+t[8]*n+t[12],e[13]=t[1]*i+t[5]*s+t[9]*n+t[13],e[14]=t[2]*i+t[6]*s+t[10]*n+t[14],e[15]=t[3]*i+t[7]*s+t[11]*n+t[15]):(o=t[0],c=t[1],f=t[2],_=t[3],w=t[4],I=t[5],R=t[6],N=t[7],j=t[8],Q=t[9],et=t[10],Y=t[11],e[0]=o,e[1]=c,e[2]=f,e[3]=_,e[4]=w,e[5]=I,e[6]=R,e[7]=N,e[8]=j,e[9]=Q,e[10]=et,e[11]=Y,e[12]=o*i+w*s+j*n+t[12],e[13]=c*i+I*s+Q*n+t[13],e[14]=f*i+R*s+et*n+t[14],e[15]=_*i+N*s+Y*n+t[15]),e}function By(e,t,r){var i=r[0],s=r[1],n=r[2];return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function a7(e,t,r,i){var s=i[0],n=i[1],o=i[2],c=Math.hypot(s,n,o),f,_,w,I,R,N,j,Q,et,Y,K,J,ut,Et,kt,Xt,qt,le,ue,De,Ke,rr,Sr,Li;return c0&&(o=1/Math.sqrt(o)),e[0]=r*o,e[1]=i*o,e[2]=s*o,e[3]=n*o,e}function _7(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function y7(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3];return e[0]=s+i*(r[0]-s),e[1]=n+i*(r[1]-n),e[2]=o+i*(r[2]-o),e[3]=c+i*(r[3]-c),e}function Nh(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3];return e[0]=r[0]*i+r[4]*s+r[8]*n+r[12]*o,e[1]=r[1]*i+r[5]*s+r[9]*n+r[13]*o,e[2]=r[2]*i+r[6]*s+r[10]*n+r[14]*o,e[3]=r[3]*i+r[7]*s+r[11]*n+r[15]*o,e}function v7(e,t,r){var i=t[0],s=t[1],n=t[2],o=r[0],c=r[1],f=r[2],_=r[3],w=_*i+c*n-f*s,I=_*s+f*i-o*n,R=_*n+o*s-c*i,N=-o*i-c*s-f*n;return e[0]=w*_+N*-o+I*-f-R*-c,e[1]=I*_+N*-c+R*-o-w*-f,e[2]=R*_+N*-f+w*-c-I*-o,e[3]=t[3],e}var b4t=function(){var e=cat();return function(t,r,i,s,n,o){var c,f;for(r||(r=4),i||(i=0),s?f=Math.min(s*r+i,t.length):f=t.length,c=i;cMath.PI*2)throw Error(\"expected radians\")}function Aat(e,t,r,i,s,n){let o=2*n/(r-t),c=2*n/(s-i),f=(r+t)/(r-t),_=(s+i)/(s-i),w=-1,I=-1,R=-2*n;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=f,e[9]=_,e[10]=w,e[11]=I,e[12]=0,e[13]=0,e[14]=R,e[15]=0,e}function b7(){var e=new ya(4);return ya!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function w7(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function iD(e,t,r){r=r*.5;var i=Math.sin(r);return e[0]=i*t[0],e[1]=i*t[1],e[2]=i*t[2],e[3]=Math.cos(r),e}function nD(e,t,r){var i=t[0],s=t[1],n=t[2],o=t[3],c=r[0],f=r[1],_=r[2],w=r[3];return e[0]=i*w+o*c+s*_-n*f,e[1]=s*w+o*f+n*c-i*_,e[2]=n*w+o*_+i*f-s*c,e[3]=o*w-i*c-s*f-n*_,e}function S7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+o*c,e[1]=s*f+n*c,e[2]=n*f-s*c,e[3]=o*f-i*c,e}function T7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f-n*c,e[1]=s*f+o*c,e[2]=n*f+i*c,e[3]=o*f-s*c,e}function M7(e,t,r){r*=.5;var i=t[0],s=t[1],n=t[2],o=t[3],c=Math.sin(r),f=Math.cos(r);return e[0]=i*f+s*c,e[1]=s*f-i*c,e[2]=n*f+o*c,e[3]=o*f-n*c,e}function E7(e,t){var r=t[0],i=t[1],s=t[2];return e[0]=r,e[1]=i,e[2]=s,e[3]=Math.sqrt(Math.abs(1-r*r-i*i-s*s)),e}function Mb(e,t,r,i){var s=t[0],n=t[1],o=t[2],c=t[3],f=r[0],_=r[1],w=r[2],I=r[3],R,N,j,Q,et;return N=s*f+n*_+o*w+c*I,N<0&&(N=-N,f=-f,_=-_,w=-w,I=-I),1-N>zh?(R=Math.acos(N),j=Math.sin(R),Q=Math.sin((1-i)*R)/j,et=Math.sin(i*R)/j):(Q=1-i,et=i),e[0]=Q*s+et*f,e[1]=Q*n+et*_,e[2]=Q*o+et*w,e[3]=Q*c+et*I,e}function P7(e,t){var r=t[0],i=t[1],s=t[2],n=t[3],o=r*r+i*i+s*s+n*n,c=o?1/o:0;return e[0]=-r*c,e[1]=-i*c,e[2]=-s*c,e[3]=n*c,e}function I7(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function sD(e,t){var r=t[0]+t[4]+t[8],i;if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,i=.5/i,e[0]=(t[5]-t[7])*i,e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);var n=(s+1)%3,o=(s+2)%3;i=Math.sqrt(t[s*3+s]-t[n*3+n]-t[o*3+o]+1),e[s]=.5*i,i=.5/i,e[3]=(t[n*3+o]-t[o*3+n])*i,e[n]=(t[n*3+s]+t[s*3+n])*i,e[o]=(t[o*3+s]+t[s*3+o])*i}return e}var C7=p7;var L7=Fy,k7=_7,R7=y7,D7=A7;var O7=m7;var B7=g7;var F7=function(){var e=qR(),t=ZR(1,0,0),r=ZR(0,1,0);return function(i,s,n){var o=YR(s,n);return o<-.999999?(Dy(e,t,s),zE(e)<1e-6&&Dy(e,r,s),Wj(e,e),iD(i,e,Math.PI),i):o>.999999?(i[0]=0,i[1]=0,i[2]=0,i[3]=1,i):(Dy(e,s,n),i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=1+o,B7(i,i))}}(),R4t=function(){var e=b7(),t=b7();return function(r,i,s,n,o,c){return Mb(e,i,o,c),Mb(t,s,n,c),Mb(r,e,t,2*c*(1-c)),r}}(),D4t=function(){var e=Xj();return function(t,r,i,s){return e[0]=i[0],e[3]=i[1],e[6]=i[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],B7(t,sD(t,e))}}();var gat=[0,0,0,1],lg=class extends np{constructor(t=0,r=0,i=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,r,i,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,r,i,s){return this[0]=t,this[1]=r,this[2]=i,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return sD(this,t),this.check()}fromAxisRotation(t,r){return iD(this,t,r),this.check()}identity(){return w7(this),this.check()}setAxisAngle(t,r){return this.fromAxisRotation(t,r)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=Qi(t)}get y(){return this[1]}set y(t){this[1]=Qi(t)}get z(){return this[2]}set z(t){this[2]=Qi(t)}get w(){return this[3]}set w(t){this[3]=Qi(t)}len(){return D7(this)}lengthSquared(){return O7(this)}dot(t){return k7(this,t)}rotationTo(t,r){return F7(this,t,r),this.check()}add(t){return C7(this,this,t),this.check()}calculateW(){return E7(this,this),this.check()}conjugate(){return I7(this,this),this.check()}invert(){return P7(this,this),this.check()}lerp(t,r,i){return i===void 0?this.lerp(this,t,r):(R7(this,t,r,i),this.check())}multiplyRight(t){return nD(this,this,t),this.check()}multiplyLeft(t){return nD(this,t,this),this.check()}normalize(){let t=this.len(),r=t>0?1/t:0;return this[0]=this[0]*r,this[1]=this[1]*r,this[2]=this[2]*r,this[3]=this[3]*r,t===0&&(this[3]=1),this.check()}rotateX(t){return S7(this,this,t),this.check()}rotateY(t){return T7(this,this,t),this.check()}rotateZ(t){return M7(this,this,t),this.check()}scale(t){return L7(this,this,t),this.check()}slerp(t,r,i){let s,n,o;switch(arguments.length){case 1:({start:s=gat,target:n,ratio:o}=t);break;case 2:s=this,n=t,o=r;break;default:s=t,n=r,o=i}return Mb(this,s,n,o),this.check()}transformVector4(t,r=new wb){return v7(r,t,this),QA(r,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,r){return this.setAxisAngle(t,r)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var YE={EPSILON1:.1,EPSILON2:.01,EPSILON3:.001,EPSILON4:1e-4,EPSILON5:1e-5,EPSILON6:1e-6,EPSILON7:1e-7,EPSILON8:1e-8,EPSILON9:1e-9,EPSILON10:1e-10,EPSILON11:1e-11,EPSILON12:1e-12,EPSILON13:1e-13,EPSILON14:1e-14,EPSILON15:1e-15,EPSILON16:1e-16,EPSILON17:1e-17,EPSILON18:1e-18,EPSILON19:1e-19,EPSILON20:1e-20,PI_OVER_TWO:Math.PI/2,PI_OVER_FOUR:Math.PI/4,PI_OVER_SIX:Math.PI/6,TWO_PI:Math.PI*2};var oD=`#if (defined(SHADER_TYPE_FRAGMENT) && defined(LIGHTING_FRAGMENT)) || (defined(SHADER_TYPE_VERTEX) && defined(LIGHTING_VERTEX))\n\nstruct AmbientLight {\n vec3 color;\n};\n\nstruct PointLight {\n vec3 color;\n vec3 position;\n vec3 attenuation;\n};\n\nstruct DirectionalLight {\n vec3 color;\n vec3 direction;\n};\n\nuniform AmbientLight lighting_uAmbientLight;\nuniform PointLight lighting_uPointLight[MAX_LIGHTS];\nuniform DirectionalLight lighting_uDirectionalLight[MAX_LIGHTS];\nuniform int lighting_uPointLightCount;\nuniform int lighting_uDirectionalLightCount;\n\nuniform bool lighting_uEnabled;\n\nfloat getPointLightAttenuation(PointLight pointLight, float distance) {\n return pointLight.attenuation.x\n + pointLight.attenuation.y * distance\n + pointLight.attenuation.z * distance * distance;\n}\n\n#endif\n`;var _at={lightSources:{}};function aD(){let{color:e=[0,0,0],intensity:t=1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return e.map(r=>r*t/255)}function yat(e){let{ambientLight:t,pointLights:r=[],directionalLights:i=[]}=e,s={};return t?s[\"lighting_uAmbientLight.color\"]=aD(t):s[\"lighting_uAmbientLight.color\"]=[0,0,0],r.forEach((n,o)=>{s[\"lighting_uPointLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uPointLight[\".concat(o,\"].position\")]=n.position,s[\"lighting_uPointLight[\".concat(o,\"].attenuation\")]=n.attenuation||[1,0,0]}),s.lighting_uPointLightCount=r.length,i.forEach((n,o)=>{s[\"lighting_uDirectionalLight[\".concat(o,\"].color\")]=aD(n),s[\"lighting_uDirectionalLight[\".concat(o,\"].direction\")]=n.direction}),s.lighting_uDirectionalLightCount=i.length,s}function z7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_at;if(\"lightSources\"in e){let{ambientLight:t,pointLights:r,directionalLights:i}=e.lightSources||{};return t||r&&r.length>0||i&&i.length>0?Object.assign({},yat({ambientLight:t,pointLights:r,directionalLights:i}),{lighting_uEnabled:!0}):{lighting_uEnabled:!1}}if(\"lights\"in e){let t={pointLights:[],directionalLights:[]};for(let r of e.lights||[])switch(r.type){case\"ambient\":t.ambientLight=r;break;case\"directional\":t.directionalLights.push(r);break;case\"point\":t.pointLights.push(r);break;default:}return z7({lightSources:t})}return{}}var lD={name:\"lights\",vs:oD,fs:oD,getUniforms:z7,defines:{MAX_LIGHTS:3}};var vat=new Uint8Array([0,255,255,255]),xat={pickingSelectedColor:null,pickingHighlightColor:vat,pickingActive:!1,pickingAttribute:!1};function bat(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xat,t={};if(e.pickingSelectedColor!==void 0)if(!e.pickingSelectedColor)t.picking_uSelectedColorValid=0;else{let r=e.pickingSelectedColor.slice(0,3);t.picking_uSelectedColorValid=1,t.picking_uSelectedColor=r}if(e.pickingHighlightColor){let r=Array.from(e.pickingHighlightColor,i=>i/255);Number.isFinite(r[3])||(r[3]=1),t.picking_uHighlightColor=r}return e.pickingActive!==void 0&&(t.picking_uActive=!!e.pickingActive,t.picking_uAttribute=!!e.pickingAttribute),t}var wat=`uniform bool picking_uActive;\nuniform bool picking_uAttribute;\nuniform vec3 picking_uSelectedColor;\nuniform bool picking_uSelectedColorValid;\n\nout vec4 picking_vRGBcolor_Avalid;\n\nconst float COLOR_SCALE = 1. / 255.;\n\nbool picking_isColorValid(vec3 color) {\n return dot(color, vec3(1.0)) > 0.001;\n}\n\nbool isVertexPicked(vec3 vertexColor) {\n return\n picking_uSelectedColorValid &&\n !picking_isColorValid(abs(vertexColor - picking_uSelectedColor));\n}\n\nvoid picking_setPickingColor(vec3 pickingColor) {\n if (picking_uActive) {\n picking_vRGBcolor_Avalid.a = float(picking_isColorValid(pickingColor));\n\n if (!picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = pickingColor * COLOR_SCALE;\n }\n } else {\n picking_vRGBcolor_Avalid.a = float(isVertexPicked(pickingColor));\n }\n}\n\nvoid picking_setPickingAttribute(float value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.r = value;\n }\n}\nvoid picking_setPickingAttribute(vec2 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rg = value;\n }\n}\nvoid picking_setPickingAttribute(vec3 value) {\n if (picking_uAttribute) {\n picking_vRGBcolor_Avalid.rgb = value;\n }\n}\n`,Sat=`uniform bool picking_uActive;\nuniform vec3 picking_uSelectedColor;\nuniform vec4 picking_uHighlightColor;\n\nin vec4 picking_vRGBcolor_Avalid;\nvec4 picking_filterHighlightColor(vec4 color) {\n if (picking_uActive) {\n return color;\n }\n bool selected = bool(picking_vRGBcolor_Avalid.a);\n\n if (selected) {\n float highLightAlpha = picking_uHighlightColor.a;\n float blendedAlpha = highLightAlpha + color.a * (1.0 - highLightAlpha);\n float highLightRatio = highLightAlpha / blendedAlpha;\n\n vec3 blendedRGB = mix(color.rgb, picking_uHighlightColor.rgb, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n } else {\n return color;\n }\n}\nvec4 picking_filterPickingColor(vec4 color) {\n if (picking_uActive) {\n if (picking_vRGBcolor_Avalid.a == 0.0) {\n discard;\n }\n return picking_vRGBcolor_Avalid;\n }\n return color;\n}\nvec4 picking_filterColor(vec4 color) {\n vec4 highightColor = picking_filterHighlightColor(color);\n return picking_filterPickingColor(highightColor);\n}\n\n`,QE={name:\"picking\",vs:wat,fs:Sat,getUniforms:bat};var cD=`\nuniform float lighting_uAmbient;\nuniform float lighting_uDiffuse;\nuniform float lighting_uShininess;\nuniform vec3 lighting_uSpecularColor;\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 light_direction, vec3 view_direction, vec3 normal_worldspace, vec3 color) {\n vec3 halfway_direction = normalize(light_direction + view_direction);\n float lambertian = dot(light_direction, normal_worldspace);\n float specular = 0.0;\n if (lambertian > 0.0) {\n float specular_angle = max(dot(normal_worldspace, halfway_direction), 0.0);\n specular = pow(specular_angle, lighting_uShininess);\n }\n lambertian = max(lambertian, 0.0);\n return (lambertian * lighting_uDiffuse * surfaceColor + specular * lighting_uSpecularColor) * color;\n}\n\nvec3 lighting_getLightColor(vec3 surfaceColor, vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = surfaceColor;\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n lightColor = lighting_uAmbient * surfaceColor * lighting_uAmbientLight.color;\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n\nvec3 lighting_getSpecularLightColor(vec3 cameraPosition, vec3 position_worldspace, vec3 normal_worldspace) {\n vec3 lightColor = vec3(0, 0, 0);\n vec3 surfaceColor = vec3(0, 0, 0);\n\n if (lighting_uEnabled) {\n vec3 view_direction = normalize(cameraPosition - position_worldspace);\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uPointLightCount) {\n break;\n }\n PointLight pointLight = lighting_uPointLight[i];\n vec3 light_position_worldspace = pointLight.position;\n vec3 light_direction = normalize(light_position_worldspace - position_worldspace);\n lightColor += lighting_getLightColor(surfaceColor, light_direction, view_direction, normal_worldspace, pointLight.color);\n }\n\n for (int i = 0; i < MAX_LIGHTS; i++) {\n if (i >= lighting_uDirectionalLightCount) {\n break;\n }\n DirectionalLight directionalLight = lighting_uDirectionalLight[i];\n lightColor += lighting_getLightColor(surfaceColor, -directionalLight.direction, view_direction, normal_worldspace, directionalLight.color);\n }\n }\n return lightColor;\n}\n`;var Tat={};function Mat(e){let{ambient:t=.35,diffuse:r=.6,shininess:i=32,specularColor:s=[30,30,30]}=e;return{lighting_uAmbient:t,lighting_uDiffuse:r,lighting_uShininess:i,lighting_uSpecularColor:s.map(n=>n/255)}}function N7(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tat;if(!(\"material\"in e))return{};let{material:t}=e;return t?Mat(t):{lighting_uEnabled:!1}}var Zf={name:\"gouraud-lighting\",dependencies:[lD],vs:cD,defines:{LIGHTING_VERTEX:1},getUniforms:N7},Ny={name:\"phong-lighting\",dependencies:[lD],fs:cD,defines:{LIGHTING_FRAGMENT:1},getUniforms:N7};var Eat=`attribute float transform_elementID;\nvec2 transform_getPixelSizeHalf(vec2 size) {\n return vec2(1.) / (2. * size);\n}\n\nvec2 transform_getPixelIndices(vec2 texSize, vec2 pixelSizeHalf) {\n float yIndex = floor((transform_elementID / texSize[0]) + pixelSizeHalf[1]);\n float xIndex = transform_elementID - (yIndex * texSize[0]);\n return vec2(xIndex, yIndex);\n}\nvec2 transform_getTexCoord(vec2 size) {\n vec2 pixelSizeHalf = transform_getPixelSizeHalf(size);\n vec2 indices = transform_getPixelIndices(size, pixelSizeHalf);\n vec2 coord = indices / size + pixelSizeHalf;\n return coord;\n}\nvec2 transform_getPos(vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec2 pos = (texCoord * (2.0, 2.0)) - (1., 1.);\n return pos;\n}\nvec4 transform_getInput(sampler2D texSampler, vec2 size) {\n vec2 texCoord = transform_getTexCoord(size);\n vec4 textureColor = texture2D(texSampler, texCoord);\n return textureColor;\n}\n`,uD={name:\"transform\",vs:Eat,fs:null};var Uh=class e{static getDefaultProgramManager(t){return t.luma=t.luma||{},t.luma.defaultProgramManager=t.luma.defaultProgramManager||new e(t),t.luma.defaultProgramManager}constructor(t){this.gl=t,this._programCache={},this._getUniforms={},this._registeredModules={},this._hookFunctions=[],this._defaultModules=[],this._hashes={},this._hashCounter=0,this.stateHash=0,this._useCounts={}}addDefaultModule(t){this._defaultModules.find(r=>r.name===t.name)||this._defaultModules.push(t),this.stateHash++}removeDefaultModule(t){let r=typeof t==\"string\"?t:t.name;this._defaultModules=this._defaultModules.filter(i=>i.name!==r),this.stateHash++}addShaderHook(t,r){r&&(t=Object.assign(r,{hook:t})),this._hookFunctions.push(t),this.stateHash++}get(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{vs:r=\"\",fs:i=\"\",defines:s={},inject:n={},varyings:o=[],bufferMode:c=35981,transpileToGLSL100:f=!1}=t,_=this._getModuleList(t.modules),w=this._getHash(r),I=this._getHash(i),R=_.map(J=>this._getHash(J.name)).sort(),N=o.map(J=>this._getHash(J)),j=Object.keys(s).sort(),Q=Object.keys(n).sort(),et=[],Y=[];for(let J of j)et.push(this._getHash(J)),et.push(this._getHash(s[J]));for(let J of Q)Y.push(this._getHash(J)),Y.push(this._getHash(n[J]));let K=\"\".concat(w,\"/\").concat(I,\"D\").concat(et.join(\"/\"),\"M\").concat(R.join(\"/\"),\"I\").concat(Y.join(\"/\"),\"V\").concat(N.join(\"/\"),\"H\").concat(this.stateHash,\"B\").concat(c).concat(f?\"T\":\"\");if(!this._programCache[K]){let J=VR(this.gl,{vs:r,fs:i,modules:_,inject:n,defines:s,hookFunctions:this._hookFunctions,transpileToGLSL100:f});this._programCache[K]=new rp(this.gl,{hash:K,vs:J.vs,fs:J.fs,varyings:o,bufferMode:c}),this._getUniforms[K]=J.getUniforms||(ut=>{}),this._useCounts[K]=0}return this._useCounts[K]++,this._programCache[K]}getUniforms(t){return this._getUniforms[t.hash]||null}release(t){let r=t.hash;this._useCounts[r]--,this._useCounts[r]===0&&(this._programCache[r].delete(),delete this._programCache[r],delete this._getUniforms[r],delete this._useCounts[r])}_getHash(t){return this._hashes[t]===void 0&&(this._hashes[t]=this._hashCounter++),this._hashes[t]}_getModuleList(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=new Array(this._defaultModules.length+t.length),i={},s=0;for(let n=0,o=this._defaultModules.length;n{},Rat={},fn=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{id:i=ta(\"model\")}=r;ye(Jd(t)),this.id=i,this.gl=t,this.id=r.id||ta(\"Model\"),this.lastLogTime=0,this.animated=!1,this.initialize(r)}initialize(t){this.props={},this.programManager=t.programManager||Uh.getDefaultProgramManager(this.gl),this._programManagerState=-1,this._managedProgram=!1;let{program:r=null,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this.program=null,this.vertexArray=null,this._programDirty=!0,this.userData={},this.needsRedraw=!0,this._attributes={},this.attributes={},this.uniforms={},this.pickable=!0,this._checkProgram(),this.setUniforms(Object.assign({},this.getModuleUniforms(t.moduleSettings))),this.drawMode=t.drawMode!==void 0?t.drawMode:4,this.vertexCount=t.vertexCount||0,this.geometryBuffers={},this.isInstanced=t.isInstanced||t.instanced||t.instanceCount>0,this._setModelProps(t),this.geometry={},ye(this.drawMode!==void 0&&Number.isFinite(this.vertexCount),kat)}setProps(t){this._setModelProps(t)}delete(){for(let t in this._attributes)this._attributes[t]!==this.attributes[t]&&this._attributes[t].delete();this._managedProgram&&(this.programManager.release(this.program),this._managedProgram=!1),this.vertexArray.delete(),this._deleteGeometryBuffers()}getDrawMode(){return this.drawMode}getVertexCount(){return this.vertexCount}getInstanceCount(){return this.instanceCount}getAttributes(){return this.attributes}getProgram(){return this.program}setProgram(t){let{program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=t;this.programProps={program:r,vs:i,fs:s,modules:n,defines:o,inject:c,varyings:f,bufferMode:_,transpileToGLSL100:w},this._programDirty=!0}getUniforms(){return this.uniforms}setDrawMode(t){return this.drawMode=t,this}setVertexCount(t){return ye(Number.isFinite(t)),this.vertexCount=t,this}setInstanceCount(t){return ye(Number.isFinite(t)),this.instanceCount=t,this}setGeometry(t){return this.drawMode=t.drawMode,this.vertexCount=t.getVertexCount(),this._deleteGeometryBuffers(),this.geometryBuffers=U7(this.gl,t),this.vertexArray.setAttributes(this.geometryBuffers),this}setAttributes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let r={};for(let i in t){let s=t[i];r[i]=s.getValue?s.getValue():s}return this.vertexArray.setAttributes(r),this}setUniforms(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.assign(this.uniforms,t),this}getModuleUniforms(t){this._checkProgram();let r=this.programManager.getUniforms(this.program);return r?r(t):{}}updateModuleSettings(t){let r=this.getModuleUniforms(t||{});return this.setUniforms(r)}clear(t){return Hf(this.program.gl,t),this}draw(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._checkProgram();let{moduleSettings:r=null,framebuffer:i,uniforms:s={},attributes:n={},transformFeedback:o=this.transformFeedback,parameters:c={},vertexArray:f=this.vertexArray}=t;this.setAttributes(n),this.updateModuleSettings(r),this.setUniforms(s);let _;He.priority>=Uy&&(_=this._logDrawCallStart(Uy));let w=this.vertexArray.getDrawParams(),{isIndexed:I=w.isIndexed,indexType:R=w.indexType,indexOffset:N=w.indexOffset,vertexArrayInstanced:j=w.isInstanced}=this.props;j&&!this.isInstanced&&He.warn(\"Found instanced attributes on non-instanced model\",this.id)();let{isInstanced:Q,instanceCount:et}=this,{onBeforeRender:Y=V7,onAfterRender:K=V7}=this.props;Y(),this.program.setUniforms(this.uniforms);let J=this.program.draw(Object.assign(Rat,t,{logPriority:_,uniforms:null,framebuffer:i,parameters:c,drawMode:this.getDrawMode(),vertexCount:this.getVertexCount(),vertexArray:f,transformFeedback:o,isIndexed:I,indexType:R,isInstanced:Q,instanceCount:et,offset:I?N:0}));return K(),He.priority>=Uy&&this._logDrawCallEnd(_,f,i),J}transform(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{discard:r=!0,feedbackBuffers:i,unbindModels:s=[]}=t,{parameters:n}=t;i&&this._setFeedbackBuffers(i),r&&(n=Object.assign({},n,{35977:r})),s.forEach(o=>o.vertexArray.unbindBuffers());try{this.draw(Object.assign({},t,{parameters:n}))}finally{s.forEach(o=>o.vertexArray.bindBuffers())}return this}render(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return He.warn(\"Model.render() is deprecated. Use Model.setUniforms() and Model.draw()\")(),this.setUniforms(t).draw()}_setModelProps(t){Object.assign(this.props,t),\"uniforms\"in t&&this.setUniforms(t.uniforms),\"pickable\"in t&&(this.pickable=t.pickable),\"instanceCount\"in t&&(this.instanceCount=t.instanceCount),\"geometry\"in t&&this.setGeometry(t.geometry),\"attributes\"in t&&this.setAttributes(t.attributes),\"_feedbackBuffers\"in t&&this._setFeedbackBuffers(t._feedbackBuffers)}_checkProgram(){if(!(this._programDirty||this.programManager.stateHash!==this._programManagerState))return;let{program:r}=this.programProps;if(r)this._managedProgram=!1;else{let{vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}=this.programProps;r=this.programManager.get({vs:i,fs:s,modules:n,inject:o,defines:c,varyings:f,bufferMode:_,transpileToGLSL100:w}),this.program&&this._managedProgram&&this.programManager.release(this.program),this._programManagerState=this.programManager.stateHash,this._managedProgram=!0}ye(r instanceof rp,\"Model needs a program\"),this._programDirty=!1,r!==this.program&&(this.program=r,this.vertexArray?this.vertexArray.setProps({program:this.program,attributes:this.vertexArray.attributes}):this.vertexArray=new Iy(this.gl,{program:this.program}),this.setUniforms(Object.assign({},this.getModuleUniforms())))}_deleteGeometryBuffers(){for(let t in this.geometryBuffers){let r=this.geometryBuffers[t][0]||this.geometryBuffers[t];r instanceof Fr&&r.delete()}}_setAnimationProps(t){this.animated&&ye(t,\"Model.draw(): animated uniforms but no animationProps\")}_setFeedbackBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wf(t))return this;let{gl:r}=this.program;return this.transformFeedback=this.transformFeedback||new ip(r,{program:this.program}),this.transformFeedback.setBuffers(t),this}_logDrawCallStart(t){let r=t>3?0:Lat;if(!(Date.now()-this.lastLogTime>> DRAWING MODEL \".concat(this.id),{collapsed:He.level<=2})(),t}_logDrawCallEnd(t,r,i,s){if(t===void 0)return;let n=CR({vertexArray:r,header:\"\".concat(this.id,\" attributes\"),attributes:this._attributes}),{table:o,unusedTable:c,unusedCount:f}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i)}),{table:_,count:w}=ME({header:\"\".concat(this.id,\" uniforms\"),program:this.program,uniforms:Object.assign({},this.program.uniforms,i),undefinedOnly:!0});w>0&&He.log(\"MISSING UNIFORMS\",Object.keys(_))(),f>0&&He.log(\"UNUSED UNIFORMS\",Object.keys(c))();let I=LR(this.vertexArray.configuration);He.table(t,n)(),He.table(t,o)(),He.table(t+1,I)(),s&&s.log({logLevel:Uy,message:\"Rendered to \".concat(s.id)}),He.groupEnd(Uy)()}};var Eb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.currentIndex=0,this.feedbackMap={},this.varyings=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}setupResources(t){for(let r of this.bindings)this._setupTransformFeedback(r,t)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyings:r}=this;return r.length>0&&(t=Object.assign({},t,{varyings:r})),t}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this.bindings[this.currentIndex],{sourceBuffers:i,transformFeedback:s}=r;return{attributes:Object.assign({},i,t.attributes),transformFeedback:s}}swap(){return this.feedbackMap?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t)}getBuffer(t){let{feedbackBuffers:r}=this.bindings[this.currentIndex],i=t?r[t]:null;return i?i instanceof Fr?i:i.buffer:null}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{varyingName:r}=t,i=this.getBuffer(r);return i?i.getData():null}delete(){for(let t in this.resources)this.resources[t].delete()}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupBuffers(t),this.varyings=t.varyings||Object.keys(this.bindings[this.currentIndex].feedbackBuffers),this.varyings.length>0&&ye(fr(this.gl))}_getFeedbackBuffers(t){let{sourceBuffers:r={}}=t,i={};if(this.bindings[this.currentIndex]&&Object.assign(i,this.bindings[this.currentIndex].feedbackBuffers),this.feedbackMap)for(let s in this.feedbackMap){let n=this.feedbackMap[s];s in r&&(i[n]=s)}Object.assign(i,t.feedbackBuffers);for(let s in i){let n=i[s];if(typeof n==\"string\"){let o=r[n],{byteLength:c,usage:f,accessor:_}=o;i[s]=this._createNewBuffer(s,{byteLength:c,usage:f,accessor:_})}}return i}_setupBuffers(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r=null}=t;Object.assign(this.feedbackMap,t.feedbackMap);let i=this._getFeedbackBuffers(t);this._updateBindings({sourceBuffers:r,feedbackBuffers:i})}_setupTransformFeedback(t,r){let{model:i}=r,{program:s}=i;t.transformFeedback=new ip(this.gl,{program:s,buffers:t.feedbackBuffers})}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this.feedbackMap){let{sourceBuffers:r,feedbackBuffers:i}=this._swapBuffers(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceBuffers:r,feedbackBuffers:i})}}_updateBinding(t,r){return t?(Object.assign(t.sourceBuffers,r.sourceBuffers),Object.assign(t.feedbackBuffers,r.feedbackBuffers),t.transformFeedback&&t.transformFeedback.setBuffers(t.feedbackBuffers),t):{sourceBuffers:Object.assign({},r.sourceBuffers),feedbackBuffers:Object.assign({},r.feedbackBuffers)}}_swapBuffers(t){if(!this.feedbackMap)return null;let r=Object.assign({},t.sourceBuffers),i=Object.assign({},t.feedbackBuffers);for(let s in this.feedbackMap){let n=this.feedbackMap[s];r[s]=t.feedbackBuffers[n],i[n]=t.sourceBuffers[s],ye(i[n]instanceof Fr)}return{sourceBuffers:r,feedbackBuffers:i}}_createNewBuffer(t,r){let i=new Fr(this.gl,r);return this.resources[t]&&this.resources[t].delete(),this.resources[t]=i,i}_getNextIndex(){return(this.currentIndex+1)%2}};var Dat=\"transform_uSampler_\",$E=\"transform_uSize_\",j7=\"transform_position\";function G7(e){let{vs:t,sourceTextureMap:r,targetTextureVarying:i,targetTexture:s}=e,o=Object.keys(r).length,c=null,f={},_=t,w={};if(o>0||i){let I=_.split(`\n`),R=I.slice();if(I.forEach((N,j,Q)=>{if(o>0){let et=zat(N,r);if(et){let{updatedLine:Y,inject:K}=et;R[j]=Y,w=Ly([w,K]),Object.assign(f,et.samplerTextureMap),o--}}i&&!c&&(c=Fat(N,i))}),i){ye(s);let N=\"\".concat($E).concat(i),j=\"uniform vec2 \".concat(N,`;\n`),Q=\" vec2 \".concat(j7,\" = transform_getPos(\").concat(N,`);\n gl_Position = vec4(`).concat(j7,`, 0, 1.);\n`);w=Ly([w,{\"vs:#decl\":j,\"vs:#main-start\":Q}])}_=R.join(`\n`)}return{vs:_,targetTextureType:c,inject:w,samplerTextureMap:f}}function W7(e){let{sourceTextureMap:t,targetTextureVarying:r,targetTexture:i}=e,s={},n,o;r&&({width:n,height:o}=i,s[\"\".concat($E).concat(r)]=[n,o]);for(let c in t)({width:n,height:o}=t[c]),s[\"\".concat($E).concat(c)]=[n,o];return s}function Oat(e){return IE(e,[\"attribute\",\"in\"])}function Bat(e){let t=\"\".concat(Dat).concat(e),r=\"\".concat($E).concat(e),i=\" uniform sampler2D \".concat(t,`;\n uniform vec2 `).concat(r,\";\");return{samplerName:t,sizeName:r,uniformDeclerations:i}}function Fat(e,t){let r=IE(e,[\"varying\",\"out\"]);return r&&r.name===t?r.type:null}function zat(e,t){let r={},i=Oat(e);if(!i)return null;let{type:s,name:n}=i;if(n&&t[n]){let o=\"// \".concat(e,\" => Replaced by Transform with a sampler\"),{samplerName:c,sizeName:f,uniformDeclerations:_}=Bat(n),w=jR(s),I=\" \".concat(s,\" \").concat(n,\" = transform_getInput(\").concat(c,\", \").concat(f,\").\").concat(w,`;\n`);return r[c]=n,{updatedLine:o,inject:{\"vs:#decl\":_,\"vs:#main-start\":I},samplerTextureMap:r}}return null}var Nat={10241:9728,10240:9728,10242:33071,10243:33071},Uat=\"transform_output\",Pb=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.id=this.currentIndex=0,this._swapTexture=null,this.targetTextureVarying=null,this.targetTextureType=null,this.samplerTextureMap=null,this.bindings=[],this.resources={},this._initialize(r),Object.seal(this)}updateModelProps(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=this._processVertexShader(t);return Object.assign({},t,r)}getDrawOptions(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,sourceTextures:i,framebuffer:s,targetTexture:n}=this.bindings[this.currentIndex],o=Object.assign({},r,t.attributes),c=Object.assign({},t.uniforms),f=Object.assign({},t.parameters),_=t.discard;if(this.hasSourceTextures||this.hasTargetTexture){o.transform_elementID=this.elementIDBuffer;for(let I in this.samplerTextureMap){let R=this.samplerTextureMap[I];c[I]=i[R]}this._setSourceTextureParameters();let w=W7({sourceTextureMap:i,targetTextureVarying:this.targetTextureVarying,targetTexture:n});Object.assign(c,w)}return this.hasTargetTexture&&(_=!1,f.viewport=[0,0,s.width,s.height]),{attributes:o,framebuffer:s,uniforms:c,discard:_,parameters:f}}swap(){return this._swapTexture?(this.currentIndex=this._getNextIndex(),!0):!1}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this._setupTextures(t)}getTargetTexture(){let{targetTexture:t}=this.bindings[this.currentIndex];return t}getData(){let{packed:t=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{framebuffer:r}=this.bindings[this.currentIndex],i=Dh(r);if(!t)return i;let s=i.constructor,n=GR(this.targetTextureType),o=new s(i.length*n/4),c=0;for(let f=0;f0&&arguments[0]!==void 0?arguments[0]:{},{_targetTextureVarying:r,_swapTexture:i}=t;this._swapTexture=i,this.targetTextureVarying=r,this.hasTargetTexture=r,this._setupTextures(t)}_createTargetTexture(t){let{sourceTextures:r,textureOrReference:i}=t;if(i instanceof pi)return i;let s=r[i];return s?(this._targetRefTexName=i,this._createNewTexture(s)):null}_setupTextures(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceBuffers:r,_sourceTextures:i={},_targetTexture:s}=t,n=this._createTargetTexture({sourceTextures:i,textureOrReference:s});this.hasSourceTextures=this.hasSourceTextures||i&&Object.keys(i).length>0,this._updateBindings({sourceBuffers:r,sourceTextures:i,targetTexture:n}),\"elementCount\"in t&&this._updateElementIDBuffer(t.elementCount)}_updateElementIDBuffer(t){if(typeof t!=\"number\"||this.elementCount>=t)return;let r=new Float32Array(t);r.forEach((i,s,n)=>{n[s]=s}),this.elementIDBuffer?this.elementIDBuffer.setData({data:r}):this.elementIDBuffer=new Fr(this.gl,{data:r,accessor:{size:1}}),this.elementCount=t}_updateBindings(t){if(this.bindings[this.currentIndex]=this._updateBinding(this.bindings[this.currentIndex],t),this._swapTexture){let{sourceTextures:r,targetTexture:i}=this._swapTextures(this.bindings[this.currentIndex]),s=this._getNextIndex();this.bindings[s]=this._updateBinding(this.bindings[s],{sourceTextures:r,targetTexture:i})}}_updateBinding(t,r){let{sourceBuffers:i,sourceTextures:s,targetTexture:n}=r;if(t||(t={sourceBuffers:{},sourceTextures:{},targetTexture:null}),Object.assign(t.sourceTextures,s),Object.assign(t.sourceBuffers,i),n){t.targetTexture=n;let{width:o,height:c}=n,{framebuffer:f}=t;f?(f.update({attachments:{36064:n},resizeAttachments:!1}),f.resize({width:o,height:c})):t.framebuffer=new yi(this.gl,{id:\"transform-framebuffer\",width:o,height:c,attachments:{36064:n}})}return t}_setSourceTextureParameters(){let t=this.currentIndex,{sourceTextures:r}=this.bindings[t];for(let i in r)r[i].setParameters(Nat)}_swapTextures(t){if(!this._swapTexture)return null;let r=Object.assign({},t.sourceTextures);r[this._swapTexture]=t.targetTexture;let i=t.sourceTextures[this._swapTexture];return{sourceTextures:r,targetTexture:i}}_createNewTexture(t){let r=yE(t,{parameters:{10241:9728,10240:9728,10242:33071,10243:33071},pixelStore:{37440:!1}});return this.ownTexture&&this.ownTexture.delete(),this.ownTexture=r,r}_getNextIndex(){return(this.currentIndex+1)%2}_processVertexShader(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{sourceTextures:r,targetTexture:i}=this.bindings[this.currentIndex],{vs:s,uniforms:n,targetTextureType:o,inject:c,samplerTextureMap:f}=G7({vs:t.vs,sourceTextureMap:r,targetTextureVarying:this.targetTextureVarying,targetTexture:i}),_=Ly([t.inject||{},c]);this.targetTextureType=o,this.samplerTextureMap=f;let w=t._fs||bb({version:Py(s),input:this.targetTextureVarying,inputType:o,output:Uat}),I=this.hasSourceTextures||this.targetTextureVarying?[uD].concat(t.modules||[]):t.modules;return{vs:s,fs:w,modules:I,uniforms:n,inject:_}}};var nc=class{static isSupported(t){return fr(t)}constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.gl=t,this.model=null,this.elementCount=0,this.bufferTransform=null,this.textureTransform=null,this.elementIDBuffer=null,this._initialize(r),Object.seal(this)}delete(){let{model:t,bufferTransform:r,textureTransform:i}=this;t&&t.delete(),r&&r.delete(),i&&i.delete()}run(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{clearRenderTarget:r=!0}=t,i=this._updateDrawOptions(t);r&&i.framebuffer&&i.framebuffer.clear({color:!0}),this.model.transform(i)}swap(){let t=!1,r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)t=t||i.swap();ye(t,\"Nothing to swap\")}getBuffer(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.bufferTransform&&this.bufferTransform.getBuffer(t)}getData(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r){let s=i.getData(t);if(s)return s}return null}getFramebuffer(){return this.textureTransform&&this.textureTransform.getFramebuffer()}update(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};\"elementCount\"in t&&this.model.setVertexCount(t.elementCount);let r=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let i of r)i.update(t)}_initialize(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{gl:r}=this;this._buildResourceTransforms(r,t),t=this._updateModelProps(t),this.model=new fn(r,Object.assign({},t,{fs:t.fs||bb({version:Py(t.vs)}),id:t.id||\"transform-model\",drawMode:t.drawMode||0,vertexCount:t.elementCount})),this.bufferTransform&&this.bufferTransform.setupResources({model:this.model})}_updateModelProps(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=s.updateModelProps(r);return r}_buildResourceTransforms(t,r){Vat(r)&&(this.bufferTransform=new Eb(t,r)),jat(r)&&(this.textureTransform=new Pb(t,r)),ye(this.bufferTransform||this.textureTransform,\"must provide source/feedback buffers or source/target textures\")}_updateDrawOptions(t){let r=Object.assign({},t),i=[this.bufferTransform,this.textureTransform].filter(Boolean);for(let s of i)r=Object.assign(r,s.getDrawOptions(r));return r}};function Vat(e){return!!(!Wf(e.feedbackBuffers)||!Wf(e.feedbackMap)||e.varyings&&e.varyings.length>0)}function jat(e){return!!(!Wf(e._sourceTextures)||e._targetTexture||e._targetTextureVarying)}var H7={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},$n=class{static get DRAW_MODE(){return H7}constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{id:r=ta(\"geometry\"),drawMode:i=H7.TRIANGLES,attributes:s={},indices:n=null,vertexCount:o=null}=t;this.id=r,this.drawMode=i|0,this.attributes={},this.userData={},this._setAttributes(s,n),this.vertexCount=o||this._calculateVertexCount(this.attributes,this.indices)}get mode(){return this.drawMode}getVertexCount(){return this.vertexCount}getAttributes(){return this.indices?{indices:this.indices,...this.attributes}:this.attributes}_print(t){return\"Geometry \".concat(this.id,\" attribute \").concat(t)}_setAttributes(t,r){r&&(this.indices=ArrayBuffer.isView(r)?{value:r,size:1}:r);for(let i in t){let s=t[i];s=ArrayBuffer.isView(s)?{value:s}:s,ye(ArrayBuffer.isView(s.value),\"\".concat(this._print(i),\": must be typed array or object with value as typed array\")),(i===\"POSITION\"||i===\"positions\")&&!s.size&&(s.size=3),i===\"indices\"?(ye(!this.indices),this.indices=s):this.attributes[i]=s}return this.indices&&this.indices.isIndexed!==void 0&&(this.indices=Object.assign({},this.indices),delete this.indices.isIndexed),this}_calculateVertexCount(t,r){if(r)return r.value.length;let i=1/0;for(let s in t){let n=t[s],{value:o,size:c,constant:f}=n;!f&&o&&c>=1&&(i=Math.min(i,o.length/c))}return ye(Number.isFinite(i)),i}};var Gat=1,Wat=1,KA=class{constructor(){this.time=0,this.channels=new Map,this.animations=new Map,this.playing=!1,this.lastEngineTime=-1}addChannel(t){let{delay:r=0,duration:i=Number.POSITIVE_INFINITY,rate:s=1,repeat:n=1}=t,o=Gat++,c={time:0,delay:r,duration:i,rate:s,repeat:n};return this._setChannelTime(c,this.time),this.channels.set(o,c),o}removeChannel(t){this.channels.delete(t);for(let[r,i]of this.animations)i.channel===t&&this.detachAnimation(r)}isFinished(t){let r=this.channels.get(t);return r===void 0?!1:this.time>=r.delay+r.duration*r.repeat}getTime(t){if(t===void 0)return this.time;let r=this.channels.get(t);return r===void 0?-1:r.time}setTime(t){this.time=Math.max(0,t);let r=this.channels.values();for(let s of r)this._setChannelTime(s,this.time);let i=this.animations.values();for(let s of i){let{animation:n,channel:o}=s;n.setTime(this.getTime(o))}}play(){this.playing=!0}pause(){this.playing=!1,this.lastEngineTime=-1}reset(){this.setTime(0)}attachAnimation(t,r){let i=Wat++;return this.animations.set(i,{animation:t,channel:r}),t.setTime(this.getTime(r)),i}detachAnimation(t){this.animations.delete(t)}update(t){this.playing&&(this.lastEngineTime===-1&&(this.lastEngineTime=t),this.setTime(this.time+(t-this.lastEngineTime)),this.lastEngineTime=t)}_setChannelTime(t,r){let i=r-t.delay,s=t.duration*t.repeat;i>=s?t.time=t.duration*t.rate:(t.time=Math.max(0,i)%t.duration,t.time*=t.rate)}};var Hat=[255,255,255],qat=1,Zat=0,XE=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"ambient\");let{color:r=Hat}=t,{intensity:i=qat}=t;this.id=t.id||\"ambient-\".concat(Zat++),this.color=r,this.intensity=i}};var Yat=[255,255,255],Qat=1,$at=[0,0,-1],Xat=0,Ib=class{constructor(t={}){G(this,\"id\",void 0),G(this,\"color\",void 0),G(this,\"intensity\",void 0),G(this,\"type\",\"directional\"),G(this,\"direction\",void 0),G(this,\"shadow\",void 0);let{color:r=Yat}=t,{intensity:i=Qat}=t,{direction:s=$at}=t,{_shadow:n=!1}=t;this.id=t.id||\"directional-\".concat(Xat++),this.color=r,this.intensity=i,this.type=\"directional\",this.direction=new Ve(s).normalize().toArray(),this.shadow=n}getProjectedLight(t){return this}};var Cb=class{constructor(t,r={id:\"pass\"}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"props\",void 0);let{id:i}=r;this.id=i,this.gl=t,this.props={...r}}setProps(t){Object.assign(this.props,t)}render(t){}cleanup(){}};var sc=class extends Cb{constructor(...t){super(...t),G(this,\"_lastRenderIndex\",-1)}render(t){let r=this.gl;return Ml(r,{framebuffer:t.target}),this._drawLayers(t)}_drawLayers(t){let{target:r,moduleParameters:i,viewports:s,views:n,onViewportActive:o,clearStack:c=!0,clearCanvas:f=!0}=t;t.pass=t.pass||\"unknown\";let _=this.gl;f&&Jat(_,r),c&&(this._lastRenderIndex=-1);let w=[];for(let I of s){let R=n&&n[I.id];o?.(I);let N=this._getDrawLayerParams(I,t),j=I.subViewports||[I];for(let Q of j){let et=this._drawLayersInViewport(_,{target:r,moduleParameters:i,viewport:Q,view:R,pass:t.pass,layers:t.layers},N);w.push(et)}}return w}_getDrawLayerParams(t,{layers:r,pass:i,isPicking:s=!1,layerFilter:n,cullRect:o,effects:c,moduleParameters:f},_=!1){let w=[],I=q7(this._lastRenderIndex+1),R={layer:r[0],viewport:t,isPicking:s,renderPass:i,cullRect:o},N={};for(let j=0;jHf(t,I))}let w={totalCount:r.length,visibleCount:0,compositeCount:0,pickableCount:0};Ml(t,{viewport:_});for(let I=0;I{let o=s.props._offset,c=s.id,f=s.parent&&s.parent.id,_;if(f&&!(f in t)&&i(s.parent,!1),f in r){let w=r[f]=r[f]||q7(t[f],t);_=w(s,n),r[c]=w}else Number.isFinite(o)?(_=o+(t[f]||0),r[c]=null):_=e;return n&&_>=e&&(e=_+1),t[c]=_,_};return i}function Kat(e,{moduleParameters:t,target:r,viewport:i}){let s=r&&r.id!==\"default-framebuffer\",n=t&&t.devicePixelRatio||El(e),o=s?r.height:e.drawingBufferHeight,c=i;return[c.x*n,o-(c.y+c.height)*n,c.width*n,c.height*n]}function Jat(e,t){let r=t?t.width:e.drawingBufferWidth,i=t?t.height:e.drawingBufferHeight;Ml(e,{viewport:[0,0,r,i]}),e.clear(16640)}var Lb=class extends sc{constructor(t,r){super(t,r),G(this,\"shadowMap\",void 0),G(this,\"depthBuffer\",void 0),G(this,\"fbo\",void 0),this.shadowMap=new pi(t,{width:1,height:1,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.depthBuffer=new el(t,{format:33189,width:1,height:1}),this.fbo=new yi(t,{id:\"shadowmap\",width:1,height:1,attachments:{36064:this.shadowMap,36096:this.depthBuffer}})}render(t){let r=this.fbo;Mn(this.gl,{depthRange:[0,1],depthTest:!0,blend:!1,clearColor:[1,1,1,1]},()=>{let i=t.viewports[0],s=El(this.gl),n=i.width*s,o=i.height*s;(n!==r.width||o!==r.height)&&r.resize({width:n,height:o}),super.render({...t,target:r,pass:\"shadow\"})})}shouldDrawLayer(t){return t.props.shadowEnabled!==!1}getModuleParameters(){return{drawToShadowMap:!0}}delete(){this.fbo&&(this.fbo.delete(),this.fbo=null),this.shadowMap&&(this.shadowMap.delete(),this.shadowMap=null),this.depthBuffer&&(this.depthBuffer.delete(),this.depthBuffer=null)}};var Z7=\"#define SMOOTH_EDGE_RADIUS 0.5\",tlt=`\n`.concat(Z7,`\n\nstruct VertexGeometry {\n vec4 position;\n vec3 worldPosition;\n vec3 worldPositionAlt;\n vec3 normal;\n vec2 uv;\n vec3 pickingColor;\n} geometry = VertexGeometry(\n vec4(0.0, 0.0, 1.0, 0.0),\n vec3(0.0),\n vec3(0.0),\n vec3(0.0),\n vec2(0.0),\n vec3(0.0)\n);\n`),elt=`\n`.concat(Z7,`\n\nstruct FragmentGeometry {\n vec2 uv;\n} geometry;\n\nfloat smoothedge(float edge, float x) {\n return smoothstep(edge - SMOOTH_EDGE_RADIUS, edge + SMOOTH_EDGE_RADIUS, x);\n}\n`),Y7={name:\"geometry\",vs:tlt,fs:elt};var rlt=Object.keys(Yr).map(e=>\"const int COORDINATE_SYSTEM_\".concat(e,\" = \").concat(Yr[e],\";\")).join(\"\"),ilt=Object.keys(Ja).map(e=>\"const int PROJECTION_MODE_\".concat(e,\" = \").concat(Ja[e],\";\")).join(\"\"),nlt=Object.keys(po).map(e=>\"const int UNIT_\".concat(e.toUpperCase(),\" = \").concat(po[e],\";\")).join(\"\"),Q7=\"\".concat(rlt,`\n`).concat(ilt,`\n`).concat(nlt,`\n\nuniform int project_uCoordinateSystem;\nuniform int project_uProjectionMode;\nuniform float project_uScale;\nuniform bool project_uWrapLongitude;\nuniform vec3 project_uCommonUnitsPerMeter;\nuniform vec3 project_uCommonUnitsPerWorldUnit;\nuniform vec3 project_uCommonUnitsPerWorldUnit2;\nuniform vec4 project_uCenter;\nuniform mat4 project_uModelMatrix;\nuniform mat4 project_uViewProjectionMatrix;\nuniform vec2 project_uViewportSize;\nuniform float project_uDevicePixelRatio;\nuniform float project_uFocalDistance;\nuniform vec3 project_uCameraPosition;\nuniform vec3 project_uCoordinateOrigin;\nuniform vec3 project_uCommonOrigin;\nuniform bool project_uPseudoMeters;\n\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / (PI * 2.0);\nconst vec3 ZERO_64_LOW = vec3(0.0);\nconst float EARTH_RADIUS = 6370972.0;\nconst float GLOBE_RADIUS = 256.0;\nfloat project_size_at_latitude(float lat) {\n float y = clamp(lat, -89.9, 89.9);\n return 1.0 / cos(radians(y));\n}\n\nfloat project_size() {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR &&\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT &&\n project_uPseudoMeters == false) {\n \n if (geometry.position.w == 0.0) {\n return project_size_at_latitude(geometry.worldPosition.y);\n }\n \n float y = geometry.position.y / TILE_SIZE * 2.0 - 1.0;\n float y2 = y * y;\n float y4 = y2 * y2;\n float y6 = y4 * y2;\n return 1.0 + 4.9348 * y2 + 4.0587 * y4 + 1.5642 * y6;\n }\n return 1.0;\n}\n\nfloat project_size_at_latitude(float meters, float lat) {\n return meters * project_uCommonUnitsPerMeter.z * project_size_at_latitude(lat);\n}\nfloat project_size(float meters) {\n return meters * project_uCommonUnitsPerMeter.z * project_size();\n}\n\nvec2 project_size(vec2 meters) {\n return meters * project_uCommonUnitsPerMeter.xy * project_size();\n}\n\nvec3 project_size(vec3 meters) {\n return meters * project_uCommonUnitsPerMeter * project_size();\n}\n\nvec4 project_size(vec4 meters) {\n return vec4(meters.xyz * project_uCommonUnitsPerMeter, meters.w);\n}\nmat3 project_get_orientation_matrix(vec3 up) {\n vec3 uz = normalize(up);\n vec3 ux = abs(uz.z) == 1.0 ? vec3(1.0, 0.0, 0.0) : normalize(vec3(uz.y, -uz.x, 0));\n vec3 uy = cross(uz, ux);\n return mat3(ux, uy, uz);\n}\n\nbool project_needs_rotation(vec3 commonPosition, out mat3 transform) {\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n transform = project_get_orientation_matrix(commonPosition);\n return true;\n }\n return false;\n}\nvec3 project_normal(vec3 vector) {\n vec4 normal_modelspace = project_uModelMatrix * vec4(vector, 0.0);\n vec3 n = normalize(normal_modelspace.xyz * project_uCommonUnitsPerMeter);\n mat3 rotation;\n if (project_needs_rotation(geometry.position.xyz, rotation)) {\n n = rotation * n;\n }\n return n;\n}\n\nvec4 project_offset_(vec4 offset) {\n float dy = offset.y;\n vec3 commonUnitsPerWorldUnit = project_uCommonUnitsPerWorldUnit + project_uCommonUnitsPerWorldUnit2 * dy;\n return vec4(offset.xyz * commonUnitsPerWorldUnit, offset.w);\n}\nvec2 project_mercator_(vec2 lnglat) {\n float x = lnglat.x;\n if (project_uWrapLongitude) {\n x = mod(x + 180., 360.0) - 180.;\n }\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan_fp32(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\nvec3 project_globe_(vec3 lnglatz) {\n float lambda = radians(lnglatz.x);\n float phi = radians(lnglatz.y);\n float cosPhi = cos(phi);\n float D = (lnglatz.z / EARTH_RADIUS + 1.0) * GLOBE_RADIUS;\n\n return vec3(\n sin(lambda) * cosPhi,\n -cos(lambda) * cosPhi,\n sin(phi)\n ) * D;\n}\nvec4 project_position(vec4 position, vec3 position64Low) {\n vec4 position_world = project_uModelMatrix * position;\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_mercator_(position_world.xy),\n project_size_at_latitude(position_world.z, position_world.y),\n position_world.w\n );\n }\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN) {\n position_world.xyz += project_uCoordinateOrigin;\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_GLOBE) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n return vec4(\n project_globe_(position_world.xyz),\n position_world.w\n );\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n if (abs(position_world.y - project_uCoordinateOrigin.y) > 0.25) {\n return vec4(\n project_mercator_(position_world.xy) - project_uCommonOrigin.xy,\n project_size(position_world.z),\n position_world.w\n );\n }\n }\n }\n if (project_uProjectionMode == PROJECTION_MODE_IDENTITY ||\n (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET &&\n (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_CARTESIAN))) {\n position_world.xyz -= project_uCoordinateOrigin;\n }\n return project_offset_(position_world) + project_offset_(project_uModelMatrix * vec4(position64Low, 0.0));\n}\n\nvec4 project_position(vec4 position) {\n return project_position(position, ZERO_64_LOW);\n}\n\nvec3 project_position(vec3 position, vec3 position64Low) {\n vec4 projected_position = project_position(vec4(position, 1.0), position64Low);\n return projected_position.xyz;\n}\n\nvec3 project_position(vec3 position) {\n vec4 projected_position = project_position(vec4(position, 1.0), ZERO_64_LOW);\n return projected_position.xyz;\n}\n\nvec2 project_position(vec2 position) {\n vec4 projected_position = project_position(vec4(position, 0.0, 1.0), ZERO_64_LOW);\n return projected_position.xy;\n}\n\nvec4 project_common_position_to_clipspace(vec4 position, mat4 viewProjectionMatrix, vec4 center) {\n return viewProjectionMatrix * position + center;\n}\nvec4 project_common_position_to_clipspace(vec4 position) {\n return project_common_position_to_clipspace(position, project_uViewProjectionMatrix, project_uCenter);\n}\nvec2 project_pixel_size_to_clipspace(vec2 pixels) {\n vec2 offset = pixels / project_uViewportSize * project_uDevicePixelRatio * 2.0;\n return offset * project_uFocalDistance;\n}\n\nfloat project_size_to_pixel(float meters) {\n return project_size(meters) * project_uScale;\n}\nfloat project_size_to_pixel(float size, int unit) {\n if (unit == UNIT_METERS) return project_size_to_pixel(size);\n if (unit == UNIT_COMMON) return size * project_uScale;\n return size;\n}\nfloat project_pixel_size(float pixels) {\n return pixels / project_uScale;\n}\nvec2 project_pixel_size(vec2 pixels) {\n return pixels / project_uScale;\n}\n`);function slt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{for(let s in i)if(!slt(i[s],t[s])){r=e(i),t=i;break}return r}}var $7=[0,0,0,0],olt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0],X7=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],alt=[0,0,0],K7=[0,0,0],llt=Yf(ult);function hD(e,t,r=K7){r.length<3&&(r=[r[0],r[1],0]);let i=r,s,n=!0;switch(t===Yr.LNGLAT_OFFSETS||t===Yr.METER_OFFSETS?s=r:s=e.isGeospatial?[Math.fround(e.longitude),Math.fround(e.latitude),0]:null,e.projectionMode){case Ja.WEB_MERCATOR:(t===Yr.LNGLAT||t===Yr.CARTESIAN)&&(s=[0,0,0],n=!1);break;case Ja.WEB_MERCATOR_AUTO_OFFSET:t===Yr.LNGLAT?i=s:t===Yr.CARTESIAN&&(i=[Math.fround(e.center[0]),Math.fround(e.center[1]),0],s=e.unprojectPosition(i),i[0]-=r[0],i[1]-=r[1],i[2]-=r[2]);break;case Ja.IDENTITY:i=e.position.map(Math.fround),i[2]=i[2]||0;break;case Ja.GLOBE:n=!1,s=null;break;default:n=!1}return{geospatialOrigin:s,shaderCoordinateOrigin:i,offsetMode:n}}function clt(e,t,r){let{viewMatrixUncentered:i,projectionMatrix:s}=e,{viewMatrix:n,viewProjectionMatrix:o}=e,c=$7,f=$7,_=e.cameraPosition,{geospatialOrigin:w,shaderCoordinateOrigin:I,offsetMode:R}=hD(e,t,r);return R&&(f=e.projectPosition(w||I),_=[_[0]-f[0],_[1]-f[1],_[2]-f[2]],f[3]=1,c=Nh([],f,o),n=i||n,o=qf([],s,n),o=qf([],o,olt)),{viewMatrix:n,viewProjectionMatrix:o,projectionCenter:c,originCommon:f,cameraPosCommon:_,shaderCoordinateOrigin:I,geospatialOrigin:w}}function J7({viewport:e,devicePixelRatio:t=1,modelMatrix:r=null,coordinateSystem:i=Yr.DEFAULT,coordinateOrigin:s=K7,autoWrapLongitude:n=!1}){i===Yr.DEFAULT&&(i=e.isGeospatial?Yr.LNGLAT:Yr.CARTESIAN);let o=llt({viewport:e,devicePixelRatio:t,coordinateSystem:i,coordinateOrigin:s});return o.project_uWrapLongitude=n,o.project_uModelMatrix=r||X7,o}function ult({viewport:e,devicePixelRatio:t,coordinateSystem:r,coordinateOrigin:i}){let{projectionCenter:s,viewProjectionMatrix:n,originCommon:o,cameraPosCommon:c,shaderCoordinateOrigin:f,geospatialOrigin:_}=clt(e,r,i),w=e.getDistanceScales(),I=[e.width*t,e.height*t],R=Nh([],[0,0,-e.focalDistance,1],e.projectionMatrix)[3]||1,N={project_uCoordinateSystem:r,project_uProjectionMode:e.projectionMode,project_uCoordinateOrigin:f,project_uCommonOrigin:o.slice(0,3),project_uCenter:s,project_uPseudoMeters:!!e._pseudoMeters,project_uViewportSize:I,project_uDevicePixelRatio:t,project_uFocalDistance:R,project_uCommonUnitsPerMeter:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit:w.unitsPerMeter,project_uCommonUnitsPerWorldUnit2:alt,project_uScale:e.scale,project_uWrapLongitude:!1,project_uViewProjectionMatrix:n,project_uModelMatrix:X7,project_uCameraPosition:c};if(_){let j=e.getDistanceScales(_);switch(r){case Yr.METER_OFFSETS:N.project_uCommonUnitsPerWorldUnit=j.unitsPerMeter,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerMeter2;break;case Yr.LNGLAT:case Yr.LNGLAT_OFFSETS:e._pseudoMeters||(N.project_uCommonUnitsPerMeter=j.unitsPerMeter),N.project_uCommonUnitsPerWorldUnit=j.unitsPerDegree,N.project_uCommonUnitsPerWorldUnit2=j.unitsPerDegree2;break;case Yr.CARTESIAN:N.project_uCommonUnitsPerWorldUnit=[1,1,j.unitsPerMeter[2]],N.project_uCommonUnitsPerWorldUnit2=[0,0,j.unitsPerMeter2[2]];break;default:break}}return N}var hlt={};function flt(e=hlt){return\"viewport\"in e?J7(e):{}}var Vh={name:\"project\",dependencies:[CE,Y7],vs:Q7,getUniforms:flt};function fD(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function JA(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}function dD(e,t){let r=e%t;return r<0?t+r:r}function tG(e,t,r){return r*t+(1-r)*e}function kb(e,t,r){return er?r:e}function dlt(e){return Math.log(e)*Math.LOG2E}var Vy=Math.log2||dlt;function Bu(e,t){if(!e)throw new Error(t||\"@math.gl/web-mercator: assertion failed.\")}var jh=Math.PI,eG=jh/4,Fu=jh/180,pD=180/jh,jy=512,KE=4003e4,Gy=85.051129,rG=1.5;function Rb(e){return Math.pow(2,e)}function JE(e){return Vy(e)}function va(e){let[t,r]=e;Bu(Number.isFinite(t)),Bu(Number.isFinite(r)&&r>=-90&&r<=90,\"invalid latitude\");let i=t*Fu,s=r*Fu,n=jy*(i+jh)/(2*jh),o=jy*(jh+Math.log(Math.tan(eG+s*.5)))/(2*jh);return[n,o]}function oc(e){let[t,r]=e,i=t/jy*(2*jh)-jh,s=2*(Math.atan(Math.exp(r/jy*(2*jh)-jh))-eG);return[i*pD,s*pD]}function AD(e){let{latitude:t}=e;Bu(Number.isFinite(t));let r=Math.cos(t*Fu);return JE(KE*r)-9}function Db(e){let t=Math.cos(e*Fu);return jy/KE/t}function Wy(e){let{latitude:t,longitude:r,highPrecision:i=!1}=e;Bu(Number.isFinite(t)&&Number.isFinite(r));let s=jy,n=Math.cos(t*Fu),o=s/360,c=o/n,f=s/KE/n,_={unitsPerMeter:[f,f,f],metersPerUnit:[1/f,1/f,1/f],unitsPerDegree:[o,c,f],degreesPerUnit:[1/o,1/c,1/f]};if(i){let w=Fu*Math.tan(t*Fu)/n,I=o*w/2,R=s/KE*w,N=R/c*f;_.unitsPerDegree2=[0,I,R],_.unitsPerMeter2=[N,0,N]}return _}function Ob(e,t){let[r,i,s]=e,[n,o,c]=t,{unitsPerMeter:f,unitsPerMeter2:_}=Wy({longitude:r,latitude:i,highPrecision:!0}),w=va(e);w[0]+=n*(f[0]+_[0]*o),w[1]+=o*(f[1]+_[1]*o);let I=oc(w),R=(s||0)+(c||0);return Number.isFinite(s)||Number.isFinite(c)?[I[0],I[1],R]:I}function tP(e){let{height:t,pitch:r,bearing:i,altitude:s,scale:n,center:o}=e,c=fD();ag(c,c,[0,0,-s]),WE(c,c,-r*Fu),HE(c,c,i*Fu);let f=n/t;return By(c,c,[f,f,f]),o&&ag(c,c,Gj([],o)),c}function mD(e){let{width:t,height:r,altitude:i,pitch:s=0,offset:n,center:o,scale:c,nearZMultiplier:f=1,farZMultiplier:_=1}=e,{fovy:w=cg(rG)}=e;i!==void 0&&(w=cg(i));let I=w*Fu,R=s*Fu,N=Bb(w),j=N;o&&(j+=o[2]*c/Math.cos(R)/r);let Q=I*(.5+(n?n[1]:0)/r),et=Math.sin(Q)*j/Math.sin(kb(Math.PI/2-R-Q,.01,Math.PI-.01)),Y=Math.sin(R)*et+j,K=j*10,J=Math.min(Y*_,K);return{fov:I,aspect:t/r,focalDistance:N,near:f,far:J}}function cg(e){return 2*Math.atan(.5/e)*pD}function Bb(e){return .5/Math.tan(.5*e*Fu)}function Hy(e,t){let[r,i,s=0]=e;return Bu(Number.isFinite(r)&&Number.isFinite(i)&&Number.isFinite(s)),JA(t,[r,i,s,1])}function Qf(e,t,r=0){let[i,s,n]=e;if(Bu(Number.isFinite(i)&&Number.isFinite(s),\"invalid pixel coordinate\"),Number.isFinite(n))return JA(t,[i,s,n,1]);let o=JA(t,[i,s,0,1]),c=JA(t,[i,s,1,1]),f=o[2],_=c[2],w=f===_?0:((r||0)-f)/(_-f);return kE([],o,c,w)}function Fb(e){let{width:t,height:r,bounds:i,minExtent:s=0,maxZoom:n=24,offset:o=[0,0]}=e,[[c,f],[_,w]]=i,I=plt(e.padding),R=va([c,kb(w,-Gy,Gy)]),N=va([_,kb(f,-Gy,Gy)]),j=[Math.max(Math.abs(N[0]-R[0]),s),Math.max(Math.abs(N[1]-R[1]),s)],Q=[t-I.left-I.right-Math.abs(o[0])*2,r-I.top-I.bottom-Math.abs(o[1])*2];Bu(Q[0]>0&&Q[1]>0);let et=Q[0]/j[0],Y=Q[1]/j[1],K=(I.right-I.left)/2/et,J=(I.top-I.bottom)/2/Y,ut=[(N[0]+R[0])/2+K,(N[1]+R[1])/2+J],Et=oc(ut),kt=Math.min(n,Vy(Math.abs(Math.min(et,Y))));return Bu(Number.isFinite(kt)),{longitude:Et[0],latitude:Et[1],zoom:kt}}function plt(e=0){return typeof e==\"number\"?{top:e,bottom:e,left:e,right:e}:(Bu(Number.isFinite(e.top)&&Number.isFinite(e.bottom)&&Number.isFinite(e.left)&&Number.isFinite(e.right)),e)}var iG=Math.PI/180;function zb(e,t=0){let{width:r,height:i,unproject:s}=e,n={targetZ:t},o=s([0,i],n),c=s([r,i],n),f,_,w=e.fovy?.5*e.fovy*iG:Math.atan(.5/e.altitude),I=(90-e.pitch)*iG;return w>I-.01?(f=nG(e,0,t),_=nG(e,r,t)):(f=s([0,0],n),_=s([r,0],n)),[o,c,_,f]}function nG(e,t,r){let{pixelUnprojectionMatrix:i}=e,s=JA(i,[t,0,1,1]),n=JA(i,[t,e.height,1,1]),c=(r*e.distanceScales.unitsPerMeter[2]-s[2])/(n[2]-s[2]),f=kE([],s,n,c),_=oc(f);return _.push(r),_}var sG=512;function eP(e){let{width:t,height:r,pitch:i=0}=e,{longitude:s,latitude:n,zoom:o,bearing:c=0}=e;(s<-180||s>180)&&(s=dD(s+180,360)-180),(c<-180||c>180)&&(c=dD(c+180,360)-180);let f=Vy(r/sG);if(o<=f)o=f,n=0;else{let _=r/2/Math.pow(2,o),w=oc([0,_])[1];if(nI&&(n=I)}}return{width:t,height:r,longitude:s,latitude:n,zoom:o,pitch:i,bearing:c}}var oG=.01,mlt=[\"longitude\",\"latitude\",\"zoom\"],aG={curve:1.414,speed:1.2};function rP(e,t,r,i){let{startZoom:s,startCenterXY:n,uDelta:o,w0:c,u1:f,S:_,rho:w,rho2:I,r0:R}=lG(e,t,i);if(fo?0:w}function lG(e,t,r){r=Object.assign({},aG,r);let i=r.curve,s=e.zoom,n=[e.longitude,e.latitude],o=Rb(s),c=t.zoom,f=[t.longitude,t.latitude],_=Rb(c-s),w=va(n),I=va(f),R=Nj([],I,w),N=Math.max(e.width,e.height),j=N/_,Q=Bj(R)*o,et=Math.max(Q,oG),Y=i*i,K=(j*j-N*N+Y*Y*et*et)/(2*N*Y*et),J=(j*j-N*N-Y*Y*et*et)/(2*j*Y*et),ut=Math.log(Math.sqrt(K*K+1)-K),Et=Math.log(Math.sqrt(J*J+1)-J),kt=(Et-ut)/i;return{startZoom:s,startCenterXY:w,uDelta:R,w0:N,u1:Q,S:kt,rho:i,rho2:Y,r0:ut,r1:Et}}var _lt=`\nconst int max_lights = 2;\nuniform mat4 shadow_uViewProjectionMatrices[max_lights];\nuniform vec4 shadow_uProjectCenters[max_lights];\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform int shadow_uLightId;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nvec4 shadow_setVertexPosition(vec4 position_commonspace) {\n if (shadow_uDrawShadowMap) {\n return project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[shadow_uLightId], shadow_uProjectCenters[shadow_uLightId]);\n }\n if (shadow_uUseShadowMap) {\n for (int i = 0; i < max_lights; i++) {\n if(i < int(shadow_uLightCount)) {\n vec4 shadowMap_position = project_common_position_to_clipspace(position_commonspace, shadow_uViewProjectionMatrices[i], shadow_uProjectCenters[i]);\n shadow_vPosition[i] = (shadowMap_position.xyz / shadowMap_position.w + 1.0) / 2.0;\n }\n }\n }\n return gl_Position;\n}\n`,ylt=`\nconst int max_lights = 2;\nuniform bool shadow_uDrawShadowMap;\nuniform bool shadow_uUseShadowMap;\nuniform sampler2D shadow_uShadowMap0;\nuniform sampler2D shadow_uShadowMap1;\nuniform vec4 shadow_uColor;\nuniform float shadow_uLightCount;\n\nvarying vec3 shadow_vPosition[max_lights];\n\nconst vec4 bitPackShift = vec4(1.0, 255.0, 65025.0, 16581375.0);\nconst vec4 bitUnpackShift = 1.0 / bitPackShift;\nconst vec4 bitMask = vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n\nfloat shadow_getShadowWeight(vec3 position, sampler2D shadowMap) {\n vec4 rgbaDepth = texture2D(shadowMap, position.xy);\n\n float z = dot(rgbaDepth, bitUnpackShift);\n return smoothstep(0.001, 0.01, position.z - z);\n}\n\nvec4 shadow_filterShadowColor(vec4 color) {\n if (shadow_uDrawShadowMap) {\n vec4 rgbaDepth = fract(gl_FragCoord.z * bitPackShift);\n rgbaDepth -= rgbaDepth.gbaa * bitMask;\n return rgbaDepth;\n }\n if (shadow_uUseShadowMap) {\n float shadowAlpha = 0.0;\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[0], shadow_uShadowMap0);\n if(shadow_uLightCount > 1.0) {\n shadowAlpha += shadow_getShadowWeight(shadow_vPosition[1], shadow_uShadowMap1);\n }\n shadowAlpha *= shadow_uColor.a / shadow_uLightCount;\n float blendedAlpha = shadowAlpha + color.a * (1.0 - shadowAlpha);\n\n return vec4(\n mix(color.rgb, shadow_uColor.rgb, shadowAlpha / blendedAlpha),\n blendedAlpha\n );\n }\n return color;\n}\n`,vlt=Yf(Tlt),xlt=Yf(Mlt),blt=[0,0,0,1],wlt=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0];function Slt(e,t){let[r,i,s]=e,n=Qf([r,i,s],t);return Number.isFinite(s)?n:[n[0],n[1],0]}function Tlt({viewport:e,center:t}){return new En(e.viewProjectionMatrix).invert().transform(t)}function Mlt({viewport:e,shadowMatrices:t}){let r=[],i=e.pixelUnprojectionMatrix,s=e.isGeospatial?void 0:1,n=[[0,0,s],[e.width,0,s],[0,e.height,s],[e.width,e.height,s],[0,0,-1],[e.width,0,-1],[0,e.height,-1],[e.width,e.height,-1]].map(o=>Slt(o,i));for(let o of t){let c=o.clone().translate(new Ve(e.center).negate()),f=n.map(w=>c.transform(w)),_=new En().ortho({left:Math.min(...f.map(w=>w[0])),right:Math.max(...f.map(w=>w[0])),bottom:Math.min(...f.map(w=>w[1])),top:Math.max(...f.map(w=>w[1])),near:Math.min(...f.map(w=>-w[2])),far:Math.max(...f.map(w=>-w[2]))});r.push(_.multiplyRight(o))}return r}function Elt(e,t){let{shadowEnabled:r=!0}=e;if(!r||!e.shadowMatrices||!e.shadowMatrices.length)return{shadow_uDrawShadowMap:!1,shadow_uUseShadowMap:!1};let i={shadow_uDrawShadowMap:!!e.drawToShadowMap,shadow_uUseShadowMap:e.shadowMaps?e.shadowMaps.length>0:!1,shadow_uColor:e.shadowColor||blt,shadow_uLightId:e.shadowLightId||0,shadow_uLightCount:e.shadowMatrices.length},s=vlt({viewport:e.viewport,center:t.project_uCenter}),n=[],o=xlt({shadowMatrices:e.shadowMatrices,viewport:e.viewport}).slice();for(let c=0;c0?i[\"shadow_uShadowMap\".concat(c)]=e.shadowMaps[c]:i[\"shadow_uShadowMap\".concat(c)]=e.dummyShadowMap;return i}var Nb={name:\"shadow\",dependencies:[Vh],vs:_lt,fs:ylt,inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n position = shadow_setVertexPosition(geometry.position);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n color = shadow_filterShadowColor(color);\n `},getUniforms:(e={},t={})=>\"viewport\"in e&&(e.drawToShadowMap||e.shadowMaps&&e.shadowMaps.length>0)?Elt(e,t):{}};var Plt={color:[255,255,255],intensity:1},cG=[{color:[255,255,255],intensity:1,direction:[-1,3,-1]},{color:[255,255,255],intensity:.9,direction:[1,-8,-2.5]}],Ilt=[0,0,0,200/255],qy=class{constructor(t={}){G(this,\"id\",\"lighting-effect\"),G(this,\"props\",void 0),G(this,\"shadowColor\",Ilt),G(this,\"shadow\",void 0),G(this,\"ambientLight\",void 0),G(this,\"directionalLights\",void 0),G(this,\"pointLights\",void 0),G(this,\"shadowPasses\",[]),G(this,\"shadowMaps\",[]),G(this,\"dummyShadowMap\",null),G(this,\"programManager\",void 0),G(this,\"shadowMatrices\",void 0),this.setProps(t)}setProps(t){this.ambientLight=null,this.directionalLights=[],this.pointLights=[];for(let r in t){let i=t[r];switch(i.type){case\"ambient\":this.ambientLight=i;break;case\"directional\":this.directionalLights.push(i);break;case\"point\":this.pointLights.push(i);break;default:}}this._applyDefaultLights(),this.shadow=this.directionalLights.some(r=>r.shadow),this.props=t}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o}){if(this.shadow){this.shadowMatrices=this._calculateMatrices(),this.shadowPasses.length===0&&this._createShadowPasses(t),this.programManager||(this.programManager=Uh.getDefaultProgramManager(t),Nb&&this.programManager.addDefaultModule(Nb)),this.dummyShadowMap||(this.dummyShadowMap=new pi(t,{width:1,height:1}));for(let c=0;ci.getProjectedLight({layer:t})),pointLights:this.pointLights.map(i=>i.getProjectedLight({layer:t}))},r}cleanup(){for(let t of this.shadowPasses)t.delete();this.shadowPasses.length=0,this.shadowMaps.length=0,this.dummyShadowMap&&(this.dummyShadowMap.delete(),this.dummyShadowMap=null),this.shadow&&this.programManager&&(this.programManager.removeDefaultModule(Nb),this.programManager=null)}_calculateMatrices(){let t=[];for(let r of this.directionalLights){let i=new En().lookAt({eye:new Ve(r.direction).negate()});t.push(i)}return t}_createShadowPasses(t){for(let r=0;rs&&(n=s);let o=this._pool,c=t.BYTES_PER_ELEMENT*n,f=o.findIndex(_=>_.byteLength>=c);if(f>=0){let _=new t(o.splice(f,1)[0],0,n);return i&&_.fill(0),_}return new t(n)}_release(t){if(!ArrayBuffer.isView(t))return;let r=this._pool,{buffer:i}=t,{byteLength:s}=i,n=r.findIndex(o=>o.byteLength>=s);n<0?r.push(i):(n>0||r.lengththis.opts.poolSize&&r.shift()}},Gh=new _D;function Yy(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function hG(e){return[e[12],e[13],e[14]]}function fG(e){return{left:Zy(e[3]+e[0],e[7]+e[4],e[11]+e[8],e[15]+e[12]),right:Zy(e[3]-e[0],e[7]-e[4],e[11]-e[8],e[15]-e[12]),bottom:Zy(e[3]+e[1],e[7]+e[5],e[11]+e[9],e[15]+e[13]),top:Zy(e[3]-e[1],e[7]-e[5],e[11]-e[9],e[15]-e[13]),near:Zy(e[3]+e[2],e[7]+e[6],e[11]+e[10],e[15]+e[14]),far:Zy(e[3]-e[2],e[7]-e[6],e[11]-e[10],e[15]-e[14])}}var uG=new Ve;function Zy(e,t,r,i){uG.set(e,t,r);let s=uG.len();return{distance:i/s,normal:new Ve(-e/s,-t/s,-r/s)}}function Clt(e){return e-Math.fround(e)}var Ub;function iP(e,t){let{size:r=1,startIndex:i=0}=t,s=t.endIndex!==void 0?t.endIndex:e.length,n=(s-i)/r;Ub=Gh.allocate(Ub,n,{type:Float32Array,size:r*2});let o=i,c=0;for(;osuper.render({target:o,layers:t,layerFilter:r,views:i,viewports:s,onViewportActive:n,cullRect:I,effects:R?.filter(ut=>ut.useInPicking),pass:N,isPicking:!0,moduleParameters:Q}));return this._colorEncoderState=null,{decodePickingColor:Y&&Flt.bind(null,Y),stats:K}}shouldDrawLayer(t){let{pickable:r,operation:i}=t.props;return r&&i.includes(\"draw\")||i.includes(\"terrain\")||i.includes(\"mask\")}getModuleParameters(){return{pickingActive:1,pickingAttribute:this.pickZ,lightSources:{}}}getLayerParameters(t,r,i){let s={...t.props.parameters},{pickable:n,operation:o}=t.props;return this._colorEncoderState?n&&o.includes(\"draw\")&&(Object.assign(s,gG),s.blend=!0,s.blendColor=Blt(this._colorEncoderState,t,i)):s.blend=!1,o.includes(\"terrain\")&&(s.blend=!1),s}_resetColorEncoder(t){return this._colorEncoderState=t?null:{byLayer:new Map,byAlpha:[]},this._colorEncoderState}};function Blt(e,t,r){let{byLayer:i,byAlpha:s}=e,n,o=i.get(t);return o?(o.viewports.push(r),n=o.a):(n=i.size+1,n<=255?(o={a:n,layer:t,viewports:[r]},i.set(t,o),s[n]=o):(or.warn(\"Too many pickable layers, only picking the first 255\")(),n=0)),[0,0,0,n/255]}function Flt(e,t){let r=e.byAlpha[t[3]];return r&&{pickedLayer:r.layer,pickedViewports:r.viewports,pickedObjectIndex:r.layer.decodePickingColor(t)}}var tm={NO_STATE:\"Awaiting state\",MATCHED:\"Matched. State transferred from previous layer\",INITIALIZED:\"Initialized\",AWAITING_GC:\"Discarded. Awaiting garbage collection\",AWAITING_FINALIZATION:\"No longer matched. Awaiting garbage collection\",FINALIZED:\"Finalized! Awaiting garbage collection\"},Qy=Symbol.for(\"component\"),zu=Symbol.for(\"propTypes\"),nP=Symbol.for(\"deprecatedProps\"),sp=Symbol.for(\"asyncPropDefaults\"),$f=Symbol.for(\"asyncPropOriginal\"),Wh=Symbol.for(\"asyncPropResolved\");function op(e,t=()=>!0){return Array.isArray(e)?_G(e,t,[]):t(e)?[e]:[]}function _G(e,t,r){let i=-1;for(;++i0}delete(){}getData(){return this.isLoaded?this._error?Promise.reject(this._error):this._content:this._loader.then(()=>this.getData())}setData(t,r){if(t===this._data&&!r)return;this._data=t;let i=++this._loadCount,s=t;typeof t==\"string\"&&(s=jA(t)),s instanceof Promise?(this.isLoaded=!1,this._loader=s.then(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=void 0,this._content=n)}).catch(n=>{this._loadCount===i&&(this.isLoaded=!0,this._error=n||!0)})):(this.isLoaded=!0,this._error=void 0,this._content=t);for(let n of this._subscribers)n.onChange(this.getData())}};var jb=class{constructor({gl:t,protocol:r}){G(this,\"protocol\",void 0),G(this,\"_context\",void 0),G(this,\"_resources\",void 0),G(this,\"_consumers\",void 0),G(this,\"_pruneRequest\",void 0),this.protocol=r||\"resource://\",this._context={gl:t,resourceManager:this},this._resources={},this._consumers={},this._pruneRequest=null}contains(t){return t.startsWith(this.protocol)?!0:t in this._resources}add({resourceId:t,data:r,forceUpdate:i=!1,persistent:s=!0}){let n=this._resources[t];n?n.setData(r,i):(n=new Vb(t,r,this._context),this._resources[t]=n),n.persistent=s}remove(t){let r=this._resources[t];r&&(r.delete(),delete this._resources[t])}unsubscribe({consumerId:t}){let r=this._consumers[t];if(r){for(let i in r){let s=r[i],n=this._resources[s.resourceId];n&&n.unsubscribe(s)}delete this._consumers[t],this.prune()}}subscribe({resourceId:t,onChange:r,consumerId:i,requestId:s=\"default\"}){let{_resources:n,protocol:o}=this;t.startsWith(o)&&(t=t.replace(o,\"\"),n[t]||this.add({resourceId:t,data:null,persistent:!1}));let c=n[t];if(this._track(i,s,c,r),c)return c.getData()}prune(){this._pruneRequest||(this._pruneRequest=setTimeout(()=>this._prune(),0))}finalize(){for(let t in this._resources)this._resources[t].delete()}_track(t,r,i,s){let n=this._consumers,o=n[t]=n[t]||{},c=o[r]||{},f=c.resourceId&&this._resources[c.resourceId];f&&(f.unsubscribe(c),this.prune()),i&&(o[r]=c,c.onChange=s,c.resourceId=i.id,i.subscribe(c))}_prune(){this._pruneRequest=null;for(let t of Object.keys(this._resources)){let r=this._resources[t];!r.persistent&&!r.inUse()&&(r.delete(),delete this._resources[t])}}};var zlt=`\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset, out vec4 commonPosition\n) {\n vec3 projectedPosition = project_position(position, position64Low);\n mat3 rotation;\n if (project_needs_rotation(projectedPosition, rotation)) {\n // offset is specified as ENU\n // when in globe projection, rotate offset so that the ground alighs with the surface of the globe\n offset = rotation * offset;\n }\n commonPosition = vec4(projectedPosition + offset, 1.0);\n return project_common_position_to_clipspace(commonPosition);\n}\n\nvec4 project_position_to_clipspace(\n vec3 position, vec3 position64Low, vec3 offset\n) {\n vec4 commonPosition;\n return project_position_to_clipspace(position, position64Low, offset, commonPosition);\n}\n`,Rs={name:\"project32\",dependencies:[Vh],vs:zlt};var Ao={inject:{\"vs:DECKGL_FILTER_GL_POSITION\":`\n // for picking depth values\n picking_setPickingAttribute(position.z / position.w);\n `,\"vs:DECKGL_FILTER_COLOR\":`\n picking_setPickingColor(geometry.pickingColor);\n `,\"fs:#decl\":`\nuniform bool picking_uAttribute;\n `,\"fs:DECKGL_FILTER_COLOR\":{order:99,injection:`\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n `}},...QE};var Nlt=[Vh],Ult=[\"vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)\",\"vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)\",\"fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)\"];function yG(e){let t=Uh.getDefaultProgramManager(e);for(let r of Nlt)t.addDefaultModule(r);for(let r of Ult)t.addShaderHook(r);return t}var Vlt=\"layerManager.setLayers\",jlt=\"layerManager.activateViewport\",Gb=class{constructor(t,{deck:r,stats:i,viewport:s,timeline:n}={}){G(this,\"layers\",void 0),G(this,\"context\",void 0),G(this,\"resourceManager\",void 0),G(this,\"_lastRenderedLayers\",[]),G(this,\"_needsRedraw\",!1),G(this,\"_needsUpdate\",!1),G(this,\"_nextLayers\",null),G(this,\"_debug\",!1),G(this,\"activateViewport\",o=>{Ls(jlt,this,o),o&&(this.context.viewport=o)}),this.layers=[],this.resourceManager=new jb({gl:t,protocol:\"deck://\"}),this.context={mousePosition:null,userData:{},layerManager:this,gl:t,deck:r,programManager:t&&yG(t),stats:i||new Gf({id:\"deck.gl\"}),viewport:s||new ac({id:\"DEFAULT-INITIAL-VIEWPORT\"}),timeline:n||new KA,resourceManager:this.resourceManager,onError:void 0},Object.seal(this)}finalize(){this.resourceManager.finalize();for(let t of this.layers)this._finalizeLayer(t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);for(let i of this.layers){let s=i.getNeedsRedraw(t);r=r||s}return r}needsUpdate(){return this._nextLayers&&this._nextLayers!==this._lastRenderedLayers?\"layers changed\":this._needsUpdate}setNeedsRedraw(t){this._needsRedraw=this._needsRedraw||t}setNeedsUpdate(t){this._needsUpdate=this._needsUpdate||t}getLayers({layerIds:t}={}){return t?this.layers.filter(r=>t.find(i=>r.id.indexOf(i)===0)):this.layers}setProps(t){\"debug\"in t&&(this._debug=t.debug),\"userData\"in t&&(this.context.userData=t.userData),\"layers\"in t&&(this._nextLayers=t.layers),\"onError\"in t&&(this.context.onError=t.onError)}setLayers(t,r){Ls(Vlt,this,r,t),this._lastRenderedLayers=t;let i=op(t,Boolean);for(let s of i)s.context=this.context;this._updateLayers(this.layers,i)}updateLayers(){let t=this.needsUpdate();t&&(this.setNeedsRedraw(\"updating layers: \".concat(t)),this.setLayers(this._nextLayers||this._lastRenderedLayers,t)),this._nextLayers=null}_handleError(t,r,i){i.raiseError(r,\"\".concat(t,\" of \").concat(i))}_updateLayers(t,r){let i={};for(let o of t)i[o.id]?or.warn(\"Multiple old layers with same id \".concat(o.id))():i[o.id]=o;let s=[];this._updateSublayersRecursively(r,i,s),this._finalizeOldLayers(i);let n=!1;for(let o of s)if(o.hasUniformTransition()){n=\"Uniform transition in \".concat(o);break}this._needsUpdate=n,this.layers=s}_updateSublayersRecursively(t,r,i){for(let s of t){s.context=this.context;let n=r[s.id];n===null&&or.warn(\"Multiple new layers with same id \".concat(s.id))(),r[s.id]=null;let o=null;try{this._debug&&n!==s&&s.validateProps(),n?(this._transferLayerState(n,s),this._updateLayer(s)):this._initializeLayer(s),i.push(s),o=s.isComposite?s.getSubLayers():null}catch(c){this._handleError(\"matching\",c,s)}o&&this._updateSublayersRecursively(o,r,i)}}_finalizeOldLayers(t){for(let r in t){let i=t[r];i&&this._finalizeLayer(i)}}_initializeLayer(t){try{t._initialize(),t.lifecycle=tm.INITIALIZED}catch(r){this._handleError(\"initialization\",r,t)}}_transferLayerState(t,r){r._transferState(t),r.lifecycle=tm.MATCHED,r!==t&&(t.lifecycle=tm.AWAITING_GC)}_updateLayer(t){try{t._update()}catch(r){this._handleError(\"update\",r,t)}}_finalizeLayer(t){this._needsRedraw=this._needsRedraw||\"finalized \".concat(t),t.lifecycle=tm.AWAITING_FINALIZATION;try{t._finalize(),t.lifecycle=tm.FINALIZED}catch(r){this._handleError(\"finalization\",r,t)}}};function mo(e,t,r){if(e===t)return!0;if(!r||!e||!t)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let i=0;ir.containsPixel(t)):this._viewports}getViews(){let t={};return this.views.forEach(r=>{t[r.id]=r}),t}getView(t){return this.views.find(r=>r.id===t)}getViewState(t){let r=typeof t==\"string\"?this.getView(t):t,i=r&&this.viewState[r.getViewStateId()]||this.viewState;return r?r.filterViewState(i):i}getViewport(t){return this._viewportMap[t]}unproject(t,r){let i=this.getViewports(),s={x:t[0],y:t[1]};for(let n=i.length-1;n>=0;--n){let o=i[n];if(o.containsPixel(s)){let c=t.slice();return c[0]-=o.x,c[1]-=o.y,o.unproject(c,r)}}return null}setProps(t){t.views&&this._setViews(t.views),t.viewState&&this._setViewState(t.viewState),(\"width\"in t||\"height\"in t)&&this._setSize(t.width,t.height),this._isUpdating||this._update()}_update(){this._isUpdating=!0,this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._needsUpdate&&(this._needsUpdate=!1,this._rebuildViewports()),this._isUpdating=!1}_setSize(t,r){(t!==this.width||r!==this.height)&&(this.width=t,this.height=r,this.setNeedsUpdate(\"Size changed\"))}_setViews(t){t=op(t,Boolean),this._diffViews(t,this.views)&&this.setNeedsUpdate(\"views changed\"),this.views=t}_setViewState(t){t?(!mo(t,this.viewState,3)&&this.setNeedsUpdate(\"viewState changed\"),this.viewState=t):or.warn(\"missing `viewState` or `initialViewState`\")()}_onViewStateChange(t,r){this._eventCallbacks.onViewStateChange&&this._eventCallbacks.onViewStateChange({...r,viewId:t})}_createController(t,r){let i=r.type;return new i({timeline:this.timeline,eventManager:this._eventManager,onViewStateChange:this._onViewStateChange.bind(this,r.id),onStateChange:this._eventCallbacks.onInteractionStateChange,makeViewport:n=>{var o;return(o=this.getView(t.id))===null||o===void 0?void 0:o.makeViewport({viewState:n,width:this.width,height:this.height})}})}_updateController(t,r,i,s){let n=t.controller;if(n&&i){let o={...r,...n,id:t.id,x:i.x,y:i.y,width:i.width,height:i.height};return(!s||s.constructor!==n.type)&&(s=this._createController(t,o)),s&&s.setProps(o),s}return null}_rebuildViewports(){let{views:t}=this,r=this.controllers;this._viewports=[],this.controllers={};let i=!1;for(let s=t.length;s--;){let n=t[s],o=this.getViewState(n),c=n.makeViewport({viewState:o,width:this.width,height:this.height}),f=r[n.id],_=!!n.controller;_&&!f&&(i=!0),(i||!_)&&f&&(f.finalize(),f=null),this.controllers[n.id]=this._updateController(n,o,c,f),c&&this._viewports.unshift(c)}for(let s in r){let n=r[s];n&&!this.controllers[s]&&n.finalize()}this._buildViewportMap()}_buildViewportMap(){this._viewportMap={},this._viewports.forEach(t=>{t.id&&(this._viewportMap[t.id]=this._viewportMap[t.id]||t)})}_diffViews(t,r){return t.length!==r.length?!0:t.some((i,s)=>!t[s].equals(r[s]))}};var Glt=/([0-9]+\\.?[0-9]*)(%|px)/;function ap(e){switch(typeof e){case\"number\":return{position:e,relative:!1};case\"string\":let t=Glt.exec(e);if(t&&t.length>=3){let r=t[2]===\"%\",i=parseFloat(t[1]);return{position:r?i/100:i,relative:r}}default:throw new Error(\"Could not parse position string \".concat(e))}}function lp(e,t){return e.relative?Math.round(e.position*t):e.position}function _r(e,t){if(!e)throw new Error(t||\"deck.gl: assertion failed.\")}var Xc=class{constructor(t){G(this,\"id\",void 0),G(this,\"viewportInstance\",void 0),G(this,\"_x\",void 0),G(this,\"_y\",void 0),G(this,\"_width\",void 0),G(this,\"_height\",void 0),G(this,\"_padding\",void 0),G(this,\"props\",void 0);let{id:r,x:i=0,y:s=0,width:n=\"100%\",height:o=\"100%\",padding:c=null,viewportInstance:f}=t||{};_r(!f||f instanceof ac),this.viewportInstance=f,this.id=r||this.constructor.displayName||\"view\",this.props={...t,id:this.id},this._x=ap(i),this._y=ap(s),this._width=ap(n),this._height=ap(o),this._padding=c&&{left:ap(c.left||0),right:ap(c.right||0),top:ap(c.top||0),bottom:ap(c.bottom||0)},this.equals=this.equals.bind(this),Object.seal(this)}equals(t){return this===t?!0:this.viewportInstance?t.viewportInstance?this.viewportInstance.equals(t.viewportInstance):!1:this.ViewportType===t.ViewportType&&mo(this.props,t.props,2)}makeViewport({width:t,height:r,viewState:i}){if(this.viewportInstance)return this.viewportInstance;i=this.filterViewState(i);let s=this.getDimensions({width:t,height:r});return!s.height||!s.width?null:new this.ViewportType({...i,...this.props,...s})}getViewStateId(){let{viewState:t}=this.props;return typeof t==\"string\"?t:t?.id||this.id}filterViewState(t){if(this.props.viewState&&typeof this.props.viewState==\"object\"){if(!this.props.viewState.id)return this.props.viewState;let r={...t};for(let i in this.props.viewState)i!==\"id\"&&(r[i]=this.props.viewState[i]);return r}return t}getDimensions({width:t,height:r}){let i={x:lp(this._x,t),y:lp(this._y,r),width:lp(this._width,t),height:lp(this._height,r)};return this._padding&&(i.padding={left:lp(this._padding.left,t),top:lp(this._padding.top,r),right:lp(this._padding.right,t),bottom:lp(this._padding.bottom,r)}),i}get controller(){let t=this.props.controller;return t?t===!0?{type:this.ControllerType}:typeof t==\"function\"?{type:t}:{type:this.ControllerType,...t}:null}};var Kc=class{constructor(t){G(this,\"_inProgress\",void 0),G(this,\"_handle\",void 0),G(this,\"_timeline\",void 0),G(this,\"time\",void 0),G(this,\"settings\",void 0),this._inProgress=!1,this._handle=null,this._timeline=t,this.time=0,this.settings={duration:0}}get inProgress(){return this._inProgress}start(t){var r,i;this.cancel(),this.settings=t,this._inProgress=!0,(r=(i=this.settings).onStart)===null||r===void 0||r.call(i,this)}end(){if(this._inProgress){var t,r;this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1,(t=(r=this.settings).onEnd)===null||t===void 0||t.call(r,this)}}cancel(){if(this._inProgress){var t,r;(t=(r=this.settings).onInterrupt)===null||t===void 0||t.call(r,this),this._timeline.removeChannel(this._handle),this._handle=null,this._inProgress=!1}}update(){var t,r;if(!this._inProgress)return!1;if(this._handle===null){let{_timeline:i,settings:s}=this;this._handle=i.addChannel({delay:i.getTime(),duration:s.duration})}return this.time=this._timeline.getTime(this._handle),this._onUpdate(),(t=(r=this.settings).onUpdate)===null||t===void 0||t.call(r,this),this._timeline.isFinished(this._handle)&&this.end(),!0}_onUpdate(){}};var vG=()=>{},bD={BREAK:1,SNAP_TO_END:2,IGNORE:3},Wlt=e=>e,Hlt=bD.BREAK,Hb=class{constructor(t){G(this,\"getControllerState\",void 0),G(this,\"props\",void 0),G(this,\"propsInTransition\",void 0),G(this,\"transition\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"_onTransitionUpdate\",r=>{let{time:i,settings:{interpolator:s,startProps:n,endProps:o,duration:c,easing:f}}=r,_=f(i/c),w=s.interpolateProps(n,o,_);this.propsInTransition=this.getControllerState({...this.props,...w}).getViewportProps(),this.onViewStateChange({viewState:this.propsInTransition,oldViewState:this.props})}),this.getControllerState=t.getControllerState,this.propsInTransition=null,this.transition=new Kc(t.timeline),this.onViewStateChange=t.onViewStateChange||vG,this.onStateChange=t.onStateChange||vG}finalize(){this.transition.cancel()}getViewportInTransition(){return this.propsInTransition}processViewStateChange(t){let r=!1,i=this.props;if(this.props=t,!i||this._shouldIgnoreViewportChange(i,t))return!1;if(this._isTransitionEnabled(t)){let s=i;if(this.transition.inProgress){let{interruption:n,endProps:o}=this.transition.settings;s={...i,...n===bD.SNAP_TO_END?o:this.propsInTransition||i}}this._triggerTransition(s,t),r=!0}else this.transition.cancel();return r}updateTransition(){this.transition.update()}_isTransitionEnabled(t){let{transitionDuration:r,transitionInterpolator:i}=t;return(r>0||r===\"auto\")&&!!i}_isUpdateDueToCurrentTransition(t){return this.transition.inProgress&&this.propsInTransition?this.transition.settings.interpolator.arePropsEqual(t,this.propsInTransition):!1}_shouldIgnoreViewportChange(t,r){return this.transition.inProgress?this.transition.settings.interruption===bD.IGNORE||this._isUpdateDueToCurrentTransition(r):this._isTransitionEnabled(r)?r.transitionInterpolator.arePropsEqual(t,r):!0}_triggerTransition(t,r){let i=this.getControllerState(t),s=this.getControllerState(r).shortestPathFrom(i),n=r.transitionInterpolator,o=n.getDuration?n.getDuration(t,r):r.transitionDuration;if(o===0)return;let c=n.initializeProps(t,s);this.propsInTransition={};let f={duration:o,easing:r.transitionEasing||Wlt,interpolator:n,interruption:r.transitionInterruption||Hlt,startProps:c.start,endProps:c.end,onStart:r.onTransitionStart,onUpdate:this._onTransitionUpdate,onInterrupt:this._onTransitionEnd(r.onTransitionInterrupt),onEnd:this._onTransitionEnd(r.onTransitionEnd)};this.transition.start(f),this.onStateChange({inTransition:!0}),this.updateTransition()}_onTransitionEnd(t){return r=>{this.propsInTransition=null,this.onStateChange({inTransition:!1,isZooming:!1,isPanning:!1,isRotating:!1}),t?.(r)}}};var hg=class{constructor(t){G(this,\"_propsToCompare\",void 0),G(this,\"_propsToExtract\",void 0),G(this,\"_requiredProps\",void 0);let{compare:r,extract:i,required:s}=t;this._propsToCompare=r,this._propsToExtract=i||r,this._requiredProps=s}arePropsEqual(t,r){for(let i of this._propsToCompare)if(!(i in t)||!(i in r)||!Ro(t[i],r[i]))return!1;return!0}initializeProps(t,r){let i={},s={};for(let n of this._propsToExtract)(n in t||n in r)&&(i[n]=t[n],s[n]=r[n]);return this._checkRequiredProps(i),this._checkRequiredProps(s),{start:i,end:s}}getDuration(t,r){return r.transitionDuration}_checkRequiredProps(t){this._requiredProps&&this._requiredProps.forEach(r=>{let i=t[r];_r(Number.isFinite(i)||Array.isArray(i),\"\".concat(r,\" is required for transition\"))})}};var qlt=[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\"],Zlt=[\"longitude\",\"latitude\",\"zoom\"],fg=class extends hg{constructor(t={}){let r=Array.isArray(t)?t:t.transitionProps,i=Array.isArray(t)?{}:t;i.transitionProps=Array.isArray(r)?{compare:r,required:r}:r||{compare:qlt,required:Zlt},super(i.transitionProps),G(this,\"opts\",void 0),this.opts=i}initializeProps(t,r){let i=super.initializeProps(t,r),{makeViewport:s,around:n}=this.opts;if(s&&n){let o=s(t),c=s(r),f=o.unproject(n);i.start.around=n,Object.assign(i.end,{around:c.project(f),aroundPosition:f,width:r.width,height:r.height})}return i}interpolateProps(t,r,i){let s={};for(let n of this._propsToExtract)s[n]=il(t[n]||0,r[n]||0,i);if(r.aroundPosition&&this.opts.makeViewport){let n=this.opts.makeViewport({...r,...s});Object.assign(s,n.panByPosition(r.aroundPosition,il(t.around,r.around,i)))}return s}};var em={transitionDuration:0},Ylt=300,sP=e=>1-(1-e)*(1-e),$y={WHEEL:[\"wheel\"],PAN:[\"panstart\",\"panmove\",\"panend\"],PINCH:[\"pinchstart\",\"pinchmove\",\"pinchend\"],TRIPLE_PAN:[\"tripanstart\",\"tripanmove\",\"tripanend\"],DOUBLE_TAP:[\"doubletap\"],KEYBOARD:[\"keydown\"]},dg={},qb=class{constructor(t){G(this,\"props\",void 0),G(this,\"state\",{}),G(this,\"transitionManager\",void 0),G(this,\"eventManager\",void 0),G(this,\"onViewStateChange\",void 0),G(this,\"onStateChange\",void 0),G(this,\"makeViewport\",void 0),G(this,\"_controllerState\",void 0),G(this,\"_events\",{}),G(this,\"_interactionState\",{isDragging:!1}),G(this,\"_customEvents\",[]),G(this,\"_eventStartBlocked\",null),G(this,\"_panMove\",!1),G(this,\"invertPan\",!1),G(this,\"dragMode\",\"rotate\"),G(this,\"inertia\",0),G(this,\"scrollZoom\",!0),G(this,\"dragPan\",!0),G(this,\"dragRotate\",!0),G(this,\"doubleClickZoom\",!0),G(this,\"touchZoom\",!0),G(this,\"touchRotate\",!1),G(this,\"keyboard\",!0),this.transitionManager=new Hb({...t,getControllerState:r=>new this.ControllerState(r),onViewStateChange:this._onTransition.bind(this),onStateChange:this._setInteractionState.bind(this)}),this.handleEvent=this.handleEvent.bind(this),this.eventManager=t.eventManager,this.onViewStateChange=t.onViewStateChange||(()=>{}),this.onStateChange=t.onStateChange||(()=>{}),this.makeViewport=t.makeViewport}set events(t){this.toggleEvents(this._customEvents,!1),this.toggleEvents(t,!0),this._customEvents=t,this.props&&this.setProps(this.props)}finalize(){for(let r in this._events)if(this._events[r]){var t;(t=this.eventManager)===null||t===void 0||t.off(r,this.handleEvent)}this.transitionManager.finalize()}handleEvent(t){this._controllerState=void 0;let r=this._eventStartBlocked;switch(t.type){case\"panstart\":return r?!1:this._onPanStart(t);case\"panmove\":return this._onPan(t);case\"panend\":return this._onPanEnd(t);case\"pinchstart\":return r?!1:this._onPinchStart(t);case\"pinchmove\":return this._onPinch(t);case\"pinchend\":return this._onPinchEnd(t);case\"tripanstart\":return r?!1:this._onTriplePanStart(t);case\"tripanmove\":return this._onTriplePan(t);case\"tripanend\":return this._onTriplePanEnd(t);case\"doubletap\":return this._onDoubleTap(t);case\"wheel\":return this._onWheel(t);case\"keydown\":return this._onKeyDown(t);default:return!1}}get controllerState(){return this._controllerState=this._controllerState||new this.ControllerState({makeViewport:this.makeViewport,...this.props,...this.state}),this._controllerState}getCenter(t){let{x:r,y:i}=this.props,{offsetCenter:s}=t;return[s.x-r,s.y-i]}isPointInBounds(t,r){let{width:i,height:s}=this.props;if(r&&r.handled)return!1;let n=t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=s;return n&&r&&r.stopPropagation(),n}isFunctionKeyPressed(t){let{srcEvent:r}=t;return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}isDragging(){return this._interactionState.isDragging||!1}blockEvents(t){let r=setTimeout(()=>{this._eventStartBlocked===r&&(this._eventStartBlocked=null)},t);this._eventStartBlocked=r}setProps(t){t.dragMode&&(this.dragMode=t.dragMode),this.props=t,\"transitionInterpolator\"in t||(t.transitionInterpolator=this._getTransitionProps().transitionInterpolator),this.transitionManager.processViewStateChange(t);let{inertia:r}=t;this.inertia=Number.isFinite(r)?r:r===!0?Ylt:0;let{scrollZoom:i=!0,dragPan:s=!0,dragRotate:n=!0,doubleClickZoom:o=!0,touchZoom:c=!0,touchRotate:f=!1,keyboard:_=!0}=t,w=!!this.onViewStateChange;this.toggleEvents($y.WHEEL,w&&i),this.toggleEvents($y.PAN,w),this.toggleEvents($y.PINCH,w&&(c||f)),this.toggleEvents($y.TRIPLE_PAN,w&&f),this.toggleEvents($y.DOUBLE_TAP,w&&o),this.toggleEvents($y.KEYBOARD,w&&_),this.scrollZoom=i,this.dragPan=s,this.dragRotate=n,this.doubleClickZoom=o,this.touchZoom=c,this.touchRotate=f,this.keyboard=_}updateTransition(){this.transitionManager.updateTransition()}toggleEvents(t,r){this.eventManager&&t.forEach(i=>{this._events[i]!==r&&(this._events[i]=r,r?this.eventManager.on(i,this.handleEvent):this.eventManager.off(i,this.handleEvent))})}updateViewport(t,r=null,i={}){let s={...t.getViewportProps(),...r},n=this.controllerState!==t;if(this.state=t.getState(),this._setInteractionState(i),n){let o=this.controllerState&&this.controllerState.getViewportProps();this.onViewStateChange&&this.onViewStateChange({viewState:s,interactionState:this._interactionState,oldViewState:o})}}_onTransition(t){this.onViewStateChange({...t,interactionState:this._interactionState})}_setInteractionState(t){Object.assign(this._interactionState,t),this.onStateChange(this._interactionState)}_onPanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t)||t.rightButton||!1;(this.invertPan||this.dragMode===\"pan\")&&(i=!i);let s=this.controllerState[i?\"panStart\":\"rotateStart\"]({pos:r});return this._panMove=i,this.updateViewport(s,em,{isDragging:!0}),!0}_onPan(t){return this.isDragging()?this._panMove?this._onPanMove(t):this._onPanRotate(t):!1}_onPanEnd(t){return this.isDragging()?this._panMove?this._onPanMoveEnd(t):this._onPanRotateEnd(t):!1}_onPanMove(t){if(!this.dragPan)return!1;let r=this.getCenter(t),i=this.controllerState.pan({pos:r});return this.updateViewport(i,em,{isDragging:!0,isPanning:!0}),!0}_onPanMoveEnd(t){let{inertia:r}=this;if(this.dragPan&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.pan({pos:s}).panEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:!0})}else{let i=this.controllerState.panEnd();this.updateViewport(i,null,{isDragging:!1,isPanning:!1})}return!0}_onPanRotate(t){if(!this.dragRotate)return!1;let r=this.getCenter(t),i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onPanRotateEnd(t){let{inertia:r}=this;if(this.dragRotate&&r&&t.velocity){let i=this.getCenter(t),s=[i[0]+t.velocityX*r/2,i[1]+t.velocityY*r/2],n=this.controllerState.rotate({pos:s}).rotateEnd();this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0})}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onWheel(t){if(!this.scrollZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;t.srcEvent.preventDefault();let{speed:i=.01,smooth:s=!1}=this.scrollZoom===!0?{}:this.scrollZoom,{delta:n}=t,o=2/(1+Math.exp(-Math.abs(n*i)));n<0&&o!==0&&(o=1/o);let c=this.controllerState.zoom({pos:r,scale:o});return this.updateViewport(c,{...this._getTransitionProps({around:r}),transitionDuration:s?250:1},{isZooming:!0,isPanning:!0}),!0}_onTriplePanStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.rotateStart({pos:r});return this.updateViewport(i,em,{isDragging:!0}),!0}_onTriplePan(t){if(!this.touchRotate||!this.isDragging())return!1;let r=this.getCenter(t);r[0]-=t.deltaX;let i=this.controllerState.rotate({pos:r});return this.updateViewport(i,em,{isDragging:!0,isRotating:!0}),!0}_onTriplePanEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this;if(this.touchRotate&&r&&t.velocityY){let i=this.getCenter(t),s=[i[0],i[1]+=t.velocityY*r/2],n=this.controllerState.rotate({pos:s});this.updateViewport(n,{...this._getTransitionProps(),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isRotating:!0}),this.blockEvents(r)}else{let i=this.controllerState.rotateEnd();this.updateViewport(i,null,{isDragging:!1,isRotating:!1})}return!0}_onPinchStart(t){let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.controllerState.zoomStart({pos:r}).rotateStart({pos:r});return dg._startPinchRotation=t.rotation,dg._lastPinchEvent=t,this.updateViewport(i,em,{isDragging:!0}),!0}_onPinch(t){if(!this.touchZoom&&!this.touchRotate||!this.isDragging())return!1;let r=this.controllerState;if(this.touchZoom){let{scale:i}=t,s=this.getCenter(t);r=r.zoom({pos:s,scale:i})}if(this.touchRotate){let{rotation:i}=t;r=r.rotate({deltaAngleX:dg._startPinchRotation-i})}return this.updateViewport(r,em,{isDragging:!0,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:this.touchRotate}),dg._lastPinchEvent=t,!0}_onPinchEnd(t){if(!this.isDragging())return!1;let{inertia:r}=this,{_lastPinchEvent:i}=dg;if(this.touchZoom&&r&&i&&t.scale!==i.scale){let s=this.getCenter(t),n=this.controllerState.rotateEnd(),o=Math.log2(t.scale),c=(o-Math.log2(i.scale))/(t.deltaTime-i.deltaTime),f=Math.pow(2,o+c*r/2);n=n.zoom({pos:s,scale:f}).zoomEnd(),this.updateViewport(n,{...this._getTransitionProps({around:s}),transitionDuration:r,transitionEasing:sP},{isDragging:!1,isPanning:this.touchZoom,isZooming:this.touchZoom,isRotating:!1}),this.blockEvents(r)}else{let s=this.controllerState.zoomEnd().rotateEnd();this.updateViewport(s,null,{isDragging:!1,isPanning:!1,isZooming:!1,isRotating:!1})}return dg._startPinchRotation=null,dg._lastPinchEvent=null,!0}_onDoubleTap(t){if(!this.doubleClickZoom)return!1;let r=this.getCenter(t);if(!this.isPointInBounds(r,t))return!1;let i=this.isFunctionKeyPressed(t),s=this.controllerState.zoom({pos:r,scale:i?.5:2});return this.updateViewport(s,this._getTransitionProps({around:r}),{isZooming:!0,isPanning:!0}),this.blockEvents(100),!0}_onKeyDown(t){if(!this.keyboard)return!1;let r=this.isFunctionKeyPressed(t),{zoomSpeed:i,moveSpeed:s,rotateSpeedX:n,rotateSpeedY:o}=this.keyboard===!0?{}:this.keyboard,{controllerState:c}=this,f,_={};switch(t.srcEvent.code){case\"Minus\":f=r?c.zoomOut(i).zoomOut(i):c.zoomOut(i),_.isZooming=!0;break;case\"Equal\":f=r?c.zoomIn(i).zoomIn(i):c.zoomIn(i),_.isZooming=!0;break;case\"ArrowLeft\":r?(f=c.rotateLeft(n),_.isRotating=!0):(f=c.moveLeft(s),_.isPanning=!0);break;case\"ArrowRight\":r?(f=c.rotateRight(n),_.isRotating=!0):(f=c.moveRight(s),_.isPanning=!0);break;case\"ArrowUp\":r?(f=c.rotateUp(o),_.isRotating=!0):(f=c.moveUp(s),_.isPanning=!0);break;case\"ArrowDown\":r?(f=c.rotateDown(o),_.isRotating=!0):(f=c.moveDown(s),_.isPanning=!0);break;default:return!1}return this.updateViewport(f,this._getTransitionProps(),_),!0}_getTransitionProps(t){let{transition:r}=this;return!r||!r.transitionInterpolator?em:t?{...r,transitionInterpolator:new fg({...t,...r.transitionInterpolator.opts,makeViewport:this.controllerState.makeViewport})}:r}};var Zb=class{constructor(t,r){G(this,\"_viewportProps\",void 0),G(this,\"_state\",void 0),this._viewportProps=this.applyConstraints(t),this._state=r}getViewportProps(){return this._viewportProps}getState(){return this._state}};var xG=5,Qlt=1.2,wD=class extends Zb{constructor(t){let{width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c=0,pitch:f=0,altitude:_=1.5,position:w=[0,0,0],maxZoom:I=20,minZoom:R=0,maxPitch:N=60,minPitch:j=0,startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut,normalize:Et=!0}=t;_r(Number.isFinite(n)),_r(Number.isFinite(s)),_r(Number.isFinite(o)),super({width:r,height:i,latitude:s,longitude:n,zoom:o,bearing:c,pitch:f,altitude:_,maxZoom:I,minZoom:R,maxPitch:N,minPitch:j,normalize:Et,position:w},{startPanLngLat:Q,startZoomLngLat:et,startRotatePos:Y,startBearing:K,startPitch:J,startZoom:ut}),G(this,\"makeViewport\",void 0),this.makeViewport=t.makeViewport}panStart({pos:t}){return this._getUpdatedState({startPanLngLat:this._unproject(t)})}pan({pos:t,startPos:r}){let i=this.getState().startPanLngLat||this._unproject(r);if(!i)return this;let n=this.makeViewport(this.getViewportProps()).panByPosition(i,t);return this._getUpdatedState(n)}panEnd(){return this._getUpdatedState({startPanLngLat:null})}rotateStart({pos:t}){return this._getUpdatedState({startRotatePos:t,startBearing:this.getViewportProps().bearing,startPitch:this.getViewportProps().pitch})}rotate({pos:t,deltaAngleX:r=0,deltaAngleY:i=0}){let{startRotatePos:s,startBearing:n,startPitch:o}=this.getState();if(!s||n===void 0||o===void 0)return this;let c;return t?c=this._getNewRotation(t,s,o,n):c={bearing:n+r,pitch:o+i},this._getUpdatedState(c)}rotateEnd(){return this._getUpdatedState({startBearing:null,startPitch:null})}zoomStart({pos:t}){return this._getUpdatedState({startZoomLngLat:this._unproject(t),startZoom:this.getViewportProps().zoom})}zoom({pos:t,startPos:r,scale:i}){let{startZoom:s,startZoomLngLat:n}=this.getState();if(n||(s=this.getViewportProps().zoom,n=this._unproject(r)||this._unproject(t)),!n)return this;let{maxZoom:o,minZoom:c}=this.getViewportProps(),f=s+Math.log2(i);f=Il(f,c,o);let _=this.makeViewport({...this.getViewportProps(),zoom:f});return this._getUpdatedState({zoom:f,..._.panByPosition(n,t)})}zoomEnd(){return this._getUpdatedState({startZoomLngLat:null,startZoom:null})}zoomIn(t=2){return this._zoomFromCenter(t)}zoomOut(t=2){return this._zoomFromCenter(1/t)}moveLeft(t=100){return this._panFromCenter([t,0])}moveRight(t=100){return this._panFromCenter([-t,0])}moveUp(t=100){return this._panFromCenter([0,t])}moveDown(t=100){return this._panFromCenter([0,-t])}rotateLeft(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing-t})}rotateRight(t=15){return this._getUpdatedState({bearing:this.getViewportProps().bearing+t})}rotateUp(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch+t})}rotateDown(t=10){return this._getUpdatedState({pitch:this.getViewportProps().pitch-t})}shortestPathFrom(t){let r=t.getViewportProps(),i={...this.getViewportProps()},{bearing:s,longitude:n}=i;return Math.abs(s-r.bearing)>180&&(i.bearing=s<0?s+360:s-360),Math.abs(n-r.longitude)>180&&(i.longitude=n<0?n+360:n-360),i}applyConstraints(t){let{maxZoom:r,minZoom:i,zoom:s}=t;t.zoom=Il(s,i,r);let{maxPitch:n,minPitch:o,pitch:c}=t;t.pitch=Il(c,o,n);let{normalize:f=!0}=t;return f&&Object.assign(t,eP(t)),t}_zoomFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.zoom({pos:[r/2,i/2],scale:t})}_panFromCenter(t){let{width:r,height:i}=this.getViewportProps();return this.pan({startPos:[r/2,i/2],pos:[r/2+t[0],i/2+t[1]]})}_getUpdatedState(t){return new this.constructor({makeViewport:this.makeViewport,...this.getViewportProps(),...this.getState(),...t})}_unproject(t){let r=this.makeViewport(this.getViewportProps());return t&&r.unproject(t)}_getNewRotation(t,r,i,s){let n=t[0]-r[0],o=t[1]-r[1],c=t[1],f=r[1],{width:_,height:w}=this.getViewportProps(),I=n/_,R=0;o>0?Math.abs(w-f)>xG&&(R=o/(f-w)*Qlt):o<0&&f>xG&&(R=1-c/f),R=Il(R,-1,1);let{minPitch:N,maxPitch:j}=this.getViewportProps(),Q=s+180*I,et=i;return R>0?et=i+R*(j-i):R<0&&(et=i-R*(N-i)),{pitch:et,bearing:Q}}},Yb=class extends qb{constructor(...t){super(...t),G(this,\"ControllerState\",wD),G(this,\"transition\",{transitionDuration:300,transitionInterpolator:new fg({transitionProps:{compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"longitude\",\"latitude\",\"zoom\"]}})}),G(this,\"dragMode\",\"pan\")}setProps(t){t.position=t.position||[0,0,0];let r=this.props;super.setProps(t),(!r||r.height!==t.height)&&this.updateViewport(new this.ControllerState({makeViewport:this.makeViewport,...t,...this.state}))}};var Xy=class extends Xc{get ViewportType(){return lc}get ControllerType(){return Yb}};G(Xy,\"displayName\",\"MapView\");var $lt=new qy;function Xlt(e,t){var r,i;let s=(r=e.order)!==null&&r!==void 0?r:1/0,n=(i=t.order)!==null&&i!==void 0?i:1/0;return s-n}var Qb=class{constructor(){G(this,\"effects\",void 0),G(this,\"_resolvedEffects\",[]),G(this,\"_defaultEffects\",[]),G(this,\"_needsRedraw\",void 0),this.effects=[],this._needsRedraw=\"Initial render\",this._setEffects([])}addDefaultEffect(t){let r=this._defaultEffects;if(!r.find(i=>i.id===t.id)){let i=r.findIndex(s=>Xlt(s,t)>0);i<0?r.push(t):r.splice(i,0,t),this._setEffects(this.effects)}}setProps(t){\"effects\"in t&&(mo(t.effects,this.effects,1)||this._setEffects(t.effects))}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}getEffects(){return this._resolvedEffects}_setEffects(t){let r={};for(let s of this.effects)r[s.id]=s;let i=[];for(let s of t){let n=r[s.id];n&&n!==s?n.setProps?(n.setProps(s.props),i.push(n)):(n.cleanup(),i.push(s)):i.push(s),delete r[s.id]}for(let s in r)r[s].cleanup();this.effects=i,this._resolvedEffects=i.concat(this._defaultEffects),t.some(s=>s instanceof qy)||this._resolvedEffects.push($lt),this._needsRedraw=\"effects changed\"}finalize(){for(let t of this._resolvedEffects)t.cleanup();this.effects.length=0,this._resolvedEffects.length=0,this._defaultEffects.length=0}};var $b=class extends sc{shouldDrawLayer(t){let{operation:r}=t.props;return r.includes(\"draw\")||r.includes(\"terrain\")}};var Klt=\"deckRenderer.renderLayers\",Xb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"layerFilter\",void 0),G(this,\"drawPickingColors\",void 0),G(this,\"drawLayersPass\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"renderCount\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"renderBuffers\",void 0),G(this,\"lastPostProcessEffect\",void 0),this.gl=t,this.layerFilter=null,this.drawPickingColors=!1,this.drawLayersPass=new $b(t),this.pickLayersPass=new ug(t),this.renderCount=0,this._needsRedraw=\"Initial render\",this.renderBuffers=[],this.lastPostProcessEffect=null}setProps(t){this.layerFilter!==t.layerFilter&&(this.layerFilter=t.layerFilter,this._needsRedraw=\"layerFilter changed\"),this.drawPickingColors!==t.drawPickingColors&&(this.drawPickingColors=t.drawPickingColors,this._needsRedraw=\"drawPickingColors changed\")}renderLayers(t){if(!t.viewports.length)return;let r=this.drawPickingColors?this.pickLayersPass:this.drawLayersPass,i={layerFilter:this.layerFilter,isPicking:this.drawPickingColors,...t,target:t.target||yi.getDefaultFramebuffer(this.gl)};i.effects&&this._preRender(i.effects,i);let s=this.lastPostProcessEffect?this.renderBuffers[0]:i.target,n=r.render({...i,target:s});i.effects&&this._postRender(i.effects,i),this.renderCount++,Ls(Klt,this,n,t)}needsRedraw(t={clearRedrawFlags:!1}){let r=this._needsRedraw;return t.clearRedrawFlags&&(this._needsRedraw=!1),r}finalize(){let{renderBuffers:t}=this;for(let r of t)r.delete();t.length=0}_preRender(t,r){this.lastPostProcessEffect=null,r.preRenderStats=r.preRenderStats||{};for(let i of t)r.preRenderStats[i.id]=i.preRender(this.gl,r),i.postRender&&(this.lastPostProcessEffect=i.id);this.lastPostProcessEffect&&this._resizeRenderBuffers()}_resizeRenderBuffers(){let{renderBuffers:t}=this;t.length===0&&t.push(new yi(this.gl),new yi(this.gl));for(let r of t)r.resize()}_postRender(t,r){let{renderBuffers:i}=this,s={...r,inputBuffer:i[0],swapBuffer:i[1],target:null};for(let n of t)if(n.postRender){if(n.id===this.lastPostProcessEffect){s.target=r.target,n.postRender(this.gl,s);break}let o=n.postRender(this.gl,s);s.inputBuffer=o,s.swapBuffer=o===i[0]?i[1]:i[0]}}};var Jlt={pickedColor:null,pickedObjectIndex:-1};function bG({pickedColors:e,decodePickingColor:t,deviceX:r,deviceY:i,deviceRadius:s,deviceRect:n}){let{x:o,y:c,width:f,height:_}=n,w=s*s,I=-1,R=0;for(let N=0;N<_;N++){let j=N+c-i,Q=j*j;if(Q>w)R+=4*f;else for(let et=0;et=0){let K=et+o-r,J=K*K+Q;J<=w&&(w=J,I=R)}R+=4}}if(I>=0){let N=e.slice(I,I+4),j=t(N);if(j){let Q=Math.floor(I/4/f),et=I/4-Q*f;return{...j,pickedColor:N,pickedX:o+et,pickedY:c+Q}}or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}return Jlt}function wG({pickedColors:e,decodePickingColor:t}){let r=new Map;if(e){for(let i=0;i=0){let n=e.slice(i,i+4),o=n.join(\",\");if(!r.has(o)){let c=t(n);c?r.set(o,{...c,color:n}):or.error(\"Picked non-existent layer. Is picking buffer corrupt?\")()}}}return Array.from(r.values())}function SD({pickInfo:e,viewports:t,pixelRatio:r,x:i,y:s,z:n}){let o=t[0];t.length>1&&(o=tct(e?.pickedViewports||t,{x:i,y:s}));let c;if(o){let f=[i-o.x,s-o.y];n!==void 0&&(f[2]=n),c=o.unproject(f)}return{color:null,layer:null,viewport:o,index:-1,picked:!1,x:i,y:s,pixel:[i,s],coordinate:c,devicePixel:e&&\"pickedX\"in e?[e.pickedX,e.pickedY]:void 0,pixelRatio:r}}function SG(e){let{pickInfo:t,lastPickedInfo:r,mode:i,layers:s}=e,{pickedColor:n,pickedLayer:o,pickedObjectIndex:c}=t,f=o?[o]:[];if(i===\"hover\"){let I=r.index,R=r.layerId,N=o?o.props.id:null;if(N!==R||c!==I){if(N!==R){let j=s.find(Q=>Q.props.id===R);j&&f.unshift(j)}r.layerId=N,r.index=c,r.info=null}}let _=SD(e),w=new Map;return w.set(null,_),f.forEach(I=>{let R={..._};I===o&&(R.color=n,R.index=c,R.picked=!0),R=TD({layer:I,info:R,mode:i});let N=R.layer;I===o&&i===\"hover\"&&(r.info=R),w.set(N.id,R),i===\"hover\"&&N.updateAutoHighlight(R)}),w}function TD({layer:e,info:t,mode:r}){for(;e&&t;){let i=t.layer||null;t.sourceLayer=i,t.layer=e,t=e.getPickingInfo({info:t,mode:r,sourceLayer:i}),e=e.parent}return t}function tct(e,t){for(let r=e.length-1;r>=0;r--){let i=e[r];if(i.containsPixel(t))return i}return e[0]}var Kb=class{constructor(t){G(this,\"gl\",void 0),G(this,\"pickingFBO\",void 0),G(this,\"depthFBO\",void 0),G(this,\"pickLayersPass\",void 0),G(this,\"layerFilter\",void 0),G(this,\"lastPickedInfo\",void 0),G(this,\"_pickable\",!0),this.gl=t,this.pickLayersPass=new ug(t),this.lastPickedInfo={index:-1,layerId:null,info:null}}setProps(t){\"layerFilter\"in t&&(this.layerFilter=t.layerFilter),\"_pickable\"in t&&(this._pickable=t._pickable)}finalize(){this.pickingFBO&&this.pickingFBO.delete(),this.depthFBO&&(this.depthFBO.color.delete(),this.depthFBO.delete())}pickObject(t){return this._pickClosestObject(t)}pickObjects(t){return this._pickVisibleObjects(t)}getLastPickedObject({x:t,y:r,layers:i,viewports:s},n=this.lastPickedInfo.info){let o=n&&n.layer&&n.layer.id,c=n&&n.viewport&&n.viewport.id,f=o?i.find(R=>R.id===o):null,_=c&&s.find(R=>R.id===c)||s[0],w=_&&_.unproject([t-_.x,r-_.y]);return{...n,...{x:t,y:r,viewport:_,coordinate:w,layer:f}}}_resizeBuffer(){var t,r;let{gl:i}=this;if(!this.pickingFBO&&(this.pickingFBO=new yi(i),yi.isSupported(i,{colorBufferFloat:!0}))){let s=new yi(i);s.attach({36064:new pi(i,{format:fr(i)?34836:6408,type:5126})}),this.depthFBO=s}(t=this.pickingFBO)===null||t===void 0||t.resize({width:i.canvas.width,height:i.canvas.height}),(r=this.depthFBO)===null||r===void 0||r.resize({width:i.canvas.width,height:i.canvas.height})}_getPickable(t){if(this._pickable===!1)return null;let r=t.filter(i=>this.pickLayersPass.shouldDrawLayer(i)&&!i.isComposite);return r.length?r:null}_pickClosestObject({layers:t,views:r,viewports:i,x:s,y:n,radius:o=0,depth:c=1,mode:f=\"query\",unproject3D:_,onViewportActive:w,effects:I}){let R=this._getPickable(t),N=El(this.gl);if(!R)return{result:[],emptyInfo:SD({viewports:i,x:s,y:n,pixelRatio:N})};this._resizeBuffer();let j=Sy(this.gl,[s,n],!0),Q=[j.x+Math.floor(j.width/2),j.y+Math.floor(j.height/2)],et=Math.round(o*N),{width:Y,height:K}=this.pickingFBO,J=this._getPickingRect({deviceX:Q[0],deviceY:Q[1],deviceRadius:et,deviceWidth:Y,deviceHeight:K}),ut={x:s-o,y:n-o,width:o*2+1,height:o*2+1},Et,kt=[],Xt=new Set;for(let qt=0;qt=_)break;let De=kt[ue],Ke={color:De.pickedColor,layer:null,index:De.pickedObjectIndex,picked:!0,x:s,y:n,pixelRatio:N};Ke=TD({layer:De.pickedLayer,info:Ke,mode:f});let rr=(le=Ke.object)!==null&&le!==void 0?le:\"\".concat(Ke.layer.id,\"[\").concat(Ke.index,\"]\");Xt.has(rr)||Xt.set(rr,Ke)}return Array.from(Xt.values())}_drawAndSample({layers:t,views:r,viewports:i,onViewportActive:s,deviceRect:n,cullRect:o,effects:c,pass:f},_=!1){let w=_?this.depthFBO:this.pickingFBO,I={layers:t,layerFilter:this.layerFilter,views:r,viewports:i,onViewportActive:s,pickingFBO:w,deviceRect:n,cullRect:o,effects:c,pass:f,pickZ:_,preRenderStats:{}};for(let K of c)K.useInPicking&&(I.preRenderStats[K.id]=K.preRender(this.gl,I));let{decodePickingColor:R}=this.pickLayersPass.render(I),{x:N,y:j,width:Q,height:et}=n,Y=new(_?Float32Array:Uint8Array)(Q*et*4);return Dh(w,{sourceX:N,sourceY:j,sourceWidth:Q,sourceHeight:et,target:Y}),{pickedColors:Y,decodePickingColor:R}}_getPickingRect({deviceX:t,deviceY:r,deviceRadius:i,deviceWidth:s,deviceHeight:n}){let o=Math.max(0,t-i),c=Math.max(0,r-i),f=Math.min(s,t+i+1)-o,_=Math.min(n,r+i+1)-c;return f<=0||_<=0?null:{x:o,y:c,width:f,height:_}}};var ect={zIndex:\"1\",position:\"absolute\",pointerEvents:\"none\",color:\"#a0a7b4\",backgroundColor:\"#29323c\",padding:\"10px\",top:\"0\",left:\"0\",display:\"none\"},Jb=class{constructor(t){G(this,\"el\",null),G(this,\"isVisible\",!1);let r=t.parentElement;r&&(this.el=document.createElement(\"div\"),this.el.className=\"deck-tooltip\",Object.assign(this.el.style,ect),r.appendChild(this.el))}setTooltip(t,r,i){let s=this.el;if(s){if(typeof t==\"string\")s.innerText=t;else if(t)t.text&&(s.innerText=t.text),t.html&&(s.innerHTML=t.html),t.className&&(s.className=t.className);else{this.isVisible=!1,s.style.display=\"none\";return}this.isVisible=!0,s.style.display=\"block\",s.style.transform=\"translate(\".concat(r,\"px, \").concat(i,\"px)\"),t&&typeof t==\"object\"&&\"style\"in t&&Object.assign(s.style,t.style)}}remove(){this.el&&(this.el.remove(),this.el=null)}};var pg=Ri(TG());var rct={mousedown:1,mousemove:2,mouseup:4};function ict(e,t){for(let r=0;r0&&i.type===\"pointerdown\"&&(ict(s,n=>n.pointerId===i.pointerId)||s.push(i)),t.call(this,i)}}function EG(e){e.prototype.handler=function(r){let i=rct[r.type];i&1&&r.button>=0&&(this.pressed=!0),i&2&&r.which===0&&(i=4),this.pressed&&(i&4&&(this.pressed=!1),this.callback(this.manager,i,{pointers:[r],changedPointers:[r],pointerType:\"mouse\",srcEvent:r}))}}MG(pg.PointerEventInput);EG(pg.MouseInput);var PG=pg.Manager,Hh=pg;var qh=class{constructor(t,r,i){this.element=t,this.callback=r,this.options={enable:!0,...i}}};var IG=Hh?[[Hh.Pan,{event:\"tripan\",pointers:3,threshold:0,enable:!1}],[Hh.Rotate,{enable:!1}],[Hh.Pinch,{enable:!1}],[Hh.Swipe,{enable:!1}],[Hh.Pan,{threshold:0,enable:!1}],[Hh.Press,{enable:!1}],[Hh.Tap,{event:\"doubletap\",taps:2,enable:!1}],[Hh.Tap,{event:\"anytap\",enable:!1}],[Hh.Tap,{enable:!1}]]:null,MD={tripan:[\"rotate\",\"pinch\",\"pan\"],rotate:[\"pinch\"],pinch:[\"pan\"],pan:[\"press\",\"doubletap\",\"anytap\",\"tap\"],doubletap:[\"anytap\"],anytap:[\"tap\"]},CG={doubletap:[\"tap\"]},LG={pointerdown:\"pointerdown\",pointermove:\"pointermove\",pointerup:\"pointerup\",touchstart:\"pointerdown\",touchmove:\"pointermove\",touchend:\"pointerup\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\"},Ky={KEY_EVENTS:[\"keydown\",\"keyup\"],MOUSE_EVENTS:[\"mousedown\",\"mousemove\",\"mouseup\",\"mouseover\",\"mouseout\",\"mouseleave\"],WHEEL_EVENTS:[\"wheel\",\"mousewheel\"]},kG={tap:\"tap\",anytap:\"anytap\",doubletap:\"doubletap\",press:\"press\",pinch:\"pinch\",pinchin:\"pinch\",pinchout:\"pinch\",pinchstart:\"pinch\",pinchmove:\"pinch\",pinchend:\"pinch\",pinchcancel:\"pinch\",rotate:\"rotate\",rotatestart:\"rotate\",rotatemove:\"rotate\",rotateend:\"rotate\",rotatecancel:\"rotate\",tripan:\"tripan\",tripanstart:\"tripan\",tripanmove:\"tripan\",tripanup:\"tripan\",tripandown:\"tripan\",tripanleft:\"tripan\",tripanright:\"tripan\",tripanend:\"tripan\",tripancancel:\"tripan\",pan:\"pan\",panstart:\"pan\",panmove:\"pan\",panup:\"pan\",pandown:\"pan\",panleft:\"pan\",panright:\"pan\",panend:\"pan\",pancancel:\"pan\",swipe:\"swipe\",swipeleft:\"swipe\",swiperight:\"swipe\",swipeup:\"swipe\",swipedown:\"swipe\"},ED={click:\"tap\",anyclick:\"anytap\",dblclick:\"doubletap\",mousedown:\"pointerdown\",mousemove:\"pointermove\",mouseup:\"pointerup\",mouseover:\"pointerover\",mouseout:\"pointerout\",mouseleave:\"pointerleave\"};var RG=typeof navigator<\"u\"&&navigator.userAgent?navigator.userAgent.toLowerCase():\"\",Ag=typeof window<\"u\"?window:global;var aP=!1;try{let e={get passive(){return aP=!0,!0}};Ag.addEventListener(\"test\",null,e),Ag.removeEventListener(\"test\",null)}catch{aP=!1}var nct=RG.indexOf(\"firefox\")!==-1,{WHEEL_EVENTS:sct}=Ky,DG=\"wheel\",OG=4.000244140625,oct=40,act=.25,tw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{if(!this.options.enable)return;let n=s.deltaY;Ag.WheelEvent&&(nct&&s.deltaMode===Ag.WheelEvent.DOM_DELTA_PIXEL&&(n/=Ag.devicePixelRatio),s.deltaMode===Ag.WheelEvent.DOM_DELTA_LINE&&(n*=oct)),n!==0&&n%OG===0&&(n=Math.floor(n/OG)),s.shiftKey&&n&&(n=n*act),this.callback({type:DG,center:{x:s.clientX,y:s.clientY},delta:-n,srcEvent:s,pointerType:\"mouse\",target:s.target})},this.events=(this.options.events||[]).concat(sct),this.events.forEach(s=>t.addEventListener(s,this.handleEvent,aP?{passive:!1}:!1))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===DG&&(this.options.enable=r)}};var{MOUSE_EVENTS:lct}=Ky,BG=\"pointermove\",FG=\"pointerover\",zG=\"pointerout\",NG=\"pointerenter\",UG=\"pointerleave\",ew=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=n=>{this.handleOverEvent(n),this.handleOutEvent(n),this.handleEnterEvent(n),this.handleLeaveEvent(n),this.handleMoveEvent(n)},this.pressed=!1;let{enable:s}=this.options;this.enableMoveEvent=s,this.enableLeaveEvent=s,this.enableEnterEvent=s,this.enableOutEvent=s,this.enableOverEvent=s,this.events=(this.options.events||[]).concat(lct),this.events.forEach(n=>t.addEventListener(n,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===BG&&(this.enableMoveEvent=r),t===FG&&(this.enableOverEvent=r),t===zG&&(this.enableOutEvent=r),t===NG&&(this.enableEnterEvent=r),t===UG&&(this.enableLeaveEvent=r)}handleOverEvent(t){this.enableOverEvent&&t.type===\"mouseover\"&&this._emit(FG,t)}handleOutEvent(t){this.enableOutEvent&&t.type===\"mouseout\"&&this._emit(zG,t)}handleEnterEvent(t){this.enableEnterEvent&&t.type===\"mouseenter\"&&this._emit(NG,t)}handleLeaveEvent(t){this.enableLeaveEvent&&t.type===\"mouseleave\"&&this._emit(UG,t)}handleMoveEvent(t){if(this.enableMoveEvent)switch(t.type){case\"mousedown\":t.button>=0&&(this.pressed=!0);break;case\"mousemove\":t.which===0&&(this.pressed=!1),this.pressed||this._emit(BG,t);break;case\"mouseup\":this.pressed=!1;break;default:}}_emit(t,r){this.callback({type:t,center:{x:r.clientX,y:r.clientY},srcEvent:r,pointerType:\"mouse\",target:r.target})}};var{KEY_EVENTS:cct}=Ky,VG=\"keydown\",jG=\"keyup\",rw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{let n=s.target||s.srcElement;n.tagName===\"INPUT\"&&n.type===\"text\"||n.tagName===\"TEXTAREA\"||(this.enableDownEvent&&s.type===\"keydown\"&&this.callback({type:VG,srcEvent:s,key:s.key,target:s.target}),this.enableUpEvent&&s.type===\"keyup\"&&this.callback({type:jG,srcEvent:s,key:s.key,target:s.target}))},this.enableDownEvent=this.options.enable,this.enableUpEvent=this.options.enable,this.events=(this.options.events||[]).concat(cct),t.tabIndex=this.options.tabIndex||0,t.style.outline=\"none\",this.events.forEach(s=>t.addEventListener(s,this.handleEvent))}destroy(){this.events.forEach(t=>this.element.removeEventListener(t,this.handleEvent))}enableEventType(t,r){t===VG&&(this.enableDownEvent=r),t===jG&&(this.enableUpEvent=r)}};var GG=\"contextmenu\",iw=class extends qh{constructor(t,r,i){super(t,r,i),this.handleEvent=s=>{this.options.enable&&this.callback({type:GG,center:{x:s.clientX,y:s.clientY},srcEvent:s,pointerType:\"mouse\",target:s.target})},t.addEventListener(\"contextmenu\",this.handleEvent)}destroy(){this.element.removeEventListener(\"contextmenu\",this.handleEvent)}enableEventType(t,r){t===GG&&(this.options.enable=r)}};var uct={pointerdown:1,pointermove:2,pointerup:4,mousedown:1,mousemove:2,mouseup:4},hct=1,fct=2,dct=3,pct=0,Act=1,mct=2,gct=1,_ct=2,yct=4;function WG(e){let t=uct[e.srcEvent.type];if(!t)return null;let{buttons:r,button:i,which:s}=e.srcEvent,n=!1,o=!1,c=!1;return t===4||t===2&&!Number.isFinite(r)?(n=s===hct,o=s===fct,c=s===dct):t===2?(n=!!(r&gct),o=!!(r&yct),c=!!(r&_ct)):t===1&&(n=i===pct,o=i===Act,c=i===mct),{leftButton:n,middleButton:o,rightButton:c}}function HG(e,t){let r=e.center;if(!r)return null;let i=t.getBoundingClientRect(),s=i.width/t.offsetWidth||1,n=i.height/t.offsetHeight||1,o={x:(r.x-i.left-t.clientLeft)/s,y:(r.y-i.top-t.clientTop)/n};return{center:r,offsetCenter:o}}var PD={srcElement:\"root\",priority:0},nw=class{constructor(t){this.handleEvent=r=>{if(this.isEmpty())return;let i=this._normalizeEvent(r),s=r.srcEvent.target;for(;s&&s!==i.rootElement;){if(this._emit(i,s),i.handled)return;s=s.parentNode}this._emit(i,\"root\")},this.eventManager=t,this.handlers=[],this.handlersByElement=new Map,this._active=!1}isEmpty(){return!this._active}add(t,r,i,s=!1,n=!1){let{handlers:o,handlersByElement:c}=this,f=PD;typeof i==\"string\"||i&&i.addEventListener?f={...PD,srcElement:i}:i&&(f={...PD,...i});let _=c.get(f.srcElement);_||(_=[],c.set(f.srcElement,_));let w={type:t,handler:r,srcElement:f.srcElement,priority:f.priority};s&&(w.once=!0),n&&(w.passive=!0),o.push(w),this._active=this._active||!w.passive;let I=_.length-1;for(;I>=0&&!(_[I].priority>=w.priority);)I--;_.splice(I+1,0,w)}remove(t,r){let{handlers:i,handlersByElement:s}=this;for(let n=i.length-1;n>=0;n--){let o=i[n];if(o.type===t&&o.handler===r){i.splice(n,1);let c=s.get(o.srcElement);c.splice(c.indexOf(o),1),c.length===0&&s.delete(o.srcElement)}}this._active=i.some(n=>!n.passive)}_emit(t,r){let i=this.handlersByElement.get(r);if(i){let s=!1,n=()=>{t.handled=!0},o=()=>{t.handled=!0,s=!0},c=[];for(let f=0;f{t.srcEvent.preventDefault()},stopImmediatePropagation:null,stopPropagation:null,handled:!1,rootElement:r}}};var vct={events:null,recognizers:null,recognizerOptions:{},Manager:PG,touchAction:\"none\",tabIndex:0},Jy=class{constructor(t=null,r){this._onBasicInput=s=>{let{srcEvent:n}=s,o=LG[n.type];o&&this.manager.emit(o,s)},this._onOtherEvent=s=>{this.manager.emit(s.type,s)},this.options={...vct,...r},this.events=new Map,this.setElement(t);let{events:i}=this.options;i&&this.on(i)}getElement(){return this.element}setElement(t){if(this.element&&this.destroy(),this.element=t,!t)return;let{options:r}=this,i=r.Manager;this.manager=new i(t,{touchAction:r.touchAction,recognizers:r.recognizers||IG}).on(\"hammer.input\",this._onBasicInput),r.recognizers||Object.keys(MD).forEach(s=>{let n=this.manager.get(s);n&&MD[s].forEach(o=>{n.recognizeWith(o)})});for(let s in r.recognizerOptions){let n=this.manager.get(s);if(n){let o=r.recognizerOptions[s];delete o.enable,n.set(o)}}this.wheelInput=new tw(t,this._onOtherEvent,{enable:!1}),this.moveInput=new ew(t,this._onOtherEvent,{enable:!1}),this.keyInput=new rw(t,this._onOtherEvent,{enable:!1,tabIndex:r.tabIndex}),this.contextmenuInput=new iw(t,this._onOtherEvent,{enable:!1});for(let[s,n]of this.events)n.isEmpty()||(this._toggleRecognizer(n.recognizerName,!0),this.manager.on(s,n.handleEvent))}destroy(){this.element&&(this.wheelInput.destroy(),this.moveInput.destroy(),this.keyInput.destroy(),this.contextmenuInput.destroy(),this.manager.destroy(),this.wheelInput=null,this.moveInput=null,this.keyInput=null,this.contextmenuInput=null,this.manager=null,this.element=null)}on(t,r,i){this._addEventHandler(t,r,i,!1)}once(t,r,i){this._addEventHandler(t,r,i,!0)}watch(t,r,i){this._addEventHandler(t,r,i,!1,!0)}off(t,r){this._removeEventHandler(t,r)}_toggleRecognizer(t,r){let{manager:i}=this;if(!i)return;let s=i.get(t);if(s&&s.options.enable!==r){s.set({enable:r});let n=CG[t];n&&!this.options.recognizers&&n.forEach(o=>{let c=i.get(o);r?(c.requireFailure(t),s.dropRequireFailure(o)):c.dropRequireFailure(t)})}this.wheelInput.enableEventType(t,r),this.moveInput.enableEventType(t,r),this.keyInput.enableEventType(t,r),this.contextmenuInput.enableEventType(t,r)}_addEventHandler(t,r,i,s,n){if(typeof t!=\"string\"){i=r;for(let w in t)this._addEventHandler(w,t[w],i,s,n);return}let{manager:o,events:c}=this,f=ED[t]||t,_=c.get(f);_||(_=new nw(this),c.set(f,_),_.recognizerName=kG[f]||f,o&&o.on(f,_.handleEvent)),_.add(t,r,i,s,n),_.isEmpty()||this._toggleRecognizer(_.recognizerName,!0)}_removeEventHandler(t,r){if(typeof t!=\"string\"){for(let o in t)this._removeEventHandler(o,t[o]);return}let{events:i}=this,s=ED[t]||t,n=i.get(s);if(n&&(n.remove(t,r),n.isEmpty())){let{recognizerName:o}=n,c=!1;for(let f of i.values())if(f.recognizerName===o&&!f.isEmpty()){c=!0;break}c||this._toggleRecognizer(o,!1)}}};function mg(){}var xct=({isDragging:e})=>e?\"grabbing\":\"grab\",qG={id:\"\",width:\"100%\",height:\"100%\",style:null,viewState:null,initialViewState:null,pickingRadius:0,layerFilter:null,glOptions:{},parameters:{},parent:null,gl:null,canvas:null,layers:[],effects:[],views:null,controller:null,useDevicePixels:!0,touchAction:\"none\",eventRecognizerOptions:{},_framebuffer:null,_animate:!1,_pickable:!0,_typedArrayManagerProps:{},_customRender:null,onWebGLInitialized:mg,onResize:mg,onViewStateChange:mg,onInteractionStateChange:mg,onBeforeRender:mg,onAfterRender:mg,onLoad:mg,onError:e=>or.error(e.message,e.cause)(),onHover:null,onClick:null,onDragStart:null,onDrag:null,onDragEnd:null,_onMetrics:null,getCursor:xct,getTooltip:null,debug:!1,drawPickingColors:!1},cp=class{constructor(t){G(this,\"props\",void 0),G(this,\"width\",0),G(this,\"height\",0),G(this,\"userData\",{}),G(this,\"canvas\",null),G(this,\"viewManager\",null),G(this,\"layerManager\",null),G(this,\"effectManager\",null),G(this,\"deckRenderer\",null),G(this,\"deckPicker\",null),G(this,\"eventManager\",null),G(this,\"tooltip\",null),G(this,\"metrics\",void 0),G(this,\"animationLoop\",void 0),G(this,\"stats\",void 0),G(this,\"viewState\",void 0),G(this,\"cursorState\",void 0),G(this,\"_needsRedraw\",void 0),G(this,\"_pickRequest\",void 0),G(this,\"_lastPointerDownInfo\",null),G(this,\"_metricsCounter\",void 0),G(this,\"_onPointerMove\",r=>{let{_pickRequest:i}=this;if(r.type===\"pointerleave\")i.x=-1,i.y=-1,i.radius=0;else{if(r.leftButton||r.rightButton)return;{let s=r.offsetCenter;if(!s)return;i.x=s.x,i.y=s.y,i.radius=this.props.pickingRadius}}this.layerManager&&(this.layerManager.context.mousePosition={x:i.x,y:i.y}),i.event=r}),G(this,\"_onEvent\",r=>{let i=nR[r.type],s=r.offsetCenter;if(!i||!s||!this.layerManager)return;let n=this.layerManager.getLayers(),o=this.deckPicker.getLastPickedObject({x:s.x,y:s.y,layers:n,viewports:this.getViewports(s)},this._lastPointerDownInfo),{layer:c}=o,f=c&&(c[i.handler]||c.props[i.handler]),_=this.props[i.handler],w=!1;f&&(w=f.call(c,o,r)),!w&&_&&_(o,r)}),G(this,\"_onPointerDown\",r=>{let i=r.offsetCenter,s=this._pick(\"pickObject\",\"pickObject Time\",{x:i.x,y:i.y,radius:this.props.pickingRadius});this._lastPointerDownInfo=s.result[0]||s.emptyInfo}),this.props={...qG,...t},t=this.props,this._needsRedraw=\"Initial render\",this._pickRequest={mode:\"hover\",x:-1,y:-1,radius:0,event:null},this.cursorState={isHovering:!1,isDragging:!1},t.viewState&&t.initialViewState&&or.warn(\"View state tracking is disabled. Use either `initialViewState` for auto update or `viewState` for manual update.\")(),vy()===\"IE\"&&or.warn(\"IE 11 is not supported\")(),this.viewState=t.initialViewState,t.gl||typeof document<\"u\"&&(this.canvas=this._createCanvas(t)),this.animationLoop=this._createAnimationLoop(t),this.stats=new Gf({id:\"deck.gl\"}),this.metrics={fps:0,setPropsTime:0,updateAttributesTime:0,framesRedrawn:0,pickTime:0,pickCount:0,gpuTime:0,gpuTimePerFrame:0,cpuTime:0,cpuTimePerFrame:0,bufferMemory:0,textureMemory:0,renderbufferMemory:0,gpuMemory:0},this._metricsCounter=0,this.setProps(t),t._typedArrayManagerProps&&Gh.setOptions(t._typedArrayManagerProps),this.animationLoop.start()}finalize(){var t,r,i,s,n,o,c,f;if((t=this.animationLoop)===null||t===void 0||t.stop(),this.animationLoop=null,this._lastPointerDownInfo=null,(r=this.layerManager)===null||r===void 0||r.finalize(),this.layerManager=null,(i=this.viewManager)===null||i===void 0||i.finalize(),this.viewManager=null,(s=this.effectManager)===null||s===void 0||s.finalize(),this.effectManager=null,(n=this.deckRenderer)===null||n===void 0||n.finalize(),this.deckRenderer=null,(o=this.deckPicker)===null||o===void 0||o.finalize(),this.deckPicker=null,(c=this.eventManager)===null||c===void 0||c.destroy(),this.eventManager=null,(f=this.tooltip)===null||f===void 0||f.remove(),this.tooltip=null,!this.props.canvas&&!this.props.gl&&this.canvas){var _;(_=this.canvas.parentElement)===null||_===void 0||_.removeChild(this.canvas),this.canvas=null}}setProps(t){this.stats.get(\"setProps Time\").timeStart(),\"onLayerHover\"in t&&or.removed(\"onLayerHover\",\"onHover\")(),\"onLayerClick\"in t&&or.removed(\"onLayerClick\",\"onClick\")(),t.initialViewState&&!mo(this.props.initialViewState,t.initialViewState,3)&&(this.viewState=t.initialViewState),Object.assign(this.props,t),this._setCanvasSize(this.props);let r=Object.create(this.props);Object.assign(r,{views:this._getViews(),width:this.width,height:this.height,viewState:this._getViewState()}),this.animationLoop.setProps(r),this.layerManager&&(this.viewManager.setProps(r),this.layerManager.activateViewport(this.getViewports()[0]),this.layerManager.setProps(r),this.effectManager.setProps(r),this.deckRenderer.setProps(r),this.deckPicker.setProps(r)),this.stats.get(\"setProps Time\").timeEnd()}needsRedraw(t={clearRedrawFlags:!1}){if(!this.layerManager)return!1;if(this.props._animate)return\"Deck._animate\";let r=this._needsRedraw;t.clearRedrawFlags&&(this._needsRedraw=!1);let i=this.viewManager.needsRedraw(t),s=this.layerManager.needsRedraw(t),n=this.effectManager.needsRedraw(t),o=this.deckRenderer.needsRedraw(t);return r=r||i||s||n||o,r}redraw(t){if(!this.layerManager)return;let r=this.needsRedraw({clearRedrawFlags:!0});r=t||r,r&&(this.stats.get(\"Redraw Count\").incrementCount(),this.props._customRender?this.props._customRender(r):this._drawLayers(r))}get isInitialized(){return this.viewManager!==null}getViews(){return _r(this.viewManager),this.viewManager.views}getViewports(t){return _r(this.viewManager),this.viewManager.getViewports(t)}getCanvas(){return this.canvas}pickObject(t){let r=this._pick(\"pickObject\",\"pickObject Time\",t).result;return r.length?r[0]:null}pickMultipleObjects(t){return t.depth=t.depth||10,this._pick(\"pickObject\",\"pickMultipleObjects Time\",t).result}pickObjects(t){return this._pick(\"pickObjects\",\"pickObjects Time\",t)}_addResources(t,r=!1){for(let i in t)this.layerManager.resourceManager.add({resourceId:i,data:t[i],forceUpdate:r})}_removeResources(t){for(let r of t)this.layerManager.resourceManager.remove(r)}_addDefaultEffect(t){this.effectManager.addDefaultEffect(t)}_pick(t,r,i){_r(this.deckPicker);let{stats:s}=this;s.get(\"Pick Count\").incrementCount(),s.get(r).timeStart();let n=this.deckPicker[t]({layers:this.layerManager.getLayers(i),views:this.viewManager.getViews(),viewports:this.getViewports(i),onViewportActive:this.layerManager.activateViewport,effects:this.effectManager.getEffects(),...i});return s.get(r).timeEnd(),n}_createCanvas(t){let r=t.canvas;return typeof r==\"string\"&&(r=document.getElementById(r),_r(r)),r||(r=document.createElement(\"canvas\"),r.id=t.id||\"deckgl-overlay\",(t.parent||document.body).appendChild(r)),Object.assign(r.style,t.style),r}_setCanvasSize(t){if(!this.canvas)return;let{width:r,height:i}=t;if(r||r===0){let n=Number.isFinite(r)?\"\".concat(r,\"px\"):r;this.canvas.style.width=n}if(i||i===0){var s;let n=Number.isFinite(i)?\"\".concat(i,\"px\"):i;this.canvas.style.position=((s=t.style)===null||s===void 0?void 0:s.position)||\"absolute\",this.canvas.style.height=n}}_updateCanvasSize(){var t,r;let{canvas:i}=this;if(!i)return;let s=(t=i.clientWidth)!==null&&t!==void 0?t:i.width,n=(r=i.clientHeight)!==null&&r!==void 0?r:i.height;if(s!==this.width||n!==this.height){var o,c;this.width=s,this.height=n,(o=this.viewManager)===null||o===void 0||o.setProps({width:s,height:n}),(c=this.layerManager)===null||c===void 0||c.activateViewport(this.getViewports()[0]),this.props.onResize({width:s,height:n})}}_createAnimationLoop(t){let{width:r,height:i,gl:s,glOptions:n,debug:o,onError:c,onBeforeRender:f,onAfterRender:_,useDevicePixels:w}=t;return new rg({width:r,height:i,useDevicePixels:w,autoResizeDrawingBuffer:!s,autoResizeViewport:!1,gl:s,onCreateContext:I=>Ty({...n,...I,canvas:this.canvas,debug:o,onContextLost:()=>this._onContextLost()}),onInitialize:I=>this._setGLContext(I.gl),onRender:this._onRenderFrame.bind(this),onBeforeRender:f,onAfterRender:_,onError:c})}_getViewState(){return this.props.viewState||this.viewState}_getViews(){let t=this.props.views||[new Xy({id:\"default-view\"})];return t=Array.isArray(t)?t:[t],t.length&&this.props.controller&&(t[0].props.controller=this.props.controller),t}_onContextLost(){let{onError:t}=this.props;this.animationLoop&&t&&t(new Error(\"WebGL context is lost\"))}_pickAndCallback(){let{_pickRequest:t}=this;if(t.event){let{result:i,emptyInfo:s}=this._pick(\"pickObject\",\"pickObject Time\",t);this.cursorState.isHovering=i.length>0;let n=s,o=!1;for(let c of i){var r;n=c,o=((r=c.layer)===null||r===void 0?void 0:r.onHover(c,t.event))||o}if(!o&&this.props.onHover&&this.props.onHover(n,t.event),this.props.getTooltip&&this.tooltip){let c=this.props.getTooltip(n);this.tooltip.setTooltip(c,n.x,n.y)}t.event=null}}_updateCursor(){let t=this.props.parent||this.canvas;t&&(t.style.cursor=this.props.getCursor(this.cursorState))}_setGLContext(t){if(this.layerManager)return;this.canvas||(this.canvas=t.canvas,q0(t,{enable:!0,copyState:!0})),this.tooltip=new Jb(this.canvas),Ml(t,{blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthTest:!0,depthFunc:515}),this.props.onWebGLInitialized(t);let r=new KA;r.play(),this.animationLoop.attachTimeline(r),this.eventManager=new Jy(this.props.parent||t.canvas,{touchAction:this.props.touchAction,recognizerOptions:this.props.eventRecognizerOptions,events:{pointerdown:this._onPointerDown,pointermove:this._onPointerMove,pointerleave:this._onPointerMove}});for(let s in nR)this.eventManager.on(s,this._onEvent);this.viewManager=new Wb({timeline:r,eventManager:this.eventManager,onViewStateChange:this._onViewStateChange.bind(this),onInteractionStateChange:this._onInteractionStateChange.bind(this),views:this._getViews(),viewState:this._getViewState(),width:this.width,height:this.height});let i=this.viewManager.getViewports()[0];this.layerManager=new Gb(t,{deck:this,stats:this.stats,viewport:i,timeline:r}),this.effectManager=new Qb,this.deckRenderer=new Xb(t),this.deckPicker=new Kb(t),this.setProps(this.props),this._updateCanvasSize(),this.props.onLoad()}_drawLayers(t,r){let{gl:i}=this.layerManager.context;Ml(i,this.props.parameters),this.props.onBeforeRender({gl:i}),this.deckRenderer.renderLayers({target:this.props._framebuffer,layers:this.layerManager.getLayers(),viewports:this.viewManager.getViewports(),onViewportActive:this.layerManager.activateViewport,views:this.viewManager.getViews(),pass:\"screen\",effects:this.effectManager.getEffects(),...r}),this.props.onAfterRender({gl:i})}_onRenderFrame(t){this._getFrameStats(),this._metricsCounter++%60===0&&(this._getMetrics(),this.stats.reset(),or.table(4,this.metrics)(),this.props._onMetrics&&this.props._onMetrics(this.metrics)),this._updateCanvasSize(),this._updateCursor(),this.tooltip.isVisible&&this.viewManager.needsRedraw()&&this.tooltip.setTooltip(null),this.layerManager.updateLayers(),this._pickAndCallback(),this.redraw(),this.viewManager&&this.viewManager.updateViewStates()}_onViewStateChange(t){let r=this.props.onViewStateChange(t)||t.viewState;this.viewState&&(this.viewState={...this.viewState,[t.viewId]:r},this.props.viewState||this.viewManager&&this.viewManager.setProps({viewState:this.viewState}))}_onInteractionStateChange(t){this.cursorState.isDragging=t.isDragging||!1,this.props.onInteractionStateChange(t)}_getFrameStats(){let{stats:t}=this;t.get(\"frameRate\").timeEnd(),t.get(\"frameRate\").timeStart();let r=this.animationLoop.stats;t.get(\"GPU Time\").addTime(r.get(\"GPU Time\").lastTiming),t.get(\"CPU Time\").addTime(r.get(\"CPU Time\").lastTiming)}_getMetrics(){let{metrics:t,stats:r}=this;t.fps=r.get(\"frameRate\").getHz(),t.setPropsTime=r.get(\"setProps Time\").time,t.updateAttributesTime=r.get(\"Update Attributes\").time,t.framesRedrawn=r.get(\"Redraw Count\").count,t.pickTime=r.get(\"pickObject Time\").time+r.get(\"pickMultipleObjects Time\").time+r.get(\"pickObjects Time\").time,t.pickCount=r.get(\"Pick Count\").count,t.gpuTime=r.get(\"GPU Time\").time,t.cpuTime=r.get(\"CPU Time\").time,t.gpuTimePerFrame=r.get(\"GPU Time\").getAverageTime(),t.cpuTimePerFrame=r.get(\"CPU Time\").getAverageTime();let i=Du.get(\"Memory Usage\");t.bufferMemory=i.get(\"Buffer Memory\").count,t.textureMemory=i.get(\"Texture Memory\").count,t.renderbufferMemory=i.get(\"Renderbuffer Memory\").count,t.gpuMemory=i.get(\"GPU Memory\").count}};G(cp,\"defaultProps\",qG);G(cp,\"VERSION\",xV);var gg=class{constructor(t,r){G(this,\"opts\",void 0),G(this,\"source\",void 0),this.opts=r,this.source=t}get value(){return this.source.value}getValue(){let t=this.source.getBuffer(),r=this.getAccessor();if(t)return[t,r];let{value:i}=this.source,{size:s}=r,n=i;if(i&&i.length!==s){n=new Float32Array(s);let o=r.elementOffset||0;for(let c=0;c=n){let o=new Array(s).fill(1/0),c=new Array(s).fill(-1/0);for(let f=0;fc[_]&&(c[_]=w)}t=[o,c]}}return this.state.bounds=t,t}setData(t){let{state:r}=this,i;ArrayBuffer.isView(t)?i={value:t}:t instanceof Fr?i={buffer:t}:i=t;let s={...this.settings,...i};if(r.bufferAccessor=s,r.bounds=null,i.constant){let n=i.value;if(n=this._normalizeValue(n,[],0),this.settings.normalized&&(n=this.normalizeConstant(n)),!(!r.constant||!this._areValuesEqual(n,this.value)))return!1;r.externalBuffer=null,r.constant=!0,this.value=n}else if(i.buffer){let n=i.buffer;r.externalBuffer=n,r.constant=!1,this.value=i.value||null;let o=i.value instanceof Float64Array;s.type=i.type||n.accessor.type,s.bytesPerElement=n.accessor.BYTES_PER_ELEMENT*(o?2:1),s.stride=lP(s)}else if(i.value){this._checkExternalBuffer(i);let n=i.value;r.externalBuffer=null,r.constant=!1,this.value=n,s.bytesPerElement=n.BYTES_PER_ELEMENT,s.stride=lP(s);let{buffer:o,byteOffset:c}=this;this.doublePrecision&&n instanceof Float64Array&&(n=iP(n,s));let f=n.byteLength+c+s.stride*2;o.byteLength(r+128)/255*2-1);case 5122:return new Float32Array(t).map(r=>(r+32768)/65535*2-1);case 5121:return new Float32Array(t).map(r=>r/255);case 5123:return new Float32Array(t).map(r=>r/65535);default:return t}}_normalizeValue(t,r,i){let{defaultValue:s,size:n}=this.settings;if(Number.isFinite(t))return r[i]=t,r;if(!t){let o=n;for(;--o>=0;)r[i+o]=s[o];return r}switch(n){case 4:r[i+3]=Number.isFinite(t[3])?t[3]:s[3];case 3:r[i+2]=Number.isFinite(t[2])?t[2]:s[2];case 2:r[i+1]=Number.isFinite(t[1])?t[1]:s[1];case 1:r[i+0]=Number.isFinite(t[0])?t[0]:s[0];break;default:let o=n;for(;--o>=0;)r[i+o]=Number.isFinite(t[o])?t[o]:s[o]}return r}_areValuesEqual(t,r){if(!t||!r)return!1;let{size:i}=this;for(let s=0;s0&&($G.length=e.length,i=$G):i=QG,(t>0||Number.isFinite(r))&&(i=(Array.isArray(i)?i:Array.from(i)).slice(t,r),s.index=t-1),{iterable:i,objectInfo:s}}function cP(e){return e&&e[Symbol.asyncIterator]}function uP(e,t){let{size:r,stride:i,offset:s,startIndices:n,nested:o}=t,c=e.BYTES_PER_ELEMENT,f=i?i/c:r,_=s?s/c:0,w=Math.floor((e.length-_)/f);return(I,{index:R,target:N})=>{if(!n){let Y=R*f+_;for(let K=0;K=t[1]))return e;let r=[],i=e.length,s=0;for(let n=0;nt[1]?r.push(o):t=[Math.min(o[0],t[0]),Math.max(o[1],t[1])]}return r.splice(s,0,t),r}function ID(e){let{source:t,target:r,start:i=0,size:s,getData:n}=e,o=e.end||r.length,c=t.length,f=o-i;if(c>f){r.set(t.subarray(0,f),i);return}if(r.set(t,i),!n)return;let _=c;for(;_i(w+c,I)),_=Math.min(s.length,n.length);for(let w=1;w<_;w++){let I=s[w]*r,R=n[w]*r;ID({source:e.subarray(o,I),target:t,start:c,end:R,size:r,getData:f}),o=I,c=R}return ce},spring:{stiffness:.05,damping:.5}};function hP(e,t){if(!e)return null;Number.isFinite(e)&&(e={type:\"interpolation\",duration:e});let r=e.type||\"interpolation\";return{...Sct[r],...t,...e,type:r}}function fP(e,t){let r=t.getBuffer();return r?[r,{divisor:0,size:t.size,normalized:t.settings.normalized}]:t.value}function dP(e){switch(e){case 1:return\"float\";case 2:return\"vec2\";case 3:return\"vec3\";case 4:return\"vec4\";default:throw new Error('No defined attribute type for size \"'.concat(e,'\"'))}}function pP(e){e.push(e.shift())}function aw(e,t){let{doublePrecision:r,settings:i,value:s,size:n}=e,o=r&&s instanceof Float64Array?2:1;return(i.noAlloc?s.length:t*n)*o}function AP({buffer:e,numInstances:t,attribute:r,fromLength:i,fromStartIndices:s,getData:n=o=>o}){let o=r.doublePrecision&&r.value instanceof Float64Array?2:1,c=r.size*o,f=r.byteOffset,_=r.startIndices,w=s&&_,I=aw(r,t),R=r.isConstant;if(!w&&i>=I)return;let N=R?r.value:r.getBuffer().getData({srcByteOffset:f});if(r.settings.normalized&&!R){let Y=n;n=(K,J)=>r.normalizeConstant(Y(K,J))}let j=R?(Y,K)=>n(N,K):(Y,K)=>n(N.subarray(Y,Y+c),K),Q=e.getData({length:i}),et=new Float32Array(I);JG({source:Q,target:et,sourceStartIndices:s,targetStartIndices:_,size:c,getData:j}),e.byteLengtht[n])]:t[r];return hP(s,i)}setNeedsUpdate(t=this.id,r){if(this.state.needsUpdate=this.state.needsUpdate||t,this.setNeedsRedraw(t),r){let{startRow:i=0,endRow:s=1/0}=r;this.state.updateRanges=KG(this.state.updateRanges,[i,s])}else this.state.updateRanges=ow}clearNeedsUpdate(){this.state.needsUpdate=!1,this.state.updateRanges=XG}setNeedsRedraw(t=this.id){this.state.needsRedraw=this.state.needsRedraw||t}allocate(t){let{state:r,settings:i}=this;return i.noAlloc?!1:i.update?(super.allocate(t,r.updateRanges!==ow),!0):!1}updateBuffer({numInstances:t,data:r,props:i,context:s}){if(!this.needsUpdate())return!1;let{state:{updateRanges:n},settings:{update:o,noAlloc:c}}=this,f=!0;if(o){for(let[_,w]of n)o.call(s,this,{data:r,startRow:_,endRow:w,props:i,numInstances:t});if(this.value)if(this.constant||this.buffer.byteLengthw?_.set(J,Q):(t._normalizeValue(J,Y.target,0),xD({target:_,source:Y.target,start:Q,count:ut}));Q+=ut*w}else t._normalizeValue(J,_,Q),Q+=w}}_validateAttributeUpdaters(){let{settings:t}=this;if(!(t.noAlloc||typeof t.update==\"function\"))throw new Error(\"Attribute \".concat(this.id,\" missing update or accessor\"))}_checkAttributeArray(){let{value:t}=this,r=Math.min(4,this.size);if(t&&t.length>=r){let i=!0;switch(r){case 4:i=i&&Number.isFinite(t[3]);case 3:i=i&&Number.isFinite(t[2]);case 2:i=i&&Number.isFinite(t[1]);case 1:i=i&&Number.isFinite(t[0]);break;default:i=!1}if(!i)throw new Error(\"Illegal attribute generated for \".concat(this.id))}}};var lw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"interpolation\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,r.settings),this.currentStartIndices=r.startIndices,this.currentLength=0,this.transform=Mct(t,r);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){if(t.duration<=0){this.transition.cancel();return}this.settings=t;let{gl:i,buffers:s,attribute:n}=this;pP(s);let o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start(t),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aFrom:s[0],aTo:fP(i,n)},feedbackBuffers:{vCurrent:s[1]}})}update(){let t=this.transition.update();if(t){let{duration:r,easing:i}=this.settings,{time:s}=this.transition,n=s/r;i&&(n=i(n)),this.transform.run({uniforms:{time:n}})}return t}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0}},Tct=`\n#define SHADER_NAME interpolation-transition-vertex-shader\n\nuniform float time;\nattribute ATTRIBUTE_TYPE aFrom;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vCurrent;\n\nvoid main(void) {\n vCurrent = mix(aFrom, aTo, time);\n gl_Position = vec4(0.0);\n}\n`;function Mct(e,t){let r=dP(t.size);return new nc(e,{vs:Tct,defines:{ATTRIBUTE_TYPE:r},varyings:[\"vCurrent\"]})}var cw=class{constructor({gl:t,attribute:r,timeline:i}){G(this,\"gl\",void 0),G(this,\"type\",\"spring\"),G(this,\"attributeInTransition\",void 0),G(this,\"settings\",void 0),G(this,\"attribute\",void 0),G(this,\"transition\",void 0),G(this,\"currentStartIndices\",void 0),G(this,\"currentLength\",void 0),G(this,\"texture\",void 0),G(this,\"framebuffer\",void 0),G(this,\"transform\",void 0),G(this,\"buffers\",void 0),this.gl=t,this.type=\"spring\",this.transition=new Kc(i),this.attribute=r,this.attributeInTransition=new up(t,{...r.settings,normalized:!1}),this.currentStartIndices=r.startIndices,this.currentLength=0,this.texture=Pct(t),this.framebuffer=Ict(t,this.texture),this.transform=Ect(t,r,this.framebuffer);let s={byteLength:0,usage:35050};this.buffers=[new Fr(t,s),new Fr(t,s),new Fr(t,s)]}get inProgress(){return this.transition.inProgress}start(t,r){let{gl:i,buffers:s,attribute:n}=this,o={numInstances:r,attribute:n,fromLength:this.currentLength,fromStartIndices:this.currentStartIndices,getData:t.enter};for(let c of s)AP({buffer:c,...o});this.settings=t,this.currentStartIndices=n.startIndices,this.currentLength=aw(n,r),this.attributeInTransition.setData({buffer:s[1],value:n.value}),this.transition.start({...t,duration:1/0}),this.transform.update({elementCount:Math.floor(this.currentLength/n.size),sourceBuffers:{aTo:fP(i,n)}})}update(){let{buffers:t,transform:r,framebuffer:i,transition:s}=this;if(!s.update())return!1;let o=this.settings;return r.update({sourceBuffers:{aPrev:t[0],aCur:t[1]},feedbackBuffers:{vNext:t[2]}}),r.run({framebuffer:i,discard:!1,clearRenderTarget:!0,uniforms:{stiffness:o.stiffness,damping:o.damping},parameters:{depthTest:!1,blend:!0,viewport:[0,0,1,1],blendFunc:[1,1],blendEquation:[32776,32776]}}),pP(t),this.attributeInTransition.setData({buffer:t[1],value:this.attribute.value}),Dh(i)[0]>0||s.end(),!0}cancel(){this.transition.cancel(),this.transform.delete();for(let t of this.buffers)t.delete();this.buffers.length=0,this.texture.delete(),this.framebuffer.delete()}};function Ect(e,t,r){let i=dP(t.size);return new nc(e,{framebuffer:r,vs:`\n#define SHADER_NAME spring-transition-vertex-shader\n\n#define EPSILON 0.00001\n\nuniform float stiffness;\nuniform float damping;\nattribute ATTRIBUTE_TYPE aPrev;\nattribute ATTRIBUTE_TYPE aCur;\nattribute ATTRIBUTE_TYPE aTo;\nvarying ATTRIBUTE_TYPE vNext;\nvarying float vIsTransitioningFlag;\n\nATTRIBUTE_TYPE getNextValue(ATTRIBUTE_TYPE cur, ATTRIBUTE_TYPE prev, ATTRIBUTE_TYPE dest) {\n ATTRIBUTE_TYPE velocity = cur - prev;\n ATTRIBUTE_TYPE delta = dest - cur;\n ATTRIBUTE_TYPE spring = delta * stiffness;\n ATTRIBUTE_TYPE damper = velocity * -1.0 * damping;\n return spring + damper + velocity + cur;\n}\n\nvoid main(void) {\n bool isTransitioning = length(aCur - aPrev) > EPSILON || length(aTo - aCur) > EPSILON;\n vIsTransitioningFlag = isTransitioning ? 1.0 : 0.0;\n\n vNext = getNextValue(aCur, aPrev, aTo);\n gl_Position = vec4(0, 0, 0, 1);\n gl_PointSize = 100.0;\n}\n`,fs:`\n#define SHADER_NAME spring-transition-is-transitioning-fragment-shader\n\nvarying float vIsTransitioningFlag;\n\nvoid main(void) {\n if (vIsTransitioningFlag == 0.0) {\n discard;\n }\n gl_FragColor = vec4(1.0);\n}`,defines:{ATTRIBUTE_TYPE:i},varyings:[\"vNext\"]})}function Pct(e){return new pi(e,{data:new Uint8Array(4),format:6408,type:5121,border:0,mipmaps:!1,dataFormat:6408,width:1,height:1})}function Ict(e,t){return new yi(e,{id:\"spring-transition-is-transitioning-framebuffer\",width:1,height:1,attachments:{36064:t}})}var Cct={interpolation:lw,spring:cw},uw=class{constructor(t,{id:r,timeline:i}){G(this,\"id\",void 0),G(this,\"isSupported\",void 0),G(this,\"gl\",void 0),G(this,\"timeline\",void 0),G(this,\"transitions\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"numInstances\",void 0),this.id=r,this.gl=t,this.timeline=i,this.transitions={},this.needsRedraw=!1,this.numInstances=1,this.isSupported=nc.isSupported(t)}finalize(){for(let t in this.transitions)this._removeTransition(t)}update({attributes:t,transitions:r,numInstances:i}){this.numInstances=i||1;for(let s in t){let n=t[s],o=n.getTransitionSetting(r);o&&this._updateAttribute(s,n,o)}for(let s in this.transitions){let n=t[s];(!n||!n.getTransitionSetting(r))&&this._removeTransition(s)}}hasAttribute(t){let r=this.transitions[t];return r&&r.inProgress}getAttributes(){let t={};for(let r in this.transitions){let i=this.transitions[r];i.inProgress&&(t[r]=i.attributeInTransition)}return t}run(){if(!this.isSupported||this.numInstances===0)return!1;for(let r in this.transitions)this.transitions[r].update()&&(this.needsRedraw=!0);let t=this.needsRedraw;return this.needsRedraw=!1,t}_removeTransition(t){this.transitions[t].cancel(),delete this.transitions[t]}_updateAttribute(t,r,i){let s=this.transitions[t],n=!s||s.type!==i.type;if(n){if(!this.isSupported){or.warn(\"WebGL2 not supported by this browser. Transition for \".concat(t,\" is disabled.\"))();return}s&&this._removeTransition(t);let o=Cct[i.type];o?this.transitions[t]=new o({attribute:r,timeline:this.timeline,gl:this.gl}):(or.error(\"unsupported transition type '\".concat(i.type,\"'\"))(),n=!1)}(n||r.needsRedraw())&&(this.needsRedraw=!0,this.transitions[t].start(i,this.numInstances))}};var t9=\"attributeManager.invalidate\",Lct=\"attributeManager.updateStart\",kct=\"attributeManager.updateEnd\",Rct=\"attribute.updateStart\",Dct=\"attribute.allocate\",Oct=\"attribute.updateEnd\",Xf=class{constructor(t,{id:r=\"attribute-manager\",stats:i,timeline:s}={}){G(this,\"id\",void 0),G(this,\"gl\",void 0),G(this,\"attributes\",void 0),G(this,\"updateTriggers\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"userData\",void 0),G(this,\"stats\",void 0),G(this,\"attributeTransitionManager\",void 0),G(this,\"mergeBoundsMemoized\",Yf(dG)),this.id=r,this.gl=t,this.attributes={},this.updateTriggers={},this.needsRedraw=!0,this.userData={},this.stats=i,this.attributeTransitionManager=new uw(t,{id:\"\".concat(r,\"-transitions\"),timeline:s}),Object.seal(this)}finalize(){for(let t in this.attributes)this.attributes[t].delete();this.attributeTransitionManager.finalize()}getNeedsRedraw(t={clearRedrawFlags:!1}){let r=this.needsRedraw;return this.needsRedraw=this.needsRedraw&&!t.clearRedrawFlags,r&&this.id}setNeedsRedraw(){this.needsRedraw=!0}add(t){this._add(t)}addInstanced(t){this._add(t,{instanced:1})}remove(t){for(let r of t)this.attributes[r]!==void 0&&(this.attributes[r].delete(),delete this.attributes[r])}invalidate(t,r){let i=this._invalidateTrigger(t,r);Ls(t9,this,t,i)}invalidateAll(t){for(let r in this.attributes)this.attributes[r].setNeedsUpdate(r,t);Ls(t9,this,\"all\")}update({data:t,numInstances:r,startIndices:i=null,transitions:s,props:n={},buffers:o={},context:c={}}){let f=!1;Ls(Lct,this),this.stats&&this.stats.get(\"Update Attributes\").timeStart();for(let _ in this.attributes){let w=this.attributes[_],I=w.settings.accessor;w.startIndices=i,w.numInstances=r,n[_]&&or.removed(\"props.\".concat(_),\"data.attributes.\".concat(_))(),w.setExternalBuffer(o[_])||w.setBinaryValue(typeof I==\"string\"?o[I]:void 0,t.startIndices)||typeof I==\"string\"&&!o[I]&&w.setConstantValue(n[I])||w.needsUpdate()&&(f=!0,this._updateAttribute({attribute:w,numInstances:r,data:t,props:n,context:c})),this.needsRedraw=this.needsRedraw||w.needsRedraw()}f&&Ls(kct,this,r),this.stats&&this.stats.get(\"Update Attributes\").timeEnd(),this.attributeTransitionManager.update({attributes:this.attributes,numInstances:r,transitions:s})}updateTransition(){let{attributeTransitionManager:t}=this,r=t.run();return this.needsRedraw=this.needsRedraw||r,r}getAttributes(){return this.attributes}getBounds(t){let r=t.map(i=>{var s;return(s=this.attributes[i])===null||s===void 0?void 0:s.getBounds()});return this.mergeBoundsMemoized(r)}getChangedAttributes(t={clearChangedFlags:!1}){let{attributes:r,attributeTransitionManager:i}=this,s={...i.getAttributes()};for(let n in r){let o=r[n];o.needsRedraw(t)&&!i.hasAttribute(n)&&(s[n]=o)}return s}getShaderAttributes(t,r={}){t||(t=this.getAttributes());let i={};for(let s in t)r[s]||Object.assign(i,t[s].getShaderAttributes());return i}_add(t,r={}){for(let i in t){let s=t[i];this.attributes[i]=this._createAttribute(i,s,r)}this._mapUpdateTriggersToAttributes()}_createAttribute(t,r,i){let s={...r,id:t,size:r.isIndexed&&1||r.size||1,divisor:i.instanced?1:r.divisor||0};return new up(this.gl,s)}_mapUpdateTriggersToAttributes(){let t={};for(let r in this.attributes)this.attributes[r].getUpdateTriggers().forEach(s=>{t[s]||(t[s]=[]),t[s].push(r)});this.updateTriggers=t}_invalidateTrigger(t,r){let{attributes:i,updateTriggers:s}=this,n=s[t];return n&&n.forEach(o=>{let c=i[o];c&&c.setNeedsUpdate(c.id,r)}),n}_updateAttribute(t){let{attribute:r,numInstances:i}=t;if(Ls(Rct,r),r.constant){r.setConstantValue(r.value);return}r.allocate(i)&&Ls(Dct,r,i),r.updateBuffer(t)&&(this.needsRedraw=!0,Ls(Oct,r,i))}};var hw=class extends Kc{get value(){return this._value}_onUpdate(){let{time:t,settings:{fromValue:r,toValue:i,duration:s,easing:n}}=this,o=n(t/s);this._value=il(r,i,o)}};var e9=1e-5;function r9(e,t,r,i,s){let n=t-e,c=(r-t)*s,f=-n*i;return c+f+n+t}function Bct(e,t,r,i,s){if(Array.isArray(r)){let n=[];for(let o=0;o0}add(t,r,i,s){let{transitions:n}=this;if(n.has(t)){let f=n.get(t),{value:_=f.settings.fromValue}=f;r=_,this.remove(t)}if(s=hP(s),!s)return;let o=Fct[s.type];if(!o){or.error(\"unsupported transition type '\".concat(s.type,\"'\"))();return}let c=new o(this.timeline);c.start({...s,fromValue:r,toValue:i}),n.set(t,c)}remove(t){let{transitions:r}=this;r.has(t)&&(r.get(t).cancel(),r.delete(t))}update(){let t={};for(let[r,i]of this.transitions)i.update(),t[r]=i.value,i.inProgress||this.remove(r);return t}clear(){for(let t of this.transitions.keys())this.remove(t)}};function s9(e){let t=e[zu];for(let r in t){let i=t[r],{validate:s}=i;if(s&&!s(e[r],i))throw new Error(\"Invalid prop \".concat(r,\": \").concat(e[r]))}}function o9(e,t){let r=pw({newProps:e,oldProps:t,propTypes:e[zu],ignoreProps:{data:null,updateTriggers:null,extensions:null,transitions:null}}),i=Nct(e,t),s=!1;return i||(s=Uct(e,t)),{dataChanged:i,propsChanged:r,updateTriggersChanged:s,extensionsChanged:Vct(e,t),transitionsChanged:zct(e,t)}}function zct(e,t){if(!e.transitions)return!1;let r={},i=e[zu],s=!1;for(let n in e.transitions){let o=i[n],c=o&&o.type;(c===\"number\"||c===\"color\"||c===\"array\")&&CD(e[n],t[n],o)&&(r[n]=!0,s=!0)}return s?r:!1}function pw({newProps:e,oldProps:t,ignoreProps:r={},propTypes:i={},triggerName:s=\"props\"}){if(t===e)return!1;if(typeof e!=\"object\"||e===null||typeof t!=\"object\"||t===null)return\"\".concat(s,\" changed shallowly\");for(let n of Object.keys(e))if(!(n in r)){if(!(n in t))return\"\".concat(s,\".\").concat(n,\" added\");let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}for(let n of Object.keys(t))if(!(n in r)){if(!(n in e))return\"\".concat(s,\".\").concat(n,\" dropped\");if(!Object.hasOwnProperty.call(e,n)){let o=CD(e[n],t[n],i[n]);if(o)return\"\".concat(s,\".\").concat(n,\" \").concat(o)}}return!1}function CD(e,t,r){let i=r&&r.equal;return i&&!i(e,t,r)||!i&&(i=e&&t&&e.equals,i&&!i.call(e,t))?\"changed deeply\":!i&&t!==e?\"changed shallowly\":null}function Nct(e,t){if(t===null)return\"oldProps is null, initial diff\";let r=!1,{dataComparator:i,_dataDiff:s}=e;return i?i(e.data,t.data)||(r=\"Data comparator detected a change\"):e.data!==t.data&&(r=\"A new data container was supplied\"),r&&s&&(r=s(e.data,t.data)||r),r}function Uct(e,t){if(t===null)return{all:!0};if(\"all\"in e.updateTriggers&&n9(e,t,\"all\"))return{all:!0};let r={},i=!1;for(let s in e.updateTriggers)s!==\"all\"&&n9(e,t,s)&&(r[s]=!0,i=!0);return i?r:!1}function Vct(e,t){if(t===null)return!0;let r=t.extensions,{extensions:i}=e;if(i===r)return!1;if(!r||!i||i.length!==r.length)return!0;for(let s=0;si.name===\"project64\"))){let i=r.modules.findIndex(s=>s.name===\"project32\");i>=0&&r.modules.splice(i,1)}if(\"inject\"in t)if(!e.inject)r.inject=t.inject;else{let i={...e.inject};for(let s in t.inject)i[s]=(i[s]||\"\")+t.inject[s];r.inject=i}return r}var qct={10241:9987,10240:9729,10242:33071,10243:33071},LD={};function l9(e,t,r,i){if(r instanceof pi)return r;r.constructor&&r.constructor.name!==\"Object\"&&(r={data:r});let s=null;r.compressed&&(s={10241:r.data.length>1?9985:9729});let n=new pi(t,{...r,parameters:{...qct,...s,...i}});return LD[n.id]=e,n}function c9(e,t){!t||!(t instanceof pi)||LD[t.id]===e&&(t.delete(),delete LD[t.id])}var Zct={boolean:{validate(e,t){return!0},equal(e,t,r){return!!e==!!t}},number:{validate(e,t){return Number.isFinite(e)&&(!(\"max\"in t)||e<=t.max)&&(!(\"min\"in t)||e>=t.min)}},color:{validate(e,t){return t.optional&&!e||kD(e)&&(e.length===3||e.length===4)},equal(e,t,r){return mo(e,t,1)}},accessor:{validate(e,t){let r=mP(e);return r===\"function\"||r===mP(t.value)},equal(e,t,r){return typeof t==\"function\"?!0:mo(e,t,1)}},array:{validate(e,t){return t.optional&&!e||kD(e)},equal(e,t,r){let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},object:{equal(e,t,r){if(r.ignore)return!0;let{compare:i}=r,s=Number.isInteger(i)?i:i?1:0;return i?mo(e,t,s):e===t}},function:{validate(e,t){return t.optional&&!e||typeof e==\"function\"},equal(e,t,r){return!r.compare&&r.ignore!==!1||e===t}},data:{transform:(e,t,r)=>{let{dataTransform:i}=r.props;return i&&e?i(e):e}},image:{transform:(e,t,r)=>{let i=r.context;return!i||!i.gl?null:l9(r.id,i.gl,e,{...t.parameters,...r.props.textureParameters})},release:(e,t,r)=>{c9(r.id,e)}}};function u9(e){let t={},r={},i={};for(let[s,n]of Object.entries(e)){let o=n?.deprecatedFor;if(o)i[s]=Array.isArray(o)?o:[o];else{let c=Yct(s,n);t[s]=c,r[s]=c.value}}return{propTypes:t,defaultProps:r,deprecatedProps:i}}function Yct(e,t){switch(mP(t)){case\"object\":return Aw(e,t);case\"array\":return Aw(e,{type:\"array\",value:t,compare:!1});case\"boolean\":return Aw(e,{type:\"boolean\",value:t});case\"number\":return Aw(e,{type:\"number\",value:t});case\"function\":return Aw(e,{type:\"function\",value:t,compare:!0});default:return{name:e,type:\"unknown\",value:t}}}function Aw(e,t){return\"type\"in t?{name:e,...Zct[t.type],...t}:\"value\"in t?{name:e,type:mP(t.value),...t}:{name:e,type:\"object\",value:t}}function kD(e){return Array.isArray(e)||ArrayBuffer.isView(e)}function mP(e){return kD(e)?\"array\":e===null?\"null\":typeof e}function h9(e,t){let r;for(let n=t.length-1;n>=0;n--){let o=t[n];\"extensions\"in o&&(r=o.extensions)}let i=RD(e.constructor,r),s=Object.create(i);s[Qy]=e,s[$f]={},s[Wh]={};for(let n=0;n{},this.oldProps=null,this.oldAsyncProps=null}finalize(){for(let t in this.asyncProps){let r=this.asyncProps[t];r&&r.type&&r.type.release&&r.type.release(r.resolvedValue,r.type,this.component)}this.asyncProps={},this.component=null,this.resetOldProps()}getOldProps(){return this.oldAsyncProps||this.oldProps||iut}resetOldProps(){this.oldAsyncProps=null,this.oldProps=this.component?this.component.props:null}hasAsyncProp(t){return t in this.asyncProps}getAsyncProp(t){let r=this.asyncProps[t];return r&&r.resolvedValue}isAsyncPropLoading(t){if(t){let r=this.asyncProps[t];return!!(r&&r.pendingLoadCount>0&&r.pendingLoadCount!==r.resolvedLoadCount)}for(let r in this.asyncProps)if(this.isAsyncPropLoading(r))return!0;return!1}reloadAsyncProp(t,r){this._watchPromise(t,Promise.resolve(r))}setAsyncProps(t){this.component=t[Qy]||this.component;let r=t[Wh]||{},i=t[$f]||t,s=t[sp]||{};for(let n in r){let o=r[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o),r[n]=this.getAsyncProp(n)}for(let n in i){let o=i[n];this._createAsyncPropData(n,s[n]),this._updateAsyncProp(n,o)}}_fetch(t,r){return null}_onResolve(t,r){}_onError(t,r){}_updateAsyncProp(t,r){if(this._didAsyncInputValueChange(t,r)){if(typeof r==\"string\"&&(r=this._fetch(t,r)),r instanceof Promise){this._watchPromise(t,r);return}if(cP(r)){this._resolveAsyncIterable(t,r);return}this._setPropValue(t,r)}}_freezeAsyncOldProps(){if(!this.oldAsyncProps&&this.oldProps){this.oldAsyncProps=Object.create(this.oldProps);for(let t in this.asyncProps)Object.defineProperty(this.oldAsyncProps,t,{enumerable:!0,value:this.oldProps[t]})}}_didAsyncInputValueChange(t,r){let i=this.asyncProps[t];return r===i.resolvedValue||r===i.lastValue?!1:(i.lastValue=r,!0)}_setPropValue(t,r){this._freezeAsyncOldProps();let i=this.asyncProps[t];i&&(r=this._postProcessValue(i,r),i.resolvedValue=r,i.pendingLoadCount++,i.resolvedLoadCount=i.pendingLoadCount)}_setAsyncPropValue(t,r,i){let s=this.asyncProps[t];s&&i>=s.resolvedLoadCount&&r!==void 0&&(this._freezeAsyncOldProps(),s.resolvedValue=r,s.resolvedLoadCount=i,this.onAsyncPropUpdated(t,r))}_watchPromise(t,r){let i=this.asyncProps[t];if(i){i.pendingLoadCount++;let s=i.pendingLoadCount;r.then(n=>{this.component&&(n=this._postProcessValue(i,n),this._setAsyncPropValue(t,n,s),this._onResolve(t,n))}).catch(n=>{this._onError(t,n)})}}async _resolveAsyncIterable(t,r){if(t!==\"data\"){this._setPropValue(t,r);return}let i=this.asyncProps[t];if(!i)return;i.pendingLoadCount++;let s=i.pendingLoadCount,n=[],o=0;for await(let c of r){if(!this.component)return;let{dataTransform:f}=this.component.props;f?n=f(c,n):n=n.concat(c),Object.defineProperty(n,\"__diff\",{enumerable:!1,value:[{startRow:o,endRow:n.length}]}),o=n.length,this._setAsyncPropValue(t,n,s)}this._onResolve(t,n)}_postProcessValue(t,r){let i=t.type;return i&&this.component&&(i.release&&i.release(t.resolvedValue,i,this.component),i.transform)?i.transform(r,i,this.component):r}_createAsyncPropData(t,r){if(!this.asyncProps[t]){let s=this.component&&this.component.props[zu];this.asyncProps[t]={type:s&&s[t],lastValue:null,resolvedValue:r,pendingLoadCount:0,resolvedLoadCount:0}}}};var gw=class extends mw{constructor({attributeManager:t,layer:r}){super(r),G(this,\"attributeManager\",void 0),G(this,\"needsRedraw\",void 0),G(this,\"needsUpdate\",void 0),G(this,\"subLayers\",void 0),G(this,\"usesPickingColorCache\",void 0),G(this,\"hasPickingBuffer\",void 0),G(this,\"changeFlags\",void 0),G(this,\"viewport\",void 0),G(this,\"uniformTransitions\",void 0),G(this,\"propsInTransition\",void 0),this.attributeManager=t,this.needsRedraw=!0,this.needsUpdate=!0,this.subLayers=null,this.usesPickingColorCache=!1}get layer(){return this.component}_fetch(t,r){let i=this.layer,s=i?.props.fetch;return s?s(r,{propName:t,layer:i}):super._fetch(t,r)}_onResolve(t,r){let i=this.layer;if(i){let s=i.props.onDataLoad;t===\"data\"&&s&&s(r,{propName:t,layer:i})}}_onError(t,r){let i=this.layer;i&&i.raiseError(r,\"loading \".concat(t,\" of \").concat(this.layer))}};var nut=\"layer.changeFlag\",sut=\"layer.initialize\",out=\"layer.update\",aut=\"layer.finalize\",lut=\"layer.matched\",d9=2**24-1,cut=Object.freeze([]),uut=Yf(({oldViewport:e,viewport:t})=>e.equals(t)),Kf=new Uint8ClampedArray(0),hut={data:{type:\"data\",value:cut,async:!0},dataComparator:{type:\"function\",value:null,optional:!0},_dataDiff:{type:\"function\",value:e=>e&&e.__diff,optional:!0},dataTransform:{type:\"function\",value:null,optional:!0},onDataLoad:{type:\"function\",value:null,optional:!0},onError:{type:\"function\",value:null,optional:!0},fetch:{type:\"function\",value:(e,{propName:t,layer:r,loaders:i,loadOptions:s,signal:n})=>{let{resourceManager:o}=r.context;if(s=s||r.getLoadOptions(),i=i||r.props.loaders,n){var c;s={...s,fetch:{...(c=s)===null||c===void 0?void 0:c.fetch,signal:n}}}let f=o.contains(e);return!f&&!s&&(o.add({resourceId:e,data:jA(e,i),persistent:!1}),f=!0),f?o.subscribe({resourceId:e,onChange:_=>{var w;return(w=r.internalState)===null||w===void 0?void 0:w.reloadAsyncProp(t,_)},consumerId:r.id,requestId:t}):jA(e,i,s)}},updateTriggers:{},visible:!0,pickable:!1,opacity:{type:\"number\",min:0,max:1,value:1},operation:\"draw\",onHover:{type:\"function\",value:null,optional:!0},onClick:{type:\"function\",value:null,optional:!0},onDragStart:{type:\"function\",value:null,optional:!0},onDrag:{type:\"function\",value:null,optional:!0},onDragEnd:{type:\"function\",value:null,optional:!0},coordinateSystem:Yr.DEFAULT,coordinateOrigin:{type:\"array\",value:[0,0,0],compare:!0},modelMatrix:{type:\"array\",value:null,compare:!0,optional:!0},wrapLongitude:!1,positionFormat:\"XYZ\",colorFormat:\"RGBA\",parameters:{type:\"object\",value:{},optional:!0,compare:2},loadOptions:{type:\"object\",value:null,optional:!0,ignore:!0},transitions:null,extensions:[],loaders:{type:\"array\",value:[],optional:!0,ignore:!0},getPolygonOffset:{type:\"function\",value:({layerIndex:e})=>[0,-e*100]},highlightedObjectIndex:null,autoHighlight:!1,highlightColor:{type:\"accessor\",value:[0,0,128,128]}},dn=class extends _g{constructor(...t){super(...t),G(this,\"internalState\",null),G(this,\"lifecycle\",tm.NO_STATE),G(this,\"context\",void 0),G(this,\"state\",void 0),G(this,\"parent\",null)}static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"layerName\")?this.layerName:\"\"}get root(){let t=this;for(;t.parent;)t=t.parent;return t}toString(){let t=this.constructor.layerName||this.constructor.name;return\"\".concat(t,\"({id: '\").concat(this.props.id,\"'})\")}project(t){_r(this.internalState);let r=this.internalState.viewport||this.context.viewport,i=vD(t,{viewport:r,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem}),[s,n,o]=Hy(i,r.pixelProjectionMatrix);return t.length===2?[s,n]:[s,n,o]}unproject(t){return _r(this.internalState),(this.internalState.viewport||this.context.viewport).unproject(t)}projectPosition(t,r){_r(this.internalState);let i=this.internalState.viewport||this.context.viewport;return mG(t,{viewport:i,modelMatrix:this.props.modelMatrix,coordinateOrigin:this.props.coordinateOrigin,coordinateSystem:this.props.coordinateSystem,...r})}get isComposite(){return!1}setState(t){this.setChangeFlags({stateChanged:!0}),Object.assign(this.state,t),this.setNeedsRedraw()}setNeedsRedraw(){this.internalState&&(this.internalState.needsRedraw=!0)}setNeedsUpdate(){this.internalState&&(this.context.layerManager.setNeedsUpdate(String(this)),this.internalState.needsUpdate=!0)}get isLoaded(){return this.internalState?!this.internalState.isAsyncPropLoading():!1}get wrapLongitude(){return this.props.wrapLongitude}isPickable(){return this.props.pickable&&this.props.visible}getModels(){return this.state&&(this.state.models||this.state.model&&[this.state.model])||[]}setModuleParameters(t){for(let r of this.getModels())r.updateModuleSettings(t)}getAttributeManager(){return this.internalState&&this.internalState.attributeManager}getCurrentLayer(){return this.internalState&&this.internalState.layer}getLoadOptions(){return this.props.loadOptions}use64bitPositions(){let{coordinateSystem:t}=this.props;return t===Yr.DEFAULT||t===Yr.LNGLAT||t===Yr.CARTESIAN}onHover(t,r){return this.props.onHover&&this.props.onHover(t,r)||!1}onClick(t,r){return this.props.onClick&&this.props.onClick(t,r)||!1}nullPickingColor(){return[0,0,0]}encodePickingColor(t,r=[]){return r[0]=t+1&255,r[1]=t+1>>8&255,r[2]=t+1>>8>>8&255,r}decodePickingColor(t){_r(t instanceof Uint8Array);let[r,i,s]=t;return r+i*256+s*65536-1}getNumInstances(){return Number.isFinite(this.props.numInstances)?this.props.numInstances:this.state&&this.state.numInstances!==void 0?this.state.numInstances:a9(this.props.data)}getStartIndices(){return this.props.startIndices?this.props.startIndices:this.state&&this.state.startIndices?this.state.startIndices:null}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"positions\",\"instancePositions\"])}getShaders(t){for(let r of this.props.extensions)t=tv(t,r.getShaders.call(this,r));return t}shouldUpdateState(t){return t.changeFlags.propsOrDataChanged}updateState(t){let r=this.getAttributeManager(),{dataChanged:i}=t.changeFlags;if(i&&r)if(Array.isArray(i))for(let s of i)r.invalidateAll(s);else r.invalidateAll();if(r){let{props:s}=t,n=this.internalState.hasPickingBuffer,o=Number.isInteger(s.highlightedObjectIndex)||s.pickable||s.extensions.some(c=>c.getNeedsPickingBuffer.call(this,c));if(n!==o){this.internalState.hasPickingBuffer=o;let{pickingColors:c,instancePickingColors:f}=r.attributes,_=c||f;_&&(o&&_.constant&&(_.constant=!1,r.invalidate(_.id)),!_.value&&!o&&(_.constant=!0,_.value=[0,0,0]))}}}finalizeState(t){for(let i of this.getModels())i.delete();let r=this.getAttributeManager();r&&r.finalize(),this.context&&this.context.resourceManager.unsubscribe({consumerId:this.id}),this.internalState&&(this.internalState.uniformTransitions.clear(),this.internalState.finalize())}draw(t){for(let r of this.getModels())r.draw(t)}getPickingInfo({info:t,mode:r,sourceLayer:i}){let{index:s}=t;return s>=0&&Array.isArray(this.props.data)&&(t.object=this.props.data[s]),t}raiseError(t,r){var i,s;if(r&&(t=new Error(\"\".concat(r,\": \").concat(t.message),{cause:t})),!((i=(s=this.props).onError)!==null&&i!==void 0&&i.call(s,t))){var n,o;(n=this.context)===null||n===void 0||(o=n.onError)===null||o===void 0||o.call(n,t,this)}}getNeedsRedraw(t={clearRedrawFlags:!1}){return this._getNeedsRedraw(t)}needsUpdate(){return this.internalState?this.internalState.needsUpdate||this.hasUniformTransition()||this.shouldUpdateState(this._getUpdateParams()):!1}hasUniformTransition(){var t;return((t=this.internalState)===null||t===void 0?void 0:t.uniformTransitions.active)||!1}activateViewport(t){if(!this.internalState)return;let r=this.internalState.viewport;this.internalState.viewport=t,(!r||!uut({oldViewport:r,viewport:t}))&&(this.setChangeFlags({viewportChanged:!0}),this.isComposite?this.needsUpdate()&&this.setNeedsUpdate():this._update())}invalidateAttribute(t=\"all\"){let r=this.getAttributeManager();r&&(t===\"all\"?r.invalidateAll():r.invalidate(t))}updateAttributes(t){for(let r of this.getModels())this._setModelAttributes(r,t)}_updateAttributes(){let t=this.getAttributeManager();if(!t)return;let r=this.props,i=this.getNumInstances(),s=this.getStartIndices();t.update({data:r.data,numInstances:i,startIndices:s,props:r,transitions:r.transitions,buffers:r.data.attributes,context:this});let n=t.getChangedAttributes({clearChangedFlags:!0});this.updateAttributes(n)}_updateAttributeTransition(){let t=this.getAttributeManager();t&&t.updateTransition()}_updateUniformTransition(){let{uniformTransitions:t}=this.internalState;if(t.active){let r=t.update(),i=Object.create(this.props);for(let s in r)Object.defineProperty(i,s,{value:r[s]});return i}return this.props}calculateInstancePickingColors(t,{numInstances:r}){if(t.constant)return;let i=Math.floor(Kf.length/3);if(this.internalState.usesPickingColorCache=!0,id9&&or.warn(\"Layer has too many data objects. Picking might not be able to distinguish all objects.\")(),Kf=Gh.allocate(Kf,r,{size:3,copy:!0,maxCount:Math.max(r,d9)});let s=Math.floor(Kf.length/3),n=[];for(let o=i;o(or.deprecated(\"layer.state.attributeManager\",\"layer.getAttributeManager()\")(),t)}),this.internalState.uniformTransitions=new dw(this.context.timeline),this.internalState.onAsyncPropUpdated=this._onAsyncPropUpdated.bind(this),this.internalState.setAsyncProps(this.props),this.initializeState(this.context);for(let r of this.props.extensions)r.initializeState.call(this,this.context,r);this.setChangeFlags({dataChanged:\"init\",propsChanged:\"init\",viewportChanged:!0,extensionsChanged:!0}),this._update()}_transferState(t){Ls(lut,this,this===t);let{state:r,internalState:i}=t;this!==t&&(this.internalState=i,this.state=r,this.internalState.setAsyncProps(this.props),this._diffProps(this.props,this.internalState.getOldProps()))}_update(){let t=this.needsUpdate();if(Ls(out,this,t),!t)return;let r=this.props,i=this.context,s=this.internalState,n=i.viewport,o=this._updateUniformTransition();s.propsInTransition=o,i.viewport=s.viewport||n,this.props=o;try{let c=this._getUpdateParams(),f=this.getModels();if(i.gl)this.updateState(c);else try{this.updateState(c)}catch{}for(let w of this.props.extensions)w.updateState.call(this,c,w);let _=this.getModels()[0]!==f[0];this._postUpdate(c,_)}finally{i.viewport=n,this.props=r,this._clearChangeFlags(),s.needsUpdate=!1,s.resetOldProps()}}_finalize(){Ls(aut,this),this.finalizeState(this.context);for(let t of this.props.extensions)t.finalizeState.call(this,this.context,t)}_drawLayer({moduleParameters:t=null,uniforms:r={},parameters:i={}}){this._updateAttributeTransition();let s=this.props,n=this.context;this.props=this.internalState.propsInTransition||s;let o=this.props.opacity;r.opacity=Math.pow(o,1/2.2);try{t&&this.setModuleParameters(t);let{getPolygonOffset:c}=this.props,f=c&&c(r)||[0,0];Ml(n.gl,{polygonOffset:f}),Mn(n.gl,i,()=>{let _={moduleParameters:t,uniforms:r,parameters:i,context:n};for(let w of this.props.extensions)w.draw.call(this,_,w);this.draw(_)})}finally{this.props=s}}getChangeFlags(){var t;return(t=this.internalState)===null||t===void 0?void 0:t.changeFlags}setChangeFlags(t){if(!this.internalState)return;let{changeFlags:r}=this.internalState;for(let s in t)if(t[s]){let n=!1;switch(s){case\"dataChanged\":let o=t[s],c=r[s];o&&Array.isArray(c)&&(r.dataChanged=Array.isArray(o)?c.concat(o):o,n=!0);default:r[s]||(r[s]=t[s],n=!0)}n&&Ls(nut,this,s,t)}let i=!!(r.dataChanged||r.updateTriggersChanged||r.propsChanged||r.extensionsChanged);r.propsOrDataChanged=i,r.somethingChanged=i||r.viewportChanged||r.stateChanged}_clearChangeFlags(){this.internalState.changeFlags={dataChanged:!1,propsChanged:!1,updateTriggersChanged:!1,viewportChanged:!1,stateChanged:!1,extensionsChanged:!1,propsOrDataChanged:!1,somethingChanged:!1}}_diffProps(t,r){let i=o9(t,r);if(i.updateTriggersChanged)for(let n in i.updateTriggersChanged)i.updateTriggersChanged[n]&&this.invalidateAttribute(n);if(i.transitionsChanged)for(let n in i.transitionsChanged){var s;this.internalState.uniformTransitions.add(n,r[n],t[n],(s=t.transitions)===null||s===void 0?void 0:s[n])}return this.setChangeFlags(i)}validateProps(){s9(this.props)}updateAutoHighlight(t){this.props.autoHighlight&&!Number.isInteger(this.props.highlightedObjectIndex)&&this._updateAutoHighlight(t)}_updateAutoHighlight(t){let r={pickingSelectedColor:t.picked?t.color:null},{highlightColor:i}=this.props;t.picked&&typeof i==\"function\"&&(r.pickingHighlightColor=i(t)),this.setModuleParameters(r),this.setNeedsRedraw()}_getAttributeManager(){let t=this.context;return new Xf(t.gl,{id:this.props.id,stats:t.stats,timeline:t.timeline})}_postUpdate(t,r){let{props:i,oldProps:s}=t;this.setNeedsRedraw(),this._updateAttributes();let{model:n}=this.state;n?.setInstanceCount(this.getNumInstances());let{autoHighlight:o,highlightedObjectIndex:c,highlightColor:f}=i;if(r||s.autoHighlight!==o||s.highlightedObjectIndex!==c||s.highlightColor!==f){let _={};o||(_.pickingSelectedColor=null),Array.isArray(f)&&(_.pickingHighlightColor=f),(r||c!==s.highlightedObjectIndex)&&(_.pickingSelectedColor=Number.isFinite(c)&&c>=0?this.encodePickingColor(c):null),this.setModuleParameters(_)}}_getUpdateParams(){return{props:this.props,oldProps:this.internalState.getOldProps(),context:this.context,changeFlags:this.internalState.changeFlags}}_getNeedsRedraw(t){if(!this.internalState)return!1;let r=!1;r=r||this.internalState.needsRedraw&&this.id;let i=this.getAttributeManager(),s=i?i.getNeedsRedraw(t):!1;if(r=r||s,r)for(let n of this.props.extensions)n.onNeedsRedraw.call(this,n);return this.internalState.needsRedraw=this.internalState.needsRedraw&&!t.clearRedrawFlags,r}_onAsyncPropUpdated(){this._diffProps(this.props,this.internalState.getOldProps()),this.setNeedsUpdate()}};G(dn,\"defaultProps\",hut);G(dn,\"layerName\",\"Layer\");var fut=\"compositeLayer.renderLayers\",Ni=class extends dn{get isComposite(){return!0}get isLoaded(){return super.isLoaded&&this.getSubLayers().every(t=>t.isLoaded)}getSubLayers(){return this.internalState&&this.internalState.subLayers||[]}initializeState(t){}setState(t){super.setState(t),this.setNeedsUpdate()}getPickingInfo({info:t}){let{object:r}=t;return r&&r.__source&&r.__source.parent&&r.__source.parent.id===this.id&&(t.object=r.__source.object,t.index=r.__source.index),t}filterSubLayer(t){return!0}shouldRenderSubLayer(t,r){return r&&r.length}getSubLayerClass(t,r){let{_subLayerProps:i}=this.props;return i&&i[t]&&i[t].type||r}getSubLayerRow(t,r,i){return t.__source={parent:this,object:r,index:i},t}getSubLayerAccessor(t){if(typeof t==\"function\"){let r={index:-1,data:this.props.data,target:[]};return(i,s)=>i&&i.__source?(r.index=i.__source.index,t(i.__source.object,r)):t(i,s)}return t}getSubLayerProps(t={}){var r;let{opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K,_subLayerProps:J}=this.props,ut={id:\"\",updateTriggers:{},opacity:i,pickable:s,visible:n,parameters:o,getPolygonOffset:c,highlightedObjectIndex:f,autoHighlight:_,highlightColor:w,coordinateSystem:I,coordinateOrigin:R,wrapLongitude:N,positionFormat:j,modelMatrix:Q,extensions:et,fetch:Y,operation:K},Et=J&&t.id&&J[t.id],kt=Et&&Et.updateTriggers,Xt=t.id||\"sublayer\";if(Et){let qt=this.props[zu],le=t.type?t.type._propTypes:{};for(let ue in Et){let De=le[ue]||qt[ue];De&&De.type===\"accessor\"&&(Et[ue]=this.getSubLayerAccessor(Et[ue]))}}Object.assign(ut,t,Et),ut.id=\"\".concat(this.props.id,\"-\").concat(Xt),ut.updateTriggers={all:(r=this.props.updateTriggers)===null||r===void 0?void 0:r.all,...t.updateTriggers,...kt};for(let qt of et){let le=qt.getSubLayerProps.call(this,qt);le&&Object.assign(ut,le,{updateTriggers:Object.assign(ut.updateTriggers,le.updateTriggers)})}return ut}_updateAutoHighlight(t){for(let r of this.getSubLayers())r.updateAutoHighlight(t)}_getAttributeManager(){return null}_postUpdate(t,r){let i=this.internalState.subLayers,s=!i||this.needsUpdate();if(s){let n=this.renderLayers();i=op(n,Boolean),this.internalState.subLayers=i}Ls(fut,this,s,i);for(let n of i)n.parent=this}};G(Ni,\"layerName\",\"CompositeLayer\");var gP=Math.PI/180,p9=180/Math.PI,_P=6370972,ev=256;function dut(){let e=ev/_P,t=Math.PI/180*ev;return{unitsPerMeter:[e,e,e],unitsPerMeter2:[0,0,0],metersPerUnit:[1/e,1/e,1/e],unitsPerDegree:[t,t,e],unitsPerDegree2:[0,0,0],degreesPerUnit:[1/t,1/t,1/e]}}var rv=class extends ac{constructor(t={}){let{latitude:r=0,longitude:i=0,zoom:s=0,nearZMultiplier:n=.1,farZMultiplier:o=2,resolution:c=10}=t,{height:f,altitude:_=1.5}=t;f=f||1,_=Math.max(.75,_);let w=new En().lookAt({eye:[0,-_,0],up:[0,0,1]}),I=Math.pow(2,s);w.rotateX(r*gP),w.rotateZ(-i*gP),w.scale(I/f);let R=Math.atan(.5/_),N=ev*2*I/f;super({...t,height:f,viewMatrix:w,longitude:i,latitude:r,zoom:s,distanceScales:dut(),fovyRadians:R*2,focalDistance:_,near:n,far:Math.min(2,1/N+1)*_*o}),G(this,\"longitude\",void 0),G(this,\"latitude\",void 0),G(this,\"resolution\",void 0),this.latitude=r,this.longitude=i,this.resolution=c}get projectionMode(){return Ja.GLOBE}getDistanceScales(){return this.distanceScales}getBounds(t={}){let r={targetZ:t.z||0},i=this.unproject([0,this.height/2],r),s=this.unproject([this.width/2,0],r),n=this.unproject([this.width,this.height/2],r),o=this.unproject([this.width/2,this.height],r);return n[0]this.longitude&&(i[0]-=360),[Math.min(i[0],n[0],s[0],o[0]),Math.min(i[1],n[1],s[1],o[1]),Math.max(i[0],n[0],s[0],o[0]),Math.max(i[1],n[1],s[1],o[1])]}unproject(t,{topLeft:r=!0,targetZ:i}={}){let[s,n,o]=t,c=r?n:this.height-n,{pixelUnprojectionMatrix:f}=this,_;if(Number.isFinite(o))_=OD(f,[s,c,o,1]);else{let N=OD(f,[s,c,-1,1]),j=OD(f,[s,c,1,1]),Q=((i||0)/_P+1)*ev,et=NE(FE([],N,j)),Y=NE(N),K=NE(j),ut=4*((4*Y*K-(et-Y-K)**2)/16)/et,Et=Math.sqrt(Y-ut),kt=Math.sqrt(Math.max(0,Q*Q-ut)),Xt=(Et-kt)/Math.sqrt(et);_=Hj([],N,j,Xt)}let[w,I,R]=this.unprojectPosition(_);return Number.isFinite(o)?[w,I,R]:Number.isFinite(i)?[w,I,i]:[w,I]}projectPosition(t){let[r,i,s=0]=t,n=r*gP,o=i*gP,c=Math.cos(o),f=(s/_P+1)*ev;return[Math.sin(n)*c*f,-Math.cos(n)*c*f,Math.sin(o)*f]}unprojectPosition(t){let[r,i,s]=t,n=zE(t),o=Math.asin(s/n),f=Math.atan2(r,-i)*p9,_=o*p9,w=(n/ev-1)*_P;return[f,_,w]}projectFlat(t){return t}unprojectFlat(t){return t}panByPosition(t,r){let i=this.unproject(r);return{longitude:t[0]-i[0]+this.longitude,latitude:t[1]-i[1]+this.latitude}}};function OD(e,t){let r=Nh([],t,e);return Fy(r,r,1/r[3]),r}var put=new En().lookAt({eye:[0,0,1]});function Aut({width:e,height:t,near:r,far:i,padding:s}){let n=-e/2,o=e/2,c=-t/2,f=t/2;if(s){let{left:_=0,right:w=0,top:I=0,bottom:R=0}=s,N=Il((_+e-w)/2,0,e)-e/2,j=Il((I+t-R)/2,0,t)-t/2;n-=N,o-=N,c+=j,f+=j}return new En().ortho({left:n,right:o,bottom:c,top:f,near:r,far:i})}var iv=class extends ac{constructor(t){let{width:r,height:i,near:s=.1,far:n=1e3,zoom:o=0,target:c=[0,0,0],padding:f=null,flipY:_=!0}=t,w=Array.isArray(o)?o[0]:o,I=Array.isArray(o)?o[1]:o,R=Math.min(w,I),N=Math.pow(2,R),j;if(w!==I){let Q=Math.pow(2,w),et=Math.pow(2,I);j={unitsPerMeter:[Q/N,et/N,1],metersPerUnit:[N/Q,N/et,1]}}super({...t,longitude:void 0,position:c,viewMatrix:put.clone().scale([N,N*(_?-1:1),N]),projectionMatrix:Aut({width:r||1,height:i||1,padding:f,near:s,far:n}),zoom:R,distanceScales:j})}projectFlat([t,r]){let{unitsPerMeter:i}=this.distanceScales;return[t*i[0],r*i[1]]}unprojectFlat([t,r]){let{metersPerUnit:i}=this.distanceScales;return[t*i[0],r*i[1]]}panByPosition(t,r){let i=Qf(r,this.pixelUnprojectionMatrix),s=this.projectFlat(t),n=$A([],s,LE([],i)),o=$A([],this.center,n);return{target:this.unprojectFlat(o)}}};var cc=class{static get componentName(){return Object.prototype.hasOwnProperty.call(this,\"extensionName\")?this.extensionName:\"\"}constructor(t){G(this,\"opts\",void 0),t&&(this.opts=t)}equals(t){return this===t?!0:this.constructor===t.constructor&&mo(this.opts,t.opts,1)}getShaders(t){return null}getSubLayerProps(t){let{defaultProps:r}=t.constructor,i={updateTriggers:{}};for(let s in r)if(s in this.props){let n=r[s],o=this.props[s];i[s]=o,n&&n.type===\"accessor\"&&(i.updateTriggers[s]=this.props.updateTriggers[s],typeof o==\"function\"&&(i[s]=this.getSubLayerAccessor(o)))}return i}initializeState(t,r){}updateState(t,r){}onNeedsRedraw(t){}getNeedsPickingBuffer(t){return!1}draw(t,r){}finalizeState(t,r){}};G(cc,\"defaultProps\",{});G(cc,\"extensionName\",\"LayerExtension\");var BD={bearing:0,pitch:0,position:[0,0,0]},mut={speed:1.2,curve:1.414},nv=class extends hg{constructor(t={}){super({compare:[\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],extract:[\"width\",\"height\",\"longitude\",\"latitude\",\"zoom\",\"bearing\",\"pitch\",\"position\"],required:[\"width\",\"height\",\"latitude\",\"longitude\",\"zoom\"]}),G(this,\"opts\",void 0),this.opts={...mut,...t}}interpolateProps(t,r,i){let s=rP(t,r,i,this.opts);for(let n in BD)s[n]=il(t[n]||BD[n],r[n]||BD[n],i);return s}getDuration(t,r){let{transitionDuration:i}=r;return i===\"auto\"&&(i=gD(t,r,this.opts)),i}};var rm=class{constructor(t){G(this,\"opts\",void 0),G(this,\"typedArrayManager\",void 0),G(this,\"indexStarts\",[0]),G(this,\"vertexStarts\",[0]),G(this,\"vertexCount\",0),G(this,\"instanceCount\",0),G(this,\"attributes\",void 0),G(this,\"_attributeDefs\",void 0),G(this,\"data\",void 0),G(this,\"getGeometry\",void 0),G(this,\"geometryBuffer\",void 0),G(this,\"buffers\",void 0),G(this,\"positionSize\",void 0),G(this,\"normalize\",void 0);let{attributes:r={}}=t;this.typedArrayManager=Gh,this.attributes={},this._attributeDefs=r,this.opts=t,this.updateGeometry(t)}updateGeometry(t){Object.assign(this.opts,t);let{data:r,buffers:i={},getGeometry:s,geometryBuffer:n,positionFormat:o,dataChanged:c,normalize:f=!0}=this.opts;if(this.data=r,this.getGeometry=s,this.positionSize=n&&n.size||(o===\"XY\"?2:3),this.buffers=i,this.normalize=f,n&&(_r(r.startIndices),this.getGeometry=this.getGeometryFromBuffer(n),f||(i.positions=n)),this.geometryBuffer=i.positions,Array.isArray(c))for(let _ of c)this._rebuildGeometry(_);else this._rebuildGeometry()}updatePartialGeometry({startRow:t,endRow:r}){this._rebuildGeometry({startRow:t,endRow:r})}getGeometryFromBuffer(t){let r=t.value||t;return ArrayBuffer.isView(r)?uP(r,{size:this.positionSize,offset:t.offset,stride:t.stride,startIndices:this.data.startIndices}):null}_allocate(t,r){let{attributes:i,buffers:s,_attributeDefs:n,typedArrayManager:o}=this;for(let c in n)if(c in s)o.release(i[c]),i[c]=null;else{let f=n[c];f.copy=r,i[c]=o.allocate(i[c],t,f)}}_forEachGeometry(t,r,i){let{data:s,getGeometry:n}=this,{iterable:o,objectInfo:c}=Jc(s,r,i);for(let f of o){c.index++;let _=n?n(f,c):null;t(_,c.index)}}_rebuildGeometry(t){if(!this.data)return;let{indexStarts:r,vertexStarts:i,instanceCount:s}=this,{data:n,geometryBuffer:o}=this,{startRow:c=0,endRow:f=1/0}=t||{},_={};if(t||(r=[0],i=[0]),this.normalize||!o)this._forEachGeometry((I,R)=>{let N=I&&this.normalizeGeometry(I);_[R]=N,i[R+1]=i[R]+(N?this.getGeometrySize(N):0)},c,f),s=i[i.length-1];else if(i=n.startIndices,s=i[n.length]||0,ArrayBuffer.isView(o))s=s||o.length/this.positionSize;else if(o instanceof Fr){let I=o.accessor.stride||this.positionSize*4;s=s||o.byteLength/I}else if(o.buffer){let I=o.stride||this.positionSize*4;s=s||o.buffer.byteLength/I}else if(o.value){let I=o.value,R=o.stride/I.BYTES_PER_ELEMENT||this.positionSize;s=s||I.length/R}this._allocate(s,!!t),this.indexStarts=r,this.vertexStarts=i,this.instanceCount=s;let w={};this._forEachGeometry((I,R)=>{let N=_[R]||I;w.vertexStart=i[R],w.indexStart=r[R];let j=RvP(r,t));if(ov(e)){if(yut(e))return t.style=_ut,(0,FD.cloneElement)(e,t);if(vut(e))return(0,FD.cloneElement)(e,t)}return e}function ov(e){return e&&typeof e==\"object\"&&\"type\"in e||!1}function yut(e){var t;return(t=e.props)===null||t===void 0?void 0:t.mapStyle}function vut(e){let t=e.type;return t&&t.deckGLViewProps}function zD(e){if(typeof e==\"function\")return(0,m9.createElement)(Xc,{},e);if(Array.isArray(e))return e.map(zD);if(ov(e)){if(e.type===xP.Fragment)return zD(e.props.children);if(sv(e.type,Xc))return e}return e}function ND({children:e,layers:t=[],views:r=null}){let i=[],s=[],n={};return xP.Children.forEach(zD(e),o=>{if(ov(o)){let c=o.type;if(sv(c,dn)){let f=xut(c,o.props);s.push(f)}else i.push(o);if(sv(c,Xc)&&c!==Xc&&o.props.id){let f=new c(o.props);n[f.id]=f}}else o&&i.push(o)}),Object.keys(n).length>0&&(Array.isArray(r)?r.forEach(o=>{n[o.id]=o}):r&&(n[r.id]=r),r=Object.values(n)),t=s.length>0?[...s,...t]:t,{layers:t,children:i,views:r}}function xut(e,t){let r={},i=e.defaultProps||{};for(let s in t)i[s]!==t[s]&&(r[s]=t[s]);return new e(r)}var UD=Ri(Yi());function VD({children:e,deck:t,ContextProvider:r}){let{viewManager:i}=t||{};if(!i||!i.views.length)return[];let s={},n=i.views[0].id;for(let o of e){let c=n,f=o;ov(o)&&sv(o.type,Xc)&&(c=o.props.id||n,f=o.props.children);let _=i.getViewport(c),w=i.getViewState(c);if(_){w.padding=_.padding;let{x:I,y:R,width:N,height:j}=_;f=vP(f,{x:I,y:R,width:N,height:j,viewport:_,viewState:w}),s[c]||(s[c]={viewport:_,children:[]}),s[c].children.push(f)}}return Object.keys(s).map(o=>{let{viewport:c,children:f}=s[o],{x:_,y:w,width:I,height:R}=c,N={position:\"absolute\",left:_,top:w,width:I,height:R},j=\"view-\".concat(o),Q=(0,UD.createElement)(\"div\",{key:j,id:j,style:N},...f);if(r){let et={viewport:c,container:t.canvas.offsetParent,eventManager:t.eventManager,onViewStateChange:Y=>{Y.viewId=o,t._onViewStateChange(Y)}};return(0,UD.createElement)(r,{key:j,value:et},Q)}return Q})}var but={mixBlendMode:null};function jD({width:e,height:t,style:r}){let i={position:\"absolute\",zIndex:0,left:0,top:0,width:e,height:t},s={left:0,top:0};if(r)for(let n in r)n in but?s[n]=r[n]:i[n]=r[n];return{containerStyle:i,canvasStyle:s}}function wut(e){return{get deck(){return e.deck},pickObject:t=>e.deck.pickObject(t),pickMultipleObjects:t=>e.deck.pickMultipleObjects(t),pickObjects:t=>e.deck.pickObjects(t)}}function g9(e){e.redrawReason&&(e.deck._drawLayers(e.redrawReason),e.redrawReason=null)}function Sut(e,t,r){let i=new t({...r,_customRender:s=>{e.redrawReason=s;let n=i.getViewports();e.lastRenderedViewports!==n?e.forceUpdate():g9(e)}});return i}var _9=(0,Do.forwardRef)((e,t)=>{let[r,i]=(0,Do.useState)(0),n=(0,Do.useRef)({control:null,version:r,forceUpdate:()=>i(Et=>Et+1)}).current,o=(0,Do.useRef)(null),c=(0,Do.useRef)(null),f=(0,Do.useMemo)(()=>ND(e),[e.layers,e.views,e.children]),_=!0,w=Et=>{var kt;return _&&e.viewState?(n.viewStateUpdateRequested=Et,null):(n.viewStateUpdateRequested=null,(kt=e.onViewStateChange)===null||kt===void 0?void 0:kt.call(e,Et))},I=Et=>{if(_)n.interactionStateUpdateRequested=Et;else{var kt;n.interactionStateUpdateRequested=null,(kt=e.onInteractionStateChange)===null||kt===void 0||kt.call(e,Et)}},R=(0,Do.useMemo)(()=>{let Et={...e,style:null,width:\"100%\",height:\"100%\",parent:o.current,canvas:c.current,layers:f.layers,views:f.views,onViewStateChange:w,onInteractionStateChange:I};return delete Et._customRender,n.deck&&n.deck.setProps(Et),Et},[e]);(0,Do.useEffect)(()=>{let Et=e.Deck||cp;return n.deck=Sut(n,Et,{...R,parent:o.current,canvas:c.current}),()=>{var kt;return(kt=n.deck)===null||kt===void 0?void 0:kt.finalize()}},[]),A9(()=>{g9(n);let{viewStateUpdateRequested:Et,interactionStateUpdateRequested:kt}=n;Et&&w(Et),kt&&I(kt)}),(0,Do.useImperativeHandle)(t,()=>wut(n),[]);let N=n.deck&&n.deck.isInitialized?n.deck.getViewports():void 0,{ContextProvider:j,width:Q,height:et,id:Y,style:K}=e,{containerStyle:J,canvasStyle:ut}=(0,Do.useMemo)(()=>jD({width:Q,height:et,style:K}),[Q,et,K]);if(!n.viewStateUpdateRequested&&n.lastRenderedViewports===N||n.version!==r){n.lastRenderedViewports=N,n.version=r;let Et=VD({children:f.children,deck:n.deck,ContextProvider:j}),kt=(0,Do.createElement)(\"canvas\",{key:\"canvas\",id:Y||\"deckgl-overlay\",ref:c,style:ut});n.control=(0,Do.createElement)(\"div\",{id:\"\".concat(Y||\"deckgl\",\"-wrapper\"),ref:o,style:J},[kt,Et])}return _=!1,n.control});_9.defaultProps=cp.defaultProps;var GD=_9;var zt,hp=new Array(128).fill(void 0);hp.push(void 0,null,!0,!1);var ww=hp.length;function qe(e){ww===hp.length&&hp.push(hp.length+1);let t=ww;return ww=hp[t],hp[t]=e,t}function xe(e){return hp[e]}function Tut(e){e<132||(hp[e]=ww,ww=e)}function nn(e){let t=xe(e);return Tut(e),t}var R9=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-8\",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(\"TextDecoder not available\")}};typeof TextDecoder<\"u\"&&R9.decode();var _w=null;function av(){return(_w===null||_w.byteLength===0)&&(_w=new Uint8Array(zt.memory.buffer)),_w}function tu(e,t){return e=e>>>0,R9.decode(av().subarray(e,e+t))}function uc(e){return e==null}var yw=null;function Mut(){return(yw===null||yw.byteLength===0)&&(yw=new Float64Array(zt.memory.buffer)),yw}var vw=null;function Ue(){return(vw===null||vw.byteLength===0)&&(vw=new Int32Array(zt.memory.buffer)),vw}var hc=0,bP=typeof TextEncoder<\"u\"?new TextEncoder(\"utf-8\"):{encode:()=>{throw Error(\"TextEncoder not available\")}},Eut=typeof bP.encodeInto==\"function\"?function(e,t){return bP.encodeInto(e,t)}:function(e,t){let r=bP.encode(e);return t.set(r),{read:e.length,written:r.length}};function fp(e,t,r){if(r===void 0){let c=bP.encode(e),f=t(c.length,1)>>>0;return av().subarray(f,f+c.length).set(c),hc=c.length,f}let i=e.length,s=t(i,1)>>>0,n=av(),o=0;for(;o127)break;n[s+o]=c}if(o!==i){o!==0&&(e=e.slice(o)),s=r(s,i,i=o+e.length*3,1)>>>0;let c=av().subarray(s+o,s+i),f=Eut(e,c);o+=f.written,s=r(s,i,o,1)>>>0}return hc=o,s}var xw=null;function Put(){return(xw===null||xw.byteLength===0)&&(xw=new BigInt64Array(zt.memory.buffer)),xw}function WD(e){let t=typeof e;if(t==\"number\"||t==\"boolean\"||e==null)return`${e}`;if(t==\"string\")return`\"${e}\"`;if(t==\"symbol\"){let s=e.description;return s==null?\"Symbol\":`Symbol(${s})`}if(t==\"function\"){let s=e.name;return typeof s==\"string\"&&s.length>0?`Function(${s})`:\"Function\"}if(Array.isArray(e)){let s=e.length,n=\"[\";s>0&&(n+=WD(e[0]));for(let o=1;o1)i=r[1];else return toString.call(e);if(i==\"Object\")try{return\"Object(\"+JSON.stringify(e)+\")\"}catch{return\"Object\"}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:i}var y9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>{zt.__wbindgen_export_2.get(e.dtor)(e.a,e.b)});function Iut(e,t,r,i){let s={a:e,b:t,cnt:1,dtor:r},n=(...o)=>{s.cnt++;let c=s.a;s.a=0;try{return i(c,s.b,...o)}finally{--s.cnt===0?(zt.__wbindgen_export_2.get(s.dtor)(c,s.b),y9.unregister(s)):s.a=c}};return n.original=s,y9.register(n,s,s),n}function Cut(e,t,r){zt._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h1de40baa0df51db0(e,t,qe(r))}function D9(e,t){let r=t(e.length*1,1)>>>0;return av().set(e,r/1),hc=e.length,r}function O9(e,t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(e,zt.__wbindgen_malloc),c=hc;zt.readParquet(n,o,c,uc(t)?0:qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return IP.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}function Lut(e,t){if(!(e instanceof t))throw new Error(`expected instance of ${t.name}`);return e.ptr}function XD(e,t){return e=e>>>0,av().subarray(e/1,e/1+t)}var bw=null;function B9(){return(bw===null||bw.byteLength===0)&&(bw=new Uint32Array(zt.memory.buffer)),bw}function wP(e,t){e=e>>>0;let i=B9().subarray(e/4,e/4+t),s=[];for(let n=0;n>>0,B9().subarray(e/4,e/4+t)}function Rut(e,t,r,i){zt.wasm_bindgen__convert__closures__invoke2_mut__h26b6dc7d05b06fdf(e,t,qe(r),qe(i))}var E8t=Object.freeze({V1:0,0:\"V1\",V2:1,1:\"V2\"}),P8t=Object.freeze({None:0,0:\"None\",Chunk:1,1:\"Chunk\",Page:2,2:\"Page\"}),I8t=Object.freeze({PLAIN:0,0:\"PLAIN\",PLAIN_DICTIONARY:1,1:\"PLAIN_DICTIONARY\",RLE:2,2:\"RLE\",BIT_PACKED:3,3:\"BIT_PACKED\",DELTA_BINARY_PACKED:4,4:\"DELTA_BINARY_PACKED\",DELTA_LENGTH_BYTE_ARRAY:5,5:\"DELTA_LENGTH_BYTE_ARRAY\",DELTA_BYTE_ARRAY:6,6:\"DELTA_BYTE_ARRAY\",RLE_DICTIONARY:7,7:\"RLE_DICTIONARY\",BYTE_STREAM_SPLIT:8,8:\"BYTE_STREAM_SPLIT\"}),C8t=Object.freeze({UNCOMPRESSED:0,0:\"UNCOMPRESSED\",SNAPPY:1,1:\"SNAPPY\",GZIP:2,2:\"GZIP\",BROTLI:3,3:\"BROTLI\",LZ4:4,4:\"LZ4\",ZSTD:5,5:\"ZSTD\",LZ4_RAW:6,6:\"LZ4_RAW\",LZO:7,7:\"LZO\"}),v9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_columnchunkmetadata_free(e>>>0)),SP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,v9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,v9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_columnchunkmetadata_free(t)}filePath(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_filePath(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}fileOffset(){return zt.columnchunkmetadata_fileOffset(this.__wbg_ptr)}columnPath(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_columnPath(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}encodings(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.columnchunkmetadata_encodings(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numValues(){return zt.columnchunkmetadata_numValues(this.__wbg_ptr)}compression(){return zt.columnchunkmetadata_compression(this.__wbg_ptr)}compressedSize(){return zt.columnchunkmetadata_compressedSize(this.__wbg_ptr)}uncompressedSize(){return zt.columnchunkmetadata_uncompressedSize(this.__wbg_ptr)}},L8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowarray_free(e>>>0));var x9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffiarrowschema_free(e>>>0)),TP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,x9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,x9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffiarrowschema_free(t)}addr(){return zt.ffiarrowschema_addr(this.__wbg_ptr)>>>0}},k8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffidata_free(e>>>0));var b9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffirecordbatch_free(e>>>0)),MP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,b9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,b9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffirecordbatch_free(t)}arrayAddr(){return zt.ffirecordbatch_arrayAddr(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffirecordbatch_schemaAddr(this.__wbg_ptr)>>>0}},w9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffitable_free(e>>>0)),EP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,w9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,w9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_ffitable_free(t)}numBatches(){return zt.ffitable_numBatches(this.__wbg_ptr)>>>0}schemaAddr(){return zt.ffitable_schemaAddr(this.__wbg_ptr)>>>0}arrayAddr(t){return zt.ffitable_arrayAddr(this.__wbg_ptr,t)>>>0}arrayAddrs(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.ffitable_arrayAddrs(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=kut(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}drop(){let t=this.__destroy_into_raw();zt.ffitable_drop(t)}},R8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_ffivector_free(e>>>0));var S9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_filemetadata_free(e>>>0)),HD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,S9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,S9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_filemetadata_free(t)}version(){return zt.filemetadata_version(this.__wbg_ptr)}numRows(){return zt.filemetadata_numRows(this.__wbg_ptr)}createdBy(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_createdBy(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}keyValueMetadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.filemetadata_keyValueMetadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},D8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingbytesource_free(e>>>0));var O8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsink_free(e>>>0));var T9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_intounderlyingsource_free(e>>>0)),qD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,T9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,T9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_intounderlyingsource_free(t)}pull(t){let r=zt.intounderlyingsource_pull(this.__wbg_ptr,qe(t));return nn(r)}cancel(){let t=this.__destroy_into_raw();zt.intounderlyingsource_cancel(t)}},M9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetfile_free(e>>>0)),ZD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,M9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,M9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetfile_free(t)}static fromUrl(t,r){let i=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),s=hc,n=zt.parquetfile_fromUrl(i,s,uc(r)?0:qe(r));return nn(n)}static fromFile(t){let r=zt.parquetfile_fromFile(qe(t));return nn(r)}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetfile_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return YD.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}read(t){let r=zt.parquetfile_read(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}stream(t){let r=zt.parquetfile_stream(this.__wbg_ptr,uc(t)?0:qe(t));return nn(r)}},E9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_parquetmetadata_free(e>>>0)),YD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,E9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,E9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_parquetmetadata_free(t)}fileMetadata(){let t=zt.parquetmetadata_fileMetadata(this.__wbg_ptr);return HD.__wrap(t)}numRowGroups(){return zt.parquetmetadata_numRowGroups(this.__wbg_ptr)>>>0}rowGroup(t){let r=zt.parquetmetadata_rowGroup(this.__wbg_ptr,t);return PP.__wrap(r)}rowGroups(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.parquetmetadata_rowGroups(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},P9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_recordbatch_free(e>>>0)),QD=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,P9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,P9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_recordbatch_free(t)}get numRows(){return zt.recordbatch_numRows(this.__wbg_ptr)>>>0}get numColumns(){return zt.recordbatch_numColumns(this.__wbg_ptr)>>>0}get schema(){let t=zt.recordbatch_schema(this.__wbg_ptr);return Sw.__wrap(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return MP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.recordbatch_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withSchema(t){try{let o=zt.__wbindgen_add_to_stack_pointer(-16);Lut(t,Sw);var r=t.__destroy_into_raw();zt.recordbatch_withSchema(o,this.__wbg_ptr,r);var i=Ue()[o/4+0],s=Ue()[o/4+1],n=Ue()[o/4+2];if(n)throw nn(s);return e.__wrap(i)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}slice(t,r){let i=zt.recordbatch_slice(this.__wbg_ptr,t,r);return e.__wrap(i)}getArrayMemorySize(){return zt.recordbatch_getArrayMemorySize(this.__wbg_ptr)>>>0}},I9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_rowgroupmetadata_free(e>>>0)),PP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,I9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,I9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_rowgroupmetadata_free(t)}numColumns(){return zt.rowgroupmetadata_numColumns(this.__wbg_ptr)>>>0}column(t){let r=zt.rowgroupmetadata_column(this.__wbg_ptr,t);return SP.__wrap(r)}columns(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.rowgroupmetadata_columns(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=wP(t,r).slice();return zt.__wbindgen_free(t,r*4,4),i}finally{zt.__wbindgen_add_to_stack_pointer(16)}}numRows(){return zt.rowgroupmetadata_numRows(this.__wbg_ptr)}totalByteSize(){return zt.rowgroupmetadata_totalByteSize(this.__wbg_ptr)}compressedSize(){return zt.rowgroupmetadata_compressedSize(this.__wbg_ptr)}},C9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_schema_free(e>>>0)),Sw=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,C9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,C9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_schema_free(t)}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return TP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}withMetadata(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_withMetadata(n,this.__wbg_ptr,qe(t));var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}indexOf(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),c=hc;zt.schema_indexOf(n,this.__wbg_ptr,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return r>>>0}finally{zt.__wbindgen_add_to_stack_pointer(16)}}metadata(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.schema_metadata(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return nn(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}},L9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_table_free(e>>>0)),IP=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,L9.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,L9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_table_free(t)}get schema(){let t=zt.table_schema(this.__wbg_ptr);return Sw.__wrap(t)}get numBatches(){return zt.table_numBatches(this.__wbg_ptr)>>>0}toFFI(){try{let s=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_toFFI(s,this.__wbg_ptr);var t=Ue()[s/4+0],r=Ue()[s/4+1],i=Ue()[s/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoFFI(){try{let s=this.__destroy_into_raw(),n=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoFFI(n,s);var t=Ue()[n/4+0],r=Ue()[n/4+1],i=Ue()[n/4+2];if(i)throw nn(r);return EP.__wrap(t)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}intoIPCStream(){try{let o=this.__destroy_into_raw(),c=zt.__wbindgen_add_to_stack_pointer(-16);zt.table_intoIPCStream(c,o);var t=Ue()[c/4+0],r=Ue()[c/4+1],i=Ue()[c/4+2],s=Ue()[c/4+3];if(s)throw nn(i);var n=XD(t,r).slice();return zt.__wbindgen_free(t,r*1,1),n}finally{zt.__wbindgen_add_to_stack_pointer(16)}}static fromIPCStream(t){try{let n=zt.__wbindgen_add_to_stack_pointer(-16),o=D9(t,zt.__wbindgen_malloc),c=hc;zt.table_fromIPCStream(n,o,c);var r=Ue()[n/4+0],i=Ue()[n/4+1],s=Ue()[n/4+2];if(s)throw nn(i);return e.__wrap(r)}finally{zt.__wbindgen_add_to_stack_pointer(16)}}getArrayMemorySize(){return zt.table_getArrayMemorySize(this.__wbg_ptr)>>>0}},B8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmgetoptions_free(e>>>0));var k9=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectmeta_free(e>>>0)),$D=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,k9.register(r,r.__wbg_ptr,r),r}toJSON(){return{location:this.location,last_modified:this.last_modified,size:this.size,e_tag:this.e_tag,version:this.version}}toString(){return JSON.stringify(this)}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,k9.unregister(this),t}free(){let t=this.__destroy_into_raw();zt.__wbg_wasmobjectmeta_free(t)}get location(){let t,r;try{let n=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_location(n,this.__wbg_ptr);var i=Ue()[n/4+0],s=Ue()[n/4+1];return t=i,r=s,tu(i,s)}finally{zt.__wbindgen_add_to_stack_pointer(16),zt.__wbindgen_free(t,r,1)}}set location(t){let r=fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_location(this.__wbg_ptr,r,i)}get last_modified(){let t=zt.__wbg_get_wasmobjectmeta_last_modified(this.__wbg_ptr);return nn(t)}set last_modified(t){zt.__wbg_set_wasmobjectmeta_last_modified(this.__wbg_ptr,qe(t))}get size(){return zt.__wbg_get_wasmobjectmeta_size(this.__wbg_ptr)>>>0}set size(t){zt.__wbg_set_wasmobjectmeta_size(this.__wbg_ptr,t)}get e_tag(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_e_tag(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set e_tag(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_e_tag(this.__wbg_ptr,r,i)}get version(){try{let i=zt.__wbindgen_add_to_stack_pointer(-16);zt.__wbg_get_wasmobjectmeta_version(i,this.__wbg_ptr);var t=Ue()[i/4+0],r=Ue()[i/4+1];let s;return t!==0&&(s=tu(t,r).slice(),zt.__wbindgen_free(t,r*1,1)),s}finally{zt.__wbindgen_add_to_stack_pointer(16)}}set version(t){var r=uc(t)?0:fp(t,zt.__wbindgen_malloc,zt.__wbindgen_realloc),i=hc;zt.__wbg_set_wasmobjectmeta_version(this.__wbg_ptr,r,i)}},F8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_wasmobjectstore_free(e>>>0));var z8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerproperties_free(e>>>0));var N8t=typeof FinalizationRegistry>\"u\"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>zt.__wbg_writerpropertiesbuilder_free(e>>>0));async function Dut(e,t){if(typeof Response==\"function\"&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==\"function\")try{return await WebAssembly.instantiateStreaming(e,t)}catch(i){if(e.headers.get(\"Content-Type\")!=\"application/wasm\")console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\",i);else throw i}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let r=await WebAssembly.instantiate(e,t);return r instanceof WebAssembly.Instance?{instance:r,module:e}:r}}function Out(){let e={};return e.wbg={},e.wbg.__wbindgen_number_new=function(t){return qe(t)},e.wbg.__wbg_columnchunkmetadata_new=function(t){let r=SP.__wrap(t);return qe(r)},e.wbg.__wbg_rowgroupmetadata_new=function(t){let r=PP.__wrap(t);return qe(r)},e.wbg.__wbg_parquetfile_new=function(t){let r=ZD.__wrap(t);return qe(r)},e.wbg.__wbindgen_object_drop_ref=function(t){nn(t)},e.wbg.__wbindgen_object_clone_ref=function(t){let r=xe(t);return qe(r)},e.wbg.__wbindgen_error_new=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbindgen_is_undefined=function(t){return xe(t)===void 0},e.wbg.__wbindgen_in=function(t,r){return xe(t)in xe(r)},e.wbg.__wbindgen_is_bigint=function(t){return typeof xe(t)==\"bigint\"},e.wbg.__wbindgen_bigint_from_u64=function(t){let r=BigInt.asUintN(64,t);return qe(r)},e.wbg.__wbindgen_jsval_eq=function(t,r){return xe(t)===xe(r)},e.wbg.__wbindgen_is_object=function(t){let r=xe(t);return typeof r==\"object\"&&r!==null},e.wbg.__wbindgen_string_new=function(t,r){let i=tu(t,r);return qe(i)},e.wbg.__wbindgen_number_get=function(t,r){let i=xe(r),s=typeof i==\"number\"?i:void 0;Mut()[t/8+1]=uc(s)?0:s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbg_fetch_1db5b0ae726d68b5=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_wasmobjectmeta_new=function(t){let r=$D.__wrap(t);return qe(r)},e.wbg.__wbindgen_string_get=function(t,r){let i=xe(r),s=typeof i==\"string\"?i:void 0;var n=uc(s)?0:fp(s,zt.__wbindgen_malloc,zt.__wbindgen_realloc),o=hc;Ue()[t/4+1]=o,Ue()[t/4+0]=n},e.wbg.__wbg_fetch_bc7c8e27076a5c84=function(t){let r=fetch(xe(t));return qe(r)},e.wbg.__wbg_done_2ffa852272310e47=function(t){return xe(t).done},e.wbg.__wbg_value_9f6eeb1e2aab8d96=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_newwithintounderlyingsource_a03a82aa1bbbb292=function(t,r){let i=new ReadableStream(qD.__wrap(t),nn(r));return qe(i)},e.wbg.__wbg_getReader_ab94afcb5cb7689a=function(){return Ds(function(t){let r=xe(t).getReader();return qe(r)},arguments)},e.wbg.__wbg_sethighWaterMark_ea50ed3ec2143088=function(t,r){xe(t).highWaterMark=r},e.wbg.__wbg_recordbatch_new=function(t){let r=QD.__wrap(t);return qe(r)},e.wbg.__wbg_table_new=function(t){let r=IP.__wrap(t);return qe(r)},e.wbg.__wbindgen_jsval_loose_eq=function(t,r){return xe(t)==xe(r)},e.wbg.__wbindgen_boolean_get=function(t){let r=xe(t);return typeof r==\"boolean\"?r?1:0:2},e.wbg.__wbindgen_as_number=function(t){return+xe(t)},e.wbg.__wbg_String_b9412f8799faab3e=function(t,r){let i=String(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=function(t,r){let i=xe(t)[xe(r)];return qe(i)},e.wbg.__wbg_set_f975102236d3c502=function(t,r,i){xe(t)[nn(r)]=nn(i)},e.wbg.__wbindgen_cb_drop=function(t){let r=nn(t).original;return r.cnt--==1?(r.a=0,!0):!1},e.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=function(t){queueMicrotask(xe(t))},e.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=function(t){let r=xe(t).queueMicrotask;return qe(r)},e.wbg.__wbindgen_is_function=function(t){return typeof xe(t)==\"function\"},e.wbg.__wbg_fetch_921fad6ef9e883dd=function(t,r){let i=xe(t).fetch(xe(r));return qe(i)},e.wbg.__wbg_new_ab6fd82b10560829=function(){return Ds(function(){let t=new Headers;return qe(t)},arguments)},e.wbg.__wbg_append_7bfcb4937d1d5e29=function(){return Ds(function(t,r,i,s,n){xe(t).append(tu(r,i),tu(s,n))},arguments)},e.wbg.__wbg_close_a994f9425dab445c=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_enqueue_ea194723156c0cc2=function(){return Ds(function(t,r){xe(t).enqueue(xe(r))},arguments)},e.wbg.__wbg_size_9c7e57fbd4f0f4b5=function(t){return xe(t).size},e.wbg.__wbg_arrayBuffer_307ddd1bd1d04e23=function(t){let r=xe(t).arrayBuffer();return qe(r)},e.wbg.__wbg_slice_1991e6e71a6587f3=function(){return Ds(function(t,r,i){let s=xe(t).slice(r,i);return qe(s)},arguments)},e.wbg.__wbg_read_e7d0f8a49be01d86=function(t){let r=xe(t).read();return qe(r)},e.wbg.__wbg_releaseLock_5c49db976c08b864=function(t){xe(t).releaseLock()},e.wbg.__wbg_cancel_6ee33d4006737aef=function(t){let r=xe(t).cancel();return qe(r)},e.wbg.__wbg_byobRequest_72fca99f9c32c193=function(t){let r=xe(t).byobRequest;return uc(r)?0:qe(r)},e.wbg.__wbg_close_184931724d961ccc=function(){return Ds(function(t){xe(t).close()},arguments)},e.wbg.__wbg_instanceof_Response_849eb93e75734b6e=function(t){let r;try{r=xe(t)instanceof Response}catch{r=!1}return r},e.wbg.__wbg_url_5f6dc4009ac5f99d=function(t,r){let i=xe(r).url,s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbg_status_61a01141acd3cf74=function(t){return xe(t).status},e.wbg.__wbg_headers_9620bfada380764a=function(t){let r=xe(t).headers;return qe(r)},e.wbg.__wbg_body_9545a94f397829db=function(t){let r=xe(t).body;return uc(r)?0:qe(r)},e.wbg.__wbg_arrayBuffer_29931d52c7206b02=function(){return Ds(function(t){let r=xe(t).arrayBuffer();return qe(r)},arguments)},e.wbg.__wbg_signal_a61f78a3478fd9bc=function(t){let r=xe(t).signal;return qe(r)},e.wbg.__wbg_new_0d76b0581eca6298=function(){return Ds(function(){let t=new AbortController;return qe(t)},arguments)},e.wbg.__wbg_abort_2aa7521d5690750e=function(t){xe(t).abort()},e.wbg.__wbg_view_7f0ce470793a340f=function(t){let r=xe(t).view;return uc(r)?0:qe(r)},e.wbg.__wbg_respond_b1a43b2e3a06d525=function(){return Ds(function(t,r){xe(t).respond(r>>>0)},arguments)},e.wbg.__wbg_newwithstrandinit_3fd6fba4083ff2d0=function(){return Ds(function(t,r,i){let s=new Request(tu(t,r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_get_bd8e338fbd5f5cc8=function(t,r){let i=xe(t)[r>>>0];return qe(i)},e.wbg.__wbg_length_cd7af8117672b8b8=function(t){return xe(t).length},e.wbg.__wbg_newnoargs_e258087cd0daa0ea=function(t,r){let i=new Function(tu(t,r));return qe(i)},e.wbg.__wbg_new_d9bc3a0147634640=function(){return qe(new Map)},e.wbg.__wbg_next_40fc327bfc8770e6=function(t){let r=xe(t).next;return qe(r)},e.wbg.__wbg_next_196c84450b364254=function(){return Ds(function(t){let r=xe(t).next();return qe(r)},arguments)},e.wbg.__wbg_done_298b57d23c0fc80c=function(t){return xe(t).done},e.wbg.__wbg_value_d93c65011f51a456=function(t){let r=xe(t).value;return qe(r)},e.wbg.__wbg_iterator_2cee6dadfd956dfa=function(){return qe(Symbol.iterator)},e.wbg.__wbg_get_e3c254076557e348=function(){return Ds(function(t,r){let i=Reflect.get(xe(t),xe(r));return qe(i)},arguments)},e.wbg.__wbg_call_27c0f87801dedf93=function(){return Ds(function(t,r){let i=xe(t).call(xe(r));return qe(i)},arguments)},e.wbg.__wbg_new_72fb9a18b5ae2624=function(){let t=new Object;return qe(t)},e.wbg.__wbindgen_is_string=function(t){return typeof xe(t)==\"string\"},e.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return Ds(function(){let t=self.self;return qe(t)},arguments)},e.wbg.__wbg_window_c6fb939a7f436783=function(){return Ds(function(){let t=window.window;return qe(t)},arguments)},e.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return Ds(function(){let t=globalThis.globalThis;return qe(t)},arguments)},e.wbg.__wbg_global_207b558942527489=function(){return Ds(function(){let t=global.global;return qe(t)},arguments)},e.wbg.__wbg_isArray_2ab64d95e09ea0ae=function(t){return Array.isArray(xe(t))},e.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=function(t){let r;try{r=xe(t)instanceof ArrayBuffer}catch{r=!1}return r},e.wbg.__wbg_new_28c511d9baebfa89=function(t,r){let i=new Error(tu(t,r));return qe(i)},e.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return Ds(function(t,r,i){let s=xe(t).call(xe(r),xe(i));return qe(s)},arguments)},e.wbg.__wbg_set_8417257aaedc936b=function(t,r,i){let s=xe(t).set(xe(r),xe(i));return qe(s)},e.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=function(t){return Number.isSafeInteger(xe(t))},e.wbg.__wbg_new_cf3ec55744a78578=function(t){let r=new Date(xe(t));return qe(r)},e.wbg.__wbg_entries_95cc2c823b285a09=function(t){let r=Object.entries(xe(t));return qe(r)},e.wbg.__wbg_new_81740750da40724f=function(t,r){try{var i={a:t,b:r},s=(o,c)=>{let f=i.a;i.a=0;try{return Rut(f,i.b,o,c)}finally{i.a=f}};let n=new Promise(s);return qe(n)}finally{i.a=i.b=0}},e.wbg.__wbg_resolve_b0083a7967828ec8=function(t){let r=Promise.resolve(xe(t));return qe(r)},e.wbg.__wbg_catch_0260e338d10f79ae=function(t,r){let i=xe(t).catch(xe(r));return qe(i)},e.wbg.__wbg_then_0c86a60e8fcfe9f6=function(t,r){let i=xe(t).then(xe(r));return qe(i)},e.wbg.__wbg_then_a73caa9a87991566=function(t,r,i){let s=xe(t).then(xe(r),xe(i));return qe(s)},e.wbg.__wbg_buffer_12d079cc21e14bdb=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb=function(t,r,i){let s=new Uint8Array(xe(t),r>>>0,i>>>0);return qe(s)},e.wbg.__wbg_new_63b92bc8671ed464=function(t){let r=new Uint8Array(xe(t));return qe(r)},e.wbg.__wbg_set_a47bac70306a19a7=function(t,r,i){xe(t).set(xe(r),i>>>0)},e.wbg.__wbg_length_c20a40f15020d68a=function(t){return xe(t).length},e.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=function(t){let r;try{r=xe(t)instanceof Uint8Array}catch{r=!1}return r},e.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(t){let r=new Uint8Array(t>>>0);return qe(r)},e.wbg.__wbg_newwithbyteoffset_27c6424791adc775=function(t,r){let i=new Uint8Array(xe(t),r>>>0);return qe(i)},e.wbg.__wbg_buffer_dd7f74bc60f1faab=function(t){let r=xe(t).buffer;return qe(r)},e.wbg.__wbg_byteLength_58f7b4fab1919d44=function(t){return xe(t).byteLength},e.wbg.__wbg_byteOffset_81d60f7392524f62=function(t){return xe(t).byteOffset},e.wbg.__wbg_stringify_8887fe74e1c50d81=function(){return Ds(function(t){let r=JSON.stringify(xe(t));return qe(r)},arguments)},e.wbg.__wbg_has_0af94d20077affa2=function(){return Ds(function(t,r){return Reflect.has(xe(t),xe(r))},arguments)},e.wbg.__wbg_set_1f9b04f170055d33=function(){return Ds(function(t,r,i){return Reflect.set(xe(t),xe(r),xe(i))},arguments)},e.wbg.__wbindgen_bigint_get_as_i64=function(t,r){let i=xe(r),s=typeof i==\"bigint\"?i:void 0;Put()[t/8+1]=uc(s)?BigInt(0):s,Ue()[t/4+0]=!uc(s)},e.wbg.__wbindgen_debug_string=function(t,r){let i=WD(xe(r)),s=fp(i,zt.__wbindgen_malloc,zt.__wbindgen_realloc),n=hc;Ue()[t/4+1]=n,Ue()[t/4+0]=s},e.wbg.__wbindgen_throw=function(t,r){throw new Error(tu(t,r))},e.wbg.__wbindgen_memory=function(){let t=zt.memory;return qe(t)},e.wbg.__wbindgen_function_table=function(){let t=zt.__wbindgen_export_2;return qe(t)},e.wbg.__wbindgen_closure_wrapper13295=function(t,r,i){let s=Iut(t,r,3248,Cut);return qe(s)},e}function But(e,t){return zt=e.exports,F9.__wbindgen_wasm_module=t,xw=null,yw=null,vw=null,bw=null,_w=null,zt}async function F9(e){if(zt!==void 0)return zt;typeof e>\"u\"&&(e=new URL(\"parquet_wasm_bg.wasm\",import.meta.url));let t=Out();(typeof e==\"string\"||typeof Request==\"function\"&&e instanceof Request||typeof URL==\"function\"&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await Dut(await e,t);return But(r,i)}var z9=F9;function U9(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols==\"function\")for(var s=0,i=Object.getOwnPropertySymbols(e);s=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function ii(e){return this instanceof ii?(this.v=e,this):new ii(e)}function eu(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var i=r.apply(e,t||[]),s,n=[];return s={},o(\"next\"),o(\"throw\"),o(\"return\"),s[Symbol.asyncIterator]=function(){return this},s;function o(R){i[R]&&(s[R]=function(N){return new Promise(function(j,Q){n.push([R,N,j,Q])>1||c(R,N)})})}function c(R,N){try{f(i[R](N))}catch(j){I(n[0][3],j)}}function f(R){R.value instanceof ii?Promise.resolve(R.value.v).then(_,w):I(n[0][2],R)}function _(R){c(\"next\",R)}function w(R){c(\"throw\",R)}function I(R,N){R(N),n.shift(),n.length&&c(n[0][0],n[0][1])}}function lv(e){var t,r;return t={},i(\"next\"),i(\"throw\",function(s){throw s}),i(\"return\"),t[Symbol.iterator]=function(){return this},t;function i(s,n){t[s]=e[s]?function(o){return(r=!r)?{value:ii(e[s](o)),done:!1}:n?n(o):o}:n}}function Zh(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof N9==\"function\"?N9(e):e[Symbol.iterator](),r={},i(\"next\"),i(\"throw\"),i(\"return\"),r[Symbol.asyncIterator]=function(){return this},r);function i(n){r[n]=e[n]&&function(o){return new Promise(function(c,f){o=e[n](o),s(c,f,o.done,o.value)})}}function s(n,o,c,f){Promise.resolve(f).then(function(_){n({value:_,done:c})},o)}}var iO={};mA(iO,{compareArrayLike:()=>rO,joinUint8Arrays:()=>iu,memcpy:()=>Ew,rebaseValueOffsets:()=>FP,toArrayBufferView:()=>Ai,toArrayBufferViewAsyncIterator:()=>Qh,toArrayBufferViewIterator:()=>td,toBigInt64Array:()=>BP,toBigUint64Array:()=>Hut,toFloat32Array:()=>qut,toFloat32ArrayAsyncIterator:()=>lht,toFloat32ArrayIterator:()=>tht,toFloat64Array:()=>Zut,toFloat64ArrayAsyncIterator:()=>cht,toFloat64ArrayIterator:()=>eht,toInt16Array:()=>jut,toInt16ArrayAsyncIterator:()=>nht,toInt16ArrayIterator:()=>$ut,toInt32Array:()=>yg,toInt32ArrayAsyncIterator:()=>sht,toInt32ArrayIterator:()=>Xut,toInt8Array:()=>Vut,toInt8ArrayAsyncIterator:()=>iht,toInt8ArrayIterator:()=>Qut,toUint16Array:()=>Gut,toUint16ArrayAsyncIterator:()=>oht,toUint16ArrayIterator:()=>Kut,toUint32Array:()=>Wut,toUint32ArrayAsyncIterator:()=>aht,toUint32ArrayIterator:()=>Jut,toUint8Array:()=>Rr,toUint8ArrayAsyncIterator:()=>eO,toUint8ArrayIterator:()=>tO,toUint8ClampedArray:()=>Yut,toUint8ClampedArrayAsyncIterator:()=>uht,toUint8ClampedArrayIterator:()=>rht});var Fut=new TextDecoder(\"utf-8\"),Tw=e=>Fut.decode(e),zut=new TextEncoder,Jf=e=>zut.encode(e);var Nut=e=>typeof e==\"number\",V9=e=>typeof e==\"boolean\",Oo=e=>typeof e==\"function\",Cl=e=>e!=null&&Object(e)===e,ru=e=>Cl(e)&&Oo(e.then);var Yh=e=>Cl(e)&&Oo(e[Symbol.iterator]),Nu=e=>Cl(e)&&Oo(e[Symbol.asyncIterator]),CP=e=>Cl(e)&&Cl(e.schema);var LP=e=>Cl(e)&&\"done\"in e&&\"value\"in e;var kP=e=>Cl(e)&&Oo(e.stat)&&Nut(e.fd);var RP=e=>Cl(e)&&Mw(e.body),DP=e=>\"_getDOMStream\"in e&&\"_getNodeStream\"in e,j9=e=>Cl(e)&&Oo(e.abort)&&Oo(e.getWriter)&&!DP(e),Mw=e=>Cl(e)&&Oo(e.cancel)&&Oo(e.getReader)&&!DP(e),G9=e=>Cl(e)&&Oo(e.end)&&Oo(e.write)&&V9(e.writable)&&!DP(e),OP=e=>Cl(e)&&Oo(e.read)&&Oo(e.pipe)&&V9(e.readable)&&!DP(e),W9=e=>Cl(e)&&Oo(e.clear)&&Oo(e.bytes)&&Oo(e.position)&&Oo(e.setPosition)&&Oo(e.capacity)&&Oo(e.getBufferIdentifier)&&Oo(e.createLong);var JD=typeof SharedArrayBuffer<\"u\"?SharedArrayBuffer:ArrayBuffer;function Uut(e){let t=e[0]?[e[0]]:[],r,i,s,n;for(let o,c,f=0,_=0,w=e.length;++fw+I.byteLength,0),s,n,o,c=0,f=-1,_=Math.min(t||Number.POSITIVE_INFINITY,i);for(let w=r.length;++fAi(Int8Array,e),jut=e=>Ai(Int16Array,e),yg=e=>Ai(Int32Array,e),BP=e=>Ai(BigInt64Array,e),Rr=e=>Ai(Uint8Array,e),Gut=e=>Ai(Uint16Array,e),Wut=e=>Ai(Uint32Array,e),Hut=e=>Ai(BigUint64Array,e),qut=e=>Ai(Float32Array,e),Zut=e=>Ai(Float64Array,e),Yut=e=>Ai(Uint8ClampedArray,e),KD=e=>(e.next(),e);function*td(e,t){let r=function*(s){yield s},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?r(t):Yh(t)?t:r(t);return yield*KD(function*(s){let n=null;do n=s.next(yield Ai(e,n));while(!n.done)}(i[Symbol.iterator]())),new e}var Qut=e=>td(Int8Array,e),$ut=e=>td(Int16Array,e),Xut=e=>td(Int32Array,e),tO=e=>td(Uint8Array,e),Kut=e=>td(Uint16Array,e),Jut=e=>td(Uint32Array,e),tht=e=>td(Float32Array,e),eht=e=>td(Float64Array,e),rht=e=>td(Uint8ClampedArray,e);function Qh(e,t){return eu(this,arguments,function*(){if(ru(t))return yield ii(yield ii(yield*lv(Zh(Qh(e,yield ii(t))))));let i=function(o){return eu(this,arguments,function*(){yield yield ii(yield ii(o))})},s=function(o){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(KD(function*(c){let f=null;do f=c.next(yield f?.value);while(!f.done)}(o[Symbol.iterator]())))))})},n=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof JD?i(t):Yh(t)?s(t):Nu(t)?t:i(t);return yield ii(yield*lv(Zh(KD(function(o){return eu(this,arguments,function*(){let c=null;do c=yield ii(o.next(yield yield ii(Ai(e,c))));while(!c.done)})}(n[Symbol.asyncIterator]()))))),yield ii(new e)})}var iht=e=>Qh(Int8Array,e),nht=e=>Qh(Int16Array,e),sht=e=>Qh(Int32Array,e),eO=e=>Qh(Uint8Array,e),oht=e=>Qh(Uint16Array,e),aht=e=>Qh(Uint32Array,e),lht=e=>Qh(Float32Array,e),cht=e=>Qh(Float64Array,e),uht=e=>Qh(Uint8ClampedArray,e);function FP(e,t,r){if(e!==0){r=r.slice(0,t);for(let i=-1,s=r.length;++i0)do if(e[r]!==t[r])return!1;while(++r(e.next(),e);function*hht(e){let t,r=!1,i=[],s,n,o,c=0;function f(){return n===\"peek\"?iu(i,o)[0]:([s,i,c]=iu(i,o),s)}({cmd:n,size:o}=(yield null)||{cmd:\"read\",size:0});let _=tO(e)[Symbol.iterator]();try{do if({done:t,value:s}=Number.isNaN(o-c)?_.next():_.next(o-c),!t&&s.byteLength>0&&(i.push(s),c+=s.byteLength),t||o<=c)do({cmd:n,size:o}=yield f());while(o0&&(s.push(n),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c0&&(s.push(Rr(n)),f+=n.byteLength),r||c<=f)do({cmd:o,size:c}=yield yield ii(_()));while(c{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return ar(this,void 0,void 0,function*(){let{reader:r,source:i}=this;r&&(yield r.cancel(t).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(t){return ar(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let r=yield this.reader.read();return!r.done&&(r.value=Rr(r)),r})}},nO=(e,t)=>{let r=s=>i([t,s]),i;return[t,r,new Promise(s=>(i=s)&&e.once(t,r))]};function pht(e){return eu(this,arguments,function*(){let r=[],i=\"error\",s=!1,n=null,o,c,f=0,_=[],w;function I(){return o===\"peek\"?iu(_,c)[0]:([w,_,f]=iu(_,c),w)}if({cmd:o,size:c}=(yield yield ii(null))||{cmd:\"read\",size:0},e.isTTY)return yield yield ii(new Uint8Array(0)),yield ii(null);try{r[0]=nO(e,\"end\"),r[1]=nO(e,\"error\");do{if(r[2]=nO(e,\"readable\"),[i,n]=yield ii(Promise.race(r.map(N=>N[2]))),i===\"error\")break;if((s=i===\"end\")||(Number.isFinite(c-f)?(w=Rr(e.read(c-f)),w.byteLength0&&(_.push(w),f+=w.byteLength)),s||c<=f)do({cmd:o,size:c}=yield yield ii(I()));while(c{for(let[Y,K]of N)e.off(Y,K);try{let Y=e.destroy;Y&&Y.call(e,j),j=void 0}catch(Y){j=Y||j}finally{j!=null?et(j):Q()}})}})}var sn;(function(e){e[e.V1=0]=\"V1\",e[e.V2=1]=\"V2\",e[e.V3=2]=\"V3\",e[e.V4=3]=\"V4\",e[e.V5=4]=\"V5\"})(sn||(sn={}));var Pn;(function(e){e[e.Sparse=0]=\"Sparse\",e[e.Dense=1]=\"Dense\"})(Pn||(Pn={}));var $i;(function(e){e[e.HALF=0]=\"HALF\",e[e.SINGLE=1]=\"SINGLE\",e[e.DOUBLE=2]=\"DOUBLE\"})($i||($i={}));var Os;(function(e){e[e.DAY=0]=\"DAY\",e[e.MILLISECOND=1]=\"MILLISECOND\"})(Os||(Os={}));var Ar;(function(e){e[e.SECOND=0]=\"SECOND\",e[e.MILLISECOND=1]=\"MILLISECOND\",e[e.MICROSECOND=2]=\"MICROSECOND\",e[e.NANOSECOND=3]=\"NANOSECOND\"})(Ar||(Ar={}));var Bo;(function(e){e[e.YEAR_MONTH=0]=\"YEAR_MONTH\",e[e.DAY_TIME=1]=\"DAY_TIME\",e[e.MONTH_DAY_NANO=2]=\"MONTH_DAY_NANO\"})(Bo||(Bo={}));var ed=new Int32Array(2),NP=new Float32Array(ed.buffer),UP=new Float64Array(ed.buffer),cv=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Pw;(function(e){e[e.UTF8_BYTES=1]=\"UTF8_BYTES\",e[e.UTF16_STRING=2]=\"UTF16_STRING\"})(Pw||(Pw={}));var nu=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8}writeInt32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeUint32(t,r){this.bytes_[t]=r,this.bytes_[t+1]=r>>8,this.bytes_[t+2]=r>>16,this.bytes_[t+3]=r>>24}writeInt64(t,r){this.writeInt32(t,Number(BigInt.asIntN(32,r))),this.writeInt32(t+4,Number(BigInt.asIntN(32,r>>BigInt(32))))}writeUint64(t,r){this.writeUint32(t,Number(BigInt.asUintN(32,r))),this.writeUint32(t+4,Number(BigInt.asUintN(32,r>>BigInt(32))))}writeFloat32(t,r){NP[0]=r,this.writeInt32(t,ed[0])}writeFloat64(t,r){UP[0]=r,this.writeInt32(t,ed[cv?0:1]),this.writeInt32(t+4,ed[cv?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);let i=~(this.bb.capacity()-this.space+r)+1&t-1;for(;this.space=0&&this.vtable[r]==0;r--);let i=r+1;for(;r>=0;r--)this.addInt16(this.vtable[r]!=0?t-this.vtable[r]:0);let s=2;this.addInt16(t-this.object_start);let n=(i+s)*2;this.addInt16(n);let o=0,c=this.space;t:for(r=0;r=0;o--)this.writeInt8(n.charCodeAt(o))}this.prep(this.minalign,4+s),this.addOffset(t),s&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,r){this.finish(t,r,!0)}requiredField(t,r){let i=this.bb.capacity()-t,s=i-this.bb.readInt32(i);if(!(r=0;i--)t.addInt32(r[i]);return t.endVector()}static startTypeIdsVector(t,r){t.startVector(4,r,4)}static endUnion(t){return t.endObject()}static createUnion(t,r,i){return e.startUnion(t),e.addMode(t,r),e.addTypeIds(t,i),e.endUnion(t)}};var Nw=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsUtf8(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var In;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.FloatingPoint=3]=\"FloatingPoint\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct_=13]=\"Struct_\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.LargeList=21]=\"LargeList\",e[e.RunEndEncoded=22]=\"RunEndEncoded\"})(In||(In={}));var nl=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsField(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let r=this.bb.__offset(this.bb_pos,4);return r?this.bb.__string(this.bb_pos+r,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):In.NONE}type(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.__union(t,this.bb_pos+r):null}dictionary(t){let r=this.bb.__offset(this.bb_pos,12);return r?(t||new rd).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}children(t,r){let i=this.bb.__offset(this.bb_pos,14);return i?(r||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,16);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,r){t.addFieldOffset(0,r,0)}static addNullable(t,r){t.addFieldInt8(1,+r,0)}static addTypeType(t,r){t.addFieldInt8(2,r,In.NONE)}static addType(t,r){t.addFieldOffset(3,r,0)}static addDictionary(t,r){t.addFieldOffset(4,r,0)}static addChildren(t,r){t.addFieldOffset(5,r,0)}static createChildrenVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startChildrenVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(6,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endField(t){return t.endObject()}};var fc=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsSchema(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):im.Little}fields(t,r){let i=this.bb.__offset(this.bb_pos,6);return i?(r||new nl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let r=this.bb.__offset(this.bb_pos,10);return r?this.bb.readInt64(this.bb.__vector(this.bb_pos+r)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,r){t.addFieldInt16(0,r,im.Little)}static addFields(t,r){t.addFieldOffset(1,r,0)}static createFieldsVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startFieldsVector(t,r){t.startVector(4,r,4)}static addCustomMetadata(t,r){t.addFieldOffset(2,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static addFeatures(t,r){t.addFieldOffset(3,r,0)}static createFeaturesVector(t,r){t.startVector(8,r.length,8);for(let i=r.length-1;i>=0;i--)t.addInt64(r[i]);return t.endVector()}static startFeaturesVector(t,r){t.startVector(8,r,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,r){t.finish(r)}static finishSizePrefixedSchemaBuffer(t,r){t.finish(r,void 0,!0)}static createSchema(t,r,i,s,n){return e.startSchema(t),e.addEndianness(t,r),e.addFields(t,i),e.addCustomMetadata(t,s),e.addFeatures(t,n),e.endSchema(t)}};var wi;(function(e){e[e.NONE=0]=\"NONE\",e[e.Schema=1]=\"Schema\",e[e.DictionaryBatch=2]=\"DictionaryBatch\",e[e.RecordBatch=3]=\"RecordBatch\",e[e.Tensor=4]=\"Tensor\",e[e.SparseTensor=5]=\"SparseTensor\"})(wi||(wi={}));var Ot;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Duration=18]=\"Duration\",e[e.LargeBinary=19]=\"LargeBinary\",e[e.LargeUtf8=20]=\"LargeUtf8\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\",e[e.DurationSecond=-27]=\"DurationSecond\",e[e.DurationMillisecond=-28]=\"DurationMillisecond\",e[e.DurationMicrosecond=-29]=\"DurationMicrosecond\",e[e.DurationNanosecond=-30]=\"DurationNanosecond\"})(Ot||(Ot={}));var Oi;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(Oi||(Oi={}));var TO={};mA(TO,{clampRange:()=>Kw,createElementComparator:()=>pm,wrapIndex:()=>xg});var oO={};mA(oO,{valueToString:()=>Jh});function Jh(e){if(e===null)return\"null\";if(e===void 0)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Jh(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,r)=>typeof r==\"bigint\"?`${r}`:r)}var uO={};mA(uO,{BN:()=>Vw,bigNumToBigInt:()=>q9,bigNumToNumber:()=>cO,bigNumToString:()=>pv,isArrowBigNumSymbol:()=>H9});function Wi(e){if(typeof e==\"bigint\"&&(eNumber.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function aO(e,t){return Wi(e/t)+Wi(e%t)/Wi(t)}var H9=Symbol.for(\"isArrowBigNum\");function tf(e,...t){return t.length===0?Object.setPrototypeOf(Ai(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}tf.prototype[H9]=!0;tf.prototype.toJSON=function(){return`\"${pv(this)}\"`};tf.prototype.valueOf=function(e){return cO(this,e)};tf.prototype.toString=function(){return pv(this)};tf.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return cO(this);case\"string\":return pv(this);case\"default\":return q9(this)}return pv(this)};function fv(...e){return tf.apply(this,e)}function dv(...e){return tf.apply(this,e)}function Uw(...e){return tf.apply(this,e)}Object.setPrototypeOf(fv.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(dv.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Uw.prototype,Object.create(Uint32Array.prototype));Object.assign(fv.prototype,tf.prototype,{constructor:fv,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(dv.prototype,tf.prototype,{constructor:dv,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Uw.prototype,tf.prototype,{constructor:Uw,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Aht=BigInt(4294967296)*BigInt(4294967296),mht=Aht-BigInt(1);function cO(e,t){let{buffer:r,byteOffset:i,byteLength:s,signed:n}=e,o=new BigUint64Array(r,i,s/8),c=n&&o.at(-1)&BigInt(1)<=0)return lO(e);t=t.slice();let i=1;for(let n=0;n(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]=\"DataType\"))(ze.prototype);var ea=class extends ze{constructor(){super(Ot.Null)}toString(){return\"Null\"}};Y9=Symbol.toStringTag;ea[Y9]=(e=>e[Symbol.toStringTag]=\"Null\")(ea.prototype);var Bs=class extends ze{constructor(t,r){super(Ot.Int),this.isSigned=t,this.bitWidth=r}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}};Q9=Symbol.toStringTag;Bs[Q9]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(Bs.prototype);var jw=class extends Bs{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},Gw=class extends Bs{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},ef=class extends Bs{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},Ww=class extends Bs{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},Hw=class extends Bs{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},qw=class extends Bs{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Zw=class extends Bs{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Yw=class extends Bs{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(jw.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(Gw.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(ef.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(Ww.prototype,\"ArrayType\",{value:BigInt64Array});Object.defineProperty(Hw.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(Zw.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(Yw.prototype,\"ArrayType\",{value:BigUint64Array});var ra=class extends ze{constructor(t){super(Ot.Float),this.precision=t}get ArrayType(){switch(this.precision){case $i.HALF:return Uint16Array;case $i.SINGLE:return Float32Array;case $i.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};$9=Symbol.toStringTag;ra[$9]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(ra.prototype);var Qw=class extends ra{constructor(){super($i.HALF)}},$w=class extends ra{constructor(){super($i.SINGLE)}},Av=class extends ra{constructor(){super($i.DOUBLE)}};Object.defineProperty(Qw.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty($w.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(Av.prototype,\"ArrayType\",{value:Float64Array});var Vu=class extends ze{constructor(){super(Ot.Binary)}toString(){return\"Binary\"}};X9=Symbol.toStringTag;Vu[X9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Vu.prototype);var nd=class extends ze{constructor(){super(Ot.LargeBinary)}toString(){return\"LargeBinary\"}};K9=Symbol.toStringTag;nd[K9]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeBinary\"))(nd.prototype);var ju=class extends ze{constructor(){super(Ot.Utf8)}toString(){return\"Utf8\"}};J9=Symbol.toStringTag;ju[J9]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ju.prototype);var sd=class extends ze{constructor(){super(Ot.LargeUtf8)}toString(){return\"LargeUtf8\"}};tW=Symbol.toStringTag;sd[tW]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]=\"LargeUtf8\"))(sd.prototype);var dc=class extends ze{constructor(){super(Ot.Bool)}toString(){return\"Bool\"}};eW=Symbol.toStringTag;dc[eW]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(dc.prototype);var Gu=class extends ze{constructor(t,r,i=128){super(Ot.Decimal),this.scale=t,this.precision=r,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}};rW=Symbol.toStringTag;Gu[rW]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(Gu.prototype);var Wu=class extends ze{constructor(t){super(Ot.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Os[this.unit]}>`}get ArrayType(){return this.unit===Os.DAY?Int32Array:BigInt64Array}};iW=Symbol.toStringTag;Wu[iW]=(e=>(e.unit=null,e[Symbol.toStringTag]=\"Date\"))(Wu.prototype);var Hu=class extends ze{constructor(t,r){super(Ot.Time),this.unit=t,this.bitWidth=r}toString(){return`Time${this.bitWidth}<${Ar[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};nW=Symbol.toStringTag;Hu[nW]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Time\"))(Hu.prototype);var qu=class extends ze{constructor(t,r){super(Ot.Timestamp),this.unit=t,this.timezone=r}toString(){return`Timestamp<${Ar[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}};sW=Symbol.toStringTag;qu[sW]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Timestamp\"))(qu.prototype);var Zu=class extends ze{constructor(t){super(Ot.Interval),this.unit=t}toString(){return`Interval<${Bo[this.unit]}>`}};oW=Symbol.toStringTag;Zu[oW]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(Zu.prototype);var Yu=class extends ze{constructor(t){super(Ot.Duration),this.unit=t}toString(){return`Duration<${Ar[this.unit]}>`}};aW=Symbol.toStringTag;Yu[aW]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]=\"Duration\"))(Yu.prototype);var sl=class extends ze{constructor(t){super(Ot.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};lW=Symbol.toStringTag;sl[lW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(sl.prototype);var pn=class extends ze{constructor(t){super(Ot.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};cW=Symbol.toStringTag;pn[cW]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(pn.prototype);var pc=class extends ze{constructor(t,r,i){super(Ot.Union),this.mode=t,this.children=i,this.typeIds=r=Int32Array.from(r),this.typeIdToChildIndex=r.reduce((s,n,o)=>(s[n]=o)&&s||s,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}};uW=Symbol.toStringTag;pc[uW]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(pc.prototype);var Qu=class extends ze{constructor(t){super(Ot.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};hW=Symbol.toStringTag;Qu[hW]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(Qu.prototype);var Ll=class extends ze{constructor(t,r){super(Ot.FixedSizeList),this.listSize=t,this.children=[r]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};fW=Symbol.toStringTag;Ll[fW]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Ll.prototype);var Ac=class extends ze{constructor(t,r=!1){var i,s,n;if(super(Ot.Map),this.children=[t],this.keysSorted=r,t&&(t.name=\"entries\",!((i=t?.type)===null||i===void 0)&&i.children)){let o=(s=t?.type)===null||s===void 0?void 0:s.children[0];o&&(o.name=\"key\");let c=(n=t?.type)===null||n===void 0?void 0:n.children[1];c&&(c.name=\"value\")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}};dW=Symbol.toStringTag;Ac[dW]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Ac.prototype);var ght=(e=>()=>++e)(-1),mc=class extends ze{constructor(t,r,i,s){super(Ot.Dictionary),this.indices=r,this.dictionary=t,this.isOrdered=s||!1,this.id=i==null?ght():Wi(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};pW=Symbol.toStringTag;mc[pW]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(mc.prototype);function ou(e){let t=e;switch(e.typeId){case Ot.Decimal:return e.bitWidth/32;case Ot.Interval:return 1+t.unit;case Ot.FixedSizeList:return t.listSize;case Ot.FixedSizeBinary:return t.byteWidth;default:return 1}}var Er=class{visitMany(t,...r){return t.map((i,s)=>this.visit(i,...r.map(n=>n[s])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,r=!0){return _ht(this,t,r)}getVisitFnByTypeId(t,r=!0){return mv(this,t,r)}visitNull(t,...r){return null}visitBool(t,...r){return null}visitInt(t,...r){return null}visitFloat(t,...r){return null}visitUtf8(t,...r){return null}visitLargeUtf8(t,...r){return null}visitBinary(t,...r){return null}visitLargeBinary(t,...r){return null}visitFixedSizeBinary(t,...r){return null}visitDate(t,...r){return null}visitTimestamp(t,...r){return null}visitTime(t,...r){return null}visitDecimal(t,...r){return null}visitList(t,...r){return null}visitStruct(t,...r){return null}visitUnion(t,...r){return null}visitDictionary(t,...r){return null}visitInterval(t,...r){return null}visitDuration(t,...r){return null}visitFixedSizeList(t,...r){return null}visitMap(t,...r){return null}};function _ht(e,t,r=!0){return typeof t==\"number\"?mv(e,t,r):typeof t==\"string\"&&t in Ot?mv(e,Ot[t],r):t&&t instanceof ze?mv(e,AW(t),r):t?.type&&t.type instanceof ze?mv(e,AW(t.type),r):mv(e,Ot.NONE,r)}function mv(e,t,r=!0){let i=null;switch(t){case Ot.Null:i=e.visitNull;break;case Ot.Bool:i=e.visitBool;break;case Ot.Int:i=e.visitInt;break;case Ot.Int8:i=e.visitInt8||e.visitInt;break;case Ot.Int16:i=e.visitInt16||e.visitInt;break;case Ot.Int32:i=e.visitInt32||e.visitInt;break;case Ot.Int64:i=e.visitInt64||e.visitInt;break;case Ot.Uint8:i=e.visitUint8||e.visitInt;break;case Ot.Uint16:i=e.visitUint16||e.visitInt;break;case Ot.Uint32:i=e.visitUint32||e.visitInt;break;case Ot.Uint64:i=e.visitUint64||e.visitInt;break;case Ot.Float:i=e.visitFloat;break;case Ot.Float16:i=e.visitFloat16||e.visitFloat;break;case Ot.Float32:i=e.visitFloat32||e.visitFloat;break;case Ot.Float64:i=e.visitFloat64||e.visitFloat;break;case Ot.Utf8:i=e.visitUtf8;break;case Ot.LargeUtf8:i=e.visitLargeUtf8;break;case Ot.Binary:i=e.visitBinary;break;case Ot.LargeBinary:i=e.visitLargeBinary;break;case Ot.FixedSizeBinary:i=e.visitFixedSizeBinary;break;case Ot.Date:i=e.visitDate;break;case Ot.DateDay:i=e.visitDateDay||e.visitDate;break;case Ot.DateMillisecond:i=e.visitDateMillisecond||e.visitDate;break;case Ot.Timestamp:i=e.visitTimestamp;break;case Ot.TimestampSecond:i=e.visitTimestampSecond||e.visitTimestamp;break;case Ot.TimestampMillisecond:i=e.visitTimestampMillisecond||e.visitTimestamp;break;case Ot.TimestampMicrosecond:i=e.visitTimestampMicrosecond||e.visitTimestamp;break;case Ot.TimestampNanosecond:i=e.visitTimestampNanosecond||e.visitTimestamp;break;case Ot.Time:i=e.visitTime;break;case Ot.TimeSecond:i=e.visitTimeSecond||e.visitTime;break;case Ot.TimeMillisecond:i=e.visitTimeMillisecond||e.visitTime;break;case Ot.TimeMicrosecond:i=e.visitTimeMicrosecond||e.visitTime;break;case Ot.TimeNanosecond:i=e.visitTimeNanosecond||e.visitTime;break;case Ot.Decimal:i=e.visitDecimal;break;case Ot.List:i=e.visitList;break;case Ot.Struct:i=e.visitStruct;break;case Ot.Union:i=e.visitUnion;break;case Ot.DenseUnion:i=e.visitDenseUnion||e.visitUnion;break;case Ot.SparseUnion:i=e.visitSparseUnion||e.visitUnion;break;case Ot.Dictionary:i=e.visitDictionary;break;case Ot.Interval:i=e.visitInterval;break;case Ot.IntervalDayTime:i=e.visitIntervalDayTime||e.visitInterval;break;case Ot.IntervalYearMonth:i=e.visitIntervalYearMonth||e.visitInterval;break;case Ot.Duration:i=e.visitDuration;break;case Ot.DurationSecond:i=e.visitDurationSecond||e.visitDuration;break;case Ot.DurationMillisecond:i=e.visitDurationMillisecond||e.visitDuration;break;case Ot.DurationMicrosecond:i=e.visitDurationMicrosecond||e.visitDuration;break;case Ot.DurationNanosecond:i=e.visitDurationNanosecond||e.visitDuration;break;case Ot.FixedSizeList:i=e.visitFixedSizeList;break;case Ot.Map:i=e.visitMap;break}if(typeof i==\"function\")return i;if(!r)return()=>null;throw new Error(`Unrecognized type '${Ot[t]}'`)}function AW(e){switch(e.typeId){case Ot.Null:return Ot.Null;case Ot.Int:{let{bitWidth:t,isSigned:r}=e;switch(t){case 8:return r?Ot.Int8:Ot.Uint8;case 16:return r?Ot.Int16:Ot.Uint16;case 32:return r?Ot.Int32:Ot.Uint32;case 64:return r?Ot.Int64:Ot.Uint64}return Ot.Int}case Ot.Float:switch(e.precision){case $i.HALF:return Ot.Float16;case $i.SINGLE:return Ot.Float32;case $i.DOUBLE:return Ot.Float64}return Ot.Float;case Ot.Binary:return Ot.Binary;case Ot.LargeBinary:return Ot.LargeBinary;case Ot.Utf8:return Ot.Utf8;case Ot.LargeUtf8:return Ot.LargeUtf8;case Ot.Bool:return Ot.Bool;case Ot.Decimal:return Ot.Decimal;case Ot.Time:switch(e.unit){case Ar.SECOND:return Ot.TimeSecond;case Ar.MILLISECOND:return Ot.TimeMillisecond;case Ar.MICROSECOND:return Ot.TimeMicrosecond;case Ar.NANOSECOND:return Ot.TimeNanosecond}return Ot.Time;case Ot.Timestamp:switch(e.unit){case Ar.SECOND:return Ot.TimestampSecond;case Ar.MILLISECOND:return Ot.TimestampMillisecond;case Ar.MICROSECOND:return Ot.TimestampMicrosecond;case Ar.NANOSECOND:return Ot.TimestampNanosecond}return Ot.Timestamp;case Ot.Date:switch(e.unit){case Os.DAY:return Ot.DateDay;case Os.MILLISECOND:return Ot.DateMillisecond}return Ot.Date;case Ot.Interval:switch(e.unit){case Bo.DAY_TIME:return Ot.IntervalDayTime;case Bo.YEAR_MONTH:return Ot.IntervalYearMonth}return Ot.Interval;case Ot.Duration:switch(e.unit){case Ar.SECOND:return Ot.DurationSecond;case Ar.MILLISECOND:return Ot.DurationMillisecond;case Ar.MICROSECOND:return Ot.DurationMicrosecond;case Ar.NANOSECOND:return Ot.DurationNanosecond}return Ot.Duration;case Ot.Map:return Ot.Map;case Ot.List:return Ot.List;case Ot.Struct:return Ot.Struct;case Ot.Union:switch(e.mode){case Pn.Dense:return Ot.DenseUnion;case Pn.Sparse:return Ot.SparseUnion}return Ot.Union;case Ot.FixedSizeBinary:return Ot.FixedSizeBinary;case Ot.FixedSizeList:return Ot.FixedSizeList;case Ot.Dictionary:return Ot.Dictionary}throw new Error(`Unrecognized type '${Ot[e.typeId]}'`)}Er.prototype.visitInt8=null;Er.prototype.visitInt16=null;Er.prototype.visitInt32=null;Er.prototype.visitInt64=null;Er.prototype.visitUint8=null;Er.prototype.visitUint16=null;Er.prototype.visitUint32=null;Er.prototype.visitUint64=null;Er.prototype.visitFloat16=null;Er.prototype.visitFloat32=null;Er.prototype.visitFloat64=null;Er.prototype.visitDateDay=null;Er.prototype.visitDateMillisecond=null;Er.prototype.visitTimestampSecond=null;Er.prototype.visitTimestampMillisecond=null;Er.prototype.visitTimestampMicrosecond=null;Er.prototype.visitTimestampNanosecond=null;Er.prototype.visitTimeSecond=null;Er.prototype.visitTimeMillisecond=null;Er.prototype.visitTimeMicrosecond=null;Er.prototype.visitTimeNanosecond=null;Er.prototype.visitDenseUnion=null;Er.prototype.visitSparseUnion=null;Er.prototype.visitIntervalDayTime=null;Er.prototype.visitIntervalYearMonth=null;Er.prototype.visitDuration=null;Er.prototype.visitDurationSecond=null;Er.prototype.visitDurationMillisecond=null;Er.prototype.visitDurationMicrosecond=null;Er.prototype.visitDurationNanosecond=null;var hO={};mA(hO,{float64ToUint16:()=>Xw,uint16ToFloat64:()=>GP});var mW=new Float64Array(1),gv=new Uint32Array(mW.buffer);function GP(e){let t=(e&31744)>>10,r=(e&1023)/1024,i=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return i*(r?Number.NaN:1/0);case 0:return i*(r?6103515625e-14*r:0)}return i*Math.pow(2,t-15)*(1+r)}function Xw(e){if(e!==e)return 32256;mW[0]=e;let t=(gv[1]&2147483648)>>16&65535,r=gv[1]&2146435072,i=0;return r>=1089470464?gv[0]>0?r=31744:(r=(r&2080374784)>>16,i=(gv[1]&1048575)>>10):r<=1056964608?(i=1048576+(gv[1]&1048575),i=1048576+(i<<(r>>20)-998)>>21,r=0):(r=r-1056964608>>10,i=(gv[1]&1048575)+512>>10),t|r|i&65535}var kr=class extends Er{};function Wr(e){return(t,r,i)=>{if(t.setValid(r,i!=null))return e(t,r,i)}}var yht=(e,t,r)=>{e[t]=Math.floor(r/864e5)},gW=(e,t,r,i)=>{if(r+1{let s=e+r;i?t[s>>3]|=1<>3]&=~(1<{e[t]=r},fO=({values:e},t,r)=>{e[t]=r},_W=({values:e},t,r)=>{e[t]=Xw(r)},xht=(e,t,r)=>{switch(e.type.precision){case $i.HALF:return _W(e,t,r);case $i.SINGLE:case $i.DOUBLE:return fO(e,t,r)}},WP=({values:e},t,r)=>{yht(e,t,r.valueOf())},HP=({values:e},t,r)=>{e[t]=BigInt(r)},dO=({stride:e,values:t},r,i)=>{t.set(i.subarray(0,e),e*r)},yW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,i),vW=({values:e,valueOffsets:t},r,i)=>gW(e,t,r,Jf(i)),pO=(e,t,r)=>{e.type.unit===Os.DAY?WP(e,t,r):HP(e,t,r)},qP=({values:e},t,r)=>{e[t]=BigInt(r/1e3)},ZP=({values:e},t,r)=>{e[t]=BigInt(r)},YP=({values:e},t,r)=>{e[t]=BigInt(r*1e3)},QP=({values:e},t,r)=>{e[t]=BigInt(r*1e6)},AO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return qP(e,t,r);case Ar.MILLISECOND:return ZP(e,t,r);case Ar.MICROSECOND:return YP(e,t,r);case Ar.NANOSECOND:return QP(e,t,r)}},$P=({values:e},t,r)=>{e[t]=r},XP=({values:e},t,r)=>{e[t]=r},KP=({values:e},t,r)=>{e[t]=r},JP=({values:e},t,r)=>{e[t]=r},mO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return $P(e,t,r);case Ar.MILLISECOND:return XP(e,t,r);case Ar.MICROSECOND:return KP(e,t,r);case Ar.NANOSECOND:return JP(e,t,r)}},gO=({values:e,stride:t},r,i)=>{e.set(i.subarray(0,t),t*r)},bht=(e,t,r)=>{let i=e.children[0],s=e.valueOffsets,n=ba.getVisitFn(i);if(Array.isArray(r))for(let o=-1,c=s[t],f=s[t+1];c{let i=e.children[0],{valueOffsets:s}=e,n=ba.getVisitFn(i),{[t]:o,[t+1]:c}=s,f=r instanceof Map?r.entries():Object.entries(r);for(let _ of f)if(n(i,o,_),++o>=c)break},Sht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[n]),Tht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(n)),Mht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t.get(s.name)),Eht=(e,t)=>(r,i,s,n)=>i&&r(i,e,t[s.name]),Pht=(e,t,r)=>{let i=e.type.children.map(n=>ba.getVisitFn(n.type)),s=r instanceof Map?Mht(t,r):r instanceof xr?Tht(t,r):Array.isArray(r)?Sht(t,r):Eht(t,r);e.type.children.forEach((n,o)=>s(i[o],e.children[o],n,o))},Iht=(e,t,r)=>{e.type.mode===Pn.Dense?xW(e,t,r):bW(e,t,r)},xW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,e.valueOffsets[t],r)},bW=(e,t,r)=>{let i=e.type.typeIdToChildIndex[e.typeIds[t]],s=e.children[i];ba.visit(s,t,r)},Cht=(e,t,r)=>{var i;(i=e.dictionary)===null||i===void 0||i.set(e.values[t],r)},_O=(e,t,r)=>{e.type.unit===Bo.DAY_TIME?t3(e,t,r):e3(e,t,r)},t3=({values:e},t,r)=>{e.set(r.subarray(0,2),2*t)},e3=({values:e},t,r)=>{e[t]=r[0]*12+r[1]%12},r3=({values:e},t,r)=>{e[t]=r},i3=({values:e},t,r)=>{e[t]=r},n3=({values:e},t,r)=>{e[t]=r},s3=({values:e},t,r)=>{e[t]=r},yO=(e,t,r)=>{switch(e.type.unit){case Ar.SECOND:return r3(e,t,r);case Ar.MILLISECOND:return i3(e,t,r);case Ar.MICROSECOND:return n3(e,t,r);case Ar.NANOSECOND:return s3(e,t,r)}},Lht=(e,t,r)=>{let{stride:i}=e,s=e.children[0],n=ba.getVisitFn(s);if(Array.isArray(r))for(let o=-1,c=t*i;++o`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}[Symbol.iterator](){return new vO(this[rf],this[_v])}},vO=class{constructor(t,r){this.childIndex=0,this.children=t.children,this.rowIndex=r,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return tr.name)}has(t,r){return t[rf].type.children.findIndex(i=>i.name===r)!==-1}getOwnPropertyDescriptor(t,r){if(t[rf].type.children.findIndex(i=>i.name===r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[rf].type.children.findIndex(s=>s.name===r);if(i!==-1){let s=go.visit(t[rf].children[i],t[_v]);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[rf].type.children.findIndex(n=>n.name===r);return s!==-1?(ba.visit(t[rf].children[s],t[_v],i),Reflect.set(t,r,i)):Reflect.has(t,r)||typeof r==\"symbol\"?Reflect.set(t,r,i):!1}};var Pr=class extends Er{};function zr(e){return(t,r)=>t.getValid(r)?e(t,r):null}var kht=(e,t)=>864e5*e[t],Rht=(e,t)=>null,wW=(e,t,r)=>{if(r+1>=t.length)return null;let i=Wi(t[r]),s=Wi(t[r+1]);return e.subarray(i,s)},Dht=({offset:e,values:t},r)=>{let i=e+r;return(t[i>>3]&1<kht(e,t),TW=({values:e},t)=>Wi(e[t]),fm=({stride:e,values:t},r)=>t[e*r],Oht=({stride:e,values:t},r)=>GP(t[e*r]),MW=({values:e},t)=>e[t],Bht=({stride:e,values:t},r)=>t.subarray(e*r,e*(r+1)),EW=({values:e,valueOffsets:t},r)=>wW(e,t,r),PW=({values:e,valueOffsets:t},r)=>{let i=wW(e,t,r);return i!==null?Tw(i):null},Fht=({values:e},t)=>e[t],zht=({type:e,values:t},r)=>e.precision!==$i.HALF?t[r]:GP(t[r]),Nht=(e,t)=>e.type.unit===Os.DAY?SW(e,t):TW(e,t),IW=({values:e},t)=>1e3*Wi(e[t]),CW=({values:e},t)=>Wi(e[t]),LW=({values:e},t)=>aO(e[t],BigInt(1e3)),kW=({values:e},t)=>aO(e[t],BigInt(1e6)),Uht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return IW(e,t);case Ar.MILLISECOND:return CW(e,t);case Ar.MICROSECOND:return LW(e,t);case Ar.NANOSECOND:return kW(e,t)}},RW=({values:e},t)=>e[t],DW=({values:e},t)=>e[t],OW=({values:e},t)=>e[t],BW=({values:e},t)=>e[t],Vht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return RW(e,t);case Ar.MILLISECOND:return DW(e,t);case Ar.MICROSECOND:return OW(e,t);case Ar.NANOSECOND:return BW(e,t)}},jht=({values:e,stride:t},r)=>Vw.decimal(e.subarray(t*r,t*(r+1))),Ght=(e,t)=>{let{valueOffsets:r,stride:i,children:s}=e,{[t*i]:n,[t*i+1]:o}=r,f=s[0].slice(n,o-n);return new xr([f])},Wht=(e,t)=>{let{valueOffsets:r,children:i}=e,{[t]:s,[t+1]:n}=r,o=i[0];return new od(o.slice(s,n-s))},Hht=(e,t)=>new hm(e,t),qht=(e,t)=>e.type.mode===Pn.Dense?FW(e,t):zW(e,t),FW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,e.valueOffsets[t])},zW=(e,t)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];return go.visit(i,t)},Zht=(e,t)=>{var r;return(r=e.dictionary)===null||r===void 0?void 0:r.get(e.values[t])},Yht=(e,t)=>e.type.unit===Bo.DAY_TIME?NW(e,t):UW(e,t),NW=({values:e},t)=>e.subarray(2*t,2*(t+1)),UW=({values:e},t)=>{let r=e[t],i=new Int32Array(2);return i[0]=Math.trunc(r/12),i[1]=Math.trunc(r%12),i},VW=({values:e},t)=>e[t],jW=({values:e},t)=>e[t],GW=({values:e},t)=>e[t],WW=({values:e},t)=>e[t],Qht=(e,t)=>{switch(e.type.unit){case Ar.SECOND:return VW(e,t);case Ar.MILLISECOND:return jW(e,t);case Ar.MICROSECOND:return GW(e,t);case Ar.NANOSECOND:return WW(e,t)}},$ht=(e,t)=>{let{stride:r,children:i}=e,n=i[0].slice(t*r,r);return new xr([n])};Pr.prototype.visitNull=zr(Rht);Pr.prototype.visitBool=zr(Dht);Pr.prototype.visitInt=zr(Fht);Pr.prototype.visitInt8=zr(fm);Pr.prototype.visitInt16=zr(fm);Pr.prototype.visitInt32=zr(fm);Pr.prototype.visitInt64=zr(MW);Pr.prototype.visitUint8=zr(fm);Pr.prototype.visitUint16=zr(fm);Pr.prototype.visitUint32=zr(fm);Pr.prototype.visitUint64=zr(MW);Pr.prototype.visitFloat=zr(zht);Pr.prototype.visitFloat16=zr(Oht);Pr.prototype.visitFloat32=zr(fm);Pr.prototype.visitFloat64=zr(fm);Pr.prototype.visitUtf8=zr(PW);Pr.prototype.visitLargeUtf8=zr(PW);Pr.prototype.visitBinary=zr(EW);Pr.prototype.visitLargeBinary=zr(EW);Pr.prototype.visitFixedSizeBinary=zr(Bht);Pr.prototype.visitDate=zr(Nht);Pr.prototype.visitDateDay=zr(SW);Pr.prototype.visitDateMillisecond=zr(TW);Pr.prototype.visitTimestamp=zr(Uht);Pr.prototype.visitTimestampSecond=zr(IW);Pr.prototype.visitTimestampMillisecond=zr(CW);Pr.prototype.visitTimestampMicrosecond=zr(LW);Pr.prototype.visitTimestampNanosecond=zr(kW);Pr.prototype.visitTime=zr(Vht);Pr.prototype.visitTimeSecond=zr(RW);Pr.prototype.visitTimeMillisecond=zr(DW);Pr.prototype.visitTimeMicrosecond=zr(OW);Pr.prototype.visitTimeNanosecond=zr(BW);Pr.prototype.visitDecimal=zr(jht);Pr.prototype.visitList=zr(Ght);Pr.prototype.visitStruct=zr(Hht);Pr.prototype.visitUnion=zr(qht);Pr.prototype.visitDenseUnion=zr(FW);Pr.prototype.visitSparseUnion=zr(zW);Pr.prototype.visitDictionary=zr(Zht);Pr.prototype.visitInterval=zr(Yht);Pr.prototype.visitIntervalDayTime=zr(NW);Pr.prototype.visitIntervalYearMonth=zr(UW);Pr.prototype.visitDuration=zr(Qht);Pr.prototype.visitDurationSecond=zr(VW);Pr.prototype.visitDurationMillisecond=zr(jW);Pr.prototype.visitDurationMicrosecond=zr(GW);Pr.prototype.visitDurationNanosecond=zr(WW);Pr.prototype.visitFixedSizeList=zr($ht);Pr.prototype.visitMap=zr(Wht);var go=new Pr;var dm=Symbol.for(\"keys\"),vv=Symbol.for(\"vals\"),yv=Symbol.for(\"kKeysAsStrings\"),bO=Symbol.for(\"_kKeysAsStrings\"),od=class{constructor(t){return this[dm]=new xr([t.children[0]]).memoize(),this[vv]=t.children[1],new Proxy(this,new SO)}get[yv](){return this[bO]||(this[bO]=Array.from(this[dm].toArray(),String))}[Symbol.iterator](){return new wO(this[dm],this[vv])}get size(){return this[dm].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[dm],r=this[vv],i={};for(let s=-1,n=t.length;++s`${Jh(t)}: ${Jh(r)}`).join(\", \")}}`}[Symbol.for(\"nodejs.util.inspect.custom\")](){return this.toString()}},wO=class{constructor(t,r){this.keys=t,this.vals=r,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),go.visit(this.vals,t)]})}},SO=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[yv]}has(t,r){return t[yv].includes(r)}getOwnPropertyDescriptor(t,r){if(t[yv].indexOf(r)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,r){if(Reflect.has(t,r))return t[r];let i=t[yv].indexOf(r);if(i!==-1){let s=go.visit(Reflect.get(t,vv),i);return Reflect.set(t,r,s),s}}set(t,r,i){let s=t[yv].indexOf(r);return s!==-1?(ba.visit(Reflect.get(t,vv),s,i),Reflect.set(t,r,i)):Reflect.has(t,r)?Reflect.set(t,r,i):!1}};Object.defineProperties(od.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:\"Row\"},[dm]:{writable:!0,enumerable:!1,configurable:!1,value:null},[vv]:{writable:!0,enumerable:!1,configurable:!1,value:null},[bO]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var HW;function Kw(e,t,r,i){let{length:s=0}=e,n=typeof t!=\"number\"?0:t,o=typeof r!=\"number\"?s:r;return n<0&&(n=(n%s+s)%s),o<0&&(o=(o%s+s)%s),os&&(o=s),i?i(e,n,o):[n,o]}var xg=(e,t)=>e<0?t+e:e,qW=e=>e!==e;function pm(e){if(typeof e!==\"object\"||e===null)return qW(e)?qW:r=>r===e;if(e instanceof Date){let r=e.valueOf();return i=>i instanceof Date?i.valueOf()===r:!1}return ArrayBuffer.isView(e)?r=>r?rO(e,r):!1:e instanceof Map?Kht(e):Array.isArray(e)?Xht(e):e instanceof xr?Jht(e):tft(e,!0)}function Xht(e){let t=[];for(let r=-1,i=e.length;++r!1;let i=[];for(let s=-1,n=r.length;++s{if(!r||typeof r!=\"object\")return!1;switch(r.constructor){case Array:return eft(e,r);case Map:return ZW(e,r,r.keys());case od:case hm:case Object:case void 0:return ZW(e,r,t||Object.keys(r))}return r instanceof xr?rft(e,r):!1}}function eft(e,t){let r=e.length;if(t.length!==r)return!1;for(let i=-1;++ibg,getBit:()=>YW,getBool:()=>l3,packBools:()=>Sg,popcnt_array:()=>QW,popcnt_bit_range:()=>Jw,popcnt_uint32:()=>a3,setBool:()=>ift,truncateBitmap:()=>wg});function l3(e,t,r,i){return(r&1<>i}function ift(e,t,r){return r?!!(e[t>>3]|=1<>3]&=~(1<0||r.byteLength>3):Sg(new bg(r,e,t,null,l3)).subarray(0,i)),s}return r}function Sg(e){let t=[],r=0,i=0,s=0;for(let o of e)o&&(s|=1<0)&&(t[r++]=s);let n=new Uint8Array(t.length+7&-8);return n.set(t),n}var bg=class{constructor(t,r,i,s,n){this.bytes=t,this.length=i,this.context=s,this.get=n,this.bit=r%8,this.byteIndex=r>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index>3<<3,s=t+(t%8===0?0:8-t%8);return Jw(e,t,s)+Jw(e,i,r)+QW(e,s>>3,i-s>>3)}function QW(e,t,r){let i=0,s=Math.trunc(t),n=new DataView(e.buffer,e.byteOffset,e.byteLength),o=r===void 0?e.byteLength:s+r;for(;o-s>=4;)i+=a3(n.getUint32(s)),s+=4;for(;o-s>=2;)i+=a3(n.getUint16(s)),s+=2;for(;o-s>=1;)i+=a3(n.getUint8(s)),s+=1;return i}function a3(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var nft=-1,Fi=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return ze.isSparseUnion(t)?this.children.some(r=>r.nullable):ze.isDenseUnion(t)?this.children.some(r=>r.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:r,values:i,nullBitmap:s,typeIds:n}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),this.children.reduce((o,c)=>o+c.byteLength,t)}get nullCount(){if(ze.isUnion(this.type))return this.children.reduce((i,s)=>i+s.nullCount,0);let t=this._nullCount,r;return t<=nft&&(r=this.nullBitmap)&&(this._nullCount=t=r.length===0?0:this.length-Jw(r,this.offset,this.offset+this.length)),t}constructor(t,r,i,s,n,o=[],c){this.type=t,this.children=o,this.dictionary=c,this.offset=Math.floor(Math.max(r||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(s||0,-1));let f;n instanceof e?(this.stride=n.stride,this.values=n.values,this.typeIds=n.typeIds,this.nullBitmap=n.nullBitmap,this.valueOffsets=n.valueOffsets):(this.stride=ou(t),n&&((f=n[0])&&(this.valueOffsets=f),(f=n[1])&&(this.values=f),(f=n[2])&&(this.nullBitmap=f),(f=n[3])&&(this.typeIds=f)))}getValid(t){let{type:r}=this;if(ze.isUnion(r)){let i=r,s=this.children[i.typeIdToChildIndex[this.typeIds[t]]],n=i.mode===Pn.Dense?this.valueOffsets[t]:t;return s.getValid(n)}if(this.nullable&&this.nullCount>0){let i=this.offset+t;return(this.nullBitmap[i>>3]&1<>3;(!n||n.byteLength<=w)&&(n=new Uint8Array((o+c+63&-64)>>3).fill(255),this.nullCount>0?(n.set(wg(o,c,this.nullBitmap),0),Object.assign(this,{nullBitmap:n})):Object.assign(this,{nullBitmap:n,_nullCount:0}));let I=n[w];i=(I&_)!==0,n[w]=r?I|_:I&~_}return i!==!!r&&(this._nullCount=this.nullCount+(r?-1:1)),r}clone(t=this.type,r=this.offset,i=this.length,s=this._nullCount,n=this,o=this.children){return new e(t,r,i,s,n,o,this.dictionary)}slice(t,r){let{stride:i,typeId:s,children:n}=this,o=+(this._nullCount===0)-1,c=s===16?i:1,f=this._sliceBuffers(t,r,i,s);return this.clone(this.type,this.offset+t,r,o,f,n.length===0||this.valueOffsets?n:this._sliceChildren(n,c*t,c*r))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Ot.Null)return this.clone(this.type,0,t,0);let{length:r,nullCount:i}=this,s=new Uint8Array((t+63&-64)>>3).fill(255,0,r>>3);s[r>>3]=(1<0&&s.set(wg(this.offset,r,this.nullBitmap),0);let n=this.buffers;return n[Oi.VALIDITY]=s,this.clone(this.type,0,t,i+(t-r),n)}_sliceBuffers(t,r,i,s){let n,{buffers:o}=this;return(n=o[Oi.TYPE])&&(o[Oi.TYPE]=n.subarray(t,t+r)),(n=o[Oi.OFFSET])&&(o[Oi.OFFSET]=n.subarray(t,t+r+1))||(n=o[Oi.DATA])&&(o[Oi.DATA]=s===6?n:n.subarray(i*t,i*(t+r))),o}_sliceChildren(t,r,i){return t.map(s=>s.slice(r,i))}};Fi.prototype.children=Object.freeze([]);var EO=class e extends Er{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"length\"]:s=0}=t;return new Fi(r,i,s,s)}visitBool(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length>>3,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitInt(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFloat(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeUtf8(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitLargeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.data),n=Rr(t.nullBitmap),o=BP(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,s,n])}visitFixedSizeBinary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDate(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTimestamp(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitTime(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDecimal(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}visitStruct(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Rr(t.nullBitmap),{length:o=s.reduce((f,{length:_})=>Math.max(f,_),0),nullCount:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],s)}visitUnion(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"children\"]:s=[]}=t,n=Ai(r.ArrayType,t.typeIds),{[\"length\"]:o=n.length,[\"nullCount\"]:c=-1}=t;if(ze.isSparseUnion(r))return new Fi(r,i,o,c,[void 0,void 0,void 0,n],s);let f=yg(t.valueOffsets);return new Fi(r,i,o,c,[f,void 0,void 0,n],s)}visitDictionary(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.indices.ArrayType,t.data),{[\"dictionary\"]:o=new xr([new e().visit({type:r.dictionary})])}=t,{[\"length\"]:c=n.length,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[void 0,n,s],[],o)}visitInterval(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitDuration(t){let{[\"type\"]:r,[\"offset\"]:i=0}=t,s=Rr(t.nullBitmap),n=Ai(r.ArrayType,t.data),{[\"length\"]:o=n.length,[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,n,s])}visitFixedSizeList(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.valueType})}=t,n=Rr(t.nullBitmap),{[\"length\"]:o=s.length/ou(r),[\"nullCount\"]:c=t.nullBitmap?-1:0}=t;return new Fi(r,i,o,c,[void 0,void 0,n],[s])}visitMap(t){let{[\"type\"]:r,[\"offset\"]:i=0,[\"child\"]:s=new e().visit({type:r.childType})}=t,n=Rr(t.nullBitmap),o=yg(t.valueOffsets),{[\"length\"]:c=o.length-1,[\"nullCount\"]:f=t.nullBitmap?-1:0}=t;return new Fi(r,i,c,f,[o,void 0,n],[s])}},sft=new EO;function yr(e){return sft.visit(e)}var t2=class{constructor(t=0,r){this.numChunks=t,this.getChunkIterator=r,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndext.nullable)}function c3(e){return e.reduce((t,r)=>t+r.nullCount,0)}function u3(e){return e.reduce((t,r,i)=>(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function h3(e,t,r,i){let s=[];for(let n=-1,o=e.length;++n=i)break;if(r>=f+_)continue;if(f>=r&&f+_<=i){s.push(c);continue}let w=Math.max(0,r-f),I=Math.min(i-f,_);s.push(c.slice(w,I-w))}return s.length===0&&s.push(e[0].slice(0,0)),s}function PO(e,t,r,i){let s=0,n=0,o=t.length-1;do{if(s>=o-1)return r0?0:-1}function aft(e,t){let{nullBitmap:r}=e;if(!r||e.nullCount<=0)return-1;let i=0;for(let s of new bg(r,e.offset+(t||0),e.length,r,l3)){if(!s)return i;++i}return-1}function Qr(e,t,r){if(t===void 0)return-1;if(t===null)switch(e.typeId){case Ot.Union:break;case Ot.Dictionary:break;default:return aft(e,r)}let i=go.getVisitFn(e),s=pm(t);for(let n=(r||0)-1,o=e.length;++n{let s=e.data[i];return s.values.subarray(0,s.length)[Symbol.iterator]()});let r=0;return new t2(e.data.length,i=>{let n=e.data[i].length,o=e.slice(r,r+n);return r+=n,new IO(o)})}var IO=class{constructor(t){this.vector=t,this.index=0}next(){return this.indexc.data):t;if(n.length===0||n.some(c=>!(c instanceof Fi)))throw new TypeError(\"Vector constructor expects an Array of Data instances.\");let o=(r=n[0])===null||r===void 0?void 0:r.type;switch(n.length){case 0:this._offsets=[0];break;case 1:{let{get:c,set:f,indexOf:_}=JW[o.typeId],w=n[0];this.isValid=I=>e2(w,I),this.get=I=>c(w,I),this.set=(I,R)=>f(w,I,R),this.indexOf=I=>_(w,I),this._offsets=[0,w.length];break}default:Object.setPrototypeOf(this,tH[o.typeId]),this._offsets=u3(n);break}this.data=n,this.type=o,this.stride=ou(o),this.numChildren=(s=(i=o.children)===null||i===void 0?void 0:i.length)!==null&&s!==void 0?s:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,r)=>t+r.byteLength,0)}get nullable(){return $W(this.data)}get nullCount(){return c3(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${Ot[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.length))}set(t,r){}indexOf(t,r){return-1}includes(t,r){return this.indexOf(t,r)>-1}[Symbol.iterator](){return bv.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(r=>r.data).flat(Number.POSITIVE_INFINITY)))}slice(t,r){return new e(Kw(this,t,r,({data:i,_offsets:s},n,o)=>h3(i,s,n,o)))}toJSON(){return[...this]}toArray(){let{type:t,data:r,length:i,stride:s,ArrayType:n}=this;switch(t.typeId){case Ot.Int:case Ot.Float:case Ot.Decimal:case Ot.Time:case Ot.Timestamp:switch(r.length){case 0:return new n;case 1:return r[0].values.subarray(0,i*s);default:return r.reduce((o,{values:c,length:f})=>(o.array.set(c.subarray(0,f*s),o.offset),o.offset+=f*s,o),{array:new n(i*s),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(\",\")}]`}getChild(t){var r;return this.getChildAt((r=this.type.children)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&tr[t])):null}get isMemoized(){return ze.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(ze.isDictionary(this.type)){let t=new p3(this.data[0].dictionary),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return new p3(this)}unmemoize(){if(ze.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),r=this.data.map(i=>{let s=i.clone();return s.dictionary=t,s});return new e(r)}return this}};KW=Symbol.toStringTag;xr[KW]=(e=>{e.type=ze.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(Ot).map(r=>Ot[r]).filter(r=>typeof r==\"number\"&&r!==Ot.NONE);for(let r of t){let i=go.getVisitFnByTypeId(r),s=ba.getVisitFnByTypeId(r),n=Tg.getVisitFnByTypeId(r);JW[r]={get:i,set:s,indexOf:n},tH[r]=Object.create(e,{isValid:{value:xv(e2)},get:{value:xv(go.getVisitFnByTypeId(r))},set:{value:f3(ba.getVisitFnByTypeId(r))},indexOf:{value:d3(Tg.getVisitFnByTypeId(r))}})}return\"Vector\"})(xr.prototype);var p3=class e extends xr{constructor(t){super(t.data);let r=this.get,i=this.set,s=this.slice,n=new Array(this.length);Object.defineProperty(this,\"get\",{value(o){let c=n[o];if(c!==void 0)return c;let f=r.call(this,o);return n[o]=f,f}}),Object.defineProperty(this,\"set\",{value(o,c){i.call(this,o,c),n[o]=c}}),Object.defineProperty(this,\"slice\",{value:(o,c)=>new e(s.call(this,o,c))}),Object.defineProperty(this,\"isMemoized\",{value:!0}),Object.defineProperty(this,\"unmemoize\",{value:()=>new xr(this.data)}),Object.defineProperty(this,\"memoize\",{value:()=>this})}};function eH(e){if(!e||e.length<=0)return function(s){return!0};let t=\"\",r=e.filter(i=>i===i);return r.length>0&&(t=`\n switch (x) {${r.map(i=>`\n case ${lft(i)}:`).join(\"\")}\n return false;\n }`),e.length!==r.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function lft(e){return typeof e!=\"bigint\"?Jh(e):`${Jh(e)}n`}function CO(e,t){let r=Math.ceil(e)*t-1;return(r-r%64+64||64)/t}function rH(e,t=0){return e.length>=t?e.subarray(0,t):Ew(new e.constructor(t),e,0)}var nf=class{constructor(t,r=0,i=1){this.length=Math.ceil(r/i),this.buffer=new t(this.length),this.stride=i,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,r){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let r=this.stride,i=this.length*r,s=this.buffer.length;i>=s&&this._resize(s===0?CO(i*1,this.BYTES_PER_ELEMENT):CO(i*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=CO(t*this.stride,this.BYTES_PER_ELEMENT);let r=rH(this.buffer,t);return this.clear(),r}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=rH(this.buffer,t)}},gp=class extends nf{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,r){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=r,this}},wv=class extends gp{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,r){let{buffer:i}=this.reserve(t-this.length+1),s=t>>3,n=t%8,o=i[s]>>n&1;return r?o===0&&(i[s]|=1<=0&&s.fill(s[i],i,t),s[t]=s[t-1]+r,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var Xn=class{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}constructor({type:t,nullValues:r}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=r,this.stride=ou(t),this._nulls=new wv,r&&r.length>0&&(this._isValid=eH(r))}toVector(){return new xr([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:r,_values:i,_nulls:s,_typeIds:n,children:o}=this;return r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),n&&(t+=n.byteLength),o.reduce((c,f)=>c+f.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((r,i)=>r+i.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,r){return this.setValid(t,this.isValid(r))&&this.setValue(t,r),this}setValue(t,r){this._setValue(this,t,r)}setValid(t,r){return this.length=this._nulls.set(t,+r).length,r}addChild(t,r=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){let t,r,i,s,{type:n,length:o,nullCount:c,_typeIds:f,_offsets:_,_values:w,_nulls:I}=this;(r=f?.flush(o))?s=_?.flush(o):(s=_?.flush(o))?t=w?.flush(_.last()):t=w?.flush(o),c>0&&(i=I?.flush(o));let R=this.children.map(N=>N.flush());return this.clear(),yr({type:n,length:o,nullCount:c,children:R,child:R[0],data:t,typeIds:r,nullBitmap:i,valueOffsets:s})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,r,i,s;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(r=this._values)===null||r===void 0||r.clear(),(i=this._offsets)===null||i===void 0||i.clear(),(s=this._typeIds)===null||s===void 0||s.clear();for(let n of this.children)n.clear();return this}};Xn.prototype.length=1;Xn.prototype.stride=1;Xn.prototype.children=null;Xn.prototype.finished=!1;Xn.prototype.nullValues=null;Xn.prototype._isValid=()=>!0;var _o=class extends Xn{constructor(t){super(t),this._values=new gp(this.ArrayType,0,this.stride)}setValue(t,r){let i=this._values;return i.reserve(t-i.length+1),super.setValue(t,r)}},gc=class extends Xn{constructor(t){super(t),this._pendingLength=0,this._offsets=new Sv(t.type)}setValue(t,r){let i=this._pending||(this._pending=new Map),s=i.get(t);s&&(this._pendingLength-=s.length),this._pendingLength+=r instanceof od?r[dm].length:r.length,i.set(t,r)}setValid(t,r){return super.setValid(t,r)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,r=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,r),this}};var Mg=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,r,i,s){return t.prep(8,24),t.writeInt64(BigInt(s??0)),t.pad(4),t.writeInt32(i),t.writeInt64(BigInt(r??0)),t.offset()}};var au=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsFooter(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}schema(t){let r=this.bb.__offset(this.bb_pos,6);return r?(t||new fc).__init(this.bb.__indirect(this.bb_pos+r),this.bb):null}dictionaries(t,r){let i=this.bb.__offset(this.bb_pos,8);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,r){let i=this.bb.__offset(this.bb_pos,10);return i?(r||new Mg).__init(this.bb.__vector(this.bb_pos+i)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addSchema(t,r){t.addFieldOffset(1,r,0)}static addDictionaries(t,r){t.addFieldOffset(2,r,0)}static startDictionariesVector(t,r){t.startVector(24,r,8)}static addRecordBatches(t,r){t.addFieldOffset(3,r,0)}static startRecordBatchesVector(t,r){t.startVector(24,r,8)}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,r){t.finish(r)}static finishSizePrefixedFooterBuffer(t,r){t.finish(r,void 0,!0)}};var an=class e{constructor(t=[],r,i,s=sn.V5){this.fields=t||[],this.metadata=r||new Map,i||(i=LO(t)),this.dictionaries=i,this.metadataVersion=s}get[Symbol.toStringTag](){return\"Schema\"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,r)=>`${r}: ${t}`).join(\", \")} }>`}select(t){let r=new Set(t),i=this.fields.filter(s=>r.has(s.name));return new e(i,this.metadata)}selectAt(t){let r=t.map(i=>this.fields[i]).filter(Boolean);return new e(r,this.metadata)}assign(...t){let r=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),i=[...this.fields],s=A3(A3(new Map,this.metadata),r.metadata),n=r.fields.filter(c=>{let f=i.findIndex(_=>_.name===c.name);return~f?(i[f]=c.clone({metadata:A3(A3(new Map,i[f].metadata),c.metadata)}))&&!1:!0}),o=LO(n,new Map);return new e([...i,...n],s,new Map([...this.dictionaries,...o]))}};an.prototype.fields=null;an.prototype.metadata=null;an.prototype.dictionaries=null;var si=class e{static new(...t){let[r,i,s,n]=t;return t[0]&&typeof t[0]==\"object\"&&({name:r}=t[0],i===void 0&&(i=t[0].type),s===void 0&&(s=t[0].nullable),n===void 0&&(n=t[0].metadata)),new e(`${r}`,i,s,n)}constructor(t,r,i=!1,s){this.name=t,this.type=r,this.nullable=i,this.metadata=s||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[r,i,s,n]=t;return!t[0]||typeof t[0]!=\"object\"?[r=this.name,i=this.type,s=this.nullable,n=this.metadata]=t:{name:r=this.name,type:i=this.type,nullable:s=this.nullable,metadata:n=this.metadata}=t[0],e.new(r,i,s,n)}};si.prototype.type=null;si.prototype.name=null;si.prototype.nullable=null;si.prototype.metadata=null;function A3(e,t){return new Map([...e||new Map,...t||new Map])}function LO(e,t=new Map){for(let r=-1,i=e.length;++r0&&LO(n.children,t)}return t}var cft=vg,uft=nu,_p=class{static decode(t){t=new uft(Rr(t));let r=au.getRootAsFooter(t),i=an.decode(r.schema(),new Map,r.version());return new kO(i,r)}static encode(t){let r=new cft,i=an.encode(r,t.schema);au.startRecordBatchesVector(r,t.numRecordBatches);for(let o of[...t.recordBatches()].slice().reverse())yp.encode(r,o);let s=r.endVector();au.startDictionariesVector(r,t.numDictionaries);for(let o of[...t.dictionaryBatches()].slice().reverse())yp.encode(r,o);let n=r.endVector();return au.startFooter(r),au.addSchema(r,i),au.addVersion(r,sn.V5),au.addRecordBatches(r,s),au.addDictionaries(r,n),au.finishFooterBuffer(r,au.endFooter(r)),r.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,r=sn.V5,i,s){this.schema=t,this.version=r,i&&(this._recordBatches=i),s&&(this._dictionaryBatches=s)}*recordBatches(){for(let t,r=-1,i=this.numRecordBatches;++r=0&&t=0&&t=0&&t=0&&tthis._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Vn);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return xa.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return xa.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return ar(this,void 0,void 0,function*(){return yield this.abort(t),Vn})}return(t){return ar(this,void 0,void 0,function*(){return yield this.close(),Vn})}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((r,i)=>{this.resolvers.push({resolve:r,reject:i})}):Promise.resolve(Vn)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(\"AsyncQueue is closed\")}};var ad=class extends m3{write(t){if((t=Rr(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Tw(this.toUint8Array(!0)):this.toUint8Array(!1).then(Tw)}toUint8Array(t=!1){return t?iu(this._values)[0]:ar(this,void 0,void 0,function*(){var r,i,s,n;let o=[],c=0;try{for(var f=!0,_=Zh(this),w;w=yield _.next(),r=w.done,!r;f=!0){n=w.value,f=!1;let I=n;o.push(I),c+=I.byteLength}}catch(I){i={error:I}}finally{try{!f&&!r&&(s=_.return)&&(yield s.call(_))}finally{if(i)throw i.error}}return iu(o,c)[0]})}},ld=class{constructor(t){t&&(this.source=new RO(xa.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},$u=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof ad?this.source=new vp(xa.fromAsyncIterable(t)):OP(t)?this.source=new vp(xa.fromNodeStream(t)):Mw(t)?this.source=new vp(xa.fromDOMStream(t)):RP(t)?this.source=new vp(xa.fromDOMStream(t.body)):Yh(t)?this.source=new vp(xa.fromIterable(t)):ru(t)?this.source=new vp(xa.fromAsyncIterable(t)):Nu(t)&&(this.source=new vp(xa.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},RO=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,r=\"read\"){return this.source.next({cmd:r,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Vn)}return(t){return Object.create(this.source.return&&this.source.return(t)||Vn)}},vp=class{constructor(t){this.source=t,this._closedPromise=new Promise(r=>this._closedPromiseResolve=r)}cancel(t){return ar(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"read\")).value})}peek(t){return ar(this,void 0,void 0,function*(){return(yield this.next(t,\"peek\")).value})}next(t){return ar(this,arguments,void 0,function*(r,i=\"read\"){return yield this.source.next({cmd:i,size:r})})}throw(t){return ar(this,void 0,void 0,function*(){let r=this.source.throw&&(yield this.source.throw(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}return(t){return ar(this,void 0,void 0,function*(){let r=this.source.return&&(yield this.source.return(t))||Vn;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(r)})}};var i2=class extends ld{constructor(t,r){super(),this.position=0,this.buffer=Rr(t),this.size=r===void 0?this.buffer.byteLength:r}readInt32(t){let{buffer:r,byteOffset:i}=this.readAt(t,4);return new DataView(r,i).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),tn2,Int128:()=>s2,Int64:()=>xp,Uint64:()=>gs});function Tv(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var Mv=8,DO=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],n2=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let r=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),s=r[3]*i[3];this.buffer[0]=s&65535;let n=s>>>16;return s=r[2]*i[3],n+=s,s=r[3]*i[2]>>>0,n+=s,this.buffer[0]+=n<<16,this.buffer[1]=n>>>0>>16,this.buffer[1]+=r[1]*i[3]+r[2]*i[2]+r[3]*i[1],this.buffer[1]+=r[0]*i[3]+r[1]*i[2]+r[2]*i[1]+r[3]*i[0]<<16,this}_plus(t){let r=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],r>>0&&++this.buffer[1],this.buffer[0]=r}lessThan(t){return this.buffer[1]>>0,r[2]=this.buffer[2]+t.buffer[2]>>>0,r[1]=this.buffer[1]+t.buffer[1]>>>0,r[0]=this.buffer[0]+t.buffer[0]>>>0,r[0]>>0&&++r[1],r[1]>>0&&++r[2],r[2]>>0&&++r[3],this.buffer[3]=r[3],this.buffer[2]=r[2],this.buffer[1]=r[1],this.buffer[0]=r[0],this}hex(){return`${Tv(this.buffer[3])} ${Tv(this.buffer[2])} ${Tv(this.buffer[1])} ${Tv(this.buffer[0])}`}static multiply(t,r){return new e(new Uint32Array(t.buffer)).times(r)}static add(t,r){return new e(new Uint32Array(t.buffer)).plus(r)}static from(t,r=new Uint32Array(4)){return e.fromString(typeof t==\"string\"?t:t.toString(),r)}static fromNumber(t,r=new Uint32Array(4)){return e.fromString(t.toString(),r)}static fromString(t,r=new Uint32Array(4)){let i=t.startsWith(\"-\"),s=t.length,n=new e(r);for(let o=i?1:0;o0&&this.readData(t,i)||new Uint8Array(0)}readOffsets(t,r){return this.readData(t,r)}readTypeIds(t,r){return this.readData(t,r)}readData(t,{length:r,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+r)}readDictionary(t){return this.dictionaries.get(t.id)}},g3=class extends o2{constructor(t,r,i,s,n){super(new Uint8Array(0),r,i,s,n),this.sources=t}readNullBitmap(t,r,{offset:i}=this.nextBufferRange()){return r<=0?new Uint8Array(0):Sg(this.sources[i])}readOffsets(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.OffsetArrayType,this.sources[r]))}readTypeIds(t,{offset:r}=this.nextBufferRange()){return Ai(Uint8Array,Ai(t.ArrayType,this.sources[r]))}readData(t,{offset:r}=this.nextBufferRange()){let{sources:i}=this;return ze.isTimestamp(t)?Ai(Uint8Array,xp.convertArray(i[r])):(ze.isInt(t)||ze.isTime(t))&&t.bitWidth===64||ze.isDuration(t)?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDate(t)&&t.unit===Os.MILLISECOND?Ai(Uint8Array,xp.convertArray(i[r])):ze.isDecimal(t)?Ai(Uint8Array,s2.convertArray(i[r])):ze.isBinary(t)||ze.isLargeBinary(t)||ze.isFixedSizeBinary(t)?hft(i[r]):ze.isBool(t)?Sg(i[r]):ze.isUtf8(t)||ze.isLargeUtf8(t)?Jf(i[r].join(\"\")):Ai(Uint8Array,Ai(t.ArrayType,i[r].map(s=>+s)))}};function hft(e){let t=e.join(\"\"),r=new Uint8Array(t.length/2);for(let i=0;i>1]=Number.parseInt(t.slice(i,i+2),16);return r}var Pg=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,0);else{let f=c.length;s.set(c,n),i.set(o,f),n+=f}}};var Ig=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Rr(r))}_flushPending(t,r){let i=this._offsets,s=this._values.reserve(r).buffer,n=0;for(let[o,c]of t)if(c===void 0)i.set(o,BigInt(0));else{let f=c.length;s.set(c,n),i.set(o,BigInt(f)),n+=f}}};var mm=class extends Xn{constructor(t){super(t),this._values=new wv}setValue(t,r){this._values.set(t,+r)}};var gm=class extends _o{};gm.prototype._setValue=pO;var Ev=class extends gm{};Ev.prototype._setValue=WP;var Pv=class extends gm{};Pv.prototype._setValue=HP;var Iv=class extends _o{};Iv.prototype._setValue=gO;var a2=class extends Xn{constructor({type:t,nullValues:r,dictionaryHashFunction:i}){super({type:new mc(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Cg({type:this.type.indices,nullValues:r}),this.dictionary=Cg({type:this.type.dictionary,nullValues:null}),typeof i==\"function\"&&(this.valueToKey=i)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,r){let i=this.indices;return r=i.setValid(t,r),this.length=i.length,r}setValue(t,r){let i=this._keysToIndices,s=this.valueToKey(r),n=i[s];return n===void 0&&(i[s]=n=this._dictionaryOffset+this.dictionary.append(r).length-1),this.indices.setValue(t,n)}flush(){let t=this.type,r=this._dictionary,i=this.dictionary.toVector(),s=this.indices.flush().clone(t);return s.dictionary=r?r.concat(i):i,this.finished||(this._dictionaryOffset+=i.length),this._dictionary=s.dictionary,this.clear(),s}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}};var Cv=class extends _o{};Cv.prototype._setValue=dO;var l2=class extends Xn{setValue(t,r){let[i]=this.children,s=t*this.stride;for(let n=-1,o=r.length;++n0)throw new Error(\"FixedSizeListBuilder can only have one child.\");let i=this.children.push(t);return this.type=new Ll(this.type.listSize,new si(r,t.type,!0)),i}};var _m=class extends _o{setValue(t,r){this._values.set(t,r)}},c2=class extends _m{setValue(t,r){super.setValue(t,Xw(r))}},u2=class extends _m{},h2=class extends _m{};var ym=class extends _o{};ym.prototype._setValue=_O;var Lv=class extends ym{};Lv.prototype._setValue=t3;var kv=class extends ym{};kv.prototype._setValue=e3;var cd=class extends _o{};cd.prototype._setValue=yO;var Rv=class extends cd{};Rv.prototype._setValue=r3;var Dv=class extends cd{};Dv.prototype._setValue=i3;var Ov=class extends cd{};Ov.prototype._setValue=n3;var Bv=class extends cd{};Bv.prototype._setValue=s3;var lu=class extends _o{setValue(t,r){this._values.set(t,r)}},f2=class extends lu{},d2=class extends lu{},p2=class extends lu{},A2=class extends lu{},m2=class extends lu{},g2=class extends lu{},_2=class extends lu{},y2=class extends lu{};var v2=class extends gc{constructor(t){super(t),this._offsets=new Sv(t.type)}addChild(t,r=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new sl(new si(r,t.type,!0)),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(typeof n>\"u\")r.set(s,0);else{let o=n,c=o.length,f=r.set(s,c).buffer[s];for(let _=-1;++_0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Ac(new si(r,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let r=this._offsets,[i]=this.children;for(let[s,n]of t)if(n===void 0)r.set(s,0);else{let{[s]:o,[s+1]:c}=r.set(s,n.size).buffer;for(let f of n.entries())if(i.set(o,f),++o>=c)break}}};var b2=class extends Xn{setValue(t,r){}setValid(t,r){return this.length=Math.max(t+1,this.length),r}};var w2=class extends Xn{setValue(t,r){let{children:i,type:s}=this;switch(Array.isArray(r)||r.constructor){case!0:return s.children.forEach((n,o)=>i[o].set(t,r[o]));case Map:return s.children.forEach((n,o)=>i[o].set(t,r.get(n.name)));default:return s.children.forEach((n,o)=>i[o].set(t,r[n.name]))}}setValid(t,r){return super.setValid(t,r)||this.children.forEach(i=>i.setValid(t,r)),r}addChild(t,r=`${this.numChildren}`){let i=this.children.push(t);return this.type=new pn([...this.type.children,new si(r,t.type,!0)]),i}};var ud=class extends _o{};ud.prototype._setValue=AO;var Fv=class extends ud{};Fv.prototype._setValue=qP;var zv=class extends ud{};zv.prototype._setValue=ZP;var Nv=class extends ud{};Nv.prototype._setValue=YP;var Uv=class extends ud{};Uv.prototype._setValue=QP;var hd=class extends _o{};hd.prototype._setValue=mO;var Vv=class extends hd{};Vv.prototype._setValue=$P;var jv=class extends hd{};jv.prototype._setValue=XP;var Gv=class extends hd{};Gv.prototype._setValue=KP;var Wv=class extends hd{};Wv.prototype._setValue=JP;var Lg=class extends Xn{constructor(t){super(t),this._typeIds=new gp(Int8Array,0,1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,r){return this.set(this.length,t,r)}set(t,r,i){return i===void 0&&(i=this._valueToChildTypeId(this,r,t)),this.setValue(t,r,i),this}setValue(t,r,i){this._typeIds.set(t,i);let s=this.type.typeIdToChildIndex[i],n=this.children[s];n?.set(t,r)}addChild(t,r=`${this.children.length}`){let i=this.children.push(t),{type:{children:s,mode:n,typeIds:o}}=this,c=[...s,new si(r,t.type)];return this.type=new pc(n,[...o,i],c),i}_valueToChildTypeId(t,r,i){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}},S2=class extends Lg{},T2=class extends Lg{constructor(t){super(t),this._offsets=new gp(Int32Array)}setValue(t,r,i){let s=this._typeIds.set(t,i).buffer[t],n=this.getChildAt(this.type.typeIdToChildIndex[s]),o=this._offsets.set(t,n.length).buffer[t];n?.set(o,r)}};var Hv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};Hv.prototype._flushPending=Pg.prototype._flushPending;var qv=class extends gc{constructor(t){super(t),this._values=new nf(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,r){return super.setValue(t,Jf(r))}_flushPending(t,r){}};qv.prototype._flushPending=Ig.prototype._flushPending;var BO=class extends Er{visitNull(){return b2}visitBool(){return mm}visitInt(){return lu}visitInt8(){return f2}visitInt16(){return d2}visitInt32(){return p2}visitInt64(){return A2}visitUint8(){return m2}visitUint16(){return g2}visitUint32(){return _2}visitUint64(){return y2}visitFloat(){return _m}visitFloat16(){return c2}visitFloat32(){return u2}visitFloat64(){return h2}visitUtf8(){return Hv}visitLargeUtf8(){return qv}visitBinary(){return Pg}visitLargeBinary(){return Ig}visitFixedSizeBinary(){return Cv}visitDate(){return gm}visitDateDay(){return Ev}visitDateMillisecond(){return Pv}visitTimestamp(){return ud}visitTimestampSecond(){return Fv}visitTimestampMillisecond(){return zv}visitTimestampMicrosecond(){return Nv}visitTimestampNanosecond(){return Uv}visitTime(){return hd}visitTimeSecond(){return Vv}visitTimeMillisecond(){return jv}visitTimeMicrosecond(){return Gv}visitTimeNanosecond(){return Wv}visitDecimal(){return Iv}visitList(){return v2}visitStruct(){return w2}visitUnion(){return Lg}visitDenseUnion(){return T2}visitSparseUnion(){return S2}visitDictionary(){return a2}visitInterval(){return ym}visitIntervalDayTime(){return Lv}visitIntervalYearMonth(){return kv}visitDuration(){return cd}visitDurationSecond(){return Rv}visitDurationMillisecond(){return Dv}visitDurationMicrosecond(){return Ov}visitDurationNanosecond(){return Bv}visitFixedSizeList(){return l2}visitMap(){return x2}},iH=new BO;var Lr=class extends Er{compareSchemas(t,r){return t===r||r instanceof t.constructor&&this.compareManyFields(t.fields,r.fields)}compareManyFields(t,r){return t===r||Array.isArray(t)&&Array.isArray(r)&&t.length===r.length&&t.every((i,s)=>this.compareFields(i,r[s]))}compareFields(t,r){return t===r||r instanceof t.constructor&&t.name===r.name&&t.nullable===r.nullable&&this.visit(t.type,r.type)}};function kl(e,t){return t instanceof e.constructor}function kg(e,t){return e===t||kl(e,t)}function bp(e,t){return e===t||kl(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function _3(e,t){return e===t||kl(e,t)&&e.precision===t.precision}function fft(e,t){return e===t||kl(e,t)&&e.byteWidth===t.byteWidth}function FO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function M2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function E2(e,t){return e===t||kl(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function dft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function pft(e,t){return e===t||kl(e,t)&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function zO(e,t){return e===t||kl(e,t)&&e.mode===t.mode&&e.typeIds.every((r,i)=>r===t.typeIds[i])&&fd.compareManyFields(e.children,t.children)}function Aft(e,t){return e===t||kl(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&fd.visit(e.indices,t.indices)&&fd.visit(e.dictionary,t.dictionary)}function NO(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function P2(e,t){return e===t||kl(e,t)&&e.unit===t.unit}function mft(e,t){return e===t||kl(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}function gft(e,t){return e===t||kl(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&fd.compareManyFields(e.children,t.children)}Lr.prototype.visitNull=kg;Lr.prototype.visitBool=kg;Lr.prototype.visitInt=bp;Lr.prototype.visitInt8=bp;Lr.prototype.visitInt16=bp;Lr.prototype.visitInt32=bp;Lr.prototype.visitInt64=bp;Lr.prototype.visitUint8=bp;Lr.prototype.visitUint16=bp;Lr.prototype.visitUint32=bp;Lr.prototype.visitUint64=bp;Lr.prototype.visitFloat=_3;Lr.prototype.visitFloat16=_3;Lr.prototype.visitFloat32=_3;Lr.prototype.visitFloat64=_3;Lr.prototype.visitUtf8=kg;Lr.prototype.visitLargeUtf8=kg;Lr.prototype.visitBinary=kg;Lr.prototype.visitLargeBinary=kg;Lr.prototype.visitFixedSizeBinary=fft;Lr.prototype.visitDate=FO;Lr.prototype.visitDateDay=FO;Lr.prototype.visitDateMillisecond=FO;Lr.prototype.visitTimestamp=M2;Lr.prototype.visitTimestampSecond=M2;Lr.prototype.visitTimestampMillisecond=M2;Lr.prototype.visitTimestampMicrosecond=M2;Lr.prototype.visitTimestampNanosecond=M2;Lr.prototype.visitTime=E2;Lr.prototype.visitTimeSecond=E2;Lr.prototype.visitTimeMillisecond=E2;Lr.prototype.visitTimeMicrosecond=E2;Lr.prototype.visitTimeNanosecond=E2;Lr.prototype.visitDecimal=kg;Lr.prototype.visitList=dft;Lr.prototype.visitStruct=pft;Lr.prototype.visitUnion=zO;Lr.prototype.visitDenseUnion=zO;Lr.prototype.visitSparseUnion=zO;Lr.prototype.visitDictionary=Aft;Lr.prototype.visitInterval=NO;Lr.prototype.visitIntervalDayTime=NO;Lr.prototype.visitIntervalYearMonth=NO;Lr.prototype.visitDuration=P2;Lr.prototype.visitDurationSecond=P2;Lr.prototype.visitDurationMillisecond=P2;Lr.prototype.visitDurationMicrosecond=P2;Lr.prototype.visitDurationNanosecond=P2;Lr.prototype.visitFixedSizeList=mft;Lr.prototype.visitMap=gft;var fd=new Lr;function Rg(e,t){return fd.compareSchemas(e,t)}function nH(e,t){return fd.compareFields(e,t)}function sH(e,t){return fd.visit(e,t)}function Cg(e){let t=e.type,r=new(iH.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let i=e.children||[],s={nullValues:e.nullValues},n=Array.isArray(i)?(o,c)=>i[c]||s:({name:o})=>i[o]||s;for(let[o,c]of t.children.entries()){let{type:f}=c,_=n(c,o);r.children.push(Cg(Object.assign(Object.assign({},_),{type:f})))}}return r}function y3(e,t){return _ft(e,t.map(r=>r.data.concat()))}function _ft(e,t){let r=[...e.fields],i=[],s={numBatches:t.reduce((I,R)=>Math.max(I,R.length),0)},n=0,o=0,c=-1,f=t.length,_,w=[];for(;s.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,c=-1;++c0&&(i[n++]=yr({type:new pn(r),length:o,nullCount:0,children:w.slice()})))}return[e=e.assign(r),i.map(I=>new Fs(e,I))]}function yft(e,t,r,i,s){var n;let o=(t+63&-64)>>3;for(let c=-1,f=i.length;++c=t)w===t?r[c]=_:(r[c]=_.slice(0,t),s.numBatches=Math.max(s.numBatches,i[c].unshift(_.slice(t,w-t))));else{let I=e[c];e[c]=I.clone({nullable:!0}),r[c]=(n=_?._changeLengthAndBackfillNullBitmap(t))!==null&&n!==void 0?n:yr({type:I.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return r}var aH,wa=class e{constructor(...t){var r,i;if(t.length===0)return this.batches=[],this.schema=new an([]),this._offsets=[0],this;let s,n;t[0]instanceof an&&(s=t.shift()),t.at(-1)instanceof Uint32Array&&(n=t.pop());let o=f=>{if(f){if(f instanceof Fs)return[f];if(f instanceof e)return f.batches;if(f instanceof Fi){if(f.type instanceof pn)return[new Fs(new an(f.type.children),f)]}else{if(Array.isArray(f))return f.flatMap(_=>o(_));if(typeof f[Symbol.iterator]==\"function\")return[...f].flatMap(_=>o(_));if(typeof f==\"object\"){let _=Object.keys(f),w=_.map(N=>new xr([f[N]])),I=s??new an(_.map((N,j)=>new si(String(N),w[j].type,w[j].nullable))),[,R]=y3(I,w);return R.length===0?[new Fs(f)]:R}}}return[]},c=t.flatMap(f=>o(f));if(s=(i=s??((r=c[0])===null||r===void 0?void 0:r.schema))!==null&&i!==void 0?i:new an([]),!(s instanceof an))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");for(let f of c){if(!(f instanceof Fs))throw new TypeError(\"Table constructor expects a [Schema, RecordBatch[]] pair.\");if(!Rg(s,f.schema))throw new TypeError(\"Table and inner RecordBatch schemas must be equivalent.\")}this.schema=s,this.batches=c,this._offsets=n??u3(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,r)=>t+r.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=c3(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(xg(t,this.numRows))}set(t,r){}indexOf(t,r){return-1}[Symbol.iterator](){return this.batches.length>0?bv.visit(new xr(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[\n ${this.toArray().join(`,\n `)}\n]`}concat(...t){let r=this.schema,i=this.data.concat(t.flatMap(({data:s})=>s));return new e(r,i.map(s=>new Fs(r,s)))}slice(t,r){let i=this.schema;[t,r]=Kw({length:this.numRows},t,r);let s=h3(this.data,this._offsets,t,r);return new e(i,s.map(n=>new Fs(i,n)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(r=>r.name===t))}getChildAt(t){if(t>-1&&ti.children[t]);if(r.length===0){let{type:i}=this.schema.fields[t],s=yr({type:i,length:0,nullCount:0});r.push(s._changeLengthAndBackfillNullBitmap(this.numRows))}return new xr(r)}return null}setChild(t,r){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(s=>s.name===t),r)}setChildAt(t,r){let i=this.schema,s=[...this.batches];if(t>-1&&tthis.getChildAt(_));[n[t],c[t]]=[o,r],[i,s]=y3(i,c)}return new e(i,s)}select(t){let r=this.schema.fields.reduce((i,s,n)=>i.set(s.name,n),new Map);return this.selectAt(t.map(i=>r.get(i)).filter(i=>i>-1))}selectAt(t){let r=this.schema.selectAt(t),i=this.batches.map(s=>s.selectAt(t));return new e(r,i)}assign(t){let r=this.schema.fields,[i,s]=t.schema.fields.reduce((c,f,_)=>{let[w,I]=c,R=r.findIndex(N=>N.name===f.name);return~R?I[R]=_:w.push(_),c},[[],[]]),n=this.schema.assign(t.schema),o=[...r.map((c,f)=>[f,s[f]]).map(([c,f])=>f===void 0?this.getChildAt(c):t.getChildAt(f)),...i.map(c=>t.getChildAt(c))].filter(Boolean);return new e(...y3(n,o))}};aH=Symbol.toStringTag;wa[aH]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=xv(e2),e.get=xv(go.getVisitFn(Ot.Struct)),e.set=f3(ba.getVisitFn(Ot.Struct)),e.indexOf=d3(Tg.getVisitFn(Ot.Struct)),\"Table\"))(wa.prototype);var cH,Fs=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof an))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");if([,this.data=yr({nullCount:0,type:new pn(this.schema.fields),children:this.schema.fields.map(r=>yr({type:r.type,nullCount:0}))})]=t,!(this.data instanceof Fi))throw new TypeError(\"RecordBatch constructor expects a [Schema, Data] pair.\");[this.schema,this.data]=lH(this.schema,this.data.children);break}case 1:{let[r]=t,{fields:i,children:s,length:n}=Object.keys(r).reduce((f,_,w)=>(f.children[w]=r[_],f.length=Math.max(f.length,r[_].length),f.fields[w]=si.new({name:_,type:r[_].type,nullable:!0}),f),{length:0,fields:new Array,children:new Array}),o=new an(i),c=yr({type:new pn(i),length:n,children:s,nullCount:0});[this.schema,this.data]=lH(o,c.children,n);break}default:throw new TypeError(\"RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.\")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uH(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return go.visit(this.data,t)}at(t){return this.get(xg(t,this.numRows))}set(t,r){return ba.visit(this.data,t,r)}indexOf(t,r){return Tg.visit(this.data,t,r)}[Symbol.iterator](){return bv.visit(new xr([this.data]))}toArray(){return[...this]}concat(...t){return new wa(this.schema,[this,...t])}slice(t,r){let[i]=new xr([this.data]).slice(t,r).data;return new e(this.schema,i)}getChild(t){var r;return this.getChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t))}getChildAt(t){return t>-1&&ts.name===t),r)}setChildAt(t,r){let i=this.schema,s=this.data;if(t>-1&&tc.name===n);~o&&(s[o]=this.data.children[o])}return new e(r,yr({type:i,length:this.numRows,children:s}))}selectAt(t){let r=this.schema.selectAt(t),i=t.map(n=>this.data.children[n]).filter(Boolean),s=yr({type:new pn(r.fields),length:this.numRows,children:i});return new e(r,s)}};cH=Symbol.toStringTag;Fs[cH]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,\"RecordBatch\"))(Fs.prototype);function lH(e,t,r=t.reduce((i,s)=>Math.max(i,s.length),0)){var i;let s=[...e.fields],n=[...t],o=(r+63&-64)>>3;for(let[c,f]of e.fields.entries()){let _=t[c];(!_||_.length!==r)&&(s[c]=f.clone({nullable:!0}),n[c]=(i=_?._changeLengthAndBackfillNullBitmap(r))!==null&&i!==void 0?i:yr({type:f.type,length:r,nullCount:r,nullBitmap:new Uint8Array(o)}))}return[e.assign(s),yr({type:new pn(s),length:r,children:n})]}function uH(e,t,r=new Map){var i,s;if(((i=e?.length)!==null&&i!==void 0?i:0)>0&&e?.length===t?.length)for(let n=-1,o=e.length;++nyr({type:s.type})),i=yr({type:new pn(t.fields),nullCount:0,children:r});super(t,i)}};var sf=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,r){return this.bb_pos=t,this.bb=r,this}static getRootAsMessage(t,r){return(r||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,r){return t.setPosition(t.position()+4),(r||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):sn.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):wi.NONE}header(t){let r=this.bb.__offset(this.bb_pos,8);return r?this.bb.__union(t,this.bb_pos+r):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt(\"0\")}customMetadata(t,r){let i=this.bb.__offset(this.bb_pos,12);return i?(r||new Fo).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,r){t.addFieldInt16(0,r,sn.V1)}static addHeaderType(t,r){t.addFieldInt8(1,r,wi.NONE)}static addHeader(t,r){t.addFieldOffset(2,r,0)}static addBodyLength(t,r){t.addFieldInt64(3,r,BigInt(\"0\"))}static addCustomMetadata(t,r){t.addFieldOffset(4,r,0)}static createCustomMetadataVector(t,r){t.startVector(4,r.length,4);for(let i=r.length-1;i>=0;i--)t.addOffset(r[i]);return t.endVector()}static startCustomMetadataVector(t,r){t.startVector(4,r,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,r){t.finish(r)}static finishSizePrefixedMessageBuffer(t,r){t.finish(r,void 0,!0)}static createMessage(t,r,i,s,n,o){return e.startMessage(t),e.addVersion(t,r),e.addHeaderType(t,i),e.addHeader(t,s),e.addBodyLength(t,n),e.addCustomMetadata(t,o),e.endMessage(t)}};var UO=class extends Er{visit(t,r){return t==null||r==null?void 0:super.visit(t,r)}visitNull(t,r){return Fw.startNull(r),Fw.endNull(r)}visitInt(t,r){return Xh.startInt(r),Xh.addBitWidth(r,t.bitWidth),Xh.addIsSigned(r,t.isSigned),Xh.endInt(r)}visitFloat(t,r){return lm.startFloatingPoint(r),lm.addPrecision(r,t.precision),lm.endFloatingPoint(r)}visitBinary(t,r){return kw.startBinary(r),kw.endBinary(r)}visitLargeBinary(t,r){return Dw.startLargeBinary(r),Dw.endLargeBinary(r)}visitBool(t,r){return Rw.startBool(r),Rw.endBool(r)}visitUtf8(t,r){return Nw.startUtf8(r),Nw.endUtf8(r)}visitLargeUtf8(t,r){return Ow.startLargeUtf8(r),Ow.endLargeUtf8(r)}visitDecimal(t,r){return id.startDecimal(r),id.addScale(r,t.scale),id.addPrecision(r,t.precision),id.addBitWidth(r,t.bitWidth),id.endDecimal(r)}visitDate(t,r){return nm.startDate(r),nm.addUnit(r,t.unit),nm.endDate(r)}visitTime(t,r){return pp.startTime(r),pp.addUnit(r,t.unit),pp.addBitWidth(r,t.bitWidth),pp.endTime(r)}visitTimestamp(t,r){let i=t.timezone&&r.createString(t.timezone)||void 0;return Ap.startTimestamp(r),Ap.addUnit(r,t.unit),i!==void 0&&Ap.addTimezone(r,i),Ap.endTimestamp(r)}visitInterval(t,r){return cm.startInterval(r),cm.addUnit(r,t.unit),cm.endInterval(r)}visitDuration(t,r){return sm.startDuration(r),sm.addUnit(r,t.unit),sm.endDuration(r)}visitList(t,r){return Bw.startList(r),Bw.endList(r)}visitStruct(t,r){return zw.startStruct_(r),zw.endStruct_(r)}visitUnion(t,r){Kh.startTypeIdsVector(r,t.typeIds.length);let i=Kh.createTypeIdsVector(r,t.typeIds);return Kh.startUnion(r),Kh.addMode(r,t.mode),Kh.addTypeIds(r,i),Kh.endUnion(r)}visitDictionary(t,r){let i=this.visit(t.indices,r);return rd.startDictionaryEncoding(r),rd.addId(r,BigInt(t.id)),rd.addIsOrdered(r,t.isOrdered),i!==void 0&&rd.addIndexType(r,i),rd.endDictionaryEncoding(r)}visitFixedSizeBinary(t,r){return om.startFixedSizeBinary(r),om.addByteWidth(r,t.byteWidth),om.endFixedSizeBinary(r)}visitFixedSizeList(t,r){return am.startFixedSizeList(r),am.addListSize(r,t.listSize),am.endFixedSizeList(r)}visitMap(t,r){return um.startMap(r),um.addKeysSorted(r,t.keysSorted),um.endMap(r)}},v3=new UO;function pH(e,t=new Map){return new an(vft(e,t),x3(e.metadata),t)}function VO(e){return new Sa(e.count,mH(e.columns),gH(e.columns))}function AH(e){return new yc(VO(e.data),e.id,e.isDelta)}function vft(e,t){return(e.fields||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function hH(e,t){return(e.children||[]).filter(Boolean).map(r=>si.fromJSON(r,t))}function mH(e){return(e||[]).reduce((t,r)=>[...t,new Xu(r.count,xft(r.VALIDITY)),...mH(r.children)],[])}function gH(e,t=[]){for(let r=-1,i=(e||[]).length;++rt+ +(r===0),0)}function _H(e,t){let r,i,s,n,o,c;return!t||!(n=e.dictionary)?(o=dH(e,hH(e,t)),s=new si(e.name,o,e.nullable,x3(e.metadata))):t.has(r=n.id)?(i=(i=n.indexType)?fH(i):new ef,c=new mc(t.get(r),i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))):(i=(i=n.indexType)?fH(i):new ef,t.set(r,o=dH(e,hH(e,t))),c=new mc(o,i,r,n.isOrdered),s=new si(e.name,c,e.nullable,x3(e.metadata))),s||null}function x3(e=[]){return new Map(e.map(({key:t,value:r})=>[t,r]))}function fH(e){return new Bs(e.isSigned,e.bitWidth)}function dH(e,t){let r=e.type.name;switch(r){case\"NONE\":return new ea;case\"null\":return new ea;case\"binary\":return new Vu;case\"largebinary\":return new nd;case\"utf8\":return new ju;case\"largeutf8\":return new sd;case\"bool\":return new dc;case\"list\":return new sl((t||[])[0]);case\"struct\":return new pn(t||[]);case\"struct_\":return new pn(t||[])}switch(r){case\"int\":{let i=e.type;return new Bs(i.isSigned,i.bitWidth)}case\"floatingpoint\":{let i=e.type;return new ra($i[i.precision])}case\"decimal\":{let i=e.type;return new Gu(i.scale,i.precision,i.bitWidth)}case\"date\":{let i=e.type;return new Wu(Os[i.unit])}case\"time\":{let i=e.type;return new Hu(Ar[i.unit],i.bitWidth)}case\"timestamp\":{let i=e.type;return new qu(Ar[i.unit],i.timezone)}case\"interval\":{let i=e.type;return new Zu(Bo[i.unit])}case\"duration\":{let i=e.type;return new Yu(Ar[i.unit])}case\"union\":{let i=e.type,[s,...n]=(i.mode+\"\").toLowerCase(),o=s.toUpperCase()+n.join(\"\");return new pc(Pn[o],i.typeIds||[],t||[])}case\"fixedsizebinary\":{let i=e.type;return new Qu(i.byteWidth)}case\"fixedsizelist\":{let i=e.type;return new Ll(i.listSize,(t||[])[0])}case\"map\":{let i=e.type;return new Ac((t||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: \"${r}\"`)}var bft=vg,wft=nu,vc=class e{static fromJSON(t,r){let i=new e(0,sn.V5,r);return i._createHeader=Sft(t,r),i}static decode(t){t=new wft(Rr(t));let r=sf.getRootAsMessage(t),i=r.bodyLength(),s=r.version(),n=r.headerType(),o=new e(i,s,n);return o._createHeader=Tft(r,n),o}static encode(t){let r=new bft,i=-1;return t.isSchema()?i=an.encode(r,t.header()):t.isRecordBatch()?i=Sa.encode(r,t.header()):t.isDictionaryBatch()&&(i=yc.encode(r,t.header())),sf.startMessage(r),sf.addVersion(r,sn.V5),sf.addHeader(r,i),sf.addHeaderType(r,t.headerType),sf.addBodyLength(r,BigInt(t.bodyLength)),sf.finishMessageBuffer(r,sf.endMessage(r)),r.asUint8Array()}static from(t,r=0){if(t instanceof an)return new e(0,sn.V5,wi.Schema,t);if(t instanceof Sa)return new e(r,sn.V5,wi.RecordBatch,t);if(t instanceof yc)return new e(r,sn.V5,wi.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===wi.Schema}isRecordBatch(){return this.headerType===wi.RecordBatch}isDictionaryBatch(){return this.headerType===wi.DictionaryBatch}constructor(t,r,i,s){this._version=r,this._headerType=i,this.body=new Uint8Array(0),s&&(this._createHeader=()=>s),this._bodyLength=Wi(t)}},Sa=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,r,i){this._nodes=r,this._buffers=i,this._length=Wi(t)}},yc=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,r,i=!1){this._data=t,this._isDelta=i,this._id=Wi(r)}},_c=class{constructor(t,r){this.offset=Wi(t),this.length=Wi(r)}},Xu=class{constructor(t,r){this.length=Wi(t),this.nullCount=Wi(r)}};function Sft(e,t){return()=>{switch(t){case wi.Schema:return an.fromJSON(e);case wi.RecordBatch:return Sa.fromJSON(e);case wi.DictionaryBatch:return yc.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}function Tft(e,t){return()=>{switch(t){case wi.Schema:return an.decode(e.header(new fc),new Map,e.version());case wi.RecordBatch:return Sa.decode(e.header(new su),e.version());case wi.DictionaryBatch:return yc.decode(e.header(new dp),e.version())}throw new Error(`Unrecognized Message type: { name: ${wi[t]}, type: ${t} }`)}}si.encode=Bft;si.decode=Dft;si.fromJSON=_H;an.encode=Oft;an.decode=Mft;an.fromJSON=pH;Sa.encode=Fft;Sa.decode=Eft;Sa.fromJSON=VO;yc.encode=zft;yc.decode=Pft;yc.fromJSON=AH;Xu.encode=Nft;Xu.decode=Cft;_c.encode=Uft;_c.decode=Ift;function Mft(e,t=new Map,r=sn.V5){let i=Rft(e,t);return new an(i,b3(e),t,r)}function Eft(e,t=sn.V5){if(e.compression()!==null)throw new Error(\"Record batch compression not implemented\");return new Sa(e.length(),Lft(e),kft(e,t))}function Pft(e,t=sn.V5){return new yc(Sa.decode(e.data(),t),e.id(),e.isDelta())}function Ift(e){return new _c(e.offset(),e.length())}function Cft(e){return new Xu(e.length(),e.nullCount())}function Lft(e){let t=[];for(let r,i=-1,s=-1,n=e.nodesLength();++isi.encode(e,n));fc.startFieldsVector(e,r.length);let i=fc.createFieldsVector(e,r),s=t.metadata&&t.metadata.size>0?fc.createCustomMetadataVector(e,[...t.metadata].map(([n,o])=>{let c=e.createString(`${n}`),f=e.createString(`${o}`);return Fo.startKeyValue(e),Fo.addKey(e,c),Fo.addValue(e,f),Fo.endKeyValue(e)})):-1;return fc.startSchema(e),fc.addFields(e,i),fc.addEndianness(e,Vft?im.Little:im.Big),s!==-1&&fc.addCustomMetadata(e,s),fc.endSchema(e)}function Bft(e,t){let r=-1,i=-1,s=-1,n=t.type,o=t.typeId;ze.isDictionary(n)?(o=n.dictionary.typeId,s=v3.visit(n,e),i=v3.visit(n.dictionary,e)):i=v3.visit(n,e);let c=(n.children||[]).map(w=>si.encode(e,w)),f=nl.createChildrenVector(e,c),_=t.metadata&&t.metadata.size>0?nl.createCustomMetadataVector(e,[...t.metadata].map(([w,I])=>{let R=e.createString(`${w}`),N=e.createString(`${I}`);return Fo.startKeyValue(e),Fo.addKey(e,R),Fo.addValue(e,N),Fo.endKeyValue(e)})):-1;return t.name&&(r=e.createString(t.name)),nl.startField(e),nl.addType(e,i),nl.addTypeType(e,o),nl.addChildren(e,f),nl.addNullable(e,!!t.nullable),r!==-1&&nl.addName(e,r),s!==-1&&nl.addDictionary(e,s),_!==-1&&nl.addCustomMetadata(e,_),nl.endField(e)}function Fft(e,t){let r=t.nodes||[],i=t.buffers||[];su.startNodesVector(e,r.length);for(let o of r.slice().reverse())Xu.encode(e,o);let s=e.endVector();su.startBuffersVector(e,i.length);for(let o of i.slice().reverse())_c.encode(e,o);let n=e.endVector();return su.startRecordBatch(e),su.addLength(e,BigInt(t.length)),su.addNodes(e,s),su.addBuffers(e,n),su.endRecordBatch(e)}function zft(e,t){let r=Sa.encode(e,t.data);return dp.startDictionaryBatch(e),dp.addId(e,BigInt(t.id)),dp.addIsDelta(e,t.isDelta),dp.addData(e,r),dp.endDictionaryBatch(e)}function Nft(e,t){return hv.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function Uft(e,t){return uv.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var Vft=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var GO=e=>`Expected ${wi[e]} Message in stream, but was null or length 0.`,WO=e=>`Header pointer of flatbuffer-encoded ${wi[e]} Message is null or length 0.`,bH=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,wH=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Zv=class{constructor(t){this.source=t instanceof ld?t:new ld(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?Vn:t.value===-1&&(t=this.readMetadataLength()).done?Vn:(t=this.readMetadata(t.value)).done?Vn:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let r=Rr(this.source.read(t));if(r.byteLength[...s,...n.VALIDITY&&[n.VALIDITY]||[],...n.TYPE_ID&&[n.TYPE_ID]||[],...n.OFFSET&&[n.OFFSET]||[],...n.DATA&&[n.DATA]||[],...r(n.children)],[])}}readMessage(t){let r;if((r=this.next()).done)return null;if(t!=null&&r.value.headerType!==t)throw new Error(GO(t));return r.value}readSchema(){let t=wi.Schema,r=this.readMessage(t),i=r?.header();if(!r||!i)throw new Error(WO(t));return i}},w3=4,jO=\"ARROW1\",Yv=new Uint8Array(jO.length);for(let e=0;ethis):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return xa.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return xa.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof e?t:CP(t)?Gft(t):kP(t)?qft(t):ru(t)?ar(this,void 0,void 0,function*(){return yield e.from(yield t)}):RP(t)||Mw(t)||OP(t)||Nu(t)?Hft(new $u(t)):Wft(new ld(t))}static readAll(t){return t instanceof e?t.isSync()?TH(t):MH(t):CP(t)||ArrayBuffer.isView(t)||Yh(t)||LP(t)?TH(t):MH(t)}},wp=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return eu(this,arguments,function*(){yield ii(yield*lv(Zh(this[Symbol.iterator]())))})}},Og=class extends cu{constructor(t){super(t),this._impl=t}readAll(){return ar(this,void 0,void 0,function*(){var t,r,i,s;let n=new Array;try{for(var o=!0,c=Zh(this),f;f=yield c.next(),t=f.done,!t;o=!0){s=f.value,o=!1;let _=s;n.push(_)}}catch(_){r={error:_}}finally{try{!o&&!t&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}return n})}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Bg=class extends wp{constructor(t){super(t),this._impl=t}},T3=class extends Og{constructor(t){super(t),this._impl=t}},M3=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,r){let i=this._loadVectors(t,r,this.schema.fields),s=yr({type:new pn(this.schema.fields),length:t.length,children:i});return new Fs(this.schema,s)}_loadDictionaryBatch(t,r){let{id:i,isDelta:s}=t,{dictionaries:n,schema:o}=this,c=n.get(i);if(s||!c){let f=o.dictionaries.get(i),_=this._loadVectors(t.data,r,[f]);return(c&&s?c.concat(new xr(_)):new xr(_)).memoize()}return c.memoize()}_loadVectors(t,r,i){return new o2(r,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}},$v=class extends M3{constructor(t,r){super(r),this._reader=CP(t)?new C2(this._handle=t):new Zv(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Vn}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Vn}next(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Xv=class extends M3{constructor(t,r){super(r),this._reader=new I2(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return ar(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return ar(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=EH(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):Vn})}return(t){return ar(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):Vn})}next(){return ar(this,void 0,void 0,function*(){if(this.closed)return Vn;let t,{_reader:r}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(i,s)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let i=t.header(),s=yield r.readMessageBody(t.bodyLength),n=this._loadDictionaryBatch(i,s);this.dictionaries.set(i.id,n)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Dg(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},E3=class extends $v{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,r){super(t instanceof i2?t:new i2(t),r)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var r;if(this.closed)return null;this._footer||this.open();let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null}_readDictionaryBatch(t){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&this._handle.seek(i.offset)){let s=this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}}_readFooter(){let{_handle:t}=this,r=t.size-HO,i=t.readInt32(r),s=t.readAt(r-i,i);return _p.decode(s)}_readNextMessageAndValidate(t){var r;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return ar(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield r.open.call(this,t)})}readRecordBatch(t){return ar(this,void 0,void 0,function*(){var r;if(this.closed)return null;this._footer||(yield this.open());let i=(r=this._footer)===null||r===void 0?void 0:r.getRecordBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.RecordBatch);if(s?.isRecordBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength);return this._loadRecordBatch(n,o)}}return null})}_readDictionaryBatch(t){return ar(this,void 0,void 0,function*(){var r;let i=(r=this._footer)===null||r===void 0?void 0:r.getDictionaryBatch(t);if(i&&(yield this._handle.seek(i.offset))){let s=yield this._reader.readMessage(wi.DictionaryBatch);if(s?.isDictionaryBatch()){let n=s.header(),o=yield this._reader.readMessageBody(s.bodyLength),c=this._loadDictionaryBatch(n,o);this.dictionaries.set(n.id,c)}}})}_readFooter(){return ar(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let r=t.size-HO,i=yield t.readInt32(r),s=yield t.readAt(r-i,i);return _p.decode(s)})}_readNextMessageAndValidate(t){return ar(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?S3(t)?new Bg(new E3(e.read())):new wp(new $v(e)):new wp(new $v(function*(){}()))}function Hft(e){return ar(this,void 0,void 0,function*(){let t=yield e.peek(Qv+7&-8);return t&&t.byteLength>=4?S3(t)?new Bg(new E3(yield e.read())):new Og(new Xv(e)):new Og(new Xv(function(){return eu(this,arguments,function*(){})}()))})}function qft(e){return ar(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),r=new Am(e,t);return t>=SH&&S3(yield r.readAt(0,Qv+7&-8))?new T3(new qO(r)):new Og(new Xv(r))})}var os=class e extends Er{static assemble(...t){let r=s=>s.flatMap(n=>Array.isArray(n)?r(n):n instanceof Fs?n.data.children:n.data),i=new e;return i.visitMany(r(t)),i}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof xr)return this.visitMany(t.data),this;let{type:r}=t;if(!ze.isDictionary(r)){let{length:i}=t;if(i>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");if(ze.isUnion(r))this.nodes.push(new Xu(i,0));else{let{nullCount:s}=t;ze.isNull(r)||of.call(this,s<=0?new Uint8Array(0):wg(t.offset,i,t.nullBitmap)),this.nodes.push(new Xu(i,s))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function of(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new _c(this._byteLength,t)),this._byteLength+=t,this}function Zft(e){var t;let{type:r,length:i,typeIds:s,valueOffsets:n}=e;if(of.call(this,s),r.mode===Pn.Sparse)return YO.call(this,e);if(r.mode===Pn.Dense){if(e.offset<=0)return of.call(this,n),YO.call(this,e);{let o=new Int32Array(i),c=Object.create(null),f=Object.create(null);for(let _,w,I=-1;++I{let I=r.typeIds[w],R=c[I],N=f[I];return _.slice(R,Math.min(i,N))}))}}return this}function Yft(e){let t;return e.nullCount>=e.length?of.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?of.call(this,wg(e.offset,e.length,t)):of.call(this,Sg(e.values))}function Sp(e){return of.call(this,e.values.subarray(0,e.length*e.stride))}function P3(e){let{length:t,values:r,valueOffsets:i}=e,s=Wi(i[0]),n=Wi(i[t]),o=Math.min(n-s,r.byteLength-s);return of.call(this,FP(-s,t+1,i)),of.call(this,r.subarray(s,s+o)),this}function QO(e){let{length:t,valueOffsets:r}=e;if(r){let{[0]:i,[t]:s}=r;return of.call(this,FP(-i,t+1,r)),this.visit(e.children[0].slice(i,s-i))}return this.visit(e.children[0])}function YO(e){return this.visitMany(e.type.children.map((t,r)=>e.children[r]).filter(Boolean))[0]}os.prototype.visitBool=Yft;os.prototype.visitInt=Sp;os.prototype.visitFloat=Sp;os.prototype.visitUtf8=P3;os.prototype.visitLargeUtf8=P3;os.prototype.visitBinary=P3;os.prototype.visitLargeBinary=P3;os.prototype.visitFixedSizeBinary=Sp;os.prototype.visitDate=Sp;os.prototype.visitTimestamp=Sp;os.prototype.visitTime=Sp;os.prototype.visitDecimal=Sp;os.prototype.visitList=QO;os.prototype.visitStruct=YO;os.prototype.visitUnion=Zft;os.prototype.visitInterval=Sp;os.prototype.visitDuration=Sp;os.prototype.visitFixedSizeList=QO;os.prototype.visitMap=QO;var Fg=class extends Eg{static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,r){throw new Error('\"throughDOM\" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new ad,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Cl(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return ru(t)?t.then(r=>this.writeAll(r)):Nu(t)?XO(this,t):$O(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,r=null){return t===this._sink||t instanceof ad?this._sink=t:(this._sink=new ad,t&&j9(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&G9(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!r||!Rg(r,this._schema))&&(r==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=r,this._writeSchema(r))),this}write(t){let r=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof wa&&!(r=t.schema))return this.finish()&&void 0;if(t instanceof Fs&&!(r=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(r&&!Rg(r,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,r)}t instanceof Fs?t instanceof Dg||this._writeRecordBatch(t):t instanceof wa?this.writeAll(t.batches):Yh(t)&&this.writeAll(t)}_writeMessage(t,r=8){let i=r-1,s=vc.encode(t),n=s.byteLength,o=this._writeLegacyIpcFormat?4:8,c=n+o+i&~i,f=c-n-o;return t.headerType===wi.RecordBatch?this._recordBatchBlocks.push(new yp(c,t.bodyLength,this._position)):t.headerType===wi.DictionaryBatch&&this._dictionaryBlocks.push(new yp(c,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(c-o)),n>0&&this._write(s),this._writePadding(f)}_write(t){if(this._started){let r=Rr(t);r&&r.byteLength>0&&(this._sink.write(r),this._position+=r.byteLength)}return this}_writeSchema(t){return this._writeMessage(vc.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Yv)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:r,nodes:i,bufferRegions:s,buffers:n}=os.assemble(t),o=new Sa(t.numRows,i,s),c=vc.from(o,r);return this._writeDictionaries(t)._writeMessage(c)._writeBodyBuffers(n)}_writeDictionaryBatch(t,r,i=!1){this._dictionaryDeltaOffsets.set(r,t.length+(this._dictionaryDeltaOffsets.get(r)||0));let{byteLength:s,nodes:n,bufferRegions:o,buffers:c}=os.assemble(new xr([t])),f=new Sa(t.length,n,o),_=new yc(f,r,i),w=vc.from(_,s);return this._writeMessage(w)._writeBodyBuffers(c)}_writeBodyBuffers(t){let r,i,s;for(let n=-1,o=t.length;++n0&&(this._write(r),(s=(i+7&-8)-i)>0&&this._writePadding(s));return this}_writeDictionaries(t){for(let[r,i]of t.dictionaries){let s=this._dictionaryDeltaOffsets.get(r)||0;if(s===0||(i=i?.slice(s)).length>0)for(let n of i.data)this._writeDictionaryBatch(n,r,s>0),s+=n.length}return this}},L2=class e extends Fg{static writeAll(t,r){let i=new e(r);return ru(t)?t.then(s=>i.writeAll(s)):Nu(t)?XO(i,t):$O(i,t)}},k2=class e extends Fg{static writeAll(t){let r=new e;return ru(t)?t.then(i=>r.writeAll(i)):Nu(t)?XO(r,t):$O(r,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let r=_p.encode(new _p(t,sn.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(r)._write(Int32Array.of(r.byteLength))._writeMagic()}};function $O(e,t){let r=t;t instanceof wa&&(r=t.batches,e.reset(void 0,t.schema));for(let i of r)e.write(i);return e.finish()}function XO(e,t){return ar(this,void 0,void 0,function*(){var r,i,s,n,o,c,f;try{for(r=!0,i=Zh(t);s=yield i.next(),n=s.done,!n;r=!0){f=s.value,r=!1;let _=f;e.write(_)}}catch(_){o={error:_}}finally{try{!r&&!n&&(c=i.return)&&(yield c.call(i))}finally{if(o)throw o.error}}return e.finish()})}function PH(e,t){if(Nu(e))return $ft(e,t);if(Yh(e))return Qft(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function Qft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){n(o,r||(r=e[Symbol.iterator]()))},pull(o){r?n(o,r):o.close()},cancel(){(r?.return&&r.return()||!0)&&(r=null)}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){let f,_=null,w=o.desiredSize||null;for(;!(_=c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()}}function $ft(e,t){let r=null,i=t?.type===\"bytes\"||!1,s=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(o){return ar(this,void 0,void 0,function*(){yield n(o,r||(r=e[Symbol.asyncIterator]()))})},pull(o){return ar(this,void 0,void 0,function*(){r?yield n(o,r):o.close()})},cancel(){return ar(this,void 0,void 0,function*(){(r?.return&&(yield r.return())||!0)&&(r=null)})}}),Object.assign({highWaterMark:i?s:void 0},t));function n(o,c){return ar(this,void 0,void 0,function*(){let f,_=null,w=o.desiredSize||null;for(;!(_=yield c.next(i?w:null)).done;)if(ArrayBuffer.isView(_.value)&&(f=Rr(_.value))&&(w!=null&&i&&(w=w-f.byteLength+1),_.value=f),o.enqueue(_.value),w!=null&&--w<=0)return;o.close()})}}function LH(e){return new KO(e)}var KO=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{[\"readableStrategy\"]:r,[\"writableStrategy\"]:i,[\"queueingStrategy\"]:s=\"count\"}=t,n=U9(t,[\"readableStrategy\",\"writableStrategy\",\"queueingStrategy\"]);this._controller=null,this._builder=Cg(n),this._getSize=s!==\"bytes\"?IH:CH;let{[\"highWaterMark\"]:o=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},r),{[\"highWaterMark\"]:c=s===\"bytes\"?Math.pow(2,14):1e3}=Object.assign({},i);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:f=>{this._maybeFlush(this._builder,this._controller=f)},start:f=>{this._maybeFlush(this._builder,this._controller=f)}},{highWaterMark:o,size:s!==\"bytes\"?IH:CH}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:c,size:f=>this._writeValueAndReturnChunkSize(f)})}_writeValueAndReturnChunkSize(t){let r=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-r}_maybeFlush(t,r){r!=null&&(this._bufferedSize>=r.desiredSize&&++this._numChunks&&this._enqueue(r,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(r,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(r,null)))}_enqueue(t,r){this._bufferedSize=0,this._controller=null,r==null?t.close():t.enqueue(r)}},IH=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},CH=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function I3(e,t){let r=new ad,i=null,s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield r.close()})},start(c){return ar(this,void 0,void 0,function*(){yield o(c,i||(i=yield n()))})},pull(c){return ar(this,void 0,void 0,function*(){i?yield o(c,i):c.close()})}});return{writable:new WritableStream(r,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:s};function n(){return ar(this,void 0,void 0,function*(){return yield(yield cu.from(r)).open(t)})}function o(c,f){return ar(this,void 0,void 0,function*(){let _=c.desiredSize,w=null;for(;!(w=yield f.next()).done;)if(c.enqueue(w.value),_!=null&&--_<=0)return;c.close()})}}function C3(e,t){let r=new this(e),i=new $u(r),s=new ReadableStream({cancel(){return ar(this,void 0,void 0,function*(){yield i.cancel()})},pull(o){return ar(this,void 0,void 0,function*(){yield n(o)})},start(o){return ar(this,void 0,void 0,function*(){yield n(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(r,e),readable:s};function n(o){return ar(this,void 0,void 0,function*(){let c=null,f=o.desiredSize;for(;c=yield i.read(f||null);)if(o.enqueue(c),f!=null&&(f-=c.byteLength)<=0)return;o.close()})}}function R2(e){let t=cu.from(e);return ru(t)?t.then(r=>R2(r)):t.isAsync()?t.readAll().then(r=>new wa(r)):new wa(t.readAll())}var _dt=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},uO),OO),MO),hO),iO),TO),oO),{compareSchemas:Rg,compareFields:nH,compareTypes:sH});xa.toDOMStream=PH;Xn.throughDOM=LH;cu.throughDOM=I3;Bg.throughDOM=I3;wp.throughDOM=I3;Fg.throughDOM=C3;k2.throughDOM=C3;L2.throughDOM=C3;var ydt=\"0.6.1\",vdt=`https://cdn.jsdelivr.net/npm/parquet-wasm@${ydt}/esm/parquet_wasm_bg.wasm`,JO=!1;async function kH(){JO||(await z9(vdt),JO=!0)}function xdt(e){if(!JO)throw new Error(\"wasm not ready\");console.time(\"readParquet\");let t=O9(new Uint8Array(e.buffer),{batchSize:Math.pow(2,31)}).intoIPCStream(),r=R2(t);return console.timeEnd(\"readParquet\"),r}function O2(e){let t=[];for(let r of e){let i=xdt(r);i.batches.length!==1&&console.warn(\"Expected one batch\"),t.push(...i.batches)}return new wa(t)}var RH=Ri(Yi(),1);function tB(e){return e instanceof Array&&e?.[0]instanceof DataView?e?.[0].byteLength>0?O2(e).getChildAt(0):null:e}var zg=class{model;callbacks;updateStateCallback;constructor(t,r){this.model=t,this.model.on(\"change\",r),this.updateStateCallback=r,this.callbacks=new Map,this.callbacks.set(\"change\",r)}async loadSubModels(){}initRegularAttribute(t,r){this[r]=this.model.get(t),this.model.off(`change:${t}`);let i=()=>{this[r]=this.model.get(t)};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}initVectorizedAccessor(t,r){this[r]=tB(this.model.get(t)),this.model.off(`change:${t}`);let i=()=>{this[r]=tB(this.model.get(t))};this.model.on(`change:${t}`,i),this.callbacks.set(`change:${t}`,i)}finalize(){for(let[t,r]of Object.entries(this.callbacks))this.model.off(t,r)}};async function L3(e,t){let r=[];for(let i of t)r.push(e.get_model(i.slice(10)));return await Promise.all(r)}function Jt(e){return e!=null}function DH(e,t=20){let r;return(...s)=>{clearTimeout(r),r=setTimeout(()=>e(...s),t)}}var bdt=`\n uniform bool brushing_enabled;\n uniform int brushing_target;\n uniform vec2 brushing_mousePos;\n uniform float brushing_radius;\n\n #ifdef NON_INSTANCED_MODEL\n attribute vec2 brushingTargets;\n #else\n attribute vec2 instanceBrushingTargets;\n #endif\n\n varying float brushing_isVisible;\n\n bool brushing_isPointInRange(vec2 position) {\n if (!brushing_enabled) {\n return true;\n }\n vec2 source_commonspace = project_position(position);\n vec2 target_commonspace = project_position(brushing_mousePos);\n float distance = length((target_commonspace - source_commonspace) / project_uCommonUnitsPerMeter.xy);\n\n return distance <= brushing_radius;\n }\n\n bool brushing_arePointsInRange(vec2 sourcePos, vec2 targetPos) {\n return brushing_isPointInRange(sourcePos) || brushing_isPointInRange(targetPos);\n }\n\n void brushing_setVisible(bool visible) {\n brushing_isVisible = float(visible);\n }\n`,wdt=`\n uniform bool brushing_enabled;\n varying float brushing_isVisible;\n`,Sdt={source:0,target:1,custom:2,source_target:3},Tdt={\"vs:DECKGL_FILTER_GL_POSITION\":`\n vec2 brushingTarget;\n vec2 brushingSource;\n if (brushing_target == 3) {\n brushingTarget = geometry.worldPositionAlt.xy;\n brushingSource = geometry.worldPosition.xy;\n } else if (brushing_target == 0) {\n brushingTarget = geometry.worldPosition.xy;\n } else if (brushing_target == 1) {\n brushingTarget = geometry.worldPositionAlt.xy;\n } else {\n #ifdef NON_INSTANCED_MODEL\n brushingTarget = brushingTargets;\n #else\n brushingTarget = instanceBrushingTargets;\n #endif\n }\n bool visible;\n if (brushing_target == 3) {\n visible = brushing_arePointsInRange(brushingSource, brushingTarget);\n } else {\n visible = brushing_isPointInRange(brushingTarget);\n }\n brushing_setVisible(visible);\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (brushing_enabled && brushing_isVisible < 0.5) {\n discard;\n }\n `},OH={name:\"brushing\",dependencies:[Vh],vs:bdt,fs:wdt,inject:Tdt,getUniforms:e=>{if(!e||!(\"viewport\"in e))return{};let{brushingEnabled:t=!0,brushingRadius:r=1e4,brushingTarget:i=\"source\",mousePosition:s,viewport:n}=e;return{brushing_enabled:!!(t&&s&&n.containsPixel(s)),brushing_radius:r,brushing_target:Sdt[i]||0,brushing_mousePos:s?n.unproject([s.x-n.x,s.y-n.y]):[0,0]}}};var Mdt={getBrushingTarget:{type:\"accessor\",value:[0,0]},brushingTarget:\"source\",brushingEnabled:!0,brushingRadius:1e4},vm=class extends cc{getShaders(){return{modules:[OH]}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({brushingTargets:{size:2,accessor:\"getBrushingTarget\",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=()=>{var s;(s=this.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},t.deck&&t.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}finalizeState(t,r){t.deck&&t.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}};G(vm,\"defaultProps\",Mdt);G(vm,\"extensionName\",\"BrushingExtension\");var BH=`\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`,FH=`\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;function zH(e){if(!e||!(\"extensions\"in e))return{};let{filterRange:t=[-1,1],filterEnabled:r=!0,filterTransformSize:i=!0,filterTransformColor:s=!0}=e,n=e.filterSoftRange||t;return{...Number.isFinite(t[0])?{filter_min:t[0],filter_softMin:n[0],filter_softMax:n[1],filter_max:t[1]}:{filter_min:t.map(o=>o[0]),filter_softMin:n.map(o=>o[0]),filter_softMax:n.map(o=>o[1]),filter_max:t.map(o=>o[1])},filter_enabled:r,filter_useSoftMargin:!!e.filterSoftRange,filter_transformSize:r&&i,filter_transformColor:r&&s}}function Edt(e){if(!e||!(\"extensions\"in e))return{};let t=zH(e);if(Number.isFinite(t.filter_min)){let r=Math.fround(t.filter_min);t.filter_min-=r,t.filter_softMin-=r,t.filter_min64High=r;let i=Math.fround(t.filter_max);t.filter_max-=i,t.filter_softMax-=i,t.filter_max64High=i}else{let r=t.filter_min.map(Math.fround);t.filter_min=t.filter_min.map((s,n)=>s-r[n]),t.filter_softMin=t.filter_softMin.map((s,n)=>s-r[n]),t.filter_min64High=r;let i=t.filter_max.map(Math.fround);t.filter_max=t.filter_max.map((s,n)=>s-i[n]),t.filter_softMax=t.filter_softMax.map((s,n)=>s-i[n]),t.filter_max64High=i}return t}var NH={\"vs:#main-start\":`\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\"vs:#main-end\":`\n if (dataFilter_value == 0.0) {\n gl_Position = vec4(0.);\n }\n `,\"vs:DECKGL_FILTER_SIZE\":`\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\"fs:DECKGL_FILTER_COLOR\":`\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `},UH={name:\"data-filter\",vs:BH,fs:FH,inject:NH,getUniforms:zH},VH={name:\"data-filter-fp64\",vs:BH,fs:FH,inject:NH,getUniforms:Edt};var Pdt=`#define SHADER_NAME data-filter-vertex-shader\n\n#ifdef FLOAT_TARGET\n attribute float filterIndices;\n attribute float filterPrevIndices;\n#else\n attribute vec2 filterIndices;\n attribute vec2 filterPrevIndices;\n#endif\n\nvarying vec4 vColor;\nconst float component = 1.0 / 255.0;\n\nvoid main() {\n #ifdef FLOAT_TARGET\n dataFilter_value *= float(filterIndices != filterPrevIndices);\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n vColor = vec4(0.0, 0.0, 0.0, 1.0);\n #else\n // Float texture is not supported: pack result into 4 channels x 256 px x 64px\n dataFilter_value *= float(filterIndices.x != filterPrevIndices.x);\n float col = filterIndices.x;\n float row = filterIndices.y * 4.0;\n float channel = floor(row);\n row = fract(row);\n vColor = component * vec4(bvec4(channel == 0.0, channel == 1.0, channel == 2.0, channel == 3.0));\n gl_Position = vec4(col * 2.0 - 1.0, row * 2.0 - 1.0, 0.0, 1.0);\n #endif\n gl_PointSize = 1.0;\n}\n`,Idt=`#define SHADER_NAME data-filter-fragment-shader\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n if (dataFilter_value < 0.5) {\n discard;\n }\n gl_FragColor = vColor;\n}\n`;function jH(e){return!!(e.getExtension(\"EXT_float_blend\")&&(e.getExtension(\"EXT_color_buffer_float\")||e.getExtension(\"WEBGL_color_buffer_float\")))}function GH(e,t){return t?new yi(e,{width:1,height:1,attachments:{36064:new pi(e,{format:fr(e)?34836:6408,type:5126,mipmaps:!1})}}):new yi(e,{width:256,height:64,depth:!1})}function WH(e,t,r){return t.defines.NON_INSTANCED_MODEL=1,r&&(t.defines.FLOAT_TARGET=1),new fn(e,{id:\"data-filter-aggregation-model\",vertexCount:1,isInstanced:!1,drawMode:0,vs:Pdt,fs:Idt,...t})}var HH={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var Ldt={getFilterValue:{type:\"accessor\",value:0},onFilteredItemsChange:{type:\"function\",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},qH={1:\"float\",2:\"vec2\",3:\"vec3\",4:\"vec4\"},xm=class extends cc{constructor({filterSize:t=1,fp64:r=!1,countItems:i=!1}={}){if(!qH[t])throw new Error(\"filterSize out of range\");super({filterSize:t,fp64:r,countItems:i})}getShaders(t){let{filterSize:r,fp64:i}=t.opts;return{modules:[i?VH:UH],defines:{DATAFILTER_TYPE:qH[r],DATAFILTER_DOUBLE:!!i}}}initializeState(t,r){let i=this.getAttributeManager();i&&i.add({filterValues:{size:r.opts.filterSize,type:r.opts.fp64?5130:5126,accessor:\"getFilterValue\",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});let{gl:s}=this.context;if(i&&r.opts.countItems){let n=jH(s);i.add({filterIndices:{size:n?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:(f,{index:_})=>{let w=f&&f.__source?f.__source.index:_;return n?(w+1)%255:[(w+1)%255,Math.floor(w/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});let o=GH(s,n),c=WH(s,r.getShaders.call(this,r),n);this.setState({filterFBO:o,filterModel:c})}}updateState({props:t,oldProps:r}){if(this.state.filterModel){let s=this.getAttributeManager().attributes.filterValues.needsUpdate()||t.filterEnabled!==r.filterEnabled||t.filterRange!==r.filterRange||t.filterSoftRange!==r.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}draw(t,r){let{filterFBO:i,filterModel:s,filterNeedsUpdate:n}=this.state,{onFilteredItemsChange:o}=this.props;if(n&&o&&s){let{attributes:{filterValues:c,filterIndices:f}}=this.getAttributeManager();s.setVertexCount(this.getNumInstances());let{gl:_}=this.context;Hf(_,{framebuffer:i,color:[0,0,0,0]}),s.updateModuleSettings(t.moduleParameters).setAttributes({...c.getShaderAttributes(),...f&&f.getShaderAttributes()}).draw({framebuffer:i,parameters:{...HH,viewport:[0,0,i.width,i.height]}});let w=Dh(i),I=0;for(let R=0;R 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`}},YH={inject:{\"vs:#decl\":`\nattribute float instanceOffsets;\n`,\"vs:DECKGL_FILTER_SIZE\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\"vs:#main-end\":`\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\"fs:#main-start\":`\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`}};var kdt={getDashArray:{type:\"accessor\",value:[0,0]},getOffset:{type:\"accessor\",value:0},dashJustified:!1,dashGapPickable:!1},bm=class extends cc{constructor({dash:t=!1,offset:r=!1,highPrecisionDash:i=!1}={}){super({dash:t||i,offset:r,highPrecisionDash:i})}isEnabled(t){return\"pathTesselator\"in t.state}getShaders(t){if(!t.isEnabled(this))return null;let r={};return t.opts.dash&&(r=tv(r,ZH)),t.opts.offset&&(r=tv(r,YH)),r}initializeState(t,r){let i=this.getAttributeManager();!i||!r.isEnabled(this)||(r.opts.dash&&i.addInstanced({instanceDashArrays:{size:2,accessor:\"getDashArray\"}}),r.opts.highPrecisionDash&&i.addInstanced({instanceDashOffsets:{size:1,accessor:\"getPath\",transform:r.getDashOffsets.bind(this)}}),r.opts.offset&&i.addInstanced({instanceOffsets:{size:1,accessor:\"getOffset\"}}))}updateState(t,r){if(!r.isEnabled(this))return;let i={};r.opts.dash&&(i.dashAlignMode=this.props.dashJustified?1:0,i.dashGapPickable=!!this.props.dashGapPickable),this.state.model.setUniforms(i)}getDashOffsets(t){let r=[0],i=this.props.positionFormat===\"XY\"?2:3,s=Array.isArray(t[0]),n=s?t.length:t.length/i,o,c;for(let f=0;f0&&(r[f]=r[f-1]+$j(c,o)),c=o;return r}};G(bm,\"defaultProps\",kdt);G(bm,\"extensionName\",\"PathStyleExtension\");var Rdt=`\n#ifdef NON_INSTANCED_MODEL\nattribute float collisionPriorities;\n#else\nattribute float instanceCollisionPriorities;\n#endif\n\nuniform sampler2D collision_texture;\nuniform bool collision_sort;\nuniform bool collision_enabled;\n\nvec2 collision_getCoords(vec4 position) {\n vec4 collision_clipspace = project_common_position_to_clipspace(position);\n return (1.0 + collision_clipspace.xy / collision_clipspace.w) / 2.0;\n}\n\nfloat collision_match(vec2 tex, vec3 pickingColor) {\n vec4 collision_pickingColor = texture2D(collision_texture, tex);\n float delta = dot(abs(collision_pickingColor.rgb - pickingColor), vec3(1.0));\n float e = 0.001;\n return step(delta, e);\n}\n\nfloat collision_isVisible(vec2 texCoords, vec3 pickingColor) {\n if (!collision_enabled) {\n return 1.0;\n }\n\n // Visibility test, sample area of 5x5 pixels in order to fade in/out.\n // Due to the locality, the lookups will be cached\n // This reduces the flicker present when objects are shown/hidden\n const int N = 2;\n float accumulator = 0.0;\n vec2 step = vec2(1.0 / project_uViewportSize);\n\n const float floatN = float(N);\n vec2 delta = -floatN * step;\n for(int i = -N; i <= N; i++) {\n delta.x = -step.x * floatN;\n for(int j = -N; j <= N; j++) {\n accumulator += collision_match(texCoords + delta, pickingColor);\n delta.x += step.x;\n }\n delta.y += step.y;\n }\n\n float W = 2.0 * floatN + 1.0;\n return pow(accumulator / (W * W), 2.2);\n}\n`,Ddt={\"vs:#decl\":`\n float collision_fade = 1.0;\n`,\"vs:DECKGL_FILTER_GL_POSITION\":`\n if (collision_sort) {\n #ifdef NON_INSTANCED_MODEL\n float collisionPriority = collisionPriorities;\n #else\n float collisionPriority = instanceCollisionPriorities;\n #endif\n position.z = -0.001 * collisionPriority * position.w; // Support range -1000 -> 1000\n }\n\n if (collision_enabled) {\n vec4 collision_common_position = project_position(vec4(geometry.worldPosition, 1.0));\n vec2 collision_texCoords = collision_getCoords(collision_common_position);\n collision_fade = collision_isVisible(collision_texCoords, geometry.pickingColor / 255.0);\n if (collision_fade < 0.0001) {\n // Position outside clip space bounds to discard\n position = vec4(0.0, 0.0, 2.0, 1.0);\n }\n }\n `,\"vs:DECKGL_FILTER_COLOR\":`\n color.a *= collision_fade;\n `},Odt=(e,t)=>{if(!e||!(\"dummyCollisionMap\"in e))return{};let{collisionFBO:r,drawToCollisionMap:i,dummyCollisionMap:s}=e;return{collision_sort:!!i,collision_texture:!i&&r?r:s}},QH={name:\"collision\",dependencies:[Vh],vs:Rdt,inject:Ddt,getUniforms:Odt};var B2=class extends sc{renderCollisionMap(t,r){let i=this.gl,s=1;return Mn(i,{scissorTest:!0,scissor:[s,s,t.width-2*s,t.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},()=>this.render({...r,target:t,pass:\"collision\"}))}getModuleParameters(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}};var F2=class extends sc{constructor(t,r){super(t,r),G(this,\"maskMap\",void 0),G(this,\"fbo\",void 0);let{mapSize:i=2048}=r;this.maskMap=new pi(t,{width:i,height:i,parameters:{10241:9729,10240:9729,10242:33071,10243:33071}}),this.fbo=new yi(t,{id:\"maskmap\",width:i,height:i,attachments:{36064:this.maskMap}})}render(t){let r=this.gl,i=[!1,!1,!1,!1];return i[t.channel]=!0,Mn(r,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:i,depthTest:!1},()=>super.render({...t,target:this.fbo,pass:\"mask\"}))}shouldDrawLayer(t){return t.props.operation.includes(\"mask\")}delete(){this.fbo.delete(),this.maskMap.delete()}};function $H(e,t){let r=[1/0,1/0,-1/0,-1/0];for(let i of e){let s=i.getBounds();if(s){let n=i.projectPosition(s[0],{viewport:t,autoOffset:!1}),o=i.projectPosition(s[1],{viewport:t,autoOffset:!1});r[0]=Math.min(r[0],n[0]),r[1]=Math.min(r[1],n[1]),r[2]=Math.max(r[2],o[0]),r[3]=Math.max(r[3],o[1])}}return Number.isFinite(r[0])?r:null}var Bdt=2048;function XH(e){let{bounds:t,viewport:r,border:i=0}=e,{isGeospatial:s}=r;if(t[2]<=t[0]||t[3]<=t[1])return null;let n=r.unprojectPosition([(t[0]+t[2])/2,(t[1]+t[3])/2,0]),{width:o,height:c,zoom:f}=e;if(f===void 0){o=o-i*2,c=c-i*2;let _=Math.min(o/(t[2]-t[0]),c/(t[3]-t[1]));f=Math.min(Math.log2(_),20)}else if(!o||!c){let _=2**f;o=Math.round(Math.abs(t[2]-t[0])*_),c=Math.round(Math.abs(t[3]-t[1])*_);let w=Bdt-i*2;if(o>w||c>w){let I=w/Math.max(o,c);o=Math.round(o*I),c=Math.round(c*I),f+=Math.log2(I)}}return s?new lc({id:r.id,x:i,y:i,width:o,height:c,longitude:n[0],latitude:n[1],zoom:f,orthographic:!0}):new iv({id:r.id,x:i,y:i,width:o,height:c,target:n,zoom:f,flipY:!1})}function Fdt(e,t){let r;if(t&&t.length===2){let[n,o]=t,c=e.getBounds({z:n}),f=e.getBounds({z:o});r=[Math.min(c[0],f[0]),Math.min(c[1],f[1]),Math.max(c[2],f[2]),Math.max(c[3],f[3])]}else r=e.getBounds();let i=e.projectPosition(r.slice(0,2)),s=e.projectPosition(r.slice(2,4));return[i[0],i[1],s[0],s[1]]}function KH(e,t,r){if(!e)return[0,0,1,1];let i=Fdt(t,r),s=zdt(i);return e[2]-e[0]<=s[2]-s[0]&&e[3]-e[1]<=s[3]-s[1]?e:[Math.max(e[0],s[0]),Math.max(e[1],s[1]),Math.min(e[2],s[2]),Math.min(e[3],s[3])]}function zdt(e){let t=e[2]-e[0],r=e[3]-e[1],i=(e[0]+e[2])/2,s=(e[1]+e[3])/2;return[i-t,s-r,i+t,s+r]}var z2=class{constructor(){G(this,\"id\",\"mask-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",0),G(this,\"dummyMaskMap\",void 0),G(this,\"channels\",[]),G(this,\"masks\",null),G(this,\"maskPass\",void 0),G(this,\"maskMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{layers:r,layerFilter:i,viewports:s,onViewportActive:n,views:o,isPicking:c}){let f=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new pi(t,{width:1,height:1})),c)return{didRender:f};let _=r.filter(N=>N.props.visible&&N.props.operation.includes(\"mask\"));if(_.length===0)return this.masks=null,this.channels.length=0,{didRender:f};this.masks={},this.maskPass||(this.maskPass=new F2(t,{id:\"default-mask\"}),this.maskMap=this.maskPass.maskMap);let w=this._sortMaskChannels(_),I=s[0],R=!this.lastViewport||!this.lastViewport.equals(I);if(I.resolution!==void 0)return or.warn(\"MaskExtension is not supported in GlobeView\")(),{didRender:f};for(let N in w){let j=this._renderChannel(w[N],{layerFilter:i,onViewportActive:n,views:o,viewport:I,viewportChanged:R});f||(f=j)}return{didRender:f}}_renderChannel(t,{layerFilter:r,onViewportActive:i,views:s,viewport:n,viewportChanged:o}){let c=!1,f=this.channels[t.index];if(!f)return c;let _=t===f||t.layers.length!==f.layers.length||t.layers.some((w,I)=>w!==f.layers[I]||w.props.transitions)||t.layerBounds.some((w,I)=>w!==f.layerBounds[I]);if(t.bounds=f.bounds,t.maskBounds=f.maskBounds,this.channels[t.index]=t,_||o){this.lastViewport=n;let w=$H(t.layers,n);if(t.bounds=w&&KH(w,n),_||!Ro(t.bounds,f.bounds)){let{maskPass:I,maskMap:R}=this,N=w&&XH({bounds:t.bounds,viewport:n,width:R.width,height:R.height,border:1});t.maskBounds=N?N.getBounds():[0,0,1,1],I.render({pass:\"mask\",channel:t.index,layers:t.layers,layerFilter:r,viewports:N?[N]:[],onViewportActive:i,views:s,moduleParameters:{devicePixelRatio:1}}),c=!0}}return this.masks[t.id]={index:t.index,bounds:t.maskBounds,coordinateOrigin:t.coordinateOrigin,coordinateSystem:t.coordinateSystem},c}_sortMaskChannels(t){let r={},i=0;for(let s of t){let{id:n}=s.root,o=r[n];if(!o){if(++i>4){or.warn(\"Too many mask layers. The max supported is 4\")();continue}o={id:n,index:this.channels.findIndex(c=>c?.id===n),layers:[],layerBounds:[],coordinateOrigin:s.root.props.coordinateOrigin,coordinateSystem:s.root.props.coordinateSystem},r[n]=o}o.layers.push(s),o.layerBounds.push(s.getBounds())}for(let s=0;s<4;s++){let n=this.channels[s];(!n||!(n.id in r))&&(this.channels[s]=null)}for(let s in r){let n=r[s];n.index<0&&(n.index=this.channels.findIndex(o=>!o),this.channels[n.index]=n)}return r}getModuleParameters(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}cleanup(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}};var eB=2,N2=class{constructor(){G(this,\"id\",\"collision-filter-effect\"),G(this,\"props\",null),G(this,\"useInPicking\",!0),G(this,\"order\",1),G(this,\"channels\",{}),G(this,\"collisionFilterPass\",void 0),G(this,\"collisionFBOs\",{}),G(this,\"dummyCollisionMap\",void 0),G(this,\"lastViewport\",void 0)}preRender(t,{effects:r,layers:i,layerFilter:s,viewports:n,onViewportActive:o,views:c,isPicking:f,preRenderStats:_={}}){var w;if(this.dummyCollisionMap||(this.dummyCollisionMap=new pi(t,{width:1,height:1})),f)return;let I=i.filter(({props:{visible:Y,collisionEnabled:K}})=>Y&&K);if(I.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new B2(t,{id:\"default-collision-filter\"}));let R=r?.filter(Y=>Y.constructor===z2),N=(w=_[\"mask-effect\"])===null||w===void 0?void 0:w.didRender,j=this._groupByCollisionGroup(t,I),Q=n[0],et=!this.lastViewport||!this.lastViewport.equals(Q)||N;for(let Y in j){let K=this.collisionFBOs[Y],J=j[Y];K.resize({width:t.canvas.width/eB,height:t.canvas.height/eB}),this._render(J,{effects:R,layerFilter:s,onViewportActive:o,views:c,viewport:Q,viewportChanged:et})}}_render(t,{effects:r,layerFilter:i,onViewportActive:s,views:n,viewport:o,viewportChanged:c}){let{collisionGroup:f}=t,_=this.channels[f];if(!_)return;let w=c||t===_||!mo(_.layers,t.layers,1)||t.layerBounds.some((I,R)=>!Ro(I,_.layerBounds[R]))||t.allLayersLoaded!==_.allLayersLoaded||t.layers.some(I=>I.props.transitions);if(this.channels[f]=t,w){this.lastViewport=o;let I=this.collisionFBOs[f];this.collisionFilterPass.renderCollisionMap(I,{pass:\"collision-filter\",isPicking:!0,layers:t.layers,effects:r,layerFilter:i,viewports:o?[o]:[],onViewportActive:s,views:n,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:El(I.gl)/eB}})}}_groupByCollisionGroup(t,r){let i={};for(let s of r){let{collisionGroup:n}=s.props,o=i[n];o||(o={collisionGroup:n,layers:[],layerBounds:[],allLayersLoaded:!0},i[n]=o),o.layers.push(s),o.layerBounds.push(s.getBounds()),s.isLoaded||(o.allLayersLoaded=!1)}for(let s of Object.keys(i))this.collisionFBOs[s]||this.createFBO(t,s),this.channels[s]||(this.channels[s]=i[s]);for(let s of Object.keys(this.collisionFBOs))i[s]||this.destroyFBO(s);return i}getModuleParameters(t){let{collisionGroup:r}=t.props,{collisionFBOs:i,dummyCollisionMap:s}=this;return{collisionFBO:i[r],dummyCollisionMap:s}}cleanup(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(let t of Object.keys(this.collisionFBOs))this.destroyFBO(t);this.collisionFBOs={},this.lastViewport=void 0}createFBO(t,r){let{width:i,height:s}=t.canvas,n=new pi(t,{width:i,height:s,parameters:{10241:9728,10240:9728,10242:33071,10243:33071}}),o=new el(t,{format:33189,width:i,height:s});this.collisionFBOs[r]=new yi(t,{id:\"Collision-\".concat(r),width:i,height:s,attachments:{36064:n,36096:o}})}destroyFBO(t){let r=this.collisionFBOs[t];for(let i of Object.values(r.attachments))i.delete();r.delete(),delete this.collisionFBOs[t]}};var Ndt={getCollisionPriority:{type:\"accessor\",value:0},collisionEnabled:!0,collisionGroup:{type:\"string\",value:\"default\"},collisionTestProps:{}},wm=class extends cc{getShaders(){return{modules:[QH]}}draw({uniforms:t,context:r,moduleParameters:i}){let{collisionEnabled:s}=this.props,{collisionFBO:n,drawToCollisionMap:o}=i,c=s&&!!n;t.collision_enabled=c,o&&(this.props=this.clone(this.props.collisionTestProps).props)}initializeState(t,r){var i;if(this.getAttributeManager()===null)return;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new N2),this.getAttributeManager().add({collisionPriorities:{size:1,accessor:\"getCollisionPriority\",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}getNeedsPickingBuffer(){return this.props.collisionEnabled}};G(wm,\"defaultProps\",Ndt);G(wm,\"extensionName\",\"CollisionFilterExtension\");var Ng=class extends zg{static extensionType;constructor(t,r){super(t,r)}},U2=class extends Ng{static extensionType=\"brushing\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new vm,r.initRegularAttribute(\"brushing_enabled\",\"brushingEnabled\"),r.initRegularAttribute(\"brushing_target\",\"brushingTarget\"),r.initRegularAttribute(\"brushing_radius\",\"brushingRadius\"),r.initVectorizedAccessor(\"get_brushing_target\",\"getBrushingTarget\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"brushingEnabled\",\"brushingTarget\",\"brushingRadius\",\"getBrushingTarget\"]}},V2=class extends Ng{static extensionType=\"collision-filter\";extensionInstance;constructor(t,r,i){super(t,i),this.extensionInstance=new wm,r.initRegularAttribute(\"collision_enabled\",\"collisionEnabled\"),r.initRegularAttribute(\"collision_group\",\"collisionGroup\"),r.initRegularAttribute(\"collision_test_props\",\"collisionTestProps\"),r.initVectorizedAccessor(\"get_collision_priority\",\"getCollisionPriority\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"collisionEnabled\",\"collisionGroup\",\"collisionTestProps\",\"getCollisionPriority\"]}},k3=class extends Ng{static extensionType=\"data-filter\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"filter_size\");this.extensionInstance=new xm({filterSize:s}),r.initRegularAttribute(\"filter_enabled\",\"filterEnabled\"),r.initRegularAttribute(\"filter_range\",\"filterRange\"),r.initRegularAttribute(\"filter_soft_range\",\"filterSoftRange\"),r.initRegularAttribute(\"filter_transform_size\",\"filterTransformSize\"),r.initRegularAttribute(\"filter_transform_color\",\"filterTransformColor\"),r.initVectorizedAccessor(\"get_filter_value\",\"getFilterValue\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"filterEnabled\",\"filterRange\",\"filterSoftRange\",\"filterTransformSize\",\"filterTransformColor\",\"getFilterValue\"]}},j2=class extends Ng{static extensionType=\"path-style\";extensionInstance;constructor(t,r,i){super(t,i);let s=this.model.get(\"dash\"),n=this.model.get(\"high_precision_dash\"),o=this.model.get(\"offset\");this.extensionInstance=new bm({...Jt(s)?{dash:s}:{},...Jt(n)?{highPrecisionDash:n}:{},...Jt(o)?{offset:o}:{}}),r.initRegularAttribute(\"dash_gap_pickable\",\"dashGapPickable\"),r.initRegularAttribute(\"dash_justified\",\"dashJustified\"),r.initVectorizedAccessor(\"get_dash_array\",\"getDashArray\"),r.initVectorizedAccessor(\"get_offset\",\"getOffset\"),r.extensionLayerPropertyNames=[...r.extensionLayerPropertyNames,\"dashGapPickable\",\"dashJustified\",\"getDashArray\",\"getOffset\"]}};async function rB(e,t,r){let i=e.get(\"_extension_type\"),s;switch(i){case U2.extensionType:s=new U2(e,t,r);break;case V2.extensionType:s=new V2(e,t,r);break;case k3.extensionType:s=new k3(e,t,r);break;case j2.extensionType:s=new j2(e,t,r);break;default:throw new Error(`no known model for extension type ${i}`)}return await s.loadSubModels(),s}var Ug=class extends zg{pickable;visible;opacity;autoHighlight;extensions;extensionLayerPropertyNames=[];constructor(t,r){super(t,r),this.initRegularAttribute(\"pickable\",\"pickable\"),this.initRegularAttribute(\"visible\",\"visible\"),this.initRegularAttribute(\"opacity\",\"opacity\"),this.initRegularAttribute(\"auto_highlight\",\"autoHighlight\"),this.extensions=[]}async loadSubModels(){await this.initLayerExtensions()}extensionInstances(){return this.extensions.map(t=>t.extensionInstance)}extensionProps(){let t={};for(let r of this.extensionLayerPropertyNames)Jt(this[r])&&(t[r]=this[r]);return t}onClick(t){t.index&&(this.model.set(\"selected_index\",t.index),this.model.save_changes())}baseLayerProps(){return{extensions:this.extensionInstances(),...this.extensionProps(),id:this.model.model_id,pickable:this.pickable,visible:this.visible,opacity:this.opacity,autoHighlight:this.autoHighlight,onClick:this.onClick.bind(this)}}async initLayerExtensions(){let t=async()=>{let r=this.model.get(\"extensions\");if(!r){this.extensions=[];return}let i=await L3(this.model.widget_manager,r),s=[];for(let n of i){let o=await rB(n,this,this.updateStateCallback);s.push(o)}this.extensions=s};await t(),this.model.off(\"change:extensions\"),this.model.on(\"change:extensions\",t),this.callbacks.set(\"change:extensions\",t)}};var JH=`#define SHADER_NAME arc-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec4 instanceSourceColors;\nattribute vec4 instanceTargetColors;\nattribute vec3 instanceSourcePositions;\nattribute vec3 instanceSourcePositions64Low;\nattribute vec3 instanceTargetPositions;\nattribute vec3 instanceTargetPositions64Low;\nattribute vec3 instancePickingColors;\nattribute float instanceWidths;\nattribute float instanceHeights;\nattribute float instanceTilts;\n\nuniform bool greatCircle;\nuniform bool useShortestPath;\nuniform float numSegments;\nuniform float opacity;\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform int widthUnits;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nfloat paraboloid(float distance, float sourceZ, float targetZ, float ratio) {\n\n float deltaZ = targetZ - sourceZ;\n float dh = distance * instanceHeights;\n if (dh == 0.0) {\n return sourceZ + deltaZ * ratio;\n }\n float unitZ = deltaZ / dh;\n float p2 = unitZ * unitZ + 1.0;\n float dir = step(deltaZ, 0.0);\n float z0 = mix(sourceZ, targetZ, dir);\n float r = mix(ratio, 1.0 - ratio, dir);\n return sqrt(r * (p2 - r)) * dh + z0;\n}\nvec2 getExtrusionOffset(vec2 line_clipspace, float offset_direction, float width) {\n vec2 dir_screenspace = normalize(line_clipspace * project_uViewportSize);\n dir_screenspace = vec2(-dir_screenspace.y, dir_screenspace.x);\n\n return dir_screenspace * offset_direction * width / 2.0;\n}\n\nfloat getSegmentRatio(float index) {\n return smoothstep(0.0, 1.0, index / (numSegments - 1.0));\n}\n\nvec3 interpolateFlat(vec3 source, vec3 target, float segmentRatio) {\n float distance = length(source.xy - target.xy);\n float z = paraboloid(distance, source.z, target.z, segmentRatio);\n\n float tiltAngle = radians(instanceTilts);\n vec2 tiltDirection = normalize(target.xy - source.xy);\n vec2 tilt = vec2(-tiltDirection.y, tiltDirection.x) * z * sin(tiltAngle);\n\n return vec3(\n mix(source.xy, target.xy, segmentRatio) + tilt,\n z * cos(tiltAngle)\n );\n}\nfloat getAngularDist (vec2 source, vec2 target) {\n vec2 sourceRadians = radians(source);\n vec2 targetRadians = radians(target);\n vec2 sin_half_delta = sin((sourceRadians - targetRadians) / 2.0);\n vec2 shd_sq = sin_half_delta * sin_half_delta;\n\n float a = shd_sq.y + cos(sourceRadians.y) * cos(targetRadians.y) * shd_sq.x;\n return 2.0 * asin(sqrt(a));\n}\n\nvec3 interpolateGreatCircle(vec3 source, vec3 target, vec3 source3D, vec3 target3D, float angularDist, float t) {\n vec2 lngLat;\n if(abs(angularDist - PI) < 0.001) {\n lngLat = (1.0 - t) * source.xy + t * target.xy;\n } else {\n float a = sin((1.0 - t) * angularDist);\n float b = sin(t * angularDist);\n vec3 p = source3D.yxz * a + target3D.yxz * b;\n lngLat = degrees(vec2(atan(p.y, -p.x), atan(p.z, length(p.xy))));\n }\n\n float z = paraboloid(angularDist * EARTH_RADIUS, source.z, target.z, t);\n\n return vec3(lngLat, z);\n}\n\nvoid main(void) {\n geometry.worldPosition = instanceSourcePositions;\n geometry.worldPositionAlt = instanceTargetPositions;\n\n float segmentIndex = positions.x;\n float segmentRatio = getSegmentRatio(segmentIndex);\n float prevSegmentRatio = getSegmentRatio(max(0.0, segmentIndex - 1.0));\n float nextSegmentRatio = getSegmentRatio(min(numSegments - 1.0, segmentIndex + 1.0));\n float indexDir = mix(-1.0, 1.0, step(segmentIndex, 0.0));\n isValid = 1.0;\n\n uv = vec2(segmentRatio, positions.y);\n geometry.uv = uv;\n geometry.pickingColor = instancePickingColors;\n\n vec4 curr;\n vec4 next;\n vec3 source;\n vec3 target;\n\n if ((greatCircle || project_uProjectionMode == PROJECTION_MODE_GLOBE) && project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT) {\n source = project_globe_(vec3(instanceSourcePositions.xy, 0.0));\n target = project_globe_(vec3(instanceTargetPositions.xy, 0.0));\n float angularDist = getAngularDist(instanceSourcePositions.xy, instanceTargetPositions.xy);\n\n vec3 prevPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, prevSegmentRatio);\n vec3 currPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, segmentRatio);\n vec3 nextPos = interpolateGreatCircle(instanceSourcePositions, instanceTargetPositions, source, target, angularDist, nextSegmentRatio);\n\n if (abs(currPos.x - prevPos.x) > 180.0) {\n indexDir = -1.0;\n isValid = 0.0;\n } else if (abs(currPos.x - nextPos.x) > 180.0) {\n indexDir = 1.0;\n isValid = 0.0;\n }\n nextPos = indexDir < 0.0 ? prevPos : nextPos;\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n\n if (isValid == 0.0) {\n nextPos.x += nextPos.x > 0.0 ? -360.0 : 360.0;\n float t = ((currPos.x > 0.0 ? 180.0 : -180.0) - currPos.x) / (nextPos.x - currPos.x);\n currPos = mix(currPos, nextPos, t);\n segmentRatio = mix(segmentRatio, nextSegmentRatio, t);\n }\n\n vec3 currPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, segmentRatio);\n vec3 nextPos64Low = mix(instanceSourcePositions64Low, instanceTargetPositions64Low, nextSegmentRatio);\n \n curr = project_position_to_clipspace(currPos, currPos64Low, vec3(0.0), geometry.position);\n next = project_position_to_clipspace(nextPos, nextPos64Low, vec3(0.0));\n \n } else {\n vec3 source_world = instanceSourcePositions;\n vec3 target_world = instanceTargetPositions;\n if (useShortestPath) {\n source_world.x = mod(source_world.x + 180., 360.0) - 180.;\n target_world.x = mod(target_world.x + 180., 360.0) - 180.;\n\n float deltaLng = target_world.x - source_world.x;\n if (deltaLng > 180.) target_world.x -= 360.;\n if (deltaLng < -180.) source_world.x -= 360.;\n }\n source = project_position(source_world, instanceSourcePositions64Low);\n target = project_position(target_world, instanceTargetPositions64Low);\n float antiMeridianX = 0.0;\n\n if (useShortestPath) {\n if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {\n antiMeridianX = -(project_uCoordinateOrigin.x + 180.) / 360. * TILE_SIZE;\n }\n float thresholdRatio = (antiMeridianX - source.x) / (target.x - source.x);\n\n if (prevSegmentRatio <= thresholdRatio && nextSegmentRatio > thresholdRatio) {\n isValid = 0.0;\n indexDir = sign(segmentRatio - thresholdRatio);\n segmentRatio = thresholdRatio;\n }\n }\n\n nextSegmentRatio = indexDir < 0.0 ? prevSegmentRatio : nextSegmentRatio;\n vec3 currPos = interpolateFlat(source, target, segmentRatio);\n vec3 nextPos = interpolateFlat(source, target, nextSegmentRatio);\n\n if (useShortestPath) {\n if (nextPos.x < antiMeridianX) {\n currPos.x += TILE_SIZE;\n nextPos.x += TILE_SIZE;\n }\n }\n\n curr = project_common_position_to_clipspace(vec4(currPos, 1.0));\n next = project_common_position_to_clipspace(vec4(nextPos, 1.0));\n geometry.position = vec4(currPos, 1.0);\n }\n float widthPixels = clamp(\n project_size_to_pixel(instanceWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels\n );\n vec3 offset = vec3(\n getExtrusionOffset((next.xy - curr.xy) * indexDir, positions.y, widthPixels),\n 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n DECKGL_FILTER_GL_POSITION(curr, geometry);\n gl_Position = curr + vec4(project_pixel_size_to_clipspace(offset.xy), 0.0, 0.0);\n\n vec4 color = mix(instanceSourceColors, instanceTargetColors, segmentRatio);\n vColor = vec4(color.rgb, color.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var tq=`#define SHADER_NAME arc-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 uv;\nvarying float isValid;\n\nvoid main(void) {\n if (isValid == 0.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n geometry.uv = uv;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var R3=[0,0,0,255],Udt={getSourcePosition:{type:\"accessor\",value:e=>e.sourcePosition},getTargetPosition:{type:\"accessor\",value:e=>e.targetPosition},getSourceColor:{type:\"accessor\",value:R3},getTargetColor:{type:\"accessor\",value:R3},getWidth:{type:\"accessor\",value:1},getHeight:{type:\"accessor\",value:1},getTilt:{type:\"accessor\",value:0},greatCircle:!1,numSegments:{type:\"number\",value:50,min:1},widthUnits:\"pixels\",widthScale:{type:\"number\",value:1,min:0},widthMinPixels:{type:\"number\",value:0,min:0},widthMaxPixels:{type:\"number\",value:Number.MAX_SAFE_INTEGER,min:0}},Tp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getBounds(){var t;return(t=this.getAttributeManager())===null||t===void 0?void 0:t.getBounds([\"instanceSourcePositions\",\"instanceTargetPositions\"])}getShaders(){return super.getShaders({vs:JH,fs:tq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({instanceSourcePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getSourcePosition\"},instanceTargetPositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getTargetPosition\"},instanceSourceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getSourceColor\",defaultValue:R3},instanceTargetColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getTargetColor\",defaultValue:R3},instanceWidths:{size:1,transition:!0,accessor:\"getWidth\",defaultValue:1},instanceHeights:{size:1,transition:!0,accessor:\"getHeight\",defaultValue:1},instanceTilts:{size:1,transition:!0,accessor:\"getTilt\",defaultValue:0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t;if(s.extensionsChanged||s.propsChanged&&r.numSegments!==i.numSegments){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{widthUnits:r,widthScale:i,widthMinPixels:s,widthMaxPixels:n,greatCircle:o,wrapLongitude:c}=this.props;this.state.model.setUniforms(t).setUniforms({greatCircle:o,widthUnits:po[r],widthScale:i,widthMinPixels:s,widthMaxPixels:n,useShortestPath:c}).draw()}_getModel(t){let{id:r,numSegments:i}=this.props,s=[];for(let o=0;o0&&j>0&&(c[I++]=w-n,c[I++]=w-n-1,c[I++]=w-1,c[I++]=w-n,c[I++]=w-1,c[I++]=w),w++}}return{vertexCount:o,positions:_,indices:c,texCoords:f}}function Gdt(e){let t=new Float64Array(12);for(let r=0;r 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n`;var Hdt=`\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n`,rq=`\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n if (transparentColor.a == 0.0) {\n return vec4(color, alpha);\n }\n float blendedAlpha = alpha + transparentColor.a * (1.0 - alpha);\n float highLightRatio = alpha / blendedAlpha;\n vec3 blendedRGB = mix(transparentColor.rgb, color, highLightRatio);\n return vec4(blendedRGB, blendedAlpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n`.concat(Hdt,`\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n`);var qdt={image:{type:\"image\",value:null,async:!0},bounds:{type:\"array\",value:[1,0,0,1],compare:!0},_imageCoordinateSystem:Yr.DEFAULT,desaturate:{type:\"number\",min:0,max:1,value:0},transparentColor:{type:\"color\",value:[0,0,0,0]},tintColor:{type:\"color\",value:[255,255,255]},textureParameters:{type:\"object\",ignore:!0}},Mp=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:eq,fs:rq,modules:[Rs,Ao]})}initializeState(){let t=this.getAttributeManager();t.remove([\"instancePickingColors\"]);let r=!0;t.add({indices:{size:1,isIndexed:!0,update:i=>i.value=this.state.mesh.indices,noAlloc:r},positions:{size:3,type:5130,fp64:this.use64bitPositions(),update:i=>i.value=this.state.mesh.positions,noAlloc:r},texCoords:{size:2,update:i=>i.value=this.state.mesh.texCoords,noAlloc:r}})}updateState({props:t,oldProps:r,changeFlags:i}){let s=this.getAttributeManager();if(i.extensionsChanged){var n;let{gl:o}=this.context;(n=this.state.model)===null||n===void 0||n.delete(),this.state.model=this._getModel(o),s.invalidateAll()}if(t.bounds!==r.bounds){let o=this.state.mesh,c=this._createMesh();this.state.model.setVertexCount(c.vertexCount);for(let f in c)o&&o[f]!==c[f]&&s.invalidate(f);this.setState({mesh:c,...this._getCoordinateUniforms()})}else t._imageCoordinateSystem!==r._imageCoordinateSystem&&this.setState(this._getCoordinateUniforms())}getPickingInfo(t){let{image:r}=this.props,i=t.info;if(!i.color||!r)return i.bitmap=null,i;let{width:s,height:n}=r;i.index=0;let o=Zdt(i.color),c=[Math.floor(o[0]*s),Math.floor(o[1]*n)];return i.bitmap={size:{width:s,height:n},uv:o,pixel:c},i}disablePickingIndex(){this.setState({disablePicking:!0})}restorePickingColors(){this.setState({disablePicking:!1})}_updateAutoHighlight(t){super._updateAutoHighlight({...t,color:this.encodePickingColor(0)})}_createMesh(){let{bounds:t}=this.props,r=t;return iq(t)&&(r=[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]]]),iB(r,this.context.viewport.resolution)}_getModel(t){return t?new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,vertexCount:6}),isInstanced:!1}):null}draw(t){let{uniforms:r,moduleParameters:i}=t,{model:s,coordinateConversion:n,bounds:o,disablePicking:c}=this.state,{image:f,desaturate:_,transparentColor:w,tintColor:I}=this.props;i.pickingActive&&c||f&&s&&s.setUniforms(r).setUniforms({bitmapTexture:f,desaturate:_,transparentColor:w.map(R=>R/255),tintColor:I.slice(0,3).map(R=>R/255),coordinateConversion:n,bounds:o}).draw()}_getCoordinateUniforms(){let{LNGLAT:t,CARTESIAN:r,DEFAULT:i}=Yr,{_imageCoordinateSystem:s}=this.props;if(s!==i){let{bounds:n}=this.props;if(!iq(n))throw new Error(\"_imageCoordinateSystem only supports rectangular bounds\");let o=this.context.viewport.resolution?t:r;if(s=s===t?t:r,s===t&&o===r)return{coordinateConversion:-1,bounds:n};if(s===r&&o===t){let c=va([n[0],n[1]]),f=va([n[2],n[3]]);return{coordinateConversion:1,bounds:[c[0],c[1],f[0],f[1]]}}}return{coordinateConversion:0,bounds:[0,0,0,0]}}};G(Mp,\"layerName\",\"BitmapLayer\");G(Mp,\"defaultProps\",qdt);function Zdt(e){let[t,r,i]=e,s=(i&240)/256,n=(i&15)/16;return[(t+n)/256,(r+s)/256]}function iq(e){return Number.isFinite(e[0])}var nq=`#define SHADER_NAME icon-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\nattribute vec4 instanceIconFrames;\nattribute float instanceColorModes;\nattribute vec2 instanceOffsets;\nattribute vec2 instancePixelOffset;\n\nuniform float sizeScale;\nuniform vec2 iconsTextureDim;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform bool billboard;\nuniform int sizeUnits;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = angle * PI / 180.0;\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n\n vec2 iconSize = instanceIconFrames.zw;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits), \n sizeMinPixels, sizeMaxPixels\n );\n float instanceScale = iconSize.y == 0.0 ? 0.0 : sizePixels / iconSize.y;\n vec2 pixelOffset = positions / 2.0 * iconSize + instanceOffsets;\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles) * instanceScale;\n pixelOffset += instancePixelOffset;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position); \n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n\n vTextureCoords = mix(\n instanceIconFrames.xy,\n instanceIconFrames.xy + iconSize,\n (positions.xy + 1.0) / 2.0\n ) / iconsTextureDim;\n\n vColor = instanceColors;\n DECKGL_FILTER_COLOR(vColor, geometry);\n\n vColorMode = instanceColorModes;\n}\n`;var sq=`#define SHADER_NAME icon-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D iconsTexture;\nuniform float alphaCutoff;\n\nvarying float vColorMode;\nvarying vec4 vColor;\nvarying vec2 vTextureCoords;\nvarying vec2 uv;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec4 texColor = texture2D(iconsTexture, vTextureCoords);\n vec3 color = mix(texColor.rgb, vColor.rgb, vColorMode);\n float a = texColor.a * opacity * vColor.a;\n\n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color, a);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Ydt=1024,Qdt=4,oq=()=>{},aq={10241:9987,10240:9729,10242:33071,10243:33071};function $dt(e){return Math.pow(2,Math.ceil(Math.log2(e)))}function Xdt(e,t,r,i){let s=Math.min(r/t.width,i/t.height),n=Math.floor(t.width*s),o=Math.floor(t.height*s);return s===1?{data:t,width:n,height:o}:(e.canvas.height=o,e.canvas.width=n,e.clearRect(0,0,n,o),e.drawImage(t,0,0,t.width,t.height,0,0,n,o),{data:e.canvas,width:n,height:o})}function G2(e){return e&&(e.id||e.url)}function Kdt(e,t,r,i){let s=e.width,n=e.height,o=new pi(e.gl,{width:t,height:r,parameters:i});return gE(e,o,{targetY:0,width:s,height:n}),e.delete(),o}function lq(e,t,r){for(let i=0;io&&(lq(r,c,s),i=0,s=n+s+t,n=0,c=[]),c.push({icon:_,xOffset:i}),i=i+R+t,n=Math.max(n,I)}}return c.length>0&&lq(r,c,s),{mapping:r,rowHeight:n,xOffset:i,yOffset:s,canvasWidth:o,canvasHeight:$dt(n+s+t)}}function tpt(e,t,r){if(!e||!t)return null;r=r||{};let i={},{iterable:s,objectInfo:n}=Jc(e);for(let o of s){n.index++;let c=t(o,n),f=G2(c);if(!c)throw new Error(\"Icon is missing.\");if(!c.url)throw new Error(\"Icon url is missing.\");!i[f]&&(!r[f]||c.url!==r[f].url)&&(i[f]={...c,source:o,sourceIndex:n.index})}return i}var W2=class{constructor(t,{onUpdate:r=oq,onError:i=oq}){G(this,\"gl\",void 0),G(this,\"onUpdate\",void 0),G(this,\"onError\",void 0),G(this,\"_loadOptions\",null),G(this,\"_texture\",null),G(this,\"_externalTexture\",null),G(this,\"_mapping\",{}),G(this,\"_textureParameters\",null),G(this,\"_pendingCount\",0),G(this,\"_autoPacking\",!1),G(this,\"_xOffset\",0),G(this,\"_yOffset\",0),G(this,\"_rowHeight\",0),G(this,\"_buffer\",Qdt),G(this,\"_canvasWidth\",Ydt),G(this,\"_canvasHeight\",0),G(this,\"_canvas\",null),this.gl=t,this.onUpdate=r,this.onError=i}finalize(){var t;(t=this._texture)===null||t===void 0||t.delete()}getTexture(){return this._texture||this._externalTexture}getIconMapping(t){let r=this._autoPacking?G2(t):t;return this._mapping[r]||{}}setProps({loadOptions:t,autoPacking:r,iconAtlas:i,iconMapping:s,textureParameters:n}){if(t&&(this._loadOptions=t),r!==void 0&&(this._autoPacking=r),s&&(this._mapping=s),i){var o;(o=this._texture)===null||o===void 0||o.delete(),this._texture=null,this._externalTexture=i}n&&(this._textureParameters=n)}get isLoaded(){return this._pendingCount===0}packIcons(t,r){if(!this._autoPacking||typeof document>\"u\")return;let i=Object.values(tpt(t,r,this._mapping)||{});if(i.length>0){let{mapping:s,xOffset:n,yOffset:o,rowHeight:c,canvasHeight:f}=Jdt({icons:i,buffer:this._buffer,canvasWidth:this._canvasWidth,mapping:this._mapping,rowHeight:this._rowHeight,xOffset:this._xOffset,yOffset:this._yOffset});this._rowHeight=c,this._mapping=s,this._xOffset=n,this._yOffset=o,this._canvasHeight=f,this._texture||(this._texture=new pi(this.gl,{width:this._canvasWidth,height:this._canvasHeight,parameters:this._textureParameters||aq})),this._texture.height!==this._canvasHeight&&(this._texture=Kdt(this._texture,this._canvasWidth,this._canvasHeight,this._textureParameters||aq)),this.onUpdate(),this._canvas=this._canvas||document.createElement(\"canvas\"),this._loadIcons(i)}}_loadIcons(t){let r=this._canvas.getContext(\"2d\",{willReadFrequently:!0});for(let i of t)this._pendingCount++,jA(i.url,this._loadOptions).then(s=>{let n=G2(i),o=this._mapping[n],{x:c,y:f,width:_,height:w}=o,{data:I,width:R,height:N}=Xdt(r,s,_,w);this._texture.setSubImageData({data:I,x:c+(_-R)/2,y:f+(w-N)/2,width:R,height:N}),o.width=R,o.height=N,this._texture.generateMipmap(),this.onUpdate()}).catch(s=>{this.onError({url:i.url,source:i.source,sourceIndex:i.sourceIndex,loadOptions:this._loadOptions,error:s})}).finally(()=>{this._pendingCount--})}};var cq=[0,0,0,255],ept={iconAtlas:{type:\"image\",value:null,async:!0},iconMapping:{type:\"object\",value:{},async:!0},sizeScale:{type:\"number\",value:1,min:0},billboard:!0,sizeUnits:\"pixels\",sizeMinPixels:{type:\"number\",min:0,value:0},sizeMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},alphaCutoff:{type:\"number\",value:.05,min:0,max:1},getPosition:{type:\"accessor\",value:e=>e.position},getIcon:{type:\"accessor\",value:e=>e.icon},getColor:{type:\"accessor\",value:cq},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},onIconError:{type:\"function\",value:null,optional:!0},textureParameters:{type:\"object\",ignore:!0}},Ep=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:nq,fs:sq,modules:[Rs,Ao]})}initializeState(){this.state={iconManager:new W2(this.context.gl,{onUpdate:this._onUpdate.bind(this),onError:this._onError.bind(this)})},this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceOffsets:{size:2,accessor:\"getIcon\",transform:this.getInstanceOffset},instanceIconFrames:{size:4,accessor:\"getIcon\",transform:this.getInstanceIconFrame},instanceColorModes:{size:1,type:5121,accessor:\"getIcon\",transform:this.getInstanceColorMode},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:cq},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instancePixelOffset:{size:2,transition:!0,accessor:\"getPixelOffset\"}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=this.getAttributeManager(),{iconAtlas:o,iconMapping:c,data:f,getIcon:_,textureParameters:w}=r,{iconManager:I}=this.state,R=o||this.internalState.isAsyncPropLoading(\"iconAtlas\");if(I.setProps({loadOptions:r.loadOptions,autoPacking:!R,iconAtlas:o,iconMapping:R?c:null,textureParameters:w}),R?i.iconMapping!==r.iconMapping&&n.invalidate(\"getIcon\"):(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getIcon))&&I.packIcons(f,_),s.extensionsChanged){var N;let{gl:j}=this.context;(N=this.state.model)===null||N===void 0||N.delete(),this.state.model=this._getModel(j),n.invalidateAll()}}get isLoaded(){return super.isLoaded&&this.state.iconManager.isLoaded}finalizeState(t){super.finalizeState(t),this.state.iconManager.finalize()}draw({uniforms:t}){let{sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,sizeUnits:n,billboard:o,alphaCutoff:c}=this.props,{iconManager:f}=this.state,_=f.getTexture();_&&this.state.model.setUniforms(t).setUniforms({iconsTexture:_,iconsTextureDim:[_.width,_.height],sizeUnits:po[n],sizeScale:r,sizeMinPixels:i,sizeMaxPixels:s,billboard:o,alphaCutoff:c}).draw()}_getModel(t){let r=[-1,-1,-1,1,1,1,1,-1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}_onUpdate(){this.setNeedsRedraw()}_onError(t){var r;let i=(r=this.getCurrentLayer())===null||r===void 0?void 0:r.props.onIconError;i?i(t):or.error(t.error.message)()}getInstanceOffset(t){let{width:r,height:i,anchorX:s=r/2,anchorY:n=i/2}=this.state.iconManager.getIconMapping(t);return[r/2-s,i/2-n]}getInstanceColorMode(t){return this.state.iconManager.getIconMapping(t).mask?1:0}getInstanceIconFrame(t){let{x:r,y:i,width:s,height:n}=this.state.iconManager.getIconMapping(t);return[r,i,s,n]}};G(Ep,\"defaultProps\",ept);G(Ep,\"layerName\",\"IconLayer\");var uq=`#define SHADER_NAME point-cloud-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 instanceNormals;\nattribute vec4 instanceColors;\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusPixels;\nuniform int sizeUnits;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.normal = project_normal(instanceNormals);\n unitPosition = positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n vec3 offset = vec3(positions.xy * project_size_to_pixel(radiusPixels, sizeUnits), 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n vec3 lightColor = lighting_getLightColor(instanceColors.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, instanceColors.a * opacity);\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var hq=`#define SHADER_NAME point-cloud-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\nvarying vec2 unitPosition;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition);\n\n if (distToCenter > 1.0) {\n discard;\n }\n\n gl_FragColor = vColor;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var fq=[0,0,0,255],dq=[0,0,1],rpt={sizeUnits:\"pixels\",pointSize:{type:\"number\",min:0,value:10},getPosition:{type:\"accessor\",value:e=>e.position},getNormal:{type:\"accessor\",value:dq},getColor:{type:\"accessor\",value:fq},material:!0,radiusPixels:{deprecatedFor:\"pointSize\"}};function ipt(e){let{header:t,attributes:r}=e;!t||!r||(e.length=t.vertexCount,r.POSITION&&(r.instancePositions=r.POSITION),r.NORMAL&&(r.instanceNormals=r.NORMAL),r.COLOR_0&&(r.instanceColors=r.COLOR_0))}var Pp=class extends dn{getShaders(){return super.getShaders({vs:uq,fs:hq,modules:[Rs,Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceNormals:{size:3,transition:!0,accessor:\"getNormal\",defaultValue:dq},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getColor\",defaultValue:fq}})}updateState(t){let{changeFlags:r,props:i}=t;if(super.updateState(t),r.extensionsChanged){var s;let{gl:n}=this.context;(s=this.state.model)===null||s===void 0||s.delete(),this.state.model=this._getModel(n),this.getAttributeManager().invalidateAll()}r.dataChanged&&ipt(i.data)}draw({uniforms:t}){let{pointSize:r,sizeUnits:i}=this.props;this.state.model.setUniforms(t).setUniforms({sizeUnits:po[i],radiusPixels:r}).draw()}_getModel(t){let r=[];for(let i=0;i<3;i++){let s=i/3*Math.PI*2;r.push(Math.cos(s)*2,Math.sin(s)*2,0)}return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:4,attributes:{positions:new Float32Array(r)}}),isInstanced:!0})}};G(Pp,\"layerName\",\"PointCloudLayer\");G(Pp,\"defaultProps\",rpt);var pq=`#define SHADER_NAME scatterplot-layer-vertex-shader\n\nattribute vec3 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute float instanceRadius;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform float opacity;\nuniform float radiusScale;\nuniform float radiusMinPixels;\nuniform float radiusMaxPixels;\nuniform float lineWidthScale;\nuniform float lineWidthMinPixels;\nuniform float lineWidthMaxPixels;\nuniform float stroked;\nuniform bool filled;\nuniform bool antialiasing;\nuniform bool billboard;\nuniform int radiusUnits;\nuniform int lineWidthUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n outerRadiusPixels = clamp(\n project_size_to_pixel(radiusScale * instanceRadius, radiusUnits),\n radiusMinPixels, radiusMaxPixels\n );\n float lineWidthPixels = clamp(\n project_size_to_pixel(lineWidthScale * instanceLineWidths, lineWidthUnits),\n lineWidthMinPixels, lineWidthMaxPixels\n );\n outerRadiusPixels += stroked * lineWidthPixels / 2.0;\n float edgePadding = antialiasing ? (outerRadiusPixels + SMOOTH_EDGE_RADIUS) / outerRadiusPixels : 1.0;\n unitPosition = edgePadding * positions.xy;\n geometry.uv = unitPosition;\n geometry.pickingColor = instancePickingColors;\n\n innerUnitRadius = 1.0 - stroked * lineWidthPixels / outerRadiusPixels;\n \n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = edgePadding * positions * outerRadiusPixels;\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset = edgePadding * positions * project_pixel_size(outerRadiusPixels);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var Aq=`#define SHADER_NAME scatterplot-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool filled;\nuniform float stroked;\nuniform bool antialiasing;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying vec2 unitPosition;\nvarying float innerUnitRadius;\nvarying float outerRadiusPixels;\n\nvoid main(void) {\n geometry.uv = unitPosition;\n\n float distToCenter = length(unitPosition) * outerRadiusPixels;\n float inCircle = antialiasing ? \n smoothedge(distToCenter, outerRadiusPixels) : \n step(distToCenter, outerRadiusPixels);\n\n if (inCircle == 0.0) {\n discard;\n }\n\n if (stroked > 0.5) {\n float isLine = antialiasing ? \n smoothedge(innerUnitRadius * outerRadiusPixels, distToCenter) :\n step(innerUnitRadius * outerRadiusPixels, distToCenter);\n\n if (filled) {\n gl_FragColor = mix(vFillColor, vLineColor, isLine);\n } else {\n if (isLine == 0.0) {\n discard;\n }\n gl_FragColor = vec4(vLineColor.rgb, vLineColor.a * isLine);\n }\n } else if (!filled) {\n discard;\n } else {\n gl_FragColor = vFillColor;\n }\n\n gl_FragColor.a *= inCircle;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var mq=[0,0,0,255],npt={radiusUnits:\"meters\",radiusScale:{type:\"number\",min:0,value:1},radiusMinPixels:{type:\"number\",min:0,value:0},radiusMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},lineWidthUnits:\"meters\",lineWidthScale:{type:\"number\",min:0,value:1},lineWidthMinPixels:{type:\"number\",min:0,value:0},lineWidthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},stroked:!1,filled:!0,billboard:!1,antialiasing:!0,getPosition:{type:\"accessor\",value:e=>e.position},getRadius:{type:\"accessor\",value:1},getFillColor:{type:\"accessor\",value:mq},getLineColor:{type:\"accessor\",value:mq},getLineWidth:{type:\"accessor\",value:1},strokeWidth:{deprecatedFor:\"getLineWidth\"},outline:{deprecatedFor:\"stroked\"},getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},Ku=class extends dn{getShaders(){return super.getShaders({vs:pq,fs:Aq,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceRadius:{size:1,transition:!0,accessor:\"getRadius\",defaultValue:1},instanceFillColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:this.props.colorFormat.length,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){if(super.updateState(t),t.changeFlags.extensionsChanged){var r;let{gl:i}=this.context;(r=this.state.model)===null||r===void 0||r.delete(),this.state.model=this._getModel(i),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{radiusUnits:r,radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,stroked:o,filled:c,billboard:f,antialiasing:_,lineWidthUnits:w,lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}=this.props;this.state.model.setUniforms(t).setUniforms({stroked:o?1:0,filled:c,billboard:f,antialiasing:_,radiusUnits:po[r],radiusScale:i,radiusMinPixels:s,radiusMaxPixels:n,lineWidthUnits:po[w],lineWidthScale:I,lineWidthMinPixels:R,lineWidthMaxPixels:N}).draw()}_getModel(t){let r=[-1,-1,0,1,-1,0,1,1,0,-1,1,0];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:3,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Ku,\"defaultProps\",npt);G(Ku,\"layerName\",\"ScatterplotLayer\");var Kv={CLOCKWISE:1,COUNTER_CLOCKWISE:-1};function Vg(e,t,r={}){return gq(e,r)!==t?(spt(e,r),!0):!1}function gq(e,t={}){return Math.sign(D3(e,t))}function D3(e,t={}){let{start:r=0,end:i=e.length}=t,s=t.size||2,n=0;for(let o=r,c=i-s;o0){let s=!0;for(let n=0;nt[2]&&(r|=2),e[1]t[3]&&(r|=8),r}function Z2(e,t){let{size:r=2,broken:i=!1,gridResolution:s=10,gridOffset:n=[0,0],startIndex:o=0,endIndex:c=e.length}=t||{},f=(c-o)/r,_=[],w=[_],I=Sm(e,0,r,o),R,N,j=vq(I,s,n,[]),Q=[];xc(_,I);for(let et=1;etr&&(_=[],w.push(_),xc(_,I)),N=q2(R,j)}xc(_,R),H2(I,R)}return i?w:w[0]}var _q=0,apt=1;function B3(e,t){for(let r=0;r=0?(xc(_,N)&&I.push(Q),ut+=j):I.length&&(I[I.length-1]=_q),H2(et,N),Y=j,K=Q;return[J?{pos:f,types:t&&w}:null,ut?{pos:_,types:t&&I}:null]}function vq(e,t,r,i){let s=Math.floor((e[0]-r[0])/t)*t+r[0],n=Math.floor((e[1]-r[1])/t)*t+r[1];return i[0]=s,i[1]=n,i[2]=s+t,i[3]=n+t,i}function lpt(e,t,r){r&8?(e[1]+=t,e[3]+=t):r&4?(e[1]-=t,e[3]-=t):r&2?(e[0]+=t,e[2]+=t):r&1&&(e[0]-=t,e[2]-=t)}function cpt(e,t,r,i){let s=1/0,n=-1/0,o=1/0,c=-1/0;for(let f=0;fn?_:n,o=wc?w:c}return i[0][0]=s,i[0][1]=o,i[1][0]=n,i[1][1]=c,i}var upt=85.051129;function nB(e,t){let{size:r=2,startIndex:i=0,endIndex:s=e.length,normalize:n=!0}=t||{},o=e.slice(i,s);xq(o,r,0,s-i);let c=Z2(o,{size:r,broken:!0,gridResolution:360,gridOffset:[-180,-180]});if(n)for(let f of c)bq(f,r);return c}function sB(e,t=null,r){let{size:i=2,normalize:s=!0,edgeTypes:n=!1}=r||{};t=t||[];let o=[],c=[],f=0,_=0;for(let I=0;I<=t.length;I++){let R=t[I]||e.length,N=_,j=hpt(e,i,f,R);for(let Q=j;Qs&&(s=c,n=o-1)}return n}function fpt(e,t,r,i,s=upt){let n=e[r],o=e[i-t];if(Math.abs(n-o)>180){let c=Sm(e,0,t,r);c[0]+=Math.round((o-n)/360)*360,xc(e,c),c[1]=Math.sign(c[1])*s,xc(e,c),c[0]=n,xc(e,c)}}function xq(e,t,r,i){let s=e[0],n;for(let o=r;o180||c<-180)&&(n-=Math.round(c/360)*360),e[o]=s=n}}function bq(e,t){let r,i=e.length/t;for(let n=0;n=i),s=s.flatMap(N=>[N[0],N[1]]),Vg(s,Kv.COUNTER_CLOCKWISE));let n=r>0,o=i+1,c=n?o*3+1:i,f=Math.PI*2/i,_=new Uint16Array(n?i*3*2:0),w=new Float32Array(c*3),I=new Float32Array(c*3),R=0;if(n){for(let N=0;N 0.0 && instanceElevations >= 0.0);\n float dotRadius = radius * coverage * shouldRender;\n\n geometry.pickingColor = instancePickingColors;\n vec3 centroidPosition = vec3(instancePositions.xy, instancePositions.z + elevation);\n vec3 centroidPosition64Low = instancePositions64Low;\n vec2 offset = (rotationMatrix * positions.xy * strokeOffsetRatio + offset) * dotRadius;\n if (radiusUnits == UNIT_METERS) {\n offset = project_size(offset);\n }\n vec3 pos = vec3(offset, 0.);\n DECKGL_FILTER_SIZE(pos, geometry);\n\n gl_Position = project_position_to_clipspace(centroidPosition, centroidPosition64Low, pos, geometry.position);\n geometry.normal = project_normal(vec3(rotationMatrix * normals.xy, normals.z));\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n if (extruded && !isStroke) {\n#ifdef FLAT_SHADING\n position_commonspace = geometry.position;\n vColor = vec4(color.rgb, color.a * opacity);\n#else\n vec3 lightColor = lighting_getLightColor(color.rgb, project_uCameraPosition, geometry.position.xyz, geometry.normal);\n vColor = vec4(lightColor, color.a * opacity);\n#endif\n } else {\n vColor = vec4(color.rgb, color.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Sq=`#version 300 es\n#define SHADER_NAME column-layer-fragment-shader\n\nprecision highp float;\n\nuniform vec3 project_uCameraPosition;\nuniform bool extruded;\nuniform bool isStroke;\n\nout vec4 fragColor;\n\nin vec4 vColor;\n#ifdef FLAT_SHADING\nin vec4 position_commonspace;\n#endif\n\nvoid main(void) {\n fragColor = vColor;\n#ifdef FLAT_SHADING\n if (extruded && !isStroke && !picking_uActive) {\n vec3 normal = normalize(cross(dFdx(position_commonspace.xyz), dFdy(position_commonspace.xyz)));\n fragColor.rgb = lighting_getLightColor(vColor.rgb, project_uCameraPosition, position_commonspace.xyz, normal);\n }\n#endif\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n`;var F3=[0,0,0,255],Apt={diskResolution:{type:\"number\",min:4,value:20},vertices:null,radius:{type:\"number\",min:0,value:1e3},angle:{type:\"number\",value:0},offset:{type:\"array\",value:[0,0]},coverage:{type:\"number\",min:0,max:1,value:1},elevationScale:{type:\"number\",min:0,value:1},radiusUnits:\"meters\",lineWidthUnits:\"meters\",lineWidthScale:1,lineWidthMinPixels:0,lineWidthMaxPixels:Number.MAX_SAFE_INTEGER,extruded:!0,wireframe:!1,filled:!0,stroked:!1,getPosition:{type:\"accessor\",value:e=>e.position},getFillColor:{type:\"accessor\",value:F3},getLineColor:{type:\"accessor\",value:F3},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0,getColor:{deprecatedFor:[\"getFillColor\",\"getLineColor\"]}},af=class extends dn{getShaders(){let{gl:t}=this.context,r=!fr(t),i={},s=this.props.flatShading&&$0(t,Ii.GLSL_DERIVATIVES);return s&&(i.FLAT_SHADING=1),super.getShaders({vs:wq,fs:Sq,defines:i,transpileToGLSL100:r,modules:[Rs,s?Ny:Zf,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceElevations:{size:1,transition:!0,accessor:\"getElevation\"},instanceFillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getFillColor\",defaultValue:F3},instanceLineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:!0,accessor:\"getLineColor\",defaultValue:F3},instanceStrokeWidths:{size:1,accessor:\"getLineWidth\",transition:!0}})}updateState(t){super.updateState(t);let{props:r,oldProps:i,changeFlags:s}=t,n=s.extensionsChanged||r.flatShading!==i.flatShading;if(n){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),this.getAttributeManager().invalidateAll()}(n||r.diskResolution!==i.diskResolution||r.vertices!==i.vertices||(r.extruded||r.stroked)!==(i.extruded||i.stroked))&&this._updateGeometry(r)}getGeometry(t,r,i){let s=new Q2({radius:1,height:i?2:0,vertices:r,nradial:t}),n=0;if(r)for(let o=0;o=t.length&&(r+=1-t.length/s);let n=r*s;return i[0]=t[n],i[1]=t[n+1],i[2]=s===3&&t[n+2]||0,i}isClosed(t){if(!this.normalize)return!!this.opts.loop;let{positionSize:r}=this,i=t.length-r;return t[0]===t[i]&&t[1]===t[i+1]&&(r===2||t[2]===t[i+2])}};function Mq(e){return Array.isArray(e[0])}var Eq=`#define SHADER_NAME path-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute float instanceTypes;\nattribute vec3 instanceStartPositions;\nattribute vec3 instanceEndPositions;\nattribute vec3 instanceLeftPositions;\nattribute vec3 instanceRightPositions;\nattribute vec3 instanceLeftPositions64Low;\nattribute vec3 instanceStartPositions64Low;\nattribute vec3 instanceEndPositions64Low;\nattribute vec3 instanceRightPositions64Low;\nattribute float instanceStrokeWidths;\nattribute vec4 instanceColors;\nattribute vec3 instancePickingColors;\n\nuniform float widthScale;\nuniform float widthMinPixels;\nuniform float widthMaxPixels;\nuniform float jointType;\nuniform float capType;\nuniform float miterLimit;\nuniform bool billboard;\nuniform int widthUnits;\n\nuniform float opacity;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nconst float EPSILON = 0.001;\nconst vec3 ZERO_OFFSET = vec3(0.0);\n\nfloat flipIfTrue(bool flag) {\n return -(float(flag) * 2. - 1.);\n}\nvec3 getLineJoinOffset(\n vec3 prevPoint, vec3 currPoint, vec3 nextPoint,\n vec2 width\n) {\n bool isEnd = positions.x > 0.0;\n float sideOfPath = positions.y;\n float isJoint = float(sideOfPath == 0.0);\n\n vec3 deltaA3 = (currPoint - prevPoint);\n vec3 deltaB3 = (nextPoint - currPoint);\n\n mat3 rotationMatrix;\n bool needsRotation = !billboard && project_needs_rotation(currPoint, rotationMatrix);\n if (needsRotation) {\n deltaA3 = deltaA3 * rotationMatrix;\n deltaB3 = deltaB3 * rotationMatrix;\n }\n vec2 deltaA = deltaA3.xy / width;\n vec2 deltaB = deltaB3.xy / width;\n\n float lenA = length(deltaA);\n float lenB = length(deltaB);\n\n vec2 dirA = lenA > 0. ? normalize(deltaA) : vec2(0.0, 0.0);\n vec2 dirB = lenB > 0. ? normalize(deltaB) : vec2(0.0, 0.0);\n\n vec2 perpA = vec2(-dirA.y, dirA.x);\n vec2 perpB = vec2(-dirB.y, dirB.x);\n vec2 tangent = dirA + dirB;\n tangent = length(tangent) > 0. ? normalize(tangent) : perpA;\n vec2 miterVec = vec2(-tangent.y, tangent.x);\n vec2 dir = isEnd ? dirA : dirB;\n vec2 perp = isEnd ? perpA : perpB;\n float L = isEnd ? lenA : lenB;\n float sinHalfA = abs(dot(miterVec, perp));\n float cosHalfA = abs(dot(dirA, miterVec));\n float turnDirection = flipIfTrue(dirA.x * dirB.y >= dirA.y * dirB.x);\n float cornerPosition = sideOfPath * turnDirection;\n\n float miterSize = 1.0 / max(sinHalfA, EPSILON);\n miterSize = mix(\n min(miterSize, max(lenA, lenB) / max(cosHalfA, EPSILON)),\n miterSize,\n step(0.0, cornerPosition)\n );\n\n vec2 offsetVec = mix(miterVec * miterSize, perp, step(0.5, cornerPosition))\n * (sideOfPath + isJoint * turnDirection);\n bool isStartCap = lenA == 0.0 || (!isEnd && (instanceTypes == 1.0 || instanceTypes == 3.0));\n bool isEndCap = lenB == 0.0 || (isEnd && (instanceTypes == 2.0 || instanceTypes == 3.0));\n bool isCap = isStartCap || isEndCap;\n if (isCap) {\n offsetVec = mix(perp * sideOfPath, dir * capType * 4.0 * flipIfTrue(isStartCap), isJoint);\n vJointType = capType;\n } else {\n vJointType = jointType;\n }\n vPathLength = L;\n vCornerOffset = offsetVec;\n vMiterLength = dot(vCornerOffset, miterVec * turnDirection);\n vMiterLength = isCap ? isJoint : vMiterLength;\n\n vec2 offsetFromStartOfPath = vCornerOffset + deltaA * float(isEnd);\n vPathPosition = vec2(\n dot(offsetFromStartOfPath, perp),\n dot(offsetFromStartOfPath, dir)\n );\n geometry.uv = vPathPosition;\n\n float isValid = step(instanceTypes, 3.5);\n vec3 offset = vec3(offsetVec * width * isValid, 0.0);\n\n if (needsRotation) {\n offset = rotationMatrix * offset;\n }\n return offset;\n}\nvoid clipLine(inout vec4 position, vec4 refPosition) {\n if (position.w < EPSILON) {\n float r = (EPSILON - refPosition.w) / (position.w - refPosition.w);\n position = refPosition + (position - refPosition) * r;\n }\n}\n\nvoid main() {\n geometry.pickingColor = instancePickingColors;\n\n vColor = vec4(instanceColors.rgb, instanceColors.a * opacity);\n\n float isEnd = positions.x;\n\n vec3 prevPosition = mix(instanceLeftPositions, instanceStartPositions, isEnd);\n vec3 prevPosition64Low = mix(instanceLeftPositions64Low, instanceStartPositions64Low, isEnd);\n\n vec3 currPosition = mix(instanceStartPositions, instanceEndPositions, isEnd);\n vec3 currPosition64Low = mix(instanceStartPositions64Low, instanceEndPositions64Low, isEnd);\n\n vec3 nextPosition = mix(instanceEndPositions, instanceRightPositions, isEnd);\n vec3 nextPosition64Low = mix(instanceEndPositions64Low, instanceRightPositions64Low, isEnd);\n\n geometry.worldPosition = currPosition;\n vec2 widthPixels = vec2(clamp(\n project_size_to_pixel(instanceStrokeWidths * widthScale, widthUnits),\n widthMinPixels, widthMaxPixels) / 2.0);\n vec3 width;\n\n if (billboard) {\n vec4 prevPositionScreen = project_position_to_clipspace(prevPosition, prevPosition64Low, ZERO_OFFSET);\n vec4 currPositionScreen = project_position_to_clipspace(currPosition, currPosition64Low, ZERO_OFFSET, geometry.position);\n vec4 nextPositionScreen = project_position_to_clipspace(nextPosition, nextPosition64Low, ZERO_OFFSET);\n\n clipLine(prevPositionScreen, currPositionScreen);\n clipLine(nextPositionScreen, currPositionScreen);\n clipLine(currPositionScreen, mix(nextPositionScreen, prevPositionScreen, isEnd));\n\n width = vec3(widthPixels, 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(\n prevPositionScreen.xyz / prevPositionScreen.w,\n currPositionScreen.xyz / currPositionScreen.w,\n nextPositionScreen.xyz / nextPositionScreen.w,\n project_pixel_size_to_clipspace(width.xy)\n );\n\n DECKGL_FILTER_GL_POSITION(currPositionScreen, geometry);\n gl_Position = vec4(currPositionScreen.xyz + offset * currPositionScreen.w, currPositionScreen.w);\n } else {\n prevPosition = project_position(prevPosition, prevPosition64Low);\n currPosition = project_position(currPosition, currPosition64Low);\n nextPosition = project_position(nextPosition, nextPosition64Low);\n\n width = vec3(project_pixel_size(widthPixels), 0.0);\n DECKGL_FILTER_SIZE(width, geometry);\n\n vec3 offset = getLineJoinOffset(prevPosition, currPosition, nextPosition, width.xy);\n geometry.position = vec4(currPosition + offset, 1.0);\n gl_Position = project_common_position_to_clipspace(geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Pq=`#define SHADER_NAME path-layer-fragment-shader\n\nprecision highp float;\n\nuniform float miterLimit;\n\nvarying vec4 vColor;\nvarying vec2 vCornerOffset;\nvarying float vMiterLength;\nvarying vec2 vPathPosition;\nvarying float vPathLength;\nvarying float vJointType;\n\nvoid main(void) {\n geometry.uv = vPathPosition;\n\n if (vPathPosition.y < 0.0 || vPathPosition.y > vPathLength) {\n if (vJointType > 0.5 && length(vCornerOffset) > 1.0) {\n discard;\n }\n if (vJointType < 0.5 && vMiterLength > miterLimit + 1.0) {\n discard;\n }\n }\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Iq=[0,0,0,255],_pt={widthUnits:\"meters\",widthScale:{type:\"number\",min:0,value:1},widthMinPixels:{type:\"number\",min:0,value:0},widthMaxPixels:{type:\"number\",min:0,value:Number.MAX_SAFE_INTEGER},jointRounded:!1,capRounded:!1,miterLimit:{type:\"number\",min:0,value:4},billboard:!1,_pathType:null,getPath:{type:\"accessor\",value:e=>e.path},getColor:{type:\"accessor\",value:Iq},getWidth:{type:\"accessor\",value:1},rounded:{deprecatedFor:[\"jointRounded\",\"capRounded\"]}},aB={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},bc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:Eq,fs:Pq,modules:[Rs,Ao]})}get wrapLongitude(){return!1}initializeState(){this.getAttributeManager().addInstanced({positions:{size:3,vertexOffset:1,type:5130,fp64:this.use64bitPositions(),transition:aB,accessor:\"getPath\",update:this.calculatePositions,noAlloc:!0,shaderAttributes:{instanceLeftPositions:{vertexOffset:0},instanceStartPositions:{vertexOffset:1},instanceEndPositions:{vertexOffset:2},instanceRightPositions:{vertexOffset:3}}},instanceTypes:{size:1,type:5121,update:this.calculateSegmentTypes,noAlloc:!0},instanceStrokeWidths:{size:1,accessor:\"getWidth\",transition:aB,defaultValue:1},instanceColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,accessor:\"getColor\",transition:aB,defaultValue:Iq},instancePickingColors:{size:3,type:5121,accessor:(i,{index:s,target:n})=>this.encodePickingColor(i&&i.__source?i.__source.index:s,n)}}),this.setState({pathTesselator:new $2({fp64:this.use64bitPositions()})})}updateState(t){super.updateState(t);let{props:r,changeFlags:i}=t,s=this.getAttributeManager();if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPath)){let{pathTesselator:c}=this.state,f=r.data.attributes||{};c.updateGeometry({data:r.data,geometryBuffer:f.getPath,buffers:f,normalize:!r._pathType,loop:r._pathType===\"loop\",getGeometry:r.getPath,positionFormat:r.positionFormat,wrapLongitude:r.wrapLongitude,resolution:this.context.viewport.resolution,dataChanged:i.dataChanged}),this.setState({numInstances:c.instanceCount,startIndices:c.vertexStarts}),i.dataChanged||s.invalidateAll()}if(i.extensionsChanged){var o;let{gl:c}=this.context;(o=this.state.model)===null||o===void 0||o.delete(),this.state.model=this._getModel(c),s.invalidateAll()}}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;i=1&&e[0].length>=2&&Number.isFinite(e[0][0])}function Fpt(e){let t=e[0],r=e[e.length-1];return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]}function zpt(e,t,r,i){for(let s=0;sc/t));let n=tx(e),o=i&&t===3;if(r){let c=n.length;n=n.slice();let f=[];for(let _=0;_f&&c>_||(f>_?(r||(n=n.slice()),zq(n,0,2,1)):(r||(n=n.slice()),zq(n,2,0,1)))}return(0,Nq.default)(n,s,t)}var eS=class extends rm{constructor(t){let{fp64:r,IndexType:i=Uint32Array}=t;super({...t,attributes:{positions:{size:3,type:r?Float64Array:Float32Array},vertexValid:{type:Uint8ClampedArray,size:1},indices:{type:i,size:1}}})}get(t){let{attributes:r}=this;return t===\"indices\"?r.indices&&r.indices.subarray(0,this.vertexCount):r[t]}updateGeometry(t){super.updateGeometry(t);let r=this.buffers.indices;if(r)this.vertexCount=(r.value||r).length;else if(this.data&&!this.getGeometry)throw new Error(\"missing indices buffer\")}normalizeGeometry(t){if(this.normalize){let r=G3(t,this.positionSize);return this.opts.resolution?Y2(tx(r),tS(r),{size:this.positionSize,gridResolution:this.opts.resolution,edgeTypes:!0}):this.opts.wrapLongitude?sB(tx(r),tS(r),{size:this.positionSize,maxLatitude:86,edgeTypes:!0}):r}return t}getGeometrySize(t){if(jq(t)){let r=0;for(let i of t)r+=this.getGeometrySize(i);return r}return tx(t).length/this.positionSize}getGeometryFromBuffer(t){return this.normalize||!this.buffers.indices?super.getGeometryFromBuffer(t):null}updateGeometryAttributes(t,r){if(t&&jq(t))for(let i of t){let s=this.getGeometrySize(i);r.geometrySize=s,this.updateGeometryAttributes(i,r),r.vertexStart+=s,r.indexStart=this.indexStarts[r.geometryIndex+1]}else this._updateIndices(t,r),this._updatePositions(t,r),this._updateVertexValid(t,r)}_updateIndices(t,{geometryIndex:r,vertexStart:i,indexStart:s}){let{attributes:n,indexStarts:o,typedArrayManager:c}=this,f=n.indices;if(!f||!t)return;let _=s,w=Uq(t,this.positionSize,this.opts.preproject,this.opts.full3d);f=c.allocate(f,s+w.length,{copy:!0});for(let I=0;I2?o[f*n+2]:0;s[c*3]=_,s[c*3+1]=w,s[c*3+2]=I}}_updateVertexValid(t,{vertexStart:r,geometrySize:i}){let{positionSize:s}=this,n=this.attributes.vertexValid,o=t&&tS(t);if(t&&t.edgeTypes?n.set(t.edgeTypes,r):n.fill(1,r,r+i),o)for(let c=0;c0&&!Number.isFinite(e[0])}var W3=`\nattribute vec2 vertexPositions;\nattribute float vertexValid;\n\nuniform bool extruded;\nuniform bool isWireframe;\nuniform float elevationScale;\nuniform float opacity;\n\nvarying vec4 vColor;\n\nstruct PolygonProps {\n vec4 fillColors;\n vec4 lineColors;\n vec3 positions;\n vec3 nextPositions;\n vec3 pickingColors;\n vec3 positions64Low;\n vec3 nextPositions64Low;\n float elevations;\n};\n\nvec3 project_offset_normal(vec3 vector) {\n if (project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT ||\n project_uCoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSETS) {\n return normalize(vector * project_uCommonUnitsPerWorldUnit);\n }\n return project_normal(vector);\n}\n\nvoid calculatePosition(PolygonProps props) {\n#ifdef IS_SIDE_VERTEX\n if(vertexValid < 0.5){\n gl_Position = vec4(0.);\n return;\n }\n#endif\n\n vec3 pos;\n vec3 pos64Low;\n vec3 normal;\n vec4 colors = isWireframe ? props.lineColors : props.fillColors;\n\n geometry.worldPosition = props.positions;\n geometry.worldPositionAlt = props.nextPositions;\n geometry.pickingColor = props.pickingColors;\n\n#ifdef IS_SIDE_VERTEX\n pos = mix(props.positions, props.nextPositions, vertexPositions.x);\n pos64Low = mix(props.positions64Low, props.nextPositions64Low, vertexPositions.x);\n#else\n pos = props.positions;\n pos64Low = props.positions64Low;\n#endif\n\n if (extruded) {\n pos.z += props.elevations * vertexPositions.y * elevationScale;\n }\n gl_Position = project_position_to_clipspace(pos, pos64Low, vec3(0.), geometry.position);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n if (extruded) {\n #ifdef IS_SIDE_VERTEX\n normal = vec3(\n props.positions.y - props.nextPositions.y + (props.positions64Low.y - props.nextPositions64Low.y),\n props.nextPositions.x - props.positions.x + (props.nextPositions64Low.x - props.positions64Low.x),\n 0.0);\n normal = project_offset_normal(normal);\n #else\n normal = project_normal(vec3(0.0, 0.0, 1.0));\n #endif\n geometry.normal = normal;\n vec3 lightColor = lighting_getLightColor(colors.rgb, project_uCameraPosition, geometry.position.xyz, normal);\n vColor = vec4(lightColor, colors.a * opacity);\n } else {\n vColor = vec4(colors.rgb, colors.a * opacity);\n }\n DECKGL_FILTER_COLOR(vColor, geometry);\n}\n`;var Gq=`#define SHADER_NAME solid-polygon-layer-vertex-shader\n\nattribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float elevations;\nattribute vec4 fillColors;\nattribute vec4 lineColors;\nattribute vec3 pickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n props.positions = positions;\n props.positions64Low = positions64Low;\n props.elevations = elevations;\n props.fillColors = fillColors;\n props.lineColors = lineColors;\n props.pickingColors = pickingColors;\n\n calculatePosition(props);\n}\n`);var Wq=`#define SHADER_NAME solid-polygon-layer-vertex-shader-side\n#define IS_SIDE_VERTEX\n\n\nattribute vec3 instancePositions;\nattribute vec3 nextPositions;\nattribute vec3 instancePositions64Low;\nattribute vec3 nextPositions64Low;\nattribute float instanceElevations;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\n`.concat(W3,`\n\nvoid main(void) {\n PolygonProps props;\n\n #if RING_WINDING_ORDER_CW == 1\n props.positions = instancePositions;\n props.positions64Low = instancePositions64Low;\n props.nextPositions = nextPositions;\n props.nextPositions64Low = nextPositions64Low;\n #else\n props.positions = nextPositions;\n props.positions64Low = nextPositions64Low;\n props.nextPositions = instancePositions;\n props.nextPositions64Low = instancePositions64Low;\n #endif\n props.elevations = instanceElevations;\n props.fillColors = instanceFillColors;\n props.lineColors = instanceLineColors;\n props.pickingColors = instancePickingColors;\n\n calculatePosition(props);\n}\n`);var Hq=`#define SHADER_NAME solid-polygon-layer-fragment-shader\n\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main(void) {\n gl_FragColor = vColor;\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var q3=[0,0,0,255],Npt={filled:!0,extruded:!1,wireframe:!1,_normalize:!0,_windingOrder:\"CW\",_full3d:!1,elevationScale:{type:\"number\",min:0,value:1},getPolygon:{type:\"accessor\",value:e=>e.polygon},getElevation:{type:\"accessor\",value:1e3},getFillColor:{type:\"accessor\",value:q3},getLineColor:{type:\"accessor\",value:q3},material:!0},H3={enter:(e,t)=>t.length?t.subarray(t.length-e.length):e},wc=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(t){return super.getShaders({vs:t===\"top\"?Gq:Wq,fs:Hq,defines:{RING_WINDING_ORDER_CW:!this.props._normalize&&this.props._windingOrder===\"CCW\"?0:1},modules:[Rs,Zf,Ao]})}get wrapLongitude(){return!1}initializeState(){let{gl:t,viewport:r}=this.context,{coordinateSystem:i}=this.props,{_full3d:s}=this.props;r.isGeospatial&&i===Yr.DEFAULT&&(i=Yr.LNGLAT);let n;i===Yr.LNGLAT&&(s?n=r.projectPosition.bind(r):n=r.projectFlat.bind(r)),this.setState({numInstances:0,polygonTesselator:new eS({preproject:n,fp64:this.use64bitPositions(),IndexType:!t||Oh(t,Ii.ELEMENT_INDEX_UINT32)?Uint32Array:Uint16Array})});let o=this.getAttributeManager(),c=!0;o.remove([\"instancePickingColors\"]),o.add({indices:{size:1,isIndexed:!0,update:this.calculateIndices,noAlloc:c},positions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:H3,accessor:\"getPolygon\",update:this.calculatePositions,noAlloc:c,shaderAttributes:{positions:{vertexOffset:0,divisor:0},instancePositions:{vertexOffset:0,divisor:1},nextPositions:{vertexOffset:1,divisor:1}}},vertexValid:{size:1,divisor:1,type:5121,update:this.calculateVertexValid,noAlloc:c},elevations:{size:1,transition:H3,accessor:\"getElevation\",shaderAttributes:{elevations:{divisor:0},instanceElevations:{divisor:1}}},fillColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getFillColor\",defaultValue:q3,shaderAttributes:{fillColors:{divisor:0},instanceFillColors:{divisor:1}}},lineColors:{size:this.props.colorFormat.length,type:5121,normalized:!0,transition:H3,accessor:\"getLineColor\",defaultValue:q3,shaderAttributes:{lineColors:{divisor:0},instanceLineColors:{divisor:1}}},pickingColors:{size:3,type:5121,accessor:(f,{index:_,target:w})=>this.encodePickingColor(f&&f.__source?f.__source.index:_,w),shaderAttributes:{pickingColors:{divisor:0},instancePickingColors:{divisor:1}}}})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i}=r,{data:s}=this.props;return s[0]&&s[0].__source&&(r.object=s.find(n=>n.__source.index===i)),r}disablePickingIndex(t){let{data:r}=this.props;if(r[0]&&r[0].__source)for(let i=0;if.delete()),this.setState(this._getModels(this.context.gl)),n.invalidateAll()}}updateGeometry({props:t,oldProps:r,changeFlags:i}){if(i.dataChanged||i.updateTriggersChanged&&(i.updateTriggersChanged.all||i.updateTriggersChanged.getPolygon)){let{polygonTesselator:n}=this.state,o=t.data.attributes||{};n.updateGeometry({data:t.data,normalize:t._normalize,geometryBuffer:o.getPolygon,buffers:o,getGeometry:t.getPolygon,positionFormat:t.positionFormat,wrapLongitude:t.wrapLongitude,resolution:this.context.viewport.resolution,fp64:this.use64bitPositions(),dataChanged:i.dataChanged,full3d:t._full3d}),this.setState({numInstances:n.instanceCount,startIndices:n.vertexStarts}),i.dataChanged||this.getAttributeManager().invalidateAll()}}_getModels(t){let{id:r,filled:i,extruded:s}=this.props,n,o;if(i){let c=this.getShaders(\"top\");c.defines.NON_INSTANCED_MODEL=1,n=new fn(t,{...c,id:\"\".concat(r,\"-top\"),drawMode:4,attributes:{vertexPositions:new Float32Array([0,1])},uniforms:{isWireframe:!1,isSideVertex:!1},vertexCount:0,isIndexed:!0})}return s&&(o=new fn(t,{...this.getShaders(\"side\"),id:\"\".concat(r,\"-side\"),geometry:new $n({drawMode:1,vertexCount:4,attributes:{vertexPositions:{size:2,value:new Float32Array([1,0,0,0,0,1,1,1])}}}),instanceCount:0,isInstanced:1}),o.userData.excludeAttributes={indices:!0}),{models:[o,n].filter(Boolean),topModel:n,sideModel:o}}calculateIndices(t){let{polygonTesselator:r}=this.state;t.startIndices=r.indexStarts,t.value=r.get(\"indices\")}calculatePositions(t){let{polygonTesselator:r}=this.state;t.startIndices=r.vertexStarts,t.value=r.get(\"positions\")}calculateVertexValid(t){t.value=this.state.polygonTesselator.get(\"vertexValid\")}};G(wc,\"defaultProps\",Npt);G(wc,\"layerName\",\"SolidPolygonLayer\");function Z3({data:e,getIndex:t,dataRange:r,replace:i}){let{startRow:s=0,endRow:n=1/0}=r,o=e.length,c=o,f=o;for(let R=0;RR&&N>=s&&(c=R),N>=n){f=R;break}}let _=c,I=f-c!==i.length?e.slice(f):void 0;for(let R=0;Re.polygon},getFillColor:{type:\"accessor\",value:Upt},getLineColor:{type:\"accessor\",value:qq},getLineWidth:{type:\"accessor\",value:1},getElevation:{type:\"accessor\",value:1e3},material:!0},lf=class extends Ni{initializeState(){this.state={paths:[]},this.props.getLineDashArray&&or.removed(\"getLineDashArray\",\"PathStyleExtension\")()}updateState({changeFlags:t}){let r=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getPolygon);if(r&&Array.isArray(t.dataChanged)){let i=this.state.paths.slice(),s=t.dataChanged.map(n=>Z3({data:i,getIndex:o=>o.__source.index,dataRange:n,replace:this._getPaths(n)}));this.setState({paths:i,pathsDiff:s})}else r&&this.setState({paths:this._getPaths(),pathsDiff:null})}_getPaths(t={}){let{data:r,getPolygon:i,positionFormat:s,_normalize:n}=this.props,o=[],c=s===\"XY\"?2:3,{startRow:f,endRow:_}=t,{iterable:w,objectInfo:I}=Jc(r,f,_);for(let R of w){I.index++;let N=i(R,I);n&&(N=G3(N,c));let{holeIndices:j}=N,Q=N.positions||N;if(j)for(let et=0;et<=j.length;et++){let Y=Q.slice(j[et-1]||0,j[et]||Q.length);o.push(this.getSubLayerRow({path:Y},R,I.index))}else o.push(this.getSubLayerRow({path:Q},R,I.index))}return o}renderLayers(){let{data:t,_dataDiff:r,stroked:i,filled:s,extruded:n,wireframe:o,_normalize:c,_windingOrder:f,elevationScale:_,transitions:w,positionFormat:I}=this.props,{lineWidthUnits:R,lineWidthScale:N,lineWidthMinPixels:j,lineWidthMaxPixels:Q,lineJointRounded:et,lineMiterLimit:Y,lineDashJustified:K}=this.props,{getFillColor:J,getLineColor:ut,getLineWidth:Et,getLineDashArray:kt,getElevation:Xt,getPolygon:qt,updateTriggers:le,material:ue}=this.props,{paths:De,pathsDiff:Ke}=this.state,rr=this.getSubLayerClass(\"fill\",wc),Sr=this.getSubLayerClass(\"stroke\",bc),Li=this.shouldRenderSubLayer(\"fill\",De)&&new rr({_dataDiff:r,extruded:n,elevationScale:_,filled:s,wireframe:o,_normalize:c,_windingOrder:f,getElevation:Xt,getFillColor:J,getLineColor:n&&o?ut:qq,material:ue,transitions:w},this.getSubLayerProps({id:\"fill\",updateTriggers:le&&{getPolygon:le.getPolygon,getElevation:le.getElevation,getFillColor:le.getFillColor,lineColors:n&&o,getLineColor:le.getLineColor}}),{data:t,positionFormat:I,getPolygon:qt}),oo=!n&&i&&this.shouldRenderSubLayer(\"stroke\",De)&&new Sr({_dataDiff:Ke&&(()=>Ke),widthUnits:R,widthScale:N,widthMinPixels:j,widthMaxPixels:Q,jointRounded:et,miterLimit:Y,dashJustified:K,_pathType:\"loop\",transitions:w&&{getWidth:w.getLineWidth,getColor:w.getLineColor,getPath:w.getPolygon},getColor:this.getSubLayerAccessor(ut),getWidth:this.getSubLayerAccessor(Et),getDashArray:this.getSubLayerAccessor(kt)},this.getSubLayerProps({id:\"stroke\",updateTriggers:le&&{getWidth:le.getLineWidth,getColor:le.getLineColor,getDashArray:le.getLineDashArray}}),{data:De,positionFormat:I,getPath:zl=>zl.path});return[!n&&Li,oo,n&&Li]}};G(lf,\"layerName\",\"PolygonLayer\");G(lf,\"defaultProps\",Vpt);function Zq(e,t){if(!e)return null;let r=\"startIndices\"in e?e.startIndices[t]:t,i=e.featureIds.value[r];return r!==-1?jpt(e,i,r):null}function jpt(e,t,r){let i={properties:{...e.properties[t]}};for(let s in e.numericProps)i.properties[s]=e.numericProps[s].value[r];return i}function Yq(e,t){let r={points:null,lines:null,polygons:null};for(let i in r){let s=e[i].globalFeatureIds.value;r[i]=new Uint8ClampedArray(s.length*3);let n=[];for(let o=0;o 0.0) {\n float inFill = alpha;\n float inBorder = smoothstep(outlineBuffer - gamma, outlineBuffer + gamma, distance);\n color = mix(outlineColor, vColor, inFill);\n alpha = inBorder;\n }\n }\n float a = alpha * color.a;\n \n if (a < alphaCutoff) {\n discard;\n }\n\n gl_FragColor = vec4(color.rgb, a * opacity);\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var dB=192/256,$q=[],Gpt={getIconOffsets:{type:\"accessor\",value:e=>e.offsets},alphaCutoff:.001,smoothing:.1,outlineWidth:0,outlineColor:{type:\"color\",value:[0,0,0,255]}},Gg=class extends Ep{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return{...super.getShaders(),fs:Qq}}initializeState(){super.initializeState(),this.getAttributeManager().addInstanced({instanceOffsets:{size:2,accessor:\"getIconOffsets\"},instancePickingColors:{type:5121,size:3,accessor:(r,{index:i,target:s})=>this.encodePickingColor(i,s)}})}updateState(t){super.updateState(t);let{props:r,oldProps:i}=t,{outlineColor:s}=r;s!==i.outlineColor&&(s=s.map(n=>n/255),s[3]=Number.isFinite(s[3])?s[3]:1,this.setState({outlineColor:s})),!r.sdf&&r.outlineWidth&&or.warn(\"\".concat(this.id,\": fontSettings.sdf is required to render outline\"))()}draw(t){let{sdf:r,smoothing:i,outlineWidth:s}=this.props,{outlineColor:n}=this.state,o=s?Math.max(i,dB*(1-s)):-1;if(t.uniforms={...t.uniforms,sdfBuffer:dB,outlineBuffer:o,gamma:i,sdf:!!r,outlineColor:n},super.draw(t),r&&s){let{iconManager:c}=this.state;c.getTexture()&&this.state.model.draw({uniforms:{outlineBuffer:dB}})}}getInstanceOffset(t){return t?Array.from(t).flatMap(r=>super.getInstanceOffset(r)):$q}getInstanceColorMode(t){return 1}getInstanceIconFrame(t){return t?Array.from(t).flatMap(r=>super.getInstanceIconFrame(r)):$q}};G(Gg,\"defaultProps\",Gpt);G(Gg,\"layerName\",\"MultiIconLayer\");var rS=class{constructor({fontSize:t=24,buffer:r=3,radius:i=8,cutoff:s=.25,fontFamily:n=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:c=\"normal\"}={}){this.buffer=r,this.cutoff=s,this.radius=i;let f=this.size=t+r*4,_=this._createCanvas(f),w=this.ctx=_.getContext(\"2d\",{willReadFrequently:!0});w.font=`${c} ${o} ${t}px ${n}`,w.textBaseline=\"alphabetic\",w.textAlign=\"left\",w.fillStyle=\"black\",this.gridOuter=new Float64Array(f*f),this.gridInner=new Float64Array(f*f),this.f=new Float64Array(f),this.z=new Float64Array(f+1),this.v=new Uint16Array(f)}_createCanvas(t){let r=document.createElement(\"canvas\");return r.width=r.height=t,r}draw(t){let{width:r,actualBoundingBoxAscent:i,actualBoundingBoxDescent:s,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(t),c=Math.ceil(i),f=0,_=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),w=Math.min(this.size-this.buffer,c+Math.ceil(s)),I=_+2*this.buffer,R=w+2*this.buffer,N=Math.max(I*R,0),j=new Uint8ClampedArray(N),Q={data:j,width:I,height:R,glyphWidth:_,glyphHeight:w,glyphTop:c,glyphLeft:f,glyphAdvance:r};if(_===0||w===0)return Q;let{ctx:et,buffer:Y,gridInner:K,gridOuter:J}=this;et.clearRect(Y,Y,_,w),et.fillText(t,Y,Y+c);let ut=et.getImageData(Y,Y,_,w);J.fill(1e20,0,N),K.fill(0,0,N);for(let Et=0;Et0?le*le:0,K[qt]=le<0?le*le:0}}Xq(J,0,0,I,R,I,this.f,this.v,this.z),Xq(K,Y,Y,_,w,I,this.f,this.v,this.z);for(let Et=0;Et-1);f++,n[f]=c,o[f]=_,o[f+1]=1e20}for(let c=0,f=0;cs&&(_=0,f++),n[I]={x:_+i,y:c+f*w+i,width:R,height:w,layoutWidth:R,layoutHeight:r},_+=R+i*2}return{mapping:n,xOffset:_,yOffset:c+f*w,canvasHeight:qpt(c+(f+1)*w)}}function tZ(e,t,r,i){let s=0;for(let o=t;oi&&(oc){let I=tZ(e,c,f,s);_+I>i&&(oi&&(I=eZ(e,c,f,i,s,n),o=n[n.length-1])),c=f,_+=I}return _}function Ypt(e,t,r,i,s=0,n){n===void 0&&(n=e.length);let o=[];return t===\"break-all\"?eZ(e,s,n,r,i,o):Zpt(e,s,n,r,i,o),o}function Qpt(e,t,r,i,s,n){let o=0,c=0;for(let f=t;f0,I=[0,0],R=[0,0],N=0,j=0,Q=0;for(let Y=0;Y<=o;Y++){let K=n[Y];if((K===`\n`||Y===o)&&(Q=Y),Q>j){let J=w?Ypt(n,r,i,s,j,Q):Hpt;for(let ut=0;ut<=J.length;ut++){let Et=ut===0?j:J[ut-1],kt=ut1||f>0){let N=e.constructor;R=new N(_);for(let j=0;j<_;j++)R[j]=e[j*c+f]}for(let N=0;N=0&&this._order.splice(r,1)}_appendOrder(t){this._order.push(t)}};function $pt(){let e=[];for(let t=32;t<128;t++)e.push(String.fromCharCode(t));return e}var Wg={fontFamily:\"Monaco, monospace\",fontWeight:\"normal\",characterSet:$pt(),fontSize:64,buffer:4,sdf:!1,cutoff:.25,radius:12,smoothing:.1},nZ=1024,sZ=.9,oZ=1.2,lZ=3,Y3=new ex(lZ);function Xpt(e,t){let r;typeof t==\"string\"?r=new Set(Array.from(t)):r=new Set(t);let i=Y3.get(e);if(!i)return r;for(let s in i.mapping)r.has(s)&&r.delete(s);return r}function Kpt(e,t){for(let r=0;r=lZ,\"Invalid cache limit\"),Y3=new ex(e)}var iS=class{constructor(){G(this,\"props\",{...Wg}),G(this,\"_key\",void 0),G(this,\"_atlas\",void 0)}get texture(){return this._atlas}get mapping(){return this._atlas&&this._atlas.mapping}get scale(){let{fontSize:t,buffer:r}=this.props;return(t*oZ+r*2)/t}setProps(t={}){Object.assign(this.props,t),this._key=this._getKey();let r=Xpt(this._key,this.props.characterSet),i=Y3.get(this._key);if(i&&r.size===0){this._atlas!==i&&(this._atlas=i);return}let s=this._generateFontAtlas(r,i);this._atlas=s,Y3.set(this._key,s)}_generateFontAtlas(t,r){let{fontFamily:i,fontWeight:s,fontSize:n,buffer:o,sdf:c,radius:f,cutoff:_}=this.props,w=r&&r.data;w||(w=document.createElement(\"canvas\"),w.width=nZ);let I=w.getContext(\"2d\",{willReadFrequently:!0});aZ(I,i,n,s);let{mapping:R,canvasHeight:N,xOffset:j,yOffset:Q}=Jq({getFontWidth:et=>I.measureText(et).width,fontHeight:n*oZ,buffer:o,characterSet:t,maxCanvasWidth:nZ,...r&&{mapping:r.mapping,xOffset:r.xOffset,yOffset:r.yOffset}});if(w.height!==N){let et=I.getImageData(0,0,w.width,w.height);w.height=N,I.putImageData(et,0,0)}if(aZ(I,i,n,s),c){let et=new rS({fontSize:n,buffer:o,radius:f,cutoff:_,fontFamily:i,fontWeight:\"\".concat(s)});for(let Y of t){let{data:K,width:J,height:ut,glyphTop:Et}=et.draw(Y);R[Y].width=J,R[Y].layoutOffsetY=n*sZ-Et;let kt=I.createImageData(J,ut);Kpt(K,kt),I.putImageData(kt,R[Y].x,R[Y].y)}}else for(let et of t)I.fillText(et,R[et].x,R[et].y+o+n*sZ);return{xOffset:j,yOffset:Q,mapping:R,data:w,width:w.width,height:w.height}}_getKey(){let{fontFamily:t,fontWeight:r,fontSize:i,buffer:s,sdf:n,radius:o,cutoff:c}=this.props;return n?\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s,\" \").concat(o,\" \").concat(c):\"\".concat(t,\" \").concat(r,\" \").concat(i,\" \").concat(s)}};var uZ=`#define SHADER_NAME text-background-layer-vertex-shader\n\nattribute vec2 positions;\n\nattribute vec3 instancePositions;\nattribute vec3 instancePositions64Low;\nattribute vec4 instanceRects;\nattribute float instanceSizes;\nattribute float instanceAngles;\nattribute vec2 instancePixelOffsets;\nattribute float instanceLineWidths;\nattribute vec4 instanceFillColors;\nattribute vec4 instanceLineColors;\nattribute vec3 instancePickingColors;\n\nuniform bool billboard;\nuniform float opacity;\nuniform float sizeScale;\nuniform float sizeMinPixels;\nuniform float sizeMaxPixels;\nuniform vec4 padding;\nuniform int sizeUnits;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvec2 rotate_by_angle(vec2 vertex, float angle) {\n float angle_radian = radians(angle);\n float cos_angle = cos(angle_radian);\n float sin_angle = sin(angle_radian);\n mat2 rotationMatrix = mat2(cos_angle, -sin_angle, sin_angle, cos_angle);\n return rotationMatrix * vertex;\n}\n\nvoid main(void) {\n geometry.worldPosition = instancePositions;\n geometry.uv = positions;\n geometry.pickingColor = instancePickingColors;\n uv = positions;\n vLineWidth = instanceLineWidths;\n float sizePixels = clamp(\n project_size_to_pixel(instanceSizes * sizeScale, sizeUnits),\n sizeMinPixels, sizeMaxPixels\n );\n\n dimensions = instanceRects.zw * sizePixels + padding.xy + padding.zw;\n\n vec2 pixelOffset = (positions * instanceRects.zw + instanceRects.xy) * sizePixels + mix(-padding.xy, padding.zw, positions);\n pixelOffset = rotate_by_angle(pixelOffset, instanceAngles);\n pixelOffset += instancePixelOffsets;\n pixelOffset.y *= -1.0;\n\n if (billboard) {\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n vec3 offset = vec3(pixelOffset, 0.0);\n DECKGL_FILTER_SIZE(offset, geometry);\n gl_Position.xy += project_pixel_size_to_clipspace(offset.xy);\n } else {\n vec3 offset_common = vec3(project_pixel_size(pixelOffset), 0.0);\n DECKGL_FILTER_SIZE(offset_common, geometry);\n gl_Position = project_position_to_clipspace(instancePositions, instancePositions64Low, offset_common, geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n }\n vFillColor = vec4(instanceFillColors.rgb, instanceFillColors.a * opacity);\n DECKGL_FILTER_COLOR(vFillColor, geometry);\n vLineColor = vec4(instanceLineColors.rgb, instanceLineColors.a * opacity);\n DECKGL_FILTER_COLOR(vLineColor, geometry);\n}\n`;var hZ=`#define SHADER_NAME text-background-layer-fragment-shader\n\nprecision highp float;\n\nuniform bool stroked;\n\nvarying vec4 vFillColor;\nvarying vec4 vLineColor;\nvarying float vLineWidth;\nvarying vec2 uv;\nvarying vec2 dimensions;\n\nvoid main(void) {\n geometry.uv = uv;\n\n vec2 pixelPosition = uv * dimensions;\n if (stroked) {\n float distToEdge = min(\n min(pixelPosition.x, dimensions.x - pixelPosition.x),\n min(pixelPosition.y, dimensions.y - pixelPosition.y)\n );\n float isBorder = smoothedge(distToEdge, vLineWidth);\n gl_FragColor = mix(vFillColor, vLineColor, isBorder);\n } else {\n gl_FragColor = vFillColor;\n }\n\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var Jpt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,padding:{type:\"array\",value:[0,0,0,0]},getPosition:{type:\"accessor\",value:e=>e.position},getSize:{type:\"accessor\",value:1},getAngle:{type:\"accessor\",value:0},getPixelOffset:{type:\"accessor\",value:[0,0]},getBoundingRect:{type:\"accessor\",value:[0,0,0,0]},getFillColor:{type:\"accessor\",value:[0,0,0,255]},getLineColor:{type:\"accessor\",value:[0,0,0,255]},getLineWidth:{type:\"accessor\",value:1}},Hg=class extends dn{constructor(...t){super(...t),G(this,\"state\",void 0)}getShaders(){return super.getShaders({vs:uZ,fs:hZ,modules:[Rs,Ao]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:5130,fp64:this.use64bitPositions(),transition:!0,accessor:\"getPosition\"},instanceSizes:{size:1,transition:!0,accessor:\"getSize\",defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:\"getAngle\"},instanceRects:{size:4,accessor:\"getBoundingRect\"},instancePixelOffsets:{size:2,transition:!0,accessor:\"getPixelOffset\"},instanceFillColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getFillColor\",defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,normalized:!0,type:5121,accessor:\"getLineColor\",defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:\"getLineWidth\",defaultValue:1}})}updateState(t){super.updateState(t);let{changeFlags:r}=t;if(r.extensionsChanged){var i;let{gl:s}=this.context;(i=this.state.model)===null||i===void 0||i.delete(),this.state.model=this._getModel(s),this.getAttributeManager().invalidateAll()}}draw({uniforms:t}){let{billboard:r,sizeScale:i,sizeUnits:s,sizeMinPixels:n,sizeMaxPixels:o,getLineWidth:c}=this.props,{padding:f}=this.props;f.length<4&&(f=[f[0],f[1],f[0],f[1]]),this.state.model.setUniforms(t).setUniforms({billboard:r,stroked:!!c,padding:f,sizeUnits:po[s],sizeScale:i,sizeMinPixels:n,sizeMaxPixels:o}).draw()}_getModel(t){let r=[0,0,1,0,1,1,0,1];return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(r)}}}),isInstanced:!0})}};G(Hg,\"defaultProps\",Jpt);G(Hg,\"layerName\",\"TextBackgroundLayer\");var fZ={start:1,middle:0,end:-1},dZ={top:1,center:0,bottom:-1},pB=[0,0,0,255],tAt=1,eAt={billboard:!0,sizeScale:1,sizeUnits:\"pixels\",sizeMinPixels:0,sizeMaxPixels:Number.MAX_SAFE_INTEGER,background:!1,getBackgroundColor:{type:\"accessor\",value:[255,255,255,255]},getBorderColor:{type:\"accessor\",value:pB},getBorderWidth:{type:\"accessor\",value:0},backgroundPadding:{type:\"array\",value:[0,0,0,0]},characterSet:{type:\"object\",value:Wg.characterSet},fontFamily:Wg.fontFamily,fontWeight:Wg.fontWeight,lineHeight:tAt,outlineWidth:{type:\"number\",value:0,min:0},outlineColor:{type:\"color\",value:pB},fontSettings:{type:\"object\",value:{},compare:1},wordBreak:\"break-word\",maxWidth:{type:\"number\",value:-1},getText:{type:\"accessor\",value:e=>e.text},getPosition:{type:\"accessor\",value:e=>e.position},getColor:{type:\"accessor\",value:pB},getSize:{type:\"accessor\",value:32},getAngle:{type:\"accessor\",value:0},getTextAnchor:{type:\"accessor\",value:\"middle\"},getAlignmentBaseline:{type:\"accessor\",value:\"center\"},getPixelOffset:{type:\"accessor\",value:[0,0]},backgroundColor:{deprecatedFor:[\"background\",\"getBackgroundColor\"]}},cf=class extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0),G(this,\"getBoundingRect\",(r,i)=>{let{size:[s,n]}=this.transformParagraph(r,i),{fontSize:o}=this.state.fontAtlasManager.props;s/=o,n/=o;let{getTextAnchor:c,getAlignmentBaseline:f}=this.props,_=fZ[typeof c==\"function\"?c(r,i):c],w=dZ[typeof f==\"function\"?f(r,i):f];return[(_-1)*s/2,(w-1)*n/2,s,n]}),G(this,\"getIconOffsets\",(r,i)=>{let{getTextAnchor:s,getAlignmentBaseline:n}=this.props,{x:o,y:c,rowWidth:f,size:[_,w]}=this.transformParagraph(r,i),I=fZ[typeof s==\"function\"?s(r,i):s],R=dZ[typeof n==\"function\"?n(r,i):n],N=o.length,j=new Array(N*2),Q=0;for(let et=0;et0&&or.warn(\"v8.9 breaking change: TextLayer maxWidth is now relative to text size\")()}updateState(t){let{props:r,oldProps:i,changeFlags:s}=t;(s.dataChanged||s.updateTriggersChanged&&(s.updateTriggersChanged.all||s.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||r.lineHeight!==i.lineHeight||r.wordBreak!==i.wordBreak||r.maxWidth!==i.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:t}){return t.object=t.index>=0?this.props.data[t.index]:null,t}_updateFontAtlas(){let{fontSettings:t,fontFamily:r,fontWeight:i}=this.props,{fontAtlasManager:s,characterSet:n}=this.state,o={...t,characterSet:n,fontFamily:r,fontWeight:i};if(!s.mapping)return s.setProps(o),!0;for(let c in o)if(o[c]!==s.props[c])return s.setProps(o),!0;return!1}_updateText(){var t;let{data:r,characterSet:i}=this.props,s=(t=r.attributes)===null||t===void 0?void 0:t.getText,{getText:n}=this.props,o=r.startIndices,c,f=i===\"auto\"&&new Set;if(s&&o){let{texts:_,characterCount:w}=iZ({...ArrayBuffer.isView(s)?{value:s}:s,length:r.length,startIndices:o,characterSet:f});c=w,n=(I,{index:R})=>_[R]}else{let{iterable:_,objectInfo:w}=Jc(r);o=[0],c=0;for(let I of _){w.index++;let R=Array.from(n(I,w)||\"\");f&&R.forEach(f.add,f),c+=R.length,o.push(c)}}this.setState({getText:n,startIndices:o,numInstances:c,characterSet:f||i})}transformParagraph(t,r){let{fontAtlasManager:i}=this.state,s=i.mapping,n=this.state.getText,{wordBreak:o,lineHeight:c,maxWidth:f}=this.props,_=n(t,r)||\"\";return rZ(_,c,o,f*i.props.fontSize,s)}renderLayers(){let{startIndices:t,numInstances:r,getText:i,fontAtlasManager:{scale:s,texture:n,mapping:o},styleVersion:c}=this.state,{data:f,_dataDiff:_,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,getBackgroundColor:Q,getBorderColor:et,getBorderWidth:Y,backgroundPadding:K,background:J,billboard:ut,fontSettings:Et,outlineWidth:kt,outlineColor:Xt,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke,updateTriggers:rr}=this.props,Sr=this.getSubLayerClass(\"characters\",Gg),Li=this.getSubLayerClass(\"background\",Hg);return[J&&new Li({getFillColor:Q,getLineColor:et,getLineWidth:Y,padding:K,getPosition:w,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt,sizeUnits:le,sizeMinPixels:ue,sizeMaxPixels:De,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getSize:Ke.getSize,getFillColor:Ke.getBackgroundColor,getLineColor:Ke.getBorderColor,getLineWidth:Ke.getBorderWidth,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"background\",updateTriggers:{getPosition:rr.getPosition,getAngle:rr.getAngle,getSize:rr.getSize,getFillColor:rr.getBackgroundColor,getLineColor:rr.getBorderColor,getLineWidth:rr.getBorderWidth,getPixelOffset:rr.getPixelOffset,getBoundingRect:{getText:rr.getText,getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f.attributes&&f.attributes.background?{length:f.length,attributes:f.attributes.background}:f,_dataDiff:_,autoHighlight:!1,getBoundingRect:this.getBoundingRect}),new Sr({sdf:Et.sdf,smoothing:Number.isFinite(Et.smoothing)?Et.smoothing:Wg.smoothing,outlineWidth:kt/(Et.radius||Wg.radius),outlineColor:Xt,iconAtlas:n,iconMapping:o,getPosition:w,getColor:I,getSize:R,getAngle:N,getPixelOffset:j,billboard:ut,sizeScale:qt*s,sizeUnits:le,sizeMinPixels:ue*s,sizeMaxPixels:De*s,transitions:Ke&&{getPosition:Ke.getPosition,getAngle:Ke.getAngle,getColor:Ke.getColor,getSize:Ke.getSize,getPixelOffset:Ke.getPixelOffset}},this.getSubLayerProps({id:\"characters\",updateTriggers:{all:rr.getText,getPosition:rr.getPosition,getAngle:rr.getAngle,getColor:rr.getColor,getSize:rr.getSize,getPixelOffset:rr.getPixelOffset,getIconOffsets:{getTextAnchor:rr.getTextAnchor,getAlignmentBaseline:rr.getAlignmentBaseline,styleVersion:c}}}),{data:f,_dataDiff:_,startIndices:t,numInstances:r,getIconOffsets:this.getIconOffsets,getIcon:i})]}static set fontAtlasCacheLimit(t){cZ(t)}};G(cf,\"defaultProps\",eAt);G(cf,\"layerName\",\"TextLayer\");var nS={circle:{type:Ku,props:{filled:\"filled\",stroked:\"stroked\",lineWidthMaxPixels:\"lineWidthMaxPixels\",lineWidthMinPixels:\"lineWidthMinPixels\",lineWidthScale:\"lineWidthScale\",lineWidthUnits:\"lineWidthUnits\",pointRadiusMaxPixels:\"radiusMaxPixels\",pointRadiusMinPixels:\"radiusMinPixels\",pointRadiusScale:\"radiusScale\",pointRadiusUnits:\"radiusUnits\",pointAntialiasing:\"antialiasing\",pointBillboard:\"billboard\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\",getLineWidth:\"getLineWidth\",getPointRadius:\"getRadius\"}},icon:{type:Ep,props:{iconAtlas:\"iconAtlas\",iconMapping:\"iconMapping\",iconSizeMaxPixels:\"sizeMaxPixels\",iconSizeMinPixels:\"sizeMinPixels\",iconSizeScale:\"sizeScale\",iconSizeUnits:\"sizeUnits\",iconAlphaCutoff:\"alphaCutoff\",iconBillboard:\"billboard\",getIcon:\"getIcon\",getIconAngle:\"getAngle\",getIconColor:\"getColor\",getIconPixelOffset:\"getPixelOffset\",getIconSize:\"getSize\"}},text:{type:cf,props:{textSizeMaxPixels:\"sizeMaxPixels\",textSizeMinPixels:\"sizeMinPixels\",textSizeScale:\"sizeScale\",textSizeUnits:\"sizeUnits\",textBackground:\"background\",textBackgroundPadding:\"backgroundPadding\",textFontFamily:\"fontFamily\",textFontWeight:\"fontWeight\",textLineHeight:\"lineHeight\",textMaxWidth:\"maxWidth\",textOutlineColor:\"outlineColor\",textOutlineWidth:\"outlineWidth\",textWordBreak:\"wordBreak\",textCharacterSet:\"characterSet\",textBillboard:\"billboard\",textFontSettings:\"fontSettings\",getText:\"getText\",getTextAngle:\"getAngle\",getTextColor:\"getColor\",getTextPixelOffset:\"getPixelOffset\",getTextSize:\"getSize\",getTextAnchor:\"getTextAnchor\",getTextAlignmentBaseline:\"getAlignmentBaseline\",getTextBackgroundColor:\"getBackgroundColor\",getTextBorderColor:\"getBorderColor\",getTextBorderWidth:\"getBorderWidth\"}}},sS={type:bc,props:{lineWidthUnits:\"widthUnits\",lineWidthScale:\"widthScale\",lineWidthMinPixels:\"widthMinPixels\",lineWidthMaxPixels:\"widthMaxPixels\",lineJointRounded:\"jointRounded\",lineCapRounded:\"capRounded\",lineMiterLimit:\"miterLimit\",lineBillboard:\"billboard\",getLineColor:\"getColor\",getLineWidth:\"getWidth\"}},Q3={type:wc,props:{extruded:\"extruded\",filled:\"filled\",wireframe:\"wireframe\",elevationScale:\"elevationScale\",material:\"material\",_full3d:\"_full3d\",getElevation:\"getElevation\",getFillColor:\"getFillColor\",getLineColor:\"getLineColor\"}};function rx({type:e,props:t}){let r={};for(let i in t)r[i]=e.defaultProps[t[i]];return r}function $3(e,t){let{transitions:r,updateTriggers:i}=e.props,s={updateTriggers:{},transitions:r&&{getPosition:r.geometry}};for(let n in t){let o=t[n],c=e.props[n];n.startsWith(\"get\")&&(c=e.getSubLayerAccessor(c),s.updateTriggers[o]=i[n],r&&(s.transitions[o]=r[n])),s[o]=c}return s}function AZ(e){if(Array.isArray(e))return e;switch(or.assert(e.type,\"GeoJSON does not have type\"),e.type){case\"Feature\":return[e];case\"FeatureCollection\":return or.assert(Array.isArray(e.features),\"GeoJSON does not have features array\"),e.features;default:return[{geometry:e}]}}function AB(e,t,r={}){let i={pointFeatures:[],lineFeatures:[],polygonFeatures:[],polygonOutlineFeatures:[]},{startRow:s=0,endRow:n=e.length}=r;for(let o=s;o{c.push(r({geometry:{type:\"Point\",coordinates:I}},i,s))});break;case\"LineString\":f.push(r({geometry:e},i,s));break;case\"MultiLineString\":o.forEach(I=>{f.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"Polygon\":_.push(r({geometry:e},i,s)),o.forEach(I=>{w.push(r({geometry:{type:\"LineString\",coordinates:I}},i,s))});break;case\"MultiPolygon\":o.forEach(I=>{_.push(r({geometry:{type:\"Polygon\",coordinates:I}},i,s)),I.forEach(R=>{w.push(r({geometry:{type:\"LineString\",coordinates:R}},i,s))})});break;default:}}var rAt={Point:1,MultiPoint:2,LineString:2,MultiLineString:3,Polygon:3,MultiPolygon:4};function iAt(e,t){let r=rAt[e];for(or.assert(r,\"Unknown GeoJSON type \".concat(e));t&&--r>0;)t=t[0];return t&&Number.isFinite(t[0])}function mZ(){return{points:{},lines:{},polygons:{},polygonsOutline:{}}}function X3(e){return e.geometry.coordinates}function gZ(e,t){let r=mZ(),{pointFeatures:i,lineFeatures:s,polygonFeatures:n,polygonOutlineFeatures:o}=e;return r.points.data=i,r.points._dataDiff=t.pointFeatures&&(()=>t.pointFeatures),r.points.getPosition=X3,r.lines.data=s,r.lines._dataDiff=t.lineFeatures&&(()=>t.lineFeatures),r.lines.getPath=X3,r.polygons.data=n,r.polygons._dataDiff=t.polygonFeatures&&(()=>t.polygonFeatures),r.polygons.getPolygon=X3,r.polygonsOutline.data=o,r.polygonsOutline._dataDiff=t.polygonOutlineFeatures&&(()=>t.polygonOutlineFeatures),r.polygonsOutline.getPath=X3,r}function _Z(e,t){let r=mZ(),{points:i,lines:s,polygons:n}=e,o=Yq(e,t);return r.points.data={length:i.positions.value.length/i.positions.size,attributes:{...i.attributes,getPosition:i.positions,instancePickingColors:{size:3,value:o.points}},properties:i.properties,numericProps:i.numericProps,featureIds:i.featureIds},r.lines.data={length:s.pathIndices.value.length-1,startIndices:s.pathIndices.value,attributes:{...s.attributes,getPath:s.positions,instancePickingColors:{size:3,value:o.lines}},properties:s.properties,numericProps:s.numericProps,featureIds:s.featureIds},r.lines._pathType=\"open\",r.polygons.data={length:n.polygonIndices.value.length-1,startIndices:n.polygonIndices.value,attributes:{...n.attributes,getPolygon:n.positions,pickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygons._normalize=!1,n.triangles&&(r.polygons.data.attributes.indices=n.triangles.value),r.polygonsOutline.data={length:n.primitivePolygonIndices.value.length-1,startIndices:n.primitivePolygonIndices.value,attributes:{...n.attributes,getPath:n.positions,instancePickingColors:{size:3,value:o.polygons}},properties:n.properties,numericProps:n.numericProps,featureIds:n.featureIds},r.polygonsOutline._pathType=\"open\",r}var nAt=[\"points\",\"linestrings\",\"polygons\"],sAt={...rx(nS.circle),...rx(nS.icon),...rx(nS.text),...rx(sS),...rx(Q3),stroked:!0,filled:!0,extruded:!1,wireframe:!1,_full3d:!1,iconAtlas:{type:\"object\",value:null},iconMapping:{type:\"object\",value:{}},getIcon:{type:\"accessor\",value:e=>e.properties.icon},getText:{type:\"accessor\",value:e=>e.properties.text},pointType:\"circle\",getRadius:{deprecatedFor:\"getPointRadius\"}},Mm=class extends Ni{initializeState(){this.state={layerProps:{},features:{}}}updateState({props:t,changeFlags:r}){if(!r.dataChanged)return;let{data:i}=this.props,s=i&&\"points\"in i&&\"polygons\"in i&&\"lines\"in i;this.setState({binary:s}),s?this._updateStateBinary({props:t,changeFlags:r}):this._updateStateJSON({props:t,changeFlags:r})}_updateStateBinary({props:t,changeFlags:r}){let i=_Z(t.data,this.encodePickingColor);this.setState({layerProps:i})}_updateStateJSON({props:t,changeFlags:r}){let i=AZ(t.data),s=this.getSubLayerRow.bind(this),n={},o={};if(Array.isArray(r.dataChanged)){let f=this.state.features;for(let _ in f)n[_]=f[_].slice(),o[_]=[];for(let _ of r.dataChanged){let w=AB(i,s,_);for(let I in f)o[I].push(Z3({data:n[I],getIndex:R=>R.__source.index,dataRange:_,replace:w[I]}))}}else n=AB(i,s);let c=gZ(n,o);this.setState({features:n,featuresDiff:o,layerProps:c})}getPickingInfo(t){let r=super.getPickingInfo(t),{index:i,sourceLayer:s}=r;return r.featureType=nAt.find(n=>s.id.startsWith(\"\".concat(this.id,\"-\").concat(n,\"-\"))),i>=0&&s.id.startsWith(\"\".concat(this.id,\"-points-text\"))&&this.state.binary&&(r.index=this.props.data.points.globalFeatureIds.value[i]),r}_updateAutoHighlight(t){let r=\"\".concat(this.id,\"-points-\"),i=t.featureType===\"points\";for(let s of this.getSubLayers())s.id.startsWith(r)===i&&s.updateAutoHighlight(t)}_renderPolygonLayer(){let{extruded:t,wireframe:r}=this.props,{layerProps:i}=this.state,s=\"polygons-fill\",n=this.shouldRenderSubLayer(s,i.polygons.data)&&this.getSubLayerClass(s,Q3.type);if(n){let o=$3(this,Q3.props),c=t&&r;return c||delete o.getLineColor,o.updateTriggers.lineColors=c,new n(o,this.getSubLayerProps({id:s,updateTriggers:o.updateTriggers}),i.polygons)}return null}_renderLineLayers(){let{extruded:t,stroked:r}=this.props,{layerProps:i}=this.state,s=\"polygons-stroke\",n=\"linestrings\",o=!t&&r&&this.shouldRenderSubLayer(s,i.polygonsOutline.data)&&this.getSubLayerClass(s,sS.type),c=this.shouldRenderSubLayer(n,i.lines.data)&&this.getSubLayerClass(n,sS.type);if(o||c){let f=$3(this,sS.props);return[o&&new o(f,this.getSubLayerProps({id:s,updateTriggers:f.updateTriggers}),i.polygonsOutline),c&&new c(f,this.getSubLayerProps({id:n,updateTriggers:f.updateTriggers}),i.lines)]}return null}_renderPointLayers(){let{pointType:t}=this.props,{layerProps:r,binary:i}=this.state,{highlightedObjectIndex:s}=this.props;!i&&Number.isFinite(s)&&(s=r.points.data.findIndex(c=>c.__source.index===s));let n=new Set(t.split(\"+\")),o=[];for(let c of n){let f=\"points-\".concat(c),_=nS[c],w=_&&this.shouldRenderSubLayer(f,r.points.data)&&this.getSubLayerClass(f,_.type);if(w){let I=$3(this,_.props),R=r.points;if(c===\"text\"&&i){let{instancePickingColors:N,...j}=R.data.attributes;R={...R,data:{...R.data,attributes:j}}}o.push(new w(I,this.getSubLayerProps({id:f,updateTriggers:I.updateTriggers,highlightedObjectIndex:s}),R))}}return o}renderLayers(){let{extruded:t}=this.props,r=this._renderPolygonLayer(),i=this._renderLineLayers(),s=this._renderPointLayers();return[!t&&r,i,s,t&&r]}getSubLayerAccessor(t){let{binary:r}=this.state;return!r||typeof t!=\"function\"?super.getSubLayerAccessor(t):(i,s)=>{let{data:n,index:o}=s,c=Zq(n,o);return t(c,s)}}};G(Mm,\"layerName\",\"GeoJsonLayer\");G(Mm,\"defaultProps\",sAt);var QXt=1/Math.PI*180,$Xt=1/180*Math.PI,oAt={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...oAt}};var oS=globalThis.mathgl.config;function aS(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ix(e,t,r){let i=oS.EPSILON;r&&(oS.EPSILON=r);try{if(e===t)return!0;if(aS(e)&&aS(t)){if(e.length!==t.length)return!1;for(let s=0;s{t([r,i],[s,n],o,c)},this.options):xZ(this.points,t,this.options)}modifyWindingDirection(t){return this.isFlatArray?mB(this.points,t,this.options):vZ(this.points,t,this.options)}};function vB(e,t,r=2,i,s=\"xy\"){let n=t&&t.length,o=n?t[0]*r:e.length,c=wZ(e,0,o,r,!0,i&&i[0],s),f=[];if(!c||c.next===c.prev)return f;let _,w,I,R,N,j,Q;if(n&&(c=dAt(e,t,c,r,i,s)),e.length>80*r){R=w=e[0],N=I=e[1];for(let et=r;etw&&(w=j),Q>I&&(I=Q);_=Math.max(w-R,I-N),_=_!==0?32767/_:0}return lS(c,f,r,R,N,_,0),f}function wZ(e,t,r,i,s,n,o){let c,f;n===void 0&&(n=nx(e,{start:t,end:r,size:i,plane:o}));let _=qg[o[0]],w=qg[o[1]];if(s===n<0)for(c=t;c=t;c-=i)f=bZ(c,e[c+_],e[c+w],f);return f&&eI(f,f.next)&&(uS(f),f=f.next),f}function Zg(e,t){if(!e)return e;t||(t=e);let r=e,i;do if(i=!1,!r.steiner&&(eI(r,r.next)||ys(r.prev,r,r.next)===0)){if(uS(r),r=t=r.prev,r===r.next)break;i=!0}else r=r.next;while(i||r!==t);return t}function lS(e,t,r,i,s,n,o){if(!e)return;!o&&n&&_At(e,i,s,n);let c=e,f,_;for(;e.prev!==e.next;){if(f=e.prev,_=e.next,n?uAt(e,i,s,n):cAt(e)){t.push(f.i/r|0),t.push(e.i/r|0),t.push(_.i/r|0),uS(e),e=_.next,c=_.next;continue}if(e=_,e===c){o?o===1?(e=hAt(Zg(e),t,r),lS(e,t,r,i,s,n,2)):o===2&&fAt(e,t,r,i,s,n):lS(Zg(e),t,r,i,s,n,1);break}}}function cAt(e){let t=e.prev,r=e,i=e.next;if(ys(t,r,i)>=0)return!1;let s=t.x,n=r.x,o=i.x,c=t.y,f=r.y,_=i.y,w=sn?s>o?s:o:n>o?n:o,N=c>f?c>_?c:_:f>_?f:_,j=i.next;for(;j!==t;){if(j.x>=w&&j.x<=R&&j.y>=I&&j.y<=N&&ox(s,c,n,f,o,_,j.x,j.y)&&ys(j.prev,j,j.next)>=0)return!1;j=j.next}return!0}function uAt(e,t,r,i){let s=e.prev,n=e,o=e.next;if(ys(s,n,o)>=0)return!1;let c=s.x,f=n.x,_=o.x,w=s.y,I=n.y,R=o.y,N=cf?c>_?c:_:f>_?f:_,et=w>I?w>R?w:R:I>R?I:R,Y=yB(N,j,t,r,i),K=yB(Q,et,t,r,i),J=e.prevZ,ut=e.nextZ;for(;J&&J.z>=Y&&ut&&ut.z<=K;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0||(J=J.prevZ,ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0))return!1;ut=ut.nextZ}for(;J&&J.z>=Y;){if(J.x>=N&&J.x<=Q&&J.y>=j&&J.y<=et&&J!==s&&J!==o&&ox(c,w,f,I,_,R,J.x,J.y)&&ys(J.prev,J,J.next)>=0)return!1;J=J.prevZ}for(;ut&&ut.z<=K;){if(ut.x>=N&&ut.x<=Q&&ut.y>=j&&ut.y<=et&&ut!==s&&ut!==o&&ox(c,w,f,I,_,R,ut.x,ut.y)&&ys(ut.prev,ut,ut.next)>=0)return!1;ut=ut.nextZ}return!0}function hAt(e,t,r){let i=e;do{let s=i.prev,n=i.next.next;!eI(s,n)&&SZ(s,i,i.next,n)&&cS(s,n)&&cS(n,s)&&(t.push(s.i/r|0),t.push(i.i/r|0),t.push(n.i/r|0),uS(i),uS(i.next),i=e=n),i=i.next}while(i!==e);return Zg(i)}function fAt(e,t,r,i,s,n){let o=e;do{let c=o.next.next;for(;c!==o.prev;){if(o.i!==c.i&&xAt(o,c)){let f=TZ(o,c);o=Zg(o,o.next),f=Zg(f,f.next),lS(o,t,r,i,s,n,0),lS(f,t,r,i,s,n,0);return}c=c.next}o=o.next}while(o!==e)}function dAt(e,t,r,i,s,n){let o=[],c,f,_,w,I;for(c=0,f=t.length;c=r.next.y&&r.next.y!==r.y){let R=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(R<=i&&R>n&&(n=R,o=r.x=r.x&&r.x>=f&&i!==r.x&&ox(s<_?i:n,s,f,_,s<_?n:i,s,r.x,r.y)&&(I=Math.abs(s-r.y)/(i-r.x),cS(r,e)&&(Io.x||r.x===o.x&&gAt(o,r)))&&(o=r,w=I)),r=r.next;while(r!==c);return o}function gAt(e,t){return ys(e.prev,e,t.prev)<0&&ys(t.next,e,e.next)<0}function _At(e,t,r,i){let s=e;do s.z===0&&(s.z=yB(s.x,s.y,t,r,i)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==e);s.prevZ.nextZ=null,s.prevZ=null,yAt(s)}function yAt(e){let t,r,i=1,s,n,o,c,f,_;do{for(n=e,e=null,_=null,s=0;n;){for(s++,c=n,o=0,r=0;r0||f>0&&c;)o!==0&&(f===0||!c||n.z<=c.z)?(t=n,n=n.nextZ,o--):(t=c,c=c.nextZ,f--),_?_.nextZ=t:e=t,t.prevZ=_,_=t;n=c}_.nextZ=null,i*=2}while(s>1);return e}function yB(e,t,r,i,s){return e=(e-r)*s|0,t=(t-i)*s|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function vAt(e){let t=e,r=e;do(t.x=(e-o)*(n-c)&&(e-o)*(i-c)>=(r-o)*(t-c)&&(r-o)*(n-c)>=(s-o)*(i-c)}function xAt(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!bAt(e,t)&&(cS(e,t)&&cS(t,e)&&wAt(e,t)&&(ys(e.prev,e,t.prev)||ys(e,t.prev,t))||eI(e,t)&&ys(e.prev,e,e.next)>0&&ys(t.prev,t,t.next)>0)}function ys(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eI(e,t){return e.x===t.x&&e.y===t.y}function SZ(e,t,r,i){let s=tI(ys(e,t,r)),n=tI(ys(e,t,i)),o=tI(ys(r,i,e)),c=tI(ys(r,i,t));return!!(s!==n&&o!==c||s===0&&J3(e,r,t)||n===0&&J3(e,i,t)||o===0&&J3(r,e,i)||c===0&&J3(r,t,i))}function J3(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function tI(e){return e>0?1:e<0?-1:0}function bAt(e,t){let r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&SZ(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function cS(e,t){return ys(e.prev,e,e.next)<0?ys(e,t,e.next)>=0&&ys(e,e.prev,t)>=0:ys(e,t,e.prev)<0||ys(e,e.next,t)<0}function wAt(e,t){let r=e,i=!1,s=(e.x+t.x)/2,n=(e.y+t.y)/2;do r.y>n!=r.next.y>n&&r.next.y!==r.y&&s<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==e);return i}function TZ(e,t){let r=new hS(e.i,e.x,e.y),i=new hS(t.i,t.x,t.y),s=e.next,n=t.prev;return e.next=t,t.prev=e,r.next=s,s.prev=r,i.next=r,r.prev=i,n.next=i,i.prev=n,i}function bZ(e,t,r,i){let s=new hS(e,t,r);return i?(s.next=i.next,s.prev=i,i.next.prev=s,i.next=s):(s.prev=s,s.next=s),s}function uS(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}var hS=class{constructor(t,r,i){G(this,\"i\",void 0),G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"prev\",null),G(this,\"next\",null),G(this,\"z\",0),G(this,\"prevZ\",null),G(this,\"nextZ\",null),G(this,\"steiner\",!1),this.i=t,this.x=r,this.y=i}};function PZ(e){e(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),e(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),e(\"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\"),e.WGS84=e[\"EPSG:4326\"],e[\"EPSG:3785\"]=e[\"EPSG:3857\"],e.GOOGLE=e[\"EPSG:3857\"],e[\"EPSG:900913\"]=e[\"EPSG:3857\"],e[\"EPSG:102113\"]=e[\"EPSG:3857\"]}var uf=1,hf=2,Ip=3,IZ=4,fS=5,xB=6378137,CZ=6356752314e-3,bB=.0066943799901413165,Yg=484813681109536e-20,de=Math.PI/2,LZ=.16666666666666666,kZ=.04722222222222222,RZ=.022156084656084655,Se=1e-10,vs=.017453292519943295,Sc=57.29577951308232,Ui=Math.PI/4,Em=Math.PI*2,xs=3.14159265359;var Rl={};Rl.greenwich=0;Rl.lisbon=-9.131906111111;Rl.paris=2.337229166667;Rl.bogota=-74.080916666667;Rl.madrid=-3.687938888889;Rl.rome=12.452333333333;Rl.bern=7.439583333333;Rl.jakarta=106.807719444444;Rl.ferro=-17.666666666667;Rl.brussels=4.367975;Rl.stockholm=18.058277777778;Rl.athens=23.7163375;Rl.oslo=10.722916666667;var DZ={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}};var OZ=/[\\s_\\-\\/\\(\\)]/g;function uu(e,t){if(e[t])return e[t];for(var r=Object.keys(e),i=t.toLowerCase().replace(OZ,\"\"),s=-1,n,o;++s=this.text.length)return;e=this.text[this.place++]}switch(this.state){case pS:return this.neutral(e);case FZ:return this.keyword(e);case rI:return this.quoted(e);case NZ:return this.afterquote(e);case zZ:return this.number(e);case wB:return}};Cp.prototype.afterquote=function(e){if(e==='\"'){this.word+='\"',this.state=rI;return}if(iI.test(e)){this.word=this.word.trim(),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in afterquote yet, index '+this.place)};Cp.prototype.afterItem=function(e){if(e===\",\"){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=pS;return}if(e===\"]\"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=pS,this.currentObject=this.stack.pop(),this.currentObject||(this.state=wB);return}};Cp.prototype.number=function(e){if(UZ.test(e)){this.word+=e;return}if(iI.test(e)){this.word=parseFloat(this.word),this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in number yet, index '+this.place)};Cp.prototype.quoted=function(e){if(e==='\"'){this.state=NZ;return}this.word+=e};Cp.prototype.keyword=function(e){if(IAt.test(e)){this.word+=e;return}if(e===\"[\"){var t=[];t.push(this.word),this.level++,this.root===null?this.root=t:this.currentObject.push(t),this.stack.push(this.currentObject),this.currentObject=t,this.state=pS;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in keyword yet, index '+this.place)};Cp.prototype.neutral=function(e){if(PAt.test(e)){this.word=e,this.state=FZ;return}if(e==='\"'){this.word=\"\",this.state=rI;return}if(UZ.test(e)){this.word=e,this.state=zZ;return}if(iI.test(e)){this.afterItem(e);return}throw new Error(`havn't handled \"`+e+'\" in neutral yet, index '+this.place)};Cp.prototype.output=function(){for(;this.place0?90:-90),e.lat_ts=e.lat1):!e.lat_ts&&e.lat0&&e.projName===\"Polar_Stereographic\"&&(e.lat_ts=e.lat0,e.lat0=dd(e.lat0>0?90:-90))}function nI(e){var t=BZ(e),r=t.shift(),i=t.shift();t.unshift([\"name\",i]),t.unshift([\"type\",r]);var s={};return Qg(t,s),RAt(s),s}function Ju(e){var t=this;if(arguments.length===2){var r=arguments[1];typeof r==\"string\"?r.charAt(0)===\"+\"?Ju[e]=dS(arguments[1]):Ju[e]=nI(arguments[1]):Ju[e]=r}else if(arguments.length===1){if(Array.isArray(e))return e.map(function(i){Array.isArray(i)?Ju.apply(t,i):Ju(i)});if(typeof e==\"string\"){if(e in Ju)return Ju[e]}else\"EPSG\"in e?Ju[\"EPSG:\"+e.EPSG]=e:\"ESRI\"in e?Ju[\"ESRI:\"+e.ESRI]=e:\"IAU2000\"in e?Ju[\"IAU2000:\"+e.IAU2000]=e:console.log(e);return}}PZ(Ju);var ax=Ju;function DAt(e){return typeof e==\"string\"}function OAt(e){return e in ax}var BAt=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];function FAt(e){return BAt.some(function(t){return e.indexOf(t)>-1})}var zAt=[\"3857\",\"900913\",\"3785\",\"102113\"];function NAt(e){var t=uu(e,\"authority\");if(t){var r=uu(t,\"epsg\");return r&&zAt.indexOf(r)>-1}}function UAt(e){var t=uu(e,\"extension\");if(t)return uu(t,\"proj4\")}function VAt(e){return e[0]===\"+\"}function jAt(e){if(DAt(e)){if(OAt(e))return ax[e];if(FAt(e)){var t=nI(e);if(NAt(t))return ax[\"EPSG:3857\"];var r=UAt(t);return r?dS(r):t}if(VAt(e))return dS(e)}else return e}var jZ=jAt;function SB(e,t){e=e||{};var r,i;if(!t)return e;for(i in t)r=t[i],r!==void 0&&(e[i]=r);return e}function ol(e,t,r){var i=e*t;return r/Math.sqrt(1-i*i)}function pd(e){return e<0?-1:1}function Ce(e){return Math.abs(e)<=xs?e:e-pd(e)*Em}function Dl(e,t,r){var i=e*r,s=.5*e;return i=Math.pow((1-i)/(1+i),s),Math.tan(.5*(de-t))/i}function Lp(e,t){for(var r=.5*e,i,s,n=de-2*Math.atan(t),o=0;o<=15;o++)if(i=e*Math.sin(n),s=de-2*Math.atan(t*Math.pow((1-i)/(1+i),r))-n,n+=s,Math.abs(s)<=1e-10)return n;return-9999}function GAt(){var e=this.b/this.a;this.es=1-e*e,\"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=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)}function WAt(e){var t=e.x,r=e.y;if(r*Sc>90&&r*Sc<-90&&t*Sc>180&&t*Sc<-180)return null;var i,s;if(Math.abs(Math.abs(r)-de)<=Se)return null;if(this.sphere)i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(Ui+.5*r));else{var n=Math.sin(r),o=Dl(this.e,r,n);i=this.x0+this.a*this.k0*Ce(t-this.long0),s=this.y0-this.a*this.k0*Math.log(o)}return e.x=i,e.y=s,e}function HAt(e){var t=e.x-this.x0,r=e.y-this.y0,i,s;if(this.sphere)s=de-2*Math.atan(Math.exp(-r/(this.a*this.k0)));else{var n=Math.exp(-r/(this.a*this.k0));if(s=Lp(this.e,n),s===-9999)return null}return i=Ce(this.long0+t/(this.a*this.k0)),e.x=i,e.y=s,e}var qAt=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],GZ={init:GAt,forward:WAt,inverse:HAt,names:qAt};function ZAt(){}function WZ(e){return e}var YAt=[\"longlat\",\"identity\"],HZ={init:ZAt,forward:WZ,inverse:WZ,names:YAt};var QAt=[GZ,HZ],sI={},oI=[];function qZ(e,t){var r=oI.length;return e.names?(oI[r]=e,e.names.forEach(function(i){sI[i.toLowerCase()]=r}),this):(console.log(t),!0)}function $At(e){if(!e)return!1;var t=e.toLowerCase();if(typeof sI[t]<\"u\"&&oI[sI[t]])return oI[sI[t]]}function XAt(){QAt.forEach(qZ)}var ZZ={start:XAt,add:qZ,get:$At};var Xr={};Xr.MERIT={a:6378137,rf:298.257,ellipseName:\"MERIT 1983\"};Xr.SGS85={a:6378136,rf:298.257,ellipseName:\"Soviet Geodetic System 85\"};Xr.GRS80={a:6378137,rf:298.257222101,ellipseName:\"GRS 1980(IUGG, 1980)\"};Xr.IAU76={a:6378140,rf:298.257,ellipseName:\"IAU 1976\"};Xr.airy={a:6377563396e-3,b:635625691e-2,ellipseName:\"Airy 1830\"};Xr.APL4={a:6378137,rf:298.25,ellipseName:\"Appl. Physics. 1965\"};Xr.NWL9D={a:6378145,rf:298.25,ellipseName:\"Naval Weapons Lab., 1965\"};Xr.mod_airy={a:6377340189e-3,b:6356034446e-3,ellipseName:\"Modified Airy\"};Xr.andrae={a:637710443e-2,rf:300,ellipseName:\"Andrae 1876 (Den., Iclnd.)\"};Xr.aust_SA={a:6378160,rf:298.25,ellipseName:\"Australian Natl & S. Amer. 1969\"};Xr.GRS67={a:6378160,rf:298.247167427,ellipseName:\"GRS 67(IUGG 1967)\"};Xr.bessel={a:6377397155e-3,rf:299.1528128,ellipseName:\"Bessel 1841\"};Xr.bess_nam={a:6377483865e-3,rf:299.1528128,ellipseName:\"Bessel 1841 (Namibia)\"};Xr.clrk66={a:63782064e-1,b:63565838e-1,ellipseName:\"Clarke 1866\"};Xr.clrk80={a:6378249145e-3,rf:293.4663,ellipseName:\"Clarke 1880 mod.\"};Xr.clrk80ign={a:63782492e-1,b:6356515,rf:293.4660213,ellipseName:\"Clarke 1880 (IGN)\"};Xr.clrk58={a:6378293645208759e-9,rf:294.2606763692654,ellipseName:\"Clarke 1858\"};Xr.CPM={a:63757387e-1,rf:334.29,ellipseName:\"Comm. des Poids et Mesures 1799\"};Xr.delmbr={a:6376428,rf:311.5,ellipseName:\"Delambre 1810 (Belgium)\"};Xr.engelis={a:637813605e-2,rf:298.2566,ellipseName:\"Engelis 1985\"};Xr.evrst30={a:6377276345e-3,rf:300.8017,ellipseName:\"Everest 1830\"};Xr.evrst48={a:6377304063e-3,rf:300.8017,ellipseName:\"Everest 1948\"};Xr.evrst56={a:6377301243e-3,rf:300.8017,ellipseName:\"Everest 1956\"};Xr.evrst69={a:6377295664e-3,rf:300.8017,ellipseName:\"Everest 1969\"};Xr.evrstSS={a:6377298556e-3,rf:300.8017,ellipseName:\"Everest (Sabah & Sarawak)\"};Xr.fschr60={a:6378166,rf:298.3,ellipseName:\"Fischer (Mercury Datum) 1960\"};Xr.fschr60m={a:6378155,rf:298.3,ellipseName:\"Fischer 1960\"};Xr.fschr68={a:6378150,rf:298.3,ellipseName:\"Fischer 1968\"};Xr.helmert={a:6378200,rf:298.3,ellipseName:\"Helmert 1906\"};Xr.hough={a:6378270,rf:297,ellipseName:\"Hough\"};Xr.intl={a:6378388,rf:297,ellipseName:\"International 1909 (Hayford)\"};Xr.kaula={a:6378163,rf:298.24,ellipseName:\"Kaula 1961\"};Xr.lerch={a:6378139,rf:298.257,ellipseName:\"Lerch 1979\"};Xr.mprts={a:6397300,rf:191,ellipseName:\"Maupertius 1738\"};Xr.new_intl={a:63781575e-1,b:63567722e-1,ellipseName:\"New International 1967\"};Xr.plessis={a:6376523,rf:6355863,ellipseName:\"Plessis 1817 (France)\"};Xr.krass={a:6378245,rf:298.3,ellipseName:\"Krassovsky, 1942\"};Xr.SEasia={a:6378155,b:63567733205e-4,ellipseName:\"Southeast Asia\"};Xr.walbeck={a:6376896,b:63558348467e-4,ellipseName:\"Walbeck\"};Xr.WGS60={a:6378165,rf:298.3,ellipseName:\"WGS 60\"};Xr.WGS66={a:6378145,rf:298.25,ellipseName:\"WGS 66\"};Xr.WGS7={a:6378135,rf:298.26,ellipseName:\"WGS 72\"};var YZ=Xr.WGS84={a:6378137,rf:298.257223563,ellipseName:\"WGS 84\"};Xr.sphere={a:6370997,b:6370997,ellipseName:\"Normal Sphere (r=6370997)\"};function QZ(e,t,r,i){var s=e*e,n=t*t,o=(s-n)/s,c=0;i?(e*=1-o*(LZ+o*(kZ+o*RZ)),s=e*e,o=0):c=Math.sqrt(o);var f=(s-n)/n;return{es:o,e:c,ep2:f}}function $Z(e,t,r,i,s){if(!e){var n=uu(Xr,i);n||(n=YZ),e=n.a,t=n.b,r=n.rf}return r&&!t&&(t=(1-1/r)*e),(r===0||Math.abs(e-t)3&&(c.datum_params[3]!==0||c.datum_params[4]!==0||c.datum_params[5]!==0||c.datum_params[6]!==0)&&(c.datum_type=hf,c.datum_params[3]*=Yg,c.datum_params[4]*=Yg,c.datum_params[5]*=Yg,c.datum_params[6]=c.datum_params[6]/1e6+1)),o&&(c.datum_type=Ip,c.grids=o),c.a=r,c.b=i,c.es=s,c.ep2=n,c}var XZ=KAt;var KZ={};function MB(e,t){var r=new DataView(t),i=tmt(r),s=emt(r,i),n=rmt(r,s,i),o={header:s,subgrids:n};return KZ[e]=o,o}function JZ(e){if(e===void 0)return null;var t=e.split(\",\");return t.map(JAt)}function JAt(e){if(e.length===0)return null;var t=e[0]===\"@\";return t&&(e=e.slice(1)),e===\"null\"?{name:\"null\",mandatory:!t,grid:null,isNull:!0}:{name:e,mandatory:!t,grid:KZ[e]||null,isNull:!1}}function lx(e){return e/3600*Math.PI/180}function tmt(e){var t=e.getInt32(8,!1);return t===11?!1:(t=e.getInt32(8,!0),t!==11&&console.warn(\"Failed to detect nadgrid endian-ness, defaulting to little-endian\"),!0)}function emt(e,t){return{nFields:e.getInt32(8,t),nSubgridFields:e.getInt32(24,t),nSubgrids:e.getInt32(40,t),shiftType:TB(e,56,64).trim(),fromSemiMajorAxis:e.getFloat64(120,t),fromSemiMinorAxis:e.getFloat64(136,t),toSemiMajorAxis:e.getFloat64(152,t),toSemiMinorAxis:e.getFloat64(168,t)}}function TB(e,t,r){return String.fromCharCode.apply(null,new Uint8Array(e.buffer.slice(t,r)))}function rmt(e,t,r){for(var i=176,s=[],n=0;n5e-11?!1:e.datum_type===uf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]:e.datum_type===hf?e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]:!0}function aI(e,t,r){var i=e.x,s=e.y,n=e.z?e.z:0,o,c,f,_;if(s<-de&&s>-1.001*de)s=-de;else if(s>de&&s<1.001*de)s=de;else{if(s<-de)return{x:-1/0,y:-1/0,z:e.z};if(s>de)return{x:1/0,y:1/0,z:e.z}}return i>Math.PI&&(i-=2*Math.PI),c=Math.sin(s),_=Math.cos(s),f=c*c,o=r/Math.sqrt(1-t*f),{x:(o+n)*_*Math.cos(i),y:(o+n)*_*Math.sin(i),z:(o*(1-t)+n)*c}}function lI(e,t,r,i){var s=1e-12,n=s*s,o=30,c,f,_,w,I,R,N,j,Q,et,Y,K,J,ut=e.x,Et=e.y,kt=e.z?e.z:0,Xt,qt,le;if(c=Math.sqrt(ut*ut+Et*Et),f=Math.sqrt(ut*ut+Et*Et+kt*kt),c/rn&&Ji.y||j>i.x||Yc&&Math.abs(f.y)>c);if(o<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),i;i.x=Ce(n.x+r.ll[0]),i.y=n.y+r.ll[1]}else isNaN(n.x)||(i.x=e.x+n.x,i.y=e.y+n.y);return i}function nY(e,t){var r={x:e.x/t.del[0],y:e.y/t.del[1]},i={x:Math.floor(r.x),y:Math.floor(r.y)},s={x:r.x-1*i.x,y:r.y-1*i.y},n={x:Number.NaN,y:Number.NaN},o;if(i.x<0||i.x>=t.lim[0]||i.y<0||i.y>=t.lim[1])return n;o=i.y*t.lim[0]+i.x;var c={x:t.cvs[o][0],y:t.cvs[o][1]};o++;var f={x:t.cvs[o][0],y:t.cvs[o][1]};o+=t.lim[0];var _={x:t.cvs[o][0],y:t.cvs[o][1]};o--;var w={x:t.cvs[o][0],y:t.cvs[o][1]},I=s.x*s.y,R=s.x*(1-s.y),N=(1-s.x)*(1-s.y),j=(1-s.x)*s.y;return n.x=N*c.x+R*f.x+j*w.x+I*_.x,n.y=N*c.y+R*f.y+j*w.y+I*_.y,n}function EB(e,t,r){var i=r.x,s=r.y,n=r.z||0,o,c,f,_={};for(f=0;f<3;f++)if(!(t&&f===2&&r.z===void 0))switch(f===0?(o=i,\"ew\".indexOf(e.axis[f])!==-1?c=\"x\":c=\"y\"):f===1?(o=s,\"ns\".indexOf(e.axis[f])!==-1?c=\"y\":c=\"x\"):(o=n,c=\"z\"),e.axis[f]){case\"e\":_[c]=o;break;case\"w\":_[c]=-o;break;case\"n\":_[c]=o;break;case\"s\":_[c]=-o;break;case\"u\":r[c]!==void 0&&(_.z=o);break;case\"d\":r[c]!==void 0&&(_.z=-o);break;default:return null}return _}function uI(e){var t={x:e[0],y:e[1]};return e.length>2&&(t.z=e[2]),e.length>3&&(t.m=e[3]),t}function aY(e){oY(e.x),oY(e.y)}function oY(e){if(typeof Number.isFinite==\"function\"){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(typeof e!=\"number\"||e!==e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}function amt(e,t){return(e.datum.datum_type===uf||e.datum.datum_type===hf||e.datum.datum_type===Ip)&&t.datumCode!==\"WGS84\"||(t.datum.datum_type===uf||t.datum.datum_type===hf||t.datum.datum_type===Ip)&&e.datumCode!==\"WGS84\"}function $g(e,t,r,i){var s;Array.isArray(r)?r=uI(r):r={x:r.x,y:r.y,z:r.z,m:r.m};var n=r.z!==void 0;if(aY(r),e.datum&&t.datum&&amt(e,t)&&(s=new Pm(\"WGS84\"),r=$g(e,s,r,i),e=s),i&&e.axis!==\"enu\"&&(r=EB(e,!1,r)),e.projName===\"longlat\")r={x:r.x*vs,y:r.y*vs,z:r.z||0};else if(e.to_meter&&(r={x:r.x*e.to_meter,y:r.y*e.to_meter,z:r.z||0}),r=e.inverse(r),!r)return;if(e.from_greenwich&&(r.x+=e.from_greenwich),r=sY(e.datum,t.datum,r),!!r)return t.from_greenwich&&(r={x:r.x-t.from_greenwich,y:r.y,z:r.z||0}),t.projName===\"longlat\"?r={x:r.x*Sc,y:r.y*Sc,z:r.z||0}:(r=t.forward(r),t.to_meter&&(r={x:r.x/t.to_meter,y:r.y/t.to_meter,z:r.z||0})),i&&t.axis!==\"enu\"?EB(t,!0,r):(r&&!n&&delete r.z,r)}var lY=Pm(\"WGS84\");function PB(e,t,r,i){var s,n,o;return Array.isArray(r)?(s=$g(e,t,r,i)||{x:NaN,y:NaN},r.length>2?typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"?typeof s.z==\"number\"?[s.x,s.y,s.z].concat(r.splice(3)):[s.x,s.y,r[2]].concat(r.splice(3)):[s.x,s.y].concat(r.splice(2)):[s.x,s.y]):(n=$g(e,t,r,i),o=Object.keys(r),o.length===2||o.forEach(function(c){if(typeof e.name<\"u\"&&e.name===\"geocent\"||typeof t.name<\"u\"&&t.name===\"geocent\"){if(c===\"x\"||c===\"y\"||c===\"z\")return}else if(c===\"x\"||c===\"y\")return;n[c]=r[c]}),n)}function cY(e){return e instanceof Pm?e:e.oProj?e.oProj:Pm(e)}function lmt(e,t,r){e=cY(e);var i=!1,s;return typeof t>\"u\"?(t=e,e=lY,i=!0):(typeof t.x<\"u\"||Array.isArray(t))&&(r=t,t=e,e=lY,i=!0),t=cY(t),r?PB(e,t,r):(s={forward:function(n,o){return PB(e,t,n,o)},inverse:function(n,o){return PB(t,e,n,o)}},i&&(s.oProj=t),s)}var Tc=lmt;var uY=6,fY=\"AJSAJS\",dY=\"AFAFAF\",ux=65,Mc=73,th=79,AS=86,mS=90,pY={forward:CB,inverse:cmt,toPoint:LB};function CB(e,t){return t=t||5,fmt(umt({lat:e[1],lon:e[0]}),t)}function cmt(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat,t.lon,t.lat]:[t.left,t.bottom,t.right,t.top]}function LB(e){var t=kB(mY(e.toUpperCase()));return t.lat&&t.lon?[t.lon,t.lat]:[(t.left+t.right)/2,(t.top+t.bottom)/2]}function IB(e){return e*(Math.PI/180)}function hY(e){return 180*(e/Math.PI)}function umt(e){var t=e.lat,r=e.lon,i=6378137,s=.00669438,n=.9996,o,c,f,_,w,I,R,N=IB(t),j=IB(r),Q,et;et=Math.floor((r+180)/6)+1,r===180&&(et=60),t>=56&&t<64&&r>=3&&r<12&&(et=32),t>=72&&t<84&&(r>=0&&r<9?et=31:r>=9&&r<21?et=33:r>=21&&r<33?et=35:r>=33&&r<42&&(et=37)),o=(et-1)*6-180+3,Q=IB(o),c=s/(1-s),f=i/Math.sqrt(1-s*Math.sin(N)*Math.sin(N)),_=Math.tan(N)*Math.tan(N),w=c*Math.cos(N)*Math.cos(N),I=Math.cos(N)*(j-Q),R=i*((1-s/4-3*s*s/64-5*s*s*s/256)*N-(3*s/8+3*s*s/32+45*s*s*s/1024)*Math.sin(2*N)+(15*s*s/256+45*s*s*s/1024)*Math.sin(4*N)-35*s*s*s/3072*Math.sin(6*N));var Y=n*f*(I+(1-_+w)*I*I*I/6+(5-18*_+_*_+72*w-58*c)*I*I*I*I*I/120)+5e5,K=n*(R+f*Math.tan(N)*(I*I/2+(5-_+9*w+4*w*w)*I*I*I*I/24+(61-58*_+_*_+600*w-330*c)*I*I*I*I*I*I/720));return t<0&&(K+=1e7),{northing:Math.round(K),easting:Math.round(Y),zoneNumber:et,zoneLetter:hmt(t)}}function kB(e){var t=e.northing,r=e.easting,i=e.zoneLetter,s=e.zoneNumber;if(s<0||s>60)return null;var n=.9996,o=6378137,c=.00669438,f,_=(1-Math.sqrt(1-c))/(1+Math.sqrt(1-c)),w,I,R,N,j,Q,et,Y,K,J=r-5e5,ut=t;i<\"N\"&&(ut-=1e7),et=(s-1)*6-180+3,f=c/(1-c),Q=ut/n,Y=Q/(o*(1-c/4-3*c*c/64-5*c*c*c/256)),K=Y+(3*_/2-27*_*_*_/32)*Math.sin(2*Y)+(21*_*_/16-55*_*_*_*_/32)*Math.sin(4*Y)+151*_*_*_/96*Math.sin(6*Y),w=o/Math.sqrt(1-c*Math.sin(K)*Math.sin(K)),I=Math.tan(K)*Math.tan(K),R=f*Math.cos(K)*Math.cos(K),N=o*(1-c)/Math.pow(1-c*Math.sin(K)*Math.sin(K),1.5),j=J/(w*n);var Et=K-w*Math.tan(K)/N*(j*j/2-(5+3*I+10*R-4*R*R-9*f)*j*j*j*j/24+(61+90*I+298*R+45*I*I-252*f-3*R*R)*j*j*j*j*j*j/720);Et=hY(Et);var kt=(j-(1+2*I+R)*j*j*j/6+(5-2*R+28*I-3*R*R+8*f+24*I*I)*j*j*j*j*j/120)/Math.cos(K);kt=et+hY(kt);var Xt;if(e.accuracy){var qt=kB({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});Xt={top:qt.lat,right:qt.lon,bottom:Et,left:kt}}else Xt={lat:Et,lon:kt};return Xt}function hmt(e){var t=\"Z\";return 84>=e&&e>=72?t=\"X\":72>e&&e>=64?t=\"W\":64>e&&e>=56?t=\"V\":56>e&&e>=48?t=\"U\":48>e&&e>=40?t=\"T\":40>e&&e>=32?t=\"S\":32>e&&e>=24?t=\"R\":24>e&&e>=16?t=\"Q\":16>e&&e>=8?t=\"P\":8>e&&e>=0?t=\"N\":0>e&&e>=-8?t=\"M\":-8>e&&e>=-16?t=\"L\":-16>e&&e>=-24?t=\"K\":-24>e&&e>=-32?t=\"J\":-32>e&&e>=-40?t=\"H\":-40>e&&e>=-48?t=\"G\":-48>e&&e>=-56?t=\"F\":-56>e&&e>=-64?t=\"E\":-64>e&&e>=-72?t=\"D\":-72>e&&e>=-80&&(t=\"C\"),t}function fmt(e,t){var r=\"00000\"+e.easting,i=\"00000\"+e.northing;return e.zoneNumber+e.zoneLetter+dmt(e.easting,e.northing,e.zoneNumber)+r.substr(r.length-5,t)+i.substr(i.length-5,t)}function dmt(e,t,r){var i=AY(r),s=Math.floor(e/1e5),n=Math.floor(t/1e5)%20;return pmt(s,n,i)}function AY(e){var t=e%uY;return t===0&&(t=uY),t}function pmt(e,t,r){var i=r-1,s=fY.charCodeAt(i),n=dY.charCodeAt(i),o=s+e-1,c=n+t,f=!1;o>mS&&(o=o-mS+ux-1,f=!0),(o===Mc||sMc||(o>Mc||sth||(o>th||smS&&(o=o-mS+ux-1),c>AS?(c=c-AS+ux-1,f=!0):f=!1,(c===Mc||nMc||(c>Mc||nth||(c>th||nAS&&(c=c-AS+ux-1);var _=String.fromCharCode(o)+String.fromCharCode(c);return _}function mY(e){if(e&&e.length===0)throw\"MGRSPoint coverting from nothing\";for(var t=e.length,r=null,i=\"\",s,n=0;!/[A-Z]/.test(s=e.charAt(n));){if(n>=2)throw\"MGRSPoint bad conversion from: \"+e;i+=s,n++}var o=parseInt(i,10);if(n===0||n+3>t)throw\"MGRSPoint bad conversion from: \"+e;var c=e.charAt(n++);if(c<=\"A\"||c===\"B\"||c===\"Y\"||c>=\"Z\"||c===\"I\"||c===\"O\")throw\"MGRSPoint zone letter \"+c+\" not handled: \"+e;r=e.substring(n,n+=2);for(var f=AY(o),_=Amt(r.charAt(0),f),w=mmt(r.charAt(1),f);w0&&(Q=1e5/Math.pow(10,R),et=e.substring(n,n+R),N=parseFloat(et)*Q,Y=e.substring(n+R),j=parseFloat(Y)*Q),K=N+_,J=j+w,{easting:K,northing:J,zoneLetter:c,zoneNumber:o,accuracy:Q}}function Amt(e,t){for(var r=fY.charCodeAt(t-1),i=1e5,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>mS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function mmt(e,t){if(e>\"V\")throw\"MGRSPoint given invalid Northing \"+e;for(var r=dY.charCodeAt(t-1),i=0,s=!1;r!==e.charCodeAt(0);){if(r++,r===Mc&&r++,r===th&&r++,r>AS){if(s)throw\"Bad character: \"+e;r=ux,s=!0}i+=1e5}return i}function gmt(e){var t;switch(e){case\"C\":t=11e5;break;case\"D\":t=2e6;break;case\"E\":t=28e5;break;case\"F\":t=37e5;break;case\"G\":t=46e5;break;case\"H\":t=55e5;break;case\"J\":t=64e5;break;case\"K\":t=73e5;break;case\"L\":t=82e5;break;case\"M\":t=91e5;break;case\"N\":t=0;break;case\"P\":t=8e5;break;case\"Q\":t=17e5;break;case\"R\":t=26e5;break;case\"S\":t=35e5;break;case\"T\":t=44e5;break;case\"U\":t=53e5;break;case\"V\":t=62e5;break;case\"W\":t=7e6;break;case\"X\":t=79e5;break;default:t=-1}if(t>=0)return t;throw\"Invalid zone letter: \"+e}function hx(e,t,r){if(!(this instanceof hx))return new hx(e,t,r);if(Array.isArray(e))this.x=e[0],this.y=e[1],this.z=e[2]||0;else if(typeof e==\"object\")this.x=e.x,this.y=e.y,this.z=e.z||0;else if(typeof e==\"string\"&&typeof t>\"u\"){var i=e.split(\",\");this.x=parseFloat(i[0],10),this.y=parseFloat(i[1],10),this.z=parseFloat(i[2],10)||0}else this.x=e,this.y=t,this.z=r||0;console.warn(\"proj4.Point will be removed in version 3, use proj4.toPoint\")}hx.fromMGRS=function(e){return new hx(LB(e))};hx.prototype.toMGRS=function(e){return CB([this.x,this.y],e)};var gY=hx;var _mt=1,ymt=.25,_Y=.046875,yY=.01953125,vY=.01068115234375,vmt=.75,xmt=.46875,bmt=.013020833333333334,wmt=.007120768229166667,Smt=.3645833333333333,Tmt=.005696614583333333,Mmt=.3076171875;function hI(e){var t=[];t[0]=_mt-e*(ymt+e*(_Y+e*(yY+e*vY))),t[1]=e*(vmt-e*(_Y+e*(yY+e*vY)));var r=e*e;return t[2]=r*(xmt-e*(bmt+e*wmt)),r*=e,t[3]=r*(Smt-e*Tmt),t[4]=r*e*Mmt,t}function Xg(e,t,r,i){return r*=t,t*=t,i[0]*e-r*(i[1]+t*(i[2]+t*(i[3]+t*i[4])))}var Emt=20;function fI(e,t,r){for(var i=1/(1-t),s=e,n=Emt;n;--n){var o=Math.sin(s),c=1-t*o*o;if(c=(Xg(s,o,Math.cos(s),r)-e)*(c*Math.sqrt(c))*i,s-=c,Math.abs(c)Se?Math.tan(r):0,Q=Math.pow(j,2),et=Math.pow(Q,2);s=1-this.es*Math.pow(c,2),w=w/Math.sqrt(s);var Y=Xg(r,c,f,this.en);n=this.a*(this.k0*w*(1+I/6*(1-Q+R+I/20*(5-18*Q+et+14*R-58*Q*R+I/42*(61+179*et-et*Q-479*Q)))))+this.x0,o=this.a*(this.k0*(Y-this.ml0+c*i*w/2*(1+I/12*(5-Q+9*R+4*N+I/30*(61+et-58*Q+270*R-330*Q*R+I/56*(1385+543*et-et*Q-3111*Q))))))+this.y0}else{var _=f*Math.sin(i);if(Math.abs(Math.abs(_)-1)=1){if(_-1>Se)return 93;o=0}else o=Math.acos(o);r<0&&(o=-o),o=this.a*this.k0*(o-this.lat0)+this.y0}return e.x=n,e.y=o,e}function Cmt(e){var t,r,i,s,n=(e.x-this.x0)*(1/this.a),o=(e.y-this.y0)*(1/this.a);if(this.es)if(t=this.ml0+o/this.k0,r=fI(t,this.es,this.en),Math.abs(r)Se?Math.tan(r):0,j=this.ep2*Math.pow(R,2),Q=Math.pow(j,2),et=Math.pow(N,2),Y=Math.pow(et,2);t=1-this.es*Math.pow(I,2);var K=n*Math.sqrt(t)/this.k0,J=Math.pow(K,2);t=t*N,i=r-t*J/(1-this.es)*.5*(1-J/12*(5+3*et-9*j*et+j-4*Q-J/30*(61+90*et-252*j*et+45*Y+46*j-J/56*(1385+3633*et+4095*Y+1574*Y*et)))),s=Ce(this.long0+K*(1-J/6*(1+2*et+j-J/20*(5+28*et+24*Y+8*j*et+6*j-J/42*(61+662*et+1320*Y+720*Y*et))))/R)}else i=de*pd(o),s=0;else{var c=Math.exp(n/this.k0),f=.5*(c-1/c),_=this.lat0+o/this.k0,w=Math.cos(_);t=Math.sqrt((1-Math.pow(w,2))/(1+Math.pow(f,2))),i=Math.asin(t),o<0&&(i=-i),f===0&&w===0?s=0:s=Ce(Math.atan2(f,w)+this.long0)}return e.x=s,e.y=i,e}var Lmt=[\"Fast_Transverse_Mercator\",\"Fast Transverse Mercator\"],fx={init:Pmt,forward:Imt,inverse:Cmt,names:Lmt};function dI(e){var t=Math.exp(e);return t=(t-1/t)/2,t}function Ta(e,t){e=Math.abs(e),t=Math.abs(t);var r=Math.max(e,t),i=Math.min(e,t)/(r||1);return r*Math.sqrt(1+Math.pow(i,2))}function xY(e){var t=1+e,r=t-1;return r===0?e:e*Math.log(t)/r}function bY(e){var t=Math.abs(e);return t=xY(t*(1+t/(Ta(1,t)+1))),e<0?-t:t}function pI(e,t){for(var r=2*Math.cos(2*t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return t+o*Math.sin(2*t)}function wY(e,t){for(var r=2*Math.cos(t),i=e.length-1,s=e[i],n=0,o;--i>=0;)o=-n+r*s+e[i],n=s,s=o;return Math.sin(t)*o}function SY(e){var t=Math.exp(e);return t=(t+1/t)/2,t}function RB(e,t,r){for(var i=Math.sin(t),s=Math.cos(t),n=dI(r),o=SY(r),c=2*s*o,f=-2*i*n,_=e.length-1,w=e[_],I=0,R=0,N=0,j,Q;--_>=0;)j=R,Q=I,R=w,I=N,w=-j+c*R-f*I+e[_],N=-Q+f*R+c*I;return c=i*o,f=s*n,[c*w-f*N,c*N+f*w]}function kmt(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION[\"Fast_Transverse_Mercator\"] in the WKT.');this.approx&&(fx.init.apply(this),this.forward=fx.forward,this.inverse=fx.inverse),this.x0=this.x0!==void 0?this.x0:0,this.y0=this.y0!==void 0?this.y0:0,this.long0=this.long0!==void 0?this.long0:0,this.lat0=this.lat0!==void 0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es)),t=e/(2-e),r=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675)))))),this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725)))))),r=r*t,this.cgb[1]=r*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945))))),this.cbg[1]=r*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945))))),r=r*t,this.cgb[2]=r*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835)))),this.cbg[2]=r*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835)))),r=r*t,this.cgb[3]=r*(4279/630+t*(-332/35+t*(-399572/14175))),this.cbg[3]=r*(1237/630+t*(-12/5+t*(-24832/14175))),r=r*t,this.cgb[4]=r*(4174/315+t*(-144838/6237)),this.cbg[4]=r*(-734/315+t*(109598/31185)),r=r*t,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(t,2),this.Qn=this.k0/(1+t)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800)))))),this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800)))))),this.utg[1]=r*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720))))),this.gtu[1]=r*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360))))),r=r*t,this.utg[2]=r*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720)))),this.gtu[2]=r*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440)))),r=r*t,this.utg[3]=r*(-4397/161280+t*(11/504+t*(830251/7257600))),this.gtu[3]=r*(49561/161280+t*(-179/168+t*(6601661/7257600))),r=r*t,this.utg[4]=r*(-4583/161280+t*(108847/3991680)),this.gtu[4]=r*(34729/80640+t*(-3418889/1995840)),r=r*t,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=r*(212378941/319334400);var i=pI(this.cbg,this.lat0);this.Zb=-this.Qn*(i+wY(this.gtu,2*i))}function Rmt(e){var t=Ce(e.x-this.long0),r=e.y;r=pI(this.cbg,r);var i=Math.sin(r),s=Math.cos(r),n=Math.sin(t),o=Math.cos(t);r=Math.atan2(i,o*s),t=Math.atan2(n*s,Ta(i,s*o)),t=bY(Math.tan(t));var c=RB(this.gtu,2*r,2*t);r=r+c[0],t=t+c[1];var f,_;return Math.abs(t)<=2.623395162778?(f=this.a*(this.Qn*t)+this.x0,_=this.a*(this.Qn*r+this.Zb)+this.y0):(f=1/0,_=1/0),e.x=f,e.y=_,e}function Dmt(e){var t=(e.x-this.x0)*(1/this.a),r=(e.y-this.y0)*(1/this.a);r=(r-this.Zb)/this.Qn,t=t/this.Qn;var i,s;if(Math.abs(t)<=2.623395162778){var n=RB(this.utg,2*r,2*t);r=r+n[0],t=t+n[1],t=Math.atan(dI(t));var o=Math.sin(r),c=Math.cos(r),f=Math.sin(t),_=Math.cos(t);r=Math.atan2(o*_,Ta(f,_*c)),t=Math.atan2(f,_*c),i=Ce(t+this.long0),s=pI(this.cgb,r)}else i=1/0,s=1/0;return e.x=i,e.y=s,e}var Omt=[\"Extended_Transverse_Mercator\",\"Extended Transverse Mercator\",\"etmerc\",\"Transverse_Mercator\",\"Transverse Mercator\",\"Gauss Kruger\",\"Gauss_Kruger\",\"tmerc\"],dx={init:kmt,forward:Rmt,inverse:Dmt,names:Omt};function TY(e,t){if(e===void 0){if(e=Math.floor((Ce(t)+Math.PI)*30/Math.PI)+1,e<0)return 0;if(e>60)return 60}return e}var Bmt=\"etmerc\";function Fmt(){var e=TY(this.zone,this.long0);if(e===void 0)throw new Error(\"unknown utm zone\");this.lat0=0,this.long0=(6*Math.abs(e)-183)*vs,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,dx.init.apply(this),this.forward=dx.forward,this.inverse=dx.inverse}var zmt=[\"Universal Transverse Mercator System\",\"utm\"],MY={init:Fmt,names:zmt,dependsOn:Bmt};function AI(e,t){return Math.pow((1-e)/(1+e),t)}var Nmt=20;function Umt(){var e=Math.sin(this.lat0),t=Math.cos(this.lat0);t*=t,this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e),this.C=Math.sqrt(1+this.es*t*t/(1-this.es)),this.phic0=Math.asin(e/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Ui)/(Math.pow(Math.tan(.5*this.lat0+Ui),this.C)*AI(this.e*e,this.ratexp))}function Vmt(e){var t=e.x,r=e.y;return e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Ui),this.C)*AI(this.e*Math.sin(r),this.ratexp))-de,e.x=this.C*t,e}function jmt(e){for(var t=1e-14,r=e.x/this.C,i=e.y,s=Math.pow(Math.tan(.5*i+Ui)/this.K,1/this.C),n=Nmt;n>0&&(i=2*Math.atan(s*AI(this.e*Math.sin(e.y),-.5*this.e))-de,!(Math.abs(i-e.y)0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Se&&Math.abs(Math.cos(this.lat_ts))>Se&&(this.k0=.5*this.cons*ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Dl(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ol(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-de,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))}function $mt(e){var t=e.x,r=e.y,i=Math.sin(r),s=Math.cos(r),n,o,c,f,_,w,I=Ce(t-this.long0);return Math.abs(Math.abs(t-this.long0)-Math.PI)<=Se&&Math.abs(r+this.lat0)<=Se?(e.x=NaN,e.y=NaN,e):this.sphere?(n=2*this.k0/(1+this.sinlat0*i+this.coslat0*s*Math.cos(I)),e.x=this.a*n*s*Math.sin(I)+this.x0,e.y=this.a*n*(this.coslat0*i-this.sinlat0*s*Math.cos(I))+this.y0,e):(o=2*Math.atan(this.ssfn_(r,i,this.e))-de,f=Math.cos(o),c=Math.sin(o),Math.abs(this.coslat0)<=Se?(_=Dl(this.e,r*this.con,this.con*i),w=2*this.a*this.k0*_/this.cons,e.x=this.x0+w*Math.sin(t-this.long0),e.y=this.y0-this.con*w*Math.cos(t-this.long0),e):(Math.abs(this.sinlat0)0?t=Ce(this.long0+Math.atan2(e.x,-1*e.y)):t=Ce(this.long0+Math.atan2(e.x,e.y)):t=Ce(this.long0+Math.atan2(e.x*Math.sin(c),o*this.coslat0*Math.cos(c)-e.y*this.sinlat0*Math.sin(c))),e.x=t,e.y=r,e)}else if(Math.abs(this.coslat0)<=Se){if(o<=Se)return r=this.lat0,t=this.long0,e.x=t,e.y=r,e;e.x*=this.con,e.y*=this.con,i=o*this.cons/(2*this.a*this.k0),r=this.con*Lp(this.e,i),t=this.con*Ce(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else s=2*Math.atan(o*this.cosX0/(2*this.a*this.k0*this.ms1)),t=this.long0,o<=Se?n=this.X0:(n=Math.asin(Math.cos(s)*this.sinX0+e.y*Math.sin(s)*this.cosX0/o),t=Ce(this.long0+Math.atan2(e.x*Math.sin(s),o*this.cosX0*Math.cos(s)-e.y*this.sinX0*Math.sin(s)))),r=-1*Lp(this.e,Math.tan(.5*(de+n)));return e.x=t,e.y=r,e}var Kmt=[\"stere\",\"Stereographic_South_Pole\",\"Polar Stereographic (variant B)\",\"Polar_Stereographic\"],PY={init:Qmt,forward:$mt,inverse:Xmt,names:Kmt,ssfn_:Ymt};function Jmt(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e),r=this.a,i=this.rf,s=1/i,n=2*s-Math.pow(s,2),o=this.e=Math.sqrt(n);this.R=this.k0*r*Math.sqrt(1-n)/(1-n*Math.pow(t,2)),this.alpha=Math.sqrt(1+n/(1-n)*Math.pow(Math.cos(e),4)),this.b0=Math.asin(t/this.alpha);var c=Math.log(Math.tan(Math.PI/4+this.b0/2)),f=Math.log(Math.tan(Math.PI/4+e/2)),_=Math.log((1+o*t)/(1-o*t));this.K=c-this.alpha*f+this.alpha*o/2*_}function t0t(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y))),i=-this.alpha*(t+r)+this.K,s=2*(Math.atan(Math.exp(i))-Math.PI/4),n=this.alpha*(e.x-this.lambda0),o=Math.atan(Math.sin(n)/(Math.sin(this.b0)*Math.tan(s)+Math.cos(this.b0)*Math.cos(n))),c=Math.asin(Math.cos(this.b0)*Math.sin(s)-Math.sin(this.b0)*Math.cos(s)*Math.cos(n));return e.y=this.R/2*Math.log((1+Math.sin(c))/(1-Math.sin(c)))+this.y0,e.x=this.R*o+this.x0,e}function e0t(e){for(var t=e.x-this.x0,r=e.y-this.y0,i=t/this.R,s=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),n=Math.asin(Math.cos(this.b0)*Math.sin(s)+Math.sin(this.b0)*Math.cos(s)*Math.cos(i)),o=Math.atan(Math.sin(i)/(Math.cos(this.b0)*Math.cos(i)-Math.sin(this.b0)*Math.tan(s))),c=this.lambda0+o/this.alpha,f=0,_=n,w=-1e3,I=0;Math.abs(_-w)>1e-7;){if(++I>20)return;f=1/this.alpha*(Math.log(Math.tan(Math.PI/4+n/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(_))/2)),w=_,_=2*Math.atan(Math.exp(f))-Math.PI/2}return e.x=c,e.y=_,e}var r0t=[\"somerc\"],IY={init:Jmt,forward:t0t,inverse:e0t,names:r0t};var px=1e-7;function i0t(e){var t=[\"Hotine_Oblique_Mercator\",\"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\"],r=typeof e.PROJECTION==\"object\"?Object.keys(e.PROJECTION)[0]:e.PROJECTION;return\"no_uoff\"in e||\"no_off\"in e||t.indexOf(r)!==-1}function n0t(){var e,t,r,i,s,n,o,c,f,_,w=0,I,R=0,N=0,j=0,Q=0,et=0,Y=0,K;this.no_off=i0t(this),this.no_rot=\"no_rot\"in this;var J=!1;\"alpha\"in this&&(J=!0);var ut=!1;if(\"rectified_grid_angle\"in this&&(ut=!0),J&&(Y=this.alpha),ut&&(w=this.rectified_grid_angle*vs),J||ut)R=this.longc;else if(N=this.long1,Q=this.lat1,j=this.long2,et=this.lat2,Math.abs(Q-et)<=px||(e=Math.abs(Q))<=px||Math.abs(e-de)<=px||Math.abs(Math.abs(this.lat0)-de)<=px||Math.abs(Math.abs(et)-de)<=px)throw new Error;var Et=1-this.es;t=Math.sqrt(Et),Math.abs(this.lat0)>Se?(c=Math.sin(this.lat0),r=Math.cos(this.lat0),e=1-this.es*c*c,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/Et),this.A=this.B*this.k0*t/e,i=this.B*t/(r*Math.sqrt(e)),s=i*i-1,s<=0?s=0:(s=Math.sqrt(s),this.lat0<0&&(s=-s)),this.E=s+=i,this.E*=Math.pow(Dl(this.e,this.lat0,c),this.B)):(this.B=1/t,this.A=this.k0,this.E=i=s=1),J||ut?(J?(I=Math.asin(Math.sin(Y)/i),ut||(w=Y)):(I=w,Y=Math.asin(i*Math.sin(I))),this.lam0=R-Math.asin(.5*(s-1/s)*Math.tan(I))/this.B):(n=Math.pow(Dl(this.e,Q,Math.sin(Q)),this.B),o=Math.pow(Dl(this.e,et,Math.sin(et)),this.B),s=this.E/n,f=(o-n)/(o+n),_=this.E*this.E,_=(_-o*n)/(_+o*n),e=N-j,e<-Math.pi?j-=Em:e>Math.pi&&(j+=Em),this.lam0=Ce(.5*(N+j)-Math.atan(_*Math.tan(.5*this.B*(N-j))/f)/this.B),I=Math.atan(2*Math.sin(this.B*Ce(N-this.lam0))/(s-1/s)),w=Y=Math.asin(i*Math.sin(I))),this.singam=Math.sin(I),this.cosgam=Math.cos(I),this.sinrot=Math.sin(w),this.cosrot=Math.cos(w),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,K=this.A*this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(i*i-1)/Math.cos(Y))),this.lat0<0&&(this.u_0=-this.u_0)),s=.5*I,this.v_pole_n=this.ArB*Math.log(Math.tan(Ui-s)),this.v_pole_s=this.ArB*Math.log(Math.tan(Ui+s))}function s0t(e){var t={},r,i,s,n,o,c,f,_;if(e.x=e.x-this.lam0,Math.abs(Math.abs(e.y)-de)>Se){if(o=this.E/Math.pow(Dl(this.e,e.y,Math.sin(e.y)),this.B),c=1/o,r=.5*(o-c),i=.5*(o+c),n=Math.sin(this.B*e.x),s=(r*this.singam-n*this.cosgam)/i,Math.abs(Math.abs(s)-1)0?this.v_pole_n:this.v_pole_s,f=this.ArB*e.y;return this.no_rot?(t.x=f,t.y=_):(f-=this.u_0,t.x=_*this.cosrot+f*this.sinrot,t.y=f*this.cosrot-_*this.sinrot),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t}function o0t(e){var t,r,i,s,n,o,c,f={};if(e.x=(e.x-this.x0)*(1/this.a),e.y=(e.y-this.y0)*(1/this.a),this.no_rot?(r=e.y,t=e.x):(r=e.x*this.cosrot-e.y*this.sinrot,t=e.y*this.cosrot+e.x*this.sinrot+this.u_0),i=Math.exp(-this.BrA*r),s=.5*(i-1/i),n=.5*(i+1/i),o=Math.sin(this.BrA*t),c=(o*this.cosgam+s*this.singam)/n,Math.abs(Math.abs(c)-1)Se?this.ns=Math.log(i/c)/Math.log(s/f):this.ns=t,isNaN(this.ns)&&(this.ns=t),this.f0=i/(this.ns*Math.pow(s,this.ns)),this.rh=this.a*this.f0*Math.pow(_,this.ns),this.title||(this.title=\"Lambert Conformal Conic\")}}function c0t(e){var t=e.x,r=e.y;Math.abs(2*Math.abs(r)-Math.PI)<=Se&&(r=pd(r)*(de-2*Se));var i=Math.abs(Math.abs(r)-de),s,n;if(i>Se)s=Dl(this.e,r,Math.sin(r)),n=this.a*this.f0*Math.pow(s,this.ns);else{if(i=r*this.ns,i<=0)return null;n=0}var o=this.ns*Ce(t-this.long0);return e.x=this.k0*(n*Math.sin(o))+this.x0,e.y=this.k0*(this.rh-n*Math.cos(o))+this.y0,e}function u0t(e){var t,r,i,s,n,o=(e.x-this.x0)/this.k0,c=this.rh-(e.y-this.y0)/this.k0;this.ns>0?(t=Math.sqrt(o*o+c*c),r=1):(t=-Math.sqrt(o*o+c*c),r=-1);var f=0;if(t!==0&&(f=Math.atan2(r*o,r*c)),t!==0||this.ns>0){if(r=1/this.ns,i=Math.pow(t/(this.a*this.f0),r),s=Lp(this.e,i),s===-9999)return null}else s=-de;return n=Ce(f/this.ns+this.long0),e.x=n,e.y=s,e}var h0t=[\"Lambert Tangential Conformal Conic Projection\",\"Lambert_Conformal_Conic\",\"Lambert_Conformal_Conic_1SP\",\"Lambert_Conformal_Conic_2SP\",\"lcc\",\"Lambert Conic Conformal (1SP)\",\"Lambert Conic Conformal (2SP)\"],LY={init:l0t,forward:c0t,inverse:u0t,names:h0t};function f0t(){this.a=6377397155e-3,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.7417649320975901-.308341501185665),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq}function d0t(e){var t,r,i,s,n,o,c,f=e.x,_=e.y,w=Ce(f-this.long0);return t=Math.pow((1+this.e*Math.sin(_))/(1-this.e*Math.sin(_)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(_/2+this.s45),this.alfa)/t)-this.s45),i=-w*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(s)),o=this.n*n,c=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(s/2+this.s45),this.n),e.y=c*Math.cos(o)/1,e.x=c*Math.sin(o)/1,this.czech||(e.y*=-1,e.x*=-1),e}function p0t(e){var t,r,i,s,n,o,c,f,_=e.x;e.x=e.y,e.y=_,this.czech||(e.y*=-1,e.x*=-1),o=Math.sqrt(e.x*e.x+e.y*e.y),n=Math.atan2(e.y,e.x),s=n/Math.sin(this.s0),i=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),t=Math.asin(Math.cos(this.ad)*Math.sin(i)-Math.sin(this.ad)*Math.cos(i)*Math.cos(s)),r=Math.asin(Math.cos(i)*Math.sin(s)/Math.cos(t)),e.x=this.long0-r/this.alfa,c=t,f=0;var w=0;do e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(c))/(1-this.e*Math.sin(c)),this.e/2))-this.s45),Math.abs(c-e.y)<1e-10&&(f=1),c=e.y,w+=1;while(f===0&&w<15);return w>=15?null:e}var A0t=[\"Krovak\",\"krovak\"],kY={init:f0t,forward:d0t,inverse:p0t,names:A0t};function zo(e,t,r,i,s){return e*s-t*Math.sin(2*s)+r*Math.sin(4*s)-i*Math.sin(6*s)}function kp(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function Rp(e){return .375*e*(1+.25*e*(1+.46875*e))}function Dp(e){return .05859375*e*e*(1+.75*e)}function Op(e){return e*e*e*(35/3072)}function Bp(e,t,r){var i=t*r;return e/Math.sqrt(1-i*i)}function ff(e){return Math.abs(e)1e-7?(r=e*t,(1-e*e)*(t/(1-r*r)-.5/e*Math.log((1-r)/(1+r)))):2*t}var v0t=1,x0t=2,b0t=3,w0t=4;function S0t(){var e=Math.abs(this.lat0);if(Math.abs(e-de)0){var t;switch(this.qp=df(this.e,1),this.mmf=.5/(1-this.es),this.apa=R0t(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=df(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;break}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))}function T0t(e){var t,r,i,s,n,o,c,f,_,w,I=e.x,R=e.y;if(I=Ce(I-this.long0),this.sphere){if(n=Math.sin(R),w=Math.cos(R),i=Math.cos(I),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(r=this.mode===this.EQUIT?1+w*i:1+this.sinph0*n+this.cosph0*w*i,r<=Se)return null;r=Math.sqrt(2/r),t=r*w*Math.sin(I),r*=this.mode===this.EQUIT?n:this.cosph0*n-this.sinph0*w*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(R+this.lat0)=0?(t=(_=Math.sqrt(o))*s,r=i*(this.mode===this.S_POLE?_:-_)):t=r=0;break}}return e.x=this.a*t+this.x0,e.y=this.a*r+this.y0,e}function M0t(e){e.x-=this.x0,e.y-=this.y0;var t=e.x/this.a,r=e.y/this.a,i,s,n,o,c,f,_;if(this.sphere){var w=0,I,R=0;if(I=Math.sqrt(t*t+r*r),s=I*.5,s>1)return null;switch(s=2*Math.asin(s),(this.mode===this.OBLIQ||this.mode===this.EQUIT)&&(R=Math.sin(s),w=Math.cos(s)),this.mode){case this.EQUIT:s=Math.abs(I)<=Se?0:Math.asin(r*R/I),t*=R,r=w*I;break;case this.OBLIQ:s=Math.abs(I)<=Se?this.lat0:Math.asin(w*this.sinph0+r*R*this.cosph0/I),t*=R*this.cosph0,r=(w-Math.sin(s)*this.sinph0)*I;break;case this.N_POLE:r=-r,s=de-s;break;case this.S_POLE:s-=de;break}i=r===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,r)}else{if(_=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(t/=this.dd,r*=this.dd,f=Math.sqrt(t*t+r*r),f1&&(e=e>1?1:-1),Math.asin(e)}function B0t(){Math.abs(this.lat1+this.lat2)Se?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)}function F0t(e){var t=e.x,r=e.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var i=df(this.e3,this.sin_phi),s=this.a*Math.sqrt(this.c-this.ns0*i)/this.ns0,n=this.ns0*Ce(t-this.long0),o=s*Math.sin(n)+this.x0,c=this.rh-s*Math.cos(n)+this.y0;return e.x=o,e.y=c,e}function z0t(e){var t,r,i,s,n,o;return e.x-=this.x0,e.y=this.rh-e.y+this.y0,this.ns0>=0?(t=Math.sqrt(e.x*e.x+e.y*e.y),i=1):(t=-Math.sqrt(e.x*e.x+e.y*e.y),i=-1),s=0,t!==0&&(s=Math.atan2(i*e.x,i*e.y)),i=t*this.ns0/this.a,this.sphere?o=Math.asin((this.c-i*i)/(2*this.ns0)):(r=(this.c-i*i)/this.ns0,o=this.phi1z(this.e3,r)),n=Ce(s/this.ns0+this.long0),e.x=n,e.y=o,e}function N0t(e,t){var r,i,s,n,o,c=Ec(.5*t);if(e0||Math.abs(o)<=Se?(c=this.x0+this.a*n*r*Math.sin(i)/o,f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)/o):(c=this.x0+this.infinity_dist*r*Math.sin(i),f=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function G0t(e){var t,r,i,s,n,o;return e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,e.x/=this.k0,e.y/=this.k0,(t=Math.sqrt(e.x*e.x+e.y*e.y))?(s=Math.atan2(t,this.rc),r=Math.sin(s),i=Math.cos(s),o=Ec(i*this.sin_p14+e.y*r*this.cos_p14/t),n=Math.atan2(e.x*r,t*this.cos_p14*i-e.y*this.sin_p14*r),n=Ce(this.long0+n)):(o=this.phic0,n=0),e.x=n,e.y=o,e}var W0t=[\"gnom\"],BY={init:V0t,forward:j0t,inverse:G0t,names:W0t};function FY(e,t){var r=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-r)<1e-6)return t<0?-1*de:de;for(var i=Math.asin(.5*t),s,n,o,c,f=0;f<30;f++)if(n=Math.sin(i),o=Math.cos(i),c=e*n,s=Math.pow(1-c*c,2)/(2*o)*(t/(1-e*e)-n/(1-c*c)+.5/e*Math.log((1-c)/(1+c))),i+=s,Math.abs(s)<=1e-10)return i;return NaN}function H0t(){this.sphere||(this.k0=ol(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))}function q0t(e){var t=e.x,r=e.y,i,s,n=Ce(t-this.long0);if(this.sphere)i=this.x0+this.a*n*Math.cos(this.lat_ts),s=this.y0+this.a*Math.sin(r)/Math.cos(this.lat_ts);else{var o=df(this.e,Math.sin(r));i=this.x0+this.a*this.k0*n,s=this.y0+this.a*o*.5/this.k0}return e.x=i,e.y=s,e}function Z0t(e){e.x-=this.x0,e.y-=this.y0;var t,r;return this.sphere?(t=Ce(this.long0+e.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(e.y/this.a*Math.cos(this.lat_ts))):(r=FY(this.e,2*e.y*this.k0/this.a),t=Ce(this.long0+e.x/(this.a*this.k0))),e.x=t,e.y=r,e}var Y0t=[\"cea\"],zY={init:H0t,forward:q0t,inverse:Z0t,names:Y0t};function Q0t(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Equidistant Cylindrical (Plate Carre)\",this.rc=Math.cos(this.lat_ts)}function $0t(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s=ff(r-this.lat0);return e.x=this.x0+this.a*i*this.rc,e.y=this.y0+this.a*s,e}function X0t(e){var t=e.x,r=e.y;return e.x=Ce(this.long0+(t-this.x0)/(this.a*this.rc)),e.y=ff(this.lat0+(r-this.y0)/this.a),e}var K0t=[\"Equirectangular\",\"Equidistant_Cylindrical\",\"eqc\"],NY={init:Q0t,forward:$0t,inverse:X0t,names:K0t};var UY=20;function J0t(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=kp(this.es),this.e1=Rp(this.es),this.e2=Dp(this.es),this.e3=Op(this.es),this.ml0=this.a*zo(this.e0,this.e1,this.e2,this.e3,this.lat0)}function tgt(e){var t=e.x,r=e.y,i,s,n,o=Ce(t-this.long0);if(n=o*Math.sin(r),this.sphere)Math.abs(r)<=Se?(i=this.a*o,s=-1*this.a*this.lat0):(i=this.a*Math.sin(n)/Math.tan(r),s=this.a*(ff(r-this.lat0)+(1-Math.cos(n))/Math.tan(r)));else if(Math.abs(r)<=Se)i=this.a*o,s=-1*this.ml0;else{var c=Bp(this.a,this.e,Math.sin(r))/Math.tan(r);i=c*Math.sin(n),s=this.a*zo(this.e0,this.e1,this.e2,this.e3,r)-this.ml0+c*(1-Math.cos(n))}return e.x=i+this.x0,e.y=s+this.y0,e}function egt(e){var t,r,i,s,n,o,c,f,_;if(i=e.x-this.x0,s=e.y-this.y0,this.sphere)if(Math.abs(s+this.a*this.lat0)<=Se)t=Ce(i/this.a+this.long0),r=0;else{o=this.lat0+s/this.a,c=i*i/this.a/this.a+o*o,f=o;var w;for(n=UY;n;--n)if(w=Math.tan(f),_=-1*(o*(f*w+1)-f-.5*(f*f+c)*w)/((f-o)/w-1),f+=_,Math.abs(_)<=Se){r=f;break}t=Ce(this.long0+Math.asin(i*Math.tan(f)/this.a)/Math.sin(r))}else if(Math.abs(s+this.ml0)<=Se)r=0,t=Ce(this.long0+i/this.a);else{o=(this.ml0+s)/this.a,c=i*i/this.a/this.a+o*o,f=o;var I,R,N,j,Q;for(n=UY;n;--n)if(Q=this.e*Math.sin(f),I=Math.sqrt(1-Q*Q)*Math.tan(f),R=this.a*zo(this.e0,this.e1,this.e2,this.e3,f),N=this.e0-2*this.e1*Math.cos(2*f)+4*this.e2*Math.cos(4*f)-6*this.e3*Math.cos(6*f),j=R/this.a,_=(o*(I*j+1)-j-.5*I*(j*j+c))/(this.es*Math.sin(2*f)*(j*j+c-2*o*j)/(4*I)+(o-j)*(I*N-2/Math.sin(2*f))-N),f-=_,Math.abs(_)<=Se){r=f;break}I=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),t=Ce(this.long0+Math.asin(i*I/this.a)/Math.sin(r))}return e.x=t,e.y=r,e}var rgt=[\"Polyconic\",\"poly\"],VY={init:J0t,forward:tgt,inverse:egt,names:rgt};function igt(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013}function ngt(e){var t,r=e.x,i=e.y,s=i-this.lat0,n=r-this.long0,o=s/Yg*1e-5,c=n,f=1,_=0;for(t=1;t<=10;t++)f=f*o,_=_+this.A[t]*f;var w=_,I=c,R=1,N=0,j,Q,et=0,Y=0;for(t=1;t<=6;t++)j=R*w-N*I,Q=N*w+R*I,R=j,N=Q,et=et+this.B_re[t]*R-this.B_im[t]*N,Y=Y+this.B_im[t]*R+this.B_re[t]*N;return e.x=Y*this.a+this.x0,e.y=et*this.a+this.y0,e}function sgt(e){var t,r=e.x,i=e.y,s=r-this.x0,n=i-this.y0,o=n/this.a,c=s/this.a,f=1,_=0,w,I,R=0,N=0;for(t=1;t<=6;t++)w=f*o-_*c,I=_*o+f*c,f=w,_=I,R=R+this.C_re[t]*f-this.C_im[t]*_,N=N+this.C_im[t]*f+this.C_re[t]*_;for(var j=0;j.999999999999&&(r=.999999999999),t=Math.asin(r);var i=Ce(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));i<-Math.PI&&(i=-Math.PI),i>Math.PI&&(i=Math.PI),r=(2*t+Math.sin(2*t))/Math.PI,Math.abs(r)>1&&(r=1);var s=Math.asin(r);return e.x=i,e.y=s,e}var ygt=[\"Mollweide\",\"moll\"],HY={init:mgt,forward:ggt,inverse:_gt,names:ygt};function vgt(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(e.x*e.x+e.y*e.y),t=1):(r=-Math.sqrt(e.x*e.x+e.y*e.y),t=-1);var n=0;if(r!==0&&(n=Math.atan2(t*e.x,t*e.y)),this.sphere)return s=Ce(this.long0+n/this.ns),i=ff(this.g-r/this.a),e.x=s,e.y=i,e;var o=this.g-r/this.a;return i=Kg(o,this.e0,this.e1,this.e2,this.e3),s=Ce(this.long0+n/this.ns),e.x=s,e.y=i,e}var wgt=[\"Equidistant_Conic\",\"eqdc\"],qY={init:vgt,forward:xgt,inverse:bgt,names:wgt};function Sgt(){this.R=this.a}function Tgt(e){var t=e.x,r=e.y,i=Ce(t-this.long0),s,n;Math.abs(r)<=Se&&(s=this.x0+this.R*i,n=this.y0);var o=Ec(2*Math.abs(r/Math.PI));(Math.abs(i)<=Se||Math.abs(Math.abs(r)-de)<=Se)&&(s=this.x0,r>=0?n=this.y0+Math.PI*this.R*Math.tan(.5*o):n=this.y0+Math.PI*this.R*-Math.tan(.5*o));var c=.5*Math.abs(Math.PI/i-i/Math.PI),f=c*c,_=Math.sin(o),w=Math.cos(o),I=w/(_+w-1),R=I*I,N=I*(2/_-1),j=N*N,Q=Math.PI*this.R*(c*(I-j)+Math.sqrt(f*(I-j)*(I-j)-(j+f)*(R-j)))/(j+f);i<0&&(Q=-Q),s=this.x0+Q;var et=f+I;return Q=Math.PI*this.R*(N*et-c*Math.sqrt((j+f)*(f+1)-et*et))/(j+f),r>=0?n=this.y0+Q:n=this.y0-Q,e.x=s,e.y=n,e}function Mgt(e){var t,r,i,s,n,o,c,f,_,w,I,R,N;return e.x-=this.x0,e.y-=this.y0,I=Math.PI*this.R,i=e.x/I,s=e.y/I,n=i*i+s*s,o=-Math.abs(s)*(1+n),c=o-2*s*s+i*i,f=-2*o+1+2*s*s+n*n,N=s*s/f+(2*c*c*c/f/f/f-9*o*c/f/f)/27,_=(o-c*c/3/f)/f,w=2*Math.sqrt(-_/3),I=3*N/_/w,Math.abs(I)>1&&(I>=0?I=1:I=-1),R=Math.acos(I)/3,e.y>=0?r=(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI:r=-(-w*Math.cos(R+Math.PI/3)-c/3/f)*Math.PI,Math.abs(i)2*de*this.a?void 0:(r=t/this.a,i=Math.sin(r),s=Math.cos(r),n=this.long0,Math.abs(t)<=Se?o=this.lat0:(o=Ec(s*this.sin_p12+e.y*i*this.cos_p12/t),c=Math.abs(this.lat0)-de,Math.abs(c)<=Se?this.lat0>=0?n=Ce(this.long0+Math.atan2(e.x,-e.y)):n=Ce(this.long0-Math.atan2(-e.x,e.y)):n=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p12*s-e.y*this.sin_p12*i))),e.x=n,e.y=o,e)):(f=kp(this.es),_=Rp(this.es),w=Dp(this.es),I=Op(this.es),Math.abs(this.sin_p12-1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=R-t,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,-1*e.y)),e.x=n,e.y=o,e):Math.abs(this.sin_p12+1)<=Se?(R=this.a*zo(f,_,w,I,de),t=Math.sqrt(e.x*e.x+e.y*e.y),N=t-R,o=Kg(N/this.a,f,_,w,I),n=Ce(this.long0+Math.atan2(e.x,e.y)),e.x=n,e.y=o,e):(t=Math.sqrt(e.x*e.x+e.y*e.y),et=Math.atan2(e.x,e.y),j=Bp(this.a,this.e,this.sin_p12),Y=Math.cos(et),K=this.e*this.cos_p12*Y,J=-K*K/(1-this.es),ut=3*this.es*(1-J)*this.sin_p12*this.cos_p12*Y/(1-this.es),Et=t/j,kt=Et-J*(1+J)*Math.pow(Et,3)/6-ut*(1+3*J)*Math.pow(Et,4)/24,Xt=1-J*kt*kt/2-Et*kt*kt*kt/6,Q=Math.asin(this.sin_p12*Math.cos(kt)+this.cos_p12*Math.sin(kt)*Y),n=Ce(this.long0+Math.asin(Math.sin(et)*Math.sin(kt)/Math.cos(Q))),qt=Math.sin(Q),o=Math.atan2((qt-this.es*Xt*this.sin_p12)*Math.tan(Q),qt*(1-this.es)),e.x=n,e.y=o,e))}var Lgt=[\"Azimuthal_Equidistant\",\"aeqd\"],YY={init:Pgt,forward:Igt,inverse:Cgt,names:Lgt};function kgt(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)}function Rgt(e){var t,r,i,s,n,o,c,f,_=e.x,w=e.y;return i=Ce(_-this.long0),t=Math.sin(w),r=Math.cos(w),s=Math.cos(i),o=this.sin_p14*t+this.cos_p14*r*s,n=1,(o>0||Math.abs(o)<=Se)&&(c=this.a*n*r*Math.sin(i),f=this.y0+this.a*n*(this.cos_p14*t-this.sin_p14*r*s)),e.x=c,e.y=f,e}function Dgt(e){var t,r,i,s,n,o,c;return e.x-=this.x0,e.y-=this.y0,t=Math.sqrt(e.x*e.x+e.y*e.y),r=Ec(t/this.a),i=Math.sin(r),s=Math.cos(r),o=this.long0,Math.abs(t)<=Se?(c=this.lat0,e.x=o,e.y=c,e):(c=Ec(s*this.sin_p14+e.y*i*this.cos_p14/t),n=Math.abs(this.lat0)-de,Math.abs(n)<=Se?(this.lat0>=0?o=Ce(this.long0+Math.atan2(e.x,-e.y)):o=Ce(this.long0-Math.atan2(-e.x,e.y)),e.x=o,e.y=c,e):(o=Ce(this.long0+Math.atan2(e.x*i,t*this.cos_p14*s-e.y*this.sin_p14*i)),e.x=o,e.y=c,e))}var Ogt=[\"ortho\"],QY={init:kgt,forward:Rgt,inverse:Dgt,names:Ogt};var bs={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},An={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function Bgt(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||\"Quadrilateralized Spherical Cube\",this.lat0>=de-Ui/2?this.face=bs.TOP:this.lat0<=-(de-Ui/2)?this.face=bs.BOTTOM:Math.abs(this.long0)<=Ui?this.face=bs.FRONT:Math.abs(this.long0)<=de+Ui?this.face=this.long0>0?bs.RIGHT:bs.LEFT:this.face=bs.BACK,this.es!==0&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)}function Fgt(e){var t={x:0,y:0},r,i,s,n,o,c,f={value:0};if(e.x-=this.long0,this.es!==0?r=Math.atan(this.one_minus_f_squared*Math.tan(e.y)):r=e.y,i=e.x,this.face===bs.TOP)n=de-r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=i-de):i>de+Ui||i<=-(de+Ui)?(f.value=An.AREA_1,s=i>0?i-xs:i+xs):i>-(de+Ui)&&i<=-Ui?(f.value=An.AREA_2,s=i+de):(f.value=An.AREA_3,s=i);else if(this.face===bs.BOTTOM)n=de+r,i>=Ui&&i<=de+Ui?(f.value=An.AREA_0,s=-i+de):i=-Ui?(f.value=An.AREA_1,s=-i):i<-Ui&&i>=-(de+Ui)?(f.value=An.AREA_2,s=-i-de):(f.value=An.AREA_3,s=i>0?-i+xs:-i-xs);else{var _,w,I,R,N,j,Q;this.face===bs.RIGHT?i=Ax(i,+de):this.face===bs.BACK?i=Ax(i,+xs):this.face===bs.LEFT&&(i=Ax(i,-de)),R=Math.sin(r),N=Math.cos(r),j=Math.sin(i),Q=Math.cos(i),_=N*Q,w=N*j,I=R,this.face===bs.FRONT?(n=Math.acos(_),s=gI(n,I,w,f)):this.face===bs.RIGHT?(n=Math.acos(w),s=gI(n,I,-_,f)):this.face===bs.BACK?(n=Math.acos(-_),s=gI(n,I,-w,f)):this.face===bs.LEFT?(n=Math.acos(-w),s=gI(n,I,_,f)):(n=s=0,f.value=An.AREA_0)}return c=Math.atan(12/xs*(s+Math.acos(Math.sin(s)*Math.cos(Ui))-de)),o=Math.sqrt((1-Math.cos(n))/(Math.cos(c)*Math.cos(c))/(1-Math.cos(Math.atan(1/Math.cos(s))))),f.value===An.AREA_1?c+=de:f.value===An.AREA_2?c+=xs:f.value===An.AREA_3&&(c+=1.5*xs),t.x=o*Math.cos(c),t.y=o*Math.sin(c),t.x=t.x*this.a+this.x0,t.y=t.y*this.a+this.y0,e.x=t.x,e.y=t.y,e}function zgt(e){var t={lam:0,phi:0},r,i,s,n,o,c,f,_,w,I={value:0};if(e.x=(e.x-this.x0)/this.a,e.y=(e.y-this.y0)/this.a,i=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y)),r=Math.atan2(e.y,e.x),e.x>=0&&e.x>=Math.abs(e.y)?I.value=An.AREA_0:e.y>=0&&e.y>=Math.abs(e.x)?(I.value=An.AREA_1,r-=de):e.x<0&&-e.x>=Math.abs(e.y)?(I.value=An.AREA_2,r=r<0?r+xs:r-xs):(I.value=An.AREA_3,r+=de),w=xs/12*Math.tan(r),o=Math.sin(w)/(Math.cos(w)-1/Math.sqrt(2)),c=Math.atan(o),s=Math.cos(r),n=Math.tan(i),f=1-s*s*n*n*(1-Math.cos(Math.atan(1/Math.cos(c)))),f<-1?f=-1:f>1&&(f=1),this.face===bs.TOP)_=Math.acos(f),t.phi=de-_,I.value===An.AREA_0?t.lam=c+de:I.value===An.AREA_1?t.lam=c<0?c+xs:c-xs:I.value===An.AREA_2?t.lam=c-de:t.lam=c;else if(this.face===bs.BOTTOM)_=Math.acos(f),t.phi=_-de,I.value===An.AREA_0?t.lam=-c+de:I.value===An.AREA_1?t.lam=-c:I.value===An.AREA_2?t.lam=-c-de:t.lam=c<0?-c-xs:-c+xs;else{var R,N,j;R=f,w=R*R,w>=1?j=0:j=Math.sqrt(1-w)*Math.sin(c),w+=j*j,w>=1?N=0:N=Math.sqrt(1-w),I.value===An.AREA_1?(w=N,N=-j,j=w):I.value===An.AREA_2?(N=-N,j=-j):I.value===An.AREA_3&&(w=N,N=j,j=-w),this.face===bs.RIGHT?(w=R,R=-N,N=w):this.face===bs.BACK?(R=-R,N=-N):this.face===bs.LEFT&&(w=R,R=N,N=-w),t.phi=Math.acos(-j)-de,t.lam=Math.atan2(N,R),this.face===bs.RIGHT?t.lam=Ax(t.lam,-de):this.face===bs.BACK?t.lam=Ax(t.lam,-xs):this.face===bs.LEFT&&(t.lam=Ax(t.lam,+de))}if(this.es!==0){var Q,et,Y;Q=t.phi<0?1:0,et=Math.tan(t.phi),Y=this.b/Math.sqrt(et*et+this.one_minus_f_squared),t.phi=Math.atan(Math.sqrt(this.a*this.a-Y*Y)/(this.one_minus_f*Y)),Q&&(t.phi=-t.phi)}return t.lam+=this.long0,e.x=t.lam,e.y=t.phi,e}function gI(e,t,r,i){var s;return eUi&&s<=de+Ui?(i.value=An.AREA_1,s-=de):s>de+Ui||s<=-(de+Ui)?(i.value=An.AREA_2,s=s>=0?s-xs:s+xs):(i.value=An.AREA_3,s+=de)),s}function Ax(e,t){var r=e+t;return r<-xs?r+=Em:r>+xs&&(r-=Em),r}var Ngt=[\"Quadrilateralized Spherical Cube\",\"Quadrilateralized_Spherical_Cube\",\"qsc\"],$Y={init:Bgt,forward:Fgt,inverse:zgt,names:Ngt};var DB=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-986701e-12],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,18736e-12],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,934959e-12],[.7986,-.00755338,-500009e-10,935324e-12],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],gS=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-126793e-14,422642e-15],[.124,.0124,507171e-14,-160604e-14],[.186,.0123999,-190189e-13,600152e-14],[.248,.0124002,710039e-13,-224e-10],[.31,.0123992,-264997e-12,835986e-13],[.372,.0124029,988983e-12,-311994e-12],[.434,.0123893,-369093e-11,-435621e-12],[.4958,.0123198,-102252e-10,-345523e-12],[.5571,.0121916,-154081e-10,-582288e-12],[.6176,.0119938,-241424e-10,-525327e-12],[.6769,.011713,-320223e-10,-516405e-12],[.7346,.0113541,-397684e-10,-609052e-12],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-140374e-14],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],XY=.8487,KY=1.3523,JY=Sc/5,Ugt=1/JY,mx=18,_I=function(e,t){return e[0]+t*(e[1]+t*(e[2]+t*e[3]))},Vgt=function(e,t){return e[1]+t*(2*e[2]+t*3*e[3])};function jgt(e,t,r,i){for(var s=t;i;--i){var n=e(s);if(s-=n,Math.abs(n)=mx&&(i=mx-1),r=Sc*(r-Ugt*i);var s={x:_I(DB[i],r)*t,y:_I(gS[i],r)};return e.y<0&&(s.y=-s.y),s.x=s.x*this.a*XY+this.x0,s.y=s.y*this.a*KY+this.y0,s}function Hgt(e){var t={x:(e.x-this.x0)/(this.a*XY),y:Math.abs(e.y-this.y0)/(this.a*KY)};if(t.y>=1)t.x/=DB[mx][0],t.y=e.y<0?-de:de;else{var r=Math.floor(t.y*mx);for(r<0?r=0:r>=mx&&(r=mx-1);;)if(gS[r][0]>t.y)--r;else if(gS[r+1][0]<=t.y)++r;else break;var i=gS[r],s=5*(t.y-i[0])/(gS[r+1][0]-i[0]);s=jgt(function(n){return(_I(i,n)-t.y)/Vgt(i,n)},s,Se,100),t.x/=_I(DB[r],s),t.y=(5*r+s)*vs,e.y<0&&(t.y=-t.y)}return t.x=Ce(t.x+this.long0),t}var qgt=[\"Robinson\",\"robin\"],tQ={init:Ggt,forward:Wgt,inverse:Hgt,names:qgt};function Zgt(){this.name=\"geocent\"}function Ygt(e){var t=aI(e,this.es,this.a);return t}function Qgt(e){var t=lI(e,this.es,this.a,this.b);return t}var $gt=[\"Geocentric\",\"geocentric\",\"geocent\",\"Geocent\"],eQ={init:Zgt,forward:Ygt,inverse:Qgt,names:$gt};var al={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},_S={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}};function Xgt(){if(Object.keys(_S).forEach(function(r){if(typeof this[r]>\"u\")this[r]=_S[r].def;else{if(_S[r].num&&isNaN(this[r]))throw new Error(\"Invalid parameter value, must be numeric \"+r+\" = \"+this[r]);_S[r].num&&(this[r]=parseFloat(this[r]))}_S[r].degrees&&(this[r]=this[r]*vs)}.bind(this)),Math.abs(Math.abs(this.lat0)-de)1e10)throw new Error(\"Invalid height\");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var e=this.tilt,t=this.azi;this.cg=Math.cos(t),this.sg=Math.sin(t),this.cw=Math.cos(e),this.sw=Math.sin(e)}function Kgt(e){e.x-=this.long0;var t=Math.sin(e.y),r=Math.cos(e.y),i=Math.cos(e.x),s,n;switch(this.mode){case al.OBLIQ:n=this.sinph0*t+this.cosph0*r*i;break;case al.EQUIT:n=r*i;break;case al.S_POLE:n=-t;break;case al.N_POLE:n=t;break}switch(n=this.pn1/(this.p-n),s=n*r*Math.sin(e.x),this.mode){case al.OBLIQ:n*=this.cosph0*t-this.sinph0*r*i;break;case al.EQUIT:n*=t;break;case al.N_POLE:n*=-(r*i);break;case al.S_POLE:n*=r*i;break}var o,c;return o=n*this.cg+s*this.sg,c=1/(o*this.sw*this.h1+this.cw),s=(s*this.cg-n*this.sg)*this.cw*c,n=o*c,e.x=s*this.a,e.y=n*this.a,e}function Jgt(e){e.x/=this.a,e.y/=this.a;var t={x:e.x,y:e.y},r,i,s;s=1/(this.pn1-e.y*this.sw),r=this.pn1*e.x*s,i=this.pn1*e.y*this.cw*s,e.x=r*this.cg+i*this.sg,e.y=i*this.cg-r*this.sg;var n=Ta(e.x,e.y);if(Math.abs(n)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,this.es!==0){var e=1-this.es,t=1/e;this.radius_p=Math.sqrt(e),this.radius_p2=e,this.radius_p_inv2=t,this.shape=\"ellipse\"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape=\"sphere\";this.title||(this.title=\"Geostationary Satellite View\")}function r_t(e){var t=e.x,r=e.y,i,s,n,o;if(t=t-this.long0,this.shape===\"ellipse\"){r=Math.atan(this.radius_p2*Math.tan(r));var c=this.radius_p/Ta(this.radius_p*Math.cos(r),Math.sin(r));if(s=c*Math.cos(t)*Math.cos(r),n=c*Math.sin(t)*Math.cos(r),o=c*Math.sin(r),(this.radius_g-s)*s-n*n-o*o*this.radius_p_inv2<0)return e.x=Number.NaN,e.y=Number.NaN,e;i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i)))}else this.shape===\"sphere\"&&(i=Math.cos(r),s=Math.cos(t)*i,n=Math.sin(t)*i,o=Math.sin(r),i=this.radius_g-s,this.flip_axis?(e.x=this.radius_g_1*Math.atan(n/Ta(o,i)),e.y=this.radius_g_1*Math.atan(o/i)):(e.x=this.radius_g_1*Math.atan(n/i),e.y=this.radius_g_1*Math.atan(o/Ta(n,i))));return e.x=e.x*this.a,e.y=e.y*this.a,e}function i_t(e){var t=-1,r=0,i=0,s,n,o,c;if(e.x=e.x/this.a,e.y=e.y/this.a,this.shape===\"ellipse\"){this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Ta(1,i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Ta(1,r));var f=i/this.radius_p;if(s=r*r+f*f+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t),e.y=Math.atan(this.radius_p_inv2*Math.tan(e.y))}else if(this.shape===\"sphere\"){if(this.flip_axis?(i=Math.tan(e.y/this.radius_g_1),r=Math.tan(e.x/this.radius_g_1)*Math.sqrt(1+i*i)):(r=Math.tan(e.x/this.radius_g_1),i=Math.tan(e.y/this.radius_g_1)*Math.sqrt(1+r*r)),s=r*r+i*i+t*t,n=2*this.radius_g*t,o=n*n-4*s*this.C,o<0)return e.x=Number.NaN,e.y=Number.NaN,e;c=(-n-Math.sqrt(o))/(2*s),t=this.radius_g+c*t,r*=c,i*=c,e.x=Math.atan2(r,t),e.y=Math.atan(i*Math.cos(e.x)/t)}return e.x=e.x+this.long0,e}var n_t=[\"Geostationary Satellite View\",\"Geostationary_Satellite\",\"geos\"],iQ={init:e_t,forward:r_t,inverse:i_t,names:n_t};function nQ(e){e.Proj.projections.add(fx),e.Proj.projections.add(dx),e.Proj.projections.add(MY),e.Proj.projections.add(EY),e.Proj.projections.add(PY),e.Proj.projections.add(IY),e.Proj.projections.add(CY),e.Proj.projections.add(LY),e.Proj.projections.add(kY),e.Proj.projections.add(RY),e.Proj.projections.add(DY),e.Proj.projections.add(OY),e.Proj.projections.add(BY),e.Proj.projections.add(zY),e.Proj.projections.add(NY),e.Proj.projections.add(VY),e.Proj.projections.add(jY),e.Proj.projections.add(GY),e.Proj.projections.add(WY),e.Proj.projections.add(HY),e.Proj.projections.add(qY),e.Proj.projections.add(ZY),e.Proj.projections.add(YY),e.Proj.projections.add(QY),e.Proj.projections.add($Y),e.Proj.projections.add(tQ),e.Proj.projections.add(eQ),e.Proj.projections.add(rQ),e.Proj.projections.add(iQ)}Tc.defaultDatum=\"WGS84\";Tc.Proj=Pm;Tc.WGS84=new Tc.Proj(\"WGS84\");Tc.Point=gY;Tc.toPoint=uI;Tc.defs=ax;Tc.nadgrid=MB;Tc.transform=$g;Tc.mgrs=pY;Tc.version=\"__VERSION__\";nQ(Tc);var sQ=Tc;function xS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function bS(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function gx(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function s_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function o_t(e){return\"data\"in e?e.getChildAt(0):e.children[0]}function wI(e){return\"data\"in e?e.getChildAt(0):e.children[0]}var vi=Object.freeze({__proto__:null,getLineStringChild:bS,getMultiLineStringChild:o_t,getMultiPointChild:s_t,getMultiPolygonChild:wI,getPointChild:xS,getPolygonChild:gx});function SI(e,t){let r=e.valueOffsets,i=gx(e),s=i.valueOffsets,n=bS(i),o=n.type.listSize,c=xS(n),f=r[t],_=r[t+1],w=s[f],I=s[_],R=c.values.subarray(w*o,I*o);return new sx(R,{size:o,isClosed:!0})}function aQ(e){if(\"data\"in e)return new xr(e.data.map(r=>aQ(r)));let t=new Float64Array(e.length);for(let r=0;rlQ(r)));let t=new Float64Array(e.length);for(let r=0;rcQ(n));let t=[],r=0;for(let n=0;nuQ(t))):gx(e)}function hQ(e){return\"data\"in e?new xr(e.data.map(t=>hQ(t))):wI(e)}function TI(e){return ze.isFixedSizeList(e)?!(![2,3,4].includes(e.listSize)||!ze.isFloat(e.children[0])):ze.isStruct(e)?!(![2,3,4].includes(e.children.length)||!e.children.every(t=>[\"x\",\"y\",\"z\",\"m\"].includes(t.name))||!e.children.every(t=>ze.isFloat(t))):!1}function MI(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function zB(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function fQ(e){return!(!ze.isList(e)||!TI(e.children[0].type))}function dQ(e){return!(!ze.isList(e)||!MI(e.children[0].type))}function pQ(e){return!(!ze.isList(e)||!zB(e.children[0].type))}function l_t(e){return TI(e.type)}function c_t(e){return MI(e.type)}function u_t(e){return zB(e.type)}function h_t(e){return fQ(e.type)}function f_t(e){return dQ(e.type)}function d_t(e){return pQ(e.type)}function p_t(e,t){if(!e)throw new Error(`assertion failed ${t}`)}function A_t(){throw new Error(\"assertion failed\")}function AQ(e,t){if(l_t(e))return mQ(e,t);if(c_t(e))return OB(e,t);if(u_t(e))return BB(e,t);if(h_t(e))return OB(e,t);if(f_t(e))return BB(e,t);if(d_t(e))return m_t(e,t);A_t()}function mQ(e,t){p_t(e.type.listSize===2,\"expected 2D\");let r=xS(e),i=r.values,s=new Float64Array(i.length);for(let o=0;ooQ(s,i))):oQ(e,i)}function oQ(e,t){let r=[0,0];return AQ(e,(s,n)=>(r[0]=s,r[1]=n,t.forward(r)))}var Im;(function(e){e.POINT=\"geoarrow.point\",e.LINESTRING=\"geoarrow.linestring\",e.POLYGON=\"geoarrow.polygon\",e.MULTIPOINT=\"geoarrow.multipoint\",e.MULTILINESTRING=\"geoarrow.multilinestring\",e.MULTIPOLYGON=\"geoarrow.multipolygon\"})(Im||(Im={}));var bI=class{minX;minY;maxX;maxY;constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}updateBbox(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.maxY>this.maxY&&(this.maxY=t.maxY)}updateCoord(t,r){tthis.maxX&&(this.maxX=t),r>this.maxY&&(this.maxY=r)}};function __t(e,t){switch(t.metadata.get(\"ARROW:extension:name\")){case Im.POINT:return gQ(e);case Im.LINESTRING:case Im.MULTIPOINT:return _Q(e);case Im.POLYGON:case Im.MULTILINESTRING:return yQ(e);case Im.MULTIPOLYGON:return v_t(e);default:throw new Error(\"Unknown ext type name\")}}function y_t(e){let r=xS(e).values,i=new bI;for(let s=0;svQ(r)));let t=new mm({type:new dc,nullValues:[null]});t.set(e.length-1,null);for(let r=0;rxQ(r,t));return}for(let r=0;rvS(n,t)));let r=[];for(let n of e.children)r.push(vS(n,t));let i;e.dictionary!==void 0&&(i=vS(e.dictionary,t));let s={[Oi.OFFSET]:yI(e.buffers[Oi.OFFSET],t),[Oi.DATA]:yI(e.buffers[Oi.DATA],t),[Oi.VALIDITY]:yI(e.buffers[Oi.VALIDITY],t),[Oi.TYPE]:yI(e.buffers[Oi.TYPE],t)};return new Fi(e.type,e.offset,e.length,e._nullCount,s,r,i)}function vI(e){if(\"data\"in e)return e.data.some(r=>vI(r));for(let r of e.children)if(vI(r))return!0;if(e.dictionary!==void 0&&vI(e.dictionary))return!0;let t=[Oi.OFFSET,Oi.DATA,Oi.VALIDITY,Oi.TYPE];for(let r of t)if(e.buffers[r]!==void 0&&bQ(e.buffers[r]))return!0;return!1}function bQ(e){return!(e.byteOffset===0&&e.byteLength===e.buffer.byteLength)}function yI(e,t){return e===void 0||!t&&!bQ(e)?e:e.slice()}function xI(e,t=!1){if(\"data\"in e){let i=[],s=[];for(let o of e.data){let[c,f]=xI(o);i.push(c),s.push(...f)}return[new xr(i),s]}e=vS(e,t);let r=[];for(let i=0;i1)throw new Error(\"expected 1 field\");return new sl(t[0])}case Ot.Struct:{let t=e.children.map(yS);return new pn(t)}case Ot.Union:{let t=e.children.map(yS);return new pc(e.mode,e.typeIds,t)}case Ot.FixedSizeBinary:return new Qu(e.byteWidth);case Ot.FixedSizeList:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");return new Ll(e.listSize,t[0])}case Ot.Map:{let t=e.children.map(yS);if(t.length>1)throw new Error(\"expected 1 field\");let r=t[0];return new Ac(r,e.keysSorted)}case Ot.Duration:return new Yu(e.unit);default:throw new Error(`unknown type ${e}`)}}function yS(e){let t=wQ(e.type);return new si(e.name,t,e.nullable,e.metadata)}function UB(e){let t=e.children.map(s=>UB(s)),r=e.dictionary?SQ(e.dictionary):void 0,i={[Oi.OFFSET]:e.valueOffsets,[Oi.DATA]:e.values,[Oi.VALIDITY]:e.nullBitmap,[Oi.TYPE]:e.typeIds};return new Fi(wQ(e.type),e.offset,e.length,e._nullCount,i,t,r)}function SQ(e){return new xr(e.data.map(t=>UB(t)))}var VB=Object.freeze({__proto__:null,hardClone:vS,isShared:vI,preparePostMessage:xI,rehydrateData:UB,rehydrateVector:SQ});function E_t(e,t,r){let i=e.fields.findIndex(s=>s.name===r||s.metadata.get(\"ARROW:extension:name\")===t);return i!==-1?i:null}function P_t(e,t){let{index:r,data:i}=e,s=r;i.invertedGeomOffsets!==void 0&&(s=i.invertedGeomOffsets[r]);let n={data:i.data,length:i.length,attributes:i.attributes},o={index:s,data:n,target:e.target};return t(o)}function ro(e){let{props:t,propName:r,propInput:i,chunkIdx:s,geomCoordOffsets:n}=e;if(i!==void 0)if(i instanceof xr){let o=i.data[s];if(ze.isFixedSizeList(o)){_r(o.children.length===1);let c=o.children[0].values;n&&(c=EI(c,o.type.listSize,n)),t.data.attributes[r]={value:c,size:o.type.listSize,normalized:!0}}else if(ze.isFloat(o)){let c=o.values;n&&(c=EI(c,1,n)),t.data.attributes[r]={value:c,size:1}}}else typeof i==\"function\"?t[r]=(o,c)=>r===\"getPolygonOffset\"?i(o,c):P_t(c,i):t[r]=i}function EI(e,t,r){let i=r[r.length-1],s=new e.constructor(i*t);for(let n=0;n(t[i+1]=t[i]+r.length,t),new Uint32Array(e.length+1))}function no(e,t){let r=[],i=[];for(let[s,n]of Object.entries(e))s.startsWith(\"get\")&&n instanceof xr&&(r.push(n),s.endsWith(\"Color\")&&i.push(n));I_t(t,r);for(let s of i)C_t(s)}function I_t(e,t){for(let r of t)_r(e.batches.length===r.data.length);for(let r of t)for(let i=0;ithis.data):this.content}get isLoaded(){return this._isLoaded&&!this._needsReload}get isLoading(){return!!this._loader&&!this._isCancelled}get needsReload(){return this._needsReload||this._isCancelled}get byteLength(){let t=this.content?this.content.byteLength:0;return Number.isFinite(t)||console.error(\"byteLength not defined in tile data\"),t}async _loadData({getData:t,requestScheduler:r,onLoad:i,onError:s}){let{index:n,id:o,bbox:c,userData:f,zoom:_}=this,w=this._loaderId;this._abortController=new AbortController;let{signal:I}=this._abortController,R=await r.scheduleRequest(this,Q=>Q.isSelected?1:-1);if(!R){this._isCancelled=!0;return}if(this._isCancelled){R.done();return}let N=null,j;try{N=await t({index:n,id:o,bbox:c,userData:f,zoom:_,signal:I})}catch(Q){j=Q||!0}finally{R.done()}if(w===this._loaderId){if(this._loader=void 0,this.content=N,this._isCancelled&&!N){this._isLoaded=!1;return}this._isLoaded=!0,this._isCancelled=!1,j?s(j,this):i(this)}}loadData(t){return this._isLoaded=!1,this._isCancelled=!1,this._needsReload=!1,this._loaderId++,this._loader=this._loadData(t),this._loader}setNeedsReload(){this.isLoading&&(this.abort(),this._loader=void 0),this._needsReload=!0}abort(){var t;this.isLoaded||(this._isCancelled=!0,(t=this._abortController)===null||t===void 0||t.abort())}};var so={OUTSIDE:-1,INTERSECTING:0,INSIDE:1};var IQ=new Ve,O_t=new Ve,Jg=class e{constructor(t=[0,0,0],r=[0,0,0],i){G(this,\"center\",void 0),G(this,\"halfDiagonal\",void 0),G(this,\"minimum\",void 0),G(this,\"maximum\",void 0),i=i||IQ.copy(t).add(r).scale(.5),this.center=new Ve(i),this.halfDiagonal=new Ve(r).subtract(this.center),this.minimum=new Ve(t),this.maximum=new Ve(r)}clone(){return new e(this.minimum,this.maximum,this.center)}equals(t){return this===t||!!t&&this.minimum.equals(t.minimum)&&this.maximum.equals(t.maximum)}transform(t){return this.center.transformAsPoint(t),this.halfDiagonal.transform(t),this.minimum.transform(t),this.maximum.transform(t),this}intersectPlane(t){let{halfDiagonal:r}=this,i=O_t.from(t.normal),s=r.x*Math.abs(i.x)+r.y*Math.abs(i.y)+r.z*Math.abs(i.z),n=this.center.dot(i)+t.distance;return n-s>0?so.INSIDE:n+s<0?so.OUTSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=IQ.from(t).subtract(this.center),{halfDiagonal:i}=this,s=0,n;return n=Math.abs(r.x)-i.x,n>0&&(s+=n*n),n=Math.abs(r.y)-i.y,n>0&&(s+=n*n),n=Math.abs(r.z)-i.z,n>0&&(s+=n*n),s}};var TS=new Ve,CQ=new Ve,t_=class e{constructor(t=[0,0,0],r=0){G(this,\"center\",void 0),G(this,\"radius\",void 0),this.radius=-0,this.center=new Ve,this.fromCenterRadius(t,r)}fromCenterRadius(t,r){return this.center.from(t),this.radius=r,this}fromCornerPoints(t,r){return r=TS.from(r),this.center=new Ve().from(t).add(r).scale(.5),this.radius=this.center.distance(r),this}equals(t){return this===t||!!t&&this.center.equals(t.center)&&this.radius===t.radius}clone(){return new e(this.center,this.radius)}union(t){let r=this.center,i=this.radius,s=t.center,n=t.radius,o=TS.copy(s).subtract(r),c=o.magnitude();if(i>=c+n)return this.clone();if(n>=c+i)return t.clone();let f=(i+c+n)*.5;return CQ.copy(o).scale((-i+f)/c).add(r),this.center.copy(CQ),this.radius=f,this}expand(t){let i=TS.from(t).subtract(this.center).magnitude();return i>this.radius&&(this.radius=i),this}transform(t){this.center.transform(t);let r=c7(TS,t);return this.radius=Math.max(r[0],Math.max(r[1],r[2]))*this.radius,this}distanceSquaredTo(t){let r=this.distanceTo(t);return r*r}distanceTo(t){let i=TS.from(t).subtract(this.center);return Math.max(0,i.len()-this.radius)}intersectPlane(t){let r=this.center,i=this.radius,n=t.normal.dot(r)+t.distance;return n<-i?so.OUTSIDE:n=f?so.INSIDE:so.INTERSECTING}distanceTo(t){return Math.sqrt(this.distanceSquaredTo(t))}distanceSquaredTo(t){let r=F_t.from(t).subtract(this.center),i=this.halfAxes,s=i.getColumn(0,II),n=i.getColumn(1,CI),o=i.getColumn(2,LI),c=s.magnitude(),f=n.magnitude(),_=o.magnitude();s.normalize(),n.normalize(),o.normalize();let w=0,I;return I=Math.abs(r.dot(s))-c,I>0&&(w+=I*I),I=Math.abs(r.dot(n))-f,I>0&&(w+=I*I),I=Math.abs(r.dot(o))-_,I>0&&(w+=I*I),w}computePlaneDistances(t,r,i=[-0,-0]){let s=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,o=this.center,c=this.halfAxes,f=c.getColumn(0,II),_=c.getColumn(1,CI),w=c.getColumn(2,LI),I=z_t.copy(f).add(_).add(w).add(o),R=N_t.copy(I).subtract(t),N=r.dot(R);return s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),I.copy(o).add(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).add(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).add(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),o.copy(I).subtract(f).subtract(_).subtract(w),R.copy(I).subtract(t),N=r.dot(R),s=Math.min(N,s),n=Math.max(N,n),i[0]=s,i[1]=n,i}transform(t){this.center.transformAsPoint(t);let r=this.halfAxes.getColumn(0,II);r.transformAsPoint(t);let i=this.halfAxes.getColumn(1,CI);i.transformAsPoint(t);let s=this.halfAxes.getColumn(2,LI);return s.transformAsPoint(t),this.halfAxes=new ss([...r,...i,...s]),this}getTransform(){throw new Error(\"not implemented\")}};var LQ=new Ve,kQ=new Ve,Af=class e{constructor(t=[0,0,1],r=0){G(this,\"normal\",void 0),G(this,\"distance\",void 0),this.normal=new Ve,this.distance=-0,this.fromNormalDistance(t,r)}fromNormalDistance(t,r){return Bh(Number.isFinite(r)),this.normal.from(t).normalize(),this.distance=r,this}fromPointNormal(t,r){t=LQ.from(t),this.normal.from(r).normalize();let i=-this.normal.dot(t);return this.distance=i,this}fromCoefficients(t,r,i,s){return this.normal.set(t,r,i),Bh(Ro(this.normal.len(),1)),this.distance=s,this}clone(){return new e(this.normal,this.distance)}equals(t){return Ro(this.distance,t.distance)&&Ro(this.normal,t.normal)}getPointDistance(t){return this.normal.dot(t)+this.distance}transform(t){let r=kQ.copy(this.normal).transformAsVector(t).normalize(),i=this.normal.scale(-this.distance).transform(t);return this.fromPointNormal(i,r)}projectPointOntoPlane(t,r=[0,0,0]){t=LQ.from(t);let i=this.getPointDistance(t),s=kQ.copy(this.normal).scale(i);return t.subtract(s).to(r)}};var RQ=[new Ve([1,0,0]),new Ve([0,1,0]),new Ve([0,0,1])],DQ=new Ve,U_t=new Ve,Rse=new Af(new Ve(1,0,0),0),Ad=class e{constructor(t=[]){G(this,\"planes\",void 0),this.planes=t}fromBoundingSphere(t){this.planes.length=2*RQ.length;let r=t.center,i=t.radius,s=0;for(let n of RQ){let o=this.planes[s],c=this.planes[s+1];o||(o=this.planes[s]=new Af),c||(c=this.planes[s+1]=new Af);let f=DQ.copy(n).scale(-i).add(r),_=-n.dot(f);o.fromPointNormal(f,n);let w=DQ.copy(n).scale(i).add(r),I=U_t.copy(n).negate(),R=-I.dot(w);c.fromPointNormal(w,I),s+=2}return this}computeVisibility(t){let r=so.INSIDE;for(let i of this.planes)switch(t.intersectPlane(i)){case so.OUTSIDE:return so.OUTSIDE;case so.INTERSECTING:r=so.INTERSECTING;break;default:}return r}computeVisibilityWithPlaneMask(t,r){if(Bh(Number.isFinite(r),\"parentPlaneMask is required.\"),r===e.MASK_OUTSIDE||r===e.MASK_INSIDE)return r;let i=e.MASK_INSIDE,s=this.planes;for(let n=0;nf;)q_t(c,kI),OQ.copy(kI).transpose(),c.multiplyRight(kI),c.multiplyLeft(OQ),o.multiplyRight(kI),++s>2&&(++n,s=0);return t.unitary=o.toTarget(t.unitary),t.diagonal=c.toTarget(t.diagonal),t}function W_t(e){let t=0;for(let r=0;r<9;++r){let i=e[r];t+=i*i}return Math.sqrt(t)}var GB=[1,0,0],WB=[2,2,1];function H_t(e){let t=0;for(let r=0;r<3;++r){let i=e[md.getElementIndex(WB[r],GB[r])];t+=2*i*i}return Math.sqrt(t)}function q_t(e,t){let r=YE.EPSILON15,i=0,s=1;for(let _=0;_<3;++_){let w=Math.abs(e[md.getElementIndex(WB[_],GB[_])]);w>i&&(s=_,i=w)}let n=GB[s],o=WB[s],c=1,f=0;if(Math.abs(e[md.getElementIndex(o,n)])>r){let _=e[md.getElementIndex(o,o)],w=e[md.getElementIndex(n,n)],I=e[md.getElementIndex(o,n)],R=(_-w)/2/I,N;R<0?N=-1/(-R+Math.sqrt(1+R*R)):N=1/(R+Math.sqrt(1+R*R)),c=1/Math.sqrt(1+N*N),f=N*c}return ss.IDENTITY.to(t),t[md.getElementIndex(n,n)]=t[md.getElementIndex(o,o)]=c,t[md.getElementIndex(o,n)]=f,t[md.getElementIndex(n,o)]=-f,t}var Cm=new Ve,Z_t=new Ve,Y_t=new Ve,Q_t=new Ve,$_t=new Ve,X_t=new ss,K_t={diagonal:new ss,unitary:new ss};function HB(e,t=new yx){if(!e||e.length===0)return t.halfAxes=new ss([0,0,0,0,0,0,0,0,0]),t.center=new Ve,t;let r=e.length,i=new Ve(0,0,0);for(let le of e)i.add(le);let s=1/r;i.multiplyByScalar(s);let n=0,o=0,c=0,f=0,_=0,w=0;for(let le of e){let ue=Cm.copy(le).subtract(i);n+=ue.x*ue.x,o+=ue.x*ue.y,c+=ue.x*ue.z,f+=ue.y*ue.y,_+=ue.y*ue.z,w+=ue.z*ue.z}n*=s,o*=s,c*=s,f*=s,_*=s,w*=s;let I=X_t;I[0]=n,I[1]=o,I[2]=c,I[3]=o,I[4]=f,I[5]=_,I[6]=c,I[7]=_,I[8]=w;let{unitary:R}=RI(I,K_t),N=t.halfAxes.copy(R),j=N.getColumn(0,Y_t),Q=N.getColumn(1,Q_t),et=N.getColumn(2,$_t),Y=-Number.MAX_VALUE,K=-Number.MAX_VALUE,J=-Number.MAX_VALUE,ut=Number.MAX_VALUE,Et=Number.MAX_VALUE,kt=Number.MAX_VALUE;for(let le of e)Cm.copy(le),Y=Math.max(Cm.dot(j),Y),K=Math.max(Cm.dot(Q),K),J=Math.max(Cm.dot(et),J),ut=Math.min(Cm.dot(j),ut),Et=Math.min(Cm.dot(Q),Et),kt=Math.min(Cm.dot(et),kt);j=j.multiplyByScalar(.5*(ut+Y)),Q=Q.multiplyByScalar(.5*(Et+K)),et=et.multiplyByScalar(.5*(kt+J)),t.center.copy(j).add(Q).add(et);let Xt=Z_t.set(Y-ut,K-Et,J-kt).multiplyByScalar(.5),qt=new ss([Xt[0],0,0,0,Xt[1],0,0,0,Xt[2]]);return t.halfAxes.multiplyRight(qt),t}var vx=512,BQ=3,FQ=[[.5,.5],[0,0],[0,1],[1,0],[1,1]],zQ=FQ.concat([[0,.5],[.5,0],[1,.5],[.5,1]]),J_t=zQ.concat([[.25,.5],[.75,.5]]),qB=class e{constructor(t,r,i){G(this,\"x\",void 0),G(this,\"y\",void 0),G(this,\"z\",void 0),G(this,\"childVisible\",void 0),G(this,\"selected\",void 0),G(this,\"_children\",void 0),this.x=t,this.y=r,this.z=i}get children(){if(!this._children){let t=this.x*2,r=this.y*2,i=this.z+1;this._children=[new e(t,r,i),new e(t,r+1,i),new e(t+1,r,i),new e(t+1,r+1,i)]}return this._children}update(t){let{viewport:r,cullingVolume:i,elevationBounds:s,minZ:n,maxZ:o,bounds:c,offset:f,project:_}=t,w=this.getBoundingVolume(s,f,_);if(c&&!this.insideBounds(c)||i.computeVisibility(w)<0)return!1;if(!this.childVisible){let{z:R}=this;if(R=n){let N=w.distanceTo(r.cameraPosition)*r.scale/r.height;R+=Math.floor(Math.log2(N))}if(R>=o)return this.selected=!0,!0}this.selected=!1,this.childVisible=!0;for(let R of this.children)R.update(t);return!0}getSelected(t=[]){if(this.selected&&t.push(this),this._children)for(let r of this._children)r.getSelected(t);return t}insideBounds([t,r,i,s]){let n=Math.pow(2,this.z),o=vx/n;return this.x*ot&&(this.y+1)*o>r}getBoundingVolume(t,r,i){if(i){let f=this.z<1?J_t:this.z<2?zQ:FQ,_=[];for(let w of f){let I=DI(this.x+w[0],this.y+w[1],this.z);I[2]=t[0],_.push(i(I)),t[0]!==t[1]&&(I[2]=t[1],_.push(i(I)))}return HB(_)}let s=Math.pow(2,this.z),n=vx/s,o=this.x*n+r*vx,c=vx-(this.y+1)*n;return new Jg([o,c,t[0]],[o+n,c+n,t[1]])}};function NQ(e,t,r,i){let s=e instanceof rv&&e.resolution?e.projectPosition:null,n=Object.values(e.getFrustumPlanes()).map(({normal:N,distance:j})=>new Af(N.clone().negate(),j)),o=new Ad(n),c=e.distanceScales.unitsPerMeter[2],f=r&&r[0]*c||0,_=r&&r[1]*c||0,w=e instanceof lc&&e.pitch<=60?t:0;if(i){let[N,j,Q,et]=i,Y=va([N,et]),K=va([Q,j]);i=[Y[0],vx-Y[1],K[0],vx-K[1]]}let I=new qB(0,0,0),R={viewport:e,project:s,cullingVolume:o,elevationBounds:[f,_],minZ:w,maxZ:t,bounds:i,offset:0};if(I.update(R),e instanceof lc&&e.subViewports&&e.subViewports.length>1){for(R.offset=-1;I.update(R)&&!(--R.offset<-BQ););for(R.offset=1;I.update(R)&&!(++R.offset>BQ););}return I.getSelected()}var zp=512,tyt=[-1/0,-1/0,1/0,1/0],YB={type:\"object\",value:null,validate:(e,t)=>t.optional&&e===null||typeof e==\"string\"||Array.isArray(e)&&e.every(r=>typeof r==\"string\"),equal:(e,t)=>{if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;let r=e.length;if(r!==t.length)return!1;for(let i=0;is[0])),Math.min(...r.map(s=>s[1])),Math.max(...r.map(s=>s[0])),Math.max(...r.map(s=>s[1]))]}function eyt(e){return Math.abs(e.split(\"\").reduce((t,r)=>(t<<5)-t+r.charCodeAt(0)|0,0))}function QB(e,t){if(!e||!e.length)return null;let{index:r,id:i}=t;if(Array.isArray(e)){let n=eyt(i)%e.length;e=e[n]}let s=e;for(let n of Object.keys(r)){let o=new RegExp(\"{\".concat(n,\"}\"),\"g\");s=s.replace(o,String(r[n]))}return Number.isInteger(r.y)&&Number.isInteger(r.z)&&(s=s.replace(/\\{-y\\}/g,String(Math.pow(2,r.z)-r.y-1))),s}function ryt(e,t,r){let i;if(t&&t.length===2){let[s,n]=t,o=e.getBounds({z:s}),c=e.getBounds({z:n});i=[Math.min(o[0],c[0]),Math.min(o[1],c[1]),Math.max(o[2],c[2]),Math.max(o[3],c[3])]}else i=e.getBounds();return e.isGeospatial?[Math.max(i[0],r[0]),Math.max(i[1],r[1]),Math.min(i[2],r[2]),Math.min(i[3],r[3])]:[Math.max(Math.min(i[0],r[2]),r[0]),Math.max(Math.min(i[1],r[3]),r[1]),Math.min(Math.max(i[2],r[0]),r[2]),Math.min(Math.max(i[3],r[1]),r[3])]}function jQ({viewport:e,z:t=0,cullRect:r}){return(e.subViewports||[e]).map(s=>ZB(s,t,r))}function ZB(e,t,r){if(!Array.isArray(t)){let n=r.x-e.x,o=r.y-e.y,{width:c,height:f}=r,_={targetZ:t},w=e.unproject([n,o],_),I=e.unproject([n+c,o],_),R=e.unproject([n,o+f],_),N=e.unproject([n+c,o+f],_);return[Math.min(w[0],I[0],R[0],N[0]),Math.min(w[1],I[1],R[1],N[1]),Math.max(w[0],I[0],R[0],N[0]),Math.max(w[1],I[1],R[1],N[1])]}let i=ZB(e,t[0],r),s=ZB(e,t[1],r);return[Math.min(i[0],s[0]),Math.min(i[1],s[1]),Math.max(i[2],s[2]),Math.max(i[3],s[3])]}function iyt(e,t,r){return r?VQ(e,r).map(s=>s*t/zp):e.map(i=>i*t/zp)}function $B(e,t){return Math.pow(2,e)*zp/t}function DI(e,t,r){let i=$B(r,zp),s=e/i*360-180,n=Math.PI-2*Math.PI*t/i,o=180/Math.PI*Math.atan(.5*(Math.exp(n)-Math.exp(-n)));return[s,o]}function UQ(e,t,r,i){let s=$B(r,i);return[e/s*zp,t/s*zp]}function XB(e,t,r,i,s=zp){if(e.isGeospatial){let[_,w]=DI(t,r,i),[I,R]=DI(t+1,r+1,i);return{west:_,north:w,east:I,south:R}}let[n,o]=UQ(t,r,i,s),[c,f]=UQ(t+1,r+1,i,s);return{left:n,top:o,right:c,bottom:f}}function nyt(e,t,r,i,s){let n=ryt(e,null,i),o=$B(t,r),[c,f,_,w]=iyt(n,o,s),I=[];for(let R=Math.floor(c);R<_;R++)for(let N=Math.floor(f);Nt&&(_=t);let w=s;return o&&c&&s&&!e.isGeospatial&&(w=VQ(s,o)),e.isGeospatial?NQ(e,_,i,s):nyt(e,_,n,w||tyt,c)}function GQ(e){let t={},r;return i=>{for(let s in i)if(!syt(i[s],t[s])){r=e(i),t=i;break}return r}}function syt(e,t){if(e===t)return!0;if(Array.isArray(e)){let r=e.length;if(!t||t.length!==r)return!1;for(let i=0;i{}},uyt={extent:null,tileSize:512,maxZoom:null,minZoom:null,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:\"best-available\",zRange:null,maxRequests:6,zoomOffset:0,onTileLoad:()=>{},onTileUnload:()=>{},onTileError:()=>{}},MS=class{constructor(t){G(this,\"opts\",void 0),G(this,\"_requestScheduler\",void 0),G(this,\"_cache\",void 0),G(this,\"_dirty\",void 0),G(this,\"_tiles\",void 0),G(this,\"_cacheByteSize\",void 0),G(this,\"_viewport\",void 0),G(this,\"_zRange\",void 0),G(this,\"_selectedTiles\",void 0),G(this,\"_frameNumber\",void 0),G(this,\"_modelMatrix\",void 0),G(this,\"_modelMatrixInverse\",void 0),G(this,\"_maxZoom\",void 0),G(this,\"_minZoom\",void 0),G(this,\"onTileLoad\",void 0),G(this,\"_getCullBounds\",GQ(jQ)),this.opts={...uyt,...t},this.onTileLoad=r=>{var i,s;(i=(s=this.opts).onTileLoad)===null||i===void 0||i.call(s,r),this.opts.maxCacheByteSize&&(this._cacheByteSize+=r.byteLength,this._resizeCache())},this._requestScheduler=new py({maxRequests:t.maxRequests,throttleRequests:!!(t.maxRequests&&t.maxRequests>0)}),this._cache=new Map,this._tiles=[],this._dirty=!1,this._cacheByteSize=0,this._viewport=null,this._selectedTiles=null,this._frameNumber=0,this._modelMatrix=new En,this._modelMatrixInverse=new En,this.setOptions(t)}get tiles(){return this._tiles}get selectedTiles(){return this._selectedTiles}get isLoaded(){return this._selectedTiles!==null&&this._selectedTiles.every(t=>t.isLoaded)}get needsReload(){return this._selectedTiles!==null&&this._selectedTiles.some(t=>t.needsReload)}setOptions(t){Object.assign(this.opts,t),Number.isFinite(t.maxZoom)&&(this._maxZoom=Math.floor(t.maxZoom)),Number.isFinite(t.minZoom)&&(this._minZoom=Math.ceil(t.minZoom))}finalize(){for(let t of this._cache.values())t.isLoading&&t.abort();this._cache.clear(),this._tiles=[],this._selectedTiles=null}reloadAll(){for(let t of this._cache.keys()){let r=this._cache.get(t);!this._selectedTiles||!this._selectedTiles.includes(r)?this._cache.delete(t):r.setNeedsReload()}}update(t,{zRange:r,modelMatrix:i}={}){let s=new En(i),n=!s.equals(this._modelMatrix);if(!this._viewport||!t.equals(this._viewport)||!Ro(this._zRange,r)||n){n&&(this._modelMatrixInverse=s.clone().invert(),this._modelMatrix=s),this._viewport=t,this._zRange=r;let c=this.getTileIndices({viewport:t,maxZoom:this._maxZoom,minZoom:this._minZoom,zRange:r,modelMatrix:this._modelMatrix,modelMatrixInverse:this._modelMatrixInverse});this._selectedTiles=c.map(f=>this._getTile(f,!0)),this._dirty&&this._rebuildTree()}else this.needsReload&&(this._selectedTiles=this._selectedTiles.map(c=>this._getTile(c.index,!0)));let o=this.updateTileStates();return this._pruneRequests(),this._dirty&&this._resizeCache(),o&&this._frameNumber++,this._frameNumber}isTileVisible(t,r){if(!t.isVisible)return!1;if(r&&this._viewport){let i=this._getCullBounds({viewport:this._viewport,z:this._zRange,cullRect:r}),{bbox:s}=t;for(let[n,o,c,f]of i){let _;if(\"west\"in s)_=s.westn&&s.southo;else{let w=Math.min(s.top,s.bottom),I=Math.max(s.top,s.bottom);_=s.leftn&&wo}if(_)return!0}return!1}return!0}getTileIndices({viewport:t,maxZoom:r,minZoom:i,zRange:s,modelMatrix:n,modelMatrixInverse:o}){let{tileSize:c,extent:f,zoomOffset:_}=this.opts;return KB({viewport:t,maxZoom:r,minZoom:i,zRange:s,tileSize:c,extent:f,modelMatrix:n,modelMatrixInverse:o,zoomOffset:_})}getTileId(t){return\"\".concat(t.x,\"-\").concat(t.y,\"-\").concat(t.z)}getTileZoom(t){return t.z}getTileMetadata(t){let{tileSize:r}=this.opts;return{bbox:XB(this._viewport,t.x,t.y,t.z,r)}}getParentIndex(t){let r=Math.floor(t.x/2),i=Math.floor(t.y/2),s=t.z-1;return{x:r,y:i,z:s}}updateTileStates(){let t=this.opts.refinementStrategy||ES,r=new Array(this._cache.size),i=0;for(let s of this._cache.values())r[i++]=s.isVisible,s.isSelected=!1,s.isVisible=!1;for(let s of this._selectedTiles)s.isSelected=!0,s.isVisible=!0;(typeof t==\"function\"?t:cyt[t])(Array.from(this._cache.values())),i=0;for(let s of this._cache.values())if(r[i++]!==s.isVisible)return!0;return!1}_pruneRequests(){let{maxRequests:t=0}=this.opts,r=[],i=0;for(let s of this._cache.values())s.isLoading&&(i++,!s.isSelected&&!s.isVisible&&r.push(s));for(;t>0&&i>t&&r.length>0;)r.shift().abort(),i--}_rebuildTree(){let{_cache:t}=this;for(let r of t.values())r.parent=null,r.children&&(r.children.length=0);for(let r of t.values()){let i=this._getNearestAncestor(r);r.parent=i,i!=null&&i.children&&i.children.push(r)}}_resizeCache(){let{_cache:t,opts:r}=this,i=r.maxCacheSize||(r.maxCacheByteSize?1/0:lyt*this.selectedTiles.length),s=r.maxCacheByteSize||1/0;if(t.size>i||this._cacheByteSize>s){for(let[f,_]of t){if(!_.isVisible&&!_.isSelected){var o,c;this._cacheByteSize-=r.maxCacheByteSize?_.byteLength:0,t.delete(f),(o=(c=this.opts).onTileUnload)===null||o===void 0||o.call(c,_)}if(t.size<=i&&this._cacheByteSize<=s)break}this._rebuildTree(),this._dirty=!0}this._dirty&&(this._tiles=Array.from(this._cache.values()).sort((f,_)=>f.zoom-_.zoom),this._dirty=!1)}_getTile(t,r){let i=this.getTileId(t),s=this._cache.get(i),n=!1;return!s&&r?(s=new PI(t),Object.assign(s,this.getTileMetadata(s.index)),Object.assign(s,{id:i,zoom:this.getTileZoom(s.index)}),n=!0,this._cache.set(i,s),this._dirty=!0):s&&s.needsReload&&(n=!0),s&&n&&s.loadData({getData:this.opts.getTileData,requestScheduler:this._requestScheduler,onLoad:this.onTileLoad,onError:this.opts.onTileError}),s}_getNearestAncestor(t){let{_minZoom:r=0}=this,i=t.index;for(;this.getTileZoom(i)>r;){i=this.getParentIndex(i);let s=this._getTile(i);if(s)return s}return null}};function hyt(e){for(let t of e)t.state=0;for(let t of e)t.isSelected&&!HQ(t)&&JB(t);for(let t of e)t.isVisible=!!(t.state&OI)}function fyt(e){for(let r of e)r.state=0;for(let r of e)r.isSelected&&HQ(r);let t=Array.from(e).sort((r,i)=>r.zoom-i.zoom);for(let r of t)if(r.isVisible=!!(r.state&OI),r.children&&(r.isVisible||r.state&WQ))for(let i of r.children)i.state=WQ;else r.isSelected&&JB(r)}function HQ(e){let t=e;for(;t;){if(t.isLoaded||t.content)return t.state|=OI,!0;t=t.parent}return!1}function JB(e){for(let t of e.children)t.isLoaded||t.content?t.state|=OI:JB(t)}var dyt={TilesetClass:MS,data:{type:\"data\",value:[]},dataComparator:YB.equal,renderSubLayers:{type:\"function\",value:e=>new Mm(e)},getTileData:{type:\"function\",optional:!0,value:null},onViewportLoad:{type:\"function\",optional:!0,value:null},onTileLoad:{type:\"function\",value:e=>{}},onTileUnload:{type:\"function\",value:e=>{}},onTileError:{type:\"function\",value:e=>console.error(e)},extent:{type:\"array\",optional:!0,value:null,compare:!0},tileSize:512,maxZoom:null,minZoom:0,maxCacheSize:null,maxCacheByteSize:null,refinementStrategy:ES,zRange:null,maxRequests:6,zoomOffset:0},Lm=class extends Ni{initializeState(){this.state={tileset:null,isLoaded:!1}}finalizeState(){var t,r;(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||r.finalize()}get isLoaded(){var t,r,i;return(t=this.state)===null||t===void 0||(r=t.tileset)===null||r===void 0||(i=r.selectedTiles)===null||i===void 0?void 0:i.every(s=>s.isLoaded&&s.layers&&s.layers.every(n=>n.isLoaded))}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState({changeFlags:t}){let{tileset:r}=this.state,i=t.propsOrDataChanged||t.updateTriggersChanged,s=t.dataChanged||t.updateTriggersChanged&&(t.updateTriggersChanged.all||t.updateTriggersChanged.getTileData);r?i&&(r.setOptions(this._getTilesetOptions()),s?r.reloadAll():this.state.tileset.tiles.forEach(n=>{n.layers=null})):(r=new this.props.TilesetClass(this._getTilesetOptions()),this.setState({tileset:r})),this._updateTileset()}_getTilesetOptions(){let{tileSize:t,maxCacheSize:r,maxCacheByteSize:i,refinementStrategy:s,extent:n,maxZoom:o,minZoom:c,maxRequests:f,zoomOffset:_}=this.props;return{maxCacheSize:r,maxCacheByteSize:i,maxZoom:o,minZoom:c,tileSize:t,refinementStrategy:s,extent:n,maxRequests:f,zoomOffset:_,getTileData:this.getTileData.bind(this),onTileLoad:this._onTileLoad.bind(this),onTileError:this._onTileError.bind(this),onTileUnload:this._onTileUnload.bind(this)}}_updateTileset(){let{tileset:t}=this.state,{zRange:r,modelMatrix:i}=this.props,s=t.update(this.context.viewport,{zRange:r,modelMatrix:i}),{isLoaded:n}=t,o=this.state.isLoaded!==n,c=this.state.frameNumber!==s;n&&(o||c)&&this._onViewportLoad(),c&&this.setState({frameNumber:s}),this.state.isLoaded=n}_onViewportLoad(){let{tileset:t}=this.state,{onViewportLoad:r}=this.props;r&&r(t.selectedTiles)}_onTileLoad(t){this.props.onTileLoad(t),t.layers=null,this.setNeedsUpdate()}_onTileError(t,r){this.props.onTileError(t),r.layers=null,this.setNeedsUpdate()}_onTileUnload(t){this.props.onTileUnload(t)}getTileData(t){let{data:r,getTileData:i,fetch:s}=this.props,{signal:n}=t;return t.url=typeof r==\"string\"||Array.isArray(r)?QB(r,t):null,i?i(t):s&&t.url?s(t.url,{propName:\"data\",layer:this,signal:n}):null}renderSubLayers(t){return this.props.renderSubLayers(t)}getSubLayerPropsByTile(t){return null}getPickingInfo({info:t,sourceLayer:r}){let i=r.props.tile;return t.picked&&(t.tile=i),t.sourceTile=i,t}_updateAutoHighlight(t){let r=t.sourceTile;if(r&&r.layers)for(let i of r.layers)i.updateAutoHighlight(t)}renderLayers(){return this.state.tileset.tiles.map(t=>{let r=this.getSubLayerPropsByTile(t);if(!(!t.isLoaded&&!t.content))if(t.layers)r&&t.layers[0]&&Object.keys(r).some(i=>t.layers[0].props[i]!==r[i])&&(t.layers=t.layers.map(i=>i.clone(r)));else{let i=this.renderSubLayers({...this.props,...this.getSubLayerProps({id:t.id,updateTriggers:this.props.updateTriggers}),data:t.content,_offset:0,tile:t});t.layers=op(i,Boolean).map(s=>s.clone({tile:t,...r}))}return t.layers})}filterSubLayer({layer:t,cullRect:r}){let{tile:i}=t.props;return this.state.tileset.isTileVisible(i,r)}};G(Lm,\"defaultProps\",dyt);G(Lm,\"layerName\",\"TileLayer\");var Ic=function(e){e=e||{};var t=typeof e<\"u\"?e:{},r={},i;for(i in t)t.hasOwnProperty(i)&&(r[i]=t[i]);var s=[],n=\"\";function o(Zt){return t.locateFile?t.locateFile(Zt,n):n+Zt}var c;document.currentScript&&(n=document.currentScript.src),n.indexOf(\"blob:\")!==0?n=n.substr(0,n.lastIndexOf(\"/\")+1):n=\"\",c=function(fe,Be,br){var g=new XMLHttpRequest;g.open(\"GET\",fe,!0),g.responseType=\"arraybuffer\",g.onload=function(){if(g.status==200||g.status==0&&g.response){Be(g.response);return}var Ti=ht(fe);if(Ti){Be(Ti.buffer);return}br()},g.onerror=br,g.send(null)};var f=t.print||console.log.bind(console),_=t.printErr||console.warn.bind(console);for(i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);r=null,t.arguments&&(s=t.arguments);var w=0,I=function(Zt){w=Zt},R=function(){return w},N=8;function j(Zt,fe,Be,br){switch(Be=Be||\"i8\",Be.charAt(Be.length-1)===\"*\"&&(Be=\"i32\"),Be){case\"i1\":Sr[Zt>>0]=fe;break;case\"i8\":Sr[Zt>>0]=fe;break;case\"i16\":oo[Zt>>1]=fe;break;case\"i32\":No[Zt>>2]=fe;break;case\"i64\":ve=[fe>>>0,(wo=fe,+Nl(wo)>=1?wo>0?(mn(+ls(wo/4294967296),4294967295)|0)>>>0:~~+ee((wo-+(~~wo>>>0))/4294967296)>>>0:0)],No[Zt>>2]=ve[0],No[Zt+4>>2]=ve[1];break;case\"float\":Uo[Zt>>2]=fe;break;case\"double\":Si[Zt>>3]=fe;break;default:oh(\"invalid type for setValue: \"+Be)}}function Q(Zt,fe,Be){switch(fe=fe||\"i8\",fe.charAt(fe.length-1)===\"*\"&&(fe=\"i32\"),fe){case\"i1\":return Sr[Zt>>0];case\"i8\":return Sr[Zt>>0];case\"i16\":return oo[Zt>>1];case\"i32\":return No[Zt>>2];case\"i64\":return No[Zt>>2];case\"float\":return Uo[Zt>>2];case\"double\":return Si[Zt>>3];default:oh(\"invalid type for getValue: \"+fe)}return null}var et=!1;function Y(Zt,fe){Zt||oh(\"Assertion failed: \"+fe)}function K(Zt){var fe=t[\"_\"+Zt];return Y(fe,\"Cannot call unknown function \"+Zt+\", make sure it is exported\"),fe}function J(Zt,fe,Be,br,g){var Vi={string:function(Ur){var hi=0;if(Ur!=null&&Ur!==0){var To=(Ur.length<<2)+1;hi=Hp(To),le(Ur,hi,To)}return hi},array:function(Ur){var hi=Hp(Ur.length);return De(Ur,hi),hi}};function Ti(Ur){return fe===\"string\"?Xt(Ur):fe===\"boolean\"?!!Ur:Ur}var Tt=K(Zt),Ms=[],cs=0;if(br)for(var li=0;li=br);)++g;if(g-fe>16&&Zt.subarray&&Et)return Et.decode(Zt.subarray(fe,g));for(var Vi=\"\";fe>10,56320|cs&1023)}}return Vi}function Xt(Zt,fe){return Zt?kt(Li,Zt,fe):\"\"}function qt(Zt,fe,Be,br){if(!(br>0))return 0;for(var g=Be,Vi=Be+br-1,Ti=0;Ti=55296&&Tt<=57343){var Ms=Zt.charCodeAt(++Ti);Tt=65536+((Tt&1023)<<10)|Ms&1023}if(Tt<=127){if(Be>=Vi)break;fe[Be++]=Tt}else if(Tt<=2047){if(Be+1>=Vi)break;fe[Be++]=192|Tt>>6,fe[Be++]=128|Tt&63}else if(Tt<=65535){if(Be+2>=Vi)break;fe[Be++]=224|Tt>>12,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}else{if(Be+3>=Vi)break;fe[Be++]=240|Tt>>18,fe[Be++]=128|Tt>>12&63,fe[Be++]=128|Tt>>6&63,fe[Be++]=128|Tt&63}}return fe[Be]=0,Be-g}function le(Zt,fe,Be){return qt(Zt,Li,fe,Be)}var ue=typeof TextDecoder<\"u\"?new TextDecoder(\"utf-16le\"):void 0;function De(Zt,fe){Sr.set(Zt,fe)}function Ke(Zt,fe){return Zt%fe>0&&(Zt+=fe-Zt%fe),Zt}var rr,Sr,Li,oo,zl,No,ih,Uo,Si;function Ns(Zt){rr=Zt,t.HEAP8=Sr=new Int8Array(Zt),t.HEAP16=oo=new Int16Array(Zt),t.HEAP32=No=new Int32Array(Zt),t.HEAPU8=Li=new Uint8Array(Zt),t.HEAPU16=zl=new Uint16Array(Zt),t.HEAPU32=ih=new Uint32Array(Zt),t.HEAPF32=Uo=new Float32Array(Zt),t.HEAPF64=Si=new Float64Array(Zt)}var ll=5266928,kc=24016,Rc=t.TOTAL_MEMORY||33554432;t.buffer?rr=t.buffer:rr=new ArrayBuffer(Rc),Rc=rr.byteLength,Ns(rr),No[kc>>2]=ll;function Xi(Zt){for(;Zt.length>0;){var fe=Zt.shift();if(typeof fe==\"function\"){fe();continue}var Be=fe.func;typeof Be==\"number\"?fe.arg===void 0?t.dynCall_v(Be):t.dynCall_vi(Be,fe.arg):Be(fe.arg===void 0?null:fe.arg)}}var Jn=[],ki=[],ts=[],Vo=[];function cl(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)as(t.preRun.shift());Xi(Jn)}function xo(){Xi(ki)}function Pa(){Xi(ts)}function na(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)ao(t.postRun.shift());Xi(Vo)}function as(Zt){Jn.unshift(Zt)}function ao(Zt){Vo.unshift(Zt)}var Nl=Math.abs,ee=Math.ceil,ls=Math.floor,mn=Math.min,gi=0,oi=null,lo=null;function du(Zt){gi++,t.monitorRunDependencies&&t.monitorRunDependencies(gi)}function ul(Zt){if(gi--,t.monitorRunDependencies&&t.monitorRunDependencies(gi),gi==0&&(oi!==null&&(clearInterval(oi),oi=null),lo)){var fe=lo;lo=null,fe()}}t.preloadedImages={},t.preloadedAudios={};var bo=null,hl=\"data:application/octet-stream;base64,\";function Ia(Zt){return String.prototype.startsWith?Zt.startsWith(hl):Zt.indexOf(hl)===0}var wo,ve;bo=\"data:application/octet-stream;base64,AAAAAAAAAAACAAAAAwAAAAEAAAAFAAAABAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAABAAAABAAAAAMAAAAGAAAABQAAAAIAAAAAAAAAAgAAAAMAAAABAAAABAAAAAYAAAAAAAAABQAAAAMAAAAGAAAABAAAAAUAAAAAAAAAAQAAAAIAAAAEAAAABQAAAAYAAAAAAAAAAgAAAAMAAAABAAAABQAAAAIAAAAAAAAAAQAAAAMAAAAGAAAABAAAAAYAAAAAAAAABQAAAAIAAAABAAAABAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABgAAAAAAAAAFAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAACAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAwAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAQAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAFAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABgAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAABgAAAAAAAAADAAAAAgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAUAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAEAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAACAAAABAAAAAMAAAAIAAAA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AAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAFAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAQAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAUAAAAFAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAADAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAP////8DAAAAAAAAAAUAAAACAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAADAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAAAAAD/////AwAAAAAAAAAFAAAAAgAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAADAAAAAAAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAADAAAABQAAAAEAAAAAAAAA/////wMAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAEAAAABQAAAAEAAAAAAAAAAwAAAAMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAAAAAAEAAAAAAAAABQAAAAAAAAAAAAAABQAAAAUAAAAAAAAAAAAAAP////8BAAAAAAAAAAMAAAAEAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAAAAAAAAAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAABQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAQAAAP//////////AQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAIAAAAAAAAAAAAAAAEAAAACAAAABgAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAoAAAACAAAAAAAAAAAAAAABAAAAAQAAAAUAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAIAAAAAAAAAAAAAAAEAAAADAAAABwAAAAYAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAAAAAAAAAAAAQAAAAAAAAAJAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAwAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAgAAAAAAAAAAAAAAAQAAAAQAAAAIAAAACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAACAAAAAAAAAAAAAAABAAAACwAAAA8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAgAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAACAAAAAAAAAAAAAAABAAAADAAAABAAAAAMAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAIAAAAAAAAAAAAAAAEAAAAKAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAJAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAgAAAAAAAAAAAAAAAQAAAA0AAAARAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAAAAAAAAAAAAAEAAAAOAAAAEgAAAA8AAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAATAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAEQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAABMAAAACAAAAAAAAAAAAAAABAAAA//////////8TAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAASAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABIAAAAAAAAAGAAAAAAAAAAhAAAAAAAAAB4AAAAAAAAAIAAAAAMAAAAxAAAAAQAAADAAAAADAAAAMgAAAAMAAAAIAAAAAAAAAAUAAAAFAAAACgAAAAUAAAAWAAAAAAAAABAAAAAAAAAAEgAAAAAAAAApAAAAAQAAACEAAAAAAAAAHgAAAAAAAAAEAAAAAAAAAAAAAAAFAAAAAgAAAAUAAAAPAAAAAQAAAAgAAAAAAAAABQAAAAUAAAAfAAAAAQAAABYAAAAAAAAAEAAAAAAAAAACAAAAAAAAAAYAAAAAAAAADgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAAEQAAAAMAAAAYAAAAAQAAABcAAAADAAAAGQAAAAMAAAAAAAAAAAAAAAEAAAAFAAAACQAAAAUAAAAFAAAAAAAAAAIAAAAAAAAABgAAAAAAAAASAAAAAQAAAAoAAAAAAAAACwAAAAAAAAAEAAAAAQAAAAMAAAAFAAAABwAAAAUAAAAIAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAAQAAAAAQAAAAUAAAAAAAAAAgAAAAAAAAAHAAAAAAAAABUAAAAAAAAAJgAAAAAAAAAJAAAAAAAAABMAAAAAAAAAIgAAAAMAAAAOAAAAAQAAABQAAAADAAAAJAAAAAMAAAADAAAAAAAAAA0AAAAFAAAAHQAAAAUAAAABAAAAAAAAAAcAAAAAAAAAFQAAAAAAAAAGAAAA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74auECWhw7+cjSACjzniv8CZ+wUhN9I/1uGEKzup6z+/GYr/04bavwmkNHp7xee/F2NMZVAA1z+82s+x2BLivwr2ytbJ9em/KwEH1sMS1r8yp/2LhTfev81i5RexJsy/BlIKPVwR5b95Wyu0/Qjnv5DjoT7YYcs/nBhKZ6zrwr8wRYS7Nebuv3OW6geh+Lu/SLrixebL3j+pcyymN9Xrv8rHIFfWehZAMBwUdlo0DECTUc17EOb2PxpVB1SWChdAzjbhb9pTDUDQhmdvECX5P9FlMKCC9+g/IIAzjELgE0DajDngMv8GQFhWDmDPjNs/y1guLh96EkAxPi8k7DIEQJCc4URlhRhA3eLKKLwkEECqpNAyTBD/P6xpjXcDiwVAFtl//cQm4z+Ibt3XKiYTQM7mCLUb3QdAoM1t8yVv7D8aLZv2Nk8UQEAJPV5nQwxAtSsfTCoE9z9TPjXLXIIWQBVanC5W9AtAYM3d7Adm9j++5mQz1FoWQBUThyaVBghAwH5muQsV7T89Q1qv82MUQJoWGOfNuBdAzrkClkmwDkDQjKq77t37Py+g0dtitsE/ZwAMTwVPEUBojepluNwBQGYbtuW+t9w/HNWIJs6MEkDTNuQUSlgEQKxktPP5TcQ/ixbLB8JjEUCwuWjXMQYCQAS/R09FkRdAowpiZjhhDkB7LmlczD/7P01iQmhhsAVAnrtTwDy84z/Z6jfQ2TgTQChOCXMnWwpAhrW3daoz8z/HYJvVPI4VQLT3ik5FcA5Angi7LOZd+z+NNVzDy5gXQBXdvVTFUA1AYNMgOeYe+T8+qHXGCwkXQKQTOKwa5AJA8gFVoEMW0T+FwzJyttIRQAEAAAD/////BwAAAP////8xAAAA/////1cBAAD/////YQkAAP////+nQQAA/////5HLAQD/////95AMAP/////B9lcAAAAAAAAAAAAAAAAAAgAAAP////8OAAAA/////2IAAAD/////rgIAAP/////CEgAA/////06DAAD/////IpcDAP/////uIRkA/////4LtrwAAAAAAAAAAAAAAAAAAAAAAAgAAAP//////////AQAAAAMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////////////////////wEAAAAAAAAAAgAAAP///////////////wMAAAD//////////////////////////////////////////////////////////wIAAAD//////////wEAAAAAAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA/////////////////////wEAAAD///////////////8CAAAA////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAA////////////////AgAAAAEAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AQAAAAIAAAD///////////////8AAAAA/////////////////////wMAAAD///////////////////////////////8CAAAA////////////////AQAAAP////////////////////8AAAAA/////////////////////wMAAAD/////////////////////////////////////////////////////AwAAAP////////////////////8AAAAAAQAAAP//////////AgAAAP//////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAP///////////////wIAAAAAAAAAAQAAAP//////////////////////////////////////////////////////////////////////////AwAAAAEAAAD//////////wIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAFAAAABQAAAAAAAAACAAAAAgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAABAAAAAgAAAAIAAAACAAAAAAAAAAUAAAAGAAAAAAAAAAIAAAACAAAAAwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAEAAAADAAAAAgAAAAIAAAAAAAAABQAAAAcAAAAAAAAAAgAAAAIAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAACAAAAAQAAAAQAAAACAAAAAgAAAAAAAAAFAAAACAAAAAAAAAACAAAAAgAAAAMAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAACAAAAAAAAAAUAAAAJAAAAAAAAAAIAAAACAAAAAwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAIAAAACAAAAAAAAAAMAAAAOAAAAAgAAAAAAAAACAAAAAwAAAAAAAAAAAAAAAgAAAAIAAAADAAAABgAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAgAAAAIAAAAAAAAAAwAAAAoAAAACAAAAAAAAAAIAAAADAAAAAQAAAAAAAAACAAAAAgAAAAMAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAACAAAAAgAAAAAAAAADAAAACwAAAAIAAAAAAAAAAgAAAAMAAAACAAAAAAAAAAIAAAACAAAAAwAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAIAAAACAAAAAAAAAAMAAAAMAAAAAgAAAAAAAAACAAAAAwAAAAMAAAAAAAAAAgAAAAIAAAADAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAgAAAAIAAAAAAAAAAwAAAA0AAAACAAAAAAAAAAIAAAADAAAABAAAAAAAAAACAAAAAgAAAAMAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAACAAAAAgAAAAAAAAADAAAABgAAAAIAAAAAAAAAAgAAAAMAAAAPAAAAAAAAAAIAAAACAAAAAwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAIAAAACAAAAAAAAAAMAAAAHAAAAAgAAAAAAAAACAAAAAwAAABAAAAAAAAAAAgAAAAIAAAADAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAgAAAAIAAAAAAAAAAwAAAAgAAAACAAAAAAAAAAIAAAADAAAAEQAAAAAAAAACAAAAAgAAAAMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAACAAAAAgAAAAAAAAADAAAACQAAAAIAAAAAAAAAAgAAAAMAAAASAAAAAAAAAAIAAAACAAAAAwAAAA4AAAAAAAAAAAAAAAAAAAAAAAAACQAAAAIAAAACAAAAAAAAAAMAAAAFAAAAAgAAAAAAAAACAAAAAwAAABMAAAAAAAAAAgAAAAIAAAADAAAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////////wAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAUAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////8AAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAQAAAAAAAAAFAAAAAQAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAABAAEAAAEBAAAAAAABAAAAAQAAAAEAAQAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAAAAQAAAAMAAAAOAAAABgAAAAsAAAACAAAABwAAAAEAAAAYAAAABQAAAAoAAAABAAAABgAAAAAAAAAmAAAABwAAAAwAAAADAAAACAAAAAIAAAAxAAAACQAAAA4AAAAAAAAABQAAAAQAAAA6AAAACAAAAA0AAAAEAAAACQAAAAMAAAA/AAAACwAAAAYAAAAPAAAACgAAABAAAABIAAAADAAAAAcAAAAQAAAACwAAABEAAABTAAAACgAAAAUAAAATAAAADgAAAA8AAABhAAAADQAAAAgAAAARAAAADAAAABIAAABrAAAADgAAAAkAAAASAAAADQAAABMAAAB1AAAADwAAABMAAAARAAAAEgAAABAAAAAHAAAABwAAAAEAAAACAAAABAAAAAMAAAAAAAAAAAAAAAcAAAADAAAAAQAAAAIAAAAFAAAABAAAAAAAAAAAAAAAYWxnb3MuYwBfcG9seWZpbGxJbnRlcm5hbABhZGphY2VudEZhY2VEaXJbdG1wRmlqay5mYWNlXVtmaWprLmZhY2VdID09IEtJAGZhY2VpamsuYwBfZmFjZUlqa1BlbnRUb0dlb0JvdW5kYXJ5AGFkamFjZW50RmFjZURpcltjZW50ZXJJSksuZmFjZV1bZmFjZTJdID09IEtJAF9mYWNlSWprVG9HZW9Cb3VuZGFyeQBwb2x5Z29uLT5uZXh0ID09IE5VTEwAbGlua2VkR2VvLmMAYWRkTmV3TGlua2VkUG9seWdvbgBuZXh0ICE9IE5VTEwAbG9vcCAhPSBOVUxMAGFkZE5ld0xpbmtlZExvb3AAcG9seWdvbi0+Zmlyc3QgPT0gTlVMTABhZGRMaW5rZWRMb29wAGNvb3JkICE9IE5VTEwAYWRkTGlua2VkQ29vcmQAbG9vcC0+Zmlyc3QgPT0gTlVMTABpbm5lckxvb3BzICE9IE5VTEwAbm9ybWFsaXplTXVsdGlQb2x5Z29uAGJib3hlcyAhPSBOVUxMAGNhbmRpZGF0ZXMgIT0gTlVMTABmaW5kUG9seWdvbkZvckhvbGUAY2FuZGlkYXRlQkJveGVzICE9IE5VTEwAcmV2RGlyICE9IElOVkFMSURfRElHSVQAbG9jYWxpai5jAGgzVG9Mb2NhbElqawBiYXNlQ2VsbCAhPSBvcmlnaW5CYXNlQ2VsbAAhKG9yaWdpbk9uUGVudCAmJiBpbmRleE9uUGVudCkAcGVudGFnb25Sb3RhdGlvbnMgPj0gMABkaXJlY3Rpb25Sb3RhdGlvbnMgPj0gMABiYXNlQ2VsbCA9PSBvcmlnaW5CYXNlQ2VsbABiYXNlQ2VsbCAhPSBJTlZBTElEX0JBU0VfQ0VMTABsb2NhbElqa1RvSDMAIV9pc0Jhc2VDZWxsUGVudGFnb24oYmFzZUNlbGwpAGJhc2VDZWxsUm90YXRpb25zID49IDAAd2l0aGluUGVudGFnb25Sb3RhdGlvbnMgPj0gMABncmFwaC0+YnVja2V0cyAhPSBOVUxMAHZlcnRleEdyYXBoLmMAaW5pdFZlcnRleEdyYXBoAG5vZGUgIT0gTlVMTABhZGRWZXJ0ZXhOb2Rl\";var jo=24032;function gn(Zt){return Zt}function Ul(Zt){var fe=/\\b__Z[\\w\\d_]+/g;return Zt.replace(fe,function(Be){var br=Be;return Be===br?Be:br+\" [\"+Be+\"]\"})}function Ca(){var Zt=new Error;if(!Zt.stack){try{throw new Error(0)}catch(fe){Zt=fe}if(!Zt.stack)return\"(no stack trace available)\"}return Zt.stack.toString()}function Te(){var Zt=Ca();return t.extraStackTrace&&(Zt+=`\n`+t.extraStackTrace()),Ul(Zt)}function Dr(Zt,fe,Be,br){oh(\"Assertion failed: \"+Xt(Zt)+\", at: \"+[fe?Xt(fe):\"unknown filename\",Be,br?Xt(br):\"unknown function\"])}function gr(){return Sr.length}function Us(Zt,fe,Be){Li.set(Li.subarray(fe,fe+Be),Zt)}function La(Zt){return t.___errno_location&&(No[t.___errno_location()>>2]=Zt),Zt}function Mr(Zt){oh(\"OOM\")}function sa(Zt){try{var fe=new ArrayBuffer(Zt);return fe.byteLength!=Zt?void 0:(new Int8Array(fe).set(Sr),xi(fe),Ns(fe),1)}catch{}}function gt(Zt){var fe=gr(),Be=16777216,br=2147483648-Be;if(Zt>br)return!1;for(var g=16777216,Vi=Math.max(fe,g);Vi>4,g=(Tt&15)<<4|Ms>>2,Vi=(Ms&3)<<6|cs,Be=Be+String.fromCharCode(br),Ms!==64&&(Be=Be+String.fromCharCode(g)),cs!==64&&(Be=Be+String.fromCharCode(Vi));while(li>2]=p,g[k+4>>2]=m,k=(C|0)!=0,k&&(g[C>>2]=0),ji(p,m)|0)return Nt=1,wt=Wt,Nt|0;g[Nt>>2]=0;t:do if((y|0)>=1)if(k)for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,g[C+(Ct<<2)>>2]=ot,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else for(it=0,ot=1,Ct=1,L=0,k=p;;){if(!(L|it)){if(k=Wn(k,m,4,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(ji(k,m)|0){k=1;break t}}if(k=Wn(k,m,g[16+(it<<2)>>2]|0,Nt)|0,m=It()|0,(k|0)==0&(m|0)==0){k=2;break t}if(p=S+(Ct<<3)|0,g[p>>2]=k,g[p+4>>2]=m,L=L+1|0,p=(L|0)==(ot|0),z=it+1|0,H=(z|0)==6,ji(k,m)|0){k=1;break t}if(ot=ot+(H&p&1)|0,(ot|0)>(y|0)){k=0;break}else it=p?H?0:z:it,Ct=Ct+1|0,L=p?0:L}else k=0;while(!1);return Nt=k,wt=Wt,Nt|0}function Ba(p,m,y,S,C,k,L){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0,L=L|0;var z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if(Ct=wt,wt=wt+16|0,ot=Ct,(p|0)==0&(m|0)==0){wt=Ct;return}if(z=Yo(p|0,m|0,k|0,((k|0)<0)<<31>>31|0)|0,It()|0,H=S+(z<<3)|0,Nt=H,Wt=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,it=(Wt|0)==(p|0)&(Nt|0)==(m|0),!((Wt|0)==0&(Nt|0)==0|it))do z=(z+1|0)%(k|0)|0,H=S+(z<<3)|0,Wt=H,Nt=g[Wt>>2]|0,Wt=g[Wt+4>>2]|0,it=(Nt|0)==(p|0)&(Wt|0)==(m|0);while(!((Nt|0)==0&(Wt|0)==0|it));if(z=C+(z<<2)|0,it&&(g[z>>2]|0)<=(L|0)){wt=Ct;return}if(Wt=H,g[Wt>>2]=p,g[Wt+4>>2]=m,g[z>>2]=L,(L|0)>=(y|0)){wt=Ct;return}Wt=L+1|0,g[ot>>2]=0,Nt=Wn(p,m,2,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,3,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,1,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,5,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,4,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),g[ot>>2]=0,Nt=Wn(p,m,6,ot)|0,Ba(Nt,It()|0,y,S,C,k,Wt),wt=Ct}function Wn(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0;if((g[S>>2]|0)>0){C=0;do y=Na(y)|0,C=C+1|0;while((C|0)<(g[S>>2]|0))}z=me(p|0,m|0,45)|0,It()|0,H=z&127,k=Es(p,m)|0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)L=6;else for(;;){if(Ct=(15-C|0)*3|0,Nt=me(p|0,m|0,Ct|0)|0,It()|0,Nt=Nt&7,Wt=(Ho(C)|0)==0,C=C+-1|0,ot=ke(7,0,Ct|0)|0,m=m&~(It()|0),Ct=ke(g[(Wt?464:48)+(Nt*28|0)+(y<<2)>>2]|0,0,Ct|0)|0,it=It()|0,y=g[(Wt?672:256)+(Nt*28|0)+(y<<2)>>2]|0,p=Ct|p&~ot,m=it|m,!y){y=0;break t}if(!C){L=6;break}}while(!1);(L|0)==6&&(Wt=g[880+(H*28|0)+(y<<2)>>2]|0,Nt=ke(Wt|0,0,45)|0,p=Nt|p,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+(y<<2)>>2]|0,(Wt&127|0)==127&&(Wt=ke(g[880+(H*28|0)+20>>2]|0,0,45)|0,m=It()|0|m&-1040385,y=g[4304+(H*28|0)+20>>2]|0,p=Wo(Wt|p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1)),L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){e:do if((Es(p,m)|0)==1){if((H|0)!=(L|0))if(ch(L,g[7728+(H*28|0)>>2]|0)|0){p=Fd(p,m)|0,k=1,m=It()|0;break}else{p=Wo(p,m)|0,k=1,m=It()|0;break}switch(k|0){case 5:{p=Fd(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+5,k=0;break e}case 3:{p=Wo(p,m)|0,m=It()|0,g[S>>2]=(g[S>>2]|0)+1,k=0;break e}default:return Nt=0,Wt=0,Je(Nt|0),Wt|0}}else k=0;while(!1);if((y|0)>0){C=0;do p=gh(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}if((H|0)!=(L|0)){if(!(mu(L)|0)){if((k|0)!=0|(Es(p,m)|0)!=5)break;g[S>>2]=(g[S>>2]|0)+1;break}switch(z&127){case 8:case 118:break t;default:}(Es(p,m)|0)!=3&&(g[S>>2]=(g[S>>2]|0)+1)}}else if((y|0)>0){C=0;do p=Wo(p,m)|0,m=It()|0,C=C+1|0;while((C|0)!=(y|0))}while(!1);return g[S>>2]=((g[S>>2]|0)+y|0)%6|0,Nt=m,Wt=p,Je(Nt|0),Wt|0}function p_(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;if(Ct=wt,wt=wt+16|0,ot=Ct,!y)return ot=S,g[ot>>2]=p,g[ot+4>>2]=m,ot=0,wt=Ct,ot|0;g[ot>>2]=0;t:do if(ji(p,m)|0)p=1;else{if(k=(y|0)>0,k){C=0,it=p;do{if(it=Wn(it,m,4,ot)|0,m=It()|0,(it|0)==0&(m|0)==0){p=2;break t}if(C=C+1|0,ji(it,m)|0){p=1;break t}}while((C|0)<(y|0));if(H=S,g[H>>2]=it,g[H+4>>2]=m,H=y+-1|0,k){k=0,L=1,C=it,p=m;do{if(C=Wn(C,p,2,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(L<<3)|0,g[z>>2]=C,g[z+4>>2]=p,L=L+1|0,ji(C,p)|0){p=1;break t}k=k+1|0}while((k|0)<(y|0));z=0,k=L;do{if(C=Wn(C,p,3,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(L=S+(k<<3)|0,g[L>>2]=C,g[L+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}z=z+1|0}while((z|0)<(y|0));L=0;do{if(C=Wn(C,p,1,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,5,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));L=0;do{if(C=Wn(C,p,4,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,k=k+1|0,ji(C,p)|0){p=1;break t}L=L+1|0}while((L|0)<(y|0));for(L=0;;){if(C=Wn(C,p,6,ot)|0,p=It()|0,(C|0)==0&(p|0)==0){p=2;break t}if((L|0)!=(H|0))if(z=S+(k<<3)|0,g[z>>2]=C,g[z+4>>2]=p,!(ji(C,p)|0))k=k+1|0;else{p=1;break t}if(L=L+1|0,(L|0)>=(y|0)){L=it,k=m;break}}}else L=it,C=it,k=m,p=m}else L=S,g[L>>2]=p,g[L+4>>2]=m,L=p,C=p,k=m,p=m;p=((L|0)!=(C|0)|(k|0)!=(p|0))&1}while(!1);return ot=p,wt=Ct,ot|0}function Cd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(k=wt,wt=wt+48|0,C=k+8|0,S=k,z=p,L=g[z+4>>2]|0,y=S,g[y>>2]=g[z>>2],g[y+4>>2]=L,Ee(S,C),C=uh(C,m)|0,m=g[S>>2]|0,S=g[p+8>>2]|0,(S|0)<=0)return z=m,L=(C|0)<(z|0),z=L?z:C,z=z+12|0,wt=k,z|0;y=g[p+12>>2]|0,p=0;do m=(g[y+(p<<3)>>2]|0)+m|0,p=p+1|0;while((p|0)<(S|0));return z=(C|0)<(m|0),z=z?m:C,z=z+12|0,wt=k,z|0}function $p(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;if(z=wt,wt=wt+48|0,S=z+8|0,C=z,!(Xp(p,m,y)|0)){wt=z;return}if(H=p,k=g[H+4>>2]|0,L=C,g[L>>2]=g[H>>2],g[L+4>>2]=k,Ee(C,S),L=uh(S,m)|0,m=g[C>>2]|0,k=g[p+8>>2]|0,(k|0)>0){C=g[p+12>>2]|0,S=0;do m=(g[C+(S<<3)>>2]|0)+m|0,S=S+1|0;while((S|0)!=(k|0))}if(m=(L|0)<(m|0)?m:L,(m|0)<=-12){wt=z;return}H=m+11|0,Fc(y|0,0,(((H|0)>0?H:0)<<3)+8|0)|0,wt=z}function Xp(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Or=wt,wt=wt+112|0,hn=Or+80|0,H=Or+72|0,Pi=Or,Sn=Or+56|0,it=p+8|0,yn=ho((g[it>>2]<<5)+32|0)|0,yn||Mi(22848,22448,800,22456),pr(p,yn),k=p,S=g[k+4>>2]|0,z=H,g[z>>2]=g[k>>2],g[z+4>>2]=S,Ee(H,hn),z=uh(hn,m)|0,S=g[H>>2]|0,k=g[it>>2]|0,(k|0)>0){L=g[p+12>>2]|0,C=0;do S=(g[L+(C<<3)>>2]|0)+S|0,C=C+1|0;while((C|0)!=(k|0))}if(z=(z|0)<(S|0)?S:z,Ei=z+12|0,C=Ua(Ei,8)|0,ot=Ua(Ei,8)|0,g[hn>>2]=0,Zr=p,qi=g[Zr+4>>2]|0,S=H,g[S>>2]=g[Zr>>2],g[S+4>>2]=qi,S=i0(H,Ei,m,hn,C,ot)|0,S|0)return Gr(C),Gr(ot),Gr(yn),yn=S,wt=Or,yn|0;t:do if((g[it>>2]|0)>0){for(k=p+12|0,S=0;L=i0((g[k>>2]|0)+(S<<3)|0,Ei,m,hn,C,ot)|0,S=S+1|0,!(L|0);)if((S|0)>=(g[it>>2]|0))break t;return Gr(C),Gr(ot),Gr(yn),yn=L,wt=Or,yn|0}while(!1);(z|0)>-12&&Fc(ot|0,0,((Ei|0)>1?Ei:1)<<3|0)|0;t:do if((g[hn>>2]|0)>0){qi=((Ei|0)<0)<<31>>31,Ut=C,$e=ot,er=C,we=C,je=ot,Zr=C,S=C,Le=C,We=ot,te=ot,_e=ot,C=ot;e:for(;;){for(ne=g[hn>>2]|0,Wt=0,re=0,k=0;;){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));if(m=Ut+(Wt<<3)|0,H=g[m>>2]|0,m=g[m+4>>2]|0,yf(H,m,1,Pi,0)|0){L=Pi,z=L+56|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(z|0));L=Ua(7,4)|0,L|0&&(Ba(H,m,1,Pi,L,7,0),Gr(L))}Nt=0;do{Ct=Pi+(Nt<<3)|0,ot=g[Ct>>2]|0,Ct=g[Ct+4>>2]|0;r:do if(!((ot|0)==0&(Ct|0)==0)){if(H=Yo(ot|0,Ct|0,Ei|0,qi|0)|0,It()|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,!((m|0)==0&(z|0)==0))for(it=0;;){if((it|0)>(Ei|0))break e;if((m|0)==(ot|0)&(z|0)==(Ct|0))break r;if(H=(H+1|0)%(Ei|0)|0,L=y+(H<<3)|0,z=L,m=g[z>>2]|0,z=g[z+4>>2]|0,(m|0)==0&(z|0)==0)break;it=it+1|0}(ot|0)==0&(Ct|0)==0||(l(ot,Ct,Sn),tr(p,yn,Sn)|0&&(it=L,g[it>>2]=ot,g[it+4>>2]=Ct,it=$e+(k<<3)|0,g[it>>2]=ot,g[it+4>>2]=Ct,k=k+1|0))}while(!1);Nt=Nt+1|0}while(Nt>>>0<7);if(re=re+1|0,(re|0)>=(ne|0))break;Wt=Wt+1|0}if((ne|0)>0&&Fc(er|0,0,ne<<3|0)|0,g[hn>>2]=k,(k|0)>0)ot=C,Ct=_e,Nt=Zr,Wt=te,re=We,ne=$e,C=Le,_e=S,te=we,We=er,Le=ot,S=Ct,Zr=je,je=Nt,we=Wt,er=re,$e=Ut,Ut=ne;else break t}return Gr(we),Gr(je),Gr(yn),yn=-1,wt=Or,yn|0}else S=ot;while(!1);return Gr(yn),Gr(C),Gr(S),yn=0,wt=Or,yn|0}function i0(p,m,y,S,C,k){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0,k=k|0;var L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0;if(qi=wt,wt=wt+48|0,er=qi+32|0,we=qi+16|0,je=qi,L=g[p>>2]|0,(L|0)<=0)return Zr=0,wt=qi,Zr|0;We=p+4|0,te=er+8|0,_e=we+8|0,Ut=je+8|0,$e=((m|0)<0)<<31>>31,Le=0;t:for(;;){z=g[We>>2]|0,re=z+(Le<<4)|0,g[er>>2]=g[re>>2],g[er+4>>2]=g[re+4>>2],g[er+8>>2]=g[re+8>>2],g[er+12>>2]=g[re+12>>2],(Le|0)==(L+-1|0)?(g[we>>2]=g[z>>2],g[we+4>>2]=g[z+4>>2],g[we+8>>2]=g[z+8>>2],g[we+12>>2]=g[z+12>>2]):(re=z+(Le+1<<4)|0,g[we>>2]=g[re>>2],g[we+4>>2]=g[re+4>>2],g[we+8>>2]=g[re+8>>2],g[we+12>>2]=g[re+12>>2]),re=la(er,we,y)|0;e:do if((re|0)>0){ne=+(re|0),Wt=0;r:for(;;){hn=+(re-Wt|0),Ei=+(Wt|0),Tt[je>>3]=+Tt[er>>3]*hn/ne+ +Tt[we>>3]*Ei/ne,Tt[Ut>>3]=+Tt[te>>3]*hn/ne+ +Tt[_e>>3]*Ei/ne,Ct=lA(je,y)|0,Nt=It()|0,z=Yo(Ct|0,Nt|0,m|0,$e|0)|0,It()|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0;i:do if((it|0)==0&(H|0)==0)Zr=14;else for(ot=0;;){if((ot|0)>(m|0)){L=1;break i}if((it|0)==(Ct|0)&(H|0)==(Nt|0)){L=7;break i}if(z=(z+1|0)%(m|0)|0,L=k+(z<<3)|0,H=L,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0){Zr=14;break}else ot=ot+1|0}while(!1);switch((Zr|0)==14&&(Zr=0,(Ct|0)==0&(Nt|0)==0?L=7:(g[L>>2]=Ct,g[L+4>>2]=Nt,L=g[S>>2]|0,ot=C+(L<<3)|0,g[ot>>2]=Ct,g[ot+4>>2]=Nt,g[S>>2]=L+1,L=0)),L&7){case 7:case 0:break;default:break r}if(Wt=Wt+1|0,(re|0)<=(Wt|0)){Zr=8;break e}}if(L|0){L=-1,Zr=20;break t}}else Zr=8;while(!1);if((Zr|0)==8&&(Zr=0),Le=Le+1|0,L=g[p>>2]|0,(Le|0)>=(L|0)){L=0,Zr=20;break}}return(Zr|0)==20?(wt=qi,L|0):0}function Cn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+176|0,H=it,(m|0)<1){vu(y,0,0),wt=it;return}L=p,L=me(g[L>>2]|0,g[L+4>>2]|0,52)|0,It()|0,vu(y,(m|0)>6?m:6,L&15),L=0;do{if(S=p+(L<<3)|0,d(g[S>>2]|0,g[S+4>>2]|0,H),S=g[H>>2]|0,(S|0)>0){z=0;do k=H+8+(z<<4)|0,z=z+1|0,S=H+8+(((z|0)%(S|0)|0)<<4)|0,C=yh(y,S,k)|0,C?Ps(y,C)|0:Eo(y,k,S)|0,S=g[H>>2]|0;while((z|0)<(S|0))}L=L+1|0}while((L|0)!=(m|0));wt=it}function ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=wt,wt=wt+32|0,S=k,C=k+16|0,Cn(p,m,C),g[y>>2]=0,g[y+4>>2]=0,g[y+8>>2]=0,p=Ws(C)|0,!p){Ht(y)|0,_h(C),wt=k;return}do{m=yt(y)|0;do dt(m,p)|0,L=p+16|0,g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],g[S+12>>2]=g[L+12>>2],Ps(C,p)|0,p=Fn(C,S)|0;while(p|0);p=Ws(C)|0}while(p|0);Ht(y)|0,_h(C),wt=k}function fi(p){return p=p|0,g[7728+(p*28|0)+16>>2]|0}function mu(p){return p=p|0,(p|0)==4|(p|0)==117|0}function vf(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)>>2]|0}function Kp(p){return p=p|0,g[11152+((g[p>>2]|0)*216|0)+((g[p+4>>2]|0)*72|0)+((g[p+8>>2]|0)*24|0)+(g[p+12>>2]<<3)+4>>2]|0}function lh(p,m){p=p|0,m=m|0,p=7728+(p*28|0)|0,g[m>>2]=g[p>>2],g[m+4>>2]=g[p+4>>2],g[m+8>>2]=g[p+8>>2],g[m+12>>2]=g[p+12>>2]}function Ld(p,m){p=p|0,m=m|0;var y=0,S=0;if(m>>>0>20)return m=-1,m|0;do if((g[11152+(m*216|0)>>2]|0)!=(p|0))if((g[11152+(m*216|0)+8>>2]|0)!=(p|0))if((g[11152+(m*216|0)+16>>2]|0)!=(p|0))if((g[11152+(m*216|0)+24>>2]|0)!=(p|0))if((g[11152+(m*216|0)+32>>2]|0)!=(p|0))if((g[11152+(m*216|0)+40>>2]|0)!=(p|0))if((g[11152+(m*216|0)+48>>2]|0)!=(p|0))if((g[11152+(m*216|0)+56>>2]|0)!=(p|0))if((g[11152+(m*216|0)+64>>2]|0)!=(p|0))if((g[11152+(m*216|0)+72>>2]|0)!=(p|0))if((g[11152+(m*216|0)+80>>2]|0)!=(p|0))if((g[11152+(m*216|0)+88>>2]|0)!=(p|0))if((g[11152+(m*216|0)+96>>2]|0)!=(p|0))if((g[11152+(m*216|0)+104>>2]|0)!=(p|0))if((g[11152+(m*216|0)+112>>2]|0)!=(p|0))if((g[11152+(m*216|0)+120>>2]|0)!=(p|0))if((g[11152+(m*216|0)+128>>2]|0)!=(p|0))if((g[11152+(m*216|0)+136>>2]|0)==(p|0))p=2,y=1,S=2;else{if((g[11152+(m*216|0)+144>>2]|0)==(p|0)){p=0,y=2,S=0;break}if((g[11152+(m*216|0)+152>>2]|0)==(p|0)){p=0,y=2,S=1;break}if((g[11152+(m*216|0)+160>>2]|0)==(p|0)){p=0,y=2,S=2;break}if((g[11152+(m*216|0)+168>>2]|0)==(p|0)){p=1,y=2,S=0;break}if((g[11152+(m*216|0)+176>>2]|0)==(p|0)){p=1,y=2,S=1;break}if((g[11152+(m*216|0)+184>>2]|0)==(p|0)){p=1,y=2,S=2;break}if((g[11152+(m*216|0)+192>>2]|0)==(p|0)){p=2,y=2,S=0;break}if((g[11152+(m*216|0)+200>>2]|0)==(p|0)){p=2,y=2,S=1;break}if((g[11152+(m*216|0)+208>>2]|0)==(p|0)){p=2,y=2,S=2;break}else p=-1;return p|0}else p=2,y=1,S=1;else p=2,y=1,S=0;else p=1,y=1,S=2;else p=1,y=1,S=1;else p=1,y=1,S=0;else p=0,y=1,S=2;else p=0,y=1,S=1;else p=0,y=1,S=0;else p=2,y=0,S=2;else p=2,y=0,S=1;else p=2,y=0,S=0;else p=1,y=0,S=2;else p=1,y=0,S=1;else p=1,y=0,S=0;else p=0,y=0,S=2;else p=0,y=0,S=1;else p=0,y=0,S=0;while(!1);return m=g[11152+(m*216|0)+(y*72|0)+(p*24|0)+(S<<3)+4>>2]|0,m|0}function ch(p,m){return p=p|0,m=m|0,(g[7728+(p*28|0)+20>>2]|0)==(m|0)?(m=1,m|0):(m=(g[7728+(p*28|0)+24>>2]|0)==(m|0),m|0)}function Jp(p,m){return p=p|0,m=m|0,g[880+(p*28|0)+(m<<2)>>2]|0}function tA(p,m){return p=p|0,m=m|0,(g[880+(p*28|0)>>2]|0)==(m|0)?(m=0,m|0):(g[880+(p*28|0)+4>>2]|0)==(m|0)?(m=1,m|0):(g[880+(p*28|0)+8>>2]|0)==(m|0)?(m=2,m|0):(g[880+(p*28|0)+12>>2]|0)==(m|0)?(m=3,m|0):(g[880+(p*28|0)+16>>2]|0)==(m|0)?(m=4,m|0):(g[880+(p*28|0)+20>>2]|0)==(m|0)?(m=5,m|0):((g[880+(p*28|0)+24>>2]|0)==(m|0)?6:7)|0}function A_(){return 122}function m_(p){p=p|0;var m=0,y=0,S=0;m=0;do ke(m|0,0,45)|0,S=It()|0|134225919,y=p+(m<<3)|0,g[y>>2]=-1,g[y+4>>2]=S,m=m+1|0;while((m|0)!=122)}function n0(p){return p=p|0,+Tt[p+16>>3]<+Tt[p+24>>3]|0}function pl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return y=+Tt[m>>3],!(y>=+Tt[p+8>>3])||!(y<=+Tt[p>>3])?(m=0,m|0):(S=+Tt[p+16>>3],y=+Tt[p+24>>3],C=+Tt[m+8>>3],m=C>=y,p=C<=S&1,S>2]=0,k=k+4|0;while((k|0)<(z|0));return O(m,C),k=C,z=g[k>>2]|0,k=g[k+4>>2]|0,l(z,k,y),d(z,k,S),H=+Bc(y,S+8|0),Tt[y>>3]=+Tt[p>>3],k=y+8|0,Tt[k>>3]=+Tt[p+16>>3],Tt[S>>3]=+Tt[p+8>>3],z=S+8|0,Tt[z>>3]=+Tt[p+24>>3],it=+Bc(y,S),z=~~+Ji(+(it*it/+ml(+ +li(+((+Tt[k>>3]-+Tt[z>>3])/(+Tt[y>>3]-+Tt[S>>3]))),3)/(H*(H*2.59807621135)*.8))),wt=L,(z|0?z:1)|0}function la(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0;z=wt,wt=wt+288|0,S=z+264|0,C=z+96|0,k=z,L=k,H=L+96|0;do g[L>>2]=0,L=L+4|0;while((L|0)<(H|0));return O(y,k),H=k,L=g[H>>2]|0,H=g[H+4>>2]|0,l(L,H,S),d(L,H,C),it=+Bc(S,C+8|0),H=~~+Ji(+(+Bc(p,m)/(it*2))),wt=z,(H|0?H:1)|0}function kd(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0,g[p>>2]=m,g[p+4>>2]=y,g[p+8>>2]=S}function g_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;Ct=m+8|0,g[Ct>>2]=0,H=+Tt[p>>3],L=+li(+H),it=+Tt[p+8>>3],z=+li(+it)/.8660254037844386,L=L+z*.5,y=~~L,p=~~z,L=L-+(y|0),z=z-+(p|0);do if(L<.5)if(L<.3333333333333333)if(g[m>>2]=y,z<(L+1)*.5){g[m+4>>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}else if(Nt=1-L,p=(!(z>2]=p,Nt<=z&z>2]=y;break}else{g[m>>2]=y;break}else{if(!(L<.6666666666666666))if(y=y+1|0,g[m>>2]=y,z>2]=p;break}else{p=p+1|0,g[m+4>>2]=p;break}if(z<1-L){if(g[m+4>>2]=p,L*2+-1>2]=y;break}}else p=p+1|0,g[m+4>>2]=p;y=y+1|0,g[m>>2]=y}while(!1);do if(H<0)if(p&1){ot=(p+1|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-((+(ot>>>0)+4294967296*+(It()|0))*2+1)),g[m>>2]=y;break}else{ot=(p|0)/2|0,ot=zd(y|0,((y|0)<0)<<31>>31|0,ot|0,((ot|0)<0)<<31>>31|0)|0,y=~~(+(y|0)-(+(ot>>>0)+4294967296*+(It()|0))*2),g[m>>2]=y;break}while(!1);ot=m+4|0,it<0&&(y=y-((p<<1|1|0)/2|0)|0,g[m>>2]=y,p=0-p|0,g[ot>>2]=p),S=p-y|0,(y|0)<0?(C=0-y|0,g[ot>>2]=S,g[Ct>>2]=C,g[m>>2]=0,p=S,y=0):C=0,(p|0)<0&&(y=y-p|0,g[m>>2]=y,C=C-p|0,g[Ct>>2]=C,g[ot>>2]=0,p=0),k=y-C|0,S=p-C|0,(C|0)<0&&(g[m>>2]=k,g[ot>>2]=S,g[Ct>>2]=0,p=S,y=k,C=0),S=(p|0)<(y|0)?p:y,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[m>>2]=y-S,g[ot>>2]=p-S,g[Ct>>2]=C-S)}function js(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,(m|0)<0&&(y=y-m|0,g[L>>2]=y,k=p+8|0,g[k>>2]=(g[k>>2]|0)-m,g[p>>2]=0,m=0),(y|0)<0?(m=m-y|0,g[p>>2]=m,k=p+8|0,C=(g[k>>2]|0)-y|0,g[k>>2]=C,g[L>>2]=0,y=0):(C=p+8|0,k=C,C=g[C>>2]|0),(C|0)<0&&(m=m-C|0,g[p>>2]=m,y=y-C|0,g[L>>2]=y,g[k>>2]=0,C=0),S=(y|0)<(m|0)?y:m,S=(C|0)<(S|0)?C:S,!((S|0)<=0)&&(g[p>>2]=m-S,g[L>>2]=y-S,g[k>>2]=C-S)}function gu(p,m){p=p|0,m=m|0;var y=0,S=0;S=g[p+8>>2]|0,y=+((g[p+4>>2]|0)-S|0),Tt[m>>3]=+((g[p>>2]|0)-S|0)-y*.5,Tt[m+8>>3]=y*.8660254037844386}function Ln(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[m>>2]|0)+(g[p>>2]|0),g[y+4>>2]=(g[m+4>>2]|0)+(g[p+4>>2]|0),g[y+8>>2]=(g[m+8>>2]|0)+(g[p+8>>2]|0)}function eA(p,m,y){p=p|0,m=m|0,y=y|0,g[y>>2]=(g[p>>2]|0)-(g[m>>2]|0),g[y+4>>2]=(g[p+4>>2]|0)-(g[m+4>>2]|0),g[y+8>>2]=(g[p+8>>2]|0)-(g[m+8>>2]|0)}function ca(p,m){p=p|0,m=m|0;var y=0,S=0;y=Oc(g[p>>2]|0,m)|0,g[p>>2]=y,y=p+4|0,S=Oc(g[y>>2]|0,m)|0,g[y>>2]=S,p=p+8|0,m=Oc(g[p>>2]|0,m)|0,g[p>>2]=m}function Fa(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=g[p>>2]|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(k?0-S|0:0)+((g[p+8>>2]|0)-(z?L:0))|0,y=(C|0)<0,p=y?0:C,m=(k?0:S)-(y?C:0)|0,C=(z?0:L)-(k?S:0)-(y?C:0)|0,y=(m|0)<(C|0)?m:C,y=(p|0)<(y|0)?p:y,S=(y|0)>0,p=p-(S?y:0)|0,m=m-(S?y:0)|0;t:do switch(C-(S?y:0)|0){case 0:switch(m|0){case 0:return z=p|0?(p|0)==1?1:7:0,z|0;case 1:return z=p|0?(p|0)==1?3:7:2,z|0;default:break t}case 1:switch(m|0){case 0:return z=p|0?(p|0)==1?5:7:4,z|0;case 1:{if(!p)p=6;else break t;return p|0}default:break t}default:}while(!1);return z=7,z|0}function Rd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m*3|0)-y|0)/7)|0,g[p>>2]=S,m=_n(+((y<<1)+m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function Al(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;L=p+8|0,y=g[L>>2]|0,m=(g[p>>2]|0)-y|0,z=p+4|0,y=(g[z>>2]|0)-y|0,S=_n(+((m<<1)+y|0)/7)|0,g[p>>2]=S,m=_n(+((y*3|0)-m|0)/7)|0,g[z>>2]=m,g[L>>2]=0,y=m-S|0,(S|0)<0?(k=0-S|0,g[z>>2]=y,g[L>>2]=k,g[p>>2]=0,m=y,S=0,y=k):y=0,(m|0)<0&&(S=S-m|0,g[p>>2]=S,y=y-m|0,g[L>>2]=y,g[z>>2]=0,m=0),k=S-y|0,C=m-y|0,(y|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,m=C,C=k,y=0):C=S,S=(m|0)<(C|0)?m:C,S=(y|0)<(S|0)?y:S,!((S|0)<=0)&&(g[p>>2]=C-S,g[z>>2]=m-S,g[L>>2]=y-S)}function za(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m*3|0)|0,g[p>>2]=C,y=S+(y*3|0)|0,g[L>>2]=y,m=(S*3|0)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function hh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m*3|0)+C|0,C=y+(C*3|0)|0,g[p>>2]=C,g[L>>2]=S,m=(y*3|0)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function rA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;(m+-1|0)>>>0>=6||(C=(g[15472+(m*12|0)>>2]|0)+(g[p>>2]|0)|0,g[p>>2]=C,z=p+4|0,S=(g[15472+(m*12|0)+4>>2]|0)+(g[z>>2]|0)|0,g[z>>2]=S,L=p+8|0,m=(g[15472+(m*12|0)+8>>2]|0)+(g[L>>2]|0)|0,g[L>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[z>>2]=y,g[L>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[L>>2]=m,g[z>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[z>>2]=C,g[L>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[z>>2]=C-y,g[L>>2]=m-y))}function s0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=m+C|0,C=y+C|0,g[p>>2]=C,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function fh(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,S=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,C=S+m|0,g[p>>2]=C,S=y+S|0,g[L>>2]=S,m=y+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,S=0):(y=S,S=C),(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Na(p){switch(p=p|0,p|0){case 1:{p=5;break}case 5:{p=4;break}case 4:{p=6;break}case 6:{p=2;break}case 2:{p=3;break}case 3:{p=1;break}default:}return p|0}function co(p){switch(p=p|0,p|0){case 1:{p=3;break}case 3:{p=2;break}case 2:{p=6;break}case 6:{p=4;break}case 4:{p=5;break}case 5:{p=1;break}default:}return p|0}function Ge(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;m=g[p>>2]|0,L=p+4|0,y=g[L>>2]|0,z=p+8|0,S=g[z>>2]|0,C=y+(m<<1)|0,g[p>>2]=C,y=S+(y<<1)|0,g[L>>2]=y,m=(S<<1)+m|0,g[z>>2]=m,S=y-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=S,g[z>>2]=m,g[p>>2]=0,y=S,S=0):S=C,(y|0)<0&&(S=S-y|0,g[p>>2]=S,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=S-m|0,C=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=C,g[z>>2]=0,S=k,m=0):C=y,y=(C|0)<(S|0)?C:S,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=S-y,g[L>>2]=C-y,g[z>>2]=m-y)}function Dd(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=g[p>>2]|0,L=p+4|0,m=g[L>>2]|0,z=p+8|0,y=g[z>>2]|0,S=(m<<1)+C|0,C=y+(C<<1)|0,g[p>>2]=C,g[L>>2]=S,m=(y<<1)+m|0,g[z>>2]=m,y=S-C|0,(C|0)<0?(m=m-C|0,g[L>>2]=y,g[z>>2]=m,g[p>>2]=0,C=0):y=S,(y|0)<0&&(C=C-y|0,g[p>>2]=C,m=m-y|0,g[z>>2]=m,g[L>>2]=0,y=0),k=C-m|0,S=y-m|0,(m|0)<0?(g[p>>2]=k,g[L>>2]=S,g[z>>2]=0,C=k,m=0):S=y,y=(S|0)<(C|0)?S:C,y=(m|0)<(y|0)?m:y,!((y|0)<=0)&&(g[p>>2]=C-y,g[L>>2]=S-y,g[z>>2]=m-y)}function Hl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;return L=(g[p>>2]|0)-(g[m>>2]|0)|0,z=(L|0)<0,S=(g[p+4>>2]|0)-(g[m+4>>2]|0)-(z?L:0)|0,k=(S|0)<0,C=(z?0-L|0:0)+(g[p+8>>2]|0)-(g[m+8>>2]|0)+(k?0-S|0:0)|0,p=(C|0)<0,m=p?0:C,y=(k?0:S)-(p?C:0)|0,C=(z?0:L)-(k?S:0)-(p?C:0)|0,p=(y|0)<(C|0)?y:C,p=(m|0)<(p|0)?m:p,S=(p|0)>0,m=m-(S?p:0)|0,y=y-(S?p:0)|0,p=C-(S?p:0)|0,p=(p|0)>-1?p:0-p|0,y=(y|0)>-1?y:0-y|0,m=(m|0)>-1?m:0-m|0,m=(y|0)>(m|0)?y:m,((p|0)>(m|0)?p:m)|0}function xf(p,m){p=p|0,m=m|0;var y=0;y=g[p+8>>2]|0,g[m>>2]=(g[p>>2]|0)-y,g[m+4>>2]=(g[p+4>>2]|0)-y}function __(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;S=g[p>>2]|0,g[m>>2]=S,p=g[p+4>>2]|0,L=m+4|0,g[L>>2]=p,z=m+8|0,g[z>>2]=0,y=p-S|0,(S|0)<0?(p=0-S|0,g[L>>2]=y,g[z>>2]=p,g[m>>2]=0,S=0):(y=p,p=0),(y|0)<0&&(S=S-y|0,g[m>>2]=S,p=p-y|0,g[z>>2]=p,g[L>>2]=0,y=0),k=S-p|0,C=y-p|0,(p|0)<0?(g[m>>2]=k,g[L>>2]=C,g[z>>2]=0,y=C,C=k,p=0):C=S,S=(y|0)<(C|0)?y:C,S=(p|0)<(S|0)?p:S,!((S|0)<=0)&&(g[m>>2]=C-S,g[L>>2]=y-S,g[z>>2]=p-S)}function Oe(p){p=p|0;var m=0,y=0,S=0,C=0;m=p+8|0,C=g[m>>2]|0,y=C-(g[p>>2]|0)|0,g[p>>2]=y,S=p+4|0,p=(g[S>>2]|0)-C|0,g[S>>2]=p,g[m>>2]=0-(p+y)}function o0(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;y=g[p>>2]|0,m=0-y|0,g[p>>2]=m,L=p+8|0,g[L>>2]=0,z=p+4|0,S=g[z>>2]|0,C=S+y|0,(y|0)>0?(g[z>>2]=C,g[L>>2]=y,g[p>>2]=0,m=0,S=C):y=0,(S|0)<0?(k=m-S|0,g[p>>2]=k,y=y-S|0,g[L>>2]=y,g[z>>2]=0,C=k-y|0,m=0-y|0,(y|0)<0?(g[p>>2]=C,g[z>>2]=m,g[L>>2]=0,S=m,y=0):(S=0,C=k)):C=m,m=(S|0)<(C|0)?S:C,m=(y|0)<(m|0)?y:m,!((m|0)<=0)&&(g[p>>2]=C-m,g[z>>2]=S-m,g[L>>2]=y-m)}function a0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,zx(p,m,y,C),g_(C,y+4|0),wt=S}function zx(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0;if(H=wt,wt=wt+32|0,k=H,ql(p,k),g[y>>2]=0,C=+jr(15888,k),L=+jr(15912,k),L>2]=1,C=L),L=+jr(15936,k),L>2]=2,C=L),L=+jr(15960,k),L>2]=3,C=L),L=+jr(15984,k),L>2]=4,C=L),L=+jr(16008,k),L>2]=5,C=L),L=+jr(16032,k),L>2]=6,C=L),L=+jr(16056,k),L>2]=7,C=L),L=+jr(16080,k),L>2]=8,C=L),L=+jr(16104,k),L>2]=9,C=L),L=+jr(16128,k),L>2]=10,C=L),L=+jr(16152,k),L>2]=11,C=L),L=+jr(16176,k),L>2]=12,C=L),L=+jr(16200,k),L>2]=13,C=L),L=+jr(16224,k),L>2]=14,C=L),L=+jr(16248,k),L>2]=15,C=L),L=+jr(16272,k),L>2]=16,C=L),L=+jr(16296,k),L>2]=17,C=L),L=+jr(16320,k),L>2]=18,C=L),L=+jr(16344,k),L>2]=19,C=L),L=+_f(+(1-C*.5)),L<1e-16){g[S>>2]=0,g[S+4>>2]=0,g[S+8>>2]=0,g[S+12>>2]=0,wt=H;return}if(y=g[y>>2]|0,C=+Tt[16368+(y*24|0)>>3],C=+ph(C-+ph(+Od(15568+(y<<4)|0,p))),Ho(m)|0?z=+ph(C+-.3334731722518321):z=C,C=+To(+L)/.381966011250105,(m|0)>0){k=0;do C=C*2.6457513110645907,k=k+1|0;while((k|0)!=(m|0))}L=+Ur(+z)*C,Tt[S>>3]=L,z=+hi(+z)*C,Tt[S+8>>3]=z,wt=H}function dh(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;if(k=+hs(p),k<1e-16){m=15568+(m<<4)|0,g[C>>2]=g[m>>2],g[C+4>>2]=g[m+4>>2],g[C+8>>2]=g[m+8>>2],g[C+12>>2]=g[m+12>>2];return}if(L=+qr(+ +Tt[p+8>>3],+ +Tt[p>>3]),(y|0)>0){p=0;do k=k/2.6457513110645907,p=p+1|0;while((p|0)!=(y|0))}S?(k=k/3,y=(Ho(y)|0)==0,k=+Md(+((y?k:k/2.6457513110645907)*.381966011250105))):(k=+Md(+(k*.381966011250105)),Ho(y)|0&&(L=+ph(L+.3334731722518321))),f0(15568+(m<<4)|0,+ph(+Tt[16368+(m*24|0)>>3]-L),k,C)}function y_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,gu(p+4|0,C),dh(C,g[p>>2]|0,m,0,y),wt=S}function l0(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(Sn=wt,wt=wt+272|0,k=Sn+256|0,te=Sn+240|0,Ei=Sn,hn=Sn+224|0,Pi=Sn+208|0,_e=Sn+176|0,Ut=Sn+160|0,$e=Sn+192|0,er=Sn+144|0,we=Sn+128|0,je=Sn+112|0,Zr=Sn+96|0,qi=Sn+80|0,g[k>>2]=m,g[te>>2]=g[p>>2],g[te+4>>2]=g[p+4>>2],g[te+8>>2]=g[p+8>>2],g[te+12>>2]=g[p+12>>2],c0(te,k,Ei),g[C>>2]=0,te=S+y+((S|0)==5&1)|0,(te|0)<=(y|0)){wt=Sn;return}H=g[k>>2]|0,it=hn+4|0,ot=_e+4|0,Ct=y+5|0,Nt=16848+(H<<2)|0,Wt=16928+(H<<2)|0,re=we+8|0,ne=je+8|0,Le=Zr+8|0,We=Pi+4|0,z=y;t:for(;;){L=Ei+(((z|0)%5|0)<<4)|0,g[Pi>>2]=g[L>>2],g[Pi+4>>2]=g[L+4>>2],g[Pi+8>>2]=g[L+8>>2],g[Pi+12>>2]=g[L+12>>2];do;while((bf(Pi,H,0,1)|0)==2);if((z|0)>(y|0)&(Ho(m)|0)!=0){if(g[_e>>2]=g[Pi>>2],g[_e+4>>2]=g[Pi+4>>2],g[_e+8>>2]=g[Pi+8>>2],g[_e+12>>2]=g[Pi+12>>2],gu(it,Ut),S=g[_e>>2]|0,k=g[17008+(S*80|0)+(g[hn>>2]<<2)>>2]|0,g[_e>>2]=g[18608+(S*80|0)+(k*20|0)>>2],L=g[18608+(S*80|0)+(k*20|0)+16>>2]|0,(L|0)>0){p=0;do s0(ot),p=p+1|0;while((p|0)<(L|0))}switch(L=18608+(S*80|0)+(k*20|0)+4|0,g[$e>>2]=g[L>>2],g[$e+4>>2]=g[L+4>>2],g[$e+8>>2]=g[L+8>>2],ca($e,(g[Nt>>2]|0)*3|0),Ln(ot,$e,ot),js(ot),gu(ot,er),yn=+(g[Wt>>2]|0),Tt[we>>3]=yn*3,Tt[re>>3]=0,Or=yn*-1.5,Tt[je>>3]=Or,Tt[ne>>3]=yn*2.598076211353316,Tt[Zr>>3]=Or,Tt[Le>>3]=yn*-2.598076211353316,g[17008+((g[_e>>2]|0)*80|0)+(g[Pi>>2]<<2)>>2]|0){case 1:{p=je,S=we;break}case 3:{p=Zr,S=je;break}case 2:{p=we,S=Zr;break}default:{p=12;break t}}Bn(Ut,er,S,p,qi),dh(qi,g[_e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1}if((z|0)<(Ct|0)&&(gu(We,_e),dh(_e,g[Pi>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),g[hn>>2]=g[Pi>>2],g[hn+4>>2]=g[Pi+4>>2],g[hn+8>>2]=g[Pi+8>>2],g[hn+12>>2]=g[Pi+12>>2],z=z+1|0,(z|0)>=(te|0)){p=3;break}}if((p|0)==3){wt=Sn;return}else(p|0)==12&&Mi(22474,22521,581,22531)}function c0(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+128|0,S=H+64|0,C=H,k=S,L=20208,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20272,z=k+60|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],y=y+68|0,Ln(C,S+48|0,y),js(y),wt=H}function bf(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(re=wt,wt=wt+32|0,Nt=re+12|0,z=re,Wt=p+4|0,Ct=g[16928+(m<<2)>>2]|0,ot=(S|0)!=0,Ct=ot?Ct*3|0:Ct,C=g[Wt>>2]|0,it=p+8|0,L=g[it>>2]|0,ot){if(k=p+12|0,S=g[k>>2]|0,C=L+C+S|0,(C|0)==(Ct|0))return Wt=1,wt=re,Wt|0;H=k}else H=p+12|0,S=g[H>>2]|0,C=L+C+S|0;if((C|0)<=(Ct|0))return Wt=0,wt=re,Wt|0;do if((S|0)>0){if(S=g[p>>2]|0,(L|0)>0){k=18608+(S*80|0)+60|0,S=p;break}S=18608+(S*80|0)+40|0,y?(kd(Nt,Ct,0,0),eA(Wt,Nt,z),fh(z),Ln(z,Nt,Wt),k=S,S=p):(k=S,S=p)}else k=18608+((g[p>>2]|0)*80|0)+20|0,S=p;while(!1);if(g[S>>2]=g[k>>2],C=k+16|0,(g[C>>2]|0)>0){S=0;do s0(Wt),S=S+1|0;while((S|0)<(g[C>>2]|0))}return p=k+4|0,g[Nt>>2]=g[p>>2],g[Nt+4>>2]=g[p+4>>2],g[Nt+8>>2]=g[p+8>>2],m=g[16848+(m<<2)>>2]|0,ca(Nt,ot?m*3|0:m),Ln(Wt,Nt,Wt),js(Wt),ot?S=((g[it>>2]|0)+(g[Wt>>2]|0)+(g[H>>2]|0)|0)==(Ct|0)?1:2:S=2,Wt=S,wt=re,Wt|0}function u0(p,m){p=p|0,m=m|0;var y=0;do y=bf(p,m,0,1)|0;while((y|0)==2);return y|0}function iA(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0;if(Zr=wt,wt=wt+240|0,k=Zr+224|0,$e=Zr+208|0,er=Zr,we=Zr+192|0,je=Zr+176|0,Le=Zr+160|0,We=Zr+144|0,te=Zr+128|0,_e=Zr+112|0,Ut=Zr+96|0,g[k>>2]=m,g[$e>>2]=g[p>>2],g[$e+4>>2]=g[p+4>>2],g[$e+8>>2]=g[p+8>>2],g[$e+12>>2]=g[p+12>>2],nA($e,k,er),g[C>>2]=0,ne=S+y+((S|0)==6&1)|0,(ne|0)<=(y|0)){wt=Zr;return}H=g[k>>2]|0,it=y+6|0,ot=16928+(H<<2)|0,Ct=We+8|0,Nt=te+8|0,Wt=_e+8|0,re=we+4|0,L=0,z=y,S=-1;t:for(;;){if(k=(z|0)%6|0,p=er+(k<<4)|0,g[we>>2]=g[p>>2],g[we+4>>2]=g[p+4>>2],g[we+8>>2]=g[p+8>>2],g[we+12>>2]=g[p+12>>2],p=L,L=bf(we,H,0,1)|0,(z|0)>(y|0)&(Ho(m)|0)!=0&&(p|0)!=1&&(g[we>>2]|0)!=(S|0)){switch(gu(er+(((k+5|0)%6|0)<<4)+4|0,je),gu(er+(k<<4)+4|0,Le),qi=+(g[ot>>2]|0),Tt[We>>3]=qi*3,Tt[Ct>>3]=0,Ei=qi*-1.5,Tt[te>>3]=Ei,Tt[Nt>>3]=qi*2.598076211353316,Tt[_e>>3]=Ei,Tt[Wt>>3]=qi*-2.598076211353316,k=g[$e>>2]|0,g[17008+(k*80|0)+(((S|0)==(k|0)?g[we>>2]|0:S)<<2)>>2]|0){case 1:{p=te,S=We;break}case 3:{p=_e,S=te;break}case 2:{p=We,S=_e;break}default:{p=8;break t}}Bn(je,Le,S,p,Ut),!(qo(je,Ut)|0)&&!(qo(Le,Ut)|0)&&(dh(Ut,g[$e>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1)}if((z|0)<(it|0)&&(gu(re,je),dh(je,g[we>>2]|0,H,1,C+8+(g[C>>2]<<4)|0),g[C>>2]=(g[C>>2]|0)+1),z=z+1|0,(z|0)>=(ne|0)){p=3;break}else S=g[we>>2]|0}if((p|0)==3){wt=Zr;return}else(p|0)==8&&Mi(22557,22521,746,22602)}function nA(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0;H=wt,wt=wt+160|0,S=H+80|0,C=H,k=S,L=20336,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));k=C,L=20416,z=k+72|0;do g[k>>2]=g[L>>2],k=k+4|0,L=L+4|0;while((k|0)<(z|0));z=(Ho(g[m>>2]|0)|0)==0,S=z?S:C,C=p+4|0,Ge(C),Dd(C),Ho(g[m>>2]|0)|0&&(hh(C),g[m>>2]=(g[m>>2]|0)+1),g[y>>2]=g[p>>2],m=y+4|0,Ln(C,S,m),js(m),g[y+16>>2]=g[p>>2],m=y+20|0,Ln(C,S+12|0,m),js(m),g[y+32>>2]=g[p>>2],m=y+36|0,Ln(C,S+24|0,m),js(m),g[y+48>>2]=g[p>>2],m=y+52|0,Ln(C,S+36|0,m),js(m),g[y+64>>2]=g[p>>2],m=y+68|0,Ln(C,S+48|0,m),js(m),g[y+80>>2]=g[p>>2],y=y+84|0,Ln(C,S+60|0,y),js(y),wt=H}function ph(p){p=+p;var m=0;return m=p<0?p+6.283185307179586:p,+(p>=6.283185307179586?m+-6.283185307179586:m)}function us(p,m){return p=p|0,m=m|0,+li(+(+Tt[p>>3]-+Tt[m>>3]))<17453292519943298e-27?(m=+li(+(+Tt[p+8>>3]-+Tt[m+8>>3]))<17453292519943298e-27,m|0):(m=0,m|0)}function _u(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2)}function Bc(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475)}function h0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;return C=+Tt[m>>3],S=+Tt[p>>3],k=+hi(+((C-S)*.5)),y=+hi(+((+Tt[m+8>>3]-+Tt[p+8>>3])*.5)),y=k*k+y*(+Ur(+C)*+Ur(+S)*y),+(+qr(+ +bn(+y),+ +bn(+(1-y)))*2*6371.007180918475*1e3)}function Od(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;return k=+Tt[m>>3],S=+Ur(+k),C=+Tt[m+8>>3]-+Tt[p+8>>3],L=S*+hi(+C),y=+Tt[p>>3],+ +qr(+L,+(+hi(+k)*+Ur(+y)-+Ur(+C)*(S*+hi(+y))))}function f0(p,m,y,S){p=p|0,m=+m,y=+y,S=S|0;var C=0,k=0,L=0,z=0;if(y<1e-16){g[S>>2]=g[p>>2],g[S+4>>2]=g[p+4>>2],g[S+8>>2]=g[p+8>>2],g[S+12>>2]=g[p+12>>2];return}k=m<0?m+6.283185307179586:m,k=m>=6.283185307179586?k+-6.283185307179586:k;do if(k<1e-16)m=+Tt[p>>3]+y,Tt[S>>3]=m,C=S;else{if(C=+li(+(k+-3.141592653589793))<1e-16,m=+Tt[p>>3],C){m=m-y,Tt[S>>3]=m,C=S;break}if(L=+Ur(+y),y=+hi(+y),m=L*+hi(+m)+ +Ur(+k)*(y*+Ur(+m)),m=m>1?1:m,m=+h_(+(m<-1?-1:m)),Tt[S>>3]=m,+li(+(m+-1.5707963267948966))<1e-16){Tt[S>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[S>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(z=+Ur(+m),k=y*+hi(+k)/z,y=+Tt[p>>3],m=(L-+hi(+m)*+hi(+y))/+Ur(+y)/z,L=k>1?1:k,m=m>1?1:m,m=+Tt[p+8>>3]+ +qr(+(L<-1?-1:L),+(m<-1?-1:m)),m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m;return}while(!1);if(+li(+(m+-1.5707963267948966))<1e-16){Tt[C>>3]=1.5707963267948966,Tt[S+8>>3]=0;return}if(+li(+(m+1.5707963267948966))<1e-16){Tt[C>>3]=-1.5707963267948966,Tt[S+8>>3]=0;return}if(m=+Tt[p+8>>3],m>3.141592653589793)do m=m+-6.283185307179586;while(m>3.141592653589793);if(m<-3.141592653589793)do m=m+6.283185307179586;while(m<-3.141592653589793);Tt[S+8>>3]=m}function v_(p){return p=p|0,+ +Tt[20496+(p<<3)>>3]}function ua(p){return p=p|0,+ +Tt[20624+(p<<3)>>3]}function un(p){return p=p|0,+ +Tt[20752+(p<<3)>>3]}function sA(p){return p=p|0,+ +Tt[20880+(p<<3)>>3]}function d0(p){p=p|0;var m=0;return m=21008+(p<<3)|0,p=g[m>>2]|0,Je(g[m+4>>2]|0),p|0}function Ah(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;return Nt=+Tt[m>>3],ot=+Tt[p>>3],H=+hi(+((Nt-ot)*.5)),k=+Tt[m+8>>3],it=+Tt[p+8>>3],L=+hi(+((k-it)*.5)),z=+Ur(+ot),Ct=+Ur(+Nt),L=H*H+L*(Ct*z*L),L=+qr(+ +bn(+L),+ +bn(+(1-L)))*2,H=+Tt[y>>3],Nt=+hi(+((H-Nt)*.5)),S=+Tt[y+8>>3],k=+hi(+((S-k)*.5)),C=+Ur(+H),k=Nt*Nt+k*(Ct*C*k),k=+qr(+ +bn(+k),+ +bn(+(1-k)))*2,H=+hi(+((ot-H)*.5)),S=+hi(+((it-S)*.5)),S=H*H+S*(z*C*S),S=+qr(+ +bn(+S),+ +bn(+(1-S)))*2,C=(L+k+S)*.5,+(+Md(+ +bn(+(+To(+(C*.5))*+To(+((C-L)*.5))*+To(+((C-k)*.5))*+To(+((C-S)*.5)))))*4)}function x_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)<=0)return y=0,wt=k,+y;if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)==1)return wt=k,+y;p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0));return wt=k,+y}function b_(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475)}function Nx(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(k=wt,wt=wt+192|0,S=k+168|0,C=k,l(p,m,S),d(p,m,C),m=g[C>>2]|0,(m|0)>0){if(y=+Ah(C+8|0,C+8+(((m|0)!=1&1)<<4)|0,S)+0,(m|0)!=1){p=1;do L=p,p=p+1|0,y=y+ +Ah(C+8+(L<<4)|0,C+8+(((p|0)%(m|0)|0)<<4)|0,S);while((p|0)<(m|0))}}else y=0;return wt=k,+(y*6371.007180918475*6371.007180918475*1e3*1e3)}function Mo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+S)*+Ur(+H)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)<(m|0));return wt=L,+y}function oA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475,wt=L,+it}function nr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(L=wt,wt=wt+176|0,k=L,pt(p,m,k),p=g[k>>2]|0,(p|0)<=1)return C=0,wt=L,+C;m=p+-1|0,p=0,y=0,S=+Tt[k+8>>3],C=+Tt[k+16>>3];do p=p+1|0,H=S,S=+Tt[k+8+(p<<4)>>3],it=+hi(+((S-H)*.5)),z=C,C=+Tt[k+8+(p<<4)+8>>3],z=+hi(+((C-z)*.5)),z=it*it+z*(+Ur(+H)*+Ur(+S)*z),y=y+ +qr(+ +bn(+z),+ +bn(+(1-z)))*2;while((p|0)!=(m|0));return it=y*6371.007180918475*1e3,wt=L,+it}function dr(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&15|0}function wf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,45)|0,It()|0,m&127|0}function aA(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0;if(!(!0&(m&-16777216|0)==134217728)||(L=me(p|0,m|0,45)|0,It()|0,L=L&127,L>>>0>121))return m=0,m|0;y=me(p|0,m|0,52)|0,It()|0,y=y&15;do if(y|0){for(C=1,S=0;;){if(k=me(p|0,m|0,(15-C|0)*3|0)|0,It()|0,k=k&7,(k|0)!=0&(S^1))if((k|0)==1&(fi(L)|0)!=0){z=0,S=13;break}else S=1;if((k|0)==7){z=0,S=13;break}if(C>>>0>>0)C=C+1|0;else{S=9;break}}if((S|0)==9){if((y|0)==15)z=1;else break;return z|0}else if((S|0)==13)return z|0}while(!1);for(;;){if(z=me(p|0,m|0,(14-y|0)*3|0)|0,It()|0,!((z&7|0)==7&!0)){z=0,S=13;break}if(y>>>0<14)y=y+1|0;else{z=1,S=13;break}}return(S|0)==13?z|0:0}function Bd(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(S|0)>=(y|0)){if((S|0)!=(y|0))if(y>>>0<=15){if(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)>(y|0))do C=ke(7,0,(14-y|0)*3|0)|0,y=y+1|0,p=C|p,m=It()|0|m;while((y|0)<(S|0))}else m=0,p=0}else m=0,p=0;return Je(m|0),p|0}function Hn(p,m,y){return p=p|0,m=m|0,y=y|0,p=me(p|0,m|0,52)|0,It()|0,p=p&15,(y|0)<16&(p|0)<=(y|0)?(y=Ze(7,y-p|0)|0,y|0):(y=0,y|0)}function uo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(L=me(p|0,m|0,52)|0,It()|0,L=L&15,!!((y|0)<16&(L|0)<=(y|0))){if((L|0)==(y|0)){y=S,g[y>>2]=p,g[y+4>>2]=m;return}if(H=Ze(7,y-L|0)|0,it=(H|0)/7|0,z=me(p|0,m|0,45)|0,It()|0,!(fi(z&127)|0))k=0;else{t:do if(!L)C=0;else for(k=1;;){if(C=me(p|0,m|0,(15-k|0)*3|0)|0,It()|0,C=C&7,C|0)break t;if(k>>>0>>0)k=k+1|0;else{C=0;break}}while(!1);k=(C|0)==0}if(ot=ke(L+1|0,0,52)|0,C=It()|0|m&-15728641,z=(14-L|0)*3|0,m=ke(7,0,z|0)|0,m=(ot|p)&~m,L=C&~(It()|0),uo(m,L,y,S),C=S+(it<<3)|0,!k){ot=ke(1,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(2,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0);return}k=C+(it<<3)|0,(H|0)>6&&(H=C+8|0,ot=(k>>>0>H>>>0?k:H)+-1+(0-C)|0,Fc(C|0,0,ot+8&-8|0)|0,C=H+(ot>>>3<<3)|0),ot=ke(2,0,z|0)|0,uo(ot|m,It()|0|L,y,C),ot=C+(it<<3)|0,H=ke(3,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(4,0,z|0)|0,uo(H|m,It()|0|L,y,ot),ot=ot+(it<<3)|0,H=ke(5,0,z|0)|0,uo(H|m,It()|0|L,y,ot),H=ke(6,0,z|0)|0,uo(H|m,It()|0|L,y,ot+(it<<3)|0)}}function ji(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,45)|0,It()|0,!(fi(C&127)|0))return C=0,C|0;C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!C)y=0;else for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0)break t;if(S>>>0>>0)S=S+1|0;else{y=0;break}}while(!1);return C=(y|0)==0&1,C|0}function w_(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,(y|0)<16&(S|0)<=(y|0)){if((S|0)!=(y|0)&&(C=ke(y|0,0,52)|0,p=C|p,m=It()|0|m&-15728641,(S|0)<(y|0)))do C=ke(7,0,(14-S|0)*3|0)|0,S=S+1|0,p=p&~C,m=m&~(It()|0);while((S|0)<(y|0))}else m=0,p=0;return Je(m|0),p|0}function mh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0;if(!y)return we=0,we|0;if(C=p,S=g[C>>2]|0,C=g[C+4>>2]|0,!0&(C&15728640|0)==0){if((y|0)<=0||(we=m,g[we>>2]=S,g[we+4>>2]=C,(y|0)==1))return we=0,we|0;S=1;do $e=p+(S<<3)|0,er=g[$e+4>>2]|0,we=m+(S<<3)|0,g[we>>2]=g[$e>>2],g[we+4>>2]=er,S=S+1|0;while((S|0)!=(y|0));return S=0,S|0}if($e=y<<3,er=ho($e)|0,!er)return we=-3,we|0;if(Va(er|0,p|0,$e|0)|0,Ut=Ua(y,8)|0,!Ut)return Gr(er),we=-3,we|0;S=y;t:for(;;){L=er,ot=g[L>>2]|0,L=g[L+4>>2]|0,te=me(ot|0,L|0,52)|0,It()|0,te=te&15,_e=te+-1|0,We=(S|0)>0;e:do if(We){if(Le=((S|0)<0)<<31>>31,re=ke(_e|0,0,52)|0,ne=It()|0,_e>>>0>15)for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(k=me(p|0,y|0,52)|0,It()|0,k=k&15,z=(k|0)<(_e|0),k=(k|0)==(_e|0),it=z?0:k?p:0,p=z?0:k?y:0,y=Yo(it|0,p|0,S|0,Le|0)|0,It()|0,k=Ut+(y<<3)|0,z=k,H=g[z>>2]|0,z=g[z+4>>2]|0,(H|0)==0&(z|0)==0)y=it;else for(re=0,Wt=y,Nt=z,y=it;;){if((re|0)>(S|0)){we=41;break t}if((H|0)==(y|0)&(Nt&-117440513|0)==(p|0)){it=me(H|0,Nt|0,56)|0,It()|0,it=it&7,Ct=it+1|0,ne=me(H|0,Nt|0,45)|0,It()|0;r:do if(!(fi(ne&127)|0))z=7;else{if(H=me(H|0,Nt|0,52)|0,It()|0,H=H&15,!H){z=6;break}for(z=1;;){if(ne=ke(7,0,(15-z|0)*3|0)|0,!((ne&y|0)==0&((It()|0)&p|0)==0)){z=7;break r}if(z>>>0>>0)z=z+1|0;else{z=6;break}}}while(!1);if((it+2|0)>>>0>z>>>0){we=51;break t}ne=ke(Ct|0,0,56)|0,p=It()|0|p&-117440513,z=k,g[z>>2]=0,g[z+4>>2]=0,z=Wt,y=ne|y}else z=(Wt+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,Nt=k,H=g[Nt>>2]|0,Nt=g[Nt+4>>2]|0,(H|0)==0&(Nt|0)==0)break;re=re+1|0,Wt=z}ne=k,g[ne>>2]=y,g[ne+4>>2]=p}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}for(C=0,p=ot,y=L;;){if(!((p|0)==0&(y|0)==0)){if(z=me(p|0,y|0,52)|0,It()|0,z=z&15,(z|0)>=(_e|0)){if((z|0)!=(_e|0)&&(p=p|re,y=y&-15728641|ne,z>>>0>=te>>>0)){k=_e;do Wt=ke(7,0,(14-k|0)*3|0)|0,k=k+1|0,p=Wt|p,y=It()|0|y;while(k>>>0>>0)}}else p=0,y=0;if(z=Yo(p|0,y|0,S|0,Le|0)|0,It()|0,k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,!((it|0)==0&(H|0)==0))for(Wt=0;;){if((Wt|0)>(S|0)){we=41;break t}if((it|0)==(p|0)&(H&-117440513|0)==(y|0)){Ct=me(it|0,H|0,56)|0,It()|0,Ct=Ct&7,Nt=Ct+1|0,je=me(it|0,H|0,45)|0,It()|0;r:do if(!(fi(je&127)|0))H=7;else{if(it=me(it|0,H|0,52)|0,It()|0,it=it&15,!it){H=6;break}for(H=1;;){if(je=ke(7,0,(15-H|0)*3|0)|0,!((je&p|0)==0&((It()|0)&y|0)==0)){H=7;break r}if(H>>>0>>0)H=H+1|0;else{H=6;break}}}while(!1);if((Ct+2|0)>>>0>H>>>0){we=51;break t}je=ke(Nt|0,0,56)|0,y=It()|0|y&-117440513,Nt=k,g[Nt>>2]=0,g[Nt+4>>2]=0,p=je|p}else z=(z+1|0)%(S|0)|0;if(k=Ut+(z<<3)|0,H=k,it=g[H>>2]|0,H=g[H+4>>2]|0,(it|0)==0&(H|0)==0)break;Wt=Wt+1|0}je=k,g[je>>2]=p,g[je+4>>2]=y}if(C=C+1|0,(C|0)>=(S|0))break e;y=er+(C<<3)|0,p=g[y>>2]|0,y=g[y+4>>2]|0}}while(!1);if((S+5|0)>>>0<11){we=99;break}if(ne=Ua((S|0)/6|0,8)|0,!ne){we=58;break}e:do if(We){Wt=0,Nt=0;do{if(z=Ut+(Wt<<3)|0,p=z,C=g[p>>2]|0,p=g[p+4>>2]|0,!((C|0)==0&(p|0)==0)){H=me(C|0,p|0,56)|0,It()|0,H=H&7,y=H+1|0,it=p&-117440513,je=me(C|0,p|0,45)|0,It()|0;r:do if(fi(je&127)|0){if(Ct=me(C|0,p|0,52)|0,It()|0,Ct=Ct&15,Ct|0)for(k=1;;){if(je=ke(7,0,(15-k|0)*3|0)|0,!((C&je|0)==0&(it&(It()|0)|0)==0))break r;if(k>>>0>>0)k=k+1|0;else break}p=ke(y|0,0,56)|0,C=p|C,p=It()|0|it,y=z,g[y>>2]=C,g[y+4>>2]=p,y=H+2|0}while(!1);(y|0)==7&&(je=ne+(Nt<<3)|0,g[je>>2]=C,g[je+4>>2]=p&-117440513,Nt=Nt+1|0)}Wt=Wt+1|0}while((Wt|0)!=(S|0));if(We){if(re=((S|0)<0)<<31>>31,Ct=ke(_e|0,0,52)|0,Wt=It()|0,_e>>>0>15)for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){for(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,k=(H|0)<(_e|0),H=(H|0)==(_e|0),z=k?0:H?ot:0,H=k?0:H?L:0,k=Yo(z|0,H|0,S|0,re|0)|0,It()|0,y=0;;){if((y|0)>(S|0)){we=98;break t}if(je=Ut+(k<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(z|0)){we=70;break}if(k=(k+1|0)%(S|0)|0,je=Ut+(k<<3)|0,(g[je>>2]|0)==(z|0)&&(g[je+4>>2]|0)==(H|0))break;y=y+1|0}if((we|0)==70&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}for(p=0,C=0;;){do if(!((ot|0)==0&(L|0)==0)){if(H=me(ot|0,L|0,52)|0,It()|0,H=H&15,(H|0)>=(_e|0))if((H|0)!=(_e|0))if(y=ot|Ct,k=L&-15728641|Wt,H>>>0>>0)H=k;else{z=_e;do je=ke(7,0,(14-z|0)*3|0)|0,z=z+1|0,y=je|y,k=It()|0|k;while(z>>>0>>0);H=k}else y=ot,H=L;else y=0,H=0;for(z=Yo(y|0,H|0,S|0,re|0)|0,It()|0,k=0;;){if((k|0)>(S|0)){we=98;break t}if(je=Ut+(z<<3)|0,it=g[je+4>>2]|0,(it&-117440513|0)==(H|0)&&(g[je>>2]|0)==(y|0)){we=93;break}if(z=(z+1|0)%(S|0)|0,je=Ut+(z<<3)|0,(g[je>>2]|0)==(y|0)&&(g[je+4>>2]|0)==(H|0))break;k=k+1|0}if((we|0)==93&&(we=0,!0&(it&117440512|0)==100663296))break;je=m+(C<<3)|0,g[je>>2]=ot,g[je+4>>2]=L,C=C+1|0}while(!1);if(p=p+1|0,(p|0)>=(S|0)){S=Nt;break e}L=er+(p<<3)|0,ot=g[L>>2]|0,L=g[L+4>>2]|0}}else C=0,S=Nt}else C=0,S=0;while(!1);if(Fc(Ut|0,0,$e|0)|0,Va(er|0,ne|0,S<<3|0)|0,Gr(ne),S)m=m+(C<<3)|0;else break}return(we|0)==41?(Gr(er),Gr(Ut),je=-1,je|0):(we|0)==51?(Gr(er),Gr(Ut),je=-2,je|0):(we|0)==58?(Gr(er),Gr(Ut),je=-3,je|0):(we|0)==98?(Gr(ne),Gr(er),Gr(Ut),je=-1,je|0):((we|0)==99&&Va(m|0,er|0,S<<3|0)|0,Gr(er),Gr(Ut),je=0,je|0)}function kn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0;if((m|0)<=0)return C=0,C|0;if((C|0)>=16){for(k=0;;){if(ot=p+(k<<3)|0,!((g[ot>>2]|0)==0&(g[ot+4>>2]|0)==0)){k=14;break}if(k=k+1|0,(k|0)>=(m|0)){L=0,k=16;break}}if((k|0)==14)return((S|0)>0?-2:-1)|0;if((k|0)==16)return L|0}k=0,ot=0;t:for(;;){it=p+(ot<<3)|0,z=it,L=g[z>>2]|0,z=g[z+4>>2]|0;do if(!((L|0)==0&(z|0)==0)){if((k|0)>=(S|0)){L=-1,k=16;break t}if(H=me(L|0,z|0,52)|0,It()|0,H=H&15,(H|0)>(C|0)){L=-2,k=16;break t}if((H|0)==(C|0)){it=y+(k<<3)|0,g[it>>2]=L,g[it+4>>2]=z,k=k+1|0;break}if(L=(Ze(7,C-H|0)|0)+k|0,(L|0)>(S|0)){L=-1,k=16;break t}uo(g[it>>2]|0,g[it+4>>2]|0,C,y+(k<<3)|0),k=L}while(!1);if(ot=ot+1|0,(ot|0)>=(m|0)){L=0,k=16;break}}return(k|0)==16?L|0:0}function wn(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if((m|0)<=0)return y=0,y|0;if((y|0)>=16){for(S=0;;){if(L=p+(S<<3)|0,!((g[L>>2]|0)==0&(g[L+4>>2]|0)==0)){S=-1,C=13;break}if(S=S+1|0,(S|0)>=(m|0)){S=0,C=13;break}}if((C|0)==13)return S|0}S=0,L=0;t:for(;;){C=p+(L<<3)|0,k=g[C>>2]|0,C=g[C+4>>2]|0;do if(!((k|0)==0&(C|0)==0)){if(C=me(k|0,C|0,52)|0,It()|0,C=C&15,(C|0)>(y|0)){S=-1,C=13;break t}if((C|0)==(y|0)){S=S+1|0;break}else{S=(Ze(7,y-C|0)|0)+S|0;break}}while(!1);if(L=L+1|0,(L|0)>=(m|0)){C=13;break}}return(C|0)==13?S|0:0}function Sf(p,m){return p=p|0,m=m|0,m=me(p|0,m|0,52)|0,It()|0,m&1|0}function Es(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(C=me(p|0,m|0,52)|0,It()|0,C=C&15,!C)return C=0,C|0;for(S=1;;){if(y=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,y=y&7,y|0){S=5;break}if(S>>>0>>0)S=S+1|0;else{y=0,S=5;break}}return(S|0)==5?y|0:0}function gh(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(Na(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(L=(15-y|0)*3|0,C=me(p|0,m|0,L|0)|0,It()|0,k=ke(7,0,L|0)|0,m=m&~(It()|0),L=ke(Na(C&7)|0,0,L|0)|0,p=p&~k|L,m=m|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Wo(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;k=(15-y|0)*3|0,L=me(p|0,m|0,k|0)|0,It()|0,C=ke(7,0,k|0)|0,m=m&~(It()|0),k=ke(Na(L&7)|0,0,k|0)|0,p=k|p&~C,m=It()|0|m,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function p0(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(H=me(p|0,m|0,52)|0,It()|0,H=H&15,!H)return z=m,H=p,Je(z|0),H|0;for(z=1,y=0;;){k=(15-z|0)*3|0,S=ke(7,0,k|0)|0,C=It()|0,L=me(p|0,m|0,k|0)|0,It()|0,k=ke(co(L&7)|0,0,k|0)|0,L=It()|0,p=k|p&~S,m=L|m&~C;t:do if(!y)if((k&S|0)==0&(L&C|0)==0)y=0;else if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)y=1;else{y=1;e:for(;;){switch(L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,L&7){case 1:break e;case 0:break;default:{y=1;break t}}if(y>>>0>>0)y=y+1|0;else{y=1;break t}}for(y=1;;)if(C=(15-y|0)*3|0,k=ke(7,0,C|0)|0,L=m&~(It()|0),m=me(p|0,m|0,C|0)|0,It()|0,m=ke(co(m&7)|0,0,C|0)|0,p=p&~k|m,m=L|(It()|0),y>>>0>>0)y=y+1|0;else{y=1;break}}while(!1);if(z>>>0>>0)z=z+1|0;else break}return Je(m|0),p|0}function Fd(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return y=m,S=p,Je(y|0),S|0;for(y=1;L=(15-y|0)*3|0,k=ke(7,0,L|0)|0,C=m&~(It()|0),m=me(p|0,m|0,L|0)|0,It()|0,m=ke(co(m&7)|0,0,L|0)|0,p=m|p&~k,m=It()|0|C,y>>>0>>0;)y=y+1|0;return Je(m|0),p|0}function Tf(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(H=wt,wt=wt+64|0,z=H+40|0,S=H+24|0,C=H+12|0,k=H,ke(m|0,0,52)|0,y=It()|0|134225919,!m)return(g[p+4>>2]|0)>2||(g[p+8>>2]|0)>2||(g[p+12>>2]|0)>2?(L=0,z=0,Je(L|0),wt=H,z|0):(ke(vf(p)|0,0,45)|0,L=It()|0|y,z=-1,Je(L|0),wt=H,z|0);if(g[z>>2]=g[p>>2],g[z+4>>2]=g[p+4>>2],g[z+8>>2]=g[p+8>>2],g[z+12>>2]=g[p+12>>2],L=z+4|0,(m|0)>0)for(p=-1;g[S>>2]=g[L>>2],g[S+4>>2]=g[L+4>>2],g[S+8>>2]=g[L+8>>2],m&1?(Rd(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],za(C)):(Al(L),g[C>>2]=g[L>>2],g[C+4>>2]=g[L+4>>2],g[C+8>>2]=g[L+8>>2],hh(C)),eA(S,C,k),js(k),ot=(15-m|0)*3|0,it=ke(7,0,ot|0)|0,y=y&~(It()|0),ot=ke(Fa(k)|0,0,ot|0)|0,p=ot|p&~it,y=It()|0|y,(m|0)>1;)m=m+-1|0;else p=-1;t:do if((g[L>>2]|0)<=2&&(g[z+8>>2]|0)<=2&&(g[z+12>>2]|0)<=2){if(S=vf(z)|0,m=ke(S|0,0,45)|0,m=m|p,p=It()|0|y&-1040385,k=Kp(z)|0,!(fi(S)|0)){if((k|0)<=0)break;for(C=0;;){if(S=me(m|0,p|0,52)|0,It()|0,S=S&15,S)for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0;if(C=C+1|0,(C|0)==(k|0))break t}}C=me(m|0,p|0,52)|0,It()|0,C=C&15;e:do if(C){y=1;r:for(;;){switch(ot=me(m|0,p|0,(15-y|0)*3|0)|0,It()|0,ot&7){case 1:break r;case 0:break;default:break e}if(y>>>0>>0)y=y+1|0;else break e}if(ch(S,g[z>>2]|0)|0)for(y=1;z=(15-y|0)*3|0,it=ke(7,0,z|0)|0,ot=p&~(It()|0),p=me(m|0,p|0,z|0)|0,It()|0,p=ke(co(p&7)|0,0,z|0)|0,m=m&~it|p,p=ot|(It()|0),y>>>0>>0;)y=y+1|0;else for(y=1;ot=(15-y|0)*3|0,z=me(m|0,p|0,ot|0)|0,It()|0,it=ke(7,0,ot|0)|0,p=p&~(It()|0),ot=ke(Na(z&7)|0,0,ot|0)|0,m=m&~it|ot,p=p|(It()|0),y>>>0>>0;)y=y+1|0}while(!1);if((k|0)>0){y=0;do m=gh(m,p)|0,p=It()|0,y=y+1|0;while((y|0)!=(k|0))}}else m=0,p=0;while(!1);return it=p,ot=m,Je(it|0),wt=H,ot|0}function Ho(p){return p=p|0,(p|0)%2|0|0}function lA(p,m){p=p|0,m=m|0;var y=0,S=0;return S=wt,wt=wt+16|0,y=S,m>>>0<=15&&(g[p+4>>2]&2146435072|0)!=2146435072&&(g[p+8+4>>2]&2146435072|0)!=2146435072?(a0(p,m,y),m=Tf(y,m)|0,p=It()|0):(p=0,m=0),Je(p|0),wt=S,m|0}function bi(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(C=y+4|0,k=me(p|0,m|0,52)|0,It()|0,k=k&15,L=me(p|0,m|0,45)|0,It()|0,S=(k|0)==0,fi(L&127)|0){if(S)return L=1,L|0;S=1}else{if(S)return L=0,L|0;!(g[C>>2]|0)&&!(g[y+8>>2]|0)?S=(g[y+12>>2]|0)!=0&1:S=1}for(y=1;y&1?za(C):hh(C),L=me(p|0,m|0,(15-y|0)*3|0)|0,It()|0,rA(C,L&7),y>>>0>>0;)y=y+1|0;return S|0}function T(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;ot=wt,wt=wt+16|0,H=ot,it=me(p|0,m|0,45)|0,It()|0,it=it&127;t:do if(fi(it)|0&&(k=me(p|0,m|0,52)|0,It()|0,k=k&15,(k|0)!=0)){S=1;e:for(;;){switch(z=me(p|0,m|0,(15-S|0)*3|0)|0,It()|0,z&7){case 5:break e;case 0:break;default:{S=m;break t}}if(S>>>0>>0)S=S+1|0;else{S=m;break t}}for(C=1,S=m;m=(15-C|0)*3|0,L=ke(7,0,m|0)|0,z=S&~(It()|0),S=me(p|0,S|0,m|0)|0,It()|0,S=ke(co(S&7)|0,0,m|0)|0,p=p&~L|S,S=z|(It()|0),C>>>0>>0;)C=C+1|0}else S=m;while(!1);if(z=7728+(it*28|0)|0,g[y>>2]=g[z>>2],g[y+4>>2]=g[z+4>>2],g[y+8>>2]=g[z+8>>2],g[y+12>>2]=g[z+12>>2],!(bi(p,S,y)|0)){wt=ot;return}if(L=y+4|0,g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],k=me(p|0,S|0,52)|0,It()|0,z=k&15,k&1?(hh(L),k=z+1|0):k=z,!(fi(it)|0))S=0;else{t:do if(!z)S=0;else for(m=1;;){if(C=me(p|0,S|0,(15-m|0)*3|0)|0,It()|0,C=C&7,C|0){S=C;break t}if(m>>>0>>0)m=m+1|0;else{S=0;break}}while(!1);S=(S|0)==4&1}if(!(bf(y,k,S,0)|0))(k|0)!=(z|0)&&(g[L>>2]=g[H>>2],g[L+4>>2]=g[H+4>>2],g[L+8>>2]=g[H+8>>2]);else{if(fi(it)|0)do;while(bf(y,k,0,0)|0);(k|0)!=(z|0)&&Al(L)}wt=ot}function l(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;S=wt,wt=wt+16|0,C=S,T(p,m,C),m=me(p|0,m|0,52)|0,It()|0,y_(C,m&15,y),wt=S}function d(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;L=wt,wt=wt+16|0,k=L,T(p,m,k),S=me(p|0,m|0,45)|0,It()|0,S=(fi(S&127)|0)==0,C=me(p|0,m|0,52)|0,It()|0,C=C&15;t:do if(!S){if(C|0)for(S=1;;){if(z=ke(7,0,(15-S|0)*3|0)|0,!((z&p|0)==0&((It()|0)&m|0)==0))break t;if(S>>>0>>0)S=S+1|0;else break}l0(k,C,0,5,y),wt=L;return}while(!1);iA(k,C,0,6,y),wt=L}function v(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;if(S=me(p|0,m|0,45)|0,It()|0,!(fi(S&127)|0))return S=2,S|0;if(S=me(p|0,m|0,52)|0,It()|0,S=S&15,!S)return S=5,S|0;for(y=1;;){if(C=ke(7,0,(15-y|0)*3|0)|0,!((C&p|0)==0&((It()|0)&m|0)==0)){y=2,p=6;break}if(y>>>0>>0)y=y+1|0;else{y=5,p=6;break}}return(p|0)==6?y|0:0}function b(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0;Ct=wt,wt=wt+128|0,it=Ct+112|0,k=Ct+96|0,ot=Ct,C=me(p|0,m|0,52)|0,It()|0,z=C&15,g[it>>2]=z,L=me(p|0,m|0,45)|0,It()|0,L=L&127;t:do if(fi(L)|0){if(z|0)for(S=1;;){if(H=ke(7,0,(15-S|0)*3|0)|0,!((H&p|0)==0&((It()|0)&m|0)==0)){C=0;break t}if(S>>>0>>0)S=S+1|0;else break}if(C&1)C=1;else{H=ke(z+1|0,0,52)|0,ot=It()|0|m&-15728641,it=ke(7,0,(14-z|0)*3|0)|0,b((H|p)&~it,ot&~(It()|0),y),wt=Ct;return}}else C=0;while(!1);T(p,m,k),C?(c0(k,it,ot),H=5):(nA(k,it,ot),H=6);t:do if(fi(L)|0)if(!z)S=20;else for(S=1;;){if(L=ke(7,0,(15-S|0)*3|0)|0,!((L&p|0)==0&((It()|0)&m|0)==0)){S=8;break t}if(S>>>0>>0)S=S+1|0;else{S=20;break}}else S=8;while(!1);if(Fc(y|0,-1,S|0)|0,C){C=0;do{for(k=ot+(C<<4)|0,u0(k,g[it>>2]|0)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}else{C=0;do{for(k=ot+(C<<4)|0,bf(k,g[it>>2]|0,0,1)|0,k=g[k>>2]|0,S=0;L=y+(S<<2)|0,z=g[L>>2]|0,!((z|0)==-1|(z|0)==(k|0));)S=S+1|0;g[L>>2]=k,C=C+1|0}while((C|0)!=(H|0))}wt=Ct}function M(){return 12}function O(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(ke(p|0,0,52)|0,z=It()|0|134225919,(p|0)<1){S=0,y=0;do fi(S)|0&&(ke(S|0,0,45)|0,L=z|(It()|0),p=m+(y<<3)|0,g[p>>2]=-1,g[p+4>>2]=L,y=y+1|0),S=S+1|0;while((S|0)!=122);return}L=0,y=0;do{if(fi(L)|0){for(ke(L|0,0,45)|0,S=1,C=-1,k=z|(It()|0);H=ke(7,0,(15-S|0)*3|0)|0,C=C&~H,k=k&~(It()|0),(S|0)!=(p|0);)S=S+1|0;H=m+(y<<3)|0,g[H>>2]=C,g[H+4>>2]=k,y=y+1|0}L=L+1|0}while((L|0)!=122)}function B(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0;if(z=wt,wt=wt+64|0,L=z,(p|0)==(y|0)&(m|0)==(S|0)|(!1|(m&2013265920|0)!=134217728|(!1|(S&2013265920|0)!=134217728))||(C=me(p|0,m|0,52)|0,It()|0,C=C&15,k=me(y|0,S|0,52)|0,It()|0,(C|0)!=(k&15|0)))return L=0,wt=z,L|0;if(k=C+-1|0,C>>>0>1&&(it=Bd(p,m,k)|0,H=It()|0,k=Bd(y,S,k)|0,(it|0)==(k|0)&(H|0)==(It()|0))&&(k=(C^15)*3|0,C=me(p|0,m|0,k|0)|0,It()|0,C=C&7,k=me(y|0,S|0,k|0)|0,It()|0,k=k&7,(C|0)==0|(k|0)==0||(g[21136+(C<<2)>>2]|0)==(k|0)||(g[21168+(C<<2)>>2]|0)==(k|0)))return it=1,wt=z,it|0;C=L,k=C+56|0;do g[C>>2]=0,C=C+4|0;while((C|0)<(k|0));return f_(p,m,1,L),it=L,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0))&&(it=L+8|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+16|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+24|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+32|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))&&(it=L+40|0,!((g[it>>2]|0)==(y|0)&&(g[it+4>>2]|0)==(S|0)))?(C=L+48|0,C=((g[C>>2]|0)==(y|0)?(g[C+4>>2]|0)==(S|0):0)&1):C=1,it=C,wt=z,it|0}function U(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(it=wt,wt=wt+16|0,L=it,!(B(p,m,y,S)|0))return z=0,H=0,Je(z|0),wt=it,H|0;for(z=m&-2130706433,C=(ji(p,m)|0)==0,C=C?1:2;g[L>>2]=0,ot=Wn(p,m,C,L)|0,k=C+1|0,!((ot|0)==(y|0)&(It()|0)==(S|0));)if(k>>>0<7)C=k;else{C=0,p=0,H=6;break}return(H|0)==6?(Je(C|0),wt=it,p|0):(ot=ke(C|0,0,56)|0,H=z|(It()|0)|268435456,ot=p|ot,Je(H|0),wt=it,ot|0)}function W(p,m){p=p|0,m=m|0;var y=0;return y=!0&(m&2013265920|0)==268435456,Je((y?m&-2130706433|134217728:0)|0),(y?p:0)|0}function Z(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return S=wt,wt=wt+16|0,y=S,!0&(m&2013265920|0)==268435456?(C=me(p|0,m|0,56)|0,It()|0,g[y>>2]=0,y=Wn(p,m&-2130706433|134217728,C&7,y)|0,m=It()|0,Je(m|0),wt=S,y|0):(m=0,y=0,Je(m|0),wt=S,y|0)}function $(p,m){p=p|0,m=m|0;var y=0;if(!(!0&(m&2013265920|0)==268435456))return y=0,y|0;switch(y=me(p|0,m|0,56)|0,It()|0,y&7){case 0:case 7:return y=0,y|0;default:}return y=m&-2130706433|134217728,!0&(m&117440512|0)==16777216&(ji(p,y)|0)!=0?(y=0,y|0):(y=aA(p,y)|0,y|0)}function st(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;k=wt,wt=wt+16|0,S=k,L=!0&(m&2013265920|0)==268435456,C=m&-2130706433|134217728,z=y,g[z>>2]=L?p:0,g[z+4>>2]=L?C:0,L?(m=me(p|0,m|0,56)|0,It()|0,g[S>>2]=0,p=Wn(p,C,m&7,S)|0,m=It()|0):(p=0,m=0),z=y+8|0,g[z>>2]=p,g[z+4>>2]=m,wt=k}function At(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;C=(ji(p,m)|0)==0,m=m&-2130706433,S=y,g[S>>2]=C?p:0,g[S+4>>2]=C?m|285212672:0,S=y+8|0,g[S>>2]=p,g[S+4>>2]=m|301989888,S=y+16|0,g[S>>2]=p,g[S+4>>2]=m|318767104,S=y+24|0,g[S>>2]=p,g[S+4>>2]=m|335544320,S=y+32|0,g[S>>2]=p,g[S+4>>2]=m|352321536,y=y+40|0,g[y>>2]=p,g[y+4>>2]=m|369098752}function pt(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0;if(L=wt,wt=wt+16|0,k=L,S=me(p|0,m|0,56)|0,It()|0,z=!0&(m&2013265920|0)==268435456,C=z?p:0,p=z?m&-2130706433|134217728:0,m=yu(C,p,S&7)|0,(m|0)==-1){g[y>>2]=0,wt=L;return}T(C,p,k),S=me(C|0,p|0,52)|0,It()|0,S=S&15,ji(C,p)|0?l0(k,S,m,2,y):iA(k,S,m,2,y),wt=L}function yt(p){p=p|0;var m=0,y=0,S=0;return m=Ua(1,12)|0,m||Mi(22691,22646,49,22704),y=p+4|0,S=g[y>>2]|0,S|0?(S=S+8|0,g[S>>2]=m,g[y>>2]=m,m|0):(g[p>>2]|0&&Mi(22721,22646,61,22744),S=p,g[S>>2]=m,g[y>>2]=m,m|0)}function dt(p,m){p=p|0,m=m|0;var y=0,S=0;return S=ho(24)|0,S||Mi(22758,22646,78,22772),g[S>>2]=g[m>>2],g[S+4>>2]=g[m+4>>2],g[S+8>>2]=g[m+8>>2],g[S+12>>2]=g[m+12>>2],g[S+16>>2]=0,m=p+4|0,y=g[m>>2]|0,y|0?(g[y+16>>2]=S,g[m>>2]=S,S|0):(g[p>>2]|0&&Mi(22787,22646,82,22772),g[p>>2]=S,g[m>>2]=S,S|0)}function Ft(p){p=p|0;var m=0,y=0,S=0,C=0;if(p)for(S=1;;){if(m=g[p>>2]|0,m|0)do{if(y=g[m>>2]|0,y|0)do C=y,y=g[y+16>>2]|0,Gr(C);while(y|0);C=m,m=g[m+8>>2]|0,Gr(C)}while(m|0);if(m=p,p=g[p+8>>2]|0,S||Gr(m),p)S=0;else break}}function Ht(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0,je=0,Zr=0,qi=0,Ei=0,hn=0,Pi=0,Sn=0,yn=0,Or=0;if(C=p+8|0,g[C>>2]|0)return Or=1,Or|0;if(S=g[p>>2]|0,!S)return Or=0,Or|0;m=S,y=0;do y=y+1|0,m=g[m+8>>2]|0;while(m|0);if(y>>>0<2)return Or=0,Or|0;Sn=ho(y<<2)|0,Sn||Mi(22807,22646,317,22826),Pi=ho(y<<5)|0,Pi||Mi(22848,22646,321,22826),g[p>>2]=0,er=p+4|0,g[er>>2]=0,g[C>>2]=0,y=0,hn=0,$e=0,Ct=0;t:for(;;){if(ot=g[S>>2]|0,ot){k=0,L=ot;do{if(H=+Tt[L+8>>3],m=L,L=g[L+16>>2]|0,it=(L|0)==0,C=it?ot:L,z=+Tt[C+8>>3],+li(+(H-z))>3.141592653589793){Or=14;break}k=k+(z-H)*(+Tt[m>>3]+ +Tt[C>>3])}while(!it);if((Or|0)==14){Or=0,k=0,m=ot;do Ut=+Tt[m+8>>3],Ei=m+16|0,qi=g[Ei>>2]|0,qi=qi|0?qi:ot,_e=+Tt[qi+8>>3],k=k+(+Tt[m>>3]+ +Tt[qi>>3])*((_e<0?_e+6.283185307179586:_e)-(Ut<0?Ut+6.283185307179586:Ut)),m=g[(m|0?Ei:S)>>2]|0;while(m|0)}k>0?(g[Sn+(hn<<2)>>2]=S,hn=hn+1|0,C=$e,m=Ct):Or=19}else Or=19;if((Or|0)==19){Or=0;do if(y){if(m=y+8|0,g[m>>2]|0){Or=21;break t}if(y=Ua(1,12)|0,!y){Or=23;break t}g[m>>2]=y,C=y+4|0,L=y,m=Ct}else if(Ct){C=er,L=Ct+8|0,m=S,y=p;break}else if(g[p>>2]|0){Or=27;break t}else{C=er,L=p,m=S,y=p;break}while(!1);if(g[L>>2]=S,g[C>>2]=S,L=Pi+($e<<5)|0,it=g[S>>2]|0,it){for(ot=Pi+($e<<5)+8|0,Tt[ot>>3]=17976931348623157e292,Ct=Pi+($e<<5)+24|0,Tt[Ct>>3]=17976931348623157e292,Tt[L>>3]=-17976931348623157e292,Nt=Pi+($e<<5)+16|0,Tt[Nt>>3]=-17976931348623157e292,We=17976931348623157e292,te=-17976931348623157e292,C=0,Wt=it,H=17976931348623157e292,ne=17976931348623157e292,Le=-17976931348623157e292,z=-17976931348623157e292;k=+Tt[Wt>>3],Ut=+Tt[Wt+8>>3],Wt=g[Wt+16>>2]|0,re=(Wt|0)==0,_e=+Tt[(re?it:Wt)+8>>3],k>3]=k,H=k),Ut>3]=Ut,ne=Ut),k>Le?Tt[L>>3]=k:k=Le,Ut>z&&(Tt[Nt>>3]=Ut,z=Ut),We=Ut>0&Utte?Ut:te,C=C|+li(+(Ut-_e))>3.141592653589793,!re;)Le=k;C&&(Tt[Nt>>3]=te,Tt[Ct>>3]=We)}else g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,g[L+12>>2]=0,g[L+16>>2]=0,g[L+20>>2]=0,g[L+24>>2]=0,g[L+28>>2]=0;C=$e+1|0}if(Ei=S+8|0,S=g[Ei>>2]|0,g[Ei>>2]=0,S)$e=C,Ct=m;else{Or=45;break}}if((Or|0)==21)Mi(22624,22646,35,22658);else if((Or|0)==23)Mi(22678,22646,37,22658);else if((Or|0)==27)Mi(22721,22646,61,22744);else if((Or|0)==45){t:do if((hn|0)>0){for(Ei=(C|0)==0,Zr=C<<2,qi=(p|0)==0,je=0,m=0;;){if(we=g[Sn+(je<<2)>>2]|0,Ei)Or=73;else{if($e=ho(Zr)|0,!$e){Or=50;break}if(er=ho(Zr)|0,!er){Or=52;break}e:do if(qi)y=0;else{for(C=0,y=0,L=p;S=Pi+(C<<5)|0,St(g[L>>2]|0,S,g[we>>2]|0)|0?(g[$e+(y<<2)>>2]=L,g[er+(y<<2)>>2]=S,re=y+1|0):re=y,L=g[L+8>>2]|0,L;)C=C+1|0,y=re;if((re|0)>0)if(S=g[$e>>2]|0,(re|0)==1)y=S;else for(Nt=0,Wt=-1,y=S,Ct=S;;){for(it=g[Ct>>2]|0,S=0,L=0;C=g[g[$e+(L<<2)>>2]>>2]|0,(C|0)==(it|0)?ot=S:ot=S+((St(C,g[er+(L<<2)>>2]|0,g[it>>2]|0)|0)&1)|0,L=L+1|0,(L|0)!=(re|0);)S=ot;if(C=(ot|0)>(Wt|0),y=C?Ct:y,S=Nt+1|0,(S|0)==(re|0))break e;Nt=S,Wt=C?ot:Wt,Ct=g[$e+(S<<2)>>2]|0}else y=0}while(!1);if(Gr($e),Gr(er),y){if(C=y+4|0,S=g[C>>2]|0,S)y=S+8|0;else if(g[y>>2]|0){Or=70;break}g[y>>2]=we,g[C>>2]=we}else Or=73}if((Or|0)==73){if(Or=0,m=g[we>>2]|0,m|0)do er=m,m=g[m+16>>2]|0,Gr(er);while(m|0);Gr(we),m=2}if(je=je+1|0,(je|0)>=(hn|0)){yn=m;break t}}(Or|0)==50?Mi(22863,22646,249,22882):(Or|0)==52?Mi(22901,22646,252,22882):(Or|0)==70&&Mi(22721,22646,61,22744)}else yn=0;while(!1);return Gr(Sn),Gr(Pi),Or=yn,Or|0}return 0}function St(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0;if(!(pl(m,y)|0)||(m=n0(m)|0,it=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,p=g[p>>2]|0,!p))return p=0,p|0;if(m){m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(it-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}else{m=0,y=p;t:for(;;){for(;L=+Tt[y>>3],H=+Tt[y+8>>3],y=y+16|0,ot=g[y>>2]|0,ot=ot|0?ot:p,k=+Tt[ot>>3],C=+Tt[ot+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(itz);)if(y=g[y>>2]|0,!y){y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(it-k)/(z-k)*(L-C)>S&&(m=m^1),y=g[y>>2]|0,!y){y=22;break}}if((y|0)==22)return m|0}return 0}function Bt(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(te=wt,wt=wt+32|0,We=te+16|0,Le=te,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Wt=me(y|0,S|0,52)|0,It()|0,(k|0)!=(Wt&15|0))return We=1,wt=te,We|0;if(it=me(p|0,m|0,45)|0,It()|0,it=it&127,ot=me(y|0,S|0,45)|0,It()|0,ot=ot&127,Wt=(it|0)!=(ot|0),Wt){if(z=tA(it,ot)|0,(z|0)==7)return We=2,wt=te,We|0;H=tA(ot,it)|0,(H|0)==7?Mi(22925,22949,151,22959):(re=z,L=H)}else re=0,L=0;Ct=fi(it)|0,Nt=fi(ot)|0,g[We>>2]=0,g[We+4>>2]=0,g[We+8>>2]=0,g[We+12>>2]=0;do if(re){if(ot=g[4304+(it*28|0)+(re<<2)>>2]|0,z=(ot|0)>0,Nt)if(z){it=0,H=y,z=S;do H=p0(H,z)|0,z=It()|0,L=co(L)|0,(L|0)==1&&(L=co(1)|0),it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;else if(z){it=0,H=y,z=S;do H=Fd(H,z)|0,z=It()|0,L=co(L)|0,it=it+1|0;while((it|0)!=(ot|0));ot=L,it=H,H=z}else ot=L,it=y,H=S;if(bi(it,H,We)|0,Wt||Mi(22972,22949,181,22959),z=(Ct|0)!=0,L=(Nt|0)!=0,z&L&&Mi(22999,22949,182,22959),z){if(L=Es(p,m)|0,br[22032+(L*7|0)+re>>0]|0){k=3;break}H=g[21200+(L*28|0)+(re<<2)>>2]|0,it=H,ne=26}else if(L){if(L=Es(it,H)|0,br[22032+(L*7|0)+ot>>0]|0){k=4;break}it=0,H=g[21200+(ot*28|0)+(L<<2)>>2]|0,ne=26}else L=0;if((ne|0)==26)if((H|0)<=-1&&Mi(23030,22949,212,22959),(it|0)<=-1&&Mi(23053,22949,213,22959),(H|0)>0){z=We+4|0,L=0;do fh(z),L=L+1|0;while((L|0)!=(H|0));L=it}else L=it;if(g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,rA(Le,re),k|0)for(;Ho(k)|0?za(Le):hh(Le),(k|0)>1;)k=k+-1|0;if((L|0)>0){k=0;do fh(Le),k=k+1|0;while((k|0)!=(L|0))}ne=We+4|0,Ln(ne,Le,ne),js(ne),ne=50}else if(bi(y,S,We)|0,(Ct|0)!=0&(Nt|0)!=0)if((ot|0)!=(it|0)&&Mi(23077,22949,243,22959),L=Es(p,m)|0,k=Es(y,S)|0,br[22032+(L*7|0)+k>>0]|0)k=5;else if(L=g[21200+(L*28|0)+(k<<2)>>2]|0,(L|0)>0){z=We+4|0,k=0;do fh(z),k=k+1|0;while((k|0)!=(L|0));ne=50}else ne=50;else ne=50;while(!1);return(ne|0)==50&&(k=We+4|0,g[C>>2]=g[k>>2],g[C+4>>2]=g[k+4>>2],g[C+8>>2]=g[k+8>>2],k=0),We=k,wt=te,We|0}function Qt(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=wt,wt=wt+48|0,L=re+36|0,z=re+24|0,H=re+12|0,it=re,k=me(p|0,m|0,52)|0,It()|0,k=k&15,Nt=me(p|0,m|0,45)|0,It()|0,Nt=Nt&127,ot=fi(Nt)|0,ke(k|0,0,52)|0,Le=It()|0|134225919,ne=S,g[ne>>2]=-1,g[ne+4>>2]=Le,!k)return(g[y>>2]|0)>1||(g[y+4>>2]|0)>1||(g[y+8>>2]|0)>1||(C=Jp(Nt,Fa(y)|0)|0,(C|0)==127)?(Le=1,wt=re,Le|0):(Wt=ke(C|0,0,45)|0,ne=It()|0,Nt=S,ne=g[Nt+4>>2]&-1040385|ne,Le=S,g[Le>>2]=g[Nt>>2]|Wt,g[Le+4>>2]=ne,Le=0,wt=re,Le|0);for(g[L>>2]=g[y>>2],g[L+4>>2]=g[y+4>>2],g[L+8>>2]=g[y+8>>2];g[z>>2]=g[L>>2],g[z+4>>2]=g[L+4>>2],g[z+8>>2]=g[L+8>>2],Ho(k)|0?(Rd(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],za(H)):(Al(L),g[H>>2]=g[L>>2],g[H+4>>2]=g[L+4>>2],g[H+8>>2]=g[L+8>>2],hh(H)),eA(z,H,it),js(it),ne=S,We=g[ne>>2]|0,ne=g[ne+4>>2]|0,te=(15-k|0)*3|0,y=ke(7,0,te|0)|0,ne=ne&~(It()|0),te=ke(Fa(it)|0,0,te|0)|0,ne=It()|0|ne,Le=S,g[Le>>2]=te|We&~y,g[Le+4>>2]=ne,(k|0)>1;)k=k+-1|0;t:do if((g[L>>2]|0)<=1&&(g[L+4>>2]|0)<=1&&(g[L+8>>2]|0)<=1){k=Fa(L)|0,z=Jp(Nt,k)|0,(z|0)==127?it=0:it=fi(z)|0;e:do if(k){if(ot){if(L=21408+((Es(p,m)|0)*28|0)+(k<<2)|0,L=g[L>>2]|0,(L|0)>0){y=0;do k=Na(k)|0,y=y+1|0;while((y|0)!=(L|0))}if((k|0)==1){C=3;break t}y=Jp(Nt,k)|0,(y|0)==127&&Mi(23104,22949,376,23134),fi(y)|0?Mi(23147,22949,377,23134):(Wt=L,Ct=k,C=y)}else Wt=0,Ct=k,C=z;if(H=g[4304+(Nt*28|0)+(Ct<<2)>>2]|0,(H|0)<=-1&&Mi(23178,22949,384,23134),!it){if((Wt|0)<=-1&&Mi(23030,22949,417,23134),Wt|0){L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0;while((k|0)<(Wt|0))}if((H|0)<=0){k=54;break}for(L=S,k=0,y=g[L>>2]|0,L=g[L+4>>2]|0;;)if(y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,k=k+1|0,(k|0)==(H|0)){k=54;break e}}if(z=tA(C,Nt)|0,(z|0)==7&&Mi(22925,22949,393,23134),k=S,y=g[k>>2]|0,k=g[k+4>>2]|0,(H|0)>0){L=0;do y=Wo(y,k)|0,k=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=k,L=L+1|0;while((L|0)!=(H|0))}if(y=Es(y,k)|0,te=mu(C)|0,y=g[(te?21824:21616)+(z*28|0)+(y<<2)>>2]|0,(y|0)<=-1&&Mi(23030,22949,412,23134),!y)k=54;else{z=S,k=0,L=g[z>>2]|0,z=g[z+4>>2]|0;do L=gh(L,z)|0,z=It()|0,te=S,g[te>>2]=L,g[te+4>>2]=z,k=k+1|0;while((k|0)<(y|0));k=54}}else if((ot|0)!=0&(it|0)!=0)if(te=Es(p,m)|0,k=S,k=21408+(te*28|0)+((Es(g[k>>2]|0,g[k+4>>2]|0)|0)<<2)|0,k=g[k>>2]|0,(k|0)<=-1&&Mi(23201,22949,433,23134),!k)C=z,k=55;else{L=S,C=0,y=g[L>>2]|0,L=g[L+4>>2]|0;do y=Wo(y,L)|0,L=It()|0,te=S,g[te>>2]=y,g[te+4>>2]=L,C=C+1|0;while((C|0)<(k|0));C=z,k=54}else C=z,k=54;while(!1);if((k|0)==54&&it&&(k=55),(k|0)==55&&(te=S,(Es(g[te>>2]|0,g[te+4>>2]|0)|0)==1)){C=4;break}te=S,Le=g[te>>2]|0,te=g[te+4>>2]&-1040385,We=ke(C|0,0,45)|0,te=te|(It()|0),C=S,g[C>>2]=Le|We,g[C+4>>2]=te,C=0}else C=2;while(!1);return te=C,wt=re,te|0}function $t(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0;return L=wt,wt=wt+16|0,k=L,p=Bt(p,m,y,S,k)|0,p||(xf(k,C),p=0),wt=L,p|0}function oe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return C=wt,wt=wt+16|0,k=C,__(y,k),S=Qt(p,m,k,S)|0,wt=C,S|0}function pe(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,p|0}function he(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0,L=0;return L=wt,wt=wt+32|0,C=L+12|0,k=L,!(Bt(p,m,p,m,C)|0)&&!(Bt(p,m,y,S,k)|0)?p=Hl(C,k)|0:p=-1,wt=L,(p>>>31^1)+p|0}function be(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0;if($e=wt,wt=wt+48|0,k=$e+24|0,L=$e+12|0,Ut=$e,!(Bt(p,m,p,m,k)|0)&&!(Bt(p,m,y,S,L)|0)){if(_e=Hl(k,L)|0,(_e|0)<0)return Ut=_e,wt=$e,Ut|0;for(g[k>>2]=0,g[k+4>>2]=0,g[k+8>>2]=0,g[L>>2]=0,g[L+4>>2]=0,g[L+8>>2]=0,Bt(p,m,p,m,k)|0,Bt(p,m,y,S,L)|0,Oe(k),Oe(L),_e?(ot=g[k>>2]|0,Wt=+(_e|0),Le=k+4|0,Ct=g[Le>>2]|0,We=k+8|0,Nt=g[We>>2]|0,te=k,y=ot,S=Ct,k=Nt,re=+((g[L>>2]|0)-ot|0)/Wt,ne=+((g[L+4>>2]|0)-Ct|0)/Wt,Wt=+((g[L+8>>2]|0)-Nt|0)/Wt):(S=k+4|0,Nt=k+8|0,Le=S,We=Nt,te=k,y=g[k>>2]|0,S=g[S>>2]|0,k=g[Nt>>2]|0,re=0,ne=0,Wt=0),g[Ut>>2]=y,Nt=Ut+4|0,g[Nt>>2]=S,Ct=Ut+8|0,g[Ct>>2]=k,ot=0;;){H=+(ot|0),er=re*H+ +(y|0),z=ne*H+ +(g[Le>>2]|0),H=Wt*H+ +(g[We>>2]|0),S=~~+Mf(+er),L=~~+Mf(+z),y=~~+Mf(+H),er=+li(+(+(S|0)-er)),z=+li(+(+(L|0)-z)),H=+li(+(+(y|0)-H));do if(er>z&er>H)S=0-(L+y)|0,k=L;else if(it=0-S|0,z>H){k=it-y|0;break}else{k=L,y=it-L|0;break}while(!1);if(g[Ut>>2]=S,g[Nt>>2]=k,g[Ct>>2]=y,o0(Ut),Qt(p,m,Ut,C+(ot<<3)|0)|0,(ot|0)==(_e|0))break;ot=ot+1|0,y=g[te>>2]|0}return Ut=0,wt=$e,Ut|0}return Ut=-1,wt=$e,Ut|0}function Ze(p,m){p=p|0,m=m|0;var y=0;if(!m)return y=1,y|0;y=p,p=1;do p=Oc(m&1|0?y:1,p)|0,m=m>>1,y=Oc(y,y)|0;while(m|0);return p|0}function Kr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;if(!(pl(m,y)|0)||(m=n0(m)|0,Nt=+Tt[y>>3],S=+Tt[y+8>>3],S=m&S<0?S+6.283185307179586:S,Ct=g[p>>2]|0,(Ct|0)<=0))return Ct=0,Ct|0;if(ot=g[p+4>>2]|0,m){m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(H=C<0?C+6.283185307179586:C,L=L<0?L+6.283185307179586:L,S=L==S|H==S?S+-2220446049250313e-31:S,H=H+(Nt-k)/(z-k)*(L-H),(H<0?H+6.283185307179586:H)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}else{m=0,y=-1,p=0;t:for(;;){for(it=p;L=+Tt[ot+(it<<4)>>3],H=+Tt[ot+(it<<4)+8>>3],p=(y+2|0)%(Ct|0)|0,k=+Tt[ot+(p<<4)>>3],C=+Tt[ot+(p<<4)+8>>3],L>k?(z=L,L=H):(z=k,k=L,L=C,C=H),!!(Ntz);)if(y=it+1|0,(y|0)<(Ct|0))p=it,it=y,y=p;else{y=22;break t}if(S=L==S|C==S?S+-2220446049250313e-31:S,C+(Nt-k)/(z-k)*(L-C)>S&&(m=m^1),p=it+1|0,(p|0)>=(Ct|0)){y=22;break}else y=it}if((y|0)==22)return m|0}return 0}function Ee(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0;if(re=g[p>>2]|0,!re){g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;return}if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,!((re|0)<=0)){for(Nt=g[p+4>>2]|0,it=17976931348623157e292,ot=-17976931348623157e292,Ct=0,p=-1,k=17976931348623157e292,L=17976931348623157e292,H=-17976931348623157e292,S=-17976931348623157e292,Wt=0;y=+Tt[Nt+(Wt<<4)>>3],z=+Tt[Nt+(Wt<<4)+8>>3],p=p+2|0,C=+Tt[Nt+(((p|0)==(re|0)?0:p)<<4)+8>>3],y>3]=y,k=y),z>3]=z,L=z),y>H?Tt[m>>3]=y:y=H,z>S&&(Tt[We>>3]=z,S=z),it=z>0&zot?z:ot,Ct=Ct|+li(+(z-C))>3.141592653589793,p=Wt+1|0,(p|0)!=(re|0);)te=Wt,H=y,Wt=p,p=te;Ct&&(Tt[We>>3]=ot,Tt[Le>>3]=it)}}function pr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0,er=0,we=0;if(re=g[p>>2]|0,re){if(ne=m+8|0,Tt[ne>>3]=17976931348623157e292,Le=m+24|0,Tt[Le>>3]=17976931348623157e292,Tt[m>>3]=-17976931348623157e292,We=m+16|0,Tt[We>>3]=-17976931348623157e292,(re|0)>0){for(C=g[p+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,S=0,y=-1,H=17976931348623157e292,it=17976931348623157e292,Ct=-17976931348623157e292,L=-17976931348623157e292,te=0;k=+Tt[C+(te<<4)>>3],ot=+Tt[C+(te<<4)+8>>3],er=y+2|0,z=+Tt[C+(((er|0)==(re|0)?0:er)<<4)+8>>3],k>3]=k,H=k),ot>3]=ot,it=ot),k>Ct?Tt[m>>3]=k:k=Ct,ot>L&&(Tt[We>>3]=ot,L=ot),Nt=ot>0&otWt?ot:Wt,S=S|+li(+(ot-z))>3.141592653589793,y=te+1|0,(y|0)!=(re|0);)er=te,Ct=k,te=y,y=er;S&&(Tt[We>>3]=Wt,Tt[Le>>3]=Nt)}}else g[m>>2]=0,g[m+4>>2]=0,g[m+8>>2]=0,g[m+12>>2]=0,g[m+16>>2]=0,g[m+20>>2]=0,g[m+24>>2]=0,g[m+28>>2]=0;if(er=p+8|0,y=g[er>>2]|0,!((y|0)<=0)){$e=p+12|0,Ut=0;do if(C=g[$e>>2]|0,S=Ut,Ut=Ut+1|0,Le=m+(Ut<<5)|0,We=g[C+(S<<3)>>2]|0,We){if(te=m+(Ut<<5)+8|0,Tt[te>>3]=17976931348623157e292,p=m+(Ut<<5)+24|0,Tt[p>>3]=17976931348623157e292,Tt[Le>>3]=-17976931348623157e292,_e=m+(Ut<<5)+16|0,Tt[_e>>3]=-17976931348623157e292,(We|0)>0){for(re=g[C+(S<<3)+4>>2]|0,Nt=17976931348623157e292,Wt=-17976931348623157e292,C=0,S=-1,ne=0,H=17976931348623157e292,it=17976931348623157e292,ot=-17976931348623157e292,L=-17976931348623157e292;k=+Tt[re+(ne<<4)>>3],Ct=+Tt[re+(ne<<4)+8>>3],S=S+2|0,z=+Tt[re+(((S|0)==(We|0)?0:S)<<4)+8>>3],k>3]=k,H=k),Ct>3]=Ct,it=Ct),k>ot?Tt[Le>>3]=k:k=ot,Ct>L&&(Tt[_e>>3]=Ct,L=Ct),Nt=Ct>0&CtWt?Ct:Wt,C=C|+li(+(Ct-z))>3.141592653589793,S=ne+1|0,(S|0)!=(We|0);)we=ne,ne=S,ot=k,S=we;C&&(Tt[_e>>3]=Wt,Tt[p>>3]=Nt)}}else g[Le>>2]=0,g[Le+4>>2]=0,g[Le+8>>2]=0,g[Le+12>>2]=0,g[Le+16>>2]=0,g[Le+20>>2]=0,g[Le+24>>2]=0,g[Le+28>>2]=0,y=g[er>>2]|0;while((Ut|0)<(y|0))}}function tr(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if(!(Kr(p,m,y)|0))return C=0,C|0;if(C=p+8|0,(g[C>>2]|0)<=0)return C=1,C|0;for(S=p+12|0,p=0;;){if(k=p,p=p+1|0,Kr((g[S>>2]|0)+(k<<3)|0,m+(p<<5)|0,y)|0){p=0,S=6;break}if((p|0)>=(g[C>>2]|0)){p=1,S=6;break}}return(S|0)==6?p|0:0}function Gi(){return 8}function Jr(){return 16}function Vr(){return 168}function ei(){return 8}function On(){return 16}function tn(){return 12}function Gs(){return 8}function hs(p){p=p|0;var m=0,y=0;return y=+Tt[p>>3],m=+Tt[p+8>>3],+ +bn(+(y*y+m*m))}function Bn(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0;it=+Tt[p>>3],H=+Tt[m>>3]-it,z=+Tt[p+8>>3],L=+Tt[m+8>>3]-z,Ct=+Tt[y>>3],k=+Tt[S>>3]-Ct,Nt=+Tt[y+8>>3],ot=+Tt[S+8>>3]-Nt,k=(k*(z-Nt)-(it-Ct)*ot)/(H*ot-L*k),Tt[C>>3]=it+H*k,Tt[C+8>>3]=z+L*k}function qo(p,m){return p=p|0,m=m|0,+Tt[p>>3]!=+Tt[m>>3]?(m=0,m|0):(m=+Tt[p+8>>3]==+Tt[m+8>>3],m|0)}function jr(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;return C=+Tt[p>>3]-+Tt[m>>3],S=+Tt[p+8>>3]-+Tt[m+8>>3],y=+Tt[p+16>>3]-+Tt[m+16>>3],+(C*C+S*S+y*y)}function ql(p,m){p=p|0,m=m|0;var y=0,S=0,C=0;y=+Tt[p>>3],S=+Ur(+y),y=+hi(+y),Tt[m+16>>3]=y,y=+Tt[p+8>>3],C=S*+Ur(+y),Tt[m>>3]=C,y=S*+hi(+y),Tt[m+8>>3]=y}function Zl(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0;if(it=wt,wt=wt+32|0,C=it+16|0,k=it,T(p,m,C),L=wf(p,m)|0,H=Es(p,m)|0,lh(L,k),m=Ld(L,g[C>>2]|0)|0,!(fi(L)|0))return H=m,wt=it,H|0;do switch(L|0){case 4:{p=0,y=14;break}case 14:{p=1,y=14;break}case 24:{p=2,y=14;break}case 38:{p=3,y=14;break}case 49:{p=4,y=14;break}case 58:{p=5,y=14;break}case 63:{p=6,y=14;break}case 72:{p=7,y=14;break}case 83:{p=8,y=14;break}case 97:{p=9,y=14;break}case 107:{p=10,y=14;break}case 117:{p=11,y=14;break}default:z=0,S=0}while(!1);return(y|0)==14&&(z=g[22096+(p*24|0)+8>>2]|0,S=g[22096+(p*24|0)+16>>2]|0),p=g[C>>2]|0,(p|0)!=(g[k>>2]|0)&&(L=mu(L)|0,p=g[C>>2]|0,L|(p|0)==(S|0)&&(m=(m+1|0)%6|0)),(H|0)==3&(p|0)==(S|0)?(H=(m+5|0)%6|0,wt=it,H|0):(H|0)==5&(p|0)==(z|0)?(H=(m+1|0)%6|0,wt=it,H|0):(H=m,wt=it,H|0)}function yu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;return S=ji(p,m)|0,(y+-1|0)>>>0>5||(C=(S|0)!=0,(y|0)==1&C)?(y=-1,y|0):(S=Zl(p,m)|0,C?(y=(5-S+(g[22384+(y<<2)>>2]|0)|0)%5|0,y|0):(y=(6-S+(g[22416+(y<<2)>>2]|0)|0)%6|0,y|0))}function vu(p,m,y){p=p|0,m=m|0,y=y|0;var S=0;(m|0)>0?(S=Ua(m,4)|0,g[p>>2]=S,S||Mi(23230,23253,40,23267)):g[p>>2]=0,g[p+4>>2]=m,g[p+8>>2]=0,g[p+12>>2]=y}function _h(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0;C=p+4|0,k=p+12|0,L=p+8|0;t:for(;;){for(y=g[C>>2]|0,m=0;;){if((m|0)>=(y|0))break t;if(S=g[p>>2]|0,z=g[S+(m<<2)>>2]|0,!z)m=m+1|0;else break}m=S+(~~(+li(+(+dl(10,+ +(15-(g[k>>2]|0)|0))*(+Tt[z>>3]+ +Tt[z+8>>3])))%+(y|0))>>>0<<2)|0,y=g[m>>2]|0;e:do if(y|0){if(S=z+32|0,(y|0)==(z|0))g[m>>2]=g[S>>2];else{if(y=y+32|0,m=g[y>>2]|0,!m)break;for(;(m|0)!=(z|0);)if(y=m+32|0,m=g[y>>2]|0,!m)break e;g[y>>2]=g[S>>2]}Gr(z),g[L>>2]=(g[L>>2]|0)+-1}while(!1)}Gr(g[p>>2]|0)}function Ws(p){p=p|0;var m=0,y=0,S=0;for(S=g[p+4>>2]|0,y=0;;){if((y|0)>=(S|0)){m=0,y=4;break}if(m=g[(g[p>>2]|0)+(y<<2)>>2]|0,!m)y=y+1|0;else{y=4;break}}return(y|0)==4?m|0:0}function Ps(p,m){p=p|0,m=m|0;var y=0,S=0,C=0,k=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,y=(g[p>>2]|0)+(y<<2)|0,S=g[y>>2]|0,!S)return k=1,k|0;k=m+32|0;do if((S|0)!=(m|0)){if(y=g[S+32>>2]|0,!y)return k=1,k|0;for(C=y;;){if((C|0)==(m|0)){C=8;break}if(y=g[C+32>>2]|0,y)S=C,C=y;else{y=1,C=10;break}}if((C|0)==8){g[S+32>>2]=g[k>>2];break}else if((C|0)==10)return y|0}else g[y>>2]=g[k>>2];while(!1);return Gr(m),k=p+8|0,g[k>>2]=(g[k>>2]|0)+-1,k=0,k|0}function Eo(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;k=ho(40)|0,k||Mi(23283,23253,98,23296),g[k>>2]=g[m>>2],g[k+4>>2]=g[m+4>>2],g[k+8>>2]=g[m+8>>2],g[k+12>>2]=g[m+12>>2],C=k+16|0,g[C>>2]=g[y>>2],g[C+4>>2]=g[y+4>>2],g[C+8>>2]=g[y+8>>2],g[C+12>>2]=g[y+12>>2],g[k+32>>2]=0,C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=(g[p>>2]|0)+(C<<2)|0,S=g[C>>2]|0;do if(!S)g[C>>2]=k;else{for(;!(us(S,m)|0&&us(S+16|0,y)|0);)if(C=g[S+32>>2]|0,S=C|0?C:S,!(g[S+32>>2]|0)){L=10;break}if((L|0)==10){g[S+32>>2]=k;break}return Gr(k),L=S,L|0}while(!1);return L=p+8|0,g[L>>2]=(g[L>>2]|0)+1,L=k,L|0}function yh(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0;if(C=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,C=g[(g[p>>2]|0)+(C<<2)>>2]|0,!C)return y=0,y|0;if(!y){for(p=C;;){if(us(p,m)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}if((S|0)==10)return p|0}for(p=C;;){if(us(p,m)|0&&us(p+16|0,y)|0){S=10;break}if(p=g[p+32>>2]|0,!p){p=0,S=10;break}}return(S|0)==10?p|0:0}function Fn(p,m){p=p|0,m=m|0;var y=0;if(y=~~(+li(+(+dl(10,+ +(15-(g[p+12>>2]|0)|0))*(+Tt[m>>3]+ +Tt[m+8>>3])))%+(g[p+4>>2]|0))>>>0,p=g[(g[p>>2]|0)+(y<<2)>>2]|0,!p)return y=0,y|0;for(;;){if(us(p,m)|0){m=5;break}if(p=g[p+32>>2]|0,!p){p=0,m=5;break}}return(m|0)==5?p|0:0}function fs(){return 23312}function Zo(p){return p=+p,+ +Ux(+p)}function _n(p){return p=+p,~~+Zo(p)|0}function ho(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0,ne=0,Le=0,We=0,te=0,_e=0,Ut=0,$e=0;$e=wt,wt=wt+16|0,Nt=$e;do if(p>>>0<245){if(it=p>>>0<11?16:p+11&-8,p=it>>>3,Ct=g[5829]|0,y=Ct>>>p,y&3|0)return m=(y&1^1)+p|0,p=23356+(m<<1<<2)|0,y=p+8|0,S=g[y>>2]|0,C=S+8|0,k=g[C>>2]|0,(k|0)==(p|0)?g[5829]=Ct&~(1<>2]=p,g[y>>2]=k),Ut=m<<3,g[S+4>>2]=Ut|3,Ut=S+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1,Ut=C,wt=$e,Ut|0;if(ot=g[5831]|0,it>>>0>ot>>>0){if(y|0)return m=2<>>12&16,m=m>>>z,y=m>>>5&8,m=m>>>y,k=m>>>2&4,m=m>>>k,p=m>>>1&2,m=m>>>p,S=m>>>1&1,S=(y|z|k|p|S)+(m>>>S)|0,m=23356+(S<<1<<2)|0,p=m+8|0,k=g[p>>2]|0,z=k+8|0,y=g[z>>2]|0,(y|0)==(m|0)?(p=Ct&~(1<>2]=m,g[p>>2]=y,p=Ct),Ut=S<<3,L=Ut-it|0,g[k+4>>2]=it|3,C=k+it|0,g[C+4>>2]=L|1,g[k+Ut>>2]=L,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=L,g[5834]=C,Ut=z,wt=$e,Ut|0;if(k=g[5830]|0,k){for(y=(k&0-k)+-1|0,C=y>>>12&16,y=y>>>C,S=y>>>5&8,y=y>>>S,L=y>>>2&4,y=y>>>L,z=y>>>1&2,y=y>>>z,H=y>>>1&1,H=g[23620+((S|C|L|z|H)+(y>>>H)<<2)>>2]|0,y=H,z=H,H=(g[H+4>>2]&-8)-it|0;p=g[y+16>>2]|0,!(!p&&(p=g[y+20>>2]|0,!p));)L=(g[p+4>>2]&-8)-it|0,C=L>>>0>>0,y=p,z=C?p:z,H=C?L:H;if(L=z+it|0,L>>>0>z>>>0){C=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){y=0;break}for(;;)if(S=m+20|0,y=g[S>>2]|0,y)m=y,p=S;else if(S=m+16|0,y=g[S>>2]|0,y)m=y,p=S;else break;g[p>>2]=0,y=m}else y=g[z+8>>2]|0,g[y+12>>2]=m,g[m+8>>2]=y,y=m;while(!1);do if(C|0){if(m=g[z+28>>2]|0,p=23620+(m<<2)|0,(z|0)==(g[p>>2]|0)){if(g[p>>2]=y,!y){g[5830]=k&~(1<>2]|0)==(z|0)?Ut:C+20|0)>>2]=y,!y)break;g[y+24>>2]=C,m=g[z+16>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),m=g[z+20>>2]|0,m|0&&(g[y+20>>2]=m,g[m+24>>2]=y)}while(!1);return H>>>0<16?(Ut=H+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1):(g[z+4>>2]=it|3,g[L+4>>2]=H|1,g[L+H>>2]=H,ot|0&&(S=g[5834]|0,m=ot>>>3,y=23356+(m<<1<<2)|0,m=1<>2]|0):(g[5829]=m|Ct,m=y,p=y+8|0),g[p>>2]=S,g[m+12>>2]=S,g[S+8>>2]=m,g[S+12>>2]=y),g[5831]=H,g[5834]=L),Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it}else Ct=it}else if(p>>>0<=4294967231)if(p=p+11|0,it=p&-8,S=g[5830]|0,S){C=0-it|0,p=p>>>8,p?it>>>0>16777215?H=31:(Ct=(p+1048320|0)>>>16&8,ne=p<>>16&4,ne=ne<>>16&2,H=14-(z|Ct|H)+(ne<>>15)|0,H=it>>>(H+7|0)&1|H<<1):H=0,y=g[23620+(H<<2)>>2]|0;t:do if(!y)y=0,p=0,ne=61;else for(p=0,z=it<<((H|0)==31?0:25-(H>>>1)|0),k=0;;){if(L=(g[y+4>>2]&-8)-it|0,L>>>0>>0)if(L)p=y,C=L;else{p=y,C=0,ne=65;break t}if(ne=g[y+20>>2]|0,y=g[y+16+(z>>>31<<2)>>2]|0,k=(ne|0)==0|(ne|0)==(y|0)?k:ne,y)z=z<<1;else{y=k,ne=61;break}}while(!1);if((ne|0)==61){if((y|0)==0&(p|0)==0){if(p=2<>>12&16,Ct=Ct>>>L,k=Ct>>>5&8,Ct=Ct>>>k,z=Ct>>>2&4,Ct=Ct>>>z,H=Ct>>>1&2,Ct=Ct>>>H,y=Ct>>>1&1,p=0,y=g[23620+((k|L|z|H|y)+(Ct>>>y)<<2)>>2]|0}y?ne=65:(z=p,L=C)}if((ne|0)==65)for(k=y;;)if(Ct=(g[k+4>>2]&-8)-it|0,y=Ct>>>0>>0,C=y?Ct:C,p=y?k:p,y=g[k+16>>2]|0,y||(y=g[k+20>>2]|0),y)k=y;else{z=p,L=C;break}if(z|0&&L>>>0<((g[5831]|0)-it|0)>>>0&&(ot=z+it|0,ot>>>0>z>>>0)){k=g[z+24>>2]|0,m=g[z+12>>2]|0;do if((m|0)==(z|0)){if(p=z+20|0,m=g[p>>2]|0,!m&&(p=z+16|0,m=g[p>>2]|0,!m)){m=0;break}for(;;)if(C=m+20|0,y=g[C>>2]|0,y)m=y,p=C;else if(C=m+16|0,y=g[C>>2]|0,y)m=y,p=C;else break;g[p>>2]=0}else Ut=g[z+8>>2]|0,g[Ut+12>>2]=m,g[m+8>>2]=Ut;while(!1);do if(k){if(p=g[z+28>>2]|0,y=23620+(p<<2)|0,(z|0)==(g[y>>2]|0)){if(g[y>>2]=m,!m){S=S&~(1<>2]|0)==(z|0)?Ut:k+20|0)>>2]=m,!m)break;g[m+24>>2]=k,p=g[z+16>>2]|0,p|0&&(g[m+16>>2]=p,g[p+24>>2]=m),p=g[z+20>>2]|0,p&&(g[m+20>>2]=p,g[p+24>>2]=m)}while(!1);t:do if(L>>>0<16)Ut=L+it|0,g[z+4>>2]=Ut|3,Ut=z+Ut+4|0,g[Ut>>2]=g[Ut>>2]|1;else{if(g[z+4>>2]=it|3,g[ot+4>>2]=L|1,g[ot+L>>2]=L,m=L>>>3,L>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=ot,g[m+12>>2]=ot,g[ot+8>>2]=m,g[ot+12>>2]=y;break}if(m=L>>>8,m?L>>>0>16777215?y=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,y=14-(te|_e|y)+(Ut<>>15)|0,y=L>>>(y+7|0)&1|y<<1):y=0,m=23620+(y<<2)|0,g[ot+28>>2]=y,p=ot+16|0,g[p+4>>2]=0,g[p>>2]=0,p=1<>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break}m=g[m>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(L|0)){for(S=L<<((y|0)==31?0:25-(y>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(L|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=ot,g[ot+24>>2]=m,g[ot+12>>2]=ot,g[ot+8>>2]=ot;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=ot,g[_e>>2]=ot,g[ot+8>>2]=Ut,g[ot+12>>2]=m,g[ot+24>>2]=0}while(!1);return Ut=z+8|0,wt=$e,Ut|0}else Ct=it}else Ct=it;else Ct=-1;while(!1);if(y=g[5831]|0,y>>>0>=Ct>>>0)return m=y-Ct|0,p=g[5834]|0,m>>>0>15?(Ut=p+Ct|0,g[5834]=Ut,g[5831]=m,g[Ut+4>>2]=m|1,g[p+y>>2]=m,g[p+4>>2]=Ct|3):(g[5831]=0,g[5834]=0,g[p+4>>2]=y|3,Ut=p+y+4|0,g[Ut>>2]=g[Ut>>2]|1),Ut=p+8|0,wt=$e,Ut|0;if(L=g[5832]|0,L>>>0>Ct>>>0)return te=L-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0;if(g[5947]|0?p=g[5949]|0:(g[5949]=4096,g[5948]=4096,g[5950]=-1,g[5951]=-1,g[5952]=0,g[5940]=0,g[5947]=Nt&-16^1431655768,p=4096),z=Ct+48|0,H=Ct+47|0,k=p+H|0,C=0-p|0,it=k&C,it>>>0<=Ct>>>0||(p=g[5939]|0,p|0&&(ot=g[5937]|0,Nt=ot+it|0,Nt>>>0<=ot>>>0|Nt>>>0>p>>>0)))return Ut=0,wt=$e,Ut|0;t:do if(g[5940]&4)m=0,ne=143;else{y=g[5835]|0;e:do if(y){for(S=23764;Nt=g[S>>2]|0,!(Nt>>>0<=y>>>0&&(Nt+(g[S+4>>2]|0)|0)>>>0>y>>>0);)if(p=g[S+8>>2]|0,p)S=p;else{ne=128;break e}if(m=k-L&C,m>>>0<2147483647)if(p=en(m|0)|0,(p|0)==((g[S>>2]|0)+(g[S+4>>2]|0)|0)){if((p|0)!=-1){L=m,k=p,ne=145;break t}}else S=p,ne=136;else m=0}else ne=128;while(!1);do if((ne|0)==128)if(y=en(0)|0,(y|0)!=-1&&(m=y,Wt=g[5948]|0,re=Wt+-1|0,m=(re&m|0?(re+m&0-Wt)-m|0:0)+it|0,Wt=g[5937]|0,re=m+Wt|0,m>>>0>Ct>>>0&m>>>0<2147483647)){if(Nt=g[5939]|0,Nt|0&&re>>>0<=Wt>>>0|re>>>0>Nt>>>0){m=0;break}if(p=en(m|0)|0,(p|0)==(y|0)){L=m,k=y,ne=145;break t}else S=p,ne=136}else m=0;while(!1);do if((ne|0)==136){if(y=0-m|0,!(z>>>0>m>>>0&(m>>>0<2147483647&(S|0)!=-1)))if((S|0)==-1){m=0;break}else{L=m,k=S,ne=145;break t}if(p=g[5949]|0,p=H-m+p&0-p,p>>>0>=2147483647){L=m,k=S,ne=145;break t}if((en(p|0)|0)==-1){en(y|0)|0,m=0;break}else{L=p+m|0,k=S,ne=145;break t}}while(!1);g[5940]=g[5940]|4,ne=143}while(!1);if((ne|0)==143&&it>>>0<2147483647&&(te=en(it|0)|0,re=en(0)|0,Le=re-te|0,We=Le>>>0>(Ct+40|0)>>>0,!((te|0)==-1|We^1|te>>>0>>0&((te|0)!=-1&(re|0)!=-1)^1))&&(L=We?Le:m,k=te,ne=145),(ne|0)==145){m=(g[5937]|0)+L|0,g[5937]=m,m>>>0>(g[5938]|0)>>>0&&(g[5938]=m),H=g[5835]|0;t:do if(H){for(m=23764;;){if(p=g[m>>2]|0,y=g[m+4>>2]|0,(k|0)==(p+y|0)){ne=154;break}if(S=g[m+8>>2]|0,S)m=S;else break}if((ne|0)==154&&(_e=m+4|0,(g[m+12>>2]&8|0)==0)&&k>>>0>H>>>0&p>>>0<=H>>>0){g[_e>>2]=y+L,Ut=(g[5832]|0)+L|0,te=H+8|0,te=te&7|0?0-te&7:0,_e=H+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[H+Ut+4>>2]=40,g[5836]=g[5951];break}for(k>>>0<(g[5833]|0)>>>0&&(g[5833]=k),y=k+L|0,m=23764;;){if((g[m>>2]|0)==(y|0)){ne=162;break}if(p=g[m+8>>2]|0,p)m=p;else break}if((ne|0)==162&&!(g[m+12>>2]&8|0)){g[m>>2]=k,ot=m+4|0,g[ot>>2]=(g[ot>>2]|0)+L,ot=k+8|0,ot=k+(ot&7|0?0-ot&7:0)|0,m=y+8|0,m=y+(m&7|0?0-m&7:0)|0,it=ot+Ct|0,z=m-ot-Ct|0,g[ot+4>>2]=Ct|3;e:do if((H|0)==(m|0))Ut=(g[5832]|0)+z|0,g[5832]=Ut,g[5835]=it,g[it+4>>2]=Ut|1;else{if((g[5834]|0)==(m|0)){Ut=(g[5831]|0)+z|0,g[5831]=Ut,g[5834]=it,g[it+4>>2]=Ut|1,g[it+Ut>>2]=Ut;break}if(p=g[m+4>>2]|0,(p&3|0)==1){L=p&-8,S=p>>>3;r:do if(p>>>0<256)if(p=g[m+8>>2]|0,y=g[m+12>>2]|0,(y|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=y,g[y+8>>2]=p;break}else{k=g[m+24>>2]|0,p=g[m+12>>2]|0;do if((p|0)==(m|0)){if(y=m+16|0,S=y+4|0,p=g[S>>2]|0,p)y=S;else if(p=g[y>>2]|0,!p){p=0;break}for(;;)if(C=p+20|0,S=g[C>>2]|0,S)p=S,y=C;else if(C=p+16|0,S=g[C>>2]|0,S)p=S,y=C;else break;g[y>>2]=0}else Ut=g[m+8>>2]|0,g[Ut+12>>2]=p,g[p+8>>2]=Ut;while(!1);if(!k)break;y=g[m+28>>2]|0,S=23620+(y<<2)|0;do if((g[S>>2]|0)!=(m|0)){if(Ut=k+16|0,g[((g[Ut>>2]|0)==(m|0)?Ut:k+20|0)>>2]=p,!p)break r}else{if(g[S>>2]=p,p|0)break;g[5830]=g[5830]&~(1<>2]=k,y=m+16|0,S=g[y>>2]|0,S|0&&(g[p+16>>2]=S,g[S+24>>2]=p),y=g[y+4>>2]|0,!y)break;g[p+20>>2]=y,g[y+24>>2]=p}while(!1);m=m+L|0,C=L+z|0}else C=z;if(m=m+4|0,g[m>>2]=g[m>>2]&-2,g[it+4>>2]=C|1,g[it+C>>2]=C,m=C>>>3,C>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=it,g[m+12>>2]=it,g[it+8>>2]=m,g[it+12>>2]=y;break}m=C>>>8;do if(!m)S=0;else{if(C>>>0>16777215){S=31;break}_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=C>>>(S+7|0)&1|S<<1}while(!1);if(m=23620+(S<<2)|0,g[it+28>>2]=S,p=it+16|0,g[p+4>>2]=0,g[p>>2]=0,p=g[5830]|0,y=1<>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break}m=g[m>>2]|0;r:do if((g[m+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(C|0)){m=p;break r}else S=S<<1,m=p;g[y>>2]=it,g[it+24>>2]=m,g[it+12>>2]=it,g[it+8>>2]=it;break e}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=it,g[_e>>2]=it,g[it+8>>2]=Ut,g[it+12>>2]=m,g[it+24>>2]=0}while(!1);return Ut=ot+8|0,wt=$e,Ut|0}for(m=23764;p=g[m>>2]|0,!(p>>>0<=H>>>0&&(Ut=p+(g[m+4>>2]|0)|0,Ut>>>0>H>>>0));)m=g[m+8>>2]|0;C=Ut+-47|0,p=C+8|0,p=C+(p&7|0?0-p&7:0)|0,C=H+16|0,p=p>>>0>>0?H:p,m=p+8|0,y=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=y-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+y+4>>2]=40,g[5836]=g[5951],y=p+4|0,g[y>>2]=27,g[m>>2]=g[5941],g[m+4>>2]=g[5942],g[m+8>>2]=g[5943],g[m+12>>2]=g[5944],g[5941]=k,g[5942]=L,g[5944]=0,g[5943]=m,m=p+24|0;do _e=m,m=m+4|0,g[m>>2]=7;while((_e+8|0)>>>0>>0);if((p|0)!=(H|0)){if(k=p-H|0,g[y>>2]=g[y>>2]&-2,g[H+4>>2]=k|1,g[p>>2]=k,m=k>>>3,k>>>0<256){y=23356+(m<<1<<2)|0,p=g[5829]|0,m=1<>2]|0):(g[5829]=p|m,m=y,p=y+8|0),g[p>>2]=H,g[m+12>>2]=H,g[H+8>>2]=m,g[H+12>>2]=y;break}if(m=k>>>8,m?k>>>0>16777215?S=31:(_e=(m+1048320|0)>>>16&8,Ut=m<<_e,te=(Ut+520192|0)>>>16&4,Ut=Ut<>>16&2,S=14-(te|_e|S)+(Ut<>>15)|0,S=k>>>(S+7|0)&1|S<<1):S=0,y=23620+(S<<2)|0,g[H+28>>2]=S,g[H+20>>2]=0,g[C>>2]=0,m=g[5830]|0,p=1<>2]=H,g[H+24>>2]=y,g[H+12>>2]=H,g[H+8>>2]=H;break}m=g[y>>2]|0;e:do if((g[m+4>>2]&-8|0)!=(k|0)){for(S=k<<((S|0)==31?0:25-(S>>>1)|0);y=m+16+(S>>>31<<2)|0,p=g[y>>2]|0,!!p;)if((g[p+4>>2]&-8|0)==(k|0)){m=p;break e}else S=S<<1,m=p;g[y>>2]=H,g[H+24>>2]=m,g[H+12>>2]=H,g[H+8>>2]=H;break t}while(!1);_e=m+8|0,Ut=g[_e>>2]|0,g[Ut+12>>2]=H,g[_e>>2]=H,g[H+8>>2]=Ut,g[H+12>>2]=m,g[H+24>>2]=0}}else Ut=g[5833]|0,(Ut|0)==0|k>>>0>>0&&(g[5833]=k),g[5941]=k,g[5942]=L,g[5944]=0,g[5838]=g[5947],g[5837]=-1,g[5842]=23356,g[5841]=23356,g[5844]=23364,g[5843]=23364,g[5846]=23372,g[5845]=23372,g[5848]=23380,g[5847]=23380,g[5850]=23388,g[5849]=23388,g[5852]=23396,g[5851]=23396,g[5854]=23404,g[5853]=23404,g[5856]=23412,g[5855]=23412,g[5858]=23420,g[5857]=23420,g[5860]=23428,g[5859]=23428,g[5862]=23436,g[5861]=23436,g[5864]=23444,g[5863]=23444,g[5866]=23452,g[5865]=23452,g[5868]=23460,g[5867]=23460,g[5870]=23468,g[5869]=23468,g[5872]=23476,g[5871]=23476,g[5874]=23484,g[5873]=23484,g[5876]=23492,g[5875]=23492,g[5878]=23500,g[5877]=23500,g[5880]=23508,g[5879]=23508,g[5882]=23516,g[5881]=23516,g[5884]=23524,g[5883]=23524,g[5886]=23532,g[5885]=23532,g[5888]=23540,g[5887]=23540,g[5890]=23548,g[5889]=23548,g[5892]=23556,g[5891]=23556,g[5894]=23564,g[5893]=23564,g[5896]=23572,g[5895]=23572,g[5898]=23580,g[5897]=23580,g[5900]=23588,g[5899]=23588,g[5902]=23596,g[5901]=23596,g[5904]=23604,g[5903]=23604,Ut=L+-40|0,te=k+8|0,te=te&7|0?0-te&7:0,_e=k+te|0,te=Ut-te|0,g[5835]=_e,g[5832]=te,g[_e+4>>2]=te|1,g[k+Ut+4>>2]=40,g[5836]=g[5951];while(!1);if(m=g[5832]|0,m>>>0>Ct>>>0)return te=m-Ct|0,g[5832]=te,Ut=g[5835]|0,_e=Ut+Ct|0,g[5835]=_e,g[_e+4>>2]=te|1,g[Ut+4>>2]=Ct|3,Ut=Ut+8|0,wt=$e,Ut|0}return Ut=fs()|0,g[Ut>>2]=12,Ut=0,wt=$e,Ut|0}function Gr(p){p=p|0;var m=0,y=0,S=0,C=0,k=0,L=0,z=0,H=0;if(p){y=p+-8|0,C=g[5833]|0,p=g[p+-4>>2]|0,m=p&-8,H=y+m|0;do if(p&1)z=y,L=y;else{if(S=g[y>>2]|0,!(p&3)||(L=y+(0-S)|0,k=S+m|0,L>>>0>>0))return;if((g[5834]|0)==(L|0)){if(p=H+4|0,m=g[p>>2]|0,(m&3|0)!=3){z=L,m=k;break}g[5831]=k,g[p>>2]=m&-2,g[L+4>>2]=k|1,g[L+k>>2]=k;return}if(y=S>>>3,S>>>0<256)if(p=g[L+8>>2]|0,m=g[L+12>>2]|0,(m|0)==(p|0)){g[5829]=g[5829]&~(1<>2]=m,g[m+8>>2]=p,z=L,m=k;break}C=g[L+24>>2]|0,p=g[L+12>>2]|0;do if((p|0)==(L|0)){if(m=L+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){p=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0}else z=g[L+8>>2]|0,g[z+12>>2]=p,g[p+8>>2]=z;while(!1);if(C){if(m=g[L+28>>2]|0,y=23620+(m<<2)|0,(g[y>>2]|0)==(L|0)){if(g[y>>2]=p,!p){g[5830]=g[5830]&~(1<>2]|0)==(L|0)?z:C+20|0)>>2]=p,!p){z=L,m=k;break}g[p+24>>2]=C,m=L+16|0,y=g[m>>2]|0,y|0&&(g[p+16>>2]=y,g[y+24>>2]=p),m=g[m+4>>2]|0,m?(g[p+20>>2]=m,g[m+24>>2]=p,z=L,m=k):(z=L,m=k)}else z=L,m=k}while(!1);if(!(L>>>0>=H>>>0)&&(p=H+4|0,S=g[p>>2]|0,!!(S&1))){if(S&2)g[p>>2]=S&-2,g[z+4>>2]=m|1,g[L+m>>2]=m,C=m;else{if((g[5835]|0)==(H|0)){if(H=(g[5832]|0)+m|0,g[5832]=H,g[5835]=z,g[z+4>>2]=H|1,(z|0)!=(g[5834]|0))return;g[5834]=0,g[5831]=0;return}if((g[5834]|0)==(H|0)){H=(g[5831]|0)+m|0,g[5831]=H,g[5834]=L,g[z+4>>2]=H|1,g[L+H>>2]=H;return}C=(S&-8)+m|0,y=S>>>3;do if(S>>>0<256)if(m=g[H+8>>2]|0,p=g[H+12>>2]|0,(p|0)==(m|0)){g[5829]=g[5829]&~(1<>2]=p,g[p+8>>2]=m;break}else{k=g[H+24>>2]|0,p=g[H+12>>2]|0;do if((p|0)==(H|0)){if(m=H+16|0,y=m+4|0,p=g[y>>2]|0,p)m=y;else if(p=g[m>>2]|0,!p){y=0;break}for(;;)if(S=p+20|0,y=g[S>>2]|0,y)p=y,m=S;else if(S=p+16|0,y=g[S>>2]|0,y)p=y,m=S;else break;g[m>>2]=0,y=p}else y=g[H+8>>2]|0,g[y+12>>2]=p,g[p+8>>2]=y,y=p;while(!1);if(k|0){if(p=g[H+28>>2]|0,m=23620+(p<<2)|0,(g[m>>2]|0)==(H|0)){if(g[m>>2]=y,!y){g[5830]=g[5830]&~(1<>2]|0)==(H|0)?S:k+20|0)>>2]=y,!y)break;g[y+24>>2]=k,p=H+16|0,m=g[p>>2]|0,m|0&&(g[y+16>>2]=m,g[m+24>>2]=y),p=g[p+4>>2]|0,p|0&&(g[y+20>>2]=p,g[p+24>>2]=y)}}while(!1);if(g[z+4>>2]=C|1,g[L+C>>2]=C,(z|0)==(g[5834]|0)){g[5831]=C;return}}if(p=C>>>3,C>>>0<256){y=23356+(p<<1<<2)|0,m=g[5829]|0,p=1<>2]|0):(g[5829]=m|p,p=y,m=y+8|0),g[m>>2]=z,g[p+12>>2]=z,g[z+8>>2]=p,g[z+12>>2]=y;return}p=C>>>8,p?C>>>0>16777215?S=31:(L=(p+1048320|0)>>>16&8,H=p<>>16&4,H=H<>>16&2,S=14-(k|L|S)+(H<>>15)|0,S=C>>>(S+7|0)&1|S<<1):S=0,p=23620+(S<<2)|0,g[z+28>>2]=S,g[z+20>>2]=0,g[z+16>>2]=0,m=g[5830]|0,y=1<>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;else{p=g[p>>2]|0;e:do if((g[p+4>>2]&-8|0)!=(C|0)){for(S=C<<((S|0)==31?0:25-(S>>>1)|0);y=p+16+(S>>>31<<2)|0,m=g[y>>2]|0,!!m;)if((g[m+4>>2]&-8|0)==(C|0)){p=m;break e}else S=S<<1,p=m;g[y>>2]=z,g[z+24>>2]=p,g[z+12>>2]=z,g[z+8>>2]=z;break t}while(!1);L=p+8|0,H=g[L>>2]|0,g[H+12>>2]=z,g[L>>2]=z,g[z+8>>2]=H,g[z+12>>2]=p,g[z+24>>2]=0}while(!1);if(H=(g[5837]|0)+-1|0,g[5837]=H,!(H|0)){for(p=23772;p=g[p>>2]|0,p;)p=p+8|0;g[5837]=-1}}}}function Ua(p,m){p=p|0,m=m|0;var y=0;return p?(y=Oc(m,p)|0,(m|p)>>>0>65535&&(y=((y>>>0)/(p>>>0)|0|0)==(m|0)?y:-1)):y=0,p=ho(y)|0,!p||!(g[p+-4>>2]&3)||Fc(p|0,0,y|0)|0,p|0}function S_(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,y=p+y>>>0,Je(m+S+(y>>>0

>>0|0)>>>0|0),y|0|0}function zd(p,m,y,S){return p=p|0,m=m|0,y=y|0,S=S|0,S=m-S-(y>>>0>p>>>0|0)>>>0,Je(S|0),p-y>>>0|0|0}function cA(p){return p=p|0,(p?31-(aa(p^p-1)|0)|0:32)|0}function Yl(p,m,y,S,C){p=p|0,m=m|0,y=y|0,S=S|0,C=C|0;var k=0,L=0,z=0,H=0,it=0,ot=0,Ct=0,Nt=0,Wt=0,re=0;if(ot=p,H=m,it=H,L=y,Nt=S,z=Nt,!it)return k=(C|0)!=0,z?k?(g[C>>2]=p|0,g[C+4>>2]=m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0):(k&&(g[C>>2]=(ot>>>0)%(L>>>0),g[C+4>>2]=0),Nt=0,C=(ot>>>0)/(L>>>0)>>>0,Je(Nt|0),C|0);k=(z|0)==0;do if(L){if(!k){if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=31){Ct=k+1|0,z=31-k|0,m=k-31>>31,L=Ct,p=ot>>>(Ct>>>0)&m|it<>>(Ct>>>0)&m,k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Nt=0,C=0,Je(Nt|0),C|0):(Nt=0,C=0,Je(Nt|0),C|0)}if(k=L-1|0,k&L|0){z=(aa(L|0)|0)+33-(aa(it|0)|0)|0,re=64-z|0,Ct=32-z|0,H=Ct>>31,Wt=z-32|0,m=Wt>>31,L=z,p=Ct-1>>31&it>>>(Wt>>>0)|(it<>>(z>>>0))&m,m=m&it>>>(z>>>0),k=ot<>>(Wt>>>0))&H|ot<>31;break}return C|0&&(g[C>>2]=k&ot,g[C+4>>2]=0),(L|0)==1?(Wt=H|m&0,re=p|0|0,Je(Wt|0),re|0):(re=cA(L|0)|0,Wt=it>>>(re>>>0)|0,re=it<<32-re|ot>>>(re>>>0)|0,Je(Wt|0),re|0)}else{if(k)return C|0&&(g[C>>2]=(it>>>0)%(L>>>0),g[C+4>>2]=0),Wt=0,re=(it>>>0)/(L>>>0)>>>0,Je(Wt|0),re|0;if(!ot)return C|0&&(g[C>>2]=0,g[C+4>>2]=(it>>>0)%(z>>>0)),Wt=0,re=(it>>>0)/(z>>>0)>>>0,Je(Wt|0),re|0;if(k=z-1|0,!(k&z))return C|0&&(g[C>>2]=p|0,g[C+4>>2]=k&it|m&0),Wt=0,re=it>>>((cA(z|0)|0)>>>0),Je(Wt|0),re|0;if(k=(aa(z|0)|0)-(aa(it|0)|0)|0,k>>>0<=30){m=k+1|0,z=31-k|0,L=m,p=it<>>(m>>>0),m=it>>>(m>>>0),k=0,z=ot<>2]=p|0,g[C+4>>2]=H|m&0,Wt=0,re=0,Je(Wt|0),re|0):(Wt=0,re=0,Je(Wt|0),re|0)}while(!1);if(!L)it=z,H=0,z=0;else{Ct=y|0|0,ot=Nt|S&0,it=S_(Ct|0,ot|0,-1,-1)|0,y=It()|0,H=z,z=0;do S=H,H=k>>>31|H<<1,k=z|k<<1,S=p<<1|S>>>31|0,Nt=p>>>31|m<<1|0,zd(it|0,y|0,S|0,Nt|0)|0,re=It()|0,Wt=re>>31|((re|0)<0?-1:0)<<1,z=Wt&1,p=zd(S|0,Nt|0,Wt&Ct|0,(((re|0)<0?-1:0)>>31|((re|0)<0?-1:0)<<1)&ot|0)|0,m=It()|0,L=L-1|0;while(L|0);it=H,H=0}return L=0,C|0&&(g[C>>2]=p,g[C+4>>2]=m),Wt=(k|0)>>>31|(it|L)<<1|(L<<1|k>>>31)&0|H,re=(k<<1|0)&-2|z,Je(Wt|0),re|0}function Yo(p,m,y,S){p=p|0,m=m|0,y=y|0,S=S|0;var C=0,k=0;return k=wt,wt=wt+16|0,C=k|0,Yl(p,m,y,S,C)|0,wt=k,Je(g[C+4>>2]|0),g[C>>2]|0|0}function me(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m>>>y|0),p>>>y|(m&(1<>>y-32|0)}function ke(p,m,y){return p=p|0,m=m|0,y=y|0,(y|0)<32?(Je(m<>>32-y|0),p<=0?+cs(p+.5):+Ji(p-.5)}function Va(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0;if((y|0)>=8192)return Yp(p|0,m|0,y|0)|0,p|0;if(k=p|0,C=p+y|0,(p&3)==(m&3)){for(;p&3;){if(!y)return k|0;br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0,y=y-1|0}for(y=C&-4|0,S=y-64|0;(p|0)<=(S|0);)g[p>>2]=g[m>>2],g[p+4>>2]=g[m+4>>2],g[p+8>>2]=g[m+8>>2],g[p+12>>2]=g[m+12>>2],g[p+16>>2]=g[m+16>>2],g[p+20>>2]=g[m+20>>2],g[p+24>>2]=g[m+24>>2],g[p+28>>2]=g[m+28>>2],g[p+32>>2]=g[m+32>>2],g[p+36>>2]=g[m+36>>2],g[p+40>>2]=g[m+40>>2],g[p+44>>2]=g[m+44>>2],g[p+48>>2]=g[m+48>>2],g[p+52>>2]=g[m+52>>2],g[p+56>>2]=g[m+56>>2],g[p+60>>2]=g[m+60>>2],p=p+64|0,m=m+64|0;for(;(p|0)<(y|0);)g[p>>2]=g[m>>2],p=p+4|0,m=m+4|0}else for(y=C-4|0;(p|0)<(y|0);)br[p>>0]=br[m>>0]|0,br[p+1>>0]=br[m+1>>0]|0,br[p+2>>0]=br[m+2>>0]|0,br[p+3>>0]=br[m+3>>0]|0,p=p+4|0,m=m+4|0;for(;(p|0)<(C|0);)br[p>>0]=br[m>>0]|0,p=p+1|0,m=m+1|0;return k|0}function Fc(p,m,y){p=p|0,m=m|0,y=y|0;var S=0,C=0,k=0,L=0;if(k=p+y|0,m=m&255,(y|0)>=67){for(;p&3;)br[p>>0]=m,p=p+1|0;for(S=k&-4|0,L=m|m<<8|m<<16|m<<24,C=S-64|0;(p|0)<=(C|0);)g[p>>2]=L,g[p+4>>2]=L,g[p+8>>2]=L,g[p+12>>2]=L,g[p+16>>2]=L,g[p+20>>2]=L,g[p+24>>2]=L,g[p+28>>2]=L,g[p+32>>2]=L,g[p+36>>2]=L,g[p+40>>2]=L,g[p+44>>2]=L,g[p+48>>2]=L,g[p+52>>2]=L,g[p+56>>2]=L,g[p+60>>2]=L,p=p+64|0;for(;(p|0)<(S|0);)g[p>>2]=L,p=p+4|0}for(;(p|0)<(k|0);)br[p>>0]=m,p=p+1|0;return k-y|0}function Ux(p){return p=+p,p>=0?+cs(p+.5):+Ji(p-.5)}function en(p){p=p|0;var m=0,y=0,S=0;return S=Jm()|0,y=g[Ms>>2]|0,m=y+p|0,(p|0)>0&(m|0)<(y|0)|(m|0)<0?(t0(m|0)|0,Km(12),-1):(m|0)>(S|0)&&!(Qp(m|0)|0)?(Km(12),-1):(g[Ms>>2]=m,y|0)}return{___uremdi3:Yo,_bitshift64Lshr:me,_bitshift64Shl:ke,_calloc:Ua,_cellAreaKm2:b_,_cellAreaM2:Nx,_cellAreaRads2:x_,_compact:mh,_destroyLinkedPolygon:Ft,_edgeLengthKm:un,_edgeLengthM:sA,_emscripten_replace_memory:e0,_exactEdgeLengthKm:oA,_exactEdgeLengthM:nr,_exactEdgeLengthRads:Mo,_experimentalH3ToLocalIj:$t,_experimentalLocalIjToH3:oe,_free:Gr,_geoToH3:lA,_getDestinationH3IndexFromUnidirectionalEdge:Z,_getH3IndexesFromUnidirectionalEdge:st,_getH3UnidirectionalEdge:U,_getH3UnidirectionalEdgeBoundary:pt,_getH3UnidirectionalEdgesFromHexagon:At,_getOriginH3IndexFromUnidirectionalEdge:W,_getPentagonIndexes:O,_getRes0Indexes:m_,_h3Distance:pe,_h3GetBaseCell:wf,_h3GetFaces:b,_h3GetResolution:dr,_h3IndexesAreNeighbors:B,_h3IsPentagon:ji,_h3IsResClassIII:Sf,_h3IsValid:aA,_h3Line:be,_h3LineSize:he,_h3SetToLinkedGeo:ah,_h3ToCenterChild:w_,_h3ToChildren:uo,_h3ToGeo:l,_h3ToGeoBoundary:d,_h3ToParent:Bd,_h3UnidirectionalEdgeIsValid:$,_hexAreaKm2:v_,_hexAreaM2:ua,_hexRing:p_,_i64Subtract:zd,_kRing:f_,_kRingDistances:d_,_llvm_minnum_f64:ml,_llvm_round_f64:Mf,_malloc:ho,_maxFaceCount:v,_maxH3ToChildrenSize:Hn,_maxKringSize:r0,_maxPolyfillSize:Cd,_maxUncompactSize:wn,_memcpy:Va,_memset:Fc,_numHexagons:d0,_pentagonIndexCount:M,_pointDistKm:Bc,_pointDistM:h0,_pointDistRads:_u,_polyfill:$p,_res0IndexCount:A_,_round:Ux,_sbrk:en,_sizeOfCoordIJ:Gs,_sizeOfGeoBoundary:Vr,_sizeOfGeoCoord:Jr,_sizeOfGeoPolygon:On,_sizeOfGeofence:ei,_sizeOfH3Index:Gi,_sizeOfLinkedGeoPolygon:tn,_uncompact:kn,establishStackSpace:Fx,stackAlloc:Ed,stackRestore:Id,stackSave:Pd}}(vt,xt,rr),Dt=t.___uremdi3=_t.___uremdi3,Mt=t._bitshift64Lshr=_t._bitshift64Lshr,Vt=t._bitshift64Shl=_t._bitshift64Shl,ie=t._calloc=_t._calloc,se=t._cellAreaKm2=_t._cellAreaKm2,ae=t._cellAreaM2=_t._cellAreaM2,lr=t._cellAreaRads2=_t._cellAreaRads2,vr=t._compact=_t._compact,Xe=t._destroyLinkedPolygon=_t._destroyLinkedPolygon,cr=t._edgeLengthKm=_t._edgeLengthKm,wr=t._edgeLengthM=_t._edgeLengthM,xi=t._emscripten_replace_memory=_t._emscripten_replace_memory,zi=t._exactEdgeLengthKm=_t._exactEdgeLengthKm,ni=t._exactEdgeLengthM=_t._exactEdgeLengthM,Hr=t._exactEdgeLengthRads=_t._exactEdgeLengthRads,jn=t._experimentalH3ToLocalIj=_t._experimentalH3ToLocalIj,Bi=t._experimentalLocalIjToH3=_t._experimentalLocalIjToH3,xn=t._free=_t._free,es=t._geoToH3=_t._geoToH3,oa=t._getDestinationH3IndexFromUnidirectionalEdge=_t._getDestinationH3IndexFromUnidirectionalEdge,Um=t._getH3IndexesFromUnidirectionalEdge=_t._getH3IndexesFromUnidirectionalEdge,Vl=t._getH3UnidirectionalEdge=_t._getH3UnidirectionalEdge,Ss=t._getH3UnidirectionalEdgeBoundary=_t._getH3UnidirectionalEdgeBoundary,nh=t._getH3UnidirectionalEdgesFromHexagon=_t._getH3UnidirectionalEdgesFromHexagon,ai=t._getOriginH3IndexFromUnidirectionalEdge=_t._getOriginH3IndexFromUnidirectionalEdge,ka=t._getPentagonIndexes=_t._getPentagonIndexes,Dc=t._getRes0Indexes=_t._getRes0Indexes,ln=t._h3Distance=_t._h3Distance,Dn=t._h3GetBaseCell=_t._h3GetBaseCell,Vm=t._h3GetFaces=_t._h3GetFaces,Go=t._h3GetResolution=_t._h3GetResolution,Gn=t._h3IndexesAreNeighbors=_t._h3IndexesAreNeighbors,So=t._h3IsPentagon=_t._h3IsPentagon,jl=t._h3IsResClassIII=_t._h3IsResClassIII,Ki=t._h3IsValid=_t._h3IsValid,_i=t._h3Line=_t._h3Line,Gl=t._h3LineSize=_t._h3LineSize,cn=t._h3SetToLinkedGeo=_t._h3SetToLinkedGeo,pu=t._h3ToCenterChild=_t._h3ToCenterChild,rs=t._h3ToChildren=_t._h3ToChildren,Gp=t._h3ToGeo=_t._h3ToGeo,Wl=t._h3ToGeoBoundary=_t._h3ToGeoBoundary,_d=t._h3ToParent=_t._h3ToParent,yd=t._h3UnidirectionalEdgeIsValid=_t._h3UnidirectionalEdgeIsValid,vd=t._hexAreaKm2=_t._hexAreaKm2,xd=t._hexAreaM2=_t._hexAreaM2,lt=t._hexRing=_t._hexRing,ft=t._i64Subtract=_t._i64Subtract,Lt=t._kRing=_t._kRing,Kt=t._kRingDistances=_t._kRingDistances,ge=t._llvm_minnum_f64=_t._llvm_minnum_f64,Qe=t._llvm_round_f64=_t._llvm_round_f64,ti=t._malloc=_t._malloc,is=t._maxFaceCount=_t._maxFaceCount,Ts=t._maxH3ToChildrenSize=_t._maxH3ToChildrenSize,Vs=t._maxKringSize=_t._maxKringSize,Ra=t._maxPolyfillSize=_t._maxPolyfillSize,jm=t._maxUncompactSize=_t._maxUncompactSize,Ox=t._memcpy=_t._memcpy,Bx=t._memset=_t._memset,l_=t._numHexagons=_t._numHexagons,c_=t._pentagonIndexCount=_t._pentagonIndexCount,gf=t._pointDistKm=_t._pointDistKm,Gm=t._pointDistM=_t._pointDistM,fl=t._pointDistRads=_t._pointDistRads,Wm=t._polyfill=_t._polyfill,Hm=t._res0IndexCount=_t._res0IndexCount,Wp=t._round=_t._round,qm=t._sbrk=_t._sbrk,bd=t._sizeOfCoordIJ=_t._sizeOfCoordIJ,sh=t._sizeOfGeoBoundary=_t._sizeOfGeoBoundary,ui=t._sizeOfGeoCoord=_t._sizeOfGeoCoord,Zm=t._sizeOfGeoPolygon=_t._sizeOfGeoPolygon,Da=t._sizeOfGeofence=_t._sizeOfGeofence,Oa=t._sizeOfH3Index=_t._sizeOfH3Index,u_=t._sizeOfLinkedGeoPolygon=_t._sizeOfLinkedGeoPolygon,Ym=t._uncompact=_t._uncompact,Qm=t.establishStackSpace=_t.establishStackSpace,Hp=t.stackAlloc=_t.stackAlloc,$m=t.stackRestore=_t.stackRestore,qp=t.stackSave=_t.stackSave;if(t.asm=_t,t.cwrap=ut,t.setValue=j,t.getValue=Q,t.getTempRet0=R,bo){Ia(bo)||(bo=o(bo));{du(\"memory initializer\");var wd=function(Zt){Zt.byteLength&&(Zt=new Uint8Array(Zt)),Li.set(Zt,N),t.memoryInitializerRequest&&delete t.memoryInitializerRequest.response,ul(\"memory initializer\")},Zp=function(){c(bo,wd,function(){throw\"could not load memory initializer \"+bo})},Sd=ht(bo);if(Sd)wd(Sd.buffer);else if(t.memoryInitializerRequest){var Xm=function(){var Zt=t.memoryInitializerRequest,fe=Zt.response;if(Zt.status!==200&&Zt.status!==0){var Be=ht(t.memoryInitializerRequestURL);if(Be)fe=Be.buffer;else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+Zt.status+\", retrying \"+bo),Zp();return}}wd(fe)};t.memoryInitializerRequest.response?setTimeout(Xm,0):t.memoryInitializerRequest.addEventListener(\"load\",Xm)}else Zp()}}var Td;lo=function Zt(){Td||Au(),Td||(lo=Zt)};function Au(Zt){if(Zt=Zt||s,gi>0||(cl(),gi>0))return;function fe(){Td||(Td=!0,!et&&(xo(),Pa(),t.onRuntimeInitialized&&t.onRuntimeInitialized(),na()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){t.setStatus(\"\")},1),fe()},1)):fe()}t.run=Au;function oh(Zt){throw t.onAbort&&t.onAbort(Zt),Zt+=\"\",f(Zt),_(Zt),et=!0,\"abort(\"+Zt+\"). Build with -s ASSERTIONS=1 for more info.\"}if(t.abort=oh,t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return Au(),e}(typeof Ic==\"object\"?Ic:{}),Tr=\"number\",PS=Tr,$r=Tr,mi=Tr,Pc=Tr,Hi=Tr,pyt=[[\"sizeOfH3Index\",Tr],[\"sizeOfGeoCoord\",Tr],[\"sizeOfGeoBoundary\",Tr],[\"sizeOfGeoPolygon\",Tr],[\"sizeOfGeofence\",Tr],[\"sizeOfLinkedGeoPolygon\",Tr],[\"sizeOfCoordIJ\",Tr],[\"h3IsValid\",PS,[$r,mi]],[\"geoToH3\",$r,[Tr,Tr,Pc]],[\"h3ToGeo\",null,[$r,mi,Hi]],[\"h3ToGeoBoundary\",null,[$r,mi,Hi]],[\"maxKringSize\",Tr,[Tr]],[\"kRing\",null,[$r,mi,Tr,Hi]],[\"kRingDistances\",null,[$r,mi,Tr,Hi,Hi]],[\"hexRing\",null,[$r,mi,Tr,Hi]],[\"maxPolyfillSize\",Tr,[Hi,Pc]],[\"polyfill\",null,[Hi,Pc,Hi]],[\"h3SetToLinkedGeo\",null,[Hi,Tr,Hi]],[\"destroyLinkedPolygon\",null,[Hi]],[\"compact\",Tr,[Hi,Hi,Tr]],[\"uncompact\",Tr,[Hi,Tr,Hi,Tr,Pc]],[\"maxUncompactSize\",Tr,[Hi,Tr,Pc]],[\"h3IsPentagon\",PS,[$r,mi]],[\"h3IsResClassIII\",PS,[$r,mi]],[\"h3GetBaseCell\",Tr,[$r,mi]],[\"h3GetResolution\",Tr,[$r,mi]],[\"maxFaceCount\",Tr,[$r,mi]],[\"h3GetFaces\",null,[$r,mi,Hi]],[\"h3ToParent\",$r,[$r,mi,Pc]],[\"h3ToChildren\",null,[$r,mi,Pc,Hi]],[\"h3ToCenterChild\",$r,[$r,mi,Pc]],[\"maxH3ToChildrenSize\",Tr,[$r,mi,Pc]],[\"h3IndexesAreNeighbors\",PS,[$r,mi,$r,mi]],[\"getH3UnidirectionalEdge\",$r,[$r,mi,$r,mi]],[\"getOriginH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"getDestinationH3IndexFromUnidirectionalEdge\",$r,[$r,mi]],[\"h3UnidirectionalEdgeIsValid\",PS,[$r,mi]],[\"getH3IndexesFromUnidirectionalEdge\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgesFromHexagon\",null,[$r,mi,Hi]],[\"getH3UnidirectionalEdgeBoundary\",null,[$r,mi,Hi]],[\"h3Distance\",Tr,[$r,mi,$r,mi]],[\"h3Line\",Tr,[$r,mi,$r,mi,Hi]],[\"h3LineSize\",Tr,[$r,mi,$r,mi]],[\"experimentalH3ToLocalIj\",Tr,[$r,mi,$r,mi,Hi]],[\"experimentalLocalIjToH3\",Tr,[$r,mi,Hi,Hi]],[\"hexAreaM2\",Tr,[Pc]],[\"hexAreaKm2\",Tr,[Pc]],[\"edgeLengthM\",Tr,[Pc]],[\"edgeLengthKm\",Tr,[Pc]],[\"pointDistM\",Tr,[Hi,Hi]],[\"pointDistKm\",Tr,[Hi,Hi]],[\"pointDistRads\",Tr,[Hi,Hi]],[\"cellAreaM2\",Tr,[$r,mi]],[\"cellAreaKm2\",Tr,[$r,mi]],[\"cellAreaRads2\",Tr,[$r,mi]],[\"exactEdgeLengthM\",Tr,[$r,mi]],[\"exactEdgeLengthKm\",Tr,[$r,mi]],[\"exactEdgeLengthRads\",Tr,[$r,mi]],[\"numHexagons\",Tr,[Pc]],[\"getRes0Indexes\",null,[Hi]],[\"res0IndexCount\",Tr],[\"getPentagonIndexes\",null,[Tr,Hi]],[\"pentagonIndexCount\",Tr]],Ma={};pyt.forEach(function(t){Ma[t[0]]=Ic.cwrap.apply(Ic,t)});var xx=16;var IS=8,sae=Ma.sizeOfH3Index(),YQ=Ma.sizeOfGeoCoord(),Ayt=Ma.sizeOfGeoBoundary(),oae=Ma.sizeOfGeoPolygon(),aae=Ma.sizeOfGeofence(),lae=Ma.sizeOfLinkedGeoPolygon(),cae=Ma.sizeOfCoordIJ(),qQ={m:\"m\",m2:\"m2\",km:\"km\",km2:\"km2\",rads:\"rads\",rads2:\"rads2\"};function myt(e){if(typeof e!=\"number\"||e<0||e>15||Math.floor(e)!==e)throw new Error(\"Invalid resolution: \"+e)}var gyt=/[^0-9a-fA-F]/;function bx(e){if(Array.isArray(e)&&e.length===2&&Number.isInteger(e[0])&&Number.isInteger(e[1]))return e;if(typeof e!=\"string\"||gyt.test(e))return[0,0];var t=parseInt(e.substring(0,e.length-8),xx),r=parseInt(e.substring(e.length-8),xx);return[r,t]}function ZQ(e){if(e>=0)return e.toString(xx);e=e&2147483647;var t=QQ(8,e.toString(xx)),r=(parseInt(t[0],xx)+8).toString(xx);return t=r+t.substring(1),t}function _yt(e,t){return ZQ(t)+QQ(8,ZQ(e))}function QQ(e,t){for(var r=e-t.length,i=\"\",s=0;s180?r[0]-=360:i<-180&&(r[0]+=360)}}function Myt(e,t,r){let[i,s]=FI(e),n=t.length;n$(t,s);let o=t[0]===t[n-1]?n-1:n;for(let c=0;ce.hexagon},extruded:!0},Np=class e extends Ni{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){e._checkH3Lib(),this.state={edgeLengthKM:0,resolution:-1}}shouldUpdateState({changeFlags:t}){return this._shouldUseHighPrecision()?t.propsOrDataChanged:t.somethingChanged}updateState({props:t,changeFlags:r}){if(t.highPrecision!==!0&&(r.dataChanged||r.updateTriggersChanged&&r.updateTriggersChanged.getHexagon)){let i=this._calculateH3DataProps();this.setState(i)}this._updateVertices(this.context.viewport)}_calculateH3DataProps(){let t=-1,r=!1,i=!1,{iterable:s,objectInfo:n}=Jc(this.props.data);for(let o of s){n.index++;let c=this.props.getHexagon(o,n),f=KQ(c);if(t<0){if(t=f,!this.props.highPrecision)break}else if(t!==f){i=!0;break}if(XQ(c)){r=!0;break}}return{resolution:t,edgeLengthKM:t>=0?r$(t,\"km\"):0,hasMultipleRes:i,hasPentagon:r}}_shouldUseHighPrecision(){if(this.props.highPrecision===\"auto\"){let{resolution:t,hasPentagon:r,hasMultipleRes:i}=this.state,{viewport:s}=this.context;return!!s?.resolution||i||r||t>=0&&t<=5}return this.props.highPrecision}_updateVertices(t){if(this._shouldUseHighPrecision())return;let{resolution:r,edgeLengthKM:i,centerHex:s}=this.state;if(r<0)return;let n=this.props.centerHexagon||JQ(t.latitude,t.longitude,r);if(s===n)return;if(s){let R=e$(s,n);if(R>=0&&R*i{let N=t.projectFlat(R);return[(N[0]-w)/o[0],(N[1]-I)/o[1]]}),this.setState({centerHex:n,vertices:c})}renderLayers(){return this._shouldUseHighPrecision()?this._renderPolygonLayer():this._renderColumnLayer()}_getForwardProps(){let{elevationScale:t,material:r,coverage:i,extruded:s,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,getFillColor:R,getElevation:N,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:Y}=this.props;return{elevationScale:t,extruded:s,coverage:i,wireframe:n,stroked:o,filled:c,lineWidthUnits:f,lineWidthScale:_,lineWidthMinPixels:w,lineWidthMaxPixels:I,material:r,getElevation:N,getFillColor:R,getLineColor:j,getLineWidth:Q,transitions:et,updateTriggers:{getFillColor:Y.getFillColor,getElevation:Y.getElevation,getLineColor:Y.getLineColor,getLineWidth:Y.getLineWidth}}}_renderPolygonLayer(){let{data:t,getHexagon:r,updateTriggers:i,coverage:s}=this.props,n=this.getSubLayerClass(\"hexagon-cell-hifi\",lf),o=this._getForwardProps();return o.updateTriggers.getPolygon=Iyt(i.getHexagon,s),new n(o,this.getSubLayerProps({id:\"hexagon-cell-hifi\",updateTriggers:o.updateTriggers}),{data:t,_normalize:!1,_windingOrder:\"CCW\",positionFormat:\"XY\",getPolygon:(c,f)=>{let _=r(c,f);return Pyt(i$(_,s))}})}_renderColumnLayer(){let{data:t,getHexagon:r,updateTriggers:i}=this.props,s=this.getSubLayerClass(\"hexagon-cell\",af),n=this._getForwardProps();return n.updateTriggers.getPosition=i.getHexagon,new s(n,this.getSubLayerProps({id:\"hexagon-cell\",flatShading:!0,updateTriggers:n.updateTriggers}),{data:t,diskResolution:6,radius:1,vertices:this.state.vertices,getPosition:Eyt.bind(null,r)})}};G(Np,\"defaultProps\",Cyt);G(Np,\"layerName\",\"H3HexagonLayer\");G(Np,\"_checkH3Lib\",()=>{});var{data:Sae,getHexagon:Tae,...Lyt}=Np.defaultProps,kyt={_validate:!0},Mae={...Lyt,...kyt};var s$=[[255,255,178],[254,217,118],[254,178,76],[253,141,60],[240,59,32],[189,0,38]];function o$(e,t=!1,r=Float32Array){let i;if(Number.isFinite(e[0]))i=new r(e);else{i=new r(e.length*4);let s=0;for(let n=0;nc[0]),r=e.map(c=>c[1]),i=Math.min.apply(null,t),s=Math.max.apply(null,t),n=Math.min.apply(null,r),o=Math.max.apply(null,r);return[i,n,s,o]}function u$(e,t){return t[0]>=e[0]&&t[2]<=e[2]&&t[1]>=e[1]&&t[3]<=e[3]}var l$=new Float32Array(12);function tF(e,t=2){let r=0;for(let i of e)for(let s=0;s 0.) {\n maxValue = colorDomain[1];\n minValue = colorDomain[0];\n }\n vIntensityMax = intensity / maxValue;\n vIntensityMin = intensity / minValue;\n}\n`;var A$=`#define SHADER_NAME triangle-layer-fragment-shader\n\nprecision highp float;\n\nuniform float opacity;\nuniform sampler2D texture;\nuniform sampler2D colorTexture;\nuniform float aggregationMode;\n\nvarying vec2 vTexCoords;\nvarying float vIntensityMin;\nvarying float vIntensityMax;\n\nvec4 getLinearColor(float value) {\n float factor = clamp(value * vIntensityMax, 0., 1.);\n vec4 color = texture2D(colorTexture, vec2(factor, 0.5));\n color.a *= min(value * vIntensityMin, 1.0);\n return color;\n}\n\nvoid main(void) {\n vec4 weights = texture2D(texture, vTexCoords);\n float weight = weights.r;\n\n if (aggregationMode > 0.5) {\n weight /= max(1.0, weights.a);\n }\n if (weight <= 0.) {\n discard;\n }\n\n vec4 linearColor = getLinearColor(weight);\n linearColor.a *= opacity;\n gl_FragColor =linearColor;\n}\n`;var Sx=class extends dn{getShaders(){return{vs:p$,fs:A$,modules:[Rs]}}initializeState({gl:t}){this.getAttributeManager().add({positions:{size:3,noAlloc:!0},texCoords:{size:2,noAlloc:!0}}),this.setState({model:this._getModel(t)})}_getModel(t){let{vertexCount:r}=this.props;return new fn(t,{...this.getShaders(),id:this.props.id,geometry:new $n({drawMode:6,vertexCount:r})})}draw({uniforms:t}){let{model:r}=this.state,{texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}=this.props;r.setUniforms({...t,texture:i,maxTexture:s,colorTexture:n,intensity:o,threshold:c,aggregationMode:f,colorDomain:_}).draw()}};G(Sx,\"layerName\",\"TriangleLayer\");var m$=`attribute vec3 positions;\nattribute vec3 positions64Low;\nattribute float weights;\nvarying vec4 weightsTexture;\nuniform float radiusPixels;\nuniform float textureWidth;\nuniform vec4 commonBounds;\nuniform float weightsScale;\nvoid main()\n{\n weightsTexture = vec4(weights * weightsScale, 0., 0., 1.);\n\n float radiusTexels = project_pixel_size(radiusPixels) * textureWidth / (commonBounds.z - commonBounds.x);\n gl_PointSize = radiusTexels * 2.;\n\n vec3 commonPosition = project_position(positions, positions64Low);\n gl_Position.xy = (commonPosition.xy - commonBounds.xy) / (commonBounds.zw - commonBounds.xy) ;\n gl_Position.xy = (gl_Position.xy * 2.) - (1.);\n}\n`;var g$=`varying vec4 weightsTexture;\nfloat gaussianKDE(float u){\n return pow(2.71828, -u*u/0.05555)/(1.77245385*0.166666);\n}\nvoid main()\n{\n float dist = length(gl_PointCoord - vec2(0.5, 0.5));\n if (dist > 0.5) {\n discard;\n }\n gl_FragColor = weightsTexture * gaussianKDE(2. * dist);\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n}\n`;var _$=`attribute vec4 inTexture;\nvarying vec4 outTexture;\n\nvoid main()\n{\noutTexture = inTexture;\ngl_Position = vec4(0, 0, 0, 1.);\ngl_PointSize = 1.0;\n}\n`;var y$=`varying vec4 outTexture;\nvoid main() {\n gl_FragColor = outTexture;\n gl_FragColor.g = outTexture.r / max(1.0, outTexture.a);\n}\n`;var Dyt=2,eF={mipmaps:!1,parameters:{10240:9729,10241:9729,10242:33071,10243:33071},dataFormat:6408},v$=[0,0],Oyt={SUM:0,MEAN:1},Byt={getPosition:{type:\"accessor\",value:e=>e.position},getWeight:{type:\"accessor\",value:1},intensity:{type:\"number\",min:0,value:1},radiusPixels:{type:\"number\",min:1,max:100,value:50},colorRange:s$,threshold:{type:\"number\",min:0,max:1,value:.05},colorDomain:{type:\"array\",value:null,optional:!0},aggregation:\"SUM\",weightsTextureSize:{type:\"number\",min:128,max:2048,value:2048},debounceTimeout:{type:\"number\",min:0,max:1e3,value:500}},Fyt=[Ii.BLEND_EQUATION_MINMAX,Ii.TEXTURE_FLOAT],zyt=[Ii.COLOR_ATTACHMENT_RGBA32F,Ii.FLOAT_BLEND],Nyt={data:{props:[\"radiusPixels\"]}},Up=class extends wx{constructor(...t){super(...t),G(this,\"state\",void 0)}initializeState(){let{gl:t}=this.context;if(!Oh(t,Fyt)){this.setState({supported:!1}),or.error(\"HeatmapLayer: \".concat(this.id,\" is not supported on this browser\"))();return}super.initializeAggregationLayer(Nyt),this.setState({supported:!0,colorDomain:v$}),this._setupTextureParams(),this._setupAttributes(),this._setupResources()}shouldUpdateState({changeFlags:t}){return t.somethingChanged}updateState(t){this.state.supported&&(super.updateState(t),this._updateHeatmapState(t))}_updateHeatmapState(t){let{props:r,oldProps:i}=t,s=this._getChangeFlags(t);(s.dataChanged||s.viewportChanged)&&(s.boundsChanged=this._updateBounds(s.dataChanged),this._updateTextureRenderingBounds()),s.dataChanged||s.boundsChanged?(clearTimeout(this.state.updateTimer),this.setState({isWeightMapDirty:!0})):s.viewportZoomChanged&&this._debouncedUpdateWeightmap(),r.colorRange!==i.colorRange&&this._updateColorTexture(t),this.state.isWeightMapDirty&&this._updateWeightmap(),this.setState({zoom:t.context.viewport.zoom})}renderLayers(){if(!this.state.supported)return[];let{weightsTexture:t,triPositionBuffer:r,triTexCoordBuffer:i,maxWeightsTexture:s,colorTexture:n,colorDomain:o}=this.state,{updateTriggers:c,intensity:f,threshold:_,aggregation:w}=this.props,I=this.getSubLayerClass(\"triangle\",Sx);return new I(this.getSubLayerProps({id:\"triangle-layer\",updateTriggers:c}),{coordinateSystem:Yr.DEFAULT,data:{attributes:{positions:r,texCoords:i}},vertexCount:4,maxTexture:s,colorTexture:n,aggregationMode:Oyt[w]||0,texture:t,intensity:f,threshold:_,colorDomain:o})}finalizeState(t){super.finalizeState(t);let{weightsTransform:r,weightsTexture:i,maxWeightTransform:s,maxWeightsTexture:n,triPositionBuffer:o,triTexCoordBuffer:c,colorTexture:f,updateTimer:_}=this.state;r?.delete(),i?.delete(),s?.delete(),n?.delete(),o?.delete(),c?.delete(),f?.delete(),_&&clearTimeout(_)}_getAttributeManager(){return new Xf(this.context.gl,{id:this.props.id,stats:this.context.stats})}_getChangeFlags(t){let r={},{dimensions:i}=this.state;r.dataChanged=this.isAttributeChanged()||this.isAggregationDirty(t,{compareAll:!0,dimension:i.data}),r.viewportChanged=t.changeFlags.viewportChanged;let{zoom:s}=this.state;return(!t.context.viewport||t.context.viewport.zoom!==s)&&(r.viewportZoomChanged=!0),r}_createTextures(){let{gl:t}=this.context,{textureSize:r,format:i,type:s}=this.state;this.setState({weightsTexture:new pi(t,{width:r,height:r,format:i,type:s,...eF}),maxWeightsTexture:new pi(t,{format:i,type:s,...eF})})}_setupAttributes(){this.getAttributeManager().add({positions:{size:3,type:5130,accessor:\"getPosition\"},weights:{size:1,accessor:\"getWeight\"}}),this.setState({positionAttributeName:\"positions\"})}_setupTextureParams(){let{gl:t}=this.context,{weightsTextureSize:r}=this.props,i=Math.min(r,wy(t,3379)),s=Oh(t,zyt),{format:n,type:o}=d$({gl:t,floatTargetSupport:s}),c=s?1:1/255;this.setState({textureSize:i,format:n,type:o,weightsScale:c}),s||or.warn(\"HeatmapLayer: \".concat(this.id,\" rendering to float texture not supported, fallingback to low precession format\"))()}getShaders(t){return super.getShaders(t===\"max-weights-transform\"?{vs:_$,_fs:y$}:{vs:m$,_fs:g$})}_createWeightsTransform(t={}){var r;let{gl:i}=this.context,{weightsTransform:s}=this.state,{weightsTexture:n}=this.state;(r=s)===null||r===void 0||r.delete(),s=new nc(i,{id:\"\".concat(this.id,\"-weights-transform\"),elementCount:1,_targetTexture:n,_targetTextureVarying:\"weightsTexture\",...t}),this.setState({weightsTransform:s})}_setupResources(){let{gl:t}=this.context;this._createTextures();let{textureSize:r,weightsTexture:i,maxWeightsTexture:s}=this.state,n=this.getShaders(\"weights-transform\");this._createWeightsTransform(n);let o=this.getShaders(\"max-weights-transform\"),c=new nc(t,{id:\"\".concat(this.id,\"-max-weights-transform\"),_sourceTextures:{inTexture:i},_targetTexture:s,_targetTextureVarying:\"outTexture\",...o,elementCount:r*r});this.setState({weightsTexture:i,maxWeightsTexture:s,maxWeightTransform:c,zoom:null,triPositionBuffer:new Fr(t,{byteLength:48,accessor:{size:3}}),triTexCoordBuffer:new Fr(t,{byteLength:48,accessor:{size:2}})})}updateShaders(t){this._createWeightsTransform(t)}_updateMaxWeightValue(){let{maxWeightTransform:t}=this.state;t.run({parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32776}})}_updateBounds(t=!1){let{viewport:r}=this.context,i=[r.unproject([0,0]),r.unproject([r.width,0]),r.unproject([r.width,r.height]),r.unproject([0,r.height])].map(c=>c.map(Math.fround)),s=c$(i),n={visibleWorldBounds:s,viewportCorners:i},o=!1;if(t||!this.state.worldBounds||!u$(this.state.worldBounds,s)){let c=this._worldToCommonBounds(s),f=this._commonToWorldBounds(c);this.props.coordinateSystem===Yr.LNGLAT&&(f[1]=Math.max(f[1],-85.051129),f[3]=Math.min(f[3],85.051129),f[0]=Math.max(f[0],-360),f[2]=Math.min(f[2],360));let _=this._worldToCommonBounds(f);n.worldBounds=f,n.normalizedCommonBounds=_,o=!0}return this.setState(n),o}_updateTextureRenderingBounds(){let{triPositionBuffer:t,triTexCoordBuffer:r,normalizedCommonBounds:i,viewportCorners:s}=this.state,{viewport:n}=this.context;t.subData(tF(s,3));let o=s.map(c=>f$(n.projectPosition(c),i));r.subData(tF(o,2))}_updateColorTexture(t){let{colorRange:r}=t.props,{colorTexture:i}=this.state,s=o$(r,!1,Uint8Array);i?i.setImageData({data:s,width:r.length}):i=new pi(this.context.gl,{data:s,width:r.length,height:1,...eF}),this.setState({colorTexture:i})}_updateWeightmap(){let{radiusPixels:t,colorDomain:r,aggregation:i}=this.props,{weightsTransform:s,worldBounds:n,textureSize:o,weightsTexture:c,weightsScale:f}=this.state;this.state.isWeightMapDirty=!1;let _=this._worldToCommonBounds(n,{useLayerCoordinateSystem:!0});if(r&&i===\"SUM\"){let{viewport:I}=this.context,R=I.distanceScales.metersPerUnit[2]*(_[2]-_[0])/o;this.state.colorDomain=r.map(N=>N*R*f)}else this.state.colorDomain=r||v$;let w={radiusPixels:t,commonBounds:_,textureWidth:o,weightsScale:f};s.update({elementCount:this.getNumInstances()}),Mn(this.context.gl,{clearColor:[0,0,0,0]},()=>{s.run({uniforms:w,parameters:{blend:!0,depthTest:!1,blendFunc:[1,1],blendEquation:32774},clearRenderTarget:!0,attributes:this.getAttributes(),moduleSettings:this.getModuleSettings()})}),this._updateMaxWeightValue(),c.setParameters({10240:9729,10241:9729})}_debouncedUpdateWeightmap(t=!1){let{updateTimer:r}=this.state,{debounceTimeout:i}=this.props;t?(r=null,this._updateBounds(!0),this._updateTextureRenderingBounds(),this.setState({isWeightMapDirty:!0})):(this.setState({isWeightMapDirty:!1}),clearTimeout(r),r=setTimeout(this._debouncedUpdateWeightmap.bind(this,!0),i)),this.setState({updateTimer:r})}_worldToCommonBounds(t,r={}){let{useLayerCoordinateSystem:i=!1}=r,[s,n,o,c]=t,{viewport:f}=this.context,{textureSize:_}=this.state,{coordinateSystem:w}=this.props,I=i&&(w===Yr.LNGLAT_OFFSETS||w===Yr.METER_OFFSETS),R=I?f.projectPosition(this.props.coordinateOrigin):[0,0],N=_*Dyt/f.scale,j,Q;return i&&!I?(j=this.projectPosition([s,n,0]),Q=this.projectPosition([o,c,0])):(j=f.projectPosition([s,n,0]),Q=f.projectPosition([o,c,0])),h$([j[0]-R[0],j[1]-R[1],Q[0]-R[0],Q[1]-R[1]],N,N)}_commonToWorldBounds(t){let[r,i,s,n]=t,{viewport:o}=this.context,c=o.unprojectPosition([r,i]),f=o.unprojectPosition([s,n]);return c.slice(0,2).concat(f.slice(0,2))}};G(Up,\"layerName\",\"HeatmapLayer\");G(Up,\"defaultProps\",Byt);var{data:Ale,getPosition:mle,...Uyt}=Up.defaultProps,x$={_validate:!0},Vyt={...Uyt,...x$},CS=class extends Ni{static defaultProps=Vyt;static layerName=\"GeoArrowHeatmapLayer\";renderLayers(){let{data:t}=this.props,r=ws(t,Kn.POINT);if(r!==null)return this._renderLayersPoint(r);let i=this.props.getPosition;if(i!==void 0&&Ci.isPointVector(i))return this._renderLayersPoint(i);throw new Error(\"getPosition not GeoArrow point\")}_renderLayersPoint(t){let{data:r}=this.props;this.props._validate&&(_r(Ci.isPointVector(t)),no(this.props,r));let[i,s]=io(this.props,[\"getPosition\"]),n=vo(r.data),o=[];for(let c=0;cr.text()),earcutWorkerPool:null}}async initEarcutPool(){if(this.state.earcutWorkerPool)return this.state.earcutWorkerPool;let t=await this.state.earcutWorkerRequest;if(!t||window?.location?.href.startsWith(\"file://\"))return null;try{let r=RX(()=>LX(kX.fromText(t)),8);return this.state.earcutWorkerPool=r,this.state.earcutWorkerPool}catch{return null}}async finalizeState(t){await this.state?.earcutWorkerPool?.terminate(),console.log(\"terminated\")}async updateData(){let{data:t}=this.props,r=await this._updateEarcut(t),i=vo(t.data);this.setState({table:this.props.data,triangles:r,tableOffsets:i})}async _updateEarcut(t){let r=ws(t,Kn.POLYGON);if(r!==null)return this._earcutPolygonVector(r);let i=ws(t,Kn.MULTIPOLYGON);if(i!==null)return this._earcutMultiPolygonVector(i);let s=this.props.getPolygon;if(s!==void 0&&Ci.isPolygonVector(s))return this._earcutPolygonVector(s);if(s!==void 0&&Ci.isMultiPolygonVector(s))return this._earcutMultiPolygonVector(s);throw new Error(\"geometryColumn not Polygon or MultiPolygon\")}async _earcutPolygonVector(t){let r=await this.initEarcutPool();if(!r)return this._earcutPolygonVectorMainThread(t);let i=new Array(t.data.length);console.time(\"earcut\");for(let s=0;s{let _=await f(LF(o,c));i[s]=_})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;i{let w=await _(LF(c,f));i[s]=w})}return await r.completed(),console.timeEnd(\"earcut\"),i}_earcutMultiPolygonVectorMainThread(t){let r=new Array(t.data.length);for(let i=0;iDX(t))):e}function OX(e){if(\"data\"in e)return new xr(e.data.map(o=>OX(o)));let t=e.valueOffsets,r=vi.getMultiPolygonChild(e),i=r.valueOffsets,s=vi.getPolygonChild(r),n=new Int32Array(t.length);for(let o=0;o{this.table=O2(this.model.get(t))};this.model.on(`change:${t}`,r),this.callbacks.set(`change:${t}`,r)}},tC=class extends mf{static layerType=\"arc\";greatCircle;numSegments;widthUnits;widthScale;widthMinPixels;widthMaxPixels;getSourcePosition;getTargetPosition;getSourceColor;getTargetColor;getWidth;getHeight;getTilt;constructor(t,r){super(t,r),this.initRegularAttribute(\"great_circle\",\"greatCircle\"),this.initRegularAttribute(\"num_segments\",\"numSegments\"),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initVectorizedAccessor(\"get_source_position\",\"getSourcePosition\"),this.initVectorizedAccessor(\"get_target_position\",\"getTargetPosition\"),this.initVectorizedAccessor(\"get_source_color\",\"getSourceColor\"),this.initVectorizedAccessor(\"get_target_color\",\"getTargetColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\"),this.initVectorizedAccessor(\"get_height\",\"getHeight\"),this.initVectorizedAccessor(\"get_tilt\",\"getTilt\")}layerProps(){return{data:this.table,getSourcePosition:this.getSourcePosition,getTargetPosition:this.getTargetPosition,...Jt(this.greatCircle)&&{greatCircle:this.greatCircle},...Jt(this.numSegments)&&{numSegments:this.numSegments},...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.getSourceColor)&&{getSourceColor:this.getSourceColor},...Jt(this.getTargetColor)&&{getTargetColor:this.getTargetColor},...Jt(this.getWidth)&&{getWidth:this.getWidth},...Jt(this.getHeight)&&{getHeight:this.getHeight},...Jt(this.getTilt)&&{getTilt:this.getTilt}}}render(){return new wS({...this.baseLayerProps(),...this.layerProps()})}},eC=class extends Ug{static layerType=\"bitmap\";image;bounds;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"image\",\"image\"),this.initRegularAttribute(\"bounds\",\"bounds\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}layerProps(){return{...Jt(this.image)&&{image:this.image},...Jt(this.bounds)&&{bounds:this.bounds},...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}render(){return new Mp({...this.baseLayerProps(),...this.layerProps(),data:void 0,pickable:!1})}},rC=class extends Ug{static layerType=\"bitmap-tile\";data;tileSize;zoomOffset;maxZoom;minZoom;extent;maxCacheSize;maxCacheByteSize;refinementStrategy;maxRequests;desaturate;transparentColor;tintColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"data\",\"data\"),this.initRegularAttribute(\"tile_size\",\"tileSize\"),this.initRegularAttribute(\"zoom_offset\",\"zoomOffset\"),this.initRegularAttribute(\"max_zoom\",\"maxZoom\"),this.initRegularAttribute(\"min_zoom\",\"minZoom\"),this.initRegularAttribute(\"extent\",\"extent\"),this.initRegularAttribute(\"max_cache_size\",\"maxCacheSize\"),this.initRegularAttribute(\"max_cache_byte_size\",\"maxCacheByteSize\"),this.initRegularAttribute(\"refinement_strategy\",\"refinementStrategy\"),this.initRegularAttribute(\"max_requests\",\"maxRequests\"),this.initRegularAttribute(\"desaturate\",\"desaturate\"),this.initRegularAttribute(\"transparent_color\",\"transparentColor\"),this.initRegularAttribute(\"tint_color\",\"tintColor\")}bitmapLayerProps(){return{...Jt(this.desaturate)&&{desaturate:this.desaturate},...Jt(this.transparentColor)&&{transparentColor:this.transparentColor},...Jt(this.tintColor)&&{tintColor:this.tintColor}}}layerProps(){return{data:this.data,...Jt(this.tileSize)&&{tileSize:this.tileSize},...Jt(this.zoomOffset)&&{zoomOffset:this.zoomOffset},...Jt(this.maxZoom)&&{maxZoom:this.maxZoom},...Jt(this.minZoom)&&{minZoom:this.minZoom},...Jt(this.extent)&&{extent:this.extent},...Jt(this.maxCacheSize)&&{maxCacheSize:this.maxCacheSize},...Jt(this.maxCacheByteSize)&&{maxCacheByteSize:this.maxCacheByteSize},...Jt(this.refinementStrategy)&&{refinementStrategy:this.refinementStrategy},...Jt(this.maxRequests)&&{maxRequests:this.maxRequests}}}render(){return new Lm({...this.baseLayerProps(),...this.layerProps(),renderSubLayers:t=>{let[r,i]=t.tile.boundingBox;return new Mp(t,{...this.bitmapLayerProps(),data:void 0,image:t.data,bounds:[r[0],r[1],i[0],i[1]]})}})}},iC=class extends mf{static layerType=\"column\";diskResolution;radius;angle;vertices;offset;coverage;elevationScale;filled;stroked;extruded;wireframe;flatShading;radiusUnits;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;material;getPosition;getFillColor;getLineColor;getElevation;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"disk_resolution\",\"diskResolution\"),this.initRegularAttribute(\"radius\",\"radius\"),this.initRegularAttribute(\"angle\",\"angle\"),this.initRegularAttribute(\"vertices\",\"vertices\"),this.initRegularAttribute(\"offset\",\"offset\"),this.initRegularAttribute(\"coverage\",\"coverage\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"flat_shading\",\"flatShading\"),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"material\",\"material\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.diskResolution)&&{diskResolution:this.diskResolution},...Jt(this.radius)&&{radius:this.radius},...Jt(this.angle)&&{angle:this.angle},...Jt(this.vertices)&&this.vertices!==void 0&&{vertices:this.vertices},...Jt(this.offset)&&{offset:this.offset},...Jt(this.coverage)&&{coverage:this.coverage},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.filled)&&{filled:this.filled},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.flatShading)&&{flatShading:this.flatShading},...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.material)&&{material:this.material},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new SS({...this.baseLayerProps(),...this.layerProps()})}},nC=class extends mf{static layerType=\"heatmap\";radiusPixels;colorRange;intensity;threshold;colorDomain;aggregation;weightsTextureSize;debounceTimeout;getPosition;getWeight;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_pixels\",\"radiusPixels\"),this.initRegularAttribute(\"color_range\",\"colorRange\"),this.initRegularAttribute(\"intensity\",\"intensity\"),this.initRegularAttribute(\"threshold\",\"threshold\"),this.initRegularAttribute(\"color_domain\",\"colorDomain\"),this.initRegularAttribute(\"aggregation\",\"aggregation\"),this.initRegularAttribute(\"weights_texture_size\",\"weightsTextureSize\"),this.initRegularAttribute(\"debounce_timeout\",\"debounceTimeout\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_weight\",\"getWeight\")}layerProps(){return{data:this.table,...Jt(this.radiusPixels)&&{radiusPixels:this.radiusPixels},...Jt(this.colorRange)&&{colorRange:this.colorRange},...Jt(this.intensity)&&{intensity:this.intensity},...Jt(this.threshold)&&{threshold:this.threshold},...Jt(this.colorDomain)&&{colorDomain:this.colorDomain},...Jt(this.aggregation)&&{aggregation:this.aggregation},...Jt(this.weightsTextureSize)&&{weightsTextureSize:this.weightsTextureSize},...Jt(this.debounceTimeout)&&{debounceTimeout:this.debounceTimeout},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getWeight)&&{getWeight:this.getWeight}}}render(){return new CS({...this.baseLayerProps(),...this.layerProps()})}},QS=class extends mf{static layerType=\"path\";widthUnits;widthScale;widthMinPixels;widthMaxPixels;jointRounded;capRounded;miterLimit;billboard;getColor;getWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"width_units\",\"widthUnits\"),this.initRegularAttribute(\"width_scale\",\"widthScale\"),this.initRegularAttribute(\"width_min_pixels\",\"widthMinPixels\"),this.initRegularAttribute(\"width_max_pixels\",\"widthMaxPixels\"),this.initRegularAttribute(\"joint_rounded\",\"jointRounded\"),this.initRegularAttribute(\"cap_rounded\",\"capRounded\"),this.initRegularAttribute(\"miter_limit\",\"miterLimit\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_width\",\"getWidth\")}layerProps(){return{data:this.table,...Jt(this.widthUnits)&&{widthUnits:this.widthUnits},...Jt(this.widthScale)&&{widthScale:this.widthScale},...Jt(this.widthMinPixels)&&{widthMinPixels:this.widthMinPixels},...Jt(this.widthMaxPixels)&&{widthMaxPixels:this.widthMaxPixels},...Jt(this.jointRounded)&&{jointRounded:this.jointRounded},...Jt(this.capRounded)&&{capRounded:this.capRounded},...Jt(this.miterLimit)&&{miterLimit:this.miterLimit},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getWidth)&&{getWidth:this.getWidth}}}render(){return new e_({...this.baseLayerProps(),...this.layerProps()})}},sC=class extends mf{static layerType=\"point-cloud\";sizeUnits;pointSize;getColor;getNormal;constructor(t,r){super(t,r),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"point_size\",\"pointSize\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_normal\",\"getNormal\")}layerProps(){return{data:this.table,...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.pointSize)&&{pointSize:this.pointSize},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getNormal)&&{getNormal:this.getNormal}}}render(){return new LS({...this.baseLayerProps(),...this.layerProps()})}},oC=class extends mf{static layerType=\"polygon\";stroked;filled;extruded;wireframe;elevationScale;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;lineJointRounded;lineMiterLimit;getFillColor;getLineColor;getLineWidth;getElevation;constructor(t,r){super(t,r),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"line_joint_rounded\",\"lineJointRounded\"),this.initRegularAttribute(\"line_miter_limit\",\"lineMiterLimit\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\")}layerProps(){return{data:this.table,...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.lineJointRounded)&&{lineJointRounded:this.lineJointRounded},...Jt(this.lineMiterLimit)&&{lineMiterLimit:this.lineMiterLimit},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth},...Jt(this.getElevation)&&{getElevation:this.getElevation}}}render(){return new qS({...this.baseLayerProps(),...this.layerProps()})}},$S=class extends mf{static layerType=\"scatterplot\";radiusUnits;radiusScale;radiusMinPixels;radiusMaxPixels;lineWidthUnits;lineWidthScale;lineWidthMinPixels;lineWidthMaxPixels;stroked;filled;billboard;antialiasing;getRadius;getFillColor;getLineColor;getLineWidth;constructor(t,r){super(t,r),this.initRegularAttribute(\"radius_units\",\"radiusUnits\"),this.initRegularAttribute(\"radius_scale\",\"radiusScale\"),this.initRegularAttribute(\"radius_min_pixels\",\"radiusMinPixels\"),this.initRegularAttribute(\"radius_max_pixels\",\"radiusMaxPixels\"),this.initRegularAttribute(\"line_width_units\",\"lineWidthUnits\"),this.initRegularAttribute(\"line_width_scale\",\"lineWidthScale\"),this.initRegularAttribute(\"line_width_min_pixels\",\"lineWidthMinPixels\"),this.initRegularAttribute(\"line_width_max_pixels\",\"lineWidthMaxPixels\"),this.initRegularAttribute(\"stroked\",\"stroked\"),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"antialiasing\",\"antialiasing\"),this.initVectorizedAccessor(\"get_radius\",\"getRadius\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\"),this.initVectorizedAccessor(\"get_line_width\",\"getLineWidth\")}layerProps(){return{data:this.table,...Jt(this.radiusUnits)&&{radiusUnits:this.radiusUnits},...Jt(this.radiusScale)&&{radiusScale:this.radiusScale},...Jt(this.radiusMinPixels)&&{radiusMinPixels:this.radiusMinPixels},...Jt(this.radiusMaxPixels)&&{radiusMaxPixels:this.radiusMaxPixels},...Jt(this.lineWidthUnits)&&{lineWidthUnits:this.lineWidthUnits},...Jt(this.lineWidthScale)&&{lineWidthScale:this.lineWidthScale},...Jt(this.lineWidthMinPixels)&&{lineWidthMinPixels:this.lineWidthMinPixels},...Jt(this.lineWidthMaxPixels)&&{lineWidthMaxPixels:this.lineWidthMaxPixels},...Jt(this.stroked)&&{stroked:this.stroked},...Jt(this.filled)&&{filled:this.filled},...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.antialiasing)&&{antialiasing:this.antialiasing},...Jt(this.getRadius)&&{getRadius:this.getRadius},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor},...Jt(this.getLineWidth)&&{getLineWidth:this.getLineWidth}}}render(){return new ZS({...this.baseLayerProps(),...this.layerProps()})}},XS=class extends mf{static layerType=\"solid-polygon\";filled;extruded;wireframe;elevationScale;getElevation;getFillColor;getLineColor;constructor(t,r){super(t,r),this.initRegularAttribute(\"filled\",\"filled\"),this.initRegularAttribute(\"extruded\",\"extruded\"),this.initRegularAttribute(\"wireframe\",\"wireframe\"),this.initRegularAttribute(\"elevation_scale\",\"elevationScale\"),this.initVectorizedAccessor(\"get_elevation\",\"getElevation\"),this.initVectorizedAccessor(\"get_fill_color\",\"getFillColor\"),this.initVectorizedAccessor(\"get_line_color\",\"getLineColor\")}layerProps(){return{data:this.table,...Jt(this.filled)&&{filled:this.filled},...Jt(this.extruded)&&{extruded:this.extruded},...Jt(this.wireframe)&&{wireframe:this.wireframe},...Jt(this.elevationScale)&&{elevationScale:this.elevationScale},...Jt(this.getElevation)&&{getElevation:this.getElevation},...Jt(this.getFillColor)&&{getFillColor:this.getFillColor},...Jt(this.getLineColor)&&{getLineColor:this.getLineColor}}}render(){return new o_({...this.baseLayerProps(),...this.layerProps()})}},aC=class extends mf{static layerType=\"text\";billboard;sizeScale;sizeUnits;sizeMinPixels;sizeMaxPixels;getBackgroundColor;getBorderColor;getBorderWidth;backgroundPadding;characterSet;fontFamily;fontWeight;lineHeight;outlineWidth;outlineColor;fontSettings;wordBreak;maxWidth;getText;getPosition;getColor;getSize;getAngle;getTextAnchor;getAlignmentBaseline;getPixelOffset;constructor(t,r){super(t,r),this.initRegularAttribute(\"billboard\",\"billboard\"),this.initRegularAttribute(\"size_scale\",\"sizeScale\"),this.initRegularAttribute(\"size_units\",\"sizeUnits\"),this.initRegularAttribute(\"size_min_pixels\",\"sizeMinPixels\"),this.initRegularAttribute(\"size_max_pixels\",\"sizeMaxPixels\"),this.initRegularAttribute(\"background_padding\",\"backgroundPadding\"),this.initRegularAttribute(\"character_set\",\"characterSet\"),this.initRegularAttribute(\"font_family\",\"fontFamily\"),this.initRegularAttribute(\"font_weight\",\"fontWeight\"),this.initRegularAttribute(\"line_height\",\"lineHeight\"),this.initRegularAttribute(\"outline_width\",\"outlineWidth\"),this.initRegularAttribute(\"outline_color\",\"outlineColor\"),this.initRegularAttribute(\"font_settings\",\"fontSettings\"),this.initRegularAttribute(\"word_break\",\"wordBreak\"),this.initRegularAttribute(\"max_width\",\"maxWidth\"),this.initVectorizedAccessor(\"get_background_color\",\"getBackgroundColor\"),this.initVectorizedAccessor(\"get_border_color\",\"getBorderColor\"),this.initVectorizedAccessor(\"get_border_width\",\"getBorderWidth\"),this.initVectorizedAccessor(\"get_text\",\"getText\"),this.initVectorizedAccessor(\"get_position\",\"getPosition\"),this.initVectorizedAccessor(\"get_color\",\"getColor\"),this.initVectorizedAccessor(\"get_size\",\"getSize\"),this.initVectorizedAccessor(\"get_angle\",\"getAngle\"),this.initVectorizedAccessor(\"get_text_anchor\",\"getTextAnchor\"),this.initVectorizedAccessor(\"get_alignment_baseline\",\"getAlignmentBaseline\"),this.initVectorizedAccessor(\"get_pixel_offset\",\"getPixelOffset\")}layerProps(){return{data:this.table,getText:this.getText,...Jt(this.billboard)&&{billboard:this.billboard},...Jt(this.sizeScale)&&{sizeScale:this.sizeScale},...Jt(this.sizeUnits)&&{sizeUnits:this.sizeUnits},...Jt(this.sizeMinPixels)&&{sizeMinPixels:this.sizeMinPixels},...Jt(this.sizeMaxPixels)&&{sizeMaxPixels:this.sizeMaxPixels},...Jt(this.backgroundPadding)&&{backgroundPadding:this.backgroundPadding},...Jt(this.characterSet)&&{characterSet:this.characterSet},...Jt(this.fontFamily)&&{fontFamily:this.fontFamily},...Jt(this.fontWeight)&&{fontWeight:this.fontWeight},...Jt(this.lineHeight)&&{lineHeight:this.lineHeight},...Jt(this.outlineWidth)&&{outlineWidth:this.outlineWidth},...Jt(this.outlineColor)&&{outlineColor:this.outlineColor},...Jt(this.fontSettings)&&{fontSettings:this.fontSettings},...Jt(this.wordBreak)&&{wordBreak:this.wordBreak},...Jt(this.maxWidth)&&{maxWidth:this.maxWidth},...Jt(this.getBackgroundColor)&&{getBackgroundColor:this.getBackgroundColor},...Jt(this.getBorderColor)&&{getBorderColor:this.getBorderColor},...Jt(this.getBorderWidth)&&{getBorderWidth:this.getBorderWidth},...Jt(this.getPosition)&&{getPosition:this.getPosition},...Jt(this.getColor)&&{getColor:this.getColor},...Jt(this.getSize)&&{getSize:this.getSize},...Jt(this.getAngle)&&{getAngle:this.getAngle},...Jt(this.getTextAnchor)&&{getTextAnchor:this.getTextAnchor},...Jt(this.getAlignmentBaseline)&&{getAlignmentBaseline:this.getAlignmentBaseline},...Jt(this.getPixelOffset)&&{getPixelOffset:this.getPixelOffset}}}render(){return new YS({...this.baseLayerProps(),...this.layerProps()})}};async function DF(e,t){let r=e.get(\"_layer_type\"),i;switch(r){case tC.layerType:i=new tC(e,t);break;case eC.layerType:i=new eC(e,t);break;case rC.layerType:i=new rC(e,t);break;case iC.layerType:i=new iC(e,t);break;case nC.layerType:i=new nC(e,t);break;case QS.layerType:i=new QS(e,t);break;case sC.layerType:i=new sC(e,t);break;case oC.layerType:i=new oC(e,t);break;case $S.layerType:i=new $S(e,t);break;case XS.layerType:i=new XS(e,t);break;case aC.layerType:i=new aC(e,t);break;default:throw new Error(`no layer supported for ${r}`)}return await i.loadSubModels(),i}var lC=Symbol.for(\"rowIndex\");function U1t(e){return`\n \n ${Object.keys(e).map(t=>{let r=e[t];return`\n \n \n `}).join(\"\")}\n \n
${t}${r}
`}function FX({object:e}){if(e){if(e[lC]===null||e[lC]===void 0||e[lC]&&e[lC]<0)return null;let t=e.toJSON();return!t||(delete t.geometry,Object.keys(t).length===0)?null:{className:\"lonboard-tooltip\",html:U1t(t),style:{backgroundColor:\"#fff\",boxShadow:\"0 0 15px rgba(0, 0, 0, 0.1)\",color:\"#000\",padding:\"6px\"}}}return null}var cC,V1t=new Uint8Array(16);function OF(){if(!cC&&(cC=typeof crypto<\"u\"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!cC))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return cC(V1t)}var Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));function zX(e,t=0){return Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]}var j1t=typeof crypto<\"u\"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),BF={randomUUID:j1t};function G1t(e,t,r){if(BF.randomUUID&&!t&&!e)return BF.randomUUID();e=e||{};let i=e.random||(e.rng||OF)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t){r=r||0;for(let s=0;s<16;++s)t[r+s]=i[s];return t}return zX(i)}var FF=G1t;function NX(e,t){let{longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,curve:f,speed:_,screenSpeed:w}=e,I=new nv({...Jt(f)&&{curve:f},...Jt(_)&&{speed:_},...Jt(w)&&{screenSpeed:w}});t({longitude:r,latitude:i,zoom:s,pitch:n,bearing:o,transitionDuration:c,transitionInterpolator:I})}var uC=Ri(Yi(),1);var W1t=DH(e=>{let t=e.get(\"view_state\");\"transitionInterpolator\"in t&&(console.debug(\"Deleting transitionInterpolator!\"),delete t.transitionInterpolator,e.set(\"view_state\",t)),e.save_changes()},300);function UX(e){let t=Y1(),[r,i]=uC.useState(t.get(e));return uC.useEffect(()=>{let s=()=>{i(t.get(e))};return t.on(`change:${e}`,s),()=>t.off(`change:${e}`,s)},[t,e]),[r,s=>{t.set(e,s),W1t(t)}]}await kH();var H1t={latitude:10,longitude:0,zoom:.5,bearing:0,pitch:0},q1t=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\";async function Z1t(e,t,r,i){let s={},n=()=>i(new Date);for(let o=0;o{switch(et.type){case\"fly-to\":NX(et,f);break;default:break}});let[_]=(0,a_.useState)(FF()),[w,I]=(0,a_.useState)({}),[R]=zA(\"layers\"),[N,j]=(0,a_.useState)(new Date);(0,a_.useEffect)(()=>{(async()=>{let Y=await L3(e.widget_manager,R),K=await Z1t(Y,R,w,j);I(K)})().catch(console.error)},[R]);let Q=[];for(let et of Object.values(w))Q.push(et.render());return(0,a_.useEffect)(()=>{if(r)return;let Y=document.getElementById(`map-${_}`)?.parentElement;if(Y){let K=window.getComputedStyle(Y);(!K.height||K.height===\"0px\")&&(Y.style.height=\"100%\",Y.style.minHeight=\"500px\")}},[]),hC.createElement(\"div\",{id:`map-${_}`,style:{height:r||\"100%\"}},hC.createElement(GD,{initialViewState:[\"longitude\",\"latitude\",\"zoom\"].every(et=>Object.keys(c).includes(et))?c:H1t,controller:!0,layers:Q,getTooltip:i&&FX,pickingRadius:s,useDevicePixels:Jt(n)?n:!0,_typedArrayManagerProps:{overAlloc:1,poolSize:0},onViewStateChange:et=>{let{viewState:Y}=et,{longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt}=Y;f({longitude:K,latitude:J,zoom:ut,pitch:Et,bearing:kt})},parameters:o||{}},hC.createElement(iU,{mapStyle:t||q1t})))}var Q1t={render:j8(Y1t)},Che=Q1t;export{Che as default};\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\n (**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nscheduler/cjs/scheduler.production.min.js:\n (**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nreact-dom/cjs/react-dom.production.min.js:\n (**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n\nhammerjs/hammer.js:\n (*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license *)\n*/\n", - "_height": 800, - "_model_module": "anywidget", - "_model_module_version": "~0.9.*", - "_model_name": "AnyModel", - "_view_module": "anywidget", - "_view_module_version": "~0.9.*", - "_view_name": "AnyView", - "basemap_style": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json", - "layers": [ - "IPY_MODEL_2cecf8767bd84d1b9b124de996f3e738" + "_layer_type": "polygon", + "_view_module": null, + "_view_module_version": "", + "auto_highlight": false, + "elevation_scale": null, + "extensions": [], + "extruded": null, + "filled": null, + "get_elevation": null, + "get_fill_color": [ + {} ], - "layout": "IPY_MODEL_2a268e7e985445b2b3d84555a6cd9bde", - "parameters": null, - "picking_radius": 5, - "show_tooltip": true, - "use_device_pixels": null, - "view_state": { - "bearing": 0, - "latitude": 39.12945538939195, - "longitude": -84.49807886250348, - "pitch": 0, - "zoom": 12 - } + "get_line_color": null, + "get_line_width": null, + "line_joint_rounded": null, + "line_miter_limit": null, + "line_width_max_pixels": null, + "line_width_min_pixels": null, + "line_width_scale": null, + "line_width_units": null, + "opacity": 1, + "pickable": true, + "selected_index": null, + "stroked": null, + "table": [ + {} + ], + "visible": true, + "wireframe": null } }, - "dcb9c0d18cf044c88ed7aef4d7e29c97": { + "d2a3048857294352900e275018ae8225": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, - "f49ff5edc12e40d2925533efe1ac4fb2": { + "ef6d74d3d71148a1a2702d356de699d3": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", From 3f5348570b7d4a00d8fc256da073cb12822ce8f5 Mon Sep 17 00:00:00 2001 From: eli knaap Date: Wed, 24 Jul 2024 11:19:48 -0700 Subject: [PATCH 9/9] actually pass alpha --- mapclassify/util.py | 2 +- notebooks/08_manual_coloring.ipynb | 2257 ++++++++++++++-------------- 2 files changed, 1128 insertions(+), 1131 deletions(-) diff --git a/mapclassify/util.py b/mapclassify/util.py index 617e4919..21879aea 100644 --- a/mapclassify/util.py +++ b/mapclassify/util.py @@ -67,7 +67,7 @@ def get_color_array( normalized_vals = norm(bins) # generate RBGA array and convert to series - rgbas = colormaps[cmap](normalized_vals, bytes=True) + rgbas = colormaps[cmap](normalized_vals, bytes=True, alpha=alpha) colors = pd.Series(list(rgbas), index=legit_indices).apply(np.array) # put colors in their correct places and fill empty with designated color diff --git a/notebooks/08_manual_coloring.ipynb b/notebooks/08_manual_coloring.ipynb index 99e963be..0d658c88 100644 --- a/notebooks/08_manual_coloring.ipynb +++ b/notebooks/08_manual_coloring.ipynb @@ -6,11 +6,11 @@ "id": "1d5cebc1-08a5-4f67-94b0-3bdb849b820d", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:35.627924Z", - "iopub.status.busy": "2024-07-24T17:03:35.626902Z", - "iopub.status.idle": "2024-07-24T17:03:37.564174Z", - "shell.execute_reply": "2024-07-24T17:03:37.563798Z", - "shell.execute_reply.started": "2024-07-24T17:03:35.627890Z" + "iopub.execute_input": "2024-07-24T18:19:02.598126Z", + "iopub.status.busy": "2024-07-24T18:19:02.594152Z", + "iopub.status.idle": "2024-07-24T18:19:04.550638Z", + "shell.execute_reply": "2024-07-24T18:19:04.550229Z", + "shell.execute_reply.started": "2024-07-24T18:19:02.598020Z" } }, "outputs": [ @@ -20,9 +20,9 @@ "text": [ "Author: eli knaap\n", "\n", - "mapclassify: 2.7.1.dev0+gaf62513092fd.d20240723\n", "pandas : 2.1.4\n", "geopandas : 0.14.2\n", + "mapclassify: 2.7.1.dev0+gaf62513092fd.d20240723\n", "geodatasets: 2024.7.0\n", "\n" ] @@ -45,11 +45,11 @@ "id": "8aa8876b-aafe-456b-895a-b34f7311746f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:37.565112Z", - "iopub.status.busy": "2024-07-24T17:03:37.564970Z", - "iopub.status.idle": "2024-07-24T17:03:38.397560Z", - "shell.execute_reply": "2024-07-24T17:03:38.397130Z", - "shell.execute_reply.started": "2024-07-24T17:03:37.565102Z" + "iopub.execute_input": "2024-07-24T18:19:04.551852Z", + "iopub.status.busy": "2024-07-24T18:19:04.551641Z", + "iopub.status.idle": "2024-07-24T18:19:05.358837Z", + "shell.execute_reply": "2024-07-24T18:19:05.358497Z", + "shell.execute_reply.started": "2024-07-24T18:19:04.551836Z" } }, "outputs": [], @@ -63,11 +63,11 @@ "id": "baa23e00-83ea-4962-90c5-695893d17f03", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:38.398040Z", - "iopub.status.busy": "2024-07-24T17:03:38.397952Z", - "iopub.status.idle": "2024-07-24T17:03:38.776513Z", - "shell.execute_reply": "2024-07-24T17:03:38.776170Z", - "shell.execute_reply.started": "2024-07-24T17:03:38.398031Z" + "iopub.execute_input": "2024-07-24T18:19:05.359301Z", + "iopub.status.busy": "2024-07-24T18:19:05.359213Z", + "iopub.status.idle": "2024-07-24T18:19:05.749711Z", + "shell.execute_reply": "2024-07-24T18:19:05.749359Z", + "shell.execute_reply.started": "2024-07-24T18:19:05.359292Z" } }, "outputs": [ @@ -108,11 +108,11 @@ "id": "bb6b3e10-4053-4b54-845e-d1fdea1fdc95", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:39.444037Z", - "iopub.status.busy": "2024-07-24T17:03:39.442141Z", - "iopub.status.idle": "2024-07-24T17:03:39.476552Z", - "shell.execute_reply": "2024-07-24T17:03:39.476154Z", - "shell.execute_reply.started": "2024-07-24T17:03:39.443972Z" + "iopub.execute_input": "2024-07-24T18:19:05.750781Z", + "iopub.status.busy": "2024-07-24T18:19:05.750623Z", + "iopub.status.idle": "2024-07-24T18:19:05.760801Z", + "shell.execute_reply": "2024-07-24T18:19:05.760541Z", + "shell.execute_reply.started": "2024-07-24T18:19:05.750771Z" } }, "outputs": [], @@ -129,11 +129,11 @@ "id": "545ce6dd-2b2a-42ad-989f-4efae3f46277", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:40.392961Z", - "iopub.status.busy": "2024-07-24T17:03:40.391959Z", - "iopub.status.idle": "2024-07-24T17:03:40.407450Z", - "shell.execute_reply": "2024-07-24T17:03:40.406586Z", - "shell.execute_reply.started": "2024-07-24T17:03:40.392913Z" + "iopub.execute_input": "2024-07-24T18:19:05.761339Z", + "iopub.status.busy": "2024-07-24T18:19:05.761243Z", + "iopub.status.idle": "2024-07-24T18:19:05.765723Z", + "shell.execute_reply": "2024-07-24T18:19:05.765458Z", + "shell.execute_reply.started": "2024-07-24T18:19:05.761330Z" } }, "outputs": [ @@ -234,11 +234,11 @@ "id": "e45fcd62-a96a-4601-a355-783cd0323d32", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:41.668562Z", - "iopub.status.busy": "2024-07-24T17:03:41.667846Z", - "iopub.status.idle": "2024-07-24T17:03:41.802834Z", - "shell.execute_reply": "2024-07-24T17:03:41.802455Z", - "shell.execute_reply.started": "2024-07-24T17:03:41.668531Z" + "iopub.execute_input": "2024-07-24T18:19:05.766178Z", + "iopub.status.busy": "2024-07-24T18:19:05.766104Z", + "iopub.status.idle": "2024-07-24T18:19:05.881828Z", + "shell.execute_reply": "2024-07-24T18:19:05.881469Z", + "shell.execute_reply.started": "2024-07-24T18:19:05.766169Z" } }, "outputs": [ @@ -286,11 +286,11 @@ "id": "adcc5cbd-fa95-40c9-9532-7ad9a4898ce4", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:43.542262Z", - "iopub.status.busy": "2024-07-24T17:03:43.541577Z", - "iopub.status.idle": "2024-07-24T17:03:44.262073Z", - "shell.execute_reply": "2024-07-24T17:03:44.261754Z", - "shell.execute_reply.started": "2024-07-24T17:03:43.542225Z" + "iopub.execute_input": "2024-07-24T18:19:07.092626Z", + "iopub.status.busy": "2024-07-24T18:19:07.091691Z", + "iopub.status.idle": "2024-07-24T18:19:07.716706Z", + "shell.execute_reply": "2024-07-24T18:19:07.716400Z", + "shell.execute_reply.started": "2024-07-24T18:19:07.092565Z" } }, "outputs": [ @@ -324,7 +324,7 @@ " <meta name="viewport" content="width=device-width,\n", " initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n", " <style>\n", - " #map_f848f7beda5e816bdaa94bf9951558e4 {\n", + " #map_0b4751f96b5efb713095db14efa0eacb {\n", " position: relative;\n", " width: 100.0%;\n", " height: 100.0%;\n", @@ -354,14 +354,14 @@ "<body>\n", " \n", " \n", - " <div class="folium-map" id="map_f848f7beda5e816bdaa94bf9951558e4" ></div>\n", + " <div class="folium-map" id="map_0b4751f96b5efb713095db14efa0eacb" ></div>\n", " \n", "</body>\n", "<script>\n", " \n", " \n", - " var map_f848f7beda5e816bdaa94bf9951558e4 = L.map(\n", - " "map_f848f7beda5e816bdaa94bf9951558e4",\n", + " var map_0b4751f96b5efb713095db14efa0eacb = L.map(\n", + " "map_0b4751f96b5efb713095db14efa0eacb",\n", " {\n", " center: [39.133259999873154, -84.49529300046413],\n", " crs: L.CRS.EPSG3857,\n", @@ -370,28 +370,28 @@ " preferCanvas: false,\n", " }\n", " );\n", - " L.control.scale().addTo(map_f848f7beda5e816bdaa94bf9951558e4);\n", + " L.control.scale().addTo(map_0b4751f96b5efb713095db14efa0eacb);\n", "\n", " \n", "\n", " \n", " \n", - " var tile_layer_e56e2c0f2ff0d51914c1feb773e75c46 = L.tileLayer(\n", + " var tile_layer_9ea3879f36a7ba13fb992742c1de95e6 = L.tileLayer(\n", " "https://a.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png",\n", " {"attribution": "\\u0026copy; \\u003ca href=\\"https://www.openstreetmap.org/copyright\\"\\u003eOpenStreetMap\\u003c/a\\u003e contributors \\u0026copy; \\u003ca href=\\"https://carto.com/attributions\\"\\u003eCARTO\\u003c/a\\u003e", "detectRetina": false, "maxNativeZoom": 20, "maxZoom": 20, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}\n", " );\n", " \n", " \n", - " tile_layer_e56e2c0f2ff0d51914c1feb773e75c46.addTo(map_f848f7beda5e816bdaa94bf9951558e4);\n", + " tile_layer_9ea3879f36a7ba13fb992742c1de95e6.addTo(map_0b4751f96b5efb713095db14efa0eacb);\n", " \n", " \n", - " map_f848f7beda5e816bdaa94bf9951558e4.fitBounds(\n", + " map_0b4751f96b5efb713095db14efa0eacb.fitBounds(\n", " [[39.111059999875216, -84.53054400046031], [39.15545999987109, -84.46004200046795]],\n", " {}\n", " );\n", " \n", " \n", - " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_styler(feature) {\n", + " function geo_json_cdee409ba88846818e65865426231e6f_styler(feature) {\n", " switch(feature.id) {\n", " case "0": case "2": case "4": case "20": case "26": case "40": case "47": case "48": case "49": case "53": case "61": case "68": case "69": case "70": case "71": case "72": case "77": case "85": case "87": case "93": case "97": case "107": case "118": case "120": case "129": case "133": case "134": case "159": case "170": case "171": case "180": case "181": case "182": case "185": case "192": case "195": case "196": case "203": case "204": case "210": case "213": case "217": case "218": case "219": case "220": case "221": case "222": case "224": case "226": case "250": case "251": case "252": case "254": case "257": case "258": case "259": case "270": case "272": case "294": case "299": case "300": case "306": case "307": case "312": case "313": case "320": case "322": case "329": case "332": case "335": case "338": case "343": case "346": case "348": case "350": case "356": case "360": case "365": case "368": case "371": case "375": case "377": case "392": case "393": case "412": case "416": case "419": case "428": case "444": case "447": case "456": \n", " return {"color": "#fee290", "fillColor": "#fee290", "fillOpacity": 0.5, "weight": 2};\n", @@ -405,52 +405,52 @@ " return {"color": "#ca4b02", "fillColor": "#ca4b02", "fillOpacity": 0.5, "weight": 2};\n", " }\n", " }\n", - " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_highlighter(feature) {\n", + " function geo_json_cdee409ba88846818e65865426231e6f_highlighter(feature) {\n", " switch(feature.id) {\n", " default:\n", " return {"fillOpacity": 0.75};\n", " }\n", " }\n", - " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_pointToLayer(feature, latlng) {\n", + " function geo_json_cdee409ba88846818e65865426231e6f_pointToLayer(feature, latlng) {\n", " var opts = {"bubblingMouseEvents": true, "color": "#3388ff", "dashArray": null, "dashOffset": null, "fill": true, "fillColor": "#3388ff", "fillOpacity": 0.2, "fillRule": "evenodd", "lineCap": "round", "lineJoin": "round", "opacity": 1.0, "radius": 2, "stroke": true, "weight": 3};\n", " \n", - " let style = geo_json_7afca762c2cfb2afbcb8b0f1c114494c_styler(feature)\n", + " let style = geo_json_cdee409ba88846818e65865426231e6f_styler(feature)\n", " Object.assign(opts, style)\n", " \n", " return new L.CircleMarker(latlng, opts)\n", " }\n", "\n", - " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_onEachFeature(feature, layer) {\n", + " function geo_json_cdee409ba88846818e65865426231e6f_onEachFeature(feature, layer) {\n", " layer.on({\n", " mouseout: function(e) {\n", " if(typeof e.target.setStyle === "function"){\n", - " geo_json_7afca762c2cfb2afbcb8b0f1c114494c.resetStyle(e.target);\n", + " geo_json_cdee409ba88846818e65865426231e6f.resetStyle(e.target);\n", " }\n", " },\n", " mouseover: function(e) {\n", " if(typeof e.target.setStyle === "function"){\n", - " const highlightStyle = geo_json_7afca762c2cfb2afbcb8b0f1c114494c_highlighter(e.target.feature)\n", + " const highlightStyle = geo_json_cdee409ba88846818e65865426231e6f_highlighter(e.target.feature)\n", " e.target.setStyle(highlightStyle);\n", " }\n", " },\n", " });\n", " };\n", - " var geo_json_7afca762c2cfb2afbcb8b0f1c114494c = L.geoJson(null, {\n", - " onEachFeature: geo_json_7afca762c2cfb2afbcb8b0f1c114494c_onEachFeature,\n", + " var geo_json_cdee409ba88846818e65865426231e6f = L.geoJson(null, {\n", + " onEachFeature: geo_json_cdee409ba88846818e65865426231e6f_onEachFeature,\n", " \n", - " style: geo_json_7afca762c2cfb2afbcb8b0f1c114494c_styler,\n", - " pointToLayer: geo_json_7afca762c2cfb2afbcb8b0f1c114494c_pointToLayer,\n", + " style: geo_json_cdee409ba88846818e65865426231e6f_styler,\n", + " pointToLayer: geo_json_cdee409ba88846818e65865426231e6f_pointToLayer,\n", " });\n", "\n", - " function geo_json_7afca762c2cfb2afbcb8b0f1c114494c_add (data) {\n", - " geo_json_7afca762c2cfb2afbcb8b0f1c114494c\n", + " function geo_json_cdee409ba88846818e65865426231e6f_add (data) {\n", + " geo_json_cdee409ba88846818e65865426231e6f\n", " .addData(data);\n", " }\n", - " geo_json_7afca762c2cfb2afbcb8b0f1c114494c_add({"bbox": [-84.53054400046031, 39.111059999875216, -84.46004200046795, 39.15545999987109], "features": [{"bbox": [-84.47864300046585, 39.120659999874455, -84.46864200046697, 39.12675999987392], "geometry": {"coordinates": [[[-84.47834300046591, 39.12445999987407], [-84.47774300046596, 39.12445999987407], [-84.47744300046601, 39.1243599998741], [-84.4766430004661, 39.1243599998741], [-84.47524300046624, 39.12455999987408], [-84.47394300046638, 39.12455999987409], [-84.47224300046658, 39.12535999987403], [-84.47194300046661, 39.12645999987392], [-84.47064200046675, 39.12615999987395], [-84.4703420004668, 39.12625999987395], [-84.46884200046696, 39.12675999987392], [-84.46864200046697, 39.1248599998741], [-84.47188800046659, 39.1234969998742], [-84.47603700046615, 39.12175399987434], [-84.47864300046585, 39.120659999874455], [-84.47854300046589, 39.12185999987432], [-84.47834300046591, 39.12445999987407]]], "type": "Polygon"}, "id": "0", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 9.0, "AGE_18": 459.0, "AGE_20_24": 32.0, "AGE_21": 453.0, "AGE_25_34": 60.0, "AGE_35_44": 53.0, "AGE_45_54": 64.0, "AGE_55_59": 34.0, "AGE_5_9": 6.0, "AGE_60_64": 38.0, "AGE_62": 197.0, "AGE_65": 174.0, "AGE_65_74": 90.0, "AGE_75_84": 62.0, "AGE_85": 22.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 439.0, "AREA": 0.09, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.45, "BG": "390610042002", "BLACK": 32.0, "BLOCK": "390610042002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5384.7901, "F1_RACE": 472.0, "F2_RACES": 7.0, "FEMALE": 258.0, "FEMALE_18": 246.0, "FEMALE_65": 100.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 105.0, "HH_NONFAMI": 225.0, "HOUSEHOLDS": 330.0, "HSNG_UNITS": 361.0, "HU_OCCUPIE": 330.0, "HU_VACANT": 31.0, "ID": 726907.0, "IN_HOUSEHO": 479.0, "MALE": 221.0, "MALE_18": 213.0, "MALE_65": 74.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 430.0, "NOT_HISPAN": 474.0, "OCCHU_OWNE": 245.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.46, "POPULATION": 479.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 433.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5082430004627, 39.12495999987392, -84.50554300046298, 39.126759999873755], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50554300046298, 39.12655999987377], [-84.50564300046297, 39.12495999987392], [-84.50604300046291, 39.125059999873905], [-84.50674300046285, 39.125459999873875], [-84.50824300046268, 39.12555999987385], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "1", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 54.0, "AGE_25_34": 13.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 4.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.73, "AVG_HHSIZE": 2.43, "BG": "390610022004", "BLACK": 66.0, "BLOCK": "390610022004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6643.1423, "F1_RACE": 82.0, "F2_RACES": 3.0, "FEMALE": 46.0, "FEMALE_18": 34.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 0.0, "ID": 695744.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 27.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.22, "POPULATION": 85.0, "RENTER_SIZ": 2.15, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12745999987367, -84.50624300046294, 39.12875999987356], "geometry": {"coordinates": [[[-84.50864300046265, 39.12745999987367], [-84.50844300046269, 39.12795999987365], [-84.50794300046275, 39.12845999987357], [-84.50784300046276, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50624300046294, 39.12865999987357], [-84.50644300046291, 39.12775999987366], [-84.5073430004628, 39.127859999873635], [-84.50864300046265, 39.12745999987367]]], "type": "Polygon"}, "id": "2", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 29.0, "AGE_20_24": 13.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.32, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4326.5018, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 2.0, "ID": 695762.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 29.0, "RENTER_SIZ": 1.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 15.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50564300046297, 39.12495999987392, -84.5045430004631, 39.126559999873784], "geometry": {"coordinates": [[[-84.50564300046297, 39.12495999987392], [-84.50554300046298, 39.12655999987377], [-84.5045430004631, 39.126559999873784], [-84.50474300046305, 39.12495999987392], [-84.50564300046297, 39.12495999987392]]], "type": "Polygon"}, "id": "3", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 17.0, "AGE_18": 78.0, "AGE_20_24": 12.0, "AGE_21": 70.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 4.0, "AGE_62": 6.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610022004", "BLACK": 103.0, "BLOCK": "390610022004002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20784.6991, "F1_RACE": 117.0, "F2_RACES": 0.0, "FEMALE": 58.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 9.0, "ID": 695780.0, "IN_HOUSEHO": 117.0, "MALE": 59.0, "MALE_18": 43.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.8, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 115.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.57, "POPULATION": 117.0, "RENTER_SIZ": 2.25, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12645999987379, -84.50314300046327, 39.128259999873634], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50864300046265, 39.12745999987367], [-84.5073430004628, 39.127859999873635], [-84.50644300046291, 39.12775999987366], [-84.50524300046303, 39.12775999987366], [-84.50454300046312, 39.12795999987365], [-84.50334300046325, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50314300046327, 39.12815999987364], [-84.50324300046324, 39.12735999987369], [-84.50334300046323, 39.12645999987379], [-84.5045430004631, 39.126559999873784], [-84.50554300046298, 39.12655999987377], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "4", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 90.0, "AGE_20_24": 28.0, "AGE_21": 84.0, "AGE_25_34": 44.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.41, "BG": "390610033001", "BLACK": 39.0, "BLOCK": "390610033001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4019.0506, "F1_RACE": 92.0, "F2_RACES": 4.0, "FEMALE": 45.0, "FEMALE_18": 40.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 1.0, "ID": 695798.0, "IN_HOUSEHO": 96.0, "MALE": 51.0, "MALE_18": 50.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 96.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 52.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50944300046258, 39.12865999987357, -84.50774300046278, 39.13005999987343], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.50774300046278, 39.12995999987345], [-84.50784300046276, 39.12865999987357], [-84.50870500046265, 39.12876799987356], [-84.50944300046258, 39.128859999873555], [-84.50934300046261, 39.13005999987343], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "5", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 41.0, "AGE_20_24": 14.0, "AGE_21": 38.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.88, "BG": "390610033002", "BLACK": 18.0, "BLOCK": "390610033002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5913.7961, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 695823.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 45.0, "RENTER_SIZ": 1.62, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5085430004627, 39.12995999987345, -84.5076430004628, 39.13125999987332], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.5084430004627, 39.131259999873315], [-84.5076430004628, 39.13125999987332], [-84.50774300046278, 39.12995999987345], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "6", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 14.0, "AGE_18": 61.0, "AGE_20_24": 29.0, "AGE_21": 38.0, "AGE_25_34": 8.0, "AGE_35_44": 6.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.31, "BG": "390610033002", "BLACK": 52.0, "BLOCK": "390610033002009", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21764.4799, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 42.0, "FEMALE_18": 32.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 11.0, "ID": 695843.0, "IN_HOUSEHO": 81.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 2.0, "MEDIAN_AGE": 20.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.33, "POPULATION": 81.0, "RENTER_SIZ": 2.52, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 24.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50784300046276, 39.12865999987357, -84.50704300046286, 39.12995999987345], "geometry": {"coordinates": [[[-84.50784300046276, 39.12865999987357], [-84.50774300046278, 39.12995999987345], [-84.50704300046286, 39.12995999987345], [-84.50714300046283, 39.12875999987356], [-84.50784300046276, 39.12865999987357]]], "type": "Polygon"}, "id": "7", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 19.0, "AGE_21": 27.0, "AGE_25_34": 4.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.13, "BG": "390610033002", "BLACK": 4.0, "BLOCK": "390610033002012", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9932.4581, "F1_RACE": 31.0, "F2_RACES": 1.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 695860.0, "IN_HOUSEHO": 32.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.7, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 32.0, "RENTER_SIZ": 2.08, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50714300046283, 39.12865999987357, -84.50614300046294, 39.12995999987345], "geometry": {"coordinates": [[[-84.50704300046286, 39.12995999987345], [-84.50614300046294, 39.129859999873474], [-84.50624300046294, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50704300046286, 39.12995999987345]]], "type": "Polygon"}, "id": "8", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 41.0, "AGE_20_24": 11.0, "AGE_21": 31.0, "AGE_25_34": 9.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.05, "BG": "390610033002", "BLACK": 2.0, "BLOCK": "390610033002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10157.3434, "F1_RACE": 39.0, "F2_RACES": 2.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 5.0, "ID": 695878.0, "IN_HOUSEHO": 41.0, "MALE": 27.0, "MALE_18": 27.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 41.0, "RENTER_SIZ": 2.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 37.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50774300046278, 39.129859999873474, -84.50604300046297, 39.13125999987332], "geometry": {"coordinates": [[[-84.50774300046278, 39.12995999987345], [-84.5076430004628, 39.13125999987332], [-84.50684300046287, 39.13125999987332], [-84.50604300046297, 39.13115999987337], [-84.50604300046297, 39.130959999873355], [-84.50614300046294, 39.129859999873474], [-84.50704300046286, 39.12995999987345], [-84.50774300046278, 39.12995999987345]]], "type": "Polygon"}, "id": "9", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 12.0, "AGE_18": 72.0, "AGE_20_24": 26.0, "AGE_21": 58.0, "AGE_25_34": 12.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 1.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.07, "BG": "390610033002", "BLACK": 49.0, "BLOCK": "390610033002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11417.4899, "F1_RACE": 83.0, "F2_RACES": 6.0, "FEMALE": 56.0, "FEMALE_18": 43.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 1.0, "ID": 695895.0, "IN_HOUSEHO": 89.0, "MALE": 33.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.6, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 89.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 89.0, "RENTER_SIZ": 3.61, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.131259999873315, -84.50744300046281, 39.13255999987321], "geometry": {"coordinates": [[[-84.5084430004627, 39.131259999873315], [-84.50844300046272, 39.13255999987321], [-84.50744300046281, 39.13245999987321], [-84.5076430004628, 39.13125999987332], [-84.5084430004627, 39.131259999873315]]], "type": "Polygon"}, "id": "10", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 40.0, "AGE_20_24": 21.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.21, "BG": "390610033002", "BLACK": 20.0, "BLOCK": "390610033002002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10037.174, "F1_RACE": 41.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 6.0, "ID": 695916.0, "IN_HOUSEHO": 42.0, "MALE": 30.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 42.0, "RENTER_SIZ": 2.12, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 19.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5076430004628, 39.13125999987332, -84.5066430004629, 39.13245999987321], "geometry": {"coordinates": [[[-84.5076430004628, 39.13125999987332], [-84.50744300046281, 39.13245999987321], [-84.5066430004629, 39.13245999987321], [-84.50684300046287, 39.13125999987332], [-84.5076430004628, 39.13125999987332]]], "type": "Polygon"}, "id": "11", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 59.0, "AGE_20_24": 36.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 6.0, "AP_WHITE": 41.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.27, "BG": "390610033002", "BLACK": 19.0, "BLOCK": "390610033002001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19128.3583, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 23.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 695934.0, "IN_HOUSEHO": 68.0, "MALE": 45.0, "MALE_18": 41.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 65.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.5, "POPULATION": 68.0, "RENTER_SIZ": 2.32, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50744300046281, 39.13245999987321, -84.50654300046293, 39.133859999873096], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50654300046293, 39.13375999987311], [-84.5066430004629, 39.13245999987321], [-84.50744300046281, 39.13245999987321], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "12", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 80.0, "AGE_20_24": 46.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 49.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.91, "BG": "390610032002", "BLACK": 48.0, "BLOCK": "390610032002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24640.7769, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 28.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 8.0, "ID": 695951.0, "IN_HOUSEHO": 99.0, "MALE": 61.0, "MALE_18": 52.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 49.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 99.0, "RENTER_SIZ": 3.59, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 49.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50644300046291, 39.12775999987366, -84.50424300046318, 39.130959999873355], "geometry": {"coordinates": [[[-84.50614300046294, 39.129859999873474], [-84.50604300046297, 39.130959999873355], [-84.50514300046305, 39.130959999873355], [-84.50424300046318, 39.13085999987339], [-84.50454300046312, 39.12795999987365], [-84.50524300046303, 39.12775999987366], [-84.50644300046291, 39.12775999987366], [-84.50624300046294, 39.12865999987357], [-84.50614300046294, 39.129859999873474]]], "type": "Polygon"}, "id": "13", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 15.0, "AGE_15_19": 15.0, "AGE_18": 147.0, "AGE_20_24": 37.0, "AGE_21": 127.0, "AGE_25_34": 39.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 12.0, "AP_WHITE": 86.0, "AREA": 0.02, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.06, "AVG_HHSIZE": 2.29, "BG": "390610033001", "BLACK": 81.0, "BLOCK": "390610033001008", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8786.3934, "F1_RACE": 177.0, "F2_RACES": 7.0, "FEMALE": 80.0, "FEMALE_18": 61.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 18.0, "ID": 695969.0, "IN_HOUSEHO": 179.0, "MALE": 104.0, "MALE_18": 86.0, "MALE_65": 5.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 82.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 55.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 2.74, "POPULATION": 184.0, "RENTER_SIZ": 2.11, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 83.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50684300046287, 39.13115999987337, -84.505843000463, 39.13245999987322], "geometry": {"coordinates": [[[-84.50684300046287, 39.13125999987332], [-84.5066430004629, 39.13245999987321], [-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13175999987331], [-84.50604300046297, 39.13115999987337], [-84.50684300046287, 39.13125999987332]]], "type": "Polygon"}, "id": "14", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 695990.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5066430004629, 39.13245999987321, -84.50574300046303, 39.13375999987311], "geometry": {"coordinates": [[[-84.50654300046293, 39.13375999987311], [-84.50574300046303, 39.1336599998731], [-84.505843000463, 39.13315999987314], [-84.505843000463, 39.13245999987322], [-84.5066430004629, 39.13245999987321], [-84.50654300046293, 39.13375999987311]]], "type": "Polygon"}, "id": "15", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 30.0, "AGE_21": 49.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 33.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.3, "BG": "390610032002", "BLACK": 26.0, "BLOCK": "390610032002010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17261.0752, "F1_RACE": 62.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 696008.0, "IN_HOUSEHO": 62.0, "MALE": 38.0, "MALE_18": 30.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 62.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.86, "POPULATION": 62.0, "RENTER_SIZ": 2.45, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 33.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50604300046297, 39.130959999873355, -84.50504300046309, 39.13175999987331], "geometry": {"coordinates": [[[-84.50604300046297, 39.13115999987337], [-84.505843000463, 39.13175999987331], [-84.50504300046309, 39.131659999873285], [-84.50514300046305, 39.130959999873355], [-84.50604300046297, 39.130959999873355], [-84.50604300046297, 39.13115999987337]]], "type": "Polygon"}, "id": "16", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 27.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 7.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.82, "AVG_HHSIZE": 2.5, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16243.4072, "F1_RACE": 39.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 18.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 696027.0, "IN_HOUSEHO": 40.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 40.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.131659999873285, -84.50504300046309, 39.13245999987322], "geometry": {"coordinates": [[[-84.505843000463, 39.13175999987331], [-84.505843000463, 39.13245999987322], [-84.50504300046309, 39.13235999987324], [-84.50504300046309, 39.131659999873285], [-84.505843000463, 39.13175999987331]]], "type": "Polygon"}, "id": "17", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 11.0, "AGE_21": 19.0, "AGE_25_34": 11.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.53, "BG": "390610033001", "BLACK": 6.0, "BLOCK": "390610033001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11091.2573, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 696046.0, "IN_HOUSEHO": 23.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 23.0, "RENTER_SIZ": 1.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50514300046305, 39.13085999987339, -84.50424300046318, 39.131659999873285], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50424300046318, 39.13155999987331], [-84.50424300046318, 39.13085999987339], [-84.50514300046305, 39.130959999873355], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "18", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 36.0, "AGE_20_24": 10.0, "AGE_21": 33.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.96, "BG": "390610033001", "BLACK": 28.0, "BLOCK": "390610033001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20253.2817, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 20.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 5.0, "ID": 696063.0, "IN_HOUSEHO": 45.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.95, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13155999987331, -84.50414300046317, 39.13235999987324], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50504300046309, 39.13235999987324], [-84.50414300046317, 39.13225999987324], [-84.50424300046318, 39.13155999987331], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "19", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 54.0, "AGE_20_24": 22.0, "AGE_21": 43.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.22, "BG": "390610033001", "BLACK": 33.0, "BLOCK": "390610033001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 26104.6528, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 696081.0, "IN_HOUSEHO": 58.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 58.0, "RENTER_SIZ": 2.71, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13235999987324, -84.5049430004631, 39.13315999987314], "geometry": {"coordinates": [[[-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13315999987314], [-84.5049430004631, 39.13305999987318], [-84.50504300046309, 39.13235999987324], [-84.505843000463, 39.13245999987322]]], "type": "Polygon"}, "id": "20", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 3.0, "BG": "390610032002", "BLACK": 12.0, "BLOCK": "390610032002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5400.9967, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 696098.0, "IN_HOUSEHO": 12.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 12.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.12485999987395, -84.50334300046323, 39.126559999873784], "geometry": {"coordinates": [[[-84.5045430004631, 39.126559999873784], [-84.50334300046323, 39.12645999987379], [-84.5034430004632, 39.12485999987395], [-84.50474300046305, 39.12495999987392], [-84.5045430004631, 39.126559999873784]]], "type": "Polygon"}, "id": "21", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 112.0, "AGE_20_24": 33.0, "AGE_21": 96.0, "AGE_25_34": 27.0, "AGE_35_44": 18.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 57.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.39, "BG": "390610022004", "BLACK": 61.0, "BLOCK": "390610022004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16616.8953, "F1_RACE": 120.0, "F2_RACES": 4.0, "FEMALE": 44.0, "FEMALE_18": 35.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 16.0, "ID": 696116.0, "IN_HOUSEHO": 124.0, "MALE": 80.0, "MALE_18": 77.0, "MALE_65": 4.0, "MEDIAN_AGE": 26.3, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 80.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 124.0, "RENTER_SIZ": 1.33, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 54.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12485999987395, -84.5025430004633, 39.12645999987379], "geometry": {"coordinates": [[[-84.5034430004632, 39.12485999987395], [-84.50334300046323, 39.12645999987379], [-84.50254300046332, 39.126359999873785], [-84.5025430004633, 39.12485999987396], [-84.5034430004632, 39.12485999987395]]], "type": "Polygon"}, "id": "22", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 1.0, "AGE_35_44": 15.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 7.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.77, "AVG_HHSIZE": 2.04, "BG": "390610022004", "BLACK": 52.0, "BLOCK": "390610022004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10841.8176, "F1_RACE": 52.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 23.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 13.0, "ID": 696133.0, "IN_HOUSEHO": 53.0, "MALE": 23.0, "MALE_18": 17.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.88, "POPULATION": 53.0, "RENTER_SIZ": 1.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50334300046323, 39.126359999873785, -84.5017430004634, 39.12735999987369], "geometry": {"coordinates": [[[-84.50334300046323, 39.12645999987379], [-84.50324300046324, 39.12735999987369], [-84.5018430004634, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.50254300046332, 39.126359999873785], [-84.50334300046323, 39.12645999987379]]], "type": "Polygon"}, "id": "23", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 216.0, "AGE_20_24": 46.0, "AGE_21": 198.0, "AGE_25_34": 53.0, "AGE_35_44": 36.0, "AGE_45_54": 34.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 31.0, "AGE_65": 28.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 11.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 88.0, "AREA": 0.01, "ASIAN": 11.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.26, "BG": "390610033001", "BLACK": 124.0, "BLOCK": "390610033001013", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 43709.5862, "F1_RACE": 218.0, "F2_RACES": 7.0, "FEMALE": 118.0, "FEMALE_18": 112.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 158.0, "HOUSEHOLDS": 178.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 178.0, "HU_VACANT": 15.0, "ID": 696151.0, "IN_HOUSEHO": 225.0, "MALE": 107.0, "MALE_18": 104.0, "MALE_65": 14.0, "MEDIAN_AGE": 34.2, "MSA": "1640", "NH_WHITE": 81.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 178.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 225.0, "RENTER_SIZ": 1.26, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 82.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50254300046332, 39.12475999987396, -84.50174300046339, 39.126359999873806], "geometry": {"coordinates": [[[-84.5025430004633, 39.12485999987396], [-84.50254300046332, 39.126359999873785], [-84.5017430004634, 39.126359999873806], [-84.50194300046337, 39.125159999873944], [-84.50174300046339, 39.12475999987396], [-84.5025430004633, 39.12485999987396]]], "type": "Polygon"}, "id": "24", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610022001", "BLACK": 0.0, "BLOCK": "390610022001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 696169.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51354400046225, 39.14475999987204, -84.51184400046245, 39.14605999987192], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51184400046245, 39.14585999987196], [-84.51194400046242, 39.14475999987204], [-84.51224400046239, 39.14475999987204], [-84.5132440004623, 39.145059999872046], [-84.51354400046225, 39.145259999872], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "25", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 45.0, "AGE_25_34": 5.0, "AGE_35_44": 15.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.91, "AVG_HHSIZE": 1.93, "BG": "390610069003", "BLACK": 53.0, "BLOCK": "390610069003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9139.2801, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 2.0, "ID": 687545.0, "IN_HOUSEHO": 56.0, "MALE": 28.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 43.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.77, "POPULATION": 56.0, "RENTER_SIZ": 2.06, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51254400046238, 39.14205999987235, -84.50534300046313, 39.14955999987163], "geometry": {"coordinates": [[[-84.51254400046238, 39.1475599998718], [-84.51194400046245, 39.14875999987168], [-84.51114400046254, 39.14955999987163], [-84.5106440004626, 39.14925999987166], [-84.51034400046261, 39.14905999987166], [-84.5096440004627, 39.148759999871686], [-84.50884400046277, 39.14805999987176], [-84.50834400046283, 39.147259999871835], [-84.50714400046296, 39.14655999987191], [-84.50644400046303, 39.146459999871915], [-84.50544300046313, 39.14645999987191], [-84.50534300046313, 39.14555999987203], [-84.5055430004631, 39.143859999872156], [-84.50564300046308, 39.142959999872254], [-84.50574300046307, 39.14205999987235], [-84.5092440004627, 39.142259999872316], [-84.50984400046265, 39.14275999987224], [-84.5101440004626, 39.14305999987221], [-84.51194400046242, 39.14475999987204], [-84.51184400046245, 39.14585999987196], [-84.51164500046248, 39.14754799987178], [-84.51164400046247, 39.1475599998718], [-84.51254400046238, 39.1475599998718]]], "type": "Polygon"}, "id": "26", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 21.0, "AGE_18": 152.0, "AGE_20_24": 12.0, "AGE_21": 148.0, "AGE_25_34": 28.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 11.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 35.0, "AGE_65": 32.0, "AGE_65_74": 18.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 207.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.12, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.61, "BG": "390610069003", "BLACK": 207.0, "BLOCK": "390610069003000", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1820.1248, "F1_RACE": 222.0, "F2_RACES": 0.0, "FEMALE": 122.0, "FEMALE_18": 91.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 85.0, "HSNG_UNITS": 109.0, "HU_OCCUPIE": 85.0, "HU_VACANT": 24.0, "ID": 687585.0, "IN_HOUSEHO": 222.0, "MALE": 100.0, "MALE_18": 61.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 221.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.35, "POPULATION": 222.0, "RENTER_SIZ": 2.88, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51334400046228, 39.14585999987196, -84.51164400046247, 39.1475599998718], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51264400046237, 39.14735999987182], [-84.51254400046238, 39.1475599998718], [-84.51164400046247, 39.1475599998718], [-84.51164500046248, 39.14754799987178], [-84.51184400046245, 39.14585999987196], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "27", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 11.0, "AGE_15_19": 15.0, "AGE_18": 64.0, "AGE_20_24": 6.0, "AGE_21": 55.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 15.0, "AGE_55_59": 4.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.75, "BG": "390610069003", "BLACK": 94.0, "BLOCK": "390610069003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13605.8656, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 56.0, "FEMALE_18": 39.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 5.0, "ID": 687621.0, "IN_HOUSEHO": 99.0, "MALE": 43.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.04, "POPULATION": 99.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51114400046254, 39.148759999871686, -84.5088440004628, 39.151459999871456], "geometry": {"coordinates": [[[-84.5106440004626, 39.14925999987166], [-84.51114400046254, 39.14955999987163], [-84.51058400046261, 39.15017099987156], [-84.51004400046266, 39.150759999871525], [-84.50924400046277, 39.151459999871456], [-84.5088440004628, 39.15095999987151], [-84.50924400046276, 39.150759999871525], [-84.5096440004627, 39.148759999871686], [-84.51034400046261, 39.14905999987166], [-84.5106440004626, 39.14925999987166]]], "type": "Polygon"}, "id": "28", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 7.0, "AGE_55_59": 5.0, "AGE_5_9": 10.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.13, "BG": "390610069004", "BLACK": 70.0, "BLOCK": "390610069004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7451.3647, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 25.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 687678.0, "IN_HOUSEHO": 72.0, "MALE": 32.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 72.0, "RENTER_SIZ": 4.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.53054400046031, 39.129559999873415, -84.52194400046125, 39.13445999987294], "geometry": {"coordinates": [[[-84.52954400046043, 39.13215999987317], [-84.52784400046063, 39.13295999987308], [-84.52654400046077, 39.13375999987302], [-84.52644400046078, 39.133959999872985], [-84.5264440004608, 39.13445999987294], [-84.524462000461, 39.13436999987297], [-84.52424400046101, 39.13435999987296], [-84.52284400046116, 39.13435999987296], [-84.52294400046114, 39.13295999987311], [-84.52301200046112, 39.1321479998732], [-84.52304400046114, 39.131759999873225], [-84.52194400046125, 39.13165999987322], [-84.52234400046119, 39.129559999873415], [-84.52374400046105, 39.129659999873425], [-84.52444400046097, 39.129659999873425], [-84.52534400046086, 39.12975999987339], [-84.5259440004608, 39.12975999987339], [-84.52674400046072, 39.12985999987338], [-84.5269440004607, 39.12985999987338], [-84.5279120004606, 39.129940999873355], [-84.53054400046031, 39.130159999873335], [-84.53034400046035, 39.13085999987328], [-84.5279440004606, 39.1307599998733], [-84.52774400046063, 39.132059999873164], [-84.52794400046061, 39.13195999987317], [-84.52954400046043, 39.13215999987317]]], "type": "Polygon"}, "id": "29", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 61.0, "AGE_18": 624.0, "AGE_20_24": 272.0, "AGE_21": 520.0, "AGE_25_34": 128.0, "AGE_35_44": 59.0, "AGE_45_54": 58.0, "AGE_55_59": 12.0, "AGE_5_9": 14.0, "AGE_60_64": 11.0, "AGE_62": 52.0, "AGE_65": 44.0, "AGE_65_74": 23.0, "AGE_75_84": 14.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 25.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 590.0, "AREA": 0.1, "ASIAN": 23.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.76, "BG": "390610029003", "BLACK": 69.0, "BLOCK": "390610029003000", "BURGLARY": 10, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7170.8735, "F1_RACE": 666.0, "F2_RACES": 22.0, "FEMALE": 284.0, "FEMALE_18": 250.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 119.0, "GROUP_QUAR": 119.0, "HAWAIIAN": 0.0, "HH_FAMILY": 73.0, "HH_NONFAMI": 250.0, "HOUSEHOLDS": 323.0, "HSNG_UNITS": 358.0, "HU_OCCUPIE": 323.0, "HU_VACANT": 35.0, "ID": 677316.0, "IN_HOUSEHO": 569.0, "MALE": 404.0, "MALE_18": 374.0, "MALE_65": 16.0, "MEDIAN_AGE": 24.1, "MSA": "1640", "NH_WHITE": 570.0, "NOT_HISPAN": 684.0, "OCCHU_OWNE": 74.0, "OCCHU_RENT": 249.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.93, "POPULATION": 688.0, "RENTER_SIZ": 1.71, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 572.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12385999987407, -84.49054300046461, 39.12485999987399], "geometry": {"coordinates": [[[-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12485999987399], [-84.49054300046461, 39.12475999987402], [-84.49094300046455, 39.12395999987406], [-84.49114300046453, 39.12385999987407], [-84.49114300046453, 39.12445999987403]]], "type": "Polygon"}, "id": "30", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 750.053, "F1_RACE": 0.0, "F2_RACES": 1.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 673099.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48994300046463, 39.11995999987445, -84.48814300046483, 39.121959999874264], "geometry": {"coordinates": [[[-84.48984300046465, 39.12095999987435], [-84.48974300046466, 39.121959999874264], [-84.48814300046483, 39.121859999874275], [-84.48814300046483, 39.1216599998743], [-84.4883430004648, 39.119959999874474], [-84.48994300046463, 39.11995999987445], [-84.48984300046465, 39.12095999987435]]], "type": "Polygon"}, "id": "31", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 105.0, "AGE_20_24": 7.0, "AGE_21": 101.0, "AGE_25_34": 36.0, "AGE_35_44": 23.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 5.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 67.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 62.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.86, "BG": "390610019001", "BLACK": 67.0, "BLOCK": "390610019001005", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11143.0829, "F1_RACE": 128.0, "F2_RACES": 2.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 14.0, "ID": 673118.0, "IN_HOUSEHO": 130.0, "MALE": 67.0, "MALE_18": 57.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 60.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.88, "POPULATION": 130.0, "RENTER_SIZ": 1.85, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 60.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49134300046451, 39.12315999987414, -84.48914300046475, 39.12495999987399], "geometry": {"coordinates": [[[-84.48964300046468, 39.12315999987414], [-84.49134300046451, 39.12325999987412], [-84.49094300046455, 39.12395999987406], [-84.49054300046461, 39.12475999987402], [-84.49044300046461, 39.12495999987399], [-84.48914300046475, 39.124859999874], [-84.48914300046475, 39.123859999874085], [-84.48964300046468, 39.12315999987414]]], "type": "Polygon"}, "id": "32", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 63.0, "AGE_20_24": 2.0, "AGE_21": 63.0, "AGE_25_34": 6.0, "AGE_35_44": 15.0, "AGE_45_54": 20.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 61.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.33, "BG": "390610019001", "BLACK": 61.0, "BLOCK": "390610019001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6453.8469, "F1_RACE": 67.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 7.0, "ID": 673138.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 37.0, "MALE_65": 8.0, "MEDIAN_AGE": 48.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 68.0, "RENTER_SIZ": 1.17, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48974300046466, 39.121859999874275, -84.48784300046489, 39.124859999874026], "geometry": {"coordinates": [[[-84.48974300046466, 39.121959999874264], [-84.48964300046468, 39.12315999987414], [-84.48914300046475, 39.123859999874085], [-84.48914300046475, 39.124859999874], [-84.48784300046489, 39.124859999874026], [-84.48784300046489, 39.12445999987403], [-84.48814300046483, 39.121859999874275], [-84.48974300046466, 39.121959999874264]]], "type": "Polygon"}, "id": "33", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 13.0, "AGE_15_19": 0.0, "AGE_18": 166.0, "AGE_20_24": 13.0, "AGE_21": 162.0, "AGE_25_34": 39.0, "AGE_35_44": 39.0, "AGE_45_54": 37.0, "AGE_55_59": 10.0, "AGE_5_9": 5.0, "AGE_60_64": 11.0, "AGE_62": 24.0, "AGE_65": 17.0, "AGE_65_74": 11.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 124.0, "AP_HAWAIIA": 9.0, "AP_HISPANI": 1.0, "AP_OTHER": 8.0, "AP_WHITE": 57.0, "AREA": 0.02, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.52, "BG": "390610019001", "BLACK": 122.0, "BLOCK": "390610019001002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11986.7841, "F1_RACE": 182.0, "F2_RACES": 10.0, "FEMALE": 90.0, "FEMALE_18": 78.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 1.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 99.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 9.0, "ID": 673157.0, "IN_HOUSEHO": 186.0, "MALE": 102.0, "MALE_18": 88.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 99.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.04, "POPULATION": 192.0, "RENTER_SIZ": 1.4, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 55.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11755999987469, -84.48694300046495, 39.119959999874474], "geometry": {"coordinates": [[[-84.48804300046481, 39.11755999987469], [-84.48794300046484, 39.11825999987461], [-84.48784300046485, 39.118759999874584], [-84.4883430004648, 39.119959999874474], [-84.48694300046495, 39.11915999987453], [-84.48744300046488, 39.11825999987463], [-84.48804300046481, 39.11755999987469]]], "type": "Polygon"}, "id": "34", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 673193.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11915999987453, -84.48654300046502, 39.1216599998743], "geometry": {"coordinates": [[[-84.4883430004648, 39.119959999874474], [-84.48814300046483, 39.1216599998743], [-84.48654300046502, 39.1215599998743], [-84.486643000465, 39.11975999987448], [-84.48694300046495, 39.11915999987453], [-84.4883430004648, 39.119959999874474]]], "type": "Polygon"}, "id": "35", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 217.0, "AGE_20_24": 35.0, "AGE_21": 208.0, "AGE_25_34": 72.0, "AGE_35_44": 29.0, "AGE_45_54": 21.0, "AGE_55_59": 9.0, "AGE_5_9": 2.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 39.0, "AGE_65_74": 9.0, "AGE_75_84": 15.0, "AGE_85": 15.0, "AMINDIAN": 2.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 2.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 3.0, "AP_WHITE": 163.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.48, "BG": "390610020002", "BLACK": 59.0, "BLOCK": "390610020002006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18000.3183, "F1_RACE": 225.0, "F2_RACES": 5.0, "FEMALE": 119.0, "FEMALE_18": 111.0, "FEMALE_65": 24.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 29.0, "HH_NONFAMI": 101.0, "HOUSEHOLDS": 130.0, "HSNG_UNITS": 140.0, "HU_OCCUPIE": 130.0, "HU_VACANT": 10.0, "ID": 673212.0, "IN_HOUSEHO": 192.0, "MALE": 111.0, "MALE_18": 106.0, "MALE_65": 15.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 160.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 32.0, "OCCHU_RENT": 98.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.84, "POPULATION": 230.0, "RENTER_SIZ": 1.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 160.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48694300046495, 39.118459999874595, -84.48474300046519, 39.120659999874405], "geometry": {"coordinates": [[[-84.48694300046495, 39.11915999987453], [-84.486643000465, 39.11975999987448], [-84.48564300046509, 39.11975999987448], [-84.48544300046511, 39.11985999987447], [-84.48514300046514, 39.120659999874405], [-84.48474300046519, 39.11995999987449], [-84.48474300046519, 39.119159999874555], [-84.48534300046512, 39.11865999987457], [-84.48555500046508, 39.118617999874594], [-84.486343000465, 39.118459999874595], [-84.48694300046495, 39.11915999987453]]], "type": "Polygon"}, "id": "36", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 219.0, "AGE_20_24": 6.0, "AGE_21": 218.0, "AGE_25_34": 15.0, "AGE_35_44": 15.0, "AGE_45_54": 37.0, "AGE_55_59": 15.0, "AGE_5_9": 1.0, "AGE_60_64": 13.0, "AGE_62": 125.0, "AGE_65": 118.0, "AGE_65_74": 46.0, "AGE_75_84": 58.0, "AGE_85": 14.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 197.0, "AREA": 0.01, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.27, "BG": "390610020002", "BLACK": 18.0, "BLOCK": "390610020002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23114.5895, "F1_RACE": 220.0, "F2_RACES": 0.0, "FEMALE": 118.0, "FEMALE_18": 118.0, "FEMALE_65": 68.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 135.0, "HOUSEHOLDS": 173.0, "HSNG_UNITS": 188.0, "HU_OCCUPIE": 173.0, "HU_VACANT": 15.0, "ID": 673231.0, "IN_HOUSEHO": 220.0, "MALE": 102.0, "MALE_18": 101.0, "MALE_65": 50.0, "MEDIAN_AGE": 68.3, "MSA": "1640", "NH_WHITE": 197.0, "NOT_HISPAN": 220.0, "OCCHU_OWNE": 24.0, "OCCHU_RENT": 149.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.46, "POPULATION": 220.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 197.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.486643000465, 39.11975999987448, -84.48514300046514, 39.12225999987424], "geometry": {"coordinates": [[[-84.48654300046502, 39.1215599998743], [-84.48644300046502, 39.12225999987424], [-84.48614300046505, 39.12215999987426], [-84.48514300046514, 39.121059999874355], [-84.48514300046514, 39.120659999874405], [-84.48544300046511, 39.11985999987447], [-84.48564300046509, 39.11975999987448], [-84.486643000465, 39.11975999987448], [-84.48654300046502, 39.1215599998743]]], "type": "Polygon"}, "id": "37", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 99.0, "AGE_20_24": 16.0, "AGE_21": 93.0, "AGE_25_34": 43.0, "AGE_35_44": 13.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 68.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.5, "BG": "390610020002", "BLACK": 35.0, "BLOCK": "390610020002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10681.4877, "F1_RACE": 104.0, "F2_RACES": 4.0, "FEMALE": 52.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 86.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 14.0, "ID": 673252.0, "IN_HOUSEHO": 108.0, "MALE": 56.0, "MALE_18": 52.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 66.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 108.0, "RENTER_SIZ": 1.37, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 66.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48814300046483, 39.1215599998743, -84.48614300046508, 39.12445999987403], "geometry": {"coordinates": [[[-84.48814300046483, 39.121859999874275], [-84.48784300046489, 39.12445999987403], [-84.48614300046508, 39.12435999987406], [-84.48644300046502, 39.12225999987424], [-84.48654300046502, 39.1215599998743], [-84.48814300046483, 39.1216599998743], [-84.48814300046483, 39.121859999874275]]], "type": "Polygon"}, "id": "38", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 138.0, "AGE_20_24": 13.0, "AGE_21": 130.0, "AGE_25_34": 45.0, "AGE_35_44": 28.0, "AGE_45_54": 16.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 4.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 65.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 4.0, "AP_OTHER": 2.0, "AP_WHITE": 84.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.52, "BG": "390610020002", "BLACK": 58.0, "BLOCK": "390610020002002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8645.0376, "F1_RACE": 142.0, "F2_RACES": 8.0, "FEMALE": 68.0, "FEMALE_18": 63.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 30.0, "GROUP_QUAR": 30.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 85.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 6.0, "ID": 673272.0, "IN_HOUSEHO": 120.0, "MALE": 82.0, "MALE_18": 75.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 78.0, "NOT_HISPAN": 146.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.85, "POPULATION": 150.0, "RENTER_SIZ": 1.45, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 78.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48784300046489, 39.12435999987406, -84.48604300046509, 39.125459999873954], "geometry": {"coordinates": [[[-84.48784300046489, 39.12445999987403], [-84.48784300046489, 39.124859999874026], [-84.4877430004649, 39.125459999873954], [-84.48604300046509, 39.125359999873965], [-84.48614300046508, 39.12435999987406], [-84.48784300046489, 39.12445999987403]]], "type": "Polygon"}, "id": "39", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 60.0, "AGE_20_24": 6.0, "AGE_21": 56.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 8.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 6.0, "AP_BLACK": 49.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.57, "BG": "390610020002", "BLACK": 49.0, "BLOCK": "390610020002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11237.8312, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 13.0, "ID": 673292.0, "IN_HOUSEHO": 72.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 5.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 72.0, "RENTER_SIZ": 1.45, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 15.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48614300046505, 39.121059999874355, -84.48484300046519, 39.12215999987427], "geometry": {"coordinates": [[[-84.48514300046514, 39.121059999874355], [-84.48614300046505, 39.12215999987426], [-84.48534300046515, 39.12215999987427], [-84.48484300046519, 39.12205999987428], [-84.48514300046514, 39.121059999874355]]], "type": "Polygon"}, "id": "40", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 7.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 3.0, "BLOCK": "390610020002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5361.8973, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 673311.0, "IN_HOUSEHO": 14.0, "MALE": 8.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 14.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48644300046502, 39.12215999987426, -84.48504300046518, 39.12435999987406], "geometry": {"coordinates": [[[-84.48614300046505, 39.12215999987426], [-84.48644300046502, 39.12225999987424], [-84.48614300046508, 39.12435999987406], [-84.48504300046518, 39.12425999987408], [-84.48534300046515, 39.12215999987427], [-84.48614300046505, 39.12215999987426]]], "type": "Polygon"}, "id": "41", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 126.0, "AGE_20_24": 14.0, "AGE_21": 124.0, "AGE_25_34": 47.0, "AGE_35_44": 22.0, "AGE_45_54": 22.0, "AGE_55_59": 6.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 111.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 24.0, "BLOCK": "390610020002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15769.7309, "F1_RACE": 131.0, "F2_RACES": 8.0, "FEMALE": 75.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 7.0, "ID": 673328.0, "IN_HOUSEHO": 139.0, "MALE": 64.0, "MALE_18": 59.0, "MALE_65": 4.0, "MEDIAN_AGE": 32.6, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 138.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 89.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 139.0, "RENTER_SIZ": 1.56, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 105.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48614300046508, 39.12425999987408, -84.48504300046518, 39.125359999873965], "geometry": {"coordinates": [[[-84.48604300046509, 39.125359999873965], [-84.48504300046518, 39.12525999987396], [-84.48504300046518, 39.12425999987408], [-84.48614300046508, 39.12435999987406], [-84.48604300046509, 39.125359999873965]]], "type": "Polygon"}, "id": "42", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 65.0, "AGE_20_24": 6.0, "AGE_21": 63.0, "AGE_25_34": 27.0, "AGE_35_44": 16.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 1.81, "BG": "390610020002", "BLACK": 52.0, "BLOCK": "390610020002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21499.33, "F1_RACE": 83.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 44.0, "FEMALE_65": 0.0, "GQ_INSTITU": 19.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 28.0, "ID": 673347.0, "IN_HOUSEHO": 65.0, "MALE": 33.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 84.0, "RENTER_SIZ": 1.96, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 31.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48534300046515, 39.12205999987428, -84.48434300046526, 39.12525999987396], "geometry": {"coordinates": [[[-84.48504300046518, 39.12425999987408], [-84.48504300046518, 39.12525999987396], [-84.48434300046526, 39.125159999874], [-84.48484300046519, 39.12205999987428], [-84.48534300046515, 39.12215999987427], [-84.48504300046518, 39.12425999987408]]], "type": "Polygon"}, "id": "43", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610020001", "BLACK": 0.0, "BLOCK": "390610020001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 771.4783, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 673364.0, "IN_HOUSEHO": 5.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 5.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 5.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.12145999987434, -84.48254300046544, 39.12205999987428], "geometry": {"coordinates": [[[-84.48374300046531, 39.12175999987431], [-84.48384300046531, 39.12205999987428], [-84.48254300046544, 39.121959999874285], [-84.48264300046543, 39.12145999987434], [-84.48374300046531, 39.12175999987431]]], "type": "Polygon"}, "id": "44", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 4.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.38, "BG": "390610020001", "BLACK": 3.0, "BLOCK": "390610020001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6187.701, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 673383.0, "IN_HOUSEHO": 11.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 58.3, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 11.0, "RENTER_SIZ": 1.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 8.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.121959999874285, -84.48224300046549, 39.123859999874114], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48224300046549, 39.123659999874135], [-84.48254300046544, 39.121959999874285], [-84.48384300046531, 39.12205999987428], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "45", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 47.0, "AGE_20_24": 8.0, "AGE_21": 46.0, "AGE_25_34": 15.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.61, "BG": "390610020001", "BLACK": 14.0, "BLOCK": "390610020001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6509.2387, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 673399.0, "IN_HOUSEHO": 45.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 4.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 54.0, "RENTER_SIZ": 1.39, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 36.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48484300046519, 39.12205999987428, -84.48324300046541, 39.125159999874015], "geometry": {"coordinates": [[[-84.48484300046519, 39.12205999987428], [-84.48434300046526, 39.125159999874], [-84.48324300046541, 39.125159999874015], [-84.48344300046536, 39.123859999874114], [-84.48384300046531, 39.12205999987428], [-84.48484300046519, 39.12205999987428]]], "type": "Polygon"}, "id": "46", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 75.0, "AGE_20_24": 9.0, "AGE_21": 67.0, "AGE_25_34": 31.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 56.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.13, "AVG_HHSIZE": 1.26, "BG": "390610020001", "BLACK": 20.0, "BLOCK": "390610020001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6234.2304, "F1_RACE": 75.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 28.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 11.0, "ID": 673417.0, "IN_HOUSEHO": 77.0, "MALE": 47.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.4, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 76.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 77.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 54.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48344300046536, 39.123659999874135, -84.48194300046555, 39.12515999987403], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48324300046541, 39.125159999874015], [-84.48294300046541, 39.12515999987403], [-84.48194300046555, 39.12495999987402], [-84.48224300046549, 39.123659999874135], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "47", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 4.0, "AGE_21": 21.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610020001", "BLACK": 8.0, "BLOCK": "390610020001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4117.5953, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 14.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 673436.0, "IN_HOUSEHO": 26.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 26.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 18.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.486343000465, 39.11735999987473, -84.47834300046591, 39.124659999874055], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.47994300046574, 39.12345999987416], [-84.47964300046577, 39.124659999874055], [-84.47834300046591, 39.12445999987407], [-84.47854300046589, 39.12185999987432], [-84.47864300046585, 39.120659999874455], [-84.48484300046516, 39.11735999987473], [-84.48574300046508, 39.118159999874635], [-84.486343000465, 39.118459999874595], [-84.48555500046508, 39.118617999874594], [-84.48534300046512, 39.11865999987457], [-84.48474300046519, 39.119159999874555], [-84.48474300046519, 39.11995999987449], [-84.48514300046514, 39.120659999874405], [-84.48514300046514, 39.121059999874355], [-84.48484300046519, 39.12205999987428], [-84.48384300046531, 39.12205999987428], [-84.48374300046531, 39.12175999987431], [-84.48264300046543, 39.12145999987434], [-84.48254300046544, 39.121959999874285], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "48", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 10.0, "AGE_18": 378.0, "AGE_20_24": 31.0, "AGE_21": 369.0, "AGE_25_34": 110.0, "AGE_35_44": 53.0, "AGE_45_54": 59.0, "AGE_55_59": 30.0, "AGE_5_9": 5.0, "AGE_60_64": 18.0, "AGE_62": 86.0, "AGE_65": 75.0, "AGE_65_74": 52.0, "AGE_75_84": 21.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 7.0, "AP_WHITE": 316.0, "AREA": 0.1, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 73.0, "BLOCK": "390610020001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4075.5769, "F1_RACE": 400.0, "F2_RACES": 8.0, "FEMALE": 226.0, "FEMALE_18": 209.0, "FEMALE_65": 50.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 34.0, "GROUP_QUAR": 34.0, "HAWAIIAN": 0.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 155.0, "HOUSEHOLDS": 238.0, "HSNG_UNITS": 282.0, "HU_OCCUPIE": 238.0, "HU_VACANT": 44.0, "ID": 673454.0, "IN_HOUSEHO": 374.0, "MALE": 182.0, "MALE_18": 169.0, "MALE_65": 25.0, "MEDIAN_AGE": 41.7, "MSA": "1640", "NH_WHITE": 304.0, "NOT_HISPAN": 399.0, "OCCHU_OWNE": 90.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 1.76, "POPULATION": 408.0, "RENTER_SIZ": 1.46, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 310.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48224300046549, 39.12345999987416, -84.47964300046577, 39.12495999987402], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.48194300046555, 39.12495999987402], [-84.48154300046558, 39.12495999987402], [-84.4803430004657, 39.124859999874054], [-84.47964300046577, 39.124659999874055], [-84.47994300046574, 39.12345999987416], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "49", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 37.0, "AGE_20_24": 0.0, "AGE_21": 37.0, "AGE_25_34": 5.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 20.0, "AGE_65": 20.0, "AGE_65_74": 6.0, "AGE_75_84": 6.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 6.0, "BLOCK": "390610020001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3315.2547, "F1_RACE": 38.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 28.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 16.0, "GROUP_QUAR": 16.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 673484.0, "IN_HOUSEHO": 22.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 68.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 38.0, "RENTER_SIZ": 1.57, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 32.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.12675999987384, -84.48264300046547, 39.128859999873676], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48334300046541, 39.12855999987368], [-84.48264300046549, 39.128859999873676], [-84.48264300046547, 39.12805999987371], [-84.48284300046545, 39.12685999987385], [-84.48434300046527, 39.12675999987384], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "50", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 9.0, "AGE_18": 123.0, "AGE_20_24": 9.0, "AGE_21": 118.0, "AGE_25_34": 19.0, "AGE_35_44": 36.0, "AGE_45_54": 18.0, "AGE_55_59": 10.0, "AGE_5_9": 17.0, "AGE_60_64": 1.0, "AGE_62": 28.0, "AGE_65": 27.0, "AGE_65_74": 18.0, "AGE_75_84": 4.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 5.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 1.9, "BG": "390610037001", "BLACK": 154.0, "BLOCK": "390610037001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19383.9789, "F1_RACE": 167.0, "F2_RACES": 6.0, "FEMALE": 81.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 60.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 5.0, "ID": 709180.0, "IN_HOUSEHO": 173.0, "MALE": 92.0, "MALE_18": 63.0, "MALE_65": 15.0, "MEDIAN_AGE": 36.9, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 167.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.33, "POPULATION": 173.0, "RENTER_SIZ": 1.8, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4842430004653, 39.12765999987374, -84.48334300046541, 39.12855999987368], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48414300046532, 39.128459999873684], [-84.48334300046541, 39.12855999987368], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "51", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709200.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48414300046532, 39.128459999873684, -84.48334300046541, 39.129459999873596], "geometry": {"coordinates": [[[-84.48414300046532, 39.129259999873604], [-84.48404300046533, 39.129459999873596], [-84.48334300046541, 39.12935999987361], [-84.48334300046541, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.48414300046532, 39.129259999873604]]], "type": "Polygon"}, "id": "52", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 377.6733, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 709217.0, "IN_HOUSEHO": 1.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 51.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48334300046541, 39.12855999987368, -84.4825430004655, 39.12935999987361], "geometry": {"coordinates": [[[-84.48334300046541, 39.12855999987368], [-84.48334300046541, 39.12935999987361], [-84.48304300046544, 39.12935999987361], [-84.4825430004655, 39.12935999987361], [-84.48264300046549, 39.128859999873676], [-84.48334300046541, 39.12855999987368]]], "type": "Polygon"}, "id": "53", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 2.0, "BLOCK": "390610037003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1125.1529, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 709235.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 1.0, "MEDIAN_AGE": 83.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48154300046558, 39.124859999874054, -84.4786430004659, 39.12685999987386], "geometry": {"coordinates": [[[-84.48154300046558, 39.12495999987402], [-84.48134300046561, 39.12685999987385], [-84.47924300046583, 39.12675999987387], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.126059999873924], [-84.4803430004657, 39.124859999874054], [-84.48154300046558, 39.12495999987402]]], "type": "Polygon"}, "id": "54", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709254.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48284300046545, 39.12675999987387, -84.47804300046597, 39.12805999987371], "geometry": {"coordinates": [[[-84.48284300046545, 39.12685999987385], [-84.48264300046547, 39.12805999987371], [-84.47804300046597, 39.12745999987382], [-84.47824300046594, 39.12725999987383], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.12675999987387], [-84.48134300046561, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48284300046545, 39.12685999987385]]], "type": "Polygon"}, "id": "55", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 16.0, "AGE_15_19": 8.0, "AGE_18": 143.0, "AGE_20_24": 14.0, "AGE_21": 137.0, "AGE_25_34": 28.0, "AGE_35_44": 35.0, "AGE_45_54": 30.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 4.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 14.0, "AGE_75_84": 5.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 35.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.59, "AVG_HHSIZE": 2.35, "BG": "390610037001", "BLACK": 155.0, "BLOCK": "390610037001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12457.7064, "F1_RACE": 189.0, "F2_RACES": 2.0, "FEMALE": 88.0, "FEMALE_18": 60.0, "FEMALE_65": 16.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 65.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 65.0, "HU_VACANT": 18.0, "ID": 709272.0, "IN_HOUSEHO": 153.0, "MALE": 103.0, "MALE_18": 83.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.1, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.85, "POPULATION": 191.0, "RENTER_SIZ": 2.03, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 33.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48404300046533, 39.12935999987361, -84.48294300046545, 39.13065999987348], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48294300046545, 39.13055999987351], [-84.48304300046544, 39.12935999987361], [-84.48334300046541, 39.12935999987361], [-84.48404300046533, 39.129459999873596], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "56", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 1.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 1.8, "BG": "390610037003", "BLACK": 25.0, "BLOCK": "390610037003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5951.8877, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 709292.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 27.0, "RENTER_SIZ": 1.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48394300046536, 39.13055999987351, -84.48184300046557, 39.13178999987337], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48384300046537, 39.131359999873425], [-84.48384300046537, 39.131619999873394], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131759999873395], [-84.48375200046537, 39.13178999987337], [-84.48288500046546, 39.13137799987341], [-84.48274500046548, 39.13130799987342], [-84.48237000046552, 39.131118999873436], [-84.48216300046555, 39.130962999873454], [-84.48184300046557, 39.13065999987349], [-84.48214300046554, 39.13065999987349], [-84.48294300046545, 39.13055999987351], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "57", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 25.0, "AGE_20_24": 5.0, "AGE_21": 23.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.53, "BG": "390610037003", "BLACK": 47.0, "BLOCK": "390610037003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8862.921, "F1_RACE": 48.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 3.0, "ID": 709311.0, "IN_HOUSEHO": 48.0, "MALE": 24.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 48.0, "RENTER_SIZ": 2.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.128859999873676, -84.48174300046557, 39.12935999987361], "geometry": {"coordinates": [[[-84.48264300046549, 39.128859999873676], [-84.4825430004655, 39.12935999987361], [-84.48204300046554, 39.129259999873646], [-84.48174300046557, 39.129159999873636], [-84.48264300046549, 39.128859999873676]]], "type": "Polygon"}, "id": "58", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709334.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48375200046537, 39.13064399987349, -84.4816430004656, 39.13195999987335], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.48216300046555, 39.130962999873454], [-84.48237000046552, 39.131118999873436], [-84.48274500046548, 39.13130799987342], [-84.48288500046546, 39.13137799987341], [-84.48375200046537, 39.13178999987337], [-84.48324300046544, 39.13195999987335], [-84.4816430004656, 39.13185999987338], [-84.48174300046558, 39.13125999987342], [-84.48181600046559, 39.13082199987347], [-84.48174000046559, 39.130719999873506], [-84.4816930004656, 39.13064399987349], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "59", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 10.0, "AGE_18": 33.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 58.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.64, "BG": "390610037003", "BLACK": 58.0, "BLOCK": "390610037003000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12239.7822, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 19.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 9.0, "ID": 709351.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 58.0, "RENTER_SIZ": 2.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48304300046544, 39.129159999873636, -84.4797430004658, 39.13065999987349], "geometry": {"coordinates": [[[-84.48304300046544, 39.12935999987361], [-84.48294300046545, 39.13055999987351], [-84.48214300046554, 39.13065999987349], [-84.48184300046557, 39.13065999987349], [-84.48094600046568, 39.13011399987356], [-84.4806780004657, 39.12995299987357], [-84.48047200046572, 39.129839999873575], [-84.48026600046575, 39.129760999873604], [-84.48001800046576, 39.12971699987361], [-84.4797430004658, 39.129659999873596], [-84.4806430004657, 39.129559999873585], [-84.48174300046557, 39.129159999873636], [-84.48204300046554, 39.129259999873646], [-84.4825430004655, 39.12935999987361], [-84.48304300046544, 39.12935999987361]]], "type": "Polygon"}, "id": "60", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 5.0, "AGE_21": 54.0, "AGE_25_34": 10.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 7.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 1.88, "BG": "390610037003", "BLACK": 81.0, "BLOCK": "390610037003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7861.5423, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 32.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 5.0, "ID": 709372.0, "IN_HOUSEHO": 81.0, "MALE": 36.0, "MALE_18": 26.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 81.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48184300046557, 39.129659999873596, -84.4788430004659, 39.13185999987338], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.4816930004656, 39.13064399987349], [-84.48174000046559, 39.130719999873506], [-84.48181600046559, 39.13082199987347], [-84.48174300046558, 39.13125999987342], [-84.4816430004656, 39.13185999987338], [-84.4788430004659, 39.13155999987342], [-84.47904300046586, 39.130359999873534], [-84.4797430004658, 39.129659999873596], [-84.48001800046576, 39.12971699987361], [-84.48026600046575, 39.129760999873604], [-84.48047200046572, 39.129839999873575], [-84.4806780004657, 39.12995299987357], [-84.48094600046568, 39.13011399987356], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "61", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 76.0, "AGE_20_24": 7.0, "AGE_21": 72.0, "AGE_25_34": 11.0, "AGE_35_44": 23.0, "AGE_45_54": 14.0, "AGE_55_59": 7.0, "AGE_5_9": 0.0, "AGE_60_64": 5.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 80.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 80.0, "BLOCK": "390610037001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5072.4868, "F1_RACE": 88.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 38.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 56.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 56.0, "HU_VACANT": 3.0, "ID": 709393.0, "IN_HOUSEHO": 88.0, "MALE": 47.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 88.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 88.0, "RENTER_SIZ": 1.52, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 8.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4803430004657, 39.12445999987407, -84.477543000466, 39.126059999873924], "geometry": {"coordinates": [[[-84.47964300046577, 39.124659999874055], [-84.4803430004657, 39.124859999874054], [-84.47924300046583, 39.126059999873924], [-84.477543000466, 39.12595999987395], [-84.47774300046596, 39.12445999987407], [-84.47834300046591, 39.12445999987407], [-84.47964300046577, 39.124659999874055]]], "type": "Polygon"}, "id": "62", "properties": {"AGE_0_5": 31.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 109.0, "AGE_20_24": 20.0, "AGE_21": 99.0, "AGE_25_34": 42.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 2.17, "BG": "390610042002", "BLACK": 112.0, "BLOCK": "390610042002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14062.7526, "F1_RACE": 168.0, "F2_RACES": 1.0, "FEMALE": 109.0, "FEMALE_18": 74.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 5.0, "ID": 709415.0, "IN_HOUSEHO": 169.0, "MALE": 60.0, "MALE_18": 35.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 162.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 70.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 169.0, "RENTER_SIZ": 2.1, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 54.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47924300046583, 39.12595999987395, -84.477543000466, 39.12685999987387], "geometry": {"coordinates": [[[-84.47924300046583, 39.126059999873924], [-84.4786430004659, 39.12685999987386], [-84.47754300046601, 39.12685999987387], [-84.477543000466, 39.12595999987395], [-84.47924300046583, 39.126059999873924]]], "type": "Polygon"}, "id": "63", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 43.0, "AGE_25_34": 19.0, "AGE_35_44": 12.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.34, "BG": "390610042002", "BLACK": 23.0, "BLOCK": "390610042002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10532.1683, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 3.0, "ID": 709435.0, "IN_HOUSEHO": 47.0, "MALE": 16.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 47.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 24.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.12745999987382, -84.47704300046608, 39.129159999873636], "geometry": {"coordinates": [[[-84.48264300046547, 39.12805999987371], [-84.48264300046549, 39.128859999873676], [-84.48174300046557, 39.129159999873636], [-84.47704300046608, 39.12865999987371], [-84.47744300046602, 39.12815999987375], [-84.47804300046597, 39.12745999987382], [-84.48264300046547, 39.12805999987371]]], "type": "Polygon"}, "id": "64", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 203.0, "AGE_20_24": 20.0, "AGE_21": 198.0, "AGE_25_34": 43.0, "AGE_35_44": 63.0, "AGE_45_54": 32.0, "AGE_55_59": 14.0, "AGE_5_9": 11.0, "AGE_60_64": 6.0, "AGE_62": 25.0, "AGE_65": 22.0, "AGE_65_74": 15.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 0.0, "AP_BLACK": 193.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 50.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.97, "AVG_HHSIZE": 2.55, "BG": "390610037001", "BLACK": 190.0, "BLOCK": "390610037001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10515.7405, "F1_RACE": 238.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 62.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 49.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 22.0, "ID": 709452.0, "IN_HOUSEHO": 194.0, "MALE": 162.0, "MALE_18": 141.0, "MALE_65": 10.0, "MEDIAN_AGE": 38.3, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 49.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.48, "POPULATION": 243.0, "RENTER_SIZ": 2.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 48.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47774300046596, 39.1243599998741, -84.47644300046613, 39.12685999987387], "geometry": {"coordinates": [[[-84.477543000466, 39.12595999987395], [-84.47754300046601, 39.12685999987387], [-84.47644300046613, 39.12675999987388], [-84.4766430004661, 39.1243599998741], [-84.47744300046601, 39.1243599998741], [-84.47774300046596, 39.12445999987407], [-84.477543000466, 39.12595999987395]]], "type": "Polygon"}, "id": "65", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 98.0, "AGE_20_24": 14.0, "AGE_21": 97.0, "AGE_25_34": 31.0, "AGE_35_44": 24.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 75.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.91, "BG": "390610042002", "BLACK": 35.0, "BLOCK": "390610042002005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11483.761, "F1_RACE": 109.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 31.0, "HOUSEHOLDS": 58.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 58.0, "HU_VACANT": 11.0, "ID": 709472.0, "IN_HOUSEHO": 111.0, "MALE": 54.0, "MALE_18": 51.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 73.0, "NOT_HISPAN": 110.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.41, "POPULATION": 111.0, "RENTER_SIZ": 1.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 74.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4786430004659, 39.12675999987388, -84.47614300046617, 39.12815999987375], "geometry": {"coordinates": [[[-84.4786430004659, 39.12685999987386], [-84.47824300046594, 39.12725999987383], [-84.47804300046597, 39.12745999987382], [-84.47744300046602, 39.12815999987375], [-84.47614300046617, 39.12805999987374], [-84.47644300046613, 39.12675999987388], [-84.47754300046601, 39.12685999987387], [-84.4786430004659, 39.12685999987386]]], "type": "Polygon"}, "id": "66", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 19.0, "AGE_15_19": 26.0, "AGE_18": 121.0, "AGE_20_24": 11.0, "AGE_21": 115.0, "AGE_25_34": 27.0, "AGE_35_44": 33.0, "AGE_45_54": 20.0, "AGE_55_59": 8.0, "AGE_5_9": 26.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.57, "AVG_HHSIZE": 2.47, "BG": "390610042001", "BLACK": 185.0, "BLOCK": "390610042001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24439.8373, "F1_RACE": 201.0, "F2_RACES": 4.0, "FEMALE": 106.0, "FEMALE_18": 73.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 97.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 14.0, "ID": 709492.0, "IN_HOUSEHO": 205.0, "MALE": 99.0, "MALE_18": 48.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 205.0, "RENTER_SIZ": 2.34, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.47744300046602, 39.12805999987374, -84.47564300046623, 39.12945999987363], "geometry": {"coordinates": [[[-84.47674300046613, 39.12935999987364], [-84.47644300046615, 39.12925999987366], [-84.47564300046623, 39.12945999987363], [-84.47614300046617, 39.12805999987374], [-84.47744300046602, 39.12815999987375], [-84.47704300046608, 39.12865999987371], [-84.47674300046613, 39.12895999987367], [-84.47674300046613, 39.12935999987364]]], "type": "Polygon"}, "id": "67", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 47.0, "AGE_20_24": 1.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 17.0, "AGE_65": 15.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.21, "BG": "390610042001", "BLACK": 47.0, "BLOCK": "390610042001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10089.2509, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 1.0, "ID": 709513.0, "IN_HOUSEHO": 51.0, "MALE": 26.0, "MALE_18": 25.0, "MALE_65": 6.0, "MEDIAN_AGE": 53.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 51.0, "RENTER_SIZ": 1.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48174300046557, 39.12865999987371, -84.47674300046613, 39.129659999873596], "geometry": {"coordinates": [[[-84.48174300046557, 39.129159999873636], [-84.4806430004657, 39.129559999873585], [-84.4797430004658, 39.129659999873596], [-84.47864300046592, 39.12955999987361], [-84.47674300046613, 39.12935999987364], [-84.47674300046613, 39.12895999987367], [-84.47704300046608, 39.12865999987371], [-84.48174300046557, 39.129159999873636]]], "type": "Polygon"}, "id": "68", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 11.0, "BLOCK": "390610037001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1000.1608, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 15.0, "ID": 709531.0, "IN_HOUSEHO": 11.0, "MALE": 9.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 1.57, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4797430004658, 39.12935999987364, -84.47664300046614, 39.130359999873534], "geometry": {"coordinates": [[[-84.4797430004658, 39.129659999873596], [-84.47904300046586, 39.130359999873534], [-84.47664300046614, 39.13005999987358], [-84.47674300046613, 39.12935999987364], [-84.47864300046592, 39.12955999987361], [-84.4797430004658, 39.129659999873596]]], "type": "Polygon"}, "id": "69", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.75, "BG": "390610037001", "BLACK": 7.0, "BLOCK": "390610037001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 947.5052, "F1_RACE": 7.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 709550.0, "IN_HOUSEHO": 7.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 7.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 7.0, "RENTER_SIZ": 1.75, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47904300046586, 39.13005999987358, -84.47654300046615, 39.13155999987342], "geometry": {"coordinates": [[[-84.47904300046586, 39.130359999873534], [-84.4788430004659, 39.13155999987342], [-84.47654300046615, 39.13135999987346], [-84.47664300046614, 39.13005999987358], [-84.47904300046586, 39.130359999873534]]], "type": "Polygon"}, "id": "70", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.47, "BG": "390610041002", "BLACK": 37.0, "BLOCK": "390610041002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4266.2283, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 9.0, "ID": 709569.0, "IN_HOUSEHO": 47.0, "MALE": 15.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 47.0, "RENTER_SIZ": 2.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004100", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.487443000465, 39.13155999987342, -84.47854300046596, 39.137636999872846], "geometry": {"coordinates": [[[-84.48384300046537, 39.131759999873395], [-84.48383200046537, 39.13184799987338], [-84.48374300046537, 39.13255999987331], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.13276599987328], [-84.48504300046524, 39.13335999987322], [-84.48596700046515, 39.133397999873225], [-84.48613700046513, 39.133514999873206], [-84.487443000465, 39.133659999873196], [-84.48724300046503, 39.133859999873174], [-84.48714300046504, 39.13415999987315], [-84.48614300046513, 39.13435999987314], [-84.4839430004654, 39.136059999873005], [-84.48354300046543, 39.13635999987295], [-84.4829430004655, 39.137059999872875], [-84.4821430004656, 39.137559999872835], [-84.48183300046561, 39.137636999872846], [-84.47984300046583, 39.13475999987314], [-84.47864300046594, 39.134059999873195], [-84.47854300046596, 39.13375999987322], [-84.47864300046594, 39.13285999987331], [-84.4788430004659, 39.13155999987342], [-84.4816430004656, 39.13185999987338], [-84.48324300046544, 39.13195999987335], [-84.48375200046537, 39.13178999987337], [-84.48384300046537, 39.131759999873395]]], "type": "Polygon"}, "id": "71", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 289.0, "AGE_20_24": 9.0, "AGE_21": 285.0, "AGE_25_34": 38.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 9.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 143.0, "AGE_65": 135.0, "AGE_65_74": 40.0, "AGE_75_84": 49.0, "AGE_85": 46.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 340.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.1, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.1, "BG": "390610036001", "BLACK": 340.0, "BLOCK": "390610036001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3344.4579, "F1_RACE": 351.0, "F2_RACES": 0.0, "FEMALE": 203.0, "FEMALE_18": 170.0, "FEMALE_65": 83.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 137.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 18.0, "ID": 709605.0, "IN_HOUSEHO": 250.0, "MALE": 148.0, "MALE_18": 119.0, "MALE_65": 52.0, "MEDIAN_AGE": 48.2, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 31.0, "OCCHU_RENT": 88.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 351.0, "RENTER_SIZ": 1.83, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48644300046513, 39.136059999873005, -84.48183300046561, 39.14155999987249], "geometry": {"coordinates": [[[-84.48614300046516, 39.13805999987279], [-84.48644300046513, 39.13845999987274], [-84.48554300046524, 39.139159999872675], [-84.48454300046537, 39.14025999987261], [-84.48433500046538, 39.140559999872565], [-84.48364300046546, 39.14155999987249], [-84.48294300046551, 39.139859999872655], [-84.48214300046561, 39.13905999987272], [-84.48183300046561, 39.137636999872846], [-84.4821430004656, 39.137559999872835], [-84.4829430004655, 39.137059999872875], [-84.48354300046543, 39.13635999987295], [-84.4839430004654, 39.136059999873005], [-84.48534300046525, 39.13715999987289], [-84.48614300046516, 39.13805999987279]], [[-84.48604300046517, 39.13825999987277], [-84.48584300046521, 39.13805999987279], [-84.4849430004653, 39.13725999987287], [-84.48384300046541, 39.137559999872835], [-84.48404300046539, 39.138159999872784], [-84.48424300046537, 39.138959999872704], [-84.48504300046528, 39.13885999987272], [-84.48604300046517, 39.13825999987277]]], "type": "Polygon"}, "id": "72", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 70.0, "AGE_20_24": 10.0, "AGE_21": 64.0, "AGE_25_34": 8.0, "AGE_35_44": 13.0, "AGE_45_54": 18.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.78, "BG": "390610036001", "BLACK": 103.0, "BLOCK": "390610036001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2705.3799, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 55.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 9.0, "ID": 709637.0, "IN_HOUSEHO": 103.0, "MALE": 48.0, "MALE_18": 31.0, "MALE_65": 6.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 103.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13528099987297, -84.50234300046341, 39.13655999987285], "geometry": {"coordinates": [[[-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.135759999872924], [-84.50374300046326, 39.13655999987285], [-84.50234300046341, 39.136459999872876], [-84.5024430004634, 39.135759999872924], [-84.50244300046339, 39.13528099987297], [-84.50384300046323, 39.13536199987297]]], "type": "Polygon"}, "id": "73", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699143.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50264300046335, 39.13285999987319, -84.50094300046354, 39.13495999987302], "geometry": {"coordinates": [[[-84.50254300046338, 39.13425999987308], [-84.50244300046339, 39.13495999987302], [-84.50094300046354, 39.134859999873], [-84.5012430004635, 39.13285999987319], [-84.50264300046334, 39.13285999987319], [-84.50264300046335, 39.13345999987315], [-84.50254300046338, 39.13425999987308]]], "type": "Polygon"}, "id": "74", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 45.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 16.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 55.0, "BLOCK": "390610032002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8677.1914, "F1_RACE": 97.0, "F2_RACES": 1.0, "FEMALE": 40.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 77.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 98.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 699162.0, "IN_HOUSEHO": 0.0, "MALE": 58.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 98.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 42.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.134859999873, -84.50094300046354, 39.135759999872924], "geometry": {"coordinates": [[[-84.50244300046339, 39.13528099987297], [-84.5024430004634, 39.135759999872924], [-84.50094300046354, 39.135659999872956], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.134859999873], [-84.50244300046339, 39.13495999987302], [-84.50244300046339, 39.13528099987297]]], "type": "Polygon"}, "id": "75", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699182.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.135659999872956, -84.50084300046358, 39.136459999872876], "geometry": {"coordinates": [[[-84.50234300046341, 39.136459999872876], [-84.50084300046358, 39.13635999987288], [-84.50094300046354, 39.135659999872956], [-84.5024430004634, 39.135759999872924], [-84.50234300046341, 39.136459999872876]]], "type": "Polygon"}, "id": "76", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610032001", "BLACK": 1.0, "BLOCK": "390610032001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 254.7764, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 1.0, "ID": 699201.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 64.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50544300046307, 39.13635999987288, -84.5006430004636, 39.13955999987258], "geometry": {"coordinates": [[[-84.50544300046307, 39.13665999987285], [-84.50537800046308, 39.137129999872776], [-84.50504300046315, 39.13955999987258], [-84.50214300046343, 39.13935999987259], [-84.5015430004635, 39.13845999987268], [-84.5006430004636, 39.138359999872684], [-84.50084300046358, 39.13635999987288], [-84.50234300046341, 39.136459999872876], [-84.50374300046326, 39.13655999987285], [-84.50544300046307, 39.13665999987285]]], "type": "Polygon"}, "id": "77", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 6.0, "AGE_15_19": 2.0, "AGE_18": 48.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 6.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 42.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 25.0, "BLOCK": "390610032001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1555.3515, "F1_RACE": 68.0, "F2_RACES": 2.0, "FEMALE": 36.0, "FEMALE_18": 29.0, "FEMALE_65": 6.0, "GQ_INSTITU": 70.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 70.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699218.0, "IN_HOUSEHO": 0.0, "MALE": 34.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 39.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 70.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 40.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50014300046355, 39.12455999987399, -84.49904300046369, 39.12625999987383], "geometry": {"coordinates": [[[-84.4999430004636, 39.12625999987383], [-84.49904300046369, 39.12615999987382], [-84.49914300046366, 39.125359999873915], [-84.49914300046366, 39.12455999987399], [-84.50014300046355, 39.12465999987397], [-84.4999430004636, 39.12625999987383]]], "type": "Polygon"}, "id": "78", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 29.0, "BLOCK": "390610021002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7224.6969, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 3.0, "ID": 699239.0, "IN_HOUSEHO": 40.0, "MALE": 22.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 43.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 40.0, "RENTER_SIZ": 1.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5017430004634, 39.12605999987384, -84.4980430004638, 39.127759999873675], "geometry": {"coordinates": [[[-84.5017430004634, 39.126359999873806], [-84.50094300046348, 39.127259999873715], [-84.49984300046361, 39.127759999873675], [-84.4981430004638, 39.12745999987373], [-84.4980430004638, 39.127159999873754], [-84.49824300046377, 39.12605999987384], [-84.49904300046369, 39.12615999987382], [-84.4999430004636, 39.12625999987383], [-84.5017430004634, 39.126359999873806]]], "type": "Polygon"}, "id": "79", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610034002", "BLACK": 4.0, "BLOCK": "390610034002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 255.9509, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 699258.0, "IN_HOUSEHO": 4.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49914300046366, 39.125259999873926, -84.49784300046382, 39.12615999987382], "geometry": {"coordinates": [[[-84.49914300046366, 39.125359999873915], [-84.49904300046369, 39.12615999987382], [-84.49824300046377, 39.12605999987384], [-84.49784300046382, 39.126059999873846], [-84.49784300046382, 39.125259999873926], [-84.49914300046366, 39.125359999873915]]], "type": "Polygon"}, "id": "80", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49984300046361, 39.12745999987373, -84.49804300046381, 39.128259999873634], "geometry": {"coordinates": [[[-84.49984300046361, 39.127759999873675], [-84.49914300046369, 39.128259999873634], [-84.49804300046381, 39.1279599998737], [-84.4981430004638, 39.12745999987373], [-84.49984300046361, 39.127759999873675]]], "type": "Polygon"}, "id": "81", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699297.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49914300046369, 39.1279599998737, -84.49794300046382, 39.1286599998736], "geometry": {"coordinates": [[[-84.49804300046381, 39.1279599998737], [-84.49914300046369, 39.128259999873634], [-84.49864300046376, 39.1286599998736], [-84.49794300046382, 39.12855999987362], [-84.49804300046381, 39.1279599998737]]], "type": "Polygon"}, "id": "82", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699315.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49824300046377, 39.12605999987384, -84.49664300046395, 39.127159999873754], "geometry": {"coordinates": [[[-84.4980430004638, 39.127159999873754], [-84.49704300046392, 39.12705999987378], [-84.49664300046395, 39.12705999987378], [-84.49724300046388, 39.126059999873846], [-84.49784300046382, 39.126059999873846], [-84.49824300046377, 39.12605999987384], [-84.4980430004638, 39.127159999873754]]], "type": "Polygon"}, "id": "83", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 699332.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046388, 39.125959999873864, -84.49604300046401, 39.127059999873794], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49604300046401, 39.12705999987378], [-84.49674300046394, 39.125959999873864], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "84", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699352.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4981430004638, 39.12705999987378, -84.49634300046398, 39.1279599998737], "geometry": {"coordinates": [[[-84.4981430004638, 39.12745999987373], [-84.49804300046381, 39.1279599998737], [-84.49774300046384, 39.12785999987369], [-84.49634300046398, 39.12755999987371], [-84.49664300046395, 39.12705999987378], [-84.49704300046392, 39.12705999987378], [-84.4980430004638, 39.127159999873754], [-84.4981430004638, 39.12745999987373]]], "type": "Polygon"}, "id": "85", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 3.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610034002", "BLACK": 14.0, "BLOCK": "390610034002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3500.3926, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 2.0, "ID": 699371.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49864300046376, 39.12755999987371, -84.4953430004641, 39.130059999873474], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.496243000464, 39.129459999873546], [-84.49564300046407, 39.129359999873536], [-84.4953430004641, 39.12935999987355], [-84.49634300046398, 39.12755999987371], [-84.49774300046384, 39.12785999987369], [-84.49804300046381, 39.1279599998737], [-84.49794300046382, 39.12855999987362], [-84.49864300046376, 39.1286599998736], [-84.49854300046377, 39.12885999987358], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "86", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 15.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 8.0, "BLOCK": "390610034002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 843.8623, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 15.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 15.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699391.0, "IN_HOUSEHO": 0.0, "MALE": 15.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.1, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 7.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50164300046343, 39.128259999873634, -84.49804300046382, 39.13065999987342], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.49994300046363, 39.130459999873445], [-84.49804300046382, 39.130059999873474], [-84.49854300046377, 39.12885999987358], [-84.49864300046376, 39.1286599998736], [-84.49914300046369, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50154300046344, 39.12945999987352], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "87", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 11.0, "AGE_21": 47.0, "AGE_25_34": 10.0, "AGE_35_44": 11.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.11, "BG": "390610034002", "BLACK": 32.0, "BLOCK": "390610034002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2243.1294, "F1_RACE": 52.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 19.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 699415.0, "IN_HOUSEHO": 52.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 52.0, "RENTER_SIZ": 1.09, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 19.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49994300046363, 39.130059999873474, -84.49764300046387, 39.13155999987333], "geometry": {"coordinates": [[[-84.49994300046363, 39.130459999873445], [-84.49974300046365, 39.13155999987333], [-84.49864300046377, 39.13145999987336], [-84.49764300046387, 39.131359999873354], [-84.49774300046387, 39.130959999873404], [-84.49804300046382, 39.130059999873474], [-84.49994300046363, 39.130459999873445]]], "type": "Polygon"}, "id": "88", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 140.0, "AGE_20_24": 0.0, "AGE_21": 140.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 10.0, "AGE_62": 125.0, "AGE_65": 120.0, "AGE_65_74": 30.0, "AGE_75_84": 41.0, "AGE_85": 49.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 130.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 127.0, "BLOCK": "390610034002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15062.2033, "F1_RACE": 137.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 94.0, "FEMALE_65": 87.0, "GQ_INSTITU": 140.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 140.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699434.0, "IN_HOUSEHO": 0.0, "MALE": 46.0, "MALE_18": 46.0, "MALE_65": 33.0, "MEDIAN_AGE": 80.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 140.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 140.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49974300046365, 39.131359999873354, -84.49704300046395, 39.13265999987326], "geometry": {"coordinates": [[[-84.49974300046365, 39.13155999987333], [-84.49964300046366, 39.13265999987324], [-84.49794300046385, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49704300046395, 39.13265999987325], [-84.49764300046387, 39.131359999873354], [-84.49864300046377, 39.13145999987336], [-84.49974300046365, 39.13155999987333]]], "type": "Polygon"}, "id": "89", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699453.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49804300046382, 39.129459999873546, -84.49574300046409, 39.13265999987325], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.49774300046387, 39.130959999873404], [-84.49764300046387, 39.131359999873354], [-84.49704300046395, 39.13265999987325], [-84.49624300046402, 39.13255999987324], [-84.49574300046409, 39.13255999987324], [-84.49604300046406, 39.13185999987332], [-84.49614300046402, 39.13055999987345], [-84.496243000464, 39.129459999873546], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "90", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699472.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49680000046392, 39.125559999873886, -84.49594300046402, 39.125959999873864], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49594300046402, 39.125959999873864], [-84.49594300046402, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49680000046392, 39.125559999873886], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "91", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699494.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49595400046402, 39.12515999987395, -84.49504300046412, 39.125559999873886], "geometry": {"coordinates": [[[-84.49595400046402, 39.12521199987394], [-84.49594300046402, 39.125559999873886], [-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.12515999987397], [-84.49534300046408, 39.12515999987395], [-84.49595400046402, 39.12521199987394]]], "type": "Polygon"}, "id": "92", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10743.5154, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 4.0, "ID": 699512.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 3.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 12.0, "RENTER_SIZ": 3.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49594300046402, 39.125459999873925, -84.49504300046412, 39.12595999987388], "geometry": {"coordinates": [[[-84.49594300046402, 39.125559999873886], [-84.49594300046402, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49504300046412, 39.125959999873864], [-84.49504300046412, 39.125459999873925], [-84.49594300046402, 39.125559999873886]]], "type": "Polygon"}, "id": "93", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1333.4528, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 3.0, "ID": 699531.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49674300046394, 39.125959999873864, -84.49554300046407, 39.127059999873794], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49604300046401, 39.12705999987378], [-84.49554300046407, 39.127059999873794], [-84.49564300046406, 39.12595999987388], [-84.49594300046402, 39.125959999873864], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "94", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610035002", "BLACK": 2.0, "BLOCK": "390610035002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 613.698, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 7.0, "ID": 699549.0, "IN_HOUSEHO": 2.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 67.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12515999987397, -84.49404300046422, 39.125459999873925], "geometry": {"coordinates": [[[-84.49504300046412, 39.12515999987397], [-84.49504300046412, 39.125459999873925], [-84.49404300046422, 39.12535999987392], [-84.49404300046422, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49504300046412, 39.12515999987397]]], "type": "Polygon"}, "id": "95", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.67, "AVG_HHSIZE": 4.4, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23761.9038, "F1_RACE": 22.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 1.0, "ID": 699568.0, "IN_HOUSEHO": 22.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.5, "POPULATION": 22.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12535999987392, -84.49394300046424, 39.125959999873864], "geometry": {"coordinates": [[[-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.125959999873864], [-84.49394300046424, 39.12585999987388], [-84.49404300046422, 39.12535999987392], [-84.49504300046412, 39.125459999873925]]], "type": "Polygon"}, "id": "96", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 15.0, "AGE_25_34": 3.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 35.0, "BLOCK": "390610021001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18341.2616, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 3.0, "ID": 699587.0, "IN_HOUSEHO": 36.0, "MALE": 17.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 36.0, "RENTER_SIZ": 3.18, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49564300046406, 39.125959999873864, -84.49484300046414, 39.127059999873794], "geometry": {"coordinates": [[[-84.49554300046407, 39.127059999873794], [-84.49484300046414, 39.1269599998738], [-84.49504300046412, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49554300046407, 39.127059999873794]]], "type": "Polygon"}, "id": "97", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.4, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5478.7666, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 3.0, "ID": 699604.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.1257599998739, -84.49354300046429, 39.12745999987374], "geometry": {"coordinates": [[[-84.49484300046414, 39.1269599998738], [-84.49484300046416, 39.12745999987374], [-84.49424300046421, 39.12745999987374], [-84.4943430004642, 39.12635999987383], [-84.49354300046429, 39.12635999987383], [-84.49364300046426, 39.1257599998739], [-84.49394300046424, 39.12585999987388], [-84.49504300046412, 39.125959999873864], [-84.49484300046414, 39.1269599998738]]], "type": "Polygon"}, "id": "98", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 1.0, "AGE_18": 29.0, "AGE_20_24": 3.0, "AGE_21": 28.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 21.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 1.73, "BG": "390610035002", "BLACK": 16.0, "BLOCK": "390610035002011", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7803.0494, "F1_RACE": 36.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 12.0, "ID": 699622.0, "IN_HOUSEHO": 38.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.2, "POPULATION": 38.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 19.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49664300046395, 39.12705999987378, -84.49584300046403, 39.127559999873725], "geometry": {"coordinates": [[[-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.12755999987371], [-84.49584300046403, 39.127559999873725], [-84.49604300046401, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49664300046395, 39.12705999987378]]], "type": "Polygon"}, "id": "99", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699644.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49604300046401, 39.1269599998738, -84.49484300046414, 39.127559999873725], "geometry": {"coordinates": [[[-84.49604300046401, 39.12705999987378], [-84.49584300046403, 39.127559999873725], [-84.49484300046416, 39.12745999987374], [-84.49484300046414, 39.1269599998738], [-84.49554300046407, 39.127059999873794], [-84.49604300046401, 39.12705999987378]]], "type": "Polygon"}, "id": "100", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.91, "BG": "390610035002", "BLACK": 21.0, "BLOCK": "390610035002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10599.3148, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 699662.0, "IN_HOUSEHO": 21.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 45.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 21.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49634300046398, 39.12755999987371, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49584300046403, 39.127559999873725], [-84.49634300046398, 39.12755999987371], [-84.4953430004641, 39.12935999987355], [-84.49464300046418, 39.12935999987355], [-84.49524300046413, 39.12895999987361], [-84.49562900046406, 39.12805999987366], [-84.49584300046403, 39.127559999873725]]], "type": "Polygon"}, "id": "101", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699681.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49584300046403, 39.12745999987374, -84.49484300046416, 39.12805999987368], "geometry": {"coordinates": [[[-84.49484300046416, 39.12745999987374], [-84.49584300046403, 39.127559999873725], [-84.49562900046406, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49484300046416, 39.12805999987366], [-84.49484300046416, 39.12745999987374]]], "type": "Polygon"}, "id": "102", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.43, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9245.804, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 699700.0, "IN_HOUSEHO": 17.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49562900046406, 39.12805999987366, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49484300046416, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49562900046406, 39.12805999987366], [-84.49524300046413, 39.12895999987361], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "103", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.17, "BG": "390610035002", "BLACK": 24.0, "BLOCK": "390610035002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9977.1555, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 7.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 0.0, "ID": 699718.0, "IN_HOUSEHO": 26.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 26.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12505999987396, -84.49304300046434, 39.125359999873936], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49404300046422, 39.12535999987392], [-84.49304300046434, 39.125359999873936], [-84.49314300046431, 39.12505999987396], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "104", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 14.0, "AGE_20_24": 4.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 13.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.09, "AVG_HHSIZE": 4.09, "BG": "390610021001", "BLACK": 38.0, "BLOCK": "390610021001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 50628.9598, "F1_RACE": 41.0, "F2_RACES": 4.0, "FEMALE": 29.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 2.0, "ID": 699736.0, "IN_HOUSEHO": 45.0, "MALE": 16.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 9.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 45.0, "RENTER_SIZ": 4.09, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49294300046445, 39.140859999872504, -84.48964300046482, 39.14215999987238], "geometry": {"coordinates": [[[-84.49094300046467, 39.140859999872504], [-84.49294300046445, 39.140959999872514], [-84.49244300046452, 39.141659999872424], [-84.49224300046454, 39.14215999987238], [-84.48964300046482, 39.142059999872394], [-84.48974300046478, 39.140859999872504], [-84.49094300046467, 39.140859999872504]]], "type": "Polygon"}, "id": "105", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 13.0, "AGE_15_19": 20.0, "AGE_18": 213.0, "AGE_20_24": 14.0, "AGE_21": 203.0, "AGE_25_34": 27.0, "AGE_35_44": 31.0, "AGE_45_54": 19.0, "AGE_55_59": 9.0, "AGE_5_9": 27.0, "AGE_60_64": 16.0, "AGE_62": 102.0, "AGE_65": 89.0, "AGE_65_74": 47.0, "AGE_75_84": 31.0, "AGE_85": 11.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.7, "BG": "390610067004", "BLACK": 282.0, "BLOCK": "390610067004007", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21989.7915, "F1_RACE": 285.0, "F2_RACES": 2.0, "FEMALE": 176.0, "FEMALE_18": 136.0, "FEMALE_65": 67.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 124.0, "HOUSEHOLDS": 169.0, "HSNG_UNITS": 205.0, "HU_OCCUPIE": 169.0, "HU_VACANT": 36.0, "ID": 711584.0, "IN_HOUSEHO": 287.0, "MALE": 111.0, "MALE_18": 77.0, "MALE_65": 22.0, "MEDIAN_AGE": 41.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 155.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.43, "POPULATION": 287.0, "RENTER_SIZ": 1.63, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4915430004646, 39.14275999987236, -84.48564300046525, 39.14415999987221], "geometry": {"coordinates": [[[-84.4915430004646, 39.143159999872296], [-84.49104300046467, 39.14415999987221], [-84.48564300046525, 39.14365999987227], [-84.48594300046523, 39.14315999987232], [-84.48704300046509, 39.14275999987236], [-84.488043000465, 39.142859999872336], [-84.48864300046493, 39.14295999987232], [-84.4915430004646, 39.143159999872296]]], "type": "Polygon"}, "id": "106", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 90.0, "AGE_20_24": 14.0, "AGE_21": 83.0, "AGE_25_34": 18.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 9.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 129.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.73, "BG": "390610067004", "BLACK": 129.0, "BLOCK": "390610067004002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6913.3996, "F1_RACE": 134.0, "F2_RACES": 0.0, "FEMALE": 66.0, "FEMALE_18": 54.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 9.0, "ID": 711604.0, "IN_HOUSEHO": 134.0, "MALE": 68.0, "MALE_18": 36.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.6, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 134.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 134.0, "RENTER_SIZ": 2.54, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49224300046455, 39.145359999872106, -84.48904300046492, 39.14805999987183], "geometry": {"coordinates": [[[-84.49224300046455, 39.14545999987209], [-84.49213100046458, 39.14691599987195], [-84.4920430004646, 39.14805999987183], [-84.49040800046478, 39.14773299987189], [-84.48904300046492, 39.14745999987187], [-84.48944300046487, 39.146759999871975], [-84.4899430004648, 39.14605999987202], [-84.4900430004648, 39.14585999987206], [-84.49034300046476, 39.145359999872106], [-84.49224300046455, 39.14545999987209]]], "type": "Polygon"}, "id": "107", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 20.0, "AGE_15_19": 17.0, "AGE_18": 77.0, "AGE_20_24": 5.0, "AGE_21": 67.0, "AGE_25_34": 13.0, "AGE_35_44": 24.0, "AGE_45_54": 11.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 120.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.84, "AVG_HHSIZE": 2.67, "BG": "390610068002", "BLACK": 118.0, "BLOCK": "390610068002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5379.6715, "F1_RACE": 118.0, "F2_RACES": 2.0, "FEMALE": 56.0, "FEMALE_18": 38.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 15.0, "ID": 711620.0, "IN_HOUSEHO": 120.0, "MALE": 64.0, "MALE_18": 39.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 120.0, "RENTER_SIZ": 2.72, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49224300046454, 39.141859999872445, -84.48374300046545, 39.14365999987227], "geometry": {"coordinates": [[[-84.49224300046454, 39.14215999987238], [-84.49194300046456, 39.14255999987233], [-84.4915430004646, 39.143159999872296], [-84.48864300046493, 39.14295999987232], [-84.488043000465, 39.142859999872336], [-84.48704300046509, 39.14275999987236], [-84.48594300046523, 39.14315999987232], [-84.48564300046525, 39.14365999987227], [-84.48464300046537, 39.143559999872295], [-84.48404300046543, 39.143559999872295], [-84.48387800046544, 39.142776999872375], [-84.48374300046545, 39.142159999872405], [-84.48380000046545, 39.14209499987244], [-84.48474300046534, 39.14195999987244], [-84.48544300046525, 39.14185999987246], [-84.48654300046516, 39.141859999872445], [-84.48964300046482, 39.142059999872394], [-84.49224300046454, 39.14215999987238]]], "type": "Polygon"}, "id": "108", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 22.0, "AGE_15_19": 9.0, "AGE_18": 172.0, "AGE_20_24": 17.0, "AGE_21": 170.0, "AGE_25_34": 32.0, "AGE_35_44": 37.0, "AGE_45_54": 25.0, "AGE_55_59": 18.0, "AGE_5_9": 27.0, "AGE_60_64": 6.0, "AGE_62": 36.0, "AGE_65": 35.0, "AGE_65_74": 23.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 249.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.87, "AVG_HHSIZE": 2.37, "BG": "390610067004", "BLACK": 249.0, "BLOCK": "390610067004001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7469.0991, "F1_RACE": 254.0, "F2_RACES": 0.0, "FEMALE": 141.0, "FEMALE_18": 103.0, "FEMALE_65": 27.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 38.0, "HOUSEHOLDS": 107.0, "HSNG_UNITS": 129.0, "HU_OCCUPIE": 107.0, "HU_VACANT": 22.0, "ID": 711663.0, "IN_HOUSEHO": 254.0, "MALE": 113.0, "MALE_18": 69.0, "MALE_65": 8.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.23, "POPULATION": 254.0, "RENTER_SIZ": 2.47, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49054300046475, 39.144759999872164, -84.48424300046541, 39.14585999987206], "geometry": {"coordinates": [[[-84.49034300046476, 39.145359999872106], [-84.4900430004648, 39.14585999987206], [-84.48616500046522, 39.14572599987209], [-84.48424300046541, 39.14565999987211], [-84.48424300046541, 39.144759999872164], [-84.49054300046475, 39.14495999987214], [-84.49034300046476, 39.145359999872106]]], "type": "Polygon"}, "id": "109", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 43.0, "AGE_15_19": 29.0, "AGE_18": 221.0, "AGE_20_24": 27.0, "AGE_21": 211.0, "AGE_25_34": 49.0, "AGE_35_44": 44.0, "AGE_45_54": 31.0, "AGE_55_59": 23.0, "AGE_5_9": 60.0, "AGE_60_64": 7.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 373.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 2.86, "BG": "390610066002", "BLACK": 373.0, "BLOCK": "390610066002002", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18402.2275, "F1_RACE": 375.0, "F2_RACES": 0.0, "FEMALE": 213.0, "FEMALE_18": 134.0, "FEMALE_65": 20.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 90.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 131.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 131.0, "HU_VACANT": 19.0, "ID": 711690.0, "IN_HOUSEHO": 375.0, "MALE": 162.0, "MALE_18": 87.0, "MALE_65": 15.0, "MEDIAN_AGE": 25.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 374.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 106.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.8, "POPULATION": 375.0, "RENTER_SIZ": 2.88, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49104300046467, 39.143559999872295, -84.48124300046575, 39.146259999872036], "geometry": {"coordinates": [[[-84.48564300046525, 39.14365999987227], [-84.49104300046467, 39.14415999987221], [-84.49054300046475, 39.14495999987214], [-84.48424300046541, 39.144759999872164], [-84.48424300046541, 39.14565999987211], [-84.48294300046555, 39.1456599998721], [-84.48234300046563, 39.14585999987211], [-84.48124300046575, 39.146259999872036], [-84.48214300046564, 39.1456599998721], [-84.48394300046544, 39.14395999987227], [-84.48464300046537, 39.143559999872295], [-84.48564300046525, 39.14365999987227]]], "type": "Polygon"}, "id": "110", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 24.0, "AGE_15_19": 28.0, "AGE_18": 147.0, "AGE_20_24": 18.0, "AGE_21": 132.0, "AGE_25_34": 24.0, "AGE_35_44": 36.0, "AGE_45_54": 26.0, "AGE_55_59": 7.0, "AGE_5_9": 17.0, "AGE_60_64": 7.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 9.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 210.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 6.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.96, "BG": "390610066002", "BLACK": 205.0, "BLOCK": "390610066002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6572.2998, "F1_RACE": 214.0, "F2_RACES": 5.0, "FEMALE": 128.0, "FEMALE_18": 94.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 54.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 74.0, "HSNG_UNITS": 90.0, "HU_OCCUPIE": 74.0, "HU_VACANT": 16.0, "ID": 711710.0, "IN_HOUSEHO": 219.0, "MALE": 91.0, "MALE_18": 53.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 218.0, "OCCHU_OWNE": 37.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.38, "POPULATION": 219.0, "RENTER_SIZ": 2.54, "THEFT": 20, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48464300046537, 39.143559999872295, -84.48394300046544, 39.14395999987227], "geometry": {"coordinates": [[[-84.48464300046537, 39.143559999872295], [-84.48394300046544, 39.14395999987227], [-84.48404300046543, 39.143559999872295], [-84.48464300046537, 39.143559999872295]]], "type": "Polygon"}, "id": "111", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 711733.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4900430004648, 39.1456599998721, -84.48234300046563, 39.14745999987187], "geometry": {"coordinates": [[[-84.4899430004648, 39.14605999987202], [-84.48944300046487, 39.146759999871975], [-84.48904300046492, 39.14745999987187], [-84.48604300046524, 39.14725999987195], [-84.48534300046532, 39.147259999871956], [-84.48484300046536, 39.14705999987198], [-84.48424300046543, 39.146759999871996], [-84.48294300046557, 39.14735999987194], [-84.48244300046561, 39.146959999871996], [-84.48244300046561, 39.14655999987201], [-84.48234300046563, 39.14585999987211], [-84.48294300046555, 39.1456599998721], [-84.48424300046541, 39.14565999987211], [-84.48616500046522, 39.14572599987209], [-84.4900430004648, 39.14585999987206], [-84.4899430004648, 39.14605999987202]]], "type": "Polygon"}, "id": "112", "properties": {"AGE_0_5": 36.0, "AGE_10_14": 41.0, "AGE_15_19": 39.0, "AGE_18": 276.0, "AGE_20_24": 28.0, "AGE_21": 261.0, "AGE_25_34": 52.0, "AGE_35_44": 62.0, "AGE_45_54": 41.0, "AGE_55_59": 21.0, "AGE_5_9": 51.0, "AGE_60_64": 17.0, "AGE_62": 54.0, "AGE_65": 45.0, "AGE_65_74": 28.0, "AGE_75_84": 10.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 429.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 7.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.42, "BG": "390610066001", "BLACK": 424.0, "BLOCK": "390610066001004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10939.7842, "F1_RACE": 428.0, "F2_RACES": 5.0, "FEMALE": 220.0, "FEMALE_18": 153.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 107.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 179.0, "HSNG_UNITS": 215.0, "HU_OCCUPIE": 179.0, "HU_VACANT": 36.0, "ID": 711749.0, "IN_HOUSEHO": 433.0, "MALE": 213.0, "MALE_18": 123.0, "MALE_65": 17.0, "MEDIAN_AGE": 29.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 433.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 133.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 433.0, "RENTER_SIZ": 2.28, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51444400046199, 39.121859999874175, -84.50834300046267, 39.125559999873815], "geometry": {"coordinates": [[[-84.51444400046199, 39.12305999987405], [-84.514344000462, 39.12335999987403], [-84.51404400046205, 39.12425999987396], [-84.5128440004622, 39.125559999873815], [-84.50914400046258, 39.1251489998739], [-84.50834300046267, 39.12505999987389], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12265999987413], [-84.50904300046258, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.51064300046241, 39.1227599998741], [-84.51074300046238, 39.12235999987413], [-84.51114300046235, 39.122159999874164], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12225999987413], [-84.51304300046216, 39.12295999987407], [-84.5135430004621, 39.12295999987407], [-84.51384400046206, 39.123059999874044], [-84.51444400046199, 39.12305999987405]]], "type": "Polygon"}, "id": "113", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 38.0, "AGE_15_19": 27.0, "AGE_18": 210.0, "AGE_20_24": 42.0, "AGE_21": 192.0, "AGE_25_34": 62.0, "AGE_35_44": 39.0, "AGE_45_54": 34.0, "AGE_55_59": 5.0, "AGE_5_9": 31.0, "AGE_60_64": 4.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 12.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 308.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 30.0, "AREA": 0.06, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.08, "AVG_HHSIZE": 2.25, "BG": "390610023001", "BLACK": 308.0, "BLOCK": "390610023001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5813.2877, "F1_RACE": 340.0, "F2_RACES": 0.0, "FEMALE": 183.0, "FEMALE_18": 120.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 151.0, "HSNG_UNITS": 194.0, "HU_OCCUPIE": 151.0, "HU_VACANT": 43.0, "ID": 656719.0, "IN_HOUSEHO": 340.0, "MALE": 157.0, "MALE_18": 90.0, "MALE_65": 5.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 340.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 137.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.29, "POPULATION": 340.0, "RENTER_SIZ": 2.25, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51074300046238, 39.12235999987413, -84.50954300046251, 39.1227599998741], "geometry": {"coordinates": [[[-84.51074300046238, 39.12235999987413], [-84.51064300046241, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.50964300046252, 39.12235999987413], [-84.51074300046238, 39.12235999987413]]], "type": "Polygon"}, "id": "114", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 12.0, "AGE_18": 36.0, "AGE_20_24": 9.0, "AGE_21": 31.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 18.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 90.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.09, "BG": "390610023001", "BLACK": 90.0, "BLOCK": "390610023001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 55229.6771, "F1_RACE": 90.0, "F2_RACES": 0.0, "FEMALE": 51.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 11.0, "ID": 656750.0, "IN_HOUSEHO": 90.0, "MALE": 39.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 90.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 90.0, "RENTER_SIZ": 4.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4766430004661, 39.1243599998741, -84.47484300046631, 39.12695999987387], "geometry": {"coordinates": [[[-84.4766430004661, 39.1243599998741], [-84.47644300046613, 39.12675999987388], [-84.47484300046631, 39.12695999987387], [-84.47524300046624, 39.12455999987408], [-84.4766430004661, 39.1243599998741]]], "type": "Polygon"}, "id": "115", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 124.0, "AGE_20_24": 21.0, "AGE_21": 121.0, "AGE_25_34": 36.0, "AGE_35_44": 24.0, "AGE_45_54": 20.0, "AGE_55_59": 7.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 58.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.66, "BG": "390610042002", "BLACK": 86.0, "BLOCK": "390610042002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10984.0124, "F1_RACE": 144.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 65.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 9.0, "ID": 738259.0, "IN_HOUSEHO": 144.0, "MALE": 71.0, "MALE_18": 59.0, "MALE_65": 3.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 144.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 144.0, "RENTER_SIZ": 1.45, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 58.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47524300046624, 39.12455999987408, -84.47374300046643, 39.12695999987387], "geometry": {"coordinates": [[[-84.47484300046631, 39.12695999987387], [-84.47374300046643, 39.126759999873904], [-84.47394300046638, 39.12455999987409], [-84.47524300046624, 39.12455999987408], [-84.47484300046631, 39.12695999987387]]], "type": "Polygon"}, "id": "116", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 172.0, "AGE_20_24": 9.0, "AGE_21": 167.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 26.0, "AGE_55_59": 19.0, "AGE_5_9": 2.0, "AGE_60_64": 15.0, "AGE_62": 67.0, "AGE_65": 62.0, "AGE_65_74": 29.0, "AGE_75_84": 26.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 146.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.52, "AVG_HHSIZE": 1.28, "BG": "390610042002", "BLACK": 144.0, "BLOCK": "390610042002003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17808.0053, "F1_RACE": 182.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 97.0, "FEMALE_65": 41.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 123.0, "HOUSEHOLDS": 144.0, "HSNG_UNITS": 147.0, "HU_OCCUPIE": 144.0, "HU_VACANT": 3.0, "ID": 738277.0, "IN_HOUSEHO": 184.0, "MALE": 78.0, "MALE_18": 75.0, "MALE_65": 21.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 128.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 184.0, "RENTER_SIZ": 1.16, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.47644300046613, 39.12675999987388, -84.47454300046634, 39.12835999987374], "geometry": {"coordinates": [[[-84.47644300046613, 39.12675999987388], [-84.47614300046617, 39.12805999987374], [-84.47464300046634, 39.12835999987374], [-84.47454300046634, 39.128059999873756], [-84.47484300046631, 39.12695999987387], [-84.47644300046613, 39.12675999987388]]], "type": "Polygon"}, "id": "117", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 39.0, "AGE_20_24": 5.0, "AGE_21": 33.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.08, "BG": "390610042001", "BLACK": 29.0, "BLOCK": "390610042001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6338.7504, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 11.0, "ID": 738294.0, "IN_HOUSEHO": 50.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.0, "MSA": "1640", "NH_WHITE": 20.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 50.0, "RENTER_SIZ": 1.79, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 20.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47614300046617, 39.12805999987374, -84.47434300046636, 39.129559999873614], "geometry": {"coordinates": [[[-84.47564300046623, 39.12945999987363], [-84.47434300046636, 39.129559999873614], [-84.47464300046634, 39.12835999987374], [-84.47614300046617, 39.12805999987374], [-84.47564300046623, 39.12945999987363]]], "type": "Polygon"}, "id": "118", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 13.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.27, "BG": "390610042001", "BLACK": 19.0, "BLOCK": "390610042001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5276.5591, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 738313.0, "IN_HOUSEHO": 34.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 34.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47484300046631, 39.126759999873904, -84.47354300046645, 39.128059999873756], "geometry": {"coordinates": [[[-84.47454300046634, 39.128059999873756], [-84.47354300046645, 39.127959999873795], [-84.47374300046643, 39.126759999873904], [-84.47484300046631, 39.12695999987387], [-84.47454300046634, 39.128059999873756]]], "type": "Polygon"}, "id": "119", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 62.0, "AGE_20_24": 7.0, "AGE_21": 60.0, "AGE_25_34": 28.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.52, "BG": "390610042001", "BLACK": 24.0, "BLOCK": "390610042001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14531.7777, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 4.0, "ID": 738330.0, "IN_HOUSEHO": 67.0, "MALE": 27.0, "MALE_18": 25.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 43.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 67.0, "RENTER_SIZ": 1.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 43.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52004400046148, 39.134959999872954, -84.51574400046195, 39.140859999872404], "geometry": {"coordinates": [[[-84.52004400046148, 39.13505999987293], [-84.51954400046156, 39.14045999987243], [-84.5174440004618, 39.140859999872404], [-84.5183440004617, 39.13995999987247], [-84.51854400046167, 39.13955999987251], [-84.51804400046173, 39.138959999872554], [-84.51574400046195, 39.138259999872645], [-84.51764400046174, 39.136959999872786], [-84.51914400046158, 39.134959999872954], [-84.52004400046148, 39.13505999987293]], [[-84.5190440004616, 39.13855999987259], [-84.51854400046167, 39.13835999987263], [-84.51844400046168, 39.138559999872584], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "120", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 23.0, "AGE_18": 116.0, "AGE_20_24": 86.0, "AGE_21": 55.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 8.0, "AP_ASIAN": 7.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.04, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 50.0, "BLOCK": "390610030003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2745.6706, "F1_RACE": 107.0, "F2_RACES": 9.0, "FEMALE": 36.0, "FEMALE_18": 36.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 116.0, "GROUP_QUAR": 116.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683125.0, "IN_HOUSEHO": 0.0, "MALE": 80.0, "MALE_18": 80.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 50.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 116.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 52.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5190440004616, 39.13835999987263, -84.51844400046168, 39.13855999987259], "geometry": {"coordinates": [[[-84.5190440004616, 39.13855999987259], [-84.51844400046168, 39.138559999872584], [-84.51854400046167, 39.13835999987263], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "121", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683147.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5183440004617, 39.13995999987247, -84.51714400046184, 39.140859999872404], "geometry": {"coordinates": [[[-84.5183440004617, 39.13995999987247], [-84.5174440004618, 39.140859999872404], [-84.51714400046184, 39.140559999872444], [-84.51754400046178, 39.14005999987246], [-84.5183440004617, 39.13995999987247]]], "type": "Polygon"}, "id": "122", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683161.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51954400046156, 39.138259999872645, -84.51534400046202, 39.143259999872164], "geometry": {"coordinates": [[[-84.5193440004616, 39.14235999987225], [-84.51914400046164, 39.143259999872164], [-84.51664400046191, 39.14225999987227], [-84.51544400046203, 39.14215999987227], [-84.51544400046203, 39.14195999987231], [-84.51534400046202, 39.13945999987253], [-84.51574400046195, 39.138259999872645], [-84.51804400046173, 39.138959999872554], [-84.51854400046167, 39.13955999987251], [-84.5183440004617, 39.13995999987247], [-84.51754400046178, 39.14005999987246], [-84.51714400046184, 39.140559999872444], [-84.5174440004618, 39.140859999872404], [-84.51954400046156, 39.14045999987243], [-84.51944400046159, 39.14105999987236], [-84.51944400046159, 39.14155999987233], [-84.5193440004616, 39.14235999987225]]], "type": "Polygon"}, "id": "123", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683177.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51814400046163, 39.12725999987368, -84.51454400046204, 39.12815999987359], "geometry": {"coordinates": [[[-84.51814400046162, 39.12745999987365], [-84.51814400046163, 39.12815999987359], [-84.51454400046204, 39.12785999987363], [-84.51454400046204, 39.12725999987368], [-84.51704400046174, 39.12735999987365], [-84.51814400046162, 39.12745999987365]]], "type": "Polygon"}, "id": "124", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 14.0, "AGE_18": 71.0, "AGE_20_24": 47.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 65.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 5.0, "BLOCK": "390610025001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8291.3463, "F1_RACE": 71.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 25.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 2.0, "ID": 683241.0, "IN_HOUSEHO": 74.0, "MALE": 48.0, "MALE_18": 46.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 61.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 74.0, "RENTER_SIZ": 2.0, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 62.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51964400046147, 39.127859999873614, -84.51284400046222, 39.12965999987345], "geometry": {"coordinates": [[[-84.51964400046147, 39.12825999987355], [-84.5194440004615, 39.12855999987354], [-84.51904400046153, 39.12855999987355], [-84.51824400046162, 39.12865999987352], [-84.51754400046171, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51724400046174, 39.12945999987347], [-84.51362800046212, 39.12913099987351], [-84.51284400046222, 39.1290599998735], [-84.51284400046222, 39.12845999987356], [-84.51368300046212, 39.12852699987354], [-84.51374400046211, 39.127859999873614], [-84.51454400046204, 39.12785999987363], [-84.51814400046163, 39.12815999987359], [-84.51894400046154, 39.12825999987357], [-84.51964400046147, 39.12825999987355]]], "type": "Polygon"}, "id": "125", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 744.0, "AGE_18": 895.0, "AGE_20_24": 148.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 14.0, "AP_ASIAN": 32.0, "AP_BLACK": 228.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 657.0, "AREA": 0.03, "ASIAN": 26.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030003", "BLACK": 212.0, "BLOCK": "390610030003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35491.7198, "F1_RACE": 873.0, "F2_RACES": 27.0, "FEMALE": 495.0, "FEMALE_18": 492.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 896.0, "GROUP_QUAR": 896.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 683260.0, "IN_HOUSEHO": 4.0, "MALE": 405.0, "MALE_18": 403.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 632.0, "NOT_HISPAN": 895.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 900.0, "RENTER_SIZ": 1.0, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 634.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51454400046204, 39.12715999987369, -84.51294400046218, 39.12785999987363], "geometry": {"coordinates": [[[-84.51454400046204, 39.12725999987368], [-84.51454400046204, 39.12785999987363], [-84.51374400046211, 39.127859999873614], [-84.51294400046218, 39.127859999873614], [-84.51304400046217, 39.12715999987369], [-84.5137440004621, 39.12715999987369], [-84.51454400046204, 39.12725999987368]]], "type": "Polygon"}, "id": "126", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 45.0, "AGE_20_24": 32.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 40.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.59, "BG": "390610033002", "BLACK": 14.0, "BLOCK": "390610033002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14728.9774, "F1_RACE": 57.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 5.0, "ID": 683329.0, "IN_HOUSEHO": 57.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.6, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 57.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 57.0, "RENTER_SIZ": 2.7, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51374400046211, 39.127859999873614, -84.51284400046222, 39.12852699987354], "geometry": {"coordinates": [[[-84.51374400046211, 39.127859999873614], [-84.51368300046212, 39.12852699987354], [-84.51284400046222, 39.12845999987356], [-84.51294400046218, 39.127859999873614], [-84.51374400046211, 39.127859999873614]]], "type": "Polygon"}, "id": "127", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683349.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51744400046172, 39.12895999987351, -84.51094400046243, 39.13305999987313], "geometry": {"coordinates": [[[-84.51614400046188, 39.13235999987321], [-84.515044000462, 39.13305999987313], [-84.51244400046228, 39.132859999873176], [-84.51264400046226, 39.13165999987326], [-84.51094400046243, 39.1314599998733], [-84.51114400046241, 39.13025999987339], [-84.51124300046237, 39.12895999987351], [-84.51284400046222, 39.1290599998735], [-84.51362800046212, 39.12913099987351], [-84.51724400046174, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51734400046173, 39.12985999987343], [-84.51693200046178, 39.13071799987334], [-84.51614400046188, 39.13235999987321]]], "type": "Polygon"}, "id": "128", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 561.0, "AGE_18": 617.0, "AGE_20_24": 55.0, "AGE_21": 22.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 19.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 538.0, "AREA": 0.07, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 64.0, "BLOCK": "390610030002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8792.3227, "F1_RACE": 610.0, "F2_RACES": 8.0, "FEMALE": 238.0, "FEMALE_18": 238.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 617.0, "GROUP_QUAR": 617.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683367.0, "IN_HOUSEHO": 1.0, "MALE": 380.0, "MALE_18": 379.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 524.0, "NOT_HISPAN": 610.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 618.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 532.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5127080004622, 39.126106999873784, -84.5119480004623, 39.12685799987372], "geometry": {"coordinates": [[[-84.51234600046223, 39.126106999873784], [-84.51264400046222, 39.12655999987375], [-84.5127080004622, 39.12665699987375], [-84.51234400046225, 39.12675999987372], [-84.51214200046228, 39.12685799987372], [-84.5119480004623, 39.126554999873754], [-84.51204300046227, 39.12645999987375], [-84.51234600046223, 39.126106999873784]]], "type": "Polygon"}, "id": "129", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3777.4826, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 6.0, "ID": 683392.0, "IN_HOUSEHO": 4.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 4.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51214200046228, 39.126554999873754, -84.51144300046235, 39.127079999873686], "geometry": {"coordinates": [[[-84.51168300046233, 39.127079999873686], [-84.51144300046235, 39.127059999873715], [-84.5119480004623, 39.126554999873754], [-84.51214200046228, 39.12685799987372], [-84.51168300046233, 39.127079999873686]]], "type": "Polygon"}, "id": "130", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 3.0, "ID": 683432.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51304400046217, 39.127059999873715, -84.51074300046243, 39.127859999873614], "geometry": {"coordinates": [[[-84.51264400046223, 39.12715999987369], [-84.51304400046217, 39.12715999987369], [-84.51294400046218, 39.127859999873614], [-84.51074300046243, 39.12765999987362], [-84.51144300046235, 39.127059999873715], [-84.51168300046233, 39.127079999873686], [-84.51264400046223, 39.12715999987369]]], "type": "Polygon"}, "id": "131", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 8.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 28.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 3.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 34.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.6, "AVG_HHSIZE": 2.25, "BG": "390610033002", "BLACK": 24.0, "BLOCK": "390610033002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13335.9109, "F1_RACE": 61.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 683449.0, "IN_HOUSEHO": 54.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 2.25, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51294400046218, 39.12765999987362, -84.51074300046243, 39.1290599998735], "geometry": {"coordinates": [[[-84.51294400046218, 39.127859999873614], [-84.51284400046222, 39.12845999987356], [-84.51284400046222, 39.1290599998735], [-84.51124300046237, 39.12895999987351], [-84.51115700046239, 39.12844399987358], [-84.51114300046238, 39.12835999987357], [-84.51074300046243, 39.12765999987362], [-84.51294400046218, 39.127859999873614]]], "type": "Polygon"}, "id": "132", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 1.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.0239, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683469.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5128440004622, 39.12505999987389, -84.50824300046268, 39.127059999873715], "geometry": {"coordinates": [[[-84.51264400046222, 39.125759999873836], [-84.51234600046223, 39.126106999873784], [-84.51204300046227, 39.12645999987375], [-84.5119480004623, 39.126554999873754], [-84.51144300046235, 39.127059999873715], [-84.50878800046263, 39.126810999873726], [-84.5082430004627, 39.126759999873755], [-84.50824300046268, 39.12555999987385], [-84.50834300046267, 39.12505999987389], [-84.50914400046258, 39.1251489998739], [-84.5128440004622, 39.125559999873815], [-84.51264400046222, 39.125759999873836]]], "type": "Polygon"}, "id": "133", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 73.0, "AGE_20_24": 39.0, "AGE_21": 58.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.47, "BG": "390610023001", "BLACK": 36.0, "BLOCK": "390610023001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3467.9192, "F1_RACE": 84.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 19.0, "ID": 683489.0, "IN_HOUSEHO": 84.0, "MALE": 43.0, "MALE_18": 38.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 2.55, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 48.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51144300046235, 39.126759999873755, -84.5082430004627, 39.12765999987362], "geometry": {"coordinates": [[[-84.50878800046263, 39.126810999873726], [-84.51144300046235, 39.127059999873715], [-84.51074300046243, 39.12765999987362], [-84.50944300046257, 39.12745999987369], [-84.50864300046265, 39.12745999987367], [-84.5082430004627, 39.126759999873755], [-84.50878800046263, 39.126810999873726]]], "type": "Polygon"}, "id": "134", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 13.0, "AGE_21": 28.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.62, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5464.4265, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 683513.0, "IN_HOUSEHO": 34.0, "MALE": 16.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.72, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 31.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12745999987367, -84.50784300046276, 39.12895999987352], "geometry": {"coordinates": [[[-84.51124300046237, 39.12895999987351], [-84.51044300046247, 39.12895999987352], [-84.50944300046258, 39.128859999873555], [-84.50870500046265, 39.12876799987356], [-84.50784300046276, 39.12865999987357], [-84.50794300046275, 39.12845999987357], [-84.50844300046269, 39.12795999987365], [-84.50864300046265, 39.12745999987367], [-84.50944300046257, 39.12745999987369], [-84.51074300046243, 39.12765999987362], [-84.51114300046238, 39.12835999987357], [-84.51115700046239, 39.12844399987358], [-84.51124300046237, 39.12895999987351]]], "type": "Polygon"}, "id": "135", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683531.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 23, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12895999987351, -84.51024300046252, 39.13025999987339], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51024300046252, 39.13015999987343], [-84.51044300046247, 39.12895999987352], [-84.51124300046237, 39.12895999987351], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "136", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 14.0, "AGE_18": 58.0, "AGE_20_24": 27.0, "AGE_21": 38.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 47.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.48, "BG": "390610033002", "BLACK": 11.0, "BLOCK": "390610033002015", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16899.405, "F1_RACE": 62.0, "F2_RACES": 5.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 8.0, "ID": 683553.0, "IN_HOUSEHO": 67.0, "MALE": 35.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 44.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.4, "POPULATION": 67.0, "RENTER_SIZ": 2.73, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 45.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51264400046226, 39.1314599998733, -84.51084400046246, 39.132859999873176], "geometry": {"coordinates": [[[-84.51264400046226, 39.13165999987326], [-84.51244400046228, 39.132859999873176], [-84.51084400046246, 39.132759999873166], [-84.51094400046243, 39.1314599998733], [-84.51264400046226, 39.13165999987326]]], "type": "Polygon"}, "id": "137", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683571.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51044300046247, 39.128859999873555, -84.50934300046261, 39.13015999987343], "geometry": {"coordinates": [[[-84.51024300046252, 39.13015999987343], [-84.50934300046261, 39.13005999987343], [-84.50944300046258, 39.128859999873555], [-84.51044300046247, 39.12895999987352], [-84.51024300046252, 39.13015999987343]]], "type": "Polygon"}, "id": "138", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 8.0, "AGE_21": 21.0, "AGE_25_34": 11.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.69, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6312.6006, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 14.0, "ID": 683588.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 1.69, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51114400046241, 39.13015999987343, -84.51014300046252, 39.1314599998733], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51094400046243, 39.1314599998733], [-84.51014300046252, 39.1314599998733], [-84.51024300046252, 39.13015999987343], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "139", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 22.0, "AGE_18": 116.0, "AGE_20_24": 48.0, "AGE_21": 81.0, "AGE_25_34": 30.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 10.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 88.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 1.83, "BG": "390610033002", "BLACK": 27.0, "BLOCK": "390610033002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 31762.3412, "F1_RACE": 121.0, "F2_RACES": 5.0, "FEMALE": 44.0, "FEMALE_18": 42.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 69.0, "HSNG_UNITS": 77.0, "HU_OCCUPIE": 69.0, "HU_VACANT": 8.0, "ID": 683606.0, "IN_HOUSEHO": 126.0, "MALE": 82.0, "MALE_18": 74.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 86.0, "NOT_HISPAN": 125.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 62.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.14, "POPULATION": 126.0, "RENTER_SIZ": 1.79, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 86.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51024300046252, 39.13005999987343, -84.50924300046262, 39.1314599998733], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.51024300046252, 39.13015999987343], [-84.51014300046252, 39.1314599998733], [-84.50924300046262, 39.13135999987332], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "140", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 22.0, "AGE_21": 27.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 30.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.86, "BG": "390610033002", "BLACK": 9.0, "BLOCK": "390610033002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8925.1414, "F1_RACE": 39.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 0.0, "ID": 683623.0, "IN_HOUSEHO": 39.0, "MALE": 22.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.9, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 1.86, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50934300046261, 39.13005999987343, -84.5084430004627, 39.13135999987332], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.50924300046262, 39.13135999987332], [-84.5084430004627, 39.131259999873315], [-84.5085430004627, 39.13005999987343], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "141", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 14.0, "AGE_18": 66.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 58.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 2.03, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19615.1423, "F1_RACE": 70.0, "F2_RACES": 3.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 4.0, "ID": 683641.0, "IN_HOUSEHO": 73.0, "MALE": 45.0, "MALE_18": 40.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 4.0, "POPULATION": 73.0, "RENTER_SIZ": 1.97, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 55.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51094400046243, 39.1314599998733, -84.51004300046255, 39.132759999873166], "geometry": {"coordinates": [[[-84.51094400046243, 39.1314599998733], [-84.51084400046246, 39.132759999873166], [-84.51004300046255, 39.132659999873205], [-84.51014300046252, 39.1314599998733], [-84.51094400046243, 39.1314599998733]]], "type": "Polygon"}, "id": "142", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 95.0, "AGE_20_24": 55.0, "AGE_21": 77.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 6.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.1, "BG": "390610033002", "BLACK": 29.0, "BLOCK": "390610033002005", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 28178.8347, "F1_RACE": 102.0, "F2_RACES": 3.0, "FEMALE": 49.0, "FEMALE_18": 40.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 12.0, "ID": 683658.0, "IN_HOUSEHO": 105.0, "MALE": 56.0, "MALE_18": 55.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.5, "POPULATION": 105.0, "RENTER_SIZ": 2.08, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 58.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51014300046252, 39.13135999987332, -84.50914300046264, 39.132659999873205], "geometry": {"coordinates": [[[-84.51004300046255, 39.132659999873205], [-84.50984300046255, 39.132659999873205], [-84.50914300046264, 39.132659999873205], [-84.50924300046262, 39.13135999987332], [-84.51014300046252, 39.1314599998733], [-84.51004300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "143", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683676.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50924300046262, 39.131259999873315, -84.5084430004627, 39.132659999873205], "geometry": {"coordinates": [[[-84.50924300046262, 39.13135999987332], [-84.50914300046264, 39.132659999873205], [-84.50844300046272, 39.13255999987321], [-84.5084430004627, 39.131259999873315], [-84.50924300046262, 39.13135999987332]]], "type": "Polygon"}, "id": "144", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 64.0, "AGE_20_24": 31.0, "AGE_21": 51.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 42.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610033002", "BLACK": 25.0, "BLOCK": "390610033002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19013.5995, "F1_RACE": 65.0, "F2_RACES": 4.0, "FEMALE": 26.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 36.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 6.0, "ID": 683695.0, "IN_HOUSEHO": 69.0, "MALE": 43.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.9, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 69.0, "RENTER_SIZ": 1.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51914400046158, 39.134959999872954, -84.51474400046204, 39.138259999872645], "geometry": {"coordinates": [[[-84.51744400046175, 39.134959999872954], [-84.51914400046158, 39.134959999872954], [-84.51764400046174, 39.136959999872786], [-84.51574400046195, 39.138259999872645], [-84.51514400046202, 39.1377599998727], [-84.51494400046204, 39.1365599998728], [-84.515144000462, 39.13585999987289], [-84.51474400046204, 39.13565999987291], [-84.51644400046186, 39.13505999987293], [-84.51744400046175, 39.134959999872954]]], "type": "Polygon"}, "id": "145", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683712.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.515044000462, 39.132759999873166, -84.51054400046252, 39.13565999987291], "geometry": {"coordinates": [[[-84.51244400046228, 39.132859999873176], [-84.515044000462, 39.13305999987313], [-84.51484400046203, 39.13425999987301], [-84.51474400046204, 39.13565999987291], [-84.51384400046216, 39.13555999987291], [-84.51271800046229, 39.135491999872926], [-84.51212000046235, 39.13545599987292], [-84.51054400046252, 39.135359999872946], [-84.5106440004625, 39.13485999987298], [-84.51074400046248, 39.13405999987305], [-84.51084400046246, 39.132759999873166], [-84.51244400046228, 39.132859999873176]]], "type": "Polygon"}, "id": "146", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 10.0, "AGE_15_19": 249.0, "AGE_18": 1029.0, "AGE_20_24": 412.0, "AGE_21": 618.0, "AGE_25_34": 251.0, "AGE_35_44": 71.0, "AGE_45_54": 30.0, "AGE_55_59": 8.0, "AGE_5_9": 28.0, "AGE_60_64": 6.0, "AGE_62": 10.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 387.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 24.0, "AP_OTHER": 37.0, "AP_WHITE": 459.0, "AREA": 0.04, "ASIAN": 372.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.69, "AVG_HHSIZE": 1.92, "BG": "390610030002", "BLACK": 244.0, "BLOCK": "390610030002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27691.1011, "F1_RACE": 1072.0, "F2_RACES": 36.0, "FEMALE": 470.0, "FEMALE_18": 429.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 423.0, "GROUP_QUAR": 423.0, "HAWAIIAN": 5.0, "HH_FAMILY": 119.0, "HH_NONFAMI": 237.0, "HOUSEHOLDS": 356.0, "HSNG_UNITS": 362.0, "HU_OCCUPIE": 356.0, "HU_VACANT": 6.0, "ID": 683730.0, "IN_HOUSEHO": 685.0, "MALE": 638.0, "MALE_18": 600.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 422.0, "NOT_HISPAN": 1084.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 354.0, "OTHER_RACE": 15.0, "OWNER_SIZE": 1.5, "POPULATION": 1108.0, "RENTER_SIZ": 1.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 435.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50194300046337, 39.12465999987397, -84.4999430004636, 39.126359999873806], "geometry": {"coordinates": [[[-84.50174300046339, 39.12475999987396], [-84.50194300046337, 39.125159999873944], [-84.5017430004634, 39.126359999873806], [-84.4999430004636, 39.12625999987383], [-84.50014300046355, 39.12465999987397], [-84.50174300046339, 39.12475999987396]]], "type": "Polygon"}, "id": "147", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697320.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50324300046324, 39.127259999873715, -84.50164300046343, 39.12815999987364], "geometry": {"coordinates": [[[-84.50324300046324, 39.12735999987369], [-84.50314300046327, 39.12815999987364], [-84.50164300046343, 39.12805999987364], [-84.5018430004634, 39.127259999873715], [-84.50324300046324, 39.12735999987369]]], "type": "Polygon"}, "id": "148", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 3.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 13.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.13, "BG": "390610033001", "BLACK": 14.0, "BLOCK": "390610033001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6204.9883, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 8.0, "ID": 697337.0, "IN_HOUSEHO": 27.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 27.0, "RENTER_SIZ": 1.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 13.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.12805999987364, -84.50164300046343, 39.12865999987358], "geometry": {"coordinates": [[[-84.50314300046327, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50164300046343, 39.12805999987364], [-84.50314300046327, 39.12815999987364]]], "type": "Polygon"}, "id": "149", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 697355.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5018430004634, 39.126359999873806, -84.49914300046369, 39.12865999987358], "geometry": {"coordinates": [[[-84.50164300046343, 39.12805999987364], [-84.50164300046343, 39.12865999987358], [-84.49914300046369, 39.128259999873634], [-84.49984300046361, 39.127759999873675], [-84.50094300046348, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.5018430004634, 39.127259999873715], [-84.50164300046343, 39.12805999987364]]], "type": "Polygon"}, "id": "150", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697372.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50454300046312, 39.12795999987365, -84.50294300046332, 39.13085999987339], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50294300046332, 39.13075999987339], [-84.50324300046326, 39.128259999873634], [-84.50334300046325, 39.12815999987364], [-84.50454300046312, 39.12795999987365], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "151", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 119.0, "AGE_20_24": 35.0, "AGE_21": 109.0, "AGE_25_34": 26.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 8.0, "AGE_62": 13.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 2.0, "AP_WHITE": 52.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.66, "BG": "390610033001", "BLACK": 80.0, "BLOCK": "390610033001007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10556.7195, "F1_RACE": 137.0, "F2_RACES": 1.0, "FEMALE": 64.0, "FEMALE_18": 55.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 57.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 697392.0, "IN_HOUSEHO": 138.0, "MALE": 74.0, "MALE_18": 64.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 132.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 74.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.56, "POPULATION": 138.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 51.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13075999987339, -84.50284300046332, 39.13155999987331], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50424300046318, 39.13155999987331], [-84.50284300046332, 39.13145999987332], [-84.50294300046332, 39.13075999987339], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "152", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 8.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 10.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 71.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.52, "BG": "390610033001", "BLACK": 71.0, "BLOCK": "390610033001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23024.8535, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 7.0, "ID": 697411.0, "IN_HOUSEHO": 81.0, "MALE": 42.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.83, "POPULATION": 81.0, "RENTER_SIZ": 3.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 10.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13225999987324, -84.50414300046317, 39.13305999987318], "geometry": {"coordinates": [[[-84.50504300046309, 39.13235999987324], [-84.5049430004631, 39.13305999987318], [-84.50414300046319, 39.13305999987318], [-84.50414300046317, 39.13225999987324], [-84.50504300046309, 39.13235999987324]]], "type": "Polygon"}, "id": "153", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 15.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.82, "BG": "390610032002", "BLACK": 25.0, "BLOCK": "390610032002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16878.2214, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 0.0, "ID": 697428.0, "IN_HOUSEHO": 40.0, "MALE": 21.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 40.0, "RENTER_SIZ": 1.81, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13145999987332, -84.50274300046333, 39.13225999987324], "geometry": {"coordinates": [[[-84.50424300046318, 39.13155999987331], [-84.50414300046317, 39.13225999987324], [-84.50274300046333, 39.13215999987327], [-84.50284300046332, 39.13145999987332], [-84.50424300046318, 39.13155999987331]]], "type": "Polygon"}, "id": "154", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 35.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 5.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.59, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12002.0838, "F1_RACE": 43.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 697446.0, "IN_HOUSEHO": 44.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 4.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.5, "POPULATION": 44.0, "RENTER_SIZ": 2.31, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 5.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13215999987327, -84.50264300046334, 39.13305999987318], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.50264300046334, 39.13285999987319], [-84.50274300046333, 39.13215999987327], [-84.50414300046317, 39.13225999987324], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "155", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 10.0, "AGE_18": 79.0, "AGE_20_24": 33.0, "AGE_21": 66.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.17, "BG": "390610032002", "BLACK": 59.0, "BLOCK": "390610032002019", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24662.0841, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 50.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 4.0, "ID": 697463.0, "IN_HOUSEHO": 100.0, "MALE": 50.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 38.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 100.0, "RENTER_SIZ": 2.14, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 38.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.128259999873634, -84.50144300046345, 39.13075999987339], "geometry": {"coordinates": [[[-84.50294300046332, 39.13075999987339], [-84.50144300046345, 39.13065999987342], [-84.50154300046344, 39.12945999987352], [-84.50164300046343, 39.12865999987358], [-84.50324300046326, 39.128259999873634], [-84.50294300046332, 39.13075999987339]]], "type": "Polygon"}, "id": "156", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50294300046332, 39.13065999987342, -84.5012430004635, 39.132359999873266], "geometry": {"coordinates": [[[-84.50284300046332, 39.13145999987332], [-84.50274300046333, 39.13215999987327], [-84.50174300046343, 39.13225999987326], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13195999987329], [-84.50144300046345, 39.13065999987342], [-84.50294300046332, 39.13075999987339], [-84.50284300046332, 39.13145999987332]]], "type": "Polygon"}, "id": "157", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 150.0, "AGE_20_24": 13.0, "AGE_21": 144.0, "AGE_25_34": 30.0, "AGE_35_44": 27.0, "AGE_45_54": 27.0, "AGE_55_59": 14.0, "AGE_5_9": 18.0, "AGE_60_64": 8.0, "AGE_62": 33.0, "AGE_65": 28.0, "AGE_65_74": 17.0, "AGE_75_84": 8.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 179.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.79, "BG": "390610033001", "BLACK": 174.0, "BLOCK": "390610033001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 22368.6271, "F1_RACE": 188.0, "F2_RACES": 5.0, "FEMALE": 121.0, "FEMALE_18": 93.0, "FEMALE_65": 22.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 108.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 108.0, "HU_VACANT": 7.0, "ID": 697498.0, "IN_HOUSEHO": 193.0, "MALE": 72.0, "MALE_18": 57.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 189.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 103.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.0, "POPULATION": 193.0, "RENTER_SIZ": 1.73, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50274300046333, 39.13215999987327, -84.5012430004635, 39.13285999987319], "geometry": {"coordinates": [[[-84.50274300046333, 39.13215999987327], [-84.50264300046334, 39.13285999987319], [-84.5012430004635, 39.13285999987319], [-84.5012430004635, 39.132359999873266], [-84.50174300046343, 39.13225999987326], [-84.50274300046333, 39.13215999987327]]], "type": "Polygon"}, "id": "158", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 11.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 32.0, "BLOCK": "390610032002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15171.3464, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 1.0, "ID": 697517.0, "IN_HOUSEHO": 50.0, "MALE": 28.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 50.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 18.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50144300046345, 39.130459999873445, -84.49964300046366, 39.13265999987324], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.5012430004635, 39.13195999987329], [-84.5012430004635, 39.132359999873266], [-84.49964300046366, 39.13265999987324], [-84.49974300046365, 39.13155999987333], [-84.49994300046363, 39.130459999873445], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "159", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 6.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 23.0, "BLOCK": "390610034002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3035.2329, "F1_RACE": 33.0, "F2_RACES": 1.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 0.0, "ID": 697534.0, "IN_HOUSEHO": 34.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 34.0, "RENTER_SIZ": 1.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 9.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.13245999987321, -84.50734300046284, 39.13385999987311], "geometry": {"coordinates": [[[-84.50844300046272, 39.13255999987321], [-84.50834300046274, 39.13385999987311], [-84.50814300046274, 39.133859999873096], [-84.50734300046284, 39.133859999873096], [-84.50744300046281, 39.13245999987321], [-84.50844300046272, 39.13255999987321]]], "type": "Polygon"}, "id": "160", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 43.0, "AGE_20_24": 18.0, "AGE_21": 37.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 2.38, "BG": "390610032002", "BLACK": 36.0, "BLOCK": "390610032002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9965.0563, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 697553.0, "IN_HOUSEHO": 50.0, "MALE": 30.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.25, "POPULATION": 50.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 12.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50904300046265, 39.133859999873096, -84.50804300046278, 39.13515999987295], "geometry": {"coordinates": [[[-84.50904300046265, 39.133859999873096], [-84.50894300046268, 39.13515999987295], [-84.50804300046278, 39.13515999987295], [-84.50814300046274, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50904300046265, 39.133859999873096]]], "type": "Polygon"}, "id": "161", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 3.0, "AGE_18": 57.0, "AGE_20_24": 19.0, "AGE_21": 52.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.97, "BG": "390610032002", "BLACK": 45.0, "BLOCK": "390610032002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15926.4729, "F1_RACE": 68.0, "F2_RACES": 1.0, "FEMALE": 27.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 697572.0, "IN_HOUSEHO": 69.0, "MALE": 42.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.4, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 69.0, "RENTER_SIZ": 1.97, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50814300046274, 39.133859999873096, -84.50734300046284, 39.13515999987295], "geometry": {"coordinates": [[[-84.50804300046278, 39.13515999987295], [-84.50734300046285, 39.13505999987297], [-84.50734300046284, 39.133859999873096], [-84.50814300046274, 39.133859999873096], [-84.50804300046278, 39.13515999987295]]], "type": "Polygon"}, "id": "162", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 45.0, "AGE_20_24": 9.0, "AGE_21": 42.0, "AGE_25_34": 11.0, "AGE_35_44": 13.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.44, "BG": "390610032002", "BLACK": 44.0, "BLOCK": "390610032002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17524.9649, "F1_RACE": 59.0, "F2_RACES": 2.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 697590.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 61.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50944400046265, 39.13505999987297, -84.50544300046307, 39.137659999872724], "geometry": {"coordinates": [[[-84.50554300046306, 39.13585999987293], [-84.50554300046305, 39.13545999987295], [-84.50554300046305, 39.13515999987297], [-84.50714300046289, 39.13505999987297], [-84.50734300046285, 39.13505999987297], [-84.50804300046278, 39.13515999987295], [-84.50894300046268, 39.13515999987295], [-84.50904300046267, 39.13595999987288], [-84.50944400046265, 39.137659999872724], [-84.50826100046277, 39.137578999872744], [-84.50644300046295, 39.136759999872815], [-84.50544300046307, 39.13665999987285], [-84.50554300046306, 39.13585999987293]]], "type": "Polygon"}, "id": "163", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697608.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50734300046285, 39.1336599998731, -84.50554300046305, 39.13515999987297], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50734300046285, 39.13505999987297], [-84.50714300046289, 39.13505999987297], [-84.50554300046305, 39.13515999987297], [-84.50564300046304, 39.134459999873044], [-84.50574300046303, 39.1336599998731], [-84.50654300046293, 39.13375999987311], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "164", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 44.0, "AGE_20_24": 13.0, "AGE_21": 43.0, "AGE_25_34": 14.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.21, "BG": "390610032002", "BLACK": 34.0, "BLOCK": "390610032002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6263.9059, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 23.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 697632.0, "IN_HOUSEHO": 53.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 53.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 17.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13305999987318, -84.5049430004631, 39.133659999873124], "geometry": {"coordinates": [[[-84.505843000463, 39.13315999987314], [-84.50574300046303, 39.1336599998731], [-84.5049430004631, 39.133659999873124], [-84.5049430004631, 39.13305999987318], [-84.505843000463, 39.13315999987314]]], "type": "Polygon"}, "id": "165", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 1.0, "AGE_21": 9.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 3.0, "BLOCK": "390610032002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5745.7963, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 697652.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 10.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50574300046303, 39.1336599998731, -84.50484300046311, 39.134459999873044], "geometry": {"coordinates": [[[-84.50574300046303, 39.1336599998731], [-84.50564300046304, 39.134459999873044], [-84.50484300046311, 39.13435999987304], [-84.5049430004631, 39.133659999873124], [-84.50574300046303, 39.1336599998731]]], "type": "Polygon"}, "id": "166", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610032002", "BLACK": 24.0, "BLOCK": "390610032002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12498.4938, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 697669.0, "IN_HOUSEHO": 28.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 28.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50564300046304, 39.13435999987304, -84.50474300046312, 39.13515999987297], "geometry": {"coordinates": [[[-84.50564300046304, 39.134459999873044], [-84.50554300046305, 39.13515999987297], [-84.50474300046312, 39.135059999872986], [-84.50484300046311, 39.13435999987304], [-84.50564300046304, 39.134459999873044]]], "type": "Polygon"}, "id": "167", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 21.0, "AGE_20_24": 11.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.25, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12792.2919, "F1_RACE": 26.0, "F2_RACES": 1.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 4.0, "ID": 697687.0, "IN_HOUSEHO": 27.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 27.0, "RENTER_SIZ": 2.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50554300046305, 39.13505999987297, -84.50384300046323, 39.13545999987295], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.13505999987297], [-84.50474300046312, 39.135059999872986], [-84.50554300046305, 39.13515999987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "168", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 88.0, "AGE_20_24": 38.0, "AGE_21": 82.0, "AGE_25_34": 37.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 27.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 56.0, "AREA": 0.0, "ASIAN": 26.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.38, "BG": "390610032001", "BLACK": 12.0, "BLOCK": "390610032001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 45600.0576, "F1_RACE": 91.0, "F2_RACES": 3.0, "FEMALE": 55.0, "FEMALE_18": 50.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 0.0, "ID": 697704.0, "IN_HOUSEHO": 94.0, "MALE": 39.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 68.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 94.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 53.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50554300046306, 39.13536199987297, -84.50374300046326, 39.13665999987285], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50554300046306, 39.13585999987293], [-84.50544300046307, 39.13665999987285], [-84.50374300046326, 39.13655999987285], [-84.50384300046323, 39.135759999872924], [-84.50384300046323, 39.13536199987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "169", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697723.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50934400046268, 39.140259999872484, -84.50744400046288, 39.14125999987239], "geometry": {"coordinates": [[[-84.50934400046268, 39.140259999872484], [-84.50924400046269, 39.14125999987239], [-84.50744400046288, 39.141159999872414], [-84.50754300046286, 39.140259999872505], [-84.50934400046268, 39.140259999872484]]], "type": "Polygon"}, "id": "170", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 28.0, "AGE_20_24": 6.0, "AGE_21": 27.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.5, "BG": "390610032001", "BLACK": 21.0, "BLOCK": "390610032001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5510.4161, "F1_RACE": 30.0, "F2_RACES": 5.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 697743.0, "IN_HOUSEHO": 35.0, "MALE": 21.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 35.0, "RENTER_SIZ": 2.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 5.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50954400046263, 39.13665999987285, -84.50024300046367, 39.142259999872316], "geometry": {"coordinates": [[[-84.50924400046269, 39.14125999987239], [-84.5092440004627, 39.142259999872316], [-84.50574300046307, 39.14205999987235], [-84.50324300046334, 39.14185999987239], [-84.50304300046336, 39.141859999872366], [-84.50024300046367, 39.1416599998724], [-84.50034300046366, 39.1406599998725], [-84.50054300046362, 39.139659999872585], [-84.50054300046362, 39.13935999987259], [-84.5006430004636, 39.138359999872684], [-84.5015430004635, 39.13845999987268], [-84.50214300046343, 39.13935999987259], [-84.50504300046315, 39.13955999987258], [-84.50537800046308, 39.137129999872776], [-84.50544300046307, 39.13665999987285], [-84.50644300046295, 39.136759999872815], [-84.50826100046277, 39.137578999872744], [-84.50944400046265, 39.137659999872724], [-84.50954400046263, 39.138059999872695], [-84.50934400046268, 39.140259999872484], [-84.50754300046286, 39.140259999872505], [-84.50744400046288, 39.141159999872414], [-84.50924400046269, 39.14125999987239]]], "type": "Polygon"}, "id": "171", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 297.0, "AGE_20_24": 46.0, "AGE_21": 290.0, "AGE_25_34": 69.0, "AGE_35_44": 49.0, "AGE_45_54": 48.0, "AGE_55_59": 15.0, "AGE_5_9": 5.0, "AGE_60_64": 10.0, "AGE_62": 62.0, "AGE_65": 56.0, "AGE_65_74": 27.0, "AGE_75_84": 25.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 50.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 9.0, "AP_WHITE": 155.0, "AREA": 0.12, "ASIAN": 44.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.71, "BG": "390610032001", "BLACK": 122.0, "BLOCK": "390610032001000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2794.7365, "F1_RACE": 317.0, "F2_RACES": 12.0, "FEMALE": 109.0, "FEMALE_18": 95.0, "FEMALE_65": 13.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 90.0, "HOUSEHOLDS": 133.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 133.0, "HU_VACANT": 17.0, "ID": 697760.0, "IN_HOUSEHO": 228.0, "MALE": 220.0, "MALE_18": 202.0, "MALE_65": 43.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 148.0, "NOT_HISPAN": 327.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 107.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.27, "POPULATION": 329.0, "RENTER_SIZ": 1.58, "THEFT": 33, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 148.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13305999987318, -84.5040430004632, 39.133659999873124], "geometry": {"coordinates": [[[-84.5049430004631, 39.13305999987318], [-84.5049430004631, 39.133659999873124], [-84.5040430004632, 39.13355999987311], [-84.50414300046319, 39.13305999987318], [-84.5049430004631, 39.13305999987318]]], "type": "Polygon"}, "id": "172", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 13.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 28.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.23, "AVG_HHSIZE": 3.53, "BG": "390610032002", "BLACK": 53.0, "BLOCK": "390610032002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 34474.8115, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 21.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 4.0, "ID": 697792.0, "IN_HOUSEHO": 60.0, "MALE": 24.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 60.0, "RENTER_SIZ": 3.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13355999987311, -84.5040430004632, 39.13435999987306], "geometry": {"coordinates": [[[-84.5049430004631, 39.133659999873124], [-84.50484300046311, 39.13435999987304], [-84.5040430004632, 39.13435999987306], [-84.5040430004632, 39.13355999987311], [-84.5049430004631, 39.133659999873124]]], "type": "Polygon"}, "id": "173", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 24.0, "AGE_25_34": 8.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 31.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.31, "BG": "390610032002", "BLACK": 30.0, "BLOCK": "390610032002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15612.5144, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 697810.0, "IN_HOUSEHO": 37.0, "MALE": 17.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50484300046311, 39.13435999987304, -84.50384300046323, 39.135059999872986], "geometry": {"coordinates": [[[-84.50484300046311, 39.13435999987304], [-84.50474300046312, 39.135059999872986], [-84.50384300046323, 39.13505999987297], [-84.5040430004632, 39.13435999987306], [-84.50484300046311, 39.13435999987304]]], "type": "Polygon"}, "id": "174", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 0.0, "BLOCK": "390610032002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697827.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13285999987319, -84.50264300046334, 39.13355999987311], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.5040430004632, 39.13355999987311], [-84.50264300046335, 39.13345999987315], [-84.50264300046334, 39.13285999987319], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "175", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 4.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 14.0, "AGE_21": 71.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 16.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 98.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610032002", "BLACK": 96.0, "BLOCK": "390610032002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35895.2371, "F1_RACE": 105.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 2.0, "ID": 697845.0, "IN_HOUSEHO": 107.0, "MALE": 50.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.7, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 9.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13345999987315, -84.50254300046338, 39.13435999987306], "geometry": {"coordinates": [[[-84.5040430004632, 39.13355999987311], [-84.5040430004632, 39.13435999987306], [-84.50254300046338, 39.13425999987308], [-84.50264300046335, 39.13345999987315], [-84.5040430004632, 39.13355999987311]]], "type": "Polygon"}, "id": "176", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 33.0, "AGE_20_24": 12.0, "AGE_21": 33.0, "AGE_25_34": 18.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 9.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 9.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.22, "BG": "390610032002", "BLACK": 7.0, "BLOCK": "390610032002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7649.6439, "F1_RACE": 32.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 1.0, "ID": 697862.0, "IN_HOUSEHO": 33.0, "MALE": 15.0, "MALE_18": 15.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 33.0, "RENTER_SIZ": 1.22, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13425999987308, -84.50244300046339, 39.13505999987297], "geometry": {"coordinates": [[[-84.5040430004632, 39.13435999987306], [-84.50384300046323, 39.13505999987297], [-84.50244300046339, 39.13495999987302], [-84.50254300046338, 39.13425999987308], [-84.5040430004632, 39.13435999987306]]], "type": "Polygon"}, "id": "177", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 22.0, "AGE_20_24": 4.0, "AGE_21": 19.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.92, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6030.4194, "F1_RACE": 19.0, "F2_RACES": 4.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 2.0, "ID": 697880.0, "IN_HOUSEHO": 23.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.86, "POPULATION": 23.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13495999987302, -84.50244300046339, 39.13536199987297], "geometry": {"coordinates": [[[-84.50384300046323, 39.13505999987297], [-84.50384300046323, 39.13536199987297], [-84.50244300046339, 39.13528099987297], [-84.50244300046339, 39.13495999987302], [-84.50384300046323, 39.13505999987297]]], "type": "Polygon"}, "id": "178", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697897.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.129259999873604, -84.48394300046536, 39.13075999987347], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.48394300046536, 39.13065999987348], [-84.48404300046533, 39.129459999873596], [-84.48414300046532, 39.129259999873604], [-84.48574300046515, 39.129359999873586], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "179", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707099.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.131759999873395, -84.4854430004652, 39.132659999873304], "geometry": {"coordinates": [[[-84.48684300046504, 39.13185999987336], [-84.48684300046504, 39.132659999873304], [-84.4854430004652, 39.1325599998733], [-84.4854430004652, 39.131759999873395], [-84.48684300046504, 39.13185999987336]]], "type": "Polygon"}, "id": "180", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.0, "BG": "390610036001", "BLACK": 20.0, "BLOCK": "390610036001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4822.2972, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 7.0, "ID": 707117.0, "IN_HOUSEHO": 20.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 47.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 20.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48596700046515, 39.13276599987328, -84.48504300046523, 39.133397999873225], "geometry": {"coordinates": [[[-84.48596700046515, 39.133397999873225], [-84.48504300046524, 39.13335999987322], [-84.48504300046523, 39.13276599987328], [-84.48596700046515, 39.133397999873225]]], "type": "Polygon"}, "id": "181", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610036001", "BLACK": 5.0, "BLOCK": "390610036001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4920.2886, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 707135.0, "IN_HOUSEHO": 5.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 5.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48554300046517, 39.13065999987348, -84.48384300046537, 39.131759999873395], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.4854430004652, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131619999873394], [-84.48384300046537, 39.131359999873425], [-84.48394300046536, 39.13065999987348], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "182", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 21.0, "AGE_20_24": 0.0, "AGE_21": 20.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.36, "BG": "390610037003", "BLACK": 33.0, "BLOCK": "390610037003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5240.2265, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 16.0, "ID": 707151.0, "IN_HOUSEHO": 33.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 30.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 2.5, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4854430004652, 39.131759999873395, -84.48383200046537, 39.1325599998733], "geometry": {"coordinates": [[[-84.4854430004652, 39.131759999873395], [-84.4854430004652, 39.1325599998733], [-84.48504300046523, 39.1325599998733], [-84.48480700046527, 39.132559999873294], [-84.48383200046537, 39.13184799987338], [-84.48384300046537, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.4854430004652, 39.131759999873395]]], "type": "Polygon"}, "id": "183", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 707171.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48504300046523, 39.132559999873294, -84.48480700046527, 39.13276599987328], "geometry": {"coordinates": [[[-84.48504300046523, 39.1325599998733], [-84.48504300046523, 39.13276599987328], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.1325599998733]]], "type": "Polygon"}, "id": "184", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 707192.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48480700046527, 39.13184799987338, -84.48374300046537, 39.13255999987331], "geometry": {"coordinates": [[[-84.48480700046527, 39.132559999873294], [-84.48374300046537, 39.13255999987331], [-84.48383200046537, 39.13184799987338], [-84.48480700046527, 39.132559999873294]]], "type": "Polygon"}, "id": "185", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036001", "BLACK": 3.0, "BLOCK": "390610036001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2138.8145, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707208.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49294300046441, 39.13435999987311, -84.49154300046456, 39.13585999987298], "geometry": {"coordinates": [[[-84.49234300046446, 39.13435999987311], [-84.49294300046441, 39.134459999873094], [-84.49244300046446, 39.135159999873025], [-84.49221400046447, 39.135337999873], [-84.49154300046456, 39.13585999987298], [-84.49234300046446, 39.13435999987311]]], "type": "Polygon"}, "id": "186", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707224.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49234300046447, 39.135337999873, -84.49154300046456, 39.13675999987287], "geometry": {"coordinates": [[[-84.49234300046447, 39.13675999987287], [-84.49154300046457, 39.1366599998729], [-84.49154300046456, 39.13585999987298], [-84.49221400046447, 39.135337999873], [-84.49224300046448, 39.135659999872985], [-84.49234300046447, 39.13675999987287]]], "type": "Polygon"}, "id": "187", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610034001", "BLACK": 2.0, "BLOCK": "390610034001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 650.2932, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707242.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 69.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49234300046446, 39.13435999987311, -84.49014300046471, 39.13645999987293], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49014300046471, 39.13645999987293], [-84.49064300046464, 39.135159999873025], [-84.49164300046453, 39.13435999987311], [-84.49234300046446, 39.13435999987311], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "188", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707261.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.13585999987298, -84.49014300046471, 39.13675999987289], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49154300046457, 39.1366599998729], [-84.49014300046471, 39.13675999987289], [-84.49014300046471, 39.13645999987293], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "189", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49244300046446, 39.13315999987322, -84.487443000465, 39.13435999987311], "geometry": {"coordinates": [[[-84.49244300046446, 39.13415999987311], [-84.49234300046446, 39.13435999987311], [-84.49164300046453, 39.13435999987311], [-84.487443000465, 39.133659999873196], [-84.487443000465, 39.133459999873224], [-84.48764300046497, 39.13315999987322], [-84.48994300046472, 39.13325999987322], [-84.49174300046454, 39.13335999987318], [-84.49174300046455, 39.13415999987313], [-84.49244300046446, 39.13415999987311]]], "type": "Polygon"}, "id": "190", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 132.0, "AGE_20_24": 14.0, "AGE_21": 129.0, "AGE_25_34": 22.0, "AGE_35_44": 26.0, "AGE_45_54": 23.0, "AGE_55_59": 8.0, "AGE_5_9": 12.0, "AGE_60_64": 8.0, "AGE_62": 32.0, "AGE_65": 28.0, "AGE_65_74": 14.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.68, "BG": "390610036002", "BLACK": 153.0, "BLOCK": "390610036002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12689.6134, "F1_RACE": 157.0, "F2_RACES": 3.0, "FEMALE": 92.0, "FEMALE_18": 76.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 95.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 95.0, "HU_VACANT": 10.0, "ID": 707297.0, "IN_HOUSEHO": 160.0, "MALE": 68.0, "MALE_18": 56.0, "MALE_65": 12.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 91.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.25, "POPULATION": 160.0, "RENTER_SIZ": 1.66, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49164300046453, 39.133659999873196, -84.48724300046503, 39.135159999873025], "geometry": {"coordinates": [[[-84.487443000465, 39.133659999873196], [-84.49164300046453, 39.13435999987311], [-84.49064300046464, 39.135159999873025], [-84.48994300046473, 39.134959999873075], [-84.48924300046481, 39.13485999987306], [-84.48874300046486, 39.13445999987311], [-84.48724300046503, 39.133859999873174], [-84.487443000465, 39.133659999873196]]], "type": "Polygon"}, "id": "191", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036002", "BLACK": 3.0, "BLOCK": "390610036002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 298.4113, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707320.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49064300046464, 39.13445999987311, -84.48614300046516, 39.13845999987274], "geometry": {"coordinates": [[[-84.49064300046464, 39.135159999873025], [-84.49014300046471, 39.13645999987293], [-84.48808200046494, 39.137448999872845], [-84.48764300046498, 39.13765999987284], [-84.48644300046513, 39.13845999987274], [-84.48614300046516, 39.13805999987279], [-84.48622800046516, 39.13771799987283], [-84.48624300046515, 39.13765999987284], [-84.48724300046504, 39.13655999987293], [-84.48804300046494, 39.13555999987301], [-84.48844300046488, 39.134959999873075], [-84.48874300046486, 39.13445999987311], [-84.48924300046481, 39.13485999987306], [-84.48994300046473, 39.134959999873075], [-84.49064300046464, 39.135159999873025]]], "type": "Polygon"}, "id": "192", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 16.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 16.0, "AGE_35_44": 17.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 26.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 109.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 3.21, "BG": "390610036002", "BLACK": 109.0, "BLOCK": "390610036002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4125.8625, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 31.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 12.0, "ID": 707340.0, "IN_HOUSEHO": 109.0, "MALE": 49.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 109.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 109.0, "RENTER_SIZ": 3.32, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.1366599998729, -84.49014300046471, 39.13845999987273], "geometry": {"coordinates": [[[-84.49154300046457, 39.1366599998729], [-84.49124300046462, 39.13785999987278], [-84.4903430004647, 39.13845999987273], [-84.4903430004647, 39.138259999872766], [-84.49014300046471, 39.13675999987289], [-84.49154300046457, 39.1366599998729]]], "type": "Polygon"}, "id": "193", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707365.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49114300046465, 39.139459999872614, -84.48944300046483, 39.140859999872504], "geometry": {"coordinates": [[[-84.49114300046465, 39.139459999872614], [-84.49094300046467, 39.140859999872504], [-84.48974300046478, 39.140859999872504], [-84.48944300046483, 39.14075999987253], [-84.4896430004648, 39.13955999987264], [-84.49044300046471, 39.13945999987263], [-84.49114300046465, 39.139459999872614]]], "type": "Polygon"}, "id": "194", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 18.0, "AGE_15_19": 16.0, "AGE_18": 97.0, "AGE_20_24": 11.0, "AGE_21": 92.0, "AGE_25_34": 20.0, "AGE_35_44": 23.0, "AGE_45_54": 15.0, "AGE_55_59": 7.0, "AGE_5_9": 13.0, "AGE_60_64": 6.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610067001", "BLACK": 147.0, "BLOCK": "390610067001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19678.1357, "F1_RACE": 149.0, "F2_RACES": 0.0, "FEMALE": 71.0, "FEMALE_18": 53.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 62.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 62.0, "HU_VACANT": 12.0, "ID": 707382.0, "IN_HOUSEHO": 149.0, "MALE": 78.0, "MALE_18": 44.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 149.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 149.0, "RENTER_SIZ": 2.31, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4903430004647, 39.13645999987293, -84.48644300046513, 39.13965999987265], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48644300046513, 39.13845999987274], [-84.48764300046498, 39.13765999987284], [-84.48808200046494, 39.137448999872845], [-84.49014300046471, 39.13645999987293], [-84.49014300046471, 39.13675999987289], [-84.4903430004647, 39.138259999872766], [-84.4903430004647, 39.13845999987273], [-84.48724300046506, 39.13965999987265], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "195", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 15.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 6.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.7, "BG": "390610067001", "BLACK": 26.0, "BLOCK": "390610067001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1123.5003, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 707402.0, "IN_HOUSEHO": 27.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 18.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 2.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49044300046471, 39.13845999987273, -84.48724300046506, 39.13985999987262], "geometry": {"coordinates": [[[-84.4903430004647, 39.13845999987273], [-84.49044300046471, 39.13945999987263], [-84.4896430004648, 39.13955999987264], [-84.48834300046495, 39.13985999987262], [-84.48734300046505, 39.13985999987261], [-84.48724300046506, 39.13965999987265], [-84.4903430004647, 39.13845999987273]]], "type": "Polygon"}, "id": "196", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 18.0, "AGE_20_24": 1.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.87, "BG": "390610067001", "BLACK": 27.0, "BLOCK": "390610067001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3626.9663, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 5.0, "ID": 707424.0, "IN_HOUSEHO": 28.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 28.0, "RENTER_SIZ": 2.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4896430004648, 39.13955999987264, -84.48734300046505, 39.14075999987253], "geometry": {"coordinates": [[[-84.4896430004648, 39.13955999987264], [-84.48944300046483, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.487743000465, 39.14045999987258], [-84.48734300046505, 39.13985999987261], [-84.48834300046495, 39.13985999987262], [-84.4896430004648, 39.13955999987264]]], "type": "Polygon"}, "id": "197", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 13.0, "AGE_15_19": 12.0, "AGE_18": 66.0, "AGE_20_24": 5.0, "AGE_21": 59.0, "AGE_25_34": 17.0, "AGE_35_44": 14.0, "AGE_45_54": 12.0, "AGE_55_59": 4.0, "AGE_5_9": 17.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 3.26, "BG": "390610067001", "BLACK": 107.0, "BLOCK": "390610067001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16117.6625, "F1_RACE": 111.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 9.0, "ID": 707443.0, "IN_HOUSEHO": 111.0, "MALE": 59.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 111.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 111.0, "RENTER_SIZ": 3.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48874300046486, 39.133859999873174, -84.48704300046504, 39.134959999873075], "geometry": {"coordinates": [[[-84.48724300046503, 39.133859999873174], [-84.48874300046486, 39.13445999987311], [-84.48844300046488, 39.134959999873075], [-84.48704300046504, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48724300046503, 39.133859999873174]]], "type": "Polygon"}, "id": "198", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 2.0, "AGE_21": 25.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 3.0, "AGE_55_59": 6.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.04, "BG": "390610036002", "BLACK": 24.0, "BLOCK": "390610036002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7760.281, "F1_RACE": 25.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 15.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 707461.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 52.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48844300046488, 39.13435999987314, -84.48634300046511, 39.13555999987301], "geometry": {"coordinates": [[[-84.48844300046488, 39.134959999873075], [-84.48804300046494, 39.13555999987301], [-84.48704300046505, 39.13525999987304], [-84.48634300046511, 39.13505999987305], [-84.48704300046504, 39.13435999987314], [-84.48844300046488, 39.134959999873075]]], "type": "Polygon"}, "id": "199", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 20.0, "AGE_20_24": 5.0, "AGE_21": 19.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 2.33, "BG": "390610036002", "BLACK": 35.0, "BLOCK": "390610036002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7242.9872, "F1_RACE": 35.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 18.0, "ID": 707480.0, "IN_HOUSEHO": 35.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 35.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48804300046494, 39.13525999987304, -84.48534300046525, 39.13805999987279], "geometry": {"coordinates": [[[-84.48724300046504, 39.13655999987293], [-84.48624300046515, 39.13765999987284], [-84.48622800046516, 39.13771799987283], [-84.48614300046516, 39.13805999987279], [-84.48534300046525, 39.13715999987289], [-84.48554300046523, 39.137059999872875], [-84.48704300046505, 39.13525999987304], [-84.48804300046494, 39.13555999987301], [-84.48724300046504, 39.13655999987293]]], "type": "Polygon"}, "id": "200", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 99.0, "AGE_20_24": 22.0, "AGE_21": 89.0, "AGE_25_34": 10.0, "AGE_35_44": 20.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 6.0, "AGE_60_64": 7.0, "AGE_62": 16.0, "AGE_65": 12.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.06, "BG": "390610036002", "BLACK": 130.0, "BLOCK": "390610036002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12916.6618, "F1_RACE": 130.0, "F2_RACES": 2.0, "FEMALE": 80.0, "FEMALE_18": 65.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 8.0, "ID": 707499.0, "IN_HOUSEHO": 132.0, "MALE": 52.0, "MALE_18": 34.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 53.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.18, "POPULATION": 132.0, "RENTER_SIZ": 1.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48714300046504, 39.13415999987315, -84.4839430004654, 39.13715999987289], "geometry": {"coordinates": [[[-84.48634300046511, 39.13505999987305], [-84.48704300046505, 39.13525999987304], [-84.48554300046523, 39.137059999872875], [-84.48534300046525, 39.13715999987289], [-84.4839430004654, 39.136059999873005], [-84.48614300046513, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48704300046504, 39.13435999987314], [-84.48634300046511, 39.13505999987305]]], "type": "Polygon"}, "id": "201", "properties": {"AGE_0_5": 30.0, "AGE_10_14": 47.0, "AGE_15_19": 19.0, "AGE_18": 109.0, "AGE_20_24": 13.0, "AGE_21": 102.0, "AGE_25_34": 32.0, "AGE_35_44": 26.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 27.0, "AGE_60_64": 2.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 221.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.32, "AVG_HHSIZE": 2.69, "BG": "390610036002", "BLACK": 216.0, "BLOCK": "390610036002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14177.4841, "F1_RACE": 220.0, "F2_RACES": 6.0, "FEMALE": 142.0, "FEMALE_18": 79.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 84.0, "HSNG_UNITS": 102.0, "HU_OCCUPIE": 84.0, "HU_VACANT": 18.0, "ID": 707518.0, "IN_HOUSEHO": 226.0, "MALE": 84.0, "MALE_18": 30.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 225.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 78.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 226.0, "RENTER_SIZ": 2.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48974300046478, 39.14065999987254, -84.48654300046516, 39.142059999872394], "geometry": {"coordinates": [[[-84.48974300046478, 39.140859999872504], [-84.48964300046482, 39.142059999872394], [-84.48654300046516, 39.141859999872445], [-84.48664300046514, 39.14065999987254], [-84.48724300046506, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.48944300046483, 39.14075999987253], [-84.48974300046478, 39.140859999872504]]], "type": "Polygon"}, "id": "202", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707538.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48804300046498, 39.13985999987261, -84.48664300046514, 39.14075999987253], "geometry": {"coordinates": [[[-84.487743000465, 39.14045999987258], [-84.48804300046498, 39.14075999987253], [-84.48724300046506, 39.14075999987253], [-84.48664300046514, 39.14065999987254], [-84.48674300046511, 39.14015999987259], [-84.48734300046505, 39.13985999987261], [-84.487743000465, 39.14045999987258]]], "type": "Polygon"}, "id": "203", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 4.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.17, "BG": "390610067001", "BLACK": 13.0, "BLOCK": "390610067001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4744.6508, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 0.0, "ID": 707559.0, "IN_HOUSEHO": 13.0, "MALE": 6.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48734300046505, 39.13965999987265, -84.48514300046529, 39.14065999987254], "geometry": {"coordinates": [[[-84.48724300046506, 39.13965999987265], [-84.48734300046505, 39.13985999987261], [-84.48674300046511, 39.14015999987259], [-84.48664300046514, 39.14065999987254], [-84.48558100046525, 39.14058899987254], [-84.48514300046529, 39.140559999872565], [-84.48724300046506, 39.13965999987265]]], "type": "Polygon"}, "id": "204", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.25, "BG": "390610067001", "BLACK": 9.0, "BLOCK": "390610067001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3220.1738, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 707578.0, "IN_HOUSEHO": 9.0, "MALE": 5.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 9.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48604300046517, 39.13725999987287, -84.48384300046541, 39.138959999872704], "geometry": {"coordinates": [[[-84.48584300046521, 39.13805999987279], [-84.48604300046517, 39.13825999987277], [-84.48504300046528, 39.13885999987272], [-84.48424300046537, 39.138959999872704], [-84.48404300046539, 39.138159999872784], [-84.48384300046541, 39.137559999872835], [-84.4849430004653, 39.13725999987287], [-84.48584300046521, 39.13805999987279]]], "type": "Polygon"}, "id": "205", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 7.0, "AGE_15_19": 15.0, "AGE_18": 117.0, "AGE_20_24": 36.0, "AGE_21": 103.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 11.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 2.27, "BG": "390610036001", "BLACK": 181.0, "BLOCK": "390610036001001", "BURGLARY": 6, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21652.7875, "F1_RACE": 184.0, "F2_RACES": 0.0, "FEMALE": 96.0, "FEMALE_18": 67.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 81.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 81.0, "HU_VACANT": 17.0, "ID": 707596.0, "IN_HOUSEHO": 184.0, "MALE": 88.0, "MALE_18": 50.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 183.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.4, "POPULATION": 184.0, "RENTER_SIZ": 2.26, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48724300046506, 39.13845999987274, -84.48433500046538, 39.14055999987258], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48724300046506, 39.13965999987265], [-84.48514300046529, 39.140559999872565], [-84.48494300046532, 39.14055999987258], [-84.48433500046538, 39.140559999872565], [-84.48454300046537, 39.14025999987261], [-84.48554300046524, 39.139159999872675], [-84.48644300046513, 39.13845999987274], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "206", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707616.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48664300046514, 39.140559999872565, -84.48380000046545, 39.14209499987244], "geometry": {"coordinates": [[[-84.48544300046525, 39.14185999987246], [-84.48474300046534, 39.14195999987244], [-84.48380000046545, 39.14209499987244], [-84.48514300046529, 39.140559999872565], [-84.48558100046525, 39.14058899987254], [-84.48664300046514, 39.14065999987254], [-84.48654300046516, 39.141859999872445], [-84.48544300046525, 39.14185999987246]]], "type": "Polygon"}, "id": "207", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 4.0, "AGE_15_19": 4.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 68.0, "AGE_25_34": 11.0, "AGE_35_44": 16.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 92.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610067004", "BLACK": 90.0, "BLOCK": "390610067004009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9223.4933, "F1_RACE": 90.0, "F2_RACES": 3.0, "FEMALE": 43.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 9.0, "ID": 707636.0, "IN_HOUSEHO": 93.0, "MALE": 50.0, "MALE_18": 37.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 50.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 93.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48514300046529, 39.140559999872565, -84.48364300046546, 39.142159999872405], "geometry": {"coordinates": [[[-84.48494300046532, 39.14055999987258], [-84.48514300046529, 39.140559999872565], [-84.48380000046545, 39.14209499987244], [-84.48374300046545, 39.142159999872405], [-84.48364300046546, 39.14155999987249], [-84.48433500046538, 39.140559999872565], [-84.48494300046532, 39.14055999987258]]], "type": "Polygon"}, "id": "208", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707657.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.125159999874, -84.48284300046545, 39.12685999987385], "geometry": {"coordinates": [[[-84.48434300046526, 39.125159999874], [-84.48434300046527, 39.12675999987384], [-84.48284300046545, 39.12685999987385], [-84.48294300046541, 39.12515999987403], [-84.48324300046541, 39.125159999874015], [-84.48434300046526, 39.125159999874]]], "type": "Polygon"}, "id": "209", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 225.9619, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 2.0, "GROUP_QUAR": 2.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707676.0, "IN_HOUSEHO": 0.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48294300046541, 39.12495999987402, -84.48134300046561, 39.126959999873854], "geometry": {"coordinates": [[[-84.48294300046541, 39.12515999987403], [-84.48284300046545, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48134300046561, 39.12685999987385], [-84.48154300046558, 39.12495999987402], [-84.48194300046555, 39.12495999987402], [-84.48294300046541, 39.12515999987403]]], "type": "Polygon"}, "id": "210", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 40.0, "AGE_20_24": 5.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.5, "AVG_HHSIZE": 1.33, "BG": "390610037001", "BLACK": 29.0, "BLOCK": "390610037001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4237.6286, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 11.0, "GROUP_QUAR": 11.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 23.0, "ID": 707695.0, "IN_HOUSEHO": 32.0, "MALE": 25.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47464300046634, 39.127959999873795, -84.47344300046649, 39.12965999987362], "geometry": {"coordinates": [[[-84.47464300046634, 39.12835999987374], [-84.47434300046636, 39.129559999873614], [-84.47344300046649, 39.12965999987362], [-84.47354300046645, 39.127959999873795], [-84.47454300046634, 39.128059999873756], [-84.47464300046634, 39.12835999987374]]], "type": "Polygon"}, "id": "211", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 5.0, "AGE_21": 45.0, "AGE_25_34": 11.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.16, "BG": "390610042001", "BLACK": 13.0, "BLOCK": "390610042001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8973.4932, "F1_RACE": 52.0, "F2_RACES": 2.0, "FEMALE": 25.0, "FEMALE_18": 21.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 3.0, "ID": 739464.0, "IN_HOUSEHO": 54.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.73, "POPULATION": 54.0, "RENTER_SIZ": 1.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 36.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47394300046638, 39.12455999987409, -84.47194300046661, 39.126759999873904], "geometry": {"coordinates": [[[-84.47394300046638, 39.12455999987409], [-84.47374300046643, 39.126759999873904], [-84.47194300046661, 39.12645999987392], [-84.47224300046658, 39.12535999987403], [-84.47394300046638, 39.12455999987409]]], "type": "Polygon"}, "id": "212", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 61.0, "AGE_20_24": 2.0, "AGE_21": 57.0, "AGE_25_34": 24.0, "AGE_35_44": 16.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.71, "AVG_HHSIZE": 1.85, "BG": "390610042002", "BLACK": 21.0, "BLOCK": "390610042002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7073.2004, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 33.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 7.0, "ID": 739483.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.19, "POPULATION": 74.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 53.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47674300046613, 39.12925999987366, -84.4742430004664, 39.13165999987343], "geometry": {"coordinates": [[[-84.47654300046615, 39.13135999987346], [-84.47644300046618, 39.13165999987343], [-84.4742430004664, 39.13165999987343], [-84.47434300046638, 39.13055999987355], [-84.47434300046636, 39.129559999873614], [-84.47564300046623, 39.12945999987363], [-84.47644300046615, 39.12925999987366], [-84.47674300046613, 39.12935999987364], [-84.47664300046614, 39.13005999987358], [-84.47654300046615, 39.13135999987346]]], "type": "Polygon"}, "id": "213", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 3.0, "AGE_21": 31.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.81, "BG": "390610041002", "BLACK": 25.0, "BLOCK": "390610041002006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1909.9236, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 7.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 7.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 1.0, "ID": 739499.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 5.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.13, "POPULATION": 36.0, "RENTER_SIZ": 1.5, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.129559999873614, -84.4732430004665, 39.13055999987355], "geometry": {"coordinates": [[[-84.47434300046636, 39.129559999873614], [-84.47434300046638, 39.13055999987355], [-84.4732430004665, 39.130459999873565], [-84.47344300046649, 39.12965999987362], [-84.47434300046636, 39.129559999873614]]], "type": "Polygon"}, "id": "214", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 1.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 11.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610041002", "BLACK": 29.0, "BLOCK": "390610041002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13802.0582, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 739521.0, "IN_HOUSEHO": 46.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 46.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.130459999873565, -84.47314300046652, 39.13165999987343], "geometry": {"coordinates": [[[-84.47434300046638, 39.13055999987355], [-84.4742430004664, 39.13165999987343], [-84.47314300046652, 39.13155999987345], [-84.4732430004665, 39.130459999873565], [-84.47434300046638, 39.13055999987355]]], "type": "Polygon"}, "id": "215", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 51.0, "AGE_20_24": 11.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.43, "BG": "390610041002", "BLACK": 45.0, "BLOCK": "390610041002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15051.7324, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 22.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 6.0, "ID": 739558.0, "IN_HOUSEHO": 68.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 68.0, "RENTER_SIZ": 2.53, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 23.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47344300046649, 39.12965999987362, -84.47194300046665, 39.13155999987345], "geometry": {"coordinates": [[[-84.4732430004665, 39.130459999873565], [-84.47314300046652, 39.13155999987345], [-84.47194300046665, 39.13155999987345], [-84.47214300046663, 39.12975999987361], [-84.47344300046649, 39.12965999987362], [-84.4732430004665, 39.130459999873565]]], "type": "Polygon"}, "id": "216", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 58.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.28, "BG": "390610041002", "BLACK": 10.0, "BLOCK": "390610041002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7992.2978, "F1_RACE": 66.0, "F2_RACES": 0.0, "FEMALE": 30.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 5.0, "ID": 739576.0, "IN_HOUSEHO": 66.0, "MALE": 36.0, "MALE_18": 34.0, "MALE_65": 2.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.56, "POPULATION": 66.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 53.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47104300046674, 39.128759999873736, -84.46854200046702, 39.130059999873595], "geometry": {"coordinates": [[[-84.47094300046675, 39.12895999987369], [-84.47104300046674, 39.12985999987362], [-84.4706430004668, 39.12985999987362], [-84.46854200046702, 39.130059999873595], [-84.468642000467, 39.12905999987369], [-84.46974200046688, 39.128759999873736], [-84.47094300046675, 39.12895999987369]]], "type": "Polygon"}, "id": "217", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 7.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.2, "AVG_HHSIZE": 4.2, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2240.4421, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 739629.0, "IN_HOUSEHO": 21.0, "MALE": 13.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 12.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.2, "POPULATION": 21.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 21.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47214300046663, 39.12975999987361, -84.47024300046685, 39.13375999987323], "geometry": {"coordinates": [[[-84.47174300046669, 39.13375999987323], [-84.47024300046685, 39.13365999987327], [-84.4706430004668, 39.12985999987362], [-84.47104300046674, 39.12985999987362], [-84.47184300046665, 39.12975999987361], [-84.47214300046663, 39.12975999987361], [-84.47194300046665, 39.13155999987345], [-84.47174300046669, 39.13375999987323]]], "type": "Polygon"}, "id": "218", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 2.0, "AGE_21": 55.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 66.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.28, "AVG_HHSIZE": 2.64, "BG": "390610041001", "BLACK": 8.0, "BLOCK": "390610041001006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3442.461, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 739648.0, "IN_HOUSEHO": 74.0, "MALE": 43.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.95, "POPULATION": 74.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 66.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4706430004668, 39.12985999987362, -84.46814200046708, 39.13365999987327], "geometry": {"coordinates": [[[-84.4706430004668, 39.12985999987362], [-84.47024300046685, 39.13365999987327], [-84.46814200046708, 39.13355999987327], [-84.46854200046702, 39.130059999873595], [-84.4706430004668, 39.12985999987362]]], "type": "Polygon"}, "id": "219", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 39.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 11.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.03, "ASIAN": 11.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.53, "AVG_HHSIZE": 3.29, "BG": "390610041001", "BLACK": 2.0, "BLOCK": "390610041001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1977.1644, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 739669.0, "IN_HOUSEHO": 56.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.38, "POPULATION": 56.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 43.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46854200046702, 39.130059999873595, -84.4669420004672, 39.13355999987327], "geometry": {"coordinates": [[[-84.46854200046702, 39.130059999873595], [-84.46814200046708, 39.13355999987327], [-84.4669420004672, 39.133459999873295], [-84.46704200046719, 39.13175999987347], [-84.46724200046715, 39.13025999987357], [-84.46854200046702, 39.130059999873595]]], "type": "Polygon"}, "id": "220", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 0.0, "AGE_21": 28.0, "AGE_25_34": 2.0, "AGE_35_44": 10.0, "AGE_45_54": 14.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 45.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 3.0, "BG": "390610041001", "BLACK": 0.0, "BLOCK": "390610041001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2849.2641, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 739686.0, "IN_HOUSEHO": 45.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 45.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 45.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 45.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46884200046696, 39.1248599998741, -84.46344200046752, 39.12675999987392], "geometry": {"coordinates": [[[-84.468402000467, 39.12668199987393], [-84.46714200046715, 39.12645999987395], [-84.46594200046727, 39.12615999987398], [-84.46344200046752, 39.125059999874075], [-84.46634500046721, 39.12494799987409], [-84.46864200046697, 39.1248599998741], [-84.46884200046696, 39.12675999987392], [-84.468402000467, 39.12668199987393]]], "type": "Polygon"}, "id": "221", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 24.0, "AGE_20_24": 0.0, "AGE_21": 24.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 27.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.93, "BG": "390610042002", "BLACK": 2.0, "BLOCK": "390610042002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1331.6139, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 741823.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 12.0, "MALE_65": 1.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 27.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.09, "POPULATION": 29.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 27.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47374300046643, 39.125059999874075, -84.46004200046795, 39.132459999873426], "geometry": {"coordinates": [[[-84.47354300046645, 39.127959999873795], [-84.47344300046649, 39.12965999987362], [-84.47214300046663, 39.12975999987361], [-84.47184300046665, 39.12975999987361], [-84.47104300046674, 39.12985999987362], [-84.47094300046675, 39.12895999987369], [-84.46974200046688, 39.128759999873736], [-84.468642000467, 39.12905999987369], [-84.46854200046702, 39.130059999873595], [-84.46724200046715, 39.13025999987357], [-84.46654200046723, 39.13035999987359], [-84.4659420004673, 39.130559999873554], [-84.46414200046749, 39.13135999987352], [-84.46254200046768, 39.13185999987346], [-84.46164200046776, 39.13205999987344], [-84.46074200046787, 39.13235999987343], [-84.46004200046795, 39.132459999873426], [-84.46034200046792, 39.13215999987345], [-84.4612420004678, 39.13155999987349], [-84.46304200046762, 39.13075999987355], [-84.46394200046753, 39.12955999987366], [-84.46294200046758, 39.12655999987394], [-84.46344200046752, 39.125059999874075], [-84.46594200046727, 39.12615999987398], [-84.46714200046715, 39.12645999987395], [-84.468402000467, 39.12668199987393], [-84.46884200046696, 39.12675999987392], [-84.4703420004668, 39.12625999987395], [-84.47064200046675, 39.12615999987395], [-84.47194300046661, 39.12645999987392], [-84.47374300046643, 39.126759999873904], [-84.47354300046645, 39.127959999873795]], [[-84.46544200046735, 39.1292599998737], [-84.46534200046734, 39.12835999987379], [-84.46484200046739, 39.12845999987376], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "222", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 17.0, "AGE_15_19": 17.0, "AGE_18": 211.0, "AGE_20_24": 12.0, "AGE_21": 205.0, "AGE_25_34": 49.0, "AGE_35_44": 38.0, "AGE_45_54": 48.0, "AGE_55_59": 19.0, "AGE_5_9": 12.0, "AGE_60_64": 14.0, "AGE_62": 36.0, "AGE_65": 29.0, "AGE_65_74": 18.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 8.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 0.0, "AP_WHITE": 248.0, "AREA": 0.15, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.09, "BG": "390610042001", "BLACK": 15.0, "BLOCK": "390610042001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1775.9725, "F1_RACE": 256.0, "F2_RACES": 9.0, "FEMALE": 123.0, "FEMALE_18": 101.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 127.0, "HSNG_UNITS": 132.0, "HU_OCCUPIE": 127.0, "HU_VACANT": 5.0, "ID": 741843.0, "IN_HOUSEHO": 265.0, "MALE": 142.0, "MALE_18": 110.0, "MALE_65": 18.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 229.0, "NOT_HISPAN": 255.0, "OCCHU_OWNE": 86.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 265.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 239.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46544200046735, 39.12835999987379, -84.46484200046739, 39.1292599998737], "geometry": {"coordinates": [[[-84.46544200046735, 39.1292599998737], [-84.46484200046739, 39.12845999987376], [-84.46534200046734, 39.12835999987379], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "223", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.6935, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 741889.0, "IN_HOUSEHO": 10.0, "MALE": 8.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 56.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 10.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.46814200046708, 39.13025999987357, -84.4614420004678, 39.13515999987312], "geometry": {"coordinates": [[[-84.46814200046708, 39.13355999987327], [-84.46794200046712, 39.13515999987312], [-84.46384200046755, 39.1347599998732], [-84.4633420004676, 39.13465999987321], [-84.46144200046781, 39.13455999987323], [-84.4614420004678, 39.13415999987325], [-84.46244200046769, 39.133459999873324], [-84.46254200046768, 39.13185999987346], [-84.46414200046749, 39.13135999987352], [-84.4659420004673, 39.130559999873554], [-84.46654200046723, 39.13035999987359], [-84.46724200046715, 39.13025999987357], [-84.46704200046719, 39.13175999987347], [-84.4669420004672, 39.133459999873295], [-84.46814200046708, 39.13355999987327]]], "type": "Polygon"}, "id": "224", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 315.0, "AGE_20_24": 16.0, "AGE_21": 308.0, "AGE_25_34": 37.0, "AGE_35_44": 39.0, "AGE_45_54": 27.0, "AGE_55_59": 29.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 158.0, "AGE_65": 154.0, "AGE_65_74": 14.0, "AGE_75_84": 48.0, "AGE_85": 92.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 131.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 230.0, "AREA": 0.07, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.25, "BG": "390610041001", "BLACK": 130.0, "BLOCK": "390610041001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4934.9491, "F1_RACE": 357.0, "F2_RACES": 3.0, "FEMALE": 235.0, "FEMALE_18": 208.0, "FEMALE_65": 125.0, "GQ_INSTITU": 135.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 135.0, "HAWAIIAN": 0.0, "HH_FAMILY": 58.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 100.0, "HSNG_UNITS": 107.0, "HU_OCCUPIE": 100.0, "HU_VACANT": 7.0, "ID": 741903.0, "IN_HOUSEHO": 225.0, "MALE": 125.0, "MALE_18": 107.0, "MALE_65": 29.0, "MEDIAN_AGE": 56.6, "MSA": "1640", "NH_WHITE": 226.0, "NOT_HISPAN": 357.0, "OCCHU_OWNE": 64.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.36, "POPULATION": 360.0, "RENTER_SIZ": 2.06, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 227.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.12805999987356, -84.52444400046097, 39.12975999987339], "geometry": {"coordinates": [[[-84.52534400046086, 39.12975999987339], [-84.52444400046097, 39.129659999873425], [-84.52464400046094, 39.128459999873506], [-84.52544400046085, 39.12805999987356], [-84.52534400046086, 39.12975999987339]]], "type": "Polygon"}, "id": "225", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 48.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 71.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 3.0, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18746.3134, "F1_RACE": 77.0, "F2_RACES": 7.0, "FEMALE": 42.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 10.0, "ID": 681301.0, "IN_HOUSEHO": 84.0, "MALE": 42.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 3.4, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 68.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.127659999873586, -84.5205440004614, 39.129659999873425], "geometry": {"coordinates": [[[-84.52374400046105, 39.129659999873425], [-84.52234400046119, 39.129559999873415], [-84.5205440004614, 39.12945999987345], [-84.52064400046136, 39.12835999987354], [-84.52074400046135, 39.127659999873586], [-84.5211440004613, 39.12775999987357], [-84.52194400046122, 39.12775999987357], [-84.52274400046113, 39.12775999987357], [-84.52354400046106, 39.12785999987357], [-84.52424400046097, 39.12795999987355], [-84.52544400046085, 39.12805999987356], [-84.52464400046094, 39.128459999873506], [-84.52374400046104, 39.1287599998735], [-84.52374400046105, 39.129659999873425]]], "type": "Polygon"}, "id": "226", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 6.0, "AGE_21": 30.0, "AGE_25_34": 15.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.37, "BG": "390610026001", "BLACK": 5.0, "BLOCK": "390610026001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1320.3592, "F1_RACE": 29.0, "F2_RACES": 2.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 681354.0, "IN_HOUSEHO": 26.0, "MALE": 20.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 31.0, "RENTER_SIZ": 1.33, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 23.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.52464400046094, 39.128459999873506, -84.52374400046104, 39.129659999873425], "geometry": {"coordinates": [[[-84.52444400046097, 39.129659999873425], [-84.52374400046105, 39.129659999873425], [-84.52374400046104, 39.1287599998735], [-84.52464400046094, 39.128459999873506], [-84.52444400046097, 39.129659999873425]]], "type": "Polygon"}, "id": "227", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 16.0, "AGE_18": 53.0, "AGE_20_24": 28.0, "AGE_21": 29.0, "AGE_25_34": 7.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.9, "BG": "390610026001", "BLACK": 2.0, "BLOCK": "390610026001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18657.0486, "F1_RACE": 56.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 27.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 3.0, "ID": 681381.0, "IN_HOUSEHO": 57.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.2, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 57.0, "RENTER_SIZ": 1.88, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 47.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52234400046119, 39.12945999987345, -84.52034400046142, 39.13295999987311], "geometry": {"coordinates": [[[-84.52234400046119, 39.129559999873415], [-84.52194400046125, 39.13165999987322], [-84.52184400046129, 39.13295999987311], [-84.52098700046135, 39.13284599987314], [-84.52034400046142, 39.13275999987314], [-84.52034400046142, 39.13255999987314], [-84.5204120004614, 39.131505999873255], [-84.5205440004614, 39.12945999987345], [-84.52234400046119, 39.129559999873415]]], "type": "Polygon"}, "id": "228", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 34.0, "AGE_18": 242.0, "AGE_20_24": 165.0, "AGE_21": 167.0, "AGE_25_34": 36.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 20.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 217.0, "AREA": 0.02, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 5.0, "BLOCK": "390610029002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12051.1059, "F1_RACE": 241.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 105.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 104.0, "GROUP_QUAR": 104.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 681399.0, "IN_HOUSEHO": 139.0, "MALE": 137.0, "MALE_18": 137.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 215.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 81.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 243.0, "RENTER_SIZ": 1.64, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 215.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52304400046114, 39.13165999987322, -84.52184400046129, 39.13295999987311], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52184400046129, 39.13295999987311], [-84.52194400046125, 39.13165999987322], [-84.52304400046114, 39.131759999873225], [-84.52301200046112, 39.1321479998732], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "229", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 11.0, "AGE_18": 90.0, "AGE_20_24": 54.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 87.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.25, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18196.4629, "F1_RACE": 92.0, "F2_RACES": 1.0, "FEMALE": 29.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 21.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 32.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 32.0, "HU_VACANT": 2.0, "ID": 681421.0, "IN_HOUSEHO": 72.0, "MALE": 64.0, "MALE_18": 61.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 85.0, "NOT_HISPAN": 91.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 93.0, "RENTER_SIZ": 2.28, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 86.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52074400046135, 39.127559999873625, -84.51894400046154, 39.12835999987354], "geometry": {"coordinates": [[[-84.52074400046135, 39.127659999873586], [-84.52064400046136, 39.12835999987354], [-84.51964400046147, 39.12825999987355], [-84.51894400046154, 39.12825999987357], [-84.51904400046153, 39.127559999873625], [-84.52024400046139, 39.127659999873586], [-84.52074400046135, 39.127659999873586]]], "type": "Polygon"}, "id": "230", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 17.0, "AGE_18": 96.0, "AGE_20_24": 47.0, "AGE_21": 72.0, "AGE_25_34": 20.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 6.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 85.0, "AREA": 0.0, "ASIAN": 5.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.06, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23450.2351, "F1_RACE": 94.0, "F2_RACES": 5.0, "FEMALE": 51.0, "FEMALE_18": 49.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 48.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 48.0, "HU_VACANT": 6.0, "ID": 681479.0, "IN_HOUSEHO": 99.0, "MALE": 48.0, "MALE_18": 47.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 79.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 99.0, "RENTER_SIZ": 2.06, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 80.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51904400046153, 39.12745999987365, -84.51814400046162, 39.12825999987357], "geometry": {"coordinates": [[[-84.51904400046153, 39.127559999873625], [-84.51894400046154, 39.12825999987357], [-84.51814400046163, 39.12815999987359], [-84.51814400046162, 39.12745999987365], [-84.51904400046153, 39.127559999873625]]], "type": "Polygon"}, "id": "231", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 10.0, "AGE_21": 14.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.6, "BG": "390610025001", "BLACK": 1.0, "BLOCK": "390610025001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7200.8426, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 4.0, "ID": 681536.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 16.0, "RENTER_SIZ": 1.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 15.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5205440004614, 39.12945999987345, -84.5194440004615, 39.13255999987314], "geometry": {"coordinates": [[[-84.52034400046142, 39.13255999987314], [-84.5194440004615, 39.131059999873294], [-84.51964400046148, 39.13025999987335], [-84.5203440004614, 39.12945999987346], [-84.5205440004614, 39.12945999987345], [-84.5204120004614, 39.131505999873255], [-84.52034400046142, 39.13255999987314]]], "type": "Polygon"}, "id": "232", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681572.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.13255999987314, -84.51984400046149, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52024400046145, 39.13355999987304], [-84.51984400046149, 39.13305999987312], [-84.52034400046142, 39.13255999987314], [-84.52034400046142, 39.13275999987314], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "233", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681590.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51914400046155, 39.12855999987355, -84.51734400046173, 39.130159999873385], "geometry": {"coordinates": [[[-84.51904400046153, 39.12855999987355], [-84.51914400046155, 39.12975999987343], [-84.51844400046163, 39.130159999873385], [-84.51734400046173, 39.12985999987343], [-84.51744400046172, 39.12965999987345], [-84.51754400046171, 39.12945999987347], [-84.51824400046162, 39.12865999987352], [-84.51904400046153, 39.12855999987355]]], "type": "Polygon"}, "id": "234", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681607.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52064400046136, 39.12825999987355, -84.51614400046188, 39.13235999987321], "geometry": {"coordinates": [[[-84.5194440004615, 39.131059999873294], [-84.51914400046155, 39.13225999987319], [-84.51794400046168, 39.13195999987321], [-84.51614400046188, 39.13235999987321], [-84.51693200046178, 39.13071799987334], [-84.51734400046173, 39.12985999987343], [-84.51844400046163, 39.130159999873385], [-84.51914400046155, 39.12975999987343], [-84.51904400046153, 39.12855999987355], [-84.5194440004615, 39.12855999987354], [-84.51964400046147, 39.12825999987355], [-84.52064400046136, 39.12835999987354], [-84.5205440004614, 39.12945999987345], [-84.5203440004614, 39.12945999987346], [-84.51964400046148, 39.13025999987335], [-84.5194440004615, 39.131059999873294]]], "type": "Polygon"}, "id": "235", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681624.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5264440004608, 39.13425999987298, -84.52004400046148, 39.135759999872825], "geometry": {"coordinates": [[[-84.5264440004608, 39.13445999987294], [-84.5262440004608, 39.135759999872825], [-84.52504400046094, 39.13555999987286], [-84.52434400046101, 39.13545999987286], [-84.52004400046148, 39.13505999987293], [-84.52014400046147, 39.134259999873], [-84.52084500046139, 39.13425999987298], [-84.5217440004613, 39.13425999987298], [-84.52284400046116, 39.13435999987296], [-84.52424400046101, 39.13435999987296], [-84.524462000461, 39.13436999987297], [-84.5264440004608, 39.13445999987294]]], "type": "Polygon"}, "id": "236", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 25.0, "AGE_18": 349.0, "AGE_20_24": 144.0, "AGE_21": 299.0, "AGE_25_34": 114.0, "AGE_35_44": 22.0, "AGE_45_54": 19.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 18.0, "AGE_65": 16.0, "AGE_65_74": 10.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 87.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 9.0, "AP_WHITE": 266.0, "AREA": 0.02, "ASIAN": 85.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.87, "BG": "390610029001", "BLACK": 5.0, "BLOCK": "390610029001007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15091.6364, "F1_RACE": 353.0, "F2_RACES": 8.0, "FEMALE": 143.0, "FEMALE_18": 134.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 24.0, "GROUP_QUAR": 24.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 180.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 180.0, "HU_VACANT": 13.0, "ID": 681644.0, "IN_HOUSEHO": 337.0, "MALE": 218.0, "MALE_18": 215.0, "MALE_65": 9.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 258.0, "NOT_HISPAN": 358.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 151.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.17, "POPULATION": 361.0, "RENTER_SIZ": 1.81, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 259.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52294400046114, 39.13295999987311, -84.5217440004613, 39.13435999987296], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52284400046116, 39.13435999987296], [-84.5217440004613, 39.13425999987298], [-84.52184400046129, 39.13295999987311], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "237", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 10.0, "AGE_18": 143.0, "AGE_20_24": 106.0, "AGE_21": 104.0, "AGE_25_34": 21.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 19.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.3, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26099.3015, "F1_RACE": 143.0, "F2_RACES": 1.0, "FEMALE": 37.0, "FEMALE_18": 36.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 36.0, "GROUP_QUAR": 36.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 681670.0, "IN_HOUSEHO": 108.0, "MALE": 107.0, "MALE_18": 107.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 120.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 144.0, "RENTER_SIZ": 2.3, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 121.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52184400046129, 39.13284599987314, -84.52084500046139, 39.13425999987298], "geometry": {"coordinates": [[[-84.52184400046129, 39.13295999987311], [-84.5217440004613, 39.13425999987298], [-84.52084500046139, 39.13425999987298], [-84.52098700046135, 39.13284599987314], [-84.52184400046129, 39.13295999987311]]], "type": "Polygon"}, "id": "238", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 16.0, "AGE_18": 66.0, "AGE_20_24": 44.0, "AGE_21": 34.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 65.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.8, "BG": "390610029002", "BLACK": 2.0, "BLOCK": "390610029002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15098.8449, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 25.0, "GROUP_QUAR": 25.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 681687.0, "IN_HOUSEHO": 42.0, "MALE": 49.0, "MALE_18": 48.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 65.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 67.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 65.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52098700046135, 39.13275999987314, -84.52014400046147, 39.134259999873], "geometry": {"coordinates": [[[-84.52084500046139, 39.13425999987298], [-84.52014400046147, 39.134259999873], [-84.52024400046145, 39.13375999987304], [-84.52024400046145, 39.13355999987304], [-84.52074400046138, 39.13325999987309], [-84.52024400046143, 39.13305999987312], [-84.52034400046142, 39.13275999987314], [-84.52098700046135, 39.13284599987314], [-84.52084500046139, 39.13425999987298]]], "type": "Polygon"}, "id": "239", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 66.0, "AGE_20_24": 55.0, "AGE_21": 30.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 64.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 0.0, "BLOCK": "390610029002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20452.4733, "F1_RACE": 65.0, "F2_RACES": 1.0, "FEMALE": 60.0, "FEMALE_18": 60.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 61.0, "GROUP_QUAR": 61.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 681742.0, "IN_HOUSEHO": 5.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 66.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 63.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52074400046138, 39.13305999987312, -84.52024400046143, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52074400046138, 39.13325999987309], [-84.52024400046145, 39.13355999987304], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "240", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 4.0, "AGE_18": 18.0, "AGE_20_24": 14.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 38887.7429, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 18.0, "GROUP_QUAR": 18.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681763.0, "IN_HOUSEHO": 0.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 17.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52024400046145, 39.133659999873075, -84.51744400046175, 39.13505999987293], "geometry": {"coordinates": [[[-84.52014400046147, 39.134259999873], [-84.52004400046148, 39.13505999987293], [-84.51914400046158, 39.134959999872954], [-84.51744400046175, 39.134959999872954], [-84.5177440004617, 39.134159999873], [-84.51884400046161, 39.133659999873075], [-84.52024400046145, 39.13375999987304], [-84.52014400046147, 39.134259999873]]], "type": "Polygon"}, "id": "241", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681778.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.131059999873294, -84.51474400046204, 39.13565999987291], "geometry": {"coordinates": [[[-84.52024400046145, 39.13355999987304], [-84.52024400046145, 39.13375999987304], [-84.51884400046161, 39.133659999873075], [-84.5177440004617, 39.134159999873], [-84.51744400046175, 39.134959999872954], [-84.51644400046186, 39.13505999987293], [-84.51474400046204, 39.13565999987291], [-84.51484400046203, 39.13425999987301], [-84.515044000462, 39.13305999987313], [-84.51614400046188, 39.13235999987321], [-84.51794400046168, 39.13195999987321], [-84.51914400046155, 39.13225999987319], [-84.5194440004615, 39.131059999873294], [-84.52034400046142, 39.13255999987314], [-84.51984400046149, 39.13305999987312], [-84.52024400046145, 39.13355999987304]]], "type": "Polygon"}, "id": "242", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681797.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12535999987392, -84.49304300046434, 39.12585999987388], "geometry": {"coordinates": [[[-84.49394300046424, 39.12585999987388], [-84.49364300046426, 39.1257599998739], [-84.49304300046434, 39.1257599998739], [-84.49304300046434, 39.125359999873936], [-84.49404300046422, 39.12535999987392], [-84.49394300046424, 39.12585999987388]]], "type": "Polygon"}, "id": "243", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 10.0, "AGE_20_24": 2.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.83, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15526.3239, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 1.0, "ID": 701090.0, "IN_HOUSEHO": 23.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 23.0, "RENTER_SIZ": 3.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4943430004642, 39.12635999987383, -84.49354300046429, 39.12745999987376], "geometry": {"coordinates": [[[-84.4943430004642, 39.12635999987383], [-84.49424300046421, 39.12745999987374], [-84.4935430004643, 39.12745999987376], [-84.49354300046429, 39.12635999987383], [-84.4943430004642, 39.12635999987383]]], "type": "Polygon"}, "id": "244", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 23.0, "AGE_20_24": 1.0, "AGE_21": 20.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.86, "AVG_HHSIZE": 2.18, "BG": "390610035002", "BLACK": 37.0, "BLOCK": "390610035002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12110.4163, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 17.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 701109.0, "IN_HOUSEHO": 37.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12495999987399, -84.49154300046447, 39.125359999873936], "geometry": {"coordinates": [[[-84.49314300046431, 39.12505999987396], [-84.49304300046434, 39.125359999873936], [-84.49154300046447, 39.12525999987394], [-84.49164300046446, 39.12495999987399], [-84.49314300046431, 39.12505999987396]]], "type": "Polygon"}, "id": "245", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 7.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.0923, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 3.0, "ID": 701127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 20.0, "RENTER_SIZ": 6.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49364300046426, 39.1257599998739, -84.49224300046444, 39.12745999987376], "geometry": {"coordinates": [[[-84.49354300046429, 39.12635999987383], [-84.4935430004643, 39.12745999987376], [-84.49224300046444, 39.127359999873725], [-84.4924430004644, 39.125759999873914], [-84.49304300046434, 39.1257599998739], [-84.49364300046426, 39.1257599998739], [-84.49354300046429, 39.12635999987383]]], "type": "Polygon"}, "id": "246", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 6.0, "AGE_18": 46.0, "AGE_20_24": 1.0, "AGE_21": 45.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 6.0, "AGE_62": 11.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 3.14, "BG": "390610035002", "BLACK": 82.0, "BLOCK": "390610035002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11792.7438, "F1_RACE": 82.0, "F2_RACES": 6.0, "FEMALE": 49.0, "FEMALE_18": 26.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701144.0, "IN_HOUSEHO": 88.0, "MALE": 39.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 87.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 88.0, "RENTER_SIZ": 3.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49484300046416, 39.12745999987374, -84.49324300046433, 39.12935999987355], "geometry": {"coordinates": [[[-84.49484300046416, 39.12805999987366], [-84.49464300046418, 39.12935999987355], [-84.49324300046433, 39.12925999987357], [-84.4935430004643, 39.12745999987376], [-84.49424300046421, 39.12745999987374], [-84.49484300046416, 39.12745999987374], [-84.49484300046416, 39.12805999987366]]], "type": "Polygon"}, "id": "247", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 11.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 10.0, "AGE_45_54": 19.0, "AGE_55_59": 3.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 89.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.33, "BG": "390610035002", "BLACK": 89.0, "BLOCK": "390610035002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10507.1558, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 35.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 701164.0, "IN_HOUSEHO": 100.0, "MALE": 48.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 31.4, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 100.0, "RENTER_SIZ": 2.26, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 11.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4935430004643, 39.127359999873725, -84.49214300046445, 39.12925999987357], "geometry": {"coordinates": [[[-84.4935430004643, 39.12745999987376], [-84.49324300046433, 39.12925999987357], [-84.49214300046445, 39.12915999987361], [-84.49224300046444, 39.127359999873725], [-84.4935430004643, 39.12745999987376]]], "type": "Polygon"}, "id": "248", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 18.0, "AGE_15_19": 20.0, "AGE_18": 94.0, "AGE_20_24": 6.0, "AGE_21": 83.0, "AGE_25_34": 8.0, "AGE_35_44": 29.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 17.0, "AGE_60_64": 5.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 10.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 149.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.68, "BG": "390610035002", "BLACK": 146.0, "BLOCK": "390610035002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18951.907, "F1_RACE": 150.0, "F2_RACES": 3.0, "FEMALE": 82.0, "FEMALE_18": 55.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 61.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 4.0, "ID": 701184.0, "IN_HOUSEHO": 153.0, "MALE": 71.0, "MALE_18": 39.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 153.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.46, "POPULATION": 153.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4953430004641, 39.12935999987355, -84.4936430004643, 39.13235999987328], "geometry": {"coordinates": [[[-84.4953430004641, 39.12935999987355], [-84.4946430004642, 39.13085999987343], [-84.49394300046428, 39.13235999987328], [-84.4936430004643, 39.13235999987327], [-84.49394300046427, 39.13115999987341], [-84.49464300046418, 39.12935999987355], [-84.4953430004641, 39.12935999987355]]], "type": "Polygon"}, "id": "249", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701201.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.496243000464, 39.129359999873536, -84.49394300046428, 39.13255999987326], "geometry": {"coordinates": [[[-84.4946430004642, 39.13085999987343], [-84.4953430004641, 39.12935999987355], [-84.49564300046407, 39.129359999873536], [-84.496243000464, 39.129459999873546], [-84.49614300046402, 39.13055999987345], [-84.49604300046406, 39.13185999987332], [-84.49574300046409, 39.13255999987324], [-84.49484300046419, 39.13255999987326], [-84.49394300046428, 39.13235999987328], [-84.4946430004642, 39.13085999987343]]], "type": "Polygon"}, "id": "250", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 0.0, "AGE_21": 17.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.22, "BG": "390610034001", "BLACK": 18.0, "BLOCK": "390610034001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1162.7336, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 701221.0, "IN_HOUSEHO": 20.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.0, "POPULATION": 20.0, "RENTER_SIZ": 2.38, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12935999987355, -84.49294300046438, 39.13115999987341], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49394300046427, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49294300046438, 39.13115999987341], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "251", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610035002", "BLACK": 8.0, "BLOCK": "390610035002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2400.4034, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 701243.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 8.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12915999987361, -84.49184300046453, 39.1322599998733], "geometry": {"coordinates": [[[-84.49284300046439, 39.1322599998733], [-84.49184300046453, 39.13215999987331], [-84.49204300046448, 39.129759999873535], [-84.49214300046445, 39.12915999987361], [-84.49324300046433, 39.12925999987357], [-84.49464300046418, 39.12935999987355], [-84.49294300046438, 39.13115999987341], [-84.49284300046439, 39.1322599998733]]], "type": "Polygon"}, "id": "252", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 32.0, "AGE_20_24": 10.0, "AGE_21": 19.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.26, "AVG_HHSIZE": 2.16, "BG": "390610035002", "BLACK": 54.0, "BLOCK": "390610035002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3226.1536, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701260.0, "IN_HOUSEHO": 54.0, "MALE": 15.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 54.0, "RENTER_SIZ": 2.16, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49394300046427, 39.13115999987341, -84.49284300046439, 39.13235999987327], "geometry": {"coordinates": [[[-84.49394300046427, 39.13115999987341], [-84.4936430004643, 39.13235999987327], [-84.49284300046439, 39.1322599998733], [-84.49294300046438, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49394300046427, 39.13115999987341]]], "type": "Polygon"}, "id": "253", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701281.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5012430004635, 39.132359999873266, -84.49894300046375, 39.13485999987302], "geometry": {"coordinates": [[[-84.5012430004635, 39.13285999987319], [-84.50094300046354, 39.134859999873], [-84.50054300046358, 39.13485999987302], [-84.49894300046375, 39.13475999987305], [-84.49913700046373, 39.13443699987308], [-84.49954300046369, 39.13375999987313], [-84.49954300046369, 39.133259999873175], [-84.49964300046366, 39.13265999987324], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13285999987319]]], "type": "Polygon"}, "id": "254", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 53.0, "AGE_20_24": 3.0, "AGE_21": 53.0, "AGE_25_34": 18.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 60.0, "BLOCK": "390610034002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4672.8118, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 5.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 6.0, "ID": 701300.0, "IN_HOUSEHO": 63.0, "MALE": 36.0, "MALE_18": 27.0, "MALE_65": 7.0, "MEDIAN_AGE": 33.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 68.0, "RENTER_SIZ": 1.7, "THEFT": 13, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 6.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50094300046354, 39.13465999987304, -84.49844300046382, 39.138359999872684], "geometry": {"coordinates": [[[-84.50084300046358, 39.13635999987288], [-84.5006430004636, 39.138359999872684], [-84.49844300046384, 39.13815999987272], [-84.49844300046382, 39.13735999987279], [-84.4986430004638, 39.135759999872946], [-84.49874300046378, 39.13465999987304], [-84.49894300046375, 39.13475999987305], [-84.50054300046358, 39.13485999987302], [-84.50094300046354, 39.134859999873], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.135659999872956], [-84.50084300046358, 39.13635999987288]]], "type": "Polygon"}, "id": "255", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701323.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49964300046366, 39.13265999987324, -84.496838000464, 39.13475999987305], "geometry": {"coordinates": [[[-84.49964300046366, 39.13265999987324], [-84.49954300046369, 39.133259999873175], [-84.49954300046369, 39.13375999987313], [-84.49913700046373, 39.13443699987308], [-84.49894300046375, 39.13475999987305], [-84.49874300046378, 39.13465999987304], [-84.4976430004639, 39.13455999987308], [-84.496838000464, 39.13456299987309], [-84.49684300046397, 39.13435999987308], [-84.49704300046395, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49794300046385, 39.13265999987325], [-84.49964300046366, 39.13265999987324]]], "type": "Polygon"}, "id": "256", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701347.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49704300046395, 39.13255999987324, -84.49604300046407, 39.13435999987308], "geometry": {"coordinates": [[[-84.49704300046395, 39.13265999987325], [-84.49684300046397, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49624300046402, 39.13255999987324], [-84.49704300046395, 39.13265999987325]]], "type": "Polygon"}, "id": "257", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.13, "BG": "390610034001", "BLACK": 17.0, "BLOCK": "390610034001009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3255.9625, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 701373.0, "IN_HOUSEHO": 17.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49874300046378, 39.13455999987308, -84.4960430004641, 39.13735999987279], "geometry": {"coordinates": [[[-84.49874300046378, 39.13465999987304], [-84.4986430004638, 39.135759999872946], [-84.49844300046382, 39.13735999987279], [-84.4960430004641, 39.137259999872825], [-84.4960430004641, 39.137059999872825], [-84.496743000464, 39.13565999987297], [-84.496743000464, 39.13475999987305], [-84.496838000464, 39.13456299987309], [-84.4976430004639, 39.13455999987308], [-84.49874300046378, 39.13465999987304]]], "type": "Polygon"}, "id": "258", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 2.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 36.0, "AGE_25_34": 3.0, "AGE_35_44": 14.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 50.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.38, "BG": "390610034002", "BLACK": 50.0, "BLOCK": "390610034002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2352.8122, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 5.0, "ID": 701390.0, "IN_HOUSEHO": 50.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.43, "POPULATION": 50.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5006430004636, 39.13815999987272, -84.49834300046383, 39.13945999987261], "geometry": {"coordinates": [[[-84.5006430004636, 39.138359999872684], [-84.50054300046362, 39.13935999987259], [-84.49834300046383, 39.13945999987261], [-84.49834300046383, 39.13885999987267], [-84.49844300046384, 39.13815999987272], [-84.5006430004636, 39.138359999872684]]], "type": "Polygon"}, "id": "259", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 6.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.44, "AVG_HHSIZE": 1.61, "BG": "390610067002", "BLACK": 24.0, "BLOCK": "390610067002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3895.8118, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 1.0, "ID": 701413.0, "IN_HOUSEHO": 37.0, "MALE": 18.0, "MALE_18": 17.0, "MALE_65": 1.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 37.0, "RENTER_SIZ": 1.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50054300046362, 39.13935999987259, -84.49824300046387, 39.1406599998725], "geometry": {"coordinates": [[[-84.50054300046362, 39.13935999987259], [-84.50054300046362, 39.139659999872585], [-84.50034300046366, 39.1406599998725], [-84.49824300046387, 39.1406599998725], [-84.49834300046385, 39.140159999872544], [-84.49834300046383, 39.13945999987261], [-84.50054300046362, 39.13935999987259]]], "type": "Polygon"}, "id": "260", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 17.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 28.0, "AGE_60_64": 1.0, "AGE_62": 16.0, "AGE_65": 15.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 121.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.77, "AVG_HHSIZE": 3.54, "BG": "390610067002", "BLACK": 120.0, "BLOCK": "390610067002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12519.5291, "F1_RACE": 123.0, "F2_RACES": 1.0, "FEMALE": 72.0, "FEMALE_18": 37.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 8.0, "ID": 701432.0, "IN_HOUSEHO": 124.0, "MALE": 52.0, "MALE_18": 23.0, "MALE_65": 5.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 124.0, "RENTER_SIZ": 3.91, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50034300046366, 39.1406599998725, -84.49814300046388, 39.1416599998724], "geometry": {"coordinates": [[[-84.50024300046367, 39.1416599998724], [-84.49974300046372, 39.141559999872406], [-84.49984300046371, 39.14125999987244], [-84.49884300046381, 39.14125999987244], [-84.49884300046381, 39.141559999872406], [-84.49814300046388, 39.14155999987243], [-84.49824300046387, 39.1406599998725], [-84.50034300046366, 39.1406599998725], [-84.50024300046367, 39.1416599998724]]], "type": "Polygon"}, "id": "261", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 15.0, "AGE_15_19": 3.0, "AGE_18": 67.0, "AGE_20_24": 6.0, "AGE_21": 64.0, "AGE_25_34": 15.0, "AGE_35_44": 19.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 11.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.2, "BG": "390610067003", "BLACK": 94.0, "BLOCK": "390610067003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16353.6988, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 17.0, "ID": 701450.0, "IN_HOUSEHO": 99.0, "MALE": 47.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 99.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.13805999987273, -84.49654300046404, 39.13885999987267], "geometry": {"coordinates": [[[-84.49844300046384, 39.13815999987272], [-84.49834300046383, 39.13885999987267], [-84.49654300046404, 39.13875999987268], [-84.49654300046404, 39.13805999987273], [-84.49844300046384, 39.13815999987272]]], "type": "Polygon"}, "id": "262", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 32.0, "AGE_20_24": 5.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 5.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.0, "BG": "390610067002", "BLACK": 46.0, "BLOCK": "390610067002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9971.922, "F1_RACE": 46.0, "F2_RACES": 2.0, "FEMALE": 28.0, "FEMALE_18": 19.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 14.0, "ID": 701470.0, "IN_HOUSEHO": 48.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 48.0, "RENTER_SIZ": 2.19, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.137259999872825, -84.49544300046415, 39.13815999987272], "geometry": {"coordinates": [[[-84.49844300046382, 39.13735999987279], [-84.49844300046384, 39.13815999987272], [-84.49654300046404, 39.13805999987273], [-84.49544300046415, 39.13795999987277], [-84.4960430004641, 39.137259999872825], [-84.49844300046382, 39.13735999987279]]], "type": "Polygon"}, "id": "263", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 9.0, "AGE_15_19": 4.0, "AGE_18": 42.0, "AGE_20_24": 4.0, "AGE_21": 38.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 12.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.11, "BG": "390610034002", "BLACK": 52.0, "BLOCK": "390610034002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7551.7359, "F1_RACE": 54.0, "F2_RACES": 5.0, "FEMALE": 28.0, "FEMALE_18": 23.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701488.0, "IN_HOUSEHO": 59.0, "MALE": 31.0, "MALE_18": 19.0, "MALE_65": 3.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 59.0, "RENTER_SIZ": 1.63, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.140159999872544, -84.49664300046405, 39.14235999987234], "geometry": {"coordinates": [[[-84.49814300046388, 39.14155999987243], [-84.4981430004639, 39.14235999987234], [-84.49664300046405, 39.14235999987234], [-84.49684300046403, 39.141159999872464], [-84.49674300046404, 39.140759999872486], [-84.49674300046402, 39.14015999987255], [-84.49834300046385, 39.140159999872544], [-84.49824300046387, 39.1406599998725], [-84.49814300046388, 39.14155999987243]]], "type": "Polygon"}, "id": "264", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 5.0, "AGE_15_19": 16.0, "AGE_18": 144.0, "AGE_20_24": 23.0, "AGE_21": 125.0, "AGE_25_34": 16.0, "AGE_35_44": 33.0, "AGE_45_54": 24.0, "AGE_55_59": 10.0, "AGE_5_9": 21.0, "AGE_60_64": 9.0, "AGE_62": 26.0, "AGE_65": 20.0, "AGE_65_74": 15.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 197.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.03, "BG": "390610067004", "BLACK": 197.0, "BLOCK": "390610067004006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17071.3195, "F1_RACE": 201.0, "F2_RACES": 0.0, "FEMALE": 112.0, "FEMALE_18": 76.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 55.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 14.0, "ID": 701506.0, "IN_HOUSEHO": 201.0, "MALE": 89.0, "MALE_18": 68.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 201.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 84.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 201.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49624300046402, 39.13255999987324, -84.49464300046422, 39.13435999987308], "geometry": {"coordinates": [[[-84.49624300046402, 39.13255999987324], [-84.49604300046407, 39.13435999987308], [-84.49464300046422, 39.13435999987308], [-84.49484300046419, 39.13255999987326], [-84.49574300046409, 39.13255999987324], [-84.49624300046402, 39.13255999987324]]], "type": "Polygon"}, "id": "265", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 1.0, "AGE_21": 49.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 5.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.92, "BG": "390610034001", "BLACK": 67.0, "BLOCK": "390610034001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7394.32, "F1_RACE": 67.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 19.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 10.0, "ID": 701526.0, "IN_HOUSEHO": 69.0, "MALE": 39.0, "MALE_18": 32.0, "MALE_65": 4.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 69.0, "RENTER_SIZ": 1.79, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.496838000464, 39.13456299987309, -84.49564300046411, 39.13565999987297], "geometry": {"coordinates": [[[-84.496743000464, 39.13565999987297], [-84.49564300046411, 39.13565999987297], [-84.49574600046411, 39.13456799987306], [-84.49603300046407, 39.13456699987308], [-84.496838000464, 39.13456299987309], [-84.496743000464, 39.13475999987305], [-84.496743000464, 39.13565999987297]]], "type": "Polygon"}, "id": "266", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.17, "AVG_HHSIZE": 3.22, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13544.9492, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 18.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 701545.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 58.0, "RENTER_SIZ": 3.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49684300046397, 39.134259999873116, -84.49354300046434, 39.13456799987306], "geometry": {"coordinates": [[[-84.49684300046397, 39.13435999987308], [-84.496838000464, 39.13456299987309], [-84.49603300046407, 39.13456699987308], [-84.49574600046411, 39.13456799987306], [-84.4949400004642, 39.13446999987309], [-84.49474300046421, 39.13445999987308], [-84.49354300046434, 39.134459999873094], [-84.49354300046434, 39.134259999873116], [-84.49464300046422, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49684300046397, 39.13435999987308]]], "type": "Polygon"}, "id": "267", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701563.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49574600046411, 39.13446999987309, -84.49474300046423, 39.13565999987297], "geometry": {"coordinates": [[[-84.49574600046411, 39.13456799987306], [-84.49564300046411, 39.13565999987297], [-84.49474300046423, 39.13555999987299], [-84.49494300046419, 39.134559999873105], [-84.4949400004642, 39.13446999987309], [-84.49574600046411, 39.13456799987306]]], "type": "Polygon"}, "id": "268", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610034001", "BLACK": 59.0, "BLOCK": "390610034001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17330.8057, "F1_RACE": 59.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701585.0, "IN_HOUSEHO": 60.0, "MALE": 29.0, "MALE_18": 15.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 60.0, "RENTER_SIZ": 2.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.496743000464, 39.13445999987308, -84.49354300046434, 39.137059999872825], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.49514300046418, 39.13685999987286], [-84.49374300046433, 39.136759999872865], [-84.49354300046434, 39.134459999873094], [-84.49474300046421, 39.13445999987308], [-84.4949400004642, 39.13446999987309], [-84.49494300046419, 39.134559999873105], [-84.49474300046423, 39.13555999987299], [-84.49564300046411, 39.13565999987297], [-84.496743000464, 39.13565999987297], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "269", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 12.0, "AGE_15_19": 13.0, "AGE_18": 93.0, "AGE_20_24": 11.0, "AGE_21": 87.0, "AGE_25_34": 14.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 5.0, "AGE_62": 21.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.07, "AVG_HHSIZE": 2.17, "BG": "390610034001", "BLACK": 123.0, "BLOCK": "390610034001001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7107.1126, "F1_RACE": 125.0, "F2_RACES": 3.0, "FEMALE": 80.0, "FEMALE_18": 59.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 15.0, "ID": 701604.0, "IN_HOUSEHO": 128.0, "MALE": 48.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 128.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 128.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49484300046419, 39.13235999987328, -84.49294300046441, 39.134459999873094], "geometry": {"coordinates": [[[-84.49464300046422, 39.13435999987308], [-84.49354300046434, 39.134259999873116], [-84.49354300046434, 39.134459999873094], [-84.49294300046441, 39.134459999873094], [-84.49394300046428, 39.13235999987328], [-84.49484300046419, 39.13255999987326], [-84.49464300046422, 39.13435999987308]]], "type": "Polygon"}, "id": "270", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.67, "BG": "390610034001", "BLACK": 16.0, "BLOCK": "390610034001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1738.7833, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 2.0, "ID": 701626.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 16.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49394300046428, 39.1322599998733, -84.49234300046446, 39.134459999873094], "geometry": {"coordinates": [[[-84.49394300046428, 39.13235999987328], [-84.49294300046441, 39.134459999873094], [-84.49234300046446, 39.13435999987311], [-84.49244300046446, 39.13415999987311], [-84.49284300046439, 39.1322599998733], [-84.4936430004643, 39.13235999987327], [-84.49394300046428, 39.13235999987328]]], "type": "Polygon"}, "id": "271", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701646.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49374300046433, 39.134459999873094, -84.49221400046447, 39.13675999987287], "geometry": {"coordinates": [[[-84.49354300046434, 39.134459999873094], [-84.49374300046433, 39.136759999872865], [-84.49234300046447, 39.13675999987287], [-84.49224300046448, 39.135659999872985], [-84.49221400046447, 39.135337999873], [-84.49244300046446, 39.135159999873025], [-84.49294300046441, 39.134459999873094], [-84.49354300046434, 39.134459999873094]]], "type": "Polygon"}, "id": "272", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 7.0, "AGE_18": 40.0, "AGE_20_24": 4.0, "AGE_21": 35.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.15, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5326.181, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 701665.0, "IN_HOUSEHO": 56.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 56.0, "RENTER_SIZ": 2.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49654300046404, 39.13795999987277, -84.4949430004642, 39.13875999987268], "geometry": {"coordinates": [[[-84.49654300046404, 39.13805999987273], [-84.49654300046404, 39.13875999987268], [-84.4949430004642, 39.13855999987269], [-84.49524300046419, 39.13825999987273], [-84.49544300046415, 39.13795999987277], [-84.49654300046404, 39.13805999987273]]], "type": "Polygon"}, "id": "273", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 3.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.29, "BG": "390610067002", "BLACK": 37.0, "BLOCK": "390610067002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11703.1123, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 5.0, "ID": 701685.0, "IN_HOUSEHO": 39.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.67, "POPULATION": 39.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.13855999987269, -84.49354300046437, 39.14015999987255], "geometry": {"coordinates": [[[-84.49834300046383, 39.13945999987261], [-84.49834300046385, 39.140159999872544], [-84.49674300046402, 39.14015999987255], [-84.49354300046437, 39.13995999987257], [-84.49444300046427, 39.139159999872646], [-84.4949430004642, 39.13855999987269], [-84.49654300046404, 39.13875999987268], [-84.49834300046383, 39.13885999987267], [-84.49834300046383, 39.13945999987261]]], "type": "Polygon"}, "id": "274", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 21.0, "AGE_15_19": 17.0, "AGE_18": 206.0, "AGE_20_24": 14.0, "AGE_21": 196.0, "AGE_25_34": 31.0, "AGE_35_44": 58.0, "AGE_45_54": 40.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 10.0, "AGE_62": 40.0, "AGE_65": 36.0, "AGE_65_74": 25.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 264.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.28, "BG": "390610067002", "BLACK": 264.0, "BLOCK": "390610067002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13219.4943, "F1_RACE": 279.0, "F2_RACES": 0.0, "FEMALE": 145.0, "FEMALE_18": 105.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 59.0, "HH_NONFAMI": 61.0, "HOUSEHOLDS": 120.0, "HSNG_UNITS": 139.0, "HU_OCCUPIE": 120.0, "HU_VACANT": 19.0, "ID": 701704.0, "IN_HOUSEHO": 274.0, "MALE": 134.0, "MALE_18": 101.0, "MALE_65": 15.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 277.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 90.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 279.0, "RENTER_SIZ": 2.11, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 14.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50714300046275, 39.11655999987471, -84.50604300046285, 39.117459999874605], "geometry": {"coordinates": [[[-84.50704300046277, 39.117459999874605], [-84.50604300046285, 39.11735999987464], [-84.50614300046284, 39.11655999987471], [-84.50714300046275, 39.11655999987471], [-84.50704300046277, 39.117459999874605]]], "type": "Polygon"}, "id": "275", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 26.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.95, "BG": "390610018002", "BLACK": 33.0, "BLOCK": "390610018002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11683.7506, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 13.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 666949.0, "IN_HOUSEHO": 37.0, "MALE": 19.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 37.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50604300046285, 39.11735999987464, -84.50464300046302, 39.118059999874546], "geometry": {"coordinates": [[[-84.50604300046285, 39.11735999987464], [-84.50594300046288, 39.118059999874546], [-84.50464300046302, 39.117959999874564], [-84.50464300046302, 39.11735999987464], [-84.50604300046285, 39.11735999987464]]], "type": "Polygon"}, "id": "276", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 34.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12886.0003, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 666966.0, "IN_HOUSEHO": 42.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 49.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50614300046284, 39.116359999874724, -84.50354300046313, 39.11735999987465], "geometry": {"coordinates": [[[-84.50614300046284, 39.11655999987471], [-84.50604300046285, 39.11735999987464], [-84.50464300046302, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50354300046313, 39.116359999874724], [-84.50614300046284, 39.11655999987471]]], "type": "Polygon"}, "id": "277", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 0.0, "AGE_21": 45.0, "AGE_25_34": 7.0, "AGE_35_44": 10.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.96, "BG": "390610018003", "BLACK": 52.0, "BLOCK": "390610018003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6504.3475, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 666984.0, "IN_HOUSEHO": 53.0, "MALE": 28.0, "MALE_18": 23.0, "MALE_65": 3.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 53.0, "RENTER_SIZ": 2.13, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50844300046265, 39.11735999987464, -84.50344300046316, 39.121459999874226], "geometry": {"coordinates": [[[-84.50444300046306, 39.120559999874324], [-84.50344300046316, 39.120459999874356], [-84.50374300046313, 39.11735999987465], [-84.50464300046302, 39.11735999987464], [-84.50464300046302, 39.117959999874564], [-84.50594300046288, 39.118059999874546], [-84.50574300046291, 39.11965999987443], [-84.50844300046263, 39.11985999987439], [-84.50844300046265, 39.120459999874335], [-84.50834300046266, 39.121459999874226], [-84.50564300046294, 39.121359999874265], [-84.50444300046307, 39.121259999874276], [-84.50444300046306, 39.120559999874324]]], "type": "Polygon"}, "id": "278", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 24.0, "AGE_15_19": 22.0, "AGE_18": 246.0, "AGE_20_24": 22.0, "AGE_21": 234.0, "AGE_25_34": 57.0, "AGE_35_44": 53.0, "AGE_45_54": 47.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 38.0, "AGE_65_74": 19.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 3.0, "AP_BLACK": 292.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 5.0, "AP_WHITE": 29.0, "AREA": 0.04, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.05, "AVG_HHSIZE": 2.2, "BG": "390610022002", "BLACK": 283.0, "BLOCK": "390610022002003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7480.1601, "F1_RACE": 313.0, "F2_RACES": 11.0, "FEMALE": 171.0, "FEMALE_18": 131.0, "FEMALE_65": 26.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 75.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 147.0, "HSNG_UNITS": 207.0, "HU_OCCUPIE": 147.0, "HU_VACANT": 60.0, "ID": 667002.0, "IN_HOUSEHO": 324.0, "MALE": 153.0, "MALE_18": 115.0, "MALE_65": 12.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 321.0, "OCCHU_OWNE": 47.0, "OCCHU_RENT": 100.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.77, "POPULATION": 324.0, "RENTER_SIZ": 1.94, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 25.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50834300046266, 39.121359999874265, -84.50564300046294, 39.12195999987419], "geometry": {"coordinates": [[[-84.50834300046266, 39.121459999874226], [-84.50834300046266, 39.12195999987419], [-84.50564300046294, 39.12175999987422], [-84.50564300046294, 39.121359999874265], [-84.50834300046266, 39.121459999874226]]], "type": "Polygon"}, "id": "279", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 61.0, "AGE_20_24": 8.0, "AGE_21": 60.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.31, "AVG_HHSIZE": 1.93, "BG": "390610022002", "BLACK": 61.0, "BLOCK": "390610022002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18000.5453, "F1_RACE": 78.0, "F2_RACES": 3.0, "FEMALE": 44.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 12.0, "ID": 667029.0, "IN_HOUSEHO": 81.0, "MALE": 37.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 31.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 81.0, "RENTER_SIZ": 1.81, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12265999987413, -84.5043430004631, 39.124259999874], "geometry": {"coordinates": [[[-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12425999987398], [-84.50474300046305, 39.124259999874], [-84.5043430004631, 39.124159999874], [-84.50444300046308, 39.12355999987404], [-84.50664300046284, 39.12355999987404], [-84.50664300046284, 39.12275999987412], [-84.50834300046267, 39.12265999987413], [-84.50834300046267, 39.123959999873996]]], "type": "Polygon"}, "id": "280", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 11.0, "AGE_18": 152.0, "AGE_20_24": 15.0, "AGE_21": 141.0, "AGE_25_34": 41.0, "AGE_35_44": 38.0, "AGE_45_54": 23.0, "AGE_55_59": 7.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 170.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 22.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.07, "BG": "390610022003", "BLACK": 167.0, "BLOCK": "390610022003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12551.3346, "F1_RACE": 192.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 80.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 41.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 94.0, "HSNG_UNITS": 111.0, "HU_OCCUPIE": 94.0, "HU_VACANT": 17.0, "ID": 667045.0, "IN_HOUSEHO": 195.0, "MALE": 101.0, "MALE_18": 72.0, "MALE_65": 5.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.97, "POPULATION": 195.0, "RENTER_SIZ": 1.68, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 21.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12425999987398, -84.50474300046305, 39.12555999987385], "geometry": {"coordinates": [[[-84.50834300046267, 39.12505999987389], [-84.50824300046268, 39.12555999987385], [-84.50674300046285, 39.125459999873875], [-84.50604300046291, 39.125059999873905], [-84.50564300046297, 39.12495999987392], [-84.50474300046305, 39.12495999987392], [-84.50474300046305, 39.124259999874], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.12505999987389]]], "type": "Polygon"}, "id": "281", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 18.0, "AGE_18": 145.0, "AGE_20_24": 32.0, "AGE_21": 126.0, "AGE_25_34": 39.0, "AGE_35_44": 30.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 49.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610022004", "BLACK": 128.0, "BLOCK": "390610022004004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13388.9258, "F1_RACE": 179.0, "F2_RACES": 0.0, "FEMALE": 101.0, "FEMALE_18": 80.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 62.0, "HOUSEHOLDS": 93.0, "HSNG_UNITS": 104.0, "HU_OCCUPIE": 93.0, "HU_VACANT": 11.0, "ID": 667067.0, "IN_HOUSEHO": 179.0, "MALE": 78.0, "MALE_18": 65.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.1, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 177.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.76, "POPULATION": 179.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 49.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.121259999874276, -84.5042430004631, 39.12275999987412], "geometry": {"coordinates": [[[-84.50834300046266, 39.12195999987419], [-84.50834300046267, 39.12265999987413], [-84.50664300046284, 39.12275999987412], [-84.5042430004631, 39.12255999987417], [-84.50444300046307, 39.121259999874276], [-84.50564300046294, 39.121359999874265], [-84.50564300046294, 39.12175999987422], [-84.50834300046266, 39.12195999987419]]], "type": "Polygon"}, "id": "282", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 23.0, "AGE_18": 141.0, "AGE_20_24": 13.0, "AGE_21": 128.0, "AGE_25_34": 32.0, "AGE_35_44": 36.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 22.0, "AGE_60_64": 10.0, "AGE_62": 17.0, "AGE_65": 12.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 1.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.41, "BG": "390610022002", "BLACK": 180.0, "BLOCK": "390610022002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13920.8235, "F1_RACE": 198.0, "F2_RACES": 9.0, "FEMALE": 108.0, "FEMALE_18": 75.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 27.0, "ID": 667087.0, "IN_HOUSEHO": 207.0, "MALE": 99.0, "MALE_18": 66.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 71.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 207.0, "RENTER_SIZ": 2.38, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50664300046284, 39.12255999987417, -84.50414300046312, 39.12355999987404], "geometry": {"coordinates": [[[-84.50664300046284, 39.12275999987412], [-84.50664300046284, 39.12355999987404], [-84.50444300046308, 39.12355999987404], [-84.50414300046312, 39.12345999987407], [-84.5042430004631, 39.12255999987417], [-84.50664300046284, 39.12275999987412]]], "type": "Polygon"}, "id": "283", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 87.0, "AGE_20_24": 9.0, "AGE_21": 80.0, "AGE_25_34": 14.0, "AGE_35_44": 19.0, "AGE_45_54": 24.0, "AGE_55_59": 3.0, "AGE_5_9": 12.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.38, "BG": "390610022003", "BLACK": 115.0, "BLOCK": "390610022003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7854, "F1_RACE": 121.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 54.0, "FEMALE_65": 9.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 7.0, "ID": 667107.0, "IN_HOUSEHO": 112.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 4.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.14, "POPULATION": 121.0, "RENTER_SIZ": 2.58, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50374300046313, 39.11735999987464, -84.50244300046329, 39.120459999874356], "geometry": {"coordinates": [[[-84.50344300046316, 39.120459999874356], [-84.50244300046329, 39.12035999987436], [-84.50274300046323, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50344300046316, 39.120459999874356]]], "type": "Polygon"}, "id": "284", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 10.0, "AGE_15_19": 6.0, "AGE_18": 133.0, "AGE_20_24": 15.0, "AGE_21": 128.0, "AGE_25_34": 22.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 9.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 16.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.29, "BG": "390610022001", "BLACK": 160.0, "BLOCK": "390610022001005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14534.9531, "F1_RACE": 165.0, "F2_RACES": 0.0, "FEMALE": 88.0, "FEMALE_18": 73.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 37.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 12.0, "ID": 667125.0, "IN_HOUSEHO": 165.0, "MALE": 77.0, "MALE_18": 60.0, "MALE_65": 10.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 32.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.55, "POPULATION": 165.0, "RENTER_SIZ": 1.97, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 5.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50274300046323, 39.11735999987464, -84.49994300046355, 39.12235999987418], "geometry": {"coordinates": [[[-84.50244300046329, 39.12035999987436], [-84.50224300046331, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50114300046343, 39.12235999987418], [-84.50081300046347, 39.121369999874275], [-84.50074300046347, 39.12115999987429], [-84.49994300046355, 39.11945999987446], [-84.5001430004635, 39.117559999874615], [-84.50174300046334, 39.117459999874605], [-84.50274300046323, 39.11735999987464], [-84.50244300046329, 39.12035999987436]]], "type": "Polygon"}, "id": "285", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 38.0, "AGE_15_19": 34.0, "AGE_18": 244.0, "AGE_20_24": 22.0, "AGE_21": 227.0, "AGE_25_34": 44.0, "AGE_35_44": 49.0, "AGE_45_54": 62.0, "AGE_55_59": 12.0, "AGE_5_9": 29.0, "AGE_60_64": 10.0, "AGE_62": 41.0, "AGE_65": 36.0, "AGE_65_74": 16.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 343.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 2.89, "BG": "390610022001", "BLACK": 343.0, "BLOCK": "390610022001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9208.6985, "F1_RACE": 353.0, "F2_RACES": 0.0, "FEMALE": 199.0, "FEMALE_18": 142.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 43.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 133.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 11.0, "ID": 667143.0, "IN_HOUSEHO": 353.0, "MALE": 154.0, "MALE_18": 102.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 63.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.51, "POPULATION": 353.0, "RENTER_SIZ": 2.24, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50444300046307, 39.120459999874356, -84.50324300046321, 39.12255999987417], "geometry": {"coordinates": [[[-84.50444300046307, 39.121259999874276], [-84.5042430004631, 39.12255999987417], [-84.50324300046321, 39.12245999987417], [-84.50344300046316, 39.120459999874356], [-84.50444300046306, 39.120559999874324], [-84.50444300046307, 39.121259999874276]]], "type": "Polygon"}, "id": "286", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 57.0, "AGE_20_24": 4.0, "AGE_21": 56.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 12.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.68, "AVG_HHSIZE": 2.16, "BG": "390610022002", "BLACK": 60.0, "BLOCK": "390610022002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8655.7543, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 10.0, "ID": 667166.0, "IN_HOUSEHO": 67.0, "MALE": 33.0, "MALE_18": 28.0, "MALE_65": 10.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.56, "POPULATION": 67.0, "RENTER_SIZ": 1.62, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50344300046316, 39.12035999987436, -84.50224300046331, 39.12245999987417], "geometry": {"coordinates": [[[-84.50324300046321, 39.12245999987417], [-84.50224300046331, 39.12235999987418], [-84.50244300046329, 39.12035999987436], [-84.50344300046316, 39.120459999874356], [-84.50324300046321, 39.12245999987417]]], "type": "Polygon"}, "id": "287", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 3.0, "AGE_18": 69.0, "AGE_20_24": 4.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 12.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 0.0, "AGE_62": 19.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.56, "BG": "390610022001", "BLACK": 87.0, "BLOCK": "390610022001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13366.7012, "F1_RACE": 99.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 35.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 45.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 6.0, "ID": 667185.0, "IN_HOUSEHO": 100.0, "MALE": 49.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.22, "POPULATION": 100.0, "RENTER_SIZ": 2.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 9.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50324300046321, 39.12235999987418, -84.50214300046333, 39.12345999987407], "geometry": {"coordinates": [[[-84.50314300046323, 39.12345999987407], [-84.50214300046333, 39.12335999987408], [-84.50224300046331, 39.12235999987418], [-84.50324300046321, 39.12245999987417], [-84.50314300046323, 39.12345999987407]]], "type": "Polygon"}, "id": "288", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 52.0, "AGE_20_24": 5.0, "AGE_21": 50.0, "AGE_25_34": 14.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.68, "BG": "390610022003", "BLACK": 63.0, "BLOCK": "390610022003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17911.7113, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 8.0, "ID": 667202.0, "IN_HOUSEHO": 67.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 67.0, "RENTER_SIZ": 1.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5042430004631, 39.12245999987417, -84.50314300046323, 39.12345999987407], "geometry": {"coordinates": [[[-84.5042430004631, 39.12255999987417], [-84.50414300046312, 39.12345999987407], [-84.50314300046323, 39.12345999987407], [-84.50324300046321, 39.12245999987417], [-84.5042430004631, 39.12255999987417]]], "type": "Polygon"}, "id": "289", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 0.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.0, "BG": "390610022003", "BLACK": 33.0, "BLOCK": "390610022003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12440.3687, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 8.0, "ID": 667220.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.7, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 44.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 11.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50444300046308, 39.12345999987407, -84.50314300046323, 39.124159999874], "geometry": {"coordinates": [[[-84.50444300046308, 39.12355999987404], [-84.5043430004631, 39.124159999874], [-84.50334300046322, 39.124159999873996], [-84.50314300046323, 39.12345999987407], [-84.50414300046312, 39.12345999987407], [-84.50444300046308, 39.12355999987404]]], "type": "Polygon"}, "id": "290", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 0.0, "AGE_18": 34.0, "AGE_20_24": 2.0, "AGE_21": 34.0, "AGE_25_34": 10.0, "AGE_35_44": 2.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 44.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.68, "BG": "390610022003", "BLACK": 44.0, "BLOCK": "390610022003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17321.771, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 21.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 667237.0, "IN_HOUSEHO": 51.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 51.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.124159999873996, -84.50334300046322, 39.12495999987392], "geometry": {"coordinates": [[[-84.50474300046305, 39.124259999874], [-84.50474300046305, 39.12495999987392], [-84.5034430004632, 39.12485999987395], [-84.50334300046322, 39.124159999873996], [-84.5043430004631, 39.124159999874], [-84.50474300046305, 39.124259999874]]], "type": "Polygon"}, "id": "291", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 3.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 18.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.75, "BG": "390610022004", "BLACK": 44.0, "BLOCK": "390610022004005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15001.0741, "F1_RACE": 51.0, "F2_RACES": 4.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 4.0, "ID": 667256.0, "IN_HOUSEHO": 55.0, "MALE": 22.0, "MALE_18": 13.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.9, "POPULATION": 55.0, "RENTER_SIZ": 2.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12335999987408, -84.50214300046333, 39.12485999987396], "geometry": {"coordinates": [[[-84.50334300046322, 39.124159999873996], [-84.5034430004632, 39.12485999987395], [-84.5025430004633, 39.12485999987396], [-84.5025430004633, 39.124259999874], [-84.50234300046331, 39.123959999874025], [-84.50214300046333, 39.12335999987408], [-84.50314300046323, 39.12345999987407], [-84.50334300046322, 39.124159999873996]]], "type": "Polygon"}, "id": "292", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 41.0, "AGE_20_24": 1.0, "AGE_21": 41.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 51.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.78, "AVG_HHSIZE": 1.65, "BG": "390610022003", "BLACK": 51.0, "BLOCK": "390610022003000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10552.4083, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 23.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 8.0, "ID": 667274.0, "IN_HOUSEHO": 51.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.64, "POPULATION": 51.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50224300046331, 39.12235999987418, -84.50114300046343, 39.12335999987408], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50114300046344, 39.12325999987408], [-84.50114300046343, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50224300046331, 39.12235999987418], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "293", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 9.0, "AGE_35_44": 21.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.67, "BG": "390610022001", "BLACK": 42.0, "BLOCK": "390610022001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7518, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 30.0, "FEMALE_65": 2.0, "GQ_INSTITU": 20.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 20.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 7.0, "ID": 667293.0, "IN_HOUSEHO": 35.0, "MALE": 23.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.75, "POPULATION": 55.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5025430004633, 39.12325999987408, -84.50114300046344, 39.12485999987396], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50234300046331, 39.123959999874025], [-84.5025430004633, 39.124259999874], [-84.5025430004633, 39.12485999987396], [-84.50174300046339, 39.12475999987396], [-84.50114300046344, 39.12325999987408], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "294", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 11.0, "AGE_20_24": 2.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.75, "BG": "390610022001", "BLACK": 13.0, "BLOCK": "390610022001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2913.8529, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 667312.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50174300046339, 39.12225999987419, -84.50014300046355, 39.12475999987396], "geometry": {"coordinates": [[[-84.50114300046344, 39.12325999987408], [-84.50174300046339, 39.12475999987396], [-84.50014300046355, 39.12465999987397], [-84.50034300046353, 39.12225999987419], [-84.50114300046343, 39.12235999987418], [-84.50114300046344, 39.12325999987408]]], "type": "Polygon"}, "id": "295", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667329.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50074300046342, 39.11275999987505, -84.49864300046367, 39.11755999987462], "geometry": {"coordinates": [[[-84.50074300046342, 39.11285999987504], [-84.50064300046343, 39.113159999875045], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.11375999987498], [-84.50044300046345, 39.114359999874935], [-84.49974300046355, 39.1169599998747], [-84.49964300046355, 39.11715999987465], [-84.49944300046359, 39.11755999987462], [-84.49884300046364, 39.11745999987464], [-84.49864300046367, 39.11715999987466], [-84.49895600046362, 39.11617399987476], [-84.49994300046352, 39.11355999987502], [-84.49994300046352, 39.11335999987502], [-84.50024300046346, 39.11275999987505], [-84.50074300046342, 39.11285999987504]]], "type": "Polygon"}, "id": "296", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002031", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667490.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49514300046425, 39.145659999872066, -84.49354300046444, 39.14845999987178], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.4948430004643, 39.14845999987178], [-84.49354300046444, 39.148259999871804], [-84.49384300046441, 39.14705999987192], [-84.49404300046436, 39.145659999872066], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "297", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 221.0, "AGE_20_24": 25.0, "AGE_21": 202.0, "AGE_25_34": 35.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 16.0, "AGE_5_9": 20.0, "AGE_60_64": 11.0, "AGE_62": 75.0, "AGE_65": 68.0, "AGE_65_74": 26.0, "AGE_75_84": 26.0, "AGE_85": 16.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 247.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 41.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 10, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.94, "BG": "390610068002", "BLACK": 243.0, "BLOCK": "390610068002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24438.1476, "F1_RACE": 280.0, "F2_RACES": 5.0, "FEMALE": 161.0, "FEMALE_18": 134.0, "FEMALE_65": 47.0, "GQ_INSTITU": 72.0, "GQ_NONINST": 23.0, "GROUP_QUAR": 95.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 98.0, "HSNG_UNITS": 117.0, "HU_OCCUPIE": 98.0, "HU_VACANT": 19.0, "ID": 705132.0, "IN_HOUSEHO": 190.0, "MALE": 124.0, "MALE_18": 87.0, "MALE_65": 21.0, "MEDIAN_AGE": 37.8, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 285.0, "RENTER_SIZ": 1.93, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49404300046436, 39.14545999987209, -84.4920430004646, 39.148259999871804], "geometry": {"coordinates": [[[-84.49404300046436, 39.145659999872066], [-84.49384300046441, 39.14705999987192], [-84.49354300046444, 39.148259999871804], [-84.4920430004646, 39.14805999987183], [-84.49213100046458, 39.14691599987195], [-84.49224300046455, 39.14545999987209], [-84.49404300046436, 39.145659999872066]]], "type": "Polygon"}, "id": "298", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 24.0, "AGE_15_19": 17.0, "AGE_18": 122.0, "AGE_20_24": 9.0, "AGE_21": 113.0, "AGE_25_34": 21.0, "AGE_35_44": 35.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 1.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 11.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 0.0, "AP_BLACK": 171.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.78, "BG": "390610068002", "BLACK": 167.0, "BLOCK": "390610068002001", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10804.1794, "F1_RACE": 172.0, "F2_RACES": 6.0, "FEMALE": 87.0, "FEMALE_18": 62.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 78.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 14.0, "ID": 705167.0, "IN_HOUSEHO": 178.0, "MALE": 91.0, "MALE_18": 60.0, "MALE_65": 11.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 178.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.61, "POPULATION": 178.0, "RENTER_SIZ": 2.88, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49304300046434, 39.12525999987394, -84.49154300046447, 39.125759999873914], "geometry": {"coordinates": [[[-84.49304300046434, 39.125359999873936], [-84.49304300046434, 39.1257599998739], [-84.4924430004644, 39.125759999873914], [-84.49184300046447, 39.1257599998739], [-84.49154300046449, 39.1256599998739], [-84.49154300046447, 39.12525999987394], [-84.49304300046434, 39.125359999873936]]], "type": "Polygon"}, "id": "299", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.25, "BG": "390610021001", "BLACK": 13.0, "BLOCK": "390610021001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5318.6525, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 8.0, "ID": 705258.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 13.0, "RENTER_SIZ": 3.25, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4924430004644, 39.1257599998739, -84.4917430004645, 39.127359999873725], "geometry": {"coordinates": [[[-84.4924430004644, 39.125759999873914], [-84.49224300046444, 39.127359999873725], [-84.4917430004645, 39.127359999873725], [-84.49184300046447, 39.1257599998739], [-84.4924430004644, 39.125759999873914]]], "type": "Polygon"}, "id": "300", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 5.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.25, "BG": "390610035002", "BLACK": 9.0, "BLOCK": "390610035002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2761.6482, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 705278.0, "IN_HOUSEHO": 9.0, "MALE": 4.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 9.0, "RENTER_SIZ": 1.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49154300046449, 39.12485999987399, -84.49044300046462, 39.1256599998739], "geometry": {"coordinates": [[[-84.49154300046447, 39.12525999987394], [-84.49154300046449, 39.1256599998739], [-84.49064300046459, 39.1256599998739], [-84.49044300046462, 39.125559999873914], [-84.49114300046453, 39.12485999987399], [-84.49104300046453, 39.12515999987397], [-84.49154300046447, 39.12525999987394]]], "type": "Polygon"}, "id": "301", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705295.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12475999987402, -84.49014300046463, 39.125559999873914], "geometry": {"coordinates": [[[-84.49114300046453, 39.12485999987399], [-84.49044300046462, 39.125559999873914], [-84.49014300046463, 39.125559999873914], [-84.49044300046461, 39.12495999987399], [-84.49054300046461, 39.12475999987402], [-84.49114300046453, 39.12485999987399]]], "type": "Polygon"}, "id": "302", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 4.67, "BG": "390610021001", "BLACK": 14.0, "BLOCK": "390610021001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10356.9954, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 705315.0, "IN_HOUSEHO": 14.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 11.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 4.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49184300046447, 39.1256599998739, -84.49044300046464, 39.127359999873725], "geometry": {"coordinates": [[[-84.4917430004645, 39.127359999873725], [-84.49044300046464, 39.12725999987379], [-84.49064300046459, 39.1256599998739], [-84.49154300046449, 39.1256599998739], [-84.49184300046447, 39.1257599998739], [-84.4917430004645, 39.127359999873725]]], "type": "Polygon"}, "id": "303", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 11.0, "AGE_15_19": 5.0, "AGE_18": 73.0, "AGE_20_24": 4.0, "AGE_21": 71.0, "AGE_25_34": 10.0, "AGE_35_44": 21.0, "AGE_45_54": 20.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 11.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 97.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.83, "BG": "390610035001", "BLACK": 97.0, "BLOCK": "390610035001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12976.9945, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 46.0, "FEMALE_18": 33.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 9.0, "ID": 705334.0, "IN_HOUSEHO": 99.0, "MALE": 53.0, "MALE_18": 40.0, "MALE_65": 8.0, "MEDIAN_AGE": 37.9, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 51.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 99.0, "RENTER_SIZ": 1.76, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49224300046444, 39.12725999987379, -84.49024300046466, 39.129759999873535], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49024300046466, 39.12965999987355], [-84.49044300046464, 39.12725999987379], [-84.4917430004645, 39.127359999873725], [-84.49224300046444, 39.127359999873725], [-84.49214300046445, 39.12915999987361], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "304", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 13.0, "AGE_18": 76.0, "AGE_20_24": 8.0, "AGE_21": 65.0, "AGE_25_34": 16.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 4.0, "AGE_75_84": 4.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 117.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.71, "BG": "390610035001", "BLACK": 117.0, "BLOCK": "390610035001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7530.1086, "F1_RACE": 122.0, "F2_RACES": 0.0, "FEMALE": 61.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 80.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 35.0, "ID": 705352.0, "IN_HOUSEHO": 122.0, "MALE": 61.0, "MALE_18": 39.0, "MALE_65": 8.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 122.0, "RENTER_SIZ": 2.7, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49064300046459, 39.125559999873914, -84.48934300046474, 39.12725999987379], "geometry": {"coordinates": [[[-84.49064300046459, 39.1256599998739], [-84.49044300046464, 39.12725999987379], [-84.48934300046474, 39.12715999987378], [-84.49014300046463, 39.125559999873914], [-84.49044300046462, 39.125559999873914], [-84.49064300046459, 39.1256599998739]]], "type": "Polygon"}, "id": "305", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 6.0, "AGE_35_44": 11.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 2.4, "BG": "390610035001", "BLACK": 42.0, "BLOCK": "390610035001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9636.6782, "F1_RACE": 47.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 705372.0, "IN_HOUSEHO": 48.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 48.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49044300046461, 39.124859999874, -84.4877430004649, 39.125559999873914], "geometry": {"coordinates": [[[-84.48914300046475, 39.124859999874], [-84.49044300046461, 39.12495999987399], [-84.49014300046463, 39.125559999873914], [-84.4877430004649, 39.125459999873954], [-84.48784300046489, 39.124859999874026], [-84.48914300046475, 39.124859999874]]], "type": "Polygon"}, "id": "306", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 16.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.64, "BG": "390610019001", "BLACK": 9.0, "BLOCK": "390610019001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3066.4806, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 36.0, "ID": 705391.0, "IN_HOUSEHO": 18.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 1.64, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 7.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49014300046463, 39.125459999873954, -84.48754300046494, 39.12715999987378], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.49014300046463, 39.125559999873914], [-84.48934300046474, 39.12715999987378], [-84.48754300046494, 39.126959999873826], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "307", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 59.0, "AGE_20_24": 1.0, "AGE_21": 59.0, "AGE_25_34": 11.0, "AGE_35_44": 11.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 62.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.17, "BG": "390610037002", "BLACK": 62.0, "BLOCK": "390610037002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5108.6014, "F1_RACE": 63.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 28.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 50.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 57.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 3.0, "ID": 705409.0, "IN_HOUSEHO": 63.0, "MALE": 34.0, "MALE_18": 31.0, "MALE_65": 5.0, "MEDIAN_AGE": 45.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 1.17, "THEFT": 14, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49044300046464, 39.12715999987378, -84.48844300046484, 39.12965999987355], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.48934300046476, 39.12955999987356], [-84.48844300046484, 39.12945999987358], [-84.48854300046484, 39.12865999987366], [-84.48934300046474, 39.12715999987378], [-84.49044300046464, 39.12725999987379], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "308", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 24.0, "AGE_15_19": 20.0, "AGE_18": 189.0, "AGE_20_24": 14.0, "AGE_21": 186.0, "AGE_25_34": 28.0, "AGE_35_44": 47.0, "AGE_45_54": 43.0, "AGE_55_59": 12.0, "AGE_5_9": 25.0, "AGE_60_64": 9.0, "AGE_62": 42.0, "AGE_65": 33.0, "AGE_65_74": 20.0, "AGE_75_84": 11.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.7, "BG": "390610035001", "BLACK": 246.0, "BLOCK": "390610035001003", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20388.1466, "F1_RACE": 274.0, "F2_RACES": 8.0, "FEMALE": 136.0, "FEMALE_18": 88.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 47.0, "GROUP_QUAR": 47.0, "HAWAIIAN": 0.0, "HH_FAMILY": 61.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 100.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 13.0, "ID": 705427.0, "IN_HOUSEHO": 235.0, "MALE": 146.0, "MALE_18": 101.0, "MALE_65": 17.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.92, "POPULATION": 282.0, "RENTER_SIZ": 2.67, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 23.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48934300046474, 39.126959999873826, -84.48744300046496, 39.12865999987366], "geometry": {"coordinates": [[[-84.48934300046474, 39.12715999987378], [-84.48854300046484, 39.12865999987366], [-84.48744300046496, 39.12865999987366], [-84.48754300046494, 39.126959999873826], [-84.48934300046474, 39.12715999987378]]], "type": "Polygon"}, "id": "309", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 49.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 12.0, "AGE_35_44": 16.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.11, "AVG_HHSIZE": 2.84, "BG": "390610037002", "BLACK": 70.0, "BLOCK": "390610037002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8106.6346, "F1_RACE": 71.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 27.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 705446.0, "IN_HOUSEHO": 71.0, "MALE": 34.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.8, "POPULATION": 71.0, "RENTER_SIZ": 2.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49204300046448, 39.12965999987355, -84.49004300046471, 39.13215999987331], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49184300046453, 39.13215999987331], [-84.49004300046471, 39.13195999987333], [-84.49024300046466, 39.12965999987355], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "310", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 24.0, "AGE_15_19": 23.0, "AGE_18": 114.0, "AGE_20_24": 12.0, "AGE_21": 105.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.34, "BG": "390610035001", "BLACK": 177.0, "BLOCK": "390610035001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12487.9501, "F1_RACE": 192.0, "F2_RACES": 5.0, "FEMALE": 103.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 12.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 12.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 31.0, "ID": 705464.0, "IN_HOUSEHO": 185.0, "MALE": 94.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 24.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 60.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.32, "POPULATION": 197.0, "RENTER_SIZ": 2.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 15.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49284300046439, 39.13215999987331, -84.49174300046454, 39.13415999987313], "geometry": {"coordinates": [[[-84.49184300046453, 39.13215999987331], [-84.49284300046439, 39.1322599998733], [-84.49244300046446, 39.13415999987311], [-84.49174300046455, 39.13415999987313], [-84.49174300046454, 39.13335999987318], [-84.49184300046453, 39.13215999987331]]], "type": "Polygon"}, "id": "311", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49184300046453, 39.13195999987333, -84.48994300046472, 39.13335999987318], "geometry": {"coordinates": [[[-84.49174300046454, 39.13335999987318], [-84.48994300046472, 39.13325999987322], [-84.49004300046471, 39.13195999987333], [-84.49184300046453, 39.13215999987331], [-84.49174300046454, 39.13335999987318]]], "type": "Polygon"}, "id": "312", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.9, "BG": "390610036002", "BLACK": 19.0, "BLOCK": "390610036002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2265.3295, "F1_RACE": 19.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 705500.0, "IN_HOUSEHO": 19.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 19.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49024300046466, 39.12945999987358, -84.48794300046492, 39.13195999987333], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.49004300046471, 39.13195999987333], [-84.48914300046481, 39.13195999987333], [-84.48794300046492, 39.13185999987335], [-84.48814300046489, 39.13085999987344], [-84.48844300046484, 39.12945999987358], [-84.48934300046476, 39.12955999987356], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "313", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 59.0, "AGE_20_24": 12.0, "AGE_21": 55.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 16.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.72, "BG": "390610035001", "BLACK": 74.0, "BLOCK": "390610035001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4260.8043, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 31.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 9.0, "ID": 705518.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 74.0, "RENTER_SIZ": 1.65, "THEFT": 11, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49004300046471, 39.13185999987335, -84.48764300046497, 39.13325999987322], "geometry": {"coordinates": [[[-84.49004300046471, 39.13195999987333], [-84.48994300046472, 39.13325999987322], [-84.48764300046497, 39.13315999987322], [-84.48784300046495, 39.13265999987328], [-84.48794300046492, 39.13185999987335], [-84.48914300046481, 39.13195999987333], [-84.49004300046471, 39.13195999987333]]], "type": "Polygon"}, "id": "314", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 229.0, "AGE_20_24": 2.0, "AGE_21": 228.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 10.0, "AGE_5_9": 1.0, "AGE_60_64": 16.0, "AGE_62": 187.0, "AGE_65": 177.0, "AGE_65_74": 79.0, "AGE_75_84": 73.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 2.0, "AP_BLACK": 239.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.53, "AVG_HHSIZE": 1.15, "BG": "390610036002", "BLACK": 236.0, "BLOCK": "390610036002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23313.5736, "F1_RACE": 237.0, "F2_RACES": 3.0, "FEMALE": 190.0, "FEMALE_18": 183.0, "FEMALE_65": 147.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 190.0, "HOUSEHOLDS": 209.0, "HSNG_UNITS": 212.0, "HU_OCCUPIE": 209.0, "HU_VACANT": 3.0, "ID": 705538.0, "IN_HOUSEHO": 240.0, "MALE": 50.0, "MALE_18": 46.0, "MALE_65": 30.0, "MEDIAN_AGE": 72.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 239.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 204.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 240.0, "RENTER_SIZ": 1.14, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4877430004649, 39.125359999873965, -84.48594300046511, 39.126959999873826], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.48754300046494, 39.126959999873826], [-84.48594300046511, 39.12685999987383], [-84.48604300046509, 39.125359999873965], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "315", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 141.0, "AGE_20_24": 7.0, "AGE_21": 139.0, "AGE_25_34": 8.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 9.0, "AGE_5_9": 7.0, "AGE_60_64": 16.0, "AGE_62": 77.0, "AGE_65": 68.0, "AGE_65_74": 32.0, "AGE_75_84": 24.0, "AGE_85": 12.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.76, "AVG_HHSIZE": 1.33, "BG": "390610037002", "BLACK": 146.0, "BLOCK": "390610037002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17459.4717, "F1_RACE": 158.0, "F2_RACES": 3.0, "FEMALE": 88.0, "FEMALE_18": 80.0, "FEMALE_65": 42.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 121.0, "HSNG_UNITS": 126.0, "HU_OCCUPIE": 121.0, "HU_VACANT": 5.0, "ID": 705558.0, "IN_HOUSEHO": 161.0, "MALE": 73.0, "MALE_18": 61.0, "MALE_65": 26.0, "MEDIAN_AGE": 61.1, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 161.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 113.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 161.0, "RENTER_SIZ": 1.25, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48754300046494, 39.12685999987383, -84.48574300046513, 39.12865999987366], "geometry": {"coordinates": [[[-84.48754300046494, 39.126959999873826], [-84.48744300046496, 39.12865999987366], [-84.4862430004651, 39.12855999987367], [-84.48574300046513, 39.12855999987368], [-84.48594300046511, 39.12685999987383], [-84.48754300046494, 39.126959999873826]]], "type": "Polygon"}, "id": "316", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610037002", "BLACK": 8.0, "BLOCK": "390610037002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 772.902, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 1.0, "ID": 705576.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48604300046509, 39.125159999874, -84.48434300046526, 39.12685999987383], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48434300046527, 39.12675999987384], [-84.48434300046526, 39.125159999874], [-84.48504300046518, 39.12525999987396], [-84.48604300046509, 39.125359999873965], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "317", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 6.0, "AGE_15_19": 15.0, "AGE_18": 178.0, "AGE_20_24": 31.0, "AGE_21": 164.0, "AGE_25_34": 43.0, "AGE_35_44": 18.0, "AGE_45_54": 18.0, "AGE_55_59": 17.0, "AGE_5_9": 24.0, "AGE_60_64": 16.0, "AGE_62": 35.0, "AGE_65": 25.0, "AGE_65_74": 19.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 232.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 1.6, "BG": "390610037002", "BLACK": 230.0, "BLOCK": "390610037002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25096.418, "F1_RACE": 235.0, "F2_RACES": 2.0, "FEMALE": 132.0, "FEMALE_18": 99.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 50.0, "HH_NONFAMI": 98.0, "HOUSEHOLDS": 148.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 148.0, "HU_VACANT": 45.0, "ID": 705594.0, "IN_HOUSEHO": 237.0, "MALE": 105.0, "MALE_18": 79.0, "MALE_65": 9.0, "MEDIAN_AGE": 27.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 233.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 237.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48594300046511, 39.12675999987384, -84.48414300046532, 39.12855999987368], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48574300046513, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.4842430004653, 39.12765999987374], [-84.48434300046527, 39.12675999987384], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "318", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 9.0, "AGE_18": 229.0, "AGE_20_24": 9.0, "AGE_21": 226.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 33.0, "AGE_55_59": 11.0, "AGE_5_9": 6.0, "AGE_60_64": 24.0, "AGE_62": 123.0, "AGE_65": 110.0, "AGE_65_74": 44.0, "AGE_75_84": 46.0, "AGE_85": 20.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 235.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 5.0, "AP_WHITE": 19.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.29, "BG": "390610037002", "BLACK": 229.0, "BLOCK": "390610037002000", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25176.618, "F1_RACE": 248.0, "F2_RACES": 7.0, "FEMALE": 152.0, "FEMALE_18": 143.0, "FEMALE_65": 76.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 173.0, "HOUSEHOLDS": 197.0, "HSNG_UNITS": 199.0, "HU_OCCUPIE": 197.0, "HU_VACANT": 2.0, "ID": 705613.0, "IN_HOUSEHO": 255.0, "MALE": 103.0, "MALE_18": 86.0, "MALE_65": 34.0, "MEDIAN_AGE": 61.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 255.0, "RENTER_SIZ": 1.26, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 16.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.128459999873684, -84.48414300046532, 39.129359999873586], "geometry": {"coordinates": [[[-84.48574300046513, 39.12855999987368], [-84.48574300046515, 39.129359999873586], [-84.48414300046532, 39.129259999873604], [-84.48414300046532, 39.128459999873684], [-84.48574300046513, 39.12855999987368]]], "type": "Polygon"}, "id": "319", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 9.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.91, "BG": "390610037003", "BLACK": 57.0, "BLOCK": "390610037003012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13501.798, "F1_RACE": 64.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 6.0, "ID": 705632.0, "IN_HOUSEHO": 64.0, "MALE": 26.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 64.0, "RENTER_SIZ": 3.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 7.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48854300046484, 39.12855999987367, -84.48554300046517, 39.130859999873465], "geometry": {"coordinates": [[[-84.48844300046484, 39.12945999987358], [-84.48814300046489, 39.13085999987344], [-84.48684300046503, 39.130859999873465], [-84.48604300046513, 39.13075999987347], [-84.48554300046517, 39.13075999987347], [-84.48574300046515, 39.129359999873586], [-84.48574300046513, 39.12855999987368], [-84.4862430004651, 39.12855999987367], [-84.48744300046496, 39.12865999987366], [-84.48854300046484, 39.12865999987366], [-84.48844300046484, 39.12945999987358]]], "type": "Polygon"}, "id": "320", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 2.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 46.0, "BLOCK": "390610037003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2087.6977, "F1_RACE": 46.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 20.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 705649.0, "IN_HOUSEHO": 46.0, "MALE": 19.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 46.0, "RENTER_SIZ": 2.36, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48814300046489, 39.13085999987344, -84.48684300046503, 39.13185999987336], "geometry": {"coordinates": [[[-84.48814300046489, 39.13085999987344], [-84.48794300046492, 39.13185999987335], [-84.48684300046504, 39.13185999987336], [-84.48684300046503, 39.130859999873465], [-84.48814300046489, 39.13085999987344]]], "type": "Polygon"}, "id": "321", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 25.0, "AGE_20_24": 11.0, "AGE_21": 17.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 39.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.17, "BG": "390610037003", "BLACK": 38.0, "BLOCK": "390610037003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8776.4684, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 705673.0, "IN_HOUSEHO": 39.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 2.17, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48794300046492, 39.13185999987335, -84.48684300046504, 39.132659999873304], "geometry": {"coordinates": [[[-84.48794300046492, 39.13185999987335], [-84.48784300046495, 39.13265999987328], [-84.48684300046504, 39.132659999873304], [-84.48684300046504, 39.13185999987336], [-84.48794300046492, 39.13185999987335]]], "type": "Polygon"}, "id": "322", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610036001", "BLACK": 16.0, "BLOCK": "390610036001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5465.2861, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 7.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 6.0, "ID": 705691.0, "IN_HOUSEHO": 17.0, "MALE": 8.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 17.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.13075999987347, -84.4854430004652, 39.13185999987336], "geometry": {"coordinates": [[[-84.48684300046503, 39.130859999873465], [-84.48684300046504, 39.13185999987336], [-84.4854430004652, 39.131759999873395], [-84.48554300046517, 39.13075999987347], [-84.48604300046513, 39.13075999987347], [-84.48684300046503, 39.130859999873465]]], "type": "Polygon"}, "id": "323", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 74.0, "AGE_20_24": 15.0, "AGE_21": 65.0, "AGE_25_34": 8.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 10.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 104.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.81, "BG": "390610037003", "BLACK": 104.0, "BLOCK": "390610037003003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20938.2875, "F1_RACE": 107.0, "F2_RACES": 0.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 4.0, "ID": 705708.0, "IN_HOUSEHO": 107.0, "MALE": 44.0, "MALE_18": 26.0, "MALE_65": 6.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 57.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.81, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48784300046495, 39.1325599998733, -84.48504300046523, 39.133659999873196], "geometry": {"coordinates": [[[-84.48784300046495, 39.13265999987328], [-84.48764300046497, 39.13315999987322], [-84.487443000465, 39.133459999873224], [-84.487443000465, 39.133659999873196], [-84.48613700046513, 39.133514999873206], [-84.48596700046515, 39.133397999873225], [-84.48504300046523, 39.13276599987328], [-84.48504300046523, 39.1325599998733], [-84.4854430004652, 39.1325599998733], [-84.48684300046504, 39.132659999873304], [-84.48784300046495, 39.13265999987328]]], "type": "Polygon"}, "id": "324", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 6.0, "AVG_HHSIZE": 6.0, "BG": "390610036001", "BLACK": 6.0, "BLOCK": "390610036001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 799.5032, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 705727.0, "IN_HOUSEHO": 6.0, "MALE": 4.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 6.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 6.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49364300046419, 39.11405999987497, -84.49304300046427, 39.1148599998749], "geometry": {"coordinates": [[[-84.49324300046423, 39.11405999987497], [-84.49364300046419, 39.114359999874964], [-84.49304300046427, 39.1148599998749], [-84.49324300046423, 39.11405999987497]]], "type": "Polygon"}, "id": "325", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 5.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.44, "BG": "390610019002", "BLACK": 5.0, "BLOCK": "390610019002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18472.2408, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 3.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 0.0, "ID": 669057.0, "IN_HOUSEHO": 13.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 13.0, "RENTER_SIZ": 1.43, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 8.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49884300046364, 39.11715999987466, -84.49854300046368, 39.11755999987462], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49854300046368, 39.11755999987462], [-84.49864300046367, 39.11715999987466], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "326", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669074.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49864300046367, 39.11715999987466, -84.4984430004637, 39.11755999987462], "geometry": {"coordinates": [[[-84.49864300046367, 39.11715999987466], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.117259999874676], [-84.49864300046367, 39.11715999987466]]], "type": "Polygon"}, "id": "327", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002029", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669090.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49944300046359, 39.11745999987464, -84.49804300046375, 39.12015999987439], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49944300046359, 39.11755999987462], [-84.49804300046375, 39.12015999987439], [-84.49814300046373, 39.11885999987453], [-84.4984430004637, 39.11815999987457], [-84.49854300046368, 39.11755999987462], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "328", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669106.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50114300046343, 39.117559999874615, -84.49784300046379, 39.12235999987418], "geometry": {"coordinates": [[[-84.50114300046343, 39.12235999987418], [-84.50034300046353, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.49874300046368, 39.121459999874276], [-84.49874300046368, 39.120759999874345], [-84.49824300046373, 39.120759999874345], [-84.49824300046373, 39.121459999874276], [-84.49824300046375, 39.12225999987419], [-84.49784300046379, 39.12225999987419], [-84.49794300046376, 39.120759999874345], [-84.49804300046375, 39.12015999987439], [-84.49944300046359, 39.11755999987462], [-84.5001430004635, 39.117559999874615], [-84.49994300046355, 39.11945999987446], [-84.50074300046347, 39.12115999987429], [-84.50081300046347, 39.121369999874275], [-84.50114300046343, 39.12235999987418]]], "type": "Polygon"}, "id": "329", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 7.0, "AGE_15_19": 7.0, "AGE_18": 71.0, "AGE_20_24": 3.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 2.0, "AGE_5_9": 21.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 110.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 2.5, "BG": "390610021002", "BLACK": 110.0, "BLOCK": "390610021002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3608.4247, "F1_RACE": 114.0, "F2_RACES": 1.0, "FEMALE": 63.0, "FEMALE_18": 41.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 7.0, "ID": 669124.0, "IN_HOUSEHO": 115.0, "MALE": 52.0, "MALE_18": 30.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 115.0, "RENTER_SIZ": 2.79, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 4.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49854300046368, 39.11645999987473, -84.4964230004639, 39.12225999987419], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49694300046386, 39.119459999874465], [-84.4974430004638, 39.1191599998745], [-84.49684300046387, 39.11855999987454], [-84.4964230004639, 39.11813999987458], [-84.49754300046378, 39.11645999987473], [-84.4984430004637, 39.117259999874676], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.11815999987457], [-84.49814300046373, 39.11885999987453], [-84.49804300046375, 39.12015999987439], [-84.49794300046376, 39.120759999874345], [-84.49784300046379, 39.12225999987419], [-84.49724300046385, 39.122159999874214], [-84.49744300046382, 39.12065999987436], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "330", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669153.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4974430004638, 39.11813999987458, -84.49634300046392, 39.119459999874465], "geometry": {"coordinates": [[[-84.49684300046387, 39.11855999987454], [-84.4974430004638, 39.1191599998745], [-84.49694300046386, 39.119459999874465], [-84.49634300046392, 39.118259999874574], [-84.4964230004639, 39.11813999987458], [-84.49684300046387, 39.11855999987454]]], "type": "Polygon"}, "id": "331", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669178.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49744300046382, 39.119459999874465, -84.49634300046394, 39.12215999987422], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49744300046382, 39.12065999987436], [-84.49724300046385, 39.122159999874214], [-84.49634300046394, 39.12215999987422], [-84.49644300046394, 39.121359999874294], [-84.49694300046387, 39.121359999874294], [-84.49694300046387, 39.12075999987434], [-84.49654300046392, 39.12055999987439], [-84.49654300046392, 39.11965999987446], [-84.49694300046386, 39.119459999874465], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "332", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.14, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2225.3185, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669195.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 45.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 15.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49874300046368, 39.120759999874345, -84.49824300046373, 39.121459999874276], "geometry": {"coordinates": [[[-84.49874300046368, 39.120759999874345], [-84.49874300046368, 39.121459999874276], [-84.49824300046373, 39.121459999874276], [-84.49824300046373, 39.120759999874345], [-84.49874300046368, 39.120759999874345]]], "type": "Polygon"}, "id": "333", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669219.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49874300046369, 39.121459999874276, -84.49824300046373, 39.12225999987419], "geometry": {"coordinates": [[[-84.49874300046368, 39.121459999874276], [-84.49874300046369, 39.12225999987418], [-84.49824300046375, 39.12225999987419], [-84.49824300046373, 39.121459999874276], [-84.49874300046368, 39.121459999874276]]], "type": "Polygon"}, "id": "334", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 10.0, "BLOCK": "390610021002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6750.2171, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669236.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 60.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 10.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50034300046353, 39.12225999987418, -84.49784300046382, 39.125359999873915], "geometry": {"coordinates": [[[-84.49914300046366, 39.12455999987399], [-84.49914300046366, 39.125359999873915], [-84.49784300046382, 39.125259999873926], [-84.49804300046377, 39.12375999987406], [-84.49864800046372, 39.123760999874065], [-84.49864300046372, 39.1230599998741], [-84.49816800046375, 39.123062999874136], [-84.49824300046375, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.50034300046353, 39.12225999987419], [-84.50014300046355, 39.12465999987397], [-84.49914300046366, 39.12455999987399]]], "type": "Polygon"}, "id": "335", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 32.0, "AGE_25_34": 0.0, "AGE_35_44": 7.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.73, "AVG_HHSIZE": 1.91, "BG": "390610021002", "BLACK": 36.0, "BLOCK": "390610021002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2042.0725, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 669254.0, "IN_HOUSEHO": 42.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 4.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.71, "POPULATION": 42.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49864800046372, 39.1230599998741, -84.49804300046377, 39.123760999874065], "geometry": {"coordinates": [[[-84.49864300046372, 39.1230599998741], [-84.49864800046372, 39.123760999874065], [-84.49804300046377, 39.12375999987406], [-84.49816800046375, 39.123062999874136], [-84.49864300046372, 39.1230599998741]]], "type": "Polygon"}, "id": "336", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.94, "BG": "390610021002", "BLACK": 32.0, "BLOCK": "390610021002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23607.9351, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 669279.0, "IN_HOUSEHO": 33.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 33.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49824300046375, 39.12225999987419, -84.49724300046388, 39.126059999873846], "geometry": {"coordinates": [[[-84.49784300046382, 39.125259999873926], [-84.49784300046382, 39.126059999873846], [-84.49724300046388, 39.126059999873846], [-84.49764300046381, 39.12295999987414], [-84.49784300046379, 39.12225999987419], [-84.49824300046375, 39.12225999987419], [-84.49816800046375, 39.123062999874136], [-84.49804300046377, 39.12375999987406], [-84.49784300046382, 39.125259999873926]]], "type": "Polygon"}, "id": "337", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669296.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046385, 39.122159999874214, -84.49594300046402, 39.125559999873886], "geometry": {"coordinates": [[[-84.49724300046385, 39.122159999874214], [-84.49704300046389, 39.12375999987407], [-84.49684300046391, 39.125259999873926], [-84.49680000046392, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49594300046402, 39.125559999873886], [-84.49595400046402, 39.12521199987394], [-84.496043000464, 39.124359999874024], [-84.49614300046399, 39.123659999874064], [-84.49624300046396, 39.122859999874166], [-84.49634300046394, 39.12215999987422], [-84.49724300046385, 39.122159999874214]]], "type": "Polygon"}, "id": "338", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 14.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.8, "BG": "390610021002", "BLACK": 18.0, "BLOCK": "390610021002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1575.7931, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 669317.0, "IN_HOUSEHO": 18.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 18.0, "RENTER_SIZ": 1.86, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49784300046379, 39.122159999874214, -84.49674300046394, 39.126059999873846], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49674300046394, 39.125959999873864], [-84.49680000046392, 39.125559999873886], [-84.49684300046391, 39.125259999873926], [-84.49704300046389, 39.12375999987407], [-84.49724300046385, 39.122159999874214], [-84.49784300046379, 39.12225999987419], [-84.49764300046381, 39.12295999987414], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "339", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669342.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49584300046398, 39.1180599998746, -84.49434300046414, 39.11955999987449], "geometry": {"coordinates": [[[-84.49584300046398, 39.1180599998746], [-84.49464300046412, 39.11955999987449], [-84.49434300046414, 39.11925999987448], [-84.49444300046413, 39.11805999987461], [-84.49584300046398, 39.1180599998746]]], "type": "Polygon"}, "id": "340", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 89.0, "AGE_20_24": 17.0, "AGE_21": 85.0, "AGE_25_34": 27.0, "AGE_35_44": 25.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 5.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.26, "AVG_HHSIZE": 1.89, "BG": "390610019002", "BLACK": 55.0, "BLOCK": "390610019002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25806.7736, "F1_RACE": 110.0, "F2_RACES": 9.0, "FEMALE": 64.0, "FEMALE_18": 50.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 63.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 63.0, "HU_VACANT": 5.0, "ID": 669361.0, "IN_HOUSEHO": 119.0, "MALE": 55.0, "MALE_18": 39.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 117.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.94, "POPULATION": 119.0, "RENTER_SIZ": 1.87, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 53.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49754300046378, 39.116359999874746, -84.49404300046417, 39.12085999987434], "geometry": {"coordinates": [[[-84.49694300046386, 39.119459999874465], [-84.49654300046392, 39.11965999987446], [-84.49564300046401, 39.12015999987439], [-84.4948430004641, 39.12045999987439], [-84.49434300046416, 39.12085999987434], [-84.49404300046417, 39.120359999874395], [-84.49464300046412, 39.11955999987449], [-84.49584300046398, 39.1180599998746], [-84.49724300046381, 39.116359999874746], [-84.49754300046378, 39.11645999987473], [-84.4964230004639, 39.11813999987458], [-84.49634300046392, 39.118259999874574], [-84.49694300046386, 39.119459999874465]]], "type": "Polygon"}, "id": "341", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.2116, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 669378.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49694300046387, 39.11965999987446, -84.49434300046416, 39.121359999874294], "geometry": {"coordinates": [[[-84.49694300046387, 39.12075999987434], [-84.49694300046387, 39.121359999874294], [-84.49644300046394, 39.121359999874294], [-84.49598100046398, 39.12130899987431], [-84.49554300046402, 39.121259999874304], [-84.49504300046408, 39.12125999987431], [-84.49454300046415, 39.121259999874304], [-84.49434300046416, 39.12085999987434], [-84.4948430004641, 39.12045999987439], [-84.49564300046401, 39.12015999987439], [-84.49654300046392, 39.11965999987446], [-84.49654300046392, 39.12055999987439], [-84.49694300046387, 39.12075999987434]]], "type": "Polygon"}, "id": "342", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 8.0, "BLOCK": "390610021002023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 840.433, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669402.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046381, 39.114159999874964, -84.49144300046446, 39.12015999987439], "geometry": {"coordinates": [[[-84.49724300046381, 39.116359999874746], [-84.49584300046398, 39.1180599998746], [-84.49444300046413, 39.11805999987461], [-84.49324300046426, 39.1179599998746], [-84.49318700046426, 39.118297999874606], [-84.4930430004643, 39.11915999987451], [-84.49294300046431, 39.12015999987439], [-84.49144300046446, 39.120059999874435], [-84.49184300046443, 39.11755999987466], [-84.49304300046427, 39.1148599998749], [-84.49364300046419, 39.114359999874964], [-84.4944430004641, 39.114159999874964], [-84.49514300046404, 39.11445999987495], [-84.49724300046381, 39.116359999874746]]], "type": "Polygon"}, "id": "343", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 18.0, "AGE_15_19": 11.0, "AGE_18": 178.0, "AGE_20_24": 26.0, "AGE_21": 169.0, "AGE_25_34": 66.0, "AGE_35_44": 41.0, "AGE_45_54": 15.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 9.0, "AP_WHITE": 80.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.05, "BG": "390610019002", "BLACK": 152.0, "BLOCK": "390610019002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3806.8143, "F1_RACE": 239.0, "F2_RACES": 5.0, "FEMALE": 116.0, "FEMALE_18": 90.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 49.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 12.0, "ID": 669426.0, "IN_HOUSEHO": 244.0, "MALE": 128.0, "MALE_18": 88.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 71.0, "NOT_HISPAN": 234.0, "OCCHU_OWNE": 36.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 1.61, "POPULATION": 244.0, "RENTER_SIZ": 2.24, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 77.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046412, 39.1179599998746, -84.49294300046431, 39.120359999874395], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49294300046431, 39.12015999987439], [-84.4930430004643, 39.11915999987451], [-84.49318700046426, 39.118297999874606], [-84.49324300046426, 39.1179599998746], [-84.49444300046413, 39.11805999987461], [-84.49434300046414, 39.11925999987448], [-84.49464300046412, 39.11955999987449], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "344", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 9.0, "AGE_18": 147.0, "AGE_20_24": 36.0, "AGE_21": 132.0, "AGE_25_34": 66.0, "AGE_35_44": 19.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 8.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 4.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.78, "BG": "390610019002", "BLACK": 29.0, "BLOCK": "390610019002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14508.3466, "F1_RACE": 153.0, "F2_RACES": 9.0, "FEMALE": 87.0, "FEMALE_18": 75.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 7.0, "ID": 669452.0, "IN_HOUSEHO": 162.0, "MALE": 75.0, "MALE_18": 72.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 116.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 162.0, "RENTER_SIZ": 1.84, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 118.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49404300046417, 39.12015999987439, -84.49284300046432, 39.12155999987428], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49284300046432, 39.12155999987428], [-84.49294300046431, 39.12015999987439], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "345", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.04, "BG": "390610019002", "BLACK": 8.0, "BLOCK": "390610019002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8653.9404, "F1_RACE": 24.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 5.0, "ID": 669472.0, "IN_HOUSEHO": 25.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49644300046394, 39.121259999874304, -84.49544300046405, 39.12215999987422], "geometry": {"coordinates": [[[-84.49644300046394, 39.121359999874294], [-84.49634300046394, 39.12215999987422], [-84.49585900046401, 39.12210599987421], [-84.49544300046405, 39.12205999987423], [-84.49554300046402, 39.121259999874304], [-84.49598100046398, 39.12130899987431], [-84.49644300046394, 39.121359999874294]]], "type": "Polygon"}, "id": "346", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 9.0, "AGE_20_24": 1.0, "AGE_21": 8.0, "AGE_25_34": 1.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.25, "BG": "390610021002", "BLACK": 13.0, "BLOCK": "390610021002021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4810.0321, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669489.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 13.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49634300046394, 39.12205999987423, -84.49534300046406, 39.122859999874166], "geometry": {"coordinates": [[[-84.49634300046394, 39.12215999987422], [-84.49624300046396, 39.122859999874166], [-84.49564300046403, 39.122859999874166], [-84.49534300046406, 39.122859999874166], [-84.49544300046405, 39.12205999987423], [-84.49585900046401, 39.12210599987421], [-84.49634300046394, 39.12215999987422]]], "type": "Polygon"}, "id": "347", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.0, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002022", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8337.3804, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 7.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669506.0, "IN_HOUSEHO": 21.0, "MALE": 8.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 21.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49554300046402, 39.121259999874304, -84.49494300046409, 39.12205999987423], "geometry": {"coordinates": [[[-84.49554300046402, 39.121259999874304], [-84.49544300046405, 39.12205999987423], [-84.49494300046409, 39.12205999987423], [-84.49504300046408, 39.12125999987431], [-84.49554300046402, 39.121259999874304]]], "type": "Polygon"}, "id": "348", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1350.0419, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 669525.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49504300046408, 39.121259999874304, -84.49454300046415, 39.12205999987423], "geometry": {"coordinates": [[[-84.49504300046408, 39.12125999987431], [-84.49494300046409, 39.12205999987423], [-84.49454300046415, 39.12205999987423], [-84.49454300046415, 39.121259999874304], [-84.49504300046408, 39.12125999987431]]], "type": "Polygon"}, "id": "349", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 24.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.21, "BG": "390610021002", "BLACK": 19.0, "BLOCK": "390610021002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23250.7626, "F1_RACE": 30.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 2.0, "ID": 669542.0, "IN_HOUSEHO": 31.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 31.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49544300046405, 39.12205999987423, -84.49464300046414, 39.12365999987408], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.49464300046414, 39.123559999874075], [-84.49484300046412, 39.122759999874155], [-84.49494300046409, 39.12205999987423], [-84.49544300046405, 39.12205999987423], [-84.49534300046406, 39.122859999874166], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "350", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 0.0, "AGE_21": 3.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 4.0, "BLOCK": "390610021002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1293.472, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 669560.0, "IN_HOUSEHO": 4.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49494300046409, 39.12205999987423, -84.49434300046417, 39.122759999874155], "geometry": {"coordinates": [[[-84.49494300046409, 39.12205999987423], [-84.49484300046412, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.49454300046415, 39.12205999987423], [-84.49494300046409, 39.12205999987423]]], "type": "Polygon"}, "id": "351", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 16.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 7.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.18, "BG": "390610021002", "BLACK": 24.0, "BLOCK": "390610021002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20572.187, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 669580.0, "IN_HOUSEHO": 24.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 24.0, "RENTER_SIZ": 2.14, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49624300046396, 39.122859999874166, -84.49554300046405, 39.12365999987408], "geometry": {"coordinates": [[[-84.49624300046396, 39.122859999874166], [-84.49614300046399, 39.123659999874064], [-84.49554300046405, 39.12365999987408], [-84.49564300046403, 39.122859999874166], [-84.49624300046396, 39.122859999874166]]], "type": "Polygon"}, "id": "352", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.2, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4924, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669597.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 16.0, "RENTER_SIZ": 3.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49564300046403, 39.122859999874166, -84.49524300046409, 39.12365999987408], "geometry": {"coordinates": [[[-84.49564300046403, 39.122859999874166], [-84.49554300046405, 39.12365999987408], [-84.49524300046409, 39.12365999987408], [-84.49534300046406, 39.122859999874166], [-84.49564300046403, 39.122859999874166]]], "type": "Polygon"}, "id": "353", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 14.0, "AGE_20_24": 0.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.4, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27001.427, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 9.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 671022.0, "IN_HOUSEHO": 24.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 24.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49614300046399, 39.123659999874064, -84.49544300046406, 39.124359999874024], "geometry": {"coordinates": [[[-84.49614300046399, 39.123659999874064], [-84.496043000464, 39.124359999874024], [-84.49544300046406, 39.124359999874024], [-84.49554300046405, 39.12365999987408], [-84.49614300046399, 39.123659999874064]]], "type": "Polygon"}, "id": "354", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 40.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 40.0, "BLOCK": "390610021001017", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 27001.7246, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 6.0, "ID": 671040.0, "IN_HOUSEHO": 42.0, "MALE": 14.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 42.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.496043000464, 39.124359999874024, -84.49534300046408, 39.12521199987394], "geometry": {"coordinates": [[[-84.496043000464, 39.124359999874024], [-84.49595400046402, 39.12521199987394], [-84.49534300046408, 39.12515999987395], [-84.49544300046406, 39.124359999874024], [-84.496043000464, 39.124359999874024]]], "type": "Polygon"}, "id": "355", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.2, "BG": "390610021001", "BLACK": 16.0, "BLOCK": "390610021001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8595.9685, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 4.0, "ID": 671057.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 16.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49524300046409, 39.123559999874075, -84.49464300046414, 39.124359999874024], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.4951430004641, 39.124359999874024], [-84.49464300046415, 39.124259999874035], [-84.49464300046414, 39.123559999874075], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "356", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.5, "BG": "390610021001", "BLACK": 4.0, "BLOCK": "390610021001019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4154.1275, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 671075.0, "IN_HOUSEHO": 6.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 47.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 6.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49484300046412, 39.122759999874155, -84.4942430004642, 39.1235599998741], "geometry": {"coordinates": [[[-84.49484300046412, 39.122759999874155], [-84.49464300046414, 39.123559999874075], [-84.4942430004642, 39.1235599998741], [-84.49434300046417, 39.122759999874155], [-84.49484300046412, 39.122759999874155]]], "type": "Polygon"}, "id": "357", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.71, "BG": "390610021002", "BLACK": 11.0, "BLOCK": "390610021002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4822, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 671092.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.123559999874075, -84.4941430004642, 39.124259999874035], "geometry": {"coordinates": [[[-84.49464300046414, 39.123559999874075], [-84.49464300046415, 39.124259999874035], [-84.4941430004642, 39.124259999874035], [-84.4942430004642, 39.1235599998741], [-84.49464300046414, 39.123559999874075]]], "type": "Polygon"}, "id": "358", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 19.0, "AGE_20_24": 0.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610021001", "BLACK": 28.0, "BLOCK": "390610021001020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24001.518, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 671110.0, "IN_HOUSEHO": 28.0, "MALE": 16.0, "MALE_18": 10.0, "MALE_65": 4.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 28.0, "RENTER_SIZ": 2.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49554300046405, 39.12365999987408, -84.4951430004641, 39.124359999874024], "geometry": {"coordinates": [[[-84.49554300046405, 39.12365999987408], [-84.49544300046406, 39.124359999874024], [-84.4951430004641, 39.124359999874024], [-84.49524300046409, 39.12365999987408], [-84.49554300046405, 39.12365999987408]]], "type": "Polygon"}, "id": "359", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.33, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25715.9008, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 5.0, "ID": 671127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 3.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 3.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49544300046406, 39.124359999874024, -84.49504300046412, 39.12515999987397], "geometry": {"coordinates": [[[-84.49544300046406, 39.124359999874024], [-84.49534300046408, 39.12515999987395], [-84.49504300046412, 39.12515999987397], [-84.4951430004641, 39.124359999874024], [-84.49544300046406, 39.124359999874024]]], "type": "Polygon"}, "id": "360", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 1.0, "AGE_21": 3.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 3.0, "BLOCK": "390610021001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3375.2483, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671145.0, "IN_HOUSEHO": 3.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4951430004641, 39.124259999874035, -84.49454300046416, 39.12515999987397], "geometry": {"coordinates": [[[-84.4951430004641, 39.124359999874024], [-84.49504300046412, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49464300046415, 39.124259999874035], [-84.4951430004641, 39.124359999874024]]], "type": "Polygon"}, "id": "361", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 4.0, "AGE_21": 6.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.67, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6907.4625, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 671162.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.124259999874035, -84.49404300046422, 39.12515999987397], "geometry": {"coordinates": [[[-84.49464300046415, 39.124259999874035], [-84.49454300046416, 39.12515999987397], [-84.49404300046422, 39.12515999987397], [-84.4941430004642, 39.124259999874035], [-84.49464300046415, 39.124259999874035]]], "type": "Polygon"}, "id": "362", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 14.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 18.0, "BLOCK": "390610021001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10800.8025, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 7.0, "ID": 671180.0, "IN_HOUSEHO": 18.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 18.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49454300046415, 39.12085999987434, -84.49344300046427, 39.12275999987419], "geometry": {"coordinates": [[[-84.49454300046415, 39.12205999987423], [-84.49434300046417, 39.122759999874155], [-84.49394300046423, 39.122759999874155], [-84.49344300046427, 39.12275999987419], [-84.49354300046426, 39.121759999874264], [-84.49434300046416, 39.12085999987434], [-84.49454300046415, 39.121259999874304], [-84.49454300046415, 39.12205999987423]]], "type": "Polygon"}, "id": "363", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 1.0, "AGE_21": 29.0, "AGE_25_34": 10.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 41.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.47, "BG": "390610021001", "BLACK": 41.0, "BLOCK": "390610021001027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8574.633, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671197.0, "IN_HOUSEHO": 47.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 47.0, "RENTER_SIZ": 2.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49434300046416, 39.120359999874395, -84.49094300046455, 39.12395999987406], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49434300046416, 39.12085999987434], [-84.49354300046426, 39.121759999874264], [-84.49284300046433, 39.12305999987415], [-84.49174300046447, 39.1236599998741], [-84.49114300046453, 39.12385999987407], [-84.49094300046455, 39.12395999987406], [-84.49134300046451, 39.12325999987412], [-84.49234300046437, 39.122159999874235], [-84.49284300046432, 39.12155999987428], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "364", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671217.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49434300046417, 39.122759999874155, -84.49334300046428, 39.1235599998741], "geometry": {"coordinates": [[[-84.4942430004642, 39.1235599998741], [-84.49334300046428, 39.12345999987411], [-84.49344300046427, 39.12275999987419], [-84.49394300046423, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.4942430004642, 39.1235599998741]]], "type": "Polygon"}, "id": "365", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.71, "BG": "390610021001", "BLACK": 9.0, "BLOCK": "390610021001028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4764.9242, "F1_RACE": 10.0, "F2_RACES": 2.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 10.0, "ID": 671240.0, "IN_HOUSEHO": 12.0, "MALE": 7.0, "MALE_18": 6.0, "MALE_65": 3.0, "MEDIAN_AGE": 55.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4942430004642, 39.12345999987411, -84.49324300046429, 39.124259999874035], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.4942430004642, 39.1235599998741], [-84.4941430004642, 39.124259999874035], [-84.49324300046429, 39.12415999987405], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "366", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 18.0, "AGE_20_24": 2.0, "AGE_21": 14.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 3.71, "BG": "390610021001", "BLACK": 26.0, "BLOCK": "390610021001021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10969.3932, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 4.0, "ID": 671258.0, "IN_HOUSEHO": 26.0, "MALE": 15.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 26.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4941430004642, 39.12415999987405, -84.4931430004643, 39.12515999987397], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49314300046431, 39.12505999987396], [-84.4931430004643, 39.12455999987401], [-84.49324300046429, 39.12415999987405], [-84.4941430004642, 39.124259999874035], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "367", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 30.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 3.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 8.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.57, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11503.7908, "F1_RACE": 34.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 671275.0, "IN_HOUSEHO": 36.0, "MALE": 12.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 57.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 36.0, "RENTER_SIZ": 1.47, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49354300046426, 39.121759999874264, -84.49174300046447, 39.12415999987405], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.49324300046429, 39.12415999987405], [-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.1236599998741], [-84.49284300046433, 39.12305999987415], [-84.49354300046426, 39.121759999874264], [-84.49344300046427, 39.12275999987419], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "368", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 1.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.54, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001022", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5241.5001, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 3.0, "ID": 671294.0, "IN_HOUSEHO": 33.0, "MALE": 16.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 33.0, "RENTER_SIZ": 3.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49324300046429, 39.12405999987406, -84.49174300046447, 39.12455999987401], "geometry": {"coordinates": [[[-84.49324300046429, 39.12415999987405], [-84.4931430004643, 39.12455999987401], [-84.49174300046447, 39.12445999987402], [-84.49174300046447, 39.12405999987406], [-84.49324300046429, 39.12415999987405]]], "type": "Polygon"}, "id": "369", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 1.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 923.1415, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671314.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12445999987402, -84.49164300046446, 39.12505999987396], "geometry": {"coordinates": [[[-84.4931430004643, 39.12455999987401], [-84.49314300046431, 39.12505999987396], [-84.49164300046446, 39.12495999987399], [-84.49174300046447, 39.12445999987402], [-84.4931430004643, 39.12455999987401]]], "type": "Polygon"}, "id": "370", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 21.0, "BLOCK": "390610021001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7767.719, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 671331.0, "IN_HOUSEHO": 21.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 21.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49324300046423, 39.112659999875135, -84.4890430004647, 39.120059999874435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.49034300046458, 39.120059999874435], [-84.49044300046458, 39.119859999874464], [-84.49064300046453, 39.11755999987468], [-84.49024300046457, 39.1172599998747], [-84.49044300046457, 39.116859999874734], [-84.4890430004647, 39.11665999987475], [-84.48954300046464, 39.11585999987483], [-84.49114300046446, 39.11445999987497], [-84.49144300046441, 39.11305999987509], [-84.49224300046434, 39.112659999875135], [-84.49314300046423, 39.11305999987508], [-84.49324300046423, 39.11405999987497], [-84.49304300046427, 39.1148599998749], [-84.49184300046443, 39.11755999987466], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "371", "properties": {"AGE_0_5": 34.0, "AGE_10_14": 17.0, "AGE_15_19": 20.0, "AGE_18": 116.0, "AGE_20_24": 19.0, "AGE_21": 105.0, "AGE_25_34": 36.0, "AGE_35_44": 18.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 26.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 161.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 40.0, "AREA": 0.05, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.27, "BG": "390610019001", "BLACK": 159.0, "BLOCK": "390610019001012", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4085.8467, "F1_RACE": 201.0, "F2_RACES": 3.0, "FEMALE": 121.0, "FEMALE_18": 74.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 90.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 90.0, "HU_VACANT": 25.0, "ID": 671366.0, "IN_HOUSEHO": 204.0, "MALE": 83.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 204.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.78, "POPULATION": 204.0, "RENTER_SIZ": 2.39, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 37.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49144300046446, 39.11995999987445, -84.48984300046465, 39.12105999987435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.4913430004645, 39.12105999987435], [-84.48984300046465, 39.12095999987435], [-84.48994300046463, 39.11995999987445], [-84.49034300046458, 39.120059999874435], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "372", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 35.0, "AGE_20_24": 4.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.79, "BG": "390610019001", "BLACK": 33.0, "BLOCK": "390610019001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7979.4739, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671465.0, "IN_HOUSEHO": 34.0, "MALE": 23.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 10.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49044300046457, 39.11665999987475, -84.48834300046478, 39.11745999987466], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.48964300046464, 39.117059999874705], [-84.48954300046465, 39.11745999987466], [-84.48834300046478, 39.11725999987471], [-84.4890430004647, 39.11665999987475], [-84.49044300046457, 39.116859999874734], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "373", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 671484.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49064300046453, 39.117059999874705, -84.48934300046469, 39.119859999874464], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.49064300046453, 39.11755999987468], [-84.49044300046458, 39.119859999874464], [-84.48934300046469, 39.1195599998745], [-84.48954300046465, 39.11745999987466], [-84.48964300046464, 39.117059999874705], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "374", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 181.0, "AGE_20_24": 15.0, "AGE_21": 177.0, "AGE_25_34": 60.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 20.0, "AGE_62": 57.0, "AGE_65": 43.0, "AGE_65_74": 31.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 160.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.12, "AVG_HHSIZE": 1.6, "BG": "390610019001", "BLACK": 24.0, "BLOCK": "390610019001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18460.4258, "F1_RACE": 182.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 80.0, "FEMALE_65": 19.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 71.0, "HOUSEHOLDS": 113.0, "HSNG_UNITS": 124.0, "HU_OCCUPIE": 113.0, "HU_VACANT": 11.0, "ID": 671502.0, "IN_HOUSEHO": 181.0, "MALE": 106.0, "MALE_18": 101.0, "MALE_65": 24.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 155.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 44.0, "OCCHU_RENT": 69.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 187.0, "RENTER_SIZ": 1.51, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 156.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49044300046458, 39.11725999987471, -84.48784300046485, 39.120059999874435], "geometry": {"coordinates": [[[-84.49034300046458, 39.120059999874435], [-84.48994300046463, 39.11995999987445], [-84.4883430004648, 39.119959999874474], [-84.48784300046485, 39.118759999874584], [-84.48794300046484, 39.11825999987461], [-84.48804300046481, 39.11755999987469], [-84.48834300046478, 39.11725999987471], [-84.48954300046465, 39.11745999987466], [-84.48934300046469, 39.1195599998745], [-84.49044300046458, 39.119859999874464], [-84.49034300046458, 39.120059999874435]]], "type": "Polygon"}, "id": "375", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 49.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 17.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 48.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.36, "BG": "390610019001", "BLACK": 2.0, "BLOCK": "390610019001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3631.9362, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 1.0, "ID": 671518.0, "IN_HOUSEHO": 53.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 40.8, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.47, "POPULATION": 53.0, "RENTER_SIZ": 1.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 48.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49294300046431, 39.120059999874435, -84.4913430004645, 39.122159999874235], "geometry": {"coordinates": [[[-84.49294300046431, 39.12015999987439], [-84.49284300046432, 39.12155999987428], [-84.49234300046437, 39.122159999874235], [-84.4913430004645, 39.12205999987426], [-84.4913430004645, 39.12105999987435], [-84.49144300046446, 39.120059999874435], [-84.49294300046431, 39.12015999987439]]], "type": "Polygon"}, "id": "376", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 13.0, "AGE_18": 63.0, "AGE_20_24": 10.0, "AGE_21": 56.0, "AGE_25_34": 18.0, "AGE_35_44": 23.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 27.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.62, "BG": "390610019002", "BLACK": 71.0, "BLOCK": "390610019002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9108.6552, "F1_RACE": 94.0, "F2_RACES": 4.0, "FEMALE": 58.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 22.0, "GROUP_QUAR": 22.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 4.0, "ID": 671540.0, "IN_HOUSEHO": 76.0, "MALE": 40.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 96.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 98.0, "RENTER_SIZ": 2.74, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.4913430004645, 39.12095999987435, -84.48974300046466, 39.12205999987426], "geometry": {"coordinates": [[[-84.4913430004645, 39.12105999987435], [-84.4913430004645, 39.12205999987426], [-84.48974300046466, 39.121959999874264], [-84.48984300046465, 39.12095999987435], [-84.4913430004645, 39.12105999987435]]], "type": "Polygon"}, "id": "377", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.4, "BG": "390610019001", "BLACK": 17.0, "BLOCK": "390610019001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2951.8509, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 671560.0, "IN_HOUSEHO": 17.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 17.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49234300046437, 39.121959999874264, -84.48964300046468, 39.12325999987412], "geometry": {"coordinates": [[[-84.49134300046451, 39.12325999987412], [-84.48964300046468, 39.12315999987414], [-84.48974300046466, 39.121959999874264], [-84.4913430004645, 39.12205999987426], [-84.49234300046437, 39.122159999874235], [-84.49134300046451, 39.12325999987412]]], "type": "Polygon"}, "id": "378", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 14.0, "AGE_15_19": 14.0, "AGE_18": 107.0, "AGE_20_24": 7.0, "AGE_21": 102.0, "AGE_25_34": 14.0, "AGE_35_44": 31.0, "AGE_45_54": 16.0, "AGE_55_59": 11.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 13.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.24, "BG": "390610019001", "BLACK": 130.0, "BLOCK": "390610019001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15459.0754, "F1_RACE": 146.0, "F2_RACES": 2.0, "FEMALE": 84.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 73.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 7.0, "ID": 671577.0, "IN_HOUSEHO": 148.0, "MALE": 64.0, "MALE_18": 47.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 145.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.2, "POPULATION": 148.0, "RENTER_SIZ": 2.07, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.1236599998741, -84.49114300046453, 39.12445999987403], "geometry": {"coordinates": [[[-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.12445999987402], [-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12385999987407], [-84.49174300046447, 39.1236599998741], [-84.49174300046447, 39.12405999987406]]], "type": "Polygon"}, "id": "379", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671596.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.12445999987402, -84.49104300046453, 39.12525999987394], "geometry": {"coordinates": [[[-84.49164300046446, 39.12495999987399], [-84.49154300046447, 39.12525999987394], [-84.49104300046453, 39.12515999987397], [-84.49114300046453, 39.12485999987399], [-84.49114300046453, 39.12445999987403], [-84.49174300046447, 39.12445999987402], [-84.49164300046446, 39.12495999987399]]], "type": "Polygon"}, "id": "380", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 8.0, "AGE_20_24": 2.0, "AGE_21": 6.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.2, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7244.4205, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 9.0, "ID": 671614.0, "IN_HOUSEHO": 11.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 11.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50684300046272, 39.11195999987513, -84.50584300046286, 39.112559999875074], "geometry": {"coordinates": [[[-84.50684300046272, 39.11205999987513], [-84.50674300046276, 39.112559999875074], [-84.50641300046279, 39.11252299987507], [-84.50584300046286, 39.112459999875085], [-84.50594300046285, 39.11195999987513], [-84.50651600046277, 39.11202399987514], [-84.50684300046272, 39.11205999987513]]], "type": "Polygon"}, "id": "381", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 41.0, "AGE_20_24": 3.0, "AGE_21": 41.0, "AGE_25_34": 15.0, "AGE_35_44": 8.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.73, "BG": "390610018001", "BLACK": 7.0, "BLOCK": "390610018001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26427.5833, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 0.0, "ID": 665138.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.61, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50594300046285, 39.11195999987513, -84.50394300046305, 39.112459999875085], "geometry": {"coordinates": [[[-84.50594300046285, 39.11195999987513], [-84.50584300046286, 39.112459999875085], [-84.50394300046305, 39.11235999987508], [-84.50424300046303, 39.11195999987513], [-84.50594300046285, 39.11195999987513]]], "type": "Polygon"}, "id": "382", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 4.0, "AGE_21": 17.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.23, "BG": "390610018001", "BLACK": 17.0, "BLOCK": "390610018001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9547.7662, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 0.0, "ID": 665158.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 29.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 12.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50584300046286, 39.11235999987508, -84.50394300046305, 39.112859999875035], "geometry": {"coordinates": [[[-84.50584300046286, 39.112459999875085], [-84.50584300046286, 39.112859999875035], [-84.50394300046305, 39.112759999875045], [-84.50394300046305, 39.11235999987508], [-84.50584300046286, 39.112459999875085]]], "type": "Polygon"}, "id": "383", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 27.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 13.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.48, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12077.766, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 665175.0, "IN_HOUSEHO": 34.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 34.0, "RENTER_SIZ": 1.56, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 19.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.112759999875045, -84.50384300046308, 39.11365999987494], "geometry": {"coordinates": [[[-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11365999987494], [-84.50967000046245, 39.11361299987495], [-84.50654300046278, 39.11345999987498], [-84.50484300046296, 39.113259999875005], [-84.50384300046308, 39.11325999987501], [-84.50394300046305, 39.112759999875045], [-84.50584300046286, 39.112859999875035], [-84.50664300046277, 39.112959999875024], [-84.50754300046268, 39.112959999875024], [-84.50872100046254, 39.113050999875014], [-84.50884300046253, 39.11305999987503], [-84.50889600046254, 39.113072999874994], [-84.5092430004625, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.51064300046235, 39.11315999987501], [-84.51064300046235, 39.113459999874955]]], "type": "Polygon"}, "id": "384", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 161.0, "AGE_20_24": 16.0, "AGE_21": 154.0, "AGE_25_34": 67.0, "AGE_35_44": 38.0, "AGE_45_54": 15.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 7.0, "AGE_62": 13.0, "AGE_65": 8.0, "AGE_65_74": 3.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 96.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 108.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.09, "AVG_HHSIZE": 1.9, "BG": "390610018001", "BLACK": 95.0, "BLOCK": "390610018001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16653.418, "F1_RACE": 206.0, "F2_RACES": 1.0, "FEMALE": 99.0, "FEMALE_18": 73.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 75.0, "HOUSEHOLDS": 109.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 109.0, "HU_VACANT": 19.0, "ID": 665193.0, "IN_HOUSEHO": 207.0, "MALE": 108.0, "MALE_18": 88.0, "MALE_65": 4.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 63.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 1.57, "POPULATION": 207.0, "RENTER_SIZ": 2.14, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 107.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50754300046268, 39.112459999875085, -84.50584300046286, 39.112959999875024], "geometry": {"coordinates": [[[-84.50754300046268, 39.11255999987504], [-84.50754300046268, 39.112959999875024], [-84.50664300046277, 39.112959999875024], [-84.50584300046286, 39.112859999875035], [-84.50584300046286, 39.112459999875085], [-84.50641300046279, 39.11252299987507], [-84.50674300046276, 39.112559999875074], [-84.50754300046268, 39.11255999987504]]], "type": "Polygon"}, "id": "385", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 74.0, "AGE_20_24": 7.0, "AGE_21": 74.0, "AGE_25_34": 31.0, "AGE_35_44": 13.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 68.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.59, "BG": "390610018001", "BLACK": 9.0, "BLOCK": "390610018001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 30734.8221, "F1_RACE": 78.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 32.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 0.0, "ID": 665219.0, "IN_HOUSEHO": 78.0, "MALE": 44.0, "MALE_18": 42.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.93, "POPULATION": 78.0, "RENTER_SIZ": 1.46, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 68.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.113259999875005, -84.50474300046298, 39.11755999987458], "geometry": {"coordinates": [[[-84.50914300046253, 39.11735999987462], [-84.50874300046257, 39.11755999987458], [-84.50804300046265, 39.1174599998746], [-84.50814300046262, 39.116659999874656], [-84.50714300046275, 39.11655999987471], [-84.50734300046271, 39.11495999987483], [-84.50634300046282, 39.114859999874874], [-84.5064430004628, 39.11435999987489], [-84.50474300046298, 39.11415999987494], [-84.50478100046298, 39.11381799987495], [-84.50484300046296, 39.113259999875005], [-84.50654300046278, 39.11345999987498], [-84.50967000046245, 39.11361299987495], [-84.51064300046235, 39.11365999987494], [-84.51054300046238, 39.11465999987484], [-84.51044300046239, 39.11525899987483], [-84.5103430004624, 39.11575999987474], [-84.5103430004624, 39.116059999874714], [-84.51014300046242, 39.117259999874626], [-84.50964300046249, 39.11725999987464], [-84.50914300046253, 39.11735999987462]]], "type": "Polygon"}, "id": "386", "properties": {"AGE_0_5": 29.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 211.0, "AGE_20_24": 31.0, "AGE_21": 195.0, "AGE_25_34": 58.0, "AGE_35_44": 42.0, "AGE_45_54": 30.0, "AGE_55_59": 6.0, "AGE_5_9": 33.0, "AGE_60_64": 12.0, "AGE_62": 36.0, "AGE_65": 25.0, "AGE_65_74": 11.0, "AGE_75_84": 10.0, "AGE_85": 4.0, "AMINDIAN": 6.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 189.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 10.0, "AP_WHITE": 96.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.9, "AVG_HHSIZE": 2.1, "BG": "390610018002", "BLACK": 186.0, "BLOCK": "390610018002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5712.5373, "F1_RACE": 294.0, "F2_RACES": 4.0, "FEMALE": 167.0, "FEMALE_18": 120.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 70.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 142.0, "HSNG_UNITS": 187.0, "HU_OCCUPIE": 142.0, "HU_VACANT": 45.0, "ID": 665239.0, "IN_HOUSEHO": 298.0, "MALE": 131.0, "MALE_18": 91.0, "MALE_65": 11.0, "MEDIAN_AGE": 28.6, "MSA": "1640", "NH_WHITE": 92.0, "NOT_HISPAN": 298.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 102.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 1.83, "POPULATION": 298.0, "RENTER_SIZ": 2.21, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 92.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50734300046271, 39.114859999874874, -84.50614300046284, 39.11655999987471], "geometry": {"coordinates": [[[-84.50734300046271, 39.11495999987483], [-84.50714300046275, 39.11655999987471], [-84.50614300046284, 39.11655999987471], [-84.50624300046285, 39.115859999874736], [-84.50634300046282, 39.114859999874874], [-84.50734300046271, 39.11495999987483]]], "type": "Polygon"}, "id": "387", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 4.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 8.0, "AGE_21": 55.0, "AGE_25_34": 23.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 14.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 94.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.27, "BG": "390610018002", "BLACK": 2.0, "BLOCK": "390610018002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16084.1922, "F1_RACE": 98.0, "F2_RACES": 0.0, "FEMALE": 57.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 665273.0, "IN_HOUSEHO": 98.0, "MALE": 41.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 94.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 98.0, "RENTER_SIZ": 2.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 94.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5064430004628, 39.11415999987494, -84.504643000463, 39.114859999874874], "geometry": {"coordinates": [[[-84.5064430004628, 39.11435999987489], [-84.50634300046282, 39.114859999874874], [-84.504643000463, 39.11475999987486], [-84.50474300046298, 39.11415999987494], [-84.5064430004628, 39.11435999987489]]], "type": "Polygon"}, "id": "388", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 1.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 6.0, "AGE_21": 34.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.35, "BG": "390610018003", "BLACK": 45.0, "BLOCK": "390610018003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17335.6307, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 665292.0, "IN_HOUSEHO": 61.0, "MALE": 25.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.67, "POPULATION": 61.0, "RENTER_SIZ": 2.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50634300046282, 39.11475999987486, -84.50454300046302, 39.115859999874736], "geometry": {"coordinates": [[[-84.50634300046282, 39.114859999874874], [-84.50624300046285, 39.115859999874736], [-84.50454300046302, 39.11575999987477], [-84.504597000463, 39.11522299987483], [-84.504643000463, 39.11475999987486], [-84.50634300046282, 39.114859999874874]]], "type": "Polygon"}, "id": "389", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 8.0, "AGE_15_19": 69.0, "AGE_18": 189.0, "AGE_20_24": 95.0, "AGE_21": 96.0, "AGE_25_34": 15.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 7.0, "AP_OTHER": 4.0, "AP_WHITE": 157.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.7, "BG": "390610018003", "BLACK": 44.0, "BLOCK": "390610018003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 33790.5296, "F1_RACE": 210.0, "F2_RACES": 4.0, "FEMALE": 119.0, "FEMALE_18": 104.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 160.0, "GROUP_QUAR": 160.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 665309.0, "IN_HOUSEHO": 54.0, "MALE": 95.0, "MALE_18": 85.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.7, "MSA": "1640", "NH_WHITE": 150.0, "NOT_HISPAN": 207.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.8, "POPULATION": 214.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 156.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50624300046285, 39.11565999987479, -84.50354300046311, 39.11655999987471], "geometry": {"coordinates": [[[-84.50454300046302, 39.11575999987477], [-84.50624300046285, 39.115859999874736], [-84.50614300046284, 39.11655999987471], [-84.50354300046313, 39.116359999874724], [-84.50354300046311, 39.11565999987479], [-84.50454300046302, 39.11575999987477]]], "type": "Polygon"}, "id": "390", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 6.0, "AGE_15_19": 16.0, "AGE_18": 73.0, "AGE_20_24": 10.0, "AGE_21": 65.0, "AGE_25_34": 12.0, "AGE_35_44": 20.0, "AGE_45_54": 15.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 35.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.34, "BG": "390610018003", "BLACK": 68.0, "BLOCK": "390610018003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15195.927, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 51.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 7.0, "ID": 665327.0, "IN_HOUSEHO": 103.0, "MALE": 53.0, "MALE_18": 36.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.2, "MSA": "1640", "NH_WHITE": 35.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.95, "POPULATION": 103.0, "RENTER_SIZ": 2.64, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 35.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50484300046296, 39.113259999875005, -84.5037430004631, 39.11415999987494], "geometry": {"coordinates": [[[-84.50484300046296, 39.113259999875005], [-84.50478100046298, 39.11381799987495], [-84.50474300046298, 39.11415999987494], [-84.5037430004631, 39.11415999987494], [-84.50384300046308, 39.11325999987501], [-84.50484300046296, 39.113259999875005]]], "type": "Polygon"}, "id": "391", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 22.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.41, "BG": "390610018002", "BLACK": 6.0, "BLOCK": "390610018002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7199.4118, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 665508.0, "IN_HOUSEHO": 24.0, "MALE": 14.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.14, "POPULATION": 24.0, "RENTER_SIZ": 1.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 18.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50474300046298, 39.11415999987494, -84.5037430004631, 39.11475999987486], "geometry": {"coordinates": [[[-84.50474300046298, 39.11415999987494], [-84.504643000463, 39.11475999987486], [-84.5037430004631, 39.11465999987489], [-84.5037430004631, 39.11415999987494], [-84.50474300046298, 39.11415999987494]]], "type": "Polygon"}, "id": "392", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.2, "BG": "390610018003", "BLACK": 7.0, "BLOCK": "390610018003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5656.7291, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 665526.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 11.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50894300046254, 39.111059999875216, -84.5001430004635, 39.117559999874615], "geometry": {"coordinates": [[[-84.50354300046313, 39.116359999874724], [-84.50374300046313, 39.11735999987465], [-84.50274300046323, 39.11735999987464], [-84.50174300046334, 39.117459999874605], [-84.5001430004635, 39.117559999874615], [-84.50034300046349, 39.11595999987476], [-84.50034300046349, 39.115659999874794], [-84.5017430004633, 39.113559999875015], [-84.50204200046329, 39.11314099987504], [-84.50224300046324, 39.11285999987504], [-84.50339500046312, 39.11121399987522], [-84.5034840004631, 39.1112009998752], [-84.50424300046303, 39.111059999875216], [-84.50511600046293, 39.111270999875174], [-84.50714300046272, 39.11175999987512], [-84.50748200046267, 39.11186199987511], [-84.50811600046262, 39.11204699987508], [-84.50894300046254, 39.112259999875086], [-84.50764300046268, 39.112159999875075], [-84.50684300046272, 39.11205999987513], [-84.50651600046277, 39.11202399987514], [-84.50594300046285, 39.11195999987513], [-84.50424300046303, 39.11195999987513], [-84.50394300046305, 39.11235999987508], [-84.50394300046305, 39.112759999875045], [-84.50384300046308, 39.11325999987501], [-84.5037430004631, 39.11415999987494], [-84.5037430004631, 39.11465999987489], [-84.50354300046311, 39.11565999987479], [-84.50354300046313, 39.116359999874724]]], "type": "Polygon"}, "id": "393", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 5.0, "AGE_18": 249.0, "AGE_20_24": 31.0, "AGE_21": 240.0, "AGE_25_34": 78.0, "AGE_35_44": 69.0, "AGE_45_54": 39.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 3.0, "AP_BLACK": 152.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 107.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610018001", "BLACK": 146.0, "BLOCK": "390610018001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4187.3135, "F1_RACE": 256.0, "F2_RACES": 8.0, "FEMALE": 145.0, "FEMALE_18": 137.0, "FEMALE_65": 9.0, "GQ_INSTITU": 131.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 131.0, "HAWAIIAN": 2.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 7.0, "ID": 665544.0, "IN_HOUSEHO": 133.0, "MALE": 119.0, "MALE_18": 112.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.6, "MSA": "1640", "NH_WHITE": 100.0, "NOT_HISPAN": 263.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.07, "POPULATION": 264.0, "RENTER_SIZ": 1.55, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 100.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.504643000463, 39.11465999987489, -84.50354300046311, 39.11575999987477], "geometry": {"coordinates": [[[-84.504643000463, 39.11475999987486], [-84.504597000463, 39.11522299987483], [-84.50454300046302, 39.11575999987477], [-84.50354300046311, 39.11565999987479], [-84.5037430004631, 39.11465999987489], [-84.504643000463, 39.11475999987486]]], "type": "Polygon"}, "id": "394", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 2.0, "AGE_35_44": 11.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 1.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11748.7157, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 665585.0, "IN_HOUSEHO": 42.0, "MALE": 22.0, "MALE_18": 15.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 2.55, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50224300046324, 39.112759999875045, -84.49944300046359, 39.11755999987462], "geometry": {"coordinates": [[[-84.50184300046328, 39.11285999987504], [-84.50224300046324, 39.11285999987504], [-84.50204200046329, 39.11314099987504], [-84.5017430004633, 39.113559999875015], [-84.50034300046349, 39.115659999874794], [-84.50034300046349, 39.11595999987476], [-84.5001430004635, 39.117559999874615], [-84.49944300046359, 39.11755999987462], [-84.49964300046355, 39.11715999987465], [-84.49974300046355, 39.1169599998747], [-84.50044300046345, 39.114359999874935], [-84.50064300046343, 39.11375999987498], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.113159999875045], [-84.50074300046342, 39.11285999987504], [-84.5008430004634, 39.112759999875045], [-84.50104300046338, 39.11285999987504], [-84.50184300046328, 39.11285999987504]]], "type": "Polygon"}, "id": "395", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002032", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 665602.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50814300046262, 39.11655999987471, -84.50704300046277, 39.117459999874605], "geometry": {"coordinates": [[[-84.50814300046262, 39.116659999874656], [-84.50804300046265, 39.1174599998746], [-84.50704300046277, 39.117459999874605], [-84.50714300046275, 39.11655999987471], [-84.50814300046262, 39.116659999874656]]], "type": "Polygon"}, "id": "396", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 44.0, "AGE_20_24": 7.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.35, "BG": "390610018002", "BLACK": 54.0, "BLOCK": "390610018002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19262.5134, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 2.0, "ID": 665632.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 61.0, "RENTER_SIZ": 2.33, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50874300046257, 39.11735999987464, -84.50594300046288, 39.118259999874546], "geometry": {"coordinates": [[[-84.50804300046265, 39.1174599998746], [-84.50874300046257, 39.11755999987458], [-84.5086430004626, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50594300046288, 39.118059999874546], [-84.50604300046285, 39.11735999987464], [-84.50704300046277, 39.117459999874605], [-84.50804300046265, 39.1174599998746]]], "type": "Polygon"}, "id": "397", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 53.0, "AGE_20_24": 6.0, "AGE_21": 53.0, "AGE_25_34": 15.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 33.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 2.0, "BG": "390610018002", "BLACK": 34.0, "BLOCK": "390610018002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9587.1918, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 5.0, "ID": 665650.0, "IN_HOUSEHO": 68.0, "MALE": 35.0, "MALE_18": 26.0, "MALE_65": 4.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 68.0, "RENTER_SIZ": 2.04, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50854300046262, 39.118059999874546, -84.50574300046291, 39.11985999987439], "geometry": {"coordinates": [[[-84.50854300046262, 39.11965999987441], [-84.50844300046263, 39.11985999987439], [-84.50574300046291, 39.11965999987443], [-84.50594300046288, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.11965999987441]]], "type": "Polygon"}, "id": "398", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 40.0, "AGE_15_19": 129.0, "AGE_18": 39.0, "AGE_20_24": 7.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 159.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.23, "BG": "390610022002", "BLACK": 145.0, "BLOCK": "390610022002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12815.5717, "F1_RACE": 188.0, "F2_RACES": 18.0, "FEMALE": 57.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 169.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 169.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 56.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 26.0, "ID": 665671.0, "IN_HOUSEHO": 37.0, "MALE": 149.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 16.3, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 203.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 206.0, "RENTER_SIZ": 1.23, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 42.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50984300046241, 39.112259999875086, -84.50889600046254, 39.11315999987501], "geometry": {"coordinates": [[[-84.50984300046241, 39.112259999875086], [-84.50964300046245, 39.113159999875], [-84.5092430004625, 39.11315999987501], [-84.50889600046254, 39.113072999874994], [-84.50902300046252, 39.112259999875086], [-84.50934300046248, 39.112259999875086], [-84.50974300046244, 39.112259999875086], [-84.50984300046241, 39.112259999875086]]], "type": "Polygon"}, "id": "399", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 63.0, "AGE_20_24": 9.0, "AGE_21": 60.0, "AGE_25_34": 30.0, "AGE_35_44": 16.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 39.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.51, "BG": "390610018001", "BLACK": 33.0, "BLOCK": "390610018001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 28721.4807, "F1_RACE": 69.0, "F2_RACES": 5.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 13.0, "ID": 654795.0, "IN_HOUSEHO": 74.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 74.0, "RENTER_SIZ": 1.51, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 36.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51244300046214, 39.11235999987505, -84.51144300046225, 39.11365999987494], "geometry": {"coordinates": [[[-84.51234300046217, 39.112759999874996], [-84.51224300046218, 39.11365999987494], [-84.51144300046225, 39.113559999874965], [-84.51154300046225, 39.11235999987505], [-84.5118430004622, 39.11235999987505], [-84.51244300046214, 39.11245999987508], [-84.51234300046217, 39.112759999874996]]], "type": "Polygon"}, "id": "400", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 3.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.08, "BG": "390610017002", "BLACK": 35.0, "BLOCK": "390610017002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13233.9894, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 654816.0, "IN_HOUSEHO": 50.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 50.0, "RENTER_SIZ": 2.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 13.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51234300046217, 39.11435999987488, -84.51194300046222, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51234300046217, 39.11465999987484], [-84.51194300046222, 39.114859999874845], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "401", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610017002", "BLACK": 0.0, "BLOCK": "390610017002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 654853.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51154300046225, 39.112259999875086, -84.51064300046235, 39.113559999874965], "geometry": {"coordinates": [[[-84.51154300046225, 39.11235999987505], [-84.51144300046225, 39.113559999874965], [-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11315999987501], [-84.51074300046233, 39.112259999875086], [-84.51124300046226, 39.11235999987505], [-84.51154300046225, 39.11235999987505]]], "type": "Polygon"}, "id": "402", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 8.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.69, "BG": "390610017002", "BLACK": 36.0, "BLOCK": "390610017002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12246.3169, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 16.0, "ID": 654869.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 18.0, "MALE_65": 3.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 44.0, "RENTER_SIZ": 1.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51224300046218, 39.113459999874955, -84.51054300046238, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51194300046222, 39.114859999874845], [-84.51124300046229, 39.114759999874835], [-84.51054300046238, 39.11465999987484], [-84.51064300046235, 39.11365999987494], [-84.51064300046235, 39.113459999874955], [-84.51144300046225, 39.113559999874965], [-84.51224300046218, 39.11365999987494], [-84.51224300046218, 39.11385999987491], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "403", "properties": {"AGE_0_5": 25.0, "AGE_10_14": 15.0, "AGE_15_19": 17.0, "AGE_18": 67.0, "AGE_20_24": 20.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 22.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 133.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 8.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 3.02, "BG": "390610017002", "BLACK": 133.0, "BLOCK": "390610017002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20337.9547, "F1_RACE": 142.0, "F2_RACES": 0.0, "FEMALE": 93.0, "FEMALE_18": 47.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 5.0, "ID": 654889.0, "IN_HOUSEHO": 142.0, "MALE": 49.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 142.0, "RENTER_SIZ": 3.02, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 8.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51074300046233, 39.112259999875086, -84.50964300046245, 39.11315999987501], "geometry": {"coordinates": [[[-84.51074300046233, 39.112259999875086], [-84.51064300046235, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.50984300046241, 39.112259999875086], [-84.51074300046233, 39.112259999875086]]], "type": "Polygon"}, "id": "404", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 9.0, "AGE_21": 37.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 22.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.7, "AVG_HHSIZE": 1.84, "BG": "390610018001", "BLACK": 23.0, "BLOCK": "390610018001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14524.9091, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 6.0, "ID": 654930.0, "IN_HOUSEHO": 46.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 46.0, "RENTER_SIZ": 1.95, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 21.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51724400046167, 39.11885999987444, -84.51494400046192, 39.120659999874285], "geometry": {"coordinates": [[[-84.51724400046167, 39.11925999987439], [-84.5160440004618, 39.12025999987432], [-84.51574400046184, 39.120659999874285], [-84.5153440004619, 39.12035999987432], [-84.51494400046192, 39.12005999987433], [-84.51544400046188, 39.11965999987435], [-84.51664400046174, 39.11885999987444], [-84.51724400046167, 39.11925999987439]]], "type": "Polygon"}, "id": "405", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 13.0, "AGE_15_19": 4.0, "AGE_18": 78.0, "AGE_20_24": 8.0, "AGE_21": 76.0, "AGE_25_34": 27.0, "AGE_35_44": 21.0, "AGE_45_54": 8.0, "AGE_55_59": 8.0, "AGE_5_9": 11.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 75.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.85, "AVG_HHSIZE": 2.73, "BG": "390610023001", "BLACK": 75.0, "BLOCK": "390610023001017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17728.9634, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 35.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 49.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 654989.0, "IN_HOUSEHO": 60.0, "MALE": 74.0, "MALE_18": 60.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 108.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 109.0, "RENTER_SIZ": 2.81, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51664400046174, 39.11835999987448, -84.51434300046199, 39.12005999987433], "geometry": {"coordinates": [[[-84.51644400046175, 39.118559999874456], [-84.51664400046174, 39.11885999987444], [-84.51544400046188, 39.11965999987435], [-84.51494400046192, 39.12005999987433], [-84.51464300046196, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51484300046194, 39.11925999987439], [-84.51604400046179, 39.11835999987448], [-84.51644400046175, 39.118559999874456]]], "type": "Polygon"}, "id": "406", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 10.0, "AGE_15_19": 7.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 51.0, "AGE_25_34": 19.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.95, "AVG_HHSIZE": 2.69, "BG": "390610023001", "BLACK": 87.0, "BLOCK": "390610023001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16468.1683, "F1_RACE": 94.0, "F2_RACES": 0.0, "FEMALE": 49.0, "FEMALE_18": 28.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 655008.0, "IN_HOUSEHO": 94.0, "MALE": 45.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 94.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 94.0, "RENTER_SIZ": 2.94, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51404300046202, 39.118859999874445, -84.51264300046216, 39.12005999987433], "geometry": {"coordinates": [[[-84.51404300046202, 39.119859999874365], [-84.51374300046204, 39.12005999987433], [-84.51264300046216, 39.11905999987444], [-84.51294300046213, 39.118859999874445], [-84.51404300046202, 39.119859999874365]]], "type": "Polygon"}, "id": "407", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 18.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 21.0, "BLOCK": "390610023001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12980.7644, "F1_RACE": 21.0, "F2_RACES": 4.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 0.0, "ID": 655027.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 25.0, "RENTER_SIZ": 2.11, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51374300046204, 39.11905999987444, -84.51224300046222, 39.12025999987432], "geometry": {"coordinates": [[[-84.51264300046216, 39.11905999987444], [-84.51374300046204, 39.12005999987433], [-84.51344300046208, 39.12025999987432], [-84.51224300046222, 39.11925999987442], [-84.51264300046216, 39.11905999987444]]], "type": "Polygon"}, "id": "408", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 15.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.3, "BG": "390610023001", "BLACK": 20.0, "BLOCK": "390610023001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10706.9148, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655045.0, "IN_HOUSEHO": 23.0, "MALE": 11.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 23.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51574400046184, 39.12035999987432, -84.51384400046206, 39.12305999987405], "geometry": {"coordinates": [[[-84.5153440004619, 39.12035999987432], [-84.51574400046184, 39.120659999874285], [-84.51484400046195, 39.12165999987419], [-84.51444400046199, 39.12305999987405], [-84.51384400046206, 39.123059999874044], [-84.51454400046198, 39.121159999874216], [-84.5153440004619, 39.12035999987432]]], "type": "Polygon"}, "id": "409", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 0.0, "AGE_21": 27.0, "AGE_25_34": 3.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.7, "BG": "390610023001", "BLACK": 17.0, "BLOCK": "390610023001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5980.6488, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 9.0, "ID": 655093.0, "IN_HOUSEHO": 34.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5153440004619, 39.12005999987433, -84.5135430004621, 39.123059999874044], "geometry": {"coordinates": [[[-84.51494400046192, 39.12005999987433], [-84.5153440004619, 39.12035999987432], [-84.51454400046198, 39.121159999874216], [-84.51384400046206, 39.123059999874044], [-84.5135430004621, 39.12295999987407], [-84.51414300046201, 39.121059999874234], [-84.51494400046192, 39.12005999987433]]], "type": "Polygon"}, "id": "410", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 43.0, "AGE_20_24": 6.0, "AGE_21": 39.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 72.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.93, "AVG_HHSIZE": 2.96, "BG": "390610023001", "BLACK": 72.0, "BLOCK": "390610023001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15953.1883, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 655111.0, "IN_HOUSEHO": 74.0, "MALE": 34.0, "MALE_18": 17.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 74.0, "RENTER_SIZ": 3.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51494400046192, 39.11955999987439, -84.51294300046216, 39.12295999987407], "geometry": {"coordinates": [[[-84.51364300046208, 39.12075999987429], [-84.51344300046208, 39.12025999987432], [-84.51374300046204, 39.12005999987433], [-84.51404300046202, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51464300046196, 39.119859999874365], [-84.51494400046192, 39.12005999987433], [-84.51414300046201, 39.121059999874234], [-84.5135430004621, 39.12295999987407], [-84.51304300046216, 39.12295999987407], [-84.51314300046214, 39.12225999987413], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12125999987424], [-84.51364300046208, 39.12075999987429]]], "type": "Polygon"}, "id": "411", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 43.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 15.0, "AGE_60_64": 3.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.83, "BG": "390610023001", "BLACK": 78.0, "BLOCK": "390610023001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8435.8163, "F1_RACE": 81.0, "F2_RACES": 4.0, "FEMALE": 46.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 18.0, "ID": 655128.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.62, "POPULATION": 85.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51604400046179, 39.11465999987484, -84.50874300046257, 39.119859999874365], "geometry": {"coordinates": [[[-84.51194300046222, 39.114859999874845], [-84.51274300046212, 39.11555999987476], [-84.51354300046206, 39.11605999987469], [-84.51434300046198, 39.11685999987463], [-84.51604400046179, 39.11835999987448], [-84.51484300046194, 39.11925999987439], [-84.51434300046199, 39.11955999987439], [-84.51404300046202, 39.119859999874365], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11855999987446], [-84.51204300046221, 39.11905999987444], [-84.51199500046225, 39.119094999874434], [-84.51164300046227, 39.118859999874445], [-84.51152500046227, 39.11883199987446], [-84.5115430004623, 39.11875999987447], [-84.5114430004623, 39.11845999987449], [-84.51164300046227, 39.11775999987456], [-84.51114300046231, 39.11775999987456], [-84.51024300046244, 39.11765999987456], [-84.50874300046257, 39.11755999987458], [-84.50914300046253, 39.11735999987462], [-84.50964300046249, 39.11725999987464], [-84.51014300046242, 39.117259999874626], [-84.5103430004624, 39.116059999874714], [-84.5103430004624, 39.11575999987474], [-84.51044300046239, 39.11525899987483], [-84.51054300046238, 39.11465999987484], [-84.51124300046229, 39.114759999874835], [-84.51194300046222, 39.114859999874845]]], "type": "Polygon"}, "id": "412", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 12.0, "AGE_15_19": 24.0, "AGE_18": 208.0, "AGE_20_24": 35.0, "AGE_21": 191.0, "AGE_25_34": 65.0, "AGE_35_44": 28.0, "AGE_45_54": 41.0, "AGE_55_59": 12.0, "AGE_5_9": 26.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 2.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 2.0, "AP_BLACK": 169.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 108.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.96, "BG": "390610023001", "BLACK": 167.0, "BLOCK": "390610023001011", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4676.5279, "F1_RACE": 273.0, "F2_RACES": 6.0, "FEMALE": 158.0, "FEMALE_18": 117.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 28.0, "GROUP_QUAR": 28.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 80.0, "HOUSEHOLDS": 128.0, "HSNG_UNITS": 165.0, "HU_OCCUPIE": 128.0, "HU_VACANT": 37.0, "ID": 655154.0, "IN_HOUSEHO": 251.0, "MALE": 121.0, "MALE_18": 91.0, "MALE_65": 7.0, "MEDIAN_AGE": 28.9, "MSA": "1640", "NH_WHITE": 103.0, "NOT_HISPAN": 279.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.98, "POPULATION": 279.0, "RENTER_SIZ": 1.95, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 103.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5115430004623, 39.11835999987451, -84.51004300046245, 39.11915999987442], "geometry": {"coordinates": [[[-84.5114430004623, 39.11915999987442], [-84.51004300046245, 39.11905999987446], [-84.51024300046244, 39.11835999987451], [-84.5114430004623, 39.11845999987449], [-84.5115430004623, 39.11875999987447], [-84.51152500046227, 39.11883199987446], [-84.5114430004623, 39.11915999987442]]], "type": "Polygon"}, "id": "413", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 23.0, "AGE_15_19": 22.0, "AGE_18": 107.0, "AGE_20_24": 21.0, "AGE_21": 92.0, "AGE_25_34": 19.0, "AGE_35_44": 25.0, "AGE_45_54": 12.0, "AGE_55_59": 5.0, "AGE_5_9": 25.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 7.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.77, "BG": "390610023001", "BLACK": 180.0, "BLOCK": "390610023001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 54847.5451, "F1_RACE": 186.0, "F2_RACES": 8.0, "FEMALE": 108.0, "FEMALE_18": 65.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 87.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 17.0, "ID": 655191.0, "IN_HOUSEHO": 194.0, "MALE": 86.0, "MALE_18": 42.0, "MALE_65": 4.0, "MEDIAN_AGE": 20.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 192.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 194.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51294300046213, 39.11855999987446, -84.51199500046225, 39.11925999987442], "geometry": {"coordinates": [[[-84.51264300046216, 39.11855999987446], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11905999987444], [-84.51224300046222, 39.11925999987442], [-84.51199500046225, 39.119094999874434], [-84.51204300046221, 39.11905999987444], [-84.51264300046216, 39.11855999987446]]], "type": "Polygon"}, "id": "414", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 18.0, "BLOCK": "390610023001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18411.019, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 2.0, "ID": 655210.0, "IN_HOUSEHO": 20.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51164300046227, 39.11755999987458, -84.5086430004626, 39.11845999987449], "geometry": {"coordinates": [[[-84.51164300046227, 39.11775999987456], [-84.5114430004623, 39.11845999987449], [-84.51024300046244, 39.11835999987451], [-84.51014300046243, 39.11815999987453], [-84.5086430004626, 39.118059999874546], [-84.50874300046257, 39.11755999987458], [-84.51024300046244, 39.11765999987456], [-84.51114300046231, 39.11775999987456], [-84.51164300046227, 39.11775999987456]]], "type": "Polygon"}, "id": "415", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 11.0, "AGE_18": 67.0, "AGE_20_24": 5.0, "AGE_21": 62.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.76, "BG": "390610023001", "BLACK": 104.0, "BLOCK": "390610023001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18052.868, "F1_RACE": 110.0, "F2_RACES": 3.0, "FEMALE": 63.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 41.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 41.0, "HU_VACANT": 23.0, "ID": 655230.0, "IN_HOUSEHO": 113.0, "MALE": 50.0, "MALE_18": 21.0, "MALE_65": 3.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 112.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 113.0, "RENTER_SIZ": 2.49, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 6.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51024300046244, 39.118059999874546, -84.50854300046262, 39.11905999987446], "geometry": {"coordinates": [[[-84.51014300046243, 39.11815999987453], [-84.51024300046244, 39.11835999987451], [-84.51004300046245, 39.11905999987446], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.118259999874546], [-84.5086430004626, 39.118059999874546], [-84.51014300046243, 39.11815999987453]]], "type": "Polygon"}, "id": "416", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.63, "BG": "390610023001", "BLACK": 11.0, "BLOCK": "390610023001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2420.6561, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 655250.0, "IN_HOUSEHO": 13.0, "MALE": 3.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 1.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5114430004623, 39.11905999987446, -84.51004300046245, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.5114430004623, 39.11915999987442], [-84.51134300046232, 39.11975999987437], [-84.51004300046246, 39.11975999987439], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "417", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 1.0, "AGE_21": 16.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.89, "AVG_HHSIZE": 2.9, "BG": "390610023001", "BLACK": 25.0, "BLOCK": "390610023001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8897.7256, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 11.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655269.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.0, "POPULATION": 29.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51004300046246, 39.11895999987447, -84.50854300046262, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.51004300046246, 39.11975999987439], [-84.50854300046262, 39.11965999987441], [-84.50854300046262, 39.11895999987447], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "418", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 6.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 11.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.07, "BG": "390610023001", "BLACK": 57.0, "BLOCK": "390610023001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15428.5444, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 29.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 14.0, "ID": 655287.0, "IN_HOUSEHO": 60.0, "MALE": 27.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.0, "POPULATION": 60.0, "RENTER_SIZ": 1.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51364300046208, 39.11883199987446, -84.50834300046266, 39.1227599998741], "geometry": {"coordinates": [[[-84.51344300046208, 39.12025999987432], [-84.51364300046208, 39.12075999987429], [-84.51314300046214, 39.12125999987424], [-84.51294300046216, 39.121859999874175], [-84.51114300046235, 39.122159999874164], [-84.51074300046238, 39.12235999987413], [-84.50964300046252, 39.12235999987413], [-84.50954300046251, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50904300046258, 39.1227599998741], [-84.50834300046267, 39.12265999987413], [-84.50834300046266, 39.12195999987419], [-84.50834300046266, 39.121459999874226], [-84.50844300046265, 39.120459999874335], [-84.50844300046263, 39.11985999987439], [-84.50854300046262, 39.11965999987441], [-84.51004300046246, 39.11975999987439], [-84.51134300046232, 39.11975999987437], [-84.5114430004623, 39.11915999987442], [-84.51152500046227, 39.11883199987446], [-84.51164300046227, 39.118859999874445], [-84.51199500046225, 39.119094999874434], [-84.51224300046222, 39.11925999987442], [-84.51344300046208, 39.12025999987432]]], "type": "Polygon"}, "id": "419", "properties": {"AGE_0_5": 21.0, "AGE_10_14": 18.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 10.0, "AGE_21": 89.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 26.0, "AGE_65": 24.0, "AGE_65_74": 10.0, "AGE_75_84": 14.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 118.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.81, "BG": "390610023001", "BLACK": 117.0, "BLOCK": "390610023001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3076.3077, "F1_RACE": 149.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 58.0, "FEMALE_65": 11.0, "GQ_INSTITU": 29.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 29.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 655304.0, "IN_HOUSEHO": 121.0, "MALE": 59.0, "MALE_18": 37.0, "MALE_65": 13.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 147.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 150.0, "RENTER_SIZ": 2.76, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50902300046252, 39.112159999875075, -84.50754300046268, 39.113072999874994], "geometry": {"coordinates": [[[-84.50894300046254, 39.112259999875086], [-84.50902300046252, 39.112259999875086], [-84.50889600046254, 39.113072999874994], [-84.50884300046253, 39.11305999987503], [-84.50872100046254, 39.113050999875014], [-84.50754300046268, 39.112959999875024], [-84.50754300046268, 39.11255999987504], [-84.50764300046268, 39.112159999875075], [-84.50894300046254, 39.112259999875086]]], "type": "Polygon"}, "id": "420", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.4, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15123.6404, "F1_RACE": 60.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 3.0, "ID": 663324.0, "IN_HOUSEHO": 63.0, "MALE": 37.0, "MALE_18": 36.0, "MALE_65": 6.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.38, "POPULATION": 63.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 46.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50764300046268, 39.11205999987513, -84.50674300046276, 39.112559999875074], "geometry": {"coordinates": [[[-84.50764300046268, 39.112159999875075], [-84.50754300046268, 39.11255999987504], [-84.50674300046276, 39.112559999875074], [-84.50684300046272, 39.11205999987513], [-84.50764300046268, 39.112159999875075]]], "type": "Polygon"}, "id": "421", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 15.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.6, "BG": "390610018001", "BLACK": 6.0, "BLOCK": "390610018001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24408.4609, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 663344.0, "IN_HOUSEHO": 24.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 32.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 1.4, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 26.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51574400046195, 39.13555999987291, -84.51334400046224, 39.14215999987227], "geometry": {"coordinates": [[[-84.51544400046203, 39.14215999987227], [-84.51514400046204, 39.14195999987231], [-84.51334400046224, 39.14045999987247], [-84.51347700046222, 39.13879699987262], [-84.5135440004622, 39.13795999987269], [-84.51364400046218, 39.13675999987281], [-84.51384400046216, 39.13555999987291], [-84.51474400046204, 39.13565999987291], [-84.515144000462, 39.13585999987289], [-84.51494400046204, 39.1365599998728], [-84.51514400046202, 39.1377599998727], [-84.51574400046195, 39.138259999872645], [-84.51534400046202, 39.13945999987253], [-84.51544400046203, 39.14195999987231], [-84.51544400046203, 39.14215999987227]]], "type": "Polygon"}, "id": "422", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 5.0, "AGE_15_19": 26.0, "AGE_18": 272.0, "AGE_20_24": 94.0, "AGE_21": 235.0, "AGE_25_34": 103.0, "AGE_35_44": 32.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 39.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 7.0, "AP_WHITE": 238.0, "AREA": 0.04, "ASIAN": 31.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.84, "AVG_HHSIZE": 1.64, "BG": "390610030001", "BLACK": 23.0, "BLOCK": "390610030001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8040.7282, "F1_RACE": 292.0, "F2_RACES": 9.0, "FEMALE": 133.0, "FEMALE_18": 115.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 26.0, "GROUP_QUAR": 26.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 136.0, "HOUSEHOLDS": 168.0, "HSNG_UNITS": 197.0, "HU_OCCUPIE": 168.0, "HU_VACANT": 29.0, "ID": 685133.0, "IN_HOUSEHO": 275.0, "MALE": 168.0, "MALE_18": 157.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 228.0, "NOT_HISPAN": 288.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 156.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 3.42, "POPULATION": 301.0, "RENTER_SIZ": 1.5, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 232.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51084400046246, 39.132659999873205, -84.50894300046268, 39.135359999872946], "geometry": {"coordinates": [[[-84.50984300046255, 39.132659999873205], [-84.51004300046255, 39.132659999873205], [-84.51084400046246, 39.132759999873166], [-84.51074400046248, 39.13405999987305], [-84.5106440004625, 39.13485999987298], [-84.51054400046252, 39.135359999872946], [-84.50934300046264, 39.13525999987296], [-84.50894300046268, 39.13515999987295], [-84.50904300046265, 39.133859999873096], [-84.50914300046264, 39.132659999873205], [-84.50984300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "423", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 84.0, "AGE_20_24": 40.0, "AGE_21": 73.0, "AGE_25_34": 20.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 15.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 8.0, "AP_WHITE": 60.0, "AREA": 0.02, "ASIAN": 14.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 2.1, "BG": "390610030002", "BLACK": 20.0, "BLOCK": "390610030002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6418.8255, "F1_RACE": 97.0, "F2_RACES": 8.0, "FEMALE": 44.0, "FEMALE_18": 30.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 9.0, "ID": 685197.0, "IN_HOUSEHO": 105.0, "MALE": 61.0, "MALE_18": 54.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.3, "MSA": "1640", "NH_WHITE": 57.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 43.0, "OTHER_RACE": 6.0, "OWNER_SIZE": 1.14, "POPULATION": 105.0, "RENTER_SIZ": 2.26, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 57.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50914300046264, 39.13255999987321, -84.50834300046274, 39.13385999987311], "geometry": {"coordinates": [[[-84.50914300046264, 39.132659999873205], [-84.50904300046265, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50844300046272, 39.13255999987321], [-84.50914300046264, 39.132659999873205]]], "type": "Polygon"}, "id": "424", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 41.0, "AGE_20_24": 22.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.95, "BG": "390610032002", "BLACK": 11.0, "BLOCK": "390610032002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12581.9809, "F1_RACE": 40.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 4.0, "ID": 685220.0, "IN_HOUSEHO": 41.0, "MALE": 23.0, "MALE_18": 23.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 41.0, "RENTER_SIZ": 2.0, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 25.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49684300046403, 39.13995999987257, -84.49244300046452, 39.14235999987234], "geometry": {"coordinates": [[[-84.49664300046405, 39.14235999987234], [-84.49464300046427, 39.14225999987239], [-84.49464300046427, 39.14195999987242], [-84.49244300046452, 39.141659999872424], [-84.49294300046445, 39.140959999872514], [-84.49354300046437, 39.13995999987257], [-84.49674300046402, 39.14015999987255], [-84.49674300046404, 39.140759999872486], [-84.49684300046403, 39.141159999872464], [-84.49664300046405, 39.14235999987234]]], "type": "Polygon"}, "id": "425", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 42.0, "AGE_15_19": 34.0, "AGE_18": 291.0, "AGE_20_24": 17.0, "AGE_21": 276.0, "AGE_25_34": 58.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 19.0, "AGE_5_9": 59.0, "AGE_60_64": 14.0, "AGE_62": 97.0, "AGE_65": 88.0, "AGE_65_74": 51.0, "AGE_75_84": 27.0, "AGE_85": 10.0, "AMINDIAN": 2.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 440.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 9.0, "AP_WHITE": 18.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.12, "BG": "390610067004", "BLACK": 423.0, "BLOCK": "390610067004005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15992.0043, "F1_RACE": 440.0, "F2_RACES": 18.0, "FEMALE": 251.0, "FEMALE_18": 169.0, "FEMALE_65": 53.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 2.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 216.0, "HSNG_UNITS": 265.0, "HU_OCCUPIE": 216.0, "HU_VACANT": 49.0, "ID": 703088.0, "IN_HOUSEHO": 458.0, "MALE": 207.0, "MALE_18": 122.0, "MALE_65": 35.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 458.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 458.0, "RENTER_SIZ": 2.01, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4960430004641, 39.1366599998729, -84.4903430004647, 39.13945999987263], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.4960430004641, 39.137259999872825], [-84.49544300046415, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.49454300046426, 39.13795999987277], [-84.49114300046465, 39.139459999872614], [-84.49044300046471, 39.13945999987263], [-84.4903430004647, 39.13845999987273], [-84.49124300046462, 39.13785999987278], [-84.49154300046457, 39.1366599998729], [-84.49234300046447, 39.13675999987287], [-84.49374300046433, 39.136759999872865], [-84.49514300046418, 39.13685999987286], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "426", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 10.0, "AGE_15_19": 8.0, "AGE_18": 135.0, "AGE_20_24": 18.0, "AGE_21": 127.0, "AGE_25_34": 30.0, "AGE_35_44": 43.0, "AGE_45_54": 28.0, "AGE_55_59": 2.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 182.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 8, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.05, "BG": "390610034001", "BLACK": 180.0, "BLOCK": "390610034001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5709.7727, "F1_RACE": 184.0, "F2_RACES": 3.0, "FEMALE": 99.0, "FEMALE_18": 68.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 19.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 46.0, "HOUSEHOLDS": 82.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 82.0, "HU_VACANT": 28.0, "ID": 703108.0, "IN_HOUSEHO": 168.0, "MALE": 88.0, "MALE_18": 67.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 187.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.3, "POPULATION": 187.0, "RENTER_SIZ": 2.01, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49524300046419, 39.13795999987277, -84.49094300046467, 39.140959999872514], "geometry": {"coordinates": [[[-84.4949430004642, 39.13855999987269], [-84.49444300046427, 39.139159999872646], [-84.49354300046437, 39.13995999987257], [-84.49294300046445, 39.140959999872514], [-84.49094300046467, 39.140859999872504], [-84.49114300046465, 39.139459999872614], [-84.49454300046426, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.4949430004642, 39.13855999987269]]], "type": "Polygon"}, "id": "427", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 22.0, "AGE_15_19": 26.0, "AGE_18": 139.0, "AGE_20_24": 23.0, "AGE_21": 122.0, "AGE_25_34": 24.0, "AGE_35_44": 34.0, "AGE_45_54": 24.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 2.0, "AGE_62": 20.0, "AGE_65": 19.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 7.0, "AP_BLACK": 219.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.58, "BG": "390610067001", "BLACK": 208.0, "BLOCK": "390610067001006", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9898.6106, "F1_RACE": 221.0, "F2_RACES": 11.0, "FEMALE": 127.0, "FEMALE_18": 88.0, "FEMALE_65": 15.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 10.0, "GROUP_QUAR": 10.0, "HAWAIIAN": 0.0, "HH_FAMILY": 63.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 130.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 44.0, "ID": 703132.0, "IN_HOUSEHO": 222.0, "MALE": 105.0, "MALE_18": 51.0, "MALE_65": 4.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 219.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.84, "POPULATION": 232.0, "RENTER_SIZ": 2.22, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 11.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5055430004631, 39.143859999872156, -84.50414300046327, 39.14555999987203], "geometry": {"coordinates": [[[-84.5055430004631, 39.143859999872156], [-84.50534300046313, 39.14555999987203], [-84.50414300046327, 39.145459999872024], [-84.50422400046327, 39.14481199987206], [-84.50434300046324, 39.14385999987216], [-84.5055430004631, 39.143859999872156]]], "type": "Polygon"}, "id": "428", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 21.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 5.83, "AVG_HHSIZE": 4.75, "BG": "390610069002", "BLACK": 37.0, "BLOCK": "390610069002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5157.6308, "F1_RACE": 37.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 703153.0, "IN_HOUSEHO": 38.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 38.0, "RENTER_SIZ": 3.33, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5096440004627, 39.146459999871915, -84.50524400046316, 39.15095999987151], "geometry": {"coordinates": [[[-84.5096440004627, 39.148759999871686], [-84.50924400046276, 39.150759999871525], [-84.5088440004628, 39.15095999987151], [-84.5077440004629, 39.149759999871605], [-84.50674400046303, 39.14935999987167], [-84.50624400046307, 39.14935999987166], [-84.50606600046308, 39.14934199987168], [-84.50524400046316, 39.14925999987169], [-84.50531600046315, 39.148107999871776], [-84.50534400046317, 39.147659999871806], [-84.50624400046306, 39.14775999987181], [-84.50644400046303, 39.146459999871915], [-84.50714400046296, 39.14655999987191], [-84.50834400046283, 39.147259999871835], [-84.50884400046277, 39.14805999987176], [-84.5096440004627, 39.148759999871686]]], "type": "Polygon"}, "id": "429", "properties": {"AGE_0_5": 40.0, "AGE_10_14": 71.0, "AGE_15_19": 50.0, "AGE_18": 285.0, "AGE_20_24": 25.0, "AGE_21": 258.0, "AGE_25_34": 66.0, "AGE_35_44": 61.0, "AGE_45_54": 48.0, "AGE_55_59": 14.0, "AGE_5_9": 61.0, "AGE_60_64": 6.0, "AGE_62": 53.0, "AGE_65": 49.0, "AGE_65_74": 21.0, "AGE_75_84": 20.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 483.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 10.0, "AREA": 0.04, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.77, "BG": "390610069004", "BLACK": 473.0, "BLOCK": "390610069004000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12535.53, "F1_RACE": 481.0, "F2_RACES": 10.0, "FEMALE": 293.0, "FEMALE_18": 191.0, "FEMALE_65": 34.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 128.0, "HH_NONFAMI": 49.0, "HOUSEHOLDS": 177.0, "HSNG_UNITS": 189.0, "HU_OCCUPIE": 177.0, "HU_VACANT": 12.0, "ID": 703170.0, "IN_HOUSEHO": 491.0, "MALE": 198.0, "MALE_18": 94.0, "MALE_65": 15.0, "MEDIAN_AGE": 24.6, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 488.0, "OCCHU_OWNE": 62.0, "OCCHU_RENT": 115.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.29, "POPULATION": 491.0, "RENTER_SIZ": 3.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50644400046303, 39.14645999987191, -84.50534400046317, 39.14775999987181], "geometry": {"coordinates": [[[-84.50644400046303, 39.146459999871915], [-84.50624400046306, 39.14775999987181], [-84.50534400046317, 39.147659999871806], [-84.50544300046313, 39.14645999987191], [-84.50644400046303, 39.146459999871915]]], "type": "Polygon"}, "id": "430", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 21.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.55, "BG": "390610069004", "BLACK": 32.0, "BLOCK": "390610069004002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8810.7256, "F1_RACE": 37.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 4.0, "ID": 703197.0, "IN_HOUSEHO": 39.0, "MALE": 21.0, "MALE_18": 10.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 39.0, "RENTER_SIZ": 4.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50574300046307, 39.141859999872366, -84.50294300046339, 39.142959999872254], "geometry": {"coordinates": [[[-84.50574300046307, 39.14205999987235], [-84.50564300046308, 39.142959999872254], [-84.50314300046337, 39.14285999987227], [-84.50294300046339, 39.14275999987228], [-84.50304300046336, 39.141859999872366], [-84.50324300046334, 39.14185999987239], [-84.50574300046307, 39.14205999987235]]], "type": "Polygon"}, "id": "431", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 14.0, "AGE_15_19": 11.0, "AGE_18": 93.0, "AGE_20_24": 10.0, "AGE_21": 86.0, "AGE_25_34": 15.0, "AGE_35_44": 31.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 5.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.15, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13478.2777, "F1_RACE": 125.0, "F2_RACES": 4.0, "FEMALE": 64.0, "FEMALE_18": 46.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 79.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 19.0, "ID": 703214.0, "IN_HOUSEHO": 129.0, "MALE": 65.0, "MALE_18": 47.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 129.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.26, "POPULATION": 129.0, "RENTER_SIZ": 2.1, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50564300046308, 39.14285999987227, -84.50304300046338, 39.14385999987216], "geometry": {"coordinates": [[[-84.50564300046308, 39.142959999872254], [-84.5055430004631, 39.143859999872156], [-84.50434300046324, 39.14385999987216], [-84.50340000046334, 39.14378699987218], [-84.50304300046338, 39.14375999987218], [-84.50314300046337, 39.14285999987227], [-84.50564300046308, 39.142959999872254]]], "type": "Polygon"}, "id": "432", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 16.0, "AGE_15_19": 10.0, "AGE_18": 89.0, "AGE_20_24": 9.0, "AGE_21": 84.0, "AGE_25_34": 13.0, "AGE_35_44": 21.0, "AGE_45_54": 13.0, "AGE_55_59": 8.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.47, "BG": "390610069002", "BLACK": 114.0, "BLOCK": "390610069002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14670.7028, "F1_RACE": 125.0, "F2_RACES": 1.0, "FEMALE": 59.0, "FEMALE_18": 44.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 11.0, "ID": 703234.0, "IN_HOUSEHO": 126.0, "MALE": 67.0, "MALE_18": 45.0, "MALE_65": 9.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 126.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 126.0, "RENTER_SIZ": 2.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50434300046324, 39.14375999987218, -84.50294300046342, 39.145459999872024], "geometry": {"coordinates": [[[-84.50434300046324, 39.14385999987216], [-84.50422400046327, 39.14481199987206], [-84.50414300046327, 39.145459999872024], [-84.50294300046342, 39.14535999987205], [-84.50294300046342, 39.145159999872064], [-84.50304300046338, 39.14375999987218], [-84.50340000046334, 39.14378699987218], [-84.50434300046324, 39.14385999987216]]], "type": "Polygon"}, "id": "433", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 12.0, "AGE_45_54": 12.0, "AGE_55_59": 0.0, "AGE_5_9": 17.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.22, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15069.8309, "F1_RACE": 113.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 43.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 8.0, "ID": 703253.0, "IN_HOUSEHO": 113.0, "MALE": 53.0, "MALE_18": 31.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.1, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 113.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 45.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 113.0, "RENTER_SIZ": 2.11, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50304300046336, 39.1416599998724, -84.50024300046367, 39.14275999987228], "geometry": {"coordinates": [[[-84.50294300046339, 39.14275999987228], [-84.50024300046367, 39.1425599998723], [-84.50024300046367, 39.1416599998724], [-84.50304300046336, 39.141859999872366], [-84.50294300046339, 39.14275999987228]]], "type": "Polygon"}, "id": "434", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 66.0, "AGE_20_24": 3.0, "AGE_21": 62.0, "AGE_25_34": 11.0, "AGE_35_44": 15.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 14.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.52, "BG": "390610069002", "BLACK": 64.0, "BLOCK": "390610069002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9021.0236, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 38.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 16.0, "ID": 703271.0, "IN_HOUSEHO": 83.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.1, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.92, "POPULATION": 83.0, "RENTER_SIZ": 2.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50314300046337, 39.1425599998723, -84.50014300046368, 39.14375999987218], "geometry": {"coordinates": [[[-84.50314300046337, 39.14285999987227], [-84.50304300046338, 39.14375999987218], [-84.50014300046368, 39.143559999872224], [-84.50024300046367, 39.1425599998723], [-84.50294300046339, 39.14275999987228], [-84.50314300046337, 39.14285999987227]]], "type": "Polygon"}, "id": "435", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 27.0, "AGE_15_19": 11.0, "AGE_18": 101.0, "AGE_20_24": 20.0, "AGE_21": 91.0, "AGE_25_34": 8.0, "AGE_35_44": 30.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 15.0, "AGE_60_64": 7.0, "AGE_62": 24.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 7.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 163.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.43, "BG": "390610069002", "BLACK": 162.0, "BLOCK": "390610069002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15673.642, "F1_RACE": 167.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 57.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 19.0, "ID": 703289.0, "IN_HOUSEHO": 168.0, "MALE": 77.0, "MALE_18": 44.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 168.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 168.0, "RENTER_SIZ": 3.64, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50304300046338, 39.143559999872224, -84.49994300046373, 39.145159999872064], "geometry": {"coordinates": [[[-84.50304300046338, 39.14375999987218], [-84.50294300046342, 39.145159999872064], [-84.49994300046373, 39.14485999987211], [-84.5000430004637, 39.143959999872195], [-84.50014300046368, 39.143559999872224], [-84.50304300046338, 39.14375999987218]]], "type": "Polygon"}, "id": "436", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 24.0, "AGE_15_19": 19.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 14.0, "AGE_55_59": 1.0, "AGE_5_9": 23.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 11, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.74, "BG": "390610069002", "BLACK": 128.0, "BLOCK": "390610069002004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8747.1976, "F1_RACE": 131.0, "F2_RACES": 0.0, "FEMALE": 68.0, "FEMALE_18": 39.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 703308.0, "IN_HOUSEHO": 131.0, "MALE": 63.0, "MALE_18": 22.0, "MALE_65": 4.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 131.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 131.0, "RENTER_SIZ": 3.93, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.14535999987205, -84.50284300046341, 39.14645999987191], "geometry": {"coordinates": [[[-84.50534300046313, 39.14555999987203], [-84.50544300046313, 39.14645999987191], [-84.5038430004633, 39.14635999987197], [-84.50284300046341, 39.146259999871944], [-84.50294300046342, 39.14535999987205], [-84.50414300046327, 39.145459999872024], [-84.50534300046313, 39.14555999987203]]], "type": "Polygon"}, "id": "437", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 76.0, "AGE_20_24": 6.0, "AGE_21": 71.0, "AGE_25_34": 13.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.3, "BG": "390610069002", "BLACK": 99.0, "BLOCK": "390610069002001", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12794.2932, "F1_RACE": 105.0, "F2_RACES": 3.0, "FEMALE": 53.0, "FEMALE_18": 39.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 703326.0, "IN_HOUSEHO": 108.0, "MALE": 55.0, "MALE_18": 37.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 104.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.17, "POPULATION": 108.0, "RENTER_SIZ": 2.34, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.146259999871944, -84.50264300046345, 39.14925999987169], "geometry": {"coordinates": [[[-84.5038430004633, 39.14635999987197], [-84.50544300046313, 39.14645999987191], [-84.50534400046317, 39.147659999871806], [-84.50531600046315, 39.148107999871776], [-84.50524400046316, 39.14925999987169], [-84.50360700046336, 39.14913399987168], [-84.50264300046345, 39.149059999871696], [-84.50284300046341, 39.146259999871944], [-84.5038430004633, 39.14635999987197]]], "type": "Polygon"}, "id": "438", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 40.0, "AGE_15_19": 22.0, "AGE_18": 189.0, "AGE_20_24": 13.0, "AGE_21": 178.0, "AGE_25_34": 32.0, "AGE_35_44": 50.0, "AGE_45_54": 33.0, "AGE_55_59": 10.0, "AGE_5_9": 28.0, "AGE_60_64": 9.0, "AGE_62": 40.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.53, "BG": "390610069001", "BLACK": 281.0, "BLOCK": "390610069001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10697.4731, "F1_RACE": 285.0, "F2_RACES": 3.0, "FEMALE": 162.0, "FEMALE_18": 110.0, "FEMALE_65": 24.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 114.0, "HSNG_UNITS": 127.0, "HU_OCCUPIE": 114.0, "HU_VACANT": 13.0, "ID": 703346.0, "IN_HOUSEHO": 288.0, "MALE": 126.0, "MALE_18": 79.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 39.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.31, "POPULATION": 288.0, "RENTER_SIZ": 2.64, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50294300046342, 39.14485999987211, -84.49984300046374, 39.146259999871944], "geometry": {"coordinates": [[[-84.50294300046342, 39.14535999987205], [-84.50284300046341, 39.146259999871944], [-84.49984300046374, 39.14605999987198], [-84.49994300046373, 39.14485999987211], [-84.50294300046342, 39.145159999872064], [-84.50294300046342, 39.14535999987205]]], "type": "Polygon"}, "id": "439", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 27.0, "AGE_15_19": 16.0, "AGE_18": 91.0, "AGE_20_24": 10.0, "AGE_21": 84.0, "AGE_25_34": 16.0, "AGE_35_44": 29.0, "AGE_45_54": 7.0, "AGE_55_59": 6.0, "AGE_5_9": 10.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 9.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 2.72, "BG": "390610069002", "BLACK": 155.0, "BLOCK": "390610069002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12013.0464, "F1_RACE": 155.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 47.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 17.0, "ID": 703368.0, "IN_HOUSEHO": 155.0, "MALE": 82.0, "MALE_18": 44.0, "MALE_65": 10.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 155.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.11, "POPULATION": 155.0, "RENTER_SIZ": 2.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50624400046307, 39.149059999871696, -84.50264300046345, 39.150259999871565], "geometry": {"coordinates": [[[-84.50606600046308, 39.14934199987168], [-84.50624400046307, 39.14935999987166], [-84.50614400046308, 39.150259999871565], [-84.50454400046326, 39.15015999987159], [-84.50344300046336, 39.15015999987159], [-84.50284300046344, 39.14975999987163], [-84.50264300046345, 39.149059999871696], [-84.50360700046336, 39.14913399987168], [-84.50524400046316, 39.14925999987169], [-84.50606600046308, 39.14934199987168]]], "type": "Polygon"}, "id": "440", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 68.0, "AGE_20_24": 4.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 14.0, "AGE_45_54": 16.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.31, "BG": "390610069001", "BLACK": 82.0, "BLOCK": "390610069001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6949.0985, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 44.0, "FEMALE_18": 38.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 3.0, "ID": 703387.0, "IN_HOUSEHO": 83.0, "MALE": 39.0, "MALE_18": 30.0, "MALE_65": 7.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 83.0, "RENTER_SIZ": 2.5, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50494400046323, 39.15015999987159, -84.50344300046336, 39.15165999987144], "geometry": {"coordinates": [[[-84.50454400046326, 39.15015999987159], [-84.50454400046326, 39.15125999987151], [-84.50494400046323, 39.15165999987144], [-84.50374300046336, 39.15155999987148], [-84.50344300046336, 39.15015999987159], [-84.50454400046326, 39.15015999987159]]], "type": "Polygon"}, "id": "441", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 43.0, "AGE_20_24": 0.0, "AGE_21": 41.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 14.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610069001", "BLACK": 54.0, "BLOCK": "390610069001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10378.7052, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 25.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 0.0, "ID": 703410.0, "IN_HOUSEHO": 55.0, "MALE": 24.0, "MALE_18": 18.0, "MALE_65": 5.0, "MEDIAN_AGE": 48.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 55.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50924400046277, 39.14605999987198, -84.49794300046398, 39.15545999987109], "geometry": {"coordinates": [[[-84.50604400046315, 39.15485999987118], [-84.50564400046316, 39.15545999987109], [-84.50314400046344, 39.15525999987111], [-84.50244300046353, 39.15485999987118], [-84.50044300046372, 39.15245999987139], [-84.49924300046385, 39.15165999987147], [-84.49794300046398, 39.15045999987158], [-84.49874300046388, 39.14965999987165], [-84.49884300046386, 39.149359999871685], [-84.49904300046383, 39.14605999987199], [-84.49984300046374, 39.14605999987198], [-84.50284300046341, 39.146259999871944], [-84.50264300046345, 39.149059999871696], [-84.50284300046344, 39.14975999987163], [-84.50344300046336, 39.15015999987159], [-84.50374300046336, 39.15155999987148], [-84.50494400046323, 39.15165999987144], [-84.50454400046326, 39.15125999987151], [-84.50454400046326, 39.15015999987159], [-84.50614400046308, 39.150259999871565], [-84.50624400046307, 39.14935999987166], [-84.50674400046303, 39.14935999987167], [-84.5077440004629, 39.149759999871605], [-84.5088440004628, 39.15095999987151], [-84.50924400046277, 39.151459999871456], [-84.50814400046289, 39.152059999871405], [-84.50604400046315, 39.15485999987118]]], "type": "Polygon"}, "id": "442", "properties": {"AGE_0_5": 86.0, "AGE_10_14": 107.0, "AGE_15_19": 69.0, "AGE_18": 1096.0, "AGE_20_24": 76.0, "AGE_21": 1064.0, "AGE_25_34": 181.0, "AGE_35_44": 219.0, "AGE_45_54": 202.0, "AGE_55_59": 77.0, "AGE_5_9": 113.0, "AGE_60_64": 69.0, "AGE_62": 301.0, "AGE_65": 252.0, "AGE_65_74": 150.0, "AGE_75_84": 82.0, "AGE_85": 20.0, "AMINDIAN": 3.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 6.0, "AP_BLACK": 1381.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 13.0, "AP_OTHER": 11.0, "AP_WHITE": 61.0, "AREA": 0.19, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 1.9, "BG": "390610069001", "BLACK": 1368.0, "BLOCK": "390610069001000", "BURGLARY": 7, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7516.6639, "F1_RACE": 1437.0, "F2_RACES": 14.0, "FEMALE": 792.0, "FEMALE_18": 623.0, "FEMALE_65": 158.0, "GQ_INSTITU": 32.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 32.0, "HAWAIIAN": 0.0, "HH_FAMILY": 320.0, "HH_NONFAMI": 425.0, "HOUSEHOLDS": 745.0, "HSNG_UNITS": 840.0, "HU_OCCUPIE": 745.0, "HU_VACANT": 95.0, "ID": 703426.0, "IN_HOUSEHO": 1419.0, "MALE": 659.0, "MALE_18": 473.0, "MALE_65": 94.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 1438.0, "OCCHU_OWNE": 202.0, "OCCHU_RENT": 543.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 2.27, "POPULATION": 1451.0, "RENTER_SIZ": 1.77, "THEFT": 17, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 55.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49984300046371, 39.14125999987244, -84.49884300046381, 39.141559999872406], "geometry": {"coordinates": [[[-84.49884300046381, 39.141559999872406], [-84.49884300046381, 39.14125999987244], [-84.49984300046371, 39.14125999987244], [-84.49974300046372, 39.141559999872406], [-84.49884300046381, 39.141559999872406]]], "type": "Polygon"}, "id": "443", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.29, "BG": "390610067003", "BLACK": 23.0, "BLOCK": "390610067003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21796.2254, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 3.0, "ID": 703460.0, "IN_HOUSEHO": 23.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 23.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50024300046367, 39.141559999872406, -84.49814300046388, 39.143959999872195], "geometry": {"coordinates": [[[-84.50014300046368, 39.143559999872224], [-84.5000430004637, 39.143959999872195], [-84.49884300046384, 39.1438599998722], [-84.49894300046381, 39.14245999987232], [-84.4981430004639, 39.14235999987234], [-84.49814300046388, 39.14155999987243], [-84.49884300046381, 39.141559999872406], [-84.49974300046372, 39.141559999872406], [-84.50024300046367, 39.1416599998724], [-84.50024300046367, 39.1425599998723], [-84.50014300046368, 39.143559999872224]]], "type": "Polygon"}, "id": "444", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.64, "BG": "390610067003", "BLACK": 28.0, "BLOCK": "390610067003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2125.5272, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 32.0, "ID": 703476.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 29.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49894300046381, 39.14235999987234, -84.49794300046392, 39.1438599998722], "geometry": {"coordinates": [[[-84.49894300046381, 39.14245999987232], [-84.49884300046384, 39.1438599998722], [-84.49794300046392, 39.1438599998722], [-84.49794300046392, 39.143159999872275], [-84.4981430004639, 39.14235999987234], [-84.49894300046381, 39.14245999987232]]], "type": "Polygon"}, "id": "445", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 8.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 11.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 66.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.29, "AVG_HHSIZE": 3.53, "BG": "390610067003", "BLACK": 65.0, "BLOCK": "390610067003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13813.8186, "F1_RACE": 66.0, "F2_RACES": 1.0, "FEMALE": 35.0, "FEMALE_18": 21.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 13.0, "ID": 703500.0, "IN_HOUSEHO": 67.0, "MALE": 32.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 67.0, "RENTER_SIZ": 4.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5000430004637, 39.1438599998722, -84.49774300046396, 39.14485999987211], "geometry": {"coordinates": [[[-84.5000430004637, 39.143959999872195], [-84.49994300046373, 39.14485999987211], [-84.49774300046396, 39.144759999872115], [-84.49794300046392, 39.1438599998722], [-84.49884300046384, 39.1438599998722], [-84.5000430004637, 39.143959999872195]]], "type": "Polygon"}, "id": "446", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 41.0, "AGE_20_24": 6.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 4.0, "AGE_55_59": 5.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.83, "BG": "390610067003", "BLACK": 68.0, "BLOCK": "390610067003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9206.2354, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 10.0, "ID": 703519.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.4, "POPULATION": 68.0, "RENTER_SIZ": 2.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49994300046373, 39.144759999872115, -84.49774300046396, 39.14605999987199], "geometry": {"coordinates": [[[-84.49994300046373, 39.14485999987211], [-84.49984300046374, 39.14605999987198], [-84.49904300046383, 39.14605999987199], [-84.49774300046397, 39.145959999872], [-84.49774300046396, 39.144759999872115], [-84.49994300046373, 39.14485999987211]]], "type": "Polygon"}, "id": "447", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.43, "BG": "390610068002", "BLACK": 9.0, "BLOCK": "390610068002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1028.9523, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 2.0, "ID": 703537.0, "IN_HOUSEHO": 10.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 10.0, "RENTER_SIZ": 1.43, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4981430004639, 39.14225999987239, -84.49454300046429, 39.143159999872275], "geometry": {"coordinates": [[[-84.4981430004639, 39.14235999987234], [-84.49794300046392, 39.143159999872275], [-84.49454300046429, 39.142859999872286], [-84.49464300046427, 39.14225999987239], [-84.49664300046405, 39.14235999987234], [-84.4981430004639, 39.14235999987234]]], "type": "Polygon"}, "id": "448", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 25.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 7.0, "AGE_21": 90.0, "AGE_25_34": 22.0, "AGE_35_44": 33.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 29.0, "AGE_60_64": 3.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 1.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 166.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.13, "BG": "390610067003", "BLACK": 166.0, "BLOCK": "390610067003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18917.468, "F1_RACE": 166.0, "F2_RACES": 0.0, "FEMALE": 108.0, "FEMALE_18": 61.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 40.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 53.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 53.0, "HU_VACANT": 16.0, "ID": 703556.0, "IN_HOUSEHO": 166.0, "MALE": 58.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 166.0, "RENTER_SIZ": 3.33, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.144559999872136, -84.49514300046425, 39.145959999872], "geometry": {"coordinates": [[[-84.49774300046396, 39.144759999872115], [-84.49774300046397, 39.145959999872], [-84.49514300046425, 39.14575999987203], [-84.49534300046422, 39.144559999872136], [-84.49774300046396, 39.144759999872115]]], "type": "Polygon"}, "id": "449", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 10.0, "AGE_15_19": 11.0, "AGE_18": 166.0, "AGE_20_24": 16.0, "AGE_21": 152.0, "AGE_25_34": 23.0, "AGE_35_44": 34.0, "AGE_45_54": 37.0, "AGE_55_59": 11.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 32.0, "AGE_65": 29.0, "AGE_65_74": 16.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 203.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.94, "AVG_HHSIZE": 1.51, "BG": "390610068002", "BLACK": 195.0, "BLOCK": "390610068002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18334.4967, "F1_RACE": 197.0, "F2_RACES": 8.0, "FEMALE": 94.0, "FEMALE_18": 79.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 136.0, "HSNG_UNITS": 148.0, "HU_OCCUPIE": 136.0, "HU_VACANT": 12.0, "ID": 703574.0, "IN_HOUSEHO": 205.0, "MALE": 111.0, "MALE_18": 87.0, "MALE_65": 8.0, "MEDIAN_AGE": 40.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 135.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 9.0, "POPULATION": 205.0, "RENTER_SIZ": 1.45, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49904300046383, 39.145959999872, -84.49624300046413, 39.15045999987158], "geometry": {"coordinates": [[[-84.49774300046397, 39.145959999872], [-84.49904300046383, 39.14605999987199], [-84.49884300046386, 39.149359999871685], [-84.49874300046388, 39.14965999987165], [-84.49794300046398, 39.15045999987158], [-84.497643000464, 39.15025999987161], [-84.49704300046406, 39.14965999987167], [-84.49704300046406, 39.148759999871736], [-84.49624300046413, 39.148759999871736], [-84.49644300046413, 39.14835999987178], [-84.49734300046401, 39.147459999871856], [-84.49774300046397, 39.145959999872]]], "type": "Polygon"}, "id": "450", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 19.0, "AGE_15_19": 15.0, "AGE_18": 207.0, "AGE_20_24": 22.0, "AGE_21": 197.0, "AGE_25_34": 23.0, "AGE_35_44": 31.0, "AGE_45_54": 28.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 4.0, "AGE_62": 81.0, "AGE_65": 80.0, "AGE_65_74": 21.0, "AGE_75_84": 34.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 271.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.24, "BG": "390610068002", "BLACK": 268.0, "BLOCK": "390610068002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10353.2885, "F1_RACE": 277.0, "F2_RACES": 3.0, "FEMALE": 178.0, "FEMALE_18": 134.0, "FEMALE_65": 53.0, "GQ_INSTITU": 58.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 58.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 116.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 17.0, "ID": 703592.0, "IN_HOUSEHO": 222.0, "MALE": 102.0, "MALE_18": 73.0, "MALE_65": 27.0, "MEDIAN_AGE": 40.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 280.0, "OCCHU_OWNE": 33.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.45, "POPULATION": 280.0, "RENTER_SIZ": 2.14, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 9.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.142859999872286, -84.49454300046429, 39.1438599998722], "geometry": {"coordinates": [[[-84.49794300046392, 39.143159999872275], [-84.49794300046392, 39.1438599998722], [-84.49454300046429, 39.14355999987227], [-84.49454300046429, 39.142859999872286], [-84.49794300046392, 39.143159999872275]]], "type": "Polygon"}, "id": "451", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 21.0, "AGE_15_19": 16.0, "AGE_18": 96.0, "AGE_20_24": 7.0, "AGE_21": 91.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 14.0, "AGE_55_59": 4.0, "AGE_5_9": 36.0, "AGE_60_64": 7.0, "AGE_62": 12.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 186.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.82, "BG": "390610067003", "BLACK": 180.0, "BLOCK": "390610067003004", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21107.9915, "F1_RACE": 180.0, "F2_RACES": 6.0, "FEMALE": 110.0, "FEMALE_18": 63.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 18.0, "ID": 703612.0, "IN_HOUSEHO": 186.0, "MALE": 76.0, "MALE_18": 33.0, "MALE_65": 2.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 186.0, "RENTER_SIZ": 2.79, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.14355999987227, -84.49434300046431, 39.144759999872115], "geometry": {"coordinates": [[[-84.49794300046392, 39.1438599998722], [-84.49774300046396, 39.144759999872115], [-84.49534300046422, 39.144559999872136], [-84.49434300046431, 39.14445999987216], [-84.49454300046429, 39.14355999987227], [-84.49794300046392, 39.1438599998722]]], "type": "Polygon"}, "id": "452", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 68.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 3.55, "BG": "390610067003", "BLACK": 102.0, "BLOCK": "390610067003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9461.9681, "F1_RACE": 110.0, "F2_RACES": 0.0, "FEMALE": 62.0, "FEMALE_18": 37.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 36.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 5.0, "ID": 703629.0, "IN_HOUSEHO": 110.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.55, "POPULATION": 110.0, "RENTER_SIZ": 3.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046427, 39.141659999872424, -84.49194300046456, 39.142859999872286], "geometry": {"coordinates": [[[-84.49454300046429, 39.142859999872286], [-84.49194300046456, 39.14255999987233], [-84.49224300046454, 39.14215999987238], [-84.49244300046452, 39.141659999872424], [-84.49464300046427, 39.14195999987242], [-84.49464300046427, 39.14225999987239], [-84.49454300046429, 39.142859999872286]]], "type": "Polygon"}, "id": "453", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 85.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.37, "AVG_HHSIZE": 2.61, "BG": "390610067004", "BLACK": 85.0, "BLOCK": "390610067004004", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10415.8913, "F1_RACE": 86.0, "F2_RACES": 0.0, "FEMALE": 54.0, "FEMALE_18": 40.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 7.0, "ID": 703648.0, "IN_HOUSEHO": 86.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 86.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 86.0, "RENTER_SIZ": 3.07, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49454300046429, 39.14255999987233, -84.49104300046467, 39.14445999987216], "geometry": {"coordinates": [[[-84.49454300046429, 39.14355999987227], [-84.49434300046431, 39.14445999987216], [-84.49104300046467, 39.14415999987221], [-84.4915430004646, 39.143159999872296], [-84.49194300046456, 39.14255999987233], [-84.49454300046429, 39.142859999872286], [-84.49454300046429, 39.14355999987227]]], "type": "Polygon"}, "id": "454", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 703666.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49534300046422, 39.14415999987221, -84.49034300046476, 39.14575999987203], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.49404300046436, 39.145659999872066], [-84.49224300046455, 39.14545999987209], [-84.49034300046476, 39.145359999872106], [-84.49054300046475, 39.14495999987214], [-84.49104300046467, 39.14415999987221], [-84.49434300046431, 39.14445999987216], [-84.49534300046422, 39.144559999872136], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "455", "properties": {"AGE_0_5": 35.0, "AGE_10_14": 32.0, "AGE_15_19": 25.0, "AGE_18": 156.0, "AGE_20_24": 23.0, "AGE_21": 139.0, "AGE_25_34": 35.0, "AGE_35_44": 41.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 40.0, "AGE_60_64": 5.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 3.0, "AP_BLACK": 275.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.62, "BG": "390610068002", "BLACK": 270.0, "BLOCK": "390610068002007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13517.0854, "F1_RACE": 271.0, "F2_RACES": 7.0, "FEMALE": 157.0, "FEMALE_18": 104.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 64.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 106.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 106.0, "HU_VACANT": 22.0, "ID": 703686.0, "IN_HOUSEHO": 278.0, "MALE": 121.0, "MALE_18": 52.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 275.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 101.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 278.0, "RENTER_SIZ": 2.67, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.14575999987203, -84.4948430004643, 39.148759999871736], "geometry": {"coordinates": [[[-84.49624300046413, 39.148759999871736], [-84.4948430004643, 39.14865999987177], [-84.4948430004643, 39.14845999987178], [-84.49514300046425, 39.14575999987203], [-84.49774300046397, 39.145959999872], [-84.49734300046401, 39.147459999871856], [-84.49644300046413, 39.14835999987178], [-84.49624300046413, 39.148759999871736]]], "type": "Polygon"}, "id": "456", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 0.0, "AGE_18": 38.0, "AGE_20_24": 4.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.28, "BG": "390610068002", "BLACK": 43.0, "BLOCK": "390610068002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2300.5913, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 3.0, "GQ_INSTITU": 13.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 13.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 7.0, "ID": 703708.0, "IN_HOUSEHO": 41.0, "MALE": 20.0, "MALE_18": 9.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 54.0, "RENTER_SIZ": 2.46, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006800", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}], "type": "FeatureCollection"});\n", + " geo_json_cdee409ba88846818e65865426231e6f_add({"bbox": [-84.53054400046031, 39.111059999875216, -84.46004200046795, 39.15545999987109], "features": [{"bbox": [-84.47864300046585, 39.120659999874455, -84.46864200046697, 39.12675999987392], "geometry": {"coordinates": [[[-84.47834300046591, 39.12445999987407], [-84.47774300046596, 39.12445999987407], [-84.47744300046601, 39.1243599998741], [-84.4766430004661, 39.1243599998741], [-84.47524300046624, 39.12455999987408], [-84.47394300046638, 39.12455999987409], [-84.47224300046658, 39.12535999987403], [-84.47194300046661, 39.12645999987392], [-84.47064200046675, 39.12615999987395], [-84.4703420004668, 39.12625999987395], [-84.46884200046696, 39.12675999987392], [-84.46864200046697, 39.1248599998741], [-84.47188800046659, 39.1234969998742], [-84.47603700046615, 39.12175399987434], [-84.47864300046585, 39.120659999874455], [-84.47854300046589, 39.12185999987432], [-84.47834300046591, 39.12445999987407]]], "type": "Polygon"}, "id": "0", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 9.0, "AGE_18": 459.0, "AGE_20_24": 32.0, "AGE_21": 453.0, "AGE_25_34": 60.0, "AGE_35_44": 53.0, "AGE_45_54": 64.0, "AGE_55_59": 34.0, "AGE_5_9": 6.0, "AGE_60_64": 38.0, "AGE_62": 197.0, "AGE_65": 174.0, "AGE_65_74": 90.0, "AGE_75_84": 62.0, "AGE_85": 22.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 439.0, "AREA": 0.09, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.45, "BG": "390610042002", "BLACK": 32.0, "BLOCK": "390610042002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5384.7901, "F1_RACE": 472.0, "F2_RACES": 7.0, "FEMALE": 258.0, "FEMALE_18": 246.0, "FEMALE_65": 100.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 105.0, "HH_NONFAMI": 225.0, "HOUSEHOLDS": 330.0, "HSNG_UNITS": 361.0, "HU_OCCUPIE": 330.0, "HU_VACANT": 31.0, "ID": 726907.0, "IN_HOUSEHO": 479.0, "MALE": 221.0, "MALE_18": 213.0, "MALE_65": 74.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 430.0, "NOT_HISPAN": 474.0, "OCCHU_OWNE": 245.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.46, "POPULATION": 479.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 433.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5082430004627, 39.12495999987392, -84.50554300046298, 39.126759999873755], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50554300046298, 39.12655999987377], [-84.50564300046297, 39.12495999987392], [-84.50604300046291, 39.125059999873905], [-84.50674300046285, 39.125459999873875], [-84.50824300046268, 39.12555999987385], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "1", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 54.0, "AGE_25_34": 13.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 4.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.73, "AVG_HHSIZE": 2.43, "BG": "390610022004", "BLACK": 66.0, "BLOCK": "390610022004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6643.1423, "F1_RACE": 82.0, "F2_RACES": 3.0, "FEMALE": 46.0, "FEMALE_18": 34.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 0.0, "ID": 695744.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 27.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.22, "POPULATION": 85.0, "RENTER_SIZ": 2.15, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12745999987367, -84.50624300046294, 39.12875999987356], "geometry": {"coordinates": [[[-84.50864300046265, 39.12745999987367], [-84.50844300046269, 39.12795999987365], [-84.50794300046275, 39.12845999987357], [-84.50784300046276, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50624300046294, 39.12865999987357], [-84.50644300046291, 39.12775999987366], [-84.5073430004628, 39.127859999873635], [-84.50864300046265, 39.12745999987367]]], "type": "Polygon"}, "id": "2", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 29.0, "AGE_20_24": 13.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.32, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4326.5018, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 2.0, "ID": 695762.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 29.0, "RENTER_SIZ": 1.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 15.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50564300046297, 39.12495999987392, -84.5045430004631, 39.126559999873784], "geometry": {"coordinates": [[[-84.50564300046297, 39.12495999987392], [-84.50554300046298, 39.12655999987377], [-84.5045430004631, 39.126559999873784], [-84.50474300046305, 39.12495999987392], [-84.50564300046297, 39.12495999987392]]], "type": "Polygon"}, "id": "3", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 17.0, "AGE_18": 78.0, "AGE_20_24": 12.0, "AGE_21": 70.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 4.0, "AGE_62": 6.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610022004", "BLACK": 103.0, "BLOCK": "390610022004002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20784.6991, "F1_RACE": 117.0, "F2_RACES": 0.0, "FEMALE": 58.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 9.0, "ID": 695780.0, "IN_HOUSEHO": 117.0, "MALE": 59.0, "MALE_18": 43.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.8, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 115.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.57, "POPULATION": 117.0, "RENTER_SIZ": 2.25, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50864300046265, 39.12645999987379, -84.50314300046327, 39.128259999873634], "geometry": {"coordinates": [[[-84.5082430004627, 39.126759999873755], [-84.50864300046265, 39.12745999987367], [-84.5073430004628, 39.127859999873635], [-84.50644300046291, 39.12775999987366], [-84.50524300046303, 39.12775999987366], [-84.50454300046312, 39.12795999987365], [-84.50334300046325, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50314300046327, 39.12815999987364], [-84.50324300046324, 39.12735999987369], [-84.50334300046323, 39.12645999987379], [-84.5045430004631, 39.126559999873784], [-84.50554300046298, 39.12655999987377], [-84.5082430004627, 39.126759999873755]]], "type": "Polygon"}, "id": "4", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 90.0, "AGE_20_24": 28.0, "AGE_21": 84.0, "AGE_25_34": 44.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.41, "BG": "390610033001", "BLACK": 39.0, "BLOCK": "390610033001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4019.0506, "F1_RACE": 92.0, "F2_RACES": 4.0, "FEMALE": 45.0, "FEMALE_18": 40.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 1.0, "ID": 695798.0, "IN_HOUSEHO": 96.0, "MALE": 51.0, "MALE_18": 50.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 96.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 52.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50944300046258, 39.12865999987357, -84.50774300046278, 39.13005999987343], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.50774300046278, 39.12995999987345], [-84.50784300046276, 39.12865999987357], [-84.50870500046265, 39.12876799987356], [-84.50944300046258, 39.128859999873555], [-84.50934300046261, 39.13005999987343], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "5", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 41.0, "AGE_20_24": 14.0, "AGE_21": 38.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.88, "BG": "390610033002", "BLACK": 18.0, "BLOCK": "390610033002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5913.7961, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 695823.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 45.0, "RENTER_SIZ": 1.62, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5085430004627, 39.12995999987345, -84.5076430004628, 39.13125999987332], "geometry": {"coordinates": [[[-84.5085430004627, 39.13005999987343], [-84.5084430004627, 39.131259999873315], [-84.5076430004628, 39.13125999987332], [-84.50774300046278, 39.12995999987345], [-84.5085430004627, 39.13005999987343]]], "type": "Polygon"}, "id": "6", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 14.0, "AGE_18": 61.0, "AGE_20_24": 29.0, "AGE_21": 38.0, "AGE_25_34": 8.0, "AGE_35_44": 6.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.31, "BG": "390610033002", "BLACK": 52.0, "BLOCK": "390610033002009", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21764.4799, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 42.0, "FEMALE_18": 32.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 11.0, "ID": 695843.0, "IN_HOUSEHO": 81.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 2.0, "MEDIAN_AGE": 20.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.33, "POPULATION": 81.0, "RENTER_SIZ": 2.52, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 24.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50784300046276, 39.12865999987357, -84.50704300046286, 39.12995999987345], "geometry": {"coordinates": [[[-84.50784300046276, 39.12865999987357], [-84.50774300046278, 39.12995999987345], [-84.50704300046286, 39.12995999987345], [-84.50714300046283, 39.12875999987356], [-84.50784300046276, 39.12865999987357]]], "type": "Polygon"}, "id": "7", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 19.0, "AGE_21": 27.0, "AGE_25_34": 4.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.13, "BG": "390610033002", "BLACK": 4.0, "BLOCK": "390610033002012", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9932.4581, "F1_RACE": 31.0, "F2_RACES": 1.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 695860.0, "IN_HOUSEHO": 32.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.7, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 32.0, "RENTER_SIZ": 2.08, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50714300046283, 39.12865999987357, -84.50614300046294, 39.12995999987345], "geometry": {"coordinates": [[[-84.50704300046286, 39.12995999987345], [-84.50614300046294, 39.129859999873474], [-84.50624300046294, 39.12865999987357], [-84.50714300046283, 39.12875999987356], [-84.50704300046286, 39.12995999987345]]], "type": "Polygon"}, "id": "8", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 41.0, "AGE_20_24": 11.0, "AGE_21": 31.0, "AGE_25_34": 9.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.05, "BG": "390610033002", "BLACK": 2.0, "BLOCK": "390610033002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10157.3434, "F1_RACE": 39.0, "F2_RACES": 2.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 5.0, "ID": 695878.0, "IN_HOUSEHO": 41.0, "MALE": 27.0, "MALE_18": 27.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 41.0, "RENTER_SIZ": 2.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 37.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50774300046278, 39.129859999873474, -84.50604300046297, 39.13125999987332], "geometry": {"coordinates": [[[-84.50774300046278, 39.12995999987345], [-84.5076430004628, 39.13125999987332], [-84.50684300046287, 39.13125999987332], [-84.50604300046297, 39.13115999987337], [-84.50604300046297, 39.130959999873355], [-84.50614300046294, 39.129859999873474], [-84.50704300046286, 39.12995999987345], [-84.50774300046278, 39.12995999987345]]], "type": "Polygon"}, "id": "9", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 12.0, "AGE_18": 72.0, "AGE_20_24": 26.0, "AGE_21": 58.0, "AGE_25_34": 12.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 1.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.07, "BG": "390610033002", "BLACK": 49.0, "BLOCK": "390610033002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11417.4899, "F1_RACE": 83.0, "F2_RACES": 6.0, "FEMALE": 56.0, "FEMALE_18": 43.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 1.0, "ID": 695895.0, "IN_HOUSEHO": 89.0, "MALE": 33.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.6, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 89.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 89.0, "RENTER_SIZ": 3.61, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.131259999873315, -84.50744300046281, 39.13255999987321], "geometry": {"coordinates": [[[-84.5084430004627, 39.131259999873315], [-84.50844300046272, 39.13255999987321], [-84.50744300046281, 39.13245999987321], [-84.5076430004628, 39.13125999987332], [-84.5084430004627, 39.131259999873315]]], "type": "Polygon"}, "id": "10", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 40.0, "AGE_20_24": 21.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.21, "BG": "390610033002", "BLACK": 20.0, "BLOCK": "390610033002002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10037.174, "F1_RACE": 41.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 6.0, "ID": 695916.0, "IN_HOUSEHO": 42.0, "MALE": 30.0, "MALE_18": 29.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 42.0, "RENTER_SIZ": 2.12, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 19.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5076430004628, 39.13125999987332, -84.5066430004629, 39.13245999987321], "geometry": {"coordinates": [[[-84.5076430004628, 39.13125999987332], [-84.50744300046281, 39.13245999987321], [-84.5066430004629, 39.13245999987321], [-84.50684300046287, 39.13125999987332], [-84.5076430004628, 39.13125999987332]]], "type": "Polygon"}, "id": "11", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 59.0, "AGE_20_24": 36.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 6.0, "AP_WHITE": 41.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.27, "BG": "390610033002", "BLACK": 19.0, "BLOCK": "390610033002001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19128.3583, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 23.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 695934.0, "IN_HOUSEHO": 68.0, "MALE": 45.0, "MALE_18": 41.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 65.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.5, "POPULATION": 68.0, "RENTER_SIZ": 2.32, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50744300046281, 39.13245999987321, -84.50654300046293, 39.133859999873096], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50654300046293, 39.13375999987311], [-84.5066430004629, 39.13245999987321], [-84.50744300046281, 39.13245999987321], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "12", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 80.0, "AGE_20_24": 46.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 49.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.91, "BG": "390610032002", "BLACK": 48.0, "BLOCK": "390610032002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24640.7769, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 28.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 8.0, "ID": 695951.0, "IN_HOUSEHO": 99.0, "MALE": 61.0, "MALE_18": 52.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 49.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 99.0, "RENTER_SIZ": 3.59, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 49.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50644300046291, 39.12775999987366, -84.50424300046318, 39.130959999873355], "geometry": {"coordinates": [[[-84.50614300046294, 39.129859999873474], [-84.50604300046297, 39.130959999873355], [-84.50514300046305, 39.130959999873355], [-84.50424300046318, 39.13085999987339], [-84.50454300046312, 39.12795999987365], [-84.50524300046303, 39.12775999987366], [-84.50644300046291, 39.12775999987366], [-84.50624300046294, 39.12865999987357], [-84.50614300046294, 39.129859999873474]]], "type": "Polygon"}, "id": "13", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 15.0, "AGE_15_19": 15.0, "AGE_18": 147.0, "AGE_20_24": 37.0, "AGE_21": 127.0, "AGE_25_34": 39.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 12.0, "AP_WHITE": 86.0, "AREA": 0.02, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.06, "AVG_HHSIZE": 2.29, "BG": "390610033001", "BLACK": 81.0, "BLOCK": "390610033001008", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8786.3934, "F1_RACE": 177.0, "F2_RACES": 7.0, "FEMALE": 80.0, "FEMALE_18": 61.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 18.0, "ID": 695969.0, "IN_HOUSEHO": 179.0, "MALE": 104.0, "MALE_18": 86.0, "MALE_65": 5.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 82.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 55.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 2.74, "POPULATION": 184.0, "RENTER_SIZ": 2.11, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 83.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50684300046287, 39.13115999987337, -84.505843000463, 39.13245999987322], "geometry": {"coordinates": [[[-84.50684300046287, 39.13125999987332], [-84.5066430004629, 39.13245999987321], [-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13175999987331], [-84.50604300046297, 39.13115999987337], [-84.50684300046287, 39.13125999987332]]], "type": "Polygon"}, "id": "14", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 695990.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5066430004629, 39.13245999987321, -84.50574300046303, 39.13375999987311], "geometry": {"coordinates": [[[-84.50654300046293, 39.13375999987311], [-84.50574300046303, 39.1336599998731], [-84.505843000463, 39.13315999987314], [-84.505843000463, 39.13245999987322], [-84.5066430004629, 39.13245999987321], [-84.50654300046293, 39.13375999987311]]], "type": "Polygon"}, "id": "15", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 30.0, "AGE_21": 49.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 33.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.3, "BG": "390610032002", "BLACK": 26.0, "BLOCK": "390610032002010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17261.0752, "F1_RACE": 62.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 696008.0, "IN_HOUSEHO": 62.0, "MALE": 38.0, "MALE_18": 30.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 62.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.86, "POPULATION": 62.0, "RENTER_SIZ": 2.45, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 33.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50604300046297, 39.130959999873355, -84.50504300046309, 39.13175999987331], "geometry": {"coordinates": [[[-84.50604300046297, 39.13115999987337], [-84.505843000463, 39.13175999987331], [-84.50504300046309, 39.131659999873285], [-84.50514300046305, 39.130959999873355], [-84.50604300046297, 39.130959999873355], [-84.50604300046297, 39.13115999987337]]], "type": "Polygon"}, "id": "16", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 27.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 7.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.82, "AVG_HHSIZE": 2.5, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16243.4072, "F1_RACE": 39.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 18.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 696027.0, "IN_HOUSEHO": 40.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 40.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.131659999873285, -84.50504300046309, 39.13245999987322], "geometry": {"coordinates": [[[-84.505843000463, 39.13175999987331], [-84.505843000463, 39.13245999987322], [-84.50504300046309, 39.13235999987324], [-84.50504300046309, 39.131659999873285], [-84.505843000463, 39.13175999987331]]], "type": "Polygon"}, "id": "17", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 11.0, "AGE_21": 19.0, "AGE_25_34": 11.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.53, "BG": "390610033001", "BLACK": 6.0, "BLOCK": "390610033001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11091.2573, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 696046.0, "IN_HOUSEHO": 23.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 23.0, "RENTER_SIZ": 1.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50514300046305, 39.13085999987339, -84.50424300046318, 39.131659999873285], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50424300046318, 39.13155999987331], [-84.50424300046318, 39.13085999987339], [-84.50514300046305, 39.130959999873355], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "18", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 36.0, "AGE_20_24": 10.0, "AGE_21": 33.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 16.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.96, "BG": "390610033001", "BLACK": 28.0, "BLOCK": "390610033001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20253.2817, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 20.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 5.0, "ID": 696063.0, "IN_HOUSEHO": 45.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.95, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 16.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13155999987331, -84.50414300046317, 39.13235999987324], "geometry": {"coordinates": [[[-84.50504300046309, 39.131659999873285], [-84.50504300046309, 39.13235999987324], [-84.50414300046317, 39.13225999987324], [-84.50424300046318, 39.13155999987331], [-84.50504300046309, 39.131659999873285]]], "type": "Polygon"}, "id": "19", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 54.0, "AGE_20_24": 22.0, "AGE_21": 43.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.22, "BG": "390610033001", "BLACK": 33.0, "BLOCK": "390610033001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 26104.6528, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 696081.0, "IN_HOUSEHO": 58.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 58.0, "RENTER_SIZ": 2.71, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 25.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13235999987324, -84.5049430004631, 39.13315999987314], "geometry": {"coordinates": [[[-84.505843000463, 39.13245999987322], [-84.505843000463, 39.13315999987314], [-84.5049430004631, 39.13305999987318], [-84.50504300046309, 39.13235999987324], [-84.505843000463, 39.13245999987322]]], "type": "Polygon"}, "id": "20", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 3.0, "BG": "390610032002", "BLACK": 12.0, "BLOCK": "390610032002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5400.9967, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 696098.0, "IN_HOUSEHO": 12.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 12.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.12485999987395, -84.50334300046323, 39.126559999873784], "geometry": {"coordinates": [[[-84.5045430004631, 39.126559999873784], [-84.50334300046323, 39.12645999987379], [-84.5034430004632, 39.12485999987395], [-84.50474300046305, 39.12495999987392], [-84.5045430004631, 39.126559999873784]]], "type": "Polygon"}, "id": "21", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 112.0, "AGE_20_24": 33.0, "AGE_21": 96.0, "AGE_25_34": 27.0, "AGE_35_44": 18.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 57.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.39, "BG": "390610022004", "BLACK": 61.0, "BLOCK": "390610022004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16616.8953, "F1_RACE": 120.0, "F2_RACES": 4.0, "FEMALE": 44.0, "FEMALE_18": 35.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 16.0, "ID": 696116.0, "IN_HOUSEHO": 124.0, "MALE": 80.0, "MALE_18": 77.0, "MALE_65": 4.0, "MEDIAN_AGE": 26.3, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 80.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 124.0, "RENTER_SIZ": 1.33, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 54.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12485999987395, -84.5025430004633, 39.12645999987379], "geometry": {"coordinates": [[[-84.5034430004632, 39.12485999987395], [-84.50334300046323, 39.12645999987379], [-84.50254300046332, 39.126359999873785], [-84.5025430004633, 39.12485999987396], [-84.5034430004632, 39.12485999987395]]], "type": "Polygon"}, "id": "22", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 1.0, "AGE_35_44": 15.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 7.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.77, "AVG_HHSIZE": 2.04, "BG": "390610022004", "BLACK": 52.0, "BLOCK": "390610022004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10841.8176, "F1_RACE": 52.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 23.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 13.0, "ID": 696133.0, "IN_HOUSEHO": 53.0, "MALE": 23.0, "MALE_18": 17.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.88, "POPULATION": 53.0, "RENTER_SIZ": 1.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50334300046323, 39.126359999873785, -84.5017430004634, 39.12735999987369], "geometry": {"coordinates": [[[-84.50334300046323, 39.12645999987379], [-84.50324300046324, 39.12735999987369], [-84.5018430004634, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.50254300046332, 39.126359999873785], [-84.50334300046323, 39.12645999987379]]], "type": "Polygon"}, "id": "23", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 216.0, "AGE_20_24": 46.0, "AGE_21": 198.0, "AGE_25_34": 53.0, "AGE_35_44": 36.0, "AGE_45_54": 34.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 31.0, "AGE_65": 28.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 11.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 88.0, "AREA": 0.01, "ASIAN": 11.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.26, "BG": "390610033001", "BLACK": 124.0, "BLOCK": "390610033001013", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 43709.5862, "F1_RACE": 218.0, "F2_RACES": 7.0, "FEMALE": 118.0, "FEMALE_18": 112.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 158.0, "HOUSEHOLDS": 178.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 178.0, "HU_VACANT": 15.0, "ID": 696151.0, "IN_HOUSEHO": 225.0, "MALE": 107.0, "MALE_18": 104.0, "MALE_65": 14.0, "MEDIAN_AGE": 34.2, "MSA": "1640", "NH_WHITE": 81.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 178.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 225.0, "RENTER_SIZ": 1.26, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 82.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50254300046332, 39.12475999987396, -84.50174300046339, 39.126359999873806], "geometry": {"coordinates": [[[-84.5025430004633, 39.12485999987396], [-84.50254300046332, 39.126359999873785], [-84.5017430004634, 39.126359999873806], [-84.50194300046337, 39.125159999873944], [-84.50174300046339, 39.12475999987396], [-84.5025430004633, 39.12485999987396]]], "type": "Polygon"}, "id": "24", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610022001", "BLACK": 0.0, "BLOCK": "390610022001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 696169.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51354400046225, 39.14475999987204, -84.51184400046245, 39.14605999987192], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51184400046245, 39.14585999987196], [-84.51194400046242, 39.14475999987204], [-84.51224400046239, 39.14475999987204], [-84.5132440004623, 39.145059999872046], [-84.51354400046225, 39.145259999872], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "25", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 45.0, "AGE_25_34": 5.0, "AGE_35_44": 15.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 6.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.91, "AVG_HHSIZE": 1.93, "BG": "390610069003", "BLACK": 53.0, "BLOCK": "390610069003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9139.2801, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 2.0, "ID": 687545.0, "IN_HOUSEHO": 56.0, "MALE": 28.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 43.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.77, "POPULATION": 56.0, "RENTER_SIZ": 2.06, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51254400046238, 39.14205999987235, -84.50534300046313, 39.14955999987163], "geometry": {"coordinates": [[[-84.51254400046238, 39.1475599998718], [-84.51194400046245, 39.14875999987168], [-84.51114400046254, 39.14955999987163], [-84.5106440004626, 39.14925999987166], [-84.51034400046261, 39.14905999987166], [-84.5096440004627, 39.148759999871686], [-84.50884400046277, 39.14805999987176], [-84.50834400046283, 39.147259999871835], [-84.50714400046296, 39.14655999987191], [-84.50644400046303, 39.146459999871915], [-84.50544300046313, 39.14645999987191], [-84.50534300046313, 39.14555999987203], [-84.5055430004631, 39.143859999872156], [-84.50564300046308, 39.142959999872254], [-84.50574300046307, 39.14205999987235], [-84.5092440004627, 39.142259999872316], [-84.50984400046265, 39.14275999987224], [-84.5101440004626, 39.14305999987221], [-84.51194400046242, 39.14475999987204], [-84.51184400046245, 39.14585999987196], [-84.51164500046248, 39.14754799987178], [-84.51164400046247, 39.1475599998718], [-84.51254400046238, 39.1475599998718]]], "type": "Polygon"}, "id": "26", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 21.0, "AGE_18": 152.0, "AGE_20_24": 12.0, "AGE_21": 148.0, "AGE_25_34": 28.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 11.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 35.0, "AGE_65": 32.0, "AGE_65_74": 18.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 207.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.12, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.61, "BG": "390610069003", "BLACK": 207.0, "BLOCK": "390610069003000", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1820.1248, "F1_RACE": 222.0, "F2_RACES": 0.0, "FEMALE": 122.0, "FEMALE_18": 91.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 85.0, "HSNG_UNITS": 109.0, "HU_OCCUPIE": 85.0, "HU_VACANT": 24.0, "ID": 687585.0, "IN_HOUSEHO": 222.0, "MALE": 100.0, "MALE_18": 61.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 221.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.35, "POPULATION": 222.0, "RENTER_SIZ": 2.88, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51334400046228, 39.14585999987196, -84.51164400046247, 39.1475599998718], "geometry": {"coordinates": [[[-84.51334400046228, 39.14605999987192], [-84.51264400046237, 39.14735999987182], [-84.51254400046238, 39.1475599998718], [-84.51164400046247, 39.1475599998718], [-84.51164500046248, 39.14754799987178], [-84.51184400046245, 39.14585999987196], [-84.51334400046228, 39.14605999987192]]], "type": "Polygon"}, "id": "27", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 11.0, "AGE_15_19": 15.0, "AGE_18": 64.0, "AGE_20_24": 6.0, "AGE_21": 55.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 15.0, "AGE_55_59": 4.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.75, "BG": "390610069003", "BLACK": 94.0, "BLOCK": "390610069003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13605.8656, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 56.0, "FEMALE_18": 39.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 5.0, "ID": 687621.0, "IN_HOUSEHO": 99.0, "MALE": 43.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.04, "POPULATION": 99.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51114400046254, 39.148759999871686, -84.5088440004628, 39.151459999871456], "geometry": {"coordinates": [[[-84.5106440004626, 39.14925999987166], [-84.51114400046254, 39.14955999987163], [-84.51058400046261, 39.15017099987156], [-84.51004400046266, 39.150759999871525], [-84.50924400046277, 39.151459999871456], [-84.5088440004628, 39.15095999987151], [-84.50924400046276, 39.150759999871525], [-84.5096440004627, 39.148759999871686], [-84.51034400046261, 39.14905999987166], [-84.5106440004626, 39.14925999987166]]], "type": "Polygon"}, "id": "28", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 7.0, "AGE_55_59": 5.0, "AGE_5_9": 10.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.13, "BG": "390610069004", "BLACK": 70.0, "BLOCK": "390610069004001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7451.3647, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 25.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 687678.0, "IN_HOUSEHO": 72.0, "MALE": 32.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 72.0, "RENTER_SIZ": 4.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.53054400046031, 39.129559999873415, -84.52194400046125, 39.13445999987294], "geometry": {"coordinates": [[[-84.52954400046043, 39.13215999987317], [-84.52784400046063, 39.13295999987308], [-84.52654400046077, 39.13375999987302], [-84.52644400046078, 39.133959999872985], [-84.5264440004608, 39.13445999987294], [-84.524462000461, 39.13436999987297], [-84.52424400046101, 39.13435999987296], [-84.52284400046116, 39.13435999987296], [-84.52294400046114, 39.13295999987311], [-84.52301200046112, 39.1321479998732], [-84.52304400046114, 39.131759999873225], [-84.52194400046125, 39.13165999987322], [-84.52234400046119, 39.129559999873415], [-84.52374400046105, 39.129659999873425], [-84.52444400046097, 39.129659999873425], [-84.52534400046086, 39.12975999987339], [-84.5259440004608, 39.12975999987339], [-84.52674400046072, 39.12985999987338], [-84.5269440004607, 39.12985999987338], [-84.5279120004606, 39.129940999873355], [-84.53054400046031, 39.130159999873335], [-84.53034400046035, 39.13085999987328], [-84.5279440004606, 39.1307599998733], [-84.52774400046063, 39.132059999873164], [-84.52794400046061, 39.13195999987317], [-84.52954400046043, 39.13215999987317]]], "type": "Polygon"}, "id": "29", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 61.0, "AGE_18": 624.0, "AGE_20_24": 272.0, "AGE_21": 520.0, "AGE_25_34": 128.0, "AGE_35_44": 59.0, "AGE_45_54": 58.0, "AGE_55_59": 12.0, "AGE_5_9": 14.0, "AGE_60_64": 11.0, "AGE_62": 52.0, "AGE_65": 44.0, "AGE_65_74": 23.0, "AGE_75_84": 14.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 25.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 590.0, "AREA": 0.1, "ASIAN": 23.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.76, "BG": "390610029003", "BLACK": 69.0, "BLOCK": "390610029003000", "BURGLARY": 10, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7170.8735, "F1_RACE": 666.0, "F2_RACES": 22.0, "FEMALE": 284.0, "FEMALE_18": 250.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 119.0, "GROUP_QUAR": 119.0, "HAWAIIAN": 0.0, "HH_FAMILY": 73.0, "HH_NONFAMI": 250.0, "HOUSEHOLDS": 323.0, "HSNG_UNITS": 358.0, "HU_OCCUPIE": 323.0, "HU_VACANT": 35.0, "ID": 677316.0, "IN_HOUSEHO": 569.0, "MALE": 404.0, "MALE_18": 374.0, "MALE_65": 16.0, "MEDIAN_AGE": 24.1, "MSA": "1640", "NH_WHITE": 570.0, "NOT_HISPAN": 684.0, "OCCHU_OWNE": 74.0, "OCCHU_RENT": 249.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.93, "POPULATION": 688.0, "RENTER_SIZ": 1.71, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 572.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12385999987407, -84.49054300046461, 39.12485999987399], "geometry": {"coordinates": [[[-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12485999987399], [-84.49054300046461, 39.12475999987402], [-84.49094300046455, 39.12395999987406], [-84.49114300046453, 39.12385999987407], [-84.49114300046453, 39.12445999987403]]], "type": "Polygon"}, "id": "30", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 750.053, "F1_RACE": 0.0, "F2_RACES": 1.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 673099.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48994300046463, 39.11995999987445, -84.48814300046483, 39.121959999874264], "geometry": {"coordinates": [[[-84.48984300046465, 39.12095999987435], [-84.48974300046466, 39.121959999874264], [-84.48814300046483, 39.121859999874275], [-84.48814300046483, 39.1216599998743], [-84.4883430004648, 39.119959999874474], [-84.48994300046463, 39.11995999987445], [-84.48984300046465, 39.12095999987435]]], "type": "Polygon"}, "id": "31", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 105.0, "AGE_20_24": 7.0, "AGE_21": 101.0, "AGE_25_34": 36.0, "AGE_35_44": 23.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 5.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 67.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 62.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.86, "BG": "390610019001", "BLACK": 67.0, "BLOCK": "390610019001005", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11143.0829, "F1_RACE": 128.0, "F2_RACES": 2.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 14.0, "ID": 673118.0, "IN_HOUSEHO": 130.0, "MALE": 67.0, "MALE_18": 57.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.0, "MSA": "1640", "NH_WHITE": 60.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.88, "POPULATION": 130.0, "RENTER_SIZ": 1.85, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 60.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49134300046451, 39.12315999987414, -84.48914300046475, 39.12495999987399], "geometry": {"coordinates": [[[-84.48964300046468, 39.12315999987414], [-84.49134300046451, 39.12325999987412], [-84.49094300046455, 39.12395999987406], [-84.49054300046461, 39.12475999987402], [-84.49044300046461, 39.12495999987399], [-84.48914300046475, 39.124859999874], [-84.48914300046475, 39.123859999874085], [-84.48964300046468, 39.12315999987414]]], "type": "Polygon"}, "id": "32", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 63.0, "AGE_20_24": 2.0, "AGE_21": 63.0, "AGE_25_34": 6.0, "AGE_35_44": 15.0, "AGE_45_54": 20.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 61.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.33, "BG": "390610019001", "BLACK": 61.0, "BLOCK": "390610019001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6453.8469, "F1_RACE": 67.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 7.0, "ID": 673138.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 37.0, "MALE_65": 8.0, "MEDIAN_AGE": 48.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 68.0, "RENTER_SIZ": 1.17, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48974300046466, 39.121859999874275, -84.48784300046489, 39.124859999874026], "geometry": {"coordinates": [[[-84.48974300046466, 39.121959999874264], [-84.48964300046468, 39.12315999987414], [-84.48914300046475, 39.123859999874085], [-84.48914300046475, 39.124859999874], [-84.48784300046489, 39.124859999874026], [-84.48784300046489, 39.12445999987403], [-84.48814300046483, 39.121859999874275], [-84.48974300046466, 39.121959999874264]]], "type": "Polygon"}, "id": "33", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 13.0, "AGE_15_19": 0.0, "AGE_18": 166.0, "AGE_20_24": 13.0, "AGE_21": 162.0, "AGE_25_34": 39.0, "AGE_35_44": 39.0, "AGE_45_54": 37.0, "AGE_55_59": 10.0, "AGE_5_9": 5.0, "AGE_60_64": 11.0, "AGE_62": 24.0, "AGE_65": 17.0, "AGE_65_74": 11.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 124.0, "AP_HAWAIIA": 9.0, "AP_HISPANI": 1.0, "AP_OTHER": 8.0, "AP_WHITE": 57.0, "AREA": 0.02, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.52, "BG": "390610019001", "BLACK": 122.0, "BLOCK": "390610019001002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11986.7841, "F1_RACE": 182.0, "F2_RACES": 10.0, "FEMALE": 90.0, "FEMALE_18": 78.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 1.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 99.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 9.0, "ID": 673157.0, "IN_HOUSEHO": 186.0, "MALE": 102.0, "MALE_18": 88.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 99.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.04, "POPULATION": 192.0, "RENTER_SIZ": 1.4, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 55.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11755999987469, -84.48694300046495, 39.119959999874474], "geometry": {"coordinates": [[[-84.48804300046481, 39.11755999987469], [-84.48794300046484, 39.11825999987461], [-84.48784300046485, 39.118759999874584], [-84.4883430004648, 39.119959999874474], [-84.48694300046495, 39.11915999987453], [-84.48744300046488, 39.11825999987463], [-84.48804300046481, 39.11755999987469]]], "type": "Polygon"}, "id": "34", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 673193.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4883430004648, 39.11915999987453, -84.48654300046502, 39.1216599998743], "geometry": {"coordinates": [[[-84.4883430004648, 39.119959999874474], [-84.48814300046483, 39.1216599998743], [-84.48654300046502, 39.1215599998743], [-84.486643000465, 39.11975999987448], [-84.48694300046495, 39.11915999987453], [-84.4883430004648, 39.119959999874474]]], "type": "Polygon"}, "id": "35", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 2.0, "AGE_15_19": 7.0, "AGE_18": 217.0, "AGE_20_24": 35.0, "AGE_21": 208.0, "AGE_25_34": 72.0, "AGE_35_44": 29.0, "AGE_45_54": 21.0, "AGE_55_59": 9.0, "AGE_5_9": 2.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 39.0, "AGE_65_74": 9.0, "AGE_75_84": 15.0, "AGE_85": 15.0, "AMINDIAN": 2.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 2.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 3.0, "AP_WHITE": 163.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.48, "BG": "390610020002", "BLACK": 59.0, "BLOCK": "390610020002006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18000.3183, "F1_RACE": 225.0, "F2_RACES": 5.0, "FEMALE": 119.0, "FEMALE_18": 111.0, "FEMALE_65": 24.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 29.0, "HH_NONFAMI": 101.0, "HOUSEHOLDS": 130.0, "HSNG_UNITS": 140.0, "HU_OCCUPIE": 130.0, "HU_VACANT": 10.0, "ID": 673212.0, "IN_HOUSEHO": 192.0, "MALE": 111.0, "MALE_18": 106.0, "MALE_65": 15.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 160.0, "NOT_HISPAN": 223.0, "OCCHU_OWNE": 32.0, "OCCHU_RENT": 98.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.84, "POPULATION": 230.0, "RENTER_SIZ": 1.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 160.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48694300046495, 39.118459999874595, -84.48474300046519, 39.120659999874405], "geometry": {"coordinates": [[[-84.48694300046495, 39.11915999987453], [-84.486643000465, 39.11975999987448], [-84.48564300046509, 39.11975999987448], [-84.48544300046511, 39.11985999987447], [-84.48514300046514, 39.120659999874405], [-84.48474300046519, 39.11995999987449], [-84.48474300046519, 39.119159999874555], [-84.48534300046512, 39.11865999987457], [-84.48555500046508, 39.118617999874594], [-84.486343000465, 39.118459999874595], [-84.48694300046495, 39.11915999987453]]], "type": "Polygon"}, "id": "36", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 219.0, "AGE_20_24": 6.0, "AGE_21": 218.0, "AGE_25_34": 15.0, "AGE_35_44": 15.0, "AGE_45_54": 37.0, "AGE_55_59": 15.0, "AGE_5_9": 1.0, "AGE_60_64": 13.0, "AGE_62": 125.0, "AGE_65": 118.0, "AGE_65_74": 46.0, "AGE_75_84": 58.0, "AGE_85": 14.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 197.0, "AREA": 0.01, "ASIAN": 5.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.27, "BG": "390610020002", "BLACK": 18.0, "BLOCK": "390610020002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23114.5895, "F1_RACE": 220.0, "F2_RACES": 0.0, "FEMALE": 118.0, "FEMALE_18": 118.0, "FEMALE_65": 68.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 135.0, "HOUSEHOLDS": 173.0, "HSNG_UNITS": 188.0, "HU_OCCUPIE": 173.0, "HU_VACANT": 15.0, "ID": 673231.0, "IN_HOUSEHO": 220.0, "MALE": 102.0, "MALE_18": 101.0, "MALE_65": 50.0, "MEDIAN_AGE": 68.3, "MSA": "1640", "NH_WHITE": 197.0, "NOT_HISPAN": 220.0, "OCCHU_OWNE": 24.0, "OCCHU_RENT": 149.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.46, "POPULATION": 220.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 197.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.486643000465, 39.11975999987448, -84.48514300046514, 39.12225999987424], "geometry": {"coordinates": [[[-84.48654300046502, 39.1215599998743], [-84.48644300046502, 39.12225999987424], [-84.48614300046505, 39.12215999987426], [-84.48514300046514, 39.121059999874355], [-84.48514300046514, 39.120659999874405], [-84.48544300046511, 39.11985999987447], [-84.48564300046509, 39.11975999987448], [-84.486643000465, 39.11975999987448], [-84.48654300046502, 39.1215599998743]]], "type": "Polygon"}, "id": "37", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 99.0, "AGE_20_24": 16.0, "AGE_21": 93.0, "AGE_25_34": 43.0, "AGE_35_44": 13.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 68.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.5, "BG": "390610020002", "BLACK": 35.0, "BLOCK": "390610020002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10681.4877, "F1_RACE": 104.0, "F2_RACES": 4.0, "FEMALE": 52.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 86.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 14.0, "ID": 673252.0, "IN_HOUSEHO": 108.0, "MALE": 56.0, "MALE_18": 52.0, "MALE_65": 5.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 66.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 108.0, "RENTER_SIZ": 1.37, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 66.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48814300046483, 39.1215599998743, -84.48614300046508, 39.12445999987403], "geometry": {"coordinates": [[[-84.48814300046483, 39.121859999874275], [-84.48784300046489, 39.12445999987403], [-84.48614300046508, 39.12435999987406], [-84.48644300046502, 39.12225999987424], [-84.48654300046502, 39.1215599998743], [-84.48814300046483, 39.1216599998743], [-84.48814300046483, 39.121859999874275]]], "type": "Polygon"}, "id": "38", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 138.0, "AGE_20_24": 13.0, "AGE_21": 130.0, "AGE_25_34": 45.0, "AGE_35_44": 28.0, "AGE_45_54": 16.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 4.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 65.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 4.0, "AP_OTHER": 2.0, "AP_WHITE": 84.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.42, "AVG_HHSIZE": 1.52, "BG": "390610020002", "BLACK": 58.0, "BLOCK": "390610020002002", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8645.0376, "F1_RACE": 142.0, "F2_RACES": 8.0, "FEMALE": 68.0, "FEMALE_18": 63.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 30.0, "GROUP_QUAR": 30.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 85.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 6.0, "ID": 673272.0, "IN_HOUSEHO": 120.0, "MALE": 82.0, "MALE_18": 75.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 78.0, "NOT_HISPAN": 146.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.85, "POPULATION": 150.0, "RENTER_SIZ": 1.45, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 78.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48784300046489, 39.12435999987406, -84.48604300046509, 39.125459999873954], "geometry": {"coordinates": [[[-84.48784300046489, 39.12445999987403], [-84.48784300046489, 39.124859999874026], [-84.4877430004649, 39.125459999873954], [-84.48604300046509, 39.125359999873965], [-84.48614300046508, 39.12435999987406], [-84.48784300046489, 39.12445999987403]]], "type": "Polygon"}, "id": "39", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 60.0, "AGE_20_24": 6.0, "AGE_21": 56.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 8.0, "AGE_55_59": 5.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 6.0, "AP_BLACK": 49.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.57, "BG": "390610020002", "BLACK": 49.0, "BLOCK": "390610020002001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11237.8312, "F1_RACE": 72.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 13.0, "ID": 673292.0, "IN_HOUSEHO": 72.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 5.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 72.0, "RENTER_SIZ": 1.45, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 15.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48614300046505, 39.121059999874355, -84.48484300046519, 39.12215999987427], "geometry": {"coordinates": [[[-84.48514300046514, 39.121059999874355], [-84.48614300046505, 39.12215999987426], [-84.48534300046515, 39.12215999987427], [-84.48484300046519, 39.12205999987428], [-84.48514300046514, 39.121059999874355]]], "type": "Polygon"}, "id": "40", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 7.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 3.0, "BLOCK": "390610020002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5361.8973, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 673311.0, "IN_HOUSEHO": 14.0, "MALE": 8.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 14.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48644300046502, 39.12215999987426, -84.48504300046518, 39.12435999987406], "geometry": {"coordinates": [[[-84.48614300046505, 39.12215999987426], [-84.48644300046502, 39.12225999987424], [-84.48614300046508, 39.12435999987406], [-84.48504300046518, 39.12425999987408], [-84.48534300046515, 39.12215999987427], [-84.48614300046505, 39.12215999987426]]], "type": "Polygon"}, "id": "41", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 126.0, "AGE_20_24": 14.0, "AGE_21": 124.0, "AGE_25_34": 47.0, "AGE_35_44": 22.0, "AGE_45_54": 22.0, "AGE_55_59": 6.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 111.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 1.56, "BG": "390610020002", "BLACK": 24.0, "BLOCK": "390610020002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15769.7309, "F1_RACE": 131.0, "F2_RACES": 8.0, "FEMALE": 75.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 89.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 89.0, "HU_VACANT": 7.0, "ID": 673328.0, "IN_HOUSEHO": 139.0, "MALE": 64.0, "MALE_18": 59.0, "MALE_65": 4.0, "MEDIAN_AGE": 32.6, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 138.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 89.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 139.0, "RENTER_SIZ": 1.56, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 105.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48614300046508, 39.12425999987408, -84.48504300046518, 39.125359999873965], "geometry": {"coordinates": [[[-84.48604300046509, 39.125359999873965], [-84.48504300046518, 39.12525999987396], [-84.48504300046518, 39.12425999987408], [-84.48614300046508, 39.12435999987406], [-84.48604300046509, 39.125359999873965]]], "type": "Polygon"}, "id": "42", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 65.0, "AGE_20_24": 6.0, "AGE_21": 63.0, "AGE_25_34": 27.0, "AGE_35_44": 16.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 5.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 1.81, "BG": "390610020002", "BLACK": 52.0, "BLOCK": "390610020002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21499.33, "F1_RACE": 83.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 44.0, "FEMALE_65": 0.0, "GQ_INSTITU": 19.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 28.0, "ID": 673347.0, "IN_HOUSEHO": 65.0, "MALE": 33.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.4, "POPULATION": 84.0, "RENTER_SIZ": 1.96, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 31.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48534300046515, 39.12205999987428, -84.48434300046526, 39.12525999987396], "geometry": {"coordinates": [[[-84.48504300046518, 39.12425999987408], [-84.48504300046518, 39.12525999987396], [-84.48434300046526, 39.125159999874], [-84.48484300046519, 39.12205999987428], [-84.48534300046515, 39.12215999987427], [-84.48504300046518, 39.12425999987408]]], "type": "Polygon"}, "id": "43", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610020001", "BLACK": 0.0, "BLOCK": "390610020001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 771.4783, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 673364.0, "IN_HOUSEHO": 5.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 5.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 5.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.12145999987434, -84.48254300046544, 39.12205999987428], "geometry": {"coordinates": [[[-84.48374300046531, 39.12175999987431], [-84.48384300046531, 39.12205999987428], [-84.48254300046544, 39.121959999874285], [-84.48264300046543, 39.12145999987434], [-84.48374300046531, 39.12175999987431]]], "type": "Polygon"}, "id": "44", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 4.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.38, "BG": "390610020001", "BLACK": 3.0, "BLOCK": "390610020001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6187.701, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 673383.0, "IN_HOUSEHO": 11.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 58.3, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 11.0, "RENTER_SIZ": 1.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 8.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48384300046531, 39.121959999874285, -84.48224300046549, 39.123859999874114], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48224300046549, 39.123659999874135], [-84.48254300046544, 39.121959999874285], [-84.48384300046531, 39.12205999987428], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "45", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 47.0, "AGE_20_24": 8.0, "AGE_21": 46.0, "AGE_25_34": 15.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 36.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.61, "BG": "390610020001", "BLACK": 14.0, "BLOCK": "390610020001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6509.2387, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 673399.0, "IN_HOUSEHO": 45.0, "MALE": 21.0, "MALE_18": 21.0, "MALE_65": 4.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 54.0, "RENTER_SIZ": 1.39, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 36.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48484300046519, 39.12205999987428, -84.48324300046541, 39.125159999874015], "geometry": {"coordinates": [[[-84.48484300046519, 39.12205999987428], [-84.48434300046526, 39.125159999874], [-84.48324300046541, 39.125159999874015], [-84.48344300046536, 39.123859999874114], [-84.48384300046531, 39.12205999987428], [-84.48484300046519, 39.12205999987428]]], "type": "Polygon"}, "id": "46", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 75.0, "AGE_20_24": 9.0, "AGE_21": 67.0, "AGE_25_34": 31.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 56.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.13, "AVG_HHSIZE": 1.26, "BG": "390610020001", "BLACK": 20.0, "BLOCK": "390610020001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6234.2304, "F1_RACE": 75.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 28.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 11.0, "ID": 673417.0, "IN_HOUSEHO": 77.0, "MALE": 47.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.4, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 76.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 77.0, "RENTER_SIZ": 1.24, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 54.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48344300046536, 39.123659999874135, -84.48194300046555, 39.12515999987403], "geometry": {"coordinates": [[[-84.48344300046536, 39.123859999874114], [-84.48324300046541, 39.125159999874015], [-84.48294300046541, 39.12515999987403], [-84.48194300046555, 39.12495999987402], [-84.48224300046549, 39.123659999874135], [-84.48344300046536, 39.123859999874114]]], "type": "Polygon"}, "id": "47", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 23.0, "AGE_20_24": 4.0, "AGE_21": 21.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610020001", "BLACK": 8.0, "BLOCK": "390610020001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4117.5953, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 14.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 673436.0, "IN_HOUSEHO": 26.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 26.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002000", "WHITE": 18.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.486343000465, 39.11735999987473, -84.47834300046591, 39.124659999874055], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.47994300046574, 39.12345999987416], [-84.47964300046577, 39.124659999874055], [-84.47834300046591, 39.12445999987407], [-84.47854300046589, 39.12185999987432], [-84.47864300046585, 39.120659999874455], [-84.48484300046516, 39.11735999987473], [-84.48574300046508, 39.118159999874635], [-84.486343000465, 39.118459999874595], [-84.48555500046508, 39.118617999874594], [-84.48534300046512, 39.11865999987457], [-84.48474300046519, 39.119159999874555], [-84.48474300046519, 39.11995999987449], [-84.48514300046514, 39.120659999874405], [-84.48514300046514, 39.121059999874355], [-84.48484300046519, 39.12205999987428], [-84.48384300046531, 39.12205999987428], [-84.48374300046531, 39.12175999987431], [-84.48264300046543, 39.12145999987434], [-84.48254300046544, 39.121959999874285], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "48", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 10.0, "AGE_18": 378.0, "AGE_20_24": 31.0, "AGE_21": 369.0, "AGE_25_34": 110.0, "AGE_35_44": 53.0, "AGE_45_54": 59.0, "AGE_55_59": 30.0, "AGE_5_9": 5.0, "AGE_60_64": 18.0, "AGE_62": 86.0, "AGE_65": 75.0, "AGE_65_74": 52.0, "AGE_75_84": 21.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 7.0, "AP_WHITE": 316.0, "AREA": 0.1, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 73.0, "BLOCK": "390610020001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4075.5769, "F1_RACE": 400.0, "F2_RACES": 8.0, "FEMALE": 226.0, "FEMALE_18": 209.0, "FEMALE_65": 50.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 34.0, "GROUP_QUAR": 34.0, "HAWAIIAN": 0.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 155.0, "HOUSEHOLDS": 238.0, "HSNG_UNITS": 282.0, "HU_OCCUPIE": 238.0, "HU_VACANT": 44.0, "ID": 673454.0, "IN_HOUSEHO": 374.0, "MALE": 182.0, "MALE_18": 169.0, "MALE_65": 25.0, "MEDIAN_AGE": 41.7, "MSA": "1640", "NH_WHITE": 304.0, "NOT_HISPAN": 399.0, "OCCHU_OWNE": 90.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 1.76, "POPULATION": 408.0, "RENTER_SIZ": 1.46, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 310.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48224300046549, 39.12345999987416, -84.47964300046577, 39.12495999987402], "geometry": {"coordinates": [[[-84.48224300046549, 39.123659999874135], [-84.48194300046555, 39.12495999987402], [-84.48154300046558, 39.12495999987402], [-84.4803430004657, 39.124859999874054], [-84.47964300046577, 39.124659999874055], [-84.47994300046574, 39.12345999987416], [-84.48224300046549, 39.123659999874135]]], "type": "Polygon"}, "id": "49", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 37.0, "AGE_20_24": 0.0, "AGE_21": 37.0, "AGE_25_34": 5.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 20.0, "AGE_65": 20.0, "AGE_65_74": 6.0, "AGE_75_84": 6.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.57, "BG": "390610020001", "BLACK": 6.0, "BLOCK": "390610020001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3315.2547, "F1_RACE": 38.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 28.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 16.0, "GROUP_QUAR": 16.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 673484.0, "IN_HOUSEHO": 22.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 68.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 38.0, "RENTER_SIZ": 1.57, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002000", "WHITE": 32.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.12675999987384, -84.48264300046547, 39.128859999873676], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48334300046541, 39.12855999987368], [-84.48264300046549, 39.128859999873676], [-84.48264300046547, 39.12805999987371], [-84.48284300046545, 39.12685999987385], [-84.48434300046527, 39.12675999987384], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "50", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 9.0, "AGE_18": 123.0, "AGE_20_24": 9.0, "AGE_21": 118.0, "AGE_25_34": 19.0, "AGE_35_44": 36.0, "AGE_45_54": 18.0, "AGE_55_59": 10.0, "AGE_5_9": 17.0, "AGE_60_64": 1.0, "AGE_62": 28.0, "AGE_65": 27.0, "AGE_65_74": 18.0, "AGE_75_84": 4.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 5.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 1.9, "BG": "390610037001", "BLACK": 154.0, "BLOCK": "390610037001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19383.9789, "F1_RACE": 167.0, "F2_RACES": 6.0, "FEMALE": 81.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 60.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 5.0, "ID": 709180.0, "IN_HOUSEHO": 173.0, "MALE": 92.0, "MALE_18": 63.0, "MALE_65": 15.0, "MEDIAN_AGE": 36.9, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 167.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.33, "POPULATION": 173.0, "RENTER_SIZ": 1.8, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4842430004653, 39.12765999987374, -84.48334300046541, 39.12855999987368], "geometry": {"coordinates": [[[-84.4842430004653, 39.12765999987374], [-84.48414300046532, 39.128459999873684], [-84.48334300046541, 39.12855999987368], [-84.4842430004653, 39.12765999987374]]], "type": "Polygon"}, "id": "51", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709200.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48414300046532, 39.128459999873684, -84.48334300046541, 39.129459999873596], "geometry": {"coordinates": [[[-84.48414300046532, 39.129259999873604], [-84.48404300046533, 39.129459999873596], [-84.48334300046541, 39.12935999987361], [-84.48334300046541, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.48414300046532, 39.129259999873604]]], "type": "Polygon"}, "id": "52", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 377.6733, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 2.0, "ID": 709217.0, "IN_HOUSEHO": 1.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 51.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48334300046541, 39.12855999987368, -84.4825430004655, 39.12935999987361], "geometry": {"coordinates": [[[-84.48334300046541, 39.12855999987368], [-84.48334300046541, 39.12935999987361], [-84.48304300046544, 39.12935999987361], [-84.4825430004655, 39.12935999987361], [-84.48264300046549, 39.128859999873676], [-84.48334300046541, 39.12855999987368]]], "type": "Polygon"}, "id": "53", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 2.0, "BLOCK": "390610037003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1125.1529, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 709235.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 1.0, "MEDIAN_AGE": 83.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48154300046558, 39.124859999874054, -84.4786430004659, 39.12685999987386], "geometry": {"coordinates": [[[-84.48154300046558, 39.12495999987402], [-84.48134300046561, 39.12685999987385], [-84.47924300046583, 39.12675999987387], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.126059999873924], [-84.4803430004657, 39.124859999874054], [-84.48154300046558, 39.12495999987402]]], "type": "Polygon"}, "id": "54", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709254.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48284300046545, 39.12675999987387, -84.47804300046597, 39.12805999987371], "geometry": {"coordinates": [[[-84.48284300046545, 39.12685999987385], [-84.48264300046547, 39.12805999987371], [-84.47804300046597, 39.12745999987382], [-84.47824300046594, 39.12725999987383], [-84.4786430004659, 39.12685999987386], [-84.47924300046583, 39.12675999987387], [-84.48134300046561, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48284300046545, 39.12685999987385]]], "type": "Polygon"}, "id": "55", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 16.0, "AGE_15_19": 8.0, "AGE_18": 143.0, "AGE_20_24": 14.0, "AGE_21": 137.0, "AGE_25_34": 28.0, "AGE_35_44": 35.0, "AGE_45_54": 30.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 4.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 14.0, "AGE_75_84": 5.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 35.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.59, "AVG_HHSIZE": 2.35, "BG": "390610037001", "BLACK": 155.0, "BLOCK": "390610037001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12457.7064, "F1_RACE": 189.0, "F2_RACES": 2.0, "FEMALE": 88.0, "FEMALE_18": 60.0, "FEMALE_65": 16.0, "GQ_INSTITU": 38.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 38.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 65.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 65.0, "HU_VACANT": 18.0, "ID": 709272.0, "IN_HOUSEHO": 153.0, "MALE": 103.0, "MALE_18": 83.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.1, "MSA": "1640", "NH_WHITE": 33.0, "NOT_HISPAN": 191.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.85, "POPULATION": 191.0, "RENTER_SIZ": 2.03, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 33.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48404300046533, 39.12935999987361, -84.48294300046545, 39.13065999987348], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48294300046545, 39.13055999987351], [-84.48304300046544, 39.12935999987361], [-84.48334300046541, 39.12935999987361], [-84.48404300046533, 39.129459999873596], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "56", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 1.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 1.8, "BG": "390610037003", "BLACK": 25.0, "BLOCK": "390610037003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5951.8877, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 2.0, "ID": 709292.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 27.0, "RENTER_SIZ": 1.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48394300046536, 39.13055999987351, -84.48184300046557, 39.13178999987337], "geometry": {"coordinates": [[[-84.48394300046536, 39.13065999987348], [-84.48384300046537, 39.131359999873425], [-84.48384300046537, 39.131619999873394], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131759999873395], [-84.48375200046537, 39.13178999987337], [-84.48288500046546, 39.13137799987341], [-84.48274500046548, 39.13130799987342], [-84.48237000046552, 39.131118999873436], [-84.48216300046555, 39.130962999873454], [-84.48184300046557, 39.13065999987349], [-84.48214300046554, 39.13065999987349], [-84.48294300046545, 39.13055999987351], [-84.48394300046536, 39.13065999987348]]], "type": "Polygon"}, "id": "57", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 25.0, "AGE_20_24": 5.0, "AGE_21": 23.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.53, "BG": "390610037003", "BLACK": 47.0, "BLOCK": "390610037003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8862.921, "F1_RACE": 48.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 3.0, "ID": 709311.0, "IN_HOUSEHO": 48.0, "MALE": 24.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 48.0, "RENTER_SIZ": 2.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.128859999873676, -84.48174300046557, 39.12935999987361], "geometry": {"coordinates": [[[-84.48264300046549, 39.128859999873676], [-84.4825430004655, 39.12935999987361], [-84.48204300046554, 39.129259999873646], [-84.48174300046557, 39.129159999873636], [-84.48264300046549, 39.128859999873676]]], "type": "Polygon"}, "id": "58", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 709334.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48375200046537, 39.13064399987349, -84.4816430004656, 39.13195999987335], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.48216300046555, 39.130962999873454], [-84.48237000046552, 39.131118999873436], [-84.48274500046548, 39.13130799987342], [-84.48288500046546, 39.13137799987341], [-84.48375200046537, 39.13178999987337], [-84.48324300046544, 39.13195999987335], [-84.4816430004656, 39.13185999987338], [-84.48174300046558, 39.13125999987342], [-84.48181600046559, 39.13082199987347], [-84.48174000046559, 39.130719999873506], [-84.4816930004656, 39.13064399987349], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "59", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 9.0, "AGE_15_19": 10.0, "AGE_18": 33.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 58.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.64, "BG": "390610037003", "BLACK": 58.0, "BLOCK": "390610037003000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12239.7822, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 19.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 9.0, "ID": 709351.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 58.0, "RENTER_SIZ": 2.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48304300046544, 39.129159999873636, -84.4797430004658, 39.13065999987349], "geometry": {"coordinates": [[[-84.48304300046544, 39.12935999987361], [-84.48294300046545, 39.13055999987351], [-84.48214300046554, 39.13065999987349], [-84.48184300046557, 39.13065999987349], [-84.48094600046568, 39.13011399987356], [-84.4806780004657, 39.12995299987357], [-84.48047200046572, 39.129839999873575], [-84.48026600046575, 39.129760999873604], [-84.48001800046576, 39.12971699987361], [-84.4797430004658, 39.129659999873596], [-84.4806430004657, 39.129559999873585], [-84.48174300046557, 39.129159999873636], [-84.48204300046554, 39.129259999873646], [-84.4825430004655, 39.12935999987361], [-84.48304300046544, 39.12935999987361]]], "type": "Polygon"}, "id": "60", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 5.0, "AGE_21": 54.0, "AGE_25_34": 10.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 7.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 1.88, "BG": "390610037003", "BLACK": 81.0, "BLOCK": "390610037003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7861.5423, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 32.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 5.0, "ID": 709372.0, "IN_HOUSEHO": 81.0, "MALE": 36.0, "MALE_18": 26.0, "MALE_65": 5.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 81.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48184300046557, 39.129659999873596, -84.4788430004659, 39.13185999987338], "geometry": {"coordinates": [[[-84.48184300046557, 39.13065999987349], [-84.4816930004656, 39.13064399987349], [-84.48174000046559, 39.130719999873506], [-84.48181600046559, 39.13082199987347], [-84.48174300046558, 39.13125999987342], [-84.4816430004656, 39.13185999987338], [-84.4788430004659, 39.13155999987342], [-84.47904300046586, 39.130359999873534], [-84.4797430004658, 39.129659999873596], [-84.48001800046576, 39.12971699987361], [-84.48026600046575, 39.129760999873604], [-84.48047200046572, 39.129839999873575], [-84.4806780004657, 39.12995299987357], [-84.48094600046568, 39.13011399987356], [-84.48184300046557, 39.13065999987349]]], "type": "Polygon"}, "id": "61", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 76.0, "AGE_20_24": 7.0, "AGE_21": 72.0, "AGE_25_34": 11.0, "AGE_35_44": 23.0, "AGE_45_54": 14.0, "AGE_55_59": 7.0, "AGE_5_9": 0.0, "AGE_60_64": 5.0, "AGE_62": 10.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 80.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 80.0, "BLOCK": "390610037001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5072.4868, "F1_RACE": 88.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 38.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 56.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 56.0, "HU_VACANT": 3.0, "ID": 709393.0, "IN_HOUSEHO": 88.0, "MALE": 47.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 88.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 88.0, "RENTER_SIZ": 1.52, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 8.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4803430004657, 39.12445999987407, -84.477543000466, 39.126059999873924], "geometry": {"coordinates": [[[-84.47964300046577, 39.124659999874055], [-84.4803430004657, 39.124859999874054], [-84.47924300046583, 39.126059999873924], [-84.477543000466, 39.12595999987395], [-84.47774300046596, 39.12445999987407], [-84.47834300046591, 39.12445999987407], [-84.47964300046577, 39.124659999874055]]], "type": "Polygon"}, "id": "62", "properties": {"AGE_0_5": 31.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 109.0, "AGE_20_24": 20.0, "AGE_21": 99.0, "AGE_25_34": 42.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 7.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 2.17, "BG": "390610042002", "BLACK": 112.0, "BLOCK": "390610042002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14062.7526, "F1_RACE": 168.0, "F2_RACES": 1.0, "FEMALE": 109.0, "FEMALE_18": 74.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 78.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 78.0, "HU_VACANT": 5.0, "ID": 709415.0, "IN_HOUSEHO": 169.0, "MALE": 60.0, "MALE_18": 35.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 162.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 70.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 169.0, "RENTER_SIZ": 2.1, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 54.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47924300046583, 39.12595999987395, -84.477543000466, 39.12685999987387], "geometry": {"coordinates": [[[-84.47924300046583, 39.126059999873924], [-84.4786430004659, 39.12685999987386], [-84.47754300046601, 39.12685999987387], [-84.477543000466, 39.12595999987395], [-84.47924300046583, 39.126059999873924]]], "type": "Polygon"}, "id": "63", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 45.0, "AGE_20_24": 4.0, "AGE_21": 43.0, "AGE_25_34": 19.0, "AGE_35_44": 12.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 24.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.34, "BG": "390610042002", "BLACK": 23.0, "BLOCK": "390610042002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10532.1683, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 3.0, "ID": 709435.0, "IN_HOUSEHO": 47.0, "MALE": 16.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 24.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 47.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 24.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48264300046549, 39.12745999987382, -84.47704300046608, 39.129159999873636], "geometry": {"coordinates": [[[-84.48264300046547, 39.12805999987371], [-84.48264300046549, 39.128859999873676], [-84.48174300046557, 39.129159999873636], [-84.47704300046608, 39.12865999987371], [-84.47744300046602, 39.12815999987375], [-84.47804300046597, 39.12745999987382], [-84.48264300046547, 39.12805999987371]]], "type": "Polygon"}, "id": "64", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 203.0, "AGE_20_24": 20.0, "AGE_21": 198.0, "AGE_25_34": 43.0, "AGE_35_44": 63.0, "AGE_45_54": 32.0, "AGE_55_59": 14.0, "AGE_5_9": 11.0, "AGE_60_64": 6.0, "AGE_62": 25.0, "AGE_65": 22.0, "AGE_65_74": 15.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 0.0, "AP_BLACK": 193.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 50.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.97, "AVG_HHSIZE": 2.55, "BG": "390610037001", "BLACK": 190.0, "BLOCK": "390610037001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10515.7405, "F1_RACE": 238.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 62.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 49.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 22.0, "ID": 709452.0, "IN_HOUSEHO": 194.0, "MALE": 162.0, "MALE_18": 141.0, "MALE_65": 10.0, "MEDIAN_AGE": 38.3, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 49.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.48, "POPULATION": 243.0, "RENTER_SIZ": 2.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 48.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47774300046596, 39.1243599998741, -84.47644300046613, 39.12685999987387], "geometry": {"coordinates": [[[-84.477543000466, 39.12595999987395], [-84.47754300046601, 39.12685999987387], [-84.47644300046613, 39.12675999987388], [-84.4766430004661, 39.1243599998741], [-84.47744300046601, 39.1243599998741], [-84.47774300046596, 39.12445999987407], [-84.477543000466, 39.12595999987395]]], "type": "Polygon"}, "id": "65", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 98.0, "AGE_20_24": 14.0, "AGE_21": 97.0, "AGE_25_34": 31.0, "AGE_35_44": 24.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 75.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.91, "BG": "390610042002", "BLACK": 35.0, "BLOCK": "390610042002005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 11483.761, "F1_RACE": 109.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 47.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 31.0, "HOUSEHOLDS": 58.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 58.0, "HU_VACANT": 11.0, "ID": 709472.0, "IN_HOUSEHO": 111.0, "MALE": 54.0, "MALE_18": 51.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 73.0, "NOT_HISPAN": 110.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.41, "POPULATION": 111.0, "RENTER_SIZ": 1.61, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 74.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4786430004659, 39.12675999987388, -84.47614300046617, 39.12815999987375], "geometry": {"coordinates": [[[-84.4786430004659, 39.12685999987386], [-84.47824300046594, 39.12725999987383], [-84.47804300046597, 39.12745999987382], [-84.47744300046602, 39.12815999987375], [-84.47614300046617, 39.12805999987374], [-84.47644300046613, 39.12675999987388], [-84.47754300046601, 39.12685999987387], [-84.4786430004659, 39.12685999987386]]], "type": "Polygon"}, "id": "66", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 19.0, "AGE_15_19": 26.0, "AGE_18": 121.0, "AGE_20_24": 11.0, "AGE_21": 115.0, "AGE_25_34": 27.0, "AGE_35_44": 33.0, "AGE_45_54": 20.0, "AGE_55_59": 8.0, "AGE_5_9": 26.0, "AGE_60_64": 4.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.57, "AVG_HHSIZE": 2.47, "BG": "390610042001", "BLACK": 185.0, "BLOCK": "390610042001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24439.8373, "F1_RACE": 201.0, "F2_RACES": 4.0, "FEMALE": 106.0, "FEMALE_18": 73.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 97.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 14.0, "ID": 709492.0, "IN_HOUSEHO": 205.0, "MALE": 99.0, "MALE_18": 48.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 205.0, "RENTER_SIZ": 2.34, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.47744300046602, 39.12805999987374, -84.47564300046623, 39.12945999987363], "geometry": {"coordinates": [[[-84.47674300046613, 39.12935999987364], [-84.47644300046615, 39.12925999987366], [-84.47564300046623, 39.12945999987363], [-84.47614300046617, 39.12805999987374], [-84.47744300046602, 39.12815999987375], [-84.47704300046608, 39.12865999987371], [-84.47674300046613, 39.12895999987367], [-84.47674300046613, 39.12935999987364]]], "type": "Polygon"}, "id": "67", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 47.0, "AGE_20_24": 1.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 17.0, "AGE_65": 15.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.21, "BG": "390610042001", "BLACK": 47.0, "BLOCK": "390610042001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10089.2509, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 1.0, "ID": 709513.0, "IN_HOUSEHO": 51.0, "MALE": 26.0, "MALE_18": 25.0, "MALE_65": 6.0, "MEDIAN_AGE": 53.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 51.0, "RENTER_SIZ": 1.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48174300046557, 39.12865999987371, -84.47674300046613, 39.129659999873596], "geometry": {"coordinates": [[[-84.48174300046557, 39.129159999873636], [-84.4806430004657, 39.129559999873585], [-84.4797430004658, 39.129659999873596], [-84.47864300046592, 39.12955999987361], [-84.47674300046613, 39.12935999987364], [-84.47674300046613, 39.12895999987367], [-84.47704300046608, 39.12865999987371], [-84.48174300046557, 39.129159999873636]]], "type": "Polygon"}, "id": "68", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.57, "BG": "390610037001", "BLACK": 11.0, "BLOCK": "390610037001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1000.1608, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 15.0, "ID": 709531.0, "IN_HOUSEHO": 11.0, "MALE": 9.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 1.57, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4797430004658, 39.12935999987364, -84.47664300046614, 39.130359999873534], "geometry": {"coordinates": [[[-84.4797430004658, 39.129659999873596], [-84.47904300046586, 39.130359999873534], [-84.47664300046614, 39.13005999987358], [-84.47674300046613, 39.12935999987364], [-84.47864300046592, 39.12955999987361], [-84.4797430004658, 39.129659999873596]]], "type": "Polygon"}, "id": "69", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.75, "BG": "390610037001", "BLACK": 7.0, "BLOCK": "390610037001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 947.5052, "F1_RACE": 7.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 709550.0, "IN_HOUSEHO": 7.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 7.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 7.0, "RENTER_SIZ": 1.75, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47904300046586, 39.13005999987358, -84.47654300046615, 39.13155999987342], "geometry": {"coordinates": [[[-84.47904300046586, 39.130359999873534], [-84.4788430004659, 39.13155999987342], [-84.47654300046615, 39.13135999987346], [-84.47664300046614, 39.13005999987358], [-84.47904300046586, 39.130359999873534]]], "type": "Polygon"}, "id": "70", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.47, "BG": "390610041002", "BLACK": 37.0, "BLOCK": "390610041002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4266.2283, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 9.0, "ID": 709569.0, "IN_HOUSEHO": 47.0, "MALE": 15.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 47.0, "RENTER_SIZ": 2.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004100", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.487443000465, 39.13155999987342, -84.47854300046596, 39.137636999872846], "geometry": {"coordinates": [[[-84.48384300046537, 39.131759999873395], [-84.48383200046537, 39.13184799987338], [-84.48374300046537, 39.13255999987331], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.13276599987328], [-84.48504300046524, 39.13335999987322], [-84.48596700046515, 39.133397999873225], [-84.48613700046513, 39.133514999873206], [-84.487443000465, 39.133659999873196], [-84.48724300046503, 39.133859999873174], [-84.48714300046504, 39.13415999987315], [-84.48614300046513, 39.13435999987314], [-84.4839430004654, 39.136059999873005], [-84.48354300046543, 39.13635999987295], [-84.4829430004655, 39.137059999872875], [-84.4821430004656, 39.137559999872835], [-84.48183300046561, 39.137636999872846], [-84.47984300046583, 39.13475999987314], [-84.47864300046594, 39.134059999873195], [-84.47854300046596, 39.13375999987322], [-84.47864300046594, 39.13285999987331], [-84.4788430004659, 39.13155999987342], [-84.4816430004656, 39.13185999987338], [-84.48324300046544, 39.13195999987335], [-84.48375200046537, 39.13178999987337], [-84.48384300046537, 39.131759999873395]]], "type": "Polygon"}, "id": "71", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 289.0, "AGE_20_24": 9.0, "AGE_21": 285.0, "AGE_25_34": 38.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 9.0, "AGE_5_9": 21.0, "AGE_60_64": 11.0, "AGE_62": 143.0, "AGE_65": 135.0, "AGE_65_74": 40.0, "AGE_75_84": 49.0, "AGE_85": 46.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 340.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.1, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.1, "BG": "390610036001", "BLACK": 340.0, "BLOCK": "390610036001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3344.4579, "F1_RACE": 351.0, "F2_RACES": 0.0, "FEMALE": 203.0, "FEMALE_18": 170.0, "FEMALE_65": 83.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 52.0, "HH_NONFAMI": 67.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 137.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 18.0, "ID": 709605.0, "IN_HOUSEHO": 250.0, "MALE": 148.0, "MALE_18": 119.0, "MALE_65": 52.0, "MEDIAN_AGE": 48.2, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 31.0, "OCCHU_RENT": 88.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 351.0, "RENTER_SIZ": 1.83, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48644300046513, 39.136059999873005, -84.48183300046561, 39.14155999987249], "geometry": {"coordinates": [[[-84.48614300046516, 39.13805999987279], [-84.48644300046513, 39.13845999987274], [-84.48554300046524, 39.139159999872675], [-84.48454300046537, 39.14025999987261], [-84.48433500046538, 39.140559999872565], [-84.48364300046546, 39.14155999987249], [-84.48294300046551, 39.139859999872655], [-84.48214300046561, 39.13905999987272], [-84.48183300046561, 39.137636999872846], [-84.4821430004656, 39.137559999872835], [-84.4829430004655, 39.137059999872875], [-84.48354300046543, 39.13635999987295], [-84.4839430004654, 39.136059999873005], [-84.48534300046525, 39.13715999987289], [-84.48614300046516, 39.13805999987279]], [[-84.48604300046517, 39.13825999987277], [-84.48584300046521, 39.13805999987279], [-84.4849430004653, 39.13725999987287], [-84.48384300046541, 39.137559999872835], [-84.48404300046539, 39.138159999872784], [-84.48424300046537, 39.138959999872704], [-84.48504300046528, 39.13885999987272], [-84.48604300046517, 39.13825999987277]]], "type": "Polygon"}, "id": "72", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 70.0, "AGE_20_24": 10.0, "AGE_21": 64.0, "AGE_25_34": 8.0, "AGE_35_44": 13.0, "AGE_45_54": 18.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 103.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.38, "AVG_HHSIZE": 2.78, "BG": "390610036001", "BLACK": 103.0, "BLOCK": "390610036001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2705.3799, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 55.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 9.0, "ID": 709637.0, "IN_HOUSEHO": 103.0, "MALE": 48.0, "MALE_18": 31.0, "MALE_65": 6.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 103.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13528099987297, -84.50234300046341, 39.13655999987285], "geometry": {"coordinates": [[[-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.135759999872924], [-84.50374300046326, 39.13655999987285], [-84.50234300046341, 39.136459999872876], [-84.5024430004634, 39.135759999872924], [-84.50244300046339, 39.13528099987297], [-84.50384300046323, 39.13536199987297]]], "type": "Polygon"}, "id": "73", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699143.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50264300046335, 39.13285999987319, -84.50094300046354, 39.13495999987302], "geometry": {"coordinates": [[[-84.50254300046338, 39.13425999987308], [-84.50244300046339, 39.13495999987302], [-84.50094300046354, 39.134859999873], [-84.5012430004635, 39.13285999987319], [-84.50264300046334, 39.13285999987319], [-84.50264300046335, 39.13345999987315], [-84.50254300046338, 39.13425999987308]]], "type": "Polygon"}, "id": "74", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 45.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 16.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 55.0, "BLOCK": "390610032002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8677.1914, "F1_RACE": 97.0, "F2_RACES": 1.0, "FEMALE": 40.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 77.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 98.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 699162.0, "IN_HOUSEHO": 0.0, "MALE": 58.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 98.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 42.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.134859999873, -84.50094300046354, 39.135759999872924], "geometry": {"coordinates": [[[-84.50244300046339, 39.13528099987297], [-84.5024430004634, 39.135759999872924], [-84.50094300046354, 39.135659999872956], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.134859999873], [-84.50244300046339, 39.13495999987302], [-84.50244300046339, 39.13528099987297]]], "type": "Polygon"}, "id": "75", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699182.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5024430004634, 39.135659999872956, -84.50084300046358, 39.136459999872876], "geometry": {"coordinates": [[[-84.50234300046341, 39.136459999872876], [-84.50084300046358, 39.13635999987288], [-84.50094300046354, 39.135659999872956], [-84.5024430004634, 39.135759999872924], [-84.50234300046341, 39.136459999872876]]], "type": "Polygon"}, "id": "76", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610032001", "BLACK": 1.0, "BLOCK": "390610032001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 254.7764, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 1.0, "ID": 699201.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 64.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 1.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 1.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50544300046307, 39.13635999987288, -84.5006430004636, 39.13955999987258], "geometry": {"coordinates": [[[-84.50544300046307, 39.13665999987285], [-84.50537800046308, 39.137129999872776], [-84.50504300046315, 39.13955999987258], [-84.50214300046343, 39.13935999987259], [-84.5015430004635, 39.13845999987268], [-84.5006430004636, 39.138359999872684], [-84.50084300046358, 39.13635999987288], [-84.50234300046341, 39.136459999872876], [-84.50374300046326, 39.13655999987285], [-84.50544300046307, 39.13665999987285]]], "type": "Polygon"}, "id": "77", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 6.0, "AGE_15_19": 2.0, "AGE_18": 48.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 6.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 42.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 25.0, "BLOCK": "390610032001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1555.3515, "F1_RACE": 68.0, "F2_RACES": 2.0, "FEMALE": 36.0, "FEMALE_18": 29.0, "FEMALE_65": 6.0, "GQ_INSTITU": 70.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 70.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699218.0, "IN_HOUSEHO": 0.0, "MALE": 34.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 39.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 70.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 40.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50014300046355, 39.12455999987399, -84.49904300046369, 39.12625999987383], "geometry": {"coordinates": [[[-84.4999430004636, 39.12625999987383], [-84.49904300046369, 39.12615999987382], [-84.49914300046366, 39.125359999873915], [-84.49914300046366, 39.12455999987399], [-84.50014300046355, 39.12465999987397], [-84.4999430004636, 39.12625999987383]]], "type": "Polygon"}, "id": "78", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 29.0, "BLOCK": "390610021002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7224.6969, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 3.0, "ID": 699239.0, "IN_HOUSEHO": 40.0, "MALE": 22.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 43.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 40.0, "RENTER_SIZ": 1.58, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5017430004634, 39.12605999987384, -84.4980430004638, 39.127759999873675], "geometry": {"coordinates": [[[-84.5017430004634, 39.126359999873806], [-84.50094300046348, 39.127259999873715], [-84.49984300046361, 39.127759999873675], [-84.4981430004638, 39.12745999987373], [-84.4980430004638, 39.127159999873754], [-84.49824300046377, 39.12605999987384], [-84.49904300046369, 39.12615999987382], [-84.4999430004636, 39.12625999987383], [-84.5017430004634, 39.126359999873806]]], "type": "Polygon"}, "id": "79", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610034002", "BLACK": 4.0, "BLOCK": "390610034002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 255.9509, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 699258.0, "IN_HOUSEHO": 4.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49914300046366, 39.125259999873926, -84.49784300046382, 39.12615999987382], "geometry": {"coordinates": [[[-84.49914300046366, 39.125359999873915], [-84.49904300046369, 39.12615999987382], [-84.49824300046377, 39.12605999987384], [-84.49784300046382, 39.126059999873846], [-84.49784300046382, 39.125259999873926], [-84.49914300046366, 39.125359999873915]]], "type": "Polygon"}, "id": "80", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49984300046361, 39.12745999987373, -84.49804300046381, 39.128259999873634], "geometry": {"coordinates": [[[-84.49984300046361, 39.127759999873675], [-84.49914300046369, 39.128259999873634], [-84.49804300046381, 39.1279599998737], [-84.4981430004638, 39.12745999987373], [-84.49984300046361, 39.127759999873675]]], "type": "Polygon"}, "id": "81", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699297.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49914300046369, 39.1279599998737, -84.49794300046382, 39.1286599998736], "geometry": {"coordinates": [[[-84.49804300046381, 39.1279599998737], [-84.49914300046369, 39.128259999873634], [-84.49864300046376, 39.1286599998736], [-84.49794300046382, 39.12855999987362], [-84.49804300046381, 39.1279599998737]]], "type": "Polygon"}, "id": "82", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699315.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49824300046377, 39.12605999987384, -84.49664300046395, 39.127159999873754], "geometry": {"coordinates": [[[-84.4980430004638, 39.127159999873754], [-84.49704300046392, 39.12705999987378], [-84.49664300046395, 39.12705999987378], [-84.49724300046388, 39.126059999873846], [-84.49784300046382, 39.126059999873846], [-84.49824300046377, 39.12605999987384], [-84.4980430004638, 39.127159999873754]]], "type": "Polygon"}, "id": "83", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 699332.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046388, 39.125959999873864, -84.49604300046401, 39.127059999873794], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49604300046401, 39.12705999987378], [-84.49674300046394, 39.125959999873864], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "84", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699352.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4981430004638, 39.12705999987378, -84.49634300046398, 39.1279599998737], "geometry": {"coordinates": [[[-84.4981430004638, 39.12745999987373], [-84.49804300046381, 39.1279599998737], [-84.49774300046384, 39.12785999987369], [-84.49634300046398, 39.12755999987371], [-84.49664300046395, 39.12705999987378], [-84.49704300046392, 39.12705999987378], [-84.4980430004638, 39.127159999873754], [-84.4981430004638, 39.12745999987373]]], "type": "Polygon"}, "id": "85", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 3.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.56, "BG": "390610034002", "BLACK": 14.0, "BLOCK": "390610034002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3500.3926, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 2.0, "ID": 699371.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.56, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49864300046376, 39.12755999987371, -84.4953430004641, 39.130059999873474], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.496243000464, 39.129459999873546], [-84.49564300046407, 39.129359999873536], [-84.4953430004641, 39.12935999987355], [-84.49634300046398, 39.12755999987371], [-84.49774300046384, 39.12785999987369], [-84.49804300046381, 39.1279599998737], [-84.49794300046382, 39.12855999987362], [-84.49864300046376, 39.1286599998736], [-84.49854300046377, 39.12885999987358], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "86", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 15.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 8.0, "BLOCK": "390610034002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 843.8623, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 15.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 15.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699391.0, "IN_HOUSEHO": 0.0, "MALE": 15.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.1, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 7.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50164300046343, 39.128259999873634, -84.49804300046382, 39.13065999987342], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.49994300046363, 39.130459999873445], [-84.49804300046382, 39.130059999873474], [-84.49854300046377, 39.12885999987358], [-84.49864300046376, 39.1286599998736], [-84.49914300046369, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50154300046344, 39.12945999987352], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "87", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 11.0, "AGE_21": 47.0, "AGE_25_34": 10.0, "AGE_35_44": 11.0, "AGE_45_54": 10.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.11, "BG": "390610034002", "BLACK": 32.0, "BLOCK": "390610034002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2243.1294, "F1_RACE": 52.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 19.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 699415.0, "IN_HOUSEHO": 52.0, "MALE": 33.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 52.0, "RENTER_SIZ": 1.09, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 19.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49994300046363, 39.130059999873474, -84.49764300046387, 39.13155999987333], "geometry": {"coordinates": [[[-84.49994300046363, 39.130459999873445], [-84.49974300046365, 39.13155999987333], [-84.49864300046377, 39.13145999987336], [-84.49764300046387, 39.131359999873354], [-84.49774300046387, 39.130959999873404], [-84.49804300046382, 39.130059999873474], [-84.49994300046363, 39.130459999873445]]], "type": "Polygon"}, "id": "88", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 140.0, "AGE_20_24": 0.0, "AGE_21": 140.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 10.0, "AGE_62": 125.0, "AGE_65": 120.0, "AGE_65_74": 30.0, "AGE_75_84": 41.0, "AGE_85": 49.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 130.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 127.0, "BLOCK": "390610034002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15062.2033, "F1_RACE": 137.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 94.0, "FEMALE_65": 87.0, "GQ_INSTITU": 140.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 140.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699434.0, "IN_HOUSEHO": 0.0, "MALE": 46.0, "MALE_18": 46.0, "MALE_65": 33.0, "MEDIAN_AGE": 80.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 140.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 140.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49974300046365, 39.131359999873354, -84.49704300046395, 39.13265999987326], "geometry": {"coordinates": [[[-84.49974300046365, 39.13155999987333], [-84.49964300046366, 39.13265999987324], [-84.49794300046385, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49704300046395, 39.13265999987325], [-84.49764300046387, 39.131359999873354], [-84.49864300046377, 39.13145999987336], [-84.49974300046365, 39.13155999987333]]], "type": "Polygon"}, "id": "89", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699453.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49804300046382, 39.129459999873546, -84.49574300046409, 39.13265999987325], "geometry": {"coordinates": [[[-84.49804300046382, 39.130059999873474], [-84.49774300046387, 39.130959999873404], [-84.49764300046387, 39.131359999873354], [-84.49704300046395, 39.13265999987325], [-84.49624300046402, 39.13255999987324], [-84.49574300046409, 39.13255999987324], [-84.49604300046406, 39.13185999987332], [-84.49614300046402, 39.13055999987345], [-84.496243000464, 39.129459999873546], [-84.49804300046382, 39.130059999873474]]], "type": "Polygon"}, "id": "90", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699472.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49680000046392, 39.125559999873886, -84.49594300046402, 39.125959999873864], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49594300046402, 39.125959999873864], [-84.49594300046402, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49680000046392, 39.125559999873886], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "91", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699494.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49595400046402, 39.12515999987395, -84.49504300046412, 39.125559999873886], "geometry": {"coordinates": [[[-84.49595400046402, 39.12521199987394], [-84.49594300046402, 39.125559999873886], [-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.12515999987397], [-84.49534300046408, 39.12515999987395], [-84.49595400046402, 39.12521199987394]]], "type": "Polygon"}, "id": "92", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10743.5154, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 4.0, "ID": 699512.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 3.0, "MALE_65": 2.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 12.0, "RENTER_SIZ": 3.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49594300046402, 39.125459999873925, -84.49504300046412, 39.12595999987388], "geometry": {"coordinates": [[[-84.49594300046402, 39.125559999873886], [-84.49594300046402, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49504300046412, 39.125959999873864], [-84.49504300046412, 39.125459999873925], [-84.49594300046402, 39.125559999873886]]], "type": "Polygon"}, "id": "93", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1333.4528, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 3.0, "ID": 699531.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49674300046394, 39.125959999873864, -84.49554300046407, 39.127059999873794], "geometry": {"coordinates": [[[-84.49674300046394, 39.125959999873864], [-84.49604300046401, 39.12705999987378], [-84.49554300046407, 39.127059999873794], [-84.49564300046406, 39.12595999987388], [-84.49594300046402, 39.125959999873864], [-84.49674300046394, 39.125959999873864]]], "type": "Polygon"}, "id": "94", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610035002", "BLACK": 2.0, "BLOCK": "390610035002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 613.698, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 7.0, "ID": 699549.0, "IN_HOUSEHO": 2.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 67.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12515999987397, -84.49404300046422, 39.125459999873925], "geometry": {"coordinates": [[[-84.49504300046412, 39.12515999987397], [-84.49504300046412, 39.125459999873925], [-84.49404300046422, 39.12535999987392], [-84.49404300046422, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49504300046412, 39.12515999987397]]], "type": "Polygon"}, "id": "95", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.67, "AVG_HHSIZE": 4.4, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23761.9038, "F1_RACE": 22.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 1.0, "ID": 699568.0, "IN_HOUSEHO": 22.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 22.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.5, "POPULATION": 22.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.12535999987392, -84.49394300046424, 39.125959999873864], "geometry": {"coordinates": [[[-84.49504300046412, 39.125459999873925], [-84.49504300046412, 39.125959999873864], [-84.49394300046424, 39.12585999987388], [-84.49404300046422, 39.12535999987392], [-84.49504300046412, 39.125459999873925]]], "type": "Polygon"}, "id": "96", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 15.0, "AGE_25_34": 3.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.88, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 35.0, "BLOCK": "390610021001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18341.2616, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 3.0, "ID": 699587.0, "IN_HOUSEHO": 36.0, "MALE": 17.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 36.0, "RENTER_SIZ": 3.18, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49564300046406, 39.125959999873864, -84.49484300046414, 39.127059999873794], "geometry": {"coordinates": [[[-84.49554300046407, 39.127059999873794], [-84.49484300046414, 39.1269599998738], [-84.49504300046412, 39.125959999873864], [-84.49564300046406, 39.12595999987388], [-84.49554300046407, 39.127059999873794]]], "type": "Polygon"}, "id": "97", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 2.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.4, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5478.7666, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 3.0, "ID": 699604.0, "IN_HOUSEHO": 14.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 1.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49504300046412, 39.1257599998739, -84.49354300046429, 39.12745999987374], "geometry": {"coordinates": [[[-84.49484300046414, 39.1269599998738], [-84.49484300046416, 39.12745999987374], [-84.49424300046421, 39.12745999987374], [-84.4943430004642, 39.12635999987383], [-84.49354300046429, 39.12635999987383], [-84.49364300046426, 39.1257599998739], [-84.49394300046424, 39.12585999987388], [-84.49504300046412, 39.125959999873864], [-84.49484300046414, 39.1269599998738]]], "type": "Polygon"}, "id": "98", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 1.0, "AGE_18": 29.0, "AGE_20_24": 3.0, "AGE_21": 28.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 9.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 21.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 1.73, "BG": "390610035002", "BLACK": 16.0, "BLOCK": "390610035002011", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7803.0494, "F1_RACE": 36.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 12.0, "ID": 699622.0, "IN_HOUSEHO": 38.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.2, "POPULATION": 38.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 19.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49664300046395, 39.12705999987378, -84.49584300046403, 39.127559999873725], "geometry": {"coordinates": [[[-84.49664300046395, 39.12705999987378], [-84.49634300046398, 39.12755999987371], [-84.49584300046403, 39.127559999873725], [-84.49604300046401, 39.12705999987378], [-84.49634300046398, 39.127059999873794], [-84.49664300046395, 39.12705999987378]]], "type": "Polygon"}, "id": "99", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699644.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49604300046401, 39.1269599998738, -84.49484300046414, 39.127559999873725], "geometry": {"coordinates": [[[-84.49604300046401, 39.12705999987378], [-84.49584300046403, 39.127559999873725], [-84.49484300046416, 39.12745999987374], [-84.49484300046414, 39.1269599998738], [-84.49554300046407, 39.127059999873794], [-84.49604300046401, 39.12705999987378]]], "type": "Polygon"}, "id": "100", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.91, "BG": "390610035002", "BLACK": 21.0, "BLOCK": "390610035002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10599.3148, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 699662.0, "IN_HOUSEHO": 21.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 45.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 21.0, "RENTER_SIZ": 1.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49634300046398, 39.12755999987371, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49584300046403, 39.127559999873725], [-84.49634300046398, 39.12755999987371], [-84.4953430004641, 39.12935999987355], [-84.49464300046418, 39.12935999987355], [-84.49524300046413, 39.12895999987361], [-84.49562900046406, 39.12805999987366], [-84.49584300046403, 39.127559999873725]]], "type": "Polygon"}, "id": "101", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 699681.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49584300046403, 39.12745999987374, -84.49484300046416, 39.12805999987368], "geometry": {"coordinates": [[[-84.49484300046416, 39.12745999987374], [-84.49584300046403, 39.127559999873725], [-84.49562900046406, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49484300046416, 39.12805999987366], [-84.49484300046416, 39.12745999987374]]], "type": "Polygon"}, "id": "102", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.43, "BG": "390610035002", "BLACK": 13.0, "BLOCK": "390610035002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9245.804, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 699700.0, "IN_HOUSEHO": 17.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49562900046406, 39.12805999987366, -84.49464300046418, 39.12935999987355], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49484300046416, 39.12805999987366], [-84.4953430004641, 39.12805999987368], [-84.49562900046406, 39.12805999987366], [-84.49524300046413, 39.12895999987361], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "103", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.17, "BG": "390610035002", "BLACK": 24.0, "BLOCK": "390610035002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9977.1555, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 7.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 0.0, "ID": 699718.0, "IN_HOUSEHO": 26.0, "MALE": 16.0, "MALE_18": 9.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 26.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12505999987396, -84.49304300046434, 39.125359999873936], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49404300046422, 39.12535999987392], [-84.49304300046434, 39.125359999873936], [-84.49314300046431, 39.12505999987396], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "104", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 14.0, "AGE_20_24": 4.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 13.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.09, "AVG_HHSIZE": 4.09, "BG": "390610021001", "BLACK": 38.0, "BLOCK": "390610021001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 50628.9598, "F1_RACE": 41.0, "F2_RACES": 4.0, "FEMALE": 29.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 2.0, "ID": 699736.0, "IN_HOUSEHO": 45.0, "MALE": 16.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 9.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 45.0, "RENTER_SIZ": 4.09, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49294300046445, 39.140859999872504, -84.48964300046482, 39.14215999987238], "geometry": {"coordinates": [[[-84.49094300046467, 39.140859999872504], [-84.49294300046445, 39.140959999872514], [-84.49244300046452, 39.141659999872424], [-84.49224300046454, 39.14215999987238], [-84.48964300046482, 39.142059999872394], [-84.48974300046478, 39.140859999872504], [-84.49094300046467, 39.140859999872504]]], "type": "Polygon"}, "id": "105", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 13.0, "AGE_15_19": 20.0, "AGE_18": 213.0, "AGE_20_24": 14.0, "AGE_21": 203.0, "AGE_25_34": 27.0, "AGE_35_44": 31.0, "AGE_45_54": 19.0, "AGE_55_59": 9.0, "AGE_5_9": 27.0, "AGE_60_64": 16.0, "AGE_62": 102.0, "AGE_65": 89.0, "AGE_65_74": 47.0, "AGE_75_84": 31.0, "AGE_85": 11.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.7, "BG": "390610067004", "BLACK": 282.0, "BLOCK": "390610067004007", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21989.7915, "F1_RACE": 285.0, "F2_RACES": 2.0, "FEMALE": 176.0, "FEMALE_18": 136.0, "FEMALE_65": 67.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 124.0, "HOUSEHOLDS": 169.0, "HSNG_UNITS": 205.0, "HU_OCCUPIE": 169.0, "HU_VACANT": 36.0, "ID": 711584.0, "IN_HOUSEHO": 287.0, "MALE": 111.0, "MALE_18": 77.0, "MALE_65": 22.0, "MEDIAN_AGE": 41.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 155.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.43, "POPULATION": 287.0, "RENTER_SIZ": 1.63, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4915430004646, 39.14275999987236, -84.48564300046525, 39.14415999987221], "geometry": {"coordinates": [[[-84.4915430004646, 39.143159999872296], [-84.49104300046467, 39.14415999987221], [-84.48564300046525, 39.14365999987227], [-84.48594300046523, 39.14315999987232], [-84.48704300046509, 39.14275999987236], [-84.488043000465, 39.142859999872336], [-84.48864300046493, 39.14295999987232], [-84.4915430004646, 39.143159999872296]]], "type": "Polygon"}, "id": "106", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 18.0, "AGE_18": 90.0, "AGE_20_24": 14.0, "AGE_21": 83.0, "AGE_25_34": 18.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 9.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 3.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 129.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 3.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.73, "BG": "390610067004", "BLACK": 129.0, "BLOCK": "390610067004002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6913.3996, "F1_RACE": 134.0, "F2_RACES": 0.0, "FEMALE": 66.0, "FEMALE_18": 54.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 35.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 58.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 9.0, "ID": 711604.0, "IN_HOUSEHO": 134.0, "MALE": 68.0, "MALE_18": 36.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.6, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 134.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 134.0, "RENTER_SIZ": 2.54, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49224300046455, 39.145359999872106, -84.48904300046492, 39.14805999987183], "geometry": {"coordinates": [[[-84.49224300046455, 39.14545999987209], [-84.49213100046458, 39.14691599987195], [-84.4920430004646, 39.14805999987183], [-84.49040800046478, 39.14773299987189], [-84.48904300046492, 39.14745999987187], [-84.48944300046487, 39.146759999871975], [-84.4899430004648, 39.14605999987202], [-84.4900430004648, 39.14585999987206], [-84.49034300046476, 39.145359999872106], [-84.49224300046455, 39.14545999987209]]], "type": "Polygon"}, "id": "107", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 20.0, "AGE_15_19": 17.0, "AGE_18": 77.0, "AGE_20_24": 5.0, "AGE_21": 67.0, "AGE_25_34": 13.0, "AGE_35_44": 24.0, "AGE_45_54": 11.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 120.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.84, "AVG_HHSIZE": 2.67, "BG": "390610068002", "BLACK": 118.0, "BLOCK": "390610068002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5379.6715, "F1_RACE": 118.0, "F2_RACES": 2.0, "FEMALE": 56.0, "FEMALE_18": 38.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 60.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 15.0, "ID": 711620.0, "IN_HOUSEHO": 120.0, "MALE": 64.0, "MALE_18": 39.0, "MALE_65": 3.0, "MEDIAN_AGE": 26.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 120.0, "RENTER_SIZ": 2.72, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49224300046454, 39.141859999872445, -84.48374300046545, 39.14365999987227], "geometry": {"coordinates": [[[-84.49224300046454, 39.14215999987238], [-84.49194300046456, 39.14255999987233], [-84.4915430004646, 39.143159999872296], [-84.48864300046493, 39.14295999987232], [-84.488043000465, 39.142859999872336], [-84.48704300046509, 39.14275999987236], [-84.48594300046523, 39.14315999987232], [-84.48564300046525, 39.14365999987227], [-84.48464300046537, 39.143559999872295], [-84.48404300046543, 39.143559999872295], [-84.48387800046544, 39.142776999872375], [-84.48374300046545, 39.142159999872405], [-84.48380000046545, 39.14209499987244], [-84.48474300046534, 39.14195999987244], [-84.48544300046525, 39.14185999987246], [-84.48654300046516, 39.141859999872445], [-84.48964300046482, 39.142059999872394], [-84.49224300046454, 39.14215999987238]]], "type": "Polygon"}, "id": "108", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 22.0, "AGE_15_19": 9.0, "AGE_18": 172.0, "AGE_20_24": 17.0, "AGE_21": 170.0, "AGE_25_34": 32.0, "AGE_35_44": 37.0, "AGE_45_54": 25.0, "AGE_55_59": 18.0, "AGE_5_9": 27.0, "AGE_60_64": 6.0, "AGE_62": 36.0, "AGE_65": 35.0, "AGE_65_74": 23.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 249.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.87, "AVG_HHSIZE": 2.37, "BG": "390610067004", "BLACK": 249.0, "BLOCK": "390610067004001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7469.0991, "F1_RACE": 254.0, "F2_RACES": 0.0, "FEMALE": 141.0, "FEMALE_18": 103.0, "FEMALE_65": 27.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 38.0, "HOUSEHOLDS": 107.0, "HSNG_UNITS": 129.0, "HU_OCCUPIE": 107.0, "HU_VACANT": 22.0, "ID": 711663.0, "IN_HOUSEHO": 254.0, "MALE": 113.0, "MALE_18": 69.0, "MALE_65": 8.0, "MEDIAN_AGE": 32.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 64.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.23, "POPULATION": 254.0, "RENTER_SIZ": 2.47, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49054300046475, 39.144759999872164, -84.48424300046541, 39.14585999987206], "geometry": {"coordinates": [[[-84.49034300046476, 39.145359999872106], [-84.4900430004648, 39.14585999987206], [-84.48616500046522, 39.14572599987209], [-84.48424300046541, 39.14565999987211], [-84.48424300046541, 39.144759999872164], [-84.49054300046475, 39.14495999987214], [-84.49034300046476, 39.145359999872106]]], "type": "Polygon"}, "id": "109", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 43.0, "AGE_15_19": 29.0, "AGE_18": 221.0, "AGE_20_24": 27.0, "AGE_21": 211.0, "AGE_25_34": 49.0, "AGE_35_44": 44.0, "AGE_45_54": 31.0, "AGE_55_59": 23.0, "AGE_5_9": 60.0, "AGE_60_64": 7.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 13.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 373.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 2.86, "BG": "390610066002", "BLACK": 373.0, "BLOCK": "390610066002002", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18402.2275, "F1_RACE": 375.0, "F2_RACES": 0.0, "FEMALE": 213.0, "FEMALE_18": 134.0, "FEMALE_65": 20.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 90.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 131.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 131.0, "HU_VACANT": 19.0, "ID": 711690.0, "IN_HOUSEHO": 375.0, "MALE": 162.0, "MALE_18": 87.0, "MALE_65": 15.0, "MEDIAN_AGE": 25.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 374.0, "OCCHU_OWNE": 25.0, "OCCHU_RENT": 106.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.8, "POPULATION": 375.0, "RENTER_SIZ": 2.88, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49104300046467, 39.143559999872295, -84.48124300046575, 39.146259999872036], "geometry": {"coordinates": [[[-84.48564300046525, 39.14365999987227], [-84.49104300046467, 39.14415999987221], [-84.49054300046475, 39.14495999987214], [-84.48424300046541, 39.144759999872164], [-84.48424300046541, 39.14565999987211], [-84.48294300046555, 39.1456599998721], [-84.48234300046563, 39.14585999987211], [-84.48124300046575, 39.146259999872036], [-84.48214300046564, 39.1456599998721], [-84.48394300046544, 39.14395999987227], [-84.48464300046537, 39.143559999872295], [-84.48564300046525, 39.14365999987227]]], "type": "Polygon"}, "id": "110", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 24.0, "AGE_15_19": 28.0, "AGE_18": 147.0, "AGE_20_24": 18.0, "AGE_21": 132.0, "AGE_25_34": 24.0, "AGE_35_44": 36.0, "AGE_45_54": 26.0, "AGE_55_59": 7.0, "AGE_5_9": 17.0, "AGE_60_64": 7.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 9.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 210.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 6.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.96, "BG": "390610066002", "BLACK": 205.0, "BLOCK": "390610066002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6572.2998, "F1_RACE": 214.0, "F2_RACES": 5.0, "FEMALE": 128.0, "FEMALE_18": 94.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 54.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 74.0, "HSNG_UNITS": 90.0, "HU_OCCUPIE": 74.0, "HU_VACANT": 16.0, "ID": 711710.0, "IN_HOUSEHO": 219.0, "MALE": 91.0, "MALE_18": 53.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 218.0, "OCCHU_OWNE": 37.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.38, "POPULATION": 219.0, "RENTER_SIZ": 2.54, "THEFT": 20, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48464300046537, 39.143559999872295, -84.48394300046544, 39.14395999987227], "geometry": {"coordinates": [[[-84.48464300046537, 39.143559999872295], [-84.48394300046544, 39.14395999987227], [-84.48404300046543, 39.143559999872295], [-84.48464300046537, 39.143559999872295]]], "type": "Polygon"}, "id": "111", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 711733.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4900430004648, 39.1456599998721, -84.48234300046563, 39.14745999987187], "geometry": {"coordinates": [[[-84.4899430004648, 39.14605999987202], [-84.48944300046487, 39.146759999871975], [-84.48904300046492, 39.14745999987187], [-84.48604300046524, 39.14725999987195], [-84.48534300046532, 39.147259999871956], [-84.48484300046536, 39.14705999987198], [-84.48424300046543, 39.146759999871996], [-84.48294300046557, 39.14735999987194], [-84.48244300046561, 39.146959999871996], [-84.48244300046561, 39.14655999987201], [-84.48234300046563, 39.14585999987211], [-84.48294300046555, 39.1456599998721], [-84.48424300046541, 39.14565999987211], [-84.48616500046522, 39.14572599987209], [-84.4900430004648, 39.14585999987206], [-84.4899430004648, 39.14605999987202]]], "type": "Polygon"}, "id": "112", "properties": {"AGE_0_5": 36.0, "AGE_10_14": 41.0, "AGE_15_19": 39.0, "AGE_18": 276.0, "AGE_20_24": 28.0, "AGE_21": 261.0, "AGE_25_34": 52.0, "AGE_35_44": 62.0, "AGE_45_54": 41.0, "AGE_55_59": 21.0, "AGE_5_9": 51.0, "AGE_60_64": 17.0, "AGE_62": 54.0, "AGE_65": 45.0, "AGE_65_74": 28.0, "AGE_75_84": 10.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 429.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 7.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.42, "BG": "390610066001", "BLACK": 424.0, "BLOCK": "390610066001004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10939.7842, "F1_RACE": 428.0, "F2_RACES": 5.0, "FEMALE": 220.0, "FEMALE_18": 153.0, "FEMALE_65": 28.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 107.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 179.0, "HSNG_UNITS": 215.0, "HU_OCCUPIE": 179.0, "HU_VACANT": 36.0, "ID": 711749.0, "IN_HOUSEHO": 433.0, "MALE": 213.0, "MALE_18": 123.0, "MALE_65": 17.0, "MEDIAN_AGE": 29.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 433.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 133.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 433.0, "RENTER_SIZ": 2.28, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006600", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51444400046199, 39.121859999874175, -84.50834300046267, 39.125559999873815], "geometry": {"coordinates": [[[-84.51444400046199, 39.12305999987405], [-84.514344000462, 39.12335999987403], [-84.51404400046205, 39.12425999987396], [-84.5128440004622, 39.125559999873815], [-84.50914400046258, 39.1251489998739], [-84.50834300046267, 39.12505999987389], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12265999987413], [-84.50904300046258, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.51064300046241, 39.1227599998741], [-84.51074300046238, 39.12235999987413], [-84.51114300046235, 39.122159999874164], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12225999987413], [-84.51304300046216, 39.12295999987407], [-84.5135430004621, 39.12295999987407], [-84.51384400046206, 39.123059999874044], [-84.51444400046199, 39.12305999987405]]], "type": "Polygon"}, "id": "113", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 38.0, "AGE_15_19": 27.0, "AGE_18": 210.0, "AGE_20_24": 42.0, "AGE_21": 192.0, "AGE_25_34": 62.0, "AGE_35_44": 39.0, "AGE_45_54": 34.0, "AGE_55_59": 5.0, "AGE_5_9": 31.0, "AGE_60_64": 4.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 12.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 308.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 30.0, "AREA": 0.06, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.08, "AVG_HHSIZE": 2.25, "BG": "390610023001", "BLACK": 308.0, "BLOCK": "390610023001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5813.2877, "F1_RACE": 340.0, "F2_RACES": 0.0, "FEMALE": 183.0, "FEMALE_18": 120.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 151.0, "HSNG_UNITS": 194.0, "HU_OCCUPIE": 151.0, "HU_VACANT": 43.0, "ID": 656719.0, "IN_HOUSEHO": 340.0, "MALE": 157.0, "MALE_18": 90.0, "MALE_65": 5.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 340.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 137.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.29, "POPULATION": 340.0, "RENTER_SIZ": 2.25, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51074300046238, 39.12235999987413, -84.50954300046251, 39.1227599998741], "geometry": {"coordinates": [[[-84.51074300046238, 39.12235999987413], [-84.51064300046241, 39.1227599998741], [-84.50954300046251, 39.1227599998741], [-84.50964300046252, 39.12235999987413], [-84.51074300046238, 39.12235999987413]]], "type": "Polygon"}, "id": "114", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 14.0, "AGE_15_19": 12.0, "AGE_18": 36.0, "AGE_20_24": 9.0, "AGE_21": 31.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 18.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 90.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.09, "BG": "390610023001", "BLACK": 90.0, "BLOCK": "390610023001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 55229.6771, "F1_RACE": 90.0, "F2_RACES": 0.0, "FEMALE": 51.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 11.0, "ID": 656750.0, "IN_HOUSEHO": 90.0, "MALE": 39.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 90.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 90.0, "RENTER_SIZ": 4.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4766430004661, 39.1243599998741, -84.47484300046631, 39.12695999987387], "geometry": {"coordinates": [[[-84.4766430004661, 39.1243599998741], [-84.47644300046613, 39.12675999987388], [-84.47484300046631, 39.12695999987387], [-84.47524300046624, 39.12455999987408], [-84.4766430004661, 39.1243599998741]]], "type": "Polygon"}, "id": "115", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 124.0, "AGE_20_24": 21.0, "AGE_21": 121.0, "AGE_25_34": 36.0, "AGE_35_44": 24.0, "AGE_45_54": 20.0, "AGE_55_59": 7.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 86.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 58.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.66, "BG": "390610042002", "BLACK": 86.0, "BLOCK": "390610042002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10984.0124, "F1_RACE": 144.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 65.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 96.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 9.0, "ID": 738259.0, "IN_HOUSEHO": 144.0, "MALE": 71.0, "MALE_18": 59.0, "MALE_65": 3.0, "MEDIAN_AGE": 31.7, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 144.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 144.0, "RENTER_SIZ": 1.45, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 58.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47524300046624, 39.12455999987408, -84.47374300046643, 39.12695999987387], "geometry": {"coordinates": [[[-84.47484300046631, 39.12695999987387], [-84.47374300046643, 39.126759999873904], [-84.47394300046638, 39.12455999987409], [-84.47524300046624, 39.12455999987408], [-84.47484300046631, 39.12695999987387]]], "type": "Polygon"}, "id": "116", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 172.0, "AGE_20_24": 9.0, "AGE_21": 167.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 26.0, "AGE_55_59": 19.0, "AGE_5_9": 2.0, "AGE_60_64": 15.0, "AGE_62": 67.0, "AGE_65": 62.0, "AGE_65_74": 29.0, "AGE_75_84": 26.0, "AGE_85": 7.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 146.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.52, "AVG_HHSIZE": 1.28, "BG": "390610042002", "BLACK": 144.0, "BLOCK": "390610042002003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17808.0053, "F1_RACE": 182.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 97.0, "FEMALE_65": 41.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 123.0, "HOUSEHOLDS": 144.0, "HSNG_UNITS": 147.0, "HU_OCCUPIE": 144.0, "HU_VACANT": 3.0, "ID": 738277.0, "IN_HOUSEHO": 184.0, "MALE": 78.0, "MALE_18": 75.0, "MALE_65": 21.0, "MEDIAN_AGE": 55.7, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 182.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 128.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 184.0, "RENTER_SIZ": 1.16, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.47644300046613, 39.12675999987388, -84.47454300046634, 39.12835999987374], "geometry": {"coordinates": [[[-84.47644300046613, 39.12675999987388], [-84.47614300046617, 39.12805999987374], [-84.47464300046634, 39.12835999987374], [-84.47454300046634, 39.128059999873756], [-84.47484300046631, 39.12695999987387], [-84.47644300046613, 39.12675999987388]]], "type": "Polygon"}, "id": "117", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 39.0, "AGE_20_24": 5.0, "AGE_21": 33.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.08, "BG": "390610042001", "BLACK": 29.0, "BLOCK": "390610042001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6338.7504, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 11.0, "ID": 738294.0, "IN_HOUSEHO": 50.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.0, "MSA": "1640", "NH_WHITE": 20.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 50.0, "RENTER_SIZ": 1.79, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 20.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47614300046617, 39.12805999987374, -84.47434300046636, 39.129559999873614], "geometry": {"coordinates": [[[-84.47564300046623, 39.12945999987363], [-84.47434300046636, 39.129559999873614], [-84.47464300046634, 39.12835999987374], [-84.47614300046617, 39.12805999987374], [-84.47564300046623, 39.12945999987363]]], "type": "Polygon"}, "id": "118", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 13.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.27, "BG": "390610042001", "BLACK": 19.0, "BLOCK": "390610042001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5276.5591, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 738313.0, "IN_HOUSEHO": 34.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.63, "POPULATION": 34.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47484300046631, 39.126759999873904, -84.47354300046645, 39.128059999873756], "geometry": {"coordinates": [[[-84.47454300046634, 39.128059999873756], [-84.47354300046645, 39.127959999873795], [-84.47374300046643, 39.126759999873904], [-84.47484300046631, 39.12695999987387], [-84.47454300046634, 39.128059999873756]]], "type": "Polygon"}, "id": "119", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 62.0, "AGE_20_24": 7.0, "AGE_21": 60.0, "AGE_25_34": 28.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.29, "AVG_HHSIZE": 1.52, "BG": "390610042001", "BLACK": 24.0, "BLOCK": "390610042001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14531.7777, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 4.0, "ID": 738330.0, "IN_HOUSEHO": 67.0, "MALE": 27.0, "MALE_18": 25.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 43.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 67.0, "RENTER_SIZ": 1.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 43.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52004400046148, 39.134959999872954, -84.51574400046195, 39.140859999872404], "geometry": {"coordinates": [[[-84.52004400046148, 39.13505999987293], [-84.51954400046156, 39.14045999987243], [-84.5174440004618, 39.140859999872404], [-84.5183440004617, 39.13995999987247], [-84.51854400046167, 39.13955999987251], [-84.51804400046173, 39.138959999872554], [-84.51574400046195, 39.138259999872645], [-84.51764400046174, 39.136959999872786], [-84.51914400046158, 39.134959999872954], [-84.52004400046148, 39.13505999987293]], [[-84.5190440004616, 39.13855999987259], [-84.51854400046167, 39.13835999987263], [-84.51844400046168, 39.138559999872584], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "120", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 23.0, "AGE_18": 116.0, "AGE_20_24": 86.0, "AGE_21": 55.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 8.0, "AP_ASIAN": 7.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 54.0, "AREA": 0.04, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 50.0, "BLOCK": "390610030003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2745.6706, "F1_RACE": 107.0, "F2_RACES": 9.0, "FEMALE": 36.0, "FEMALE_18": 36.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 116.0, "GROUP_QUAR": 116.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683125.0, "IN_HOUSEHO": 0.0, "MALE": 80.0, "MALE_18": 80.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 50.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 116.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 52.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5190440004616, 39.13835999987263, -84.51844400046168, 39.13855999987259], "geometry": {"coordinates": [[[-84.5190440004616, 39.13855999987259], [-84.51844400046168, 39.138559999872584], [-84.51854400046167, 39.13835999987263], [-84.5190440004616, 39.13855999987259]]], "type": "Polygon"}, "id": "121", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683147.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5183440004617, 39.13995999987247, -84.51714400046184, 39.140859999872404], "geometry": {"coordinates": [[[-84.5183440004617, 39.13995999987247], [-84.5174440004618, 39.140859999872404], [-84.51714400046184, 39.140559999872444], [-84.51754400046178, 39.14005999987246], [-84.5183440004617, 39.13995999987247]]], "type": "Polygon"}, "id": "122", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683161.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51954400046156, 39.138259999872645, -84.51534400046202, 39.143259999872164], "geometry": {"coordinates": [[[-84.5193440004616, 39.14235999987225], [-84.51914400046164, 39.143259999872164], [-84.51664400046191, 39.14225999987227], [-84.51544400046203, 39.14215999987227], [-84.51544400046203, 39.14195999987231], [-84.51534400046202, 39.13945999987253], [-84.51574400046195, 39.138259999872645], [-84.51804400046173, 39.138959999872554], [-84.51854400046167, 39.13955999987251], [-84.5183440004617, 39.13995999987247], [-84.51754400046178, 39.14005999987246], [-84.51714400046184, 39.140559999872444], [-84.5174440004618, 39.140859999872404], [-84.51954400046156, 39.14045999987243], [-84.51944400046159, 39.14105999987236], [-84.51944400046159, 39.14155999987233], [-84.5193440004616, 39.14235999987225]]], "type": "Polygon"}, "id": "123", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030001", "BLACK": 0.0, "BLOCK": "390610030001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683177.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51814400046163, 39.12725999987368, -84.51454400046204, 39.12815999987359], "geometry": {"coordinates": [[[-84.51814400046162, 39.12745999987365], [-84.51814400046163, 39.12815999987359], [-84.51454400046204, 39.12785999987363], [-84.51454400046204, 39.12725999987368], [-84.51704400046174, 39.12735999987365], [-84.51814400046162, 39.12745999987365]]], "type": "Polygon"}, "id": "124", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 14.0, "AGE_18": 71.0, "AGE_20_24": 47.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 65.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 5.0, "BLOCK": "390610025001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8291.3463, "F1_RACE": 71.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 25.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 33.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 2.0, "ID": 683241.0, "IN_HOUSEHO": 74.0, "MALE": 48.0, "MALE_18": 46.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 61.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 74.0, "RENTER_SIZ": 2.0, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 62.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51964400046147, 39.127859999873614, -84.51284400046222, 39.12965999987345], "geometry": {"coordinates": [[[-84.51964400046147, 39.12825999987355], [-84.5194440004615, 39.12855999987354], [-84.51904400046153, 39.12855999987355], [-84.51824400046162, 39.12865999987352], [-84.51754400046171, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51724400046174, 39.12945999987347], [-84.51362800046212, 39.12913099987351], [-84.51284400046222, 39.1290599998735], [-84.51284400046222, 39.12845999987356], [-84.51368300046212, 39.12852699987354], [-84.51374400046211, 39.127859999873614], [-84.51454400046204, 39.12785999987363], [-84.51814400046163, 39.12815999987359], [-84.51894400046154, 39.12825999987357], [-84.51964400046147, 39.12825999987355]]], "type": "Polygon"}, "id": "125", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 744.0, "AGE_18": 895.0, "AGE_20_24": 148.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 14.0, "AP_ASIAN": 32.0, "AP_BLACK": 228.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 657.0, "AREA": 0.03, "ASIAN": 26.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030003", "BLACK": 212.0, "BLOCK": "390610030003009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35491.7198, "F1_RACE": 873.0, "F2_RACES": 27.0, "FEMALE": 495.0, "FEMALE_18": 492.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 896.0, "GROUP_QUAR": 896.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 683260.0, "IN_HOUSEHO": 4.0, "MALE": 405.0, "MALE_18": 403.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 632.0, "NOT_HISPAN": 895.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 900.0, "RENTER_SIZ": 1.0, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 634.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51454400046204, 39.12715999987369, -84.51294400046218, 39.12785999987363], "geometry": {"coordinates": [[[-84.51454400046204, 39.12725999987368], [-84.51454400046204, 39.12785999987363], [-84.51374400046211, 39.127859999873614], [-84.51294400046218, 39.127859999873614], [-84.51304400046217, 39.12715999987369], [-84.5137440004621, 39.12715999987369], [-84.51454400046204, 39.12725999987368]]], "type": "Polygon"}, "id": "126", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 45.0, "AGE_20_24": 32.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 40.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.59, "BG": "390610033002", "BLACK": 14.0, "BLOCK": "390610033002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14728.9774, "F1_RACE": 57.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 23.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 5.0, "ID": 683329.0, "IN_HOUSEHO": 57.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.6, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 57.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 57.0, "RENTER_SIZ": 2.7, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51374400046211, 39.127859999873614, -84.51284400046222, 39.12852699987354], "geometry": {"coordinates": [[[-84.51374400046211, 39.127859999873614], [-84.51368300046212, 39.12852699987354], [-84.51284400046222, 39.12845999987356], [-84.51294400046218, 39.127859999873614], [-84.51374400046211, 39.127859999873614]]], "type": "Polygon"}, "id": "127", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683349.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51744400046172, 39.12895999987351, -84.51094400046243, 39.13305999987313], "geometry": {"coordinates": [[[-84.51614400046188, 39.13235999987321], [-84.515044000462, 39.13305999987313], [-84.51244400046228, 39.132859999873176], [-84.51264400046226, 39.13165999987326], [-84.51094400046243, 39.1314599998733], [-84.51114400046241, 39.13025999987339], [-84.51124300046237, 39.12895999987351], [-84.51284400046222, 39.1290599998735], [-84.51362800046212, 39.12913099987351], [-84.51724400046174, 39.12945999987347], [-84.51744400046172, 39.12965999987345], [-84.51734400046173, 39.12985999987343], [-84.51693200046178, 39.13071799987334], [-84.51614400046188, 39.13235999987321]]], "type": "Polygon"}, "id": "128", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 561.0, "AGE_18": 617.0, "AGE_20_24": 55.0, "AGE_21": 22.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 19.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 8.0, "AP_OTHER": 0.0, "AP_WHITE": 538.0, "AREA": 0.07, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 64.0, "BLOCK": "390610030002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8792.3227, "F1_RACE": 610.0, "F2_RACES": 8.0, "FEMALE": 238.0, "FEMALE_18": 238.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 617.0, "GROUP_QUAR": 617.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683367.0, "IN_HOUSEHO": 1.0, "MALE": 380.0, "MALE_18": 379.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 524.0, "NOT_HISPAN": 610.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 618.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 532.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5127080004622, 39.126106999873784, -84.5119480004623, 39.12685799987372], "geometry": {"coordinates": [[[-84.51234600046223, 39.126106999873784], [-84.51264400046222, 39.12655999987375], [-84.5127080004622, 39.12665699987375], [-84.51234400046225, 39.12675999987372], [-84.51214200046228, 39.12685799987372], [-84.5119480004623, 39.126554999873754], [-84.51204300046227, 39.12645999987375], [-84.51234600046223, 39.126106999873784]]], "type": "Polygon"}, "id": "129", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 0.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3777.4826, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 6.0, "ID": 683392.0, "IN_HOUSEHO": 4.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 4.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51214200046228, 39.126554999873754, -84.51144300046235, 39.127079999873686], "geometry": {"coordinates": [[[-84.51168300046233, 39.127079999873686], [-84.51144300046235, 39.127059999873715], [-84.5119480004623, 39.126554999873754], [-84.51214200046228, 39.12685799987372], [-84.51168300046233, 39.127079999873686]]], "type": "Polygon"}, "id": "130", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610025001", "BLACK": 0.0, "BLOCK": "390610025001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 3.0, "ID": 683432.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51304400046217, 39.127059999873715, -84.51074300046243, 39.127859999873614], "geometry": {"coordinates": [[[-84.51264400046223, 39.12715999987369], [-84.51304400046217, 39.12715999987369], [-84.51294400046218, 39.127859999873614], [-84.51074300046243, 39.12765999987362], [-84.51144300046235, 39.127059999873715], [-84.51168300046233, 39.127079999873686], [-84.51264400046223, 39.12715999987369]]], "type": "Polygon"}, "id": "131", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 8.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 28.0, "AGE_21": 42.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 3.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 34.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.6, "AVG_HHSIZE": 2.25, "BG": "390610033002", "BLACK": 24.0, "BLOCK": "390610033002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13335.9109, "F1_RACE": 61.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 683449.0, "IN_HOUSEHO": 54.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 2.25, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 32.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51294400046218, 39.12765999987362, -84.51074300046243, 39.1290599998735], "geometry": {"coordinates": [[[-84.51294400046218, 39.127859999873614], [-84.51284400046222, 39.12845999987356], [-84.51284400046222, 39.1290599998735], [-84.51124300046237, 39.12895999987351], [-84.51115700046239, 39.12844399987358], [-84.51114300046238, 39.12835999987357], [-84.51074300046243, 39.12765999987362], [-84.51294400046218, 39.127859999873614]]], "type": "Polygon"}, "id": "132", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 1.0, "AGE_20_24": 1.0, "AGE_21": 1.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.0239, "F1_RACE": 1.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 683469.0, "IN_HOUSEHO": 1.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 1.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5128440004622, 39.12505999987389, -84.50824300046268, 39.127059999873715], "geometry": {"coordinates": [[[-84.51264400046222, 39.125759999873836], [-84.51234600046223, 39.126106999873784], [-84.51204300046227, 39.12645999987375], [-84.5119480004623, 39.126554999873754], [-84.51144300046235, 39.127059999873715], [-84.50878800046263, 39.126810999873726], [-84.5082430004627, 39.126759999873755], [-84.50824300046268, 39.12555999987385], [-84.50834300046267, 39.12505999987389], [-84.50914400046258, 39.1251489998739], [-84.5128440004622, 39.125559999873815], [-84.51264400046222, 39.125759999873836]]], "type": "Polygon"}, "id": "133", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 73.0, "AGE_20_24": 39.0, "AGE_21": 58.0, "AGE_25_34": 6.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.47, "BG": "390610023001", "BLACK": 36.0, "BLOCK": "390610023001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3467.9192, "F1_RACE": 84.0, "F2_RACES": 0.0, "FEMALE": 41.0, "FEMALE_18": 35.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 19.0, "ID": 683489.0, "IN_HOUSEHO": 84.0, "MALE": 43.0, "MALE_18": 38.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 2.55, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 48.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51144300046235, 39.126759999873755, -84.5082430004627, 39.12765999987362], "geometry": {"coordinates": [[[-84.50878800046263, 39.126810999873726], [-84.51144300046235, 39.127059999873715], [-84.51074300046243, 39.12765999987362], [-84.50944300046257, 39.12745999987369], [-84.50864300046265, 39.12745999987367], [-84.5082430004627, 39.126759999873755], [-84.50878800046263, 39.126810999873726]]], "type": "Polygon"}, "id": "134", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 13.0, "AGE_21": 28.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.62, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5464.4265, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 683513.0, "IN_HOUSEHO": 34.0, "MALE": 16.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.7, "MSA": "1640", "NH_WHITE": 31.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.72, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 31.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12745999987367, -84.50784300046276, 39.12895999987352], "geometry": {"coordinates": [[[-84.51124300046237, 39.12895999987351], [-84.51044300046247, 39.12895999987352], [-84.50944300046258, 39.128859999873555], [-84.50870500046265, 39.12876799987356], [-84.50784300046276, 39.12865999987357], [-84.50794300046275, 39.12845999987357], [-84.50844300046269, 39.12795999987365], [-84.50864300046265, 39.12745999987367], [-84.50944300046257, 39.12745999987369], [-84.51074300046243, 39.12765999987362], [-84.51114300046238, 39.12835999987357], [-84.51115700046239, 39.12844399987358], [-84.51124300046237, 39.12895999987351]]], "type": "Polygon"}, "id": "135", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683531.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 23, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51124300046237, 39.12895999987351, -84.51024300046252, 39.13025999987339], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51024300046252, 39.13015999987343], [-84.51044300046247, 39.12895999987352], [-84.51124300046237, 39.12895999987351], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "136", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 14.0, "AGE_18": 58.0, "AGE_20_24": 27.0, "AGE_21": 38.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 4.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 47.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.48, "BG": "390610033002", "BLACK": 11.0, "BLOCK": "390610033002015", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 16899.405, "F1_RACE": 62.0, "F2_RACES": 5.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 8.0, "ID": 683553.0, "IN_HOUSEHO": 67.0, "MALE": 35.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 44.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 22.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.4, "POPULATION": 67.0, "RENTER_SIZ": 2.73, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 45.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51264400046226, 39.1314599998733, -84.51084400046246, 39.132859999873176], "geometry": {"coordinates": [[[-84.51264400046226, 39.13165999987326], [-84.51244400046228, 39.132859999873176], [-84.51084400046246, 39.132759999873166], [-84.51094400046243, 39.1314599998733], [-84.51264400046226, 39.13165999987326]]], "type": "Polygon"}, "id": "137", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030002", "BLACK": 0.0, "BLOCK": "390610030002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683571.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51044300046247, 39.128859999873555, -84.50934300046261, 39.13015999987343], "geometry": {"coordinates": [[[-84.51024300046252, 39.13015999987343], [-84.50934300046261, 39.13005999987343], [-84.50944300046258, 39.128859999873555], [-84.51044300046247, 39.12895999987352], [-84.51024300046252, 39.13015999987343]]], "type": "Polygon"}, "id": "138", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 8.0, "AGE_21": 21.0, "AGE_25_34": 11.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.69, "BG": "390610033002", "BLACK": 3.0, "BLOCK": "390610033002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6312.6006, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 14.0, "ID": 683588.0, "IN_HOUSEHO": 27.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 1.69, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51114400046241, 39.13015999987343, -84.51014300046252, 39.1314599998733], "geometry": {"coordinates": [[[-84.51114400046241, 39.13025999987339], [-84.51094400046243, 39.1314599998733], [-84.51014300046252, 39.1314599998733], [-84.51024300046252, 39.13015999987343], [-84.51114400046241, 39.13025999987339]]], "type": "Polygon"}, "id": "139", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 22.0, "AGE_18": 116.0, "AGE_20_24": 48.0, "AGE_21": 81.0, "AGE_25_34": 30.0, "AGE_35_44": 9.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 10.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 88.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 1.83, "BG": "390610033002", "BLACK": 27.0, "BLOCK": "390610033002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 31762.3412, "F1_RACE": 121.0, "F2_RACES": 5.0, "FEMALE": 44.0, "FEMALE_18": 42.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 69.0, "HSNG_UNITS": 77.0, "HU_OCCUPIE": 69.0, "HU_VACANT": 8.0, "ID": 683606.0, "IN_HOUSEHO": 126.0, "MALE": 82.0, "MALE_18": 74.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 86.0, "NOT_HISPAN": 125.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 62.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.14, "POPULATION": 126.0, "RENTER_SIZ": 1.79, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 86.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51024300046252, 39.13005999987343, -84.50924300046262, 39.1314599998733], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.51024300046252, 39.13015999987343], [-84.51014300046252, 39.1314599998733], [-84.50924300046262, 39.13135999987332], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "140", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 22.0, "AGE_21": 27.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 30.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.86, "BG": "390610033002", "BLACK": 9.0, "BLOCK": "390610033002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8925.1414, "F1_RACE": 39.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 0.0, "ID": 683623.0, "IN_HOUSEHO": 39.0, "MALE": 22.0, "MALE_18": 21.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.9, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 1.86, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50934300046261, 39.13005999987343, -84.5084430004627, 39.13135999987332], "geometry": {"coordinates": [[[-84.50934300046261, 39.13005999987343], [-84.50924300046262, 39.13135999987332], [-84.5084430004627, 39.131259999873315], [-84.5085430004627, 39.13005999987343], [-84.50934300046261, 39.13005999987343]]], "type": "Polygon"}, "id": "141", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 14.0, "AGE_18": 66.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 58.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.43, "AVG_HHSIZE": 2.03, "BG": "390610033002", "BLACK": 12.0, "BLOCK": "390610033002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19615.1423, "F1_RACE": 70.0, "F2_RACES": 3.0, "FEMALE": 28.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 4.0, "ID": 683641.0, "IN_HOUSEHO": 73.0, "MALE": 45.0, "MALE_18": 40.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 55.0, "NOT_HISPAN": 72.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 4.0, "POPULATION": 73.0, "RENTER_SIZ": 1.97, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 55.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51094400046243, 39.1314599998733, -84.51004300046255, 39.132759999873166], "geometry": {"coordinates": [[[-84.51094400046243, 39.1314599998733], [-84.51084400046246, 39.132759999873166], [-84.51004300046255, 39.132659999873205], [-84.51014300046252, 39.1314599998733], [-84.51094400046243, 39.1314599998733]]], "type": "Polygon"}, "id": "142", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 9.0, "AGE_18": 95.0, "AGE_20_24": 55.0, "AGE_21": 77.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 12.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 6.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 12.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 2.1, "BG": "390610033002", "BLACK": 29.0, "BLOCK": "390610033002005", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 28178.8347, "F1_RACE": 102.0, "F2_RACES": 3.0, "FEMALE": 49.0, "FEMALE_18": 40.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 12.0, "ID": 683658.0, "IN_HOUSEHO": 105.0, "MALE": 56.0, "MALE_18": 55.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 58.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.5, "POPULATION": 105.0, "RENTER_SIZ": 2.08, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 58.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51014300046252, 39.13135999987332, -84.50914300046264, 39.132659999873205], "geometry": {"coordinates": [[[-84.51004300046255, 39.132659999873205], [-84.50984300046255, 39.132659999873205], [-84.50914300046264, 39.132659999873205], [-84.50924300046262, 39.13135999987332], [-84.51014300046252, 39.1314599998733], [-84.51004300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "143", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033002", "BLACK": 0.0, "BLOCK": "390610033002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683676.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50924300046262, 39.131259999873315, -84.5084430004627, 39.132659999873205], "geometry": {"coordinates": [[[-84.50924300046262, 39.13135999987332], [-84.50914300046264, 39.132659999873205], [-84.50844300046272, 39.13255999987321], [-84.5084430004627, 39.131259999873315], [-84.50924300046262, 39.13135999987332]]], "type": "Polygon"}, "id": "144", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 64.0, "AGE_20_24": 31.0, "AGE_21": 51.0, "AGE_25_34": 14.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 42.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.73, "BG": "390610033002", "BLACK": 25.0, "BLOCK": "390610033002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19013.5995, "F1_RACE": 65.0, "F2_RACES": 4.0, "FEMALE": 26.0, "FEMALE_18": 22.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 36.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 6.0, "ID": 683695.0, "IN_HOUSEHO": 69.0, "MALE": 43.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 23.9, "MSA": "1640", "NH_WHITE": 40.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 69.0, "RENTER_SIZ": 1.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 40.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51914400046158, 39.134959999872954, -84.51474400046204, 39.138259999872645], "geometry": {"coordinates": [[[-84.51744400046175, 39.134959999872954], [-84.51914400046158, 39.134959999872954], [-84.51764400046174, 39.136959999872786], [-84.51574400046195, 39.138259999872645], [-84.51514400046202, 39.1377599998727], [-84.51494400046204, 39.1365599998728], [-84.515144000462, 39.13585999987289], [-84.51474400046204, 39.13565999987291], [-84.51644400046186, 39.13505999987293], [-84.51744400046175, 39.134959999872954]]], "type": "Polygon"}, "id": "145", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 683712.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.515044000462, 39.132759999873166, -84.51054400046252, 39.13565999987291], "geometry": {"coordinates": [[[-84.51244400046228, 39.132859999873176], [-84.515044000462, 39.13305999987313], [-84.51484400046203, 39.13425999987301], [-84.51474400046204, 39.13565999987291], [-84.51384400046216, 39.13555999987291], [-84.51271800046229, 39.135491999872926], [-84.51212000046235, 39.13545599987292], [-84.51054400046252, 39.135359999872946], [-84.5106440004625, 39.13485999987298], [-84.51074400046248, 39.13405999987305], [-84.51084400046246, 39.132759999873166], [-84.51244400046228, 39.132859999873176]]], "type": "Polygon"}, "id": "146", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 10.0, "AGE_15_19": 249.0, "AGE_18": 1029.0, "AGE_20_24": 412.0, "AGE_21": 618.0, "AGE_25_34": 251.0, "AGE_35_44": 71.0, "AGE_45_54": 30.0, "AGE_55_59": 8.0, "AGE_5_9": 28.0, "AGE_60_64": 6.0, "AGE_62": 10.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 387.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 24.0, "AP_OTHER": 37.0, "AP_WHITE": 459.0, "AREA": 0.04, "ASIAN": 372.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.69, "AVG_HHSIZE": 1.92, "BG": "390610030002", "BLACK": 244.0, "BLOCK": "390610030002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27691.1011, "F1_RACE": 1072.0, "F2_RACES": 36.0, "FEMALE": 470.0, "FEMALE_18": 429.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 423.0, "GROUP_QUAR": 423.0, "HAWAIIAN": 5.0, "HH_FAMILY": 119.0, "HH_NONFAMI": 237.0, "HOUSEHOLDS": 356.0, "HSNG_UNITS": 362.0, "HU_OCCUPIE": 356.0, "HU_VACANT": 6.0, "ID": 683730.0, "IN_HOUSEHO": 685.0, "MALE": 638.0, "MALE_18": 600.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 422.0, "NOT_HISPAN": 1084.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 354.0, "OTHER_RACE": 15.0, "OWNER_SIZE": 1.5, "POPULATION": 1108.0, "RENTER_SIZ": 1.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 435.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50194300046337, 39.12465999987397, -84.4999430004636, 39.126359999873806], "geometry": {"coordinates": [[[-84.50174300046339, 39.12475999987396], [-84.50194300046337, 39.125159999873944], [-84.5017430004634, 39.126359999873806], [-84.4999430004636, 39.12625999987383], [-84.50014300046355, 39.12465999987397], [-84.50174300046339, 39.12475999987396]]], "type": "Polygon"}, "id": "147", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697320.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50324300046324, 39.127259999873715, -84.50164300046343, 39.12815999987364], "geometry": {"coordinates": [[[-84.50324300046324, 39.12735999987369], [-84.50314300046327, 39.12815999987364], [-84.50164300046343, 39.12805999987364], [-84.5018430004634, 39.127259999873715], [-84.50324300046324, 39.12735999987369]]], "type": "Polygon"}, "id": "148", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 25.0, "AGE_20_24": 3.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 13.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.13, "BG": "390610033001", "BLACK": 14.0, "BLOCK": "390610033001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6204.9883, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 8.0, "ID": 697337.0, "IN_HOUSEHO": 27.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 27.0, "RENTER_SIZ": 1.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 13.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.12805999987364, -84.50164300046343, 39.12865999987358], "geometry": {"coordinates": [[[-84.50314300046327, 39.12815999987364], [-84.50324300046326, 39.128259999873634], [-84.50164300046343, 39.12865999987358], [-84.50164300046343, 39.12805999987364], [-84.50314300046327, 39.12815999987364]]], "type": "Polygon"}, "id": "149", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 697355.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5018430004634, 39.126359999873806, -84.49914300046369, 39.12865999987358], "geometry": {"coordinates": [[[-84.50164300046343, 39.12805999987364], [-84.50164300046343, 39.12865999987358], [-84.49914300046369, 39.128259999873634], [-84.49984300046361, 39.127759999873675], [-84.50094300046348, 39.127259999873715], [-84.5017430004634, 39.126359999873806], [-84.5018430004634, 39.127259999873715], [-84.50164300046343, 39.12805999987364]]], "type": "Polygon"}, "id": "150", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697372.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50454300046312, 39.12795999987365, -84.50294300046332, 39.13085999987339], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50294300046332, 39.13075999987339], [-84.50324300046326, 39.128259999873634], [-84.50334300046325, 39.12815999987364], [-84.50454300046312, 39.12795999987365], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "151", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 119.0, "AGE_20_24": 35.0, "AGE_21": 109.0, "AGE_25_34": 26.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 8.0, "AGE_62": 13.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 81.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 6.0, "AP_OTHER": 2.0, "AP_WHITE": 52.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.66, "BG": "390610033001", "BLACK": 80.0, "BLOCK": "390610033001007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10556.7195, "F1_RACE": 137.0, "F2_RACES": 1.0, "FEMALE": 64.0, "FEMALE_18": 55.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 57.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 697392.0, "IN_HOUSEHO": 138.0, "MALE": 74.0, "MALE_18": 64.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 48.0, "NOT_HISPAN": 132.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 74.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.56, "POPULATION": 138.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 51.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13075999987339, -84.50284300046332, 39.13155999987331], "geometry": {"coordinates": [[[-84.50424300046318, 39.13085999987339], [-84.50424300046318, 39.13155999987331], [-84.50284300046332, 39.13145999987332], [-84.50294300046332, 39.13075999987339], [-84.50424300046318, 39.13085999987339]]], "type": "Polygon"}, "id": "152", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 3.0, "AGE_18": 52.0, "AGE_20_24": 17.0, "AGE_21": 47.0, "AGE_25_34": 8.0, "AGE_35_44": 10.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 10.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 71.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.52, "BG": "390610033001", "BLACK": 71.0, "BLOCK": "390610033001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23024.8535, "F1_RACE": 81.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 7.0, "ID": 697411.0, "IN_HOUSEHO": 81.0, "MALE": 42.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.6, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 81.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.83, "POPULATION": 81.0, "RENTER_SIZ": 3.41, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 10.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50504300046309, 39.13225999987324, -84.50414300046317, 39.13305999987318], "geometry": {"coordinates": [[[-84.50504300046309, 39.13235999987324], [-84.5049430004631, 39.13305999987318], [-84.50414300046319, 39.13305999987318], [-84.50414300046317, 39.13225999987324], [-84.50504300046309, 39.13235999987324]]], "type": "Polygon"}, "id": "153", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 15.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 4.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.82, "BG": "390610032002", "BLACK": 25.0, "BLOCK": "390610032002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16878.2214, "F1_RACE": 40.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 0.0, "ID": 697428.0, "IN_HOUSEHO": 40.0, "MALE": 21.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 40.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 40.0, "RENTER_SIZ": 1.81, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50424300046318, 39.13145999987332, -84.50274300046333, 39.13225999987324], "geometry": {"coordinates": [[[-84.50424300046318, 39.13155999987331], [-84.50414300046317, 39.13225999987324], [-84.50274300046333, 39.13215999987327], [-84.50284300046332, 39.13145999987332], [-84.50424300046318, 39.13155999987331]]], "type": "Polygon"}, "id": "154", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 35.0, "AGE_20_24": 8.0, "AGE_21": 35.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 5.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.59, "BG": "390610033001", "BLACK": 34.0, "BLOCK": "390610033001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12002.0838, "F1_RACE": 43.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 697446.0, "IN_HOUSEHO": 44.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 4.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.5, "POPULATION": 44.0, "RENTER_SIZ": 2.31, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 5.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13215999987327, -84.50264300046334, 39.13305999987318], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.50264300046334, 39.13285999987319], [-84.50274300046333, 39.13215999987327], [-84.50414300046317, 39.13225999987324], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "155", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 6.0, "AGE_15_19": 10.0, "AGE_18": 79.0, "AGE_20_24": 33.0, "AGE_21": 66.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 38.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.17, "BG": "390610032002", "BLACK": 59.0, "BLOCK": "390610032002019", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24662.0841, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 39.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 50.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 4.0, "ID": 697463.0, "IN_HOUSEHO": 100.0, "MALE": 50.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 38.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 42.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 100.0, "RENTER_SIZ": 2.14, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 38.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50324300046326, 39.128259999873634, -84.50144300046345, 39.13075999987339], "geometry": {"coordinates": [[[-84.50294300046332, 39.13075999987339], [-84.50144300046345, 39.13065999987342], [-84.50154300046344, 39.12945999987352], [-84.50164300046343, 39.12865999987358], [-84.50324300046326, 39.128259999873634], [-84.50294300046332, 39.13075999987339]]], "type": "Polygon"}, "id": "156", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610033001", "BLACK": 0.0, "BLOCK": "390610033001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50294300046332, 39.13065999987342, -84.5012430004635, 39.132359999873266], "geometry": {"coordinates": [[[-84.50284300046332, 39.13145999987332], [-84.50274300046333, 39.13215999987327], [-84.50174300046343, 39.13225999987326], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13195999987329], [-84.50144300046345, 39.13065999987342], [-84.50294300046332, 39.13075999987339], [-84.50284300046332, 39.13145999987332]]], "type": "Polygon"}, "id": "157", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 150.0, "AGE_20_24": 13.0, "AGE_21": 144.0, "AGE_25_34": 30.0, "AGE_35_44": 27.0, "AGE_45_54": 27.0, "AGE_55_59": 14.0, "AGE_5_9": 18.0, "AGE_60_64": 8.0, "AGE_62": 33.0, "AGE_65": 28.0, "AGE_65_74": 17.0, "AGE_75_84": 8.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 179.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.74, "AVG_HHSIZE": 1.79, "BG": "390610033001", "BLACK": 174.0, "BLOCK": "390610033001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 22368.6271, "F1_RACE": 188.0, "F2_RACES": 5.0, "FEMALE": 121.0, "FEMALE_18": 93.0, "FEMALE_65": 22.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 108.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 108.0, "HU_VACANT": 7.0, "ID": 697498.0, "IN_HOUSEHO": 193.0, "MALE": 72.0, "MALE_18": 57.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 189.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 103.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 3.0, "POPULATION": 193.0, "RENTER_SIZ": 1.73, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003300", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50274300046333, 39.13215999987327, -84.5012430004635, 39.13285999987319], "geometry": {"coordinates": [[[-84.50274300046333, 39.13215999987327], [-84.50264300046334, 39.13285999987319], [-84.5012430004635, 39.13285999987319], [-84.5012430004635, 39.132359999873266], [-84.50174300046343, 39.13225999987326], [-84.50274300046333, 39.13215999987327]]], "type": "Polygon"}, "id": "158", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 11.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 32.0, "BLOCK": "390610032002020", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15171.3464, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 1.0, "ID": 697517.0, "IN_HOUSEHO": 50.0, "MALE": 28.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 50.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 18.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50144300046345, 39.130459999873445, -84.49964300046366, 39.13265999987324], "geometry": {"coordinates": [[[-84.50144300046345, 39.13065999987342], [-84.5012430004635, 39.13195999987329], [-84.5012430004635, 39.132359999873266], [-84.49964300046366, 39.13265999987324], [-84.49974300046365, 39.13155999987333], [-84.49994300046363, 39.130459999873445], [-84.50144300046345, 39.13065999987342]]], "type": "Polygon"}, "id": "159", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 6.0, "AGE_21": 29.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.38, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 23.0, "BLOCK": "390610034002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3035.2329, "F1_RACE": 33.0, "F2_RACES": 1.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 0.0, "ID": 697534.0, "IN_HOUSEHO": 34.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 34.0, "RENTER_SIZ": 1.7, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 9.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50844300046272, 39.13245999987321, -84.50734300046284, 39.13385999987311], "geometry": {"coordinates": [[[-84.50844300046272, 39.13255999987321], [-84.50834300046274, 39.13385999987311], [-84.50814300046274, 39.133859999873096], [-84.50734300046284, 39.133859999873096], [-84.50744300046281, 39.13245999987321], [-84.50844300046272, 39.13255999987321]]], "type": "Polygon"}, "id": "160", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 43.0, "AGE_20_24": 18.0, "AGE_21": 37.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 2.38, "BG": "390610032002", "BLACK": 36.0, "BLOCK": "390610032002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9965.0563, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 6.0, "ID": 697553.0, "IN_HOUSEHO": 50.0, "MALE": 30.0, "MALE_18": 25.0, "MALE_65": 1.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.25, "POPULATION": 50.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 12.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50904300046265, 39.133859999873096, -84.50804300046278, 39.13515999987295], "geometry": {"coordinates": [[[-84.50904300046265, 39.133859999873096], [-84.50894300046268, 39.13515999987295], [-84.50804300046278, 39.13515999987295], [-84.50814300046274, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50904300046265, 39.133859999873096]]], "type": "Polygon"}, "id": "161", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 3.0, "AGE_18": 57.0, "AGE_20_24": 19.0, "AGE_21": 52.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 7.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.97, "BG": "390610032002", "BLACK": 45.0, "BLOCK": "390610032002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15926.4729, "F1_RACE": 68.0, "F2_RACES": 1.0, "FEMALE": 27.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 697572.0, "IN_HOUSEHO": 69.0, "MALE": 42.0, "MALE_18": 31.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.4, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 69.0, "RENTER_SIZ": 1.97, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50814300046274, 39.133859999873096, -84.50734300046284, 39.13515999987295], "geometry": {"coordinates": [[[-84.50804300046278, 39.13515999987295], [-84.50734300046285, 39.13505999987297], [-84.50734300046284, 39.133859999873096], [-84.50814300046274, 39.133859999873096], [-84.50804300046278, 39.13515999987295]]], "type": "Polygon"}, "id": "162", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 45.0, "AGE_20_24": 9.0, "AGE_21": 42.0, "AGE_25_34": 11.0, "AGE_35_44": 13.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.44, "BG": "390610032002", "BLACK": 44.0, "BLOCK": "390610032002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17524.9649, "F1_RACE": 59.0, "F2_RACES": 2.0, "FEMALE": 33.0, "FEMALE_18": 26.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 697590.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 61.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50944400046265, 39.13505999987297, -84.50544300046307, 39.137659999872724], "geometry": {"coordinates": [[[-84.50554300046306, 39.13585999987293], [-84.50554300046305, 39.13545999987295], [-84.50554300046305, 39.13515999987297], [-84.50714300046289, 39.13505999987297], [-84.50734300046285, 39.13505999987297], [-84.50804300046278, 39.13515999987295], [-84.50894300046268, 39.13515999987295], [-84.50904300046267, 39.13595999987288], [-84.50944400046265, 39.137659999872724], [-84.50826100046277, 39.137578999872744], [-84.50644300046295, 39.136759999872815], [-84.50544300046307, 39.13665999987285], [-84.50554300046306, 39.13585999987293]]], "type": "Polygon"}, "id": "163", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697608.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50734300046285, 39.1336599998731, -84.50554300046305, 39.13515999987297], "geometry": {"coordinates": [[[-84.50734300046284, 39.133859999873096], [-84.50734300046285, 39.13505999987297], [-84.50714300046289, 39.13505999987297], [-84.50554300046305, 39.13515999987297], [-84.50564300046304, 39.134459999873044], [-84.50574300046303, 39.1336599998731], [-84.50654300046293, 39.13375999987311], [-84.50734300046284, 39.133859999873096]]], "type": "Polygon"}, "id": "164", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 44.0, "AGE_20_24": 13.0, "AGE_21": 43.0, "AGE_25_34": 14.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.21, "BG": "390610032002", "BLACK": 34.0, "BLOCK": "390610032002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6263.9059, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 23.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 697632.0, "IN_HOUSEHO": 53.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 26.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 53.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 17.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.505843000463, 39.13305999987318, -84.5049430004631, 39.133659999873124], "geometry": {"coordinates": [[[-84.505843000463, 39.13315999987314], [-84.50574300046303, 39.1336599998731], [-84.5049430004631, 39.133659999873124], [-84.5049430004631, 39.13305999987318], [-84.505843000463, 39.13315999987314]]], "type": "Polygon"}, "id": "165", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 1.0, "AGE_21": 9.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.5, "BG": "390610032002", "BLACK": 3.0, "BLOCK": "390610032002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5745.7963, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 697652.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 10.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50574300046303, 39.1336599998731, -84.50484300046311, 39.134459999873044], "geometry": {"coordinates": [[[-84.50574300046303, 39.1336599998731], [-84.50564300046304, 39.134459999873044], [-84.50484300046311, 39.13435999987304], [-84.5049430004631, 39.133659999873124], [-84.50574300046303, 39.1336599998731]]], "type": "Polygon"}, "id": "166", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610032002", "BLACK": 24.0, "BLOCK": "390610032002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12498.4938, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 697669.0, "IN_HOUSEHO": 28.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.2, "POPULATION": 28.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50564300046304, 39.13435999987304, -84.50474300046312, 39.13515999987297], "geometry": {"coordinates": [[[-84.50564300046304, 39.134459999873044], [-84.50554300046305, 39.13515999987297], [-84.50474300046312, 39.135059999872986], [-84.50484300046311, 39.13435999987304], [-84.50564300046304, 39.134459999873044]]], "type": "Polygon"}, "id": "167", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 21.0, "AGE_20_24": 11.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.25, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12792.2919, "F1_RACE": 26.0, "F2_RACES": 1.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 4.0, "ID": 697687.0, "IN_HOUSEHO": 27.0, "MALE": 10.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 27.0, "RENTER_SIZ": 2.09, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50554300046305, 39.13505999987297, -84.50384300046323, 39.13545999987295], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50384300046323, 39.13536199987297], [-84.50384300046323, 39.13505999987297], [-84.50474300046312, 39.135059999872986], [-84.50554300046305, 39.13515999987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "168", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 88.0, "AGE_20_24": 38.0, "AGE_21": 82.0, "AGE_25_34": 37.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 27.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 56.0, "AREA": 0.0, "ASIAN": 26.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.38, "BG": "390610032001", "BLACK": 12.0, "BLOCK": "390610032001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 45600.0576, "F1_RACE": 91.0, "F2_RACES": 3.0, "FEMALE": 55.0, "FEMALE_18": 50.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 59.0, "HOUSEHOLDS": 68.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 68.0, "HU_VACANT": 0.0, "ID": 697704.0, "IN_HOUSEHO": 94.0, "MALE": 39.0, "MALE_18": 38.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 68.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 94.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 53.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50554300046306, 39.13536199987297, -84.50374300046326, 39.13665999987285], "geometry": {"coordinates": [[[-84.50554300046305, 39.13545999987295], [-84.50554300046306, 39.13585999987293], [-84.50544300046307, 39.13665999987285], [-84.50374300046326, 39.13655999987285], [-84.50384300046323, 39.135759999872924], [-84.50384300046323, 39.13536199987297], [-84.50554300046305, 39.13545999987295]]], "type": "Polygon"}, "id": "169", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697723.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50934400046268, 39.140259999872484, -84.50744400046288, 39.14125999987239], "geometry": {"coordinates": [[[-84.50934400046268, 39.140259999872484], [-84.50924400046269, 39.14125999987239], [-84.50744400046288, 39.141159999872414], [-84.50754300046286, 39.140259999872505], [-84.50934400046268, 39.140259999872484]]], "type": "Polygon"}, "id": "170", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 28.0, "AGE_20_24": 6.0, "AGE_21": 27.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 8.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.5, "BG": "390610032001", "BLACK": 21.0, "BLOCK": "390610032001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5510.4161, "F1_RACE": 30.0, "F2_RACES": 5.0, "FEMALE": 14.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 1.0, "ID": 697743.0, "IN_HOUSEHO": 35.0, "MALE": 21.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 35.0, "RENTER_SIZ": 2.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 5.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50954400046263, 39.13665999987285, -84.50024300046367, 39.142259999872316], "geometry": {"coordinates": [[[-84.50924400046269, 39.14125999987239], [-84.5092440004627, 39.142259999872316], [-84.50574300046307, 39.14205999987235], [-84.50324300046334, 39.14185999987239], [-84.50304300046336, 39.141859999872366], [-84.50024300046367, 39.1416599998724], [-84.50034300046366, 39.1406599998725], [-84.50054300046362, 39.139659999872585], [-84.50054300046362, 39.13935999987259], [-84.5006430004636, 39.138359999872684], [-84.5015430004635, 39.13845999987268], [-84.50214300046343, 39.13935999987259], [-84.50504300046315, 39.13955999987258], [-84.50537800046308, 39.137129999872776], [-84.50544300046307, 39.13665999987285], [-84.50644300046295, 39.136759999872815], [-84.50826100046277, 39.137578999872744], [-84.50944400046265, 39.137659999872724], [-84.50954400046263, 39.138059999872695], [-84.50934400046268, 39.140259999872484], [-84.50754300046286, 39.140259999872505], [-84.50744400046288, 39.141159999872414], [-84.50924400046269, 39.14125999987239]]], "type": "Polygon"}, "id": "171", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 297.0, "AGE_20_24": 46.0, "AGE_21": 290.0, "AGE_25_34": 69.0, "AGE_35_44": 49.0, "AGE_45_54": 48.0, "AGE_55_59": 15.0, "AGE_5_9": 5.0, "AGE_60_64": 10.0, "AGE_62": 62.0, "AGE_65": 56.0, "AGE_65_74": 27.0, "AGE_75_84": 25.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 50.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 9.0, "AP_WHITE": 155.0, "AREA": 0.12, "ASIAN": 44.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.79, "AVG_HHSIZE": 1.71, "BG": "390610032001", "BLACK": 122.0, "BLOCK": "390610032001000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 2794.7365, "F1_RACE": 317.0, "F2_RACES": 12.0, "FEMALE": 109.0, "FEMALE_18": 95.0, "FEMALE_65": 13.0, "GQ_INSTITU": 101.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 101.0, "HAWAIIAN": 0.0, "HH_FAMILY": 43.0, "HH_NONFAMI": 90.0, "HOUSEHOLDS": 133.0, "HSNG_UNITS": 150.0, "HU_OCCUPIE": 133.0, "HU_VACANT": 17.0, "ID": 697760.0, "IN_HOUSEHO": 228.0, "MALE": 220.0, "MALE_18": 202.0, "MALE_65": 43.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 148.0, "NOT_HISPAN": 327.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 107.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.27, "POPULATION": 329.0, "RENTER_SIZ": 1.58, "THEFT": 33, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 148.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13305999987318, -84.5040430004632, 39.133659999873124], "geometry": {"coordinates": [[[-84.5049430004631, 39.13305999987318], [-84.5049430004631, 39.133659999873124], [-84.5040430004632, 39.13355999987311], [-84.50414300046319, 39.13305999987318], [-84.5049430004631, 39.13305999987318]]], "type": "Polygon"}, "id": "172", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 13.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 28.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 53.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.23, "AVG_HHSIZE": 3.53, "BG": "390610032002", "BLACK": 53.0, "BLOCK": "390610032002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 34474.8115, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 21.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 4.0, "ID": 697792.0, "IN_HOUSEHO": 60.0, "MALE": 24.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 19.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 60.0, "RENTER_SIZ": 3.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5049430004631, 39.13355999987311, -84.5040430004632, 39.13435999987306], "geometry": {"coordinates": [[[-84.5049430004631, 39.133659999873124], [-84.50484300046311, 39.13435999987304], [-84.5040430004632, 39.13435999987306], [-84.5040430004632, 39.13355999987311], [-84.5049430004631, 39.133659999873124]]], "type": "Polygon"}, "id": "173", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 24.0, "AGE_25_34": 8.0, "AGE_35_44": 4.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 31.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.31, "BG": "390610032002", "BLACK": 30.0, "BLOCK": "390610032002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15612.5144, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 3.0, "ID": 697810.0, "IN_HOUSEHO": 37.0, "MALE": 17.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50484300046311, 39.13435999987304, -84.50384300046323, 39.135059999872986], "geometry": {"coordinates": [[[-84.50484300046311, 39.13435999987304], [-84.50474300046312, 39.135059999872986], [-84.50384300046323, 39.13505999987297], [-84.5040430004632, 39.13435999987306], [-84.50484300046311, 39.13435999987304]]], "type": "Polygon"}, "id": "174", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032002", "BLACK": 0.0, "BLOCK": "390610032002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697827.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50414300046319, 39.13285999987319, -84.50264300046334, 39.13355999987311], "geometry": {"coordinates": [[[-84.50414300046319, 39.13305999987318], [-84.5040430004632, 39.13355999987311], [-84.50264300046335, 39.13345999987315], [-84.50264300046334, 39.13285999987319], [-84.50414300046319, 39.13305999987318]]], "type": "Polygon"}, "id": "175", "properties": {"AGE_0_5": 13.0, "AGE_10_14": 4.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 14.0, "AGE_21": 71.0, "AGE_25_34": 23.0, "AGE_35_44": 9.0, "AGE_45_54": 16.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 98.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610032002", "BLACK": 96.0, "BLOCK": "390610032002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 35895.2371, "F1_RACE": 105.0, "F2_RACES": 2.0, "FEMALE": 57.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 61.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 61.0, "HU_VACANT": 2.0, "ID": 697845.0, "IN_HOUSEHO": 107.0, "MALE": 50.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.7, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 9.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13345999987315, -84.50254300046338, 39.13435999987306], "geometry": {"coordinates": [[[-84.5040430004632, 39.13355999987311], [-84.5040430004632, 39.13435999987306], [-84.50254300046338, 39.13425999987308], [-84.50264300046335, 39.13345999987315], [-84.5040430004632, 39.13355999987311]]], "type": "Polygon"}, "id": "176", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 33.0, "AGE_20_24": 12.0, "AGE_21": 33.0, "AGE_25_34": 18.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 9.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 9.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.22, "BG": "390610032002", "BLACK": 7.0, "BLOCK": "390610032002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7649.6439, "F1_RACE": 32.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 1.0, "ID": 697862.0, "IN_HOUSEHO": 33.0, "MALE": 15.0, "MALE_18": 15.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 33.0, "RENTER_SIZ": 1.22, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5040430004632, 39.13425999987308, -84.50244300046339, 39.13505999987297], "geometry": {"coordinates": [[[-84.5040430004632, 39.13435999987306], [-84.50384300046323, 39.13505999987297], [-84.50244300046339, 39.13495999987302], [-84.50254300046338, 39.13425999987308], [-84.5040430004632, 39.13435999987306]]], "type": "Polygon"}, "id": "177", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 22.0, "AGE_20_24": 4.0, "AGE_21": 19.0, "AGE_25_34": 6.0, "AGE_35_44": 2.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.92, "BG": "390610032002", "BLACK": 16.0, "BLOCK": "390610032002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6030.4194, "F1_RACE": 19.0, "F2_RACES": 4.0, "FEMALE": 8.0, "FEMALE_18": 8.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 12.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 12.0, "HU_VACANT": 2.0, "ID": 697880.0, "IN_HOUSEHO": 23.0, "MALE": 15.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.86, "POPULATION": 23.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50384300046323, 39.13495999987302, -84.50244300046339, 39.13536199987297], "geometry": {"coordinates": [[[-84.50384300046323, 39.13505999987297], [-84.50384300046323, 39.13536199987297], [-84.50244300046339, 39.13528099987297], [-84.50244300046339, 39.13495999987302], [-84.50384300046323, 39.13505999987297]]], "type": "Polygon"}, "id": "178", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610032001", "BLACK": 0.0, "BLOCK": "390610032001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 697897.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003200", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.129259999873604, -84.48394300046536, 39.13075999987347], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.48394300046536, 39.13065999987348], [-84.48404300046533, 39.129459999873596], [-84.48414300046532, 39.129259999873604], [-84.48574300046515, 39.129359999873586], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "179", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037003", "BLACK": 0.0, "BLOCK": "390610037003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707099.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.131759999873395, -84.4854430004652, 39.132659999873304], "geometry": {"coordinates": [[[-84.48684300046504, 39.13185999987336], [-84.48684300046504, 39.132659999873304], [-84.4854430004652, 39.1325599998733], [-84.4854430004652, 39.131759999873395], [-84.48684300046504, 39.13185999987336]]], "type": "Polygon"}, "id": "180", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 2.0, "AGE_21": 15.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.0, "BG": "390610036001", "BLACK": 20.0, "BLOCK": "390610036001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4822.2972, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 8.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 7.0, "ID": 707117.0, "IN_HOUSEHO": 20.0, "MALE": 11.0, "MALE_18": 9.0, "MALE_65": 2.0, "MEDIAN_AGE": 47.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 20.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48596700046515, 39.13276599987328, -84.48504300046523, 39.133397999873225], "geometry": {"coordinates": [[[-84.48596700046515, 39.133397999873225], [-84.48504300046524, 39.13335999987322], [-84.48504300046523, 39.13276599987328], [-84.48596700046515, 39.133397999873225]]], "type": "Polygon"}, "id": "181", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.5, "BG": "390610036001", "BLACK": 5.0, "BLOCK": "390610036001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4920.2886, "F1_RACE": 5.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 707135.0, "IN_HOUSEHO": 5.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 5.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48554300046517, 39.13065999987348, -84.48384300046537, 39.131759999873395], "geometry": {"coordinates": [[[-84.48554300046517, 39.13075999987347], [-84.4854430004652, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.48384300046537, 39.131619999873394], [-84.48384300046537, 39.131359999873425], [-84.48394300046536, 39.13065999987348], [-84.48554300046517, 39.13075999987347]]], "type": "Polygon"}, "id": "182", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 21.0, "AGE_20_24": 0.0, "AGE_21": 20.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.36, "BG": "390610037003", "BLACK": 33.0, "BLOCK": "390610037003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5240.2265, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 13.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 16.0, "ID": 707151.0, "IN_HOUSEHO": 33.0, "MALE": 11.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 30.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 2.5, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4854430004652, 39.131759999873395, -84.48383200046537, 39.1325599998733], "geometry": {"coordinates": [[[-84.4854430004652, 39.131759999873395], [-84.4854430004652, 39.1325599998733], [-84.48504300046523, 39.1325599998733], [-84.48480700046527, 39.132559999873294], [-84.48383200046537, 39.13184799987338], [-84.48384300046537, 39.131759999873395], [-84.48390600046537, 39.131759999873395], [-84.4854430004652, 39.131759999873395]]], "type": "Polygon"}, "id": "183", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 707171.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48504300046523, 39.132559999873294, -84.48480700046527, 39.13276599987328], "geometry": {"coordinates": [[[-84.48504300046523, 39.1325599998733], [-84.48504300046523, 39.13276599987328], [-84.48480700046527, 39.132559999873294], [-84.48504300046523, 39.1325599998733]]], "type": "Polygon"}, "id": "184", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036001", "BLACK": 0.0, "BLOCK": "390610036001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 2.0, "ID": 707192.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48480700046527, 39.13184799987338, -84.48374300046537, 39.13255999987331], "geometry": {"coordinates": [[[-84.48480700046527, 39.132559999873294], [-84.48374300046537, 39.13255999987331], [-84.48383200046537, 39.13184799987338], [-84.48480700046527, 39.132559999873294]]], "type": "Polygon"}, "id": "185", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036001", "BLACK": 3.0, "BLOCK": "390610036001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2138.8145, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707208.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49294300046441, 39.13435999987311, -84.49154300046456, 39.13585999987298], "geometry": {"coordinates": [[[-84.49234300046446, 39.13435999987311], [-84.49294300046441, 39.134459999873094], [-84.49244300046446, 39.135159999873025], [-84.49221400046447, 39.135337999873], [-84.49154300046456, 39.13585999987298], [-84.49234300046446, 39.13435999987311]]], "type": "Polygon"}, "id": "186", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707224.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49234300046447, 39.135337999873, -84.49154300046456, 39.13675999987287], "geometry": {"coordinates": [[[-84.49234300046447, 39.13675999987287], [-84.49154300046457, 39.1366599998729], [-84.49154300046456, 39.13585999987298], [-84.49221400046447, 39.135337999873], [-84.49224300046448, 39.135659999872985], [-84.49234300046447, 39.13675999987287]]], "type": "Polygon"}, "id": "187", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610034001", "BLACK": 2.0, "BLOCK": "390610034001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 650.2932, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707242.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 69.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49234300046446, 39.13435999987311, -84.49014300046471, 39.13645999987293], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49014300046471, 39.13645999987293], [-84.49064300046464, 39.135159999873025], [-84.49164300046453, 39.13435999987311], [-84.49234300046446, 39.13435999987311], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "188", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707261.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.13585999987298, -84.49014300046471, 39.13675999987289], "geometry": {"coordinates": [[[-84.49154300046456, 39.13585999987298], [-84.49154300046457, 39.1366599998729], [-84.49014300046471, 39.13675999987289], [-84.49014300046471, 39.13645999987293], [-84.49154300046456, 39.13585999987298]]], "type": "Polygon"}, "id": "189", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707279.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49244300046446, 39.13315999987322, -84.487443000465, 39.13435999987311], "geometry": {"coordinates": [[[-84.49244300046446, 39.13415999987311], [-84.49234300046446, 39.13435999987311], [-84.49164300046453, 39.13435999987311], [-84.487443000465, 39.133659999873196], [-84.487443000465, 39.133459999873224], [-84.48764300046497, 39.13315999987322], [-84.48994300046472, 39.13325999987322], [-84.49174300046454, 39.13335999987318], [-84.49174300046455, 39.13415999987313], [-84.49244300046446, 39.13415999987311]]], "type": "Polygon"}, "id": "190", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 11.0, "AGE_18": 132.0, "AGE_20_24": 14.0, "AGE_21": 129.0, "AGE_25_34": 22.0, "AGE_35_44": 26.0, "AGE_45_54": 23.0, "AGE_55_59": 8.0, "AGE_5_9": 12.0, "AGE_60_64": 8.0, "AGE_62": 32.0, "AGE_65": 28.0, "AGE_65_74": 14.0, "AGE_75_84": 13.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.59, "AVG_HHSIZE": 1.68, "BG": "390610036002", "BLACK": 153.0, "BLOCK": "390610036002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12689.6134, "F1_RACE": 157.0, "F2_RACES": 3.0, "FEMALE": 92.0, "FEMALE_18": 76.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 63.0, "HOUSEHOLDS": 95.0, "HSNG_UNITS": 105.0, "HU_OCCUPIE": 95.0, "HU_VACANT": 10.0, "ID": 707297.0, "IN_HOUSEHO": 160.0, "MALE": 68.0, "MALE_18": 56.0, "MALE_65": 12.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 91.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.25, "POPULATION": 160.0, "RENTER_SIZ": 1.66, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49164300046453, 39.133659999873196, -84.48724300046503, 39.135159999873025], "geometry": {"coordinates": [[[-84.487443000465, 39.133659999873196], [-84.49164300046453, 39.13435999987311], [-84.49064300046464, 39.135159999873025], [-84.48994300046473, 39.134959999873075], [-84.48924300046481, 39.13485999987306], [-84.48874300046486, 39.13445999987311], [-84.48724300046503, 39.133859999873174], [-84.487443000465, 39.133659999873196]]], "type": "Polygon"}, "id": "191", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 3.0, "BG": "390610036002", "BLACK": 3.0, "BLOCK": "390610036002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 298.4113, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 707320.0, "IN_HOUSEHO": 3.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49064300046464, 39.13445999987311, -84.48614300046516, 39.13845999987274], "geometry": {"coordinates": [[[-84.49064300046464, 39.135159999873025], [-84.49014300046471, 39.13645999987293], [-84.48808200046494, 39.137448999872845], [-84.48764300046498, 39.13765999987284], [-84.48644300046513, 39.13845999987274], [-84.48614300046516, 39.13805999987279], [-84.48622800046516, 39.13771799987283], [-84.48624300046515, 39.13765999987284], [-84.48724300046504, 39.13655999987293], [-84.48804300046494, 39.13555999987301], [-84.48844300046488, 39.134959999873075], [-84.48874300046486, 39.13445999987311], [-84.48924300046481, 39.13485999987306], [-84.48994300046473, 39.134959999873075], [-84.49064300046464, 39.135159999873025]]], "type": "Polygon"}, "id": "192", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 11.0, "AGE_15_19": 16.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 16.0, "AGE_35_44": 17.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 26.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 109.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 3.21, "BG": "390610036002", "BLACK": 109.0, "BLOCK": "390610036002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4125.8625, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 31.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 12.0, "ID": 707340.0, "IN_HOUSEHO": 109.0, "MALE": 49.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.9, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 109.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.89, "POPULATION": 109.0, "RENTER_SIZ": 3.32, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49154300046457, 39.1366599998729, -84.49014300046471, 39.13845999987273], "geometry": {"coordinates": [[[-84.49154300046457, 39.1366599998729], [-84.49124300046462, 39.13785999987278], [-84.4903430004647, 39.13845999987273], [-84.4903430004647, 39.138259999872766], [-84.49014300046471, 39.13675999987289], [-84.49154300046457, 39.1366599998729]]], "type": "Polygon"}, "id": "193", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707365.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49114300046465, 39.139459999872614, -84.48944300046483, 39.140859999872504], "geometry": {"coordinates": [[[-84.49114300046465, 39.139459999872614], [-84.49094300046467, 39.140859999872504], [-84.48974300046478, 39.140859999872504], [-84.48944300046483, 39.14075999987253], [-84.4896430004648, 39.13955999987264], [-84.49044300046471, 39.13945999987263], [-84.49114300046465, 39.139459999872614]]], "type": "Polygon"}, "id": "194", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 18.0, "AGE_15_19": 16.0, "AGE_18": 97.0, "AGE_20_24": 11.0, "AGE_21": 92.0, "AGE_25_34": 20.0, "AGE_35_44": 23.0, "AGE_45_54": 15.0, "AGE_55_59": 7.0, "AGE_5_9": 13.0, "AGE_60_64": 6.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 6.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610067001", "BLACK": 147.0, "BLOCK": "390610067001005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 19678.1357, "F1_RACE": 149.0, "F2_RACES": 0.0, "FEMALE": 71.0, "FEMALE_18": 53.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 62.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 62.0, "HU_VACANT": 12.0, "ID": 707382.0, "IN_HOUSEHO": 149.0, "MALE": 78.0, "MALE_18": 44.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 149.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 39.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 149.0, "RENTER_SIZ": 2.31, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4903430004647, 39.13645999987293, -84.48644300046513, 39.13965999987265], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48644300046513, 39.13845999987274], [-84.48764300046498, 39.13765999987284], [-84.48808200046494, 39.137448999872845], [-84.49014300046471, 39.13645999987293], [-84.49014300046471, 39.13675999987289], [-84.4903430004647, 39.138259999872766], [-84.4903430004647, 39.13845999987273], [-84.48724300046506, 39.13965999987265], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "195", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 15.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 6.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.7, "BG": "390610067001", "BLACK": 26.0, "BLOCK": "390610067001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1123.5003, "F1_RACE": 27.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 8.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 707402.0, "IN_HOUSEHO": 27.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 18.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 27.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 27.0, "RENTER_SIZ": 2.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49044300046471, 39.13845999987273, -84.48724300046506, 39.13985999987262], "geometry": {"coordinates": [[[-84.4903430004647, 39.13845999987273], [-84.49044300046471, 39.13945999987263], [-84.4896430004648, 39.13955999987264], [-84.48834300046495, 39.13985999987262], [-84.48734300046505, 39.13985999987261], [-84.48724300046506, 39.13965999987265], [-84.4903430004647, 39.13845999987273]]], "type": "Polygon"}, "id": "196", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 18.0, "AGE_20_24": 1.0, "AGE_21": 18.0, "AGE_25_34": 3.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.87, "BG": "390610067001", "BLACK": 27.0, "BLOCK": "390610067001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3626.9663, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 5.0, "ID": 707424.0, "IN_HOUSEHO": 28.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 28.0, "RENTER_SIZ": 2.2, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4896430004648, 39.13955999987264, -84.48734300046505, 39.14075999987253], "geometry": {"coordinates": [[[-84.4896430004648, 39.13955999987264], [-84.48944300046483, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.487743000465, 39.14045999987258], [-84.48734300046505, 39.13985999987261], [-84.48834300046495, 39.13985999987262], [-84.4896430004648, 39.13955999987264]]], "type": "Polygon"}, "id": "197", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 13.0, "AGE_15_19": 12.0, "AGE_18": 66.0, "AGE_20_24": 5.0, "AGE_21": 59.0, "AGE_25_34": 17.0, "AGE_35_44": 14.0, "AGE_45_54": 12.0, "AGE_55_59": 4.0, "AGE_5_9": 17.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 3.26, "BG": "390610067001", "BLACK": 107.0, "BLOCK": "390610067001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16117.6625, "F1_RACE": 111.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 9.0, "ID": 707443.0, "IN_HOUSEHO": 111.0, "MALE": 59.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 111.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 111.0, "RENTER_SIZ": 3.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48874300046486, 39.133859999873174, -84.48704300046504, 39.134959999873075], "geometry": {"coordinates": [[[-84.48724300046503, 39.133859999873174], [-84.48874300046486, 39.13445999987311], [-84.48844300046488, 39.134959999873075], [-84.48704300046504, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48724300046503, 39.133859999873174]]], "type": "Polygon"}, "id": "198", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 2.0, "AGE_21": 25.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 3.0, "AGE_55_59": 6.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.04, "BG": "390610036002", "BLACK": 24.0, "BLOCK": "390610036002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7760.281, "F1_RACE": 25.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 15.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 6.0, "ID": 707461.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 52.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48844300046488, 39.13435999987314, -84.48634300046511, 39.13555999987301], "geometry": {"coordinates": [[[-84.48844300046488, 39.134959999873075], [-84.48804300046494, 39.13555999987301], [-84.48704300046505, 39.13525999987304], [-84.48634300046511, 39.13505999987305], [-84.48704300046504, 39.13435999987314], [-84.48844300046488, 39.134959999873075]]], "type": "Polygon"}, "id": "199", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 20.0, "AGE_20_24": 5.0, "AGE_21": 19.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.58, "AVG_HHSIZE": 2.33, "BG": "390610036002", "BLACK": 35.0, "BLOCK": "390610036002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7242.9872, "F1_RACE": 35.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 14.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 18.0, "ID": 707480.0, "IN_HOUSEHO": 35.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 2.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 35.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 35.0, "RENTER_SIZ": 2.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48804300046494, 39.13525999987304, -84.48534300046525, 39.13805999987279], "geometry": {"coordinates": [[[-84.48724300046504, 39.13655999987293], [-84.48624300046515, 39.13765999987284], [-84.48622800046516, 39.13771799987283], [-84.48614300046516, 39.13805999987279], [-84.48534300046525, 39.13715999987289], [-84.48554300046523, 39.137059999872875], [-84.48704300046505, 39.13525999987304], [-84.48804300046494, 39.13555999987301], [-84.48724300046504, 39.13655999987293]]], "type": "Polygon"}, "id": "200", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 7.0, "AGE_15_19": 11.0, "AGE_18": 99.0, "AGE_20_24": 22.0, "AGE_21": 89.0, "AGE_25_34": 10.0, "AGE_35_44": 20.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 6.0, "AGE_60_64": 7.0, "AGE_62": 16.0, "AGE_65": 12.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.06, "BG": "390610036002", "BLACK": 130.0, "BLOCK": "390610036002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12916.6618, "F1_RACE": 130.0, "F2_RACES": 2.0, "FEMALE": 80.0, "FEMALE_18": 65.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 72.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 8.0, "ID": 707499.0, "IN_HOUSEHO": 132.0, "MALE": 52.0, "MALE_18": 34.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 130.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 53.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.18, "POPULATION": 132.0, "RENTER_SIZ": 1.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48714300046504, 39.13415999987315, -84.4839430004654, 39.13715999987289], "geometry": {"coordinates": [[[-84.48634300046511, 39.13505999987305], [-84.48704300046505, 39.13525999987304], [-84.48554300046523, 39.137059999872875], [-84.48534300046525, 39.13715999987289], [-84.4839430004654, 39.136059999873005], [-84.48614300046513, 39.13435999987314], [-84.48714300046504, 39.13415999987315], [-84.48704300046504, 39.13435999987314], [-84.48634300046511, 39.13505999987305]]], "type": "Polygon"}, "id": "201", "properties": {"AGE_0_5": 30.0, "AGE_10_14": 47.0, "AGE_15_19": 19.0, "AGE_18": 109.0, "AGE_20_24": 13.0, "AGE_21": 102.0, "AGE_25_34": 32.0, "AGE_35_44": 26.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 27.0, "AGE_60_64": 2.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 221.0, "AP_HAWAIIA": 5.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.32, "AVG_HHSIZE": 2.69, "BG": "390610036002", "BLACK": 216.0, "BLOCK": "390610036002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14177.4841, "F1_RACE": 220.0, "F2_RACES": 6.0, "FEMALE": 142.0, "FEMALE_18": 79.0, "FEMALE_65": 17.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 84.0, "HSNG_UNITS": 102.0, "HU_OCCUPIE": 84.0, "HU_VACANT": 18.0, "ID": 707518.0, "IN_HOUSEHO": 226.0, "MALE": 84.0, "MALE_18": 30.0, "MALE_65": 0.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 225.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 78.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 226.0, "RENTER_SIZ": 2.69, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48974300046478, 39.14065999987254, -84.48654300046516, 39.142059999872394], "geometry": {"coordinates": [[[-84.48974300046478, 39.140859999872504], [-84.48964300046482, 39.142059999872394], [-84.48654300046516, 39.141859999872445], [-84.48664300046514, 39.14065999987254], [-84.48724300046506, 39.14075999987253], [-84.48804300046498, 39.14075999987253], [-84.48944300046483, 39.14075999987253], [-84.48974300046478, 39.140859999872504]]], "type": "Polygon"}, "id": "202", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707538.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48804300046498, 39.13985999987261, -84.48664300046514, 39.14075999987253], "geometry": {"coordinates": [[[-84.487743000465, 39.14045999987258], [-84.48804300046498, 39.14075999987253], [-84.48724300046506, 39.14075999987253], [-84.48664300046514, 39.14065999987254], [-84.48674300046511, 39.14015999987259], [-84.48734300046505, 39.13985999987261], [-84.487743000465, 39.14045999987258]]], "type": "Polygon"}, "id": "203", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 4.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.17, "BG": "390610067001", "BLACK": 13.0, "BLOCK": "390610067001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4744.6508, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 0.0, "ID": 707559.0, "IN_HOUSEHO": 13.0, "MALE": 6.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48734300046505, 39.13965999987265, -84.48514300046529, 39.14065999987254], "geometry": {"coordinates": [[[-84.48724300046506, 39.13965999987265], [-84.48734300046505, 39.13985999987261], [-84.48674300046511, 39.14015999987259], [-84.48664300046514, 39.14065999987254], [-84.48558100046525, 39.14058899987254], [-84.48514300046529, 39.140559999872565], [-84.48724300046506, 39.13965999987265]]], "type": "Polygon"}, "id": "204", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.25, "BG": "390610067001", "BLACK": 9.0, "BLOCK": "390610067001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3220.1738, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 707578.0, "IN_HOUSEHO": 9.0, "MALE": 5.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 9.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48604300046517, 39.13725999987287, -84.48384300046541, 39.138959999872704], "geometry": {"coordinates": [[[-84.48584300046521, 39.13805999987279], [-84.48604300046517, 39.13825999987277], [-84.48504300046528, 39.13885999987272], [-84.48424300046537, 39.138959999872704], [-84.48404300046539, 39.138159999872784], [-84.48384300046541, 39.137559999872835], [-84.4849430004653, 39.13725999987287], [-84.48584300046521, 39.13805999987279]]], "type": "Polygon"}, "id": "205", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 7.0, "AGE_15_19": 15.0, "AGE_18": 117.0, "AGE_20_24": 36.0, "AGE_21": 103.0, "AGE_25_34": 19.0, "AGE_35_44": 22.0, "AGE_45_54": 11.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 2.27, "BG": "390610036001", "BLACK": 181.0, "BLOCK": "390610036001001", "BURGLARY": 6, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21652.7875, "F1_RACE": 184.0, "F2_RACES": 0.0, "FEMALE": 96.0, "FEMALE_18": 67.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 81.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 81.0, "HU_VACANT": 17.0, "ID": 707596.0, "IN_HOUSEHO": 184.0, "MALE": 88.0, "MALE_18": 50.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 183.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.4, "POPULATION": 184.0, "RENTER_SIZ": 2.26, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48724300046506, 39.13845999987274, -84.48433500046538, 39.14055999987258], "geometry": {"coordinates": [[[-84.48694300046509, 39.13915999987267], [-84.48724300046506, 39.13965999987265], [-84.48514300046529, 39.140559999872565], [-84.48494300046532, 39.14055999987258], [-84.48433500046538, 39.140559999872565], [-84.48454300046537, 39.14025999987261], [-84.48554300046524, 39.139159999872675], [-84.48644300046513, 39.13845999987274], [-84.48694300046509, 39.13915999987267]]], "type": "Polygon"}, "id": "206", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707616.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48664300046514, 39.140559999872565, -84.48380000046545, 39.14209499987244], "geometry": {"coordinates": [[[-84.48544300046525, 39.14185999987246], [-84.48474300046534, 39.14195999987244], [-84.48380000046545, 39.14209499987244], [-84.48514300046529, 39.140559999872565], [-84.48558100046525, 39.14058899987254], [-84.48664300046514, 39.14065999987254], [-84.48654300046516, 39.141859999872445], [-84.48544300046525, 39.14185999987246]]], "type": "Polygon"}, "id": "207", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 4.0, "AGE_15_19": 4.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 68.0, "AGE_25_34": 11.0, "AGE_35_44": 16.0, "AGE_45_54": 16.0, "AGE_55_59": 6.0, "AGE_5_9": 8.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 92.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610067004", "BLACK": 90.0, "BLOCK": "390610067004009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9223.4933, "F1_RACE": 90.0, "F2_RACES": 3.0, "FEMALE": 43.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 9.0, "ID": 707636.0, "IN_HOUSEHO": 93.0, "MALE": 50.0, "MALE_18": 37.0, "MALE_65": 6.0, "MEDIAN_AGE": 39.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 93.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 50.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 93.0, "RENTER_SIZ": 1.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48514300046529, 39.140559999872565, -84.48364300046546, 39.142159999872405], "geometry": {"coordinates": [[[-84.48494300046532, 39.14055999987258], [-84.48514300046529, 39.140559999872565], [-84.48380000046545, 39.14209499987244], [-84.48374300046545, 39.142159999872405], [-84.48364300046546, 39.14155999987249], [-84.48433500046538, 39.140559999872565], [-84.48494300046532, 39.14055999987258]]], "type": "Polygon"}, "id": "208", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067001", "BLACK": 0.0, "BLOCK": "390610067001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707657.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48434300046527, 39.125159999874, -84.48284300046545, 39.12685999987385], "geometry": {"coordinates": [[[-84.48434300046526, 39.125159999874], [-84.48434300046527, 39.12675999987384], [-84.48284300046545, 39.12685999987385], [-84.48294300046541, 39.12515999987403], [-84.48324300046541, 39.125159999874015], [-84.48434300046526, 39.125159999874]]], "type": "Polygon"}, "id": "209", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610037001", "BLACK": 0.0, "BLOCK": "390610037001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 225.9619, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 2.0, "GROUP_QUAR": 2.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 707676.0, "IN_HOUSEHO": 0.0, "MALE": 2.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 2.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48294300046541, 39.12495999987402, -84.48134300046561, 39.126959999873854], "geometry": {"coordinates": [[[-84.48294300046541, 39.12515999987403], [-84.48284300046545, 39.12685999987385], [-84.48234300046549, 39.126959999873854], [-84.48134300046561, 39.12685999987385], [-84.48154300046558, 39.12495999987402], [-84.48194300046555, 39.12495999987402], [-84.48294300046541, 39.12515999987403]]], "type": "Polygon"}, "id": "210", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 40.0, "AGE_20_24": 5.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 29.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.5, "AVG_HHSIZE": 1.33, "BG": "390610037001", "BLACK": 29.0, "BLOCK": "390610037001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4237.6286, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 11.0, "GROUP_QUAR": 11.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 23.0, "ID": 707695.0, "IN_HOUSEHO": 32.0, "MALE": 25.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 1.38, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 14.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47464300046634, 39.127959999873795, -84.47344300046649, 39.12965999987362], "geometry": {"coordinates": [[[-84.47464300046634, 39.12835999987374], [-84.47434300046636, 39.129559999873614], [-84.47344300046649, 39.12965999987362], [-84.47354300046645, 39.127959999873795], [-84.47454300046634, 39.128059999873756], [-84.47464300046634, 39.12835999987374]]], "type": "Polygon"}, "id": "211", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 5.0, "AGE_21": 45.0, "AGE_25_34": 11.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 37.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.16, "BG": "390610042001", "BLACK": 13.0, "BLOCK": "390610042001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8973.4932, "F1_RACE": 52.0, "F2_RACES": 2.0, "FEMALE": 25.0, "FEMALE_18": 21.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 3.0, "ID": 739464.0, "IN_HOUSEHO": 54.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.5, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.73, "POPULATION": 54.0, "RENTER_SIZ": 1.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 36.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47394300046638, 39.12455999987409, -84.47194300046661, 39.126759999873904], "geometry": {"coordinates": [[[-84.47394300046638, 39.12455999987409], [-84.47374300046643, 39.126759999873904], [-84.47194300046661, 39.12645999987392], [-84.47224300046658, 39.12535999987403], [-84.47394300046638, 39.12455999987409]]], "type": "Polygon"}, "id": "212", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 61.0, "AGE_20_24": 2.0, "AGE_21": 57.0, "AGE_25_34": 24.0, "AGE_35_44": 16.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 3.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.71, "AVG_HHSIZE": 1.85, "BG": "390610042002", "BLACK": 21.0, "BLOCK": "390610042002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7073.2004, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 33.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 7.0, "ID": 739483.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 3.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 52.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.19, "POPULATION": 74.0, "RENTER_SIZ": 1.21, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 53.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47674300046613, 39.12925999987366, -84.4742430004664, 39.13165999987343], "geometry": {"coordinates": [[[-84.47654300046615, 39.13135999987346], [-84.47644300046618, 39.13165999987343], [-84.4742430004664, 39.13165999987343], [-84.47434300046638, 39.13055999987355], [-84.47434300046636, 39.129559999873614], [-84.47564300046623, 39.12945999987363], [-84.47644300046615, 39.12925999987366], [-84.47674300046613, 39.12935999987364], [-84.47664300046614, 39.13005999987358], [-84.47654300046615, 39.13135999987346]]], "type": "Polygon"}, "id": "213", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 3.0, "AGE_21": 31.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 5.0, "AGE_75_84": 4.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.81, "BG": "390610041002", "BLACK": 25.0, "BLOCK": "390610041002006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1909.9236, "F1_RACE": 36.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 7.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 7.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 1.0, "ID": 739499.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 5.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.13, "POPULATION": 36.0, "RENTER_SIZ": 1.5, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 11.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.129559999873614, -84.4732430004665, 39.13055999987355], "geometry": {"coordinates": [[[-84.47434300046636, 39.129559999873614], [-84.47434300046638, 39.13055999987355], [-84.4732430004665, 39.130459999873565], [-84.47344300046649, 39.12965999987362], [-84.47434300046636, 39.129559999873614]]], "type": "Polygon"}, "id": "214", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 38.0, "AGE_20_24": 1.0, "AGE_21": 37.0, "AGE_25_34": 9.0, "AGE_35_44": 11.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 3.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 30.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610041002", "BLACK": 29.0, "BLOCK": "390610041002009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13802.0582, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 16.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 1.0, "ID": 739521.0, "IN_HOUSEHO": 46.0, "MALE": 26.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 46.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 16.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47434300046638, 39.130459999873565, -84.47314300046652, 39.13165999987343], "geometry": {"coordinates": [[[-84.47434300046638, 39.13055999987355], [-84.4742430004664, 39.13165999987343], [-84.47314300046652, 39.13155999987345], [-84.4732430004665, 39.130459999873565], [-84.47434300046638, 39.13055999987355]]], "type": "Polygon"}, "id": "215", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 9.0, "AGE_18": 51.0, "AGE_20_24": 11.0, "AGE_21": 46.0, "AGE_25_34": 12.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 23.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.43, "BG": "390610041002", "BLACK": 45.0, "BLOCK": "390610041002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15051.7324, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 22.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 6.0, "ID": 739558.0, "IN_HOUSEHO": 68.0, "MALE": 39.0, "MALE_18": 29.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 68.0, "RENTER_SIZ": 2.53, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 23.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.47344300046649, 39.12965999987362, -84.47194300046665, 39.13155999987345], "geometry": {"coordinates": [[[-84.4732430004665, 39.130459999873565], [-84.47314300046652, 39.13155999987345], [-84.47194300046665, 39.13155999987345], [-84.47214300046663, 39.12975999987361], [-84.47344300046649, 39.12965999987362], [-84.4732430004665, 39.130459999873565]]], "type": "Polygon"}, "id": "216", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 7.0, "AGE_18": 58.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 53.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.28, "BG": "390610041002", "BLACK": 10.0, "BLOCK": "390610041002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7992.2978, "F1_RACE": 66.0, "F2_RACES": 0.0, "FEMALE": 30.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 5.0, "ID": 739576.0, "IN_HOUSEHO": 66.0, "MALE": 36.0, "MALE_18": 34.0, "MALE_65": 2.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.56, "POPULATION": 66.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 53.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.47104300046674, 39.128759999873736, -84.46854200046702, 39.130059999873595], "geometry": {"coordinates": [[[-84.47094300046675, 39.12895999987369], [-84.47104300046674, 39.12985999987362], [-84.4706430004668, 39.12985999987362], [-84.46854200046702, 39.130059999873595], [-84.468642000467, 39.12905999987369], [-84.46974200046688, 39.128759999873736], [-84.47094300046675, 39.12895999987369]]], "type": "Polygon"}, "id": "217", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 7.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 21.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.2, "AVG_HHSIZE": 4.2, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2240.4421, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 739629.0, "IN_HOUSEHO": 21.0, "MALE": 13.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 12.5, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.2, "POPULATION": 21.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 21.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47214300046663, 39.12975999987361, -84.47024300046685, 39.13375999987323], "geometry": {"coordinates": [[[-84.47174300046669, 39.13375999987323], [-84.47024300046685, 39.13365999987327], [-84.4706430004668, 39.12985999987362], [-84.47104300046674, 39.12985999987362], [-84.47184300046665, 39.12975999987361], [-84.47214300046663, 39.12975999987361], [-84.47194300046665, 39.13155999987345], [-84.47174300046669, 39.13375999987323]]], "type": "Polygon"}, "id": "218", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 58.0, "AGE_20_24": 2.0, "AGE_21": 55.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 66.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.28, "AVG_HHSIZE": 2.64, "BG": "390610041001", "BLACK": 8.0, "BLOCK": "390610041001006", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3442.461, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 2.0, "ID": 739648.0, "IN_HOUSEHO": 74.0, "MALE": 43.0, "MALE_18": 32.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.95, "POPULATION": 74.0, "RENTER_SIZ": 1.5, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 66.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4706430004668, 39.12985999987362, -84.46814200046708, 39.13365999987327], "geometry": {"coordinates": [[[-84.4706430004668, 39.12985999987362], [-84.47024300046685, 39.13365999987327], [-84.46814200046708, 39.13355999987327], [-84.46854200046702, 39.130059999873595], [-84.4706430004668, 39.12985999987362]]], "type": "Polygon"}, "id": "219", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 39.0, "AGE_20_24": 0.0, "AGE_21": 39.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 11.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 43.0, "AREA": 0.03, "ASIAN": 11.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.53, "AVG_HHSIZE": 3.29, "BG": "390610041001", "BLACK": 2.0, "BLOCK": "390610041001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1977.1644, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 18.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 1.0, "ID": 739669.0, "IN_HOUSEHO": 56.0, "MALE": 30.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.38, "POPULATION": 56.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 43.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46854200046702, 39.130059999873595, -84.4669420004672, 39.13355999987327], "geometry": {"coordinates": [[[-84.46854200046702, 39.130059999873595], [-84.46814200046708, 39.13355999987327], [-84.4669420004672, 39.133459999873295], [-84.46704200046719, 39.13175999987347], [-84.46724200046715, 39.13025999987357], [-84.46854200046702, 39.130059999873595]]], "type": "Polygon"}, "id": "220", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 0.0, "AGE_21": 28.0, "AGE_25_34": 2.0, "AGE_35_44": 10.0, "AGE_45_54": 14.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 45.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 3.0, "BG": "390610041001", "BLACK": 0.0, "BLOCK": "390610041001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2849.2641, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 1.0, "ID": 739686.0, "IN_HOUSEHO": 45.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 45.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 45.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 45.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46884200046696, 39.1248599998741, -84.46344200046752, 39.12675999987392], "geometry": {"coordinates": [[[-84.468402000467, 39.12668199987393], [-84.46714200046715, 39.12645999987395], [-84.46594200046727, 39.12615999987398], [-84.46344200046752, 39.125059999874075], [-84.46634500046721, 39.12494799987409], [-84.46864200046697, 39.1248599998741], [-84.46884200046696, 39.12675999987392], [-84.468402000467, 39.12668199987393]]], "type": "Polygon"}, "id": "221", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 24.0, "AGE_20_24": 0.0, "AGE_21": 24.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 27.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.93, "BG": "390610042002", "BLACK": 2.0, "BLOCK": "390610042002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1331.6139, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 741823.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 12.0, "MALE_65": 1.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 27.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.09, "POPULATION": 29.0, "RENTER_SIZ": 1.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 27.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.47374300046643, 39.125059999874075, -84.46004200046795, 39.132459999873426], "geometry": {"coordinates": [[[-84.47354300046645, 39.127959999873795], [-84.47344300046649, 39.12965999987362], [-84.47214300046663, 39.12975999987361], [-84.47184300046665, 39.12975999987361], [-84.47104300046674, 39.12985999987362], [-84.47094300046675, 39.12895999987369], [-84.46974200046688, 39.128759999873736], [-84.468642000467, 39.12905999987369], [-84.46854200046702, 39.130059999873595], [-84.46724200046715, 39.13025999987357], [-84.46654200046723, 39.13035999987359], [-84.4659420004673, 39.130559999873554], [-84.46414200046749, 39.13135999987352], [-84.46254200046768, 39.13185999987346], [-84.46164200046776, 39.13205999987344], [-84.46074200046787, 39.13235999987343], [-84.46004200046795, 39.132459999873426], [-84.46034200046792, 39.13215999987345], [-84.4612420004678, 39.13155999987349], [-84.46304200046762, 39.13075999987355], [-84.46394200046753, 39.12955999987366], [-84.46294200046758, 39.12655999987394], [-84.46344200046752, 39.125059999874075], [-84.46594200046727, 39.12615999987398], [-84.46714200046715, 39.12645999987395], [-84.468402000467, 39.12668199987393], [-84.46884200046696, 39.12675999987392], [-84.4703420004668, 39.12625999987395], [-84.47064200046675, 39.12615999987395], [-84.47194300046661, 39.12645999987392], [-84.47374300046643, 39.126759999873904], [-84.47354300046645, 39.127959999873795]], [[-84.46544200046735, 39.1292599998737], [-84.46534200046734, 39.12835999987379], [-84.46484200046739, 39.12845999987376], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "222", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 17.0, "AGE_15_19": 17.0, "AGE_18": 211.0, "AGE_20_24": 12.0, "AGE_21": 205.0, "AGE_25_34": 49.0, "AGE_35_44": 38.0, "AGE_45_54": 48.0, "AGE_55_59": 19.0, "AGE_5_9": 12.0, "AGE_60_64": 14.0, "AGE_62": 36.0, "AGE_65": 29.0, "AGE_65_74": 18.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 8.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 0.0, "AP_WHITE": 248.0, "AREA": 0.15, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.09, "BG": "390610042001", "BLACK": 15.0, "BLOCK": "390610042001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1775.9725, "F1_RACE": 256.0, "F2_RACES": 9.0, "FEMALE": 123.0, "FEMALE_18": 101.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 57.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 127.0, "HSNG_UNITS": 132.0, "HU_OCCUPIE": 127.0, "HU_VACANT": 5.0, "ID": 741843.0, "IN_HOUSEHO": 265.0, "MALE": 142.0, "MALE_18": 110.0, "MALE_65": 18.0, "MEDIAN_AGE": 39.5, "MSA": "1640", "NH_WHITE": 229.0, "NOT_HISPAN": 255.0, "OCCHU_OWNE": 86.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 265.0, "RENTER_SIZ": 1.59, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061004200", "WHITE": 239.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.46544200046735, 39.12835999987379, -84.46484200046739, 39.1292599998737], "geometry": {"coordinates": [[[-84.46544200046735, 39.1292599998737], [-84.46484200046739, 39.12845999987376], [-84.46534200046734, 39.12835999987379], [-84.46544200046735, 39.1292599998737]]], "type": "Polygon"}, "id": "223", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610042001", "BLACK": 0.0, "BLOCK": "390610042001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.6935, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 741889.0, "IN_HOUSEHO": 10.0, "MALE": 8.0, "MALE_18": 8.0, "MALE_65": 2.0, "MEDIAN_AGE": 56.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 10.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061004200", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.46814200046708, 39.13025999987357, -84.4614420004678, 39.13515999987312], "geometry": {"coordinates": [[[-84.46814200046708, 39.13355999987327], [-84.46794200046712, 39.13515999987312], [-84.46384200046755, 39.1347599998732], [-84.4633420004676, 39.13465999987321], [-84.46144200046781, 39.13455999987323], [-84.4614420004678, 39.13415999987325], [-84.46244200046769, 39.133459999873324], [-84.46254200046768, 39.13185999987346], [-84.46414200046749, 39.13135999987352], [-84.4659420004673, 39.130559999873554], [-84.46654200046723, 39.13035999987359], [-84.46724200046715, 39.13025999987357], [-84.46704200046719, 39.13175999987347], [-84.4669420004672, 39.133459999873295], [-84.46814200046708, 39.13355999987327]]], "type": "Polygon"}, "id": "224", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 315.0, "AGE_20_24": 16.0, "AGE_21": 308.0, "AGE_25_34": 37.0, "AGE_35_44": 39.0, "AGE_45_54": 27.0, "AGE_55_59": 29.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 158.0, "AGE_65": 154.0, "AGE_65_74": 14.0, "AGE_75_84": 48.0, "AGE_85": 92.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 131.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 230.0, "AREA": 0.07, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.25, "BG": "390610041001", "BLACK": 130.0, "BLOCK": "390610041001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4934.9491, "F1_RACE": 357.0, "F2_RACES": 3.0, "FEMALE": 235.0, "FEMALE_18": 208.0, "FEMALE_65": 125.0, "GQ_INSTITU": 135.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 135.0, "HAWAIIAN": 0.0, "HH_FAMILY": 58.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 100.0, "HSNG_UNITS": 107.0, "HU_OCCUPIE": 100.0, "HU_VACANT": 7.0, "ID": 741903.0, "IN_HOUSEHO": 225.0, "MALE": 125.0, "MALE_18": 107.0, "MALE_65": 29.0, "MEDIAN_AGE": 56.6, "MSA": "1640", "NH_WHITE": 226.0, "NOT_HISPAN": 357.0, "OCCHU_OWNE": 64.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.36, "POPULATION": 360.0, "RENTER_SIZ": 2.06, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061004100", "WHITE": 227.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.12805999987356, -84.52444400046097, 39.12975999987339], "geometry": {"coordinates": [[[-84.52534400046086, 39.12975999987339], [-84.52444400046097, 39.129659999873425], [-84.52464400046094, 39.128459999873506], [-84.52544400046085, 39.12805999987356], [-84.52534400046086, 39.12975999987339]]], "type": "Polygon"}, "id": "225", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 13.0, "AGE_18": 81.0, "AGE_20_24": 48.0, "AGE_21": 56.0, "AGE_25_34": 6.0, "AGE_35_44": 3.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 5.0, "AP_WHITE": 71.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 3.0, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18746.3134, "F1_RACE": 77.0, "F2_RACES": 7.0, "FEMALE": 42.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 10.0, "ID": 681301.0, "IN_HOUSEHO": 84.0, "MALE": 42.0, "MALE_18": 40.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 84.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 84.0, "RENTER_SIZ": 3.4, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 68.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52544400046085, 39.127659999873586, -84.5205440004614, 39.129659999873425], "geometry": {"coordinates": [[[-84.52374400046105, 39.129659999873425], [-84.52234400046119, 39.129559999873415], [-84.5205440004614, 39.12945999987345], [-84.52064400046136, 39.12835999987354], [-84.52074400046135, 39.127659999873586], [-84.5211440004613, 39.12775999987357], [-84.52194400046122, 39.12775999987357], [-84.52274400046113, 39.12775999987357], [-84.52354400046106, 39.12785999987357], [-84.52424400046097, 39.12795999987355], [-84.52544400046085, 39.12805999987356], [-84.52464400046094, 39.128459999873506], [-84.52374400046104, 39.1287599998735], [-84.52374400046105, 39.129659999873425]]], "type": "Polygon"}, "id": "226", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 6.0, "AGE_21": 30.0, "AGE_25_34": 15.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 25.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.37, "BG": "390610026001", "BLACK": 5.0, "BLOCK": "390610026001001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 1320.3592, "F1_RACE": 29.0, "F2_RACES": 2.0, "FEMALE": 11.0, "FEMALE_18": 11.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 681354.0, "IN_HOUSEHO": 26.0, "MALE": 20.0, "MALE_18": 20.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 31.0, "RENTER_SIZ": 1.33, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 23.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.52464400046094, 39.128459999873506, -84.52374400046104, 39.129659999873425], "geometry": {"coordinates": [[[-84.52444400046097, 39.129659999873425], [-84.52374400046105, 39.129659999873425], [-84.52374400046104, 39.1287599998735], [-84.52464400046094, 39.128459999873506], [-84.52444400046097, 39.129659999873425]]], "type": "Polygon"}, "id": "227", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 16.0, "AGE_18": 53.0, "AGE_20_24": 28.0, "AGE_21": 29.0, "AGE_25_34": 7.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 5.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 3.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.9, "BG": "390610026001", "BLACK": 2.0, "BLOCK": "390610026001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18657.0486, "F1_RACE": 56.0, "F2_RACES": 1.0, "FEMALE": 30.0, "FEMALE_18": 27.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 27.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 3.0, "ID": 681381.0, "IN_HOUSEHO": 57.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.2, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 57.0, "RENTER_SIZ": 1.88, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 47.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52234400046119, 39.12945999987345, -84.52034400046142, 39.13295999987311], "geometry": {"coordinates": [[[-84.52234400046119, 39.129559999873415], [-84.52194400046125, 39.13165999987322], [-84.52184400046129, 39.13295999987311], [-84.52098700046135, 39.13284599987314], [-84.52034400046142, 39.13275999987314], [-84.52034400046142, 39.13255999987314], [-84.5204120004614, 39.131505999873255], [-84.5205440004614, 39.12945999987345], [-84.52234400046119, 39.129559999873415]]], "type": "Polygon"}, "id": "228", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 34.0, "AGE_18": 242.0, "AGE_20_24": 165.0, "AGE_21": 167.0, "AGE_25_34": 36.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 20.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 2.0, "AP_WHITE": 217.0, "AREA": 0.02, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.14, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 5.0, "BLOCK": "390610029002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12051.1059, "F1_RACE": 241.0, "F2_RACES": 2.0, "FEMALE": 106.0, "FEMALE_18": 105.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 104.0, "GROUP_QUAR": 104.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 76.0, "HOUSEHOLDS": 83.0, "HSNG_UNITS": 92.0, "HU_OCCUPIE": 83.0, "HU_VACANT": 9.0, "ID": 681399.0, "IN_HOUSEHO": 139.0, "MALE": 137.0, "MALE_18": 137.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.8, "MSA": "1640", "NH_WHITE": 215.0, "NOT_HISPAN": 242.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 81.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.0, "POPULATION": 243.0, "RENTER_SIZ": 1.64, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 215.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52304400046114, 39.13165999987322, -84.52184400046129, 39.13295999987311], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52184400046129, 39.13295999987311], [-84.52194400046125, 39.13165999987322], [-84.52304400046114, 39.131759999873225], [-84.52301200046112, 39.1321479998732], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "229", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 11.0, "AGE_18": 90.0, "AGE_20_24": 54.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 7.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 87.0, "AREA": 0.01, "ASIAN": 4.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.25, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18196.4629, "F1_RACE": 92.0, "F2_RACES": 1.0, "FEMALE": 29.0, "FEMALE_18": 29.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 21.0, "GROUP_QUAR": 21.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 32.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 32.0, "HU_VACANT": 2.0, "ID": 681421.0, "IN_HOUSEHO": 72.0, "MALE": 64.0, "MALE_18": 61.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.2, "MSA": "1640", "NH_WHITE": 85.0, "NOT_HISPAN": 91.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.0, "POPULATION": 93.0, "RENTER_SIZ": 2.28, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 86.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52074400046135, 39.127559999873625, -84.51894400046154, 39.12835999987354], "geometry": {"coordinates": [[[-84.52074400046135, 39.127659999873586], [-84.52064400046136, 39.12835999987354], [-84.51964400046147, 39.12825999987355], [-84.51894400046154, 39.12825999987357], [-84.51904400046153, 39.127559999873625], [-84.52024400046139, 39.127659999873586], [-84.52074400046135, 39.127659999873586]]], "type": "Polygon"}, "id": "230", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 17.0, "AGE_18": 96.0, "AGE_20_24": 47.0, "AGE_21": 72.0, "AGE_25_34": 20.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 6.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 5.0, "AP_WHITE": 85.0, "AREA": 0.0, "ASIAN": 5.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 2.06, "BG": "390610026001", "BLACK": 6.0, "BLOCK": "390610026001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23450.2351, "F1_RACE": 94.0, "F2_RACES": 5.0, "FEMALE": 51.0, "FEMALE_18": 49.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 40.0, "HOUSEHOLDS": 48.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 48.0, "HU_VACANT": 6.0, "ID": 681479.0, "IN_HOUSEHO": 99.0, "MALE": 48.0, "MALE_18": 47.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.7, "MSA": "1640", "NH_WHITE": 79.0, "NOT_HISPAN": 95.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 0.0, "POPULATION": 99.0, "RENTER_SIZ": 2.06, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061002600", "WHITE": 80.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51904400046153, 39.12745999987365, -84.51814400046162, 39.12825999987357], "geometry": {"coordinates": [[[-84.51904400046153, 39.127559999873625], [-84.51894400046154, 39.12825999987357], [-84.51814400046163, 39.12815999987359], [-84.51814400046162, 39.12745999987365], [-84.51904400046153, 39.127559999873625]]], "type": "Polygon"}, "id": "231", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 10.0, "AGE_21": 14.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.6, "BG": "390610025001", "BLACK": 1.0, "BLOCK": "390610025001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7200.8426, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 4.0, "ID": 681536.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 11.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 16.0, "RENTER_SIZ": 1.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002500", "WHITE": 15.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5205440004614, 39.12945999987345, -84.5194440004615, 39.13255999987314], "geometry": {"coordinates": [[[-84.52034400046142, 39.13255999987314], [-84.5194440004615, 39.131059999873294], [-84.51964400046148, 39.13025999987335], [-84.5203440004614, 39.12945999987346], [-84.5205440004614, 39.12945999987345], [-84.5204120004614, 39.131505999873255], [-84.52034400046142, 39.13255999987314]]], "type": "Polygon"}, "id": "232", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681572.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.13255999987314, -84.51984400046149, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52024400046145, 39.13355999987304], [-84.51984400046149, 39.13305999987312], [-84.52034400046142, 39.13255999987314], [-84.52034400046142, 39.13275999987314], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "233", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681590.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51914400046155, 39.12855999987355, -84.51734400046173, 39.130159999873385], "geometry": {"coordinates": [[[-84.51904400046153, 39.12855999987355], [-84.51914400046155, 39.12975999987343], [-84.51844400046163, 39.130159999873385], [-84.51734400046173, 39.12985999987343], [-84.51744400046172, 39.12965999987345], [-84.51754400046171, 39.12945999987347], [-84.51824400046162, 39.12865999987352], [-84.51904400046153, 39.12855999987355]]], "type": "Polygon"}, "id": "234", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681607.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52064400046136, 39.12825999987355, -84.51614400046188, 39.13235999987321], "geometry": {"coordinates": [[[-84.5194440004615, 39.131059999873294], [-84.51914400046155, 39.13225999987319], [-84.51794400046168, 39.13195999987321], [-84.51614400046188, 39.13235999987321], [-84.51693200046178, 39.13071799987334], [-84.51734400046173, 39.12985999987343], [-84.51844400046163, 39.130159999873385], [-84.51914400046155, 39.12975999987343], [-84.51904400046153, 39.12855999987355], [-84.5194440004615, 39.12855999987354], [-84.51964400046147, 39.12825999987355], [-84.52064400046136, 39.12835999987354], [-84.5205440004614, 39.12945999987345], [-84.5203440004614, 39.12945999987346], [-84.51964400046148, 39.13025999987335], [-84.5194440004615, 39.131059999873294]]], "type": "Polygon"}, "id": "235", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681624.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5264440004608, 39.13425999987298, -84.52004400046148, 39.135759999872825], "geometry": {"coordinates": [[[-84.5264440004608, 39.13445999987294], [-84.5262440004608, 39.135759999872825], [-84.52504400046094, 39.13555999987286], [-84.52434400046101, 39.13545999987286], [-84.52004400046148, 39.13505999987293], [-84.52014400046147, 39.134259999873], [-84.52084500046139, 39.13425999987298], [-84.5217440004613, 39.13425999987298], [-84.52284400046116, 39.13435999987296], [-84.52424400046101, 39.13435999987296], [-84.524462000461, 39.13436999987297], [-84.5264440004608, 39.13445999987294]]], "type": "Polygon"}, "id": "236", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 1.0, "AGE_15_19": 25.0, "AGE_18": 349.0, "AGE_20_24": 144.0, "AGE_21": 299.0, "AGE_25_34": 114.0, "AGE_35_44": 22.0, "AGE_45_54": 19.0, "AGE_55_59": 7.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 18.0, "AGE_65": 16.0, "AGE_65_74": 10.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 87.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 9.0, "AP_WHITE": 266.0, "AREA": 0.02, "ASIAN": 85.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.45, "AVG_HHSIZE": 1.87, "BG": "390610029001", "BLACK": 5.0, "BLOCK": "390610029001007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15091.6364, "F1_RACE": 353.0, "F2_RACES": 8.0, "FEMALE": 143.0, "FEMALE_18": 134.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 24.0, "GROUP_QUAR": 24.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 180.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 180.0, "HU_VACANT": 13.0, "ID": 681644.0, "IN_HOUSEHO": 337.0, "MALE": 218.0, "MALE_18": 215.0, "MALE_65": 9.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 258.0, "NOT_HISPAN": 358.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 151.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.17, "POPULATION": 361.0, "RENTER_SIZ": 1.81, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 259.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52294400046114, 39.13295999987311, -84.5217440004613, 39.13435999987296], "geometry": {"coordinates": [[[-84.52294400046114, 39.13295999987311], [-84.52284400046116, 39.13435999987296], [-84.5217440004613, 39.13425999987298], [-84.52184400046129, 39.13295999987311], [-84.52294400046114, 39.13295999987311]]], "type": "Polygon"}, "id": "237", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 10.0, "AGE_18": 143.0, "AGE_20_24": 106.0, "AGE_21": 104.0, "AGE_25_34": 21.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 19.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 19.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.3, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26099.3015, "F1_RACE": 143.0, "F2_RACES": 1.0, "FEMALE": 37.0, "FEMALE_18": 36.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 36.0, "GROUP_QUAR": 36.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 681670.0, "IN_HOUSEHO": 108.0, "MALE": 107.0, "MALE_18": 107.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.4, "MSA": "1640", "NH_WHITE": 120.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 46.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 144.0, "RENTER_SIZ": 2.3, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002900", "WHITE": 121.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52184400046129, 39.13284599987314, -84.52084500046139, 39.13425999987298], "geometry": {"coordinates": [[[-84.52184400046129, 39.13295999987311], [-84.5217440004613, 39.13425999987298], [-84.52084500046139, 39.13425999987298], [-84.52098700046135, 39.13284599987314], [-84.52184400046129, 39.13295999987311]]], "type": "Polygon"}, "id": "238", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 16.0, "AGE_18": 66.0, "AGE_20_24": 44.0, "AGE_21": 34.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 65.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.8, "BG": "390610029002", "BLACK": 2.0, "BLOCK": "390610029002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15098.8449, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 25.0, "GROUP_QUAR": 25.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 0.0, "ID": 681687.0, "IN_HOUSEHO": 42.0, "MALE": 49.0, "MALE_18": 48.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 65.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 67.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 65.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.52098700046135, 39.13275999987314, -84.52014400046147, 39.134259999873], "geometry": {"coordinates": [[[-84.52084500046139, 39.13425999987298], [-84.52014400046147, 39.134259999873], [-84.52024400046145, 39.13375999987304], [-84.52024400046145, 39.13355999987304], [-84.52074400046138, 39.13325999987309], [-84.52024400046143, 39.13305999987312], [-84.52034400046142, 39.13275999987314], [-84.52098700046135, 39.13284599987314], [-84.52084500046139, 39.13425999987298]]], "type": "Polygon"}, "id": "239", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 66.0, "AGE_20_24": 55.0, "AGE_21": 30.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 64.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.67, "BG": "390610029002", "BLACK": 0.0, "BLOCK": "390610029002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20452.4733, "F1_RACE": 65.0, "F2_RACES": 1.0, "FEMALE": 60.0, "FEMALE_18": 60.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 61.0, "GROUP_QUAR": 61.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 681742.0, "IN_HOUSEHO": 5.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.9, "MSA": "1640", "NH_WHITE": 63.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 66.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 63.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52074400046138, 39.13305999987312, -84.52024400046143, 39.13355999987304], "geometry": {"coordinates": [[[-84.52024400046143, 39.13305999987312], [-84.52074400046138, 39.13325999987309], [-84.52024400046145, 39.13355999987304], [-84.52024400046143, 39.13305999987312]]], "type": "Polygon"}, "id": "240", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 4.0, "AGE_18": 18.0, "AGE_20_24": 14.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 1.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 17.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610029002", "BLACK": 1.0, "BLOCK": "390610029002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 38887.7429, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 17.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 18.0, "GROUP_QUAR": 18.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681763.0, "IN_HOUSEHO": 0.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002900", "WHITE": 17.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.52024400046145, 39.133659999873075, -84.51744400046175, 39.13505999987293], "geometry": {"coordinates": [[[-84.52014400046147, 39.134259999873], [-84.52004400046148, 39.13505999987293], [-84.51914400046158, 39.134959999872954], [-84.51744400046175, 39.134959999872954], [-84.5177440004617, 39.134159999873], [-84.51884400046161, 39.133659999873075], [-84.52024400046145, 39.13375999987304], [-84.52014400046147, 39.134259999873]]], "type": "Polygon"}, "id": "241", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681778.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.52034400046142, 39.131059999873294, -84.51474400046204, 39.13565999987291], "geometry": {"coordinates": [[[-84.52024400046145, 39.13355999987304], [-84.52024400046145, 39.13375999987304], [-84.51884400046161, 39.133659999873075], [-84.5177440004617, 39.134159999873], [-84.51744400046175, 39.134959999872954], [-84.51644400046186, 39.13505999987293], [-84.51474400046204, 39.13565999987291], [-84.51484400046203, 39.13425999987301], [-84.515044000462, 39.13305999987313], [-84.51614400046188, 39.13235999987321], [-84.51794400046168, 39.13195999987321], [-84.51914400046155, 39.13225999987319], [-84.5194440004615, 39.131059999873294], [-84.52034400046142, 39.13255999987314], [-84.51984400046149, 39.13305999987312], [-84.52024400046145, 39.13355999987304]]], "type": "Polygon"}, "id": "242", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610030003", "BLACK": 0.0, "BLOCK": "390610030003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 681797.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003000", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49404300046422, 39.12535999987392, -84.49304300046434, 39.12585999987388], "geometry": {"coordinates": [[[-84.49394300046424, 39.12585999987388], [-84.49364300046426, 39.1257599998739], [-84.49304300046434, 39.1257599998739], [-84.49304300046434, 39.125359999873936], [-84.49404300046422, 39.12535999987392], [-84.49394300046424, 39.12585999987388]]], "type": "Polygon"}, "id": "243", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 10.0, "AGE_20_24": 2.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 22.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 3.83, "BG": "390610021001", "BLACK": 22.0, "BLOCK": "390610021001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15526.3239, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 1.0, "ID": 701090.0, "IN_HOUSEHO": 23.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 23.0, "RENTER_SIZ": 3.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4943430004642, 39.12635999987383, -84.49354300046429, 39.12745999987376], "geometry": {"coordinates": [[[-84.4943430004642, 39.12635999987383], [-84.49424300046421, 39.12745999987374], [-84.4935430004643, 39.12745999987376], [-84.49354300046429, 39.12635999987383], [-84.4943430004642, 39.12635999987383]]], "type": "Polygon"}, "id": "244", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 23.0, "AGE_20_24": 1.0, "AGE_21": 20.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.86, "AVG_HHSIZE": 2.18, "BG": "390610035002", "BLACK": 37.0, "BLOCK": "390610035002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12110.4163, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 17.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 701109.0, "IN_HOUSEHO": 37.0, "MALE": 10.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 37.0, "RENTER_SIZ": 1.92, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12495999987399, -84.49154300046447, 39.125359999873936], "geometry": {"coordinates": [[[-84.49314300046431, 39.12505999987396], [-84.49304300046434, 39.125359999873936], [-84.49154300046447, 39.12525999987394], [-84.49164300046446, 39.12495999987399], [-84.49314300046431, 39.12505999987396]]], "type": "Polygon"}, "id": "245", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 7.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11740.0923, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 3.0, "ID": 701127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.5, "POPULATION": 20.0, "RENTER_SIZ": 6.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49364300046426, 39.1257599998739, -84.49224300046444, 39.12745999987376], "geometry": {"coordinates": [[[-84.49354300046429, 39.12635999987383], [-84.4935430004643, 39.12745999987376], [-84.49224300046444, 39.127359999873725], [-84.4924430004644, 39.125759999873914], [-84.49304300046434, 39.1257599998739], [-84.49364300046426, 39.1257599998739], [-84.49354300046429, 39.12635999987383]]], "type": "Polygon"}, "id": "246", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 6.0, "AGE_18": 46.0, "AGE_20_24": 1.0, "AGE_21": 45.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 4.0, "AGE_5_9": 14.0, "AGE_60_64": 6.0, "AGE_62": 11.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 3.14, "BG": "390610035002", "BLACK": 82.0, "BLOCK": "390610035002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11792.7438, "F1_RACE": 82.0, "F2_RACES": 6.0, "FEMALE": 49.0, "FEMALE_18": 26.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701144.0, "IN_HOUSEHO": 88.0, "MALE": 39.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 87.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 88.0, "RENTER_SIZ": 3.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49484300046416, 39.12745999987374, -84.49324300046433, 39.12935999987355], "geometry": {"coordinates": [[[-84.49484300046416, 39.12805999987366], [-84.49464300046418, 39.12935999987355], [-84.49324300046433, 39.12925999987357], [-84.4935430004643, 39.12745999987376], [-84.49424300046421, 39.12745999987374], [-84.49484300046416, 39.12745999987374], [-84.49484300046416, 39.12805999987366]]], "type": "Polygon"}, "id": "247", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 11.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 10.0, "AGE_45_54": 19.0, "AGE_55_59": 3.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 89.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.33, "BG": "390610035002", "BLACK": 89.0, "BLOCK": "390610035002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10507.1558, "F1_RACE": 100.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 35.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 701164.0, "IN_HOUSEHO": 100.0, "MALE": 48.0, "MALE_18": 35.0, "MALE_65": 2.0, "MEDIAN_AGE": 31.4, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 100.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 100.0, "RENTER_SIZ": 2.26, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 11.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4935430004643, 39.127359999873725, -84.49214300046445, 39.12925999987357], "geometry": {"coordinates": [[[-84.4935430004643, 39.12745999987376], [-84.49324300046433, 39.12925999987357], [-84.49214300046445, 39.12915999987361], [-84.49224300046444, 39.127359999873725], [-84.4935430004643, 39.12745999987376]]], "type": "Polygon"}, "id": "248", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 18.0, "AGE_15_19": 20.0, "AGE_18": 94.0, "AGE_20_24": 6.0, "AGE_21": 83.0, "AGE_25_34": 8.0, "AGE_35_44": 29.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 17.0, "AGE_60_64": 5.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 10.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 149.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 4.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.68, "BG": "390610035002", "BLACK": 146.0, "BLOCK": "390610035002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18951.907, "F1_RACE": 150.0, "F2_RACES": 3.0, "FEMALE": 82.0, "FEMALE_18": 55.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 61.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 4.0, "ID": 701184.0, "IN_HOUSEHO": 153.0, "MALE": 71.0, "MALE_18": 39.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 153.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 44.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.46, "POPULATION": 153.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4953430004641, 39.12935999987355, -84.4936430004643, 39.13235999987328], "geometry": {"coordinates": [[[-84.4953430004641, 39.12935999987355], [-84.4946430004642, 39.13085999987343], [-84.49394300046428, 39.13235999987328], [-84.4936430004643, 39.13235999987327], [-84.49394300046427, 39.13115999987341], [-84.49464300046418, 39.12935999987355], [-84.4953430004641, 39.12935999987355]]], "type": "Polygon"}, "id": "249", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701201.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.496243000464, 39.129359999873536, -84.49394300046428, 39.13255999987326], "geometry": {"coordinates": [[[-84.4946430004642, 39.13085999987343], [-84.4953430004641, 39.12935999987355], [-84.49564300046407, 39.129359999873536], [-84.496243000464, 39.129459999873546], [-84.49614300046402, 39.13055999987345], [-84.49604300046406, 39.13185999987332], [-84.49574300046409, 39.13255999987324], [-84.49484300046419, 39.13255999987326], [-84.49394300046428, 39.13235999987328], [-84.4946430004642, 39.13085999987343]]], "type": "Polygon"}, "id": "250", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 17.0, "AGE_20_24": 0.0, "AGE_21": 17.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 6.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.22, "BG": "390610034001", "BLACK": 18.0, "BLOCK": "390610034001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1162.7336, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 1.0, "ID": 701221.0, "IN_HOUSEHO": 20.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.0, "POPULATION": 20.0, "RENTER_SIZ": 2.38, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12935999987355, -84.49294300046438, 39.13115999987341], "geometry": {"coordinates": [[[-84.49464300046418, 39.12935999987355], [-84.49394300046427, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49294300046438, 39.13115999987341], [-84.49464300046418, 39.12935999987355]]], "type": "Polygon"}, "id": "251", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 4.0, "BG": "390610035002", "BLACK": 8.0, "BLOCK": "390610035002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2400.4034, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 701243.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 8.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046418, 39.12915999987361, -84.49184300046453, 39.1322599998733], "geometry": {"coordinates": [[[-84.49284300046439, 39.1322599998733], [-84.49184300046453, 39.13215999987331], [-84.49204300046448, 39.129759999873535], [-84.49214300046445, 39.12915999987361], [-84.49324300046433, 39.12925999987357], [-84.49464300046418, 39.12935999987355], [-84.49294300046438, 39.13115999987341], [-84.49284300046439, 39.1322599998733]]], "type": "Polygon"}, "id": "252", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 32.0, "AGE_20_24": 10.0, "AGE_21": 19.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.26, "AVG_HHSIZE": 2.16, "BG": "390610035002", "BLACK": 54.0, "BLOCK": "390610035002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3226.1536, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 39.0, "FEMALE_18": 25.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701260.0, "IN_HOUSEHO": 54.0, "MALE": 15.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 19.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 54.0, "RENTER_SIZ": 2.16, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49394300046427, 39.13115999987341, -84.49284300046439, 39.13235999987327], "geometry": {"coordinates": [[[-84.49394300046427, 39.13115999987341], [-84.4936430004643, 39.13235999987327], [-84.49284300046439, 39.1322599998733], [-84.49294300046438, 39.13115999987341], [-84.49314300046436, 39.13115999987341], [-84.49394300046427, 39.13115999987341]]], "type": "Polygon"}, "id": "253", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610035002", "BLACK": 0.0, "BLOCK": "390610035002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701281.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.5012430004635, 39.132359999873266, -84.49894300046375, 39.13485999987302], "geometry": {"coordinates": [[[-84.5012430004635, 39.13285999987319], [-84.50094300046354, 39.134859999873], [-84.50054300046358, 39.13485999987302], [-84.49894300046375, 39.13475999987305], [-84.49913700046373, 39.13443699987308], [-84.49954300046369, 39.13375999987313], [-84.49954300046369, 39.133259999873175], [-84.49964300046366, 39.13265999987324], [-84.5012430004635, 39.132359999873266], [-84.5012430004635, 39.13285999987319]]], "type": "Polygon"}, "id": "254", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 53.0, "AGE_20_24": 3.0, "AGE_21": 53.0, "AGE_25_34": 18.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.62, "AVG_HHSIZE": 1.7, "BG": "390610034002", "BLACK": 60.0, "BLOCK": "390610034002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4672.8118, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 26.0, "FEMALE_65": 0.0, "GQ_INSTITU": 5.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 37.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 37.0, "HU_VACANT": 6.0, "ID": 701300.0, "IN_HOUSEHO": 63.0, "MALE": 36.0, "MALE_18": 27.0, "MALE_65": 7.0, "MEDIAN_AGE": 33.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 68.0, "RENTER_SIZ": 1.7, "THEFT": 13, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 6.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50094300046354, 39.13465999987304, -84.49844300046382, 39.138359999872684], "geometry": {"coordinates": [[[-84.50084300046358, 39.13635999987288], [-84.5006430004636, 39.138359999872684], [-84.49844300046384, 39.13815999987272], [-84.49844300046382, 39.13735999987279], [-84.4986430004638, 39.135759999872946], [-84.49874300046378, 39.13465999987304], [-84.49894300046375, 39.13475999987305], [-84.50054300046358, 39.13485999987302], [-84.50094300046354, 39.134859999873], [-84.50094300046354, 39.13519099987299], [-84.50094300046354, 39.135659999872956], [-84.50084300046358, 39.13635999987288]]], "type": "Polygon"}, "id": "255", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701323.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49964300046366, 39.13265999987324, -84.496838000464, 39.13475999987305], "geometry": {"coordinates": [[[-84.49964300046366, 39.13265999987324], [-84.49954300046369, 39.133259999873175], [-84.49954300046369, 39.13375999987313], [-84.49913700046373, 39.13443699987308], [-84.49894300046375, 39.13475999987305], [-84.49874300046378, 39.13465999987304], [-84.4976430004639, 39.13455999987308], [-84.496838000464, 39.13456299987309], [-84.49684300046397, 39.13435999987308], [-84.49704300046395, 39.13265999987325], [-84.49764300046388, 39.13265999987326], [-84.49794300046385, 39.13265999987325], [-84.49964300046366, 39.13265999987324]]], "type": "Polygon"}, "id": "256", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034002", "BLACK": 0.0, "BLOCK": "390610034002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701347.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 9, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49704300046395, 39.13255999987324, -84.49604300046407, 39.13435999987308], "geometry": {"coordinates": [[[-84.49704300046395, 39.13265999987325], [-84.49684300046397, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49624300046402, 39.13255999987324], [-84.49704300046395, 39.13265999987325]]], "type": "Polygon"}, "id": "257", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.13, "BG": "390610034001", "BLACK": 17.0, "BLOCK": "390610034001009", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3255.9625, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 701373.0, "IN_HOUSEHO": 17.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 17.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49874300046378, 39.13455999987308, -84.4960430004641, 39.13735999987279], "geometry": {"coordinates": [[[-84.49874300046378, 39.13465999987304], [-84.4986430004638, 39.135759999872946], [-84.49844300046382, 39.13735999987279], [-84.4960430004641, 39.137259999872825], [-84.4960430004641, 39.137059999872825], [-84.496743000464, 39.13565999987297], [-84.496743000464, 39.13475999987305], [-84.496838000464, 39.13456299987309], [-84.4976430004639, 39.13455999987308], [-84.49874300046378, 39.13465999987304]]], "type": "Polygon"}, "id": "258", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 2.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 36.0, "AGE_25_34": 3.0, "AGE_35_44": 14.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 50.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.17, "AVG_HHSIZE": 2.38, "BG": "390610034002", "BLACK": 50.0, "BLOCK": "390610034002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2352.8122, "F1_RACE": 50.0, "F2_RACES": 0.0, "FEMALE": 18.0, "FEMALE_18": 16.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 5.0, "ID": 701390.0, "IN_HOUSEHO": 50.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 2.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.43, "POPULATION": 50.0, "RENTER_SIZ": 1.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5006430004636, 39.13815999987272, -84.49834300046383, 39.13945999987261], "geometry": {"coordinates": [[[-84.5006430004636, 39.138359999872684], [-84.50054300046362, 39.13935999987259], [-84.49834300046383, 39.13945999987261], [-84.49834300046383, 39.13885999987267], [-84.49844300046384, 39.13815999987272], [-84.5006430004636, 39.138359999872684]]], "type": "Polygon"}, "id": "259", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 33.0, "AGE_20_24": 6.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.44, "AVG_HHSIZE": 1.61, "BG": "390610067002", "BLACK": 24.0, "BLOCK": "390610067002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3895.8118, "F1_RACE": 37.0, "F2_RACES": 0.0, "FEMALE": 19.0, "FEMALE_18": 16.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 1.0, "ID": 701413.0, "IN_HOUSEHO": 37.0, "MALE": 18.0, "MALE_18": 17.0, "MALE_65": 1.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 37.0, "RENTER_SIZ": 1.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50054300046362, 39.13935999987259, -84.49824300046387, 39.1406599998725], "geometry": {"coordinates": [[[-84.50054300046362, 39.13935999987259], [-84.50054300046362, 39.139659999872585], [-84.50034300046366, 39.1406599998725], [-84.49824300046387, 39.1406599998725], [-84.49834300046385, 39.140159999872544], [-84.49834300046383, 39.13945999987261], [-84.50054300046362, 39.13935999987259]]], "type": "Polygon"}, "id": "260", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 17.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 12.0, "AGE_35_44": 17.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 28.0, "AGE_60_64": 1.0, "AGE_62": 16.0, "AGE_65": 15.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 121.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.77, "AVG_HHSIZE": 3.54, "BG": "390610067002", "BLACK": 120.0, "BLOCK": "390610067002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12519.5291, "F1_RACE": 123.0, "F2_RACES": 1.0, "FEMALE": 72.0, "FEMALE_18": 37.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 8.0, "ID": 701432.0, "IN_HOUSEHO": 124.0, "MALE": 52.0, "MALE_18": 23.0, "MALE_65": 5.0, "MEDIAN_AGE": 17.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 120.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.83, "POPULATION": 124.0, "RENTER_SIZ": 3.91, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50034300046366, 39.1406599998725, -84.49814300046388, 39.1416599998724], "geometry": {"coordinates": [[[-84.50024300046367, 39.1416599998724], [-84.49974300046372, 39.141559999872406], [-84.49984300046371, 39.14125999987244], [-84.49884300046381, 39.14125999987244], [-84.49884300046381, 39.141559999872406], [-84.49814300046388, 39.14155999987243], [-84.49824300046387, 39.1406599998725], [-84.50034300046366, 39.1406599998725], [-84.50024300046367, 39.1416599998724]]], "type": "Polygon"}, "id": "261", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 15.0, "AGE_15_19": 3.0, "AGE_18": 67.0, "AGE_20_24": 6.0, "AGE_21": 64.0, "AGE_25_34": 15.0, "AGE_35_44": 19.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 11.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 94.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.2, "BG": "390610067003", "BLACK": 94.0, "BLOCK": "390610067003007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16353.6988, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 52.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 23.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 17.0, "ID": 701450.0, "IN_HOUSEHO": 99.0, "MALE": 47.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 99.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.13805999987273, -84.49654300046404, 39.13885999987267], "geometry": {"coordinates": [[[-84.49844300046384, 39.13815999987272], [-84.49834300046383, 39.13885999987267], [-84.49654300046404, 39.13875999987268], [-84.49654300046404, 39.13805999987273], [-84.49844300046384, 39.13815999987272]]], "type": "Polygon"}, "id": "262", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 32.0, "AGE_20_24": 5.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 5.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.56, "AVG_HHSIZE": 2.0, "BG": "390610067002", "BLACK": 46.0, "BLOCK": "390610067002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9971.922, "F1_RACE": 46.0, "F2_RACES": 2.0, "FEMALE": 28.0, "FEMALE_18": 19.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 38.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 14.0, "ID": 701470.0, "IN_HOUSEHO": 48.0, "MALE": 20.0, "MALE_18": 13.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.63, "POPULATION": 48.0, "RENTER_SIZ": 2.19, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49844300046384, 39.137259999872825, -84.49544300046415, 39.13815999987272], "geometry": {"coordinates": [[[-84.49844300046382, 39.13735999987279], [-84.49844300046384, 39.13815999987272], [-84.49654300046404, 39.13805999987273], [-84.49544300046415, 39.13795999987277], [-84.4960430004641, 39.137259999872825], [-84.49844300046382, 39.13735999987279]]], "type": "Polygon"}, "id": "263", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 9.0, "AGE_15_19": 4.0, "AGE_18": 42.0, "AGE_20_24": 4.0, "AGE_21": 38.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 12.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 12.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 1.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.11, "BG": "390610034002", "BLACK": 52.0, "BLOCK": "390610034002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7551.7359, "F1_RACE": 54.0, "F2_RACES": 5.0, "FEMALE": 28.0, "FEMALE_18": 23.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 28.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 28.0, "HU_VACANT": 5.0, "ID": 701488.0, "IN_HOUSEHO": 59.0, "MALE": 31.0, "MALE_18": 19.0, "MALE_65": 3.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.0, "POPULATION": 59.0, "RENTER_SIZ": 1.63, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.140159999872544, -84.49664300046405, 39.14235999987234], "geometry": {"coordinates": [[[-84.49814300046388, 39.14155999987243], [-84.4981430004639, 39.14235999987234], [-84.49664300046405, 39.14235999987234], [-84.49684300046403, 39.141159999872464], [-84.49674300046404, 39.140759999872486], [-84.49674300046402, 39.14015999987255], [-84.49834300046385, 39.140159999872544], [-84.49824300046387, 39.1406599998725], [-84.49814300046388, 39.14155999987243]]], "type": "Polygon"}, "id": "264", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 5.0, "AGE_15_19": 16.0, "AGE_18": 144.0, "AGE_20_24": 23.0, "AGE_21": 125.0, "AGE_25_34": 16.0, "AGE_35_44": 33.0, "AGE_45_54": 24.0, "AGE_55_59": 10.0, "AGE_5_9": 21.0, "AGE_60_64": 9.0, "AGE_62": 26.0, "AGE_65": 20.0, "AGE_65_74": 15.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 197.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.03, "BG": "390610067004", "BLACK": 197.0, "BLOCK": "390610067004006", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17071.3195, "F1_RACE": 201.0, "F2_RACES": 0.0, "FEMALE": 112.0, "FEMALE_18": 76.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 55.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 14.0, "ID": 701506.0, "IN_HOUSEHO": 201.0, "MALE": 89.0, "MALE_18": 68.0, "MALE_65": 6.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 201.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 84.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 201.0, "RENTER_SIZ": 1.86, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49624300046402, 39.13255999987324, -84.49464300046422, 39.13435999987308], "geometry": {"coordinates": [[[-84.49624300046402, 39.13255999987324], [-84.49604300046407, 39.13435999987308], [-84.49464300046422, 39.13435999987308], [-84.49484300046419, 39.13255999987326], [-84.49574300046409, 39.13255999987324], [-84.49624300046402, 39.13255999987324]]], "type": "Polygon"}, "id": "265", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 51.0, "AGE_20_24": 1.0, "AGE_21": 49.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 8.0, "AGE_65": 5.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 69.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.92, "BG": "390610034001", "BLACK": 67.0, "BLOCK": "390610034001008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7394.32, "F1_RACE": 67.0, "F2_RACES": 2.0, "FEMALE": 30.0, "FEMALE_18": 19.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 46.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 10.0, "ID": 701526.0, "IN_HOUSEHO": 69.0, "MALE": 39.0, "MALE_18": 32.0, "MALE_65": 4.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 69.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 69.0, "RENTER_SIZ": 1.79, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.496838000464, 39.13456299987309, -84.49564300046411, 39.13565999987297], "geometry": {"coordinates": [[[-84.496743000464, 39.13565999987297], [-84.49564300046411, 39.13565999987297], [-84.49574600046411, 39.13456799987306], [-84.49603300046407, 39.13456699987308], [-84.496838000464, 39.13456299987309], [-84.496743000464, 39.13475999987305], [-84.496743000464, 39.13565999987297]]], "type": "Polygon"}, "id": "266", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 31.0, "AGE_25_34": 4.0, "AGE_35_44": 8.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.17, "AVG_HHSIZE": 3.22, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13544.9492, "F1_RACE": 58.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 18.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 701545.0, "IN_HOUSEHO": 58.0, "MALE": 24.0, "MALE_18": 14.0, "MALE_65": 4.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 58.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 58.0, "RENTER_SIZ": 3.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49684300046397, 39.134259999873116, -84.49354300046434, 39.13456799987306], "geometry": {"coordinates": [[[-84.49684300046397, 39.13435999987308], [-84.496838000464, 39.13456299987309], [-84.49603300046407, 39.13456699987308], [-84.49574600046411, 39.13456799987306], [-84.4949400004642, 39.13446999987309], [-84.49474300046421, 39.13445999987308], [-84.49354300046434, 39.134459999873094], [-84.49354300046434, 39.134259999873116], [-84.49464300046422, 39.13435999987308], [-84.49604300046407, 39.13435999987308], [-84.49684300046397, 39.13435999987308]]], "type": "Polygon"}, "id": "267", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610034001", "BLACK": 0.0, "BLOCK": "390610034001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701563.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49574600046411, 39.13446999987309, -84.49474300046423, 39.13565999987297], "geometry": {"coordinates": [[[-84.49574600046411, 39.13456799987306], [-84.49564300046411, 39.13565999987297], [-84.49474300046423, 39.13555999987299], [-84.49494300046419, 39.134559999873105], [-84.4949400004642, 39.13446999987309], [-84.49574600046411, 39.13456799987306]]], "type": "Polygon"}, "id": "268", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 37.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 5.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 10.0, "AGE_65": 10.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.4, "BG": "390610034001", "BLACK": 59.0, "BLOCK": "390610034001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17330.8057, "F1_RACE": 59.0, "F2_RACES": 1.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 701585.0, "IN_HOUSEHO": 60.0, "MALE": 29.0, "MALE_18": 15.0, "MALE_65": 2.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 60.0, "RENTER_SIZ": 2.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.496743000464, 39.13445999987308, -84.49354300046434, 39.137059999872825], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.49514300046418, 39.13685999987286], [-84.49374300046433, 39.136759999872865], [-84.49354300046434, 39.134459999873094], [-84.49474300046421, 39.13445999987308], [-84.4949400004642, 39.13446999987309], [-84.49494300046419, 39.134559999873105], [-84.49474300046423, 39.13555999987299], [-84.49564300046411, 39.13565999987297], [-84.496743000464, 39.13565999987297], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "269", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 12.0, "AGE_15_19": 13.0, "AGE_18": 93.0, "AGE_20_24": 11.0, "AGE_21": 87.0, "AGE_25_34": 14.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 8.0, "AGE_60_64": 5.0, "AGE_62": 21.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 126.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.07, "AVG_HHSIZE": 2.17, "BG": "390610034001", "BLACK": 123.0, "BLOCK": "390610034001001", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7107.1126, "F1_RACE": 125.0, "F2_RACES": 3.0, "FEMALE": 80.0, "FEMALE_18": 59.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 15.0, "ID": 701604.0, "IN_HOUSEHO": 128.0, "MALE": 48.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 128.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 40.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 128.0, "RENTER_SIZ": 2.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 2.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49484300046419, 39.13235999987328, -84.49294300046441, 39.134459999873094], "geometry": {"coordinates": [[[-84.49464300046422, 39.13435999987308], [-84.49354300046434, 39.134259999873116], [-84.49354300046434, 39.134459999873094], [-84.49294300046441, 39.134459999873094], [-84.49394300046428, 39.13235999987328], [-84.49484300046419, 39.13255999987326], [-84.49464300046422, 39.13435999987308]]], "type": "Polygon"}, "id": "270", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 4.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.67, "BG": "390610034001", "BLACK": 16.0, "BLOCK": "390610034001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1738.7833, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 2.0, "ID": 701626.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 16.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49394300046428, 39.1322599998733, -84.49234300046446, 39.134459999873094], "geometry": {"coordinates": [[[-84.49394300046428, 39.13235999987328], [-84.49294300046441, 39.134459999873094], [-84.49234300046446, 39.13435999987311], [-84.49244300046446, 39.13415999987311], [-84.49284300046439, 39.1322599998733], [-84.4936430004643, 39.13235999987327], [-84.49394300046428, 39.13235999987328]]], "type": "Polygon"}, "id": "271", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 701646.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49374300046433, 39.134459999873094, -84.49221400046447, 39.13675999987287], "geometry": {"coordinates": [[[-84.49354300046434, 39.134459999873094], [-84.49374300046433, 39.136759999872865], [-84.49234300046447, 39.13675999987287], [-84.49224300046448, 39.135659999872985], [-84.49221400046447, 39.135337999873], [-84.49244300046446, 39.135159999873025], [-84.49294300046441, 39.134459999873094], [-84.49354300046434, 39.134459999873094]]], "type": "Polygon"}, "id": "272", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 7.0, "AGE_18": 40.0, "AGE_20_24": 4.0, "AGE_21": 35.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 56.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.81, "AVG_HHSIZE": 2.15, "BG": "390610034001", "BLACK": 56.0, "BLOCK": "390610034001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5326.181, "F1_RACE": 56.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 701665.0, "IN_HOUSEHO": 56.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 28.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 56.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 56.0, "RENTER_SIZ": 2.13, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003400", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49654300046404, 39.13795999987277, -84.4949430004642, 39.13875999987268], "geometry": {"coordinates": [[[-84.49654300046404, 39.13805999987273], [-84.49654300046404, 39.13875999987268], [-84.4949430004642, 39.13855999987269], [-84.49524300046419, 39.13825999987273], [-84.49544300046415, 39.13795999987277], [-84.49654300046404, 39.13805999987273]]], "type": "Polygon"}, "id": "273", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 3.0, "AGE_21": 26.0, "AGE_25_34": 6.0, "AGE_35_44": 6.0, "AGE_45_54": 2.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.29, "BG": "390610067002", "BLACK": 37.0, "BLOCK": "390610067002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11703.1123, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 14.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 5.0, "ID": 701685.0, "IN_HOUSEHO": 39.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.67, "POPULATION": 39.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49834300046385, 39.13855999987269, -84.49354300046437, 39.14015999987255], "geometry": {"coordinates": [[[-84.49834300046383, 39.13945999987261], [-84.49834300046385, 39.140159999872544], [-84.49674300046402, 39.14015999987255], [-84.49354300046437, 39.13995999987257], [-84.49444300046427, 39.139159999872646], [-84.4949430004642, 39.13855999987269], [-84.49654300046404, 39.13875999987268], [-84.49834300046383, 39.13885999987267], [-84.49834300046383, 39.13945999987261]]], "type": "Polygon"}, "id": "274", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 21.0, "AGE_15_19": 17.0, "AGE_18": 206.0, "AGE_20_24": 14.0, "AGE_21": 196.0, "AGE_25_34": 31.0, "AGE_35_44": 58.0, "AGE_45_54": 40.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 10.0, "AGE_62": 40.0, "AGE_65": 36.0, "AGE_65_74": 25.0, "AGE_75_84": 11.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 264.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.28, "BG": "390610067002", "BLACK": 264.0, "BLOCK": "390610067002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13219.4943, "F1_RACE": 279.0, "F2_RACES": 0.0, "FEMALE": 145.0, "FEMALE_18": 105.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 5.0, "GROUP_QUAR": 5.0, "HAWAIIAN": 0.0, "HH_FAMILY": 59.0, "HH_NONFAMI": 61.0, "HOUSEHOLDS": 120.0, "HSNG_UNITS": 139.0, "HU_OCCUPIE": 120.0, "HU_VACANT": 19.0, "ID": 701704.0, "IN_HOUSEHO": 274.0, "MALE": 134.0, "MALE_18": 101.0, "MALE_65": 15.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 277.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 90.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.8, "POPULATION": 279.0, "RENTER_SIZ": 2.11, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 14.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50714300046275, 39.11655999987471, -84.50604300046285, 39.117459999874605], "geometry": {"coordinates": [[[-84.50704300046277, 39.117459999874605], [-84.50604300046285, 39.11735999987464], [-84.50614300046284, 39.11655999987471], [-84.50714300046275, 39.11655999987471], [-84.50704300046277, 39.117459999874605]]], "type": "Polygon"}, "id": "275", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 26.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.95, "BG": "390610018002", "BLACK": 33.0, "BLOCK": "390610018002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11683.7506, "F1_RACE": 36.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 13.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 666949.0, "IN_HOUSEHO": 37.0, "MALE": 19.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 37.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50604300046285, 39.11735999987464, -84.50464300046302, 39.118059999874546], "geometry": {"coordinates": [[[-84.50604300046285, 39.11735999987464], [-84.50594300046288, 39.118059999874546], [-84.50464300046302, 39.117959999874564], [-84.50464300046302, 39.11735999987464], [-84.50604300046285, 39.11735999987464]]], "type": "Polygon"}, "id": "276", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 5.0, "AGE_18": 34.0, "AGE_20_24": 1.0, "AGE_21": 34.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 12.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003001", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12886.0003, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 666966.0, "IN_HOUSEHO": 42.0, "MALE": 17.0, "MALE_18": 14.0, "MALE_65": 3.0, "MEDIAN_AGE": 49.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50614300046284, 39.116359999874724, -84.50354300046313, 39.11735999987465], "geometry": {"coordinates": [[[-84.50614300046284, 39.11655999987471], [-84.50604300046285, 39.11735999987464], [-84.50464300046302, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50354300046313, 39.116359999874724], [-84.50614300046284, 39.11655999987471]]], "type": "Polygon"}, "id": "277", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 45.0, "AGE_20_24": 0.0, "AGE_21": 45.0, "AGE_25_34": 7.0, "AGE_35_44": 10.0, "AGE_45_54": 10.0, "AGE_55_59": 4.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 4.0, "AGE_75_84": 5.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 52.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 1.96, "BG": "390610018003", "BLACK": 52.0, "BLOCK": "390610018003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6504.3475, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 25.0, "FEMALE_18": 22.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 27.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 27.0, "HU_VACANT": 4.0, "ID": 666984.0, "IN_HOUSEHO": 53.0, "MALE": 28.0, "MALE_18": 23.0, "MALE_65": 3.0, "MEDIAN_AGE": 46.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.73, "POPULATION": 53.0, "RENTER_SIZ": 2.13, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50844300046265, 39.11735999987464, -84.50344300046316, 39.121459999874226], "geometry": {"coordinates": [[[-84.50444300046306, 39.120559999874324], [-84.50344300046316, 39.120459999874356], [-84.50374300046313, 39.11735999987465], [-84.50464300046302, 39.11735999987464], [-84.50464300046302, 39.117959999874564], [-84.50594300046288, 39.118059999874546], [-84.50574300046291, 39.11965999987443], [-84.50844300046263, 39.11985999987439], [-84.50844300046265, 39.120459999874335], [-84.50834300046266, 39.121459999874226], [-84.50564300046294, 39.121359999874265], [-84.50444300046307, 39.121259999874276], [-84.50444300046306, 39.120559999874324]]], "type": "Polygon"}, "id": "278", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 24.0, "AGE_15_19": 22.0, "AGE_18": 246.0, "AGE_20_24": 22.0, "AGE_21": 234.0, "AGE_25_34": 57.0, "AGE_35_44": 53.0, "AGE_45_54": 47.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 8.0, "AGE_62": 43.0, "AGE_65": 38.0, "AGE_65_74": 19.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 3.0, "AP_BLACK": 292.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 5.0, "AP_WHITE": 29.0, "AREA": 0.04, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.05, "AVG_HHSIZE": 2.2, "BG": "390610022002", "BLACK": 283.0, "BLOCK": "390610022002003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7480.1601, "F1_RACE": 313.0, "F2_RACES": 11.0, "FEMALE": 171.0, "FEMALE_18": 131.0, "FEMALE_65": 26.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 75.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 147.0, "HSNG_UNITS": 207.0, "HU_OCCUPIE": 147.0, "HU_VACANT": 60.0, "ID": 667002.0, "IN_HOUSEHO": 324.0, "MALE": 153.0, "MALE_18": 115.0, "MALE_65": 12.0, "MEDIAN_AGE": 34.3, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 321.0, "OCCHU_OWNE": 47.0, "OCCHU_RENT": 100.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.77, "POPULATION": 324.0, "RENTER_SIZ": 1.94, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 25.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50834300046266, 39.121359999874265, -84.50564300046294, 39.12195999987419], "geometry": {"coordinates": [[[-84.50834300046266, 39.121459999874226], [-84.50834300046266, 39.12195999987419], [-84.50564300046294, 39.12175999987422], [-84.50564300046294, 39.121359999874265], [-84.50834300046266, 39.121459999874226]]], "type": "Polygon"}, "id": "279", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 7.0, "AGE_15_19": 3.0, "AGE_18": 61.0, "AGE_20_24": 8.0, "AGE_21": 60.0, "AGE_25_34": 15.0, "AGE_35_44": 13.0, "AGE_45_54": 9.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.31, "AVG_HHSIZE": 1.93, "BG": "390610022002", "BLACK": 61.0, "BLOCK": "390610022002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18000.5453, "F1_RACE": 78.0, "F2_RACES": 3.0, "FEMALE": 44.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 29.0, "HOUSEHOLDS": 42.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 42.0, "HU_VACANT": 12.0, "ID": 667029.0, "IN_HOUSEHO": 81.0, "MALE": 37.0, "MALE_18": 24.0, "MALE_65": 4.0, "MEDIAN_AGE": 31.8, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 31.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 81.0, "RENTER_SIZ": 1.81, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12265999987413, -84.5043430004631, 39.124259999874], "geometry": {"coordinates": [[[-84.50834300046267, 39.123959999873996], [-84.50834300046267, 39.12425999987398], [-84.50474300046305, 39.124259999874], [-84.5043430004631, 39.124159999874], [-84.50444300046308, 39.12355999987404], [-84.50664300046284, 39.12355999987404], [-84.50664300046284, 39.12275999987412], [-84.50834300046267, 39.12265999987413], [-84.50834300046267, 39.123959999873996]]], "type": "Polygon"}, "id": "280", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 12.0, "AGE_15_19": 11.0, "AGE_18": 152.0, "AGE_20_24": 15.0, "AGE_21": 141.0, "AGE_25_34": 41.0, "AGE_35_44": 38.0, "AGE_45_54": 23.0, "AGE_55_59": 7.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 170.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 22.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.07, "BG": "390610022003", "BLACK": 167.0, "BLOCK": "390610022003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12551.3346, "F1_RACE": 192.0, "F2_RACES": 3.0, "FEMALE": 94.0, "FEMALE_18": 80.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 41.0, "HH_NONFAMI": 53.0, "HOUSEHOLDS": 94.0, "HSNG_UNITS": 111.0, "HU_OCCUPIE": 94.0, "HU_VACANT": 17.0, "ID": 667045.0, "IN_HOUSEHO": 195.0, "MALE": 101.0, "MALE_18": 72.0, "MALE_65": 5.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.97, "POPULATION": 195.0, "RENTER_SIZ": 1.68, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 21.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.12425999987398, -84.50474300046305, 39.12555999987385], "geometry": {"coordinates": [[[-84.50834300046267, 39.12505999987389], [-84.50824300046268, 39.12555999987385], [-84.50674300046285, 39.125459999873875], [-84.50604300046291, 39.125059999873905], [-84.50564300046297, 39.12495999987392], [-84.50474300046305, 39.12495999987392], [-84.50474300046305, 39.124259999874], [-84.50834300046267, 39.12425999987398], [-84.50834300046267, 39.12505999987389]]], "type": "Polygon"}, "id": "281", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 7.0, "AGE_15_19": 18.0, "AGE_18": 145.0, "AGE_20_24": 32.0, "AGE_21": 126.0, "AGE_25_34": 39.0, "AGE_35_44": 30.0, "AGE_45_54": 17.0, "AGE_55_59": 1.0, "AGE_5_9": 7.0, "AGE_60_64": 9.0, "AGE_62": 14.0, "AGE_65": 9.0, "AGE_65_74": 7.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 49.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.92, "BG": "390610022004", "BLACK": 128.0, "BLOCK": "390610022004004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13388.9258, "F1_RACE": 179.0, "F2_RACES": 0.0, "FEMALE": 101.0, "FEMALE_18": 80.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 62.0, "HOUSEHOLDS": 93.0, "HSNG_UNITS": 104.0, "HU_OCCUPIE": 93.0, "HU_VACANT": 11.0, "ID": 667067.0, "IN_HOUSEHO": 179.0, "MALE": 78.0, "MALE_18": 65.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.1, "MSA": "1640", "NH_WHITE": 47.0, "NOT_HISPAN": 177.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 76.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.76, "POPULATION": 179.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 49.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50834300046267, 39.121259999874276, -84.5042430004631, 39.12275999987412], "geometry": {"coordinates": [[[-84.50834300046266, 39.12195999987419], [-84.50834300046267, 39.12265999987413], [-84.50664300046284, 39.12275999987412], [-84.5042430004631, 39.12255999987417], [-84.50444300046307, 39.121259999874276], [-84.50564300046294, 39.121359999874265], [-84.50564300046294, 39.12175999987422], [-84.50834300046266, 39.12195999987419]]], "type": "Polygon"}, "id": "282", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 14.0, "AGE_15_19": 23.0, "AGE_18": 141.0, "AGE_20_24": 13.0, "AGE_21": 128.0, "AGE_25_34": 32.0, "AGE_35_44": 36.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 22.0, "AGE_60_64": 10.0, "AGE_62": 17.0, "AGE_65": 12.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 1.0, "AP_WHITE": 25.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.41, "BG": "390610022002", "BLACK": 180.0, "BLOCK": "390610022002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13920.8235, "F1_RACE": 198.0, "F2_RACES": 9.0, "FEMALE": 108.0, "FEMALE_18": 75.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 47.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 113.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 27.0, "ID": 667087.0, "IN_HOUSEHO": 207.0, "MALE": 99.0, "MALE_18": 66.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.7, "MSA": "1640", "NH_WHITE": 17.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 71.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.53, "POPULATION": 207.0, "RENTER_SIZ": 2.38, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 17.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50664300046284, 39.12255999987417, -84.50414300046312, 39.12355999987404], "geometry": {"coordinates": [[[-84.50664300046284, 39.12275999987412], [-84.50664300046284, 39.12355999987404], [-84.50444300046308, 39.12355999987404], [-84.50414300046312, 39.12345999987407], [-84.5042430004631, 39.12255999987417], [-84.50664300046284, 39.12275999987412]]], "type": "Polygon"}, "id": "283", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 12.0, "AGE_15_19": 8.0, "AGE_18": 87.0, "AGE_20_24": 9.0, "AGE_21": 80.0, "AGE_25_34": 14.0, "AGE_35_44": 19.0, "AGE_45_54": 24.0, "AGE_55_59": 3.0, "AGE_5_9": 12.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.22, "AVG_HHSIZE": 2.38, "BG": "390610022003", "BLACK": 115.0, "BLOCK": "390610022003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7854, "F1_RACE": 121.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 54.0, "FEMALE_65": 9.0, "GQ_INSTITU": 9.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 54.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 7.0, "ID": 667107.0, "IN_HOUSEHO": 112.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 4.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 21.0, "OCCHU_RENT": 26.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.14, "POPULATION": 121.0, "RENTER_SIZ": 2.58, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50374300046313, 39.11735999987464, -84.50244300046329, 39.120459999874356], "geometry": {"coordinates": [[[-84.50344300046316, 39.120459999874356], [-84.50244300046329, 39.12035999987436], [-84.50274300046323, 39.11735999987464], [-84.50374300046313, 39.11735999987465], [-84.50344300046316, 39.120459999874356]]], "type": "Polygon"}, "id": "284", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 10.0, "AGE_15_19": 6.0, "AGE_18": 133.0, "AGE_20_24": 15.0, "AGE_21": 128.0, "AGE_25_34": 22.0, "AGE_35_44": 22.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 10.0, "AGE_60_64": 9.0, "AGE_62": 39.0, "AGE_65": 35.0, "AGE_65_74": 16.0, "AGE_75_84": 14.0, "AGE_85": 5.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 160.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.29, "BG": "390610022001", "BLACK": 160.0, "BLOCK": "390610022001005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 14534.9531, "F1_RACE": 165.0, "F2_RACES": 0.0, "FEMALE": 88.0, "FEMALE_18": 73.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 37.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 72.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 72.0, "HU_VACANT": 12.0, "ID": 667125.0, "IN_HOUSEHO": 165.0, "MALE": 77.0, "MALE_18": 60.0, "MALE_65": 10.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 32.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.55, "POPULATION": 165.0, "RENTER_SIZ": 1.97, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 5.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50274300046323, 39.11735999987464, -84.49994300046355, 39.12235999987418], "geometry": {"coordinates": [[[-84.50244300046329, 39.12035999987436], [-84.50224300046331, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50114300046343, 39.12235999987418], [-84.50081300046347, 39.121369999874275], [-84.50074300046347, 39.12115999987429], [-84.49994300046355, 39.11945999987446], [-84.5001430004635, 39.117559999874615], [-84.50174300046334, 39.117459999874605], [-84.50274300046323, 39.11735999987464], [-84.50244300046329, 39.12035999987436]]], "type": "Polygon"}, "id": "285", "properties": {"AGE_0_5": 17.0, "AGE_10_14": 38.0, "AGE_15_19": 34.0, "AGE_18": 244.0, "AGE_20_24": 22.0, "AGE_21": 227.0, "AGE_25_34": 44.0, "AGE_35_44": 49.0, "AGE_45_54": 62.0, "AGE_55_59": 12.0, "AGE_5_9": 29.0, "AGE_60_64": 10.0, "AGE_62": 41.0, "AGE_65": 36.0, "AGE_65_74": 16.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 343.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 4.0, "AP_WHITE": 6.0, "AREA": 0.04, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.68, "AVG_HHSIZE": 2.89, "BG": "390610022001", "BLACK": 343.0, "BLOCK": "390610022001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9208.6985, "F1_RACE": 353.0, "F2_RACES": 0.0, "FEMALE": 199.0, "FEMALE_18": 142.0, "FEMALE_65": 25.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 79.0, "HH_NONFAMI": 43.0, "HOUSEHOLDS": 122.0, "HSNG_UNITS": 133.0, "HU_OCCUPIE": 122.0, "HU_VACANT": 11.0, "ID": 667143.0, "IN_HOUSEHO": 353.0, "MALE": 154.0, "MALE_18": 102.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.1, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 351.0, "OCCHU_OWNE": 63.0, "OCCHU_RENT": 59.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 3.51, "POPULATION": 353.0, "RENTER_SIZ": 2.24, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50444300046307, 39.120459999874356, -84.50324300046321, 39.12255999987417], "geometry": {"coordinates": [[[-84.50444300046307, 39.121259999874276], [-84.5042430004631, 39.12255999987417], [-84.50324300046321, 39.12245999987417], [-84.50344300046316, 39.120459999874356], [-84.50444300046306, 39.120559999874324], [-84.50444300046307, 39.121259999874276]]], "type": "Polygon"}, "id": "286", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 57.0, "AGE_20_24": 4.0, "AGE_21": 56.0, "AGE_25_34": 5.0, "AGE_35_44": 7.0, "AGE_45_54": 12.0, "AGE_55_59": 7.0, "AGE_5_9": 4.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 60.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.68, "AVG_HHSIZE": 2.16, "BG": "390610022002", "BLACK": 60.0, "BLOCK": "390610022002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8655.7543, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 41.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 10.0, "ID": 667166.0, "IN_HOUSEHO": 67.0, "MALE": 33.0, "MALE_18": 28.0, "MALE_65": 10.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 66.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.56, "POPULATION": 67.0, "RENTER_SIZ": 1.62, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50344300046316, 39.12035999987436, -84.50224300046331, 39.12245999987417], "geometry": {"coordinates": [[[-84.50324300046321, 39.12245999987417], [-84.50224300046331, 39.12235999987418], [-84.50244300046329, 39.12035999987436], [-84.50344300046316, 39.120459999874356], [-84.50324300046321, 39.12245999987417]]], "type": "Polygon"}, "id": "287", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 11.0, "AGE_15_19": 3.0, "AGE_18": 69.0, "AGE_20_24": 4.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 12.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 0.0, "AGE_62": 19.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 6.0, "AGE_85": 6.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 88.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 3.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.12, "AVG_HHSIZE": 2.56, "BG": "390610022001", "BLACK": 87.0, "BLOCK": "390610022001004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13366.7012, "F1_RACE": 99.0, "F2_RACES": 1.0, "FEMALE": 51.0, "FEMALE_18": 35.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 45.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 6.0, "ID": 667185.0, "IN_HOUSEHO": 100.0, "MALE": 49.0, "MALE_18": 34.0, "MALE_65": 7.0, "MEDIAN_AGE": 31.0, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.22, "POPULATION": 100.0, "RENTER_SIZ": 2.86, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 9.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50324300046321, 39.12235999987418, -84.50214300046333, 39.12345999987407], "geometry": {"coordinates": [[[-84.50314300046323, 39.12345999987407], [-84.50214300046333, 39.12335999987408], [-84.50224300046331, 39.12235999987418], [-84.50324300046321, 39.12245999987417], [-84.50314300046323, 39.12345999987407]]], "type": "Polygon"}, "id": "288", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 52.0, "AGE_20_24": 5.0, "AGE_21": 50.0, "AGE_25_34": 14.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 63.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.68, "BG": "390610022003", "BLACK": 63.0, "BLOCK": "390610022003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17911.7113, "F1_RACE": 67.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 24.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 40.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 40.0, "HU_VACANT": 8.0, "ID": 667202.0, "IN_HOUSEHO": 67.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.71, "POPULATION": 67.0, "RENTER_SIZ": 1.45, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5042430004631, 39.12245999987417, -84.50314300046323, 39.12345999987407], "geometry": {"coordinates": [[[-84.5042430004631, 39.12255999987417], [-84.50414300046312, 39.12345999987407], [-84.50314300046323, 39.12345999987407], [-84.50324300046321, 39.12245999987417], [-84.5042430004631, 39.12255999987417]]], "type": "Polygon"}, "id": "289", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 31.0, "AGE_20_24": 0.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 14.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 7.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 11.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.75, "AVG_HHSIZE": 2.0, "BG": "390610022003", "BLACK": 33.0, "BLOCK": "390610022003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12440.3687, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 17.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 30.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 8.0, "ID": 667220.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 14.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.7, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 44.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 11.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50444300046308, 39.12345999987407, -84.50314300046323, 39.124159999874], "geometry": {"coordinates": [[[-84.50444300046308, 39.12355999987404], [-84.5043430004631, 39.124159999874], [-84.50334300046322, 39.124159999873996], [-84.50314300046323, 39.12345999987407], [-84.50414300046312, 39.12345999987407], [-84.50444300046308, 39.12355999987404]]], "type": "Polygon"}, "id": "290", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 0.0, "AGE_18": 34.0, "AGE_20_24": 2.0, "AGE_21": 34.0, "AGE_25_34": 10.0, "AGE_35_44": 2.0, "AGE_45_54": 9.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 44.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.68, "BG": "390610022003", "BLACK": 44.0, "BLOCK": "390610022003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17321.771, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 21.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 2.0, "ID": 667237.0, "IN_HOUSEHO": 51.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 51.0, "RENTER_SIZ": 2.93, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50474300046305, 39.124159999873996, -84.50334300046322, 39.12495999987392], "geometry": {"coordinates": [[[-84.50474300046305, 39.124259999874], [-84.50474300046305, 39.12495999987392], [-84.5034430004632, 39.12485999987395], [-84.50334300046322, 39.124159999873996], [-84.5043430004631, 39.124159999874], [-84.50474300046305, 39.124259999874]]], "type": "Polygon"}, "id": "291", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 3.0, "AGE_21": 35.0, "AGE_25_34": 4.0, "AGE_35_44": 18.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 48.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 4.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.75, "BG": "390610022004", "BLACK": 44.0, "BLOCK": "390610022004005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15001.0741, "F1_RACE": 51.0, "F2_RACES": 4.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 4.0, "ID": 667256.0, "IN_HOUSEHO": 55.0, "MALE": 22.0, "MALE_18": 13.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.9, "POPULATION": 55.0, "RENTER_SIZ": 2.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 7.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5034430004632, 39.12335999987408, -84.50214300046333, 39.12485999987396], "geometry": {"coordinates": [[[-84.50334300046322, 39.124159999873996], [-84.5034430004632, 39.12485999987395], [-84.5025430004633, 39.12485999987396], [-84.5025430004633, 39.124259999874], [-84.50234300046331, 39.123959999874025], [-84.50214300046333, 39.12335999987408], [-84.50314300046323, 39.12345999987407], [-84.50334300046322, 39.124159999873996]]], "type": "Polygon"}, "id": "292", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 41.0, "AGE_20_24": 1.0, "AGE_21": 41.0, "AGE_25_34": 10.0, "AGE_35_44": 6.0, "AGE_45_54": 10.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 51.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.78, "AVG_HHSIZE": 1.65, "BG": "390610022003", "BLACK": 51.0, "BLOCK": "390610022003000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10552.4083, "F1_RACE": 51.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 23.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 8.0, "ID": 667274.0, "IN_HOUSEHO": 51.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 51.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.64, "POPULATION": 51.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50224300046331, 39.12235999987418, -84.50114300046343, 39.12335999987408], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50114300046344, 39.12325999987408], [-84.50114300046343, 39.12235999987418], [-84.50154300046339, 39.12235999987418], [-84.50224300046331, 39.12235999987418], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "293", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 3.0, "AGE_18": 50.0, "AGE_20_24": 3.0, "AGE_21": 46.0, "AGE_25_34": 9.0, "AGE_35_44": 21.0, "AGE_45_54": 6.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 6.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 42.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 1.67, "BG": "390610022001", "BLACK": 42.0, "BLOCK": "390610022001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14850.7518, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 32.0, "FEMALE_18": 30.0, "FEMALE_65": 2.0, "GQ_INSTITU": 20.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 20.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 7.0, "ID": 667293.0, "IN_HOUSEHO": 35.0, "MALE": 23.0, "MALE_18": 20.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.2, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 53.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.75, "POPULATION": 55.0, "RENTER_SIZ": 1.65, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 12.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5025430004633, 39.12325999987408, -84.50114300046344, 39.12485999987396], "geometry": {"coordinates": [[[-84.50214300046333, 39.12335999987408], [-84.50234300046331, 39.123959999874025], [-84.5025430004633, 39.124259999874], [-84.5025430004633, 39.12485999987396], [-84.50174300046339, 39.12475999987396], [-84.50114300046344, 39.12325999987408], [-84.50214300046333, 39.12335999987408]]], "type": "Polygon"}, "id": "294", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 2.0, "AGE_18": 11.0, "AGE_20_24": 2.0, "AGE_21": 10.0, "AGE_25_34": 2.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.75, "BG": "390610022001", "BLACK": 13.0, "BLOCK": "390610022001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2913.8529, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 667312.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 33.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 15.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002200", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50174300046339, 39.12225999987419, -84.50014300046355, 39.12475999987396], "geometry": {"coordinates": [[[-84.50114300046344, 39.12325999987408], [-84.50174300046339, 39.12475999987396], [-84.50014300046355, 39.12465999987397], [-84.50034300046353, 39.12225999987419], [-84.50114300046343, 39.12235999987418], [-84.50114300046344, 39.12325999987408]]], "type": "Polygon"}, "id": "295", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667329.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50074300046342, 39.11275999987505, -84.49864300046367, 39.11755999987462], "geometry": {"coordinates": [[[-84.50074300046342, 39.11285999987504], [-84.50064300046343, 39.113159999875045], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.11375999987498], [-84.50044300046345, 39.114359999874935], [-84.49974300046355, 39.1169599998747], [-84.49964300046355, 39.11715999987465], [-84.49944300046359, 39.11755999987462], [-84.49884300046364, 39.11745999987464], [-84.49864300046367, 39.11715999987466], [-84.49895600046362, 39.11617399987476], [-84.49994300046352, 39.11355999987502], [-84.49994300046352, 39.11335999987502], [-84.50024300046346, 39.11275999987505], [-84.50074300046342, 39.11285999987504]]], "type": "Polygon"}, "id": "296", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002031", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 667490.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49514300046425, 39.145659999872066, -84.49354300046444, 39.14845999987178], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.4948430004643, 39.14845999987178], [-84.49354300046444, 39.148259999871804], [-84.49384300046441, 39.14705999987192], [-84.49404300046436, 39.145659999872066], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "297", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 221.0, "AGE_20_24": 25.0, "AGE_21": 202.0, "AGE_25_34": 35.0, "AGE_35_44": 28.0, "AGE_45_54": 27.0, "AGE_55_59": 16.0, "AGE_5_9": 20.0, "AGE_60_64": 11.0, "AGE_62": 75.0, "AGE_65": 68.0, "AGE_65_74": 26.0, "AGE_75_84": 26.0, "AGE_85": 16.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 3.0, "AP_BLACK": 247.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 41.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 10, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.94, "BG": "390610068002", "BLACK": 243.0, "BLOCK": "390610068002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 24438.1476, "F1_RACE": 280.0, "F2_RACES": 5.0, "FEMALE": 161.0, "FEMALE_18": 134.0, "FEMALE_65": 47.0, "GQ_INSTITU": 72.0, "GQ_NONINST": 23.0, "GROUP_QUAR": 95.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 98.0, "HSNG_UNITS": 117.0, "HU_OCCUPIE": 98.0, "HU_VACANT": 19.0, "ID": 705132.0, "IN_HOUSEHO": 190.0, "MALE": 124.0, "MALE_18": 87.0, "MALE_65": 21.0, "MEDIAN_AGE": 37.8, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 285.0, "RENTER_SIZ": 1.93, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49404300046436, 39.14545999987209, -84.4920430004646, 39.148259999871804], "geometry": {"coordinates": [[[-84.49404300046436, 39.145659999872066], [-84.49384300046441, 39.14705999987192], [-84.49354300046444, 39.148259999871804], [-84.4920430004646, 39.14805999987183], [-84.49213100046458, 39.14691599987195], [-84.49224300046455, 39.14545999987209], [-84.49404300046436, 39.145659999872066]]], "type": "Polygon"}, "id": "298", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 24.0, "AGE_15_19": 17.0, "AGE_18": 122.0, "AGE_20_24": 9.0, "AGE_21": 113.0, "AGE_25_34": 21.0, "AGE_35_44": 35.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 1.0, "AGE_62": 25.0, "AGE_65": 24.0, "AGE_65_74": 11.0, "AGE_75_84": 13.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 0.0, "AP_BLACK": 171.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.36, "AVG_HHSIZE": 2.78, "BG": "390610068002", "BLACK": 167.0, "BLOCK": "390610068002001", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10804.1794, "F1_RACE": 172.0, "F2_RACES": 6.0, "FEMALE": 87.0, "FEMALE_18": 62.0, "FEMALE_65": 13.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 64.0, "HSNG_UNITS": 78.0, "HU_OCCUPIE": 64.0, "HU_VACANT": 14.0, "ID": 705167.0, "IN_HOUSEHO": 178.0, "MALE": 91.0, "MALE_18": 60.0, "MALE_65": 11.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 178.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.61, "POPULATION": 178.0, "RENTER_SIZ": 2.88, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49304300046434, 39.12525999987394, -84.49154300046447, 39.125759999873914], "geometry": {"coordinates": [[[-84.49304300046434, 39.125359999873936], [-84.49304300046434, 39.1257599998739], [-84.4924430004644, 39.125759999873914], [-84.49184300046447, 39.1257599998739], [-84.49154300046449, 39.1256599998739], [-84.49154300046447, 39.12525999987394], [-84.49304300046434, 39.125359999873936]]], "type": "Polygon"}, "id": "299", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 3.25, "BG": "390610021001", "BLACK": 13.0, "BLOCK": "390610021001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5318.6525, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 8.0, "ID": 705258.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 15.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 13.0, "RENTER_SIZ": 3.25, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4924430004644, 39.1257599998739, -84.4917430004645, 39.127359999873725], "geometry": {"coordinates": [[[-84.4924430004644, 39.125759999873914], [-84.49224300046444, 39.127359999873725], [-84.4917430004645, 39.127359999873725], [-84.49184300046447, 39.1257599998739], [-84.4924430004644, 39.125759999873914]]], "type": "Polygon"}, "id": "300", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 5.0, "AGE_20_24": 0.0, "AGE_21": 5.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.25, "BG": "390610035002", "BLACK": 9.0, "BLOCK": "390610035002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2761.6482, "F1_RACE": 9.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 705278.0, "IN_HOUSEHO": 9.0, "MALE": 4.0, "MALE_18": 2.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 9.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 9.0, "RENTER_SIZ": 1.67, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49154300046449, 39.12485999987399, -84.49044300046462, 39.1256599998739], "geometry": {"coordinates": [[[-84.49154300046447, 39.12525999987394], [-84.49154300046449, 39.1256599998739], [-84.49064300046459, 39.1256599998739], [-84.49044300046462, 39.125559999873914], [-84.49114300046453, 39.12485999987399], [-84.49104300046453, 39.12515999987397], [-84.49154300046447, 39.12525999987394]]], "type": "Polygon"}, "id": "301", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705295.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49114300046453, 39.12475999987402, -84.49014300046463, 39.125559999873914], "geometry": {"coordinates": [[[-84.49114300046453, 39.12485999987399], [-84.49044300046462, 39.125559999873914], [-84.49014300046463, 39.125559999873914], [-84.49044300046461, 39.12495999987399], [-84.49054300046461, 39.12475999987402], [-84.49114300046453, 39.12485999987399]]], "type": "Polygon"}, "id": "302", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 5.0, "AGE_25_34": 3.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 4.67, "BG": "390610021001", "BLACK": 14.0, "BLOCK": "390610021001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10356.9954, "F1_RACE": 14.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 705315.0, "IN_HOUSEHO": 14.0, "MALE": 5.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 11.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 14.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 14.0, "RENTER_SIZ": 4.67, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49184300046447, 39.1256599998739, -84.49044300046464, 39.127359999873725], "geometry": {"coordinates": [[[-84.4917430004645, 39.127359999873725], [-84.49044300046464, 39.12725999987379], [-84.49064300046459, 39.1256599998739], [-84.49154300046449, 39.1256599998739], [-84.49184300046447, 39.1257599998739], [-84.4917430004645, 39.127359999873725]]], "type": "Polygon"}, "id": "303", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 11.0, "AGE_15_19": 5.0, "AGE_18": 73.0, "AGE_20_24": 4.0, "AGE_21": 71.0, "AGE_25_34": 10.0, "AGE_35_44": 21.0, "AGE_45_54": 20.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 11.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 97.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.95, "AVG_HHSIZE": 1.83, "BG": "390610035001", "BLACK": 97.0, "BLOCK": "390610035001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12976.9945, "F1_RACE": 99.0, "F2_RACES": 0.0, "FEMALE": 46.0, "FEMALE_18": 33.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 9.0, "ID": 705334.0, "IN_HOUSEHO": 99.0, "MALE": 53.0, "MALE_18": 40.0, "MALE_65": 8.0, "MEDIAN_AGE": 37.9, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 99.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 51.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 99.0, "RENTER_SIZ": 1.76, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 2.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49224300046444, 39.12725999987379, -84.49024300046466, 39.129759999873535], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49024300046466, 39.12965999987355], [-84.49044300046464, 39.12725999987379], [-84.4917430004645, 39.127359999873725], [-84.49224300046444, 39.127359999873725], [-84.49214300046445, 39.12915999987361], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "304", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 22.0, "AGE_15_19": 13.0, "AGE_18": 76.0, "AGE_20_24": 8.0, "AGE_21": 65.0, "AGE_25_34": 16.0, "AGE_35_44": 18.0, "AGE_45_54": 13.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 12.0, "AGE_65": 11.0, "AGE_65_74": 4.0, "AGE_75_84": 4.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 117.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.71, "BG": "390610035001", "BLACK": 117.0, "BLOCK": "390610035001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7530.1086, "F1_RACE": 122.0, "F2_RACES": 0.0, "FEMALE": 61.0, "FEMALE_18": 37.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 19.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 80.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 35.0, "ID": 705352.0, "IN_HOUSEHO": 122.0, "MALE": 61.0, "MALE_18": 39.0, "MALE_65": 8.0, "MEDIAN_AGE": 24.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 121.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 37.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 122.0, "RENTER_SIZ": 2.7, "THEFT": 8, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49064300046459, 39.125559999873914, -84.48934300046474, 39.12725999987379], "geometry": {"coordinates": [[[-84.49064300046459, 39.1256599998739], [-84.49044300046464, 39.12725999987379], [-84.48934300046474, 39.12715999987378], [-84.49014300046463, 39.125559999873914], [-84.49044300046462, 39.125559999873914], [-84.49064300046459, 39.1256599998739]]], "type": "Polygon"}, "id": "305", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 6.0, "AGE_35_44": 11.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 2.4, "BG": "390610035001", "BLACK": 42.0, "BLOCK": "390610035001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9636.6782, "F1_RACE": 47.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 705372.0, "IN_HOUSEHO": 48.0, "MALE": 25.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 25.0, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 48.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 48.0, "RENTER_SIZ": 2.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003500", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49044300046461, 39.124859999874, -84.4877430004649, 39.125559999873914], "geometry": {"coordinates": [[[-84.48914300046475, 39.124859999874], [-84.49044300046461, 39.12495999987399], [-84.49014300046463, 39.125559999873914], [-84.4877430004649, 39.125459999873954], [-84.48784300046489, 39.124859999874026], [-84.48914300046475, 39.124859999874]]], "type": "Polygon"}, "id": "306", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 16.0, "AGE_25_34": 3.0, "AGE_35_44": 2.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.64, "BG": "390610019001", "BLACK": 9.0, "BLOCK": "390610019001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3066.4806, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 47.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 36.0, "ID": 705391.0, "IN_HOUSEHO": 18.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 0.0, "POPULATION": 18.0, "RENTER_SIZ": 1.64, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 7.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49014300046463, 39.125459999873954, -84.48754300046494, 39.12715999987378], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.49014300046463, 39.125559999873914], [-84.48934300046474, 39.12715999987378], [-84.48754300046494, 39.126959999873826], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "307", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 59.0, "AGE_20_24": 1.0, "AGE_21": 59.0, "AGE_25_34": 11.0, "AGE_35_44": 11.0, "AGE_45_54": 18.0, "AGE_55_59": 4.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 62.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.17, "BG": "390610037002", "BLACK": 62.0, "BLOCK": "390610037002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5108.6014, "F1_RACE": 63.0, "F2_RACES": 0.0, "FEMALE": 29.0, "FEMALE_18": 28.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 50.0, "HOUSEHOLDS": 54.0, "HSNG_UNITS": 57.0, "HU_OCCUPIE": 54.0, "HU_VACANT": 3.0, "ID": 705409.0, "IN_HOUSEHO": 63.0, "MALE": 34.0, "MALE_18": 31.0, "MALE_65": 5.0, "MEDIAN_AGE": 45.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 54.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 63.0, "RENTER_SIZ": 1.17, "THEFT": 14, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49044300046464, 39.12715999987378, -84.48844300046484, 39.12965999987355], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.48934300046476, 39.12955999987356], [-84.48844300046484, 39.12945999987358], [-84.48854300046484, 39.12865999987366], [-84.48934300046474, 39.12715999987378], [-84.49044300046464, 39.12725999987379], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "308", "properties": {"AGE_0_5": 27.0, "AGE_10_14": 24.0, "AGE_15_19": 20.0, "AGE_18": 189.0, "AGE_20_24": 14.0, "AGE_21": 186.0, "AGE_25_34": 28.0, "AGE_35_44": 47.0, "AGE_45_54": 43.0, "AGE_55_59": 12.0, "AGE_5_9": 25.0, "AGE_60_64": 9.0, "AGE_62": 42.0, "AGE_65": 33.0, "AGE_65_74": 20.0, "AGE_75_84": 11.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 254.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 31.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.21, "AVG_HHSIZE": 2.7, "BG": "390610035001", "BLACK": 246.0, "BLOCK": "390610035001003", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20388.1466, "F1_RACE": 274.0, "F2_RACES": 8.0, "FEMALE": 136.0, "FEMALE_18": 88.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 47.0, "GROUP_QUAR": 47.0, "HAWAIIAN": 0.0, "HH_FAMILY": 61.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 87.0, "HSNG_UNITS": 100.0, "HU_OCCUPIE": 87.0, "HU_VACANT": 13.0, "ID": 705427.0, "IN_HOUSEHO": 235.0, "MALE": 146.0, "MALE_18": 101.0, "MALE_65": 17.0, "MEDIAN_AGE": 35.8, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 282.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.92, "POPULATION": 282.0, "RENTER_SIZ": 2.67, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 23.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48934300046474, 39.126959999873826, -84.48744300046496, 39.12865999987366], "geometry": {"coordinates": [[[-84.48934300046474, 39.12715999987378], [-84.48854300046484, 39.12865999987366], [-84.48744300046496, 39.12865999987366], [-84.48754300046494, 39.126959999873826], [-84.48934300046474, 39.12715999987378]]], "type": "Polygon"}, "id": "309", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 5.0, "AGE_18": 49.0, "AGE_20_24": 4.0, "AGE_21": 47.0, "AGE_25_34": 12.0, "AGE_35_44": 16.0, "AGE_45_54": 7.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 70.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.11, "AVG_HHSIZE": 2.84, "BG": "390610037002", "BLACK": 70.0, "BLOCK": "390610037002002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8106.6346, "F1_RACE": 71.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 27.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 705446.0, "IN_HOUSEHO": 71.0, "MALE": 34.0, "MALE_18": 22.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 71.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.8, "POPULATION": 71.0, "RENTER_SIZ": 2.6, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49204300046448, 39.12965999987355, -84.49004300046471, 39.13215999987331], "geometry": {"coordinates": [[[-84.49204300046448, 39.129759999873535], [-84.49184300046453, 39.13215999987331], [-84.49004300046471, 39.13195999987333], [-84.49024300046466, 39.12965999987355], [-84.49204300046448, 39.129759999873535]]], "type": "Polygon"}, "id": "310", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 24.0, "AGE_15_19": 23.0, "AGE_18": 114.0, "AGE_20_24": 12.0, "AGE_21": 105.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 24.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 2.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 8.0, "AGE_75_84": 4.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 181.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 19.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.34, "BG": "390610035001", "BLACK": 177.0, "BLOCK": "390610035001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12487.9501, "F1_RACE": 192.0, "F2_RACES": 5.0, "FEMALE": 103.0, "FEMALE_18": 67.0, "FEMALE_65": 9.0, "GQ_INSTITU": 12.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 12.0, "HAWAIIAN": 0.0, "HH_FAMILY": 38.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 79.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 79.0, "HU_VACANT": 31.0, "ID": 705464.0, "IN_HOUSEHO": 185.0, "MALE": 94.0, "MALE_18": 47.0, "MALE_65": 4.0, "MEDIAN_AGE": 24.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 195.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 60.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.32, "POPULATION": 197.0, "RENTER_SIZ": 2.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 15.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49284300046439, 39.13215999987331, -84.49174300046454, 39.13415999987313], "geometry": {"coordinates": [[[-84.49184300046453, 39.13215999987331], [-84.49284300046439, 39.1322599998733], [-84.49244300046446, 39.13415999987311], [-84.49174300046455, 39.13415999987313], [-84.49174300046454, 39.13335999987318], [-84.49184300046453, 39.13215999987331]]], "type": "Polygon"}, "id": "311", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610036002", "BLACK": 0.0, "BLOCK": "390610036002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 705481.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49184300046453, 39.13195999987333, -84.48994300046472, 39.13335999987318], "geometry": {"coordinates": [[[-84.49174300046454, 39.13335999987318], [-84.48994300046472, 39.13325999987322], [-84.49004300046471, 39.13195999987333], [-84.49184300046453, 39.13215999987331], [-84.49174300046454, 39.13335999987318]]], "type": "Polygon"}, "id": "312", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 16.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 5.0, "AGE_35_44": 5.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 19.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.9, "BG": "390610036002", "BLACK": 19.0, "BLOCK": "390610036002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2265.3295, "F1_RACE": 19.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 705500.0, "IN_HOUSEHO": 19.0, "MALE": 14.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 19.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 19.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49024300046466, 39.12945999987358, -84.48794300046492, 39.13195999987333], "geometry": {"coordinates": [[[-84.49024300046466, 39.12965999987355], [-84.49004300046471, 39.13195999987333], [-84.48914300046481, 39.13195999987333], [-84.48794300046492, 39.13185999987335], [-84.48814300046489, 39.13085999987344], [-84.48844300046484, 39.12945999987358], [-84.48934300046476, 39.12955999987356], [-84.49024300046466, 39.12965999987355]]], "type": "Polygon"}, "id": "313", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 59.0, "AGE_20_24": 12.0, "AGE_21": 55.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 16.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.72, "BG": "390610035001", "BLACK": 74.0, "BLOCK": "390610035001000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4260.8043, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 37.0, "FEMALE_18": 31.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 28.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 9.0, "ID": 705518.0, "IN_HOUSEHO": 74.0, "MALE": 37.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 73.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 74.0, "RENTER_SIZ": 1.65, "THEFT": 11, "THEFT_D": 1.0, "TRACT": "39061003500", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49004300046471, 39.13185999987335, -84.48764300046497, 39.13325999987322], "geometry": {"coordinates": [[[-84.49004300046471, 39.13195999987333], [-84.48994300046472, 39.13325999987322], [-84.48764300046497, 39.13315999987322], [-84.48784300046495, 39.13265999987328], [-84.48794300046492, 39.13185999987335], [-84.48914300046481, 39.13195999987333], [-84.49004300046471, 39.13195999987333]]], "type": "Polygon"}, "id": "314", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 229.0, "AGE_20_24": 2.0, "AGE_21": 228.0, "AGE_25_34": 4.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 10.0, "AGE_5_9": 1.0, "AGE_60_64": 16.0, "AGE_62": 187.0, "AGE_65": 177.0, "AGE_65_74": 79.0, "AGE_75_84": 73.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 2.0, "AP_BLACK": 239.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 2.53, "AVG_HHSIZE": 1.15, "BG": "390610036002", "BLACK": 236.0, "BLOCK": "390610036002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23313.5736, "F1_RACE": 237.0, "F2_RACES": 3.0, "FEMALE": 190.0, "FEMALE_18": 183.0, "FEMALE_65": 147.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 190.0, "HOUSEHOLDS": 209.0, "HSNG_UNITS": 212.0, "HU_OCCUPIE": 209.0, "HU_VACANT": 3.0, "ID": 705538.0, "IN_HOUSEHO": 240.0, "MALE": 50.0, "MALE_18": 46.0, "MALE_65": 30.0, "MEDIAN_AGE": 72.6, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 239.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 204.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 240.0, "RENTER_SIZ": 1.14, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4877430004649, 39.125359999873965, -84.48594300046511, 39.126959999873826], "geometry": {"coordinates": [[[-84.4877430004649, 39.125459999873954], [-84.48754300046494, 39.126959999873826], [-84.48594300046511, 39.12685999987383], [-84.48604300046509, 39.125359999873965], [-84.4877430004649, 39.125459999873954]]], "type": "Polygon"}, "id": "315", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 141.0, "AGE_20_24": 7.0, "AGE_21": 139.0, "AGE_25_34": 8.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 9.0, "AGE_5_9": 7.0, "AGE_60_64": 16.0, "AGE_62": 77.0, "AGE_65": 68.0, "AGE_65_74": 32.0, "AGE_75_84": 24.0, "AGE_85": 12.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 147.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 2.76, "AVG_HHSIZE": 1.33, "BG": "390610037002", "BLACK": 146.0, "BLOCK": "390610037002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 17459.4717, "F1_RACE": 158.0, "F2_RACES": 3.0, "FEMALE": 88.0, "FEMALE_18": 80.0, "FEMALE_65": 42.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 17.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 121.0, "HSNG_UNITS": 126.0, "HU_OCCUPIE": 121.0, "HU_VACANT": 5.0, "ID": 705558.0, "IN_HOUSEHO": 161.0, "MALE": 73.0, "MALE_18": 61.0, "MALE_65": 26.0, "MEDIAN_AGE": 61.1, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 161.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 113.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 161.0, "RENTER_SIZ": 1.25, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48754300046494, 39.12685999987383, -84.48574300046513, 39.12865999987366], "geometry": {"coordinates": [[[-84.48754300046494, 39.126959999873826], [-84.48744300046496, 39.12865999987366], [-84.4862430004651, 39.12855999987367], [-84.48574300046513, 39.12855999987368], [-84.48594300046511, 39.12685999987383], [-84.48754300046494, 39.126959999873826]]], "type": "Polygon"}, "id": "316", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 4.0, "AGE_20_24": 1.0, "AGE_21": 4.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610037002", "BLACK": 8.0, "BLOCK": "390610037002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 772.902, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 1.0, "ID": 705576.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 16.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.48604300046509, 39.125159999874, -84.48434300046526, 39.12685999987383], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48434300046527, 39.12675999987384], [-84.48434300046526, 39.125159999874], [-84.48504300046518, 39.12525999987396], [-84.48604300046509, 39.125359999873965], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "317", "properties": {"AGE_0_5": 24.0, "AGE_10_14": 6.0, "AGE_15_19": 15.0, "AGE_18": 178.0, "AGE_20_24": 31.0, "AGE_21": 164.0, "AGE_25_34": 43.0, "AGE_35_44": 18.0, "AGE_45_54": 18.0, "AGE_55_59": 17.0, "AGE_5_9": 24.0, "AGE_60_64": 16.0, "AGE_62": 35.0, "AGE_65": 25.0, "AGE_65_74": 19.0, "AGE_75_84": 6.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 232.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 1.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.56, "AVG_HHSIZE": 1.6, "BG": "390610037002", "BLACK": 230.0, "BLOCK": "390610037002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25096.418, "F1_RACE": 235.0, "F2_RACES": 2.0, "FEMALE": 132.0, "FEMALE_18": 99.0, "FEMALE_65": 16.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 50.0, "HH_NONFAMI": 98.0, "HOUSEHOLDS": 148.0, "HSNG_UNITS": 193.0, "HU_OCCUPIE": 148.0, "HU_VACANT": 45.0, "ID": 705594.0, "IN_HOUSEHO": 237.0, "MALE": 105.0, "MALE_18": 79.0, "MALE_65": 9.0, "MEDIAN_AGE": 27.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 233.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 148.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 237.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003700", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48594300046511, 39.12675999987384, -84.48414300046532, 39.12855999987368], "geometry": {"coordinates": [[[-84.48594300046511, 39.12685999987383], [-84.48574300046513, 39.12855999987368], [-84.48414300046532, 39.128459999873684], [-84.4842430004653, 39.12765999987374], [-84.48434300046527, 39.12675999987384], [-84.48594300046511, 39.12685999987383]]], "type": "Polygon"}, "id": "318", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 7.0, "AGE_15_19": 9.0, "AGE_18": 229.0, "AGE_20_24": 9.0, "AGE_21": 226.0, "AGE_25_34": 16.0, "AGE_35_44": 25.0, "AGE_45_54": 33.0, "AGE_55_59": 11.0, "AGE_5_9": 6.0, "AGE_60_64": 24.0, "AGE_62": 123.0, "AGE_65": 110.0, "AGE_65_74": 44.0, "AGE_75_84": 46.0, "AGE_85": 20.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 1.0, "AP_BLACK": 235.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 9.0, "AP_OTHER": 5.0, "AP_WHITE": 19.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 1.29, "BG": "390610037002", "BLACK": 229.0, "BLOCK": "390610037002000", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25176.618, "F1_RACE": 248.0, "F2_RACES": 7.0, "FEMALE": 152.0, "FEMALE_18": 143.0, "FEMALE_65": 76.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 173.0, "HOUSEHOLDS": 197.0, "HSNG_UNITS": 199.0, "HU_OCCUPIE": 197.0, "HU_VACANT": 2.0, "ID": 705613.0, "IN_HOUSEHO": 255.0, "MALE": 103.0, "MALE_18": 86.0, "MALE_65": 34.0, "MEDIAN_AGE": 61.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 246.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 255.0, "RENTER_SIZ": 1.26, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 16.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48574300046515, 39.128459999873684, -84.48414300046532, 39.129359999873586], "geometry": {"coordinates": [[[-84.48574300046513, 39.12855999987368], [-84.48574300046515, 39.129359999873586], [-84.48414300046532, 39.129259999873604], [-84.48414300046532, 39.128459999873684], [-84.48574300046513, 39.12855999987368]]], "type": "Polygon"}, "id": "319", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 12.0, "AGE_15_19": 10.0, "AGE_18": 32.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 9.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.91, "BG": "390610037003", "BLACK": 57.0, "BLOCK": "390610037003012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13501.798, "F1_RACE": 64.0, "F2_RACES": 0.0, "FEMALE": 38.0, "FEMALE_18": 22.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 6.0, "ID": 705632.0, "IN_HOUSEHO": 64.0, "MALE": 26.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.0, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 59.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.75, "POPULATION": 64.0, "RENTER_SIZ": 3.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 7.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.48854300046484, 39.12855999987367, -84.48554300046517, 39.130859999873465], "geometry": {"coordinates": [[[-84.48844300046484, 39.12945999987358], [-84.48814300046489, 39.13085999987344], [-84.48684300046503, 39.130859999873465], [-84.48604300046513, 39.13075999987347], [-84.48554300046517, 39.13075999987347], [-84.48574300046515, 39.129359999873586], [-84.48574300046513, 39.12855999987368], [-84.4862430004651, 39.12855999987367], [-84.48744300046496, 39.12865999987366], [-84.48854300046484, 39.12865999987366], [-84.48844300046484, 39.12945999987358]]], "type": "Polygon"}, "id": "320", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 6.0, "AGE_15_19": 1.0, "AGE_18": 31.0, "AGE_20_24": 2.0, "AGE_21": 30.0, "AGE_25_34": 4.0, "AGE_35_44": 7.0, "AGE_45_54": 5.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 7.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 46.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.0, "BG": "390610037003", "BLACK": 46.0, "BLOCK": "390610037003005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2087.6977, "F1_RACE": 46.0, "F2_RACES": 0.0, "FEMALE": 27.0, "FEMALE_18": 20.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 705649.0, "IN_HOUSEHO": 46.0, "MALE": 19.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 46.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 46.0, "RENTER_SIZ": 2.36, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48814300046489, 39.13085999987344, -84.48684300046503, 39.13185999987336], "geometry": {"coordinates": [[[-84.48814300046489, 39.13085999987344], [-84.48794300046492, 39.13185999987335], [-84.48684300046504, 39.13185999987336], [-84.48684300046503, 39.130859999873465], [-84.48814300046489, 39.13085999987344]]], "type": "Polygon"}, "id": "321", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 25.0, "AGE_20_24": 11.0, "AGE_21": 17.0, "AGE_25_34": 5.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 39.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 2.17, "BG": "390610037003", "BLACK": 38.0, "BLOCK": "390610037003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8776.4684, "F1_RACE": 38.0, "F2_RACES": 1.0, "FEMALE": 25.0, "FEMALE_18": 20.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 21.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 3.0, "ID": 705673.0, "IN_HOUSEHO": 39.0, "MALE": 14.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 20.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 37.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 39.0, "RENTER_SIZ": 2.17, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.48794300046492, 39.13185999987335, -84.48684300046504, 39.132659999873304], "geometry": {"coordinates": [[[-84.48794300046492, 39.13185999987335], [-84.48784300046495, 39.13265999987328], [-84.48684300046504, 39.132659999873304], [-84.48684300046504, 39.13185999987336], [-84.48794300046492, 39.13185999987335]]], "type": "Polygon"}, "id": "322", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 2.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.55, "BG": "390610036001", "BLACK": 16.0, "BLOCK": "390610036001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5465.2861, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 9.0, "FEMALE_18": 7.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 8.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 6.0, "ID": 705691.0, "IN_HOUSEHO": 17.0, "MALE": 8.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 17.0, "RENTER_SIZ": 1.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061003600", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.48684300046504, 39.13075999987347, -84.4854430004652, 39.13185999987336], "geometry": {"coordinates": [[[-84.48684300046503, 39.130859999873465], [-84.48684300046504, 39.13185999987336], [-84.4854430004652, 39.131759999873395], [-84.48554300046517, 39.13075999987347], [-84.48604300046513, 39.13075999987347], [-84.48684300046503, 39.130859999873465]]], "type": "Polygon"}, "id": "323", "properties": {"AGE_0_5": 14.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 74.0, "AGE_20_24": 15.0, "AGE_21": 65.0, "AGE_25_34": 8.0, "AGE_35_44": 15.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 8.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 10.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 104.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.64, "AVG_HHSIZE": 1.81, "BG": "390610037003", "BLACK": 104.0, "BLOCK": "390610037003003", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20938.2875, "F1_RACE": 107.0, "F2_RACES": 0.0, "FEMALE": 63.0, "FEMALE_18": 48.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 34.0, "HOUSEHOLDS": 59.0, "HSNG_UNITS": 63.0, "HU_OCCUPIE": 59.0, "HU_VACANT": 4.0, "ID": 705708.0, "IN_HOUSEHO": 107.0, "MALE": 44.0, "MALE_18": 26.0, "MALE_65": 6.0, "MEDIAN_AGE": 24.9, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 57.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 107.0, "RENTER_SIZ": 1.81, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061003700", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.48784300046495, 39.1325599998733, -84.48504300046523, 39.133659999873196], "geometry": {"coordinates": [[[-84.48784300046495, 39.13265999987328], [-84.48764300046497, 39.13315999987322], [-84.487443000465, 39.133459999873224], [-84.487443000465, 39.133659999873196], [-84.48613700046513, 39.133514999873206], [-84.48596700046515, 39.133397999873225], [-84.48504300046523, 39.13276599987328], [-84.48504300046523, 39.1325599998733], [-84.4854430004652, 39.1325599998733], [-84.48684300046504, 39.132659999873304], [-84.48784300046495, 39.13265999987328]]], "type": "Polygon"}, "id": "324", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 6.0, "AVG_HHSIZE": 6.0, "BG": "390610036001", "BLACK": 6.0, "BLOCK": "390610036001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 799.5032, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 705727.0, "IN_HOUSEHO": 6.0, "MALE": 4.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 14.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 6.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 6.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061003600", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49364300046419, 39.11405999987497, -84.49304300046427, 39.1148599998749], "geometry": {"coordinates": [[[-84.49324300046423, 39.11405999987497], [-84.49364300046419, 39.114359999874964], [-84.49304300046427, 39.1148599998749], [-84.49324300046423, 39.11405999987497]]], "type": "Polygon"}, "id": "325", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 13.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 5.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 5.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 8.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.44, "BG": "390610019002", "BLACK": 5.0, "BLOCK": "390610019002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18472.2408, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 3.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 9.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 9.0, "HU_VACANT": 0.0, "ID": 669057.0, "IN_HOUSEHO": 13.0, "MALE": 10.0, "MALE_18": 10.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 13.0, "RENTER_SIZ": 1.43, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 8.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49884300046364, 39.11715999987466, -84.49854300046368, 39.11755999987462], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49854300046368, 39.11755999987462], [-84.49864300046367, 39.11715999987466], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "326", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669074.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49864300046367, 39.11715999987466, -84.4984430004637, 39.11755999987462], "geometry": {"coordinates": [[[-84.49864300046367, 39.11715999987466], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.117259999874676], [-84.49864300046367, 39.11715999987466]]], "type": "Polygon"}, "id": "327", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002029", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669090.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49944300046359, 39.11745999987464, -84.49804300046375, 39.12015999987439], "geometry": {"coordinates": [[[-84.49884300046364, 39.11745999987464], [-84.49944300046359, 39.11755999987462], [-84.49804300046375, 39.12015999987439], [-84.49814300046373, 39.11885999987453], [-84.4984430004637, 39.11815999987457], [-84.49854300046368, 39.11755999987462], [-84.49884300046364, 39.11745999987464]]], "type": "Polygon"}, "id": "328", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669106.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50114300046343, 39.117559999874615, -84.49784300046379, 39.12235999987418], "geometry": {"coordinates": [[[-84.50114300046343, 39.12235999987418], [-84.50034300046353, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.49874300046368, 39.121459999874276], [-84.49874300046368, 39.120759999874345], [-84.49824300046373, 39.120759999874345], [-84.49824300046373, 39.121459999874276], [-84.49824300046375, 39.12225999987419], [-84.49784300046379, 39.12225999987419], [-84.49794300046376, 39.120759999874345], [-84.49804300046375, 39.12015999987439], [-84.49944300046359, 39.11755999987462], [-84.5001430004635, 39.117559999874615], [-84.49994300046355, 39.11945999987446], [-84.50074300046347, 39.12115999987429], [-84.50081300046347, 39.121369999874275], [-84.50114300046343, 39.12235999987418]]], "type": "Polygon"}, "id": "329", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 7.0, "AGE_15_19": 7.0, "AGE_18": 71.0, "AGE_20_24": 3.0, "AGE_21": 67.0, "AGE_25_34": 17.0, "AGE_35_44": 16.0, "AGE_45_54": 17.0, "AGE_55_59": 2.0, "AGE_5_9": 21.0, "AGE_60_64": 2.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 5.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 110.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.54, "AVG_HHSIZE": 2.5, "BG": "390610021002", "BLACK": 110.0, "BLOCK": "390610021002010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3608.4247, "F1_RACE": 114.0, "F2_RACES": 1.0, "FEMALE": 63.0, "FEMALE_18": 41.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 24.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 46.0, "HSNG_UNITS": 53.0, "HU_OCCUPIE": 46.0, "HU_VACANT": 7.0, "ID": 669124.0, "IN_HOUSEHO": 115.0, "MALE": 52.0, "MALE_18": 30.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.3, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 114.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 34.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 115.0, "RENTER_SIZ": 2.79, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 4.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49854300046368, 39.11645999987473, -84.4964230004639, 39.12225999987419], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49694300046386, 39.119459999874465], [-84.4974430004638, 39.1191599998745], [-84.49684300046387, 39.11855999987454], [-84.4964230004639, 39.11813999987458], [-84.49754300046378, 39.11645999987473], [-84.4984430004637, 39.117259999874676], [-84.49854300046368, 39.11755999987462], [-84.4984430004637, 39.11815999987457], [-84.49814300046373, 39.11885999987453], [-84.49804300046375, 39.12015999987439], [-84.49794300046376, 39.120759999874345], [-84.49784300046379, 39.12225999987419], [-84.49724300046385, 39.122159999874214], [-84.49744300046382, 39.12065999987436], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "330", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669153.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.4974430004638, 39.11813999987458, -84.49634300046392, 39.119459999874465], "geometry": {"coordinates": [[[-84.49684300046387, 39.11855999987454], [-84.4974430004638, 39.1191599998745], [-84.49694300046386, 39.119459999874465], [-84.49634300046392, 39.118259999874574], [-84.4964230004639, 39.11813999987458], [-84.49684300046387, 39.11855999987454]]], "type": "Polygon"}, "id": "331", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002025", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669178.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49744300046382, 39.119459999874465, -84.49634300046394, 39.12215999987422], "geometry": {"coordinates": [[[-84.49734300046383, 39.120259999874385], [-84.49744300046382, 39.12065999987436], [-84.49724300046385, 39.122159999874214], [-84.49634300046394, 39.12215999987422], [-84.49644300046394, 39.121359999874294], [-84.49694300046387, 39.121359999874294], [-84.49694300046387, 39.12075999987434], [-84.49654300046392, 39.12055999987439], [-84.49654300046392, 39.11965999987446], [-84.49694300046386, 39.119459999874465], [-84.49734300046383, 39.120259999874385]]], "type": "Polygon"}, "id": "332", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.14, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2225.3185, "F1_RACE": 15.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669195.0, "IN_HOUSEHO": 15.0, "MALE": 7.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 45.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 15.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 15.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49874300046368, 39.120759999874345, -84.49824300046373, 39.121459999874276], "geometry": {"coordinates": [[[-84.49874300046368, 39.120759999874345], [-84.49874300046368, 39.121459999874276], [-84.49824300046373, 39.121459999874276], [-84.49824300046373, 39.120759999874345], [-84.49874300046368, 39.120759999874345]]], "type": "Polygon"}, "id": "333", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669219.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49874300046369, 39.121459999874276, -84.49824300046373, 39.12225999987419], "geometry": {"coordinates": [[[-84.49874300046368, 39.121459999874276], [-84.49874300046369, 39.12225999987418], [-84.49824300046375, 39.12225999987419], [-84.49824300046373, 39.121459999874276], [-84.49874300046368, 39.121459999874276]]], "type": "Polygon"}, "id": "334", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 10.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 10.0, "BLOCK": "390610021002009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6750.2171, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669236.0, "IN_HOUSEHO": 10.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 60.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 10.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50034300046353, 39.12225999987418, -84.49784300046382, 39.125359999873915], "geometry": {"coordinates": [[[-84.49914300046366, 39.12455999987399], [-84.49914300046366, 39.125359999873915], [-84.49784300046382, 39.125259999873926], [-84.49804300046377, 39.12375999987406], [-84.49864800046372, 39.123760999874065], [-84.49864300046372, 39.1230599998741], [-84.49816800046375, 39.123062999874136], [-84.49824300046375, 39.12225999987419], [-84.49874300046369, 39.12225999987418], [-84.50034300046353, 39.12225999987419], [-84.50014300046355, 39.12465999987397], [-84.49914300046366, 39.12455999987399]]], "type": "Polygon"}, "id": "335", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 6.0, "AGE_18": 35.0, "AGE_20_24": 2.0, "AGE_21": 32.0, "AGE_25_34": 0.0, "AGE_35_44": 7.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 10.0, "AGE_65": 9.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.73, "AVG_HHSIZE": 1.91, "BG": "390610021002", "BLACK": 36.0, "BLOCK": "390610021002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2042.0725, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 11.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 669254.0, "IN_HOUSEHO": 42.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 4.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 17.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.71, "POPULATION": 42.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49864800046372, 39.1230599998741, -84.49804300046377, 39.123760999874065], "geometry": {"coordinates": [[[-84.49864300046372, 39.1230599998741], [-84.49864800046372, 39.123760999874065], [-84.49804300046377, 39.12375999987406], [-84.49816800046375, 39.123062999874136], [-84.49864300046372, 39.1230599998741]]], "type": "Polygon"}, "id": "336", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 32.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.94, "BG": "390610021002", "BLACK": 32.0, "BLOCK": "390610021002008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23607.9351, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 12.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 669279.0, "IN_HOUSEHO": 33.0, "MALE": 18.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 33.2, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 14.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 33.0, "RENTER_SIZ": 1.71, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49824300046375, 39.12225999987419, -84.49724300046388, 39.126059999873846], "geometry": {"coordinates": [[[-84.49784300046382, 39.125259999873926], [-84.49784300046382, 39.126059999873846], [-84.49724300046388, 39.126059999873846], [-84.49764300046381, 39.12295999987414], [-84.49784300046379, 39.12225999987419], [-84.49824300046375, 39.12225999987419], [-84.49816800046375, 39.123062999874136], [-84.49804300046377, 39.12375999987406], [-84.49784300046382, 39.125259999873926]]], "type": "Polygon"}, "id": "337", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669296.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046385, 39.122159999874214, -84.49594300046402, 39.125559999873886], "geometry": {"coordinates": [[[-84.49724300046385, 39.122159999874214], [-84.49704300046389, 39.12375999987407], [-84.49684300046391, 39.125259999873926], [-84.49680000046392, 39.125559999873886], [-84.49644300046397, 39.125559999873886], [-84.49594300046402, 39.125559999873886], [-84.49595400046402, 39.12521199987394], [-84.496043000464, 39.124359999874024], [-84.49614300046399, 39.123659999874064], [-84.49624300046396, 39.122859999874166], [-84.49634300046394, 39.12215999987422], [-84.49724300046385, 39.122159999874214]]], "type": "Polygon"}, "id": "338", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 14.0, "AGE_20_24": 2.0, "AGE_21": 13.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 1.8, "BG": "390610021002", "BLACK": 18.0, "BLOCK": "390610021002013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1575.7931, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 10.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 669317.0, "IN_HOUSEHO": 18.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 1.0, "MEDIAN_AGE": 39.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 18.0, "RENTER_SIZ": 1.86, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49784300046379, 39.122159999874214, -84.49674300046394, 39.126059999873846], "geometry": {"coordinates": [[[-84.49724300046388, 39.126059999873846], [-84.49674300046394, 39.125959999873864], [-84.49680000046392, 39.125559999873886], [-84.49684300046391, 39.125259999873926], [-84.49704300046389, 39.12375999987407], [-84.49724300046385, 39.122159999874214], [-84.49784300046379, 39.12225999987419], [-84.49764300046381, 39.12295999987414], [-84.49724300046388, 39.126059999873846]]], "type": "Polygon"}, "id": "339", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 669342.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49584300046398, 39.1180599998746, -84.49434300046414, 39.11955999987449], "geometry": {"coordinates": [[[-84.49584300046398, 39.1180599998746], [-84.49464300046412, 39.11955999987449], [-84.49434300046414, 39.11925999987448], [-84.49444300046413, 39.11805999987461], [-84.49584300046398, 39.1180599998746]]], "type": "Polygon"}, "id": "340", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 10.0, "AGE_15_19": 9.0, "AGE_18": 89.0, "AGE_20_24": 17.0, "AGE_21": 85.0, "AGE_25_34": 27.0, "AGE_35_44": 25.0, "AGE_45_54": 13.0, "AGE_55_59": 2.0, "AGE_5_9": 12.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 59.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 5.0, "AP_WHITE": 60.0, "AREA": 0.0, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.26, "AVG_HHSIZE": 1.89, "BG": "390610019002", "BLACK": 55.0, "BLOCK": "390610019002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 25806.7736, "F1_RACE": 110.0, "F2_RACES": 9.0, "FEMALE": 64.0, "FEMALE_18": 50.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 63.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 63.0, "HU_VACANT": 5.0, "ID": 669361.0, "IN_HOUSEHO": 119.0, "MALE": 55.0, "MALE_18": 39.0, "MALE_65": 1.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 53.0, "NOT_HISPAN": 117.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.94, "POPULATION": 119.0, "RENTER_SIZ": 1.87, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 53.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49754300046378, 39.116359999874746, -84.49404300046417, 39.12085999987434], "geometry": {"coordinates": [[[-84.49694300046386, 39.119459999874465], [-84.49654300046392, 39.11965999987446], [-84.49564300046401, 39.12015999987439], [-84.4948430004641, 39.12045999987439], [-84.49434300046416, 39.12085999987434], [-84.49404300046417, 39.120359999874395], [-84.49464300046412, 39.11955999987449], [-84.49584300046398, 39.1180599998746], [-84.49724300046381, 39.116359999874746], [-84.49754300046378, 39.11645999987473], [-84.4964230004639, 39.11813999987458], [-84.49634300046392, 39.118259999874574], [-84.49694300046386, 39.119459999874465]]], "type": "Polygon"}, "id": "341", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 121.2116, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 669378.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 57.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49694300046387, 39.11965999987446, -84.49434300046416, 39.121359999874294], "geometry": {"coordinates": [[[-84.49694300046387, 39.12075999987434], [-84.49694300046387, 39.121359999874294], [-84.49644300046394, 39.121359999874294], [-84.49598100046398, 39.12130899987431], [-84.49554300046402, 39.121259999874304], [-84.49504300046408, 39.12125999987431], [-84.49454300046415, 39.121259999874304], [-84.49434300046416, 39.12085999987434], [-84.4948430004641, 39.12045999987439], [-84.49564300046401, 39.12015999987439], [-84.49654300046392, 39.11965999987446], [-84.49654300046392, 39.12055999987439], [-84.49694300046387, 39.12075999987434]]], "type": "Polygon"}, "id": "342", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 7.0, "AGE_20_24": 0.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 8.0, "BLOCK": "390610021002023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 840.433, "F1_RACE": 8.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669402.0, "IN_HOUSEHO": 8.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 8.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 8.0, "RENTER_SIZ": 2.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49724300046381, 39.114159999874964, -84.49144300046446, 39.12015999987439], "geometry": {"coordinates": [[[-84.49724300046381, 39.116359999874746], [-84.49584300046398, 39.1180599998746], [-84.49444300046413, 39.11805999987461], [-84.49324300046426, 39.1179599998746], [-84.49318700046426, 39.118297999874606], [-84.4930430004643, 39.11915999987451], [-84.49294300046431, 39.12015999987439], [-84.49144300046446, 39.120059999874435], [-84.49184300046443, 39.11755999987466], [-84.49304300046427, 39.1148599998749], [-84.49364300046419, 39.114359999874964], [-84.4944430004641, 39.114159999874964], [-84.49514300046404, 39.11445999987495], [-84.49724300046381, 39.116359999874746]]], "type": "Polygon"}, "id": "343", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 18.0, "AGE_15_19": 11.0, "AGE_18": 178.0, "AGE_20_24": 26.0, "AGE_21": 169.0, "AGE_25_34": 66.0, "AGE_35_44": 41.0, "AGE_45_54": 15.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 2.0, "AP_BLACK": 156.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 10.0, "AP_OTHER": 9.0, "AP_WHITE": 80.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.18, "AVG_HHSIZE": 2.05, "BG": "390610019002", "BLACK": 152.0, "BLOCK": "390610019002004", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 3806.8143, "F1_RACE": 239.0, "F2_RACES": 5.0, "FEMALE": 116.0, "FEMALE_18": 90.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 49.0, "HH_NONFAMI": 70.0, "HOUSEHOLDS": 119.0, "HSNG_UNITS": 131.0, "HU_OCCUPIE": 119.0, "HU_VACANT": 12.0, "ID": 669426.0, "IN_HOUSEHO": 244.0, "MALE": 128.0, "MALE_18": 88.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.4, "MSA": "1640", "NH_WHITE": 71.0, "NOT_HISPAN": 234.0, "OCCHU_OWNE": 36.0, "OCCHU_RENT": 83.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 1.61, "POPULATION": 244.0, "RENTER_SIZ": 2.24, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 77.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49464300046412, 39.1179599998746, -84.49294300046431, 39.120359999874395], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49294300046431, 39.12015999987439], [-84.4930430004643, 39.11915999987451], [-84.49318700046426, 39.118297999874606], [-84.49324300046426, 39.1179599998746], [-84.49444300046413, 39.11805999987461], [-84.49434300046414, 39.11925999987448], [-84.49464300046412, 39.11955999987449], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "344", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 5.0, "AGE_15_19": 9.0, "AGE_18": 147.0, "AGE_20_24": 36.0, "AGE_21": 132.0, "AGE_25_34": 66.0, "AGE_35_44": 19.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 8.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 4.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 122.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.78, "BG": "390610019002", "BLACK": 29.0, "BLOCK": "390610019002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14508.3466, "F1_RACE": 153.0, "F2_RACES": 9.0, "FEMALE": 87.0, "FEMALE_18": 75.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 91.0, "HSNG_UNITS": 98.0, "HU_OCCUPIE": 91.0, "HU_VACANT": 7.0, "ID": 669452.0, "IN_HOUSEHO": 162.0, "MALE": 75.0, "MALE_18": 72.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.2, "MSA": "1640", "NH_WHITE": 116.0, "NOT_HISPAN": 160.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 162.0, "RENTER_SIZ": 1.84, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 118.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49404300046417, 39.12015999987439, -84.49284300046432, 39.12155999987428], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49284300046432, 39.12155999987428], [-84.49294300046431, 39.12015999987439], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "345", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 25.0, "AGE_20_24": 1.0, "AGE_21": 25.0, "AGE_25_34": 11.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 8.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.04, "BG": "390610019002", "BLACK": 8.0, "BLOCK": "390610019002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8653.9404, "F1_RACE": 24.0, "F2_RACES": 1.0, "FEMALE": 12.0, "FEMALE_18": 12.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 5.0, "ID": 669472.0, "IN_HOUSEHO": 25.0, "MALE": 13.0, "MALE_18": 13.0, "MALE_65": 0.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 25.0, "RENTER_SIZ": 1.04, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49644300046394, 39.121259999874304, -84.49544300046405, 39.12215999987422], "geometry": {"coordinates": [[[-84.49644300046394, 39.121359999874294], [-84.49634300046394, 39.12215999987422], [-84.49585900046401, 39.12210599987421], [-84.49544300046405, 39.12205999987423], [-84.49554300046402, 39.121259999874304], [-84.49598100046398, 39.12130899987431], [-84.49644300046394, 39.121359999874294]]], "type": "Polygon"}, "id": "346", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 9.0, "AGE_20_24": 1.0, "AGE_21": 8.0, "AGE_25_34": 1.0, "AGE_35_44": 4.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 13.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.25, "BG": "390610021002", "BLACK": 13.0, "BLOCK": "390610021002021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4810.0321, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 4.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 0.0, "ID": 669489.0, "IN_HOUSEHO": 13.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 1.0, "MEDIAN_AGE": 40.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.25, "POPULATION": 13.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49634300046394, 39.12205999987423, -84.49534300046406, 39.122859999874166], "geometry": {"coordinates": [[[-84.49634300046394, 39.12215999987422], [-84.49624300046396, 39.122859999874166], [-84.49564300046403, 39.122859999874166], [-84.49534300046406, 39.122859999874166], [-84.49544300046405, 39.12205999987423], [-84.49585900046401, 39.12210599987421], [-84.49634300046394, 39.12215999987422]]], "type": "Polygon"}, "id": "347", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 3.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.0, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002022", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8337.3804, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 13.0, "FEMALE_18": 7.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 669506.0, "IN_HOUSEHO": 21.0, "MALE": 8.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 18.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 21.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49554300046402, 39.121259999874304, -84.49494300046409, 39.12205999987423], "geometry": {"coordinates": [[[-84.49554300046402, 39.121259999874304], [-84.49544300046405, 39.12205999987423], [-84.49494300046409, 39.12205999987423], [-84.49504300046408, 39.12125999987431], [-84.49554300046402, 39.121259999874304]]], "type": "Polygon"}, "id": "348", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 0.0, "AGE_21": 2.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 1.0, "BG": "390610021002", "BLACK": 2.0, "BLOCK": "390610021002020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1350.0419, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 2.0, "FEMALE_18": 2.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 1.0, "ID": 669525.0, "IN_HOUSEHO": 2.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 54.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 2.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49504300046408, 39.121259999874304, -84.49454300046415, 39.12205999987423], "geometry": {"coordinates": [[[-84.49504300046408, 39.12125999987431], [-84.49494300046409, 39.12205999987423], [-84.49454300046415, 39.12205999987423], [-84.49454300046415, 39.121259999874304], [-84.49504300046408, 39.12125999987431]]], "type": "Polygon"}, "id": "349", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 24.0, "AGE_25_34": 6.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.21, "BG": "390610021002", "BLACK": 19.0, "BLOCK": "390610021002019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 23250.7626, "F1_RACE": 30.0, "F2_RACES": 1.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 7.0, "HOUSEHOLDS": 14.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 14.0, "HU_VACANT": 2.0, "ID": 669542.0, "IN_HOUSEHO": 31.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 31.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 31.0, "RENTER_SIZ": 1.92, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 11.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49544300046405, 39.12205999987423, -84.49464300046414, 39.12365999987408], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.49464300046414, 39.123559999874075], [-84.49484300046412, 39.122759999874155], [-84.49494300046409, 39.12205999987423], [-84.49544300046405, 39.12205999987423], [-84.49534300046406, 39.122859999874166], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "350", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 0.0, "AGE_21": 3.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.0, "BG": "390610021002", "BLACK": 4.0, "BLOCK": "390610021002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1293.472, "F1_RACE": 4.0, "F2_RACES": 0.0, "FEMALE": 4.0, "FEMALE_18": 3.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 2.0, "HSNG_UNITS": 2.0, "HU_OCCUPIE": 2.0, "HU_VACANT": 0.0, "ID": 669560.0, "IN_HOUSEHO": 4.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 4.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 4.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49494300046409, 39.12205999987423, -84.49434300046417, 39.122759999874155], "geometry": {"coordinates": [[[-84.49494300046409, 39.12205999987423], [-84.49484300046412, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.49454300046415, 39.12205999987423], [-84.49494300046409, 39.12205999987423]]], "type": "Polygon"}, "id": "351", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 17.0, "AGE_20_24": 4.0, "AGE_21": 16.0, "AGE_25_34": 0.0, "AGE_35_44": 5.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 5.0, "AGE_62": 7.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.57, "AVG_HHSIZE": 2.18, "BG": "390610021002", "BLACK": 24.0, "BLOCK": "390610021002018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 20572.187, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 3.0, "ID": 669580.0, "IN_HOUSEHO": 24.0, "MALE": 7.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 38.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.25, "POPULATION": 24.0, "RENTER_SIZ": 2.14, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49624300046396, 39.122859999874166, -84.49554300046405, 39.12365999987408], "geometry": {"coordinates": [[[-84.49624300046396, 39.122859999874166], [-84.49614300046399, 39.123659999874064], [-84.49554300046405, 39.12365999987408], [-84.49564300046403, 39.122859999874166], [-84.49624300046396, 39.122859999874166]]], "type": "Polygon"}, "id": "352", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 5.0, "AGE_35_44": 1.0, "AGE_45_54": 1.0, "AGE_55_59": 1.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 15.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.2, "BG": "390610021002", "BLACK": 15.0, "BLOCK": "390610021002014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4924, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 5.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 0.0, "ID": 669597.0, "IN_HOUSEHO": 16.0, "MALE": 11.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 16.0, "RENTER_SIZ": 3.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49564300046403, 39.122859999874166, -84.49524300046409, 39.12365999987408], "geometry": {"coordinates": [[[-84.49564300046403, 39.122859999874166], [-84.49554300046405, 39.12365999987408], [-84.49524300046409, 39.12365999987408], [-84.49534300046406, 39.122859999874166], [-84.49564300046403, 39.122859999874166]]], "type": "Polygon"}, "id": "353", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 14.0, "AGE_20_24": 0.0, "AGE_21": 13.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.4, "BG": "390610021002", "BLACK": 21.0, "BLOCK": "390610021002015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 27001.427, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 9.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 1.0, "ID": 671022.0, "IN_HOUSEHO": 24.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 8.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 24.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 3.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49614300046399, 39.123659999874064, -84.49544300046406, 39.124359999874024], "geometry": {"coordinates": [[[-84.49614300046399, 39.123659999874064], [-84.496043000464, 39.124359999874024], [-84.49544300046406, 39.124359999874024], [-84.49554300046405, 39.12365999987408], [-84.49614300046399, 39.123659999874064]]], "type": "Polygon"}, "id": "354", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 24.0, "AGE_20_24": 4.0, "AGE_21": 22.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 40.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 40.0, "BLOCK": "390610021001017", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 27001.7246, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 28.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 16.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 16.0, "HU_VACANT": 6.0, "ID": 671040.0, "IN_HOUSEHO": 42.0, "MALE": 14.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 16.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 42.0, "RENTER_SIZ": 2.63, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.496043000464, 39.124359999874024, -84.49534300046408, 39.12521199987394], "geometry": {"coordinates": [[[-84.496043000464, 39.124359999874024], [-84.49595400046402, 39.12521199987394], [-84.49534300046408, 39.12515999987395], [-84.49544300046406, 39.124359999874024], [-84.496043000464, 39.124359999874024]]], "type": "Polygon"}, "id": "355", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.2, "BG": "390610021001", "BLACK": 16.0, "BLOCK": "390610021001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8595.9685, "F1_RACE": 16.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 4.0, "ID": 671057.0, "IN_HOUSEHO": 16.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 2.0, "MEDIAN_AGE": 36.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 16.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.75, "POPULATION": 16.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49524300046409, 39.123559999874075, -84.49464300046414, 39.124359999874024], "geometry": {"coordinates": [[[-84.49524300046409, 39.12365999987408], [-84.4951430004641, 39.124359999874024], [-84.49464300046415, 39.124259999874035], [-84.49464300046414, 39.123559999874075], [-84.49524300046409, 39.12365999987408]]], "type": "Polygon"}, "id": "356", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 6.0, "AGE_20_24": 1.0, "AGE_21": 6.0, "AGE_25_34": 0.0, "AGE_35_44": 1.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 4.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.5, "BG": "390610021001", "BLACK": 4.0, "BLOCK": "390610021001019", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4154.1275, "F1_RACE": 6.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 4.0, "HSNG_UNITS": 6.0, "HU_OCCUPIE": 4.0, "HU_VACANT": 2.0, "ID": 671075.0, "IN_HOUSEHO": 6.0, "MALE": 5.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 47.0, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 5.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 6.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49484300046412, 39.122759999874155, -84.4942430004642, 39.1235599998741], "geometry": {"coordinates": [[[-84.49484300046412, 39.122759999874155], [-84.49464300046414, 39.123559999874075], [-84.4942430004642, 39.1235599998741], [-84.49434300046417, 39.122759999874155], [-84.49484300046412, 39.122759999874155]]], "type": "Polygon"}, "id": "357", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 11.0, "AGE_25_34": 1.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.71, "BG": "390610021002", "BLACK": 11.0, "BLOCK": "390610021002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9000.4822, "F1_RACE": 12.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 6.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 1.0, "ID": 671092.0, "IN_HOUSEHO": 12.0, "MALE": 6.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 49.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.123559999874075, -84.4941430004642, 39.124259999874035], "geometry": {"coordinates": [[[-84.49464300046414, 39.123559999874075], [-84.49464300046415, 39.124259999874035], [-84.4941430004642, 39.124259999874035], [-84.4942430004642, 39.1235599998741], [-84.49464300046414, 39.123559999874075]]], "type": "Polygon"}, "id": "358", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 0.0, "AGE_18": 19.0, "AGE_20_24": 0.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.8, "BG": "390610021001", "BLACK": 28.0, "BLOCK": "390610021001020", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24001.518, "F1_RACE": 28.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 671110.0, "IN_HOUSEHO": 28.0, "MALE": 16.0, "MALE_18": 10.0, "MALE_65": 4.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.67, "POPULATION": 28.0, "RENTER_SIZ": 2.43, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49554300046405, 39.12365999987408, -84.4951430004641, 39.124359999874024], "geometry": {"coordinates": [[[-84.49554300046405, 39.12365999987408], [-84.49544300046406, 39.124359999874024], [-84.4951430004641, 39.124359999874024], [-84.49524300046409, 39.12365999987408], [-84.49554300046405, 39.12365999987408]]], "type": "Polygon"}, "id": "359", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 12.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 3.0, "AGE_35_44": 0.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.8, "AVG_HHSIZE": 3.33, "BG": "390610021001", "BLACK": 20.0, "BLOCK": "390610021001018", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 25715.9008, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 5.0, "ID": 671127.0, "IN_HOUSEHO": 20.0, "MALE": 9.0, "MALE_18": 7.0, "MALE_65": 3.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 3.4, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49544300046406, 39.124359999874024, -84.49504300046412, 39.12515999987397], "geometry": {"coordinates": [[[-84.49544300046406, 39.124359999874024], [-84.49534300046408, 39.12515999987395], [-84.49504300046412, 39.12515999987397], [-84.4951430004641, 39.124359999874024], [-84.49544300046406, 39.124359999874024]]], "type": "Polygon"}, "id": "360", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 3.0, "AGE_20_24": 1.0, "AGE_21": 3.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 3.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 3.0, "BLOCK": "390610021001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3375.2483, "F1_RACE": 3.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671145.0, "IN_HOUSEHO": 3.0, "MALE": 3.0, "MALE_18": 3.0, "MALE_65": 0.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 3.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 3.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4951430004641, 39.124259999874035, -84.49454300046416, 39.12515999987397], "geometry": {"coordinates": [[[-84.4951430004641, 39.124359999874024], [-84.49504300046412, 39.12515999987397], [-84.49454300046416, 39.12515999987397], [-84.49464300046415, 39.124259999874035], [-84.4951430004641, 39.124359999874024]]], "type": "Polygon"}, "id": "361", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 4.0, "AGE_21": 6.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.67, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 6907.4625, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 3.0, "HSNG_UNITS": 3.0, "HU_OCCUPIE": 3.0, "HU_VACANT": 0.0, "ID": 671162.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 11.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046415, 39.124259999874035, -84.49404300046422, 39.12515999987397], "geometry": {"coordinates": [[[-84.49464300046415, 39.124259999874035], [-84.49454300046416, 39.12515999987397], [-84.49404300046422, 39.12515999987397], [-84.4941430004642, 39.124259999874035], [-84.49464300046415, 39.124259999874035]]], "type": "Polygon"}, "id": "362", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 3.0, "AGE_18": 14.0, "AGE_20_24": 1.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 3.0, "BG": "390610021001", "BLACK": 18.0, "BLOCK": "390610021001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10800.8025, "F1_RACE": 18.0, "F2_RACES": 0.0, "FEMALE": 8.0, "FEMALE_18": 6.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 6.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 6.0, "HU_VACANT": 7.0, "ID": 671180.0, "IN_HOUSEHO": 18.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 1.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 18.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.0, "POPULATION": 18.0, "RENTER_SIZ": 1.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49454300046415, 39.12085999987434, -84.49344300046427, 39.12275999987419], "geometry": {"coordinates": [[[-84.49454300046415, 39.12205999987423], [-84.49434300046417, 39.122759999874155], [-84.49394300046423, 39.122759999874155], [-84.49344300046427, 39.12275999987419], [-84.49354300046426, 39.121759999874264], [-84.49434300046416, 39.12085999987434], [-84.49454300046415, 39.121259999874304], [-84.49454300046415, 39.12205999987423]]], "type": "Polygon"}, "id": "363", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 30.0, "AGE_20_24": 1.0, "AGE_21": 29.0, "AGE_25_34": 10.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 1.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 41.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.47, "BG": "390610021001", "BLACK": 41.0, "BLOCK": "390610021001027", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8574.633, "F1_RACE": 47.0, "F2_RACES": 0.0, "FEMALE": 24.0, "FEMALE_18": 17.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671197.0, "IN_HOUSEHO": 47.0, "MALE": 23.0, "MALE_18": 13.0, "MALE_65": 2.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 47.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 12.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.57, "POPULATION": 47.0, "RENTER_SIZ": 2.42, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 6.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49434300046416, 39.120359999874395, -84.49094300046455, 39.12395999987406], "geometry": {"coordinates": [[[-84.49404300046417, 39.120359999874395], [-84.49434300046416, 39.12085999987434], [-84.49354300046426, 39.121759999874264], [-84.49284300046433, 39.12305999987415], [-84.49174300046447, 39.1236599998741], [-84.49114300046453, 39.12385999987407], [-84.49094300046455, 39.12395999987406], [-84.49134300046451, 39.12325999987412], [-84.49234300046437, 39.122159999874235], [-84.49284300046432, 39.12155999987428], [-84.49404300046417, 39.120359999874395]]], "type": "Polygon"}, "id": "364", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001026", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671217.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49434300046417, 39.122759999874155, -84.49334300046428, 39.1235599998741], "geometry": {"coordinates": [[[-84.4942430004642, 39.1235599998741], [-84.49334300046428, 39.12345999987411], [-84.49344300046427, 39.12275999987419], [-84.49394300046423, 39.122759999874155], [-84.49434300046417, 39.122759999874155], [-84.4942430004642, 39.1235599998741]]], "type": "Polygon"}, "id": "365", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 10.0, "AGE_25_34": 0.0, "AGE_35_44": 2.0, "AGE_45_54": 1.0, "AGE_55_59": 2.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.71, "BG": "390610021001", "BLACK": 9.0, "BLOCK": "390610021001028", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 4764.9242, "F1_RACE": 10.0, "F2_RACES": 2.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 17.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 10.0, "ID": 671240.0, "IN_HOUSEHO": 12.0, "MALE": 7.0, "MALE_18": 6.0, "MALE_65": 3.0, "MEDIAN_AGE": 55.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 12.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 12.0, "RENTER_SIZ": 1.6, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4942430004642, 39.12345999987411, -84.49324300046429, 39.124259999874035], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.4942430004642, 39.1235599998741], [-84.4941430004642, 39.124259999874035], [-84.49324300046429, 39.12415999987405], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "366", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 5.0, "AGE_18": 18.0, "AGE_20_24": 2.0, "AGE_21": 14.0, "AGE_25_34": 3.0, "AGE_35_44": 4.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 26.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.71, "AVG_HHSIZE": 3.71, "BG": "390610021001", "BLACK": 26.0, "BLOCK": "390610021001021", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10969.3932, "F1_RACE": 26.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 11.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 4.0, "ID": 671258.0, "IN_HOUSEHO": 26.0, "MALE": 15.0, "MALE_18": 9.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 26.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 26.0, "RENTER_SIZ": 4.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.4941430004642, 39.12415999987405, -84.4931430004643, 39.12515999987397], "geometry": {"coordinates": [[[-84.49404300046422, 39.12515999987397], [-84.49314300046431, 39.12505999987396], [-84.4931430004643, 39.12455999987401], [-84.49324300046429, 39.12415999987405], [-84.4941430004642, 39.124259999874035], [-84.49404300046422, 39.12515999987397]]], "type": "Polygon"}, "id": "367", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 30.0, "AGE_20_24": 2.0, "AGE_21": 29.0, "AGE_25_34": 3.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 8.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 11.0, "AGE_65": 10.0, "AGE_65_74": 6.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.8, "AVG_HHSIZE": 1.57, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11503.7908, "F1_RACE": 34.0, "F2_RACES": 2.0, "FEMALE": 24.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 3.0, "ID": 671275.0, "IN_HOUSEHO": 36.0, "MALE": 12.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 57.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 36.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 36.0, "RENTER_SIZ": 1.47, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 1.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49354300046426, 39.121759999874264, -84.49174300046447, 39.12415999987405], "geometry": {"coordinates": [[[-84.49334300046428, 39.12345999987411], [-84.49324300046429, 39.12415999987405], [-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.1236599998741], [-84.49284300046433, 39.12305999987415], [-84.49354300046426, 39.121759999874264], [-84.49344300046427, 39.12275999987419], [-84.49334300046428, 39.12345999987411]]], "type": "Polygon"}, "id": "368", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 3.0, "AGE_15_19": 3.0, "AGE_18": 20.0, "AGE_20_24": 1.0, "AGE_21": 19.0, "AGE_25_34": 2.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 3.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.54, "BG": "390610021001", "BLACK": 33.0, "BLOCK": "390610021001022", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5241.5001, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 17.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 16.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 3.0, "ID": 671294.0, "IN_HOUSEHO": 33.0, "MALE": 16.0, "MALE_18": 8.0, "MALE_65": 3.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.33, "POPULATION": 33.0, "RENTER_SIZ": 3.0, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49324300046429, 39.12405999987406, -84.49174300046447, 39.12455999987401], "geometry": {"coordinates": [[[-84.49324300046429, 39.12415999987405], [-84.4931430004643, 39.12455999987401], [-84.49174300046447, 39.12445999987402], [-84.49174300046447, 39.12405999987406], [-84.49324300046429, 39.12415999987405]]], "type": "Polygon"}, "id": "369", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 2.0, "AGE_20_24": 1.0, "AGE_21": 2.0, "AGE_25_34": 1.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 2.0, "BG": "390610021001", "BLACK": 2.0, "BLOCK": "390610021001023", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 923.1415, "F1_RACE": 2.0, "F2_RACES": 0.0, "FEMALE": 1.0, "FEMALE_18": 1.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 1.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 1.0, "HU_VACANT": 0.0, "ID": 671314.0, "IN_HOUSEHO": 2.0, "MALE": 1.0, "MALE_18": 1.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 2.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 1.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 2.0, "RENTER_SIZ": 2.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49314300046431, 39.12445999987402, -84.49164300046446, 39.12505999987396], "geometry": {"coordinates": [[[-84.4931430004643, 39.12455999987401], [-84.49314300046431, 39.12505999987396], [-84.49164300046446, 39.12495999987399], [-84.49174300046447, 39.12445999987402], [-84.4931430004643, 39.12455999987401]]], "type": "Polygon"}, "id": "370", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 1.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 21.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.25, "AVG_HHSIZE": 2.63, "BG": "390610021001", "BLACK": 21.0, "BLOCK": "390610021001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7767.719, "F1_RACE": 21.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 8.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 8.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 0.0, "ID": 671331.0, "IN_HOUSEHO": 21.0, "MALE": 10.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 21.0, "OCCHU_OWNE": 4.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.5, "POPULATION": 21.0, "RENTER_SIZ": 2.75, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49324300046423, 39.112659999875135, -84.4890430004647, 39.120059999874435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.49034300046458, 39.120059999874435], [-84.49044300046458, 39.119859999874464], [-84.49064300046453, 39.11755999987468], [-84.49024300046457, 39.1172599998747], [-84.49044300046457, 39.116859999874734], [-84.4890430004647, 39.11665999987475], [-84.48954300046464, 39.11585999987483], [-84.49114300046446, 39.11445999987497], [-84.49144300046441, 39.11305999987509], [-84.49224300046434, 39.112659999875135], [-84.49314300046423, 39.11305999987508], [-84.49324300046423, 39.11405999987497], [-84.49304300046427, 39.1148599998749], [-84.49184300046443, 39.11755999987466], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "371", "properties": {"AGE_0_5": 34.0, "AGE_10_14": 17.0, "AGE_15_19": 20.0, "AGE_18": 116.0, "AGE_20_24": 19.0, "AGE_21": 105.0, "AGE_25_34": 36.0, "AGE_35_44": 18.0, "AGE_45_54": 17.0, "AGE_55_59": 6.0, "AGE_5_9": 26.0, "AGE_60_64": 5.0, "AGE_62": 8.0, "AGE_65": 6.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 4.0, "AP_BLACK": 161.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 3.0, "AP_WHITE": 40.0, "AREA": 0.05, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.19, "AVG_HHSIZE": 2.27, "BG": "390610019001", "BLACK": 159.0, "BLOCK": "390610019001012", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4085.8467, "F1_RACE": 201.0, "F2_RACES": 3.0, "FEMALE": 121.0, "FEMALE_18": 74.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 90.0, "HSNG_UNITS": 115.0, "HU_OCCUPIE": 90.0, "HU_VACANT": 25.0, "ID": 671366.0, "IN_HOUSEHO": 204.0, "MALE": 83.0, "MALE_18": 42.0, "MALE_65": 3.0, "MEDIAN_AGE": 21.3, "MSA": "1640", "NH_WHITE": 37.0, "NOT_HISPAN": 204.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 1.78, "POPULATION": 204.0, "RENTER_SIZ": 2.39, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 37.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49144300046446, 39.11995999987445, -84.48984300046465, 39.12105999987435], "geometry": {"coordinates": [[[-84.49144300046446, 39.120059999874435], [-84.4913430004645, 39.12105999987435], [-84.48984300046465, 39.12095999987435], [-84.48994300046463, 39.11995999987445], [-84.49034300046458, 39.120059999874435], [-84.49144300046446, 39.120059999874435]]], "type": "Polygon"}, "id": "372", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 35.0, "AGE_20_24": 4.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 7.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 33.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.4, "AVG_HHSIZE": 1.79, "BG": "390610019001", "BLACK": 33.0, "BLOCK": "390610019001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7979.4739, "F1_RACE": 43.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 17.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 1.0, "ID": 671465.0, "IN_HOUSEHO": 34.0, "MALE": 23.0, "MALE_18": 18.0, "MALE_65": 1.0, "MEDIAN_AGE": 38.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 43.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 43.0, "RENTER_SIZ": 2.15, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 10.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49044300046457, 39.11665999987475, -84.48834300046478, 39.11745999987466], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.48964300046464, 39.117059999874705], [-84.48954300046465, 39.11745999987466], [-84.48834300046478, 39.11725999987471], [-84.4890430004647, 39.11665999987475], [-84.49044300046457, 39.116859999874734], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "373", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610019001", "BLACK": 0.0, "BLOCK": "390610019001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 1.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 1.0, "ID": 671484.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49064300046453, 39.117059999874705, -84.48934300046469, 39.119859999874464], "geometry": {"coordinates": [[[-84.49024300046457, 39.1172599998747], [-84.49064300046453, 39.11755999987468], [-84.49044300046458, 39.119859999874464], [-84.48934300046469, 39.1195599998745], [-84.48954300046465, 39.11745999987466], [-84.48964300046464, 39.117059999874705], [-84.49024300046457, 39.1172599998747]]], "type": "Polygon"}, "id": "374", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 181.0, "AGE_20_24": 15.0, "AGE_21": 177.0, "AGE_25_34": 60.0, "AGE_35_44": 15.0, "AGE_45_54": 21.0, "AGE_55_59": 5.0, "AGE_5_9": 2.0, "AGE_60_64": 20.0, "AGE_62": 57.0, "AGE_65": 43.0, "AGE_65_74": 31.0, "AGE_75_84": 10.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 3.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 160.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.12, "AVG_HHSIZE": 1.6, "BG": "390610019001", "BLACK": 24.0, "BLOCK": "390610019001011", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18460.4258, "F1_RACE": 182.0, "F2_RACES": 5.0, "FEMALE": 81.0, "FEMALE_18": 80.0, "FEMALE_65": 19.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 6.0, "GROUP_QUAR": 6.0, "HAWAIIAN": 0.0, "HH_FAMILY": 42.0, "HH_NONFAMI": 71.0, "HOUSEHOLDS": 113.0, "HSNG_UNITS": 124.0, "HU_OCCUPIE": 113.0, "HU_VACANT": 11.0, "ID": 671502.0, "IN_HOUSEHO": 181.0, "MALE": 106.0, "MALE_18": 101.0, "MALE_65": 24.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 155.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 44.0, "OCCHU_RENT": 69.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.75, "POPULATION": 187.0, "RENTER_SIZ": 1.51, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 156.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49044300046458, 39.11725999987471, -84.48784300046485, 39.120059999874435], "geometry": {"coordinates": [[[-84.49034300046458, 39.120059999874435], [-84.48994300046463, 39.11995999987445], [-84.4883430004648, 39.119959999874474], [-84.48784300046485, 39.118759999874584], [-84.48794300046484, 39.11825999987461], [-84.48804300046481, 39.11755999987469], [-84.48834300046478, 39.11725999987471], [-84.48954300046465, 39.11745999987466], [-84.48934300046469, 39.1195599998745], [-84.49044300046458, 39.119859999874464], [-84.49034300046458, 39.120059999874435]]], "type": "Polygon"}, "id": "375", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 0.0, "AGE_15_19": 2.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 49.0, "AGE_25_34": 12.0, "AGE_35_44": 12.0, "AGE_45_54": 17.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 3.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 48.0, "AREA": 0.01, "ASIAN": 2.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 1.36, "BG": "390610019001", "BLACK": 2.0, "BLOCK": "390610019001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3631.9362, "F1_RACE": 53.0, "F2_RACES": 0.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 39.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 39.0, "HU_VACANT": 1.0, "ID": 671518.0, "IN_HOUSEHO": 53.0, "MALE": 27.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 40.8, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 50.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.47, "POPULATION": 53.0, "RENTER_SIZ": 1.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 48.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49294300046431, 39.120059999874435, -84.4913430004645, 39.122159999874235], "geometry": {"coordinates": [[[-84.49294300046431, 39.12015999987439], [-84.49284300046432, 39.12155999987428], [-84.49234300046437, 39.122159999874235], [-84.4913430004645, 39.12205999987426], [-84.4913430004645, 39.12105999987435], [-84.49144300046446, 39.120059999874435], [-84.49294300046431, 39.12015999987439]]], "type": "Polygon"}, "id": "376", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 13.0, "AGE_18": 63.0, "AGE_20_24": 10.0, "AGE_21": 56.0, "AGE_25_34": 18.0, "AGE_35_44": 23.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 74.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 1.0, "AP_WHITE": 27.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.62, "BG": "390610019002", "BLACK": 71.0, "BLOCK": "390610019002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9108.6552, "F1_RACE": 94.0, "F2_RACES": 4.0, "FEMALE": 58.0, "FEMALE_18": 41.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 22.0, "GROUP_QUAR": 22.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 33.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 4.0, "ID": 671540.0, "IN_HOUSEHO": 76.0, "MALE": 40.0, "MALE_18": 22.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 22.0, "NOT_HISPAN": 96.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 27.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 98.0, "RENTER_SIZ": 2.74, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 23.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.4913430004645, 39.12095999987435, -84.48974300046466, 39.12205999987426], "geometry": {"coordinates": [[[-84.4913430004645, 39.12105999987435], [-84.4913430004645, 39.12205999987426], [-84.48974300046466, 39.121959999874264], [-84.48984300046465, 39.12095999987435], [-84.4913430004645, 39.12105999987435]]], "type": "Polygon"}, "id": "377", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 10.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 1.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.33, "AVG_HHSIZE": 3.4, "BG": "390610019001", "BLACK": 17.0, "BLOCK": "390610019001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2951.8509, "F1_RACE": 17.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 5.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 671560.0, "IN_HOUSEHO": 17.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 17.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 17.0, "RENTER_SIZ": 3.75, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001900", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49234300046437, 39.121959999874264, -84.48964300046468, 39.12325999987412], "geometry": {"coordinates": [[[-84.49134300046451, 39.12325999987412], [-84.48964300046468, 39.12315999987414], [-84.48974300046466, 39.121959999874264], [-84.4913430004645, 39.12205999987426], [-84.49234300046437, 39.122159999874235], [-84.49134300046451, 39.12325999987412]]], "type": "Polygon"}, "id": "378", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 14.0, "AGE_15_19": 14.0, "AGE_18": 107.0, "AGE_20_24": 7.0, "AGE_21": 102.0, "AGE_25_34": 14.0, "AGE_35_44": 31.0, "AGE_45_54": 16.0, "AGE_55_59": 11.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 23.0, "AGE_65": 20.0, "AGE_65_74": 13.0, "AGE_75_84": 5.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 132.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.24, "BG": "390610019001", "BLACK": 130.0, "BLOCK": "390610019001003", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15459.0754, "F1_RACE": 146.0, "F2_RACES": 2.0, "FEMALE": 84.0, "FEMALE_18": 60.0, "FEMALE_65": 12.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 27.0, "HH_NONFAMI": 39.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 73.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 7.0, "ID": 671577.0, "IN_HOUSEHO": 148.0, "MALE": 64.0, "MALE_18": 47.0, "MALE_65": 8.0, "MEDIAN_AGE": 36.3, "MSA": "1640", "NH_WHITE": 14.0, "NOT_HISPAN": 145.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.2, "POPULATION": 148.0, "RENTER_SIZ": 2.07, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061001900", "WHITE": 14.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.1236599998741, -84.49114300046453, 39.12445999987403], "geometry": {"coordinates": [[[-84.49174300046447, 39.12405999987406], [-84.49174300046447, 39.12445999987402], [-84.49114300046453, 39.12445999987403], [-84.49114300046453, 39.12385999987407], [-84.49174300046447, 39.1236599998741], [-84.49174300046447, 39.12405999987406]]], "type": "Polygon"}, "id": "379", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021001", "BLACK": 0.0, "BLOCK": "390610021001024", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 671596.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49174300046447, 39.12445999987402, -84.49104300046453, 39.12525999987394], "geometry": {"coordinates": [[[-84.49164300046446, 39.12495999987399], [-84.49154300046447, 39.12525999987394], [-84.49104300046453, 39.12515999987397], [-84.49114300046453, 39.12485999987399], [-84.49114300046453, 39.12445999987403], [-84.49174300046447, 39.12445999987402], [-84.49164300046446, 39.12495999987399]]], "type": "Polygon"}, "id": "380", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 8.0, "AGE_20_24": 2.0, "AGE_21": 6.0, "AGE_25_34": 1.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.2, "BG": "390610021001", "BLACK": 11.0, "BLOCK": "390610021001010", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7244.4205, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 2.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 14.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 9.0, "ID": 671614.0, "IN_HOUSEHO": 11.0, "MALE": 4.0, "MALE_18": 4.0, "MALE_65": 0.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 11.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50684300046272, 39.11195999987513, -84.50584300046286, 39.112559999875074], "geometry": {"coordinates": [[[-84.50684300046272, 39.11205999987513], [-84.50674300046276, 39.112559999875074], [-84.50641300046279, 39.11252299987507], [-84.50584300046286, 39.112459999875085], [-84.50594300046285, 39.11195999987513], [-84.50651600046277, 39.11202399987514], [-84.50684300046272, 39.11205999987513]]], "type": "Polygon"}, "id": "381", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 1.0, "AGE_15_19": 1.0, "AGE_18": 41.0, "AGE_20_24": 3.0, "AGE_21": 41.0, "AGE_25_34": 15.0, "AGE_35_44": 8.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 4.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 37.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.73, "BG": "390610018001", "BLACK": 7.0, "BLOCK": "390610018001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 26427.5833, "F1_RACE": 45.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 13.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 17.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 0.0, "ID": 665138.0, "IN_HOUSEHO": 45.0, "MALE": 30.0, "MALE_18": 28.0, "MALE_65": 2.0, "MEDIAN_AGE": 35.3, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 45.0, "RENTER_SIZ": 1.61, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 37.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50594300046285, 39.11195999987513, -84.50394300046305, 39.112459999875085], "geometry": {"coordinates": [[[-84.50594300046285, 39.11195999987513], [-84.50584300046286, 39.112459999875085], [-84.50394300046305, 39.11235999987508], [-84.50424300046303, 39.11195999987513], [-84.50594300046285, 39.11195999987513]]], "type": "Polygon"}, "id": "382", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 4.0, "AGE_21": 17.0, "AGE_25_34": 2.0, "AGE_35_44": 1.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 0.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 12.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.23, "BG": "390610018001", "BLACK": 17.0, "BLOCK": "390610018001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9547.7662, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 11.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 13.0, "HSNG_UNITS": 13.0, "HU_OCCUPIE": 13.0, "HU_VACANT": 0.0, "ID": 665158.0, "IN_HOUSEHO": 29.0, "MALE": 18.0, "MALE_18": 12.0, "MALE_65": 2.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.33, "POPULATION": 29.0, "RENTER_SIZ": 1.9, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 12.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50584300046286, 39.11235999987508, -84.50394300046305, 39.112859999875035], "geometry": {"coordinates": [[[-84.50584300046286, 39.112459999875085], [-84.50584300046286, 39.112859999875035], [-84.50394300046305, 39.112759999875045], [-84.50394300046305, 39.11235999987508], [-84.50584300046286, 39.112459999875085]]], "type": "Polygon"}, "id": "383", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 3.0, "AGE_15_19": 0.0, "AGE_18": 27.0, "AGE_20_24": 2.0, "AGE_21": 26.0, "AGE_25_34": 13.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 3.0, "AGE_62": 4.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 14.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 19.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.48, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12077.766, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 23.0, "HSNG_UNITS": 23.0, "HU_OCCUPIE": 23.0, "HU_VACANT": 0.0, "ID": 665175.0, "IN_HOUSEHO": 34.0, "MALE": 19.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.0, "MSA": "1640", "NH_WHITE": 19.0, "NOT_HISPAN": 34.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.2, "POPULATION": 34.0, "RENTER_SIZ": 1.56, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 19.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.112759999875045, -84.50384300046308, 39.11365999987494], "geometry": {"coordinates": [[[-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11365999987494], [-84.50967000046245, 39.11361299987495], [-84.50654300046278, 39.11345999987498], [-84.50484300046296, 39.113259999875005], [-84.50384300046308, 39.11325999987501], [-84.50394300046305, 39.112759999875045], [-84.50584300046286, 39.112859999875035], [-84.50664300046277, 39.112959999875024], [-84.50754300046268, 39.112959999875024], [-84.50872100046254, 39.113050999875014], [-84.50884300046253, 39.11305999987503], [-84.50889600046254, 39.113072999874994], [-84.5092430004625, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.51064300046235, 39.11315999987501], [-84.51064300046235, 39.113459999874955]]], "type": "Polygon"}, "id": "384", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 11.0, "AGE_15_19": 10.0, "AGE_18": 161.0, "AGE_20_24": 16.0, "AGE_21": 154.0, "AGE_25_34": 67.0, "AGE_35_44": 38.0, "AGE_45_54": 15.0, "AGE_55_59": 6.0, "AGE_5_9": 19.0, "AGE_60_64": 7.0, "AGE_62": 13.0, "AGE_65": 8.0, "AGE_65_74": 3.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 96.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 5.0, "AP_OTHER": 4.0, "AP_WHITE": 108.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.09, "AVG_HHSIZE": 1.9, "BG": "390610018001", "BLACK": 95.0, "BLOCK": "390610018001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16653.418, "F1_RACE": 206.0, "F2_RACES": 1.0, "FEMALE": 99.0, "FEMALE_18": 73.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 34.0, "HH_NONFAMI": 75.0, "HOUSEHOLDS": 109.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 109.0, "HU_VACANT": 19.0, "ID": 665193.0, "IN_HOUSEHO": 207.0, "MALE": 108.0, "MALE_18": 88.0, "MALE_65": 4.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 105.0, "NOT_HISPAN": 202.0, "OCCHU_OWNE": 46.0, "OCCHU_RENT": 63.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 1.57, "POPULATION": 207.0, "RENTER_SIZ": 2.14, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 107.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50754300046268, 39.112459999875085, -84.50584300046286, 39.112959999875024], "geometry": {"coordinates": [[[-84.50754300046268, 39.11255999987504], [-84.50754300046268, 39.112959999875024], [-84.50664300046277, 39.112959999875024], [-84.50584300046286, 39.112859999875035], [-84.50584300046286, 39.112459999875085], [-84.50641300046279, 39.11252299987507], [-84.50674300046276, 39.112559999875074], [-84.50754300046268, 39.11255999987504]]], "type": "Polygon"}, "id": "385", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 1.0, "AGE_18": 74.0, "AGE_20_24": 7.0, "AGE_21": 74.0, "AGE_25_34": 31.0, "AGE_35_44": 13.0, "AGE_45_54": 16.0, "AGE_55_59": 3.0, "AGE_5_9": 2.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 68.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.59, "BG": "390610018001", "BLACK": 9.0, "BLOCK": "390610018001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 30734.8221, "F1_RACE": 78.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 32.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 41.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 0.0, "ID": 665219.0, "IN_HOUSEHO": 78.0, "MALE": 44.0, "MALE_18": 42.0, "MALE_65": 0.0, "MEDIAN_AGE": 32.7, "MSA": "1640", "NH_WHITE": 68.0, "NOT_HISPAN": 78.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.93, "POPULATION": 78.0, "RENTER_SIZ": 1.46, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 68.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51064300046235, 39.113259999875005, -84.50474300046298, 39.11755999987458], "geometry": {"coordinates": [[[-84.50914300046253, 39.11735999987462], [-84.50874300046257, 39.11755999987458], [-84.50804300046265, 39.1174599998746], [-84.50814300046262, 39.116659999874656], [-84.50714300046275, 39.11655999987471], [-84.50734300046271, 39.11495999987483], [-84.50634300046282, 39.114859999874874], [-84.5064430004628, 39.11435999987489], [-84.50474300046298, 39.11415999987494], [-84.50478100046298, 39.11381799987495], [-84.50484300046296, 39.113259999875005], [-84.50654300046278, 39.11345999987498], [-84.50967000046245, 39.11361299987495], [-84.51064300046235, 39.11365999987494], [-84.51054300046238, 39.11465999987484], [-84.51044300046239, 39.11525899987483], [-84.5103430004624, 39.11575999987474], [-84.5103430004624, 39.116059999874714], [-84.51014300046242, 39.117259999874626], [-84.50964300046249, 39.11725999987464], [-84.50914300046253, 39.11735999987462]]], "type": "Polygon"}, "id": "386", "properties": {"AGE_0_5": 29.0, "AGE_10_14": 17.0, "AGE_15_19": 15.0, "AGE_18": 211.0, "AGE_20_24": 31.0, "AGE_21": 195.0, "AGE_25_34": 58.0, "AGE_35_44": 42.0, "AGE_45_54": 30.0, "AGE_55_59": 6.0, "AGE_5_9": 33.0, "AGE_60_64": 12.0, "AGE_62": 36.0, "AGE_65": 25.0, "AGE_65_74": 11.0, "AGE_75_84": 10.0, "AGE_85": 4.0, "AMINDIAN": 6.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 189.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 10.0, "AP_WHITE": 96.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.9, "AVG_HHSIZE": 2.1, "BG": "390610018002", "BLACK": 186.0, "BLOCK": "390610018002004", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5712.5373, "F1_RACE": 294.0, "F2_RACES": 4.0, "FEMALE": 167.0, "FEMALE_18": 120.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 70.0, "HH_NONFAMI": 72.0, "HOUSEHOLDS": 142.0, "HSNG_UNITS": 187.0, "HU_OCCUPIE": 142.0, "HU_VACANT": 45.0, "ID": 665239.0, "IN_HOUSEHO": 298.0, "MALE": 131.0, "MALE_18": 91.0, "MALE_65": 11.0, "MEDIAN_AGE": 28.6, "MSA": "1640", "NH_WHITE": 92.0, "NOT_HISPAN": 298.0, "OCCHU_OWNE": 40.0, "OCCHU_RENT": 102.0, "OTHER_RACE": 10.0, "OWNER_SIZE": 1.83, "POPULATION": 298.0, "RENTER_SIZ": 2.21, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 92.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50734300046271, 39.114859999874874, -84.50614300046284, 39.11655999987471], "geometry": {"coordinates": [[[-84.50734300046271, 39.11495999987483], [-84.50714300046275, 39.11655999987471], [-84.50614300046284, 39.11655999987471], [-84.50624300046285, 39.115859999874736], [-84.50634300046282, 39.114859999874874], [-84.50734300046271, 39.11495999987483]]], "type": "Polygon"}, "id": "387", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 4.0, "AGE_15_19": 10.0, "AGE_18": 60.0, "AGE_20_24": 8.0, "AGE_21": 55.0, "AGE_25_34": 23.0, "AGE_35_44": 11.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 14.0, "AGE_60_64": 0.0, "AGE_62": 5.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 2.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 94.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.27, "BG": "390610018002", "BLACK": 2.0, "BLOCK": "390610018002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16084.1922, "F1_RACE": 98.0, "F2_RACES": 0.0, "FEMALE": 57.0, "FEMALE_18": 33.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 26.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 37.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 7.0, "ID": 665273.0, "IN_HOUSEHO": 98.0, "MALE": 41.0, "MALE_18": 27.0, "MALE_65": 1.0, "MEDIAN_AGE": 24.5, "MSA": "1640", "NH_WHITE": 94.0, "NOT_HISPAN": 98.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 98.0, "RENTER_SIZ": 2.8, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 94.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.5064430004628, 39.11415999987494, -84.504643000463, 39.114859999874874], "geometry": {"coordinates": [[[-84.5064430004628, 39.11435999987489], [-84.50634300046282, 39.114859999874874], [-84.504643000463, 39.11475999987486], [-84.50474300046298, 39.11415999987494], [-84.5064430004628, 39.11435999987489]]], "type": "Polygon"}, "id": "388", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 1.0, "AGE_15_19": 5.0, "AGE_18": 40.0, "AGE_20_24": 6.0, "AGE_21": 34.0, "AGE_25_34": 12.0, "AGE_35_44": 7.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 3.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 45.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 15.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.35, "BG": "390610018003", "BLACK": 45.0, "BLOCK": "390610018003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17335.6307, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 36.0, "FEMALE_18": 26.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 35.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 9.0, "ID": 665292.0, "IN_HOUSEHO": 61.0, "MALE": 25.0, "MALE_18": 14.0, "MALE_65": 2.0, "MEDIAN_AGE": 25.1, "MSA": "1640", "NH_WHITE": 15.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 23.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.67, "POPULATION": 61.0, "RENTER_SIZ": 2.3, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 15.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50634300046282, 39.11475999987486, -84.50454300046302, 39.115859999874736], "geometry": {"coordinates": [[[-84.50634300046282, 39.114859999874874], [-84.50624300046285, 39.115859999874736], [-84.50454300046302, 39.11575999987477], [-84.504597000463, 39.11522299987483], [-84.504643000463, 39.11475999987486], [-84.50634300046282, 39.114859999874874]]], "type": "Polygon"}, "id": "389", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 8.0, "AGE_15_19": 69.0, "AGE_18": 189.0, "AGE_20_24": 95.0, "AGE_21": 96.0, "AGE_25_34": 15.0, "AGE_35_44": 7.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 5.0, "AGE_60_64": 4.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 6.0, "AP_BLACK": 47.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 7.0, "AP_OTHER": 4.0, "AP_WHITE": 157.0, "AREA": 0.01, "ASIAN": 6.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.43, "AVG_HHSIZE": 2.7, "BG": "390610018003", "BLACK": 44.0, "BLOCK": "390610018003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 33790.5296, "F1_RACE": 210.0, "F2_RACES": 4.0, "FEMALE": 119.0, "FEMALE_18": 104.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 160.0, "GROUP_QUAR": 160.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 22.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 2.0, "ID": 665309.0, "IN_HOUSEHO": 54.0, "MALE": 95.0, "MALE_18": 85.0, "MALE_65": 0.0, "MEDIAN_AGE": 20.7, "MSA": "1640", "NH_WHITE": 150.0, "NOT_HISPAN": 207.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 1.8, "POPULATION": 214.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 156.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50624300046285, 39.11565999987479, -84.50354300046311, 39.11655999987471], "geometry": {"coordinates": [[[-84.50454300046302, 39.11575999987477], [-84.50624300046285, 39.115859999874736], [-84.50614300046284, 39.11655999987471], [-84.50354300046313, 39.116359999874724], [-84.50354300046311, 39.11565999987479], [-84.50454300046302, 39.11575999987477]]], "type": "Polygon"}, "id": "390", "properties": {"AGE_0_5": 9.0, "AGE_10_14": 6.0, "AGE_15_19": 16.0, "AGE_18": 73.0, "AGE_20_24": 10.0, "AGE_21": 65.0, "AGE_25_34": 12.0, "AGE_35_44": 20.0, "AGE_45_54": 15.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 0.0, "AP_WHITE": 35.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.45, "AVG_HHSIZE": 2.34, "BG": "390610018003", "BLACK": 68.0, "BLOCK": "390610018003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15195.927, "F1_RACE": 103.0, "F2_RACES": 0.0, "FEMALE": 50.0, "FEMALE_18": 37.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 44.0, "HSNG_UNITS": 51.0, "HU_OCCUPIE": 44.0, "HU_VACANT": 7.0, "ID": 665327.0, "IN_HOUSEHO": 103.0, "MALE": 53.0, "MALE_18": 36.0, "MALE_65": 1.0, "MEDIAN_AGE": 30.2, "MSA": "1640", "NH_WHITE": 35.0, "NOT_HISPAN": 101.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 25.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.95, "POPULATION": 103.0, "RENTER_SIZ": 2.64, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 35.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50484300046296, 39.113259999875005, -84.5037430004631, 39.11415999987494], "geometry": {"coordinates": [[[-84.50484300046296, 39.113259999875005], [-84.50478100046298, 39.11381799987495], [-84.50474300046298, 39.11415999987494], [-84.5037430004631, 39.11415999987494], [-84.50384300046308, 39.11325999987501], [-84.50484300046296, 39.113259999875005]]], "type": "Polygon"}, "id": "391", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 22.0, "AGE_25_34": 7.0, "AGE_35_44": 5.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 18.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.41, "BG": "390610018002", "BLACK": 6.0, "BLOCK": "390610018002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 7199.4118, "F1_RACE": 24.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 17.0, "HSNG_UNITS": 20.0, "HU_OCCUPIE": 17.0, "HU_VACANT": 3.0, "ID": 665508.0, "IN_HOUSEHO": 24.0, "MALE": 14.0, "MALE_18": 13.0, "MALE_65": 1.0, "MEDIAN_AGE": 42.5, "MSA": "1640", "NH_WHITE": 18.0, "NOT_HISPAN": 24.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.14, "POPULATION": 24.0, "RENTER_SIZ": 1.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 18.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50474300046298, 39.11415999987494, -84.5037430004631, 39.11475999987486], "geometry": {"coordinates": [[[-84.50474300046298, 39.11415999987494], [-84.504643000463, 39.11475999987486], [-84.5037430004631, 39.11465999987489], [-84.5037430004631, 39.11415999987494], [-84.50474300046298, 39.11415999987494]]], "type": "Polygon"}, "id": "392", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 9.0, "AGE_20_24": 0.0, "AGE_21": 9.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 7.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 2.2, "BG": "390610018003", "BLACK": 7.0, "BLOCK": "390610018003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5656.7291, "F1_RACE": 11.0, "F2_RACES": 0.0, "FEMALE": 5.0, "FEMALE_18": 4.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 5.0, "HSNG_UNITS": 7.0, "HU_OCCUPIE": 5.0, "HU_VACANT": 2.0, "ID": 665526.0, "IN_HOUSEHO": 11.0, "MALE": 6.0, "MALE_18": 5.0, "MALE_65": 2.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 11.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 4.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 2.0, "POPULATION": 11.0, "RENTER_SIZ": 2.25, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50894300046254, 39.111059999875216, -84.5001430004635, 39.117559999874615], "geometry": {"coordinates": [[[-84.50354300046313, 39.116359999874724], [-84.50374300046313, 39.11735999987465], [-84.50274300046323, 39.11735999987464], [-84.50174300046334, 39.117459999874605], [-84.5001430004635, 39.117559999874615], [-84.50034300046349, 39.11595999987476], [-84.50034300046349, 39.115659999874794], [-84.5017430004633, 39.113559999875015], [-84.50204200046329, 39.11314099987504], [-84.50224300046324, 39.11285999987504], [-84.50339500046312, 39.11121399987522], [-84.5034840004631, 39.1112009998752], [-84.50424300046303, 39.111059999875216], [-84.50511600046293, 39.111270999875174], [-84.50714300046272, 39.11175999987512], [-84.50748200046267, 39.11186199987511], [-84.50811600046262, 39.11204699987508], [-84.50894300046254, 39.112259999875086], [-84.50764300046268, 39.112159999875075], [-84.50684300046272, 39.11205999987513], [-84.50651600046277, 39.11202399987514], [-84.50594300046285, 39.11195999987513], [-84.50424300046303, 39.11195999987513], [-84.50394300046305, 39.11235999987508], [-84.50394300046305, 39.112759999875045], [-84.50384300046308, 39.11325999987501], [-84.5037430004631, 39.11415999987494], [-84.5037430004631, 39.11465999987489], [-84.50354300046311, 39.11565999987479], [-84.50354300046313, 39.116359999874724]]], "type": "Polygon"}, "id": "393", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 5.0, "AGE_18": 249.0, "AGE_20_24": 31.0, "AGE_21": 240.0, "AGE_25_34": 78.0, "AGE_35_44": 69.0, "AGE_45_54": 39.0, "AGE_55_59": 8.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 15.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 4.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 3.0, "AP_BLACK": 152.0, "AP_HAWAIIA": 3.0, "AP_HISPANI": 1.0, "AP_OTHER": 6.0, "AP_WHITE": 107.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.85, "AVG_HHSIZE": 1.75, "BG": "390610018001", "BLACK": 146.0, "BLOCK": "390610018001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4187.3135, "F1_RACE": 256.0, "F2_RACES": 8.0, "FEMALE": 145.0, "FEMALE_18": 137.0, "FEMALE_65": 9.0, "GQ_INSTITU": 131.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 131.0, "HAWAIIAN": 2.0, "HH_FAMILY": 20.0, "HH_NONFAMI": 56.0, "HOUSEHOLDS": 76.0, "HSNG_UNITS": 83.0, "HU_OCCUPIE": 76.0, "HU_VACANT": 7.0, "ID": 665544.0, "IN_HOUSEHO": 133.0, "MALE": 119.0, "MALE_18": 112.0, "MALE_65": 6.0, "MEDIAN_AGE": 35.6, "MSA": "1640", "NH_WHITE": 100.0, "NOT_HISPAN": 263.0, "OCCHU_OWNE": 29.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.07, "POPULATION": 264.0, "RENTER_SIZ": 1.55, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 100.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.504643000463, 39.11465999987489, -84.50354300046311, 39.11575999987477], "geometry": {"coordinates": [[[-84.504643000463, 39.11475999987486], [-84.504597000463, 39.11522299987483], [-84.50454300046302, 39.11575999987477], [-84.50354300046311, 39.11565999987479], [-84.5037430004631, 39.11465999987489], [-84.504643000463, 39.11475999987486]]], "type": "Polygon"}, "id": "394", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 2.0, "AGE_15_19": 5.0, "AGE_18": 28.0, "AGE_20_24": 5.0, "AGE_21": 26.0, "AGE_25_34": 2.0, "AGE_35_44": 11.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 1.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.33, "BG": "390610018003", "BLACK": 38.0, "BLOCK": "390610018003004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 11748.7157, "F1_RACE": 42.0, "F2_RACES": 0.0, "FEMALE": 20.0, "FEMALE_18": 13.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 8.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 1.0, "ID": 665585.0, "IN_HOUSEHO": 42.0, "MALE": 22.0, "MALE_18": 15.0, "MALE_65": 4.0, "MEDIAN_AGE": 30.5, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 42.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 42.0, "RENTER_SIZ": 2.55, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50224300046324, 39.112759999875045, -84.49944300046359, 39.11755999987462], "geometry": {"coordinates": [[[-84.50184300046328, 39.11285999987504], [-84.50224300046324, 39.11285999987504], [-84.50204200046329, 39.11314099987504], [-84.5017430004633, 39.113559999875015], [-84.50034300046349, 39.115659999874794], [-84.50034300046349, 39.11595999987476], [-84.5001430004635, 39.117559999874615], [-84.49944300046359, 39.11755999987462], [-84.49964300046355, 39.11715999987465], [-84.49974300046355, 39.1169599998747], [-84.50044300046345, 39.114359999874935], [-84.50064300046343, 39.11375999987498], [-84.50064300046343, 39.11355999987502], [-84.50064300046343, 39.113159999875045], [-84.50074300046342, 39.11285999987504], [-84.5008430004634, 39.112759999875045], [-84.50104300046338, 39.11285999987504], [-84.50184300046328, 39.11285999987504]]], "type": "Polygon"}, "id": "395", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610021002", "BLACK": 0.0, "BLOCK": "390610021002032", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 665602.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002100", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.50814300046262, 39.11655999987471, -84.50704300046277, 39.117459999874605], "geometry": {"coordinates": [[[-84.50814300046262, 39.116659999874656], [-84.50804300046265, 39.1174599998746], [-84.50704300046277, 39.117459999874605], [-84.50714300046275, 39.11655999987471], [-84.50814300046262, 39.116659999874656]]], "type": "Polygon"}, "id": "396", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 4.0, "AGE_18": 44.0, "AGE_20_24": 7.0, "AGE_21": 40.0, "AGE_25_34": 10.0, "AGE_35_44": 9.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 6.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.13, "AVG_HHSIZE": 2.35, "BG": "390610018002", "BLACK": 54.0, "BLOCK": "390610018002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 19262.5134, "F1_RACE": 61.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 22.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 2.0, "ID": 665632.0, "IN_HOUSEHO": 61.0, "MALE": 28.0, "MALE_18": 22.0, "MALE_65": 2.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 61.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 61.0, "RENTER_SIZ": 2.33, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50874300046257, 39.11735999987464, -84.50594300046288, 39.118259999874546], "geometry": {"coordinates": [[[-84.50804300046265, 39.1174599998746], [-84.50874300046257, 39.11755999987458], [-84.5086430004626, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50594300046288, 39.118059999874546], [-84.50604300046285, 39.11735999987464], [-84.50704300046277, 39.117459999874605], [-84.50804300046265, 39.1174599998746]]], "type": "Polygon"}, "id": "397", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 3.0, "AGE_15_19": 2.0, "AGE_18": 53.0, "AGE_20_24": 6.0, "AGE_21": 53.0, "AGE_25_34": 15.0, "AGE_35_44": 12.0, "AGE_45_54": 10.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 9.0, "AGE_65": 8.0, "AGE_65_74": 5.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 37.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 33.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.42, "AVG_HHSIZE": 2.0, "BG": "390610018002", "BLACK": 34.0, "BLOCK": "390610018002000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9587.1918, "F1_RACE": 65.0, "F2_RACES": 3.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 34.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 34.0, "HU_VACANT": 5.0, "ID": 665650.0, "IN_HOUSEHO": 68.0, "MALE": 35.0, "MALE_18": 26.0, "MALE_65": 4.0, "MEDIAN_AGE": 33.0, "MSA": "1640", "NH_WHITE": 30.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.9, "POPULATION": 68.0, "RENTER_SIZ": 2.04, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001800", "WHITE": 30.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50854300046262, 39.118059999874546, -84.50574300046291, 39.11985999987439], "geometry": {"coordinates": [[[-84.50854300046262, 39.11965999987441], [-84.50844300046263, 39.11985999987439], [-84.50574300046291, 39.11965999987443], [-84.50594300046288, 39.118059999874546], [-84.50854300046262, 39.118259999874546], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.11965999987441]]], "type": "Polygon"}, "id": "398", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 40.0, "AGE_15_19": 129.0, "AGE_18": 39.0, "AGE_20_24": 7.0, "AGE_21": 31.0, "AGE_25_34": 8.0, "AGE_35_44": 5.0, "AGE_45_54": 5.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 5.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 159.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 53.0, "AREA": 0.02, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.0, "AVG_HHSIZE": 1.23, "BG": "390610022002", "BLACK": 145.0, "BLOCK": "390610022002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12815.5717, "F1_RACE": 188.0, "F2_RACES": 18.0, "FEMALE": 57.0, "FEMALE_18": 19.0, "FEMALE_65": 5.0, "GQ_INSTITU": 169.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 169.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 56.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 26.0, "ID": 665671.0, "IN_HOUSEHO": 37.0, "MALE": 149.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 16.3, "MSA": "1640", "NH_WHITE": 42.0, "NOT_HISPAN": 203.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 206.0, "RENTER_SIZ": 1.23, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002200", "WHITE": 42.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50984300046241, 39.112259999875086, -84.50889600046254, 39.11315999987501], "geometry": {"coordinates": [[[-84.50984300046241, 39.112259999875086], [-84.50964300046245, 39.113159999875], [-84.5092430004625, 39.11315999987501], [-84.50889600046254, 39.113072999874994], [-84.50902300046252, 39.112259999875086], [-84.50934300046248, 39.112259999875086], [-84.50974300046244, 39.112259999875086], [-84.50984300046241, 39.112259999875086]]], "type": "Polygon"}, "id": "399", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 4.0, "AGE_15_19": 1.0, "AGE_18": 63.0, "AGE_20_24": 9.0, "AGE_21": 60.0, "AGE_25_34": 30.0, "AGE_35_44": 16.0, "AGE_45_54": 4.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 2.0, "AP_WHITE": 39.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.51, "BG": "390610018001", "BLACK": 33.0, "BLOCK": "390610018001006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 28721.4807, "F1_RACE": 69.0, "F2_RACES": 5.0, "FEMALE": 33.0, "FEMALE_18": 27.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 13.0, "ID": 654795.0, "IN_HOUSEHO": 74.0, "MALE": 41.0, "MALE_18": 36.0, "MALE_65": 0.0, "MEDIAN_AGE": 30.7, "MSA": "1640", "NH_WHITE": 36.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.5, "POPULATION": 74.0, "RENTER_SIZ": 1.51, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 36.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51244300046214, 39.11235999987505, -84.51144300046225, 39.11365999987494], "geometry": {"coordinates": [[[-84.51234300046217, 39.112759999874996], [-84.51224300046218, 39.11365999987494], [-84.51144300046225, 39.113559999874965], [-84.51154300046225, 39.11235999987505], [-84.5118430004622, 39.11235999987505], [-84.51244300046214, 39.11245999987508], [-84.51234300046217, 39.112759999874996]]], "type": "Polygon"}, "id": "400", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 6.0, "AGE_15_19": 3.0, "AGE_18": 37.0, "AGE_20_24": 8.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 9.0, "AGE_45_54": 5.0, "AGE_55_59": 3.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 35.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 14.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.08, "BG": "390610017002", "BLACK": 35.0, "BLOCK": "390610017002016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13233.9894, "F1_RACE": 49.0, "F2_RACES": 1.0, "FEMALE": 21.0, "FEMALE_18": 13.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 28.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 4.0, "ID": 654816.0, "IN_HOUSEHO": 50.0, "MALE": 29.0, "MALE_18": 24.0, "MALE_65": 0.0, "MEDIAN_AGE": 26.5, "MSA": "1640", "NH_WHITE": 13.0, "NOT_HISPAN": 49.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 24.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 50.0, "RENTER_SIZ": 2.08, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 13.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51234300046217, 39.11435999987488, -84.51194300046222, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51234300046217, 39.11465999987484], [-84.51194300046222, 39.114859999874845], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "401", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610017002", "BLACK": 0.0, "BLOCK": "390610017002001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 654853.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.51154300046225, 39.112259999875086, -84.51064300046235, 39.113559999874965], "geometry": {"coordinates": [[[-84.51154300046225, 39.11235999987505], [-84.51144300046225, 39.113559999874965], [-84.51064300046235, 39.113459999874955], [-84.51064300046235, 39.11315999987501], [-84.51074300046233, 39.112259999875086], [-84.51124300046226, 39.11235999987505], [-84.51154300046225, 39.11235999987505]]], "type": "Polygon"}, "id": "402", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 5.0, "AGE_15_19": 2.0, "AGE_18": 36.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 8.0, "AGE_35_44": 12.0, "AGE_45_54": 7.0, "AGE_55_59": 2.0, "AGE_5_9": 2.0, "AGE_60_64": 0.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 4.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 2.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 36.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.6, "AVG_HHSIZE": 1.69, "BG": "390610017002", "BLACK": 36.0, "BLOCK": "390610017002017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12246.3169, "F1_RACE": 44.0, "F2_RACES": 0.0, "FEMALE": 22.0, "FEMALE_18": 18.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 26.0, "HSNG_UNITS": 42.0, "HU_OCCUPIE": 26.0, "HU_VACANT": 16.0, "ID": 654869.0, "IN_HOUSEHO": 44.0, "MALE": 22.0, "MALE_18": 18.0, "MALE_65": 3.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 44.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.67, "POPULATION": 44.0, "RENTER_SIZ": 1.7, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51224300046218, 39.113459999874955, -84.51054300046238, 39.114859999874845], "geometry": {"coordinates": [[[-84.51214300046219, 39.11435999987488], [-84.51194300046222, 39.114859999874845], [-84.51124300046229, 39.114759999874835], [-84.51054300046238, 39.11465999987484], [-84.51064300046235, 39.11365999987494], [-84.51064300046235, 39.113459999874955], [-84.51144300046225, 39.113559999874965], [-84.51224300046218, 39.11365999987494], [-84.51224300046218, 39.11385999987491], [-84.51214300046219, 39.11435999987488]]], "type": "Polygon"}, "id": "403", "properties": {"AGE_0_5": 25.0, "AGE_10_14": 15.0, "AGE_15_19": 17.0, "AGE_18": 67.0, "AGE_20_24": 20.0, "AGE_21": 61.0, "AGE_25_34": 13.0, "AGE_35_44": 14.0, "AGE_45_54": 4.0, "AGE_55_59": 4.0, "AGE_5_9": 22.0, "AGE_60_64": 1.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 133.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 8.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 5, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 3.02, "BG": "390610017002", "BLACK": 133.0, "BLOCK": "390610017002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 20337.9547, "F1_RACE": 142.0, "F2_RACES": 0.0, "FEMALE": 93.0, "FEMALE_18": 47.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 52.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 5.0, "ID": 654889.0, "IN_HOUSEHO": 142.0, "MALE": 49.0, "MALE_18": 20.0, "MALE_65": 1.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 8.0, "NOT_HISPAN": 141.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 47.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 0.0, "POPULATION": 142.0, "RENTER_SIZ": 3.02, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061001700", "WHITE": 8.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51074300046233, 39.112259999875086, -84.50964300046245, 39.11315999987501], "geometry": {"coordinates": [[[-84.51074300046233, 39.112259999875086], [-84.51064300046235, 39.11315999987501], [-84.50964300046245, 39.113159999875], [-84.50984300046241, 39.112259999875086], [-84.51074300046233, 39.112259999875086]]], "type": "Polygon"}, "id": "404", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 3.0, "AGE_18": 38.0, "AGE_20_24": 9.0, "AGE_21": 37.0, "AGE_25_34": 13.0, "AGE_35_44": 8.0, "AGE_45_54": 3.0, "AGE_55_59": 4.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 22.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.7, "AVG_HHSIZE": 1.84, "BG": "390610018001", "BLACK": 23.0, "BLOCK": "390610018001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14524.9091, "F1_RACE": 45.0, "F2_RACES": 1.0, "FEMALE": 22.0, "FEMALE_18": 19.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 31.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 6.0, "ID": 654930.0, "IN_HOUSEHO": 46.0, "MALE": 24.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 21.0, "NOT_HISPAN": 45.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.5, "POPULATION": 46.0, "RENTER_SIZ": 1.95, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 21.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51724400046167, 39.11885999987444, -84.51494400046192, 39.120659999874285], "geometry": {"coordinates": [[[-84.51724400046167, 39.11925999987439], [-84.5160440004618, 39.12025999987432], [-84.51574400046184, 39.120659999874285], [-84.5153440004619, 39.12035999987432], [-84.51494400046192, 39.12005999987433], [-84.51544400046188, 39.11965999987435], [-84.51664400046174, 39.11885999987444], [-84.51724400046167, 39.11925999987439]]], "type": "Polygon"}, "id": "405", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 13.0, "AGE_15_19": 4.0, "AGE_18": 78.0, "AGE_20_24": 8.0, "AGE_21": 76.0, "AGE_25_34": 27.0, "AGE_35_44": 21.0, "AGE_45_54": 8.0, "AGE_55_59": 8.0, "AGE_5_9": 11.0, "AGE_60_64": 1.0, "AGE_62": 6.0, "AGE_65": 5.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 75.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.85, "AVG_HHSIZE": 2.73, "BG": "390610023001", "BLACK": 75.0, "BLOCK": "390610023001017", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 17728.9634, "F1_RACE": 109.0, "F2_RACES": 0.0, "FEMALE": 35.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 49.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 49.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 22.0, "HSNG_UNITS": 26.0, "HU_OCCUPIE": 22.0, "HU_VACANT": 4.0, "ID": 654989.0, "IN_HOUSEHO": 60.0, "MALE": 74.0, "MALE_18": 60.0, "MALE_65": 3.0, "MEDIAN_AGE": 30.8, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 108.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 21.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 109.0, "RENTER_SIZ": 2.81, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51664400046174, 39.11835999987448, -84.51434300046199, 39.12005999987433], "geometry": {"coordinates": [[[-84.51644400046175, 39.118559999874456], [-84.51664400046174, 39.11885999987444], [-84.51544400046188, 39.11965999987435], [-84.51494400046192, 39.12005999987433], [-84.51464300046196, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51484300046194, 39.11925999987439], [-84.51604400046179, 39.11835999987448], [-84.51644400046175, 39.118559999874456]]], "type": "Polygon"}, "id": "406", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 10.0, "AGE_15_19": 7.0, "AGE_18": 54.0, "AGE_20_24": 6.0, "AGE_21": 51.0, "AGE_25_34": 19.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 16.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 4.0, "AGE_65_74": 1.0, "AGE_75_84": 3.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 87.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.95, "AVG_HHSIZE": 2.69, "BG": "390610023001", "BLACK": 87.0, "BLOCK": "390610023001016", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 16468.1683, "F1_RACE": 94.0, "F2_RACES": 0.0, "FEMALE": 49.0, "FEMALE_18": 28.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 655008.0, "IN_HOUSEHO": 94.0, "MALE": 45.0, "MALE_18": 26.0, "MALE_65": 2.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 7.0, "NOT_HISPAN": 94.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.44, "POPULATION": 94.0, "RENTER_SIZ": 2.94, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 7.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51404300046202, 39.118859999874445, -84.51264300046216, 39.12005999987433], "geometry": {"coordinates": [[[-84.51404300046202, 39.119859999874365], [-84.51374300046204, 39.12005999987433], [-84.51264300046216, 39.11905999987444], [-84.51294300046213, 39.118859999874445], [-84.51404300046202, 39.119859999874365]]], "type": "Polygon"}, "id": "407", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 8.0, "AGE_18": 18.0, "AGE_20_24": 3.0, "AGE_21": 13.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 24.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 21.0, "BLOCK": "390610023001015", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12980.7644, "F1_RACE": 21.0, "F2_RACES": 4.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 7.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 0.0, "ID": 655027.0, "IN_HOUSEHO": 25.0, "MALE": 10.0, "MALE_18": 8.0, "MALE_65": 0.0, "MEDIAN_AGE": 22.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 25.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 6.0, "POPULATION": 25.0, "RENTER_SIZ": 2.11, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51374300046204, 39.11905999987444, -84.51224300046222, 39.12025999987432], "geometry": {"coordinates": [[[-84.51264300046216, 39.11905999987444], [-84.51374300046204, 39.12005999987433], [-84.51344300046208, 39.12025999987432], [-84.51224300046222, 39.11925999987442], [-84.51264300046216, 39.11905999987444]]], "type": "Polygon"}, "id": "408", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 2.0, "AGE_18": 15.0, "AGE_20_24": 0.0, "AGE_21": 15.0, "AGE_25_34": 1.0, "AGE_35_44": 5.0, "AGE_45_54": 6.0, "AGE_55_59": 1.0, "AGE_5_9": 4.0, "AGE_60_64": 2.0, "AGE_62": 2.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 20.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.3, "BG": "390610023001", "BLACK": 20.0, "BLOCK": "390610023001014", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10706.9148, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 12.0, "FEMALE_18": 9.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655045.0, "IN_HOUSEHO": 23.0, "MALE": 11.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 23.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51574400046184, 39.12035999987432, -84.51384400046206, 39.12305999987405], "geometry": {"coordinates": [[[-84.5153440004619, 39.12035999987432], [-84.51574400046184, 39.120659999874285], [-84.51484400046195, 39.12165999987419], [-84.51444400046199, 39.12305999987405], [-84.51384400046206, 39.123059999874044], [-84.51454400046198, 39.121159999874216], [-84.5153440004619, 39.12035999987432]]], "type": "Polygon"}, "id": "409", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 2.0, "AGE_15_19": 1.0, "AGE_18": 27.0, "AGE_20_24": 0.0, "AGE_21": 27.0, "AGE_25_34": 3.0, "AGE_35_44": 10.0, "AGE_45_54": 8.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 3.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 17.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 1.0, "AP_WHITE": 16.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.5, "AVG_HHSIZE": 1.7, "BG": "390610023001", "BLACK": 17.0, "BLOCK": "390610023001002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5980.6488, "F1_RACE": 34.0, "F2_RACES": 0.0, "FEMALE": 14.0, "FEMALE_18": 11.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 16.0, "HOUSEHOLDS": 20.0, "HSNG_UNITS": 29.0, "HU_OCCUPIE": 20.0, "HU_VACANT": 9.0, "ID": 655093.0, "IN_HOUSEHO": 34.0, "MALE": 20.0, "MALE_18": 16.0, "MALE_65": 0.0, "MEDIAN_AGE": 41.0, "MSA": "1640", "NH_WHITE": 16.0, "NOT_HISPAN": 33.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.0, "POPULATION": 34.0, "RENTER_SIZ": 1.74, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 16.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5153440004619, 39.12005999987433, -84.5135430004621, 39.123059999874044], "geometry": {"coordinates": [[[-84.51494400046192, 39.12005999987433], [-84.5153440004619, 39.12035999987432], [-84.51454400046198, 39.121159999874216], [-84.51384400046206, 39.123059999874044], [-84.5135430004621, 39.12295999987407], [-84.51414300046201, 39.121059999874234], [-84.51494400046192, 39.12005999987433]]], "type": "Polygon"}, "id": "410", "properties": {"AGE_0_5": 8.0, "AGE_10_14": 8.0, "AGE_15_19": 10.0, "AGE_18": 43.0, "AGE_20_24": 6.0, "AGE_21": 39.0, "AGE_25_34": 9.0, "AGE_35_44": 12.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 5.0, "AGE_65": 3.0, "AGE_65_74": 3.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 72.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.93, "AVG_HHSIZE": 2.96, "BG": "390610023001", "BLACK": 72.0, "BLOCK": "390610023001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15953.1883, "F1_RACE": 74.0, "F2_RACES": 0.0, "FEMALE": 40.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 10.0, "HOUSEHOLDS": 25.0, "HSNG_UNITS": 27.0, "HU_OCCUPIE": 25.0, "HU_VACANT": 2.0, "ID": 655111.0, "IN_HOUSEHO": 74.0, "MALE": 34.0, "MALE_18": 17.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 74.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.29, "POPULATION": 74.0, "RENTER_SIZ": 3.22, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51494400046192, 39.11955999987439, -84.51294300046216, 39.12295999987407], "geometry": {"coordinates": [[[-84.51364300046208, 39.12075999987429], [-84.51344300046208, 39.12025999987432], [-84.51374300046204, 39.12005999987433], [-84.51404300046202, 39.119859999874365], [-84.51434300046199, 39.11955999987439], [-84.51464300046196, 39.119859999874365], [-84.51494400046192, 39.12005999987433], [-84.51414300046201, 39.121059999874234], [-84.5135430004621, 39.12295999987407], [-84.51304300046216, 39.12295999987407], [-84.51314300046214, 39.12225999987413], [-84.51294300046216, 39.121859999874175], [-84.51314300046214, 39.12125999987424], [-84.51364300046208, 39.12075999987429]]], "type": "Polygon"}, "id": "411", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 47.0, "AGE_20_24": 3.0, "AGE_21": 43.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 8.0, "AGE_55_59": 1.0, "AGE_5_9": 15.0, "AGE_60_64": 3.0, "AGE_62": 9.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 4.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 2.83, "BG": "390610023001", "BLACK": 78.0, "BLOCK": "390610023001004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8435.8163, "F1_RACE": 81.0, "F2_RACES": 4.0, "FEMALE": 46.0, "FEMALE_18": 26.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 18.0, "HH_NONFAMI": 12.0, "HOUSEHOLDS": 30.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 30.0, "HU_VACANT": 18.0, "ID": 655128.0, "IN_HOUSEHO": 85.0, "MALE": 39.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 21.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 85.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 17.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.62, "POPULATION": 85.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51604400046179, 39.11465999987484, -84.50874300046257, 39.119859999874365], "geometry": {"coordinates": [[[-84.51194300046222, 39.114859999874845], [-84.51274300046212, 39.11555999987476], [-84.51354300046206, 39.11605999987469], [-84.51434300046198, 39.11685999987463], [-84.51604400046179, 39.11835999987448], [-84.51484300046194, 39.11925999987439], [-84.51434300046199, 39.11955999987439], [-84.51404300046202, 39.119859999874365], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11855999987446], [-84.51204300046221, 39.11905999987444], [-84.51199500046225, 39.119094999874434], [-84.51164300046227, 39.118859999874445], [-84.51152500046227, 39.11883199987446], [-84.5115430004623, 39.11875999987447], [-84.5114430004623, 39.11845999987449], [-84.51164300046227, 39.11775999987456], [-84.51114300046231, 39.11775999987456], [-84.51024300046244, 39.11765999987456], [-84.50874300046257, 39.11755999987458], [-84.50914300046253, 39.11735999987462], [-84.50964300046249, 39.11725999987464], [-84.51014300046242, 39.117259999874626], [-84.5103430004624, 39.116059999874714], [-84.5103430004624, 39.11575999987474], [-84.51044300046239, 39.11525899987483], [-84.51054300046238, 39.11465999987484], [-84.51124300046229, 39.114759999874835], [-84.51194300046222, 39.114859999874845]]], "type": "Polygon"}, "id": "412", "properties": {"AGE_0_5": 20.0, "AGE_10_14": 12.0, "AGE_15_19": 24.0, "AGE_18": 208.0, "AGE_20_24": 35.0, "AGE_21": 191.0, "AGE_25_34": 65.0, "AGE_35_44": 28.0, "AGE_45_54": 41.0, "AGE_55_59": 12.0, "AGE_5_9": 26.0, "AGE_60_64": 3.0, "AGE_62": 16.0, "AGE_65": 13.0, "AGE_65_74": 2.0, "AGE_75_84": 9.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 2.0, "AP_BLACK": 169.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 108.0, "AREA": 0.06, "ASIAN": 2.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 1.96, "BG": "390610023001", "BLACK": 167.0, "BLOCK": "390610023001011", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 4676.5279, "F1_RACE": 273.0, "F2_RACES": 6.0, "FEMALE": 158.0, "FEMALE_18": 117.0, "FEMALE_65": 6.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 28.0, "GROUP_QUAR": 28.0, "HAWAIIAN": 0.0, "HH_FAMILY": 48.0, "HH_NONFAMI": 80.0, "HOUSEHOLDS": 128.0, "HSNG_UNITS": 165.0, "HU_OCCUPIE": 128.0, "HU_VACANT": 37.0, "ID": 655154.0, "IN_HOUSEHO": 251.0, "MALE": 121.0, "MALE_18": 91.0, "MALE_65": 7.0, "MEDIAN_AGE": 28.9, "MSA": "1640", "NH_WHITE": 103.0, "NOT_HISPAN": 279.0, "OCCHU_OWNE": 43.0, "OCCHU_RENT": 85.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.98, "POPULATION": 279.0, "RENTER_SIZ": 1.95, "THEFT": 6, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 103.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5115430004623, 39.11835999987451, -84.51004300046245, 39.11915999987442], "geometry": {"coordinates": [[[-84.5114430004623, 39.11915999987442], [-84.51004300046245, 39.11905999987446], [-84.51024300046244, 39.11835999987451], [-84.5114430004623, 39.11845999987449], [-84.5115430004623, 39.11875999987447], [-84.51152500046227, 39.11883199987446], [-84.5114430004623, 39.11915999987442]]], "type": "Polygon"}, "id": "413", "properties": {"AGE_0_5": 26.0, "AGE_10_14": 23.0, "AGE_15_19": 22.0, "AGE_18": 107.0, "AGE_20_24": 21.0, "AGE_21": 92.0, "AGE_25_34": 19.0, "AGE_35_44": 25.0, "AGE_45_54": 12.0, "AGE_55_59": 5.0, "AGE_5_9": 25.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 12.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 2.0, "AMINDIAN": 2.0, "AP_AMINDIA": 7.0, "AP_ASIAN": 1.0, "AP_BLACK": 188.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.47, "AVG_HHSIZE": 2.77, "BG": "390610023001", "BLACK": 180.0, "BLOCK": "390610023001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 54847.5451, "F1_RACE": 186.0, "F2_RACES": 8.0, "FEMALE": 108.0, "FEMALE_18": 65.0, "FEMALE_65": 8.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 45.0, "HH_NONFAMI": 25.0, "HOUSEHOLDS": 70.0, "HSNG_UNITS": 87.0, "HU_OCCUPIE": 70.0, "HU_VACANT": 17.0, "ID": 655191.0, "IN_HOUSEHO": 194.0, "MALE": 86.0, "MALE_18": 42.0, "MALE_65": 4.0, "MEDIAN_AGE": 20.2, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 192.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 65.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.2, "POPULATION": 194.0, "RENTER_SIZ": 2.82, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 4.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51294300046213, 39.11855999987446, -84.51199500046225, 39.11925999987442], "geometry": {"coordinates": [[[-84.51264300046216, 39.11855999987446], [-84.51294300046213, 39.118859999874445], [-84.51264300046216, 39.11905999987444], [-84.51224300046222, 39.11925999987442], [-84.51199500046225, 39.119094999874434], [-84.51204300046221, 39.11905999987444], [-84.51264300046216, 39.11855999987446]]], "type": "Polygon"}, "id": "414", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 4.0, "AGE_15_19": 2.0, "AGE_18": 12.0, "AGE_20_24": 1.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 18.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.2, "AVG_HHSIZE": 2.5, "BG": "390610023001", "BLACK": 18.0, "BLOCK": "390610023001013", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18411.019, "F1_RACE": 20.0, "F2_RACES": 0.0, "FEMALE": 7.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 3.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 2.0, "ID": 655210.0, "IN_HOUSEHO": 20.0, "MALE": 13.0, "MALE_18": 7.0, "MALE_65": 1.0, "MEDIAN_AGE": 32.0, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 20.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 20.0, "RENTER_SIZ": 2.33, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51164300046227, 39.11755999987458, -84.5086430004626, 39.11845999987449], "geometry": {"coordinates": [[[-84.51164300046227, 39.11775999987456], [-84.5114430004623, 39.11845999987449], [-84.51024300046244, 39.11835999987451], [-84.51014300046243, 39.11815999987453], [-84.5086430004626, 39.118059999874546], [-84.50874300046257, 39.11755999987458], [-84.51024300046244, 39.11765999987456], [-84.51114300046231, 39.11775999987456], [-84.51164300046227, 39.11775999987456]]], "type": "Polygon"}, "id": "415", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 9.0, "AGE_15_19": 11.0, "AGE_18": 67.0, "AGE_20_24": 5.0, "AGE_21": 62.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 15.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 6.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 107.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 9.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.29, "AVG_HHSIZE": 2.76, "BG": "390610023001", "BLACK": 104.0, "BLOCK": "390610023001012", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18052.868, "F1_RACE": 110.0, "F2_RACES": 3.0, "FEMALE": 63.0, "FEMALE_18": 46.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 41.0, "HSNG_UNITS": 64.0, "HU_OCCUPIE": 41.0, "HU_VACANT": 23.0, "ID": 655230.0, "IN_HOUSEHO": 113.0, "MALE": 50.0, "MALE_18": 21.0, "MALE_65": 3.0, "MEDIAN_AGE": 25.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 112.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 4.33, "POPULATION": 113.0, "RENTER_SIZ": 2.49, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 6.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51024300046244, 39.118059999874546, -84.50854300046262, 39.11905999987446], "geometry": {"coordinates": [[[-84.51014300046243, 39.11815999987453], [-84.51024300046244, 39.11835999987451], [-84.51004300046245, 39.11905999987446], [-84.50854300046262, 39.11895999987447], [-84.50854300046262, 39.118259999874546], [-84.5086430004626, 39.118059999874546], [-84.51014300046243, 39.11815999987453]]], "type": "Polygon"}, "id": "416", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 2.0, "AGE_15_19": 0.0, "AGE_18": 11.0, "AGE_20_24": 0.0, "AGE_21": 11.0, "AGE_25_34": 0.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 11.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.33, "AVG_HHSIZE": 1.63, "BG": "390610023001", "BLACK": 11.0, "BLOCK": "390610023001009", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2420.6561, "F1_RACE": 13.0, "F2_RACES": 0.0, "FEMALE": 10.0, "FEMALE_18": 9.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 655250.0, "IN_HOUSEHO": 13.0, "MALE": 3.0, "MALE_18": 2.0, "MALE_65": 0.0, "MEDIAN_AGE": 48.5, "MSA": "1640", "NH_WHITE": 2.0, "NOT_HISPAN": 13.0, "OCCHU_OWNE": 2.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 13.0, "RENTER_SIZ": 1.83, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 2.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5114430004623, 39.11905999987446, -84.51004300046245, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.5114430004623, 39.11915999987442], [-84.51134300046232, 39.11975999987437], [-84.51004300046246, 39.11975999987439], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "417", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 17.0, "AGE_20_24": 1.0, "AGE_21": 16.0, "AGE_25_34": 6.0, "AGE_35_44": 1.0, "AGE_45_54": 5.0, "AGE_55_59": 0.0, "AGE_5_9": 3.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 4.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.89, "AVG_HHSIZE": 2.9, "BG": "390610023001", "BLACK": 25.0, "BLOCK": "390610023001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8897.7256, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 11.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 1.0, "HOUSEHOLDS": 10.0, "HSNG_UNITS": 12.0, "HU_OCCUPIE": 10.0, "HU_VACANT": 2.0, "ID": 655269.0, "IN_HOUSEHO": 29.0, "MALE": 13.0, "MALE_18": 6.0, "MALE_65": 0.0, "MEDIAN_AGE": 27.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 28.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 9.0, "OTHER_RACE": 4.0, "OWNER_SIZE": 2.0, "POPULATION": 29.0, "RENTER_SIZ": 3.0, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51004300046246, 39.11895999987447, -84.50854300046262, 39.11975999987439], "geometry": {"coordinates": [[[-84.51004300046245, 39.11905999987446], [-84.51004300046246, 39.11975999987439], [-84.50854300046262, 39.11965999987441], [-84.50854300046262, 39.11895999987447], [-84.51004300046245, 39.11905999987446]]], "type": "Polygon"}, "id": "418", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 4.0, "AGE_15_19": 6.0, "AGE_18": 50.0, "AGE_20_24": 2.0, "AGE_21": 47.0, "AGE_25_34": 5.0, "AGE_35_44": 9.0, "AGE_45_54": 11.0, "AGE_55_59": 6.0, "AGE_5_9": 2.0, "AGE_60_64": 4.0, "AGE_62": 14.0, "AGE_65": 11.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 57.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.07, "BG": "390610023001", "BLACK": 57.0, "BLOCK": "390610023001008", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15428.5444, "F1_RACE": 60.0, "F2_RACES": 0.0, "FEMALE": 33.0, "FEMALE_18": 29.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 15.0, "HOUSEHOLDS": 29.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 29.0, "HU_VACANT": 14.0, "ID": 655287.0, "IN_HOUSEHO": 60.0, "MALE": 27.0, "MALE_18": 21.0, "MALE_65": 6.0, "MEDIAN_AGE": 47.5, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 60.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 28.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 7.0, "POPULATION": 60.0, "RENTER_SIZ": 1.89, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061002300", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.51364300046208, 39.11883199987446, -84.50834300046266, 39.1227599998741], "geometry": {"coordinates": [[[-84.51344300046208, 39.12025999987432], [-84.51364300046208, 39.12075999987429], [-84.51314300046214, 39.12125999987424], [-84.51294300046216, 39.121859999874175], [-84.51114300046235, 39.122159999874164], [-84.51074300046238, 39.12235999987413], [-84.50964300046252, 39.12235999987413], [-84.50954300046251, 39.1227599998741], [-84.50924300046256, 39.1227599998741], [-84.50918500046257, 39.1227599998741], [-84.50904300046258, 39.1227599998741], [-84.50834300046267, 39.12265999987413], [-84.50834300046266, 39.12195999987419], [-84.50834300046266, 39.121459999874226], [-84.50844300046265, 39.120459999874335], [-84.50844300046263, 39.11985999987439], [-84.50854300046262, 39.11965999987441], [-84.51004300046246, 39.11975999987439], [-84.51134300046232, 39.11975999987437], [-84.5114430004623, 39.11915999987442], [-84.51152500046227, 39.11883199987446], [-84.51164300046227, 39.118859999874445], [-84.51199500046225, 39.119094999874434], [-84.51224300046222, 39.11925999987442], [-84.51344300046208, 39.12025999987432]]], "type": "Polygon"}, "id": "419", "properties": {"AGE_0_5": 21.0, "AGE_10_14": 18.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 10.0, "AGE_21": 89.0, "AGE_25_34": 13.0, "AGE_35_44": 17.0, "AGE_45_54": 17.0, "AGE_55_59": 5.0, "AGE_5_9": 11.0, "AGE_60_64": 4.0, "AGE_62": 26.0, "AGE_65": 24.0, "AGE_65_74": 10.0, "AGE_75_84": 14.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 118.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 32.0, "AREA": 0.05, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.4, "AVG_HHSIZE": 2.81, "BG": "390610023001", "BLACK": 117.0, "BLOCK": "390610023001005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 3076.3077, "F1_RACE": 149.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 58.0, "FEMALE_65": 11.0, "GQ_INSTITU": 29.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 29.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 43.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 43.0, "HU_VACANT": 6.0, "ID": 655304.0, "IN_HOUSEHO": 121.0, "MALE": 59.0, "MALE_18": 37.0, "MALE_65": 13.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 32.0, "NOT_HISPAN": 147.0, "OCCHU_OWNE": 14.0, "OCCHU_RENT": 29.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 150.0, "RENTER_SIZ": 2.76, "THEFT": 15, "THEFT_D": 1.0, "TRACT": "39061002300", "WHITE": 32.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.50902300046252, 39.112159999875075, -84.50754300046268, 39.113072999874994], "geometry": {"coordinates": [[[-84.50894300046254, 39.112259999875086], [-84.50902300046252, 39.112259999875086], [-84.50889600046254, 39.113072999874994], [-84.50884300046253, 39.11305999987503], [-84.50872100046254, 39.113050999875014], [-84.50754300046268, 39.112959999875024], [-84.50754300046268, 39.11255999987504], [-84.50764300046268, 39.112159999875075], [-84.50894300046254, 39.112259999875086]]], "type": "Polygon"}, "id": "420", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 1.0, "AGE_15_19": 0.0, "AGE_18": 60.0, "AGE_20_24": 5.0, "AGE_21": 60.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 7.0, "AGE_5_9": 1.0, "AGE_60_64": 5.0, "AGE_62": 12.0, "AGE_65": 9.0, "AGE_65_74": 8.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 16.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 48.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.2, "AVG_HHSIZE": 1.4, "BG": "390610018001", "BLACK": 14.0, "BLOCK": "390610018001007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15123.6404, "F1_RACE": 60.0, "F2_RACES": 3.0, "FEMALE": 26.0, "FEMALE_18": 24.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 10.0, "HH_NONFAMI": 35.0, "HOUSEHOLDS": 45.0, "HSNG_UNITS": 48.0, "HU_OCCUPIE": 45.0, "HU_VACANT": 3.0, "ID": 663324.0, "IN_HOUSEHO": 63.0, "MALE": 37.0, "MALE_18": 36.0, "MALE_65": 6.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 46.0, "NOT_HISPAN": 63.0, "OCCHU_OWNE": 26.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.38, "POPULATION": 63.0, "RENTER_SIZ": 1.42, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 46.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50764300046268, 39.11205999987513, -84.50674300046276, 39.112559999875074], "geometry": {"coordinates": [[[-84.50764300046268, 39.112159999875075], [-84.50754300046268, 39.11255999987504], [-84.50674300046276, 39.112559999875074], [-84.50684300046272, 39.11205999987513], [-84.50764300046268, 39.112159999875075]]], "type": "Polygon"}, "id": "421", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 32.0, "AGE_20_24": 8.0, "AGE_21": 31.0, "AGE_25_34": 15.0, "AGE_35_44": 3.0, "AGE_45_54": 2.0, "AGE_55_59": 1.0, "AGE_5_9": 0.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 6.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 2.25, "AVG_HHSIZE": 1.6, "BG": "390610018001", "BLACK": 6.0, "BLOCK": "390610018001010", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 24408.4609, "F1_RACE": 33.0, "F2_RACES": 0.0, "FEMALE": 16.0, "FEMALE_18": 16.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 9.0, "GROUP_QUAR": 9.0, "HAWAIIAN": 0.0, "HH_FAMILY": 4.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 15.0, "HSNG_UNITS": 19.0, "HU_OCCUPIE": 15.0, "HU_VACANT": 4.0, "ID": 663344.0, "IN_HOUSEHO": 24.0, "MALE": 17.0, "MALE_18": 16.0, "MALE_65": 1.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 25.0, "NOT_HISPAN": 32.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 10.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.0, "POPULATION": 33.0, "RENTER_SIZ": 1.4, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061001800", "WHITE": 26.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.51574400046195, 39.13555999987291, -84.51334400046224, 39.14215999987227], "geometry": {"coordinates": [[[-84.51544400046203, 39.14215999987227], [-84.51514400046204, 39.14195999987231], [-84.51334400046224, 39.14045999987247], [-84.51347700046222, 39.13879699987262], [-84.5135440004622, 39.13795999987269], [-84.51364400046218, 39.13675999987281], [-84.51384400046216, 39.13555999987291], [-84.51474400046204, 39.13565999987291], [-84.515144000462, 39.13585999987289], [-84.51494400046204, 39.1365599998728], [-84.51514400046202, 39.1377599998727], [-84.51574400046195, 39.138259999872645], [-84.51534400046202, 39.13945999987253], [-84.51544400046203, 39.14195999987231], [-84.51544400046203, 39.14215999987227]]], "type": "Polygon"}, "id": "422", "properties": {"AGE_0_5": 15.0, "AGE_10_14": 5.0, "AGE_15_19": 26.0, "AGE_18": 272.0, "AGE_20_24": 94.0, "AGE_21": 235.0, "AGE_25_34": 103.0, "AGE_35_44": 32.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 1.0, "AGE_62": 3.0, "AGE_65": 2.0, "AGE_65_74": 2.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 39.0, "AP_BLACK": 27.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 7.0, "AP_WHITE": 238.0, "AREA": 0.04, "ASIAN": 31.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.84, "AVG_HHSIZE": 1.64, "BG": "390610030001", "BLACK": 23.0, "BLOCK": "390610030001002", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8040.7282, "F1_RACE": 292.0, "F2_RACES": 9.0, "FEMALE": 133.0, "FEMALE_18": 115.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 26.0, "GROUP_QUAR": 26.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 136.0, "HOUSEHOLDS": 168.0, "HSNG_UNITS": 197.0, "HU_OCCUPIE": 168.0, "HU_VACANT": 29.0, "ID": 685133.0, "IN_HOUSEHO": 275.0, "MALE": 168.0, "MALE_18": 157.0, "MALE_65": 0.0, "MEDIAN_AGE": 25.3, "MSA": "1640", "NH_WHITE": 228.0, "NOT_HISPAN": 288.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 156.0, "OTHER_RACE": 5.0, "OWNER_SIZE": 3.42, "POPULATION": 301.0, "RENTER_SIZ": 1.5, "THEFT": 7, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 232.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.51084400046246, 39.132659999873205, -84.50894300046268, 39.135359999872946], "geometry": {"coordinates": [[[-84.50984300046255, 39.132659999873205], [-84.51004300046255, 39.132659999873205], [-84.51084400046246, 39.132759999873166], [-84.51074400046248, 39.13405999987305], [-84.5106440004625, 39.13485999987298], [-84.51054400046252, 39.135359999872946], [-84.50934300046264, 39.13525999987296], [-84.50894300046268, 39.13515999987295], [-84.50904300046265, 39.133859999873096], [-84.50914300046264, 39.132659999873205], [-84.50984300046255, 39.132659999873205]]], "type": "Polygon"}, "id": "423", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 9.0, "AGE_15_19": 6.0, "AGE_18": 84.0, "AGE_20_24": 40.0, "AGE_21": 73.0, "AGE_25_34": 20.0, "AGE_35_44": 13.0, "AGE_45_54": 6.0, "AGE_55_59": 0.0, "AGE_5_9": 5.0, "AGE_60_64": 0.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 0.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 15.0, "AP_BLACK": 25.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 2.0, "AP_OTHER": 8.0, "AP_WHITE": 60.0, "AREA": 0.02, "ASIAN": 14.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.15, "AVG_HHSIZE": 2.1, "BG": "390610030002", "BLACK": 20.0, "BLOCK": "390610030002000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6418.8255, "F1_RACE": 97.0, "F2_RACES": 8.0, "FEMALE": 44.0, "FEMALE_18": 30.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 13.0, "HH_NONFAMI": 37.0, "HOUSEHOLDS": 50.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 50.0, "HU_VACANT": 9.0, "ID": 685197.0, "IN_HOUSEHO": 105.0, "MALE": 61.0, "MALE_18": 54.0, "MALE_65": 1.0, "MEDIAN_AGE": 23.3, "MSA": "1640", "NH_WHITE": 57.0, "NOT_HISPAN": 103.0, "OCCHU_OWNE": 7.0, "OCCHU_RENT": 43.0, "OTHER_RACE": 6.0, "OWNER_SIZE": 1.14, "POPULATION": 105.0, "RENTER_SIZ": 2.26, "THEFT": 12, "THEFT_D": 1.0, "TRACT": "39061003000", "WHITE": 57.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50914300046264, 39.13255999987321, -84.50834300046274, 39.13385999987311], "geometry": {"coordinates": [[[-84.50914300046264, 39.132659999873205], [-84.50904300046265, 39.133859999873096], [-84.50834300046274, 39.13385999987311], [-84.50844300046272, 39.13255999987321], [-84.50914300046264, 39.132659999873205]]], "type": "Polygon"}, "id": "424", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 3.0, "AGE_18": 41.0, "AGE_20_24": 22.0, "AGE_21": 34.0, "AGE_25_34": 7.0, "AGE_35_44": 3.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 3.0, "AP_BLACK": 12.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 26.0, "AREA": 0.0, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.67, "AVG_HHSIZE": 1.95, "BG": "390610032002", "BLACK": 11.0, "BLOCK": "390610032002007", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 12581.9809, "F1_RACE": 40.0, "F2_RACES": 1.0, "FEMALE": 18.0, "FEMALE_18": 18.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 3.0, "HH_NONFAMI": 18.0, "HOUSEHOLDS": 21.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 21.0, "HU_VACANT": 4.0, "ID": 685220.0, "IN_HOUSEHO": 41.0, "MALE": 23.0, "MALE_18": 23.0, "MALE_65": 1.0, "MEDIAN_AGE": 22.9, "MSA": "1640", "NH_WHITE": 23.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 3.0, "OCCHU_RENT": 18.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 1.67, "POPULATION": 41.0, "RENTER_SIZ": 2.0, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003200", "WHITE": 25.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49684300046403, 39.13995999987257, -84.49244300046452, 39.14235999987234], "geometry": {"coordinates": [[[-84.49664300046405, 39.14235999987234], [-84.49464300046427, 39.14225999987239], [-84.49464300046427, 39.14195999987242], [-84.49244300046452, 39.141659999872424], [-84.49294300046445, 39.140959999872514], [-84.49354300046437, 39.13995999987257], [-84.49674300046402, 39.14015999987255], [-84.49674300046404, 39.140759999872486], [-84.49684300046403, 39.141159999872464], [-84.49664300046405, 39.14235999987234]]], "type": "Polygon"}, "id": "425", "properties": {"AGE_0_5": 44.0, "AGE_10_14": 42.0, "AGE_15_19": 34.0, "AGE_18": 291.0, "AGE_20_24": 17.0, "AGE_21": 276.0, "AGE_25_34": 58.0, "AGE_35_44": 48.0, "AGE_45_54": 35.0, "AGE_55_59": 19.0, "AGE_5_9": 59.0, "AGE_60_64": 14.0, "AGE_62": 97.0, "AGE_65": 88.0, "AGE_65_74": 51.0, "AGE_75_84": 27.0, "AGE_85": 10.0, "AMINDIAN": 2.0, "AP_AMINDIA": 10.0, "AP_ASIAN": 1.0, "AP_BLACK": 440.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 0.0, "AP_OTHER": 9.0, "AP_WHITE": 18.0, "AREA": 0.03, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.12, "BG": "390610067004", "BLACK": 423.0, "BLOCK": "390610067004005", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15992.0043, "F1_RACE": 440.0, "F2_RACES": 18.0, "FEMALE": 251.0, "FEMALE_18": 169.0, "FEMALE_65": 53.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 2.0, "HH_FAMILY": 83.0, "HH_NONFAMI": 133.0, "HOUSEHOLDS": 216.0, "HSNG_UNITS": 265.0, "HU_OCCUPIE": 216.0, "HU_VACANT": 49.0, "ID": 703088.0, "IN_HOUSEHO": 458.0, "MALE": 207.0, "MALE_18": 122.0, "MALE_65": 35.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 12.0, "NOT_HISPAN": 458.0, "OCCHU_OWNE": 27.0, "OCCHU_RENT": 189.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.93, "POPULATION": 458.0, "RENTER_SIZ": 2.01, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 12.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.4960430004641, 39.1366599998729, -84.4903430004647, 39.13945999987263], "geometry": {"coordinates": [[[-84.4960430004641, 39.137059999872825], [-84.4960430004641, 39.137259999872825], [-84.49544300046415, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.49454300046426, 39.13795999987277], [-84.49114300046465, 39.139459999872614], [-84.49044300046471, 39.13945999987263], [-84.4903430004647, 39.13845999987273], [-84.49124300046462, 39.13785999987278], [-84.49154300046457, 39.1366599998729], [-84.49234300046447, 39.13675999987287], [-84.49374300046433, 39.136759999872865], [-84.49514300046418, 39.13685999987286], [-84.4960430004641, 39.137059999872825]]], "type": "Polygon"}, "id": "426", "properties": {"AGE_0_5": 23.0, "AGE_10_14": 10.0, "AGE_15_19": 8.0, "AGE_18": 135.0, "AGE_20_24": 18.0, "AGE_21": 127.0, "AGE_25_34": 30.0, "AGE_35_44": 43.0, "AGE_45_54": 28.0, "AGE_55_59": 2.0, "AGE_5_9": 16.0, "AGE_60_64": 6.0, "AGE_62": 6.0, "AGE_65": 3.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 182.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 8, "AVG_FAMSIZ": 2.92, "AVG_HHSIZE": 2.05, "BG": "390610034001", "BLACK": 180.0, "BLOCK": "390610034001000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 5709.7727, "F1_RACE": 184.0, "F2_RACES": 3.0, "FEMALE": 99.0, "FEMALE_18": 68.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 19.0, "GROUP_QUAR": 19.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 46.0, "HOUSEHOLDS": 82.0, "HSNG_UNITS": 110.0, "HU_OCCUPIE": 82.0, "HU_VACANT": 28.0, "ID": 703108.0, "IN_HOUSEHO": 168.0, "MALE": 88.0, "MALE_18": 67.0, "MALE_65": 0.0, "MEDIAN_AGE": 31.9, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 187.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 72.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.3, "POPULATION": 187.0, "RENTER_SIZ": 2.01, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061003400", "WHITE": 4.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49524300046419, 39.13795999987277, -84.49094300046467, 39.140959999872514], "geometry": {"coordinates": [[[-84.4949430004642, 39.13855999987269], [-84.49444300046427, 39.139159999872646], [-84.49354300046437, 39.13995999987257], [-84.49294300046445, 39.140959999872514], [-84.49094300046467, 39.140859999872504], [-84.49114300046465, 39.139459999872614], [-84.49454300046426, 39.13795999987277], [-84.49524300046419, 39.13825999987273], [-84.4949430004642, 39.13855999987269]]], "type": "Polygon"}, "id": "427", "properties": {"AGE_0_5": 37.0, "AGE_10_14": 22.0, "AGE_15_19": 26.0, "AGE_18": 139.0, "AGE_20_24": 23.0, "AGE_21": 122.0, "AGE_25_34": 24.0, "AGE_35_44": 34.0, "AGE_45_54": 24.0, "AGE_55_59": 5.0, "AGE_5_9": 16.0, "AGE_60_64": 2.0, "AGE_62": 20.0, "AGE_65": 19.0, "AGE_65_74": 12.0, "AGE_75_84": 3.0, "AGE_85": 4.0, "AMINDIAN": 1.0, "AP_AMINDIA": 4.0, "AP_ASIAN": 7.0, "AP_BLACK": 219.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 13.0, "AP_OTHER": 1.0, "AP_WHITE": 12.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 7, "AVG_FAMSIZ": 3.03, "AVG_HHSIZE": 2.58, "BG": "390610067001", "BLACK": 208.0, "BLOCK": "390610067001006", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9898.6106, "F1_RACE": 221.0, "F2_RACES": 11.0, "FEMALE": 127.0, "FEMALE_18": 88.0, "FEMALE_65": 15.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 10.0, "GROUP_QUAR": 10.0, "HAWAIIAN": 0.0, "HH_FAMILY": 63.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 86.0, "HSNG_UNITS": 130.0, "HU_OCCUPIE": 86.0, "HU_VACANT": 44.0, "ID": 703132.0, "IN_HOUSEHO": 222.0, "MALE": 105.0, "MALE_18": 51.0, "MALE_65": 4.0, "MEDIAN_AGE": 23.0, "MSA": "1640", "NH_WHITE": 11.0, "NOT_HISPAN": 219.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 67.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 3.84, "POPULATION": 232.0, "RENTER_SIZ": 2.22, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 11.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.5055430004631, 39.143859999872156, -84.50414300046327, 39.14555999987203], "geometry": {"coordinates": [[[-84.5055430004631, 39.143859999872156], [-84.50534300046313, 39.14555999987203], [-84.50414300046327, 39.145459999872024], [-84.50422400046327, 39.14481199987206], [-84.50434300046324, 39.14385999987216], [-84.5055430004631, 39.143859999872156]]], "type": "Polygon"}, "id": "428", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 5.0, "AGE_15_19": 4.0, "AGE_18": 24.0, "AGE_20_24": 5.0, "AGE_21": 21.0, "AGE_25_34": 2.0, "AGE_35_44": 6.0, "AGE_45_54": 4.0, "AGE_55_59": 0.0, "AGE_5_9": 7.0, "AGE_60_64": 3.0, "AGE_62": 2.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 38.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 5.83, "AVG_HHSIZE": 4.75, "BG": "390610069002", "BLACK": 37.0, "BLOCK": "390610069002002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 5157.6308, "F1_RACE": 37.0, "F2_RACES": 1.0, "FEMALE": 23.0, "FEMALE_18": 14.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 8.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 8.0, "HU_VACANT": 1.0, "ID": 703153.0, "IN_HOUSEHO": 38.0, "MALE": 15.0, "MALE_18": 10.0, "MALE_65": 0.0, "MEDIAN_AGE": 23.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 38.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 3.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 5.6, "POPULATION": 38.0, "RENTER_SIZ": 3.33, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.5096440004627, 39.146459999871915, -84.50524400046316, 39.15095999987151], "geometry": {"coordinates": [[[-84.5096440004627, 39.148759999871686], [-84.50924400046276, 39.150759999871525], [-84.5088440004628, 39.15095999987151], [-84.5077440004629, 39.149759999871605], [-84.50674400046303, 39.14935999987167], [-84.50624400046307, 39.14935999987166], [-84.50606600046308, 39.14934199987168], [-84.50524400046316, 39.14925999987169], [-84.50531600046315, 39.148107999871776], [-84.50534400046317, 39.147659999871806], [-84.50624400046306, 39.14775999987181], [-84.50644400046303, 39.146459999871915], [-84.50714400046296, 39.14655999987191], [-84.50834400046283, 39.147259999871835], [-84.50884400046277, 39.14805999987176], [-84.5096440004627, 39.148759999871686]]], "type": "Polygon"}, "id": "429", "properties": {"AGE_0_5": 40.0, "AGE_10_14": 71.0, "AGE_15_19": 50.0, "AGE_18": 285.0, "AGE_20_24": 25.0, "AGE_21": 258.0, "AGE_25_34": 66.0, "AGE_35_44": 61.0, "AGE_45_54": 48.0, "AGE_55_59": 14.0, "AGE_5_9": 61.0, "AGE_60_64": 6.0, "AGE_62": 53.0, "AGE_65": 49.0, "AGE_65_74": 21.0, "AGE_75_84": 20.0, "AGE_85": 8.0, "AMINDIAN": 0.0, "AP_AMINDIA": 6.0, "AP_ASIAN": 1.0, "AP_BLACK": 483.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 4.0, "AP_WHITE": 10.0, "AREA": 0.04, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.33, "AVG_HHSIZE": 2.77, "BG": "390610069004", "BLACK": 473.0, "BLOCK": "390610069004000", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12535.53, "F1_RACE": 481.0, "F2_RACES": 10.0, "FEMALE": 293.0, "FEMALE_18": 191.0, "FEMALE_65": 34.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 128.0, "HH_NONFAMI": 49.0, "HOUSEHOLDS": 177.0, "HSNG_UNITS": 189.0, "HU_OCCUPIE": 177.0, "HU_VACANT": 12.0, "ID": 703170.0, "IN_HOUSEHO": 491.0, "MALE": 198.0, "MALE_18": 94.0, "MALE_65": 15.0, "MEDIAN_AGE": 24.6, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 488.0, "OCCHU_OWNE": 62.0, "OCCHU_RENT": 115.0, "OTHER_RACE": 3.0, "OWNER_SIZE": 2.29, "POPULATION": 491.0, "RENTER_SIZ": 3.03, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50644400046303, 39.14645999987191, -84.50534400046317, 39.14775999987181], "geometry": {"coordinates": [[[-84.50644400046303, 39.146459999871915], [-84.50624400046306, 39.14775999987181], [-84.50534400046317, 39.147659999871806], [-84.50544300046313, 39.14645999987191], [-84.50644400046303, 39.146459999871915]]], "type": "Polygon"}, "id": "430", "properties": {"AGE_0_5": 2.0, "AGE_10_14": 6.0, "AGE_15_19": 4.0, "AGE_18": 22.0, "AGE_20_24": 0.0, "AGE_21": 21.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 7.0, "AGE_55_59": 1.0, "AGE_5_9": 6.0, "AGE_60_64": 0.0, "AGE_62": 6.0, "AGE_65": 6.0, "AGE_65_74": 6.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 34.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 7.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.55, "BG": "390610069004", "BLACK": 32.0, "BLOCK": "390610069004002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 8810.7256, "F1_RACE": 37.0, "F2_RACES": 2.0, "FEMALE": 18.0, "FEMALE_18": 12.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 9.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 15.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 4.0, "ID": 703197.0, "IN_HOUSEHO": 39.0, "MALE": 21.0, "MALE_18": 10.0, "MALE_65": 2.0, "MEDIAN_AGE": 28.5, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 39.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.17, "POPULATION": 39.0, "RENTER_SIZ": 4.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50574300046307, 39.141859999872366, -84.50294300046339, 39.142959999872254], "geometry": {"coordinates": [[[-84.50574300046307, 39.14205999987235], [-84.50564300046308, 39.142959999872254], [-84.50314300046337, 39.14285999987227], [-84.50294300046339, 39.14275999987228], [-84.50304300046336, 39.141859999872366], [-84.50324300046334, 39.14185999987239], [-84.50574300046307, 39.14205999987235]]], "type": "Polygon"}, "id": "431", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 14.0, "AGE_15_19": 11.0, "AGE_18": 93.0, "AGE_20_24": 10.0, "AGE_21": 86.0, "AGE_25_34": 15.0, "AGE_35_44": 31.0, "AGE_45_54": 14.0, "AGE_55_59": 2.0, "AGE_5_9": 5.0, "AGE_60_64": 2.0, "AGE_62": 16.0, "AGE_65": 14.0, "AGE_65_74": 9.0, "AGE_75_84": 3.0, "AGE_85": 2.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 5.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 14.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.1, "AVG_HHSIZE": 2.15, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002007", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13478.2777, "F1_RACE": 125.0, "F2_RACES": 4.0, "FEMALE": 64.0, "FEMALE_18": 46.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 30.0, "HH_NONFAMI": 30.0, "HOUSEHOLDS": 60.0, "HSNG_UNITS": 79.0, "HU_OCCUPIE": 60.0, "HU_VACANT": 19.0, "ID": 703214.0, "IN_HOUSEHO": 129.0, "MALE": 65.0, "MALE_18": 47.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.5, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 129.0, "OCCHU_OWNE": 19.0, "OCCHU_RENT": 41.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.26, "POPULATION": 129.0, "RENTER_SIZ": 2.1, "THEFT": 5, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50564300046308, 39.14285999987227, -84.50304300046338, 39.14385999987216], "geometry": {"coordinates": [[[-84.50564300046308, 39.142959999872254], [-84.5055430004631, 39.143859999872156], [-84.50434300046324, 39.14385999987216], [-84.50340000046334, 39.14378699987218], [-84.50304300046338, 39.14375999987218], [-84.50314300046337, 39.14285999987227], [-84.50564300046308, 39.142959999872254]]], "type": "Polygon"}, "id": "432", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 16.0, "AGE_15_19": 10.0, "AGE_18": 89.0, "AGE_20_24": 9.0, "AGE_21": 84.0, "AGE_25_34": 13.0, "AGE_35_44": 21.0, "AGE_45_54": 13.0, "AGE_55_59": 8.0, "AGE_5_9": 9.0, "AGE_60_64": 3.0, "AGE_62": 20.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 115.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.47, "BG": "390610069002", "BLACK": 114.0, "BLOCK": "390610069002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 14670.7028, "F1_RACE": 125.0, "F2_RACES": 1.0, "FEMALE": 59.0, "FEMALE_18": 44.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 62.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 11.0, "ID": 703234.0, "IN_HOUSEHO": 126.0, "MALE": 67.0, "MALE_18": 45.0, "MALE_65": 9.0, "MEDIAN_AGE": 35.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 126.0, "OCCHU_OWNE": 15.0, "OCCHU_RENT": 36.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 126.0, "RENTER_SIZ": 2.42, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 10.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50434300046324, 39.14375999987218, -84.50294300046342, 39.145459999872024], "geometry": {"coordinates": [[[-84.50434300046324, 39.14385999987216], [-84.50422400046327, 39.14481199987206], [-84.50414300046327, 39.145459999872024], [-84.50294300046342, 39.14535999987205], [-84.50294300046342, 39.145159999872064], [-84.50304300046338, 39.14375999987218], [-84.50340000046334, 39.14378699987218], [-84.50434300046324, 39.14385999987216]]], "type": "Polygon"}, "id": "433", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 9.0, "AGE_15_19": 7.0, "AGE_18": 74.0, "AGE_20_24": 10.0, "AGE_21": 66.0, "AGE_25_34": 22.0, "AGE_35_44": 12.0, "AGE_45_54": 12.0, "AGE_55_59": 0.0, "AGE_5_9": 17.0, "AGE_60_64": 4.0, "AGE_62": 11.0, "AGE_65": 8.0, "AGE_65_74": 6.0, "AGE_75_84": 2.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 113.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.22, "BG": "390610069002", "BLACK": 113.0, "BLOCK": "390610069002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 15069.8309, "F1_RACE": 113.0, "F2_RACES": 0.0, "FEMALE": 60.0, "FEMALE_18": 43.0, "FEMALE_65": 5.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 28.0, "HH_NONFAMI": 23.0, "HOUSEHOLDS": 51.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 51.0, "HU_VACANT": 8.0, "ID": 703253.0, "IN_HOUSEHO": 113.0, "MALE": 53.0, "MALE_18": 31.0, "MALE_65": 3.0, "MEDIAN_AGE": 27.1, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 113.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 45.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 113.0, "RENTER_SIZ": 2.11, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50304300046336, 39.1416599998724, -84.50024300046367, 39.14275999987228], "geometry": {"coordinates": [[[-84.50294300046339, 39.14275999987228], [-84.50024300046367, 39.1425599998723], [-84.50024300046367, 39.1416599998724], [-84.50304300046336, 39.141859999872366], [-84.50294300046339, 39.14275999987228]]], "type": "Polygon"}, "id": "434", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 4.0, "AGE_15_19": 7.0, "AGE_18": 66.0, "AGE_20_24": 3.0, "AGE_21": 62.0, "AGE_25_34": 11.0, "AGE_35_44": 15.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 5.0, "AGE_60_64": 6.0, "AGE_62": 20.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 14.0, "AP_BLACK": 64.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 14.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.14, "AVG_HHSIZE": 2.52, "BG": "390610069002", "BLACK": 64.0, "BLOCK": "390610069002008", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 9021.0236, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 45.0, "FEMALE_18": 38.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 22.0, "HH_NONFAMI": 11.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 49.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 16.0, "ID": 703271.0, "IN_HOUSEHO": 83.0, "MALE": 38.0, "MALE_18": 28.0, "MALE_65": 5.0, "MEDIAN_AGE": 40.1, "MSA": "1640", "NH_WHITE": 5.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 13.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.92, "POPULATION": 83.0, "RENTER_SIZ": 2.25, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50314300046337, 39.1425599998723, -84.50014300046368, 39.14375999987218], "geometry": {"coordinates": [[[-84.50314300046337, 39.14285999987227], [-84.50304300046338, 39.14375999987218], [-84.50014300046368, 39.143559999872224], [-84.50024300046367, 39.1425599998723], [-84.50294300046339, 39.14275999987228], [-84.50314300046337, 39.14285999987227]]], "type": "Polygon"}, "id": "435", "properties": {"AGE_0_5": 18.0, "AGE_10_14": 27.0, "AGE_15_19": 11.0, "AGE_18": 101.0, "AGE_20_24": 20.0, "AGE_21": 91.0, "AGE_25_34": 8.0, "AGE_35_44": 30.0, "AGE_45_54": 10.0, "AGE_55_59": 3.0, "AGE_5_9": 15.0, "AGE_60_64": 7.0, "AGE_62": 24.0, "AGE_65": 19.0, "AGE_65_74": 7.0, "AGE_75_84": 5.0, "AGE_85": 7.0, "AMINDIAN": 1.0, "AP_AMINDIA": 2.0, "AP_ASIAN": 0.0, "AP_BLACK": 163.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 4.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.89, "AVG_HHSIZE": 3.43, "BG": "390610069002", "BLACK": 162.0, "BLOCK": "390610069002005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 15673.642, "F1_RACE": 167.0, "F2_RACES": 1.0, "FEMALE": 91.0, "FEMALE_18": 57.0, "FEMALE_65": 14.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 36.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 49.0, "HSNG_UNITS": 68.0, "HU_OCCUPIE": 49.0, "HU_VACANT": 19.0, "ID": 703289.0, "IN_HOUSEHO": 168.0, "MALE": 77.0, "MALE_18": 44.0, "MALE_65": 5.0, "MEDIAN_AGE": 22.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 168.0, "OCCHU_OWNE": 16.0, "OCCHU_RENT": 33.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 168.0, "RENTER_SIZ": 3.64, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 4.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50304300046338, 39.143559999872224, -84.49994300046373, 39.145159999872064], "geometry": {"coordinates": [[[-84.50304300046338, 39.14375999987218], [-84.50294300046342, 39.145159999872064], [-84.49994300046373, 39.14485999987211], [-84.5000430004637, 39.143959999872195], [-84.50014300046368, 39.143559999872224], [-84.50304300046338, 39.14375999987218]]], "type": "Polygon"}, "id": "436", "properties": {"AGE_0_5": 11.0, "AGE_10_14": 24.0, "AGE_15_19": 19.0, "AGE_18": 61.0, "AGE_20_24": 6.0, "AGE_21": 52.0, "AGE_25_34": 13.0, "AGE_35_44": 13.0, "AGE_45_54": 14.0, "AGE_55_59": 1.0, "AGE_5_9": 23.0, "AGE_60_64": 0.0, "AGE_62": 7.0, "AGE_65": 7.0, "AGE_65_74": 2.0, "AGE_75_84": 5.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 128.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 11, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.74, "BG": "390610069002", "BLACK": 128.0, "BLOCK": "390610069002004", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 8747.1976, "F1_RACE": 131.0, "F2_RACES": 0.0, "FEMALE": 68.0, "FEMALE_18": 39.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 31.0, "HH_NONFAMI": 4.0, "HOUSEHOLDS": 35.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 35.0, "HU_VACANT": 5.0, "ID": 703308.0, "IN_HOUSEHO": 131.0, "MALE": 63.0, "MALE_18": 22.0, "MALE_65": 4.0, "MEDIAN_AGE": 17.4, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 131.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.6, "POPULATION": 131.0, "RENTER_SIZ": 3.93, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.14535999987205, -84.50284300046341, 39.14645999987191], "geometry": {"coordinates": [[[-84.50534300046313, 39.14555999987203], [-84.50544300046313, 39.14645999987191], [-84.5038430004633, 39.14635999987197], [-84.50284300046341, 39.146259999871944], [-84.50294300046342, 39.14535999987205], [-84.50414300046327, 39.145459999872024], [-84.50534300046313, 39.14555999987203]]], "type": "Polygon"}, "id": "437", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 9.0, "AGE_15_19": 8.0, "AGE_18": 76.0, "AGE_20_24": 6.0, "AGE_21": 71.0, "AGE_25_34": 13.0, "AGE_35_44": 16.0, "AGE_45_54": 15.0, "AGE_55_59": 3.0, "AGE_5_9": 9.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 18.0, "AGE_65_74": 8.0, "AGE_75_84": 9.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 4.0, "AP_OTHER": 0.0, "AP_WHITE": 6.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.3, "BG": "390610069002", "BLACK": 99.0, "BLOCK": "390610069002001", "BURGLARY": 3, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12794.2932, "F1_RACE": 105.0, "F2_RACES": 3.0, "FEMALE": 53.0, "FEMALE_18": 39.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 21.0, "HH_NONFAMI": 26.0, "HOUSEHOLDS": 47.0, "HSNG_UNITS": 59.0, "HU_OCCUPIE": 47.0, "HU_VACANT": 12.0, "ID": 703326.0, "IN_HOUSEHO": 108.0, "MALE": 55.0, "MALE_18": 37.0, "MALE_65": 7.0, "MEDIAN_AGE": 34.8, "MSA": "1640", "NH_WHITE": 6.0, "NOT_HISPAN": 104.0, "OCCHU_OWNE": 12.0, "OCCHU_RENT": 35.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.17, "POPULATION": 108.0, "RENTER_SIZ": 2.34, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 6.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50544300046313, 39.146259999871944, -84.50264300046345, 39.14925999987169], "geometry": {"coordinates": [[[-84.5038430004633, 39.14635999987197], [-84.50544300046313, 39.14645999987191], [-84.50534400046317, 39.147659999871806], [-84.50531600046315, 39.148107999871776], [-84.50524400046316, 39.14925999987169], [-84.50360700046336, 39.14913399987168], [-84.50264300046345, 39.149059999871696], [-84.50284300046341, 39.146259999871944], [-84.5038430004633, 39.14635999987197]]], "type": "Polygon"}, "id": "438", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 40.0, "AGE_15_19": 22.0, "AGE_18": 189.0, "AGE_20_24": 13.0, "AGE_21": 178.0, "AGE_25_34": 32.0, "AGE_35_44": 50.0, "AGE_45_54": 33.0, "AGE_55_59": 10.0, "AGE_5_9": 28.0, "AGE_60_64": 9.0, "AGE_62": 40.0, "AGE_65": 35.0, "AGE_65_74": 15.0, "AGE_75_84": 16.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 284.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 1.0, "AP_WHITE": 4.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.25, "AVG_HHSIZE": 2.53, "BG": "390610069001", "BLACK": 281.0, "BLOCK": "390610069001003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10697.4731, "F1_RACE": 285.0, "F2_RACES": 3.0, "FEMALE": 162.0, "FEMALE_18": 110.0, "FEMALE_65": 24.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 69.0, "HH_NONFAMI": 45.0, "HOUSEHOLDS": 114.0, "HSNG_UNITS": 127.0, "HU_OCCUPIE": 114.0, "HU_VACANT": 13.0, "ID": 703346.0, "IN_HOUSEHO": 288.0, "MALE": 126.0, "MALE_18": 79.0, "MALE_65": 11.0, "MEDIAN_AGE": 33.3, "MSA": "1640", "NH_WHITE": 3.0, "NOT_HISPAN": 285.0, "OCCHU_OWNE": 39.0, "OCCHU_RENT": 75.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 2.31, "POPULATION": 288.0, "RENTER_SIZ": 2.64, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 3.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50294300046342, 39.14485999987211, -84.49984300046374, 39.146259999871944], "geometry": {"coordinates": [[[-84.50294300046342, 39.14535999987205], [-84.50284300046341, 39.146259999871944], [-84.49984300046374, 39.14605999987198], [-84.49994300046373, 39.14485999987211], [-84.50294300046342, 39.145159999872064], [-84.50294300046342, 39.14535999987205]]], "type": "Polygon"}, "id": "439", "properties": {"AGE_0_5": 16.0, "AGE_10_14": 27.0, "AGE_15_19": 16.0, "AGE_18": 91.0, "AGE_20_24": 10.0, "AGE_21": 84.0, "AGE_25_34": 16.0, "AGE_35_44": 29.0, "AGE_45_54": 7.0, "AGE_55_59": 6.0, "AGE_5_9": 10.0, "AGE_60_64": 1.0, "AGE_62": 18.0, "AGE_65": 17.0, "AGE_65_74": 9.0, "AGE_75_84": 6.0, "AGE_85": 2.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 155.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 2.72, "BG": "390610069002", "BLACK": 155.0, "BLOCK": "390610069002000", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 12013.0464, "F1_RACE": 155.0, "F2_RACES": 0.0, "FEMALE": 73.0, "FEMALE_18": 47.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 33.0, "HH_NONFAMI": 24.0, "HOUSEHOLDS": 57.0, "HSNG_UNITS": 74.0, "HU_OCCUPIE": 57.0, "HU_VACANT": 17.0, "ID": 703368.0, "IN_HOUSEHO": 155.0, "MALE": 82.0, "MALE_18": 44.0, "MALE_65": 10.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 155.0, "OCCHU_OWNE": 9.0, "OCCHU_RENT": 48.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.11, "POPULATION": 155.0, "RENTER_SIZ": 2.83, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.50624400046307, 39.149059999871696, -84.50264300046345, 39.150259999871565], "geometry": {"coordinates": [[[-84.50606600046308, 39.14934199987168], [-84.50624400046307, 39.14935999987166], [-84.50614400046308, 39.150259999871565], [-84.50454400046326, 39.15015999987159], [-84.50344300046336, 39.15015999987159], [-84.50284300046344, 39.14975999987163], [-84.50264300046345, 39.149059999871696], [-84.50360700046336, 39.14913399987168], [-84.50524400046316, 39.14925999987169], [-84.50606600046308, 39.14934199987168]]], "type": "Polygon"}, "id": "440", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 5.0, "AGE_15_19": 7.0, "AGE_18": 68.0, "AGE_20_24": 4.0, "AGE_21": 63.0, "AGE_25_34": 5.0, "AGE_35_44": 14.0, "AGE_45_54": 16.0, "AGE_55_59": 1.0, "AGE_5_9": 3.0, "AGE_60_64": 6.0, "AGE_62": 19.0, "AGE_65": 17.0, "AGE_65_74": 8.0, "AGE_75_84": 6.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 82.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.63, "AVG_HHSIZE": 2.31, "BG": "390610069001", "BLACK": 82.0, "BLOCK": "390610069001002", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 6949.0985, "F1_RACE": 83.0, "F2_RACES": 0.0, "FEMALE": 44.0, "FEMALE_18": 38.0, "FEMALE_65": 10.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 16.0, "HH_NONFAMI": 20.0, "HOUSEHOLDS": 36.0, "HSNG_UNITS": 39.0, "HU_OCCUPIE": 36.0, "HU_VACANT": 3.0, "ID": 703387.0, "IN_HOUSEHO": 83.0, "MALE": 39.0, "MALE_18": 30.0, "MALE_65": 7.0, "MEDIAN_AGE": 44.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 83.0, "OCCHU_OWNE": 30.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.27, "POPULATION": 83.0, "RENTER_SIZ": 2.5, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50494400046323, 39.15015999987159, -84.50344300046336, 39.15165999987144], "geometry": {"coordinates": [[[-84.50454400046326, 39.15015999987159], [-84.50454400046326, 39.15125999987151], [-84.50494400046323, 39.15165999987144], [-84.50374300046336, 39.15155999987148], [-84.50344300046336, 39.15015999987159], [-84.50454400046326, 39.15015999987159]]], "type": "Polygon"}, "id": "441", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 5.0, "AGE_15_19": 5.0, "AGE_18": 43.0, "AGE_20_24": 0.0, "AGE_21": 41.0, "AGE_25_34": 4.0, "AGE_35_44": 4.0, "AGE_45_54": 14.0, "AGE_55_59": 3.0, "AGE_5_9": 1.0, "AGE_60_64": 2.0, "AGE_62": 15.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 5.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 54.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.0, "AVG_HHSIZE": 2.29, "BG": "390610069001", "BLACK": 54.0, "BLOCK": "390610069001001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10378.7052, "F1_RACE": 55.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 25.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 24.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 0.0, "ID": 703410.0, "IN_HOUSEHO": 55.0, "MALE": 24.0, "MALE_18": 18.0, "MALE_65": 5.0, "MEDIAN_AGE": 48.3, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 55.0, "OCCHU_OWNE": 22.0, "OCCHU_RENT": 2.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.18, "POPULATION": 55.0, "RENTER_SIZ": 3.5, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006900", "WHITE": 1.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.50924400046277, 39.14605999987198, -84.49794300046398, 39.15545999987109], "geometry": {"coordinates": [[[-84.50604400046315, 39.15485999987118], [-84.50564400046316, 39.15545999987109], [-84.50314400046344, 39.15525999987111], [-84.50244300046353, 39.15485999987118], [-84.50044300046372, 39.15245999987139], [-84.49924300046385, 39.15165999987147], [-84.49794300046398, 39.15045999987158], [-84.49874300046388, 39.14965999987165], [-84.49884300046386, 39.149359999871685], [-84.49904300046383, 39.14605999987199], [-84.49984300046374, 39.14605999987198], [-84.50284300046341, 39.146259999871944], [-84.50264300046345, 39.149059999871696], [-84.50284300046344, 39.14975999987163], [-84.50344300046336, 39.15015999987159], [-84.50374300046336, 39.15155999987148], [-84.50494400046323, 39.15165999987144], [-84.50454400046326, 39.15125999987151], [-84.50454400046326, 39.15015999987159], [-84.50614400046308, 39.150259999871565], [-84.50624400046307, 39.14935999987166], [-84.50674400046303, 39.14935999987167], [-84.5077440004629, 39.149759999871605], [-84.5088440004628, 39.15095999987151], [-84.50924400046277, 39.151459999871456], [-84.50814400046289, 39.152059999871405], [-84.50604400046315, 39.15485999987118]]], "type": "Polygon"}, "id": "442", "properties": {"AGE_0_5": 86.0, "AGE_10_14": 107.0, "AGE_15_19": 69.0, "AGE_18": 1096.0, "AGE_20_24": 76.0, "AGE_21": 1064.0, "AGE_25_34": 181.0, "AGE_35_44": 219.0, "AGE_45_54": 202.0, "AGE_55_59": 77.0, "AGE_5_9": 113.0, "AGE_60_64": 69.0, "AGE_62": 301.0, "AGE_65": 252.0, "AGE_65_74": 150.0, "AGE_75_84": 82.0, "AGE_85": 20.0, "AMINDIAN": 3.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 6.0, "AP_BLACK": 1381.0, "AP_HAWAIIA": 2.0, "AP_HISPANI": 13.0, "AP_OTHER": 11.0, "AP_WHITE": 61.0, "AREA": 0.19, "ASIAN": 3.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.86, "AVG_HHSIZE": 1.9, "BG": "390610069001", "BLACK": 1368.0, "BLOCK": "390610069001000", "BURGLARY": 7, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 7516.6639, "F1_RACE": 1437.0, "F2_RACES": 14.0, "FEMALE": 792.0, "FEMALE_18": 623.0, "FEMALE_65": 158.0, "GQ_INSTITU": 32.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 32.0, "HAWAIIAN": 0.0, "HH_FAMILY": 320.0, "HH_NONFAMI": 425.0, "HOUSEHOLDS": 745.0, "HSNG_UNITS": 840.0, "HU_OCCUPIE": 745.0, "HU_VACANT": 95.0, "ID": 703426.0, "IN_HOUSEHO": 1419.0, "MALE": 659.0, "MALE_18": 473.0, "MALE_65": 94.0, "MEDIAN_AGE": 40.3, "MSA": "1640", "NH_WHITE": 54.0, "NOT_HISPAN": 1438.0, "OCCHU_OWNE": 202.0, "OCCHU_RENT": 543.0, "OTHER_RACE": 8.0, "OWNER_SIZE": 2.27, "POPULATION": 1451.0, "RENTER_SIZ": 1.77, "THEFT": 17, "THEFT_D": 1.0, "TRACT": "39061006900", "WHITE": 55.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49984300046371, 39.14125999987244, -84.49884300046381, 39.141559999872406], "geometry": {"coordinates": [[[-84.49884300046381, 39.141559999872406], [-84.49884300046381, 39.14125999987244], [-84.49984300046371, 39.14125999987244], [-84.49974300046372, 39.141559999872406], [-84.49884300046381, 39.141559999872406]]], "type": "Polygon"}, "id": "443", "properties": {"AGE_0_5": 3.0, "AGE_10_14": 7.0, "AGE_15_19": 1.0, "AGE_18": 13.0, "AGE_20_24": 0.0, "AGE_21": 12.0, "AGE_25_34": 2.0, "AGE_35_44": 4.0, "AGE_45_54": 3.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 2.0, "AGE_62": 1.0, "AGE_65": 1.0, "AGE_65_74": 1.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 23.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 3.29, "BG": "390610067003", "BLACK": 23.0, "BLOCK": "390610067003006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 21796.2254, "F1_RACE": 23.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 8.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 5.0, "HH_NONFAMI": 2.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 10.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 3.0, "ID": 703460.0, "IN_HOUSEHO": 23.0, "MALE": 8.0, "MALE_18": 5.0, "MALE_65": 0.0, "MEDIAN_AGE": 29.5, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 23.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 6.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.0, "POPULATION": 23.0, "RENTER_SIZ": 3.67, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.50024300046367, 39.141559999872406, -84.49814300046388, 39.143959999872195], "geometry": {"coordinates": [[[-84.50014300046368, 39.143559999872224], [-84.5000430004637, 39.143959999872195], [-84.49884300046384, 39.1438599998722], [-84.49894300046381, 39.14245999987232], [-84.4981430004639, 39.14235999987234], [-84.49814300046388, 39.14155999987243], [-84.49884300046381, 39.141559999872406], [-84.49974300046372, 39.141559999872406], [-84.50024300046367, 39.1416599998724], [-84.50024300046367, 39.1425599998723], [-84.50014300046368, 39.143559999872224]]], "type": "Polygon"}, "id": "444", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 2.0, "AGE_15_19": 4.0, "AGE_18": 21.0, "AGE_20_24": 2.0, "AGE_21": 18.0, "AGE_25_34": 4.0, "AGE_35_44": 3.0, "AGE_45_54": 4.0, "AGE_55_59": 2.0, "AGE_5_9": 4.0, "AGE_60_64": 0.0, "AGE_62": 3.0, "AGE_65": 3.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 28.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 3.5, "AVG_HHSIZE": 2.64, "BG": "390610067003", "BLACK": 28.0, "BLOCK": "390610067003002", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2125.5272, "F1_RACE": 29.0, "F2_RACES": 0.0, "FEMALE": 15.0, "FEMALE_18": 10.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 6.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 11.0, "HSNG_UNITS": 43.0, "HU_OCCUPIE": 11.0, "HU_VACANT": 32.0, "ID": 703476.0, "IN_HOUSEHO": 29.0, "MALE": 14.0, "MALE_18": 11.0, "MALE_65": 1.0, "MEDIAN_AGE": 31.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 29.0, "OCCHU_OWNE": 6.0, "OCCHU_RENT": 5.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.67, "POPULATION": 29.0, "RENTER_SIZ": 2.6, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.49894300046381, 39.14235999987234, -84.49794300046392, 39.1438599998722], "geometry": {"coordinates": [[[-84.49894300046381, 39.14245999987232], [-84.49884300046384, 39.1438599998722], [-84.49794300046392, 39.1438599998722], [-84.49794300046392, 39.143159999872275], [-84.4981430004639, 39.14235999987234], [-84.49894300046381, 39.14245999987232]]], "type": "Polygon"}, "id": "445", "properties": {"AGE_0_5": 7.0, "AGE_10_14": 8.0, "AGE_15_19": 6.0, "AGE_18": 37.0, "AGE_20_24": 2.0, "AGE_21": 35.0, "AGE_25_34": 9.0, "AGE_35_44": 10.0, "AGE_45_54": 5.0, "AGE_55_59": 1.0, "AGE_5_9": 11.0, "AGE_60_64": 2.0, "AGE_62": 7.0, "AGE_65": 6.0, "AGE_65_74": 2.0, "AGE_75_84": 4.0, "AGE_85": 0.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 1.0, "AP_BLACK": 66.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.0, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 4.29, "AVG_HHSIZE": 3.53, "BG": "390610067003", "BLACK": 65.0, "BLOCK": "390610067003003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 13813.8186, "F1_RACE": 66.0, "F2_RACES": 1.0, "FEMALE": 35.0, "FEMALE_18": 21.0, "FEMALE_65": 4.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 14.0, "HH_NONFAMI": 5.0, "HOUSEHOLDS": 19.0, "HSNG_UNITS": 32.0, "HU_OCCUPIE": 19.0, "HU_VACANT": 13.0, "ID": 703500.0, "IN_HOUSEHO": 67.0, "MALE": 32.0, "MALE_18": 16.0, "MALE_65": 2.0, "MEDIAN_AGE": 23.8, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 67.0, "OCCHU_OWNE": 8.0, "OCCHU_RENT": 11.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.38, "POPULATION": 67.0, "RENTER_SIZ": 4.36, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.5000430004637, 39.1438599998722, -84.49774300046396, 39.14485999987211], "geometry": {"coordinates": [[[-84.5000430004637, 39.143959999872195], [-84.49994300046373, 39.14485999987211], [-84.49774300046396, 39.144759999872115], [-84.49794300046392, 39.1438599998722], [-84.49884300046384, 39.1438599998722], [-84.5000430004637, 39.143959999872195]]], "type": "Polygon"}, "id": "446", "properties": {"AGE_0_5": 6.0, "AGE_10_14": 3.0, "AGE_15_19": 12.0, "AGE_18": 41.0, "AGE_20_24": 6.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 8.0, "AGE_45_54": 4.0, "AGE_55_59": 5.0, "AGE_5_9": 9.0, "AGE_60_64": 2.0, "AGE_62": 8.0, "AGE_65": 7.0, "AGE_65_74": 5.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 68.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.67, "AVG_HHSIZE": 2.83, "BG": "390610067003", "BLACK": 68.0, "BLOCK": "390610067003001", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9206.2354, "F1_RACE": 68.0, "F2_RACES": 0.0, "FEMALE": 31.0, "FEMALE_18": 22.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 15.0, "HH_NONFAMI": 9.0, "HOUSEHOLDS": 24.0, "HSNG_UNITS": 34.0, "HU_OCCUPIE": 24.0, "HU_VACANT": 10.0, "ID": 703519.0, "IN_HOUSEHO": 68.0, "MALE": 37.0, "MALE_18": 19.0, "MALE_65": 0.0, "MEDIAN_AGE": 21.7, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 68.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 19.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.4, "POPULATION": 68.0, "RENTER_SIZ": 2.68, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49994300046373, 39.144759999872115, -84.49774300046396, 39.14605999987199], "geometry": {"coordinates": [[[-84.49994300046373, 39.14485999987211], [-84.49984300046374, 39.14605999987198], [-84.49904300046383, 39.14605999987199], [-84.49774300046397, 39.145959999872], [-84.49774300046396, 39.144759999872115], [-84.49994300046373, 39.14485999987211]]], "type": "Polygon"}, "id": "447", "properties": {"AGE_0_5": 1.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 8.0, "AGE_20_24": 0.0, "AGE_21": 8.0, "AGE_25_34": 2.0, "AGE_35_44": 2.0, "AGE_45_54": 0.0, "AGE_55_59": 1.0, "AGE_5_9": 1.0, "AGE_60_64": 1.0, "AGE_62": 2.0, "AGE_65": 2.0, "AGE_65_74": 1.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 9.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 1.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 3, "AVG_FAMSIZ": 4.0, "AVG_HHSIZE": 1.43, "BG": "390610068002", "BLACK": 9.0, "BLOCK": "390610068002005", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 1028.9523, "F1_RACE": 10.0, "F2_RACES": 0.0, "FEMALE": 6.0, "FEMALE_18": 5.0, "FEMALE_65": 1.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 1.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 7.0, "HSNG_UNITS": 9.0, "HU_OCCUPIE": 7.0, "HU_VACANT": 2.0, "ID": 703537.0, "IN_HOUSEHO": 10.0, "MALE": 4.0, "MALE_18": 3.0, "MALE_65": 1.0, "MEDIAN_AGE": 37.5, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 10.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 7.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 10.0, "RENTER_SIZ": 1.43, "THEFT": 3, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#fee290"}, "type": "Feature"}, {"bbox": [-84.4981430004639, 39.14225999987239, -84.49454300046429, 39.143159999872275], "geometry": {"coordinates": [[[-84.4981430004639, 39.14235999987234], [-84.49794300046392, 39.143159999872275], [-84.49454300046429, 39.142859999872286], [-84.49464300046427, 39.14225999987239], [-84.49664300046405, 39.14235999987234], [-84.4981430004639, 39.14235999987234]]], "type": "Polygon"}, "id": "448", "properties": {"AGE_0_5": 10.0, "AGE_10_14": 25.0, "AGE_15_19": 10.0, "AGE_18": 95.0, "AGE_20_24": 7.0, "AGE_21": 90.0, "AGE_25_34": 22.0, "AGE_35_44": 33.0, "AGE_45_54": 11.0, "AGE_55_59": 3.0, "AGE_5_9": 29.0, "AGE_60_64": 3.0, "AGE_62": 14.0, "AGE_65": 13.0, "AGE_65_74": 9.0, "AGE_75_84": 1.0, "AGE_85": 3.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 166.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 1.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.58, "AVG_HHSIZE": 3.13, "BG": "390610067003", "BLACK": 166.0, "BLOCK": "390610067003005", "BURGLARY": 1, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 18917.468, "F1_RACE": 166.0, "F2_RACES": 0.0, "FEMALE": 108.0, "FEMALE_18": 61.0, "FEMALE_65": 7.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 40.0, "HH_NONFAMI": 13.0, "HOUSEHOLDS": 53.0, "HSNG_UNITS": 69.0, "HU_OCCUPIE": 53.0, "HU_VACANT": 16.0, "ID": 703556.0, "IN_HOUSEHO": 166.0, "MALE": 58.0, "MALE_18": 34.0, "MALE_65": 6.0, "MEDIAN_AGE": 26.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 165.0, "OCCHU_OWNE": 23.0, "OCCHU_RENT": 30.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.87, "POPULATION": 166.0, "RENTER_SIZ": 3.33, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.144559999872136, -84.49514300046425, 39.145959999872], "geometry": {"coordinates": [[[-84.49774300046396, 39.144759999872115], [-84.49774300046397, 39.145959999872], [-84.49514300046425, 39.14575999987203], [-84.49534300046422, 39.144559999872136], [-84.49774300046396, 39.144759999872115]]], "type": "Polygon"}, "id": "449", "properties": {"AGE_0_5": 12.0, "AGE_10_14": 10.0, "AGE_15_19": 11.0, "AGE_18": 166.0, "AGE_20_24": 16.0, "AGE_21": 152.0, "AGE_25_34": 23.0, "AGE_35_44": 34.0, "AGE_45_54": 37.0, "AGE_55_59": 11.0, "AGE_5_9": 13.0, "AGE_60_64": 9.0, "AGE_62": 32.0, "AGE_65": 29.0, "AGE_65_74": 16.0, "AGE_75_84": 9.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 1.0, "AP_BLACK": 203.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 1.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 9, "AVG_FAMSIZ": 2.94, "AVG_HHSIZE": 1.51, "BG": "390610068002", "BLACK": 195.0, "BLOCK": "390610068002006", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 18334.4967, "F1_RACE": 197.0, "F2_RACES": 8.0, "FEMALE": 94.0, "FEMALE_18": 79.0, "FEMALE_65": 21.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 32.0, "HH_NONFAMI": 104.0, "HOUSEHOLDS": 136.0, "HSNG_UNITS": 148.0, "HU_OCCUPIE": 136.0, "HU_VACANT": 12.0, "ID": 703574.0, "IN_HOUSEHO": 205.0, "MALE": 111.0, "MALE_18": 87.0, "MALE_65": 8.0, "MEDIAN_AGE": 40.9, "MSA": "1640", "NH_WHITE": 1.0, "NOT_HISPAN": 205.0, "OCCHU_OWNE": 1.0, "OCCHU_RENT": 135.0, "OTHER_RACE": 1.0, "OWNER_SIZE": 9.0, "POPULATION": 205.0, "RENTER_SIZ": 1.45, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 1.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49904300046383, 39.145959999872, -84.49624300046413, 39.15045999987158], "geometry": {"coordinates": [[[-84.49774300046397, 39.145959999872], [-84.49904300046383, 39.14605999987199], [-84.49884300046386, 39.149359999871685], [-84.49874300046388, 39.14965999987165], [-84.49794300046398, 39.15045999987158], [-84.497643000464, 39.15025999987161], [-84.49704300046406, 39.14965999987167], [-84.49704300046406, 39.148759999871736], [-84.49624300046413, 39.148759999871736], [-84.49644300046413, 39.14835999987178], [-84.49734300046401, 39.147459999871856], [-84.49774300046397, 39.145959999872]]], "type": "Polygon"}, "id": "450", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 19.0, "AGE_15_19": 15.0, "AGE_18": 207.0, "AGE_20_24": 22.0, "AGE_21": 197.0, "AGE_25_34": 23.0, "AGE_35_44": 31.0, "AGE_45_54": 28.0, "AGE_55_59": 12.0, "AGE_5_9": 24.0, "AGE_60_64": 4.0, "AGE_62": 81.0, "AGE_65": 80.0, "AGE_65_74": 21.0, "AGE_75_84": 34.0, "AGE_85": 25.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 2.0, "AP_BLACK": 271.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.03, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.96, "AVG_HHSIZE": 2.24, "BG": "390610068002", "BLACK": 268.0, "BLOCK": "390610068002004", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 10353.2885, "F1_RACE": 277.0, "F2_RACES": 3.0, "FEMALE": 178.0, "FEMALE_18": 134.0, "FEMALE_65": 53.0, "GQ_INSTITU": 58.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 58.0, "HAWAIIAN": 0.0, "HH_FAMILY": 55.0, "HH_NONFAMI": 44.0, "HOUSEHOLDS": 99.0, "HSNG_UNITS": 116.0, "HU_OCCUPIE": 99.0, "HU_VACANT": 17.0, "ID": 703592.0, "IN_HOUSEHO": 222.0, "MALE": 102.0, "MALE_18": 73.0, "MALE_65": 27.0, "MEDIAN_AGE": 40.4, "MSA": "1640", "NH_WHITE": 9.0, "NOT_HISPAN": 280.0, "OCCHU_OWNE": 33.0, "OCCHU_RENT": 66.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.45, "POPULATION": 280.0, "RENTER_SIZ": 2.14, "THEFT": 4, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 9.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.142859999872286, -84.49454300046429, 39.1438599998722], "geometry": {"coordinates": [[[-84.49794300046392, 39.143159999872275], [-84.49794300046392, 39.1438599998722], [-84.49454300046429, 39.14355999987227], [-84.49454300046429, 39.142859999872286], [-84.49794300046392, 39.143159999872275]]], "type": "Polygon"}, "id": "451", "properties": {"AGE_0_5": 22.0, "AGE_10_14": 21.0, "AGE_15_19": 16.0, "AGE_18": 96.0, "AGE_20_24": 7.0, "AGE_21": 91.0, "AGE_25_34": 28.0, "AGE_35_44": 26.0, "AGE_45_54": 14.0, "AGE_55_59": 4.0, "AGE_5_9": 36.0, "AGE_60_64": 7.0, "AGE_62": 12.0, "AGE_65": 5.0, "AGE_65_74": 4.0, "AGE_75_84": 1.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 3.0, "AP_ASIAN": 0.0, "AP_BLACK": 186.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 3.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 4, "AVG_FAMSIZ": 3.48, "AVG_HHSIZE": 2.82, "BG": "390610067003", "BLACK": 180.0, "BLOCK": "390610067003004", "BURGLARY": 5, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 21107.9915, "F1_RACE": 180.0, "F2_RACES": 6.0, "FEMALE": 110.0, "FEMALE_18": 63.0, "FEMALE_65": 3.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 44.0, "HH_NONFAMI": 22.0, "HOUSEHOLDS": 66.0, "HSNG_UNITS": 84.0, "HU_OCCUPIE": 66.0, "HU_VACANT": 18.0, "ID": 703612.0, "IN_HOUSEHO": 186.0, "MALE": 76.0, "MALE_18": 33.0, "MALE_65": 2.0, "MEDIAN_AGE": 19.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 186.0, "OCCHU_OWNE": 10.0, "OCCHU_RENT": 56.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 3.0, "POPULATION": 186.0, "RENTER_SIZ": 2.79, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#662505"}, "type": "Feature"}, {"bbox": [-84.49794300046392, 39.14355999987227, -84.49434300046431, 39.144759999872115], "geometry": {"coordinates": [[[-84.49794300046392, 39.1438599998722], [-84.49774300046396, 39.144759999872115], [-84.49534300046422, 39.144559999872136], [-84.49434300046431, 39.14445999987216], [-84.49454300046429, 39.14355999987227], [-84.49794300046392, 39.1438599998722]]], "type": "Polygon"}, "id": "452", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 13.0, "AGE_15_19": 6.0, "AGE_18": 70.0, "AGE_20_24": 4.0, "AGE_21": 68.0, "AGE_25_34": 22.0, "AGE_35_44": 14.0, "AGE_45_54": 9.0, "AGE_55_59": 4.0, "AGE_5_9": 18.0, "AGE_60_64": 1.0, "AGE_62": 14.0, "AGE_65": 14.0, "AGE_65_74": 8.0, "AGE_75_84": 2.0, "AGE_85": 4.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 102.0, "AP_HAWAIIA": 1.0, "AP_HISPANI": 3.0, "AP_OTHER": 2.0, "AP_WHITE": 5.0, "AREA": 0.01, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 1, "AVG_FAMSIZ": 3.44, "AVG_HHSIZE": 3.55, "BG": "390610067003", "BLACK": 102.0, "BLOCK": "390610067003000", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 9461.9681, "F1_RACE": 110.0, "F2_RACES": 0.0, "FEMALE": 62.0, "FEMALE_18": 37.0, "FEMALE_65": 9.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 1.0, "HH_FAMILY": 25.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 31.0, "HSNG_UNITS": 36.0, "HU_OCCUPIE": 31.0, "HU_VACANT": 5.0, "ID": 703629.0, "IN_HOUSEHO": 110.0, "MALE": 48.0, "MALE_18": 33.0, "MALE_65": 5.0, "MEDIAN_AGE": 29.0, "MSA": "1640", "NH_WHITE": 4.0, "NOT_HISPAN": 107.0, "OCCHU_OWNE": 11.0, "OCCHU_RENT": 20.0, "OTHER_RACE": 2.0, "OWNER_SIZE": 3.55, "POPULATION": 110.0, "RENTER_SIZ": 3.55, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 5.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49464300046427, 39.141659999872424, -84.49194300046456, 39.142859999872286], "geometry": {"coordinates": [[[-84.49454300046429, 39.142859999872286], [-84.49194300046456, 39.14255999987233], [-84.49224300046454, 39.14215999987238], [-84.49244300046452, 39.141659999872424], [-84.49464300046427, 39.14195999987242], [-84.49464300046427, 39.14225999987239], [-84.49454300046429, 39.142859999872286]]], "type": "Polygon"}, "id": "453", "properties": {"AGE_0_5": 5.0, "AGE_10_14": 8.0, "AGE_15_19": 12.0, "AGE_18": 61.0, "AGE_20_24": 4.0, "AGE_21": 54.0, "AGE_25_34": 6.0, "AGE_35_44": 16.0, "AGE_45_54": 13.0, "AGE_55_59": 4.0, "AGE_5_9": 6.0, "AGE_60_64": 5.0, "AGE_62": 11.0, "AGE_65": 7.0, "AGE_65_74": 4.0, "AGE_75_84": 2.0, "AGE_85": 1.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 1.0, "AP_BLACK": 85.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.01, "ASIAN": 1.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 3.37, "AVG_HHSIZE": 2.61, "BG": "390610067004", "BLACK": 85.0, "BLOCK": "390610067004004", "BURGLARY": 4, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 10415.8913, "F1_RACE": 86.0, "F2_RACES": 0.0, "FEMALE": 54.0, "FEMALE_18": 40.0, "FEMALE_65": 2.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 19.0, "HH_NONFAMI": 14.0, "HOUSEHOLDS": 33.0, "HSNG_UNITS": 40.0, "HU_OCCUPIE": 33.0, "HU_VACANT": 7.0, "ID": 703648.0, "IN_HOUSEHO": 86.0, "MALE": 32.0, "MALE_18": 21.0, "MALE_65": 5.0, "MEDIAN_AGE": 37.3, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 86.0, "OCCHU_OWNE": 18.0, "OCCHU_RENT": 15.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 2.22, "POPULATION": 86.0, "RENTER_SIZ": 3.07, "THEFT": 2, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#fd9828"}, "type": "Feature"}, {"bbox": [-84.49454300046429, 39.14255999987233, -84.49104300046467, 39.14445999987216], "geometry": {"coordinates": [[[-84.49454300046429, 39.14355999987227], [-84.49434300046431, 39.14445999987216], [-84.49104300046467, 39.14415999987221], [-84.4915430004646, 39.143159999872296], [-84.49194300046456, 39.14255999987233], [-84.49454300046429, 39.142859999872286], [-84.49454300046429, 39.14355999987227]]], "type": "Polygon"}, "id": "454", "properties": {"AGE_0_5": 0.0, "AGE_10_14": 0.0, "AGE_15_19": 0.0, "AGE_18": 0.0, "AGE_20_24": 0.0, "AGE_21": 0.0, "AGE_25_34": 0.0, "AGE_35_44": 0.0, "AGE_45_54": 0.0, "AGE_55_59": 0.0, "AGE_5_9": 0.0, "AGE_60_64": 0.0, "AGE_62": 0.0, "AGE_65": 0.0, "AGE_65_74": 0.0, "AGE_75_84": 0.0, "AGE_85": 0.0, "AMINDIAN": 0.0, "AP_AMINDIA": 0.0, "AP_ASIAN": 0.0, "AP_BLACK": 0.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 0.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 0.0, "ASSAULT": 0, "AVG_FAMSIZ": 0.0, "AVG_HHSIZE": 0.0, "BG": "390610067004", "BLACK": 0.0, "BLOCK": "390610067004003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 0.0, "F1_RACE": 0.0, "F2_RACES": 0.0, "FEMALE": 0.0, "FEMALE_18": 0.0, "FEMALE_65": 0.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 0.0, "HH_NONFAMI": 0.0, "HOUSEHOLDS": 0.0, "HSNG_UNITS": 0.0, "HU_OCCUPIE": 0.0, "HU_VACANT": 0.0, "ID": 703666.0, "IN_HOUSEHO": 0.0, "MALE": 0.0, "MALE_18": 0.0, "MALE_65": 0.0, "MEDIAN_AGE": 0.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 0.0, "OCCHU_OWNE": 0.0, "OCCHU_RENT": 0.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 0.0, "POPULATION": 0.0, "RENTER_SIZ": 0.0, "THEFT": 1, "THEFT_D": 1.0, "TRACT": "39061006700", "WHITE": 0.0, "__folium_color": "#ffffe5"}, "type": "Feature"}, {"bbox": [-84.49534300046422, 39.14415999987221, -84.49034300046476, 39.14575999987203], "geometry": {"coordinates": [[[-84.49514300046425, 39.14575999987203], [-84.49404300046436, 39.145659999872066], [-84.49224300046455, 39.14545999987209], [-84.49034300046476, 39.145359999872106], [-84.49054300046475, 39.14495999987214], [-84.49104300046467, 39.14415999987221], [-84.49434300046431, 39.14445999987216], [-84.49534300046422, 39.144559999872136], [-84.49514300046425, 39.14575999987203]]], "type": "Polygon"}, "id": "455", "properties": {"AGE_0_5": 35.0, "AGE_10_14": 32.0, "AGE_15_19": 25.0, "AGE_18": 156.0, "AGE_20_24": 23.0, "AGE_21": 139.0, "AGE_25_34": 35.0, "AGE_35_44": 41.0, "AGE_45_54": 24.0, "AGE_55_59": 6.0, "AGE_5_9": 40.0, "AGE_60_64": 5.0, "AGE_62": 13.0, "AGE_65": 12.0, "AGE_65_74": 10.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 5.0, "AP_ASIAN": 3.0, "AP_BLACK": 275.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 3.0, "AP_OTHER": 0.0, "AP_WHITE": 2.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 6, "AVG_FAMSIZ": 3.55, "AVG_HHSIZE": 2.62, "BG": "390610068002", "BLACK": 270.0, "BLOCK": "390610068002007", "BURGLARY": 2, "BURG_D": 1.0, "COUNTY": "39061", "DENSITY": 13517.0854, "F1_RACE": 271.0, "F2_RACES": 7.0, "FEMALE": 157.0, "FEMALE_18": 104.0, "FEMALE_65": 11.0, "GQ_INSTITU": 0.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 0.0, "HAWAIIAN": 0.0, "HH_FAMILY": 64.0, "HH_NONFAMI": 42.0, "HOUSEHOLDS": 106.0, "HSNG_UNITS": 128.0, "HU_OCCUPIE": 106.0, "HU_VACANT": 22.0, "ID": 703686.0, "IN_HOUSEHO": 278.0, "MALE": 121.0, "MALE_18": 52.0, "MALE_65": 1.0, "MEDIAN_AGE": 21.0, "MSA": "1640", "NH_WHITE": 0.0, "NOT_HISPAN": 275.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 101.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.6, "POPULATION": 278.0, "RENTER_SIZ": 2.67, "THEFT": 10, "THEFT_D": 1.0, "TRACT": "39061006800", "WHITE": 0.0, "__folium_color": "#ca4b02"}, "type": "Feature"}, {"bbox": [-84.49774300046397, 39.14575999987203, -84.4948430004643, 39.148759999871736], "geometry": {"coordinates": [[[-84.49624300046413, 39.148759999871736], [-84.4948430004643, 39.14865999987177], [-84.4948430004643, 39.14845999987178], [-84.49514300046425, 39.14575999987203], [-84.49774300046397, 39.145959999872], [-84.49734300046401, 39.147459999871856], [-84.49644300046413, 39.14835999987178], [-84.49624300046413, 39.148759999871736]]], "type": "Polygon"}, "id": "456", "properties": {"AGE_0_5": 4.0, "AGE_10_14": 6.0, "AGE_15_19": 0.0, "AGE_18": 38.0, "AGE_20_24": 4.0, "AGE_21": 36.0, "AGE_25_34": 6.0, "AGE_35_44": 13.0, "AGE_45_54": 8.0, "AGE_55_59": 2.0, "AGE_5_9": 6.0, "AGE_60_64": 1.0, "AGE_62": 4.0, "AGE_65": 4.0, "AGE_65_74": 2.0, "AGE_75_84": 1.0, "AGE_85": 1.0, "AMINDIAN": 1.0, "AP_AMINDIA": 1.0, "AP_ASIAN": 0.0, "AP_BLACK": 43.0, "AP_HAWAIIA": 0.0, "AP_HISPANI": 0.0, "AP_OTHER": 0.0, "AP_WHITE": 10.0, "AREA": 0.02, "ASIAN": 0.0, "ASSALT_D": 1.0, "ASSAULT": 2, "AVG_FAMSIZ": 2.83, "AVG_HHSIZE": 2.28, "BG": "390610068002", "BLACK": 43.0, "BLOCK": "390610068002003", "BURGLARY": 0, "BURG_D": 0.0, "COUNTY": "39061", "DENSITY": 2300.5913, "F1_RACE": 54.0, "F2_RACES": 0.0, "FEMALE": 34.0, "FEMALE_18": 29.0, "FEMALE_65": 3.0, "GQ_INSTITU": 13.0, "GQ_NONINST": 0.0, "GROUP_QUAR": 13.0, "HAWAIIAN": 0.0, "HH_FAMILY": 12.0, "HH_NONFAMI": 6.0, "HOUSEHOLDS": 18.0, "HSNG_UNITS": 25.0, "HU_OCCUPIE": 18.0, "HU_VACANT": 7.0, "ID": 703708.0, "IN_HOUSEHO": 41.0, "MALE": 20.0, "MALE_18": 9.0, "MALE_65": 1.0, "MEDIAN_AGE": 36.0, "MSA": "1640", "NH_WHITE": 10.0, "NOT_HISPAN": 54.0, "OCCHU_OWNE": 5.0, "OCCHU_RENT": 13.0, "OTHER_RACE": 0.0, "OWNER_SIZE": 1.8, "POPULATION": 54.0, "RENTER_SIZ": 2.46, "THEFT": 0, "THEFT_D": 0.0, "TRACT": "39061006800", "WHITE": 10.0, "__folium_color": "#fee290"}, "type": "Feature"}], "type": "FeatureCollection"});\n", "\n", " \n", " \n", - " geo_json_7afca762c2cfb2afbcb8b0f1c114494c.bindTooltip(\n", + " geo_json_cdee409ba88846818e65865426231e6f.bindTooltip(\n", " function(layer){\n", " let div = L.DomUtil.create('div');\n", " \n", @@ -474,13 +474,13 @@ " ,{"className": "foliumtooltip", "sticky": true});\n", " \n", " \n", - " geo_json_7afca762c2cfb2afbcb8b0f1c114494c.addTo(map_f848f7beda5e816bdaa94bf9951558e4);\n", + " geo_json_cdee409ba88846818e65865426231e6f.addTo(map_0b4751f96b5efb713095db14efa0eacb);\n", " \n", "</script>\n", "</html>\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen>" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -507,11 +507,11 @@ "id": "151d7f77-042f-40b2-b0d0-a1aa90268ed2", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:45.850189Z", - "iopub.status.busy": "2024-07-24T17:03:45.848657Z", - "iopub.status.idle": "2024-07-24T17:03:46.042324Z", - "shell.execute_reply": "2024-07-24T17:03:46.041940Z", - "shell.execute_reply.started": "2024-07-24T17:03:45.850135Z" + "iopub.execute_input": "2024-07-24T18:19:08.671281Z", + "iopub.status.busy": "2024-07-24T18:19:08.669078Z", + "iopub.status.idle": "2024-07-24T18:19:08.897162Z", + "shell.execute_reply": "2024-07-24T18:19:08.896824Z", + "shell.execute_reply.started": "2024-07-24T18:19:08.671246Z" } }, "outputs": [], @@ -533,16 +533,16 @@ "id": "f4eed567-9259-47b6-a251-4a5266dbb59f", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:47.697752Z", - "iopub.status.busy": "2024-07-24T17:03:47.696843Z", - "iopub.status.idle": "2024-07-24T17:03:47.718293Z", - "shell.execute_reply": "2024-07-24T17:03:47.717835Z", - "shell.execute_reply.started": "2024-07-24T17:03:47.697697Z" + "iopub.execute_input": "2024-07-24T18:19:09.673900Z", + "iopub.status.busy": "2024-07-24T18:19:09.672155Z", + "iopub.status.idle": "2024-07-24T18:19:09.697348Z", + "shell.execute_reply": "2024-07-24T18:19:09.696833Z", + "shell.execute_reply.started": "2024-07-24T18:19:09.673846Z" } }, "outputs": [], "source": [ - "colors = get_color_array(df.DENSITY.values, scheme=\"quantiles\", cmap=\"YlOrBr\")" + "colors = get_color_array(df.DENSITY.values, scheme=\"quantiles\", cmap=\"YlOrBr\", alpha=0.6)" ] }, { @@ -551,24 +551,24 @@ "id": "f1d9986f-d9b7-4116-bd29-a0f61869085c", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:48.741554Z", - "iopub.status.busy": "2024-07-24T17:03:48.740721Z", - "iopub.status.idle": "2024-07-24T17:03:48.754433Z", - "shell.execute_reply": "2024-07-24T17:03:48.753397Z", - "shell.execute_reply.started": "2024-07-24T17:03:48.741505Z" + "iopub.execute_input": "2024-07-24T18:19:10.132077Z", + "iopub.status.busy": "2024-07-24T18:19:10.131659Z", + "iopub.status.idle": "2024-07-24T18:19:10.137252Z", + "shell.execute_reply": "2024-07-24T18:19:10.136625Z", + "shell.execute_reply.started": "2024-07-24T18:19:10.132052Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([[254, 226, 144, 255],\n", - " [253, 152, 40, 255],\n", - " [254, 226, 144, 255],\n", + "array([[254, 226, 144, 153],\n", + " [253, 152, 40, 153],\n", + " [254, 226, 144, 153],\n", " ...,\n", - " [255, 255, 229, 255],\n", - " [202, 75, 2, 255],\n", - " [254, 226, 144, 255]], dtype=uint8)" + " [255, 255, 229, 153],\n", + " [202, 75, 2, 153],\n", + " [254, 226, 144, 153]], dtype=uint8)" ] }, "execution_count": 10, @@ -586,23 +586,23 @@ "id": "b52bf815-aa3d-41c6-bc1d-d9fdcb730c68", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:49.771853Z", - "iopub.status.busy": "2024-07-24T17:03:49.770485Z", - "iopub.status.idle": "2024-07-24T17:03:49.839617Z", - "shell.execute_reply": "2024-07-24T17:03:49.839200Z", - "shell.execute_reply.started": "2024-07-24T17:03:49.771797Z" + "iopub.execute_input": "2024-07-24T18:19:10.666185Z", + "iopub.status.busy": "2024-07-24T18:19:10.664272Z", + "iopub.status.idle": "2024-07-24T18:19:10.817881Z", + "shell.execute_reply": "2024-07-24T18:19:10.815869Z", + "shell.execute_reply.started": "2024-07-24T18:19:10.666136Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6e96c0643496460da30d38df72bb309a", + "model_id": "74b162341db149db9df27fd66ce7837a", "version_major": 2, "version_minor": 1 }, "text/plain": [ - "Map(layers=[PolygonLayer(get_fill_color=\n", + "Map(layers=[PolygonLayer(get_fill_color=\n", "[\n", " [\n", " 254,\n", @@ -630,11 +630,11 @@ "id": "03c6550e-1797-4d05-8e3d-118400c0e033", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:51.098820Z", - "iopub.status.busy": "2024-07-24T17:03:51.097487Z", - "iopub.status.idle": "2024-07-24T17:03:51.131670Z", - "shell.execute_reply": "2024-07-24T17:03:51.130688Z", - "shell.execute_reply.started": "2024-07-24T17:03:51.098754Z" + "iopub.execute_input": "2024-07-24T18:19:11.363932Z", + "iopub.status.busy": "2024-07-24T18:19:11.363595Z", + "iopub.status.idle": "2024-07-24T18:19:11.385160Z", + "shell.execute_reply": "2024-07-24T18:19:11.384267Z", + "shell.execute_reply.started": "2024-07-24T18:19:11.363910Z" } }, "outputs": [], @@ -656,11 +656,11 @@ "id": "d13dcfd4-a3e1-4d5a-b7bd-35134fa83fab", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:56.157909Z", - "iopub.status.busy": "2024-07-24T17:03:56.157279Z", - "iopub.status.idle": "2024-07-24T17:03:56.171129Z", - "shell.execute_reply": "2024-07-24T17:03:56.170124Z", - "shell.execute_reply.started": "2024-07-24T17:03:56.157880Z" + "iopub.execute_input": "2024-07-24T18:19:12.514055Z", + "iopub.status.busy": "2024-07-24T18:19:12.512244Z", + "iopub.status.idle": "2024-07-24T18:19:12.545455Z", + "shell.execute_reply": "2024-07-24T18:19:12.544857Z", + "shell.execute_reply.started": "2024-07-24T18:19:12.513894Z" } }, "outputs": [], @@ -674,28 +674,28 @@ "id": "2e6c5db6-d7ea-4baa-b2bb-fac4b5ba7ecd", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:56.678967Z", - "iopub.status.busy": "2024-07-24T17:03:56.678055Z", - "iopub.status.idle": "2024-07-24T17:03:56.700709Z", - "shell.execute_reply": "2024-07-24T17:03:56.699489Z", - "shell.execute_reply.started": "2024-07-24T17:03:56.678911Z" + "iopub.execute_input": "2024-07-24T18:19:13.092256Z", + "iopub.status.busy": "2024-07-24T18:19:13.091290Z", + "iopub.status.idle": "2024-07-24T18:19:13.109278Z", + "shell.execute_reply": "2024-07-24T18:19:13.108605Z", + "shell.execute_reply.started": "2024-07-24T18:19:13.092191Z" } }, "outputs": [ { "data": { "text/plain": [ - "0 [254.0, 226.0, 144.0, 255.0]\n", - "1 [253.0, 152.0, 40.0, 255.0]\n", - "2 [254.0, 226.0, 144.0, 255.0]\n", - "3 [102.0, 37.0, 5.0, 255.0]\n", - "4 [254.0, 226.0, 144.0, 255.0]\n", + "0 [254.0, 226.0, 144.0, 153.0]\n", + "1 [253.0, 152.0, 40.0, 153.0]\n", + "2 [254.0, 226.0, 144.0, 153.0]\n", + "3 [102.0, 37.0, 5.0, 153.0]\n", + "4 [254.0, 226.0, 144.0, 153.0]\n", " ... \n", - "452 [253.0, 152.0, 40.0, 255.0]\n", - "453 [253.0, 152.0, 40.0, 255.0]\n", - "454 [255.0, 255.0, 229.0, 255.0]\n", - "455 [202.0, 75.0, 2.0, 255.0]\n", - "456 [254.0, 226.0, 144.0, 255.0]\n", + "452 [253.0, 152.0, 40.0, 153.0]\n", + "453 [253.0, 152.0, 40.0, 153.0]\n", + "454 [255.0, 255.0, 229.0, 153.0]\n", + "455 [202.0, 75.0, 2.0, 153.0]\n", + "456 [254.0, 226.0, 144.0, 153.0]\n", "Name: fill, Length: 457, dtype: object" ] }, @@ -714,11 +714,11 @@ "id": "7e2f40d5-243b-41e7-99e1-2ab1f94b23ff", "metadata": { "execution": { - "iopub.execute_input": "2024-07-24T17:03:57.630205Z", - "iopub.status.busy": "2024-07-24T17:03:57.629092Z", - "iopub.status.idle": "2024-07-24T17:03:57.781679Z", - "shell.execute_reply": "2024-07-24T17:03:57.781300Z", - "shell.execute_reply.started": "2024-07-24T17:03:57.630159Z" + "iopub.execute_input": "2024-07-24T18:19:13.986221Z", + "iopub.status.busy": "2024-07-24T18:19:13.985879Z", + "iopub.status.idle": "2024-07-24T18:19:14.148903Z", + "shell.execute_reply": "2024-07-24T18:19:14.148480Z", + "shell.execute_reply.started": "2024-07-24T18:19:13.986198Z" } }, "outputs": [ @@ -779,7 +779,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -862,7 +862,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -905,7 +905,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -956,7 +956,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -991,7 +991,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1062,7 +1062,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1105,7 +1105,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1140,7 +1140,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1175,7 +1175,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1210,7 +1210,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1257,7 +1257,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1292,7 +1292,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1327,7 +1327,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1362,7 +1362,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1413,7 +1413,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1452,7 +1452,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1491,7 +1491,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1530,7 +1530,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1565,7 +1565,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1600,7 +1600,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1635,7 +1635,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1670,7 +1670,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1705,7 +1705,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1740,7 +1740,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1779,7 +1779,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1818,7 +1818,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1861,7 +1861,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -1968,7 +1968,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2011,7 +2011,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2066,7 +2066,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2185,7 +2185,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2224,7 +2224,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2267,7 +2267,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2314,7 +2314,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2361,7 +2361,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2404,7 +2404,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2443,7 +2443,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2502,7 +2502,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2553,7 +2553,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2596,7 +2596,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2635,7 +2635,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2670,7 +2670,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2709,7 +2709,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2744,7 +2744,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2783,7 +2783,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2818,7 +2818,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2853,7 +2853,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2892,7 +2892,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -2931,7 +2931,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3030,7 +3030,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3073,7 +3073,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3116,7 +3116,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3147,7 +3147,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3186,7 +3186,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3225,7 +3225,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3268,7 +3268,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3319,7 +3319,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3358,7 +3358,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3429,7 +3429,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3464,7 +3464,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3531,7 +3531,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3606,7 +3606,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3681,7 +3681,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3724,7 +3724,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3759,7 +3759,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3802,7 +3802,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3845,7 +3845,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3892,7 +3892,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3939,7 +3939,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -3986,7 +3986,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4025,7 +4025,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4060,7 +4060,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4179,7 +4179,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4288,7 +4288,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4331,7 +4331,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4374,7 +4374,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4417,7 +4417,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4452,7 +4452,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4507,7 +4507,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4546,7 +4546,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4597,7 +4597,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4636,7 +4636,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4671,7 +4671,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4706,7 +4706,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4749,7 +4749,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4788,7 +4788,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4835,7 +4835,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4894,7 +4894,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4945,7 +4945,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -4988,7 +4988,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5035,7 +5035,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5090,7 +5090,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5129,7 +5129,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5168,7 +5168,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5207,7 +5207,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5246,7 +5246,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5285,7 +5285,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5320,7 +5320,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5355,7 +5355,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5406,7 +5406,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5445,7 +5445,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5484,7 +5484,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5527,7 +5527,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5566,7 +5566,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5605,7 +5605,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5640,7 +5640,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5683,7 +5683,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5730,7 +5730,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5785,7 +5785,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5872,7 +5872,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5915,7 +5915,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -5978,7 +5978,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6009,7 +6009,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6088,7 +6088,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6191,7 +6191,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6226,7 +6226,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6261,7 +6261,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6296,7 +6296,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6335,7 +6335,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6370,7 +6370,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6405,7 +6405,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6478,7 +6478,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6509,7 +6509,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6544,7 +6544,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6627,7 +6627,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6666,7 +6666,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6745,7 +6745,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6788,7 +6788,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6823,7 +6823,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6894,7 +6894,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6941,7 +6941,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -6976,7 +6976,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7019,7 +7019,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7066,7 +7066,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7129,7 +7129,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7172,7 +7172,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7239,7 +7239,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7274,7 +7274,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7309,7 +7309,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7344,7 +7344,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7379,7 +7379,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7414,7 +7414,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7449,7 +7449,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7484,7 +7484,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7523,7 +7523,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7558,7 +7558,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7613,7 +7613,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7676,7 +7676,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7715,7 +7715,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7750,7 +7750,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7785,7 +7785,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7832,7 +7832,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7871,7 +7871,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7906,7 +7906,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7941,7 +7941,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -7976,7 +7976,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8011,7 +8011,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8050,7 +8050,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8097,7 +8097,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8136,7 +8136,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8179,7 +8179,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8218,7 +8218,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8257,7 +8257,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8292,7 +8292,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8359,7 +8359,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8406,7 +8406,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8441,7 +8441,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8476,7 +8476,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8511,7 +8511,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8550,7 +8550,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8593,7 +8593,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8628,7 +8628,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8735,7 +8735,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8770,7 +8770,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8805,7 +8805,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8840,7 +8840,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8875,7 +8875,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8910,7 +8910,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8945,7 +8945,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -8980,7 +8980,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9019,7 +9019,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9054,7 +9054,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9085,7 +9085,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9128,7 +9128,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9175,7 +9175,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9206,7 +9206,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9237,7 +9237,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9276,7 +9276,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9315,7 +9315,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9354,7 +9354,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9389,7 +9389,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9444,7 +9444,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9491,7 +9491,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9566,7 +9566,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9605,7 +9605,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9648,7 +9648,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9703,7 +9703,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9746,7 +9746,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9789,7 +9789,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9828,7 +9828,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9867,7 +9867,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9918,7 +9918,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -9969,7 +9969,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10016,7 +10016,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10059,7 +10059,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10102,7 +10102,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10149,7 +10149,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10200,7 +10200,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10247,7 +10247,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10290,7 +10290,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10329,7 +10329,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10372,7 +10372,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10411,7 +10411,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10446,7 +10446,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10501,7 +10501,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10536,7 +10536,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10571,7 +10571,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10610,7 +10610,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10653,7 +10653,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10700,7 +10700,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10735,7 +10735,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10774,7 +10774,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10821,7 +10821,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -10982,7 +10982,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11013,7 +11013,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11088,7 +11088,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11123,7 +11123,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11194,7 +11194,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11229,7 +11229,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11280,7 +11280,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11319,7 +11319,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11362,7 +11362,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11397,7 +11397,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11440,7 +11440,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11479,7 +11479,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11526,7 +11526,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11605,7 +11605,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11668,7 +11668,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11703,7 +11703,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11738,7 +11738,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11789,7 +11789,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11820,7 +11820,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11867,7 +11867,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11946,7 +11946,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -11985,7 +11985,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12020,7 +12020,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12055,7 +12055,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12098,7 +12098,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12141,7 +12141,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12176,7 +12176,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12219,7 +12219,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12274,7 +12274,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12309,7 +12309,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12356,7 +12356,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12395,7 +12395,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12450,7 +12450,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12513,7 +12513,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12580,7 +12580,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12615,7 +12615,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12670,7 +12670,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12709,7 +12709,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12752,7 +12752,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12803,7 +12803,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12838,7 +12838,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12877,7 +12877,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12928,7 +12928,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -12967,7 +12967,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13010,7 +13010,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13069,7 +13069,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13108,7 +13108,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13167,7 +13167,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13210,7 +13210,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13253,7 +13253,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13300,7 +13300,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13339,7 +13339,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13390,7 +13390,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13425,7 +13425,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13460,7 +13460,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13499,7 +13499,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13566,7 +13566,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13601,7 +13601,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13652,7 +13652,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13703,7 +13703,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13750,7 +13750,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13789,7 +13789,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13824,7 +13824,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13883,7 +13883,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13922,7 +13922,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13957,7 +13957,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -13992,7 +13992,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14027,7 +14027,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14066,7 +14066,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14105,7 +14105,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14152,7 +14152,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14191,7 +14191,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14234,7 +14234,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14273,7 +14273,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14348,7 +14348,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14387,7 +14387,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14430,7 +14430,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14473,7 +14473,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14508,7 +14508,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14551,7 +14551,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14590,7 +14590,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14629,7 +14629,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14672,7 +14672,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14711,7 +14711,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14750,7 +14750,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14785,7 +14785,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14828,7 +14828,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14863,7 +14863,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14898,7 +14898,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14937,7 +14937,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -14972,7 +14972,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15019,7 +15019,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15062,7 +15062,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15097,7 +15097,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15136,7 +15136,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15175,7 +15175,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15214,7 +15214,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15249,7 +15249,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15308,7 +15308,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15343,7 +15343,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15378,7 +15378,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15417,7 +15417,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15476,7 +15476,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15507,7 +15507,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15538,7 +15538,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15569,7 +15569,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15612,7 +15612,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15695,7 +15695,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15774,7 +15774,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15813,7 +15813,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15872,7 +15872,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15907,7 +15907,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -15942,7 +15942,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16005,7 +16005,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16040,7 +16040,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16091,7 +16091,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16154,7 +16154,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16205,7 +16205,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16240,7 +16240,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16307,7 +16307,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16374,7 +16374,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16445,7 +16445,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16496,7 +16496,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16527,7 +16527,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16570,7 +16570,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16613,7 +16613,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16648,7 +16648,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16683,7 +16683,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16726,7 +16726,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16761,7 +16761,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16796,7 +16796,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16831,7 +16831,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16866,7 +16866,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16901,7 +16901,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16936,7 +16936,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -16971,7 +16971,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17006,7 +17006,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17041,7 +17041,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17076,7 +17076,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17111,7 +17111,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17146,7 +17146,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17193,7 +17193,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17252,7 +17252,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17291,7 +17291,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17326,7 +17326,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17365,7 +17365,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17412,7 +17412,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17447,7 +17447,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17482,7 +17482,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17561,7 +17561,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17600,7 +17600,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17643,7 +17643,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17686,7 +17686,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17745,7 +17745,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17788,7 +17788,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17823,7 +17823,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17862,7 +17862,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17901,7 +17901,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17944,7 +17944,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -17987,7 +17987,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18022,7 +18022,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18057,7 +18057,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18140,7 +18140,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18187,7 +18187,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18286,7 +18286,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18325,7 +18325,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18360,7 +18360,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18399,7 +18399,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18438,7 +18438,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18477,7 +18477,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18512,7 +18512,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18647,7 +18647,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18686,7 +18686,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18773,7 +18773,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18808,7 +18808,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18855,7 +18855,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18898,7 +18898,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18945,7 +18945,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -18988,7 +18988,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19019,7 +19019,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19062,7 +19062,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19117,7 +19117,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19152,7 +19152,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19199,7 +19199,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19250,7 +19250,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19285,7 +19285,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19320,7 +19320,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19363,7 +19363,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19406,7 +19406,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19477,7 +19477,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19608,7 +19608,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19651,7 +19651,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19694,7 +19694,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19745,7 +19745,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19788,7 +19788,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19823,7 +19823,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19858,7 +19858,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -19973,7 +19973,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20024,7 +20024,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20059,7 +20059,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20134,7 +20134,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20193,7 +20193,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20228,7 +20228,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20283,7 +20283,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20354,7 +20354,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20405,7 +20405,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20444,7 +20444,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20523,7 +20523,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20558,7 +20558,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20601,7 +20601,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20644,7 +20644,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20691,7 +20691,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20726,7 +20726,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20765,7 +20765,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20804,7 +20804,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20847,7 +20847,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20898,7 +20898,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20937,7 +20937,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -20992,7 +20992,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21031,7 +21031,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21154,7 +21154,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21189,7 +21189,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21248,7 +21248,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21287,7 +21287,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21326,7 +21326,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21365,7 +21365,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21404,7 +21404,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21439,7 +21439,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21502,7 +21502,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21537,7 +21537,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21576,7 +21576,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21619,7 +21619,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21662,7 +21662,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21713,7 +21713,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " "geometry": {\n", " "coordinates": [\n", @@ -21757,8 +21757,7 @@ " }\n", " ],\n", " "getFillColor": "@@=fill",\n", - " "id": "9c801a00-d82d-4562-98c0-aed47f92311b",\n", - " "opacity": 0.8,\n", + " "id": "60ca115d-d5c6-4a42-bf3a-bfeb0c106053",\n", " "pickable": true\n", " }\n", " ],\n", @@ -21805,7 +21804,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -21888,7 +21887,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -21931,7 +21930,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -21982,7 +21981,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22017,7 +22016,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22088,7 +22087,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22131,7 +22130,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22166,7 +22165,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22201,7 +22200,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22236,7 +22235,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22283,7 +22282,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22318,7 +22317,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22353,7 +22352,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22388,7 +22387,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22439,7 +22438,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22478,7 +22477,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22517,7 +22516,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22556,7 +22555,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22591,7 +22590,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22626,7 +22625,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22661,7 +22660,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22696,7 +22695,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22731,7 +22730,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22766,7 +22765,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22805,7 +22804,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22844,7 +22843,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22887,7 +22886,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -22994,7 +22993,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23037,7 +23036,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23092,7 +23091,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23211,7 +23210,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23250,7 +23249,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23293,7 +23292,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23340,7 +23339,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23387,7 +23386,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23430,7 +23429,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23469,7 +23468,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23528,7 +23527,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23579,7 +23578,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23622,7 +23621,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23661,7 +23660,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23696,7 +23695,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23735,7 +23734,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23770,7 +23769,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23809,7 +23808,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23844,7 +23843,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23879,7 +23878,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23918,7 +23917,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -23957,7 +23956,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24056,7 +24055,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24099,7 +24098,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24142,7 +24141,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24173,7 +24172,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24212,7 +24211,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24251,7 +24250,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24294,7 +24293,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24345,7 +24344,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24384,7 +24383,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24455,7 +24454,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24490,7 +24489,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24557,7 +24556,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24632,7 +24631,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24707,7 +24706,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24750,7 +24749,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24785,7 +24784,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24828,7 +24827,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24871,7 +24870,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24918,7 +24917,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -24965,7 +24964,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25012,7 +25011,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25051,7 +25050,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25086,7 +25085,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25205,7 +25204,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25314,7 +25313,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25357,7 +25356,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25400,7 +25399,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25443,7 +25442,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25478,7 +25477,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25533,7 +25532,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25572,7 +25571,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25623,7 +25622,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25662,7 +25661,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25697,7 +25696,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25732,7 +25731,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25775,7 +25774,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25814,7 +25813,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25861,7 +25860,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25920,7 +25919,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -25971,7 +25970,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26014,7 +26013,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26061,7 +26060,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26116,7 +26115,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26155,7 +26154,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26194,7 +26193,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26233,7 +26232,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26272,7 +26271,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26311,7 +26310,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26346,7 +26345,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26381,7 +26380,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26432,7 +26431,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26471,7 +26470,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26510,7 +26509,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26553,7 +26552,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26592,7 +26591,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26631,7 +26630,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26666,7 +26665,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26709,7 +26708,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26756,7 +26755,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26811,7 +26810,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26898,7 +26897,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -26941,7 +26940,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27004,7 +27003,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27035,7 +27034,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27114,7 +27113,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27217,7 +27216,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27252,7 +27251,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27287,7 +27286,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27322,7 +27321,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27361,7 +27360,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27396,7 +27395,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27431,7 +27430,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27504,7 +27503,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27535,7 +27534,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27570,7 +27569,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27653,7 +27652,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27692,7 +27691,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27771,7 +27770,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27814,7 +27813,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27849,7 +27848,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27920,7 +27919,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -27967,7 +27966,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28002,7 +28001,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28045,7 +28044,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28092,7 +28091,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28155,7 +28154,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28198,7 +28197,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28265,7 +28264,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28300,7 +28299,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28335,7 +28334,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28370,7 +28369,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28405,7 +28404,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28440,7 +28439,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28475,7 +28474,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28510,7 +28509,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28549,7 +28548,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28584,7 +28583,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28639,7 +28638,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28702,7 +28701,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28741,7 +28740,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28776,7 +28775,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28811,7 +28810,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28858,7 +28857,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28897,7 +28896,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28932,7 +28931,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -28967,7 +28966,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29002,7 +29001,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29037,7 +29036,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29076,7 +29075,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29123,7 +29122,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29162,7 +29161,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29205,7 +29204,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29244,7 +29243,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29283,7 +29282,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29318,7 +29317,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29385,7 +29384,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29432,7 +29431,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29467,7 +29466,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29502,7 +29501,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29537,7 +29536,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29576,7 +29575,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29619,7 +29618,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29654,7 +29653,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29761,7 +29760,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29796,7 +29795,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29831,7 +29830,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29866,7 +29865,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29901,7 +29900,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29936,7 +29935,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -29971,7 +29970,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30006,7 +30005,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30045,7 +30044,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30080,7 +30079,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30111,7 +30110,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30154,7 +30153,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30201,7 +30200,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30232,7 +30231,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30263,7 +30262,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30302,7 +30301,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30341,7 +30340,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30380,7 +30379,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30415,7 +30414,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30470,7 +30469,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30517,7 +30516,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30592,7 +30591,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30631,7 +30630,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30674,7 +30673,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30729,7 +30728,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30772,7 +30771,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30815,7 +30814,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30854,7 +30853,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30893,7 +30892,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30944,7 +30943,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -30995,7 +30994,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31042,7 +31041,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31085,7 +31084,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31128,7 +31127,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31175,7 +31174,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31226,7 +31225,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31273,7 +31272,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31316,7 +31315,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31355,7 +31354,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31398,7 +31397,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31437,7 +31436,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31472,7 +31471,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31527,7 +31526,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31562,7 +31561,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31597,7 +31596,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31636,7 +31635,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31679,7 +31678,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31726,7 +31725,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31761,7 +31760,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31800,7 +31799,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -31847,7 +31846,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32008,7 +32007,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32039,7 +32038,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32114,7 +32113,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32149,7 +32148,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32220,7 +32219,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32255,7 +32254,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32306,7 +32305,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32345,7 +32344,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32388,7 +32387,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32423,7 +32422,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32466,7 +32465,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32505,7 +32504,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32552,7 +32551,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32631,7 +32630,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32694,7 +32693,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32729,7 +32728,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32764,7 +32763,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32815,7 +32814,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32846,7 +32845,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32893,7 +32892,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -32972,7 +32971,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33011,7 +33010,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33046,7 +33045,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33081,7 +33080,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33124,7 +33123,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33167,7 +33166,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33202,7 +33201,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33245,7 +33244,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33300,7 +33299,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33335,7 +33334,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33382,7 +33381,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33421,7 +33420,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33476,7 +33475,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33539,7 +33538,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33606,7 +33605,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33641,7 +33640,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33696,7 +33695,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33735,7 +33734,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33778,7 +33777,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33829,7 +33828,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33864,7 +33863,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33903,7 +33902,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33954,7 +33953,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -33993,7 +33992,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34036,7 +34035,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34095,7 +34094,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34134,7 +34133,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34193,7 +34192,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34236,7 +34235,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34279,7 +34278,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34326,7 +34325,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34365,7 +34364,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34416,7 +34415,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34451,7 +34450,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34486,7 +34485,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34525,7 +34524,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34592,7 +34591,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34627,7 +34626,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34678,7 +34677,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34729,7 +34728,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34776,7 +34775,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34815,7 +34814,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34850,7 +34849,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34909,7 +34908,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34948,7 +34947,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -34983,7 +34982,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35018,7 +35017,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35053,7 +35052,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35092,7 +35091,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35131,7 +35130,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35178,7 +35177,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35217,7 +35216,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35260,7 +35259,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35299,7 +35298,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35374,7 +35373,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35413,7 +35412,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35456,7 +35455,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35499,7 +35498,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35534,7 +35533,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35577,7 +35576,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35616,7 +35615,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35655,7 +35654,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35698,7 +35697,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35737,7 +35736,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35776,7 +35775,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35811,7 +35810,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35854,7 +35853,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35889,7 +35888,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35924,7 +35923,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35963,7 +35962,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -35998,7 +35997,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36045,7 +36044,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36088,7 +36087,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36123,7 +36122,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36162,7 +36161,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36201,7 +36200,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36240,7 +36239,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36275,7 +36274,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36334,7 +36333,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36369,7 +36368,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36404,7 +36403,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36443,7 +36442,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36502,7 +36501,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36533,7 +36532,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36564,7 +36563,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36595,7 +36594,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36638,7 +36637,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36721,7 +36720,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36800,7 +36799,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36839,7 +36838,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36898,7 +36897,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36933,7 +36932,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -36968,7 +36967,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37031,7 +37030,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37066,7 +37065,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37117,7 +37116,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37180,7 +37179,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37231,7 +37230,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37266,7 +37265,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37333,7 +37332,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37400,7 +37399,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37471,7 +37470,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37522,7 +37521,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37553,7 +37552,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37596,7 +37595,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37639,7 +37638,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37674,7 +37673,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37709,7 +37708,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37752,7 +37751,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37787,7 +37786,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37822,7 +37821,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37857,7 +37856,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37892,7 +37891,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37927,7 +37926,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37962,7 +37961,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -37997,7 +37996,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38032,7 +38031,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38067,7 +38066,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38102,7 +38101,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38137,7 +38136,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38172,7 +38171,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38219,7 +38218,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38278,7 +38277,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38317,7 +38316,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38352,7 +38351,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38391,7 +38390,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38438,7 +38437,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38473,7 +38472,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38508,7 +38507,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38587,7 +38586,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38626,7 +38625,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38669,7 +38668,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38712,7 +38711,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38771,7 +38770,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38814,7 +38813,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38849,7 +38848,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38888,7 +38887,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38927,7 +38926,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -38970,7 +38969,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39013,7 +39012,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39048,7 +39047,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39083,7 +39082,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39166,7 +39165,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39213,7 +39212,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39312,7 +39311,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39351,7 +39350,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39386,7 +39385,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39425,7 +39424,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39464,7 +39463,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39503,7 +39502,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39538,7 +39537,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39673,7 +39672,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39712,7 +39711,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39799,7 +39798,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39834,7 +39833,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39881,7 +39880,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39924,7 +39923,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -39971,7 +39970,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40014,7 +40013,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40045,7 +40044,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40088,7 +40087,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40143,7 +40142,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40178,7 +40177,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40225,7 +40224,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40276,7 +40275,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40311,7 +40310,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40346,7 +40345,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40389,7 +40388,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40432,7 +40431,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40503,7 +40502,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40634,7 +40633,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40677,7 +40676,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40720,7 +40719,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40771,7 +40770,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40814,7 +40813,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40849,7 +40848,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40884,7 +40883,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -40999,7 +40998,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41050,7 +41049,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41085,7 +41084,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41160,7 +41159,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41219,7 +41218,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41254,7 +41253,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41309,7 +41308,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41380,7 +41379,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41431,7 +41430,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41470,7 +41469,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41549,7 +41548,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41584,7 +41583,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41627,7 +41626,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41670,7 +41669,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41717,7 +41716,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41752,7 +41751,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41791,7 +41790,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41830,7 +41829,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41873,7 +41872,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41924,7 +41923,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -41963,7 +41962,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42018,7 +42017,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42057,7 +42056,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42180,7 +42179,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42215,7 +42214,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42274,7 +42273,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42313,7 +42312,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42352,7 +42351,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42391,7 +42390,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42430,7 +42429,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42465,7 +42464,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42528,7 +42527,7 @@ " 102.0,\n", " 37.0,\n", " 5.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42563,7 +42562,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42602,7 +42601,7 @@ " 253.0,\n", " 152.0,\n", " 40.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42645,7 +42644,7 @@ " 255.0,\n", " 255.0,\n", " 229.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42688,7 +42687,7 @@ " 202.0,\n", " 75.0,\n", " 2.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42739,7 +42738,7 @@ " 254.0,\n", " 226.0,\n", " 144.0,\n", - " 255.0\n", + " 153.0\n", " ],\n", " \"geometry\": {\n", " \"coordinates\": [\n", @@ -42783,8 +42782,7 @@ " }\n", " ],\n", " \"getFillColor\": \"@@=fill\",\n", - " \"id\": \"9c801a00-d82d-4562-98c0-aed47f92311b\",\n", - " \"opacity\": 0.8,\n", + " \"id\": \"60ca115d-d5c6-4a42-bf3a-bfeb0c106053\",\n", " \"pickable\": true\n", " }\n", " ],\n", @@ -42810,7 +42808,6 @@ " \"GeoJsonLayer\",\n", " data=df.to_crs(4326)[[\"geometry\", \"fill\"]],\n", " get_fill_color=\"fill\",\n", - " opacity=0.8,\n", " auto_highlight=True,\n", " pickable=True,\n", " ),\n", @@ -42861,7 +42858,67 @@ "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { - "0a50578bb8b94e8c8976d56943bc025b": { + "059195fae97e448cb38b6184d4654d98": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "0b2c9df86b4744e2aefc94b4320c5d66": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "1421b47e64534d8b9dbe05acf02b7fd4": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "2543e63fd7a947c3ac832017e85dccf2": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "3fed9b54880f490e8aa3543d38072d3f": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "WidgetModel", + "state": { + "_layer_type": "polygon", + "_view_module": null, + "_view_module_version": "", + "auto_highlight": false, + "elevation_scale": null, + "extensions": [], + "extruded": null, + "filled": null, + "get_elevation": null, + "get_fill_color": [ + {} + ], + "get_line_color": null, + "get_line_width": null, + "line_joint_rounded": null, + "line_miter_limit": null, + "line_width_max_pixels": null, + "line_width_min_pixels": null, + "line_width_scale": null, + "line_width_units": null, + "opacity": 1, + "pickable": true, + "selected_index": null, + "stroked": null, + "table": [ + {} + ], + "visible": true, + "wireframe": null + } + }, + "4f5732d4632d48a6ba704f7dba1359f3": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42877,14 +42934,14 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_21d7d5e7af20465791e605abe8eb0327", + "layout": "IPY_MODEL_7c71d7f151f745f4b32bb5c10adadb46", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "0d2db49eabdb4209838702b8f3e2c2d3": { + "4ffee03c667a42d7b0ca46400c0b1ec1": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42900,20 +42957,20 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_ef6d74d3d71148a1a2702d356de699d3", + "layout": "IPY_MODEL_2543e63fd7a947c3ac832017e85dccf2", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "21d7d5e7af20465791e605abe8eb0327": { + "65ed868ea19046d198e6dca2a4dd74a4": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": {} }, - "3416fd1a82bd43c390578b3e5eac5207": { + "6fa723c99b4244b480856f87f8d56bd1": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42921,22 +42978,22 @@ "_model_module": "@deck.gl/jupyter-widget", "_model_name": "JupyterTransportModel", "_view_name": "ErrorWidgetView", - "carto_key": null, + "carto_key": "", "configuration": null, - "custom_libraries": [], + "custom_libraries": null, "data_buffer": null, "error": {}, - "google_maps_key": null, + "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_d2a3048857294352900e275018ae8225", - "mapbox_key": null, + "layout": "IPY_MODEL_0b2c9df86b4744e2aefc94b4320c5d66", + "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "6e96c0643496460da30d38df72bb309a": { + "74b162341db149db9df27fd66ce7837a": { "model_module": "anywidget", "model_module_version": "~0.9.*", "model_name": "AnyModel", @@ -42953,23 +43010,29 @@ "_view_name": "AnyView", "basemap_style": "https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json", "layers": [ - "IPY_MODEL_cf78a1e4201842bb9bced968b8576c1d" + "IPY_MODEL_3fed9b54880f490e8aa3543d38072d3f" ], - "layout": "IPY_MODEL_c3b7f1b749a740fb88941ea6a499a673", + "layout": "IPY_MODEL_65ed868ea19046d198e6dca2a4dd74a4", "parameters": null, "picking_radius": 5, "show_tooltip": true, "use_device_pixels": null, "view_state": { "bearing": 0, - "latitude": 39.13166283380059, - "longitude": -84.50398500095623, + "latitude": 39.12945538939195, + "longitude": -84.49807886250348, "pitch": 0, - "zoom": 12.615514195180364 + "zoom": 12 } } }, - "7a17fa9bb2544f1cb105c7b04835ea02": { + "7c71d7f151f745f4b32bb5c10adadb46": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "2.0.0", + "model_name": "LayoutModel", + "state": {} + }, + "878079fa3a3a41c4aa998ac2924ca76c": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -42977,28 +43040,22 @@ "_model_module": "@deck.gl/jupyter-widget", "_model_name": "JupyterTransportModel", "_view_name": "ErrorWidgetView", - "carto_key": "", + "carto_key": null, "configuration": null, - "custom_libraries": null, + "custom_libraries": [], "data_buffer": null, "error": {}, - "google_maps_key": "", + "google_maps_key": null, "height": 500, "json_input": "", - "layout": "IPY_MODEL_c88537dc44f249efb875ebba8ffbff10", - "mapbox_key": "", + "layout": "IPY_MODEL_1421b47e64534d8b9dbe05acf02b7fd4", + "mapbox_key": null, "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } }, - "8ec8378fefb34defa1e4b778795c0477": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "961fab83c921434b8fc6f1079c5f3614": { + "df2be13a23b747808fc92994d3efd648": { "model_module": "@deck.gl/jupyter-widget", "model_module_version": "2.0.0", "model_name": "JupyterTransportModel", @@ -43014,72 +43071,12 @@ "google_maps_key": "", "height": 500, "json_input": "", - "layout": "IPY_MODEL_8ec8378fefb34defa1e4b778795c0477", + "layout": "IPY_MODEL_059195fae97e448cb38b6184d4654d98", "mapbox_key": "", "msg": "Failed to load model class 'JupyterTransportModel' from module '@deck.gl/jupyter-widget'", "tooltip": true, "width": "100%" } - }, - "c3b7f1b749a740fb88941ea6a499a673": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "c88537dc44f249efb875ebba8ffbff10": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "cf78a1e4201842bb9bced968b8576c1d": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "WidgetModel", - "state": { - "_layer_type": "polygon", - "_view_module": null, - "_view_module_version": "", - "auto_highlight": false, - "elevation_scale": null, - "extensions": [], - "extruded": null, - "filled": null, - "get_elevation": null, - "get_fill_color": [ - {} - ], - "get_line_color": null, - "get_line_width": null, - "line_joint_rounded": null, - "line_miter_limit": null, - "line_width_max_pixels": null, - "line_width_min_pixels": null, - "line_width_scale": null, - "line_width_units": null, - "opacity": 1, - "pickable": true, - "selected_index": null, - "stroked": null, - "table": [ - {} - ], - "visible": true, - "wireframe": null - } - }, - "d2a3048857294352900e275018ae8225": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} - }, - "ef6d74d3d71148a1a2702d356de699d3": { - "model_module": "@jupyter-widgets/base", - "model_module_version": "2.0.0", - "model_name": "LayoutModel", - "state": {} } }, "version_major": 2,